Merged changes from trunk 1699:1751 into 2.1-staging
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 26 Apr 2007 20:54:31 +0000 (20:54 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 26 Apr 2007 20:54:31 +0000 (20:54 +0000)
git-svn-id: svn://localhost/ardour2/branches/2.1-staging@1752 d708f5d6-7413-0410-9779-e7cbd77b26cf

182 files changed:
SConstruct
ardour.rc.in
ardour_system.rc [deleted file]
gtk2_ardour/SConscript
gtk2_ardour/about.cc
gtk2_ardour/actions.cc
gtk2_ardour/actions.h
gtk2_ardour/add_route_dialog.h
gtk2_ardour/ardour.menus
gtk2_ardour/ardour2_ui.rc
gtk2_ardour/ardour_ui.cc
gtk2_ardour/ardour_ui.h
gtk2_ardour/ardour_ui_dialogs.cc
gtk2_ardour/ardour_ui_ed.cc
gtk2_ardour/ardour_ui_options.cc
gtk2_ardour/audio_streamview.cc
gtk2_ardour/audio_streamview.h
gtk2_ardour/automation_gain_line.h
gtk2_ardour/automation_pan_line.h
gtk2_ardour/automation_selectable.h
gtk2_ardour/automation_selection.h
gtk2_ardour/automation_time_axis.cc
gtk2_ardour/automation_time_axis.h
gtk2_ardour/canvas.h
gtk2_ardour/canvas_impl.h
gtk2_ardour/color.h
gtk2_ardour/color_manager.cc
gtk2_ardour/color_manager.h
gtk2_ardour/colors.h
gtk2_ardour/crossfade_edit.h
gtk2_ardour/crossfade_xpms.h
gtk2_ardour/curvetest.cc
gtk2_ardour/draginfo.h
gtk2_ardour/editing.cc
gtk2_ardour/editing.h
gtk2_ardour/editing_syms.h
gtk2_ardour/editor.cc
gtk2_ardour/editor.h
gtk2_ardour/editor_actions.cc
gtk2_ardour/editor_audiotrack.cc
gtk2_ardour/editor_enums.h
gtk2_ardour/editor_items.h
gtk2_ardour/editor_markers.cc
gtk2_ardour/editor_mouse.cc
gtk2_ardour/editor_ops.cc
gtk2_ardour/editor_rulers.cc
gtk2_ardour/editor_selection.cc
gtk2_ardour/enums.cc
gtk2_ardour/enums.h
gtk2_ardour/export_dialog.cc
gtk2_ardour/gain_automation_time_axis.h
gtk2_ardour/ghostregion.cc
gtk2_ardour/gui_thread.h
gtk2_ardour/i18n.h
gtk2_ardour/imageframe_p.h
gtk2_ardour/itest.cc
gtk2_ardour/logmeter.h
gtk2_ardour/mixer_strip.cc
gtk2_ardour/mtest.cc
gtk2_ardour/new_session_dialog.cc
gtk2_ardour/new_session_dialog.h
gtk2_ardour/pan_automation_time_axis.h
gtk2_ardour/panner.cc
gtk2_ardour/panner.h
gtk2_ardour/playlist_selection.h
gtk2_ardour/po/de_DE.po
gtk2_ardour/po/fr_FR.po
gtk2_ardour/po/pt_PT.po
gtk2_ardour/po/sv_SE.po
gtk2_ardour/point_selection.h
gtk2_ardour/public_editor.cc
gtk2_ardour/public_editor.h
gtk2_ardour/redirect_automation_time_axis.h
gtk2_ardour/redirect_box.cc
gtk2_ardour/redirect_box.h
gtk2_ardour/redirect_selection.h
gtk2_ardour/region_gain_line.cc
gtk2_ardour/region_gain_line.h
gtk2_ardour/route_selection.h
gtk2_ardour/route_time_axis.cc
gtk2_ardour/route_time_axis.h
gtk2_ardour/route_ui.h
gtk2_ardour/simpleline_p.h
gtk2_ardour/simplerect_p.h
gtk2_ardour/streamview.cc
gtk2_ardour/strip_selection.h
gtk2_ardour/tempo_dialog.cc
gtk2_ardour/tempo_dialog.h
gtk2_ardour/time_axis_view.cc
gtk2_ardour/time_axis_view_item.cc
gtk2_ardour/time_selection.h
gtk2_ardour/track_selection.h
gtk2_ardour/waveview_p.h
libs/ardour/ardour/configuration_variable.h
libs/ardour/ardour/configuration_vars.h
libs/ardour/ardour/control_protocol_manager.h
libs/ardour/ardour/export.h
libs/ardour/ardour/noise.h
libs/ardour/ardour/peak.h
libs/ardour/ardour/playlist_factory.h
libs/ardour/ardour/plugin_manager.h
libs/ardour/ardour/profile.h
libs/ardour/ardour/region_factory.h
libs/ardour/ardour/route_group_specialized.h
libs/ardour/ardour/send.h
libs/ardour/ardour/session.h
libs/ardour/ardour/session_region.h
libs/ardour/ardour/slave.h
libs/ardour/ardour/sndfile_helpers.h
libs/ardour/ardour/source_factory.h
libs/ardour/ardour/timestamps.h
libs/ardour/audio_diskstream.cc
libs/ardour/audio_playlist.cc
libs/ardour/audioengine.cc
libs/ardour/automation.cc
libs/ardour/control_protocol_manager.cc
libs/ardour/crossfade.cc
libs/ardour/enums.cc
libs/ardour/jack_slave.cc
libs/ardour/mtc_slave.cc
libs/ardour/po/el_GR.po
libs/ardour/session.cc
libs/ardour/session_command.cc
libs/ardour/session_state.cc
libs/ardour/session_time.cc
libs/ardour/session_transport.cc
libs/ardour/sndfile_helpers.cc
libs/gtkmm2ext/dndtreeview.cc
libs/gtkmm2ext/focus_entry.cc
libs/gtkmm2ext/gtkmm2ext/choice.h
libs/gtkmm2ext/gtkmm2ext/dndtreeview.h
libs/gtkmm2ext/gtkmm2ext/focus_entry.h
libs/gtkmm2ext/gtkmm2ext/idle_adjustment.h
libs/gtkmm2ext/gtkmm2ext/pixscroller.h
libs/gtkmm2ext/gtkmm2ext/stop_signal.h
libs/gtkmm2ext/gtkmm2ext/window_title.h
libs/gtkmm2ext/idle_adjustment.cc
libs/gtkmm2ext/stateful_button.cc
libs/gtkmm2ext/window_title.cc
libs/midi++2/midi++/types.h
libs/pbd/base_ui.cc
libs/pbd/basename.cc
libs/pbd/command.cc
libs/pbd/controllable.cc
libs/pbd/copyfile.cc
libs/pbd/error.cc
libs/pbd/id.cc
libs/pbd/pbd/base_ui.h
libs/pbd/pbd/basename.h
libs/pbd/pbd/controllable.h
libs/pbd/pbd/copyfile.h
libs/pbd/pbd/crossthread.h
libs/pbd/pbd/destructible.h
libs/pbd/pbd/failed_constructor.h
libs/pbd/pbd/forkexec.h
libs/pbd/pbd/id.h
libs/pbd/pbd/pathscanner.h
libs/pbd/pbd/pthread_utils.h
libs/pbd/pbd/rcu.h
libs/pbd/pbd/replace_all.h
libs/pbd/pbd/shiva.h
libs/pbd/pbd/shortpath.h
libs/pbd/pbd/stacktrace.h
libs/pbd/pbd/statefuldestructible.h
libs/pbd/pbd/strsplit.h
libs/pbd/pbd/tokenizer.h
libs/pbd/pbd/whitespace.h
libs/pbd/shortpath.cc
libs/pbd/stacktrace.cc
libs/pbd/strreplace.cc
libs/pbd/strsplit.cc
libs/pbd/whitespace.cc
libs/surfaces/mackie/bcf_surface.cc
libs/surfaces/mackie/mackie_control_protocol.cc
libs/surfaces/mackie/mackie_control_protocol.h
libs/surfaces/mackie/scripts/bcf-controls.csv
manual/xml/mackie.xml
svn_revision.h
tools/ARDOUR/AutomationSRConverter.pm [new file with mode: 0644]
tools/ARDOUR/SessionSRHandler.pm [new file with mode: 0644]
tools/resample_session.pl [new file with mode: 0755]
tools/session_exchange.py

index d53cf624ada803a0a25bff56dc9fbcf9ef31553f..8b3f16a04ad0deb098998c0c26a54eb6515a3279 100644 (file)
@@ -16,7 +16,7 @@ import SCons.Node.FS
 SConsignFile()
 EnsureSConsVersion(0, 96)
 
-ardour_version = '2.0rc1'
+ardour_version = '2.0rc2'
 
 subst_dict = { }
 
@@ -382,14 +382,22 @@ env.Append (BUILDERS = {'Tarball' : tarball_bld})
 #
 
 if env['VST']:
-    sys.stdout.write ("Are you building Ardour for personal use (rather than distribution to others)? [no]: ")
-    answer = sys.stdin.readline ()
-    answer = answer.rstrip().strip()
-    if answer != "yes" and answer != "y":
-        print 'You cannot build Ardour with VST support for distribution to others.\nIt is a violation of several different licenses. Build with VST=false.'
-        sys.exit (-1);
+    if os.path.isfile('.personal_use_only'):
+        print "Enabling VST support. Note that distributing a VST-enabled ardour\nis a violation of several different licences.\nBuild with VST=false if you intend to distribute ardour to others."
     else:
-        print "OK, VST support will be enabled"
+        sys.stdout.write ("Are you building Ardour for personal use (rather than distribution to others)? [no]: ")
+        answer = sys.stdin.readline ()
+        answer = answer.rstrip().strip()
+        if answer == "yes" or answer == "y":
+            fh = open('.personal_use_only', 'w')
+            fh.close()
+            print "OK, VST support will be enabled"
+        else:
+            print 'You cannot build Ardour with VST support for distribution to others.\nIt is a violation of several different licenses. Build with VST=false.'
+            sys.exit (-1);
+else:
+    if os.path.isfile('.personal_use_only'):
+        os.remove('.personal_use_only')
 
 
 #######################
@@ -1084,7 +1092,13 @@ if not conf.CheckFunc('posix_memalign'):
 
 env = conf.Finish()
 
+# generate the per-user and system rc files from the same source
+
 rcbuild = env.SubstInFile ('ardour.rc','ardour.rc.in', SUBST_DICT = subst_dict)
+sysrcbuild = env.SubstInFile ('ardour_system.rc','ardour.rc.in', SUBST_DICT = subst_dict)
+
+# add to the substitution dictionary
+
 subst_dict['%VERSION%'] = ardour_version[0:3]
 subst_dict['%EXTRA_VERSION%'] = ardour_version[3:]
 subst_dict['%REVISION_STRING%'] = ''
@@ -1100,6 +1114,7 @@ env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour2'), 'ardour
 env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour2'), 'ardour.rc'))
 
 Default (rcbuild)
+Default (sysrcbuild)
 
 # source tarball
 
@@ -1109,7 +1124,6 @@ env.Distribute (env['DISTTREE'],
                [ 'SConstruct', 'svn_revision.h',
                   'COPYING', 'PACKAGER_README', 'README',
                   'ardour.rc.in',
-                  'ardour_system.rc',
                   'tools/config.guess',
                   'icons/icon/ardour_icon_mac_mask.png',
                   'icons/icon/ardour_icon_mac.png',
index 44738f806288ef6b6df4bfffe7b2e94ed09828f1..79ef80799bfbc71833bb6d11b7ffa00de183af40 100644 (file)
     <Option name="quieten-at-speed" value="1.000000"/>
     <Option name="use-vst" value="yes"/>
     <Option name="use-tranzport" value="yes"/>
+    <Option name="disk-choice-space-threshold" value="57600000"/>
     <Option name="destructive-xfade-msecs" value="20"/>
+    <Option name="periodic-safety-backups" value="1"/>
+    <Option name="periodic-safety-backup-interval" value="120"/>
   </Config>
   <extra>
     <Keyboard edit-button="3" edit-modifier="4" delete-button="3" delete-modifier="1" snap-modifier="32"/>
   </extra>
 </Ardour>
+
diff --git a/ardour_system.rc b/ardour_system.rc
deleted file mode 100644 (file)
index b7f6c22..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Ardour>
-  <Config>
-    <Option name="minimum-disk-io-bytes" value="262144"/>
-    <Option name="track-buffer-seconds" value="5.000000"/>
-    <Option name="mute-affects-pre-fader" value="yes"/>
-    <Option name="mute-affects-post-fader" value="yes"/>
-    <Option name="mute-affects-control-outs" value="yes"/>
-    <Option name="mute-affects-main-outs" value="yes"/>
-    <Option name="solo-latch" value="yes"/>
-    <Option name="pixmap-path" value="/usr/share/ardour/pixmaps:/usr/local/share/ardour/pixmaps"/>
-    <Option name="disk-choice-space-threshold" value="57600000"/>
-    <Option name="mtc-port" value="trident"/>
-    <Option name="mmc-port" value="trident"/>
-    <Option name="monitor-inputs" value="no"/>
-  </Config>
-</Ardour>
index 897ab1c090f78658ced32ca185a5fe19aa4aee3a..c6a90276d0dc0294a5789b436bae5855a1ebea6b 100644 (file)
@@ -336,6 +336,7 @@ env.Alias ('tarball', env.Distribute (env['DISTTREE'],
                                         'i18n.h', 'gettext.h',
                                        'ardour.sh.in',
                                        'ardev_common.sh.in',
+                                       'ardev', 'ardbg',
                                         'ardour2_ui.rc', 'splash.png',
                                         'ardour.menus', 'ardour.bindings.in', 'ardour.colors',
                                        'editor_xpms'
index ac2a8b28a6f86567827576fc64d11295aaeb1960..ccd4de1c0cb4e2ec32091a0759ced6b9dc7c5266 100644 (file)
@@ -151,6 +151,7 @@ static const char* authors[] = {
        N_("Mike Täht"),
        N_("John Anderson"),
        N_("Nedko Arnaudov"),
+       N_("Carl Hetherington"),
        0
 };
 
@@ -163,6 +164,7 @@ static const char* translators[] = {
 \n\tChris Ross <chris@tebibyte.org>\n"),
        N_("Spanish:\n\t Alex Krohn <alexkrohn@fastmail.fm>\n"),
        N_("Russian:\n\t Igor Blinov <pitstop@nm.ru>\n"),
+       N_("Greek:\n\t Klearchos Gourgourinis <muadib@in.gr>\n"),
        0
 };
 
index 6e4a525ba7a3f425e6d885f8c326d7af3825abbe..40af880f9cc902591f26c292400708b7a38327f2 100644 (file)
@@ -256,6 +256,13 @@ ActionManager::uncheck_toggleaction (const char * name)
        delete [] group_name;
 }
 
+/** Examine the state of a Configuration setting and a toggle action, and toggle the Configuration
+ * setting if its state doesn't match the toggle action.
+ * @param group Action group.
+ * @param action Action name.
+ * @param Method to set the state of the Configuration setting.
+ * @param Method to get the state of the Configuration setting.
+ */
 void
 ActionManager::toggle_config_state (const char* group, const char* action, bool (Configuration::*set)(bool), bool (Configuration::*get)(void) const)
 {
@@ -285,6 +292,12 @@ ActionManager::toggle_config_state (const char* group, const char* action, sigc:
        }
 }
 
+
+/** Set the state of a ToggleAction using a particular Configuration get() method
+ * @param group Action group.
+ * @param action Action name.
+ * @param get Method to obtain the state that the ToggleAction should have.
+ */
 void
 ActionManager::map_some_state (const char* group, const char* action, bool (Configuration::*get)() const)
 {
index e3ec57dbae1954850a9004b12a17e2bbf648f16c..5816325265465c0c28c8c5ca99ccff7625acc793 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_actions_h__
 #define __ardour_gtk_actions_h__
 
index 28d8916985b4c5ac3aafd5144c5b6b5dd07bdab1..53f4805cc0b9fd7827a9d333dc11ef76bcd09033 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __gtk_ardour_add_route_dialog_h__
 #define __gtk_ardour_add_route_dialog_h__
 
index e7463553d2fadb399c6768ed8c8f19ddd36e274f..5529b4de0c76ac83af4b316814362b0439b0c46e 100644 (file)
                <menuitem action='LatchedRecordEnable'/>
                <menuitem action='RegionEquivalentsOverlap'/>
                <separator/>
+               <menuitem action='PeriodicSafetyBackups'/>
                <menuitem action='VerifyRemoveLastCapture'/>
                <menuitem action='StopRecordingOnXrun'/>
                <menuitem action='StopTransportAtEndOfSession'/>
         <menuitem action='cut'/>
         <menuitem action='copy'/>
         <menuitem action='paste'/>
+        <menuitem action='delete'/>
          <separator/>
         <menuitem action='rename'/>
          <separator/>
index 35a2463bcc46b4fbcd73ff39882181c5a6e66d21..d873220140e0f4cc269bfdd2ec35a1bc63cd4c98 100644 (file)
@@ -448,6 +448,7 @@ style "editor_hscrollbar" = "ardour_adjusters"
        # make it bigger.
        # 
        GtkRange::slider_width = 27
+       GtkScrollbar::slider_width = 27
 }
 
 style "ardour_progressbars" = "default_buttons_menus"
index 8fa4f283f88d5661299f00dbec0dd3069d64e11e..74234bb12aef06cb554e70826d65e829ffc7a1d3 100644 (file)
@@ -428,6 +428,39 @@ ARDOUR_UI::save_ardour_state ()
        save_keybindings ();
 }
 
+gint
+ARDOUR_UI::autosave_session ()
+{
+        if (!Config->get_periodic_safety_backups())
+                return 1;
+        
+        if (session) {
+                session->maybe_write_autosave();
+        }
+
+        return 1;
+}
+
+void
+ARDOUR_UI::update_autosave ()
+{
+        ENSURE_GUI_THREAD (mem_fun (*this, &ARDOUR_UI::update_autosave));
+        
+        if (session->dirty()) {
+                if (_autosave_connection.connected()) {
+                        _autosave_connection.disconnect();
+                }
+
+                _autosave_connection = Glib::signal_timeout().connect (mem_fun (*this, &ARDOUR_UI::autosave_session),
+                                                                   Config->get_periodic_safety_backup_interval() * 1000);
+
+        } else {
+                if (_autosave_connection.connected()) {
+                        _autosave_connection.disconnect();
+                }               
+        }
+}
+
 void
 ARDOUR_UI::startup ()
 {
@@ -1730,6 +1763,7 @@ ARDOUR_UI::new_session (std::string predetermined_path)
        new_session_dialog->set_name (predetermined_path);
        new_session_dialog->reset_recent();
        new_session_dialog->show();
+       new_session_dialog->set_current_page (0);
 
        do {
                response = new_session_dialog->run ();
index 3cee38372bf8313bf46478ee8b014c0c2b147160..1ebb7407af43294a7ed98eacfceb77edd2d10d35 100644 (file)
@@ -291,6 +291,11 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        int  ask_about_saving_session (const string & why);
        int  save_the_session;
 
+       /* periodic safety backup, to be precise */
+       gint autosave_session();
+       void update_autosave();
+       sigc::connection _autosave_connection;
+
        void queue_transport_change ();
        void map_transport_state ();
        int32_t do_engine_start ();
@@ -668,6 +673,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        void toggle_StopPluginsWithTransport();
        void toggle_DoNotRunPluginsWhileRecording();
        void toggle_VerifyRemoveLastCapture();
+       void toggle_PeriodicSafetyBackups();
        void toggle_StopRecordingOnXrun();
        void toggle_StopTransportAtEndOfSession();
        void toggle_GainReduceFastTransport();
index c3b82c74a84a9e2bb599c2958471821cc52a7d1a..8a50697e85b9b76efad70c2a9b365a23e89cebc4 100644 (file)
@@ -126,6 +126,10 @@ ARDOUR_UI::connect_to_session (Session *s)
 
        solo_alert_button.set_active (session->soloing());
 
+       /* update autochange callback on dirty state changing */
+
+       session->DirtyChanged.connect (mem_fun(*this, &ARDOUR_UI::update_autosave));
+
        /* can't be auditioning here */
 
        primary_clock.set_session (s);
index 7ecbb0d01b56a4b3252dfd8400d1bda4df8ca8c8..1add49af6943ecf935f23469b32f66930bf39d3b 100644 (file)
@@ -402,6 +402,7 @@ ARDOUR_UI::install_actions ()
 
        ActionManager::register_toggle_action (option_actions, X_("StopPluginsWithTransport"), _("Stop plugins with transport"), mem_fun (*this, &ARDOUR_UI::toggle_StopPluginsWithTransport));
        ActionManager::register_toggle_action (option_actions, X_("VerifyRemoveLastCapture"), _("Verify remove last capture"), mem_fun (*this, &ARDOUR_UI::toggle_VerifyRemoveLastCapture));
+       ActionManager::register_toggle_action (option_actions, X_("PeriodicSafetyBackups"), _("Make periodic safety backups"), mem_fun (*this, &ARDOUR_UI::toggle_PeriodicSafetyBackups));
        ActionManager::register_toggle_action (option_actions, X_("StopRecordingOnXrun"), _("Stop recording on xrun"), mem_fun (*this, &ARDOUR_UI::toggle_StopRecordingOnXrun));
        ActionManager::register_toggle_action (option_actions, X_("StopTransportAtEndOfSession"), _("Stop transport at session end"), mem_fun (*this, &ARDOUR_UI::toggle_StopTransportAtEndOfSession));
        ActionManager::register_toggle_action (option_actions, X_("GainReduceFastTransport"), _("-12dB gain reduce ffwd/rewind"), mem_fun (*this, &ARDOUR_UI::toggle_GainReduceFastTransport));
index 9565c46e4010bd7e7dc46e5109575637feb04416..34431aeafbe12c34370163c2a1f0dc8355621ce5 100644 (file)
@@ -398,6 +398,12 @@ ARDOUR_UI::toggle_VerifyRemoveLastCapture()
        ActionManager::toggle_config_state ("options", "VerifyRemoveLastCapture", &Configuration::set_verify_remove_last_capture, &Configuration::get_verify_remove_last_capture);
 }
 
+void
+ARDOUR_UI::toggle_PeriodicSafetyBackups()
+{
+       ActionManager::toggle_config_state ("options", "PeriodicSafetyBackups", &Configuration::set_periodic_safety_backups, &Configuration::get_periodic_safety_backups);
+}
+
 void
 ARDOUR_UI::toggle_StopRecordingOnXrun()
 {
@@ -891,6 +897,8 @@ ARDOUR_UI::parameter_changed (const char* parameter_name)
                ActionManager::map_some_state ("options", "LatchedRecordEnable", &Configuration::get_latched_record_enable);
        } else if (PARAM_IS ("verify-remove-last-capture")) {
                ActionManager::map_some_state ("options",  "VerifyRemoveLastCapture", &Configuration::get_verify_remove_last_capture);
+       } else if (PARAM_IS ("periodic-safety-backups")) {
+               ActionManager::map_some_state ("options",  "PeriodicSafetyBackups", &Configuration::get_periodic_safety_backups);
        } else if (PARAM_IS ("stop-recording-on-xrun")) {
                ActionManager::map_some_state ("options",  "StopRecordingOnXrun", &Configuration::get_stop_recording_on_xrun);
        } else if (PARAM_IS ("stop-at-session-end")) {
@@ -944,8 +952,6 @@ ARDOUR_UI::parameter_changed (const char* parameter_name)
                map_meter_hold ();
        } else if (PARAM_IS ("meter-falloff")) {
                map_meter_falloff ();
-       } else if (PARAM_IS ("verify-remove-last-capture")) {
-               ActionManager::map_some_state ("options", "VerifyRemoveLastCapture", &Configuration::get_verify_remove_last_capture);
        } else if (PARAM_IS ("video-pullup") || PARAM_IS ("smpte-format")) {
                if (session) {
                        primary_clock.set (session->audible_frame(), true);
index 14036bc569c3603e23f537a95491ae2cb6239bdd..279130ad381ee919573249401c945e751f199293 100644 (file)
@@ -290,13 +290,27 @@ AudioStreamView::playlist_changed (boost::shared_ptr<Diskstream> ds)
                playlist_connections.push_back (apl->NewCrossfade.connect (mem_fun (*this, &AudioStreamView::add_crossfade)));
 }
 
+void
+AudioStreamView::add_crossfade_weak (boost::weak_ptr<Crossfade> crossfade)
+{
+       boost::shared_ptr<Crossfade> sp (crossfade.lock());
+
+       if (!sp) {
+               return;
+       }
+
+       add_crossfade (sp);
+}
+
 void
 AudioStreamView::add_crossfade (boost::shared_ptr<Crossfade> crossfade)
 {
        AudioRegionView* lview = 0;
        AudioRegionView* rview = 0;
+
+       /* we do not allow shared_ptr<T> to be bound to slots */
        
-       ENSURE_GUI_THREAD (bind (mem_fun (*this, &AudioStreamView::add_crossfade), crossfade));
+       ENSURE_GUI_THREAD (bind (mem_fun (*this, &AudioStreamView::add_crossfade_weak), boost::weak_ptr<Crossfade> (crossfade)));
 
        /* first see if we already have a CrossfadeView for this Crossfade */
 
index 893622116f02ae6f289d7a05f8a8fb6fc0a0646d..12d400bebdbce42abbe6abf80ffbfc044dd8c696 100644 (file)
@@ -94,6 +94,7 @@ class AudioStreamView : public StreamView
        void playlist_changed (boost::shared_ptr<ARDOUR::Diskstream>);
 
        void add_crossfade (boost::shared_ptr<ARDOUR::Crossfade>);
+       void add_crossfade_weak (boost::weak_ptr<ARDOUR::Crossfade>);
        void remove_crossfade (boost::shared_ptr<ARDOUR::Crossfade>);
 
        void color_handler (ColorID id, uint32_t val);
index 22bb04119ee3710d744c91f0313108e87d7b8e27..ca90216c8f2b4082f97f740925640a1e94b08614 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_automation_gain_line_h__
 #define __ardour_gtk_automation_gain_line_h__
 
index 1472bd0c0e480abb2c6b9588336b29e1433250e1..c6b32cbc928e90fa59ec76e2084ff9a1cac2c49d 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_automation_pan_line_h__
 #define __ardour_gtk_automation_pan_line_h__
 
index 2ce8f29a701ef4bb0a3c0a23ed53fadc503e2042..f81b265982bed5b94020d225207af58aa2e50c9c 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_automation_selectable_h__
 #define __ardour_gtk_automation_selectable_h__
 
index 1fec8b1d86088fcf18c2d96faf4d2f9869422957..05063e144e7b736fe9385d074f79660ce24c594b 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_automation_selection_h__
 #define __ardour_gtk_automation_selection_h__
 
index 0da3a38fdc64ffbb9790e750ba38d50239ddfbdb..e9657e1f4f85f7794119f1a775f6edc9fdab5373 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <ardour/route.h>
 #include <pbd/memento_command.h>
 
index f7c61942df0cd46f117f0179171e47be48e48414..7b62e6eee2586397329c5d2f09ffe0719f495807 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_automation_time_axis_h__
 #define __ardour_gtk_automation_time_axis_h__
 
index f4c560c5978cc1e8d4b6dec7b1975a74204d939e..75cb7157a9acf8aad2ed6cf4a6030fbe0efe6b94 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_canvas_h__
 #define __ardour_gtk_canvas_h__
 
index 817679b73401d57c58c998de4d13105b125c9d02..377ac0299858d88bdcd40f03ff640880e45f0ed4 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_canvas_impl_h__
 #define __ardour_gtk_canvas_impl_h__
 
index bb2ba499e8a3a342a871ee3c9286a4ef050a715a..2b9324cf9841d39834132eb5cf8da680e076cbe0 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __gtk_ardour_color_h__
 #define __gtk_ardour_color_h__
 
index 2f1a286467de7767f6e88b2485b9f3f6368fafce..ef5107918072c9ab4aa9ac775d08a552f42baa08 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <cmath>
 #include <iostream>
 #include <fstream>
index 39e072ab7b640eac1cd9353e196345fbbc6284b8..b86f450e21c80258bfaf7491df2031f75d63f11a 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_color_manager_h__
 #define __ardour_gtk_color_manager_h__
 
index 3fba0e0a4dfbb2313175c42d11200670f46003b3..51ba4861f9722384f1a6b0f5a9f43684a53d7c2b 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 /* no guard clauses here */
 
 COLORID(cWaveForm)
index 4f2a617d9205bbabd8308a04dbe5267889733f7c..715aa1a3607da3f6fe3765d9dd0aa66c4d4af110 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __gtk_ardour_xfade_edit_h__
 #define __gtk_ardour_xfade_edit_h__
 
index 4b5d0efccd4664611e2b344a150ab208d3cab64f..e353dcb38ba05454bec327d939cf265b0cdba40f 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_crossfade_xpms_h_
 #define __ardour_gtk_crossfade_xpms_h_
 
index 3c9836a5e6e5c6e123f012454f10acc0ef29da6a..63804bd1b411d8069d11e53e4e90c64cf689fbfa 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <iostream>
 #include <fstream>
 #include <cfloat>
index 9b56fed7aba92dfcfb57b297c326f7cab2556ba6..8b13961532096888568b44beb981caca02bd81fa 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __gtk2_ardour_drag_info_h_
 #define __gtk2_ardour_drag_info_h_
 
index 34378a332d03cee5e43d2ec948b424a7e2c20e44..c9efa1feb235e86c091ba07f973925ce7eabd0ad 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <string>
 
 #include "editing.h"
index 05aab747503df7c90ab33aeaa0b081301d2bece4..0d1078cf16624e48819d5a14aa51410a8db5b817 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __gtk_ardour_editing_h__
 #define __gtk_ardour_editing_h__
 
index 3a503e2cb57a73f59ffca7a8677f6c89a5945234..f415e2c49c88bfdadec2d41bf54e9e4d66aa10ad 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 /* Changing this order will break the menu */
 SNAPTYPE(SnapToFrame)
 SNAPTYPE(SnapToCDFrame)
index 0f3060e299d521749514cd9138aa50ba2a767882..a9a9a39511d0830bc76fff77bd83bbff64e227d8 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2000-2006 Paul Davis 
+    Copyright (C) 2000-2007 Paul Davis 
 
     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
@@ -2104,16 +2104,16 @@ Editor::set_state (const XMLNode& node)
 
        if ((prop = node.property ("follow-playhead"))) {
                bool yn = (prop->value() == "yes");
+               set_follow_playhead (yn);
                RefPtr<Action> act = ActionManager::get_action (X_("Editor"), X_("toggle-follow-playhead"));
                if (act) {
                        RefPtr<ToggleAction> tact = RefPtr<ToggleAction>::cast_dynamic(act);
-                       /* do it twice to force the change */
-                       tact->set_active (!yn);
-                       tact->set_active (yn);
+                       if (tact->get_active() != yn) {
+                               tact->set_active (yn);
+                       }
                }
        }
 
-
        if ((prop = node.property ("region-list-sort-type"))) {
                region_list_sort_type = (Editing::RegionListSortType) -1; // force change 
                reset_region_list_sort_type(str2regionlistsorttype(prop->value()));
@@ -3776,7 +3776,7 @@ Editor::idle_visual_changer ()
                }
        }
 
-       return 0;
+       return 0; /* this is always a one-shot call */
 }
 
 struct EditorOrderTimeAxisSorter {
index 38b5b279efca7482d936cfe342cad06d2679373a..ae7201dbbd9de502eccf472e0863e16541521ab1 100644 (file)
@@ -305,6 +305,7 @@ class Editor : public PublicEditor
        void toggle_xfades_active ();
        void toggle_xfade_visibility ();
        bool xfade_visibility() const { return _xfade_visibility; }
+       void update_xfade_visibility ();
        void update_crossfade_model ();
        void set_crossfade_model (ARDOUR::CrossfadeModel);
 
@@ -1435,7 +1436,7 @@ class Editor : public PublicEditor
        void drag_rubberband_select (ArdourCanvas::Item* item, GdkEvent* event);
        void end_rubberband_select (ArdourCanvas::Item* item, GdkEvent* event);
 
-       bool select_all_within (nframes_t start, nframes_t end, gdouble topy, gdouble boty, Selection::Operation op);
+       bool select_all_within (nframes_t start, nframes_t end, gdouble topy, gdouble boty, const TrackViewList&, Selection::Operation op);
        
        ArdourCanvas::SimpleRect   *rubberband_rect;
        
index e04941b32b4d6894e7f0895bf26f6065217ad05c..3525910250113f973a123dcae067253ec41add13 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <ardour/ardour.h>
 
 #include "utils.h"
@@ -1046,9 +1065,12 @@ Editor::toggle_xfades_active ()
 void
 Editor::toggle_xfade_visibility ()
 {
-       ActionManager::toggle_config_state ("Editor", "toggle-xfades-visibility", &Configuration::set_xfades_visible, &Configuration::get_xfades_visible);
+       ActionManager::toggle_config_state ("Editor", "toggle-xfades-visible", &Configuration::set_xfades_visible, &Configuration::get_xfades_visible);
 }
 
+/** A Configuration parameter has changed.
+ * @param parameter_name Name of the changed parameter.
+ */
 void
 Editor::parameter_changed (const char* parameter_name)
 {
@@ -1073,6 +1095,7 @@ Editor::parameter_changed (const char* parameter_name)
                ActionManager::map_some_state ("Editor", "toggle-xfades-active", &Configuration::get_xfades_active);
        } else if (PARAM_IS ("xfades-visible")) {
                ActionManager::map_some_state ("Editor", "toggle-xfades-visible", &Configuration::get_xfades_visible);
+               update_xfade_visibility ();
        } else if (PARAM_IS ("auto-xfade")) {
                ActionManager::map_some_state ("Editor", "toggle-auto-xfades", &Configuration::get_auto_xfade);
        } else if (PARAM_IS ("xfade-model")) {
index eebf1c61bcf5d1caefe45c3e775316420b2acafc..6c74146d754884230a56c6378236dc9681d936ab 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <ardour/location.h>
 #include <ardour/audio_diskstream.h>
 
index 419f0e2809b9a413c6959e6cbef18c64b67fe1d2..d665e8ea111fcc81d30d95740e82c991eaa26e7b 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_editor_enums_h__
 #define __ardour_gtk_editor_enums_h__
 
index 7f3a0d3fccc22c3bbf874e367d9065dc24e9fd8a..921c1a51ebb5a8ea39cb2be7efb4c37fcf2a1ae0 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __gtk2_ardour_editor_items_h__
 #define __gtk2_ardour_editor_items_h__
 
index f306c185f58b161d62ab6c87f0893ad44c4a9c1f..29a212f2f594e6ad6ecd6c78e7fa7ee0e4735c4c 100644 (file)
@@ -594,7 +594,7 @@ Editor::marker_menu_select_all_selectables_using_range ()
        bool is_start;
 
        if (((l = find_location_from_marker (marker, is_start)) != 0) && (l->end() > l->start())) {
-               select_all_within (l->start(), l->end() - 1, 0,  DBL_MAX, Selection::Set);
+               select_all_within (l->start(), l->end() - 1, 0,  DBL_MAX, track_views, Selection::Set);
        }
          
 }
index 1a9e1161c283d3c16367349f5a2c4e4e06ef0644..5a25c2e4b8b3646ff64dafb5a7ec3f823c879104 100644 (file)
@@ -1620,7 +1620,6 @@ Editor::end_grab (ArdourCanvas::Item* item, GdkEvent* event)
        stop_canvas_autoscroll ();
 
        if (drag_info.item == 0) {
-               cerr << "end grab with no item\n";
                return false;
        }
        
@@ -2768,7 +2767,7 @@ Editor::region_drag_motion_callback (ArdourCanvas::Item* item, GdkEvent* event)
                drag_info.want_move_threshold = false; // don't copy again
 
                /* duplicate the region(s) */
-               
+
                vector<RegionView*> new_regionviews;
                
                for (list<RegionView*>::const_iterator i = selection->regions.by_layer().begin(); i != selection->regions.by_layer().end(); ++i) {
@@ -2801,7 +2800,7 @@ Editor::region_drag_motion_callback (ArdourCanvas::Item* item, GdkEvent* event)
                /* reset drag_info data to reflect the fact that we are dragging the copies */
                
                drag_info.data = new_regionviews.front();
-               
+
                swap_grab (new_regionviews.front()->get_canvas_group (), 0, event->motion.time);
        }
 
@@ -3234,6 +3233,7 @@ Editor::region_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event
        RouteTimeAxisView* atv;
        bool regionview_y_movement;
        bool regionview_x_movement;
+       vector<RegionView*> copies;
 
        /* first_move is set to false if the regionview has been moved in the 
           motion handler. 
@@ -3241,6 +3241,12 @@ Editor::region_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event
 
        if (drag_info.first_move) {
                /* just a click */
+
+               if (drag_info.copy) {
+                       for (list<RegionView*>::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) {
+                               copies.push_back (*i);
+                       }
+               }
                goto out;
        }
 
@@ -3254,6 +3260,13 @@ Editor::region_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event
 
        if (drag_info.brushing) {
                /* all changes were made during motion event handlers */
+               
+               if (drag_info.copy) {
+                       for (list<RegionView*>::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) {
+                               copies.push_back (*i);
+                       }
+               }
+
                goto out;
        }
 
@@ -3296,7 +3309,7 @@ Editor::region_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event
                vector<RegionView*> new_selection;
 
                for (list<RegionView*>::const_iterator i = selection->regions.by_layer().begin(); i != selection->regions.by_layer().end(); ) {
-           
+                       
                        RegionView* rv = (*i);              
 
                        double ix1, ix2, iy1, iy2;
@@ -3332,6 +3345,12 @@ Editor::region_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event
                                session->add_command (new MementoCommand<Playlist>(*from_playlist, &from_playlist->get_state(), 0));    
                                from_playlist->remove_region ((rv->region()));
                                session->add_command (new MementoCommand<Playlist>(*from_playlist, 0, &from_playlist->get_state()));    
+
+                       } else {
+
+                               /* the regionview we dragged around is a temporary copy, queue it for deletion */
+                               
+                               copies.push_back (rv);
                        }
 
                        latest_regionview = 0;
@@ -3346,11 +3365,6 @@ Editor::region_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event
                                new_selection.push_back (latest_regionview);
                        }
 
-                       if (drag_info.copy) {
-                               // get rid of the copy
-                               delete rv;
-                       } 
-
                        /* OK, this is where it gets tricky. If the playlist was being used by >1 tracks, and the region
                           was selected in all of them, then removing it from the playlist will have removed all
                           trace of it from the selection (i.e. there were N regions selected, we removed 1,
@@ -3363,12 +3377,19 @@ Editor::region_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event
                           here. if the region selection is not empty, then restart the loop because we know that
                           we must have removed at least the region(view) we've just been working on as well as any
                           that we processed on previous iterations.
+
+                          EXCEPT .... if we are doing a copy drag, then the selection hasn't been modified and
+                          we can just iterate.
                        */
 
-                       if (selection->regions.empty()) {
-                               break;
-                       } else { 
-                               i = selection->regions.by_layer().begin();
+                       if (drag_info.copy) {
+                               ++i;
+                       } else {
+                               if (selection->regions.empty()) {
+                                       break;
+                               } else { 
+                                       i = selection->regions.by_layer().begin();
+                               }
                        }
                } 
 
@@ -3462,10 +3483,8 @@ Editor::region_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event
 
                        session->add_command (new MementoCommand<Playlist>(*to_playlist, 0, &to_playlist->get_state()));
 
-                       /* get rid of the copy */
-
                        if (drag_info.copy) {
-                               delete rv;
+                               copies.push_back (rv);
                        }
                }
        }
@@ -3475,6 +3494,10 @@ Editor::region_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event
        if (!nocommit) {
                commit_reversible_command ();
        }
+
+       for (vector<RegionView*>::iterator x = copies.begin(); x != copies.end(); ++x) {
+               delete *x;
+       }
 }
 
 void
@@ -4521,7 +4544,7 @@ Editor::end_range_markerbar_op (ArdourCanvas::Item* item, GdkEvent* event)
                        switch (mouse_mode) {
                        case MouseObject:
                                /* find the two markers on either side and then make the selection from it */
-                               select_all_within (start, end, 0.0f, FLT_MAX, Selection::Set);
+                               select_all_within (start, end, 0.0f, FLT_MAX, track_views, Selection::Set);
                                break;
 
                        case MouseRange:
@@ -4724,9 +4747,9 @@ Editor::end_rubberband_select (ArdourCanvas::Item* item, GdkEvent* event)
                begin_reversible_command (_("rubberband selection"));
 
                if (drag_info.grab_frame < drag_info.last_pointer_frame) {
-                       commit = select_all_within (drag_info.grab_frame, drag_info.last_pointer_frame, y1, y2, op);
+                       commit = select_all_within (drag_info.grab_frame, drag_info.last_pointer_frame, y1, y2, track_views, op);
                } else {
-                       commit = select_all_within (drag_info.last_pointer_frame, drag_info.grab_frame, y1, y2, op);
+                       commit = select_all_within (drag_info.last_pointer_frame, drag_info.grab_frame, y1, y2, track_views, op);
                }               
 
                if (commit) {
@@ -4761,7 +4784,7 @@ Editor::mouse_rename_region (ArdourCanvas::Item* item, GdkEvent* event)
         string str;
                prompter.get_result(str);
                if (str.length()) {
-               clicked_regionview->region()->set_name (str);
+                       clicked_regionview->region()->set_name (str);
                }
                break;
        }
index c478f47bde0435b19a017c2b92db3d13d6f596fc..2267c150bf14afaf6e8589679fb0712c2ce33cca 100644 (file)
@@ -461,9 +461,10 @@ void
 Editor::build_region_boundary_cache ()
 {
        nframes_t pos = 0;
-       RegionPoint point;
+       vector<RegionPoint> interesting_points;
        boost::shared_ptr<Region> r;
        TrackViewList tracks;
+       bool at_end = false;
 
        region_boundary_cache.clear ();
 
@@ -473,16 +474,17 @@ Editor::build_region_boundary_cache ()
        
        switch (snap_type) {
        case SnapToRegionStart:
-               point = Start;
+               interesting_points.push_back (Start);
                break;
        case SnapToRegionEnd:
-               point = End;
+               interesting_points.push_back (End);
                break;  
        case SnapToRegionSync:
-               point = SyncPoint;
+               interesting_points.push_back (SyncPoint);
                break;  
        case SnapToRegionBoundary:
-               point = Start;
+               interesting_points.push_back (Start);
+               interesting_points.push_back (End);
                break;  
        default:
                fatal << string_compose (_("build_region_boundary_cache called with snap_type = %1"), snap_type) << endmsg;
@@ -491,62 +493,80 @@ Editor::build_region_boundary_cache ()
        }
        
        TimeAxisView *ontrack = 0;
+       TrackViewList tlist;
 
-       while (pos < session->current_end_frame()) {
+       if (!selection->tracks.empty()) {
+               tlist = selection->tracks;
+       } else {
+               tlist = track_views;
+       }
 
-               if (!selection->tracks.empty()) {
+       while (pos < session->current_end_frame() && !at_end) {
 
-                       if ((r = find_next_region (pos, point, 1, selection->tracks, &ontrack)) == 0) {
-                               break;
-                       }
+               nframes_t rpos;
+               nframes_t lpos = max_frames;
 
-               } else {
+               for (vector<RegionPoint>::iterator p = interesting_points.begin(); p != interesting_points.end(); ++p) {
+
+                       if ((r = find_next_region (pos, *p, 1, tlist, &ontrack)) == 0) {
+                               at_end = true;
+                               /* move to next point type */
+                               continue;
+                       }
 
-                       if ((r = find_next_region (pos, point, 1, track_views, &ontrack)) == 0) {
+                       
+                       switch (*p) {
+                       case Start:
+                               rpos = r->first_frame();
+                               break;
+                       case End:
+                               rpos = r->last_frame();
+                               break;  
+                       case SyncPoint:
+                               rpos = r->adjust_to_sync (r->first_frame());
+                               break;
+                       default:
                                break;
                        }
-               }
+                       
+                       float speed = 1.0f;
+                       AudioTimeAxisView *atav;
+                       
+                       if (ontrack != 0 && (atav = dynamic_cast<AudioTimeAxisView*>(ontrack)) != 0 ) {
+                               if (atav->get_diskstream() != 0) {
+                                       speed = atav->get_diskstream()->speed();
+                               }
+                       }
+                       
+                       rpos = track_frame_to_session_frame (rpos, speed);
 
-               nframes_t rpos;
-               
-               switch (snap_type) {
-               case SnapToRegionStart:
-                       rpos = r->first_frame();
-                       break;
-               case SnapToRegionEnd:
-                       rpos = r->last_frame();
-                       break;  
-               case SnapToRegionSync:
-                       rpos = r->adjust_to_sync (r->first_frame());
-                       break;
+                       if (rpos < lpos) {
+                               lpos = rpos;
+                       }
 
-               case SnapToRegionBoundary:
-                       rpos = r->last_frame();
-                       break;  
-               default:
-                       break;
-               }
-               
-               float speed = 1.0f;
-               AudioTimeAxisView *atav;
+                       /* prevent duplicates, but we don't use set<> because we want to be able
+                          to sort later.
+                       */
 
-               if ( ontrack != 0 && (atav = dynamic_cast<AudioTimeAxisView*>(ontrack)) != 0 ) {
-                       if (atav->get_diskstream() != 0) {
-                               speed = atav->get_diskstream()->speed();
+                       vector<nframes_t>::iterator ri; 
+                       
+                       for (ri = region_boundary_cache.begin(); ri != region_boundary_cache.end(); ++ri) {
+                               if (*ri == rpos) {
+                                       break;
+                               }
                        }
-               }
 
-               rpos = track_frame_to_session_frame(rpos, speed);
-
-               if (region_boundary_cache.empty() || rpos != region_boundary_cache.back()) {
-                       if (snap_type == SnapToRegionBoundary) {
-                               region_boundary_cache.push_back (r->first_frame());
+                       if (ri == region_boundary_cache.end()) {
+                               region_boundary_cache.push_back (rpos);
                        }
-                       region_boundary_cache.push_back (rpos);
                }
 
-               pos = rpos + 1;
+               pos = lpos + 1;
        }
+
+       /* finally sort to be sure that the order is correct */
+
+       sort (region_boundary_cache.begin(), region_boundary_cache.end());
 }
 
 boost::shared_ptr<Region>
@@ -3522,3 +3542,21 @@ Editor::set_fade_out_active (bool yn)
        }
 }
 
+
+/** Update crossfade visibility after its configuration has been changed */
+void
+Editor::update_xfade_visibility ()
+{
+       _xfade_visibility = Config->get_xfades_visible ();
+       
+       for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
+               AudioTimeAxisView* v = dynamic_cast<AudioTimeAxisView*>(*i);
+               if (v) {
+                       if (_xfade_visibility) {
+                               v->show_all_xfades ();
+                       } else {
+                               v->hide_all_xfades ();
+                       }
+               }
+       }
+}
index 31823414378919588bd26a190fd58f373240db95..6f4f4bdb6876a4000e1569ae2f79d950b826ec37 100644 (file)
@@ -159,6 +159,7 @@ Editor::ruler_button_press (GdkEventButton* ev)
                /* transport playhead */
                snap_to (where);
                session->request_locate (where);
+               _dragging_playhead = true;
                break;
 
        case 2:
@@ -192,7 +193,6 @@ Editor::ruler_button_release (GdkEventButton* ev)
                return FALSE;
        }
 
-       hide_verbose_canvas_cursor();
        stop_canvas_autoscroll();
        
        nframes_t where = leftmost_frame + pixel_to_frame (x);
@@ -200,6 +200,7 @@ Editor::ruler_button_release (GdkEventButton* ev)
        switch (ev->button) {
        case 1:
                /* transport playhead */
+               _dragging_playhead = false;
                snap_to (where);
                session->request_locate (where);
                break;
@@ -251,7 +252,7 @@ Editor::ruler_mouse_motion (GdkEventMotion* ev)
                return FALSE;
        }
        
-       double wcx=0,wcy=0;
+               double wcx=0,wcy=0;
        double cx=0,cy=0;
 
        gint x,y;
@@ -260,12 +261,11 @@ Editor::ruler_mouse_motion (GdkEventMotion* ev)
        /* need to use the correct x,y, the event lies */
        time_canvas_event_box.get_window()->get_pointer (x, y, state);
 
-       time_canvas.c2w (x, y, wcx, wcy);
-       time_canvas.w2c (wcx, wcy, cx, cy);
 
-       wcx = x;
-       nframes_t where = event_frame ((GdkEvent*) ev, &wcx, (double *) 0);
-       cx = wcx;
+       track_canvas.c2w (x, y, wcx, wcy);
+       track_canvas.w2c (wcx, wcy, cx, cy);
+       
+       nframes_t where = leftmost_frame + pixel_to_frame (x);
 
        /// ripped from maybe_autoscroll, and adapted to work here
        nframes_t one_page = (nframes_t) rint (canvas_width * frames_per_unit);
@@ -312,9 +312,9 @@ Editor::ruler_mouse_motion (GdkEventMotion* ev)
                
                if (cursor == edit_cursor) {
                        edit_cursor_clock.set (where);
+               } else if (cursor == playhead_cursor) {
+                       UpdateAllTransportClocks (cursor->current_frame);
                }
-               
-               show_verbose_time_cursor (where, 10, cx, 0);
        }
        
        return TRUE;
index e710a790cb17b4fb4e69c5e941f98d2212c91e19..3758e40d38736be99edf4027e1f5a01a6e7d1178 100644 (file)
@@ -245,7 +245,7 @@ Editor::set_selected_control_point_from_click (Selection::Operation op, bool no_
        y1 = clicked_control_point->get_x() - 10;
        y2 = clicked_control_point->get_y() + 10;
 
-       return select_all_within (x1, x2, y1, y2, op);
+       return select_all_within (x1, x2, y1, y2, selection->tracks, op);
 }
 
 void
@@ -770,13 +770,13 @@ Editor::invert_selection ()
 }
 
 bool
-Editor::select_all_within (nframes_t start, nframes_t end, double top, double bot, Selection::Operation op)
+Editor::select_all_within (nframes_t start, nframes_t end, double top, double bot, const TrackViewList& tracklist, Selection::Operation op)
 {
        list<Selectable*> touched;
        list<Selectable*>::size_type n = 0;
        TrackViewList touched_tracks;
 
-       for (TrackViewList::iterator iter = selection->tracks.begin(); iter != selection->tracks.end(); ++iter) {
+       for (TrackViewList::const_iterator iter = tracklist.begin(); iter != tracklist.end(); ++iter) {
                if ((*iter)->hidden()) {
                        continue;
                }
index 68b2751ffbf49ea00c855a5b074de9034bf5de44..9943d5225808650523571b48d16c786e96381cea 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <pbd/enumwriter.h>
 
 #include "audio_clock.h"
index 987c49fe06a1c42c6173f3a199d4e96364a0f2a9..d345b30bf8b3ea66593e27de52f9f1c07c115e77 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_enums_h__
 #define __ardour_gtk_enums_h__
 
index 1c70c758a5b590b962673ff1af010d8e41b440ec..5ddc117c3277c3aaf695a6456a846a6dbe9cfe4d 100644 (file)
@@ -398,25 +398,25 @@ ExportDialog::connect_to_session (Session *s)
 
        switch (session->frame_rate()) {
        case 22050:
-               sample_rate_combo.set_active_text (N_("22.05kHz"));
+               sample_rate_combo.set_active_text (_("22.05kHz"));
                break;
        case 44100:
-               sample_rate_combo.set_active_text (N_("44.1kHz"));
+               sample_rate_combo.set_active_text (_("44.1kHz"));
                break;
        case 48000:
-               sample_rate_combo.set_active_text (N_("48kHz"));
+               sample_rate_combo.set_active_text (_("48kHz"));
                break;
        case 88200:
-               sample_rate_combo.set_active_text (N_("88.2kHz"));
+               sample_rate_combo.set_active_text (_("88.2kHz"));
                break;
        case 96000:
-               sample_rate_combo.set_active_text (N_("96kHz"));
+               sample_rate_combo.set_active_text (_("96kHz"));
                break;
        case 192000:
-               sample_rate_combo.set_active_text (N_("192kHz"));
+               sample_rate_combo.set_active_text (_("192kHz"));
                break;
        default:
-               sample_rate_combo.set_active_text (N_("44.1kHz"));
+               sample_rate_combo.set_active_text (_("44.1kHz"));
                break;
        }
 
@@ -874,7 +874,7 @@ ExportDialog::export_cue_file (Locations::LocationList& locations, const string&
 void
 ExportDialog::do_export_cd_markers (const string& path,const string& cuefile_type)
 {
-       if (cuefile_type == "TOC") {
+       if (cuefile_type == _("TOC")) {
                session->locations()->apply (*this, &ExportDialog::export_toc_file, path);      
        } else {
                session->locations()->apply (*this, &ExportDialog::export_cue_file, path);
@@ -1028,15 +1028,15 @@ ExportDialog::sample_rate_chosen ()
 
        if (sr_str == N_("22.05kHz")) {
                rate = 22050;
-       } else if (sr_str == N_("44.1kHz")) {
+       } else if (sr_str == _("44.1kHz")) {
                rate = 44100;
-       } else if (sr_str == N_("48kHz")) {
+       } else if (sr_str == _("48kHz")) {
                rate = 48000;
-       } else if (sr_str == N_("88.2kHz")) {
+       } else if (sr_str == _("88.2kHz")) {
                rate = 88200;
-       } else if (sr_str == N_("96kHz")) {
+       } else if (sr_str == _("96kHz")) {
                rate = 96000;
-       } else if (sr_str == N_("192kHz")) {
+       } else if (sr_str == _("192kHz")) {
                rate = 192000;
        } else {
                rate = session->frame_rate();
@@ -1196,15 +1196,15 @@ ExportDialog::initSpec(string &filepath)
        string sr_str = sample_rate_combo.get_active_text();
        if (sr_str == N_("22.05kHz")) {
                spec.sample_rate = 22050;
-       } else if (sr_str == N_("44.1kHz")) {
+       } else if (sr_str == _("44.1kHz")) {
                spec.sample_rate = 44100;
-       } else if (sr_str == N_("48kHz")) {
+       } else if (sr_str == _("48kHz")) {
                spec.sample_rate = 48000;
-       } else if (sr_str == N_("88.2kHz")) {
+       } else if (sr_str == _("88.2kHz")) {
                spec.sample_rate = 88200;
-       } else if (sr_str == N_("96kHz")) {
+       } else if (sr_str == _("96kHz")) {
                spec.sample_rate = 96000;
-       } else if (sr_str == N_("192kHz")) {
+       } else if (sr_str == _("192kHz")) {
                spec.sample_rate = 192000;
        } else {
                spec.sample_rate = session->frame_rate();
index ea9388ccd3366c661328f7f16926a28cc89f6bdd..25a97a1a97d95bccf0c756ede0d06069e39847e4 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_gain_automation_time_axis_h__
 #define __ardour_gtk_gain_automation_time_axis_h__
 
index 7f7d11c0bec458acb6c0eda85405d3ea7247a5a3..844338cd45c50f2df036fefd737acc6903da04e5 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include "simplerect.h"
 #include "waveview.h"
 #include "ghostregion.h"
index 1f53f9700474257ca371b55745d751161dc8ac1f..ef129ad46de9605498d3ea5632a47b7eba5747fd 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_gui_thread_h__
 #define __ardour_gtk_gui_thread_h__
 
index 5d68c79edd9bab1496341771b0670877efcb2735..fa19bbb8a546ebc854e83201df2df0532561180b 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __i18n_h__
 #define __i18n_h__
 
index ac4a0416b797d246b494e4c2a4783b31b91aaac5..6b0b2bffca556273cf63b99ea38e27fe61301d92 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 // -*- c++ -*-
 #ifndef _LIBGNOMECANVASMM_IMAGEFRAME_P_H
 #define _LIBGNOMECANVASMM_IMAGEFRAME_P_H
index 7938f6c6e7da32691d8d314351dac7c6a3cc60c8..97c8937f3930817b6c4e9abdd5f3e925cb4207bf 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <map>
 #include <vector>
 #include <string>
index 8d9f0b9d8278701ad86d9662efbbe23350a92a26..c9addec8f5109e2c49433d83dd7981c869f42b58 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_log_meter_h__
 #define __ardour_gtk_log_meter_h__
 
index 70e0a6aa1865f31e1e396a5f5cd42b0215a3e600..8ac941e4e5122e4d7ac9336970862bd4e146e137 100644 (file)
@@ -175,7 +175,7 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session& sess, boost::shared_ptr<Route> rt
        bottom_button_table.set_col_spacings (0);
        bottom_button_table.set_homogeneous (true);
        bottom_button_table.attach (group_button, 0, 1, 0, 1);
-
+       
        if (is_audio_track()) {
                
                rec_enable_button->signal_button_press_event().connect (mem_fun(*this, &RouteUI::rec_enable_press), false);
@@ -367,7 +367,7 @@ void
 MixerStrip::set_stuff_from_route ()
 {
        XMLProperty *prop;
-       
+
        ensure_xml_node ();
 
        if ((prop = xml_node->property ("strip_width")) != 0) {
@@ -563,7 +563,7 @@ MixerStrip::input_press (GdkEventButton *ev)
                msg.run ();
                return true;
        }
-       
+
        switch (ev->button) {
 
        case 1:
@@ -692,7 +692,7 @@ void
 MixerStrip::connect_to_pan ()
 {
        ENSURE_GUI_THREAD(mem_fun(*this, &MixerStrip::connect_to_pan));
-       
+
        panstate_connection.disconnect ();
        panstyle_connection.disconnect ();
 
@@ -773,7 +773,8 @@ MixerStrip::output_changed (IOChange change, void *src)
 
 
 void 
-MixerStrip::comment_editor_done_editing() {
+MixerStrip::comment_editor_done_editing() 
+{
        string str =  comment_area->get_buffer()->get_text();
        if (_route->comment() != str) {
                _route->set_comment (str, this);
@@ -973,12 +974,11 @@ void
 MixerStrip::build_route_ops_menu ()
 {
        using namespace Menu_Helpers;
-
        route_ops_menu = manage (new Menu);
        route_ops_menu->set_name ("ArdourContextMenu");
 
        MenuList& items = route_ops_menu->items();
-       
+
        items.push_back (MenuElem (_("Rename"), mem_fun(*this, &RouteUI::route_rename)));
        items.push_back (SeparatorElem());
        items.push_back (CheckMenuElem (_("Active"), mem_fun (*this, &RouteUI::toggle_route_active)));
@@ -1003,6 +1003,11 @@ MixerStrip::name_button_button_press (GdkEventButton* ev)
 {
        if (ev->button == 1) {
                list_route_operations ();
+
+               Menu_Helpers::MenuList& items = route_ops_menu->items();
+               /* do not allow rename if the track is record-enabled */
+               static_cast<MenuItem*> (&items.front())->set_sensitive (!_route->record_enabled());
+
                route_ops_menu->popup (1, ev->time);
        }
        return FALSE;
index 7d62509159ef9d222c18f7943e55d2ba6f817590..e3f3855010f27f710ec110295a566c4eef2e24f2 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <vector>
 #include <iostream>
 #include <gtkmm.h>
index 74ff9d022c24de8ddf995e9bec330c5a01afe0dc..13d8123836383eb2b4bc863fb1e98386c113f3b7 100644 (file)
@@ -575,7 +575,12 @@ int
 NewSessionDialog::get_current_page()
 {
        return m_notebook->get_current_page();
-       
+}
+
+void
+NewSessionDialog::set_current_page(int page)
+{
+       return m_notebook->set_current_page (page);
 }
 
 void
index 0d4124f8cc9f1eac93bb940d3f7f526aa91d1bee..c22af7561cd6035dfd3102e525e752a6fafd9b3a 100644 (file)
@@ -82,6 +82,7 @@ public:
        bool connect_outs_to_master() const;
        bool connect_outs_to_physical() const ;
        int get_current_page();
+       void set_current_page (int);
        void reset_recent();
 
        // reset everything to default values.
index 0474677da89a4dd9d8a7ffeaf9d5ec6c7432c2ec..c2803c0172ddbd248055d88415b3ae566802726e 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_pan_automation_time_axis_h__
 #define __ardour_gtk_pan_automation_time_axis_h__
 
index d54d6b89ac9bc540c068127fade1d7d25f8210fe..23fae953a16042e4aa8cefad8c453cf833250e18 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <iostream>
 
 #include "panner.h"
index d06a4c21e3e888eb12f1179d7fb58389944f9e8f..6813f3d0320b84853dd54dce17c159f475ebe46c 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __gtk_ardour_panner_h__
 #define __gtk_ardour_panner_h__
 
index 813f8a92111a5484ba7220d19e388d297b50ffe5..14366418e69af04852bbd23152063cbb7ac86a35 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_playlist_selection_h__
 #define __ardour_gtk_playlist_selection_h__
 
index 8af57ef1268b26b844fd10c0d0e7994122baeb49..200c296417a82dc09ca401d0d440a925a0bd3b87 100644 (file)
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: gtk-ardour 0.347.2\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2006-11-24 00:48+0100\n"
-"PO-Revision-Date: 2007-03-17 19:33+0100\n"
+"PO-Revision-Date: 2007-04-10 20:11+0100\n"
 "Last-Translator: Sebastian Arnold <mail@sebastian-arnold.net>\n"
 "Language-Team: Deutsch <de@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -168,10 +168,11 @@ msgstr ""
 msgid ""
 "German:\n"
 "\tKarsten Petersen <kapet@kapet.de>\n"
+"\tSebastian Arnold <mail@sebastian-arnold.net>\n"
 msgstr ""
 "German:\n"
-"\tSebastian Arnold <linux@sebastian-arnold.net>\n"
 "\tKarsten Petersen <kapet@kapet.de>\n"
+"\tSebastian Arnold <mail@sebastian-arnold.net>\n"
 
 #: gtk2_ardour/about.cc:160
 msgid ""
@@ -216,8 +217,8 @@ msgstr ""
 "\t Igor Blinov <pitstop@nm.ru>\n"
 
 #: gtk2_ardour/about.cc:193
-msgid "Copyright (C) 1999-2006 Paul Davis\n"
-msgstr "Copyright (C) 1999-2006 Paul Davis\n"
+msgid "Copyright (C) 1999-2007 Paul Davis\n"
+msgstr "Copyright (C) 1999-2007 Paul Davis\n"
 
 #: gtk2_ardour/about.cc:194
 msgid ""
@@ -293,10 +294,10 @@ msgstr "Manuell"
 
 #: gtk2_ardour/add_route_dialog.cc:51
 #: gtk2_ardour/add_route_dialog.cc:176
-#: gtk2_ardour/editor.cc:125
-#: gtk2_ardour/editor.cc:2989
+#: gtk2_ardour/editor.cc:128
+#: gtk2_ardour/editor.cc:3011
 #: gtk2_ardour/editor_actions.cc:288
-#: gtk2_ardour/time_axis_view.cc:585
+#: gtk2_ardour/time_axis_view.cc:589
 msgid "Normal"
 msgstr "Normal"
 
@@ -312,7 +313,7 @@ msgstr "ardour: Füge Spur/Bus hinzu"
 #: gtk2_ardour/add_route_dialog.cc:62
 #: gtk2_ardour/editor_route_list.cc:72
 msgid "Tracks"
-msgstr "Spuren"
+msgstr "Audiospuren"
 
 #: gtk2_ardour/add_route_dialog.cc:63
 #: gtk2_ardour/editor_route_list.cc:69
@@ -332,7 +333,7 @@ msgstr "Name für Mixer-Vorlage"
 msgid "Channel Configuration"
 msgstr "Kanaleinstellungen"
 
-#: gtk2_ardour/ardour_ui.cc:109
+#: gtk2_ardour/ardour_ui.cc:110
 msgid ""
 "pre\n"
 "roll"
@@ -340,7 +341,7 @@ msgstr ""
 "pre\n"
 "roll"
 
-#: gtk2_ardour/ardour_ui.cc:110
+#: gtk2_ardour/ardour_ui.cc:111
 msgid ""
 "post\n"
 "roll"
@@ -348,42 +349,42 @@ msgstr ""
 "post\n"
 "roll"
 
-#: gtk2_ardour/ardour_ui.cc:136
+#: gtk2_ardour/ardour_ui.cc:137
 msgid "% "
 msgstr ""
 
-#: gtk2_ardour/ardour_ui.cc:138
-#: gtk2_ardour/ardour_ui_ed.cc:290
+#: gtk2_ardour/ardour_ui.cc:139
+#: gtk2_ardour/ardour_ui_ed.cc:294
 msgid "Punch In"
 msgstr "Punch In"
 
-#: gtk2_ardour/ardour_ui.cc:139
-#: gtk2_ardour/ardour_ui_ed.cc:293
+#: gtk2_ardour/ardour_ui.cc:140
+#: gtk2_ardour/ardour_ui_ed.cc:297
 msgid "Punch Out"
 msgstr "Punch Out"
 
-#: gtk2_ardour/ardour_ui.cc:140
-#: gtk2_ardour/ardour_ui_ed.cc:305
+#: gtk2_ardour/ardour_ui.cc:141
+#: gtk2_ardour/ardour_ui_ed.cc:309
 msgid "Auto Return"
 msgstr "Auto Return"
 
-#: gtk2_ardour/ardour_ui.cc:141
-#: gtk2_ardour/ardour_ui_ed.cc:302
+#: gtk2_ardour/ardour_ui.cc:142
+#: gtk2_ardour/ardour_ui_ed.cc:306
 msgid "Auto Play"
 msgstr "Auto Play"
 
-#: gtk2_ardour/ardour_ui.cc:142
-#: gtk2_ardour/ardour_ui_ed.cc:299
+#: gtk2_ardour/ardour_ui.cc:143
+#: gtk2_ardour/ardour_ui_ed.cc:303
 msgid "Auto Input"
 msgstr "Auto Input"
 
-#: gtk2_ardour/ardour_ui.cc:143
-#: gtk2_ardour/ardour_ui_ed.cc:296
-#: gtk2_ardour/option_editor.cc:129
+#: gtk2_ardour/ardour_ui.cc:144
+#: gtk2_ardour/ardour_ui_ed.cc:300
+#: gtk2_ardour/option_editor.cc:133
 msgid "Click"
 msgstr "Click"
 
-#: gtk2_ardour/ardour_ui.cc:144
+#: gtk2_ardour/ardour_ui.cc:145
 msgid ""
 "time\n"
 "master"
@@ -391,21 +392,23 @@ msgstr ""
 "Time\n"
 "Master"
 
-#: gtk2_ardour/ardour_ui.cc:146
+#: gtk2_ardour/ardour_ui.cc:147
 msgid "AUDITION"
 msgstr "VORHÖREN"
 
-#: gtk2_ardour/ardour_ui.cc:147
+#: gtk2_ardour/ardour_ui.cc:148
 msgid "SOLO"
 msgstr "SOLO"
 
 #: gtk2_ardour/ardour_ui.cc:475
-#, fuzzy
 msgid ""
 "WARNING: Your system has a limit for maximum amount of locked memory. This might cause Ardour to run out of memory before your system runs out of memory. \n"
 "\n"
 "You can view the memory limit with 'ulimit -l', and it is normally controlled by /etc/security/limits.conf"
-msgstr "WARNUNG: Ihr System hat eine Begrenzung für die Reservierung von Arbeitsspeicher eingestellt. Dies könnte dazu führen, dass Ardour zu schnell der Speicher ausgeht."
+msgstr ""
+"WARNUNG: Ihr System hat eine Begrenzung für die Reservierung von Arbeitsspeicher eingestellt. Dies könnte dazu führen, dass Ardour zu schnell der Speicher ausgeht.\n"
+"\n"
+"Sie können die Speicherbegrenzung mit 'ulimit -l' einsehen und normalerweise in /etc/security/limits.conf verändern."
 
 #: gtk2_ardour/ardour_ui.cc:483
 msgid "Do not show this window again"
@@ -447,11 +450,11 @@ msgstr "Speichern und %1"
 
 #: gtk2_ardour/ardour_ui.cc:560
 msgid "session"
-msgstr "Projekt"
+msgstr "Das Projekt"
 
 #: gtk2_ardour/ardour_ui.cc:562
 msgid "snapshot"
-msgstr "Schnappschuss..."
+msgstr "Der Schnappschuss"
 
 #: gtk2_ardour/ardour_ui.cc:564
 msgid ""
@@ -463,7 +466,7 @@ msgid ""
 "\n"
 "What do you want to do?"
 msgstr ""
-"Das Projekt %1\"%2\" wurde nicht gespeichert.\n"
+"%1 \"%2\" wurde nicht gespeichert.\n"
 "\n"
 "Alle Änderungen werden verloren gehen wenn Sie nicht speichern.\n"
 "\n"
@@ -473,84 +476,83 @@ msgstr ""
 msgid "Prompter"
 msgstr "Frage"
 
-#: gtk2_ardour/ardour_ui.cc:645
+#: gtk2_ardour/ardour_ui.cc:638
 #, c-format
 msgid "disconnected"
 msgstr "getrennt"
 
-#: gtk2_ardour/ardour_ui.cc:652
+#: gtk2_ardour/ardour_ui.cc:645
 #, c-format
-msgid "%.1f kHz / %4.1f msecs"
-msgstr "%.1f kHz / %4.1f msecs"
+msgid "%.1f kHz / %4.1f ms"
+msgstr "%.1f kHz / %4.1f ms"
 
-#: gtk2_ardour/ardour_ui.cc:656
+#: gtk2_ardour/ardour_ui.cc:649
 #, c-format
-msgid "%u kHz / %4.1f msecs"
-msgstr "%u kHz / %4.1f msecs"
+msgid "%u kHz / %4.1f ms"
+msgstr "%u kHz / %4.1f ms"
 
-#: gtk2_ardour/ardour_ui.cc:669
+#: gtk2_ardour/ardour_ui.cc:662
 #, c-format
-msgid "DSP: %.1f%%"
-msgstr "CPU: %.1f%%"
+msgid "DSP: %5.1f%%"
+msgstr "DSP: %5.1f%%"
 
-#: gtk2_ardour/ardour_ui.cc:679
+#: gtk2_ardour/ardour_ui.cc:672
 #, c-format
 msgid "Buffers p:%<PRIu32>%% c:%<PRIu32>%%"
 msgstr "Buffer p:%<PRIu32>%% c:%<PRIu32>%%"
 
-#: gtk2_ardour/ardour_ui.cc:707
+#: gtk2_ardour/ardour_ui.cc:700
 msgid "Disk: 24hrs+"
 msgstr "HD: >24 Std."
 
-#: gtk2_ardour/ardour_ui.cc:727
+#: gtk2_ardour/ardour_ui.cc:720
 #, c-format
 msgid "Disk: %02dh:%02dm:%02ds"
 msgstr "HD: %02dh:%02dm:%02ds"
 
-#: gtk2_ardour/ardour_ui.cc:840
-#: gtk2_ardour/new_session_dialog.cc:354
+#: gtk2_ardour/ardour_ui.cc:833
+#: gtk2_ardour/new_session_dialog.cc:362
 msgid "Recent Sessions"
 msgstr "Zuletzt verwendete Projekte"
 
-#: gtk2_ardour/ardour_ui.cc:933
+#: gtk2_ardour/ardour_ui.cc:926
 msgid "open session"
 msgstr "Projekt öffnen"
 
-#: gtk2_ardour/ardour_ui.cc:939
+#: gtk2_ardour/ardour_ui.cc:932
 msgid "Ardour sessions"
 msgstr "ardour-Projekte"
 
-#: gtk2_ardour/ardour_ui.cc:972
+#: gtk2_ardour/ardour_ui.cc:965
 msgid "Patience is a virtue.\n"
 msgstr "Geduld ist eine Tugend.\n"
 
-#: gtk2_ardour/ardour_ui.cc:982
+#: gtk2_ardour/ardour_ui.cc:975
 msgid "You cannot add a track or bus without a session already loaded."
 msgstr "Sie können erst Spuren oder Busse hinzufügen, wenn ein Projekt geladen wurde."
 
-#: gtk2_ardour/ardour_ui.cc:992
-#: gtk2_ardour/ardour_ui.cc:1005
+#: gtk2_ardour/ardour_ui.cc:985
+#: gtk2_ardour/ardour_ui.cc:998
 msgid "could not create a new audio track"
 msgstr "Konnte neue Spur nicht erstellen."
 
-#: gtk2_ardour/ardour_ui.cc:994
-#, fuzzy
+#: gtk2_ardour/ardour_ui.cc:987
 msgid "could only create %1 of %2 new audio %3"
-msgstr "nix"
+msgstr "Konnte nur %1 von %2 neuen %3 erstellen"
 
-#: gtk2_ardour/ardour_ui.cc:995
+#: gtk2_ardour/ardour_ui.cc:988
 msgid "tracks"
 msgstr "Spuren"
 
-#: gtk2_ardour/ardour_ui.cc:995
+#: gtk2_ardour/ardour_ui.cc:988
 msgid "busses"
-msgstr "Busse"
+msgstr "Audio-Bussen"
 
-#: gtk2_ardour/ardour_ui.cc:1007
+#: gtk2_ardour/ardour_ui.cc:1000
 msgid "could not create %1 new audio tracks"
 msgstr "Konnte %1 neue Spuren nicht erstellen."
 
-#: gtk2_ardour/ardour_ui.cc:1028
+#: gtk2_ardour/ardour_ui.cc:1021
 msgid ""
 "There are insufficient JACK ports available\n"
 "to create a new track or bus.\n"
@@ -563,7 +565,7 @@ msgstr ""
 "ardour sowie JACK mit einer größeren\n"
 "Anzahl Ports erneut."
 
-#: gtk2_ardour/ardour_ui.cc:1148
+#: gtk2_ardour/ardour_ui.cc:1141
 msgid ""
 "Please create 1 or more track\n"
 "before trying to record.\n"
@@ -573,7 +575,7 @@ msgstr ""
 "bevor Sie aufnehmen.\n"
 "Weitere Einstellungen finden Sie im Projektmenü."
 
-#: gtk2_ardour/ardour_ui.cc:1393
+#: gtk2_ardour/ardour_ui.cc:1386
 msgid ""
 "JACK has either been shutdown or it\n"
 "disconnected Ardour because Ardour\n"
@@ -585,39 +587,39 @@ msgstr ""
 "schnell genug war. Sie sollten versuchen,\n"
 "das Projekt zu speichern und erneut mit JACK zu verbinden."
 
-#: gtk2_ardour/ardour_ui.cc:1410
+#: gtk2_ardour/ardour_ui.cc:1403
 msgid "Unable to start the session running"
 msgstr "Konnte das aktuelle Projekt nicht starten"
 
-#: gtk2_ardour/ardour_ui.cc:1510
-#: gtk2_ardour/ardour_ui.cc:1529
+#: gtk2_ardour/ardour_ui.cc:1503
+#: gtk2_ardour/ardour_ui.cc:1522
 #: gtk2_ardour/audio_clock.cc:461
 msgid "none"
 msgstr "keine"
 
-#: gtk2_ardour/ardour_ui.cc:1519
-#: gtk2_ardour/ardour_ui.cc:1538
+#: gtk2_ardour/ardour_ui.cc:1512
+#: gtk2_ardour/ardour_ui.cc:1531
 msgid "off"
 msgstr "aus"
 
-#: gtk2_ardour/ardour_ui.cc:1562
+#: gtk2_ardour/ardour_ui.cc:1557
 msgid "Name of New Snapshot"
 msgstr "Name für neuen Schnappschuss"
 
-#: gtk2_ardour/ardour_ui.cc:1702
+#: gtk2_ardour/ardour_ui.cc:1697
 msgid "Name for mix template:"
 msgstr "Name für Mixer-Vorlage"
 
-#: gtk2_ardour/ardour_ui.cc:1703
+#: gtk2_ardour/ardour_ui.cc:1698
 msgid "-template"
 msgstr "Vorlage"
 
-#: gtk2_ardour/ardour_ui.cc:1727
-#: gtk2_ardour/ardour_ui.cc:1744
+#: gtk2_ardour/ardour_ui.cc:1722
+#: gtk2_ardour/ardour_ui.cc:1739
 msgid "Ardour is not connected to JACK at this time. Creating new sessions is not possible."
 msgstr "Ardour ist derzeit nicht mit JACK verbunden. Es ist nicht möglich, neue Projekte zu erstellen."
 
-#: gtk2_ardour/ardour_ui.cc:1837
+#: gtk2_ardour/ardour_ui.cc:1832
 msgid ""
 "This session\n"
 "%1\n"
@@ -627,7 +629,7 @@ msgstr ""
 "%1\n"
 "existiert bereits. Wollen Sie sie öffnen?"
 
-#: gtk2_ardour/ardour_ui.cc:1960
+#: gtk2_ardour/ardour_ui.cc:1955
 msgid ""
 "You do not have write access to this session.\n"
 "This prevents the session from being loaded."
@@ -635,19 +637,19 @@ msgstr ""
 "Sie haben keinen Schreibzugriff auf dieses Projekt.\n"
 "Dadurch kann das Projekt nicht geladen werden."
 
-#: gtk2_ardour/ardour_ui.cc:1972
+#: gtk2_ardour/ardour_ui.cc:1967
 msgid "Session \"%1 (snapshot %2)\" did not load successfully"
 msgstr "Projekt  \"%1 (Schnappschuss %2)\" konnte nicht geladen werden."
 
-#: gtk2_ardour/ardour_ui.cc:2022
+#: gtk2_ardour/ardour_ui.cc:2017
 msgid "Could not create session in \"%1\""
 msgstr "Konnte kein Projekt in \"%1\" anlegen"
 
-#: gtk2_ardour/ardour_ui.cc:2082
+#: gtk2_ardour/ardour_ui.cc:2077
 msgid "No audio files were ready for cleanup"
 msgstr "Keine Audiodateien zum Aufräumen vorhanden"
 
-#: gtk2_ardour/ardour_ui.cc:2086
+#: gtk2_ardour/ardour_ui.cc:2081
 msgid ""
 "If this seems suprising, \n"
 "check for any existing snapshots.\n"
@@ -659,25 +661,25 @@ msgstr ""
 "sind sie wahrscheinlich noch in einem\n"
 "älteren Schnappschuss als Region eingebunden."
 
-#: gtk2_ardour/ardour_ui.cc:2095
+#: gtk2_ardour/ardour_ui.cc:2090
 msgid "ardour: cleanup"
 msgstr "ardour: Aufräumen"
 
-#: gtk2_ardour/ardour_ui.cc:2131
-#: gtk2_ardour/ardour_ui.cc:2137
+#: gtk2_ardour/ardour_ui.cc:2126
+#: gtk2_ardour/ardour_ui.cc:2132
 msgid "files were"
 msgstr "folgenden Dateien wurden"
 
-#: gtk2_ardour/ardour_ui.cc:2133
-#: gtk2_ardour/ardour_ui.cc:2139
+#: gtk2_ardour/ardour_ui.cc:2128
+#: gtk2_ardour/ardour_ui.cc:2134
 msgid "file was"
 msgstr "folgende Datei wurde"
 
-#: gtk2_ardour/ardour_ui.cc:2180
+#: gtk2_ardour/ardour_ui.cc:2175
 msgid "Are you sure you want to cleanup?"
 msgstr "Sind Sie sicher, dass Sie aufräumen wollen?"
 
-#: gtk2_ardour/ardour_ui.cc:2185
+#: gtk2_ardour/ardour_ui.cc:2180
 msgid ""
 "Cleanup is a destructive operation.\n"
 "ALL undo/redo information will be lost if you cleanup.\n"
@@ -687,19 +689,19 @@ msgstr ""
 "Sämtliche Wiederherstellungsinformationen gehen verloren, wenn Sie aufräumen.\n"
 "Nach dem Aufräumen werden alle nicht benötigten Audiodateien in einen \"dead sounds\" Ordner verschoben."
 
-#: gtk2_ardour/ardour_ui.cc:2191
+#: gtk2_ardour/ardour_ui.cc:2186
 msgid "Clean Up"
 msgstr "Aufräumen"
 
-#: gtk2_ardour/ardour_ui.cc:2194
+#: gtk2_ardour/ardour_ui.cc:2189
 msgid "CleanupDialog"
 msgstr ""
 
-#: gtk2_ardour/ardour_ui.cc:2222
+#: gtk2_ardour/ardour_ui.cc:2217
 msgid "cleaned files"
 msgstr "aufgeräumte Dateien"
 
-#: gtk2_ardour/ardour_ui.cc:2223
+#: gtk2_ardour/ardour_ui.cc:2218
 msgid ""
 "The following %1 %2 not in use and \n"
 "have been moved to:\n"
@@ -716,11 +718,11 @@ msgstr ""
 "Wenn Sie den Müll leeren werden weitere\n"
 "%4 %5byte Speicherplatz frei.\n"
 
-#: gtk2_ardour/ardour_ui.cc:2251
+#: gtk2_ardour/ardour_ui.cc:2246
 msgid "deleted file"
 msgstr "gelöschte Datei"
 
-#: gtk2_ardour/ardour_ui.cc:2252
+#: gtk2_ardour/ardour_ui.cc:2247
 msgid ""
 "The following %1 %2 deleted from\n"
 "%3,\n"
@@ -730,11 +732,11 @@ msgstr ""
 "%3,\n"
 "und machten %4 %5byte Speicherplatz frei"
 
-#: gtk2_ardour/ardour_ui.cc:2370
+#: gtk2_ardour/ardour_ui.cc:2365
 msgid "Recording was stopped because your system could not keep up."
 msgstr "Die Aufnahme wurde gestoppt, da Ihr System nicht schnell genug folgen konnte."
 
-#: gtk2_ardour/ardour_ui.cc:2381
+#: gtk2_ardour/ardour_ui.cc:2376
 msgid ""
 "The disk system on your computer\n"
 "was not able to keep up with Ardour.\n"
@@ -748,7 +750,7 @@ msgstr ""
 "Die Daten konnten nicht schnell genug geschrieben\n"
 "werden, um die Aufnahme fortzuführen.\n"
 
-#: gtk2_ardour/ardour_ui.cc:2400
+#: gtk2_ardour/ardour_ui.cc:2395
 msgid ""
 "The disk system on your computer\n"
 "was not able to keep up with Ardour.\n"
@@ -762,7 +764,7 @@ msgstr ""
 "Die Daten konnten nicht schnell genug gelesen\n"
 "werden, um die Wiedergabe aufrechtzuerhalten.\n"
 
-#: gtk2_ardour/ardour_ui.cc:2421
+#: gtk2_ardour/ardour_ui.cc:2416
 msgid ""
 "This session appears to have been in\n"
 "middle of recording when ardour or\n"
@@ -780,108 +782,108 @@ msgstr ""
 "für Sie wiederherstellen oder sie verwerfen.\n"
 "Bitte entscheiden Sie, wie Sie vorgehen möchten.\n"
 
-#: gtk2_ardour/ardour_ui.cc:2431
+#: gtk2_ardour/ardour_ui.cc:2426
 msgid "Recover from crash"
 msgstr "Daten wiederherstellen"
 
-#: gtk2_ardour/ardour_ui.cc:2432
+#: gtk2_ardour/ardour_ui.cc:2427
 msgid "Ignore crash data"
 msgstr "Daten verwerfen"
 
-#: gtk2_ardour/ardour_ui.cc:2450
+#: gtk2_ardour/ardour_ui.cc:2445
 msgid "Could not disconnect from JACK"
 msgstr "Konnte Verbindung mit JACK nicht trennen"
 
-#: gtk2_ardour/ardour_ui.cc:2463
+#: gtk2_ardour/ardour_ui.cc:2458
 msgid "Could not reconnect to JACK"
 msgstr "Konnte nicht erneut zu JACK verbinden"
 
-#: gtk2_ardour/ardour_ui2.cc:61
+#: gtk2_ardour/ardour_ui2.cc:62
 msgid "UI: cannot setup editor"
 msgstr "Der Editor konnte nicht initialisiert werden."
 
-#: gtk2_ardour/ardour_ui2.cc:66
+#: gtk2_ardour/ardour_ui2.cc:67
 msgid "UI: cannot setup mixer"
 msgstr "Der Mixer konnte nicht initialisiert werden."
 
-#: gtk2_ardour/ardour_ui2.cc:242
+#: gtk2_ardour/ardour_ui2.cc:243
 msgid "Play from playhead"
 msgstr "Wiedergabe ab Positionszeiger"
 
-#: gtk2_ardour/ardour_ui2.cc:243
+#: gtk2_ardour/ardour_ui2.cc:244
 msgid "Stop playback"
 msgstr "Wiedergabe anhalten"
 
-#: gtk2_ardour/ardour_ui2.cc:244
+#: gtk2_ardour/ardour_ui2.cc:245
 msgid "Play range/selection"
 msgstr "Bereich/Auswahl wiedergeben"
 
-#: gtk2_ardour/ardour_ui2.cc:245
+#: gtk2_ardour/ardour_ui2.cc:246
 msgid "Go to start of session"
 msgstr "Zum Anfang des Projekts springen"
 
-#: gtk2_ardour/ardour_ui2.cc:246
+#: gtk2_ardour/ardour_ui2.cc:247
 msgid "Go to end of session"
 msgstr "Zum Ende des Projekts springen"
 
-#: gtk2_ardour/ardour_ui2.cc:247
+#: gtk2_ardour/ardour_ui2.cc:248
 msgid "Play loop range"
 msgstr "Schleife wiedergeben"
 
-#: gtk2_ardour/ardour_ui2.cc:249
+#: gtk2_ardour/ardour_ui2.cc:250
 msgid "Return to last playback start when stopped"
 msgstr "Bei Stop zum letzten Wiedergabeanfang springen"
 
-#: gtk2_ardour/ardour_ui2.cc:250
+#: gtk2_ardour/ardour_ui2.cc:251
 msgid "Start playback after any locate"
 msgstr "Startet die Wiedergabe nach setzen des Positionszeigers"
 
-#: gtk2_ardour/ardour_ui2.cc:251
+#: gtk2_ardour/ardour_ui2.cc:252
 msgid "Be sensible about input monitoring"
 msgstr "Automatisches Input Monitoring aktivieren"
 
-#: gtk2_ardour/ardour_ui2.cc:252
+#: gtk2_ardour/ardour_ui2.cc:253
 msgid "Start recording at auto-punch start"
 msgstr "Beginnt die Aufnahme bei Auto-Punch Start"
 
-#: gtk2_ardour/ardour_ui2.cc:253
+#: gtk2_ardour/ardour_ui2.cc:254
 msgid "Stop recording at auto-punch end"
 msgstr "Beginnt die Aufnahme bei Auto-Punch Ende"
 
-#: gtk2_ardour/ardour_ui2.cc:254
+#: gtk2_ardour/ardour_ui2.cc:255
 msgid "Enable/Disable audio click"
 msgstr "Aktiviert/Deaktiviert Audio Click"
 
-#: gtk2_ardour/ardour_ui2.cc:255
+#: gtk2_ardour/ardour_ui2.cc:256
 msgid "Positional sync source"
 msgstr "Positionsbezogene Sync-quelle"
 
-#: gtk2_ardour/ardour_ui2.cc:256
+#: gtk2_ardour/ardour_ui2.cc:257
 msgid "Does Ardour control the time?"
 msgstr "Bestimmt ardour die Time?"
 
-#: gtk2_ardour/ardour_ui2.cc:257
+#: gtk2_ardour/ardour_ui2.cc:258
 msgid "Shuttle speed control"
 msgstr "Shuttle-Geschwindigkeit"
 
-#: gtk2_ardour/ardour_ui2.cc:258
+#: gtk2_ardour/ardour_ui2.cc:259
 #, c-format
 msgid "Select semitones or %%-age for speed display"
 msgstr "Geschwindigkeitsanzeige als Prozent oder Halbtöne einstellen"
 
-#: gtk2_ardour/ardour_ui2.cc:259
+#: gtk2_ardour/ardour_ui2.cc:260
 msgid "Current transport speed"
 msgstr "Geschwindigkeitsanzeige"
 
-#: gtk2_ardour/ardour_ui2.cc:279
+#: gtk2_ardour/ardour_ui2.cc:280
 msgid "Primary clock"
 msgstr "Primärer Zeitgeber"
 
-#: gtk2_ardour/ardour_ui2.cc:280
+#: gtk2_ardour/ardour_ui2.cc:281
 msgid "secondary clock"
 msgstr "Sekundärer Zeitgeber"
 
-#: gtk2_ardour/ardour_ui2.cc:306
+#: gtk2_ardour/ardour_ui2.cc:307
 msgid ""
 "When active, something is soloed.\n"
 "Click to de-solo everything"
@@ -889,7 +891,7 @@ msgstr ""
 "Wird aktiv, wenn eine Spur Solo läuft.\n"
 "Schaltet bei Klick Solo aus."
 
-#: gtk2_ardour/ardour_ui2.cc:307
+#: gtk2_ardour/ardour_ui2.cc:308
 msgid ""
 "When active, auditioning is taking place\n"
 "Click to stop the audition"
@@ -897,29 +899,29 @@ msgstr ""
 "Wird beim Vorhören aktiv.\n"
 "Klicken stoppt das Vorhören."
 
-#: gtk2_ardour/ardour_ui2.cc:335
-#: gtk2_ardour/ardour_ui2.cc:777
-#: gtk2_ardour/ardour_ui2.cc:833
-#: gtk2_ardour/ardour_ui_options.cc:918
+#: gtk2_ardour/ardour_ui2.cc:336
+#: gtk2_ardour/ardour_ui2.cc:775
+#: gtk2_ardour/ardour_ui2.cc:831
+#: gtk2_ardour/ardour_ui_options.cc:910
 msgid "sprung"
 msgstr "Feder"
 
-#: gtk2_ardour/ardour_ui2.cc:336
-#: gtk2_ardour/ardour_ui2.cc:779
-#: gtk2_ardour/ardour_ui_options.cc:929
+#: gtk2_ardour/ardour_ui2.cc:337
+#: gtk2_ardour/ardour_ui2.cc:777
+#: gtk2_ardour/ardour_ui_options.cc:921
 msgid "wheel"
 msgstr "Drehrad"
 
-#: gtk2_ardour/ardour_ui2.cc:542
+#: gtk2_ardour/ardour_ui2.cc:545
 msgid "Maximum speed"
 msgstr "Max. Geschwindigkeit"
 
-#: gtk2_ardour/ardour_ui2.cc:789
-#: gtk2_ardour/ardour_ui2.cc:812
+#: gtk2_ardour/ardour_ui2.cc:787
+#: gtk2_ardour/ardour_ui2.cc:810
 msgid "stop"
 msgstr "Stop"
 
-#: gtk2_ardour/ardour_ui2.cc:831
+#: gtk2_ardour/ardour_ui2.cc:829
 msgid "-0.55"
 msgstr "-0.55"
 
@@ -927,619 +929,619 @@ msgstr "-0.55"
 msgid "Ardour key bindings file not found at \"%1\" or contains errors."
 msgstr "Konnte die Datei mit den Tastaturzuweisungen nicht an der Stelle \"%1\" finden, oder sie ist fehlerhaft."
 
-#: gtk2_ardour/ardour_ui_dialogs.cc:164
-#: gtk2_ardour/playlist_selector.cc:68
+#: gtk2_ardour/ardour_ui_dialogs.cc:165
+#: gtk2_ardour/playlist_selector.cc:73
 msgid "close"
 msgstr "Schließen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:77
+#: gtk2_ardour/ardour_ui_ed.cc:81
 msgid "Session"
 msgstr "Projekt"
 
-#: gtk2_ardour/ardour_ui_ed.cc:78
-#: gtk2_ardour/ardour_ui_ed.cc:139
-#: gtk2_ardour/editor.cc:1619
-#: gtk2_ardour/export_dialog.cc:346
-#: gtk2_ardour/export_dialog.cc:1055
-#: gtk2_ardour/export_dialog.cc:1059
+#: gtk2_ardour/ardour_ui_ed.cc:82
+#: gtk2_ardour/ardour_ui_ed.cc:143
+#: gtk2_ardour/editor.cc:1625
+#: gtk2_ardour/export_dialog.cc:125
+#: gtk2_ardour/export_dialog.cc:352
+#: gtk2_ardour/export_dialog.cc:1061
+#: gtk2_ardour/export_dialog.cc:1065
 msgid "Export"
 msgstr "Exportieren"
 
-#: gtk2_ardour/ardour_ui_ed.cc:79
+#: gtk2_ardour/ardour_ui_ed.cc:83
 msgid "Cleanup"
 msgstr "Aufräumen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:80
-#: gtk2_ardour/option_editor.cc:126
+#: gtk2_ardour/ardour_ui_ed.cc:84
+#: gtk2_ardour/option_editor.cc:130
 msgid "Sync"
 msgstr "Sync"
 
-#: gtk2_ardour/ardour_ui_ed.cc:81
-#: gtk2_ardour/ardour_ui_ed.cc:82
+#: gtk2_ardour/ardour_ui_ed.cc:85
+#: gtk2_ardour/ardour_ui_ed.cc:86
 msgid "Options"
 msgstr "Optionen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:83
+#: gtk2_ardour/ardour_ui_ed.cc:87
 msgid "Help"
 msgstr "Hilfe"
 
-#: gtk2_ardour/ardour_ui_ed.cc:84
+#: gtk2_ardour/ardour_ui_ed.cc:88
 msgid "KeyMouse Actions"
 msgstr "Tastatur/Maus-Befehle"
 
-#: gtk2_ardour/ardour_ui_ed.cc:85
+#: gtk2_ardour/ardour_ui_ed.cc:89
 msgid "Audio File Format"
 msgstr "Audio-Dateiformat"
 
-#: gtk2_ardour/ardour_ui_ed.cc:86
+#: gtk2_ardour/ardour_ui_ed.cc:90
 msgid "Header"
 msgstr "Header"
 
-#: gtk2_ardour/ardour_ui_ed.cc:87
+#: gtk2_ardour/ardour_ui_ed.cc:91
 msgid "Data"
 msgstr "Datenformat"
 
-#: gtk2_ardour/ardour_ui_ed.cc:88
+#: gtk2_ardour/ardour_ui_ed.cc:92
 msgid "Control Surfaces"
-msgstr "Eingabegeräte"
+msgstr "Eingabegeräte / Controller"
 
-#: gtk2_ardour/ardour_ui_ed.cc:89
+#: gtk2_ardour/ardour_ui_ed.cc:93
 msgid "Metering"
 msgstr "Pegelanzeige"
 
-#: gtk2_ardour/ardour_ui_ed.cc:90
+#: gtk2_ardour/ardour_ui_ed.cc:94
 msgid "Fall off rate"
 msgstr "Abfall der Pegelanzeige"
 
-#: gtk2_ardour/ardour_ui_ed.cc:91
+#: gtk2_ardour/ardour_ui_ed.cc:95
 msgid "Hold Time"
 msgstr "Pegelanzeige halten"
 
-#: gtk2_ardour/ardour_ui_ed.cc:95
+#: gtk2_ardour/ardour_ui_ed.cc:99
 #: gtk2_ardour/route_time_axis.cc:1308
-#: gtk2_ardour/new_session_dialog.cc:611
+#: gtk2_ardour/new_session_dialog.cc:619
 msgid "New"
 msgstr "Neu"
 
-#: gtk2_ardour/ardour_ui_ed.cc:97
-#: gtk2_ardour/new_session_dialog.cc:598
+#: gtk2_ardour/ardour_ui_ed.cc:101
+#: gtk2_ardour/new_session_dialog.cc:606
 msgid "Open"
 msgstr "Öffnen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:98
+#: gtk2_ardour/ardour_ui_ed.cc:102
 msgid "Recent"
 msgstr "Zuletzt verwendet..."
 
-#: gtk2_ardour/ardour_ui_ed.cc:99
+#: gtk2_ardour/ardour_ui_ed.cc:103
 #: gtk2_ardour/io_selector.cc:59
 #: gtk2_ardour/io_selector.cc:747
 #: gtk2_ardour/connection_editor.cc:58
 msgid "Close"
 msgstr "Schließen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:102
-#: gtk2_ardour/route_params_ui.cc:508
+#: gtk2_ardour/ardour_ui_ed.cc:106
+#: gtk2_ardour/route_params_ui.cc:513
 msgid "Add Track/Bus"
 msgstr "Spur/Bus hinzufügen..."
 
-#: gtk2_ardour/ardour_ui_ed.cc:114
+#: gtk2_ardour/ardour_ui_ed.cc:118
 msgid "Connect"
 msgstr "Verbinden"
 
-#: gtk2_ardour/ardour_ui_ed.cc:122
+#: gtk2_ardour/ardour_ui_ed.cc:126
 msgid "Snapshot"
-msgstr "Schnappschuss"
+msgstr "Schnappschuss..."
 
-#: gtk2_ardour/ardour_ui_ed.cc:125
+#: gtk2_ardour/ardour_ui_ed.cc:129
 msgid "Save Template..."
 msgstr "Als Vorlage Speichern..."
 
-#: gtk2_ardour/ardour_ui_ed.cc:128
+#: gtk2_ardour/ardour_ui_ed.cc:132
 msgid "Export session to audiofile..."
 msgstr "Exportiere Projekt als Audio-Datei..."
 
-#: gtk2_ardour/ardour_ui_ed.cc:131
+#: gtk2_ardour/ardour_ui_ed.cc:135
 msgid "Export selection to audiofile..."
 msgstr "Exportiere Auswahl als Audio-Datei..."
 
-#: gtk2_ardour/ardour_ui_ed.cc:135
+#: gtk2_ardour/ardour_ui_ed.cc:139
 msgid "Export range markers to audiofile..."
 msgstr "Exportiere Bereich als Audio-Datei..."
 
-#: gtk2_ardour/ardour_ui_ed.cc:142
+#: gtk2_ardour/ardour_ui_ed.cc:146
 msgid "Cleanup unused sources"
 msgstr "Nicht benutzte Dateien entfernen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:144
+#: gtk2_ardour/ardour_ui_ed.cc:148
 msgid "Flush wastebasket"
 msgstr "Müll leeren"
 
-#: gtk2_ardour/ardour_ui_ed.cc:150
+#: gtk2_ardour/ardour_ui_ed.cc:154
 msgid "JACK"
 msgstr "JACK"
 
-#: gtk2_ardour/ardour_ui_ed.cc:151
+#: gtk2_ardour/ardour_ui_ed.cc:155
 msgid "Latency"
 msgstr "Latenz"
 
-#: gtk2_ardour/ardour_ui_ed.cc:153
+#: gtk2_ardour/ardour_ui_ed.cc:157
 msgid "Reconnect"
 msgstr "Neu Verbinden"
 
-#: gtk2_ardour/ardour_ui_ed.cc:156
+#: gtk2_ardour/ardour_ui_ed.cc:160
 #: gtk2_ardour/mixer_strip.cc:510
 #: gtk2_ardour/mixer_strip.cc:572
 msgid "Disconnect"
 msgstr "Trennen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:183
+#: gtk2_ardour/ardour_ui_ed.cc:187
 msgid "Windows"
 msgstr "Fenster"
 
-#: gtk2_ardour/ardour_ui_ed.cc:184
+#: gtk2_ardour/ardour_ui_ed.cc:188
 msgid "Quit"
 msgstr "Beenden"
 
-#: gtk2_ardour/ardour_ui_ed.cc:188
+#: gtk2_ardour/ardour_ui_ed.cc:192
 msgid "Maximise Editor Space"
 msgstr "Editor Maximieren"
 
-#: gtk2_ardour/ardour_ui_ed.cc:190
+#: gtk2_ardour/ardour_ui_ed.cc:194
 msgid "Show Editor"
 msgstr "Editor anzeigen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:191
+#: gtk2_ardour/ardour_ui_ed.cc:195
 msgid "Show Mixer"
 msgstr "Mixer anzeigen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:192
+#: gtk2_ardour/ardour_ui_ed.cc:196
+#: gtk2_ardour/option_editor.cc:103
 msgid "Options Editor"
 msgstr "Einstellungen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:193
+#: gtk2_ardour/ardour_ui_ed.cc:197
+#: gtk2_ardour/route_params_ui.cc:143
+#: gtk2_ardour/route_params_ui.cc:659
 msgid "Track/Bus Inspector"
 msgstr "Verbindungen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:195
+#: gtk2_ardour/ardour_ui_ed.cc:199
 #: gtk2_ardour/connection_editor.cc:146
 #: gtk2_ardour/connection_editor.cc:147
 msgid "Connections"
 msgstr "Verbindungen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:197
+#: gtk2_ardour/ardour_ui_ed.cc:201
+#: gtk2_ardour/location_ui.cc:577
 msgid "Locations"
 msgstr "Positionen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:199
+#: gtk2_ardour/ardour_ui_ed.cc:203
 msgid "Big Clock"
 msgstr "Große Zeitanzeige"
 
-#: gtk2_ardour/ardour_ui_ed.cc:201
+#: gtk2_ardour/ardour_ui_ed.cc:205
 msgid "About"
 msgstr "Über ardour..."
 
-#: gtk2_ardour/ardour_ui_ed.cc:202
+#: gtk2_ardour/ardour_ui_ed.cc:206
 msgid "Colors"
 msgstr "Farben"
 
-#: gtk2_ardour/ardour_ui_ed.cc:204
+#: gtk2_ardour/ardour_ui_ed.cc:208
 msgid "Add Audio Track"
 msgstr "Audiospur hinzufügen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:206
+#: gtk2_ardour/ardour_ui_ed.cc:210
 msgid "Add Audio Bus"
 msgstr "Audio-Bus hinzufügen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:208
+#: gtk2_ardour/ardour_ui_ed.cc:212
 msgid "Save"
 msgstr "Speichern"
 
-#: gtk2_ardour/ardour_ui_ed.cc:210
+#: gtk2_ardour/ardour_ui_ed.cc:214
 #: gtk2_ardour/editor_actions.cc:258
 msgid "Remove Last Capture"
 msgstr "Letzte Aufnahme entfernen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:217
+#: gtk2_ardour/ardour_ui_ed.cc:221
 msgid "Transport"
 msgstr "Transport"
 
-#: gtk2_ardour/ardour_ui_ed.cc:223
+#: gtk2_ardour/ardour_ui_ed.cc:227
 #: gtk2_ardour/sfdb_ui.cc:62
 msgid "Stop"
 msgstr "Stop"
 
-#: gtk2_ardour/ardour_ui_ed.cc:226
+#: gtk2_ardour/ardour_ui_ed.cc:230
 msgid "Roll"
 msgstr "Wiedergabe"
 
-#: gtk2_ardour/ardour_ui_ed.cc:230
+#: gtk2_ardour/ardour_ui_ed.cc:234
 msgid "Start/Stop"
 msgstr "Start/Stop"
 
-#: gtk2_ardour/ardour_ui_ed.cc:233
+#: gtk2_ardour/ardour_ui_ed.cc:237
 msgid "Stop + Forget Capture"
 msgstr "Stop + Aufnahme verwerfen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:243
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:247
 msgid "Transition To Roll"
-msgstr "Traditionell"
+msgstr "Übergang zu Roll"
 
-#: gtk2_ardour/ardour_ui_ed.cc:247
+#: gtk2_ardour/ardour_ui_ed.cc:251
 msgid "Transition To Reverse"
-msgstr ""
+msgstr "Übergang zu Rückwärts"
 
-#: gtk2_ardour/ardour_ui_ed.cc:252
+#: gtk2_ardour/ardour_ui_ed.cc:256
 msgid "Play Loop Range"
 msgstr "Schleife wiedergeben"
 
-#: gtk2_ardour/ardour_ui_ed.cc:255
+#: gtk2_ardour/ardour_ui_ed.cc:259
 msgid "Play Selection"
 msgstr "Auswahl wiedergeben"
 
-#: gtk2_ardour/ardour_ui_ed.cc:259
+#: gtk2_ardour/ardour_ui_ed.cc:263
 msgid "Enable Record"
 msgstr "Aufnahme aktivieren"
 
-#: gtk2_ardour/ardour_ui_ed.cc:262
+#: gtk2_ardour/ardour_ui_ed.cc:266
 msgid "Rewind"
 msgstr "Rückwärts"
 
-#: gtk2_ardour/ardour_ui_ed.cc:265
+#: gtk2_ardour/ardour_ui_ed.cc:269
 msgid "Rewind (Slow)"
 msgstr "Rückwärts (langsam)"
 
-#: gtk2_ardour/ardour_ui_ed.cc:268
+#: gtk2_ardour/ardour_ui_ed.cc:272
 msgid "Rewind (Fast)"
 msgstr "Rückwärts (schnell)"
 
-#: gtk2_ardour/ardour_ui_ed.cc:271
+#: gtk2_ardour/ardour_ui_ed.cc:275
 msgid "Forward"
 msgstr "Vorwärts"
 
-#: gtk2_ardour/ardour_ui_ed.cc:274
+#: gtk2_ardour/ardour_ui_ed.cc:278
 msgid "Forward (Slow)"
 msgstr "Vorwärts (langsam)"
 
-#: gtk2_ardour/ardour_ui_ed.cc:277
+#: gtk2_ardour/ardour_ui_ed.cc:281
 msgid "Forward (Fast)"
 msgstr "Vorwärts (schnell)"
 
-#: gtk2_ardour/ardour_ui_ed.cc:280
+#: gtk2_ardour/ardour_ui_ed.cc:284
 msgid "Goto Zero"
 msgstr "Zum Nullpunkt springen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:283
+#: gtk2_ardour/ardour_ui_ed.cc:287
 msgid "Goto Start"
 msgstr "Zum Anfang springen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:286
+#: gtk2_ardour/ardour_ui_ed.cc:290
 msgid "Goto End"
 msgstr "Zum Ende Springen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:309
+#: gtk2_ardour/ardour_ui_ed.cc:313
 msgid "Sync startup to video"
 msgstr "Mit Video synchronisieren"
 
-#: gtk2_ardour/ardour_ui_ed.cc:310
+#: gtk2_ardour/ardour_ui_ed.cc:314
 msgid "Time master"
 msgstr "Time Master"
 
-#: gtk2_ardour/ardour_ui_ed.cc:313
+#: gtk2_ardour/ardour_ui_ed.cc:317
 msgid "Toggle Record Enable Track1"
 msgstr "Aufnahme aktivieren für Spur 1"
 
-#: gtk2_ardour/ardour_ui_ed.cc:315
+#: gtk2_ardour/ardour_ui_ed.cc:319
 msgid "Toggle Record Enable Track2"
 msgstr "Aufnahme aktivieren für Spur 2"
 
-#: gtk2_ardour/ardour_ui_ed.cc:317
+#: gtk2_ardour/ardour_ui_ed.cc:321
 msgid "Toggle Record Enable Track3"
 msgstr "Aufnahme aktivieren für Spur 3"
 
-#: gtk2_ardour/ardour_ui_ed.cc:319
+#: gtk2_ardour/ardour_ui_ed.cc:323
 msgid "Toggle Record Enable Track4"
 msgstr "Aufnahme aktivieren für Spur 4"
 
-#: gtk2_ardour/ardour_ui_ed.cc:321
+#: gtk2_ardour/ardour_ui_ed.cc:325
 msgid "Toggle Record Enable Track5"
 msgstr "Aufnahme aktivieren für Spur 5"
 
-#: gtk2_ardour/ardour_ui_ed.cc:323
+#: gtk2_ardour/ardour_ui_ed.cc:327
 msgid "Toggle Record Enable Track6"
 msgstr "Aufnahme aktivieren für Spur 6"
 
-#: gtk2_ardour/ardour_ui_ed.cc:325
+#: gtk2_ardour/ardour_ui_ed.cc:329
 msgid "Toggle Record Enable Track7"
 msgstr "Aufnahme aktivieren für Spur 7"
 
-#: gtk2_ardour/ardour_ui_ed.cc:327
+#: gtk2_ardour/ardour_ui_ed.cc:331
 msgid "Toggle Record Enable Track8"
 msgstr "Aufnahme aktivieren für Spur 8"
 
-#: gtk2_ardour/ardour_ui_ed.cc:329
+#: gtk2_ardour/ardour_ui_ed.cc:333
 msgid "Toggle Record Enable Track9"
 msgstr "Aufnahme aktivieren für Spur 9"
 
-#: gtk2_ardour/ardour_ui_ed.cc:331
+#: gtk2_ardour/ardour_ui_ed.cc:335
 msgid "Toggle Record Enable Track10"
 msgstr "Aufnahme aktivieren für Spur 10"
 
-#: gtk2_ardour/ardour_ui_ed.cc:333
+#: gtk2_ardour/ardour_ui_ed.cc:337
 msgid "Toggle Record Enable Track11"
 msgstr "Aufnahme aktivieren für Spur 11"
 
-#: gtk2_ardour/ardour_ui_ed.cc:335
+#: gtk2_ardour/ardour_ui_ed.cc:339
 msgid "Toggle Record Enable Track12"
 msgstr "Aufnahme aktivieren für Spur 12"
 
-#: gtk2_ardour/ardour_ui_ed.cc:337
+#: gtk2_ardour/ardour_ui_ed.cc:341
 msgid "Toggle Record Enable Track13"
 msgstr "Aufnahme aktivieren für Spur 13"
 
-#: gtk2_ardour/ardour_ui_ed.cc:339
+#: gtk2_ardour/ardour_ui_ed.cc:343
 msgid "Toggle Record Enable Track14"
 msgstr "Aufnahme aktivieren für Spur 14"
 
-#: gtk2_ardour/ardour_ui_ed.cc:341
+#: gtk2_ardour/ardour_ui_ed.cc:345
 msgid "Toggle Record Enable Track15"
 msgstr "Aufnahme aktivieren für Spur 15"
 
-#: gtk2_ardour/ardour_ui_ed.cc:343
+#: gtk2_ardour/ardour_ui_ed.cc:347
 msgid "Toggle Record Enable Track16"
 msgstr "Aufnahme aktivieren für Spur 16"
 
-#: gtk2_ardour/ardour_ui_ed.cc:345
+#: gtk2_ardour/ardour_ui_ed.cc:349
 msgid "Toggle Record Enable Track17"
 msgstr "Aufnahme aktivieren für Spur 17"
 
-#: gtk2_ardour/ardour_ui_ed.cc:347
+#: gtk2_ardour/ardour_ui_ed.cc:351
 msgid "Toggle Record Enable Track18"
 msgstr "Aufnahme aktivieren für Spur 18"
 
-#: gtk2_ardour/ardour_ui_ed.cc:349
+#: gtk2_ardour/ardour_ui_ed.cc:353
 msgid "Toggle Record Enable Track19"
 msgstr "Aufnahme aktivieren für Spur 19"
 
-#: gtk2_ardour/ardour_ui_ed.cc:351
+#: gtk2_ardour/ardour_ui_ed.cc:355
 msgid "Toggle Record Enable Track20"
 msgstr "Aufnahme aktivieren für Spur 20"
 
-#: gtk2_ardour/ardour_ui_ed.cc:353
+#: gtk2_ardour/ardour_ui_ed.cc:357
 msgid "Toggle Record Enable Track21"
 msgstr "Aufnahme aktivieren für Spur 21"
 
-#: gtk2_ardour/ardour_ui_ed.cc:355
+#: gtk2_ardour/ardour_ui_ed.cc:359
 msgid "Toggle Record Enable Track22"
 msgstr "Aufnahme aktivieren für Spur 22"
 
-#: gtk2_ardour/ardour_ui_ed.cc:357
+#: gtk2_ardour/ardour_ui_ed.cc:361
 msgid "Toggle Record Enable Track23"
 msgstr "Aufnahme aktivieren für Spur 23"
 
-#: gtk2_ardour/ardour_ui_ed.cc:359
+#: gtk2_ardour/ardour_ui_ed.cc:363
 msgid "Toggle Record Enable Track24"
 msgstr "Aufnahme aktivieren für Spur 24"
 
-#: gtk2_ardour/ardour_ui_ed.cc:361
+#: gtk2_ardour/ardour_ui_ed.cc:365
 msgid "Toggle Record Enable Track25"
 msgstr "Aufnahme aktivieren für Spur 25"
 
-#: gtk2_ardour/ardour_ui_ed.cc:363
+#: gtk2_ardour/ardour_ui_ed.cc:367
 msgid "Toggle Record Enable Track26"
 msgstr "Aufnahme aktivieren für Spur 26"
 
-#: gtk2_ardour/ardour_ui_ed.cc:365
+#: gtk2_ardour/ardour_ui_ed.cc:369
 msgid "Toggle Record Enable Track27"
 msgstr "Aufnahme aktivieren für Spur 27"
 
-#: gtk2_ardour/ardour_ui_ed.cc:367
+#: gtk2_ardour/ardour_ui_ed.cc:371
 msgid "Toggle Record Enable Track28"
 msgstr "Aufnahme aktivieren für Spur 28"
 
-#: gtk2_ardour/ardour_ui_ed.cc:369
+#: gtk2_ardour/ardour_ui_ed.cc:373
 msgid "Toggle Record Enable Track29"
 msgstr "Aufnahme aktivieren für Spur 29"
 
-#: gtk2_ardour/ardour_ui_ed.cc:371
+#: gtk2_ardour/ardour_ui_ed.cc:375
 msgid "Toggle Record Enable Track30"
 msgstr "Aufnahme aktivieren für Spur 30"
 
-#: gtk2_ardour/ardour_ui_ed.cc:373
+#: gtk2_ardour/ardour_ui_ed.cc:377
 msgid "Toggle Record Enable Track31"
 msgstr "Aufnahme aktivieren für Spur 31"
 
-#: gtk2_ardour/ardour_ui_ed.cc:375
+#: gtk2_ardour/ardour_ui_ed.cc:379
 msgid "Toggle Record Enable Track32"
 msgstr "Aufnahme aktivieren für Spur 32"
 
-#: gtk2_ardour/ardour_ui_ed.cc:380
+#: gtk2_ardour/ardour_ui_ed.cc:384
 msgid "Percentage"
 msgstr "Prozent"
 
-#: gtk2_ardour/ardour_ui_ed.cc:381
+#: gtk2_ardour/ardour_ui_ed.cc:385
 msgid "Semitones"
 msgstr "Halbtöne"
 
-#: gtk2_ardour/ardour_ui_ed.cc:385
+#: gtk2_ardour/ardour_ui_ed.cc:389
 msgid "Send MTC"
 msgstr "MTC senden"
 
-#: gtk2_ardour/ardour_ui_ed.cc:387
+#: gtk2_ardour/ardour_ui_ed.cc:391
 msgid "Send MMC"
 msgstr "MMC senden"
 
-#: gtk2_ardour/ardour_ui_ed.cc:389
+#: gtk2_ardour/ardour_ui_ed.cc:393
 msgid "Use MMC"
 msgstr "Benutze MMC"
 
-#: gtk2_ardour/ardour_ui_ed.cc:391
+#: gtk2_ardour/ardour_ui_ed.cc:395
 msgid "Send MIDI feedback"
 msgstr "MIDI Feedback senden"
 
-#: gtk2_ardour/ardour_ui_ed.cc:393
-msgid "Use MIDI control"
-msgstr "Benutze MIDI-Steuerung"
-
-#: gtk2_ardour/ardour_ui_ed.cc:396
+#: gtk2_ardour/ardour_ui_ed.cc:398
 msgid "Use OSC"
 msgstr "Aktiviere OSC"
 
-#: gtk2_ardour/ardour_ui_ed.cc:401
+#: gtk2_ardour/ardour_ui_ed.cc:403
 msgid "Stop plugins with transport"
 msgstr "Plugins mit Transport stoppen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:402
+#: gtk2_ardour/ardour_ui_ed.cc:404
 msgid "Verify remove last capture"
 msgstr "Verwerfen der letzten Aufnahme bestätigen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:403
+#: gtk2_ardour/ardour_ui_ed.cc:405
 msgid "Stop recording on xrun"
 msgstr "Aufnahme bei XRUN stoppen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:404
+#: gtk2_ardour/ardour_ui_ed.cc:406
 msgid "Stop transport at session end"
 msgstr "Transport am Ende des Projekts stoppen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:405
+#: gtk2_ardour/ardour_ui_ed.cc:407
 msgid "-12dB gain reduce ffwd/rewind"
 msgstr "Beim Spulen Pegel um -12dB absenken"
 
-#: gtk2_ardour/ardour_ui_ed.cc:406
+#: gtk2_ardour/ardour_ui_ed.cc:408
 msgid "Rec-enable stays engaged at stop"
 msgstr "Aufnahmestatus bleibt nach Stop erhalten"
 
-#: gtk2_ardour/ardour_ui_ed.cc:407
+#: gtk2_ardour/ardour_ui_ed.cc:409
 msgid "Region equivalents overlap"
 msgstr "Region entspricht Überdeckung"
 
-#: gtk2_ardour/ardour_ui_ed.cc:409
+#: gtk2_ardour/ardour_ui_ed.cc:411
 msgid "Do not run plugins while recording"
 msgstr "Plugins während der Aufnahme daktivieren"
 
-#: gtk2_ardour/ardour_ui_ed.cc:412
+#: gtk2_ardour/ardour_ui_ed.cc:414
 msgid "Latched solo"
 msgstr "Latch Solo"
 
-#: gtk2_ardour/ardour_ui_ed.cc:414
+#: gtk2_ardour/ardour_ui_ed.cc:416
 msgid "Show solo muting"
 msgstr "Solo als Mute anzeigen"
 
-#: gtk2_ardour/ardour_ui_ed.cc:422
-#: gtk2_ardour/ardour_ui_ed.cc:430
-#: gtk2_ardour/audio_clock.cc:1838
+#: gtk2_ardour/ardour_ui_ed.cc:424
+#: gtk2_ardour/ardour_ui_ed.cc:432
+#: gtk2_ardour/audio_clock.cc:1805
 msgid "Off"
 msgstr "Aus"
 
-#: gtk2_ardour/ardour_ui_ed.cc:423
-#: gtk2_ardour/editor.cc:1240
-#: gtk2_ardour/editor.cc:1257
+#: gtk2_ardour/ardour_ui_ed.cc:425
+#: gtk2_ardour/editor.cc:1246
+#: gtk2_ardour/editor.cc:1263
 msgid "Slowest"
 msgstr "Sehr langsam"
 
-#: gtk2_ardour/ardour_ui_ed.cc:424
-#: gtk2_ardour/editor.cc:1241
-#: gtk2_ardour/editor.cc:1258
+#: gtk2_ardour/ardour_ui_ed.cc:426
+#: gtk2_ardour/editor.cc:1247
+#: gtk2_ardour/editor.cc:1264
 msgid "Slow"
 msgstr "Langsam"
 
-#: gtk2_ardour/ardour_ui_ed.cc:425
-#: gtk2_ardour/ardour_ui_ed.cc:432
+#: gtk2_ardour/ardour_ui_ed.cc:427
+#: gtk2_ardour/ardour_ui_ed.cc:434
 msgid "Medium"
 msgstr "Mittel"
 
-#: gtk2_ardour/ardour_ui_ed.cc:426
-#: gtk2_ardour/editor.cc:1242
-#: gtk2_ardour/editor.cc:1259
+#: gtk2_ardour/ardour_ui_ed.cc:428
+#: gtk2_ardour/editor.cc:1248
+#: gtk2_ardour/editor.cc:1265
 msgid "Fast"
 msgstr "Schnell"
 
-#: gtk2_ardour/ardour_ui_ed.cc:427
+#: gtk2_ardour/ardour_ui_ed.cc:429
 msgid "Faster"
 msgstr "Schneller"
 
-#: gtk2_ardour/ardour_ui_ed.cc:428
-#: gtk2_ardour/editor.cc:1243
-#: gtk2_ardour/editor.cc:1260
+#: gtk2_ardour/ardour_ui_ed.cc:430
+#: gtk2_ardour/editor.cc:1249
+#: gtk2_ardour/editor.cc:1266
 msgid "Fastest"
 msgstr "Schnellstmöglich"
 
-#: gtk2_ardour/ardour_ui_ed.cc:431
+#: gtk2_ardour/ardour_ui_ed.cc:433
 #: gtk2_ardour/editor_actions.cc:58
 msgid "Short"
 msgstr "Kurz"
 
-#: gtk2_ardour/ardour_ui_ed.cc:433
+#: gtk2_ardour/ardour_ui_ed.cc:435
 msgid "Long"
 msgstr "Lange"
 
-#: gtk2_ardour/ardour_ui_ed.cc:451
+#: gtk2_ardour/ardour_ui_ed.cc:453
 msgid "Hardware monitoring"
 msgstr "Hardware Monitoring"
 
-#: gtk2_ardour/ardour_ui_ed.cc:452
+#: gtk2_ardour/ardour_ui_ed.cc:454
 msgid "Software monitoring"
 msgstr "Software Monitoring"
 
-#: gtk2_ardour/ardour_ui_ed.cc:453
+#: gtk2_ardour/ardour_ui_ed.cc:455
 msgid "External monitoring"
 msgstr "Externes Monitoring"
 
-#: gtk2_ardour/ardour_ui_ed.cc:457
+#: gtk2_ardour/ardour_ui_ed.cc:459
 msgid "Solo in-place"
 msgstr "Solo-In-Place"
 
-#: gtk2_ardour/ardour_ui_ed.cc:459
+#: gtk2_ardour/ardour_ui_ed.cc:461
 msgid "Solo via bus"
 msgstr "Solo über Bus"
 
-#: gtk2_ardour/ardour_ui_ed.cc:464
+#: gtk2_ardour/ardour_ui_ed.cc:466
 msgid "Auto-connect inputs to physical inputs"
 msgstr "Eingänge automatisch mit Soundkarteneingängen verbinden"
 
-#: gtk2_ardour/ardour_ui_ed.cc:466
+#: gtk2_ardour/ardour_ui_ed.cc:468
 msgid "Manually connect inputs"
 msgstr "Eingänge manuell verbinden"
 
-#: gtk2_ardour/ardour_ui_ed.cc:471
+#: gtk2_ardour/ardour_ui_ed.cc:473
 msgid "Auto-connect outputs to physical outs"
 msgstr "Ausgänge automatisch mit Soundkartenausgängen verbinden"
 
-#: gtk2_ardour/ardour_ui_ed.cc:473
+#: gtk2_ardour/ardour_ui_ed.cc:475
 msgid "Auto-connect outputs to master bus"
 msgstr "Ausgänge automatisch mit Master-Bus verbinden"
 
-#: gtk2_ardour/ardour_ui_ed.cc:475
+#: gtk2_ardour/ardour_ui_ed.cc:477
 msgid "Manually connect outputs"
 msgstr "Ausgänge manuell verbinden"
 
-#: gtk2_ardour/ardour_ui_ed.cc:480
+#: gtk2_ardour/ardour_ui_ed.cc:482
 msgid "Remote ID assigned by User"
 msgstr "Fernsteuerungs-ID vom Benutzer festgelegt"
 
-#: gtk2_ardour/ardour_ui_ed.cc:482
+#: gtk2_ardour/ardour_ui_ed.cc:484
 msgid "Remote ID follows order of Mixer"
 msgstr "Fernsteuerungs-ID aus Reihenfolge im Mixer"
 
-#: gtk2_ardour/ardour_ui_ed.cc:484
+#: gtk2_ardour/ardour_ui_ed.cc:486
 msgid "Remote ID follows order of Editor"
 msgstr "Fernsteuerungs-ID aus Reihenfolge im Editor"
 
-#: gtk2_ardour/ardour_ui_ed.cc:633
+#: gtk2_ardour/ardour_ui_ed.cc:635
 #: gtk2_ardour/ladspa_pluginui.cc:168
 msgid "Controls"
 msgstr "Steuerelemente"
 
-#: gtk2_ardour/ardour_ui_ed.cc:637
+#: gtk2_ardour/ardour_ui_ed.cc:639
 msgid "Feedback"
 msgstr "Feedback"
 
-#: gtk2_ardour/ardour_ui_ed.cc:717
-msgid "ardour: clock"
-msgstr "ardour: Zeitanzeige"
+#: gtk2_ardour/ardour_ui_ed.cc:723
+msgid "Clock"
+msgstr "Clock"
 
-#: gtk2_ardour/ardour_ui_options.cc:112
-#: gtk2_ardour/ardour_ui_options.cc:139
+#: gtk2_ardour/ardour_ui_options.cc:106
+#: gtk2_ardour/ardour_ui_options.cc:133
 #: gtk2_ardour/editor_actions.cc:725
 #: gtk2_ardour/editor_actions.cc:953
 #: gtk2_ardour/editor_actions.cc:966
@@ -1549,50 +1551,50 @@ msgstr "ardour: Zeitanzeige"
 msgid "programming error: %1"
 msgstr "Programmierfehler: %1"
 
-#: gtk2_ardour/ardour_ui_options.cc:218
+#: gtk2_ardour/ardour_ui_options.cc:212
 msgid "programming error: unknown solo model in ARDOUR_UI::set_solo_model: %1"
 msgstr "Programmierfehler: unbekannte Solo-Einstellung in ARDOUR_UI::set_solo_model: %1"
 
-#: gtk2_ardour/ardour_ui_options.cc:251
+#: gtk2_ardour/ardour_ui_options.cc:245
 msgid "programming error: unknown remote model in ARDOUR_UI::set_remote_model: %1"
 msgstr "Programmierfehler: unbekanntes Fernsteuerungsmodell in ARDOUR_UI::set_remote_model: %1"
 
-#: gtk2_ardour/ardour_ui_options.cc:285
+#: gtk2_ardour/ardour_ui_options.cc:279
 msgid "programming error: unknown monitor model in ARDOUR_UI::set_monitor_model: %1"
 msgstr "Programmierfehler: unbekannte Monitoring-Einstellung in ARDOUR_UI::set_monitor_model: %1"
 
-#: gtk2_ardour/ardour_ui_options.cc:577
+#: gtk2_ardour/ardour_ui_options.cc:571
 msgid "programming error: unknown file header format passed to ARDOUR_UI::map_file_data_format: %1"
 msgstr "Programmierfehler: unbekanntes Dateiheaderformat übergeben an ARDOUR_UI::map_file_data_format: %1"
 
-#: gtk2_ardour/ardour_ui_options.cc:609
+#: gtk2_ardour/ardour_ui_options.cc:603
 msgid "programming error: unknown file data format passed to ARDOUR_UI::map_file_data_format: %1"
 msgstr "Programmierfehler: unbekanntes Dateiformat übergeben an ARDOUR_UI::map_file_data_format: %1"
 
-#: gtk2_ardour/ardour_ui_options.cc:940
+#: gtk2_ardour/ardour_ui_options.cc:932
 msgid "ST"
 msgstr "HT"
 
-#: gtk2_ardour/audio_clock.cc:1834
-#: gtk2_ardour/editor.cc:178
+#: gtk2_ardour/audio_clock.cc:1801
+#: gtk2_ardour/editor.cc:181
 msgid "Timecode"
 msgstr "Timecode"
 
-#: gtk2_ardour/audio_clock.cc:1835
-#: gtk2_ardour/editor.cc:177
-#: gtk2_ardour/editor_rulers.cc:387
+#: gtk2_ardour/audio_clock.cc:1802
+#: gtk2_ardour/editor.cc:180
+#: gtk2_ardour/editor_rulers.cc:395
 msgid "Bars:Beats"
 msgstr "Takte:Schläge"
 
-#: gtk2_ardour/audio_clock.cc:1836
+#: gtk2_ardour/audio_clock.cc:1803
 msgid "Minutes:Seconds"
 msgstr "Minuten:Sekunden"
 
-#: gtk2_ardour/audio_clock.cc:1837
+#: gtk2_ardour/audio_clock.cc:1804
 msgid "Audio Frames"
 msgstr "Audio Frames"
 
-#: gtk2_ardour/audio_clock.cc:1840
+#: gtk2_ardour/audio_clock.cc:1807
 msgid "Mode"
 msgstr "Modus"
 
@@ -1644,8 +1646,8 @@ msgid "Solo"
 msgstr "Solo"
 
 #: gtk2_ardour/route_time_axis.cc:157
-#: gtk2_ardour/editor.cc:1543
-#: gtk2_ardour/editor.cc:1633
+#: gtk2_ardour/editor.cc:1549
+#: gtk2_ardour/editor.cc:1644
 #: gtk2_ardour/mixer_strip.cc:86
 #: gtk2_ardour/mixer_strip.cc:425
 #: gtk2_ardour/panner_ui.cc:404
@@ -1702,7 +1704,7 @@ msgid "Plugins"
 msgstr "Plugins"
 
 #: gtk2_ardour/route_time_axis.cc:405
-#: gtk2_ardour/automation_time_axis.cc:430
+#: gtk2_ardour/automation_time_axis.cc:431
 #: gtk2_ardour/imageframe_time_axis.cc:254
 #: gtk2_ardour/marker_time_axis.cc:210
 msgid "Height"
@@ -1741,19 +1743,20 @@ msgid "Tape mode"
 msgstr "Tape-Modus"
 
 #: gtk2_ardour/route_time_axis.cc:466
-#: gtk2_ardour/editor.cc:481
+#: gtk2_ardour/editor.cc:487
 #: gtk2_ardour/editor_actions.cc:61
 #: gtk2_ardour/mixer_strip.cc:984
-#: gtk2_ardour/mixer_ui.cc:107
+#: gtk2_ardour/mixer_ui.cc:108
 msgid "Active"
 msgstr "Aktiv"
 
 #: gtk2_ardour/route_time_axis.cc:471
-#: gtk2_ardour/editor.cc:1723
+#: gtk2_ardour/editor.cc:1746
+#: gtk2_ardour/editor.cc:3456
 #: gtk2_ardour/editor_actions.cc:328
-#: gtk2_ardour/editor_markers.cc:527
+#: gtk2_ardour/editor_markers.cc:529
 #: gtk2_ardour/imageframe_time_axis.cc:258
-#: gtk2_ardour/location_ui.cc:57
+#: gtk2_ardour/location_ui.cc:58
 #: gtk2_ardour/marker_time_axis.cc:214
 #: gtk2_ardour/mixer_strip.cc:998
 msgid "Remove"
@@ -1772,13 +1775,14 @@ msgstr "Name für Wiedergabeliste"
 
 #: gtk2_ardour/route_time_axis.cc:842
 #: gtk2_ardour/route_time_axis.cc:1305
-#: gtk2_ardour/editor_markers.cc:870
-#: gtk2_ardour/editor_mouse.cc:4795
+#: gtk2_ardour/editor.cc:3461
+#: gtk2_ardour/editor_markers.cc:875
+#: gtk2_ardour/editor_mouse.cc:4752
 #: gtk2_ardour/imageframe_time_axis.cc:247
 #: gtk2_ardour/marker_time_axis.cc:207
 #: gtk2_ardour/mixer_strip.cc:982
-#: gtk2_ardour/redirect_box.cc:822
-#: gtk2_ardour/redirect_box.cc:1148
+#: gtk2_ardour/redirect_box.cc:825
+#: gtk2_ardour/redirect_box.cc:1165
 #: gtk2_ardour/route_ui.cc:807
 #: gtk2_ardour/visual_time_axis.cc:330
 msgid "Rename"
@@ -1808,9 +1812,9 @@ msgid "Select from all ..."
 msgstr "Aus allen auswählen..."
 
 #: gtk2_ardour/route_time_axis.cc:1520
-#: gtk2_ardour/editor.cc:1265
-#: gtk2_ardour/selection.cc:658
-#: gtk2_ardour/selection.cc:697
+#: gtk2_ardour/editor.cc:1271
+#: gtk2_ardour/selection.cc:661
+#: gtk2_ardour/selection.cc:700
 msgid "programming error: "
 msgstr "Programmierfehler:"
 
@@ -1843,8 +1847,8 @@ msgid "Rectified"
 msgstr "Gleichgerichtet"
 
 #: gtk2_ardour/audio_time_axis.cc:261
-#: gtk2_ardour/editor.cc:1239
-#: gtk2_ardour/editor.cc:1256
+#: gtk2_ardour/editor.cc:1245
+#: gtk2_ardour/editor.cc:1262
 msgid "Linear"
 msgstr "Linear"
 
@@ -1878,7 +1882,7 @@ msgid "remove control point"
 msgstr "Automationspunkt entfernen"
 
 #: gtk2_ardour/automation_time_axis.cc:37
-#: gtk2_ardour/editor_ops.cc:2636
+#: gtk2_ardour/editor_ops.cc:2641
 msgid "clear"
 msgstr "Leeren"
 
@@ -1898,9 +1902,9 @@ msgstr "Spur zurücksetzen"
 msgid "hide track"
 msgstr "Diese Spur verbergen"
 
-#: gtk2_ardour/automation_time_axis.cc:187
-#: gtk2_ardour/automation_time_axis.cc:216
-#: gtk2_ardour/automation_time_axis.cc:441
+#: gtk2_ardour/automation_time_axis.cc:188
+#: gtk2_ardour/automation_time_axis.cc:217
+#: gtk2_ardour/automation_time_axis.cc:442
 #: gtk2_ardour/gain_meter.cc:159
 #: gtk2_ardour/ladspa_pluginui.cc:332
 #: gtk2_ardour/ladspa_pluginui.cc:576
@@ -1908,11 +1912,11 @@ msgstr "Diese Spur verbergen"
 msgid "Manual"
 msgstr "Manuell"
 
-#: gtk2_ardour/automation_time_axis.cc:189
-#: gtk2_ardour/automation_time_axis.cc:227
-#: gtk2_ardour/automation_time_axis.cc:445
-#: gtk2_ardour/editor.cc:1801
-#: gtk2_ardour/editor.cc:1882
+#: gtk2_ardour/automation_time_axis.cc:190
+#: gtk2_ardour/automation_time_axis.cc:228
+#: gtk2_ardour/automation_time_axis.cc:446
+#: gtk2_ardour/editor.cc:1824
+#: gtk2_ardour/editor.cc:1905
 #: gtk2_ardour/gain_meter.cc:161
 #: gtk2_ardour/ladspa_pluginui.cc:335
 #: gtk2_ardour/ladspa_pluginui.cc:578
@@ -1921,9 +1925,9 @@ msgstr "Manuell"
 msgid "Play"
 msgstr "Play"
 
-#: gtk2_ardour/automation_time_axis.cc:191
-#: gtk2_ardour/automation_time_axis.cc:238
-#: gtk2_ardour/automation_time_axis.cc:449
+#: gtk2_ardour/automation_time_axis.cc:192
+#: gtk2_ardour/automation_time_axis.cc:239
+#: gtk2_ardour/automation_time_axis.cc:450
 #: gtk2_ardour/gain_meter.cc:163
 #: gtk2_ardour/ladspa_pluginui.cc:338
 #: gtk2_ardour/ladspa_pluginui.cc:580
@@ -1931,9 +1935,9 @@ msgstr "Play"
 msgid "Write"
 msgstr "Write"
 
-#: gtk2_ardour/automation_time_axis.cc:193
-#: gtk2_ardour/automation_time_axis.cc:249
-#: gtk2_ardour/automation_time_axis.cc:453
+#: gtk2_ardour/automation_time_axis.cc:194
+#: gtk2_ardour/automation_time_axis.cc:250
+#: gtk2_ardour/automation_time_axis.cc:454
 #: gtk2_ardour/gain_meter.cc:165
 #: gtk2_ardour/ladspa_pluginui.cc:341
 #: gtk2_ardour/ladspa_pluginui.cc:582
@@ -1941,28 +1945,28 @@ msgstr "Write"
 msgid "Touch"
 msgstr "Touch"
 
-#: gtk2_ardour/automation_time_axis.cc:260
+#: gtk2_ardour/automation_time_axis.cc:261
 #: gtk2_ardour/ladspa_pluginui.cc:344
 msgid "???"
 msgstr "???"
 
-#: gtk2_ardour/automation_time_axis.cc:274
+#: gtk2_ardour/automation_time_axis.cc:275
 msgid "clear automation"
 msgstr "Automation zurücksetzen"
 
-#: gtk2_ardour/automation_time_axis.cc:432
+#: gtk2_ardour/automation_time_axis.cc:433
 #: gtk2_ardour/editor_actions.cc:326
 msgid "Hide"
 msgstr "Verbergen"
 
-#: gtk2_ardour/automation_time_axis.cc:434
+#: gtk2_ardour/automation_time_axis.cc:435
 #: gtk2_ardour/crossfade_edit.cc:78
-#: gtk2_ardour/redirect_box.cc:1140
+#: gtk2_ardour/redirect_box.cc:1157
 #: gtk2_ardour/connection_editor.cc:56
 msgid "Clear"
 msgstr "Leeren"
 
-#: gtk2_ardour/automation_time_axis.cc:457
+#: gtk2_ardour/automation_time_axis.cc:458
 msgid "State"
 msgstr "Automationssmodus"
 
@@ -2166,415 +2170,412 @@ msgid "Fade Out"
 msgstr "Fade Out"
 
 #: gtk2_ardour/crossfade_edit.cc:172
-#: gtk2_ardour/editor.cc:1618
+#: gtk2_ardour/editor.cc:1624
 #: gtk2_ardour/editor_actions.cc:324
-#: gtk2_ardour/option_editor.cc:130
+#: gtk2_ardour/option_editor.cc:134
 msgid "Audition"
 msgstr "Vorhören"
 
-#: gtk2_ardour/editor.cc:101
-#: gtk2_ardour/editor.cc:2973
+#: gtk2_ardour/editor.cc:104
+#: gtk2_ardour/editor.cc:2995
 #: gtk2_ardour/editor_actions.cc:402
-#: gtk2_ardour/export_dialog.cc:75
-#: gtk2_ardour/export_dialog.cc:89
-#: gtk2_ardour/export_dialog.cc:889
-#: gtk2_ardour/export_dialog.cc:1221
+#: gtk2_ardour/export_dialog.cc:78
+#: gtk2_ardour/export_dialog.cc:92
+#: gtk2_ardour/export_dialog.cc:895
+#: gtk2_ardour/export_dialog.cc:1227
 #: gtk2_ardour/route_ui.cc:506
 msgid "None"
 msgstr "Kein"
 
-#: gtk2_ardour/editor.cc:102
-#: gtk2_ardour/editor.cc:2961
+#: gtk2_ardour/editor.cc:105
+#: gtk2_ardour/editor.cc:2983
 msgid "CD Frames"
 msgstr "CD-Frames"
 
-#: gtk2_ardour/editor.cc:103
-#: gtk2_ardour/editor.cc:2963
+#: gtk2_ardour/editor.cc:106
+#: gtk2_ardour/editor.cc:2985
 msgid "SMPTE Frames"
 msgstr "SMPTE-Frames"
 
-#: gtk2_ardour/editor.cc:104
-#: gtk2_ardour/editor.cc:2965
+#: gtk2_ardour/editor.cc:107
+#: gtk2_ardour/editor.cc:2987
 msgid "SMPTE Seconds"
 msgstr "SMPTE-Sekunden"
 
-#: gtk2_ardour/editor.cc:105
-#: gtk2_ardour/editor.cc:2967
+#: gtk2_ardour/editor.cc:108
+#: gtk2_ardour/editor.cc:2989
 msgid "SMPTE Minutes"
 msgstr "SMPTE-Minuten"
 
-#: gtk2_ardour/editor.cc:106
-#: gtk2_ardour/editor.cc:2969
+#: gtk2_ardour/editor.cc:109
+#: gtk2_ardour/editor.cc:2991
 msgid "Seconds"
 msgstr "Sekunden"
 
-#: gtk2_ardour/editor.cc:107
-#: gtk2_ardour/editor.cc:2971
+#: gtk2_ardour/editor.cc:110
+#: gtk2_ardour/editor.cc:2993
 msgid "Minutes"
 msgstr "Minuten"
 
-#: gtk2_ardour/editor.cc:108
-#: gtk2_ardour/editor.cc:2943
+#: gtk2_ardour/editor.cc:111
+#: gtk2_ardour/editor.cc:2965
 msgid "Beats/32"
 msgstr "Schläge / 32"
 
-#: gtk2_ardour/editor.cc:109
-#: gtk2_ardour/editor.cc:2941
+#: gtk2_ardour/editor.cc:112
+#: gtk2_ardour/editor.cc:2963
 msgid "Beats/16"
 msgstr "Schläge / 16"
 
-#: gtk2_ardour/editor.cc:110
-#: gtk2_ardour/editor.cc:2939
+#: gtk2_ardour/editor.cc:113
+#: gtk2_ardour/editor.cc:2961
 msgid "Beats/8"
 msgstr "Schläge / 8"
 
-#: gtk2_ardour/editor.cc:111
-#: gtk2_ardour/editor.cc:2937
+#: gtk2_ardour/editor.cc:114
+#: gtk2_ardour/editor.cc:2959
 msgid "Beats/4"
 msgstr "Schläge / 4"
 
-#: gtk2_ardour/editor.cc:112
-#: gtk2_ardour/editor.cc:2935
+#: gtk2_ardour/editor.cc:115
+#: gtk2_ardour/editor.cc:2957
 msgid "Beats/3"
 msgstr "Schläge / 3"
 
-#: gtk2_ardour/editor.cc:113
-#: gtk2_ardour/editor.cc:2945
+#: gtk2_ardour/editor.cc:116
+#: gtk2_ardour/editor.cc:2967
 msgid "Beats"
 msgstr "Schläge"
 
-#: gtk2_ardour/editor.cc:114
-#: gtk2_ardour/editor.cc:2947
+#: gtk2_ardour/editor.cc:117
+#: gtk2_ardour/editor.cc:2969
 msgid "Bars"
 msgstr "Takte"
 
-#: gtk2_ardour/editor.cc:115
-#: gtk2_ardour/editor.cc:2949
+#: gtk2_ardour/editor.cc:118
+#: gtk2_ardour/editor.cc:2971
 msgid "Marks"
 msgstr "Marker"
 
-#: gtk2_ardour/editor.cc:116
-#: gtk2_ardour/editor.cc:135
-#: gtk2_ardour/editor.cc:2951
-#: gtk2_ardour/editor.cc:3016
+#: gtk2_ardour/editor.cc:119
+#: gtk2_ardour/editor.cc:138
+#: gtk2_ardour/editor.cc:2973
+#: gtk2_ardour/editor.cc:3038
 msgid "Edit Cursor"
 msgstr "Editierzeiger"
 
-#: gtk2_ardour/editor.cc:117
-#: gtk2_ardour/editor.cc:2953
+#: gtk2_ardour/editor.cc:120
+#: gtk2_ardour/editor.cc:2975
 msgid "Region starts"
 msgstr "Regionen-Anfang"
 
-#: gtk2_ardour/editor.cc:118
-#: gtk2_ardour/editor.cc:2955
+#: gtk2_ardour/editor.cc:121
+#: gtk2_ardour/editor.cc:2977
 msgid "Region ends"
 msgstr "Regionen-Ende"
 
-#: gtk2_ardour/editor.cc:119
-#: gtk2_ardour/editor.cc:2959
+#: gtk2_ardour/editor.cc:122
+#: gtk2_ardour/editor.cc:2981
 msgid "Region syncs"
 msgstr "Regionen-Sync"
 
-#: gtk2_ardour/editor.cc:120
-#: gtk2_ardour/editor.cc:2957
+#: gtk2_ardour/editor.cc:123
+#: gtk2_ardour/editor.cc:2979
 msgid "Region bounds"
 msgstr "Regionen-Grenzen"
 
-#: gtk2_ardour/editor.cc:126
-#: gtk2_ardour/editor.cc:2991
+#: gtk2_ardour/editor.cc:129
+#: gtk2_ardour/editor.cc:3013
 #: gtk2_ardour/editor_actions.cc:289
 msgid "Magnetic"
 msgstr "Magnetisch"
 
-#: gtk2_ardour/editor.cc:131
-#: gtk2_ardour/editor.cc:3008
-#: gtk2_ardour/export_dialog.cc:136
-#: gtk2_ardour/export_dialog.cc:152
-#: gtk2_ardour/export_dialog.cc:1064
-#: gtk2_ardour/export_dialog.cc:1068
+#: gtk2_ardour/editor.cc:134
+#: gtk2_ardour/editor.cc:3030
+#: gtk2_ardour/export_dialog.cc:142
+#: gtk2_ardour/export_dialog.cc:158
+#: gtk2_ardour/export_dialog.cc:1070
+#: gtk2_ardour/export_dialog.cc:1074
 msgid "Left"
 msgstr "Links"
 
-#: gtk2_ardour/editor.cc:132
-#: gtk2_ardour/editor.cc:3010
-#: gtk2_ardour/export_dialog.cc:137
-#: gtk2_ardour/export_dialog.cc:153
+#: gtk2_ardour/editor.cc:135
+#: gtk2_ardour/editor.cc:3032
+#: gtk2_ardour/export_dialog.cc:143
+#: gtk2_ardour/export_dialog.cc:159
 msgid "Right"
 msgstr "Rechts"
 
-#: gtk2_ardour/editor.cc:133
-#: gtk2_ardour/editor.cc:3012
+#: gtk2_ardour/editor.cc:136
+#: gtk2_ardour/editor.cc:3034
 msgid "Center"
 msgstr "Mitte"
 
-#: gtk2_ardour/editor.cc:134
-#: gtk2_ardour/editor.cc:3014
+#: gtk2_ardour/editor.cc:137
+#: gtk2_ardour/editor.cc:3036
 msgid "Playhead"
 msgstr "Positionszeiger"
 
-#: gtk2_ardour/editor.cc:176
+#: gtk2_ardour/editor.cc:179
 msgid "Mins:Secs"
 msgstr "Min:Sek"
 
-#: gtk2_ardour/editor.cc:179
-#: gtk2_ardour/editor_rulers.cc:381
+#: gtk2_ardour/editor.cc:182
+#: gtk2_ardour/editor_rulers.cc:389
 msgid "Frames"
 msgstr "Frames"
 
-#: gtk2_ardour/editor.cc:180
-#: gtk2_ardour/editor_rulers.cc:401
+#: gtk2_ardour/editor.cc:183
+#: gtk2_ardour/editor_rulers.cc:409
 msgid "Tempo"
 msgstr "Tempo"
 
-#: gtk2_ardour/editor.cc:181
-#: gtk2_ardour/editor_rulers.cc:395
+#: gtk2_ardour/editor.cc:184
+#: gtk2_ardour/editor_rulers.cc:403
 msgid "Meter"
 msgstr "Taktart"
 
-#: gtk2_ardour/editor.cc:182
-#: gtk2_ardour/editor_rulers.cc:407
+#: gtk2_ardour/editor.cc:185
+#: gtk2_ardour/editor_rulers.cc:415
 msgid "Location Markers"
 msgstr "Positionsmarker"
 
-#: gtk2_ardour/editor.cc:183
-#: gtk2_ardour/editor_rulers.cc:413
+#: gtk2_ardour/editor.cc:186
+#: gtk2_ardour/editor_rulers.cc:421
 msgid "Range Markers"
 msgstr "Bereiche"
 
-#: gtk2_ardour/editor.cc:184
-#: gtk2_ardour/editor_rulers.cc:419
+#: gtk2_ardour/editor.cc:187
+#: gtk2_ardour/editor_rulers.cc:427
 msgid "Loop/Punch Ranges"
 msgstr "Schleifen/Punch-Bereiche"
 
-#: gtk2_ardour/editor.cc:202
+#: gtk2_ardour/editor.cc:205
 msgid "mode"
 msgstr "Modus"
 
-#: gtk2_ardour/editor.cc:203
+#: gtk2_ardour/editor.cc:206
 msgid "automation"
 msgstr "Automation"
 
-#: gtk2_ardour/editor.cc:456
-#: gtk2_ardour/editor.cc:482
+#: gtk2_ardour/editor.cc:462
+#: gtk2_ardour/editor.cc:488
 #: gtk2_ardour/editor_actions.cc:63
-#: gtk2_ardour/mixer_ui.cc:82
-#: gtk2_ardour/mixer_ui.cc:108
+#: gtk2_ardour/mixer_ui.cc:83
+#: gtk2_ardour/mixer_ui.cc:109
 #: gtk2_ardour/analysis_window.cc:63
 msgid "Show"
 msgstr "Anzeigen"
 
-#: gtk2_ardour/editor.cc:457
-#: gtk2_ardour/editor.cc:480
+#: gtk2_ardour/editor.cc:463
+#: gtk2_ardour/editor.cc:486
 msgid "Name"
 msgstr "Name"
 
-#: gtk2_ardour/editor.cc:555
-#: gtk2_ardour/editor.cc:622
+#: gtk2_ardour/editor.cc:561
+#: gtk2_ardour/editor.cc:628
 msgid "Regions"
 msgstr "Regionen"
 
-#: gtk2_ardour/editor.cc:594
-#: gtk2_ardour/editor.cc:634
+#: gtk2_ardour/editor.cc:600
+#: gtk2_ardour/editor.cc:640
 msgid "Chunks"
 msgstr "Teile"
 
-#: gtk2_ardour/editor.cc:625
+#: gtk2_ardour/editor.cc:631
 msgid "Tracks/Busses"
 msgstr "Spuren/Busse"
 
-#: gtk2_ardour/editor.cc:628
+#: gtk2_ardour/editor.cc:634
 msgid "Snapshots"
 msgstr "Schnapschüsse"
 
-#: gtk2_ardour/editor.cc:631
+#: gtk2_ardour/editor.cc:637
 msgid "Edit Groups"
 msgstr "Bearbeitungsgruppen"
 
-#: gtk2_ardour/editor.cc:682
+#: gtk2_ardour/editor.cc:688
 msgid "Nudge Region/Selection Forwards"
 msgstr "Region/Auswahl schrittweise nach vorne"
 
-#: gtk2_ardour/editor.cc:683
+#: gtk2_ardour/editor.cc:689
 msgid "Nudge Region/Selection Backwards"
 msgstr "Region/Auswahl schrittweise nach hinten"
 
-#: gtk2_ardour/editor.cc:711
-#: gtk2_ardour/editor_mixer.cc:347
-msgid "ardour: editor"
-msgstr "ardour: Editor"
-
-#: gtk2_ardour/editor.cc:1009
-msgid "ardour: editor: "
-msgstr "ardour: Editor: "
+#: gtk2_ardour/editor.cc:719
+#: gtk2_ardour/editor_mixer.cc:352
+msgid "Editor"
+msgstr "Editor"
 
-#: gtk2_ardour/editor.cc:1089
-#: gtk2_ardour/editor.cc:1097
-#: gtk2_ardour/editor_markers.cc:914
+#: gtk2_ardour/editor.cc:1095
+#: gtk2_ardour/editor.cc:1103
+#: gtk2_ardour/editor_markers.cc:919
 msgid "Loop"
 msgstr "Schleife"
 
-#: gtk2_ardour/editor.cc:1102
-#: gtk2_ardour/editor.cc:1110
-#: gtk2_ardour/editor_markers.cc:942
+#: gtk2_ardour/editor.cc:1108
+#: gtk2_ardour/editor.cc:1116
+#: gtk2_ardour/editor_markers.cc:947
 msgid "Punch"
 msgstr "Punch"
 
-#: gtk2_ardour/editor.cc:1220
-#: gtk2_ardour/editor_mouse.cc:1765
+#: gtk2_ardour/editor.cc:1226
+#: gtk2_ardour/editor_mouse.cc:1691
 msgid "programming error: fade in canvas item has no regionview data pointer!"
 msgstr "Programmierfehler: fade in canvas item has no regionview data pointer!"
 
-#: gtk2_ardour/editor.cc:1232
-#: gtk2_ardour/editor.cc:1249
-#: gtk2_ardour/redirect_box.cc:1156
+#: gtk2_ardour/editor.cc:1238
+#: gtk2_ardour/editor.cc:1255
+#: gtk2_ardour/redirect_box.cc:1173
 msgid "Deactivate"
 msgstr "Deaktivieren"
 
-#: gtk2_ardour/editor.cc:1234
-#: gtk2_ardour/editor.cc:1251
-#: gtk2_ardour/redirect_box.cc:1154
+#: gtk2_ardour/editor.cc:1240
+#: gtk2_ardour/editor.cc:1257
+#: gtk2_ardour/redirect_box.cc:1171
 msgid "Activate"
 msgstr "Aktivieren"
 
-#: gtk2_ardour/editor.cc:1372
-#: gtk2_ardour/editor.cc:1380
+#: gtk2_ardour/editor.cc:1378
+#: gtk2_ardour/editor.cc:1386
+#: gtk2_ardour/editor_ops.cc:2534
 msgid "Freeze"
 msgstr "Einfrieren"
 
-#: gtk2_ardour/editor.cc:1376
+#: gtk2_ardour/editor.cc:1382
 msgid "Unfreeze"
 msgstr "Auftauen"
 
-#: gtk2_ardour/editor.cc:1545
+#: gtk2_ardour/editor.cc:1551
 msgid "Unmute"
 msgstr "Unmute"
 
-#: gtk2_ardour/editor.cc:1549
-#: gtk2_ardour/editor.cc:1846
+#: gtk2_ardour/editor.cc:1555
+#: gtk2_ardour/editor.cc:1869
 #: gtk2_ardour/editor_actions.cc:28
-#: gtk2_ardour/editor_markers.cc:526
+#: gtk2_ardour/editor_markers.cc:528
 #: gtk2_ardour/mixer_strip.cc:508
 #: gtk2_ardour/mixer_strip.cc:570
-#: gtk2_ardour/redirect_box.cc:1162
+#: gtk2_ardour/redirect_box.cc:1179
 msgid "Edit"
 msgstr "Bearbeiten"
 
-#: gtk2_ardour/editor.cc:1554
+#: gtk2_ardour/editor.cc:1560
 msgid "Convert to short"
 msgstr "In kurzen Crossfade umwandeln"
 
-#: gtk2_ardour/editor.cc:1556
+#: gtk2_ardour/editor.cc:1562
 msgid "Convert to full"
 msgstr "In langen Crossfade umwandeln"
 
-#: gtk2_ardour/editor.cc:1567
+#: gtk2_ardour/editor.cc:1573
 msgid "Crossfade"
 msgstr "Crossfade"
 
-#: gtk2_ardour/editor.cc:1610
+#: gtk2_ardour/editor.cc:1616
 msgid "Popup region editor"
 msgstr "Regioneneditor öffnen"
 
-#: gtk2_ardour/editor.cc:1611
+#: gtk2_ardour/editor.cc:1617
 msgid "Raise to top layer"
 msgstr "Region ganz nach oben"
 
-#: gtk2_ardour/editor.cc:1612
+#: gtk2_ardour/editor.cc:1618
 msgid "Lower to bottom layer"
 msgstr "Region ganz nach unten"
 
-#: gtk2_ardour/editor.cc:1614
+#: gtk2_ardour/editor.cc:1620
 msgid "Define sync point"
 msgstr "Synchronisationspunkt definieren"
 
-#: gtk2_ardour/editor.cc:1615
+#: gtk2_ardour/editor.cc:1621
 msgid "Remove sync point"
 msgstr "Synchronisationspunkt entfernen"
 
-#: gtk2_ardour/editor.cc:1620
+#: gtk2_ardour/editor.cc:1626
 msgid "Bounce"
 msgstr "Bounce"
 
-#: gtk2_ardour/editor.cc:1623
+#: gtk2_ardour/editor.cc:1629
 msgid "Analyze region"
 msgstr "Analysiere Region"
 
-#: gtk2_ardour/editor.cc:1628
+#: gtk2_ardour/editor.cc:1636
 msgid "Lock"
 msgstr "Sperren"
 
-#: gtk2_ardour/editor.cc:1638
+#: gtk2_ardour/editor.cc:1653
 msgid "Opaque"
 msgstr "Deckend"
 
-#: gtk2_ardour/editor.cc:1644
+#: gtk2_ardour/editor.cc:1662
 msgid "Original position"
 msgstr "Ursprungsposition"
 
-#: gtk2_ardour/editor.cc:1656
+#: gtk2_ardour/editor.cc:1674
 msgid "Reset Envelope"
 msgstr "Lautstärkekurve zurücksetzen"
 
-#: gtk2_ardour/editor.cc:1658
+#: gtk2_ardour/editor.cc:1676
 msgid "Envelope Visible"
 msgstr "Lautstärkekurve sichtbar"
 
-#: gtk2_ardour/editor.cc:1665
+#: gtk2_ardour/editor.cc:1685
 msgid "Envelope Active"
 msgstr "Lautstärkekurve aktiv"
 
-#: gtk2_ardour/editor.cc:1675
+#: gtk2_ardour/editor.cc:1698
 msgid "DeNormalize"
 msgstr "Ardour: Region "
 
-#: gtk2_ardour/editor.cc:1677
+#: gtk2_ardour/editor.cc:1700
 msgid "Normalize"
 msgstr "Normalisieren"
 
-#: gtk2_ardour/editor.cc:1680
+#: gtk2_ardour/editor.cc:1703
 msgid "Reverse"
 msgstr "Rückwärts"
 
-#: gtk2_ardour/editor.cc:1686
-#: gtk2_ardour/editor.cc:1768
+#: gtk2_ardour/editor.cc:1709
+#: gtk2_ardour/editor.cc:1791
 msgid "Add Range Markers"
 msgstr "Bereichsmarker einfügen"
 
-#: gtk2_ardour/editor.cc:1687
+#: gtk2_ardour/editor.cc:1710
 msgid "Set Range Selection"
 msgstr "Bereich auswählen"
 
-#: gtk2_ardour/editor.cc:1696
+#: gtk2_ardour/editor.cc:1719
 msgid "Nudge fwd"
 msgstr "Schritt nach vorne"
 
-#: gtk2_ardour/editor.cc:1697
+#: gtk2_ardour/editor.cc:1720
 msgid "Nudge bwd"
 msgstr "Schritt nach hinten"
 
-#: gtk2_ardour/editor.cc:1698
+#: gtk2_ardour/editor.cc:1721
 msgid "Nudge fwd by capture offset"
 msgstr "Schritt nach vorne um Aufnahme-Offset"
 
-#: gtk2_ardour/editor.cc:1699
+#: gtk2_ardour/editor.cc:1722
 msgid "Nudge bwd by capture offset"
 msgstr "Schritt nach hinten um Aufnahme-Offset"
 
-#: gtk2_ardour/editor.cc:1701
-#: gtk2_ardour/editor.cc:1866
-#: gtk2_ardour/editor.cc:1922
+#: gtk2_ardour/editor.cc:1724
+#: gtk2_ardour/editor.cc:1889
+#: gtk2_ardour/editor.cc:1945
 msgid "Nudge"
 msgstr "Verschieben"
 
-#: gtk2_ardour/editor.cc:1708
+#: gtk2_ardour/editor.cc:1731
 msgid "Start to edit cursor"
 msgstr "Von Anfang bis Editierzeiger"
 
-#: gtk2_ardour/editor.cc:1709
+#: gtk2_ardour/editor.cc:1732
 msgid "Edit cursor to end"
 msgstr "Von Editierzeiger bis Ende"
 
-#: gtk2_ardour/editor.cc:1711
+#: gtk2_ardour/editor.cc:1734
 #: gtk2_ardour/gain_meter.cc:168
 #: gtk2_ardour/gain_meter.cc:880
 #: gtk2_ardour/panner_ui.cc:97
@@ -2582,298 +2583,298 @@ msgstr "Von Editierzeiger bis Ende"
 msgid "Trim"
 msgstr "Abschneiden"
 
-#: gtk2_ardour/editor.cc:1714
+#: gtk2_ardour/editor.cc:1737
 msgid "Split"
 msgstr "Teilen"
 
-#: gtk2_ardour/editor.cc:1717
+#: gtk2_ardour/editor.cc:1740
 msgid "Make mono regions"
 msgstr "Zu Mono-Regionen umwandeln"
 
-#: gtk2_ardour/editor.cc:1720
+#: gtk2_ardour/editor.cc:1743
 msgid "Duplicate"
 msgstr "Duplizieren"
 
-#: gtk2_ardour/editor.cc:1721
+#: gtk2_ardour/editor.cc:1744
 msgid "Fill Track"
 msgstr "Spur auffüllen"
 
-#: gtk2_ardour/editor.cc:1753
+#: gtk2_ardour/editor.cc:1776
 msgid "Play range"
 msgstr "Bereich abspielen"
 
-#: gtk2_ardour/editor.cc:1754
+#: gtk2_ardour/editor.cc:1777
 msgid "Loop range"
 msgstr "Bereich in Schleife abspielen"
 
-#: gtk2_ardour/editor.cc:1758
+#: gtk2_ardour/editor.cc:1781
 msgid "Analyze range"
 msgstr "Bereich analysieren"
 
-#: gtk2_ardour/editor.cc:1762
+#: gtk2_ardour/editor.cc:1785
 msgid "Separate range to track"
 msgstr "Bereich als Spur"
 
-#: gtk2_ardour/editor.cc:1763
+#: gtk2_ardour/editor.cc:1786
 msgid "Separate range to region list"
 msgstr "Bereich zur Regionenliste hinzufügen"
 
-#: gtk2_ardour/editor.cc:1766
+#: gtk2_ardour/editor.cc:1789
 msgid "Select all in range"
 msgstr "Alles im Bereich auswählen"
 
-#: gtk2_ardour/editor.cc:1769
-#: gtk2_ardour/editor.cc:1814
+#: gtk2_ardour/editor.cc:1792
+#: gtk2_ardour/editor.cc:1837
 msgid "Set range to loop range"
 msgstr "Ausgewählten Bereich als Schleife"
 
-#: gtk2_ardour/editor.cc:1770
-#: gtk2_ardour/editor.cc:1815
+#: gtk2_ardour/editor.cc:1793
+#: gtk2_ardour/editor.cc:1838
 msgid "Set range to punch range"
 msgstr "Ausgewählten Bereich als Punch-Bereich"
 
-#: gtk2_ardour/editor.cc:1772
+#: gtk2_ardour/editor.cc:1795
 msgid "Crop region to range"
 msgstr "Regionen-Editor öffnen"
 
-#: gtk2_ardour/editor.cc:1773
+#: gtk2_ardour/editor.cc:1796
 msgid "Fill range with region"
 msgstr "Bereich mit Region ausfüllen"
 
-#: gtk2_ardour/editor.cc:1774
+#: gtk2_ardour/editor.cc:1797
 msgid "Duplicate range"
 msgstr "Bereich Duplizieren"
 
-#: gtk2_ardour/editor.cc:1775
+#: gtk2_ardour/editor.cc:1798
 msgid "Create chunk from range"
 msgstr "Abschnitt aus Bereich erstellen..."
 
-#: gtk2_ardour/editor.cc:1777
+#: gtk2_ardour/editor.cc:1800
 msgid "Bounce range"
 msgstr "Bereich Bouncen"
 
-#: gtk2_ardour/editor.cc:1778
+#: gtk2_ardour/editor.cc:1801
 msgid "Export range"
 msgstr "Bereiche exportieren..."
 
-#: gtk2_ardour/editor.cc:1780
+#: gtk2_ardour/editor.cc:1803
 msgid "Range"
 msgstr "Bereich"
 
-#: gtk2_ardour/editor.cc:1795
-#: gtk2_ardour/editor.cc:1880
+#: gtk2_ardour/editor.cc:1818
+#: gtk2_ardour/editor.cc:1903
 msgid "Play from edit cursor"
 msgstr "Wiedergabe ab Editierzeiger"
 
-#: gtk2_ardour/editor.cc:1796
-#: gtk2_ardour/editor.cc:1881
+#: gtk2_ardour/editor.cc:1819
+#: gtk2_ardour/editor.cc:1904
 msgid "Play from start"
 msgstr "Wiedergabe ab Anfang"
 
-#: gtk2_ardour/editor.cc:1797
+#: gtk2_ardour/editor.cc:1820
 msgid "Play region"
 msgstr "Region wiedergeben"
 
-#: gtk2_ardour/editor.cc:1799
+#: gtk2_ardour/editor.cc:1822
 msgid "Loop Region"
 msgstr "Region in Schleife wiedergeben"
 
-#: gtk2_ardour/editor.cc:1809
-#: gtk2_ardour/editor.cc:1890
+#: gtk2_ardour/editor.cc:1832
+#: gtk2_ardour/editor.cc:1913
 msgid "Select All in track"
 msgstr "Alles in Spur auswählen"
 
-#: gtk2_ardour/editor.cc:1810
-#: gtk2_ardour/editor.cc:1891
-#: gtk2_ardour/redirect_box.cc:1150
+#: gtk2_ardour/editor.cc:1833
+#: gtk2_ardour/editor.cc:1914
+#: gtk2_ardour/redirect_box.cc:1167
 msgid "Select All"
 msgstr "Alles Auswählen"
 
-#: gtk2_ardour/editor.cc:1811
-#: gtk2_ardour/editor.cc:1892
+#: gtk2_ardour/editor.cc:1834
+#: gtk2_ardour/editor.cc:1915
 msgid "Invert selection in track"
 msgstr "Auswahl in Spur umkehren"
 
-#: gtk2_ardour/editor.cc:1812
-#: gtk2_ardour/editor.cc:1893
+#: gtk2_ardour/editor.cc:1835
+#: gtk2_ardour/editor.cc:1916
 msgid "Invert selection"
 msgstr "Auswahl umkehren"
 
-#: gtk2_ardour/editor.cc:1817
-#: gtk2_ardour/editor.cc:1895
+#: gtk2_ardour/editor.cc:1840
+#: gtk2_ardour/editor.cc:1918
 msgid "Select all after edit cursor"
 msgstr "Alles nach Editierzeiger auswählen"
 
-#: gtk2_ardour/editor.cc:1818
-#: gtk2_ardour/editor.cc:1896
+#: gtk2_ardour/editor.cc:1841
+#: gtk2_ardour/editor.cc:1919
 msgid "Select all before edit cursor"
 msgstr "Alles vor Editierzeiger auswählen"
 
-#: gtk2_ardour/editor.cc:1819
-#: gtk2_ardour/editor.cc:1897
+#: gtk2_ardour/editor.cc:1842
+#: gtk2_ardour/editor.cc:1920
 msgid "Select all after playhead"
 msgstr "Alles nach Positionszeiger auswählen"
 
-#: gtk2_ardour/editor.cc:1820
-#: gtk2_ardour/editor.cc:1898
+#: gtk2_ardour/editor.cc:1843
+#: gtk2_ardour/editor.cc:1921
 msgid "Select all before playhead"
 msgstr "Alles vor Positionszeiger auswählen"
 
-#: gtk2_ardour/editor.cc:1821
+#: gtk2_ardour/editor.cc:1844
 msgid "Select all between cursors"
 msgstr "Alles zwischen Zeigern auswählen"
 
-#: gtk2_ardour/editor.cc:1824
-#: gtk2_ardour/editor.cc:1900
+#: gtk2_ardour/editor.cc:1847
+#: gtk2_ardour/editor.cc:1923
 msgid "Select"
 msgstr "Auswahl"
 
-#: gtk2_ardour/editor.cc:1832
-#: gtk2_ardour/editor.cc:1908
+#: gtk2_ardour/editor.cc:1855
+#: gtk2_ardour/editor.cc:1931
 #: gtk2_ardour/editor_actions.cc:217
-#: gtk2_ardour/redirect_box.cc:1143
+#: gtk2_ardour/redirect_box.cc:1160
 msgid "Cut"
 msgstr "Ausschneiden"
 
-#: gtk2_ardour/editor.cc:1833
-#: gtk2_ardour/editor.cc:1909
+#: gtk2_ardour/editor.cc:1856
+#: gtk2_ardour/editor.cc:1932
 #: gtk2_ardour/editor_actions.cc:222
-#: gtk2_ardour/redirect_box.cc:1145
+#: gtk2_ardour/redirect_box.cc:1162
 msgid "Copy"
 msgstr "Kopieren"
 
-#: gtk2_ardour/editor.cc:1834
+#: gtk2_ardour/editor.cc:1857
 msgid "Paste at edit cursor"
 msgstr "Am Editierzeiger einfügen"
 
-#: gtk2_ardour/editor.cc:1835
+#: gtk2_ardour/editor.cc:1858
 msgid "Paste at mouse"
 msgstr "An Mausposition einfügen"
 
-#: gtk2_ardour/editor.cc:1839
+#: gtk2_ardour/editor.cc:1862
 msgid "Align"
 msgstr "Ausrichten"
 
-#: gtk2_ardour/editor.cc:1840
+#: gtk2_ardour/editor.cc:1863
 msgid "Align Relative"
 msgstr "Relativ ausrichten"
 
-#: gtk2_ardour/editor.cc:1844
+#: gtk2_ardour/editor.cc:1867
 msgid "Insert chunk"
 msgstr "Abschnitt einfügen"
 
-#: gtk2_ardour/editor.cc:1851
+#: gtk2_ardour/editor.cc:1874
 msgid "Insert Selected Region"
 msgstr "Ausgewählte Region einfügen"
 
-#: gtk2_ardour/editor.cc:1852
+#: gtk2_ardour/editor.cc:1875
 msgid "Insert Existing Audio"
 msgstr "Audio importieren..."
 
-#: gtk2_ardour/editor.cc:1861
-#: gtk2_ardour/editor.cc:1917
+#: gtk2_ardour/editor.cc:1884
+#: gtk2_ardour/editor.cc:1940
 msgid "Nudge entire track fwd"
 msgstr "Gesamte Spur schrittweise nach vorne"
 
-#: gtk2_ardour/editor.cc:1862
-#: gtk2_ardour/editor.cc:1918
+#: gtk2_ardour/editor.cc:1885
+#: gtk2_ardour/editor.cc:1941
 msgid "Nudge track after edit cursor fwd"
 msgstr "Spur nach Editierzeiger schrittweise nach vorne"
 
-#: gtk2_ardour/editor.cc:1863
-#: gtk2_ardour/editor.cc:1919
+#: gtk2_ardour/editor.cc:1886
+#: gtk2_ardour/editor.cc:1942
 msgid "Nudge entire track bwd"
 msgstr "Gesamte Spur schrittweise nach hinten"
 
-#: gtk2_ardour/editor.cc:1864
-#: gtk2_ardour/editor.cc:1920
+#: gtk2_ardour/editor.cc:1887
+#: gtk2_ardour/editor.cc:1943
 msgid "Nudge track after edit cursor bwd"
 msgstr "Spur nach Editierzeiger schrittweise nach hinten"
 
-#: gtk2_ardour/editor.cc:1910
+#: gtk2_ardour/editor.cc:1933
 #: gtk2_ardour/editor_actions.cc:224
-#: gtk2_ardour/redirect_box.cc:1147
+#: gtk2_ardour/redirect_box.cc:1164
 msgid "Paste"
 msgstr "Einfügen"
 
-#: gtk2_ardour/editor.cc:2495
+#: gtk2_ardour/editor.cc:2518
 msgid "Select/Move Objects"
 msgstr "Objekte auswählen/verschieben"
 
-#: gtk2_ardour/editor.cc:2496
+#: gtk2_ardour/editor.cc:2519
 msgid "Select/Move Ranges"
 msgstr "Bereiche auswählen/verschieben"
 
-#: gtk2_ardour/editor.cc:2497
+#: gtk2_ardour/editor.cc:2520
 msgid "Draw Gain Automation"
 msgstr "Lautstärkekurve zeichnen"
 
-#: gtk2_ardour/editor.cc:2498
+#: gtk2_ardour/editor.cc:2521
 msgid "Select Zoom Range"
 msgstr "Zoombereich auswählen"
 
-#: gtk2_ardour/editor.cc:2499
+#: gtk2_ardour/editor.cc:2522
 msgid "Stretch/Shrink Regions"
 msgstr "Regionen vergrößern/verkleinern (Time-Stretch)"
 
-#: gtk2_ardour/editor.cc:2500
+#: gtk2_ardour/editor.cc:2523
 msgid "Listen to Specific Regions"
 msgstr "Ausgewählte Regionen vorhören"
 
-#: gtk2_ardour/editor.cc:2530
+#: gtk2_ardour/editor.cc:2553
 #: gtk2_ardour/editor_actions.cc:143
 msgid "Zoom In"
 msgstr "Vergrößern"
 
-#: gtk2_ardour/editor.cc:2536
+#: gtk2_ardour/editor.cc:2559
 #: gtk2_ardour/editor_actions.cc:141
 msgid "Zoom Out"
 msgstr "Verkleinern"
 
-#: gtk2_ardour/editor.cc:2542
+#: gtk2_ardour/editor.cc:2565
 #: gtk2_ardour/editor_actions.cc:145
 msgid "Zoom to Session"
 msgstr "Auf ganzes Projekt zoomen"
 
-#: gtk2_ardour/editor.cc:2548
+#: gtk2_ardour/editor.cc:2571
 msgid "Zoom focus"
 msgstr "Zoom-Mittelpunkt"
 
-#: gtk2_ardour/editor.cc:2564
+#: gtk2_ardour/editor.cc:2587
 msgid "Unit to snap cursors and ranges to"
 msgstr "Rastereinheit für Zeiger und Bereiche"
 
-#: gtk2_ardour/editor.cc:2810
+#: gtk2_ardour/editor.cc:2835
 #: gtk2_ardour/editor_actions.cc:207
 msgid "Undo"
 msgstr "Rückgängig"
 
-#: gtk2_ardour/editor.cc:2812
+#: gtk2_ardour/editor.cc:2837
 msgid "Undo (%1)"
 msgstr "Rückgängig (%1)"
 
-#: gtk2_ardour/editor.cc:2819
+#: gtk2_ardour/editor.cc:2844
 #: gtk2_ardour/editor_actions.cc:209
 msgid "Redo"
 msgstr "Wiederherstellen"
 
-#: gtk2_ardour/editor.cc:2821
+#: gtk2_ardour/editor.cc:2846
 msgid "Redo (%1)"
 msgstr "Wiederherstellen (%1)"
 
-#: gtk2_ardour/editor.cc:2842
+#: gtk2_ardour/editor.cc:2860
 msgid "Duplicate how many times?"
 msgstr "Wie häufig duplizieren?"
 
-#: gtk2_ardour/editor.cc:2920
+#: gtk2_ardour/editor.cc:2942
 msgid "Splice Edit"
 msgstr "Kleben"
 
-#: gtk2_ardour/editor.cc:2922
+#: gtk2_ardour/editor.cc:2944
 msgid "Slide Edit"
 msgstr "Slide Edit"
 
-#: gtk2_ardour/editor.cc:3276
+#: gtk2_ardour/editor.cc:3298
 msgid ""
 "Playlist %1 is currently unused.\n"
 "If left alone, no audio files used by it will be cleaned.\n"
@@ -2883,22 +2884,22 @@ msgstr ""
 "Es können keine Audiodateien aufgeräumt werden, die von ihr verwendet werden.\n"
 "Falls sie gelöscht wird, werden die ausschließlich von ihr verwendeten Audiodateien gelöscht."
 
-#: gtk2_ardour/editor.cc:3286
+#: gtk2_ardour/editor.cc:3308
 msgid "Delete playlist"
 msgstr "Wiedergabeliste löschen"
 
-#: gtk2_ardour/editor.cc:3287
+#: gtk2_ardour/editor.cc:3309
 msgid "Keep playlist"
 msgstr "Wiedergabeliste beibehalten"
 
-#: gtk2_ardour/editor.cc:3288
-#: gtk2_ardour/editor_audio_import.cc:341
-#: gtk2_ardour/editor_ops.cc:1760
-#: gtk2_ardour/editor_timefx.cc:71
-#: gtk2_ardour/export_dialog.cc:967
+#: gtk2_ardour/editor.cc:3310
+#: gtk2_ardour/editor_audio_import.cc:366
+#: gtk2_ardour/editor_ops.cc:1747
+#: gtk2_ardour/editor_timefx.cc:77
+#: gtk2_ardour/export_dialog.cc:973
 #: gtk2_ardour/io_selector.cc:60
 #: gtk2_ardour/io_selector.cc:748
-#: gtk2_ardour/redirect_box.cc:974
+#: gtk2_ardour/redirect_box.cc:987
 #: gtk2_ardour/tempo_dialog.cc:22
 #: gtk2_ardour/tempo_dialog.cc:41
 #: gtk2_ardour/tempo_dialog.cc:158
@@ -2907,15 +2908,41 @@ msgstr "Wiedergabeliste beibehalten"
 msgid "Cancel"
 msgstr "Abbrechen"
 
-#: gtk2_ardour/editor.cc:3492
+#: gtk2_ardour/editor.cc:3478
+msgid "New name of snapshot"
+msgstr "Name für neuen Schnappschuss"
+
+#: gtk2_ardour/editor.cc:3496
+msgid ""
+"Do you really want to remove snapshot \"%1\" ?\n"
+"(cannot be undone)"
+msgstr ""
+"Wollen Sie den Schnappschuss \"%1\" wirklich löschen?\n"
+"(Dies kann nicht rückgängig gemacht werden!)"
+
+#: gtk2_ardour/editor.cc:3498
+#: gtk2_ardour/editor_ops.cc:181
+#: gtk2_ardour/editor_ops.cc:3153
+#: gtk2_ardour/route_ui.cc:783
+#: gtk2_ardour/visual_time_axis.cc:282
+msgid "No, do nothing."
+msgstr "Nein, nichts machen."
+
+#: gtk2_ardour/editor.cc:3499
+#: gtk2_ardour/route_ui.cc:784
+#: gtk2_ardour/visual_time_axis.cc:283
+msgid "Yes, remove it."
+msgstr "Ja, entfernen."
+
+#: gtk2_ardour/editor.cc:3603
 msgid "new playlists"
 msgstr "Neue Wiedergabelisten"
 
-#: gtk2_ardour/editor.cc:3500
+#: gtk2_ardour/editor.cc:3611
 msgid "copy playlists"
 msgstr "Wiedergabelisten kopieren"
 
-#: gtk2_ardour/editor.cc:3508
+#: gtk2_ardour/editor.cc:3619
 msgid "clear playlists"
 msgstr "Wiedergabelisten zurücksetzen"
 
@@ -2977,11 +3004,11 @@ msgstr "Timecode FPS"
 
 #: gtk2_ardour/editor_actions.cc:44
 msgid "Pullup / Pulldown"
-msgstr ""
+msgstr "Pull-Up / Pull-Down"
 
 #: gtk2_ardour/editor_actions.cc:45
 msgid "Subframes"
-msgstr ""
+msgstr "Subframes"
 
 #: gtk2_ardour/editor_actions.cc:46
 msgid "Add Existing Audio"
@@ -3621,32 +3648,32 @@ msgstr "Programmierfehler: %1: %2"
 msgid "Configuraton is using unhandled subframes per frame value: %1"
 msgstr "Diese Konfiguration benutzt einen unzulässigen Wert für Subframes pro Frame: %1"
 
-#: gtk2_ardour/editor_audio_import.cc:76
+#: gtk2_ardour/editor_audio_import.cc:84
 msgid "You can't import or embed an audiofile until you have a session loaded."
 msgstr "Sie können keine Audiodatei importieren, solange kein Projekt geladen ist."
 
-#: gtk2_ardour/editor_audio_import.cc:81
+#: gtk2_ardour/editor_audio_import.cc:89
 msgid "Add existing audio to session"
 msgstr "Audio importieren"
 
-#: gtk2_ardour/editor_audio_import.cc:168
+#: gtk2_ardour/editor_audio_import.cc:176
 msgid "Import as a %1 region"
 msgstr "Importiere als eine %1 Region"
 
-#: gtk2_ardour/editor_audio_import.cc:169
+#: gtk2_ardour/editor_audio_import.cc:177
 msgid "multichannel"
 msgstr "Mehrkanal"
 
-#: gtk2_ardour/editor_audio_import.cc:169
-#: gtk2_ardour/export_dialog.cc:83
+#: gtk2_ardour/editor_audio_import.cc:177
+#: gtk2_ardour/export_dialog.cc:86
 msgid "stereo"
 msgstr "Stereo"
 
-#: gtk2_ardour/editor_audio_import.cc:170
+#: gtk2_ardour/editor_audio_import.cc:178
 msgid "Import as multiple regions"
 msgstr "In mehrere Regionen aufteilen"
 
-#: gtk2_ardour/editor_audio_import.cc:172
+#: gtk2_ardour/editor_audio_import.cc:180
 msgid ""
 "Paired files detected (%1, %2 ...).\n"
 "Do you want to:"
@@ -3654,32 +3681,32 @@ msgstr ""
 "Zusammenhängende Dateien gefunden (%1, %2 ...).\n"
 "Wollen Sie:"
 
-#: gtk2_ardour/editor_audio_import.cc:218
-msgid "ardour: importing %1"
-msgstr "ardour: Importiere %1"
+#: gtk2_ardour/editor_audio_import.cc:226
+msgid "importing %1"
+msgstr "importiere %1"
 
-#: gtk2_ardour/editor_audio_import.cc:222
+#: gtk2_ardour/editor_audio_import.cc:232
 msgid "Cancel Import"
 msgstr "Importieren Abbrechen"
 
-#: gtk2_ardour/editor_audio_import.cc:307
+#: gtk2_ardour/editor_audio_import.cc:332
 msgid "Editor: cannot open file \"%1\", (%2)"
 msgstr "Editor: kann die Datei \"%1\" nicht öffnen (%2)"
 
-#: gtk2_ardour/editor_audio_import.cc:315
+#: gtk2_ardour/editor_audio_import.cc:340
 msgid "Cancel entire import"
 msgstr "Importieren Abbrechen"
 
-#: gtk2_ardour/editor_audio_import.cc:316
+#: gtk2_ardour/editor_audio_import.cc:341
 msgid "Don't embed it"
 msgstr "Nicht einbetten"
 
-#: gtk2_ardour/editor_audio_import.cc:317
+#: gtk2_ardour/editor_audio_import.cc:342
 msgid "Embed all without questions"
 msgstr "Alle Importieren ohne nachzufragen"
 
-#: gtk2_ardour/editor_audio_import.cc:320
 #: gtk2_ardour/editor_audio_import.cc:345
+#: gtk2_ardour/editor_audio_import.cc:370
 msgid ""
 "%1\n"
 "This audiofile's sample rate doesn't match the session sample rate!"
@@ -3687,15 +3714,15 @@ msgstr ""
 "%1\n"
 "Die Samplerate dieser Audiodatei unterscheidet sich von der Samplerate dieses Projekts."
 
-#: gtk2_ardour/editor_audio_import.cc:342
+#: gtk2_ardour/editor_audio_import.cc:367
 msgid "Embed it anyway"
 msgstr "Trotzdem importieren"
 
-#: gtk2_ardour/editor_audio_import.cc:393
+#: gtk2_ardour/editor_audio_import.cc:417
 msgid "could not open %1"
 msgstr "Konnte \"%s\" nicht öffnen."
 
-#: gtk2_ardour/editor_audio_import.cc:440
+#: gtk2_ardour/editor_audio_import.cc:464
 msgid "insert sndfile"
 msgstr "Audiodatei einfügen"
 
@@ -3705,34 +3732,34 @@ msgstr ""
 
 #: gtk2_ardour/editor_canvas.cc:267
 msgid "edit cursor color not defined, check your ardour.colors file!"
-msgstr ""
+msgstr "Die Farbe für den Editierzeiger ist nicht definiert, bitte in ardour.colors prüfen!"
 
 #: gtk2_ardour/editor_canvas.cc:272
 msgid "playhead color not defined, check your ardour.colors file!"
-msgstr ""
+msgstr "Die Farbe für den Wiedergabezeiger ist nicht definiert, bitte in ardour.colors prüfen!"
 
 #: gtk2_ardour/editor_edit_groups.cc:52
-#: gtk2_ardour/mixer_ui.cc:754
+#: gtk2_ardour/mixer_ui.cc:765
 msgid "Activate All"
 msgstr "Alle aktivieren"
 
 #: gtk2_ardour/editor_edit_groups.cc:53
-#: gtk2_ardour/mixer_ui.cc:755
+#: gtk2_ardour/mixer_ui.cc:766
 msgid "Disable All"
 msgstr "Alle deaktivieren"
 
 #: gtk2_ardour/editor_edit_groups.cc:55
-#: gtk2_ardour/mixer_ui.cc:757
+#: gtk2_ardour/mixer_ui.cc:768
 msgid "Add group"
 msgstr "Gruppe hinzufügen"
 
 #: gtk2_ardour/editor_edit_groups.cc:228
-#: gtk2_ardour/mixer_ui.cc:998
+#: gtk2_ardour/mixer_ui.cc:1009
 msgid "unnamed"
 msgstr "unbenannt"
 
 #: gtk2_ardour/editor_edit_groups.cc:257
-#: gtk2_ardour/mixer_ui.cc:852
+#: gtk2_ardour/mixer_ui.cc:863
 msgid "-all-"
 msgstr "-alle-"
 
@@ -3774,308 +3801,297 @@ msgstr "Region stummschalten"
 msgid "keyboard selection"
 msgstr "Tastaturauswahl"
 
-#: gtk2_ardour/editor_markers.cc:294
-#: gtk2_ardour/editor_ops.cc:1248
-#: gtk2_ardour/editor_ops.cc:1265
-#: gtk2_ardour/editor_ops.cc:1284
-#: gtk2_ardour/location_ui.cc:778
+#: gtk2_ardour/editor_markers.cc:296
+#: gtk2_ardour/editor_ops.cc:1241
+#: gtk2_ardour/editor_ops.cc:1258
+#: gtk2_ardour/editor_ops.cc:1277
+#: gtk2_ardour/location_ui.cc:782
 msgid "add marker"
 msgstr "Marker hinzufügen"
 
-#: gtk2_ardour/editor_markers.cc:310
-#: gtk2_ardour/editor_markers.cc:374
-#: gtk2_ardour/editor_markers.cc:551
-#: gtk2_ardour/editor_markers.cc:569
-#: gtk2_ardour/editor_markers.cc:587
-#: gtk2_ardour/editor_markers.cc:606
-#: gtk2_ardour/editor_markers.cc:625
-#: gtk2_ardour/editor_markers.cc:655
-#: gtk2_ardour/editor_markers.cc:683
-#: gtk2_ardour/editor_markers.cc:711
-#: gtk2_ardour/editor_markers.cc:750
-#: gtk2_ardour/editor_markers.cc:775
-#: gtk2_ardour/editor_markers.cc:802
-#: gtk2_ardour/editor_markers.cc:825
-#: gtk2_ardour/editor_markers.cc:844
-#: gtk2_ardour/editor_mouse.cc:2085
-#: gtk2_ardour/editor_mouse.cc:4393
+#: gtk2_ardour/editor_markers.cc:312
+#: gtk2_ardour/editor_markers.cc:376
+#: gtk2_ardour/editor_markers.cc:553
+#: gtk2_ardour/editor_markers.cc:571
+#: gtk2_ardour/editor_markers.cc:589
+#: gtk2_ardour/editor_markers.cc:608
+#: gtk2_ardour/editor_markers.cc:627
+#: gtk2_ardour/editor_markers.cc:657
+#: gtk2_ardour/editor_markers.cc:685
+#: gtk2_ardour/editor_markers.cc:713
+#: gtk2_ardour/editor_markers.cc:752
+#: gtk2_ardour/editor_markers.cc:777
+#: gtk2_ardour/editor_markers.cc:804
+#: gtk2_ardour/editor_markers.cc:827
+#: gtk2_ardour/editor_markers.cc:846
+#: gtk2_ardour/editor_mouse.cc:2015
+#: gtk2_ardour/editor_mouse.cc:4351
 msgid "programming error: marker canvas item has no marker object pointer!"
 msgstr "Programmierfehler: marker canvas item has no marker object pointer!"
 
-#: gtk2_ardour/editor_markers.cc:324
-#: gtk2_ardour/location_ui.cc:656
+#: gtk2_ardour/editor_markers.cc:326
+#: gtk2_ardour/location_ui.cc:660
 msgid "remove marker"
 msgstr "Marker entfernen"
 
-#: gtk2_ardour/editor_markers.cc:465
+#: gtk2_ardour/editor_markers.cc:467
 msgid "Locate to Mark"
 msgstr "Positionszeiger zu Marker setzen"
 
-#: gtk2_ardour/editor_markers.cc:466
+#: gtk2_ardour/editor_markers.cc:468
 msgid "Play from Mark"
 msgstr "Wiedergabe ab Marker"
 
-#: gtk2_ardour/editor_markers.cc:467
+#: gtk2_ardour/editor_markers.cc:469
 msgid "Set Mark from Playhead"
 msgstr "Marker am Positionszeiger setzen"
 
-#: gtk2_ardour/editor_markers.cc:471
+#: gtk2_ardour/editor_markers.cc:473
 msgid "Hide Mark"
 msgstr "Marker verbergen"
 
-#: gtk2_ardour/editor_markers.cc:473
+#: gtk2_ardour/editor_markers.cc:475
+#: gtk2_ardour/editor_markers.cc:864
 msgid "Rename Mark"
 msgstr "Marker umbenennen"
 
-#: gtk2_ardour/editor_markers.cc:474
+#: gtk2_ardour/editor_markers.cc:476
 msgid "Remove Mark"
 msgstr "Marker entfernen"
 
-#: gtk2_ardour/editor_markers.cc:492
+#: gtk2_ardour/editor_markers.cc:494
 msgid "Locate to Range Mark"
 msgstr "Positionszeiger zu Bereichsmarker"
 
-#: gtk2_ardour/editor_markers.cc:493
+#: gtk2_ardour/editor_markers.cc:495
 msgid "Play from Range Mark"
 msgstr "Wiedergabe ab Bereichsmarker"
 
-#: gtk2_ardour/editor_markers.cc:495
+#: gtk2_ardour/editor_markers.cc:497
 msgid "Play Range"
 msgstr "Bereich wiedergeben"
 
-#: gtk2_ardour/editor_markers.cc:496
+#: gtk2_ardour/editor_markers.cc:498
 msgid "Loop Range"
 msgstr "Bereich in Schleife wiedergeben"
 
-#: gtk2_ardour/editor_markers.cc:498
+#: gtk2_ardour/editor_markers.cc:500
 msgid "Set Range Mark from Playhead"
 msgstr "Bereichsmarker zum Positionszeiger verschieben"
 
-#: gtk2_ardour/editor_markers.cc:499
+#: gtk2_ardour/editor_markers.cc:501
 msgid "Set Range from Range Selection"
 msgstr "Bereichsmarker zum Auswahlbereich verschieben"
 
-#: gtk2_ardour/editor_markers.cc:503
+#: gtk2_ardour/editor_markers.cc:505
 msgid "Hide Range"
 msgstr "Bereich verbergen"
 
-#: gtk2_ardour/editor_markers.cc:505
+#: gtk2_ardour/editor_markers.cc:507
+#: gtk2_ardour/editor_markers.cc:866
 msgid "Rename Range"
 msgstr "Bereich umbenennen"
 
-#: gtk2_ardour/editor_markers.cc:506
+#: gtk2_ardour/editor_markers.cc:508
 msgid "Remove Range"
 msgstr "Bereich entfernen"
 
-#: gtk2_ardour/editor_markers.cc:511
+#: gtk2_ardour/editor_markers.cc:513
 msgid "Separate Regions in Range"
 msgstr "Regionen an Bereichsgrenzen teilen"
 
-#: gtk2_ardour/editor_markers.cc:512
+#: gtk2_ardour/editor_markers.cc:514
 msgid "Select All in Range"
 msgstr "Alles im Bereich auswählen"
 
-#: gtk2_ardour/editor_markers.cc:513
+#: gtk2_ardour/editor_markers.cc:515
 msgid "Select Range"
 msgstr "Bereich auswählen"
 
-#: gtk2_ardour/editor_markers.cc:539
+#: gtk2_ardour/editor_markers.cc:541
 msgid "Set Loop Range"
 msgstr "Schleife erstellen"
 
-#: gtk2_ardour/editor_markers.cc:540
+#: gtk2_ardour/editor_markers.cc:542
 msgid "Set Punch Range"
 msgstr "Punch-Bereich erstellen"
 
-#: gtk2_ardour/editor_markers.cc:858
+#: gtk2_ardour/editor_markers.cc:860
 msgid "New Name:"
 msgstr "Neuer Name: "
 
-#: gtk2_ardour/editor_markers.cc:861
-msgid "ardour: rename mark"
-msgstr "ardour: Marker umbenennen"
-
-#: gtk2_ardour/editor_markers.cc:863
-msgid "ardour: rename range"
-msgstr "ardour: Bereich umbenennen"
-
-#: gtk2_ardour/editor_markers.cc:883
+#: gtk2_ardour/editor_markers.cc:888
 msgid "rename marker"
 msgstr "Marker umbenennen"
 
-#: gtk2_ardour/editor_markers.cc:909
+#: gtk2_ardour/editor_markers.cc:914
 msgid "set loop range"
 msgstr "Loop-Bereich festlegen"
 
-#: gtk2_ardour/editor_markers.cc:937
+#: gtk2_ardour/editor_markers.cc:942
 msgid "set punch range"
 msgstr "Punch-Bereich festlegen"
 
-#: gtk2_ardour/editor_mouse.cc:104
+#: gtk2_ardour/editor_mouse.cc:105
 msgid "Editor::event_frame() used on unhandled event type %1"
 msgstr ""
 
-#: gtk2_ardour/editor_mouse.cc:326
-msgid "select on click"
-msgstr "Auswählen durch Klicken"
-
-#: gtk2_ardour/editor_mouse.cc:1613
+#: gtk2_ardour/editor_mouse.cc:1539
 msgid "programming error: start_grab called without drag item"
 msgstr "Programmierfehler: start_grab called without drag item"
 
-#: gtk2_ardour/editor_mouse.cc:1840
+#: gtk2_ardour/editor_mouse.cc:1766
 msgid "change fade in length"
 msgstr "Ändere Fade-In Länge"
 
-#: gtk2_ardour/editor_mouse.cc:1872
+#: gtk2_ardour/editor_mouse.cc:1798
 msgid "programming error: fade out canvas item has no regionview data pointer!"
 msgstr "Programmierfehler: fade out canvas item has no regionview data pointer!"
 
-#: gtk2_ardour/editor_mouse.cc:1957
+#: gtk2_ardour/editor_mouse.cc:1883
 msgid "change fade out length"
 msgstr "Fade-Out verändern"
 
-#: gtk2_ardour/editor_mouse.cc:1989
+#: gtk2_ardour/editor_mouse.cc:1915
 msgid "programming error: cursor canvas item has no cursor data pointer!"
 msgstr "Programmierfehler: cursor canvas item has no cursor data pointer!"
 
-#: gtk2_ardour/editor_mouse.cc:2220
+#: gtk2_ardour/editor_mouse.cc:2150
 msgid "move marker"
 msgstr "Marker bewegen"
 
-#: gtk2_ardour/editor_mouse.cc:2248
-#: gtk2_ardour/editor_mouse.cc:2279
+#: gtk2_ardour/editor_mouse.cc:2178
+#: gtk2_ardour/editor_mouse.cc:2209
 #: gtk2_ardour/editor_tempodisplay.cc:500
 msgid "programming error: meter marker canvas item has no marker object pointer!"
 msgstr "pProgrammierfehler: meter marker canvas item has no marker object pointer!"
 
-#: gtk2_ardour/editor_mouse.cc:2347
+#: gtk2_ardour/editor_mouse.cc:2277
 msgid "copy meter mark"
 msgstr "Taktmarker kopieren"
 
-#: gtk2_ardour/editor_mouse.cc:2358
+#: gtk2_ardour/editor_mouse.cc:2288
 msgid "move meter mark"
 msgstr "Taktwechsel bewegen"
 
-#: gtk2_ardour/editor_mouse.cc:2374
-#: gtk2_ardour/editor_mouse.cc:2407
-#: gtk2_ardour/editor_tempodisplay.cc:363
-#: gtk2_ardour/editor_tempodisplay.cc:447
-#: gtk2_ardour/editor_tempodisplay.cc:466
+#: gtk2_ardour/editor_mouse.cc:2304
+#: gtk2_ardour/editor_mouse.cc:2337
+#: gtk2_ardour/editor_tempodisplay.cc:369
+#: gtk2_ardour/editor_tempodisplay.cc:449
+#: gtk2_ardour/editor_tempodisplay.cc:468
 msgid "programming error: tempo marker canvas item has no marker object pointer!"
 msgstr "Programmierfehler: tempo marker canvas item has no marker object pointer!"
 
-#: gtk2_ardour/editor_mouse.cc:2379
-#: gtk2_ardour/editor_mouse.cc:2412
-#: gtk2_ardour/editor_tempodisplay.cc:368
-#: gtk2_ardour/editor_tempodisplay.cc:452
+#: gtk2_ardour/editor_mouse.cc:2309
+#: gtk2_ardour/editor_mouse.cc:2342
+#: gtk2_ardour/editor_tempodisplay.cc:374
+#: gtk2_ardour/editor_tempodisplay.cc:454
 msgid "programming error: marker for tempo is not a tempo marker!"
 msgstr "Programmierfehler: marker for tempo is not a tempo marker!"
 
-#: gtk2_ardour/editor_mouse.cc:2479
+#: gtk2_ardour/editor_mouse.cc:2409
 msgid "copy tempo mark"
 msgstr "Tempomarker kopieren"
 
-#: gtk2_ardour/editor_mouse.cc:2490
+#: gtk2_ardour/editor_mouse.cc:2420
 msgid "move tempo mark"
 msgstr "Tempowechsel bewegen"
 
-#: gtk2_ardour/editor_mouse.cc:2505
-#: gtk2_ardour/editor_mouse.cc:2524
-#: gtk2_ardour/editor_mouse.cc:2537
+#: gtk2_ardour/editor_mouse.cc:2435
+#: gtk2_ardour/editor_mouse.cc:2454
+#: gtk2_ardour/editor_mouse.cc:2467
 msgid "programming error: control point canvas item has no control point object pointer!"
 msgstr "Programmierfehler: control point canvas item has no control point object pointer!"
 
-#: gtk2_ardour/editor_mouse.cc:2643
+#: gtk2_ardour/editor_mouse.cc:2573
 msgid "programming error: line canvas item has no line pointer!"
 msgstr "Programmierfehler:  line canvas item has no line pointer!"
 
-#: gtk2_ardour/editor_mouse.cc:2752
+#: gtk2_ardour/editor_mouse.cc:2682
 msgid "move region(s)"
 msgstr "Region(en) bewegen"
 
-#: gtk2_ardour/editor_mouse.cc:2816
-#, fuzzy
+#: gtk2_ardour/editor_mouse.cc:2746
 msgid "Drag region brush"
-msgstr "Ardour: Region"
+msgstr "Region Brush ziehen"
 
-#: gtk2_ardour/editor_mouse.cc:3344
+#: gtk2_ardour/editor_mouse.cc:3274
 msgid "fixed time region copy"
 msgstr "Region zeitgleich kopieren"
 
-#: gtk2_ardour/editor_mouse.cc:3346
+#: gtk2_ardour/editor_mouse.cc:3276
 msgid "region copy"
 msgstr "Region kopieren"
 
-#: gtk2_ardour/editor_mouse.cc:3350
+#: gtk2_ardour/editor_mouse.cc:3280
 msgid "fixed time region drag"
 msgstr "Region zeitgleich verschieben"
 
-#: gtk2_ardour/editor_mouse.cc:3352
+#: gtk2_ardour/editor_mouse.cc:3282
 msgid "region drag"
 msgstr "Region verschieben"
 
-#: gtk2_ardour/editor_mouse.cc:3712
+#: gtk2_ardour/editor_mouse.cc:3670
 msgid "selection grab"
 msgstr "Auswählen"
 
-#: gtk2_ardour/editor_mouse.cc:3754
+#: gtk2_ardour/editor_mouse.cc:3712
 msgid "cancel selection"
 msgstr "Auswahl abbrechen"
 
-#: gtk2_ardour/editor_mouse.cc:3864
+#: gtk2_ardour/editor_mouse.cc:3822
 msgid "range selection"
 msgstr "Bereichsauswahl"
 
-#: gtk2_ardour/editor_mouse.cc:3880
+#: gtk2_ardour/editor_mouse.cc:3838
 msgid "trim selection start"
 msgstr "Anfangspunkt der Auswahl abschneiden"
 
-#: gtk2_ardour/editor_mouse.cc:3896
+#: gtk2_ardour/editor_mouse.cc:3854
 msgid "trim selection end"
 msgstr "Endpunkt der Auswahl abschneiden"
 
-#: gtk2_ardour/editor_mouse.cc:3913
+#: gtk2_ardour/editor_mouse.cc:3871
 msgid "move selection"
 msgstr "Auswahl bewegen"
 
-#: gtk2_ardour/editor_mouse.cc:4302
+#: gtk2_ardour/editor_mouse.cc:4260
 msgid "Start point trim"
 msgstr "Anfangspunkt verändern"
 
-#: gtk2_ardour/editor_mouse.cc:4334
+#: gtk2_ardour/editor_mouse.cc:4292
 msgid "End point trim"
 msgstr "Endpunkt verändern"
 
-#: gtk2_ardour/editor_mouse.cc:4377
+#: gtk2_ardour/editor_mouse.cc:4335
 msgid "trimmed region"
 msgstr "Abgeschnittene Region"
 
-#: gtk2_ardour/editor_mouse.cc:4520
+#: gtk2_ardour/editor_mouse.cc:4478
 msgid "new range marker"
 msgstr "Neuer Bereich"
 
-#: gtk2_ardour/editor_mouse.cc:4763
+#: gtk2_ardour/editor_mouse.cc:4720
 msgid "rubberband selection"
 msgstr "Bereichsauswahl"
 
-#: gtk2_ardour/editor_mouse.cc:4793
+#: gtk2_ardour/editor_mouse.cc:4750
 msgid "Name for region:"
 msgstr "Name für Region:"
 
-#: gtk2_ardour/editor_mouse.cc:4857
+#: gtk2_ardour/editor_mouse.cc:4814
 msgid "timestretch"
 msgstr "Time-Stretch"
 
-#: gtk2_ardour/editor_ops.cc:114
+#: gtk2_ardour/editor_ops.cc:116
 msgid "split"
 msgstr "Teile"
 
-#: gtk2_ardour/editor_ops.cc:153
+#: gtk2_ardour/editor_ops.cc:155
 msgid "remove region"
 msgstr "Region(en) löschen"
 
-#: gtk2_ardour/editor_ops.cc:173
+#: gtk2_ardour/editor_ops.cc:175
 msgid ""
 " This is destructive, will possibly delete audio files\n"
 "It cannot be undone\n"
@@ -4085,189 +4101,177 @@ msgstr ""
 "Dies kann nicht rückgängig gemacht werden\n"
 "Wollen Sie %1 wirklich löschen ?"
 
-#: gtk2_ardour/editor_ops.cc:177
+#: gtk2_ardour/editor_ops.cc:179
 msgid "these regions"
 msgstr "diese Region"
 
-#: gtk2_ardour/editor_ops.cc:177
+#: gtk2_ardour/editor_ops.cc:179
 msgid "this region"
 msgstr "diese Region"
 
-#: gtk2_ardour/editor_ops.cc:179
-#: gtk2_ardour/editor_ops.cc:3144
-#: gtk2_ardour/route_ui.cc:783
-#: gtk2_ardour/visual_time_axis.cc:282
-msgid "No, do nothing."
-msgstr "Nein, nichts machen."
-
-#: gtk2_ardour/editor_ops.cc:182
+#: gtk2_ardour/editor_ops.cc:184
 msgid "Yes, destroy them."
 msgstr "Ja, entfernen."
 
-#: gtk2_ardour/editor_ops.cc:184
-#: gtk2_ardour/editor_ops.cc:3145
+#: gtk2_ardour/editor_ops.cc:186
+#: gtk2_ardour/editor_ops.cc:3154
 msgid "Yes, destroy it."
 msgstr "Ja, entfernen."
 
-#: gtk2_ardour/editor_ops.cc:270
-#: gtk2_ardour/editor_ops.cc:298
+#: gtk2_ardour/editor_ops.cc:272
+#: gtk2_ardour/editor_ops.cc:300
 msgid "extend selection"
 msgstr "Auswahl erweitern"
 
-#: gtk2_ardour/editor_ops.cc:314
-#: gtk2_ardour/editor_ops.cc:349
-#: gtk2_ardour/editor_ops.cc:394
-#: gtk2_ardour/editor_ops.cc:421
+#: gtk2_ardour/editor_ops.cc:316
+#: gtk2_ardour/editor_ops.cc:351
+#: gtk2_ardour/editor_ops.cc:396
+#: gtk2_ardour/editor_ops.cc:423
 msgid "nudge forward"
 msgstr "Schritt vorwärts"
 
-#: gtk2_ardour/editor_ops.cc:486
+#: gtk2_ardour/editor_ops.cc:488
 msgid "build_region_boundary_cache called with snap_type = %1"
 msgstr ""
 
-#: gtk2_ardour/editor_ops.cc:1405
+#: gtk2_ardour/editor_ops.cc:1398
 msgid "clear markers"
 msgstr "Marker zurücksetzen"
 
-#: gtk2_ardour/editor_ops.cc:1418
+#: gtk2_ardour/editor_ops.cc:1411
 msgid "clear ranges"
 msgstr "Bereiche zurücksetzen"
 
-#: gtk2_ardour/editor_ops.cc:1438
+#: gtk2_ardour/editor_ops.cc:1431
 msgid "clear locations"
 msgstr "Positionen zurücksetzen"
 
-#: gtk2_ardour/editor_ops.cc:1513
+#: gtk2_ardour/editor_ops.cc:1504
 msgid "insert dragged region"
 msgstr "Region ziehen"
 
-#: gtk2_ardour/editor_ops.cc:1560
+#: gtk2_ardour/editor_ops.cc:1547
 msgid "insert region"
 msgstr "Region einfügen"
 
-#: gtk2_ardour/editor_ops.cc:1759
+#: gtk2_ardour/editor_ops.cc:1746
 #: gtk2_ardour/io_selector.cc:59
 #: gtk2_ardour/io_selector.cc:747
 #: gtk2_ardour/connection_editor.cc:85
 msgid "OK"
 msgstr "OK"
 
-#: gtk2_ardour/editor_ops.cc:1766
-msgid "ardour: rename region"
-msgstr "ardour: Region umbenennen"
+#: gtk2_ardour/editor_ops.cc:1754
+msgid "Rename Region"
+msgstr "Region umbenennen"
 
-#: gtk2_ardour/editor_ops.cc:2000
-#: gtk2_ardour/editor_ops.cc:2053
+#: gtk2_ardour/editor_ops.cc:1996
+#: gtk2_ardour/editor_ops.cc:2055
 msgid "separate"
 msgstr "Teilen"
 
-#: gtk2_ardour/editor_ops.cc:2120
+#: gtk2_ardour/editor_ops.cc:2119
 msgid "trim to selection"
 msgstr "Auf Auswahl kürzen"
 
-#: gtk2_ardour/editor_ops.cc:2161
+#: gtk2_ardour/editor_ops.cc:2164
 msgid "region fill"
 msgstr "Region füllen"
 
-#: gtk2_ardour/editor_ops.cc:2225
+#: gtk2_ardour/editor_ops.cc:2228
 msgid "fill selection"
 msgstr "Auswahl füllen"
 
-#: gtk2_ardour/editor_ops.cc:2246
+#: gtk2_ardour/editor_ops.cc:2249
 msgid "Programming error. that region doesn't cover that position"
 msgstr "Programmierfehler: that region doesn't cover that position"
 
-#: gtk2_ardour/editor_ops.cc:2249
+#: gtk2_ardour/editor_ops.cc:2252
 msgid "set region sync position"
 msgstr "Sync-Position setzen"
 
-#: gtk2_ardour/editor_ops.cc:2265
+#: gtk2_ardour/editor_ops.cc:2268
 msgid "Place the edit cursor at the desired sync point"
 msgstr "Positionieren sie den Arbeits-Cursor am gewünschten Synchronisationspunkt"
 
-#: gtk2_ardour/editor_ops.cc:2270
+#: gtk2_ardour/editor_ops.cc:2273
 msgid "set sync from edit cursor"
 msgstr "Sync-Position an Editierzeiger setzen"
 
-#: gtk2_ardour/editor_ops.cc:2283
+#: gtk2_ardour/editor_ops.cc:2286
 msgid "remove sync"
 msgstr "Synchronisationspunkt entfernen"
 
-#: gtk2_ardour/editor_ops.cc:2298
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:2301
 msgid "naturalize"
-msgstr "Ardour: Region"
+msgstr "zur Ursprungsposition setzen"
 
-#: gtk2_ardour/editor_ops.cc:2363
+#: gtk2_ardour/editor_ops.cc:2366
 msgid "align selection (relative)"
 msgstr "Auswahl relativ ausrichten"
 
-#: gtk2_ardour/editor_ops.cc:2392
+#: gtk2_ardour/editor_ops.cc:2395
 msgid "align selection"
 msgstr "Auswahl ausrichten"
 
-#: gtk2_ardour/editor_ops.cc:2404
+#: gtk2_ardour/editor_ops.cc:2407
 msgid "align region"
 msgstr "Region ausrichten"
 
-#: gtk2_ardour/editor_ops.cc:2452
-#: gtk2_ardour/editor_ops.cc:2478
+#: gtk2_ardour/editor_ops.cc:2455
+#: gtk2_ardour/editor_ops.cc:2481
 msgid "trim to edit"
 msgstr "Am Editierzeiger abschneiden"
 
-#: gtk2_ardour/editor_ops.cc:2530
-msgid "ardour: freeze"
-msgstr "ardour: Einfrieren"
-
-#: gtk2_ardour/editor_ops.cc:2535
+#: gtk2_ardour/editor_ops.cc:2540
 msgid "Cancel Freeze"
 msgstr "Einfrieren abbrechen"
 
-#: gtk2_ardour/editor_ops.cc:2578
+#: gtk2_ardour/editor_ops.cc:2583
 msgid "bounce range"
 msgstr "Bereich Bouncen"
 
-#: gtk2_ardour/editor_ops.cc:2630
+#: gtk2_ardour/editor_ops.cc:2635
 msgid "cut"
 msgstr "Ausschneiden"
 
-#: gtk2_ardour/editor_ops.cc:2633
+#: gtk2_ardour/editor_ops.cc:2638
 msgid "copy"
 msgstr "Kopieren"
 
-#: gtk2_ardour/editor_ops.cc:2646
+#: gtk2_ardour/editor_ops.cc:2651
 msgid " objects"
 msgstr "Objekte"
 
-#: gtk2_ardour/editor_ops.cc:2672
+#: gtk2_ardour/editor_ops.cc:2677
 msgid " range"
 msgstr "Bereich"
 
-#: gtk2_ardour/editor_ops.cc:2897
+#: gtk2_ardour/editor_ops.cc:2906
 msgid "paste"
 msgstr "Einfügen"
 
-#: gtk2_ardour/editor_ops.cc:2939
+#: gtk2_ardour/editor_ops.cc:2948
 msgid "paste chunk"
 msgstr "Abschnitt einfügen"
 
-#: gtk2_ardour/editor_ops.cc:2982
+#: gtk2_ardour/editor_ops.cc:2991
 msgid "duplicate region"
 msgstr "Region duplizieren"
 
-#: gtk2_ardour/editor_ops.cc:3027
+#: gtk2_ardour/editor_ops.cc:3036
 msgid "duplicate selection"
 msgstr "Auswahl duplizieren"
 
-#: gtk2_ardour/editor_ops.cc:3083
+#: gtk2_ardour/editor_ops.cc:3092
 msgid "clear playlist"
 msgstr "Wiedergabeliste zurücksetzen"
 
-#: gtk2_ardour/editor_ops.cc:3113
+#: gtk2_ardour/editor_ops.cc:3122
 msgid "nudge track"
 msgstr "Spur verschieben"
 
-#: gtk2_ardour/editor_ops.cc:3141
+#: gtk2_ardour/editor_ops.cc:3150
 msgid ""
 "Do you really want to destroy the last capture?\n"
 "(This is destructive and cannot be undone)"
@@ -4275,42 +4279,42 @@ msgstr ""
 "Wollen Sie wirklich die letzte Aufnahme rückgängig machen?\n"
 "(Dies kann nicht rückgängig gemacht werden!)"
 
-#: gtk2_ardour/editor_ops.cc:3169
+#: gtk2_ardour/editor_ops.cc:3178
 msgid "normalize"
 msgstr "Normalisieren"
 
-#: gtk2_ardour/editor_ops.cc:3222
+#: gtk2_ardour/editor_ops.cc:3231
 msgid "reverse regions"
 msgstr "Regionen umkehren"
 
-#: gtk2_ardour/editor_ops.cc:3335
+#: gtk2_ardour/editor_ops.cc:3344
 msgid "reset region gain"
 msgstr "Lautstärkekurve zurücksetzen"
 
-#: gtk2_ardour/editor_ops.cc:3424
+#: gtk2_ardour/editor_ops.cc:3433
 msgid "set fade in shape"
 msgstr "Fade-In Kurve bearbeiten"
 
-#: gtk2_ardour/editor_ops.cc:3448
+#: gtk2_ardour/editor_ops.cc:3457
 msgid "set fade out shape"
 msgstr "Fade-Out Kurve ändern"
 
-#: gtk2_ardour/editor_ops.cc:3472
+#: gtk2_ardour/editor_ops.cc:3481
 msgid "set fade in active"
 msgstr "Fade-In aktivieren"
 
-#: gtk2_ardour/editor_ops.cc:3496
+#: gtk2_ardour/editor_ops.cc:3505
 msgid "set fade out active"
 msgstr "Fade-Out aktivieren"
 
-#: gtk2_ardour/editor_region_list.cc:107
-#: gtk2_ardour/editor_region_list.cc:113
-#: gtk2_ardour/editor_region_list.cc:116
-#: gtk2_ardour/location_ui.cc:56
+#: gtk2_ardour/editor_region_list.cc:108
+#: gtk2_ardour/editor_region_list.cc:114
+#: gtk2_ardour/editor_region_list.cc:117
+#: gtk2_ardour/location_ui.cc:57
 msgid "Hidden"
 msgstr "Versteckt"
 
-#: gtk2_ardour/editor_region_list.cc:162
+#: gtk2_ardour/editor_region_list.cc:172
 msgid " (MISSING)"
 msgstr "(FEHLT)"
 
@@ -4320,73 +4324,73 @@ msgstr "(FEHLT)"
 msgid "editor"
 msgstr "Editor"
 
-#: gtk2_ardour/editor_route_list.cc:321
-#: gtk2_ardour/mixer_ui.cc:717
+#: gtk2_ardour/editor_route_list.cc:320
+#: gtk2_ardour/mixer_ui.cc:728
 msgid "Show All"
 msgstr "Alles zeigen"
 
-#: gtk2_ardour/editor_route_list.cc:322
-#: gtk2_ardour/mixer_ui.cc:718
+#: gtk2_ardour/editor_route_list.cc:321
+#: gtk2_ardour/mixer_ui.cc:729
 msgid "Hide All"
 msgstr "Alle verbergen"
 
-#: gtk2_ardour/editor_route_list.cc:323
-#: gtk2_ardour/mixer_ui.cc:719
+#: gtk2_ardour/editor_route_list.cc:322
+#: gtk2_ardour/mixer_ui.cc:730
 msgid "Show All Audio Tracks"
 msgstr "Zeige alle Audio-Spuren"
 
-#: gtk2_ardour/editor_route_list.cc:324
-#: gtk2_ardour/mixer_ui.cc:720
+#: gtk2_ardour/editor_route_list.cc:323
+#: gtk2_ardour/mixer_ui.cc:731
 msgid "Hide All Audio Tracks"
 msgstr "Verberge alle Audio-Spuren"
 
-#: gtk2_ardour/editor_route_list.cc:325
-#: gtk2_ardour/mixer_ui.cc:721
+#: gtk2_ardour/editor_route_list.cc:324
+#: gtk2_ardour/mixer_ui.cc:732
 msgid "Show All Audio Busses"
 msgstr "Zeige alle Audio-Busse"
 
-#: gtk2_ardour/editor_route_list.cc:326
-#: gtk2_ardour/mixer_ui.cc:722
+#: gtk2_ardour/editor_route_list.cc:325
+#: gtk2_ardour/mixer_ui.cc:733
 msgid "Hide All Audio Busses"
 msgstr "Verberge alle Audio-Busse"
 
-#: gtk2_ardour/editor_rulers.cc:337
+#: gtk2_ardour/editor_rulers.cc:345
 msgid "New location marker"
 msgstr "Neuer Positionsmarker"
 
-#: gtk2_ardour/editor_rulers.cc:338
+#: gtk2_ardour/editor_rulers.cc:346
 msgid "Clear all locations"
 msgstr "Alle Positionsmarker entfernen"
 
-#: gtk2_ardour/editor_rulers.cc:339
+#: gtk2_ardour/editor_rulers.cc:347
 msgid "Unhide locations"
 msgstr "Positionen anzeigen"
 
-#: gtk2_ardour/editor_rulers.cc:344
+#: gtk2_ardour/editor_rulers.cc:352
 msgid "Clear all ranges"
 msgstr "Alle Bereiche entfernen"
 
-#: gtk2_ardour/editor_rulers.cc:345
+#: gtk2_ardour/editor_rulers.cc:353
 msgid "Unhide ranges"
 msgstr "Bereiche anzeigen"
 
-#: gtk2_ardour/editor_rulers.cc:354
+#: gtk2_ardour/editor_rulers.cc:362
 msgid "New Tempo"
 msgstr "Tempowechsel einfügen..."
 
-#: gtk2_ardour/editor_rulers.cc:355
+#: gtk2_ardour/editor_rulers.cc:363
 msgid "Clear tempo"
 msgstr "Tempo zurücksetzen"
 
-#: gtk2_ardour/editor_rulers.cc:360
+#: gtk2_ardour/editor_rulers.cc:368
 msgid "New Meter"
 msgstr "Taktwechsel einfügen..."
 
-#: gtk2_ardour/editor_rulers.cc:361
+#: gtk2_ardour/editor_rulers.cc:369
 msgid "Clear meter"
 msgstr "Taktart zurücksetzen"
 
-#: gtk2_ardour/editor_rulers.cc:369
+#: gtk2_ardour/editor_rulers.cc:377
 msgid "Min:Secs"
 msgstr "Min:Sek"
 
@@ -4447,258 +4451,254 @@ msgstr "Abbrechen"
 msgid "No selectable material found in the currently selected time range"
 msgstr "Konnte im ausgewählten Bereich kein auswählbares Material finden"
 
-#: gtk2_ardour/editor_tempodisplay.cc:280
-#: gtk2_ardour/editor_tempodisplay.cc:323
+#: gtk2_ardour/editor_tempodisplay.cc:290
+#: gtk2_ardour/editor_tempodisplay.cc:331
 msgid "add"
 msgstr "Hinzufügen"
 
-#: gtk2_ardour/editor_tempodisplay.cc:302
+#: gtk2_ardour/editor_tempodisplay.cc:312
 msgid "add tempo mark"
 msgstr "Tempowechsel einfügen"
 
-#: gtk2_ardour/editor_tempodisplay.cc:345
+#: gtk2_ardour/editor_tempodisplay.cc:353
 msgid "add meter mark"
 msgstr "Taktwechsel einfügen"
 
-#: gtk2_ardour/editor_tempodisplay.cc:380
-#: gtk2_ardour/editor_tempodisplay.cc:411
+#: gtk2_ardour/editor_tempodisplay.cc:386
+#: gtk2_ardour/editor_tempodisplay.cc:415
 msgid "done"
 msgstr "Fertig"
 
-#: gtk2_ardour/editor_tempodisplay.cc:398
-#: gtk2_ardour/editor_tempodisplay.cc:429
+#: gtk2_ardour/editor_tempodisplay.cc:404
+#: gtk2_ardour/editor_tempodisplay.cc:433
 msgid "replace tempo mark"
 msgstr "Tempowechsel ersetzen"
 
-#: gtk2_ardour/editor_tempodisplay.cc:471
+#: gtk2_ardour/editor_tempodisplay.cc:473
 #: gtk2_ardour/editor_tempodisplay.cc:505
 msgid "programming error: marker for meter is not a meter marker!"
 msgstr "Programmierfehler: marker for meter is not a meter marker!"
 
-#: gtk2_ardour/editor_tempodisplay.cc:481
+#: gtk2_ardour/editor_tempodisplay.cc:483
 #: gtk2_ardour/editor_tempodisplay.cc:517
 msgid "remove tempo mark"
 msgstr "Tempowechsel entfernen"
 
-#: gtk2_ardour/editor_timefx.cc:51
+#: gtk2_ardour/editor_timefx.cc:54
 msgid "Quick but Ugly"
 msgstr "Quick but Ugly"
 
-#: gtk2_ardour/editor_timefx.cc:52
+#: gtk2_ardour/editor_timefx.cc:55
 msgid "Skip Anti-aliasing"
 msgstr "Überspringe Anti-Aliasing"
 
-#: gtk2_ardour/editor_timefx.cc:56
-msgid "ardour: timestretch"
-msgstr "ardour: Time-Stretch"
-
-#: gtk2_ardour/editor_timefx.cc:57
+#: gtk2_ardour/editor_timefx.cc:59
 msgid "TimeStretchDialog"
 msgstr ""
 
-#: gtk2_ardour/editor_timefx.cc:70
+#: gtk2_ardour/editor_timefx.cc:62
+msgid "Timestretch"
+msgstr "Time-Stretch"
+
+#: gtk2_ardour/editor_timefx.cc:76
 msgid "Stretch/Shrink it"
 msgstr "Time-Stretch ausführen"
 
-#: gtk2_ardour/editor_timefx.cc:73
-#: gtk2_ardour/editor_timefx.cc:74
+#: gtk2_ardour/editor_timefx.cc:79
+#: gtk2_ardour/editor_timefx.cc:80
 msgid "TimeStretchButton"
 msgstr ""
 
-#: gtk2_ardour/editor_timefx.cc:75
+#: gtk2_ardour/editor_timefx.cc:81
 msgid "TimeStretchProgress"
 msgstr ""
 
-#: gtk2_ardour/editor_timefx.cc:139
+#: gtk2_ardour/editor_timefx.cc:145
 msgid "timestretch cannot be started - thread creation error"
 msgstr "Time-Stretch konnte nicht gestartet werden - Fehler beim erstellen des Threads"
 
-#: gtk2_ardour/export_dialog.cc:56
-#: gtk2_ardour/export_dialog.cc:395
-#: gtk2_ardour/export_dialog.cc:1023
-#: gtk2_ardour/export_dialog.cc:1191
+#: gtk2_ardour/export_dialog.cc:59
+#: gtk2_ardour/export_dialog.cc:401
+#: gtk2_ardour/export_dialog.cc:1029
+#: gtk2_ardour/export_dialog.cc:1197
 msgid "22.05kHz"
 msgstr ""
 
-#: gtk2_ardour/export_dialog.cc:57
-#: gtk2_ardour/export_dialog.cc:398
-#: gtk2_ardour/export_dialog.cc:413
-#: gtk2_ardour/export_dialog.cc:1025
-#: gtk2_ardour/export_dialog.cc:1193
+#: gtk2_ardour/export_dialog.cc:60
+#: gtk2_ardour/export_dialog.cc:404
+#: gtk2_ardour/export_dialog.cc:419
+#: gtk2_ardour/export_dialog.cc:1031
+#: gtk2_ardour/export_dialog.cc:1199
 msgid "44.1kHz"
 msgstr ""
 
-#: gtk2_ardour/export_dialog.cc:58
-#: gtk2_ardour/export_dialog.cc:401
-#: gtk2_ardour/export_dialog.cc:1027
-#: gtk2_ardour/export_dialog.cc:1195
+#: gtk2_ardour/export_dialog.cc:61
+#: gtk2_ardour/export_dialog.cc:407
+#: gtk2_ardour/export_dialog.cc:1033
+#: gtk2_ardour/export_dialog.cc:1201
 msgid "48kHz"
 msgstr "4"
 
-#: gtk2_ardour/export_dialog.cc:59
-#: gtk2_ardour/export_dialog.cc:404
-#: gtk2_ardour/export_dialog.cc:1029
-#: gtk2_ardour/export_dialog.cc:1197
+#: gtk2_ardour/export_dialog.cc:62
+#: gtk2_ardour/export_dialog.cc:410
+#: gtk2_ardour/export_dialog.cc:1035
+#: gtk2_ardour/export_dialog.cc:1203
 msgid "88.2kHz"
 msgstr ""
 
-#: gtk2_ardour/export_dialog.cc:60
-#: gtk2_ardour/export_dialog.cc:407
-#: gtk2_ardour/export_dialog.cc:1031
-#: gtk2_ardour/export_dialog.cc:1199
+#: gtk2_ardour/export_dialog.cc:63
+#: gtk2_ardour/export_dialog.cc:413
+#: gtk2_ardour/export_dialog.cc:1037
+#: gtk2_ardour/export_dialog.cc:1205
 msgid "96kHz"
 msgstr ""
 
-#: gtk2_ardour/export_dialog.cc:61
-#: gtk2_ardour/export_dialog.cc:410
-#: gtk2_ardour/export_dialog.cc:1033
-#: gtk2_ardour/export_dialog.cc:1201
+#: gtk2_ardour/export_dialog.cc:64
+#: gtk2_ardour/export_dialog.cc:416
+#: gtk2_ardour/export_dialog.cc:1039
+#: gtk2_ardour/export_dialog.cc:1207
 msgid "192kHz"
 msgstr ""
 
-#: gtk2_ardour/export_dialog.cc:66
+#: gtk2_ardour/export_dialog.cc:69
 msgid "best"
 msgstr "bestmöglich"
 
-#: gtk2_ardour/export_dialog.cc:67
-#: gtk2_ardour/export_dialog.cc:1208
+#: gtk2_ardour/export_dialog.cc:70
+#: gtk2_ardour/export_dialog.cc:1214
 msgid "fastest"
 msgstr "schnellstmöglich"
 
-#: gtk2_ardour/export_dialog.cc:68
-#: gtk2_ardour/export_dialog.cc:1210
+#: gtk2_ardour/export_dialog.cc:71
+#: gtk2_ardour/export_dialog.cc:1216
 msgid "linear"
 msgstr "Linear"
 
-#: gtk2_ardour/export_dialog.cc:69
-#: gtk2_ardour/export_dialog.cc:1212
+#: gtk2_ardour/export_dialog.cc:72
+#: gtk2_ardour/export_dialog.cc:1218
 msgid "better"
 msgstr "besser"
 
-#: gtk2_ardour/export_dialog.cc:70
-#: gtk2_ardour/export_dialog.cc:1214
+#: gtk2_ardour/export_dialog.cc:73
+#: gtk2_ardour/export_dialog.cc:1220
 msgid "intermediate"
 msgstr "mittelmäßig"
 
-#: gtk2_ardour/export_dialog.cc:76
-#: gtk2_ardour/export_dialog.cc:1223
+#: gtk2_ardour/export_dialog.cc:79
+#: gtk2_ardour/export_dialog.cc:1229
 msgid "Rectangular"
 msgstr "rechteckig"
 
-#: gtk2_ardour/export_dialog.cc:77
+#: gtk2_ardour/export_dialog.cc:80
 msgid "Shaped Noise"
 msgstr "Shaped Noise"
 
-#: gtk2_ardour/export_dialog.cc:78
-#: gtk2_ardour/export_dialog.cc:1225
+#: gtk2_ardour/export_dialog.cc:81
+#: gtk2_ardour/export_dialog.cc:1231
 msgid "Triangular"
 msgstr "dreieckig"
 
-#: gtk2_ardour/export_dialog.cc:84
-#: gtk2_ardour/export_dialog.cc:482
-#: gtk2_ardour/export_dialog.cc:1051
-#: gtk2_ardour/export_dialog.cc:1173
+#: gtk2_ardour/export_dialog.cc:87
+#: gtk2_ardour/export_dialog.cc:488
+#: gtk2_ardour/export_dialog.cc:1057
+#: gtk2_ardour/export_dialog.cc:1179
 msgid "mono"
 msgstr "Mono"
 
-#: gtk2_ardour/export_dialog.cc:90
+#: gtk2_ardour/export_dialog.cc:93
 msgid "CUE"
 msgstr "CUE"
 
-#: gtk2_ardour/export_dialog.cc:91
+#: gtk2_ardour/export_dialog.cc:94
 msgid "TOC"
 msgstr "TOC"
 
-#: gtk2_ardour/export_dialog.cc:99
+#: gtk2_ardour/export_dialog.cc:102
 msgid "Format"
 msgstr "Format"
 
-#: gtk2_ardour/export_dialog.cc:100
+#: gtk2_ardour/export_dialog.cc:103
 msgid "CD Marker File Type"
 msgstr "CD-Marker"
 
-#: gtk2_ardour/export_dialog.cc:101
+#: gtk2_ardour/export_dialog.cc:104
 msgid "Channels"
 msgstr "Kanäle"
 
-#: gtk2_ardour/export_dialog.cc:102
+#: gtk2_ardour/export_dialog.cc:105
 msgid "File Type"
 msgstr "Dateiformat"
 
-#: gtk2_ardour/export_dialog.cc:103
+#: gtk2_ardour/export_dialog.cc:106
 msgid "Sample Format"
 msgstr "Sampleformat"
 
-#: gtk2_ardour/export_dialog.cc:104
+#: gtk2_ardour/export_dialog.cc:107
 msgid "Sample Endianness"
 msgstr "Bytefolge"
 
-#: gtk2_ardour/export_dialog.cc:105
+#: gtk2_ardour/export_dialog.cc:108
 msgid "Sample Rate"
 msgstr "Samplerate"
 
-#: gtk2_ardour/export_dialog.cc:106
+#: gtk2_ardour/export_dialog.cc:109
 msgid "Conversion Quality"
 msgstr "Qualität"
 
-#: gtk2_ardour/export_dialog.cc:107
+#: gtk2_ardour/export_dialog.cc:110
 msgid "Dither Type"
 msgstr "Dithering"
 
-#: gtk2_ardour/export_dialog.cc:108
+#: gtk2_ardour/export_dialog.cc:111
 msgid "Export CD Marker File Only"
 msgstr "Nur CD-Marker exportieren"
 
-#: gtk2_ardour/export_dialog.cc:109
-#: gtk2_ardour/option_editor.cc:83
+#: gtk2_ardour/export_dialog.cc:112
 #: gtk2_ardour/option_editor.cc:84
+#: gtk2_ardour/option_editor.cc:85
 msgid "Browse"
 msgstr "Durchsuchen"
 
-#: gtk2_ardour/export_dialog.cc:110
+#: gtk2_ardour/export_dialog.cc:113
 msgid "Specific tracks ..."
 msgstr "Alle Spuren..."
 
-#: gtk2_ardour/export_dialog.cc:121
-msgid "ardour: export"
-msgstr "ardour: Exportieren"
-
-#: gtk2_ardour/export_dialog.cc:135
-#: gtk2_ardour/export_dialog.cc:151
+#: gtk2_ardour/export_dialog.cc:141
+#: gtk2_ardour/export_dialog.cc:157
 #: gtk2_ardour/mixer_strip.cc:124
 #: gtk2_ardour/mixer_strip.cc:739
 msgid "Output"
 msgstr "Ausgang"
 
-#: gtk2_ardour/export_dialog.cc:629
+#: gtk2_ardour/export_dialog.cc:635
 msgid "Editor: cannot open \"%1\" as export file for CD toc file"
 msgstr "Editor: Kann \"%1\" nicht nicht zum Export für CD-Inhaltsverzeichnis (TOC) öffnen."
 
-#: gtk2_ardour/export_dialog.cc:755
+#: gtk2_ardour/export_dialog.cc:761
 msgid "Editor: cannot open \"%1\" as export file for CD cue file"
 msgstr "Editor: Kann \"%1\" nicht zum Export für CD CUE-Datei öffnen."
 
-#: gtk2_ardour/export_dialog.cc:774
+#: gtk2_ardour/export_dialog.cc:780
 msgid "WAV"
 msgstr "WAV"
 
-#: gtk2_ardour/export_dialog.cc:908
+#: gtk2_ardour/export_dialog.cc:914
 msgid "Stop Export"
 msgstr "Export Abbrechen"
 
-#: gtk2_ardour/export_dialog.cc:1127
+#: gtk2_ardour/export_dialog.cc:1133
 msgid "Please enter a valid filename."
 msgstr "Bitte geben Sie einen gültigen Dateinamen ein."
 
-#: gtk2_ardour/export_dialog.cc:1137
+#: gtk2_ardour/export_dialog.cc:1143
 msgid "Please specify a complete filename for the audio file."
 msgstr "Bitte geben Sie einen kompletten Dateinamen für die Audiodatei ein."
 
-#: gtk2_ardour/export_dialog.cc:1143
+#: gtk2_ardour/export_dialog.cc:1149
 msgid "File already exists, do you want to overwrite it?"
 msgstr "Datei existiert bereits, wollen Sie sie überschreiben?"
 
-#: gtk2_ardour/export_dialog.cc:1155
+#: gtk2_ardour/export_dialog.cc:1161
 #: gtk2_ardour/export_range_markers_dialog.cc:160
 msgid "Cannot write file in: "
 msgstr "Konnte Datei nicht in Verzeichnis  schreiben:"
@@ -4893,12 +4893,12 @@ msgid "%1 output"
 msgstr "%1 Ausgang"
 
 #: gtk2_ardour/io_selector.cc:143
-#: gtk2_ardour/route_params_ui.cc:101
+#: gtk2_ardour/route_params_ui.cc:103
 msgid "Inputs"
 msgstr "Eingänge"
 
 #: gtk2_ardour/io_selector.cc:143
-#: gtk2_ardour/route_params_ui.cc:102
+#: gtk2_ardour/route_params_ui.cc:104
 msgid "Outputs"
 msgstr "Ausgänge"
 
@@ -4952,53 +4952,45 @@ msgstr "Automation"
 msgid "Mgnual"
 msgstr "Manuell"
 
-#: gtk2_ardour/location_ui.cc:48
-#: gtk2_ardour/location_ui.cc:51
-#, fuzzy
-msgid "Set"
-msgstr "Auswahl"
-
 #: gtk2_ardour/location_ui.cc:49
 #: gtk2_ardour/location_ui.cc:52
-#, fuzzy
+msgid "Set"
+msgstr "Setzen"
+
+#: gtk2_ardour/location_ui.cc:50
+#: gtk2_ardour/location_ui.cc:53
 msgid "Go"
-msgstr "Los"
+msgstr "Gehe zu"
 
-#: gtk2_ardour/location_ui.cc:55
+#: gtk2_ardour/location_ui.cc:56
 msgid "CD"
 msgstr "CD"
 
-#: gtk2_ardour/location_ui.cc:58
-#, fuzzy
+#: gtk2_ardour/location_ui.cc:59
 msgid "SCMS"
 msgstr "SCMS"
 
-#: gtk2_ardour/location_ui.cc:59
-#, fuzzy
+#: gtk2_ardour/location_ui.cc:60
 msgid "Pre-Emphasis"
-msgstr "Pre-Emphasis"
+msgstr "Präemphase"
 
-#: gtk2_ardour/location_ui.cc:570
+#: gtk2_ardour/location_ui.cc:571
 msgid "Add New Location"
 msgstr "Neue Position hinzufügen"
 
-#: gtk2_ardour/location_ui.cc:571
+#: gtk2_ardour/location_ui.cc:572
 msgid "Add New Range"
 msgstr "Neuen Bereich hinzufügen"
 
-#: gtk2_ardour/location_ui.cc:575
-msgid "ardour: locations"
-msgstr "ardour: Positionen"
-
-#: gtk2_ardour/location_ui.cc:604
+#: gtk2_ardour/location_ui.cc:608
 msgid "Location (CD Index) Markers"
 msgstr "Positionsmarker (CD Index)"
 
-#: gtk2_ardour/location_ui.cc:624
+#: gtk2_ardour/location_ui.cc:628
 msgid "Range (CD Track) Markers"
 msgstr "Bereiche (CD Tracks)"
 
-#: gtk2_ardour/location_ui.cc:797
+#: gtk2_ardour/location_ui.cc:801
 msgid "add range marker"
 msgstr "Bereich hinzufügen"
 
@@ -5092,11 +5084,11 @@ msgstr "solange Sie sich an die Bedingungen, die in der Datei COPYING aufgeführ
 msgid "could not create ARDOUR GUI"
 msgstr "konnte das grafische Ardour User Interface nicht erstellen"
 
-#: gtk2_ardour/main.cc:281
+#: gtk2_ardour/main.cc:282
 msgid "Could not connect to JACK server as  \"%1\""
 msgstr "Konnte nicht zu JACK Server als \"%1\" verbinden"
 
-#: gtk2_ardour/main.cc:288
+#: gtk2_ardour/main.cc:289
 msgid "could not initialize Ardour."
 msgstr "Konnte ardour nicht initialisieren."
 
@@ -5186,7 +5178,7 @@ msgstr "*Kmt*"
 
 #: gtk2_ardour/mixer_strip.cc:496
 #: gtk2_ardour/mixer_strip.cc:562
-#: gtk2_ardour/redirect_box.cc:1085
+#: gtk2_ardour/redirect_box.cc:1102
 msgid "Not connected to JACK - no I/O changes are possible"
 msgstr "Nicht mit Jack verbunden - es sind keine Änderungen an Ein-/Ausgängen möglich"
 
@@ -5227,244 +5219,241 @@ msgstr "~G"
 msgid "Invert Polarity"
 msgstr "Polarität umkehren"
 
-#: gtk2_ardour/mixer_ui.cc:81
+#: gtk2_ardour/mixer_ui.cc:82
 msgid "Strips"
 msgstr "Spur"
 
-#: gtk2_ardour/mixer_ui.cc:106
+#: gtk2_ardour/mixer_ui.cc:107
 msgid "Group"
 msgstr "Gruppe"
 
-#: gtk2_ardour/mixer_ui.cc:204
-#: gtk2_ardour/mixer_ui.cc:385
-msgid "ardour: mixer"
-msgstr "ardour: Mixer"
+#: gtk2_ardour/mixer_ui.cc:207
+#: gtk2_ardour/mixer_ui.cc:362
+#: gtk2_ardour/mixer_ui.cc:394
+msgid "Mixer"
+msgstr "Mixer"
 
-#: gtk2_ardour/mixer_ui.cc:356
-msgid "ardour: mixer: "
-msgstr "ardour: Mixer: "
-
-#: gtk2_ardour/mixer_ui.cc:590
+#: gtk2_ardour/mixer_ui.cc:601
 msgid "signal"
 msgstr "Signal"
 
-#: gtk2_ardour/mixer_ui.cc:741
+#: gtk2_ardour/mixer_ui.cc:752
 msgid "track display list item for renamed strip not found!"
 msgstr "Konnte Bezeichnung für umbenannten Mixerkanal nicht in der Spurliste finden!"
 
-#: gtk2_ardour/new_session_dialog.cc:40
+#: gtk2_ardour/new_session_dialog.cc:44
 msgid "Name :"
 msgstr "Name :"
 
-#: gtk2_ardour/new_session_dialog.cc:44
-#: gtk2_ardour/new_session_dialog.cc:45
-#: gtk2_ardour/new_session_dialog.cc:46
-#: gtk2_ardour/new_session_dialog.cc:47
+#: gtk2_ardour/new_session_dialog.cc:48
+#: gtk2_ardour/new_session_dialog.cc:49
+#: gtk2_ardour/new_session_dialog.cc:50
+#: gtk2_ardour/new_session_dialog.cc:51
 msgid "channels"
 msgstr "Kanäle"
 
-#: gtk2_ardour/new_session_dialog.cc:65
+#: gtk2_ardour/new_session_dialog.cc:69
 msgid "<b>Busses</b>"
 msgstr "<b>Busse</b>"
 
-#: gtk2_ardour/new_session_dialog.cc:66
+#: gtk2_ardour/new_session_dialog.cc:70
 msgid "<b>Inputs</b>"
 msgstr "<b>Eingänge</b>"
 
-#: gtk2_ardour/new_session_dialog.cc:67
+#: gtk2_ardour/new_session_dialog.cc:71
 msgid "<b>Outputs</b>"
 msgstr "<b>Ausgänge</b>"
 
-#: gtk2_ardour/new_session_dialog.cc:69
+#: gtk2_ardour/new_session_dialog.cc:73
 msgid "Create Folder In :"
 msgstr "Verzeichnis erstellen in:"
 
-#: gtk2_ardour/new_session_dialog.cc:71
+#: gtk2_ardour/new_session_dialog.cc:75
 msgid "Template :"
 msgstr "Vorlage :"
 
-#: gtk2_ardour/new_session_dialog.cc:73
+#: gtk2_ardour/new_session_dialog.cc:77
 msgid "Create Monitor Bus"
 msgstr "Monitor Bus erstellen"
 
-#: gtk2_ardour/new_session_dialog.cc:80
+#: gtk2_ardour/new_session_dialog.cc:84
 msgid "Create Master Bus"
 msgstr "Master Bus erstellen"
 
-#: gtk2_ardour/new_session_dialog.cc:82
+#: gtk2_ardour/new_session_dialog.cc:86
 msgid "Automatically Connect to Physical Inputs"
 msgstr "Eingänge automatisch mit Soundkarteneingängen verbinden"
 
-#: gtk2_ardour/new_session_dialog.cc:83
-#: gtk2_ardour/new_session_dialog.cc:96
+#: gtk2_ardour/new_session_dialog.cc:87
+#: gtk2_ardour/new_session_dialog.cc:100
 msgid "Use only"
 msgstr "Benutze nur"
 
-#: gtk2_ardour/new_session_dialog.cc:95
+#: gtk2_ardour/new_session_dialog.cc:99
 msgid "Automatically Connect Outputs"
 msgstr "Ausgänge automatisch verbinden"
 
-#: gtk2_ardour/new_session_dialog.cc:104
+#: gtk2_ardour/new_session_dialog.cc:108
 msgid "... to Master Bus"
 msgstr "... mit Master Bus"
 
-#: gtk2_ardour/new_session_dialog.cc:105
+#: gtk2_ardour/new_session_dialog.cc:109
 msgid "... to Physical Outputs"
 msgstr "... mit Soundkartenausgängen"
 
-#: gtk2_ardour/new_session_dialog.cc:111
+#: gtk2_ardour/new_session_dialog.cc:115
 msgid "Advanced Options"
 msgstr "Erweiterte Einstellungen"
 
-#: gtk2_ardour/new_session_dialog.cc:119
+#: gtk2_ardour/new_session_dialog.cc:123
 msgid "Recent:"
 msgstr "Zuletzt verwendet:"
 
-#: gtk2_ardour/new_session_dialog.cc:156
+#: gtk2_ardour/new_session_dialog.cc:160
 msgid "Browse:"
 msgstr "Durchsuchen:"
 
-#: gtk2_ardour/new_session_dialog.cc:334
+#: gtk2_ardour/new_session_dialog.cc:338
 msgid "New Session"
 msgstr "Neues Projekt"
 
-#: gtk2_ardour/new_session_dialog.cc:336
+#: gtk2_ardour/new_session_dialog.cc:340
 msgid "Open Session"
 msgstr "Projekt öffnen"
 
-#: gtk2_ardour/new_session_dialog.cc:341
-msgid "ardour: session control"
-msgstr "ardour: Neues Projekt"
+#: gtk2_ardour/new_session_dialog.cc:347
+msgid "Session Control"
+msgstr "Projektübersicht"
 
-#: gtk2_ardour/new_session_dialog.cc:382
+#: gtk2_ardour/new_session_dialog.cc:390
 msgid "select template"
 msgstr "Vorlage auswählen"
 
-#: gtk2_ardour/new_session_dialog.cc:388
+#: gtk2_ardour/new_session_dialog.cc:396
 msgid "select session file"
 msgstr "Projektdatei auswählen"
 
-#: gtk2_ardour/new_session_dialog.cc:397
+#: gtk2_ardour/new_session_dialog.cc:405
 msgid "select directory"
 msgstr "Verzeichnis auswählen"
 
-#: gtk2_ardour/option_editor.cc:73
+#: gtk2_ardour/option_editor.cc:74
 msgid "SMPTE offset is negative"
 msgstr "Negatives SMPTE-Offset"
 
-#: gtk2_ardour/option_editor.cc:102
-msgid "ardour: options editor"
-msgstr "ardour: Einstellungen"
-
-#: gtk2_ardour/option_editor.cc:127
+#: gtk2_ardour/option_editor.cc:131
 msgid "Paths/Files"
 msgstr "Pfade"
 
-#: gtk2_ardour/option_editor.cc:128
+#: gtk2_ardour/option_editor.cc:132
 msgid "Kbd/Mouse"
 msgstr "Tastatur/Maus"
 
-#: gtk2_ardour/option_editor.cc:131
+#: gtk2_ardour/option_editor.cc:135
 msgid "Layers & Fades"
 msgstr "Layer & Fades"
 
-#: gtk2_ardour/option_editor.cc:135
+#: gtk2_ardour/option_editor.cc:139
 msgid "MIDI"
 msgstr "MIDI"
 
-#: gtk2_ardour/option_editor.cc:223
+#: gtk2_ardour/option_editor.cc:227
 msgid "session RAID path"
 msgstr "Projektverzeichnis (RAID)"
 
-#: gtk2_ardour/option_editor.cc:239
-#: gtk2_ardour/option_editor.cc:245
-#: gtk2_ardour/option_editor.cc:667
-#: gtk2_ardour/option_editor.cc:687
+#: gtk2_ardour/option_editor.cc:243
+#: gtk2_ardour/option_editor.cc:249
+#: gtk2_ardour/option_editor.cc:671
+#: gtk2_ardour/option_editor.cc:691
 msgid "internal"
 msgstr "intern"
 
-#: gtk2_ardour/option_editor.cc:258
+#: gtk2_ardour/option_editor.cc:262
 msgid "Short crossfade length (msecs)"
 msgstr "Länge für kurze Crossfades (ms)"
 
-#: gtk2_ardour/option_editor.cc:270
+#: gtk2_ardour/option_editor.cc:274
 msgid "Destructive crossfade length (msecs)"
 msgstr "Länge für destruktive Crossfades (ms)"
 
-#: gtk2_ardour/option_editor.cc:330
+#: gtk2_ardour/option_editor.cc:334
 msgid "SMPTE Offset"
 msgstr "SMPTE Offset"
 
-#: gtk2_ardour/option_editor.cc:378
+#: gtk2_ardour/option_editor.cc:382
 msgid "Port"
 msgstr "Port"
 
-#: gtk2_ardour/option_editor.cc:379
+#: gtk2_ardour/option_editor.cc:383
 msgid "Offline"
 msgstr "Offline"
 
-#: gtk2_ardour/option_editor.cc:380
-#, fuzzy
+#: gtk2_ardour/option_editor.cc:384
 msgid ""
 "Trace\n"
 "Input"
-msgstr "Eingang"
+msgstr ""
+"Verfolge\n"
+"Eingang"
 
-#: gtk2_ardour/option_editor.cc:381
-#, fuzzy
+#: gtk2_ardour/option_editor.cc:385
 msgid ""
 "Trace\n"
 "Output"
-msgstr "Ausgang"
+msgstr ""
+"Verfolge\n"
+"Ausgang"
 
-#: gtk2_ardour/option_editor.cc:382
+#: gtk2_ardour/option_editor.cc:386
 msgid "MTC"
 msgstr "MTC"
 
-#: gtk2_ardour/option_editor.cc:383
+#: gtk2_ardour/option_editor.cc:387
 msgid "MMC"
 msgstr "MMC"
 
-#: gtk2_ardour/option_editor.cc:384
+#: gtk2_ardour/option_editor.cc:388
 msgid ""
 "MIDI Parameter\n"
 "Control"
 msgstr ""
+"MIDI Parameter\n"
+"Steuerung"
 
-#: gtk2_ardour/option_editor.cc:390
+#: gtk2_ardour/option_editor.cc:394
 msgid "MMC Device ID"
 msgstr "MMC Gerät ID"
 
-#: gtk2_ardour/option_editor.cc:402
-#: gtk2_ardour/option_editor.cc:409
-#: gtk2_ardour/option_editor.cc:412
-#: gtk2_ardour/option_editor.cc:557
+#: gtk2_ardour/option_editor.cc:406
+#: gtk2_ardour/option_editor.cc:413
+#: gtk2_ardour/option_editor.cc:416
+#: gtk2_ardour/option_editor.cc:561
 msgid "online"
 msgstr "Online"
 
-#: gtk2_ardour/option_editor.cc:409
-#: gtk2_ardour/option_editor.cc:410
-#: gtk2_ardour/option_editor.cc:554
+#: gtk2_ardour/option_editor.cc:413
+#: gtk2_ardour/option_editor.cc:414
+#: gtk2_ardour/option_editor.cc:558
 msgid "offline"
 msgstr "Offline"
 
-#: gtk2_ardour/option_editor.cc:620
+#: gtk2_ardour/option_editor.cc:624
 msgid "Choose Click"
 msgstr "Click auswählen"
 
-#: gtk2_ardour/option_editor.cc:639
+#: gtk2_ardour/option_editor.cc:643
 msgid "Choose Click Emphasis"
 msgstr "Click-Betonung auswählen"
 
-#: gtk2_ardour/option_editor.cc:739
+#: gtk2_ardour/option_editor.cc:743
 msgid "Click audio file"
 msgstr "Audiodatei für Click"
 
-#: gtk2_ardour/option_editor.cc:745
+#: gtk2_ardour/option_editor.cc:749
 msgid "Click emphasis audiofile"
 msgstr "Audiodatei für betonten Click "
 
-#: gtk2_ardour/option_editor.cc:782
+#: gtk2_ardour/option_editor.cc:786
 msgid ""
 "The auditioner is a dedicated mixer strip used\n"
 "for listening to specific regions outside the context\n"
@@ -5477,20 +5466,20 @@ msgstr ""
 "Dieser Bus lässt sich wie jeder andere Mixer-Kanal\n"
 "verbinden."
 
-#: gtk2_ardour/option_editor.cc:855
+#: gtk2_ardour/option_editor.cc:859
 msgid "Edit using"
 msgstr "Bearbeiten mit"
 
-#: gtk2_ardour/option_editor.cc:862
-#: gtk2_ardour/option_editor.cc:889
+#: gtk2_ardour/option_editor.cc:866
+#: gtk2_ardour/option_editor.cc:893
 msgid "+ button"
 msgstr "und Maustaste"
 
-#: gtk2_ardour/option_editor.cc:882
+#: gtk2_ardour/option_editor.cc:886
 msgid "Delete using"
 msgstr "Entfernen mit"
 
-#: gtk2_ardour/option_editor.cc:909
+#: gtk2_ardour/option_editor.cc:913
 msgid "Ignore snap using"
 msgstr "Einrasten übergehen mit"
 
@@ -5527,9 +5516,8 @@ msgid "  -O, --no-hw-optimizations        Disable h/w specific optimizations\n"
 msgstr "  -O, --no-hw-optimizations        Hardwarespezifische Optimierungen deaktivieren\n"
 
 #: gtk2_ardour/opts.cc:54
-#, fuzzy
 msgid "  -S, --sync\t                   Draw the gui synchronously \n"
-msgstr "  -v, --version                    Versionsinformation ausgeben\n"
+msgstr "  -S, --sync\t                   Zeichne die GUI synchron \n"
 
 #: gtk2_ardour/opts.cc:56
 msgid "  -V, --novst                      Do not use VST support\n"
@@ -5548,9 +5536,8 @@ msgid "  -k, --keybindings filename       Name of key bindings to load (default
 msgstr "  -k, --keybindings filename       Dateiname für die Tastaturbelegungen (Standard: ~/.ardour2/ardour.bindings)\n"
 
 #: gtk2_ardour/pan_automation_time_axis.cc:69
-#, fuzzy
 msgid "You need to select which line to edit"
-msgstr "You need to select which line to edit"
+msgstr "Sie müssen die entsprechende Automationslinie auswählen"
 
 #: gtk2_ardour/pan_automation_time_axis.cc:90
 msgid "add pan automation event"
@@ -5596,23 +5583,23 @@ msgstr "Pan-Regler für Kanal %zu"
 msgid "Reset all"
 msgstr "Alle zurücksetzen"
 
-#: gtk2_ardour/playlist_selector.cc:51
-msgid "ardour: playlists"
-msgstr "ardour: Wiedergabelisten"
-
 #: gtk2_ardour/playlist_selector.cc:58
+msgid "Playlists"
+msgstr "Wiedergabelisten"
+
+#: gtk2_ardour/playlist_selector.cc:63
 msgid "Playlists grouped by track"
 msgstr "Wiedergabelisten, nach Spur gruppiert"
 
-#: gtk2_ardour/playlist_selector.cc:106
-msgid "ardour: playlist for "
-msgstr "ardour: Wiedergabeliste für "
+#: gtk2_ardour/playlist_selector.cc:112
+msgid "Playlist for %1"
+msgstr "Wiedergabeliste für %1"
 
-#: gtk2_ardour/playlist_selector.cc:122
+#: gtk2_ardour/playlist_selector.cc:126
 msgid "Other tracks"
 msgstr "Andere Spuren"
 
-#: gtk2_ardour/playlist_selector.cc:139
+#: gtk2_ardour/playlist_selector.cc:143
 msgid "unassigned"
 msgstr "nicht zugewiesen"
 
@@ -5693,21 +5680,20 @@ msgstr "Redirect-Automation für ein nicht-Plugin erstellt"
 msgid "add automation event to "
 msgstr "Automationspunkt einfügen für"
 
-#: gtk2_ardour/redirect_box.cc:234
+#: gtk2_ardour/redirect_box.cc:237
 msgid "New send"
 msgstr "Neuer Send"
 
-#: gtk2_ardour/redirect_box.cc:235
+#: gtk2_ardour/redirect_box.cc:238
 msgid "Show send controls"
 msgstr "Zeige Send-Steuerung"
 
-#: gtk2_ardour/redirect_box.cc:409
-#: gtk2_ardour/redirect_box.cc:704
-#, fuzzy
+#: gtk2_ardour/redirect_box.cc:412
+#: gtk2_ardour/redirect_box.cc:707
 msgid "ardour: weird plugin dialog"
 msgstr "ardour: Plugins"
 
-#: gtk2_ardour/redirect_box.cc:416
+#: gtk2_ardour/redirect_box.cc:419
 msgid ""
 "You attempted to add a plugin (%1).\n"
 "The plugin has %2 inputs\n"
@@ -5725,7 +5711,7 @@ msgstr ""
 "Das ist nicht möglich - es würden Teile\n"
 "des Signals fehlen."
 
-#: gtk2_ardour/redirect_box.cc:428
+#: gtk2_ardour/redirect_box.cc:431
 msgid ""
 "You attempted to add a plugin (%1).\n"
 "The plugin has %2 inputs\n"
@@ -5745,7 +5731,7 @@ msgstr ""
 "Side-Chain-Eingänge unterstützt. Dies wird in einer\n"
 "der nächsten Versionen von ardour möglich sein."
 
-#: gtk2_ardour/redirect_box.cc:441
+#: gtk2_ardour/redirect_box.cc:444
 msgid ""
 "You attempted to add a plugin (%1).\n"
 "\n"
@@ -5767,15 +5753,15 @@ msgstr ""
 "\n"
 "Ardour kann mit dieser Situation nicht umgehen.\n"
 
-#: gtk2_ardour/redirect_box.cc:538
+#: gtk2_ardour/redirect_box.cc:541
 msgid "Pre-fader inserts, sends & plugins:"
 msgstr "Pre-Fader Inserts, Sends & Plugins:"
 
-#: gtk2_ardour/redirect_box.cc:541
+#: gtk2_ardour/redirect_box.cc:544
 msgid "Post-fader inserts, sends & plugins:"
 msgstr "Post-Fader Inserts, Sends & Plugins:"
 
-#: gtk2_ardour/redirect_box.cc:707
+#: gtk2_ardour/redirect_box.cc:710
 msgid ""
 "You cannot reorder this set of redirects\n"
 "in that way because the inputs and\n"
@@ -5785,12 +5771,12 @@ msgstr ""
 "nicht auf diese Weise verändern, denn\n"
 "die Ein-/Ausgänge arbeiten ncht korrekt."
 
-#: gtk2_ardour/redirect_box.cc:820
+#: gtk2_ardour/redirect_box.cc:823
 msgid "rename redirect"
 msgstr "Redirect umbenennen"
 
-#: gtk2_ardour/redirect_box.cc:896
-#: gtk2_ardour/redirect_box.cc:945
+#: gtk2_ardour/redirect_box.cc:899
+#: gtk2_ardour/redirect_box.cc:948
 msgid ""
 "Copying the set of redirects on the clipboard failed,\n"
 "probably because the I/O configuration of the plugins\n"
@@ -5800,138 +5786,140 @@ msgstr ""
 "Zwischenablage kopieren. Wahrscheinlich passt die\n"
 "Ein-/Ausgangskonfiguration des Plugins nicht zu dieser Spur."
 
-#: gtk2_ardour/redirect_box.cc:967
+#: gtk2_ardour/redirect_box.cc:971
+msgid ""
+"Do you really want to remove all pre-fader redirects from this track?\n"
+"(this cannot be undone)"
+msgstr ""
+"Wollen Sie wirklich alle Pre-Fader-Redirects von dieser Spur entfernen?\n"
+"(Dies kann nicht rückgängig gemacht werden)"
+
+#: gtk2_ardour/redirect_box.cc:974
+msgid ""
+"Do you really want to remove all post-fader redirects from this track?\n"
+"(this cannot be undone)"
+msgstr ""
+"Wollen Sie wirklich alle Post-Fader-Redirects von dieser Spur entfernen?\n"
+"(Dies kann nicht rückgängig gemacht werden)"
+
+#: gtk2_ardour/redirect_box.cc:979
 msgid ""
-"Do you really want to remove all redirects from this track?\n"
+"Do you really want to remove all pre-fader redirects from this bus?\n"
 "(this cannot be undone)"
 msgstr ""
-"Wollen Sie wirklich alle Redirects von dieser Spur entfernen?\n"
+"Wollen Sie wirklich alle Pre-Fader-Redirects von diesem Bus entfernen?\n"
 "(Dies kann nicht rückgängig gemacht werden)"
 
-#: gtk2_ardour/redirect_box.cc:970
+#: gtk2_ardour/redirect_box.cc:982
 msgid ""
-"Do you really want to remove all redirects from this bus?\n"
+"Do you really want to remove all post-fader redirects from this bus?\n"
 "(this cannot be undone)"
 msgstr ""
-"Wollen Sie wirklich alle Redirects von diesem Bus entfernen?\n"
+"Wollen Sie wirklich alle Post-Fader-Redirects von diesem Bus entfernen?\n"
 "(Dies kann nicht rückgängig gemacht werden)"
 
-#: gtk2_ardour/redirect_box.cc:975
+#: gtk2_ardour/redirect_box.cc:988
 msgid "Yes, remove them all"
 msgstr "Ja, alle löschen"
 
-#: gtk2_ardour/redirect_box.cc:1011
-msgid "ardour: %1"
-msgstr "ardour: %1"
-
-#: gtk2_ardour/redirect_box.cc:1133
+#: gtk2_ardour/redirect_box.cc:1150
 msgid "New Plugin ..."
 msgstr "Plugin einfügen..."
 
-#: gtk2_ardour/redirect_box.cc:1135
+#: gtk2_ardour/redirect_box.cc:1152
 msgid "New Insert"
 msgstr "Insert einfügen"
 
-#: gtk2_ardour/redirect_box.cc:1137
+#: gtk2_ardour/redirect_box.cc:1154
 msgid "New Send ..."
 msgstr "Send einfügen..."
 
-#: gtk2_ardour/redirect_box.cc:1151
+#: gtk2_ardour/redirect_box.cc:1168
 msgid "Deselect All"
 msgstr "Nichts auswählen"
 
-#: gtk2_ardour/redirect_box.cc:1158
+#: gtk2_ardour/redirect_box.cc:1175
 msgid "Activate all"
 msgstr "Alle aktivieren"
 
-#: gtk2_ardour/redirect_box.cc:1159
+#: gtk2_ardour/redirect_box.cc:1176
 msgid "Deactivate all"
 msgstr "Alle deaktivieren"
 
-#: gtk2_ardour/redirect_box.cc:1338
-msgid "ardour: %1: %2 (by %3)"
+#: gtk2_ardour/redirect_box.cc:1359
+#, fuzzy
+msgid "%1: %2 (by %3)"
 msgstr "ardour: %1: %2 (by %3)"
 
-#: gtk2_ardour/audio_region_editor.cc:46
+#: gtk2_ardour/audio_region_editor.cc:48
 msgid "NAME:"
 msgstr "Name:"
 
-#: gtk2_ardour/audio_region_editor.cc:47
+#: gtk2_ardour/audio_region_editor.cc:49
 msgid "play"
-msgstr ""
+msgstr "Play"
 
-#: gtk2_ardour/audio_region_editor.cc:66
+#: gtk2_ardour/audio_region_editor.cc:68
 msgid "audition this region"
 msgstr "Diese Region Vorhören"
 
-#: gtk2_ardour/audio_region_editor.cc:81
+#: gtk2_ardour/audio_region_editor.cc:83
 msgid "START:"
 msgstr "Beginn:"
 
-#: gtk2_ardour/audio_region_editor.cc:83
+#: gtk2_ardour/audio_region_editor.cc:85
 msgid "END:"
 msgstr "Ende:"
 
-#: gtk2_ardour/audio_region_editor.cc:85
+#: gtk2_ardour/audio_region_editor.cc:87
 msgid "LENGTH:"
 msgstr "Längess:"
 
-#: gtk2_ardour/audio_region_editor.cc:121
-msgid "ardour: region "
-msgstr "ardour: Region"
+#: gtk2_ardour/audio_region_editor.cc:123
+msgid "Region %1"
+msgstr "Region %1"
 
-#: gtk2_ardour/audio_region_editor.cc:201
+#: gtk2_ardour/audio_region_editor.cc:204
 msgid "change region start position"
 msgstr "Startposition der Region ändern"
 
-#: gtk2_ardour/audio_region_editor.cc:218
+#: gtk2_ardour/audio_region_editor.cc:221
 msgid "change region end position"
 msgstr "Endposition der Region ändern"
 
-#: gtk2_ardour/audio_region_editor.cc:239
+#: gtk2_ardour/audio_region_editor.cc:242
 msgid "change region length"
 msgstr "Länge der Region verändern"
 
-#: gtk2_ardour/audio_region_view.cc:919
+#: gtk2_ardour/audio_region_view.cc:911
 msgid "add gain control point"
 msgstr "Lautstärkekurve bearbeiten"
 
-#: gtk2_ardour/route_params_ui.cc:83
+#: gtk2_ardour/route_params_ui.cc:85
 msgid "Tracks/Buses"
 msgstr "Spuren/Busse"
 
-#: gtk2_ardour/route_params_ui.cc:103
+#: gtk2_ardour/route_params_ui.cc:105
 msgid "Pre-fader Redirects"
-msgstr "Pre-Fader Redirects (Abzweigungen)"
+msgstr "Pre-Fader Redirects"
 
-#: gtk2_ardour/route_params_ui.cc:104
+#: gtk2_ardour/route_params_ui.cc:106
 msgid "Post-fader Redirects"
-msgstr "Post-Fader Redirects (Abzweigungen)"
-
-#: gtk2_ardour/route_params_ui.cc:138
-msgid "ardour: track/bus inspector"
-msgstr "ardour: Spur/Bus Einstellungen"
+msgstr "Post-Fader Redirects"
 
-#: gtk2_ardour/route_params_ui.cc:200
+#: gtk2_ardour/route_params_ui.cc:205
 msgid "route display list item for renamed route not found!"
 msgstr "Konnte Bezeichnung für umbenannten Verbindung nicht in der Liste der Verbindungen finden!"
 
-#: gtk2_ardour/route_params_ui.cc:447
+#: gtk2_ardour/route_params_ui.cc:452
 msgid "NO TRACK"
 msgstr "KEINE SPUR"
 
-#: gtk2_ardour/route_params_ui.cc:670
-msgid "ardour: track/bus inspector: "
-msgstr "ardour: Spur/Bus Einstellungen:"
-
-#: gtk2_ardour/route_params_ui.cc:674
+#: gtk2_ardour/route_params_ui.cc:682
+#: gtk2_ardour/route_params_ui.cc:683
 msgid "No Route Selected"
 msgstr "Keine Route ausgewählt"
 
-#: gtk2_ardour/route_params_ui.cc:675
-msgid "ardour: track/bus/inspector: no route selected"
-msgstr "ardour: Spur/Bus Einstellungen: keine Route ausgewählt"
-
 #: gtk2_ardour/route_ui.cc:154
 msgid "mute change"
 msgstr "Mute ändern"
@@ -5964,7 +5952,7 @@ msgstr "Post Fader"
 
 #: gtk2_ardour/route_ui.cc:584
 msgid "Control Outs"
-msgstr ""
+msgstr "Vorhörausgang"
 
 #: gtk2_ardour/route_ui.cc:591
 msgid "Main Outs"
@@ -6007,11 +5995,6 @@ msgstr ""
 "Wollen Sie den Bus \"%1\" wirklich löschen?\n"
 "(Dies kann nicht rückgängig gemacht werden!)"
 
-#: gtk2_ardour/route_ui.cc:784
-#: gtk2_ardour/visual_time_axis.cc:283
-msgid "Yes, remove it."
-msgstr "Ja, entfernen."
-
 #: gtk2_ardour/route_ui.cc:805
 msgid "New Name: "
 msgstr "Neuer Name: "
@@ -6224,27 +6207,27 @@ msgstr "Unverständlicher Notentyp (%1)"
 msgid "gTortnam"
 msgstr ""
 
-#: gtk2_ardour/time_axis_view.cc:582
+#: gtk2_ardour/time_axis_view.cc:586
 msgid "Largest"
 msgstr "Am größten"
 
-#: gtk2_ardour/time_axis_view.cc:583
+#: gtk2_ardour/time_axis_view.cc:587
 msgid "Large"
 msgstr "Groß"
 
-#: gtk2_ardour/time_axis_view.cc:584
+#: gtk2_ardour/time_axis_view.cc:588
 msgid "Larger"
 msgstr "Größer"
 
-#: gtk2_ardour/time_axis_view.cc:586
+#: gtk2_ardour/time_axis_view.cc:590
 msgid "Smaller"
 msgstr "Kleiner"
 
-#: gtk2_ardour/time_axis_view.cc:587
+#: gtk2_ardour/time_axis_view.cc:591
 msgid "Small"
 msgstr "Klein"
 
-#: gtk2_ardour/time_axis_view.cc:902
+#: gtk2_ardour/time_axis_view.cc:906
 msgid "unknown track height name \"%1\" in XML GUI information"
 msgstr "Unbekannte Spurhöhe \"%1\" in der XML GUI Information"
 
@@ -6252,7 +6235,7 @@ msgstr "Unbekannte Spurhöhe \"%1\" in der XML GUI Information"
 msgid "TimeAxisViewItemName"
 msgstr ""
 
-#: gtk2_ardour/time_axis_view_item.cc:327
+#: gtk2_ardour/time_axis_view_item.cc:330
 msgid "new duration %1 frames is out of bounds for %2"
 msgstr "Neue Dauer %1 Frames ist außerhalb des erlaubten Bereichs %2"
 
@@ -6260,16 +6243,16 @@ msgstr "Neue Dauer %1 Frames ist außerhalb des erlaubten Bereichs %2"
 msgid "programming error: request for non-existent audio range (%1)!"
 msgstr "Programmierfehler: request for non-existent audio range (%1)!"
 
-#: gtk2_ardour/utils.cc:117
-#: gtk2_ardour/utils.cc:160
+#: gtk2_ardour/utils.cc:131
+#: gtk2_ardour/utils.cc:174
 msgid "bad XPM header %1"
 msgstr "Fehlerhafter XPM Header %1"
 
-#: gtk2_ardour/utils.cc:299
+#: gtk2_ardour/utils.cc:313
 msgid "missing RGBA style for \"%1\""
 msgstr "Fehlender RGBA Style für \"%1\""
 
-#: gtk2_ardour/utils.cc:481
+#: gtk2_ardour/utils.cc:495
 msgid "cannot find icon image for %1"
 msgstr "Konnte Icon-Bild für %1 nicht finden"
 
index 642519cd384fe493c1d1a228ea5b8345c5df69d3..2c4e2a0168e31710e6f3e65eb8d7ac608139530a 100644 (file)
@@ -11,7 +11,7 @@ msgstr ""
 "Project-Id-Version: Ardour 2.0rc1\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2007-04-08 11:00+0200\n"
-"PO-Revision-Date: 2007-04-09 13:24+0200\n"
+"PO-Revision-Date: 2007-04-09 16:14+0200\n"
 "Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
 "Language-Team: French\n"
 "MIME-Version: 1.0\n"
@@ -1334,6 +1334,10 @@ msgstr "Réception MMC (Midi Machine Control)"
 msgid "Send MIDI feedback"
 msgstr "Envoi des réponses MIDI"
 
+#: gtk2_ardour/ardour_ui_ed.cc:397
+msgid "Use MIDI control"
+msgstr "Réception des contrôles MIDI"
+
 #: gtk2_ardour/ardour_ui_ed.cc:400
 msgid "Use OSC"
 msgstr "Utiliser OSC (OpenSound Control)"
@@ -4275,41 +4279,41 @@ msgstr ""
 #: gtk2_ardour/export_dialog.cc:59 gtk2_ardour/export_dialog.cc:401
 #: gtk2_ardour/export_dialog.cc:1029 gtk2_ardour/export_dialog.cc:1197
 msgid "22.05kHz"
-msgstr "22,05 kHz"
+msgstr "22.05kHz"
 
 #: gtk2_ardour/export_dialog.cc:60 gtk2_ardour/export_dialog.cc:404
 #: gtk2_ardour/export_dialog.cc:419 gtk2_ardour/export_dialog.cc:1031
 #: gtk2_ardour/export_dialog.cc:1199
 msgid "44.1kHz"
-msgstr "44,1 kHz"
+msgstr "44.1kHz"
 
 #: gtk2_ardour/export_dialog.cc:61 gtk2_ardour/export_dialog.cc:407
 #: gtk2_ardour/export_dialog.cc:1033 gtk2_ardour/export_dialog.cc:1201
 msgid "48kHz"
-msgstr "48 kHz"
+msgstr "48kHz"
 
 #: gtk2_ardour/export_dialog.cc:62 gtk2_ardour/export_dialog.cc:410
 #: gtk2_ardour/export_dialog.cc:1035 gtk2_ardour/export_dialog.cc:1203
 msgid "88.2kHz"
-msgstr "88,2 kHz"
+msgstr "88.2kHz"
 
 #: gtk2_ardour/export_dialog.cc:63 gtk2_ardour/export_dialog.cc:413
 #: gtk2_ardour/export_dialog.cc:1037 gtk2_ardour/export_dialog.cc:1205
 msgid "96kHz"
-msgstr "96 kHz"
+msgstr "96kHz"
 
 #: gtk2_ardour/export_dialog.cc:64 gtk2_ardour/export_dialog.cc:416
 #: gtk2_ardour/export_dialog.cc:1039 gtk2_ardour/export_dialog.cc:1207
 msgid "192kHz"
-msgstr "192 kHz"
+msgstr "192kHz"
 
 #: gtk2_ardour/export_dialog.cc:69
 msgid "best"
-msgstr "meilleur"
+msgstr "la meilleure"
 
 #: gtk2_ardour/export_dialog.cc:70 gtk2_ardour/export_dialog.cc:1214
 msgid "fastest"
-msgstr "rapide"
+msgstr "la plus rapide"
 
 #: gtk2_ardour/export_dialog.cc:71 gtk2_ardour/export_dialog.cc:1216
 msgid "linear"
@@ -4317,11 +4321,11 @@ msgstr "linéaire"
 
 #: gtk2_ardour/export_dialog.cc:72 gtk2_ardour/export_dialog.cc:1218
 msgid "better"
-msgstr "mieux"
+msgstr "bonne"
 
 #: gtk2_ardour/export_dialog.cc:73 gtk2_ardour/export_dialog.cc:1220
 msgid "intermediate"
-msgstr "intermédiaire"
+msgstr "moyenne"
 
 #: gtk2_ardour/export_dialog.cc:79 gtk2_ardour/export_dialog.cc:1229
 msgid "Rectangular"
@@ -4342,11 +4346,11 @@ msgstr "mono"
 
 #: gtk2_ardour/export_dialog.cc:93
 msgid "CUE"
-msgstr "fichier CUE"
+msgstr "CUE"
 
 #: gtk2_ardour/export_dialog.cc:94
 msgid "TOC"
-msgstr "fichier TOC"
+msgstr "TOC"
 
 #: gtk2_ardour/export_dialog.cc:102
 msgid "Format"
@@ -4354,39 +4358,39 @@ msgstr "format"
 
 #: gtk2_ardour/export_dialog.cc:103
 msgid "CD Marker File Type"
-msgstr "type de fichier de marqueur de CD"
+msgstr "descripteur de CD"
 
 #: gtk2_ardour/export_dialog.cc:104
 msgid "Channels"
-msgstr "voies"
+msgstr "nb de voies"
 
 #: gtk2_ardour/export_dialog.cc:105
 msgid "File Type"
-msgstr "type de fichier"
+msgstr "fichier"
 
 #: gtk2_ardour/export_dialog.cc:106
 msgid "Sample Format"
-msgstr "format d'échantillon"
+msgstr "échantillon"
 
 #: gtk2_ardour/export_dialog.cc:107
 msgid "Sample Endianness"
-msgstr "ordre des bits des échantillons"
+msgstr "ordre des bits"
 
 #: gtk2_ardour/export_dialog.cc:108
 msgid "Sample Rate"
-msgstr "taux d'échantillonnage"
+msgstr "échantillonnage"
 
 #: gtk2_ardour/export_dialog.cc:109
 msgid "Conversion Quality"
-msgstr "qualité de conversion"
+msgstr "conversion"
 
 #: gtk2_ardour/export_dialog.cc:110
 msgid "Dither Type"
-msgstr "type d'interpolation"
+msgstr "interpolation"
 
 #: gtk2_ardour/export_dialog.cc:111
 msgid "Export CD Marker File Only"
-msgstr "exporter simplement un fichier de marqueurs de CD"
+msgstr "n'exporter qu'un fichier descripteur de CD"
 
 #: gtk2_ardour/export_dialog.cc:112 gtk2_ardour/option_editor.cc:84
 #: gtk2_ardour/option_editor.cc:85
index 9499f4b29ca8344529d843f820963ef24841ef13..c627f8427eda06a67e485f0b74cbdaa9076f8ee6 100644 (file)
@@ -1,14 +1,14 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Paul Davis
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+# Portuguese (European) translation to gtk2_ardour
+# Copyright (C) 2003-2007 Paul Davis
+# This file is distributed under the same license as the ardour2 package.
+# Rui Nuno Capela <rncbc@rncbc.org>, 2004-2007.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: 0.814.2\n"
+"Project-Id-Version: gtk2_ardour rev.1702\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-06-27 13:00-0400\n"
-"PO-Revision-Date: 2004-12-07 13:00+0000\n"
+"POT-Creation-Date: 2007-04-08 13:00+0100\n"
+"PO-Revision-Date: 2007-04-15 19:00+0100\n"
 "Last-Translator: Rui Nuno Capela <rncbc@rncbc.org>\n"
 "Language-Team: Portuguese\n"
 "MIME-Version: 1.0\n"
@@ -20,9 +20,8 @@ msgid "Paul Davis"
 msgstr ""
 
 #: about.cc:121
-#, fuzzy
 msgid "Jesse Chappell"
-msgstr "reiniciar"
+msgstr ""
 
 #: about.cc:122
 msgid "Taybin Rutkin"
@@ -152,26 +151,23 @@ msgid "Copyright (C) 1999-2005 Paul Davis\n"
 msgstr ""
 
 #: about.cc:182
-#, fuzzy
 msgid ""
 "Ardour comes with ABSOLUTELY NO WARRANTY\n"
 "This is free software, and you are welcome to redistribute it\n"
 "under certain conditions; see the file COPYING for details.\n"
 msgstr ""
-"Copyright (C) 1999-2004 Paul Davis\n"
 "Ardour é fornecido ABSOLUTAMENTE SEM QUALQUER GARANTIA\n"
 "Sendo software livre, é permitida e até encorajada a sua distribuição\n"
 "desde que sejam respeitadas algumas condições;\n"
-"para mais informações, leia por favor o ficheiro COPYING.\n"
+"para mais informações, por favor leia o ficheiro COPYING.\n"
 
 #: about.cc:188
-#, fuzzy
 msgid ""
 "%1\n"
 "(built with ardour/gtk %2.%3.%4 libardour: %5.%6.%7)"
 msgstr ""
-"Ardour: %1\n"
-"(compilado com ardour/gtk %2 libardour: %3.%4.%5)"
+"%1\n"
+"(compilado com ardour/gtk %2.%3.%4 libardour: %5.%6.%7)"
 
 #: actions.cc:261
 msgid "programmer error: %1 %2"
@@ -200,27 +196,24 @@ msgid "Name (template)"
 msgstr "Nome (modelo)"
 
 #: add_route_dialog.cc:120
-#, fuzzy
 msgid "Channel Configuration"
-msgstr "Configuração"
+msgstr "Configuração de canal"
 
 #: add_route_dialog.cc:177 editor.cc:134 editor.cc:3688 time_axis_view.cc:552
 msgid "Normal"
 msgstr "Normal"
 
 #: add_route_dialog.cc:179
-#, fuzzy
 msgid "Tape"
-msgstr "Início"
+msgstr "Fita"
 
 #: add_route_dialog.cc:196
 msgid "Mono"
 msgstr ""
 
 #: add_route_dialog.cc:198
-#, fuzzy
 msgid "Stereo"
-msgstr "Parar"
+msgstr ""
 
 #. preroll stuff
 #: ardour_ui.cc:106
@@ -241,11 +234,12 @@ msgstr ""
 
 #. transport
 #: ardour_ui.cc:115
-#, fuzzy
 msgid ""
 "time\n"
 "master"
-msgstr "Supervisor de tempo JACK"
+msgstr ""
+"tempo\n"
+"principal"
 
 #: ardour_ui.cc:117
 msgid "% "
@@ -293,7 +287,7 @@ msgstr ""
 
 #: ardour_ui.cc:124
 msgid "click"
-msgstr "Batimento"
+msgstr "metrónomo"
 
 #: ardour_ui.cc:125
 msgid "AUDITIONING"
@@ -314,7 +308,11 @@ msgid ""
 "If you still wish to quit, please use the\n"
 "\n"
 "\"Just quit\" option."
-msgstr ""
+msgstr "Não foi possível guardar a sua sessão.\n"
+"\n"
+"Se ainda pretende sair, por favor use\n"
+"\n"
+" a opção \"Apenas sair\""
 
 #: ardour_ui.cc:403
 msgid "ardour: save session?"
@@ -333,17 +331,14 @@ msgid "Save and %1"
 msgstr "Guardar e %1"
 
 #: ardour_ui.cc:426
-#, fuzzy
 msgid "session"
-msgstr "Sessão"
+msgstr "sessão"
 
 #: ardour_ui.cc:428
-#, fuzzy
 msgid "snapshot"
-msgstr "Capturar"
+msgstr "captura"
 
 #: ardour_ui.cc:430
-#, fuzzy
 msgid ""
 "The %1\"%2\"\n"
 "has not been saved.\n"
@@ -353,11 +348,11 @@ msgid ""
 "\n"
 "What do you want to do?"
 msgstr ""
-"A sessão \"%1\"\n"
+"A sessão %1\"%2\"\n"
 "ainda não se encontra salvaguardada.\n"
 "\n"
 "Qualquer alteração feita até ao momento\n"
-"ficará perdida se não salvaguardar agora.\n"
+"ficará perdida se não salvaguardar agora.\n"
 "\n"
 "O que pretende fazer?"
 
@@ -366,19 +361,18 @@ msgid "Prompter"
 msgstr "Alerta"
 
 #: ardour_ui.cc:503
-#, fuzzy, c-format
 msgid "disconnected"
-msgstr "Desligar"
+msgstr "desligado"
 
 #: ardour_ui.cc:510
-#, fuzzy, c-format
+#, c-format
 msgid "SR: %.1f kHz / %4.1f msecs"
-msgstr "FA: %.1f kHz"
+msgstr "FA: %.1f kHz / %4.1f msegs"
 
 #: ardour_ui.cc:514
 #, c-format
 msgid "SR: %u kHz / %4.1f msecs"
-msgstr ""
+msgstr "FA: %u kHz / %4.1f msegs"
 
 #: ardour_ui.cc:527
 #, c-format
@@ -404,9 +398,8 @@ msgid "programming error: impossible control method"
 msgstr ""
 
 #: ardour_ui.cc:741 new_session_dialog.cc:294
-#, fuzzy
 msgid "Recent Sessions"
-msgstr "abrir sessão"
+msgstr "Sessões recentes"
 
 #. ardour sessions are folders
 #: ardour_ui.cc:834
@@ -414,9 +407,8 @@ msgid "open session"
 msgstr "abrir sessão"
 
 #: ardour_ui.cc:840
-#, fuzzy
 msgid "Ardour sessions"
-msgstr "ardour: guardar sessão?"
+msgstr "Sessões"
 
 #: ardour_ui.cc:873
 msgid "Patience is a virtue.\n"
@@ -424,9 +416,7 @@ msgstr "A paciência é uma virtude.\n"
 
 #: ardour_ui.cc:882
 msgid "You cannot add a track without a session already loaded."
-msgstr ""
-"Não é possível acrescentar uma faixa sem que haja uma sessão esteja "
-"carregada."
+msgstr "Não é possível acrescentar uma faixa sem que haja uma sessão esteja carregada."
 
 #: ardour_ui.cc:889
 msgid "could not create new audio track"
@@ -443,6 +433,10 @@ msgid ""
 "You should save Ardour, exit and\n"
 "restart JACK with more ports."
 msgstr ""
+"Não existem portos JACK disponíveis suficientes\n"
+"para criar uma nova faixa ou barramento.\n"
+"Deverá salvaguardar a sessão, sair e\n"
+"reiniciar JACK com um maior número de portos."
 
 #: ardour_ui.cc:1036
 msgid ""
@@ -450,33 +444,34 @@ msgid ""
 "before trying to record.\n"
 "Check the Session menu."
 msgstr ""
+"Por favor, cria 1 ou mais faixas\n"
+"antes de tentar gravar.\n"
+"Verifique o menu de Sessão."
 
 #: ardour_ui.cc:1265
-#, fuzzy
 msgid ""
 "JACK has either been shutdown or it\n"
 "disconnected Ardour because Ardour\n"
 "was not fast enough. You can save the\n"
 "session and/or try to reconnect to JACK ."
 msgstr ""
-"O serviço de audio (JACK) foi desactivado ou\n"
-"o mesmo desligou a sua ligação com o Ardour,\n"
-"talvez porque este não o acompanhava suficientemente.\n"
+"O serviço de audio (JACK) foi desligado ou\n"
+"o mesmo desactivou a sua ligação com o Ardour,\n"
+"talvez porque o desempenho não era o mais adequado.\n"
 "A sessão corrente deverá ser salvaguardada\n"
-"e o serviço JACK reiniciado, tal como o Ardour."
+"e o serviço JACK devidamente reiniciado."
 
 #: ardour_ui.cc:1282
 msgid "Unable to create all required ports"
-msgstr ""
+msgstr "Não foi possível criar todos os portos necessários"
 
 #: ardour_ui.cc:1290
-#, fuzzy
 msgid "Unable to start the session running"
-msgstr "Ir para o início da sessão"
+msgstr "Não foi possível iniciar a sessão corrente"
 
 #: ardour_ui.cc:1426
 msgid "No Stream"
-msgstr "Sem Fluxo"
+msgstr "Sem fluxo"
 
 #: ardour_ui.cc:1453 ardour_ui.cc:1472
 msgid "none"
@@ -487,9 +482,8 @@ msgid "off"
 msgstr "desligado"
 
 #: ardour_ui.cc:1505
-#, fuzzy
 msgid "Name of New Snapshot"
-msgstr "Nome para a imagem capturada"
+msgstr "Nome para a nova captura"
 
 #: ardour_ui.cc:1651
 msgid "Name for mix template:"
@@ -504,6 +498,9 @@ msgid ""
 "You do not have write access to this session.\n"
 "This prevents the session from being loaded."
 msgstr ""
+"A sessão não pode ser carregada devidamente\n"
+"por deficiência de acesso privilegiado de escrita."
+
 
 #: ardour_ui.cc:1822 ardour_ui.cc:1877
 msgid "Session \"%1 (snapshot %2)\" did not load successfully"
@@ -511,7 +508,7 @@ msgstr "Não foi possível carregar a sessão \"%1 (captura %2)\" com sucesso"
 
 #: ardour_ui.cc:1933
 msgid "No audio files were ready for cleanup"
-msgstr ""
+msgstr "Não foram encontrados ficheiros audio para limpeza"
 
 #: ardour_ui.cc:1937
 msgid ""
@@ -520,24 +517,26 @@ msgid ""
 "These may still include regions that\n"
 "require some unused files to continue to exist."
 msgstr ""
+"Se isto parecer surpreendente, \n"
+"verifique a existência de capturas.\n"
+"Estas podem ainda incluir regiões que necessitem\n"
+"da existência de alguns ficheiros já em desuso."
 
 #: ardour_ui.cc:1946
 msgid "ardour: cleanup"
 msgstr "ardour: limpeza"
 
 #: ardour_ui.cc:1982 ardour_ui.cc:1988
-#, fuzzy
 msgid "files were"
-msgstr "ficheiros"
+msgstr "ficheiros foram"
 
 #: ardour_ui.cc:1984 ardour_ui.cc:1990
-#, fuzzy
 msgid "file was"
-msgstr "ficheiros"
+msgstr "ficheiro foi"
 
 #: ardour_ui.cc:2031
 msgid "Are you sure you want to cleanup?"
-msgstr ""
+msgstr "Tem a certeza que pretende realizar a limpeza?"
 
 #: ardour_ui.cc:2036
 msgid ""
@@ -546,19 +545,20 @@ msgid ""
 "After cleanup, unused audio files will be moved to a \"dead sounds\" "
 "location."
 msgstr ""
+"A limpeza é uma operação destrutiva.\n"
+"TODA a informação de desfazer/refazer será perdida coma limpeza."
+"Após a limpeza, todos os ficheiros audio em desuso serão\n"
+"removidos para um \"arquivo morto\""
 
 #: ardour_ui.cc:2042
-#, fuzzy
 msgid "Clean Up"
-msgstr "Apagar"
+msgstr "Limpeza"
 
 #: ardour_ui.cc:2045
-#, fuzzy
 msgid "CleanupDialog"
-msgstr "Apagar"
+msgstr ""
 
 #: ardour_ui.cc:2046
-#, fuzzy
 msgid "ardour_cleanup"
 msgstr "ardour: limpeza"
 
@@ -567,7 +567,6 @@ msgid "cleaned files"
 msgstr "ficheiros limpos"
 
 #: ardour_ui.cc:2066
-#, fuzzy
 msgid ""
 "The following %1 %2 not in use and \n"
 "have been moved to:\n"
@@ -577,29 +576,29 @@ msgid ""
 "release an additional\n"
 "%4 %5bytes of disk space.\n"
 msgstr ""
-"Os seguintes %1 %2 não se encontram em uso.\n"
-"Da próxima vez que efectuar uma limpeza\n"
-"irão ser libertados %3 %4 de espaço em disco"
+"O(s) seguinte(s) %1 %2 encontrado(s) em desuso\n"
+"e automaticamente removido(s) para:\n"
+"%3. \n"
+"\n"
+"Serão libertados %3 %4bytes de espaço em disco.\n"
 
 #: ardour_ui.cc:2091
 msgid "deleted file"
 msgstr "ficheiro eliminado"
 
 #: ardour_ui.cc:2092
-#, fuzzy
 msgid ""
 "The following %1 %2 deleted from\n"
 "%3,\n"
 "releasing %4 %5bytes of disk space"
 msgstr ""
-"Os seguintes %1 ficheiro%2 foram eliminados, libertando %3 %4B de espaço em "
-"disco"
+"O(s) seguinte(s) %1 %2 eliminado(s) de\n"
+"%3,\n"
+"libertando %3 %4bytes de espaço em disco."
 
 #: ardour_ui.cc:2215
 msgid "Recording was stopped because your system could not keep up."
-msgstr ""
-"A gravação foi interrompida porque o seu sistema não foi capaz de a "
-"acompanhar."
+msgstr "A gravação foi interrompida porque o seu sistema não foi capaz de a acompanhar adequadamente."
 
 #: ardour_ui.cc:2238
 msgid ""
@@ -610,7 +609,7 @@ msgid ""
 "quickly enough to keep up with recording.\n"
 msgstr ""
 "O sistema de ficheiros em disco do seu computador\n"
-"não foi capaz de manter o serviço audio do Ardour.\n"
+"não foi capaz de manter o serviço audio adequadamente.\n"
 "\n"
 "Especificamente, a velocidade de escrita de dados em disco\n"
 "foi insuficiente para acompanhar o ritmo de gravação.\n"
@@ -624,7 +623,7 @@ msgid ""
 "quickly enough to keep up with playback.\n"
 msgstr ""
 "O sistema de ficheiros em disco do seu computador\n"
-"não foi capaz de manter o serviço audio do Ardour.\n"
+"não foi capaz de manter o serviço audio adequadamente.\n"
 "\n"
 "Especificamente, a velocidade de leitura de dados em disco\n"
 "foi insuficiente para acompanhar o ritmo de reprodução.\n"
@@ -640,34 +639,32 @@ msgid ""
 "what you would like to do.\n"
 msgstr ""
 "Esta sessão parece ter estado a meio\n"
-"de uma gravação quando o Ardour ou\n"
+"de uma gravação quando o sistema ou\n"
 "o computador foi desligado.\n"
 "\n"
-"Pode ser tentada a recuperação do audio\n"
-"capturado até então ou simplesmente ignorá-lo.\n"
+"Pode ser tentada a recuperação da material\n"
+"gravado até então ou simplesmente ignorá-lo.\n"
 "Por favor decida o que pretende fazer.\n"
 
 #: ardour_ui.cc:2293
 msgid "Recover from crash"
-msgstr "Recuperação"
+msgstr "Recuperar"
 
 #: ardour_ui.cc:2294
 msgid "Ignore crash data"
-msgstr "Ignorar informação de recuperação"
+msgstr "Ignorar"
 
 #: ardour_ui.cc:2312
-#, fuzzy
 msgid "Could not disconnect from JACK"
-msgstr "Não foi possível conectar ao serviço JACK como \"%1\""
+msgstr "Não foi possível desligar do serviço JACK"
 
 #: ardour_ui.cc:2325
-#, fuzzy
 msgid "Could not reconnect to JACK"
-msgstr "Não foi possível conectar ao serviço JACK como \"%1\""
+msgstr "Não foi possível ligar ao serviço JACK"
 
 #: ardour_ui2.cc:60
 msgid "UI: cannot setup editor"
-msgstr "Não foi possível iniciar o painel principal de edição (editor)"
+msgstr "Não foi possível iniciar o painel de edição"
 
 #: ardour_ui2.cc:65
 msgid "UI: cannot setup mixer"
@@ -723,7 +720,7 @@ msgstr "Iniciar a reprodução após qualquer localização"
 
 #: ardour_ui2.cc:299
 msgid "Be sensible about input monitoring"
-msgstr "Seja sensível acerca de monitorização de entradas"
+msgstr "Seja sensível acerca da monitorização de entradas"
 
 #: ardour_ui2.cc:300
 msgid "Start recording at auto-punch start"
@@ -738,22 +735,21 @@ msgid "Enable/Disable audio click"
 msgstr "Ligar/Desligar o metrónomo"
 
 #: ardour_ui2.cc:303
-#, fuzzy
 msgid "Positional sync source"
-msgstr "Sicronia de Posição"
+msgstr "Sicronia de posição"
 
 #: ardour_ui2.cc:304
 msgid "Does Ardour control the time?"
-msgstr ""
+msgstr "Controlo de tempo?"
 
 #: ardour_ui2.cc:305
 msgid "Shuttle speed control"
 msgstr "Controlo de velocidade"
 
 #: ardour_ui2.cc:306
-#, fuzzy, c-format
+#, c-format
 msgid "Select semitones or %%-age for speed display"
-msgstr "Seleccionar semitons ou %-agem para visualização de velocidade"
+msgstr "Seleccionar semi-tons ou %%agem para visualização de velocidade"
 
 #: ardour_ui2.cc:307
 msgid "Current transport speed"
@@ -783,9 +779,8 @@ msgid "ardour: clock"
 msgstr "ardour: cronómetro"
 
 #: ardour_ui2.cc:596
-#, fuzzy
 msgid "Maximum speed"
-msgstr "velocidade variável"
+msgstr "Velocidade máxima"
 
 #: ardour_ui2.cc:823
 msgid "st"
@@ -796,12 +791,10 @@ msgid "stopped"
 msgstr "parado"
 
 #: ardour_ui_dialogs.cc:153 playlist_selector.cc:70
-#, fuzzy
 msgid "close"
-msgstr "Fechar"
+msgstr "fechar"
 
 #: ardour_ui_dialogs.cc:360 ardour_ui_ed.cc:184
-#, fuzzy
 msgid "Sound File Browser"
 msgstr "Audioteca"
 
@@ -817,43 +810,39 @@ msgstr "Exportar"
 
 #: ardour_ui_ed.cc:74
 msgid "Cleanup"
-msgstr "Apagar"
+msgstr "Limpar"
 
 #: ardour_ui_ed.cc:75 option_editor.cc:126
 msgid "Sync"
 msgstr "Sincronia"
 
 #: ardour_ui_ed.cc:76 ardour_ui_ed.cc:77
-#, fuzzy
 msgid "Options"
 msgstr "Opções"
 
 #: ardour_ui_ed.cc:78
 msgid "Help"
-msgstr ""
+msgstr "Ajuda"
 
 #: ardour_ui_ed.cc:79
 msgid "KeyMouse Actions"
-msgstr ""
+msgstr "Acções teclado/rato"
 
 #: ardour_ui_ed.cc:80
-#, fuzzy
 msgid "Audio File Format"
-msgstr "Quadros Audio"
+msgstr "Formato de ficheiro audio"
 
 #: ardour_ui_ed.cc:81
-#, fuzzy
 msgid "Header"
-msgstr "Pré-Atenuador"
+msgstr "Cabeçalho"
 
 #: ardour_ui_ed.cc:82
 msgid "Data"
-msgstr ""
+msgstr "Dados"
 
 #: ardour_ui_ed.cc:83
-#, fuzzy
 msgid "Control Surfaces"
-msgstr "Saídas de Controlo"
+msgstr "Mesas de controlo"
 
 #. the real actions
 #: ardour_ui_ed.cc:87 audio_time_axis.cc:1854 new_session_dialog.cc:529
@@ -874,7 +863,7 @@ msgstr "Fechar"
 
 #: ardour_ui_ed.cc:94 route_params_ui.cc:514
 msgid "Add Track/Bus"
-msgstr "Acrescentar Faixa/Barramento"
+msgstr "Acrescentar faixa/barramento"
 
 #: ardour_ui_ed.cc:105
 msgid "Connect"
@@ -887,25 +876,23 @@ msgstr "Capturar"
 
 #: ardour_ui_ed.cc:116
 msgid "Save Template..."
-msgstr "Guardar Modelo..."
+msgstr "Guardar modelo..."
 
 #: ardour_ui_ed.cc:119
 msgid "Export session to audiofile..."
 msgstr "Exportar sessão para ficheiro audio..."
 
 #: ardour_ui_ed.cc:122
-#, fuzzy
 msgid "Export selection to audiofile..."
-msgstr "Exportar sessão para ficheiro audio..."
+msgstr "Exportar selecção para ficheiro audio..."
 
 #: ardour_ui_ed.cc:126
-#, fuzzy
 msgid "Export range markers to audiofile..."
 msgstr "Exportar intervalo para ficheiro audio..."
 
 #: ardour_ui_ed.cc:133
 msgid "Cleanup unused sources"
-msgstr "Apagar originais em desuso"
+msgstr "Limpar originais em desuso"
 
 #: ardour_ui_ed.cc:135
 msgid "Flush wastebasket"
@@ -913,18 +900,16 @@ msgstr "Limpeza"
 
 #: ardour_ui_ed.cc:141 ardour_ui_options.cc:408 ardour_ui_options.cc:417
 #: ardour_ui_options.cc:489
-#, fuzzy
 msgid "JACK"
-msgstr "RECUAR"
+msgstr ""
 
 #: ardour_ui_ed.cc:142
 msgid "Latency"
-msgstr ""
+msgstr "Latência"
 
 #: ardour_ui_ed.cc:144
-#, fuzzy
 msgid "Reconnect"
-msgstr "Ligar"
+msgstr "Religar"
 
 #: ardour_ui_ed.cc:147 mixer_strip.cc:497 mixer_strip.cc:565
 msgid "Disconnect"
@@ -936,7 +921,7 @@ msgstr "Janelas"
 
 #: ardour_ui_ed.cc:175
 msgid "start prefix"
-msgstr ""
+msgstr "prefixo"
 
 #: ardour_ui_ed.cc:176
 msgid "Quit"
@@ -945,26 +930,23 @@ msgstr "Sair"
 #. windows visibility actions
 #: ardour_ui_ed.cc:180
 msgid "Maximise Editor Space"
-msgstr ""
+msgstr "Maximizar o painel de edição"
 
 #: ardour_ui_ed.cc:182
-#, fuzzy
 msgid "Show Editor"
-msgstr "Opções"
+msgstr "Mostrar painel de edição"
 
 #: ardour_ui_ed.cc:183
-#, fuzzy
 msgid "Show Mixer"
-msgstr "Mistura"
+msgstr "Mostrar painel de mistura"
 
 #: ardour_ui_ed.cc:185
 msgid "Options Editor"
 msgstr "Opções"
 
 #: ardour_ui_ed.cc:186
-#, fuzzy
 msgid "Track/Bus Inspector"
-msgstr "Faixas/Barramentos"
+msgstr "Faixas/barramentos"
 
 #: ardour_ui_ed.cc:188
 msgid "Connections"
@@ -976,41 +958,36 @@ msgstr "Localizações"
 
 #: ardour_ui_ed.cc:192
 msgid "Big Clock"
-msgstr "Cronómetro Principal"
+msgstr "Cronómetro principal"
 
 #: ardour_ui_ed.cc:194
 msgid "About"
 msgstr "Acerca de"
 
 #: ardour_ui_ed.cc:195
-#, fuzzy
 msgid "Colors"
-msgstr "Cor"
+msgstr "Cores"
 
 #: ardour_ui_ed.cc:197
-#, fuzzy
 msgid "Add Audio Track"
-msgstr "Acrescentar Faixa/Barramento"
+msgstr "Acrescentar faixa/barramento audio"
 
 #: ardour_ui_ed.cc:199
-#, fuzzy
 msgid "Add Audio Bus"
-msgstr "Esconder todos os barramentos audio"
+msgstr "Acrescentar barramento audio"
 
 #: ardour_ui_ed.cc:201
 msgid "Save"
 msgstr "Guardar"
 
 #: ardour_ui_ed.cc:203 editor_actions.cc:255
-#, fuzzy
 msgid "Remove Last Capture"
 msgstr "Remover a última captura"
 
 #. do-nothing action for the "transport" menu bar item
 #: ardour_ui_ed.cc:210
-#, fuzzy
 msgid "Transport"
-msgstr "Tradutores"
+msgstr "Transporte"
 
 #. these two are not used by key bindings, instead use ToggleRoll for that. these two do show up in
 #. menus and via button proxies.
@@ -1021,77 +998,69 @@ msgstr "Parar"
 
 #: ardour_ui_ed.cc:219
 msgid "Roll"
-msgstr ""
+msgstr "Rolar"
 
 #: ardour_ui_ed.cc:223
-#, fuzzy
 msgid "Start/Stop"
-msgstr "Início:"
+msgstr "Iniciar/Parar"
 
 #: ardour_ui_ed.cc:226
 msgid "Stop + Forget Capture"
-msgstr ""
+msgstr "Parar + esquecer gravação"
 
 #: ardour_ui_ed.cc:229
-#, fuzzy
 msgid "Play Loop Range"
 msgstr "Reproduzir intervalo cíclico"
 
 #: ardour_ui_ed.cc:232
-#, fuzzy
 msgid "Play Selection"
 msgstr "Reproduzir região seleccionada"
 
 #: ardour_ui_ed.cc:236
-#, fuzzy
 msgid "Enable Record"
 msgstr "Gravar"
 
 #: ardour_ui_ed.cc:239
-#, fuzzy
 msgid "Rewind"
-msgstr "Região"
+msgstr "Rebobinar"
 
 #: ardour_ui_ed.cc:242
 msgid "Rewind (Slow)"
-msgstr ""
+msgstr "Rebobinar (devagar)"
 
 #: ardour_ui_ed.cc:245
 msgid "Rewind (Fast)"
-msgstr ""
+msgstr "Rebobinar (rápido)"
 
 #: ardour_ui_ed.cc:248
-#, fuzzy
 msgid "Forward"
-msgstr "retocar p/frente"
+msgstr "Avançar"
 
 #: ardour_ui_ed.cc:251
 msgid "Forward (Slow)"
-msgstr ""
+msgstr "Avançar (devagar)"
 
 #: ardour_ui_ed.cc:254
 msgid "Forward (Fast)"
-msgstr ""
+msgstr "Avançar (rápido)"
 
 #: ardour_ui_ed.cc:257
 msgid "Goto Zero"
-msgstr ""
+msgstr "Ir para o zero"
 
 #: ardour_ui_ed.cc:260
-#, fuzzy
 msgid "Goto Start"
-msgstr "Início:"
+msgstr "Ir para o início"
 
 #: ardour_ui_ed.cc:263
 msgid "Goto End"
-msgstr ""
+msgstr "Ir para o final"
 
 #. XXX the newline in the displayed names of these action is really wrong, but its because we want the button
 #. that proxies for these action to be more compact. It would be nice to find a way to override the action
 #. name appearance on the buttons.
 #.
 #: ardour_ui_ed.cc:272
-#, fuzzy
 msgid ""
 "Punch\n"
 "in"
@@ -1100,7 +1069,6 @@ msgstr ""
 "inserção"
 
 #: ardour_ui_ed.cc:275
-#, fuzzy
 msgid ""
 "Punch\n"
 "out"
@@ -1113,7 +1081,6 @@ msgid "Click"
 msgstr "Metrónomo"
 
 #: ardour_ui_ed.cc:281
-#, fuzzy
 msgid ""
 "Auto\n"
 "input"
@@ -1122,157 +1089,156 @@ msgstr ""
 "automática"
 
 #: ardour_ui_ed.cc:284
-#, fuzzy
 msgid ""
 "Auto\n"
 "play"
 msgstr ""
-"reprodução\n"
+"Reprodução\n"
 "automática"
 
 #: ardour_ui_ed.cc:287
-#, fuzzy
 msgid ""
 "Auto\n"
 "return"
 msgstr ""
-"retorno\n"
+"Retorno\n"
 "automático"
 
 #: ardour_ui_ed.cc:291
-#, fuzzy
 msgid ""
 "Time\n"
 "master"
-msgstr "Supervisor de tempo JACK"
+msgstr ""
+"Supervisão\n"
+"de tempo"
 
 #: ardour_ui_ed.cc:294
 msgid "Toggle Record Enable Track1"
-msgstr ""
+msgstr "Comutador de gravação Faixa 1"
 
 #: ardour_ui_ed.cc:296
 msgid "Toggle Record Enable Track2"
-msgstr ""
+msgstr "Comutador de gravação Faixa 2"
 
 #: ardour_ui_ed.cc:298
 msgid "Toggle Record Enable Track3"
-msgstr ""
+msgstr "Comutador de gravação Faixa 3"
 
 #: ardour_ui_ed.cc:300
 msgid "Toggle Record Enable Track4"
-msgstr ""
+msgstr "Comutador de gravação Faixa 4"
 
 #: ardour_ui_ed.cc:302
 msgid "Toggle Record Enable Track5"
-msgstr ""
+msgstr "Comutador de gravação Faixa 5"
 
 #: ardour_ui_ed.cc:304
 msgid "Toggle Record Enable Track6"
-msgstr ""
+msgstr "Comutador de gravação Faixa 6"
 
 #: ardour_ui_ed.cc:306
 msgid "Toggle Record Enable Track7"
-msgstr ""
+msgstr "Comutador de gravação Faixa 7"
 
 #: ardour_ui_ed.cc:308
 msgid "Toggle Record Enable Track8"
-msgstr ""
+msgstr "Comutador de gravação Faixa 8"
 
 #: ardour_ui_ed.cc:310
 msgid "Toggle Record Enable Track9"
-msgstr ""
+msgstr "Comutador de gravação Faixa 9"
 
 #: ardour_ui_ed.cc:312
 msgid "Toggle Record Enable Track10"
-msgstr ""
+msgstr "Comutador de gravação Faixa 10"
 
 #: ardour_ui_ed.cc:314
 msgid "Toggle Record Enable Track11"
-msgstr ""
+msgstr "Comutador de gravação Faixa 11"
 
 #: ardour_ui_ed.cc:316
 msgid "Toggle Record Enable Track12"
-msgstr ""
+msgstr "Comutador de gravação Faixa 12"
 
 #: ardour_ui_ed.cc:318
 msgid "Toggle Record Enable Track13"
-msgstr ""
+msgstr "Comutador de gravação Faixa 13"
 
 #: ardour_ui_ed.cc:320
 msgid "Toggle Record Enable Track14"
-msgstr ""
+msgstr "Comutador de gravação Faixa 14"
 
 #: ardour_ui_ed.cc:322
 msgid "Toggle Record Enable Track15"
-msgstr ""
+msgstr "Comutador de gravação Faixa 15"
 
 #: ardour_ui_ed.cc:324
 msgid "Toggle Record Enable Track16"
-msgstr ""
+msgstr "Comutador de gravação Faixa 16"
 
 #: ardour_ui_ed.cc:326
 msgid "Toggle Record Enable Track17"
-msgstr ""
+msgstr "Comutador de gravação Faixa 17"
 
 #: ardour_ui_ed.cc:328
 msgid "Toggle Record Enable Track18"
-msgstr ""
+msgstr "Comutador de gravação Faixa 18"
 
 #: ardour_ui_ed.cc:330
 msgid "Toggle Record Enable Track19"
-msgstr ""
+msgstr "Comutador de gravação Faixa 19"
 
 #: ardour_ui_ed.cc:332
 msgid "Toggle Record Enable Track20"
-msgstr ""
+msgstr "Comutador de gravação Faixa 20"
 
 #: ardour_ui_ed.cc:334
 msgid "Toggle Record Enable Track21"
-msgstr ""
+msgstr "Comutador de gravação Faixa 21"
 
 #: ardour_ui_ed.cc:336
 msgid "Toggle Record Enable Track22"
-msgstr ""
+msgstr "Comutador de gravação Faixa 22"
 
 #: ardour_ui_ed.cc:338
 msgid "Toggle Record Enable Track23"
-msgstr ""
+msgstr "Comutador de gravação Faixa 23"
 
 #: ardour_ui_ed.cc:340
 msgid "Toggle Record Enable Track24"
-msgstr ""
+msgstr "Comutador de gravação Faixa 24"
 
 #: ardour_ui_ed.cc:342
 msgid "Toggle Record Enable Track25"
-msgstr ""
+msgstr "Comutador de gravação Faixa 25"
 
 #: ardour_ui_ed.cc:344
 msgid "Toggle Record Enable Track26"
-msgstr ""
+msgstr "Comutador de gravação Faixa 26"
 
 #: ardour_ui_ed.cc:346
 msgid "Toggle Record Enable Track27"
-msgstr ""
+msgstr "Comutador de gravação Faixa 27"
 
 #: ardour_ui_ed.cc:348
 msgid "Toggle Record Enable Track28"
-msgstr ""
+msgstr "Comutador de gravação Faixa 28"
 
 #: ardour_ui_ed.cc:350
 msgid "Toggle Record Enable Track29"
-msgstr ""
+msgstr "Comutador de gravação Faixa 29"
 
 #: ardour_ui_ed.cc:352
 msgid "Toggle Record Enable Track30"
-msgstr ""
+msgstr "Comutador de gravação Faixa 30"
 
 #: ardour_ui_ed.cc:354
 msgid "Toggle Record Enable Track31"
-msgstr ""
+msgstr "Comutador de gravação Faixa 31"
 
 #: ardour_ui_ed.cc:356
 msgid "Toggle Record Enable Track32"
-msgstr ""
+msgstr "Comutador de gravação Faixa 32"
 
 #: ardour_ui_ed.cc:361
 msgid "Percentage"
@@ -1280,7 +1246,7 @@ msgstr "Percentagem"
 
 #: ardour_ui_ed.cc:362
 msgid "Semitones"
-msgstr "Semitons"
+msgstr "Semi-tons"
 
 #: ardour_ui_ed.cc:366
 msgid "Send MTC"
@@ -1291,109 +1257,93 @@ msgid "Send MMC"
 msgstr "Enviar MMC"
 
 #: ardour_ui_ed.cc:370
-#, fuzzy
 msgid "Use MMC"
-msgstr "Enviar MMC"
+msgstr "Usar MMC"
 
 #: ardour_ui_ed.cc:372
-#, fuzzy
 msgid "Send MIDI feedback"
-msgstr "Enviar resposta a parametros MIDI"
+msgstr "Enviar controlo MIDI"
 
 #: ardour_ui_ed.cc:374
-#, fuzzy
 msgid "Use MIDI control"
-msgstr "Porta MMC"
+msgstr "Usar controlo MIDI"
 
 #: ardour_ui_ed.cc:377
-#, fuzzy
 msgid "Connect new track inputs to hardware"
-msgstr "Ligar novas faixas automaticamente"
+msgstr "Ligar entradas de faixas novas automaticamente"
 
 #: ardour_ui_ed.cc:396
-#, fuzzy
 msgid "Connect new track outputs to hardware"
-msgstr "Ligar novas faixas automaticamente"
+msgstr "Ligar saídas de faixas novas automaticamente"
 
 #: ardour_ui_ed.cc:398
-#, fuzzy
 msgid "Connect new track outputs to master"
-msgstr "ligar saídas principais automaticamente"
+msgstr "Ligar saídas principais de faixas novas a  automaticamente"
 
 #: ardour_ui_ed.cc:400
-#, fuzzy
 msgid "Manually connect new track outputs"
-msgstr "ligar saídas manualmente"
+msgstr "Ligar saídas de faixas novas manualmente"
 
 #: ardour_ui_ed.cc:405
-#, fuzzy
 msgid "Hardware monitoring"
-msgstr "Usar monitorização física"
+msgstr "Monitorização física"
 
 #: ardour_ui_ed.cc:406
-#, fuzzy
 msgid "Software monitoring"
-msgstr "Usar monitorização lógica"
+msgstr "Monitorização lógica"
 
 #: ardour_ui_ed.cc:407
-#, fuzzy
 msgid "External monitoring"
-msgstr "Usar monitorização física"
+msgstr "Monitorização externa"
 
 #. Configuration object options (i.e. not session specific)
-#: ardour_ui_ed.cc:411
 msgid "Stop plugins with transport"
 msgstr "Suspender efeitos/plug-ins com transporte"
 
 #: ardour_ui_ed.cc:412
-#, fuzzy
 msgid "Verify remove last capture"
-msgstr "Remover a última captura"
+msgstr "Verificar remoção da última captura"
 
 #: ardour_ui_ed.cc:413
 msgid "Stop recording on xrun"
-msgstr "Suspender gravação em caso de falha sincrónica (XRUN)"
+msgstr "Suspender gravação em caso de falha sincrónica (XRUN)"
 
 #: ardour_ui_ed.cc:414
-#, fuzzy
 msgid "Stop transport at session end"
-msgstr "Suspender transporte no final da sessão"
+msgstr "Suspender transporte no final da sessão"
 
 #: ardour_ui_ed.cc:415
 msgid "-12dB gain reduce ffwd/rewind"
-msgstr ""
+msgstr "Atenuar 12dB durante o rebobinar/avançar"
 
 #: ardour_ui_ed.cc:416
 msgid "Rec-enable stays engaged at stop"
-msgstr ""
+msgstr "Gravação permanece activa quando parar"
 
 #. session options
 #: ardour_ui_ed.cc:420
-#, fuzzy
 msgid "Do not run plugins while recording"
-msgstr "Executar efeitos/plug-ins durante a gravação"
+msgstr "Não executar efeitos/plug-ins durante a gravação"
 
 #: ardour_ui_ed.cc:423
 msgid "Latched solo"
 msgstr "Solo retido"
 
 #: ardour_ui_ed.cc:428
-#, fuzzy
 msgid "Solo in-place"
-msgstr "solo livre"
+msgstr "Solo livre"
 
 #: ardour_ui_ed.cc:430
 msgid "Solo via bus"
-msgstr "Solo por barramento"
+msgstr "Solo via barramento"
 
 #: ardour_ui_ed.cc:433
-#, fuzzy
 msgid "Automatically create crossfades"
-msgstr "Desvanecimento cruzado automático em sobreposição"
+msgstr "Criar desvanecimentos cruzados automaticamente"
 
 #: ardour_ui_ed.cc:435
 msgid "Unmute new full crossfades"
-msgstr ""
+msgstr "Desmutar desvanecimentos cruzados novos"
 
 #: ardour_ui_options.cc:406 ardour_ui_options.cc:416 ardour_ui_options.cc:483
 msgid "Internal"
@@ -1417,7 +1367,7 @@ msgstr "Mins:Segs"
 
 #: audio_clock.cc:1745
 msgid "Audio Frames"
-msgstr "Quadros Audio"
+msgstr "Quadros audio"
 
 #.
 #. Slowest = 6.6dB/sec falloff at update rate of 40ms
@@ -1489,7 +1439,7 @@ msgstr "Altura"
 
 #: audio_time_axis.cc:173
 msgid "Playlist"
-msgstr "Lista de Reprodução"
+msgstr "Lista de reprodução"
 
 #: audio_time_axis.cc:174 audio_time_axis.cc:741
 msgid "Automation"
@@ -1519,45 +1469,39 @@ msgstr "Cor"
 
 #: audio_time_axis.cc:707
 msgid "Hide all crossfades"
-msgstr ""
+msgstr "Esconder todos os desvanecimentos cruzados"
 
 #: audio_time_axis.cc:708
 msgid "Show all crossfades"
-msgstr ""
+msgstr "Mostrar todos os desvanecimentos cruzados"
 
 #: audio_time_axis.cc:712 mixer_strip.cc:1011
-#, fuzzy
 msgid "Remote Control ID"
-msgstr "remover ponto de controlo"
+msgstr "ID controlo remoto"
 
 #: audio_time_axis.cc:718
-#, fuzzy
 msgid "Show all automation"
-msgstr "Mostrar todos as automatizações"
+msgstr "Mostrar todas as automatizações"
 
 #: audio_time_axis.cc:721
-#, fuzzy
 msgid "Show existing automation"
 msgstr "Mostrar automatizações existentes"
 
 #: audio_time_axis.cc:724
-#, fuzzy
 msgid "Hide all automation"
-msgstr "Esconder todos as automatizações"
+msgstr "Esconder todas as automatizações"
 
 #: audio_time_axis.cc:729
-#, fuzzy
 msgid "Fader"
-msgstr "Desvanecimentos"
+msgstr "Desvanecimento"
 
 #: audio_time_axis.cc:734
-#, fuzzy
 msgid "Pan"
-msgstr "pan"
+msgstr "Panorama"
 
 #: audio_time_axis.cc:739
 msgid "Plugins"
-msgstr ""
+msgstr "Efeitos/plug-ins"
 
 #: audio_time_axis.cc:747
 msgid "Show waveforms"
@@ -1576,24 +1520,21 @@ msgid "Waveform"
 msgstr "Forma de onda"
 
 #: audio_time_axis.cc:771
-#, fuzzy
 msgid "Align with existing material"
-msgstr "Material existente"
+msgstr "Alinhar com material existente"
 
 #: audio_time_axis.cc:776
-#, fuzzy
 msgid "Align with capture time"
-msgstr "Tempo de captura"
+msgstr "Alinhar com tempo de gravação"
 
 #: audio_time_axis.cc:782
-#, fuzzy
 msgid "Alignment"
-msgstr "Alinhar"
+msgstr "Alinhamento"
 
 #: audio_time_axis.cc:788 editor.cc:527 editor_actions.cc:60
 #: mixer_strip.cc:1000 mixer_ui.cc:111
 msgid "Active"
-msgstr "Activar"
+msgstr "Activo"
 
 #: audio_time_axis.cc:793 editor.cc:1922 editor_actions.cc:320
 #: editor_markers.cc:508 imageframe_time_axis.cc:259 location_ui.cc:57
@@ -1613,7 +1554,6 @@ msgid "Rename"
 msgstr "Renomear"
 
 #: audio_time_axis.cc:868 audio_time_axis.cc:908
-#, fuzzy
 msgid "Name for Playlist"
 msgstr "Nome para lista de reprodução"
 
@@ -1627,7 +1567,7 @@ msgstr "ganho"
 
 #: audio_time_axis.cc:1207
 msgid "pan"
-msgstr "pan"
+msgstr "panorama"
 
 #: audio_time_axis.cc:1410 editor.cc:1483 selection.cc:634
 msgid "programming error: "
@@ -1639,11 +1579,11 @@ msgstr "Actual: %1"
 
 #: audio_time_axis.cc:1855
 msgid "New Copy"
-msgstr "Nova Cópia"
+msgstr "Nova cópia"
 
 #: audio_time_axis.cc:1857
 msgid "Clear Current"
-msgstr "Limpar Actual"
+msgstr "Apagar actual"
 
 #: audio_time_axis.cc:1859 editor.cc:2024 editor.cc:2100
 msgid "Select"
@@ -1667,22 +1607,19 @@ msgstr "apagar"
 
 #: automation_time_axis.cc:75
 msgid "track height"
-msgstr ""
+msgstr "altura da faixa"
 
 #: automation_time_axis.cc:76
-#, fuzzy
 msgid "automation state"
-msgstr "ponto de automatização de panorâmica"
+msgstr "estado de automatização"
 
 #: automation_time_axis.cc:77
-#, fuzzy
 msgid "clear track"
-msgstr "apagar intervalos"
+msgstr "apagar faixa"
 
 #: automation_time_axis.cc:78
-#, fuzzy
 msgid "hide track"
-msgstr "retocar faixa"
+msgstr "esconder faixa"
 
 #: automation_time_axis.cc:184 automation_time_axis.cc:213
 #: automation_time_axis.cc:461
@@ -1693,21 +1630,19 @@ msgstr ""
 #: automation_time_axis.cc:465 editor.cc:2001 editor.cc:2082 gain_meter.cc:174
 #: panner_ui.cc:91 plugin_ui.cc:395 plugin_ui.cc:637 sfdb_ui.cc:56
 msgid "Play"
-msgstr "Reproduzir"
+msgstr "Reprodução"
 
 #: automation_time_axis.cc:188 automation_time_axis.cc:235
 #: automation_time_axis.cc:469 gain_meter.cc:176 panner_ui.cc:93
 #: plugin_ui.cc:398 plugin_ui.cc:639
-#, fuzzy
 msgid "Write"
-msgstr "escrita"
+msgstr "Escrita"
 
 #: automation_time_axis.cc:190 automation_time_axis.cc:246
 #: automation_time_axis.cc:473 gain_meter.cc:178 panner_ui.cc:95
 #: plugin_ui.cc:401 plugin_ui.cc:641
-#, fuzzy
 msgid "Touch"
-msgstr "tocar"
+msgstr "Tocar"
 
 #: automation_time_axis.cc:257 option_editor.cc:183 option_editor.cc:189
 #: plugin_ui.cc:404
@@ -1727,17 +1662,16 @@ msgid "Clear"
 msgstr "Apagar"
 
 #: automation_time_axis.cc:477
-#, fuzzy
 msgid "State"
-msgstr "Início"
+msgstr "Estado"
 
 #: canvas-imageframe.c:104
 msgid "pixbuf"
-msgstr ""
+msgstr "imagem"
 
 #: canvas-imageframe.c:105
 msgid "the pixbuf"
-msgstr ""
+msgstr "a imagem"
 
 #: canvas-imageframe.c:110
 msgid "x"
@@ -1745,7 +1679,7 @@ msgstr ""
 
 #: canvas-imageframe.c:111 canvas-simpleline.c:111 canvas-simplerect.c:107
 msgid "x coordinate of upper left corner of rect"
-msgstr ""
+msgstr "coordenada x do canto superior esquerdo do rectângulo"
 
 #: canvas-imageframe.c:120
 msgid "y"
@@ -1753,42 +1687,39 @@ msgstr ""
 
 #: canvas-imageframe.c:121 canvas-simpleline.c:121 canvas-simplerect.c:117
 msgid "y coordinate of upper left corner of rect "
-msgstr ""
+msgstr "coordenada y do canto superior esquerdo do rectângulo"
 
 #: canvas-imageframe.c:129
-#, fuzzy
 msgid "width"
-msgstr "escrita"
+msgstr "largura"
 
 #: canvas-imageframe.c:130
 msgid "the width"
-msgstr ""
+msgstr "a largura"
 
 #: canvas-imageframe.c:139
 msgid "drawwidth"
-msgstr ""
+msgstr "largura visível"
 
 #: canvas-imageframe.c:140
 msgid "drawn width"
-msgstr ""
+msgstr "largura visível"
 
 #: canvas-imageframe.c:148
-#, fuzzy
 msgid "height"
-msgstr "Altura"
+msgstr "altura"
 
 #: canvas-imageframe.c:149
-#, fuzzy
 msgid "the height"
-msgstr "Altura"
+msgstr "a altura"
 
 #: canvas-imageframe.c:157
 msgid "anchor"
-msgstr ""
+msgstr "referência"
 
 #: canvas-imageframe.c:158
 msgid "the anchor"
-msgstr ""
+msgstr "a referência"
 
 #: canvas-simpleline.c:110 canvas-simplerect.c:106
 msgid "x1"
@@ -1804,7 +1735,7 @@ msgstr ""
 
 #: canvas-simpleline.c:132 canvas-simplerect.c:128
 msgid "x coordinate of lower right corner of rect"
-msgstr ""
+msgstr "coordenada x do canto inferior direito do rectângulo"
 
 #: canvas-simpleline.c:141 canvas-simplerect.c:137
 msgid "y2"
@@ -1812,121 +1743,107 @@ msgstr ""
 
 #: canvas-simpleline.c:142 canvas-simplerect.c:138
 msgid "y coordinate of lower right corner of rect "
-msgstr ""
+msgstr "coordenada x do canto inferior direito do rectângulo"
 
 #: canvas-simpleline.c:150
 msgid "color rgba"
-msgstr ""
+msgstr "cor (rgba)"
 
 #: canvas-simpleline.c:151
-#, fuzzy
 msgid "color of line"
-msgstr "linear"
+msgstr "cor da linha"
 
 #: canvas-simplerect.c:148
 msgid "outline pixels"
-msgstr ""
+msgstr "contorno"
 
 #: canvas-simplerect.c:149
 msgid "width in pixels of outline"
-msgstr ""
+msgstr "largura do contorno"
 
 #: canvas-simplerect.c:159
 msgid "outline what"
-msgstr ""
+msgstr "contornar"
 
 #: canvas-simplerect.c:160
 msgid "which boundaries to outline (mask)"
-msgstr ""
+msgstr "contornos"
 
 #: canvas-simplerect.c:171
-#, fuzzy
 msgid "fill"
-msgstr "ficheiro"
+msgstr "preencher"
 
 #: canvas-simplerect.c:172
-#, fuzzy
 msgid "fill rectangle"
-msgstr "preencher selecção"
+msgstr "preencher rectângulo"
 
 #: canvas-simplerect.c:179
 msgid "draw"
-msgstr ""
+msgstr "desenhar"
 
 #: canvas-simplerect.c:180
-#, fuzzy
 msgid "draw rectangle"
-msgstr " intervalo"
+msgstr "desenhar rectângulo"
 
 #: canvas-simplerect.c:188
 msgid "outline color rgba"
-msgstr ""
+msgstr "cor de contorno (rgba)"
 
 #: canvas-simplerect.c:189
 msgid "color of outline"
-msgstr ""
+msgstr "cor de contorno"
 
 #: canvas-simplerect.c:199
 msgid "fill color rgba"
-msgstr ""
+msgstr "cor de preenchimento (rgba)"
 
 #: canvas-simplerect.c:200
 msgid "color of fill"
-msgstr ""
+msgstr "cor de preenchimento"
 
 #: color_manager.cc:40
-#, fuzzy
 msgid "Object"
-msgstr "objecto"
+msgstr "Objecto"
 
 #: color_manager.cc:78
-#, fuzzy
 msgid "cannot open color definition file %1: %2"
-msgstr ""
-"Editor: não foi possível abrir o ficheiro de imagem inicial \"%1\" (%2)"
+msgstr "não foi possível abrir o ficheiro de definição de cores %1: %2"
 
 #: crossfade_edit.cc:75
 msgid "ardour: x-fade edit"
 msgstr "ardour: desvanecimento cruzado"
 
 #: crossfade_edit.cc:79 panner_ui.cc:443
-#, fuzzy
 msgid "Reset"
-msgstr "reiniciar"
+msgstr "Reiniciar"
 
 #: crossfade_edit.cc:80
-#, fuzzy
 msgid "Fade"
-msgstr "Desvanecimentos"
+msgstr "Desvanecimento"
 
 #: crossfade_edit.cc:81
-#, fuzzy
 msgid "Out (dry)"
-msgstr "saída (limpa)"
+msgstr "Saída (limpa)"
 
 #: crossfade_edit.cc:82
-#, fuzzy
 msgid "Out"
 msgstr "Saída"
 
 #: crossfade_edit.cc:83
-#, fuzzy
 msgid "In (dry)"
-msgstr "entrada (limpa)"
+msgstr "Entrada (limpa)"
 
 #: crossfade_edit.cc:84
 msgid "In"
-msgstr ""
+msgstr "Entrada"
 
 #: crossfade_edit.cc:86
-#, fuzzy
 msgid "With Pre-roll"
-msgstr "com pré-batimento"
+msgstr "Com pré-batimento"
 
 #: crossfade_edit.cc:87
-#, fuzzy
 msgid "With Post-roll"
-msgstr "com pós-batimento"
+msgstr "Com pós-batimento"
 
 #: crossfade_edit.cc:95
 msgid "Fade In"
@@ -2012,11 +1929,11 @@ msgstr "Compassos"
 
 #: editor.cc:124 editor.cc:3647
 msgid "Marks"
-msgstr "Marcas"
+msgstr "Marcadores"
 
 #: editor.cc:125 editor.cc:144 editor.cc:3649 editor.cc:3715
 msgid "Edit Cursor"
-msgstr "Cursor de Edição"
+msgstr "Cursor de edição"
 
 #: editor.cc:126 editor.cc:3651
 msgid "Region starts"
@@ -2053,7 +1970,7 @@ msgstr "Centro"
 
 #: editor.cc:143 editor.cc:3713
 msgid "Playhead"
-msgstr "Cursor de Reprodução"
+msgstr "Cursor de reprodução"
 
 #. time display buttons
 #: editor.cc:186
@@ -2074,15 +1991,15 @@ msgstr "VUímetro"
 
 #: editor.cc:192 editor_rulers.cc:380
 msgid "Location Markers"
-msgstr "Localizações"
+msgstr "Marcadores de localização"
 
 #: editor.cc:193 editor_rulers.cc:386
 msgid "Range Markers"
-msgstr "Intervalos"
+msgstr "Marcadores de intervalo"
 
 #: editor.cc:194 editor_rulers.cc:392
 msgid "Loop/Punch Ranges"
-msgstr "Ciclos/Inserção"
+msgstr "Ciclos/inserção"
 
 #: editor.cc:216
 msgid "range"
@@ -2102,7 +2019,7 @@ msgstr ""
 
 #: editor.cc:221
 msgid "listen"
-msgstr ""
+msgstr "ouvir"
 
 #: editor.cc:223
 msgid "mode"
@@ -2114,7 +2031,7 @@ msgstr "automatização"
 
 #: editor.cc:226
 msgid "Edit Mode"
-msgstr "Modo de Edição"
+msgstr "Modo de edição"
 
 #: editor.cc:227 editor_actions.cc:284
 msgid "Snap To"
@@ -2122,11 +2039,11 @@ msgstr "Ajustar a"
 
 #: editor.cc:228
 msgid "Snap Mode"
-msgstr "Modo de Ajuste"
+msgstr "Modo de ajuste"
 
 #: editor.cc:229
 msgid "Zoom Focus"
-msgstr "Zoom(focagem)"
+msgstr "Zoom (focagem)"
 
 #. </CMT Additions>
 #. nudge
@@ -2136,44 +2053,40 @@ msgstr "Retocar"
 
 #: editor.cc:470
 msgid "Zoom in"
-msgstr "Zoom(+)"
+msgstr "Zoom (+)"
 
 #: editor.cc:471
 msgid "Zoom out"
-msgstr "Zoom(-)"
+msgstr "Zoom (-)"
 
 #: editor.cc:474
 msgid "Zoom to session"
-msgstr "Zoom(sessão)"
+msgstr "Zoom (sessão)"
 
 #: editor.cc:489
 msgid "Zoom Span"
-msgstr "Zoom(alcance)"
+msgstr "Zoom (alcance)"
 
 #: editor.cc:502 editor.cc:528 editor_actions.cc:62 mixer_ui.cc:86
 #: mixer_ui.cc:112
-#, fuzzy
 msgid "Visible"
-msgstr "visível"
+msgstr "Visível"
 
 #: editor.cc:503 editor.cc:526
-#, fuzzy
 msgid "Name"
-msgstr "Quadros"
+msgstr "Nome"
 
 #: editor.cc:602 editor.cc:669
-#, fuzzy
 msgid "Regions"
-msgstr "Regi��o"
+msgstr "Regi��es"
 
 #: editor.cc:642 editor.cc:681
 msgid "Chunks"
 msgstr "Trechos"
 
 #: editor.cc:672
-#, fuzzy
 msgid "Tracks/Busses"
-msgstr "Faixas/Barramentos"
+msgstr "Faixas/barramentos"
 
 #: editor.cc:675
 msgid "Snapshots"
@@ -2244,7 +2157,7 @@ msgstr "Rápido"
 
 #: editor.cc:1462 editor.cc:1479 editor_actions.cc:381
 msgid "Fastest"
-msgstr "Mais Rápido"
+msgstr "Mais rápido"
 
 #: editor.cc:1589 editor.cc:1597
 msgid "Freeze"
@@ -2255,9 +2168,8 @@ msgid "Unfreeze"
 msgstr "Descongelar"
 
 #: editor.cc:1762 editor.cc:1857
-#, fuzzy
 msgid "Unmute"
-msgstr "mudo"
+msgstr "Desmudo"
 
 #. non-operative menu items for menu bar
 #. show editors
@@ -2269,14 +2181,13 @@ msgstr "Editar"
 
 #: editor.cc:1771
 msgid "Convert to short"
-msgstr ""
+msgstr "Converter para curto"
 
 #: editor.cc:1773
 msgid "Convert to full"
-msgstr ""
+msgstr "Converter para todo"
 
 #: editor.cc:1784
-#, fuzzy
 msgid "Crossfade"
 msgstr "Desvanecimento cruzado"
 
@@ -2285,14 +2196,12 @@ msgid "Popup region editor"
 msgstr "Editor de região"
 
 #: editor.cc:1828
-#, fuzzy
 msgid "Raise to top layer"
-msgstr "Elevar região para o nível de topo"
+msgstr "Elevar região para o nível de topo"
 
 #: editor.cc:1829
-#, fuzzy
 msgid "Lower to bottom layer"
-msgstr "Descer região para o nível de fundo"
+msgstr "Descer região para o nível de fundo"
 
 #: editor.cc:1831
 msgid "Define sync point"
@@ -2303,14 +2212,12 @@ msgid "Remove sync point"
 msgstr "Remover ponto de sincronia"
 
 #: editor.cc:1837
-#, fuzzy
 msgid "Bounce"
-msgstr "Rebater intervalo"
+msgstr "Regravar"
 
 #: editor.cc:1840
-#, fuzzy
 msgid "Analyze region"
-msgstr "Reproduzir Região"
+msgstr "Analizar região"
 
 #: editor.cc:1852
 msgid "Lock"
@@ -2326,12 +2233,11 @@ msgstr "Posição original"
 
 #: editor.cc:1869
 msgid "Toggle envelope visibility"
-msgstr ""
+msgstr "Comutar visibilidade de envolvente"
 
 #: editor.cc:1870
-#, fuzzy
 msgid "Toggle envelope active"
-msgstr "Activação"
+msgstr "Comutar activação de envolvente"
 
 #: editor.cc:1874
 msgid "DeNormalize"
@@ -2347,14 +2253,12 @@ msgstr "Inverter"
 
 #. range related stuff
 #: editor.cc:1885
-#, fuzzy
 msgid "Add Range Markers"
-msgstr "Intervalos"
+msgstr "Acrescentar marcadores de intervalo"
 
 #: editor.cc:1886
-#, fuzzy
 msgid "Set Range"
-msgstr "Separar Intervalo"
+msgstr "Estabelecer intervalo"
 
 #: editor.cc:1895
 msgid "Nudge fwd"
@@ -2366,11 +2270,11 @@ msgstr "Retocar p/trás"
 
 #: editor.cc:1897
 msgid "Nudge fwd by capture offset"
-msgstr "Retocar p/frente captura"
+msgstr "Retocar p/frente (gravação)"
 
 #: editor.cc:1898
 msgid "Nudge bwd by capture offset"
-msgstr "Retocar p/trás captura"
+msgstr "Retocar p/trás (gravação)"
 
 #: editor.cc:1907
 msgid "Start to edit cursor"
@@ -2399,7 +2303,7 @@ msgstr "Duplicar"
 
 #: editor.cc:1920
 msgid "Fill Track"
-msgstr "Preencher Faixa"
+msgstr "Preencher faixa"
 
 #: editor.cc:1924
 msgid "Destroy"
@@ -2414,49 +2318,40 @@ msgid "Loop range"
 msgstr "Intervalo cíclico"
 
 #: editor.cc:1959
-#, fuzzy
 msgid "Analyze range"
-msgstr "Reproduzir intervalo"
+msgstr "Analizar intervalo"
 
 #: editor.cc:1963
-#, fuzzy
 msgid "Separate range to track"
-msgstr "Separar Intervalo"
+msgstr "Separar intervalo em faixa"
 
 #: editor.cc:1964
-#, fuzzy
 msgid "Separate range to region list"
-msgstr "seleccionar regiões"
+msgstr "Separar intervalo em regiões"
 
 #: editor.cc:1967
-#, fuzzy
 msgid "Select all in range"
-msgstr "Seleccionar tudo na faixa"
+msgstr "Seleccionar todo intervalo"
 
 #: editor.cc:1969 editor.cc:2014
-#, fuzzy
 msgid "Set range to loop range"
-msgstr "Seleccionar intervalo de ciclo"
+msgstr "Estabelecer intervalo cíclico"
 
 #: editor.cc:1970 editor.cc:2015
-#, fuzzy
 msgid "Set range to punch range"
-msgstr "Seleccionar intervalo de inserção"
+msgstr "Estabelecer intervalo de inserção"
 
 #: editor.cc:1972
-#, fuzzy
 msgid "Crop region to range"
-msgstr "Cortar Regão para intervalo"
+msgstr "Cortar região no intervalo"
 
 #: editor.cc:1973
-#, fuzzy
 msgid "Fill range with region"
-msgstr "Preencher intervalo c/Região"
+msgstr "Preencher intervalo com região"
 
 #: editor.cc:1974
-#, fuzzy
 msgid "Duplicate range"
-msgstr "Duplicar"
+msgstr "Duplicar intervalo"
 
 #: editor.cc:1975
 msgid "Create chunk from range"
@@ -2464,12 +2359,11 @@ msgstr "Criar trecho desde intervalo"
 
 #: editor.cc:1977
 msgid "Bounce range"
-msgstr "Rebater intervalo"
+msgstr "Regravar intervalo"
 
 #: editor.cc:1978
-#, fuzzy
 msgid "Export range"
-msgstr "Exportar região"
+msgstr "Exportar intervalo"
 
 #: editor.cc:1980
 msgid "Range"
@@ -2484,13 +2378,12 @@ msgid "Play from start"
 msgstr "Reproduzir desde o início"
 
 #: editor.cc:1997
-#, fuzzy
 msgid "Play region"
-msgstr "Reproduzir Região"
+msgstr "Reproduzir região"
 
 #: editor.cc:1999
 msgid "Loop Region"
-msgstr "Região Cíclica"
+msgstr "Reproduzir região em ciclo"
 
 #: editor.cc:2009 editor.cc:2090
 msgid "Select All in track"
@@ -2501,39 +2394,32 @@ msgid "Select All"
 msgstr "Seleccionar tudo"
 
 #: editor.cc:2011 editor.cc:2092
-#, fuzzy
 msgid "Invert selection in track"
-msgstr "Inverter na faixa"
+msgstr "Inverter selecção na faixa"
 
 #: editor.cc:2012 editor.cc:2093
-#, fuzzy
 msgid "Invert selection"
-msgstr "mover selecção"
+msgstr "Inverter selecção"
 
 #: editor.cc:2017 editor.cc:2095
-#, fuzzy
 msgid "Select all after edit cursor"
-msgstr "Do início ao cursor de edição"
+msgstr "Seleccionar tudo após o cursor de edição"
 
 #: editor.cc:2018 editor.cc:2096
-#, fuzzy
 msgid "Select all before edit cursor"
-msgstr "Do início ao cursor de edição"
+msgstr "Seleccionar tudo antes do cursor de edição"
 
 #: editor.cc:2019 editor.cc:2097
-#, fuzzy
 msgid "Select all after playhead"
-msgstr "Desde cursor de reprodução"
+msgstr "Seleccionar tudo após o cursor de reprodução"
 
 #: editor.cc:2020 editor.cc:2098
-#, fuzzy
 msgid "Select all before playhead"
-msgstr "Desde cursor de reprodução"
+msgstr "Seleccionar tudo antes do cursor de reprodução"
 
 #: editor.cc:2021
-#, fuzzy
 msgid "Select all between cursors"
-msgstr "Do início ao cursor de edição"
+msgstr "Seleccionar tudo entre cursores"
 
 #. standard editing stuff
 #: editor.cc:2032 editor.cc:2108 editor.cc:3483 editor_actions.cc:214
@@ -2547,14 +2433,12 @@ msgid "Copy"
 msgstr "Copiar"
 
 #: editor.cc:2034
-#, fuzzy
 msgid "Paste at edit cursor"
-msgstr "Do início ao cursor de edição"
+msgstr "Colar no cursor de edição"
 
 #: editor.cc:2035
-#, fuzzy
 msgid "Paste at mouse"
-msgstr "usar saídas principais"
+msgstr "Colar no cursor do rato"
 
 #: editor.cc:2039 editor.cc:3490
 msgid "Align"
@@ -2562,20 +2446,19 @@ msgstr "Alinhar"
 
 #: editor.cc:2040 editor.cc:3492
 msgid "Align Relative"
-msgstr "Alinhar Relativamente"
+msgstr "Alinhar relativamente"
 
 #: editor.cc:2044
 msgid "Insert chunk"
 msgstr "Inserir trecho"
 
 #: editor.cc:2051
-#, fuzzy
 msgid "Insert Selected Region"
-msgstr "seleccionar regiões"
+msgstr "Inserir regiões seleccionadas"
 
 #: editor.cc:2052
 msgid "Insert Existing Audio"
-msgstr ""
+msgstr "Inserir audio existente"
 
 #: editor.cc:2061 editor.cc:2117
 msgid "Nudge entire track fwd"
@@ -2618,9 +2501,8 @@ msgid "stretch/shrink regions"
 msgstr "alongar/estreitar regiões"
 
 #: editor.cc:2635
-#, fuzzy
 msgid "listen to specific regions"
-msgstr "seleccionar regiões"
+msgstr "ouvir regiões específicas"
 
 #: editor.cc:2746
 msgid "Start:"
@@ -2652,12 +2534,11 @@ msgstr "Refazer (%1)"
 
 #: editor.cc:3506
 msgid "... as new track"
-msgstr ""
+msgstr "... como faixa nova"
 
 #: editor.cc:3507
-#, fuzzy
 msgid "... as new region"
-msgstr "alinhar região"
+msgstr "... como região nova"
 
 #: editor.cc:3509
 msgid "Import audio (copy)"
@@ -2678,17 +2559,14 @@ msgid ""
 "If deleted, audio files used by it alone by will cleaned."
 msgstr ""
 "A lista de reprodução %1 não se encontra actualmente em uso.\n"
-"Se for mantida assim, não serão elimnados os ficheiros de audio por ela "
-"empregues.\n"
-"Se for eliminada, todos os ficheiros de audio serão respectivamente "
-"eliminados."
+"Se for mantida assim, não serão eliminados os ficheiros de audio por ela empregues.\n"
+"Se for eliminada, todos os ficheiros de audio serão respectivamente eliminados."
 
 #: editor.cc:4030
 msgid "Delete playlist"
 msgstr "Eliminar lista de reprodução"
 
 #: editor.cc:4031
-#, fuzzy
 msgid "Keep playlist"
 msgstr "Manter lista de reprodução"
 
@@ -2700,642 +2578,543 @@ msgid "Cancel"
 msgstr "Cancelar"
 
 #: editor.cc:4199
-#, fuzzy
 msgid "new playlists"
-msgstr "Manter lista de reprodução"
+msgstr "nova lista de reprodução"
 
 #: editor.cc:4207
-#, fuzzy
 msgid "copy playlists"
-msgstr "Manter lista de reprodução"
+msgstr "copiar lista de reprodução"
 
 #: editor.cc:4215
-#, fuzzy
 msgid "clear playlists"
-msgstr "limpar lista de reprodução"
+msgstr "apagar lista de reprodução"
 
 #: editor_actions.cc:28
-#, fuzzy
 msgid "Select regions"
-msgstr "seleccionar regiões"
+msgstr "Seleccionar regiões"
 
 #: editor_actions.cc:29
-#, fuzzy
 msgid "Select range operations"
-msgstr "seleccionar regiões"
+msgstr "Seleccionar regiões"
 
 #: editor_actions.cc:30
-#, fuzzy
 msgid "Move edit cursor"
-msgstr "Do início ao cursor de edição"
+msgstr "Mover cursor de edição"
 
 #: editor_actions.cc:31
-#, fuzzy
 msgid "Region operations"
-msgstr "Regiões/criação"
+msgstr "Operações em regiões"
 
 #: editor_actions.cc:32
 msgid "Tools"
-msgstr ""
+msgstr "Ferramentas"
 
 #: editor_actions.cc:33
 msgid "View"
-msgstr ""
+msgstr "Ver"
 
 #: editor_actions.cc:34
-#, fuzzy
 msgid "ZoomFocus"
-msgstr "Zoom(focagem)"
+msgstr "Zoom (focagem)"
 
 #: editor_actions.cc:35
-#, fuzzy
 msgid "Meter hold"
-msgstr "VUímetro"
+msgstr "VUímetro (persistência)"
 
 #: editor_actions.cc:36
 msgid "Meter falloff"
-msgstr ""
+msgstr "VUímetro (decaimento)"
 
 #: editor_actions.cc:38
-#, fuzzy
 msgid "Crossfades"
-msgstr "Desvanecimento cruzado"
+msgstr "Desvanecimentos cruzados"
 
 #: editor_actions.cc:39
-#, fuzzy
 msgid "Monitoring"
-msgstr "Usar monitorização física"
+msgstr "Monitorização"
 
 #: editor_actions.cc:40
-#, fuzzy
 msgid "Autoconnect"
-msgstr "Ligar"
+msgstr "Auto-ligar"
 
 #: editor_actions.cc:41
-#, fuzzy
 msgid "Layering"
-msgstr "Nível"
+msgstr "Nivelar"
 
 #: editor_actions.cc:42
-#, fuzzy
 msgid "Metering"
 msgstr "VUímetro"
 
 #: editor_actions.cc:43
 msgid "Fall off rate"
-msgstr ""
+msgstr "Taxa de decaimento"
 
 #: editor_actions.cc:44
 msgid "Hold Time"
-msgstr ""
+msgstr "Tempo de persistência"
 
 #: editor_actions.cc:45
 msgid "Add Existing Audio"
-msgstr ""
+msgstr "Acrescenter audio existente"
 
 #. add named actions for the editor
 #: editor_actions.cc:50
-#, fuzzy
 msgid "Show Editor Mixer"
-msgstr "Mostrar painéis de mistura de todas as faixas audio"
+msgstr "Mostrar painel de mistura"
 
 #: editor_actions.cc:55
-#, fuzzy
 msgid "Span Entire Overlap"
-msgstr "Elevar a região em um nível"
+msgstr "Abranger toda a sobreposição"
 
 #: editor_actions.cc:57 editor_actions.cc:384
-#, fuzzy
 msgid "Short"
-msgstr "porta"
+msgstr "Curto"
 
 #: editor_actions.cc:64
 msgid "Created Automatically"
-msgstr ""
+msgstr "Criado automaticamente"
 
 #: editor_actions.cc:67
 msgid "Playhead to Next Region Start"
-msgstr ""
+msgstr "Reprodução ao início da próxima região"
 
 #: editor_actions.cc:69
 msgid "Playhead to Next Region End"
-msgstr ""
+msgstr "Reprodução ao final da próxima região"
 
 #: editor_actions.cc:71
 msgid "Playhead to Next Region Sync"
-msgstr ""
+msgstr "Reprodução síncrona com a próxima região"
 
 #: editor_actions.cc:74
 msgid "Playhead to Previous Region Start"
-msgstr ""
+msgstr "Reprodução ao início da região anterior"
 
 #: editor_actions.cc:76
 msgid "Playhead to Previous Region End"
-msgstr ""
+msgstr "Reprodução ao final da região anterior"
 
 #: editor_actions.cc:78
 msgid "Playhead to Previous Region Sync"
-msgstr ""
+msgstr "Reprodução sincronizada com a região anterior"
 
 #: editor_actions.cc:81
-#, fuzzy
 msgid "Edit Cursor to Next Region Start"
-msgstr "Do cursor de edição ao final"
+msgstr "Edição ao início da próxima região"
 
 #: editor_actions.cc:83
-#, fuzzy
 msgid "Edit Cursor to Next Region End"
-msgstr "Do cursor de edição ao final"
+msgstr "Edição ao final da próxima região"
 
 #: editor_actions.cc:85
-#, fuzzy
 msgid "Edit Cursor to Next Region Sync"
-msgstr "Do cursor de edição ao final"
+msgstr "Edição sincronizada com a próxima região"
 
 #: editor_actions.cc:88
 msgid "Edit Cursor to Previous Region Start"
-msgstr ""
+msgstr "Edição ao início da região anterior"
 
 #: editor_actions.cc:90
-#, fuzzy
 msgid "Edit Cursor to Previous Region End"
-msgstr "Do cursor de edição ao final"
+msgstr "Edição ao final da região anterior"
 
 #: editor_actions.cc:92
-#, fuzzy
 msgid "Edit Cursor to Previous Region Sync"
-msgstr "Do cursor de edição ao final"
+msgstr "Edição sincronizada com região anterior"
 
 #: editor_actions.cc:95
 msgid "Playhead to Range Start"
-msgstr ""
+msgstr "Reprodução no início do intervalo"
 
 #: editor_actions.cc:97
-#, fuzzy
 msgid "Playhead to Range End"
-msgstr "Reproduzir intervalo cíclico"
+msgstr "Reprodução no final do intervalo"
 
 #: editor_actions.cc:100
-#, fuzzy
 msgid "Edit Cursor to Range Start"
-msgstr "Do cursor de edição ao final"
+msgstr "Edição no início do intervalo"
 
 #: editor_actions.cc:102
-#, fuzzy
 msgid "Edit Cursor to Range End"
-msgstr "Do cursor de edição ao final"
+msgstr "Edição no final do intervalo"
 
 #: editor_actions.cc:105 editor_ops.cc:1363
-#, fuzzy
 msgid "select all"
-msgstr "Seleccionar tudo"
+msgstr "seleccionar tudo"
 
 #: editor_actions.cc:107
-#, fuzzy
 msgid "Select All After Edit Cursor"
-msgstr "sincronizar pelo cursor de edição"
+msgstr "Seleccionar tudo após o cursor de edição"
 
 #: editor_actions.cc:109
 msgid "Select All Before Edit Cursor"
-msgstr ""
+msgstr "Seleccionar tudo antes do cursor de edição"
 
 #: editor_actions.cc:112
-#, fuzzy
 msgid "Select All After Playhead"
-msgstr "Desde cursor de reprodução"
+msgstr "Seleccionar tudo após o cursor de reprodução"
 
 #: editor_actions.cc:114
-#, fuzzy
 msgid "Select All Before Playhead"
-msgstr "Desde cursor de reprodução"
+msgstr "Seleccionar tudo antes do cursor de reprodução"
 
 #: editor_actions.cc:116
-#, fuzzy
 msgid "Select All Between Cursors"
-msgstr "sincronizar pelo cursor de edição"
+msgstr "Seleccionar tudo entre cursores"
 
 #: editor_actions.cc:119
-#, fuzzy
 msgid "Select All in Punch Range"
-msgstr "Seleccionar Intervalo de Inserção"
+msgstr "Seleccionar tudo no intervalo de inserção"
 
 #: editor_actions.cc:121
-#, fuzzy
 msgid "Select All in Loop Range"
-msgstr "Seleccionar intervalo de ciclo"
+msgstr "Seleccionar tudo no intervalo de ciclo"
 
 #: editor_actions.cc:124
 msgid "Jump Forward to Mark"
-msgstr ""
+msgstr "Saltar marcador p/frente"
 
 #: editor_actions.cc:126
 msgid "Jump Backward to Mark"
-msgstr ""
+msgstr "Saltar marcador p/trás"
 
 #: editor_actions.cc:128
-#, fuzzy
 msgid "Add Location from Playhead"
-msgstr "Desde cursor de reprodução"
+msgstr "Acrescentar localização no cursor de reprodução"
 
 #: editor_actions.cc:131
-#, fuzzy
 msgid "Nudge Forward"
-msgstr "retocar p/frente"
+msgstr "Retocar p/frente"
 
 #: editor_actions.cc:133
-#, fuzzy
 msgid "Nudge Next Forward"
-msgstr "retocar p/frente"
+msgstr "Retocar seguinte p/frente"
 
 #: editor_actions.cc:135
-#, fuzzy
 msgid "Nudge Backward"
 msgstr "Retocar p/trás"
 
 #: editor_actions.cc:137
-#, fuzzy
 msgid "Nudge Next Backward"
-msgstr "Retocar toda a faixa p/frente"
+msgstr "Retocar seguinte p/trás"
 
 #: editor_actions.cc:140
-#, fuzzy
 msgid "Zoom Out"
-msgstr "Zoom(-)"
+msgstr "Zoom (-)"
 
 #: editor_actions.cc:142
-#, fuzzy
 msgid "Zoom In"
-msgstr "Zoom(+)"
+msgstr "Zoom (+)"
 
 #: editor_actions.cc:144
-#, fuzzy
 msgid "Zoom to Session"
-msgstr "Zoom(sessão)"
+msgstr "Zoom (sessão)"
 
 #: editor_actions.cc:147
-#, fuzzy
 msgid "Scroll Tracks Up"
-msgstr "Preencher Faixa"
+msgstr "Rolar faixas p/cima"
 
 #: editor_actions.cc:149
 msgid "Scroll Tracks Down"
-msgstr ""
+msgstr "Rolar faixas p/baixo"
 
 #: editor_actions.cc:151
-#, fuzzy
 msgid "Step Tracks Up"
-msgstr "retocar faixa"
+msgstr "Passar faixas p/cima"
 
 #: editor_actions.cc:153
 msgid "Step Tracks Down"
-msgstr ""
+msgstr "Passar faixas p/baixo"
 
 #: editor_actions.cc:156
 msgid "Scroll Backward"
-msgstr ""
+msgstr "Rolar p/trás"
 
 #: editor_actions.cc:158
 msgid "Scroll Forward"
-msgstr ""
+msgstr "Rolar p/frente"
 
 #: editor_actions.cc:160
 msgid "goto"
-msgstr ""
+msgstr "ir para"
 
 #: editor_actions.cc:162
-#, fuzzy
 msgid "Center Playhead"
-msgstr "Cursor de Reprodução"
+msgstr "Centrar cursor de reprodução"
 
 #: editor_actions.cc:164
-#, fuzzy
 msgid "Center Edit Cursor"
-msgstr "Cursor de Edição"
+msgstr "Centrar cursor de edição"
 
 #: editor_actions.cc:166
-#, fuzzy
 msgid "Playhead Forward"
-msgstr "Cursor de Reprodução"
+msgstr "Cursor de reprodução p/frente"
 
 #: editor_actions.cc:168
-#, fuzzy
 msgid "Playhead Backward"
-msgstr "Cursor de Reprodução"
+msgstr "Cursor de reprodução p/trás"
 
 #: editor_actions.cc:170
-#, fuzzy
 msgid "Playhead to Edit"
-msgstr "Cursor de Reprodução"
+msgstr "Cursor de reprodução p/edição"
 
 #: editor_actions.cc:172
-#, fuzzy
 msgid "Edit to Playhead"
-msgstr "Desde cursor de reprodução"
+msgstr "Cursor de edição p/reprodução"
 
 #: editor_actions.cc:175
-#, fuzzy
 msgid "Align Regions Start"
-msgstr "Inícios de região"
+msgstr "Alinhar regiões pelo início"
 
 #: editor_actions.cc:177
-#, fuzzy
 msgid "Align Regions Start Relative"
-msgstr "alinhar selecção (relativamente)"
+msgstr "Alinhar regiões pelo início (relativamente)"
 
 #: editor_actions.cc:179
-#, fuzzy
 msgid "Align Regions End"
-msgstr "alinhar região"
+msgstr "Alinhar regiões pelo final"
 
 #: editor_actions.cc:181
-#, fuzzy
 msgid "Align Regions End Relative"
-msgstr "Alinhar Relativamente"
+msgstr "Alinhar regiões pelo início (relativamente)"
 
 #: editor_actions.cc:184
-#, fuzzy
 msgid "Align Regions Sync"
-msgstr "alinhar região"
+msgstr "Alinhar regiões sincronizadas"
 
 #: editor_actions.cc:186
-#, fuzzy
 msgid "Align Regions Sync Relative"
-msgstr "Alinhar Relativamente"
+msgstr "Alinhar regiões sincronizadas (relativamente)"
 
 #: editor_actions.cc:189
-#, fuzzy
 msgid "Audition at Mouse"
-msgstr "Audição"
+msgstr "Ouvir ao cursor do rato"
 
 #: editor_actions.cc:191
-#, fuzzy
 msgid "Brush at Mouse"
-msgstr "usar saídas principais"
+msgstr "Varrer ao cursor do rato"
 
 #: editor_actions.cc:193
-#, fuzzy
 msgid "Set Edit Cursor"
-msgstr "Cursor de Edição"
+msgstr "Estabelecer cursor de edição"
 
 #: editor_actions.cc:195
-#, fuzzy
 msgid "Mute/Unmute Region"
-msgstr "Criar Região"
+msgstr "Comutar região"
 
 #: editor_actions.cc:197
-#, fuzzy
 msgid "Set Playhead"
-msgstr "Cursor de Reprodução"
+msgstr "Estabelecer cursor de reprodução"
 
 #: editor_actions.cc:199
-#, fuzzy
 msgid "Split Region"
-msgstr "Separar Região"
+msgstr "Separar região"
 
 #: editor_actions.cc:201
-#, fuzzy
 msgid "Set Region Sync Position"
-msgstr "Por Posição de Região"
+msgstr "Estabelecer posição de sincronia de região"
 
 #: editor_actions.cc:209
-#, fuzzy
 msgid "Export Session"
 msgstr "Exportar região"
 
 #: editor_actions.cc:211
-#, fuzzy
 msgid "Export Range"
-msgstr "Separar Intervalo"
+msgstr "Exportar intervalo"
 
 #. Note: for now, editor-delete does the exact same thing as editor-cut
-#: editor_actions.cc:217
-#, fuzzy
+#: editor_actions.cc:217 redirect_box.cc:1199
 msgid "Delete"
-msgstr "eliminar"
+msgstr "Eliminar"
 
 #: editor_actions.cc:223
-#, fuzzy
 msgid "Duplicate Region"
-msgstr "duplicar região"
+msgstr "Duplicar região"
 
 #: editor_actions.cc:225
-#, fuzzy
 msgid "Duplicate Range"
-msgstr "Duplicar"
+msgstr "Duplicar intervalo"
 
 #: editor_actions.cc:227
 msgid "Insert Region"
-msgstr "Inserir Região"
+msgstr "Inserir região"
 
 #: editor_actions.cc:229
-#, fuzzy
 msgid "Reverse Region"
-msgstr "inverter regiões"
+msgstr "Inverter região"
 
 #: editor_actions.cc:231
-#, fuzzy
 msgid "Normalize Region"
-msgstr "Normalizar"
+msgstr "Normalizar região"
 
 #: editor_actions.cc:233
-#, fuzzy
 msgid "crop"
-msgstr "cópia"
+msgstr "cortar"
 
 #: editor_actions.cc:235
-#, fuzzy
 msgid "Insert Chunk"
 msgstr "Inserir trecho"
 
 #: editor_actions.cc:238
-#, fuzzy
 msgid "Split at edit cursor"
 msgstr "Do início ao cursor de edição"
 
 #: editor_actions.cc:241
-#, fuzzy
 msgid "Start Range"
-msgstr "Separar Intervalo"
+msgstr "Iniciar intervalo"
 
 #: editor_actions.cc:243
 msgid "Finish Range"
-msgstr ""
+msgstr "Finalizar intervalo"
 
 #: editor_actions.cc:245
 msgid "Finish add Range"
-msgstr ""
+msgstr "Acabar intervalo"
 
 #: editor_actions.cc:248
 msgid "Extend Range to End of Region"
-msgstr ""
+msgstr "Extender intervalo ao final da região"
 
 #: editor_actions.cc:250
-#, fuzzy
 msgid "Extend Range to Start of Region"
-msgstr "Ir para o início da sessão"
+msgstr "Extender intervalo ao início da região"
 
 #: editor_actions.cc:253
-#, fuzzy
 msgid "Follow Playhead"
 msgstr "Seguir o cursor de reprodução"
 
 #: editor_actions.cc:261
-#, fuzzy
 msgid "Zoom Focus Left"
-msgstr "Zoom(focagem)"
+msgstr "Zoom (focagem/esquerda)"
 
 #: editor_actions.cc:263
-#, fuzzy
 msgid "Zoom Focus Right"
-msgstr "Zoom(focagem)"
+msgstr "Zoom (focagem/direita)"
 
 #: editor_actions.cc:265
-#, fuzzy
 msgid "Zoom Focus Center"
-msgstr "Zoom(focagem)"
+msgstr "Zoom (focagem/centro)"
 
 #: editor_actions.cc:267
-#, fuzzy
 msgid "Zoom Focus Playhead"
-msgstr "Zoom(focagem)"
+msgstr "Zoom (focagem/reprodução)"
 
 #: editor_actions.cc:269
-#, fuzzy
 msgid "Zoom Focus Edit"
-msgstr "Zoom(focagem)"
+msgstr "Zoom (focagem/edição)"
 
 #: editor_actions.cc:275
 msgid "Object Tool"
-msgstr ""
+msgstr "Ferramenta/objecto"
 
 #: editor_actions.cc:276
-#, fuzzy
 msgid "Range Tool"
-msgstr "Intervalo"
+msgstr "Ferramenta/intervalo"
 
 #: editor_actions.cc:277
 msgid "Gain Tool"
-msgstr ""
+msgstr "Ferramenta/ganho"
 
 #: editor_actions.cc:278
-#, fuzzy
 msgid "Zoom Tool"
-msgstr "Zoom(-)"
+msgstr "Ferramenta/zoom"
 
 #: editor_actions.cc:279
 msgid "Timefx Tool"
-msgstr ""
+msgstr "Ferramenta/timefx"
 
 #: editor_actions.cc:286
-#, fuzzy
 msgid "Snap to frame"
-msgstr "Modo de Ajuste"
+msgstr "Ajustar ao quadro"
 
 #: editor_actions.cc:287
-#, fuzzy
 msgid "Snap to cd frame"
-msgstr "Modo de Ajuste"
+msgstr "Ajustar ao quadro (CD)"
 
 #: editor_actions.cc:288
-#, fuzzy
 msgid "Snap to SMPTE frame"
-msgstr "Quadros SMPTE"
+msgstr "Ajustar ao quadro (SMPTE)"
 
 #: editor_actions.cc:289
-#, fuzzy
 msgid "Snap to SMPTE seconds"
-msgstr "Segundos SMPTE"
+msgstr "Ajustar ao segundo (SMPTE)"
 
 #: editor_actions.cc:290
-#, fuzzy
 msgid "Snap to SMPTE minutes"
-msgstr "Minutos SMPTE"
+msgstr "Ajustar ao minuto (SMPTE)"
 
 #: editor_actions.cc:291
-#, fuzzy
 msgid "Snap to seconds"
-msgstr "Segundos"
+msgstr "Ajustar ao segundo"
 
 #: editor_actions.cc:292
 msgid "Snap to minutes"
-msgstr ""
+msgstr "Ajustar ao minuto"
 
 #: editor_actions.cc:293
-#, fuzzy
 msgid "Snap to thirtyseconds"
-msgstr "trigésima-segunda (32)"
+msgstr "Ajustar aos 30 segundos"
 
 #: editor_actions.cc:294
 msgid "Snap to asixteenthbeat"
-msgstr ""
+msgstr "Ajustar ao batimento/16"
 
 #: editor_actions.cc:295
 msgid "Snap to eighths"
-msgstr ""
+msgstr "Ajustar ao batimento/8"
 
 #: editor_actions.cc:296
 msgid "Snap to quarters"
-msgstr ""
+msgstr "Ajustar ao batimento/4"
 
 #: editor_actions.cc:297
-#, fuzzy
 msgid "Snap to thirds"
-msgstr "Modo de Ajuste"
+msgstr "Ajustar ao batimento/3"
 
 #: editor_actions.cc:298
-#, fuzzy
 msgid "Snap to beat"
-msgstr "Modo de Ajuste"
+msgstr "Ajustar ao batimento"
 
 #: editor_actions.cc:299
-#, fuzzy
 msgid "Snap to bar"
-msgstr "Ajustar a"
+msgstr "Ajustar ao compasso"
 
 #: editor_actions.cc:300
-#, fuzzy
 msgid "Snap to mark"
-msgstr "acrescentar marcador de região"
+msgstr "Ajustar ao marcador"
 
 #: editor_actions.cc:301
-#, fuzzy
 msgid "Snap to edit cursor"
-msgstr "Do início ao cursor de edição"
+msgstr "Ajustar ao cursor de edição"
 
 #: editor_actions.cc:302
-#, fuzzy
 msgid "Snap to region start"
-msgstr "Inícios de região"
+msgstr "Ajustar ao início de região"
 
 #: editor_actions.cc:303
-#, fuzzy
 msgid "Snap to region end"
-msgstr "Finais de região"
+msgstr "Ajustar ao final de região"
 
 #: editor_actions.cc:304
-#, fuzzy
 msgid "Snap to region sync"
-msgstr "Sincronismos de região"
+msgstr "Ajustar ao sincronismo de região"
 
 #: editor_actions.cc:305
-#, fuzzy
 msgid "Snap to region boundary"
-msgstr "Extremos de região"
+msgstr "Ajustar ao extremo de região"
 
 #. the region list popup menu
 #: editor_actions.cc:314
-#, fuzzy
 msgid "Sort"
-msgstr "porta"
+msgstr "Ordenar"
 
 #: editor_actions.cc:322
 msgid "Show all"
 msgstr "Mostrar tudo"
 
 #: editor_actions.cc:323
-#, fuzzy
 msgid "Show automatic regions"
-msgstr "Mostrar todos as automatizações"
+msgstr "Mostrar regiões de automatização"
 
 #: editor_actions.cc:325
 msgid "Ascending"
@@ -3347,118 +3126,104 @@ msgstr "Decrescente"
 
 #: editor_actions.cc:330
 msgid "By Region Name"
-msgstr "Por Nome de Região"
+msgstr "Por nome de região"
 
 #: editor_actions.cc:332
 msgid "By Region Length"
-msgstr "Por Tamanho de Região"
+msgstr "Por comprimento de região"
 
 #: editor_actions.cc:334
 msgid "By Region Position"
-msgstr "Por Posição de Região"
+msgstr "Por posição de região"
 
 #: editor_actions.cc:336
 msgid "By Region Timestamp"
-msgstr "Por Instante de Região"
+msgstr "Por instante de região"
 
 #: editor_actions.cc:338
 msgid "By Region Start in File"
-msgstr "Por Posição Inicial da Região no Ficheiro"
+msgstr "Por posição inicial da região no ficheiro"
 
 #: editor_actions.cc:340
 msgid "By Region End in File"
-msgstr "Por Posição Final da Região no Ficheiro"
+msgstr "Por posição final da região no ficheiro"
 
 #: editor_actions.cc:342
 msgid "By Source File Name"
-msgstr "Por Nome do Ficheiro Original"
+msgstr "Por nome do ficheiro original"
 
 #: editor_actions.cc:344
 msgid "By Source File Length"
-msgstr "Por Tamanho do Ficheiro Original"
+msgstr "Por comprimento do ficheiro original"
 
 #: editor_actions.cc:346
 msgid "By Source File Creation Date"
-msgstr "Por Data de Criação do Ficheiro Original"
+msgstr "Por data de criação do ficheiro original"
 
 #: editor_actions.cc:348
 msgid "By Source Filesystem"
-msgstr "Por Sistema de Ficheiros Original"
+msgstr "Por sistema de ficheiros original"
 
 #. the next two are duplicate items with different names for use in two different contexts
 #: editor_actions.cc:354
-#, fuzzy
 msgid "Add External Audio"
-msgstr "Acrescentar à lista de Regiões Externas"
+msgstr "Acrescentar audio externo"
 
 #: editor_actions.cc:356
-#, fuzzy
 msgid "as Region(s)"
-msgstr "Arrastar regiões"
+msgstr "como regiões"
 
 #: editor_actions.cc:358
-#, fuzzy
 msgid "as Tracks"
-msgstr "Faixas"
+msgstr "como faixas"
 
 #: editor_actions.cc:360
-#, fuzzy
 msgid "to Tracks"
-msgstr "Faixas"
+msgstr "para faixas"
 
 #: editor_actions.cc:363
-#, fuzzy
 msgid "Show Waveforms"
 msgstr "Mostrar formas de onda"
 
 #: editor_actions.cc:364
-#, fuzzy
 msgid "Show Waveforms While Recording"
 msgstr "Mostrar formas de onda enquanto grava"
 
 #: editor_actions.cc:365
-#, fuzzy
 msgid "Show Measures"
 msgstr "Mostrar linhas de tempo"
 
 #: editor_actions.cc:378 editor_actions.cc:385
 msgid "Medium"
-msgstr ""
+msgstr "Médio"
 
 #: editor_actions.cc:380
-#, fuzzy
 msgid "Faster"
 msgstr "Rápido"
 
 #: editor_actions.cc:386
 msgid "Long"
-msgstr ""
+msgstr "Longo"
 
 #: editor_actions.cc:390
-#, fuzzy
 msgid "Later is Higher"
-msgstr "Descer a região em um nível"
+msgstr "Última em cima"
 
 #: editor_actions.cc:391
-#, fuzzy
 msgid "Most Recently Moved/Added is Higher"
-msgstr "Descer a região em um nível"
+msgstr "Movida/acrescentada recentemente em cima"
 
 #: editor_actions.cc:392
-#, fuzzy
 msgid "Most Recently Added is Higher"
-msgstr "Descer a região em um nível"
+msgstr "Acrescentada recentemente em cima"
 
 #: editor_audio_import.cc:72
-#, fuzzy
 msgid "You can't import or embed an audiofile until you have a session loaded."
-msgstr ""
-"Não é possível importar um ficheiro audio sem que haja uma sessão carregada"
+msgstr "Não é possível importar um ficheiro audio sem que haja uma sessão carregada"
 
 #: editor_audio_import.cc:77
-#, fuzzy
 msgid "Add existing audio to session"
-msgstr "Mostrar automatizações existentes"
+msgstr "Acrescenter audio existente à sessão"
 
 #: editor_audio_import.cc:142
 msgid "ardour: importing %1"
@@ -3466,39 +3231,35 @@ msgstr "ardour: em importação %1"
 
 #: editor_audio_import.cc:146
 msgid "Cancel Import"
-msgstr "Cancelar Importação"
+msgstr "Cancelar importação"
 
 #: editor_audio_import.cc:224
-#, fuzzy
 msgid "Editor: cannot open file \"%1\", (%2)"
-msgstr "Editor: não foi possível abrir o ficheiro \"%1\" (%2)"
+msgstr "Editor: não foi possível abrir o ficheiro \"%1\", (%2)"
 
 #: editor_audio_import.cc:232
-#, fuzzy
 msgid "Cancel entire import"
-msgstr "Cancelar Importação"
+msgstr "Cancelar importação inteira"
 
 #: editor_audio_import.cc:233
-#, fuzzy
 msgid "Don't embed it"
-msgstr "Não %1"
+msgstr "Não acrescentar"
 
 #: editor_audio_import.cc:234
 msgid "Embed all without questions"
-msgstr ""
+msgstr "Acrescentar sem qualquer questão"
 
 #: editor_audio_import.cc:239
-#, fuzzy
 msgid "Embed it anyway"
-msgstr "%s de qualquer forma"
+msgstr "Acrescentar de qualquer forma"
 
 #: editor_audio_import.cc:242
-#, fuzzy
 msgid ""
 "%1\n"
 "This audiofile's sample rate doesn't match the session sample rate!"
 msgstr ""
-"A frequência de amostragem deste ficheiro audio não é igual à de sessão"
+"%1\n"
+"A frequência de amostragem deste ficheiro audio não é igual à de sessão!"
 
 #: editor_audio_import.cc:275
 msgid "could not open %1"
@@ -3514,24 +3275,20 @@ msgid "VerboseCanvasCursor"
 msgstr ""
 
 #: editor_edit_groups.cc:53 mixer_ui.cc:736
-#, fuzzy
 msgid "Activate All"
-msgstr "Activar"
+msgstr "Activar tudo"
 
 #: editor_edit_groups.cc:54 mixer_ui.cc:737
-#, fuzzy
 msgid "Disable All"
-msgstr "Desligar"
+msgstr "Desabilitar tudo"
 
 #: editor_edit_groups.cc:56 mixer_ui.cc:739
-#, fuzzy
 msgid "Add group"
-msgstr "Sem grupo"
+msgstr "Acrescentar grupo"
 
 #: editor_edit_groups.cc:229 mixer_ui.cc:970
-#, fuzzy
 msgid "unnamed"
-msgstr "Renomear"
+msgstr "sem nome"
 
 #: editor_edit_groups.cc:258 mixer_ui.cc:834
 msgid "-all-"
@@ -3543,6 +3300,9 @@ msgid ""
 "\n"
 "Select a selection using the range mouse mode"
 msgstr ""
+"Não existe qualquer selecção para exportar.\n"
+"\n"
+"Seleccione algo com o modo de intervalo"
 
 #: editor_export_audio.cc:110
 msgid ""
@@ -3550,6 +3310,9 @@ msgid ""
 "\n"
 "Create 1 or more ranges by dragging the mouse in the range bar"
 msgstr ""
+"Não existe qualquer intervalo para exportar.\n"
+"\n"
+"Seleccione um ou mais por arraste na barra de intervalos"
 
 #: editor_imageframe.cc:625 editor_imageframe.cc:655
 msgid "programming error: no ImageFrameView selected"
@@ -3560,19 +3323,17 @@ msgid "programming error: no MarkerView selected"
 msgstr ""
 
 #: editor_keyboard.cc:104
-#, fuzzy
 msgid "mute region"
-msgstr "emudecer esta região"
+msgstr "emudecer região"
 
 #: editor_keys.cc:46
-#, fuzzy
 msgid "keyboard selection"
-msgstr "extender selecção"
+msgstr "selecção de teclado"
 
 #: editor_markers.cc:292 editor_ops.cc:1290 editor_ops.cc:1303
 #: editor_ops.cc:1321 location_ui.cc:774
 msgid "add marker"
-msgstr "adicionar marcador"
+msgstr "acrescentar marcador"
 
 #: editor_markers.cc:307 editor_markers.cc:380 editor_markers.cc:552
 #: editor_markers.cc:570 editor_markers.cc:589 editor_markers.cc:608
@@ -3587,128 +3348,108 @@ msgid "remove marker"
 msgstr "remover marcador"
 
 #: editor_markers.cc:458
-#, fuzzy
 msgid "Locate to Mark"
-msgstr "Localizar"
+msgstr "Localizar ao marcador"
 
 #: editor_markers.cc:459
-#, fuzzy
 msgid "Play from Mark"
-msgstr "Reproduzir desde o início"
+msgstr "Reproduzir desde o marcador"
 
 #: editor_markers.cc:460
-#, fuzzy
 msgid "Set Mark from Playhead"
-msgstr "Desde cursor de reprodução"
+msgstr "Estabelecer marcador no cursor de reprodução"
 
 #: editor_markers.cc:464
-#, fuzzy
 msgid "Rename Mark"
-msgstr "Renomear"
+msgstr "Renomear marcador"
 
 #: editor_markers.cc:465
-#, fuzzy
 msgid "Hide Mark"
-msgstr "retocar faixa"
+msgstr "Esconder marcador"
 
 #: editor_markers.cc:466
-#, fuzzy
 msgid "Remove Mark"
-msgstr "remover marcador"
+msgstr "Remover marcador"
 
 #: editor_markers.cc:479 editor_markers.cc:535
-#, fuzzy
 msgid "Locate to Range Mark"
-msgstr "Localizações"
+msgstr "Localizar no marcador de intervalo"
 
 #: editor_markers.cc:480 editor_markers.cc:536
-#, fuzzy
 msgid "Play from Range Mark"
-msgstr "Reproduzir intervalo cíclico"
+msgstr "Reproduzir desde marcador de intervalo"
 
 #: editor_markers.cc:481
-#, fuzzy
 msgid "Loop Range"
 msgstr "Intervalo cíclico"
 
 #: editor_markers.cc:482 editor_markers.cc:537
-#, fuzzy
 msgid "Set Range Mark from Playhead"
-msgstr "Desde cursor de reprodução"
+msgstr "Estabelecer marcador de intervalo desde cursor de reprodução"
 
 #: editor_markers.cc:483 editor_markers.cc:538
-#, fuzzy
 msgid "Set Range from Range Selection"
-msgstr "selecção de intervalo"
+msgstr "Estabelecer intervalo desde selecção de intervalo"
 
 #: editor_markers.cc:487
-#, fuzzy
 msgid "Rename Range"
-msgstr "Renomear"
+msgstr "Renomear intervalo"
 
 #: editor_markers.cc:488 editor_markers.cc:540
-#, fuzzy
 msgid "Hide Range"
-msgstr "Adicionar Novo Intervalo"
+msgstr "Esconder intervalo"
 
 #: editor_markers.cc:489
-#, fuzzy
 msgid "Remove Range"
-msgstr "Remover Campo"
+msgstr "Remover intervalo"
 
 #: editor_markers.cc:493 editor_markers.cc:542
-#, fuzzy
 msgid "Separate Regions in Range"
-msgstr "Nova região desde a selecção"
+msgstr "Separar regiões no intervalo"
 
 #: editor_markers.cc:494 editor_markers.cc:543
-#, fuzzy
 msgid "Select All in Range"
-msgstr "Seleccionar tudo na faixa"
+msgstr "Seleccionar tudo no intervalo"
 
 #: editor_markers.cc:520
 msgid "Set Loop Range"
-msgstr "Seleccionar Intervalo Cíclico"
+msgstr "Estabelecer intervalo cíclico"
 
 #: editor_markers.cc:521
 msgid "Set Punch Range"
-msgstr "Seleccionar Intervalo de Inserção"
+msgstr "Estabelecer intervalo de inserção"
 
 #: editor_markers.cc:815
-#, fuzzy
 msgid "New Name:"
-msgstr "novo nome: "
+msgstr "Novo nome: "
 
 #: editor_markers.cc:818
 msgid "ardour: rename mark"
-msgstr "ardour: renomear marca"
+msgstr "ardour: renomear marcador"
 
 #: editor_markers.cc:820
-#, fuzzy
 msgid "ardour: rename range"
-msgstr "ardour: renomear região"
+msgstr "ardour: renomear intervalo"
 
 #: editor_markers.cc:840
-#, fuzzy
 msgid "rename marker"
 msgstr "remover marcador"
 
 #: editor_markers.cc:865
 msgid "set loop range"
-msgstr "seleccionar intervalo cíclico"
+msgstr "estabelcer intervalo cíclico"
 
 #: editor_markers.cc:891
 msgid "set punch range"
-msgstr "seleccionar intervalo de inserção"
+msgstr "estabelecer intervalo de inserção"
 
 #: editor_mouse.cc:103
 msgid "Editor::event_frame() used on unhandled event type %1"
 msgstr ""
 
 #: editor_mouse.cc:313
-#, fuzzy
 msgid "select on click"
-msgstr "Usar como metrónomo"
+msgstr "seleccionar com metrónomo"
 
 #: editor_mouse.cc:1590
 msgid "programming error: start_grab called without drag item"
@@ -3724,16 +3465,15 @@ msgstr ""
 
 #: editor_mouse.cc:1906
 msgid "change fade out length"
-msgstr "alterar duração desvanecimento"
+msgstr "alterar duração de desvanecimento"
 
 #: editor_mouse.cc:1925
 msgid "programming error: cursor canvas item has no cursor data pointer!"
 msgstr ""
 
 #: editor_mouse.cc:2142
-#, fuzzy
 msgid "move marker"
-msgstr "remover marcador"
+msgstr "mover marcador"
 
 #: editor_mouse.cc:2165 editor_mouse.cc:2196 editor_tempodisplay.cc:459
 msgid ""
@@ -3741,13 +3481,12 @@ msgid ""
 msgstr ""
 
 #: editor_mouse.cc:2264
-#, fuzzy
 msgid "copy meter mark"
-msgstr "remover marcador métrico"
+msgstr "copiar marcador métrico"
 
 #: editor_mouse.cc:2274
 msgid "move meter mark"
-msgstr "remover marcador métrico"
+msgstr "mover marccador métrico"
 
 #: editor_mouse.cc:2289 editor_mouse.cc:2322 editor_tempodisplay.cc:331
 #: editor_tempodisplay.cc:409 editor_tempodisplay.cc:428
@@ -3761,13 +3500,12 @@ msgid "programming error: marker for tempo is not a tempo marker!"
 msgstr ""
 
 #: editor_mouse.cc:2394
-#, fuzzy
 msgid "copy tempo mark"
-msgstr "remover marcador de tempo"
+msgstr "copiar marcador de tempo"
 
 #: editor_mouse.cc:2404
 msgid "move tempo mark"
-msgstr "remover marcador de tempo"
+msgstr "mover marcador de tempo"
 
 #: editor_mouse.cc:2418 editor_mouse.cc:2437 editor_mouse.cc:2450
 msgid ""
@@ -3780,32 +3518,29 @@ msgid "programming error: line canvas item has no line pointer!"
 msgstr ""
 
 #: editor_mouse.cc:2664
-#, fuzzy
 msgid "move region(s)"
-msgstr "remover região"
+msgstr "mover região"
 
 #: editor_mouse.cc:2727
-#, fuzzy
 msgid "Drag region brush"
-msgstr "Arrastar regi��es"
+msgstr "Arrastar regi��o"
 
 #. don't copy again
 #. this is committed in the grab finished callback.
 #: editor_mouse.cc:2751
 msgid "Drag region copy"
-msgstr "Arraster cópia de região"
+msgstr "Arrastar cópia de região"
 
 #. A selection grab currently creates two undo/redo operations, one for
 #. creating the new region and another for moving it.
 #.
 #: editor_mouse.cc:3609
 msgid "selection grab"
-msgstr "selecção"
+msgstr "arrastar selecção"
 
 #: editor_mouse.cc:3650
-#, fuzzy
 msgid "cancel selection"
-msgstr "selecção de intervalo"
+msgstr "cancelar selecção"
 
 #: editor_mouse.cc:3760
 msgid "range selection"
@@ -3813,11 +3548,11 @@ msgstr "selecção de intervalo"
 
 #: editor_mouse.cc:3776
 msgid "trim selection start"
-msgstr "recortar início da selecção"
+msgstr "cortar início da selecção"
 
 #: editor_mouse.cc:3792
 msgid "trim selection end"
-msgstr "recortar final da selecção"
+msgstr "cortar final da selecção"
 
 #: editor_mouse.cc:3809
 msgid "move selection"
@@ -3825,15 +3560,15 @@ msgstr "mover selecção"
 
 #: editor_mouse.cc:4195
 msgid "Start point trim"
-msgstr "Ponto inicial de recorte"
+msgstr "Ponto inicial de corte"
 
 #: editor_mouse.cc:4223
 msgid "End point trim"
-msgstr "Ponto final de recorte"
+msgstr "Ponto final de corte"
 
 #: editor_mouse.cc:4262
 msgid "trimmed region"
-msgstr "região recortada"
+msgstr "região cortada"
 
 #: editor_mouse.cc:4400
 msgid "new range marker"
@@ -3865,16 +3600,18 @@ msgid ""
 "It cannot be undone\n"
 "Do you really want to destroy %1 ?"
 msgstr ""
+" Esta operação é destrutiva,\n"
+"irá possivelmente eliminar ficheiros audio,\n"
+"não podendo ser desfeita\n"
+"Tem a certeza que pretende destruir %1 ?"
 
 #: editor_ops.cc:254
-#, fuzzy
 msgid "these regions"
-msgstr "inverter regiões"
+msgstr "estas regiões"
 
 #: editor_ops.cc:254
-#, fuzzy
 msgid "this region"
-msgstr "emudecer esta região"
+msgstr "esta região"
 
 #: editor_ops.cc:256 editor_ops.cc:3318 route_ui.cc:707
 #: visual_time_axis.cc:278
@@ -3882,13 +3619,12 @@ msgid "No, do nothing."
 msgstr "Não, não fazer nada."
 
 #: editor_ops.cc:259
-#, fuzzy
 msgid "Yes, destroy them."
-msgstr "Sim, elimine-se."
+msgstr "Sim, elimine-as."
 
 #: editor_ops.cc:261 editor_ops.cc:3319
 msgid "Yes, destroy it."
-msgstr "Sim, elimine-se."
+msgstr "Sim, elimine-a."
 
 #: editor_ops.cc:352 editor_ops.cc:380
 msgid "extend selection"
@@ -3903,49 +3639,40 @@ msgid "build_region_boundary_cache called with snap_type = %1"
 msgstr ""
 
 #: editor_ops.cc:1420
-#, fuzzy
 msgid "select all within"
-msgstr "Seleccionar tudo"
+msgstr "seleccionar tudo entre"
 
 #: editor_ops.cc:1452
-#, fuzzy
 msgid "set selection from region"
-msgstr "selecção de intervalo"
+msgstr "estabelecer selecção desde a região"
 
 #: editor_ops.cc:1485
-#, fuzzy
 msgid "set selection from range"
-msgstr "selecção de intervalo"
+msgstr "estabelecer selecção desde o intervalo"
 
 #: editor_ops.cc:1515
-#, fuzzy
 msgid "select all from range"
-msgstr "seleccionar zoom"
+msgstr "seleccionar tudo desde o intervalo"
 
 #: editor_ops.cc:1537
-#, fuzzy
 msgid "select all from punch"
-msgstr "Seleccionar tudo"
+msgstr "seleccionar tudo desde a inserção"
 
 #: editor_ops.cc:1559
-#, fuzzy
 msgid "select all from loop"
-msgstr "Seleccionar tudo"
+msgstr "seleccionar tudo desde o ciclo"
 
 #: editor_ops.cc:1573
-#, fuzzy
 msgid "select all after cursor"
-msgstr "Do início ao cursor de edição"
+msgstr "seleccionar tudo após o cursor"
 
 #: editor_ops.cc:1578
-#, fuzzy
 msgid "select all before cursor"
-msgstr "sincronizar pelo cursor de edição"
+msgstr "seleccionar tudo anterior ao cursor"
 
 #: editor_ops.cc:1608
-#, fuzzy
 msgid "select all between cursors"
-msgstr "sincronizar pelo cursor de edição"
+msgstr "seleccionar tudo entre cursores"
 
 #: editor_ops.cc:1739
 msgid "clear markers"
@@ -3976,13 +3703,12 @@ msgid "ardour: rename region"
 msgstr "ardour: renomear região"
 
 #: editor_ops.cc:2277 editor_ops.cc:2326
-#, fuzzy
 msgid "separate"
 msgstr "separar"
 
 #: editor_ops.cc:2388
 msgid "trim to selection"
-msgstr "recortar pela selecção"
+msgstr "cortar pela selecção"
 
 #: editor_ops.cc:2428
 msgid "region fill"
@@ -3997,16 +3723,14 @@ msgid "Programming error. that region doesn't cover that position"
 msgstr ""
 
 #: editor_ops.cc:2511
-#, fuzzy
 msgid "set region sync position"
-msgstr "Regiões/posição"
+msgstr "estabelecer posição de sincronismo na região"
 
 #: editor_ops.cc:2526
 msgid "Place the edit cursor at the desired sync point"
 msgstr "Coloque o cursor de edição sobre o ponto de sincronia desejado"
 
 #: editor_ops.cc:2531
-#, fuzzy
 msgid "set sync from edit cursor"
 msgstr "sincronizar pelo cursor de edição"
 
@@ -4032,21 +3756,19 @@ msgstr "alinhar região"
 
 #: editor_ops.cc:2708 editor_ops.cc:2733
 msgid "trim to edit"
-msgstr "recortar para edição"
+msgstr "cortar para edição"
 
 #: editor_ops.cc:2784
-#, fuzzy
 msgid "ardour: freeze"
-msgstr "ardour: renomear região"
+msgstr "ardour: congelamento"
 
 #: editor_ops.cc:2789
-#, fuzzy
 msgid "Cancel Freeze"
-msgstr "Cancelar"
+msgstr "Cancelar congelamento"
 
 #: editor_ops.cc:2826
 msgid "bounce range"
-msgstr "intervalo de rebatimento"
+msgstr "regravar região"
 
 #: editor_ops.cc:2879
 msgid "cut"
@@ -4108,7 +3830,7 @@ msgstr "inverter regiões"
 #: editor_region_list.cc:98 editor_region_list.cc:103
 #: editor_region_list.cc:106 location_ui.cc:56
 msgid "Hidden"
-msgstr "Esconder"
+msgstr "Escondida"
 
 #. added a new fresh one at the end
 #: editor_route_list.cc:102 editor_route_list.cc:103 editor_route_list.cc:247
@@ -4121,25 +3843,21 @@ msgstr "Mostrar tudo"
 
 #: editor_route_list.cc:311 mixer_ui.cc:700
 msgid "Hide All"
-msgstr "Ocultar tudo"
+msgstr "Esconder tudo"
 
 #: editor_route_list.cc:312 mixer_ui.cc:701
-#, fuzzy
 msgid "Show All Audio Tracks"
-msgstr "Mostrar todos os barramentos audio"
+msgstr "Mostrar todos as faixas audio"
 
 #: editor_route_list.cc:313 mixer_ui.cc:702
-#, fuzzy
 msgid "Hide All Audio Tracks"
-msgstr "Esconder todos os barramentos audio"
+msgstr "Esconder todos as faixas audio"
 
 #: editor_route_list.cc:314 mixer_ui.cc:703
-#, fuzzy
 msgid "Show All Audio Busses"
 msgstr "Mostrar todos os barramentos audio"
 
 #: editor_route_list.cc:315 mixer_ui.cc:704
-#, fuzzy
 msgid "Hide All Audio Busses"
 msgstr "Esconder todos os barramentos audio"
 
@@ -4158,7 +3876,7 @@ msgstr "Apagar todos os intervalos"
 
 #: editor_rulers.cc:327
 msgid "New Tempo"
-msgstr "Novo Tempo"
+msgstr "Novo tempo"
 
 #: editor_rulers.cc:328
 msgid "Clear tempo"
@@ -4177,12 +3895,10 @@ msgid "Min:Secs"
 msgstr "Min:Segs"
 
 #: editor_selection_list.cc:108
-#, fuzzy
 msgid "Name for Chunk:"
 msgstr "Nome para o trecho:"
 
 #: editor_selection_list.cc:111
-#, fuzzy
 msgid "Create Chunk"
 msgstr "Criar trecho"
 
@@ -4195,12 +3911,10 @@ msgid "add"
 msgstr "acrescentar"
 
 #: editor_tempodisplay.cc:275
-#, fuzzy
 msgid "add tempo mark"
-msgstr "acrescentar marcador de região"
+msgstr "acrescentar marcador de tempo"
 
 #: editor_tempodisplay.cc:315
-#, fuzzy
 msgid "add meter mark"
 msgstr "acrescentar marcador métrico"
 
@@ -4222,11 +3936,11 @@ msgstr "remover marcador de tempo"
 
 #: editor_timefx.cc:51
 msgid "Quick but Ugly"
-msgstr "Rápido mas Feio"
+msgstr "Rápido e feio"
 
 #: editor_timefx.cc:52
 msgid "Skip Anti-aliasing"
-msgstr "Ignorar Anti-aliasing"
+msgstr "Ignorar anti-aliasing"
 
 #: editor_timefx.cc:56
 msgid "ardour: timestretch"
@@ -4238,7 +3952,7 @@ msgstr ""
 
 #: editor_timefx.cc:70
 msgid "Stretch/Shrink it"
-msgstr "Alongar/Estreitar"
+msgstr "Alongar/estreitar"
 
 #: editor_timefx.cc:73 editor_timefx.cc:74
 msgid "TimeStretchButton"
@@ -4308,7 +4022,7 @@ msgstr ""
 
 #: export_dialog.cc:80
 msgid "Shaped Noise"
-msgstr "Forma de Ruído"
+msgstr "Forma de ruído"
 
 #: export_dialog.cc:81 export_dialog.cc:1229
 msgid "Triangular"
@@ -4333,54 +4047,48 @@ msgid "TOC"
 msgstr ""
 
 #: export_dialog.cc:102
-#, fuzzy
 msgid "Format"
-msgstr "Normal"
+msgstr "Formato"
 
 #: export_dialog.cc:103
 msgid "CD Marker File Type"
-msgstr ""
+msgstr "Tipo de marcadores CD"
 
 #: export_dialog.cc:104
-#, fuzzy
 msgid "Channels"
-msgstr "cancelar"
+msgstr "Canais"
 
 #: export_dialog.cc:105
-#, fuzzy
 msgid "File Type"
-msgstr "Ficheiros"
+msgstr "Tipo de ficheiro"
 
 #: export_dialog.cc:106
-#, fuzzy
 msgid "Sample Format"
-msgstr "separar"
+msgstr "Formato de amostra"
 
 #: export_dialog.cc:107
 msgid "Sample Endianness"
-msgstr ""
+msgstr "Representação binária"
 
 #: export_dialog.cc:108
-#, fuzzy
 msgid "Sample Rate"
-msgstr "separar"
+msgstr "Frequência de amostragem"
 
 #: export_dialog.cc:109
 msgid "Conversion Quality"
-msgstr ""
+msgstr "Qualidade de conversão"
 
 #: export_dialog.cc:110
 msgid "Dither Type"
-msgstr ""
+msgstr "Tipo de extrapolação"
 
 #: export_dialog.cc:111
 msgid "Export CD Marker File Only"
-msgstr ""
+msgstr "Exportar marcadores CD apenas"
 
 #: export_dialog.cc:112
-#, fuzzy
 msgid "Export to File"
-msgstr "Exportar para CD"
+msgstr "Exportar para ficheiro"
 
 #: export_dialog.cc:113 option_editor.cc:83 option_editor.cc:84
 msgid "Browse"
@@ -4421,39 +4129,40 @@ msgstr ""
 
 #: export_dialog.cc:912
 msgid "Stop Export"
-msgstr "Cancelar Exportação"
+msgstr "Cancelar exportação"
 
 #: export_dialog.cc:1131
 msgid "Please enter a valid filename."
-msgstr ""
+msgstr "Por favor, entre um nome de ficheiro válido"
 
 #: export_dialog.cc:1141
 msgid "Please specify a complete filename for the audio file."
-msgstr ""
+msgstr "Por favor, especifique um nome completo para o ficheiro audio"
 
 #: export_dialog.cc:1147
 msgid "File already exists, do you want to overwrite it?"
-msgstr ""
+msgstr "O ficheiro já existe, deseja reescrevê-lo ?"
 
 #: export_dialog.cc:1159 export_range_markers_dialog.cc:153
 msgid "Cannot write file in: "
-msgstr ""
+msgstr "Não foi possível escrever o ficheiro em: "
 
 #. warning dialog
 #: export_range_markers_dialog.cc:135
 msgid "Please enter a valid target directory."
-msgstr ""
+msgstr "Por favor, entre um directório de destino válido."
 
 #: export_range_markers_dialog.cc:143
 msgid ""
 "Please select an existing target directory. Files\n"
 "are not allowed!"
 msgstr ""
+"Por favor, seleccione um directório de destino existente.\n"
+"Não são permitidos ficheiros!"
 
 #: gain_automation_time_axis.cc:62
-#, fuzzy
 msgid "add gain automation event"
-msgstr "acrescentar evento de automatização "
+msgstr "acrescentar evento de automatização de ganho"
 
 #: gain_meter.cc:67
 msgid "cannot find images for fader slider"
@@ -4464,19 +4173,16 @@ msgid "cannot find images for fader rail"
 msgstr ""
 
 #: gain_meter.cc:130 gain_meter.cc:339 gain_meter.cc:494 gain_meter.cc:539
-#, fuzzy
 msgid "-inf"
-msgstr "entrada"
+msgstr ""
 
 #: gain_meter.cc:140
-#, fuzzy
 msgid "Fader automation mode"
-msgstr "modo de automatização de panorâmica"
+msgstr "Modo de automatizaçã"
 
 #: gain_meter.cc:141
-#, fuzzy
 msgid "Fader automation type"
-msgstr "Tipo de automatização de panorâmica"
+msgstr "Tipo de automatização"
 
 #. XXX it might different in different languages
 #: gain_meter.cc:182 gain_meter.cc:817 panner_ui.cc:99 panner_ui.cc:807
@@ -4484,14 +4190,12 @@ msgid "Abs"
 msgstr ""
 
 #: gain_meter.cc:472
-#, fuzzy
 msgid "-Inf"
-msgstr "entrada"
+msgstr ""
 
 #: gain_meter.cc:781 mixer_strip.cc:770 panner_ui.cc:771
-#, fuzzy
 msgid "O"
-msgstr "OU"
+msgstr ""
 
 #: gain_meter.cc:784 panner_ui.cc:774
 msgid "P"
@@ -4506,110 +4210,95 @@ msgid "W"
 msgstr ""
 
 #: gtk-custom-ruler.c:126
-#, fuzzy
 msgid "Lower"
-msgstr "Nível"
+msgstr "Inferior"
 
 #: gtk-custom-ruler.c:127
-#, fuzzy
 msgid "Lower limit of ruler"
-msgstr "Descer a região para o nível de fundo"
+msgstr "Limite inferior da régua"
 
 #: gtk-custom-ruler.c:136
 msgid "Upper"
-msgstr ""
+msgstr "Superior"
 
 #: gtk-custom-ruler.c:137
 msgid "Upper limit of ruler"
-msgstr ""
+msgstr "Limite superior da régua"
 
 #: gtk-custom-ruler.c:146
-#, fuzzy
 msgid "Position"
-msgstr "Sicronia de Posição"
+msgstr "Posição"
 
 #: gtk-custom-ruler.c:147
 msgid "Position of mark on the ruler"
-msgstr ""
+msgstr "Posição do marcador na régua"
 
 #: gtk-custom-ruler.c:156
 msgid "Max Size"
-msgstr ""
+msgstr "Tamanho máximo"
 
 #: gtk-custom-ruler.c:157
 msgid "Maximum size of the ruler"
-msgstr ""
+msgstr "Tamanho máximo da régua"
 
 #: gtk-custom-ruler.c:166
-#, fuzzy
 msgid "Show Position"
-msgstr "Por Posição de Região"
+msgstr "Mostrar posição"
 
 #: gtk-custom-ruler.c:167
 msgid "Draw current ruler position"
-msgstr ""
+msgstr "Visualizar posição corrente da régua"
 
 #. end-of-file, other end closed or shutdown?
 #: imageframe_socket_handler.cc:127
 msgid "Image Compositor Socket has been shutdown/closed"
-msgstr "O ligação ao Compositor de Imagem foi desligada/fechada"
+msgstr "A ligação ao compositor de imagem foi desligada/fechada"
 
 #: imageframe_time_axis.cc:286
-#, fuzzy
 msgid "0.5 seconds"
-msgstr "Segundos"
+msgstr "0.5 segundos"
 
 #: imageframe_time_axis.cc:287 marker_time_axis.cc:242
-#, fuzzy
 msgid "1 seconds"
-msgstr "Segundos"
+msgstr "1 segundo"
 
 #: imageframe_time_axis.cc:288 marker_time_axis.cc:243
-#, fuzzy
 msgid "1.5 seconds"
-msgstr "Segundos"
+msgstr "1.5 segundos"
 
 #: imageframe_time_axis.cc:289 marker_time_axis.cc:244
-#, fuzzy
 msgid "2 seconds"
-msgstr "Segundos"
+msgstr "2 segundos"
 
 #: imageframe_time_axis.cc:290 marker_time_axis.cc:245
-#, fuzzy
 msgid "2.5 seconds"
-msgstr "Segundos"
+msgstr "2.5 segundos"
 
 #: imageframe_time_axis.cc:291 marker_time_axis.cc:246
-#, fuzzy
 msgid "3 seconds"
-msgstr "Segundos"
+msgstr "3 segundos"
 
 #. duration_items.push_back(SeparatorElem()) ;
 #. duration_items.push_back(MenuElem (_("custom"), mem_fun(*this, &ImageFrameTimeAxis::set_marker_duration_custom))) ;
 #: imageframe_time_axis.cc:296 marker_time_axis.cc:251
-#, fuzzy
 msgid "Duration (sec)"
-msgstr "Arrastar regiões"
+msgstr "Duração (seg)"
 
 #: imageframe_time_axis.cc:301
-#, fuzzy
 msgid "Remove Frame"
-msgstr "Remover Campo"
+msgstr "Remover quadro"
 
 #: imageframe_time_axis.cc:304
-#, fuzzy
 msgid "Image Frame"
-msgstr "Quadros CD"
+msgstr "Quadro de imagem"
 
 #: imageframe_time_axis.cc:305 marker_time_axis.cc:257
-#, fuzzy
 msgid "Rename Track"
-msgstr "Renomear"
+msgstr "Renomear faixa"
 
 #: io_selector.cc:60 io_selector.cc:794
-#, fuzzy
 msgid "Rescan"
-msgstr "refrescar"
+msgstr "Refrescar"
 
 #: io_selector.cc:68
 msgid "%1 input"
@@ -4628,29 +4317,24 @@ msgid "Outputs"
 msgstr "Saídas"
 
 #: io_selector.cc:143
-#, fuzzy
 msgid "Add Input"
-msgstr "acrescentar entrada"
+msgstr "Acrescentar entrada"
 
 #: io_selector.cc:143
-#, fuzzy
 msgid "Add Output"
-msgstr "acrescentar saída"
+msgstr "Acrescentar saída"
 
 #: io_selector.cc:144
-#, fuzzy
 msgid "Remove Input"
-msgstr "Remover ponto de sincronia"
+msgstr "Remover entrada"
 
 #: io_selector.cc:144
-#, fuzzy
 msgid "Remove Output"
-msgstr "No.Saídas"
+msgstr "Remover saída"
 
 #: io_selector.cc:145
-#, fuzzy
 msgid "Disconnect All"
-msgstr "Desligar"
+msgstr "Desligar tudo"
 
 #: io_selector.cc:159
 msgid "Available connections"
@@ -4658,11 +4342,11 @@ msgstr "Ligações disponíveis"
 
 #: io_selector.cc:555 io_selector.cc:574
 msgid "There are no more JACK ports available."
-msgstr ""
+msgstr "Não existem portos JACK disponíveis"
 
 #: io_selector.cc:649 io_selector.cc:676 io_selector.cc:729
 msgid "port"
-msgstr "porta"
+msgstr "porto"
 
 #: io_selector.cc:798
 msgid "ardour: "
@@ -4678,6 +4362,7 @@ msgid ""
 "is madness - see the man page for xmodmap to find out how to fix this."
 msgstr ""
 
+
 #: keyboard.cc:533
 msgid ""
 "Your system generates \"%1\" when the NumLock key is pressed. This can cause "
@@ -4706,7 +4391,7 @@ msgstr "Existem %1 teclas associadas a \"mod5\""
 
 #: location_ui.cc:48 location_ui.cc:51
 msgid "Set"
-msgstr "Seleccionar"
+msgstr "Estabelecer"
 
 #: location_ui.cc:49 location_ui.cc:52
 msgid "Go"
@@ -4722,15 +4407,15 @@ msgstr ""
 
 #: location_ui.cc:59
 msgid "Pre-Emphasis"
-msgstr ""
+msgstr "Pré-êmfase"
 
 #: location_ui.cc:570
 msgid "Add New Location"
-msgstr "Adicionar Nova Localização"
+msgstr "Adicionar nova localização"
 
 #: location_ui.cc:571
 msgid "Add New Range"
-msgstr "Adicionar Novo Intervalo"
+msgstr "Adicionar novo intervalo"
 
 #: location_ui.cc:575
 msgid "ardour: locations"
@@ -4741,14 +4426,12 @@ msgid "ardour_locations"
 msgstr ""
 
 #: location_ui.cc:604
-#, fuzzy
 msgid "Location (CD Index) Markers"
-msgstr "Localizações"
+msgstr "Marcadores de localização (índice CD)"
 
 #: location_ui.cc:624
-#, fuzzy
 msgid "Range (CD Track) Markers"
-msgstr "Intervalos"
+msgstr "Marcadores de intervalos (faixas CD)"
 
 #: location_ui.cc:790
 msgid "add range marker"
@@ -4756,21 +4439,21 @@ msgstr "acrescentar marcador de região"
 
 #: main.cc:72
 msgid "ardour is killing itself for a clean exit\n"
-msgstr "ardour em modo de auto-destruição para uma saída em beleza\n"
+msgstr "ardour entrou em auto-destruição para sair em beleza\n"
 
 #: main.cc:81
 msgid "stopping user interface\n"
-msgstr "interface homem-máquina em fase terminal\n"
+msgstr "interface de utilizador em fase terminal\n"
 
 #. XXX its doubtful that snprintf() is async-safe
 #: main.cc:100
-#, fuzzy, c-format
+#, c-format
 msgid "%d(%d): received signal %d\n"
-msgstr "%d: sinal %d recebido\n"
+msgstr "%d(%d): sinal %d recebido\n"
 
 #: main.cc:180
 msgid "cannot become new process group leader (%1)"
-msgstr ""
+msgstr "não foi possível estabelecer-se como processo principal de grupo (%1)"
 
 #: main.cc:207
 msgid "cannot setup signal handling for %1"
@@ -4781,23 +4464,19 @@ msgid "cannot set default signal mask (%1)"
 msgstr "não foi possível estabelecer máscara de sinal %1"
 
 #: main.cc:248
-#, fuzzy
 msgid ""
 "Without a UI style file, ardour will look strange.\n"
 " Please set ARDOUR2_UI_RC to point to a valid UI style file"
 msgstr ""
-"O Ardour vai aparecer algo esquisito sem um ficheiro\n"
-"de estilo visual para o interface de utilizador (UI).\n"
-"Por favor, indique um ficheiro de estilo visual válido em ARDOUR_UI_RC "
-"(variável de ambiente)"
+"O Ardour vai parecer estranho sem um ficheiro\n"
+"de estilo visual para o interface de utilizador.\n"
+"Por favor, indique um ficheiro válido em ARDOUR_UI_RC"
 
 #: main.cc:270
-#, fuzzy
 msgid "Ardour could not connect to JACK."
-msgstr "Não foi possível conectar ao serviço JACK como \"%1\""
+msgstr "Não foi possível ligar ao serviço JACK."
 
 #: main.cc:274
-#, fuzzy
 msgid ""
 "There are several possible reasons:\n"
 "\n"
@@ -4807,12 +4486,11 @@ msgid ""
 "\n"
 "Please consider the possibilities, and perhaps (re)start JACK."
 msgstr ""
-"Não foi possível estabelecer ligação com o serviço JACK.\n"
-"Podem existir várias razões para tal:\n"
+"Podem existir várias razões:\n"
 "\n"
 "1) O serviço JACK não se encontra activo.\n"
 "2) O serviço JACK encontra-se activo por outro utilizador, talvez root.\n"
-"3) Já se encontra activo outro client chamado \"ardour\".\n"
+"3) Já se encontra activo outro client com o nome \"ardour\".\n"
 "\n"
 "Por favor, considere estas possibilidades e (re)inicie o serviço JACK."
 
@@ -4828,6 +4506,10 @@ msgid ""
 "A session named \"%1\" already exists.\n"
 "To avoid this message, start ardour as \"ardour %1"
 msgstr ""
+"\n"
+"\n"
+"Já existe uma sessão denominada \"%1\".\n"
+"Para evitar esta mensagem, inicie ardour como \"ardour %1\""
 
 #: main.cc:335
 msgid ""
@@ -4836,6 +4518,10 @@ msgid ""
 "No session named \"%1\" exists.\n"
 "To create it from the command line, start ardour as \"ardour --new %1"
 msgstr ""
+"\n"
+"\n"
+"Não existe nenhuma sessão denominada \"%1\".\n"
+"Para a criar desde a linha de comando, inicie ardour como \"ardour --new %1\""
 
 #: main.cc:399
 msgid "Ardour/GTK "
@@ -4846,15 +4532,16 @@ msgid ""
 "\n"
 "   (built using "
 msgstr ""
+"\n"
+"   (compilado "
 
 #: main.cc:405
-#, fuzzy
 msgid " with libardour "
-msgstr " em execução com libardour "
+msgstr " com libardour "
 
 #: main.cc:410
 msgid " and GCC version "
-msgstr ""
+msgstr " e versão GCC "
 
 #: main.cc:420
 msgid "Copyright (C) 1999-2006 Paul Davis"
@@ -4865,6 +4552,8 @@ msgid ""
 "Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
 "Baker"
 msgstr ""
+"Algumas partes Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
+"Baker"
 
 #: main.cc:423
 msgid "Ardour comes with ABSOLUTELY NO WARRANTY"
@@ -4872,18 +4561,16 @@ msgstr "Ardour é fornecido ABSOLUTAMENTE SEM QUALQUER GARANTIA"
 
 #: main.cc:424
 msgid "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-msgstr ""
+msgstr "nem mesmo para COMERCIALIZAÇÃO ou INDICADO PARA UM FIM PARTICULAR."
 
 #: main.cc:425
 msgid "This is free software, and you are welcome to redistribute it "
-msgstr "Sendo software livre, é permitida e até encorajada a sua distribuição"
+msgstr "Sendo software livre, é permitida e até encorajada a sua distribuição "
 
 #: main.cc:426
-#, fuzzy
 msgid "under certain conditions; see the source for copying conditions."
-msgstr ""
-"desde que sejam respeitadas algumas condições; para mais informações, leia "
-"por favor o ficheiro COPYING."
+msgstr "desde que sejam respeitadas algumas condições; para mais informações, "
+"por favor leia o ficheiro COPYING."
 
 #: main.cc:435
 msgid "could not create ARDOUR GUI"
@@ -4891,26 +4578,23 @@ msgstr "não foi possível criar o interface gráfico (GUI)"
 
 #: main.cc:453
 msgid "Could not connect to JACK server as  \"%1\""
-msgstr "Não foi possível conectar ao serviço JACK como \"%1\""
+msgstr "Não foi possível ligar ao serviço JACK como \"%1\""
 
 #: main.cc:456
 msgid "could not initialize Ardour."
 msgstr "não foi possível inicializar o Ardour"
 
 #: marker.cc:244
-#, fuzzy
 msgid "MarkerText"
-msgstr "Marcas"
+msgstr "Marcadores"
 
 #: marker_time_axis.cc:254
-#, fuzzy
 msgid "Remove Marker"
-msgstr "remover marcador"
+msgstr "Remover marcador"
 
 #: marker_time_axis.cc:256
-#, fuzzy
 msgid "Marker"
-msgstr "Marcas"
+msgstr "Marcador"
 
 #: meter_bridge.cc:78
 msgid "ardour: meter bridge"
@@ -4926,7 +4610,6 @@ msgid "# of %u-sample overs"
 msgstr "# de %u-quadros"
 
 #: meter_bridge_strip.cc:222
-#, fuzzy
 msgid "New Name for Meter:"
 msgstr "Novo nome para o VUímetro:"
 
@@ -4936,48 +4619,42 @@ msgstr ""
 
 #: mixer_strip.cc:96 mixer_strip.cc:822
 msgid "Comments"
-msgstr ""
+msgstr "Comentários"
 
 #: mixer_strip.cc:119
-#, fuzzy
 msgid "Input"
 msgstr "Entradas"
 
 #: mixer_strip.cc:136 mixer_strip.cc:1223
-#, fuzzy
 msgid "input"
-msgstr "%1 entrada"
+msgstr "entrada"
 
 #: mixer_strip.cc:144 mixer_strip.cc:1231
-#, fuzzy
 msgid "post"
-msgstr "porta"
+msgstr "pós"
 
 #. TRANSLATORS: this string should be longest of the strings
 #. used to describe meter points. In english, its "input".
 #.
 #: mixer_strip.cc:152
 msgid "tupni"
-msgstr ""
+msgstr "adartne"
 
 #: mixer_strip.cc:207
-#, fuzzy
 msgid "Varispeed"
-msgstr "velocidade variável"
+msgstr "Velocidade variável"
 
 #: mixer_strip.cc:233 mixer_strip.cc:836
 msgid "Click to Add/Edit Comments"
-msgstr ""
+msgstr "Clicar para acrescentar/editar comentários"
 
 #: mixer_strip.cc:374
 msgid "unknown strip width \"%1\" in XML GUI information"
-msgstr ""
-"largura desconhecida \"%1\" na informação XML para o interface gráfico (GUI)"
+msgstr "largura de painel desconhecida \"%1\" na informação XML para o interface gráfico (GUI)"
 
 #: mixer_strip.cc:417
-#, fuzzy
 msgid "record"
-msgstr "Gravar"
+msgstr "gravar"
 
 #: mixer_strip.cc:418 region_editor.cc:47
 msgid "mute"
@@ -4989,16 +4666,15 @@ msgstr ""
 
 #: mixer_strip.cc:422
 msgid "comments"
-msgstr ""
+msgstr "comentários"
 
 #: mixer_strip.cc:424
 msgid "*comments*"
-msgstr ""
+msgstr "*comentários*"
 
 #: mixer_strip.cc:438
-#, fuzzy
 msgid "Rec"
-msgstr "refrescar"
+msgstr ""
 
 #: mixer_strip.cc:439
 msgid "M"
@@ -5009,9 +4685,8 @@ msgid "S"
 msgstr ""
 
 #: mixer_strip.cc:443 mixer_strip.cc:830
-#, fuzzy
 msgid "Cmt"
-msgstr "corte"
+msgstr ""
 
 #: mixer_strip.cc:445 mixer_strip.cc:828
 msgid "*Cmt*"
@@ -5019,7 +4694,7 @@ msgstr ""
 
 #: mixer_strip.cc:483 mixer_strip.cc:549 redirect_box.cc:1006
 msgid "Not connected to JACK - no I/O changes are possible"
-msgstr ""
+msgstr "Desligado do JACK - não são possíveis alterações nas entradas/saídas"
 
 #: mixer_strip.cc:560
 msgid "Track"
@@ -5027,26 +4702,23 @@ msgstr "Faixa"
 
 #: mixer_strip.cc:588 mixer_strip.cc:604
 msgid "could not register new ports required for that connection"
-msgstr ""
+msgstr "não foi possível criar os portos necessários para efectuar a ligação"
 
 #: mixer_strip.cc:747
-#, fuzzy
 msgid " Input"
-msgstr "No.Entradas"
+msgstr " Entrada"
 
 #: mixer_strip.cc:750
-#, fuzzy
 msgid "I"
-msgstr "ENTRADA"
+msgstr "E"
 
 #: mixer_strip.cc:820
 msgid "*Comments*"
-msgstr ""
+msgstr "*Comentários*"
 
 #: mixer_strip.cc:859
-#, fuzzy
 msgid ": comment editor"
-msgstr "Não foi possível iniciar o painel principal de edição (editor)"
+msgstr ": editor de comentários"
 
 #: mixer_strip.cc:953
 msgid "Grp"
@@ -5057,22 +4729,20 @@ msgid "~G"
 msgstr ""
 
 #: mixer_strip.cc:1004
-#, fuzzy
 msgid "Invert Polarity"
-msgstr "polaridade"
+msgstr "Inverter polaridade"
 
 #: mixer_ui.cc:85
 msgid "Strips"
 msgstr "Painéis"
 
 #: mixer_ui.cc:110
-#, fuzzy
 msgid "Group"
-msgstr "Grupos"
+msgstr "Grupo"
 
 #: mixer_ui.cc:211 mixer_ui.cc:370
 msgid "ardour: mixer"
-msgstr "ardour: misturador"
+msgstr "ardour: mistura"
 
 #: mixer_ui.cc:212
 msgid "ardour_mixer"
@@ -5080,7 +4750,7 @@ msgstr ""
 
 #: mixer_ui.cc:346
 msgid "ardour: mixer: "
-msgstr "ardour: misturador: "
+msgstr "ardour: mistura: "
 
 #: mixer_ui.cc:573
 msgid "signal"
@@ -5091,116 +4761,96 @@ msgid "track display list item for renamed strip not found!"
 msgstr "não foi encontrada qualquer faixa para o painel de mistura"
 
 #: new_session_dialog.cc:39
-#, fuzzy
 msgid "New Session Name :"
-msgstr "Nome de sessão:"
+msgstr "Novo nome de sessão:"
 
 #: new_session_dialog.cc:41
 msgid "Create Session Directory In :"
-msgstr ""
+msgstr "Criar directório de sessão em :"
 
 #: new_session_dialog.cc:43
-#, fuzzy
 msgid "Use Session Template :"
-msgstr "Modelo de sessão"
+msgstr "Usar modelo de sessão"
 
 #: new_session_dialog.cc:45
-#, fuzzy
 msgid "Channel Count"
-msgstr "Cancelar Importação"
+msgstr "Número de canais"
 
 #: new_session_dialog.cc:46
-#, fuzzy
 msgid "Create Monitor Bus"
-msgstr "Saídas de Controlo"
+msgstr "Criar barramento de controlo"
 
 #: new_session_dialog.cc:53
-#, fuzzy
 msgid "Create Master Bus"
-msgstr "usar saídas principais"
+msgstr "Criar barramento para VUímetro"
 
 #: new_session_dialog.cc:55
-#, fuzzy
 msgid "Automatically Connect Inputs"
-msgstr "ligar entradas físicas automaticamente"
+msgstr "Ligar entradas automaticamente"
 
 #: new_session_dialog.cc:56 new_session_dialog.cc:67
-#, fuzzy
 msgid "Port Limit"
-msgstr "Esquecer"
+msgstr "Limite de portos"
 
 #: new_session_dialog.cc:64
-#, fuzzy
 msgid "<b>Track/Bus Inputs</b>"
-msgstr "Faixas/Barramentos"
+msgstr "<b>Faixas/Barramentos de entrada</b>"
 
 #: new_session_dialog.cc:66
-#, fuzzy
 msgid "Automatically Connect Outputs"
-msgstr "ligar saídas manualmente"
+msgstr "Ligar saídas automaticamente"
 
 #: new_session_dialog.cc:75
 msgid "Connect to Master Bus"
-msgstr ""
+msgstr "Ligar ao barramento principal"
 
 #: new_session_dialog.cc:76
 msgid "Connect to Physical Outputs"
-msgstr ""
+msgstr "Ligar às saídas físicas"
 
 #: new_session_dialog.cc:80
-#, fuzzy
 msgid "<b>Track/Bus Outputs</b>"
-msgstr "Saída"
+msgstr "<b>Faixas/Barramentos de saída</b>"
 
 #: new_session_dialog.cc:83
-#, fuzzy
 msgid "Advanced Options"
-msgstr "Opções"
+msgstr "Opções avançadas"
 
 #: new_session_dialog.cc:91
-#, fuzzy
 msgid "Open Recent Session"
-msgstr "abrir sessão"
+msgstr "Abrir sessão recente"
 
 #: new_session_dialog.cc:127
-#, fuzzy
 msgid "Open Session File :"
-msgstr "abrir sessão"
+msgstr "Abrir sessão :"
 
 #: new_session_dialog.cc:274
-#, fuzzy
 msgid "New Session"
-msgstr "Sessão"
+msgstr "Nova sessão"
 
 #: new_session_dialog.cc:276
-#, fuzzy
 msgid "Open Session"
-msgstr "abrir sessão"
+msgstr "Abrir sessão"
 
 #: new_session_dialog.cc:281
-#, fuzzy
 msgid "ardour: session control"
-msgstr "ardour: guardar sessão?"
+msgstr "ardour: controlo de sessão"
 
 #: new_session_dialog.cc:310
-#, fuzzy
 msgid "select template"
-msgstr "Sem modelo"
+msgstr "seleccionar modelo"
 
 #: new_session_dialog.cc:316
-#, fuzzy
 msgid "select session file"
-msgstr "seleccionar regiões"
+msgstr "seleccionar sessão"
 
 #: new_session_dialog.cc:325
-#, fuzzy
 msgid "select directory"
-msgstr "seleccionar regiões"
+msgstr "seleccionar directório"
 
 #: option_editor.cc:76
-#, fuzzy
 msgid "SMPTE offset is negative"
-msgstr "Deslocamento SMPTE"
+msgstr "Deslocamento SMPTE negativo"
 
 #: option_editor.cc:102
 msgid "ardour: options editor"
@@ -5220,7 +4870,7 @@ msgstr "Teclado/Rato"
 
 #: option_editor.cc:131
 msgid "Layers & Fades"
-msgstr ""
+msgstr "Níveis & Desvanecimentos"
 
 #: option_editor.cc:135
 msgid "MIDI"
@@ -5247,14 +4897,12 @@ msgid "session RAID path"
 msgstr "directório RAID de sessão"
 
 #: option_editor.cc:249
-#, fuzzy
 msgid "Soundfile Search Paths"
-msgstr "Audioteca"
+msgstr "Directórios da audioteca"
 
 #: option_editor.cc:254
-#, fuzzy
 msgid "Paths"
-msgstr "Directórios/Ficheiros"
+msgstr "Directórios"
 
 #: option_editor.cc:268 option_editor.cc:274 option_editor.cc:723
 #: option_editor.cc:750
@@ -5263,11 +4911,11 @@ msgstr "interno"
 
 #: option_editor.cc:287
 msgid "Short crossfade length (msecs)"
-msgstr ""
+msgstr "Desvanecimento cruzado de curta duração (msegs)"
 
 #: option_editor.cc:299
 msgid "Destructive crossfade length (msecs)"
-msgstr ""
+msgstr "Desvanecimento cruzado destrutivo (msegs)"
 
 #: option_editor.cc:367
 msgid "SMPTE Frames/second"
@@ -5279,26 +4927,23 @@ msgstr "Deslocamento SMPTE"
 
 #: option_editor.cc:462 option_editor.cc:469 option_editor.cc:472
 #: option_editor.cc:618
-#, fuzzy
 msgid "online"
-msgstr "linear"
+msgstr "ligado"
 
 #. remember, we have to handle the i18n case where the relative
 #. lengths of the strings in language N is different than in english.
 #.
 #: option_editor.cc:469 option_editor.cc:470 option_editor.cc:615
-#, fuzzy
 msgid "offline"
-msgstr "linear"
+msgstr "desligado"
 
 #: option_editor.cc:670
 msgid "Choose Click"
-msgstr ""
+msgstr "Metrónomo"
 
 #: option_editor.cc:689
-#, fuzzy
 msgid "Choose Click Emphasis"
-msgstr "Usar como metrónomo acentuado"
+msgstr "Usar metrónomo acentuado"
 
 #: option_editor.cc:803
 msgid "Click audio file"
@@ -5315,9 +4960,9 @@ msgid ""
 "of the overall mix. It can be connected just like any\n"
 "other mixer strip."
 msgstr ""
-"O auditor é um painel de mistura dedicado\n"
+"O auditor é um painel de mistura dedicado usado\n"
 "para a escuta de determinadas regiões fora do contexto\n"
-"da mistura geral. Pode ser inter-conectado tal como\n"
+"da mistura geral. Pode ser interligado tal como\n"
 "qualquer outro painel de mistura."
 
 #: option_editor.cc:919
@@ -5357,37 +5002,34 @@ msgstr ""
 "possíveis\n"
 
 #: opts.cc:50
-#, fuzzy
 msgid "  -n, --show-splash                Show splash screen\n"
-msgstr ""
-"  -n, --no-splash                  Não mostrar ecran de apresentação "
-"inicial\n"
+msgstr "  -n, --show-splash                Mostrar ecran de apresentação inicial\n"
 
 #: opts.cc:51
-#, fuzzy
 msgid ""
 "  -c, --name  name                 Use a specific jack client name, default "
 "is ardour\n"
 msgstr ""
-"  -c, --jack-client-name  name     Empregar um nome de cliente JACK "
-"específico (ardour)\n"
+"  -c, --name  name                 Empregar um nome de cliente JACK específico "
+"(ardour)\n"
 
 #: opts.cc:52
-#, fuzzy
 msgid ""
 "  -N, --new session-name           Create a new session from the command "
 "line\n"
-msgstr "  [session-name]                   Nome de sessão a carregar\n"
+msgstr ""
+"  -N, --new session-name           Criar uma nova sessão denominada pela "
+"linha de comando\n"
 
 #: opts.cc:53
 msgid ""
 "  -o, --use-hw-optimizations        Try to use h/w specific optimizations\n"
 msgstr ""
+"  -o, --use-hw-optimizations        Tentar usar optimizações específicas do hardware\n"
 
 #: opts.cc:55
-#, fuzzy
 msgid "  -V, --novst                      Do not use VST support\n"
-msgstr "  -V, --novst                      Não usar suporte VST inicial\n"
+msgstr "  -V, --novst                      Não usar suporte VST\n"
 
 #: opts.cc:57
 msgid "  [session-name]                   Name of session to load\n"
@@ -5395,30 +5037,27 @@ msgstr "  [session-name]                   Nome de sessão a carregar\n"
 
 #: opts.cc:58
 msgid "  -C, --curvetest filename         Curve algorithm debugger\n"
-msgstr ""
+msgstr "  -C, --curvetest filename         Depurador do algoritmo de curvaturas\n"
 
 #: opts.cc:59
-#, fuzzy
 msgid "  -g, --gtktheme                   Allow GTK to load a theme\n"
-msgstr "  -h, --help                       Mostrar esta mesma mensagem\n"
+msgstr "  -g, --gtktheme                   Permitir que o GTK carregue um aspecto visual\n"
 
 #: pan_automation_time_axis.cc:60
 msgid "You can't graphically edit panning of more than stream"
-msgstr ""
+msgstr "Não é possível alterar gráficamente a panorâmica deste conjunto de canais"
 
 #: pan_automation_time_axis.cc:80
-#, fuzzy
 msgid "add pan automation event"
-msgstr "acrescentar evento de automatização "
+msgstr "acrescentar evento de automatização de panorâmica"
 
 #: panner2d.cc:589 panner_ui.cc:435 plugin_ui.cc:834
 msgid "Bypass"
 msgstr "Ignorar"
 
 #: panner_ui.cc:58 panner_ui.cc:225
-#, fuzzy
 msgid "link"
-msgstr "entrada"
+msgstr "ligar"
 
 #: panner_ui.cc:69
 msgid "Pan automation mode"
@@ -5430,11 +5069,11 @@ msgstr "Tipo de automatização de panorâmica"
 
 #: panner_ui.cc:81
 msgid "panning link control"
-msgstr ""
+msgstr "controlo de ligação panorâmica"
 
 #: panner_ui.cc:83
 msgid "panning link direction"
-msgstr ""
+msgstr "direcção de ligação panorâmica"
 
 #: panner_ui.cc:235
 msgid "L"
@@ -5443,47 +5082,42 @@ msgstr ""
 #: panner_ui.cc:335
 #, c-format
 msgid "panner for channel %lu"
-msgstr ""
+msgstr "panorama para o canal %lu"
 
 #: panner_ui.cc:337
 #, c-format
 msgid "panner for channel %u"
-msgstr ""
+msgstr "panorama para o canal %u"
 
 #: panner_ui.cc:445
-#, fuzzy
 msgid "Reset all"
-msgstr "reiniciar"
+msgstr "Reiniciar tudo"
 
 #: playlist_selector.cc:52
-#, fuzzy
 msgid "ardour: playlists"
-msgstr "ardour: efeitos/plug-ins"
+msgstr "ardour: listas de reprodução"
 
 #: playlist_selector.cc:59
 msgid "Playlists grouped by track"
-msgstr ""
+msgstr "Listas de reprodução agrupadas por faixa"
 
 #: playlist_selector.cc:98
-#, fuzzy
 msgid "ardour: playlist for "
-msgstr "ardour: efeitos/plug-ins"
+msgstr "ardour: listas de reprodução para "
 
 #: playlist_selector.cc:114
-#, fuzzy
 msgid "Other tracks"
-msgstr "retocar faixa"
+msgstr "Outras faixas"
 
 #: playlist_selector.cc:130
 msgid "unassigned"
-msgstr ""
+msgstr "não atribuidas"
 
 #: plugin_selector.cc:43
 msgid "ardour: plugins"
 msgstr "ardour: efeitos/plug-ins"
 
 #: plugin_selector.cc:56
-#, fuzzy
 msgid "Available LADSPA Plugins"
 msgstr "Efeitos/plug-ins LADSPA disponíveis"
 
@@ -5501,12 +5135,11 @@ msgstr "No.Saídas"
 
 #: plugin_selector.cc:68
 msgid "Plugins to be Connected to Insert"
-msgstr ""
+msgstr "Efeitos/plug-ins para ligar e inserir"
 
 #: plugin_selector.cc:80
-#, fuzzy
 msgid "Available plugins"
-msgstr "Efeitos/plug-ins VST disponíveis"
+msgstr "Efeitos/plug-ins disponíveis"
 
 #: plugin_selector.cc:98
 msgid "Add a plugin to the effect list"
@@ -5514,7 +5147,7 @@ msgstr "Acrescentar à lista de efeitos/plug-ins"
 
 #: plugin_selector.cc:102
 msgid "Remove a plugin from the effect list"
-msgstr "Remover à lista de efeitos/plug-ins"
+msgstr "Remover da lista de efeitos/plug-ins"
 
 #: plugin_selector.cc:104
 msgid "Update available plugins"
@@ -5538,32 +5171,28 @@ msgstr ""
 
 #: plugin_ui.cc:139
 msgid "<span size=\"large\">Presets</span>"
-msgstr ""
+msgstr "<span size=\"large\">Parametrizações</span>"
 
 #: plugin_ui.cc:230
-#, fuzzy
 msgid "Controls"
-msgstr "Saídas de Controlo"
+msgstr "Controlos"
 
 #: plugin_ui.cc:267
 msgid "Plugin Editor: could not build control element for port %1"
-msgstr ""
-"Editor de efeitos/plug-ins: não foi possível criar elemento de controlo para "
-"%1"
+msgstr "Editor de efeitos/plug-ins: não foi possível criar elemento"
+" de controlo para %1"
 
 #: plugin_ui.cc:358
-#, fuzzy
 msgid "Automation control"
-msgstr "controlo de automatização"
+msgstr "Controlo de automatização"
 
 #: plugin_ui.cc:854
 msgid "Plugin preset %1 not found"
 msgstr "Parametrização de efeito/plug-in %1 inexistente"
 
 #: plugin_ui.cc:864
-#, fuzzy
 msgid "Name of New Preset:"
-msgstr "Nome para a nova ligação:"
+msgstr "Nome para a nova parametrização:"
 
 #: redirect_automation_line.cc:54
 msgid "redirect automation created for non-plugin"
@@ -5575,12 +5204,11 @@ msgstr "acrescentar evento de automatização a "
 
 #: redirect_box.cc:223
 msgid "New send"
-msgstr ""
+msgstr "Novo envio"
 
 #: redirect_box.cc:224
-#, fuzzy
 msgid "Show send controls"
-msgstr "Controlo de velocidade"
+msgstr "Mostrar controlos de envio"
 
 #: redirect_box.cc:383
 msgid ""
@@ -5592,6 +5220,11 @@ msgid ""
 "This makes no sense - you are throwing away\n"
 "part of the signal."
 msgstr ""
+"Foi tentado acrescentar um efeito/plug-in (%1).\n"
+"O efeito/plug-in tem %2 entradas, mas\n"
+"o ponto de inserção tem %3 canais activos.\n"
+"\n"
+"Não faz sentido deitar fora parte do sinal."
 
 #: redirect_box.cc:395
 msgid ""
@@ -5604,6 +5237,14 @@ msgid ""
 "side-chain inputs. A future version of Ardour will\n"
 "support this type of configuration."
 msgstr ""
+"Foi tentado acrescentar um efeito/plug-in (%1).\n"
+"O efeito/plug-in tem %2 entradas, mas no ponto\n"
+"de inserção somente existem %3 canais activos.\n"
+"\n"
+"Não faz sentido deitar fora parte do sinal,\n"
+"a menos que o efeito/plug-in suporte entradas\n"
+"à parte. Uma futura versão do Ardour poderá viar\n"
+"a suportar este tipo de configuração."
 
 #: redirect_box.cc:408
 msgid ""
@@ -5617,14 +5258,24 @@ msgid ""
 "\n"
 "Ardour does not understand what to do in such situations.\n"
 msgstr ""
+"Foi tentado acrescentar um efeito/plug-in (%1).\n"
+"\n"
+"No entanto, a configuração de entradas/saídas\n"
+"não faz qualquer sentido.\n"
+"\n"
+"O efeito/plug-in tem %2 entradas e %3 saídas,\n"
+"a faixa/barramento tem %4 entradas e %5 saídas,\n"
+"e no ponto de inserção existem %3 canais activos.\n"
+"\n"
+"Não é possível determinar o que fazer nestas situações.\n"
 
 #: redirect_box.cc:495
 msgid "Pre-fader inserts, sends & plugins:"
-msgstr ""
+msgstr "Inserções, envios e efeitos/plug-ins pré-atenuador"
 
 #: redirect_box.cc:498
 msgid "Post-fader inserts, sends & plugins:"
-msgstr ""
+msgstr "Inserções, envios e efeitos/plug-ins pós-atenuador"
 
 #: redirect_box.cc:644
 msgid ""
@@ -5632,11 +5283,13 @@ msgid ""
 "in that way because the inputs and\n"
 "outputs do not work correctly."
 msgstr ""
+"Não é possível reordenar os redireccionamentos\n"
+"na forma pretendida porque as entradas e saídas\n"
+"não podem ser combinadas correctamente."
 
 #: redirect_box.cc:749
-#, fuzzy
 msgid "rename redirect"
-msgstr "ardour: renomear região"
+msgstr "renomear redireccionamento"
 
 #: redirect_box.cc:826 redirect_box.cc:874
 msgid ""
@@ -5644,72 +5297,67 @@ msgid ""
 "probably because the I/O configuration of the plugins\n"
 "could not match the configuration of this track."
 msgstr ""
+"Não foi possível copiar o conjunto de redireccionamentos,\n"
+"provavelmente porque a configuração de entradas e saídas\n"
+"para os efeitos/plug-ins não combinam correctamente\n"
+"com a configuração desta faixa."
 
 #: redirect_box.cc:896
-#, fuzzy
 msgid ""
 "Do you really want to remove all redirects from this track?\n"
 "(this cannot be undone)"
 msgstr ""
-"Deseja realmente remover o faixa \"%1\" ?\n"
+"Deseja realmente remover todos os redireccionamentos para esta faixa?\n"
 "(esta operação não pode ser desfeita)"
 
 #: redirect_box.cc:899
-#, fuzzy
 msgid ""
 "Do you really want to remove all redirects from this bus?\n"
 "(this cannot be undone)"
 msgstr ""
-"Deseja realmente remover o faixa \"%1\" ?\n"
+"Deseja realmente remover todos os redireccionamentos para este barramento?\n"
 "(esta operação não pode ser desfeita)"
 
 #: redirect_box.cc:904
-#, fuzzy
 msgid "Yes, remove them all"
-msgstr "Sim, remover."
+msgstr "Sim, remover todos"
 
 #: redirect_box.cc:940
-#, fuzzy
 msgid "ardour: %1"
-msgstr "ardour: misturador"
+msgstr ""
 
 #: redirect_box.cc:982
-#, fuzzy
 msgid "ardour: %1: %2 (by %3)"
-msgstr "ardour: misturador: "
+msgstr "ardour: %1: %2 (por %3)"
 
 #. new stuff
 #: redirect_box.cc:1054
 msgid "New Plugin ..."
-msgstr ""
+msgstr "Novo efeito/plug-in..."
 
 #: redirect_box.cc:1055
-#, fuzzy
 msgid "New Insert"
-msgstr "nova entrada"
+msgstr "Nova inserção"
 
 #: redirect_box.cc:1056
 msgid "New Send ..."
-msgstr ""
+msgstr "Novo envio..."
 
 #: redirect_box.cc:1068
-#, fuzzy
 msgid "Deselect All"
-msgstr "Seleccionar tudo"
+msgstr "Seleccionar nenhum"
 
 #: redirect_box.cc:1075
-#, fuzzy
 msgid "Activate all"
-msgstr "Activar"
+msgstr "Activar todos"
 
 #: redirect_box.cc:1076
-#, fuzzy
 msgid "Deactivate all"
-msgstr "Desactivar"
+msgstr "Desactivar todos"
 
 #: region_editor.cc:45
 msgid "NAME:"
-msgstr "NOME:"
+msgstr "Nome:"
 
 #: region_editor.cc:46
 msgid "lock"
@@ -5737,7 +5385,7 @@ msgstr "reproduzir"
 
 #: region_editor.cc:61
 msgid "ENVELOPE"
-msgstr "ENVOLVENTE"
+msgstr "Envolvente"
 
 #: region_editor.cc:107
 msgid "mute this region"
@@ -5745,7 +5393,7 @@ msgstr "emudecer esta região"
 
 #: region_editor.cc:108
 msgid "regions underneath this one cannot be heard"
-msgstr "regiões abaixo desta não serão ouvidas"
+msgstr "regiões abaixo desta não poderão ser ouvidas"
 
 #: region_editor.cc:109
 msgid "prevent any changes to this region"
@@ -5773,19 +5421,19 @@ msgstr "ouvir esta região"
 
 #: region_editor.cc:147
 msgid "START:"
-msgstr "INÍCIO:"
+msgstr "Início:"
 
 #: region_editor.cc:149
 msgid "END:"
-msgstr "FINAL:"
+msgstr "Final:"
 
 #: region_editor.cc:151
 msgid "LENGTH:"
-msgstr "TAMANHO:"
+msgstr "Tamanho:"
 
 #: region_editor.cc:191
 msgid "FADE IN"
-msgstr "EVANESCER"
+msgstr "Evanescer"
 
 #: region_editor.cc:193 region_editor.cc:227
 msgid "msecs"
@@ -5793,7 +5441,7 @@ msgstr "msegs"
 
 #: region_editor.cc:225
 msgid "FADE OUT"
-msgstr "DESVANECER"
+msgstr "Desvanecer"
 
 #: region_editor.cc:265
 msgid "ardour: region "
@@ -5808,28 +5456,24 @@ msgid "fade out edit"
 msgstr "alterar desvanecimento"
 
 #: regionview.cc:1146
-#, fuzzy
 msgid "add gain control point"
-msgstr "remover ponto de controlo"
+msgstr "acrescentar ponto de controlo"
 
 #: route_params_ui.cc:89
 msgid "Tracks/Buses"
-msgstr "Faixas/Barramentos"
+msgstr "Faixas/barramentos"
 
 #: route_params_ui.cc:109
-#, fuzzy
 msgid "Pre-fader Redirects"
-msgstr "Pré-encaminhamentos"
+msgstr "Encaminhamentos pré-atenuador"
 
 #: route_params_ui.cc:110
-#, fuzzy
 msgid "Post-fader Redirects"
-msgstr "Pós-encaminhamentos"
+msgstr "Encaminhamentos pós-atenuador"
 
 #: route_params_ui.cc:144
-#, fuzzy
 msgid "ardour: track/bus inspector"
-msgstr "ardour: acrescentar faixa/barramento"
+msgstr "ardour: faixa/barramento"
 
 #: route_params_ui.cc:145
 msgid "ardour_route_parameters"
@@ -5837,25 +5481,23 @@ msgstr ""
 
 #: route_params_ui.cc:202
 msgid "route display list item for renamed route not found!"
-msgstr "não foi encontrado qualquer elemento de encaminhamento"
+msgstr "não foi encontrado qualquer encaminhamento"
 
 #: route_params_ui.cc:453
 msgid "NO TRACK"
-msgstr "SEM FAIXA"
+msgstr "Nenhuma faixa"
 
 #: route_params_ui.cc:695
-#, fuzzy
 msgid "ardour: track/bus inspector: "
-msgstr "ardour: acrescentar faixa/barramento"
+msgstr "ardour: faixa/barramento: "
 
 #: route_params_ui.cc:699
 msgid "No Route Selected"
-msgstr "Caminho Não Seleccionado"
+msgstr "Nenhum saminho seleccionado"
 
 #: route_params_ui.cc:700
-#, fuzzy
 msgid "ardour: track/bus/inspector: no route selected"
-msgstr "ardour: parâmetros de encaminhamento: caminho não seleccionado"
+msgstr "ardour: faixa/baramento: nenhum caminho seleccionado"
 
 #. ctrl-shift-click applies change to all routes
 #: route_ui.cc:134
@@ -5874,7 +5516,7 @@ msgstr "gravar alterado"
 
 #: route_ui.cc:479
 msgid "Solo-safe"
-msgstr "solo livre"
+msgstr "Solo livre"
 
 #: route_ui.cc:487 route_ui.cc:530
 msgid "MIDI Bind"
@@ -5882,19 +5524,19 @@ msgstr "Associação MIDI"
 
 #: route_ui.cc:501
 msgid "Pre Fader"
-msgstr "Pré-Atenuador"
+msgstr "Pré-atenuador"
 
 #: route_ui.cc:508
 msgid "Post Fader"
-msgstr "Pós-Atenuador"
+msgstr "Pós-atenuador"
 
 #: route_ui.cc:515
 msgid "Control Outs"
-msgstr "Saídas de Controlo"
+msgstr "Saídas de controlo"
 
 #: route_ui.cc:522
 msgid "Main Outs"
-msgstr "Saídas Principais"
+msgstr "Saídas principais"
 
 #: route_ui.cc:559
 msgid "mix group solo  change"
@@ -5913,15 +5555,15 @@ msgid "ardour: color selection"
 msgstr "ardor: selecção de cor"
 
 #: route_ui.cc:702
-#, fuzzy
 msgid ""
 "Do you really want to remove track \"%1\" ?\n"
 "\n"
 "You may also lose the playlist used by this track.\n"
 "(cannot be undone)"
 msgstr ""
-"Deseja realmente remover o faixa \"%1\" ?\n"
-"A lista de reprodução em uso por esta faixa pode ficar perdida.\n"
+"Deseja realmente remover a faixa \"%1\" ?\n"
+"\n"
+"A lista de reprodução em uso para esta faixa pode ficar perdida.\n"
 "(esta operação não pode ser desfeita)"
 
 #: route_ui.cc:704
@@ -5937,17 +5579,16 @@ msgid "Yes, remove it."
 msgstr "Sim, remover."
 
 #: route_ui.cc:737
-#, fuzzy
 msgid "New Name: "
-msgstr "novo nome: "
+msgstr "Novo nome: "
 
 #: sfdb_ui.cc:58
 msgid "Add Field..."
-msgstr "Acrescentar Campo..."
+msgstr "Acrescentar campo..."
 
 #: sfdb_ui.cc:59
 msgid "Remove Field"
-msgstr "Remover Campo"
+msgstr "Remover campo"
 
 #: sfdb_ui.cc:62
 msgid "Soundfile Info"
@@ -5962,54 +5603,48 @@ msgid "Value"
 msgstr "Valor"
 
 #: sfdb_ui.cc:161
-#, fuzzy
 msgid "channels"
-msgstr "cancelar"
+msgstr "canais"
 
 #: sfdb_ui.cc:161
-#, fuzzy
 msgid "samplerate"
-msgstr "separar"
+msgstr "freq.amostragem"
 
 #: sfdb_ui.cc:162
-#, fuzzy
 msgid "resolution"
-msgstr "selecção de intervalo"
+msgstr "resolução"
 
 #: sfdb_ui.cc:162
-#, fuzzy
 msgid "format"
-msgstr "Normal"
+msgstr "formato"
 
 #: sfdb_ui.cc:183
 msgid "Could not read file: %1 (%2)."
-msgstr "Não foi possível ler o ficheiro \"%1\" (%2)"
+msgstr "Não foi possível ler o ficheiro: %1 (%2)."
 
 #: sfdb_ui.cc:199
 msgid "Could not access soundfile: "
 msgstr "Não foi possível aceder ao ficheiros audio: "
 
 #: sfdb_ui.cc:236
-#, fuzzy
 msgid "Name for Field"
-msgstr "Nome para a região:"
+msgstr "Nome para a campo"
 
 #: sfdb_ui.cc:335
 msgid "Split Channels"
-msgstr "Separar Canais"
+msgstr "Separar canais"
 
 #: sfdb_ui.cc:342
 msgid "Create a region for each channel"
-msgstr ""
+msgstr "Criar uma região para cada canal"
 
 #: sfdb_ui.cc:344
 msgid "Embed"
-msgstr ""
+msgstr "Integrar"
 
 #: sfdb_ui.cc:346
-#, fuzzy
 msgid "Link to an external file"
-msgstr "Inserir ficheiro audio externo"
+msgstr "Ligar a ficheiro audio externo"
 
 #: sfdb_ui.cc:348
 msgid "Import"
@@ -6017,7 +5652,7 @@ msgstr "Importar"
 
 #: sfdb_ui.cc:350
 msgid "Copy a file to the session folder"
-msgstr ""
+msgstr "Copiar ficheiro para o directório de sessão"
 
 #: sfdb_ui.cc:414
 msgid "programming error: %1"
@@ -6052,7 +5687,7 @@ msgstr "Batimentos por compasso"
 
 #: tempo_dialog.cc:236 tempo_dialog.cc:247
 msgid "whole (1)"
-msgstr "toda (1)"
+msgstr "inteira (1)"
 
 #: tempo_dialog.cc:237 tempo_dialog.cc:249
 msgid "second (2)"
@@ -6080,7 +5715,7 @@ msgstr "trigésima-segunda (32)"
 
 #: tempo_dialog.cc:420
 msgid "garbaged note type entry (%1)"
-msgstr "tipo de nota desconhecido (%1)"
+msgstr "tipo de nota desconhecida (%1)"
 
 #: tempo_dialog.cc:430
 msgid "incomprehensible note type entry (%1)"
@@ -6112,7 +5747,7 @@ msgstr "Pequeno"
 
 #: time_axis_view.cc:870
 msgid "unknown track height name \"%1\" in XML GUI information"
-msgstr ""
+msgstr "altura de faixa desconhecida \"%1\" na informação XML para o interface gráfico (GUI)"
 
 #. first constructed item sets up font info
 #: time_axis_view_item.cc:79
@@ -6121,7 +5756,7 @@ msgstr ""
 
 #: time_axis_view_item.cc:298
 msgid "new duration %1 frames is out of bounds for %2"
-msgstr ""
+msgstr "nova duração de %1 quadros fora dos limites para %2"
 
 #: time_selection.cc:41
 msgid "programming error: request for non-existent audio range (%1)!"
@@ -6151,11 +5786,9 @@ msgstr "novo nome: "
 msgid "A track already exists with that name"
 msgstr "Já existe uma faixa com este nome"
 
-#, fuzzy
 #~ msgid "set selected trackview"
 #~ msgstr "seleccionar visualização de faixa"
 
-#, fuzzy
 #~ msgid "set selected control point"
 #~ msgstr "remover ponto de controlo"
 
@@ -6168,26 +5801,23 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgid "via Session menu"
 #~ msgstr "via menu de Sessão"
 
-#, fuzzy
 #~ msgid "<b>Advanced</b>"
 #~ msgstr "Avançado..."
 
-#, fuzzy
 #~ msgid "Select a File"
 #~ msgstr "Seleccionar tudo"
 
-#, fuzzy
 #~ msgid "Track/Bus connection options"
-#~ msgstr "Faixas/Barramentos"
+#~ msgstr "Faixas/barramentos"
 
 #~ msgid "RECORD"
-#~ msgstr "GRAVAR"
+#~ msgstr "Gravar"
 
 #~ msgid "INPUT"
-#~ msgstr "ENTRADA"
+#~ msgstr "Entrada"
 
 #~ msgid "OUTPUT"
-#~ msgstr "SAÍDA"
+#~ msgstr "Saída"
 
 #~ msgid "Gain automation mode"
 #~ msgstr "Modo de automatização de ganho"
@@ -6196,7 +5826,7 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgstr "Tipo de automatização de ganho"
 
 #~ msgid "trim"
-#~ msgstr "recorte"
+#~ msgstr "cortar"
 
 #~ msgid "gain automation mode"
 #~ msgstr "modo de automatização de ganho"
@@ -6208,10 +5838,10 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgstr "ponto de automatização de panorâmica"
 
 #~ msgid "REC"
-#~ msgstr "GRAV"
+#~ msgstr "Grav"
 
 #~ msgid "OUT"
-#~ msgstr "SAÍDA"
+#~ msgstr "Saída"
 
 #~ msgid "aplay"
 #~ msgstr "aRepr"
@@ -6222,9 +5852,8 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgid "no group"
 #~ msgstr "sem grupo"
 
-#, fuzzy
 #~ msgid "normal"
-#~ msgstr "Normal"
+#~ msgstr "normal"
 
 #~ msgid "Disk r:%5.1f w:%5.1f MB/s"
 #~ msgstr "Disco r:%5.1f w:%5.1f MB/s"
@@ -6232,18 +5861,15 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgid "file"
 #~ msgstr "ficheiro"
 
-#, fuzzy
 #~ msgid "ardour cleanup"
 #~ msgstr "ardour: limpeza"
 
 #~ msgid "close session"
 #~ msgstr "fechar sessão"
 
-#, fuzzy
 #~ msgid "SetRegionLayerMode"
-#~ msgstr "Finais de região"
+#~ msgstr "Níveis de região"
 
-#, fuzzy
 #~ msgid "SetCrossfadeModel"
 #~ msgstr "Desvanecimento cruzado"
 
@@ -6254,38 +5880,37 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgstr "Seleccionar intervalo"
 
 #~ msgid "FORMAT"
-#~ msgstr "FORMATO"
+#~ msgstr "Formato"
 
 #~ msgid "CD MARKER FILE TYPE"
-#~ msgstr "TIPO DE FICHEIRO MARCADORES CD"
+#~ msgstr "Tipo de ficheiro marcadores CD"
 
 #~ msgid "CHANNELS"
-#~ msgstr "CANAIS"
+#~ msgstr "Canais"
 
 #~ msgid "FILE TYPE"
-#~ msgstr "TIPO DE FICHEIRO"
+#~ msgstr "Tipo de ficheiro"
 
 #~ msgid "SAMPLE FORMAT"
-#~ msgstr "FORMATO DE AMOSTRA"
+#~ msgstr "Formato de amostra"
 
 #~ msgid "SAMPLE ENDIANNESS"
-#~ msgstr "REPRESENTAÇÃO BINÁRIA"
+#~ msgstr "Representação binária"
 
 #~ msgid "SAMPLE RATE"
-#~ msgstr "FREQUÊNCIA DE AMOSTRAGEM"
+#~ msgstr "Frequência de amostragem"
 
 #~ msgid "CONVERSION QUALITY"
-#~ msgstr "QUALIDADE DE CONVERSÃO"
+#~ msgstr "Qualidade de conversão"
 
 #~ msgid "DITHER TYPE"
-#~ msgstr "TIPO DE EXTRAPOLAÇÃO"
+#~ msgstr "Tipo de extrapolação"
 
-#, fuzzy
 #~ msgid "EXPORT CD MARKER FILE ONLY"
-#~ msgstr "TIPO DE FICHEIRO MARCADORES CD"
+#~ msgstr "Tipo de ficheiro marcadores CD"
 
 #~ msgid "EXPORT TO FILE"
-#~ msgstr "EXPORTAR PARA FICHEIRO"
+#~ msgstr "Exportar para ficheiro"
 
 #~ msgid "ardour: unplugged"
 #~ msgstr "ardour: desligado"
@@ -6303,7 +5928,7 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgstr "ignorar"
 
 #~ msgid "Name for plugin settings:"
-#~ msgstr "Nome para efeito/plug-in:"
+#~ msgstr "Nome para configuração de efeito/plug-in:"
 
 #~ msgid "Authors"
 #~ msgstr "Autores"
@@ -6340,7 +5965,7 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgstr "Seleccionar modo de salto ou de rolamento"
 
 #~ msgid "Image Compositor"
-#~ msgstr "Compositor de Imagem"
+#~ msgstr "Compositor de imagem"
 
 #~ msgid "Audio Library"
 #~ msgstr "Audioteca"
@@ -6349,25 +5974,22 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgstr "VUímetro"
 
 #~ msgid "Input Connections"
-#~ msgstr "Ligações de Entrada"
+#~ msgstr "Ligações de entrada"
 
 #~ msgid "Output Connections"
-#~ msgstr "Ligações de Saída"
+#~ msgstr "Ligações de saída"
 
-#, fuzzy
 #~ msgid "New Input"
-#~ msgstr "nova entrada"
+#~ msgstr "Nova entrada"
 
-#, fuzzy
 #~ msgid "New Output"
-#~ msgstr "nova saída"
+#~ msgstr "Nova saída"
 
-#, fuzzy
 #~ msgid "Add Port"
-#~ msgstr "acrescentar porta"
+#~ msgstr "Acrescentar porto"
 
 #~ msgid "Available Ports"
-#~ msgstr "Portas Disponíveis"
+#~ msgstr "Portos disponíveis"
 
 #~ msgid "ardour: connections"
 #~ msgstr "ardour: ligações"
@@ -6375,12 +5997,11 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgid "in %d"
 #~ msgstr "em %d"
 
-#, fuzzy
 #~ msgid "crossfade editor"
-#~ msgstr "alterar evanescimento"
+#~ msgstr "alterar desvanescimento cruzado"
 
 #~ msgid "Regions/name"
-#~ msgstr "Regiões"
+#~ msgstr "Nome/regiões"
 
 #~ msgid ""
 #~ "editor\n"
@@ -6402,12 +6023,11 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgstr "Intercalar audio (ligar)"
 
 #~ msgid "Cancel cleanup"
-#~ msgstr "Cancelar eliminação"
+#~ msgstr "Cancelar limpeza"
 
 #~ msgid "Name for new edit group"
 #~ msgstr "Nome para o novo grupo de edição"
 
-#, fuzzy
 #~ msgid "Import selected as tracks"
 #~ msgstr "Importar selecção"
 
@@ -6419,9 +6039,8 @@ msgstr "Já existe uma faixa com este nome"
 #~ "Não é possível intercalar um ficheiro audio sem que haja uma sessão "
 #~ "carregada"
 
-#, fuzzy
 #~ msgid "Insert selected as new tracks"
-#~ msgstr "seleccionar visualização de faixa"
+#~ msgstr "Inserir faxas seleccionadas como novas"
 
 #~ msgid "Insert selected"
 #~ msgstr "Inserir selecção"
@@ -6454,7 +6073,7 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgstr "Regiões/sistema de ficheiros"
 
 #~ msgid "Show All AbstractTracks"
-#~ msgstr "Mostar todas as faixas abstractas"
+#~ msgstr "Mostrar todas as faixas abstractas"
 
 #~ msgid "Hide All AbstractTracks"
 #~ msgstr "Esconder todas as faixas abstractas"
@@ -6472,10 +6091,10 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgstr "combinação mal formada - ignorada"
 
 #~ msgid "ardour: soundfile selector"
-#~ msgstr "ardor: selecção de ficheiro audio"
+#~ msgstr "ardour: selecção de ficheiro audio"
 
 #~ msgid "Add to Library..."
-#~ msgstr "Acrescentar à Audioteca..."
+#~ msgstr "Acrescentar à audioteca..."
 
 #~ msgid "Remove..."
 #~ msgstr "Remover..."
@@ -6484,10 +6103,10 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgstr "Procurar..."
 
 #~ msgid "Add Folder"
-#~ msgstr "Acrescentar Directório/Pasta"
+#~ msgstr "Acrescentar directório"
 
 #~ msgid "Add audio file or directory"
-#~ msgstr "Acrescentar ficheiro ou directório/pasta"
+#~ msgstr "Acrescentar ficheiro ou directório"
 
 #~ msgid "Importing"
 #~ msgstr "Em importação"
@@ -6496,7 +6115,7 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgstr "%1 não foram acrescentados"
 
 #~ msgid "Folder name:"
-#~ msgstr "Nome do directório/pasta:"
+#~ msgstr "Nome do directório:"
 
 #~ msgid "Should not be reached"
 #~ msgstr "Não deve ser alcançada"
@@ -6598,9 +6217,8 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgid "Narrow mixer strips"
 #~ msgstr "Estreitar painéis de mistura"
 
-#, fuzzy
 #~ msgid "MIDI parameter control"
-#~ msgstr "Receber controlo de parametros MIDI"
+#~ msgstr "Controlo de parametros MIDI"
 
 #~ msgid "Debug keyboard events"
 #~ msgstr "Depurar eventos programáticos de teclado"
@@ -6612,13 +6230,13 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgstr "Visualização"
 
 #~ msgid "Broadcast WAVE/floating point"
-#~ msgstr "WAVE/vírgula flutuante (Broadcast)"
+#~ msgstr "WAVE/vírgula flutuante (difusão)"
 
 #~ msgid "WAVE/floating point"
 #~ msgstr "WAVE/vírgula flutuante"
 
 #~ msgid "Native Format"
-#~ msgstr "Formato Nativo"
+#~ msgstr "Formato nativo"
 
 #~ msgid "--unknown--"
 #~ msgstr "--desconhecido--"
@@ -6635,21 +6253,17 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgid "outs"
 #~ msgstr "saídas"
 
-#, fuzzy
 #~ msgid "Select all"
 #~ msgstr "Seleccionar tudo"
 
-#, fuzzy
 #~ msgid "Inserts"
-#~ msgstr "Inverter"
+#~ msgstr "Inverte"
 
-#, fuzzy
 #~ msgid "Sends"
-#~ msgstr "Segundos"
+#~ msgstr "Envios"
 
-#, fuzzy
 #~ msgid "Select all ..."
-#~ msgstr "Seleccionar tudo"
+#~ msgstr "Seleccionar tudo..."
 
 #~ msgid "Pre Redirects"
 #~ msgstr "Pré-encaminhamentos"
@@ -6658,7 +6272,7 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgstr "Pós-encaminhamentos"
 
 #~ msgid "Seamless Looping"
-#~ msgstr "Ciclos Imperceptíveis"
+#~ msgstr "Ciclos imperceptíveis"
 
 #~ msgid "Recieve MMC"
 #~ msgstr "Receber MMC"
@@ -6670,10 +6284,10 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgstr "Rastrear saídas MIDI"
 
 #~ msgid "MTC Port"
-#~ msgstr "Porta MTC"
+#~ msgstr "Porto MTC"
 
 #~ msgid "MIDI Param Port"
-#~ msgstr "Porta Parameterização MIDI"
+#~ msgstr "Porto parameterização MIDI"
 
 #~ msgid "attempt to timestretch a non-audio track!"
 #~ msgstr "tentativa de alongamento temporal duma faixa não-audio"
@@ -6702,9 +6316,8 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgid "Edit fade"
 #~ msgstr "Editar desvanecimento"
 
-#, fuzzy
 #~ msgid "Bounce region"
-#~ msgstr "Rebater selecção"
+#~ msgstr "Regravar região"
 
 #~ msgid "clear connections"
 #~ msgstr "apagar ligações"
@@ -6713,7 +6326,7 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgstr "acrescentar comentários/notas aqui"
 
 #~ msgid "Crossfades in use"
-#~ msgstr "Desvanecimentos cruzados automáticos em utilização"
+#~ msgstr "Desvanecimentos cruzados em uso"
 
 #~ msgid "outside this computer"
 #~ msgstr "fora deste computador"
@@ -6722,4 +6335,4 @@ msgstr "Já existe uma faixa com este nome"
 #~ msgstr "dentro deste computador"
 
 #~ msgid "Recorded audio is generated"
-#~ msgstr "Gravação audio é gerada"
+#~ msgstr "Gravação audio gerada"
index cc567f3fb9ed08735d5c6af2bd447b322155625d..2bf641b0890cac1f5bf8478bad7d1d9a43d9e55c 100644 (file)
@@ -1350,6 +1350,10 @@ msgstr "Stoppa insticksprogram vid stopp"
 msgid "Verify remove last capture"
 msgstr "Bekräfta borttagning av senaste inspelade ljudet"
 
+#: gtk2_ardour/ardour_ui_ed.cc:405
+msgid "Make periodic safety backups"
+msgstr "Gör periodiska säkerhetskopior"
+
 #: ../ardour_ui_ed.cc:411
 msgid "Stop recording on xrun"
 msgstr "Stanna inspelning vid xrun-förekomst"
index d0ad08e602c91146d716a0b76cc7656677655ad3..342a6505d8ddef14607d871fdc84e7ab5012bd73 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_point_selection_h__
 #define __ardour_gtk_point_selection_h__
 
index 36d51d97a17f8df2ad917c3b79316ff6d0e8db08..d4cfa1fb1f4cfe5055c2843f2a8ad9a4614753a6 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include "public_editor.h"
 #include "editor.h"
 
index 4b282b2f14d77c9d3a2db56b78efaf92247d6c5c..d201669be0300da5a1994b7afc3b68d8acae3a0e 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __gtk_ardour_public_editor_h__
 #define __gtk_ardour_public_editor_h__
 
index 9c5670b8da3516ce1088e6845a3129de5b046d8b..7ba81121e22b292d962fb46e0f204663104c4ce3 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_redirect_automation_time_axis_h__
 #define __ardour_gtk_redirect_automation_time_axis_h__
 
index d3e616eb0bb5f9c3f6b9a5bc99f4b10b744cbc04..687ae0805d839ef3354e8f16ebaa3de433b68c9b 100644 (file)
@@ -760,15 +760,19 @@ RedirectBox::cut_redirects ()
 
        no_redirect_redisplay = true;
        for (vector<boost::shared_ptr<Redirect> >::iterator i = to_be_removed.begin(); i != to_be_removed.end(); ++i) {
+               // Do not cut inserts or sends
+               if (boost::dynamic_pointer_cast<PluginInsert>((*i)) != 0) {
+                       void* gui = (*i)->get_gui ();
                
-               void* gui = (*i)->get_gui ();
-               
-               if (gui) {
-                       static_cast<Gtk::Widget*>(gui)->hide ();
-               }
+                       if (gui) {
+                               static_cast<Gtk::Widget*>(gui)->hide ();
+                       }
                
-               if (_route->remove_redirect (*i, this)) {
-                       /* removal failed */
+                       if (_route->remove_redirect (*i, this)) {
+                               /* removal failed */
+                               _rr_selection.remove (*i);
+                       }
+               } else {
                        _rr_selection.remove (*i);
                }
 
@@ -790,10 +794,40 @@ RedirectBox::copy_redirects ()
        }
 
        for (vector<boost::shared_ptr<Redirect> >::iterator i = to_be_copied.begin(); i != to_be_copied.end(); ++i) {
-               copies.push_back (Redirect::clone (*i));
+               // Do not copy inserts or sends
+               if (boost::dynamic_pointer_cast<PluginInsert>((*i)) != 0) {
+                       copies.push_back (Redirect::clone (*i));
+               }
        }
 
        _rr_selection.set (copies);
+
+}
+
+void
+RedirectBox::delete_redirects ()
+{
+       vector<boost::shared_ptr<Redirect> > to_be_deleted;
+       
+       get_selected_redirects (to_be_deleted);
+
+       if (to_be_deleted.empty()) {
+               return;
+       }
+
+       for (vector<boost::shared_ptr<Redirect> >::iterator i = to_be_deleted.begin(); i != to_be_deleted.end(); ++i) {
+               
+               void* gui = (*i)->get_gui ();
+               
+               if (gui) {
+                       static_cast<Gtk::Widget*>(gui)->hide ();
+               }
+
+               _route->remove_redirect( *i, this);
+       }
+
+       no_redirect_redisplay = false;
+       redisplay_redirects (this);
 }
 
 gint
@@ -1161,6 +1195,10 @@ RedirectBox::register_actions ()
        ActionManager::plugin_selection_sensitive_actions.push_back(act);
        act = ActionManager::register_action (popup_act_grp, X_("copy"), _("Copy"),  sigc::ptr_fun (RedirectBox::rb_copy));
        ActionManager::plugin_selection_sensitive_actions.push_back(act);
+
+       act = ActionManager::register_action (popup_act_grp, X_("delete"), _("Delete"),  sigc::ptr_fun (RedirectBox::rb_delete));
+       ActionManager::plugin_selection_sensitive_actions.push_back(act); // ??
+
        paste_action = ActionManager::register_action (popup_act_grp, X_("paste"), _("Paste"),  sigc::ptr_fun (RedirectBox::rb_paste));
        act = ActionManager::register_action (popup_act_grp, X_("rename"), _("Rename"),  sigc::ptr_fun (RedirectBox::rb_rename));
        ActionManager::plugin_selection_sensitive_actions.push_back(act);
@@ -1231,6 +1269,16 @@ RedirectBox::rb_cut ()
        _current_redirect_box->cut_redirects ();
 }
 
+void
+RedirectBox::rb_delete ()
+{
+       if (_current_redirect_box == 0) {
+               return;
+       }
+
+       _current_redirect_box->delete_redirects ();
+}
+
 void
 RedirectBox::rb_copy ()
 {
index 7e93efee1bcfc0f361c82e828f7430f64716f4f0..cb126dc13f4be3cbb8c0b44b246a358f9dfd4f67 100644 (file)
@@ -174,6 +174,7 @@ class RedirectBox : public Gtk::HBox
        void cut_redirects ();
        void copy_redirects ();
        void paste_redirects ();
+       void delete_redirects ();
        void clear_redirects ();
        void clone_redirects ();
        void rename_redirects ();
@@ -207,6 +208,7 @@ class RedirectBox : public Gtk::HBox
        static void rb_cut ();
        static void rb_copy ();
        static void rb_paste ();
+       static void rb_delete ();
        static void rb_rename ();
        static void rb_select_all ();
        static void rb_deselect_all ();
index 5bcd77cfe47a3ab01603a502d05353097eae3bb2..d5f28cb30124df6be9d25c8540a444cf6d55aa12 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_redirect_selection_h__
 #define __ardour_gtk_redirect_selection_h__
 
index b5ac5711638ff7faa95d9255afce9ccc3975fcdf..0d72afefe91aa4cbb45aa47df3d432012e119eb8 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <ardour/curve.h>
 #include <ardour/audioregion.h>
 #include <pbd/memento_command.h>
index 86a1f0873344669182d38cd445562845476f0c61..ffe6a075d761475a3ff01746aa9bf285233a2b47 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_region_gain_line_h__
 #define __ardour_gtk_region_gain_line_h__
 
index 8d5673a2eff4289d828eb280ed684b7e3740a4a2..311641b4aeb1f578175a4a6839e3a33572e61f43 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_route_selection_h__
 #define __ardour_gtk_route_selection_h__
 
index 9769037461519266f85ea8b7a781ee095bb604a2..f14aa53e71d9b4c2ce0b14ad7d4938dca342b119 100644 (file)
@@ -1772,3 +1772,10 @@ RouteTimeAxisView::reset_redirect_automation_curves ()
        }
 }
 
+void
+RouteTimeAxisView::update_rec_display ()
+{
+       RouteUI::update_rec_display ();
+       name_entry.set_sensitive (!_route->record_enabled());
+}
+               
index a72bc5a2cf6866b91b0a15e84d14f83432785a28..cf522df7895736673f319bf88fc634c6b2a1c697 100644 (file)
@@ -159,6 +159,8 @@ protected:
        void route_name_changed (void *);
        void name_entry_changed ();
 
+       void update_rec_display ();
+
        virtual void label_view ();
        
        void add_edit_group_menu_item (ARDOUR::RouteGroup *, Gtk::RadioMenuItem::Group*);
index 465daf8ff3a0e5cff016b2111d013ad0a87f8d2e..2de7a5b0253e8339c00b30634046bed05d4718f7 100644 (file)
@@ -145,7 +145,7 @@ class RouteUI : public virtual AxisView
        void disconnect_input ();
        void disconnect_output ();
 
-       void update_rec_display ();
+       virtual void update_rec_display ();
        void update_mute_display ();
 
        bool was_solo_safe;
index 31a7febab00ac6fc7587771d8eac7812f9d4a103..59a624ea06c1362b51bd9bffb728390607747b45 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 // -*- c++ -*-
 #ifndef _LIBGNOMECANVASMM_SIMPLELINE_P_H
 #define _LIBGNOMECANVASMM_SIMPLELINE_P_H
index 2fde064a33037b6e0d56633fa965756a800136c4..ed30fb9ce670452c145e09ee35baa5f09f7ce701 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 // -*- c++ -*-
 #ifndef _LIBGNOMECANVASMM_SIMPLERECT_P_H
 #define _LIBGNOMECANVASMM_SIMPLERECT_P_H
index 04b5269ab0179905179ed7140ca2533ae03ba631..2a5c13a2240164043e7fec5cf39e102b814d6a89 100644 (file)
@@ -111,16 +111,16 @@ StreamView::set_height (gdouble h)
                return -1;
        }
 
+       if (canvas_rect->property_y2() == h) {
+               return 0;
+       }
+
        canvas_rect->property_y2() = h;
 
        for (RegionViewList::iterator i = region_views.begin(); i != region_views.end(); ++i) {
                (*i)->set_height (h);
        }
 
-       /*for (CrossfadeViewList::iterator i = crossfade_views.begin(); i != crossfade_views.end(); ++i) {
-               (*i)->set_height (h);
-       }*/
-
        for (vector<RecBoxInfo>::iterator i = rec_rects.begin(); i != rec_rects.end(); ++i) {
                RecBoxInfo &recbox = (*i);
                recbox.rectangle->property_y2() = h - 1.0;
index 5204873c7aaf1e59429933a470098104b637860f..466101851d03fe1301309f2c677b13b83a60b053 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_strip_selection_h__
 #define __ardour_gtk_strip_selection_h__
 
index 4dae10814979c4d820cdc0fdfb2246938168a11b..d69acf7ef1c43fea000ad5b8836bdbfc9f62582b 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <cstdio> // for snprintf, grrr 
 
 #include <gtkmm/stock.h>
index 09a91dd3e301e3bb29c5a8229cee07e5f5897912..b9f6a16b24e8aea7f9752d971412383fea18f606 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_tempo_dialog_h__
 #define __ardour_gtk_tempo_dialog_h__
 
index 25be634ec16a9ce4d29f5f4af035f9d755bf0c28..30a17ef3cb0fe8ab89123c1b44150b97c38c41a8 100644 (file)
@@ -221,6 +221,9 @@ TimeAxisView::show_at (double y, int& nth, VBox *parent)
        order = nth;
        _hidden = false;
        
+       /* height in pixels depends on _order, so update it now we've changed _order */
+       set_height (height_style);
+       
        effective_height = height;
 
        /* now show children */
index 37daaf9eccd1045ffc2ab9338768a94748b3e026..7830e8f437208363baf5a4510fd80342575a387b 100644 (file)
@@ -18,6 +18,7 @@
 */
 
 #include <pbd/error.h>
+#include <pbd/stacktrace.h>
 
 #include <ardour/types.h>
 #include <ardour/ardour.h>
@@ -571,7 +572,7 @@ TimeAxisViewItem::set_name_text(const ustring& new_name)
  * @param h the new height
  */            
 void
-TimeAxisViewItem::set_height(double height)
+TimeAxisViewItem::set_height (double height)
 {
        if (name_highlight) {
                if (height < NAME_HIGHLIGHT_THRESH) {
@@ -975,8 +976,7 @@ TimeAxisViewItem::reset_name_width (double pixel_width)
        }
 
        if (n == 0) {
-               /* nothing will fit */
-               name_text->hide ();
+               name_text->property_text() = "";
                last_name_text_width = pixel_width;
                return;
        } 
index 54a8844ce02273d206f64a5f09faedc4e8fb3fdc..1783e160468076f4054793b847be17ded3099e97 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_time_selection_h__
 #define __ardour_gtk_time_selection_h__
 
index 0c92ea40c298c448bce4e46c7f841c25b5fbe3e8..53f59e67cf98393a1e6ce18b288beb5bdc5dfa28 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_track_selection_h__
 #define __ardour_gtk_track_selection_h__
 
index 7015d1ff200977b4689e9ca04de1ea57bf2ef05b..941e036e5e9d3d87ead38cc74566b64f47daa9d5 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 // -*- c++ -*-
 #ifndef _LIBGNOMECANVASMM_WAVEVIEW_P_H
 #define _LIBGNOMECANVASMM_WAVEVIEW_P_H
index 81e282ff64fcc1a6527a330fa54c468cf17c8a4c..fa149672be2920c1d5a1f6008e4fef01726332cb 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_configuration_variable_h__
 #define __ardour_configuration_variable_h__
 
index 4f0bae1208444198817a50a4af666e1656b807b4..395732e72701b47bad9b24080883136bd5bd255d 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 /* IO connection */
 
 CONFIG_VARIABLE (AutoConnectOption, output_auto_connect, "output-auto-connect", AutoConnectOption (0))
@@ -118,6 +137,8 @@ CONFIG_VARIABLE (bool, use_vst, "use-vst", true)
 CONFIG_VARIABLE (uint32_t, subframes_per_frame, "subframes-per-frame", 100)
 CONFIG_VARIABLE (uint32_t, saved_history_depth, "save-history-depth", 100)
 CONFIG_VARIABLE (bool, use_overlap_equivalency, "use-overlap-equivalency", false)
+CONFIG_VARIABLE (bool, periodic_safety_backups, "periodic-safety-backups", true)
+CONFIG_VARIABLE (uint32_t, periodic_safety_backup_interval, "periodic-safety-backup-interval", 120)
 
 /* BWAV */
 
index 39e4803637416c818f9d636efff64725898494d9..73d9b215795f5efa40b969fe96c0c21e85e8ef74 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef ardour_control_protocol_manager_h
 #define ardour_control_protocol_manager_h
 
index 66e5b1b7d55ac216a24355f817198b4125039372..bf1297d3cb991b935573271a80707e7bef804427 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_export_h__
 #define __ardour_export_h__
 
index b06b02399b99b16df66dd9f1e36dc20e471f2c58..f775fcce36a79d50f5c0e7d85175d0e2219d0ebd 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef NOISE_H
 #define NOISE_H
 
index 2c8abe7cf44c0479388502faf56f51856291f3eb..eaeafe0f5d43b44d1e82adde7cba83224ed77d6d 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_peak_h__
 #define __ardour_peak_h__
 
index dcf9ab62d633effe7214ea7d9a851e043a4bedab..be7c290a8c3a84e2ff98556519f83e19a31c6911 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_playlist_factory_h__
 #define __ardour_playlist_factory_h__
 
index b4d2e5e99dcd86443a99c6491e37161be79cbd66..bce723d85725029d5c07a6004d71eaeaa12c31d7 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_plugin_manager_h__
 #define __ardour_plugin_manager_h__
 
index 2ee47d39eaab3270607afd59ee09c6724b7217d4..33474479154c42681fb28e48d106c4a1177345e1 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_profile_h__
 #define __ardour_profile_h__
 
index f1f5d1e69fc180513db8ba55ca5747ebaf4b2331..197983a29d6caf12efa89be9ae06de624c088582 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_region_factory_h__
 #define __ardour_region_factory_h__
 
index 250d3744dfae6b327dec5706a357b383d3e1d1ce..9e04c46d0e07587bc3fe9f795498438279f3032e 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_route_group_specialized_h__
 #define __ardour_route_group_specialized_h__
 
index 7f88f0624f851e7baffc9206345ac6de2a0d70a7..92e4fdade2958ef8a9a734aeff205e594d9f9e45 100644 (file)
@@ -38,7 +38,7 @@ class Send : public Redirect
        Send (Session&, Placement);
        Send (Session&, const XMLNode&);
        Send (const Send&);
-       ~Send ();
+       virtual ~Send ();
 
        uint32_t bit_slot() const { return bitslot; }
        
index a14daa448525c0964a3f2eefcf4924b4533d63f3..70a9d7c96f91cd08fd9801a8676e86c06e6eef01 100644 (file)
@@ -323,6 +323,8 @@ class Session : public PBD::StatefulDestructible
        void disable_record (bool rt_context, bool force = false);
        void step_back_from_record ();
        
+       void maybe_write_autosave ();
+
        /* Proxy signal for region hidden changes */
 
        sigc::signal<void,boost::shared_ptr<Region> > RegionHiddenChange;
@@ -1609,6 +1611,7 @@ class Session : public PBD::StatefulDestructible
 
        void jack_timebase_callback (jack_transport_state_t, nframes_t, jack_position_t*, int);
        int  jack_sync_callback (jack_transport_state_t, jack_position_t*);
+       void reset_jack_connection (jack_client_t* jack);
        void record_enable_change_all (bool yn);
 
        XMLNode& state(bool);
index 9217d4cb4115d09aad356c0f766096ee5dfd3ec1..66868f6d181e2cfac606ea0466d00fb095da385c 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_session_region_h__
 #define __ardour_session_region_h__
 
index 170facb1debd76e97d29cb08518a6e2382f656a5..73b66ca20e530eef9585c09565bfac2c7774c414 100644 (file)
@@ -138,6 +138,7 @@ class JACK_Slave : public Slave
        bool ok() const;
        nframes_t resolution() const { return 1; }
        bool requires_seekahead () const { return false; }
+       void reset_client (jack_client_t* jack);
 
   private:
        jack_client_t* jack;
index b5cdeb0a7e8652aed39ffab4c7f02e8ede9ea6c6..26a93ad1249493137b9cec97cb9d8df10804ce8f 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __sndfile_helpers_h__
 #define __sndfile_helpers_h__
 
index cc3863904ac3b6983b0ec51eb8bc3e336af788a1..c979a575cfc055e44084252b46c4f7efdafbfefd 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_source_factory_h__
 #define __ardour_source_factory_h__
 
index 4ebc28b2f9c228f847b64c92ff22eb4d08f252ba..a0aeeae13d740b1959eb20fe635fae2a9b8d2202 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_timestamps_h__
 #define __ardour_timestamps_h__
 
index 48085d4922985c58115231ac1680dc8f253b5626..b372c14b57d2b5927a877f003d8649dcefccd063 100644 (file)
@@ -610,7 +610,16 @@ AudioDiskstream::process (nframes_t transport_frame, nframes_t nframes, nframes_
 
        if (nominally_recording || rec_nframes) {
 
-               for (n = 0, chan = c->begin(); chan != c->end(); ++chan, ++n) {
+               uint32_t limit = _io->n_inputs ();
+
+               /* one or more ports could already have been removed from _io, but our
+                  channel setup hasn't yet been updated. prevent us from trying to
+                  use channels that correspond to missing ports. note that the
+                  process callback (from which this is called) is always atomic
+                  with respect to port removal/addition.
+               */
+
+               for (n = 0, chan = c->begin(); chan != c->end() && n < limit; ++chan, ++n) {
                        
                        ChannelInfo* chaninfo (*chan);
 
index 501482c8400d75b7923b5174ff0d25aea295791e..1a7405dbd3daad7563aff415d040c4c93277ad5b 100644 (file)
@@ -30,6 +30,7 @@
 #include <ardour/crossfade.h>
 #include <ardour/crossfade_compare.h>
 #include <ardour/session.h>
+#include <pbd/enumwriter.h>
 
 #include "i18n.h"
 
@@ -381,6 +382,7 @@ AudioPlaylist::check_dependents (boost::shared_ptr<Region> r, bool norefresh)
                }
 
 
+
                OverlapType c = top->coverage (bottom->position(), bottom->last_frame());
 
                try {
@@ -411,7 +413,7 @@ AudioPlaylist::check_dependents (boost::shared_ptr<Region> r, bool norefresh)
                                
                                xfade = boost::shared_ptr<Crossfade> (new Crossfade (top, bottom, xfade_length, top->first_frame(), StartOfIn));
                                add_crossfade (xfade);
-                               
+
                                if (top_region_at (top->last_frame() - 1) == top) {
                                        /* 
                                           only add a fade out if there is no region on top of the end of 'top' (which 
index 51251e1cba9243843906afef243008cccf30a230..bb91625583fe5bf055e6c2061d3fac4ef8669a8e 100644 (file)
@@ -1133,6 +1133,7 @@ AudioEngine::reconnect_to_jack ()
 
 
        if (session) {
+               session->reset_jack_connection (_jack);
                nframes_t blocksize = jack_get_buffer_size (_jack);
                session->set_block_size (blocksize);
                session->set_frame_rate (jack_get_sample_rate (_jack));
index 2e3116ba1758c85e10e8677985b67cba4dab1624..c6e96cfac80067a689ff39ae0afcf8a03ccdc998 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <stdint.h>
 
 template<class AutomatedObject>
index 899790dddc75f8156d0f908791b98ed66cafeadc..c79aa74698fc9c56383053106270a607303aed38 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <dlfcn.h>
 
 #include <pbd/compose.h>
@@ -78,6 +97,7 @@ ControlProtocolManager::drop_session ()
                for (list<ControlProtocolInfo*>::iterator p = control_protocol_info.begin(); p != control_protocol_info.end(); ++p) {
                        // otherwise the ControlProtocol instances are not recreated in set_session
                        (*p)->requested = true;
+                       (*p)->protocol = 0;
                }
        }
 }
index eae6c7cc52de58b86709f205d3e7361d53b1e2fa..c217b76422698e0592674284db687cbc396ae4f9 100644 (file)
@@ -550,7 +550,7 @@ Crossfade::compute (boost::shared_ptr<AudioRegion> a, boost::shared_ptr<AudioReg
 
                        _in = bottom;
                        _out = top;
-                       _anchor_point = StartOfIn;
+                       _anchor_point = EndOfOut;
 
                        if (model == FullCrossfade) {
                                _position = bottom->first_frame(); // "{"
index 4220adf7eb2242d9453e58cee85b82685adaa4ba..345fbe771dbe8b4daaae55003d4da98243bd7ddf 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <pbd/enumwriter.h>
 
 #include <ardour/types.h>
index a06e295a099f1a2ed734f6d28ebf1f956d1e36f8..f65be1deead78051fff8ee0697643a7f76058805 100644 (file)
@@ -44,6 +44,12 @@ JACK_Slave::~JACK_Slave ()
 {
 }
 
+void
+JACK_Slave::reset_client (jack_client_t* j)
+{
+       jack = j;
+}
+
 bool
 JACK_Slave::locked() const
 {
index a86a3e9014d2da79aca68ab43c4341f166cdc386..3b4aaae8873efe4c7a5136860f8c4e821b461122 100644 (file)
@@ -137,6 +137,7 @@ MTC_Slave::update_mtc_time (const byte *msg, bool was_full)
                current.guard2++;        
                
                session.request_locate (mtc_frame, false);       
+               session.request_transport_speed (0);
                update_mtc_status (MIDI::Parser::MTC_Stopped);   
 
                reset ();
@@ -271,6 +272,7 @@ MTC_Slave::speed_and_position (float& speed, nframes_t& pos)
                mtc_speed = 0;
                pos = last.position;
                session.request_locate (pos, false);
+               session.request_transport_speed (0);
                update_mtc_status (MIDI::Parser::MTC_Stopped);
                reset();
                return false;
index 5d8adef7d0be6c25e412e8d78af595bfdd2de3fc..9ddd3e7188179c57c4d6d170c332ca9ac5435f22 100644 (file)
@@ -1,79 +1,65 @@
-# Σχολιαστικός Τίτλος.
-# Πνευματικά Δικαιώματα (C) YEAR Paul Davis
-# Το παρόν αρχείο διανέμεται υπό της ιδίας αδείας με του PACKAGE πακέτου.
-# ΠΡΩΤΟΣ ΔΗΜΙΟΥΡΓΟΣ <muadib@in.gr>, 2004.
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Paul Davis
+# This file is distributed under the same license as the PACKAGE package.
+# Klearchos Gourgourinis <muadib@in.gr>, 2004.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: libardour 0.664.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-06-29 21:03-0400\n"
-"PO-Revision-Date: 2003-05-21 12:50+0500\n"
-"Last-Translator: Muadibas\n"
+"POT-Creation-Date: 2003-06-29 21:03+0200\n"
+"PO-Revision-Date: 2007-04-16 00:38+0200\n"
+"Last-Translator: Klearchos Gourgourinis <muadib@in.gr>\n"
 "Language-Team: Hellenic(Greek)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 #: libs/ardour/audio_diskstream.cc:337
-#, fuzzy
 msgid "AudioDiskstream: Session doesn't know about a Playlist called \"%1\""
-msgstr ""
-"DiskStream: Η Συνεδρία δεν γνωρίζει για την λίστα Αναπαρ/γής με όνομα \"%1\""
+msgstr "AudioDiskStream: Η Συνεδρία δεν γνωρίζει για λίστα Αναπαρ/γής με όνομα \"%1\""
 
 #: libs/ardour/audio_diskstream.cc:342
-#, fuzzy
 msgid "AudioDiskstream: Playlist \"%1\" isn't an audio playlist"
-msgstr "DiskStream: Η Λίστα \"%1\" δεν είναι ηχητική λίστα αναπαρ/γής"
+msgstr "AudioDiskStream: Η Λίστα \"%1\" δεν είναι ηχητική λίστα αναπαρ/γής"
 
 #: libs/ardour/audio_diskstream.cc:433
-#, fuzzy
 msgid "AudioDiskstream %1: there is no existing playlist to make a copy of!"
-msgstr "DiskStream %1: δεν υπάρχει λίστα αναπαρ/γής για να γίνει αντιγραφή!"
+msgstr "AudioDiskstream %1: δεν υπάρχει λίστα αναπαρ/γής για να γίνει αντιγραφή!"
 
-#: libs/ardour/audio_diskstream.cc:1114 libs/ardour/audio_diskstream.cc:1125
-#, fuzzy
-msgid ""
-"AudioDiskstream %1: when refilling, cannot read %2 from playlist at frame %3"
-msgstr ""
-"DiskStream %1: κατα την αναγόμωση, δεν μπόρεσα να διαβάσω %2 από τη λίστα "
-"αναπαρ/γής στο frame %3"
+#: libs/ardour/audio_diskstream.cc:1114
+#: libs/ardour/audio_diskstream.cc:1125
+msgid "AudioDiskstream %1: when refilling, cannot read %2 from playlist at frame %3"
+msgstr "AudioDiskstream %1: κατα την αναγόμωση, δεν μπόρεσα να διαβάσω %2 από τη λίστα αναπαρ/γής στο frame %3"
 
 #: libs/ardour/audio_diskstream.cc:1254
-#, fuzzy
 msgid "AudioDiskstream %1: cannot read %2 from playlist at frame %3"
-msgstr ""
-"DiskStream %1: δεν μπόρεσα να διαβάσω %2 από τη λίστα αναπαρ/γής στο frame %3"
+msgstr "AudioDiskstream %1: δεν μπόρεσα να διαβάσω %2 από τη λίστα αναπαρ/γής στο frame %3"
 
-#: libs/ardour/audio_diskstream.cc:1621 libs/ardour/audio_diskstream.cc:1638
-#, fuzzy
+#: libs/ardour/audio_diskstream.cc:1621
+#: libs/ardour/audio_diskstream.cc:1638
 msgid "AudioDiskstream %1: cannot write to disk"
-msgstr "DiskStream %1: δεν μπορώ να γράψω στο δίσκο"
+msgstr "AudioDiskstream %1: δεν μπορώ να γράψω στο δίσκο"
 
 #: libs/ardour/audio_diskstream.cc:1698
-#, fuzzy
 msgid "AudioDiskstream \"%1\": cannot flush captured data to disk!"
-msgstr ""
-"DiskStream \"%1\": δεν γίνεται να απορριφθούν δειγματοληψίες στο δίσκο!"
+msgstr "AudioDiskstream \"%1\": αδύνατη η εκκαθάριση δειγματοληπτικών δεδομένων στο δίσκο!"
 
 #: libs/ardour/audio_diskstream.cc:1796
 msgid "%1: could not create region for complete audio file"
 msgstr "%1: δεν μπόρεσα να δημιουργήσω περιοχή για ολόκληρο audio file"
 
 #: libs/ardour/audio_diskstream.cc:1819
-#, fuzzy
 msgid "AudioDiskstream: could not create region for captured audio!"
-msgstr "DiskStream: δεν μπόρεσα να δημιουργήσω περιοχή για δειγματοληψίες!"
+msgstr "AudioDiskstream: δεν μπόρεσα να δημιουργήσω περιοχή για δειγματοληψίες!"
 
 #: libs/ardour/audio_diskstream.cc:1874
-#, fuzzy
 msgid "programmer error: %1"
-msgstr "σφάλμα προγραμματισμού: %1"
+msgstr "σφάλμα προγραμματιστή: %1"
 
 #: libs/ardour/audio_diskstream.cc:2146
-#, fuzzy
 msgid "AudioDiskstream: channel %1 out of range"
-msgstr "DiskStream: κανάλι εκτός διαστήματος"
+msgstr "AudioDiskstream: κανάλι %1 εκτός διαστήματος"
 
 #: libs/ardour/audio_diskstream.cc:2171
 msgid "%1:%2 new capture file not initialized correctly"
@@ -84,68 +70,66 @@ msgid "Location \"%1\" not valid for track loop (start >= end)"
 msgstr "Η Τοποθεσία \"%1\" δεν είναι ικανή για track loop (αρχή >= τέλος)"
 
 #: libs/ardour/audio_diskstream.cc:2485
-#, fuzzy
 msgid "%1: cannot restore pending capture source file %2"
-msgstr "Εισαγωγή: δεν μπορώ να ανοίξω το εισαγμένο αρχείο ήχου \"%1\""
+msgstr "%1: δεν μπορώ να ανοίξω το αρχείο %2 από την απαιτούμενη πηγή"
 
 #: libs/ardour/audio_diskstream.cc:2507
 msgid "%1: incorrect number of pending sources listed - ignoring them all"
-msgstr ""
+msgstr "%1: ετυπώθη λανθασμένος αριθμός απαιτούμενων πηγών - αγνοήθηκαν όλες"
 
 #: libs/ardour/audio_diskstream.cc:2523
 msgid "%1: cannot create whole-file region from pending capture sources"
-msgstr ""
+msgstr "%1: αδύνατη η δημιουργία ακέραιας περιοχής από τις απαιτούμενες πηγές ηχοληψίας"
 
 #: libs/ardour/audio_diskstream.cc:2535
-#, fuzzy
 msgid "%1: cannot create region from pending capture sources"
-msgstr "%1: δεν μπόρεσα να δημιουργήσω περιοχή για ολόκληρο audio file"
+msgstr "%1: δεν μπόρεσα να δημιουργήσω περιοχή για τις απαιτούμενες πηγές"
 
 #: libs/ardour/audio_library.cc:92
 msgid "channels"
-msgstr ""
+msgstr "κανάλια"
 
 #: libs/ardour/audio_library.cc:93
-#, fuzzy
 msgid "samplerate"
-msgstr "ξεχωριστό"
+msgstr ""
 
 #: libs/ardour/audio_library.cc:94
 msgid "resolution"
-msgstr ""
+msgstr "ανάλυση"
 
 #: libs/ardour/audio_library.cc:95
-#, fuzzy
 msgid "format"
-msgstr "float"
+msgstr ""
 
 #: libs/ardour/audio_library.cc:102
 msgid "Could not open %1.  Audio Library not saved"
 msgstr "Δεν μπόρεσα να ανοίξω το %1.  Η Audio Library δεν αποθηκεύθηκε"
 
-#: libs/ardour/audio_playlist.cc:53 libs/ardour/audio_playlist.cc:63
-#: libs/ardour/audio_playlist.cc:74 libs/ardour/audio_playlist.cc:121
-#: libs/ardour/insert.cc:76 libs/ardour/insert.cc:95 libs/ardour/insert.cc:120
-#: libs/ardour/insert.cc:838 libs/ardour/insert.cc:846 libs/ardour/send.cc:39
-#: libs/ardour/send.cc:53 libs/ardour/send.cc:62
-#: libs/ardour/session_state.cc:1621 libs/ardour/session_state.cc:1667
+#: libs/ardour/audio_playlist.cc:53
+#: libs/ardour/audio_playlist.cc:63
+#: libs/ardour/audio_playlist.cc:74
+#: libs/ardour/audio_playlist.cc:121
+#: libs/ardour/insert.cc:76
+#: libs/ardour/insert.cc:95
+#: libs/ardour/insert.cc:120
+#: libs/ardour/insert.cc:838
+#: libs/ardour/insert.cc:846
+#: libs/ardour/send.cc:39
+#: libs/ardour/send.cc:53
+#: libs/ardour/send.cc:62
+#: libs/ardour/session_state.cc:1621
+#: libs/ardour/session_state.cc:1667
 msgid "initial state"
 msgstr "πρωταρχική κατάσταση"
 
-#: libs/ardour/audio_playlist.cc:275 libs/ardour/audio_playlist.cc:769
-msgid ""
-"programming error: non-audio Region passed to remove_overlap in audio "
-"playlist"
-msgstr ""
-"σφάλμα προγραμματισμού: μη-ηχητική Περιοχή πέρασε σε remove_overlap στην "
-"audio playlist"
+#: libs/ardour/audio_playlist.cc:275
+#: libs/ardour/audio_playlist.cc:769
+msgid "programming error: non-audio Region passed to remove_overlap in audio playlist"
+msgstr "σφάλμα προγραμματισμού: μη-ηχητική Περιοχή πέρασε σε remove_overlap στην audio playlist"
 
 #: libs/ardour/audio_playlist.cc:402
-msgid ""
-"programming error: non-audio Region tested for overlap in audio playlist"
-msgstr ""
-"σφάλμα προγραμματισμού: μη-ηχητική Περιοχή ελέγχθη για υπερπήδηση(overlap) "
-"στην λίστα αναπαρ/γής του ήχου"
+msgid "programming error: non-audio Region tested for overlap in audio playlist"
+msgstr "σφάλμα προγραμματισμού: μη-ηχητική Περιοχή ελέγχθη για υπερπήδηση(overlap) στην λίστα αναπαρ/γής του ήχου"
 
 #: libs/ardour/audio_playlist.cc:878
 msgid "xfade change"
@@ -155,48 +139,47 @@ msgstr "αλλαγή xfade"
 msgid "region modified"
 msgstr "η περιοχή μετεβλήθη"
 
-#: libs/ardour/audio_track.cc:125 libs/ardour/io.cc:1716
+#: libs/ardour/audio_track.cc:125
+#: libs/ardour/io.cc:1716
 #: libs/ardour/io.cc:1826
 msgid "Unknown connection \"%1\" listed for input of %2"
 msgstr "Άγνωστη σύνδεση \"%1\" στη λίστα εισόδου του %2"
 
-#: libs/ardour/audio_track.cc:127 libs/ardour/io.cc:1718
+#: libs/ardour/audio_track.cc:127
+#: libs/ardour/io.cc:1718
 #: libs/ardour/io.cc:1828
-#, fuzzy
 msgid "in 1"
-msgstr "in %lu"
+msgstr ""
 
-#: libs/ardour/audio_track.cc:128 libs/ardour/io.cc:1719
+#: libs/ardour/audio_track.cc:128
+#: libs/ardour/io.cc:1719
 #: libs/ardour/io.cc:1829
 msgid "No input connections available as a replacement"
-msgstr ""
+msgstr "Καμία διαθέσιμη input σύνδεση ως εναλλακτική"
 
-#: libs/ardour/audio_track.cc:132 libs/ardour/io.cc:1723
+#: libs/ardour/audio_track.cc:132
+#: libs/ardour/io.cc:1723
 #: libs/ardour/io.cc:1833
 msgid "Connection %1 was not available - \"in 1\" used instead"
-msgstr ""
+msgstr "Η Σύνδεση %1 δεν ήταν διαθέσιμη - Αντ'αυτής χρησιμοποιήθηκε η \"in 1\"  "
 
-#: libs/ardour/audio_track.cc:141 libs/ardour/io.cc:1842
+#: libs/ardour/audio_track.cc:141
+#: libs/ardour/io.cc:1842
 msgid "improper input channel list in XML node (%1)"
 msgstr "ακατάλληλη λίστα καναλιών εισόδου στον κόμβο XML (%1)"
 
-#: libs/ardour/audio_track.cc:186 libs/ardour/audio_track.cc:199
+#: libs/ardour/audio_track.cc:186
+#: libs/ardour/audio_track.cc:199
 msgid "AudioTrack: diskstream \"%1\" not known by session"
 msgstr "AudioTrack: το diskstream \"%1\" είναι μή αναγνωρίσιμο από τη συνεδρία"
 
 #: libs/ardour/audio_track.cc:297
-#, fuzzy
-msgid ""
-"MIDI rec_enable control specification for %1 is incomplete, so it has been "
-"ignored"
-msgstr ""
-"Η προδιαγραφή ελέγχου του MIDI gain για το %1 είναι ημιτελής, με αποτέλεσμα "
-"να αγνοηθεί"
+msgid "MIDI rec_enable control specification for %1 is incomplete, so it has been ignored"
+msgstr "Η προδιαγραφή ελέγχου του MIDI rec_enable για το %1 είναι ημιτελής, με αποτέλεσμα να αγνοηθεί"
 
 #: libs/ardour/audio_track.cc:309
 msgid "programming error: AudioTrack given state without diskstream!"
-msgstr ""
-"σφάλμα προγραμματισμού: εδόθη κατάσταση στην AudioTrack δίχως diskstream!"
+msgstr "σφάλμα προγραμματισμού: εδόθη κατάσταση στην AudioTrack δίχως diskstream!"
 
 #: libs/ardour/audioengine.cc:144
 msgid "cannot activate JACK client"
@@ -216,9 +199,10 @@ msgstr "η σύνδεση εκλήθη πριν να εκκινηθεί η engin
 
 #: libs/ardour/audioengine.cc:503
 msgid "AudioEngine: cannot connect %1 (%2) to %3 (%4)"
-msgstr ""
+msgstr "AudioEngine: αδύνατη η σύνδεση %1 (%2) σε %3 (%4)"
 
-#: libs/ardour/audioengine.cc:516 libs/ardour/audioengine.cc:545
+#: libs/ardour/audioengine.cc:516
+#: libs/ardour/audioengine.cc:545
 msgid "disconnect called before engine was started"
 msgstr "η αποσύνδεση εκλήθη πριν να εκκινηθεί η engine"
 
@@ -235,9 +219,8 @@ msgid "get_nth_physical called before engine was started"
 msgstr "η ρουτίνα get_nth_physical εκλήθη πριν να εκκινηθεί η engine"
 
 #: libs/ardour/audioengine.cc:739
-#, fuzzy
 msgid "get_port_total_latency() called with no JACK client connection"
-msgstr "η ρουτίνα get_port_total_latency() εκλήθη ��ριν να εκκινηθεί η engine"
+msgstr "η ρουτίνα get_port_total_latency() εκλήθη ��ωρίς την εκκίνηση κάποιου JACK client"
 
 #: libs/ardour/audioengine.cc:745
 msgid "get_port_total_latency() called before engine was started"
@@ -245,43 +228,44 @@ msgstr "η ρουτίνα get_port_total_latency() εκλήθη πριν να ε
 
 #: libs/ardour/audioengine.cc:869
 msgid "Unable to connect to JACK server"
-msgstr ""
+msgstr "Αδύνατη η σύνδεση στον JACK server"
 
 #: libs/ardour/audioengine.cc:872
 msgid "Could not connect to JACK server as  \"%1\""
-msgstr ""
+msgstr "Αδύνατη η σύνδεση στον JACK server ως  \"%1\""
 
 #: libs/ardour/audioengine.cc:877
 msgid "JACK server started"
-msgstr ""
+msgstr "Έναρξη JACK server"
 
 #: libs/ardour/audioengine.cc:911
 msgid "cannot shutdown connection to JACK"
-msgstr ""
+msgstr "Αδύνατος ο τερματισμός συνδέσεως με τον JACK"
 
 #: libs/ardour/audioengine.cc:936
 msgid "failed to connect to JACK"
-msgstr ""
+msgstr "Αποτυχία συνδέσεως με τον JACK"
 
 #: libs/ardour/audioengine.cc:952
-#, fuzzy
 msgid "could not reregister %1"
-msgstr "��φάλμα: δεν μπόρεσα να γράψω %1"
+msgstr "��δύνατη η επανακαταγραφή %1"
 
 #: libs/ardour/audioengine.cc:1009
 msgid "could not reconnect %1 and %2 (err = %3)"
-msgstr ""
+msgstr "Αδύνατη η επανασύνδεση %1 και %2 (err = %3)"
 
-#: libs/ardour/audiofilesource.cc:444 libs/ardour/session_state.cc:3095
-msgid ""
-"there are already 1000 files with names like %1; versioning discontinued"
+#: libs/ardour/audiofilesource.cc:444
+#: libs/ardour/session_state.cc:3095
+msgid "there are already 1000 files with names like %1; versioning discontinued"
 msgstr "Υπάρχουν ήδη 1000 αρχεία με ονόματα όπως %1; μη-συνεχές versioning"
 
-#: libs/ardour/audiofilesource.cc:458 libs/ardour/session_state.cc:3109
+#: libs/ardour/audiofilesource.cc:458
+#: libs/ardour/session_state.cc:3109
 msgid "cannot rename audio file source from %1 to %2 (%3)"
 msgstr "δεν μπορώ να μετονομάσω την πηγή του audio file από %1 σε %2 (%3)"
 
-#: libs/ardour/audiofilesource.cc:465 libs/ardour/session_state.cc:3124
+#: libs/ardour/audiofilesource.cc:465
+#: libs/ardour/session_state.cc:3124
 msgid "cannot remove peakfile %1 for %2 (%3)"
 msgstr "δεν μπορώ να απαλοίψω το peakfile %1 για %2 (%3)"
 
@@ -298,9 +282,8 @@ msgstr ""
 "\t"
 
 #: libs/ardour/audiofilesource.cc:539
-#, fuzzy
 msgid "Filesource: cannot find required file (%1): while searching %2"
-msgstr "Filesource: δεν ευρέθη το απαιτούμενο αρχείο (%1): %2"
+msgstr "Filesource: δεν ευρέθη το απαιτούμενο αρχείο (%1): κατά την αναζήτηση του %2"
 
 #: libs/ardour/audiofilesource.cc:562
 msgid "Filesource: cannot find required file (%1): %2"
@@ -310,30 +293,28 @@ msgstr "Filesource: δεν ευρέθη το απαιτούμενο αρχείο
 msgid "Filesource: cannot check for existing file (%1): %2"
 msgstr "Filesource: δεν μπορώ να ελέγξω για το υπάρχον αρχείο (%1): %2"
 
-#: libs/ardour/audiofilesource.cc:636 libs/ardour/insert.cc:525
+#: libs/ardour/audiofilesource.cc:636
+#: libs/ardour/insert.cc:525
 #: libs/ardour/sndfilesource.cc:113
 msgid "programming error: %1"
 msgstr "σφάλμα προγραμματισμού: %1"
 
 #: libs/ardour/audiofilesource.cc:641
-#, fuzzy
 msgid "cannot rename audio file for %1 to %2"
-msgstr "δεν μπορώ να μετονομάσω τ��ν πηγή του audio file από %1 σε %2 (%3)"
+msgstr "δεν μπορώ να μετονομάσω τ�� audio file για το %1 σε %2"
 
 #: libs/ardour/audiofilter.cc:45
 msgid "audiofilter: error creating name for new audio file based on %1"
-msgstr ""
-"audiofilter: σφάλμα στη δημιουργία ονόματος για νέο audio file βασισμένο σε %"
-"1"
+msgstr "audiofilter: σφάλμα στη δημιουργία ονόματος για νέο audio file βασισμένο σε %1"
 
 #: libs/ardour/audiofilter.cc:58
 msgid "audiofilter: error creating new audio file %1 (%2)"
 msgstr "audiofilter: σφάλμα στη δημιουργία νέου audio file %1 (%2)"
 
-#: libs/ardour/audioregion.cc:857 libs/ardour/audioregion.cc:919
-#, fuzzy
+#: libs/ardour/audioregion.cc:857
+#: libs/ardour/audioregion.cc:919
 msgid "fade in change"
-msgstr "αλλαγή xfade"
+msgstr "αλλαγή fade in"
 
 #: libs/ardour/audioregion.cc:1349
 #, c-format
@@ -341,78 +322,69 @@ msgid "normalized to %.2fdB"
 msgstr "εξομαλύνθηκε στα %.2fdB"
 
 #: libs/ardour/audioregion.cc:1367
-#, fuzzy
 msgid "envelope change"
-msgstr "αλλαγή ενεργού"
+msgstr "αλλαγή envelope"
 
 #: libs/ardour/audiosource.cc:143
 msgid "poll on peak request pipe failed (%1)"
 msgstr ""
 
 #: libs/ardour/audiosource.cc:150
-#, fuzzy
 msgid "Error on peak thread request pipe"
-msgstr "Σφάλμα στο transport thread request pipe"
+msgstr "Σφάλμα στο peak thread request pipe"
 
 #: libs/ardour/audiosource.cc:183
-#, fuzzy
 msgid "Error reading from peak request pipe"
-msgstr "Σφάλμα στην ανάγνωση από transport request pipe"
+msgstr "Σφάλμα στην ανάγνωση από peak request pipe"
 
-#: libs/ardour/audiosource.cc:215 libs/ardour/session_butler.cc:80
+#: libs/ardour/audiosource.cc:215
+#: libs/ardour/session_butler.cc:80
 #: libs/ardour/session_midi.cc:1183
 msgid "Cannot create transport request signal pipe (%1)"
 msgstr "Δεν μπορώ να δημιουργήσω transport request signal pipe (%1)"
 
-#: libs/ardour/audiosource.cc:220 libs/ardour/audiosource.cc:225
-#, fuzzy
+#: libs/ardour/audiosource.cc:220
+#: libs/ardour/audiosource.cc:225
 msgid "UI: cannot set O_NONBLOCK on peak request pipe (%1)"
-msgstr "UI: δεν μπορώ να θέσω O_NONBLOCK στο signal read pipe (%1)"
+msgstr "UI: δεν μπορώ να θέσω O_NONBLOCK στο peak read pipe (%1)"
 
 #: libs/ardour/audiosource.cc:230
-#, fuzzy
 msgid "AudioSource: could not create peak thread"
-msgstr "Source: δεν μπόρεσα να δημιουργήσω peak δέσμη"
+msgstr "AudioSource: δεν μπόρεσα να δημιουργήσω peak thread"
 
 #: libs/ardour/audiosource.cc:308
-#, fuzzy
 msgid "cannot rename peakfile for %1 from %2 to %3 (%4)"
-msgstr "��εν μπορώ να απαλοίψω το peakfile %1 για %2 (%3)"
+msgstr "��δύνατη η μετονομασία του peakfile για %1 από %2 σε %3 (%4)"
 
 #: libs/ardour/audiosource.cc:350
-#, fuzzy
 msgid "AudioSource: cannot stat peakfile \"%1\""
-msgstr "Source: δεν μπορώ να μετρήσω το αυτοστιγμεί peakfile \"%1\""
+msgstr ""
 
 #: libs/ardour/audiosource.cc:451
 msgid "cannot read sample data for unscaled peak computation"
-msgstr ""
-"δεν μπορώ να διαβάσω δεδομένα δείγματος για υπολογισμό μη-κλιμακώτου peak"
+msgstr "δεν μπορώ να διαβάσω δεδομένα δείγματος για υπολογισμό μη-κλιμακώτου peak"
 
-#: libs/ardour/audiosource.cc:472 libs/ardour/audiosource.cc:543
-#: libs/ardour/audiosource.cc:787 libs/ardour/audiosource.cc:878
-#, fuzzy
+#: libs/ardour/audiosource.cc:472
+#: libs/ardour/audiosource.cc:543
+#: libs/ardour/audiosource.cc:787
+#: libs/ardour/audiosource.cc:878
 msgid "AudioSource: cannot open peakpath \"%1\" (%2)"
-msgstr "Source: δεν μπορώ να ανοίξω το peakpath \"%1\" (%2)"
+msgstr "AudioSource: δεν μπορώ να ανοίξω το peakpath \"%1\" (%2)"
 
 #: libs/ardour/audiosource.cc:644
-#, fuzzy
 msgid "AudioSource[%1]: peak read - cannot read %2 samples at offset %3"
-msgstr ""
-"Source[%1]: ανάγνωση peak - δεν μπορώ να διαβάσω %2 δείγματα στην αρχή"
-"(offset) %3"
+msgstr "AudioSource[%1]: ανάγνωση peak - δεν μπορώ να διαβάσω %2 δείγματα στο (offset) %3"
 
 #: libs/ardour/audiosource.cc:798
 msgid "%1: could not write read raw data for peak computation (%2)"
-msgstr ""
-"%1: δεν μπορεσα να γράψω ανεγνωσμένα raw δεδομένα για τον υπολογισμό του "
-"peak (%2)"
+msgstr "%1: δεν μπορεσα να γράψω ανεγνωσμένα raw δεδομένα για τον υπολογισμό του peak (%2)"
 
 #: libs/ardour/audiosource.cc:823
 msgid "%1: could not write peak file data (%2)"
 msgstr "%1: δεν μπόρεσα να γράψω δεδομένα του αρχείου peak (%2)"
 
-#: libs/ardour/automation_event.cc:65 libs/ardour/location.cc:345
+#: libs/ardour/automation_event.cc:65
+#: libs/ardour/location.cc:345
 #: libs/ardour/tempo.cc:226
 msgid "initial"
 msgstr "πρωταρχικό"
@@ -433,7 +405,8 @@ msgstr "συμβάν απαλοίφθηκε"
 msgid "removed multiple events"
 msgstr "πολλαπλά συμβάντα απαλοίφθηκαν"
 
-#: libs/ardour/automation_event.cc:467 libs/ardour/automation_event.cc:498
+#: libs/ardour/automation_event.cc:467
+#: libs/ardour/automation_event.cc:498
 msgid "removed range"
 msgstr "διάστημα απαλοίφθηκε"
 
@@ -445,7 +418,8 @@ msgstr "διάστημα συμβάντων ρυθμίστηκε"
 msgid "event adjusted"
 msgstr "συμβάν ρυθμίστηκε"
 
-#: libs/ardour/automation_event.cc:665 libs/ardour/automation_event.cc:770
+#: libs/ardour/automation_event.cc:665
+#: libs/ardour/automation_event.cc:770
 #: libs/ardour/panner.cc:1041
 msgid "programming error:"
 msgstr "σφάλμα προγραμματισμού:"
@@ -458,58 +432,46 @@ msgstr "κοπή/αντιγραφή/εκκαθάριση"
 msgid "copy"
 msgstr "αντιγραφή"
 
-#: libs/ardour/automation_event.cc:1180 libs/ardour/playlist.cc:939
+#: libs/ardour/automation_event.cc:1180
+#: libs/ardour/playlist.cc:939
 msgid "paste"
 msgstr "επικόλληση"
 
 #: libs/ardour/automation_event.cc:1235
-msgid ""
-"automation list: no x-coordinate stored for control point (point ignored)"
-msgstr ""
-"λίστα αυτοματισμού: καμία x-συντεταγμένη αποθηκευμένη για σημείο ελέγχου (το "
-"σημείο αγνοήθηκε)"
+msgid "automation list: no x-coordinate stored for control point (point ignored)"
+msgstr "λίστα αυτοματισμού: καμία x-συντεταγμένη αποθηκευμένη για σημείο ελέγχου (το σημείο αγνοήθηκε)"
 
 #: libs/ardour/automation_event.cc:1241
-msgid ""
-"automation list: no y-coordinate stored for control point (point ignored)"
-msgstr ""
-"λίστα αυτοματισμού: καμία y-συντεταγμένη αποθηκευμένη για σημείο ελέγχου (το "
-"σημείο αγνοήθηκε)"
+msgid "automation list: no y-coordinate stored for control point (point ignored)"
+msgstr "λίστα αυτοματισμού: καμία y-συντεταγμένη αποθηκευμένη για σημείο ελέγχου (το σημείο αγνοήθηκε)"
 
 #: libs/ardour/configuration.cc:80
-#, fuzzy
 msgid "loading system configuration file %1"
-msgstr ""
-"Ardour: δεν μπορώ να διαβάσω το αρχείο διαρρυθμίσεως του συστήματος \"%1\""
+msgstr "Ανάκληση αρχείου ρυθμίσεων συστήματος %1"
 
 #: libs/ardour/configuration.cc:83
 msgid "Ardour: cannot read system configuration file \"%1\""
-msgstr ""
-"Ardour: δεν μπορώ να διαβάσω το αρχείο διαρρυθμίσεως του συστήματος \"%1\""
+msgstr "Ardour: δεν μπορώ να διαβάσω το αρχείο διαρρυθμίσεως του συστήματος \"%1\""
 
 #: libs/ardour/configuration.cc:88
 msgid "Ardour: system configuration file \"%1\" not loaded successfully."
-msgstr ""
-"Ardour: το αρχείο διαρρυθμίσεως του συστήματος \"%1\" δεν φορτώθηκε επιτυχώς."
+msgstr "Ardour: το αρχείο διαρρυθμίσεως του συστήματος \"%1\" δεν φορτώθηκε επιτυχώς."
 
 #: libs/ardour/configuration.cc:105
-#, fuzzy
 msgid "loading user configuration file %1"
-msgstr "Ardour: αρχείο διαρρυθμίσεως μή αναγνώσιμο \"%1\""
+msgstr "Ανάκληση αρχείου ρυθμίσεων χρήστη %1"
 
 #: libs/ardour/configuration.cc:108
 msgid "Ardour: cannot read configuration file \"%1\""
 msgstr "Ardour: αρχείο διαρρυθμίσεως μή αναγνώσιμο \"%1\""
 
 #: libs/ardour/configuration.cc:113
-#, fuzzy
 msgid "Ardour: user configuration file \"%1\" not loaded successfully."
-msgstr "Ardour: αρχείο διαρρυθμίσεως \"%1\" δεν φορτώθηκε επιτυχώς."
+msgstr "Ardour: αρχείο ρυθμίσεων χρήστη \"%1\" δεν φορτώθηκε επιτυχώς."
 
 #: libs/ardour/configuration.cc:137
-#, fuzzy
 msgid "Config file %1 not saved"
-msgstr "Αρχείο διαρρυθμίσεως δεν αποθηκεύθηκε"
+msgstr "Αρχείο ρυθμίσεων %1 δεν αποθηκεύθηκε"
 
 #: libs/ardour/configuration.cc:210
 msgid "ill-formed MIDI port specification in ardour rcfile (ignored)"
@@ -523,76 +485,72 @@ msgstr "Κόμβος προς Σύνδεση δεν έχει \"όνομα\" ιδ
 msgid "Node for Connection has no \"connections\" property"
 msgstr "Κόμβος προς Σύνδεση δεν έχει \"συνδέσεις\" ιδιότητα"
 
-#: libs/ardour/connection.cc:227 libs/ardour/io.cc:1902
+#: libs/ardour/connection.cc:227
+#: libs/ardour/io.cc:1902
 msgid "IO: badly formed string in XML node for inputs \"%1\""
 msgstr "IO: κακοφτιαγμένη γραμμή στον XML κόμβο για εισόδους \"%1\""
 
-#: libs/ardour/connection.cc:232 libs/ardour/io.cc:1907
+#: libs/ardour/connection.cc:232
+#: libs/ardour/io.cc:1907
 msgid "bad input string in XML node \"%1\""
 msgstr "κακή γραμμή εισόδου στον XML κόμβο \"%1\""
 
 #: libs/ardour/control_protocol_manager.cc:80
 msgid "control protocol name \"%1\" has no descriptor"
-msgstr ""
+msgstr "Το όνομα πρωτοκόλλου ελέγχου \"%1\" δεν έχει descriptor"
 
 #: libs/ardour/control_protocol_manager.cc:85
 msgid "control protocol name \"%1\" could not be initialized"
-msgstr ""
+msgstr "Το όνομα πρωτοκόλλου ελέγχου \"%1\" ήταν αδύνατο να αρχίσει"
 
 #: libs/ardour/control_protocol_manager.cc:141
 msgid "Instantiating mandatory control protocol %1"
 msgstr ""
 
 #: libs/ardour/control_protocol_manager.cc:175
-#, fuzzy
 msgid "Control protocol %1 not usable"
-msgstr "��ωρίς έλεγχο MMC (θύρα MIDI \"%1\" μη διαθέσιμη)"
+msgstr "��ρωτόκολλο ελέγχου %1 μη χρησιμοποιήσιμο"
 
 #: libs/ardour/control_protocol_manager.cc:187
 msgid "Control surface protocol discovered: \"%1\""
 msgstr ""
 
 #: libs/ardour/control_protocol_manager.cc:205
-#, fuzzy
 msgid "ControlProtocolManager: cannot load module \"%1\" (%2)"
-msgstr "LADSPA: δεν μπορώ να φορτώσω το module \"%1\" (%2)"
+msgstr "ControlProtocolManager: δεν μπορώ να φορτώσω το module \"%1\" (%2)"
 
 #: libs/ardour/control_protocol_manager.cc:213
-#, fuzzy
 msgid "ControlProtocolManager: module \"%1\" has no descriptor function."
-msgstr "LADSPA: το module \"%1\" δεν έχει λειτουργία περιγραφής."
+msgstr "ControlProtocolManager: το module \"%1\" δεν έχει descriptor function."
 
 #: libs/ardour/crossfade.cc:121
-#, fuzzy
 msgid "Crossfade: no \"in\" region in state"
-msgstr "Crossfade: χωρίς \"δεξιά\" περιοχή στην κατάσταση"
+msgstr "Crossfade: χωρίς \"in\" περιοχή σε κατάσταση"
 
 #: libs/ardour/crossfade.cc:128
-#, fuzzy
 msgid "Crossfade: no \"in\" region %1 found in playlist %2"
-msgstr "Crossfade: δεξιά περιοχή  %1 δεν ευρέθη στη λίστα αναπαρ/γής %2"
+msgstr "Crossfade: no \"in\" περιοχή  %1 δεν ευρέθη στη λίστα αναπαρ/γής %2"
 
 #: libs/ardour/crossfade.cc:138
-#, fuzzy
 msgid "Crossfade: no \"out\" region in state"
-msgstr "Crossfade: χωρίς \"αριστερή\" περιοχή στην κατάσταση"
+msgstr "Crossfade: χωρίς \"out\" περιοχή σε κατάσταση"
 
 #: libs/ardour/crossfade.cc:145
-#, fuzzy
 msgid "Crossfade: no \"out\" region %1 found in playlist %2"
-msgstr "Crossfade: αριστερή περιοχή  %1 δεν ευρέθη στη λίστα αναπαρ/γής %2"
+msgstr "Crossfade: no \"out\" περιοχή  %1 δεν ευρέθη στη λίστα αναπαρ/γής %2"
 
 #: libs/ardour/crossfade.cc:492
 msgid "active changed"
 msgstr "αλλαγή ενεργού"
 
 #: libs/ardour/crossfade.cc:741
-#, fuzzy
 msgid "old-style crossfade information - no position information"
-msgstr "Ο κόμβος XML για την Τοποθεσία δεν έχει πληροφορίες ενάρξεως"
+msgstr "παλαιού-τύπου crossfade πληροφορία - καμία πληροφορία θέσεως"
 
-#: libs/ardour/curve.cc:112 libs/ardour/globals.cc:340
-#: libs/ardour/insert.cc:454 libs/ardour/session.cc:2466
+#: libs/ardour/curve.cc:112
+#: libs/ardour/globals.cc:340
+#: libs/ardour/insert.cc:454
+#: libs/ardour/session.cc:2466
 #: libs/ardour/session.cc:2518
 msgid "programming error: "
 msgstr "σφάλμα προγραμματισμού: "
@@ -611,14 +569,13 @@ msgstr "δεν ευρέθη το cpu MHz στο /proc/cpuinfo"
 
 #: libs/ardour/destructive_filesource.cc:188
 msgid "DestructiveFileSource: \"%1\" bad read retval: %2 of %5 (%3: %4)"
-msgstr ""
+msgstr "ΚαταστρεπτικήΠηγήΑρχείου: \"%1\" κακή ανάγνωση retval: %2 of %5 (%3: %4)"
 
 #: libs/ardour/destructive_filesource.cc:201
 #: libs/ardour/destructive_filesource.cc:243
 #: libs/ardour/destructive_filesource.cc:250
-#, fuzzy
 msgid "DestructiveFileSource: \"%1\" bad write (%2)"
-msgstr "FileSource: \"%1\" κακή εγγραφή (%2)"
+msgstr "DestructiveFileSource: \"%1\" κακή εγγραφή (%2)"
 
 #: libs/ardour/globals.cc:109
 msgid "no MIDI ports specified: no MMC or MTC control possible"
@@ -628,7 +585,8 @@ msgstr "καμία MIDI θύρα δεν επελέχθη: έλεγχος MMC ή
 msgid "MIDI port specifications for \"%1\" are not understandable."
 msgstr "Οι προδιαγραφές της θύρας MIDI για το \"%1\" δεν είναι κατανοητές."
 
-#: libs/ardour/globals.cc:137 libs/ardour/globals.cc:141
+#: libs/ardour/globals.cc:137
+#: libs/ardour/globals.cc:141
 #: libs/ardour/globals.cc:145
 msgid "default"
 msgstr "προκαθορισμένο"
@@ -642,9 +600,8 @@ msgid "No MTC support (MIDI port \"%1\" not available)"
 msgstr "Χωρίς έλεγχο MTC (θύρα MIDI \"%1\" μη διαθέσιμη)"
 
 #: libs/ardour/globals.cc:184
-#, fuzzy
 msgid "No MIDI parameter support (MIDI port \"%1\" not available)"
-msgstr "Χωρίς έλεγχο MTC (θύρα MIDI \"%1\" μη διαθέσιμη)"
+msgstr "Χωρίς υποστήριξη MIDI παραμέτρων (θύρα MIDI \"%1\" μη διαθέσιμη)"
 
 #: libs/ardour/import.cc:75
 msgid "Import: cannot open input sound file \"%1\""
@@ -664,9 +621,7 @@ msgstr "Εισαγωγή: σφάλμα κατά την τροποποίηση α
 
 #: libs/ardour/import.cc:148
 msgid "Session::import_audiofile: cannot open new file source for channel %1"
-msgstr ""
-"Συνεδρία::εισαγωγή_αρχείου: δεν μπορώ να ανοίξω νέα πηγή αρχείου για το "
-"κανάλι %1"
+msgstr "Συνεδρία::εισαγωγή_αρχείου: δεν μπορώ να ανοίξω νέα πηγή αρχείου για το κανάλι %1"
 
 #: libs/ardour/import.cc:167
 msgid "converting audio"
@@ -692,7 +647,8 @@ msgstr "Εισαγωγή: src_new() απέτυχε : %1"
 msgid "Import: %1"
 msgstr "Εισαγωγή: %1"
 
-#: libs/ardour/insert.cc:644 libs/ardour/insert.cc:936
+#: libs/ardour/insert.cc:644
+#: libs/ardour/insert.cc:936
 msgid "XML node describing insert is missing the `type' field"
 msgstr "Στον κόμβο XML που περιγράφει το insert λείπει το πεδίο `type'"
 
@@ -712,14 +668,14 @@ msgstr ""
 "Ευρέθη μια αναφορά σε plugin (\"%1\") που είναι άγνωστο.\n"
 "Ίσως έχει διαγραφεί ή μετακινηθεί από την τελευταία του χρήση."
 
-#: libs/ardour/insert.cc:716 libs/ardour/insert.cc:953
+#: libs/ardour/insert.cc:716
+#: libs/ardour/insert.cc:953
 msgid "XML node describing insert is missing a Redirect node"
 msgstr "Στον κόμβο XML που περιγράφει το insert λείπει ένας κόμβος Redirect"
 
 #: libs/ardour/insert.cc:721
 msgid "XML node describing a plugin insert is missing the `%1' information"
-msgstr ""
-"Στον κόμβο XML που περιγράφει ένα plugin insert λείπουν οι πληροφορίες `%1' "
+msgstr "Στον κόμβο XML που περιγράφει ένα plugin insert λείπουν οι πληροφορίες `%1' "
 
 #: libs/ardour/insert.cc:745
 msgid "PluginInsert: Auto: no ladspa port number"
@@ -731,9 +687,7 @@ msgstr "PluginInsert: Auto: το id θύρας είναι εκτός πεδίο
 
 #: libs/ardour/insert.cc:768
 msgid "XML node describing a port automation is missing the `%1' information"
-msgstr ""
-"Στον κόμβο XML που περιγράφει έναν αυτοματισμό θύρας λείπουν οι πληροφορίες `"
-"%1' "
+msgstr "Στον κόμβο XML που περιγράφει έναν αυτοματισμό θύρας λείπουν οι πληροφορίες `%1' "
 
 #: libs/ardour/insert.cc:854
 msgid "PortInsert: cannot add input port"
@@ -755,40 +709,51 @@ msgstr "IO: δεν μπορει να αποσυνδεθεί η θύρα εισό
 msgid "IO: cannot disconnect output port %1 from %2"
 msgstr "IO: δεν μπορεί να αποσυνδεθεί η θύρα εξόδου %1 από %2"
 
-#: libs/ardour/io.cc:807 libs/ardour/io.cc:1151 libs/ardour/io.cc:1277
+#: libs/ardour/io.cc:807
+#: libs/ardour/io.cc:1151
+#: libs/ardour/io.cc:1277
 #, c-format
 msgid "%s/out"
 msgstr "%s/out"
 
-#: libs/ardour/io.cc:809 libs/ardour/io.cc:1153 libs/ardour/io.cc:1279
+#: libs/ardour/io.cc:809
+#: libs/ardour/io.cc:1153
+#: libs/ardour/io.cc:1279
 #: libs/ardour/io.cc:2849
 #, c-format
 msgid "%s/out %u"
 msgstr "%s/out %u"
 
-#: libs/ardour/io.cc:813 libs/ardour/io.cc:1158 libs/ardour/io.cc:1283
+#: libs/ardour/io.cc:813
+#: libs/ardour/io.cc:1158
+#: libs/ardour/io.cc:1283
 msgid "IO: cannot register output port %1"
 msgstr "IO: δεν μπορει να καταχώρηθεί η θύρα εξόδου %1"
 
-#: libs/ardour/io.cc:908 libs/ardour/io.cc:1011 libs/ardour/io.cc:1117
+#: libs/ardour/io.cc:908
+#: libs/ardour/io.cc:1011
+#: libs/ardour/io.cc:1117
 #, c-format
 msgid "%s/in"
 msgstr "%s/in"
 
-#: libs/ardour/io.cc:910 libs/ardour/io.cc:1014 libs/ardour/io.cc:1120
+#: libs/ardour/io.cc:910
+#: libs/ardour/io.cc:1014
+#: libs/ardour/io.cc:1120
 #: libs/ardour/io.cc:2819
 #, c-format
 msgid "%s/in %u"
 msgstr "%s/in %u"
 
-#: libs/ardour/io.cc:914 libs/ardour/io.cc:1020 libs/ardour/io.cc:1125
+#: libs/ardour/io.cc:914
+#: libs/ardour/io.cc:1020
+#: libs/ardour/io.cc:1125
 msgid "IO: cannot register input port %1"
 msgstr "IO: δεν μπορεί να καταχώρηθεί η θύρα εισόδου %1"
 
 #: libs/ardour/io.cc:1541
 msgid "IO::connecting_became_legal() called without a pending state node"
-msgstr ""
-"IO::connecting_became_legal() εκλήθη χωρίς κόμβο καταστάσεως εν αναμονή"
+msgstr "IO::connecting_became_legal() εκλήθη χωρίς κόμβο καταστάσεως εν αναμονή"
 
 #: libs/ardour/io.cc:1564
 msgid "IO::ports_became_legal() called without a pending state node"
@@ -799,28 +764,28 @@ msgid "incorrect XML node \"%1\" passed to IO object"
 msgstr "μη-σωστός κόμβος XML \"%1\" πέρασε στο IO αντικείμενο"
 
 #: libs/ardour/io.cc:1649
-msgid ""
-"MIDI gain control specification for %1 is incomplete, so it has been ignored"
-msgstr ""
-"Η προδιαγραφή ελέγχου του MIDI gain για το %1 είναι ημιτελής, με αποτέλεσμα "
-"να αγνοηθεί"
+msgid "MIDI gain control specification for %1 is incomplete, so it has been ignored"
+msgstr "Η προδιαγραφή ελέγχου του MIDI gain για το %1 είναι ημιτελής, με αποτέλεσμα να αγνοηθεί"
 
-#: libs/ardour/io.cc:1739 libs/ardour/io.cc:1851
+#: libs/ardour/io.cc:1739
+#: libs/ardour/io.cc:1851
 msgid "Unknown connection \"%1\" listed for output of %2"
 msgstr "Άγνωστη σύνδεση \"%1\" καταχωρήθη για την έξοδο του %2"
 
-#: libs/ardour/io.cc:1741 libs/ardour/io.cc:1853
-#, fuzzy
+#: libs/ardour/io.cc:1741
+#: libs/ardour/io.cc:1853
 msgid "out 1"
-msgstr "out %lu"
+msgstr ""
 
-#: libs/ardour/io.cc:1742 libs/ardour/io.cc:1854
+#: libs/ardour/io.cc:1742
+#: libs/ardour/io.cc:1854
 msgid "No output connections available as a replacement"
-msgstr ""
+msgstr "Καμία σύνδεση output διαθέσιμη σαν εναλλακτική"
 
-#: libs/ardour/io.cc:1746 libs/ardour/io.cc:1858
+#: libs/ardour/io.cc:1746
+#: libs/ardour/io.cc:1858
 msgid "Connection %1 was not available - \"out 1\" used instead"
-msgstr ""
+msgstr "Η σύνδεση %1 δεν ήταν διαθέσιμη - αντ'αυτής χρησιμοποιήθηκε η \"out 1\" "
 
 #: libs/ardour/io.cc:1760
 msgid "%1: cannot create I/O ports"
@@ -852,9 +817,7 @@ msgstr "δύσμορφος αριθμός εκδόσεως στο αρχείο 
 
 #: libs/ardour/io.cc:2583
 msgid "no version information in automation event file \"%1\""
-msgstr ""
-"δεν υπάρχουν πληροφορίες περί εκδόσεων στο αρχείο συμβάντων αυτοματισμού \"%1"
-"\""
+msgstr "δεν υπάρχουν πληροφορίες περί εκδόσεων στο αρχείο συμβάντων αυτοματισμού \"%1\""
 
 #: libs/ardour/io.cc:2588
 msgid "mismatched automation event file version (%1)"
@@ -862,15 +825,14 @@ msgstr "αταίριαστη έκδοση αρχείου συμβάντων αυ
 
 #: libs/ardour/io.cc:2596
 msgid "badly formatted automation event record at line %1 of %2 (ignored)"
-msgstr ""
-"κακώς φορμαρισμένη καταγραφή συμβάντων αυτοματισμού στη γραμμή %1 of %2 "
-"(αγνοήθηκε)"
+msgstr "κακώς φορμαρισμένη καταγραφή συμβάντων αυτοματισμού στη γραμμή %1 of %2 (αγνοήθηκε)"
 
 #: libs/ardour/io.cc:2616
 msgid "dubious automation event found (and ignored)"
 msgstr "αβέβαιο συμβάν αυτοματισμού ευρέθηκε (και αγνοήθηκε)"
 
-#: libs/ardour/io.cc:2620 libs/ardour/panner.cc:438
+#: libs/ardour/io.cc:2620
+#: libs/ardour/panner.cc:438
 #: libs/ardour/redirect.cc:148
 msgid "loaded from disk"
 msgstr "φορτώθηκε από το δίσκο"
@@ -889,23 +851,15 @@ msgstr "LADSPA: το plugin την 'κοπάνισε' μετά την ανακά
 
 #: libs/ardour/ladspa_plugin.cc:99
 msgid "LADSPA: \"%1\" cannot be used, since it cannot do inplace processing"
-msgstr ""
-"LADSPA: \"%1\" δεν μπορεί να χρησιμοποιηθεί, εφ'όσον δεν μπορεί να κάνει επι "
-"τόπου επεξεργασία"
+msgstr "LADSPA: \"%1\" δεν μπορεί να χρησιμοποιηθεί, εφ'όσον δεν μπορεί να κάνει επι τόπου επεξεργασία"
 
 #: libs/ardour/ladspa_plugin.cc:329
-msgid ""
-"illegal parameter number used with plugin \"%1\". This mayindicate a change "
-"in the plugin design, and presets may beinvalid"
-msgstr ""
-"παράνομος αριθμός παραμέτρου σε χρήση με το plugin \"%1\". Ίσως να "
-"ενδείκνυται αλλαγή στο σχεδιασμό του plugin, και οι ρυθμίσεις ίσως να είναι "
-"άκυρες"
+msgid "illegal parameter number used with plugin \"%1\". This mayindicate a change in the plugin design, and presets may beinvalid"
+msgstr "παράνομος αριθμός παραμέτρου σε χρήση με το plugin \"%1\". Ίσως να ενδείκνυται αλλαγή στο σχεδιασμό του plugin, και οι ρυθμίσεις ίσως να είναι άκυρες"
 
 #: libs/ardour/ladspa_plugin.cc:430
-#, fuzzy
 msgid "Bad node sent to LadspaPlugin::set_state"
-msgstr "Κακή αποστολή κόμβου εστάλη στο LadspaPlugin::set_state"
+msgstr "Κακός κόμβος εστάλη στο LadspaPlugin::set_state"
 
 #: libs/ardour/ladspa_plugin.cc:443
 msgid "LADSPA: no ladspa port number"
@@ -916,12 +870,8 @@ msgid "LADSPA: no ladspa port data"
 msgstr "LADSPA: κανένα δεδομένο θύρας ladspa"
 
 #: libs/ardour/ladspa_plugin.cc:498
-msgid ""
-"LADSPA LadspaPlugin MIDI control specification for port %1 is incomplete, so "
-"it has been ignored"
-msgstr ""
-"Ο καθορισμός ελέγχου LADSPA LadspaPlugin για MIDI για την θύρα %1 είναι "
-"ημιτελής, έτσι αγνοήθηκε."
+msgid "LADSPA LadspaPlugin MIDI control specification for port %1 is incomplete, so it has been ignored"
+msgstr "Ο καθορισμός ελέγχου LADSPA LadspaPlugin για MIDI για την θύρα %1 είναι ημιτελής, έτσι αγνοήθηκε."
 
 #: libs/ardour/location.cc:269
 msgid "incorrect XML node passed to Location::set_state"
@@ -945,11 +895,10 @@ msgstr "Ο κόμβος XML για την Τοποθεσία δεν έχει π
 
 #: libs/ardour/location.cc:391
 msgid "Locations: attempt to use unknown location as selected location"
-msgstr ""
-"Τοποθεσίες: απόπειρα να χρησιμοποιηθεί άγνωστη τοποθεσία σαν επιλεγμένη "
-"τοποθεσία"
+msgstr "Τοποθεσίες: απόπειρα να χρησιμοποιηθεί άγνωστη τοποθεσία σαν επιλεγμένη τοποθεσία"
 
-#: libs/ardour/location.cc:418 libs/ardour/playlist.cc:1187
+#: libs/ardour/location.cc:418
+#: libs/ardour/playlist.cc:1187
 msgid "clear"
 msgstr "εκκαθάριση"
 
@@ -975,8 +924,7 @@ msgstr "λανθασμένο XML mode πέρασε στις Τοποθεσίες
 
 #: libs/ardour/mtc_slave.cc:196
 msgid "MTC Slave: atomic read of current time failed, sleeping!"
-msgstr ""
-"MTC Slave: ατομική ανάγνωση του τρέχοντος χρόνου απέτυχε, πίσω για ύπνο!"
+msgstr "MTC Slave: ατομική ανάγνωση του τρέχοντος χρόνου απέτυχε, πίσω για ύπνο!"
 
 #: libs/ardour/named_selection.cc:77
 msgid "Chunk %1 uses an unknown playlist \"%2\""
@@ -987,11 +935,8 @@ msgid "Chunk %1 contains misformed playlist information"
 msgstr "Το κομμάτι %1 περιέχει δύσμορφες πληροφορίες για τη λίστα αναπαρ/γής"
 
 #: libs/ardour/panner.cc:256
-#, fuzzy
 msgid "MIDI pan control specification is incomplete, so it has been ignored"
-msgstr ""
-"Η προδιαγραφή ελέγχου του MIDI gain για το %1 είναι ημιτελής, με αποτέλεσμα "
-"να αγνοηθεί"
+msgstr "Η προδιαγραφή ελέγχου του MIDI pan είναι ημιτελής, με αποτέλεσμα να αγνοηθεί"
 
 #: libs/ardour/panner.cc:361
 msgid "automation write pass"
@@ -1003,11 +948,8 @@ msgid "error writing pan automation file (%s)"
 msgstr "σφάλμα στην εγγραφή του pan στο αρχείο αυτοματισμού (%s)"
 
 #: libs/ardour/panner.cc:429
-msgid ""
-"badly formatted pan automation event record at line %1 of %2 (ignored) [%3]"
-msgstr ""
-"δύσμορφη εγγραφή συμβάντος pan αυτοματισμού στη γραμμή %1 of %2 (αγνοήθηκε) "
-"[%3]"
+msgid "badly formatted pan automation event record at line %1 of %2 (ignored) [%3]"
+msgstr "δύσμορφη εγγραφή συμβάντος pan αυτοματισμού στη γραμμή %1 of %2 (αγνοήθηκε) [%3]"
 
 #: libs/ardour/panner.cc:944
 msgid "badly-formed positional data for Multi2dPanner - ignored"
@@ -1015,8 +957,7 @@ msgstr "δύσμορφα δεδομένα θέσεως για το Multi2dPanner
 
 #: libs/ardour/panner.cc:1237
 msgid "cannot open pan automation file \"%1\" for saving (%s)"
-msgstr ""
-"δεν μπορώ να ανοίξω αρχείο αυτοματισμού του pan \"%1\" για αποθήκευση (%s)"
+msgstr "δεν μπορώ να ανοίξω αρχείο αυτοματισμού του pan \"%1\" για αποθήκευση (%s)"
 
 #: libs/ardour/panner.cc:1273
 msgid "cannot open pan automation file %1 (%2)"
@@ -1024,15 +965,11 @@ msgstr "δεν μπορώ να ανοίξω αρχείο αυτοματισμο
 
 #: libs/ardour/panner.cc:1286
 msgid "badly formed version number in pan automation event file \"%1\""
-msgstr ""
-"δύσμορφος αριθμός εκδόσεως στο αρχείο συμβάντων αυτοματισμού του pan \"%1\""
+msgstr "δύσμορφος αριθμός εκδόσεως στο αρχείο συμβάντων αυτοματισμού του pan \"%1\""
 
 #: libs/ardour/panner.cc:1290
-msgid ""
-"no version information in pan automation event file \"%1\" (first line = %2)"
-msgstr ""
-"καμία πληροφορία εκδόσεως στο αρχείο συμβάντων αυτοματισμού του pan \"%1"
-"\" (πρώτη γραμμή = %2)"
+msgid "no version information in pan automation event file \"%1\" (first line = %2)"
+msgstr "καμία πληροφορία εκδόσεως στο αρχείο συμβάντων αυτοματισμού του pan \"%1\" (πρώτη γραμμή = %2)"
 
 #: libs/ardour/panner.cc:1296
 msgid "mismatched pan automation event file version (%1)"
@@ -1040,8 +977,7 @@ msgstr "αταίριαστη έκδοση αρχείου συμβάντων αυ
 
 #: libs/ardour/panner.cc:1310
 msgid "too many panner states found in pan automation file %1"
-msgstr ""
-"πάρα πολλές καταστάσεις panner ευρέθησαν στο αρχείο των αυτοματισμών pan %1"
+msgstr "πάρα πολλές καταστάσεις panner ευρέθησαν στο αρχείο των αυτοματισμών pan %1"
 
 #: libs/ardour/panner.cc:1451
 msgid "Unknown panner plugin \"%1\" found in pan state - ignored"
@@ -1089,36 +1025,31 @@ msgstr "διαχωρισμός"
 
 #: libs/ardour/playlist.cc:1100
 msgid "%1: bounds changed received for region (%2)not in playlist"
-msgstr ""
-"%1: τα αλλαγμένα όρια που ελήφθησαν για την περιοχή (%2)δεν είναι στη λίστα "
-"αναπαρ/γής"
+msgstr "%1: τα αλλαγμένα όρια που ελήφθησαν για την περιοχή (%2)δεν είναι στη λίστα αναπαρ/γής"
 
 #: libs/ardour/playlist.cc:1361
-#, fuzzy
 msgid "Playlist: cannot create region from state file"
-msgstr "Playlist: ��εν μπορώ να δημιουργήσω Περιοχή από αρχείο καταστάσεως"
+msgstr "Playlist: ��δύνατη η δημιουργία Περιοχής από αρχείο καταστάσεως"
 
 #: libs/ardour/playlist.cc:1721
 msgid "nudged"
 msgstr "νυχθέν"
 
-#: libs/ardour/playlist_factory.cc:49 libs/ardour/playlist_factory.cc:64
-msgid ""
-"programming error: Playlist::createRegion called with unknown Region type"
-msgstr ""
-"σφάλμα προγραμματισμού: Playlist::createRegion εκλήθη με άγνωστο τύπο Πε"
+#: libs/ardour/playlist_factory.cc:49
+#: libs/ardour/playlist_factory.cc:64
+msgid "programming error: Playlist::createRegion called with unknown Region type"
+msgstr "σφάλμα προγραμματισμού: Playlist::createRegion εκλήθη με άγνωστο τύπο Πε"
 
 #: libs/ardour/playlist_factory.cc:86
-msgid ""
-"programming error: Playlist::copyPlaylist called with unknown Playlist type"
-msgstr ""
-"σφάλμα προγραμματισμού: Playlist::copyPlaylist με άγνωστο τύπο Playlist"
+msgid "programming error: Playlist::copyPlaylist called with unknown Playlist type"
+msgstr "σφάλμα προγραμματισμού: Playlist::copyPlaylist με άγνωστο τύπο Playlist"
 
 #: libs/ardour/plugin.cc:328
 msgid "Could not locate HOME.  Preset not saved."
 msgstr "Δεν μπόρεσα να βρώ το HOME.  Προ-ρύθμιση δεν αποθηκεύθηκε."
 
-#: libs/ardour/plugin.cc:338 libs/ardour/plugin.cc:344
+#: libs/ardour/plugin.cc:338
+#: libs/ardour/plugin.cc:344
 msgid "Could not create %1.  Preset not saved. (%2)"
 msgstr "Δεν μπόρεσα να δημιουργήσω το %1.  Προ-ρύθμιση δεν αποθηκεύθηκε. (%2)"
 
@@ -1144,7 +1075,7 @@ msgstr "VST: δεν μπορώ να φορτώσω module από \"%1\""
 
 #: libs/ardour/plugin_manager.cc:302
 msgid "You asked ardour to not use any VST plugins"
-msgstr ""
+msgstr "Ζητήσατε απ'το Ardour να μή χρησιμοποιήσει VST plugins"
 
 #: libs/ardour/plugin_manager.cc:305
 msgid "This version of ardour has no support for VST plugins"
@@ -1154,17 +1085,14 @@ msgstr "Η παρούσα έκδοση του ardour δεν υποστηρίζε
 msgid "LADSPA: cannot load module from \"%1\""
 msgstr "LADSPA: δεν μπορώ να φορτώσω module από \"%1\""
 
-#: libs/ardour/plugin_manager.cc:374 libs/ardour/plugin_manager.cc:386
+#: libs/ardour/plugin_manager.cc:374
+#: libs/ardour/plugin_manager.cc:386
 msgid "Unknown"
 msgstr "Άγνωστο"
 
 #: libs/ardour/plugin_manager.cc:464
-msgid ""
-"VST plugin %1 does not support processReplacing, and so cannot be used in "
-"ardour at this time"
-msgstr ""
-"Το VST plugin %1 δεν υποστηρίζει processReplacing, και έτσι δεν μπορεί να "
-"χρησιμοποιηθεί στον ardour αυτή τη φορά"
+msgid "VST plugin %1 does not support processReplacing, and so cannot be used in ardour at this time"
+msgstr "Το VST plugin %1 δεν υποστηρίζει processReplacing, και έτσι δεν μπορεί να χρησιμοποιηθεί στον ardour αυτή τη φορά"
 
 #: libs/ardour/recent_sessions.cc:44
 msgid "cannot open recent session file %1 (%2)"
@@ -1174,11 +1102,13 @@ msgstr "δεν μπορώ να ανοίξω το πρόσφατο αρχείο 
 msgid "programming error: unknown Redirect type in Redirect::Clone!\n"
 msgstr "σφάλμα προγραμματισμού: άγνωστος τύπος Redirect στο Redirect::Clone!\n"
 
-#: libs/ardour/redirect.cc:102 libs/ardour/utils.cc:203
+#: libs/ardour/redirect.cc:102
+#: libs/ardour/utils.cc:203
 msgid "pre"
 msgstr "pre"
 
-#: libs/ardour/redirect.cc:104 libs/ardour/utils.cc:206
+#: libs/ardour/redirect.cc:104
+#: libs/ardour/utils.cc:206
 msgid "post"
 msgstr "post"
 
@@ -1198,15 +1128,14 @@ msgstr "%1: δεν μπορούν να ανακληθούν δεδομένα α
 msgid "%1: cannot open %2 to store automation data (%3)"
 msgstr "%1: δεν μπορώ να ανοίξω %2 για αποθήκευση δεδομένων αυτοματισμού (%3)"
 
-#: libs/ardour/redirect.cc:194 libs/ardour/redirect.cc:201
+#: libs/ardour/redirect.cc:194
+#: libs/ardour/redirect.cc:201
 msgid "%1: could not save automation state to %2"
 msgstr "%1: δεν μπόρεσα να αποθηκεύσω την κατάσταση αυτοματισμού στο %2"
 
 #: libs/ardour/redirect.cc:246
 msgid "Could not get state from Redirect (%1).  Problem with save_automation"
-msgstr ""
-"Δεν μπόρεσα να πάρω κατάσταση από το Redirect (%1).  Πρόβλημα με την "
-"αποθήκευση_αυτοματισμού"
+msgstr "Δεν μπόρεσα να πάρω κατάσταση από το Redirect (%1).  Πρόβλημα με την αποθήκευση_αυτοματισμού"
 
 #: libs/ardour/redirect.cc:296
 msgid "incorrect XML node \"%1\" passed to Redirect object"
@@ -1222,14 +1151,11 @@ msgstr "Στον κόμβο XML που περιγράφει I/O λείπει έ
 
 #: libs/ardour/redirect.cc:348
 msgid "XML node describing a redirect is missing the `active' field"
-msgstr ""
-"Στον κόμβο XML που περιγράφει ένα redirect λείπει το πεδίο `ενεργό'(active)"
+msgstr "Στον κόμβο XML που περιγράφει ένα redirect λείπει το πεδίο `ενεργό'(active)"
 
 #: libs/ardour/redirect.cc:358
 msgid "XML node describing a redirect is missing the `placement' field"
-msgstr ""
-"Στον κόμβο XML που περιγράφει ένα redirect λείπει το πεδίο "
-"`τοποθέτηση'(placement)"
+msgstr "Στον κόμβο XML που περιγράφει ένα redirect λείπει το πεδίο `τοποθέτηση'(placement)"
 
 #: libs/ardour/redirect.cc:467
 msgid "active_changed"
@@ -1241,18 +1167,18 @@ msgstr "Συνεδρία: XMLΚόμβος που περιγράφει Περιο
 
 #: libs/ardour/region.cc:892
 msgid "Session: XMLNode describing a Region is incomplete (no name)"
-msgstr ""
-"Συνεδρία: XMLΚόμβος που περιγράφει Περιοχή είναι ημιτελής (χωρίς όνομα)"
+msgstr "Συνεδρία: XMLΚόμβος που περιγράφει Περιοχή είναι ημιτελής (χωρίς όνομα)"
 
-#: libs/ardour/route.cc:79 libs/ardour/session.cc:1554
-#: libs/ardour/session.cc:1560 libs/ardour/session.cc:3093
+#: libs/ardour/route.cc:79
+#: libs/ardour/session.cc:1554
+#: libs/ardour/session.cc:1560
+#: libs/ardour/session.cc:3093
 msgid "signal"
 msgstr "σήμα"
 
 #: libs/ardour/route.cc:1430
 msgid "Could not get state of route.  Problem with save_automation"
-msgstr ""
-"Δεν μπόρεσα να πάρω κατάσταση διαδρομής.  Πρόβλημα με αποθήκευση_αυτοματισμού"
+msgstr "Δεν μπόρεσα να πάρω κατάσταση διαδρομής.  Πρόβλημα με αποθήκευση_αυτοματισμού"
 
 #: libs/ardour/route.cc:1482
 msgid "Send construction failed"
@@ -1276,41 +1202,34 @@ msgstr "Κακός κόμβος εστάλη στο Route::set_state() [%1]"
 
 #: libs/ardour/route.cc:1592
 msgid "Route %1: unknown edit group \"%2 in saved state (ignored)"
-msgstr ""
-"Route %1: άγνωστη ομάδα επεξεργασίας \"%2 στην αποθηκευμένη κατάσταση "
-"(αγνοήθηκε)"
+msgstr "Route %1: άγνωστη ομάδα επεξεργασίας \"%2 στην αποθηκευμένη κατάσταση (αγνοήθηκε)"
 
-#: libs/ardour/route.cc:1608 libs/ardour/route.cc:1612
+#: libs/ardour/route.cc:1608
+#: libs/ardour/route.cc:1612
 msgid "badly formed order key string in state file! [%1] ... ignored."
-msgstr ""
-"δύσμορφη γραμμή κλειδιού ταξινομήσεως στο αρχείο καταστάσεως ! [%1] ... "
-"αγνοήθηκε."
+msgstr "δύσμορφη γραμμή κλειδιού ταξινομήσεως στο αρχείο καταστάσεως ! [%1] ... αγνοήθηκε."
 
-#: libs/ardour/route.cc:1693 libs/ardour/route.cc:1820
+#: libs/ardour/route.cc:1693
+#: libs/ardour/route.cc:1820
 msgid "[control]"
 msgstr "[έλεγχος]"
 
 #: libs/ardour/route.cc:1713
 msgid "Route %1: unknown mix group \"%2 in saved state (ignored)"
-msgstr ""
-"Route %1: άγνωστη ομάδα μίξεως \"%2 στην αποθηκευμένη κατάσταση (αγνοήθηκε)"
+msgstr "Route %1: άγνωστη ομάδα μίξεως \"%2 στην αποθηκευμένη κατάσταση (αγνοήθηκε)"
 
-#: libs/ardour/route.cc:1742 libs/ardour/route.cc:1750
-#, fuzzy
-msgid ""
-"MIDI mute control specification for %1 is incomplete, so it has been ignored"
-msgstr ""
-"Η προδιαγραφή ελέγχου του MIDI gain για το %1 είναι ημιτελής, με αποτέλεσμα "
-"να αγνοηθεί"
+#: libs/ardour/route.cc:1742
+#: libs/ardour/route.cc:1750
+msgid "MIDI mute control specification for %1 is incomplete, so it has been ignored"
+msgstr "Η προδιαγραφή ελέγχου του MIDI mute για το %1 είναι ημιτελής, με αποτέλεσμα να αγνοηθεί"
 
 #: libs/ardour/send.cc:99
 msgid "XML node describing a send is missing a Redirect node"
 msgstr "Στον κόμβο XML όπου περιγράφεται ένα send λείπει ένας κόμβος Redirect"
 
 #: libs/ardour/session.cc:103
-#, fuzzy
 msgid "Could not resolve path: %1 (%2)"
-msgstr "Source: δεν μπορώ να ανοίξω το peakpath \"%1\" (%2)"
+msgstr "Αδύνατη η εύρεση path: %1 (%2)"
 
 #: libs/ardour/session.cc:115
 msgid "cannot check session path %1 (%2)"
@@ -1353,9 +1272,9 @@ msgid "cannot create Auditioner: no auditioning of regions possible"
 msgstr "δεν μπορώ να δημιουργήσω τον Ακροατή: καμία ακρόαση περιοχών δυνατή"
 
 #: libs/ardour/session.cc:666
-#, fuzzy, c-format
+#, c-format
 msgid "out %<PRIu32>"
-msgstr "out %lu"
+msgstr ""
 
 #: libs/ardour/session.cc:678
 #, c-format
@@ -1381,9 +1300,8 @@ msgid "cannot setup master outputs"
 msgstr "δεν μπορώ να διαμορφώσω τις master εξόδους"
 
 #: libs/ardour/session.cc:758
-#, fuzzy
 msgid "Master Out"
-msgstr "master"
+msgstr ""
 
 #: libs/ardour/session.cc:830
 msgid "cannot setup control inputs"
@@ -1395,9 +1313,7 @@ msgstr "δεν μπορώ να διαμορφώσω τις εξόδους ελέ
 
 #: libs/ardour/session.cc:1110
 msgid "Session: you can't use that location for auto punch (start <= end)"
-msgstr ""
-"Συνεδρία: δεν μπορείτε να χρησιμοποιήσετε αυτήν την τοποθεσία για auto punch "
-"(αρχή <= τέλος)"
+msgstr "Συνεδρία: δεν μπορείτε να χρησιμοποιήσετε αυτήν την τοποθεσία για auto punch (αρχή <= τέλος)"
 
 #: libs/ardour/session.cc:1189
 msgid "Session: you can't use a mark for auto loop"
@@ -1407,7 +1323,8 @@ msgstr "Συνεδρία: δεν μπορείτε να χρησιμοποιήσ
 msgid "feedback loop setup between %1 and %2"
 msgstr "διαμόρφωση feedback loop ανάμεσα σε %1 και %2"
 
-#: libs/ardour/session.cc:1724 libs/ardour/session.cc:1821
+#: libs/ardour/session.cc:1724
+#: libs/ardour/session.cc:1821
 msgid "cannot configure %1 in/%2 out configuration for new audio track"
 msgstr "δεν μπορώ να διαμορφώσω %1 in/%2 out διάταξη για νέο κανάλι ήχου"
 
@@ -1455,10 +1372,10 @@ msgstr "πάρα πολλές bounced εκδόσεις της Playlist \"%1\""
 msgid "cannot create new audio file \"%1\" for %2"
 msgstr "δεν μπορώ να δημιουργήσω νέο αρχείο ήχου \"%1\" για %2"
 
-#: libs/ardour/session_butler.cc:85 libs/ardour/session_butler.cc:90
-#, fuzzy
+#: libs/ardour/session_butler.cc:85
+#: libs/ardour/session_butler.cc:90
 msgid "UI: cannot set O_NONBLOCK on butler request pipe (%1)"
-msgstr "UI: δεν μπορώ να θέσω O_NONBLOCK στο signal read pipe (%1)"
+msgstr "UI: δεν μπορώ να θέσω O_NONBLOCK στο butler request pipe (%1)"
 
 #: libs/ardour/session_butler.cc:95
 msgid "Session: could not create butler thread"
@@ -1469,14 +1386,12 @@ msgid "poll on butler request pipe failed (%1)"
 msgstr ""
 
 #: libs/ardour/session_butler.cc:196
-#, fuzzy
 msgid "Error on butler thread request pipe"
-msgstr "Σφάλμα στο transport thread request pipe"
+msgstr "Σφάλμα στο butler thread request pipe"
 
 #: libs/ardour/session_butler.cc:238
-#, fuzzy
 msgid "Error reading from butler request pipe"
-msgstr "Σφάλμα στην ανάγνωση από transport request pipe"
+msgstr "Σφάλμα στην ανάγνωση από butler request pipe"
 
 #: libs/ardour/session_butler.cc:275
 msgid "Butler read ahead failure on dstream %1"
@@ -1504,20 +1419,18 @@ msgstr "δεν μπορώ να διαβάσω δεδομένα από το sound
 
 #: libs/ardour/session_events.cc:161
 msgid "Session: cannot have two events of type %1 at the same frame (%2)."
-msgstr ""
-"Συνεδρία: δεν γίνεται να υπάρχουν δύο συμβάντα του τύπου %1 στο ίδιο frame (%"
-"2)."
+msgstr "Συνεδρία: δεν γίνεται να υπάρχουν δύο συμβάντα του τύπου %1 στο ίδιο frame (%2)."
 
 #: libs/ardour/session_events.cc:422
 msgid "Programming error: illegal event type in process_event (%1)"
-msgstr ""
-"Σφάλμα προγραμματισμού: παράνομος τύπος συμβάντος στο process_event (%1)"
+msgstr "Σφάλμα προγραμματισμού: παράνομος τύπος συμβάντος στο process_event (%1)"
 
 #: libs/ardour/session_export.cc:63
 msgid "Export: no output file specified"
 msgstr "Εξαγωγή: κανένα αρχείο εξόδου δεν προσδιορίστηκε"
 
-#: libs/ardour/session_export.cc:164 libs/ardour/session_export.cc:169
+#: libs/ardour/session_export.cc:164
+#: libs/ardour/session_export.cc:169
 msgid "illegal frame range in export specification"
 msgstr "παράνομο διάστημα frame στον προσδιορισμό εξαγωγής"
 
@@ -1539,9 +1452,7 @@ msgstr "παρουσιάστηκε σφάλμα κάτα την μετατροπ
 
 #: libs/ardour/session_export.cc:327
 msgid "warning, leftover frames overflowed, glitches might occur in output"
-msgstr ""
-"προσοχή, παρατημένα frames διέρρευσαν, πιθανόν να παρουσιαστούν ατέλειες "
-"στην έξοδο"
+msgstr "προσοχή, παρατημένα frames διέρρευσαν, πιθανόν να παρουσιαστούν ατέλειες στην έξοδο"
 
 #: libs/ardour/session_export.cc:418
 msgid "Export: could not write data to output file (%1)"
@@ -1553,11 +1464,11 @@ msgstr "%1: δεν μπορώ να αναζητήσω στο %2 για εξαγ
 
 #: libs/ardour/session_midi.cc:200
 msgid "Ardour is slaved to MTC - port cannot be reset"
-msgstr ""
+msgstr "Το Ardour υπακούει το MTC - η θύρα δεν γίνεται reset"
 
 #: libs/ardour/session_midi.cc:215
 msgid "unknown port %1 requested for MTC"
-msgstr ""
+msgstr "Εζητήθη άγνωστη θύρα %1 για το MTC"
 
 #: libs/ardour/session_midi.cc:541
 msgid "Error reading from MIDI port %1"
@@ -1608,47 +1519,40 @@ msgid "Session: error in no roll for %1"
 msgstr "Συνεδρία: σφάλμα στο no roll για %1"
 
 #: libs/ardour/session_state.cc:101
-#, fuzzy
 msgid "Could not use path %1 (%s)"
-msgstr "Source: δεν μπορώ να ανοίξω το peakpath \"%1\" (%2)"
+msgstr "Αδύνατη η χρήση του path %1 (%s)"
 
 #: libs/ardour/session_state.cc:129
 msgid "end"
 msgstr "τέλος"
 
 #: libs/ardour/session_state.cc:130
-#, fuzzy
 msgid "start"
-msgstr "ξεχωριστό"
+msgstr ""
 
 #: libs/ardour/session_state.cc:502
 msgid "Session: cannot create session dir \"%1\" (%2)"
 msgstr "Συνεδρία: δεν μπορώ να δημιουργήσω φάκελο συνεδρίας \"%1\" (%2)"
 
 #: libs/ardour/session_state.cc:513
-#, fuzzy
 msgid "Session: cannot create session peakfile dir \"%1\" (%2)"
-msgstr "Συνεδρία: δεν μπορώ να δημιουργήσω φάκελο συνεδρίας \"%1\" (%2)"
+msgstr "Συνεδρία: δεν μπορώ να δημιουργήσω peakfile dir συνεδρίας \"%1\" (%2)"
 
 #: libs/ardour/session_state.cc:522
 msgid "Session: cannot create session sounds dir \"%1\" (%2)"
 msgstr "Συνεδρία: δεν μπορώ να δημιουργήσω φάκελο ήχων συνεδρίας \"%1\" (%2)"
 
 #: libs/ardour/session_state.cc:531
-#, fuzzy
 msgid "Session: cannot create session tape dir \"%1\" (%2)"
-msgstr "Συνεδρία: δεν μπορώ να δημιουργήσω φάκελο συνεδρίας \"%1\" (%2)"
+msgstr "Συνεδρία: δεν μπορώ να δημιουργήσω tape dir συνεδρίας \"%1\" (%2)"
 
 #: libs/ardour/session_state.cc:540
 msgid "Session: cannot create session dead sounds dir \"%1\" (%2)"
-msgstr ""
-"Συνεδρία: δεν μπορώ να δημιουργήσω φάκελο 'νεκρών' ήχων συνεδρίας \"%1\" (%2)"
+msgstr "Συνεδρία: δεν μπορώ να δημιουργήσω φάκελο 'νεκρών' ήχων συνεδρίας \"%1\" (%2)"
 
 #: libs/ardour/session_state.cc:549
 msgid "Session: cannot create session automation dir \"%1\" (%2)"
-msgstr ""
-"Συνεδρία: δεν μπορώ να δημιουργήσω φάκελο αυτοματισμών της συνεδρίας \"%1"
-"\" (%2)"
+msgstr "Συνεδρία: δεν μπορώ να δημιουργήσω φάκελο αυτοματισμών της συνεδρίας \"%1\" (%2)"
 
 #: libs/ardour/session_state.cc:580
 msgid "Could not open %1 for writing mix template"
@@ -1668,23 +1572,19 @@ msgstr "Συνεδρία: δεν μπόρεσα να φορτώσω diskstream 
 
 #: libs/ardour/session_state.cc:685
 msgid "could not backup old state file, current state not saved."
-msgstr ""
-"δεν μπόρεσα να διασώσω το παλαιό αρχείο καταστάσεως, η τρέχουσα κατάσταση "
-"δεν αποθηκεύτηκε."
+msgstr "δεν μπόρεσα να διασώσω το παλαιό αρχείο καταστάσεως, η τρέχουσα κατάσταση δεν αποθηκεύτηκε."
 
 #: libs/ardour/session_state.cc:698
 msgid "state could not be saved to %1"
 msgstr "η κατάσταση δεν μπορούσε να σωθεί στο %1"
 
 #: libs/ardour/session_state.cc:705
-#, fuzzy
 msgid "could not remove corrupt state file %1"
-msgstr "��εν μπόρεσα να αναλύσω το αρχείο rdf: %1"
+msgstr "��δύνατη η διαγραφή αρχείου διεφθαρμένης state %1"
 
 #: libs/ardour/session_state.cc:709
-#, fuzzy
 msgid "could not restore state file from backup %1"
-msgstr "��φάλμα: δεν μπόρεσα να γράψω %1"
+msgstr "��δύνατη η επαναφορά του state file από backup %1"
 
 #: libs/ardour/session_state.cc:778
 msgid "%1: session state information file \"%2\" doesn't exist!"
@@ -1696,9 +1596,7 @@ msgstr "Δεν μπόρεσα να κατανοήσω το ardour αρχείο %
 
 #: libs/ardour/session_state.cc:1493
 msgid "programming error: Session: incorrect XML node sent to set_state()"
-msgstr ""
-"σφάλμα προγραμματισμού: Συνεδρία: λανθασμένος κόμβος XML εστάλη στην "
-"set_state()"
+msgstr "σφάλμα προγραμματισμού: Συνεδρία: λανθασμένος κόμβος XML εστάλη στην set_state()"
 
 #: libs/ardour/session_state.cc:1539
 msgid "Session: XML state has no options section"
@@ -1758,36 +1656,25 @@ msgstr "Συνεδρία: δεν μπορώ να δημιουργήσω Περι
 
 #: libs/ardour/session_state.cc:1764
 msgid "Session: XMLNode describing a AudioRegion is incomplete (no source)"
-msgstr ""
-"Συνεδρία: Ο XMLΚόμβος που περιγράφει AudioΠεριοχή είναι ημιτελής (δίχως πηγή)"
+msgstr "Συνεδρία: Ο XMLΚόμβος που περιγράφει AudioΠεριοχή είναι ημιτελής (δίχως πηγή)"
 
-#: libs/ardour/session_state.cc:1772 libs/ardour/session_state.cc:1792
-msgid ""
-"Session: XMLNode describing a AudioRegion references an unknown source id =%1"
-msgstr ""
-"Συνεδρία: Ο XMLΚόμβος που περιγράφει AudioΠεριοχή αναφέρει άγνωστο id πηγής ="
-"%1"
+#: libs/ardour/session_state.cc:1772
+#: libs/ardour/session_state.cc:1792
+msgid "Session: XMLNode describing a AudioRegion references an unknown source id =%1"
+msgstr "Συνεδρία: Ο XMLΚόμβος που περιγράφει AudioΠεριοχή αναφέρει άγνωστο id πηγής =%1"
 
-#: libs/ardour/session_state.cc:1778 libs/ardour/session_state.cc:1798
-#, fuzzy
-msgid ""
-"Session: XMLNode describing a AudioRegion references a non-audio source id =%"
-"1"
-msgstr ""
-"Συνεδρία: Ο XMLΚόμβος που περιγράφει AudioΠεριοχή αναφέρει άγνωστο id πηγής ="
-"%1"
+#: libs/ardour/session_state.cc:1778
+#: libs/ardour/session_state.cc:1798
+msgid "Session: XMLNode describing a AudioRegion references a non-audio source id =%1"
+msgstr "Συνεδρία: Ο XMLNode που περιγράφει AudioRegion αναφέρει μη-ηχητική πηγή με id =%1"
 
 #: libs/ardour/session_state.cc:1868
 msgid "Session: cannot create Source from XML description."
 msgstr "Συνεδρία: δεν μπορώ να δημιουργήσω Πηγή από XML περιγραφή."
 
 #: libs/ardour/session_state.cc:1889
-#, fuzzy
-msgid ""
-"Found a sound file that cannot be used by Ardour. Talk to the progammers."
-msgstr ""
-"Βρήκα ένα sound file που δεν μπορεί να χρησιμοποιηθεί από τον Ardour. "
-"Επικοινωνήστε με τους προγραμματιστές."
+msgid "Found a sound file that cannot be used by Ardour. Talk to the progammers."
+msgstr "Ευρέθη sound file που δεν μπορεί να χρησιμοποιηθεί από τον Ardour. Επικοινωνήστε με τους προγραμματιστές."
 
 #: libs/ardour/session_state.cc:1913
 msgid "Could not create mix templates directory \"%1\" (%2)"
@@ -1814,24 +1701,21 @@ msgid "cannot create dead sounds directory \"%1\"; ignored"
 msgstr "δεν μπορώ να δημιουργήσω τον φάκελο 'dead sounds' \"%1\"; αγνοήθηκε"
 
 #: libs/ardour/session_state.cc:2029
-#, fuzzy
 msgid "cannot create peak file directory \"%1\"; ignored"
-msgstr "��εν μπορώ να δημιουργήσω φάκελο συνεδρίας \"%1\"; αγνοήθηκε"
+msgstr "��δύνατη η δημιουργία φακέλου peak file  \"%1\"; αγνοήθηκε"
 
-#: libs/ardour/session_state.cc:2168 libs/ardour/session_state.cc:2189
+#: libs/ardour/session_state.cc:2168
+#: libs/ardour/session_state.cc:2189
 msgid "Session: cannot create Playlist from XML description."
 msgstr "Συνεδρία: δεν μπορώ να δημιουργήσω την Playlist από την XML περιγραφή."
 
 #: libs/ardour/session_state.cc:2228
 msgid "Session: cannot create Named Selection from XML description."
-msgstr ""
-"Συνεδρία: δεν μπορώ να δημιουργήσω την ονομασμένη επιλογή από την XML "
-"περιγραφή."
+msgstr "Συνεδρία: δεν μπορώ να δημιουργήσω την ονομασμένη επιλογή από την XML περιγραφή."
 
 #: libs/ardour/session_state.cc:2360
 msgid "Unknown node \"%1\" found in Connections list from state file"
-msgstr ""
-"Άγνωστος κόμβος \"%1\" ευρέθη στη λίστα 'Συνδέσεις' από το αρχείο καταστάσεως"
+msgstr "Άγνωστος κόμβος \"%1\" ευρέθη στη λίστα 'Συνδέσεις' από το αρχείο καταστάσεως"
 
 #: libs/ardour/session_state.cc:3197
 msgid "cannot remove dead sound file %1 (%2)"
@@ -1843,8 +1727,7 @@ msgstr "Άγνωστη κατάσταση του JACK transport %1 στην αν
 
 #: libs/ardour/session_timefx.cc:77
 msgid "tempoize: error creating name for new audio file based on %1"
-msgstr ""
-"tempoize: σφάλμα στη δημιουργία ονόματος για νέο αρχείο ήχου βασισμένο σε %1"
+msgstr "tempoize: σφάλμα στη δημιουργία ονόματος για νέο αρχείο ήχου βασισμένο σε %1"
 
 #: libs/ardour/session_timefx.cc:88
 msgid "tempoize: error creating new audio file %1 (%2)"
@@ -1854,14 +1737,14 @@ msgstr "tempoize: σφάλμα στη δημιουργία νέου αρχείο
 msgid "tempoize: error reading data from %1"
 msgstr "tempoize: σφάλμα στην ανάγνωση δεδομένων από %1"
 
-#: libs/ardour/session_timefx.cc:127 libs/ardour/session_timefx.cc:139
+#: libs/ardour/session_timefx.cc:127
+#: libs/ardour/session_timefx.cc:139
 msgid "error writing tempo-adjusted data to %1"
 msgstr "σφάλμα στην εγγραφή χρονο-ρυθμισμένων δεδομένων στο %1"
 
 #: libs/ardour/session_timefx.cc:145
 msgid "timefx code failure. please notify ardour-developers."
-msgstr ""
-"αποτυχία κώδικα timefx. παρακαλώ ειδοποιήστε τους προγραμματιστές του ardour."
+msgstr "αποτυχία κώδικα timefx. παρακαλώ ειδοποιήστε τους προγραμματιστές του ardour."
 
 #: libs/ardour/session_transport.cc:117
 msgid "Cannot loop - no loop range defined"
@@ -1872,28 +1755,20 @@ msgid ""
 "Seamless looping cannot be supported while Ardour is using JACK transport.\n"
 "Recommend changing the configured options"
 msgstr ""
-"Μονοκόμματο looping δεν υποστηρίζεται ενώ ο Ardour χρησιμοποιεί το JACK "
-"transport.\n"
+"Μονοκόμματο looping δεν υποστηρίζεται ενώ ο Ardour χρησιμοποιεί το JACK transport.\n"
 "Συνιστούμε την αλλαγή των διαμορφωμένων ρυθμίσεων"
 
 #: libs/ardour/session_transport.cc:755
-msgid ""
-"Global varispeed cannot be supported while Ardour is connected to JACK "
-"transport control"
-msgstr ""
-"Η Global varispeed δεν μπορεί να υποστηριχθεί ενώ ο Ardour είναι "
-"συνδεδεμένος με τον JACK transport control"
+msgid "Global varispeed cannot be supported while Ardour is connected to JACK transport control"
+msgstr "Η Global varispeed δεν μπορεί να υποστηριχθεί ενώ ο Ardour είναι συνδεδεμένος με τον JACK transport control"
 
 #: libs/ardour/session_transport.cc:955
 msgid "please stop the transport before adjusting slave settings"
-msgstr ""
-"παρακαλώ σταματήστε το transport πριν την ρύθμιση των  επιλογων εξαρτήσεως"
+msgstr "παρακαλώ σταματήστε το transport πριν την ρύθμιση των  επιλογων εξαρτήσεως"
 
 #: libs/ardour/session_transport.cc:991
 msgid "No MTC port defined: MTC slaving is impossible."
-msgstr ""
-"Καμμία θύρα MTC δεν προσδιορίστηκε: η εξάρτηση του MTC (slaving) είναι "
-"αδύνατη."
+msgstr "Καμμία θύρα MTC δεν προσδιορίστηκε: η εξάρτηση του MTC (slaving) είναι αδύνατη."
 
 #: libs/ardour/sndfile_helpers.cc:15
 msgid "WAV"
@@ -1981,62 +1856,44 @@ msgstr "Big-endian (Mac)"
 
 #: libs/ardour/sndfilesource.cc:147
 msgid "FileSource: cannot get host information for BWF header (%1)"
-msgstr ""
-"FileSource: δεν μπορώ να βρώ πληροφορίες οικοδεσπότη(host) για επικεφαλίδα "
-"BWF (%1)"
+msgstr "FileSource: δεν μπορώ να βρώ πληροφορίες οικοδεσπότη(host) για επικεφαλίδα BWF (%1)"
 
 #: libs/ardour/sndfilesource.cc:169
-msgid ""
-"cannot set broadcast info for audio file %1 (%2); dropping broadcast info "
-"for this file"
-msgstr ""
+msgid "cannot set broadcast info for audio file %1 (%2); dropping broadcast info for this file"
+msgstr "Δεν ετέθησαν broadcast info για το audio file %1 (%2); απόρριψη broadcast info για αυτό το αρχείο"
 
 #: libs/ardour/sndfilesource.cc:220
-#, fuzzy
 msgid "SndFileSource: cannot open file \"%1\" for %2 (%3)"
-msgstr "SndFileSource: δεν μπορώ να ανοίξω το αρχείο \"%1\" (%2)"
+msgstr "SndFileSource: δεν μπορώ να ανοίξω το αρχείο \"%1\" για %2 (%3)"
 
 #: libs/ardour/sndfilesource.cc:226
-msgid ""
-"SndFileSource: file only contains %1 channels; %2 is invalid as a channel "
-"number"
-msgstr ""
-"SndFileSource: το αρχείο περιέχει μόνο %1 κανάλια; %2 δεν έχει αξία σαν "
-"κανάλι number"
+msgid "SndFileSource: file only contains %1 channels; %2 is invalid as a channel number"
+msgstr "SndFileSource: το αρχείο περιέχει μόνο %1 κανάλια; %2 δεν έχει αξία σαν κανάλι number"
 
 #: libs/ardour/sndfilesource.cc:327
 msgid "SndFileSource: could not seek to frame %1 within %2 (%3)"
 msgstr "SndFileSource: δεν μπορούσα να αναζητήσω στο frame %1 μέσα στο %2 (%3)"
 
 #: libs/ardour/sndfilesource.cc:378
-#, fuzzy
 msgid "programming error: %1 %2"
-msgstr "σφάλμα προγραμματισμού: %1"
+msgstr "σφάλμα προγραμματισμού: %1 %2"
 
-#: libs/ardour/sndfilesource.cc:487 libs/ardour/sndfilesource.cc:533
-msgid ""
-"cannot set broadcast info for audio file %1; Dropping broadcast info for "
-"this file"
-msgstr ""
+#: libs/ardour/sndfilesource.cc:487
+#: libs/ardour/sndfilesource.cc:533
+msgid "cannot set broadcast info for audio file %1; Dropping broadcast info for this file"
+msgstr "Δεν ετέθησαν broadcast info για το audio file %1; Απόρριψη broadcast info για αυτό το αρχείο"
 
 #: libs/ardour/sndfilesource.cc:544
-#, fuzzy
 msgid "%1: cannot seek to %2"
-msgstr "%1: ��εν μπορώ να αναζητήσω στο %2 για εξαγωγή"
+msgstr "%1: ��δύνατη η αναζήτηση στο %2"
 
 #: libs/ardour/state_manager.cc:47
-#, fuzzy
 msgid "cleared history"
-msgstr "εκκαθ��ρίσθη"
+msgstr "εκκαθ��ριση ιστορικού"
 
 #: libs/ardour/state_manager.cc:60
-#, fuzzy
-msgid ""
-"programming error: illegal state ID (%1) passed to StateManager::set_state() "
-"(range = 0-%2)"
-msgstr ""
-"σφάλμα προγραμματισμού: αθέμιτη κατάσταση ID (%1) πέρασε στον StateManager::"
-"set_state() (range = 0-%3)"
+msgid "programming error: illegal state ID (%1) passed to StateManager::set_state() (range = 0-%2)"
+msgstr "σφάλμα προγραμματισμού: αθέμιτη κατάσταση ID (%1) πέρασε στον StateManager::set_state() (range = 0-%2)"
 
 #: libs/ardour/stateful.cc:102
 msgid "Error: could not write %1"
@@ -2118,7 +1975,8 @@ msgstr "πρόσθεση μετρητή"
 msgid "replaced meter"
 msgstr "αντικατεστημένος μετρητής"
 
-#: libs/ardour/tempo.cc:483 libs/ardour/tempo.cc:499
+#: libs/ardour/tempo.cc:483
+#: libs/ardour/tempo.cc:499
 msgid "programming error: no tempo section in tempo map!"
 msgstr "σφάλμα προγραμματισμού: κανένας τομέας ρυθμού στο χάρτη ρυθμών!"
 
@@ -2126,24 +1984,22 @@ msgstr "σφάλμα προγραμματισμού: κανένας τομέας
 msgid "programming error: unhandled MetricSection type"
 msgstr "σφάλμα προγραμματισμού: αχείριστος τύπος MetricSection"
 
-#: libs/ardour/tempo.cc:1226 libs/ardour/tempo.cc:1238
+#: libs/ardour/tempo.cc:1226
+#: libs/ardour/tempo.cc:1238
 msgid "Tempo map: could not set new state, restoring old one."
-msgstr ""
-"Χάρτης ρυθμών: δεν μπόρεσα να θέσω νέα κατάσταση, επιστροφή προηγούμενης."
+msgstr "Χάρτης ρυθμών: δεν μπόρεσα να θέσω νέα κατάσταση, επιστροφή προηγούμενης."
 
 #: libs/ardour/tempo.cc:1262
 msgid "load XML data"
-msgstr ""
+msgstr "Φόρτωμα δεδομένων XML"
 
 #: libs/ardour/utils.cc:246
-#, fuzzy
 msgid "illegal or badly-formed string used for path (%1)"
-msgstr "παράνομη ή κακοσχηματισμένη γραμμή για το μονοπάτι RAID"
+msgstr "αθέμιτη ή κακοσχηματισμένη γραμμή για το μονοπάτι (%1)"
 
 #: libs/ardour/utils.cc:251
-#, fuzzy
 msgid "path (%1) is ambiguous"
-msgstr "Το μονοπάτι αναζήτησης του RAID είναι αμφίβολο"
+msgstr "Το μονοπάτι (%1) είναι αμφίβολο"
 
 #: libs/ardour/vst_plugin.cc:187
 msgid "cannot create VST chunk directory: %1"
@@ -2161,95 +2017,70 @@ msgstr "%1 υπάρχει αλλά δεν είναι φάκελος"
 msgid "Bad node sent to VSTPlugin::set_state"
 msgstr "Κακός κόμβος εστάλη στο VSTPlugin::set_state"
 
-#: libs/ardour/vst_plugin.cc:343 libs/ardour/vst_plugin.cc:354
+#: libs/ardour/vst_plugin.cc:343
+#: libs/ardour/vst_plugin.cc:354
 msgid "no support for presets using chunks at this time"
-msgstr ""
-"καμμία υποστήριξη αυτή τη στιγμή για ρυθμίσεις που χρησιμοποιούν κομμάτια"
+msgstr "καμμία υποστήριξη αυτή τη στιγμή για ρυθμίσεις που χρησιμοποιούν κομμάτια"
 
 #: libs/ardour/coreaudiosource.cc:97
-#, fuzzy
-msgid ""
-"CoreAudioSource: file only contains %1 channels; %2 is invalid as a channel "
-"number"
-msgstr ""
-"SndFileSource: το αρχείο περιέχει μόνο %1 κανάλια; %2 δεν έχει αξία σαν "
-"κανάλι number"
+msgid "CoreAudioSource: file only contains %1 channels; %2 is invalid as a channel number"
+msgstr "CoreAudioSource: το αρχείο περιέχει μόνο %1 κανάλια; το %2 δεν έχει αξία σαν αριθμός καναλιών"
 
 #: libs/ardour/coreaudiosource.cc:162
-#, fuzzy
 msgid "CoreAudioSource: could not seek to frame %1 within %2 (%3)"
-msgstr "SndFileSource: δεν μπορούσα να αναζητήσω στο frame %1 μέσα στο %2 (%3)"
+msgstr "CoreAudioSource: δεν μπορούσα να αναζητήσω στο frame %1 μέσα στο %2 (%3)"
 
 #~ msgid "FileSource: \"%1\" not found when searching %2 using %3"
 #~ msgstr "FileSource: \"%1\" δεν ευρέθη όταν αναζητείτο %2 χρησιμοποιώντας %3"
-
 #~ msgid "FileSource: could not open \"%1\": (%2)"
 #~ msgstr "FileSource: δεν μπόρεσα να ανοίξω \"%1\": (%2)"
-
 #~ msgid "FileSource: cannot write header in %1"
 #~ msgstr "FileSource: δεν μπορώ να γράψω επικεφαλίδα στο %1"
-
 #~ msgid "FileSource: cannot locate chunks in %1"
 #~ msgstr "FileSource: δεν μπορώ να ανιχνεύσω κομμάτια στο %1"
-
 #~ msgid "FileSource: cannot read header in %1"
 #~ msgstr "FileSource: δεν μπορώ να διαβάσω επικεφαλίδα στο %1"
-
 #~ msgid "FileSource: cannot check header in %1"
 #~ msgstr "FileSource: δεν μπορώ να ελέγξω επικεφαλίδα στο %1"
 
 #, fuzzy
 #~ msgid "FileSource: cannot initialize peakfile for %1 as %2"
 #~ msgstr "FileSource: δεν μπορώ να εκκινήσω το peakfile για %1"
-
 #~ msgid "FileSource: cannot seek to end of file"
 #~ msgstr "FileSource: δεν μπορώ να ανιχνεύσω το τέλος του αρχείου"
-
 #~ msgid "FileSource: cannot read RIFF/WAVE chunk from file"
 #~ msgstr "FileSource: δεν μπορώ να διαβάσω κομμάτι RIFF/WAVE από το αρχείο"
-
 #~ msgid "FileSource %1: not a RIFF/WAVE file"
 #~ msgstr "FileSource %1: δεν είναι RIFF/WAVE αρχείο"
-
 #~ msgid "FileSource: can't read a chunk"
 #~ msgstr "FileSource: δεν μπορώ να διαβάσω κομμάτι"
-
 #~ msgid "FileSource: cannot get user information for BWF header (%1)"
 #~ msgstr ""
 #~ "FileSource: δεν μπορώ να βρώ πληροφορίες χρήστη για επικεφαλίδα BWF (%1)"
-
 #~ msgid "FileSource[%1]: cannot update data size: %2"
 #~ msgstr "FileSource[%1]: δεν μπορώ να ανανεώσω το μέγεθος δεδομένων: %2"
-
 #~ msgid "FileSource: can't find RIFF chunk info"
 #~ msgstr "FileSource: δεν ευρέθησαν πληροφορίες για RIFF κομμάτι"
 
 #, fuzzy
 #~ msgid "FileSource: can't find RIFX chunk info"
 #~ msgstr "FileSource: δεν ευρέθησαν πληροφορίες για RIFF κομμάτι"
-
 #~ msgid "FileSource: can't read RIFF chunk"
 #~ msgstr "FileSource: δεν μπορώ να διαβάσω RIFF κομμάτι"
-
 #~ msgid "FileSource: can't find format chunk info"
 #~ msgstr "FileSource: δεν ευρέθησαν πληροφορίες για το κομμάτι φορμαρίσματος"
-
 #~ msgid "FileSource: can't read format chunk"
 #~ msgstr "FileSource: δεν μπορώ να διαβάσω το κομμάτι φορμαρίσματος"
-
 #~ msgid "FileSource: can't find data chunk info"
 #~ msgstr "FileSource: δεν μπορώ να βρώ πληροφορίες για το κομμάτι δεδομένων"
-
 #~ msgid "FileSource: can't read data chunk"
 #~ msgstr "FileSource: δεν μπορώ να διαβάσω το κομμάτι δεδομένων"
-
 #~ msgid ""
 #~ "FileSource: cannot read Broadcast Wave data from existing audio file \"%1"
 #~ "\" (%2)"
 #~ msgstr ""
 #~ "FileSource: δεν μπορώ να διαβάσω δεδομένα Broadcast Wave από το υπάρχον "
 #~ "αρχείο \"%1\" (%2)"
-
 #~ msgid ""
 #~ "FileSource: cannot read Broadcast Wave coding history from audio file \"%1"
 #~ "\" (%2)"
@@ -2264,29 +2095,22 @@ msgstr "SndFileSource: δεν μπορούσα να αναζητήσω στο fr
 #~ msgstr ""
 #~ "FileSource \"%1\" δεν χρησιμοποιεί format μεταβλητής υποδιαστολής.\n"
 #~ "Αυτό πιθανόν να είναι σφάλμα προγραμματισμού."
-
 #~ msgid "FileSource \"%1\" has no \"data\" chunk"
 #~ msgstr "FileSource \"%1\" δεν έχει \"data\" κομμάτι"
-
 #~ msgid ""
 #~ "%1: data length in header (%2) differs from implicit size in file (%3)"
 #~ msgstr ""
 #~ "%1: το μέγεθος δεδομένων της επικεφαλίδας (%2) διαφέρει από το δεδηλωμένο "
 #~ "μέγεθος στο αρχείο (%3)"
-
 #~ msgid "\"%1\" has a sample rate of %2 instead of %3 as used by this session"
 #~ msgstr ""
 #~ "\"%1\" έχει ρυθμό δειγματοληψίας %2 αντί του %3 όπως στην παρούσα συνεδρία"
-
 #~ msgid "FileSource: cannot write WAVE chunk: %1"
 #~ msgstr "FileSource: δεν μπορώ να γράψω WAVE κομμάτι: %1"
-
 #~ msgid "FileSource: cannot write format chunk: %1"
 #~ msgstr "FileSource: δεν μπορώ να γράψω format κομμάτι: %1"
-
 #~ msgid "FileSource: cannot data chunk: %1"
 #~ msgstr "FileSource: cδεν μπορώ να γράψω κομμάτι δεδομένων: %1"
-
 #~ msgid "FileSource: \"%1\" bad write (%2)"
 #~ msgstr "FileSource: \"%1\" κακή εγγραφή (%2)"
 
@@ -2309,22 +2133,17 @@ msgstr "SndFileSource: δεν μπορούσα να αναζητήσω στο fr
 #, fuzzy
 #~ msgid "Error reading from feedback request pipe"
 #~ msgstr "Σφάλμα στην ανάγνωση από transport request pipe"
-
 #~ msgid "Could not find member filename"
 #~ msgstr "Δεν ευρέθη το αρχείο μέλους"
-
 #~ msgid "could not create crossfade object in playlist %1"
 #~ msgstr "δεν έγινε δημιουργία αντικειμένου crossfade στη λίστα αναπαρ/γής%1"
-
 #~ msgid ""
 #~ "There are too many frozen versions of playlist \"%1\" to create another "
 #~ "one"
 #~ msgstr ""
 #~ "Πάρα πολλές εκδόσεις λίστας αναπαρ/γής \"%1\" για τη δημιουργία άλλης"
-
 #~ msgid "alsa_pcm:playback_1"
 #~ msgstr "alsa_pcm:playback_1"
-
 #~ msgid "alsa_pcm:playback_2"
 #~ msgstr "alsa_pcm:playback_2"
 
@@ -2335,57 +2154,42 @@ msgstr "SndFileSource: δεν μπορούσα να αναζητήσω στο fr
 #, fuzzy
 #~ msgid "Source: cannot stat peakfile \"%1\" or \"%2\""
 #~ msgstr "Source: δεν μπορώ να μετρήσω το αυτοστιγμεί peakfile \"%1\""
-
 #~ msgid "Transport: error polling extra MIDI port #1 (revents =%1%2%3"
 #~ msgstr ""
 #~ "Transport: σφάλμα στην αίτηση επιπλέον θύρας MIDI #1 (revents =%1%2%3"
-
 #~ msgid "Transport: error polling extra MIDI port #2 (revents =%1%2%3"
 #~ msgstr ""
 #~ "Transport: σφάλμα στην αίτηση επιπλέον θύρας MIDI #2 (revents =%1%2%3"
-
 #~ msgid "Source: cannot seek to frame %1 in peakfile!"
 #~ msgstr "Source: δεν μπορώ να αναζητήσω το frame %1 στο peakfile!"
-
 #~ msgid "Source[%1]: cannot seek to frame %2 in peakfile!"
 #~ msgstr "Source[%1]: δεν μπορώ να αναζητήσω το frame %2 στο peakfile!"
-
 #~ msgid "%1: could not seek to byte %2 in peakfile (%3"
 #~ msgstr "%1: δεν μπορώ να αναζητήσω σε byte %2 στο peakfile (%3"
-
 #~ msgid "could not register an input port called \"%1\""
 #~ msgstr "δεν μπόρεσα να register μία θύρα εισόδου με όνομα \"%1\""
-
 #~ msgid "could not register an output port called \"%1\""
 #~ msgstr "δεν μπόρεσα να register μία θύρα εξόδου με όνομα \"%1\""
-
 #~ msgid "%1: disk stream error at frame %2 (%3)"
 #~ msgstr "%1: σφάλμα disk stream στο frame %2 (%3)"
-
 #~ msgid "IO: cannot connect input port %1 to %2"
 #~ msgstr "IO: δεν μπορεί να συνδεθεί η θύρα εισόδου %1 στο %2"
-
 #~ msgid "IO: cannot connect output port %1 to %2"
 #~ msgstr "IO: δεν μπορεί να συνδεθεί η θύρα εξόδου %1 στο %2"
-
 #~ msgid "Playlist: cannot create from state."
 #~ msgstr "Playlist: δεν μπορώ να δημιουργήσω από κατάσταση."
-
 #~ msgid ""
 #~ "for various reasons, it is no longer valid to use one of the plugins "
 #~ "listed for this session. it will be ignored"
 #~ msgstr ""
 #~ "για διάφορους λόγους, δεν είναι πλέον χρήσιμο να χρησιμοποιηθεί ένα από "
 #~ "τα καταχωρημένα pluginsγια αυτή τη συνεδρία. Θα αγνοηθεί."
-
 #~ msgid "cannot connect click track to %1"
 #~ msgstr "δεν μπορώ να διασυνδέσω το κανάλι Mετρονόμου(click track) στο %1"
-
 #~ msgid "out %lu+%lu"
 #~ msgstr "out %lu+%lu"
-
 #~ msgid "in %lu+%lu"
 #~ msgstr "in %lu+%lu"
-
 #~ msgid "Session: error for %1 at frame %2 (%3)"
 #~ msgstr "Συνεδρία: σφάλμα για %1 στο frame %2 (%3)"
+
index 8f61fc9ac111a0c2ea27399ab7362952d4cdef12..0644a5c84be3f05b63ab452c117e5847bb9b2a8b 100644 (file)
@@ -2757,6 +2757,9 @@ Session::remove_last_capture ()
        }
 
        destroy_regions (r);
+
+       save_state (_current_snapshot_name);
+
        return 0;
 }
 
index ef2196ed135de81fa53982db868587449f73516f..b9a0e2cb6009b8786d5988afd105643af164cae1 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <ardour/session.h>
 #include <ardour/route.h>
 #include <pbd/memento_command.h>
@@ -60,8 +79,9 @@ Session::memento_command_factory(XMLNode *n)
     /* create command */
     string obj_T = n->property ("type_name")->value();
     if (obj_T == typeid (AudioRegion).name() || obj_T == typeid (Region).name()) {
-           if (audio_regions.count(id))
+           if (audio_regions.count(id)) {
                    return new MementoCommand<AudioRegion>(*audio_regions[id], before, after);
+           }
     } else if (obj_T == typeid (AudioSource).name()) {
            if (audio_sources.count(id))
                    return new MementoCommand<AudioSource>(*audio_sources[id], before, after);
@@ -86,6 +106,7 @@ Session::memento_command_factory(XMLNode *n)
 
     /* we failed */
     error << string_compose (_("could not reconstitute MementoCommand from XMLNode. object type = %1 id = %2"), obj_T, id.to_s()) << endmsg;
+
     return 0 ;
 }
 
index 119d2c858dd07de5f1f07eabee9566f68a9506b0..efd2d180f284232d59dced08d0225ff5e802dd5f 100644 (file)
@@ -487,13 +487,6 @@ Session::create (bool& new_session, string* mix_template, nframes_t initial_leng
                return -1;
        }
 
-       dir = automation_dir ();
-
-       if (g_mkdir_with_parents (dir.c_str(), 0755) < 0) {
-               error << string_compose(_("Session: cannot create session automation dir \"%1\" (%2)"), dir, strerror (errno)) << endmsg;
-               return -1;
-       }
-
        dir = export_dir ();
 
        if (g_mkdir_with_parents (dir.c_str(), 0755) < 0) {
@@ -581,6 +574,14 @@ Session::load_diskstreams (const XMLNode& node)
        return 0;
 }
 
+void
+Session::maybe_write_autosave()
+{
+        if (dirty() && record_status() != Recording) {
+                save_state("", true);
+        }
+}
+
 void
 Session::remove_pending_capture_state ()
 {
@@ -688,7 +689,7 @@ Session::save_state (string snapshot_name, bool pending)
        tmp_path += snapshot_name;
        tmp_path += ".tmp";
 
-       cerr << "actually writing state\n";
+       cerr << "actually writing state to " << xml_path << endl;
 
        if (!tree.write (tmp_path)) {
                error << string_compose (_("state could not be saved to %1"), tmp_path) << endmsg;
@@ -750,7 +751,7 @@ Session::load_state (string snapshot_name)
        xmlpath += snapshot_name;
        xmlpath += _pending_suffix;
 
-       if (!access (xmlpath.c_str(), F_OK)) {
+       if (Glib::file_test (xmlpath, Glib::FILE_TEST_EXISTS)) {
 
                /* there is pending state from a crashed capture attempt */
 
@@ -765,8 +766,8 @@ Session::load_state (string snapshot_name)
                xmlpath += snapshot_name;
                xmlpath += _statefile_suffix;
        }
-
-       if (access (xmlpath.c_str(), F_OK)) {
+       
+       if (!Glib::file_test (xmlpath, Glib::FILE_TEST_EXISTS)) {
                error << string_compose(_("%1: session state information file \"%2\" doesn't exist!"), _name, xmlpath) << endmsg;
                return 1;
        }
@@ -808,8 +809,10 @@ Session::load_state (string snapshot_name)
        if (is_old) {
                string backup_path;
 
-               backup_path = xmlpath;
-               backup_path += ".1";
+               backup_path = _path;
+               backup_path += snapshot_name;
+               backup_path += "-1";
+               backup_path += _statefile_suffix;
 
                info << string_compose (_("Copying old session file %1 to %2\nUse %2 with Ardour versions before 2.0 from now on"),
                                        xmlpath, backup_path) 
@@ -1504,7 +1507,7 @@ Session::path_from_region_name (string name, string identifier)
                        snprintf (buf, sizeof(buf), "%s/%s-%" PRIu32 ".wav", dir.c_str(), name.c_str(), n);
                }
 
-               if (!g_file_test (buf, G_FILE_TEST_EXISTS)) {
+               if (!Glib::file_test (buf, Glib::FILE_TEST_EXISTS)) {
                        return buf;
                }
        }
index 9ae3492ea7cb2227f1443f64187fb9af1db36c46..486b94f27b90006a115021e35d08277335b5275d 100644 (file)
@@ -158,14 +158,6 @@ Session::sync_time_vars ()
        }
        _smpte_frames_per_hour = (nframes_t)rint(smpte_frames_per_second() * 3600.0);
 
-}
-
-int
-Session::set_smpte_format (SmpteFormat format)
-{
-
-       Config->set_smpte_format (format);
-
        last_smpte_valid = false;
        // smpte type bits are the middle two in the upper nibble
        switch ((int) ceil (smpte_frames_per_second())) {
@@ -186,7 +178,13 @@ Session::set_smpte_format (SmpteFormat format)
                }
                break;
        };
+}
 
+int
+Session::set_smpte_format (SmpteFormat format)
+{
+       /* this will trigger any other changes needed */
+       Config->set_smpte_format (format);
        return 0;
 }
 
index e4811ca18ddabe16d65624273141543138bce56c..22d30fda9d03bac595b54d5cfa7e4b2c87b8b907 100644 (file)
@@ -1255,3 +1255,13 @@ Session::allow_auto_play (bool yn)
 {
        auto_play_legal = yn;
 }
+
+void
+Session::reset_jack_connection (jack_client_t* jack)
+{
+       JACK_Slave* js;
+
+       if (_slave && ((js = dynamic_cast<JACK_Slave*> (_slave)) != 0)) {
+               js->reset_client (jack);
+       }
+}
index 14bf361831155ca0482139f15d4eb09f04b1a3ad..9e439ba4c6902690e784a1c93d2e5ef4338a0843 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <map>
 #include <vector>
 
index 7baedd41212d6ec848e6f437fb35fbd002ab8528..2c2e69f6b68e8b712ed1be9f50fdb57def0c1554 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <cstdio>
 #include <iostream>
 
index dbe833d06b122d84d4101b7d8b1de3000336f011..706fc28e2f5d314d0cd3458463d3d461a7b9080e 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <gtkmm2ext/focus_entry.h>
 
 using namespace Gtkmm2ext;
index 19984fb294caa6ef4aee42fd53baa6ee61b1bf0c..b6dcdc05c12b12ad4bcd7aec796e9afc6e01dc40 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __pbd_gtkmm_choice_h__
 #define __pbd_gtkmm_choice_h__
 
index f8beb75873fcb4c5d3051edab5286c0c400ad96e..fbc5ea90ef1604b665e0f00d73246c2dacf00082 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __gtkmm2ext_dndtreeview_h__
 #define __gtkmm2ext_dndtreeview_h__
 
index 5d9d7fdac711aab90335b4431a516492a11bd62a..3fb57b433d5d566eabecd6f3b288f6d0899c99e1 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __gtkmm2ext_focus_entry_h__
 #define __gtkmm2ext_focus_entry_h__
 
index 48e1cc449cd41ea098fb7522b691fad9e8a18d90..d8bda35cb544d54368ab534467490bcd5e9583ce 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __gtkmm2ext_idle_adjustment_h__
 #define __gtkmm2ext_idle_adjustment_h__
 
index 8739478a8fd5b912269486322fc0ddfd0d2488f6..ea33359a2527b7e6f5a41998e377290bf085e103 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __gtkmm2ext_pixscroller_h__ 
 #define __gtkmm2ext_pixscroller_h__
 
index 9c191a033e204efbd284efbff753bc7716efc14a..cb8dedca127955a5b50df581dbf91f05fe420a9c 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __ardour_gtk_stop_signal_h__
 #define __ardour_gtk_stop_signal_h__
 
index 1ce7d64b923cf93f474d43c76ecf4f64b5ba63c8..93b47d9d45bdc6ced096fd02279c63e169014ca4 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef WINDOW_TITLE_INCLUDED
 #define WINDOW_TITLE_INCLUDED
 
index 45118283c5121286044d42f0136043a314b33fc8..3e3a3da566a5bf2c126a3a79b62ead48df4728fc 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #define _BSD_SOURCE
 #include <gtkmm2ext/idle_adjustment.h>
 #include <gtkmm/main.h>
index ffcafab123e74f37bdb3dbb7b786658fe16add83..949cae958b7bcfaa14102ec72853e80fd012c62c 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <string>
 #include <iostream>
 
index 237be1ff0f6758fa5a712d7163a4e2bd061e3e3e..7c942d7f200f946f6b3c94f9d9b98f2e7fb07aef 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include "gtkmm2ext/window_title.h"
 
 #include "i18n.h"
index 218416d213889bf20dcbdb5111c7de4cf7f7d7c7..98855ca82d3efe47b1ada24b84c2c6506a82ed86 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __midi_types_h__
 #define __midi_types_h__
 
index d3c8d5e4c77ca436b2253fbce44ae8d52473a5f8..8dd056b783a2ab4fc9c0361eb9fccd94005fc526 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <stdint.h>
 #include <unistd.h>
 #include <fcntl.h>
index 9beed93625cf398a5bf556fc58eaad0fe86c8388..0b631f42491b8a5e71930a2c412fbc90f02cdf55 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <pbd/basename.h>
 #include <glibmm/miscutils.h>
 
index 5b41691c07cae0ff3ad8754f7f901489952e0dc8..f84d99491f75fb76d31e3095a2186668fb5650c8 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <pbd/command.h>
 #include <pbd/xml++.h>
 
index 00638e6c06cc3312b159723913b3671523ef49aa..039eb43e3ab633594f9b20eb071c2a5e0e736790 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <pbd/controllable.h>
 #include <pbd/xml++.h>
 #include <pbd/error.h>
index d36ecef58a132dd780c1bcab4dc4b8833c635b9f..2284a6b26dbf2f5d0a90e92da76d8556665e6fde 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <fstream>
 #include <unistd.h>
 
index a6f8fb7f8f56bba1281b12955ad54caea6b58cb6..f3568d0877402befe87f14c697b0e32360b79729 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <pbd/error.h>
 
 Transmitter  PBD::error (Transmitter::Error);
index 353776de9f5c585acc89be5ef59cf2a420dcc25e..642243a36aeeee8758dc15ea5822d50615f4585d 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <ostream>
 #include <iostream>
 #include <stdio.h>
index b4570f87076bfec2d7686056ddcf13f7ba8cb3fd..0928512841231afca93c4aaf22dafdc3d6b419cc 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __pbd_base_ui_h__
 #define __pbd_base_ui_h__
 
index a62264354181abc8b0d7f30338f9966bc5728100..f13c3840dc38aab393b9546d9cf4e19b45dbe33f 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __stupid_basename_h__
 #define __stupid_basename_h__
 
index c152013c663f896c5d43b4ce6fbb4a23c5cd165d..ed41af1be85fa8b2691511092c1e25f2bdf68136 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __pbd_controllable_h__
 #define __pbd_controllable_h__
 
index 8a1bf242bb9a2922c2299d1aa0a71247bd573b9a..1e8c5c2a42021a5b5ee903eae7577f72a3de25a1 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <glibmm/ustring.h>
 
 namespace PBD {
index 413dea024e4c1c54c95795cd01523fab1798dfdd..b815cfd31953fffa3317869dfc058e1caed46c02 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __pbd__crossthread_h__
 #define __pbd__crossthread_h__
 
index 7c5080633489dd7ce2050dc25d99d39aea2d4ea9..827feb8fe5e759050800ea2ca324d726a52c29de 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __pbd_destructible_h__
 #define __pbd_destructible_h__
 
index 62eb6c0d712b652114af5cd4c85aef72bbcdd8e3..b13964e35531fd5e7b1554a38d3c074314cb75eb 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __pbd_failed_constructor_h__
 #define __pbd_failed_constructor_h__
 
index 2af3711390f4529f2ab2b3a3fadefde59ae91688..236cffa3010c772009922fa74ee3cbbc1eac70ca 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __forkexec_h__
 #define __forkexec_h__
 
index eb3691d99ec7e98167cb7b692847207d29c5f999..3f87a65e0d57f91dbb7d7ba6d0d590fdfc85fcfe 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __pbd_id_h__
 #define __pbd_id_h__
 
index 346e7858c42daa53ed2f90e6313148925a53e966..0a48d4d949eec7c084b553bda1f9f125158819c1 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __libmisc_pathscanner_h__
 #define __libmisc_pathscanner_h__
 
index 482b5b54cf93f735a220b567f976e9f5a4b9665e..9fa6ba4ce4023d9ceefd707b1c7f9bbe7386e112 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __pbd_pthread_utils__
 #define __pbd_pthread_utils__
 
index 8b0b8b3548dca2784895f85e5f84923df1475e03..8b8f693e7e4291a7ff1c5aa41810776fbfe9064b 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __pbd_rcu_h__
 #define __pbd_rcu_h__
 
index 44346372831f3feac6c202b240a67d6105d5d33c..3bc465d89fa9c0dbdffc6e6316f961c176a47c9f 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __pbd_replace_all_h__
 #define __pbd_replace_all_h__
 
index 53b613ea2b0cc14e1f66e1a096a477d31145b5f6..2e53ff65f5d52efce89b9ca036c2729688fa3a18 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __pbd_shiva_h__
 #define __pbd_shiva_h__
 
index d126472e77cf0e0d8742536263e366cad81140d5..55431bf34e83e214a8fe5cd8ecf0f7e0b0941a51 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __pbd_shortpath_h__
 #define __pbd_shortpath_h__
 
index fa90a07355cafe83b9f512910e0d6fdde0a365fc..c6da6ed79dbe69f85ceb73c268510542f449a95c 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __libpbd_stacktrace_h__
 #define __libpbd_stacktrace_h__
 
index 708c10fc8e513d5066159a45ca34888fb1a631ba..83eff473d6dff23fca669dd15e0d5a0724a8b01b 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __pbd_stateful_destructible_h__
 #define __pbd_stateful_destructible_h__
 
index f36a3ae5f0f6535de58e8b4dbc295898a42a3fef..25c4526b6a085c56de91a5786e0fdf2acf186295 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __pbd_strplit_h__
 #define __pbd_strplit_h__
 
index b80e3eac4a4dcd7043c2cdb1320fcb5f021be3df..9206d1b6fb58c463d6eceb696762684739ade997 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef PBD_TOKENIZER
 #define PBD_TOKENIZER
 
index 6adb41641c70c879ee416fba73c5524191ddf739..444be112b064bf3e40d48f76bcc2b6c5d0acbb5a 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #ifndef __pbd_whitespace_h__
 #define __pbd_whitespace_h__
 
index 59af8e4dcbd7d35243443c2fb2915790f405318a..9f9598e6178f572af3030ba94758e2c32bd72f18 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <pbd/shortpath.h>
 
 using namespace Glib;
index 8a6eb606b219cbab981b3b85db2bdadec1ad581b..375fc1eecd9de484214976a21f6456da42b77aab 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <pbd/stacktrace.h>
 #include <iostream>
 
index dd90baf3249e6e3b7ce71137b9994a0153c87b08..7999b5c6c91c3badcf86269125290ede5be756e1 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <pbd/replace_all.h>
 
 int
index 1fb61121501d63419ae6f27f2db6162920727ab9..b7a7109af4159fe64f3b2f8411972c41b6001a28 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <pbd/strsplit.h>
 
 using namespace std;
index 9568c1781c694de71d4a0720990c235346c88254..b09d8301031a1de6de6bafc12e4971077eba6f2b 100644 (file)
@@ -1,3 +1,22 @@
+/*
+    Copyright (C) 2000-2007 Paul Davis 
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
 #include <pbd/whitespace.h>
 
 using namespace std;
index 2aaa70fc3e6107fac0168e440e4f7371553f8473..45b5ad85fa7cecf0f8fd1b51f968fecd36489086 100644 (file)
@@ -615,19 +615,12 @@ void Mackie::BcfSurface::init_controls()
        group->add( *control );
 
        group = groups["modifiers"];
-       control = new Button ( 71, 1, "option", *group );
-       buttons[0x47] = control;
+       control = new Button ( 80, 1, "option", *group );
+       buttons[0x50] = control;
        controls.push_back( control );
        controls_by_name["option"] = control;
        group->add( *control );
 
-       group = groups["modifiers"];
-       control = new Button ( 72, 1, "control", *group );
-       buttons[0x48] = control;
-       controls.push_back( control );
-       controls_by_name["control"] = control;
-       group->add( *control );
-
        group = groups["modifiers"];
        control = new Button ( 73, 1, "cmd_alt", *group );
        buttons[0x49] = control;
@@ -663,13 +656,6 @@ void Mackie::BcfSurface::init_controls()
        controls_by_name["snapshot"] = control;
        group->add( *control );
 
-       group = groups["automation"];
-       control = new Button ( 78, 1, "touch", *group );
-       buttons[0x4e] = control;
-       controls.push_back( control );
-       controls_by_name["touch"] = control;
-       group->add( *control );
-
        group = groups["functions"];
        control = new Button ( 79, 1, "redo", *group );
        buttons[0x4f] = control;
@@ -678,8 +664,8 @@ void Mackie::BcfSurface::init_controls()
        group->add( *control );
 
        group = groups["functions"];
-       control = new Button ( 80, 1, "marker", *group );
-       buttons[0x50] = control;
+       control = new Button ( 71, 1, "marker", *group );
+       buttons[0x47] = control;
        controls.push_back( control );
        controls_by_name["marker"] = control;
        group->add( *control );
@@ -706,15 +692,15 @@ void Mackie::BcfSurface::init_controls()
        group->add( *control );
 
        group = groups["transport"];
-       control = new Button ( 84, 1, "frm_left", *group );
-       buttons[0x54] = control;
+       control = new Button ( 91, 1, "frm_left", *group );
+       buttons[0x5b] = control;
        controls.push_back( control );
        controls_by_name["frm_left"] = control;
        group->add( *control );
 
        group = groups["transport"];
-       control = new Button ( 85, 1, "frm_right", *group );
-       buttons[0x55] = control;
+       control = new Button ( 92, 1, "frm_right", *group );
+       buttons[0x5c] = control;
        controls.push_back( control );
        controls_by_name["frm_right"] = control;
        group->add( *control );
@@ -727,15 +713,15 @@ void Mackie::BcfSurface::init_controls()
        group->add( *control );
 
        group = groups["transport"];
-       control = new Button ( 44, 1, "punch_in", *group );
-       buttons[0x2c] = control;
+       control = new Button ( 72, 1, "punch_in", *group );
+       buttons[0x48] = control;
        controls.push_back( control );
        controls_by_name["punch_in"] = control;
        group->add( *control );
 
        group = groups["transport"];
-       control = new Button ( 43, 1, "punch_out", *group );
-       buttons[0x2b] = control;
+       control = new Button ( 78, 1, "punch_out", *group );
+       buttons[0x4e] = control;
        controls.push_back( control );
        controls_by_name["punch_out"] = control;
        group->add( *control );
@@ -755,15 +741,15 @@ void Mackie::BcfSurface::init_controls()
        group->add( *control );
 
        group = groups["transport"];
-       control = new Button ( 91, 1, "rewind", *group );
-       buttons[0x5b] = control;
+       control = new Button ( 44, 1, "rewind", *group );
+       buttons[0x2c] = control;
        controls.push_back( control );
        controls_by_name["rewind"] = control;
        group->add( *control );
 
        group = groups["transport"];
-       control = new Button ( 92, 1, "ffwd", *group );
-       buttons[0x5c] = control;
+       control = new Button ( 43, 1, "ffwd", *group );
+       buttons[0x2b] = control;
        controls.push_back( control );
        controls_by_name["ffwd"] = control;
        group->add( *control );
@@ -1196,7 +1182,7 @@ void Mackie::BcfSurface::handle_button( MackieButtonHandler & mbh, ButtonState b
                        }
                        break;
 
-               case 0x47: // option
+               case 0x50: // option
                        switch ( bs ) {
                                case press: ls = mbh.option_press( button ); break;
                                case release: ls = mbh.option_release( button ); break;
@@ -1204,14 +1190,6 @@ void Mackie::BcfSurface::handle_button( MackieButtonHandler & mbh, ButtonState b
                        }
                        break;
 
-               case 0x48: // control
-                       switch ( bs ) {
-                               case press: ls = mbh.control_press( button ); break;
-                               case release: ls = mbh.control_release( button ); break;
-                               case neither: break;
-                       }
-                       break;
-
                case 0x49: // cmd_alt
                        switch ( bs ) {
                                case press: ls = mbh.cmd_alt_press( button ); break;
@@ -1252,14 +1230,6 @@ void Mackie::BcfSurface::handle_button( MackieButtonHandler & mbh, ButtonState b
                        }
                        break;
 
-               case 0x4e: // touch
-                       switch ( bs ) {
-                               case press: ls = mbh.touch_press( button ); break;
-                               case release: ls = mbh.touch_release( button ); break;
-                               case neither: break;
-                       }
-                       break;
-
                case 0x4f: // redo
                        switch ( bs ) {
                                case press: ls = mbh.redo_press( button ); break;
@@ -1268,7 +1238,7 @@ void Mackie::BcfSurface::handle_button( MackieButtonHandler & mbh, ButtonState b
                        }
                        break;
 
-               case 0x50: // marker
+               case 0x47: // marker
                        switch ( bs ) {
                                case press: ls = mbh.marker_press( button ); break;
                                case release: ls = mbh.marker_release( button ); break;
@@ -1300,7 +1270,7 @@ void Mackie::BcfSurface::handle_button( MackieButtonHandler & mbh, ButtonState b
                        }
                        break;
 
-               case 0x54: // frm_left
+               case 0x5b: // frm_left
                        switch ( bs ) {
                                case press: ls = mbh.frm_left_press( button ); break;
                                case release: ls = mbh.frm_left_release( button ); break;
@@ -1308,7 +1278,7 @@ void Mackie::BcfSurface::handle_button( MackieButtonHandler & mbh, ButtonState b
                        }
                        break;
 
-               case 0x55: // frm_right
+               case 0x5c: // frm_right
                        switch ( bs ) {
                                case press: ls = mbh.frm_right_press( button ); break;
                                case release: ls = mbh.frm_right_release( button ); break;
@@ -1324,7 +1294,7 @@ void Mackie::BcfSurface::handle_button( MackieButtonHandler & mbh, ButtonState b
                        }
                        break;
 
-               case 0x2c: // punch_in
+               case 0x48: // punch_in
                        switch ( bs ) {
                                case press: ls = mbh.punch_in_press( button ); break;
                                case release: ls = mbh.punch_in_release( button ); break;
@@ -1332,7 +1302,7 @@ void Mackie::BcfSurface::handle_button( MackieButtonHandler & mbh, ButtonState b
                        }
                        break;
 
-               case 0x2b: // punch_out
+               case 0x4e: // punch_out
                        switch ( bs ) {
                                case press: ls = mbh.punch_out_press( button ); break;
                                case release: ls = mbh.punch_out_release( button ); break;
@@ -1356,7 +1326,7 @@ void Mackie::BcfSurface::handle_button( MackieButtonHandler & mbh, ButtonState b
                        }
                        break;
 
-               case 0x5b: // rewind
+               case 0x2c: // rewind
                        switch ( bs ) {
                                case press: ls = mbh.rewind_press( button ); break;
                                case release: ls = mbh.rewind_release( button ); break;
@@ -1364,7 +1334,7 @@ void Mackie::BcfSurface::handle_button( MackieButtonHandler & mbh, ButtonState b
                        }
                        break;
 
-               case 0x5c: // ffwd
+               case 0x2b: // ffwd
                        switch ( bs ) {
                                case press: ls = mbh.ffwd_press( button ); break;
                                case release: ls = mbh.ffwd_release( button ); break;
index 81d249588e9e0c81431f6fba11a395f5d0295697..15beb275aaddee7b941e91747fc08a96db7554e6 100644 (file)
@@ -37,6 +37,7 @@
 #include <midi++/manager.h>
 #include <pbd/pthread_utils.h>
 #include <pbd/error.h>
+#include <pbd/memento_command.h>
 
 #include <ardour/route.h>
 #include <ardour/session.h>
@@ -256,7 +257,9 @@ void MackieControlProtocol::switch_banks( int initial )
        int delta = sorted.size() - route_table.size();
        if ( initial < 0 || ( delta > 0 && initial > delta ) )
        {
+#ifdef DEBUG
                cout << "not switching to " << initial << endl;
+#endif
                return;
        }
        _current_initial_bank = initial;
@@ -416,7 +419,9 @@ int MackieControlProtocol::set_active (bool yn)
                }
                catch( exception & e )
                {
+#ifdef DEBUG
                        cout << "set_active to false because exception caught: " << e.what() << endl;
+#endif
                        _active = false;
                        throw;
                }
@@ -497,8 +502,10 @@ void MackieControlProtocol::update_global_button( const string & name, LedState
        }
        else
        {
+#ifdef DEBUG
                cout << "Button " << name << " not found" << endl;
-       }
+#endif
+               }
 }
 
 // send messages to surface to set controls to correct values
@@ -674,7 +681,9 @@ void MackieControlProtocol::close()
                }
                catch ( exception & e )
                {
+#ifdef DEBUG
                        cout << "MackieControlProtocol::close caught exception: " << e.what() << endl;
+#endif
                }
                
                for( MackiePorts::iterator it = _ports.begin(); it != _ports.end(); ++it )
@@ -691,7 +700,9 @@ void MackieControlProtocol::close()
                        }
                        catch ( exception & e )
                        {
+#ifdef DEBUG
                                cout << "MackieControlProtocol::close caught exception: " << e.what() << endl;
+#endif
                        }
                }
                
@@ -757,7 +768,9 @@ int MackieControlProtocol::set_state( const XMLNode & node )
                }
                catch ( exception & e )
                {
+#ifdef DEBUG
                        cout << "exception in MackieControlProtocol::set_state: " << e.what() << endl;
+#endif
                        return -1;
                }
        }
@@ -1038,7 +1051,7 @@ void MackieControlProtocol::poll_automation()
 // Transport Buttons
 /////////////////////////////////////
 
-LedState MackieControlProtocol::rewind_press( Button & button )
+LedState MackieControlProtocol::frm_left_press( Button & button )
 {
        // can use first_mark_before/after as well
        Location * loc = session->locations()->first_location_before (
@@ -1048,12 +1061,12 @@ LedState MackieControlProtocol::rewind_press( Button & button )
        return on;
 }
 
-LedState MackieControlProtocol::rewind_release( Button & button )
+LedState MackieControlProtocol::frm_left_release( Button & button )
 {
        return off;
 }
 
-LedState MackieControlProtocol::ffwd_press( Button & button )
+LedState MackieControlProtocol::frm_right_press( Button & button )
 {
        // can use first_mark_before/after as well
        Location * loc = session->locations()->first_location_after (
@@ -1063,7 +1076,7 @@ LedState MackieControlProtocol::ffwd_press( Button & button )
        return on;
 }
 
-LedState MackieControlProtocol::ffwd_release( Button & button )
+LedState MackieControlProtocol::frm_right_release( Button & button )
 {
        return off;
 }
@@ -1112,6 +1125,36 @@ LedState MackieControlProtocol::record_release( Button & button )
                return off;
 }
 
+LedState MackieControlProtocol::rewind_press( Button & button )
+{
+       session->request_transport_speed( -4.0 );
+       return on;
+}
+
+LedState MackieControlProtocol::rewind_release( Button & button )
+{
+       if ( _transport_previously_rolling )
+               session->request_transport_speed( 1.0 );
+       else
+               session->request_stop();
+       return off;
+}
+
+LedState MackieControlProtocol::ffwd_press( Button & button )
+{
+       session->request_transport_speed( 4.0 );
+       return on;
+}
+
+LedState MackieControlProtocol::ffwd_release( Button & button )
+{
+       if ( _transport_previously_rolling )
+               session->request_transport_speed( 1.0 );
+       else
+               session->request_stop();
+       return off;
+}
+
 ///////////////////////////////////////////
 // Session signals
 ///////////////////////////////////////////
@@ -1133,7 +1176,9 @@ void MackieControlProtocol::notify_parameter_changed( const char * name_str )
        }
        else
        {
+#ifdef DEBUG
                cout << "parameter changed: " << name << endl;
+#endif
        }
 }
 
@@ -1198,6 +1243,8 @@ void MackieControlProtocol::notify_transport_state_changed()
        update_global_button( "stop", !session->transport_rolling() );
        update_global_button( "loop", session->get_play_loop() );
        
+       _transport_previously_rolling = session->transport_rolling();
+       
        // rec is special because it's tristate
        Button * rec = reinterpret_cast<Button*>( surface().controls_by_name["record"] );
        mcu_port().write( builder.build_led( *rec, record_release( *rec ) ) );
@@ -1376,3 +1423,27 @@ LedState MackieControlProtocol::channel_right_release( Button & button )
 {
        return off;
 }
+
+/////////////////////////////////////
+// Functions
+/////////////////////////////////////
+LedState MackieControlProtocol::marker_press( Button & button )
+{
+       // cut'n'paste from LocationUI::add_new_location()
+       string markername;
+       nframes_t where = session->audible_frame();
+       session->locations()->next_available_name(markername,"mcu");
+       Location *location = new Location (where, where, markername, Location::IsMark);
+       session->begin_reversible_command (_("add marker"));
+       XMLNode &before = session->locations()->get_state();
+       session->locations()->add (location, true);
+       XMLNode &after = session->locations()->get_state();
+       session->add_command (new MementoCommand<Locations>(*(session->locations()), &before, &after));
+       session->commit_reversible_command ();
+       return on;
+}
+
+LedState MackieControlProtocol::marker_release( Button & button )
+{
+       return off;
+}
index d71979b46371975e7562ca911234b6dde6784502..de440752621b791072f4305377c36f9f873c2c72 100644 (file)
@@ -124,11 +124,11 @@ class MackieControlProtocol
        void update_global_button( const std::string & name, Mackie::LedState );
   
    // transport button handler methods from MackieButtonHandler
-       virtual Mackie::LedState rewind_press( Mackie::Button & );
-       virtual Mackie::LedState rewind_release( Mackie::Button & );
+       virtual Mackie::LedState frm_left_press( Mackie::Button & );
+       virtual Mackie::LedState frm_left_release( Mackie::Button & );
 
-       virtual Mackie::LedState ffwd_press( Mackie::Button & );
-       virtual Mackie::LedState ffwd_release( Mackie::Button & );
+       virtual Mackie::LedState frm_right_press( Mackie::Button & );
+       virtual Mackie::LedState frm_right_release( Mackie::Button & );
 
        virtual Mackie::LedState stop_press( Mackie::Button & );
        virtual Mackie::LedState stop_release( Mackie::Button & );
@@ -154,7 +154,13 @@ class MackieControlProtocol
        virtual Mackie::LedState end_press( Mackie::Button & );
        virtual Mackie::LedState end_release( Mackie::Button & );
        
-   // bank switching button handler methods from MackieButtonHandler
+       virtual Mackie::LedState rewind_press( Mackie::Button & button );
+       virtual Mackie::LedState rewind_release( Mackie::Button & button );
+
+       virtual Mackie::LedState ffwd_press( Mackie::Button & button );
+       virtual Mackie::LedState ffwd_release( Mackie::Button & button );
+
+       // bank switching button handler methods from MackieButtonHandler
        virtual Mackie::LedState left_press( Mackie::Button & );
        virtual Mackie::LedState left_release( Mackie::Button & );
 
@@ -172,6 +178,10 @@ class MackieControlProtocol
        
        virtual Mackie::LedState global_solo_press( Mackie::Button & );
        virtual Mackie::LedState global_solo_release( Mackie::Button & );
+       
+       // function buttons
+       virtual Mackie::LedState marker_press( Mackie::Button & );
+       virtual Mackie::LedState marker_release( Mackie::Button & );
 
   protected:
        // create instances of MackiePort, depending on what's found in ardour.rc
@@ -302,6 +312,8 @@ class MackieControlProtocol
        bool _polling;
        struct pollfd * pfd;
        int nfds;
+       
+       bool _transport_previously_rolling;
 };
 
 #endif // ardour_mackie_control_protocol_h
index 6a6d66f6ac819bd2ba74fe52b2e8893960e2aa6a..e22965a906543e70307ab286121188076662293f 100644 (file)
@@ -49,30 +49,28 @@ button,1,,F15,1,0,0x44
 button,1,,F16,1,0,0x45
 # turn on/off all solos
 button,1,,global_solo,1,0,0x27
-button,1,modifiers,option,1,0,0x47
-button,1,modifiers,control,1,0,0x48
+button,1,modifiers,option,1,0,0x50
 button,1,modifiers,cmd_alt,1,0,0x49
 button,1,automation,on,1,1,0x4a
 button,1,automation,rec_ready,1,1,0x4b
 button,1,functions,undo,1,1,0x4c
 button,1,automation,snapshot,1,1,0x4d
-button,1,automation,touch,1,1,0x4e
 button,1,functions,redo,1,1,0x4f
-button,1,functions,marker,1,1,0x50
+button,1,functions,marker,1,1,0x47
 button,1,functions,enter,1,1,0x51
 button,1,functions,cancel,1,0,0x52
 button,1,functions,mixer,1,0,0x53
-button,1,transport,frm_left,1,1,0x54
-button,1,transport,frm_right,1,1,0x55
+
+# transport buttons
+button,1,transport,frm_left,1,1,0x5b
+button,1,transport,frm_right,1,1,0x5c
 button,1,transport,loop,1,1,0x46
-button,1,transport,punch_in,1,1,0x2c
-button,1,transport,punch_out,1,1,0x2b
+button,1,transport,punch_in,1,1,0x48
+button,1,transport,punch_out,1,1,0x4e
 button,1,transport,home,1,1,0x2a
 button,1,transport,end,1,1,0x29
-
-# transport buttons
-button,1,transport,"rewind",1,1,0x5b
-button,1,transport,"ffwd",1,1,0x5c
+button,1,transport,"rewind",1,1,0x2c
+button,1,transport,"ffwd",1,1,0x2b
 button,1,transport,"stop",1,1,0x5d
 button,1,transport,"play",1,1,0x5e
 button,1,transport,"record",1,1,0x1f
index da9b6aafeb465850b63099e5ce05d8f212ce1aa0..829ccb4d5d468d9d685340c9c287ca505f626469 100644 (file)
                   Making a pot pretend to be a shuttle wheel doesn't work
                   very well.
                 </para>
-                </footnote> / nothing
+                </footnote> / global solo
               </entry>
 
               <entry namest="Buttons 1" nameend="Buttons 2">
               </entry>
 
               <entry>
-                loop
+                <para>loop</para>
+                                                               <para>shift 1: marker</para>
+                                                               <para>shift 2: punch in</para>
               </entry>
             </row>
 
               </entry>
 
               <entry>
-                click
+                <para>click</para>
+                                                               <para>shift 2: punch out</para>
               </entry>
             </row>
 
               </entry>
 
               <entry>
-                punch in
+                rewind
               </entry>
 
               <entry>
-                punch out
+                ffwd
               </entry>
             </row>
 
 
             <row>
               <entry>
-                previous bank (shift 1 is previous route)
+                <para>previous bank</para>
+                                                               <para>shift 1: previous route</para>
               </entry>
 
               <entry>
-                next bank (shift 1 is next route)
+                <para>next bank</para>
+                                                               <para>shift 1: next route</para>
               </entry>
             </row>
 
index cac9bb0c97dff6dc8a70973c84af8e0cc9b70cd1..06531d29663b4ce977204d978f503cecc4c20ab2 100644 (file)
@@ -1,4 +1,4 @@
 #ifndef __ardour_svn_revision_h__
 #define __ardour_svn_revision_h__
-static const char* ardour_svn_revision = "1681";
+static const char* ardour_svn_revision = "1745";
 #endif
diff --git a/tools/ARDOUR/AutomationSRConverter.pm b/tools/ARDOUR/AutomationSRConverter.pm
new file mode 100644 (file)
index 0000000..afd8f6c
--- /dev/null
@@ -0,0 +1,61 @@
+package ARDOUR::AutomationSRConverter;
+
+sub new {
+       my ($type, $input, $output, $inputSR, $outputSR) = @_;
+
+       my $self = bless {}, $type;
+
+       $self->{Input}  = $input;
+       $self->{Output} = $output;
+       $self->{Ratio}  = ($outputSR+0) / ($inputSR+0);
+
+       return $self;
+}
+
+sub readline {
+       my ($self) = @_;
+
+       my $buf;
+       my $c='';
+       
+       do {
+               $buf.=$c;
+               $c=$self->{Input}->getc;
+       } while ($c ne '' && $c ne "\n");
+       
+       return $buf;
+}
+
+sub writeline {
+       my ($self, $line) = @_;
+
+       $self->{Output}->print($line."\n");
+}
+
+sub convert {
+       my ($self) = @_;
+
+       my $version=$self->readline;
+
+       if ($version ne "version 1") {
+               die ("Unsupported automation version $version");
+       }
+
+       $self->writeline($version);
+
+       my $buf = $self->readline;
+       while ( $buf ne "" ) {
+               if ( $buf eq "begin" ||
+                    $buf eq "end") {
+                       $self->writeline($buf);
+               } else {
+                       my ($type, $position, $value) = split(' ', $buf);
+               
+                       $self->writeline($type." ".sprintf("%.0f",$position*$self->{Ratio})." ".$value);
+               }
+
+               $buf = $self->readline;
+       }
+}
+
+1;
diff --git a/tools/ARDOUR/SessionSRHandler.pm b/tools/ARDOUR/SessionSRHandler.pm
new file mode 100644 (file)
index 0000000..8bfe665
--- /dev/null
@@ -0,0 +1,120 @@
+package ARDOUR::SessionSRHandler;
+
+
+use XML::Handler::XMLWriter;
+use POSIX qw(floor);
+
+@ISA = qw( XML::Handler::XMLWriter );
+
+$VERSION = 0.1;
+
+# This table maps the "names of XML elements" to lists of "names of attributes" which should
+# be converted according to the SR change.
+# TODO: The table is a bit dirty, i have to figure out how to do it cleanly
+my $conversion_table = {
+       "Location"  => { "end" => 0, "start" => 0 },
+       "Region"    => { "length" => 0, "start" => 0, "position" => 0, "sync-position" => 0 }, 
+       "Crossfade" => { "left" => 0, "right" => 0 }
+       };
+
+
+sub new {
+    my ($type, $original_sr, $new_sr, $output) = @_;
+
+       #my $self = XML::Handler::XMLWriter->new( { Output => $output } );
+       
+       my $self = $type->SUPER::new( Output => $output );
+       
+       $self->{Debug} = 0;
+       $self->{Ratio} = ($new_sr+0)/($original_sr+0);
+       $self->{OriginalSR} = $original_sr;
+       $self->{TargetSR} = $new_sr;
+       $self->{Output} = $output;
+       
+       $self->{InEvents} = 0;
+
+       return $self;
+}
+
+sub start_element {
+       my $self = shift;
+       my $element = shift;
+
+       my $debug = $self->{Debug};
+
+       my $atts = $element->{Attributes};
+
+       my $convert_attributes = $conversion_table->{$element->{Name}};
+
+       foreach my $cAtt (keys %$convert_attributes) {
+               $atts->{$cAtt} = sprintf("%.0f", $atts->{$cAtt} * $self->{Ratio});
+               $debug = 0;
+       }
+
+       if ($debug eq 0) {
+               $self->SUPER::start_element($element, @_);
+       }
+
+       if ($element->{Name} eq "events") {
+               $self->{InEvents} = 1;
+       }
+}
+
+sub end_element {
+       my $self = shift;
+       my $element = shift;
+
+       if ($self->{Debug} eq 0) {
+               $self->SUPER::end_element($element,@_);
+       }
+
+       if ($element->{Name} eq "events") {
+               $self->{InEvents} = 0;
+       }
+}
+
+sub start_document {
+       my $self = shift;
+
+       $self->SUPER::start_document(@_);
+       
+       $self->{Output}->print("<!-- Sample rate converted from $self->{OriginalSR}hz to $self->{TargetSR}hz -->\n");
+}
+
+sub end_document {
+       my $self = shift;
+
+       $self->SUPER::end_document(@_);
+}
+
+sub characters {
+       my $self = shift;
+       my $c = shift;
+
+       if ($self->{InEvents} > 0) {
+               my $converted = "";
+
+               foreach my $foo (split(' ',$c->{Data})) {
+                       if ($self->{InEvents} eq 1) {
+                               $converted .= floor($foo * $self->{Ratio})." ";
+                               $self->{InEvents} = 2;
+                       } else {
+                               $converted .= $foo." ";
+                               $self->{InEvents} = 1;
+                       }
+               }
+
+               $c->{Data} = $converted;
+       }
+
+
+       if ($self->{Debug} eq 0) {
+               $self->SUPER::characters($c, @_);
+       }
+
+}
+
+1;
+
+
+
diff --git a/tools/resample_session.pl b/tools/resample_session.pl
new file mode 100755 (executable)
index 0000000..c6a390f
--- /dev/null
@@ -0,0 +1,201 @@
+#!/usr/bin/env perl
+# Ardour session resampler, version 0.1
+# (c)Sampo Savolainen 2005-2007
+#
+# Licensed under the GPL 
+#
+# Copies the session to another directory and changes it's sampling rate in all respects.
+# The frames in .ardour and .automation files are converted according to the conversion ration.
+# The peakfiles and dead_sounds aren't copied. Only "identified" files are copied, instant.xml's
+# or .bak's aren't copied either.
+
+use XML::Parser::PerlSAX;
+use XML::Handler::XMLWriter;
+use IO::Handle;
+
+use File::Basename;
+
+use ARDOUR::SessionSRHandler;
+# Let's hope this is never needed
+#use ARDOUR::AutomationSRConverter;
+
+
+if ( ! -f "/usr/bin/sndfile-resample" &&
+     ! -f "/usr/local/bin/sndfile-resample") {
+       print "You don't have sndfile-resample installed. This script will not work without it, please install it and try again\n";
+       exit;
+}
+
+my ($sourceDirectory, $destDirectory, $sourceSR, $destSR) = @ARGV;
+
+if ((@ARGV+0) ne 4 ||
+    ($sourceSR+0) eq 0 ||
+       ($destSR+0)   eq 0) {
+       print "usage: ardour_sr.pl [ardour session directory] [destination directory] [original samplerate] [new samplerate]\n";
+       exit;
+}
+
+if ( ! -d $sourceDirectory) {
+       print $sourceDirectory.": directory does not exist!\n";
+       exit;
+}
+
+if ( -d $destDirectory) {
+       print $destDirectory.": directory exists!\n";
+       exit;
+}
+
+print "Checking source and destination directories\n";
+
+my @sounds;
+my @dead_sounds;
+my @dot_ardour;
+my @automation;
+
+
+my $version_099x = 0;
+
+# Read the names of all audio files in /sounds/
+if ( -d $sourceDirectory."/sounds/") {
+       $version_099x = 1;
+
+       opendir(SOUNDS,$sourceDirectory."/sounds/") || die ($sourceDirectory.": not a valid session, no sounds/ directory");
+       while ( my $file=readdir(SOUNDS) ) {
+               if ( -f $sourceDirectory."/sounds/".$file ) {
+                       push(@sounds,$file);
+               }
+       }
+
+} else {
+       my $dirname = $sourceDirectory."/interchange/".basename($sourceDirectory)."/audiofiles/";
+       opendir(SOUNDS,$dirname) || die ($sourceDirectory.": not a valid session, no sounds/ directory");
+       while ( my $file=readdir(SOUNDS) ) {
+               if ( -f $dirname.$file ) {
+                       push(@sounds,$file);
+               }
+       }
+
+}
+close(SOUNDS);
+
+# Read the names of all audio files in /dead_sounds/
+opendir(DEAD_SOUNDS,$sourceDirectory."/dead_sounds/") || die ($sourceDirectory.": not a valid session, no dead_sounds/ directory");
+while ( my $file=readdir(DEAD_SOUNDS) ) {
+       if ( -f $sourceDirectory."/dead_sounds/".$file ) {
+               push(@dead_sounds,$file);
+       }
+}
+close(DEAD_SOUNDS);
+
+# Read the names of all .ardour files in /
+opendir(DOT_ARDOUR,$sourceDirectory) || die ($sourceDirectory.": could not open!");
+while ( my $file=readdir(DOT_ARDOUR) ) {
+       if ( -f $sourceDirectory."/".$file && 
+            index($file,".ardour") eq (length($file)-7)) {
+               push(@dot_ardour,$file);
+       }
+}
+close(DOT_ARDOUR);
+
+# Read the names of all automation files in /automation/
+opendir(AUTOMATION,$sourceDirectory."/automation/") || die ($sourceDirectory."/automation: could not open!");
+while ( my $file=readdir(AUTOMATION) ) {
+       if ( -f $sourceDirectory."/automation/".$file && 
+            index($file,".automation") eq (length($file)-11)) {
+               push(@automation,$file);
+       }
+}
+close(AUTOMATION);
+
+# Check for /peaks/
+if ( ! -d $sourceDirectory."/peaks" ) {
+       print $sourceDirectory.": not a valid session, no peaks/ directory\n";
+       exit;
+}
+
+##########################################
+# Checks are done, let's go!
+
+print "Converting session\n";
+mkdir $destDirectory;
+
+
+# Run all .ardour files through the SAX parser and write the results in the destination
+# directory.
+
+foreach my $xml (@dot_ardour) {
+       print "Doing samplerate conversion to ".$xml."...";
+       open(OUTFILE,">".$destDirectory."/".$xml);
+       my $output = new IO::Handle;
+       $output->fdopen(fileno(OUTFILE),"w");
+       
+       my $handler = ARDOUR::SessionSRHandler->new($sourceSR,$destSR,$output);
+
+       my $parser = XML::Parser::PerlSAX->new( Handler => $handler );
+
+    $parser->parse(Source => { SystemId => $sourceDirectory."/".$xml });
+
+       $output->close();
+       close(OUTFILE);
+       print " done\n";
+}
+
+# This code is needed for 0.99.x sessions, thus the code is still here.
+#
+#mkdir $destDirectory."/automation";
+#
+#foreach my $file (@automation) {
+#      print "Converting automation file ".$file."...";
+#      open(INFILE,$sourceDirectory."/automation/".$file) || die "could not open source automation file $file!";
+#      open(OUTFILE,">".$destDirectory."/automation/".$file) || die "could not open destination automation file $file!";
+#      my $input=new IO::Handle;
+#      my $output=new IO::Handle;
+#
+#      $input->fdopen(fileno(INFILE),"r");
+#      $output->fdopen(fileno(OUTFILE),"w");
+#
+#      my $converter = ARDOUR::AutomationSRConverter->new($input,$output,$sourceSR,$destSR);
+#      $converter->convert;
+#
+#      $input->close;
+#      $output->close;
+#      close(INFILE);
+#      close(OUTFILE);
+#      print " done\n";
+#}
+
+
+if ($version_099x eq 1) {
+       mkdir $destDirectory."/sounds";
+       foreach my $sound (@sounds) {
+               my @params=("-to", $destSR,
+                           "-c",  "0",
+                           $sourceDirectory."/sounds/".$sound,
+                           $destDirectory."/sounds/".$sound);
+               system("sndfile-resample",@params);
+       }
+} else {
+       my $srcSndDir = $sourceDirectory."/interchange/".basename($sourceDirectory)."/audiofiles/";
+       
+       my $dstSndDir = $destDirectory."/interchange/";
+       mkdir $dstSndDir;
+
+       $dstSndDir .= basename($sourceDirectory)."/";
+       mkdir $dstSndDir;
+
+       $dstSndDir .= "audiofiles/";
+       mkdir $dstSndDir;
+       
+       foreach my $sound (@sounds) {
+               my @params=("-to", $destSR,
+                           "-c",  "0",
+                           $srcSndDir."/".$sound,
+                           $dstSndDir."/".$sound);
+               system("sndfile-resample",@params);
+       }
+}
+
+mkdir $destDirectory."/dead_sounds";
+mkdir $destDirectory."/peaks";
+
+
index 825476c9673ce486b42c143c35798be283cea4f7..9ba266e97052d00e5840aed28b5feed5efd75491 100755 (executable)
@@ -111,6 +111,7 @@ class Data(object):
                sessions[session_name]['collabs'][collab_name]['sounds'] = []
                sessions[session_name]['collabs'][collab_name]['ip'] = ip_address
                sessions[session_name]['collabs'][collab_name]['port'] = port
+               sessions[session_name]['collabs'][collab_name]['v2paths'] = true
                self._data['sessions'] = sessions
                
                client = ExchangeClientFactory(session_name, collab_name, None, self.debug_mode)
@@ -129,6 +130,10 @@ class Data(object):
                sessions[session_name]['collabs'][self._data['user']] = {}
                sessions[session_name]['collabs'][self._data['user']]['snaps'] = []
                sessions[session_name]['collabs'][self._data['user']]['sounds'] = []
+               if os.path.test (os.path.join (session_path,'sounds')):
+                       sessions[session_name]['collabs'][collab_name]['v2paths'] = False
+               else:
+                       sessions[session_name]['collabs'][collab_name]['v2paths'] = True
                
                self._data['sessions'] = sessions
                
@@ -150,7 +155,8 @@ class Data(object):
        def create_session(self, session_path):
                try:
                        os.mkdir(session_path)
-                       os.mkdir(session_path+"/sounds")
+                       os.mkdir(os.path.join (session_path,'interchange',session_name,'audiofiles'))
+
                except OSError:
                        raise_error("Could not create session directory", g_display.window)
                        return
@@ -230,7 +236,10 @@ class Data(object):
        
        def _scan_sounds(self, session):
                sounds = []
-               files = os.listdir(session+'/sounds')
+               if v2paths:
+                       files = os.listdir(os.path.join (session,'interchange', session, 'audiofiles'))
+               else:
+                       files = os.listdir(os.path.join (session,'sounds'))
                pattern = re.compile(r'\.peak$')
                for file in files:
                        if not pattern.search(file):
@@ -755,21 +764,21 @@ class ArdourShareWindow(object):
                #need to hold a reference to the item_factory or the menubar will disappear.
                self.item_factory = gtk.ItemFactory(gtk.MenuBar, '<main>', accel_group)
                self.item_factory.create_items(menu_items, self.window)
-               main_box.pack_start(self.item_factory.get_widget('<main>'), gtk.FALSE)
+               main_box.pack_start(self.item_factory.get_widget('<main>'), False)
                
                pane1 = gtk.HPaned()
                pane2 = gtk.HPaned()
-               pane1.pack2(pane2, gtk.TRUE, gtk.FALSE)
+               pane1.pack2(pane2, True, False)
                
                scroll1 = gtk.ScrolledWindow()
                scroll1.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-               pane1.pack1(scroll1, gtk.TRUE, gtk.FALSE)
+               pane1.pack1(scroll1, True, False)
                scroll2 = gtk.ScrolledWindow()
                scroll2.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-               pane2.pack1(scroll2, gtk.TRUE, gtk.FALSE)
+               pane2.pack1(scroll2, True, False)
                scroll3 = gtk.ScrolledWindow()
                scroll3.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-               pane2.pack2(scroll3, gtk.TRUE, gtk.FALSE)
+               pane2.pack2(scroll3, True, False)
                
                self.session_model = gtk.ListStore(gobject.TYPE_STRING)
                view1 = gtk.TreeView(self.session_model)
@@ -797,10 +806,10 @@ class ArdourShareWindow(object):
                self.snap_selection.connect("changed", self.cb_snap_selection_changed)
                scroll3.add(view3)
                
-               main_box.pack_start(pane1, gtk.TRUE, gtk.TRUE)
+               main_box.pack_start(pane1, True, True)
                
                self.status_bar = gtk.Statusbar()
-               main_box.pack_start(self.status_bar, gtk.FALSE)
+               main_box.pack_start(self.status_bar, False)
                self._status_cid = self.status_bar.get_context_id('display')
                self._status_mid = ''