summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2014-10-16 05:12:52 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2014-10-16 05:12:52 -0400
commitad017365f7a73f8ba57f667cc1aa36478b48c50e (patch)
treed5e0f9fe4f81d0c947ac6a2272aaab611bf18d51 /gtk2_ardour
parentec2cb3141f19e9567c174fac8b895566a755a415 (diff)
parent0477d11476feb873e4ed3e428dd4d3c510d7e0b0 (diff)
Merge branch 'cairocanvas'
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/about.cc16
-rw-r--r--gtk2_ardour/actions.cc13
-rw-r--r--gtk2_ardour/actions.h2
-rw-r--r--gtk2_ardour/add_route_dialog.cc1
-rw-r--r--gtk2_ardour/add_video_dialog.cc127
-rw-r--r--gtk2_ardour/add_video_dialog.h11
-rw-r--r--gtk2_ardour/analysis_window.cc1
-rwxr-xr-xgtk2_ardour/arcall10
-rwxr-xr-xgtk2_ardour/ardbg9
-rw-r--r--gtk2_ardour/ardev_common.sh.in4
-rw-r--r--gtk2_ardour/ardour-sae.menus3
-rw-r--r--gtk2_ardour/ardour.menus.in56
-rw-r--r--gtk2_ardour/ardour.sh.in16
-rw-r--r--gtk2_ardour/ardour_button.cc1058
-rw-r--r--gtk2_ardour/ardour_button.h101
-rw-r--r--gtk2_ardour/ardour_dialog.cc6
-rw-r--r--gtk2_ardour/ardour_display.cc147
-rw-r--r--gtk2_ardour/ardour_display.h62
-rw-r--r--gtk2_ardour/ardour_dropdown.cc83
-rw-r--r--gtk2_ardour/ardour_dropdown.h (renamed from gtk2_ardour/diamond.h)47
-rw-r--r--gtk2_ardour/ardour_knob.cc458
-rw-r--r--gtk2_ardour/ardour_knob.h96
-rw-r--r--gtk2_ardour/ardour_ui.cc470
-rw-r--r--gtk2_ardour/ardour_ui.h64
-rw-r--r--gtk2_ardour/ardour_ui2.cc96
-rw-r--r--gtk2_ardour/ardour_ui_dependents.cc7
-rw-r--r--gtk2_ardour/ardour_ui_dialogs.cc57
-rw-r--r--gtk2_ardour/ardour_ui_ed.cc51
-rw-r--r--gtk2_ardour/ardour_ui_options.cc45
-rw-r--r--gtk2_ardour/ardour_window.cc3
-rwxr-xr-xgtk2_ardour/armass11
-rwxr-xr-xgtk2_ardour/arprof31
-rw-r--r--gtk2_ardour/au_pluginui.mm19
-rw-r--r--gtk2_ardour/audio_clock.cc87
-rw-r--r--gtk2_ardour/audio_clock.h4
-rw-r--r--gtk2_ardour/audio_region_editor.cc31
-rw-r--r--gtk2_ardour/audio_region_editor.h11
-rw-r--r--gtk2_ardour/audio_region_view.cc1378
-rw-r--r--gtk2_ardour/audio_region_view.h69
-rw-r--r--gtk2_ardour/audio_streamview.cc90
-rw-r--r--gtk2_ardour/audio_streamview.h1
-rw-r--r--gtk2_ardour/audio_time_axis.cc50
-rw-r--r--gtk2_ardour/audio_time_axis.h3
-rw-r--r--gtk2_ardour/automation_controller.cc15
-rw-r--r--gtk2_ardour/automation_line.cc152
-rw-r--r--gtk2_ardour/automation_line.h27
-rw-r--r--gtk2_ardour/automation_region_view.cc20
-rw-r--r--gtk2_ardour/automation_region_view.h11
-rw-r--r--gtk2_ardour/automation_streamview.cc39
-rw-r--r--gtk2_ardour/automation_streamview.h1
-rw-r--r--gtk2_ardour/automation_time_axis.cc151
-rw-r--r--gtk2_ardour/automation_time_axis.h19
-rw-r--r--gtk2_ardour/axis_view.cc11
-rw-r--r--gtk2_ardour/axis_view.h8
-rw-r--r--gtk2_ardour/big_clock_window.cc8
-rw-r--r--gtk2_ardour/bundle_env.h (renamed from gtk2_ardour/canvas_impl.h)25
-rw-r--r--gtk2_ardour/bundle_env_cocoa.cc172
-rw-r--r--gtk2_ardour/bundle_env_linux.cc170
-rw-r--r--gtk2_ardour/bundle_env_mingw.cc157
-rw-r--r--gtk2_ardour/bundle_env_msvc.cc504
-rw-r--r--gtk2_ardour/bundle_manager.cc3
-rw-r--r--gtk2_ardour/button_joiner.cc2
-rw-r--r--gtk2_ardour/button_joiner.h2
-rw-r--r--gtk2_ardour/canvas-curve.h65
-rw-r--r--gtk2_ardour/canvas-flag.cc105
-rw-r--r--gtk2_ardour/canvas-flag.h74
-rw-r--r--gtk2_ardour/canvas-hit.cc60
-rw-r--r--gtk2_ardour/canvas-hit.h59
-rw-r--r--gtk2_ardour/canvas-noevent-pixbuf.h41
-rw-r--r--gtk2_ardour/canvas-noevent-rect.h44
-rw-r--r--gtk2_ardour/canvas-noevent-text.h44
-rw-r--r--gtk2_ardour/canvas-note.cc75
-rw-r--r--gtk2_ardour/canvas-note.h74
-rw-r--r--gtk2_ardour/canvas-simpleline.h64
-rw-r--r--gtk2_ardour/canvas-simplerect.h72
-rw-r--r--gtk2_ardour/canvas-waveview.c2
-rw-r--r--gtk2_ardour/canvas.h43
-rw-r--r--gtk2_ardour/canvas_patch_change.cc8
-rw-r--r--gtk2_ardour/canvas_vars.h68
-rw-r--r--gtk2_ardour/control_point.cc60
-rw-r--r--gtk2_ardour/control_point.h21
-rw-r--r--gtk2_ardour/crossfade_edit.cc200
-rw-r--r--gtk2_ardour/crossfade_edit.h20
-rw-r--r--gtk2_ardour/crossfade_view.h13
-rw-r--r--gtk2_ardour/default_ui_config.in (renamed from gtk2_ardour/ardour3_ui_default.conf)388
-rw-r--r--gtk2_ardour/diamond.cc84
-rw-r--r--gtk2_ardour/edit_note_dialog.cc18
-rw-r--r--gtk2_ardour/edit_note_dialog.h13
-rw-r--r--gtk2_ardour/editing_syms.h1
-rw-r--r--gtk2_ardour/editor.cc1448
-rw-r--r--gtk2_ardour/editor.h509
-rw-r--r--gtk2_ardour/editor_actions.cc179
-rw-r--r--gtk2_ardour/editor_audio_import.cc21
-rw-r--r--gtk2_ardour/editor_audiotrack.cc5
-rw-r--r--gtk2_ardour/editor_canvas.cc1369
-rw-r--r--gtk2_ardour/editor_canvas_events.cc268
-rw-r--r--gtk2_ardour/editor_cursors.cc91
-rw-r--r--gtk2_ardour/editor_cursors.h40
-rw-r--r--gtk2_ardour/editor_drag.cc1444
-rw-r--r--gtk2_ardour/editor_drag.h103
-rw-r--r--gtk2_ardour/editor_export_audio.cc6
-rw-r--r--gtk2_ardour/editor_group_tabs.cc28
-rw-r--r--gtk2_ardour/editor_items.h12
-rw-r--r--gtk2_ardour/editor_keys.cc67
-rw-r--r--gtk2_ardour/editor_markers.cc114
-rw-r--r--gtk2_ardour/editor_mixer.cc4
-rw-r--r--gtk2_ardour/editor_mouse.cc1235
-rw-r--r--gtk2_ardour/editor_ops.cc983
-rw-r--r--gtk2_ardour/editor_regions.cc3
-rw-r--r--gtk2_ardour/editor_route_groups.cc73
-rw-r--r--gtk2_ardour/editor_route_groups.h4
-rw-r--r--gtk2_ardour/editor_routes.cc606
-rw-r--r--gtk2_ardour/editor_routes.h44
-rw-r--r--gtk2_ardour/editor_rulers.cc1056
-rw-r--r--gtk2_ardour/editor_selection.cc211
-rw-r--r--gtk2_ardour/editor_snapshots.cc1
-rw-r--r--gtk2_ardour/editor_summary.cc120
-rw-r--r--gtk2_ardour/editor_summary.h8
-rw-r--r--gtk2_ardour/editor_tempodisplay.cc93
-rw-r--r--gtk2_ardour/editor_timefx.cc5
-rw-r--r--gtk2_ardour/editor_videotimeline.cc25
-rw-r--r--gtk2_ardour/engine_dialog.cc3161
-rw-r--r--gtk2_ardour/engine_dialog.h85
-rw-r--r--gtk2_ardour/enums.cc42
-rw-r--r--gtk2_ardour/enums.h12
-rw-r--r--gtk2_ardour/export_channel_selector.cc8
-rw-r--r--gtk2_ardour/export_channel_selector.h6
-rw-r--r--gtk2_ardour/export_dialog.cc102
-rw-r--r--gtk2_ardour/export_dialog.h23
-rw-r--r--gtk2_ardour/export_file_notebook.cc44
-rw-r--r--gtk2_ardour/export_file_notebook.h7
-rw-r--r--gtk2_ardour/export_format_dialog.cc16
-rw-r--r--gtk2_ardour/export_format_dialog.h10
-rw-r--r--gtk2_ardour/export_range_markers_dialog.cc209
-rw-r--r--gtk2_ardour/export_range_markers_dialog.h66
-rw-r--r--gtk2_ardour/export_timespan_selector.cc25
-rw-r--r--gtk2_ardour/export_timespan_selector.h8
-rw-r--r--gtk2_ardour/export_video_dialog.cc31
-rw-r--r--gtk2_ardour/export_video_infobox.cc3
-rw-r--r--gtk2_ardour/fft_graph.cc43
-rw-r--r--gtk2_ardour/fft_result.cc4
-rw-r--r--gtk2_ardour/fix_carbon.h4
-rw-r--r--gtk2_ardour/fonts.rc.in (renamed from gtk2_ardour/ardour3_fonts.rc.in)0
-rw-r--r--gtk2_ardour/gain_meter.cc69
-rw-r--r--gtk2_ardour/gain_meter.h11
-rw-r--r--gtk2_ardour/generic_pluginui.cc34
-rw-r--r--gtk2_ardour/ghostregion.cc109
-rw-r--r--gtk2_ardour/ghostregion.h52
-rw-r--r--gtk2_ardour/global_port_matrix.cc11
-rw-r--r--gtk2_ardour/global_port_matrix.h4
-rw-r--r--gtk2_ardour/global_signals.h2
-rw-r--r--gtk2_ardour/group_tabs.cc51
-rw-r--r--gtk2_ardour/group_tabs.h8
-rw-r--r--gtk2_ardour/gtk-custom-hruler.c267
-rw-r--r--gtk2_ardour/gtk-custom-hruler.h66
-rw-r--r--gtk2_ardour/gtk-custom-ruler.c494
-rw-r--r--gtk2_ardour/gtk-custom-ruler.h107
-rw-r--r--gtk2_ardour/gtk_pianokeyboard.c20
-rw-r--r--gtk2_ardour/hit.cc129
-rw-r--r--gtk2_ardour/hit.h66
-rw-r--r--gtk2_ardour/icons/anchored_trim_left_cursor.pngbin0 -> 631 bytes
-rw-r--r--gtk2_ardour/icons/anchored_trim_right_cursor.pngbin0 -> 625 bytes
-rw-r--r--gtk2_ardour/icons/ardour.icobin0 -> 51483 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/expand_left_right_cursor.pngbin0 -> 1143 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/expand_up_down_cursor.pngbin0 -> 1140 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/fade_in_cursor.pngbin0 -> 1317 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/fade_out_cursor.pngbin0 -> 1308 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/grabber.pngbin0 -> 1248 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/grabber_edit_point.pngbin0 -> 1343 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/grabber_note.pngbin0 -> 1406 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/hide.pngbin0 -> 1188 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/i_beam_cursor.pngbin0 -> 973 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/move_cursor.pngbin0 -> 1225 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/resize_bottom_cursor.pngbin0 -> 1190 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/resize_bottom_left_cursor.pngbin0 -> 1220 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/resize_bottom_right_cursor.pngbin0 -> 1216 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/resize_left_cursor.pngbin0 -> 1171 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/resize_right_cursor.pngbin0 -> 1167 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/resize_top_cursor.pngbin0 -> 1164 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/resize_top_left_cursor.pngbin0 -> 1216 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/resize_top_right_cursor.pngbin0 -> 1210 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/trim_bottom_cursor.pngbin0 -> 1214 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/trim_left_cursor.pngbin0 -> 1198 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/trim_left_cursor_5.pngbin0 -> 1198 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/trim_left_cursor_right_only.pngbin0 -> 1245 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/trim_right_cursor.pngbin0 -> 1177 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/trim_right_cursor_5.pngbin0 -> 1177 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/trim_right_cursor_left_only.pngbin0 -> 1221 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/trim_top_cursor.pngbin0 -> 1213 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/zoom_in_cursor.pngbin0 -> 1181 bytes
-rwxr-xr-xgtk2_ardour/icons/cursor_z/zoom_out_cursor.pngbin0 -> 1173 bytes
-rw-r--r--gtk2_ardour/icons/fadein-constant-power.pngbin962 -> 769 bytes
-rw-r--r--gtk2_ardour/icons/fadein-fast-cut.pngbin893 -> 720 bytes
-rw-r--r--gtk2_ardour/icons/fadein-linear.pngbin959 -> 802 bytes
-rw-r--r--gtk2_ardour/icons/fadein-slow-cut.pngbin988 -> 766 bytes
-rw-r--r--gtk2_ardour/icons/fadein-symmetric.pngbin0 -> 741 bytes
-rw-r--r--gtk2_ardour/icons/fadeout-constant-power.pngbin1012 -> 754 bytes
-rw-r--r--gtk2_ardour/icons/fadeout-fast-cut.pngbin1684 -> 712 bytes
-rw-r--r--gtk2_ardour/icons/fadeout-linear.pngbin1599 -> 790 bytes
-rw-r--r--gtk2_ardour/icons/fadeout-slow-cut.pngbin1607 -> 766 bytes
-rw-r--r--gtk2_ardour/icons/fadeout-symmetric.pngbin0 -> 716 bytes
-rw-r--r--gtk2_ardour/icons/padlock_closed.pngbin0 -> 3589 bytes
-rw-r--r--gtk2_ardour/icons/padlock_open.pngbin0 -> 5900 bytes
-rw-r--r--gtk2_ardour/icons/scissors.pngbin0 -> 1106 bytes
-rw-r--r--gtk2_ardour/icons/soundcloud.pngbin0 -> 1140 bytes
-rw-r--r--gtk2_ardour/icons/time_exp.pngbin0 -> 420 bytes
-rw-r--r--gtk2_ardour/icons/tool_cut.pngbin0 -> 463 bytes
-rw-r--r--gtk2_ardour/io_selector.cc1
-rw-r--r--gtk2_ardour/keyboard.cc11
-rw-r--r--gtk2_ardour/keyeditor.cc23
-rw-r--r--gtk2_ardour/keyeditor.h5
-rw-r--r--gtk2_ardour/latency_gui.cc4
-rw-r--r--gtk2_ardour/led.cc2
-rw-r--r--gtk2_ardour/led.h2
-rw-r--r--gtk2_ardour/level_meter.cc61
-rw-r--r--gtk2_ardour/level_meter.h2
-rw-r--r--gtk2_ardour/lineset.cc803
-rw-r--r--gtk2_ardour/lineset.h194
-rw-r--r--gtk2_ardour/linux_vst_gui_support.cc25
-rw-r--r--gtk2_ardour/location_ui.cc34
-rw-r--r--gtk2_ardour/location_ui.h14
-rw-r--r--gtk2_ardour/lxvst_plugin_ui.cc2
-rw-r--r--gtk2_ardour/main.cc328
-rw-r--r--gtk2_ardour/main_clock.cc2
-rw-r--r--gtk2_ardour/marker.cc270
-rw-r--r--gtk2_ardour/marker.h25
-rw-r--r--gtk2_ardour/meter_patterns.cc5
-rw-r--r--gtk2_ardour/meter_strip.cc142
-rw-r--r--gtk2_ardour/meter_strip.h10
-rw-r--r--gtk2_ardour/meterbridge.cc30
-rw-r--r--gtk2_ardour/midi_automation_line.cc4
-rw-r--r--gtk2_ardour/midi_automation_line.h2
-rw-r--r--gtk2_ardour/midi_channel_selector.cc8
-rw-r--r--gtk2_ardour/midi_region_view.cc573
-rw-r--r--gtk2_ardour/midi_region_view.h137
-rw-r--r--gtk2_ardour/midi_streamview.cc103
-rw-r--r--gtk2_ardour/midi_streamview.h7
-rw-r--r--gtk2_ardour/midi_time_axis.cc113
-rw-r--r--gtk2_ardour/midi_time_axis.h29
-rw-r--r--gtk2_ardour/midi_tracer.cc5
-rw-r--r--gtk2_ardour/missing_file_dialog.cc21
-rw-r--r--gtk2_ardour/mixer.bindings2
-rw-r--r--gtk2_ardour/mixer_actor.cc17
-rw-r--r--gtk2_ardour/mixer_actor.h8
-rw-r--r--gtk2_ardour/mixer_group_tabs.cc24
-rw-r--r--gtk2_ardour/mixer_strip.cc619
-rw-r--r--gtk2_ardour/mixer_strip.h54
-rw-r--r--gtk2_ardour/mixer_ui.cc73
-rw-r--r--gtk2_ardour/mixer_ui.h6
-rw-r--r--gtk2_ardour/mnemonic-us.bindings.in77
-rw-r--r--gtk2_ardour/monitor_section.cc197
-rw-r--r--gtk2_ardour/monitor_section.h15
-rw-r--r--gtk2_ardour/mono_panner.cc21
-rw-r--r--gtk2_ardour/mouse_cursors.cc276
-rw-r--r--gtk2_ardour/mouse_cursors.h12
-rw-r--r--gtk2_ardour/msvc/winmain.cc133
-rw-r--r--gtk2_ardour/note.cc141
-rw-r--r--gtk2_ardour/note.h71
-rw-r--r--gtk2_ardour/note_base.cc (renamed from gtk2_ardour/canvas-note-event.cc)153
-rw-r--r--gtk2_ardour/note_base.h (renamed from gtk2_ardour/canvas-note-event.h)89
-rw-r--r--gtk2_ardour/nsmclient.cc8
-rw-r--r--gtk2_ardour/option_editor.cc50
-rw-r--r--gtk2_ardour/option_editor.h63
-rw-r--r--gtk2_ardour/panner2d.cc33
-rw-r--r--gtk2_ardour/panner2d.h4
-rw-r--r--gtk2_ardour/panner_interface.cc9
-rw-r--r--gtk2_ardour/panner_interface.h3
-rw-r--r--gtk2_ardour/panner_ui.cc21
-rw-r--r--gtk2_ardour/panner_ui.h2
-rw-r--r--gtk2_ardour/patch_change.cc255
-rw-r--r--gtk2_ardour/patch_change.h (renamed from gtk2_ardour/canvas_patch_change.h)48
-rw-r--r--gtk2_ardour/patch_change_dialog.cc2
-rw-r--r--gtk2_ardour/piano_roll_header.cc48
-rw-r--r--gtk2_ardour/pingback.cc6
-rw-r--r--gtk2_ardour/plugin_eq_gui.cc34
-rw-r--r--gtk2_ardour/plugin_selector.cc38
-rw-r--r--gtk2_ardour/plugin_selector.h3
-rw-r--r--gtk2_ardour/plugin_ui.cc7
-rw-r--r--gtk2_ardour/po/cs.po6758
-rw-r--r--gtk2_ardour/po/de.po7005
-rw-r--r--gtk2_ardour/po/el.po6430
-rw-r--r--gtk2_ardour/po/en_GB.po6434
-rw-r--r--gtk2_ardour/po/es.po6702
-rw-r--r--gtk2_ardour/po/fr.po6633
-rw-r--r--gtk2_ardour/po/it.po6462
-rw-r--r--gtk2_ardour/po/nn.po6699
-rw-r--r--gtk2_ardour/po/pl.po6410
-rw-r--r--gtk2_ardour/po/pt.po6330
-rw-r--r--gtk2_ardour/po/pt_PT.po6412
-rw-r--r--gtk2_ardour/po/ru.po6546
-rw-r--r--gtk2_ardour/po/sv.po6394
-rw-r--r--gtk2_ardour/po/zh.po6467
-rw-r--r--gtk2_ardour/port_insert_ui.cc1
-rw-r--r--gtk2_ardour/port_matrix.cc3
-rw-r--r--gtk2_ardour/port_matrix_column_labels.cc1
-rw-r--r--gtk2_ardour/port_matrix_row_labels.cc1
-rw-r--r--gtk2_ardour/processor_box.cc68
-rw-r--r--gtk2_ardour/processor_box.h7
-rw-r--r--gtk2_ardour/public_editor.cc1
-rw-r--r--gtk2_ardour/public_editor.h86
-rw-r--r--gtk2_ardour/quantize_dialog.cc2
-rw-r--r--gtk2_ardour/rc_option_editor.cc406
-rw-r--r--gtk2_ardour/rc_option_editor.h5
-rw-r--r--gtk2_ardour/region_editor.cc1
-rw-r--r--gtk2_ardour/region_editor.h1
-rw-r--r--gtk2_ardour/region_gain_line.cc5
-rw-r--r--gtk2_ardour/region_gain_line.h3
-rw-r--r--gtk2_ardour/region_layering_order_editor.cc1
-rw-r--r--gtk2_ardour/region_view.cc282
-rw-r--r--gtk2_ardour/region_view.h49
-rw-r--r--gtk2_ardour/return_ui.cc3
-rw-r--r--gtk2_ardour/rhythm_ferret.cc1
-rw-r--r--gtk2_ardour/route_group_dialog.cc43
-rw-r--r--gtk2_ardour/route_group_dialog.h2
-rw-r--r--gtk2_ardour/route_params_ui.cc27
-rw-r--r--gtk2_ardour/route_params_ui.h2
-rw-r--r--gtk2_ardour/route_time_axis.cc343
-rw-r--r--gtk2_ardour/route_time_axis.h20
-rw-r--r--gtk2_ardour/route_ui.cc707
-rw-r--r--gtk2_ardour/route_ui.h31
-rw-r--r--gtk2_ardour/ruler_dialog.cc86
-rw-r--r--gtk2_ardour/ruler_dialog.h54
-rw-r--r--gtk2_ardour/search_path_option.cc4
-rw-r--r--gtk2_ardour/selection.cc130
-rw-r--r--gtk2_ardour/send_ui.cc3
-rw-r--r--gtk2_ardour/session_dialog.cc33
-rw-r--r--gtk2_ardour/session_dialog.h2
-rw-r--r--gtk2_ardour/session_metadata_dialog.h6
-rw-r--r--gtk2_ardour/session_option_editor.cc162
-rw-r--r--gtk2_ardour/session_option_editor.h8
-rw-r--r--gtk2_ardour/sfdb_freesound_mootcher.cc928
-rw-r--r--gtk2_ardour/sfdb_ui.cc37
-rw-r--r--gtk2_ardour/sfdb_ui.h3
-rw-r--r--gtk2_ardour/shuttle_control.cc4
-rw-r--r--gtk2_ardour/shuttle_control.h2
-rw-r--r--gtk2_ardour/simpleline.cc191
-rw-r--r--gtk2_ardour/simpleline.h208
-rw-r--r--gtk2_ardour/simpleline_p.h67
-rw-r--r--gtk2_ardour/simplerect.cc224
-rw-r--r--gtk2_ardour/simplerect.h151
-rw-r--r--gtk2_ardour/simplerect_p.h66
-rw-r--r--gtk2_ardour/soundcloud_export_selector.cc113
-rw-r--r--gtk2_ardour/soundcloud_export_selector.h46
-rw-r--r--gtk2_ardour/splash.cc10
-rw-r--r--gtk2_ardour/startup.cc2
-rw-r--r--gtk2_ardour/step_editor.cc4
-rw-r--r--gtk2_ardour/step_entry.cc7
-rw-r--r--gtk2_ardour/stereo_panner.cc44
-rw-r--r--gtk2_ardour/streamview.cc110
-rw-r--r--gtk2_ardour/streamview.h37
-rw-r--r--gtk2_ardour/strip_silence_dialog.cc4
-rw-r--r--gtk2_ardour/strip_silence_dialog.h1
-rw-r--r--gtk2_ardour/styles.rc.in (renamed from gtk2_ardour/ardour3_styles.rc.in)587
-rw-r--r--gtk2_ardour/sys_ex.cc (renamed from gtk2_ardour/canvas-sysex.cc)80
-rw-r--r--gtk2_ardour/sys_ex.h (renamed from gtk2_ardour/canvas-sysex.h)43
-rw-r--r--gtk2_ardour/system_exec.cc808
-rw-r--r--gtk2_ardour/system_exec.h201
-rw-r--r--gtk2_ardour/tape_region_view.cc25
-rw-r--r--gtk2_ardour/tape_region_view.h9
-rw-r--r--gtk2_ardour/tempo_dialog.cc36
-rw-r--r--gtk2_ardour/tempo_dialog.h5
-rw-r--r--gtk2_ardour/tempo_lines.cc196
-rw-r--r--gtk2_ardour/tempo_lines.h27
-rw-r--r--gtk2_ardour/theme_manager.cc162
-rw-r--r--gtk2_ardour/theme_manager.h19
-rw-r--r--gtk2_ardour/time_axis_view.cc386
-rw-r--r--gtk2_ardour/time_axis_view.h78
-rw-r--r--gtk2_ardour/time_axis_view_item.cc733
-rw-r--r--gtk2_ardour/time_axis_view_item.h103
-rw-r--r--gtk2_ardour/time_info_box.cc5
-rw-r--r--gtk2_ardour/track_selection.h21
-rw-r--r--gtk2_ardour/transcode_ffmpeg.cc84
-rw-r--r--gtk2_ardour/transcode_ffmpeg.h5
-rw-r--r--gtk2_ardour/transcode_video_dialog.cc7
-rw-r--r--gtk2_ardour/trx.menus.in319
-rw-r--r--gtk2_ardour/ui_config.cc97
-rw-r--r--gtk2_ardour/ui_config.h56
-rw-r--r--gtk2_ardour/ui_config_vars.h11
-rw-r--r--gtk2_ardour/ui_dark.rc.in (renamed from gtk2_ardour/ardour3_ui_dark.rc.in)6
-rw-r--r--gtk2_ardour/ui_light.rc.in (renamed from gtk2_ardour/ardour3_ui_light.rc.in)6
-rw-r--r--gtk2_ardour/utils.cc224
-rw-r--r--gtk2_ardour/utils.h25
-rw-r--r--gtk2_ardour/utils_videotl.cc25
-rw-r--r--gtk2_ardour/verbose_cursor.cc153
-rw-r--r--gtk2_ardour/verbose_cursor.h35
-rw-r--r--gtk2_ardour/video_image_frame.cc206
-rw-r--r--gtk2_ardour/video_image_frame.h20
-rw-r--r--gtk2_ardour/video_monitor.cc54
-rw-r--r--gtk2_ardour/video_monitor.h4
-rw-r--r--gtk2_ardour/video_server_dialog.cc36
-rw-r--r--gtk2_ardour/video_timeline.cc133
-rw-r--r--gtk2_ardour/video_timeline.h17
-rw-r--r--gtk2_ardour/volume_controller.cc8
-rw-r--r--gtk2_ardour/vst_plugin_ui.cc40
-rw-r--r--gtk2_ardour/vst_plugin_ui.h3
-rwxr-xr-xgtk2_ardour/vstdbg12
-rw-r--r--gtk2_ardour/waveview.cc323
-rw-r--r--gtk2_ardour/waveview.h177
-rw-r--r--gtk2_ardour/waveview_p.h67
-rw-r--r--gtk2_ardour/widget_list.rc (renamed from gtk2_ardour/ardour3_widget_list.rc)205
-rw-r--r--gtk2_ardour/window_manager.h2
-rw-r--r--gtk2_ardour/windows_icon.rc1
-rw-r--r--gtk2_ardour/windows_vst_plugin_ui.cc30
-rw-r--r--gtk2_ardour/windows_vst_plugin_ui.h2
-rw-r--r--gtk2_ardour/wscript227
405 files changed, 70307 insertions, 61689 deletions
diff --git a/gtk2_ardour/about.cc b/gtk2_ardour/about.cc
index e1fd748f99..1f79b47031 100644
--- a/gtk2_ardour/about.cc
+++ b/gtk2_ardour/about.cc
@@ -20,7 +20,6 @@
#include <algorithm>
#include <unistd.h>
#include <sys/types.h>
-#include <sys/wait.h>
#include <cstdio>
#include <ctime>
#include <cstdlib>
@@ -31,7 +30,6 @@
#include "ardour/version.h"
#include "ardour/filesystem_paths.h"
-#include "utils.h"
#include "version.h"
#include "about.h"
@@ -41,6 +39,10 @@
#include "i18n.h"
+#ifdef WAF_BUILD
+#include "gtk2ardour-version.h"
+#endif
+
using namespace Gtk;
using namespace Gdk;
using namespace std;
@@ -266,7 +268,7 @@ patent must be licensed for everyone's free use or not licensed at all.\n\
The precise terms and conditions for copying, distribution and\n\
modification follow.\n\
\n\
- GNU GENERAL PUBLIC LICENSE\n\
+"" GNU GENERAL PUBLIC LICENSE\n\
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\
\n\
0. This License applies to any program or other work which contains\n\
@@ -548,7 +550,9 @@ proprietary programs. If your program is a subroutine library, you may\n\
consider it more useful to permit linking proprietary applications with the\n\
library. If this is what you want to do, use the GNU Library General\n\
Public License instead of this License.\n\
-");
+"); /* Note that at the start of (approximately) line 265, the above license
+ text has been split into two concatenated tokens (to satisfy compilation
+ under MSVC). Hopefully this won't affect gcc */
About::About ()
: config_info (0)
@@ -562,9 +566,9 @@ About::About ()
std::string splash_file;
- SearchPath spath(ardour_data_search_path());
+ Searchpath spath(ardour_data_search_path());
- if (find_file_in_search_path (spath, "splash.png", splash_file)) {
+ if (find_file (spath, "splash.png", splash_file)) {
set_logo (Gdk::Pixbuf::create_from_file (splash_file));
} else {
error << "Could not find splash file" << endmsg;
diff --git a/gtk2_ardour/actions.cc b/gtk2_ardour/actions.cc
index cefaeeb4cf..f208c6c8d3 100644
--- a/gtk2_ardour/actions.cc
+++ b/gtk2_ardour/actions.cc
@@ -36,7 +36,6 @@
#include "gtkmm2ext/actions.h"
-#include "utils.h"
#include "actions.h"
#include "i18n.h"
@@ -72,11 +71,11 @@ ActionManager::init ()
}
void
-ActionManager::load_menus ()
+ActionManager::load_menus (const string& menus_file)
{
std::string ui_file;
- find_file_in_search_path (ardour_config_search_path(), "ardour.menus", ui_file);
+ find_file (ardour_config_search_path(), menus_file, ui_file);
bool loaded = false;
@@ -85,15 +84,15 @@ ActionManager::load_menus ()
info << string_compose (_("Loading menus from %1"), ui_file) << endmsg;
loaded = true;
} catch (Glib::MarkupError& err) {
- error << string_compose (_("badly formatted UI definition file: %1"), err.what()) << endmsg;
- cerr << string_compose (_("badly formatted UI definition file: %1"), err.what()) << endl;
+ error << string_compose (_("badly formatted menu definition file: %1"), err.what()) << endmsg;
+ cerr << string_compose (_("badly formatted menu definition file: %1"), err.what()) << endl;
} catch (...) {
error << string_compose (_("%1 menu definition file not found"), PROGRAM_NAME) << endmsg;
}
if (!loaded) {
- cerr << string_compose (_("%1 will not work without a valid ardour.menus file"), PROGRAM_NAME) << endl;
- error << string_compose (_("%1 will not work without a valid ardour.menus file"), PROGRAM_NAME) << endmsg;
+ cerr << string_compose (_("%1 will not work without a valid menu definition file"), PROGRAM_NAME) << endl;
+ error << string_compose (_("%1 will not work without a valid menu definition file"), PROGRAM_NAME) << endmsg;
exit(1);
}
}
diff --git a/gtk2_ardour/actions.h b/gtk2_ardour/actions.h
index f3fba51de5..50f9c20b82 100644
--- a/gtk2_ardour/actions.h
+++ b/gtk2_ardour/actions.h
@@ -30,7 +30,7 @@ namespace ActionManager {
/* Ardour specific */
extern void init ();
- extern void load_menus ();
+ extern void load_menus (const std::string& menus_file_name); /* not path, just name */
extern std::vector<Glib::RefPtr<Gtk::Action> > session_sensitive_actions;
extern std::vector<Glib::RefPtr<Gtk::Action> > write_sensitive_actions;
diff --git a/gtk2_ardour/add_route_dialog.cc b/gtk2_ardour/add_route_dialog.cc
index 8837e9f468..94e4369aae 100644
--- a/gtk2_ardour/add_route_dialog.cc
+++ b/gtk2_ardour/add_route_dialog.cc
@@ -46,6 +46,7 @@ using namespace Gtkmm2ext;
using namespace std;
using namespace PBD;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
std::vector<std::string> AddRouteDialog::channel_combo_strings;
diff --git a/gtk2_ardour/add_video_dialog.cc b/gtk2_ardour/add_video_dialog.cc
index 5464c0af2d..abbb3a0f46 100644
--- a/gtk2_ardour/add_video_dialog.cc
+++ b/gtk2_ardour/add_video_dialog.cc
@@ -33,7 +33,6 @@
#include "ardour/session.h"
#include "ardour_ui.h"
-#include "utils.h"
#include "add_video_dialog.h"
#include "utils_videotl.h"
#include "i18n.h"
@@ -66,6 +65,8 @@ AddVideoDialog::AddVideoDialog (Session* s)
, harvid_reset (_("Reload docroot"))
, harvid_list (ListStore::create(harvid_list_columns))
, harvid_list_view (harvid_list)
+ , show_advanced(false)
+ , loaded_docroot(false)
{
set_session (s);
set_name ("AddVideoDialog");
@@ -77,43 +78,33 @@ AddVideoDialog::AddVideoDialog (Session* s)
harvid_initialized = false;
std::string dstdir = video_dest_dir(_session->session_directory().video_path(), video_get_docroot(Config));
- if (Config->get_video_advanced_setup()) {
-
- /* Harvid Browser */
- harvid_list_view.append_column("", pixBufRenderer);
- harvid_list_view.append_column(_("Filename"), harvid_list_columns.filename);
+ /* Harvid Browser */
+ harvid_list_view.append_column("", pixBufRenderer);
+ harvid_list_view.append_column(_("Filename"), harvid_list_columns.filename);
- harvid_list_view.get_column(0)->set_alignment(0.5);
- harvid_list_view.get_column(0)->add_attribute(pixBufRenderer, "stock-id", harvid_list_columns.id);
- harvid_list_view.get_column(1)->set_expand(true);
- harvid_list_view.get_column(1)->set_sort_column(harvid_list_columns.filename);
- harvid_list_view.set_enable_search(true);
- harvid_list_view.set_search_column(1);
+ harvid_list_view.get_column(0)->set_alignment(0.5);
+ harvid_list_view.get_column(0)->add_attribute(pixBufRenderer, "stock-id", harvid_list_columns.id);
+ harvid_list_view.get_column(1)->set_expand(true);
+ harvid_list_view.get_column(1)->set_sort_column(harvid_list_columns.filename);
+ harvid_list_view.set_enable_search(true);
+ harvid_list_view.set_search_column(1);
- harvid_list_view.get_selection()->set_mode (SELECTION_SINGLE);
+ harvid_list_view.get_selection()->set_mode (SELECTION_SINGLE);
- harvid_list_view.get_selection()->signal_changed().connect(sigc::mem_fun(*this, &AddVideoDialog::harvid_list_view_selected));
- harvid_list_view.signal_row_activated().connect (sigc::mem_fun (*this, &AddVideoDialog::harvid_list_view_activated));
+ harvid_list_view.get_selection()->signal_changed().connect(sigc::mem_fun(*this, &AddVideoDialog::harvid_list_view_selected));
+ harvid_list_view.signal_row_activated().connect (sigc::mem_fun (*this, &AddVideoDialog::harvid_list_view_activated));
- VBox* vbox = manage (new VBox);
- Gtk::ScrolledWindow *scroll = manage(new ScrolledWindow);
- scroll->add(harvid_list_view);
- scroll->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
+ Gtk::ScrolledWindow *scroll = manage(new ScrolledWindow);
+ scroll->add(harvid_list_view);
+ scroll->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
- HBox* hbox = manage (new HBox);
- harvid_path.set_alignment (0, 0.5);
- hbox->pack_start (harvid_path, true, true);
- hbox->pack_start (harvid_reset, false, false);
-
- vbox->pack_start (*hbox, false, false);
- vbox->pack_start (*scroll, true, true);
+ HBox* hbox = manage (new HBox);
+ harvid_path.set_alignment (0, 0.5);
+ hbox->pack_start (harvid_path, true, true);
+ hbox->pack_start (harvid_reset, false, false);
- notebook.append_page (*vbox, _("VideoServerIndex"));
- } else {
- /* dummy entry */
- VBox* vbox = manage (new VBox);
- notebook.append_page (*vbox, _("VideoServerIndex"));
- }
+ server_index_box.pack_start (*hbox, false, false);
+ server_index_box.pack_start (*scroll, true, true);
/* file chooser */
chooser.set_border_width (4);
@@ -135,13 +126,7 @@ AddVideoDialog::AddVideoDialog (Session* s)
chooser.add_filter (matchall_filter);
chooser.set_select_multiple (false);
- VBox* vboxfb = manage (new VBox);
- vboxfb->pack_start (chooser, true, true, 0);
-
- if (video_get_docroot(Config).size() > 0 &&
- Config->get_video_advanced_setup()) {
- notebook.append_page (*vboxfb, _("Browse Files"));
- }
+ file_chooser_box.pack_start (chooser, true, true, 0);
/* Global Options*/
Gtk::Label* l;
@@ -184,7 +169,7 @@ AddVideoDialog::AddVideoDialog (Session* s)
preview_image->set(imgbuf);
seek_slider.set_draw_value(false);
- HBox* hbox = manage (new HBox);
+ hbox = manage (new HBox);
hbox->pack_start (*table, true, false);
Gtk::Alignment *al = manage(new Gtk::Alignment());
@@ -195,20 +180,16 @@ AddVideoDialog::AddVideoDialog (Session* s)
previewpane->pack_start (*al, false, false);
previewpane->pack_start (*hbox, true, true, 6);
- /* Overall layout */
+ /* Prepare Overall layout */
+
hbox = manage (new HBox);
- if (Config->get_video_advanced_setup()) {
- hbox->pack_start (notebook, true, true);
- } else {
- hbox->pack_start (*vboxfb, true, true);
- }
+ hbox->pack_start (browser_container, true, true);
hbox->pack_start (*previewpane, false, false);
get_vbox()->set_spacing (4);
get_vbox()->pack_start (*hbox, true, true);
get_vbox()->pack_start (*options_box, false, false);
-
/* xjadeo checkbox */
if (ARDOUR_UI::instance()->video_timeline->found_xjadeo()
/* TODO xjadeo setup w/ xjremote */
@@ -236,8 +217,6 @@ AddVideoDialog::AddVideoDialog (Session* s)
notebook.signal_switch_page().connect (sigc::hide_return (sigc::hide (sigc::hide (sigc::mem_fun (*this, &AddVideoDialog::page_switch)))));
seek_slider.signal_value_changed().connect(sigc::mem_fun(*this, &AddVideoDialog::seek_preview));
harvid_reset.signal_clicked().connect (sigc::mem_fun (*this, &AddVideoDialog::harvid_load_docroot));
-
- show_all_children ();
}
AddVideoDialog::~AddVideoDialog ()
@@ -247,6 +226,38 @@ AddVideoDialog::~AddVideoDialog ()
void
AddVideoDialog::on_show ()
{
+ /* overall layout depending on get_video_advanced_setup() and docroot */
+ for (int i = notebook.get_n_pages(); i > 0 ; --i) {
+ notebook.remove_page(i);
+ }
+ if (server_index_box.get_parent()) {
+ server_index_box.get_parent()->remove(server_index_box);
+ }
+ if (file_chooser_box.get_parent()) {
+ file_chooser_box.get_parent()->remove(file_chooser_box);
+ }
+ if (notebook.get_parent()) {
+ notebook.get_parent()->remove(notebook);
+ }
+
+ if (Config->get_video_advanced_setup()) {
+ notebook.append_page (server_index_box, _("VideoServerIndex"));
+ if (video_get_docroot(Config).size() > 0) {
+ notebook.append_page (file_chooser_box, _("Browse Files"));
+ }
+ browser_container.pack_start (notebook, true, true);
+ show_advanced = true;
+ if (!loaded_docroot) {
+ harvid_load_docroot();
+ }
+ } else {
+ browser_container.pack_start (file_chooser_box, true, true);
+ show_advanced = false;
+ loaded_docroot = false;
+ }
+
+ show_all_children ();
+
Dialog::on_show ();
}
@@ -259,7 +270,8 @@ static bool check_video_file_extension(std::string file)
".ogv" , ".OGV" ,
".mpg" , ".MPG" ,
".mpeg" , ".MPEG" ,
- ".mts" , ".MTS" ,
+ ".mts" , ".MTS" ,
+ ".mov" , ".MOV" ,
".mp4" , ".MP4" ,
".mkv" , ".MKV" ,
".vob" , ".VOB" ,
@@ -273,8 +285,8 @@ static bool check_video_file_extension(std::string file)
".dv" , ".DV" ,
".dirac" , ".DIRAC" ,
".webm" , ".WEBM" ,
- ".wmv" , ".wmv" ,
- ".ts" , ".ts" ,
+ ".wmv" , ".WMV" ,
+ ".ts" , ".TS" ,
};
for (size_t n = 0; n < sizeof(suffixes)/sizeof(suffixes[0]); ++n) {
@@ -296,7 +308,7 @@ std::string
AddVideoDialog::file_name (bool &local_file)
{
int n = notebook.get_current_page ();
- if (n == 1 || ! Config->get_video_advanced_setup()) {
+ if (n == 1 || !show_advanced) {
local_file = true;
return chooser.get_filename();
} else {
@@ -316,6 +328,10 @@ AddVideoDialog::file_name (bool &local_file)
CURL *curl;
curl = curl_easy_init();
char *ue = curl_easy_unescape(curl, uri.c_str(), uri.length(), &plen);
+#ifdef PLATFORM_WINDOWS
+ char *tmp;
+ while (tmp = strchr(ue, '/')) *tmp = '\\';
+#endif
std::string path = video_get_docroot(Config) + ue;
if (!::access(path.c_str(), R_OK)) {
uri = path;
@@ -332,7 +348,7 @@ enum VtlImportOption
AddVideoDialog::import_option ()
{
int n = notebook.get_current_page ();
- if (n == 0 && Config->get_video_advanced_setup()) { return VTL_IMPORT_NONE; }
+ if (n == 0 && show_advanced) { return VTL_IMPORT_NONE; }
return VTL_IMPORT_TRANSCODE;
}
@@ -451,6 +467,7 @@ AddVideoDialog::harvid_list_view_activated (const Gtk::TreeModel::Path& path, Gt
void
AddVideoDialog::harvid_load_docroot() {
set_action_ok(false);
+ loaded_docroot = true;
std::string video_server_url = video_get_server_url(Config);
char url[2048];
@@ -463,7 +480,7 @@ AddVideoDialog::harvid_load_docroot() {
bool
AddVideoDialog::page_switch() {
- if (notebook.get_current_page () == 1 || Config->get_video_advanced_setup()) {
+ if (notebook.get_current_page () == 1 || show_advanced) {
file_selection_changed();
return true;
}
diff --git a/gtk2_ardour/add_video_dialog.h b/gtk2_ardour/add_video_dialog.h
index 1d91383c85..3d5ff54030 100644
--- a/gtk2_ardour/add_video_dialog.h
+++ b/gtk2_ardour/add_video_dialog.h
@@ -22,6 +22,10 @@
#include <string>
+#ifdef interface
+#undef interface
+#endif
+
#include <gtkmm.h>
#include "ardour/types.h"
@@ -76,6 +80,10 @@ class AddVideoDialog : public ArdourDialog
Gtk::Notebook notebook;
Gtk::Button *ok_button;
+ Gtk::VBox server_index_box;
+ Gtk::VBox file_chooser_box;
+ Gtk::HBox browser_container;
+
/* Harvid Browser related */
class HarvidColumns : public Gtk::TreeModel::ColumnRecord
{
@@ -104,6 +112,9 @@ class AddVideoDialog : public ArdourDialog
HarvidColumns harvid_list_columns;
Glib::RefPtr<Gtk::ListStore> harvid_list;
Gtk::TreeView harvid_list_view;
+
+ bool show_advanced;
+ bool loaded_docroot;
};
#endif /* __gtk_ardour_add_video_dialog_h__ */
diff --git a/gtk2_ardour/analysis_window.cc b/gtk2_ardour/analysis_window.cc
index 998ab8ab12..f653490345 100644
--- a/gtk2_ardour/analysis_window.cc
+++ b/gtk2_ardour/analysis_window.cc
@@ -374,6 +374,7 @@ AnalysisWindow::analyze_data (Gtk::Button * /*button*/)
free(buf);
free(mixbuf);
+ free(gain);
track_list_ready = true;
} /* end lock */
diff --git a/gtk2_ardour/arcall b/gtk2_ardour/arcall
index 703bc741fd..6045de3303 100755
--- a/gtk2_ardour/arcall
+++ b/gtk2_ardour/arcall
@@ -2,4 +2,12 @@
. `dirname "$0"`/../build/gtk2_ardour/ardev_common_waf.sh
LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export ARDOUR_RUNNING_UNDER_VALGRIND=TRUE
-exec valgrind --error-limit=no --num-callers=50 --tool=callgrind $TOP/$EXECUTABLE --novst "$@"
+exec valgrind \
+ --error-limit=no --num-callers=50 \
+ --tool=callgrind \
+ --separate-callers=3 \
+ --separate-threads=yes \
+ --collect-systime=yes \
+ --collect-jumps=yes \
+ --instr-atstart=no \
+ $TOP/$EXECUTABLE --novst "$@"
diff --git a/gtk2_ardour/ardbg b/gtk2_ardour/ardbg
index 06663261a1..5855126fc6 100755
--- a/gtk2_ardour/ardbg
+++ b/gtk2_ardour/ardbg
@@ -2,4 +2,11 @@
. `dirname "$0"`/../build/gtk2_ardour/ardev_common_waf.sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH
export ARDOUR_INSIDE_GDB=1
-exec gdb --args $TOP/$EXECUTABLE $@
+
+if test -n "`which gdb`"; then
+ exec gdb --args $TOP/$EXECUTABLE $@
+fi
+if test -n "`which lldb`"; then
+ exec lldb -- $TOP/$EXECUTABLE $@
+fi
+echo "neither gdb nor lldb was found."
diff --git a/gtk2_ardour/ardev_common.sh.in b/gtk2_ardour/ardev_common.sh.in
index def4d4a456..30723722e2 100644
--- a/gtk2_ardour/ardev_common.sh.in
+++ b/gtk2_ardour/ardev_common.sh.in
@@ -17,7 +17,7 @@ export ARDOUR_DATA_PATH=$TOP:$TOP/build:$TOP/gtk2_ardour:$TOP/build/gtk2_ardour:
export ARDOUR_MIDIMAPS_PATH=$TOP/midi_maps:.
export ARDOUR_MCP_PATH=$TOP/mcp:.
export ARDOUR_EXPORT_FORMATS_PATH=$TOP/export:.
-export ARDOUR_BACKEND_PATH=$libs/backends/jack
+export ARDOUR_BACKEND_PATH=$libs/backends/jack:$libs/backends/wavesaudio:$libs/backends/dummy:$libs/backends/alsa
export ARDOUR_TEST_PATH=$libs/ardour/test/data
#
@@ -31,7 +31,7 @@ export ARDOUR_DLL_PATH=$libs
export GTK_PATH=~/.ardour3:$libs/clearlooks-newer
export VAMP_PATH=$libs/vamp-plugins${VAMP_PATH:+:$VAMP_PATH}
-export LD_LIBRARY_PATH=$libs/qm-dsp:$libs/vamp-sdk:$libs/surfaces:$libs/surfaces/control_protocol:$libs/ardour:$libs/midi++2:$libs/pbd:$libs/rubberband:$libs/soundtouch:$libs/gtkmm2ext:$libs/gnomecanvas:$libs/libsndfile:$libs/appleutility:$libs/taglib:$libs/evoral:$libs/evoral/src/libsmf:$libs/audiographer:$libs/timecode:$libs/libltc${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
+export LD_LIBRARY_PATH=$libs/qm-dsp:$libs/vamp-sdk:$libs/surfaces:$libs/surfaces/control_protocol:$libs/ardour:$libs/midi++2:$libs/pbd:$libs/rubberband:$libs/soundtouch:$libs/gtkmm2ext:$libs/gnomecanvas:$libs/libsndfile:$libs/appleutility:$libs/taglib:$libs/evoral:$libs/evoral/src/libsmf:$libs/audiographer:$libs/timecode:$libs/libltc:$libs/canvas:$libs/ardouralsautil${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
# DYLD_LIBRARY_PATH is for darwin.
export DYLD_FALLBACK_LIBRARY_PATH=$LD_LIBRARY_PATH
diff --git a/gtk2_ardour/ardour-sae.menus b/gtk2_ardour/ardour-sae.menus
index 16fcd8f5df..66f3d1caf3 100644
--- a/gtk2_ardour/ardour-sae.menus
+++ b/gtk2_ardour/ardour-sae.menus
@@ -297,9 +297,6 @@
<menu action="LatchMenu">
<menuitem action='LatchedSolo'/>
</menu>
- <menu action="Link">
- <menuitem action='link-region-and-track-selection'/>
- </menu>
<menu action='ZoomFocusMenu'>
<menuitem action='zoom-focus-playhead'/>
<menuitem action='zoom-focus-edit'/>
diff --git a/gtk2_ardour/ardour.menus.in b/gtk2_ardour/ardour.menus.in
index 6c5e08c8f8..066420be88 100644
--- a/gtk2_ardour/ardour.menus.in
+++ b/gtk2_ardour/ardour.menus.in
@@ -1,18 +1,4 @@
<ui>
- <accelerator action='set-mouse-mode-object'/>
- <accelerator action='set-mouse-mode-range'/>
- <accelerator action='set-mouse-mode-gain'/>
- <accelerator action='set-mouse-mode-draw'/>
- <accelerator action='set-mouse-mode-zoom'/>
- <accelerator action='set-mouse-mode-timefx'/>
- <accelerator action='set-mouse-mode-object-range'/>
- <accelerator action='toggle-internal-edit'/>
- <accelerator action='focus-on-clock'/>
- <accelerator action='track-solo-toggle'/>
- <accelerator action='track-mute-toggle'/>
- <accelerator action='toggle-edit-mode'/>
- <accelerator action='toggle-midi-input-active'/>
-
<menubar name='Main' action='MainMenu'>
<menu name='Session' action='Session'>
<menuitem action='New'/>
@@ -39,10 +25,11 @@
<menuitem action='CloseVideo'/>
<menu name='Export' action='Export'>
- <menuitem action='ExportAudio'/>
+ <menuitem action='ExportAudio'/>
<menuitem action='StemExport'/>
<menuitem action='ExportVideo'/>
</menu>
+ <menuitem action='bring-into-session'/>
<menu name='Cleanup' action='Cleanup'>
<menuitem action='CleanupUnused'/>
<menuitem action='FlushWastebasket'/>
@@ -53,6 +40,8 @@
<menuitem action='toggle-about'/>
<menuitem action='toggle-rc-options-editor'/>
#endif
+ <separator/>
+ <menuitem action='lock'/>
#ifndef GTKOSX
<separator/>
<menuitem action='Quit'/>
@@ -73,6 +62,7 @@
<menuitem action='Record'/>
<menuitem action='ToggleRollMaybe'/>
<menuitem action='ToggleRollForgetCapture'/>
+ <menuitem action='toggle-skip-playback'/>
<menu action="SetLoopMenu">
<menuitem action='set-loop-from-edit-range'/>
<menuitem action='set-loop-from-region'/>
@@ -125,13 +115,11 @@
<menuitem action='selected-marker-to-previous-region-boundary'/>
<menuitem action='edit-cursor-to-next-region-sync'/>
<menuitem action='edit-cursor-to-previous-region-sync'/>
- <separator/>
- <menuitem action='edit-to-playhead'/>
- <menuitem action='set-edit-point'/>
</menu>
<menu action="MarkerMenu">
<menuitem action='add-location-from-playhead'/>
+ <menuitem action='remove-location-from-playhead'/>
<separator/>
<menuitem action='goto-mark-1'/>
<menuitem action='goto-mark-2'/>
@@ -168,7 +156,8 @@
<menuitem action='editor-paste'/>
<separator/>
<menu action="SelectMenu">
- <menuitem action='select-all'/>
+ <menuitem action='select-all-objects'/>
+ <menuitem action='select-all-tracks'/>
<menuitem action='deselect-all'/>
<menuitem action='invert-selection'/>
<menuitem action='select-all-after-edit-cursor'/>
@@ -178,14 +167,13 @@
<menuitem action='select-all-in-punch-range'/>
<menuitem action='select-all-in-loop-range'/>
<separator/>
- <menuitem action='select-range-between-cursors'/>
<menuitem action='move-range-start-to-previous-region-boundary'/>
<menuitem action='move-range-start-to-next-region-boundary'/>
<menuitem action='move-range-end-to-previous-region-boundary'/>
<menuitem action='move-range-end-to-next-region-boundary'/>
+ <separator/>
<menuitem action='start-range'/>
<menuitem action='finish-range'/>
- <menuitem action='finish-add-range'/>
<separator/>
<menuitem action='select-next-route'/>
<menuitem action='select-prev-route'/>
@@ -245,8 +233,6 @@
<menuitem action='combine-regions'/>
<menuitem action='uncombine-regions'/>
<menuitem action='analyze-region'/>
- <menuitem action='toggle-opaque-region'/>
- <menuitem action='toggle-region-mute'/>
<menuitem action='pitch-shift-region'/>
<menuitem action='split-region'/>
<menuitem action='split-multichannel-region'/>
@@ -270,6 +256,8 @@
<menuitem action='show-region-list-editor'/>
</menu>
<menu action='RegionMenuGain'>
+ <menuitem action='toggle-opaque-region'/>
+ <menuitem action='toggle-region-mute'/>
<menuitem action='normalize-region'/>
<menuitem action='boost-region-gain'/>
<menuitem action='cut-region-gain'/>
@@ -288,6 +276,7 @@
<menuitem action='nudge-backward'/>
<menuitem action='nudge-forward-by-capture-offset'/>
<menuitem action='nudge-backward-by-capture-offset'/>
+ <menuitem action='sequence-regions'/>
</menu>
<menu action='RegionMenuTrim'>
<menuitem action='trim-front'/>
@@ -323,6 +312,11 @@
<menu action='TrackMenu'>
<menuitem action='AddTrackBus'/>
+ <separator/>
+ <menuitem action='track-record-enable-toggle'/>
+ <menuitem action='track-solo-toggle'/>
+ <menuitem action='track-mute-toggle'/>
+ <separator/>
<menuitem action='insert-time'/>
<menuitem action="move-selected-tracks-up"/>
<menuitem action="move-selected-tracks-down"/>
@@ -334,8 +328,8 @@
<menuitem action='track-height-normal'/>
<menuitem action='track-height-small'/>
</menu>
- <menuitem action='track-record-enable-toggle'/>
- <menuitem action='toggle-track-active'/>
+ <separator/>
+ <menuitem action='toggle-track-active'/>
<menuitem action='remove-track'/>
</menu>
@@ -347,6 +341,7 @@
<separator/>
<menu action="PrimaryClockMenu">
+ <menuitem action='focus-on-clock'/>
<menuitem action="primary-clock-timecode"/>
<menuitem action="primary-clock-bbt"/>
<menuitem action="primary-clock-minsec"/>
@@ -367,6 +362,8 @@
<menuitem action='zoom-to-session'/>
<menuitem action='zoom-to-region'/>
<menuitem action='zoom-to-region-both-axes'/>
+ <menuitem action='zoom-to-range'/>
+ <menuitem action='zoom-to-range-both-axes'/>
<menuitem action='toggle-zoom'/>
<menuitem action='expand-tracks'/>
<menuitem action='shrink-tracks'/>
@@ -489,6 +486,10 @@
<menuitem action='ToggleSummary'/>
<menuitem action='ToggleGroupTabs'/>
<menuitem action='show-marker-lines'/>
+
+ <separator/>
+ <menuitem action='show-ui-prefs'/>
+
</menu>
<menu action = 'WindowMenu'>
<menuitem action='toggle-audio-midi-setup'/>
@@ -619,8 +620,6 @@
<menuitem action='uncombine-regions'/>
<menuitem action='split-region'/>
<menuitem action='split-multichannel-region'/>
- <menuitem action='toggle-opaque-region'/>
- <menuitem action='toggle-region-mute'/>
<menuitem action='pitch-shift-region'/>
<menuitem action='reverse-region'/>
<menuitem action='close-region-gaps'/>
@@ -647,6 +646,7 @@
<menuitem action='nudge-backward'/>
<menuitem action='nudge-forward-by-capture-offset'/>
<menuitem action='nudge-backward-by-capture-offset'/>
+ <menuitem action='sequence-regions'/>
</menu>
<menu action='RegionMenuTrim'>
<menuitem action='trim-front'/>
@@ -670,6 +670,8 @@
<menuitem action='set-selection-from-region'/>
</menu>
<menu action='RegionMenuGain'>
+ <menuitem action='toggle-opaque-region'/>
+ <menuitem action='toggle-region-mute'/>
<menuitem action='normalize-region'/>
<menuitem action='boost-region-gain'/>
<menuitem action='cut-region-gain'/>
diff --git a/gtk2_ardour/ardour.sh.in b/gtk2_ardour/ardour.sh.in
index 04a9585b64..16061f5c09 100644
--- a/gtk2_ardour/ardour.sh.in
+++ b/gtk2_ardour/ardour.sh.in
@@ -5,9 +5,9 @@
# and does a few checks before exec'ing the real executable.
#
-export GTK_PATH=@SYSCONFDIR@/ardour3:@LIBDIR@/ardour3${GTK_PATH:+:$GTK_PATH}
+export GTK_PATH=@CONFDIR@:@LIBDIR@${GTK_PATH:+:$GTK_PATH}
-export LD_LIBRARY_PATH=@LIBDIR@/ardour3${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
+export LD_LIBRARY_PATH=@LIBDIR@${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
## Memlock check
@@ -23,7 +23,7 @@ fi
## Glib atomic test
-GLIB=$(ldd @LIBDIR@/ardour3/ardour-@VERSION@ 2> /dev/null | grep glib-2.0 | sed 's/.*=> \([^ ]*\) .*/\1/')
+GLIB=$(ldd @LIBDIR@/ardour-@VERSION@ 2> /dev/null | grep glib-2.0 | sed 's/.*=> \([^ ]*\) .*/\1/')
if [ "$GLIB" = "" ]; then
echo "WARNING: Could not check your glib-2.0 for mutex locking atomic operations."
@@ -43,15 +43,15 @@ fi
# Running Ardour requires these 3 variables to be set
#
-export ARDOUR_DATA_PATH=@DATADIR@/ardour3
-export ARDOUR_CONFIG_PATH=@SYSCONFDIR@/ardour3
-export ARDOUR_DLL_PATH=@LIBDIR@/ardour3
+export ARDOUR_DATA_PATH=@DATADIR@
+export ARDOUR_CONFIG_PATH=@CONFDIR@
+export ARDOUR_DLL_PATH=@LIBDIR@
#
# VAMP has its own lookup path
#
-export VAMP_PATH=@LIBDIR@/ardour3/vamp
+export VAMP_PATH=@LIBDIR@/vamp
if [ $# -gt 0 ] ; then
case $1 in
@@ -59,6 +59,6 @@ if [ $# -gt 0 ] ; then
esac
fi
-exec $GDB @LIBDIR@/ardour3/ardour-@VERSION@ "$@"
+exec $GDB @LIBDIR@/ardour-@VERSION@ "$@"
diff --git a/gtk2_ardour/ardour_button.cc b/gtk2_ardour/ardour_button.cc
index f1f45e90c3..f3f7789f46 100644
--- a/gtk2_ardour/ardour_button.cc
+++ b/gtk2_ardour/ardour_button.cc
@@ -25,6 +25,7 @@
#include "pbd/compose.h"
#include "pbd/error.h"
+#include "pbd/stacktrace.h"
#include "gtkmm2ext/utils.h"
#include "gtkmm2ext/rgb_macros.h"
@@ -32,13 +33,16 @@
#include "ardour/rc_configuration.h" // for widget prelight preference
+#include "canvas/utils.h"
+
#include "ardour_button.h"
#include "ardour_ui.h"
#include "global_signals.h"
#include "i18n.h"
-#define REFLECTION_HEIGHT 2
+#define BASELINESTRETCH (1.25)
+#define TRACKHEADERBTNW (3.10)
using namespace Gdk;
using namespace Gtk;
@@ -51,35 +55,44 @@ using namespace std;
ArdourButton::Element ArdourButton::default_elements = ArdourButton::Element (ArdourButton::Edge|ArdourButton::Body|ArdourButton::Text);
ArdourButton::Element ArdourButton::led_default_elements = ArdourButton::Element (ArdourButton::default_elements|ArdourButton::Indicator);
ArdourButton::Element ArdourButton::just_led_default_elements = ArdourButton::Element (ArdourButton::Edge|ArdourButton::Body|ArdourButton::Indicator);
-bool ArdourButton::_flat_buttons = false;
ArdourButton::ArdourButton (Element e)
: _elements (e)
, _tweaks (Tweaks (0))
+ , _char_pixel_width (0)
+ , _char_pixel_height (0)
+ , _char_avg_pixel_width (0)
, _text_width (0)
, _text_height (0)
- , _diameter (11.0)
- , _corner_radius (4.0)
+ , _diameter (0)
+ , _corner_radius (2.5)
, _corner_mask (0xf)
, _angle(0)
, _xalign(.5)
, _yalign(.5)
- , border_color (0)
- , fill_color_active (0)
- , fill_color_inactive (0)
- , fill_pattern (0)
- , fill_pattern_active (0)
- , shine_pattern (0)
+ , fill_inactive_color (0)
+ , fill_active_color (0)
+ , text_active_color(0)
+ , text_inactive_color(0)
+ , led_active_color(0)
+ , led_inactive_color(0)
+ , convex_pattern (0)
+ , concave_pattern (0)
, led_inset_pattern (0)
- , reflection_pattern (0)
, _led_rect (0)
, _act_on_release (true)
, _led_left (false)
- , _fixed_diameter (true)
, _distinct_led_click (false)
, _hovering (false)
+ , _focused (false)
+ , _fixed_colors_set (false)
+ , _fallthrough_to_parent (false)
+ , _layout_ellipsize_width (-1)
+ , _ellipsis (Pango::ELLIPSIZE_NONE)
+ , _update_colors (true)
+ , _pattern_height (0)
{
- ColorsChanged.connect (sigc::mem_fun (*this, &ArdourButton::color_handler));
+ ARDOUR_UI_UTILS::ColorsChanged.connect (sigc::mem_fun (*this, &ArdourButton::color_handler));
}
ArdourButton::ArdourButton (const std::string& str, Element e)
@@ -87,83 +100,68 @@ ArdourButton::ArdourButton (const std::string& str, Element e)
, _tweaks (Tweaks (0))
, _text_width (0)
, _text_height (0)
- , _diameter (11.0)
- , _corner_radius (4.0)
+ , _diameter (0)
+ , _corner_radius (2.5)
, _corner_mask (0xf)
, _angle(0)
, _xalign(.5)
, _yalign(.5)
- , border_color (0)
- , fill_color_active (0)
- , fill_color_inactive (0)
- , fill_pattern (0)
- , fill_pattern_active (0)
- , shine_pattern (0)
+ , fill_inactive_color (0)
+ , fill_active_color (0)
+ , text_active_color(0)
+ , text_inactive_color(0)
+ , led_active_color(0)
+ , led_inactive_color(0)
+ , convex_pattern (0)
+ , concave_pattern (0)
, led_inset_pattern (0)
- , reflection_pattern (0)
, _led_rect (0)
, _act_on_release (true)
, _led_left (false)
- , _fixed_diameter (true)
, _distinct_led_click (false)
, _hovering (false)
+ , _focused (false)
+ , _fixed_colors_set (false)
+ , _fallthrough_to_parent (false)
+ , _layout_ellipsize_width (-1)
+ , _ellipsis (Pango::ELLIPSIZE_NONE)
+ , _update_colors (true)
+ , _pattern_height (0)
{
set_text (str);
+ ARDOUR_UI_UTILS::ColorsChanged.connect (sigc::mem_fun (*this, &ArdourButton::color_handler));
+ ARDOUR_UI_UTILS::DPIReset.connect (sigc::mem_fun (*this, &ArdourButton::on_name_changed));
}
ArdourButton::~ArdourButton()
{
delete _led_rect;
- if (shine_pattern) {
- cairo_pattern_destroy (shine_pattern);
+ if (convex_pattern) {
+ cairo_pattern_destroy (convex_pattern);
}
- if (fill_pattern) {
- cairo_pattern_destroy (fill_pattern);
- }
-
- if (fill_pattern_active) {
- cairo_pattern_destroy (fill_pattern_active);
+ if (concave_pattern) {
+ cairo_pattern_destroy (concave_pattern);
}
-
+
if (led_inset_pattern) {
cairo_pattern_destroy (led_inset_pattern);
}
-
- if (reflection_pattern) {
- cairo_pattern_destroy (reflection_pattern);
- }
-
}
void
ArdourButton::set_text (const std::string& str)
{
_text = str;
-
- if (!_layout && !_text.empty()) {
- _layout = Pango::Layout::create (get_pango_context());
- }
-
- if (_layout) {
- _layout->set_text (str);
+ if (!is_realized()) {
+ return;
+ }
+ ensure_layout ();
+ if (_layout && _layout->get_text() != _text) {
+ _layout->set_text (_text);
+ queue_resize ();
}
-
- queue_resize ();
-}
-
-void
-ArdourButton::set_markup (const std::string& str)
-{
- _text = str;
-
- if (!_layout) {
- _layout = Pango::Layout::create (get_pango_context());
- }
-
- _layout->set_markup (str);
- queue_resize ();
}
void
@@ -180,8 +178,26 @@ ArdourButton::set_alignment (const float xa, const float ya)
}
void
-ArdourButton::render (cairo_t* cr)
+ArdourButton::render (cairo_t* cr, cairo_rectangle_t *)
{
+ uint32_t text_color;
+ uint32_t led_color;
+
+ if (_update_colors) {
+ set_colors ();
+ }
+ if (get_height() != _pattern_height) {
+ build_patterns ();
+ }
+
+ if ( active_state() == Gtkmm2ext::ExplicitActive ) {
+ text_color = text_active_color;
+ led_color = led_active_color;
+ } else {
+ text_color = text_inactive_color;
+ led_color = led_inactive_color;
+ }
+
void (*rounded_function)(cairo_t*, double, double, double, double, double);
switch (_corner_mask) {
@@ -201,129 +217,211 @@ ArdourButton::render (cairo_t* cr)
rounded_function = Gtkmm2ext::rounded_rectangle;
}
- if (!_fixed_diameter) {
- _diameter = std::min (get_width(), get_height());
+ // draw edge (filling a rect underneath, rather than stroking a border on top, allows the corners to be lighter-weight.
+ if ((_elements & (Body|Edge)) == (Body|Edge)) {
+ rounded_function (cr, 0, 0, get_width(), get_height(), _corner_radius + 1.5);
+ cairo_set_source_rgba (cr, 0, 0, 0, 1);
+ cairo_fill(cr);
}
- float r,g,b,a;
-
+ // background fill
if ((_elements & Body)==Body) {
- if (_elements & Edge) {
-
- cairo_set_source_rgba (cr, 0, 0, 0, 1);
- rounded_function(cr, 0, 0, get_width(), get_height(), _corner_radius);
+ rounded_function (cr, 1, 1, get_width() - 2, get_height() - 2, _corner_radius);
+ if (active_state() == Gtkmm2ext::ImplicitActive && !((_elements & Indicator)==Indicator)) {
+ ArdourCanvas::set_source_rgba (cr, fill_inactive_color);
cairo_fill (cr);
-
- rounded_function (cr, 1, 1, get_width()-2, get_height()-2, _corner_radius - 1.5);
- } else {
- rounded_function (cr, 0, 0, get_width(), get_height(), _corner_radius);
- }
-
- if (active_state() == Gtkmm2ext::ImplicitActive) {
-
- if (!(_tweaks & ImplicitUsesSolidColor)) {
- cairo_set_source (cr, fill_pattern);
- } else {
- cairo_set_source (cr, fill_pattern_active);
- }
- cairo_fill (cr);
-
- if (!(_tweaks & ImplicitUsesSolidColor)) {
- //border
- UINT_TO_RGBA (fill_color_active, &r, &g, &b, &a);
- cairo_set_line_width (cr, 1.0);
- rounded_function (cr, 2, 2, get_width()-4, get_height()-4, _corner_radius - 1.5);
- cairo_set_source_rgba (cr, r/255.0, g/255.0, b/255.0, a/255.0);
- cairo_stroke (cr);
- }
-
- } else if (active_state() == Gtkmm2ext::ExplicitActive || ((_elements & Indicator)==Indicator) ) {
-
+ } else if ( (active_state() == Gtkmm2ext::ExplicitActive) && !((_elements & Indicator)==Indicator) ) {
//background color
- cairo_set_source (cr, fill_pattern_active);
+ ArdourCanvas::set_source_rgba (cr, fill_active_color);
cairo_fill (cr);
-
- } else {
-
+ } else { //inactive, or it has an indicator
//background color
- cairo_set_source (cr, fill_pattern);
- cairo_fill (cr);
-
+ ArdourCanvas::set_source_rgba (cr, fill_inactive_color);
}
+ cairo_fill (cr);
}
- if ( ((_elements & FlatFace)==FlatFace) && (active_state() != Gtkmm2ext::ExplicitActive) ) {
-
- if ( !_flat_buttons ) {
- float rheight = get_height()*0.5-REFLECTION_HEIGHT;
- Gtkmm2ext::rounded_rectangle (cr, 2, 3, get_width()-4, rheight, _corner_radius-1);
- cairo_set_source (cr, shine_pattern);
- cairo_fill (cr);
+ // IMPLICIT ACTIVE: draw a border of the active color
+ if ((_elements & Body)==Body) {
+ if (active_state() == Gtkmm2ext::ImplicitActive && !((_elements & Indicator)==Indicator)) {
+ cairo_set_line_width (cr, 2.0);
+ rounded_function (cr, 2, 2, get_width() - 4, get_height() - 4, _corner_radius-0.5);
+ ArdourCanvas::set_source_rgba (cr, fill_active_color);
+ cairo_stroke (cr);
}
+ }
- if (active_state() == Gtkmm2ext::ExplicitActive) {
-
- UINT_TO_RGBA (fill_color_active, &r, &g, &b, &a);
- cairo_set_line_width (cr, 2.0);
- rounded_function (cr, 2, 2, get_width()-4, get_height()-4, _corner_radius - 2.0);
- cairo_set_source_rgba (cr, r/255.0, g/255.0, b/255.0, a/255.0);
+ //show the "convex" or "concave" gradient
+ if (!_flat_buttons) {
+ if ( active_state() == Gtkmm2ext::ExplicitActive && !((_elements & Indicator)==Indicator) ) {
+ //concave
+ cairo_set_source (cr, concave_pattern);
+ Gtkmm2ext::rounded_rectangle (cr, 1, 1, get_width() - 2, get_height() - 2, _corner_radius);
cairo_fill (cr);
-
} else {
-
- UINT_TO_RGBA (fill_color_inactive, &r, &g, &b, &a);
- cairo_set_line_width (cr, 2.0);
- rounded_function (cr, 2, 2, get_width()-4, get_height()-4, _corner_radius - 2.0);
- cairo_set_source_rgba (cr, r/255.0, g/255.0, b/255.0, a/255.0);
+ cairo_set_source (cr, convex_pattern);
+ Gtkmm2ext::rounded_rectangle (cr, 1, 1, get_width() - 2, get_height() - 2, _corner_radius);
cairo_fill (cr);
-
}
}
+ //Pixbuf, if any
if (_pixbuf) {
-
- double x,y;
- x = (get_width() - _pixbuf->get_width())/2.0;
- y = (get_height() - _pixbuf->get_height())/2.0;
-
+ double x = rint((get_width() - _pixbuf->get_width()) * .5);
+ const double y = rint((get_height() - _pixbuf->get_height()) * .5);
+#if 0 // DEBUG style (print on hover)
+ if (_hovering || (_elements & Inactive)) {
+ printf("%s: p:%dx%d (%dx%d)\n",
+ get_name().c_str(),
+ _pixbuf->get_width(), _pixbuf->get_height(),
+ get_width(), get_height());
+ }
+#endif
+ if (_elements & Menu) {
+ //if this is a DropDown with an icon, then we need to
+ //move the icon left slightly to accomomodate the arrow
+ x -= _diameter - 2;
+ }
cairo_rectangle (cr, x, y, _pixbuf->get_width(), _pixbuf->get_height());
gdk_cairo_set_source_pixbuf (cr, _pixbuf->gobj(), x, y);
cairo_fill (cr);
}
+ else // rec-en is exclusive to pixbuf (tape machine mode, rec-en)
+ if ((_elements & (RecButton|RecTapeMode)) == (RecButton|RecTapeMode)) {
+ const double x = get_width() * .5;
+ const double y = get_height() * .5;
+ const double r = std::min(10., std::min(x, y) * .6); // TODO we need a better way to limit max. radius.
+ const double slit = .11 * M_PI;
+ cairo_save(cr);
+ cairo_translate(cr, x, y);
+
+ cairo_arc (cr, 0, 0, r, 0, 2 * M_PI);
+ if (active_state() == Gtkmm2ext::ExplicitActive)
+ cairo_set_source_rgba (cr, .95, .1, .1, 1.);
+ else
+ cairo_set_source_rgba (cr, .95, .44, .44, 1.); // #f46f6f
+ cairo_fill_preserve(cr);
+ cairo_set_source_rgba (cr, .0, .0, .0, .5);
+ cairo_set_line_width(cr, 1);
+ cairo_stroke(cr);
+
+ cairo_save(cr);
+ cairo_set_source_rgba (cr, .15, .07, .07, 1.0);
+
+ cairo_rotate (cr, -.5 * M_PI);
+ cairo_move_to(cr, 0, 0);
+ cairo_arc (cr, 0, 0, r *.85, -slit, slit);
+ cairo_line_to(cr, 0, 0);
+ cairo_close_path(cr);
+
+ cairo_fill(cr);
+ cairo_rotate (cr, 2. * M_PI / 3.);
- /* text, if any */
+ cairo_move_to(cr, 0, 0);
+ cairo_arc (cr, 0, 0, r *.85, -slit, slit);
+ cairo_line_to(cr, 0, 0);
+ cairo_close_path(cr);
+ cairo_fill(cr);
- int text_margin;
+ cairo_rotate (cr, 2. * M_PI / 3.);
+ cairo_move_to(cr, 0, 0);
+ cairo_arc (cr, 0, 0, r *.85, -slit, slit);
+ cairo_line_to(cr, 0, 0);
+ cairo_close_path(cr);
+ cairo_fill(cr);
- if (get_width() < 75) {
- text_margin = 5;
- } else {
- text_margin = 10;
+ cairo_restore(cr);
+
+ cairo_arc (cr, 0, 0, r * .3, 0, 2 * M_PI);
+ if (active_state() == Gtkmm2ext::ExplicitActive)
+ cairo_set_source_rgba (cr, .95, .1, .1, 1.);
+ else
+ cairo_set_source_rgba (cr, .95, .44, .44, 1.); // #f46f6f
+ cairo_fill(cr);
+ cairo_set_source_rgba (cr, .0, .0, .0, 1.0);
+ cairo_arc (cr, 0, 0, r *.15, 0, 2 * M_PI); // hole in the middle
+ cairo_fill(cr);
+
+ cairo_restore(cr);
+ }
+ else if (_elements & RecButton) {
+ const double x = get_width() * .5;
+ const double y = get_height() * .5;
+ const double r = std::min(10., std::min(x, y) * .55); // TODO we need a better way to limit max. radius.
+ cairo_arc (cr, x, y, r, 0, 2 * M_PI);
+ if (active_state() == Gtkmm2ext::ExplicitActive)
+ cairo_set_source_rgba (cr, .95, .1, .1, 1.);
+ else
+ cairo_set_source_rgba (cr, .95, .44, .44, 1.); // #f46f6f
+ cairo_fill_preserve(cr);
+ cairo_set_source_rgba (cr, .0, .0, .0, .8);
+ cairo_set_line_width(cr, 1);
+ cairo_stroke(cr);
}
+ else if (_elements & CloseCross) {
+ const double x = get_width() * .5;
+ const double y = get_height() * .5;
+ const double o = .5 + std::min(x, y) * .4;
+ ArdourCanvas::set_source_rgba (cr, text_color);
+ cairo_set_line_width(cr, 1);
+ cairo_move_to(cr, x-o, y-o);
+ cairo_line_to(cr, x+o, y+o);
+ cairo_move_to(cr, x+o, y-o);
+ cairo_line_to(cr, x-o, y+o);
+ cairo_stroke(cr);
+ }
+
+ const int text_margin = char_pixel_width();
+ // Text, if any
+ if (!_pixbuf && ((_elements & Text)==Text) && !_text.empty()) {
+ assert(_layout);
+#if 0 // DEBUG style (print on hover)
+ if (_hovering || (_elements & Inactive)) {
+ bool layout_font = true;
+ Pango::FontDescription fd = _layout->get_font_description();
+ if (fd.gobj() == NULL) {
+ layout_font = false;
+ fd = get_pango_context()->get_font_description();
+ }
+ printf("%s: f:%dx%d aw:%.3f bh:%.0f t:%dx%d (%dx%d) %s\"%s\"\n",
+ get_name().c_str(),
+ char_pixel_width(), char_pixel_height(), char_avg_pixel_width(),
+ ceil(char_pixel_height() * BASELINESTRETCH),
+ _text_width, _text_height,
+ get_width(), get_height(),
+ layout_font ? "L:" : "W:",
+ fd.to_string().c_str());
+ }
+#endif
- if ( ((_elements & Text)==Text) && !_text.empty()) {
cairo_save (cr);
- cairo_rectangle (cr, 2, 1, get_width()-4, get_height()-2);
+ cairo_rectangle (cr, 2, 1, get_width() - 4, get_height() - 2);
cairo_clip(cr);
- cairo_new_path (cr);
- cairo_set_source_rgba (cr, text_r, text_g, text_b, text_a);
+ cairo_new_path (cr);
+ ArdourCanvas::set_source_rgba (cr, text_color);
+ const double text_ypos = (get_height() - _text_height) * .5;
- if (_elements & Indicator) {
+ if (_elements & Menu) {
+ // always left align (dropdown)
+ cairo_move_to (cr, text_margin, text_ypos);
+ pango_cairo_show_layout (cr, _layout->gobj());
+ } else if ( (_elements & Indicator) == Indicator) {
+ // left/right align depending on LED position
if (_led_left) {
- cairo_move_to (cr, text_margin + _diameter + 4, get_height()/2.0 - _text_height/2.0);
+ cairo_move_to (cr, text_margin + _diameter + .5 * char_pixel_width(), text_ypos);
} else {
- cairo_move_to (cr, text_margin, get_height()/2.0 - _text_height/2.0);
+ cairo_move_to (cr, text_margin, text_ypos);
}
pango_cairo_show_layout (cr, _layout->gobj());
} else {
- /* align text */
-
+ /* centered text otherwise */
double ww, wh;
double xa, ya;
ww = get_width();
wh = get_height();
- cairo_save (cr); // TODO retain rotataion.. adj. LED,...
+
+ cairo_save (cr);
cairo_rotate(cr, _angle * M_PI / 180.0);
cairo_device_to_user(cr, &ww, &wh);
xa = (ww - _text_width) * _xalign;
@@ -333,279 +431,317 @@ ArdourButton::render (cairo_t* cr)
* TODO this should be generalized incl rotation.
* currently only 'user' of this API is meter_strip.cc
*/
- if (_xalign < 0) xa = (ww * fabs(_xalign) + text_margin);
-
- // TODO honor left/right text_margin with min/max()
+ if (_xalign < 0) xa = ceil(.5 + (ww * fabs(_xalign) + text_margin));
cairo_move_to (cr, xa, ya);
pango_cairo_update_layout(cr, _layout->gobj());
pango_cairo_show_layout (cr, _layout->gobj());
cairo_restore (cr);
-
- /* use old center'ed layout for follow up items - until rotation/aligment code is completed */
- cairo_move_to (cr, (get_width() - _text_width)/2.0, get_height()/2.0 - _text_height/2.0);
}
cairo_restore (cr);
- }
+ }
- if (((_elements & Indicator)==Indicator)) {
+ //Menu "triangle"
+ if (_elements & Menu) {
+ const float trih = ceil(_diameter * .5);
+ const float triw2 = ceil(.577 * _diameter * .5); // 1/sqrt(3) Equilateral triangle
+ //menu arrow
+ cairo_set_source_rgba (cr, 1, 1, 1, 0.4);
+ cairo_move_to(cr, get_width() - triw2 - 3. , rint((get_height() + trih) * .5));
+ cairo_rel_line_to(cr, -triw2, -trih);
+ cairo_rel_line_to(cr, 2. * triw2, 0);
+ cairo_close_path(cr);
+
+ cairo_set_source_rgba (cr, 1, 1, 1, 0.4);
+ cairo_fill(cr);
- /* move to the center of the indicator/led */
+ cairo_move_to(cr, get_width() - triw2 - 3 , rint((get_height() + trih) * .5));
+ cairo_rel_line_to(cr, .5 - triw2, .5 - trih);
+ cairo_rel_line_to(cr, 2. * triw2 - 1, 0);
+ cairo_close_path(cr);
+ cairo_set_source_rgba (cr, 0, 0, 0, 0.8);
+ cairo_set_line_width(cr, 1);
+ cairo_stroke(cr);
+ }
+ //Indicator LED
+ if (_elements & Indicator) {
cairo_save (cr);
+ /* move to the center of the indicator/led */
if (_elements & Text) {
+ int led_xoff = ceil(char_pixel_width() + _diameter * .5);
if (_led_left) {
- cairo_translate (cr, text_margin + (_diameter/2.0), get_height()/2.0);
+ cairo_translate (cr, led_xoff, get_height() * .5);
} else {
- cairo_translate (cr, get_width() - ((_diameter/2.0) + 4.0), get_height()/2.0);
+ cairo_translate (cr, get_width() - led_xoff, get_height() * .5);
}
} else {
- cairo_translate (cr, get_width()/2.0, get_height()/2.0);
+ cairo_translate (cr, get_width() * .5, get_height() * .5);
}
-
+
//inset
- cairo_arc (cr, 0, 0, _diameter/2, 0, 2 * M_PI);
- cairo_set_source (cr, led_inset_pattern);
- cairo_fill (cr);
-
+ if (!_flat_buttons) {
+ cairo_arc (cr, 0, 0, _diameter * .5, 0, 2 * M_PI);
+ cairo_set_source (cr, led_inset_pattern);
+ cairo_fill (cr);
+ }
+
//black ring
cairo_set_source_rgb (cr, 0, 0, 0);
- cairo_arc (cr, 0, 0, _diameter/2-2, 0, 2 * M_PI);
+ cairo_arc (cr, 0, 0, _diameter * .5 - 1, 0, 2 * M_PI);
cairo_fill(cr);
-
+
//led color
- cairo_set_source_rgba (cr, led_r, led_g, led_b, led_a);
- cairo_arc (cr, 0, 0, _diameter/2-3, 0, 2 * M_PI);
+ ArdourCanvas::set_source_rgba (cr, led_color);
+ cairo_arc (cr, 0, 0, _diameter * .5 - 3, 0, 2 * M_PI);
cairo_fill(cr);
-
+
cairo_restore (cr);
}
-
- /* a partially transparent gray layer to indicate insensitivity */
-
+ // a transparent gray layer to indicate insensitivity
if ((visual_state() & Gtkmm2ext::Insensitive)) {
- rounded_function (cr, 0, 0, get_width(), get_height(), _corner_radius);
+ rounded_function (cr, 1, 1, get_width() - 2, get_height() - 2, _corner_radius);
cairo_set_source_rgba (cr, 0.505, 0.517, 0.525, 0.6);
cairo_fill (cr);
}
- //reflection
- bool show_reflection = (active_state() == Gtkmm2ext::ExplicitActive);
- show_reflection &= !_flat_buttons;
- show_reflection &= !((_elements & Indicator)==Indicator);
- if ( show_reflection ) {
- float rheight = get_height()*0.5-REFLECTION_HEIGHT;
- Gtkmm2ext::rounded_rectangle (cr, 2, get_height()*0.5-1, get_width()-4, rheight, _corner_radius-1);
- cairo_set_source (cr, shine_pattern);
- cairo_fill (cr);
- }
-
- /* if requested, show hovering */
-
+ // if requested, show hovering
if (ARDOUR::Config->get_widget_prelight()
&& !((visual_state() & Gtkmm2ext::Insensitive))) {
if (_hovering) {
- rounded_function (cr, 0, 0, get_width(), get_height(), _corner_radius);
+ rounded_function (cr, 1, 1, get_width() - 2, get_height() - 2, _corner_radius);
cairo_set_source_rgba (cr, 0.905, 0.917, 0.925, 0.2);
cairo_fill (cr);
}
}
-}
-void
-ArdourButton::set_diameter (float d)
-{
- _diameter = (d*2) + 5.0;
+ //user is currently pressing the button. dark outline helps to indicate this
+ if (_grabbed && !(_elements & (Inactive|Menu))) {
+ rounded_function (cr, 1, 1, get_width() - 2, get_height() - 2, _corner_radius);
+ cairo_set_line_width(cr, 2);
+ cairo_set_source_rgba (cr, 0.1, 0.1, 0.1, .5);
+ cairo_stroke (cr);
+ }
- if (_diameter != 0.0) {
- _fixed_diameter = true;
+ //some buttons (like processor boxes) can be selected (so they can be deleted). Draw a selection indicator
+ if (visual_state() & Gtkmm2ext::Selected) {
+ cairo_set_line_width(cr, 1);
+ cairo_set_source_rgba (cr, 1, 0, 0, 0.8);
+ rounded_function (cr, 0.5, 0.5, get_width() - 1, get_height() - 1, _corner_radius);
+ cairo_stroke (cr);
}
- set_colors ();
- queue_resize ();
+ //I guess this means we have keyboard focus. I don't think this works currently
+ //
+ //A: yes, it's keyboard focus and it does work when there's no editor window
+ // (the editor is always the first receiver for KeyDown).
+ // It's needed for eg. the engine-dialog at startup or after closing a sesion.
+ if (_focused) {
+ rounded_function (cr, 1.5, 1.5, get_width() - 3, get_height() - 3, _corner_radius);
+ cairo_set_source_rgba (cr, 0.905, 0.917, 0.925, 0.8);
+ double dashes = 1;
+ cairo_set_dash (cr, &dashes, 1, 0);
+ cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
+ cairo_set_line_width (cr, 1.0);
+ cairo_stroke (cr);
+ cairo_set_dash (cr, 0, 0, 0);
+ }
}
void
ArdourButton::set_corner_radius (float r)
{
_corner_radius = r;
- set_dirty ();
+ CairoWidget::set_dirty ();
}
void
-ArdourButton::on_size_request (Gtk::Requisition* req)
+ArdourButton::on_realize()
{
- int xpad = 0;
- int ypad = 6;
+ CairoWidget::on_realize ();
+ ensure_layout ();
+ if (_layout && _layout->get_text() != _text) {
+ _layout->set_text (_text);
+ queue_resize ();
+ }
+}
+void
+ArdourButton::on_size_request (Gtk::Requisition* req)
+{
+ req->width = req->height = 0;
CairoWidget::on_size_request (req);
+ if (_diameter == 0) {
+ const float newdia = rint (ARDOUR::Config->get_font_scale () / 1024. / 7.5); // 11px with 80% font-scaling
+ if (_diameter != newdia) {
+ _pattern_height = 0;
+ _diameter = newdia;
+ }
+ }
+
if ((_elements & Text) && !_text.empty()) {
+ // if _layout does not exist, char_pixel_height() creates it,
+ req->height = std::max(req->height, (int) ceil(char_pixel_height() * BASELINESTRETCH + 1.0));
_layout->get_pixel_size (_text_width, _text_height);
- if (_text_width + _diameter < 75) {
- xpad = 7;
- } else {
- xpad = 12;
- }
+ req->width += rint(1.75 * char_pixel_width()); // padding
+ req->width += _text_width;
} else {
_text_width = 0;
_text_height = 0;
}
if (_pixbuf) {
- xpad = 6;
+ req->width += _pixbuf->get_width() + char_pixel_width();
+ req->height = std::max(req->height, _pixbuf->get_height() + 4);
}
- if ((_elements & Indicator) && _fixed_diameter) {
- if (_pixbuf) {
- req->width = _pixbuf->get_width() + lrint (_diameter) + xpad;
- req->height = max (_pixbuf->get_height(), (int) lrint (_diameter)) + ypad;
- } else {
- req->width = _text_width + lrint (_diameter) + xpad * 2; // margin left+right * 2
- req->height = max (_text_height, (int) lrint (_diameter)) + ypad;
- }
- } else {
- if (_pixbuf) {
- req->width = _pixbuf->get_width() + xpad;
- req->height = _pixbuf->get_height() + ypad;
- } else {
- req->width = _text_width + xpad;
- req->height = _text_height + ypad;
- }
+ if (_elements & Indicator) {
+ req->width += lrint (_diameter) + char_pixel_width();
+ req->height = std::max (req->height, (int) lrint (_diameter) + 4);
+ }
+
+ if ((_elements & Menu)) {
+ req->width += _diameter + 4;
+ }
+
+ if (_elements & (RecButton | CloseCross)) {
+ assert(!(_elements & Text));
+ const int wh = std::max (rint (TRACKHEADERBTNW * char_avg_pixel_width()), ceil (char_pixel_height() * BASELINESTRETCH + 1.));
+ req->width += wh;
+ req->height = std::max(req->height, wh);
+ }
+
+ /* Tweaks to mess the nice stuff above up again. */
+ if (_tweaks & TrackHeader) {
+ // forget everything above and just use a fixed square [em] size
+ // "TrackHeader Buttons" are single letter (usually uppercase)
+ // a SizeGroup is much less efficient (lots of gtk work under the hood for each track)
+ const int wh = std::max (rint (TRACKHEADERBTNW * char_avg_pixel_width()), ceil (char_pixel_height() * BASELINESTRETCH + 1.));
+ req->width = wh;
+ req->height = wh;
}
- req->width += _corner_radius;
+ else if (_tweaks & Square) {
+ // currerntly unused (again)
+ if (req->width < req->height)
+ req->width = req->height;
+ if (req->height < req->width)
+ req->height = req->width;
+ } else if (_text_width > 0 && !(_elements & (Menu | Indicator))) {
+ // properly centered text for those elements that are centered
+ // (no sub-pixel offset)
+ if ((req->width - _text_width) & 1) { ++req->width; }
+ if ((req->height - _text_height) & 1) { ++req->height; }
+ }
+#if 0
+ printf("REQ: %s: %dx%d\n", get_name().c_str(), req->width, req->height);
+#endif
}
+/**
+ * This sets the colors used for rendering based on the name of the button, and
+ * thus uses information from the GUI config data.
+ */
void
ArdourButton::set_colors ()
{
- uint32_t start_color;
- uint32_t end_color;
- uint32_t r, g, b, a;
- uint32_t text_color;
- uint32_t led_color;
-
- if (active_state() == Gtkmm2ext::ImplicitActive && (_tweaks & ImplicitUsesSolidColor)) {
- fill_color_active = ARDOUR_UI::config()->color_by_name (string_compose ("%1: led active", get_name()));
- } else {
- fill_color_active = ARDOUR_UI::config()->color_by_name (string_compose ("%1: fill end active", get_name()));
+ _update_colors = false;
+ if (_fixed_colors_set) {
+ return;
}
- fill_color_inactive = ARDOUR_UI::config()->color_by_name (string_compose ("%1: fill end", get_name()));
- border_color = ARDOUR_UI::config()->color_by_name ( "button border" );
+ std::string name = get_name();
- if (shine_pattern) {
- cairo_pattern_destroy (shine_pattern);
- shine_pattern = 0;
- }
+ fill_active_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: fill active", name));
+ fill_inactive_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: fill", name));
- if (fill_pattern) {
- cairo_pattern_destroy (fill_pattern);
- fill_pattern = 0;
- }
+ text_active_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: text active", name));
+ text_inactive_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: text", name));
- if (fill_pattern_active) {
- cairo_pattern_destroy (fill_pattern_active);
- fill_pattern_active = 0;
- }
+ led_active_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: led active", name));
+ led_inactive_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: led", name));
+}
- if (_elements & Body) {
+/**
+ * This sets the colors used for rendering based on two fixed values, rather
+ * than basing them on the button name, and thus information in the GUI config
+ * data.
+ */
+void ArdourButton::set_fixed_colors (const uint32_t color_active, const uint32_t color_inactive)
+{
+ _fixed_colors_set = true;
- start_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: fill start active", get_name()));
-
- if (_flat_buttons) {
- end_color = start_color;
- } else {
- end_color = fill_color_active;
- }
- UINT_TO_RGBA (start_color, &r, &g, &b, &a);
-
- active_r = r/255.0;
- active_g = g/255.0;
- active_b = b/255.0;
- active_a = a/255.0;
-
- shine_pattern = cairo_pattern_create_linear (0.0, 0.0, 0.0, get_height());
- cairo_pattern_add_color_stop_rgba (shine_pattern, 0, 1,1,1,0.0);
- cairo_pattern_add_color_stop_rgba (shine_pattern, 0.5, 1,1,1,0.1);
- cairo_pattern_add_color_stop_rgba (shine_pattern, 0.7, 1,1,1,0.2);
- cairo_pattern_add_color_stop_rgba (shine_pattern, 1, 1,1,1,0.1);
-
- fill_pattern = cairo_pattern_create_linear (0.0, 0.0, 0.0, get_height()-3);
- if (_flat_buttons) {
- end_color = start_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: fill end", get_name()));
- } else {
- start_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: fill start", get_name()));
- end_color = fill_color_inactive;
- }
- UINT_TO_RGBA (start_color, &r, &g, &b, &a);
- cairo_pattern_add_color_stop_rgba (fill_pattern, 0, r/255.0,g/255.0,b/255.0, a/255.0);
- UINT_TO_RGBA (end_color, &r, &g, &b, &a);
- cairo_pattern_add_color_stop_rgba (fill_pattern, 1, r/255.0,g/255.0,b/255.0, a/255.0);
-
- fill_pattern_active = cairo_pattern_create_linear (0.0, 0.0, 0.0, get_height()-3);
- if (_flat_buttons) {
- if (active_state() == Gtkmm2ext::ImplicitActive && (_tweaks & ImplicitUsesSolidColor)) {
- end_color = start_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: led active", get_name()));
- } else {
- end_color = start_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: fill end active", get_name()));
- }
- } else {
- if (active_state() == Gtkmm2ext::ImplicitActive && (_tweaks & ImplicitUsesSolidColor)) {
- start_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: led", get_name()));
- end_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: led active", get_name()));
- } else {
- start_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: fill start active", get_name()));
- end_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: fill end active", get_name()));
- }
- }
- UINT_TO_RGBA (start_color, &r, &g, &b, &a);
- cairo_pattern_add_color_stop_rgba (fill_pattern_active, 0, r/255.0,g/255.0,b/255.0, a/255.0);
- UINT_TO_RGBA (end_color, &r, &g, &b, &a);
- cairo_pattern_add_color_stop_rgba (fill_pattern_active, 1, r/255.0,g/255.0,b/255.0, a/255.0);
+ fill_active_color = color_active;
+ fill_inactive_color = color_inactive;
+
+ unsigned char r, g, b, a;
+ UINT_TO_RGBA(color_active, &r, &g, &b, &a);
+
+ double white_contrast = (max (double(r), 255.) - min (double(r), 255.)) +
+ (max (double(g), 255.) - min (double(g), 255.)) +
+ (max (double(b), 255.) - min (double(b), 255.));
+
+ double black_contrast = (max (double(r), 0.) - min (double(r), 0.)) +
+ (max (double(g), 0.) - min (double(g), 0.)) +
+ (max (double(b), 0.) - min (double(b), 0.));
+
+ text_active_color = (white_contrast > black_contrast) ?
+ RGBA_TO_UINT(255, 255, 255, 255) : /* use white */
+ RGBA_TO_UINT( 0, 0, 0, 255); /* use black */
+
+
+ UINT_TO_RGBA(color_inactive, &r, &g, &b, &a);
+
+ white_contrast = (max (double(r), 255.) - min (double(r), 255.)) +
+ (max (double(g), 255.) - min (double(g), 255.)) +
+ (max (double(b), 255.) - min (double(b), 255.));
+
+ black_contrast = (max (double(r), 0.) - min (double(r), 0.)) +
+ (max (double(g), 0.) - min (double(g), 0.)) +
+ (max (double(b), 0.) - min (double(b), 0.));
+
+ text_inactive_color = (white_contrast > black_contrast) ?
+ RGBA_TO_UINT(255, 255, 255, 255) : /* use white */
+ RGBA_TO_UINT( 0, 0, 0, 255); /* use black */
+
+ /* XXX what about led colors ? */
+ CairoWidget::set_dirty ();
+}
+
+void
+ArdourButton::build_patterns ()
+{
+ if (convex_pattern) {
+ cairo_pattern_destroy (convex_pattern);
+ convex_pattern = 0;
+ }
+
+ if (concave_pattern) {
+ cairo_pattern_destroy (concave_pattern);
+ concave_pattern = 0;
}
if (led_inset_pattern) {
cairo_pattern_destroy (led_inset_pattern);
- }
-
- if (reflection_pattern) {
- cairo_pattern_destroy (reflection_pattern);
+ led_inset_pattern = 0;
}
- if (_elements & Indicator) {
- led_inset_pattern = cairo_pattern_create_linear (0.0, 0.0, 0.0, _diameter);
- cairo_pattern_add_color_stop_rgba (led_inset_pattern, 0, 0,0,0, 0.4);
- cairo_pattern_add_color_stop_rgba (led_inset_pattern, 1, 1,1,1, 0.7);
-
- reflection_pattern = cairo_pattern_create_linear (0.0, 0.0, 0.0, _diameter/2-3);
- cairo_pattern_add_color_stop_rgba (reflection_pattern, 0, 1,1,1, active_state() ? 0.4 : 0.2);
- cairo_pattern_add_color_stop_rgba (reflection_pattern, 1, 1,1,1, 0.0);
- }
-
- /* text and LED colors */
+ //convex gradient
+ convex_pattern = cairo_pattern_create_linear (0.0, 0, 0.0, get_height());
+ cairo_pattern_add_color_stop_rgba (convex_pattern, 0.0, 0,0,0, 0.0);
+ cairo_pattern_add_color_stop_rgba (convex_pattern, 1.0, 0,0,0, 0.35);
- if (active_state() == Gtkmm2ext::ExplicitActive || ((_tweaks & ImplicitUsesSolidColor) && active_state() == Gtkmm2ext::ImplicitActive)) {
- text_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: text active", get_name()));
- led_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: led active", get_name()));
- } else {
- text_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: text", get_name()));
- led_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: led", get_name()));
- }
+ //concave gradient
+ concave_pattern = cairo_pattern_create_linear (0.0, 0, 0.0, get_height());
+ cairo_pattern_add_color_stop_rgba (concave_pattern, 0.0, 0,0,0, 0.5);
+ cairo_pattern_add_color_stop_rgba (concave_pattern, 0.7, 0,0,0, 0.0);
- UINT_TO_RGBA (text_color, &r, &g, &b, &a);
- text_r = r/255.0;
- text_g = g/255.0;
- text_b = b/255.0;
- text_a = a/255.0;
- UINT_TO_RGBA (led_color, &r, &g, &b, &a);
- led_r = r/255.0;
- led_g = g/255.0;
- led_b = b/255.0;
- led_a = a/255.0;
+ led_inset_pattern = cairo_pattern_create_linear (0.0, 0.0, 0.0, _diameter);
+ cairo_pattern_add_color_stop_rgba (led_inset_pattern, 0, 0,0,0, 0.4);
+ cairo_pattern_add_color_stop_rgba (led_inset_pattern, 1, 1,1,1, 0.7);
- set_dirty ();
+ _pattern_height = get_height() ;
}
void
@@ -617,21 +753,22 @@ ArdourButton::set_led_left (bool yn)
bool
ArdourButton::on_button_press_event (GdkEventButton *ev)
{
+ focus_handler ();
+
if ((_elements & Indicator) && _led_rect && _distinct_led_click) {
- if (ev->x >= _led_rect->x && ev->x < _led_rect->x + _led_rect->width &&
+ if (ev->x >= _led_rect->x && ev->x < _led_rect->x + _led_rect->width &&
ev->y >= _led_rect->y && ev->y < _led_rect->y + _led_rect->height) {
return true;
}
}
- if (_tweaks & ShowClick) {
- set_active_state (Gtkmm2ext::ExplicitActive);
- }
-
if (binding_proxy.button_press_handler (ev)) {
return true;
}
+ _grabbed = true;
+ CairoWidget::set_dirty ();
+
if (!_act_on_release) {
if (_action) {
_action->activate ();
@@ -639,35 +776,40 @@ ArdourButton::on_button_press_event (GdkEventButton *ev)
}
}
- return false;
+ if (_fallthrough_to_parent)
+ return false;
+
+ return true;
}
bool
ArdourButton::on_button_release_event (GdkEventButton *ev)
{
- if ((_elements & Indicator) && _led_rect && _distinct_led_click) {
- if (ev->x >= _led_rect->x && ev->x < _led_rect->x + _led_rect->width &&
+ if (_hovering && (_elements & Indicator) && _led_rect && _distinct_led_click) {
+ if (ev->x >= _led_rect->x && ev->x < _led_rect->x + _led_rect->width &&
ev->y >= _led_rect->y && ev->y < _led_rect->y + _led_rect->height) {
signal_led_clicked(); /* EMIT SIGNAL */
return true;
}
}
- if (_tweaks & ShowClick) {
- unset_active_state ();
- }
-
- signal_clicked ();
+ _grabbed = false;
+ CairoWidget::set_dirty ();
- if (_act_on_release) {
- if (_action) {
- _action->activate ();
- return true;
+ if (_hovering) {
+ signal_clicked ();
+ if (_act_on_release) {
+ if (_action) {
+ _action->activate ();
+ return true;
+ }
}
}
+ if (_fallthrough_to_parent)
+ return false;
- return false;
+ return true;
}
void
@@ -680,8 +822,8 @@ ArdourButton::set_distinct_led_click (bool yn)
void
ArdourButton::color_handler ()
{
- set_colors ();
- set_dirty ();
+ _update_colors = true;
+ CairoWidget::set_dirty ();
}
void
@@ -689,39 +831,38 @@ ArdourButton::on_size_allocate (Allocation& alloc)
{
CairoWidget::on_size_allocate (alloc);
setup_led_rect ();
- set_colors ();
}
void
ArdourButton::set_controllable (boost::shared_ptr<Controllable> c)
{
- watch_connection.disconnect ();
- binding_proxy.set_controllable (c);
+ watch_connection.disconnect ();
+ binding_proxy.set_controllable (c);
}
void
ArdourButton::watch ()
{
- boost::shared_ptr<Controllable> c (binding_proxy.get_controllable ());
+ boost::shared_ptr<Controllable> c (binding_proxy.get_controllable ());
- if (!c) {
- warning << _("button cannot watch state of non-existing Controllable\n") << endmsg;
- return;
- }
-
- c->Changed.connect (watch_connection, invalidator(*this), boost::bind (&ArdourButton::controllable_changed, this), gui_context());
+ if (!c) {
+ warning << _("button cannot watch state of non-existing Controllable\n") << endmsg;
+ return;
+ }
+ c->Changed.connect (watch_connection, invalidator(*this), boost::bind (&ArdourButton::controllable_changed, this), gui_context());
}
void
ArdourButton::controllable_changed ()
{
- float val = binding_proxy.get_controllable()->get_value();
+ float val = binding_proxy.get_controllable()->get_value();
if (fabs (val) >= 0.5f) {
set_active_state (Gtkmm2ext::ExplicitActive);
} else {
unset_active_state ();
}
+ CairoWidget::set_dirty ();
}
void
@@ -737,7 +878,7 @@ ArdourButton::set_related_action (RefPtr<Action> act)
if (tact) {
action_toggled ();
tact->signal_toggled().connect (sigc::mem_fun (*this, &ArdourButton::action_toggled));
- }
+ }
_action->connect_property_changed ("sensitive", sigc::mem_fun (*this, &ArdourButton::action_sensitivity_changed));
_action->connect_property_changed ("visible", sigc::mem_fun (*this, &ArdourButton::action_visibility_changed));
@@ -757,54 +898,63 @@ ArdourButton::action_toggled ()
unset_active_state ();
}
}
-}
+}
void
ArdourButton::on_style_changed (const RefPtr<Gtk::Style>&)
{
- set_colors ();
+ _update_colors = true;
+ CairoWidget::set_dirty ();
}
void
-ArdourButton::setup_led_rect ()
+ArdourButton::on_name_changed ()
{
- int text_margin;
+ _char_pixel_width = 0;
+ _char_pixel_height = 0;
+ _diameter = 0;
+ _update_colors = true;
+ if (is_realized()) {
+ queue_resize ();
+ }
+}
- if (get_width() < 75) {
- text_margin = 3;
- } else {
- text_margin = 10;
+void
+ArdourButton::setup_led_rect ()
+{
+ if (!(_elements & Indicator)) {
+ delete _led_rect;
+ _led_rect = 0;
+ return;
}
- if (_elements & Indicator) {
+ if (!_led_rect) {
_led_rect = new cairo_rectangle_t;
-
- if (_elements & Text) {
- if (_led_left) {
- _led_rect->x = text_margin;
- } else {
- _led_rect->x = get_width() - text_margin - _diameter/2.0;
- }
+ }
+
+ if (_elements & Text) {
+ if (_led_left) {
+ _led_rect->x = char_pixel_width();
} else {
- /* centered */
- _led_rect->x = get_width()/2.0 - _diameter/2.0;
+ _led_rect->x = get_width() - char_pixel_width() + _diameter;
}
-
- _led_rect->y = get_height()/2.0 - _diameter/2.0;
- _led_rect->width = _diameter;
- _led_rect->height = _diameter;
-
} else {
- delete _led_rect;
- _led_rect = 0;
+ /* centered */
+ _led_rect->x = .5 * get_width() - _diameter;
}
+
+ _led_rect->y = .5 * (get_height() - _diameter);
+ _led_rect->width = _diameter;
+ _led_rect->height = _diameter;
}
void
ArdourButton::set_image (const RefPtr<Gdk::Pixbuf>& img)
{
_pixbuf = img;
- queue_draw ();
+ if (is_realized()) {
+ queue_resize ();
+ }
}
void
@@ -813,27 +963,59 @@ ArdourButton::set_active_state (Gtkmm2ext::ActiveState s)
bool changed = (_active_state != s);
CairoWidget::set_active_state (s);
if (changed) {
- set_colors ();
+ _update_colors = true;
+ CairoWidget::set_dirty ();
}
}
-
+
void
ArdourButton::set_visual_state (Gtkmm2ext::VisualState s)
{
bool changed = (_visual_state != s);
CairoWidget::set_visual_state (s);
if (changed) {
- set_colors ();
+ _update_colors = true;
+ CairoWidget::set_dirty ();
}
}
-
+
+bool
+ArdourButton::on_focus_in_event (GdkEventFocus* ev)
+{
+ _focused = true;
+ CairoWidget::set_dirty ();
+ return CairoWidget::on_focus_in_event (ev);
+}
+
+bool
+ArdourButton::on_focus_out_event (GdkEventFocus* ev)
+{
+ _focused = false;
+ CairoWidget::set_dirty ();
+ return CairoWidget::on_focus_out_event (ev);
+}
+
+bool
+ArdourButton::on_key_release_event (GdkEventKey *ev) {
+ if (_focused &&
+ (ev->keyval == GDK_space || ev->keyval == GDK_Return))
+ {
+ signal_clicked();
+ if (_action) {
+ _action->activate ();
+ }
+ return true;
+ }
+ return CairoWidget::on_key_release_event (ev);
+}
+
bool
ArdourButton::on_enter_notify_event (GdkEventCrossing* ev)
{
- _hovering = true;
+ _hovering = (_elements & Inactive) ? false : true;
if (ARDOUR::Config->get_widget_prelight()) {
- queue_draw ();
+ CairoWidget::set_dirty ();
}
return CairoWidget::on_enter_notify_event (ev);
@@ -845,7 +1027,7 @@ ArdourButton::on_leave_notify_event (GdkEventCrossing* ev)
_hovering = false;
if (ARDOUR::Config->get_widget_prelight()) {
- queue_draw ();
+ CairoWidget::set_dirty ();
}
return CairoWidget::on_leave_notify_event (ev);
@@ -856,7 +1038,9 @@ ArdourButton::set_tweaks (Tweaks t)
{
if (_tweaks != t) {
_tweaks = t;
- queue_draw ();
+ if (is_realized()) {
+ queue_resize ();
+ }
}
}
@@ -868,9 +1052,76 @@ ArdourButton::action_sensitivity_changed ()
} else {
set_visual_state (Gtkmm2ext::VisualState (visual_state() | Gtkmm2ext::Insensitive));
}
-
}
+void
+ArdourButton::set_layout_ellisize_width (int w)
+{
+ if (_layout_ellipsize_width == w) {
+ return;
+ }
+ _layout_ellipsize_width = w;
+ if (!_layout) {
+ return;
+ }
+ if (_layout_ellipsize_width > 0) {
+ _layout->set_width (_layout_ellipsize_width);
+ }
+}
+
+void
+ArdourButton::set_text_ellipsize (Pango::EllipsizeMode e)
+{
+ if (_ellipsis == e) {
+ return;
+ }
+ _ellipsis = e;
+ if (!_layout) {
+ return;
+ }
+ _layout->set_ellipsize(_ellipsis);
+ if (_layout_ellipsize_width > 0) {
+ _layout->set_width (_layout_ellipsize_width);
+ }
+ if (is_realized ()) {
+ queue_resize ();
+ }
+}
+
+void
+ArdourButton::ensure_layout ()
+{
+ if (!_layout) {
+ ensure_style ();
+ _layout = Pango::Layout::create (get_pango_context());
+ _layout->set_ellipsize(_ellipsis);
+ if (_layout_ellipsize_width > 0) {
+ _layout->set_width (_layout_ellipsize_width);
+ }
+ }
+}
+
+void
+ArdourButton::recalc_char_pixel_geometry ()
+{
+ if (_char_pixel_height > 0 && _char_pixel_width > 0) {
+ return;
+ }
+ ensure_layout();
+ // NB. this is not static, since the geometry is different
+ // depending on the font used.
+ int w, h;
+ std::string x = _("ABCDEFGHIJLKMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");
+ _layout->set_text (x);
+ _layout->get_pixel_size (w, h);
+ _char_pixel_height = std::max(4, h);
+ // number of actual chars in the string (not bytes)
+ // Glib to the rescue.
+ Glib::ustring gx(x);
+ _char_avg_pixel_width = w / (float)gx.size();
+ _char_pixel_width = std::max(4, (int) ceil (_char_avg_pixel_width));
+ _layout->set_text (_text);
+}
void
ArdourButton::action_visibility_changed ()
@@ -890,28 +1141,15 @@ ArdourButton::action_tooltip_changed ()
}
void
-ArdourButton::set_rounded_corner_mask (int mask)
-{
- _corner_mask = mask;
- queue_draw ();
-}
-
-void
ArdourButton::set_elements (Element e)
{
_elements = e;
- set_colors ();
+ CairoWidget::set_dirty ();
}
void
ArdourButton::add_elements (Element e)
{
_elements = (ArdourButton::Element) (_elements | e);
- set_colors ();
-}
-
-void
-ArdourButton::set_flat_buttons (bool yn)
-{
- _flat_buttons = yn;
+ CairoWidget::set_dirty ();
}
diff --git a/gtk2_ardour/ardour_button.h b/gtk2_ardour/ardour_button.h
index 65ea10b201..9d59f1a9ea 100644
--- a/gtk2_ardour/ardour_button.h
+++ b/gtk2_ardour/ardour_button.h
@@ -31,30 +31,32 @@
class ArdourButton : public CairoWidget , public Gtkmm2ext::Activatable
{
- public:
+ public:
enum Element {
Edge = 0x1,
Body = 0x2,
Text = 0x4,
Indicator = 0x8,
- FlatFace = 0x10,
+ unused = 0x10,
+ Menu = 0x20,
+ Inactive = 0x40, // no _action is defined AND state is not used
+ RecButton = 0x80, // tentative, see commit message
+ RecTapeMode = 0x100, // tentative
+ CloseCross = 0x200, // tentative
};
static Element default_elements;
static Element led_default_elements;
static Element just_led_default_elements;
- static void set_flat_buttons (bool yn);
- static bool flat_buttons() { return _flat_buttons; }
-
ArdourButton (Element e = default_elements);
ArdourButton (const std::string&, Element e = default_elements);
virtual ~ArdourButton ();
enum Tweaks {
- ShowClick = 0x1,
- NoModel = 0x2,
- ImplicitUsesSolidColor = 0x4,
+ Square = 0x1,
+ TrackHeader = 0x2,
+ unused3 = 0x4,
};
Tweaks tweaks() const { return _tweaks; }
@@ -63,16 +65,16 @@ class ArdourButton : public CairoWidget , public Gtkmm2ext::Activatable
void set_active_state (Gtkmm2ext::ActiveState);
void set_visual_state (Gtkmm2ext::VisualState);
+ void set_act_on_release (bool onRelease) { _act_on_release = onRelease; }
+
Element elements() const { return _elements; }
void set_elements (Element);
void add_elements (Element);
-
+
void set_corner_radius (float);
- void set_rounded_corner_mask (int);
- void set_diameter (float);
void set_text (const std::string&);
- void set_markup (const std::string&);
+ const std::string& get_text () {return _text;}
void set_angle (const double);
void set_alignment (const float, const float);
void get_alignment (float& xa, float& ya) {xa = _xalign; ya = _yalign;};
@@ -80,13 +82,14 @@ class ArdourButton : public CairoWidget , public Gtkmm2ext::Activatable
void set_led_left (bool yn);
void set_distinct_led_click (bool yn);
- Glib::RefPtr<Pango::Layout> layout() const { return _layout; }
+ void set_layout_ellisize_width (int w);
+ void set_text_ellipsize (Pango::EllipsizeMode);
sigc::signal<void> signal_led_clicked;
sigc::signal<void> signal_clicked;
boost::shared_ptr<PBD::Controllable> get_controllable() { return binding_proxy.get_controllable(); }
- void set_controllable (boost::shared_ptr<PBD::Controllable> c);
+ void set_controllable (boost::shared_ptr<PBD::Controllable> c);
void watch ();
void set_related_action (Glib::RefPtr<Gtk::Action>);
@@ -96,18 +99,31 @@ class ArdourButton : public CairoWidget , public Gtkmm2ext::Activatable
void set_image (const Glib::RefPtr<Gdk::Pixbuf>&);
- protected:
- void render (cairo_t *);
+ void set_fixed_colors (const uint32_t active_color, const uint32_t inactive_color);
+
+ void set_fallthrough_to_parent(bool fall) { _fallthrough_to_parent = fall; }
+
+ unsigned int char_pixel_width() { if (_char_pixel_width < 1) recalc_char_pixel_geometry() ; return _char_pixel_width; }
+ unsigned int char_pixel_height() { if (_char_pixel_height < 1) recalc_char_pixel_geometry() ; return _char_pixel_height; }
+ float char_avg_pixel_width() { if (_char_pixel_width < 1) recalc_char_pixel_geometry() ; return _char_avg_pixel_width; }
+
+ protected:
+ void render (cairo_t *, cairo_rectangle_t *);
void on_size_request (Gtk::Requisition* req);
void on_size_allocate (Gtk::Allocation&);
void on_style_changed (const Glib::RefPtr<Gtk::Style>&);
+ void on_name_changed ();
+ void on_realize ();
bool on_enter_notify_event (GdkEventCrossing*);
bool on_leave_notify_event (GdkEventCrossing*);
+ bool on_focus_in_event (GdkEventFocus*);
+ bool on_focus_out_event (GdkEventFocus*);
+ bool on_key_release_event (GdkEventKey *);
void controllable_changed ();
PBD::ScopedConnection watch_connection;
- private:
+ protected:
Glib::RefPtr<Pango::Layout> _layout;
Glib::RefPtr<Gdk::Pixbuf> _pixbuf;
std::string _text;
@@ -115,6 +131,11 @@ class ArdourButton : public CairoWidget , public Gtkmm2ext::Activatable
Tweaks _tweaks;
BindingProxy binding_proxy;
+ void recalc_char_pixel_geometry ();
+ unsigned int _char_pixel_width;
+ unsigned int _char_pixel_height;
+ float _char_avg_pixel_width;
+
int _text_width;
int _text_height;
float _diameter;
@@ -124,47 +145,39 @@ class ArdourButton : public CairoWidget , public Gtkmm2ext::Activatable
double _angle;
float _xalign, _yalign;
- uint32_t bg_color;
- uint32_t border_color;
- uint32_t fill_color_active;
- uint32_t fill_color_inactive;
- cairo_pattern_t* fill_pattern;
- cairo_pattern_t* fill_pattern_active;
- cairo_pattern_t* shine_pattern;
- cairo_pattern_t* led_inset_pattern;
- cairo_pattern_t* reflection_pattern;
-
- cairo_rectangle_t* _led_rect;
+ uint32_t fill_inactive_color;
+ uint32_t fill_active_color;
- double text_r;
- double text_g;
- double text_b;
- double text_a;
+ uint32_t text_active_color;
+ uint32_t text_inactive_color;
- double led_r;
- double led_g;
- double led_b;
- double led_a;
+ uint32_t led_active_color;
+ uint32_t led_inactive_color;
- double active_r;
- double active_g;
- double active_b;
- double active_a;
+ cairo_pattern_t* convex_pattern;
+ cairo_pattern_t* concave_pattern;
+ cairo_pattern_t* led_inset_pattern;
+ cairo_rectangle_t* _led_rect;
bool _act_on_release;
bool _led_left;
- bool _fixed_diameter;
bool _distinct_led_click;
bool _hovering;
-
- static bool _flat_buttons;
+ bool _focused;
+ bool _fixed_colors_set;
+ bool _fallthrough_to_parent;
+ int _layout_ellipsize_width;
+ Pango::EllipsizeMode _ellipsis;
+ bool _update_colors;
+ int _pattern_height;
void setup_led_rect ();
void set_colors ();
void color_handler ();
+ void build_patterns ();
+ void ensure_layout ();
void action_toggled ();
-
void action_sensitivity_changed ();
void action_visibility_changed ();
void action_tooltip_changed ();
diff --git a/gtk2_ardour/ardour_dialog.cc b/gtk2_ardour/ardour_dialog.cc
index 3690ee023b..34027ca0c3 100644
--- a/gtk2_ardour/ardour_dialog.cc
+++ b/gtk2_ardour/ardour_dialog.cc
@@ -32,6 +32,7 @@
using namespace std;
using namespace Gtk;
using namespace Gtkmm2ext;
+using namespace ARDOUR_UI_UTILS;
ArdourDialog::ArdourDialog (string title, bool modal, bool use_seperator)
: Dialog (title, modal, use_seperator)
@@ -65,7 +66,10 @@ ArdourDialog::~ArdourDialog ()
bool
ArdourDialog::on_key_press_event (GdkEventKey* ev)
{
- return relay_key_press (ev, this);
+ if (!relay_key_press (ev, this)) {
+ return Gtk::Window::on_key_press_event(ev);
+ }
+ return true;
}
bool
diff --git a/gtk2_ardour/ardour_display.cc b/gtk2_ardour/ardour_display.cc
new file mode 100644
index 0000000000..40fe30899a
--- /dev/null
+++ b/gtk2_ardour/ardour_display.cc
@@ -0,0 +1,147 @@
+/*
+ Copyright (C) 2014 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 <cmath>
+#include <algorithm>
+
+#include <pangomm/layout.h>
+
+#include "pbd/compose.h"
+#include "pbd/error.h"
+#include "pbd/stacktrace.h"
+
+#include "gtkmm2ext/utils.h"
+#include "gtkmm2ext/rgb_macros.h"
+#include "gtkmm2ext/gui_thread.h"
+#include "gtkmm2ext/keyboard.h"
+
+#include "ardour/rc_configuration.h" // for widget prelight preference
+
+#include "ardour_display.h"
+#include "ardour_ui.h"
+#include "global_signals.h"
+
+#include "i18n.h"
+
+using namespace Gtkmm2ext;
+using namespace Gdk;
+using namespace Gtk;
+using namespace Glib;
+using namespace PBD;
+using std::max;
+using std::min;
+using namespace std;
+
+
+ArdourDisplay::ArdourDisplay (Element e)
+{
+ add_elements(e);
+ add_elements(ArdourButton::Menu);
+ add_elements(ArdourButton::Text);
+}
+
+ArdourDisplay::~ArdourDisplay ()
+{
+}
+
+bool
+ArdourDisplay::on_button_press_event (GdkEventButton*)
+{
+ _menu.popup (1, gtk_get_current_event_time());
+ return true;
+}
+
+bool
+ArdourDisplay::on_scroll_event (GdkEventScroll* ev)
+{
+ /* mouse wheel */
+
+ float scale = 1.0;
+ if (ev->state & Keyboard::GainFineScaleModifier) {
+ if (ev->state & Keyboard::GainExtraFineScaleModifier) {
+ scale *= 0.01;
+ } else {
+ scale *= 0.10;
+ }
+ }
+
+ boost::shared_ptr<PBD::Controllable> c = binding_proxy.get_controllable();
+ if (c) {
+ float val = c->get_interface();
+
+ if ( ev->direction == GDK_SCROLL_UP )
+ val += 0.05 * scale; //by default, we step in 1/20ths of the knob travel
+ else
+ val -= 0.05 * scale;
+
+ c->set_interface(val);
+ }
+
+ return true;
+}
+
+
+void
+ArdourDisplay::add_controllable_preset (const char *txt, float val)
+{
+ using namespace Menu_Helpers;
+
+ MenuList& items = _menu.items ();
+
+ items.push_back (MenuElem (txt, sigc::bind (sigc::mem_fun(*this, &ArdourDisplay::handle_controllable_preset), val)));
+}
+
+
+void
+ArdourDisplay::handle_controllable_preset (float p)
+{
+ boost::shared_ptr<PBD::Controllable> c = binding_proxy.get_controllable();
+
+ if (!c) return;
+
+ c->set_user(p);
+}
+
+
+void
+ArdourDisplay::set_controllable (boost::shared_ptr<Controllable> c)
+{
+ watch_connection.disconnect (); //stop watching the old controllable
+
+ if (!c) return;
+
+ binding_proxy.set_controllable (c);
+
+ c->Changed.connect (watch_connection, invalidator(*this), boost::bind (&ArdourDisplay::controllable_changed, this), gui_context());
+
+ controllable_changed();
+}
+
+void
+ArdourDisplay::controllable_changed ()
+{
+ boost::shared_ptr<PBD::Controllable> c = binding_proxy.get_controllable();
+
+ if (!c) return;
+
+ set_text(c->get_user_string());
+
+ set_dirty();
+}
diff --git a/gtk2_ardour/ardour_display.h b/gtk2_ardour/ardour_display.h
new file mode 100644
index 0000000000..3772d5423f
--- /dev/null
+++ b/gtk2_ardour/ardour_display.h
@@ -0,0 +1,62 @@
+/*
+ Copyright (C) 2014 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_ardour_display_h__
+#define __gtk2_ardour_ardour_display_h__
+
+#include <list>
+#include <stdint.h>
+
+#include <gtkmm/action.h>
+#include <gtkmm/menu.h>
+#include <gtkmm/menuitem.h>
+
+
+#include "ardour_button.h"
+
+class ArdourDisplay : public ArdourButton
+{
+ public:
+
+ ArdourDisplay (Element e = default_elements);
+ virtual ~ArdourDisplay ();
+
+ boost::shared_ptr<PBD::Controllable> get_controllable() { return binding_proxy.get_controllable(); }
+ void set_controllable (boost::shared_ptr<PBD::Controllable> c);
+
+ bool on_button_press_event (GdkEventButton*); //mousedown will pop up our preset menu
+// bool on_button_press_event (GdkEventButton*);
+// bool on_button_release_event (GdkEventButton*);
+ bool on_scroll_event (GdkEventScroll* ev);
+// bool on_motion_notify_event (GdkEventMotion *ev) ;
+
+ void add_controllable_preset (const char*, float);
+ void handle_controllable_preset (float p);
+
+ void controllable_changed ();
+ PBD::ScopedConnection watch_connection;
+
+ private:
+ Gtk::Menu _menu;
+
+ bool _hovering;
+ bool _grabbed;
+ float _grabbed_y;
+};
+
+#endif /* __gtk2_ardour_ardour_menu_h__ */
diff --git a/gtk2_ardour/ardour_dropdown.cc b/gtk2_ardour/ardour_dropdown.cc
new file mode 100644
index 0000000000..d98a9878a3
--- /dev/null
+++ b/gtk2_ardour/ardour_dropdown.cc
@@ -0,0 +1,83 @@
+/*
+ Copyright (C) 2014 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 <cmath>
+#include <algorithm>
+
+#include <pangomm/layout.h>
+
+#include "pbd/compose.h"
+#include "pbd/error.h"
+#include "pbd/stacktrace.h"
+
+#include "gtkmm2ext/utils.h"
+#include "gtkmm2ext/rgb_macros.h"
+#include "gtkmm2ext/gui_thread.h"
+
+#include "ardour/rc_configuration.h" // for widget prelight preference
+
+#include "ardour_dropdown.h"
+#include "ardour_ui.h"
+#include "global_signals.h"
+
+#include "i18n.h"
+
+#define REFLECTION_HEIGHT 2
+
+using namespace Gdk;
+using namespace Gtk;
+using namespace Glib;
+using namespace PBD;
+using std::max;
+using std::min;
+using namespace std;
+
+
+ArdourDropdown::ArdourDropdown (Element e)
+{
+// signal_button_press_event().connect (sigc::mem_fun(*this, &ArdourDropdown::on_mouse_pressed));
+
+ add_elements(e);
+ add_elements(ArdourButton::Menu);
+}
+
+ArdourDropdown::~ArdourDropdown ()
+{
+}
+
+bool
+ArdourDropdown::on_button_press_event (GdkEventButton*)
+{
+ _menu.popup (1, gtk_get_current_event_time());
+ return true;
+}
+
+
+void
+ArdourDropdown::AddMenuElem (Menu_Helpers::MenuElem e)
+{
+ using namespace Menu_Helpers;
+
+ MenuList& items = _menu.items ();
+
+ items.push_back (e);
+}
+
+
diff --git a/gtk2_ardour/diamond.h b/gtk2_ardour/ardour_dropdown.h
index a9110d497d..9d96e575f0 100644
--- a/gtk2_ardour/diamond.h
+++ b/gtk2_ardour/ardour_dropdown.h
@@ -1,6 +1,5 @@
/*
- Copyright (C) 2007 Paul Davis
- Author: David Robillard
+ Copyright (C) 2014 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
@@ -17,36 +16,32 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#ifndef __ardour_diamond_h__
-#define __ardour_diamond_h__
+#ifndef __gtk2_ardour_ardour_dropdown_h__
+#define __gtk2_ardour_ardour_dropdown_h__
-#include <libgnomecanvasmm/polygon.h>
-#include "canvas-note-event.h"
-#include "canvas.h"
+#include <list>
+#include <stdint.h>
-namespace Gnome {
-namespace Canvas {
+#include <gtkmm/action.h>
+#include <gtkmm/menu.h>
+#include <gtkmm/menuitem.h>
-class Diamond : public Polygon
+#include "ardour_button.h"
+
+class ArdourDropdown : public ArdourButton
{
public:
- Diamond(Group& group, double height);
- ~Diamond ();
-
- void move_to (double x, double y);
- void move_by (double dx, double dy);
- void set_height(double height);
-
- protected:
- double _x;
- double _y;
- double _h;
- GnomeCanvasPoints* points;
-};
+ ArdourDropdown (Element e = default_elements);
+ virtual ~ArdourDropdown ();
+
+ bool on_button_press_event (GdkEventButton*);
-} // namespace Canvas
-} // namespace Gnome
+ void AddMenuElem (Gtk::Menu_Helpers::MenuElem e);
+
+ private:
+ Gtk::Menu _menu;
+};
-#endif /* __ardour_diamond_h__ */
+#endif /* __gtk2_ardour_ardour_menu_h__ */
diff --git a/gtk2_ardour/ardour_knob.cc b/gtk2_ardour/ardour_knob.cc
new file mode 100644
index 0000000000..5543950ac1
--- /dev/null
+++ b/gtk2_ardour/ardour_knob.cc
@@ -0,0 +1,458 @@
+/*
+ Copyright (C) 2010 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 <cmath>
+#include <algorithm>
+
+#include <pangomm/layout.h>
+
+#include "pbd/compose.h"
+#include "pbd/error.h"
+#include "pbd/stacktrace.h"
+
+#include "gtkmm2ext/utils.h"
+#include "gtkmm2ext/rgb_macros.h"
+#include "gtkmm2ext/gui_thread.h"
+#include "gtkmm2ext/keyboard.h"
+
+#include "ardour/rc_configuration.h" // for widget prelight preference
+
+#include "ardour_knob.h"
+#include "ardour_ui.h"
+#include "global_signals.h"
+
+#include "canvas/utils.h"
+
+#include "i18n.h"
+
+using namespace Gtkmm2ext;
+using namespace Gdk;
+using namespace Gtk;
+using namespace Glib;
+using namespace PBD;
+using std::max;
+using std::min;
+using namespace std;
+
+ArdourKnob::Element ArdourKnob::default_elements = ArdourKnob::Element (ArdourKnob::Arc);
+
+ArdourKnob::ArdourKnob (Element e)
+ : _elements (e)
+ , _hovering (false)
+{
+ ARDOUR_UI_UTILS::ColorsChanged.connect (sigc::mem_fun (*this, &ArdourKnob::color_handler));
+}
+
+ArdourKnob::~ArdourKnob()
+{
+}
+
+void
+ArdourKnob::render (cairo_t* cr, cairo_rectangle_t *)
+{
+ cairo_pattern_t* shade_pattern;
+
+ float width = get_width();
+ float height = get_height();
+
+ const float scale = min(width, height);
+ const float pointer_thickness = 3.0 * (scale/80); //(if the knob is 80 pixels wide, we want a 3-pix line on it)
+
+ float start_angle = ((180 - 65) * G_PI) / 180;
+ float end_angle = ((360 + 65) * G_PI) / 180;
+ float value_angle = start_angle + (_val * (end_angle - start_angle));
+
+ float value_x = cos (value_angle);
+ float value_y = sin (value_angle);
+
+ float xc = 0.5 + width/ 2.0;
+ float yc = 0.5 + height/ 2.0;
+
+ cairo_translate (cr, xc, yc); //after this, everything is based on the center of the knob
+
+ //get the knob color from the theme
+ ArdourCanvas::Color knob_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1", get_name()));
+
+ float center_radius = 0.48*scale;
+ float border_width = 0.8;
+
+ bool arc = (_elements & Arc)==Arc;
+ bool bevel = (_elements & Bevel)==Bevel;
+ bool flat = _flat_buttons;
+
+ if ( arc ) {
+ center_radius = scale*0.30;
+
+ float inner_progress_radius = scale*0.30;
+ float outer_progress_radius = scale*0.48;
+ float progress_width = (outer_progress_radius-inner_progress_radius);
+ float progress_radius = inner_progress_radius + progress_width/2.0;
+
+ float start_angle_x = cos (start_angle);
+ float start_angle_y = sin (start_angle);
+ float end_angle_x = cos (end_angle);
+ float end_angle_y = sin (end_angle);
+
+ //dark arc background
+ cairo_set_source_rgb (cr, 0.3, 0.3, 0.3 );
+ cairo_set_line_width (cr, progress_width);
+ cairo_arc (cr, 0, 0, progress_radius, start_angle, end_angle);
+ cairo_stroke (cr);
+
+ //look up the arc colors from the config
+ double red_start, green_start, blue_start, unused;
+ ArdourCanvas::Color arc_start_color = ARDOUR_UI::config()->color_by_name ( string_compose ("%1: arc start", get_name()));
+ ArdourCanvas::color_to_rgba( arc_start_color, red_start, green_start, blue_start, unused );
+ double red_end, green_end, blue_end;
+ ArdourCanvas::Color arc_end_color = ARDOUR_UI::config()->color_by_name ( string_compose ("%1: arc end", get_name()) );
+ ArdourCanvas::color_to_rgba( arc_end_color, red_end, green_end, blue_end, unused );
+
+ //vary the arc color over the travel of the knob
+ float r = (1.0-_val) * red_end + _val * red_start;
+ float g = (1.0-_val) * green_end + _val * green_start;
+ float b = (1.0-_val) * blue_end + _val * blue_start;
+
+ //draw the arc
+ cairo_set_source_rgb (cr, r,g,b);
+ cairo_set_line_width (cr, progress_width);
+ cairo_arc (cr, 0, 0, progress_radius, start_angle, value_angle);
+ cairo_stroke (cr);
+
+ //shade the arc
+ if (!flat) {
+ shade_pattern = cairo_pattern_create_linear (0.0, -yc, 0.0, yc); //note we have to offset the pattern from our centerpoint
+ cairo_pattern_add_color_stop_rgba (shade_pattern, 0.0, 1,1,1, 0.15);
+ cairo_pattern_add_color_stop_rgba (shade_pattern, 0.5, 1,1,1, 0.0);
+ cairo_pattern_add_color_stop_rgba (shade_pattern, 1.0, 1,1,1, 0.0);
+ cairo_set_source (cr, shade_pattern);
+ cairo_arc (cr, 0, 0, outer_progress_radius-1, 0, 2.0*G_PI);
+ cairo_fill (cr);
+ cairo_pattern_destroy (shade_pattern);
+ }
+
+ //black border
+ cairo_set_source_rgb (cr, 0, 0, 0 );
+ cairo_set_line_width (cr, border_width);
+ cairo_move_to (cr, (outer_progress_radius * start_angle_x), (outer_progress_radius * start_angle_y));
+ cairo_line_to (cr, (inner_progress_radius * start_angle_x), (inner_progress_radius * start_angle_y));
+ cairo_stroke (cr);
+ cairo_move_to (cr, (outer_progress_radius * end_angle_x), (outer_progress_radius * end_angle_y));
+ cairo_line_to (cr, (inner_progress_radius * end_angle_x), (inner_progress_radius * end_angle_y));
+ cairo_stroke (cr);
+ cairo_arc (cr, 0, 0, outer_progress_radius, start_angle, end_angle);
+ cairo_stroke (cr);
+ }
+
+ if (!flat) {
+ //knob shadow
+ cairo_save(cr);
+ cairo_translate(cr, pointer_thickness+1, pointer_thickness+1 );
+ cairo_set_source_rgba (cr, 0, 0, 0, 0.1 );
+ cairo_arc (cr, 0, 0, center_radius-1, 0, 2.0*G_PI);
+ cairo_fill (cr);
+ cairo_restore(cr);
+
+ //inner circle
+ ArdourCanvas::set_source_rgba(cr, knob_color);
+ cairo_arc (cr, 0, 0, center_radius, 0, 2.0*G_PI);
+ cairo_fill (cr);
+
+ //gradient
+ if (bevel) {
+ //knob gradient
+ shade_pattern = cairo_pattern_create_linear (0.0, -yc, 0.0, yc); //note we have to offset the gradient from our centerpoint
+ cairo_pattern_add_color_stop_rgba (shade_pattern, 0.0, 1,1,1, 0.2);
+ cairo_pattern_add_color_stop_rgba (shade_pattern, 0.2, 1,1,1, 0.2);
+ cairo_pattern_add_color_stop_rgba (shade_pattern, 0.8, 0,0,0, 0.2);
+ cairo_pattern_add_color_stop_rgba (shade_pattern, 1.0, 0,0,0, 0.2);
+ cairo_set_source (cr, shade_pattern);
+ cairo_arc (cr, 0, 0, center_radius, 0, 2.0*G_PI);
+ cairo_fill (cr);
+ cairo_pattern_destroy (shade_pattern);
+
+ //flat top over beveled edge
+ ArdourCanvas::set_source_rgb_a (cr, knob_color, 0.5 );
+ cairo_arc (cr, 0, 0, center_radius-pointer_thickness, 0, 2.0*G_PI);
+ cairo_fill (cr);
+ } else {
+ //radial gradient
+ shade_pattern = cairo_pattern_create_radial ( -center_radius, -center_radius, 1, -center_radius, -center_radius, center_radius*2.5 ); //note we have to offset the gradient from our centerpoint
+ cairo_pattern_add_color_stop_rgba (shade_pattern, 0.0, 1,1,1, 0.2);
+ cairo_pattern_add_color_stop_rgba (shade_pattern, 1.0, 0,0,0, 0.3);
+ cairo_set_source (cr, shade_pattern);
+ cairo_arc (cr, 0, 0, center_radius, 0, 2.0*G_PI);
+ cairo_fill (cr);
+ cairo_pattern_destroy (shade_pattern);
+ }
+
+ } else {
+ //inner circle
+ ArdourCanvas::set_source_rgba(cr, knob_color);
+ cairo_arc (cr, 0, 0, center_radius, 0, 2.0*G_PI);
+ cairo_fill (cr);
+ }
+
+
+ //black knob border
+ cairo_set_line_width (cr, border_width);
+ cairo_set_source_rgba (cr, 0,0,0, 1 );
+ cairo_arc (cr, 0, 0, center_radius, 0, 2.0*G_PI);
+ cairo_stroke (cr);
+
+ //line shadow
+ if (!flat) {
+ cairo_save(cr);
+ cairo_translate(cr, 1, 1 );
+ cairo_set_source_rgba (cr, 0,0,0,0.3 );
+ cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
+ cairo_set_line_width (cr, pointer_thickness);
+ cairo_move_to (cr, (center_radius * value_x), (center_radius * value_y));
+ cairo_line_to (cr, ((center_radius*0.4) * value_x), ((center_radius*0.4) * value_y));
+ cairo_stroke (cr);
+ cairo_restore(cr);
+ }
+
+ //line
+ cairo_set_source_rgba (cr, 1,1,1, 1 );
+ cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
+ cairo_set_line_width (cr, pointer_thickness);
+ cairo_move_to (cr, (center_radius * value_x), (center_radius * value_y));
+ cairo_line_to (cr, ((center_radius*0.4) * value_x), ((center_radius*0.4) * value_y));
+ cairo_stroke (cr);
+
+ //highlight if grabbed or if mouse is hovering over me
+ if ( _grabbed || (_hovering && ARDOUR::Config->get_widget_prelight() ) ) {
+ cairo_set_source_rgba (cr, 1,1,1, 0.12 );
+ cairo_arc (cr, 0, 0, center_radius, 0, 2.0*G_PI);
+ cairo_fill (cr);
+ }
+
+ cairo_identity_matrix(cr);
+}
+
+void
+ArdourKnob::on_size_request (Gtk::Requisition* req)
+{
+ CairoWidget::on_size_request (req);
+
+ //perhaps render the knob base into a cached image here?
+}
+
+bool
+ArdourKnob::on_scroll_event (GdkEventScroll* ev)
+{
+ /* mouse wheel */
+
+ float scale = 0.05; //by default, we step in 1/20ths of the knob travel
+ if (ev->state & Keyboard::GainFineScaleModifier) {
+ if (ev->state & Keyboard::GainExtraFineScaleModifier) {
+ scale *= 0.01;
+ } else {
+ scale *= 0.10;
+ }
+ }
+
+ boost::shared_ptr<PBD::Controllable> c = binding_proxy.get_controllable();
+ if (c) {
+ float val = c->get_interface();
+
+ if ( ev->direction == GDK_SCROLL_UP )
+ val += scale;
+ else
+ val -= scale;
+
+ c->set_interface(val);
+ }
+
+ return true;
+}
+
+bool
+ArdourKnob::on_motion_notify_event (GdkEventMotion *ev)
+{
+ //scale the adjustment based on keyboard modifiers
+ float scale = 0.0025;
+ if (ev->state & Keyboard::GainFineScaleModifier) {
+ if (ev->state & Keyboard::GainExtraFineScaleModifier) {
+ scale *= 0.01;
+ } else {
+ scale *= 0.10;
+ }
+ }
+
+ //calculate the travel of the mouse
+ int y_delta = 0;
+ if (ev->state & Gdk::BUTTON1_MASK) {
+ y_delta = _grabbed_y - ev->y;
+ _grabbed_y = ev->y;
+ if (y_delta == 0) return TRUE;
+ }
+
+ //step the value of the controllable
+ boost::shared_ptr<PBD::Controllable> c = binding_proxy.get_controllable();
+ if (c) {
+ float val = c->get_interface();
+ val += y_delta * scale;
+ c->set_interface(val);
+ }
+
+ return true;
+}
+
+bool
+ArdourKnob::on_button_press_event (GdkEventButton *ev)
+{
+ _grabbed_y = ev->y;
+ _grabbed = true;
+
+ set_active_state (Gtkmm2ext::ExplicitActive);
+
+ if (binding_proxy.button_press_handler (ev)) {
+ return true;
+ }
+
+ return false;
+}
+
+bool
+ArdourKnob::on_button_release_event (GdkEventButton *ev)
+{
+ if ( (_grabbed_y == ev->y) && Keyboard::modifier_state_equals (ev->state, Keyboard::TertiaryModifier)) { //no move, shift-click sets to default
+ boost::shared_ptr<PBD::Controllable> c = binding_proxy.get_controllable();
+ if (!c) return false;
+ c->set_value (c->normal());
+ return true;
+ }
+
+ _grabbed = false;
+ unset_active_state ();
+
+ return false;
+}
+
+void
+ArdourKnob::color_handler ()
+{
+ set_dirty ();
+}
+
+void
+ArdourKnob::on_size_allocate (Allocation& alloc)
+{
+ CairoWidget::on_size_allocate (alloc);
+}
+
+void
+ArdourKnob::set_controllable (boost::shared_ptr<Controllable> c)
+{
+ watch_connection.disconnect (); //stop watching the old controllable
+
+ if (!c) return;
+
+ binding_proxy.set_controllable (c);
+
+ c->Changed.connect (watch_connection, invalidator(*this), boost::bind (&ArdourKnob::controllable_changed, this), gui_context());
+
+ controllable_changed();
+}
+
+void
+ArdourKnob::controllable_changed ()
+{
+ _val = binding_proxy.get_controllable()->get_interface(); //% of knob travel
+
+ _val = min( max(0.0f, _val), 1.0f); //range check
+
+ set_dirty();
+}
+
+void
+ArdourKnob::on_style_changed (const RefPtr<Gtk::Style>&)
+{
+ set_dirty ();
+}
+
+void
+ArdourKnob::on_name_changed ()
+{
+ set_dirty ();
+}
+
+
+void
+ArdourKnob::set_active_state (Gtkmm2ext::ActiveState s)
+{
+ if (_active_state != s)
+ CairoWidget::set_active_state (s);
+}
+
+void
+ArdourKnob::set_visual_state (Gtkmm2ext::VisualState s)
+{
+ if (_visual_state != s)
+ CairoWidget::set_visual_state (s);
+}
+
+
+bool
+ArdourKnob::on_focus_in_event (GdkEventFocus* ev)
+{
+ set_dirty ();
+ return CairoWidget::on_focus_in_event (ev);
+}
+
+bool
+ArdourKnob::on_focus_out_event (GdkEventFocus* ev)
+{
+ set_dirty ();
+ return CairoWidget::on_focus_out_event (ev);
+}
+
+bool
+ArdourKnob::on_enter_notify_event (GdkEventCrossing* ev)
+{
+ _hovering = true;
+
+ set_dirty ();
+
+ return CairoWidget::on_enter_notify_event (ev);
+}
+
+bool
+ArdourKnob::on_leave_notify_event (GdkEventCrossing* ev)
+{
+ _hovering = false;
+
+ set_dirty ();
+
+ return CairoWidget::on_leave_notify_event (ev);
+}
+
+void
+ArdourKnob::set_elements (Element e)
+{
+ _elements = e;
+}
+
+void
+ArdourKnob::add_elements (Element e)
+{
+ _elements = (ArdourKnob::Element) (_elements | e);
+}
diff --git a/gtk2_ardour/ardour_knob.h b/gtk2_ardour/ardour_knob.h
new file mode 100644
index 0000000000..3a9c2bd7ff
--- /dev/null
+++ b/gtk2_ardour/ardour_knob.h
@@ -0,0 +1,96 @@
+/*
+ Copyright (C) 2014 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_ardour_knob_h__
+#define __gtk2_ardour_ardour_knob_h__
+
+#include <list>
+#include <stdint.h>
+
+#include <gtkmm/action.h>
+
+#include "pbd/signals.h"
+#include "gtkmm2ext/binding_proxy.h"
+#include "gtkmm2ext/activatable.h"
+#include "gtkmm2ext/cairo_widget.h"
+
+class ArdourKnob : public CairoWidget , public Gtkmm2ext::Activatable
+{
+public:
+
+ enum Element {
+ Arc = 0x1,
+ Bevel = 0x2,
+ unused2 = 0x4,
+ unused3 = 0x8,
+ unused4 = 0x10,
+ unused5 = 0x20,
+ };
+
+ ArdourKnob (Element e = default_elements);
+ virtual ~ArdourKnob ();
+
+ void set_active_state (Gtkmm2ext::ActiveState);
+ void set_visual_state (Gtkmm2ext::VisualState);
+
+ Element elements() const { return _elements; }
+ void set_elements (Element);
+ void add_elements (Element);
+ static Element default_elements;
+
+ boost::shared_ptr<PBD::Controllable> get_controllable() { return binding_proxy.get_controllable(); }
+ void set_controllable (boost::shared_ptr<PBD::Controllable> c);
+
+ bool on_button_press_event (GdkEventButton*);
+ bool on_button_release_event (GdkEventButton*);
+ bool on_scroll_event (GdkEventScroll* ev);
+ bool on_motion_notify_event (GdkEventMotion *ev) ;
+
+ void color_handler ();
+
+ protected:
+ void render (cairo_t *, cairo_rectangle_t *);
+ void on_size_request (Gtk::Requisition* req);
+ void on_size_allocate (Gtk::Allocation&);
+ void on_style_changed (const Glib::RefPtr<Gtk::Style>&);
+ void on_name_changed ();
+ bool on_enter_notify_event (GdkEventCrossing*);
+ bool on_leave_notify_event (GdkEventCrossing*);
+ bool on_focus_in_event (GdkEventFocus*);
+ bool on_focus_out_event (GdkEventFocus*);
+
+ void controllable_changed ();
+ PBD::ScopedConnection watch_connection;
+
+
+ private:
+ Element _elements;
+
+ BindingProxy binding_proxy;
+
+ bool _hovering;
+ float _grabbed_y;
+
+ float _val; //percent of knob travel
+
+ void action_sensitivity_changed ();
+ void action_visibility_changed ();
+ void action_tooltip_changed ();
+};
+
+#endif /* __gtk2_ardour_ardour_knob_h__ */
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 42f85573ff..0cf6682aec 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -19,6 +19,7 @@
#ifdef WAF_BUILD
#include "gtk2ardour-config.h"
+#include "gtk2ardour-version.h"
#endif
#include <algorithm>
@@ -27,15 +28,18 @@
#include <cerrno>
#include <fstream>
+#ifndef PLATFORM_WINDOWS
+#include <sys/resource.h>
+#endif
+
#include <stdint.h>
#include <fcntl.h>
#include <signal.h>
#include <unistd.h>
#include <time.h>
-#include <sys/resource.h>
-#include <sys/types.h>
-#include <sys/sysctl.h>
+#include <glib.h>
+#include <glib/gstdio.h>
#include <gtkmm/messagedialog.h>
#include <gtkmm/accelmap.h>
@@ -47,7 +51,10 @@
#include "pbd/enumwriter.h"
#include "pbd/memento_command.h"
#include "pbd/openuri.h"
+#include "pbd/stl_delete.h"
#include "pbd/file_utils.h"
+#include "pbd/localtime_r.h"
+#include "pbd/pthread_utils.h"
#include "gtkmm2ext/application.h"
#include "gtkmm2ext/bindings.h"
@@ -67,6 +74,7 @@
#include "ardour/filename_extensions.h"
#include "ardour/filesystem_paths.h"
#include "ardour/port.h"
+#include "ardour/plugin_manager.h"
#include "ardour/process_thread.h"
#include "ardour/profile.h"
#include "ardour/recent_sessions.h"
@@ -75,6 +83,11 @@
#include "ardour/session_state_utils.h"
#include "ardour/session_utils.h"
#include "ardour/slave.h"
+#include "ardour/system_exec.h"
+
+#ifdef WINDOWS_VST_SUPPORT
+#include <fst.h>
+#endif
#include "timecode/time.h"
@@ -123,11 +136,11 @@ typedef uint64_t microseconds_t;
#include "video_server_dialog.h"
#include "add_video_dialog.h"
#include "transcode_video_dialog.h"
-#include "system_exec.h"
#include "i18n.h"
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtkmm2ext;
using namespace Gtk;
@@ -139,6 +152,7 @@ UIConfiguration *ARDOUR_UI::ui_config = 0;
sigc::signal<void,bool> ARDOUR_UI::Blink;
sigc::signal<void> ARDOUR_UI::RapidScreenUpdate;
sigc::signal<void> ARDOUR_UI::SuperRapidScreenUpdate;
+sigc::signal<void> ARDOUR_UI::FPSUpdate;
sigc::signal<void, framepos_t, bool, framepos_t> ARDOUR_UI::Clock;
sigc::signal<void> ARDOUR_UI::CloseAllDialogs;
@@ -178,9 +192,9 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir)
, follow_edits_button (ArdourButton::led_default_elements)
, auto_input_button (ArdourButton::led_default_elements)
- , auditioning_alert_button (_("audition"))
- , solo_alert_button (_("solo"))
- , feedback_alert_button (_("feedback"))
+ , auditioning_alert_button (_("Audition"))
+ , solo_alert_button (_("Solo"))
+ , feedback_alert_button (_("Feedback"))
, editor_meter(0)
, editor_meter_peak_display()
@@ -210,12 +224,18 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir)
splash = 0;
+ _numpad_locate_happening = false;
+
if (theArdourUI == 0) {
theArdourUI = this;
}
ui_config = new UIConfiguration();
+ ui_config->ParameterChanged.connect (sigc::mem_fun (*this, &ARDOUR_UI::parameter_changed));
+ boost::function<void (string)> pc (boost::bind (&ARDOUR_UI::parameter_changed, this, _1));
+ ui_config->map_parameters (pc);
+
editor = 0;
mixer = 0;
meterbridge = 0;
@@ -247,10 +267,6 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir)
rec_button.set_name ("transport recenable button");
midi_panic_button.set_name ("transport button");
- goto_start_button.set_tweaks (ArdourButton::ShowClick);
- goto_end_button.set_tweaks (ArdourButton::ShowClick);
- midi_panic_button.set_tweaks (ArdourButton::ShowClick);
-
last_configure_time= 0;
last_peak_grab = 0;
@@ -290,7 +306,16 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir)
/* and ambiguous files */
- ARDOUR::FileSource::AmbiguousFileName.connect_same_thread (forever_connections, boost::bind (&ARDOUR_UI::ambiguous_file, this, _1, _2, _3));
+ ARDOUR::FileSource::AmbiguousFileName.connect_same_thread (forever_connections, boost::bind (&ARDOUR_UI::ambiguous_file, this, _1, _2));
+
+ /* also plugin scan messages */
+ ARDOUR::PluginScanMessage.connect (forever_connections, MISSING_INVALIDATOR, boost::bind(&ARDOUR_UI::plugin_scan_dialog, this, _1, _2, _3), gui_context());
+ ARDOUR::PluginScanTimeout.connect (forever_connections, MISSING_INVALIDATOR, boost::bind(&ARDOUR_UI::plugin_scan_timeout, this, _1), gui_context());
+
+ ARDOUR::GUIIdle.connect (forever_connections, MISSING_INVALIDATOR, boost::bind(&ARDOUR_UI::gui_idle_handler, this), gui_context());
+
+ Config->ParameterChanged.connect ( forever_connections, MISSING_INVALIDATOR, boost::bind(&ARDOUR_UI::set_flat_buttons, this), gui_context() );
+ set_flat_buttons();
/* lets get this party started */
@@ -469,8 +494,6 @@ ARDOUR_UI::post_engine ()
_tooltips.enable();
- ActionManager::load_menus ();
-
if (setup_windows ()) {
throw failed_constructor ();
}
@@ -531,9 +554,12 @@ ARDOUR_UI::post_engine ()
Glib::signal_timeout().connect_seconds (sigc::mem_fun(*this, &ARDOUR_UI::update_wall_clock), 1);
#endif
- Config->ParameterChanged.connect (forever_connections, MISSING_INVALIDATOR, boost::bind (&ARDOUR_UI::parameter_changed, this, _1), gui_context());
- boost::function<void (string)> pc (boost::bind (&ARDOUR_UI::parameter_changed, this, _1));
- Config->map_parameters (pc);
+ {
+ DisplaySuspender ds;
+ Config->ParameterChanged.connect (forever_connections, MISSING_INVALIDATOR, boost::bind (&ARDOUR_UI::parameter_changed, this, _1), gui_context());
+ boost::function<void (string)> pc (boost::bind (&ARDOUR_UI::parameter_changed, this, _1));
+ Config->map_parameters (pc);
+ }
}
ARDOUR_UI::~ARDOUR_UI ()
@@ -542,12 +568,17 @@ ARDOUR_UI::~ARDOUR_UI ()
ui_config->save_state();
}
- delete keyboard;
- delete editor;
- delete mixer;
- delete meterbridge;
-
stop_video_server();
+
+ if (getenv ("ARDOUR_RUNNING_UNDER_VALGRIND")) {
+ // don't bother at 'real' exit. the OS cleans up for us.
+ delete big_clock;
+ delete primary_clock;
+ delete secondary_clock;
+ delete _process_thread;
+ delete gui_object_state;
+ FastMeter::flush_pattern_cache ();
+ }
}
void
@@ -741,6 +772,7 @@ ARDOUR_UI::starting ()
try {
audio_midi_setup.get (true);
} catch (...) {
+ std::cerr << "audio-midi engine setup failed."<< std::endl;
return -1;
}
@@ -753,7 +785,8 @@ ARDOUR_UI::starting ()
// wait for announce reply from nsm server
for ( i = 0; i < 5000; ++i) {
nsm->check ();
- usleep (i);
+
+ Glib::usleep (i);
if (nsm->is_active()) {
break;
}
@@ -765,7 +798,7 @@ ARDOUR_UI::starting ()
// wait for open command from nsm server
for ( i = 0; i < 5000; ++i) {
nsm->check ();
- usleep (1000);
+ Glib::usleep (1000);
if (nsm->client_id ()) {
break;
}
@@ -826,6 +859,7 @@ ARDOUR_UI::starting ()
const bool new_session_required = (ARDOUR_COMMAND_LINE::new_session || brand_new_user);
if (get_session_parameters (false, new_session_required, ARDOUR_COMMAND_LINE::load_template)) {
+ std::cerr << "Cannot get session parameters."<< std::endl;
return -1;
}
}
@@ -848,7 +882,7 @@ ARDOUR_UI::starting ()
void
ARDOUR_UI::check_memory_locking ()
{
-#ifdef __APPLE__
+#if defined(__APPLE__) || defined(PLATFORM_WINDOWS)
/* OS X doesn't support mlockall(2), and so testing for memory locking capability there is pointless */
return;
#else // !__APPLE__
@@ -973,6 +1007,7 @@ If you still wish to quit, please use the\n\n\
second_connection.disconnect ();
point_one_second_connection.disconnect ();
point_zero_something_second_connection.disconnect();
+ fps_connection.disconnect();
}
delete ARDOUR_UI::instance()->video_timeline;
@@ -987,8 +1022,6 @@ If you still wish to quit, please use the\n\n\
close_all_dialogs ();
- loading_message (string_compose (_("Please wait while %1 cleans up..."), PROGRAM_NAME));
-
if (_session) {
// _session->set_deletion_in_progress ();
_session->set_clean ();
@@ -999,6 +1032,9 @@ If you still wish to quit, please use the\n\n\
halt_connection.disconnect ();
AudioEngine::instance()->stop ();
+#ifdef WINDOWS_VST_SUPPORT
+ fst_stop_threading();
+#endif
quit ();
}
@@ -1112,14 +1148,42 @@ ARDOUR_UI::every_point_zero_something_seconds ()
float mpeak = editor_meter->update_meters();
if (mpeak > editor_meter_max_peak) {
if (mpeak >= Config->get_meter_peak()) {
- editor_meter_peak_display.set_name ("meterbridge peakindicator on");
- editor_meter_peak_display.set_elements((ArdourButton::Element) (ArdourButton::Edge|ArdourButton::Body));
+ editor_meter_peak_display.set_active_state ( Gtkmm2ext::ExplicitActive );
}
}
}
return TRUE;
}
+gint
+ARDOUR_UI::every_fps ()
+{
+ FPSUpdate(); /* EMIT_SIGNAL */
+ return TRUE;
+}
+
+void
+ARDOUR_UI::set_fps_timeout_connection ()
+{
+ unsigned int interval = 40;
+ if (!_session) return;
+ if (_session->timecode_frames_per_second() != 0) {
+ /* ideally we'll use a select() to sleep and not accumulate
+ * idle time to provide a regular periodic signal.
+ * See linux_vst_gui_support.cc 'elapsed_time_ms'.
+ * However, that'll require a dedicated thread and cross-thread
+ * signals to the GUI Thread..
+ */
+ interval = floor(500. /* update twice per FPS, since Glib::signal_timeout is very irregular */
+ * _session->frame_rate() / _session->nominal_frame_rate()
+ / _session->timecode_frames_per_second()
+ );
+ interval = std::max(8u, interval); // at most 120Hz.
+ }
+ fps_connection.disconnect();
+ fps_connection = Glib::signal_timeout().connect (sigc::mem_fun(*this, &ARDOUR_UI::every_fps), interval);
+}
+
void
ARDOUR_UI::update_sample_rate (framecnt_t)
{
@@ -1397,7 +1461,7 @@ ARDOUR_UI::redisplay_recent_sessions ()
get_state_files_in_directory (*i, state_file_paths);
- vector<string*>* states;
+ vector<string> states;
vector<const gchar*> item;
string fullpath = *i;
@@ -1414,8 +1478,9 @@ ARDOUR_UI::redisplay_recent_sessions ()
}
/* now get available states for this session */
+ states = Session::possible_states (fullpath);
- if ((states = Session::possible_states (fullpath)) == 0) {
+ if (states.empty()) {
/* no state file? */
continue;
}
@@ -1424,14 +1489,14 @@ ARDOUR_UI::redisplay_recent_sessions ()
Gtk::TreeModel::Row row = *(recent_session_model->append());
- row[recent_session_columns.visible_name] = Glib::path_get_basename (fullpath);
row[recent_session_columns.fullpath] = fullpath;
row[recent_session_columns.tip] = Glib::Markup::escape_text (fullpath);
if (state_file_names.size() > 1) {
+ // multiple session files in the session directory - show the directory name.
+ row[recent_session_columns.visible_name] = Glib::path_get_basename (fullpath);
// add the children
-
for (std::vector<std::string>::iterator i2 = state_file_names.begin();
i2 != state_file_names.end(); ++i2)
{
@@ -1442,6 +1507,9 @@ ARDOUR_UI::redisplay_recent_sessions ()
child_row[recent_session_columns.fullpath] = fullpath;
child_row[recent_session_columns.tip] = Glib::Markup::escape_text (fullpath);
}
+ } else {
+ // only a single session file in the directory - show its actual name.
+ row[recent_session_columns.visible_name] = state_file_names.front ();
}
}
@@ -1640,10 +1708,10 @@ ARDOUR_UI::session_add_mixed_track (const ChanCount& input, const ChanCount& out
catch (...) {
MessageDialog msg (*editor,
- string_compose (_("There are insufficient JACK ports available\n\
+ string_compose (_("There are insufficient ports available\n\
to create a new track or bus.\n\
You should save %1, exit and\n\
-restart JACK with more ports."), PROGRAM_NAME));
+restart with more ports."), PROGRAM_NAME));
msg.run ();
}
}
@@ -1701,10 +1769,10 @@ ARDOUR_UI::session_add_audio_route (
catch (...) {
MessageDialog msg (*editor,
- string_compose (_("There are insufficient JACK ports available\n\
+ string_compose (_("There are insufficient ports available\n\
to create a new track or bus.\n\
You should save %1, exit and\n\
-restart JACK with more ports."), PROGRAM_NAME));
+restart with more ports."), PROGRAM_NAME));
pop_back_splash (msg);
msg.run ();
}
@@ -1809,10 +1877,39 @@ ARDOUR_UI::transport_stop ()
_session->request_stop (false, true);
}
+/** Check if any tracks are record enabled. If none are, record enable all of them.
+ * @return true if track record-enabled status was changed, false otherwise.
+ */
+bool
+ARDOUR_UI::trx_record_enable_all_tracks ()
+{
+ if (!_session) {
+ return false;
+ }
+
+ boost::shared_ptr<RouteList> rl = _session->get_tracks ();
+ bool none_record_enabled = true;
+
+ for (RouteList::iterator r = rl->begin(); r != rl->end(); ++r) {
+ boost::shared_ptr<Track> t = boost::dynamic_pointer_cast<Track> (*r);
+ assert (t);
+
+ if (t->record_enabled()) {
+ none_record_enabled = false;
+ break;
+ }
+ }
+
+ if (none_record_enabled) {
+ _session->set_record_enabled (rl, true, Session::rt_cleanup);
+ }
+
+ return none_record_enabled;
+}
+
void
ARDOUR_UI::transport_record (bool roll)
{
-
if (_session) {
switch (_session->record_status()) {
case Session::Disabled:
@@ -1821,6 +1918,9 @@ ARDOUR_UI::transport_record (bool roll)
msg.run ();
return;
}
+ if (Profile->get_trx()) {
+ roll = trx_record_enable_all_tracks ();
+ }
_session->maybe_enable_record ();
if (roll) {
transport_roll ();
@@ -1866,13 +1966,26 @@ ARDOUR_UI::transport_roll ()
bool rolling = _session->transport_rolling();
if (_session->get_play_loop()) {
- /* XXX it is not possible to just leave seamless loop and keep
- playing at present (nov 4th 2009)
+
+ /* If loop playback is not a mode, then we should cancel
+ it when this action is requested. If it is a mode
+ we just leave it in place.
*/
- if (!Config->get_seamless_loop()) {
- _session->request_play_loop (false, true);
- }
- } else if (_session->get_play_range () && !Config->get_always_play_range()) {
+
+ if (!Config->get_loop_is_mode()) {
+ /* XXX it is not possible to just leave seamless loop and keep
+ playing at present (nov 4th 2009)
+ */
+ if (!Config->get_seamless_loop()) {
+ /* stop loop playback and stop rolling */
+ _session->request_play_loop (false, true);
+ } else if (rolling) {
+ /* stop loop playback but keep rolling */
+ _session->request_play_loop (false, false);
+ }
+ }
+
+ } else if (_session->get_play_range () ) {
/* stop playing a range if we currently are */
_session->request_play_range (0, true);
}
@@ -1928,7 +2041,7 @@ ARDOUR_UI::toggle_roll (bool with_abort, bool roll_out_of_bounded_mode)
/* disk buffers are normal, so we can keep playing */
affect_transport = false;
}
- _session->request_play_loop (false, true);
+ _session->request_play_loop (false, affect_transport);
} else if (_session->get_play_range ()) {
affect_transport = false;
_session->request_play_range (0, true);
@@ -1939,10 +2052,10 @@ ARDOUR_UI::toggle_roll (bool with_abort, bool roll_out_of_bounded_mode)
if (rolling) {
_session->request_stop (with_abort, true);
} else {
- if ( Config->get_always_play_range() ) {
+ if ( Config->get_follow_edits() && ( editor->get_selection().time.front().start == _session->transport_frame() ) ) { //if playhead is exactly at the start of a range, we can assume it was placed there by follow_edits
_session->request_play_range (&editor->get_selection().time, true);
+ _session->set_requested_return_frame( editor->get_selection().time.front().start ); //force an auto-return here
}
-
_session->request_transport_speed (1.0f);
}
}
@@ -1959,16 +2072,23 @@ ARDOUR_UI::toggle_session_auto_loop ()
if (_session->get_play_loop()) {
- if (_session->transport_rolling()) {
+ /* looping enabled, our job is to disable it */
+
+ _session->request_play_loop (false);
- _session->request_locate (looploc->start(), true);
- _session->request_play_loop (false);
+ } else {
+ /* looping not enabled, our job is to enable it.
+
+ loop-is-NOT-mode: this action always starts the transport rolling.
+ loop-IS-mode: this action simply sets the loop play mechanism, but
+ does not start transport.
+ */
+ if (Config->get_loop_is_mode()) {
+ _session->request_play_loop (true, false);
} else {
- _session->request_play_loop (false);
+ _session->request_play_loop (true, true);
}
- } else {
- _session->request_play_loop (true);
}
//show the loop markers
@@ -2096,7 +2216,11 @@ ARDOUR_UI::map_transport_state ()
auto_loop_button.set_active (true);
play_selection_button.set_active (false);
- roll_button.set_active (false);
+ if (Config->get_loop_is_mode()) {
+ roll_button.set_active (true);
+ } else {
+ roll_button.set_active (false);
+ }
} else {
@@ -2105,7 +2229,7 @@ ARDOUR_UI::map_transport_state ()
auto_loop_button.set_active (false);
}
- if (Config->get_always_play_range()) {
+ if (Config->get_follow_edits()) {
/* light up both roll and play-selection if they are joined */
roll_button.set_active (true);
play_selection_button.set_active (true);
@@ -2118,7 +2242,11 @@ ARDOUR_UI::map_transport_state ()
stop_button.set_active (true);
roll_button.set_active (false);
play_selection_button.set_active (false);
- auto_loop_button.set_active (false);
+ if (Config->get_loop_is_mode ()) {
+ auto_loop_button.set_active (_session->get_play_loop());
+ } else {
+ auto_loop_button.set_active (false);
+ }
update_disk_space ();
}
}
@@ -2135,7 +2263,7 @@ void
ARDOUR_UI::start_clocking ()
{
if (Config->get_super_rapid_clock_update()) {
- clock_signal_connection = SuperRapidScreenUpdate.connect (sigc::mem_fun(*this, &ARDOUR_UI::update_clocks));
+ clock_signal_connection = FPSUpdate.connect (sigc::mem_fun(*this, &ARDOUR_UI::update_clocks));
} else {
clock_signal_connection = RapidScreenUpdate.connect (sigc::mem_fun(*this, &ARDOUR_UI::update_clocks));
}
@@ -2397,7 +2525,7 @@ ARDOUR_UI::transport_rec_enable_blink (bool onoff)
if (onoff) {
rec_button.set_active_state (Gtkmm2ext::ExplicitActive);
} else {
- rec_button.set_active_state (Gtkmm2ext::ImplicitActive);
+ rec_button.set_active_state (Gtkmm2ext::Off);
}
} else if (r == Session::Recording && h) {
rec_button.set_active_state (Gtkmm2ext::ExplicitActive);
@@ -2634,6 +2762,13 @@ ARDOUR_UI::get_session_parameters (bool quit_on_cancel, bool should_be_new, stri
break;
default:
if (quit_on_cancel) {
+ // JE - Currently (July 2014) this section can only get reached if the
+ // user quits from the main 'Session Setup' dialog (i.e. reaching this
+ // point does NOT indicate an abnormal termination). Therefore, let's
+ // behave gracefully (i.e. let's do some cleanup) before we call exit()
+ ARDOUR::cleanup ();
+ pthread_cancel_all ();
+
exit (1);
} else {
return ret;
@@ -2907,7 +3042,15 @@ ARDOUR_UI::load_session (const std::string& path, const std::string& snap_name,
_session->set_clean ();
}
+#ifdef WINDOWS_VST_SUPPORT
+ fst_stop_threading();
+#endif
+
flush_pending ();
+
+#ifdef WINDOWS_VST_SUPPORT
+ fst_start_threading();
+#endif
retval = 0;
out:
@@ -3102,13 +3245,13 @@ require some unused files to continue to exist."));
space_adjusted = rep.space;
} else if (rep.space < 1000000) {
bprefix = _("kilo");
- space_adjusted = truncf((float)rep.space / 1000.0);
+ space_adjusted = floorf((float)rep.space / 1000.0);
} else if (rep.space < 1000000 * 1000) {
bprefix = _("mega");
- space_adjusted = truncf((float)rep.space / (1000.0 * 1000.0));
+ space_adjusted = floorf((float)rep.space / (1000.0 * 1000.0));
} else {
bprefix = _("giga");
- space_adjusted = truncf((float)rep.space / (1000.0 * 1000 * 1000.0));
+ space_adjusted = floorf((float)rep.space / (1000.0 * 1000 * 1000.0));
}
if (msg_delete) {
@@ -3332,13 +3475,8 @@ ARDOUR_UI::add_route (Gtk::Window* float_window)
setup_order_hint();
- PBD::ScopedConnection idle_connection;
-
- if (count > 8) {
- ARDOUR::GUIIdle.connect (idle_connection, MISSING_INVALIDATOR, boost::bind (&Gtkmm2ext::UI::flush_pending, this), gui_context());
- }
-
string template_path = add_route_dialog->track_template();
+ DisplaySuspender ds;
if (!template_path.empty()) {
if (add_route_dialog->name_template_is_default()) {
@@ -3379,15 +3517,13 @@ ARDOUR_UI::add_route (Gtk::Window* float_window)
session_add_audio_bus (input_chan.n_audio(), output_chan.n_audio(), route_group, count, name_template);
break;
}
-
- /* idle connection will end at scope end */
}
void
ARDOUR_UI::stop_video_server (bool ask_confirm)
{
if (!video_server_process && ask_confirm) {
- warning << _("Video-Server was not launched by Ardour. The request to stop it is ignored.") << endmsg;
+ warning << string_compose (_("Video-Server was not launched by %1. The request to stop it is ignored."), PROGRAM_NAME) << endmsg;
}
if (video_server_process) {
if(ask_confirm) {
@@ -3453,16 +3589,24 @@ ARDOUR_UI::start_video_server (Gtk::Window* float_window, bool popup_msg)
std::string icsd_docroot = video_server_dialog->get_docroot();
if (icsd_docroot.empty()) {icsd_docroot = X_("/");}
- struct stat sb;
- if (!lstat (icsd_docroot.c_str(), &sb) == 0 || !S_ISDIR(sb.st_mode)) {
+ GStatBuf sb;
+ if (!g_lstat (icsd_docroot.c_str(), &sb) == 0 || !S_ISDIR(sb.st_mode)) {
warning << _("Specified docroot is not an existing directory.") << endmsg;
continue;
}
- if ( (!lstat (icsd_exec.c_str(), &sb) == 0)
+#ifndef PLATFORM_WINDOWS
+ if ( (!g_lstat (icsd_exec.c_str(), &sb) == 0)
|| (sb.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)) == 0 ) {
warning << _("Given Video Server is not an executable file.") << endmsg;
continue;
}
+#else
+ if ( (!g_lstat (icsd_exec.c_str(), &sb) == 0)
+ || (sb.st_mode & (S_IXUSR)) == 0 ) {
+ warning << _("Given Video Server is not an executable file.") << endmsg;
+ continue;
+ }
+#endif
char **argp;
argp=(char**) calloc(9,sizeof(char*));
@@ -3491,14 +3635,15 @@ ARDOUR_UI::start_video_server (Gtk::Window* float_window, bool popup_msg)
delete video_server_process;
}
- video_server_process = new SystemExec(icsd_exec, argp);
+ video_server_process = new ARDOUR::SystemExec(icsd_exec, argp);
if (video_server_process->start()) {
warning << _("Cannot launch the video-server") << endmsg;
continue;
}
int timeout = 120; // 6 sec
while (!ARDOUR_UI::instance()->video_timeline->check_server()) {
- usleep (50000);
+ Glib::usleep (50000);
+ gui_idle_handler();
if (--timeout <= 0 || !video_server_process->is_running()) break;
}
if (timeout <= 0) {
@@ -3764,6 +3909,116 @@ quickly enough to keep up with recording.\n"), PROGRAM_NAME));
}
}
+
+/* TODO: this is getting elaborate enough to warrant being split into a dedicated class */
+static MessageDialog *scan_dlg = NULL;
+static ProgressBar *scan_pbar = NULL;
+static HBox *scan_tbox = NULL;
+
+void
+ARDOUR_UI::cancel_plugin_scan ()
+{
+ PluginManager::instance().cancel_plugin_scan();
+}
+
+void
+ARDOUR_UI::cancel_plugin_timeout ()
+{
+ PluginManager::instance().cancel_plugin_timeout();
+ scan_tbox->hide();
+}
+
+void
+ARDOUR_UI::plugin_scan_timeout (int timeout)
+{
+ if (!scan_dlg || !scan_dlg->is_mapped() || !scan_pbar) {
+ return;
+ }
+ if (timeout > 0) {
+ scan_pbar->set_fraction ((float) timeout / (float) Config->get_vst_scan_timeout());
+ scan_tbox->show();
+ } else {
+ scan_tbox->hide();
+ }
+ gui_idle_handler();
+}
+
+void
+ARDOUR_UI::plugin_scan_dialog (std::string type, std::string plugin, bool can_cancel)
+{
+ if (type == X_("closeme") && !(scan_dlg && scan_dlg->is_mapped())) {
+ return;
+ }
+
+ const bool cancelled = PluginManager::instance().cancelled();
+ if (type != X_("closeme") && !Config->get_show_plugin_scan_window()) {
+ if (cancelled && scan_dlg->is_mapped()) {
+ scan_dlg->hide();
+ gui_idle_handler();
+ return;
+ }
+ if (cancelled || !can_cancel) {
+ return;
+ }
+ }
+
+ static Gtk::Button *cancel_button;
+ static Gtk::Button *timeout_button;
+ if (!scan_dlg) {
+ scan_dlg = new MessageDialog("", false, MESSAGE_INFO, BUTTONS_NONE); // TODO manage
+ VBox* vbox = scan_dlg->get_vbox();
+ vbox->set_size_request(400,-1);
+ scan_dlg->set_title (_("Scanning for plugins"));
+
+ cancel_button = manage(new Gtk::Button(_("Cancel plugin scan")));
+ cancel_button->set_name ("EditorGTKButton");
+ cancel_button->signal_clicked().connect ( mem_fun (*this, &ARDOUR_UI::cancel_plugin_scan) );
+ cancel_button->show();
+
+ scan_dlg->get_vbox()->pack_start ( *cancel_button, PACK_SHRINK);
+
+ scan_tbox = manage( new HBox() );
+
+ timeout_button = manage(new Gtk::Button(_("Stop Timeout")));
+ timeout_button->set_name ("EditorGTKButton");
+ timeout_button->signal_clicked().connect ( mem_fun (*this, &ARDOUR_UI::cancel_plugin_timeout) );
+ timeout_button->show();
+
+ scan_pbar = manage(new ProgressBar());
+ scan_pbar->set_orientation(Gtk::PROGRESS_RIGHT_TO_LEFT);
+ scan_pbar->set_text(_("Scan Timeout"));
+ scan_pbar->show();
+
+ scan_tbox->pack_start (*scan_pbar, PACK_EXPAND_WIDGET, 4);
+ scan_tbox->pack_start (*timeout_button, PACK_SHRINK, 4);
+
+ scan_dlg->get_vbox()->pack_start (*scan_tbox, PACK_SHRINK, 4);
+ }
+
+ if (type == X_("closeme")) {
+ scan_dlg->hide();
+ } else {
+ scan_dlg->set_message(type + ": " + Glib::path_get_basename(plugin));
+ scan_dlg->show();
+ }
+ if (!can_cancel || !cancelled) {
+ scan_tbox->hide();
+ }
+ cancel_button->set_sensitive(can_cancel && !cancelled);
+
+ gui_idle_handler();
+}
+
+void
+ARDOUR_UI::gui_idle_handler ()
+{
+ int timeout = 30;
+ /* due to idle calls, gtk_events_pending() may always return true */
+ while (gtk_events_pending() && --timeout) {
+ gtk_main_iteration ();
+ }
+}
+
void
ARDOUR_UI::disk_underrun_handler ()
{
@@ -4096,10 +4351,18 @@ ARDOUR_UI::setup_profile ()
Profile->set_small_screen ();
}
- if (getenv ("ARDOUR_SAE")) {
+ if (g_getenv ("ARDOUR_SAE")) {
Profile->set_sae ();
Profile->set_single_package ();
}
+
+ if (g_getenv ("TRX")) {
+ Profile->set_trx ();
+ }
+
+ if (g_getenv ("MIXBUS")) {
+ Profile->set_mixbus ();
+ }
}
int
@@ -4126,7 +4389,7 @@ ARDOUR_UI::missing_file (Session*s, std::string str, DataType type)
}
int
-ARDOUR_UI::ambiguous_file (std::string file, std::string /*path*/, std::vector<std::string> hits)
+ARDOUR_UI::ambiguous_file (std::string file, std::vector<std::string> hits)
{
AmbiguousFileDialog dialog (file, hits);
@@ -4196,8 +4459,7 @@ ARDOUR_UI::reset_peak_display ()
if (!_session || !_session->master_out() || !editor_meter) return;
editor_meter->clear_meters();
editor_meter_max_peak = -INFINITY;
- editor_meter_peak_display.set_name ("meterbridge peakindicator");
- editor_meter_peak_display.set_elements((ArdourButton::Element) (ArdourButton::Edge|ArdourButton::Body));
+ editor_meter_peak_display.set_active_state ( Gtkmm2ext::Off );
}
void
@@ -4235,3 +4497,53 @@ ARDOUR_UI::do_audio_midi_setup (uint32_t desired_sample_rate)
}
+gint
+ARDOUR_UI::transport_numpad_timeout ()
+{
+ _numpad_locate_happening = false;
+ if (_numpad_timeout_connection.connected() )
+ _numpad_timeout_connection.disconnect();
+ return 1;
+}
+
+void
+ARDOUR_UI::transport_numpad_decimal ()
+{
+ _numpad_timeout_connection.disconnect();
+
+ if (_numpad_locate_happening) {
+ if (editor) editor->goto_nth_marker(_pending_locate_num - 1);
+ _numpad_locate_happening = false;
+ } else {
+ _pending_locate_num = 0;
+ _numpad_locate_happening = true;
+ _numpad_timeout_connection = Glib::signal_timeout().connect (mem_fun(*this, &ARDOUR_UI::transport_numpad_timeout), 2*1000);
+ }
+}
+
+void
+ARDOUR_UI::transport_numpad_event (int num)
+{
+ if ( _numpad_locate_happening ) {
+ _pending_locate_num = _pending_locate_num*10 + num;
+ } else {
+ switch (num) {
+ case 0: toggle_roll(false, false); break;
+ case 1: transport_rewind(1); break;
+ case 2: transport_forward(1); break;
+ case 3: transport_record(true); break;
+ case 4: toggle_session_auto_loop(); break;
+ case 5: transport_record(false); toggle_session_auto_loop(); break;
+ case 6: toggle_punch(); break;
+ case 7: toggle_click(); break;
+ case 8: toggle_auto_return(); break;
+ case 9: toggle_follow_edits(); break;
+ }
+ }
+}
+
+void
+ARDOUR_UI::set_flat_buttons ()
+{
+ CairoWidget::set_flat_buttons( config()->get_flat_buttons() );
+}
diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h
index 1f90a4cbb6..cc00b0a16b 100644
--- a/gtk2_ardour/ardour_ui.h
+++ b/gtk2_ardour/ardour_ui.h
@@ -35,7 +35,6 @@
#include <list>
#include <cmath>
-#include <libgnomecanvasmm/canvas.h>
#include "pbd/xml++.h"
#include "pbd/controllable.h"
@@ -64,33 +63,40 @@
#include "ardour/utils.h"
#include "ardour/plugin.h"
#include "ardour/session_handle.h"
+#include "ardour/system_exec.h"
#include "video_timeline.h"
+#include "about.h"
#include "ardour_button.h"
#include "ardour_dialog.h"
#include "ardour_window.h"
#include "editing.h"
+#include "engine_dialog.h"
#include "meterbridge.h"
#include "ui_config.h"
#include "enums.h"
#include "visibility_group.h"
#include "window_manager.h"
-class About;
-class AddRouteDialog;
-class AddVideoDialog;
+#include "add_route_dialog.h"
+#include "add_video_dialog.h"
+#include "big_clock_window.h"
+#include "bundle_manager.h"
+#include "global_port_matrix.h"
+#include "keyeditor.h"
+#include "location_ui.h"
+#include "rc_option_editor.h"
+#include "route_params_ui.h"
+#include "session_option_editor.h"
+#include "speaker_dialog.h"
+#include "theme_manager.h"
+
class VideoTimeLine;
-class SystemExec;
class ArdourKeyboard;
class AudioClock;
-class BigClockWindow;
-class BundleManager;
class ButtonJoiner;
class ConnectionEditor;
-class EngineControl;
-class KeyEditor;
-class LocationUIWindow;
class MainClock;
class Mixer_UI;
class PublicEditor;
@@ -100,13 +106,10 @@ class SessionDialog;
class SessionOptionEditor;
class ShuttleControl;
class Splash;
-class SpeakerDialog;
-class ThemeManager;
class TimeInfoBox;
class MidiTracer;
class NSM_Client;
class LevelMeterHBox;
-class GlobalPortMatrixWindow;
class GUIObjectState;
namespace Gtkmm2ext {
@@ -187,6 +190,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
/** point_zero_something_seconds -- currently 25Hz ^= 40ms */
static sigc::signal<void> SuperRapidScreenUpdate;
+ /** every_fps -- see set_fps_timeout_connection() 25Hz < x < 120Hz */
+ static sigc::signal<void> FPSUpdate;
+
/** Emitted frequently with the audible frame, false, and the edit point as
* parameters respectively.
*
@@ -274,6 +280,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
void maximise_editing_space ();
void restore_editing_space ();
+ void show_ui_prefs ();
+
void update_tearoff_visibility ();
void setup_profile ();
@@ -421,7 +429,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
boost::shared_ptr<TransportControllable> play_selection_controllable;
boost::shared_ptr<TransportControllable> rec_controllable;
- void toggle_always_play_range ();
+ void toggle_follow_edits ();
void set_transport_controllable_state (const XMLNode&);
XMLNode& get_transport_controllable_state ();
@@ -461,6 +469,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
void sync_blink (bool);
void audition_blink (bool);
void feedback_blink (bool);
+
+ void set_flat_buttons();
void soloing_changed (bool);
void auditioning_changed (bool);
@@ -504,7 +514,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
struct RecentSessionsSorter {
bool operator() (std::pair<std::string,std::string> a, std::pair<std::string,std::string> b) const {
- return cmp_nocase(a.first, b.first) == -1;
+ return ARDOUR::cmp_nocase(a.first, b.first) == -1;
}
};
@@ -541,10 +551,14 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
gint every_second ();
gint every_point_one_seconds ();
gint every_point_zero_something_seconds ();
+ gint every_fps ();
sigc::connection second_connection;
sigc::connection point_one_second_connection;
sigc::connection point_zero_something_second_connection;
+ sigc::connection fps_connection;
+
+ void set_fps_timeout_connection ();
void open_session ();
void open_recent_session ();
@@ -558,6 +572,15 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
void set_transport_sensitivity (bool);
+ //stuff for ProTools-style numpad
+ void transport_numpad_event (int num);
+ void transport_numpad_decimal ();
+ bool _numpad_locate_happening;
+ int _pending_locate_num;
+ gint transport_numpad_timeout ();
+ sigc::connection _numpad_timeout_connection;
+
+ void transport_goto_nth_marker (int nth);
void transport_goto_zero ();
void transport_goto_start ();
void transport_goto_end ();
@@ -571,6 +594,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
void transport_rewind (int option);
void transport_loop ();
void toggle_roll (bool with_abort, bool roll_out_of_bounded_mode);
+ bool trx_record_enable_all_tracks ();
bool _session_is_new;
void set_session (ARDOUR::Session *);
@@ -624,7 +648,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
static UIConfiguration *ui_config;
- SystemExec *video_server_process;
+ ARDOUR::SystemExec *video_server_process;
void handle_locations_change (ARDOUR::Location*);
@@ -664,6 +688,12 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
void disk_speed_dialog_gone (int ignored_response, Gtk::MessageDialog*);
void disk_overrun_handler ();
void disk_underrun_handler ();
+ void gui_idle_handler ();
+
+ void cancel_plugin_scan ();
+ void cancel_plugin_timeout ();
+ void plugin_scan_dialog (std::string type, std::string plugin, bool);
+ void plugin_scan_timeout (int);
void session_format_mismatch (std::string, std::string);
@@ -723,7 +753,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
void fontconfig_dialog ();
int missing_file (ARDOUR::Session*s, std::string str, ARDOUR::DataType type);
- int ambiguous_file (std::string file, std::string path, std::vector<std::string> hits);
+ int ambiguous_file (std::string file, std::vector<std::string> hits);
bool click_button_clicked (GdkEventButton *);
diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc
index e9ad631032..fd85f4fb1c 100644
--- a/gtk2_ardour/ardour_ui2.cc
+++ b/gtk2_ardour/ardour_ui2.cc
@@ -64,6 +64,7 @@ using namespace PBD;
using namespace Gtkmm2ext;
using namespace Gtk;
using namespace Glib;
+using namespace ARDOUR_UI_UTILS;
int
ARDOUR_UI::setup_windows ()
@@ -111,9 +112,9 @@ ARDOUR_UI::setup_windows ()
top_packer.pack_start (menu_bar_base, false, false);
#endif
- top_packer.pack_start (transport_frame, false, false);
+ editor->add_toplevel_menu (top_packer);
- editor->add_toplevel_controls (top_packer);
+ editor->add_transport_frame (transport_frame);
setup_transport();
@@ -144,7 +145,7 @@ ARDOUR_UI::setup_tooltips ()
set_tip (feedback_alert_button, _("When active, there is a feedback loop."));
set_tip (primary_clock, _("<b>Primary Clock</b> right-click to set display mode. Click to edit, click+drag a digit or mouse-over+scroll wheel to modify.\nText edits: right-to-left overwrite <tt>Esc</tt>: cancel; <tt>Enter</tt>: confirm; postfix the edit with '+' or '-' to enter delta times.\n"));
set_tip (secondary_clock, _("<b>Secondary Clock</b> right-click to set display mode. Click to edit, click+drag a digit or mouse-over+scroll wheel to modify.\nText edits: right-to-left overwrite <tt>Esc</tt>: cancel; <tt>Enter</tt>: confirm; postfix the edit with '+' or '-' to enter delta times.\n"));
- set_tip (editor_meter_peak_display, _("Reset Level Meter"));
+ set_tip (editor_meter_peak_display, _("Reset All Peak Indicators"));
synchronize_sync_source_and_video_pullup ();
@@ -222,7 +223,7 @@ ARDOUR_UI::setup_transport ()
transport_tearoff->set_name ("TransportBase");
transport_tearoff->tearoff_window().signal_key_press_event().connect (sigc::bind (sigc::ptr_fun (relay_key_press), &transport_tearoff->tearoff_window()), false);
- if (Profile->get_sae()) {
+ if (Profile->get_sae() || Profile->get_mixbus()) {
transport_tearoff->set_can_be_torn_off (false);
}
@@ -271,9 +272,10 @@ ARDOUR_UI::setup_transport ()
roll_button.set_image (get_icon (X_("transport_play")));
stop_button.set_image (get_icon (X_("transport_stop")));
play_selection_button.set_image (get_icon (X_("transport_range")));
- rec_button.set_image (get_icon (X_("transport_record")));
auto_loop_button.set_image (get_icon (X_("transport_loop")));
+ rec_button.set_elements ((ArdourButton::Element) (ArdourButton::Edge|ArdourButton::Body|ArdourButton::RecButton));
+
midi_panic_button.set_image (get_icon (X_("midi_panic")));
/* the icon for this has an odd aspect ratio, so fatten up the button */
midi_panic_button.set_size_request (25, -1);
@@ -324,9 +326,11 @@ ARDOUR_UI::setup_transport ()
feedback_alert_button.set_name ("feedback alert");
feedback_alert_button.signal_button_press_event().connect (sigc::mem_fun (*this, &ARDOUR_UI::feedback_alert_press), false);
- alert_box.pack_start (solo_alert_button, true, false);
- alert_box.pack_start (auditioning_alert_button, true, false);
- alert_box.pack_start (feedback_alert_button, true, false);
+ alert_box.set_homogeneous (true);
+ alert_box.set_spacing (2);
+ alert_box.pack_start (solo_alert_button, true, true);
+ alert_box.pack_start (auditioning_alert_button, true, true);
+ alert_box.pack_start (feedback_alert_button, true, true);
/* all transport buttons should be the same size vertically and
* horizontally
@@ -357,13 +361,18 @@ ARDOUR_UI::setup_transport ()
tbox2->set_spacing (2);
tbox->set_spacing (2);
- tbox1->pack_start (midi_panic_button, false, false, 5);
- tbox1->pack_start (click_button, false, false, 5);
+ if (!Profile->get_trx()) {
+ tbox1->pack_start (midi_panic_button, false, false, 5);
+ tbox1->pack_start (click_button, false, false, 5);
+ }
+
tbox1->pack_start (goto_start_button, false, false);
tbox1->pack_start (goto_end_button, false, false);
tbox1->pack_start (auto_loop_button, false, false);
- tbox2->pack_start (play_selection_button, false, false);
+ if (!Profile->get_trx()) {
+ tbox2->pack_start (play_selection_button, false, false);
+ }
tbox2->pack_start (roll_button, false, false);
tbox2->pack_start (stop_button, false, false);
tbox2->pack_start (rec_button, false, false, 5);
@@ -382,20 +391,29 @@ ARDOUR_UI::setup_transport ()
HBox* clock_box = manage (new HBox);
clock_box->pack_start (*primary_clock, false, false);
- if (!ARDOUR::Profile->get_small_screen()) {
+ if (!ARDOUR::Profile->get_small_screen() && !ARDOUR::Profile->get_trx()) {
clock_box->pack_start (*secondary_clock, false, false);
}
clock_box->set_spacing (3);
- shuttle_box = new ShuttleControl;
+ shuttle_box = manage (new ShuttleControl);
shuttle_box->show ();
-
+
VBox* transport_vbox = manage (new VBox);
transport_vbox->set_name ("TransportBase");
transport_vbox->set_border_width (0);
transport_vbox->set_spacing (3);
transport_vbox->pack_start (*tbox, true, true, 0);
- transport_vbox->pack_start (*shuttle_box, false, false, 0);
+
+ if (!Profile->get_trx()) {
+ transport_vbox->pack_start (*shuttle_box, false, false, 0);
+ }
+
+ time_info_box = manage (new TimeInfoBox);
+
+ if (ARDOUR::Profile->get_trx()) {
+ transport_tearoff_hbox.pack_start (*time_info_box, false, false);
+ }
transport_tearoff_hbox.pack_start (*transport_vbox, false, false);
@@ -404,22 +422,34 @@ ARDOUR_UI::setup_transport ()
VBox* auto_box = manage (new VBox);
auto_box->set_homogeneous (true);
auto_box->set_spacing (2);
- auto_box->pack_start (sync_button, false, false);
- auto_box->pack_start (follow_edits_button, false, false);
- auto_box->pack_start (auto_return_button, false, false);
+ auto_box->pack_start (sync_button, true, true);
+ if (!ARDOUR::Profile->get_trx()) {
+ auto_box->pack_start (follow_edits_button, true, true);
+ auto_box->pack_start (auto_return_button, true, true);
+ }
- transport_tearoff_hbox.pack_start (*auto_box, false, false);
+ if (!ARDOUR::Profile->get_trx()) {
+ transport_tearoff_hbox.pack_start (*auto_box, false, false);
+ }
transport_tearoff_hbox.pack_start (*clock_box, true, true);
- time_info_box = manage (new TimeInfoBox);
- transport_tearoff_hbox.pack_start (*time_info_box, false, false);
+ if (ARDOUR::Profile->get_trx()) {
+ transport_tearoff_hbox.pack_start (*auto_box, false, false);
+ }
+
+ if (!ARDOUR::Profile->get_trx()) {
+ transport_tearoff_hbox.pack_start (*time_info_box, false, false);
+ }
- if (Profile->get_small_screen()) {
+ if (ARDOUR::Profile->get_small_screen()) {
transport_tearoff_hbox.pack_start (_editor_transport_box, false, false);
}
- transport_tearoff_hbox.pack_start (alert_box, false, false);
- transport_tearoff_hbox.pack_start (meter_box, false, false);
- transport_tearoff_hbox.pack_start (editor_meter_peak_display, false, false);
+
+ if (!ARDOUR::Profile->get_trx()) {
+ transport_tearoff_hbox.pack_start (alert_box, false, false);
+ transport_tearoff_hbox.pack_start (meter_box, false, false);
+ transport_tearoff_hbox.pack_start (editor_meter_peak_display, false, false);
+ }
if (Profile->get_sae()) {
Image* img = manage (new Image ((::get_icon (X_("sae")))));
@@ -612,6 +642,18 @@ ARDOUR_UI::restore_editing_space ()
}
}
+void
+ARDOUR_UI::show_ui_prefs ()
+{
+ RefPtr<Action> act = ActionManager::get_action (X_("Window"), X_("toggle-rc-options-editor"));
+ assert (act);
+
+ act->activate();
+
+ rc_option_editor->set_current_page (_("GUI"));
+}
+
+
bool
ARDOUR_UI::click_button_clicked (GdkEventButton* ev)
{
@@ -630,7 +672,7 @@ ARDOUR_UI::click_button_clicked (GdkEventButton* ev)
}
void
-ARDOUR_UI::toggle_always_play_range ()
+ARDOUR_UI::toggle_follow_edits ()
{
RefPtr<Action> act = ActionManager::get_action (X_("Transport"), X_("ToggleFollowEdits"));
assert (act);
@@ -638,7 +680,7 @@ ARDOUR_UI::toggle_always_play_range ()
RefPtr<ToggleAction> tact = RefPtr<ToggleAction>::cast_dynamic (act);
assert (tact);
- Config->set_always_play_range (tact->get_active ());
+ Config->set_follow_edits (tact->get_active ());
}
diff --git a/gtk2_ardour/ardour_ui_dependents.cc b/gtk2_ardour/ardour_ui_dependents.cc
index fbfc8c7afd..c27ade9fed 100644
--- a/gtk2_ardour/ardour_ui_dependents.cc
+++ b/gtk2_ardour/ardour_ui_dependents.cc
@@ -31,6 +31,7 @@
#include "ardour/session.h"
+#include "actions.h"
#include "ardour_ui.h"
#include "public_editor.h"
#include "mixer_ui.h"
@@ -59,6 +60,11 @@ ARDOUR_UI::we_have_dependents ()
editor->setup_tooltips ();
editor->UpdateAllTransportClocks.connect (sigc::mem_fun (*this, &ARDOUR_UI::update_transport_clocks));
+ /* all actions are defined */
+
+ ActionManager::enable_accelerators ();
+ ActionManager::load_menus (ARDOUR_COMMAND_LINE::menus_file);
+
editor->track_mixer_selection ();
mixer->track_editor_selection ();
}
@@ -66,6 +72,7 @@ ARDOUR_UI::we_have_dependents ()
void
ARDOUR_UI::connect_dependents_to_session (ARDOUR::Session *s)
{
+ DisplaySuspender ds;
BootMessage (_("Setup Editor"));
editor->set_session (s);
BootMessage (_("Setup Mixer"));
diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc
index 6f55f7cc44..8cd65ef378 100644
--- a/gtk2_ardour/ardour_ui_dialogs.cc
+++ b/gtk2_ardour/ardour_ui_dialogs.cc
@@ -23,9 +23,12 @@
This is to cut down on the compile times. It also helps with my sanity.
*/
-#include "ardour/session.h"
#include "ardour/audioengine.h"
#include "ardour/automation_watch.h"
+#include "ardour/control_protocol_manager.h"
+#include "ardour/profile.h"
+#include "ardour/session.h"
+#include "control_protocol/control_protocol.h"
#include "actions.h"
#include "add_route_dialog.h"
@@ -68,7 +71,6 @@ ARDOUR_UI::set_session (Session *s)
{
SessionHandlePtr::set_session (s);
-
if (!_session) {
WM::Manager::instance().set_session (s);
/* Session option editor cannot exist across change-of-session */
@@ -183,6 +185,7 @@ ARDOUR_UI::set_session (Session *s)
second_connection = Glib::signal_timeout().connect (sigc::mem_fun(*this, &ARDOUR_UI::every_second), 1000);
point_one_second_connection = Glib::signal_timeout().connect (sigc::mem_fun(*this, &ARDOUR_UI::every_point_one_seconds), 100);
point_zero_something_second_connection = Glib::signal_timeout().connect (sigc::mem_fun(*this, &ARDOUR_UI::every_point_zero_something_seconds), 40);
+ set_fps_timeout_connection();
update_format ();
@@ -198,37 +201,44 @@ ARDOUR_UI::set_session (Session *s)
editor_meter_peak_display.hide();
}
- if (_session
- && _session->master_out()
- && _session->master_out()->n_outputs().n(DataType::AUDIO) > 0) {
- editor_meter = new LevelMeterHBox(_session);
- editor_meter->set_meter (_session->master_out()->shared_peak_meter().get());
- editor_meter->clear_meters();
- editor_meter->set_type (_session->master_out()->meter_type());
- editor_meter->setup_meters (30, 12, 6);
- editor_meter->show();
- meter_box.pack_start(*editor_meter);
+ if (meter_box.get_parent()) {
+ transport_tearoff_hbox.remove (meter_box);
+ transport_tearoff_hbox.remove (editor_meter_peak_display);
+ }
+
+ if (_session &&
+ _session->master_out() &&
+ _session->master_out()->n_outputs().n(DataType::AUDIO) > 0) {
+
+ if (!ARDOUR::Profile->get_trx()) {
+ editor_meter = new LevelMeterHBox(_session);
+ editor_meter->set_meter (_session->master_out()->shared_peak_meter().get());
+ editor_meter->clear_meters();
+ editor_meter->set_type (_session->master_out()->meter_type());
+ editor_meter->setup_meters (30, 12, 6);
+ editor_meter->show();
+ meter_box.pack_start(*editor_meter);
+ }
ArdourMeter::ResetAllPeakDisplays.connect (sigc::mem_fun(*this, &ARDOUR_UI::reset_peak_display));
ArdourMeter::ResetRoutePeakDisplays.connect (sigc::mem_fun(*this, &ARDOUR_UI::reset_route_peak_display));
ArdourMeter::ResetGroupPeakDisplays.connect (sigc::mem_fun(*this, &ARDOUR_UI::reset_group_peak_display));
editor_meter_peak_display.set_name ("meterbridge peakindicator");
- editor_meter_peak_display.set_elements((ArdourButton::Element) (ArdourButton::Edge|ArdourButton::Body));
editor_meter_peak_display.unset_flags (Gtk::CAN_FOCUS);
- editor_meter_peak_display.set_size_request(6, -1);
- editor_meter_peak_display.set_corner_radius(2);
+ editor_meter_peak_display.set_size_request(8, -1);
+ editor_meter_peak_display.set_corner_radius(3);
editor_meter_max_peak = -INFINITY;
editor_meter_peak_display.signal_button_release_event().connect (sigc::mem_fun(*this, &ARDOUR_UI::editor_meter_peak_button_release), false);
- if (Config->get_show_editor_meter()) {
+ if (Config->get_show_editor_meter() && !ARDOUR::Profile->get_trx()) {
transport_tearoff_hbox.pack_start (meter_box, false, false);
transport_tearoff_hbox.pack_start (editor_meter_peak_display, false, false);
meter_box.show();
editor_meter_peak_display.show();
}
- }
+ }
}
int
@@ -254,6 +264,16 @@ ARDOUR_UI::unload_session (bool hide_stuff)
}
}
+ {
+ // tear down session specific CPI (owned by rc_config_editor which can remain)
+ ControlProtocolManager& m = ControlProtocolManager::instance ();
+ for (std::list<ControlProtocolInfo*>::iterator i = m.control_protocol_info.begin(); i != m.control_protocol_info.end(); ++i) {
+ if (*i && (*i)->protocol && (*i)->protocol->has_editor ()) {
+ (*i)->protocol->tear_down_gui ();
+ }
+ }
+ }
+
if (hide_stuff) {
editor->hide ();
mixer->hide ();
@@ -267,6 +287,7 @@ ARDOUR_UI::unload_session (bool hide_stuff)
second_connection.disconnect ();
point_one_second_connection.disconnect ();
point_zero_something_second_connection.disconnect();
+ fps_connection.disconnect();
if (editor_meter) {
meter_box.remove(*editor_meter);
@@ -563,7 +584,7 @@ ARDOUR_UI::editor_meter_peak_button_release (GdkEventButton* ev)
} else if (_session->master_out()) {
ArdourMeter::ResetRoutePeakDisplays (_session->master_out().get());
}
- return true;
+ return false;
}
void
diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc
index 454c657e6e..278f2dba5a 100644
--- a/gtk2_ardour/ardour_ui_ed.cc
+++ b/gtk2_ardour/ardour_ui_ed.cc
@@ -51,7 +51,6 @@
#include "actions.h"
#include "mixer_ui.h"
#include "startup.h"
-#include "utils.h"
#include "window_manager.h"
#include "global_port_matrix.h"
#include "location_ui.h"
@@ -195,6 +194,8 @@ ARDOUR_UI::install_actions ()
act = ActionManager::register_toggle_action (common_actions, X_("KeepTearoffs"), _("Show Toolbars"), mem_fun (*this, &ARDOUR_UI::toggle_keep_tearoffs));
ActionManager::session_sensitive_actions.push_back (act);
+ ActionManager::register_action (common_actions, X_("show-ui-prefs"), _("Show more UI preferences"), sigc::mem_fun (*this, &ARDOUR_UI::show_ui_prefs));
+
ActionManager::register_toggle_action (common_actions, X_("toggle-mixer"), S_("Window|Mixer"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_mixer_window));
ActionManager::register_action (common_actions, X_("toggle-editor-mixer"), _("Toggle Editor+Mixer"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_editor_mixer));
ActionManager::register_toggle_action (common_actions, X_("toggle-meterbridge"), S_("Window|Meterbridge"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_meterbridge));
@@ -230,6 +231,9 @@ ARDOUR_UI::install_actions ()
act = ActionManager::register_action (transport_actions, X_("ToggleRoll"), _("Start/Stop"), sigc::bind (sigc::mem_fun (*this, &ARDOUR_UI::toggle_roll), false, false));
ActionManager::session_sensitive_actions.push_back (act);
ActionManager::transport_sensitive_actions.push_back (act);
+ act = ActionManager::register_action (transport_actions, X_("alternate-ToggleRoll"), _("Start/Stop"), sigc::bind (sigc::mem_fun (*this, &ARDOUR_UI::toggle_roll), false, false));
+ ActionManager::session_sensitive_actions.push_back (act);
+ ActionManager::transport_sensitive_actions.push_back (act);
act = ActionManager::register_action (transport_actions, X_("ToggleRollMaybe"), _("Start/Continue/Stop"), sigc::bind (sigc::mem_fun (*this, &ARDOUR_UI::toggle_roll), false, true));
ActionManager::session_sensitive_actions.push_back (act);
ActionManager::transport_sensitive_actions.push_back (act);
@@ -268,6 +272,10 @@ ARDOUR_UI::install_actions ()
ActionManager::session_sensitive_actions.push_back (act);
ActionManager::write_sensitive_actions.push_back (act);
ActionManager::transport_sensitive_actions.push_back (act);
+ act = ActionManager::register_action (transport_actions, X_("alternate-record-roll"), _("Start Recording"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::transport_record), true));
+ ActionManager::session_sensitive_actions.push_back (act);
+ ActionManager::write_sensitive_actions.push_back (act);
+ ActionManager::transport_sensitive_actions.push_back (act);
act = ActionManager::register_action (transport_actions, X_("Rewind"), _("Rewind"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::transport_rewind), 0));
ActionManager::session_sensitive_actions.push_back (act);
ActionManager::transport_sensitive_actions.push_back (act);
@@ -292,6 +300,9 @@ ARDOUR_UI::install_actions ()
act = ActionManager::register_action (transport_actions, X_("GotoStart"), _("Goto Start"), sigc::mem_fun(*this, &ARDOUR_UI::transport_goto_start));
ActionManager::session_sensitive_actions.push_back (act);
ActionManager::transport_sensitive_actions.push_back (act);
+ act = ActionManager::register_action (transport_actions, X_("alternate-GotoStart"), _("Goto Start"), sigc::mem_fun(*this, &ARDOUR_UI::transport_goto_start));
+ ActionManager::session_sensitive_actions.push_back (act);
+ ActionManager::transport_sensitive_actions.push_back (act);
act = ActionManager::register_action (transport_actions, X_("GotoEnd"), _("Goto End"), sigc::mem_fun(*this, &ARDOUR_UI::transport_goto_end));
ActionManager::session_sensitive_actions.push_back (act);
ActionManager::transport_sensitive_actions.push_back (act);
@@ -299,6 +310,41 @@ ARDOUR_UI::install_actions ()
ActionManager::session_sensitive_actions.push_back (act);
ActionManager::transport_sensitive_actions.push_back (act);
+ //these actions handle the numpad events, ProTools style
+ act = ActionManager::register_action (transport_actions, X_("numpad-decimal"), _("Numpad Decimal"), mem_fun(*this, &ARDOUR_UI::transport_numpad_decimal));
+ ActionManager::session_sensitive_actions.push_back (act);
+ ActionManager::transport_sensitive_actions.push_back (act);
+ act = ActionManager::register_action (transport_actions, X_("numpad-0"), _("Numpad 0"), bind (mem_fun(*this, &ARDOUR_UI::transport_numpad_event), 0));
+ ActionManager::session_sensitive_actions.push_back (act);
+ ActionManager::transport_sensitive_actions.push_back (act);
+ act = ActionManager::register_action (transport_actions, X_("numpad-1"), _("Numpad 1"), bind (mem_fun(*this, &ARDOUR_UI::transport_numpad_event), 1));
+ ActionManager::session_sensitive_actions.push_back (act);
+ ActionManager::transport_sensitive_actions.push_back (act);
+ act = ActionManager::register_action (transport_actions, X_("numpad-2"), _("Numpad 2"), bind (mem_fun(*this, &ARDOUR_UI::transport_numpad_event), 2));
+ ActionManager::session_sensitive_actions.push_back (act);
+ ActionManager::transport_sensitive_actions.push_back (act);
+ act = ActionManager::register_action (transport_actions, X_("numpad-3"), _("Numpad 3"), bind (mem_fun(*this, &ARDOUR_UI::transport_numpad_event), 3));
+ ActionManager::session_sensitive_actions.push_back (act);
+ ActionManager::transport_sensitive_actions.push_back (act);
+ act = ActionManager::register_action (transport_actions, X_("numpad-4"), _("Numpad 4"), bind (mem_fun(*this, &ARDOUR_UI::transport_numpad_event), 4));
+ ActionManager::session_sensitive_actions.push_back (act);
+ ActionManager::transport_sensitive_actions.push_back (act);
+ act = ActionManager::register_action (transport_actions, X_("numpad-5"), _("Numpad 5"), bind (mem_fun(*this, &ARDOUR_UI::transport_numpad_event), 5));
+ ActionManager::session_sensitive_actions.push_back (act);
+ ActionManager::transport_sensitive_actions.push_back (act);
+ act = ActionManager::register_action (transport_actions, X_("numpad-6"), _("Numpad 6"), bind (mem_fun(*this, &ARDOUR_UI::transport_numpad_event), 6));
+ ActionManager::session_sensitive_actions.push_back (act);
+ ActionManager::transport_sensitive_actions.push_back (act);
+ act = ActionManager::register_action (transport_actions, X_("numpad-7"), _("Numpad 7"), bind (mem_fun(*this, &ARDOUR_UI::transport_numpad_event), 7));
+ ActionManager::session_sensitive_actions.push_back (act);
+ ActionManager::transport_sensitive_actions.push_back (act);
+ act = ActionManager::register_action (transport_actions, X_("numpad-8"), _("Numpad 8"), bind (mem_fun(*this, &ARDOUR_UI::transport_numpad_event), 8));
+ ActionManager::session_sensitive_actions.push_back (act);
+ ActionManager::transport_sensitive_actions.push_back (act);
+ act = ActionManager::register_action (transport_actions, X_("numpad-9"), _("Numpad 9"), bind (mem_fun(*this, &ARDOUR_UI::transport_numpad_event), 9));
+ ActionManager::session_sensitive_actions.push_back (act);
+ ActionManager::transport_sensitive_actions.push_back (act);
+
act = ActionManager::register_action (transport_actions, X_("focus-on-clock"), _("Focus On Clock"), sigc::mem_fun(*this, &ARDOUR_UI::focus_on_clock));
ActionManager::session_sensitive_actions.push_back (act);
ActionManager::transport_sensitive_actions.push_back (act);
@@ -345,7 +391,7 @@ ARDOUR_UI::install_actions ()
act = ActionManager::register_toggle_action (transport_actions, X_("ToggleAutoReturn"), _("Auto Return"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_auto_return));
ActionManager::session_sensitive_actions.push_back (act);
ActionManager::transport_sensitive_actions.push_back (act);
- act = ActionManager::register_toggle_action (transport_actions, X_("ToggleFollowEdits"), _("Follow Edits"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_always_play_range));
+ act = ActionManager::register_toggle_action (transport_actions, X_("ToggleFollowEdits"), _("Follow Edits"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_follow_edits));
ActionManager::session_sensitive_actions.push_back (act);
ActionManager::transport_sensitive_actions.push_back (act);
@@ -586,6 +632,7 @@ ARDOUR_UI::save_ardour_state ()
Config->add_instant_xml (location_ui->ui().get_state ());
}
}
+ delete &enode;
Keyboard::save_keybindings ();
}
diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc
index 423b685bad..f0ec519775 100644
--- a/gtk2_ardour/ardour_ui_options.cc
+++ b/gtk2_ardour/ardour_ui_options.cc
@@ -29,6 +29,8 @@
#include "ardour/rc_configuration.h"
#include "ardour/session.h"
+#include "canvas/wave_view.h"
+
#include "audio_clock.h"
#include "ardour_ui.h"
#include "actions.h"
@@ -307,8 +309,6 @@ ARDOUR_UI::setup_session_options ()
void
ARDOUR_UI::parameter_changed (std::string p)
{
- ENSURE_GUI_THREAD (*this, &ARDOUR_UI::parameter_changed, p)
-
if (p == "external-sync") {
ActionManager::map_some_state ("Transport", "ToggleExternalSync", sigc::mem_fun (_session->config, &SessionConfiguration::get_external_sync));
@@ -326,9 +326,9 @@ ARDOUR_UI::parameter_changed (std::string p)
ActionManager::get_action ("Transport", "ToggleFollowEdits")->set_sensitive (false);
}
- } else if (p == "always-play-range") {
+ } else if (p == "follow-edits") {
- ActionManager::map_some_state ("Transport", "ToggleFollowEdits", &RCConfiguration::get_always_play_range);
+ ActionManager::map_some_state ("Transport", "ToggleFollowEdits", &RCConfiguration::get_follow_edits);
} else if (p == "send-mtc") {
@@ -364,15 +364,10 @@ ARDOUR_UI::parameter_changed (std::string p)
ActionManager::map_some_state ("Transport", "ToggleClick", &RCConfiguration::get_clicking);
} else if (p == "use-video-sync") {
ActionManager::map_some_state ("Transport", "ToggleVideoSync", sigc::mem_fun (_session->config, &SessionConfiguration::get_use_video_sync));
- } else if (p == "video-pullup" || p == "timecode-format") {
-
- synchronize_sync_source_and_video_pullup ();
- reset_main_clocks ();
- editor->queue_visual_videotimeline_update();
-
} else if (p == "sync-source") {
synchronize_sync_source_and_video_pullup ();
+ set_fps_timeout_connection ();
} else if (p == "show-track-meters") {
editor->toggle_meter_updating();
@@ -397,8 +392,12 @@ ARDOUR_UI::parameter_changed (std::string p)
secondary_clock->set_widget_name ("secondary");
}
} else if (p == "super-rapid-clock-update") {
- stop_clocking ();
- start_clocking ();
+ if (_session) {
+ stop_clocking ();
+ start_clocking ();
+ }
+ } else if (p == "waveform-gradient-depth") {
+ ArdourCanvas::WaveView::set_global_gradient_depth (config()->get_waveform_gradient_depth());
} else if (p == "show-editor-meter") {
bool show = Config->get_show_editor_meter();
@@ -415,6 +414,13 @@ ARDOUR_UI::parameter_changed (std::string p)
editor_meter_peak_display.show();
}
}
+ } else if (p == "waveform-scale") {
+ ArdourCanvas::WaveView::set_global_logscaled (Config->get_waveform_scale() == Logarithmic);
+ } else if (p == "waveform-shape") {
+ ArdourCanvas::WaveView::set_global_shape (Config->get_waveform_shape() == Rectified
+ ? ArdourCanvas::WaveView::Rectified : ArdourCanvas::WaveView::Normal);
+ } else if (p == "show-waveform-clipping") {
+ ArdourCanvas::WaveView::set_global_show_waveform_clipping (ARDOUR_UI::config()->get_show_waveform_clipping());
}
}
@@ -423,6 +429,21 @@ ARDOUR_UI::session_parameter_changed (std::string p)
{
if (p == "native-file-data-format" || p == "native-file-header-format") {
update_format ();
+ } else if (p == "timecode-format") {
+ set_fps_timeout_connection ();
+ } else if (p == "video-pullup" || p == "timecode-format") {
+ set_fps_timeout_connection ();
+
+ synchronize_sync_source_and_video_pullup ();
+ reset_main_clocks ();
+ editor->queue_visual_videotimeline_update();
+ } else if (p == "track-name-number") {
+ /* DisplaySuspender triggers _route->redisplay() when going out of scope
+ * which eventually calls reset_controls_layout_width() and re-sets the
+ * track-header width.
+ * see also RouteTimeAxisView::update_track_number_visibility()
+ */
+ DisplaySuspender ds;
}
}
diff --git a/gtk2_ardour/ardour_window.cc b/gtk2_ardour/ardour_window.cc
index ab9d72dd53..6b325aca85 100644
--- a/gtk2_ardour/ardour_window.cc
+++ b/gtk2_ardour/ardour_window.cc
@@ -30,6 +30,7 @@
using namespace std;
using namespace Gtk;
using namespace Gtkmm2ext;
+using namespace ARDOUR_UI_UTILS;
ArdourWindow::ArdourWindow (string title)
: Window ()
@@ -102,7 +103,7 @@ ArdourWindow::init ()
vice versa.
*/
- if (ARDOUR_UI::instance()->config()->all_floating_windows_are_dialogs.get()) {
+ if (ARDOUR_UI::instance()->config()->get_all_floating_windows_are_dialogs()) {
set_type_hint (Gdk::WINDOW_TYPE_HINT_DIALOG);
} else {
set_type_hint (Gdk::WINDOW_TYPE_HINT_UTILITY);
diff --git a/gtk2_ardour/armass b/gtk2_ardour/armass
new file mode 100755
index 0000000000..fa1c25548f
--- /dev/null
+++ b/gtk2_ardour/armass
@@ -0,0 +1,11 @@
+#!/bin/sh
+. `dirname "$0"`/../build/gtk2_ardour/ardev_common_waf.sh
+LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
+export ARDOUR_RUNNING_UNDER_VALGRIND=TRUE
+exec valgrind \
+ --tool=massif \
+ $TOP/$EXECUTABLE --novst "$@"
+
+# analyse output with
+# ms_print massif.out.<PID>
+# or check out https://projects.kde.org/projects/extragear/sdk/massif-visualizer
diff --git a/gtk2_ardour/arprof b/gtk2_ardour/arprof
new file mode 100755
index 0000000000..0d0f5f2fdc
--- /dev/null
+++ b/gtk2_ardour/arprof
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+# Ardour profiler using callgrind
+# intended for use with the 'Dummy' backend engine.
+#
+# inspect data with kcachegrind
+# see http://valgrind.org/docs/manual/cl-manual.html and
+# http://log.fundamental-code.com/2013/09/07/profiling-realtime-code
+
+. `dirname "$0"`/../build/gtk2_ardour/ardev_common_waf.sh
+LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
+export ARDOUR_RUNNING_UNDER_VALGRIND=TRUE
+
+
+# depending on options, there can be many files (one per thread,
+# one per process cycle,..) dump them in a dedicated place.
+mkdir -p /tmp/ardour_profile/
+
+## some options to drop in
+# --zero-before="ARDOUR::AudioEngine::process_callback*" \
+# --dump-after="ARDOUR::AudioEngine::process_callback*" \
+## and/or
+# --toggle-collect="ARDOUR::AudioEngine::process_callback*" \
+
+exec valgrind --tool=callgrind \
+ --dump-instr=yes --collect-jumps=yes\
+ --separate-threads=yes \
+ --collect-systime=yes --collect-bus=yes \
+ --callgrind-out-file=/tmp/ardour_profile/ardour-%p.log \
+ --toggle-collect="ARDOUR::AudioEngine::process_callback*" \
+ $TOP/$EXECUTABLE --novst "$@"
diff --git a/gtk2_ardour/au_pluginui.mm b/gtk2_ardour/au_pluginui.mm
index bbae272116..fc773f54ae 100644
--- a/gtk2_ardour/au_pluginui.mm
+++ b/gtk2_ardour/au_pluginui.mm
@@ -1,6 +1,9 @@
#undef Marker
#define Marker FuckYouAppleAndYourLackOfNameSpaces
+#include <gtkmm/button.h>
+#include <gdk/gdkquartz.h>
+
#include "pbd/convert.h"
#include "pbd/error.h"
@@ -10,9 +13,6 @@
#undef check // stupid gtk, stupid apple
-#include <gtkmm/button.h>
-#include <gdk/gdkquartz.h>
-
#include <gtkmm2ext/utils.h>
#include "au_pluginui.h"
@@ -34,7 +34,6 @@
using namespace ARDOUR;
using namespace Gtk;
using namespace Gtkmm2ext;
-using namespace sigc;
using namespace std;
using namespace PBD;
@@ -84,12 +83,12 @@ dump_view_tree (NSView* view, int depth)
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(cocoaParentActivationHandler:)
name:NSWindowDidBecomeMainNotification
- object:nil];
+ object:NULL];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(cocoaParentBecameKeyHandler:)
name:NSWindowDidBecomeKeyNotification
- object:nil];
+ object:NULL];
}
}
@@ -366,7 +365,7 @@ AUPluginUI::create_cocoa_view ()
DEBUG_TRACE (DEBUG::AudioUnits, string_compose ("tried to create bundle, result = %1\n", viewBundle));
- if (viewBundle == nil) {
+ if (viewBundle == NULL) {
error << _("AUPluginUI: error loading AU view's bundle") << endmsg;
return -1;
} else {
@@ -384,7 +383,7 @@ AUPluginUI::create_cocoa_view ()
}
// make a factory
id factory = [[[factoryClass alloc] init] autorelease];
- if (factory == nil) {
+ if (factory == NULL) {
error << _("AUPluginUI: Could not create an instance of the AU view factory") << endmsg;
return -1;
}
@@ -661,13 +660,13 @@ AUPluginUI::parent_cocoa_window ()
NSPoint origin = { 0, static_cast<CGFloat> (a.height) };
[au_view setFrameOrigin:origin];
- [view addSubview:au_view positioned:NSWindowBelow relativeTo:nil];
+ [view addSubview:au_view positioned:NSWindowBelow relativeTo:NULL];
last_au_frame = [au_view frame];
// watch for size changes of the view
- _notify = [ [NotificationObject alloc] initWithPluginUI:this andCocoaParent:nil andTopLevelParent:win ];
+ _notify = [ [NotificationObject alloc] initWithPluginUI:this andCocoaParent:NULL andTopLevelParent:win ];
[[NSNotificationCenter defaultCenter] addObserver:_notify
selector:@selector(auViewResized:) name:NSViewFrameDidChangeNotification
diff --git a/gtk2_ardour/audio_clock.cc b/gtk2_ardour/audio_clock.cc
index b24d22f1b9..dcd626d287 100644
--- a/gtk2_ardour/audio_clock.cc
+++ b/gtk2_ardour/audio_clock.cc
@@ -45,6 +45,7 @@
#include "i18n.h"
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtk;
using namespace std;
@@ -259,12 +260,14 @@ AudioClock::set_colors ()
r = lrint ((r/255.0) * 65535.0);
g = lrint ((g/255.0) * 65535.0);
b = lrint ((b/255.0) * 65535.0);
+ delete foreground_attr;
foreground_attr = new Pango::AttrColor (Pango::Attribute::create_attr_foreground (r, g, b));
UINT_TO_RGBA (editing_color, &r, &g, &b, &a);
r = lrint ((r/255.0) * 65535.0);
g = lrint ((g/255.0) * 65535.0);
b = lrint ((b/255.0) * 65535.0);
+ delete editing_attr;
editing_attr = new Pango::AttrColor (Pango::Attribute::create_attr_foreground (r, g, b));
normal_attributes.change (*foreground_attr);
@@ -282,7 +285,7 @@ AudioClock::set_colors ()
}
void
-AudioClock::render (cairo_t* cr)
+AudioClock::render (cairo_t* cr, cairo_rectangle_t*)
{
/* main layout: rounded rect, plus the text */
@@ -775,31 +778,31 @@ AudioClock::parse_as_timecode_distance (const std::string& str)
case 1:
case 2:
sscanf (str.c_str(), "%" PRId32, &frames);
- return lrint ((frames/(float)fps) * sr);
+ return llrint ((frames/(float)fps) * sr);
case 3:
sscanf (str.c_str(), "%1" PRId32 "%" PRId32, &secs, &frames);
- return (secs * sr) + lrint ((frames/(float)fps) * sr);
+ return (secs * sr) + llrint ((frames/(float)fps) * sr);
case 4:
sscanf (str.c_str(), "%2" PRId32 "%" PRId32, &secs, &frames);
- return (secs * sr) + lrint ((frames/(float)fps) * sr);
+ return (secs * sr) + llrint ((frames/(float)fps) * sr);
case 5:
sscanf (str.c_str(), "%1" PRId32 "%2" PRId32 "%" PRId32, &mins, &secs, &frames);
- return (mins * 60 * sr) + (secs * sr) + lrint ((frames/(float)fps) * sr);
+ return (mins * 60 * sr) + (secs * sr) + llrint ((frames/(float)fps) * sr);
case 6:
sscanf (str.c_str(), "%2" PRId32 "%2" PRId32 "%" PRId32, &mins, &secs, &frames);
- return (mins * 60 * sr) + (secs * sr) + lrint ((frames/(float)fps) * sr);
+ return (mins * 60 * sr) + (secs * sr) + llrint ((frames/(float)fps) * sr);
case 7:
sscanf (str.c_str(), "%1" PRId32 "%2" PRId32 "%2" PRId32 "%" PRId32, &hrs, &mins, &secs, &frames);
- return (hrs * 3600 * sr) + (mins * 60 * sr) + (secs * sr) + lrint ((frames/(float)fps) * sr);
+ return (hrs * 3600 * sr) + (mins * 60 * sr) + (secs * sr) + llrint ((frames/(float)fps) * sr);
case 8:
sscanf (str.c_str(), "%2" PRId32 "%2" PRId32 "%2" PRId32 "%" PRId32, &hrs, &mins, &secs, &frames);
- return (hrs * 3600 * sr) + (mins * 60 * sr) + (secs * sr) + lrint ((frames/(float)fps) * sr);
+ return (hrs * 3600 * sr) + (mins * 60 * sr) + (secs * sr) + llrint ((frames/(float)fps) * sr);
default:
break;
@@ -944,12 +947,24 @@ AudioClock::set (framepos_t when, bool force, framecnt_t offset)
}
if (when == last_when && !force) {
+#if 0 // XXX return if no change and no change forced. verify Aug/2014
if (_mode != Timecode && _mode != MinSec) {
/* may need to force display of TC source
* time, so don't return early.
*/
+ /* ^^ Why was that?, delta times?
+ * Timecode FPS, pull-up/down, etc changes
+ * trigger a 'session_property_changed' which
+ * eventually calls set(last_when, true)
+ *
+ * re-rendering the clock every 40ms or so just
+ * because we can is not ideal.
+ */
return;
}
+#else
+ return;
+#endif
}
if (!editing) {
@@ -1099,15 +1114,43 @@ AudioClock::set_frames (framepos_t when, bool /*force*/)
}
void
-AudioClock::set_minsec (framepos_t when, bool /*force*/)
+AudioClock::print_minsec (framepos_t when, char* buf, size_t bufsize, float frame_rate)
{
- char buf[32];
framecnt_t left;
int hrs;
int mins;
int secs;
int millisecs;
- bool negative = false;
+ bool negative;
+
+ if (when < 0) {
+ when = -when;
+ negative = true;
+ } else {
+ negative = false;
+ }
+
+ left = when;
+ hrs = (int) floor (left / (frame_rate * 60.0f * 60.0f));
+ left -= (framecnt_t) floor (hrs * frame_rate * 60.0f * 60.0f);
+ mins = (int) floor (left / (frame_rate * 60.0f));
+ left -= (framecnt_t) floor (mins * frame_rate * 60.0f);
+ secs = (int) floor (left / (float) frame_rate);
+ left -= (framecnt_t) floor ((double)(secs * frame_rate));
+ millisecs = floor (left * 1000.0 / (float) frame_rate);
+
+ if (negative) {
+ snprintf (buf, bufsize, "-%02" PRId32 ":%02" PRId32 ":%02" PRId32 ".%03" PRId32, hrs, mins, secs, millisecs);
+ } else {
+ snprintf (buf, bufsize, " %02" PRId32 ":%02" PRId32 ":%02" PRId32 ".%03" PRId32, hrs, mins, secs, millisecs);
+ }
+
+}
+
+void
+AudioClock::set_minsec (framepos_t when, bool /*force*/)
+{
+ char buf[32];
if (_off) {
_layout->set_text (" --:--:--.---");
@@ -1120,25 +1163,7 @@ AudioClock::set_minsec (framepos_t when, bool /*force*/)
return;
}
- if (when < 0) {
- when = -when;
- negative = true;
- }
-
- left = when;
- hrs = (int) floor (left / (_session->frame_rate() * 60.0f * 60.0f));
- left -= (framecnt_t) floor (hrs * _session->frame_rate() * 60.0f * 60.0f);
- mins = (int) floor (left / (_session->frame_rate() * 60.0f));
- left -= (framecnt_t) floor (mins * _session->frame_rate() * 60.0f);
- secs = (int) floor (left / (float) _session->frame_rate());
- left -= (framecnt_t) floor (secs * _session->frame_rate());
- millisecs = floor (left * 1000.0 / (float) _session->frame_rate());
-
- if (negative) {
- snprintf (buf, sizeof (buf), "-%02" PRId32 ":%02" PRId32 ":%02" PRId32 ".%03" PRId32, hrs, mins, secs, millisecs);
- } else {
- snprintf (buf, sizeof (buf), " %02" PRId32 ":%02" PRId32 ":%02" PRId32 ".%03" PRId32, hrs, mins, secs, millisecs);
- }
+ print_minsec (when, buf, sizeof (buf), _session->frame_rate());
_layout->set_text (buf);
set_slave_info();
@@ -1742,7 +1767,7 @@ AudioClock::on_motion_notify_event (GdkEventMotion *ev)
drag_y = ev->y;
- if (trunc (drag_accum) != 0) {
+ if (floor (drag_accum) != 0) {
framepos_t frames;
framepos_t pos;
diff --git a/gtk2_ardour/audio_clock.h b/gtk2_ardour/audio_clock.h
index 96cde6ea81..bd25a9afda 100644
--- a/gtk2_ardour/audio_clock.h
+++ b/gtk2_ardour/audio_clock.h
@@ -77,6 +77,8 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
void set_session (ARDOUR::Session *s);
void set_negative_allowed (bool yn);
+ static void print_minsec (framepos_t, char* buf, size_t bufsize, float frame_rate);
+
sigc::signal<void> ValueChanged;
sigc::signal<void> mode_changed;
sigc::signal<void> ChangeAborted;
@@ -85,7 +87,7 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
static std::vector<AudioClock*> clocks;
protected:
- void render (cairo_t*);
+ void render (cairo_t*, cairo_rectangle_t*);
virtual void build_ops_menu ();
Gtk::Menu *ops_menu;
diff --git a/gtk2_ardour/audio_region_editor.cc b/gtk2_ardour/audio_region_editor.cc
index 2aeb2dbe60..2041d20335 100644
--- a/gtk2_ardour/audio_region_editor.cc
+++ b/gtk2_ardour/audio_region_editor.cc
@@ -32,7 +32,6 @@
#include "audio_region_editor.h"
#include "audio_region_view.h"
#include "ardour_ui.h"
-#include "utils.h"
#include "gui_thread.h"
#include "i18n.h"
@@ -54,7 +53,9 @@ AudioRegionEditor::AudioRegionEditor (Session* s, boost::shared_ptr<AudioRegion>
: RegionEditor (s, r)
, _audio_region (r)
, gain_adjustment(accurate_coefficient_to_dB(_audio_region->scale_amplitude()), -40.0, +40.0, 0.1, 1.0, 0)
+#ifndef PLATFORM_WINDOWS
, _peak_channel (false)
+#endif
{
Gtk::HBox* b = Gtk::manage (new Gtk::HBox);
@@ -91,7 +92,7 @@ AudioRegionEditor::AudioRegionEditor (Session* s, boost::shared_ptr<AudioRegion>
PeakAmplitudeFound.connect (_peak_amplitude_connection, invalidator (*this), boost::bind (&AudioRegionEditor::peak_amplitude_found, this, _1), gui_context ());
pthread_create_and_store (X_("peak-amplitude"), &_peak_amplitude_thread_handle, _peak_amplitude_thread, this);
- _peak_channel.deliver ('c');
+ signal_peak_thread ();
}
AudioRegionEditor::~AudioRegionEditor ()
@@ -112,7 +113,7 @@ AudioRegionEditor::region_changed (const PBD::PropertyChange& what_changed)
if (what_changed.contains (ARDOUR::Properties::start) || what_changed.contains (ARDOUR::Properties::length)) {
/* ask the peak thread to run again */
- _peak_channel.deliver ('c');
+ signal_peak_thread ();
}
}
void
@@ -134,12 +135,32 @@ AudioRegionEditor::gain_adjustment_changed ()
}
void
+AudioRegionEditor::signal_peak_thread ()
+{
+#ifdef PLATFORM_WINDOWS
+ m_peak_sem.post ();
+#else
+ _peak_channel.deliver ('c');
+#endif
+}
+
+void
+AudioRegionEditor::wait_for_signal ()
+{
+#ifdef PLATFORM_WINDOWS
+ m_peak_sem.wait ();
+#else
+ char msg;
+ _peak_channel.receive (msg);
+#endif
+}
+
+void
AudioRegionEditor::peak_amplitude_thread ()
{
while (1) {
/* await instructions to run */
- char msg;
- _peak_channel.receive (msg);
+ wait_for_signal ();
/* compute peak amplitude and signal the fact */
PeakAmplitudeFound (accurate_coefficient_to_dB (_audio_region->maximum_amplitude ())); /* EMIT SIGNAL */
diff --git a/gtk2_ardour/audio_region_editor.h b/gtk2_ardour/audio_region_editor.h
index dd65a3fb31..3fdecc1837 100644
--- a/gtk2_ardour/audio_region_editor.h
+++ b/gtk2_ardour/audio_region_editor.h
@@ -34,10 +34,13 @@
#include <gtkmm/separator.h>
#include <gtkmm/spinbutton.h>
-#include <libgnomecanvas/libgnomecanvas.h>
#include "pbd/signals.h"
+#ifdef PLATFORM_WINDOWS
+#include "pbd/glib_semaphore.h"
+#else
#include "pbd/crossthread.h"
+#endif
#include "audio_clock.h"
#include "ardour_dialog.h"
@@ -74,11 +77,17 @@ class AudioRegionEditor : public RegionEditor
Gtk::Label _peak_amplitude_label;
Gtk::Entry _peak_amplitude;
+ void signal_peak_thread ();
+ void wait_for_signal ();
pthread_t _peak_amplitude_thread_handle;
void peak_amplitude_found (double);
PBD::Signal1<void, double> PeakAmplitudeFound;
PBD::ScopedConnection _peak_amplitude_connection;
+#ifdef PLATFORM_WINDOWS
+ PBD::GlibSemaphore m_peak_sem;
+#else
CrossThreadChannel _peak_channel;
+#endif
};
#endif /* __gtk_ardour_audio_region_edit_h__ */
diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc
index a42d5a0105..da6aeff7bf 100644
--- a/gtk2_ardour/audio_region_view.cc
+++ b/gtk2_ardour/audio_region_view.cc
@@ -19,6 +19,7 @@
#include <cmath>
#include <cassert>
#include <algorithm>
+#include <vector>
#include <boost/scoped_array.hpp>
@@ -37,12 +38,18 @@
#include "evoral/Curve.hpp"
+#include "canvas/rectangle.h"
+#include "canvas/polygon.h"
+#include "canvas/poly_line.h"
+#include "canvas/line.h"
+#include "canvas/text.h"
+#include "canvas/xfade_curve.h"
+#include "canvas/debug.h"
+#include "canvas/utils.h"
+
#include "streamview.h"
#include "audio_region_view.h"
#include "audio_time_axis.h"
-#include "simplerect.h"
-#include "simpleline.h"
-#include "waveview.h"
#include "public_editor.h"
#include "audio_region_editor.h"
#include "audio_streamview.h"
@@ -50,14 +57,13 @@
#include "control_point.h"
#include "ghostregion.h"
#include "audio_time_axis.h"
-#include "utils.h"
#include "rgb_macros.h"
#include "gui_thread.h"
#include "ardour_ui.h"
#include "i18n.h"
-#define MUTED_ALPHA 10
+#define MUTED_ALPHA 48
using namespace std;
using namespace ARDOUR;
@@ -66,114 +72,111 @@ using namespace Editing;
using namespace ArdourCanvas;
static const int32_t sync_mark_width = 9;
-static double const handle_size = 6; /* height of fade handles */
+static double const handle_size = 10; /* height of fade handles */
-AudioRegionView::AudioRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &tv, boost::shared_ptr<AudioRegion> r, double spu,
- Gdk::Color const & basic_color)
+AudioRegionView::AudioRegionView (ArdourCanvas::Container *parent, RouteTimeAxisView &tv, boost::shared_ptr<AudioRegion> r, double spu,
+ uint32_t basic_color)
: RegionView (parent, tv, r, spu, basic_color)
, sync_mark(0)
- , fade_in_shape(0)
- , fade_out_shape(0)
, fade_in_handle(0)
, fade_out_handle(0)
- , start_xfade_in (0)
- , start_xfade_out (0)
+ , fade_in_trim_handle(0)
+ , fade_out_trim_handle(0)
+ , start_xfade_curve (0)
, start_xfade_rect (0)
, _start_xfade_visible (false)
- , end_xfade_in (0)
- , end_xfade_out (0)
+ , end_xfade_curve (0)
, end_xfade_rect (0)
, _end_xfade_visible (false)
, _amplitude_above_axis(1.0)
- , fade_color(0)
+ , trim_fade_in_drag_active(false)
+ , trim_fade_out_drag_active(false)
{
Config->ParameterChanged.connect (*this, invalidator (*this), boost::bind (&AudioRegionView::parameter_changed, this, _1), gui_context());
}
-AudioRegionView::AudioRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &tv, boost::shared_ptr<AudioRegion> r, double spu,
- Gdk::Color const & basic_color, bool recording, TimeAxisViewItem::Visibility visibility)
+AudioRegionView::AudioRegionView (ArdourCanvas::Container *parent, RouteTimeAxisView &tv, boost::shared_ptr<AudioRegion> r, double spu,
+ uint32_t basic_color, bool recording, TimeAxisViewItem::Visibility visibility)
: RegionView (parent, tv, r, spu, basic_color, recording, visibility)
, sync_mark(0)
- , fade_in_shape(0)
- , fade_out_shape(0)
, fade_in_handle(0)
, fade_out_handle(0)
- , start_xfade_in (0)
- , start_xfade_out (0)
+ , fade_in_trim_handle(0)
+ , fade_out_trim_handle(0)
+ , start_xfade_curve (0)
, start_xfade_rect (0)
, _start_xfade_visible (false)
- , end_xfade_in (0)
- , end_xfade_out (0)
+ , end_xfade_curve (0)
, end_xfade_rect (0)
, _end_xfade_visible (false)
, _amplitude_above_axis(1.0)
- , fade_color(0)
+ , trim_fade_in_drag_active(false)
+ , trim_fade_out_drag_active(false)
{
Config->ParameterChanged.connect (*this, invalidator (*this), boost::bind (&AudioRegionView::parameter_changed, this, _1), gui_context());
}
AudioRegionView::AudioRegionView (const AudioRegionView& other, boost::shared_ptr<AudioRegion> other_region)
: RegionView (other, boost::shared_ptr<Region> (other_region))
- , fade_in_shape(0)
- , fade_out_shape(0)
, fade_in_handle(0)
, fade_out_handle(0)
- , start_xfade_in (0)
- , start_xfade_out (0)
+ , fade_in_trim_handle(0)
+ , fade_out_trim_handle(0)
+ , start_xfade_curve (0)
, start_xfade_rect (0)
, _start_xfade_visible (false)
- , end_xfade_in (0)
- , end_xfade_out (0)
+ , end_xfade_curve (0)
, end_xfade_rect (0)
, _end_xfade_visible (false)
, _amplitude_above_axis (other._amplitude_above_axis)
- , fade_color(0)
+ , trim_fade_in_drag_active(false)
+ , trim_fade_out_drag_active(false)
{
- Gdk::Color c;
- int r,g,b,a;
-
- UINT_TO_RGBA (other.fill_color, &r, &g, &b, &a);
- c.set_rgb_p (r/255.0, g/255.0, b/255.0);
-
- init (c, true);
+ init (true);
Config->ParameterChanged.connect (*this, invalidator (*this), boost::bind (&AudioRegionView::parameter_changed, this, _1), gui_context());
}
void
-AudioRegionView::init (Gdk::Color const & basic_color, bool wfd)
+AudioRegionView::init (bool wfd)
{
// FIXME: Some redundancy here with RegionView::init. Need to figure out
// where order is important and where it isn't...
- RegionView::init (basic_color, wfd);
+ RegionView::init (wfd);
_amplitude_above_axis = 1.0;
- compute_colors (basic_color);
-
create_waves ();
- fade_in_shape = new ArdourCanvas::Polygon (*group);
- fade_in_shape->property_fill_color_rgba() = fade_color;
- fade_in_shape->set_data ("regionview", this);
-
- fade_out_shape = new ArdourCanvas::Polygon (*group);
- fade_out_shape->property_fill_color_rgba() = fade_color;
- fade_out_shape->set_data ("regionview", this);
-
if (!_recregion) {
- fade_in_handle = new ArdourCanvas::SimpleRect (*group);
- fade_in_handle->property_fill_color_rgba() = UINT_RGBA_CHANGE_A (fill_color, 0);
- fade_in_handle->property_outline_color_rgba() = RGBA_TO_UINT (0, 0, 0, 0);
-
+ fade_in_handle = new ArdourCanvas::Rectangle (group);
+ CANVAS_DEBUG_NAME (fade_in_handle, string_compose ("fade in handle for %1", region()->name()));
+ fade_in_handle->set_outline_color (ArdourCanvas::rgba_to_color (0, 0, 0, 1.0));
+ fade_in_handle->set_fill_color (ARDOUR_UI::config()->get_canvasvar_InactiveFadeHandle());
fade_in_handle->set_data ("regionview", this);
+ fade_in_handle->hide ();
- fade_out_handle = new ArdourCanvas::SimpleRect (*group);
- fade_out_handle->property_fill_color_rgba() = UINT_RGBA_CHANGE_A (fill_color, 0);
- fade_out_handle->property_outline_color_rgba() = RGBA_TO_UINT (0, 0, 0, 0);
-
+ fade_out_handle = new ArdourCanvas::Rectangle (group);
+ CANVAS_DEBUG_NAME (fade_out_handle, string_compose ("fade out handle for %1", region()->name()));
+ fade_out_handle->set_outline_color (ArdourCanvas::rgba_to_color (0, 0, 0, 1.0));
+ fade_out_handle->set_fill_color (ARDOUR_UI::config()->get_canvasvar_InactiveFadeHandle());
fade_out_handle->set_data ("regionview", this);
+ fade_out_handle->hide ();
+
+ fade_in_trim_handle = new ArdourCanvas::Rectangle (group);
+ CANVAS_DEBUG_NAME (fade_in_handle, string_compose ("fade in trim handle for %1", region()->name()));
+ fade_in_trim_handle->set_outline_color (ArdourCanvas::rgba_to_color (0, 0, 0, 1.0));
+ fade_in_trim_handle->set_fill_color (ARDOUR_UI::config()->get_canvasvar_InactiveFadeHandle());
+ fade_in_trim_handle->set_data ("regionview", this);
+ fade_in_trim_handle->hide ();
+
+ fade_out_trim_handle = new ArdourCanvas::Rectangle (group);
+ CANVAS_DEBUG_NAME (fade_out_handle, string_compose ("fade out trim handle for %1", region()->name()));
+ fade_out_trim_handle->set_outline_color (ArdourCanvas::rgba_to_color (0, 0, 0, 1.0));
+ fade_out_trim_handle->set_fill_color (ARDOUR_UI::config()->get_canvasvar_InactiveFadeHandle());
+ fade_out_trim_handle->set_data ("regionview", this);
+ fade_out_trim_handle->hide ();
}
setup_fade_handle_positions ();
@@ -197,7 +200,11 @@ AudioRegionView::init (Gdk::Color const & basic_color, bool wfd)
region_sync_changed ();
region_resized (ARDOUR::bounds_change);
- set_waveview_data_src();
+
+ for (vector<GhostRegion*>::iterator i = ghosts.begin(); i != ghosts.end(); ++i) {
+ (*i)->set_duration (_region->length() / samples_per_pixel);
+ }
+
region_locked ();
envelope_active_changed ();
fade_in_active_changed ();
@@ -205,22 +212,32 @@ AudioRegionView::init (Gdk::Color const & basic_color, bool wfd)
reset_width_dependent_items (_pixel_width);
- fade_in_shape->signal_event().connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_fade_in_event), fade_in_shape, this));
if (fade_in_handle) {
- fade_in_handle->signal_event().connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_fade_in_handle_event), fade_in_handle, this));
+ fade_in_handle->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_fade_in_handle_event), fade_in_handle, this, false));
}
- fade_out_shape->signal_event().connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_fade_out_event), fade_out_shape, this));
-
if (fade_out_handle) {
- fade_out_handle->signal_event().connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_fade_out_handle_event), fade_out_handle, this));
+ fade_out_handle->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_fade_out_handle_event), fade_out_handle, this, false));
+ }
+
+ if (fade_in_trim_handle) {
+ fade_in_trim_handle->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_fade_in_handle_event), fade_in_trim_handle, this, true));
+ }
+
+ if (fade_out_trim_handle) {
+ fade_out_trim_handle->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_fade_out_handle_event), fade_out_trim_handle, this, true));
}
set_colors ();
setup_waveform_visibility ();
- setup_waveform_shape ();
- setup_waveform_scale ();
+
+ if (frame_handle_start) {
+ frame_handle_start->raise_to_top ();
+ }
+ if (frame_handle_end) {
+ frame_handle_end->raise_to_top ();
+ }
/* XXX sync mark drag? */
}
@@ -231,10 +248,6 @@ AudioRegionView::~AudioRegionView ()
RegionViewGoingAway (this); /* EMIT_SIGNAL */
- for (vector<GnomeCanvasWaveViewCache *>::iterator cache = wave_caches.begin(); cache != wave_caches.end() ; ++cache) {
- gnome_canvas_waveview_cache_destroy (*cache);
- }
-
for (vector<ScopedConnection*>::iterator i = _data_ready_connections.begin(); i != _data_ready_connections.end(); ++i) {
delete *i;
}
@@ -298,24 +311,26 @@ AudioRegionView::fade_out_changed ()
void
AudioRegionView::fade_in_active_changed ()
{
- if (audio_region()->fade_in_active()) {
- fade_in_shape->property_fill_color_rgba() = RGBA_TO_UINT(45,45,45,90); // FIXME make a themeable colour
- fade_in_shape->property_width_pixels() = 1;
- } else {
- fade_in_shape->property_fill_color_rgba() = RGBA_TO_UINT(45,45,45,20); // FIXME make a themeable colour
- fade_in_shape->property_width_pixels() = 1;
+ if (start_xfade_rect) {
+ if (audio_region()->fade_in_active()) {
+ start_xfade_rect->set_fill (false);
+ } else {
+ start_xfade_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_InactiveCrossfade());
+ start_xfade_rect->set_fill (true);
+ }
}
}
void
AudioRegionView::fade_out_active_changed ()
{
- if (audio_region()->fade_out_active()) {
- fade_out_shape->property_fill_color_rgba() = RGBA_TO_UINT(45,45,45,90); // FIXME make a themeable colour
- fade_out_shape->property_width_pixels() = 1;
- } else {
- fade_out_shape->property_fill_color_rgba() = RGBA_TO_UINT(45,45,45,20); // FIXME make a themeable colour
- fade_out_shape->property_width_pixels() = 1;
+ if (end_xfade_rect) {
+ if (audio_region()->fade_out_active()) {
+ end_xfade_rect->set_fill (false);
+ } else {
+ end_xfade_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_InactiveCrossfade());
+ end_xfade_rect->set_fill (true);
+ }
}
}
@@ -323,11 +338,8 @@ AudioRegionView::fade_out_active_changed ()
void
AudioRegionView::region_scale_amplitude_changed ()
{
- ENSURE_GUI_THREAD (*this, &AudioRegionView::region_scale_amplitude_changed)
-
for (uint32_t n = 0; n < waves.size(); ++n) {
- // force a reload of the cache
- waves[n]->property_data_src() = _region.get();
+ waves[n]->gain_changed ();
}
}
@@ -360,16 +372,16 @@ AudioRegionView::region_resized (const PropertyChange& what_changed)
interesting_stuff.add (ARDOUR::Properties::length);
if (what_changed.contains (interesting_stuff)) {
-
+
for (uint32_t n = 0; n < waves.size(); ++n) {
- waves[n]->property_region_start() = _region->start();
+ waves[n]->region_resized ();
}
for (vector<GhostRegion*>::iterator i = ghosts.begin(); i != ghosts.end(); ++i) {
if ((agr = dynamic_cast<AudioGhostRegion*>(*i)) != 0) {
for (vector<WaveView*>::iterator w = agr->waves.begin(); w != agr->waves.end(); ++w) {
- (*w)->property_region_start() = _region->start();
+ (*w)->region_resized ();
}
}
}
@@ -394,15 +406,13 @@ AudioRegionView::reset_width_dependent_items (double pixel_width)
RegionView::reset_width_dependent_items(pixel_width);
assert(_pixel_width == pixel_width);
- if (fade_in_handle) {
- if (pixel_width <= 6.0 || _height < 5.0 || !trackview.session()->config.get_show_region_fades()) {
- fade_in_handle->hide();
- fade_out_handle->hide();
- }
- else {
- fade_in_handle->show();
- fade_out_handle->show();
- }
+ if (pixel_width <= 20.0 || _height < 5.0 || !trackview.session()->config.get_show_region_fades()) {
+ if (fade_in_handle) { fade_in_handle->hide(); }
+ if (fade_out_handle) { fade_out_handle->hide(); }
+ if (fade_in_trim_handle) { fade_in_trim_handle->hide(); }
+ if (fade_out_trim_handle) { fade_out_trim_handle->hide(); }
+ if (start_xfade_rect) { start_xfade_rect->set_outline (false); }
+ if (end_xfade_rect) { end_xfade_rect->set_outline (false); }
}
AnalysisFeatureList analysis_features = _region->transients();
@@ -412,14 +422,15 @@ AudioRegionView::reset_width_dependent_items (double pixel_width)
for (i = analysis_features.begin(), l = feature_lines.begin(); i != analysis_features.end() && l != feature_lines.end(); ++i, ++l) {
- float x_pos = trackview.editor().frame_to_pixel (*i);
+ float x_pos = trackview.editor().sample_to_pixel (*i);
- ArdourCanvas::Points points;
- points.push_back(Gnome::Art::Point(x_pos, 2.0)); // first x-coord needs to be a non-normal value
- points.push_back(Gnome::Art::Point(x_pos, _height - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 1));
+ (*l).second->set (ArdourCanvas::Duple (x_pos, 2.0),
+ ArdourCanvas::Duple (x_pos, _height - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 1));
(*l).first = *i;
- (*l).second->property_points() = points;
+
+ (*l).second->set (ArdourCanvas::Duple (x_pos, 2.0),
+ ArdourCanvas::Duple (x_pos, _height - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 1));
}
reset_fade_shapes ();
@@ -429,30 +440,33 @@ void
AudioRegionView::region_muted ()
{
RegionView::region_muted();
-
- for (uint32_t n=0; n < waves.size(); ++n) {
- if (_region->muted()) {
- waves[n]->property_wave_color() = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_WaveForm.get(), MUTED_ALPHA);
- } else {
- waves[n]->property_wave_color() = ARDOUR_UI::config()->canvasvar_WaveForm.get();
- }
- }
+ set_waveform_colors ();
}
void
AudioRegionView::setup_fade_handle_positions()
{
/* position of fade handle offset from the top of the region view */
- double const handle_pos = 2;
+ double const handle_pos = 0.0;
if (fade_in_handle) {
- fade_in_handle->property_y1() = handle_pos;
- fade_in_handle->property_y2() = handle_pos + handle_size;
+ fade_in_handle->set_y0 (handle_pos);
+ fade_in_handle->set_y1 (handle_pos + handle_size);
}
if (fade_out_handle) {
- fade_out_handle->property_y1() = handle_pos;
- fade_out_handle->property_y2() = handle_pos + handle_size;
+ fade_out_handle->set_y0 (handle_pos);
+ fade_out_handle->set_y1 (handle_pos + handle_size);
+ }
+
+ if (fade_in_trim_handle) {
+ fade_in_trim_handle->set_y0 (_height - handle_size);
+ fade_in_trim_handle->set_y1 (_height);
+ }
+
+ if (fade_out_trim_handle) {
+ fade_out_trim_handle->set_y0 (_height - handle_size );
+ fade_out_trim_handle->set_y1 (_height);
}
}
@@ -474,8 +488,8 @@ AudioRegionView::set_height (gdouble height)
gdouble yoff = n * (ht + 1);
- waves[n]->property_height() = ht;
- waves[n]->property_y() = yoff + 2;
+ waves[n]->set_height (ht);
+ waves[n]->set_y_position (yoff + 2);
}
if (gain_line) {
@@ -496,26 +510,29 @@ AudioRegionView::set_height (gdouble height)
for (l = feature_lines.begin(); l != feature_lines.end(); ++l) {
- float pos_x = trackview.editor().frame_to_pixel((*l).first);
+ float pos_x = trackview.editor().sample_to_pixel((*l).first);
- ArdourCanvas::Points points;
-
- points.push_back(Gnome::Art::Point(pos_x, 2.0)); // first x-coord needs to be a non-normal value
- points.push_back(Gnome::Art::Point(pos_x, _height - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 1));
-
- (*l).second->property_points() = points;
+ if (height >= NAME_HIGHLIGHT_THRESH) {
+ (*l).second->set (ArdourCanvas::Duple (pos_x, 2.0),
+ ArdourCanvas::Duple (pos_x, _height - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 1));
+ } else {
+ (*l).second->set (ArdourCanvas::Duple (pos_x, 2.0),
+ ArdourCanvas::Duple (pos_x, _height - 1));
+ }
}
- if (name_pixbuf) {
- name_pixbuf->raise_to_top();
+ if (name_text) {
+ name_text->raise_to_top();
}
+
+ setup_fade_handle_positions();
}
void
AudioRegionView::reset_fade_shapes ()
{
- reset_fade_in_shape ();
- reset_fade_out_shape ();
+ if (!trim_fade_in_drag_active) { reset_fade_in_shape (); }
+ if (!trim_fade_out_drag_active) { reset_fade_out_shape (); }
}
void
@@ -525,84 +542,76 @@ AudioRegionView::reset_fade_in_shape ()
}
void
-AudioRegionView::reset_fade_in_shape_width (boost::shared_ptr<AudioRegion> ar, framecnt_t width)
+AudioRegionView::reset_fade_in_shape_width (boost::shared_ptr<AudioRegion> ar, framecnt_t width, bool drag_active)
{
+ trim_fade_in_drag_active = drag_active;
if (fade_in_handle == 0) {
return;
}
- fade_in_handle->show ();
-
/* smallest size for a fade is 64 frames */
width = std::max ((framecnt_t) 64, width);
- Points* points;
-
/* round here to prevent little visual glitches with sub-pixel placement */
- double const pwidth = rint (width / samples_per_unit);
- uint32_t npoints = std::min (gdk_screen_width(), (int) pwidth);
- double h;
-
- double const handle_center = pwidth;
+ double const pwidth = rint (width / samples_per_pixel);
+ double const handle_left = pwidth;
/* Put the fade in handle so that its left side is at the end-of-fade line */
- fade_in_handle->property_x1() = handle_center;
- fade_in_handle->property_x2() = handle_center + handle_size;
+ fade_in_handle->set_x0 (handle_left);
+ fade_in_handle->set_x1 (handle_left + handle_size);
+
+ if (fade_in_trim_handle) {
+ fade_in_trim_handle->set_x0 (0);
+ fade_in_trim_handle->set_x1 (handle_size);
+ }
+
+ if (fade_in_handle->visible()) {
+ //see comment for drag_start
+ entered(false);
+ }
if (pwidth < 5) {
hide_start_xfade();
- fade_in_shape->hide();
return;
}
- if (trackview.session()->config.get_show_region_fades()) {
- fade_in_shape->show();
+ if (!trackview.session()->config.get_show_region_fades()) {
+ hide_start_xfade ();
+ return;
}
-
- float curve[npoints];
- audio_region()->fade_in()->curve().get_vector (0, audio_region()->fade_in()->back()->when, curve, npoints);
-
- points = get_canvas_points ("fade in shape", npoints + 3);
+
+ double effective_height;
if (_height >= NAME_HIGHLIGHT_THRESH) {
- h = _height - NAME_HIGHLIGHT_SIZE - 2;
+ effective_height = _height - NAME_HIGHLIGHT_SIZE;
} else {
- h = _height - 2;
+ effective_height = _height;
}
/* points *MUST* be in anti-clockwise order */
- uint32_t pi, pc;
- double xdelta = pwidth/npoints;
-
- for (pi = 0, pc = 0; pc < npoints; ++pc) {
- (*points)[pi].set_x(1 + (pc * xdelta));
- (*points)[pi++].set_y(2 + (h - (curve[pc] * h)));
- }
-
- /* fold back */
-
- (*points)[pi].set_x(pwidth);
- (*points)[pi++].set_y(2);
-
- (*points)[pi].set_x(1);
- (*points)[pi++].set_y(2);
+ Points points;
+ Points::size_type pi;
+ boost::shared_ptr<const Evoral::ControlList> list (audio_region()->fade_in());
+ Evoral::ControlList::const_iterator x;
+ double length = list->length();
- /* connect the dots ... */
+ points.assign (list->size(), Duple());
- (*points)[pi] = (*points)[0];
+ for (x = list->begin(), pi = 0; x != list->end(); ++x, ++pi) {
+ points[pi].x = 1.0 + (pwidth * ((*x)->when/length));
+ points[pi].y = effective_height - ((*x)->value * effective_height);
+ }
- fade_in_shape->property_points() = *points;
- delete points;
+ /* draw the line */
- redraw_start_xfade_to ( ar, width);
+ redraw_start_xfade_to (ar, width, points, effective_height, handle_left);
/* ensure trim handle stays on top */
if (frame_handle_start) {
frame_handle_start->raise_to_top();
}
-
}
void
@@ -612,88 +621,82 @@ AudioRegionView::reset_fade_out_shape ()
}
void
-AudioRegionView::reset_fade_out_shape_width (boost::shared_ptr<AudioRegion> ar, framecnt_t width)
+AudioRegionView::reset_fade_out_shape_width (boost::shared_ptr<AudioRegion> ar, framecnt_t width, bool drag_active)
{
+ trim_fade_out_drag_active = drag_active;
if (fade_out_handle == 0) {
return;
}
- fade_out_handle->show ();
-
/* smallest size for a fade is 64 frames */
width = std::max ((framecnt_t) 64, width);
- Points* points;
+ double const pwidth = rint(trackview.editor().sample_to_pixel (width));
- /* round here to prevent little visual glitches with sub-pixel placement */
- double const pwidth = rint (width / samples_per_unit);
- uint32_t npoints = std::min (gdk_screen_width(), (int) pwidth);
- double h;
+ /* the right edge should be right on the region frame is the pixel
+ * width is zero. Hence the additional + 1.0 at the end.
+ */
- double const handle_center = (_region->length() - width) / samples_per_unit;
+ double const handle_right = rint(trackview.editor().sample_to_pixel (_region->length()) + TimeAxisViewItem::RIGHT_EDGE_SHIFT - pwidth);
+ double const trim_handle_right = rint(trackview.editor().sample_to_pixel (_region->length()) + TimeAxisViewItem::RIGHT_EDGE_SHIFT);
/* Put the fade out handle so that its right side is at the end-of-fade line;
- * it's `one out' for precise pixel accuracy.
*/
- fade_out_handle->property_x1() = handle_center - 5;
- fade_out_handle->property_x2() = handle_center + 1;
+ fade_out_handle->set_x0 (1 + handle_right - handle_size);
+ fade_out_handle->set_x1 (1 + handle_right);
+ if (fade_out_trim_handle) {
+ fade_out_trim_handle->set_x0 (1 + trim_handle_right - handle_size);
+ fade_out_trim_handle->set_x1 (1 + trim_handle_right);
+ }
+ if (fade_out_handle->visible()) {
+ //see comment for drag_start
+ entered(false);
+ }
/* don't show shape if its too small */
if (pwidth < 5) {
hide_end_xfade();
- fade_out_shape->hide();
return;
}
- if (trackview.session()->config.get_show_region_fades()) {
- fade_out_shape->show();
+ if (!trackview.session()->config.get_show_region_fades()) {
+ hide_end_xfade();
+ return;
}
- float curve[npoints];
- audio_region()->fade_out()->curve().get_vector (0, audio_region()->fade_out()->back()->when, curve, npoints);
+ double effective_height;
if (_height >= NAME_HIGHLIGHT_THRESH) {
- h = _height - NAME_HIGHLIGHT_SIZE - 2;
+ effective_height = _height - NAME_HIGHLIGHT_SIZE;
} else {
- h = _height - 2;
+ effective_height = _height;
}
/* points *MUST* be in anti-clockwise order */
+
+ Points points;
+ Points::size_type pi;
+ boost::shared_ptr<const Evoral::ControlList> list (audio_region()->fade_out());
+ Evoral::ControlList::const_iterator x;
+ double length = list->length();
- points = get_canvas_points ("fade out shape", npoints + 3);
-
- uint32_t pi, pc;
- double xdelta = pwidth/npoints;
+ points.assign (list->size(), Duple());
- for (pi = 0, pc = 0; pc < npoints; ++pc) {
- (*points)[pi].set_x(_pixel_width - pwidth + (pc * xdelta));
- (*points)[pi++].set_y(2 + (h - (curve[pc] * h)));
+ for (x = list->begin(), pi = 0; x != list->end(); ++x, ++pi) {
+ points[pi].x = 1.0 + _pixel_width - pwidth + (pwidth * ((*x)->when/length));
+ points[pi].y = effective_height - ((*x)->value * effective_height);
}
- /* fold back */
-
- (*points)[pi].set_x(_pixel_width);
- (*points)[pi++].set_y(h);
-
- (*points)[pi].set_x(_pixel_width);
- (*points)[pi++].set_y(2);
-
- /* connect the dots ... */
+ /* draw the line */
- (*points)[pi] = (*points)[0];
-
- fade_out_shape->property_points() = *points;
- delete points;
-
- redraw_end_xfade_to (ar, width);
+ redraw_end_xfade_to (ar, width, points, effective_height, handle_right, pwidth);
/* ensure trim handle stays on top */
if (frame_handle_end) {
frame_handle_end->raise_to_top();
}
-
}
framepos_t
@@ -710,39 +713,274 @@ AudioRegionView::get_fade_out_shape_width ()
void
-AudioRegionView::set_samples_per_unit (gdouble spu)
+AudioRegionView::redraw_start_xfade ()
{
- RegionView::set_samples_per_unit (spu);
+ boost::shared_ptr<AudioRegion> ar (audio_region());
- if (Config->get_show_waveforms ()) {
- for (uint32_t n = 0; n < waves.size(); ++n) {
- waves[n]->property_samples_per_unit() = spu;
+ if (!ar->fade_in() || ar->fade_in()->empty()) {
+ return;
+ }
+
+ show_start_xfade();
+ reset_fade_in_shape_width (ar, ar->fade_in()->back()->when);
+}
+
+void
+AudioRegionView::redraw_start_xfade_to (boost::shared_ptr<AudioRegion> ar, framecnt_t /*width*/, Points& points, double effective_height,
+ double rect_width)
+{
+ if (points.size() < 2) {
+ return;
+ }
+
+ if (!start_xfade_curve) {
+ start_xfade_curve = new ArdourCanvas::XFadeCurve (group, ArdourCanvas::XFadeCurve::Start);
+ CANVAS_DEBUG_NAME (start_xfade_curve, string_compose ("xfade start out line for %1", region()->name()));
+ start_xfade_curve->set_fill_color (ARDOUR_UI::config()->get_canvasvar_ActiveCrossfade());
+ start_xfade_curve->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeLine());
+ start_xfade_curve->set_ignore_events (true);
+ }
+ if (!start_xfade_rect) {
+ start_xfade_rect = new ArdourCanvas::Rectangle (group);
+ CANVAS_DEBUG_NAME (start_xfade_rect, string_compose ("xfade start rect for %1", region()->name()));
+ start_xfade_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeLine());
+ start_xfade_rect->set_fill (false);
+ start_xfade_rect->set_outline (false);
+ start_xfade_rect->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::RIGHT));
+ start_xfade_rect->set_outline_width (0.5);
+ start_xfade_rect->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_start_xfade_event), start_xfade_rect, this));
+ start_xfade_rect->set_data ("regionview", this);
+ }
+
+ start_xfade_rect->set (ArdourCanvas::Rect (0.0, 0.0, rect_width, effective_height));
+
+ /* fade out line */
+
+ boost::shared_ptr<AutomationList> inverse = ar->inverse_fade_in ();
+ Points ipoints;
+ Points::size_type npoints;
+
+ if (!inverse) {
+
+ /* there is no explicit inverse fade in curve, so take the
+ * regular fade in curve given to use as "points" (already a
+ * set of coordinates), and convert to the inverse shape.
+ */
+
+ npoints = points.size();
+ ipoints.assign (npoints, Duple());
+
+ for (Points::size_type i = 0, pci = 0; i < npoints; ++i, ++pci) {
+ ArdourCanvas::Duple &p (ipoints[pci]);
+ /* leave x-axis alone but invert with respect to y-axis */
+ p.y = effective_height - points[pci].y;
+ }
+
+ } else {
+
+ /* there is an explicit inverse fade in curve. Grab the points
+ and convert them into coordinates for the inverse fade in
+ line.
+ */
+
+ npoints = inverse->size();
+ ipoints.assign (npoints, Duple());
+
+ Evoral::ControlList::const_iterator x;
+ Points::size_type pi;
+ double length = inverse->length();
+
+ for (x = inverse->begin(), pi = 0; x != inverse->end(); ++x, ++pi) {
+ ArdourCanvas::Duple& p (ipoints[pi]);
+ p.x = 1.0 + (rect_width * ((*x)->when/length));
+ p.y = effective_height - ((*x)->value * effective_height);
}
}
- if (gain_line) {
- gain_line->reset ();
+ start_xfade_curve->set_inout (points, ipoints);
+
+ show_start_xfade();
+}
+
+void
+AudioRegionView::redraw_end_xfade ()
+{
+ boost::shared_ptr<AudioRegion> ar (audio_region());
+
+ if (!ar->fade_out() || ar->fade_out()->empty()) {
+ return;
}
- reset_fade_shapes ();
+ show_end_xfade();
+
+ reset_fade_out_shape_width (ar, ar->fade_out()->back()->when);
}
void
-AudioRegionView::set_amplitude_above_axis (gdouble spp)
+AudioRegionView::redraw_end_xfade_to (boost::shared_ptr<AudioRegion> ar, framecnt_t width, Points& points, double effective_height,
+ double rect_edge, double rect_width)
{
- for (uint32_t n=0; n < waves.size(); ++n) {
- waves[n]->property_amplitude_above_axis() = spp;
+ if (points.size() < 2) {
+ return;
+ }
+
+ if (!end_xfade_curve) {
+ end_xfade_curve = new ArdourCanvas::XFadeCurve (group, ArdourCanvas::XFadeCurve::End);
+ CANVAS_DEBUG_NAME (end_xfade_curve, string_compose ("xfade end out line for %1", region()->name()));
+ end_xfade_curve->set_fill_color (ARDOUR_UI::config()->get_canvasvar_ActiveCrossfade());
+ end_xfade_curve->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeLine());
+ end_xfade_curve->set_ignore_events (true);
}
+
+ if (!end_xfade_rect) {
+ end_xfade_rect = new ArdourCanvas::Rectangle (group);
+ CANVAS_DEBUG_NAME (end_xfade_rect, string_compose ("xfade end rect for %1", region()->name()));
+ end_xfade_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeLine());
+ end_xfade_rect->set_fill (false);
+ end_xfade_rect->set_outline (false);
+ end_xfade_rect->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT));
+ end_xfade_rect->set_outline_width (0.5);
+ end_xfade_rect->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_end_xfade_event), end_xfade_rect, this));
+ end_xfade_rect->set_data ("regionview", this);
+ }
+
+ end_xfade_rect->set (ArdourCanvas::Rect (rect_edge, 0.0, rect_edge + rect_width + TimeAxisViewItem::RIGHT_EDGE_SHIFT, effective_height));
+
+ /* fade in line */
+
+ boost::shared_ptr<AutomationList> inverse = ar->inverse_fade_out ();
+ Points ipoints;
+ Points::size_type npoints;
+
+ if (!inverse) {
+
+ /* there is no explicit inverse fade out curve, so take the
+ * regular fade out curve given to use as "points" (already a
+ * set of coordinates), and convert to the inverse shape.
+ */
+
+ npoints = points.size();
+ ipoints.assign (npoints, Duple());
+
+ Points::size_type pci;
+
+ for (pci = 0; pci < npoints; ++pci) {
+ ArdourCanvas::Duple &p (ipoints[pci]);
+ p.y = effective_height - points[pci].y;
+ }
+
+ } else {
+
+ /* there is an explicit inverse fade out curve. Grab the points
+ and convert them into coordinates for the inverse fade out
+ line.
+ */
+
+ npoints = inverse->size();
+ ipoints.assign (npoints, Duple());
+
+ const double rend = trackview.editor().sample_to_pixel (_region->length() - width);
+
+ Evoral::ControlList::const_iterator x;
+ Points::size_type i;
+ Points::size_type pi;
+ double length = inverse->length();
+
+ for (x = inverse->begin(), i = 0, pi = 0; x != inverse->end(); ++x, ++pi, ++i) {
+ ArdourCanvas::Duple& p (ipoints[pi]);
+ p.x = 1.0 + (rect_width * ((*x)->when/length)) + rend;
+ p.y = effective_height - ((*x)->value * effective_height);
+ }
+ }
+
+ end_xfade_curve->set_inout (ipoints, points);
+
+ show_end_xfade();
+}
+
+void
+AudioRegionView::hide_xfades ()
+{
+ hide_start_xfade ();
+ hide_end_xfade ();
}
void
-AudioRegionView::compute_colors (Gdk::Color const & basic_color)
+AudioRegionView::hide_start_xfade ()
{
- RegionView::compute_colors (basic_color);
+ if (start_xfade_curve) {
+ start_xfade_curve->hide();
+ }
+ if (start_xfade_rect) {
+ start_xfade_rect->hide ();
+ }
+
+ _start_xfade_visible = false;
+}
- /* gain color computed in envelope_active_changed() */
+void
+AudioRegionView::hide_end_xfade ()
+{
+ if (end_xfade_curve) {
+ end_xfade_curve->hide();
+ }
+ if (end_xfade_rect) {
+ end_xfade_rect->hide ();
+ }
- fade_color = UINT_RGBA_CHANGE_A (fill_color, 120);
+ _end_xfade_visible = false;
+}
+
+void
+AudioRegionView::show_start_xfade ()
+{
+ if (start_xfade_curve) {
+ start_xfade_curve->show();
+ }
+ if (start_xfade_rect) {
+ start_xfade_rect->show ();
+ }
+
+ _start_xfade_visible = true;
+}
+
+void
+AudioRegionView::show_end_xfade ()
+{
+ if (end_xfade_curve) {
+ end_xfade_curve->show();
+ }
+ if (end_xfade_rect) {
+ end_xfade_rect->show ();
+ }
+
+ _end_xfade_visible = true;
+}
+
+void
+AudioRegionView::set_samples_per_pixel (gdouble fpp)
+{
+ RegionView::set_samples_per_pixel (fpp);
+
+ if (Config->get_show_waveforms ()) {
+ for (uint32_t n = 0; n < waves.size(); ++n) {
+ waves[n]->set_samples_per_pixel (fpp);
+ }
+ }
+
+ if (gain_line) {
+ gain_line->reset ();
+ }
+
+ reset_fade_shapes ();
+}
+
+void
+AudioRegionView::set_amplitude_above_axis (gdouble a)
+{
+ for (uint32_t n=0; n < waves.size(); ++n) {
+ waves[n]->set_amplitude_above_axis (a);
+ }
}
void
@@ -751,18 +989,27 @@ AudioRegionView::set_colors ()
RegionView::set_colors();
if (gain_line) {
- gain_line->set_line_color (audio_region()->envelope_active() ? ARDOUR_UI::config()->canvasvar_GainLine.get() : ARDOUR_UI::config()->canvasvar_GainLineInactive.get());
+ gain_line->set_line_color (audio_region()->envelope_active() ?
+ ARDOUR_UI::config()->get_canvasvar_GainLine() :
+ ARDOUR_UI::config()->get_canvasvar_GainLineInactive());
}
- for (uint32_t n=0; n < waves.size(); ++n) {
- if (_region->muted()) {
- waves[n]->property_wave_color() = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_WaveForm.get(), MUTED_ALPHA);
- } else {
- waves[n]->property_wave_color() = ARDOUR_UI::config()->canvasvar_WaveForm.get();
- }
+ set_waveform_colors ();
+
+ if (start_xfade_curve) {
+ start_xfade_curve->set_fill_color (ARDOUR_UI::config()->get_canvasvar_ActiveCrossfade());
+ start_xfade_curve->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeLine());
+ }
+ if (end_xfade_curve) {
+ end_xfade_curve->set_fill_color (ARDOUR_UI::config()->get_canvasvar_ActiveCrossfade());
+ end_xfade_curve->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeLine());
+ }
- waves[n]->property_clip_color() = ARDOUR_UI::config()->canvasvar_WaveFormClip.get();
- waves[n]->property_zero_color() = ARDOUR_UI::config()->canvasvar_ZeroLine.get();
+ if (start_xfade_rect) {
+ start_xfade_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeLine());
+ }
+ if (end_xfade_rect) {
+ end_xfade_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeLine());
}
}
@@ -774,7 +1021,8 @@ AudioRegionView::setup_waveform_visibility ()
/* make sure the zoom level is correct, since we don't update
this when waveforms are hidden.
*/
- waves[n]->property_samples_per_unit() = samples_per_unit;
+ // CAIROCANVAS
+ // waves[n]->set_samples_per_pixel (_samples_per_pixel);
waves[n]->show();
}
} else {
@@ -805,7 +1053,7 @@ AudioRegionView::update_envelope_visibility ()
return;
}
- if (Config->get_show_region_gain() || trackview.editor().current_mouse_mode() == Editing::MouseGain) {
+ if (Config->get_show_region_gain() || trackview.editor().current_mouse_mode() == Editing::MouseGain || trackview.editor().current_mouse_mode() == Editing::MouseRange ) {
gain_line->add_visibility (AutomationLine::Line);
} else {
gain_line->hide ();
@@ -848,8 +1096,6 @@ AudioRegionView::create_waves ()
break;
}
- wave_caches.push_back (WaveView::create_cache ());
-
// cerr << "\tchannel " << n << endl;
if (wait_for_data) {
@@ -888,35 +1134,31 @@ AudioRegionView::create_one_wave (uint32_t which, bool /*direct*/)
gdouble yoff = which * ht;
- WaveView *wave = new WaveView(*group);
-
- wave->property_data_src() = (gpointer) _region.get();
- wave->property_cache() = wave_caches[which];
- wave->property_cache_updater() = true;
- wave->property_channel() = which;
- wave->property_length_function() = (gpointer) region_length_from_c;
- wave->property_sourcefile_length_function() = (gpointer) sourcefile_length_from_c;
- wave->property_peak_function() = (gpointer) region_read_peaks_from_c;
- wave->property_x() = 0.0;
- wave->property_y() = yoff;
- wave->property_height() = (double) ht;
- wave->property_samples_per_unit() = samples_per_unit;
- wave->property_amplitude_above_axis() = _amplitude_above_axis;
-
- if (_recregion) {
- wave->property_wave_color() = _region->muted() ? UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_RecWaveForm.get(), MUTED_ALPHA) : ARDOUR_UI::config()->canvasvar_RecWaveForm.get();
- wave->property_fill_color() = ARDOUR_UI::config()->canvasvar_RecWaveFormFill.get();
- } else {
- wave->property_wave_color() = _region->muted() ? UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_WaveForm.get(), MUTED_ALPHA) : ARDOUR_UI::config()->canvasvar_WaveForm.get();
- wave->property_fill_color() = ARDOUR_UI::config()->canvasvar_WaveFormFill.get();
+ WaveView *wave = new WaveView (group, audio_region ());
+ CANVAS_DEBUG_NAME (wave, string_compose ("wave view for chn %1 of %2", which, get_item_name()));
+
+ wave->set_channel (which);
+ wave->set_y_position (yoff);
+ wave->set_height (ht);
+ wave->set_samples_per_pixel (samples_per_pixel);
+ wave->set_show_zero_line (true);
+ wave->set_clip_level (Config->get_waveform_clip_level ());
+
+ wave->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_wave_view_event), wave, this));
+
+ switch (Config->get_waveform_shape()) {
+ case Rectified:
+ wave->set_shape (WaveView::Rectified);
+ break;
+ default:
+ wave->set_shape (WaveView::Normal);
}
+
+ wave->set_logscaled (Config->get_waveform_scale() == Logarithmic);
- wave->property_clip_color() = ARDOUR_UI::config()->canvasvar_WaveFormClip.get();
- wave->property_zero_color() = ARDOUR_UI::config()->canvasvar_ZeroLine.get();
- wave->property_zero_line() = true;
- wave->property_region_start() = _region->start();
- wave->property_rectified() = Config->get_waveform_shape() == Rectified;
- wave->property_logscaled() = Config->get_waveform_scale() == Logarithmic;
+ vector<ArdourCanvas::WaveView*> v;
+ v.push_back (wave);
+ set_some_waveform_colors (v);
if (!Config->get_show_waveforms ()) {
wave->hide();
@@ -978,9 +1220,9 @@ AudioRegionView::add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *ev, b
x = ev->button.x;
y = ev->button.y;
- item->w2i (x, y);
+ item->canvas_to_item (x, y);
- framepos_t fx = trackview.editor().pixel_to_frame (x);
+ framepos_t fx = trackview.editor().pixel_to_sample (x);
if (fx > _region->length()) {
return;
@@ -1016,36 +1258,19 @@ AudioRegionView::add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *ev, b
}
void
-AudioRegionView::remove_gain_point_event (ArdourCanvas::Item *item, GdkEvent */*ev*/)
+AudioRegionView::remove_gain_point_event (ArdourCanvas::Item *item, GdkEvent* /*ev*/)
{
ControlPoint *cp = reinterpret_cast<ControlPoint *> (item->get_data ("control_point"));
audio_region()->envelope()->erase (cp->model());
}
-void
-AudioRegionView::setup_waveform_shape ()
-{
- for (vector<WaveView *>::iterator wave = waves.begin(); wave != waves.end() ; ++wave) {
- (*wave)->property_rectified() = Config->get_waveform_shape() == Rectified;
- }
-}
-
-void
-AudioRegionView::setup_waveform_scale ()
-{
- for (vector<WaveView *>::iterator wave = waves.begin(); wave != waves.end() ; ++wave) {
- (*wave)->property_logscaled() = Config->get_waveform_scale() == Logarithmic;
- }
-}
-
-
GhostRegion*
AudioRegionView::add_ghost (TimeAxisView& tv)
{
RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*>(&trackview);
assert(rtv);
- double unit_position = _region->position () / samples_per_unit;
+ double unit_position = _region->position () / samples_per_pixel;
AudioGhostRegion* ghost = new AudioGhostRegion (tv, trackview, unit_position);
uint32_t nchans;
@@ -1057,26 +1282,18 @@ AudioRegionView::add_ghost (TimeAxisView& tv)
break;
}
- WaveView *wave = new WaveView(*ghost->group);
-
- wave->property_data_src() = _region.get();
- wave->property_cache() = wave_caches[n];
- wave->property_cache_updater() = false;
- wave->property_channel() = n;
- wave->property_length_function() = (gpointer)region_length_from_c;
- wave->property_sourcefile_length_function() = (gpointer) sourcefile_length_from_c;
- wave->property_peak_function() = (gpointer) region_read_peaks_from_c;
- wave->property_x() = 0.0;
- wave->property_samples_per_unit() = samples_per_unit;
- wave->property_amplitude_above_axis() = _amplitude_above_axis;
+ WaveView *wave = new WaveView (ghost->group, audio_region());
+ CANVAS_DEBUG_NAME (wave, string_compose ("ghost wave for %1", get_item_name()));
- wave->property_region_start() = _region->start();
+ wave->set_channel (n);
+ wave->set_samples_per_pixel (samples_per_pixel);
+ wave->set_amplitude_above_axis (_amplitude_above_axis);
ghost->waves.push_back(wave);
}
ghost->set_height ();
- ghost->set_duration (_region->length() / samples_per_unit);
+ ghost->set_duration (_region->length() / samples_per_pixel);
ghost->set_colors();
ghosts.push_back (ghost);
@@ -1089,15 +1306,44 @@ AudioRegionView::entered (bool internal_editing)
trackview.editor().set_current_trimmable (_region);
trackview.editor().set_current_movable (_region);
- if (gain_line && trackview.editor().current_mouse_mode() == Editing::MouseGain) {
+ if (gain_line) {
+ /* these may or may not be visible depending on mouse mode */
gain_line->add_visibility (AutomationLine::ControlPoints);
}
- if (fade_in_handle && !internal_editing) {
- fade_in_handle->property_outline_color_rgba() = RGBA_TO_UINT (0, 0, 0, 255);
- fade_in_handle->property_fill_color_rgba() = UINT_RGBA_CHANGE_A (fade_color, 255);
- fade_out_handle->property_outline_color_rgba() = RGBA_TO_UINT (0, 0, 0, 255);
- fade_out_handle->property_fill_color_rgba() = UINT_RGBA_CHANGE_A (fade_color, 255);
+ if (!internal_editing && ( trackview.editor().current_mouse_mode() == Editing::MouseObject ) ) {
+ if (start_xfade_rect) {
+ start_xfade_rect->set_outline (true);
+ }
+ if (end_xfade_rect) {
+ end_xfade_rect->set_outline (true);
+ }
+ if (fade_in_handle) {
+ fade_in_handle->show ();
+ fade_in_handle->raise_to_top ();
+ }
+ if (fade_out_handle) {
+ fade_out_handle->show ();
+ fade_out_handle->raise_to_top ();
+ }
+ if (fade_in_trim_handle) {
+ boost::shared_ptr<AudioRegion> ar (audio_region());
+ if (!ar->locked() && (ar->fade_in()->back()->when > 64 || (ar->can_trim() & Trimmable::FrontTrimEarlier))) {
+ fade_in_trim_handle->show ();
+ fade_in_trim_handle->raise_to_top ();
+ } else {
+ fade_in_trim_handle->hide ();
+ }
+ }
+ if (fade_out_trim_handle) {
+ boost::shared_ptr<AudioRegion> ar (audio_region());
+ if (!ar->locked() && (ar->fade_out()->back()->when > 64 || (ar->can_trim() & Trimmable::EndTrimLater))) {
+ fade_out_trim_handle->show ();
+ fade_out_trim_handle->raise_to_top ();
+ } else {
+ fade_out_trim_handle->hide ();
+ }
+ }
}
}
@@ -1107,51 +1353,30 @@ AudioRegionView::exited ()
trackview.editor().set_current_trimmable (boost::shared_ptr<Trimmable>());
trackview.editor().set_current_movable (boost::shared_ptr<Movable>());
- if (gain_line && trackview.editor().current_mouse_mode() == Editing::MouseGain) {
+ if (gain_line) {
gain_line->remove_visibility (AutomationLine::ControlPoints);
}
- if (fade_in_handle) {
- fade_in_handle->property_outline_color_rgba() = RGBA_TO_UINT (0, 0, 0, 0);
- fade_in_handle->property_fill_color_rgba() = UINT_RGBA_CHANGE_A (fade_color, 0);
- fade_out_handle->property_outline_color_rgba() = RGBA_TO_UINT (0, 0, 0, 0);
- fade_out_handle->property_fill_color_rgba() = UINT_RGBA_CHANGE_A (fade_color, 0);
- }
+ if (fade_in_handle) { fade_in_handle->hide(); }
+ if (fade_out_handle) { fade_out_handle->hide(); }
+ if (fade_in_trim_handle) { fade_in_trim_handle->hide(); }
+ if (fade_out_trim_handle) { fade_out_trim_handle->hide(); }
+ if (start_xfade_rect) { start_xfade_rect->set_outline (false); }
+ if (end_xfade_rect) { end_xfade_rect->set_outline (false); }
}
void
AudioRegionView::envelope_active_changed ()
{
if (gain_line) {
- gain_line->set_line_color (audio_region()->envelope_active() ? ARDOUR_UI::config()->canvasvar_GainLine.get() : ARDOUR_UI::config()->canvasvar_GainLineInactive.get());
+ gain_line->set_line_color (audio_region()->envelope_active() ?
+ ARDOUR_UI::config()->get_canvasvar_GainLine() :
+ ARDOUR_UI::config()->get_canvasvar_GainLineInactive());
+ update_envelope_visibility ();
}
}
void
-AudioRegionView::set_waveview_data_src()
-{
- AudioGhostRegion* agr;
- double unit_length= _region->length() / samples_per_unit;
-
- for (uint32_t n = 0; n < waves.size(); ++n) {
- // TODO: something else to let it know the channel
- waves[n]->property_data_src() = _region.get();
- }
-
- for (vector<GhostRegion*>::iterator i = ghosts.begin(); i != ghosts.end(); ++i) {
-
- (*i)->set_duration (unit_length);
-
- if((agr = dynamic_cast<AudioGhostRegion*>(*i)) != 0) {
- for (vector<WaveView*>::iterator w = agr->waves.begin(); w != agr->waves.end(); ++w) {
- (*w)->property_data_src() = _region.get();
- }
- }
- }
-
-}
-
-void
AudioRegionView::color_handler ()
{
//case cMutedWaveForm:
@@ -1167,87 +1392,83 @@ AudioRegionView::color_handler ()
}
void
-AudioRegionView::set_frame_color ()
+AudioRegionView::set_waveform_colors ()
{
- if (!frame) {
- return;
- }
-
- if (_region->opaque()) {
- fill_opacity = 130;
- } else {
- fill_opacity = 0;
- }
-
- TimeAxisViewItem::set_frame_color ();
+ set_some_waveform_colors (waves);
+}
- uint32_t wc;
- uint32_t fc;
+void
+AudioRegionView::set_some_waveform_colors (vector<ArdourCanvas::WaveView*>& waves_to_color)
+{
+ ArdourCanvas::Color fill;
+ ArdourCanvas::Color outline;
+ ArdourCanvas::Color clip = ARDOUR_UI::config()->get_canvasvar_WaveFormClip();
+ ArdourCanvas::Color zero = ARDOUR_UI::config()->get_canvasvar_ZeroLine();
if (_selected) {
- if (_region->muted()) {
- wc = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_SelectedWaveForm.get(), MUTED_ALPHA);
- } else {
- wc = ARDOUR_UI::config()->canvasvar_SelectedWaveForm.get();
- }
- fc = ARDOUR_UI::config()->canvasvar_SelectedWaveFormFill.get();
+ if (_region->muted()) {
+ /* hide outline with zero alpha */
+ outline = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->get_canvasvar_SelectedWaveForm(), 0);
+ fill = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->get_canvasvar_SelectedWaveFormFill(), MUTED_ALPHA);
+ } else {
+ outline = ARDOUR_UI::config()->get_canvasvar_SelectedWaveForm();
+ fill = ARDOUR_UI::config()->get_canvasvar_SelectedWaveFormFill();
+ }
} else {
if (_recregion) {
- if (_region->muted()) {
- wc = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_RecWaveForm.get(), MUTED_ALPHA);
- } else {
- wc = ARDOUR_UI::config()->canvasvar_RecWaveForm.get();
- }
- fc = ARDOUR_UI::config()->canvasvar_RecWaveFormFill.get();
+ outline = ARDOUR_UI::config()->get_canvasvar_RecWaveForm();
+ fill = ARDOUR_UI::config()->get_canvasvar_RecWaveFormFill();
} else {
- if (_region->muted()) {
- wc = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_WaveForm.get(), MUTED_ALPHA);
- } else {
- wc = ARDOUR_UI::config()->canvasvar_WaveForm.get();
- }
- fc = ARDOUR_UI::config()->canvasvar_WaveFormFill.get();
+ if (_region->muted()) {
+ /* hide outline with zero alpha */
+ outline = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->get_canvasvar_WaveForm(), 0);
+ fill = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->get_canvasvar_WaveFormFill(), MUTED_ALPHA);
+ } else {
+ outline = ARDOUR_UI::config()->get_canvasvar_WaveForm();
+ fill = ARDOUR_UI::config()->get_canvasvar_WaveFormFill();
+ }
}
}
- for (vector<ArdourCanvas::WaveView*>::iterator w = waves.begin(); w != waves.end(); ++w) {
- if (_region->muted()) {
- (*w)->property_wave_color() = wc;
- } else {
- (*w)->property_wave_color() = wc;
- (*w)->property_fill_color() = fc;
- }
- }
+ for (vector<ArdourCanvas::WaveView*>::iterator w = waves_to_color.begin(); w != waves_to_color.end(); ++w) {
+ (*w)->set_fill_color (fill);
+ (*w)->set_outline_color (outline);
+ (*w)->set_clip_color (clip);
+ (*w)->set_zero_color (zero);
+ }
+}
+
+void
+AudioRegionView::set_frame_color ()
+{
+ if (!frame) {
+ return;
+ }
+
+ RegionView::set_frame_color ();
+
+ set_waveform_colors ();
}
void
AudioRegionView::set_fade_visibility (bool yn)
{
if (yn) {
- if (fade_in_shape) {
- fade_in_shape->show();
- }
- if (fade_out_shape) {
- fade_out_shape->show ();
- }
- if (fade_in_handle) {
- fade_in_handle->show ();
- }
- if (fade_out_handle) {
- fade_out_handle->show ();
- }
- } else {
- if (fade_in_shape) {
- fade_in_shape->hide();
- }
- if (fade_out_shape) {
- fade_out_shape->hide ();
- }
- if (fade_in_handle) {
- fade_in_handle->hide ();
- }
- if (fade_out_handle) {
- fade_out_handle->hide ();
- }
+ if (start_xfade_curve) { start_xfade_curve->show (); }
+ if (end_xfade_curve) { end_xfade_curve->show (); }
+ if (start_xfade_rect) { start_xfade_rect->show (); }
+ if (end_xfade_rect) { end_xfade_rect->show (); }
+ } else {
+ if (start_xfade_curve) { start_xfade_curve->hide(); }
+ if (end_xfade_curve) { end_xfade_curve->hide(); }
+ if (fade_in_handle) { fade_in_handle->hide(); }
+ if (fade_out_handle) { fade_out_handle->hide(); }
+ if (fade_in_trim_handle) { fade_in_trim_handle->hide(); }
+ if (fade_out_trim_handle) { fade_out_trim_handle->hide(); }
+ if (start_xfade_rect) { start_xfade_rect->hide (); }
+ if (end_xfade_rect) { end_xfade_rect->hide (); }
+ if (start_xfade_rect) { start_xfade_rect->set_outline (false); }
+ if (end_xfade_rect) { end_xfade_rect->set_outline (false); }
}
}
@@ -1256,10 +1477,10 @@ AudioRegionView::update_coverage_frames (LayerDisplay d)
{
RegionView::update_coverage_frames (d);
- if (fade_in_handle) {
- fade_in_handle->raise_to_top ();
- fade_out_handle->raise_to_top ();
- }
+ if (fade_in_handle) { fade_in_handle->raise_to_top (); }
+ if (fade_out_handle) { fade_out_handle->raise_to_top (); }
+ if (fade_in_trim_handle) { fade_in_trim_handle->raise_to_top (); }
+ if (fade_out_trim_handle) { fade_out_trim_handle->raise_to_top (); }
}
void
@@ -1280,27 +1501,17 @@ AudioRegionView::transients_changed ()
while (feature_lines.size() < analysis_features.size()) {
- ArdourCanvas::Line* canvas_item = new ArdourCanvas::Line(*group);
+ ArdourCanvas::Line* canvas_item = new ArdourCanvas::Line(group);
+ CANVAS_DEBUG_NAME (canvas_item, string_compose ("transient group for %1", region()->name()));
- ArdourCanvas::Points points;
-
- points.push_back(Gnome::Art::Point(-1.0, 2.0)); // first x-coord needs to be a non-normal value
- points.push_back(Gnome::Art::Point(1.0, _height - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 1));
-
- canvas_item->property_points() = points;
- canvas_item->property_width_pixels() = 1;
- canvas_item->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_ZeroLine.get();
- canvas_item->property_first_arrowhead() = TRUE;
- canvas_item->property_last_arrowhead() = TRUE;
- canvas_item->property_arrow_shape_a() = 11.0;
- canvas_item->property_arrow_shape_b() = 0.0;
- canvas_item->property_arrow_shape_c() = 4.0;
+ canvas_item->set (ArdourCanvas::Duple (-1.0, 2.0),
+ ArdourCanvas::Duple (1.0, _height - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 1));
canvas_item->raise_to_top ();
canvas_item->show ();
canvas_item->set_data ("regionview", this);
- canvas_item->signal_event().connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_feature_line_event), canvas_item, this));
+ canvas_item->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_feature_line_event), canvas_item, this));
feature_lines.push_back (make_pair(0, canvas_item));
}
@@ -1316,17 +1527,15 @@ AudioRegionView::transients_changed ()
for (i = analysis_features.begin(), l = feature_lines.begin(); i != analysis_features.end() && l != feature_lines.end(); ++i, ++l) {
- ArdourCanvas::Points points;
-
float *pos = new float;
- *pos = trackview.editor().frame_to_pixel (*i);
+ *pos = trackview.editor().sample_to_pixel (*i);
- points.push_back(Gnome::Art::Point(*pos, 2.0)); // first x-coord needs to be a non-normal value
- points.push_back(Gnome::Art::Point(*pos, _height - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 1));
+ (*l).second->set (
+ ArdourCanvas::Duple (*pos, 2.0),
+ ArdourCanvas::Duple (*pos, _height - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 1)
+ );
- (*l).second->property_points() = points;
(*l).second->set_data ("position", pos);
-
(*l).first = *i;
}
}
@@ -1346,7 +1555,7 @@ AudioRegionView::update_transient(float /*old_pos*/, float new_pos)
if (rint(new_pos) == rint(*pos)) {
framepos_t old_frame = (*l).first;
- framepos_t new_frame = trackview.editor().pixel_to_frame (new_pos);
+ framepos_t new_frame = trackview.editor().pixel_to_sample (new_pos);
_region->update_transient (old_frame, new_frame);
@@ -1381,294 +1590,6 @@ AudioRegionView::thaw_after_trim ()
drag_end ();
}
-void
-AudioRegionView::redraw_start_xfade ()
-{
- boost::shared_ptr<AudioRegion> ar (audio_region());
-
- if (!ar->fade_in() || ar->fade_in()->empty()) {
- return;
- }
-
- show_start_xfade();
-
- redraw_start_xfade_to (ar, ar->fade_in()->back()->when);
-}
-
-void
-AudioRegionView::redraw_start_xfade_to (boost::shared_ptr<AudioRegion> ar, framecnt_t len)
-{
- int32_t const npoints = trackview.editor().frame_to_pixel (len);
-
- if (npoints < 3) {
- return;
- }
-
- if (!start_xfade_in) {
- start_xfade_in = new ArdourCanvas::Line (*group);
- start_xfade_in->property_width_pixels() = 1;
- start_xfade_in->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_GainLine.get();
- }
-
- if (!start_xfade_out) {
- start_xfade_out = new ArdourCanvas::Line (*group);
- start_xfade_out->property_width_pixels() = 1;
- uint32_t col = UINT_RGBA_CHANGE_A (ARDOUR_UI::config()->canvasvar_GainLine.get(), 128);
- start_xfade_out->property_fill_color_rgba() = col;
- }
-
- if (!start_xfade_rect) {
- start_xfade_rect = new ArdourCanvas::SimpleRect (*group);
- start_xfade_rect->property_draw() = true;
- start_xfade_rect->property_fill() = true;;
- start_xfade_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_ActiveCrossfade.get();
- start_xfade_rect->property_outline_pixels() = 0;
- start_xfade_rect->signal_event().connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_start_xfade_event), start_xfade_rect, this));
- start_xfade_rect->set_data ("regionview", this);
- }
-
- Points* points = get_canvas_points ("xfade edit redraw", npoints);
- boost::scoped_array<float> vec (new float[npoints]);
-
- double effective_height;
- if (_height >= NAME_HIGHLIGHT_THRESH) {
- effective_height = _height - NAME_HIGHLIGHT_SIZE - 2;
- } else {
- effective_height = _height - 2;
- }
-
- ar->fade_in()->curve().get_vector (0, ar->fade_in()->back()->when, vec.get(), npoints);
-
- for (int i = 0, pci = 0; i < npoints; ++i) {
- Gnome::Art::Point &p ((*points)[pci++]);
- p.set_x (i);
- p.set_y (1.0 + effective_height - (effective_height * vec.get()[i]));
- }
-
- start_xfade_rect->property_x1() = ((*points)[0]).get_x();
- start_xfade_rect->property_y1() = 1.0;
- start_xfade_rect->property_x2() = ((*points)[npoints-1]).get_x();
- start_xfade_rect->property_y2() = effective_height;
- start_xfade_rect->show ();
-
- start_xfade_in->property_points() = *points;
- start_xfade_in->show ();
- start_xfade_in->raise_to_top ();
-
- /* fade out line */
-
- boost::shared_ptr<AutomationList> inverse = ar->inverse_fade_in();
-
- if (!inverse) {
-
- for (int i = 0, pci = 0; i < npoints; ++i) {
- Gnome::Art::Point &p ((*points)[pci++]);
- p.set_x (i);
- p.set_y (1.0 + effective_height - (effective_height * (1.0 - vec.get()[i])));
- }
-
- } else {
-
- inverse->curve().get_vector (0, inverse->back()->when, vec.get(), npoints);
-
- for (int i = 0, pci = 0; i < npoints; ++i) {
- Gnome::Art::Point &p ((*points)[pci++]);
- p.set_x (i);
- p.set_y (1.0 + effective_height - (effective_height * vec.get()[i]));
- }
- }
-
- start_xfade_out->property_points() = *points;
- start_xfade_out->show ();
- start_xfade_out->raise_to_top ();
-
- start_xfade_rect->raise_to_top (); //this needs to be topmost so the lines don't steal mouse focus
-
- show_start_xfade();
-
- delete points;
-}
-
-void
-AudioRegionView::redraw_end_xfade ()
-{
- boost::shared_ptr<AudioRegion> ar (audio_region());
-
- if (!ar->fade_out() || ar->fade_out()->empty()) {
- return;
- }
-
- show_end_xfade();
-
- redraw_end_xfade_to (ar, ar->fade_out()->back()->when);
-}
-
-void
-AudioRegionView::redraw_end_xfade_to (boost::shared_ptr<AudioRegion> ar, framecnt_t len)
-{
- int32_t const npoints = trackview.editor().frame_to_pixel (len);
-
- if (npoints < 3) {
- return;
- }
-
- if (!end_xfade_in) {
- end_xfade_in = new ArdourCanvas::Line (*group);
- end_xfade_in->property_width_pixels() = 1;
- end_xfade_in->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_GainLine.get();
- }
-
- if (!end_xfade_out) {
- end_xfade_out = new ArdourCanvas::Line (*group);
- end_xfade_out->property_width_pixels() = 1;
- uint32_t col UINT_RGBA_CHANGE_A (ARDOUR_UI::config()->canvasvar_GainLine.get(), 128);
- end_xfade_out->property_fill_color_rgba() = col;
- }
-
- if (!end_xfade_rect) {
- end_xfade_rect = new ArdourCanvas::SimpleRect (*group);
- end_xfade_rect->property_draw() = true;
- end_xfade_rect->property_fill() = true;;
- end_xfade_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_ActiveCrossfade.get();
- end_xfade_rect->property_outline_pixels() = 0;
- end_xfade_rect->signal_event().connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_end_xfade_event), end_xfade_rect, this));
- end_xfade_rect->set_data ("regionview", this);
- }
-
- Points* points = get_canvas_points ("xfade edit redraw", npoints);
- boost::scoped_array<float> vec (new float[npoints]);
-
- ar->fade_out()->curve().get_vector (0, ar->fade_out()->back()->when, vec.get(), npoints);
-
- double rend = trackview.editor().frame_to_pixel (_region->length() - len);
-
- double effective_height;
- if (_height >= NAME_HIGHLIGHT_THRESH) {
- effective_height = _height - NAME_HIGHLIGHT_SIZE - 2;
- } else {
- effective_height = _height - 2;
- }
-
- for (int i = 0, pci = 0; i < npoints; ++i) {
- Gnome::Art::Point &p ((*points)[pci++]);
- p.set_x (rend + i);
- p.set_y (1.0 + effective_height - (effective_height * vec.get()[i]));
- }
-
- end_xfade_rect->property_x1() = ((*points)[0]).get_x();
- end_xfade_rect->property_y1() = 1;
- end_xfade_rect->property_x2() = ((*points)[npoints-1]).get_x();
- end_xfade_rect->property_y2() = effective_height;
- end_xfade_rect->show ();
-
- end_xfade_in->property_points() = *points;
- end_xfade_in->show ();
- end_xfade_in->raise_to_top ();
-
- /* fade in line */
-
- boost::shared_ptr<AutomationList> inverse = ar->inverse_fade_out ();
-
- if (!inverse) {
-
- for (int i = 0, pci = 0; i < npoints; ++i) {
- Gnome::Art::Point &p ((*points)[pci++]);
- p.set_x (rend + i);
- p.set_y (1.0 + effective_height - (effective_height * (1.0 - vec.get()[i])));
- }
-
- } else {
-
- inverse->curve().get_vector (inverse->front()->when, inverse->back()->when, vec.get(), npoints);
-
- for (int i = 0, pci = 0; i < npoints; ++i) {
- Gnome::Art::Point &p ((*points)[pci++]);
- p.set_x (rend + i);
- p.set_y (1.0 + effective_height - (effective_height * vec.get()[i]));
- }
- }
-
- end_xfade_out->property_points() = *points;
- end_xfade_out->show ();
- end_xfade_out->raise_to_top ();
-
- end_xfade_rect->raise_to_top (); //this needs to be topmost so the lines don't steal mouse focus
-
- show_end_xfade();
-
- delete points;
-}
-
-void
-AudioRegionView::hide_xfades ()
-{
- hide_start_xfade ();
- hide_end_xfade ();
-}
-
-void
-AudioRegionView::hide_start_xfade ()
-{
- if (start_xfade_in) {
- start_xfade_in->hide();
- }
- if (start_xfade_out) {
- start_xfade_out->hide();
- }
- if (start_xfade_rect) {
- start_xfade_rect->hide ();
- }
-
- _start_xfade_visible = false;
-}
-
-void
-AudioRegionView::hide_end_xfade ()
-{
- if (end_xfade_in) {
- end_xfade_in->hide();
- }
- if (end_xfade_out) {
- end_xfade_out->hide();
- }
- if (end_xfade_rect) {
- end_xfade_rect->hide ();
- }
-
- _end_xfade_visible = false;
-}
-
-void
-AudioRegionView::show_start_xfade ()
-{
- if (start_xfade_in) {
- start_xfade_in->show();
- }
- if (start_xfade_out) {
- start_xfade_out->show();
- }
- if (start_xfade_rect) {
- start_xfade_rect->show ();
- }
-
- _start_xfade_visible = true;
-}
-
-void
-AudioRegionView::show_end_xfade ()
-{
- if (end_xfade_in) {
- end_xfade_in->show();
- }
- if (end_xfade_out) {
- end_xfade_out->show();
- }
- if (end_xfade_rect) {
- end_xfade_rect->show ();
- }
-
- _end_xfade_visible = true;
-}
void
AudioRegionView::show_xfades ()
@@ -1689,8 +1610,15 @@ void
AudioRegionView::drag_end ()
{
TimeAxisViewItem::drag_end ();
-
//see comment for drag_start
+
+ if (fade_in_handle && fade_in_handle->visible()) {
+ // lenght of region or fade changed, re-check
+ // if fade_in_trim_handle or fade_out_trim_handle should
+ // be visible. -- If the fade_in_handle is visible
+ // we have focus and are not in internal edit mode.
+ entered(false);
+ }
}
void
@@ -1698,9 +1626,5 @@ AudioRegionView::parameter_changed (string const & p)
{
if (p == "show-waveforms") {
setup_waveform_visibility ();
- } else if (p == "waveform-scale") {
- setup_waveform_scale ();
- } else if (p == "waveform-shape") {
- setup_waveform_shape ();
}
}
diff --git a/gtk2_ardour/audio_region_view.h b/gtk2_ardour/audio_region_view.h
index b7b3492e34..9c2c9f7c12 100644
--- a/gtk2_ardour/audio_region_view.h
+++ b/gtk2_ardour/audio_region_view.h
@@ -19,19 +19,23 @@
#ifndef __gtk_ardour_audio_region_view_h__
#define __gtk_ardour_audio_region_view_h__
+#ifdef interface
+#undef interface
+#endif
+
#include <vector>
-#include <libgnomecanvasmm.h>
-#include <libgnomecanvasmm/polygon.h>
#include <sigc++/signal.h>
#include "ardour/audioregion.h"
+#include "canvas/fwd.h"
+#include "canvas/wave_view.h"
+#include "canvas/xfade_curve.h"
+
#include "region_view.h"
#include "time_axis_view_item.h"
#include "automation_line.h"
#include "enums.h"
-#include "waveview.h"
-#include "canvas.h"
namespace ARDOUR {
class AudioRegion;
@@ -47,17 +51,17 @@ class RouteTimeAxisView;
class AudioRegionView : public RegionView
{
public:
- AudioRegionView (ArdourCanvas::Group *,
+ AudioRegionView (ArdourCanvas::Container *,
RouteTimeAxisView&,
boost::shared_ptr<ARDOUR::AudioRegion>,
- double initial_samples_per_unit,
- Gdk::Color const & basic_color);
+ double initial_samples_per_pixel,
+ uint32_t base_color);
- AudioRegionView (ArdourCanvas::Group *,
+ AudioRegionView (ArdourCanvas::Container *,
RouteTimeAxisView&,
boost::shared_ptr<ARDOUR::AudioRegion>,
- double samples_per_unit,
- Gdk::Color const & basic_color,
+ double samples_per_pixel,
+ uint32_t base_color,
bool recording,
TimeAxisViewItem::Visibility);
@@ -65,14 +69,14 @@ class AudioRegionView : public RegionView
~AudioRegionView ();
- virtual void init (Gdk::Color const & base_color, bool wait_for_data);
+ void init (bool wait_for_data);
boost::shared_ptr<ARDOUR::AudioRegion> audio_region() const;
void create_waves ();
void set_height (double);
- void set_samples_per_unit (double);
+ void set_samples_per_pixel (double);
void set_amplitude_above_axis (gdouble spp);
@@ -91,8 +95,8 @@ class AudioRegionView : public RegionView
GhostRegion* add_ghost (TimeAxisView&);
- void reset_fade_in_shape_width (boost::shared_ptr<ARDOUR::AudioRegion> ar, framecnt_t);
- void reset_fade_out_shape_width (boost::shared_ptr<ARDOUR::AudioRegion> ar, framecnt_t);
+ void reset_fade_in_shape_width (boost::shared_ptr<ARDOUR::AudioRegion> ar, framecnt_t, bool drag_active = false);
+ void reset_fade_out_shape_width (boost::shared_ptr<ARDOUR::AudioRegion> ar, framecnt_t, bool drag_active = false);
framepos_t get_fade_in_shape_width ();
framepos_t get_fade_out_shape_width ();
@@ -113,8 +117,8 @@ class AudioRegionView : public RegionView
void drag_start ();
void drag_end ();
- void redraw_start_xfade_to (boost::shared_ptr<ARDOUR::AudioRegion>, framecnt_t);
- void redraw_end_xfade_to (boost::shared_ptr<ARDOUR::AudioRegion>, framecnt_t);
+ void redraw_start_xfade_to (boost::shared_ptr<ARDOUR::AudioRegion>, framecnt_t, ArdourCanvas::Points&, double, double);
+ void redraw_end_xfade_to (boost::shared_ptr<ARDOUR::AudioRegion>, framecnt_t, ArdourCanvas::Points&, double, double, double);
void redraw_start_xfade ();
void redraw_end_xfade ();
@@ -151,28 +155,24 @@ class AudioRegionView : public RegionView
std::list<std::pair<framepos_t, ArdourCanvas::Line*> > feature_lines;
- ArdourCanvas::Polygon* sync_mark; ///< polgyon for sync position
- ArdourCanvas::Polygon* fade_in_shape;
- ArdourCanvas::Polygon* fade_out_shape;
- ArdourCanvas::SimpleRect* fade_in_handle; ///< fade in handle, or 0
- ArdourCanvas::SimpleRect* fade_out_handle; ///< fade out handle, or 0
+ ArdourCanvas::Polygon* sync_mark; ///< polgyon for sync position
+ ArdourCanvas::Rectangle* fade_in_handle; ///< fade in handle, or 0
+ ArdourCanvas::Rectangle* fade_out_handle; ///< fade out handle, or 0
+ ArdourCanvas::Rectangle* fade_in_trim_handle; ///< fade in trim handle, or 0
+ ArdourCanvas::Rectangle* fade_out_trim_handle; ///< fade out trim handle, or 0
- ArdourCanvas::Line *start_xfade_in;
- ArdourCanvas::Line *start_xfade_out;
- ArdourCanvas::SimpleRect* start_xfade_rect;
+ ArdourCanvas::XFadeCurve* start_xfade_curve;
+ ArdourCanvas::Rectangle* start_xfade_rect;
bool _start_xfade_visible;
- ArdourCanvas::Line *end_xfade_in;
- ArdourCanvas::Line *end_xfade_out;
- ArdourCanvas::SimpleRect* end_xfade_rect;
+ ArdourCanvas::XFadeCurve* end_xfade_curve;
+ ArdourCanvas::Rectangle* end_xfade_rect;
bool _end_xfade_visible;
boost::shared_ptr<AudioRegionGainLine> gain_line;
double _amplitude_above_axis;
- uint32_t fade_color;
-
void reset_fade_shapes ();
void reset_fade_in_shape ();
void reset_fade_out_shape ();
@@ -190,15 +190,12 @@ class AudioRegionView : public RegionView
void peaks_ready_handler (uint32_t);
void set_colors ();
- void compute_colors (Gdk::Color const &);
+ void set_waveform_colors ();
void reset_width_dependent_items (double pixel_width);
- void set_waveview_data_src();
void set_frame_color ();
void color_handler ();
- std::vector<GnomeCanvasWaveViewCache*> wave_caches;
-
void transients_changed();
AutomationLine::VisibleAspects automation_line_visibility () const;
@@ -208,8 +205,7 @@ private:
void parameter_changed (std::string const &);
void setup_waveform_visibility ();
- void setup_waveform_shape ();
- void setup_waveform_scale ();
+ void set_some_waveform_colors (std::vector<ArdourCanvas::WaveView*>& waves_to_color);
/** A ScopedConnection for each PeaksReady callback (one per channel). Each member
* may be 0 if no connection exists.
@@ -220,6 +216,9 @@ private:
* first list is for start xfades, second list is for end xfades.
*/
std::pair<std::list<AudioRegionView*>, std::list<AudioRegionView*> > _hidden_xfades;
+
+ bool trim_fade_in_drag_active;
+ bool trim_fade_out_drag_active;
};
#endif /* __gtk_ardour_audio_region_view_h__ */
diff --git a/gtk2_ardour/audio_streamview.cc b/gtk2_ardour/audio_streamview.cc
index 6d24dff2ca..75f4a7fe33 100644
--- a/gtk2_ardour/audio_streamview.cc
+++ b/gtk2_ardour/audio_streamview.cc
@@ -34,19 +34,18 @@
#include "ardour/rc_configuration.h"
#include "ardour/session.h"
+#include "canvas/rectangle.h"
+
#include "audio_streamview.h"
#include "audio_region_view.h"
#include "tape_region_view.h"
#include "audio_time_axis.h"
-#include "canvas-waveview.h"
-#include "canvas-simplerect.h"
#include "region_selection.h"
#include "selection.h"
#include "public_editor.h"
#include "ardour_ui.h"
#include "rgb_macros.h"
#include "gui_thread.h"
-#include "utils.h"
#include "i18n.h"
@@ -98,27 +97,27 @@ AudioStreamView::create_region_view (boost::shared_ptr<Region> r, bool wait_for_
case Normal:
if (recording) {
region_view = new AudioRegionView (_canvas_group, _trackview, region,
- _samples_per_unit, region_color, recording, TimeAxisViewItem::Visibility(
- TimeAxisViewItem::ShowFrame |
- TimeAxisViewItem::HideFrameRight |
- TimeAxisViewItem::HideFrameLeft |
- TimeAxisViewItem::HideFrameTB));
+ _samples_per_pixel, region_color, recording, TimeAxisViewItem::Visibility(
+ TimeAxisViewItem::ShowFrame |
+ TimeAxisViewItem::HideFrameRight |
+ TimeAxisViewItem::HideFrameLeft |
+ TimeAxisViewItem::HideFrameTB));
} else {
region_view = new AudioRegionView (_canvas_group, _trackview, region,
- _samples_per_unit, region_color);
+ _samples_per_pixel, region_color);
}
break;
case Destructive:
region_view = new TapeAudioRegionView (_canvas_group, _trackview, region,
- _samples_per_unit, region_color);
+ _samples_per_pixel, region_color);
break;
default:
- fatal << string_compose (_("programming error: %1"), "illegal track mode in ::add_region_view_internal") << endmsg;
+ fatal << string_compose (_("programming error: %1"), "illegal track mode in ::create_region_view()") << endmsg;
/*NOTREACHED*/
}
- region_view->init (region_color, wait_for_waves);
+ region_view->init (wait_for_waves);
region_view->set_amplitude_above_axis(_amplitude_above_axis);
region_view->set_height (child_height ());
@@ -142,27 +141,6 @@ AudioStreamView::add_region_view_internal (boost::shared_ptr<Region> r, bool wai
return 0;
}
-// if(!recording){
-// for (list<RegionView *>::iterator i = region_views.begin(); i != region_views.end(); ++i) {
-// if ((*i)->region() == r) {
-// cerr << "audio_streamview in add_region_view_internal region found" << endl;
- /* great. we already have a AudioRegionView for this Region. use it again. */
-
-// (*i)->set_valid (true);
-
- // this might not be necessary
-// AudioRegionView* const arv = dynamic_cast<AudioRegionView*>(*i);
-
-// if (arv) {
-// arv->set_waveform_scale (_waveform_scale);
-// arv->set_waveform_shape (_waveform_shape);
-// }
-
-// return NULL;
-// }
-// }
-// }
-
region_views.push_front (region_view);
if (_trackview.editor().internal_editing()) {
@@ -263,20 +241,20 @@ AudioStreamView::setup_rec_box ()
at = _trackview.audio_track(); /* we know what it is already */
framepos_t const frame_pos = at->current_capture_start ();
- gdouble xstart = _trackview.editor().frame_to_pixel (frame_pos);
- gdouble xend;
+ gdouble xstart = _trackview.editor().sample_to_pixel (frame_pos);
+ gdouble xend = xstart; /* keeps gcc optimized happy, really set in switch() below */
uint32_t fill_color;
switch (_trackview.audio_track()->mode()) {
case Normal:
case NonLayered:
xend = xstart;
- fill_color = ARDOUR_UI::config()->canvasvar_RecordingRect.get();
+ fill_color = ARDOUR_UI::config()->get_canvasvar_RecordingRect();
break;
case Destructive:
xend = xstart + 2;
- fill_color = ARDOUR_UI::config()->canvasvar_RecordingRect.get();
+ fill_color = ARDOUR_UI::config()->get_canvasvar_RecordingRect();
/* make the recording rect translucent to allow
the user to see the peak data coming in, etc.
*/
@@ -284,19 +262,23 @@ AudioStreamView::setup_rec_box ()
break;
}
- ArdourCanvas::SimpleRect * rec_rect = new Gnome::Canvas::SimpleRect (*_canvas_group);
- rec_rect->property_x1() = xstart;
- rec_rect->property_y1() = 1.0;
- rec_rect->property_x2() = xend;
- rec_rect->property_y2() = child_height ();
- rec_rect->property_outline_what() = 0x0;
- rec_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_TimeAxisFrame.get();
- rec_rect->property_fill_color_rgba() = fill_color;
- rec_rect->lower_to_bottom();
+ ArdourCanvas::Rectangle * rec_rect = new ArdourCanvas::Rectangle (_canvas_group);
+ rec_rect->set_x0 (xstart);
+ rec_rect->set_y0 (0);
+ rec_rect->set_x1 (xend);
+ rec_rect->set_y1 (child_height ());
+ rec_rect->set_outline_what (ArdourCanvas::Rectangle::What (0));
+ rec_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_TimeAxisFrame());
+ rec_rect->set_fill_color (fill_color);
RecBoxInfo recbox;
recbox.rectangle = rec_rect;
- recbox.start = _trackview.session()->transport_frame();
+
+ if (rec_rects.empty()) {
+ recbox.start = _trackview.session()->record_location ();
+ } else {
+ recbox.start = _trackview.session()->transport_frame ();
+ }
recbox.length = 0;
rec_rects.push_back (recbox);
@@ -397,7 +379,7 @@ AudioStreamView::update_rec_regions (framepos_t start, framecnt_t cnt)
assert (n < rec_rects.size());
- if (!canvas_item_visible (rec_rects[n].rectangle)) {
+ if (!rec_rects[n].rectangle->visible()) {
/* rect already hidden, this region is done */
iter = tmp;
continue;
@@ -434,9 +416,9 @@ AudioStreamView::update_rec_regions (framepos_t start, framecnt_t cnt)
check_record_layers (region, (region->position() - region->start() + start + cnt));
/* also update rect */
- ArdourCanvas::SimpleRect * rect = rec_rects[n].rectangle;
- gdouble xend = _trackview.editor().frame_to_pixel (region->position() + region->length());
- rect->property_x2() = xend;
+ ArdourCanvas::Rectangle * rect = rec_rects[n].rectangle;
+ gdouble xend = _trackview.editor().sample_to_pixel (region->position() + region->length());
+ rect->set_x1 (xend);
}
} else {
@@ -529,15 +511,15 @@ AudioStreamView::color_handler ()
{
//case cAudioTrackBase:
if (_trackview.is_track()) {
- canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_AudioTrackBase.get();
+ canvas_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_AudioTrackBase());
}
//case cAudioBusBase:
if (!_trackview.is_track()) {
if (Profile->get_sae() && _trackview.route()->is_master()) {
- canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_AudioMasterBusBase.get();
+ canvas_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_AudioMasterBusBase());
} else {
- canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_AudioBusBase.get();
+ canvas_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_AudioBusBase());
}
}
}
diff --git a/gtk2_ardour/audio_streamview.h b/gtk2_ardour/audio_streamview.h
index a3f7c63559..8e9b095537 100644
--- a/gtk2_ardour/audio_streamview.h
+++ b/gtk2_ardour/audio_streamview.h
@@ -27,7 +27,6 @@
#include "ardour/location.h"
#include "editing.h"
-#include "simplerect.h"
#include "streamview.h"
namespace Gdk {
diff --git a/gtk2_ardour/audio_time_axis.cc b/gtk2_ardour/audio_time_axis.cc
index 675136b860..808f9729f0 100644
--- a/gtk2_ardour/audio_time_axis.cc
+++ b/gtk2_ardour/audio_time_axis.cc
@@ -45,7 +45,6 @@
#include "ardour_ui.h"
#include "audio_time_axis.h"
#include "automation_line.h"
-#include "canvas_impl.h"
#include "enums.h"
#include "gui_thread.h"
#include "automation_time_axis.h"
@@ -54,7 +53,6 @@
#include "prompter.h"
#include "public_editor.h"
#include "audio_region_view.h"
-#include "simplerect.h"
#include "audio_streamview.h"
#include "utils.h"
@@ -62,11 +60,12 @@
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtk;
using namespace Editing;
-AudioTimeAxisView::AudioTimeAxisView (PublicEditor& ed, Session* sess, Canvas& canvas)
+AudioTimeAxisView::AudioTimeAxisView (PublicEditor& ed, Session* sess, ArdourCanvas::Canvas& canvas)
: AxisView(sess)
, RouteTimeAxisView(ed, sess, canvas)
{
@@ -85,7 +84,7 @@ AudioTimeAxisView::set_route (boost::shared_ptr<Route> rt)
RouteTimeAxisView::set_route (rt);
- _view->apply_color (color (), StreamView::RegionColor);
+ _view->apply_color (gdk_color_to_rgba (color()), StreamView::RegionColor);
// Make sure things are sane...
assert(!is_track() || is_audio_track());
@@ -96,8 +95,10 @@ AudioTimeAxisView::set_route (boost::shared_ptr<Route> rt)
if (is_audio_track()) {
controls_ebox.set_name ("AudioTrackControlsBaseUnselected");
+ time_axis_frame.set_name ("AudioTrackControlsBaseUnselected");
} else { // bus
controls_ebox.set_name ("AudioBusControlsBaseUnselected");
+ time_axis_frame.set_name ("AudioBusControlsBaseUnselected");
}
/* if set_state above didn't create a gain automation child, we need to make one */
@@ -105,6 +106,11 @@ AudioTimeAxisView::set_route (boost::shared_ptr<Route> rt)
create_automation_child (GainAutomation, false);
}
+ /* if set_state above didn't create a mute automation child, we need to make one */
+ if (automation_child (MuteAutomation) == 0) {
+ create_automation_child (MuteAutomation, false);
+ }
+
if (_route->panner_shell()) {
_route->panner_shell()->Changed.connect (*this, invalidator (*this),
boost::bind (&AudioTimeAxisView::ensure_pan_views, this, false), gui_context());
@@ -203,6 +209,11 @@ AudioTimeAxisView::create_automation_child (const Evoral::Parameter& param, bool
/* handled elsewhere */
+ } else if (param.type() == MuteAutomation) {
+
+ create_mute_automation_child (param, show);
+
+
} else {
error << "AudioTimeAxisView: unknown automation child " << EventTypeMap::instance().to_symbol(param) << endmsg;
}
@@ -285,6 +296,22 @@ AudioTimeAxisView::update_gain_track_visibility ()
}
void
+AudioTimeAxisView::update_mute_track_visibility ()
+{
+ bool const showit = mute_automation_item->get_active();
+
+ if (showit != string_is_affirmative (mute_track->gui_property ("visible"))) {
+ mute_track->set_marked_for_display (showit);
+
+ /* now trigger a redisplay */
+
+ if (!no_redraw) {
+ _route->gui_changed (X_("visible_tracks"), (void *) 0); /* EMIT_SIGNAL */
+ }
+ }
+}
+
+void
AudioTimeAxisView::update_pan_track_visibility ()
{
bool const showit = pan_automation_item->get_active();
@@ -384,8 +411,10 @@ AudioTimeAxisView::update_control_names ()
if (get_selected()) {
controls_ebox.set_name (controls_base_selected_name);
+ time_axis_frame.set_name (controls_base_selected_name);
} else {
controls_ebox.set_name (controls_base_unselected_name);
+ time_axis_frame.set_name (controls_base_unselected_name);
}
}
@@ -399,20 +428,27 @@ AudioTimeAxisView::build_automation_action_menu (bool for_selection)
MenuList& automation_items = automation_action_menu->items ();
automation_items.push_back (CheckMenuElem (_("Fader"), sigc::mem_fun (*this, &AudioTimeAxisView::update_gain_track_visibility)));
- gain_automation_item = dynamic_cast<CheckMenuItem*> (&automation_items.back ());
+ gain_automation_item = dynamic_cast<Gtk::CheckMenuItem*> (&automation_items.back ());
gain_automation_item->set_active ((!for_selection || _editor.get_selection().tracks.size() == 1) &&
(gain_track && string_is_affirmative (gain_track->gui_property ("visible"))));
_main_automation_menu_map[Evoral::Parameter(GainAutomation)] = gain_automation_item;
+ automation_items.push_back (CheckMenuElem (_("Mute"), sigc::mem_fun (*this, &AudioTimeAxisView::update_mute_track_visibility)));
+ mute_automation_item = dynamic_cast<Gtk::CheckMenuItem*> (&automation_items.back ());
+ mute_automation_item->set_active ((!for_selection || _editor.get_selection().tracks.size() == 1) &&
+ (mute_track && string_is_affirmative (mute_track->gui_property ("visible"))));
+
+ _main_automation_menu_map[Evoral::Parameter(MuteAutomation)] = mute_automation_item;
+
if (!pan_tracks.empty()) {
automation_items.push_back (CheckMenuElem (_("Pan"), sigc::mem_fun (*this, &AudioTimeAxisView::update_pan_track_visibility)));
- pan_automation_item = dynamic_cast<CheckMenuItem*> (&automation_items.back ());
+ pan_automation_item = dynamic_cast<Gtk::CheckMenuItem*> (&automation_items.back ());
pan_automation_item->set_active ((!for_selection || _editor.get_selection().tracks.size() == 1) &&
(!pan_tracks.empty() && string_is_affirmative (pan_tracks.front()->gui_property ("visible"))));
set<Evoral::Parameter> const & params = _route->pannable()->what_can_be_automated ();
- for (set<Evoral::Parameter>::iterator p = params.begin(); p != params.end(); ++p) {
+ for (set<Evoral::Parameter>::const_iterator p = params.begin(); p != params.end(); ++p) {
_main_automation_menu_map[*p] = pan_automation_item;
}
}
diff --git a/gtk2_ardour/audio_time_axis.h b/gtk2_ardour/audio_time_axis.h
index 8a5b6ab0ac..7a5afe4f97 100644
--- a/gtk2_ardour/audio_time_axis.h
+++ b/gtk2_ardour/audio_time_axis.h
@@ -38,7 +38,6 @@
#include "enums.h"
#include "editing.h"
#include "route_time_axis.h"
-#include "canvas.h"
namespace ARDOUR {
class Session;
@@ -106,9 +105,11 @@ class AudioTimeAxisView : public RouteTimeAxisView
void update_control_names ();
void update_gain_track_visibility ();
+ void update_mute_track_visibility ();
void update_pan_track_visibility ();
Gtk::CheckMenuItem* gain_automation_item;
+ Gtk::CheckMenuItem* mute_automation_item;
std::list<boost::shared_ptr<AutomationTimeAxisView> > pan_tracks;
Gtk::CheckMenuItem* pan_automation_item;
};
diff --git a/gtk2_ardour/automation_controller.cc b/gtk2_ardour/automation_controller.cc
index a80a474232..fbc5066c43 100644
--- a/gtk2_ardour/automation_controller.cc
+++ b/gtk2_ardour/automation_controller.cc
@@ -28,7 +28,6 @@
#include "ardour/session.h"
#include "ardour_ui.h"
-#include "utils.h"
#include "automation_controller.h"
#include "gui_thread.h"
@@ -46,9 +45,7 @@ AutomationController::AutomationController(boost::shared_ptr<Automatable> printe
{
assert (_printer);
- set_name (X_("PluginSlider")); // FIXME: get yer own name!
- set_style (BarController::LeftToRight);
- set_use_parent (true);
+ set_name (X_("ProcessorControlSlider"));
StartGesture.connect (sigc::mem_fun(*this, &AutomationController::start_touch));
StopGesture.connect (sigc::mem_fun(*this, &AutomationController::end_touch));
@@ -74,9 +71,9 @@ AutomationController::create(
{
Gtk::Adjustment* adjustment = manage (
new Gtk::Adjustment (
- ac->internal_to_interface (param.normal()),
- ac->internal_to_interface (param.min()),
- ac->internal_to_interface (param.max()),
+ param.normal(),
+ param.min(),
+ param.max(),
(param.max() - param.min()) / 100.0,
(param.max() - param.min()) / 10.0
)
@@ -97,7 +94,7 @@ AutomationController::get_label (double& xpos)
void
AutomationController::display_effective_value()
{
- double const interface_value = _controllable->internal_to_interface (_controllable->get_value());
+ double const interface_value = _controllable->get_value();
if (_adjustment->get_value () != interface_value) {
_ignore_change = true;
@@ -110,7 +107,7 @@ void
AutomationController::value_adjusted ()
{
if (!_ignore_change) {
- _controllable->set_value (_controllable->interface_to_internal (_adjustment->get_value()));
+ _controllable->set_value (_adjustment->get_value());
}
}
diff --git a/gtk2_ardour/automation_line.cc b/gtk2_ardour/automation_line.cc
index c83a8a0f0c..29d07d1a4a 100644
--- a/gtk2_ardour/automation_line.cc
+++ b/gtk2_ardour/automation_line.cc
@@ -17,6 +17,13 @@
*/
+#ifdef COMPILER_MSVC
+#include <float.h>
+/* isinf() & isnan() are C99 standards, which older MSVC doesn't provide */
+#define isinf(val) !((bool)_finite((double)val))
+#define isnan(val) (bool)_isnan((double)val)
+#endif
+
#include <cmath>
#include <climits>
#include <vector>
@@ -32,17 +39,18 @@
#include "ardour/automation_list.h"
#include "ardour/dB.h"
#include "ardour/debug.h"
+#include "ardour/tempo.h"
#include "evoral/Curve.hpp"
-#include "simplerect.h"
+#include "canvas/debug.h"
+
#include "automation_line.h"
#include "control_point.h"
#include "gui_thread.h"
#include "rgb_macros.h"
#include "ardour_ui.h"
#include "public_editor.h"
-#include "utils.h"
#include "selection.h"
#include "time_axis_view.h"
#include "point_selection.h"
@@ -57,12 +65,11 @@ using namespace std;
using namespace ARDOUR;
using namespace PBD;
using namespace Editing;
-using namespace Gnome; // for Canvas
/** @param converter A TimeConverter whose origin_b is the start time of the AutomationList in session frames.
* This will not be deleted by AutomationLine.
*/
-AutomationLine::AutomationLine (const string& name, TimeAxisView& tv, ArdourCanvas::Group& parent,
+AutomationLine::AutomationLine (const string& name, TimeAxisView& tv, ArdourCanvas::Item& parent,
boost::shared_ptr<AutomationList> al,
Evoral::TimeConverter<double, framepos_t>* converter)
: trackview (tv)
@@ -74,10 +81,8 @@ AutomationLine::AutomationLine (const string& name, TimeAxisView& tv, ArdourCanv
, _maximum_time (max_framepos)
{
if (converter) {
- _time_converter = converter;
_our_time_converter = false;
} else {
- _time_converter = new Evoral::IdentityConverter<double, framepos_t>;
_our_time_converter = true;
}
@@ -91,15 +96,16 @@ AutomationLine::AutomationLine (const string& name, TimeAxisView& tv, ArdourCanv
terminal_points_can_slide = true;
_height = 0;
- group = new ArdourCanvas::Group (parent);
- group->property_x() = 0.0;
- group->property_y() = 0.0;
+ group = new ArdourCanvas::Container (&parent);
+ CANVAS_DEBUG_NAME (group, "region gain envelope group");
- line = new ArdourCanvas::Line (*group);
- line->property_width_pixels() = (guint)1;
+ line = new ArdourCanvas::PolyLine (group);
+ CANVAS_DEBUG_NAME (line, "region gain envelope line");
line->set_data ("line", this);
+ line->set_outline_width (2.0);
+ line->set_covers_threshold (4.0);
- line->signal_event().connect (sigc::mem_fun (*this, &AutomationLine::event_handler));
+ line->Event.connect (sigc::mem_fun (*this, &AutomationLine::event_handler));
trackview.session()->register_with_memento_command_factory(alist->id(), this);
@@ -130,7 +136,7 @@ AutomationLine::event_handler (GdkEvent* event)
}
void
-AutomationLine::show ()
+AutomationLine::update_visibility ()
{
if (_visible & Line) {
/* Only show the line there are some points, otherwise we may show an out-of-date line
@@ -142,30 +148,42 @@ AutomationLine::show ()
} else {
line->hide ();
}
- } else {
- line->hide();
- }
- if (_visible & ControlPoints) {
- for (vector<ControlPoint*>::iterator i = control_points.begin(); i != control_points.end(); ++i) {
- (*i)->set_visible (true);
- (*i)->show ();
- }
- } else if (_visible & SelectedControlPoints) {
- for (vector<ControlPoint*>::iterator i = control_points.begin(); i != control_points.end(); ++i) {
- (*i)->set_visible ((*i)->get_selected());
+ if (_visible & ControlPoints) {
+ for (vector<ControlPoint*>::iterator i = control_points.begin(); i != control_points.end(); ++i) {
+ (*i)->show ();
+ }
+ } else if (_visible & SelectedControlPoints) {
+ for (vector<ControlPoint*>::iterator i = control_points.begin(); i != control_points.end(); ++i) {
+ if ((*i)->get_selected()) {
+ (*i)->show ();
+ } else {
+ (*i)->hide ();
+ }
+ }
+ } else {
+ for (vector<ControlPoint*>::iterator i = control_points.begin(); i != control_points.end(); ++i) {
+ (*i)->hide ();
+ }
}
+
} else {
+ line->hide ();
for (vector<ControlPoint*>::iterator i = control_points.begin(); i != control_points.end(); ++i) {
- (*i)->set_visible (false);
+ (*i)->hide ();
}
}
+
}
void
AutomationLine::hide ()
{
- set_visibility (VisibleAspects (0));
+ /* leave control points setting unchanged, we are just hiding the
+ overall line
+ */
+
+ set_visibility (AutomationLine::VisibleAspects (_visible & ~Line));
}
double
@@ -204,7 +222,7 @@ void
AutomationLine::set_line_color (uint32_t color)
{
_line_color = color;
- line->property_fill_color_rgba() = color;
+ line->set_outline_color (color);
}
void
@@ -247,7 +265,7 @@ AutomationLine::modify_point_y (ControlPoint& cp, double y)
y = min (1.0, y);
y = _height - (y * _height);
- double const x = trackview.editor().frame_to_unit_unrounded (_time_converter->to((*cp.model())->when) - _offset);
+ double const x = trackview.editor().sample_to_pixel_unrounded (_time_converter->to((*cp.model())->when) - _offset);
trackview.editor().session()->begin_reversible_command (_("automation event move"));
trackview.editor().session()->add_command (
@@ -258,7 +276,7 @@ AutomationLine::modify_point_y (ControlPoint& cp, double y)
reset_line_coords (cp);
if (line_points.size() > 1) {
- line->property_points() = line_points;
+ line->set (line_points);
}
alist->freeze ();
@@ -278,8 +296,8 @@ void
AutomationLine::reset_line_coords (ControlPoint& cp)
{
if (cp.view_index() < line_points.size()) {
- line_points[cp.view_index()].set_x (cp.get_x());
- line_points[cp.view_index()].set_y (cp.get_y());
+ line_points[cp.view_index()].x = cp.get_x ();
+ line_points[cp.view_index()].y = cp.get_y ();
}
}
@@ -500,11 +518,12 @@ AutomationLine::ContiguousControlPoints::ContiguousControlPoints (AutomationLine
}
void
-AutomationLine::ContiguousControlPoints::compute_x_bounds ()
+AutomationLine::ContiguousControlPoints::compute_x_bounds (PublicEditor& e)
{
uint32_t sz = size();
if (sz > 0 && sz < line.npoints()) {
+ const TempoMap& map (e.session()->tempo_map());
/* determine the limits on x-axis motion for this
contiguous range of control points
@@ -512,14 +531,30 @@ AutomationLine::ContiguousControlPoints::compute_x_bounds ()
if (front()->view_index() > 0) {
before_x = line.nth (front()->view_index() - 1)->get_x();
+
+ const framepos_t pos = e.pixel_to_sample(before_x);
+ const Meter& meter = map.meter_at (pos);
+ const framecnt_t len = ceil (meter.frames_per_bar (map.tempo_at (pos), e.session()->frame_rate())
+ / (Timecode::BBT_Time::ticks_per_beat * meter.divisions_per_bar()) );
+ const double one_tick_in_pixels = e.sample_to_pixel_unrounded (len);
+
+ before_x += one_tick_in_pixels;
}
/* if our last point has a point after it in the line,
we have an "after" bound
*/
- if (back()->view_index() < (line.npoints() - 2)) {
+ if (back()->view_index() < (line.npoints() - 1)) {
after_x = line.nth (back()->view_index() + 1)->get_x();
+
+ const framepos_t pos = e.pixel_to_sample(after_x);
+ const Meter& meter = map.meter_at (pos);
+ const framecnt_t len = ceil (meter.frames_per_bar (map.tempo_at (pos), e.session()->frame_rate())
+ / (Timecode::BBT_Time::ticks_per_beat * meter.divisions_per_bar()));
+ const double one_tick_in_pixels = e.sample_to_pixel_unrounded (len);
+
+ after_x -= one_tick_in_pixels;
}
}
}
@@ -623,7 +658,7 @@ AutomationLine::drag_motion (double const x, float fraction, bool ignore_x, bool
}
for (vector<CCP>::iterator ccp = contiguous_points.begin(); ccp != contiguous_points.end(); ++ccp) {
- (*ccp)->compute_x_bounds ();
+ (*ccp)->compute_x_bounds (trackview.editor());
}
}
@@ -678,7 +713,7 @@ AutomationLine::drag_motion (double const x, float fraction, bool ignore_x, bool
*/
if (line_points.size() > 1) {
- line->property_points() = line_points;
+ line->set (line_points);
}
}
@@ -737,10 +772,10 @@ AutomationLine::sync_model_with_view_point (ControlPoint& cp)
/* if xval has not changed, set it directly from the model to avoid rounding errors */
- if (view_x == trackview.editor().frame_to_unit_unrounded (_time_converter->to ((*cp.model())->when)) - _offset) {
+ if (view_x == trackview.editor().sample_to_pixel_unrounded (_time_converter->to ((*cp.model())->when)) - _offset) {
view_x = (*cp.model())->when - _offset;
} else {
- view_x = trackview.editor().unit_to_frame (view_x);
+ view_x = trackview.editor().pixel_to_sample (view_x);
view_x = _time_converter->from (view_x + _offset);
}
@@ -758,7 +793,7 @@ AutomationLine::control_points_adjacent (double xval, uint32_t & before, uint32_
ControlPoint *acp = 0;
double unit_xval;
- unit_xval = trackview.editor().frame_to_unit_unrounded (xval);
+ unit_xval = trackview.editor().sample_to_pixel_unrounded (xval);
for (vector<ControlPoint*>::iterator i = control_points.begin(); i != control_points.end(); ++i) {
@@ -877,7 +912,7 @@ AutomationLine::set_selected_points (PointSelection const & points)
void AutomationLine::set_colors ()
{
- set_line_color (ARDOUR_UI::config()->canvasvar_AutomationLine.get());
+ set_line_color (ARDOUR_UI::config()->get_canvasvar_AutomationLine());
for (vector<ControlPoint*>::iterator i = control_points.begin(); i != control_points.end(); ++i) {
(*i)->set_color ();
}
@@ -930,7 +965,7 @@ AutomationLine::reset_callback (const Evoral::ControlList& events)
model_to_view_coord (tx, ty);
- if (std::isnan (tx) || std::isnan (ty)) {
+ if (isnan (tx) || isnan (ty)) {
warning << string_compose (_("Ignoring illegal points on AutomationLine \"%1\""),
_name) << endmsg;
continue;
@@ -944,7 +979,7 @@ AutomationLine::reset_callback (const Evoral::ControlList& events)
* zoom and scroll into account).
*/
- tx = trackview.editor().frame_to_unit_unrounded (tx);
+ tx = trackview.editor().sample_to_pixel_unrounded (tx);
/* convert from canonical view height (0..1.0) to actual
* height coordinates (using X11's top-left rooted system)
@@ -973,7 +1008,7 @@ AutomationLine::reset_callback (const Evoral::ControlList& events)
/* reset the line coordinates given to the CanvasLine */
while (line_points.size() < vp) {
- line_points.push_back (Art::Point (0,0));
+ line_points.push_back (ArdourCanvas::Duple (0,0));
}
while (line_points.size() > vp) {
@@ -981,15 +1016,13 @@ AutomationLine::reset_callback (const Evoral::ControlList& events)
}
for (uint32_t n = 0; n < vp; ++n) {
- line_points[n].set_x (control_points[n]->get_x());
- line_points[n].set_y (control_points[n]->get_y());
+ line_points[n].x = control_points[n]->get_x();
+ line_points[n].y = control_points[n]->get_y();
}
- line->property_points() = line_points;
+ line->set (line_points);
- if (_visible && alist->interpolation() != AutomationList::Discrete) {
- line->show();
- }
+ update_visibility ();
}
set_selected_points (trackview.editor().get_selection().points);
@@ -1057,22 +1090,34 @@ AutomationLine::set_list (boost::shared_ptr<ARDOUR::AutomationList> list)
void
AutomationLine::add_visibility (VisibleAspects va)
{
+ VisibleAspects old = _visible;
+
_visible = VisibleAspects (_visible | va);
- show ();
+
+ if (old != _visible) {
+ update_visibility ();
+ }
}
void
AutomationLine::set_visibility (VisibleAspects va)
{
- _visible = va;
- show ();
+ if (_visible != va) {
+ _visible = va;
+ update_visibility ();
+ }
}
void
AutomationLine::remove_visibility (VisibleAspects va)
{
+ VisibleAspects old = _visible;
+
_visible = VisibleAspects (_visible & ~va);
- show ();
+
+ if (old != _visible) {
+ update_visibility ();
+ }
}
void
@@ -1208,9 +1253,8 @@ AutomationLine::add_visible_control_point (uint32_t view_index, uint32_t pi, dou
if (_visible & ControlPoints) {
control_points[view_index]->show ();
- control_points[view_index]->set_visible (true);
} else {
- control_points[view_index]->set_visible (false);
+ control_points[view_index]->hide ();
}
}
diff --git a/gtk2_ardour/automation_line.h b/gtk2_ardour/automation_line.h
index 054e84e789..663310dc46 100644
--- a/gtk2_ardour/automation_line.h
+++ b/gtk2_ardour/automation_line.h
@@ -25,10 +25,7 @@
#include <string>
#include <sys/types.h>
-#include <libgnomecanvasmm/line.h>
#include <sigc++/signal.h>
-#include "canvas.h"
-#include "simplerect.h"
#include "evoral/TimeConverter.hpp"
@@ -39,6 +36,10 @@
#include "ardour/automation_list.h"
#include "ardour/types.h"
+#include "canvas/types.h"
+#include "canvas/container.h"
+#include "canvas/poly_line.h"
+
class AutomationLine;
class ControlPoint;
class PointSelection;
@@ -46,12 +47,8 @@ class TimeAxisView;
class AutomationTimeAxisView;
class Selectable;
class Selection;
+class PublicEditor;
-namespace Gnome {
- namespace Canvas {
- class SimpleRect;
- }
-}
/** A GUI representation of an ARDOUR::AutomationList */
class AutomationLine : public sigc::trackable, public PBD::StatefulDestructible
@@ -63,7 +60,7 @@ public:
SelectedControlPoints = 0x4
};
- AutomationLine (const std::string& name, TimeAxisView&, ArdourCanvas::Group&,
+ AutomationLine (const std::string& name, TimeAxisView&, ArdourCanvas::Item&,
boost::shared_ptr<ARDOUR::AutomationList>,
Evoral::TimeConverter<double, ARDOUR::framepos_t>* converter = 0);
virtual ~AutomationLine ();
@@ -108,7 +105,7 @@ public:
TimeAxisView& trackview;
- ArdourCanvas::Group& canvas_group() const { return *group; }
+ ArdourCanvas::Container& canvas_group() const { return *group; }
ArdourCanvas::Item& parent_group() const { return _parent_group; }
ArdourCanvas::Item& grab_item() const { return *line; }
@@ -176,9 +173,9 @@ protected:
/** true if we did a push at any point during the current drag */
bool did_push;
- ArdourCanvas::Group& _parent_group;
- ArdourCanvas::Group* group;
- ArdourCanvas::Line* line; /* line */
+ ArdourCanvas::Item& _parent_group;
+ ArdourCanvas::Container* group;
+ ArdourCanvas::PolyLine* line; /* line */
ArdourCanvas::Points line_points; /* coordinates for canvas line */
std::vector<ControlPoint*> control_points; /* visible control points */
@@ -187,7 +184,7 @@ public:
ContiguousControlPoints (AutomationLine& al);
double clamp_dx (double dx);
void move (double dx, double dy);
- void compute_x_bounds ();
+ void compute_x_bounds (PublicEditor& e);
private:
AutomationLine& line;
double before_x;
@@ -222,7 +219,7 @@ private:
*/
ARDOUR::framecnt_t _offset;
- void show ();
+ void update_visibility ();
void reset_line_coords (ControlPoint&);
void add_visible_control_point (uint32_t, uint32_t, double, double, ARDOUR::AutomationList::iterator, uint32_t);
double control_point_box_size ();
diff --git a/gtk2_ardour/automation_region_view.cc b/gtk2_ardour/automation_region_view.cc
index 409890e7b2..2da15c17c5 100644
--- a/gtk2_ardour/automation_region_view.cc
+++ b/gtk2_ardour/automation_region_view.cc
@@ -39,13 +39,13 @@
#include "i18n.h"
-AutomationRegionView::AutomationRegionView (ArdourCanvas::Group* parent,
+AutomationRegionView::AutomationRegionView (ArdourCanvas::Container* parent,
AutomationTimeAxisView& time_axis,
boost::shared_ptr<ARDOUR::Region> region,
const Evoral::Parameter& param,
boost::shared_ptr<ARDOUR::AutomationList> list,
double spu,
- Gdk::Color const & basic_color)
+ uint32_t basic_color)
: RegionView(parent, time_axis, region, spu, basic_color, true)
, _parameter(param)
{
@@ -54,7 +54,7 @@ AutomationRegionView::AutomationRegionView (ArdourCanvas::Group*
create_line(list);
}
- group->signal_event().connect (sigc::mem_fun (this, &AutomationRegionView::canvas_event), false);
+ group->Event.connect (sigc::mem_fun (this, &AutomationRegionView::canvas_event));
group->raise_to_top();
}
@@ -63,15 +63,13 @@ AutomationRegionView::~AutomationRegionView ()
}
void
-AutomationRegionView::init (Gdk::Color const & basic_color, bool /*wfd*/)
+AutomationRegionView::init (bool /*wfd*/)
{
_enable_display = false;
- RegionView::init(basic_color, false);
+ RegionView::init (false);
- compute_colors (basic_color);
-
- reset_width_dependent_items ((double) _region->length() / samples_per_unit);
+ reset_width_dependent_items ((double) _region->length() / samples_per_pixel);
set_height (trackview.current_height());
@@ -116,17 +114,15 @@ AutomationRegionView::canvas_event (GdkEvent* ev)
double y = ev->button.y;
/* convert to item coordinates in the time axis view */
- automation_view()->canvas_display()->w2i (x, y);
+ automation_view()->canvas_display()->canvas_to_item (x, y);
/* clamp y */
y = std::max (y, 0.0);
y = std::min (y, _height - NAME_HIGHLIGHT_SIZE);
/* guard points only if primary modifier is used */
-
bool with_guard_points = Gtkmm2ext::Keyboard::modifier_state_equals (ev->button.state, Gtkmm2ext::Keyboard::PrimaryModifier);
-
- add_automation_event (ev, trackview.editor().pixel_to_frame (x) - _region->position() + _region->start(), y, with_guard_points);
+ add_automation_event (ev, trackview.editor().pixel_to_sample (x) - _region->position() + _region->start(), y, with_guard_points);
}
return false;
diff --git a/gtk2_ardour/automation_region_view.h b/gtk2_ardour/automation_region_view.h
index 8933b30b19..1dec06f0c6 100644
--- a/gtk2_ardour/automation_region_view.h
+++ b/gtk2_ardour/automation_region_view.h
@@ -26,7 +26,6 @@
#include "automation_time_axis.h"
#include "automation_line.h"
#include "enums.h"
-#include "canvas.h"
namespace ARDOUR {
class AutomationList;
@@ -38,17 +37,17 @@ class TimeAxisView;
class AutomationRegionView : public RegionView
{
public:
- AutomationRegionView(ArdourCanvas::Group*,
+ AutomationRegionView(ArdourCanvas::Container*,
AutomationTimeAxisView&,
boost::shared_ptr<ARDOUR::Region>,
const Evoral::Parameter& parameter,
boost::shared_ptr<ARDOUR::AutomationList>,
- double initial_samples_per_unit,
- Gdk::Color const & basic_color);
+ double initial_samples_per_pixel,
+ uint32_t basic_color);
~AutomationRegionView();
- void init (Gdk::Color const & basic_color, bool wfd);
+ void init (bool wfd);
inline AutomationTimeAxisView* automation_view() const
{ return dynamic_cast<AutomationTimeAxisView*>(&trackview); }
@@ -56,7 +55,7 @@ public:
boost::shared_ptr<AutomationLine> line() { return _line; }
// We are a ghost. Meta ghosts? Crazy talk.
- virtual GhostRegion* add_ghost(TimeAxisView&) { return NULL; }
+ virtual GhostRegion* add_ghost(TimeAxisView&) { return 0; }
void set_height (double);
void reset_width_dependent_items(double pixel_width);
diff --git a/gtk2_ardour/automation_streamview.cc b/gtk2_ardour/automation_streamview.cc
index e477b7ce72..53c643c027 100644
--- a/gtk2_ardour/automation_streamview.cc
+++ b/gtk2_ardour/automation_streamview.cc
@@ -22,7 +22,10 @@
#include <gtkmm.h>
-#include <gtkmm2ext/gtk_ui.h>
+#include "gtkmm2ext/gtk_ui.h"
+
+#include "pbd/compose.h"
+#include "canvas/debug.h"
#include "ardour/midi_region.h"
#include "ardour/midi_source.h"
@@ -31,16 +34,12 @@
#include "region_view.h"
#include "automation_region_view.h"
#include "automation_time_axis.h"
-#include "canvas-simplerect.h"
#include "region_selection.h"
#include "selection.h"
#include "public_editor.h"
#include "ardour_ui.h"
#include "rgb_macros.h"
#include "gui_thread.h"
-#include "utils.h"
-#include "simplerect.h"
-#include "simpleline.h"
using namespace std;
using namespace ARDOUR;
@@ -49,13 +48,15 @@ using namespace Editing;
AutomationStreamView::AutomationStreamView (AutomationTimeAxisView& tv)
: StreamView (*dynamic_cast<RouteTimeAxisView*>(tv.get_parent()),
- new ArdourCanvas::Group(*tv.canvas_background()),
- new ArdourCanvas::Group(*tv.canvas_display()))
+ tv.canvas_display())
, _automation_view(tv)
, _pending_automation_state (Off)
{
- //canvas_rect->property_fill_color_rgba() = stream_base_color;
- canvas_rect->property_outline_color_rgba() = RGBA_BLACK;
+ CANVAS_DEBUG_NAME (_canvas_group, string_compose ("SV canvas group auto %1", tv.name()));
+ CANVAS_DEBUG_NAME (canvas_rect, string_compose ("SV canvas rectangle auto %1", tv.name()));
+
+ canvas_rect->set_fill (false);
+ canvas_rect->set_outline_color (RGBA_BLACK);
}
AutomationStreamView::~AutomationStreamView ()
@@ -64,11 +65,11 @@ AutomationStreamView::~AutomationStreamView ()
RegionView*
-AutomationStreamView::add_region_view_internal (boost::shared_ptr<Region> region, bool wfd, bool /*recording*/)
+AutomationStreamView::add_region_view_internal (boost::shared_ptr<Region> region, bool wait_for_data, bool /*recording*/)
{
assert (region);
- if (wfd) {
+ if (wait_for_data) {
boost::shared_ptr<MidiRegion> mr = boost::dynamic_pointer_cast<MidiRegion>(region);
if (mr) {
mr->midi_source()->load_model();
@@ -98,7 +99,7 @@ AutomationStreamView::add_region_view_internal (boost::shared_ptr<Region> region
arv->line()->set_list (list);
}
(*i)->set_valid (true);
- (*i)->enable_display(wfd);
+ (*i)->enable_display (wait_for_data);
display_region(arv);
return 0;
@@ -108,20 +109,20 @@ AutomationStreamView::add_region_view_internal (boost::shared_ptr<Region> region
region_view = new AutomationRegionView (
_canvas_group, _automation_view, region,
_automation_view.parameter (), list,
- _samples_per_unit, region_color
+ _samples_per_pixel, region_color
);
- region_view->init (region_color, false);
+ region_view->init (false);
region_views.push_front (region_view);
/* follow global waveform setting */
- if (wfd) {
+ if (wait_for_data) {
region_view->enable_display(true);
- //region_view->midi_region()->midi_source(0)->load_model();
+ // region_view->midi_region()->midi_source(0)->load_model();
}
- display_region(region_view);
+ display_region (region_view);
/* catch regionview going away */
region->DropReferences.connect (*this, invalidator (*this), boost::bind (&AutomationStreamView::remove_region_view, this, boost::weak_ptr<Region>(region)), gui_context());
@@ -191,11 +192,11 @@ void
AutomationStreamView::color_handler ()
{
/*if (_trackview.is_midi_track()) {
- canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_MidiTrackBase.get();
+ canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->get_canvasvar_MidiTrackBase();
}
if (!_trackview.is_midi_track()) {
- canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_MidiBusBase.get();;
+ canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->get_canvasvar_MidiBusBase();;
}*/
}
diff --git a/gtk2_ardour/automation_streamview.h b/gtk2_ardour/automation_streamview.h
index 2b8013fefd..d058f02434 100644
--- a/gtk2_ardour/automation_streamview.h
+++ b/gtk2_ardour/automation_streamview.h
@@ -24,7 +24,6 @@
#include "ardour/location.h"
#include "enums.h"
-#include "simplerect.h"
#include "streamview.h"
#include "time_axis_view_item.h"
#include "route_time_axis.h"
diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc
index 08690cd61c..f3d82d0b0a 100644
--- a/gtk2_ardour/automation_time_axis.cc
+++ b/gtk2_ardour/automation_time_axis.cc
@@ -28,9 +28,12 @@
#include "ardour/automation_control.h"
#include "ardour/event_type_map.h"
+#include "ardour/profile.h"
#include "ardour/route.h"
#include "ardour/session.h"
+#include "canvas/debug.h"
+
#include "ardour_ui.h"
#include "automation_time_axis.h"
#include "automation_streamview.h"
@@ -39,11 +42,9 @@
#include "route_time_axis.h"
#include "automation_line.h"
#include "public_editor.h"
-#include "simplerect.h"
#include "selection.h"
#include "rgb_macros.h"
#include "point_selection.h"
-#include "canvas_impl.h"
#include "control_point.h"
#include "utils.h"
@@ -51,6 +52,7 @@
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtk;
using namespace Gtkmm2ext;
@@ -84,12 +86,17 @@ AutomationTimeAxisView::AutomationTimeAxisView (
, _control (c)
, _automatable (a)
, _parameter (p)
- , _base_rect (0)
- , _view (show_regions ? new AutomationStreamView (*this) : 0)
+ , _base_rect (new ArdourCanvas::Rectangle (_canvas_display))
, _name (nom)
+ , _view (show_regions ? new AutomationStreamView (*this) : 0)
, auto_button (X_("")) /* force addition of a label */
, _show_regions (show_regions)
{
+
+ CANVAS_DEBUG_NAME (_canvas_display, string_compose ("main for auto %2/%1", _name, r->name()));
+ CANVAS_DEBUG_NAME (selection_group, string_compose ("selections for auto %2/%1", _name, r->name()));
+ CANVAS_DEBUG_NAME (_ghost_group, string_compose ("ghosts for auto %2/%1", _name, r->name()));
+
if (!have_name_font) {
name_font = get_font_for_style (X_("AutomationTrackName"));
have_name_font = true;
@@ -110,33 +117,22 @@ AutomationTimeAxisView::AutomationTimeAxisView (
ignore_state_request = false;
first_call_to_set_height = true;
- _base_rect = new SimpleRect(*_canvas_display);
- _base_rect->property_x1() = 0.0;
- _base_rect->property_y1() = 0.0;
- /** gnomecanvas sometimes converts this value to int or adds 2 to it, so it must be
- set correctly to avoid overflow.
- */
- _base_rect->property_x2() = INT_MAX - 2;
- _base_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_AutomationTrackOutline.get();
-
- /* outline ends and bottom */
- _base_rect->property_outline_what() = (guint32) (0x1|0x2|0x8);
- _base_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_AutomationTrackFill.get();
-
+ CANVAS_DEBUG_NAME (_base_rect, string_compose ("base rect for %1", _name));
+ _base_rect->set_x1 (ArdourCanvas::COORD_MAX);
+ _base_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_AutomationTrackOutline());
+ _base_rect->set_outline_what (ArdourCanvas::Rectangle::BOTTOM); // bottom separator
+ _base_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_AutomationTrackFill());
_base_rect->set_data ("trackview", this);
-
- _base_rect->signal_event().connect (sigc::bind (
- sigc::mem_fun (_editor, &PublicEditor::canvas_automation_track_event),
- _base_rect, this));
-
+ _base_rect->Event.connect (sigc::bind (sigc::mem_fun (_editor, &PublicEditor::canvas_automation_track_event), _base_rect, this));
if (!a) {
_base_rect->lower_to_bottom();
}
- hide_button.add (*(manage (new Gtk::Image (::get_icon("hide")))));
+ hide_button.set_elements ((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::CloseCross));
+ hide_button.set_tweaks(ArdourButton::TrackHeader);
- auto_button.set_name ("TrackVisualButton");
- hide_button.set_name ("TrackRemoveButton");
+ auto_button.set_name ("route button");
+ hide_button.set_name ("route button");
auto_button.unset_flags (Gtk::CAN_FOCUS);
hide_button.unset_flags (Gtk::CAN_FOCUS);
@@ -153,6 +149,9 @@ AutomationTimeAxisView::AutomationTimeAxisView (
set_height (preset_height (HeightNormal));
}
+ //name label isn't editable on an automation track; remove the tooltip
+ ARDOUR_UI::instance()->set_tip (name_label, X_(""));
+
/* repack the name label */
if (name_label.get_parent()) {
@@ -160,8 +159,8 @@ AutomationTimeAxisView::AutomationTimeAxisView (
}
name_label.set_text (_name);
- name_label.set_alignment (Gtk::ALIGN_CENTER, Gtk::ALIGN_CENTER);
- name_label.set_name (X_("TrackParameterName"));
+ name_label.set_alignment (Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER);
+ name_label.set_name (X_("TrackParameterName"));
name_label.set_ellipsize (Pango::ELLIPSIZE_END);
string tipname = nomparent;
@@ -172,28 +171,66 @@ AutomationTimeAxisView::AutomationTimeAxisView (
ARDOUR_UI::instance()->set_tip(controls_ebox, tipname);
/* add the buttons */
- controls_table.attach (hide_button, 0, 1, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND);
- controls_table.attach (name_label, 0, 6, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND);
- controls_table.attach (auto_button, 6, 8, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND);
+ controls_table.set_border_width (1);
+ controls_table.remove (name_hbox);
+ controls_table.attach (hide_button, 1, 2, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
+ controls_table.attach (name_label, 2, 3, 1, 3, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND, 2, 0);
+ controls_table.attach (auto_button, 3, 4, 2, 3, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
+ Gtk::DrawingArea *blank0 = manage (new Gtk::DrawingArea());
+ Gtk::DrawingArea *blank1 = manage (new Gtk::DrawingArea());
+
+ RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*>(&parent);
+ // TODO use rtv->controls_base_unselected_name
+ // subscribe to route_active_changed, ...
+ if (rtv && rtv->is_audio_track()) {
+ blank0->set_name ("AudioTrackControlsBaseUnselected");
+ }
+ else if (rtv && rtv->is_midi_track()) {
+ blank0->set_name ("MidiTrackControlsBaseUnselected");
+ }
+ else {
+ blank0->set_name ("AudioBusControlsBaseUnselected");
+ }
+ blank0->set_size_request (-1, -1);
+ blank1->set_size_request (1, 0);
+ VSeparator* separator = manage (new VSeparator());
+ separator->set_name("TrackSeparator");
+ separator->set_size_request (1, -1);
+
+ controls_button_size_group->add_widget(hide_button);
+ controls_button_size_group->add_widget(*blank0);
+
+ time_axis_hbox.pack_start (*blank0, false, false);
+ time_axis_hbox.pack_start (*separator, false, false);
+ time_axis_hbox.reorder_child (*blank0, 0);
+ time_axis_hbox.reorder_child (*separator, 1);
+ time_axis_hbox.reorder_child (time_axis_vbox, 2);
+
+ if (!ARDOUR::Profile->get_mixbus() ) {
+ time_axis_hbox.pack_start (*blank1, false, false);
+ }
+
+ blank0->show();
+ separator->show();
name_label.show ();
+ hide_button.show ();
if (_controller) {
- _controller.get()->set_size_request(-1, 24);
- /* add bar controller */
- controls_table.attach (*_controller.get(), 1, 8, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND);
- /* note that this handler connects *before* the default handler */
- _controller->event_widget().signal_scroll_event().connect (mem_fun (*this, &AutomationTimeAxisView::controls_ebox_scroll), false);
+ _controller.get()->set_tweaks (PixFader::Tweaks(_controller.get()->tweaks() | PixFader::NoVerticalScroll));
+ controls_table.attach (*_controller.get(), 2, 4, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND, 0, 0);
}
controls_table.show_all ();
- hide_button.signal_clicked().connect (sigc::mem_fun(*this, &AutomationTimeAxisView::hide_clicked));
- auto_button.signal_clicked().connect (sigc::mem_fun(*this, &AutomationTimeAxisView::auto_clicked));
+ hide_button.signal_clicked.connect (sigc::mem_fun(*this, &AutomationTimeAxisView::hide_clicked));
+ auto_button.signal_clicked.connect (sigc::mem_fun(*this, &AutomationTimeAxisView::auto_clicked));
controls_base_selected_name = X_("AutomationTrackControlsBaseSelected");
controls_base_unselected_name = X_("AutomationTrackControlsBase");
+
controls_ebox.set_name (controls_base_unselected_name);
+ time_axis_frame.set_name (controls_base_unselected_name);
/* ask for notifications of any new RegionViews */
if (show_regions) {
@@ -216,7 +253,7 @@ AutomationTimeAxisView::AutomationTimeAxisView (
)
);
- line->set_line_color (ARDOUR_UI::config()->canvasvar_ProcessorAutomationLine.get());
+ line->set_line_color (ARDOUR_UI::config()->get_canvasvar_ProcessorAutomationLine());
line->queue_reset ();
add_line (line);
}
@@ -304,7 +341,7 @@ AutomationTimeAxisView::automation_state_changed ()
switch (state & (ARDOUR::Off|Play|Touch|Write)) {
case ARDOUR::Off:
- auto_button.set_label (S_("Automation|Manual"));
+ auto_button.set_text (S_("Automation|Manual"));
if (auto_off_item) {
ignore_state_request = true;
auto_off_item->set_active (true);
@@ -315,7 +352,7 @@ AutomationTimeAxisView::automation_state_changed ()
}
break;
case Play:
- auto_button.set_label (_("Play"));
+ auto_button.set_text (_("Play"));
if (auto_play_item) {
ignore_state_request = true;
auto_play_item->set_active (true);
@@ -326,7 +363,7 @@ AutomationTimeAxisView::automation_state_changed ()
}
break;
case Write:
- auto_button.set_label (_("Write"));
+ auto_button.set_text (_("Write"));
if (auto_write_item) {
ignore_state_request = true;
auto_write_item->set_active (true);
@@ -337,7 +374,7 @@ AutomationTimeAxisView::automation_state_changed ()
}
break;
case Touch:
- auto_button.set_label (_("Touch"));
+ auto_button.set_text (_("Touch"));
if (auto_touch_item) {
ignore_state_request = true;
auto_touch_item->set_active (true);
@@ -348,7 +385,7 @@ AutomationTimeAxisView::automation_state_changed ()
}
break;
default:
- auto_button.set_label (_("???"));
+ auto_button.set_text (_("???"));
break;
}
}
@@ -410,7 +447,7 @@ AutomationTimeAxisView::set_height (uint32_t h)
TimeAxisView::set_height (h);
- _base_rect->property_y2() = h;
+ _base_rect->set_y1 (h);
if (_line) {
_line->set_height(h);
@@ -427,16 +464,18 @@ AutomationTimeAxisView::set_height (uint32_t h)
if (h >= preset_height (HeightNormal)) {
auto_button.show();
- hide_button.show_all();
+ name_label.show();
+ hide_button.show();
} else if (h >= preset_height (HeightSmall)) {
controls_table.hide_all ();
auto_button.hide();
+ name_label.hide();
}
}
if (changed) {
- if (canvas_item_visible (_canvas_display) && _route) {
+ if (_canvas_display->visible() && _route) {
/* only emit the signal if the height really changed and we were visible */
_route->gui_changed ("visible_tracks", (void *) 0); /* EMIT_SIGNAL */
}
@@ -444,16 +483,16 @@ AutomationTimeAxisView::set_height (uint32_t h)
}
void
-AutomationTimeAxisView::set_samples_per_unit (double spu)
+AutomationTimeAxisView::set_samples_per_pixel (double fpp)
{
- TimeAxisView::set_samples_per_unit (spu);
+ TimeAxisView::set_samples_per_pixel (fpp);
if (_line) {
_line->reset ();
}
if (_view) {
- _view->set_samples_per_unit (spu);
+ _view->set_samples_per_pixel (fpp);
}
}
@@ -496,22 +535,22 @@ AutomationTimeAxisView::build_display_menu ()
as_items.push_back (CheckMenuElem (S_("Automation|Manual"), sigc::bind (
sigc::mem_fun(*this, &AutomationTimeAxisView::set_automation_state),
(AutoState) ARDOUR::Off)));
- auto_off_item = dynamic_cast<CheckMenuItem*>(&as_items.back());
+ auto_off_item = dynamic_cast<Gtk::CheckMenuItem*>(&as_items.back());
as_items.push_back (CheckMenuElem (_("Play"), sigc::bind (
sigc::mem_fun(*this, &AutomationTimeAxisView::set_automation_state),
(AutoState) Play)));
- auto_play_item = dynamic_cast<CheckMenuItem*>(&as_items.back());
+ auto_play_item = dynamic_cast<Gtk::CheckMenuItem*>(&as_items.back());
as_items.push_back (CheckMenuElem (_("Write"), sigc::bind (
sigc::mem_fun(*this, &AutomationTimeAxisView::set_automation_state),
(AutoState) Write)));
- auto_write_item = dynamic_cast<CheckMenuItem*>(&as_items.back());
+ auto_write_item = dynamic_cast<Gtk::CheckMenuItem*>(&as_items.back());
as_items.push_back (CheckMenuElem (_("Touch"), sigc::bind (
sigc::mem_fun(*this, &AutomationTimeAxisView::set_automation_state),
(AutoState) Touch)));
- auto_touch_item = dynamic_cast<CheckMenuItem*>(&as_items.back());
+ auto_touch_item = dynamic_cast<Gtk::CheckMenuItem*>(&as_items.back());
items.push_back (MenuElem (_("State"), *auto_state_menu));
@@ -531,13 +570,13 @@ AutomationTimeAxisView::build_display_menu ()
am_items.push_back (RadioMenuElem (group, _("Discrete"), sigc::bind (
sigc::mem_fun(*this, &AutomationTimeAxisView::set_interpolation),
AutomationList::Discrete)));
- mode_discrete_item = dynamic_cast<CheckMenuItem*>(&am_items.back());
+ mode_discrete_item = dynamic_cast<Gtk::CheckMenuItem*>(&am_items.back());
mode_discrete_item->set_active (s == AutomationList::Discrete);
am_items.push_back (RadioMenuElem (group, _("Linear"), sigc::bind (
sigc::mem_fun(*this, &AutomationTimeAxisView::set_interpolation),
AutomationList::Linear)));
- mode_line_item = dynamic_cast<CheckMenuItem*>(&am_items.back());
+ mode_line_item = dynamic_cast<Gtk::CheckMenuItem*>(&am_items.back());
mode_line_item->set_active (s == AutomationList::Linear);
items.push_back (MenuElem (_("Mode"), *auto_mode_menu));
@@ -567,7 +606,7 @@ AutomationTimeAxisView::add_automation_event (GdkEvent* event, framepos_t when,
double x = 0;
- _canvas_display->w2i (x, y);
+ _canvas_display->canvas_to_item (x, y);
/* compute vertical fractional position */
diff --git a/gtk2_ardour/automation_time_axis.h b/gtk2_ardour/automation_time_axis.h
index 3e29831872..a468c12459 100644
--- a/gtk2_ardour/automation_time_axis.h
+++ b/gtk2_ardour/automation_time_axis.h
@@ -30,10 +30,11 @@
#include "ardour/automatable.h"
#include "ardour/automation_list.h"
-#include "canvas.h"
+#include "canvas/rectangle.h"
+
#include "time_axis_view.h"
-#include "simplerect.h"
#include "automation_controller.h"
+#include "ardour_button.h"
namespace ARDOUR {
class Session;
@@ -69,7 +70,7 @@ class AutomationTimeAxisView : public TimeAxisView {
~AutomationTimeAxisView();
virtual void set_height (uint32_t);
- void set_samples_per_unit (double);
+ void set_samples_per_pixel (double);
std::string name() const { return _name; }
void add_automation_event (GdkEvent *, framepos_t, double, bool with_guard_points);
@@ -132,19 +133,19 @@ class AutomationTimeAxisView : public TimeAxisView {
boost::shared_ptr<AutomationController> _controller;
Evoral::Parameter _parameter;
- ArdourCanvas::SimpleRect* _base_rect;
+ ArdourCanvas::Rectangle* _base_rect;
boost::shared_ptr<AutomationLine> _line;
+ std::string _name;
+
/** AutomationStreamView if we are editing region-based automation (for MIDI), otherwise 0 */
AutomationStreamView* _view;
- std::string _name;
bool ignore_toggle;
-
bool first_call_to_set_height;
- Gtk::Button hide_button;
- Gtk::Button auto_button;
+ ArdourButton hide_button;
+ ArdourButton auto_button;
Gtk::Menu* automation_menu;
Gtk::Label* plugname;
bool plugname_packed;
@@ -165,6 +166,8 @@ class AutomationTimeAxisView : public TimeAxisView {
void hide_clicked ();
void auto_clicked ();
+ virtual bool can_edit_name() const {return false;}
+
void build_display_menu ();
void cut_copy_clear_one (AutomationLine&, Selection&, Editing::CutCopyOp);
diff --git a/gtk2_ardour/axis_view.cc b/gtk2_ardour/axis_view.cc
index 7a449843e0..5e36fc43c1 100644
--- a/gtk2_ardour/axis_view.cc
+++ b/gtk2_ardour/axis_view.cc
@@ -43,6 +43,7 @@ using namespace std;
using namespace Gtk;
using namespace Gtkmm2ext;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
list<Gdk::Color> AxisView::used_colors;
@@ -65,7 +66,14 @@ AxisView::unique_random_color()
string
AxisView::gui_property (const string& property_name) const
{
- return gui_object_state().get_string (state_id(), property_name);
+ if (property_hashtable.count(property_name)) {
+ return property_hashtable[property_name];
+ } else {
+ string rv = gui_object_state().get_string (state_id(), property_name);
+ property_hashtable.erase(property_name);
+ property_hashtable.emplace(property_name, rv);
+ return rv;
+ }
}
bool
@@ -83,7 +91,6 @@ AxisView::set_marked_for_display (bool yn)
set_gui_property ("visible", yn);
return true; // things changed
}
-
return false;
}
diff --git a/gtk2_ardour/axis_view.h b/gtk2_ardour/axis_view.h
index 17f8c09a7b..4ce76c92ce 100644
--- a/gtk2_ardour/axis_view.h
+++ b/gtk2_ardour/axis_view.h
@@ -21,6 +21,7 @@
#define __ardour_gtk_axis_view_h__
#include <list>
+#include <boost/unordered_map.hpp>
#include <gtkmm/label.h>
#include <gdkmm/color.h>
@@ -63,6 +64,10 @@ class AxisView : public virtual Selectable, public PBD::ScopedConnectionList, pu
std::string gui_property (const std::string& property_name) const;
template<typename T> void set_gui_property (const std::string& property_name, const T& value) {
+ std::stringstream s;
+ s << value;
+ property_hashtable.erase(property_name);
+ property_hashtable.emplace(property_name, s.str());
gui_object_state().set_property<T> (state_id(), property_name, value);
}
@@ -83,14 +88,13 @@ class AxisView : public virtual Selectable, public PBD::ScopedConnectionList, pu
*/
static Gdk::Color unique_random_color();
-
Gdk::Color _color;
static std::list<Gdk::Color> used_colors;
Gtk::Label name_label;
- bool _marked_for_display;
+ mutable boost::unordered_map<std::string, std::string> property_hashtable;
uint32_t _old_order_key;
}; /* class AxisView */
diff --git a/gtk2_ardour/big_clock_window.cc b/gtk2_ardour/big_clock_window.cc
index 5b369a68c1..28b7b286ab 100644
--- a/gtk2_ardour/big_clock_window.cc
+++ b/gtk2_ardour/big_clock_window.cc
@@ -19,6 +19,7 @@
#include <algorithm>
#include <string>
+#include <vector>
#include "ardour_ui.h"
#include "audio_clock.h"
@@ -30,6 +31,7 @@
using std::min;
using std::string;
+using namespace ARDOUR_UI_UTILS;
BigClockWindow::BigClockWindow (AudioClock& c)
: ArdourWindow (_("Big Clock"))
@@ -138,11 +140,11 @@ BigClockWindow::text_resizer (int, int)
if (size != current_size) {
string family = fd.get_family();
- char buf[family.length()+16];
- snprintf (buf, family.length()+16, "%s %d", family.c_str(), size);
+ std::vector<char> buf(family.length()+16);
+ snprintf (&buf[0], family.length()+16, "%s %d", family.c_str(), size);
try {
- Pango::FontDescription fd (buf);
+ Pango::FontDescription fd (&buf[0]);
Glib::RefPtr<Gtk::RcStyle> rcstyle = clock.get_modifier_style ();
rcstyle->set_font (fd);
clock.modify_style (rcstyle);
diff --git a/gtk2_ardour/canvas_impl.h b/gtk2_ardour/bundle_env.h
index d8f9a63ad5..3a2ca4c54d 100644
--- a/gtk2_ardour/canvas_impl.h
+++ b/gtk2_ardour/bundle_env.h
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2000-2007 Paul Davis
+ Copyright (C) 2001-2012 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
@@ -17,18 +17,19 @@
*/
-#ifndef __ardour_gtk_canvas_impl_h__
-#define __ardour_gtk_canvas_impl_h__
+#ifndef __gtk2_ardour_bundle_env_h__
+#define __gtk2_ardour_bundle_env_h__
-#include "canvas.h"
+/** This function must do whatever is necessary to create the right runtime
+ * environment for the GTK2 version of ardour, on a per-platform basis.
+ */
-#include <libgnomecanvasmm/canvas.h>
-#include <libgnomecanvasmm/polygon.h>
-#include <libgnomecanvasmm/text.h>
-#include <libgnomecanvasmm/rect.h>
-#include <libgnomecanvasmm/line.h>
-#include <libgnomecanvasmm/item.h>
+void fixup_bundle_environment (int, char* [], const char** localedir);
-using namespace ArdourCanvas;
+/** Load any fonts required by the GTK2 version of ardour, on a per-platform
+ * basis.
+ */
-#endif /* __ardour_gtk_canvas_impl_h__ */
+void load_custom_fonts();
+
+#endif /* __gtk2_ardour_bundle_env_h__ */
diff --git a/gtk2_ardour/bundle_env_cocoa.cc b/gtk2_ardour/bundle_env_cocoa.cc
new file mode 100644
index 0000000000..d8c37e1367
--- /dev/null
+++ b/gtk2_ardour/bundle_env_cocoa.cc
@@ -0,0 +1,172 @@
+/*
+ Copyright (C) 2001-2012 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 <string>
+#include <vector>
+#include <cerrno>
+#include <cstring>
+
+#include <glib.h>
+#include <glibmm/fileutils.h>
+#include <glibmm/miscutils.h>
+
+#include <fontconfig/fontconfig.h>
+
+#include "ardour/ardour.h"
+#include "ardour/filesystem_paths.h"
+
+#include "pbd/epa.h"
+#include "pbd/search_path.h"
+#include "pbd/pathexpand.h"
+#include "pbd/file_utils.h"
+
+#include "bundle_env.h"
+
+#include "i18n.h"
+
+#include <Carbon/Carbon.h>
+#include <mach-o/dyld.h>
+#include <sys/param.h>
+
+using namespace PBD;
+using namespace ARDOUR;
+using namespace std;
+
+extern void set_language_preference (); // cocoacarbon.mm
+
+void
+fixup_bundle_environment (int, char* [], const char** localedir)
+{
+ if (!g_getenv ("ARDOUR_BUNDLED")) {
+ return;
+ }
+
+ EnvironmentalProtectionAgency::set_global_epa (new EnvironmentalProtectionAgency (true, "PREBUNDLE_ENV"));
+
+ set_language_preference ();
+
+ char execpath[MAXPATHLEN+1];
+ uint32_t pathsz = sizeof (execpath);
+
+ _NSGetExecutablePath (execpath, &pathsz);
+
+ std::string path;
+ std::string exec_dir = Glib::path_get_dirname (execpath);
+ std::string bundle_dir;
+ std::string userconfigdir = user_config_directory();
+
+ bundle_dir = Glib::path_get_dirname (exec_dir);
+
+#ifdef ENABLE_NLS
+ if (!ARDOUR::translations_are_enabled ()) {
+ (*localedir) = "/this/cannot/exist";
+ } else {
+ /* force localedir into the bundle */
+
+ vector<string> lpath;
+ lpath.push_back (bundle_dir);
+ lpath.push_back ("Resources");
+ lpath.push_back ("locale");
+ (*localedir) = strdup (Glib::build_filename (lpath).c_str());
+ }
+#endif
+
+ export_search_path (bundle_dir, "ARDOUR_DLL_PATH", "/lib");
+
+ /* inside an OS X .app bundle, there is no difference
+ between DATA and CONFIG locations, since OS X doesn't
+ attempt to do anything to expose the notion of
+ machine-independent shared data.
+ */
+
+ export_search_path (bundle_dir, "ARDOUR_DATA_PATH", "/Resources");
+ export_search_path (bundle_dir, "ARDOUR_CONFIG_PATH", "/Resources");
+ export_search_path (bundle_dir, "ARDOUR_INSTANT_XML_PATH", "/Resources");
+ export_search_path (bundle_dir, "LADSPA_PATH", "/Plugins");
+ export_search_path (bundle_dir, "VAMP_PATH", "/lib");
+ export_search_path (bundle_dir, "GTK_PATH", "/lib/gtkengines");
+
+ g_setenv ("SUIL_MODULE_DIR", (bundle_dir + "/lib").c_str(), 1);
+ g_setenv ("PATH", (bundle_dir + "/MacOS:" + std::string(g_getenv ("PATH"))).c_str(), 1);
+
+ /* unset GTK_RC_FILES so that we only load the RC files that we define
+ */
+
+ g_unsetenv ("GTK_RC_FILES");
+
+ /* write a pango.rc file and tell pango to use it. we'd love
+ to put this into the PROGRAM_NAME.app bundle and leave it there,
+ but the user may not have write permission. so ...
+
+ we also have to make sure that the user ardour directory
+ actually exists ...
+ */
+
+ if (g_mkdir_with_parents (userconfigdir.c_str(), 0755) < 0) {
+ error << string_compose (_("cannot create user %3 folder %1 (%2)"), userconfigdir, strerror (errno), PROGRAM_NAME)
+ << endmsg;
+ } else {
+
+ path = Glib::build_filename (userconfigdir, "pango.rc");
+ std::ofstream pangorc (path.c_str());
+ if (!pangorc) {
+ error << string_compose (_("cannot open pango.rc file %1") , path) << endmsg;
+ } else {
+ pangorc << "[Pango]\nModuleFiles="
+ << Glib::build_filename (bundle_dir, "Resources/pango.modules")
+ << endl;
+ pangorc.close ();
+
+ g_setenv ("PANGO_RC_FILE", path.c_str(), 1);
+ }
+ }
+
+ g_setenv ("CHARSETALIASDIR", bundle_dir.c_str(), 1);
+ g_setenv ("FONTCONFIG_FILE", Glib::build_filename (bundle_dir, "Resources/fonts.conf").c_str(), 1);
+ g_setenv ("GDK_PIXBUF_MODULE_FILE", Glib::build_filename (bundle_dir, "Resources/gdk-pixbuf.loaders").c_str(), 1);
+}
+
+void load_custom_fonts()
+{
+ /* this code will only compile on OS X 10.6 and above, and we currently do not
+ * need it for earlier versions since we fall back on a non-monospace,
+ * non-custom font.
+ */
+
+#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060
+ std::string ardour_mono_file;
+
+ if (!find_file (ardour_data_search_path(), "ArdourMono.ttf", ardour_mono_file)) {
+ cerr << _("Cannot find ArdourMono TrueType font") << endl;
+ }
+
+ CFStringRef ttf;
+ CFURLRef fontURL;
+ CFErrorRef error;
+ ttf = CFStringCreateWithBytes(
+ kCFAllocatorDefault, (UInt8*) ardour_mono_file.c_str(),
+ ardour_mono_file.length(),
+ kCFStringEncodingUTF8, FALSE);
+ fontURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, ttf, kCFURLPOSIXPathStyle, TRUE);
+ if (CTFontManagerRegisterFontsForURL(fontURL, kCTFontManagerScopeProcess, &error) != true) {
+ cerr << _("Cannot load ArdourMono TrueType font.") << endl;
+ }
+#endif
+}
diff --git a/gtk2_ardour/bundle_env_linux.cc b/gtk2_ardour/bundle_env_linux.cc
new file mode 100644
index 0000000000..ad484aa7c7
--- /dev/null
+++ b/gtk2_ardour/bundle_env_linux.cc
@@ -0,0 +1,170 @@
+/*
+ Copyright (C) 2001-2012 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 <string>
+#include <vector>
+#include <cerrno>
+#include <cstring>
+
+#include <glib.h>
+#include <glibmm/fileutils.h>
+#include <glibmm/miscutils.h>
+
+#include <fontconfig/fontconfig.h>
+
+#include "ardour/ardour.h"
+#include "ardour/filesystem_paths.h"
+
+#include "pbd/epa.h"
+#include "pbd/search_path.h"
+#include "pbd/pathexpand.h"
+#include "pbd/file_utils.h"
+
+#include "bundle_env.h"
+
+#include "i18n.h"
+
+using namespace PBD;
+using namespace ARDOUR;
+using namespace std;
+
+void
+fixup_bundle_environment (int /*argc*/, char* argv[], const char** localedir)
+{
+ /* THIS IS FOR LINUX - its just about the only place where its
+ * acceptable to build paths directly using '/'.
+ */
+
+ if (!g_getenv ("ARDOUR_BUNDLED")) {
+ return;
+ }
+
+ EnvironmentalProtectionAgency::set_global_epa (new EnvironmentalProtectionAgency (true, "PREBUNDLE_ENV"));
+
+ std::string path;
+ std::string dir_path = Glib::path_get_dirname (Glib::path_get_dirname (argv[0]));
+ std::string userconfigdir = user_config_directory();
+
+#ifdef ENABLE_NLS
+ if (!ARDOUR::translations_are_enabled ()) {
+ (*localedir) = "/this/cannot/exist";
+ } else {
+ /* force localedir into the bundle */
+ vector<string> lpath;
+ lpath.push_back (dir_path);
+ lpath.push_back ("share");
+ lpath.push_back ("locale");
+ (*localedir) = canonical_path (Glib::build_filename (lpath)).c_str();
+ }
+#endif
+
+ /* note that this function is POSIX/Linux specific, so using / as
+ a dir separator in this context is just fine.
+ */
+
+ export_search_path (dir_path, "ARDOUR_DLL_PATH", "/lib");
+ export_search_path (dir_path, "ARDOUR_CONFIG_PATH", "/etc");
+ export_search_path (dir_path, "ARDOUR_INSTANT_XML_PATH", "/share");
+ export_search_path (dir_path, "ARDOUR_DATA_PATH", "/share");
+ export_search_path (dir_path, "LADSPA_PATH", "/plugins");
+ export_search_path (dir_path, "VAMP_PATH", "/lib");
+ export_search_path (dir_path, "GTK_PATH", "/lib/gtkengines");
+
+ g_setenv ("SUIL_MODULE_DIR", (dir_path + "/lib").c_str(), 1);
+ g_setenv ("PATH", (dir_path + "/bin:" + std::string(g_getenv ("PATH"))).c_str(), 1);
+
+ /* unset GTK_RC_FILES so that we only load the RC files that we define
+ */
+
+ g_unsetenv ("GTK_RC_FILES");
+
+ /* Tell fontconfig where to find fonts.conf. Use the system version
+ if it exists, otherwise use the stuff we included in the bundle
+ */
+
+ if (Glib::file_test ("/etc/fonts/fonts.conf", Glib::FILE_TEST_EXISTS)) {
+ g_setenv ("FONTCONFIG_FILE", "/etc/fonts/fonts.conf", 1);
+ g_setenv ("FONTCONFIG_PATH", "/etc/fonts", 1);
+ } else {
+ error << _("No fontconfig file found on your system. Things may looked very odd or ugly") << endmsg;
+ }
+
+ /* write a pango.rc file and tell pango to use it. we'd love
+ to put this into the Ardour.app bundle and leave it there,
+ but the user may not have write permission. so ...
+
+ we also have to make sure that the user ardour directory
+ actually exists ...
+ */
+
+ if (g_mkdir_with_parents (userconfigdir.c_str(), 0755) < 0) {
+ error << string_compose (_("cannot create user %3 folder %1 (%2)"), userconfigdir, strerror (errno), PROGRAM_NAME)
+ << endmsg;
+ } else {
+
+ path = Glib::build_filename (userconfigdir, "pango.rc");
+ std::ofstream pangorc (path.c_str());
+ if (!pangorc) {
+ error << string_compose (_("cannot open pango.rc file %1") , path) << endmsg;
+ } else {
+ pangorc << "[Pango]\nModuleFiles="
+ << Glib::build_filename (userconfigdir, "pango.modules")
+ << endl;
+ pangorc.close ();
+ }
+
+ g_setenv ("PANGO_RC_FILE", path.c_str(), 1);
+
+ /* similar for GDK pixbuf loaders, but there's no RC file required
+ to specify where it lives.
+ */
+
+ g_setenv ("GDK_PIXBUF_MODULE_FILE", Glib::build_filename (userconfigdir, "gdk-pixbuf.loaders").c_str(), 1);
+ }
+
+ /* this doesn't do much but setting it should prevent various parts of the GTK/GNU stack
+ from looking outside the bundle to find the charset.alias file.
+ */
+ g_setenv ("CHARSETALIASDIR", dir_path.c_str(), 1);
+
+}
+
+void
+load_custom_fonts()
+{
+ std::string ardour_mono_file;
+
+ if (!find_file (ardour_data_search_path(), "ArdourMono.ttf", ardour_mono_file)) {
+ cerr << _("Cannot find ArdourMono TrueType font") << endl;
+ }
+
+ FcConfig *config = FcInitLoadConfigAndFonts();
+ FcBool ret = FcConfigAppFontAddFile(config, reinterpret_cast<const FcChar8*>(ardour_mono_file.c_str()));
+
+ if (ret == FcFalse) {
+ cerr << _("Cannot load ArdourMono TrueType font.") << endl;
+ }
+
+ ret = FcConfigSetCurrent(config);
+
+ if (ret == FcFalse) {
+ cerr << _("Failed to set fontconfig configuration.") << endl;
+ }
+}
diff --git a/gtk2_ardour/bundle_env_mingw.cc b/gtk2_ardour/bundle_env_mingw.cc
new file mode 100644
index 0000000000..2eb98f88a5
--- /dev/null
+++ b/gtk2_ardour/bundle_env_mingw.cc
@@ -0,0 +1,157 @@
+/*
+ Copyright (C) 2001-2012 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 <stdlib.h>
+#include "bundle_env.h"
+#include "i18n.h"
+
+#include <glibmm.h>
+#include <fontconfig/fontconfig.h>
+#include <pango/pangoft2.h>
+#include <pango/pangocairo.h>
+
+#include <windows.h>
+#include <wingdi.h>
+#include <shlobj.h> // CSIDL_*
+
+#include "ardour/ardour.h"
+#include "ardour/search_paths.h"
+#include "ardour/filesystem_paths.h"
+
+#include "pbd/file_utils.h"
+#include "pbd/epa.h"
+#include "pbd/windows_special_dirs.h"
+
+using namespace std;
+using namespace PBD;
+using namespace ARDOUR;
+
+
+/* query top-level Ardour installation path.
+ * Typically, this will be somehwere like
+ * "C:\Program Files (x86)\Ardour"
+ */
+const std::string
+get_install_path ()
+{
+ const gchar* pExeRoot = g_win32_get_package_installation_directory_of_module (0);
+
+ if (0 == pExeRoot) {
+ HKEY key;
+ DWORD size = PATH_MAX;
+ char tmp[PATH_MAX+1];
+ if (
+#ifdef __MINGW64__
+ (ERROR_SUCCESS == RegOpenKeyExA (HKEY_LOCAL_MACHINE, "Software\\Ardour\\ardour3\\w64", 0, KEY_READ, &key))
+#else
+ (ERROR_SUCCESS == RegOpenKeyExA (HKEY_LOCAL_MACHINE, "Software\\Ardour\\ardour3\\w32", 0, KEY_READ, &key))
+#endif
+ &&(ERROR_SUCCESS == RegQueryValueExA (key, "Install_Dir", 0, NULL, reinterpret_cast<LPBYTE>(tmp), &size))
+ )
+ {
+ pExeRoot = Glib::locale_to_utf8(tmp).c_str();
+ }
+ }
+
+ if (0 == pExeRoot) {
+ const char *program_files = PBD::get_win_special_folder (CSIDL_PROGRAM_FILES);
+ if (program_files) {
+ pExeRoot = g_build_filename(program_files, PROGRAM_NAME, NULL);
+ }
+ }
+
+ if (pExeRoot && Glib::file_test(pExeRoot, Glib::FILE_TEST_EXISTS|Glib::FILE_TEST_IS_DIR)) {
+ return std::string (pExeRoot);
+ }
+ return "";
+}
+
+
+void
+fixup_bundle_environment (int, char* [], const char** localedir)
+{
+ EnvironmentalProtectionAgency::set_global_epa (new EnvironmentalProtectionAgency (true));
+ /* what to do ? */
+ // we should at least set ARDOUR_DATA_PATH to prevent the warning message.
+ // setting a FONTCONFIG_FILE won't hurt either see bundle_env_msvc.cc
+ // (pangocairo prefers the windows gdi backend unless PANGOCAIRO_BACKEND=fc is set)
+
+ // Unset GTK_RC_FILES so that only ardour specific files are loaded
+ Glib::unsetenv ("GTK_RC_FILES");
+
+
+ std::string path;
+ const char *cstr;
+ cstr = getenv ("VAMP_PATH");
+ if (cstr) {
+ path = cstr;
+ path += G_SEARCHPATH_SEPARATOR;
+ } else {
+ path = "";
+ }
+ path += Glib::build_filename(get_install_path(), "lib", "ardour3", "vamp");
+ path += G_SEARCHPATH_SEPARATOR;
+ path += "%ProgramFiles%\\Vamp Plugins"; // default vamp path
+ path += G_SEARCHPATH_SEPARATOR;
+ path += "%COMMONPROGRAMFILES%\\Vamp Plugins";
+ Glib::setenv ("VAMP_PATH", path, true);
+}
+
+static __cdecl void
+unload_custom_fonts()
+{
+ std::string ardour_mono_file;
+ if (!find_file (ardour_data_search_path(), "ArdourMono.ttf", ardour_mono_file)) {
+ return;
+ }
+ RemoveFontResource(ardour_mono_file.c_str());
+}
+
+void
+load_custom_fonts()
+{
+ std::string ardour_mono_file;
+
+ if (!find_file (ardour_data_search_path(), "ArdourMono.ttf", ardour_mono_file)) {
+ cerr << _("Cannot find ArdourMono TrueType font") << endl;
+ return;
+ }
+
+ if (pango_font_map_get_type() == PANGO_TYPE_FT2_FONT_MAP) {
+ FcConfig *config = FcInitLoadConfigAndFonts();
+ FcBool ret = FcConfigAppFontAddFile(config, reinterpret_cast<const FcChar8*>(ardour_mono_file.c_str()));
+
+ if (ret == FcFalse) {
+ cerr << _("Cannot load ArdourMono TrueType font.") << endl;
+ }
+
+ ret = FcConfigSetCurrent(config);
+
+ if (ret == FcFalse) {
+ cerr << _("Failed to set fontconfig configuration.") << endl;
+ }
+ } else {
+ // pango with win32 backend
+ if (0 == AddFontResource(ardour_mono_file.c_str())) {
+ cerr << _("Cannot register ArdourMono TrueType font with windows gdi.") << endl;
+ } else {
+ atexit (&unload_custom_fonts);
+ }
+ }
+}
diff --git a/gtk2_ardour/bundle_env_msvc.cc b/gtk2_ardour/bundle_env_msvc.cc
new file mode 100644
index 0000000000..5e2da98bd4
--- /dev/null
+++ b/gtk2_ardour/bundle_env_msvc.cc
@@ -0,0 +1,504 @@
+/*
+ Copyright (C) 2014 John Emmas
+
+ 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 "bundle_env.h"
+#include "i18n.h"
+
+#include <shlobj.h>
+#include <stdlib.h>
+
+#include <iostream>
+#include <string>
+#include <vector>
+#include <fstream>
+
+#include <glibmm.h>
+#include <glib/gstdio.h>
+
+#include <fontconfig/fontconfig.h>
+
+#include "ardour/ardour.h"
+#include "ardour/search_paths.h"
+#include "ardour/filesystem_paths.h"
+
+#include "pbd/file_utils.h"
+#include "pbd/epa.h"
+
+using namespace std;
+using namespace PBD;
+using namespace ARDOUR;
+
+std::string
+get_windows_drive_volume_letter()
+{
+static std::string ret;
+char path[PATH_MAX+1];
+LPITEMIDLIST pidl = 0;
+
+ if (!ret.length()) {
+ if (S_OK == SHGetSpecialFolderLocation (0, CSIDL_WINDOWS, &pidl))
+ {
+ if (SHGetPathFromIDListA (pidl, path)) {
+ path[2] = '\0'; // Gives us just the drive letter and colon
+ ret = path;
+ }
+
+ CoTaskMemFree (pidl);
+ }
+ // The above should never fail - but just in case...
+ else if (char *env_path = getenv ("windir"))
+ {
+ strcpy (path, env_path);
+ path[2] = '\0'; // Gives us just the drive letter and colon
+ ret = path;
+ }
+ }
+
+ return ret;
+}
+
+const string
+get_module_folder ()
+{
+std::string ret;
+
+ // Gives the top-level Ardour installation folder (on Windows)
+ // Typically, this will be somehwere like "C:\Program Files"
+
+ gchar* pExeRoot = g_win32_get_package_installation_directory_of_module (0);
+
+ if (0 == pExeRoot) {
+ pExeRoot = g_build_filename("C:\\", "Program Files", PROGRAM_NAME, 0);
+ }
+
+ if (pExeRoot) {
+ gchar tmp[PATH_MAX+1];
+ gchar* p;
+
+ strcpy(tmp, pExeRoot);
+ if (0 != (p = strrchr (tmp, G_DIR_SEPARATOR))) {
+ *p = '\0';
+
+ if (0 != (p = g_build_filename(tmp, 0))) {
+ ret = p;
+ g_free (p);
+ }
+ }
+
+ g_free (pExeRoot);
+ }
+
+ return (ret);
+}
+
+bool
+fixup_config_file (Glib::ustring str_file_to_fix)
+{
+FILE* fd;
+char buf[4096];
+bool conversion_needed = false;
+bool succeeded = false;
+
+ fstream file_to_fix (fd = g_fopen(str_file_to_fix.c_str(), "r+b"));
+
+ if (file_to_fix.is_open()) {
+ vector<std::string> lines;
+ std::string line;
+
+ file_to_fix.seekg (0, std::ios::beg);
+ file_to_fix.seekp (0, std::ios::beg);
+
+ try {
+ while (!file_to_fix.eof() && file_to_fix.getline (buf, sizeof(buf))) {
+ line = buf;
+
+ if (!conversion_needed && (std::string::npos != line.find("$(")))
+ conversion_needed = true;
+ lines.push_back(line);
+ }
+
+ if (conversion_needed) {
+ bool error = false;
+ std::string::size_type token_begin, token_end;
+ vector<string>::iterator i;
+
+ for (i = lines.begin(); i != lines.end(); ++i) {
+ if (string::npos != (token_begin = i->find("$("))) {
+ if (string::npos != (token_end = i->find(")", token_begin))) {
+ std::string str_replace_with;
+ std::string str_to_replace = i->substr(token_begin, ((token_end+1)-token_begin));
+
+ if (0 == str_to_replace.compare("$(CWD)")) {
+ // Replace our token with the current working directory
+ if (getcwd(buf, sizeof(buf))) {
+ if (buf[strlen(buf)-1] == G_DIR_SEPARATOR)
+ buf[strlen(buf)-1] = '\0';
+ str_replace_with = buf;
+
+ // Replace the first occurrence of our token with the required string
+ i->erase(token_begin, ((token_end+1)-token_begin));
+ i->insert(token_begin, str_replace_with);
+ } else {
+ error = true;
+ }
+ } else if (0 == str_to_replace.compare("$(WINDRIVE)")){
+ // Replace our token with the drive letter (and colon) for the user's Windows volume
+ str_replace_with = get_windows_drive_volume_letter();
+
+ // Replace the first occurrence of our token with the required string
+ i->erase(token_begin, ((token_end+1)-token_begin));
+ i->insert(token_begin, str_replace_with);
+ } else if (0 == str_to_replace.compare("$(LOCALCACHEDIR)")){
+ // Replace our token with the path to our Ardour cache directory
+ str_replace_with = user_cache_directory();
+
+ // Replace the first occurrence of our token with the required string
+ i->erase(token_begin, ((token_end+1)-token_begin));
+ i->insert(token_begin, str_replace_with);
+ } else {
+ // Assume that our token represents an environment variable
+ std::string envvar_name = str_to_replace.substr(2, str_to_replace.length()-3);
+
+ if (const char *envvar_value = getenv(envvar_name.c_str())) {
+ strcpy(buf, envvar_value);
+ if (buf[strlen(buf)-1] == G_DIR_SEPARATOR)
+ buf[strlen(buf)-1] = '\0';
+ str_replace_with = buf;
+
+ // Replace the first occurrence of our token with the required string
+ i->erase(token_begin, ((token_end+1)-token_begin));
+ i->insert(token_begin, str_replace_with);
+ } else {
+ error = true;
+ cerr << _("ERROR: unknown environment variable") << endl;
+ }
+ }
+ }
+ }
+ }
+
+ if (!error) {
+ file_to_fix.clear (); // Clear the EOF flag etc
+ file_to_fix.seekg (0, std::ios::beg); // Seek our 'get' ptr to the file start pos
+ // (our 'put' ptr shouldn't have moved yet).
+ chsize(fileno (fd), 0); // Truncate the file, ready for re-writing
+
+ for (i = lines.begin(); i != lines.end(); ++i) {
+
+ // Write the converted contents to our file
+ file_to_fix << (*i).c_str() << endl;
+ }
+
+ try {
+ file_to_fix.close();
+ succeeded = true;
+ } catch (...) {}
+ }
+ } else {
+ file_to_fix.close();
+ succeeded = true;
+ }
+ } catch (...) {
+ file_to_fix.close();
+ succeeded = false;
+ }
+ } else {
+ cerr << _("ERROR: Could not open config file '") << str_file_to_fix << "'" << endl;
+ }
+
+ return succeeded;
+}
+
+void
+fixup_fonts_config ()
+{
+string fonts_conf_file;
+
+#ifdef DEBUG
+ fonts_conf_file = get_module_folder();
+
+ if (!fonts_conf_file.empty()) {
+ fonts_conf_file += "\\";
+ fonts_conf_file += PROGRAM_NAME;
+ fonts_conf_file += FONTS_CONF_LOCATION;
+#else
+ if (PBD::find_file (ARDOUR::ardour_config_search_path(), "fonts.conf", fonts_conf_file)) {
+#endif
+ Glib::setenv ("FONTCONFIG_FILE", fonts_conf_file, true);
+
+ if (0 == fixup_config_file (fonts_conf_file))
+ cerr << _("ERROR: processing error for 'fonts.conf' file") << endl;
+ } else {
+ cerr << _("ERROR: Malformed module folder (fonts.conf)") << endl;
+ }
+}
+
+void
+fixup_pango_config ()
+{
+string pango_modules_file;
+
+#if defined(DEBUG) || defined(RDC_BUILD)
+ // Make sure we pick up the debuggable DLLs !!!
+ pango_modules_file = get_module_folder();
+
+ if (!pango_modules_file.empty()) {
+ pango_modules_file += "\\";
+ pango_modules_file += PROGRAM_NAME;
+ pango_modules_file += PANGO_CONF_LOCATION;
+#if 0
+// JE - handy for non-English locale testing (Greek, in this case)
+ Glib::ustring pango_modules_path = Glib::locale_to_utf8("C:\\Program Files\\Mixbus3\\etc\\ÄÇÌÇÔÑÇÓ\\pango.modules");
+/**/
+#else
+ Glib::ustring pango_modules_path = pango_modules_file;
+#endif
+ pango_modules_path.resize (pango_modules_path.size()-14); // Remove "/pango.modules" from the end
+#else
+ if (PBD::find_file (ARDOUR::ardour_config_search_path(), "pango.modules", pango_modules_file)) {
+
+ Glib::ustring pango_modules_path = pango_modules_file;
+ pango_modules_path.resize (pango_modules_path.size()-14); // Remove "/pango.modules" from the end
+#endif
+ // Set an environment variable so we can find our pango modules. Note
+ // that this requires a modified version of libpango (pango-utils.c)
+ Glib::setenv ("PANGO_MODULE_PATH", Glib::filename_from_utf8(pango_modules_path), true);
+
+ if (0 == fixup_config_file (pango_modules_file))
+ cerr << _("ERROR: processing error for 'pango.modules' file") << endl;
+ } else {
+ cerr << _("ERROR: Malformed module folder (pango.modules)") << endl;
+ }
+}
+
+void
+fixup_pixbuf_loaders_config ()
+{
+string gdk_pixbuf_loaders_file;
+
+#if defined(DEBUG) || defined(RDC_BUILD)
+ // Make sure we pick up the debuggable DLLs !!!
+ gdk_pixbuf_loaders_file = get_module_folder();
+
+ if (!gdk_pixbuf_loaders_file.empty()) {
+ gdk_pixbuf_loaders_file += "\\";
+ gdk_pixbuf_loaders_file += PROGRAM_NAME;
+ gdk_pixbuf_loaders_file += PIXBUFLOADERS_CONF_LOCATION;
+#else
+ if (PBD::find_file (ARDOUR::ardour_config_search_path(), "gdk-pixbuf.loaders", gdk_pixbuf_loaders_file)) {
+#endif
+ // Set an environment variable so we can find our pixbuf modules.
+ Glib::setenv ("GDK_PIXBUF_MODULE_FILE", Glib::filename_from_utf8(gdk_pixbuf_loaders_file), true);
+
+ if (0 == fixup_config_file (gdk_pixbuf_loaders_file))
+ cerr << _("ERROR: processing error for 'gdk-pixbuf.loaders' file") << endl;
+ } else {
+ cerr << _("ERROR: Malformed module folder (gdk-pixbuf.loaders)") << endl;
+ }
+}
+
+void
+fixup_clearlooks_config ()
+{
+string clearlooks_la_file;
+
+#if defined(DEBUG) || defined(RDC_BUILD)
+ // Make sure we pick up the debuggable DLLs !!!
+ clearlooks_la_file = get_module_folder();
+
+ if (!clearlooks_la_file.empty()) {
+ clearlooks_la_file += "\\";
+ clearlooks_la_file += PROGRAM_NAME;
+ clearlooks_la_file += CLEARLOOKS_CONF_LOCATION;
+#else
+ if (PBD::find_file (ARDOUR::ardour_config_search_path(), "libclearlooks.la", clearlooks_la_file)) {
+#endif
+ // Set an environment variable so we can find our clearlooks engine.
+ // Note that this requires a modified version of libgtk (gtkthemes.c)
+ Glib::setenv ("GTK_THEME_ENGINE_FILE", Glib::filename_from_utf8(clearlooks_la_file).c_str(), true);
+
+ if (0 == fixup_config_file (clearlooks_la_file))
+ cerr << _("ERROR: processing error for 'clearlooks.la' file") << endl;
+ } else {
+ cerr << _("ERROR: Malformed module folder (clearlooks.la)") << endl;
+ }
+}
+
+void
+fixup_bundle_environment (int argc, char* argv[], const char** localedir)
+{
+ std::string exec_path = argv[0];
+ std::string dir_path = Glib::path_get_dirname (exec_path);
+
+ // Make sure that our runtime CWD is set to Mixbus's install
+ // folder, regardless of where the caller's CWD was set to.
+ g_chdir (dir_path.c_str());
+
+ EnvironmentalProtectionAgency::set_global_epa (new EnvironmentalProtectionAgency (true));
+
+ // Now set 'dir_path' so we can append some relative paths
+ dir_path = Glib::path_get_dirname (dir_path);
+
+ std::string path;
+ const char *cstr;
+
+ // First, set up 'ARDOUR_DLL_PATH'
+ path = dir_path;
+ path += "\\lib\\ardour3\\surfaces;";
+ path += dir_path;
+ path += "\\lib\\ardour3\\panners;";
+ path += dir_path;
+ path += "\\lib\\ardour3\\backends;";
+ path += dir_path;
+ path += "\\bin";
+ Glib::setenv ("ARDOUR_DLL_PATH", path, true);
+
+
+ // Next, set up 'ARDOUR_DATA_PATH'
+ path = get_module_folder() + "\\";
+ path += PROGRAM_NAME;
+ path += "\\share";
+ Glib::setenv ("ARDOUR_DATA_PATH", path, true);
+
+
+ // Next, set up 'ARDOUR_CONFIG_PATH'
+#ifdef _WIN64
+ path = user_config_directory() + "\\win64;";
+#else
+ path = user_config_directory() + "\\win32;";
+#endif
+ Glib::setenv ("ARDOUR_CONFIG_PATH", path, true);
+
+
+ // Next, set up 'ARDOUR_PATH'
+ path = user_config_directory();
+ path = Glib::path_get_dirname (path);
+ path += G_SEARCHPATH_SEPARATOR;
+ path += windows_search_path().to_string();
+ path += "\\icons;";
+ path += windows_search_path().to_string();
+ path += "\\pixmaps;";
+ path += ardour_data_search_path().to_string(); // In fact, adds both the 'data' search
+ path += G_SEARCHPATH_SEPARATOR; // path and our 'config' search path
+ path += dir_path;
+ path += "\\etc";
+ Glib::setenv ("ARDOUR_PATH", path, true);
+
+
+ // Next, set up 'ARDOUR_INSTANT_XML_PATH'
+ path = user_config_directory();
+ Glib::setenv ("ARDOUR_INSTANT_XML_PATH", path, true);
+
+
+ // Next, set up 'LADSPA_PATH'
+ path = ladspa_search_path().to_string();
+ Glib::setenv ("LADSPA_PATH", path, true);
+
+
+ // Next, set up 'VAMP_PATH'
+ cstr = getenv ("VAMP_PATH");
+ if (cstr) {
+ path = cstr;
+ path += G_SEARCHPATH_SEPARATOR;
+ } else {
+ path = "";
+ }
+ path += get_module_folder() + "\\";
+ path += PROGRAM_NAME;
+ path += "\\bin\\vamp";
+ path += G_SEARCHPATH_SEPARATOR;
+ path += "%ProgramFiles%\\Vamp Plugins";
+ Glib::setenv ("VAMP_PATH", path, true);
+
+
+ // Next, set up 'ARDOUR_CONTROL_SURFACE_PATH'
+ cstr = getenv ("ARDOUR_CONTROL_SURFACE_PATH");
+ if (cstr) {
+ path = cstr;
+ path += G_SEARCHPATH_SEPARATOR;
+ } else {
+ path = "";
+ }
+ path += control_protocol_search_path().to_string();
+ Glib::setenv ("ARDOUR_CONTROL_SURFACE_PATH", path, true);
+
+
+ // Next, set up 'GTK_LOCALEDIR'
+ if (ARDOUR::translations_are_enabled ()) {
+ path = windows_search_path().to_string();
+ path += "\\locale";
+ Glib::setenv ("GTK_LOCALEDIR", path, true);
+
+ // and return the same path to our caller
+ (*localedir) = strdup (path.c_str());
+ }
+
+
+ // Next, set up 'GTK_PATH'
+ cstr = getenv ("GTK_PATH");
+ if (cstr) {
+ path = cstr;
+ path += G_SEARCHPATH_SEPARATOR;
+ } else {
+ path = "";
+ }
+ path += user_config_directory();
+ path += "\\.gtk-2.0";
+ Glib::setenv ("GTK_PATH", path, true);
+
+
+ // Unset GTK_RC_FILES so that we only load the RC files that we define
+ Glib::unsetenv ("GTK_RC_FILES");
+
+
+ // and set a '$HOME' environment variable. This variable changes the value returned
+ // by 'g_get_home_dir()' so to prevent that function from unexpectedly changing its
+ // mind, we'll set '$HOME' to whatever 'g_get_home_dir()' is already returning!!
+ if (NULL == getenv("HOME")) {
+ Glib::setenv ("HOME", Glib::locale_from_utf8(g_get_home_dir()), true);
+ }
+
+ fixup_fonts_config();
+ fixup_pango_config();
+ fixup_clearlooks_config();
+ fixup_pixbuf_loaders_config();
+}
+
+
+void load_custom_fonts()
+{
+ std::string ardour_mono_file;
+
+ if (!find_file (ardour_data_search_path(), "ArdourMono.ttf", ardour_mono_file)) {
+ cerr << _("Cannot find ArdourMono TrueType font") << endl;
+ }
+
+ FcConfig *config = FcInitLoadConfigAndFonts();
+ FcBool ret = FcConfigAppFontAddFile(config, reinterpret_cast<const FcChar8*>(ardour_mono_file.c_str()));
+
+ if (ret == FcFalse) {
+ cerr << _("Cannot load ArdourMono TrueType font.") << endl;
+ }
+
+ ret = FcConfigSetCurrent(config);
+
+ if (ret == FcFalse) {
+ cerr << _("Failed to set fontconfig configuration.") << endl;
+ }
+}
diff --git a/gtk2_ardour/bundle_manager.cc b/gtk2_ardour/bundle_manager.cc
index c7754f69cc..6dc34d3388 100644
--- a/gtk2_ardour/bundle_manager.cc
+++ b/gtk2_ardour/bundle_manager.cc
@@ -34,6 +34,7 @@
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
BundleEditorMatrix::BundleEditorMatrix (Gtk::Window* parent, Session* session, boost::shared_ptr<Bundle> bundle)
: PortMatrix (parent, session, DataType::NIL)
@@ -286,7 +287,7 @@ BundleManager::BundleManager (Session* session)
edit_button.set_image (*Gtk::manage (new Gtk::Image (Gtk::Stock::EDIT, Gtk::ICON_SIZE_BUTTON)));
edit_button.signal_clicked().connect (sigc::mem_fun (*this, &BundleManager::edit_clicked));
buttons->pack_start (edit_button, false, false);
- delete_button.set_image (*Gtk::manage (new Gtk::Image (Gtk::Stock::DELETE, Gtk::ICON_SIZE_BUTTON)));
+ delete_button.set_image (*Gtk::manage (new Gtk::Image (Gtk::StockID(GTK_STOCK_DELETE), Gtk::ICON_SIZE_BUTTON)));
delete_button.signal_clicked().connect (sigc::mem_fun (*this, &BundleManager::delete_clicked));
buttons->pack_start (delete_button, false, false);
diff --git a/gtk2_ardour/button_joiner.cc b/gtk2_ardour/button_joiner.cc
index 8671dab9ab..0c60cba1db 100644
--- a/gtk2_ardour/button_joiner.cc
+++ b/gtk2_ardour/button_joiner.cc
@@ -99,7 +99,7 @@ ButtonJoiner::~ButtonJoiner ()
}
void
-ButtonJoiner::render (cairo_t* cr)
+ButtonJoiner::render (cairo_t* cr, cairo_rectangle_t*)
{
double h = get_height();
diff --git a/gtk2_ardour/button_joiner.h b/gtk2_ardour/button_joiner.h
index 3d136faa74..4d8b861894 100644
--- a/gtk2_ardour/button_joiner.h
+++ b/gtk2_ardour/button_joiner.h
@@ -36,7 +36,7 @@ class ButtonJoiner : public CairoWidget, public Gtkmm2ext::Activatable {
void set_active_state (Gtkmm2ext::ActiveState);
protected:
- void render (cairo_t*);
+ void render (cairo_t*, cairo_rectangle_t*);
bool on_button_release_event (GdkEventButton*);
void on_size_request (Gtk::Requisition*);
void on_size_allocate (Gtk::Allocation&);
diff --git a/gtk2_ardour/canvas-curve.h b/gtk2_ardour/canvas-curve.h
deleted file mode 100644
index cad9270454..0000000000
--- a/gtk2_ardour/canvas-curve.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* libgnomecanvas/gnome-canvas-curve.h: GnomeCanvas item for constrained spline curves
- *
- * Copyright (C) 2003 Paul Davis <pbd@op.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- */
-
-#ifndef __GNOME_CANVAS_CURVE_H__
-#define __GNOME_CANVAS_CURVE_H__
-
-#include <libgnomecanvas/libgnomecanvas.h>
-
-G_BEGIN_DECLS
-
-/* Wave viewer item for canvas.
- */
-
-#define GNOME_CANVAS_TYPE_CANVAS_CURVE (gnome_canvas_curve_get_type ())
-#define GNOME_CANVAS_CURVE(obj) (GTK_CHECK_CAST ((obj), GNOME_CANVAS_TYPE_CANVAS_CURVE, GnomeCanvasCurve))
-#define GNOME_CANVAS_CURVE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GNOME_CANVAS_TYPE_CANVAS_CURVE, GnomeCanvasCurveClass))
-#define GNOME_CANVAS_IS_CANVAS_CURVE(obj) (GTK_CHECK_TYPE ((obj), GNOME_CANVAS_TYPE_CANVAS_CURVE))
-#define GNOME_CANVAS_IS_CANVAS_CURVE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GNOME_CANVAS_TYPE_CANVAS_CURVE))
-
-typedef struct _GnomeCanvasCurve GnomeCanvasCurve;
-typedef struct _GnomeCanvasCurveClass GnomeCanvasCurveClass;
-
-struct _GnomeCanvasCurve
-{
- GnomeCanvasItem item;
- double x1, y1, x2, y2;
- void* curve_arg;
- float* vector;
- size_t veclen;
- uint32_t color;
-
- /* cached values set during update/used during render */
-
- unsigned char r, b, g, a;
- guint32 bbox_ulx, bbox_uly;
- guint32 bbox_lrx, bbox_lry;
-};
-
-struct _GnomeCanvasCurveClass {
- GnomeCanvasItemClass parent_class;
-};
-
-GtkType gnome_canvas_curve_get_type (void);
-
-G_END_DECLS
-
-#endif /* __GNOME_CANVAS_CURVE_H__ */
diff --git a/gtk2_ardour/canvas-flag.cc b/gtk2_ardour/canvas-flag.cc
deleted file mode 100644
index fd000f2a85..0000000000
--- a/gtk2_ardour/canvas-flag.cc
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- Copyright (C) 2012 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 "gtkmm2ext/utils.h"
-#include "gtkmm2ext/rgb_macros.h"
-
-#include "ardour_ui.h"
-#include "canvas-flag.h"
-#include "canvas-noevent-pixbuf.h"
-#include "time_axis_view_item.h"
-#include "utils.h"
-
-using namespace Gnome::Canvas;
-using namespace std;
-
-CanvasFlag::CanvasFlag (MidiRegionView& region,
- Group& parent,
- double height,
- guint outline_color_rgba,
- guint fill_color_rgba,
- double x,
- double y)
- : Group(parent, x, y)
- , _name_pixbuf(0)
- , _height(height)
- , _outline_color_rgba(outline_color_rgba)
- , _fill_color_rgba(fill_color_rgba)
- , _region(region)
- , name_pixbuf_width (0)
- , _line(0)
- , _rect(0)
-{
-}
-
-void
-CanvasFlag::delete_allocated_objects()
-{
- delete _name_pixbuf;
- _name_pixbuf = 0;
-
- delete _line;
- _line = 0;
-
- delete _rect;
- _rect = 0;
-}
-
-void
-CanvasFlag::set_text (const string& text)
-{
- delete_allocated_objects();
-
- _name_pixbuf = new ArdourCanvas::NoEventPixbuf (*this);
- name_pixbuf_width = Gtkmm2ext::pixel_width (text, TimeAxisViewItem::NAME_FONT) + 2;
- Gdk::Color c;
- set_color (c, _outline_color_rgba);
- _name_pixbuf->property_pixbuf() = Gtkmm2ext::pixbuf_from_string (text, TimeAxisViewItem::NAME_FONT, name_pixbuf_width,
- TimeAxisViewItem::NAME_HEIGHT, c);
- _name_pixbuf->property_x() = 10.0;
- _name_pixbuf->property_y() = 2.0;
- _name_pixbuf->show();
-
- double flagwidth = name_pixbuf_width + 8.0;
- double flagheight = TimeAxisViewItem::NAME_HEIGHT + 3.0;
- _line = new SimpleLine(*this, 0.0, 0.0, 0.0, _height);
- _line->property_color_rgba() = _outline_color_rgba;
- _rect = new SimpleRect(*this, 0.0, 0.0, flagwidth, flagheight);
- _rect->property_outline_color_rgba() = _outline_color_rgba;
- _rect->property_fill_color_rgba() = _fill_color_rgba;
-
- _name_pixbuf->raise_to_top();
-}
-
-CanvasFlag::~CanvasFlag()
-{
- delete_allocated_objects();
-}
-
-void
-CanvasFlag::set_height (double h)
-{
- _height = h;
-
- if (_line) {
- _line->property_y2() = _height;
- }
-}
diff --git a/gtk2_ardour/canvas-flag.h b/gtk2_ardour/canvas-flag.h
deleted file mode 100644
index 95c2176e40..0000000000
--- a/gtk2_ardour/canvas-flag.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- Copyright (C) 2012 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 CANVASFLAG_H_
-#define CANVASFLAG_H_
-
-#include <string>
-#include <libgnomecanvasmm/pixbuf.h>
-#include <libgnomecanvasmm/group.h>
-#include <libgnomecanvasmm/widget.h>
-
-#include "simplerect.h"
-#include "simpleline.h"
-#include "canvas.h"
-
-class MidiRegionView;
-
-namespace Gnome {
-namespace Canvas {
-
-class CanvasFlag : public Group
-{
-public:
- CanvasFlag (MidiRegionView& region,
- Group& parent,
- double height,
- guint outline_color_rgba = 0xc0c0c0ff,
- guint fill_color_rgba = 0x07070707,
- double x = 0.0,
- double y = 0.0);
-
- virtual ~CanvasFlag();
-
- virtual void set_text(const std::string& a_text);
- virtual void set_height (double);
-
- int width () const { return name_pixbuf_width + 10.0; }
-
-protected:
- ArdourCanvas::Pixbuf* _name_pixbuf;
- double _height;
- guint _outline_color_rgba;
- guint _fill_color_rgba;
- MidiRegionView& _region;
- int name_pixbuf_width;
-
-private:
- void delete_allocated_objects();
-
- SimpleLine* _line;
- SimpleRect* _rect;
-};
-
-
-} // namespace Canvas
-} // namespace Gnome
-
-#endif /*CANVASFLAG_H_*/
diff --git a/gtk2_ardour/canvas-hit.cc b/gtk2_ardour/canvas-hit.cc
deleted file mode 100644
index 8ebd2f2ae4..0000000000
--- a/gtk2_ardour/canvas-hit.cc
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- Copyright (C) 2012 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 "canvas-note.h"
-#include "midi_region_view.h"
-#include "public_editor.h"
-#include "evoral/Note.hpp"
-#include "utils.h"
-
-using namespace ARDOUR;
-
-namespace Gnome {
-namespace Canvas {
-
-CanvasHit::CanvasHit (MidiRegionView& region,
- Group& group,
- double size,
- const boost::shared_ptr<NoteType> note,
- bool with_events)
- : Diamond(group, size)
- , CanvasNoteEvent(region, this, note)
-{
- if (with_events) {
- signal_event().connect (sigc::mem_fun (*this, &CanvasHit::on_event));
- }
-}
-
-bool
-CanvasHit::on_event(GdkEvent* ev)
-{
- if (!CanvasNoteEvent::on_event (ev)) {
- return _region.get_time_axis_view().editor().canvas_note_event (ev, this);
- }
- return true;
-}
-
-void
-CanvasHit::move_event(double dx, double dy)
-{
- move_by (dx, dy);
-}
-
-} // namespace Gnome
-} // namespace Canvas
diff --git a/gtk2_ardour/canvas-hit.h b/gtk2_ardour/canvas-hit.h
deleted file mode 100644
index f25c49ab10..0000000000
--- a/gtk2_ardour/canvas-hit.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- Copyright (C) 2007 Paul Davis
- Author: David Robillard
-
- 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_canvas_hit_h__
-#define __gtk_ardour_canvas_hit_h__
-
-#include <iostream>
-#include "simplerect.h"
-#include "diamond.h"
-
-namespace Gnome {
-namespace Canvas {
-
-class CanvasHit : public Diamond, public CanvasNoteEvent {
-public:
- typedef Evoral::Note<double> NoteType;
-
- CanvasHit(
- MidiRegionView& region,
- Group& group,
- double size,
- const boost::shared_ptr<NoteType> note = boost::shared_ptr<NoteType>(),
- bool with_events = true);
-
- void show() { Diamond::show(); }
- void hide() { Diamond::hide(); }
-
- double x1() const { double x1, y1, x2, y2; get_bounds(x1,y1,x2,y2); return x1; }
- double y1() const { double x1, y1, x2, y2; get_bounds(x1,y1,x2,y2); return y1; }
- double x2() const { double x1, y1, x2, y2; get_bounds(x1,y1,x2,y2); return x2; }
- double y2() const { double x1, y1, x2, y2; get_bounds(x1,y1,x2,y2); return y2; }
-
- void set_outline_color(uint32_t c) { property_outline_color_rgba() = c; }
- void set_fill_color(uint32_t c) { property_fill_color_rgba() = c; }
-
- bool on_event(GdkEvent* ev);
- void move_event(double dx, double dy);
-};
-
-} // namespace Gnome
-} // namespace Canvas
-
-#endif /* __gtk_ardour_canvas_hit_h__ */
diff --git a/gtk2_ardour/canvas-noevent-pixbuf.h b/gtk2_ardour/canvas-noevent-pixbuf.h
deleted file mode 100644
index 4424a9087e..0000000000
--- a/gtk2_ardour/canvas-noevent-pixbuf.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2009 Paul Davis <paul@linuxaudiosystems.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- */
-
-#ifndef __gtk2_ardour_canvas_noevent_pixbuf_h__
-#define __gtk2_ardour_canvas_noevent_pixbuf_h__
-
-#include <libgnomecanvasmm/pixbuf.h>
-
-namespace Gnome { namespace Canvas {
-
-class NoEventPixbuf : public Pixbuf
-{
- public:
- NoEventPixbuf(Group& parent) : Pixbuf (parent) {}
-
- double point_vfunc(double, double, int, int, GnomeCanvasItem**) {
- /* return a huge value to tell the canvas that we're never the item for an event */
- return 9999999999999.0;
- }
-};
-
-} } /* namespaces */
-
-#endif /* __gtk2_ardour_canvas_noevent_pixbuf_h__ */
diff --git a/gtk2_ardour/canvas-noevent-rect.h b/gtk2_ardour/canvas-noevent-rect.h
deleted file mode 100644
index edfeae670d..0000000000
--- a/gtk2_ardour/canvas-noevent-rect.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2009 Paul Davis <paul@linuxaudiosystems.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- */
-
-#ifndef __gtk2_ardour_canvas_noevent_rect_h__
-#define __gtk2_ardour_canvas_noevent_rect_h__
-
-#include "simplerect.h"
-
-namespace Gnome { namespace Canvas {
-
-class NoEventSimpleRect : public SimpleRect
-{
- public:
- NoEventSimpleRect(Group& parent, double x1, double y1, double x2, double y2)
- : SimpleRect (parent, x1, y1, x2, y2) {}
- NoEventSimpleRect(Group& parent)
- : SimpleRect (parent) {}
-
- double point_vfunc(double, double, int, int, GnomeCanvasItem**) {
- /* return a huge value to tell the canvas that we're never the item for an event */
- return 9999999999999.0;
- }
-};
-
-} } /* namespaces */
-
-#endif /* __gtk2_ardour_canvas_noevent_text_h__ */
diff --git a/gtk2_ardour/canvas-noevent-text.h b/gtk2_ardour/canvas-noevent-text.h
deleted file mode 100644
index bb7e8a3eb1..0000000000
--- a/gtk2_ardour/canvas-noevent-text.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2009 Paul Davis <paul@linuxaudiosystems.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- */
-
-#ifndef __gtk2_ardour_canvas_noevent_text_h__
-#define __gtk2_ardour_canvas_noevent_text_h__
-
-#include <libgnomecanvasmm/text.h>
-
-namespace Gnome { namespace Canvas {
-
-class NoEventText : public Text
-{
- public:
- NoEventText(Group& parent, double x, double y, const std::string& text)
- : Text (parent, x, y, text) {}
- NoEventText(Group& parent)
- : Text (parent) {}
-
- double point_vfunc(double, double, int, int, GnomeCanvasItem**) {
- /* return a huge value to tell the canvas that we're never the item for an event */
- return 9999999999999.0;
- }
-};
-
-} } /* namespaces */
-
-#endif /* __gtk2_ardour_canvas_noevent_text_h__ */
diff --git a/gtk2_ardour/canvas-note.cc b/gtk2_ardour/canvas-note.cc
deleted file mode 100644
index 0246cfe041..0000000000
--- a/gtk2_ardour/canvas-note.cc
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- Copyright (C) 2012 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 "canvas-note.h"
-#include "midi_region_view.h"
-#include "public_editor.h"
-#include "evoral/Note.hpp"
-
-using namespace ARDOUR;
-
-namespace Gnome {
-namespace Canvas {
-
-CanvasNote::CanvasNote (MidiRegionView& region,
- Group& group,
- const boost::shared_ptr<NoteType> note,
- bool with_events)
- : SimpleRect(group), CanvasNoteEvent(region, this, note)
-{
- if (with_events) {
- signal_event().connect (sigc::mem_fun (*this, &CanvasNote::on_event));
- }
-}
-
-bool
-CanvasNote::on_event(GdkEvent* ev)
-{
- bool r = true;
-
- if (!CanvasNoteEvent::on_event (ev)) {
- r = _region.get_time_axis_view().editor().canvas_note_event (ev, this);
- }
-
- if (ev->type == GDK_BUTTON_RELEASE) {
- _region.note_button_release ();
- }
-
- return r;
-}
-
-void
-CanvasNote::move_event(double dx, double dy)
-{
- property_x1() = property_x1() + dx;
- property_y1() = property_y1() + dy;
- property_x2() = property_x2() + dx;
- property_y2() = property_y2() + dy;
-
- if (_text) {
- _text->hide();
- _text->property_x() = _text->property_x() + dx;
- _text->property_y() = _text->property_y() + dy;
- _text->show();
- }
-}
-
-
-} // namespace Gnome
-} // namespace Canvas
diff --git a/gtk2_ardour/canvas-note.h b/gtk2_ardour/canvas-note.h
deleted file mode 100644
index 46b0f1d600..0000000000
--- a/gtk2_ardour/canvas-note.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- Copyright (C) 2007 Paul Davis
- Author: David Robillard
- Author: Hans Baier
-
- 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_canvas_note_h__
-#define __gtk_ardour_canvas_note_h__
-
-#include <iostream>
-#include "simplerect.h"
-#include "canvas-note-event.h"
-#include "midi_util.h"
-
-namespace Gnome {
-namespace Canvas {
-
-class CanvasNote : public SimpleRect, public CanvasNoteEvent
-{
- public:
- typedef Evoral::Note<Evoral::MusicalTime> NoteType;
-
- CanvasNote (MidiRegionView& region,
- Group& group,
- const boost::shared_ptr<NoteType> note = boost::shared_ptr<NoteType>(),
- bool with_events = true);
-
- double x1() const { return property_x1(); }
- double y1() const { return property_y1(); }
- double x2() const { return property_x2(); }
- double y2() const { return property_y2(); }
-
- void set_outline_color(uint32_t c) { property_outline_color_rgba() = c; hide(); show(); }
- void set_fill_color(uint32_t c) { property_fill_color_rgba() = c; hide(); show(); }
-
- void show() { SimpleRect::show(); }
- void hide() { SimpleRect::hide(); }
-
- bool on_event(GdkEvent* ev);
- void move_event(double dx, double dy);
-};
-
-class NoEventCanvasNote : public CanvasNote
-{
- public:
- NoEventCanvasNote (MidiRegionView& region,
- Group& group,
- const boost::shared_ptr<NoteType> note = boost::shared_ptr<NoteType>())
- : CanvasNote (region, group, note, false) {}
-
- double point_vfunc(double, double, int, int, GnomeCanvasItem**) {
- /* return a huge value to tell the canvas that we're never the item for an event */
- return 9999999999999.0;
- }
-};
-
-} // namespace Gnome
-} // namespace Canvas
-
-#endif /* __gtk_ardour_canvas_note_h__ */
diff --git a/gtk2_ardour/canvas-simpleline.h b/gtk2_ardour/canvas-simpleline.h
deleted file mode 100644
index 66a4b90682..0000000000
--- a/gtk2_ardour/canvas-simpleline.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* libgnomecanvas/gnome-canvas-simpleline.h: GnomeCanvas item for simple rects
- *
- * Copyright (C) 2001 Paul Davis <pbd@op.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- */
-
-#ifndef __GNOME_CANVAS_SIMPLELINE_H__
-#define __GNOME_CANVAS_SIMPLELINE_H__
-
-#include <stdint.h>
-
-#include <libgnomecanvas/libgnomecanvas.h>
-
-G_BEGIN_DECLS
-
-/* Wave viewer item for canvas.
- */
-
-#define GNOME_TYPE_CANVAS_SIMPLELINE (gnome_canvas_simpleline_get_type ())
-#define GNOME_CANVAS_SIMPLELINE(obj) (GTK_CHECK_CAST ((obj), GNOME_TYPE_CANVAS_SIMPLELINE, GnomeCanvasSimpleLine))
-#define GNOME_CANVAS_SIMPLELINE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GNOME_TYPE_CANVAS_SIMPLELINE, GnomeCanvasSimpleLineClass))
-#define GNOME_IS_CANVAS_SIMPLELINE(obj) (GTK_CHECK_TYPE ((obj), GNOME_TYPE_CANVAS_SIMPLELINE))
-#define GNOME_IS_CANVAS_SIMPLELINE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_CANVAS_SIMPLELINE))
-#define GNOME_CANVAS_SIMPLELINE_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GNOME_TYPE_CANVAS_SIMPLELINE, GnomeCanvasSimpleLineClass))
-
-typedef struct _GnomeCanvasSimpleLine GnomeCanvasSimpleLine;
-typedef struct _GnomeCanvasSimpleLineClass GnomeCanvasSimpleLineClass;
-
-struct _GnomeCanvasSimpleLine
-{
- GnomeCanvasItem item;
- double x1, y1, x2, y2; /* parent-relative, world coordinates */
- gint32 cx1, cy1, cx2, cy2; /* global, canvas coordinates */
- uint32_t color;
-
- /* cached values set during update/used during render */
-
- unsigned char r, b, g, a;
-};
-
-struct _GnomeCanvasSimpleLineClass {
- GnomeCanvasItemClass parent_class;
-};
-
-GType gnome_canvas_simpleline_get_type (void) G_GNUC_CONST;
-
-G_END_DECLS
-
-#endif /* __GNOME_CANVAS_SIMPLELINE_H__ */
diff --git a/gtk2_ardour/canvas-simplerect.h b/gtk2_ardour/canvas-simplerect.h
deleted file mode 100644
index 39151a9935..0000000000
--- a/gtk2_ardour/canvas-simplerect.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* libgnomecanvas/gnome-canvas-simplerect.h: GnomeCanvas item for simple rects
- *
- * Copyright (C) 2001 Paul Davis <pbd@op.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- */
-
-#ifndef __GNOME_CANVAS_SIMPLERECT_H__
-#define __GNOME_CANVAS_SIMPLERECT_H__
-
-#include <stdint.h>
-
-#include <libgnomecanvas/libgnomecanvas.h>
-
-G_BEGIN_DECLS
-
-/* Wave viewer item for canvas.
- */
-
-#define GNOME_TYPE_CANVAS_SIMPLERECT (gnome_canvas_simplerect_get_type ())
-#define GNOME_CANVAS_SIMPLERECT(obj) (GTK_CHECK_CAST ((obj), GNOME_TYPE_CANVAS_SIMPLERECT, GnomeCanvasSimpleRect))
-#define GNOME_CANVAS_SIMPLERECT_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GNOME_TYPE_CANVAS_SIMPLERECT, GnomeCanvasSimpleRectClass))
-#define GNOME_IS_CANVAS_SIMPLERECT(obj) (GTK_CHECK_TYPE ((obj), GNOME_TYPE_CANVAS_SIMPLERECT))
-#define GNOME_IS_CANVAS_SIMPLERECT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_CANVAS_SIMPLERECT))
-#define GNOME_CANVAS_SIMPLERECT_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GNOME_TYPE_CANVAS_SIMPLERECT, GnomeCanvasSimpleRectClass))
-
-typedef struct _GnomeCanvasSimpleRect GnomeCanvasSimpleRect;
-typedef struct _GnomeCanvasSimpleRectClass GnomeCanvasSimpleRectClass;
-
-struct _GnomeCanvasSimpleRect
-{
- GnomeCanvasItem item;
- double x1, y1, x2, y2;
- gboolean fill;
- gboolean draw;
- gboolean full_draw_on_update;
- uint32_t fill_color;
- uint32_t outline_color;
- uint32_t outline_pixels;
-
- /* cached values set during update/used during render */
-
- unsigned char fill_r, fill_b, fill_g, fill_a;
- unsigned char outline_r, outline_b, outline_g, outline_a;
- unsigned char outline_what;
- gint32 bbox_ulx, bbox_uly;
- gint32 bbox_lrx, bbox_lry;
-};
-
-struct _GnomeCanvasSimpleRectClass {
- GnomeCanvasItemClass parent_class;
-};
-
-GType gnome_canvas_simplerect_get_type (void) G_GNUC_CONST;
-
-G_END_DECLS
-
-#endif /* __GNOME_CANVAS_SIMPLERECT_H__ */
diff --git a/gtk2_ardour/canvas-waveview.c b/gtk2_ardour/canvas-waveview.c
index 2080b208d8..6aff1be771 100644
--- a/gtk2_ardour/canvas-waveview.c
+++ b/gtk2_ardour/canvas-waveview.c
@@ -35,7 +35,7 @@
/* POSIX guarantees casting between void* and function pointers, ISO C doesn't
* We can work around warnings by going one step deeper in our casts
*/
-#ifdef _POSIX_VERSION
+#if defined(_POSIX_VERSION) || defined(COMPILER_MINGW)
#define POSIX_FUNC_PTR_CAST(type, object) *((type*) &(object))
#endif // _POSIX_VERSION
diff --git a/gtk2_ardour/canvas.h b/gtk2_ardour/canvas.h
deleted file mode 100644
index 1139da55cc..0000000000
--- a/gtk2_ardour/canvas.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- 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__
-
-namespace Gnome {
- namespace Canvas {
- class Item;
- class Group;
- class Canvas;
- class Rect;
- class SimpleRect;
- class SimpleLine;
- class Polygon;
- class WaveView;
- class Text;
- class Line;
- class Points;
- class Pixbuf;
- class LineSet;
- }
-}
-
-namespace ArdourCanvas = Gnome::Canvas;
-
-#endif /* __ardour_gtk_canvas_h__ */
diff --git a/gtk2_ardour/canvas_patch_change.cc b/gtk2_ardour/canvas_patch_change.cc
index 7ab0eefd8c..04626692fb 100644
--- a/gtk2_ardour/canvas_patch_change.cc
+++ b/gtk2_ardour/canvas_patch_change.cc
@@ -55,11 +55,11 @@ CanvasPatchChange::CanvasPatchChange(
parent,
height,
(active_channel
- ? ARDOUR_UI::config()->canvasvar_MidiPatchChangeOutline.get()
- : ARDOUR_UI::config()->canvasvar_MidiPatchChangeInactiveChannelOutline.get()),
+ ? ARDOUR_UI::config()->get_canvasvar_MidiPatchChangeOutline()
+ : ARDOUR_UI::config()->get_canvasvar_MidiPatchChangeInactiveChannelOutline()),
(active_channel
- ? ARDOUR_UI::config()->canvasvar_MidiPatchChangeFill.get()
- : ARDOUR_UI::config()->canvasvar_MidiPatchChangeInactiveChannelFill.get()),
+ ? ARDOUR_UI::config()->get_canvasvar_MidiPatchChangeFill()
+ : ARDOUR_UI::config()->get_canvasvar_MidiPatchChangeInactiveChannelFill()),
x,
y)
, _info (info)
diff --git a/gtk2_ardour/canvas_vars.h b/gtk2_ardour/canvas_vars.h
index 34116c8736..6d44073428 100644
--- a/gtk2_ardour/canvas_vars.h
+++ b/gtk2_ardour/canvas_vars.h
@@ -51,6 +51,8 @@ CANVAS_VARIABLE(canvasvar_GhostTrackWaveClip, "ghost track wave clip")
CANVAS_VARIABLE(canvasvar_GhostTrackZeroLine, "ghost track zero line")
CANVAS_VARIABLE(canvasvar_ImageTrack, "image track")
CANVAS_VARIABLE(canvasvar_InactiveCrossfade, "inactive crossfade")
+CANVAS_VARIABLE(canvasvar_InactiveFadeHandle, "inactive fade handle")
+CANVAS_VARIABLE(canvasvar_InactiveGroupTab, "inactive group tab")
CANVAS_VARIABLE(canvasvar_LocationCDMarker, "location cd marker")
CANVAS_VARIABLE(canvasvar_LocationLoop, "location loop")
CANVAS_VARIABLE(canvasvar_LocationMarker, "location marker")
@@ -88,13 +90,6 @@ CANVAS_VARIABLE(canvasvar_MidiMeterColor8, "midi meter fill: 8")
CANVAS_VARIABLE(canvasvar_MidiMeterColor9, "midi meter fill: 9")
CANVAS_VARIABLE(canvasvar_MeterBackgroundBot, "meter background: bottom")
CANVAS_VARIABLE(canvasvar_MeterBackgroundTop, "meter background: top")
-CANVAS_VARIABLE(canvasvar_MeterBridgePeakindicatorOffFillStart, "meterbridge peakindicator: fill start")
-CANVAS_VARIABLE(canvasvar_MeterBridgePeakindicatorOffFillEnd, "meterbridge peakindicator: fill end")
-CANVAS_VARIABLE(canvasvar_MeterBridgePeakindicatorOnFillStart, "meterbridge peakindicator on: fill start")
-CANVAS_VARIABLE(canvasvar_MeterBridgePeakindicatorOnFillEnd, "meterbridge peakindicator on: fill end")
-CANVAS_VARIABLE(canvasvar_MeterBridgeLabelFillStart, "meterbridge label: fill start")
-CANVAS_VARIABLE(canvasvar_MeterBridgeLabelFillEnd, "meterbridge label: fill end")
-CANVAS_VARIABLE(canvasvar_MeterBridgeLabelText, "meterbridge label: text")
CANVAS_VARIABLE(canvasvar_MeterMarker, "meter marker")
CANVAS_VARIABLE(canvasvar_MidiBusBase, "midi bus base")
CANVAS_VARIABLE(canvasvar_MidiFrameBase, "midi frame base")
@@ -131,6 +126,8 @@ CANVAS_VARIABLE(canvasvar_RecordingRect, "recording rect")
CANVAS_VARIABLE(canvasvar_RecWaveFormFill, "recorded waveform fill")
CANVAS_VARIABLE(canvasvar_RecWaveForm, "recorded waveform outline")
CANVAS_VARIABLE(canvasvar_RubberBandRect, "rubber band rect")
+CANVAS_VARIABLE(canvasvar_RulerBase, "ruler base")
+CANVAS_VARIABLE(canvasvar_RulerText, "ruler text")
CANVAS_VARIABLE(canvasvar_SelectedCrossfadeEditorLine, "selected crossfade editor line")
CANVAS_VARIABLE(canvasvar_SelectedCrossfadeEditorWave, "selected crossfade editor wave")
CANVAS_VARIABLE(canvasvar_SelectedFrameBase, "selected region base")
@@ -166,6 +163,8 @@ CANVAS_VARIABLE(canvasvar_TimeAxisFrame, "time axis frame")
CANVAS_VARIABLE(canvasvar_SelectedTimeAxisFrame, "selected time axis frame")
CANVAS_VARIABLE(canvasvar_TimeStretchFill, "time stretch fill")
CANVAS_VARIABLE(canvasvar_TimeStretchOutline, "time stretch outline")
+CANVAS_VARIABLE(canvasvar_MonitorKnobArcStart, "monitor knob: arc start")
+CANVAS_VARIABLE(canvasvar_MonitorKnobArcEnd, "monitor knob: arc end")
CANVAS_VARIABLE(canvasvar_TransportDragRect, "transport drag rect")
CANVAS_VARIABLE(canvasvar_TransportLoopRect, "transport loop rect")
CANVAS_VARIABLE(canvasvar_TransportMarkerBar, "transport marker bar")
@@ -186,10 +185,8 @@ CANVAS_VARIABLE(canvasvar_MonitorSectionKnob, "monitor knob")
CANVAS_VARIABLE(canvasvar_ButtonBorder, "border color")
#define BUTTON_VARS(root,name) \
-CANVAS_VARIABLE(canvasvar_ ## root ## FillStart, name ": fill start") \
-CANVAS_VARIABLE(canvasvar_ ## root ## FillEnd, name ": fill end") \
-CANVAS_VARIABLE(canvasvar_ ## root ## FillStartActive, name ": fill start active") \
-CANVAS_VARIABLE(canvasvar_ ## root ## FillEndActive, name ": fill end active") \
+CANVAS_VARIABLE(canvasvar_ ## root ## Fill, name ": fill") \
+CANVAS_VARIABLE(canvasvar_ ## root ## FillActive, name ": fill active") \
CANVAS_VARIABLE(canvasvar_ ## root ## LED, name ": led") \
CANVAS_VARIABLE(canvasvar_ ## root ## LEDActive, name ": led active") \
CANVAS_VARIABLE(canvasvar_ ## root ## Text, name ": text") \
@@ -202,6 +199,9 @@ BUTTON_VARS(ProcessorControlButton, "processor control button")
BUTTON_VARS(MonitorButton, "monitor button")
BUTTON_VARS(SoloIsolateButton, "solo isolate")
BUTTON_VARS(SoloSafeButton, "solo safe")
+BUTTON_VARS(MidiDeviceButton, "midi device")
+BUTTON_VARS(MeterBridgePeakIndicator, "meterbridge peakindicator")
+BUTTON_VARS(MeterBridgeLabel, "meterbridge label")
BUTTON_VARS(MonitorSectionCutButton, "monitor section cut")
BUTTON_VARS(MonitorSectionDimButton, "monitor section dim")
BUTTON_VARS(MonitorSectionSoloButton, "monitor section solo")
@@ -223,14 +223,19 @@ BUTTON_VARS(TransportButton, "transport button")
BUTTON_VARS(TransportRecenableButton, "transport recenable button")
BUTTON_VARS(TransportOptionButton, "transport option button")
BUTTON_VARS(TransportActiveOptionButton, "transport active option button")
+BUTTON_VARS(TrackNumberLabel, "tracknumber label")
BUTTON_VARS(PluginBypassButton, "plugin bypass button")
BUTTON_VARS(PunchButton, "punch button")
BUTTON_VARS(MouseModeButton, "mouse mode button")
+BUTTON_VARS(NudgeButton, "nudge button")
BUTTON_VARS(ZoomButton, "zoom button")
+BUTTON_VARS(ZoomMenu, "zoom menu")
BUTTON_VARS(RouteButton, "route button")
BUTTON_VARS(MixerStripButton, "mixer strip button")
BUTTON_VARS(MixerStripNameButton, "mixer strip name button")
BUTTON_VARS(MidiInputButton, "midi input button")
+BUTTON_VARS(LockButton, "lock button")
+BUTTON_VARS(GenericButton, "generic button")
#define CLOCK_VARS(root,name) \
CANVAS_VARIABLE(canvasvar_ ## root ## Background, name ": background") \
@@ -248,3 +253,44 @@ CLOCK_VARS(PunchClock, "punch clock")
CLOCK_VARS(SelectionClock, "selection clock")
CLOCK_VARS(NudgeClock, "nudge clock")
CLOCK_VARS(GenericClock, "clock")
+CANVAS_FONT_VARIABLE(canvasvar_SmallFont, "small font")
+CANVAS_FONT_VARIABLE(canvasvar_SmallerFont, "smaller font")
+CANVAS_FONT_VARIABLE(canvasvar_NormalFont, "normal font")
+CANVAS_FONT_VARIABLE(canvasvar_BigFont, "big font")
+CANVAS_FONT_VARIABLE(canvasvar_LargeFont, "large font")
+CANVAS_FONT_VARIABLE(canvasvar_LargerFont, "larger font")
+CANVAS_FONT_VARIABLE(canvasvar_HugerFont, "huger font")
+CANVAS_FONT_VARIABLE(canvasvar_MassiveFont, "massive font")
+CANVAS_FONT_VARIABLE(canvasvar_SmallBoldFont, "small bold font")
+CANVAS_FONT_VARIABLE(canvasvar_SmallerBoldFont, "smaller bold font")
+CANVAS_FONT_VARIABLE(canvasvar_NormalBoldFont, "normal bold font")
+CANVAS_FONT_VARIABLE(canvasvar_BigBoldFont, "big bold font")
+CANVAS_FONT_VARIABLE(canvasvar_LargeBoldFont, "large bold font")
+CANVAS_FONT_VARIABLE(canvasvar_LargerBoldFont, "larger bold font")
+CANVAS_FONT_VARIABLE(canvasvar_HugerBoldFont, "huger bold font")
+CANVAS_FONT_VARIABLE(canvasvar_MassiveBoldFont, "massive bold font")
+CANVAS_FONT_VARIABLE(canvasvar_SmallItalicFont, "small italic font")
+CANVAS_FONT_VARIABLE(canvasvar_SmallerItalicFont, "smaller italic font")
+CANVAS_FONT_VARIABLE(canvasvar_NormalItalicFont, "normal italic font")
+CANVAS_FONT_VARIABLE(canvasvar_BigItalicFont, "big italic font")
+CANVAS_FONT_VARIABLE(canvasvar_LargeItalicFont, "large italic font")
+CANVAS_FONT_VARIABLE(canvasvar_LargerItalicFont, "larger italic font")
+CANVAS_FONT_VARIABLE(canvasvar_HugerItalicFont, "huger italic font")
+CANVAS_FONT_VARIABLE(canvasvar_MassiveItalicFont, "massive italic font")
+CANVAS_FONT_VARIABLE(canvasvar_SmallMonospaceFont, "small monospace font")
+CANVAS_FONT_VARIABLE(canvasvar_SmallerMonospaceFont, "smaller monospace font")
+CANVAS_FONT_VARIABLE(canvasvar_NormalMonospaceFont, "normal monospace font")
+CANVAS_FONT_VARIABLE(canvasvar_BigMonospaceFont, "big monospace font")
+CANVAS_FONT_VARIABLE(canvasvar_LargeMonospaceFont, "large monospace font")
+CANVAS_FONT_VARIABLE(canvasvar_LargerMonospaceFont, "larger monospace font")
+CANVAS_FONT_VARIABLE(canvasvar_HugerMonospaceFont, "huger monospace font")
+CANVAS_FONT_VARIABLE(canvasvar_MassiveMonospaceFont, "massive monospace font")
+CANVAS_FONT_VARIABLE(canvasvar_SmallBoldMonospaceFont, "small bold monospace font")
+CANVAS_FONT_VARIABLE(canvasvar_SmallerBoldMonospaceFont, "smaller bold monospace font")
+CANVAS_FONT_VARIABLE(canvasvar_NormalBoldMonospaceFont, "normal bold monospace font")
+CANVAS_FONT_VARIABLE(canvasvar_BigBoldMonospaceFont, "big bold monospace font")
+CANVAS_FONT_VARIABLE(canvasvar_LargeBoldMonospaceFont, "large bold monospace font")
+CANVAS_FONT_VARIABLE(canvasvar_LargerBoldMonospaceFont, "larger bold monospace font")
+CANVAS_FONT_VARIABLE(canvasvar_HugerBoldMonospaceFont, "huger bold monospace font")
+CANVAS_FONT_VARIABLE(canvasvar_MassiveBoldMonospaceFont, "massive bold monospace font")
+
diff --git a/gtk2_ardour/control_point.cc b/gtk2_ardour/control_point.cc
index d869e094aa..90761d77c8 100644
--- a/gtk2_ardour/control_point.cc
+++ b/gtk2_ardour/control_point.cc
@@ -18,17 +18,17 @@
*/
#include "control_point.h"
-#include "diamond.h"
#include "automation_line.h"
#include "ardour_ui.h"
#include "public_editor.h"
+#include "canvas/rectangle.h"
+
#include "i18n.h"
using namespace std;
using namespace ARDOUR;
using namespace PBD;
-using namespace Gnome; // for Canvas
PBD::Signal1<void, ControlPoint *> ControlPoint::CatchDeletion;
@@ -43,17 +43,14 @@ ControlPoint::ControlPoint (AutomationLine& al)
_shape = Full;
_size = 4.0;
- _item = new Canvas::SimpleRect (_line.canvas_group());
- _item->property_draw() = true;
- _item->property_fill() = false;
- _item->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_ControlPointFill.get();
- _item->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_ControlPointOutline.get();
- _item->property_outline_pixels() = 1;
+ _item = new ArdourCanvas::Rectangle (&_line.canvas_group());
+ _item->set_fill (true);
+ _item->set_fill_color (ARDOUR_UI::config()->get_canvasvar_ControlPointFill());
+ _item->set_outline_color (ARDOUR_UI::config()->get_canvasvar_ControlPointOutline());
_item->set_data ("control_point", this);
- _item->signal_event().connect (sigc::mem_fun (this, &ControlPoint::event_handler));
+ _item->Event.connect (sigc::mem_fun (this, &ControlPoint::event_handler));
hide ();
- set_visible (false);
}
ControlPoint::ControlPoint (const ControlPoint& other, bool /*dummy_arg_to_force_special_copy_constructor*/)
@@ -71,15 +68,13 @@ ControlPoint::ControlPoint (const ControlPoint& other, bool /*dummy_arg_to_force
_shape = other._shape;
_size = other._size;
- _item = new Canvas::SimpleRect (_line.canvas_group());
- _item->property_fill() = false;
- _item->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_ControlPointOutline.get();
- _item->property_outline_pixels() = 1;
+ _item = new ArdourCanvas::Rectangle (&_line.canvas_group());
+ _item->set_fill (true);
+ _item->set_outline_color (ARDOUR_UI::config()->get_canvasvar_ControlPointOutline());
/* NOTE: no event handling in copied ControlPoints */
hide ();
- set_visible (false);
}
ControlPoint::~ControlPoint ()
@@ -107,29 +102,15 @@ ControlPoint::show()
_item->show();
}
-void
-ControlPoint::set_visible (bool yn)
-{
- _item->property_draw() = (gboolean) yn;
-}
-
bool
ControlPoint::visible () const
{
- return _item->property_draw ();
+ return _item->visible ();
}
void
ControlPoint::reset (double x, double y, AutomationList::iterator mi, uint32_t vi, ShapeType shape)
{
- /* If this is too big, libart will confuse itself and segfault after it casts the bounding box
- of this automation line to ints. Sigh.
- */
-
- if (x > INT32_MAX) {
- x = INT32_MAX;
- }
-
_model = mi;
_view_index = vi;
move_to (x, y, shape);
@@ -141,13 +122,13 @@ ControlPoint::set_color ()
uint32_t color = 0;
if (_selected) {
- color = ARDOUR_UI::config()->canvasvar_ControlPointSelected.get();
+ color = ARDOUR_UI::config()->get_canvasvar_ControlPointSelected();
} else {
- color = ARDOUR_UI::config()->canvasvar_ControlPointOutline.get();
+ color = ARDOUR_UI::config()->get_canvasvar_ControlPointOutline();
}
- _item->property_outline_color_rgba() = color;
- _item->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_ControlPointFill.get();
+ _item->set_outline_color (color);
+ _item->set_fill_color (ARDOUR_UI::config()->get_canvasvar_ControlPointFill());
}
void
@@ -179,18 +160,15 @@ ControlPoint::move_to (double x, double y, ShapeType shape)
break;
}
- _item->property_x1() = x1;
- _item->property_x2() = x2;
- _item->property_y1() = y - half_size;
- _item->property_y2() = y + half_size;
+ _item->set (ArdourCanvas::Rect (x1, y - half_size, x2, y + half_size));
_x = x;
_y = y;
_shape = shape;
}
-void
-ControlPoint::i2w (double& x, double& y) const
+ArdourCanvas::Item&
+ControlPoint::item() const
{
- _item->i2w (x, y);
+ return *_item;
}
diff --git a/gtk2_ardour/control_point.h b/gtk2_ardour/control_point.h
index 0c2bf1e01d..045f1241ed 100644
--- a/gtk2_ardour/control_point.h
+++ b/gtk2_ardour/control_point.h
@@ -21,11 +21,10 @@
#define __ardour_control_point_h__
#include <sys/types.h>
+#include <gdk/gdkevents.h>
#include "ardour/automation_list.h"
-#include "canvas.h"
-#include "simplerect.h"
#include "selectable.h"
class AutomationLine;
@@ -36,11 +35,10 @@ class AutomationTimeAxisView;
class Selectable;
class Selection;
-namespace Gnome {
- namespace Canvas {
- class SimpleRect;
- class Diamond;
- }
+namespace ArdourCanvas {
+ class Rectangle;
+ class Diamond;
+ class Item;
}
class ControlPoint : public Selectable
@@ -63,22 +61,21 @@ class ControlPoint : public Selectable
void hide ();
void show ();
- void set_color ();
+ bool visible () const;
double size () const {
return _size;
}
void set_size (double);
- void set_visible (bool);
- bool visible () const;
+ void set_color ();
bool can_slide() const { return _can_slide; }
void set_can_slide(bool yn) { _can_slide = yn; }
uint32_t view_index() const { return _view_index; }
void set_view_index(uint32_t i) { _view_index = i; }
- void i2w (double &, double &) const;
+ ArdourCanvas::Item& item() const;
ARDOUR::AutomationList::iterator model() const { return _model; }
AutomationLine& line() const { return _line; }
@@ -86,7 +83,7 @@ class ControlPoint : public Selectable
static PBD::Signal1<void, ControlPoint *> CatchDeletion;
private:
- ArdourCanvas::SimpleRect* _item;
+ ArdourCanvas::Rectangle* _item;
AutomationLine& _line;
ARDOUR::AutomationList::iterator _model;
uint32_t _view_index;
diff --git a/gtk2_ardour/crossfade_edit.cc b/gtk2_ardour/crossfade_edit.cc
index aaea3a2242..02d3ceb4bb 100644
--- a/gtk2_ardour/crossfade_edit.cc
+++ b/gtk2_ardour/crossfade_edit.cc
@@ -25,7 +25,6 @@
#include <gtkmm/image.h>
#include <gtkmm/scrolledwindow.h>
-#include <libgnomecanvasmm/line.h>
#include "pbd/memento_command.h"
#include "ardour/automation_list.h"
@@ -41,15 +40,16 @@
#include <gtkmm2ext/gtk_ui.h>
+#include "canvas/rectangle.h"
+#include "canvas/wave_view.h"
+#include "canvas/line.h"
+#include "canvas/polygon.h"
+
#include "ardour_ui.h"
#include "crossfade_edit.h"
#include "rgb_macros.h"
#include "keyboard.h"
-#include "utils.h"
#include "gui_thread.h"
-#include "canvas_impl.h"
-#include "simplerect.h"
-#include "waveview.h"
#include "actions.h"
using namespace std;
@@ -127,38 +127,33 @@ CrossfadeEditor::CrossfadeEditor (Session* s, boost::shared_ptr<Crossfade> xf, d
point_grabbed = false;
toplevel = 0;
- canvas = new ArdourCanvas::CanvasAA ();
+ canvas = new ArdourCanvas::GtkCanvas ();
canvas->signal_size_allocate().connect (sigc::mem_fun(*this, &CrossfadeEditor::canvas_allocation));
canvas->set_size_request (425, 200);
- toplevel = new ArdourCanvas::SimpleRect (*(canvas->root()));
- toplevel->property_x1() = 0.0;
- toplevel->property_y1() = 0.0;
- toplevel->property_x2() = 10.0;
- toplevel->property_y2() = 10.0;
- toplevel->property_fill() = true;
- toplevel->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_CrossfadeEditorBase.get();
- toplevel->property_outline_pixels() = 0;
- toplevel->signal_event().connect (sigc::mem_fun (*this, &CrossfadeEditor::canvas_event));
+ toplevel = new ArdourCanvas::Rectangle (canvas->root());
+ toplevel->set (ArdourCanvas::Rect (0, 0, 10, 10));
+ toplevel->set_fill (true);
+ toplevel->set_fill_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorBase());
+ toplevel->set_outline (false);
+ toplevel->Event.connect (sigc::mem_fun (*this, &CrossfadeEditor::canvas_event));
- fade[Out].line = new ArdourCanvas::Line (*(canvas->root()));
- fade[Out].line->property_width_pixels() = 1;
- fade[Out].line->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_CrossfadeEditorLine.get();
+ fade[Out].line = new ArdourCanvas::PolyLine (canvas->root());
+ fade[Out].line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorLine());
- fade[Out].shading = new ArdourCanvas::Polygon (*(canvas->root()));
- fade[Out].shading->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_CrossfadeEditorLineShading.get();
+ fade[Out].shading = new ArdourCanvas::Polygon (canvas->root());
+ fade[Out].shading->set_fill_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorLineShading());
- fade[In].line = new ArdourCanvas::Line (*(canvas->root()));
- fade[In].line->property_width_pixels() = 1;
- fade[In].line->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_CrossfadeEditorLine.get();
+ fade[In].line = new ArdourCanvas::PolyLine (canvas->root());
+ fade[In].line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorLine());
- fade[In].shading = new ArdourCanvas::Polygon (*(canvas->root()));
- fade[In].shading->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_CrossfadeEditorLineShading.get();
+ fade[In].shading = new ArdourCanvas::Polygon (canvas->root());
+ fade[In].shading->set_fill_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorLineShading());
- fade[In].shading->signal_event().connect (sigc::mem_fun (*this, &CrossfadeEditor::canvas_event));
- fade[In].line->signal_event().connect (sigc::mem_fun (*this, &CrossfadeEditor::curve_event));
- fade[Out].shading->signal_event().connect (sigc::mem_fun (*this, &CrossfadeEditor::canvas_event));
- fade[Out].line->signal_event().connect (sigc::mem_fun (*this, &CrossfadeEditor::curve_event));
+ fade[In].shading->Event.connect (sigc::mem_fun (*this, &CrossfadeEditor::canvas_event));
+ fade[In].line->Event.connect (sigc::mem_fun (*this, &CrossfadeEditor::curve_event));
+ fade[Out].shading->Event.connect (sigc::mem_fun (*this, &CrossfadeEditor::canvas_event));
+ fade[Out].line->Event.connect (sigc::mem_fun (*this, &CrossfadeEditor::curve_event));
select_in_button.set_name (X_("CrossfadeEditCurveButton"));
select_out_button.set_name (X_("CrossfadeEditCurveButton"));
@@ -465,15 +460,14 @@ CrossfadeEditor::make_point ()
{
Point* p = new Point;
- p->box = new ArdourCanvas::SimpleRect (*(canvas->root()));
- p->box->property_fill() = true;
- p->box->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_CrossfadeEditorPointFill.get();
- p->box->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_CrossfadeEditorPointOutline.get();
- p->box->property_outline_pixels() = 1;
+ p->box = new ArdourCanvas::Rectangle (canvas->root());
+ p->box->set_fill (true);
+ p->box->set_fill_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorPointFill());
+ p->box->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorPointOutline());
p->curve = fade[current].line;
- p->box->signal_event().connect (sigc::bind (sigc::mem_fun (*this, &CrossfadeEditor::point_event), p));
+ p->box->Event.connect (sigc::bind (sigc::mem_fun (*this, &CrossfadeEditor::point_event), p));
return p;
}
@@ -520,11 +514,7 @@ CrossfadeEditor::Point::move_to (double nx, double ny, double xfract, double yfr
double x1 = nx - half_size;
double x2 = nx + half_size;
- box->property_x1() = x1;
- box->property_x2() = x2;
-
- box->property_y1() = ny - half_size;
- box->property_y2() = ny + half_size;
+ box->set (ArdourCanvas::Rect (x1, ny - half_size, x2, ny + half_size));
x = xfract;
y = yfract;
@@ -534,15 +524,20 @@ void
CrossfadeEditor::canvas_allocation (Gtk::Allocation& /*alloc*/)
{
if (toplevel) {
- toplevel->property_x1() = 0.0;
- toplevel->property_y1() = 0.0;
- toplevel->property_x2() = (double) canvas->get_allocation().get_width() + canvas_border;
- toplevel->property_y2() = (double) canvas->get_allocation().get_height() + canvas_border;
+ toplevel->set (
+ ArdourCanvas::Rect (
+ 0,
+ 0,
+ canvas->get_allocation().get_width() + canvas_border,
+ canvas->get_allocation().get_height() + canvas_border
+ )
+ );
}
- canvas->set_scroll_region (0.0, 0.0,
- canvas->get_allocation().get_width(),
- canvas->get_allocation().get_height());
+ /* XXX: CANVAS */
+// canvas->set_scroll_region (0.0, 0.0,
+// canvas->get_allocation().get_width(),
+// canvas->get_allocation().get_height());
Point* end = make_point ();
PointSorter cmp;
@@ -622,9 +617,9 @@ CrossfadeEditor::canvas_allocation (Gtk::Allocation& /*alloc*/)
yoff = n * ht;
- (*i)->property_y() = yoff;
- (*i)->property_height() = ht;
- (*i)->property_samples_per_unit() = spu;
+ (*i)->set_y_position (yoff);
+ (*i)->set_height (ht);
+ (*i)->set_samples_per_pixel (spu);
}
ht = canvas->get_allocation().get_height() / xfade->out()->n_channels();
@@ -634,9 +629,9 @@ CrossfadeEditor::canvas_allocation (Gtk::Allocation& /*alloc*/)
yoff = n * ht;
- (*i)->property_y() = yoff;
- (*i)->property_height() = ht;
- (*i)->property_samples_per_unit() = spu;
+ (*i)->set_y_position (yoff);
+ (*i)->set_height (ht);
+ (*i)->set_samples_per_pixel (spu);
}
}
@@ -681,11 +676,11 @@ CrossfadeEditor::redraw ()
ArdourCanvas::Points spts;
while (pts.size() < npoints) {
- pts.push_back (Gnome::Art::Point (0,0));
+ pts.push_back (ArdourCanvas::Duple (0,0));
}
while (spts.size() < npoints + 3) {
- spts.push_back (Gnome::Art::Point (0,0));
+ spts.push_back (ArdourCanvas::Duple (0,0));
}
/* the shade coordinates *MUST* be in anti-clockwise order.
@@ -695,36 +690,36 @@ CrossfadeEditor::redraw ()
/* lower left */
- spts[0].set_x (canvas_border);
- spts[0].set_y (effective_height() + canvas_border);
+ spts[0].x = canvas_border;
+ spts[0].y = effective_height() + canvas_border;
/* lower right */
- spts[1].set_x (effective_width() + canvas_border);
- spts[1].set_y (effective_height() + canvas_border);
+ spts[1].x = effective_width() + canvas_border;
+ spts[1].y = effective_height() + canvas_border;
/* upper right */
- spts[2].set_x (effective_width() + canvas_border);
- spts[2].set_y (canvas_border);
+ spts[2].x = effective_width() + canvas_border;
+ spts[2].y = canvas_border;
} else {
/* upper left */
- spts[0].set_x (canvas_border);
- spts[0].set_y (canvas_border);
+ spts[0].x = canvas_border;
+ spts[0].y = canvas_border;
/* lower left */
- spts[1].set_x (canvas_border);
- spts[1].set_y (effective_height() + canvas_border);
+ spts[1].x = canvas_border;
+ spts[1].y = effective_height() + canvas_border;
/* lower right */
- spts[2].set_x (effective_width() + canvas_border);
- spts[2].set_y (effective_height() + canvas_border);
+ spts[2].x = effective_width() + canvas_border;
+ spts[2].y = effective_height() + canvas_border;
}
@@ -734,15 +729,15 @@ CrossfadeEditor::redraw ()
double y = vec[i];
- pts[i].set_x (canvas_border + i);
- pts[i].set_y (y_coordinate (y));
+ pts[i].x = canvas_border + i;
+ pts[i].y = y_coordinate (y);
- spts[last_spt - i].set_x (canvas_border + i);
- spts[last_spt - i].set_y (pts[i].get_y());
+ spts[last_spt - i].x = canvas_border + i;
+ spts[last_spt - i].y = pts[i].y;
}
- fade[current].line->property_points() = pts;
- fade[current].shading->property_points() = spts;
+ fade[current].line->set (pts);
+ fade[current].shading->set (pts);
for (vector<ArdourCanvas::WaveView*>::iterator i = fade[current].waves.begin(); i != fade[current].waves.end(); ++i) {
(*i)->property_gain_src() = static_cast<Evoral::Curve*>(&fade[current].gain_curve.curve());
@@ -1069,17 +1064,17 @@ CrossfadeEditor::curve_select_clicked (WhichFade wf)
if (wf == In) {
for (vector<ArdourCanvas::WaveView*>::iterator i = fade[In].waves.begin(); i != fade[In].waves.end(); ++i) {
- (*i)->property_wave_color() = ARDOUR_UI::config()->canvasvar_SelectedCrossfadeEditorWave.get();
- (*i)->property_fill_color() = ARDOUR_UI::config()->canvasvar_SelectedCrossfadeEditorWave.get();
+ (*i)->set_outline_color (ARDOUR_UI::config()->get_canvasvar_SelectedCrossfadeEditorWave());
+ (*i)->set_fill_color (ARDOUR_UI::config()->get_canvasvar_SelectedCrossfadeEditorWave());
}
for (vector<ArdourCanvas::WaveView*>::iterator i = fade[Out].waves.begin(); i != fade[Out].waves.end(); ++i) {
- (*i)->property_wave_color() = ARDOUR_UI::config()->canvasvar_CrossfadeEditorWave.get();
- (*i)->property_fill_color() = ARDOUR_UI::config()->canvasvar_CrossfadeEditorWave.get();
+ (*i)->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorWave());
+ (*i)->set_fill_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorWave());
}
- fade[In].line->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_SelectedCrossfadeEditorLine.get();
- fade[Out].line->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_CrossfadeEditorLine.get();
+ fade[In].line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_SelectedCrossfadeEditorLine());
+ fade[Out].line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorLine());
fade[Out].shading->hide();
fade[In].shading->show();
@@ -1094,17 +1089,17 @@ CrossfadeEditor::curve_select_clicked (WhichFade wf)
} else {
for (vector<ArdourCanvas::WaveView*>::iterator i = fade[In].waves.begin(); i != fade[In].waves.end(); ++i) {
- (*i)->property_wave_color() = ARDOUR_UI::config()->canvasvar_CrossfadeEditorWave.get();
- (*i)->property_fill_color() = ARDOUR_UI::config()->canvasvar_CrossfadeEditorWave.get();
+ (*i)->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorWave());
+ (*i)->set_fill_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorWave());
}
for (vector<ArdourCanvas::WaveView*>::iterator i = fade[Out].waves.begin(); i != fade[Out].waves.end(); ++i) {
- (*i)->property_wave_color() = ARDOUR_UI::config()->canvasvar_SelectedCrossfadeEditorWave.get();
- (*i)->property_fill_color() = ARDOUR_UI::config()->canvasvar_SelectedCrossfadeEditorWave.get();
+ (*i)->set_outline_color (ARDOUR_UI::config()->get_canvasvar_SelectedCrossfadeEditorWave());
+ (*i)->set_fill_color (ARDOUR_UI::config()->get_canvasvar_SelectedCrossfadeEditorWave());
}
- fade[Out].line->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_SelectedCrossfadeEditorLine.get();
- fade[In].line->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_CrossfadeEditorLine.get();
+ fade[Out].line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_SelectedCrossfadeEditorLine());
+ fade[In].line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorLine());
fade[In].shading->hide();
fade[Out].shading->show();
@@ -1146,9 +1141,9 @@ CrossfadeEditor::make_waves (boost::shared_ptr<AudioRegion> region, WhichFade wh
double spu;
if (which == In) {
- color = ARDOUR_UI::config()->canvasvar_SelectedCrossfadeEditorWave.get();
+ color = ARDOUR_UI::config()->get_canvasvar_SelectedCrossfadeEditorWave();
} else {
- color = ARDOUR_UI::config()->canvasvar_CrossfadeEditorWave.get();
+ color = ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorWave();
}
ht = canvas->get_allocation().get_height() / (double) nchans;
@@ -1162,29 +1157,22 @@ CrossfadeEditor::make_waves (boost::shared_ptr<AudioRegion> region, WhichFade wh
gdouble yoff = n * ht;
if (region->audio_source(n)->peaks_ready (boost::bind (&CrossfadeEditor::peaks_ready, this, boost::weak_ptr<AudioRegion>(region), which), &_peaks_ready_connection, gui_context())) {
- WaveView* waveview = new WaveView (*(canvas->root()));
-
- waveview->property_data_src() = region.get();
- waveview->property_cache_updater() = true;
- waveview->property_cache() = WaveView::create_cache();
- waveview->property_channel() = n;
- waveview->property_length_function() = (void*) region_length_from_c;
- waveview->property_sourcefile_length_function() = (void*) sourcefile_length_from_c;
- waveview->property_peak_function() = (void*) region_read_peaks_from_c;
+ ArdourCanvas::WaveView* waveview = new ArdourCanvas::WaveView (canvas->root(), region);
+
+ waveview->set_channel (n);
waveview->property_gain_function() = (void*) curve_get_vector_from_c;
waveview->property_gain_src() = static_cast<Evoral::Curve*>(&fade[which].gain_curve.curve());
- waveview->property_x() = canvas_border;
- waveview->property_y() = yoff;
- waveview->property_height() = ht;
- waveview->property_samples_per_unit() = spu;
+ waveview->set_x_position (canvas_border);
+ waveview->set_y_position (yoff);
+ waveview->set_height (ht);
+ waveview->set_samples_per_pixel (spu);
waveview->property_amplitude_above_axis() = 2.0;
- waveview->property_wave_color() = color;
- waveview->property_fill_color() = color;
+ waveview->set_outline_color (color);
+ waveview->set_fill_color (color);
- if (which==In)
- waveview->property_region_start() = region->start();
- else
- waveview->property_region_start() = region->start()+region->length()-xfade->length();
+ if (which != In) {
+ waveview->set_region_start (region->start() + region->length() - xfade->length());
+ }
waveview->lower_to_bottom();
fade[which].waves.push_back (waveview);
diff --git a/gtk2_ardour/crossfade_edit.h b/gtk2_ardour/crossfade_edit.h
index fab459c54f..5d9e665ba0 100644
--- a/gtk2_ardour/crossfade_edit.h
+++ b/gtk2_ardour/crossfade_edit.h
@@ -26,11 +26,12 @@
#include <gtkmm/button.h>
#include <gtkmm/radiobutton.h>
+#include "canvas/canvas.h"
+
#include "evoral/Curve.hpp"
#include "ardour/session_handle.h"
#include "ardour_dialog.h"
-#include "canvas.h"
namespace ARDOUR
{
@@ -39,6 +40,13 @@ namespace ARDOUR
class Crossfade;
}
+namespace ArdourCanvas {
+ class Rectangle;
+ class Line;
+ class Polygon;
+ class WaveView;
+}
+
class CrossfadeEditor : public ArdourDialog
{
public:
@@ -87,8 +95,8 @@ class CrossfadeEditor : public ArdourDialog
struct Point {
~Point();
- ArdourCanvas::SimpleRect* box;
- ArdourCanvas::Line* curve;
+ ArdourCanvas::Rectangle* box;
+ ArdourCanvas::PolyLine* curve;
double x;
double y;
@@ -103,11 +111,11 @@ class CrossfadeEditor : public ArdourDialog
}
};
- ArdourCanvas::SimpleRect* toplevel;
- ArdourCanvas::Canvas* canvas;
+ ArdourCanvas::Rectangle* toplevel;
+ ArdourCanvas::GtkCanvas* canvas;
struct Half {
- ArdourCanvas::Line* line;
+ ArdourCanvas::PolyLine* line;
ArdourCanvas::Polygon* shading;
std::list<Point*> points;
ARDOUR::AutomationList normative_curve; /* 0 - 1.0, linear */
diff --git a/gtk2_ardour/crossfade_view.h b/gtk2_ardour/crossfade_view.h
index af33cb7296..a042611cc9 100644
--- a/gtk2_ardour/crossfade_view.h
+++ b/gtk2_ardour/crossfade_view.h
@@ -21,7 +21,6 @@
#define __gtk_ardour_crossfade_view_h__
#include <vector>
-#include <libgnomecanvasmm.h>
#include "pbd/signals.h"
#include "ardour/crossfade.h"
@@ -30,13 +29,17 @@
class RouteTimeAxisView;
class AudioRegionView;
+namespace ArdourCanvas {
+ class PolyLine;
+}
+
class CrossfadeView : public TimeAxisViewItem
{
public:
- CrossfadeView (ArdourCanvas::Group*,
+ CrossfadeView (ArdourCanvas::Container*,
RouteTimeAxisView&,
boost::shared_ptr<ARDOUR::Crossfade>,
- double initial_samples_per_unit,
+ double initial_samples_per_pixel,
Gdk::Color& basic_color,
AudioRegionView& leftview,
AudioRegionView& rightview);
@@ -70,8 +73,8 @@ private:
bool _all_in_view;
double _child_height;
- ArdourCanvas::Line *fade_in;
- ArdourCanvas::Line *fade_out;
+ ArdourCanvas::PolyLine *fade_in;
+ ArdourCanvas::PolyLine *fade_out;
void crossfade_changed (const PBD::PropertyChange&);
void crossfade_fades_changed ();
diff --git a/gtk2_ardour/ardour3_ui_default.conf b/gtk2_ardour/default_ui_config.in
index 21bda9c83c..126eb125c0 100644
--- a/gtk2_ardour/ardour3_ui_default.conf
+++ b/gtk2_ardour/default_ui_config.in
@@ -1,10 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<Ardour>
<UI>
- <Option name="ui-rc-file" value="ardour3_ui_dark.rc"/>
+ <Option name="icon-set" value="default"/>
+ <Option name="ui-rc-file" value="ui_dark.rc"/>
+ <Option name="flat-buttons" value="0"/>
+ <Option name="blink-rec-arm" value="0"/>
+ <Option name="waveform-gradient-depth" value="0"/>
+ <Option name="timeline-item-gradient-depth" value="0.5"/>
+ <Option name="all-floating-windows-are-dialogs" value="0"/>
+ <Option name="color-regions-using-track-color" value="0"/>
+ <Option name="show-waveform-clipping" value="1"/>
+ <Option name="lock-gui-after-seconds" value="0"/>
+ <Option name="draggable-playhead" value="1"/>
</UI>
<Canvas>
- <Option name="active crossfade" value="3967af79"/>
+ <Option name="active crossfade" value="20b2af2e"/>
<Option name="audio bus base" value="73829968"/>
<Option name="audio master bus base" value="00000000"/>
<Option name="audio track base" value="9daac468"/>
@@ -30,14 +40,16 @@
<Option name="frame handle" value="7c00ff96"/>
<Option name="gain line" value="00bc20ff"/>
<Option name="gain line inactive" value="9fbca4c5"/>
- <Option name="ghost track base" value="44007c7f"/>
+ <Option name="ghost track base" value="603e7cc6"/>
<Option name="ghost track midi outline" value="00000000"/>
- <Option name="ghost track wave" value="02fd004c"/>
- <Option name="ghost track wave fill" value="00000000"/>
- <Option name="ghost track wave clip" value="ff000000"/>
+ <Option name="ghost track wave" value="202020d9"/>
+ <Option name="ghost track wave fill" value="20202060"/>
+ <Option name="ghost track wave clip" value="202020d9"/>
<Option name="ghost track zero line" value="e500e566"/>
<Option name="image track" value="ddddd8ff"/>
<Option name="inactive crossfade" value="e8ed3d77"/>
+ <Option name="inactive fade handle" value="bbbbbbaa"/>
+ <Option name="inactive group tab" value="434343ff"/>
<Option name="location cd marker" value="1ee8c4ff"/>
<Option name="location loop" value="35964fff"/>
<Option name="location marker" value="c4f411ff"/>
@@ -52,7 +64,7 @@
<Option name="measure line beat" value="a29e9e76"/>
<Option name="meter bar" value="626470cc"/>
<Option name="meter fill: 0" value="008800ff"/>
- <Option name="meter fill: 1" value="008800ff"/>
+ <Option name="meter fill: 1" value="00aa00ff"/>
<Option name="meter fill: 2" value="00ff00ff"/>
<Option name="meter fill: 3" value="00ff00ff"/>
<Option name="meter fill: 4" value="fff000ff"/>
@@ -73,6 +85,11 @@
<Option name="midi meter fill: 7" value="8fc78eff"/>
<Option name="midi meter fill: 8" value="8fc78eff"/>
<Option name="midi meter fill: 9" value="00f45600"/>
+ <Option name="meterbridge peakindicator: fill" value="444444ff"/>
+ <Option name="meterbridge peakindicator: fill active" value="ff0000ff"/>
+ <Option name="meterbridge label: fill" value="444444ff"/>
+ <Option name="meterbridge label: fill active" value="333333ff"/>
+ <Option name="meterbridge label: text" value="c7c7d8ff"/>
<Option name="meter marker" value="f2425bff"/>
<Option name="midi bus base" value="00000000"/>
<Option name="midi frame base" value="393d3766"/>
@@ -85,10 +102,10 @@
<Option name="selected midi note color max" value="8383deff"/>
<Option name="midi note selected" value="b2b2ffff"/>
<Option name="midi note velocity text" value="f4f214bc"/>
- <Option name="midi patch change fill" value="50555AA0"/>
- <Option name="midi patch change outline" value="C0C5CAFF"/>
- <Option name="midi patch change inactive channel fill" value="50555AC0"/>
- <Option name="midi patch change inactive channel outline" value="20252AC0"/>
+ <Option name="midi patch change fill" value="50555aa0"/>
+ <Option name="midi patch change outline" value="c0c5caff"/>
+ <Option name="midi patch change inactive channel fill" value="50555ac0"/>
+ <Option name="midi patch change inactive channel outline" value="20252ac0"/>
<Option name="midi sysex fill" value="f1e139a0"/>
<Option name="midi sysex outline" value="a7a7d4ff"/>
<Option name="midi select rect fill" value="8888ff88"/>
@@ -106,13 +123,15 @@
<Option name="range drag rect" value="82c696c6"/>
<Option name="range marker bar" value="7d7f8ccc"/>
<Option name="recording rect" value="cc2828ff"/>
- <Option name="recorded waveform fill" value="ffffffff"/>
+ <Option name="recorded waveform fill" value="ffffffd9"/>
<Option name="recorded waveform outline" value="0f0f1fff"/>
<Option name="rubber band rect" value="c6c6c659"/>
+ <Option name="ruler base" value="2c2121ff"/>
+ <Option name="ruler text" value="e5e5e5ff"/>
<Option name="selected crossfade editor line" value="00dbdbff"/>
<Option name="selected crossfade editor wave" value="f9ea14a0"/>
- <Option name="selected region base" value="51518a97"/>
- <Option name="selected waveform fill" value="51518ac8"/>
+ <Option name="selected region base" value="596559ff"/>
+ <Option name="selected waveform fill" value="ffa500d9"/>
<Option name="selected waveform outline" value="0f0f0fcc"/>
<Option name="selection rect" value="e8f4d377"/>
<Option name="selection" value="636363b2"/>
@@ -141,9 +160,12 @@
<Option name="tempo bar" value="70727fcc"/>
<Option name="tempo marker" value="f2425bff"/>
<Option name="time axis frame" value="000000ff"/>
- <Option name="selected time axis frame" value="000000ff"/>
+ <Option name="selected time axis frame" value="ee0000ff"/>
<Option name="time stretch fill" value="e2b5b596"/>
<Option name="time stretch outline" value="63636396"/>
+ <Option name="tracknumber label: fill" value="444444ff"/>
+ <Option name="tracknumber label: fill active" value="333333ff"/>
+ <Option name="tracknumber label: text" value="c7c7d8ff"/>
<Option name="transport drag rect" value="969696c6"/>
<Option name="transport loop rect" value="1e7728f9"/>
<Option name="transport marker bar" value="8c8e98cc"/>
@@ -153,307 +175,256 @@
<Option name="verbose canvas cursor" value="fffd2ebc"/>
<Option name="vestigial frame" value="0000000f"/>
<Option name="video timeline bar" value="303030ff"/>
- <Option name="region base" value="99a7b5a0"/>
+ <Option name="region base" value="b1c9b1ff"/>
<Option name="region area covered by another region" value="505050b0"/>
- <Option name="waveform outline" value="0f0f0fc8"/>
+ <Option name="waveform outline" value="000000ff"/>
<Option name="clipped waveform" value="ff0000e5"/>
- <Option name="waveform fill" value="3d4753dc"/>
- <Option name="zero line" value="b5b5b525"/>
+ <Option name="waveform fill" value="ffffffd9"/>
+ <Option name="zero line" value="7f7f7fe0"/>
<Option name="zoom rect" value="c6d1b26d"/>
- <Option name="monitor knob" value="329edfff"/>
+ <Option name="monitor knob" value="555050ff"/>
+ <Option name="monitor knob: arc start" value="5d90b0ff"/>
+ <Option name="monitor knob: arc end" value="154c6eff"/>
<Option name="button border" value="000000f0"/>
- <Option name="processor prefader: fill start" value="873c3cff"/>
- <Option name="processor prefader: fill end" value="542525ff"/>
- <Option name="processor prefader: fill start active" value="774c4cff"/>
- <Option name="processor prefader: fill end active" value="603535ff"/>
+ <Option name="border color" value="00000000"/>
+ <Option name="processor prefader: fill" value="873c3cff"/>
+ <Option name="processor prefader: fill active" value="603535ff"/>
<Option name="processor prefader: led" value="26550eff"/>
<Option name="processor prefader: led active" value="78cb4eff"/>
<Option name="processor prefader: text" value="aaaaa3ff"/>
<Option name="processor prefader: text active" value="eeeeecff"/>
- <Option name="processor fader: fill start" value="5d90b0ff"/>
- <Option name="processor fader: fill end" value="154c6eff"/>
- <Option name="processor fader: fill start active" value="5d90b0ff"/>
- <Option name="processor fader: fill end active" value="256d8fff"/>
+ <Option name="processor fader: fill" value="5d90b0ff"/>
+ <Option name="processor fader: fill active" value="256d8fff"/>
<Option name="processor fader: led" value="26550eff"/>
<Option name="processor fader: led active" value="78cb4eff"/>
<Option name="processor fader: text" value="aaaaa3ff"/>
<Option name="processor fader: text active" value="eeeeecff"/>
- <Option name="processor postfader: fill start" value="354537ff"/>
- <Option name="processor postfader: fill end" value="202823ff"/>
- <Option name="processor postfader: fill start active" value="466452ff"/>
- <Option name="processor postfader: fill end active" value="254528ff"/>
+ <Option name="processor postfader: fill" value="455a3cff"/>
+ <Option name="processor postfader: fill active" value="254528ff"/>
<Option name="processor postfader: led" value="26550eff"/>
<Option name="processor postfader: led active" value="78cb4eff"/>
<Option name="processor postfader: text" value="aaaaa3ff"/>
<Option name="processor postfader: text active" value="eeeeecff"/>
- <Option name="processor control button: fill start" value="222222ff"/>
- <Option name="processor control button: fill end" value="333333ff"/>
- <Option name="processor control button: fill start active" value="444444ff"/>
- <Option name="processor control button: fill end active" value="333333ff"/>
- <Option name="processor control button: led" value="224400ff"/>
- <Option name="processor control button: led active" value="99cc00ff"/>
+ <Option name="processor control button: fill" value="222222ff"/>
+ <Option name="processor control button: fill active" value="333333ff"/>
+ <Option name="processor control button: led" value="101010ff"/>
+ <Option name="processor control button: led active" value="5d90b0ff"/>
<Option name="processor control button: text" value="ffffffff"/>
<Option name="processor control button: text active" value="ffffffff"/>
- <Option name="monitor button: fill start" value="5f5a58ff"/>
- <Option name="monitor button: fill end" value="4f4a48ff"/>
- <Option name="monitor button: fill start active" value="553500ff"/>
- <Option name="monitor button: fill end active" value="e58505ff"/>
+ <Option name="midi device: fill" value="54555dff"/>
+ <Option name="midi device: fill active" value="45464cff"/>
+ <Option name="midi device: led" value="006600ff"/>
+ <Option name="midi device: led active" value="00ff00ff"/>
+ <Option name="midi device: text" value="c7c7d8ff"/>
+ <Option name="midi device: text active" value="eeeeecff"/>
+ <Option name="monitor button: fill" value="616268ff"/>
+ <Option name="monitor button: fill active" value="c56505ff"/>
<Option name="monitor button: led" value="660000ff"/>
<Option name="monitor button: led active" value="ff0000ff"/>
- <Option name="monitor button: text" value="aaaaa3ff"/>
+ <Option name="monitor button: text" value="c7c7d8ff"/>
<Option name="monitor button: text active" value="1a1a1aff"/>
- <Option name="meterbridge label: fill start" value="444444ff"/>
- <Option name="meterbridge label: fill end" value="333333ff"/>
- <Option name="meterbridge label: text" value="c7c7d8ff"/>
- <Option name="solo isolate: fill start" value="5f5a58ff"/>
- <Option name="solo isolate: fill end" value="504442ff"/>
- <Option name="solo isolate: fill start active" value="5d5856ff"/>
- <Option name="solo isolate: fill end active" value="564d48ff"/>
+ <Option name="solo isolate: fill" value="616268ff"/>
+ <Option name="solo isolate: fill active" value="564d48ff"/>
<Option name="solo isolate: led" value="660000ff"/>
<Option name="solo isolate: led active" value="ff0000ff"/>
<Option name="solo isolate: text" value="c7c7d8ff"/>
<Option name="solo isolate: text active" value="c8c8d9ff"/>
- <Option name="solo safe: fill start" value="5f5a58ff"/>
- <Option name="solo safe: fill end" value="504442ff"/>
- <Option name="solo safe: fill start active" value="5d5856ff"/>
- <Option name="solo safe: fill end active" value="564d48ff"/>
+ <Option name="solo safe: fill" value="616268ff"/>
+ <Option name="solo safe: fill active" value="564d48ff"/>
<Option name="solo safe: led" value="660000ff"/>
<Option name="solo safe: led active" value="ff0000ff"/>
<Option name="solo safe: text" value="c7c7d8ff"/>
<Option name="solo safe: text active" value="c8c8d9ff"/>
<Option name="meterbridge peaklabel" value="ff1111ff"/>
<Option name="meter color BBC" value="ffa500ff"/>
- <Option name="meterbridge peakindicator: fill start" value="444444ff"/>
- <Option name="meterbridge peakindicator: fill end" value="333333ff"/>
- <Option name="meterbridge peakindicator on: fill start" value="ff0000ff"/>
- <Option name="meterbridge peakindicator on: fill end" value="880000ff"/>
- <Option name="monitor section cut: fill start" value="5f5a58ff"/>
- <Option name="monitor section cut: fill end" value="4f4a48ff"/>
- <Option name="monitor section cut: fill start active" value="5f4943ff"/>
- <Option name="monitor section cut: fill end active" value="ffa500ff"/>
+ <Option name="monitor section cut: fill" value="5f5a58ff"/>
+ <Option name="monitor section cut: fill active" value="ffa500ff"/>
<Option name="monitor section cut: led" value="473812ff"/>
<Option name="monitor section cut: led active" value="78cb4eff"/>
<Option name="monitor section cut: text" value="c7c7d8ff"/>
<Option name="monitor section cut: text active" value="000000ff"/>
- <Option name="monitor section dim: fill start" value="5f5a58ff"/>
- <Option name="monitor section dim: fill end" value="4f4a48ff"/>
- <Option name="monitor section dim: fill start active" value="553500ff"/>
- <Option name="monitor section dim: fill end active" value="e58505ff"/>
+ <Option name="monitor section dim: fill" value="5f5a58ff"/>
+ <Option name="monitor section dim: fill active" value="e58505ff"/>
+ <Option name="monitor section dim: led" value="00000000"/>
<Option name="monitor section dim: led active" value="78cb4eff"/>
<Option name="monitor section dim: text" value="c8c8d9ff"/>
<Option name="monitor section dim: text active" value="c8c8d9ff"/>
- <Option name="monitor section solo: fill start" value="5f5a58ff"/>
- <Option name="monitor section solo: fill end" value="4f4a48ff"/>
- <Option name="monitor section solo: fill start active" value="104506ff"/>
- <Option name="monitor section solo: fill end active" value="4dbb00ff"/>
+ <Option name="monitor section solo: fill" value="5f5a58ff"/>
+ <Option name="monitor section solo: fill active" value="4dbb00ff"/>
<Option name="monitor section solo: led" value="473812ff"/>
<Option name="monitor section solo: led active" value="ffa500ff"/>
<Option name="monitor section solo: text" value="00000000"/>
<Option name="monitor section solo: text active" value="00000000"/>
- <Option name="monitor section invert: fill start" value="5f5a58ff"/>
- <Option name="monitor section invert: fill end" value="4f4a48ff"/>
- <Option name="monitor section invert: fill start active" value="222260ff"/>
- <Option name="monitor section invert: fill end active" value="4242d0ff"/>
+ <Option name="monitor section invert: fill" value="5f5a58ff"/>
+ <Option name="monitor section invert: fill active" value="4242d0ff"/>
<Option name="monitor section invert: led" value="473812ff"/>
<Option name="monitor section invert: led active" value="78cb4eff"/>
<Option name="monitor section invert: text" value="00000000"/>
<Option name="monitor section invert: text active" value="00000000"/>
- <Option name="monitor section mono: fill start" value="5f5a58ff"/>
- <Option name="monitor section mono: fill end" value="4f4a48ff"/>
- <Option name="monitor section mono: fill start active" value="222260ff"/>
- <Option name="monitor section mono: fill end active" value="3232c0ff"/>
+ <Option name="monitor section mono: fill" value="5f5a58ff"/>
+ <Option name="monitor section mono: fill active" value="3232c0ff"/>
<Option name="monitor section mono: led" value="473812ff"/>
<Option name="monitor section mono: led active" value="78cb4eff"/>
<Option name="monitor section mono: text" value="c7c7d8ff"/>
<Option name="monitor section mono: text active" value="c8c8d9ff"/>
- <Option name="monitor section solo model: fill start" value="5d5856ff"/>
- <Option name="monitor section solo model: fill end" value="564d48ff"/>
- <Option name="monitor section solo model: fill start active" value="5d5856ff"/>
- <Option name="monitor section solo model: fill end active" value="564d48ff"/>
+ <Option name="monitor section solo model: fill" value="5d5856ff"/>
+ <Option name="monitor section solo model: fill active" value="564d48ff"/>
<Option name="monitor section solo model: led" value="4f3300ff"/>
<Option name="monitor section solo model: led active" value="ffa500ff"/>
<Option name="monitor section solo model: text" value="c7c7d8ff"/>
<Option name="monitor section solo model: text active" value="c8c8d9ff"/>
- <Option name="monitor solo override: fill start" value="5d5856ff"/>
- <Option name="monitor solo override: fill end" value="564d48ff"/>
- <Option name="monitor solo override: fill start active" value="5d5856ff"/>
- <Option name="monitor solo override: fill end active" value="564d48ff"/>
+ <Option name="monitor solo override: fill" value="5d5856ff"/>
+ <Option name="monitor solo override: fill active" value="564d48ff"/>
<Option name="monitor solo override: led" value="4f3300ff"/>
<Option name="monitor solo override: led active" value="ffa500ff"/>
<Option name="monitor solo override: text" value="c7c7d8ff"/>
<Option name="monitor solo override: text active" value="c8c8d9ff"/>
- <Option name="monitor solo exclusive: fill start" value="5d5856ff"/>
- <Option name="monitor solo exclusive: fill end" value="564d48ff"/>
- <Option name="monitor solo exclusive: fill start active" value="5d5856ff"/>
- <Option name="monitor solo exclusive: fill end active" value="564c47ff"/>
+ <Option name="monitor solo exclusive: fill" value="5d5856ff"/>
+ <Option name="monitor solo exclusive: fill active" value="564c47ff"/>
<Option name="monitor solo exclusive: led" value="4f3300ff"/>
<Option name="monitor solo exclusive: led active" value="ffa500ff"/>
<Option name="monitor solo exclusive: text" value="c7c7d8ff"/>
<Option name="monitor solo exclusive: text active" value="c8c8d9ff"/>
- <Option name="rude solo: fill start" value="684d4dff"/>
- <Option name="rude solo: fill end" value="513c3cff"/>
- <Option name="rude solo: fill start active" value="ff1f1fff"/>
- <Option name="rude solo: fill end active" value="e21b1bff"/>
+ <Option name="rude solo: fill" value="684d4dff"/>
+ <Option name="rude solo: fill active" value="e21b1bff"/>
<Option name="rude solo: led" value="00000000"/>
<Option name="rude solo: led active" value="00000000"/>
<Option name="rude solo: text" value="969696ff"/>
<Option name="rude solo: text active" value="e5e5e5ff"/>
- <Option name="rude isolate: fill start" value="21414fff"/>
- <Option name="rude isolate: fill end" value="192930ff"/>
- <Option name="rude isolate: fill start active" value="e5f7ffff"/>
- <Option name="rude isolate: fill end active" value="b6e5fdff"/>
+ <Option name="rude isolate: fill" value="21414fff"/>
+ <Option name="rude isolate: fill active" value="b6e5fdff"/>
<Option name="rude isolate: led" value="00000000"/>
<Option name="rude isolate: led active" value="000000ff"/>
<Option name="rude isolate: text" value="979797ff"/>
<Option name="rude isolate: text active" value="000000ff"/>
- <Option name="rude audition: fill start" value="684d4dff"/>
- <Option name="rude audition: fill end" value="513c3cff"/>
- <Option name="rude audition: fill start active" value="ff1f1fff"/>
- <Option name="rude audition: fill end active" value="e21b1bff"/>
+ <Option name="rude audition: fill" value="684d4dff"/>
+ <Option name="rude audition: fill active" value="e21b1bff"/>
<Option name="rude audition: led" value="00000000"/>
<Option name="rude audition: led active" value="00000000"/>
<Option name="rude audition: text" value="979797ff"/>
<Option name="rude audition: text active" value="ffffffff"/>
- <Option name="feedback alert: fill start" value="684d4dff"/>
- <Option name="feedback alert: fill end" value="513c3cff"/>
- <Option name="feedback alert: fill start active" value="ff1f1fff"/>
- <Option name="feedback alert: fill end active" value="e21b1bff"/>
+ <Option name="feedback alert: fill" value="684d4dff"/>
+ <Option name="feedback alert: fill active" value="e21b1bff"/>
<Option name="feedback alert: led" value="00000000"/>
<Option name="feedback alert: led active" value="00000000"/>
<Option name="feedback alert: text" value="969696ff"/>
<Option name="feedback alert: text active" value="e5e5e5ff"/>
- <Option name="mute button: fill start" value="565659ff"/>
- <Option name="mute button: fill end" value="484853ff"/>
- <Option name="mute button: fill start active" value="5f4943ff"/>
- <Option name="mute button: fill end active" value="ffff00ff"/>
+ <Option name="mute button: fill" value="616268ff"/>
+ <Option name="mute button: fill active" value="bbbb00ff"/>
<Option name="mute button: led" value="00000000"/>
<Option name="mute button: led active" value="00000000"/>
- <Option name="mute button: text" value="bfbfafff"/>
+ <Option name="mute button: text" value="c7c7d8ff"/>
<Option name="mute button: text active" value="191919ff"/>
- <Option name="solo button: fill start" value="565659ff"/>
- <Option name="solo button: fill end" value="484853ff"/>
- <Option name="solo button: fill start active" value="1d7a05ff"/>
- <Option name="solo button: fill end active" value="4dbb00ff"/>
+ <Option name="solo button: fill" value="616268ff"/>
+ <Option name="solo button: fill active" value="4dbb00ff"/>
<Option name="solo button: led" value="00000000"/>
<Option name="solo button: led active" value="00000000"/>
- <Option name="solo button: text" value="afbfafff"/>
+ <Option name="solo button: text" value="c7c7d8ff"/>
<Option name="solo button: text active" value="191919ff"/>
- <Option name="invert button: fill start" value="565659ff"/>
- <Option name="invert button: fill end" value="484853ff"/>
- <Option name="invert button: fill start active" value="222260ff"/>
- <Option name="invert button: fill end active" value="4242d0ff"/>
+ <Option name="invert button: fill" value="616268ff"/>
+ <Option name="invert button: fill active" value="4242d0ff"/>
<Option name="invert button: led" value="473812ff"/>
<Option name="invert button: led active" value="78cb4eff"/>
- <Option name="invert button: text" value="bfbfbfff"/>
+ <Option name="invert button: text" value="d7d7e8ff"/>
<Option name="invert button: text active" value="bfbfbfff"/>
- <Option name="record enable button: fill start" value="3e312fff"/>
- <Option name="record enable button: fill end" value="3f312fff"/>
- <Option name="record enable button: fill start active" value="c10b0bff"/>
- <Option name="record enable button: fill end active" value="fd0000ff"/>
+ <Option name="record enable button: fill" value="616268ff"/>
+ <Option name="record enable button: fill active" value="b50e0eff"/>
<Option name="record enable button: led" value="7b3541ff"/>
<Option name="record enable button: led active" value="ffa3b3ff"/>
<Option name="record enable button: text" value="a5a5a5ff"/>
<Option name="record enable button: text active" value="000000ff"/>
- <Option name="send alert button: fill start" value="4e5647ff"/>
- <Option name="send alert button: fill end" value="43493cff"/>
- <Option name="send alert button: fill start active" value="91f928ff"/>
- <Option name="send alert button: fill end active" value="85e524ff"/>
+ <Option name="generic button: fill" value="616268ff"/>
+ <Option name="generic button: fill active" value="fd0000ff"/>
+ <Option name="generic button: led" value="22224fff"/>
+ <Option name="generic button: led active" value="2222ffff"/>
+ <Option name="generic button: text" value="c7c7d8ff"/>
+ <Option name="generic button: text active" value="191919ff"/>
+ <Option name="send alert button: fill" value="4e5647ff"/>
+ <Option name="send alert button: fill active" value="85e524ff"/>
<Option name="send alert button: led" value="00000000"/>
<Option name="send alert button: led active" value="00000000"/>
<Option name="send alert button: text" value="ccccccff"/>
<Option name="send alert button: text active" value="000000ff"/>
- <Option name="transport button: fill start" value="616268ff"/>
- <Option name="transport button: fill end" value="505159ff"/>
- <Option name="transport button: fill start active" value="1d7a05ff"/>
- <Option name="transport button: fill end active" value="00a300ff"/>
+ <Option name="transport button: fill" value="616268ff"/>
+ <Option name="transport button: fill active" value="00a300ff"/>
<Option name="transport button: led" value="00000000"/>
<Option name="transport button: led active" value="00000000"/>
<Option name="transport button: text" value="00000000"/>
<Option name="transport button: text active" value="00000000"/>
- <Option name="transport recenable button: fill start" value="5f3f3fff"/>
- <Option name="transport recenable button: fill end" value="3d2828ff"/>
- <Option name="transport recenable button: fill start active" value="6a0404ff"/>
- <Option name="transport recenable button: fill end active" value="b50e0eff"/>
+ <Option name="transport recenable button: fill" value="5f3f3fff"/>
+ <Option name="transport recenable button: fill active" value="b50e0eff"/>
<Option name="transport recenable button: led" value="00000000"/>
<Option name="transport recenable button: led active" value="00000000"/>
<Option name="transport recenable button: text" value="00000000"/>
<Option name="transport recenable button: text active" value="00000000"/>
- <Option name="transport option button: fill start" value="636470ff"/>
- <Option name="transport option button: fill end" value="54555dff"/>
- <Option name="transport option button: fill start active" value="636470ff"/>
- <Option name="transport option button: fill end active" value="4a4b51ff"/>
+ <Option name="transport option button: fill" value="616268ff"/>
+ <Option name="transport option button: fill active" value="4a4b51ff"/>
<Option name="transport option button: led" value="4f3300ff"/>
<Option name="transport option button: led active" value="ffa500ff"/>
- <Option name="transport option button: text" value="c7c7d8ff"/>
+ <Option name="transport option button: text" value="d7d7e8ff"/>
<Option name="transport option button: text active" value="c8c8d9ff"/>
- <Option name="transport active option button: fill start" value="606b60ff"/>
- <Option name="transport active option button: fill end" value="495348ff"/>
- <Option name="transport active option button: fill start active" value="154515ff"/>
- <Option name="transport active option button: fill end active" value="20a320ff"/>
+ <Option name="transport active option button: fill" value="616268ff"/>
+ <Option name="transport active option button: fill active" value="00a300ff"/>
<Option name="transport active option button: led" value="4f3300ff"/>
<Option name="transport active option button: led active" value="ffa500ff"/>
- <Option name="transport active option button: text" value="c7c7d8ff"/>
+ <Option name="transport active option button: text" value="d7d7e8ff"/>
<Option name="transport active option button: text active" value="000000ff"/>
- <Option name="plugin bypass button: fill start" value="5d5856ff"/>
- <Option name="plugin bypass button: fill end" value="564d48ff"/>
- <Option name="plugin bypass button: fill start active" value="5d5856ff"/>
- <Option name="plugin bypass button: fill end active" value="564d48ff"/>
+ <Option name="plugin bypass button: fill" value="5d5856ff"/>
+ <Option name="plugin bypass button: fill active" value="564d48ff"/>
<Option name="plugin bypass button: led" value="660000ff"/>
<Option name="plugin bypass button: led active" value="ff0000ff"/>
<Option name="plugin bypass button: text" value="c7c7d8ff"/>
<Option name="plugin bypass button: text active" value="c8c8d9ff"/>
- <Option name="punch button: fill start" value="603f3fff"/>
- <Option name="punch button: fill end" value="3d2828ff"/>
- <Option name="punch button: fill start active" value="503010ff"/>
- <Option name="punch button: fill end active" value="f03020ff"/>
+ <Option name="punch button: fill" value="603f3fff"/>
+ <Option name="punch button: fill active" value="f03020ff"/>
<Option name="punch button: led" value="00000000"/>
<Option name="punch button: led active" value="00000000"/>
<Option name="punch button: text" value="a5a5a5ff"/>
<Option name="punch button: text active" value="d8d8d8ff"/>
- <Option name="mouse mode button: fill start" value="636470ff"/>
- <Option name="mouse mode button: fill end" value="54555dff"/>
- <Option name="mouse mode button: fill start active" value="1d7a05ff"/>
- <Option name="mouse mode button: fill end active" value="14ae08ff"/>
+ <Option name="mouse mode button: fill" value="616268ff"/>
+ <Option name="mouse mode button: fill active" value="00b200ff"/>
<Option name="mouse mode button: led" value="4f3300ff"/>
<Option name="mouse mode button: led active" value="ffa500ff"/>
- <Option name="mouse mode button: text" value="f2f2f2ff"/>
+ <Option name="mouse mode button: text" value="d7d7e8ff"/>
<Option name="mouse mode button: text active" value="000000ff"/>
- <Option name="zoom button: fill start" value="626370ff"/>
- <Option name="zoom button: fill end" value="54555dff"/>
- <Option name="zoom button: fill start active" value="202025ff"/>
- <Option name="zoom button: fill end active" value="404045ff"/>
+ <Option name="nudge button: fill" value="684744ff"/>
+ <Option name="nudge button: fill active" value="404045ff"/>
+ <Option name="nudge button: led" value="4f3300ff"/>
+ <Option name="nudge button: led active" value="ffa500ff"/>
+ <Option name="nudge button: text" value="c7c7d8ff"/>
+ <Option name="nudge button: text active" value="c8c8d9ff"/>
+ <Option name="zoom menu: fill" value="99997950"/>
+ <Option name="zoom menu: fill active" value="404045ff"/>
+ <Option name="zoom menu: led" value="4f3300ff"/>
+ <Option name="zoom menu: led active" value="ffa500ff"/>
+ <Option name="zoom menu: text" value="d7d7e8ff"/>
+ <Option name="zoom menu: text active" value="c8c8d9ff"/>
+ <Option name="zoom button: fill" value="616268ff"/>
+ <Option name="zoom button: fill active" value="00a300ff"/>
<Option name="zoom button: led" value="4f3300ff"/>
<Option name="zoom button: led active" value="ffa500ff"/>
- <Option name="zoom button: text" value="c7c7d8ff"/>
- <Option name="zoom button: text active" value="c8c8d9ff"/>
- <Option name="route button: fill start" value="565659ff"/>
- <Option name="route button: fill end" value="484853ff"/>
- <Option name="route button: fill start active" value="4d4d4dff"/>
- <Option name="route button: fill end active" value="121212ff"/>
+ <Option name="zoom button: text" value="d7d7e8ff"/>
+ <Option name="zoom button: text active" value="000000ff"/>
+ <Option name="route button: fill" value="616268ff"/>
+ <Option name="route button: fill active" value="121212ff"/>
<Option name="route button: led" value="4f3300ff"/>
<Option name="route button: led active" value="ffa500ff"/>
- <Option name="route button: text" value="bfbfbfff"/>
+ <Option name="route button: text" value="d7d7e8ff"/>
<Option name="route button: text active" value="191919ff"/>
- <Option name="mixer strip button: fill start" value="565659ff"/>
- <Option name="mixer strip button: fill end" value="484853ff"/>
- <Option name="mixer strip button: fill start active" value="5f4943ff"/>
- <Option name="mixer strip button: fill end active" value="ffa500ff"/>
+ <Option name="mixer strip button: fill" value="616268ff"/>
+ <Option name="mixer strip button: fill active" value="ffa500ff"/>
<Option name="mixer strip button: led" value="4f3300ff"/>
<Option name="mixer strip button: led active" value="ffa500ff"/>
- <Option name="mixer strip button: text" value="c7c7d8ff"/>
+ <Option name="mixer strip button: text" value="d7d7e8ff"/>
<Option name="mixer strip button: text active" value="000000ff"/>
- <Option name="mixer strip name button: fill start" value="565659ff"/>
- <Option name="mixer strip name button: fill end" value="484853ff"/>
- <Option name="mixer strip name button: fill start active" value="4d4d4dff"/>
- <Option name="mixer strip name button: fill end active" value="121212ff"/>
+ <Option name="mixer strip name button: fill" value="616268ff"/>
+ <Option name="mixer strip name button: fill active" value="121212ff"/>
<Option name="mixer strip name button: led" value="4f3300ff"/>
<Option name="mixer strip name button: led active" value="ffa500ff"/>
- <Option name="mixer strip name button: text" value="c7c7d8ff"/>
+ <Option name="mixer strip name button: text" value="d7d7e8ff"/>
<Option name="mixer strip name button: text active" value="c8c8d9ff"/>
- <Option name="midi input button: fill start" value="656867ff"/>
- <Option name="midi input button: fill end" value="333333ff"/>
- <Option name="midi input button: fill start active" value="a1ff43ff"/>
- <Option name="midi input button: fill end active" value="00a300ff"/>
+ <Option name="midi input button: fill" value="656867ff"/>
+ <Option name="midi input button: fill active" value="00a300ff"/>
<Option name="midi input button: led" value="00000000"/>
<Option name="midi input button: led active" value="00000000"/>
<Option name="midi input button: text" value="00000000"/>
@@ -498,5 +469,52 @@
<Option name="clock: text" value="6bb620ff"/>
<Option name="clock: edited text" value="ffa500ff"/>
<Option name="clock: cursor" value="ffa500ff"/>
+ <Option name="lock button: fill" value="616268ff"/>
+ <Option name="lock button: fill active" value="404045ff"/>
+ <Option name="lock button: led" value="00000000"/>
+ <Option name="lock button: led active" value="00000000"/>
+ <Option name="lock button: text" value="000024ff"/>
+ <Option name="lock button: text active" value="c8c8d9ff"/>
+
+ <Option name="small font" value="@FONT_SMALL@"/>
+ <Option name="smaller font" value="@FONT_SMALLER@"/>
+ <Option name="normal font" value="@FONT_NORMAL@"/>
+ <Option name="big font" value="@FONT_BIG@"/>
+ <Option name="large font" value="@FONT_LARGE@"/>
+ <Option name="larger font" value="@FONT_LARGER@"/>
+ <Option name="huger font" value="@FONT_HUGER@"/>
+ <Option name="massive font" value="@FONT_MASSIVE@"/>
+ <Option name="small bold font" value="bold @FONT_SMALL@"/>
+ <Option name="smaller bold font" value="bold @FONT_SMALLER@"/>
+ <Option name="normal bold font" value="bold @FONT_NORMAL@"/>
+ <Option name="big bold font" value="bold @FONT_BIG@"/>
+ <Option name="large bold font" value="bold @FONT_LARGE@"/>
+ <Option name="larger bold font" value="bold @FONT_LARGER@"/>
+ <Option name="huger bold font" value="bold @FONT_HUGER@"/>
+ <Option name="massive bold font" value="bold @FONT_MASSIVE@"/>
+ <Option name="small italic font" value="italic @FONT_SMALL@"/>
+ <Option name="smaller italic font" value="italic @FONT_SMALLER@"/>
+ <Option name="normal italic font" value="italic @FONT_NORMAL@"/>
+ <Option name="big italic font" value="italic @FONT_BIG@"/>
+ <Option name="large italic font" value="italic @FONT_LARGE@"/>
+ <Option name="larger italic font" value="italic @FONT_LARGER@"/>
+ <Option name="huger italic font" value="italic @FONT_HUGER@"/>
+ <Option name="massive italic font" value="italic @FONT_MASSIVE@"/>
+ <Option name="small monospace font" value="@MONOSPACE@ @FONT_SMALL@"/>
+ <Option name="smaller monospace font" value="@MONOSPACE@ @FONT_SMALLER@"/>
+ <Option name="normal monospace font" value="@MONOSPACE@ @FONT_NORMAL@"/>
+ <Option name="big monospace font" value="@MONOSPACE@ @FONT_BIG@"/>
+ <Option name="large monospace font" value="@MONOSPACE@ @FONT_LARGE@"/>
+ <Option name="larger monospace font" value="@MONOSPACE@ @FONT_LARGER@"/>
+ <Option name="huger monospace font" value="@MONOSPACE@ @FONT_HUGER@"/>
+ <Option name="massive monospace font" value="@MONOSPACE@ @FONT_MASSIVE@"/>
+ <Option name="small bold monospace font" value="bold @MONOSPACE@ @FONT_SMALL@"/>
+ <Option name="smaller bold monospace font" value="bold @MONOSPACE@ @FONT_SMALLER@"/>
+ <Option name="normal bold monospace font" value="bold @MONOSPACE@ @FONT_NORMAL@"/>
+ <Option name="big bold monospace font" value="bold @MONOSPACE@ @FONT_BIG@"/>
+ <Option name="large bold monospace font" value="bold @MONOSPACE@ @FONT_LARGE@"/>
+ <Option name="larger bold monospace font" value="bold @MONOSPACE@ @FONT_LARGER@"/>
+ <Option name="huger bold monospace font" value="bold @MONOSPACE@ @FONT_HUGER@"/>
+ <Option name="massive bold monospace font" value="bold @MONOSPACE@ @FONT_MASSIVE@"/>
</Canvas>
</Ardour>
diff --git a/gtk2_ardour/diamond.cc b/gtk2_ardour/diamond.cc
deleted file mode 100644
index 4ed7fa9ebc..0000000000
--- a/gtk2_ardour/diamond.cc
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- Copyright (C) 2007 Paul Davis
- Author: David Robillard
-
- 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 "diamond.h"
-
-using namespace Gnome::Canvas;
-using namespace Gnome::Art;
-
-Diamond::Diamond(Group& group, double height)
- : Polygon(group)
- , _x (0)
- , _y (0)
- , _h (height)
-{
- points = gnome_canvas_points_new (4);
- move_to (0, 0);
-}
-
-Diamond::~Diamond ()
-{
- gnome_canvas_points_free (points);
-}
-
-void
-Diamond::set_height (double height)
-{
- _h = height;
- move_to (_x, _y);
-}
-
-void
-Diamond::move_to (double x, double y)
-{
- _x = x;
- _y = y;
-
- points->coords[0] = _x;
- points->coords[1] = _y + (_h * 2.0);
-
- points->coords[2] = _x + _h;
- points->coords[3] = _y + _h;
-
- points->coords[4] = _x;
- points->coords[5] = _y;
-
- points->coords[6] = _x - _h;
- points->coords[7] = _y + _h;
-
- g_object_set (gobj(), "points", points, NULL);
-}
-
-void
-Diamond::move_by (double dx, double dy)
-{
- points->coords[0] += dx;
- points->coords[1] += dy;
-
- points->coords[2] += dx;
- points->coords[3] += dy;
-
- points->coords[4] += dx;
- points->coords[5] += dy;
-
- points->coords[6] += dx;
- points->coords[7] += dy;
-
- g_object_set (gobj(), "points", points, NULL);
-}
diff --git a/gtk2_ardour/edit_note_dialog.cc b/gtk2_ardour/edit_note_dialog.cc
index 5aacc59f3c..3d72e080ed 100644
--- a/gtk2_ardour/edit_note_dialog.cc
+++ b/gtk2_ardour/edit_note_dialog.cc
@@ -22,9 +22,9 @@
#include "gtkmm2ext/utils.h"
-#include "canvas-note-event.h"
#include "edit_note_dialog.h"
#include "midi_region_view.h"
+#include "note_base.h"
#include "i18n.h"
@@ -38,7 +38,7 @@ using namespace Gtkmm2ext;
* @param n Notes to edit.
*/
-EditNoteDialog::EditNoteDialog (MidiRegionView* rv, set<ArdourCanvas::CanvasNoteEvent*> n)
+EditNoteDialog::EditNoteDialog (MidiRegionView* rv, set<NoteBase*> n)
: ArdourDialog (_("Note"))
, _region_view (rv)
, _events (n)
@@ -119,7 +119,7 @@ EditNoteDialog::EditNoteDialog (MidiRegionView* rv, set<ArdourCanvas::CanvasNote
double test_time = (*_events.begin())->note()->time ();
double test_length = (*_events.begin())->note()->length ();
- for (set<ArdourCanvas::CanvasNoteEvent*>::iterator i = _events.begin(); i != _events.end(); ++i) {
+ for (set<NoteBase*>::iterator i = _events.begin(); i != _events.end(); ++i) {
if ((*i)->note()->channel() != test_channel) {
_channel_all.set_sensitive (true);
}
@@ -167,7 +167,7 @@ EditNoteDialog::done (int r)
bool had_change = false;
if (!_channel_all.get_sensitive() || _channel_all.get_active ()) {
- for (set<ArdourCanvas::CanvasNoteEvent*>::iterator i = _events.begin(); i != _events.end(); ++i) {
+ for (set<NoteBase*>::iterator i = _events.begin(); i != _events.end(); ++i) {
if (_channel.get_value_as_int() - 1 != (*i)->note()->channel()) {
_region_view->change_note_channel (*i, _channel.get_value_as_int () - 1);
had_change = true;
@@ -176,7 +176,7 @@ EditNoteDialog::done (int r)
}
if (!_pitch_all.get_sensitive() || _pitch_all.get_active ()) {
- for (set<ArdourCanvas::CanvasNoteEvent*>::iterator i = _events.begin(); i != _events.end(); ++i) {
+ for (set<NoteBase*>::iterator i = _events.begin(); i != _events.end(); ++i) {
if (_pitch.get_value_as_int() != (*i)->note()->note()) {
_region_view->change_note_note (*i, _pitch.get_value_as_int ());
had_change = true;
@@ -185,7 +185,7 @@ EditNoteDialog::done (int r)
}
if (!_velocity_all.get_sensitive() || _velocity_all.get_active ()) {
- for (set<ArdourCanvas::CanvasNoteEvent*>::iterator i = _events.begin(); i != _events.end(); ++i) {
+ for (set<NoteBase*>::iterator i = _events.begin(); i != _events.end(); ++i) {
if (_velocity.get_value_as_int() != (*i)->note()->velocity()) {
_region_view->change_note_velocity (*i, _velocity.get_value_as_int ());
had_change = true;
@@ -196,7 +196,7 @@ EditNoteDialog::done (int r)
double const t = _region_view->source_relative_time_converter().from (_time_clock.current_time ());
if (!_time_all.get_sensitive() || _time_all.get_active ()) {
- for (set<ArdourCanvas::CanvasNoteEvent*>::iterator i = _events.begin(); i != _events.end(); ++i) {
+ for (set<NoteBase*>::iterator i = _events.begin(); i != _events.end(); ++i) {
if (t != (*i)->note()->time()) {
_region_view->change_note_time (*i, t);
had_change = true;
@@ -207,7 +207,7 @@ EditNoteDialog::done (int r)
double const d = _region_view->region_relative_time_converter().from (_length_clock.current_duration ());
if (!_length_all.get_sensitive() || _length_all.get_active ()) {
- for (set<ArdourCanvas::CanvasNoteEvent*>::iterator i = _events.begin(); i != _events.end(); ++i) {
+ for (set<NoteBase*>::iterator i = _events.begin(); i != _events.end(); ++i) {
if (d != (*i)->note()->length()) {
_region_view->change_note_length (*i, d);
had_change = true;
@@ -221,7 +221,7 @@ EditNoteDialog::done (int r)
_region_view->apply_diff ();
- for (set<ArdourCanvas::CanvasNoteEvent*>::iterator i = _events.begin(); i != _events.end(); ++i) {
+ for (set<NoteBase*>::iterator i = _events.begin(); i != _events.end(); ++i) {
(*i)->set_selected ((*i)->selected()); // change color
}
}
diff --git a/gtk2_ardour/edit_note_dialog.h b/gtk2_ardour/edit_note_dialog.h
index 1bd8c92144..59e53722a0 100644
--- a/gtk2_ardour/edit_note_dialog.h
+++ b/gtk2_ardour/edit_note_dialog.h
@@ -23,23 +23,18 @@
#include "audio_clock.h"
class MidiRegionView;
-
-namespace Gnome {
- namespace Canvas {
- class CanvasNoteEvent;
- }
-}
+class NoteBase;
class EditNoteDialog : public ArdourDialog
{
- public:
- EditNoteDialog (MidiRegionView *, std::set<Gnome::Canvas::CanvasNoteEvent*>);
+public:
+ EditNoteDialog (MidiRegionView* rv, set<NoteBase*> n);
void done (int);
private:
MidiRegionView* _region_view;
- std::set<Gnome::Canvas::CanvasNoteEvent*> _events;
+ std::set<NoteBase*> _events;
Gtk::SpinButton _channel;
Gtk::CheckButton _channel_all;
Gtk::SpinButton _pitch;
diff --git a/gtk2_ardour/editing_syms.h b/gtk2_ardour/editing_syms.h
index fdbdc66811..318591293d 100644
--- a/gtk2_ardour/editing_syms.h
+++ b/gtk2_ardour/editing_syms.h
@@ -72,6 +72,7 @@ MOUSEMODE(MouseDraw)
MOUSEMODE(MouseTimeFX)
MOUSEMODE(MouseZoom)
MOUSEMODE(MouseAudition)
+MOUSEMODE(MouseCut)
/* Changing this order will break the menu */
ZOOMFOCUS(ZoomFocusLeft)
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index f14180d8a7..2859954742 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -45,6 +45,7 @@
#include "pbd/unknown_type.h"
#include "pbd/unwind.h"
#include "pbd/stacktrace.h"
+#include "pbd/timersub.h"
#include <glibmm/miscutils.h>
#include <glibmm/uriutils.h>
@@ -52,6 +53,9 @@
#include <gdkmm/color.h>
#include <gdkmm/bitmap.h>
+#include <gtkmm/menu.h>
+#include <gtkmm/menuitem.h>
+
#include "gtkmm2ext/bindings.h"
#include "gtkmm2ext/grouped_buttons.h"
#include "gtkmm2ext/gtk_ui.h"
@@ -71,6 +75,9 @@
#include "ardour/tempo.h"
#include "ardour/utils.h"
+#include "canvas/debug.h"
+#include "canvas/text.h"
+
#include "control_protocol/control_protocol.h"
#include "actions.h"
@@ -82,8 +89,6 @@
#include "audio_time_axis.h"
#include "automation_time_axis.h"
#include "bundle_manager.h"
-#include "canvas-noevent-text.h"
-#include "canvas_impl.h"
#include "crossfade_edit.h"
#include "debug.h"
#include "editing.h"
@@ -113,15 +118,16 @@
#include "rhythm_ferret.h"
#include "selection.h"
#include "sfdb_ui.h"
-#include "simpleline.h"
#include "tempo_lines.h"
#include "time_axis_view.h"
#include "utils.h"
+#include "verbose_cursor.h"
#include "i18n.h"
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtk;
using namespace Glib;
@@ -136,9 +142,9 @@ const double Editor::timebar_height = 15.0;
static const gchar *_snap_type_strings[] = {
N_("CD Frames"),
- N_("Timecode Frames"),
- N_("Timecode Seconds"),
- N_("Timecode Minutes"),
+ N_("TC Frames"),
+ N_("TC Seconds"),
+ N_("TC Minutes"),
N_("Seconds"),
N_("Minutes"),
N_("Beats/128"),
@@ -182,6 +188,14 @@ static const gchar *_edit_point_strings[] = {
0
};
+static const gchar *_edit_mode_strings[] = {
+ N_("Slide"),
+ N_("Splice"),
+ N_("Ripple"),
+ N_("Lock"),
+ 0
+};
+
static const gchar *_zoom_focus_strings[] = {
N_("Left"),
N_("Right"),
@@ -205,6 +219,8 @@ static const gchar *_rb_opt_strings[] = {
};
#endif
+#define COMBO_TRIANGLE_WIDTH 25 // ArdourButton _diameter (11) + 2 * arrow-padding (2*2) + 2 * text-padding (2*5)
+
static void
pane_size_watcher (Paned* pane)
{
@@ -251,14 +267,18 @@ Editor::Editor ()
*/
, vertical_adjustment (0.0, 0.0, 10.0, 400.0)
+ , horizontal_adjustment (0.0, 0.0, 1e16)
+ , unused_adjustment (0.0, 0.0, 10.0, 400.0)
- /* tool bar related */
+ , controls_layout (unused_adjustment, vertical_adjustment)
- , zoom_range_clock (new AudioClock (X_("zoomrange"), false, X_("zoom range"), true, false, true))
+ /* tool bar related */
, toolbar_selection_clock_table (2,3)
-
+ , _mouse_mode_tearoff (0)
, automation_mode_button (_("mode"))
+ , _zoom_tearoff (0)
+ , _tools_tearoff (0)
, _toolbar_viewport (*manage (new Gtk::Adjustment (0, 0, 1e10)), *manage (new Gtk::Adjustment (0, 0, 1e10)))
@@ -282,7 +302,7 @@ Editor::Editor ()
PublicEditor::_instance = this;
_have_idled = false;
-
+
selection = new Selection (this);
cut_buffer = new Selection (this);
@@ -293,26 +313,34 @@ Editor::Editor ()
last_update_frame = 0;
pre_press_cursor = 0;
_drags = new DragManager (this);
+ lock_dialog = 0;
+ ruler_dialog = 0;
current_mixer_strip = 0;
tempo_lines = 0;
snap_type_strings = I18N (_snap_type_strings);
snap_mode_strings = I18N (_snap_mode_strings);
zoom_focus_strings = I18N (_zoom_focus_strings);
+ edit_mode_strings = I18N (_edit_mode_strings);
edit_point_strings = I18N (_edit_point_strings);
#ifdef USE_RUBBERBAND
rb_opt_strings = I18N (_rb_opt_strings);
rb_current_opt = 4;
#endif
+ build_edit_mode_menu();
+ build_zoom_focus_menu();
+ build_track_count_menu();
+ build_snap_mode_menu();
+ build_snap_type_menu();
+ build_edit_point_menu();
+
snap_threshold = 5.0;
bbt_beat_subdivision = 4;
- _canvas_width = 0;
- _canvas_height = 0;
- last_autoscroll_x = 0;
- last_autoscroll_y = 0;
- autoscroll_active = false;
- autoscroll_timeout_tag = -1;
+ _visible_canvas_width = 0;
+ _visible_canvas_height = 0;
+ autoscroll_horizontal_allowed = false;
+ autoscroll_vertical_allowed = false;
logo_item = 0;
analysis_window = 0;
@@ -360,23 +388,22 @@ Editor::Editor ()
sfbrowser = 0;
- location_marker_color = ARDOUR_UI::config()->canvasvar_LocationMarker.get();
- location_range_color = ARDOUR_UI::config()->canvasvar_LocationRange.get();
- location_cd_marker_color = ARDOUR_UI::config()->canvasvar_LocationCDMarker.get();
- location_loop_color = ARDOUR_UI::config()->canvasvar_LocationLoop.get();
- location_punch_color = ARDOUR_UI::config()->canvasvar_LocationPunch.get();
+ location_marker_color = ARDOUR_UI::config()->get_canvasvar_LocationMarker();
+ location_range_color = ARDOUR_UI::config()->get_canvasvar_LocationRange();
+ location_cd_marker_color = ARDOUR_UI::config()->get_canvasvar_LocationCDMarker();
+ location_loop_color = ARDOUR_UI::config()->get_canvasvar_LocationLoop();
+ location_punch_color = ARDOUR_UI::config()->get_canvasvar_LocationPunch();
zoom_focus = ZoomFocusLeft;
_edit_point = EditAtMouse;
_internal_editing = false;
current_canvas_cursor = 0;
+ _visible_track_count = 16;
- frames_per_unit = 2048; /* too early to use reset_zoom () */
+ samples_per_pixel = 2048; /* too early to use reset_zoom () */
_scroll_callbacks = 0;
- zoom_range_clock->ValueChanged.connect (sigc::mem_fun(*this, &Editor::zoom_adjustment_changed));
-
bbt_label.set_name ("EditorRulerLabel");
bbt_label.set_size_request (-1, (int)timebar_height);
bbt_label.set_alignment (1.0, 0.5);
@@ -416,6 +443,9 @@ Editor::Editor ()
meter_label.hide();
meter_label.set_no_show_all();
+ if (Profile->get_trx()) {
+ mark_label.set_text (_("Markers"));
+ }
mark_label.set_name ("EditorRulerLabel");
mark_label.set_size_request (-1, (int)timebar_height);
mark_label.set_alignment (1.0, 0.5);
@@ -452,9 +482,10 @@ Editor::Editor ()
transport_mark_label.hide();
transport_mark_label.set_no_show_all();
- initialize_rulers ();
initialize_canvas ();
+ CairoWidget::set_focus_handler (sigc::mem_fun (*this, &Editor::reset_focus));
+
_summary = new EditorSummary (this);
selection->TimeChanged.connect (sigc::mem_fun(*this, &Editor::time_selection_changed));
@@ -467,68 +498,51 @@ Editor::Editor ()
edit_controls_vbox.set_spacing (0);
vertical_adjustment.signal_value_changed().connect (sigc::mem_fun(*this, &Editor::tie_vertical_scrolling), true);
- track_canvas->signal_map_event().connect (sigc::mem_fun (*this, &Editor::track_canvas_map_handler));
+ _track_canvas->signal_map_event().connect (sigc::mem_fun (*this, &Editor::track_canvas_map_handler));
HBox* h = manage (new HBox);
_group_tabs = new EditorGroupTabs (this);
- h->pack_start (*_group_tabs, PACK_SHRINK);
+ if (!ARDOUR::Profile->get_trx()) {
+ h->pack_start (*_group_tabs, PACK_SHRINK);
+ }
h->pack_start (edit_controls_vbox);
controls_layout.add (*h);
controls_layout.set_name ("EditControlsBase");
- controls_layout.add_events (Gdk::SCROLL_MASK);
- controls_layout.signal_scroll_event().connect (sigc::mem_fun(*this, &Editor::control_layout_scroll), false);
-
- controls_layout.add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK);
+ controls_layout.add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK|Gdk::SCROLL_MASK);
controls_layout.signal_button_release_event().connect (sigc::mem_fun(*this, &Editor::edit_controls_button_release));
+ controls_layout.signal_scroll_event().connect (sigc::mem_fun(*this, &Editor::control_layout_scroll), false);
_cursors = new MouseCursors;
+ _cursors->set_cursor_set (ARDOUR_UI::config()->get_icon_set());
+ cerr << "Set cursor set to " << ARDOUR_UI::config()->get_icon_set() << endl;
- ArdourCanvas::Canvas* time_pad = manage(new ArdourCanvas::Canvas());
- ArdourCanvas::SimpleLine* pad_line_1 = manage(new ArdourCanvas::SimpleLine(*time_pad->root(),
- 0.0, 1.0, 100.0, 1.0));
+ ArdourCanvas::GtkCanvas* time_pad = manage (new ArdourCanvas::GtkCanvas ());
- pad_line_1->property_color_rgba() = 0xFF0000FF;
+ ArdourCanvas::Line* pad_line_1 = new ArdourCanvas::Line (time_pad->root());
+ pad_line_1->set (ArdourCanvas::Duple (0.0, 1.0), ArdourCanvas::Duple (100.0, 1.0));
+ pad_line_1->set_outline_color (0xFF0000FF);
pad_line_1->show();
+ // CAIROCANVAS
time_pad->show();
- time_canvas_vbox.set_size_request (-1, (int)(timebar_height * visible_timebars) + 2);
- time_canvas_vbox.set_size_request (-1, -1);
-
- ruler_label_event_box.add (ruler_label_vbox);
- ruler_label_event_box.set_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK);
- ruler_label_event_box.signal_button_release_event().connect (sigc::mem_fun(*this, &Editor::ruler_label_button_release));
-
- time_button_event_box.add (time_button_vbox);
- time_button_event_box.set_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK);
- time_button_event_box.signal_button_release_event().connect (sigc::mem_fun(*this, &Editor::ruler_label_button_release));
-
- /* these enable us to have a dedicated window (for cursor setting, etc.)
- for the canvas areas.
- */
-
- track_canvas_event_box.add (*track_canvas);
-
- time_canvas_event_box.add (time_canvas_vbox);
- time_canvas_event_box.set_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::POINTER_MOTION_MASK);
-
edit_packer.set_col_spacings (0);
edit_packer.set_row_spacings (0);
edit_packer.set_homogeneous (false);
edit_packer.set_border_width (0);
edit_packer.set_name ("EditorWindow");
- /* labels for the rulers */
- edit_packer.attach (ruler_label_event_box, 1, 2, 0, 1, FILL, SHRINK, 0, 0);
- /* labels for the marker "tracks" */
- edit_packer.attach (time_button_event_box, 1, 2, 1, 2, FILL, SHRINK, 0, 0);
- /* the rulers */
- edit_packer.attach (time_canvas_event_box, 2, 3, 0, 1, FILL|EXPAND, FILL, 0, 0);
+ time_bars_event_box.add (time_bars_vbox);
+ time_bars_event_box.set_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK);
+ time_bars_event_box.signal_button_release_event().connect (sigc::mem_fun(*this, &Editor::ruler_label_button_release));
+
+ /* labels for the time bars */
+ edit_packer.attach (time_bars_event_box, 0, 1, 0, 1, FILL, SHRINK, 0, 0);
/* track controls */
- edit_packer.attach (controls_layout, 0, 2, 2, 3, FILL, FILL|EXPAND, 0, 0);
- /* main canvas */
- edit_packer.attach (track_canvas_event_box, 2, 3, 1, 3, FILL|EXPAND, FILL|EXPAND, 0, 0);
+ edit_packer.attach (controls_layout, 0, 1, 1, 2, FILL, FILL|EXPAND, 0, 0);
+ /* canvas */
+ edit_packer.attach (*_track_canvas_viewport, 1, 2, 0, 2, FILL|EXPAND, FILL|EXPAND, 0, 0);
bottom_hbox.set_border_width (2);
bottom_hbox.set_spacing (3);
@@ -539,6 +553,12 @@ Editor::Editor ()
_snapshots = new EditorSnapshots (this);
_locations = new EditorLocations (this);
+ /* these are static location signals */
+
+ Location::start_changed.connect (*this, invalidator (*this), boost::bind (&Editor::location_changed, this, _1), gui_context());
+ Location::end_changed.connect (*this, invalidator (*this), boost::bind (&Editor::location_changed, this, _1), gui_context());
+ Location::changed.connect (*this, invalidator (*this), boost::bind (&Editor::location_changed, this, _1), gui_context());
+
add_notebook_page (_("Regions"), _regions->widget ());
add_notebook_page (_("Tracks & Busses"), _routes->widget ());
add_notebook_page (_("Snapshots"), _snapshots->widget ());
@@ -593,10 +613,14 @@ Editor::Editor ()
_summary_hbox.pack_start (*summary_frame, true, true);
_summary_hbox.pack_start (*summary_arrows_right, false, false);
- editor_summary_pane.pack2 (_summary_hbox);
+ if (!ARDOUR::Profile->get_trx()) {
+ editor_summary_pane.pack2 (_summary_hbox);
+ }
edit_pane.pack1 (editor_summary_pane, true, true);
- edit_pane.pack2 (_the_notebook, false, true);
+ if (!ARDOUR::Profile->get_trx()) {
+ edit_pane.pack2 (_the_notebook, false, true);
+ }
editor_summary_pane.signal_size_allocate().connect (sigc::bind (sigc::mem_fun (*this, &Editor::pane_allocation_handler), static_cast<Paned*> (&editor_summary_pane)));
@@ -636,6 +660,7 @@ Editor::Editor ()
setup_toolbar ();
set_zoom_focus (zoom_focus);
+ set_visible_track_count (_visible_track_count);
_snap_type = SnapToBeat;
set_snap_to (_snap_type);
_snap_mode = SnapOff;
@@ -655,12 +680,10 @@ Editor::Editor ()
/* nudge stuff */
- nudge_forward_button.set_name ("zoom button");
- nudge_forward_button.add_elements (ArdourButton::FlatFace);
+ nudge_forward_button.set_name ("nudge button");
nudge_forward_button.set_image(::get_icon("nudge_right"));
- nudge_backward_button.set_name ("zoom button");
- nudge_backward_button.add_elements (ArdourButton::FlatFace);
+ nudge_backward_button.set_name ("nudge button");
nudge_backward_button.set_image(::get_icon("nudge_left"));
fade_context_menu.set_name ("ArdourContextMenu");
@@ -730,6 +753,7 @@ Editor::Editor ()
Session::AskAboutPlaylistDeletion.connect_same_thread (*this, boost::bind (&Editor::playlist_deletion_dialog, this, _1));
Config->ParameterChanged.connect (*this, invalidator (*this), boost::bind (&Editor::parameter_changed, this, _1), gui_context());
+ ARDOUR_UI::config()->ParameterChanged.connect (sigc::mem_fun (*this, &Editor::ui_parameter_changed));
TimeAxisView::CatchDeletion.connect (*this, invalidator (*this), boost::bind (&Editor::timeaxisview_deleted, this, _1), gui_context());
@@ -737,8 +761,9 @@ Editor::Editor ()
_last_region_menu_was_main = false;
_popup_region_menu_item = 0;
+ _ignore_follow_edits = false;
+
_show_marker_lines = false;
- _over_region_trim_target = false;
/* Button bindings */
@@ -752,9 +777,14 @@ Editor::Editor ()
}
constructed = true;
- instant_save ();
+
+ /* grab current parameter state */
+ boost::function<void (string)> pc (boost::bind (&Editor::ui_parameter_changed, this, _1));
+ ARDOUR_UI::config()->map_parameters (pc);
setup_fade_images ();
+
+ instant_save ();
}
Editor::~Editor()
@@ -762,8 +792,9 @@ Editor::~Editor()
delete button_bindings;
delete _routes;
delete _route_groups;
- delete track_canvas;
+ delete _track_canvas_viewport;
delete _drags;
+ delete nudge_clock;
}
XMLNode*
@@ -780,16 +811,28 @@ Editor::button_settings () const
}
void
-Editor::add_toplevel_controls (Container& cont)
+Editor::add_toplevel_menu (Container& cont)
{
vpacker.pack_start (cont, false, false);
cont.show_all ();
}
+void
+Editor::add_transport_frame (Container& cont)
+{
+ if(ARDOUR::Profile->get_mixbus()) {
+ global_vpacker.pack_start (cont, false, false);
+ global_vpacker.reorder_child (cont, 0);
+ cont.show_all ();
+ } else {
+ vpacker.pack_start (cont, false, false);
+ }
+}
+
bool
Editor::get_smart_mode () const
{
- return ( (current_mouse_mode() == Editing::MouseObject) && smart_mode_action->get_active() );
+ return ((current_mouse_mode() == Editing::MouseObject) && smart_mode_action->get_active());
}
void
@@ -814,8 +857,6 @@ Editor::catch_vanishing_regionview (RegionView *rv)
if (!_all_region_actions_sensitized) {
sensitize_all_region_actions (true);
}
-
- _over_region_trim_target = false;
}
void
@@ -829,7 +870,9 @@ Editor::set_entered_regionview (RegionView* rv)
entered_regionview->exited ();
}
- if ((entered_regionview = rv) != 0) {
+ entered_regionview = rv;
+
+ if (entered_regionview != 0) {
entered_regionview->entered (internal_editing ());
}
@@ -848,7 +891,9 @@ Editor::set_entered_track (TimeAxisView* tav)
entered_track->exited ();
}
- if ((entered_track = tav) != 0) {
+ entered_track = tav;
+
+ if (entered_track) {
entered_track->entered ();
}
}
@@ -857,6 +902,7 @@ void
Editor::show_window ()
{
if (!is_visible ()) {
+ DisplaySuspender ds;
show_all ();
/* XXX: this is a bit unfortunate; it would probably
@@ -883,7 +929,7 @@ Editor::show_window ()
if (current_mixer_strip) {
current_mixer_strip->hide_things ();
- current_mixer_strip->parameter_changed ("mixer-strip-visibility");
+ current_mixer_strip->parameter_changed ("mixer-element-visibility");
}
}
@@ -905,23 +951,6 @@ Editor::instant_save ()
}
void
-Editor::zoom_adjustment_changed ()
-{
- if (_session == 0) {
- return;
- }
-
- double fpu = zoom_range_clock->current_duration() / _canvas_width;
- bool clamped = clamp_frames_per_unit (fpu);
-
- if (clamped) {
- zoom_range_clock->set ((framepos_t) floor (fpu * _canvas_width));
- }
-
- temporal_zoom (fpu);
-}
-
-void
Editor::control_vertical_zoom_in_all ()
{
tav_zoom_smooth (false, true);
@@ -1016,7 +1045,7 @@ Editor::control_scroll (float fraction)
return;
}
- double step = fraction * current_page_frames();
+ double step = fraction * current_page_samples();
/*
_control_scroll_target is an optional<T>
@@ -1037,7 +1066,7 @@ Editor::control_scroll (float fraction)
if ((fraction < 0.0f) && (*_control_scroll_target < (framepos_t) fabs(step))) {
*_control_scroll_target = 0;
} else if ((fraction > 0.0f) && (max_framepos - *_control_scroll_target < step)) {
- *_control_scroll_target = max_framepos - (current_page_frames()*2); // allow room for slop in where the PH is on the screen
+ *_control_scroll_target = max_framepos - (current_page_samples()*2); // allow room for slop in where the PH is on the screen
} else {
*_control_scroll_target += (framepos_t) floor (step);
}
@@ -1047,9 +1076,9 @@ Editor::control_scroll (float fraction)
playhead_cursor->set_position (*_control_scroll_target);
UpdateAllTransportClocks (*_control_scroll_target);
- if (*_control_scroll_target > (current_page_frames() / 2)) {
+ if (*_control_scroll_target > (current_page_samples() / 2)) {
/* try to center PH in window */
- reset_x_origin (*_control_scroll_target - (current_page_frames()/2));
+ reset_x_origin (*_control_scroll_target - (current_page_samples()/2));
} else {
reset_x_origin (0);
}
@@ -1101,6 +1130,79 @@ Editor::on_realize ()
{
Window::on_realize ();
Realized ();
+
+ if (ARDOUR_UI::config()->get_lock_gui_after_seconds()) {
+ start_lock_event_timing ();
+ }
+
+ signal_event().connect (sigc::mem_fun (*this, &Editor::generic_event_handler));
+}
+
+void
+Editor::start_lock_event_timing ()
+{
+ /* check if we should lock the GUI every 30 seconds */
+
+ Glib::signal_timeout().connect (sigc::mem_fun (*this, &Editor::lock_timeout_callback), 30 * 1000);
+}
+
+bool
+Editor::generic_event_handler (GdkEvent* ev)
+{
+ switch (ev->type) {
+ case GDK_BUTTON_PRESS:
+ case GDK_BUTTON_RELEASE:
+ case GDK_MOTION_NOTIFY:
+ case GDK_KEY_PRESS:
+ case GDK_KEY_RELEASE:
+ gettimeofday (&last_event_time, 0);
+ break;
+
+ case GDK_LEAVE_NOTIFY:
+ switch (ev->crossing.detail) {
+ case GDK_NOTIFY_UNKNOWN:
+ case GDK_NOTIFY_INFERIOR:
+ case GDK_NOTIFY_ANCESTOR:
+ break;
+ case GDK_NOTIFY_VIRTUAL:
+ case GDK_NOTIFY_NONLINEAR:
+ case GDK_NOTIFY_NONLINEAR_VIRTUAL:
+ /* leaving window, so reset focus, thus ending any and
+ all text entry operations.
+ */
+ reset_focus();
+ break;
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ return false;
+}
+
+bool
+Editor::lock_timeout_callback ()
+{
+ struct timeval now, delta;
+
+ gettimeofday (&now, 0);
+
+ timersub (&now, &last_event_time, &delta);
+
+ if (delta.tv_sec > (time_t) ARDOUR_UI::config()->get_lock_gui_after_seconds()) {
+ lock ();
+ /* don't call again. Returning false will effectively
+ disconnect us from the timer callback.
+
+ unlock() will call start_lock_event_timing() to get things
+ started again.
+ */
+ return false;
+ }
+
+ return true;
}
void
@@ -1122,7 +1224,7 @@ Editor::map_position_change (framepos_t frame)
void
Editor::center_screen (framepos_t frame)
{
- double page = _canvas_width * frames_per_unit;
+ framecnt_t const page = _visible_canvas_width * samples_per_pixel;
/* if we're off the page, then scroll.
*/
@@ -1184,7 +1286,6 @@ Editor::set_session (Session *t)
return;
}
- zoom_range_clock->set_session (_session);
_playlist_selector->set_session (_session);
nudge_clock->set_session (_session);
_summary->set_session (_session);
@@ -1212,32 +1313,12 @@ Editor::set_session (Session *t)
/* Make sure we have auto loop and auto punch ranges */
Location* loc = _session->locations()->auto_loop_location();
- if (loc == 0) {
- loc = new Location (*_session, 0, _session->current_end_frame(), _("Loop"),(Location::Flags) (Location::IsAutoLoop | Location::IsHidden));
-
- if (loc->start() == loc->end()) {
- loc->set_end (loc->start() + 1);
- }
-
- _session->locations()->add (loc, false);
- _session->set_auto_loop_location (loc);
- } else {
- // force name
+ if (loc != 0) {
loc->set_name (_("Loop"));
}
loc = _session->locations()->auto_punch_location();
-
- if (loc == 0) {
- loc = new Location (*_session, 0, _session->current_end_frame(), _("Punch"), (Location::Flags) (Location::IsAutoPunch | Location::IsHidden));
-
- if (loc->start() == loc->end()) {
- loc->set_end (loc->start() + 1);
- }
-
- _session->locations()->add (loc, false);
- _session->set_auto_punch_location (loc);
- } else {
+ if (loc != 0) {
// force name
loc->set_name (_("Punch"));
}
@@ -1252,7 +1333,7 @@ Editor::set_session (Session *t)
/* catch up with the playhead */
- _session->request_locate (playhead_cursor->current_frame);
+ _session->request_locate (playhead_cursor->current_frame ());
_pending_initial_locate = true;
update_title ();
@@ -1278,7 +1359,7 @@ Editor::set_session (Session *t)
_session->locations()->StateChanged.connect (_session_connections, invalidator (*this), boost::bind (&Editor::refresh_location_display, this), gui_context());
_session->history().Changed.connect (_session_connections, invalidator (*this), boost::bind (&Editor::history_changed, this), gui_context());
- playhead_cursor->canvas_item.show ();
+ playhead_cursor->show ();
boost::function<void (string)> pc (boost::bind (&Editor::parameter_changed, this, _1));
Config->map_parameters (pc);
@@ -1289,7 +1370,7 @@ Editor::set_session (Session *t)
_session->tempo_map().apply_with_metrics (*this, &Editor::draw_metric_marks);
for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
- (static_cast<TimeAxisView*>(*i))->set_samples_per_unit (frames_per_unit);
+ (static_cast<TimeAxisView*>(*i))->set_samples_per_pixel (samples_per_pixel);
}
super_rapid_screen_update_connection = ARDOUR_UI::instance()->SuperRapidScreenUpdate.connect (
@@ -1399,185 +1480,48 @@ Editor::fill_xfade_menu (Menu_Helpers::MenuList& items, bool start)
/** Pop up a context menu for when the user clicks on a start crossfade */
void
-Editor::popup_xfade_in_context_menu (int button, int32_t time, ArdourCanvas::Item* /*item*/, ItemType /*item_type*/)
+Editor::popup_xfade_in_context_menu (int button, int32_t time, ArdourCanvas::Item* item, ItemType /*item_type*/)
{
using namespace Menu_Helpers;
+ AudioRegionView* arv = static_cast<AudioRegionView*> (item->get_data ("regionview"));
+ assert(arv);
MenuList& items (xfade_in_context_menu.items());
+ items.clear ();
- if (items.empty()) {
- fill_xfade_menu (items, true);
+ if (arv->audio_region()->fade_in_active()) {
+ items.push_back (MenuElem (_("Deactivate"), sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_in_active), false)));
+ } else {
+ items.push_back (MenuElem (_("Activate"), sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_in_active), true)));
}
+ items.push_back (SeparatorElem());
+ fill_xfade_menu (items, true);
+
xfade_in_context_menu.popup (button, time);
}
/** Pop up a context menu for when the user clicks on an end crossfade */
void
-Editor::popup_xfade_out_context_menu (int button, int32_t time, ArdourCanvas::Item* /*item*/, ItemType /*item_type*/)
-{
- using namespace Menu_Helpers;
-
- MenuList& items (xfade_out_context_menu.items());
-
- if (items.empty()) {
- fill_xfade_menu (items, false);
- }
-
- xfade_out_context_menu.popup (button, time);
-}
-
-
-/** Pop up a context menu for when the user clicks on a fade in or fade out */
-void
-Editor::popup_fade_context_menu (int button, int32_t time, ArdourCanvas::Item* item, ItemType item_type)
+Editor::popup_xfade_out_context_menu (int button, int32_t time, ArdourCanvas::Item* item, ItemType /*item_type*/)
{
using namespace Menu_Helpers;
AudioRegionView* arv = static_cast<AudioRegionView*> (item->get_data ("regionview"));
+ assert(arv);
- if (arv == 0) {
- fatal << _("programming error: fade in canvas item has no regionview data pointer!") << endmsg;
- /*NOTREACHED*/
- }
-
- MenuList& items (fade_context_menu.items());
+ MenuList& items (xfade_out_context_menu.items());
items.clear ();
- switch (item_type) {
- case FadeInItem:
- case FadeInHandleItem:
- if (arv->audio_region()->fade_in_active()) {
- items.push_back (MenuElem (_("Deactivate"), sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_in_active), false)));
- } else {
- items.push_back (MenuElem (_("Activate"), sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_in_active), true)));
- }
-
- items.push_back (SeparatorElem());
-
- if (Profile->get_sae()) {
-
- items.push_back (MenuElem (_("Linear"), sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_in_shape), FadeLinear)));
- items.push_back (MenuElem (_("Slowest"), sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_in_shape), FadeFast)));
-
- } else {
-
- items.push_back (
- ImageMenuElem (
- _("Linear"),
- *_fade_in_images[FadeLinear],
- sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_in_shape), FadeLinear)
- )
- );
-
- dynamic_cast<ImageMenuItem*>(&items.back())->set_always_show_image ();
-
- items.push_back (
- ImageMenuElem (
- _("Slow"),
- *_fade_in_images[FadeSlow],
- sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_in_shape), FadeSlow)
- ));
-
- dynamic_cast<ImageMenuItem*>(&items.back())->set_always_show_image ();
-
- items.push_back (
- ImageMenuElem (
- _("Fast"),
- *_fade_in_images[FadeFast],
- sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_in_shape), FadeFast)
- ));
-
- dynamic_cast<ImageMenuItem*>(&items.back())->set_always_show_image ();
-
- items.push_back (
- ImageMenuElem (
- _("Symmetric"),
- *_fade_in_images[FadeSymmetric],
- sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_in_shape), FadeSymmetric)
- ));
-
- items.push_back (
- ImageMenuElem (
- _("Constant power"),
- *_fade_in_images[FadeConstantPower],
- sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_in_shape), FadeConstantPower)
- ));
-
- dynamic_cast<ImageMenuItem*>(&items.back())->set_always_show_image ();
- }
-
- break;
-
- case FadeOutItem:
- case FadeOutHandleItem:
- if (arv->audio_region()->fade_out_active()) {
- items.push_back (MenuElem (_("Deactivate"), sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_out_active), false)));
- } else {
- items.push_back (MenuElem (_("Activate"), sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_out_active), true)));
- }
-
- items.push_back (SeparatorElem());
-
- if (Profile->get_sae()) {
- items.push_back (MenuElem (_("Linear"), sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_out_shape), FadeLinear)));
- items.push_back (MenuElem (_("Slowest"), sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_out_shape), FadeSlow)));
- } else {
-
- items.push_back (
- ImageMenuElem (
- _("Linear"),
- *_fade_out_images[FadeLinear],
- sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_out_shape), FadeLinear)
- )
- );
-
- dynamic_cast<ImageMenuItem*>(&items.back())->set_always_show_image ();
-
- items.push_back (
- ImageMenuElem (
- _("Slow"),
- *_fade_out_images[FadeSlow],
- sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_out_shape), FadeSlow)
- ));
-
- dynamic_cast<ImageMenuItem*>(&items.back())->set_always_show_image ();
-
- items.push_back (
- ImageMenuElem (
- _("Fast"),
- *_fade_out_images[FadeFast],
- sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_out_shape), FadeFast)
- ));
-
- dynamic_cast<ImageMenuItem*>(&items.back())->set_always_show_image ();
-
- items.push_back (
- ImageMenuElem (
- _("Symmetric"),
- *_fade_out_images[FadeSymmetric],
- sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_out_shape), FadeSymmetric)
- ));
-
- items.push_back (
- ImageMenuElem (
- _("Constant power"),
- *_fade_out_images[FadeConstantPower],
- sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_out_shape), FadeConstantPower)
- ));
-
- dynamic_cast<ImageMenuItem*>(&items.back())->set_always_show_image ();
- }
-
- break;
-
- default:
- fatal << _("programming error: ")
- << X_("non-fade canvas item passed to popup_fade_context_menu()")
- << endmsg;
- /*NOTREACHED*/
+ if (arv->audio_region()->fade_out_active()) {
+ items.push_back (MenuElem (_("Deactivate"), sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_out_active), false)));
+ } else {
+ items.push_back (MenuElem (_("Activate"), sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_out_active), true)));
}
- fade_context_menu.popup (button, time);
+ items.push_back (SeparatorElem());
+ fill_xfade_menu (items, false);
+
+ xfade_out_context_menu.popup (button, time);
}
void
@@ -1855,6 +1799,9 @@ Editor::add_selection_context_items (Menu_Helpers::MenuList& edit_items)
edit_items.push_back (MenuElem (_("Loop Range"), sigc::bind (sigc::mem_fun(*this, &Editor::set_loop_from_selection), true)));
edit_items.push_back (SeparatorElem());
+ edit_items.push_back (MenuElem (_("Zoom to Range"), sigc::bind (sigc::mem_fun(*this, &Editor::temporal_zoom_selection), false)));
+
+ edit_items.push_back (SeparatorElem());
edit_items.push_back (MenuElem (_("Spectral Analysis"), sigc::mem_fun(*this, &Editor::analyze_range_selection)));
edit_items.push_back (SeparatorElem());
@@ -1944,7 +1891,7 @@ Editor::add_dstream_context_items (Menu_Helpers::MenuList& edit_items)
select_menu->set_name ("ArdourContextMenu");
select_items.push_back (MenuElem (_("Select All in Track"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_in_track), Selection::Set)));
- select_items.push_back (MenuElem (_("Select All"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all), Selection::Set)));
+ select_items.push_back (MenuElem (_("Select All Objects"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_objects), Selection::Set)));
select_items.push_back (MenuElem (_("Invert Selection in Track"), sigc::mem_fun(*this, &Editor::invert_selection_in_track)));
select_items.push_back (MenuElem (_("Invert Selection"), sigc::mem_fun(*this, &Editor::invert_selection)));
select_items.push_back (SeparatorElem());
@@ -2021,7 +1968,7 @@ Editor::add_bus_context_items (Menu_Helpers::MenuList& edit_items)
select_menu->set_name ("ArdourContextMenu");
select_items.push_back (MenuElem (_("Select All in Track"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_in_track), Selection::Set)));
- select_items.push_back (MenuElem (_("Select All"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all), Selection::Set)));
+ select_items.push_back (MenuElem (_("Select All Objects"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_objects), Selection::Set)));
select_items.push_back (MenuElem (_("Invert Selection in Track"), sigc::mem_fun(*this, &Editor::invert_selection_in_track)));
select_items.push_back (MenuElem (_("Invert Selection"), sigc::mem_fun(*this, &Editor::invert_selection)));
select_items.push_back (SeparatorElem());
@@ -2081,8 +2028,8 @@ Editor::set_snap_to (SnapType st)
string str = snap_type_strings[snap_ind];
- if (str != snap_type_selector.get_active_text()) {
- snap_type_selector.set_active_text (str);
+ if (str != snap_type_selector.get_text()) {
+ snap_type_selector.set_text (str);
}
instant_save ();
@@ -2108,9 +2055,9 @@ Editor::set_snap_to (SnapType st)
ARDOUR::TempoMap::BBTPointList::const_iterator current_bbt_points_begin;
ARDOUR::TempoMap::BBTPointList::const_iterator current_bbt_points_end;
- compute_current_bbt_points (leftmost_frame, leftmost_frame + current_page_frames(),
+ compute_current_bbt_points (leftmost_frame, leftmost_frame + current_page_samples(),
current_bbt_points_begin, current_bbt_points_end);
- compute_bbt_ruler_scale (leftmost_frame, leftmost_frame + current_page_frames(),
+ compute_bbt_ruler_scale (leftmost_frame, leftmost_frame + current_page_samples(),
current_bbt_points_begin, current_bbt_points_end);
update_tempo_based_rulers (current_bbt_points_begin, current_bbt_points_end);
break;
@@ -2144,8 +2091,8 @@ Editor::set_snap_mode (SnapMode mode)
_snap_mode = mode;
- if (str != snap_mode_selector.get_active_text ()) {
- snap_mode_selector.set_active_text (str);
+ if (str != snap_mode_selector.get_text ()) {
+ snap_mode_selector.set_text (str);
}
instant_save ();
@@ -2158,11 +2105,15 @@ Editor::set_edit_point_preference (EditPoint ep, bool force)
_edit_point = ep;
string str = edit_point_strings[(int)ep];
- if (str != edit_point_selector.get_active_text ()) {
- edit_point_selector.set_active_text (str);
+ if (Profile->get_mixbus())
+ if (ep == EditAtSelectedMarker)
+ ep = EditAtPlayhead;
+
+ if (str != edit_point_selector.get_text ()) {
+ edit_point_selector.set_text (str);
}
- set_canvas_cursor ();
+ reset_canvas_cursor ();
if (!force && !changed) {
return;
@@ -2262,21 +2213,27 @@ Editor::set_state (const XMLNode& node, int /*version*/)
}
if ((prop = node.property ("zoom-focus"))) {
- set_zoom_focus ((ZoomFocus) string_2_enum (prop->value(), zoom_focus));
+ zoom_focus_selection_done ((ZoomFocus) string_2_enum (prop->value(), zoom_focus));
}
if ((prop = node.property ("zoom"))) {
- reset_zoom (PBD::atof (prop->value()));
+ /* older versions of ardour used floating point samples_per_pixel */
+ double f = PBD::atof (prop->value());
+ reset_zoom (llrintf (f));
} else {
- reset_zoom (frames_per_unit);
+ reset_zoom (samples_per_pixel);
+ }
+
+ if ((prop = node.property ("visible-track-count"))) {
+ set_visible_track_count (PBD::atoi (prop->value()));
}
if ((prop = node.property ("snap-to"))) {
- set_snap_to ((SnapType) string_2_enum (prop->value(), _snap_type));
+ snap_type_selection_done ((SnapType) string_2_enum (prop->value(), _snap_type));
}
if ((prop = node.property ("snap-mode"))) {
- set_snap_mode ((SnapMode) string_2_enum (prop->value(), _snap_mode));
+ snap_mode_selection_done((SnapMode) string_2_enum (prop->value(), _snap_mode));
}
if ((prop = node.property ("internal-snap-to"))) {
@@ -2433,7 +2390,11 @@ Editor::set_state (const XMLNode& node, int /*version*/)
if ((prop = node.property ("maximised"))) {
bool yn = string_is_affirmative (prop->value());
- if (yn) {
+ Glib::RefPtr<Action> act = ActionManager::get_action (X_("Common"), X_("ToggleMaximalEditor"));
+ assert (act);
+ Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act);
+ bool fs = tact && tact->get_active();
+ if (yn ^ fs) {
ActionManager::do_action ("Common", "ToggleMaximalEditor");
}
}
@@ -2488,7 +2449,8 @@ Editor::get_state ()
maybe_add_mixer_strip_width (*node);
node->add_property ("zoom-focus", enum_2_string (zoom_focus));
- snprintf (buf, sizeof(buf), "%f", frames_per_unit);
+
+ snprintf (buf, sizeof(buf), "%" PRId64, samples_per_pixel);
node->add_property ("zoom", buf);
node->add_property ("snap-to", enum_2_string (_snap_type));
node->add_property ("snap-mode", enum_2_string (_snap_mode));
@@ -2497,8 +2459,10 @@ Editor::get_state ()
node->add_property ("pre-internal-snap-to", enum_2_string (pre_internal_snap_type));
node->add_property ("pre-internal-snap-mode", enum_2_string (pre_internal_snap_mode));
node->add_property ("edit-point", enum_2_string (_edit_point));
+ snprintf (buf, sizeof(buf), "%d", _visible_track_count);
+ node->add_property ("visible-track-count", buf);
- snprintf (buf, sizeof (buf), "%" PRIi64, playhead_cursor->current_frame);
+ snprintf (buf, sizeof (buf), "%" PRIi64, playhead_cursor->current_frame ());
node->add_property ("playhead", buf);
snprintf (buf, sizeof (buf), "%" PRIi64, leftmost_frame);
node->add_property ("left-frame", buf);
@@ -2546,19 +2510,29 @@ Editor::get_state ()
return *node;
}
-
-
-/** @param y y offset from the top of all trackviews.
+/** if @param trackview_relative_offset is true, @param y y is an offset into the trackview area, in pixel units
+ * if @param trackview_relative_offset is false, @param y y is a global canvas * coordinate, in pixel units
+ *
* @return pair: TimeAxisView that y is over, layer index.
+ *
* TimeAxisView may be 0. Layer index is the layer number if the TimeAxisView is valid and is
* in stacked or expanded region display mode, otherwise 0.
*/
std::pair<TimeAxisView *, double>
-Editor::trackview_by_y_position (double y)
+Editor::trackview_by_y_position (double y, bool trackview_relative_offset) const
{
- for (TrackViewList::iterator iter = track_views.begin(); iter != track_views.end(); ++iter) {
+ if (!trackview_relative_offset) {
+ y -= _trackview_group->canvas_origin().y;
+ }
+ if (y < 0) {
+ return std::make_pair ( (TimeAxisView *) 0, 0);
+ }
+
+ for (TrackViewList::const_iterator iter = track_views.begin(); iter != track_views.end(); ++iter) {
+
std::pair<TimeAxisView*, double> const r = (*iter)->covers_y_position (y);
+
if (r.first) {
return r;
}
@@ -2820,12 +2794,12 @@ Editor::snap_to_internal (framepos_t& start, int32_t direction, bool for_mark)
case SnapMagnetic:
if (presnap > start) {
- if (presnap > (start + unit_to_frame(snap_threshold))) {
+ if (presnap > (start + pixel_to_sample(snap_threshold))) {
start = presnap;
}
} else if (presnap < start) {
- if (presnap < (start - unit_to_frame(snap_threshold))) {
+ if (presnap < (start - pixel_to_sample(snap_threshold))) {
start = presnap;
}
}
@@ -2843,16 +2817,17 @@ Editor::setup_toolbar ()
{
HBox* mode_box = manage(new HBox);
mode_box->set_border_width (2);
- mode_box->set_spacing(4);
+ mode_box->set_spacing(2);
HBox* mouse_mode_box = manage (new HBox);
HBox* mouse_mode_hbox = manage (new HBox);
VBox* mouse_mode_vbox = manage (new VBox);
Alignment* mouse_mode_align = manage (new Alignment);
- Glib::RefPtr<SizeGroup> mouse_mode_size_group = SizeGroup::create (SIZE_GROUP_BOTH);
-// mouse_mode_size_group->add_widget (smart_mode_button);
+ Glib::RefPtr<SizeGroup> mouse_mode_size_group = SizeGroup::create (SIZE_GROUP_VERTICAL);
+ mouse_mode_size_group->add_widget (smart_mode_button);
mouse_mode_size_group->add_widget (mouse_move_button);
+ mouse_mode_size_group->add_widget (mouse_cut_button);
mouse_mode_size_group->add_widget (mouse_select_button);
mouse_mode_size_group->add_widget (mouse_zoom_button);
mouse_mode_size_group->add_widget (mouse_gain_button);
@@ -2861,20 +2836,47 @@ Editor::setup_toolbar ()
mouse_mode_size_group->add_widget (mouse_draw_button);
mouse_mode_size_group->add_widget (internal_edit_button);
- /* make them just a bit bigger */
- mouse_move_button.set_size_request (-1, 30);
+ mouse_mode_size_group->add_widget (zoom_in_button);
+ mouse_mode_size_group->add_widget (zoom_out_button);
+ mouse_mode_size_group->add_widget (zoom_preset_selector);
+ mouse_mode_size_group->add_widget (zoom_out_full_button);
+ mouse_mode_size_group->add_widget (zoom_focus_selector);
+
+ mouse_mode_size_group->add_widget (tav_shrink_button);
+ mouse_mode_size_group->add_widget (tav_expand_button);
+ mouse_mode_size_group->add_widget (visible_tracks_selector);
+
+ mouse_mode_size_group->add_widget (snap_type_selector);
+ mouse_mode_size_group->add_widget (snap_mode_selector);
+
+ mouse_mode_size_group->add_widget (edit_point_selector);
+ mouse_mode_size_group->add_widget (edit_mode_selector);
+
+ mouse_mode_size_group->add_widget (*nudge_clock);
+ mouse_mode_size_group->add_widget (nudge_forward_button);
+ mouse_mode_size_group->add_widget (nudge_backward_button);
mouse_mode_hbox->set_spacing (2);
- mouse_mode_hbox->pack_start (smart_mode_button, false, false);
+ if (!ARDOUR::Profile->get_trx()) {
+ mouse_mode_hbox->pack_start (smart_mode_button, false, false);
+ }
+
mouse_mode_hbox->pack_start (mouse_move_button, false, false);
mouse_mode_hbox->pack_start (mouse_select_button, false, false);
- mouse_mode_hbox->pack_start (mouse_zoom_button, false, false);
- mouse_mode_hbox->pack_start (mouse_gain_button, false, false);
- mouse_mode_hbox->pack_start (mouse_timefx_button, false, false);
- mouse_mode_hbox->pack_start (mouse_audition_button, false, false);
- mouse_mode_hbox->pack_start (mouse_draw_button, false, false);
- mouse_mode_hbox->pack_start (internal_edit_button, false, false, 8);
+
+ if (!ARDOUR::Profile->get_mixbus()) {
+ mouse_mode_hbox->pack_start (mouse_cut_button, false, false);
+ mouse_mode_hbox->pack_start (mouse_zoom_button, false, false);
+ }
+
+ if (!ARDOUR::Profile->get_trx()) {
+ mouse_mode_hbox->pack_start (mouse_gain_button, false, false);
+ mouse_mode_hbox->pack_start (mouse_timefx_button, false, false);
+ mouse_mode_hbox->pack_start (mouse_audition_button, false, false);
+ mouse_mode_hbox->pack_start (mouse_draw_button, false, false);
+ mouse_mode_hbox->pack_start (internal_edit_button, false, false, 0);
+ }
mouse_mode_vbox->pack_start (*mouse_mode_hbox);
@@ -2883,24 +2885,18 @@ Editor::setup_toolbar ()
mouse_mode_box->pack_start (*mouse_mode_align, false, false);
- edit_mode_strings.push_back (edit_mode_to_string (Slide));
- if (!Profile->get_sae()) {
- edit_mode_strings.push_back (edit_mode_to_string (Splice));
- }
- edit_mode_strings.push_back (edit_mode_to_string (Lock));
-
- edit_mode_selector.set_name ("EditModeSelector");
- set_popdown_strings (edit_mode_selector, edit_mode_strings);
- edit_mode_selector.signal_changed().connect (sigc::mem_fun(*this, &Editor::edit_mode_selection_done));
+ edit_mode_selector.set_name ("mouse mode button");
- mode_box->pack_start (edit_mode_selector, false, false);
+ if (!ARDOUR::Profile->get_trx()) {
+ mode_box->pack_start (edit_mode_selector, false, false);
+ }
mode_box->pack_start (*mouse_mode_box, false, false);
_mouse_mode_tearoff = manage (new TearOff (*mode_box));
_mouse_mode_tearoff->set_name ("MouseModeBase");
_mouse_mode_tearoff->tearoff_window().signal_key_press_event().connect (sigc::bind (sigc::ptr_fun (relay_key_press), &_mouse_mode_tearoff->tearoff_window()), false);
- if (Profile->get_sae()) {
+ if (Profile->get_sae() || Profile->get_mixbus() ) {
_mouse_mode_tearoff->set_can_be_torn_off (false);
}
@@ -2920,82 +2916,94 @@ Editor::setup_toolbar ()
RefPtr<Action> act;
+ zoom_preset_selector.set_name ("zoom button");
+ zoom_preset_selector.set_image(::get_icon ("time_exp"));
+ zoom_preset_selector.set_size_request (42, -1);
+
zoom_in_button.set_name ("zoom button");
- zoom_in_button.add_elements ( ArdourButton::FlatFace );
- zoom_in_button.set_tweaks ((ArdourButton::Tweaks) (ArdourButton::ShowClick) );
zoom_in_button.set_image(::get_icon ("zoom_in"));
act = ActionManager::get_action (X_("Editor"), X_("temporal-zoom-in"));
zoom_in_button.set_related_action (act);
zoom_out_button.set_name ("zoom button");
- zoom_out_button.add_elements ( ArdourButton::FlatFace );
- zoom_out_button.set_tweaks ((ArdourButton::Tweaks) (ArdourButton::ShowClick) );
zoom_out_button.set_image(::get_icon ("zoom_out"));
act = ActionManager::get_action (X_("Editor"), X_("temporal-zoom-out"));
zoom_out_button.set_related_action (act);
zoom_out_full_button.set_name ("zoom button");
- zoom_out_full_button.add_elements ( ArdourButton::FlatFace );
- zoom_out_full_button.set_tweaks ((ArdourButton::Tweaks) (ArdourButton::ShowClick) );
zoom_out_full_button.set_image(::get_icon ("zoom_full"));
act = ActionManager::get_action (X_("Editor"), X_("zoom-to-session"));
zoom_out_full_button.set_related_action (act);
- zoom_focus_selector.set_name ("ZoomFocusSelector");
- set_popdown_strings (zoom_focus_selector, zoom_focus_strings);
- zoom_focus_selector.signal_changed().connect (sigc::mem_fun(*this, &Editor::zoom_focus_selection_done));
+ zoom_focus_selector.set_name ("zoom button");
- _zoom_box.pack_start (zoom_out_button, false, false);
- _zoom_box.pack_start (zoom_in_button, false, false);
- _zoom_box.pack_start (zoom_out_full_button, false, false);
-
- _zoom_box.pack_start (zoom_focus_selector, false, false);
+ if (ARDOUR::Profile->get_mixbus()) {
+ _zoom_box.pack_start (zoom_preset_selector, false, false);
+ } else if (ARDOUR::Profile->get_trx()) {
+ mode_box->pack_start (zoom_out_button, false, false);
+ mode_box->pack_start (zoom_in_button, false, false);
+ } else {
+ _zoom_box.pack_start (zoom_out_button, false, false);
+ _zoom_box.pack_start (zoom_in_button, false, false);
+ _zoom_box.pack_start (zoom_out_full_button, false, false);
+ _zoom_box.pack_start (zoom_focus_selector, false, false);
+ }
/* Track zoom buttons */
+ visible_tracks_selector.set_name ("zoom button");
+ if (Profile->get_mixbus()) {
+ visible_tracks_selector.set_image(::get_icon ("tav_exp"));
+ visible_tracks_selector.set_size_request (42, -1);
+ } else {
+ set_size_request_to_display_given_text (visible_tracks_selector, _("All"), 30, 2);
+ }
+
tav_expand_button.set_name ("zoom button");
- tav_expand_button.add_elements ( ArdourButton::FlatFace );
- tav_expand_button.set_tweaks ((ArdourButton::Tweaks) (ArdourButton::ShowClick) );
- tav_expand_button.set_size_request (-1, 20);
tav_expand_button.set_image(::get_icon ("tav_exp"));
act = ActionManager::get_action (X_("Editor"), X_("expand-tracks"));
tav_expand_button.set_related_action (act);
tav_shrink_button.set_name ("zoom button");
- tav_shrink_button.add_elements ( ArdourButton::FlatFace );
- tav_shrink_button.set_tweaks ((ArdourButton::Tweaks) (ArdourButton::ShowClick) );
- tav_shrink_button.set_size_request (-1, 20);
tav_shrink_button.set_image(::get_icon ("tav_shrink"));
act = ActionManager::get_action (X_("Editor"), X_("shrink-tracks"));
tav_shrink_button.set_related_action (act);
- _zoom_box.pack_start (tav_shrink_button);
- _zoom_box.pack_start (tav_expand_button);
+ if (ARDOUR::Profile->get_mixbus()) {
+ _zoom_box.pack_start (visible_tracks_selector);
+ } else if (ARDOUR::Profile->get_trx()) {
+ _zoom_box.pack_start (tav_shrink_button);
+ _zoom_box.pack_start (tav_expand_button);
+ } else {
+ _zoom_box.pack_start (visible_tracks_selector);
+ _zoom_box.pack_start (tav_shrink_button);
+ _zoom_box.pack_start (tav_expand_button);
+ }
- _zoom_tearoff = manage (new TearOff (_zoom_box));
+ if (!ARDOUR::Profile->get_trx()) {
+ _zoom_tearoff = manage (new TearOff (_zoom_box));
+
+ _zoom_tearoff->Detach.connect (sigc::bind (sigc::mem_fun(*this, &Editor::detach_tearoff), static_cast<Box*>(&toolbar_hbox),
+ &_zoom_tearoff->tearoff_window()));
+ _zoom_tearoff->Attach.connect (sigc::bind (sigc::mem_fun(*this, &Editor::reattach_tearoff), static_cast<Box*> (&toolbar_hbox),
+ &_zoom_tearoff->tearoff_window(), 0));
+ _zoom_tearoff->Hidden.connect (sigc::bind (sigc::mem_fun(*this, &Editor::detach_tearoff), static_cast<Box*>(&toolbar_hbox),
+ &_zoom_tearoff->tearoff_window()));
+ _zoom_tearoff->Visible.connect (sigc::bind (sigc::mem_fun(*this, &Editor::reattach_tearoff), static_cast<Box*> (&toolbar_hbox),
+ &_zoom_tearoff->tearoff_window(), 0));
+ }
- _zoom_tearoff->Detach.connect (sigc::bind (sigc::mem_fun(*this, &Editor::detach_tearoff), static_cast<Box*>(&toolbar_hbox),
- &_zoom_tearoff->tearoff_window()));
- _zoom_tearoff->Attach.connect (sigc::bind (sigc::mem_fun(*this, &Editor::reattach_tearoff), static_cast<Box*> (&toolbar_hbox),
- &_zoom_tearoff->tearoff_window(), 0));
- _zoom_tearoff->Hidden.connect (sigc::bind (sigc::mem_fun(*this, &Editor::detach_tearoff), static_cast<Box*>(&toolbar_hbox),
- &_zoom_tearoff->tearoff_window()));
- _zoom_tearoff->Visible.connect (sigc::bind (sigc::mem_fun(*this, &Editor::reattach_tearoff), static_cast<Box*> (&toolbar_hbox),
- &_zoom_tearoff->tearoff_window(), 0));
+ if (Profile->get_sae() || Profile->get_mixbus() ) {
+ _zoom_tearoff->set_can_be_torn_off (false);
+ }
snap_box.set_spacing (2);
snap_box.set_border_width (2);
- snap_type_selector.set_name ("SnapTypeSelector");
- set_popdown_strings (snap_type_selector, snap_type_strings);
- snap_type_selector.signal_changed().connect (sigc::mem_fun(*this, &Editor::snap_type_selection_done));
+ snap_type_selector.set_name ("mouse mode button");
- snap_mode_selector.set_name ("SnapModeSelector");
- set_popdown_strings (snap_mode_selector, snap_mode_strings);
- snap_mode_selector.signal_changed().connect (sigc::mem_fun(*this, &Editor::snap_mode_selection_done));
+ snap_mode_selector.set_name ("mouse mode button");
- edit_point_selector.set_name ("EditPointSelector");
- set_popdown_strings (edit_point_selector, edit_point_strings);
- edit_point_selector.signal_changed().connect (sigc::mem_fun(*this, &Editor::edit_point_selection_done));
+ edit_point_selector.set_name ("mouse mode button");
snap_box.pack_start (snap_mode_selector, false, false);
snap_box.pack_start (snap_type_selector, false, false);
@@ -3010,9 +3018,6 @@ Editor::setup_toolbar ()
nudge_forward_button.signal_button_release_event().connect (sigc::mem_fun(*this, &Editor::nudge_forward_release), false);
nudge_backward_button.signal_button_release_event().connect (sigc::mem_fun(*this, &Editor::nudge_backward_release), false);
- nudge_forward_button.set_tweaks ((ArdourButton::Tweaks) (ArdourButton::ShowClick) );
- nudge_backward_button.set_tweaks ((ArdourButton::Tweaks) (ArdourButton::ShowClick) );
-
nudge_box->pack_start (nudge_backward_button, false, false);
nudge_box->pack_start (nudge_forward_button, false, false);
nudge_box->pack_start (*nudge_clock, false, false);
@@ -3021,13 +3026,13 @@ Editor::setup_toolbar ()
/* Pack everything in... */
HBox* hbox = manage (new HBox);
- hbox->set_spacing(10);
+ hbox->set_spacing(2);
_tools_tearoff = manage (new TearOff (*hbox));
_tools_tearoff->set_name ("MouseModeBase");
_tools_tearoff->tearoff_window().signal_key_press_event().connect (sigc::bind (sigc::ptr_fun (relay_key_press), &_tools_tearoff->tearoff_window()), false);
- if (Profile->get_sae()) {
+ if (Profile->get_sae() || Profile->get_mixbus()) {
_tools_tearoff->set_can_be_torn_off (false);
}
@@ -3040,19 +3045,23 @@ Editor::setup_toolbar ()
_tools_tearoff->Visible.connect (sigc::bind (sigc::mem_fun(*this, &Editor::reattach_tearoff), static_cast<Box*> (&toolbar_hbox),
&_tools_tearoff->tearoff_window(), 0));
- toolbar_hbox.set_spacing (10);
+ toolbar_hbox.set_spacing (2);
toolbar_hbox.set_border_width (1);
toolbar_hbox.pack_start (*_mouse_mode_tearoff, false, false);
- toolbar_hbox.pack_start (*_zoom_tearoff, false, false);
- toolbar_hbox.pack_start (*_tools_tearoff, false, false);
-
- hbox->pack_start (snap_box, false, false);
- if (!Profile->get_small_screen()) {
- hbox->pack_start (*nudge_box, false, false);
- } else {
- ARDOUR_UI::instance()->editor_transport_box().pack_start (*nudge_box, false, false);
- }
+ if (!ARDOUR::Profile->get_trx()) {
+ toolbar_hbox.pack_start (*_zoom_tearoff, false, false);
+ toolbar_hbox.pack_start (*_tools_tearoff, false, false);
+ }
+
+ if (!ARDOUR::Profile->get_trx()) {
+ hbox->pack_start (snap_box, false, false);
+ if ( !Profile->get_small_screen() || Profile->get_mixbus() ) {
+ hbox->pack_start (*nudge_box, false, false);
+ } else {
+ ARDOUR_UI::instance()->editor_transport_box().pack_start (*nudge_box, false, false);
+ }
+ }
hbox->pack_start (panic_box, false, false);
hbox->show_all ();
@@ -3070,10 +3079,89 @@ Editor::setup_toolbar ()
}
void
+Editor::build_edit_point_menu ()
+{
+ using namespace Menu_Helpers;
+
+ edit_point_selector.AddMenuElem (MenuElem ( edit_point_strings[(int)EditAtPlayhead], sigc::bind (sigc::mem_fun(*this, &Editor::edit_point_selection_done), (EditPoint) EditAtPlayhead)));
+ if(!Profile->get_mixbus())
+ edit_point_selector.AddMenuElem (MenuElem ( edit_point_strings[(int)EditAtSelectedMarker], sigc::bind (sigc::mem_fun(*this, &Editor::edit_point_selection_done), (EditPoint) EditAtSelectedMarker)));
+ edit_point_selector.AddMenuElem (MenuElem ( edit_point_strings[(int)EditAtMouse], sigc::bind (sigc::mem_fun(*this, &Editor::edit_point_selection_done), (EditPoint) EditAtMouse)));
+
+ set_size_request_to_display_given_text (edit_point_selector, edit_point_strings, COMBO_TRIANGLE_WIDTH, 2);
+}
+
+void
+Editor::build_edit_mode_menu ()
+{
+ using namespace Menu_Helpers;
+
+ edit_mode_selector.AddMenuElem (MenuElem ( edit_mode_strings[(int)Slide], sigc::bind (sigc::mem_fun(*this, &Editor::edit_mode_selection_done), (EditMode) Slide)));
+// edit_mode_selector.AddMenuElem (MenuElem ( edit_mode_strings[(int)Splice], sigc::bind (sigc::mem_fun(*this, &Editor::edit_mode_selection_done), (EditMode) Splice)));
+ edit_mode_selector.AddMenuElem (MenuElem ( edit_mode_strings[(int)Ripple], sigc::bind (sigc::mem_fun(*this, &Editor::edit_mode_selection_done), (EditMode) Ripple)));
+ edit_mode_selector.AddMenuElem (MenuElem ( edit_mode_strings[(int)Lock], sigc::bind (sigc::mem_fun(*this, &Editor::edit_mode_selection_done), (EditMode) Lock)));
+
+ set_size_request_to_display_given_text (edit_mode_selector, edit_mode_strings, COMBO_TRIANGLE_WIDTH, 2);
+}
+
+void
+Editor::build_snap_mode_menu ()
+{
+ using namespace Menu_Helpers;
+
+ snap_mode_selector.AddMenuElem (MenuElem ( snap_mode_strings[(int)SnapOff], sigc::bind (sigc::mem_fun(*this, &Editor::snap_mode_selection_done), (SnapMode) SnapOff)));
+ snap_mode_selector.AddMenuElem (MenuElem ( snap_mode_strings[(int)SnapNormal], sigc::bind (sigc::mem_fun(*this, &Editor::snap_mode_selection_done), (SnapMode) SnapNormal)));
+ snap_mode_selector.AddMenuElem (MenuElem ( snap_mode_strings[(int)SnapMagnetic], sigc::bind (sigc::mem_fun(*this, &Editor::snap_mode_selection_done), (SnapMode) SnapMagnetic)));
+
+ set_size_request_to_display_given_text (snap_mode_selector, snap_mode_strings, COMBO_TRIANGLE_WIDTH, 2);
+}
+
+void
+Editor::build_snap_type_menu ()
+{
+ using namespace Menu_Helpers;
+
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToCDFrame], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToCDFrame)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToTimecodeFrame], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToTimecodeFrame)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToTimecodeSeconds], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToTimecodeSeconds)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToTimecodeMinutes], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToTimecodeMinutes)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToSeconds], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToSeconds)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToMinutes], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToMinutes)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBeatDiv128], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBeatDiv128)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBeatDiv64], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBeatDiv64)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBeatDiv32], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBeatDiv32)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBeatDiv28], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBeatDiv28)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBeatDiv24], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBeatDiv24)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBeatDiv20], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBeatDiv20)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBeatDiv16], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBeatDiv16)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBeatDiv14], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBeatDiv14)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBeatDiv12], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBeatDiv12)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBeatDiv10], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBeatDiv10)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBeatDiv8], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBeatDiv8)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBeatDiv7], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBeatDiv7)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBeatDiv6], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBeatDiv6)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBeatDiv5], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBeatDiv5)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBeatDiv4], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBeatDiv4)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBeatDiv3], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBeatDiv3)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBeatDiv2], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBeatDiv2)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBeat], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBeat)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToBar], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToBar)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToMark], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToMark)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToRegionStart], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToRegionStart)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToRegionEnd], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToRegionEnd)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToRegionSync], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToRegionSync)));
+ snap_type_selector.AddMenuElem (MenuElem ( snap_type_strings[(int)SnapToRegionBoundary], sigc::bind (sigc::mem_fun(*this, &Editor::snap_type_selection_done), (SnapType) SnapToRegionBoundary)));
+
+ set_size_request_to_display_given_text (snap_type_selector, snap_type_strings, COMBO_TRIANGLE_WIDTH, 2);
+
+}
+
+void
Editor::setup_tooltips ()
{
ARDOUR_UI::instance()->set_tip (smart_mode_button, _("Smart Mode (add Range functions to Object mode)"));
ARDOUR_UI::instance()->set_tip (mouse_move_button, _("Object Mode (select/move Objects)"));
+ ARDOUR_UI::instance()->set_tip (mouse_cut_button, _("Cut Mode (split Regions)"));
ARDOUR_UI::instance()->set_tip (mouse_select_button, _("Range Mode (select/move Ranges)"));
ARDOUR_UI::instance()->set_tip (mouse_draw_button, _("Draw/Edit MIDI Notes"));
ARDOUR_UI::instance()->set_tip (mouse_gain_button, _("Draw Region Gain"));
@@ -3086,10 +3174,12 @@ Editor::setup_tooltips ()
ARDOUR_UI::instance()->set_tip (nudge_backward_button, _("Nudge Region/Selection Earlier"));
ARDOUR_UI::instance()->set_tip (zoom_in_button, _("Zoom In"));
ARDOUR_UI::instance()->set_tip (zoom_out_button, _("Zoom Out"));
+ ARDOUR_UI::instance()->set_tip (zoom_preset_selector, _("Zoom to Time Scale"));
ARDOUR_UI::instance()->set_tip (zoom_out_full_button, _("Zoom to Session"));
ARDOUR_UI::instance()->set_tip (zoom_focus_selector, _("Zoom focus"));
ARDOUR_UI::instance()->set_tip (tav_expand_button, _("Expand Tracks"));
ARDOUR_UI::instance()->set_tip (tav_shrink_button, _("Shrink Tracks"));
+ ARDOUR_UI::instance()->set_tip (visible_tracks_selector, _("Number of visible tracks"));
ARDOUR_UI::instance()->set_tip (snap_type_selector, _("Snap/Grid Units"));
ARDOUR_UI::instance()->set_tip (snap_mode_selector, _("Snap/Grid Mode"));
ARDOUR_UI::instance()->set_tip (edit_point_selector, _("Edit point"));
@@ -3196,7 +3286,7 @@ Editor::map_transport_state ()
have_pending_keyboard_selection = false;
}
- update_loop_range_view (true);
+ update_loop_range_view ();
}
/* UNDO/REDO */
@@ -3329,10 +3419,11 @@ Editor::cycle_edit_mode ()
if (Profile->get_sae()) {
Config->set_edit_mode (Lock);
} else {
- Config->set_edit_mode (Splice);
+ Config->set_edit_mode (Ripple);
}
break;
case Splice:
+ case Ripple:
Config->set_edit_mode (Lock);
break;
case Lock:
@@ -3342,83 +3433,14 @@ Editor::cycle_edit_mode ()
}
void
-Editor::edit_mode_selection_done ()
+Editor::edit_mode_selection_done ( EditMode m )
{
- string s = edit_mode_selector.get_active_text ();
-
- if (!s.empty()) {
- Config->set_edit_mode (string_to_edit_mode (s));
- }
+ Config->set_edit_mode ( m );
}
void
-Editor::snap_type_selection_done ()
-{
- string choice = snap_type_selector.get_active_text();
- SnapType snaptype = SnapToBeat;
-
- if (choice == _("Beats/2")) {
- snaptype = SnapToBeatDiv2;
- } else if (choice == _("Beats/3")) {
- snaptype = SnapToBeatDiv3;
- } else if (choice == _("Beats/4")) {
- snaptype = SnapToBeatDiv4;
- } else if (choice == _("Beats/5")) {
- snaptype = SnapToBeatDiv5;
- } else if (choice == _("Beats/6")) {
- snaptype = SnapToBeatDiv6;
- } else if (choice == _("Beats/7")) {
- snaptype = SnapToBeatDiv7;
- } else if (choice == _("Beats/8")) {
- snaptype = SnapToBeatDiv8;
- } else if (choice == _("Beats/10")) {
- snaptype = SnapToBeatDiv10;
- } else if (choice == _("Beats/12")) {
- snaptype = SnapToBeatDiv12;
- } else if (choice == _("Beats/14")) {
- snaptype = SnapToBeatDiv14;
- } else if (choice == _("Beats/16")) {
- snaptype = SnapToBeatDiv16;
- } else if (choice == _("Beats/20")) {
- snaptype = SnapToBeatDiv20;
- } else if (choice == _("Beats/24")) {
- snaptype = SnapToBeatDiv24;
- } else if (choice == _("Beats/28")) {
- snaptype = SnapToBeatDiv28;
- } else if (choice == _("Beats/32")) {
- snaptype = SnapToBeatDiv32;
- } else if (choice == _("Beats/64")) {
- snaptype = SnapToBeatDiv64;
- } else if (choice == _("Beats/128")) {
- snaptype = SnapToBeatDiv128;
- } else if (choice == _("Beats")) {
- snaptype = SnapToBeat;
- } else if (choice == _("Bars")) {
- snaptype = SnapToBar;
- } else if (choice == _("Marks")) {
- snaptype = SnapToMark;
- } else if (choice == _("Region starts")) {
- snaptype = SnapToRegionStart;
- } else if (choice == _("Region ends")) {
- snaptype = SnapToRegionEnd;
- } else if (choice == _("Region bounds")) {
- snaptype = SnapToRegionBoundary;
- } else if (choice == _("Region syncs")) {
- snaptype = SnapToRegionSync;
- } else if (choice == _("CD Frames")) {
- snaptype = SnapToCDFrame;
- } else if (choice == _("Timecode Frames")) {
- snaptype = SnapToTimecodeFrame;
- } else if (choice == _("Timecode Seconds")) {
- snaptype = SnapToTimecodeSeconds;
- } else if (choice == _("Timecode Minutes")) {
- snaptype = SnapToTimecodeMinutes;
- } else if (choice == _("Seconds")) {
- snaptype = SnapToSeconds;
- } else if (choice == _("Minutes")) {
- snaptype = SnapToMinutes;
- }
-
+Editor::snap_type_selection_done (SnapType snaptype)
+{
RefPtr<RadioAction> ract = snap_type_action (snaptype);
if (ract) {
ract->set_active ();
@@ -3426,19 +3448,8 @@ Editor::snap_type_selection_done ()
}
void
-Editor::snap_mode_selection_done ()
+Editor::snap_mode_selection_done (SnapMode mode)
{
- string choice = snap_mode_selector.get_active_text();
- SnapMode mode = SnapNormal;
-
- if (choice == _("No Grid")) {
- mode = SnapOff;
- } else if (choice == _("Grid")) {
- mode = SnapNormal;
- } else if (choice == _("Magnetic")) {
- mode = SnapMagnetic;
- }
-
RefPtr<RadioAction> ract = snap_mode_action (mode);
if (ract) {
@@ -3449,6 +3460,9 @@ Editor::snap_mode_selection_done ()
void
Editor::cycle_edit_point (bool with_marker)
{
+ if(Profile->get_mixbus())
+ with_marker = false;
+
switch (_edit_point) {
case EditAtMouse:
set_edit_point_preference (EditAtPlayhead);
@@ -3467,51 +3481,146 @@ Editor::cycle_edit_point (bool with_marker)
}
void
-Editor::edit_point_selection_done ()
+Editor::edit_point_selection_done (EditPoint ep)
{
- string choice = edit_point_selector.get_active_text();
- EditPoint ep = EditAtSelectedMarker;
+ set_edit_point_preference ( ep );
+}
- if (choice == _("Marker")) {
- set_edit_point_preference (EditAtSelectedMarker);
- } else if (choice == _("Playhead")) {
- set_edit_point_preference (EditAtPlayhead);
- } else {
- set_edit_point_preference (EditAtMouse);
- }
+void
+Editor::build_zoom_focus_menu ()
+{
+ using namespace Menu_Helpers;
- RefPtr<RadioAction> ract = edit_point_action (ep);
+ zoom_focus_selector.AddMenuElem (MenuElem ( zoom_focus_strings[(int)ZoomFocusLeft], sigc::bind (sigc::mem_fun(*this, &Editor::zoom_focus_selection_done), (ZoomFocus) ZoomFocusLeft)));
+ zoom_focus_selector.AddMenuElem (MenuElem ( zoom_focus_strings[(int)ZoomFocusRight], sigc::bind (sigc::mem_fun(*this, &Editor::zoom_focus_selection_done), (ZoomFocus) ZoomFocusRight)));
+ zoom_focus_selector.AddMenuElem (MenuElem ( zoom_focus_strings[(int)ZoomFocusCenter], sigc::bind (sigc::mem_fun(*this, &Editor::zoom_focus_selection_done), (ZoomFocus) ZoomFocusCenter)));
+ zoom_focus_selector.AddMenuElem (MenuElem ( zoom_focus_strings[(int)ZoomFocusPlayhead], sigc::bind (sigc::mem_fun(*this, &Editor::zoom_focus_selection_done), (ZoomFocus) ZoomFocusPlayhead)));
+ zoom_focus_selector.AddMenuElem (MenuElem ( zoom_focus_strings[(int)ZoomFocusMouse], sigc::bind (sigc::mem_fun(*this, &Editor::zoom_focus_selection_done), (ZoomFocus) ZoomFocusMouse)));
+ zoom_focus_selector.AddMenuElem (MenuElem ( zoom_focus_strings[(int)ZoomFocusEdit], sigc::bind (sigc::mem_fun(*this, &Editor::zoom_focus_selection_done), (ZoomFocus) ZoomFocusEdit)));
+ set_size_request_to_display_given_text (zoom_focus_selector, zoom_focus_strings, COMBO_TRIANGLE_WIDTH, 2);
+}
+
+void
+Editor::zoom_focus_selection_done ( ZoomFocus f )
+{
+ RefPtr<RadioAction> ract = zoom_focus_action (f);
if (ract) {
- ract->set_active (true);
+ ract->set_active ();
}
}
void
-Editor::zoom_focus_selection_done ()
+Editor::build_track_count_menu ()
{
- string choice = zoom_focus_selector.get_active_text();
- ZoomFocus focus_type = ZoomFocusLeft;
+ using namespace Menu_Helpers;
- if (choice == _("Left")) {
- focus_type = ZoomFocusLeft;
- } else if (choice == _("Right")) {
- focus_type = ZoomFocusRight;
- } else if (choice == _("Center")) {
- focus_type = ZoomFocusCenter;
- } else if (choice == _("Playhead")) {
- focus_type = ZoomFocusPlayhead;
- } else if (choice == _("Mouse")) {
- focus_type = ZoomFocusMouse;
- } else if (choice == _("Edit point")) {
- focus_type = ZoomFocusEdit;
+ if (!Profile->get_mixbus()) {
+ visible_tracks_selector.AddMenuElem (MenuElem (X_("1"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 1)));
+ visible_tracks_selector.AddMenuElem (MenuElem (X_("2"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 2)));
+ visible_tracks_selector.AddMenuElem (MenuElem (X_("3"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 3)));
+ visible_tracks_selector.AddMenuElem (MenuElem (X_("4"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 4)));
+ visible_tracks_selector.AddMenuElem (MenuElem (X_("8"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 8)));
+ visible_tracks_selector.AddMenuElem (MenuElem (X_("12"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 12)));
+ visible_tracks_selector.AddMenuElem (MenuElem (X_("16"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 16)));
+ visible_tracks_selector.AddMenuElem (MenuElem (X_("20"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 20)));
+ visible_tracks_selector.AddMenuElem (MenuElem (X_("24"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 24)));
+ visible_tracks_selector.AddMenuElem (MenuElem (X_("32"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 32)));
+ visible_tracks_selector.AddMenuElem (MenuElem (X_("64"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 64)));
+ visible_tracks_selector.AddMenuElem (MenuElem (_("Selected"), sigc::mem_fun(*this, &Editor::fit_selected_tracks)));
+ visible_tracks_selector.AddMenuElem (MenuElem (_("All"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 0)));
+ } else {
+ visible_tracks_selector.AddMenuElem (MenuElem (_("Fit 1 track"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 1)));
+ visible_tracks_selector.AddMenuElem (MenuElem (_("Fit 2 tracks"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 2)));
+ visible_tracks_selector.AddMenuElem (MenuElem (_("Fit 4 tracks"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 4)));
+ visible_tracks_selector.AddMenuElem (MenuElem (_("Fit 8 tracks"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 8)));
+ visible_tracks_selector.AddMenuElem (MenuElem (_("Fit 16 tracks"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 16)));
+ visible_tracks_selector.AddMenuElem (MenuElem (_("Fit 24 tracks"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 24)));
+ visible_tracks_selector.AddMenuElem (MenuElem (_("Fit 32 tracks"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 32)));
+ visible_tracks_selector.AddMenuElem (MenuElem (_("Fit 48 tracks"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 48)));
+ visible_tracks_selector.AddMenuElem (MenuElem (_("Fit All tracks"), sigc::bind (sigc::mem_fun(*this, &Editor::set_visible_track_count), 0)));
+ visible_tracks_selector.AddMenuElem (MenuElem (_("Fit Selected tracks"), sigc::mem_fun(*this, &Editor::fit_selected_tracks)));
+
+ zoom_preset_selector.AddMenuElem (MenuElem (_("Zoom to 10 ms"), sigc::bind (sigc::mem_fun(*this, &Editor::set_zoom_preset), 10)));
+ zoom_preset_selector.AddMenuElem (MenuElem (_("Zoom to 100 ms"), sigc::bind (sigc::mem_fun(*this, &Editor::set_zoom_preset), 100)));
+ zoom_preset_selector.AddMenuElem (MenuElem (_("Zoom to 1 sec"), sigc::bind (sigc::mem_fun(*this, &Editor::set_zoom_preset), 1 * 1000)));
+ zoom_preset_selector.AddMenuElem (MenuElem (_("Zoom to 10 sec"), sigc::bind (sigc::mem_fun(*this, &Editor::set_zoom_preset), 10 * 1000)));
+ zoom_preset_selector.AddMenuElem (MenuElem (_("Zoom to 1 min"), sigc::bind (sigc::mem_fun(*this, &Editor::set_zoom_preset), 60 * 1000)));
+ zoom_preset_selector.AddMenuElem (MenuElem (_("Zoom to 10 min"), sigc::bind (sigc::mem_fun(*this, &Editor::set_zoom_preset), 10 * 60 * 1000)));
+ zoom_preset_selector.AddMenuElem (MenuElem (_("Zoom to 1 hour"), sigc::bind (sigc::mem_fun(*this, &Editor::set_zoom_preset), 60 * 60 * 1000)));
+ zoom_preset_selector.AddMenuElem (MenuElem (_("Zoom to 8 hours"), sigc::bind (sigc::mem_fun(*this, &Editor::set_zoom_preset), 8 * 60 * 60 * 1000)));
+ zoom_preset_selector.AddMenuElem (MenuElem (_("Zoom to 24 hours"), sigc::bind (sigc::mem_fun(*this, &Editor::set_zoom_preset), 24 * 60 * 60 * 1000)));
+ zoom_preset_selector.AddMenuElem (MenuElem (_("Zoom to Session"), sigc::mem_fun(*this, &Editor::temporal_zoom_session)));
+ zoom_preset_selector.AddMenuElem (MenuElem (_("Zoom to Range/Region Selection"), sigc::bind (sigc::mem_fun(*this, &Editor::temporal_zoom_selection), false)));
+ }
+}
+
+void
+Editor::set_zoom_preset (int64_t ms)
+{
+ if ( ms <= 0 ) {
+ temporal_zoom_session();
+ return;
}
+
+ ARDOUR::framecnt_t const sample_rate = ARDOUR::AudioEngine::instance()->sample_rate();
+ temporal_zoom( (sample_rate * ms / 1000) / _visible_canvas_width );
+}
- RefPtr<RadioAction> ract = zoom_focus_action (focus_type);
+void
+Editor::set_visible_track_count (int32_t n)
+{
+ _visible_track_count = n;
- if (ract) {
- ract->set_active ();
+ /* if the canvas hasn't really been allocated any size yet, just
+ record the desired number of visible tracks and return. when canvas
+ allocation happens, we will get called again and then we can do the
+ real work.
+ */
+
+ if (_visible_canvas_height <= 1) {
+ return;
}
+
+ int h;
+ string str;
+
+ if (_visible_track_count > 0) {
+ h = trackviews_height() / _visible_track_count;
+ std::ostringstream s;
+ s << _visible_track_count;
+ str = s.str();
+ } else if (_visible_track_count == 0) {
+ uint32_t n = 0;
+ for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
+ if ((*i)->marked_for_display()) {
+ ++n;
+ }
+ }
+ h = trackviews_height() / n;
+ str = _("All");
+ } else {
+ /* negative value means that the visible track count has
+ been overridden by explicit track height changes.
+ */
+ visible_tracks_selector.set_text (X_("*"));
+ return;
+ }
+
+ for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
+ (*i)->set_height (h);
+ }
+
+ if (str != visible_tracks_selector.get_text()) {
+ visible_tracks_selector.set_text (str);
+ }
+}
+
+void
+Editor::override_visible_track_count ()
+{
+ _visible_track_count = -_visible_track_count;
+ visible_tracks_selector.set_text ( _("*") );
}
bool
@@ -3543,8 +3652,8 @@ Editor::set_zoom_focus (ZoomFocus f)
{
string str = zoom_focus_strings[(int)f];
- if (str != zoom_focus_selector.get_active_text()) {
- zoom_focus_selector.set_active_text (str);
+ if (str != zoom_focus_selector.get_text()) {
+ zoom_focus_selector.set_text (str);
}
if (zoom_focus != f) {
@@ -3657,7 +3766,7 @@ Editor::detach_tearoff (Box* /*b*/, Window* /*w*/)
{
if ((_tools_tearoff->torn_off() || !_tools_tearoff->visible()) &&
(_mouse_mode_tearoff->torn_off() || !_mouse_mode_tearoff->visible()) &&
- (_zoom_tearoff->torn_off() || !_zoom_tearoff->visible())) {
+ (_zoom_tearoff && (_zoom_tearoff->torn_off() || !_zoom_tearoff->visible()))) {
top_hbox.remove (toolbar_frame);
}
}
@@ -3680,8 +3789,14 @@ Editor::set_show_measures (bool yn)
if (tempo_lines) {
tempo_lines->show();
}
- (void) redraw_measures ();
- }
+
+ ARDOUR::TempoMap::BBTPointList::const_iterator begin;
+ ARDOUR::TempoMap::BBTPointList::const_iterator end;
+
+ compute_current_bbt_points (leftmost_frame, leftmost_frame + current_page_samples(), begin, end);
+ draw_measures (begin, end);
+ }
+
instant_save ();
}
}
@@ -3926,26 +4041,14 @@ Editor::transport_punch_location()
bool
Editor::control_layout_scroll (GdkEventScroll* ev)
{
- if (Keyboard::some_magic_widget_has_focus()) {
- return false;
- }
-
- switch (ev->direction) {
- case GDK_SCROLL_UP:
- scroll_tracks_up_line ();
- return true;
- break;
+ /* Just forward to the normal canvas scroll method. The coordinate
+ systems are different but since the canvas is always larger than the
+ track headers, and aligned with the trackview area, this will work.
- case GDK_SCROLL_DOWN:
- scroll_tracks_down_line ();
- return true;
-
- default:
- /* no left/right handling yet */
- break;
- }
-
- return false;
+ In the not too distant future this layout is going away anyway and
+ headers will be on the canvas.
+ */
+ return canvas_scroll_event (ev, false);
}
void
@@ -3961,7 +4064,9 @@ Editor::update_tearoff_visibility()
bool visible = Config->get_keep_tearoffs();
_mouse_mode_tearoff->set_visible (visible);
_tools_tearoff->set_visible (visible);
- _zoom_tearoff->set_visible (visible);
+ if (_zoom_tearoff) {
+ _zoom_tearoff->set_visible (visible);
+ }
}
void
@@ -4086,16 +4191,14 @@ Editor::reset_y_origin (double y)
}
void
-Editor::reset_zoom (double fpu)
+Editor::reset_zoom (framecnt_t spp)
{
- clamp_frames_per_unit (fpu);
-
- if (fpu == frames_per_unit) {
+ if (spp == samples_per_pixel) {
return;
}
pending_visual_change.add (VisualChange::ZoomLevel);
- pending_visual_change.frames_per_unit = fpu;
+ pending_visual_change.samples_per_pixel = spp;
ensure_visual_change_idle_handler ();
}
@@ -4125,7 +4228,7 @@ Editor::current_visual_state (bool with_tracks)
{
VisualState* vs = new VisualState (with_tracks);
vs->y_position = vertical_adjustment.get_value();
- vs->frames_per_unit = frames_per_unit;
+ vs->samples_per_pixel = samples_per_pixel;
vs->leftmost_frame = leftmost_frame;
vs->zoom_focus = zoom_focus;
@@ -4181,13 +4284,12 @@ void
Editor::use_visual_state (VisualState& vs)
{
PBD::Unwinder<bool> nsv (no_save_visual, true);
-
- _routes->suspend_redisplay ();
+ DisplaySuspender ds;
vertical_adjustment.set_value (vs.y_position);
set_zoom_focus (vs.zoom_focus);
- reposition_and_zoom (vs.leftmost_frame, vs.frames_per_unit);
+ reposition_and_zoom (vs.leftmost_frame, vs.samples_per_pixel);
if (vs.gui_state) {
*ARDOUR_UI::instance()->gui_object_state = *vs.gui_state;
@@ -4198,28 +4300,34 @@ Editor::use_visual_state (VisualState& vs)
}
_routes->update_visibility ();
- _routes->resume_redisplay ();
}
/** This is the core function that controls the zoom level of the canvas. It is called
* whenever one or more calls are made to reset_zoom(). It executes in an idle handler.
- * @param fpu New frames per unit; should already have been clamped so that it is sensible.
+ * @param spp new number of samples per pixel
*/
void
-Editor::set_frames_per_unit (double fpu)
+Editor::set_samples_per_pixel (framecnt_t spp)
{
- if (tempo_lines) {
- tempo_lines->tempo_map_changed();
+ if (spp < 1) {
+ return;
}
- frames_per_unit = fpu;
+ const framecnt_t three_days = 3 * 24 * 60 * 60 * (_session ? _session->frame_rate() : 48000);
+ const framecnt_t lots_of_pixels = 4000;
+
+ /* if the zoom level is greater than what you'd get trying to display 3
+ * days of audio on a really big screen, then it's too big.
+ */
- /* convert fpu to frame count */
+ if (spp * lots_of_pixels > three_days) {
+ return;
+ }
- framepos_t frames = (framepos_t) floor (frames_per_unit * _canvas_width);
+ samples_per_pixel = spp;
- if (frames_per_unit != zoom_range_clock->current_duration()) {
- zoom_range_clock->set (frames);
+ if (tempo_lines) {
+ tempo_lines->tempo_map_changed();
}
bool const showing_time_selection = selection->time.length() > 0;
@@ -4232,10 +4340,15 @@ Editor::set_frames_per_unit (double fpu)
ZoomChanged (); /* EMIT_SIGNAL */
- //reset_scrolling_region ();
+ ArdourCanvas::GtkCanvasViewport* c;
+
+ c = get_track_canvas();
+ if (c) {
+ c->canvas()->zoomed ();
+ }
if (playhead_cursor) {
- playhead_cursor->set_position (playhead_cursor->current_frame);
+ playhead_cursor->set_position (playhead_cursor->current_frame ());
}
refresh_location_display();
@@ -4264,6 +4377,7 @@ Editor::ensure_visual_change_idle_handler ()
{
if (pending_visual_change.idle_handler_id < 0) {
pending_visual_change.idle_handler_id = g_idle_add (_idle_visual_changer, this);
+ pending_visual_change.being_handled = false;
}
}
@@ -4289,36 +4403,45 @@ Editor::idle_visual_changer ()
pending_visual_change.idle_handler_id = -1;
pending_visual_change.being_handled = true;
- VisualChange::Type p = pending_visual_change.pending;
+ VisualChange vc = pending_visual_change;
+
pending_visual_change.pending = (VisualChange::Type) 0;
+ visual_changer (vc);
+
+ pending_visual_change.being_handled = false;
+
+ return 0; /* this is always a one-shot call */
+}
+
+void
+Editor::visual_changer (const VisualChange& vc)
+{
double const last_time_origin = horizontal_position ();
- if (p & VisualChange::ZoomLevel) {
- set_frames_per_unit (pending_visual_change.frames_per_unit);
+ if (vc.pending & VisualChange::ZoomLevel) {
+ set_samples_per_pixel (vc.samples_per_pixel);
compute_fixed_ruler_scale ();
ARDOUR::TempoMap::BBTPointList::const_iterator current_bbt_points_begin;
ARDOUR::TempoMap::BBTPointList::const_iterator current_bbt_points_end;
- compute_current_bbt_points (pending_visual_change.time_origin, pending_visual_change.time_origin + current_page_frames(),
+ compute_current_bbt_points (vc.time_origin, pending_visual_change.time_origin + current_page_samples(),
current_bbt_points_begin, current_bbt_points_end);
- compute_bbt_ruler_scale (pending_visual_change.time_origin, pending_visual_change.time_origin + current_page_frames(),
+ compute_bbt_ruler_scale (vc.time_origin, pending_visual_change.time_origin + current_page_samples(),
current_bbt_points_begin, current_bbt_points_end);
update_tempo_based_rulers (current_bbt_points_begin, current_bbt_points_end);
- }
- if (p & VisualChange::ZoomLevel) {
update_video_timeline();
}
- if (p & VisualChange::TimeOrigin) {
- set_horizontal_position (pending_visual_change.time_origin / frames_per_unit);
+ if (vc.pending & VisualChange::TimeOrigin) {
+ set_horizontal_position (vc.time_origin / samples_per_pixel);
}
- if (p & VisualChange::YOrigin) {
- vertical_adjustment.set_value (pending_visual_change.y_origin);
+ if (vc.pending & VisualChange::YOrigin) {
+ vertical_adjustment.set_value (vc.y_origin);
}
if (last_time_origin == horizontal_position ()) {
@@ -4327,14 +4450,11 @@ Editor::idle_visual_changer ()
redisplay_tempo (true);
}
- if (!(p & VisualChange::ZoomLevel)) {
+ if (!(vc.pending & VisualChange::ZoomLevel)) {
update_video_timeline();
}
_summary->set_overlays_dirty ();
-
- pending_visual_change.being_handled = false;
- return 0; /* this is always a one-shot call */
}
struct EditorOrderTimeAxisSorter {
@@ -4357,8 +4477,12 @@ Editor::get_preferred_edit_position (bool ignore_playhead, bool from_context_men
framepos_t where = 0;
EditPoint ep = _edit_point;
+ if(Profile->get_mixbus())
+ if (ep == EditAtSelectedMarker)
+ ep=EditAtPlayhead;
+
if (from_context_menu && (ep == EditAtMouse)) {
- return event_frame (&context_click_event, 0, 0);
+ return canvas_event_sample (&context_click_event, 0, 0);
}
if (entered_marker) {
@@ -4446,7 +4570,7 @@ Editor::set_punch_range (framepos_t start, framepos_t end, string cmd)
Location* loc = new Location (*_session, start, end, _("Punch"), Location::IsAutoPunch);
XMLNode &before = _session->locations()->get_state();
_session->locations()->add (loc, true);
- _session->set_auto_loop_location (loc);
+ _session->set_auto_punch_location (loc);
XMLNode &after = _session->locations()->get_state();
_session->add_command (new MementoCommand<Locations>(*(_session->locations()), &before, &after));
}
@@ -4538,22 +4662,14 @@ Editor::get_regions_after (RegionSelection& rs, framepos_t where, const TrackVie
/** Get regions using the following method:
*
- * Make a region list using the selected regions, unless
- * the edit point is `mouse' and the mouse is over an unselected
- * region. In this case, use just that region.
+ * Make a region list using:
+ * (a) any selected regions
+ * (b) the intersection of any selected tracks and the edit point(*)
+ * (c) if neither exists, and edit_point == mouse, then whatever region is under the mouse
*
- * If the edit point is not 'mouse', and there are no regions selected,
- * search the list of selected tracks and return regions that are under
- * the edit point on these tracks. If there are no selected tracks and
- * 'No Selection = All Tracks' is active, search all tracks,
+ * (*) NOTE: in this case, if 'No Selection = All Tracks' is active, search all tracks
*
- * The rationale here is that the mouse edit point is special in that
- * its position describes both a time and a track; the other edit
- * modes only describe a time. Hence if the edit point is `mouse' we
- * ignore selected tracks, as we assume the user means something by
- * pointing at a particular track. Also in this case we take note of
- * the region directly under the edit point, as there is always just one
- * (rather than possibly several with non-mouse edit points).
+ * Note that we have forced the rule that selected regions and selected tracks are mutually exclusive
*/
RegionSelection
@@ -4561,23 +4677,15 @@ Editor::get_regions_from_selection_and_edit_point ()
{
RegionSelection regions;
- if (_edit_point == EditAtMouse && entered_regionview && !selection->regions.contains (entered_regionview)) {
+ if (_edit_point == EditAtMouse && entered_regionview && selection->tracks.empty() && selection->regions.empty() ) {
regions.add (entered_regionview);
} else {
regions = selection->regions;
}
-
- if (regions.empty() && _edit_point != EditAtMouse) {
+ if ( regions.empty() ) {
TrackViewList tracks = selection->tracks;
- if (_route_groups->all_group_active_button().get_active() && tracks.empty()) {
- /* tracks is empty (no track selected), and 'No Selection = All Tracks'
- * is enabled, so consider all tracks
- */
- tracks = track_views;
- }
-
if (!tracks.empty()) {
/* no region selected or entered, but some selected tracks:
* act on all regions on the selected tracks at the edit point
@@ -4586,6 +4694,43 @@ Editor::get_regions_from_selection_and_edit_point ()
get_regions_at(regions, where, tracks);
}
}
+
+ return regions;
+}
+
+/** Get regions using the following method:
+ *
+ * Make a region list using:
+ * (a) any selected regions
+ * (b) the intersection of any selected tracks and the edit point(*)
+ * (c) if neither exists, then whatever region is under the mouse
+ *
+ * (*) NOTE: in this case, if 'No Selection = All Tracks' is active, search all tracks
+ *
+ * Note that we have forced the rule that selected regions and selected tracks are mutually exclusive
+ */
+RegionSelection
+Editor::get_regions_from_selection_and_mouse (framepos_t pos)
+{
+ RegionSelection regions;
+
+ if (entered_regionview && selection->tracks.empty() && selection->regions.empty() ) {
+ regions.add (entered_regionview);
+ } else {
+ regions = selection->regions;
+ }
+
+ if ( regions.empty() ) {
+ TrackViewList tracks = selection->tracks;
+
+ if (!tracks.empty()) {
+ /* no region selected or entered, but some selected tracks:
+ * act on all regions on the selected tracks at the edit point
+ */
+ get_regions_at(regions, pos, tracks);
+ }
+ }
+
return regions;
}
@@ -4738,7 +4883,6 @@ Editor::idle_resize ()
}
_pending_resize_amount = 0;
- flush_canvas ();
_group_tabs->set_dirty ();
resize_idle_id = -1;
@@ -4764,16 +4908,16 @@ Editor::located ()
void
Editor::region_view_added (RegionView *)
{
- _summary->set_dirty ();
+ _summary->set_background_dirty ();
}
void
Editor::region_view_removed ()
{
- _summary->set_dirty ();
+ _summary->set_background_dirty ();
}
-TimeAxisView*
+RouteTimeAxisView*
Editor::axis_view_from_route (boost::shared_ptr<Route> r) const
{
TrackViewList::const_iterator j = track_views.begin ();
@@ -4805,6 +4949,22 @@ Editor::axis_views_from_routes (boost::shared_ptr<RouteList> r) const
}
void
+Editor::suspend_route_redisplay ()
+{
+ if (_routes) {
+ _routes->suspend_redisplay();
+ }
+}
+
+void
+Editor::resume_route_redisplay ()
+{
+ if (_routes) {
+ _routes->resume_redisplay();
+ }
+}
+
+void
Editor::add_routes (RouteList& routes)
{
ENSURE_GUI_THREAD (*this, &Editor::handle_new_route, routes)
@@ -4822,10 +4982,10 @@ Editor::add_routes (RouteList& routes)
DataType dt = route->input()->default_type();
if (dt == ARDOUR::DataType::AUDIO) {
- rtv = new AudioTimeAxisView (*this, _session, *track_canvas);
+ rtv = new AudioTimeAxisView (*this, _session, *_track_canvas);
rtv->set_route (route);
} else if (dt == ARDOUR::DataType::MIDI) {
- rtv = new MidiTimeAxisView (*this, _session, *track_canvas);
+ rtv = new MidiTimeAxisView (*this, _session, *_track_canvas);
rtv->set_route (route);
} else {
throw unknown_type();
@@ -4861,6 +5021,10 @@ Editor::add_routes (RouteList& routes)
void
Editor::timeaxisview_deleted (TimeAxisView *tv)
{
+ if (tv == entered_track) {
+ entered_track = 0;
+ }
+
if (_session && _session->deletion_in_progress()) {
/* the situation is under control */
return;
@@ -4872,10 +5036,6 @@ Editor::timeaxisview_deleted (TimeAxisView *tv)
_routes->route_removed (tv);
- if (tv == entered_track) {
- entered_track = 0;
- }
-
TimeAxisView::Children c = tv->get_child_list ();
for (TimeAxisView::Children::const_iterator i = c.begin(); i != c.end(); ++i) {
if (entered_track == i->get()) {
@@ -5099,11 +5259,11 @@ Editor::scroll_press (Direction dir)
break;
case UP:
- scroll_tracks_up_line ();
+ scroll_up_one_track ();
break;
case DOWN:
- scroll_tracks_down_line ();
+ scroll_down_one_track ();
break;
}
@@ -5130,16 +5290,16 @@ Editor::scroll_release ()
void
Editor::reset_x_origin_to_follow_playhead ()
{
- framepos_t const frame = playhead_cursor->current_frame;
+ framepos_t const frame = playhead_cursor->current_frame ();
- if (frame < leftmost_frame || frame > leftmost_frame + current_page_frames()) {
+ if (frame < leftmost_frame || frame > leftmost_frame + current_page_samples()) {
if (_session->transport_speed() < 0) {
- if (frame > (current_page_frames() / 2)) {
- center_screen (frame-(current_page_frames()/2));
+ if (frame > (current_page_samples() / 2)) {
+ center_screen (frame-(current_page_samples()/2));
} else {
- center_screen (current_page_frames()/2);
+ center_screen (current_page_samples()/2);
}
} else {
@@ -5150,10 +5310,10 @@ Editor::reset_x_origin_to_follow_playhead ()
/* moving left */
if (_session->transport_rolling()) {
/* rolling; end up with the playhead at the right of the page */
- l = frame - current_page_frames ();
+ l = frame - current_page_samples ();
} else {
/* not rolling: end up with the playhead 1/4 of the way along the page */
- l = frame - current_page_frames() / 4;
+ l = frame - current_page_samples() / 4;
}
} else {
/* moving right */
@@ -5162,7 +5322,7 @@ Editor::reset_x_origin_to_follow_playhead ()
l = frame;
} else {
/* not rolling: end up with the playhead 3/4 of the way along the page */
- l = frame - 3 * current_page_frames() / 4;
+ l = frame - 3 * current_page_samples() / 4;
}
}
@@ -5170,7 +5330,7 @@ Editor::reset_x_origin_to_follow_playhead ()
l = 0;
}
- center_screen_internal (l + (current_page_frames() / 2), current_page_frames ());
+ center_screen_internal (l + (current_page_samples() / 2), current_page_samples ());
}
}
}
@@ -5241,11 +5401,11 @@ Editor::super_rapid_screen_update ()
*/
#if 0
// FIXME DO SOMETHING THAT WORKS HERE - this is 2.X code
- double target = ((double)frame - (double)current_page_frames()/2.0) / frames_per_unit;
+ double target = ((double)frame - (double)current_page_samples()/2.0) / samples_per_pixel;
if (target <= 0.0) {
target = 0.0;
}
- if (fabs(target - current) < current_page_frames() / frames_per_unit) {
+ if (fabs(target - current) < current_page_samples() / samples_per_pixel) {
target = (target * 0.15) + (current * 0.85);
} else {
/* relax */
@@ -5280,7 +5440,7 @@ Editor::session_going_away ()
last_update_frame = 0;
_drags->abort ();
- playhead_cursor->canvas_item.hide ();
+ playhead_cursor->hide ();
/* rip everything out of the list displays */
@@ -5307,7 +5467,6 @@ Editor::session_going_away ()
}
track_views.clear ();
- zoom_range_clock->set_session (0);
nudge_clock->set_session (0);
editor_list_button.set_active(false);
@@ -5385,28 +5544,28 @@ void
Editor::setup_fade_images ()
{
_fade_in_images[FadeLinear] = new Gtk::Image (get_icon_path (X_("fadein-linear")));
- _fade_in_images[FadeSymmetric] = new Gtk::Image (get_icon_path (X_("fadein-short-cut")));
- _fade_in_images[FadeFast] = new Gtk::Image (get_icon_path (X_("fadein-slow-cut")));
- _fade_in_images[FadeSlow] = new Gtk::Image (get_icon_path (X_("fadein-fast-cut")));
- _fade_in_images[FadeConstantPower] = new Gtk::Image (get_icon_path (X_("fadein-long-cut")));
+ _fade_in_images[FadeSymmetric] = new Gtk::Image (get_icon_path (X_("fadein-symmetric")));
+ _fade_in_images[FadeFast] = new Gtk::Image (get_icon_path (X_("fadein-fast-cut")));
+ _fade_in_images[FadeSlow] = new Gtk::Image (get_icon_path (X_("fadein-slow-cut")));
+ _fade_in_images[FadeConstantPower] = new Gtk::Image (get_icon_path (X_("fadein-constant-power")));
_fade_out_images[FadeLinear] = new Gtk::Image (get_icon_path (X_("fadeout-linear")));
- _fade_out_images[FadeSymmetric] = new Gtk::Image (get_icon_path (X_("fadeout-short-cut")));
- _fade_out_images[FadeFast] = new Gtk::Image (get_icon_path (X_("fadeout-slow-cut")));
- _fade_out_images[FadeSlow] = new Gtk::Image (get_icon_path (X_("fadeout-fast-cut")));
- _fade_out_images[FadeConstantPower] = new Gtk::Image (get_icon_path (X_("fadeout-long-cut")));
+ _fade_out_images[FadeSymmetric] = new Gtk::Image (get_icon_path (X_("fadeout-symmetric")));
+ _fade_out_images[FadeFast] = new Gtk::Image (get_icon_path (X_("fadeout-fast-cut")));
+ _fade_out_images[FadeSlow] = new Gtk::Image (get_icon_path (X_("fadeout-slow-cut")));
+ _fade_out_images[FadeConstantPower] = new Gtk::Image (get_icon_path (X_("fadeout-constant-power")));
- _xfade_in_images[FadeLinear] = new Gtk::Image (get_icon_path (X_("fadeout-linear")));
- _xfade_in_images[FadeSymmetric] = new Gtk::Image (get_icon_path (X_("fadeout-short-cut")));
- _xfade_in_images[FadeFast] = new Gtk::Image (get_icon_path (X_("fadeout-slow-cut")));
- _xfade_in_images[FadeSlow] = new Gtk::Image (get_icon_path (X_("fadeout-fast-cut")));
- _xfade_in_images[FadeConstantPower] = new Gtk::Image (get_icon_path (X_("fadeout-long-cut")));
+ _xfade_in_images[FadeLinear] = new Gtk::Image (get_icon_path (X_("fadein-linear")));
+ _xfade_in_images[FadeSymmetric] = new Gtk::Image (get_icon_path (X_("fadein-symmetric")));
+ _xfade_in_images[FadeFast] = new Gtk::Image (get_icon_path (X_("fadein-fast-cut")));
+ _xfade_in_images[FadeSlow] = new Gtk::Image (get_icon_path (X_("fadein-slow-cut")));
+ _xfade_in_images[FadeConstantPower] = new Gtk::Image (get_icon_path (X_("fadein-constant-power")));
_xfade_out_images[FadeLinear] = new Gtk::Image (get_icon_path (X_("fadeout-linear")));
- _xfade_out_images[FadeSymmetric] = new Gtk::Image (get_icon_path (X_("fadeout-short-cut")));
- _xfade_out_images[FadeFast] = new Gtk::Image (get_icon_path (X_("fadeout-slow-cut")));
- _xfade_out_images[FadeSlow] = new Gtk::Image (get_icon_path (X_("fadeout-fast-cut")));
- _xfade_out_images[FadeConstantPower] = new Gtk::Image (get_icon_path (X_("fadeout-long-cut")));
+ _xfade_out_images[FadeSymmetric] = new Gtk::Image (get_icon_path (X_("fadeout-symmetric")));
+ _xfade_out_images[FadeFast] = new Gtk::Image (get_icon_path (X_("fadeout-fast-cut")));
+ _xfade_out_images[FadeSlow] = new Gtk::Image (get_icon_path (X_("fadeout-slow-cut")));
+ _xfade_out_images[FadeConstantPower] = new Gtk::Image (get_icon_path (X_("fadeout-constant-power")));
}
@@ -5484,3 +5643,18 @@ Editor::zoom_vertical_modifier_released()
{
_stepping_axis_view = 0;
}
+
+void
+Editor::ui_parameter_changed (string parameter)
+{
+ if (parameter == "icon-set") {
+ while (!_cursor_stack.empty()) {
+ _cursor_stack.pop();
+ }
+ _cursors->set_cursor_set (ARDOUR_UI::config()->get_icon_set());
+ } else if (parameter == "draggable-playhead") {
+ if (_verbose_cursor) {
+ playhead_cursor->set_sensitive (ARDOUR_UI::config()->get_draggable_playhead());
+ }
+ }
+}
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index 4da4a52525..e07ab4b80a 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -23,18 +23,13 @@
#include <list>
#include <map>
#include <set>
+#include <stack>
#include <string>
#include <sys/time.h>
+#include <cmath>
#include <boost/optional.hpp>
-#include <libgnomecanvasmm/canvas.h>
-#include <libgnomecanvasmm/group.h>
-#include <libgnomecanvasmm/line.h>
-#include <libgnomecanvasmm/pixbuf.h>
-
-#include <cmath>
-
#include <gtkmm/comboboxtext.h>
#include <gtkmm/layout.h>
@@ -52,22 +47,17 @@
#include "ardour/location.h"
#include "ardour/types.h"
-#include "gtk-custom-ruler.h"
+#include "canvas/fwd.h"
+#include "canvas/ruler.h"
+
#include "ardour_button.h"
#include "ardour_dialog.h"
+#include "ardour_dropdown.h"
#include "public_editor.h"
#include "editing.h"
#include "enums.h"
#include "editor_items.h"
#include "region_selection.h"
-#include "canvas.h"
-
-namespace Gnome {
- namespace Canvas {
- class NoEventText;
- class CanvasNoteEvent;
- }
-}
namespace Gtkmm2ext {
class TearOff;
@@ -122,10 +112,12 @@ class Marker;
class MidiRegionView;
class MixerStrip;
class MouseCursors;
+class NoteBase;
class PlaylistSelector;
class PluginSelector;
class ProgressReporter;
class RhythmFerret;
+class RulerDialog;
class Selection;
class SoundFileOmega;
class StreamView;
@@ -138,7 +130,7 @@ class VerboseCursor;
class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARDOUR::SessionHandlePtr
{
- public:
+ public:
Editor ();
~Editor ();
@@ -148,15 +140,16 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void first_idle ();
virtual bool have_idled () const { return _have_idled; }
- framepos_t leftmost_position() const { return leftmost_frame; }
+ framepos_t leftmost_sample() const { return leftmost_frame; }
- framecnt_t current_page_frames() const {
- return (framecnt_t) floor (_canvas_width * frames_per_unit);
+ framecnt_t current_page_samples() const {
+ return (framecnt_t) _visible_canvas_width * samples_per_pixel;
}
- double canvas_height () const {
- return _canvas_height;
+ double visible_canvas_height () const {
+ return _visible_canvas_height;
}
+ double trackviews_height() const;
void cycle_snap_mode ();
void next_snap_choice ();
@@ -213,32 +206,12 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void separate_regions_using_location (ARDOUR::Location&);
void transition_to_rolling (bool forward);
- /* undo related */
-
- framepos_t unit_to_frame (double unit) const {
- return (framepos_t) rint (unit * frames_per_unit);
- }
-
- double frame_to_unit (framepos_t frame) const {
- return rint ((double) frame / (double) frames_per_unit);
- }
-
- double frame_to_unit_unrounded (framepos_t frame) const {
- return frame / frames_per_unit;
- }
-
- double frame_to_unit (double frame) const {
- return rint (frame / frames_per_unit);
- }
-
/* NOTE: these functions assume that the "pixel" coordinate is
- the result of using the world->canvas affine transform on a
- world coordinate. These coordinates already take into
- account any scrolling carried out by adjusting the
- xscroll_adjustment.
+ in canvas coordinates. These coordinates already take into
+ account any scrolling offsets.
*/
- framepos_t pixel_to_frame (double pixel) const {
+ framepos_t pixel_to_sample_from_event (double pixel) const {
/* pixel can be less than zero when motion events
are processed. since we've already run the world->canvas
@@ -247,17 +220,23 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
*/
if (pixel >= 0) {
- return (framepos_t) rint (pixel * frames_per_unit * GNOME_CANVAS(track_canvas->gobj())->pixels_per_unit);
+ return pixel * samples_per_pixel;
} else {
return 0;
}
}
- gulong frame_to_pixel (framepos_t frame) const {
- return (gulong) rint ((frame / (frames_per_unit * GNOME_CANVAS(track_canvas->gobj())->pixels_per_unit)));
+ framepos_t pixel_to_sample (double pixel) const {
+ return pixel * samples_per_pixel;
}
- void flush_canvas ();
+ double sample_to_pixel (framepos_t sample) const {
+ return sample / samples_per_pixel;
+ }
+
+ double sample_to_pixel_unrounded (framepos_t sample) const {
+ return sample / (double) samples_per_pixel;
+ }
/* selection */
@@ -272,7 +251,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void maybe_locate_with_edit_preroll (framepos_t);
void play_with_preroll ();
void select_all_in_track (Selection::Operation op);
- void select_all (Selection::Operation op);
+ void select_all_objects (Selection::Operation op);
void invert_selection_in_track ();
void invert_selection ();
void deselect_all ();
@@ -298,14 +277,16 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void export_range ();
void export_region ();
- void add_toplevel_controls (Gtk::Container&);
+ void add_transport_frame (Gtk::Container&);
+ void add_toplevel_menu (Gtk::Container&);
Gtk::HBox& get_status_bar_packer() { return status_bar_hpacker; }
void set_zoom_focus (Editing::ZoomFocus);
Editing::ZoomFocus get_zoom_focus () const { return zoom_focus; }
- double get_current_zoom () const { return frames_per_unit; }
+ framecnt_t get_current_zoom () const { return samples_per_pixel; }
void cycle_zoom_focus ();
void temporal_zoom_step (bool coarser);
+ void ensure_time_axis_view_is_visible (TimeAxisView const & tav, bool at_top);
void tav_zoom_step (bool coarser);
void tav_zoom_smooth (bool coarser, bool force_all);
@@ -342,6 +323,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void nudge_forward_capture_offset ();
void nudge_backward_capture_offset ();
+ void sequence_regions ();
+
/* playhead/screen stuff */
void set_stationary_playhead (bool yn);
@@ -374,9 +357,10 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void show_window ();
- void ensure_time_axis_view_is_visible (const TimeAxisView& tav);
void scroll_tracks_down_line ();
void scroll_tracks_up_line ();
+ bool scroll_up_one_track ();
+ bool scroll_down_one_track ();
void prepare_for_cleanup ();
void finish_cleanup ();
@@ -389,7 +373,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void reset_x_origin (framepos_t);
void reset_x_origin_to_follow_playhead ();
void reset_y_origin (double);
- void reset_zoom (double);
+ void reset_zoom (framecnt_t);
void reposition_and_zoom (framepos_t, double);
framepos_t get_preferred_edit_position (bool ignore_playhead = false, bool use_context_click = false);
@@ -422,6 +406,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void center_screen (framepos_t);
TrackViewList axis_views_from_routes (boost::shared_ptr<ARDOUR::RouteList>) const;
+
Gtkmm2ext::TearOff* mouse_mode_tearoff () const { return _mouse_mode_tearoff; }
Gtkmm2ext::TearOff* tools_tearoff () const { return _tools_tearoff; }
@@ -437,10 +422,15 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
return _drags;
}
- void maybe_autoscroll (bool, bool, bool, bool);
+ void maybe_autoscroll (bool, bool, bool);
+ bool autoscroll_active() const;
Gdk::Cursor* get_canvas_cursor () const { return current_canvas_cursor; }
void set_canvas_cursor (Gdk::Cursor*, bool save=false);
+
+ void push_canvas_cursor (Gdk::Cursor*);
+ void pop_canvas_cursor ();
+
void set_current_trimmable (boost::shared_ptr<ARDOUR::Trimmable>);
void set_current_movable (boost::shared_ptr<ARDOUR::Movable>);
@@ -452,6 +442,9 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
return _verbose_cursor;
}
+ double clamp_verbose_cursor_x (double);
+ double clamp_verbose_cursor_y (double);
+
void get_pointer_position (double &, double &) const;
TimeAxisView* stepping_axis_view () {
@@ -462,12 +455,38 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
_stepping_axis_view = v;
}
+ ArdourCanvas::Container* get_trackview_group () const { return _trackview_group; }
+ ArdourCanvas::Container* get_noscroll_group () const { return no_scroll_group; }
+ ArdourCanvas::ScrollGroup* get_hscroll_group () const { return h_scroll_group; }
+ ArdourCanvas::ScrollGroup* get_vscroll_group () const { return v_scroll_group; }
+ ArdourCanvas::ScrollGroup* get_hvscroll_group () const { return hv_scroll_group; }
+
+ ArdourCanvas::GtkCanvasViewport* get_track_canvas () const;
+
+ void override_visible_track_count ();
+
+ /* Ruler metrics methods */
+
+ void metric_get_timecode (std::vector<ArdourCanvas::Ruler::Mark>&, gdouble, gdouble, gint);
+ void metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>&, gdouble, gdouble, gint);
+ void metric_get_samples (std::vector<ArdourCanvas::Ruler::Mark>&, gdouble, gdouble, gint);
+ void metric_get_minsec (std::vector<ArdourCanvas::Ruler::Mark>&, gdouble, gdouble, gint);
+
+ /* editing operations that need to be public */
+ void mouse_add_new_marker (framepos_t where, bool is_cd=false, bool is_xrun=false);
+ void split_regions_at (framepos_t, RegionSelection&);
+ void split_region_at_points (boost::shared_ptr<ARDOUR::Region>, ARDOUR::AnalysisFeatureList&, bool can_ferret, bool select_new = false);
+ RegionSelection get_regions_from_selection_and_mouse (framepos_t);
+
protected:
void map_transport_state ();
void map_position_change (framepos_t);
void on_realize();
+ void suspend_route_redisplay ();
+ void resume_route_redisplay ();
+
private:
void color_handler ();
@@ -485,7 +504,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
VisualState (bool with_tracks);
~VisualState ();
double y_position;
- double frames_per_unit;
+ framecnt_t samples_per_pixel;
framepos_t leftmost_frame;
Editing::ZoomFocus zoom_focus;
GUIObjectState* gui_state;
@@ -504,12 +523,11 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void start_visual_state_op (uint32_t n);
void cancel_visual_state_op (uint32_t n);
- framepos_t leftmost_frame;
- double frames_per_unit;
+ framepos_t leftmost_frame;
+ framecnt_t samples_per_pixel;
Editing::ZoomFocus zoom_focus;
- void set_frames_per_unit (double);
- bool clamp_frames_per_unit (double &) const;
+ void set_samples_per_pixel (framecnt_t);
Editing::MouseMode mouse_mode;
Editing::MouseMode pre_internal_mouse_mode;
@@ -530,7 +548,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
JoinObjectRangeState _join_object_range_state;
- void update_join_object_range_location (double, double);
+ void update_join_object_range_location (double);
boost::optional<int> pre_notebook_shrink_pane_width;
@@ -551,11 +569,11 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
Gtk::VBox scrollers_rulers_markers_box;
void location_changed (ARDOUR::Location *);
- void location_flags_changed (ARDOUR::Location *, void *);
+ void location_flags_changed (ARDOUR::Location *);
void refresh_location_display ();
void refresh_location_display_internal (ARDOUR::Locations::LocationList&);
void add_new_location (ARDOUR::Location *);
- ArdourCanvas::Group* add_new_location_internal (ARDOUR::Location *);
+ ArdourCanvas::Container* add_new_location_internal (ARDOUR::Location *);
void location_gone (ARDOUR::Location *);
void remove_marker (ArdourCanvas::Item&, GdkEvent*);
gint really_remove_marker (ARDOUR::Location* loc);
@@ -601,7 +619,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
LocationMarkerMap location_markers;
void update_marker_labels ();
- void update_marker_labels (ArdourCanvas::Group *);
+ void update_marker_labels (ArdourCanvas::Container *);
void check_marker_label (Marker *);
/** A set of lists of Markers that are in each of the canvas groups
@@ -610,12 +628,11 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
* a marker has moved we can decide whether we need to update the labels
* for all markers or for just a few.
*/
- std::map<ArdourCanvas::Group *, std::list<Marker *> > _sorted_marker_lists;
+ std::map<ArdourCanvas::Container *, std::list<Marker *> > _sorted_marker_lists;
void remove_sorted_marker (Marker *);
void hide_marker (ArdourCanvas::Item*, GdkEvent*);
void clear_marker_display ();
- void mouse_add_new_marker (framepos_t where, bool is_cd=false, bool is_xrun=false);
void mouse_add_new_range (framepos_t);
bool choose_new_marker_name(std::string &name);
void update_cd_marker_display ();
@@ -696,62 +713,77 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
Gtk::VBox global_vpacker;
Gtk::VBox vpacker;
+ std::stack<Gdk::Cursor*> _cursor_stack;
Gdk::Cursor* current_canvas_cursor;
- Gdk::Cursor* which_grabber_cursor ();
- void set_canvas_cursor ();
+ Gdk::Cursor* which_grabber_cursor () const;
+ Gdk::Cursor* which_track_cursor () const;
+ Gdk::Cursor* which_mode_cursor () const;
+ Gdk::Cursor* which_trim_cursor (bool left_side) const;
+ bool reset_canvas_cursor ();
+ void choose_canvas_cursor_on_entry (GdkEventCrossing*, ItemType);
+
+ ArdourCanvas::GtkCanvas* _track_canvas;
+ ArdourCanvas::GtkCanvasViewport* _track_canvas_viewport;
- ArdourCanvas::Canvas* track_canvas;
bool within_track_canvas;
friend class VerboseCursor;
VerboseCursor* _verbose_cursor;
void parameter_changed (std::string);
+ void ui_parameter_changed (std::string);
- bool track_canvas_motion (GdkEvent*);
+ Gtk::EventBox time_bars_event_box;
+ Gtk::VBox time_bars_vbox;
- Gtk::EventBox time_canvas_event_box;
- Gtk::EventBox track_canvas_event_box;
- Gtk::EventBox time_button_event_box;
- Gtk::EventBox ruler_label_event_box;
-
- ArdourCanvas::Group *minsec_group;
ArdourCanvas::Pixbuf *logo_item;
- ArdourCanvas::Group *bbt_group;
- ArdourCanvas::Group *timecode_group;
- ArdourCanvas::Group *frame_group;
- ArdourCanvas::Group *tempo_group;
- ArdourCanvas::Group *meter_group;
- ArdourCanvas::Group *marker_group;
- ArdourCanvas::Group *range_marker_group;
- ArdourCanvas::Group *transport_marker_group;
- ArdourCanvas::Group* cd_marker_group;
-
- ArdourCanvas::Group* timebar_group;
-
- /* These bars never need to be scrolled */
- ArdourCanvas::Group* meter_bar_group;
- ArdourCanvas::Group* tempo_bar_group;
- ArdourCanvas::Group* marker_bar_group;
- ArdourCanvas::Group* range_marker_bar_group;
- ArdourCanvas::Group* transport_marker_bar_group;
- ArdourCanvas::Group* cd_marker_bar_group;
-
- /** The group containing all items that require horizontal scrolling. */
- ArdourCanvas::Group* _background_group;
- /*
- The _master_group is the group containing all items
- that require horizontal scrolling..
- It is primarily used to separate canvas items
- that require horizontal scrolling from those that do not.
+#if 0
+ /* these will be needed when we have canvas rulers */
+ ArdourCanvas::Container *minsec_group;
+ ArdourCanvas::Container *bbt_group;
+ ArdourCanvas::Container *timecode_group;
+ ArdourCanvas::Container *frame_group;
+#endif
+
+ ArdourCanvas::Container *tempo_group;
+ ArdourCanvas::Container *meter_group;
+ ArdourCanvas::Container *marker_group;
+ ArdourCanvas::Container *range_marker_group;
+ ArdourCanvas::Container *transport_marker_group;
+ ArdourCanvas::Container* cd_marker_group;
+
+ /* parent for groups which themselves contain time markers */
+ ArdourCanvas::Container* _time_markers_group;
+
+ /* The group containing all other groups that are scrolled vertically
+ and horizontally.
+ */
+ ArdourCanvas::ScrollGroup* hv_scroll_group;
+
+ /* The group containing all other groups that are scrolled vertically ONLY
*/
- ArdourCanvas::Group* _master_group;
+ ArdourCanvas::ScrollGroup* v_scroll_group;
- /* The group containing all trackviews. Only scrolled vertically. */
- ArdourCanvas::Group* _trackview_group;
+ /* The group containing all other groups that are scrolled horizontally ONLY
+ */
+ ArdourCanvas::ScrollGroup* h_scroll_group;
+
+ /* The group containing all trackviews. */
+ ArdourCanvas::Container* no_scroll_group;
- /* The group used for region motion. Sits on top of _trackview_group */
- ArdourCanvas::Group* _region_motion_group;
+ /* The group containing all trackviews. */
+ ArdourCanvas::Container* _trackview_group;
+
+ /* The group holding things (mostly regions) while dragging so they
+ * are on top of everything else
+ */
+ ArdourCanvas::Container* _drag_motion_group;
+
+ /* a rect that sits at the bottom of all tracks to act as a drag-no-drop/clickable
+ * target area.
+ */
+ ArdourCanvas::Rectangle* _canvas_drop_zone;
+ bool canvas_drop_zone_event (GdkEvent* event);
enum RulerType {
ruler_metric_timecode = 0,
@@ -768,7 +800,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
ruler_video_timeline = 10,
};
- static GtkCustomMetric ruler_metrics[4];
Glib::RefPtr<Gtk::ToggleAction> ruler_timecode_action;
Glib::RefPtr<Gtk::ToggleAction> ruler_bbt_action;
Glib::RefPtr<Gtk::ToggleAction> ruler_samples_action;
@@ -781,13 +812,10 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
Glib::RefPtr<Gtk::ToggleAction> ruler_cd_marker_action;
bool no_ruler_shown_update;
- bool ruler_button_press (GdkEventButton*);
- bool ruler_button_release (GdkEventButton*);
- bool ruler_mouse_motion (GdkEventMotion*);
- bool ruler_scroll (GdkEventScroll* event);
-
Gtk::Widget * ruler_grabbed_widget;
+ RulerDialog* ruler_dialog;
+
void initialize_rulers ();
void update_just_timecode ();
void compute_fixed_ruler_scale (); //calculates the RulerScale of the fixed rulers
@@ -803,11 +831,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void store_ruler_visibility ();
void restore_ruler_visibility ();
- static gint _metric_get_timecode (GtkCustomRulerMark **, gdouble, gdouble, gint);
- static gint _metric_get_bbt (GtkCustomRulerMark **, gdouble, gdouble, gint);
- static gint _metric_get_samples (GtkCustomRulerMark **, gdouble, gdouble, gint);
- static gint _metric_get_minsec (GtkCustomRulerMark **, gdouble, gdouble, gint);
-
enum MinsecRulerScale {
minsec_show_seconds,
minsec_show_minutes,
@@ -861,34 +884,21 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
ARDOUR::TempoMap::BBTPointList::const_iterator current_bbt_points_begin,
ARDOUR::TempoMap::BBTPointList::const_iterator current_bbt_points_end);
- gint metric_get_timecode (GtkCustomRulerMark **, gdouble, gdouble, gint);
- gint metric_get_bbt (GtkCustomRulerMark **, gdouble, gdouble, gint);
- gint metric_get_samples (GtkCustomRulerMark **, gdouble, gdouble, gint);
- gint metric_get_minsec (GtkCustomRulerMark **, gdouble, gdouble, gint);
-
- Gtk::Widget *_ruler_separator;
- GtkWidget *_timecode_ruler;
- GtkWidget *_bbt_ruler;
- GtkWidget *_samples_ruler;
- GtkWidget *_minsec_ruler;
- Gtk::Widget *timecode_ruler;
- Gtk::Widget *bbt_ruler;
- Gtk::Widget *samples_ruler;
- Gtk::Widget *minsec_ruler;
- static Editor *ruler_editor;
+ ArdourCanvas::Ruler* timecode_ruler;
+ ArdourCanvas::Ruler* bbt_ruler;
+ ArdourCanvas::Ruler* samples_ruler;
+ ArdourCanvas::Ruler* minsec_ruler;
static const double timebar_height;
guint32 visible_timebars;
- gdouble canvas_timebars_vsize;
- gdouble get_canvas_timebars_vsize () const { return canvas_timebars_vsize; }
Gtk::Menu *editor_ruler_menu;
- ArdourCanvas::SimpleRect* tempo_bar;
- ArdourCanvas::SimpleRect* meter_bar;
- ArdourCanvas::SimpleRect* marker_bar;
- ArdourCanvas::SimpleRect* range_marker_bar;
- ArdourCanvas::SimpleRect* transport_marker_bar;
- ArdourCanvas::SimpleRect* cd_marker_bar;
+ ArdourCanvas::Rectangle* tempo_bar;
+ ArdourCanvas::Rectangle* meter_bar;
+ ArdourCanvas::Rectangle* marker_bar;
+ ArdourCanvas::Rectangle* range_marker_bar;
+ ArdourCanvas::Rectangle* transport_marker_bar;
+ ArdourCanvas::Rectangle* cd_marker_bar;
Gtk::Label minsec_label;
Gtk::Label bbt_label;
@@ -902,10 +912,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
Gtk::Label cd_mark_label;
/* videtimline related actions */
- ArdourCanvas::SimpleRect* videotl_bar;
Gtk::Label videotl_label;
- ArdourCanvas::Group* videotl_bar_group;
- ArdourCanvas::Group* videotl_group;
+ ArdourCanvas::Container* videotl_group;
Glib::RefPtr<Gtk::ToggleAction> ruler_video_action;
Glib::RefPtr<Gtk::ToggleAction> xjadeo_proc_action;
Glib::RefPtr<Gtk::ToggleAction> xjadeo_ontop_action;
@@ -927,13 +935,9 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void export_video (bool range = false);
void toggle_region_video_lock ();
- Gtk::VBox time_button_vbox;
- Gtk::HBox time_button_hbox;
-
friend class EditorCursor;
EditorCursor* playhead_cursor;
- ArdourCanvas::Group* cursor_group;
framepos_t get_region_boundary (framepos_t pos, int32_t dir, bool with_selection, bool only_onscreen);
@@ -966,13 +970,18 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
std::vector<ARDOUR::framepos_t> region_boundary_cache;
void build_region_boundary_cache ();
+ Gtk::HBox toplevel_hpacker;
+
Gtk::HBox top_hbox;
Gtk::HBox bottom_hbox;
Gtk::Table edit_packer;
+ /** the adjustment that controls the overall editor vertical scroll position */
Gtk::Adjustment vertical_adjustment;
+ Gtk::Adjustment horizontal_adjustment;
+ Gtk::Adjustment unused_adjustment; // yes, really; Gtk::Layout constructor requires refs
Gtk::Layout controls_layout;
bool control_layout_scroll (GdkEventScroll* ev);
void reset_controls_layout_width ();
@@ -990,9 +999,9 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
sigc::connection _scroll_connection;
int _scroll_callbacks;
- double _canvas_width;
- double _canvas_height; ///< height of the visible area of the track canvas
- double full_canvas_height; ///< full height of the canvas
+ double _visible_canvas_width;
+ double _visible_canvas_height; ///< height of the visible area of the track canvas
+ double _full_canvas_height; ///< full height of the canvas
bool track_canvas_map_handler (GdkEventAny*);
@@ -1000,9 +1009,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
Gtk::Menu *edit_controls_left_menu;
Gtk::Menu *edit_controls_right_menu;
- Gtk::VBox ruler_label_vbox;
Gtk::VBox track_canvas_vbox;
- Gtk::VBox time_canvas_vbox;
Gtk::VBox edit_controls_vbox;
Gtk::HBox edit_controls_hbox;
@@ -1020,15 +1027,9 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
bool deferred_control_scroll (framepos_t);
sigc::connection control_scroll_connection;
- gdouble get_trackview_group_vertical_offset () const { return vertical_adjustment.get_value () - canvas_timebars_vsize;}
-
- ArdourCanvas::Group* get_background_group () const { return _background_group; }
- ArdourCanvas::Group* get_trackview_group () const { return _trackview_group; }
- double last_trackview_group_vertical_offset;
void tie_vertical_scrolling ();
void set_horizontal_position (double);
double horizontal_position () const;
- void scroll_canvas_vertically ();
struct VisualChange {
enum Type {
@@ -1037,16 +1038,16 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
YOrigin = 0x4
};
- Type pending;
+ Type pending;
framepos_t time_origin;
- double frames_per_unit;
- double y_origin;
+ framecnt_t samples_per_pixel;
+ double y_origin;
int idle_handler_id;
/** true if we are currently in the idle handler */
bool being_handled;
- VisualChange() : pending ((VisualChange::Type) 0), time_origin (0), frames_per_unit (0), idle_handler_id (-1), being_handled (false) {}
+ VisualChange() : pending ((VisualChange::Type) 0), time_origin (0), samples_per_pixel (0), idle_handler_id (-1), being_handled (false) {}
void add (Type t) {
pending = Type (pending | t);
}
@@ -1056,12 +1057,13 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
static int _idle_visual_changer (void *arg);
int idle_visual_changer ();
+ void visual_changer (const VisualChange&);
void ensure_visual_change_idle_handler ();
/* track views */
TrackViewList track_views;
- std::pair<TimeAxisView*, double> trackview_by_y_position (double);
- TimeAxisView* axis_view_from_route (boost::shared_ptr<ARDOUR::Route>) const;
+ std::pair<TimeAxisView*, double> trackview_by_y_position (double, bool trackview_relative_offset = true) const;
+ RouteTimeAxisView* axis_view_from_route (boost::shared_ptr<ARDOUR::Route>) const;
TrackViewList get_tracks_for_range_action () const;
@@ -1106,8 +1108,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
Gtkmm2ext::ActionMap editor_action_map;
Gtkmm2ext::Bindings key_bindings;
- int ensure_cursor (framepos_t* pos);
-
void cut_copy (Editing::CutCopyOp);
bool can_cut_copy () const;
void cut_copy_points (Editing::CutCopyOp);
@@ -1142,9 +1142,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void change_region_layering_order (bool from_context_menu);
void lower_region ();
void lower_region_to_bottom ();
- void split_regions_at (framepos_t, RegionSelection&);
void split_region_at_transients ();
- void split_region_at_points (boost::shared_ptr<ARDOUR::Region>, ARDOUR::AnalysisFeatureList&, bool can_ferret, bool select_new = false);
void crop_region_to_selection ();
void crop_region_to (framepos_t start, framepos_t end);
void set_sync_point (framepos_t, const RegionSelection&);
@@ -1221,19 +1219,17 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void play_location (ARDOUR::Location&);
void loop_location (ARDOUR::Location&);
- void temporal_zoom_selection ();
+ void calc_extra_zoom_edges(framepos_t &start, framepos_t &end);
+ void temporal_zoom_selection (bool both_axes = false);
void temporal_zoom_region (bool both_axes);
void zoom_to_region (bool both_axes);
void temporal_zoom_session ();
- void temporal_zoom (double scale);
+ void temporal_zoom (framecnt_t samples_per_pixel);
void temporal_zoom_by_frame (framepos_t start, framepos_t end);
void temporal_zoom_to_frame (bool coarser, framepos_t frame);
- void insert_region_list_drag (boost::shared_ptr<ARDOUR::Region>, int x, int y);
void insert_region_list_selection (float times);
- void insert_route_list_drag (boost::shared_ptr<ARDOUR::Route>, int x, int y);
-
/* import & embed */
void add_external_audio_action (Editing::ImportMode);
@@ -1314,6 +1310,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void jump_forward_to_mark ();
void jump_backward_to_mark ();
void cursor_align (bool playhead_to_edit);
+ void toggle_skip_playback ();
void remove_last_capture ();
void select_all_selectables_using_time_selection ();
@@ -1340,6 +1337,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void set_punch_range (framepos_t start, framepos_t end, std::string cmd);
void add_location_from_playhead_cursor ();
+ void remove_location_at_playhead_cursor ();
bool select_new_marker;
void reverse_selection ();
@@ -1369,9 +1367,16 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
DragManager* _drags;
void escape ();
+ void lock ();
+ void unlock ();
+ Gtk::Dialog* lock_dialog;
+
+ struct timeval last_event_time;
+ bool generic_event_handler (GdkEvent*);
+ bool lock_timeout_callback ();
+ void start_lock_event_timing ();
Gtk::Menu fade_context_menu;
- void popup_fade_context_menu (int, int, ArdourCanvas::Item*, ItemType);
Gtk::Menu xfade_in_context_menu;
Gtk::Menu xfade_out_context_menu;
@@ -1386,6 +1391,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void set_fade_in_active (bool);
void set_fade_out_active (bool);
+ void fade_range ();
+
std::set<boost::shared_ptr<ARDOUR::Playlist> > motion_frozen_playlists;
bool _dragging_playhead;
@@ -1411,6 +1418,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
/* Canvas event handlers */
+ bool canvas_scroll_event (GdkEventScroll* event, bool from_canvas);
bool canvas_control_point_event (GdkEvent* event,ArdourCanvas::Item*, ControlPoint*);
bool canvas_line_event (GdkEvent* event,ArdourCanvas::Item*, AutomationLine*);
bool canvas_selection_rect_event (GdkEvent* event,ArdourCanvas::Item*, SelectionRect*);
@@ -1419,10 +1427,11 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
bool canvas_start_xfade_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*);
bool canvas_end_xfade_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*);
bool canvas_fade_in_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*);
- bool canvas_fade_in_handle_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*);
+ bool canvas_fade_in_handle_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*, bool trim = false);
bool canvas_fade_out_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*);
- bool canvas_fade_out_handle_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*);
+ bool canvas_fade_out_handle_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*, bool trim = false);
bool canvas_region_view_event (GdkEvent* event,ArdourCanvas::Item*, RegionView*);
+ bool canvas_wave_view_event (GdkEvent* event,ArdourCanvas::Item*, RegionView*);
bool canvas_frame_handle_event (GdkEvent* event,ArdourCanvas::Item*, RegionView*);
bool canvas_region_view_name_highlight_event (GdkEvent* event,ArdourCanvas::Item*, RegionView*);
bool canvas_region_view_name_event (GdkEvent* event,ArdourCanvas::Item*, RegionView*);
@@ -1432,9 +1441,10 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
bool canvas_zoom_rect_event (GdkEvent* event,ArdourCanvas::Item*);
bool canvas_tempo_marker_event (GdkEvent* event,ArdourCanvas::Item*, TempoMarker*);
bool canvas_meter_marker_event (GdkEvent* event,ArdourCanvas::Item*, MeterMarker*);
- bool canvas_automation_track_event(GdkEvent* event, ArdourCanvas::Item*, AutomationTimeAxisView*) ;
- bool canvas_note_event (GdkEvent* event, ArdourCanvas::Item*);
+ bool canvas_automation_track_event(GdkEvent* event, ArdourCanvas::Item*, AutomationTimeAxisView*);
+ bool canvas_note_event (GdkEvent* event, ArdourCanvas::Item *);
+ bool canvas_ruler_event (GdkEvent* event, ArdourCanvas::Item *, ItemType);
bool canvas_tempo_bar_event (GdkEvent* event, ArdourCanvas::Item*);
bool canvas_meter_bar_event (GdkEvent* event, ArdourCanvas::Item*);
bool canvas_marker_bar_event (GdkEvent* event, ArdourCanvas::Item*);
@@ -1459,22 +1469,18 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
friend class EditorRouteGroups;
friend class EditorRegions;
- /** true if the mouse is over a place where region trim can happen */
- bool _over_region_trim_target;
-
/* non-public event handlers */
bool canvas_playhead_cursor_event (GdkEvent* event, ArdourCanvas::Item*);
bool track_canvas_scroll (GdkEventScroll* event);
- bool track_canvas_scroll_event (GdkEventScroll* event);
bool track_canvas_button_press_event (GdkEventButton* event);
bool track_canvas_button_release_event (GdkEventButton* event);
bool track_canvas_motion_notify_event (GdkEventMotion* event);
- Gtk::Allocation canvas_allocation;
- void track_canvas_allocate (Gtk::Allocation alloc);
- bool track_canvas_size_allocated ();
+ Gtk::Allocation _canvas_viewport_allocation;
+ void track_canvas_viewport_allocate (Gtk::Allocation alloc);
+ void track_canvas_viewport_size_allocated ();
bool track_canvas_drag_motion (Glib::RefPtr<Gdk::DragContext> const &, int, int, guint);
bool track_canvas_key_press (GdkEventKey *);
bool track_canvas_key_release (GdkEventKey *);
@@ -1497,12 +1503,12 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
TempoLines* tempo_lines;
- ArdourCanvas::Group* time_line_group;
+ ArdourCanvas::Container* global_rect_group;
+ ArdourCanvas::Container* time_line_group;
void hide_measures ();
void draw_measures (ARDOUR::TempoMap::BBTPointList::const_iterator& begin,
ARDOUR::TempoMap::BBTPointList::const_iterator& end);
- bool redraw_measures ();
void new_tempo_section ();
@@ -1516,8 +1522,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void edit_tempo_section (ARDOUR::TempoSection*);
void edit_meter_section (ARDOUR::MeterSection*);
- void edit_tempo_marker (ArdourCanvas::Item*);
- void edit_meter_marker (ArdourCanvas::Item*);
+ void edit_tempo_marker (TempoMarker&);
+ void edit_meter_marker (MeterMarker&);
void edit_control_point (ArdourCanvas::Item*);
void edit_notes (TimeAxisViewItem&);
@@ -1541,8 +1547,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void marker_menu_zoom_to_range ();
void new_transport_marker_menu_set_loop ();
void new_transport_marker_menu_set_punch ();
- void update_loop_range_view (bool visibility=false);
- void update_punch_range_view (bool visibility=false);
+ void update_loop_range_view ();
+ void update_punch_range_view ();
void new_transport_marker_menu_popdown ();
void marker_context_menu (GdkEventButton*, ArdourCanvas::Item*);
void tempo_or_meter_marker_context_menu (GdkEventButton*, ArdourCanvas::Item*);
@@ -1583,14 +1589,20 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void editor_mixer_button_toggled ();
void editor_list_button_toggled ();
- AudioClock* zoom_range_clock;
-
ArdourButton zoom_in_button;
ArdourButton zoom_out_button;
ArdourButton zoom_out_full_button;
ArdourButton tav_expand_button;
ArdourButton tav_shrink_button;
+ ArdourDropdown visible_tracks_selector;
+ ArdourDropdown zoom_preset_selector;
+
+ int32_t _visible_track_count;
+ void build_track_count_menu ();
+ void set_visible_track_count (int32_t);
+
+ void set_zoom_preset(int64_t);
Gtk::VBox toolbar_clock_vbox;
Gtk::VBox toolbar_selection_clock_vbox;
@@ -1605,6 +1617,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
ArdourButton mouse_zoom_button;
ArdourButton mouse_timefx_button;
ArdourButton mouse_audition_button;
+ ArdourButton mouse_cut_button;
ArdourButton smart_mode_button;
Glib::RefPtr<Gtk::ToggleAction> smart_mode_action;
@@ -1621,35 +1634,39 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
Gtk::VBox automation_box;
Gtk::Button automation_mode_button;
- Gtk::ComboBoxText edit_mode_selector;
+ //edit mode menu stuff
+ ArdourDropdown edit_mode_selector;
+ void edit_mode_selection_done ( ARDOUR::EditMode m );
+ void build_edit_mode_menu ();
Gtk::VBox edit_mode_box;
- std::vector<std::string> edit_mode_strings;
void set_edit_mode (ARDOUR::EditMode);
void cycle_edit_mode ();
- void edit_mode_selection_done ();
- Gtk::ComboBoxText snap_type_selector;
- Gtk::ComboBoxText snap_mode_selector;
+ ArdourDropdown snap_type_selector;
+ void build_snap_type_menu ();
+
+ ArdourDropdown snap_mode_selector;
+ void build_snap_mode_menu ();
Gtk::HBox snap_box;
std::vector<std::string> snap_type_strings;
std::vector<std::string> snap_mode_strings;
- void snap_type_selection_done ();
- void snap_mode_selection_done ();
+ void snap_type_selection_done (Editing::SnapType);
+ void snap_mode_selection_done (Editing::SnapMode);
void snap_mode_chosen (Editing::SnapMode);
void snap_type_chosen (Editing::SnapType);
Glib::RefPtr<Gtk::RadioAction> snap_type_action (Editing::SnapType);
Glib::RefPtr<Gtk::RadioAction> snap_mode_action (Editing::SnapMode);
- Gtk::ComboBoxText zoom_focus_selector;
- Gtk::VBox zoom_focus_box;
-
+ //zoom focus meu stuff
+ ArdourDropdown zoom_focus_selector;
+ void zoom_focus_selection_done ( Editing::ZoomFocus f );
+ void build_zoom_focus_menu ();
std::vector<std::string> zoom_focus_strings;
- void zoom_focus_selection_done ();
void zoom_focus_chosen (Editing::ZoomFocus);
Glib::RefPtr<Gtk::RadioAction> zoom_focus_action (Editing::ZoomFocus);
@@ -1680,6 +1697,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
Selection* cut_buffer;
void time_selection_changed ();
+ void update_time_selection_display ();
void track_selection_changed ();
void region_selection_changed ();
sigc::connection editor_regions_selection_changed_connection;
@@ -1695,6 +1713,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void point_selection_changed ();
void marker_selection_changed ();
+ bool _ignore_follow_edits;
+
void cancel_selection ();
void cancel_time_selection ();
@@ -1704,22 +1724,22 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
/* transport range select process */
- ArdourCanvas::SimpleRect* cd_marker_bar_drag_rect;
- ArdourCanvas::SimpleRect* range_bar_drag_rect;
- ArdourCanvas::SimpleRect* transport_bar_drag_rect;
+ ArdourCanvas::Rectangle* cd_marker_bar_drag_rect;
+ ArdourCanvas::Rectangle* range_bar_drag_rect;
+ ArdourCanvas::Rectangle* transport_bar_drag_rect;
#ifdef GTKOSX
- ArdourCanvas::SimpleRect *bogus_background_rect;
+ ArdourCanvas::Rectangle *bogus_background_rect;
#endif
- ArdourCanvas::SimpleRect *transport_bar_range_rect;
- ArdourCanvas::SimpleRect *transport_bar_preroll_rect;
- ArdourCanvas::SimpleRect *transport_bar_postroll_rect;
- ArdourCanvas::SimpleRect *transport_loop_range_rect;
- ArdourCanvas::SimpleRect *transport_punch_range_rect;
- ArdourCanvas::SimpleLine *transport_punchin_line;
- ArdourCanvas::SimpleLine *transport_punchout_line;
- ArdourCanvas::SimpleRect *transport_preroll_rect;
- ArdourCanvas::SimpleRect *transport_postroll_rect;
+ ArdourCanvas::Rectangle *transport_bar_range_rect;
+ ArdourCanvas::Rectangle *transport_bar_preroll_rect;
+ ArdourCanvas::Rectangle *transport_bar_postroll_rect;
+ ArdourCanvas::Rectangle *transport_loop_range_rect;
+ ArdourCanvas::Rectangle *transport_punch_range_rect;
+ ArdourCanvas::Line *transport_punchin_line;
+ ArdourCanvas::Line *transport_punchout_line;
+ ArdourCanvas::Rectangle *transport_preroll_rect;
+ ArdourCanvas::Rectangle *transport_postroll_rect;
ARDOUR::Location* transport_loop_location();
ARDOUR::Location* transport_punch_location();
@@ -1730,11 +1750,11 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void select_all_within (framepos_t, framepos_t, double, double, TrackViewList const &, Selection::Operation, bool);
- ArdourCanvas::SimpleRect *rubberband_rect;
+ ArdourCanvas::Rectangle *rubberband_rect;
/* mouse zoom process */
- ArdourCanvas::SimpleRect *zoom_rect;
+ ArdourCanvas::Rectangle *zoom_rect;
void reposition_zoom_rect (framepos_t start, framepos_t end);
EditorRouteGroups* _route_groups;
@@ -1755,22 +1775,15 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
/* autoscrolling */
- bool autoscroll_active;
- int autoscroll_timeout_tag;
- int autoscroll_x;
- int autoscroll_y;
- int last_autoscroll_x;
- int last_autoscroll_y;
- uint32_t autoscroll_cnt;
- framecnt_t autoscroll_x_distance;
- double autoscroll_y_distance;
-
- bool _autoscroll_fudging;
- int autoscroll_fudge_threshold () const;
+ sigc::connection autoscroll_connection;
+ bool autoscroll_horizontal_allowed;
+ bool autoscroll_vertical_allowed;
+ uint32_t autoscroll_cnt;
+ Gtk::Widget* autoscroll_widget;
+ ArdourCanvas::Rect autoscroll_boundary;
- static gint _autoscroll_canvas (void *);
bool autoscroll_canvas ();
- void start_canvas_autoscroll (int x, int y);
+ void start_canvas_autoscroll (bool allow_horiz, bool allow_vert, const ArdourCanvas::Rect& boundary);
void stop_canvas_autoscroll ();
/* trimming */
@@ -1868,7 +1881,15 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void duplicate_range (bool with_dialog);
- framepos_t event_frame (GdkEvent const *, double* px = 0, double* py = 0) const;
+ /** computes the timeline frame (sample) of an event whose coordinates
+ * are in canvas units (pixels, scroll offset included).
+ */
+ framepos_t canvas_event_sample (GdkEvent const *, double* px = 0, double* py = 0) const;
+
+ /** computes the timeline frame (sample) of an event whose coordinates
+ * are in window units (pixels, no scroll offset).
+ */
+ framepos_t window_event_sample (GdkEvent const *, double* px = 0, double* py = 0) const;
/* returns false if mouse pointer is not in track or marker canvas
*/
@@ -1946,7 +1967,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
bool entered_track_canvas (GdkEventCrossing*);
void set_entered_track (TimeAxisView*);
void set_entered_regionview (RegionView*);
- void ensure_track_visible (TimeAxisView*);
gint left_automation_track ();
void reset_canvas_action_sensitivity (bool);
@@ -1969,15 +1989,17 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
Editing::EditPoint _edit_point;
- Gtk::ComboBoxText edit_point_selector;
+ ArdourDropdown edit_point_selector;
+ void build_edit_point_menu();
void set_edit_point_preference (Editing::EditPoint ep, bool force = false);
void cycle_edit_point (bool with_marker);
void set_edit_point ();
- void edit_point_selection_done ();
+ void edit_point_selection_done (Editing::EditPoint);
void edit_point_chosen (Editing::EditPoint);
Glib::RefPtr<Gtk::RadioAction> edit_point_action (Editing::EditPoint);
std::vector<std::string> edit_point_strings;
+ std::vector<std::string> edit_mode_strings;
void selected_marker_moved (ARDOUR::Location*);
@@ -2034,8 +2056,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void region_view_added (RegionView *);
void region_view_removed ();
- void update_canvas_now ();
-
EditorGroupTabs* _group_tabs;
void fit_route_group (ARDOUR::RouteGroup *);
@@ -2069,8 +2089,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
Gtk::MenuItem& action_menu_item (std::string const &);
void action_pre_activated (Glib::RefPtr<Gtk::Action> const &);
- void set_canvas_cursor_for_region_view (double, RegionView *);
-
MouseCursors* _cursors;
void follow_mixer_selection ();
@@ -2095,10 +2113,15 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
TimeAxisView* _stepping_axis_view;
void zoom_vertical_modifier_released();
+ void bring_in_callback (Gtk::Label*, uint32_t n, uint32_t total, std::string name);
+ void update_bring_in_message (Gtk::Label* label, uint32_t n, uint32_t total, std::string name);
+ void bring_all_sources_into_session ();
+
friend class Drag;
friend class RegionDrag;
friend class RegionMoveDrag;
friend class RegionSpliceDrag;
+ friend class RegionRippleDrag;
friend class TrimDrag;
friend class MeterMarkerDrag;
friend class TempoMarkerDrag;
diff --git a/gtk2_ardour/editor_actions.cc b/gtk2_ardour/editor_actions.cc
index 62d67e8ec8..bc63a6c8f6 100644
--- a/gtk2_ardour/editor_actions.cc
+++ b/gtk2_ardour/editor_actions.cc
@@ -30,6 +30,9 @@
#include "ardour/session.h"
#include "ardour/types.h"
+#include "canvas/canvas.h"
+#include "canvas/pixbuf.h"
+
#include "actions.h"
#include "ardour_ui.h"
#include "editing.h"
@@ -47,6 +50,7 @@ using namespace Gtk;
using namespace Glib;
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Editing;
@@ -147,6 +151,11 @@ Editor::register_actions ()
ActionManager::register_action (editor_actions, "escape", _("Break drag or deselect all"), sigc::mem_fun (*this, &Editor::escape));
+ /* We don't bother registering "unlock" because it would be insensitive
+ when required. Editor::unlock() must be invoked directly.
+ */
+ ActionManager::register_action (editor_actions, "lock", _("Lock"), sigc::mem_fun (*this, &Editor::lock));
+
toggle_reg_sens (editor_actions, "show-editor-mixer", _("Show Editor Mixer"), sigc::mem_fun (*this, &Editor::editor_mixer_button_toggled));
toggle_reg_sens (editor_actions, "show-editor-list", _("Show Editor List"), sigc::mem_fun (*this, &Editor::editor_list_button_toggled));
@@ -182,11 +191,15 @@ Editor::register_actions ()
reg_sens (editor_actions, "playhead-to-range-start", _("Playhead to Range Start"), sigc::bind (sigc::mem_fun(*this, &Editor::cursor_to_selection_start), playhead_cursor));
reg_sens (editor_actions, "playhead-to-range-end", _("Playhead to Range End"), sigc::bind (sigc::mem_fun(*this, &Editor::cursor_to_selection_end), playhead_cursor));
- reg_sens (editor_actions, "select-all", _("Select All"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all), Selection::Set));
+ reg_sens (editor_actions, "select-all-objects", _("Select All Objects"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_objects), Selection::Set));
+ reg_sens (editor_actions, "select-all-tracks", _("Select All Tracks"), sigc::mem_fun(*this, &Editor::select_all_tracks));
reg_sens (editor_actions, "deselect-all", _("Deselect All"), sigc::mem_fun(*this, &Editor::deselect_all));
reg_sens (editor_actions, "invert-selection", _("Invert Selection"), sigc::mem_fun(*this, &Editor::invert_selection));
+
reg_sens (editor_actions, "select-all-after-edit-cursor", _("Select All After Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), true));
+ reg_sens (editor_actions, "alternate-select-all-after-edit-cursor", _("Select All After Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), true));
reg_sens (editor_actions, "select-all-before-edit-cursor", _("Select All Before Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), false));
+ reg_sens (editor_actions, "alternate-select-all-before-edit-cursor", _("Select All Before Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), false));
reg_sens (editor_actions, "select-all-between-cursors", _("Select All Overlapping Edit Range"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_between), false));
reg_sens (editor_actions, "select-all-within-cursors", _("Select All Inside Edit Range"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_between), true));
@@ -227,8 +240,15 @@ Editor::register_actions ()
}
reg_sens (editor_actions, "jump-forward-to-mark", _("Jump to Next Mark"), sigc::mem_fun(*this, &Editor::jump_forward_to_mark));
+ reg_sens (editor_actions, "alternate-jump-forward-to-mark", _("Jump to Next Mark"), sigc::mem_fun(*this, &Editor::jump_forward_to_mark));
reg_sens (editor_actions, "jump-backward-to-mark", _("Jump to Previous Mark"), sigc::mem_fun(*this, &Editor::jump_backward_to_mark));
+ reg_sens (editor_actions, "alternate-jump-backward-to-mark", _("Jump to Previous Mark"), sigc::mem_fun(*this, &Editor::jump_backward_to_mark));
+
reg_sens (editor_actions, "add-location-from-playhead", _("Add Mark from Playhead"), sigc::mem_fun(*this, &Editor::add_location_from_playhead_cursor));
+ reg_sens (editor_actions, "alternate-add-location-from-playhead", _("Add Mark from Playhead"), sigc::mem_fun(*this, &Editor::add_location_from_playhead_cursor));
+
+ reg_sens (editor_actions, "remove-location-from-playhead", _("Remove Mark at Playhead"), sigc::mem_fun(*this, &Editor::remove_location_at_playhead_cursor));
+ reg_sens (editor_actions, "alternate-remove-location-from-playhead", _("Remove Mark at Playhead"), sigc::mem_fun(*this, &Editor::remove_location_at_playhead_cursor));
reg_sens (editor_actions, "nudge-next-forward", _("Nudge Next Later"), sigc::bind (sigc::mem_fun(*this, &Editor::nudge_forward), true, false));
reg_sens (editor_actions, "nudge-next-backward", _("Nudge Next Earlier"), sigc::bind (sigc::mem_fun(*this, &Editor::nudge_backward), true, false));
@@ -243,6 +263,8 @@ Editor::register_actions ()
reg_sens (editor_actions, "zoom-to-session", _("Zoom to Session"), sigc::mem_fun(*this, &Editor::temporal_zoom_session));
reg_sens (editor_actions, "zoom-to-region", _("Zoom to Region"), sigc::bind (sigc::mem_fun(*this, &Editor::zoom_to_region), false));
reg_sens (editor_actions, "zoom-to-region-both-axes", _("Zoom to Region (Width and Height)"), sigc::bind (sigc::mem_fun(*this, &Editor::zoom_to_region), true));
+ reg_sens (editor_actions, "zoom-to-range", _("Zoom to Range"), sigc::bind (sigc::mem_fun(*this, &Editor::temporal_zoom_selection), false));
+ reg_sens (editor_actions, "zoom-to-range-both-axes", _("Zoom to Range (Width and Height)"), sigc::bind (sigc::mem_fun(*this, &Editor::temporal_zoom_selection), true));
reg_sens (editor_actions, "toggle-zoom", _("Toggle Zoom State"), sigc::mem_fun(*this, &Editor::swap_visual_state));
reg_sens (editor_actions, "expand-tracks", _("Expand Track Height"), sigc::bind (sigc::mem_fun (*this, &Editor::tav_zoom_step), false));
@@ -273,6 +295,8 @@ Editor::register_actions ()
reg_sens (editor_actions, "playhead-to-edit", _("Playhead to Active Mark"), sigc::bind (sigc::mem_fun(*this, &Editor::cursor_align), true));
reg_sens (editor_actions, "edit-to-playhead", _("Active Mark to Playhead"), sigc::bind (sigc::mem_fun(*this, &Editor::cursor_align), false));
+ toggle_reg_sens (editor_actions, "toggle-skip-playback", _("Use Skip Ranges"), sigc::mem_fun(*this, &Editor::toggle_skip_playback));
+
reg_sens (editor_actions, "set-loop-from-edit-range", _("Set Loop from Edit Range"), sigc::bind (sigc::mem_fun(*this, &Editor::set_loop_from_edit_range), false));
reg_sens (editor_actions, "set-punch-from-edit-range", _("Set Punch from Edit Range"), sigc::mem_fun(*this, &Editor::set_punch_from_edit_range));
@@ -289,7 +313,10 @@ Editor::register_actions ()
reg_sens (editor_actions, "duplicate-range", _("Duplicate Range"), sigc::bind (sigc::mem_fun(*this, &Editor::duplicate_range), false));
undo_action = reg_sens (editor_actions, "undo", S_("Command|Undo"), sigc::bind (sigc::mem_fun(*this, &Editor::undo), 1U));
+
redo_action = reg_sens (editor_actions, "redo", _("Redo"), sigc::bind (sigc::mem_fun(*this, &Editor::redo), 1U));
+ redo_action = reg_sens (editor_actions, "alternate-redo", _("Redo"), sigc::bind (sigc::mem_fun(*this, &Editor::redo), 1U));
+ redo_action = reg_sens (editor_actions, "alternate-alternate-redo", _("Redo"), sigc::bind (sigc::mem_fun(*this, &Editor::redo), 1U));
reg_sens (editor_actions, "export-audio", _("Export Audio"), sigc::mem_fun(*this, &Editor::export_audio));
reg_sens (editor_actions, "export-range", _("Export Range"), sigc::mem_fun(*this, &Editor::export_range));
@@ -308,23 +335,32 @@ Editor::register_actions ()
reg_sens (editor_actions, "editor-cut", _("Cut"), sigc::mem_fun(*this, &Editor::cut));
reg_sens (editor_actions, "editor-delete", _("Delete"), sigc::mem_fun(*this, &Editor::delete_));
+ reg_sens (editor_actions, "alternate-editor-delete", _("Delete"), sigc::mem_fun(*this, &Editor::delete_));
reg_sens (editor_actions, "editor-copy", _("Copy"), sigc::mem_fun(*this, &Editor::copy));
reg_sens (editor_actions, "editor-paste", _("Paste"), sigc::mem_fun(*this, &Editor::keyboard_paste));
+ reg_sens (editor_actions, "editor-fade-range", _("Fade Range Selection"), sigc::mem_fun(*this, &Editor::fade_range));
+
reg_sens (editor_actions, "set-tempo-from-edit-range", _("Set Tempo from Edit Range = Bar"), sigc::mem_fun(*this, &Editor::use_range_as_bar));
toggle_reg_sens (editor_actions, "toggle-log-window", _("Log"),
sigc::mem_fun (ARDOUR_UI::instance(), &ARDOUR_UI::toggle_errors));
- reg_sens (editor_actions, "tab-to-transient-forwards", _("Move Later to Transient"), sigc::bind (sigc::mem_fun(*this, &Editor::tab_to_transient), true));
- reg_sens (editor_actions, "tab-to-transient-backwards", _("Move Earlier to Transient"), sigc::bind (sigc::mem_fun(*this, &Editor::tab_to_transient), false));
+ reg_sens (editor_actions, "alternate-tab-to-transient-forwards", _("Move to Next Transient"), sigc::bind (sigc::mem_fun(*this, &Editor::tab_to_transient), true));
+ reg_sens (editor_actions, "alternate-tab-to-transient-backwards", _("Move to Previous Transient"), sigc::bind (sigc::mem_fun(*this, &Editor::tab_to_transient), false));
+ reg_sens (editor_actions, "tab-to-transient-forwards", _("Move to Next Transient"), sigc::bind (sigc::mem_fun(*this, &Editor::tab_to_transient), true));
+ reg_sens (editor_actions, "tab-to-transient-backwards", _("Move to Previous Transient"), sigc::bind (sigc::mem_fun(*this, &Editor::tab_to_transient), false));
reg_sens (editor_actions, "crop", _("Crop"), sigc::mem_fun(*this, &Editor::crop_region_to_selection));
reg_sens (editor_actions, "start-range", _("Start Range"), sigc::mem_fun(*this, &Editor::keyboard_selection_begin));
reg_sens (editor_actions, "finish-range", _("Finish Range"), sigc::bind (sigc::mem_fun(*this, &Editor::keyboard_selection_finish), false));
- reg_sens (editor_actions, "finish-add-range", _("Finish Add Range"), sigc::bind (sigc::mem_fun(*this, &Editor::keyboard_selection_finish), true));
+
+ reg_sens (editor_actions, "alt-start-range", _("Start Range"), sigc::mem_fun(*this, &Editor::keyboard_selection_begin));
+ reg_sens (editor_actions, "alt-finish-range", _("Finish Range"), sigc::bind (sigc::mem_fun(*this, &Editor::keyboard_selection_finish), false));
+
+// reg_sens (editor_actions, "finish-add-range", _("Finish Add Range"), sigc::bind (sigc::mem_fun(*this, &Editor::keyboard_selection_finish), true));
reg_sens (
editor_actions,
@@ -371,7 +407,8 @@ Editor::register_actions ()
}
ActionManager::track_selection_sensitive_actions.push_back (act);
- reg_sens (editor_actions, "fit-tracks", _("Fit Selected Tracks"), sigc::mem_fun(*this, &Editor::fit_selected_tracks));
+ act = reg_sens (editor_actions, "fit-tracks", _("Fit Selected Tracks"), sigc::mem_fun(*this, &Editor::fit_selected_tracks));
+ ActionManager::track_selection_sensitive_actions.push_back (act);
act = reg_sens (editor_actions, "track-height-largest", _("Largest"), sigc::bind (
sigc::mem_fun(*this, &Editor::set_track_height), HeightLargest));
@@ -411,72 +448,72 @@ Editor::register_actions ()
smart_mode_action = Glib::RefPtr<ToggleAction>::cast_static (act);
smart_mode_button.set_related_action (smart_mode_action);
smart_mode_button.set_text (_("Smart"));
- smart_mode_button.add_elements ( ArdourButton::FlatFace );
smart_mode_button.set_name ("mouse mode button");
act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-object", _("Object Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseObject));
mouse_move_button.set_related_action (act);
mouse_move_button.set_image (::get_icon("tool_object"));
- mouse_move_button.add_elements ( ArdourButton::FlatFace );
mouse_move_button.set_name ("mouse mode button");
act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-range", _("Range Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseRange));
mouse_select_button.set_related_action (act);
mouse_select_button.set_image (::get_icon("tool_range"));
- mouse_select_button.add_elements ( ArdourButton::FlatFace );
mouse_select_button.set_name ("mouse mode button");
act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-draw", _("Note Drawing Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseDraw));
mouse_draw_button.set_related_action (act);
mouse_draw_button.set_image (::get_icon("midi_tool_pencil"));
- mouse_draw_button.add_elements ( ArdourButton::FlatFace );
mouse_draw_button.set_name ("mouse mode button");
act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-gain", _("Gain Tool"), sigc::bind (mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseGain));
mouse_gain_button.set_related_action (act);
mouse_gain_button.set_image (::get_icon("tool_gain"));
- mouse_gain_button.add_elements ( ArdourButton::FlatFace );
mouse_gain_button.set_name ("mouse mode button");
- act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-zoom", _("Zoom Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseZoom));
- mouse_zoom_button.set_related_action (act);
- mouse_zoom_button.set_image (::get_icon("tool_zoom"));
- mouse_zoom_button.add_elements ( ArdourButton::FlatFace );
- mouse_zoom_button.set_name ("mouse mode button");
-
+ if(!Profile->get_mixbus()) {
+ act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-zoom", _("Zoom Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseZoom));
+ mouse_zoom_button.set_related_action (act);
+ mouse_zoom_button.set_image (::get_icon("tool_zoom"));
+ mouse_zoom_button.set_name ("mouse mode button");
+ }
+
act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-audition", _("Audition Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseAudition));
mouse_audition_button.set_related_action (act);
mouse_audition_button.set_image (::get_icon("tool_audition"));
- mouse_audition_button.add_elements ( ArdourButton::FlatFace );
mouse_audition_button.set_name ("mouse mode button");
act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-timefx", _("Time FX Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseTimeFX));
mouse_timefx_button.set_related_action (act);
mouse_timefx_button.set_image (::get_icon("tool_stretch"));
- mouse_timefx_button.add_elements ( ArdourButton::FlatFace );
mouse_timefx_button.set_name ("mouse mode button");
+ if(!Profile->get_mixbus()) {
+ act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-cut", _("Cut Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseCut));
+ mouse_cut_button.set_related_action (act);
+ mouse_cut_button.set_image (::get_icon("tool_cut"));
+ mouse_cut_button.set_name ("mouse mode button");
+ }
+
ActionManager::register_action (editor_actions, "step-mouse-mode", _("Step Mouse Mode"), sigc::bind (sigc::mem_fun(*this, &Editor::step_mouse_mode), true));
act = ActionManager::register_toggle_action (mouse_mode_actions, "toggle-internal-edit", _("Edit MIDI"), sigc::mem_fun(*this, &Editor::toggle_internal_editing));
internal_edit_button.set_related_action (act);
internal_edit_button.set_image (::get_icon("tool_note"));
- internal_edit_button.add_elements ( ArdourButton::FlatFace );
internal_edit_button.set_name ("mouse mode button");
RadioAction::Group edit_point_group;
ActionManager::register_radio_action (editor_actions, edit_point_group, X_("edit-at-playhead"), _("Playhead"), (sigc::bind (sigc::mem_fun(*this, &Editor::edit_point_chosen), Editing::EditAtPlayhead)));
- ActionManager::register_radio_action (editor_actions, edit_point_group, X_("edit-at-mouse"), _("Mouse"), (sigc::bind (sigc::mem_fun(*this, &Editor::edit_point_chosen), Editing::EditAtPlayhead)));
- ActionManager::register_radio_action (editor_actions, edit_point_group, X_("edit-at-selected-marker"), _("Marker"), (sigc::bind (sigc::mem_fun(*this, &Editor::edit_point_chosen), Editing::EditAtPlayhead)));
+ ActionManager::register_radio_action (editor_actions, edit_point_group, X_("edit-at-mouse"), _("Mouse"), (sigc::bind (sigc::mem_fun(*this, &Editor::edit_point_chosen), Editing::EditAtMouse)));
+ ActionManager::register_radio_action (editor_actions, edit_point_group, X_("edit-at-selected-marker"), _("Marker"), (sigc::bind (sigc::mem_fun(*this, &Editor::edit_point_chosen), Editing::EditAtSelectedMarker)));
ActionManager::register_action (editor_actions, "cycle-edit-point", _("Change Edit Point"), sigc::bind (sigc::mem_fun (*this, &Editor::cycle_edit_point), false));
ActionManager::register_action (editor_actions, "cycle-edit-point-with-marker", _("Change Edit Point Including Marker"), sigc::bind (sigc::mem_fun (*this, &Editor::cycle_edit_point), true));
- if (!Profile->get_sae()) {
- ActionManager::register_action (editor_actions, "set-edit-splice", _("Splice"), sigc::bind (sigc::mem_fun (*this, &Editor::set_edit_mode), Splice));
- }
+
+// ActionManager::register_action (editor_actions, "set-edit-splice", _("Splice"), sigc::bind (sigc::mem_fun (*this, &Editor::set_edit_mode), Splice));
+ ActionManager::register_action (editor_actions, "set-edit-ripple", _("Ripple"), bind (mem_fun (*this, &Editor::set_edit_mode), Ripple));
ActionManager::register_action (editor_actions, "set-edit-slide", _("Slide"), sigc::bind (sigc::mem_fun (*this, &Editor::set_edit_mode), Slide));
ActionManager::register_action (editor_actions, "set-edit-lock", _("Lock"), sigc::bind (sigc::mem_fun (*this, &Editor::set_edit_mode), Lock));
- ActionManager::register_action (editor_actions, "toggle-edit-mode", _("Toggle Edit Mode"), sigc::mem_fun (*this, &Editor::cycle_edit_mode));
+ ActionManager::register_action (editor_actions, "cycle-edit-mode", _("Cycle Edit Mode"), sigc::mem_fun (*this, &Editor::cycle_edit_mode));
ActionManager::register_action (editor_actions, X_("SnapTo"), _("Snap to"));
ActionManager::register_action (editor_actions, X_("SnapMode"), _("Snap Mode"));
@@ -560,12 +597,30 @@ Editor::register_actions ()
/* set defaults here */
no_ruler_shown_update = true;
- ruler_meter_action->set_active (true);
- ruler_tempo_action->set_active (true);
- ruler_marker_action->set_active (true);
- ruler_range_action->set_active (true);
- ruler_loop_punch_action->set_active (true);
- ruler_loop_punch_action->set_active (true);
+
+ if (Profile->get_trx()) {
+ ruler_marker_action->set_active (true);
+ ruler_meter_action->set_active (false);
+ ruler_tempo_action->set_active (false);
+ ruler_range_action->set_active (false);
+ ruler_loop_punch_action->set_active (false);
+ ruler_loop_punch_action->set_active (false);
+ ruler_bbt_action->set_active (true);
+ ruler_cd_marker_action->set_active (false);
+ ruler_timecode_action->set_active (false);
+ ruler_minsec_action->set_active (true);
+ } else {
+ ruler_marker_action->set_active (true);
+ ruler_meter_action->set_active (true);
+ ruler_tempo_action->set_active (true);
+ ruler_range_action->set_active (true);
+ ruler_loop_punch_action->set_active (true);
+ ruler_loop_punch_action->set_active (true);
+ ruler_bbt_action->set_active (false);
+ ruler_cd_marker_action->set_active (true);
+ ruler_timecode_action->set_active (true);
+ ruler_minsec_action->set_active (false);
+ }
ruler_video_action->set_active (false);
xjadeo_proc_action->set_active (false);
@@ -584,17 +639,6 @@ Editor::register_actions ()
xjadeo_letterbox_action->set_sensitive (false);
xjadeo_zoom_100->set_sensitive (false);
- if (Profile->get_sae()) {
- ruler_bbt_action->set_active (true);
- ruler_cd_marker_action->set_active (false);
- ruler_timecode_action->set_active (false);
- ruler_minsec_action->set_active (true);
- } else {
- ruler_bbt_action->set_active (false);
- ruler_cd_marker_action->set_active (true);
- ruler_timecode_action->set_active (true);
- ruler_minsec_action->set_active (false);
- }
ruler_samples_action->set_active (false);
no_ruler_shown_update = false;
@@ -658,6 +702,10 @@ Editor::register_actions ()
act = ActionManager::register_action (editor_actions, X_("importFromSession"), _("Import From Session"), sigc::mem_fun(*this, &Editor::session_import_dialog));
ActionManager::write_sensitive_actions.push_back (act);
+
+ act = ActionManager::register_action (editor_actions, X_("bring-into-session"), _("Bring all media into session folder"), sigc::mem_fun(*this, &Editor::bring_all_sources_into_session));
+ ActionManager::write_sensitive_actions.push_back (act);
+
ActionManager::register_toggle_action (editor_actions, X_("ToggleSummary"), _("Show Summary"), sigc::mem_fun (*this, &Editor::set_summary));
ActionManager::register_toggle_action (editor_actions, X_("ToggleGroupTabs"), _("Show Group Tabs"), sigc::mem_fun (*this, &Editor::set_group_tabs));
@@ -691,7 +739,7 @@ Editor::load_bindings ()
std::string binding_file;
- if (find_file_in_search_path (ardour_config_search_path(), "editor.bindings", binding_file)) {
+ if (find_file (ardour_config_search_path(), "editor.bindings", binding_file)) {
key_bindings.load (binding_file);
info << string_compose (_("Loaded editor bindings from %1"), binding_file) << endmsg;
} else {
@@ -700,6 +748,20 @@ Editor::load_bindings ()
}
void
+Editor::toggle_skip_playback ()
+{
+ Glib::RefPtr<Action> act = ActionManager::get_action (X_("Editor"), "toggle-skip-playback");
+
+ if (act) {
+ Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act);
+ bool s = Config->get_skip_playback ();
+ if (tact->get_active() != s) {
+ Config->set_skip_playback (tact->get_active());
+ }
+ }
+}
+
+void
Editor::toggle_ruler_visibility (RulerType rt)
{
const char* action = 0;
@@ -1597,17 +1659,17 @@ Editor::parameter_changed (std::string p)
ENSURE_GUI_THREAD (*this, &Editor::parameter_changed, p)
if (p == "auto-loop") {
- update_loop_range_view (true);
+ update_loop_range_view ();
} else if (p == "punch-in") {
- update_punch_range_view (true);
+ update_punch_range_view ();
} else if (p == "punch-out") {
- update_punch_range_view (true);
+ update_punch_range_view ();
} else if (p == "timecode-format") {
update_just_timecode ();
} else if (p == "show-region-fades") {
update_region_fade_visibility ();
} else if (p == "edit-mode") {
- edit_mode_selector.set_active_text (edit_mode_to_string (Config->get_edit_mode()));
+ edit_mode_selector.set_text (edit_mode_to_string (Config->get_edit_mode()));
} else if (p == "show-track-meters") {
toggle_meter_updating();
} else if (p == "show-summary") {
@@ -1647,7 +1709,9 @@ Editor::parameter_changed (std::string p)
} else if (p == "timecode-offset" || p == "timecode-offset-negative") {
update_just_timecode ();
} else if (p == "show-zoom-tools") {
- _zoom_tearoff->set_visible (Config->get_show_zoom_tools(), true);
+ if (_zoom_tearoff) {
+ _zoom_tearoff->set_visible (Config->get_show_zoom_tools(), true);
+ }
} else if (p == "sound-midi-notes") {
Glib::RefPtr<Action> act = ActionManager::get_action (X_("Editor"), X_("sound-midi-notes"));
@@ -1673,13 +1737,23 @@ Editor::parameter_changed (std::string p)
} else {
Gtkmm2ext::disable_tooltips ();
}
+ } else if (p == "skip-playback") {
+ Glib::RefPtr<Action> act = ActionManager::get_action (X_("Editor"), X_("toggle-skip-playback"));
+
+ if (act) {
+ bool s = Config->get_skip_playback ();
+ Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
+ if (tact->get_active () != s) {
+ tact->set_active (s);
+ }
+ }
}
}
void
Editor::reset_focus ()
{
- track_canvas->grab_focus();
+ _track_canvas->grab_focus();
}
void
@@ -1846,7 +1920,10 @@ Editor::register_region_actions ()
);
reg_sens (_region_actions, "set-fade-in-length", _("Set Fade In Length"), sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_length), true));
+ reg_sens (_region_actions, "alternate-set-fade-in-length", _("Set Fade In Length"), sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_length), true));
reg_sens (_region_actions, "set-fade-out-length", _("Set Fade Out Length"), sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_length), false));
+ reg_sens (_region_actions, "alternate-set-fade-out-length", _("Set Fade Out Length"), sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_length), false));
+
reg_sens (_region_actions, "set-tempo-from-region", _("Set Tempo from Region = Bar"), sigc::mem_fun (*this, &Editor::set_tempo_from_region));
reg_sens (
@@ -1890,7 +1967,11 @@ Editor::register_region_actions ()
reg_sens (_region_actions, "set-selection-from-region", _("Set Range Selection"), sigc::mem_fun (*this, &Editor::set_selection_from_region));
reg_sens (_region_actions, "nudge-forward", _("Nudge Later"), sigc::bind (sigc::mem_fun (*this, &Editor::nudge_forward), false, false));
+ reg_sens (_region_actions, "alternate-nudge-forward", _("Nudge Later"), sigc::bind (sigc::mem_fun (*this, &Editor::nudge_forward), false, false));
reg_sens (_region_actions, "nudge-backward", _("Nudge Earlier"), sigc::bind (sigc::mem_fun (*this, &Editor::nudge_backward), false, false));
+ reg_sens (_region_actions, "alternate-nudge-backward", _("Nudge Earlier"), sigc::bind (sigc::mem_fun (*this, &Editor::nudge_backward), false, false));
+
+ reg_sens (_region_actions, "sequence-regions", _("Sequence Regions"), sigc::mem_fun (*this, &Editor::sequence_regions));
reg_sens (
_region_actions,
diff --git a/gtk2_ardour/editor_audio_import.cc b/gtk2_ardour/editor_audio_import.cc
index fb1e101f24..e5ac8c6c72 100644
--- a/gtk2_ardour/editor_audio_import.cc
+++ b/gtk2_ardour/editor_audio_import.cc
@@ -52,7 +52,6 @@
#include "audio_time_axis.h"
#include "midi_time_axis.h"
#include "session_import_dialog.h"
-#include "utils.h"
#include "gui_thread.h"
#include "interthread_progress_window.h"
#include "mouse_cursors.h"
@@ -528,8 +527,8 @@ Editor::embed_sndfiles (vector<string> paths, bool multifile,
SoundFileInfo finfo;
int ret = 0;
- set_canvas_cursor (_cursors->wait);
- gdk_flush ();
+ push_canvas_cursor (_cursors->wait);
+ gdk_flush ();
for (vector<string>::iterator p = paths.begin(); p != paths.end(); ++p) {
@@ -601,8 +600,6 @@ Editor::embed_sndfiles (vector<string> paths, bool multifile,
}
}
- set_canvas_cursor (_cursors->wait);
-
for (int n = 0; n < finfo.channels; ++n) {
try {
@@ -632,7 +629,7 @@ Editor::embed_sndfiles (vector<string> paths, bool multifile,
goto out;
}
- ARDOUR_UI::instance()->flush_pending ();
+ gtk_main_iteration();
}
}
@@ -644,7 +641,7 @@ Editor::embed_sndfiles (vector<string> paths, bool multifile,
ret = add_sources (paths, sources, pos, disposition, mode, target_regions, target_tracks, track, true);
out:
- set_canvas_cursor (current_canvas_cursor);
+ pop_canvas_cursor ();
return ret;
}
@@ -749,7 +746,12 @@ Editor::add_sources (vector<string> paths, SourceList& sources, framepos_t& pos,
region_name = (*x)->name();
}
- track_names.push_back (PBD::basename_nosuffix (paths[n]));
+ if (SMFSource::safe_midi_file_extension (paths.front())) {
+ string track_name = string_compose ("%1-t%2", PBD::basename_nosuffix (fs->path()), (n + 1));
+ track_names.push_back (track_name);
+ } else {
+ track_names.push_back (PBD::basename_nosuffix (paths[n]));
+ }
}
PropertyList plist;
@@ -896,6 +898,9 @@ Editor::finish_bringing_in_material (boost::shared_ptr<Region> region, uint32_t
boost::shared_ptr<Region> copy (RegionFactory::create (region, region->properties()));
playlist->clear_changes ();
playlist->add_region (copy, pos);
+ if (Config->get_edit_mode() == Ripple)
+ playlist->ripple (pos, copy->length(), copy);
+
_session->add_command (new StatefulDiffCommand (playlist));
break;
}
diff --git a/gtk2_ardour/editor_audiotrack.cc b/gtk2_ardour/editor_audiotrack.cc
index df88f7b65f..0d8313cc21 100644
--- a/gtk2_ardour/editor_audiotrack.cc
+++ b/gtk2_ardour/editor_audiotrack.cc
@@ -19,6 +19,8 @@
#include "ardour/rc_configuration.h"
+#include "canvas/canvas.h"
+
#include "ardour_ui.h"
#include "editor.h"
#include "editing.h"
@@ -67,12 +69,13 @@ Editor::stop_updating_meters ()
void
Editor::toggle_meter_updating()
{
+ DisplaySuspender ds;
if (Config->get_show_track_meters()) {
start_updating_meters ();
} else {
stop_updating_meters ();
}
- track_canvas_allocate (track_canvas->get_allocation());
+ track_canvas_viewport_allocate (_track_canvas->get_allocation());
}
diff --git a/gtk2_ardour/editor_canvas.cc b/gtk2_ardour/editor_canvas.cc
index 1a6dc863e1..074d72f4cd 100644
--- a/gtk2_ardour/editor_canvas.cc
+++ b/gtk2_ardour/editor_canvas.cc
@@ -21,27 +21,23 @@
#include "gtk2ardour-config.h"
#endif
-#include <libgnomecanvasmm/init.h>
-#include <libgnomecanvasmm/pixbuf.h>
-#include <jack/types.h>
-
#include "gtkmm2ext/utils.h"
#include "ardour/profile.h"
#include "ardour/rc_configuration.h"
#include "ardour/smf_source.h"
+#include "canvas/canvas.h"
+#include "canvas/rectangle.h"
+#include "canvas/pixbuf.h"
+#include "canvas/scroll_group.h"
+#include "canvas/text.h"
+#include "canvas/debug.h"
+
#include "ardour_ui.h"
+#include "automation_time_axis.h"
#include "editor.h"
#include "global_signals.h"
-#include "waveview.h"
-#include "simplerect.h"
-#include "simpleline.h"
-#include "waveview_p.h"
-#include "simplerect_p.h"
-#include "simpleline_p.h"
-#include "canvas_impl.h"
-#include "canvas-noevent-text.h"
#include "editing.h"
#include "rgb_macros.h"
#include "utils.h"
@@ -60,63 +56,41 @@
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtk;
using namespace Glib;
using namespace Gtkmm2ext;
using namespace Editing;
-/* XXX this is a hack. it ought to be the maximum value of an framepos_t */
-
-const double max_canvas_coordinate = (double) JACK_MAX_FRAMES;
-
-extern "C"
-{
-
-GType gnome_canvas_simpleline_get_type(void);
-GType gnome_canvas_simplerect_get_type(void);
-GType gnome_canvas_waveview_get_type(void);
-GType gnome_canvas_imageframe_get_type(void);
-
-}
-
-static void ardour_canvas_type_init()
-{
- // Map gtypes to gtkmm wrapper-creation functions:
-
- Glib::wrap_register(gnome_canvas_simpleline_get_type(), &Gnome::Canvas::SimpleLine_Class::wrap_new);
- Glib::wrap_register(gnome_canvas_simplerect_get_type(), &Gnome::Canvas::SimpleRect_Class::wrap_new);
- Glib::wrap_register(gnome_canvas_waveview_get_type(), &Gnome::Canvas::WaveView_Class::wrap_new);
-
- // Register the gtkmm gtypes:
-
- (void) Gnome::Canvas::WaveView::get_type();
- (void) Gnome::Canvas::SimpleLine::get_type();
- (void) Gnome::Canvas::SimpleRect::get_type();
-}
-
void
Editor::initialize_canvas ()
{
- if (getenv ("ARDOUR_NON_AA_CANVAS")) {
- track_canvas = new ArdourCanvas::Canvas ();
- } else {
- track_canvas = new ArdourCanvas::CanvasAA ();
- }
+ _track_canvas_viewport = new ArdourCanvas::GtkCanvasViewport (horizontal_adjustment, vertical_adjustment);
+ _track_canvas = _track_canvas_viewport->canvas ();
- track_canvas->set_can_default (true);
- set_default (*track_canvas);
+ /* scroll group for items that should not automatically scroll
+ * (e.g verbose cursor). It shares the canvas coordinate space.
+ */
+ no_scroll_group = new ArdourCanvas::Container (_track_canvas->root());
- ArdourCanvas::init ();
- ardour_canvas_type_init ();
+ ArdourCanvas::ScrollGroup* hsg;
+ ArdourCanvas::ScrollGroup* hg;
+ ArdourCanvas::ScrollGroup* vg;
- /* don't try to center the canvas */
+ hv_scroll_group = hsg = new ArdourCanvas::ScrollGroup (_track_canvas->root(),
+ ArdourCanvas::ScrollGroup::ScrollSensitivity (ArdourCanvas::ScrollGroup::ScrollsVertically|
+ ArdourCanvas::ScrollGroup::ScrollsHorizontally));
+ CANVAS_DEBUG_NAME (hv_scroll_group, "canvas hv scroll");
+ _track_canvas->add_scroller (*hsg);
- track_canvas->set_center_scroll_region (false);
- track_canvas->set_dither (Gdk::RGB_DITHER_NONE);
+ v_scroll_group = vg = new ArdourCanvas::ScrollGroup (_track_canvas->root(), ArdourCanvas::ScrollGroup::ScrollsVertically);
+ CANVAS_DEBUG_NAME (v_scroll_group, "canvas v scroll");
+ _track_canvas->add_scroller (*vg);
- gint phys_width = physical_screen_width (Glib::RefPtr<Gdk::Window>());
- gint phys_height = physical_screen_height (Glib::RefPtr<Gdk::Window>());
+ h_scroll_group = hg = new ArdourCanvas::ScrollGroup (_track_canvas->root(), ArdourCanvas::ScrollGroup::ScrollsHorizontally);
+ CANVAS_DEBUG_NAME (h_scroll_group, "canvas h scroll");
+ _track_canvas->add_scroller (*hg);
_verbose_cursor = new VerboseCursor (this);
@@ -124,155 +98,164 @@ Editor::initialize_canvas ()
if (Profile->get_sae()) {
Image img (::get_icon (X_("saelogo")));
- logo_item = new ArdourCanvas::Pixbuf (*track_canvas->root(), 0.0, 0.0, img.get_pixbuf());
+ // logo_item = new ArdourCanvas::Pixbuf (_track_canvas->root(), 0.0, 0.0, img.get_pixbuf());
// logo_item->property_height_in_pixels() = true;
// logo_item->property_width_in_pixels() = true;
// logo_item->property_height_set() = true;
// logo_item->property_width_set() = true;
- logo_item->show ();
+ // logo_item->show ();
}
- /* a group to hold time (measure) lines */
- time_line_group = new ArdourCanvas::Group (*track_canvas->root());
+ /*a group to hold global rects like punch/loop indicators */
+ global_rect_group = new ArdourCanvas::Container (hv_scroll_group);
+ CANVAS_DEBUG_NAME (global_rect_group, "global rect group");
-#ifdef GTKOSX
- /*XXX please don't laugh. this actually improves canvas performance on osx */
- bogus_background_rect = new ArdourCanvas::SimpleRect (*time_line_group, 0.0, 0.0, max_canvas_coordinate/3, phys_height);
- bogus_background_rect->property_outline_pixels() = 0;
-#endif
- transport_loop_range_rect = new ArdourCanvas::SimpleRect (*time_line_group, 0.0, 0.0, 0.0, phys_height);
- transport_loop_range_rect->property_outline_pixels() = 1;
+ transport_loop_range_rect = new ArdourCanvas::Rectangle (global_rect_group, ArdourCanvas::Rect (0.0, 0.0, 0.0, ArdourCanvas::COORD_MAX));
+ CANVAS_DEBUG_NAME (transport_loop_range_rect, "loop rect");
transport_loop_range_rect->hide();
- transport_punch_range_rect = new ArdourCanvas::SimpleRect (*time_line_group, 0.0, 0.0, 0.0, phys_height);
- transport_punch_range_rect->property_outline_pixels() = 0;
+ transport_punch_range_rect = new ArdourCanvas::Rectangle (global_rect_group, ArdourCanvas::Rect (0.0, 0.0, 0.0, ArdourCanvas::COORD_MAX));
+ CANVAS_DEBUG_NAME (transport_punch_range_rect, "punch rect");
transport_punch_range_rect->hide();
- _background_group = new ArdourCanvas::Group (*track_canvas->root());
- _master_group = new ArdourCanvas::Group (*track_canvas->root());
+ /*a group to hold time (measure) lines */
+ time_line_group = new ArdourCanvas::Container (hv_scroll_group);
+ CANVAS_DEBUG_NAME (time_line_group, "time line group");
- _trackview_group = new ArdourCanvas::Group (*_master_group);
- _region_motion_group = new ArdourCanvas::Group (*_trackview_group);
-
- meter_bar_group = new ArdourCanvas::Group (*track_canvas->root ());
- meter_bar = new ArdourCanvas::SimpleRect (*meter_bar_group, 0.0, 0.0, phys_width, timebar_height - 1);
- meter_bar->property_outline_pixels() = 1;
- meter_bar->property_outline_what() = 0x8;
-
- tempo_bar_group = new ArdourCanvas::Group (*track_canvas->root ());
- tempo_bar = new ArdourCanvas::SimpleRect (*tempo_bar_group, 0.0, 0.0, phys_width, (timebar_height - 1));
- tempo_bar->property_outline_pixels() = 1;
- tempo_bar->property_outline_what() = 0x8;
-
- range_marker_bar_group = new ArdourCanvas::Group (*track_canvas->root ());
- range_marker_bar = new ArdourCanvas::SimpleRect (*range_marker_bar_group, 0.0, 0.0, phys_width, (timebar_height - 1));
- range_marker_bar->property_outline_pixels() = 1;
- range_marker_bar->property_outline_what() = 0x8;
-
- transport_marker_bar_group = new ArdourCanvas::Group (*track_canvas->root ());
- transport_marker_bar = new ArdourCanvas::SimpleRect (*transport_marker_bar_group, 0.0, 0.0, phys_width, (timebar_height - 1));
- transport_marker_bar->property_outline_pixels() = 1;
- transport_marker_bar->property_outline_what() = 0x8;
-
- marker_bar_group = new ArdourCanvas::Group (*track_canvas->root ());
- marker_bar = new ArdourCanvas::SimpleRect (*marker_bar_group, 0.0, 0.0, phys_width, (timebar_height - 1));
- marker_bar->property_outline_pixels() = 1;
- marker_bar->property_outline_what() = 0x8;
-
- cd_marker_bar_group = new ArdourCanvas::Group (*track_canvas->root ());
- cd_marker_bar = new ArdourCanvas::SimpleRect (*cd_marker_bar_group, 0.0, 0.0, phys_width, (timebar_height - 1));
- cd_marker_bar->property_outline_pixels() = 1;
- cd_marker_bar->property_outline_what() = 0x8;
+ _trackview_group = new ArdourCanvas::Container (hv_scroll_group);
+ CANVAS_DEBUG_NAME (_trackview_group, "Canvas TrackViews");
+
+ // used to show zoom mode active zooming
+ zoom_rect = new ArdourCanvas::Rectangle (hv_scroll_group, ArdourCanvas::Rect (0.0, 0.0, 0.0, 0.0));
+ zoom_rect->hide();
+ zoom_rect->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_zoom_rect_event), (ArdourCanvas::Item*) 0));
- videotl_bar_group = new ArdourCanvas::Group (*track_canvas->root ());
- if (Profile->get_sae()) {
- videotl_bar = new ArdourCanvas::SimpleRect (*videotl_bar_group, 0.0, 0.0, phys_width, (timebar_height * videotl_bar_height - 1));
- videotl_bar->property_outline_pixels() = 1;
- } else {
- videotl_bar = new ArdourCanvas::SimpleRect (*videotl_bar_group, 0.0, 0.0, phys_width, (timebar_height * videotl_bar_height));
- videotl_bar->property_outline_pixels() = 0;
- }
- videotl_bar->property_outline_what() = (0x1 | 0x8);
- ARDOUR_UI::instance()->video_timeline = new VideoTimeLine(this, videotl_bar_group, (timebar_height * videotl_bar_height));
+ // used as rubberband rect
+ rubberband_rect = new ArdourCanvas::Rectangle (hv_scroll_group, ArdourCanvas::Rect (0.0, 0.0, 0.0, 0.0));
+ rubberband_rect->hide();
- timebar_group = new ArdourCanvas::Group (*track_canvas->root(), 0.0, 0.0);
- cursor_group = new ArdourCanvas::Group (*track_canvas->root(), 0.0, 0.0);
+ /* a group to hold stuff while it gets dragged around. Must be the
+ * uppermost (last) group with hv_scroll_group as a parent
+ */
+ _drag_motion_group = new ArdourCanvas::Container (hv_scroll_group);
+ CANVAS_DEBUG_NAME (_drag_motion_group, "Canvas Drag Motion");
- meter_group = new ArdourCanvas::Group (*timebar_group, 0.0, timebar_height * 5.0);
- tempo_group = new ArdourCanvas::Group (*timebar_group, 0.0, timebar_height * 4.0);
- range_marker_group = new ArdourCanvas::Group (*timebar_group, 0.0, timebar_height * 3.0);
- transport_marker_group = new ArdourCanvas::Group (*timebar_group, 0.0, timebar_height * 2.0);
- marker_group = new ArdourCanvas::Group (*timebar_group, 0.0, timebar_height);
- cd_marker_group = new ArdourCanvas::Group (*timebar_group, 0.0, 0.0);
- videotl_group = new ArdourCanvas::Group (*timebar_group, 0.0, 0.0);
+ /* TIME BAR CANVAS */
+
+ _time_markers_group = new ArdourCanvas::Container (h_scroll_group);
+ CANVAS_DEBUG_NAME (_time_markers_group, "time bars");
- cd_marker_bar_drag_rect = new ArdourCanvas::SimpleRect (*cd_marker_group, 0.0, 0.0, 100, timebar_height);
- cd_marker_bar_drag_rect->property_outline_pixels() = 0;
+ cd_marker_group = new ArdourCanvas::Container (_time_markers_group, ArdourCanvas::Duple (0.0, 0.0));
+ CANVAS_DEBUG_NAME (cd_marker_group, "cd marker group");
+ /* the vide is temporarily placed a the same location as the
+ cd_marker_group, but is moved later.
+ */
+ videotl_group = new ArdourCanvas::Container (_time_markers_group, ArdourCanvas::Duple(0.0, 0.0));
+ CANVAS_DEBUG_NAME (videotl_group, "videotl group");
+ marker_group = new ArdourCanvas::Container (_time_markers_group, ArdourCanvas::Duple (0.0, timebar_height + 1.0));
+ CANVAS_DEBUG_NAME (marker_group, "marker group");
+ transport_marker_group = new ArdourCanvas::Container (_time_markers_group, ArdourCanvas::Duple (0.0, (timebar_height * 2.0) + 1.0));
+ CANVAS_DEBUG_NAME (transport_marker_group, "transport marker group");
+ range_marker_group = new ArdourCanvas::Container (_time_markers_group, ArdourCanvas::Duple (0.0, (timebar_height * 3.0) + 1.0));
+ CANVAS_DEBUG_NAME (range_marker_group, "range marker group");
+ tempo_group = new ArdourCanvas::Container (_time_markers_group, ArdourCanvas::Duple (0.0, (timebar_height * 4.0) + 1.0));
+ CANVAS_DEBUG_NAME (tempo_group, "tempo group");
+ meter_group = new ArdourCanvas::Container (_time_markers_group, ArdourCanvas::Duple (0.0, (timebar_height * 5.0) + 1.0));
+ CANVAS_DEBUG_NAME (meter_group, "meter group");
+
+ meter_bar = new ArdourCanvas::Rectangle (meter_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height));
+ CANVAS_DEBUG_NAME (meter_bar, "meter Bar");
+ meter_bar->set_outline_what (ArdourCanvas::Rectangle::BOTTOM);
+
+ tempo_bar = new ArdourCanvas::Rectangle (tempo_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height));
+ CANVAS_DEBUG_NAME (tempo_bar, "Tempo Bar");
+ tempo_bar->set_outline_what (ArdourCanvas::Rectangle::BOTTOM);
+
+ range_marker_bar = new ArdourCanvas::Rectangle (range_marker_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height));
+ CANVAS_DEBUG_NAME (range_marker_bar, "Range Marker Bar");
+ range_marker_bar->set_outline_what (ArdourCanvas::Rectangle::BOTTOM);
+
+ transport_marker_bar = new ArdourCanvas::Rectangle (transport_marker_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height));
+ CANVAS_DEBUG_NAME (transport_marker_bar, "transport Marker Bar");
+ transport_marker_bar->set_outline_what (ArdourCanvas::Rectangle::BOTTOM);
+
+ marker_bar = new ArdourCanvas::Rectangle (marker_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height));
+ CANVAS_DEBUG_NAME (marker_bar, "Marker Bar");
+ marker_bar->set_outline_what (ArdourCanvas::Rectangle::BOTTOM);
+
+ cd_marker_bar = new ArdourCanvas::Rectangle (cd_marker_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height));
+ CANVAS_DEBUG_NAME (cd_marker_bar, "CD Marker Bar");
+ cd_marker_bar->set_outline_what (ArdourCanvas::Rectangle::BOTTOM);
+
+ ARDOUR_UI::instance()->video_timeline = new VideoTimeLine(this, videotl_group, (timebar_height * videotl_bar_height));
+
+ cd_marker_bar_drag_rect = new ArdourCanvas::Rectangle (cd_marker_group, ArdourCanvas::Rect (0.0, 0.0, 100, timebar_height));
+ CANVAS_DEBUG_NAME (cd_marker_bar_drag_rect, "cd marker drag");
+ cd_marker_bar_drag_rect->set_outline (false);
cd_marker_bar_drag_rect->hide ();
- range_bar_drag_rect = new ArdourCanvas::SimpleRect (*range_marker_group, 0.0, 0.0, 100, timebar_height);
- range_bar_drag_rect->property_outline_pixels() = 0;
+ range_bar_drag_rect = new ArdourCanvas::Rectangle (range_marker_group, ArdourCanvas::Rect (0.0, 0.0, 100, timebar_height));
+ CANVAS_DEBUG_NAME (range_bar_drag_rect, "range drag");
+ range_bar_drag_rect->set_outline (false);
range_bar_drag_rect->hide ();
- transport_bar_drag_rect = new ArdourCanvas::SimpleRect (*transport_marker_group, 0.0, 0.0, 100, timebar_height);
- transport_bar_drag_rect->property_outline_pixels() = 0;
+ transport_bar_drag_rect = new ArdourCanvas::Rectangle (transport_marker_group, ArdourCanvas::Rect (0.0, 0.0, 100, timebar_height));
+ CANVAS_DEBUG_NAME (transport_bar_drag_rect, "transport drag");
+ transport_bar_drag_rect->set_outline (false);
transport_bar_drag_rect->hide ();
- transport_punchin_line = new ArdourCanvas::SimpleLine (*_master_group);
- transport_punchin_line->property_x1() = 0.0;
- transport_punchin_line->property_y1() = 0.0;
- transport_punchin_line->property_x2() = 0.0;
- transport_punchin_line->property_y2() = phys_height;
+ transport_punchin_line = new ArdourCanvas::Line (hv_scroll_group);
+ transport_punchin_line->set_x0 (0);
+ transport_punchin_line->set_y0 (0);
+ transport_punchin_line->set_x1 (0);
+ transport_punchin_line->set_y1 (ArdourCanvas::COORD_MAX);
transport_punchin_line->hide ();
- transport_punchout_line = new ArdourCanvas::SimpleLine (*_master_group);
- transport_punchout_line->property_x1() = 0.0;
- transport_punchout_line->property_y1() = 0.0;
- transport_punchout_line->property_x2() = 0.0;
- transport_punchout_line->property_y2() = phys_height;
+ transport_punchout_line = new ArdourCanvas::Line (hv_scroll_group);
+ transport_punchout_line->set_x0 (0);
+ transport_punchout_line->set_y0 (0);
+ transport_punchout_line->set_x1 (0);
+ transport_punchout_line->set_y1 (ArdourCanvas::COORD_MAX);
transport_punchout_line->hide();
- // used to show zoom mode active zooming
- zoom_rect = new ArdourCanvas::SimpleRect (*_master_group, 0.0, 0.0, 0.0, 0.0);
- zoom_rect->property_outline_pixels() = 1;
- zoom_rect->hide();
-
- zoom_rect->signal_event().connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_zoom_rect_event), (ArdourCanvas::Item*) 0));
-
- // used as rubberband rect
- rubberband_rect = new ArdourCanvas::SimpleRect (*_trackview_group, 0.0, 0.0, 0.0, 0.0);
-
- rubberband_rect->property_outline_pixels() = 1;
- rubberband_rect->hide();
-
- tempo_bar->signal_event().connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_tempo_bar_event), tempo_bar));
- meter_bar->signal_event().connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_meter_bar_event), meter_bar));
- marker_bar->signal_event().connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_marker_bar_event), marker_bar));
- cd_marker_bar->signal_event().connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_cd_marker_bar_event), cd_marker_bar));
- videotl_bar_group->signal_event().connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_videotl_bar_event), videotl_bar));
- range_marker_bar->signal_event().connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_range_marker_bar_event), range_marker_bar));
- transport_marker_bar->signal_event().connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_transport_marker_bar_event), transport_marker_bar));
+ tempo_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_tempo_bar_event), tempo_bar));
+ meter_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_meter_bar_event), meter_bar));
+ marker_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_marker_bar_event), marker_bar));
+ cd_marker_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_cd_marker_bar_event), cd_marker_bar));
+ videotl_group->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_videotl_bar_event), videotl_group));
+ range_marker_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_range_marker_bar_event), range_marker_bar));
+ transport_marker_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_transport_marker_bar_event), transport_marker_bar));
playhead_cursor = new EditorCursor (*this, &Editor::canvas_playhead_cursor_event);
if (logo_item) {
logo_item->lower_to_bottom ();
}
- /* need to handle 4 specific types of events as catch-alls */
- track_canvas->signal_scroll_event().connect (sigc::mem_fun (*this, &Editor::track_canvas_scroll_event));
- track_canvas->signal_motion_notify_event().connect (sigc::mem_fun (*this, &Editor::track_canvas_motion_notify_event));
- track_canvas->signal_button_press_event().connect (sigc::mem_fun (*this, &Editor::track_canvas_button_press_event));
- track_canvas->signal_button_release_event().connect (sigc::mem_fun (*this, &Editor::track_canvas_button_release_event));
- track_canvas->signal_drag_motion().connect (sigc::mem_fun (*this, &Editor::track_canvas_drag_motion));
- track_canvas->signal_key_press_event().connect (sigc::mem_fun (*this, &Editor::track_canvas_key_press));
- track_canvas->signal_key_release_event().connect (sigc::mem_fun (*this, &Editor::track_canvas_key_release));
- track_canvas->set_name ("EditorMainCanvas");
- track_canvas->add_events (Gdk::POINTER_MOTION_HINT_MASK | Gdk::SCROLL_MASK | Gdk::KEY_PRESS_MASK | Gdk::KEY_RELEASE_MASK);
- track_canvas->signal_leave_notify_event().connect (sigc::mem_fun(*this, &Editor::left_track_canvas), false);
- track_canvas->signal_enter_notify_event().connect (sigc::mem_fun(*this, &Editor::entered_track_canvas), false);
- track_canvas->set_flags (CAN_FOCUS);
+ _canvas_drop_zone = new ArdourCanvas::Rectangle (hv_scroll_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, 0.0));
+ /* this thing is transparent */
+ _canvas_drop_zone->set_fill (false);
+ _canvas_drop_zone->set_outline (false);
+ _canvas_drop_zone->Event.connect (sigc::mem_fun (*this, &Editor::canvas_drop_zone_event));
+
+ /* these signals will initially be delivered to the canvas itself, but if they end up remaining unhandled, they are passed to Editor-level
+ handlers.
+ */
+
+ _track_canvas->signal_scroll_event().connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_scroll_event), true));
+ _track_canvas->signal_motion_notify_event().connect (sigc::mem_fun (*this, &Editor::track_canvas_motion_notify_event));
+ _track_canvas->signal_button_press_event().connect (sigc::mem_fun (*this, &Editor::track_canvas_button_press_event));
+ _track_canvas->signal_button_release_event().connect (sigc::mem_fun (*this, &Editor::track_canvas_button_release_event));
+ _track_canvas->signal_drag_motion().connect (sigc::mem_fun (*this, &Editor::track_canvas_drag_motion));
+ _track_canvas->signal_key_press_event().connect (sigc::mem_fun (*this, &Editor::track_canvas_key_press));
+ _track_canvas->signal_key_release_event().connect (sigc::mem_fun (*this, &Editor::track_canvas_key_release));
+
+ _track_canvas->set_name ("EditorMainCanvas");
+ _track_canvas->add_events (Gdk::POINTER_MOTION_HINT_MASK | Gdk::SCROLL_MASK | Gdk::KEY_PRESS_MASK | Gdk::KEY_RELEASE_MASK);
+ _track_canvas->signal_leave_notify_event().connect (sigc::mem_fun(*this, &Editor::left_track_canvas), false);
+ _track_canvas->signal_enter_notify_event().connect (sigc::mem_fun(*this, &Editor::entered_track_canvas), false);
+ _track_canvas->set_flags (CAN_FOCUS);
/* set up drag-n-drop */
@@ -285,10 +268,12 @@ Editor::initialize_canvas ()
target_table.push_back (TargetEntry ("text/uri-list"));
target_table.push_back (TargetEntry ("application/x-rootwin-drop"));
- track_canvas->drag_dest_set (target_table);
- track_canvas->signal_drag_data_received().connect (sigc::mem_fun(*this, &Editor::track_canvas_drag_data_received));
+ _track_canvas->drag_dest_set (target_table);
+ _track_canvas->signal_drag_data_received().connect (sigc::mem_fun(*this, &Editor::track_canvas_drag_data_received));
+
+ _track_canvas_viewport->signal_size_allocate().connect (sigc::mem_fun(*this, &Editor::track_canvas_viewport_allocate));
- track_canvas->signal_size_allocate().connect (sigc::mem_fun(*this, &Editor::track_canvas_allocate));
+ initialize_rulers ();
ColorsChanged.connect (sigc::mem_fun (*this, &Editor::color_handler));
color_handler();
@@ -296,53 +281,45 @@ Editor::initialize_canvas ()
}
void
-Editor::track_canvas_allocate (Gtk::Allocation alloc)
+Editor::track_canvas_viewport_allocate (Gtk::Allocation alloc)
{
- canvas_allocation = alloc;
- track_canvas_size_allocated ();
+ _canvas_viewport_allocation = alloc;
+ track_canvas_viewport_size_allocated ();
}
-bool
-Editor::track_canvas_size_allocated ()
+void
+Editor::track_canvas_viewport_size_allocated ()
{
- bool height_changed = _canvas_height != canvas_allocation.get_height();
+ bool height_changed = _visible_canvas_height != _canvas_viewport_allocation.get_height();
- _canvas_width = canvas_allocation.get_width();
- _canvas_height = canvas_allocation.get_height();
+ _visible_canvas_width = _canvas_viewport_allocation.get_width ();
+ _visible_canvas_height = _canvas_viewport_allocation.get_height ();
- if (_session) {
- TrackViewList::iterator i;
+ _canvas_drop_zone->set_y1 (_canvas_drop_zone->y0() + (_visible_canvas_height - 20.0));
- for (i = track_views.begin(); i != track_views.end(); ++i) {
- (*i)->clip_to_viewport ();
- }
- }
+ // SHOWTRACKS
if (height_changed) {
- if (playhead_cursor) {
- playhead_cursor->set_length (_canvas_height);
- }
for (LocationMarkerMap::iterator i = location_markers.begin(); i != location_markers.end(); ++i) {
- i->second->canvas_height_set (_canvas_height);
+ i->second->canvas_height_set (_visible_canvas_height);
}
- vertical_adjustment.set_page_size (_canvas_height);
- last_trackview_group_vertical_offset = get_trackview_group_vertical_offset ();
- if ((vertical_adjustment.get_value() + _canvas_height) >= vertical_adjustment.get_upper()) {
+ vertical_adjustment.set_page_size (_visible_canvas_height);
+ if ((vertical_adjustment.get_value() + _visible_canvas_height) >= vertical_adjustment.get_upper()) {
/*
We're increasing the size of the canvas while the bottom is visible.
We scroll down to keep in step with the controls layout.
*/
- vertical_adjustment.set_value (full_canvas_height - _canvas_height);
+ vertical_adjustment.set_value (_full_canvas_height - _visible_canvas_height);
}
+
+ set_visible_track_count (_visible_track_count);
}
update_fixed_rulers();
redisplay_tempo (false);
_summary->set_overlays_dirty ();
-
- return false;
}
void
@@ -370,12 +347,24 @@ Editor::reset_controls_layout_width ()
void
Editor::reset_controls_layout_height (int32_t h)
{
+ /* ensure that the rect that represents the "bottom" of the canvas
+ * (the drag-n-drop zone) is, in fact, at the bottom.
+ */
+
+ _canvas_drop_zone->set_position (ArdourCanvas::Duple (0, h));
+
+ /* track controls layout must span the full height of "h" (all tracks)
+ * plus the bottom rect.
+ */
+
+ h += _canvas_drop_zone->height ();
+
/* set the height of the scrollable area (i.e. the sum of all contained widgets)
+ * for the controls layout. The size request is set elsewhere.
*/
controls_layout.property_height() = h;
- /* size request is set elsewhere, see ::track_canvas_allocate() */
}
bool
@@ -430,7 +419,7 @@ Editor::drop_paths_part_two (const vector<string>& paths, framepos_t frame, doub
}
- std::pair<TimeAxisView*, int> const tvp = trackview_by_y_position (ypos);
+ std::pair<TimeAxisView*, int> const tvp = trackview_by_y_position (ypos, false);
if (tvp.first == 0) {
/* drop onto canvas background: create new tracks */
@@ -473,22 +462,18 @@ Editor::drop_paths (const RefPtr<Gdk::DragContext>& context,
vector<string> paths;
GdkEvent ev;
framepos_t frame;
- double wx;
- double wy;
double cy;
if (convert_drop_to_paths (paths, context, x, y, data, info, time) == 0) {
- /* D-n-D coordinates are window-relative, so convert to "world" coordinates
+ /* D-n-D coordinates are window-relative, so convert to canvas coordinates
*/
- track_canvas->window_to_world (x, y, wx, wy);
-
ev.type = GDK_BUTTON_RELEASE;
- ev.button.x = wx;
- ev.button.y = wy;
+ ev.button.x = x;
+ ev.button.y = y;
- frame = event_frame (&ev, 0, &cy);
+ frame = window_event_sample (&ev, 0, &cy);
snap_to (frame);
@@ -507,255 +492,294 @@ Editor::drop_paths (const RefPtr<Gdk::DragContext>& context,
context->drag_finish (true, false, time);
}
-/** If the editor window is arranged such that the edge of the trackview is right up
- * against the edge of the screen, autoscroll will not work very well. In this situation,
- * we start autoscrolling some distance in from the right-hand-side of the screen edge;
- * this is the distance at which that happens.
- */
-int
-Editor::autoscroll_fudge_threshold () const
-{
- return current_page_frames() / 6;
-}
-
/** @param allow_horiz true to allow horizontal autoscroll, otherwise false.
+ *
* @param allow_vert true to allow vertical autoscroll, otherwise false.
- * @param moving_left true if we are moving left, so we only want to autoscroll on the left of the canvas,
- * otherwise false, so we only want to autoscroll on the right of the canvas.
- * @param moving_up true if we are moving up, so we only want to autoscroll at the top of the canvas,
- * otherwise false, so we only want to autoscroll at the bottom of the canvas.
+ *
*/
void
-Editor::maybe_autoscroll (bool allow_horiz, bool allow_vert, bool moving_left, bool moving_up)
+Editor::maybe_autoscroll (bool allow_horiz, bool allow_vert, bool from_headers)
{
- if (!Config->get_autoscroll_editor ()) {
+ if (!Config->get_autoscroll_editor () || autoscroll_active ()) {
return;
}
-
- bool startit = false;
- /* Work out the distance between the right hand edge of the trackview and the edge of
- the monitor that it is on.
- */
-
- Glib::RefPtr<Gdk::Window> gdk_window = get_window ();
- Gdk::Rectangle window_rect;
- gdk_window->get_frame_extents (window_rect);
-
- Glib::RefPtr<Gdk::Screen> screen = get_screen ();
- Gdk::Rectangle root_rect;
- screen->get_root_window()->get_frame_extents (root_rect);
+ /* define a rectangular boundary for scrolling. If the mouse moves
+ * outside of this area and/or continue to be outside of this area,
+ * then we will continuously auto-scroll the canvas in the appropriate
+ * direction(s)
+ *
+ * the boundary is defined in coordinates relative to the toplevel
+ * window since that is what we're going to call ::get_pointer() on
+ * during autoscrolling to determine if we're still outside the
+ * boundary or not.
+ */
- Gtk::Allocation editor_list = _the_notebook.get_allocation ();
+ ArdourCanvas::Rect scrolling_boundary;
+ Gtk::Allocation alloc;
- framecnt_t distance = pixel_to_frame (root_rect.get_x() + root_rect.get_width() - window_rect.get_x() - window_rect.get_width());
- if (_the_notebook.is_visible ()) {
- distance += pixel_to_frame (editor_list.get_width());
- }
+ if (from_headers) {
+ alloc = controls_layout.get_allocation ();
+ } else {
+ alloc = _track_canvas_viewport->get_allocation ();
- /* Note whether we're fudging the autoscroll (see autoscroll_fudge_threshold) */
- _autoscroll_fudging = (distance < autoscroll_fudge_threshold ());
+ /* reduce height by the height of the timebars, which happens
+ to correspond to the position of the hv_scroll_group.
+ */
+
+ alloc.set_height (alloc.get_height() - hv_scroll_group->position().y);
+ alloc.set_y (alloc.get_y() + hv_scroll_group->position().y);
- double const ty = _drags->current_pointer_y() - get_trackview_group_vertical_offset ();
+ /* now reduce it again so that we start autoscrolling before we
+ * move off the top or bottom of the canvas
+ */
- autoscroll_y = 0;
- autoscroll_x = 0;
- if (ty < canvas_timebars_vsize && moving_up && allow_vert) {
- autoscroll_y = -1;
- startit = true;
- } else if (ty > _canvas_height && !moving_up && allow_vert) {
- autoscroll_y = 1;
- startit = true;
- }
+ alloc.set_height (alloc.get_height() - 20);
+ alloc.set_y (alloc.get_y() + 10);
- framepos_t rightmost_frame = leftmost_frame + current_page_frames();
- if (_autoscroll_fudging) {
- rightmost_frame -= autoscroll_fudge_threshold ();
- }
+ /* the effective width of the autoscroll boundary so
+ that we start scrolling before we hit the edge.
+
+ this helps when the window is slammed up against the
+ right edge of the screen, making it hard to scroll
+ effectively.
+ */
+
+ if (alloc.get_width() > 20) {
+ alloc.set_width (alloc.get_width() - 20);
+ alloc.set_x (alloc.get_x() + 10);
+ }
- if (_drags->current_pointer_frame() > rightmost_frame && allow_horiz) {
- if (rightmost_frame < max_framepos && !moving_left) {
- autoscroll_x = 1;
- startit = true;
- }
- } else if (_drags->current_pointer_frame() < leftmost_frame && allow_horiz) {
- if (leftmost_frame > 0 && moving_left) {
- autoscroll_x = -1;
- startit = true;
- }
}
+
+ scrolling_boundary = ArdourCanvas::Rect (alloc.get_x(), alloc.get_y(), alloc.get_x() + alloc.get_width(), alloc.get_y() + alloc.get_height());
+
+ int x, y;
+ Gdk::ModifierType mask;
- if (autoscroll_active && ((autoscroll_x != last_autoscroll_x) || (autoscroll_y != last_autoscroll_y) || (autoscroll_x == 0 && autoscroll_y == 0))) {
- stop_canvas_autoscroll ();
- }
+ get_window()->get_pointer (x, y, mask);
- if (startit && autoscroll_timeout_tag < 0) {
- start_canvas_autoscroll (autoscroll_x, autoscroll_y);
+ if ((allow_horiz && ((x < scrolling_boundary.x0 && leftmost_frame > 0) || x >= scrolling_boundary.x1)) ||
+ (allow_vert && ((y < scrolling_boundary.y0 && vertical_adjustment.get_value() > 0)|| y >= scrolling_boundary.y1))) {
+ start_canvas_autoscroll (allow_horiz, allow_vert, scrolling_boundary);
}
-
- last_autoscroll_x = autoscroll_x;
- last_autoscroll_y = autoscroll_y;
}
-gint
-Editor::_autoscroll_canvas (void *arg)
+bool
+Editor::autoscroll_active () const
{
- return ((Editor *) arg)->autoscroll_canvas ();
+ return autoscroll_connection.connected ();
}
bool
Editor::autoscroll_canvas ()
{
- framepos_t new_frame;
- framepos_t limit = max_framepos - current_page_frames();
- GdkEventMotion ev;
- double new_pixel;
- double target_pixel;
-
- if (autoscroll_x_distance != 0) {
+ int x, y;
+ Gdk::ModifierType mask;
+ frameoffset_t dx = 0;
+ bool no_stop = false;
+
+ get_window()->get_pointer (x, y, mask);
+
+ VisualChange vc;
+ bool vertical_motion = false;
+ bool y_motion = false;
+
+ if (autoscroll_horizontal_allowed) {
+
+ framepos_t new_frame = leftmost_frame;
- if (autoscroll_x > 0) {
- autoscroll_x_distance = (_drags->current_pointer_frame() - (leftmost_frame + current_page_frames())) / 3;
- if (_autoscroll_fudging) {
- autoscroll_x_distance += autoscroll_fudge_threshold () / 3;
+ /* horizontal */
+
+ if (x > autoscroll_boundary.x1) {
+
+ /* bring it back into view */
+ dx = x - autoscroll_boundary.x1;
+ dx += 10 + (2 * (autoscroll_cnt/2));
+
+ dx = pixel_to_sample (dx);
+
+ if (leftmost_frame < max_framepos - dx) {
+ new_frame = leftmost_frame + dx;
+ } else {
+ new_frame = max_framepos;
}
- } else if (autoscroll_x < 0) {
- autoscroll_x_distance = (leftmost_frame - _drags->current_pointer_frame()) / 3;
- }
- }
+ no_stop = true;
- if (autoscroll_y_distance != 0) {
- if (autoscroll_y > 0) {
- autoscroll_y_distance = (_drags->current_pointer_y() - (get_trackview_group_vertical_offset() + _canvas_height)) / 3;
- } else if (autoscroll_y < 0) {
+ } else if (x < autoscroll_boundary.x0) {
+
+ dx = autoscroll_boundary.x0 - x;
+ dx += 10 + (2 * (autoscroll_cnt/2));
- autoscroll_y_distance = (vertical_adjustment.get_value () - _drags->current_pointer_y()) / 3;
- }
- }
+ dx = pixel_to_sample (dx);
- if (autoscroll_x < 0) {
- if (leftmost_frame < autoscroll_x_distance) {
- new_frame = 0;
- } else {
- new_frame = leftmost_frame - autoscroll_x_distance;
+ if (leftmost_frame >= dx) {
+ new_frame = leftmost_frame - dx;
+ } else {
+ new_frame = 0;
+ }
+
+ no_stop = true;
}
- } else if (autoscroll_x > 0) {
- if (leftmost_frame > limit - autoscroll_x_distance) {
- new_frame = limit;
- } else {
- new_frame = leftmost_frame + autoscroll_x_distance;
+
+ if (new_frame != leftmost_frame) {
+ vc.time_origin = new_frame;
+ vc.add (VisualChange::TimeOrigin);
}
- } else {
- new_frame = leftmost_frame;
}
- double vertical_pos = vertical_adjustment.get_value();
+ if (autoscroll_vertical_allowed) {
+
+ // const double vertical_pos = vertical_adjustment.get_value();
+ const int speed_factor = 10;
- if (autoscroll_y < 0) {
+ /* vertical */
+
+ if (y < autoscroll_boundary.y0) {
- if (vertical_pos < autoscroll_y_distance) {
- new_pixel = 0;
- } else {
- new_pixel = vertical_pos - autoscroll_y_distance;
+ /* scroll to make higher tracks visible */
+
+ if (autoscroll_cnt && (autoscroll_cnt % speed_factor == 0)) {
+ scroll_up_one_track ();
+ vertical_motion = true;
+ }
+
+ } else if (y > autoscroll_boundary.y1) {
+
+ if (autoscroll_cnt && (autoscroll_cnt % speed_factor == 0)) {
+ scroll_down_one_track ();
+ vertical_motion = true;
+ }
}
- target_pixel = _drags->current_pointer_y() - autoscroll_y_distance;
- target_pixel = max (target_pixel, 0.0);
+ no_stop = true;
+ }
- } else if (autoscroll_y > 0) {
+ if (vc.pending || vertical_motion) {
- double top_of_bottom_of_canvas = full_canvas_height - _canvas_height;
+ /* change horizontal first */
- if (vertical_pos > full_canvas_height - autoscroll_y_distance) {
- new_pixel = full_canvas_height;
- } else {
- new_pixel = vertical_pos + autoscroll_y_distance;
+ if (vc.pending) {
+ visual_changer (vc);
}
- new_pixel = min (top_of_bottom_of_canvas, new_pixel);
+ /* now send a motion event to notify anyone who cares
+ that we have moved to a new location (because we scrolled)
+ */
- target_pixel = _drags->current_pointer_y() + autoscroll_y_distance;
+ GdkEventMotion ev;
- /* don't move to the full canvas height because the item will be invisible
- (its top edge will line up with the bottom of the visible canvas.
- */
+ ev.type = GDK_MOTION_NOTIFY;
+ ev.state = Gdk::BUTTON1_MASK;
+
+ /* the motion handler expects events in canvas coordinate space */
- target_pixel = min (target_pixel, full_canvas_height - 10);
+ /* we asked for the mouse position above (::get_pointer()) via
+ * our own top level window (we being the Editor). Convert into
+ * coordinates within the canvas window.
+ */
- } else {
- target_pixel = _drags->current_pointer_y();
- new_pixel = vertical_pos;
- }
+ int cx;
+ int cy;
- if ((new_frame == 0 || new_frame == limit) && (new_pixel == 0 || new_pixel == DBL_MAX)) {
- /* we are done */
- return false;
- }
+ translate_coordinates (*_track_canvas, x, y, cx, cy);
- if (new_frame != leftmost_frame) {
- reset_x_origin (new_frame);
- }
+ /* clamp x and y to remain within the autoscroll boundary,
+ * which is defined in window coordinates
+ */
- vertical_adjustment.set_value (new_pixel);
+ x = min (max ((ArdourCanvas::Coord) cx, autoscroll_boundary.x0), autoscroll_boundary.x1);
+ y = min (max ((ArdourCanvas::Coord) cy, autoscroll_boundary.y0), autoscroll_boundary.y1);
- /* fake an event. */
+ /* now convert from Editor window coordinates to canvas
+ * window coordinates
+ */
- Glib::RefPtr<Gdk::Window> canvas_window = const_cast<Editor*>(this)->track_canvas->get_window();
- gint x, y;
- Gdk::ModifierType mask;
- canvas_window->get_pointer (x, y, mask);
- ev.type = GDK_MOTION_NOTIFY;
- ev.state = Gdk::BUTTON1_MASK;
- ev.x = x;
- ev.y = y;
+ ArdourCanvas::Duple d = _track_canvas->window_to_canvas (ArdourCanvas::Duple (cx, cy));
+ ev.x = d.x;
+ ev.y = d.y;
- motion_handler (0, (GdkEvent*) &ev, true);
+ motion_handler (0, (GdkEvent*) &ev, true);
+
+ } else if (no_stop) {
- autoscroll_cnt++;
+ /* not changing visual state but pointer is outside the scrolling boundary
+ * so we still need to deliver a fake motion event
+ */
- if (autoscroll_cnt == 1) {
+ GdkEventMotion ev;
- /* connect the timeout so that we get called repeatedly */
+ ev.type = GDK_MOTION_NOTIFY;
+ ev.state = Gdk::BUTTON1_MASK;
+
+ /* the motion handler expects events in canvas coordinate space */
- autoscroll_timeout_tag = g_idle_add ( _autoscroll_canvas, this);
- return false;
+ /* first convert from Editor window coordinates to canvas
+ * window coordinates
+ */
+
+ int cx;
+ int cy;
+ /* clamp x and y to remain within the visible area. except
+ * .. if horizontal scrolling is allowed, always allow us to
+ * move back to zero
+ */
+
+ if (autoscroll_horizontal_allowed) {
+ x = min (max ((ArdourCanvas::Coord) x, 0.0), autoscroll_boundary.x1);
+ } else {
+ x = min (max ((ArdourCanvas::Coord) x, autoscroll_boundary.x0), autoscroll_boundary.x1);
+ }
+ y = min (max ((ArdourCanvas::Coord) y, autoscroll_boundary.y0), autoscroll_boundary.y1);
+
+ translate_coordinates (*_track_canvas_viewport, x, y, cx, cy);
+
+ ArdourCanvas::Duple d = _track_canvas->window_to_canvas (ArdourCanvas::Duple (cx, cy));
+ ev.x = d.x;
+ ev.y = d.y;
+
+ motion_handler (0, (GdkEvent*) &ev, true);
+
+ } else {
+ stop_canvas_autoscroll ();
+ return false;
}
- return true;
-}
+ autoscroll_cnt++;
+
+ return true; /* call me again */
+}
void
-Editor::start_canvas_autoscroll (int dx, int dy)
+Editor::start_canvas_autoscroll (bool allow_horiz, bool allow_vert, const ArdourCanvas::Rect& boundary)
{
- if (!_session || autoscroll_active) {
+ if (!_session) {
return;
}
stop_canvas_autoscroll ();
- autoscroll_active = true;
- autoscroll_x = dx;
- autoscroll_y = dy;
- autoscroll_x_distance = (framepos_t) floor (current_page_frames()/50.0);
- autoscroll_y_distance = fabs (dy * 5); /* pixels */
autoscroll_cnt = 0;
+ autoscroll_horizontal_allowed = allow_horiz;
+ autoscroll_vertical_allowed = allow_vert;
+ autoscroll_boundary = boundary;
- /* do it right now, which will start the repeated callbacks */
+ /* do the first scroll right now
+ */
autoscroll_canvas ();
+
+ /* scroll again at very very roughly 30FPS */
+
+ autoscroll_connection = Glib::signal_timeout().connect (sigc::mem_fun (*this, &Editor::autoscroll_canvas), 30);
}
void
Editor::stop_canvas_autoscroll ()
{
- if (autoscroll_timeout_tag >= 0) {
- g_source_remove (autoscroll_timeout_tag);
- autoscroll_timeout_tag = -1;
- }
-
- autoscroll_active = false;
+ autoscroll_connection.disconnect ();
}
bool
@@ -763,7 +787,6 @@ Editor::left_track_canvas (GdkEventCrossing */*ev*/)
{
DropDownKeys ();
within_track_canvas = false;
- //cerr << "left track canvas\n";
set_entered_track (0);
set_entered_regionview (0);
reset_canvas_action_sensitivity (false);
@@ -773,37 +796,60 @@ Editor::left_track_canvas (GdkEventCrossing */*ev*/)
bool
Editor::entered_track_canvas (GdkEventCrossing */*ev*/)
{
- //cerr << "entered track canvas\n";
within_track_canvas = true;
reset_canvas_action_sensitivity (true);
return FALSE;
}
void
-Editor::ensure_time_axis_view_is_visible (const TimeAxisView& tav)
+Editor::ensure_time_axis_view_is_visible (TimeAxisView const & track, bool at_top)
{
- double begin = tav.y_position();
+ if (track.hidden()) {
+ return;
+ }
+
+ /* compute visible area of trackview group, as offsets from top of
+ * trackview group.
+ */
+
+ double const current_view_min_y = vertical_adjustment.get_value();
+ double const current_view_max_y = current_view_min_y + vertical_adjustment.get_page_size();
+
+ double const track_min_y = track.y_position ();
+ double const track_max_y = track.y_position () + track.effective_height ();
+
+ if (!at_top &&
+ (track_min_y >= current_view_min_y &&
+ track_max_y < current_view_max_y)) {
+ /* already visible, and caller did not ask to place it at the
+ * top of the track canvas
+ */
+ return;
+ }
- double v = vertical_adjustment.get_value ();
+ double new_value;
- if (begin < v || begin + tav.current_height() > v + _canvas_height - canvas_timebars_vsize) {
- /* try to put the TimeAxisView roughly central */
- if (begin >= _canvas_height/2.0) {
- begin -= _canvas_height/2.0;
+ if (at_top) {
+ new_value = track_min_y;
+ } else {
+ if (track_min_y < current_view_min_y) {
+ // Track is above the current view
+ new_value = track_min_y;
+ } else if (track_max_y > current_view_max_y) {
+ // Track is below the current view
+ new_value = track.y_position () + track.effective_height() - vertical_adjustment.get_page_size();
+ } else {
+ new_value = track_min_y;
}
- vertical_adjustment.set_value (begin);
}
+
+ vertical_adjustment.set_value(new_value);
}
+/** Called when the main vertical_adjustment has changed */
void
Editor::tie_vertical_scrolling ()
{
- scroll_canvas_vertically ();
-
- /* this will do an immediate redraw */
-
- controls_layout.get_vadjustment()->set_value (vertical_adjustment.get_value());
-
if (pending_visual_change.idle_handler_id < 0) {
_summary->set_overlays_dirty ();
}
@@ -812,18 +858,9 @@ Editor::tie_vertical_scrolling ()
void
Editor::set_horizontal_position (double p)
{
- /* horizontal scrolling only */
- double x1, y1, x2, y2, x_delta;
- _master_group->get_bounds (x1, y1, x2, y2);
-
- x_delta = - (x1 + p);
-
- _master_group->move (x_delta, 0);
- timebar_group->move (x_delta, 0);
- time_line_group->move (x_delta, 0);
- cursor_group->move (x_delta, 0);
+ horizontal_adjustment.set_value (p);
- leftmost_frame = (framepos_t) floor (p * frames_per_unit);
+ leftmost_frame = (framepos_t) floor (p * samples_per_pixel);
update_fixed_rulers ();
redisplay_tempo (true);
@@ -833,94 +870,71 @@ Editor::set_horizontal_position (double p)
}
update_video_timeline();
-
- HorizontalPositionChanged (); /* EMIT SIGNAL */
-
-#ifndef GTKOSX
- if (!autoscroll_active && !_stationary_playhead) {
- /* force rulers and canvas to move in lock step */
- while (gtk_events_pending ()) {
- gtk_main_iteration ();
- }
- }
-#endif
-}
-
-void
-Editor::scroll_canvas_vertically ()
-{
- /* vertical scrolling only */
-
- double y_delta;
-
- y_delta = last_trackview_group_vertical_offset - get_trackview_group_vertical_offset ();
- _trackview_group->move (0, y_delta);
- _background_group->move (0, y_delta);
-
- for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
- (*i)->clip_to_viewport ();
- }
- last_trackview_group_vertical_offset = get_trackview_group_vertical_offset ();
- /* required to keep the controls_layout in lock step with the canvas group */
- update_canvas_now ();
}
void
Editor::color_handler()
{
- playhead_cursor->canvas_item.property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_PlayHead.get();
- _verbose_cursor->set_color (ARDOUR_UI::config()->canvasvar_VerboseCanvasCursor.get());
-
- meter_bar->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_MeterBar.get();
- meter_bar->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get();
+ ArdourCanvas::Color base = ARDOUR_UI::config()->get_canvasvar_RulerBase();
+ ArdourCanvas::Color text = ARDOUR_UI::config()->get_canvasvar_RulerText();
+ timecode_ruler->set_fill_color (base);
+ timecode_ruler->set_outline_color (text);
+ minsec_ruler->set_fill_color (base);
+ minsec_ruler->set_outline_color (text);
+ samples_ruler->set_fill_color (base);
+ samples_ruler->set_outline_color (text);
+ bbt_ruler->set_fill_color (base);
+ bbt_ruler->set_outline_color (text);
+
+ playhead_cursor->set_color (ARDOUR_UI::config()->get_canvasvar_PlayHead());
- tempo_bar->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TempoBar.get();
- tempo_bar->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get();
+ meter_bar->set_fill_color (ARDOUR_UI::config()->get_canvasvar_MeterBar());
+ meter_bar->set_outline_color (ARDOUR_UI::config()->get_canvasvar_MarkerBarSeparator());
- marker_bar->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerBar.get();
- marker_bar->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get();
+ tempo_bar->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TempoBar());
+ tempo_bar->set_outline_color (ARDOUR_UI::config()->get_canvasvar_MarkerBarSeparator());
- cd_marker_bar->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_CDMarkerBar.get();
- cd_marker_bar->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get();
+ marker_bar->set_fill_color (ARDOUR_UI::config()->get_canvasvar_MarkerBar());
+ marker_bar->set_outline_color (ARDOUR_UI::config()->get_canvasvar_MarkerBarSeparator());
- videotl_bar->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_VideoBar.get();
- videotl_bar->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get();
+ cd_marker_bar->set_fill_color (ARDOUR_UI::config()->get_canvasvar_CDMarkerBar());
+ cd_marker_bar->set_outline_color (ARDOUR_UI::config()->get_canvasvar_MarkerBarSeparator());
- range_marker_bar->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_RangeMarkerBar.get();
- range_marker_bar->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get();
+ range_marker_bar->set_fill_color (ARDOUR_UI::config()->get_canvasvar_RangeMarkerBar());
+ range_marker_bar->set_outline_color (ARDOUR_UI::config()->get_canvasvar_MarkerBarSeparator());
- transport_marker_bar->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TransportMarkerBar.get();
- transport_marker_bar->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get();
+ transport_marker_bar->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TransportMarkerBar());
+ transport_marker_bar->set_outline_color (ARDOUR_UI::config()->get_canvasvar_MarkerBarSeparator());
- cd_marker_bar_drag_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_RangeDragBarRect.get();
- cd_marker_bar_drag_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_RangeDragBarRect.get();
+ cd_marker_bar_drag_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_RangeDragBarRect());
+ cd_marker_bar_drag_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_RangeDragBarRect());
- range_bar_drag_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_RangeDragBarRect.get();
- range_bar_drag_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_RangeDragBarRect.get();
+ range_bar_drag_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_RangeDragBarRect());
+ range_bar_drag_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_RangeDragBarRect());
- transport_bar_drag_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TransportDragRect.get();
- transport_bar_drag_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_TransportDragRect.get();
+ transport_bar_drag_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TransportDragRect());
+ transport_bar_drag_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_TransportDragRect());
- transport_loop_range_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TransportLoopRect.get();
- transport_loop_range_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_TransportLoopRect.get();
+ transport_loop_range_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TransportLoopRect());
+ transport_loop_range_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_TransportLoopRect());
- transport_punch_range_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TransportPunchRect.get();
- transport_punch_range_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_TransportPunchRect.get();
+ transport_punch_range_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TransportPunchRect());
+ transport_punch_range_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_TransportPunchRect());
- transport_punchin_line->property_color_rgba() = ARDOUR_UI::config()->canvasvar_PunchLine.get();
- transport_punchout_line->property_color_rgba() = ARDOUR_UI::config()->canvasvar_PunchLine.get();
+ transport_punchin_line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_PunchLine());
+ transport_punchout_line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_PunchLine());
- zoom_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_ZoomRect.get();
- zoom_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_ZoomRect.get();
+ zoom_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_ZoomRect());
+ zoom_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_ZoomRect());
- rubberband_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_RubberBandRect.get();
- rubberband_rect->property_fill_color_rgba() = (guint32) ARDOUR_UI::config()->canvasvar_RubberBandRect.get();
+ rubberband_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_RubberBandRect());
+ rubberband_rect->set_fill_color ((guint32) ARDOUR_UI::config()->get_canvasvar_RubberBandRect());
- location_marker_color = ARDOUR_UI::config()->canvasvar_LocationMarker.get();
- location_range_color = ARDOUR_UI::config()->canvasvar_LocationRange.get();
- location_cd_marker_color = ARDOUR_UI::config()->canvasvar_LocationCDMarker.get();
- location_loop_color = ARDOUR_UI::config()->canvasvar_LocationLoop.get();
- location_punch_color = ARDOUR_UI::config()->canvasvar_LocationPunch.get();
+ location_marker_color = ARDOUR_UI::config()->get_canvasvar_LocationMarker();
+ location_range_color = ARDOUR_UI::config()->get_canvasvar_LocationRange();
+ location_cd_marker_color = ARDOUR_UI::config()->get_canvasvar_LocationCDMarker();
+ location_loop_color = ARDOUR_UI::config()->get_canvasvar_LocationLoop();
+ location_punch_color = ARDOUR_UI::config()->get_canvasvar_LocationPunch();
refresh_location_display ();
/*
@@ -931,37 +945,56 @@ Editor::color_handler()
*/
}
-void
-Editor::flush_canvas ()
+double
+Editor::horizontal_position () const
+{
+ return sample_to_pixel (leftmost_frame);
+}
+
+bool
+Editor::track_canvas_key_press (GdkEventKey*)
{
- if (is_mapped()) {
- update_canvas_now ();
- // gdk_window_process_updates (GTK_LAYOUT(track_canvas->gobj())->bin_window, true);
+ /* XXX: event does not report the modifier key pressed down, AFAICS, so use the Keyboard object instead */
+ if (mouse_mode == Editing::MouseZoom && Keyboard::the_keyboard().key_is_down (GDK_Control_L)) {
+ set_canvas_cursor (_cursors->zoom_out, true);
}
+
+ return false;
}
-void
-Editor::update_canvas_now ()
+bool
+Editor::track_canvas_key_release (GdkEventKey*)
{
- /* GnomeCanvas has a bug whereby if its idle handler is not scheduled between
- two calls to update_now, an assert will trip. This wrapper works around
- that problem by only calling update_now if the assert will not trip.
+ if (mouse_mode == Editing::MouseZoom && !Keyboard::the_keyboard().key_is_down (GDK_Control_L)) {
+ set_canvas_cursor (_cursors->zoom_in, true);
+ }
- I think the GC bug is due to the fact that its code will reset need_update
- and need_redraw to FALSE without checking to see if an idle handler is scheduled.
- If one is scheduled, GC should probably remove it.
- */
+ return false;
+}
- GnomeCanvas* c = track_canvas->gobj ();
- if (c->need_update || c->need_redraw) {
- track_canvas->update_now ();
+double
+Editor::clamp_verbose_cursor_x (double x)
+{
+ if (x < 0) {
+ x = 0;
+ } else {
+ x = min (_visible_canvas_width - 200.0, x);
}
+ return x;
}
double
-Editor::horizontal_position () const
+Editor::clamp_verbose_cursor_y (double y)
+{
+ y = max (0.0, y);
+ y = min (_visible_canvas_height - 50, y);
+ return y;
+}
+
+ArdourCanvas::GtkCanvasViewport*
+Editor::get_track_canvas() const
{
- return frame_to_unit (leftmost_frame);
+ return _track_canvas_viewport;
}
void
@@ -971,30 +1004,362 @@ Editor::set_canvas_cursor (Gdk::Cursor* cursor, bool save)
current_canvas_cursor = cursor;
}
- Glib::RefPtr<Gdk::Window> win = track_canvas->get_window();
+ Glib::RefPtr<Gdk::Window> win = _track_canvas->get_window();
- if (win) {
- track_canvas->get_window()->set_cursor (*cursor);
+ if (win && cursor) {
+ win->set_cursor (*cursor);
}
}
-bool
-Editor::track_canvas_key_press (GdkEventKey*)
+void
+Editor::push_canvas_cursor (Gdk::Cursor* cursor)
{
- /* XXX: event does not report the modifier key pressed down, AFAICS, so use the Keyboard object instead */
- if (mouse_mode == Editing::MouseZoom && Keyboard::the_keyboard().key_is_down (GDK_Control_L)) {
- set_canvas_cursor (_cursors->zoom_out, true);
+ if (cursor) {
+ _cursor_stack.push (cursor);
+ set_canvas_cursor (cursor, false);
}
+}
- return false;
+void
+Editor::pop_canvas_cursor ()
+{
+ if (!_cursor_stack.empty()) {
+ Gdk::Cursor* cursor = _cursor_stack.top ();
+ _cursor_stack.pop ();
+ set_canvas_cursor (cursor, false);
+ }
+}
+
+Gdk::Cursor*
+Editor::which_grabber_cursor () const
+{
+ Gdk::Cursor* c = _cursors->grabber;
+
+ if (_internal_editing) {
+ switch (mouse_mode) {
+ case MouseDraw:
+ c = _cursors->midi_pencil;
+ break;
+
+ case MouseObject:
+ c = _cursors->grabber_note;
+ break;
+
+ case MouseTimeFX:
+ c = _cursors->midi_resize;
+ break;
+
+ case MouseRange:
+ c = _cursors->grabber_note;
+ break;
+
+ default:
+ break;
+ }
+
+ } else {
+
+ switch (_edit_point) {
+ case EditAtMouse:
+ c = _cursors->grabber_edit_point;
+ break;
+ default:
+ boost::shared_ptr<Movable> m = _movable.lock();
+ if (m && m->locked()) {
+ c = _cursors->speaker;
+ }
+ break;
+ }
+ }
+
+ return c;
+}
+
+Gdk::Cursor*
+Editor::which_trim_cursor (bool left) const
+{
+ if (!entered_regionview) {
+ return 0;
+ }
+
+ Trimmable::CanTrim ct = entered_regionview->region()->can_trim ();
+
+ if (left) {
+
+ if (ct & Trimmable::FrontTrimEarlier) {
+ return _cursors->left_side_trim;
+ } else {
+ return _cursors->left_side_trim_right_only;
+ }
+ } else {
+ if (ct & Trimmable::EndTrimLater) {
+ return _cursors->right_side_trim;
+ } else {
+ return _cursors->right_side_trim_left_only;
+ }
+ }
+}
+
+Gdk::Cursor*
+Editor::which_mode_cursor () const
+{
+ Gdk::Cursor* mode_cursor = 0;
+
+ switch (mouse_mode) {
+ case MouseRange:
+ mode_cursor = _cursors->selector;
+ if (_internal_editing) {
+ mode_cursor = which_grabber_cursor();
+ }
+ break;
+
+ case MouseCut:
+ mode_cursor = _cursors->scissors;
+ break;
+
+ case MouseObject:
+ /* don't use mode cursor, pick a grabber cursor based on the item */
+ break;
+
+ case MouseDraw:
+ mode_cursor = _cursors->midi_pencil;
+ break;
+
+ case MouseGain:
+ mode_cursor = _cursors->cross_hair;
+ break;
+
+ case MouseZoom:
+ if (Keyboard::the_keyboard().key_is_down (GDK_Control_L)) {
+ mode_cursor = _cursors->zoom_out;
+ } else {
+ mode_cursor = _cursors->zoom_in;
+ }
+ break;
+
+ case MouseTimeFX:
+ mode_cursor = _cursors->time_fx; // just use playhead
+ break;
+
+ case MouseAudition:
+ mode_cursor = _cursors->speaker;
+ break;
+ }
+
+ /* up-down cursor as a cue that automation can be dragged up and down when in join object/range mode */
+ if (!_internal_editing && get_smart_mode() ) {
+
+ double x, y;
+ get_pointer_position (x, y);
+
+ if (x >= 0 && y >= 0) {
+
+ vector<ArdourCanvas::Item const *> items;
+
+ /* Note how we choose a specific scroll group to get
+ * items from. This could be problematic.
+ */
+
+ hv_scroll_group->add_items_at_point (ArdourCanvas::Duple (x,y), items);
+
+ // first item will be the upper most
+
+ if (!items.empty()) {
+ const ArdourCanvas::Item* i = items.front();
+
+ if (i && i->parent() && i->parent()->get_data (X_("timeselection"))) {
+ pair<TimeAxisView*, int> tvp = trackview_by_y_position (_last_motion_y);
+ if (dynamic_cast<AutomationTimeAxisView*> (tvp.first)) {
+ mode_cursor = _cursors->up_down;
+ }
+ }
+ }
+ }
+ }
+
+ return mode_cursor;
+}
+
+Gdk::Cursor*
+Editor::which_track_cursor () const
+{
+ Gdk::Cursor* cursor = 0;
+
+ assert (mouse_mode == MouseObject || get_smart_mode());
+
+ if (!_internal_editing) {
+ switch (_join_object_range_state) {
+ case JOIN_OBJECT_RANGE_NONE:
+ case JOIN_OBJECT_RANGE_OBJECT:
+ cursor = which_grabber_cursor ();
+ break;
+ case JOIN_OBJECT_RANGE_RANGE:
+ cursor = _cursors->selector;
+ break;
+ }
+ }
+
+ return cursor;
}
bool
-Editor::track_canvas_key_release (GdkEventKey*)
+Editor::reset_canvas_cursor ()
{
- if (mouse_mode == Editing::MouseZoom && !Keyboard::the_keyboard().key_is_down (GDK_Control_L)) {
- set_canvas_cursor (_cursors->zoom_in, true);
+ if (!is_drawable()) {
+ return false;
+ }
+
+ Gdk::Cursor* cursor = which_mode_cursor ();
+
+ if (!cursor) {
+ cursor = which_grabber_cursor ();
+ }
+
+ if (cursor) {
+ set_canvas_cursor (cursor);
+ return true;
}
return false;
}
+
+void
+Editor::choose_canvas_cursor_on_entry (GdkEventCrossing* /*event*/, ItemType type)
+{
+ Gdk::Cursor* cursor = 0;
+
+ if (_drags->active()) {
+ return;
+ }
+
+ cursor = which_mode_cursor ();
+
+ if (mouse_mode == MouseObject || get_smart_mode ()) {
+
+ /* find correct cursor to use in object/smart mode */
+
+ switch (type) {
+ case RegionItem:
+ case RegionViewNameHighlight:
+ case RegionViewName:
+ case WaveItem:
+ case StreamItem:
+ case AutomationTrackItem:
+ cursor = which_track_cursor ();
+ break;
+ case PlayheadCursorItem:
+ switch (_edit_point) {
+ case EditAtMouse:
+ cursor = _cursors->grabber_edit_point;
+ break;
+ default:
+ cursor = _cursors->grabber;
+ break;
+ }
+ break;
+ case SelectionItem:
+ cursor = _cursors->selector;
+ break;
+ case ControlPointItem:
+ cursor = _cursors->fader;
+ break;
+ case GainLineItem:
+ cursor = _cursors->fader;
+ break;
+ case AutomationLineItem:
+ cursor = _cursors->cross_hair;
+ break;
+ case StartSelectionTrimItem:
+ cursor = _cursors->left_side_trim;
+ break;
+ case EndSelectionTrimItem:
+ cursor = _cursors->right_side_trim;
+ break;
+ case FadeInItem:
+ cursor = _cursors->fade_in;
+ break;
+ case FadeInHandleItem:
+ cursor = _cursors->fade_in;
+ break;
+ case FadeInTrimHandleItem:
+ cursor = _cursors->fade_in;
+ break;
+ case FadeOutItem:
+ cursor = _cursors->fade_out;
+ break;
+ case FadeOutHandleItem:
+ cursor = _cursors->fade_out;
+ break;
+ case FadeOutTrimHandleItem:
+ cursor = _cursors->fade_out;
+ break;
+ case NoteItem:
+ cursor = which_grabber_cursor();
+ break;
+ case FeatureLineItem:
+ cursor = _cursors->cross_hair;
+ break;
+ case LeftFrameHandle:
+ if ( effective_mouse_mode() == MouseObject ) // (smart mode): if the user is in the top half, override the trim cursor, since they are in the range zone
+ cursor = which_trim_cursor (true); //alternatively, one could argue that we _should_ allow trims here, and disallow range selection
+ break;
+ case RightFrameHandle:
+ if ( effective_mouse_mode() == MouseObject ) //see above
+ cursor = which_trim_cursor (false);
+ break;
+ case StartCrossFadeItem:
+ cursor = _cursors->fade_in;
+ break;
+ case EndCrossFadeItem:
+ cursor = _cursors->fade_out;
+ break;
+ case CrossfadeViewItem:
+ cursor = _cursors->cross_hair;
+ break;
+ default:
+ break;
+ }
+ }
+
+ switch (type) {
+ /* These items use the timebar cursor at all times */
+ case TimecodeRulerItem:
+ case MinsecRulerItem:
+ case BBTRulerItem:
+ case SamplesRulerItem:
+ cursor = _cursors->timebar;
+ break;
+
+ /* These items use the grabber cursor at all times */
+ case MeterMarkerItem:
+ case TempoMarkerItem:
+ case MeterBarItem:
+ case TempoBarItem:
+ case MarkerItem:
+ case MarkerBarItem:
+ case RangeMarkerBarItem:
+ case CdMarkerBarItem:
+ case VideoBarItem:
+ case TransportMarkerBarItem:
+ case DropZoneItem:
+ cursor = which_grabber_cursor();
+ break;
+
+ default:
+ break;
+ }
+
+ if (cursor) {
+ set_canvas_cursor (cursor, false);
+ }
+}
+
+double
+Editor::trackviews_height() const
+{
+ if (!_trackview_group) {
+ return 0;
+ }
+
+ return _visible_canvas_height - _trackview_group->canvas_origin().y;
+}
diff --git a/gtk2_ardour/editor_canvas_events.cc b/gtk2_ardour/editor_canvas_events.cc
index 79cc1e066f..a08a1c9be4 100644
--- a/gtk2_ardour/editor_canvas_events.cc
+++ b/gtk2_ardour/editor_canvas_events.cc
@@ -28,20 +28,21 @@
#include "ardour/region_factory.h"
#include "ardour/profile.h"
+#include "canvas/canvas.h"
+#include "canvas/text.h"
+#include "canvas/scroll_group.h"
+
#include "editor.h"
#include "keyboard.h"
#include "public_editor.h"
#include "audio_region_view.h"
#include "audio_streamview.h"
-#include "canvas-noevent-text.h"
#include "audio_time_axis.h"
#include "region_gain_line.h"
#include "automation_line.h"
#include "automation_time_axis.h"
#include "automation_line.h"
#include "control_point.h"
-#include "canvas_impl.h"
-#include "simplerect.h"
#include "editor_drag.h"
#include "midi_time_axis.h"
#include "editor_regions.h"
@@ -60,9 +61,19 @@ using Gtkmm2ext::Keyboard;
bool
Editor::track_canvas_scroll (GdkEventScroll* ev)
{
+ if (Keyboard::some_magic_widget_has_focus()) {
+ return false;
+ }
+
framepos_t xdelta;
int direction = ev->direction;
+ /* this event arrives without transformation by the canvas, so we have
+ * to transform the coordinates to be able to look things up.
+ */
+
+ Duple event_coords = _track_canvas->window_to_canvas (Duple (ev->x, ev->y));
+
retry:
switch (direction) {
case GDK_SCROLL_UP:
@@ -79,7 +90,7 @@ Editor::track_canvas_scroll (GdkEventScroll* ev)
} else if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollZoomVerticalModifier)) {
if (!current_stepping_trackview) {
step_timeout = Glib::signal_timeout().connect (sigc::mem_fun(*this, &Editor::track_height_step_timeout), 500);
- std::pair<TimeAxisView*, int> const p = trackview_by_y_position (ev->y + vertical_adjustment.get_value() - canvas_timebars_vsize);
+ std::pair<TimeAxisView*, int> const p = trackview_by_y_position (event_coords.y, false);
current_stepping_trackview = p.first;
if (!current_stepping_trackview) {
return false;
@@ -89,7 +100,7 @@ Editor::track_canvas_scroll (GdkEventScroll* ev)
current_stepping_trackview->step_height (false);
return true;
} else {
- scroll_tracks_up_line ();
+ scroll_up_one_track ();
return true;
}
break;
@@ -108,7 +119,7 @@ Editor::track_canvas_scroll (GdkEventScroll* ev)
} else if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollZoomVerticalModifier)) {
if (!current_stepping_trackview) {
step_timeout = Glib::signal_timeout().connect (sigc::mem_fun(*this, &Editor::track_height_step_timeout), 500);
- std::pair<TimeAxisView*, int> const p = trackview_by_y_position (ev->y + vertical_adjustment.get_value() - canvas_timebars_vsize);
+ std::pair<TimeAxisView*, int> const p = trackview_by_y_position (event_coords.y, false);
current_stepping_trackview = p.first;
if (!current_stepping_trackview) {
return false;
@@ -118,13 +129,13 @@ Editor::track_canvas_scroll (GdkEventScroll* ev)
current_stepping_trackview->step_height (true);
return true;
} else {
- scroll_tracks_down_line ();
+ scroll_down_one_track ();
return true;
}
break;
case GDK_SCROLL_LEFT:
- xdelta = (current_page_frames() / 8);
+ xdelta = (current_page_samples() / 8);
if (leftmost_frame > xdelta) {
reset_x_origin (leftmost_frame - xdelta);
} else {
@@ -133,11 +144,11 @@ Editor::track_canvas_scroll (GdkEventScroll* ev)
break;
case GDK_SCROLL_RIGHT:
- xdelta = (current_page_frames() / 8);
+ xdelta = (current_page_samples() / 8);
if (max_framepos - xdelta > leftmost_frame) {
reset_x_origin (leftmost_frame + xdelta);
} else {
- reset_x_origin (max_framepos - current_page_frames());
+ reset_x_origin (max_framepos - current_page_samples());
}
break;
@@ -150,9 +161,16 @@ Editor::track_canvas_scroll (GdkEventScroll* ev)
}
bool
-Editor::track_canvas_scroll_event (GdkEventScroll *event)
+Editor::canvas_scroll_event (GdkEventScroll *event, bool from_canvas)
{
- track_canvas->grab_focus();
+ if (from_canvas) {
+ boost::optional<ArdourCanvas::Rect> rulers = _time_markers_group->bounding_box();
+ if (rulers && rulers->contains (Duple (event->x, event->y))) {
+ return canvas_ruler_event ((GdkEvent*) event, timecode_ruler, TimecodeRulerItem);
+ }
+ }
+
+ _track_canvas->grab_focus();
return track_canvas_scroll (event);
}
@@ -160,7 +178,7 @@ bool
Editor::track_canvas_button_press_event (GdkEventButton */*event*/)
{
selection->clear ();
- track_canvas->grab_focus();
+ _track_canvas->grab_focus();
return false;
}
@@ -178,17 +196,7 @@ Editor::track_canvas_motion_notify_event (GdkEventMotion */*event*/)
{
int x, y;
/* keep those motion events coming */
- track_canvas->get_pointer (x, y);
- return false;
-}
-
-bool
-Editor::track_canvas_motion (GdkEvent *ev)
-{
- if (_verbose_cursor->visible ()) {
- _verbose_cursor->set_position (ev->motion.x + 10, ev->motion.y + 10);
- }
-
+ _track_canvas->get_pointer (x, y);
return false;
}
@@ -261,13 +269,15 @@ Editor::canvas_region_view_event (GdkEvent *event, ArdourCanvas::Item* item, Reg
break;
case GDK_ENTER_NOTIFY:
- set_entered_track (&rv->get_time_axis_view ());
set_entered_regionview (rv);
+ ret = enter_handler (item, event, RegionItem);
break;
case GDK_LEAVE_NOTIFY:
- set_entered_track (0);
- set_entered_regionview (0);
+ if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
+ set_entered_regionview (0);
+ ret = leave_handler (item, event, RegionItem);
+ }
break;
default:
@@ -278,6 +288,42 @@ Editor::canvas_region_view_event (GdkEvent *event, ArdourCanvas::Item* item, Reg
}
bool
+Editor::canvas_wave_view_event (GdkEvent *event, ArdourCanvas::Item* item, RegionView* rv)
+{
+ /* we only care about enter events here, required for mouse/cursor
+ * tracking. there is a non-linear (non-child/non-parent) relationship
+ * between various components of a regionview and so when we leave one
+ * of them (e.g. a trim handle) and enter another (e.g. the waveview)
+ * no other items get notified. enter/leave handling does not propagate
+ * in the same way as other events, so we need to catch this because
+ * entering (and leaving) the waveview is equivalent to
+ * entering/leaving the regionview (which is why it is passed in as a
+ * third argument).
+ *
+ * And in fact, we really only care about enter events.
+ */
+
+ bool ret = false;
+
+ if (!rv->sensitive ()) {
+ return false;
+ }
+
+ switch (event->type) {
+ case GDK_ENTER_NOTIFY:
+ set_entered_regionview (rv);
+ ret = enter_handler (item, event, WaveItem);
+ break;
+
+ default:
+ break;
+ }
+
+ return ret;
+}
+
+
+bool
Editor::canvas_stream_view_event (GdkEvent *event, ArdourCanvas::Item* item, RouteTimeAxisView *tv)
{
bool ret = FALSE;
@@ -303,10 +349,14 @@ Editor::canvas_stream_view_event (GdkEvent *event, ArdourCanvas::Item* item, Rou
case GDK_ENTER_NOTIFY:
set_entered_track (tv);
+ ret = enter_handler (item, event, StreamItem);
break;
case GDK_LEAVE_NOTIFY:
- set_entered_track (0);
+ if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
+ set_entered_track (0);
+ }
+ ret = leave_handler (item, event, StreamItem);
break;
default:
@@ -456,13 +506,17 @@ Editor::canvas_fade_in_event (GdkEvent *event, ArdourCanvas::Item* item, AudioRe
}
- /* proxy for the regionview */
+ /* proxy for the regionview, except enter/leave events */
- return canvas_region_view_event (event, rv->get_canvas_group(), rv);
+ if (event->type == GDK_ENTER_NOTIFY || event->type == GDK_LEAVE_NOTIFY) {
+ return true;
+ } else {
+ return canvas_region_view_event (event, rv->get_canvas_group(), rv);
+ }
}
bool
-Editor::canvas_fade_in_handle_event (GdkEvent *event, ArdourCanvas::Item* item, AudioRegionView *rv)
+Editor::canvas_fade_in_handle_event (GdkEvent *event, ArdourCanvas::Item* item, AudioRegionView *rv, bool trim)
{
bool ret = false;
@@ -478,11 +532,11 @@ Editor::canvas_fade_in_handle_event (GdkEvent *event, ArdourCanvas::Item* item,
clicked_control_point = 0;
clicked_axisview = &rv->get_time_axis_view();
clicked_routeview = dynamic_cast<RouteTimeAxisView*>(clicked_axisview);
- ret = button_press_handler (item, event, FadeInHandleItem);
+ ret = button_press_handler (item, event, trim ? FadeInTrimHandleItem : FadeInHandleItem);
break;
case GDK_BUTTON_RELEASE:
- ret = button_release_handler (item, event, FadeInHandleItem);
+ ret = button_release_handler (item, event, trim ? FadeInTrimHandleItem : FadeInHandleItem);
maybe_locate_with_edit_preroll ( rv->region()->position() );
break;
@@ -491,13 +545,11 @@ Editor::canvas_fade_in_handle_event (GdkEvent *event, ArdourCanvas::Item* item,
break;
case GDK_ENTER_NOTIFY:
- set_entered_regionview (rv);
- ret = enter_handler (item, event, FadeInHandleItem);
+ ret = enter_handler (item, event, trim ? FadeInTrimHandleItem : FadeInHandleItem);
break;
case GDK_LEAVE_NOTIFY:
- set_entered_regionview (0);
- ret = leave_handler (item, event, FadeInHandleItem);
+ ret = leave_handler (item, event, trim ? FadeInTrimHandleItem : FadeInHandleItem);
break;
default:
@@ -538,13 +590,17 @@ Editor::canvas_fade_out_event (GdkEvent *event, ArdourCanvas::Item* item, AudioR
}
- /* proxy for the regionview */
+ /* proxy for the regionview, except enter/leave events */
- return canvas_region_view_event (event, rv->get_canvas_group(), rv);
+ if (event->type == GDK_ENTER_NOTIFY || event->type == GDK_LEAVE_NOTIFY) {
+ return true;
+ } else {
+ return canvas_region_view_event (event, rv->get_canvas_group(), rv);
+ }
}
bool
-Editor::canvas_fade_out_handle_event (GdkEvent *event, ArdourCanvas::Item* item, AudioRegionView *rv)
+Editor::canvas_fade_out_handle_event (GdkEvent *event, ArdourCanvas::Item* item, AudioRegionView *rv, bool trim)
{
bool ret = false;
@@ -560,11 +616,11 @@ Editor::canvas_fade_out_handle_event (GdkEvent *event, ArdourCanvas::Item* item,
clicked_control_point = 0;
clicked_axisview = &rv->get_time_axis_view();
clicked_routeview = dynamic_cast<RouteTimeAxisView*>(clicked_axisview);
- ret = button_press_handler (item, event, FadeOutHandleItem);
+ ret = button_press_handler (item, event, trim ? FadeOutTrimHandleItem : FadeOutHandleItem);
break;
case GDK_BUTTON_RELEASE:
- ret = button_release_handler (item, event, FadeOutHandleItem);
+ ret = button_release_handler (item, event, trim ? FadeOutTrimHandleItem : FadeOutHandleItem);
maybe_locate_with_edit_preroll ( rv->region()->last_frame() - rv->get_fade_out_shape_width() );
break;
@@ -573,13 +629,11 @@ Editor::canvas_fade_out_handle_event (GdkEvent *event, ArdourCanvas::Item* item,
break;
case GDK_ENTER_NOTIFY:
- set_entered_regionview (rv);
- ret = enter_handler (item, event, FadeOutHandleItem);
+ ret = enter_handler (item, event, trim ? FadeOutTrimHandleItem : FadeOutHandleItem);
break;
case GDK_LEAVE_NOTIFY:
- set_entered_regionview (0);
- ret = leave_handler (item, event, FadeOutHandleItem);
+ ret = leave_handler (item, event, trim ? FadeOutTrimHandleItem : FadeOutHandleItem);
break;
default:
@@ -777,12 +831,10 @@ Editor::canvas_frame_handle_event (GdkEvent* event, ArdourCanvas::Item* item, Re
ret = motion_handler (item, event);
break;
case GDK_ENTER_NOTIFY:
- set_entered_regionview (rv);
ret = enter_handler (item, event, type);
break;
case GDK_LEAVE_NOTIFY:
- set_entered_regionview (0);
ret = leave_handler (item, event, type);
break;
@@ -821,12 +873,10 @@ Editor::canvas_region_view_name_highlight_event (GdkEvent* event, ArdourCanvas::
ret = true; // force this to avoid progagating the event into the regionview
break;
case GDK_ENTER_NOTIFY:
- set_entered_regionview (rv);
ret = enter_handler (item, event, RegionViewNameHighlight);
break;
case GDK_LEAVE_NOTIFY:
- set_entered_regionview (0);
ret = leave_handler (item, event, RegionViewNameHighlight);
break;
@@ -863,12 +913,10 @@ Editor::canvas_region_view_name_event (GdkEvent *event, ArdourCanvas::Item* item
ret = motion_handler (item, event);
break;
case GDK_ENTER_NOTIFY:
- set_entered_regionview (rv);
ret = enter_handler (item, event, RegionViewName);
break;
case GDK_LEAVE_NOTIFY:
- set_entered_regionview (0);
ret = leave_handler (item, event, RegionViewName);
break;
@@ -967,6 +1015,59 @@ Editor::canvas_meter_marker_event (GdkEvent *event, ArdourCanvas::Item* item, Me
}
bool
+Editor::canvas_ruler_event (GdkEvent *event, ArdourCanvas::Item* item, ItemType type)
+{
+ framepos_t xdelta;
+ bool handled = false;
+
+ if (event->type == GDK_SCROLL) {
+
+ /* scroll events in the rulers are handled a little differently from
+ scrolling elsewhere in the canvas.
+ */
+
+ switch (event->scroll.direction) {
+ case GDK_SCROLL_UP:
+ temporal_zoom_step (false);
+ handled = true;
+ break;
+
+ case GDK_SCROLL_DOWN:
+ temporal_zoom_step (true);
+ handled = true;
+ break;
+
+ case GDK_SCROLL_LEFT:
+ xdelta = (current_page_samples() / 2);
+ if (leftmost_frame > xdelta) {
+ reset_x_origin (leftmost_frame - xdelta);
+ } else {
+ reset_x_origin (0);
+ }
+ handled = true;
+ break;
+
+ case GDK_SCROLL_RIGHT:
+ xdelta = (current_page_samples() / 2);
+ if (max_framepos - xdelta > leftmost_frame) {
+ reset_x_origin (leftmost_frame + xdelta);
+ } else {
+ reset_x_origin (max_framepos - current_page_samples());
+ }
+ handled = true;
+ break;
+
+ default:
+ /* what? */
+ break;
+ }
+ return handled;
+ }
+
+ return typed_event (item, event, type);
+}
+
+bool
Editor::canvas_tempo_bar_event (GdkEvent *event, ArdourCanvas::Item* item)
{
return typed_event (item, event, TempoBarItem);
@@ -1001,10 +1102,46 @@ Editor::canvas_note_event (GdkEvent *event, ArdourCanvas::Item* item)
}
bool
+Editor::canvas_drop_zone_event (GdkEvent* event)
+{
+ GdkEventScroll scroll;
+ ArdourCanvas::Duple winpos;
+
+ switch (event->type) {
+ case GDK_BUTTON_RELEASE:
+ if (event->button.button == 1) {
+ selection->clear_objects ();
+ selection->clear_tracks ();
+ }
+ break;
+
+ case GDK_SCROLL:
+ /* convert coordinates back into window space so that
+ we can just call canvas_scroll_event().
+ */
+ winpos = _track_canvas->canvas_to_window (Duple (event->scroll.x, event->scroll.y));
+ scroll = event->scroll;
+ scroll.x = winpos.x;
+ scroll.y = winpos.y;
+ return canvas_scroll_event (&scroll, true);
+ break;
+
+ case GDK_ENTER_NOTIFY:
+ return typed_event (_canvas_drop_zone, event, DropZoneItem);
+
+ case GDK_LEAVE_NOTIFY:
+ return typed_event (_canvas_drop_zone, event, DropZoneItem);
+
+ default:
+ break;
+ }
+
+ return true;
+}
+
+bool
Editor::track_canvas_drag_motion (Glib::RefPtr<Gdk::DragContext> const& context, int x, int y, guint time)
{
- double wx;
- double wy;
boost::shared_ptr<Region> region;
boost::shared_ptr<Region> region_copy;
RouteTimeAxisView* rtav;
@@ -1012,21 +1149,19 @@ Editor::track_canvas_drag_motion (Glib::RefPtr<Gdk::DragContext> const& context,
double px;
double py;
- string target = track_canvas->drag_dest_find_target (context, track_canvas->drag_dest_get_target_list());
+ string target = _track_canvas->drag_dest_find_target (context, _track_canvas->drag_dest_get_target_list());
if (target.empty()) {
return false;
}
- track_canvas->window_to_world (x, y, wx, wy);
-
event.type = GDK_MOTION_NOTIFY;
- event.button.x = wx;
- event.button.y = wy;
+ event.button.x = x;
+ event.button.y = y;
/* assume we're dragging with button 1 */
event.motion.state = Gdk::BUTTON1_MASK;
- (void) event_frame (&event, &px, &py);
+ (void) window_event_sample (&event, &px, &py);
std::pair<TimeAxisView*, int> const tv = trackview_by_y_position (py);
bool can_drop = false;
@@ -1096,8 +1231,6 @@ Editor::drop_regions (const Glib::RefPtr<Gdk::DragContext>& /*context*/,
const SelectionData& /*data*/,
guint /*info*/, guint /*time*/)
{
- double wx;
- double wy;
boost::shared_ptr<Region> region;
boost::shared_ptr<Region> region_copy;
RouteTimeAxisView* rtav;
@@ -1105,17 +1238,15 @@ Editor::drop_regions (const Glib::RefPtr<Gdk::DragContext>& /*context*/,
double px;
double py;
- track_canvas->window_to_world (x, y, wx, wy);
-
event.type = GDK_MOTION_NOTIFY;
- event.button.x = wx;
- event.button.y = wy;
+ event.button.x = x;
+ event.button.y = y;
/* assume we're dragging with button 1 */
event.motion.state = Gdk::BUTTON1_MASK;
- framepos_t const pos = event_frame (&event, &px, &py);
+ framepos_t const pos = window_event_sample (&event, &px, &py);
- std::pair<TimeAxisView*, int> const tv = trackview_by_y_position (py);
+ std::pair<TimeAxisView*, int> const tv = trackview_by_y_position (py, false);
if (tv.first != 0) {
@@ -1190,3 +1321,4 @@ Editor::key_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType
return handled;
}
+
diff --git a/gtk2_ardour/editor_cursors.cc b/gtk2_ardour/editor_cursors.cc
index ccacda210f..740b96f965 100644
--- a/gtk2_ardour/editor_cursors.cc
+++ b/gtk2_ardour/editor_cursors.cc
@@ -20,9 +20,10 @@
#include <cstdlib>
#include <cmath>
-#include <libgnomecanvas/libgnomecanvas.h>
+#include "canvas/canvas.h"
+#include "canvas/debug.h"
+#include "canvas/scroll_group.h"
-#include "utils.h"
#include "editor_cursors.h"
#include "editor.h"
@@ -31,29 +32,44 @@ using namespace PBD;
using namespace Gtk;
EditorCursor::EditorCursor (Editor& ed, bool (Editor::*callbck)(GdkEvent*,ArdourCanvas::Item*))
- : editor (ed),
- canvas_item (*editor.cursor_group),
- length(1.0)
+ : _editor (ed)
+ , _track_canvas_item (new ArdourCanvas::Arrow (_editor.get_hscroll_group()))
+ , _length (1.0)
{
- points.push_back(Gnome::Art::Point(-1.0, 0.0)); // first x-coord needs to be a non-normal value
- points.push_back(Gnome::Art::Point(1.0, 1.0));
-
- canvas_item.property_points() = points;
- canvas_item.property_width_pixels() = 1;
- canvas_item.property_first_arrowhead() = TRUE;
- canvas_item.property_last_arrowhead() = TRUE;
- canvas_item.property_arrow_shape_a() = 11.0;
- canvas_item.property_arrow_shape_b() = 0.0;
- canvas_item.property_arrow_shape_c() = 9.0;
-
- canvas_item.set_data ("cursor", this);
- canvas_item.signal_event().connect (sigc::bind (sigc::mem_fun (ed, callbck), &canvas_item));
- current_frame = 1; /* force redraw at 0 */
+ CANVAS_DEBUG_NAME (_track_canvas_item, "track canvas editor cursor");
+
+ _track_canvas_item->set_show_head (0, true);
+ _track_canvas_item->set_head_height (0, 9);
+ _track_canvas_item->set_head_width (0, 16);
+ _track_canvas_item->set_head_outward (0, false);
+ _track_canvas_item->set_show_head (1, false); // head only
+ _track_canvas_item->set_data ("cursor", this);
+
+ _track_canvas_item->Event.connect (sigc::bind (sigc::mem_fun (ed, callbck), _track_canvas_item));
+
+ _track_canvas_item->set_y1 (ArdourCanvas::COORD_MAX);
+
+ _current_frame = 1; /* force redraw at 0 */
}
-EditorCursor::~EditorCursor ()
+EditorCursor::EditorCursor (Editor& ed)
+ : _editor (ed)
+ , _track_canvas_item (new ArdourCanvas::Arrow (_editor.get_hscroll_group()))
+ , _length (1.0)
+{
+ CANVAS_DEBUG_NAME (_track_canvas_item, "track canvas cursor");
+
+ _track_canvas_item->set_show_head (0, false);
+ _track_canvas_item->set_show_head (1, false);
+ _track_canvas_item->set_y1 (ArdourCanvas::COORD_MAX);
+ _track_canvas_item->set_ignore_events (true);
+
+ _current_frame = 1; /* force redraw at 0 */
+}
+EditorCursor::~EditorCursor ()
{
+ delete _track_canvas_item;
}
void
@@ -61,30 +77,35 @@ EditorCursor::set_position (framepos_t frame)
{
PositionChanged (frame);
- double new_pos = editor.frame_to_unit (frame);
+ double const new_pos = _editor.sample_to_pixel_unrounded (frame);
+
+ if (new_pos != _track_canvas_item->x ()) {
+ _track_canvas_item->set_x (new_pos);
+ }
- if (new_pos != points.front().get_x()) {
+ _current_frame = frame;
+}
- points.front().set_x (new_pos);
- points.back().set_x (new_pos);
+void
+EditorCursor::show ()
+{
+ _track_canvas_item->show ();
+}
- canvas_item.property_points() = points;
- }
- current_frame = frame;
+void
+EditorCursor::hide ()
+{
+ _track_canvas_item->hide ();
}
void
-EditorCursor::set_length (double units)
+EditorCursor::set_color (ArdourCanvas::Color color)
{
- length = units;
- points.back().set_y (points.front().get_y() + length);
- canvas_item.property_points() = points;
+ _track_canvas_item->set_color (color);
}
void
-EditorCursor::set_y_axis (double position)
+EditorCursor::set_sensitive (bool yn)
{
- points.front().set_y (position);
- points.back().set_y (position + length);
- canvas_item.property_points() = points;
+ _track_canvas_item->set_ignore_events (!yn);
}
diff --git a/gtk2_ardour/editor_cursors.h b/gtk2_ardour/editor_cursors.h
index 2e2c654bd1..eb4ab1cbde 100644
--- a/gtk2_ardour/editor_cursors.h
+++ b/gtk2_ardour/editor_cursors.h
@@ -18,23 +18,41 @@
*/
#include "pbd/signals.h"
+#include "ardour/types.h"
+
+#include "canvas/arrow.h"
+#include "canvas/line.h"
+#include "canvas/types.h"
class Editor;
class EditorCursor {
-public:
- Editor& editor;
- ArdourCanvas::Points points;
- ArdourCanvas::Line canvas_item;
- framepos_t current_frame;
- double length;
-
- EditorCursor (Editor&, bool (Editor::*)(GdkEvent*,ArdourCanvas::Item*));
- ~EditorCursor ();
+ public:
+ EditorCursor (Editor&, bool (Editor::*)(GdkEvent*,ArdourCanvas::Item*));
+ EditorCursor (Editor&);
+ ~EditorCursor ();
void set_position (framepos_t);
- void set_length (double units);
- void set_y_axis (double position);
+
+
+ void show ();
+ void hide ();
+ void set_color (ArdourCanvas::Color);
+ void set_sensitive (bool);
+
+ framepos_t current_frame () const {
+ return _current_frame;
+ }
+
+ ArdourCanvas::Arrow& track_canvas_item () {
+ return *_track_canvas_item;
+ }
PBD::Signal1<void, framepos_t> PositionChanged;
+
+ private:
+ Editor& _editor;
+ ArdourCanvas::Arrow* _track_canvas_item;
+ framepos_t _current_frame;
+ double _length;
};
diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc
index 8118aa3dbc..81f97ae014 100644
--- a/gtk2_ardour/editor_drag.cc
+++ b/gtk2_ardour/editor_drag.cc
@@ -32,12 +32,17 @@
#include "ardour/audioengine.h"
#include "ardour/audioregion.h"
+#include "ardour/audio_track.h"
#include "ardour/dB.h"
#include "ardour/midi_region.h"
+#include "ardour/midi_track.h"
#include "ardour/operations.h"
#include "ardour/region_factory.h"
#include "ardour/session.h"
+#include "canvas/canvas.h"
+#include "canvas/scroll_group.h"
+
#include "editor.h"
#include "i18n.h"
#include "keyboard.h"
@@ -46,18 +51,18 @@
#include "ardour_ui.h"
#include "gui_thread.h"
#include "control_point.h"
-#include "utils.h"
#include "region_gain_line.h"
#include "editor_drag.h"
#include "audio_time_axis.h"
#include "midi_time_axis.h"
-#include "canvas-note.h"
#include "selection.h"
#include "midi_selection.h"
#include "automation_time_axis.h"
#include "debug.h"
#include "editor_cursors.h"
#include "mouse_cursors.h"
+#include "note_base.h"
+#include "patch_change.h"
#include "verbose_cursor.h"
using namespace std;
@@ -90,6 +95,8 @@ DragManager::abort ()
{
_ending = true;
+ cerr << "Aborting drag\n";
+
for (list<Drag*>::const_iterator i = _drags.begin(); i != _drags.end(); ++i) {
(*i)->abort ();
delete *i;
@@ -126,7 +133,7 @@ DragManager::start_grab (GdkEvent* e, Gdk::Cursor* c)
_old_follow_playhead = _editor->follow_playhead ();
_editor->set_follow_playhead (false);
- _current_pointer_frame = _editor->event_frame (e, &_current_pointer_x, &_current_pointer_y);
+ _current_pointer_frame = _editor->canvas_event_sample (e, &_current_pointer_x, &_current_pointer_y);
for (list<Drag*>::const_iterator i = _drags.begin(); i != _drags.end(); ++i) {
(*i)->start_grab (e, c);
@@ -159,15 +166,32 @@ DragManager::end_grab (GdkEvent* e)
return r;
}
+void
+DragManager::mark_double_click ()
+{
+ for (list<Drag*>::const_iterator i = _drags.begin(); i != _drags.end(); ++i) {
+ (*i)->set_double_click (true);
+ }
+}
+
bool
DragManager::motion_handler (GdkEvent* e, bool from_autoscroll)
{
bool r = false;
- _current_pointer_frame = _editor->event_frame (e, &_current_pointer_x, &_current_pointer_y);
+ /* calling this implies that we expect the event to have canvas
+ * coordinates
+ *
+ * Can we guarantee that this is true?
+ */
+
+ _current_pointer_frame = _editor->canvas_event_sample (e, &_current_pointer_x, &_current_pointer_y);
for (list<Drag*>::iterator i = _drags.begin(); i != _drags.end(); ++i) {
bool const t = (*i)->motion_handler (e, from_autoscroll);
+ /* run all handlers; return true if at least one of them
+ returns true (indicating that the event has been handled).
+ */
if (t) {
r = true;
}
@@ -188,11 +212,13 @@ DragManager::have_item (ArdourCanvas::Item* i) const
return j != _drags.end ();
}
-Drag::Drag (Editor* e, ArdourCanvas::Item* i)
+Drag::Drag (Editor* e, ArdourCanvas::Item* i, bool trackview_only)
: _editor (e)
, _item (i)
, _pointer_frame_offset (0)
+ , _trackview_only (trackview_only)
, _move_threshold_passed (false)
+ , _was_double_click (false)
, _raw_grab_frame (0)
, _grab_frame (0)
, _last_pointer_frame (0)
@@ -201,15 +227,15 @@ Drag::Drag (Editor* e, ArdourCanvas::Item* i)
}
void
-Drag::swap_grab (ArdourCanvas::Item* new_item, Gdk::Cursor* cursor, uint32_t time)
+Drag::swap_grab (ArdourCanvas::Item* new_item, Gdk::Cursor* cursor, uint32_t /*time*/)
{
- _item->ungrab (0);
+ _item->ungrab ();
_item = new_item;
if (cursor == 0) {
- _item->grab (Gdk::POINTER_MOTION_MASK | Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK, time);
+ _item->grab ();
} else {
- _item->grab (Gdk::POINTER_MOTION_MASK | Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK, *cursor, time);
+ _item->grab ();
}
}
@@ -231,20 +257,24 @@ Drag::start_grab (GdkEvent* event, Gdk::Cursor *cursor)
_y_constrained = false;
}
- _raw_grab_frame = _editor->event_frame (event, &_grab_x, &_grab_y);
+ _raw_grab_frame = _editor->canvas_event_sample (event, &_grab_x, &_grab_y);
setup_pointer_frame_offset ();
_grab_frame = adjusted_frame (_raw_grab_frame, event);
_last_pointer_frame = _grab_frame;
_last_pointer_x = _grab_x;
+
+ if (_trackview_only) {
+ _grab_y = _grab_y - _editor->get_trackview_group()->canvas_origin().y;
+ }
+
_last_pointer_y = _grab_y;
if (cursor == 0) {
- _item->grab (Gdk::POINTER_MOTION_MASK|Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK,
- event->button.time);
+ _item->grab ();
} else {
- _item->grab (Gdk::POINTER_MOTION_MASK|Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK,
- *cursor,
- event->button.time);
+ /* CAIROCANVAS need a variant here that passes *cursor */
+ _item->grab ();
+ _editor->push_canvas_cursor (cursor);
}
if (_editor->session() && _editor->session()->transport_rolling()) {
@@ -276,11 +306,12 @@ Drag::end_grab (GdkEvent* event)
{
_editor->stop_canvas_autoscroll ();
- _item->ungrab (event ? event->button.time : 0);
+ _item->ungrab ();
finished (event, _move_threshold_passed);
_editor->verbose_cursor()->hide ();
+ _editor->pop_canvas_cursor ();
return _move_threshold_passed;
}
@@ -307,13 +338,23 @@ Drag::adjusted_current_frame (GdkEvent const * event, bool snap) const
return adjusted_frame (_drags->current_pointer_frame (), event, snap);
}
+double
+Drag::current_pointer_y () const
+{
+ if (!_trackview_only) {
+ return _drags->current_pointer_y ();
+ }
+
+ return _drags->current_pointer_y () - _editor->get_trackview_group()->canvas_origin().y;
+}
+
bool
Drag::motion_handler (GdkEvent* event, bool from_autoscroll)
{
/* check to see if we have moved in any way that matters since the last motion event */
if (_move_threshold_passed &&
(!x_movement_matters() || _last_pointer_frame == adjusted_current_frame (event)) &&
- (!y_movement_matters() || _last_pointer_y == _drags->current_pointer_y ()) ) {
+ (!y_movement_matters() || _last_pointer_y == current_pointer_y ()) ) {
return false;
}
@@ -324,7 +365,7 @@ Drag::motion_handler (GdkEvent* event, bool from_autoscroll)
if (!from_autoscroll && !_move_threshold_passed) {
bool const xp = (::llabs (_drags->current_pointer_frame () - _raw_grab_frame) >= threshold.first);
- bool const yp = (::fabs ((_drags->current_pointer_y () - _grab_y)) >= threshold.second);
+ bool const yp = (::fabs ((current_pointer_y () - _grab_y)) >= threshold.second);
_move_threshold_passed = ((xp && x_movement_matters()) || (yp && y_movement_matters()));
}
@@ -333,20 +374,21 @@ Drag::motion_handler (GdkEvent* event, bool from_autoscroll)
if (event->motion.state & Gdk::BUTTON1_MASK || event->motion.state & Gdk::BUTTON2_MASK) {
if (!from_autoscroll) {
- bool const moving_left = _drags->current_pointer_x() < _last_pointer_x;
- bool const moving_up = _drags->current_pointer_y() < _last_pointer_y;
- _editor->maybe_autoscroll (true, allow_vertical_autoscroll (), moving_left, moving_up);
+ _editor->maybe_autoscroll (true, allow_vertical_autoscroll (), false);
}
- motion (event, _move_threshold_passed != old_move_threshold_passed);
-
- _last_pointer_x = _drags->current_pointer_x ();
- _last_pointer_y = _drags->current_pointer_y ();
- _last_pointer_frame = adjusted_current_frame (event);
+ if (!_editor->autoscroll_active() || from_autoscroll) {
+ motion (event, _move_threshold_passed != old_move_threshold_passed);
+
+ _last_pointer_x = _drags->current_pointer_x ();
+ _last_pointer_y = current_pointer_y ();
+ _last_pointer_frame = adjusted_current_frame (event);
+ }
return true;
}
}
+
return false;
}
@@ -355,7 +397,7 @@ void
Drag::abort ()
{
if (_item) {
- _item->ungrab (0);
+ _item->ungrab ();
}
aborted (_move_threshold_passed);
@@ -367,37 +409,22 @@ Drag::abort ()
void
Drag::show_verbose_cursor_time (framepos_t frame)
{
- _editor->verbose_cursor()->set_time (
- frame,
- _drags->current_pointer_x() + 10 - _editor->horizontal_position(),
- _drags->current_pointer_y() + 10 - _editor->vertical_adjustment.get_value() + _editor->canvas_timebars_vsize
- );
-
+ _editor->verbose_cursor()->set_time (frame);
_editor->verbose_cursor()->show ();
}
void
-Drag::show_verbose_cursor_duration (framepos_t start, framepos_t end, double xoffset)
+Drag::show_verbose_cursor_duration (framepos_t start, framepos_t end, double /*xoffset*/)
{
- _editor->verbose_cursor()->show (xoffset);
-
- _editor->verbose_cursor()->set_duration (
- start, end,
- _drags->current_pointer_x() + 10 - _editor->horizontal_position(),
- _drags->current_pointer_y() + 10 - _editor->vertical_adjustment.get_value() + _editor->canvas_timebars_vsize
- );
+ _editor->verbose_cursor()->set_duration (start, end);
+ _editor->verbose_cursor()->show ();
}
void
Drag::show_verbose_cursor_text (string const & text)
{
+ _editor->verbose_cursor()->set (text);
_editor->verbose_cursor()->show ();
-
- _editor->verbose_cursor()->set (
- text,
- _drags->current_pointer_x() + 10 - _editor->horizontal_position(),
- _drags->current_pointer_y() + 10 - _editor->vertical_adjustment.get_value() + _editor->canvas_timebars_vsize
- );
}
boost::shared_ptr<Region>
@@ -452,7 +479,7 @@ RegionDrag::RegionDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<Re
*/
for (list<RegionView*>::const_iterator i = v.begin(); i != v.end(); ++i) {
- _views.push_back (DraggingView (*i, this));
+ _views.push_back (DraggingView (*i, this, &(*i)->get_time_axis_view()));
}
RegionView::RegionViewGoingAway.connect (death_connection, invalidator (*this), boost::bind (&RegionDrag::region_going_away, this, _1), gui_context());
@@ -491,14 +518,15 @@ RegionDrag::find_time_axis_view (TimeAxisView* t) const
}
RegionMotionDrag::RegionMotionDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v, bool b)
- : RegionDrag (e, i, p, v),
- _brushing (b),
- _total_x_delta (0)
+ : RegionDrag (e, i, p, v)
+ , _brushing (b)
+ , _total_x_delta (0)
+ , _last_pointer_time_axis_view (0)
+ , _last_pointer_layer (0)
{
-
+ DEBUG_TRACE (DEBUG::Drags, "New RegionMotionDrag\n");
}
-
void
RegionMotionDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
{
@@ -506,9 +534,11 @@ RegionMotionDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
show_verbose_cursor_time (_last_frame_position);
- pair<TimeAxisView*, double> const tv = _editor->trackview_by_y_position (_drags->current_pointer_y ());
- _last_pointer_time_axis_view = find_time_axis_view (tv.first);
- _last_pointer_layer = tv.first->layer_display() == Overlaid ? 0 : tv.second;
+ pair<TimeAxisView*, double> const tv = _editor->trackview_by_y_position (current_pointer_y ());
+ if (tv.first) {
+ _last_pointer_time_axis_view = find_time_axis_view (tv.first);
+ _last_pointer_layer = tv.first->layer_display() == Overlaid ? 0 : tv.second;
+ }
}
double
@@ -551,7 +581,7 @@ RegionMotionDrag::compute_x_delta (GdkEvent const * event, framepos_t* pending_r
if ((*pending_region_position != _last_frame_position) && x_move_allowed) {
/* x movement since last time (in pixels) */
- dx = (static_cast<double> (*pending_region_position) - _last_frame_position) / _editor->frames_per_unit;
+ dx = (static_cast<double> (*pending_region_position) - _last_frame_position) / _editor->samples_per_pixel;
/* total x movement */
framecnt_t total_dx = *pending_region_position;
@@ -568,7 +598,6 @@ RegionMotionDrag::compute_x_delta (GdkEvent const * event, framepos_t* pending_r
}
}
- _last_frame_position = *pending_region_position;
}
return dx;
@@ -610,43 +639,47 @@ RegionMotionDrag::y_movement_allowed (int delta_track, double delta_layer) const
void
RegionMotionDrag::motion (GdkEvent* event, bool first_move)
{
+ double delta_layer = 0;
+ int delta_time_axis_view = 0;
+
assert (!_views.empty ());
- /* Find the TimeAxisView that the pointer is now over */
- pair<TimeAxisView*, double> const tv = _editor->trackview_by_y_position (_drags->current_pointer_y ());
+ /* Note: time axis views in this method are often expressed as an index into the _time_axis_views vector */
- if (first_move && tv.first->view()->layer_display() == Stacked) {
- tv.first->view()->set_layer_display (Expanded);
- }
+ /* Find the TimeAxisView that the pointer is now over */
+ pair<TimeAxisView*, double> const r = _editor->trackview_by_y_position (current_pointer_y ());
+ TimeAxisView* tv = r.first;
- /* Bail early if we're not over a track */
- RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (tv.first);
- if (!rtv || !rtv->is_track()) {
- _editor->verbose_cursor()->hide ();
- return;
- }
+ if (tv && tv->view()) {
+ double layer = r.second;
- /* Note: time axis views in this method are often expressed as an index into the _time_axis_views vector */
+ if (first_move && tv->view()->layer_display() == Stacked) {
+ tv->view()->set_layer_display (Expanded);
+ }
- /* Here's the current pointer position in terms of time axis view and layer */
- int const current_pointer_time_axis_view = find_time_axis_view (tv.first);
- double const current_pointer_layer = tv.first->layer_display() == Overlaid ? 0 : tv.second;
+ /* Here's the current pointer position in terms of time axis view and layer */
+ int const current_pointer_time_axis_view = find_time_axis_view (tv);
+ double const current_pointer_layer = tv->layer_display() == Overlaid ? 0 : layer;
+
+ /* Work out the change in y */
+ delta_time_axis_view = current_pointer_time_axis_view - _last_pointer_time_axis_view;
+ delta_layer = current_pointer_layer - _last_pointer_layer;
+ }
+
/* Work out the change in x */
framepos_t pending_region_position;
double const x_delta = compute_x_delta (event, &pending_region_position);
+ _last_frame_position = pending_region_position;
- /* Work out the change in y */
- int delta_time_axis_view = current_pointer_time_axis_view - _last_pointer_time_axis_view;
- double delta_layer = current_pointer_layer - _last_pointer_layer;
-
+ /* Verify change in y */
if (!y_movement_allowed (delta_time_axis_view, delta_layer)) {
/* this y movement is not allowed, so do no y movement this time */
delta_time_axis_view = 0;
delta_layer = 0;
}
- if (x_delta == 0 && delta_time_axis_view == 0 && delta_layer == 0 && !first_move) {
+ if (x_delta == 0 && (tv && tv->view() && delta_time_axis_view == 0) && delta_layer == 0 && !first_move) {
/* haven't reached next snap point, and we're not switching
trackviews nor layers. nothing to do.
*/
@@ -664,23 +697,20 @@ RegionMotionDrag::motion (GdkEvent* event, bool first_move)
}
if (first_move) {
-
rv->drag_start ();
- /* Absolutely no idea why this is necessary, but it is; without
- it, the region view disappears after the reparent.
- */
- _editor->update_canvas_now ();
+ /* reparent the regionview into a group above all
+ * others
+ */
- /* Reparent to a non scrolling group so that we can keep the
- region selection above all time axis views.
- Reparenting means that we will have to move the region view
- later, as the two parent groups have different coordinates.
+ ArdourCanvas::Item* rvg = rv->get_canvas_group();
+ Duple rv_canvas_offset = rvg->parent()->canvas_origin ();
+ Duple dmg_canvas_offset = _editor->_drag_motion_group->canvas_origin ();
+ rv->get_canvas_group()->reparent (_editor->_drag_motion_group);
+ /* move the item so that it continues to appear at the
+ same location now that its parent has changed.
*/
-
- rv->get_canvas_group()->reparent (*(_editor->_region_motion_group));
-
- rv->fake_set_opaque (true);
+ rvg->move (rv_canvas_offset - dmg_canvas_offset);
}
/* If we have moved tracks, we'll fudge the layer delta so that the
@@ -693,70 +723,104 @@ RegionMotionDrag::motion (GdkEvent* event, bool first_move)
this_delta_layer = - i->layer;
}
- /* The TimeAxisView that this region is now on */
- TimeAxisView* tv = _time_axis_views[i->time_axis_view + delta_time_axis_view];
+ if (tv) {
- /* Ensure it is moved from stacked -> expanded if appropriate */
- if (tv->view()->layer_display() == Stacked) {
- tv->view()->set_layer_display (Expanded);
- }
+ int track_index;
+
+ if (i->time_axis_view >= 0) {
+ track_index = i->time_axis_view + delta_time_axis_view;
+ } else {
+ track_index = _time_axis_views.size() - 1 + delta_time_axis_view;
+ }
+
+ if (track_index < 0 || track_index >= (int) _time_axis_views.size()) {
+ continue;
+ }
+
+ /* The TimeAxisView that this region is now over */
+ TimeAxisView* current_tv = _time_axis_views[track_index];
+
+ /* Ensure it is moved from stacked -> expanded if appropriate */
+ if (current_tv->view()->layer_display() == Stacked) {
+ current_tv->view()->set_layer_display (Expanded);
+ }
- /* We're only allowed to go -ve in layer on Expanded views */
- if (tv->view()->layer_display() != Expanded && (i->layer + this_delta_layer) < 0) {
- this_delta_layer = - i->layer;
- }
+ /* We're only allowed to go -ve in layer on Expanded views */
+ if (current_tv->view()->layer_display() != Expanded && (i->layer + this_delta_layer) < 0) {
+ this_delta_layer = - i->layer;
+ }
- /* Set height */
- rv->set_height (tv->view()->child_height ());
+ /* Set height */
+ rv->set_height (current_tv->view()->child_height ());
- /* Update show/hidden status as the region view may have come from a hidden track,
- or have moved to one.
- */
- if (tv->hidden ()) {
- rv->get_canvas_group()->hide ();
- } else {
- rv->get_canvas_group()->show ();
- }
+ /* Update show/hidden status as the region view may have come from a hidden track,
+ or have moved to one.
+ */
+ if (current_tv->hidden ()) {
+ rv->get_canvas_group()->hide ();
+ } else {
+ rv->get_canvas_group()->show ();
+ }
- /* Update the DraggingView */
- i->time_axis_view += delta_time_axis_view;
- i->layer += this_delta_layer;
+ /* Update the DraggingView */
+ i->time_axis_view = track_index;
+ i->layer += this_delta_layer;
- if (_brushing) {
- _editor->mouse_brush_insert_region (rv, pending_region_position);
- } else {
- double x = 0;
- double y = 0;
+ if (_brushing) {
+ _editor->mouse_brush_insert_region (rv, pending_region_position);
+ } else {
+ Duple track_origin;
- /* Get the y coordinate of the top of the track that this region is now on */
- tv->canvas_display()->i2w (x, y);
- y += _editor->get_trackview_group_vertical_offset();
-
- /* And adjust for the layer that it should be on */
- StreamView* cv = tv->view ();
- switch (cv->layer_display ()) {
- case Overlaid:
- break;
- case Stacked:
- y += (cv->layers() - i->layer - 1) * cv->child_height ();
- break;
- case Expanded:
- y += (cv->layers() - i->layer - 0.5) * 2 * cv->child_height ();
- break;
+ /* Get the y coordinate of the top of the track that this region is now over */
+ track_origin = current_tv->canvas_display()->item_to_canvas (track_origin);
+
+ /* And adjust for the layer that it should be on */
+ StreamView* cv = current_tv->view ();
+ switch (cv->layer_display ()) {
+ case Overlaid:
+ break;
+ case Stacked:
+ track_origin.y += (cv->layers() - i->layer - 1) * cv->child_height ();
+ break;
+ case Expanded:
+ track_origin.y += (cv->layers() - i->layer - 0.5) * 2 * cv->child_height ();
+ break;
+ }
+
+ /* need to get the parent of the regionview
+ * canvas group and get its position in
+ * equivalent coordinate space as the trackview
+ * we are now dragging over.
+ */
+
+ /* Now move the region view */
+ rv->move (x_delta, track_origin.y - rv->get_canvas_group()->canvas_origin().y);
}
+ } else {
- /* Now move the region view */
- rv->move (x_delta, y - rv->get_canvas_group()->property_y());
- }
+ /* Only move the region into the empty dropzone at the bottom if the pointer
+ * is down there.
+ */
+
+ if (current_pointer_y() >= 0) {
+
+ Coord last_track_bottom_edge;
+ if (!_time_axis_views.empty()) {
+ TimeAxisView* last = _time_axis_views.back();
+ last_track_bottom_edge = last->canvas_display()->canvas_origin ().y + last->effective_height();
+ } else {
+ last_track_bottom_edge = 0;
+ }
+ rv->move (x_delta, last_track_bottom_edge - rv->get_canvas_group()->canvas_origin().y);
+ i->time_axis_view = -1;
+ }
+ }
+
} /* foreach region */
_total_x_delta += x_delta;
- if (first_move) {
- _editor->cursor_group->raise_to_top();
- }
-
if (x_delta != 0 && !_brushing) {
show_verbose_cursor_time (_last_frame_position);
}
@@ -799,7 +863,7 @@ RegionMoveDrag::motion (GdkEvent* event, bool first_move)
}
nrv->get_canvas_group()->show ();
- new_regionviews.push_back (DraggingView (nrv, this));
+ new_regionviews.push_back (DraggingView (nrv, this, i->initial_time_axis_view));
/* swap _primary to the copy */
@@ -819,15 +883,6 @@ RegionMoveDrag::motion (GdkEvent* event, bool first_move)
_views = new_regionviews;
swap_grab (new_regionviews.front().view->get_canvas_group (), 0, event ? event->motion.time : 0);
-
- /*
- sync the canvas to what we think is its current state
- without it, the canvas seems to
- "forget" to update properly after the upcoming reparent()
- ..only if the mouse is in rapid motion at the time of the grab.
- something to do with regionview creation taking so long?
- */
- _editor->update_canvas_now();
}
}
@@ -854,7 +909,15 @@ RegionMoveDrag::finished (GdkEvent* ev, bool movement_occurred)
RegionMotionDrag::finished (ev, movement_occurred);
if (!movement_occurred) {
+
/* just a click */
+
+ if (was_double_click() && !_views.empty()) {
+ DraggingView dv = _views.front();
+ dv.view->show_region_editor ();
+
+ }
+
return;
}
@@ -880,8 +943,6 @@ RegionMoveDrag::finished (GdkEvent* ev, bool movement_occurred)
bool const changed_tracks = (_time_axis_views[_views.front().time_axis_view] != &_views.front().view->get_time_axis_view());
framecnt_t const drag_delta = _primary->region()->position() - _last_frame_position;
- _editor->update_canvas_now ();
-
if (_copy) {
finished_copy (
@@ -903,12 +964,44 @@ RegionMoveDrag::finished (GdkEvent* ev, bool movement_occurred)
_editor->maybe_locate_with_edit_preroll (_editor->get_selection().regions.start());
}
+RouteTimeAxisView*
+RegionMoveDrag::create_destination_time_axis (boost::shared_ptr<Region> region, TimeAxisView* original)
+{
+ /* Add a new track of the correct type, and return the RouteTimeAxisView that is created to display the
+ new track.
+ */
+
+ try {
+ if (boost::dynamic_pointer_cast<AudioRegion> (region)) {
+ list<boost::shared_ptr<AudioTrack> > audio_tracks;
+ audio_tracks = _editor->session()->new_audio_track (region->n_channels(), region->n_channels(), ARDOUR::Normal, 0, 1, region->name());
+ RouteTimeAxisView* rtav = _editor->axis_view_from_route (audio_tracks.front());
+ if (rtav) {
+ rtav->set_height (original->current_height());
+ }
+ return rtav;
+ } else {
+ ChanCount one_midi_port (DataType::MIDI, 1);
+ list<boost::shared_ptr<MidiTrack> > midi_tracks;
+ midi_tracks = _editor->session()->new_midi_track (one_midi_port, one_midi_port, boost::shared_ptr<ARDOUR::PluginInfo>(), ARDOUR::Normal, 0, 1, region->name());
+ RouteTimeAxisView* rtav = _editor->axis_view_from_route (midi_tracks.front());
+ if (rtav) {
+ rtav->set_height (original->current_height());
+ }
+ return rtav;
+ }
+ } catch (...) {
+ error << _("Could not create new track after region placed in the drop zone") << endmsg;
+ return 0;
+ }
+}
+
void
RegionMoveDrag::finished_copy (bool const changed_position, bool const /*changed_tracks*/, framecnt_t const drag_delta)
{
RegionSelection new_views;
PlaylistSet modified_playlists;
- list<RegionView*> views_to_delete;
+ RouteTimeAxisView* new_time_axis_view = 0;
if (_brushing) {
/* all changes were made during motion event handlers */
@@ -928,7 +1021,9 @@ RegionMoveDrag::finished_copy (bool const changed_position, bool const /*changed
}
/* insert the regions into their new playlists */
- for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
+ for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end();) {
+
+ RouteTimeAxisView* dest_rtv = 0;
if (i->view->region()->locked() || i->view->region()->video_locked()) {
continue;
@@ -941,27 +1036,31 @@ RegionMoveDrag::finished_copy (bool const changed_position, bool const /*changed
} else {
where = i->view->region()->position();
}
-
- RegionView* new_view = insert_region_into_playlist (
- i->view->region(), dynamic_cast<RouteTimeAxisView*> (_time_axis_views[i->time_axis_view]), i->layer, where, modified_playlists
- );
-
- if (new_view == 0) {
- continue;
+
+ if (i->time_axis_view < 0) {
+ if (!new_time_axis_view) {
+ new_time_axis_view = create_destination_time_axis (i->view->region(), i->initial_time_axis_view);
+ }
+ dest_rtv = new_time_axis_view;
+ } else {
+ dest_rtv = dynamic_cast<RouteTimeAxisView*> (_time_axis_views[i->time_axis_view]);
+ }
+
+ if (dest_rtv != 0) {
+ RegionView* new_view = insert_region_into_playlist (i->view->region(), dest_rtv, i->layer, where, modified_playlists);
+ if (new_view != 0) {
+ new_views.push_back (new_view);
+ }
}
+
+ /* Delete the copy of the view that was used for dragging. Need to play safe with the iterator
+ since deletion will automagically remove it from _views, thus invalidating i as an iterator.
+ */
- new_views.push_back (new_view);
-
- /* we don't need the copied RegionView any more */
- views_to_delete.push_back (i->view);
- }
-
- /* Delete views that are no longer needed; we can't do this directly in the iteration over _views
- because when views are deleted they are automagically removed from _views, which messes
- up the iteration.
- */
- for (list<RegionView*>::iterator i = views_to_delete.begin(); i != views_to_delete.end(); ++i) {
- delete *i;
+ list<DraggingView>::const_iterator next = i;
+ ++next;
+ delete i->view;
+ i = next;
}
/* If we've created new regions either by copying or moving
@@ -989,6 +1088,7 @@ RegionMoveDrag::finished_no_copy (
PlaylistSet modified_playlists;
PlaylistSet frozen_playlists;
set<RouteTimeAxisView*> views_to_update;
+ RouteTimeAxisView* new_time_axis_view = 0;
if (_brushing) {
/* all changes were made during motion event handlers */
@@ -1005,15 +1105,26 @@ RegionMoveDrag::finished_no_copy (
for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ) {
RegionView* rv = i->view;
-
- RouteTimeAxisView* const dest_rtv = dynamic_cast<RouteTimeAxisView*> (_time_axis_views[i->time_axis_view]);
- double const dest_layer = i->layer;
+ RouteTimeAxisView* dest_rtv = 0;
if (rv->region()->locked() || rv->region()->video_locked()) {
++i;
continue;
}
+
+ if (i->time_axis_view < 0) {
+ if (!new_time_axis_view) {
+ new_time_axis_view = create_destination_time_axis (rv->region(), i->initial_time_axis_view);
+ }
+ dest_rtv = new_time_axis_view;
+ } else {
+ dest_rtv = dynamic_cast<RouteTimeAxisView*> (_time_axis_views[i->time_axis_view]);
+ }
+
+ assert (dest_rtv);
+ double const dest_layer = i->layer;
+
views_to_update.insert (dest_rtv);
framepos_t where;
@@ -1047,12 +1158,23 @@ RegionMoveDrag::finished_no_copy (
visible.
*/
rv->hide_region_editor();
- rv->fake_set_opaque (false);
+
remove_region_from_playlist (rv->region(), i->initial_playlist, modified_playlists);
} else {
+ boost::shared_ptr<Playlist> playlist = dest_rtv->playlist();
+
+ /* this movement may result in a crossfade being modified, or a layering change,
+ so we need to get undo data from the playlist as well as the region.
+ */
+
+ pair<PlaylistSet::iterator, bool> r = modified_playlists.insert (playlist);
+ if (r.second) {
+ playlist->clear_changes ();
+ }
+
rv->region()->clear_changes ();
/*
@@ -1061,35 +1183,23 @@ RegionMoveDrag::finished_no_copy (
No need to do anything for copies as they are fake regions which will be deleted.
*/
- rv->get_canvas_group()->reparent (*dest_rtv->view()->canvas_item());
- rv->get_canvas_group()->property_y() = i->initial_y;
+ rv->get_canvas_group()->reparent (dest_rtv->view()->canvas_item());
+ rv->get_canvas_group()->set_y_position (i->initial_y);
rv->drag_end ();
/* just change the model */
-
- boost::shared_ptr<Playlist> playlist = dest_rtv->playlist();
-
if (dest_rtv->view()->layer_display() == Stacked || dest_rtv->view()->layer_display() == Expanded) {
playlist->set_layer (rv->region(), dest_layer);
}
/* freeze playlist to avoid lots of relayering in the case of a multi-region drag */
- pair<PlaylistSet::iterator, bool> r = frozen_playlists.insert (playlist);
+ r = frozen_playlists.insert (playlist);
if (r.second) {
playlist->freeze ();
}
- /* this movement may result in a crossfade being modified, so we need to get undo
- data from the playlist as well as the region.
- */
-
- r = modified_playlists.insert (playlist);
- if (r.second) {
- playlist->clear_changes ();
- }
-
rv->region()->set_position (where);
_editor->session()->add_command (new StatefulDiffCommand (rv->region()));
@@ -1174,7 +1284,7 @@ RegionMoveDrag::remove_region_from_playlist (
playlist->clear_changes ();
}
- playlist->remove_region (region);
+ playlist->remove_region (region); // should be no need to ripple; we better already have rippled the playlist in RegionRippleDrag
}
@@ -1265,8 +1375,13 @@ void
RegionMotionDrag::aborted (bool)
{
for (vector<TimeAxisView*>::iterator i = _time_axis_views.begin(); i != _time_axis_views.end(); ++i) {
- if ((*i)->view()->layer_display() == Expanded) {
- (*i)->view()->set_layer_display (Stacked);
+
+ StreamView* sview = (*i)->view();
+
+ if (sview) {
+ if (sview->layer_display() == Expanded) {
+ sview->set_layer_display (Stacked);
+ }
}
}
@@ -1275,15 +1390,12 @@ RegionMotionDrag::aborted (bool)
TimeAxisView* tv = &(rv->get_time_axis_view ());
RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (tv);
assert (rtv);
- rv->get_canvas_group()->reparent (*rtv->view()->canvas_item());
- rv->get_canvas_group()->property_y() = 0;
+ rv->get_canvas_group()->reparent (rtv->view()->canvas_item());
+ rv->get_canvas_group()->set_y_position (0);
rv->drag_end ();
- rv->fake_set_opaque (false);
rv->move (-_total_x_delta, 0);
rv->set_height (rtv->view()->child_height ());
}
-
- _editor->update_canvas_now ();
}
/** @param b true to brush, otherwise false.
@@ -1322,7 +1434,7 @@ RegionInsertDrag::RegionInsertDrag (Editor* e, boost::shared_ptr<Region> r, Rout
_primary->get_canvas_group()->show ();
_primary->set_position (pos, 0);
- _views.push_back (DraggingView (_primary, this));
+ _views.push_back (DraggingView (_primary, this, v));
_last_frame_position = pos;
@@ -1332,18 +1444,22 @@ RegionInsertDrag::RegionInsertDrag (Editor* e, boost::shared_ptr<Region> r, Rout
void
RegionInsertDrag::finished (GdkEvent *, bool)
{
- _editor->update_canvas_now ();
-
RouteTimeAxisView* dest_rtv = dynamic_cast<RouteTimeAxisView*> (_time_axis_views[_views.front().time_axis_view]);
- _primary->get_canvas_group()->reparent (*dest_rtv->view()->canvas_item());
- _primary->get_canvas_group()->property_y() = 0;
+ _primary->get_canvas_group()->reparent (dest_rtv->view()->canvas_item());
+ _primary->get_canvas_group()->set_y_position (0);
boost::shared_ptr<Playlist> playlist = dest_rtv->playlist();
_editor->begin_reversible_command (Operations::insert_region);
playlist->clear_changes ();
playlist->add_region (_primary->region (), _last_frame_position);
+
+ // Mixbus doesn't seem to ripple when inserting regions from the list: should we? yes, probably
+ if (Config->get_edit_mode() == Ripple) {
+ playlist->ripple (_last_frame_position, _primary->region()->length(), _primary->region());
+ }
+
_editor->session()->add_command (new StatefulDiffCommand (playlist));
_editor->commit_reversible_command ();
@@ -1377,7 +1493,7 @@ RegionSpliceDrag::motion (GdkEvent* event, bool)
{
/* Which trackview is this ? */
- pair<TimeAxisView*, double> const tvp = _editor->trackview_by_y_position (_drags->current_pointer_y ());
+ pair<TimeAxisView*, double> const tvp = _editor->trackview_by_y_position (current_pointer_y ());
RouteTimeAxisView* tv = dynamic_cast<RouteTimeAxisView*> (tvp.first);
/* The region motion is only processed if the pointer is over
@@ -1386,10 +1502,12 @@ RegionSpliceDrag::motion (GdkEvent* event, bool)
if (!tv || !tv->is_track()) {
/* To make sure we hide the verbose canvas cursor when the mouse is
- not held over and audiotrack.
+ not held over an audio track.
*/
_editor->verbose_cursor()->hide ();
return;
+ } else {
+ _editor->verbose_cursor()->show ();
}
int dir;
@@ -1400,10 +1518,8 @@ RegionSpliceDrag::motion (GdkEvent* event, bool)
dir = -1;
}
- RegionSelection copy (_editor->selection->regions);
-
- RegionSelectionByPosition cmp;
- copy.sort (cmp);
+ RegionSelection copy;
+ _editor->selection->regions.by_position(copy);
framepos_t const pf = adjusted_current_frame (event);
@@ -1452,6 +1568,290 @@ RegionSpliceDrag::aborted (bool)
/* XXX: TODO */
}
+/***
+ * ripple mode...
+ */
+
+void
+RegionRippleDrag::add_all_after_to_views(TimeAxisView *tav, framepos_t where, const RegionSelection &exclude, bool drag_in_progress)
+{
+
+ boost::shared_ptr<RegionList> rl = tav->playlist()->regions_with_start_within (Evoral::Range<framepos_t>(where, max_framepos));
+
+ RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*>(tav);
+ RegionSelection to_ripple;
+ for (RegionList::iterator i = rl->begin(); i != rl->end(); ++i) {
+ if ((*i)->position() >= where) {
+ to_ripple.push_back (rtv->view()->find_view(*i));
+ }
+ }
+
+ for (RegionSelection::iterator i = to_ripple.begin(); i != to_ripple.end(); ++i) {
+ if (!exclude.contains (*i)) {
+ // the selection has already been added to _views
+
+ if (drag_in_progress) {
+ // do the same things that RegionMotionDrag::motion does when
+ // first_move is true, for the region views that we're adding
+ // to _views this time
+
+ (*i)->drag_start();
+ ArdourCanvas::Item* rvg = (*i)->get_canvas_group();
+ Duple rv_canvas_offset = rvg->item_to_canvas (Duple (0,0));
+ Duple dmg_canvas_offset = _editor->_drag_motion_group->canvas_origin ();
+ rvg->reparent (_editor->_drag_motion_group);
+
+ // we only need to move in the y direction
+ Duple fudge = rv_canvas_offset - dmg_canvas_offset;
+ fudge.x = 0;
+ rvg->move (fudge);
+
+ }
+ _views.push_back (DraggingView (*i, this, tav));
+ }
+ }
+}
+
+void
+RegionRippleDrag::remove_unselected_from_views(framecnt_t amount, bool move_regions)
+{
+
+ for (std::list<DraggingView>::iterator i = _views.begin(); i != _views.end(); ) {
+ // we added all the regions after the selection
+
+ std::list<DraggingView>::iterator to_erase = i++;
+ if (!_editor->selection->regions.contains (to_erase->view)) {
+ // restore the non-selected regions to their original playlist & positions,
+ // and then ripple them back by the length of the regions that were dragged away
+ // do the same things as RegionMotionDrag::aborted
+
+ RegionView *rv = to_erase->view;
+ TimeAxisView* tv = &(rv->get_time_axis_view ());
+ RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (tv);
+ assert (rtv);
+
+ // plonk them back onto their own track
+ rv->get_canvas_group()->reparent(rtv->view()->canvas_item());
+ rv->get_canvas_group()->set_y_position (0);
+ rv->drag_end ();
+
+ if (move_regions) {
+ // move the underlying region to match the view
+ rv->region()->set_position (rv->region()->position() + amount);
+ } else {
+ // restore the view to match the underlying region's original position
+ rv->move(-amount, 0); // second parameter is y delta - seems 0 is OK
+ }
+
+ rv->set_height (rtv->view()->child_height ());
+ _views.erase (to_erase);
+ }
+ }
+}
+
+bool
+RegionRippleDrag::y_movement_allowed (int delta_track, double delta_layer) const
+{
+ if (RegionMotionDrag::y_movement_allowed (delta_track, delta_layer)) {
+ if (delta_track) {
+ return allow_moves_across_tracks;
+ } else {
+ return true;
+ }
+ }
+ return false;
+}
+
+RegionRippleDrag::RegionRippleDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v)
+ : RegionMoveDrag (e, i, p, v, false, false)
+{
+ DEBUG_TRACE (DEBUG::Drags, "New RegionRippleDrag\n");
+ // compute length of selection
+ RegionSelection selected_regions = _editor->selection->regions;
+ selection_length = selected_regions.end_frame() - selected_regions.start();
+
+ // we'll only allow dragging to another track in ripple mode if all the regions
+ // being dragged start off on the same track
+ allow_moves_across_tracks = (selected_regions.playlists().size() == 1);
+ prev_tav = NULL;
+ prev_amount = 0;
+ exclude = new RegionList;
+ for (RegionSelection::iterator i =selected_regions.begin(); i != selected_regions.end(); ++i) {
+ exclude->push_back((*i)->region());
+ }
+
+ // also add regions before start of selection to exclude, to be consistent with how Mixbus does ripple
+ RegionSelection copy;
+ selected_regions.by_position(copy); // get selected regions sorted by position into copy
+
+ std::set<boost::shared_ptr<ARDOUR::Playlist> > playlists = copy.playlists();
+ std::set<boost::shared_ptr<ARDOUR::Playlist> >::const_iterator pi;
+
+ for (pi = playlists.begin(); pi != playlists.end(); ++pi) {
+ // find ripple start point on each applicable playlist
+ RegionView *first_selected_on_this_track = NULL;
+ for (RegionSelection::iterator i = copy.begin(); i != copy.end(); ++i) {
+ if ((*i)->region()->playlist() == (*pi)) {
+ // region is on this playlist - it's the first, because they're sorted
+ first_selected_on_this_track = *i;
+ break;
+ }
+ }
+ assert (first_selected_on_this_track); // we should always find the region in one of the playlists...
+ add_all_after_to_views (
+ &first_selected_on_this_track->get_time_axis_view(),
+ first_selected_on_this_track->region()->position(),
+ selected_regions, false);
+ }
+
+ if (allow_moves_across_tracks) {
+ orig_tav = &(*selected_regions.begin())->get_time_axis_view();
+ } else {
+ orig_tav = NULL;
+ }
+
+}
+
+void
+RegionRippleDrag::motion (GdkEvent* event, bool first_move)
+{
+ /* Which trackview is this ? */
+
+ pair<TimeAxisView*, double> const tvp = _editor->trackview_by_y_position (current_pointer_y ());
+ RouteTimeAxisView* tv = dynamic_cast<RouteTimeAxisView*> (tvp.first);
+
+ /* The region motion is only processed if the pointer is over
+ an audio track.
+ */
+
+ if (!tv || !tv->is_track()) {
+ /* To make sure we hide the verbose canvas cursor when the mouse is
+ not held over an audiotrack.
+ */
+ _editor->verbose_cursor()->hide ();
+ return;
+ }
+
+ framepos_t where = adjusted_current_frame (event);
+ assert (where >= 0);
+ framepos_t after;
+ double delta = compute_x_delta (event, &after);
+
+ framecnt_t amount = _editor->pixel_to_sample (delta);
+
+ if (allow_moves_across_tracks) {
+ // all the originally selected regions were on the same track
+
+ framecnt_t adjust = 0;
+ if (prev_tav && tv != prev_tav) {
+ // dragged onto a different track
+ // remove the unselected regions from _views, restore them to their original positions
+ // and add the regions after the drop point on the new playlist to _views instead.
+ // undo the effect of rippling the previous playlist, and include the effect of removing
+ // the dragged region(s) from this track
+
+ remove_unselected_from_views (prev_amount, false);
+ // ripple previous playlist according to the regions that have been removed onto the new playlist
+ prev_tav->playlist()->ripple(prev_position, -selection_length, exclude);
+ prev_amount = 0;
+
+ // move just the selected regions
+ RegionMoveDrag::motion(event, first_move);
+
+ // ensure that the ripple operation on the new playlist inserts selection_length time
+ adjust = selection_length;
+ // ripple the new current playlist
+ tv->playlist()->ripple (where, amount+adjust, exclude);
+
+ // add regions after point where drag entered this track to subsequent ripples
+ add_all_after_to_views (tv, where, _editor->selection->regions, true);
+
+ } else {
+ // motion on same track
+ RegionMoveDrag::motion(event, first_move);
+ }
+ prev_tav = tv;
+
+ // remember what we've done to this playlist so we can undo it if the selection is dragged to another track
+ prev_position = where;
+ } else {
+ // selection encompasses multiple tracks - just drag
+ // cross-track drags are forbidden
+ RegionMoveDrag::motion(event, first_move);
+ }
+
+ if (!_x_constrained) {
+ prev_amount += amount;
+ }
+
+ _last_frame_position = after;
+}
+
+void
+RegionRippleDrag::finished (GdkEvent* event, bool movement_occurred)
+{
+ if (!movement_occurred) {
+
+ /* just a click */
+
+ if (was_double_click() && !_views.empty()) {
+ DraggingView dv = _views.front();
+ dv.view->show_region_editor ();
+
+ }
+
+ return;
+ }
+
+ _editor->begin_reversible_command(_("Ripple drag"));
+
+ // remove the regions being rippled from the dragging view, updating them to
+ // their new positions
+ remove_unselected_from_views (prev_amount, true);
+
+ if (allow_moves_across_tracks) {
+ if (orig_tav) {
+ // if regions were dragged across tracks, we've rippled any later
+ // regions on the track the regions were dragged off, so we need
+ // to add the original track to the undo record
+ orig_tav->playlist()->clear_changes();
+ vector<Command*> cmds;
+ orig_tav->playlist()->rdiff (cmds);
+ _editor->session()->add_commands (cmds);
+ }
+ if (prev_tav && prev_tav != orig_tav) {
+ prev_tav->playlist()->clear_changes();
+ vector<Command*> cmds;
+ prev_tav->playlist()->rdiff (cmds);
+ _editor->session()->add_commands (cmds);
+ }
+ } else {
+ // selection spanned multiple tracks - all will need adding to undo record
+
+ std::set<boost::shared_ptr<ARDOUR::Playlist> > playlists = _editor->selection->regions.playlists();
+ std::set<boost::shared_ptr<ARDOUR::Playlist> >::const_iterator pi;
+
+ for (pi = playlists.begin(); pi != playlists.end(); ++pi) {
+ (*pi)->clear_changes();
+ vector<Command*> cmds;
+ (*pi)->rdiff (cmds);
+ _editor->session()->add_commands (cmds);
+ }
+ }
+
+ // other modified playlists are added to undo by RegionMoveDrag::finished()
+ RegionMoveDrag::finished (event, movement_occurred);
+ _editor->commit_reversible_command();
+}
+
+void
+RegionRippleDrag::aborted (bool movement_occurred)
+{
+ RegionMoveDrag::aborted (movement_occurred);
+ _views.clear ();
+}
+
+
RegionCreateDrag::RegionCreateDrag (Editor* e, ArdourCanvas::Item* i, TimeAxisView* v)
: Drag (e, i),
_view (dynamic_cast<MidiTimeAxisView*> (v))
@@ -1481,7 +1881,7 @@ RegionCreateDrag::motion (GdkEvent* event, bool first_move)
place snapped notes at the start of the region.
*/
- framecnt_t const len = (framecnt_t) fabs (f - grab_frame () - 1);
+ framecnt_t const len = (framecnt_t) fabs ((double)(f - grab_frame () - 1));
_region->set_length (len < 1 ? 1 : len);
}
}
@@ -1518,7 +1918,8 @@ void
NoteResizeDrag::start_grab (GdkEvent* event, Gdk::Cursor* /*ignored*/)
{
Gdk::Cursor* cursor;
- ArdourCanvas::CanvasNoteEvent* cnote = dynamic_cast<ArdourCanvas::CanvasNoteEvent*>(_item);
+ NoteBase* cnote = reinterpret_cast<NoteBase*> (_item->get_data ("notebase"));
+ assert (cnote);
float x_fraction = cnote->mouse_x_fraction ();
if (x_fraction > 0.0 && x_fraction < 0.25) {
@@ -1532,7 +1933,7 @@ NoteResizeDrag::start_grab (GdkEvent* event, Gdk::Cursor* /*ignored*/)
region = &cnote->region_view();
double const region_start = region->get_position_pixels();
- double const middle_point = region_start + cnote->x1() + (cnote->x2() - cnote->x1()) / 2.0L;
+ double const middle_point = region_start + cnote->x0() + (cnote->x1() - cnote->x0()) / 2.0L;
if (grab_x() <= middle_point) {
cursor = _editor->cursors()->left_side_trim;
@@ -1542,7 +1943,7 @@ NoteResizeDrag::start_grab (GdkEvent* event, Gdk::Cursor* /*ignored*/)
at_front = false;
}
- _item->grab(GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK, *cursor, event->motion.time);
+ _item->grab ();
if (event->motion.state & Keyboard::PrimaryModifier) {
relative = false;
@@ -1576,7 +1977,9 @@ NoteResizeDrag::motion (GdkEvent* /*event*/, bool /*first_move*/)
{
MidiRegionSelection& ms (_editor->get_selection().midi_regions);
for (MidiRegionSelection::iterator r = ms.begin(); r != ms.end(); ++r) {
- (*r)->update_resizing (dynamic_cast<ArdourCanvas::CanvasNoteEvent*>(_item), at_front, _drags->current_pointer_x() - grab_x(), relative);
+ NoteBase* nb = reinterpret_cast<NoteBase*> (_item->get_data ("notebase"));
+ assert (nb);
+ (*r)->update_resizing (nb, at_front, _drags->current_pointer_x() - grab_x(), relative);
}
}
@@ -1585,7 +1988,9 @@ NoteResizeDrag::finished (GdkEvent*, bool /*movement_occurred*/)
{
MidiRegionSelection& ms (_editor->get_selection().midi_regions);
for (MidiRegionSelection::iterator r = ms.begin(); r != ms.end(); ++r) {
- (*r)->commit_resizing (dynamic_cast<ArdourCanvas::CanvasNoteEvent*>(_item), at_front, _drags->current_pointer_x() - grab_x(), relative);
+ NoteBase* nb = reinterpret_cast<NoteBase*> (_item->get_data ("notebase"));
+ assert (nb);
+ (*r)->commit_resizing (nb, at_front, _drags->current_pointer_x() - grab_x(), relative);
}
}
@@ -1650,8 +2055,7 @@ VideoTimeLineDrag::start_grab (GdkEvent* event, Gdk::Cursor*)
Timecode::Time timecode;
_editor->session()->sample_to_timecode(abs(_startdrag_video_offset), timecode, true /* use_offset */, false /* use_subframes */ );
snprintf (buf, sizeof (buf), "Video Start:\n%c%02" PRId32 ":%02" PRId32 ":%02" PRId32 ":%02" PRId32, (_startdrag_video_offset<0?'-':' '), timecode.hours, timecode.minutes, timecode.seconds, timecode.frames);
- _editor->verbose_cursor()->set(buf, event->button.x + 10, event->button.y + 10);
- _editor->verbose_cursor()->show ();
+ show_verbose_cursor_text (buf);
}
void
@@ -1679,8 +2083,6 @@ VideoTimeLineDrag::motion (GdkEvent* event, bool first_move)
DEBUG_TRACE (DEBUG::Drags, string_compose("SHIFT REGION at %1 by %2\n", i->initial_position, dt));
if (first_move) {
rv->drag_start ();
- _editor->update_canvas_now ();
- rv->fake_set_opaque (true);
rv->region()->clear_changes ();
rv->region()->suspend_property_changes();
}
@@ -1702,8 +2104,7 @@ VideoTimeLineDrag::motion (GdkEvent* event, bool first_move)
, _("Diff:"),
(dt<0?'-':' '), timediff.hours, timediff.minutes, timediff.seconds, timediff.frames
);
- _editor->verbose_cursor()->set(buf, event->button.x + 10, event->button.y + 10);
- _editor->verbose_cursor()->show ();
+ show_verbose_cursor_text (buf);
}
void
@@ -1728,7 +2129,6 @@ VideoTimeLineDrag::finished (GdkEvent * /*event*/, bool movement_occurred)
for (list<AVDraggingView>::iterator i = _views.begin(); i != _views.end(); ++i) {
i->view->drag_end();
- i->view->fake_set_opaque (false);
i->view->region()->resume_property_changes ();
_editor->session()->add_command (new StatefulDiffCommand (i->view->region()));
@@ -1741,7 +2141,6 @@ VideoTimeLineDrag::finished (GdkEvent * /*event*/, bool movement_occurred)
_editor->commit_reversible_command ();
- _editor->update_canvas_now ();
}
void
@@ -1761,9 +2160,10 @@ VideoTimeLineDrag::aborted (bool)
TrimDrag::TrimDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v, bool preserve_fade_anchor)
: RegionDrag (e, i, p, v)
+ , _preserve_fade_anchor (preserve_fade_anchor)
+ , _jump_position_when_done (false)
{
DEBUG_TRACE (DEBUG::Drags, "New TrimDrag\n");
- _preserve_fade_anchor = preserve_fade_anchor;
}
void
@@ -1792,14 +2192,27 @@ TrimDrag::start_grab (GdkEvent* event, Gdk::Cursor*)
if (pf < (region_start + region_length/2)) {
/* closer to front */
_operation = StartTrim;
- Drag::start_grab (event, _editor->cursors()->left_side_trim);
+
+ if (Keyboard::modifier_state_equals (event->button.state, Keyboard::TertiaryModifier)) {
+ Drag::start_grab (event, _editor->cursors()->anchored_left_side_trim);
+ } else {
+ Drag::start_grab (event, _editor->cursors()->left_side_trim);
+ }
} else {
/* closer to end */
_operation = EndTrim;
- Drag::start_grab (event, _editor->cursors()->right_side_trim);
+ if (Keyboard::modifier_state_equals (event->button.state, Keyboard::TertiaryModifier)) {
+ Drag::start_grab (event, _editor->cursors()->anchored_right_side_trim);
+ } else {
+ Drag::start_grab (event, _editor->cursors()->right_side_trim);
+ }
}
}
+ if (Keyboard::modifier_state_equals (event->button.state, Keyboard::TertiaryModifier)) {
+ _jump_position_when_done = true;
+ }
+
switch (_operation) {
case StartTrim:
show_verbose_cursor_time (region_start);
@@ -1829,12 +2242,13 @@ TrimDrag::motion (GdkEvent* event, bool first_move)
TimeAxisView* tvp = &_primary->get_time_axis_view ();
RouteTimeAxisView* tv = dynamic_cast<RouteTimeAxisView*>(tvp);
pair<set<boost::shared_ptr<Playlist> >::iterator,bool> insert_result;
+ frameoffset_t frame_delta = 0;
if (tv && tv->is_track()) {
speed = tv->track()->speed();
}
- framecnt_t const dt = adjusted_current_frame (event) - raw_grab_frame () + _pointer_frame_offset;
+ framecnt_t dt = adjusted_current_frame (event) - raw_grab_frame () + _pointer_frame_offset;
if (first_move) {
@@ -1850,13 +2264,15 @@ TrimDrag::motion (GdkEvent* event, bool first_move)
case ContentsTrim:
trim_type = "Region content trim";
break;
+ default:
+ assert(0);
+ break;
}
_editor->begin_reversible_command (trim_type);
for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
RegionView* rv = i->view;
- rv->fake_set_opaque (false);
rv->enable_display (false);
rv->region()->playlist()->clear_owned_changes ();
@@ -1882,42 +2298,67 @@ TrimDrag::motion (GdkEvent* event, bool first_move)
non_overlap_trim = true;
}
+ /* contstrain trim to fade length */
+ if (_preserve_fade_anchor) {
+ switch (_operation) {
+ case StartTrim:
+ for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
+ AudioRegionView* arv = dynamic_cast<AudioRegionView*> (i->view);
+ if (!arv) continue;
+ boost::shared_ptr<AudioRegion> ar (arv->audio_region());
+ if (ar->locked()) continue;
+ framecnt_t len = ar->fade_in()->back()->when;
+ if (len < dt) dt = min(dt, len);
+ }
+ break;
+ case EndTrim:
+ for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
+ AudioRegionView* arv = dynamic_cast<AudioRegionView*> (i->view);
+ if (!arv) continue;
+ boost::shared_ptr<AudioRegion> ar (arv->audio_region());
+ if (ar->locked()) continue;
+ framecnt_t len = ar->fade_out()->back()->when;
+ if (len < -dt) dt = max(dt, -len);
+ }
+ break;
+ case ContentsTrim:
+ break;
+ }
+ }
+
+
switch (_operation) {
case StartTrim:
- for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
+ for (list<DraggingView>::iterator i = _views.begin(); i != _views.end(); ++i) {
bool changed = i->view->trim_front (i->initial_position + dt, non_overlap_trim);
if (changed && _preserve_fade_anchor) {
AudioRegionView* arv = dynamic_cast<AudioRegionView*> (i->view);
if (arv) {
- double distance;
- double new_length;
- framecnt_t len;
boost::shared_ptr<AudioRegion> ar (arv->audio_region());
- distance = _drags->current_pointer_x() - grab_x();
- len = ar->fade_in()->back()->when;
- new_length = len - _editor->unit_to_frame (distance);
- new_length = ar->verify_xfade_bounds (new_length, true /*START*/ );
- arv->reset_fade_in_shape_width (ar, new_length); //the grey shape
+ framecnt_t len = ar->fade_in()->back()->when;
+ framecnt_t diff = ar->first_frame() - i->initial_position;
+ framepos_t new_length = len - diff;
+ i->anchored_fade_length = min (ar->length(), new_length);
+ //i->anchored_fade_length = ar->verify_xfade_bounds (new_length, true /*START*/ );
+ arv->reset_fade_in_shape_width (ar, i->anchored_fade_length, true);
}
}
}
break;
case EndTrim:
- for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
+ for (list<DraggingView>::iterator i = _views.begin(); i != _views.end(); ++i) {
bool changed = i->view->trim_end (i->initial_end + dt, non_overlap_trim);
if (changed && _preserve_fade_anchor) {
AudioRegionView* arv = dynamic_cast<AudioRegionView*> (i->view);
if (arv) {
- double distance;
- double new_length;
- framecnt_t len;
boost::shared_ptr<AudioRegion> ar (arv->audio_region());
- distance = grab_x() - _drags->current_pointer_x();
- len = ar->fade_out()->back()->when;
- new_length = len - _editor->unit_to_frame (distance);
- new_length = ar->verify_xfade_bounds (new_length, false /*END*/ );
- arv->reset_fade_out_shape_width (ar, new_length); //the grey shape
+ framecnt_t len = ar->fade_out()->back()->when;
+ framecnt_t diff = 1 + ar->last_frame() - i->initial_end;
+ framepos_t new_length = len + diff;
+ i->anchored_fade_length = min (ar->length(), new_length);
+ //i->anchored_fade_length = ar->verify_xfade_bounds (new_length, false /*END*/ );
+ arv->reset_fade_out_shape_width (ar, i->anchored_fade_length, true);
}
}
}
@@ -1925,27 +2366,10 @@ TrimDrag::motion (GdkEvent* event, bool first_move)
case ContentsTrim:
{
- bool swap_direction = false;
-
- if (event && Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier)) {
- swap_direction = true;
- }
-
- framecnt_t frame_delta = 0;
-
- bool left_direction = false;
- if (last_pointer_frame() > adjusted_current_frame(event)) {
- left_direction = true;
- }
-
- if (left_direction) {
- frame_delta = (last_pointer_frame() - adjusted_current_frame(event));
- } else {
- frame_delta = (adjusted_current_frame(event) - last_pointer_frame());
- }
+ frame_delta = (last_pointer_frame() - adjusted_current_frame(event));
for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
- i->view->trim_contents (frame_delta, left_direction, swap_direction);
+ i->view->move_contents (frame_delta);
}
}
break;
@@ -1959,7 +2383,7 @@ TrimDrag::motion (GdkEvent* event, bool first_move)
show_verbose_cursor_time ((framepos_t) (rv->region()->last_frame() / speed));
break;
case ContentsTrim:
- show_verbose_cursor_time (adjusted_current_frame (event));
+ // show_verbose_cursor_time (frame_delta);
break;
}
}
@@ -1983,34 +2407,30 @@ TrimDrag::finished (GdkEvent* event, bool movement_occurred)
if (_preserve_fade_anchor) {
AudioRegionView* arv = dynamic_cast<AudioRegionView*> (i->view);
if (arv) {
- double distance;
- double new_length;
- framecnt_t len;
boost::shared_ptr<AudioRegion> ar (arv->audio_region());
- distance = _drags->current_pointer_x() - grab_x();
- len = ar->fade_in()->back()->when;
- new_length = len - _editor->unit_to_frame (distance);
- new_length = ar->verify_xfade_bounds (new_length, true /*START*/ );
- ar->set_fade_in_length(new_length);
+ arv->reset_fade_in_shape_width (ar, i->anchored_fade_length);
+ ar->set_fade_in_length(i->anchored_fade_length);
+ ar->set_fade_in_active(true);
}
}
+ if (_jump_position_when_done) {
+ i->view->region()->set_position (i->initial_position);
+ }
}
} else if (_operation == EndTrim) {
for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
if (_preserve_fade_anchor) {
AudioRegionView* arv = dynamic_cast<AudioRegionView*> (i->view);
if (arv) {
- double distance;
- double new_length;
- framecnt_t len;
boost::shared_ptr<AudioRegion> ar (arv->audio_region());
- distance = _drags->current_pointer_x() - grab_x();
- len = ar->fade_out()->back()->when;
- new_length = len - _editor->unit_to_frame (distance);
- new_length = ar->verify_xfade_bounds (new_length, false /*END*/ );
- ar->set_fade_out_length(new_length);
+ arv->reset_fade_out_shape_width (ar, i->anchored_fade_length);
+ ar->set_fade_out_length(i->anchored_fade_length);
+ ar->set_fade_out_active(true);
}
}
+ if (_jump_position_when_done) {
+ i->view->region()->set_position (i->initial_end - i->view->region()->length());
+ }
}
}
@@ -2035,7 +2455,6 @@ TrimDrag::finished (GdkEvent* event, bool movement_occurred)
for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
i->view->thaw_after_trim ();
i->view->enable_display (true);
- i->view->fake_set_opaque (true);
/* Trimming one region may affect others on the playlist, so we need
to get undo Commands from the whole playlist rather than just the
@@ -2141,6 +2560,10 @@ MeterMarkerDrag::setup_pointer_frame_offset ()
void
MeterMarkerDrag::motion (GdkEvent* event, bool first_move)
{
+ if (!_marker->meter().movable()) {
+ return;
+ }
+
if (first_move) {
// create a dummy marker for visual representation of moving the
@@ -2160,7 +2583,7 @@ MeterMarkerDrag::motion (GdkEvent* event, bool first_move)
_marker = new MeterMarker (
*_editor,
*_editor->meter_group,
- ARDOUR_UI::config()->canvasvar_MeterMarker.get(),
+ ARDOUR_UI::config()->get_canvasvar_MeterMarker(),
name,
*new MeterSection (_marker->meter())
);
@@ -2186,6 +2609,13 @@ void
MeterMarkerDrag::finished (GdkEvent* event, bool movement_occurred)
{
if (!movement_occurred) {
+ if (was_double_click()) {
+ _editor->edit_meter_marker (*_marker);
+ }
+ return;
+ }
+
+ if (!_marker->meter().movable()) {
return;
}
@@ -2261,6 +2691,10 @@ TempoMarkerDrag::setup_pointer_frame_offset ()
void
TempoMarkerDrag::motion (GdkEvent* event, bool first_move)
{
+ if (!_marker->tempo().movable()) {
+ return;
+ }
+
if (first_move) {
// create a dummy marker for visual representation of moving the
@@ -2279,7 +2713,7 @@ TempoMarkerDrag::motion (GdkEvent* event, bool first_move)
_marker = new TempoMarker (
*_editor,
*_editor->tempo_group,
- ARDOUR_UI::config()->canvasvar_TempoMarker.get(),
+ ARDOUR_UI::config()->get_canvasvar_TempoMarker(),
name,
*new TempoSection (_marker->tempo())
);
@@ -2305,6 +2739,13 @@ void
TempoMarkerDrag::finished (GdkEvent* event, bool movement_occurred)
{
if (!movement_occurred) {
+ if (was_double_click()) {
+ _editor->edit_tempo_marker (*_marker);
+ }
+ return;
+ }
+
+ if (!_marker->tempo().movable()) {
return;
}
@@ -2352,9 +2793,10 @@ TempoMarkerDrag::aborted (bool moved)
}
}
-CursorDrag::CursorDrag (Editor* e, ArdourCanvas::Item* i, bool s)
- : Drag (e, i),
- _stop (s)
+CursorDrag::CursorDrag (Editor* e, EditorCursor& c, bool s)
+ : Drag (e, &c.track_canvas_item(), false)
+ , _cursor (c)
+ , _stop (s)
{
DEBUG_TRACE (DEBUG::Drags, "New CursorDrag\n");
}
@@ -2370,7 +2812,7 @@ CursorDrag::fake_locate (framepos_t t)
Session* s = _editor->session ();
if (s->timecode_transmission_suspended ()) {
- framepos_t const f = _editor->playhead_cursor->current_frame;
+ framepos_t const f = _editor->playhead_cursor->current_frame ();
/* This is asynchronous so it will be sent "now"
*/
s->send_mmc_locate (f);
@@ -2390,15 +2832,20 @@ CursorDrag::start_grab (GdkEvent* event, Gdk::Cursor* c)
{
Drag::start_grab (event, c);
- _grab_zoom = _editor->frames_per_unit;
+ _grab_zoom = _editor->samples_per_pixel;
+
+ framepos_t where = _editor->canvas_event_sample (event);
- framepos_t where = _editor->event_frame (event, 0, 0);
_editor->snap_to_with_modifier (where, event);
_editor->_dragging_playhead = true;
Session* s = _editor->session ();
+ /* grab the track canvas item as well */
+
+ _cursor.track_canvas_item().grab();
+
if (s) {
if (_was_rolling && _stop) {
s->request_stop ();
@@ -2434,9 +2881,6 @@ CursorDrag::motion (GdkEvent* event, bool)
framepos_t const adjusted_frame = adjusted_current_frame (event);
if (adjusted_frame != last_pointer_frame()) {
fake_locate (adjusted_frame);
-#ifdef GTKOSX
- _editor->update_canvas_now ();
-#endif
}
}
@@ -2445,6 +2889,8 @@ CursorDrag::finished (GdkEvent* event, bool movement_occurred)
{
_editor->_dragging_playhead = false;
+ _cursor.track_canvas_item().ungrab();
+
if (!movement_occurred && _stop) {
return;
}
@@ -2453,7 +2899,7 @@ CursorDrag::finished (GdkEvent* event, bool movement_occurred)
Session* s = _editor->session ();
if (s) {
- s->request_locate (_editor->playhead_cursor->current_frame, _was_rolling);
+ s->request_locate (_editor->playhead_cursor->current_frame (), _was_rolling);
_editor->_pending_locate_request = true;
s->request_resume_timecode_transmission ();
}
@@ -2462,6 +2908,8 @@ CursorDrag::finished (GdkEvent* event, bool movement_occurred)
void
CursorDrag::aborted (bool)
{
+ _cursor.track_canvas_item().ungrab();
+
if (_editor->_dragging_playhead) {
_editor->session()->request_resume_timecode_transmission ();
_editor->_dragging_playhead = false;
@@ -2710,8 +3158,8 @@ MarkerDrag::MarkerDrag (Editor* e, ArdourCanvas::Item* i)
_marker = reinterpret_cast<Marker*> (_item->get_data ("marker"));
assert (_marker);
- _points.push_back (Gnome::Art::Point (0, 0));
- _points.push_back (Gnome::Art::Point (0, physical_screen_height (_editor->get_window())));
+ _points.push_back (ArdourCanvas::Duple (0, 0));
+ _points.push_back (ArdourCanvas::Duple (0, physical_screen_height (_editor->get_window())));
}
MarkerDrag::~MarkerDrag ()
@@ -2981,16 +3429,17 @@ MarkerDrag::motion (GdkEvent* event, bool)
assert (!_copied_locations.empty());
show_verbose_cursor_time (newframe);
-
-#ifdef GTKOSX
- _editor->update_canvas_now ();
-#endif
}
void
MarkerDrag::finished (GdkEvent* event, bool movement_occurred)
{
if (!movement_occurred) {
+
+ if (was_double_click()) {
+ _editor->rename_marker (_marker);
+ return;
+ }
/* just a click, do nothing but finish
off the selection process
@@ -3094,10 +3543,7 @@ ControlPointDrag::start_grab (GdkEvent* event, Gdk::Cursor* /*cursor*/)
_point->line().start_drag_single (_point, _fixed_grab_x, fraction);
- _editor->verbose_cursor()->set (_point->line().get_verbose_cursor_string (fraction),
- event->button.x + 10, event->button.y + 10);
-
- _editor->verbose_cursor()->show ();
+ show_verbose_cursor_text (_point->line().get_verbose_cursor_string (fraction));
_pushing = Keyboard::modifier_state_contains (event->button.state, Keyboard::PrimaryModifier);
@@ -3110,7 +3556,7 @@ void
ControlPointDrag::motion (GdkEvent* event, bool)
{
double dx = _drags->current_pointer_x() - last_pointer_x();
- double dy = _drags->current_pointer_y() - last_pointer_y();
+ double dy = current_pointer_y() - last_pointer_y();
if (event->button.state & Keyboard::SecondaryModifier) {
dx *= 0.1;
@@ -3145,7 +3591,7 @@ ControlPointDrag::motion (GdkEvent* event, bool)
cy = max (0.0, cy);
cy = min ((double) _point->line().height(), cy);
- framepos_t cx_frames = _editor->unit_to_frame (cx);
+ framepos_t cx_frames = _editor->pixel_to_sample (cx);
if (!_x_constrained) {
_editor->snap_to_with_modifier (cx_frames, event);
@@ -3155,9 +3601,9 @@ ControlPointDrag::motion (GdkEvent* event, bool)
float const fraction = 1.0 - (cy / _point->line().height());
- _point->line().drag_motion (_editor->frame_to_unit_unrounded (cx_frames), fraction, false, _pushing, _final_index);
+ _point->line().drag_motion (_editor->sample_to_pixel_unrounded (cx_frames), fraction, false, _pushing, _final_index);
- _editor->verbose_cursor()->set_text (_point->line().get_verbose_cursor_string (fraction));
+ show_verbose_cursor_text (_point->line().get_verbose_cursor_string (fraction));
}
void
@@ -3220,9 +3666,9 @@ LineDrag::start_grab (GdkEvent* event, Gdk::Cursor* /*cursor*/)
double cx = event->button.x;
double cy = event->button.y;
- _line->parent_group().w2i (cx, cy);
+ _line->parent_group().canvas_to_item (cx, cy);
- framecnt_t const frame_within_region = (framecnt_t) floor (cx * _editor->frames_per_unit);
+ framecnt_t const frame_within_region = (framecnt_t) floor (cx * _editor->samples_per_pixel);
uint32_t before;
uint32_t after;
@@ -3243,16 +3689,13 @@ LineDrag::start_grab (GdkEvent* event, Gdk::Cursor* /*cursor*/)
_line->start_drag_line (before, after, fraction);
- _editor->verbose_cursor()->set (_line->get_verbose_cursor_string (fraction),
- event->button.x + 10, event->button.y + 10);
-
- _editor->verbose_cursor()->show ();
+ show_verbose_cursor_text (_line->get_verbose_cursor_string (fraction));
}
void
LineDrag::motion (GdkEvent* event, bool)
{
- double dy = _drags->current_pointer_y() - last_pointer_y();
+ double dy = current_pointer_y() - last_pointer_y();
if (event->button.state & Keyboard::SecondaryModifier) {
dy *= 0.1;
@@ -3271,7 +3714,7 @@ LineDrag::motion (GdkEvent* event, bool)
/* we are ignoring x position for this drag, so we can just pass in anything */
_line->drag_motion (0, fraction, true, false, ignored);
- _editor->verbose_cursor()->set_text (_line->get_verbose_cursor_string (fraction));
+ show_verbose_cursor_text (_line->get_verbose_cursor_string (fraction));
}
void
@@ -3288,7 +3731,7 @@ LineDrag::finished (GdkEvent* event, bool movement_occured)
_line->end_drag (false, 0);
if ((atv = dynamic_cast<AutomationTimeAxisView*>(_editor->clicked_axisview)) != 0) {
- framepos_t where = _editor->event_frame (event, 0, 0);
+ framepos_t where = _editor->window_event_sample (event, 0, 0);
atv->add_automation_event (event, where, event->button.y, false);
}
}
@@ -3323,7 +3766,7 @@ FeatureLineDrag::start_grab (GdkEvent* event, Gdk::Cursor* /*cursor*/)
double cx = event->button.x;
double cy = event->button.y;
- _item->property_parent().get_value()->w2i(cx, cy);
+ _item->parent()->canvas_to_item (cx, cy);
/* store grab start in parent frame */
_region_view_grab_x = cx;
@@ -3332,7 +3775,7 @@ FeatureLineDrag::start_grab (GdkEvent* event, Gdk::Cursor* /*cursor*/)
_arv = reinterpret_cast<AudioRegionView*> (_item->get_data ("regionview"));
- _max_x = _editor->frame_to_pixel(_arv->get_duration());
+ _max_x = _editor->sample_to_pixel(_arv->get_duration());
}
void
@@ -3353,16 +3796,9 @@ FeatureLineDrag::motion (GdkEvent*, bool)
cx = 0;
}
- ArdourCanvas::Points points;
-
- double x1 = 0, x2 = 0, y1 = 0, y2 = 0;
-
- _line->get_bounds(x1, y2, x2, y2);
-
- points.push_back(Gnome::Art::Point(cx, 2.0)); // first x-coord needs to be a non-normal value
- points.push_back(Gnome::Art::Point(cx, y2 - y1));
-
- _line->property_points() = points;
+ boost::optional<ArdourCanvas::Rect> bbox = _line->bounding_box ();
+ assert (bbox);
+ _line->set (ArdourCanvas::Duple (cx, 2.0), ArdourCanvas::Duple (cx, bbox.get().height ()));
float *pos = new float;
*pos = cx;
@@ -3424,31 +3860,50 @@ RubberbandSelectDrag::motion (GdkEvent* event, bool)
start = grab;
}
- if (_drags->current_pointer_y() < grab_y()) {
- y1 = _drags->current_pointer_y();
+ if (current_pointer_y() < grab_y()) {
+ y1 = current_pointer_y();
y2 = grab_y();
} else {
- y2 = _drags->current_pointer_y();
+ y2 = current_pointer_y();
y1 = grab_y();
}
-
if (start != end || y1 != y2) {
- double x1 = _editor->frame_to_pixel (start);
- double x2 = _editor->frame_to_pixel (end);
+ double x1 = _editor->sample_to_pixel (start);
+ double x2 = _editor->sample_to_pixel (end);
+ const double min_dimension = 2.0;
- _editor->rubberband_rect->property_x1() = x1;
if (_vertical_only) {
/* fixed 10 pixel width */
- _editor->rubberband_rect->property_x2() = x1 + 10;
+ x2 = x1 + 10;
} else {
- _editor->rubberband_rect->property_x2() = x2;
+ if (x2 < x1) {
+ x2 = min (x1 - min_dimension, x2);
+ } else {
+ x2 = max (x1 + min_dimension, x2);
+ }
}
- _editor->rubberband_rect->property_y1() = y1;
- _editor->rubberband_rect->property_y2() = y2;
+ if (y2 < y1) {
+ y2 = min (y1 - min_dimension, y2);
+ } else {
+ y2 = max (y1 + min_dimension, y2);
+ }
+ /* translate rect into item space and set */
+
+ ArdourCanvas::Rect r (x1, y1, x2, y2);
+
+ /* this drag is a _trackview_only == true drag, so the y1 and
+ * y2 (computed using current_pointer_y() and grab_y()) will be
+ * relative to the top of the trackview group). The
+ * rubberband rect has the same parent/scroll offset as the
+ * the trackview group, so we can use the "r" rect directly
+ * to set the shape of the rubberband.
+ */
+
+ _editor->rubberband_rect->set (r);
_editor->rubberband_rect->show();
_editor->rubberband_rect->raise_to_top();
@@ -3475,11 +3930,11 @@ RubberbandSelectDrag::do_select_things (GdkEvent* event, bool drag_in_progress)
double y1;
double y2;
- if (_drags->current_pointer_y() < grab_y()) {
- y1 = _drags->current_pointer_y();
+ if (current_pointer_y() < grab_y()) {
+ y1 = current_pointer_y();
y2 = grab_y();
} else {
- y2 = _drags->current_pointer_y();
+ y2 = current_pointer_y();
y1 = grab_y();
}
@@ -3707,7 +4162,7 @@ SelectionDrag::start_grab (GdkEvent* event, Gdk::Cursor*)
show_verbose_cursor_time (adjusted_current_frame (event));
}
- _original_pointer_time_axis = _editor->trackview_by_y_position (_drags->current_pointer_y ()).first->order ();
+ _original_pointer_time_axis = _editor->trackview_by_y_position (current_pointer_y ()).first->order ();
}
void
@@ -3740,16 +4195,9 @@ SelectionDrag::motion (GdkEvent* event, bool first_move)
framecnt_t length = 0;
framecnt_t distance = 0;
- pair<TimeAxisView*, int> const pending_time_axis = _editor->trackview_by_y_position (_drags->current_pointer_y ());
- if (pending_time_axis.first == 0) {
- return;
- }
-
framepos_t const pending_position = adjusted_current_frame (event);
- /* only alter selection if things have changed */
-
- if (pending_time_axis.first->order() == _last_pointer_time_axis && pending_position == last_pointer_frame()) {
+ if (_operation != CreateSelection && pending_position == last_pointer_frame()) {
return;
}
@@ -3782,51 +4230,75 @@ SelectionDrag::motion (GdkEvent* event, bool first_move)
if (first_move) {
if (_add) {
+
/* adding to the selection */
_editor->set_selected_track_as_side_effect (Selection::Add);
- //_editor->selection->add (_editor->clicked_axisview);
_editor->clicked_selection = _editor->selection->add (start, end);
_add = false;
+
} else {
+
/* new selection */
if (_editor->clicked_axisview && !_editor->selection->selected (_editor->clicked_axisview)) {
- //_editor->selection->set (_editor->clicked_axisview);
_editor->set_selected_track_as_side_effect (Selection::Set);
}
_editor->clicked_selection = _editor->selection->set (start, end);
}
}
-
- /* select the track that we're in */
- if (find (_added_time_axes.begin(), _added_time_axes.end(), pending_time_axis.first) == _added_time_axes.end()) {
- // _editor->set_selected_track_as_side_effect (Selection::Add);
- _editor->selection->add (pending_time_axis.first);
- _added_time_axes.push_back (pending_time_axis.first);
+
+ //if user is selecting a range on an automation track, bail out here before we get to the grouped stuff,
+ // because the grouped stuff will start working on tracks (routeTAVs), and end up removing this
+ AutomationTimeAxisView *atest = dynamic_cast<AutomationTimeAxisView *>(_editor->clicked_axisview);
+ if (atest) {
+ _editor->selection->add (atest);
+ break;
}
+
+ /* select all tracks within the rectangle that we've marked out so far */
+ TrackViewList new_selection;
+ TrackViewList& all_tracks (_editor->track_views);
- /* deselect any tracks that this drag no longer includes, being careful to only deselect
- tracks that we selected in the first place.
- */
-
- int min_order = min (_original_pointer_time_axis, pending_time_axis.first->order());
- int max_order = max (_original_pointer_time_axis, pending_time_axis.first->order());
+ ArdourCanvas::Coord const top = grab_y();
+ ArdourCanvas::Coord const bottom = current_pointer_y();
- list<TimeAxisView*>::iterator i = _added_time_axes.begin();
- while (i != _added_time_axes.end()) {
+ if (top >= 0 && bottom >= 0) {
- list<TimeAxisView*>::iterator tmp = i;
- ++tmp;
+ //first, find the tracks that are covered in the y range selection
+ for (TrackViewList::const_iterator i = all_tracks.begin(); i != all_tracks.end(); ++i) {
+ if ((*i)->covered_by_y_range (top, bottom)) {
+ new_selection.push_back (*i);
+ }
+ }
- if ((*i)->order() < min_order || (*i)->order() > max_order) {
- _editor->selection->remove (*i);
- _added_time_axes.remove (*i);
+ //now find any tracks that are GROUPED with the tracks we selected
+ TrackViewList grouped_add = new_selection;
+ for (TrackViewList::const_iterator i = new_selection.begin(); i != new_selection.end(); ++i) {
+ RouteTimeAxisView *n = dynamic_cast<RouteTimeAxisView *>(*i);
+ if ( n && n->route()->route_group() && n->route()->route_group()->is_active() && n->route()->route_group()->enabled_property (ARDOUR::Properties::select.property_id) ) {
+ for (TrackViewList::const_iterator j = all_tracks.begin(); j != all_tracks.end(); ++j) {
+ RouteTimeAxisView *check = dynamic_cast<RouteTimeAxisView *>(*j);
+ if ( check && (n != check) && (check->route()->route_group() == n->route()->route_group()) )
+ grouped_add.push_back (*j);
+ }
+ }
}
- i = tmp;
- }
+ //now compare our list with the current selection, and add or remove as necessary
+ //( NOTE: most mouse moves don't change the selection so we can't just SET it for every mouse move; it gets clunky )
+ TrackViewList tracks_to_add;
+ TrackViewList tracks_to_remove;
+ for (TrackViewList::const_iterator i = grouped_add.begin(); i != grouped_add.end(); ++i)
+ if ( !_editor->selection->tracks.contains ( *i ) )
+ tracks_to_add.push_back ( *i );
+ for (TrackViewList::const_iterator i = _editor->selection->tracks.begin(); i != _editor->selection->tracks.end(); ++i)
+ if ( !grouped_add.contains ( *i ) )
+ tracks_to_remove.push_back ( *i );
+ _editor->selection->add(tracks_to_add);
+ _editor->selection->remove(tracks_to_remove);
+ }
}
break;
@@ -3873,10 +4345,6 @@ SelectionDrag::motion (GdkEvent* event, bool first_move)
break;
}
- if (event->button.x >= _editor->horizontal_position() + _editor->_canvas_width) {
- _editor->start_canvas_autoscroll (1, 0);
- }
-
if (start != end) {
switch (_operation) {
case SelectionMove:
@@ -3913,8 +4381,11 @@ SelectionDrag::finished (GdkEvent* event, bool movement_occurred)
if ( s->get_play_range() && s->transport_rolling() ) {
s->request_play_range (&_editor->selection->time, true);
} else {
- if (Config->get_always_play_range() && !s->transport_rolling()) {
- s->request_locate (_editor->get_selection().time.start());
+ if (Config->get_follow_edits() && !s->transport_rolling()) {
+ if (_operation == SelectionEndTrim)
+ _editor->maybe_locate_with_edit_preroll( _editor->get_selection().time.end_frame());
+ else
+ s->request_locate (_editor->get_selection().time.start());
}
}
}
@@ -3963,18 +4434,19 @@ SelectionDrag::aborted (bool)
}
RangeMarkerBarDrag::RangeMarkerBarDrag (Editor* e, ArdourCanvas::Item* i, Operation o)
- : Drag (e, i),
+ : Drag (e, i, false),
_operation (o),
_copy (false)
{
DEBUG_TRACE (DEBUG::Drags, "New RangeMarkerBarDrag\n");
- _drag_rect = new ArdourCanvas::SimpleRect (*_editor->time_line_group, 0.0, 0.0, 0.0,
- physical_screen_height (_editor->get_window()));
+ _drag_rect = new ArdourCanvas::Rectangle (_editor->time_line_group,
+ ArdourCanvas::Rect (0.0, 0.0, 0.0,
+ physical_screen_height (_editor->get_window())));
_drag_rect->hide ();
- _drag_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_RangeDragRect.get();
- _drag_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_RangeDragRect.get();
+ _drag_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_RangeDragRect());
+ _drag_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_RangeDragRect());
}
void
@@ -3991,6 +4463,7 @@ RangeMarkerBarDrag::start_grab (GdkEvent* event, Gdk::Cursor *)
}
switch (_operation) {
+ case CreateSkipMarker:
case CreateRangeMarker:
case CreateTransportMarker:
case CreateCDMarker:
@@ -4014,9 +4487,12 @@ RangeMarkerBarDrag::motion (GdkEvent* event, bool first_move)
{
framepos_t start = 0;
framepos_t end = 0;
- ArdourCanvas::SimpleRect *crect;
+ ArdourCanvas::Rectangle *crect;
switch (_operation) {
+ case CreateSkipMarker:
+ crect = _editor->range_bar_drag_rect;
+ break;
case CreateRangeMarker:
crect = _editor->range_bar_drag_rect;
break;
@@ -4034,7 +4510,7 @@ RangeMarkerBarDrag::motion (GdkEvent* event, bool first_move)
framepos_t const pf = adjusted_current_frame (event);
- if (_operation == CreateRangeMarker || _operation == CreateTransportMarker || _operation == CreateCDMarker) {
+ if (_operation == CreateSkipMarker || _operation == CreateRangeMarker || _operation == CreateTransportMarker || _operation == CreateCDMarker) {
framepos_t grab = grab_frame ();
_editor->snap_to (grab);
@@ -4063,17 +4539,13 @@ RangeMarkerBarDrag::motion (GdkEvent* event, bool first_move)
}
}
- if (event->button.x >= _editor->horizontal_position() + _editor->_canvas_width) {
- _editor->start_canvas_autoscroll (1, 0);
- }
-
if (start != end) {
_editor->temp_location->set (start, end);
- double x1 = _editor->frame_to_pixel (start);
- double x2 = _editor->frame_to_pixel (end);
- crect->property_x1() = x1;
- crect->property_x2() = x2;
+ double x1 = _editor->sample_to_pixel (start);
+ double x2 = _editor->sample_to_pixel (end);
+ crect->set_x0 (x1);
+ crect->set_x1 (x2);
update_item (_editor->temp_location);
}
@@ -4094,17 +4566,24 @@ RangeMarkerBarDrag::finished (GdkEvent* event, bool movement_occurred)
_drag_rect->hide();
switch (_operation) {
+ case CreateSkipMarker:
case CreateRangeMarker:
case CreateCDMarker:
{
- _editor->begin_reversible_command (_("new range marker"));
XMLNode &before = _editor->session()->locations()->get_state();
- _editor->session()->locations()->next_available_name(rangename,"unnamed");
- if (_operation == CreateCDMarker) {
+ if (_operation == CreateSkipMarker) {
+ _editor->begin_reversible_command (_("new skip marker"));
+ _editor->session()->locations()->next_available_name(rangename,_("skip"));
+ flags = Location::IsRangeMarker | Location::IsSkip;
+ _editor->range_bar_drag_rect->hide();
+ } else if (_operation == CreateCDMarker) {
+ _editor->session()->locations()->next_available_name(rangename, _("CD"));
+ _editor->begin_reversible_command (_("new CD marker"));
flags = Location::IsRangeMarker | Location::IsCDMarker;
_editor->cd_marker_bar_drag_rect->hide();
- }
- else {
+ } else {
+ _editor->begin_reversible_command (_("new skip marker"));
+ _editor->session()->locations()->next_available_name(rangename, _("unnamed"));
flags = Location::IsRangeMarker;
_editor->range_bar_drag_rect->hide();
}
@@ -4124,10 +4603,24 @@ RangeMarkerBarDrag::finished (GdkEvent* event, bool movement_occurred)
_editor->new_transport_marker_context_menu (&event->button, _item);
break;
}
+
} else {
+
/* just a click, no pointer movement. remember that context menu stuff was handled elsewhere */
- if (Keyboard::no_modifier_keys_pressed (&event->button) && _operation != CreateCDMarker) {
+ if (_operation == CreateTransportMarker) {
+
+ /* didn't drag, so just locate */
+
+ _editor->session()->request_locate (grab_frame(), _editor->session()->transport_rolling());
+
+ } else if (_operation == CreateCDMarker) {
+
+ /* didn't drag, but mark is already created so do
+ * nothing */
+
+ } else { /* operation == CreateRangeMarker || CreateSkipMarker */
+
framepos_t start;
framepos_t end;
@@ -4171,11 +4664,11 @@ RangeMarkerBarDrag::aborted (bool)
void
RangeMarkerBarDrag::update_item (Location* location)
{
- double const x1 = _editor->frame_to_pixel (location->start());
- double const x2 = _editor->frame_to_pixel (location->end());
+ double const x1 = _editor->sample_to_pixel (location->start());
+ double const x2 = _editor->sample_to_pixel (location->end());
- _drag_rect->property_x1() = x1;
- _drag_rect->property_x2() = x2;
+ _drag_rect->set_x0 (x1);
+ _drag_rect->set_x1 (x2);
}
MouseZoomDrag::MouseZoomDrag (Editor* e, ArdourCanvas::Item* i)
@@ -4267,7 +4760,8 @@ NoteDrag::NoteDrag (Editor* e, ArdourCanvas::Item* i)
{
DEBUG_TRACE (DEBUG::Drags, "New NoteDrag\n");
- _primary = dynamic_cast<CanvasNoteEvent*> (_item);
+ _primary = reinterpret_cast<NoteBase*> (_item->get_data ("notebase"));
+ assert (_primary);
_region = &_primary->region_view ();
_note_height = _region->midi_stream_view()->note_height ();
}
@@ -4303,7 +4797,7 @@ frameoffset_t
NoteDrag::total_dx () const
{
/* dx in frames */
- frameoffset_t const dx = _editor->unit_to_frame (_drags->current_pointer_x() - grab_x());
+ frameoffset_t const dx = _editor->pixel_to_sample (_drags->current_pointer_x() - grab_x());
/* primary note time */
frameoffset_t const n = _region->source_beats_to_absolute_frames (_primary->note()->time ());
@@ -4327,7 +4821,7 @@ NoteDrag::total_dy () const
MidiStreamView* msv = _region->midi_stream_view ();
double const y = _region->midi_view()->y_position ();
/* new current note */
- uint8_t n = msv->y_to_note (_drags->current_pointer_y () - y);
+ uint8_t n = msv->y_to_note (current_pointer_y () - y);
/* clamp */
n = max (msv->lowest_note(), n);
n = min (msv->highest_note(), n);
@@ -4343,7 +4837,7 @@ NoteDrag::motion (GdkEvent *, bool)
int8_t const dy = total_dy ();
/* Now work out what we have to do to the note canvas items to set this new drag delta */
- double const tdx = _editor->frame_to_unit (dx) - _cumulative_dx;
+ double const tdx = _editor->sample_to_pixel (dx) - _cumulative_dx;
double const tdy = -dy * _note_height - _cumulative_dy;
if (tdx || tdy) {
@@ -4364,7 +4858,7 @@ NoteDrag::motion (GdkEvent *, bool)
uint8_t new_note = min (max (_primary->note()->note() + note_delta, 0), 127);
snprintf (buf, sizeof (buf), "%s (%d)", Evoral::midi_note_name (new_note).c_str(),
- (int) floor (new_note));
+ (int) floor ((double)new_note));
show_verbose_cursor_text (buf);
}
@@ -4485,7 +4979,7 @@ AutomationRangeDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
/* Get line states before we start changing things */
for (list<Line>::iterator i = _lines.begin(); i != _lines.end(); ++i) {
i->state = &i->line->get_state ();
- i->original_fraction = y_fraction (i->line, _drags->current_pointer_y());
+ i->original_fraction = y_fraction (i->line, current_pointer_y());
}
if (_ranges.empty()) {
@@ -4525,8 +5019,8 @@ AutomationRangeDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
double const p = j->line->time_converter().from (i->start - j->line->time_converter().origin_b ());
double const q = j->line->time_converter().from (a - j->line->time_converter().origin_b ());
- the_list->add (p, the_list->eval (p));
- the_list->add (q, the_list->eval (q));
+ the_list->editor_add (p, the_list->eval (p));
+ the_list->editor_add (q, the_list->eval (q));
}
/* same thing for the end */
@@ -4551,8 +5045,8 @@ AutomationRangeDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
double const p = j->line->time_converter().from (b - j->line->time_converter().origin_b ());
double const q = j->line->time_converter().from (i->end - j->line->time_converter().origin_b ());
- the_list->add (p, the_list->eval (p));
- the_list->add (q, the_list->eval (q));
+ the_list->editor_add (p, the_list->eval (p));
+ the_list->editor_add (q, the_list->eval (q));
}
}
@@ -4591,7 +5085,7 @@ AutomationRangeDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
}
for (list<Line>::iterator i = _lines.begin(); i != _lines.end(); ++i) {
- i->line->start_drag_multiple (i->points, y_fraction (i->line, _drags->current_pointer_y()), i->state);
+ i->line->start_drag_multiple (i->points, y_fraction (i->line, current_pointer_y()), i->state);
}
}
@@ -4603,7 +5097,7 @@ AutomationRangeDrag::motion (GdkEvent*, bool /*first_move*/)
}
for (list<Line>::iterator l = _lines.begin(); l != _lines.end(); ++l) {
- float const f = y_fraction (l->line, _drags->current_pointer_y());
+ float const f = y_fraction (l->line, current_pointer_y());
/* we are ignoring x position for this drag, so we can just pass in anything */
uint32_t ignored;
l->line->drag_motion (0, f, true, false, ignored);
@@ -4634,19 +5128,23 @@ AutomationRangeDrag::aborted (bool)
}
}
-DraggingView::DraggingView (RegionView* v, RegionDrag* parent)
+DraggingView::DraggingView (RegionView* v, RegionDrag* parent, TimeAxisView* itav)
: view (v)
+ , initial_time_axis_view (itav)
{
+ /* note that time_axis_view may be null if the regionview was created
+ * as part of a copy operation.
+ */
time_axis_view = parent->find_time_axis_view (&v->get_time_axis_view ());
layer = v->region()->layer ();
- initial_y = v->get_canvas_group()->property_y ();
+ initial_y = v->get_canvas_group()->position().y;
initial_playlist = v->region()->playlist ();
initial_position = v->region()->position ();
initial_end = v->region()->position () + v->region()->length ();
}
-PatchChangeDrag::PatchChangeDrag (Editor* e, CanvasPatchChange* i, MidiRegionView* r)
- : Drag (e, i)
+PatchChangeDrag::PatchChangeDrag (Editor* e, PatchChange* i, MidiRegionView* r)
+ : Drag (e, i->canvas_item ())
, _region_view (r)
, _patch_change (i)
, _cumulative_dx (0)
@@ -4665,8 +5163,8 @@ PatchChangeDrag::motion (GdkEvent* ev, bool)
f = min (f, r->last_frame ());
framecnt_t const dxf = f - grab_frame(); // permitted dx in frames
- double const dxu = _editor->frame_to_unit (dxf); // permitted fx in units
- _patch_change->move (dxu - _cumulative_dx, 0);
+ double const dxu = _editor->sample_to_pixel (dxf); // permitted fx in units
+ _patch_change->move (ArdourCanvas::Duple (dxu - _cumulative_dx, 0));
_cumulative_dx = dxu;
}
@@ -4691,7 +5189,7 @@ PatchChangeDrag::finished (GdkEvent* ev, bool movement_occurred)
void
PatchChangeDrag::aborted (bool)
{
- _patch_change->move (-_cumulative_dx, 0);
+ _patch_change->move (ArdourCanvas::Duple (-_cumulative_dx, 0));
}
void
@@ -4702,7 +5200,7 @@ PatchChangeDrag::setup_pointer_frame_offset ()
}
MidiRubberbandSelectDrag::MidiRubberbandSelectDrag (Editor* e, MidiRegionView* rv)
- : RubberbandSelectDrag (e, rv->get_canvas_frame ())
+ : RubberbandSelectDrag (e, rv->get_canvas_group ())
, _region_view (rv)
{
@@ -4720,8 +5218,8 @@ MidiRubberbandSelectDrag::select_things (int button_state, framepos_t x1, framep
y2 = max (0.0, y2 - y);
_region_view->update_drag_selection (
- _editor->frame_to_pixel (x1),
- _editor->frame_to_pixel (x2),
+ _editor->sample_to_pixel (x1),
+ _editor->sample_to_pixel (x2),
y1,
y2,
Keyboard::modifier_state_contains (button_state, Keyboard::TertiaryModifier)
@@ -4735,7 +5233,7 @@ MidiRubberbandSelectDrag::deselect_things ()
}
MidiVerticalSelectDrag::MidiVerticalSelectDrag (Editor* e, MidiRegionView* rv)
- : RubberbandSelectDrag (e, rv->get_canvas_frame ())
+ : RubberbandSelectDrag (e, rv->get_canvas_group ())
, _region_view (rv)
{
_vertical_only = true;
@@ -4824,7 +5322,7 @@ NoteCreateDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
{
Drag::start_grab (event, cursor);
- _drag_rect = new ArdourCanvas::SimpleRect (*_region_view->get_canvas_group ());
+ _drag_rect = new ArdourCanvas::Rectangle (_region_view->get_canvas_group ());
framepos_t pf = _drags->current_pointer_frame ();
framecnt_t const g = grid_frames (pf);
@@ -4839,28 +5337,24 @@ NoteCreateDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
_note[0] = adjusted_frame (pf, event) - _region_view->region()->position ();
MidiStreamView* sv = _region_view->midi_stream_view ();
- double const x = _editor->frame_to_pixel (_note[0]);
+ double const x = _editor->sample_to_pixel (_note[0]);
double const y = sv->note_to_y (sv->y_to_note (y_to_region (event->button.y)));
- _drag_rect->property_x1() = x;
- _drag_rect->property_y1() = y;
- _drag_rect->property_x2() = x;
- _drag_rect->property_y2() = y + floor (_region_view->midi_stream_view()->note_height ());
-
- _drag_rect->property_outline_what() = 0xff;
- _drag_rect->property_outline_color_rgba() = 0xffffff99;
- _drag_rect->property_fill_color_rgba() = 0xffffff66;
+ _drag_rect->set (ArdourCanvas::Rect (x, y, x, y + floor (_region_view->midi_stream_view()->note_height ())));
+ _drag_rect->set_outline_all ();
+ _drag_rect->set_outline_color (0xffffff99);
+ _drag_rect->set_fill_color (0xffffff66);
}
void
NoteCreateDrag::motion (GdkEvent* event, bool)
{
_note[1] = max ((framepos_t)0, adjusted_current_frame (event) - _region_view->region()->position ());
- double const x = _editor->frame_to_pixel (_note[1]);
+ double const x = _editor->sample_to_pixel (_note[1]);
if (_note[1] > _note[0]) {
- _drag_rect->property_x2() = x;
+ _drag_rect->set_x1 (x);
} else {
- _drag_rect->property_x1() = x;
+ _drag_rect->set_x0 (x);
}
}
@@ -4872,7 +5366,7 @@ NoteCreateDrag::finished (GdkEvent*, bool had_movement)
}
framepos_t const start = min (_note[0], _note[1]);
- framecnt_t length = (framecnt_t) fabs (_note[0] - _note[1]);
+ framecnt_t length = (framecnt_t) fabs ((double)(_note[0] - _note[1]));
framecnt_t const g = grid_frames (start);
double const one_tick = 1 / Timecode::BBT_Time::ticks_per_beat;
@@ -4883,14 +5377,14 @@ NoteCreateDrag::finished (GdkEvent*, bool had_movement)
double const length_beats = max (one_tick, _region_view->region_frames_to_region_beats (length));
- _region_view->create_note_at (start, _drag_rect->property_y1(), length_beats, false);
+ _region_view->create_note_at (start, _drag_rect->y0(), length_beats, false);
}
double
NoteCreateDrag::y_to_region (double y) const
{
double x = 0;
- _region_view->get_canvas_group()->w2i (x, y);
+ _region_view->get_canvas_group()->canvas_to_item (x, y);
return y;
}
@@ -4933,16 +5427,16 @@ CrossfadeEdgeDrag::motion (GdkEvent*, bool)
/* how long should it be ? */
- new_length = len + _editor->unit_to_frame (distance);
+ new_length = len + _editor->pixel_to_sample (distance);
/* now check with the region that this is legal */
new_length = ar->verify_xfade_bounds (new_length, start);
if (start) {
- arv->redraw_start_xfade_to (ar, new_length);
+ arv->reset_fade_in_shape_width (ar, new_length);
} else {
- arv->redraw_end_xfade_to (ar, new_length);
+ arv->reset_fade_out_shape_width (ar, new_length);
}
}
@@ -4963,7 +5457,7 @@ CrossfadeEdgeDrag::finished (GdkEvent*, bool)
len = ar->fade_out()->back()->when;
}
- new_length = ar->verify_xfade_bounds (len + _editor->unit_to_frame (distance), start);
+ new_length = ar->verify_xfade_bounds (len + _editor->pixel_to_sample (distance), start);
_editor->begin_reversible_command ("xfade trim");
ar->playlist()->clear_owned_changes ();
@@ -4996,3 +5490,47 @@ CrossfadeEdgeDrag::aborted (bool)
}
}
+RegionCutDrag::RegionCutDrag (Editor* e, ArdourCanvas::Item* item, framepos_t pos)
+ : Drag (e, item, true)
+ , line (new EditorCursor (*e))
+{
+ line->set_position (pos);
+ line->show ();
+}
+
+RegionCutDrag::~RegionCutDrag ()
+{
+ delete line;
+}
+
+void
+RegionCutDrag::motion (GdkEvent*, bool)
+{
+ framepos_t where = _drags->current_pointer_frame();
+ _editor->snap_to (where);
+
+ line->set_position (where);
+}
+
+void
+RegionCutDrag::finished (GdkEvent*, bool)
+{
+ _editor->get_track_canvas()->canvas()->re_enter();
+
+ framepos_t pos = _drags->current_pointer_frame();
+
+ line->hide ();
+
+ RegionSelection rs = _editor->get_regions_from_selection_and_mouse (pos);
+
+ if (rs.empty()) {
+ return;
+ }
+
+ _editor->split_regions_at (pos, rs);
+}
+
+void
+RegionCutDrag::aborted (bool)
+{
+}
diff --git a/gtk2_ardour/editor_drag.h b/gtk2_ardour/editor_drag.h
index 6267956ed7..3c1eef70f6 100644
--- a/gtk2_ardour/editor_drag.h
+++ b/gtk2_ardour/editor_drag.h
@@ -27,7 +27,6 @@
#include "ardour/types.h"
-#include "canvas.h"
#include "editor_items.h"
namespace ARDOUR {
@@ -38,18 +37,13 @@ namespace PBD {
class StatefulDiffCommand;
}
-namespace Gnome {
- namespace Canvas {
- class CanvasNoteEvent;
- class CanvasPatchChange;
- }
-}
-
+class PatchChange;
class Editor;
class EditorCursor;
class TimeAxisView;
class MidiTimeAxisView;
class Drag;
+class NoteBase;
/** Class to manage current drags */
class DragManager
@@ -68,6 +62,8 @@ public:
bool end_grab (GdkEvent *);
bool have_item (ArdourCanvas::Item *) const;
+ void mark_double_click ();
+
/** @return true if an end drag or abort is in progress */
bool ending () const {
return _ending;
@@ -77,12 +73,12 @@ public:
return !_drags.empty ();
}
- /** @return current pointer x position in trackview coordinates */
+ /** @return current pointer x position in canvas coordinates */
double current_pointer_x () const {
return _current_pointer_x;
}
- /** @return current pointer y position in trackview coordinates */
+ /** @return current pointer y position in canvas coordinates */
double current_pointer_y () const {
return _current_pointer_y;
}
@@ -96,8 +92,8 @@ private:
Editor* _editor;
std::list<Drag*> _drags;
bool _ending; ///< true if end_grab or abort is in progress, otherwise false
- double _current_pointer_x; ///< trackview x of the current pointer
- double _current_pointer_y; ///< trackview y of the current pointer
+ double _current_pointer_x; ///< canvas-coordinate space x of the current pointer
+ double _current_pointer_y; ///< canvas-coordinate space y of the current pointer
ARDOUR::framepos_t _current_pointer_frame; ///< frame that the pointer is now at
bool _old_follow_playhead; ///< state of Editor::follow_playhead() before the drags started
};
@@ -106,7 +102,7 @@ private:
class Drag
{
public:
- Drag (Editor *, ArdourCanvas::Item *);
+ Drag (Editor *, ArdourCanvas::Item *, bool trackview_only = true);
virtual ~Drag () {}
void set_manager (DragManager* m) {
@@ -125,6 +121,9 @@ public:
ARDOUR::framepos_t adjusted_frame (ARDOUR::framepos_t, GdkEvent const *, bool snap = true) const;
ARDOUR::framepos_t adjusted_current_frame (GdkEvent const *, bool snap = true) const;
+ bool was_double_click() const { return _was_double_click; }
+ void set_double_click (bool yn) { _was_double_click = yn; }
+
/** Called to start a grab of an item.
* @param e Event that caused the grab to start.
* @param c Cursor to use, or 0.
@@ -212,6 +211,8 @@ protected:
return _last_pointer_frame;
}
+ double current_pointer_y () const;
+
boost::shared_ptr<ARDOUR::Region> add_midi_region (MidiTimeAxisView*);
void show_verbose_cursor_time (framepos_t);
@@ -228,10 +229,11 @@ protected:
bool _was_rolling; ///< true if the session was rolling before the drag started, otherwise false
private:
-
+ bool _trackview_only; ///< true if pointer y value should always be relative to the top of the trackview group
bool _move_threshold_passed; ///< true if the move threshold has been passed, otherwise false
+ bool _was_double_click; ///< true if drag initiated by a double click event
double _grab_x; ///< trackview x of the grab start position
- double _grab_y; ///< trackview y of the grab start position
+ double _grab_y; ///< y of the grab start position, possibly adjusted if _trackview_only is true
double _last_pointer_x; ///< trackview x of the pointer last time a motion occurred
double _last_pointer_y; ///< trackview y of the pointer last time a motion occurred
ARDOUR::framepos_t _raw_grab_frame; ///< unsnapped frame that the mouse was at when start_grab was called, or 0
@@ -245,7 +247,7 @@ class RegionDrag;
class DraggingView
{
public:
- DraggingView (RegionView *, RegionDrag *);
+ DraggingView (RegionView *, RegionDrag *, TimeAxisView* original_tav);
RegionView* view; ///< the view
/** index into RegionDrag::_time_axis_views of the view that this region is currently being displayed on,
@@ -260,7 +262,9 @@ public:
double initial_y; ///< the initial y position of the view before any reparenting
framepos_t initial_position; ///< initial position of the region
framepos_t initial_end; ///< initial end position of the region
+ framepos_t anchored_fade_length; ///< fade_length when anchored during drag
boost::shared_ptr<ARDOUR::Playlist> initial_playlist;
+ TimeAxisView* initial_time_axis_view;
};
/** Abstract base class for drags that involve region(s) */
@@ -312,7 +316,7 @@ public:
protected:
double compute_x_delta (GdkEvent const *, ARDOUR::framepos_t *);
- bool y_movement_allowed (int, double) const;
+ virtual bool y_movement_allowed (int, double) const;
bool _brushing;
ARDOUR::framepos_t _last_frame_position; ///< last position of the thing being dragged
@@ -345,9 +349,11 @@ public:
void setup_pointer_frame_offset ();
-private:
+protected:
typedef std::set<boost::shared_ptr<ARDOUR::Playlist> > PlaylistSet;
+ void add_stateful_diff_commands_for_playlists (PlaylistSet const &);
+private:
void finished_no_copy (
bool const,
bool const,
@@ -374,9 +380,9 @@ private:
PlaylistSet& modified_playlists
);
- void add_stateful_diff_commands_for_playlists (PlaylistSet const &);
void collect_new_region_view (RegionView *);
+ RouteTimeAxisView* create_destination_time_axis (boost::shared_ptr<ARDOUR::Region>, TimeAxisView* original);
bool _copy;
RegionView* _new_region_view;
@@ -407,6 +413,48 @@ public:
void aborted (bool);
};
+/** Region drag in ripple mode */
+
+class RegionRippleDrag : public RegionMoveDrag
+{
+public:
+ RegionRippleDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &);
+ ~RegionRippleDrag () { delete exclude; }
+
+ void motion (GdkEvent *, bool);
+ void finished (GdkEvent *, bool);
+ void aborted (bool);
+protected:
+ bool y_movement_allowed (int delta_track, double delta_layer) const;
+
+private:
+ TimeAxisView *prev_tav; // where regions were most recently dragged from
+ TimeAxisView *orig_tav; // where drag started
+ framecnt_t prev_amount;
+ framepos_t prev_position;
+ framecnt_t selection_length;
+ bool allow_moves_across_tracks; // only if all selected regions are on one track
+ ARDOUR::RegionList *exclude;
+ void add_all_after_to_views (TimeAxisView *tav, framepos_t where, const RegionSelection &exclude, bool drag_in_progress);
+ void remove_unselected_from_views (framecnt_t amount, bool move_regions);
+
+};
+
+/** "Drag" to cut a region (action only on button release) */
+class RegionCutDrag : public Drag
+{
+ public:
+ RegionCutDrag (Editor*, ArdourCanvas::Item*, framepos_t);
+ ~RegionCutDrag ();
+
+ void motion (GdkEvent*, bool);
+ void finished (GdkEvent*, bool);
+ void aborted (bool);
+
+ private:
+ EditorCursor* line;
+};
+
/** Drags to create regions */
class RegionCreateDrag : public Drag
{
@@ -456,7 +504,7 @@ class NoteDrag : public Drag
int8_t total_dy () const;
MidiRegionView* _region;
- Gnome::Canvas::CanvasNoteEvent* _primary;
+ NoteBase* _primary;
double _cumulative_dx;
double _cumulative_dy;
bool _was_selected;
@@ -479,7 +527,7 @@ private:
framecnt_t grid_frames (framepos_t) const;
MidiRegionView* _region_view;
- ArdourCanvas::SimpleRect* _drag_rect;
+ ArdourCanvas::Rectangle* _drag_rect;
framepos_t _note[2];
};
@@ -487,7 +535,7 @@ private:
class PatchChangeDrag : public Drag
{
public:
- PatchChangeDrag (Editor *, ArdourCanvas::CanvasPatchChange *, MidiRegionView *);
+ PatchChangeDrag (Editor *, PatchChange *, MidiRegionView *);
void motion (GdkEvent *, bool);
void finished (GdkEvent *, bool);
@@ -501,7 +549,7 @@ public:
private:
MidiRegionView* _region_view;
- ArdourCanvas::CanvasPatchChange* _patch_change;
+ PatchChange* _patch_change;
double _cumulative_dx;
};
@@ -571,6 +619,7 @@ private:
Operation _operation;
bool _preserve_fade_anchor;
+ bool _jump_position_when_done;
};
/** Meter marker drag */
@@ -632,7 +681,7 @@ private:
class CursorDrag : public Drag
{
public:
- CursorDrag (Editor *, ArdourCanvas::Item *, bool);
+ CursorDrag (Editor *, EditorCursor&, bool);
void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
void motion (GdkEvent *, bool);
@@ -654,6 +703,7 @@ public:
private:
void fake_locate (framepos_t);
+ EditorCursor& _cursor;
bool _stop; ///< true to stop the transport on starting the drag, otherwise false
double _grab_zoom; ///< editor frames per unit when our grab started
};
@@ -698,7 +748,7 @@ public:
class MarkerDrag : public Drag
{
public:
- MarkerDrag (Editor *, ArdourCanvas::Item *);
+ MarkerDrag (Editor *, ArdourCanvas::Item *);
~MarkerDrag ();
void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
@@ -941,6 +991,7 @@ class RangeMarkerBarDrag : public Drag
{
public:
enum Operation {
+ CreateSkipMarker,
CreateRangeMarker,
CreateTransportMarker,
CreateCDMarker
@@ -965,7 +1016,7 @@ private:
void update_item (ARDOUR::Location *);
Operation _operation;
- ArdourCanvas::SimpleRect* _drag_rect;
+ ArdourCanvas::Rectangle* _drag_rect;
bool _copy;
};
diff --git a/gtk2_ardour/editor_export_audio.cc b/gtk2_ardour/editor_export_audio.cc
index 877a39e773..e40030d671 100644
--- a/gtk2_ardour/editor_export_audio.cc
+++ b/gtk2_ardour/editor_export_audio.cc
@@ -25,6 +25,8 @@
#include <gtkmm/messagedialog.h>
+#include <glib/gstdio.h>
+
#include "gtkmm2ext/choice.h"
#include "pbd/pthread_utils.h"
@@ -158,11 +160,11 @@ Editor::export_region ()
switch (ret) {
case Gtk::RESPONSE_ACCEPT:
- /* force unlink because the backend code will
+ /* force ::g_unlink because the backend code will
go wrong if it tries to open an existing
file for writing.
*/
- ::unlink (path.c_str());
+ ::g_unlink (path.c_str());
break;
default:
return;
diff --git a/gtk2_ardour/editor_group_tabs.cc b/gtk2_ardour/editor_group_tabs.cc
index d02181c9b6..fff113a7e2 100644
--- a/gtk2_ardour/editor_group_tabs.cc
+++ b/gtk2_ardour/editor_group_tabs.cc
@@ -20,16 +20,23 @@
#include "gtkmm2ext/utils.h"
#include "ardour/route_group.h"
-#include "editor_group_tabs.h"
+
+#include "canvas/utils.h"
+
+#include "ardour_ui.h"
#include "editor.h"
-#include "route_time_axis.h"
-#include "utils.h"
+#include "editor_group_tabs.h"
#include "editor_route_groups.h"
#include "editor_routes.h"
+#include "rgb_macros.h"
+#include "route_time_axis.h"
+#include "utils.h"
+
#include "i18n.h"
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
EditorGroupTabs::EditorGroupTabs (Editor* e)
: EditorComponent (e)
@@ -83,13 +90,17 @@ void
EditorGroupTabs::draw_tab (cairo_t* cr, Tab const & tab) const
{
double const arc_radius = get_width();
-
+ double r, g, b, a;
+
if (tab.group && tab.group->is_active()) {
- cairo_set_source_rgba (cr, tab.color.get_red_p (), tab.color.get_green_p (), tab.color.get_blue_p (), 1);
+ ArdourCanvas::color_to_rgba (tab.color, r, g, b, a);
} else {
- cairo_set_source_rgba (cr, 1, 1, 1, 0.2);
+ ArdourCanvas::color_to_rgba (ARDOUR_UI::config()->get_canvasvar_InactiveGroupTab(), r, g, b, a);
}
+ a = 1.0;
+
+ cairo_set_source_rgba (cr, r, g, b, a);
cairo_move_to (cr, 0, tab.from + arc_radius);
cairo_arc (cr, get_width(), tab.from + arc_radius, arc_radius, M_PI, 3 * M_PI / 2);
cairo_line_to (cr, get_width(), tab.to);
@@ -103,7 +114,10 @@ EditorGroupTabs::draw_tab (cairo_t* cr, Tab const & tab) const
cairo_text_extents_t ext;
cairo_text_extents (cr, tab.group->name().c_str(), &ext);
- cairo_set_source_rgb (cr, 1, 1, 1);
+ ArdourCanvas::Color c = ArdourCanvas::contrasting_text_color (ArdourCanvas::rgba_to_color (r, g, b, a));
+ ArdourCanvas::color_to_rgba (c, r, g, b, a);
+
+ cairo_set_source_rgb (cr, r, g, b);
cairo_move_to (cr, get_width() - ext.height / 2, tab.from + (f.second + tab.to - tab.from) / 2);
cairo_save (cr);
cairo_rotate (cr, - M_PI / 2);
diff --git a/gtk2_ardour/editor_items.h b/gtk2_ardour/editor_items.h
index fb1995659c..743a93b865 100644
--- a/gtk2_ardour/editor_items.h
+++ b/gtk2_ardour/editor_items.h
@@ -23,6 +23,7 @@
enum ItemType {
RegionItem,
StreamItem,
+ WaveItem,
PlayheadCursorItem,
MarkerItem,
MarkerBarItem,
@@ -45,15 +46,22 @@ enum ItemType {
AutomationTrackItem,
FadeInItem,
FadeInHandleItem,
+ FadeInTrimHandleItem,
FadeOutItem,
FadeOutHandleItem,
+ FadeOutTrimHandleItem,
NoteItem,
FeatureLineItem,
- LeftFrameHandle,
- RightFrameHandle,
+ LeftFrameHandle,
+ RightFrameHandle,
StartCrossFadeItem,
EndCrossFadeItem,
CrossfadeViewItem,
+ TimecodeRulerItem,
+ MinsecRulerItem,
+ BBTRulerItem,
+ SamplesRulerItem,
+ DropZoneItem,
/* don't remove this */
diff --git a/gtk2_ardour/editor_keys.cc b/gtk2_ardour/editor_keys.cc
index 93eba4b79f..2acc8a0a86 100644
--- a/gtk2_ardour/editor_keys.cc
+++ b/gtk2_ardour/editor_keys.cc
@@ -37,30 +37,35 @@
using namespace ARDOUR;
using namespace PBD;
+using namespace Editing;
void
-Editor::keyboard_selection_finish (bool add)
+Editor::keyboard_selection_finish (bool /*add*/)
{
- if (_session && have_pending_keyboard_selection) {
+ if (_session) {
+ framepos_t start = selection->time.start();
framepos_t end;
- bool ignored;
-
- if (_session->transport_rolling()) {
+
+ if ((_edit_point == EditAtPlayhead) && _session->transport_rolling()) {
end = _session->audible_frame();
} else {
- if (!mouse_frame (end, ignored)) {
- return;
- }
+ end = get_preferred_edit_position();
}
- if (add) {
- selection->add (pending_keyboard_selection_start, end);
- } else {
- selection->set (pending_keyboard_selection_start, end);
- }
+ //snap the selection start/end
+ snap_to(start);
+
+ //if no tracks are selected and we're working from the keyboard, enable all tracks (_something_ has to be selected for any range selection)
+ if ( (_edit_point == EditAtPlayhead) && selection->tracks.empty() )
+ select_all_tracks();
+
+ selection->set (start, end);
+
+ //if session is playing a range, cancel that
+ if (_session->get_play_range())
+ _session->request_cancel_play_range();
- have_pending_keyboard_selection = false;
}
}
@@ -68,19 +73,33 @@ void
Editor::keyboard_selection_begin ()
{
if (_session) {
- if (_session->transport_rolling()) {
- pending_keyboard_selection_start = _session->audible_frame();
- have_pending_keyboard_selection = true;
- } else {
- bool ignored;
- framepos_t where; // XXX fix me
- if (mouse_frame (where, ignored)) {
- pending_keyboard_selection_start = where;
- have_pending_keyboard_selection = true;
- }
+ framepos_t start;
+ framepos_t end = selection->time.end_frame(); //0 if no current selection
+ if ((_edit_point == EditAtPlayhead) && _session->transport_rolling()) {
+ start = _session->audible_frame();
+ } else {
+ start = get_preferred_edit_position();
+ }
+
+ //snap the selection start/end
+ snap_to(start);
+
+ //if there's not already a sensible selection endpoint, go "forever"
+ if ( start > end ) {
+ end = max_framepos;
}
+
+ //if no tracks are selected and we're working from the keyboard, enable all tracks (_something_ has to be selected for any range selection)
+ if ( selection->tracks.empty() )
+ select_all_tracks();
+
+ selection->set (start, end);
+
+ //if session is playing a range, cancel that
+ if (_session->get_play_range())
+ _session->request_cancel_play_range();
}
}
diff --git a/gtk2_ardour/editor_markers.cc b/gtk2_ardour/editor_markers.cc
index 757b18b397..5a37fe70cb 100644
--- a/gtk2_ardour/editor_markers.cc
+++ b/gtk2_ardour/editor_markers.cc
@@ -20,7 +20,6 @@
#include <cstdlib>
#include <cmath>
-#include <libgnomecanvas/libgnomecanvas.h>
#include <gtkmm2ext/gtk_ui.h>
#include "ardour/session.h"
@@ -28,12 +27,15 @@
#include "ardour/profile.h"
#include "pbd/memento_command.h"
+#include "canvas/canvas.h"
+#include "canvas/item.h"
+#include "canvas/rectangle.h"
+
#include "editor.h"
#include "marker.h"
#include "selection.h"
#include "editing.h"
#include "gui_thread.h"
-#include "simplerect.h"
#include "actions.h"
#include "prompter.h"
#include "editor_drag.h"
@@ -62,24 +64,32 @@ Editor::add_new_location (Location *location)
{
ENSURE_GUI_THREAD (*this, &Editor::add_new_location, location);
- ArdourCanvas::Group* group = add_new_location_internal (location);
+ ArdourCanvas::Container* group = add_new_location_internal (location);
/* Do a full update of the markers in this group */
update_marker_labels (group);
+
+ if (location->is_auto_punch()) {
+ update_punch_range_view ();
+ }
+
+ if (location->is_auto_loop()) {
+ update_loop_range_view ();
+ }
}
/** Add a new location, without a time-consuming update of all marker labels;
* the caller must call update_marker_labels () after calling this.
* @return canvas group that the location's marker was added to.
*/
-ArdourCanvas::Group*
+ArdourCanvas::Container*
Editor::add_new_location_internal (Location* location)
{
LocationMarkers *lam = new LocationMarkers;
uint32_t color;
/* make a note here of which group this marker ends up in */
- ArdourCanvas::Group* group = 0;
+ ArdourCanvas::Container* group = 0;
if (location->is_cd_marker()) {
color = location_cd_marker_color;
@@ -153,11 +163,8 @@ Editor::add_new_location_internal (Location* location)
lam->show ();
}
- location->start_changed.connect (*this, invalidator (*this), boost::bind (&Editor::location_changed, this, _1), gui_context());
- location->end_changed.connect (*this, invalidator (*this), boost::bind (&Editor::location_changed, this, _1), gui_context());
- location->changed.connect (*this, invalidator (*this), boost::bind (&Editor::location_changed, this, _1), gui_context());
location->name_changed.connect (*this, invalidator (*this), boost::bind (&Editor::location_changed, this, _1), gui_context());
- location->FlagsChanged.connect (*this, invalidator (*this), boost::bind (&Editor::location_flags_changed, this, _1, _2), gui_context());
+ location->FlagsChanged.connect (*this, invalidator (*this), boost::bind (&Editor::location_flags_changed, this, location), gui_context());
pair<Location*,LocationMarkers*> newpair;
@@ -171,7 +178,7 @@ Editor::add_new_location_internal (Location* location)
select_new_marker = false;
}
- lam->canvas_height_set (_canvas_height);
+ lam->canvas_height_set (_visible_canvas_height);
lam->set_show_lines (_show_marker_lines);
/* Add these markers to the appropriate sorted marker lists, which will render
@@ -256,7 +263,7 @@ Editor::check_marker_label (Marker* m)
/* Update just the available space between the previous marker and this one */
- double const p = frame_to_pixel (m->position() - (*prev)->position());
+ double const p = sample_to_pixel (m->position() - (*prev)->position());
if (m->label_on_left()) {
(*prev)->set_right_label_limit (p / 2);
@@ -275,7 +282,7 @@ Editor::check_marker_label (Marker* m)
/* Update just the available space between this marker and the next */
- double const p = frame_to_pixel ((*next)->position() - m->position());
+ double const p = sample_to_pixel ((*next)->position() - m->position());
if ((*next)->label_on_left()) {
m->set_right_label_limit (p / 2);
@@ -301,14 +308,14 @@ struct MarkerComparator {
void
Editor::update_marker_labels ()
{
- for (std::map<ArdourCanvas::Group *, std::list<Marker *> >::iterator i = _sorted_marker_lists.begin(); i != _sorted_marker_lists.end(); ++i) {
+ for (std::map<ArdourCanvas::Container *, std::list<Marker *> >::iterator i = _sorted_marker_lists.begin(); i != _sorted_marker_lists.end(); ++i) {
update_marker_labels (i->first);
}
}
/** Look at all markers in a group and update label widths */
void
-Editor::update_marker_labels (ArdourCanvas::Group* group)
+Editor::update_marker_labels (ArdourCanvas::Container* group)
{
list<Marker*>& sorted = _sorted_marker_lists[group];
@@ -324,12 +331,15 @@ Editor::update_marker_labels (ArdourCanvas::Group* group)
list<Marker*>::iterator prev = sorted.end ();
list<Marker*>::iterator next = i;
- ++next;
+
+ if (next != sorted.end()) {
+ ++next;
+ }
while (i != sorted.end()) {
if (prev != sorted.end()) {
- double const p = frame_to_pixel ((*i)->position() - (*prev)->position());
+ double const p = sample_to_pixel ((*i)->position() - (*prev)->position());
if ((*prev)->label_on_left()) {
(*i)->set_left_label_limit (p);
@@ -340,23 +350,24 @@ Editor::update_marker_labels (ArdourCanvas::Group* group)
}
if (next != sorted.end()) {
- double const p = frame_to_pixel ((*next)->position() - (*i)->position());
+ double const p = sample_to_pixel ((*next)->position() - (*i)->position());
if ((*next)->label_on_left()) {
(*i)->set_right_label_limit (p / 2);
} else {
(*i)->set_right_label_limit (p);
}
+
+ ++next;
}
prev = i;
++i;
- ++next;
}
}
void
-Editor::location_flags_changed (Location *location, void*)
+Editor::location_flags_changed (Location *location)
{
ENSURE_GUI_THREAD (*this, &Editor::location_flags_changed, location, src)
@@ -521,8 +532,8 @@ Editor::refresh_location_display_internal (Locations::LocationList& locations)
i = tmp;
}
- update_punch_range_view (false);
- update_loop_range_view (false);
+ update_punch_range_view ();
+ update_loop_range_view ();
}
void
@@ -671,7 +682,7 @@ Editor::mouse_add_new_range (framepos_t where)
it's reasonably easy to manipulate after creation.
*/
- framepos_t const end = where + current_page_frames() / 8;
+ framepos_t const end = where + current_page_samples() / 8;
string name;
_session->locations()->next_available_name (name, _("range"));
@@ -727,11 +738,11 @@ Editor::location_gone (Location *location)
LocationMarkerMap::iterator i;
if (location == transport_loop_location()) {
- update_loop_range_view (true);
+ update_loop_range_view ();
}
if (location == transport_punch_location()) {
- update_punch_range_view (true);
+ update_punch_range_view ();
}
for (i = location_markers.begin(); i != location_markers.end(); ++i) {
@@ -858,14 +869,14 @@ Editor::build_marker_menu (Location* loc)
items.push_back (MenuElem (_("Rename..."), sigc::mem_fun(*this, &Editor::marker_menu_rename)));
items.push_back (CheckMenuElem (_("Lock")));
- CheckMenuItem* lock_item = static_cast<CheckMenuItem*> (&items.back());
+ Gtk::CheckMenuItem* lock_item = static_cast<Gtk::CheckMenuItem*> (&items.back());
if (loc->locked ()) {
lock_item->set_active ();
}
lock_item->signal_activate().connect (sigc::mem_fun (*this, &Editor::toggle_marker_menu_lock));
items.push_back (CheckMenuElem (_("Glue to Bars and Beats")));
- CheckMenuItem* glue_item = static_cast<CheckMenuItem*> (&items.back());
+ Gtk::CheckMenuItem* glue_item = static_cast<Gtk::CheckMenuItem*> (&items.back());
if (loc->position_lock_style() == MusicTime) {
glue_item->set_active ();
}
@@ -1226,8 +1237,8 @@ Editor::marker_menu_loop_range ()
l2->set (l->start(), l->end());
// enable looping, reposition and start rolling
- _session->request_play_loop(true);
_session->request_locate (l2->start(), true);
+ _session->request_play_loop(true);
}
}
}
@@ -1418,7 +1429,7 @@ Editor::new_transport_marker_menu_set_punch ()
}
void
-Editor::update_loop_range_view (bool visibility)
+Editor::update_loop_range_view ()
{
if (_session == 0) {
return;
@@ -1428,23 +1439,21 @@ Editor::update_loop_range_view (bool visibility)
if (_session->get_play_loop() && ((tll = transport_loop_location()) != 0)) {
- double x1 = frame_to_pixel (tll->start());
- double x2 = frame_to_pixel (tll->end());
-
- transport_loop_range_rect->property_x1() = x1;
- transport_loop_range_rect->property_x2() = x2;
+ double x1 = sample_to_pixel (tll->start());
+ double x2 = sample_to_pixel (tll->end());
- if (visibility) {
- transport_loop_range_rect->show();
- }
+ transport_loop_range_rect->set_x0 (x1);
+ transport_loop_range_rect->set_x1 (x2);
- } else if (visibility) {
+ transport_loop_range_rect->show();
+
+ } else {
transport_loop_range_rect->hide();
}
}
void
-Editor::update_punch_range_view (bool visibility)
+Editor::update_punch_range_view ()
{
if (_session == 0) {
return;
@@ -1453,20 +1462,27 @@ Editor::update_punch_range_view (bool visibility)
Location* tpl;
if ((_session->config.get_punch_in() || _session->config.get_punch_out()) && ((tpl = transport_punch_location()) != 0)) {
- guint track_canvas_width,track_canvas_height;
- track_canvas->get_size(track_canvas_width,track_canvas_height);
+
+ double pixel_start;
+ double pixel_end;
+
if (_session->config.get_punch_in()) {
- transport_punch_range_rect->property_x1() = frame_to_pixel (tpl->start());
- transport_punch_range_rect->property_x2() = (_session->config.get_punch_out() ? frame_to_pixel (tpl->end()) : frame_to_pixel (JACK_MAX_FRAMES));
+ pixel_start = sample_to_pixel (tpl->start());
} else {
- transport_punch_range_rect->property_x1() = 0;
- transport_punch_range_rect->property_x2() = (_session->config.get_punch_out() ? frame_to_pixel (tpl->end()) : track_canvas_width);
+ pixel_start = 0;
}
-
- if (visibility) {
- transport_punch_range_rect->show();
+ if (_session->config.get_punch_out()) {
+ pixel_end = sample_to_pixel (tpl->end());
+ } else {
+ pixel_end = sample_to_pixel (max_framepos);
}
- } else if (visibility) {
+
+ transport_punch_range_rect->set_x0 (pixel_start);
+ transport_punch_range_rect->set_x1 (pixel_end);
+ transport_punch_range_rect->show();
+
+ } else {
+
transport_punch_range_rect->hide();
}
}
@@ -1557,7 +1573,7 @@ Editor::toggle_marker_lines ()
void
Editor::remove_sorted_marker (Marker* m)
{
- for (std::map<ArdourCanvas::Group *, std::list<Marker *> >::iterator i = _sorted_marker_lists.begin(); i != _sorted_marker_lists.end(); ++i) {
+ for (std::map<ArdourCanvas::Container *, std::list<Marker *> >::iterator i = _sorted_marker_lists.begin(); i != _sorted_marker_lists.end(); ++i) {
i->second.remove (m);
}
}
diff --git a/gtk2_ardour/editor_mixer.cc b/gtk2_ardour/editor_mixer.cc
index 175c553615..6251f77ee7 100644
--- a/gtk2_ardour/editor_mixer.cc
+++ b/gtk2_ardour/editor_mixer.cc
@@ -166,8 +166,7 @@ void
Editor::ensure_all_elements_drawn ()
{
controls_layout.queue_draw ();
- ruler_label_event_box.queue_draw ();
- time_button_event_box.queue_draw ();
+ time_bars_event_box.queue_draw ();
}
#endif
@@ -184,6 +183,7 @@ Editor::create_editor_mixer ()
current_mixer_strip->WidthChanged.connect (sigc::mem_fun(*this, &Editor::ensure_all_elements_drawn));
#endif
current_mixer_strip->set_embedded (true);
+
}
void
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc
index e20bd86384..1087b0e817 100644
--- a/gtk2_ardour/editor_mouse.cc
+++ b/gtk2_ardour/editor_mouse.cc
@@ -24,6 +24,7 @@
#include <set>
#include <string>
#include <algorithm>
+#include <bitset>
#include "pbd/error.h"
#include "pbd/enumwriter.h"
@@ -35,9 +36,19 @@
#include "gtkmm2ext/utils.h"
#include "gtkmm2ext/tearoff.h"
+#include "canvas/canvas.h"
+
+#include "ardour/audioregion.h"
+#include "ardour/operations.h"
+#include "ardour/playlist.h"
+#include "ardour/profile.h"
+#include "ardour/region_factory.h"
+#include "ardour/route.h"
+#include "ardour/session.h"
+#include "ardour/types.h"
+
#include "ardour_ui.h"
#include "actions.h"
-#include "canvas-note.h"
#include "editor.h"
#include "time_axis_view.h"
#include "audio_time_axis.h"
@@ -49,7 +60,6 @@
#include "automation_time_axis.h"
#include "control_point.h"
#include "prompter.h"
-#include "utils.h"
#include "selection.h"
#include "keyboard.h"
#include "editing.h"
@@ -61,17 +71,7 @@
#include "mouse_cursors.h"
#include "editor_cursors.h"
#include "verbose_cursor.h"
-
-#include "ardour/audioregion.h"
-#include "ardour/operations.h"
-#include "ardour/playlist.h"
-#include "ardour/profile.h"
-#include "ardour/region_factory.h"
-#include "ardour/route.h"
-#include "ardour/session.h"
-#include "ardour/types.h"
-
-#include <bitset>
+#include "note.h"
#include "i18n.h"
@@ -101,129 +101,87 @@ Editor::mouse_frame (framepos_t& where, bool& in_track_canvas) const
}
int x, y;
- double wx, wy;
- Gdk::ModifierType mask;
- Glib::RefPtr<Gdk::Window> canvas_window = const_cast<Editor*>(this)->track_canvas->get_window();
- Glib::RefPtr<const Gdk::Window> pointer_window;
+ Glib::RefPtr<Gdk::Window> canvas_window = const_cast<Editor*>(this)->_track_canvas->get_window();
if (!canvas_window) {
return false;
}
- pointer_window = canvas_window->get_pointer (x, y, mask);
+ Glib::RefPtr<const Gdk::Window> pointer_window = Gdk::Display::get_default()->get_window_at_pointer (x, y);
- if (pointer_window == track_canvas->get_bin_window()) {
- wx = x;
- wy = y;
- in_track_canvas = true;
+ if (!pointer_window) {
+ return false;
+ }
- } else {
+ if (pointer_window != canvas_window) {
in_track_canvas = false;
- return false;
+ return false;
}
+ in_track_canvas = true;
+
GdkEvent event;
event.type = GDK_BUTTON_RELEASE;
- event.button.x = wx;
- event.button.y = wy;
+ event.button.x = x;
+ event.button.y = y;
+
+ where = window_event_sample (&event, 0, 0);
- where = event_frame (&event, 0, 0);
return true;
}
framepos_t
-Editor::event_frame (GdkEvent const * event, double* pcx, double* pcy) const
+Editor::window_event_sample (GdkEvent const * event, double* pcx, double* pcy) const
{
- double cx, cy;
+ ArdourCanvas::Duple d;
- if (pcx == 0) {
- pcx = &cx;
- }
- if (pcy == 0) {
- pcy = &cy;
+ if (!gdk_event_get_coords (event, &d.x, &d.y)) {
+ return 0;
}
- *pcx = 0;
- *pcy = 0;
+ /* event coordinates are in window units, so convert to canvas
+ */
- switch (event->type) {
- case GDK_BUTTON_RELEASE:
- case GDK_BUTTON_PRESS:
- case GDK_2BUTTON_PRESS:
- case GDK_3BUTTON_PRESS:
- *pcx = event->button.x;
- *pcy = event->button.y;
- _trackview_group->w2i(*pcx, *pcy);
- break;
- case GDK_MOTION_NOTIFY:
- *pcx = event->motion.x;
- *pcy = event->motion.y;
- _trackview_group->w2i(*pcx, *pcy);
- break;
- case GDK_ENTER_NOTIFY:
- case GDK_LEAVE_NOTIFY:
- track_canvas->w2c(event->crossing.x, event->crossing.y, *pcx, *pcy);
- break;
- case GDK_KEY_PRESS:
- case GDK_KEY_RELEASE:
- // track_canvas->w2c(event->key.x, event->key.y, *pcx, *pcy);
- break;
- default:
- warning << string_compose (_("Editor::event_frame() used on unhandled event type %1"), event->type) << endmsg;
- break;
+ d = _track_canvas->window_to_canvas (d);
+
+ if (pcx) {
+ *pcx = d.x;
}
- /* note that pixel_to_frame() never returns less than zero, so even if the pixel
- position is negative (as can be the case with motion events in particular),
- the frame location is always positive.
- */
+ if (pcy) {
+ *pcy = d.y;
+ }
- return pixel_to_frame (*pcx);
+ return pixel_to_sample (d.x);
}
-Gdk::Cursor*
-Editor::which_grabber_cursor ()
+framepos_t
+Editor::canvas_event_sample (GdkEvent const * event, double* pcx, double* pcy) const
{
- Gdk::Cursor* c = _cursors->grabber;
+ double x;
+ double y;
- if (_internal_editing) {
- switch (mouse_mode) {
- case MouseDraw:
- c = _cursors->midi_pencil;
- break;
+ /* event coordinates are already in canvas units */
- case MouseObject:
- c = _cursors->grabber_note;
- break;
-
- case MouseTimeFX:
- c = _cursors->midi_resize;
- break;
-
- case MouseRange:
- c = _cursors->grabber_note;
- break;
-
- default:
- break;
- }
+ if (!gdk_event_get_coords (event, &x, &y)) {
+ cerr << "!NO c COORDS for event type " << event->type << endl;
+ return 0;
+ }
- } else {
+ if (pcx) {
+ *pcx = x;
+ }
- switch (_edit_point) {
- case EditAtMouse:
- c = _cursors->grabber_edit_point;
- break;
- default:
- boost::shared_ptr<Movable> m = _movable.lock();
- if (m && m->locked()) {
- c = _cursors->speaker;
- }
- break;
- }
+ if (pcy) {
+ *pcy = y;
}
- return c;
+ /* note that pixel_to_sample_from_event() never returns less than zero, so even if the pixel
+ position is negative (as can be the case with motion events in particular),
+ the frame location is always positive.
+ */
+
+ return pixel_to_sample_from_event (x);
}
void
@@ -233,7 +191,6 @@ Editor::set_current_trimmable (boost::shared_ptr<Trimmable> t)
if (!st || st == t) {
_trimmable = t;
- set_canvas_cursor ();
}
}
@@ -244,80 +201,10 @@ Editor::set_current_movable (boost::shared_ptr<Movable> m)
if (!sm || sm != m) {
_movable = m;
- set_canvas_cursor ();
}
}
void
-Editor::set_canvas_cursor ()
-{
- switch (mouse_mode) {
- case MouseRange:
- current_canvas_cursor = _cursors->selector;
- if (_internal_editing) {
- current_canvas_cursor = which_grabber_cursor();
- }
- break;
-
- case MouseObject:
- current_canvas_cursor = which_grabber_cursor();
- break;
-
- case MouseDraw:
- current_canvas_cursor = _cursors->midi_pencil;
- break;
-
- case MouseGain:
- current_canvas_cursor = _cursors->cross_hair;
- break;
-
- case MouseZoom:
- if (Keyboard::the_keyboard().key_is_down (GDK_Control_L)) {
- current_canvas_cursor = _cursors->zoom_out;
- } else {
- current_canvas_cursor = _cursors->zoom_in;
- }
- break;
-
- case MouseTimeFX:
- current_canvas_cursor = _cursors->time_fx; // just use playhead
- break;
-
- case MouseAudition:
- current_canvas_cursor = _cursors->speaker;
- break;
- }
-
- if (!_internal_editing) {
- switch (_join_object_range_state) {
- case JOIN_OBJECT_RANGE_NONE:
- break;
- case JOIN_OBJECT_RANGE_OBJECT:
- current_canvas_cursor = which_grabber_cursor ();
- break;
- case JOIN_OBJECT_RANGE_RANGE:
- current_canvas_cursor = _cursors->selector;
- break;
- }
- }
-
- /* up-down cursor as a cue that automation can be dragged up and down when in join object/range mode */
- if (!_internal_editing && get_smart_mode() ) {
- double x, y;
- get_pointer_position (x, y);
- ArdourCanvas::Item* i = track_canvas->get_item_at (x, y);
- if (i && i->property_parent() && (*i->property_parent()).get_data (X_("timeselection"))) {
- pair<TimeAxisView*, int> tvp = trackview_by_y_position (_last_motion_y + vertical_adjustment.get_value() - canvas_timebars_vsize);
- if (dynamic_cast<AutomationTimeAxisView*> (tvp.first)) {
- current_canvas_cursor = _cursors->up_down;
- }
- }
- }
-
- set_canvas_cursor (current_canvas_cursor, true);
-}
-
-void
Editor::mouse_mode_object_range_toggled()
{
MouseMode m = mouse_mode;
@@ -326,9 +213,11 @@ Editor::mouse_mode_object_range_toggled()
assert (act);
Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
assert (tact);
- if (tact->get_active())
+
+ if (tact->get_active()) {
m = MouseObject; //Smart mode turned to ON, force editing to Object mode
-
+ }
+
set_mouse_mode(m, true); //call this so the button styles can get updated
}
@@ -343,6 +232,11 @@ Editor::set_mouse_mode (MouseMode m, bool force)
return;
}
+ if (ARDOUR::Profile->get_mixbus()) {
+ if ( m == MouseZoom) m = MouseObject;
+ if ( m == MouseCut) m = MouseObject;
+ }
+
Glib::RefPtr<Action> act;
switch (m) {
@@ -350,6 +244,10 @@ Editor::set_mouse_mode (MouseMode m, bool force)
act = ActionManager::get_action (X_("MouseMode"), X_("set-mouse-mode-range"));
break;
+ case MouseCut:
+ act = ActionManager::get_action (X_("MouseMode"), X_("set-mouse-mode-cut"));
+ break;
+
case MouseObject:
act = ActionManager::get_action (X_("MouseMode"), X_("set-mouse-mode-object"));
break;
@@ -393,6 +291,11 @@ Editor::mouse_mode_toggled (MouseMode m)
Glib::RefPtr<Action> act;
Glib::RefPtr<ToggleAction> tact;
+ if (ARDOUR::Profile->get_mixbus()) {
+ if ( m == MouseZoom) m = MouseObject;
+ if ( m == MouseCut) m = MouseObject;
+ }
+
switch (m) {
case MouseRange:
act = ActionManager::get_action (X_("MouseMode"), X_("set-mouse-mode-range"));
@@ -402,6 +305,10 @@ Editor::mouse_mode_toggled (MouseMode m)
act = ActionManager::get_action (X_("MouseMode"), X_("set-mouse-mode-object"));
break;
+ case MouseCut:
+ act = ActionManager::get_action (X_("MouseMode"), X_("set-mouse-mode-cut"));
+ break;
+
case MouseDraw:
act = ActionManager::get_action (X_("MouseMode"), X_("set-mouse-mode-draw"));
break;
@@ -456,32 +363,42 @@ Editor::mouse_mode_toggled (MouseMode m)
instant_save ();
- //TODO: set button styles for smart buttons
-/*
- if ( smart_mode_action->get_active() ) {
- if( mouse_mode == MouseObject ) { //smart active and object active
- smart_mode_button.set_active(1);
- smart_mode_button.set_name("smart mode button");
- mouse_move_button.set_name("smart mode button");
- } else { //smart active but object inactive
- smart_mode_button.set_active(0);
- smart_mode_button.set_name("smart mode button");
- mouse_move_button.set_name("mouse mode button");
- }
- } else {
- smart_mode_button.set_active(0);
- smart_mode_button.set_name("mouse mode button");
- mouse_move_button.set_name("mouse mode button");
+ /* this should generate a new enter event which will
+ trigger the appropiate cursor.
+ */
+
+ if (_track_canvas) {
+ _track_canvas->re_enter ();
}
-*/
-
- set_canvas_cursor ();
+
set_gain_envelope_visibility ();
+
+ update_time_selection_display ();
MouseModeChanged (); /* EMIT SIGNAL */
}
void
+Editor::update_time_selection_display ()
+{
+ if (smart_mode_action->get_active()) {
+ /* not sure what to do here */
+ if (mouse_mode == MouseObject) {
+ } else {
+ }
+ } else {
+ switch (mouse_mode) {
+ case MouseRange:
+ selection->clear_objects ();
+ break;
+ default:
+ selection->clear_time ();
+ break;
+ }
+ }
+}
+
+void
Editor::step_mouse_mode (bool next)
{
switch (current_mouse_mode()) {
@@ -499,11 +416,16 @@ Editor::step_mouse_mode (bool next)
case MouseRange:
if (next) set_mouse_mode (MouseDraw);
- else set_mouse_mode (MouseObject);
+ else set_mouse_mode (MouseCut);
+ break;
+
+ case MouseCut:
+ if (next) set_mouse_mode (MouseRange);
+ else set_mouse_mode (MouseDraw);
break;
case MouseDraw:
- if (next) set_mouse_mode (MouseZoom);
+ if (next) set_mouse_mode (MouseCut);
else set_mouse_mode (MouseRange);
break;
@@ -579,6 +501,34 @@ Editor::button_selection (ArdourCanvas::Item* /*item*/, GdkEvent* event, ItemTyp
to cut notes or regions.
*/
+ MouseMode eff_mouse_mode = effective_mouse_mode ();
+
+ if (eff_mouse_mode == MouseCut) {
+ /* never change selection in cut mode */
+ return;
+ }
+
+ if (get_smart_mode() && eff_mouse_mode == MouseRange && event->button.button == 3 && item_type == RegionItem) {
+ /* context clicks are always about object properties, even if
+ we're in range mode within smart mode.
+ */
+ eff_mouse_mode = MouseObject;
+ }
+
+ /* special case: allow drag of region fade in/out in object mode with join object/range enabled */
+ if (get_smart_mode()) {
+ switch (item_type) {
+ case FadeInHandleItem:
+ case FadeInTrimHandleItem:
+ case FadeOutHandleItem:
+ case FadeOutTrimHandleItem:
+ eff_mouse_mode = MouseObject;
+ break;
+ default:
+ break;
+ }
+ }
+
if (((mouse_mode != MouseObject) &&
(mouse_mode != MouseAudition || item_type != RegionItem) &&
(mouse_mode != MouseTimeFX || item_type != RegionItem) &&
@@ -607,25 +557,23 @@ Editor::button_selection (ArdourCanvas::Item* /*item*/, GdkEvent* event, ItemTyp
switch (item_type) {
case RegionItem:
- if (!get_smart_mode() || (_join_object_range_state != JOIN_OBJECT_RANGE_RANGE)) {
- if (press) {
- if (mouse_mode != MouseRange) {
- set_selected_regionview_from_click (press, op);
- } else {
- /* don't change the selection unless the
- clicked track is not currently selected. if
- so, "collapse" the selection to just this
- track
- */
- if (!selection->selected (clicked_axisview)) {
- set_selected_track_as_side_effect (Selection::Set);
- }
- }
+ if (press) {
+ if (eff_mouse_mode != MouseRange) {
+ set_selected_regionview_from_click (press, op);
} else {
- if (mouse_mode != MouseRange) {
- set_selected_regionview_from_click (press, op);
+ /* don't change the selection unless the
+ clicked track is not currently selected. if
+ so, "collapse" the selection to just this
+ track
+ */
+ if (!selection->selected (clicked_axisview)) {
+ set_selected_track_as_side_effect (Selection::Set);
}
}
+ } else {
+ if (eff_mouse_mode != MouseRange) {
+ set_selected_regionview_from_click (press, op);
+ }
}
break;
@@ -633,20 +581,15 @@ Editor::button_selection (ArdourCanvas::Item* /*item*/, GdkEvent* event, ItemTyp
case RegionViewName:
case LeftFrameHandle:
case RightFrameHandle:
- if ( mouse_mode != MouseRange ) {
- set_selected_regionview_from_click (press, op);
- } else if (event->type == GDK_BUTTON_PRESS) {
- set_selected_track_as_side_effect (op);
- }
- break;
-
case FadeInHandleItem:
+ case FadeInTrimHandleItem:
case FadeInItem:
case FadeOutHandleItem:
+ case FadeOutTrimHandleItem:
case FadeOutItem:
case StartCrossFadeItem:
case EndCrossFadeItem:
- if ( mouse_mode != MouseRange ) {
+ if (get_smart_mode() || eff_mouse_mode != MouseRange) {
set_selected_regionview_from_click (press, op);
} else if (event->type == GDK_BUTTON_PRESS) {
set_selected_track_as_side_effect (op);
@@ -655,7 +598,7 @@ Editor::button_selection (ArdourCanvas::Item* /*item*/, GdkEvent* event, ItemTyp
case ControlPointItem:
set_selected_track_as_side_effect (op);
- if ( mouse_mode != MouseRange ) {
+ if (eff_mouse_mode != MouseRange) {
set_selected_control_point_from_click (press, op);
}
break;
@@ -688,7 +631,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
switch (item_type) {
case PlayheadCursorItem:
- _drags->set (new CursorDrag (this, item, true), event);
+ _drags->set (new CursorDrag (this, *playhead_cursor, true), event);
return true;
case MarkerItem:
@@ -703,38 +646,30 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
{
TempoMarker* m = reinterpret_cast<TempoMarker*> (item->get_data ("marker"));
assert (m);
- if (m->tempo().movable ()) {
- _drags->set (
- new TempoMarkerDrag (
- this,
- item,
- Keyboard::modifier_state_contains (event->button.state, Keyboard::CopyModifier)
- ),
- event
- );
- return true;
- } else {
- return false;
- }
+ _drags->set (
+ new TempoMarkerDrag (
+ this,
+ item,
+ Keyboard::modifier_state_contains (event->button.state, Keyboard::CopyModifier)
+ ),
+ event
+ );
+ return true;
}
case MeterMarkerItem:
{
MeterMarker* m = reinterpret_cast<MeterMarker*> (item->get_data ("marker"));
assert (m);
- if (m->meter().movable ()) {
- _drags->set (
- new MeterMarkerDrag (
- this,
- item,
- Keyboard::modifier_state_contains (event->button.state, Keyboard::CopyModifier)
- ),
- event
- );
- return true;
- } else {
- return false;
- }
+ _drags->set (
+ new MeterMarkerDrag (
+ this,
+ item,
+ Keyboard::modifier_state_contains (event->button.state, Keyboard::CopyModifier)
+ ),
+ event
+ );
+ return true;
}
case VideoBarItem:
@@ -745,25 +680,31 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
case MarkerBarItem:
case TempoBarItem:
case MeterBarItem:
+ case TimecodeRulerItem:
+ case SamplesRulerItem:
+ case MinsecRulerItem:
+ case BBTRulerItem:
if (!Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier)) {
- _drags->set (new CursorDrag (this, &playhead_cursor->canvas_item, false), event);
+ _drags->set (new CursorDrag (this, *playhead_cursor, false), event);
}
return true;
break;
case RangeMarkerBarItem:
- if (!Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier)) {
- _drags->set (new CursorDrag (this, &playhead_cursor->canvas_item, false), event);
- } else {
+ if (Keyboard::modifier_state_contains (event->button.state, Keyboard::TertiaryModifier)) {
+ _drags->set (new RangeMarkerBarDrag (this, item, RangeMarkerBarDrag::CreateSkipMarker), event);
+ } else if (Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier)) {
_drags->set (new RangeMarkerBarDrag (this, item, RangeMarkerBarDrag::CreateRangeMarker), event);
+ } else {
+ _drags->set (new CursorDrag (this, *playhead_cursor, false), event);
}
return true;
break;
case CdMarkerBarItem:
if (!Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier)) {
- _drags->set (new CursorDrag (this, &playhead_cursor->canvas_item, false), event);
+ _drags->set (new CursorDrag (this, *playhead_cursor, false), event);
} else {
_drags->set (new RangeMarkerBarDrag (this, item, RangeMarkerBarDrag::CreateCDMarker), event);
}
@@ -772,7 +713,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
case TransportMarkerBarItem:
if (!Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier)) {
- _drags->set (new CursorDrag (this, &playhead_cursor->canvas_item, false), event);
+ _drags->set (new CursorDrag (this, *playhead_cursor, false), event);
} else {
_drags->set (new RangeMarkerBarDrag (this, item, RangeMarkerBarDrag::CreateTransportMarker), event);
}
@@ -800,8 +741,17 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
Editing::MouseMode eff = effective_mouse_mode ();
/* special case: allow drag of region fade in/out in object mode with join object/range enabled */
- if (item_type == FadeInHandleItem || item_type == FadeOutHandleItem) {
- eff = MouseObject;
+ if (get_smart_mode()) {
+ switch (item_type) {
+ case FadeInHandleItem:
+ case FadeInTrimHandleItem:
+ case FadeOutHandleItem:
+ case FadeOutTrimHandleItem:
+ eff = MouseObject;
+ break;
+ default:
+ break;
+ }
}
/* there is no Range mode when in internal edit mode */
@@ -823,23 +773,14 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
case SelectionItem:
if (Keyboard::modifier_state_contains (event->button.state, Keyboard::ModifierMask(Keyboard::PrimaryModifier|Keyboard::SecondaryModifier))) {
start_selection_grab (item, event);
+ return true;
} else if (Keyboard::modifier_state_equals (event->button.state, Keyboard::SecondaryModifier)) {
/* grab selection for moving */
_drags->set (new SelectionDrag (this, item, SelectionDrag::SelectionMove), event);
} else {
- double const y = event->button.y + vertical_adjustment.get_value() - canvas_timebars_vsize;
- pair<TimeAxisView*, int> tvp = trackview_by_y_position (y);
- if (tvp.first) {
- AutomationTimeAxisView* atv = dynamic_cast<AutomationTimeAxisView*> (tvp.first);
- if ( get_smart_mode() && atv) {
- /* smart "join" mode: drag automation */
- _drags->set (new AutomationRangeDrag (this, atv, selection->time), event, _cursors->up_down);
- } else {
- /* this was debated, but decided the more common action was to
- make a new selection */
- _drags->set (new SelectionDrag (this, item, SelectionDrag::CreateSelection), event);
- }
- }
+ /* this was debated, but decided the more common action was to
+ make a new selection */
+ _drags->set (new SelectionDrag (this, item, SelectionDrag::CreateSelection), event);
}
break;
@@ -881,16 +822,18 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
case MouseDraw:
switch (item_type) {
case NoteItem:
+ /* Existing note: allow trimming/motion */
if (internal_editing()) {
/* trim notes if we're in internal edit mode and near the ends of the note */
- ArdourCanvas::CanvasNote* cn = dynamic_cast<ArdourCanvas::CanvasNote*> (item);
- if (cn && cn->big_enough_to_trim() && cn->mouse_near_ends()) {
+ NoteBase* cn = reinterpret_cast<NoteBase*>(item->get_data ("notebase"));
+ assert (cn);
+ if (cn->big_enough_to_trim() && cn->mouse_near_ends()) {
_drags->set (new NoteResizeDrag (this, item), event, current_canvas_cursor);
} else {
_drags->set (new NoteDrag (this, item), event);
}
return true;
- }
+ }
break;
case StreamItem:
if (internal_editing()) {
@@ -906,12 +849,34 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
}
break;
+ case MouseCut:
+ switch (item_type) {
+ case RegionItem:
+ case FadeInHandleItem:
+ case FadeOutHandleItem:
+ case LeftFrameHandle:
+ case RightFrameHandle:
+ case FeatureLineItem:
+ case RegionViewNameHighlight:
+ case RegionViewName:
+ case StreamItem:
+ case AutomationTrackItem:
+ _drags->set (new RegionCutDrag (this, item, canvas_event_sample (event)), event, current_canvas_cursor);
+ return true;
+ break;
+ default:
+ break;
+ }
+ break;
+
case MouseObject:
switch (item_type) {
case NoteItem:
+ /* Existing note: allow trimming/motion */
if (internal_editing()) {
- ArdourCanvas::CanvasNoteEvent* cn = dynamic_cast<ArdourCanvas::CanvasNoteEvent*> (item);
- if (cn->mouse_near_ends()) {
+ NoteBase* cn = reinterpret_cast<NoteBase*> (item->get_data ("notebase"));
+ assert (cn);
+ if (cn->big_enough_to_trim() && cn->mouse_near_ends()) {
_drags->set (new NoteResizeDrag (this, item), event, current_canvas_cursor);
} else {
_drags->set (new NoteDrag (this, item), event);
@@ -992,22 +957,33 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
// }
_drags->start_grab (event);
+ return true;
break;
case RegionViewNameHighlight:
case LeftFrameHandle:
- case RightFrameHandle:
+ case RightFrameHandle:
if (!clicked_regionview->region()->locked()) {
_drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer()), event);
return true;
}
break;
+ case FadeInTrimHandleItem:
+ case FadeOutTrimHandleItem:
+ if (!clicked_regionview->region()->locked()) {
+ _drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer(), true), event);
+ return true;
+ }
+ break;
+
case RegionViewName:
{
/* rename happens on edit clicks */
- _drags->set (new TrimDrag (this, clicked_regionview->get_name_highlight(), clicked_regionview, selection->regions.by_layer()), event);
- return true;
+ if (clicked_regionview->get_name_highlight()) {
+ _drags->set (new TrimDrag (this, clicked_regionview->get_name_highlight(), clicked_regionview, selection->regions.by_layer()), event);
+ return true;
+ }
break;
}
@@ -1047,7 +1023,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
_drags->set (new RegionCreateDrag (this, item, parent), event);
} else {
/* See if there's a region before the click that we can extend, and extend it if so */
- framepos_t const t = event_frame (event);
+ framepos_t const t = canvas_event_sample (event);
boost::shared_ptr<Region> prev = pl->find_next_region (t, End, -1);
if (!prev) {
_drags->set (new RegionCreateDrag (this, item, parent), event);
@@ -1064,44 +1040,6 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
case SelectionItem:
{
- if ( get_smart_mode() ) {
- /* we're in "smart" joined mode, and we've clicked on a Selection */
- double const y = event->button.y + vertical_adjustment.get_value() - canvas_timebars_vsize;
- pair<TimeAxisView*, int> tvp = trackview_by_y_position (y);
- if (tvp.first) {
- /* if we're over an automation track, start a drag of its data */
- AutomationTimeAxisView* atv = dynamic_cast<AutomationTimeAxisView*> (tvp.first);
- if (atv) {
- _drags->set (new AutomationRangeDrag (this, atv, selection->time), event, _cursors->up_down);
- }
-
- /* if we're over a track and a region, and in the `object' part of a region,
- put a selection around the region and drag both
- */
-/* RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (tvp.first);
- if (rtv && _join_object_range_state == JOIN_OBJECT_RANGE_OBJECT) {
- boost::shared_ptr<Track> t = boost::dynamic_pointer_cast<Track> (rtv->route ());
- if (t) {
- boost::shared_ptr<Playlist> pl = t->playlist ();
- if (pl) {
-
- boost::shared_ptr<Region> r = pl->top_region_at (event_frame (event));
- if (r) {
- RegionView* rv = rtv->view()->find_view (r);
- clicked_selection = select_range (rv->region()->position(),
- rv->region()->last_frame()+1);
- _drags->add (new SelectionDrag (this, item, SelectionDrag::SelectionMove));
- list<RegionView*> rvs;
- rvs.push_back (rv);
- _drags->add (new RegionMoveDrag (this, item, rv, rvs, false, false));
- _drags->start_grab (event);
- }
- }
- }
- }
-*/
- }
- }
break;
}
@@ -1132,7 +1070,16 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
AudioRegionView* arv = dynamic_cast<AudioRegionView *> (clicked_regionview);
if (arv) {
_drags->set (new AutomationRangeDrag (this, arv, selection->time), event, _cursors->up_down);
- _drags->start_grab (event);
+ } else {
+ double const y = event->button.y;
+ pair<TimeAxisView*, int> tvp = trackview_by_y_position (y);
+ if (tvp.first) {
+ AutomationTimeAxisView* atv = dynamic_cast<AutomationTimeAxisView*> (tvp.first);
+ if ( atv) {
+ /* smart "join" mode: drag automation */
+ _drags->set (new AutomationRangeDrag (this, atv, selection->time), event, _cursors->up_down);
+ }
+ }
}
return true;
break;
@@ -1157,9 +1104,13 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
break;
case MouseTimeFX:
- if (internal_editing() && item_type == NoteItem) {
+ if (internal_editing() && item_type == NoteItem ) {
/* drag notes if we're in internal edit mode */
- _drags->set (new NoteResizeDrag (this, item), event, current_canvas_cursor);
+ NoteBase* cn = reinterpret_cast<NoteBase*>(item->get_data ("notebase"));
+ assert (cn);
+ if (cn->big_enough_to_trim()) {
+ _drags->set (new NoteResizeDrag (this, item), event, current_canvas_cursor);
+ }
return true;
} else if (clicked_regionview) {
/* do time-FX */
@@ -1174,7 +1125,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
scrub_reverse_distance = 0;
last_scrub_x = event->button.x;
scrubbing_direction = 0;
- set_canvas_cursor (_cursors->transparent);
+ push_canvas_cursor (_cursors->transparent);
return true;
break;
@@ -1217,12 +1168,12 @@ Editor::button_press_handler_2 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
switch (item_type) {
case RegionViewNameHighlight:
- _drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer()), event);
- return true;
- break;
+ _drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer()), event);
+ return true;
+ break;
- case LeftFrameHandle:
- case RightFrameHandle:
+ case LeftFrameHandle:
+ case RightFrameHandle:
if (!internal_editing ()) {
_drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer()), event);
}
@@ -1251,9 +1202,9 @@ Editor::button_press_handler_2 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
case MouseZoom:
if (Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier)) {
- temporal_zoom_to_frame (false, event_frame (event));
+ temporal_zoom_to_frame (false, canvas_event_sample (event));
} else {
- temporal_zoom_to_frame (true, event_frame(event));
+ temporal_zoom_to_frame (true, canvas_event_sample(event));
}
return true;
break;
@@ -1268,32 +1219,19 @@ Editor::button_press_handler_2 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
bool
Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_type)
{
- if (event->type != GDK_BUTTON_PRESS) {
- if (event->type == GDK_2BUTTON_PRESS) {
- gdk_pointer_ungrab (GDK_CURRENT_TIME);
- return button_double_click_handler (item, event, item_type);
- }
- return false;
+ if (event->type == GDK_2BUTTON_PRESS) {
+ _drags->mark_double_click ();
+ gdk_pointer_ungrab (GDK_CURRENT_TIME);
+ return true;
}
- Glib::RefPtr<Gdk::Window> canvas_window = const_cast<Editor*>(this)->track_canvas->get_window();
-
- if (canvas_window) {
- Glib::RefPtr<const Gdk::Window> pointer_window;
- int x, y;
- double wx, wy;
- Gdk::ModifierType mask;
-
- pointer_window = canvas_window->get_pointer (x, y, mask);
-
- if (pointer_window == track_canvas->get_bin_window()) {
- track_canvas->window_to_world (x, y, wx, wy);
- }
+ if (event->type != GDK_BUTTON_PRESS) {
+ return false;
}
pre_press_cursor = current_canvas_cursor;
-
- track_canvas->grab_focus();
+
+ _track_canvas->grab_focus();
if (_session && _session->actively_recording()) {
return true;
@@ -1323,7 +1261,11 @@ Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemTyp
case CdMarkerBarItem:
case TransportMarkerBarItem:
case StreamItem:
- /* button press on these events never does anything to
+ case TimecodeRulerItem:
+ case SamplesRulerItem:
+ case MinsecRulerItem:
+ case BBTRulerItem:
+ /* button press on these items never does anything to
change the editing mode.
*/
break;
@@ -1349,8 +1291,8 @@ Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemTyp
}
//not rolling, range mode click + join_play_range : locate the PH here
- if ( !_drags->active () && !_session->transport_rolling() && ( effective_mouse_mode() == MouseRange ) && Config->get_always_play_range() ) {
- framepos_t where = event_frame (event, 0, 0);
+ if ( !_drags->active () && !_session->transport_rolling() && ( effective_mouse_mode() == MouseRange ) && Config->get_follow_edits() ) {
+ framepos_t where = canvas_event_sample (event);
snap_to(where);
_session->request_locate (where, false);
}
@@ -1397,55 +1339,9 @@ Editor::button_release_dispatch (GdkEventButton* ev)
}
bool
-Editor::button_double_click_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_type) {
-
- if (event->button.button != 1) {
- return false;
- }
-
- switch (item_type) {
- case RegionItem:
- RegionView *rv;
- rv = clicked_regionview;
- rv->show_region_editor ();
- return true;
- case NoteItem:
- case PlayheadCursorItem:
- break;
- case MarkerItem:
- case RangeMarkerBarItem:
- case CdMarkerBarItem:
- Marker* marker;
- if ((marker = static_cast<Marker *> (item->get_data ("marker"))) == 0) {
- break;
- }
- rename_marker (marker);
- return true;
- case TempoMarkerItem:
- edit_tempo_marker (item);
- return true;
- case MeterMarkerItem:
- edit_meter_marker (item);
- return true;
- case MarkerBarItem:
- case TempoBarItem:
- case MeterBarItem:
- case TransportMarkerBarItem:
- case StreamItem:
- break;
-
- default:
- break;
- }
- return false;
-}
-
-
-
-bool
Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_type)
{
- framepos_t where = event_frame (event, 0, 0);
+ framepos_t where = canvas_event_sample (event);
AutomationTimeAxisView* atv = 0;
if (pre_press_cursor) {
@@ -1472,7 +1368,7 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
were_dragging = true;
}
- update_region_layering_order_editor ();
+ update_region_layering_order_editor ();
/* edit events get handled here */
@@ -1482,13 +1378,40 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
show_region_properties ();
break;
- case TempoMarkerItem:
- edit_tempo_marker (item);
+ case TempoMarkerItem: {
+ Marker* marker;
+ TempoMarker* tempo_marker;
+
+ if ((marker = reinterpret_cast<Marker *> (item->get_data ("marker"))) == 0) {
+ fatal << _("programming error: tempo marker canvas item has no marker object pointer!") << endmsg;
+ /*NOTREACHED*/
+ }
+
+ if ((tempo_marker = dynamic_cast<TempoMarker*> (marker)) == 0) {
+ fatal << _("programming error: marker for tempo is not a tempo marker!") << endmsg;
+ /*NOTREACHED*/
+ }
+
+ edit_tempo_marker (*tempo_marker);
break;
+ }
- case MeterMarkerItem:
- edit_meter_marker (item);
+ case MeterMarkerItem: {
+ Marker* marker;
+ MeterMarker* meter_marker;
+
+ if ((marker = reinterpret_cast<Marker *> (item->get_data ("marker"))) == 0) {
+ fatal << _("programming error: tempo marker canvas item has no marker object pointer!") << endmsg;
+ /*NOTREACHED*/
+ }
+
+ if ((meter_marker = dynamic_cast<MeterMarker*> (marker)) == 0) {
+ fatal << _("programming error: marker for meter is not a meter marker!") << endmsg;
+ /*NOTREACHED*/
+ }
+ edit_meter_marker (*meter_marker);
break;
+ }
case RegionViewName:
if (clicked_regionview->name_active()) {
@@ -1520,16 +1443,17 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
switch (item_type) {
case FadeInItem:
case FadeInHandleItem:
- case FadeOutItem:
- case FadeOutHandleItem:
- popup_fade_context_menu (1, event->button.time, item, item_type);
- break;
-
+ case FadeInTrimHandleItem:
case StartCrossFadeItem:
+ case LeftFrameHandle:
popup_xfade_in_context_menu (1, event->button.time, item, item_type);
break;
+ case FadeOutItem:
+ case FadeOutHandleItem:
+ case FadeOutTrimHandleItem:
case EndCrossFadeItem:
+ case RightFrameHandle:
popup_xfade_out_context_menu (1, event->button.time, item, item_type);
break;
@@ -1539,8 +1463,6 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
case RegionItem:
case RegionViewNameHighlight:
- case LeftFrameHandle:
- case RightFrameHandle:
case RegionViewName:
popup_track_context_menu (1, event->button.time, item_type, false);
break;
@@ -1560,6 +1482,10 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
case TempoBarItem:
case MeterBarItem:
case VideoBarItem:
+ case TimecodeRulerItem:
+ case SamplesRulerItem:
+ case MinsecRulerItem:
+ case BBTRulerItem:
popup_ruler_menu (where, item_type);
break;
@@ -1667,11 +1593,18 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
case MeterBarItem:
if (!_dragging_playhead) {
- mouse_add_new_meter_event (pixel_to_frame (event->button.x));
+ mouse_add_new_meter_event (pixel_to_sample (event->button.x));
}
return true;
break;
+ case TimecodeRulerItem:
+ case SamplesRulerItem:
+ case MinsecRulerItem:
+ case BBTRulerItem:
+ return true;
+ break;
+
default:
break;
}
@@ -1722,7 +1655,7 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
break;
case MouseAudition:
- set_canvas_cursor (current_canvas_cursor);
+ pop_canvas_cursor ();
if (scrubbing_direction == 0) {
/* no drag, just a click */
switch (item_type) {
@@ -1803,26 +1736,24 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
double fraction;
bool ret = true;
+ /* by the time we reach here, entered_regionview and entered trackview
+ * will have already been set as appropriate. Things are done this
+ * way because this method isn't passed a pointer to a variable type of
+ * thing that is entered (which may or may not be canvas item).
+ * (e.g. the actual entered regionview)
+ */
+
+ choose_canvas_cursor_on_entry (&event->crossing, item_type);
+
switch (item_type) {
case ControlPointItem:
if (mouse_mode == MouseGain || mouse_mode == MouseObject) {
cp = static_cast<ControlPoint*>(item->get_data ("control_point"));
- cp->set_visible (true);
-
- double at_x, at_y;
- at_x = cp->get_x();
- at_y = cp->get_y ();
- cp->i2w (at_x, at_y);
- at_x += 10.0;
- at_y += 10.0;
+ cp->show ();
fraction = 1.0 - (cp->get_y() / cp->line().height());
- if (is_drawable() && !_drags->active ()) {
- set_canvas_cursor (_cursors->fader);
- }
-
- _verbose_cursor->set (cp->line().get_verbose_cursor_string (fraction), at_x, at_y);
+ _verbose_cursor->set (cp->line().get_verbose_cursor_string (fraction));
_verbose_cursor->show ();
}
break;
@@ -1830,10 +1761,8 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
case GainLineItem:
if (mouse_mode == MouseGain) {
ArdourCanvas::Line *line = dynamic_cast<ArdourCanvas::Line *> (item);
- if (line)
- line->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_EnteredGainLine.get();
- if (is_drawable()) {
- set_canvas_cursor (_cursors->fader);
+ if (line) {
+ line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_EnteredGainLine());
}
}
break;
@@ -1842,98 +1771,16 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
if (mouse_mode == MouseGain || mouse_mode == MouseObject) {
ArdourCanvas::Line *line = dynamic_cast<ArdourCanvas::Line *> (item);
if (line) {
- line->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_EnteredAutomationLine.get();
- }
- if (is_drawable()) {
- set_canvas_cursor (_cursors->fader);
- }
- }
- break;
-
- case RegionViewNameHighlight:
- if (is_drawable() && effective_mouse_mode() == MouseObject && entered_regionview) {
- set_canvas_cursor_for_region_view (event->crossing.x, entered_regionview);
- _over_region_trim_target = true;
- }
- break;
-
- case LeftFrameHandle:
- case RightFrameHandle:
- if (is_drawable() && effective_mouse_mode() == MouseObject && !internal_editing() && entered_regionview) {
- set_canvas_cursor_for_region_view (event->crossing.x, entered_regionview);
- }
- break;
-
- case StartSelectionTrimItem:
- if (is_drawable()) {
- set_canvas_cursor (_cursors->left_side_trim);
- }
- break;
- case EndSelectionTrimItem:
- if (is_drawable()) {
- set_canvas_cursor (_cursors->right_side_trim);
- }
- break;
-
- case PlayheadCursorItem:
- if (is_drawable()) {
- switch (_edit_point) {
- case EditAtMouse:
- set_canvas_cursor (_cursors->grabber_edit_point);
- break;
- default:
- set_canvas_cursor (_cursors->grabber);
- break;
+ line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_EnteredAutomationLine());
}
}
break;
- case RegionViewName:
-
- /* when the name is not an active item, the entire name highlight is for trimming */
-
- if (!reinterpret_cast<RegionView *> (item->get_data ("regionview"))->name_active()) {
- if (mouse_mode == MouseObject && is_drawable()) {
- set_canvas_cursor_for_region_view (event->crossing.x, entered_regionview);
- _over_region_trim_target = true;
- }
- }
- break;
-
-
case AutomationTrackItem:
- if (is_drawable()) {
- Gdk::Cursor *cursor;
- switch (mouse_mode) {
- case MouseRange:
- cursor = _cursors->selector;
- break;
- case MouseZoom:
- cursor = _cursors->zoom_in;
- break;
- default:
- cursor = _cursors->cross_hair;
- break;
- }
-
- set_canvas_cursor (cursor);
-
- AutomationTimeAxisView* atv;
- if ((atv = static_cast<AutomationTimeAxisView*>(item->get_data ("trackview"))) != 0) {
- clear_entered_track = false;
- set_entered_track (atv);
- }
- }
- break;
-
- case MarkerBarItem:
- case RangeMarkerBarItem:
- case TransportMarkerBarItem:
- case CdMarkerBarItem:
- case MeterBarItem:
- case TempoBarItem:
- if (is_drawable()) {
- set_canvas_cursor (_cursors->timebar);
+ AutomationTimeAxisView* atv;
+ if ((atv = static_cast<AutomationTimeAxisView*>(item->get_data ("trackview"))) != 0) {
+ clear_entered_track = false;
+ set_entered_track (atv);
}
break;
@@ -1942,51 +1789,49 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
break;
}
entered_marker = marker;
- marker->set_color_rgba (ARDOUR_UI::config()->canvasvar_EnteredMarker.get());
+ marker->set_color_rgba (ARDOUR_UI::config()->get_canvasvar_EnteredMarker());
// fall through
case MeterMarkerItem:
case TempoMarkerItem:
- if (is_drawable()) {
- set_canvas_cursor (_cursors->timebar);
- }
break;
case FadeInHandleItem:
+ case FadeInTrimHandleItem:
if (mouse_mode == MouseObject && !internal_editing()) {
- ArdourCanvas::SimpleRect *rect = dynamic_cast<ArdourCanvas::SimpleRect *> (item);
+ ArdourCanvas::Rectangle *rect = dynamic_cast<ArdourCanvas::Rectangle *> (item);
if (rect) {
- rect->property_fill_color_rgba() = 0xBBBBBBAA;
+ RegionView* rv = static_cast<RegionView*>(item->get_data ("regionview"));
+ rect->set_fill_color (rv->get_fill_color());
}
- set_canvas_cursor (_cursors->fade_in);
}
break;
case FadeOutHandleItem:
+ case FadeOutTrimHandleItem:
if (mouse_mode == MouseObject && !internal_editing()) {
- ArdourCanvas::SimpleRect *rect = dynamic_cast<ArdourCanvas::SimpleRect *> (item);
+ ArdourCanvas::Rectangle *rect = dynamic_cast<ArdourCanvas::Rectangle *> (item);
if (rect) {
- rect->property_fill_color_rgba() = 0xBBBBBBAA;
+ RegionView* rv = static_cast<RegionView*>(item->get_data ("regionview"));
+ rect->set_fill_color (rv->get_fill_color ());
}
- set_canvas_cursor (_cursors->fade_out);
}
break;
+
case FeatureLineItem:
- {
- ArdourCanvas::Line *line = dynamic_cast<ArdourCanvas::Line *> (item);
- line->property_fill_color_rgba() = 0xFF0000FF;
- }
- break;
+ {
+ ArdourCanvas::Line *line = dynamic_cast<ArdourCanvas::Line *> (item);
+ line->set_outline_color (0xFF0000FF);
+ }
+ break;
+
case SelectionItem:
- if ( get_smart_mode() ) {
- set_canvas_cursor ();
- }
break;
default:
break;
}
- /* second pass to handle entered track status in a comprehensible way.
+ /* third pass to handle entered track status in a comprehensible way.
*/
switch (item_type) {
@@ -2002,7 +1847,7 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
break;
default:
- set_entered_track (0);
+
break;
}
@@ -2013,41 +1858,14 @@ bool
Editor::leave_handler (ArdourCanvas::Item* item, GdkEvent*, ItemType item_type)
{
AutomationLine* al;
- ControlPoint* cp;
Marker *marker;
Location *loc;
- RegionView* rv;
bool is_start;
bool ret = true;
switch (item_type) {
case ControlPointItem:
- cp = reinterpret_cast<ControlPoint*>(item->get_data ("control_point"));
- if (cp->line().the_list()->interpolation() != AutomationList::Discrete) {
- if (cp->line().npoints() > 1 && !cp->get_selected()) {
- cp->set_visible (false);
- }
- }
-
- if (is_drawable()) {
- set_canvas_cursor (current_canvas_cursor);
- }
-
- _verbose_cursor->hide ();
- break;
-
- case RegionViewNameHighlight:
- case LeftFrameHandle:
- case RightFrameHandle:
- case StartSelectionTrimItem:
- case EndSelectionTrimItem:
- case PlayheadCursorItem:
-
- _over_region_trim_target = false;
-
- if (is_drawable()) {
- set_canvas_cursor (current_canvas_cursor);
- }
+ _verbose_cursor->hide ();
break;
case GainLineItem:
@@ -2055,79 +1873,46 @@ Editor::leave_handler (ArdourCanvas::Item* item, GdkEvent*, ItemType item_type)
al = reinterpret_cast<AutomationLine*> (item->get_data ("line"));
{
ArdourCanvas::Line *line = dynamic_cast<ArdourCanvas::Line *> (item);
- if (line)
- line->property_fill_color_rgba() = al->get_line_color();
- }
- if (is_drawable()) {
- set_canvas_cursor (current_canvas_cursor);
- }
- break;
-
- case RegionViewName:
- /* see enter_handler() for notes */
- _over_region_trim_target = false;
-
- if (!reinterpret_cast<RegionView *> (item->get_data ("regionview"))->name_active()) {
- if (is_drawable() && mouse_mode == MouseObject) {
- set_canvas_cursor (current_canvas_cursor);
+ if (line) {
+ line->set_outline_color (al->get_line_color());
}
}
break;
- case RangeMarkerBarItem:
- case TransportMarkerBarItem:
- case CdMarkerBarItem:
- case MeterBarItem:
- case TempoBarItem:
- case MarkerBarItem:
- if (is_drawable()) {
- set_canvas_cursor (current_canvas_cursor);
- }
- break;
-
case MarkerItem:
if ((marker = static_cast<Marker *> (item->get_data ("marker"))) == 0) {
break;
}
entered_marker = 0;
if ((loc = find_location_from_marker (marker, is_start)) != 0) {
- location_flags_changed (loc, this);
+ location_flags_changed (loc);
}
// fall through
case MeterMarkerItem:
case TempoMarkerItem:
-
- if (is_drawable()) {
- set_canvas_cursor (current_canvas_cursor);
- }
-
break;
+ case FadeInTrimHandleItem:
+ case FadeOutTrimHandleItem:
case FadeInHandleItem:
case FadeOutHandleItem:
- rv = static_cast<RegionView*>(item->get_data ("regionview"));
- {
- ArdourCanvas::SimpleRect *rect = dynamic_cast<ArdourCanvas::SimpleRect *> (item);
- if (rect) {
- rect->property_fill_color_rgba() = rv->get_fill_color();
- }
+ {
+ ArdourCanvas::Rectangle *rect = dynamic_cast<ArdourCanvas::Rectangle *> (item);
+ if (rect) {
+ rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_InactiveFadeHandle());
}
- set_canvas_cursor (current_canvas_cursor);
- break;
+ }
+ break;
case AutomationTrackItem:
- if (is_drawable()) {
- set_canvas_cursor (current_canvas_cursor);
- clear_entered_track = true;
- Glib::signal_idle().connect (sigc::mem_fun(*this, &Editor::left_automation_track));
- }
break;
+
case FeatureLineItem:
- {
- ArdourCanvas::Line *line = dynamic_cast<ArdourCanvas::Line *> (item);
- line->property_fill_color_rgba() = (guint) ARDOUR_UI::config()->canvasvar_ZeroLine.get();;
- }
- break;
+ {
+ ArdourCanvas::Line *line = dynamic_cast<ArdourCanvas::Line *> (item);
+ line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_ZeroLine());
+ }
+ break;
default:
break;
@@ -2136,16 +1921,6 @@ Editor::leave_handler (ArdourCanvas::Item* item, GdkEvent*, ItemType item_type)
return ret;
}
-gint
-Editor::left_automation_track ()
-{
- if (clear_entered_track) {
- set_entered_track (0);
- clear_entered_track = false;
- }
- return false;
-}
-
void
Editor::scrub (framepos_t frame, double current_x)
{
@@ -2242,7 +2017,7 @@ Editor::motion_handler (ArdourCanvas::Item* /*item*/, GdkEvent* event, bool from
event might do, its a good tradeoff.
*/
- track_canvas->get_pointer (x, y);
+ _track_canvas->get_pointer (x, y);
}
if (current_stepping_trackview) {
@@ -2250,34 +2025,19 @@ Editor::motion_handler (ArdourCanvas::Item* /*item*/, GdkEvent* event, bool from
current_stepping_trackview = 0;
step_timeout.disconnect ();
}
-
+
if (_session && _session->actively_recording()) {
/* Sorry. no dragging stuff around while we record */
return true;
}
-
- JoinObjectRangeState const old = _join_object_range_state;
- update_join_object_range_location (event->motion.x, event->motion.y);
-
- if (!_internal_editing && _join_object_range_state != old) {
- set_canvas_cursor ();
- }
-
- if (!_internal_editing && _over_region_trim_target) {
- set_canvas_cursor_for_region_view (event->motion.x, entered_regionview);
- }
-
- bool handled = false;
+
+ update_join_object_range_location (event->motion.y);
+
if (_drags->active ()) {
- handled = _drags->motion_handler (event, from_autoscroll);
+ return _drags->motion_handler (event, from_autoscroll);
}
- if (!handled) {
- return false;
- }
-
- track_canvas_motion (event);
- return true;
+ return false;
}
bool
@@ -2352,19 +2112,19 @@ Editor::edit_notes (TimeAxisViewItem& tavi)
if (s.empty ()) {
return;
}
-
+
EditNoteDialog* d = new EditNoteDialog (&(*s.begin())->region_view(), s);
- d->show_all ();
+ d->show_all ();
ensure_float (*d);
- d->signal_response().connect (sigc::bind (sigc::mem_fun (*this, &Editor::note_edit_done), d));
+ d->signal_response().connect (sigc::bind (sigc::mem_fun (*this, &Editor::note_edit_done), d));
}
void
Editor::note_edit_done (int r, EditNoteDialog* d)
{
- d->done (r);
- delete d;
+ d->done (r);
+ delete d;
}
void
@@ -2434,7 +2194,7 @@ Editor::collect_new_region_view (RegionView* rv)
void
Editor::collect_and_select_new_region_view (RegionView* rv)
{
- selection->add(rv);
+ selection->add(rv);
latest_regionviews.push_back (rv);
}
@@ -2452,7 +2212,7 @@ Editor::cancel_selection ()
void
Editor::cancel_time_selection ()
{
- for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
+ for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
(*i)->hide_selection ();
}
selection->time.clear ();
@@ -2541,14 +2301,11 @@ Editor::hide_marker (ArdourCanvas::Item* item, GdkEvent* /*event*/)
void
Editor::reposition_zoom_rect (framepos_t start, framepos_t end)
{
- double x1 = frame_to_pixel (start);
- double x2 = frame_to_pixel (end);
- double y2 = full_canvas_height - 1.0;
-
- zoom_rect->property_x1() = x1;
- zoom_rect->property_y1() = 1.0;
- zoom_rect->property_x2() = x2;
- zoom_rect->property_y2() = y2;
+ double x1 = sample_to_pixel (start);
+ double x2 = sample_to_pixel (end);
+ double y2 = _full_canvas_height - 1.0;
+
+ zoom_rect->set (ArdourCanvas::Rect (x1, 1.0, x2, y2));
}
@@ -2641,16 +2398,18 @@ Editor::add_region_drag (ArdourCanvas::Item* item, GdkEvent*, RegionView* region
return;
}
- _region_motion_group->raise_to_top ();
+ switch (Config->get_edit_mode()) {
+ case Splice:
+ _drags->add (new RegionSpliceDrag (this, item, region_view, selection->regions.by_layer()));
+ break;
+ case Ripple:
+ _drags->add (new RegionRippleDrag (this, item, region_view, selection->regions.by_layer()));
+ break;
+ default:
+ _drags->add (new RegionMoveDrag (this, item, region_view, selection->regions.by_layer(), false, false));
+ break;
- if (Config->get_edit_mode() == Splice) {
- _drags->add (new RegionSpliceDrag (this, item, region_view, selection->regions.by_layer()));
- } else {
- _drags->add (new RegionMoveDrag (this, item, region_view, selection->regions.by_layer(), false, false));
}
-
- /* sync the canvas to what we think is its current state */
- update_canvas_now();
}
void
@@ -2662,8 +2421,6 @@ Editor::add_region_copy_drag (ArdourCanvas::Item* item, GdkEvent*, RegionView* r
return;
}
- _region_motion_group->raise_to_top ();
-
_drags->add (new RegionMoveDrag (this, item, region_view, selection->regions.by_layer(), false, true));
}
@@ -2676,7 +2433,7 @@ Editor::add_region_brush_drag (ArdourCanvas::Item* item, GdkEvent*, RegionView*
return;
}
- if (Config->get_edit_mode() == Splice) {
+ if (Config->get_edit_mode() == Splice || Config->get_edit_mode() == Ripple) {
return;
}
@@ -2756,6 +2513,8 @@ Editor::escape ()
} else {
selection->clear ();
}
+
+ reset_focus ();
}
void
@@ -2766,15 +2525,15 @@ Editor::set_internal_edit (bool yn)
}
_internal_editing = yn;
-
+
if (yn) {
- pre_internal_mouse_mode = mouse_mode;
+ pre_internal_mouse_mode = mouse_mode;
pre_internal_snap_type = _snap_type;
pre_internal_snap_mode = _snap_mode;
- for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
- (*i)->enter_internal_edit_mode ();
- }
+ for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
+ (*i)->enter_internal_edit_mode ();
+ }
set_snap_to (internal_snap_type);
set_snap_mode (internal_snap_mode);
@@ -2784,62 +2543,84 @@ Editor::set_internal_edit (bool yn)
internal_snap_mode = _snap_mode;
internal_snap_type = _snap_type;
- for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
- (*i)->leave_internal_edit_mode ();
- }
+ for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
+ (*i)->leave_internal_edit_mode ();
+ }
- if (mouse_mode == MouseDraw && pre_internal_mouse_mode != MouseDraw) {
- /* we were drawing .. flip back to something sensible */
- set_mouse_mode (pre_internal_mouse_mode);
- }
+ if (mouse_mode == MouseDraw && pre_internal_mouse_mode != MouseDraw) {
+ /* we were drawing .. flip back to something sensible */
+ set_mouse_mode (pre_internal_mouse_mode);
+ }
set_snap_to (pre_internal_snap_type);
set_snap_mode (pre_internal_snap_mode);
}
-
- set_canvas_cursor ();
+
+ reset_canvas_cursor ();
}
-/** Update _join_object_range_state which indicate whether we are over the top or bottom half of a region view,
- * used by the `join object/range' tool mode.
+/** Update _join_object_range_state which indicate whether we are over the top
+ * or bottom half of a route view, used by the `join object/range' tool
+ * mode. Coordinates in canvas space.
*/
void
-Editor::update_join_object_range_location (double /*x*/, double y)
+Editor::update_join_object_range_location (double y)
{
- /* XXX: actually, this decides based on whether the mouse is in the top
- or bottom half of a the waveform part RouteTimeAxisView;
-
- Note that entered_{track,regionview} is not always setup (e.g. if
- the mouse is over a TimeSelection), and to get a Region
- that we're over requires searching the playlist.
- */
-
- if ( !get_smart_mode() ) {
+ if (_internal_editing || !get_smart_mode()) {
_join_object_range_state = JOIN_OBJECT_RANGE_NONE;
return;
}
+ JoinObjectRangeState const old = _join_object_range_state;
+
if (mouse_mode == MouseObject) {
_join_object_range_state = JOIN_OBJECT_RANGE_OBJECT;
} else if (mouse_mode == MouseRange) {
_join_object_range_state = JOIN_OBJECT_RANGE_RANGE;
}
- /* XXX: maybe we should make entered_track work in all cases, rather than resorting to this */
- pair<TimeAxisView*, int> tvp = trackview_by_y_position (y + vertical_adjustment.get_value() - canvas_timebars_vsize);
+ if (entered_regionview) {
+
+ ArdourCanvas::Duple const item_space = entered_regionview->get_canvas_group()->canvas_to_item (ArdourCanvas::Duple (0, y));
+ double const c = item_space.y / entered_regionview->height();
+
+ _join_object_range_state = c <= 0.5 ? JOIN_OBJECT_RANGE_RANGE : JOIN_OBJECT_RANGE_OBJECT;
+
+ if (_join_object_range_state != old) {
+ set_canvas_cursor (which_track_cursor ());
+ }
- if (tvp.first) {
+ } else if (entered_track) {
- RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (tvp.first);
- if (rtv) {
+ RouteTimeAxisView* entered_route_view = dynamic_cast<RouteTimeAxisView*> (entered_track);
+
+ if (entered_route_view) {
double cx = 0;
double cy = y;
- rtv->canvas_display()->w2i (cx, cy);
- double const c = cy / (rtv->view()->child_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE);
+ entered_route_view->canvas_display()->canvas_to_item (cx, cy);
+
+ double track_height = entered_route_view->view()->child_height();
+ if (Config->get_show_name_highlight()) {
+ track_height -= TimeAxisViewItem::NAME_HIGHLIGHT_SIZE;
+ }
+ double const c = cy / track_height;
+
+
+ if (c <= 0.5) {
+ _join_object_range_state = JOIN_OBJECT_RANGE_RANGE;
+ } else {
+ _join_object_range_state = JOIN_OBJECT_RANGE_OBJECT;
+ }
+
+ } else {
+ /* Other kinds of tracks use object mode */
+ _join_object_range_state = JOIN_OBJECT_RANGE_OBJECT;
+ }
- _join_object_range_state = c <= 0.5 ? JOIN_OBJECT_RANGE_RANGE : JOIN_OBJECT_RANGE_OBJECT;
+ if (_join_object_range_state != old) {
+ set_canvas_cursor (which_track_cursor ());
}
}
}
@@ -2859,51 +2640,17 @@ Editor::effective_mouse_mode () const
void
Editor::remove_midi_note (ArdourCanvas::Item* item, GdkEvent *)
{
- ArdourCanvas::CanvasNoteEvent* e = dynamic_cast<ArdourCanvas::CanvasNoteEvent*> (item);
+ NoteBase* e = reinterpret_cast<NoteBase*> (item->get_data ("notebase"));
assert (e);
e->region_view().delete_note (e->note ());
}
-void
-Editor::set_canvas_cursor_for_region_view (double x, RegionView* rv)
-{
- assert (rv);
-
- ArdourCanvas::Group* g = rv->get_canvas_group ();
- ArdourCanvas::Group* p = g->get_parent_group ();
-
- /* Compute x in region view parent coordinates */
- double dy = 0;
- p->w2i (x, dy);
-
- double x1, x2, y1, y2;
- g->get_bounds (x1, y1, x2, y2);
-
- /* Halfway across the region */
- double const h = (x1 + x2) / 2;
-
- Trimmable::CanTrim ct = rv->region()->can_trim ();
- if (x <= h) {
- if (ct & Trimmable::FrontTrimEarlier) {
- set_canvas_cursor (_cursors->left_side_trim);
- } else {
- set_canvas_cursor (_cursors->left_side_trim_right_only);
- }
- } else {
- if (ct & Trimmable::EndTrimLater) {
- set_canvas_cursor (_cursors->right_side_trim);
- } else {
- set_canvas_cursor (_cursors->right_side_trim_left_only);
- }
- }
-}
-
-/** Obtain the pointer position in world coordinates */
+/** Obtain the pointer position in canvas coordinates */
void
Editor::get_pointer_position (double& x, double& y) const
{
int px, py;
- track_canvas->get_pointer (px, py);
- track_canvas->window_to_world (px, py, x, y);
+ _track_canvas->get_pointer (px, py);
+ _track_canvas->window_to_canvas (px, py, x, y);
}
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index a2eae60052..6824087136 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -47,6 +47,7 @@
#include "ardour/midi_track.h"
#include "ardour/operations.h"
#include "ardour/playlist_factory.h"
+#include "ardour/profile.h"
#include "ardour/quantize.h"
#include "ardour/region_factory.h"
#include "ardour/reverse.h"
@@ -55,37 +56,40 @@
#include "ardour/strip_silence.h"
#include "ardour/transient_detector.h"
+#include "canvas/canvas.h"
+
+#include "actions.h"
#include "ardour_ui.h"
-#include "debug.h"
-#include "editor.h"
-#include "time_axis_view.h"
-#include "route_time_axis.h"
+#include "audio_region_view.h"
+#include "audio_streamview.h"
#include "audio_time_axis.h"
#include "automation_time_axis.h"
#include "control_point.h"
-#include "streamview.h"
-#include "audio_streamview.h"
-#include "audio_region_view.h"
-#include "midi_region_view.h"
-#include "rgb_macros.h"
-#include "selection_templates.h"
-#include "selection.h"
+#include "debug.h"
#include "editing.h"
-#include "gtk-custom-hruler.h"
-#include "gui_thread.h"
-#include "keyboard.h"
-#include "utils.h"
+#include "editor.h"
+#include "editor_cursors.h"
#include "editor_drag.h"
-#include "strip_silence_dialog.h"
-#include "editor_routes.h"
#include "editor_regions.h"
-#include "quantize_dialog.h"
-#include "interthread_progress_window.h"
+#include "editor_routes.h"
+#include "gui_thread.h"
#include "insert_time_dialog.h"
-#include "normalize_dialog.h"
-#include "editor_cursors.h"
+#include "interthread_progress_window.h"
+#include "keyboard.h"
+#include "midi_region_view.h"
+#include "mixer_strip.h"
#include "mouse_cursors.h"
+#include "normalize_dialog.h"
#include "patch_change_dialog.h"
+#include "quantize_dialog.h"
+#include "region_gain_line.h"
+#include "rgb_macros.h"
+#include "route_time_axis.h"
+#include "selection.h"
+#include "selection_templates.h"
+#include "streamview.h"
+#include "strip_silence_dialog.h"
+#include "time_axis_view.h"
#include "transpose_dialog.h"
#include "i18n.h"
@@ -131,7 +135,11 @@ Editor::split_regions_at (framepos_t where, RegionSelection& regions)
{
bool frozen = false;
- list <boost::shared_ptr<Playlist > > used_playlists;
+ RegionSelection pre_selected_regions = selection->regions;
+ bool working_on_selection = !pre_selected_regions.empty();
+
+ list<boost::shared_ptr<Playlist> > used_playlists;
+ list<RouteTimeAxisView*> used_trackviews;
if (regions.empty()) {
return;
@@ -186,9 +194,16 @@ Editor::split_regions_at (framepos_t where, RegionSelection& regions)
/* remember used playlists so we can thaw them later */
used_playlists.push_back(pl);
+
+ TimeAxisView& tv = (*a)->get_time_axis_view();
+ RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (&tv);
+ if (rtv) {
+ used_trackviews.push_back (rtv);
+ }
pl->freeze();
}
+
if (pl) {
pl->clear_changes ();
pl->split_region ((*a)->region(), where);
@@ -198,17 +213,39 @@ Editor::split_regions_at (framepos_t where, RegionSelection& regions)
a = tmp;
}
+ vector<sigc::connection> region_added_connections;
+
+ for (list<RouteTimeAxisView*>::iterator i = used_trackviews.begin(); i != used_trackviews.end(); ++i) {
+ region_added_connections.push_back ((*i)->view()->RegionViewAdded.connect (sigc::mem_fun(*this, &Editor::collect_new_region_view)));
+ }
+
+ latest_regionviews.clear ();
+
while (used_playlists.size() > 0) {
list <boost::shared_ptr<Playlist > >::iterator i = used_playlists.begin();
(*i)->thaw();
used_playlists.pop_front();
}
+ for (vector<sigc::connection>::iterator c = region_added_connections.begin(); c != region_added_connections.end(); ++c) {
+ (*c).disconnect ();
+ }
+
commit_reversible_command ();
if (frozen){
EditorThaw(); /* Emit Signal */
}
+
+ if (ARDOUR::Profile->get_mixbus()) {
+ //IFF we were working on selected regions, try to reinstate the other region selections that existed before the freeze/thaw.
+ _ignore_follow_edits = true; //a split will change the region selection in mysterious ways; its not practical or wanted to follow this edit
+ if( working_on_selection ) {
+ selection->add ( pre_selected_regions );
+ selection->add (latest_regionviews); //these are the new regions created after the split
+ }
+ _ignore_follow_edits = false;
+ }
}
/** Move one extreme of the current range selection. If more than one range is selected,
@@ -357,8 +394,8 @@ Editor::nudge_forward (bool next, bool force_playhead)
commit_reversible_command ();
} else {
- distance = get_nudge_distance (playhead_cursor->current_frame, next_distance);
- _session->request_locate (playhead_cursor->current_frame + distance);
+ distance = get_nudge_distance (playhead_cursor->current_frame (), next_distance);
+ _session->request_locate (playhead_cursor->current_frame () + distance);
}
}
@@ -446,10 +483,10 @@ Editor::nudge_backward (bool next, bool force_playhead)
} else {
- distance = get_nudge_distance (playhead_cursor->current_frame, next_distance);
+ distance = get_nudge_distance (playhead_cursor->current_frame (), next_distance);
- if (playhead_cursor->current_frame > distance) {
- _session->request_locate (playhead_cursor->current_frame - distance);
+ if (playhead_cursor->current_frame () > distance) {
+ _session->request_locate (playhead_cursor->current_frame () - distance);
} else {
_session->goto_start();
}
@@ -509,6 +546,60 @@ Editor::nudge_backward_capture_offset ()
commit_reversible_command ();
}
+struct RegionSelectionPositionSorter {
+ bool operator() (RegionView* a, RegionView* b) {
+ return a->region()->position() < b->region()->position();
+ }
+};
+
+void
+Editor::sequence_regions ()
+{
+ framepos_t r_end;
+ framepos_t r_end_prev;
+
+ int iCount=0;
+
+ if (!_session) {
+ return;
+ }
+
+ RegionSelection rs = get_regions_from_selection_and_entered ();
+ rs.sort(RegionSelectionPositionSorter());
+
+ if (!rs.empty()) {
+
+ begin_reversible_command (_("sequence regions"));
+ for (RegionSelection::iterator i = rs.begin(); i != rs.end(); ++i) {
+ boost::shared_ptr<Region> r ((*i)->region());
+
+ r->clear_changes();
+
+ if(r->locked())
+ {
+ continue;
+ }
+ if(r->position_locked())
+ {
+ continue;
+ }
+ if(iCount>0)
+ {
+ r_end_prev=r_end;
+ r->set_position(r_end_prev);
+ }
+
+ _session->add_command (new StatefulDiffCommand (r));
+
+ r_end=r->position() + r->length();
+
+ iCount++;
+ }
+ commit_reversible_command ();
+ }
+}
+
+
/* DISPLAY MOTION */
void
@@ -772,7 +863,7 @@ Editor::get_region_boundary (framepos_t pos, int32_t dir, bool with_selection, b
void
Editor::cursor_to_region_boundary (bool with_selection, int32_t dir)
{
- framepos_t pos = playhead_cursor->current_frame;
+ framepos_t pos = playhead_cursor->current_frame ();
framepos_t target;
if (!_session) {
@@ -807,7 +898,7 @@ void
Editor::cursor_to_region_point (EditorCursor* cursor, RegionPoint point, int32_t dir)
{
boost::shared_ptr<Region> r;
- framepos_t pos = cursor->current_frame;
+ framepos_t pos = cursor->current_frame ();
if (!_session) {
return;
@@ -1143,8 +1234,8 @@ Editor::selected_marker_to_selection_end ()
void
Editor::scroll_playhead (bool forward)
{
- framepos_t pos = playhead_cursor->current_frame;
- framecnt_t delta = (framecnt_t) floor (current_page_frames() / 0.8);
+ framepos_t pos = playhead_cursor->current_frame ();
+ framecnt_t delta = (framecnt_t) floor (current_page_samples() / 0.8);
if (forward) {
if (pos == max_framepos) {
@@ -1197,10 +1288,10 @@ Editor::cursor_align (bool playhead_to_edit)
Location* loc = find_location_from_marker (*i, ignored);
if (loc->is_mark()) {
- loc->set_start (playhead_cursor->current_frame);
+ loc->set_start (playhead_cursor->current_frame ());
} else {
- loc->set (playhead_cursor->current_frame,
- playhead_cursor->current_frame + loc->length());
+ loc->set (playhead_cursor->current_frame (),
+ playhead_cursor->current_frame () + loc->length());
}
}
}
@@ -1209,7 +1300,7 @@ Editor::cursor_align (bool playhead_to_edit)
void
Editor::scroll_backward (float pages)
{
- framepos_t const one_page = (framepos_t) rint (_canvas_width * frames_per_unit);
+ framepos_t const one_page = (framepos_t) rint (_visible_canvas_width * samples_per_pixel);
framepos_t const cnt = (framepos_t) floor (pages * one_page);
framepos_t frame;
@@ -1225,7 +1316,7 @@ Editor::scroll_backward (float pages)
void
Editor::scroll_forward (float pages)
{
- framepos_t const one_page = (framepos_t) rint (_canvas_width * frames_per_unit);
+ framepos_t const one_page = (framepos_t) rint (_visible_canvas_width * samples_per_pixel);
framepos_t const cnt = (framepos_t) floor (pages * one_page);
framepos_t frame;
@@ -1242,8 +1333,8 @@ void
Editor::scroll_tracks_down ()
{
double vert_value = vertical_adjustment.get_value() + vertical_adjustment.get_page_size();
- if (vert_value > vertical_adjustment.get_upper() - _canvas_height) {
- vert_value = vertical_adjustment.get_upper() - _canvas_height;
+ if (vert_value > vertical_adjustment.get_upper() - _visible_canvas_height) {
+ vert_value = vertical_adjustment.get_upper() - _visible_canvas_height;
}
vertical_adjustment.set_value (vert_value);
@@ -1260,8 +1351,8 @@ Editor::scroll_tracks_down_line ()
{
double vert_value = vertical_adjustment.get_value() + 60;
- if (vert_value > vertical_adjustment.get_upper() - _canvas_height) {
- vert_value = vertical_adjustment.get_upper() - _canvas_height;
+ if (vert_value > vertical_adjustment.get_upper() - _visible_canvas_height) {
+ vert_value = vertical_adjustment.get_upper() - _visible_canvas_height;
}
vertical_adjustment.set_value (vert_value);
@@ -1273,12 +1364,81 @@ Editor::scroll_tracks_up_line ()
reset_y_origin (vertical_adjustment.get_value() - 60);
}
+bool
+Editor::scroll_down_one_track ()
+{
+ TrackViewList::reverse_iterator next = track_views.rbegin();
+ std::pair<TimeAxisView*,double> res;
+ const double top_of_trackviews = vertical_adjustment.get_value();
+
+ for (TrackViewList::reverse_iterator t = track_views.rbegin(); t != track_views.rend(); ++t) {
+ if ((*t)->hidden()) {
+ continue;
+ }
+
+ next = t;
+ if (next != track_views.rbegin()) {
+ --next; // moves "next" towards the lower/later tracks since it is a reverse iterator
+ }
+
+ /* If this is the upper-most visible trackview, we want to display
+ the one above it (next)
+ */
+
+ res = (*t)->covers_y_position (top_of_trackviews);
+
+ if (res.first) {
+ break;
+ }
+ }
+
+ /* move to the track below the first one that covers the */
+
+ if (next != track_views.rbegin()) {
+ ensure_time_axis_view_is_visible (**next, true);
+ return true;
+ }
+
+ return false;
+}
+
+bool
+Editor::scroll_up_one_track ()
+{
+ TrackViewList::iterator prev = track_views.end();
+ std::pair<TimeAxisView*,double> res;
+ double top_of_trackviews = vertical_adjustment.get_value ();
+
+ for (TrackViewList::iterator t = track_views.begin(); t != track_views.end(); ++t) {
+
+ if ((*t)->hidden()) {
+ continue;
+ }
+
+ /* find the trackview at the top of the trackview group */
+ res = (*t)->covers_y_position (top_of_trackviews);
+
+ if (res.first) {
+ break;
+ }
+
+ prev = t;
+ }
+
+ if (prev != track_views.end()) {
+ ensure_time_axis_view_is_visible (**prev, true);
+ return true;
+ }
+
+ return false;
+}
+
/* ZOOM */
void
Editor::tav_zoom_step (bool coarser)
{
- _routes->suspend_redisplay ();
+ DisplaySuspender ds;
TrackViewList* ts;
@@ -1292,14 +1452,12 @@ Editor::tav_zoom_step (bool coarser)
TimeAxisView *tv = (static_cast<TimeAxisView*>(*i));
tv->step_height (coarser);
}
-
- _routes->resume_redisplay ();
}
void
Editor::tav_zoom_smooth (bool coarser, bool force_all)
{
- _routes->suspend_redisplay ();
+ DisplaySuspender ds;
TrackViewList* ts;
@@ -1324,52 +1482,33 @@ Editor::tav_zoom_smooth (bool coarser, bool force_all)
tv->set_height (h + 5);
}
}
-
- _routes->resume_redisplay ();
}
-bool
-Editor::clamp_frames_per_unit (double& fpu) const
-{
- bool clamped = false;
-
- if (fpu < 2.0) {
- fpu = 2.0;
- clamped = true;
- }
-
- if (max_framepos / fpu < 800) {
- fpu = max_framepos / 800.0;
- clamped = true;
- }
-
- return clamped;
-}
void
Editor::temporal_zoom_step (bool coarser)
{
ENSURE_GUI_THREAD (*this, &Editor::temporal_zoom_step, coarser)
- double nfpu = frames_per_unit;
+ framecnt_t nspp = samples_per_pixel;
if (coarser) {
- nfpu = min (9e6, nfpu * 1.61803399);
+ nspp *= 2;
} else {
- nfpu = max (1.0, nfpu / 1.61803399);
+ nspp /= 2;
}
- temporal_zoom (nfpu);
+ temporal_zoom (nspp);
}
void
-Editor::temporal_zoom (double fpu)
+Editor::temporal_zoom (framecnt_t fpp)
{
if (!_session) {
return;
}
- framepos_t current_page = current_page_frames();
+ framepos_t current_page = current_page_samples();
framepos_t current_leftmost = leftmost_frame;
framepos_t current_rightmost;
framepos_t current_center;
@@ -1378,24 +1517,25 @@ Editor::temporal_zoom (double fpu)
framepos_t leftmost_after_zoom = 0;
framepos_t where;
bool in_track_canvas;
- double nfpu;
+ framecnt_t nfpp;
double l;
- clamp_frames_per_unit (fpu);
- if (fpu == frames_per_unit) {
+ if (fpp == samples_per_pixel) {
return;
}
- nfpu = fpu;
-
// Imposing an arbitrary limit to zoom out as too much zoom out produces
// segfaults for lack of memory. If somebody decides this is not high enough I
// believe it can be raisen to higher values but some limit must be in place.
- if (nfpu > 8e+08) {
- nfpu = 8e+08;
- }
+ //
+ // This constant represents 1 day @ 48kHz on a 1600 pixel wide display
+ // all of which is used for the editor track displays. The whole day
+ // would be 4147200000 samples, so 2592000 samples per pixel.
+
+ nfpp = min (fpp, (framecnt_t) 2592000);
+ nfpp = max ((framecnt_t) 1, fpp);
- new_page_size = (framepos_t) floor (_canvas_width * nfpu);
+ new_page_size = (framepos_t) floor (_visible_canvas_width * nfpp);
half_page_size = new_page_size / 2;
switch (zoom_focus) {
@@ -1423,7 +1563,7 @@ Editor::temporal_zoom (double fpu)
case ZoomFocusPlayhead:
/* centre playhead */
- l = playhead_cursor->current_frame - (new_page_size * 0.5);
+ l = playhead_cursor->current_frame () - (new_page_size * 0.5);
if (l < 0) {
leftmost_after_zoom = 0;
@@ -1439,7 +1579,7 @@ Editor::temporal_zoom (double fpu)
if (!mouse_frame (where, in_track_canvas)) {
/* use playhead instead */
- where = playhead_cursor->current_frame;
+ where = playhead_cursor->current_frame ();
if (where < half_page_size) {
leftmost_after_zoom = 0;
@@ -1488,9 +1628,41 @@ Editor::temporal_zoom (double fpu)
// leftmost_after_zoom = min (leftmost_after_zoom, _session->current_end_frame());
- reposition_and_zoom (leftmost_after_zoom, nfpu);
+ reposition_and_zoom (leftmost_after_zoom, nfpp);
+}
+
+void
+Editor::calc_extra_zoom_edges(framepos_t &start, framepos_t &end)
+{
+ /* this func helps make sure we leave a little space
+ at each end of the editor so that the zoom doesn't fit the region
+ precisely to the screen.
+ */
+
+ GdkScreen* screen = gdk_screen_get_default ();
+ gint pixwidth = gdk_screen_get_width (screen);
+ gint mmwidth = gdk_screen_get_width_mm (screen);
+ double pix_per_mm = (double) pixwidth/ (double) mmwidth;
+ double one_centimeter_in_pixels = pix_per_mm * 10.0;
+
+ framepos_t range = end - start;
+ double new_fpp = (double) range / (double) _visible_canvas_width;
+ framepos_t extra_samples = (framepos_t) floor (one_centimeter_in_pixels * new_fpp);
+
+ if (start > extra_samples) {
+ start -= extra_samples;
+ } else {
+ start = 0;
+ }
+
+ if (max_framepos - extra_samples > end) {
+ end += extra_samples;
+ } else {
+ end = max_framepos;
+ }
}
+
void
Editor::temporal_zoom_region (bool both_axes)
{
@@ -1517,36 +1689,11 @@ Editor::temporal_zoom_region (bool both_axes)
tracks.insert (&((*i)->get_time_axis_view()));
}
- /* now comes an "interesting" hack ... make sure we leave a little space
- at each end of the editor so that the zoom doesn't fit the region
- precisely to the screen.
- */
-
- GdkScreen* screen = gdk_screen_get_default ();
- gint pixwidth = gdk_screen_get_width (screen);
- gint mmwidth = gdk_screen_get_width_mm (screen);
- double pix_per_mm = (double) pixwidth/ (double) mmwidth;
- double one_centimeter_in_pixels = pix_per_mm * 10.0;
-
if ((start == 0 && end == 0) || end < start) {
return;
}
- framepos_t range = end - start;
- double new_fpu = (double)range / (double)_canvas_width;
- framepos_t extra_samples = (framepos_t) floor (one_centimeter_in_pixels * new_fpu);
-
- if (start > extra_samples) {
- start -= extra_samples;
- } else {
- start = 0;
- }
-
- if (max_framepos - extra_samples > end) {
- end += extra_samples;
- } else {
- end = max_framepos;
- }
+ calc_extra_zoom_edges(start, end);
/* if we're zooming on both axes we need to save track heights etc.
*/
@@ -1558,7 +1705,7 @@ Editor::temporal_zoom_region (bool both_axes)
temporal_zoom_by_frame (start, end);
if (both_axes) {
- uint32_t per_track_height = (uint32_t) floor ((_canvas_height - canvas_timebars_vsize - 10.0) / tracks.size());
+ uint32_t per_track_height = (uint32_t) floor ((_visible_canvas_height - 10.0) / tracks.size());
/* set visible track heights appropriately */
@@ -1568,7 +1715,7 @@ Editor::temporal_zoom_region (bool both_axes)
/* hide irrelevant tracks */
- _routes->suspend_redisplay ();
+ DisplaySuspender ds;
for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
if (find (tracks.begin(), tracks.end(), (*i)) == tracks.end()) {
@@ -1576,8 +1723,6 @@ Editor::temporal_zoom_region (bool both_axes)
}
}
- _routes->resume_redisplay ();
-
vertical_adjustment.set_value (0.0);
}
@@ -1591,18 +1736,28 @@ Editor::zoom_to_region (bool both_axes)
}
void
-Editor::temporal_zoom_selection ()
+Editor::temporal_zoom_selection (bool both_axes)
{
if (!selection) return;
- if (selection->time.empty()) {
- return;
+ //if a range is selected, zoom to that
+ if (!selection->time.empty()) {
+
+ framepos_t start = selection->time.start();
+ framepos_t end = selection->time.end_frame();
+
+ calc_extra_zoom_edges(start, end);
+
+ temporal_zoom_by_frame (start, end);
+
+ if (both_axes)
+ fit_selected_tracks();
+
+ } else {
+ temporal_zoom_region(both_axes);
}
- framepos_t start = selection->time[clicked_selection].start;
- framepos_t end = selection->time[clicked_selection].end;
- temporal_zoom_by_frame (start, end);
}
void
@@ -1611,13 +1766,28 @@ Editor::temporal_zoom_session ()
ENSURE_GUI_THREAD (*this, &Editor::temporal_zoom_session)
if (_session) {
- framecnt_t const l = _session->current_end_frame() - _session->current_start_frame();
- double s = _session->current_start_frame() - l * 0.01;
- if (s < 0) {
- s = 0;
+ framecnt_t start = _session->current_start_frame();
+ framecnt_t end = _session->current_end_frame();
+
+ if (_session->actively_recording () ) {
+ framepos_t cur = playhead_cursor->current_frame ();
+ if (cur > end) {
+ /* recording beyond the end marker; zoom out
+ * by 5 seconds more so that if 'follow
+ * playhead' is active we don't immediately
+ * scroll.
+ */
+ end = cur + _session->frame_rate() * 5;
+ }
}
- framecnt_t const e = _session->current_end_frame() + l * 0.01;
- temporal_zoom_by_frame (framecnt_t (s), e);
+
+ if ((start == 0 && end == 0) || end < start) {
+ return;
+ }
+
+ calc_extra_zoom_edges(start, end);
+
+ temporal_zoom_by_frame (start, end);
}
}
@@ -1632,11 +1802,11 @@ Editor::temporal_zoom_by_frame (framepos_t start, framepos_t end)
framepos_t range = end - start;
- double new_fpu = (double)range / (double)_canvas_width;
+ double const new_fpp = (double) range / (double) _visible_canvas_width;
- framepos_t new_page = (framepos_t) floor (_canvas_width * new_fpu);
- framepos_t middle = (framepos_t) floor( (double)start + ((double)range / 2.0f ));
- framepos_t new_leftmost = (framepos_t) floor( (double)middle - ((double)new_page/2.0f));
+ framepos_t new_page = (framepos_t) floor (_visible_canvas_width * new_fpp);
+ framepos_t middle = (framepos_t) floor ((double) start + ((double) range / 2.0f));
+ framepos_t new_leftmost = (framepos_t) floor ((double) middle - ((double) new_page / 2.0f));
if (new_leftmost > middle) {
new_leftmost = 0;
@@ -1646,7 +1816,7 @@ Editor::temporal_zoom_by_frame (framepos_t start, framepos_t end)
new_leftmost = 0;
}
- reposition_and_zoom (new_leftmost, new_fpu);
+ reposition_and_zoom (new_leftmost, new_fpp);
}
void
@@ -1655,23 +1825,38 @@ Editor::temporal_zoom_to_frame (bool coarser, framepos_t frame)
if (!_session) {
return;
}
- double range_before = frame - leftmost_frame;
- double new_fpu;
- new_fpu = frames_per_unit;
+ framecnt_t range_before = frame - leftmost_frame;
+ framecnt_t new_spp;
if (coarser) {
- new_fpu *= 1.61803399;
- range_before *= 1.61803399;
+ if (samples_per_pixel <= 1) {
+ new_spp = 2;
+ } else {
+ new_spp = samples_per_pixel + (samples_per_pixel/2);
+ }
+ range_before += range_before/2;
} else {
- new_fpu = max(1.0,(new_fpu/1.61803399));
- range_before /= 1.61803399;
+ if (samples_per_pixel >= 1) {
+ new_spp = samples_per_pixel - (samples_per_pixel/2);
+ } else {
+ /* could bail out here since we cannot zoom any finer,
+ but leave that to the equality test below
+ */
+ new_spp = samples_per_pixel;
+ }
+
+ range_before -= range_before/2;
}
- if (new_fpu == frames_per_unit) {
+ if (new_spp == samples_per_pixel) {
return;
}
+ /* zoom focus is automatically taken as @param frame when this
+ method is used.
+ */
+
framepos_t new_leftmost = frame - (framepos_t)range_before;
if (new_leftmost > frame) {
@@ -1682,7 +1867,7 @@ Editor::temporal_zoom_to_frame (bool coarser, framepos_t frame)
new_leftmost = 0;
}
- reposition_and_zoom (new_leftmost, new_fpu);
+ reposition_and_zoom (new_leftmost, new_spp);
}
@@ -1775,6 +1960,35 @@ Editor::add_location_from_playhead_cursor ()
add_location_mark (_session->audible_frame());
}
+void
+Editor::remove_location_at_playhead_cursor ()
+{
+ if (_session) {
+
+ //set up for undo
+ _session->begin_reversible_command (_("remove marker"));
+ XMLNode &before = _session->locations()->get_state();
+ bool removed = false;
+
+ //find location(s) at this time
+ Locations::LocationList locs;
+ _session->locations()->find_all_between (_session->audible_frame(), _session->audible_frame()+1, locs, Location::Flags(0));
+ for (Locations::LocationList::iterator i = locs.begin(); i != locs.end(); ++i) {
+ if ((*i)->is_mark()) {
+ _session->locations()->remove (*i);
+ removed = true;
+ }
+ }
+
+ //store undo
+ if (removed) {
+ XMLNode &after = _session->locations()->get_state();
+ _session->add_command(new MementoCommand<Locations>(*(_session->locations()), &before, &after));
+ _session->commit_reversible_command ();
+ }
+ }
+}
+
/** Add a range marker around each selected region */
void
Editor::add_locations_from_region ()
@@ -1847,7 +2061,7 @@ Editor::jump_forward_to_mark ()
return;
}
- framepos_t pos = _session->locations()->first_mark_after (playhead_cursor->current_frame);
+ framepos_t pos = _session->locations()->first_mark_after (playhead_cursor->current_frame());
if (pos < 0) {
return;
@@ -1863,7 +2077,7 @@ Editor::jump_backward_to_mark ()
return;
}
- framepos_t pos = _session->locations()->first_mark_before (playhead_cursor->current_frame);
+ framepos_t pos = _session->locations()->first_mark_before (playhead_cursor->current_frame());
if (pos < 0) {
return;
@@ -1907,15 +2121,7 @@ Editor::clear_ranges ()
_session->begin_reversible_command (_("clear ranges"));
XMLNode &before = _session->locations()->get_state();
- Location * looploc = _session->locations()->auto_loop_location();
- Location * punchloc = _session->locations()->auto_punch_location();
- Location * sessionloc = _session->locations()->session_range_location();
-
_session->locations()->clear_ranges ();
- // re-add these
- if (looploc) _session->locations()->add (looploc);
- if (punchloc) _session->locations()->add (punchloc);
- if (sessionloc) _session->locations()->add (sessionloc);
XMLNode &after = _session->locations()->get_state();
_session->add_command(new MementoCommand<Locations>(*(_session->locations()), &before, &after));
@@ -1960,93 +2166,6 @@ Editor::unhide_ranges ()
/* INSERT/REPLACE */
void
-Editor::insert_region_list_drag (boost::shared_ptr<Region> region, int x, int y)
-{
- double wx, wy;
- double cx, cy;
- framepos_t where;
- RouteTimeAxisView *rtv = 0;
- boost::shared_ptr<Playlist> playlist;
-
- track_canvas->window_to_world (x, y, wx, wy);
-
- GdkEvent event;
- event.type = GDK_BUTTON_RELEASE;
- event.button.x = wx;
- event.button.y = wy;
-
- where = event_frame (&event, &cx, &cy);
-
- if (where < leftmost_frame || where > leftmost_frame + current_page_frames()) {
- /* clearly outside canvas area */
- return;
- }
-
- std::pair<TimeAxisView*, int> tv = trackview_by_y_position (cy);
- if (tv.first == 0) {
- return;
- }
-
- if ((rtv = dynamic_cast<RouteTimeAxisView*> (tv.first)) == 0) {
- return;
- }
-
- if ((playlist = rtv->playlist()) == 0) {
- return;
- }
-
- snap_to (where);
-
- begin_reversible_command (_("insert dragged region"));
- playlist->clear_changes ();
- playlist->add_region (RegionFactory::create (region, true), where, 1.0);
- _session->add_command(new StatefulDiffCommand (playlist));
- commit_reversible_command ();
-}
-
-void
-Editor::insert_route_list_drag (boost::shared_ptr<Route> route, int x, int y)
-{
- double wx, wy;
- double cx, cy;
- RouteTimeAxisView *dest_rtv = 0;
- RouteTimeAxisView *source_rtv = 0;
-
- track_canvas->window_to_world (x, y, wx, wy);
- wx += horizontal_position ();
- wy += vertical_adjustment.get_value();
-
- GdkEvent event;
- event.type = GDK_BUTTON_RELEASE;
- event.button.x = wx;
- event.button.y = wy;
-
- event_frame (&event, &cx, &cy);
-
- std::pair<TimeAxisView*, int> const tv = trackview_by_y_position (cy);
- if (tv.first == 0) {
- return;
- }
-
- if ((dest_rtv = dynamic_cast<RouteTimeAxisView*> (tv.first)) == 0) {
- return;
- }
-
- /* use this drag source to add underlay to a track. But we really don't care
- about the Route, only the view of the route, so find it first */
- for(TrackViewList::iterator it = track_views.begin(); it != track_views.end(); ++it) {
- if((source_rtv = dynamic_cast<RouteTimeAxisView*>(*it)) == 0) {
- continue;
- }
-
- if(source_rtv->route() == route && source_rtv != dest_rtv) {
- dest_rtv->add_underlay(source_rtv->view());
- break;
- }
- }
-}
-
-void
Editor::insert_region_list_selection (float times)
{
RouteTimeAxisView *tv = 0;
@@ -2078,6 +2197,9 @@ Editor::insert_region_list_selection (float times)
begin_reversible_command (_("insert region"));
playlist->clear_changes ();
playlist->add_region ((RegionFactory::create (region, true)), get_preferred_edit_position(), times);
+ if (Config->get_edit_mode() == Ripple)
+ playlist->ripple (get_preferred_edit_position(), region->length() * times, boost::shared_ptr<Region>());
+
_session->add_command(new StatefulDiffCommand (playlist));
commit_reversible_command ();
}
@@ -2180,7 +2302,7 @@ Editor::get_preroll ()
void
Editor::maybe_locate_with_edit_preroll ( framepos_t location )
{
- if ( _session->transport_rolling() || !Config->get_always_play_range() )
+ if ( _session->transport_rolling() || !Config->get_follow_edits() || _ignore_follow_edits )
return;
location -= get_preroll();
@@ -2242,8 +2364,8 @@ Editor::loop_location (Location& location)
tll->set (location.start(), location.end());
// enable looping, reposition and start rolling
- _session->request_play_loop (true);
_session->request_locate (tll->start(), true);
+ _session->request_play_loop (true);
}
}
@@ -2701,8 +2823,7 @@ Editor::separate_regions_between (const TimeSelection& ts)
}
if (in_command) {
- selection->set (new_selection);
- set_mouse_mode (MouseObject);
+// selection->set (new_selection);
commit_reversible_command ();
}
@@ -3461,10 +3582,8 @@ Editor::freeze_thread ()
/* create event pool because we may need to talk to the session */
SessionEvent::create_per_thread_pool ("freeze events", 64);
/* create per-thread buffers for process() tree to use */
- current_interthread_info->process_thread.get_buffers ();
clicked_routeview->audio_track()->freeze_me (*current_interthread_info);
current_interthread_info->done = true;
- current_interthread_info->process_thread.drop_buffers();
return 0;
}
@@ -3481,7 +3600,7 @@ Editor::freeze_route ()
/* wait for just a little while, because the above call is asynchronous */
- ::usleep (250000);
+ Glib::usleep (250000);
if (clicked_routeview == 0 || !clicked_routeview->is_audio_track()) {
return;
@@ -3619,7 +3738,14 @@ Editor::bounce_range_selection (bool replace, bool enable_processing)
void
Editor::delete_ ()
{
- cut_copy (Delete);
+ //special case: if the user is pointing in the editor/mixer strip, they may be trying to delete a plugin.
+ //we need this because the editor-mixer strip is in the editor window, so it doesn't get the bindings from the mix window
+ bool deleted = false;
+ if ( current_mixer_strip && current_mixer_strip == MixerStrip::entered_mixer_strip() )
+ deleted = current_mixer_strip->delete_processors ();
+
+ if (!deleted)
+ cut_copy (Delete);
}
/** Cut selected regions, automation points or a time range */
@@ -3641,30 +3767,15 @@ Editor::copy ()
bool
Editor::can_cut_copy () const
{
- switch (effective_mouse_mode()) {
-
- case MouseObject:
- if (!selection->regions.empty() || !selection->points.empty()) {
- return true;
- }
- break;
-
- case MouseRange:
- if (!selection->time.empty()) {
- return true;
- }
- break;
-
- default:
- break;
- }
+ if (!selection->time.empty() || !selection->regions.empty() || !selection->points.empty())
+ return true;
return false;
}
/** Cut, copy or clear selected regions, automation points or a time range.
- * @param op Operation (Cut, Copy or Clear)
+ * @param op Operation (Delete, Cut, Copy or Clear)
*/
void
Editor::cut_copy (CutCopyOp op)
@@ -3700,7 +3811,7 @@ Editor::cut_copy (CutCopyOp op)
}
}
- if ( op != Clear ) //"Delete" doesn't change copy/paste buf
+ if ( op != Delete ) //"Delete" doesn't change copy/paste buf
cut_buffer->clear ();
if (entered_marker) {
@@ -3723,110 +3834,79 @@ Editor::cut_copy (CutCopyOp op)
switch (effective_mouse_mode()) {
case MouseObject:
case MouseRange:
+ begin_reversible_command (opname + ' ' + X_("MIDI"));
cut_copy_midi (op);
+ commit_reversible_command ();
break;
default:
break;
}
- } else {
-
- RegionSelection rs;
-
- /* we only want to cut regions if some are selected */
-
- if (!selection->regions.empty()) {
- rs = selection->regions;
+ return;
}
- switch (effective_mouse_mode()) {
-/*
- * case MouseGain: {
- //find regions's gain line
- AudioRegionView *rview = dynamic_cast<AudioRegionView*>(clicked_regionview);
- AutomationTimeAxisView *tview = dynamic_cast<AutomationTimeAxisView*>(clicked_trackview);
- if (rview) {
- AudioRegionGainLine *line = rview->get_gain_line();
- if (!line) break;
-
- //cut region gain points in the selection
- AutomationList& alist (line->the_list());
- XMLNode &before = alist.get_state();
- AutomationList* what_we_got = 0;
- if ((what_we_got = alist.cut (selection->time.front().start - rview->audio_region()->position(), selection->time.front().end - rview->audio_region()->position())) != 0) {
- session->add_command(new MementoCommand<AutomationList>(alist, &before, &alist.get_state()));
- delete what_we_got;
- what_we_got = 0;
- }
-
- rview->set_envelope_visible(true);
- rview->audio_region()->set_envelope_active(true);
-
- } else if (tview) {
- AutomationLine *line = *(tview->lines.begin());
- if (!line) break;
-
- //cut auto points in the selection
- AutomationList& alist (line->the_list());
- XMLNode &before = alist.get_state();
- AutomationList* what_we_got = 0;
- if ((what_we_got = alist.cut (selection->time.front().start, selection->time.front().end)) != 0) {
- session->add_command(new MementoCommand<AutomationList>(alist, &before, &alist.get_state()));
- delete what_we_got;
- what_we_got = 0;
- }
- } else
- break;
- } break;
-*/
- case MouseObject:
- case MouseRange:
- if (!rs.empty() || !selection->points.empty()) {
- begin_reversible_command (opname + _(" objects"));
-
- if (!rs.empty()) {
- cut_copy_regions (op, rs);
-
- if (op == Cut || op == Delete) {
- selection->clear_regions ();
- }
- }
+ bool did_edit = false;
- if (!selection->points.empty()) {
- cut_copy_points (op);
+ if (!selection->points.empty()) {
+ begin_reversible_command (opname + _(" points"));
+ did_edit = true;
+ cut_copy_points (op);
+ if (op == Cut || op == Delete) {
+ selection->clear_points ();
+ }
+ } else if (!selection->regions.empty() || !selection->points.empty()) {
- if (op == Cut || op == Delete) {
- selection->clear_points ();
- }
- }
+ string thing_name;
- commit_reversible_command ();
- break;
- }
+ if (selection->regions.empty()) {
+ thing_name = _("points");
+ } else if (selection->points.empty()) {
+ thing_name = _("regions");
+ } else {
+ thing_name = _("objects");
+ }
+
+ begin_reversible_command (opname + ' ' + thing_name);
+ did_edit = true;
+
+ if (!selection->regions.empty()) {
+ cut_copy_regions (op, selection->regions);
- if (selection->time.empty()) {
- framepos_t start, end;
- if (!get_edit_op_range (start, end)) {
- return;
- }
- selection->set (start, end);
+ if (op == Cut || op == Delete) {
+ selection->clear_regions ();
}
-
- begin_reversible_command (opname + _(" range"));
- cut_copy_ranges (op);
- commit_reversible_command ();
+ }
+
+ if (!selection->points.empty()) {
+ cut_copy_points (op);
if (op == Cut || op == Delete) {
- selection->clear_time ();
+ selection->clear_points ();
}
+ }
+ } else if (selection->time.empty()) {
+ framepos_t start, end;
+ /* no time selection, see if we can get an edit range
+ and use that.
+ */
+ if (get_edit_op_range (start, end)) {
+ selection->set (start, end);
+ }
+ } else if (!selection->time.empty()) {
+ begin_reversible_command (opname + _(" range"));
- break;
-
- default:
- break;
+ did_edit = true;
+ cut_copy_ranges (op);
+
+ if (op == Cut || op == Delete) {
+ selection->clear_time ();
}
}
-
+
+ if (did_edit) {
+ commit_reversible_command ();
+ }
+
if (op == Delete || op == Cut || op == Clear) {
_drags->abort ();
}
@@ -3954,10 +4034,11 @@ Editor::remove_clicked_region ()
boost::shared_ptr<Playlist> playlist = clicked_routeview->playlist();
- begin_reversible_command (_("remove region"));
playlist->clear_changes ();
playlist->clear_owned_changes ();
playlist->remove_region (clicked_regionview->region());
+ if (Config->get_edit_mode() == Ripple)
+ playlist->ripple (clicked_regionview->region()->position(), -clicked_regionview->region()->length(), boost::shared_ptr<Region>());
/* We might have removed regions, which alters other regions' layering_index,
so we need to do a recursive diff here.
@@ -4020,6 +4101,9 @@ Editor::remove_selected_regions ()
playlist->clear_owned_changes ();
playlist->freeze ();
playlist->remove_region (*rl);
+ if (Config->get_edit_mode() == Ripple)
+ playlist->ripple ((*rl)->position(), -(*rl)->length(), boost::shared_ptr<Region>());
+
}
vector<boost::shared_ptr<Playlist> >::iterator pl;
@@ -4149,12 +4233,16 @@ Editor::cut_copy_regions (CutCopyOp op, RegionSelection& rs)
switch (op) {
case Delete:
pl->remove_region (r);
+ if (Config->get_edit_mode() == Ripple)
+ pl->ripple (r->position(), -r->length(), boost::shared_ptr<Region>());
break;
case Cut:
_xx = RegionFactory::create (r);
npl->add_region (_xx, r->position() - first_position);
pl->remove_region (r);
+ if (Config->get_edit_mode() == Ripple)
+ pl->ripple (r->position(), -r->length(), boost::shared_ptr<Region>());
break;
case Copy:
@@ -4163,7 +4251,9 @@ Editor::cut_copy_regions (CutCopyOp op, RegionSelection& rs)
break;
case Clear:
- pl->remove_region (r);
+ pl->remove_region (r);
+ if (Config->get_edit_mode() == Ripple)
+ pl->ripple (r->position(), -r->length(), boost::shared_ptr<Region>());
break;
}
@@ -4424,14 +4514,14 @@ Editor::reset_point_selection ()
void
Editor::center_playhead ()
{
- float page = _canvas_width * frames_per_unit;
- center_screen_internal (playhead_cursor->current_frame, page);
+ float const page = _visible_canvas_width * samples_per_pixel;
+ center_screen_internal (playhead_cursor->current_frame (), page);
}
void
Editor::center_edit_point ()
{
- float page = _canvas_width * frames_per_unit;
+ float const page = _visible_canvas_width * samples_per_pixel;
center_screen_internal (get_preferred_edit_position(), page);
}
@@ -5205,6 +5295,22 @@ Editor::toggle_solo_isolate ()
{
}
+
+void
+Editor::fade_range ()
+{
+ TrackViewList ts = selection->tracks.filter_to_unique_playlists ();
+
+ begin_reversible_command (_("fade range"));
+
+ for (TrackViewList::iterator i = ts.begin(); i != ts.end(); ++i) {
+ (*i)->fade_range (selection->time);
+ }
+
+ commit_reversible_command ();
+}
+
+
void
Editor::set_fade_length (bool in)
{
@@ -5508,7 +5614,7 @@ Editor::set_playhead_cursor ()
}
}
- if ( Config->get_always_play_range() )
+ if ( Config->get_follow_edits() )
cancel_time_selection();
}
@@ -5566,7 +5672,7 @@ Editor::select_next_route()
selection->set(current);
- ensure_track_visible(current);
+ ensure_time_axis_view_is_visible (*current, false);
}
void
@@ -5597,37 +5703,7 @@ Editor::select_prev_route()
selection->set (current);
- ensure_track_visible(current);
-}
-
-void
-Editor::ensure_track_visible(TimeAxisView *track)
-{
- if (track->hidden())
- return;
-
- double const current_view_min_y = vertical_adjustment.get_value();
- double const current_view_max_y = vertical_adjustment.get_value() + vertical_adjustment.get_page_size() - canvas_timebars_vsize;
-
- double const track_min_y = track->y_position ();
- double const track_max_y = track->y_position () + track->effective_height ();
-
- if (track_min_y >= current_view_min_y &&
- track_max_y <= current_view_max_y) {
- return;
- }
-
- double new_value;
-
- if (track_min_y < current_view_min_y) {
- // Track is above the current view
- new_value = track_min_y;
- } else {
- // Track is below the current view
- new_value = track->y_position () + track->effective_height() + canvas_timebars_vsize - vertical_adjustment.get_page_size();
- }
-
- vertical_adjustment.set_value(new_value);
+ ensure_time_axis_view_is_visible (*current, false);
}
void
@@ -5643,8 +5719,8 @@ Editor::set_loop_from_selection (bool play)
set_loop_range (start, end, _("set loop range from selection"));
if (play) {
- _session->request_play_loop (true);
_session->request_locate (start, true);
+ _session->request_play_loop (true);
}
}
@@ -5665,8 +5741,8 @@ Editor::set_loop_from_edit_range (bool play)
set_loop_range (start, end, _("set loop range from edit range"));
if (play) {
- _session->request_play_loop (true);
_session->request_locate (start, true);
+ _session->request_play_loop (true);
}
}
@@ -5694,8 +5770,8 @@ Editor::set_loop_from_region (bool play)
set_loop_range (start, end, _("set loop range from region"));
if (play) {
- _session->request_play_loop (true);
_session->request_locate (start, true);
+ _session->request_play_loop (true);
}
}
@@ -6372,8 +6448,11 @@ Editor::tab_to_transient (bool forward)
void
Editor::playhead_forward_to_grid ()
{
- if (!_session) return;
- framepos_t pos = playhead_cursor->current_frame;
+ if (!_session) {
+ return;
+ }
+
+ framepos_t pos = playhead_cursor->current_frame ();
if (pos < max_framepos - 1) {
pos += 2;
snap_to_internal (pos, 1, false);
@@ -6385,8 +6464,11 @@ Editor::playhead_forward_to_grid ()
void
Editor::playhead_backward_to_grid ()
{
- if (!_session) return;
- framepos_t pos = playhead_cursor->current_frame;
+ if (!_session) {
+ return;
+ }
+
+ framepos_t pos = playhead_cursor->current_frame ();
if (pos > 2) {
pos -= 2;
snap_to_internal (pos, -1, false);
@@ -6448,12 +6530,13 @@ Editor::remove_tracks ()
for (TrackSelection::iterator x = ts.begin(); x != ts.end(); ++x) {
RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (*x);
- if (rtv) {
- if (rtv->is_track()) {
- ntracks++;
- } else {
- nbusses++;
- }
+ if (!rtv) {
+ continue;
+ }
+ if (rtv->is_track()) {
+ ntracks++;
+ } else {
+ nbusses++;
}
routes.push_back (rtv->_route);
@@ -6484,6 +6567,7 @@ edit your ardour.rc file to set the\n\
return;
}
+ // XXX should be using gettext plural forms, maybe?
if (ntracks > 1) {
trackstr = _("tracks");
} else {
@@ -6510,7 +6594,7 @@ edit your ardour.rc file to set the\n\
}
} else if (nbusses) {
prompt = string_compose (_("Do you really want to remove %1 %2?\n\n"
- "This action cannot be undon, and the session file will be overwritten"),
+ "This action cannot be undone, and the session file will be overwritten"),
nbusses, busstr);
}
@@ -6534,8 +6618,12 @@ edit your ardour.rc file to set the\n\
return;
}
- for (vector<boost::shared_ptr<Route> >::iterator x = routes.begin(); x != routes.end(); ++x) {
- _session->remove_route (*x);
+ {
+ Session::StateProtector sp (_session);
+ DisplaySuspender ds;
+ for (vector<boost::shared_ptr<Route> >::iterator x = routes.begin(); x != routes.end(); ++x) {
+ _session->remove_route (*x);
+ }
}
}
@@ -6715,6 +6803,7 @@ Editor::fit_selected_tracks ()
}
}
}
+
}
void
@@ -6737,7 +6826,13 @@ Editor::fit_tracks (TrackViewList & tracks)
++visible_tracks;
}
- uint32_t h = (uint32_t) floor ((_canvas_height - child_heights - canvas_timebars_vsize) / visible_tracks);
+ /* compute the per-track height from:
+
+ total canvas visible height -
+ height that will be taken by visible children of selected
+ tracks - height of the ruler/hscroll area
+ */
+ uint32_t h = (uint32_t) floor ((trackviews_height() - child_heights) / visible_tracks);
double first_y_pos = DBL_MAX;
if (h < TimeAxisView::preset_height (HeightSmall)) {
@@ -6760,8 +6855,6 @@ Editor::fit_tracks (TrackViewList & tracks)
}
}
- /* operate on all tracks, hide unselected ones that are in the middle of selected ones */
-
bool prev_was_selected = false;
bool is_selected = tracks.contains (all.front());
bool next_is_selected;
@@ -6799,10 +6892,12 @@ Editor::fit_tracks (TrackViewList & tracks)
request signal handler will cause the vertical adjustment setting to fail
*/
- controls_layout.property_height () = full_canvas_height - canvas_timebars_vsize;
+ controls_layout.property_height () = _full_canvas_height;
vertical_adjustment.set_value (first_y_pos);
redo_visual_stack.push_back (current_visual_state (true));
+
+ visible_tracks_selector.set_text (_("Sel"));
}
void
@@ -6975,3 +7070,83 @@ Editor::toggle_midi_input_active (bool flip_others)
_session->set_exclusive_input_active (rl, onoff, flip_others);
}
+
+void
+Editor::lock ()
+{
+ if (!lock_dialog) {
+ lock_dialog = new Gtk::Dialog (string_compose (_("%1: Locked"), PROGRAM_NAME), true);
+
+ Gtk::Image* padlock = manage (new Gtk::Image (ARDOUR_UI_UTILS::get_icon ("padlock_closed")));
+ lock_dialog->get_vbox()->pack_start (*padlock);
+
+ ArdourButton* b = manage (new ArdourButton);
+ b->set_name ("lock button");
+ b->set_text (_("Click to unlock"));
+ b->signal_clicked.connect (sigc::mem_fun (*this, &Editor::unlock));
+ lock_dialog->get_vbox()->pack_start (*b);
+
+ lock_dialog->get_vbox()->show_all ();
+ lock_dialog->set_size_request (200, 200);
+ }
+
+#ifdef __APPLE__
+ /* The global menu bar continues to be accessible to applications
+ with modal dialogs, which means that we need to desensitize
+ all items in the menu bar. Since those items are really just
+ proxies for actions, that means disabling all actions.
+ */
+ ActionManager::disable_all_actions ();
+#endif
+ lock_dialog->present ();
+}
+
+void
+Editor::unlock ()
+{
+ lock_dialog->hide ();
+
+#ifdef __APPLE__
+ ActionManager::pop_action_state ();
+#endif
+
+ if (ARDOUR_UI::config()->get_lock_gui_after_seconds()) {
+ start_lock_event_timing ();
+ }
+}
+
+void
+Editor::bring_in_callback (Gtk::Label* label, uint32_t n, uint32_t total, string name)
+{
+ Gtkmm2ext::UI::instance()->call_slot (invalidator (*this), boost::bind (&Editor::update_bring_in_message, this, label, n, total, name));
+}
+
+void
+Editor::update_bring_in_message (Gtk::Label* label, uint32_t n, uint32_t total, string name)
+{
+ label->set_text (string_compose ("Copying %1, %2 of %3", name, n, total));
+ Gtkmm2ext::UI::instance()->flush_pending ();
+}
+
+void
+Editor::bring_all_sources_into_session ()
+{
+ if (!_session) {
+ return;
+ }
+
+ Gtk::Label msg;
+ ArdourDialog w (_("Moving embedded files into session folder"));
+ w.get_vbox()->pack_start (msg);
+ w.present ();
+
+ /* flush all pending GUI events because we're about to start copying
+ * files
+ */
+
+ Gtkmm2ext::UI::instance()->flush_pending ();
+
+ cerr << " Do it\n";
+
+ _session->bring_all_sources_into_session (boost::bind (&Editor::bring_in_callback, this, &msg, _1, _2, _3));
+}
diff --git a/gtk2_ardour/editor_regions.cc b/gtk2_ardour/editor_regions.cc
index 69620d489f..4113b6d00b 100644
--- a/gtk2_ardour/editor_regions.cc
+++ b/gtk2_ardour/editor_regions.cc
@@ -53,6 +53,7 @@
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtk;
using namespace Glib;
@@ -346,7 +347,7 @@ EditorRegions::add_region (boost::shared_ptr<Region> region)
c.set_rgb(0,65535,0); // FIXME: error color from style
} else {
- set_color(c, rgba_from_style ("RegionListWholeFile", 0xff, 0, 0, 0, "fg", Gtk::STATE_NORMAL, false ));
+ set_color_from_rgba (c, rgba_from_style ("RegionListWholeFile", 0xff, 0, 0, 0, "fg", Gtk::STATE_NORMAL, false ));
}
diff --git a/gtk2_ardour/editor_route_groups.cc b/gtk2_ardour/editor_route_groups.cc
index 72f6adfa82..c7a148304b 100644
--- a/gtk2_ardour/editor_route_groups.cc
+++ b/gtk2_ardour/editor_route_groups.cc
@@ -30,27 +30,28 @@
#include "gtkmm2ext/cell_renderer_color_selector.h"
#include "ardour/route_group.h"
+#include "ardour/route.h"
+#include "ardour/session.h"
+#include "ardour_ui.h"
#include "editor.h"
+#include "editor_group_tabs.h"
+#include "editor_route_groups.h"
+#include "editor_routes.h"
+#include "gui_thread.h"
#include "keyboard.h"
#include "marker.h"
-#include "time_axis_view.h"
#include "prompter.h"
-#include "gui_thread.h"
-#include "editor_group_tabs.h"
#include "route_group_dialog.h"
#include "route_time_axis.h"
-#include "editor_routes.h"
-#include "editor_route_groups.h"
-#include "ardour_ui.h"
-
-#include "ardour/route.h"
-#include "ardour/session.h"
+#include "time_axis_view.h"
+#include "utils.h"
#include "i18n.h"
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtk;
using Gtkmm2ext::Keyboard;
@@ -63,7 +64,6 @@ struct ColumnInfo {
EditorRouteGroups::EditorRouteGroups (Editor* e)
: EditorComponent (e)
- , _all_group_active_button (_("No Selection = All Tracks?"))
, _in_row_change (false)
, _in_rebuild (false)
{
@@ -72,6 +72,7 @@ EditorRouteGroups::EditorRouteGroups (Editor* e)
Gtkmm2ext::CellRendererColorSelector* color_renderer = manage (new Gtkmm2ext::CellRendererColorSelector);
TreeViewColumn* color_column = manage (new TreeViewColumn ("", *color_renderer));
+
color_column->add_attribute (color_renderer->property_color(), _columns.gdkcolor);
_display.append_column (*color_column);
@@ -186,15 +187,8 @@ EditorRouteGroups::EditorRouteGroups (Editor* e)
button_box->pack_start (*add_button);
button_box->pack_start (*remove_button);
- _all_group_active_button.show ();
-
_display_packer.pack_start (_scroller, true, true);
- _display_packer.pack_start (_all_group_active_button, false, false);
_display_packer.pack_start (*button_box, false, false);
-
- _all_group_active_button.signal_toggled().connect (sigc::mem_fun (*this, &EditorRouteGroups::all_group_toggled));
- _all_group_active_button.set_name (X_("EditorRouteGroupsAllGroupButton"));
- ARDOUR_UI::instance()->set_tip (_all_group_active_button, _("Activate this button to operate on all tracks when none are selected."));
}
void
@@ -203,7 +197,7 @@ EditorRouteGroups::remove_selected ()
Glib::RefPtr<TreeSelection> selection = _display.get_selection();
TreeView::Selection::ListHandle_Path rows = selection->get_selected_rows ();
- if (rows.empty()) {
+ if (rows.empty() || _session->deletion_in_progress()) {
return;
}
@@ -268,8 +262,7 @@ EditorRouteGroups::button_press_event (GdkEventButton* ev)
switch (GPOINTER_TO_UINT (column->get_data (X_("colnum")))) {
case 0:
- c = (*iter)[_columns.gdkcolor];
-
+ c = (*iter)[_columns.gdkcolor];
color_dialog.get_colorsel()->set_previous_color (c);
color_dialog.get_colorsel()->set_current_color (c);
@@ -278,7 +271,7 @@ EditorRouteGroups::button_press_event (GdkEventButton* ev)
break;
case RESPONSE_ACCEPT:
c = color_dialog.get_colorsel()->get_current_color();
- GroupTabs::set_group_color (group, c);
+ GroupTabs::set_group_color (group, gdk_color_to_rgba (c));
ARDOUR_UI::config()->set_dirty ();
break;
@@ -409,7 +402,7 @@ EditorRouteGroups::row_change (const Gtk::TreeModel::Path&, const Gtk::TreeModel
group->apply_changes (plist);
- GroupTabs::set_group_color ((*iter)[_columns.routegroup], (*iter)[_columns.gdkcolor]);
+ GroupTabs::set_group_color ((*iter)[_columns.routegroup], gdk_color_to_rgba ((*iter)[_columns.gdkcolor]));
}
void
@@ -430,7 +423,10 @@ EditorRouteGroups::add (RouteGroup* group)
row[_columns.active_shared] = group->is_route_active ();
row[_columns.active_state] = group->is_active ();
row[_columns.is_visible] = !group->is_hidden();
- row[_columns.gdkcolor] = GroupTabs::group_color (group);
+
+ Gdk::Color c;
+ set_color_from_rgba (c, GroupTabs::group_color (group));
+ row[_columns.gdkcolor] = c;
_in_row_change = true;
@@ -500,7 +496,10 @@ EditorRouteGroups::property_changed (RouteGroup* group, const PropertyChange&)
(*iter)[_columns.active_shared] = group->is_route_active ();
(*iter)[_columns.active_state] = group->is_active ();
(*iter)[_columns.is_visible] = !group->is_hidden();
- (*iter)[_columns.gdkcolor] = GroupTabs::group_color (group);
+
+ Gdk::Color c;
+ set_color_from_rgba (c, GroupTabs::group_color (group));
+ (*iter)[_columns.gdkcolor] = c;
break;
}
@@ -552,10 +551,6 @@ EditorRouteGroups::set_session (Session* s)
if (_session) {
- RouteGroup& arg (_session->all_route_group());
-
- arg.PropertyChanged.connect (all_route_groups_changed_connection, MISSING_INVALIDATOR, boost::bind (&EditorRouteGroups::all_group_changed, this, _1), gui_context());
-
_session->route_group_added.connect (_session_connections, MISSING_INVALIDATOR, boost::bind (&EditorRouteGroups::add, this, _1), gui_context());
_session->route_group_removed.connect (
_session_connections, MISSING_INVALIDATOR, boost::bind (&EditorRouteGroups::groups_changed, this), gui_context()
@@ -568,7 +563,6 @@ EditorRouteGroups::set_session (Session* s)
PBD::PropertyChange pc;
pc.add (Properties::select);
pc.add (Properties::active);
- all_group_changed (pc);
groups_changed ();
}
@@ -581,25 +575,6 @@ EditorRouteGroups::run_new_group_dialog ()
return _editor->_group_tabs->run_new_group_dialog (rl);
}
-void
-EditorRouteGroups::all_group_toggled ()
-{
- if (_session) {
- _session->all_route_group().set_select (_all_group_active_button.get_active());
- }
-}
-
-void
-EditorRouteGroups::all_group_changed (const PropertyChange&)
-{
- if (_session) {
- RouteGroup& arg (_session->all_route_group());
- _all_group_active_button.set_active (arg.is_active() && arg.is_select());
- } else {
- _all_group_active_button.set_active (false);
- }
-}
-
/** Called when a model row is deleted, but also when the model is
* reordered by a user drag-and-drop; the latter is what we are
* interested in here.
@@ -607,7 +582,7 @@ EditorRouteGroups::all_group_changed (const PropertyChange&)
void
EditorRouteGroups::row_deleted (Gtk::TreeModel::Path const &)
{
- if (_in_rebuild) {
+ if (_in_rebuild || !_session || _session->deletion_in_progress()) {
/* We need to ignore this in cases where we're not doing a drag-and-drop
re-order.
*/
diff --git a/gtk2_ardour/editor_route_groups.h b/gtk2_ardour/editor_route_groups.h
index 42061ff089..5040823052 100644
--- a/gtk2_ardour/editor_route_groups.h
+++ b/gtk2_ardour/editor_route_groups.h
@@ -32,7 +32,6 @@ public:
}
void clear ();
- Gtkmm2ext::StatefulToggleButton& all_group_active_button() { return _all_group_active_button; }
private:
@@ -80,8 +79,6 @@ private:
void property_changed (ARDOUR::RouteGroup*, const PBD::PropertyChange &);
void remove_selected ();
void run_new_group_dialog ();
- void all_group_toggled();
- void all_group_changed (const PBD::PropertyChange&);
void row_deleted (Gtk::TreeModel::Path const &);
Glib::RefPtr<Gtk::ListStore> _model;
@@ -89,7 +86,6 @@ private:
Gtk::TreeView _display;
Gtk::ScrolledWindow _scroller;
Gtk::VBox _display_packer;
- Gtkmm2ext::StatefulToggleButton _all_group_active_button;
bool _in_row_change;
bool _in_rebuild;
PBD::ScopedConnectionList _property_changed_connections;
diff --git a/gtk2_ardour/editor_routes.cc b/gtk2_ardour/editor_routes.cc
index e0b562b494..e066e721fe 100644
--- a/gtk2_ardour/editor_routes.cc
+++ b/gtk2_ardour/editor_routes.cc
@@ -17,42 +17,43 @@
*/
+#include <cstdlib>
+#include <cassert>
+#include <cmath>
#include <list>
#include <vector>
#include <algorithm>
-#include <cstdlib>
-#include <cmath>
-#include <cassert>
#include "pbd/unknown_type.h"
#include "pbd/unwind.h"
#include "ardour/debug.h"
-#include "ardour/route.h"
#include "ardour/midi_track.h"
+#include "ardour/route.h"
#include "ardour/session.h"
#include "gtkmm2ext/cell_renderer_pixbuf_multi.h"
#include "gtkmm2ext/cell_renderer_pixbuf_toggle.h"
#include "gtkmm2ext/treeutils.h"
-#include "editor.h"
-#include "keyboard.h"
+#include "actions.h"
#include "ardour_ui.h"
#include "audio_time_axis.h"
+#include "editor.h"
+#include "editor_group_tabs.h"
+#include "editor_routes.h"
+#include "gui_thread.h"
+#include "keyboard.h"
#include "midi_time_axis.h"
#include "mixer_strip.h"
-#include "gui_thread.h"
-#include "actions.h"
-#include "utils.h"
#include "route_sorter.h"
-#include "editor_group_tabs.h"
-#include "editor_routes.h"
+#include "utils.h"
#include "i18n.h"
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtk;
using namespace Gtkmm2ext;
@@ -60,20 +61,23 @@ using namespace Glib;
using Gtkmm2ext::Keyboard;
struct ColumnInfo {
- int index;
- const char* label;
- const char* tooltip;
+ int index;
+ const char* label;
+ const char* tooltip;
};
EditorRoutes::EditorRoutes (Editor* e)
: EditorComponent (e)
- , _ignore_reorder (false)
- , _no_redisplay (false)
- , _adding_routes (false)
- , _menu (0)
- , old_focus (0)
- , selection_countdown (0)
- , name_editable (0)
+ , _ignore_reorder (false)
+ , _no_redisplay (false)
+ , _adding_routes (false)
+ , _route_deletion_in_progress (false)
+ , _redisplay_active (0)
+ , _queue_tv_update (0)
+ , _menu (0)
+ , old_focus (0)
+ , selection_countdown (0)
+ , name_editable (0)
{
static const int column_width = 22;
@@ -183,7 +187,7 @@ EditorRoutes::EditorRoutes (Editor* e)
solo_safe_state_column->set_expand(false);
solo_safe_state_column->set_fixed_width(column_width);
- _name_column = _display.append_column ("", _columns.text) - 1;
+ _name_column = _display.append_column ("", _columns.text) - 1;
_visible_column = _display.append_column ("", _columns.visible) - 1;
_active_column = _display.append_column ("", _columns.active) - 1;
@@ -222,6 +226,7 @@ EditorRoutes::EditorRoutes (Editor* e)
_display.set_headers_visible (true);
_display.get_selection()->set_mode (SELECTION_SINGLE);
_display.get_selection()->set_select_function (sigc::mem_fun (*this, &EditorRoutes::selection_filter));
+ _display.get_selection()->signal_changed().connect (sigc::mem_fun (*this, &EditorRoutes::selection_changed));
_display.set_reorderable (true);
_display.set_name (X_("EditGroupList"));
_display.set_rules_hint (true);
@@ -231,7 +236,7 @@ EditorRoutes::EditorRoutes (Editor* e)
CellRendererText* name_cell = dynamic_cast<CellRendererText*> (_display.get_column_cell_renderer (_name_column));
assert (name_cell);
- name_cell->signal_editing_started().connect (sigc::mem_fun (*this, &EditorRoutes::name_edit_started));
+ name_cell->signal_editing_started().connect (sigc::mem_fun (*this, &EditorRoutes::name_edit_started));
TreeViewColumn* name_column = _display.get_column (_name_column);
@@ -269,20 +274,20 @@ EditorRoutes::EditorRoutes (Editor* e)
active_col->set_sizing (TREE_VIEW_COLUMN_FIXED);
active_col->set_fixed_width (30);
active_col->set_alignment (ALIGN_CENTER);
-
- _model->signal_row_deleted().connect (sigc::mem_fun (*this, &EditorRoutes::route_deleted));
+
+ _model->signal_row_deleted().connect (sigc::mem_fun (*this, &EditorRoutes::row_deleted));
_model->signal_rows_reordered().connect (sigc::mem_fun (*this, &EditorRoutes::reordered));
_display.signal_button_press_event().connect (sigc::mem_fun (*this, &EditorRoutes::button_press), false);
_scroller.signal_key_press_event().connect (sigc::mem_fun(*this, &EditorRoutes::key_press), false);
- _scroller.signal_focus_in_event().connect (sigc::mem_fun (*this, &EditorRoutes::focus_in), false);
- _scroller.signal_focus_out_event().connect (sigc::mem_fun (*this, &EditorRoutes::focus_out));
+ _scroller.signal_focus_in_event().connect (sigc::mem_fun (*this, &EditorRoutes::focus_in), false);
+ _scroller.signal_focus_out_event().connect (sigc::mem_fun (*this, &EditorRoutes::focus_out));
- _display.signal_enter_notify_event().connect (sigc::mem_fun (*this, &EditorRoutes::enter_notify), false);
- _display.signal_leave_notify_event().connect (sigc::mem_fun (*this, &EditorRoutes::leave_notify), false);
+ _display.signal_enter_notify_event().connect (sigc::mem_fun (*this, &EditorRoutes::enter_notify), false);
+ _display.signal_leave_notify_event().connect (sigc::mem_fun (*this, &EditorRoutes::leave_notify), false);
- _display.set_enable_search (false);
+ _display.set_enable_search (false);
Route::SyncOrderKeys.connect (*this, MISSING_INVALIDATOR, boost::bind (&EditorRoutes::sync_treeview_from_order_keys, this), gui_context());
}
@@ -290,29 +295,29 @@ EditorRoutes::EditorRoutes (Editor* e)
bool
EditorRoutes::focus_in (GdkEventFocus*)
{
- Window* win = dynamic_cast<Window*> (_scroller.get_toplevel ());
+ Window* win = dynamic_cast<Window*> (_scroller.get_toplevel ());
- if (win) {
- old_focus = win->get_focus ();
- } else {
- old_focus = 0;
- }
+ if (win) {
+ old_focus = win->get_focus ();
+ } else {
+ old_focus = 0;
+ }
- name_editable = 0;
+ name_editable = 0;
- /* try to do nothing on focus in (doesn't work, hence selection_count nonsense) */
- return true;
+ /* try to do nothing on focus in (doesn't work, hence selection_count nonsense) */
+ return true;
}
bool
EditorRoutes::focus_out (GdkEventFocus*)
{
- if (old_focus) {
- old_focus->grab_focus ();
- old_focus = 0;
- }
+ if (old_focus) {
+ old_focus->grab_focus ();
+ old_focus = 0;
+ }
- return false;
+ return false;
}
bool
@@ -322,27 +327,27 @@ EditorRoutes::enter_notify (GdkEventCrossing*)
return true;
}
- /* arm counter so that ::selection_filter() will deny selecting anything for the
- next two attempts to change selection status.
- */
- selection_countdown = 2;
- _scroller.grab_focus ();
- Keyboard::magic_widget_grab_focus ();
- return false;
+ /* arm counter so that ::selection_filter() will deny selecting anything for the
+ * next two attempts to change selection status.
+ */
+ selection_countdown = 2;
+ _scroller.grab_focus ();
+ Keyboard::magic_widget_grab_focus ();
+ return false;
}
bool
EditorRoutes::leave_notify (GdkEventCrossing*)
{
- selection_countdown = 0;
+ selection_countdown = 0;
- if (old_focus) {
- old_focus->grab_focus ();
- old_focus = 0;
- }
+ if (old_focus) {
+ old_focus->grab_focus ();
+ old_focus = 0;
+ }
- Keyboard::magic_widget_drop_focus ();
- return false;
+ Keyboard::magic_widget_drop_focus ();
+ return false;
}
void
@@ -379,6 +384,7 @@ EditorRoutes::on_input_active_changed (std::string const & path_string)
void
EditorRoutes::on_tv_rec_enable_changed (std::string const & path_string)
{
+ DisplaySuspender ds;
// Get the model row that has been toggled.
Gtk::TreeModel::Row row = *_model->get_iter (Gtk::TreeModel::Path (path_string));
@@ -489,19 +495,15 @@ EditorRoutes::show_menu ()
}
void
-EditorRoutes::redisplay ()
+EditorRoutes::redisplay_real ()
{
- if (_no_redisplay || !_session || _session->deletion_in_progress()) {
- return;
- }
-
TreeModel::Children rows = _model->children();
TreeModel::Children::iterator i;
uint32_t position;
/* n will be the count of tracks plus children (updated by TimeAxisView::show_at),
- so we will use that to know where to put things.
- */
+ * so we will use that to know where to put things.
+ */
int n;
for (n = 0, position = 0, i = rows.begin(); i != rows.end(); ++i) {
@@ -518,7 +520,6 @@ EditorRoutes::redisplay ()
/* show or hide the TimeAxisView */
if (visible) {
position += tv->show_at (position, n, &_editor->edit_controls_vbox);
- tv->clip_to_viewport ();
} else {
tv->hide ();
}
@@ -527,38 +528,71 @@ EditorRoutes::redisplay ()
}
/* whenever we go idle, update the track view list to reflect the new order.
- we can't do this here, because we could mess up something that is traversing
- the track order and has caused a redisplay of the list.
- */
+ * we can't do this here, because we could mess up something that is traversing
+ * the track order and has caused a redisplay of the list.
+ */
Glib::signal_idle().connect (sigc::mem_fun (*_editor, &Editor::sync_track_view_list_and_routes));
- _editor->reset_controls_layout_height (position);
- _editor->reset_controls_layout_width ();
- _editor->full_canvas_height = position + _editor->canvas_timebars_vsize;
- _editor->vertical_adjustment.set_upper (_editor->full_canvas_height);
+ _editor->reset_controls_layout_height (position);
+ _editor->reset_controls_layout_width ();
+ _editor->_full_canvas_height = position;
- if ((_editor->vertical_adjustment.get_value() + _editor->_canvas_height) > _editor->vertical_adjustment.get_upper()) {
+ if ((_editor->vertical_adjustment.get_value() + _editor->_visible_canvas_height) > _editor->vertical_adjustment.get_upper()) {
/*
- We're increasing the size of the canvas while the bottom is visible.
- We scroll down to keep in step with the controls layout.
- */
- _editor->vertical_adjustment.set_value (_editor->full_canvas_height - _editor->_canvas_height);
+ * We're increasing the size of the canvas while the bottom is visible.
+ * We scroll down to keep in step with the controls layout.
+ */
+ _editor->vertical_adjustment.set_value (_editor->_full_canvas_height - _editor->_visible_canvas_height);
}
}
void
-EditorRoutes::route_deleted (Gtk::TreeModel::Path const &)
+EditorRoutes::redisplay ()
{
- /* this happens as the second step of a DnD within the treeview as well
- as when a row/route is actually deleted.
- */
+ if (_no_redisplay || !_session || _session->deletion_in_progress()) {
+ return;
+ }
+
+ // model deprecated g_atomic_int_exchange_and_add(, 1)
+ g_atomic_int_inc(&_redisplay_active);
+ if (!g_atomic_int_compare_and_exchange (&_redisplay_active, 1, 1)) {
+ return;
+ }
+
+ redisplay_real ();
+
+ while (!g_atomic_int_compare_and_exchange (&_redisplay_active, 1, 0)) {
+ g_atomic_int_set(&_redisplay_active, 1);
+ redisplay_real ();
+ }
+}
+
+void
+EditorRoutes::row_deleted (Gtk::TreeModel::Path const &)
+{
+ /* this happens as the second step of a DnD within the treeview, and
+ * when a route is actually removed. we don't differentiate between
+ * the two cases.
+ *
+ * note that the sync_orders_keys() step may not actually change any
+ * RID's (e.g. the last track may be removed, so all other tracks keep
+ * the same RID), which means that no redisplay would happen. so we
+ * have to force a redisplay.
+ */
+
DEBUG_TRACE (DEBUG::OrderKeys, "editor routes treeview row deleted\n");
+
+ DisplaySuspender ds;
sync_order_keys_from_treeview ();
}
void
EditorRoutes::reordered (TreeModel::Path const &, TreeModel::iterator const &, int* /*what*/)
{
+ /* reordering implies that RID's will change, so sync_order_keys() will
+ cause a redisplay.
+ */
+
DEBUG_TRACE (DEBUG::OrderKeys, "editor routes treeview reordered\n");
sync_order_keys_from_treeview ();
}
@@ -570,6 +604,7 @@ EditorRoutes::visible_changed (std::string const & path)
return;
}
+ DisplaySuspender ds;
TreeIter iter;
if ((iter = _model->get_iter (path))) {
@@ -616,9 +651,9 @@ EditorRoutes::routes_added (list<RouteTimeAxisView*> routes)
if(!from_scratch) {
_editor->selection->tracks.clear();
- }
+ }
- suspend_redisplay ();
+ DisplaySuspender ds;
_display.set_model (Glib::RefPtr<ListStore>());
@@ -687,7 +722,6 @@ EditorRoutes::routes_added (list<RouteTimeAxisView*> routes)
update_input_active_display ();
update_active_display ();
- resume_redisplay ();
_display.set_model (_model);
/* now update route order keys from the treeview/track display order */
@@ -706,7 +740,6 @@ EditorRoutes::handle_gui_changes (string const & what, void*)
/* Optional :make tracks change height while it happens, instead
of on first-idle
*/
- //update_canvas_now ();
redisplay ();
}
@@ -725,12 +758,13 @@ EditorRoutes::route_removed (TimeAxisView *tv)
for (ri = rows.begin(); ri != rows.end(); ++ri) {
if ((*ri)[_columns.tv] == tv) {
+ PBD::Unwinder<bool> uw (_route_deletion_in_progress, true);
_model->erase (ri);
break;
}
}
- /* the deleted signal for the treeview/model will take
+ /* the deleted signal for the treeview/model will take
care of any updates.
*/
}
@@ -765,12 +799,8 @@ EditorRoutes::route_property_changed (const PropertyChange& what_changed, boost:
void
EditorRoutes::update_active_display ()
{
- TreeModel::Children rows = _model->children();
- TreeModel::Children::iterator i;
-
- for (i = rows.begin(); i != rows.end(); ++i) {
- boost::shared_ptr<Route> route = (*i)[_columns.route];
- (*i)[_columns.active] = route->active ();
+ if (g_atomic_int_compare_and_exchange (&_queue_tv_update, 0, 1)) {
+ Glib::signal_idle().connect (sigc::mem_fun (*this, &EditorRoutes::idle_update_mute_rec_solo_etc));
}
}
@@ -780,7 +810,7 @@ EditorRoutes::update_visibility ()
TreeModel::Children rows = _model->children();
TreeModel::Children::iterator i;
- suspend_redisplay ();
+ DisplaySuspender ds ();
for (i = rows.begin(); i != rows.end(); ++i) {
TimeAxisView *tv = (*i)[_columns.tv];
@@ -791,8 +821,6 @@ EditorRoutes::update_visibility ()
*/
sync_order_keys_from_treeview ();
-
- resume_redisplay ();
}
void
@@ -836,12 +864,12 @@ EditorRoutes::reset_remote_control_ids ()
}
TreeModel::Children rows = _model->children();
-
+
if (rows.empty()) {
return;
}
-
+
DEBUG_TRACE (DEBUG::OrderKeys, "editor reset remote control ids\n");
TreeModel::Children::iterator ri;
@@ -860,10 +888,10 @@ EditorRoutes::reset_remote_control_ids ()
uint32_t new_rid = (visible ? rid : invisible_key--);
if (new_rid != route->remote_control_id()) {
- route->set_remote_control_id_explicit (new_rid);
+ route->set_remote_control_id_explicit (new_rid);
rid_change = true;
}
-
+
if (visible) {
rid++;
}
@@ -886,12 +914,12 @@ EditorRoutes::sync_order_keys_from_treeview ()
}
TreeModel::Children rows = _model->children();
-
+
if (rows.empty()) {
return;
}
-
+
DEBUG_TRACE (DEBUG::OrderKeys, "editor sync order keys from treeview\n");
TreeModel::Children::iterator ri;
@@ -919,10 +947,10 @@ EditorRoutes::sync_order_keys_from_treeview ()
uint32_t new_rid = (visible ? rid : invisible_key--);
if (new_rid != route->remote_control_id()) {
- route->set_remote_control_id_explicit (new_rid);
+ route->set_remote_control_id_explicit (new_rid);
rid_change = true;
}
-
+
if (visible) {
rid++;
}
@@ -931,7 +959,7 @@ EditorRoutes::sync_order_keys_from_treeview ()
++order;
}
-
+
if (changed) {
/* tell the world that we changed the editor sort keys */
_session->sync_order_keys ();
@@ -946,7 +974,7 @@ EditorRoutes::sync_order_keys_from_treeview ()
void
EditorRoutes::sync_treeview_from_order_keys ()
{
- /* Some route order key(s) have been changed, make sure that
+ /* Some route order key(s) have been changed, make sure that
we update out tree/list model and GUI to reflect the change.
*/
@@ -983,7 +1011,7 @@ EditorRoutes::sync_treeview_from_order_keys ()
neworder.assign (sorted_routes.size(), 0);
uint32_t n = 0;
-
+
for (OrderKeySortedRoutes::iterator sr = sorted_routes.begin(); sr != sorted_routes.end(); ++sr, ++n) {
neworder[n] = sr->old_display_order;
@@ -1010,7 +1038,7 @@ EditorRoutes::hide_all_tracks (bool /*with_select*/)
TreeModel::Children rows = _model->children();
TreeModel::Children::iterator i;
- suspend_redisplay ();
+ DisplaySuspender ds;
for (i = rows.begin(); i != rows.end(); ++i) {
@@ -1023,14 +1051,6 @@ EditorRoutes::hide_all_tracks (bool /*with_select*/)
row[_columns.visible] = false;
}
-
- resume_redisplay ();
-
- /* XXX this seems like a hack and half, but its not clear where to put this
- otherwise.
- */
-
- //reset_scrolling_region ();
}
void
@@ -1039,7 +1059,7 @@ EditorRoutes::set_all_tracks_visibility (bool yn)
TreeModel::Children rows = _model->children();
TreeModel::Children::iterator i;
- suspend_redisplay ();
+ DisplaySuspender ds;
for (i = rows.begin(); i != rows.end(); ++i) {
@@ -1058,8 +1078,6 @@ EditorRoutes::set_all_tracks_visibility (bool yn)
*/
sync_order_keys_from_treeview ();
-
- resume_redisplay ();
}
void
@@ -1068,7 +1086,7 @@ EditorRoutes::set_all_audio_midi_visibility (int tracks, bool yn)
TreeModel::Children rows = _model->children();
TreeModel::Children::iterator i;
- suspend_redisplay ();
+ DisplaySuspender ds;
for (i = rows.begin(); i != rows.end(); ++i) {
@@ -1120,8 +1138,6 @@ EditorRoutes::set_all_audio_midi_visibility (int tracks, bool yn)
*/
sync_order_keys_from_treeview ();
-
- resume_redisplay ();
}
void
@@ -1172,59 +1188,58 @@ EditorRoutes::hide_all_miditracks ()
bool
EditorRoutes::key_press (GdkEventKey* ev)
{
- TreeViewColumn *col;
- boost::shared_ptr<RouteList> rl (new RouteList);
- TreePath path;
-
- switch (ev->keyval) {
- case GDK_Tab:
- case GDK_ISO_Left_Tab:
-
- /* If we appear to be editing something, leave that cleanly and appropriately.
- */
- if (name_editable) {
- name_editable->editing_done ();
- name_editable = 0;
- }
-
- col = _display.get_column (_name_column); // select&focus on name column
-
- if (Keyboard::modifier_state_equals (ev->state, Keyboard::TertiaryModifier)) {
- treeview_select_previous (_display, _model, col);
- } else {
- treeview_select_next (_display, _model, col);
- }
-
- return true;
- break;
-
- case 'm':
- if (get_relevant_routes (rl)) {
- _session->set_mute (rl, !rl->front()->muted(), Session::rt_cleanup);
- }
- return true;
- break;
-
- case 's':
- if (get_relevant_routes (rl)) {
- if (Config->get_solo_control_is_listen_control()) {
- _session->set_listen (rl, !rl->front()->listening_via_monitor(), Session::rt_cleanup);
+ TreeViewColumn *col;
+ boost::shared_ptr<RouteList> rl (new RouteList);
+ TreePath path;
+
+ switch (ev->keyval) {
+ case GDK_Tab:
+ case GDK_ISO_Left_Tab:
+
+ /* If we appear to be editing something, leave that cleanly and appropriately. */
+ if (name_editable) {
+ name_editable->editing_done ();
+ name_editable = 0;
+ }
+
+ col = _display.get_column (_name_column); // select&focus on name column
+
+ if (Keyboard::modifier_state_equals (ev->state, Keyboard::TertiaryModifier)) {
+ treeview_select_previous (_display, _model, col);
} else {
- _session->set_solo (rl, !rl->front()->self_soloed(), Session::rt_cleanup);
+ treeview_select_next (_display, _model, col);
}
- }
- return true;
- break;
- case 'r':
- if (get_relevant_routes (rl)) {
- _session->set_record_enabled (rl, !rl->front()->record_enabled(), Session::rt_cleanup);
- }
- break;
+ return true;
+ break;
+
+ case 'm':
+ if (get_relevant_routes (rl)) {
+ _session->set_mute (rl, !rl->front()->muted(), Session::rt_cleanup);
+ }
+ return true;
+ break;
+
+ case 's':
+ if (get_relevant_routes (rl)) {
+ if (Config->get_solo_control_is_listen_control()) {
+ _session->set_listen (rl, !rl->front()->listening_via_monitor(), Session::rt_cleanup);
+ } else {
+ _session->set_solo (rl, !rl->front()->self_soloed(), Session::rt_cleanup);
+ }
+ }
+ return true;
+ break;
+
+ case 'r':
+ if (get_relevant_routes (rl)) {
+ _session->set_record_enabled (rl, !rl->front()->record_enabled(), Session::rt_cleanup);
+ }
+ break;
- default:
- break;
- }
+ default:
+ break;
+ }
return false;
}
@@ -1232,44 +1247,44 @@ EditorRoutes::key_press (GdkEventKey* ev)
bool
EditorRoutes::get_relevant_routes (boost::shared_ptr<RouteList> rl)
{
- TimeAxisView* tv;
- RouteTimeAxisView* rtv;
+ TimeAxisView* tv;
+ RouteTimeAxisView* rtv;
RefPtr<TreeSelection> selection = _display.get_selection();
- TreePath path;
- TreeIter iter;
+ TreePath path;
+ TreeIter iter;
- if (selection->count_selected_rows() != 0) {
+ if (selection->count_selected_rows() != 0) {
- /* use selection */
+ /* use selection */
- RefPtr<TreeModel> tm = RefPtr<TreeModel>::cast_dynamic (_model);
- iter = selection->get_selected (tm);
+ RefPtr<TreeModel> tm = RefPtr<TreeModel>::cast_dynamic (_model);
+ iter = selection->get_selected (tm);
- } else {
- /* use mouse pointer */
+ } else {
+ /* use mouse pointer */
- int x, y;
- int bx, by;
+ int x, y;
+ int bx, by;
- _display.get_pointer (x, y);
- _display.convert_widget_to_bin_window_coords (x, y, bx, by);
+ _display.get_pointer (x, y);
+ _display.convert_widget_to_bin_window_coords (x, y, bx, by);
- if (_display.get_path_at_pos (bx, by, path)) {
- iter = _model->get_iter (path);
- }
- }
+ if (_display.get_path_at_pos (bx, by, path)) {
+ iter = _model->get_iter (path);
+ }
+ }
- if (iter) {
- tv = (*iter)[_columns.tv];
- if (tv) {
- rtv = dynamic_cast<RouteTimeAxisView*>(tv);
- if (rtv) {
- rl->push_back (rtv->route());
- }
- }
- }
+ if (iter) {
+ tv = (*iter)[_columns.tv];
+ if (tv) {
+ rtv = dynamic_cast<RouteTimeAxisView*>(tv);
+ if (rtv) {
+ rl->push_back (rtv->route());
+ }
+ }
+ }
- return !rl->empty();
+ return !rl->empty();
}
bool
@@ -1296,62 +1311,81 @@ EditorRoutes::button_press (GdkEventButton* ev)
//Scroll editor canvas to selected track
if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
- // Get the model row.
Gtk::TreeModel::Row row = *_model->get_iter (path);
-
TimeAxisView *tv = row[_columns.tv];
- int y_pos = tv->y_position();
-
- //Clamp the y pos so that we do not extend beyond the canvas full height.
- if (_editor->full_canvas_height - y_pos < _editor->_canvas_height){
- y_pos = _editor->full_canvas_height - _editor->_canvas_height;
- }
-
- //Only scroll to if the track is visible
- if(y_pos != -1){
- _editor->reset_y_origin (y_pos);
+ if (tv) {
+ _editor->ensure_time_axis_view_is_visible (*tv, true);
}
}
return false;
}
+void
+EditorRoutes::selection_changed ()
+{
+ if (_display.get_selection()->count_selected_rows() > 0) {
+
+ TreeIter iter;
+ TreeView::Selection::ListHandle_Path rows = _display.get_selection()->get_selected_rows ();
+ TrackViewList selected;
+
+ _editor->get_selection().clear_regions ();
+
+ for (TreeView::Selection::ListHandle_Path::iterator i = rows.begin(); i != rows.end(); ++i) {
+
+ if ((iter = _model->get_iter (*i))) {
+
+ TimeAxisView* tv = (*iter)[_columns.tv];
+ selected.push_back (tv);
+ }
+
+ }
+
+ _editor->get_selection().set (selected);
+ _editor->ensure_time_axis_view_is_visible (*(selected.front()), true);
+
+ } else {
+ _editor->get_selection().clear_tracks ();
+ }
+}
+
bool
EditorRoutes::selection_filter (Glib::RefPtr<TreeModel> const &, TreeModel::Path const&, bool /*selected*/)
{
- if (selection_countdown) {
- if (--selection_countdown == 0) {
- return true;
- } else {
- /* no selection yet ... */
- return false;
- }
- }
+ if (selection_countdown) {
+ if (--selection_countdown == 0) {
+ return true;
+ } else {
+ /* no selection yet ... */
+ return false;
+ }
+ }
return true;
}
-struct EditorOrderRouteSorter {
- bool operator() (boost::shared_ptr<Route> a, boost::shared_ptr<Route> b) {
- if (a->is_master()) {
- /* master before everything else */
- return true;
- } else if (b->is_master()) {
- /* everything else before master */
- return false;
- }
- return a->order_key () < b->order_key ();
- }
+struct EditorOrderRouteSorter
+{
+ bool operator() (boost::shared_ptr<Route> a, boost::shared_ptr<Route> b) {
+ if (a->is_master()) {
+ /* master before everything else */
+ return true;
+ } else if (b->is_master()) {
+ /* everything else before master */
+ return false;
+ }
+ return a->order_key () < b->order_key ();
+ }
};
void
EditorRoutes::initial_display ()
{
- suspend_redisplay ();
+ DisplaySuspender ds;
_model->clear ();
if (!_session) {
- resume_redisplay ();
return;
}
@@ -1364,7 +1398,7 @@ EditorRoutes::initial_display ()
*/
_editor->add_routes (*(routes.get()));
-
+
} else {
/* existing session: sort a copy of the route list by
@@ -1373,13 +1407,11 @@ EditorRoutes::initial_display ()
RouteList r (*routes);
EditorOrderRouteSorter sorter;
-
+
r.sort (sorter);
_editor->add_routes (r);
-
- }
- resume_redisplay ();
+ }
}
void
@@ -1517,7 +1549,7 @@ EditorRoutes::move_selected_tracks (bool up)
}
assert (*i < (int) neworder.size ());
}
-#endif
+#endif
_model->reorder (neworder);
}
@@ -1533,7 +1565,7 @@ EditorRoutes::update_input_active_display ()
if (boost::dynamic_pointer_cast<Track> (route)) {
boost::shared_ptr<MidiTrack> mt = boost::dynamic_pointer_cast<MidiTrack> (route);
-
+
if (mt) {
(*i)[_columns.is_input_active] = mt->input_active();
}
@@ -1544,77 +1576,78 @@ EditorRoutes::update_input_active_display ()
void
EditorRoutes::update_rec_display ()
{
+ if (g_atomic_int_compare_and_exchange (&_queue_tv_update, 0, 1)) {
+ Glib::signal_idle().connect (sigc::mem_fun (*this, &EditorRoutes::idle_update_mute_rec_solo_etc));
+ }
+}
+
+bool
+EditorRoutes::idle_update_mute_rec_solo_etc()
+{
+ g_atomic_int_set (&_queue_tv_update, 0);
TreeModel::Children rows = _model->children();
TreeModel::Children::iterator i;
for (i = rows.begin(); i != rows.end(); ++i) {
boost::shared_ptr<Route> route = (*i)[_columns.route];
-
- if (boost::dynamic_pointer_cast<Track> (route)) {
- boost::shared_ptr<MidiTrack> mt = boost::dynamic_pointer_cast<MidiTrack> (route);
-
- if (route->record_enabled()) {
- if (_session->record_status() == Session::Recording) {
- (*i)[_columns.rec_state] = 1;
+ (*i)[_columns.mute_state] = RouteUI::mute_active_state (_session, route);
+ (*i)[_columns.solo_state] = RouteUI::solo_active_state (route);
+ (*i)[_columns.solo_isolate_state] = RouteUI::solo_isolate_active_state (route) ? 1 : 0;
+ (*i)[_columns.solo_safe_state] = RouteUI::solo_safe_active_state (route) ? 1 : 0;
+ (*i)[_columns.active] = route->active ();
+ {
+ if (boost::dynamic_pointer_cast<Track> (route)) {
+ boost::shared_ptr<MidiTrack> mt = boost::dynamic_pointer_cast<MidiTrack> (route);
+
+ if (route->record_enabled()) {
+ if (_session->record_status() == Session::Recording) {
+ (*i)[_columns.rec_state] = 1;
+ } else {
+ (*i)[_columns.rec_state] = 2;
+ }
+ } else if (mt && mt->step_editing()) {
+ (*i)[_columns.rec_state] = 3;
} else {
- (*i)[_columns.rec_state] = 2;
+ (*i)[_columns.rec_state] = 0;
}
- } else if (mt && mt->step_editing()) {
- (*i)[_columns.rec_state] = 3;
- } else {
- (*i)[_columns.rec_state] = 0;
- }
- (*i)[_columns.name_editable] = !route->record_enabled ();
+ (*i)[_columns.name_editable] = !route->record_enabled ();
+ }
}
}
+ return false; // do not call again (until needed)
}
+
void
EditorRoutes::update_mute_display ()
{
- TreeModel::Children rows = _model->children();
- TreeModel::Children::iterator i;
-
- for (i = rows.begin(); i != rows.end(); ++i) {
- boost::shared_ptr<Route> route = (*i)[_columns.route];
- (*i)[_columns.mute_state] = RouteUI::mute_active_state (_session, route);
+ if (g_atomic_int_compare_and_exchange (&_queue_tv_update, 0, 1)) {
+ Glib::signal_idle().connect (sigc::mem_fun (*this, &EditorRoutes::idle_update_mute_rec_solo_etc));
}
}
void
EditorRoutes::update_solo_display (bool /* selfsoloed */)
{
- TreeModel::Children rows = _model->children();
- TreeModel::Children::iterator i;
-
- for (i = rows.begin(); i != rows.end(); ++i) {
- boost::shared_ptr<Route> route = (*i)[_columns.route];
- (*i)[_columns.solo_state] = RouteUI::solo_active_state (route);
+ if (g_atomic_int_compare_and_exchange (&_queue_tv_update, 0, 1)) {
+ Glib::signal_idle().connect (sigc::mem_fun (*this, &EditorRoutes::idle_update_mute_rec_solo_etc));
}
}
void
EditorRoutes::update_solo_isolate_display ()
{
- TreeModel::Children rows = _model->children();
- TreeModel::Children::iterator i;
-
- for (i = rows.begin(); i != rows.end(); ++i) {
- boost::shared_ptr<Route> route = (*i)[_columns.route];
- (*i)[_columns.solo_isolate_state] = RouteUI::solo_isolate_active_state (route) ? 1 : 0;
+ if (g_atomic_int_compare_and_exchange (&_queue_tv_update, 0, 1)) {
+ Glib::signal_idle().connect (sigc::mem_fun (*this, &EditorRoutes::idle_update_mute_rec_solo_etc));
}
}
void
EditorRoutes::update_solo_safe_display ()
{
- TreeModel::Children rows = _model->children();
- TreeModel::Children::iterator i;
-
- for (i = rows.begin(); i != rows.end(); ++i) {
- boost::shared_ptr<Route> route = (*i)[_columns.route];
- (*i)[_columns.solo_safe_state] = RouteUI::solo_safe_active_state (route) ? 1 : 0;
+ if (g_atomic_int_compare_and_exchange (&_queue_tv_update, 0, 1)) {
+ Glib::signal_idle().connect (sigc::mem_fun (*this, &EditorRoutes::idle_update_mute_rec_solo_etc));
}
}
@@ -1640,21 +1673,21 @@ EditorRoutes::clear ()
void
EditorRoutes::name_edit_started (CellEditable* ce, const Glib::ustring&)
{
- name_editable = ce;
+ name_editable = ce;
- /* give it a special name */
+ /* give it a special name */
- Gtk::Entry *e = dynamic_cast<Gtk::Entry*> (ce);
+ Gtk::Entry *e = dynamic_cast<Gtk::Entry*> (ce);
- if (e) {
- e->set_name (X_("RouteNameEditorEntry"));
- }
+ if (e) {
+ e->set_name (X_("RouteNameEditorEntry"));
+ }
}
void
EditorRoutes::name_edit (std::string const & path, std::string const & new_text)
{
- name_editable = 0;
+ name_editable = 0;
TreeIter iter = _model->get_iter (path);
@@ -1688,14 +1721,11 @@ EditorRoutes::show_tracks_with_regions_at_playhead ()
}
}
- suspend_redisplay ();
+ DisplaySuspender ds;
TreeModel::Children rows = _model->children ();
for (TreeModel::Children::iterator i = rows.begin(); i != rows.end(); ++i) {
TimeAxisView* tv = (*i)[_columns.tv];
(*i)[_columns.visible] = (show.find (tv) != show.end());
}
-
- resume_redisplay ();
}
-
diff --git a/gtk2_ardour/editor_routes.h b/gtk2_ardour/editor_routes.h
index e07a7787aa..8213e653ec 100644
--- a/gtk2_ardour/editor_routes.h
+++ b/gtk2_ardour/editor_routes.h
@@ -42,10 +42,6 @@ public:
_no_redisplay = true;
}
- void allow_redisplay () {
- _no_redisplay = false;
- }
-
void resume_redisplay () {
_no_redisplay = false;
redisplay ();
@@ -59,11 +55,12 @@ public:
std::list<TimeAxisView*> views () const;
void hide_all_tracks (bool);
void clear ();
- void sync_order_keys_from_treeview ();
- void reset_remote_control_ids ();
+ void sync_order_keys_from_treeview ();
+ void reset_remote_control_ids ();
private:
void initial_display ();
+ void redisplay_real ();
void on_input_active_changed (std::string const &);
void on_tv_rec_enable_changed (std::string const &);
void on_tv_mute_enable_toggled (std::string const &);
@@ -72,14 +69,15 @@ private:
void on_tv_solo_safe_toggled (std::string const &);
void build_menu ();
void show_menu ();
- void sync_treeview_from_order_keys ();
- void route_deleted (Gtk::TreeModel::Path const &);
+ void sync_treeview_from_order_keys ();
+ void row_deleted (Gtk::TreeModel::Path const &);
void visible_changed (std::string const &);
void active_changed (std::string const &);
void reordered (Gtk::TreeModel::Path const &, Gtk::TreeModel::iterator const &, int *);
bool button_press (GdkEventButton *);
void route_property_changed (const PBD::PropertyChange&, boost::weak_ptr<ARDOUR::Route>);
void handle_gui_changes (std::string const &, void *);
+ bool idle_update_mute_rec_solo_etc ();
void update_rec_display ();
void update_mute_display ();
void update_solo_display (bool);
@@ -98,6 +96,7 @@ private:
void show_all_miditracks ();
void hide_all_miditracks ();
void show_tracks_with_regions_at_playhead ();
+ void selection_changed ();
void display_drag_data_received (
Glib::RefPtr<Gdk::DragContext> const &, gint, gint, Gtk::SelectionData const &, guint, guint
@@ -154,21 +153,24 @@ private:
bool _ignore_reorder;
bool _no_redisplay;
- bool _adding_routes;
+ bool _adding_routes;
+ bool _route_deletion_in_progress;
+ volatile gint _redisplay_active;
+ volatile gint _queue_tv_update;
Gtk::Menu* _menu;
- Gtk::Widget* old_focus;
- uint32_t selection_countdown;
- Gtk::CellEditable* name_editable;
-
- bool key_press (GdkEventKey* ev);
- bool focus_in (GdkEventFocus*);
- bool focus_out (GdkEventFocus*);
- bool enter_notify (GdkEventCrossing*);
- bool leave_notify (GdkEventCrossing*);
- void name_edit_started (Gtk::CellEditable*, const Glib::ustring&);
-
- bool get_relevant_routes (boost::shared_ptr<ARDOUR::RouteList> rl);
+ Gtk::Widget* old_focus;
+ uint32_t selection_countdown;
+ Gtk::CellEditable* name_editable;
+
+ bool key_press (GdkEventKey* ev);
+ bool focus_in (GdkEventFocus*);
+ bool focus_out (GdkEventFocus*);
+ bool enter_notify (GdkEventCrossing*);
+ bool leave_notify (GdkEventCrossing*);
+ void name_edit_started (Gtk::CellEditable*, const Glib::ustring&);
+
+ bool get_relevant_routes (boost::shared_ptr<ARDOUR::RouteList> rl);
};
#endif /* __ardour_gtk_editor_route_h__ */
diff --git a/gtk2_ardour/editor_rulers.cc b/gtk2_ardour/editor_rulers.cc
index ee83d18647..5dc93cde99 100644
--- a/gtk2_ardour/editor_rulers.cc
+++ b/gtk2_ardour/editor_rulers.cc
@@ -29,17 +29,25 @@
#include <gtk/gtkaction.h>
+#include "canvas/container.h"
+#include "canvas/canvas.h"
+#include "canvas/ruler.h"
+#include "canvas/debug.h"
+#include "canvas/scroll_group.h"
+
#include "ardour/session.h"
#include "ardour/tempo.h"
#include "ardour/profile.h"
#include "gtkmm2ext/gtk_ui.h"
+#include "gtkmm2ext/keyboard.h"
+#include "ardour_ui.h"
#include "editor.h"
#include "editing.h"
#include "actions.h"
-#include "gtk-custom-hruler.h"
#include "gui_thread.h"
+#include "ruler_dialog.h"
#include "time_axis_view.h"
#include "editor_drag.h"
#include "editor_cursors.h"
@@ -51,275 +59,143 @@ using namespace PBD;
using namespace Gtk;
using namespace Editing;
-Editor *Editor::ruler_editor;
-
/* the order here must match the "metric" enums in editor.h */
-GtkCustomMetric Editor::ruler_metrics[4] = {
- {1, Editor::_metric_get_timecode },
- {1, Editor::_metric_get_bbt },
- {1, Editor::_metric_get_samples },
- {1, Editor::_metric_get_minsec }
-};
-
-void
-Editor::initialize_rulers ()
+class TimecodeMetric : public ArdourCanvas::Ruler::Metric
{
- ruler_editor = this;
- ruler_grabbed_widget = 0;
-
- _ruler_separator = new Gtk::HSeparator();
- _ruler_separator->set_size_request(-1, 2);
- _ruler_separator->set_name("TimebarPadding");
- _ruler_separator->show();
-
- _minsec_ruler = gtk_custom_hruler_new ();
- minsec_ruler = Glib::wrap (_minsec_ruler);
- minsec_ruler->set_name ("MinSecRuler");
- minsec_ruler->set_size_request (-1, (int)timebar_height);
- gtk_custom_ruler_set_metric (GTK_CUSTOM_RULER(_minsec_ruler), &ruler_metrics[ruler_metric_minsec]);
- minsec_ruler->hide ();
- minsec_ruler->set_no_show_all();
-
- _timecode_ruler = gtk_custom_hruler_new ();
- timecode_ruler = Glib::wrap (_timecode_ruler);
- timecode_ruler->set_name ("TimecodeRuler");
- timecode_ruler->set_size_request (-1, (int)timebar_height);
- gtk_custom_ruler_set_metric (GTK_CUSTOM_RULER(_timecode_ruler), &ruler_metrics[ruler_metric_timecode]);
- timecode_ruler->hide ();
- timecode_ruler->set_no_show_all();
- timecode_nmarks = 0;
-
- _bbt_ruler = gtk_custom_hruler_new ();
- bbt_ruler = Glib::wrap (_bbt_ruler);
- bbt_ruler->set_name ("BBTRuler");
- bbt_ruler->set_size_request (-1, (int)timebar_height);
- gtk_custom_ruler_set_metric (GTK_CUSTOM_RULER(_bbt_ruler), &ruler_metrics[ruler_metric_bbt]);
- bbt_ruler->hide ();
- bbt_ruler->set_no_show_all();
- bbt_nmarks = 0;
-
- _samples_ruler = gtk_custom_hruler_new ();
- samples_ruler = Glib::wrap (_samples_ruler);
- samples_ruler->set_name ("SamplesRuler");
- samples_ruler->set_size_request (-1, (int) timebar_height);
- gtk_custom_ruler_set_metric (GTK_CUSTOM_RULER (_samples_ruler), &ruler_metrics[ruler_metric_samples]);
- samples_ruler->hide ();
- samples_ruler->set_no_show_all ();
-
- _bbt_ruler = gtk_custom_hruler_new ();
- bbt_ruler = Glib::wrap (_bbt_ruler);
- bbt_ruler->set_name ("BBTRuler");
- bbt_ruler->set_size_request (-1, (int)timebar_height);
- gtk_custom_ruler_set_metric (GTK_CUSTOM_RULER(_bbt_ruler), &ruler_metrics[ruler_metric_bbt]);
- bbt_ruler->hide ();
- bbt_ruler->set_no_show_all();
- minsec_ruler->hide ();
- minsec_ruler->set_no_show_all();
- minsec_nmarks = 0;
-
- using namespace Box_Helpers;
- BoxList & ruler_lab_children = ruler_label_vbox.children();
- BoxList & ruler_children = time_canvas_vbox.children();
- BoxList & lab_children = time_button_vbox.children();
-
- BoxList::iterator canvaspos = ruler_children.begin();
+ public:
+ TimecodeMetric (Editor* e) : _editor (e) {}
- lab_children.push_back (Element(meter_label, PACK_SHRINK, PACK_START));
- lab_children.push_back (Element(tempo_label, PACK_SHRINK, PACK_START));
- lab_children.push_back (Element(range_mark_label, PACK_SHRINK, PACK_START));
- lab_children.push_back (Element(transport_mark_label, PACK_SHRINK, PACK_START));
- lab_children.push_back (Element(cd_mark_label, PACK_SHRINK, PACK_START));
- lab_children.push_back (Element(mark_label, PACK_SHRINK, PACK_START));
- lab_children.push_back (Element(videotl_label, PACK_SHRINK, PACK_START));
-
- ruler_lab_children.push_back (Element(minsec_label, PACK_SHRINK, PACK_START));
- ruler_children.insert (canvaspos, Element(*minsec_ruler, PACK_SHRINK, PACK_START));
- ruler_lab_children.push_back (Element(timecode_label, PACK_SHRINK, PACK_START));
- ruler_children.insert (canvaspos, Element(*timecode_ruler, PACK_SHRINK, PACK_START));
- ruler_lab_children.push_back (Element(samples_label, PACK_SHRINK, PACK_START));
- ruler_children.insert (canvaspos, Element (*samples_ruler, PACK_SHRINK, PACK_START));
- ruler_lab_children.push_back (Element(bbt_label, PACK_SHRINK, PACK_START));
- ruler_children.insert (canvaspos, Element(*bbt_ruler, PACK_SHRINK, PACK_START));
-
- timecode_ruler->add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::SCROLL_MASK);
- bbt_ruler->add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::SCROLL_MASK);
- samples_ruler->add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::SCROLL_MASK);
- minsec_ruler->add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::SCROLL_MASK);
-
- timecode_ruler->signal_button_release_event().connect (sigc::mem_fun(*this, &Editor::ruler_button_release));
- bbt_ruler->signal_button_release_event().connect (sigc::mem_fun(*this, &Editor::ruler_button_release));
- samples_ruler->signal_button_release_event().connect (sigc::mem_fun(*this, &Editor::ruler_button_release));
- minsec_ruler->signal_button_release_event().connect (sigc::mem_fun(*this, &Editor::ruler_button_release));
-
- timecode_ruler->signal_button_press_event().connect (sigc::mem_fun(*this, &Editor::ruler_button_press));
- bbt_ruler->signal_button_press_event().connect (sigc::mem_fun(*this, &Editor::ruler_button_press));
- samples_ruler->signal_button_press_event().connect (sigc::mem_fun(*this, &Editor::ruler_button_press));
- minsec_ruler->signal_button_press_event().connect (sigc::mem_fun(*this, &Editor::ruler_button_press));
-
- timecode_ruler->signal_motion_notify_event().connect (sigc::mem_fun(*this, &Editor::ruler_mouse_motion));
- bbt_ruler->signal_motion_notify_event().connect (sigc::mem_fun(*this, &Editor::ruler_mouse_motion));
- samples_ruler->signal_motion_notify_event().connect (sigc::mem_fun(*this, &Editor::ruler_mouse_motion));
- minsec_ruler->signal_motion_notify_event().connect (sigc::mem_fun(*this, &Editor::ruler_mouse_motion));
-
- timecode_ruler->signal_scroll_event().connect (sigc::mem_fun(*this, &Editor::ruler_scroll));
- bbt_ruler->signal_scroll_event().connect (sigc::mem_fun(*this, &Editor::ruler_scroll));
- samples_ruler->signal_scroll_event().connect (sigc::mem_fun(*this, &Editor::ruler_scroll));
- minsec_ruler->signal_scroll_event().connect (sigc::mem_fun(*this, &Editor::ruler_scroll));
+ void get_marks (std::vector<ArdourCanvas::Ruler::Mark>& marks, double lower, double upper, int maxchars) const {
+ _editor->metric_get_timecode (marks, lower, upper, maxchars);
+ }
- visible_timebars = 0; /*this will be changed below */
- canvas_timebars_vsize = 0;
-}
+ private:
+ Editor* _editor;
+};
-bool
-Editor::ruler_scroll (GdkEventScroll* event)
+class SamplesMetric : public ArdourCanvas::Ruler::Metric
{
- framepos_t xdelta;
- int direction = event->direction;
- bool handled = false;
-
- switch (direction) {
- case GDK_SCROLL_UP:
- temporal_zoom_step (false);
- handled = true;
- break;
+ public:
+ SamplesMetric (Editor* e) : _editor (e) {}
- case GDK_SCROLL_DOWN:
- temporal_zoom_step (true);
- handled = true;
- break;
-
- case GDK_SCROLL_LEFT:
- xdelta = (current_page_frames() / 2);
- if (leftmost_frame > xdelta) {
- reset_x_origin (leftmost_frame - xdelta);
- } else {
- reset_x_origin (0);
- }
- handled = true;
- break;
-
- case GDK_SCROLL_RIGHT:
- xdelta = (current_page_frames() / 2);
- if (max_framepos - xdelta > leftmost_frame) {
- reset_x_origin (leftmost_frame + xdelta);
- } else {
- reset_x_origin (max_framepos - current_page_frames());
- }
- handled = true;
- break;
-
- default:
- /* what? */
- break;
+ void get_marks (std::vector<ArdourCanvas::Ruler::Mark>& marks, double lower, double upper, int maxchars) const {
+ _editor->metric_get_samples (marks, lower, upper, maxchars);
}
- return handled;
-}
-
+ private:
+ Editor* _editor;
+};
-bool
-Editor::ruler_button_press (GdkEventButton* ev)
+class BBTMetric : public ArdourCanvas::Ruler::Metric
{
- if (_session == 0) {
- return false;
- }
+ public:
+ BBTMetric (Editor* e) : _editor (e) {}
- Widget * grab_widget = 0;
-
- if (timecode_ruler->is_realized() && ev->window == timecode_ruler->get_window()->gobj()) {
- grab_widget = timecode_ruler;
- } else if (bbt_ruler->is_realized() && ev->window == bbt_ruler->get_window()->gobj()) {
- grab_widget = bbt_ruler;
- } else if (samples_ruler->is_realized() && ev->window == samples_ruler->get_window()->gobj()) {
- grab_widget = samples_ruler;
- } else if (minsec_ruler->is_realized() && ev->window == minsec_ruler->get_window()->gobj()) {
- grab_widget = minsec_ruler;
+ void get_marks (std::vector<ArdourCanvas::Ruler::Mark>& marks, double lower, double upper, int maxchars) const {
+ _editor->metric_get_bbt (marks, lower, upper, maxchars);
}
- if (grab_widget) {
- grab_widget->add_modal_grab ();
- ruler_grabbed_widget = grab_widget;
- }
+ private:
+ Editor* _editor;
+};
- if (ev->button == 1) {
- // Since we will locate the playhead on button release, cancel any running
- // auditions.
- if (_session->is_auditioning()) {
- _session->cancel_audition ();
- }
+class MinsecMetric : public ArdourCanvas::Ruler::Metric
+{
+ public:
+ MinsecMetric (Editor* e) : _editor (e) {}
- /* playhead cursor */
- _drags->set (new CursorDrag (this, &playhead_cursor->canvas_item, false), reinterpret_cast<GdkEvent *> (ev));
- _dragging_playhead = true;
+ void get_marks (std::vector<ArdourCanvas::Ruler::Mark>& marks, double lower, double upper, int maxchars) const {
+ _editor->metric_get_minsec (marks, lower, upper, maxchars);
}
- return true;
-}
+ private:
+ Editor* _editor;
+};
-bool
-Editor::ruler_button_release (GdkEventButton* ev)
+static ArdourCanvas::Ruler::Metric* _bbt_metric;
+static ArdourCanvas::Ruler::Metric* _timecode_metric;
+static ArdourCanvas::Ruler::Metric* _samples_metric;
+static ArdourCanvas::Ruler::Metric* _minsec_metric;
+
+void
+Editor::initialize_rulers ()
{
- if (_session == 0) {
- return false;
- }
+ ruler_grabbed_widget = 0;
+ /* Not really sure why we can't get this right in a cross-platform way,
+ but it seems hard.
+ */
+#ifdef __APPLE__
+ Pango::FontDescription font (ARDOUR_UI::config()->get_canvasvar_SmallerFont());
+#else
+ Pango::FontDescription font (ARDOUR_UI::config()->get_canvasvar_SmallFont());
+#endif
+ _timecode_metric = new TimecodeMetric (this);
+ _bbt_metric = new BBTMetric (this);
+ _minsec_metric = new MinsecMetric (this);
+ _samples_metric = new SamplesMetric (this);
+
+ timecode_ruler = new ArdourCanvas::Ruler (_time_markers_group, *_timecode_metric,
+ ArdourCanvas::Rect (0, 0, ArdourCanvas::COORD_MAX, timebar_height));
+ timecode_ruler->set_font_description (font);
+ CANVAS_DEBUG_NAME (timecode_ruler, "timecode ruler");
+ timecode_nmarks = 0;
- gint x,y;
- Gdk::ModifierType state;
+ samples_ruler = new ArdourCanvas::Ruler (_time_markers_group, *_samples_metric,
+ ArdourCanvas::Rect (0, 0, ArdourCanvas::COORD_MAX, timebar_height));
+ samples_ruler->set_font_description (font);
+ CANVAS_DEBUG_NAME (samples_ruler, "samples ruler");
- if (_drags->active ()) {
- _drags->end_grab (reinterpret_cast<GdkEvent*> (ev));
- _dragging_playhead = false;
- }
+ minsec_ruler = new ArdourCanvas::Ruler (_time_markers_group, *_minsec_metric,
+ ArdourCanvas::Rect (0, 0, ArdourCanvas::COORD_MAX, timebar_height));
+ minsec_ruler->set_font_description (font);
+ CANVAS_DEBUG_NAME (minsec_ruler, "minsec ruler");
+ minsec_nmarks = 0;
- if (ev->button == 3) {
- /* need to use the correct x,y, the event lies */
- time_canvas_event_box.get_window()->get_pointer (x, y, state);
+ bbt_ruler = new ArdourCanvas::Ruler (_time_markers_group, *_bbt_metric,
+ ArdourCanvas::Rect (0, 0, ArdourCanvas::COORD_MAX, timebar_height));
+ bbt_ruler->set_font_description (font);
+ CANVAS_DEBUG_NAME (bbt_ruler, "bbt ruler");
+ timecode_nmarks = 0;
- stop_canvas_autoscroll();
+ using namespace Box_Helpers;
+ BoxList & lab_children = time_bars_vbox.children();
- framepos_t where = leftmost_frame + pixel_to_frame (x);
- snap_to (where);
- popup_ruler_menu (where);
- }
+ lab_children.push_back (Element(minsec_label, PACK_SHRINK, PACK_START));
+ lab_children.push_back (Element(timecode_label, PACK_SHRINK, PACK_START));
+ lab_children.push_back (Element(samples_label, PACK_SHRINK, PACK_START));
+ lab_children.push_back (Element(bbt_label, PACK_SHRINK, PACK_START));
+ lab_children.push_back (Element(meter_label, PACK_SHRINK, PACK_START));
+ lab_children.push_back (Element(tempo_label, PACK_SHRINK, PACK_START));
+ lab_children.push_back (Element(range_mark_label, PACK_SHRINK, PACK_START));
+ lab_children.push_back (Element(transport_mark_label, PACK_SHRINK, PACK_START));
+ lab_children.push_back (Element(cd_mark_label, PACK_SHRINK, PACK_START));
+ lab_children.push_back (Element(mark_label, PACK_SHRINK, PACK_START));
+ lab_children.push_back (Element(videotl_label, PACK_SHRINK, PACK_START));
- if (ruler_grabbed_widget) {
- ruler_grabbed_widget->remove_modal_grab();
- ruler_grabbed_widget = 0;
- }
+ /* 1 event handler to bind them all ... */
- return true;
+ timecode_ruler->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_ruler_event), timecode_ruler, TimecodeRulerItem));
+ minsec_ruler->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_ruler_event), minsec_ruler, MinsecRulerItem));
+ bbt_ruler->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_ruler_event), bbt_ruler, BBTRulerItem));
+ samples_ruler->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_ruler_event), samples_ruler, SamplesRulerItem));
+
+ visible_timebars = 0; /*this will be changed below */
}
bool
Editor::ruler_label_button_release (GdkEventButton* ev)
{
- if (ev->button == 3) {
- Gtk::Menu* m = dynamic_cast<Gtk::Menu*> (ActionManager::get_widget (X_("/RulerMenuPopup")));
- if (m) {
- m->popup (1, ev->time);
+ if (Gtkmm2ext::Keyboard::is_context_menu_event (ev)) {
+ if (!ruler_dialog) {
+ ruler_dialog = new RulerDialog ();
}
+ ruler_dialog->present ();
}
return true;
}
-
-bool
-Editor::ruler_mouse_motion (GdkEventMotion* ev)
-{
- if (_session == 0) {
- return false;
- }
-
- if (_drags->active ()) {
- _drags->motion_handler (reinterpret_cast<GdkEvent*> (ev), false);
- }
-
- return true;
-}
-
-
void
Editor::popup_ruler_menu (framepos_t where, ItemType t)
{
@@ -361,23 +237,21 @@ Editor::popup_ruler_menu (framepos_t where, ItemType t)
case TempoBarItem:
ruler_items.push_back (MenuElem (_("New Tempo"), sigc::bind ( sigc::mem_fun(*this, &Editor::mouse_add_new_tempo_event), where)));
- ruler_items.push_back (SeparatorElem ());
break;
case MeterBarItem:
ruler_items.push_back (MenuElem (_("New Meter"), sigc::bind ( sigc::mem_fun(*this, &Editor::mouse_add_new_meter_event), where)));
- ruler_items.push_back (SeparatorElem ());
break;
case VideoBarItem:
ruler_items.push_back (MenuElem (_("Timeline height")));
static_cast<MenuItem*>(&ruler_items.back())->set_sensitive(false);
ruler_items.push_back (CheckMenuElem (_("Large"), sigc::bind ( sigc::mem_fun(*this, &Editor::set_video_timeline_height), 6)));
- if (videotl_bar_height == 6) { static_cast<CheckMenuItem*>(&ruler_items.back())->set_active(true);}
+ if (videotl_bar_height == 6) { static_cast<Gtk::CheckMenuItem*>(&ruler_items.back())->set_active(true);}
ruler_items.push_back (CheckMenuElem (_("Normal"), sigc::bind ( sigc::mem_fun(*this, &Editor::set_video_timeline_height), 4)));
- if (videotl_bar_height == 4) { static_cast<CheckMenuItem*>(&ruler_items.back())->set_active(true);}
+ if (videotl_bar_height == 4) { static_cast<Gtk::CheckMenuItem*>(&ruler_items.back())->set_active(true);}
ruler_items.push_back (CheckMenuElem (_("Small"), sigc::bind ( sigc::mem_fun(*this, &Editor::set_video_timeline_height), 3)));
- if (videotl_bar_height == 3) { static_cast<CheckMenuItem*>(&ruler_items.back())->set_active(true);}
+ if (videotl_bar_height == 3) { static_cast<Gtk::CheckMenuItem*>(&ruler_items.back())->set_active(true);}
ruler_items.push_back (SeparatorElem ());
ruler_items.push_back (MenuElem (_("Align Video Track")));
@@ -385,70 +259,19 @@ Editor::popup_ruler_menu (framepos_t where, ItemType t)
ruler_items.push_back (CheckMenuElem (_("Lock")));
{
- CheckMenuItem* vtl_lock = static_cast<CheckMenuItem*>(&ruler_items.back());
- vtl_lock->set_active(is_video_timeline_locked());
- vtl_lock->signal_activate().connect (sigc::mem_fun(*this, &Editor::toggle_video_timeline_locked));
+ Gtk::CheckMenuItem* vtl_lock = static_cast<Gtk::CheckMenuItem*>(&ruler_items.back());
+ vtl_lock->set_active(is_video_timeline_locked());
+ vtl_lock->signal_activate().connect (sigc::mem_fun(*this, &Editor::toggle_video_timeline_locked));
}
-
- ruler_items.push_back (SeparatorElem ());
break;
default:
break;
}
- Glib::RefPtr<Action> action;
-
- action = ActionManager::get_action ("Rulers", "toggle-minsec-ruler");
- if (action) {
- ruler_items.push_back (MenuElem (*action->create_menu_item()));
+ if (!ruler_items.empty()) {
+ editor_ruler_menu->popup (1, gtk_get_current_event_time());
}
- if (!Profile->get_sae()) {
- action = ActionManager::get_action ("Rulers", "toggle-timecode-ruler");
- if (action) {
- ruler_items.push_back (MenuElem (*action->create_menu_item()));
- }
- }
- action = ActionManager::get_action ("Rulers", "toggle-samples-ruler");
- if (action) {
- ruler_items.push_back (MenuElem (*action->create_menu_item()));
- }
- action = ActionManager::get_action ("Rulers", "toggle-bbt-ruler");
- if (action) {
- ruler_items.push_back (MenuElem (*action->create_menu_item()));
- }
- action = ActionManager::get_action ("Rulers", "toggle-meter-ruler");
- if (action) {
- ruler_items.push_back (MenuElem (*action->create_menu_item()));
- }
- action = ActionManager::get_action ("Rulers", "toggle-tempo-ruler");
- if (action) {
- ruler_items.push_back (MenuElem (*action->create_menu_item()));
- }
- if (!Profile->get_sae()) {
- action = ActionManager::get_action ("Rulers", "toggle-range-ruler");
- if (action) {
- ruler_items.push_back (MenuElem (*action->create_menu_item()));
- }
- }
- action = ActionManager::get_action ("Rulers", "toggle-loop-punch-ruler");
- if (action) {
- ruler_items.push_back (MenuElem (*action->create_menu_item()));
- }
- action = ActionManager::get_action ("Rulers", "toggle-cd-marker-ruler");
- if (action) {
- ruler_items.push_back (MenuElem (*action->create_menu_item()));
- }
- action = ActionManager::get_action ("Rulers", "toggle-marker-ruler");
- if (action) {
- ruler_items.push_back (MenuElem (*action->create_menu_item()));
- }
- action = ActionManager::get_action ("Rulers", "toggle-video-ruler");
- if (action) {
- ruler_items.push_back (MenuElem (*action->create_menu_item()));
- }
-
- editor_ruler_menu->popup (1, gtk_get_current_event_time());
no_ruler_shown_update = false;
}
@@ -586,116 +409,129 @@ Editor::restore_ruler_visibility ()
void
Editor::update_ruler_visibility ()
{
- int visible_rulers = 0;
+ int visible_timebars = 0;
if (no_ruler_shown_update) {
return;
}
- visible_timebars = 0;
+ /* the order of the timebars is fixed, so we have to go through each one
+ * and adjust its position depending on what is shown.
+ *
+ * Order: minsec, timecode, samples, bbt, meter, tempo, ranges,
+ * loop/punch, cd markers, location markers
+ */
+
+ double tbpos = 0.0;
+ double tbgpos = 0.0;
+ double old_unit_pos;
+
+#ifdef GTKOSX
+ /* gtk update probs require this (damn) */
+ meter_label.hide();
+ tempo_label.hide();
+ range_mark_label.hide();
+ transport_mark_label.hide();
+ cd_mark_label.hide();
+ mark_label.hide();
+ videotl_label.hide();
+#endif
if (ruler_minsec_action->get_active()) {
- visible_rulers++;
- minsec_label.show ();
- minsec_ruler->show ();
+ old_unit_pos = minsec_ruler->position().y;
+ if (tbpos != old_unit_pos) {
+ minsec_ruler->move (ArdourCanvas::Duple (0.0, tbpos - old_unit_pos));
+ }
+ minsec_ruler->show();
+ minsec_label.show();
+ tbpos += timebar_height;
+ tbgpos += timebar_height;
+ visible_timebars++;
} else {
- minsec_label.hide ();
- minsec_ruler->hide ();
+ minsec_ruler->hide();
+ minsec_label.hide();
}
if (ruler_timecode_action->get_active()) {
- visible_rulers++;
- timecode_label.show ();
- timecode_ruler->show ();
+ old_unit_pos = timecode_ruler->position().y;
+ if (tbpos != old_unit_pos) {
+ timecode_ruler->move (ArdourCanvas::Duple (0.0, tbpos - old_unit_pos));
+ }
+ timecode_ruler->show();
+ timecode_label.show();
+ tbpos += timebar_height;
+ tbgpos += timebar_height;
+ visible_timebars++;
} else {
- timecode_label.hide ();
- timecode_ruler->hide ();
+ timecode_ruler->hide();
+ timecode_label.hide();
}
if (ruler_samples_action->get_active()) {
- visible_rulers++;
- samples_label.show ();
- samples_ruler->show ();
+ old_unit_pos = samples_ruler->position().y;
+ if (tbpos != old_unit_pos) {
+ samples_ruler->move (ArdourCanvas::Duple (0.0, tbpos - old_unit_pos));
+ }
+ samples_ruler->show();
+ samples_label.show();
+ tbpos += timebar_height;
+ tbgpos += timebar_height;
+ visible_timebars++;
} else {
- samples_label.hide ();
- samples_ruler->hide ();
+ samples_ruler->hide();
+ samples_label.hide();
}
if (ruler_bbt_action->get_active()) {
- visible_rulers++;
- bbt_label.show ();
- bbt_ruler->show ();
+ old_unit_pos = bbt_ruler->position().y;
+ if (tbpos != old_unit_pos) {
+ bbt_ruler->move (ArdourCanvas::Duple (0.0, tbpos - old_unit_pos));
+ }
+ bbt_ruler->show();
+ bbt_label.show();
+ tbpos += timebar_height;
+ tbgpos += timebar_height;
+ visible_timebars++;
} else {
- bbt_label.hide ();
- bbt_ruler->hide ();
+ bbt_ruler->hide();
+ bbt_label.hide();
}
- double tbpos = 0.0;
- double tbgpos = 0.0;
- double old_unit_pos;
-
-#ifdef GTKOSX
- /* gtk update probs require this (damn) */
- meter_label.hide();
- tempo_label.hide();
- range_mark_label.hide();
- transport_mark_label.hide();
- cd_mark_label.hide();
- mark_label.hide();
- videotl_label.hide();
-#endif
if (ruler_meter_action->get_active()) {
- old_unit_pos = meter_group->property_y();
+ old_unit_pos = meter_group->position().y;
if (tbpos != old_unit_pos) {
- meter_group->move ( 0.0, tbpos - old_unit_pos);
- }
- old_unit_pos = meter_bar_group->property_y();
- if (tbgpos != old_unit_pos) {
- meter_bar_group->move ( 0.0, tbgpos - old_unit_pos);
+ meter_group->move (ArdourCanvas::Duple (0.0, tbpos - old_unit_pos));
}
- meter_bar_group->show();
meter_group->show();
meter_label.show();
tbpos += timebar_height;
tbgpos += timebar_height;
visible_timebars++;
} else {
- meter_bar_group->hide();
meter_group->hide();
meter_label.hide();
}
if (ruler_tempo_action->get_active()) {
- old_unit_pos = tempo_group->property_y();
+ old_unit_pos = tempo_group->position().y;
if (tbpos != old_unit_pos) {
- tempo_group->move(0.0, tbpos - old_unit_pos);
- }
- old_unit_pos = tempo_bar_group->property_y();
- if (tbgpos != old_unit_pos) {
- tempo_bar_group->move ( 0.0, tbgpos - old_unit_pos);
+ tempo_group->move (ArdourCanvas::Duple (0.0, tbpos - old_unit_pos));
}
- tempo_bar_group->show();
tempo_group->show();
tempo_label.show();
tbpos += timebar_height;
tbgpos += timebar_height;
visible_timebars++;
} else {
- tempo_bar_group->hide();
tempo_group->hide();
tempo_label.hide();
}
if (!Profile->get_sae() && ruler_range_action->get_active()) {
- old_unit_pos = range_marker_group->property_y();
+ old_unit_pos = range_marker_group->position().y;
if (tbpos != old_unit_pos) {
- range_marker_group->move (0.0, tbpos - old_unit_pos);
+ range_marker_group->move (ArdourCanvas::Duple (0.0, tbpos - old_unit_pos));
}
- old_unit_pos = range_marker_bar_group->property_y();
- if (tbgpos != old_unit_pos) {
- range_marker_bar_group->move (0.0, tbgpos - old_unit_pos);
- }
- range_marker_bar_group->show();
range_marker_group->show();
range_mark_label.show();
@@ -703,42 +539,30 @@ Editor::update_ruler_visibility ()
tbgpos += timebar_height;
visible_timebars++;
} else {
- range_marker_bar_group->hide();
range_marker_group->hide();
range_mark_label.hide();
}
if (ruler_loop_punch_action->get_active()) {
- old_unit_pos = transport_marker_group->property_y();
+ old_unit_pos = transport_marker_group->position().y;
if (tbpos != old_unit_pos) {
- transport_marker_group->move ( 0.0, tbpos - old_unit_pos);
- }
- old_unit_pos = transport_marker_bar_group->property_y();
- if (tbgpos != old_unit_pos) {
- transport_marker_bar_group->move ( 0.0, tbgpos - old_unit_pos);
+ transport_marker_group->move (ArdourCanvas::Duple (0.0, tbpos - old_unit_pos));
}
- transport_marker_bar_group->show();
transport_marker_group->show();
transport_mark_label.show();
tbpos += timebar_height;
tbgpos += timebar_height;
visible_timebars++;
} else {
- transport_marker_bar_group->hide();
transport_marker_group->hide();
transport_mark_label.hide();
}
if (ruler_cd_marker_action->get_active()) {
- old_unit_pos = cd_marker_group->property_y();
+ old_unit_pos = cd_marker_group->position().y;
if (tbpos != old_unit_pos) {
- cd_marker_group->move (0.0, tbpos - old_unit_pos);
- }
- old_unit_pos = cd_marker_bar_group->property_y();
- if (tbgpos != old_unit_pos) {
- cd_marker_bar_group->move (0.0, tbgpos - old_unit_pos);
+ cd_marker_group->move (ArdourCanvas::Duple (0.0, tbpos - old_unit_pos));
}
- cd_marker_bar_group->show();
cd_marker_group->show();
cd_mark_label.show();
tbpos += timebar_height;
@@ -747,7 +571,6 @@ Editor::update_ruler_visibility ()
// make sure all cd markers show up in their respective places
update_cd_marker_display();
} else {
- cd_marker_bar_group->hide();
cd_marker_group->hide();
cd_mark_label.hide();
// make sure all cd markers show up in their respective places
@@ -755,74 +578,43 @@ Editor::update_ruler_visibility ()
}
if (ruler_marker_action->get_active()) {
- old_unit_pos = marker_group->property_y();
+ old_unit_pos = marker_group->position().y;
if (tbpos != old_unit_pos) {
- marker_group->move ( 0.0, tbpos - old_unit_pos);
+ marker_group->move (ArdourCanvas::Duple (0.0, tbpos - old_unit_pos));
}
- old_unit_pos = marker_bar_group->property_y();
- if (tbgpos != old_unit_pos) {
- marker_bar_group->move ( 0.0, tbgpos - old_unit_pos);
- }
- marker_bar_group->show();
marker_group->show();
mark_label.show();
tbpos += timebar_height;
tbgpos += timebar_height;
visible_timebars++;
} else {
- marker_bar_group->hide();
marker_group->hide();
mark_label.hide();
}
if (ruler_video_action->get_active()) {
- old_unit_pos = videotl_group->property_y();
+ old_unit_pos = videotl_group->position().y;
if (tbpos != old_unit_pos) {
- videotl_group->move ( 0.0, tbpos - old_unit_pos);
- }
- old_unit_pos = videotl_bar_group->property_y();
- if (tbgpos != old_unit_pos) {
- videotl_bar_group->move ( 0.0, tbgpos - old_unit_pos);
+ videotl_group->move (ArdourCanvas::Duple (0.0, tbpos - old_unit_pos));
}
- videotl_bar_group->show();
videotl_group->show();
videotl_label.show();
tbpos += timebar_height * videotl_bar_height;
tbgpos += timebar_height * videotl_bar_height;
visible_timebars+=videotl_bar_height;
- queue_visual_videotimeline_update();
+ queue_visual_videotimeline_update();
} else {
- videotl_bar_group->hide();
videotl_group->hide();
videotl_label.hide();
- update_video_timeline(true);
+ update_video_timeline(true);
}
- gdouble old_canvas_timebars_vsize = canvas_timebars_vsize;
- canvas_timebars_vsize = (timebar_height * visible_timebars) - 1;
- gdouble vertical_pos_delta = canvas_timebars_vsize - old_canvas_timebars_vsize;
- vertical_adjustment.set_upper(vertical_adjustment.get_upper() + vertical_pos_delta);
- full_canvas_height += vertical_pos_delta;
+ time_bars_vbox.set_size_request (-1, (int)(timebar_height * visible_timebars));
- if (vertical_adjustment.get_value() != 0 && (vertical_adjustment.get_value() + _canvas_height >= full_canvas_height)) {
- /*if we're at the bottom of the canvas, don't move the _trackview_group*/
- vertical_adjustment.set_value (full_canvas_height - _canvas_height + 1);
- } else {
- _trackview_group->property_y () = - get_trackview_group_vertical_offset ();
- _background_group->property_y () = - get_trackview_group_vertical_offset ();
- _trackview_group->move (0, 0);
- _background_group->move (0, 0);
- last_trackview_group_vertical_offset = get_trackview_group_vertical_offset ();
- }
+ /* move hv_scroll_group (trackviews) to the end of the timebars
+ */
- gdouble bottom_track_pos = vertical_adjustment.get_value() + _canvas_height - canvas_timebars_vsize;
- std::pair<TimeAxisView*, int> const p = trackview_by_y_position (bottom_track_pos);
- if (p.first) {
- p.first->clip_to_viewport ();
- }
-
- ruler_label_vbox.set_size_request (-1, (int)(timebar_height * visible_rulers));
- time_canvas_vbox.set_size_request (-1,-1);
+ hv_scroll_group->set_y_position (timebar_height * visible_timebars);
compute_fixed_ruler_scale ();
update_fixed_rulers();
@@ -843,11 +635,10 @@ Editor::update_just_timecode ()
return;
}
- framepos_t rightmost_frame = leftmost_frame + current_page_frames();
+ framepos_t rightmost_frame = leftmost_frame + current_page_samples();
if (ruler_timecode_action->get_active()) {
- gtk_custom_ruler_set_range (GTK_CUSTOM_RULER(_timecode_ruler), leftmost_frame, rightmost_frame,
- leftmost_frame, _session->current_end_frame());
+ timecode_ruler->set_range (leftmost_frame, rightmost_frame);
}
}
@@ -859,15 +650,15 @@ Editor::compute_fixed_ruler_scale ()
}
if (ruler_timecode_action->get_active()) {
- set_timecode_ruler_scale (leftmost_frame, leftmost_frame + current_page_frames());
+ set_timecode_ruler_scale (leftmost_frame, leftmost_frame + current_page_samples());
}
if (ruler_minsec_action->get_active()) {
- set_minsec_ruler_scale (leftmost_frame, leftmost_frame + current_page_frames());
+ set_minsec_ruler_scale (leftmost_frame, leftmost_frame + current_page_samples());
}
if (ruler_samples_action->get_active()) {
- set_samples_ruler_scale (leftmost_frame, leftmost_frame + current_page_frames());
+ set_samples_ruler_scale (leftmost_frame, leftmost_frame + current_page_samples());
}
}
@@ -882,29 +673,26 @@ Editor::update_fixed_rulers ()
compute_fixed_ruler_scale ();
- ruler_metrics[ruler_metric_timecode].units_per_pixel = frames_per_unit;
- ruler_metrics[ruler_metric_samples].units_per_pixel = frames_per_unit;
- ruler_metrics[ruler_metric_minsec].units_per_pixel = frames_per_unit;
+ _timecode_metric->units_per_pixel = samples_per_pixel;
+ _samples_metric->units_per_pixel = samples_per_pixel;
+ _minsec_metric->units_per_pixel = samples_per_pixel;
- rightmost_frame = leftmost_frame + current_page_frames();
+ rightmost_frame = leftmost_frame + current_page_samples();
/* these force a redraw, which in turn will force execution of the metric callbacks
to compute the relevant ticks to display.
*/
if (ruler_timecode_action->get_active()) {
- gtk_custom_ruler_set_range (GTK_CUSTOM_RULER(_timecode_ruler), leftmost_frame, rightmost_frame,
- leftmost_frame, _session->current_end_frame());
+ timecode_ruler->set_range (leftmost_frame, rightmost_frame);
}
if (ruler_samples_action->get_active()) {
- gtk_custom_ruler_set_range (GTK_CUSTOM_RULER (_samples_ruler), leftmost_frame, rightmost_frame,
- leftmost_frame, _session->current_end_frame());
+ samples_ruler->set_range (leftmost_frame, rightmost_frame);
}
if (ruler_minsec_action->get_active()) {
- gtk_custom_ruler_set_range (GTK_CUSTOM_RULER(_minsec_ruler), leftmost_frame, rightmost_frame,
- leftmost_frame, _session->current_end_frame());
+ minsec_ruler->set_range (leftmost_frame, rightmost_frame);
}
}
@@ -916,43 +704,16 @@ Editor::update_tempo_based_rulers (ARDOUR::TempoMap::BBTPointList::const_iterato
return;
}
- compute_bbt_ruler_scale (leftmost_frame, leftmost_frame+current_page_frames(),
+ compute_bbt_ruler_scale (leftmost_frame, leftmost_frame+current_page_samples(),
begin, end);
- ruler_metrics[ruler_metric_bbt].units_per_pixel = frames_per_unit;
+ _bbt_metric->units_per_pixel = samples_per_pixel;
if (ruler_bbt_action->get_active()) {
- gtk_custom_ruler_set_range (GTK_CUSTOM_RULER(_bbt_ruler), leftmost_frame, leftmost_frame+current_page_frames(),
- leftmost_frame, _session->current_end_frame());
+ bbt_ruler->set_range (leftmost_frame, leftmost_frame+current_page_samples());
}
}
-/* Mark generation */
-
-gint
-Editor::_metric_get_timecode (GtkCustomRulerMark **marks, gdouble lower, gdouble upper, gint maxchars)
-{
- return ruler_editor->metric_get_timecode (marks, lower, upper, maxchars);
-}
-
-gint
-Editor::_metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper, gint maxchars)
-{
- return ruler_editor->metric_get_bbt (marks, lower, upper, maxchars);
-}
-
-gint
-Editor::_metric_get_samples (GtkCustomRulerMark **marks, gdouble lower, gdouble upper, gint maxchars)
-{
- return ruler_editor->metric_get_samples (marks, lower, upper, maxchars);
-}
-
-gint
-Editor::_metric_get_minsec (GtkCustomRulerMark **marks, gdouble lower, gdouble upper, gint maxchars)
-{
- return ruler_editor->metric_get_minsec (marks, lower, upper, maxchars);
-}
-
void
Editor::set_timecode_ruler_scale (framepos_t lower, framepos_t upper)
{
@@ -1052,17 +813,18 @@ Editor::set_timecode_ruler_scale (framepos_t lower, framepos_t upper)
}
-gint
-Editor::metric_get_timecode (GtkCustomRulerMark **marks, gdouble lower, gdouble /*upper*/, gint /*maxchars*/)
+void
+Editor::metric_get_timecode (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble lower, gdouble /*upper*/, gint /*maxchars*/)
{
framepos_t pos;
framecnt_t spacer;
Timecode::Time timecode;
gchar buf[16];
gint n;
+ ArdourCanvas::Ruler::Mark mark;
if (_session == 0) {
- return 0;
+ return;
}
if (lower > (spacer = (framecnt_t)(128 * Editor::get_current_zoom ()))) {
@@ -1073,7 +835,6 @@ Editor::metric_get_timecode (GtkCustomRulerMark **marks, gdouble lower, gdouble
pos = (framecnt_t) floor (lower);
- *marks = (GtkCustomRulerMark *) g_malloc (sizeof(GtkCustomRulerMark) * timecode_nmarks);
switch (timecode_ruler_scale) {
case timecode_show_bits:
@@ -1084,19 +845,21 @@ Editor::metric_get_timecode (GtkCustomRulerMark **marks, gdouble lower, gdouble
_session->timecode_to_sample(timecode, pos, true /* use_offset */, true /* use_subframes */ );
if ((timecode.subframes % timecode_mark_modulo) == 0) {
if (timecode.subframes == 0) {
- (*marks)[n].style = GtkCustomRulerMarkMajor;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
snprintf (buf, sizeof(buf), "%s%02u:%02u:%02u:%02u", timecode.negative ? "-" : "", timecode.hours, timecode.minutes, timecode.seconds, timecode.frames);
} else {
- (*marks)[n].style = GtkCustomRulerMarkMinor;
+ mark.style = ArdourCanvas::Ruler::Mark::Minor;
snprintf (buf, sizeof(buf), ".%02u", timecode.subframes);
}
} else {
snprintf (buf, sizeof(buf)," ");
- (*marks)[n].style = GtkCustomRulerMarkMicro;
-
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
+
}
- (*marks)[n].label = g_strdup (buf);
- (*marks)[n].position = pos;
+ mark.label = buf;
+ mark.position = pos;
+
+ marks.push_back (mark);
// Increment subframes by one
Timecode::increment_subframes( timecode, _session->config.get_subframes_per_frame() );
@@ -1112,20 +875,22 @@ Editor::metric_get_timecode (GtkCustomRulerMark **marks, gdouble lower, gdouble
_session->timecode_to_sample(timecode, pos, true /* use_offset */, false /* use_subframes */ );
if ((timecode.seconds % timecode_mark_modulo) == 0) {
if (timecode.seconds == 0) {
- (*marks)[n].style = GtkCustomRulerMarkMajor;
- (*marks)[n].position = pos;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
+ mark.position = pos;
} else {
- (*marks)[n].style = GtkCustomRulerMarkMinor;
- (*marks)[n].position = pos;
+ mark.style = ArdourCanvas::Ruler::Mark::Minor;
+ mark.position = pos;
}
snprintf (buf, sizeof(buf), "%s%02u:%02u:%02u:%02u", timecode.negative ? "-" : "", timecode.hours, timecode.minutes, timecode.seconds, timecode.frames);
} else {
snprintf (buf, sizeof(buf)," ");
- (*marks)[n].style = GtkCustomRulerMarkMicro;
- (*marks)[n].position = pos;
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
+ mark.position = pos;
}
- (*marks)[n].label = g_strdup (buf);
+ mark.label = buf;
+ marks.push_back (mark);
+
Timecode::increment_seconds( timecode, _session->config.get_subframes_per_frame() );
}
break;
@@ -1139,19 +904,19 @@ Editor::metric_get_timecode (GtkCustomRulerMark **marks, gdouble lower, gdouble
_session->timecode_to_sample(timecode, pos, true /* use_offset */, false /* use_subframes */ );
if ((timecode.minutes % timecode_mark_modulo) == 0) {
if (timecode.minutes == 0) {
- (*marks)[n].style = GtkCustomRulerMarkMajor;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
} else {
- (*marks)[n].style = GtkCustomRulerMarkMinor;
+ mark.style = ArdourCanvas::Ruler::Mark::Minor;
}
snprintf (buf, sizeof(buf), "%s%02u:%02u:%02u:%02u", timecode.negative ? "-" : "", timecode.hours, timecode.minutes, timecode.seconds, timecode.frames);
} else {
snprintf (buf, sizeof(buf)," ");
- (*marks)[n].style = GtkCustomRulerMarkMicro;
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
}
- (*marks)[n].label = g_strdup (buf);
- (*marks)[n].position = pos;
-
+ mark.label = buf;
+ mark.position = pos;
+ marks.push_back (mark);
Timecode::increment_minutes( timecode, _session->config.get_subframes_per_frame() );
}
@@ -1165,16 +930,16 @@ Editor::metric_get_timecode (GtkCustomRulerMark **marks, gdouble lower, gdouble
for (n = 0; n < timecode_nmarks; n++) {
_session->timecode_to_sample(timecode, pos, true /* use_offset */, false /* use_subframes */ );
if ((timecode.hours % timecode_mark_modulo) == 0) {
- (*marks)[n].style = GtkCustomRulerMarkMajor;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
snprintf (buf, sizeof(buf), "%s%02u:%02u:%02u:%02u", timecode.negative ? "-" : "", timecode.hours, timecode.minutes, timecode.seconds, timecode.frames);
} else {
snprintf (buf, sizeof(buf)," ");
- (*marks)[n].style = GtkCustomRulerMarkMicro;
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
}
- (*marks)[n].label = g_strdup (buf);
- (*marks)[n].position = pos;
-
+ mark.label = buf;
+ mark.position = pos;
+ marks.push_back (mark);
Timecode::increment_hours( timecode, _session->config.get_subframes_per_frame() );
}
break;
@@ -1188,29 +953,29 @@ Editor::metric_get_timecode (GtkCustomRulerMark **marks, gdouble lower, gdouble
_session->timecode_to_sample(timecode, pos, true /* use_offset */, false /* use_subframes */ );
if ((timecode.frames % timecode_mark_modulo) == 0) {
if (timecode.frames == 0) {
- (*marks)[n].style = GtkCustomRulerMarkMajor;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
} else {
- (*marks)[n].style = GtkCustomRulerMarkMinor;
+ mark.style = ArdourCanvas::Ruler::Mark::Minor;
}
- (*marks)[n].position = pos;
+ mark.position = pos;
snprintf (buf, sizeof(buf), "%s%02u:%02u:%02u:%02u", timecode.negative ? "-" : "", timecode.hours, timecode.minutes, timecode.seconds, timecode.frames);
} else {
snprintf (buf, sizeof(buf)," ");
- (*marks)[n].style = GtkCustomRulerMarkMicro;
- (*marks)[n].position = pos;
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
+ mark.position = pos;
}
- (*marks)[n].label = g_strdup (buf);
+ mark.label = buf;
+ marks.push_back (mark);
Timecode::increment( timecode, _session->config.get_subframes_per_frame() );
}
break;
}
-
- return timecode_nmarks;
}
+
void
Editor::compute_bbt_ruler_scale (framepos_t lower, framepos_t upper,
ARDOUR::TempoMap::BBTPointList::const_iterator begin,
@@ -1340,17 +1105,26 @@ Editor::compute_bbt_ruler_scale (framepos_t lower, framepos_t upper,
} else {
bbt_ruler_scale = bbt_show_ticks_detail;
}
-
+
if ((bbt_ruler_scale == bbt_show_ticks_detail) && (lower_beat.beats == upper_beat.beats) && (upper_beat.ticks - lower_beat.ticks <= Timecode::BBT_Time::ticks_per_beat / 4)) {
bbt_ruler_scale = bbt_show_ticks_super_detail;
}
}
-gint
-Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper, gint /*maxchars*/)
+static void
+edit_last_mark_label (std::vector<ArdourCanvas::Ruler::Mark>& marks, const std::string& newlabel)
+{
+ ArdourCanvas::Ruler::Mark copy = marks.back();
+ copy.label = newlabel;
+ marks.pop_back ();
+ marks.push_back (copy);
+}
+
+void
+Editor::metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble lower, gdouble upper, gint /*maxchars*/)
{
if (_session == 0) {
- return 0;
+ return;
}
TempoMap::BBTPointList::const_iterator i;
@@ -1361,7 +1135,6 @@ Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper
Timecode::BBT_Time next_beat;
framepos_t next_beat_pos;
uint32_t beats = 0;
-
uint32_t tick = 0;
uint32_t skip;
uint32_t t;
@@ -1371,6 +1144,7 @@ Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper
double accumulated_error;
bool i_am_accented = false;
bool helper_active = false;
+ ArdourCanvas::Ruler::Mark mark;
ARDOUR::TempoMap::BBTPointList::const_iterator begin;
ARDOUR::TempoMap::BBTPointList::const_iterator end;
@@ -1378,7 +1152,7 @@ Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper
compute_current_bbt_points (lower, upper, begin, end);
if (distance (begin, end) == 0) {
- return 0;
+ return;
}
switch (bbt_ruler_scale) {
@@ -1387,32 +1161,32 @@ Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper
beats = distance (begin, end);
bbt_nmarks = beats + 2;
- *marks = (GtkCustomRulerMark *) g_malloc (sizeof(GtkCustomRulerMark) * bbt_nmarks);
+ mark.label = "";
+ mark.position = lower;
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
+ marks.push_back (mark);
- (*marks)[0].label = g_strdup(" ");
- (*marks)[0].position = lower;
- (*marks)[0].style = GtkCustomRulerMarkMicro;
-
for (n = 1, i = begin; n < bbt_nmarks && i != end; ++i) {
if ((*i).frame < lower && (bbt_bar_helper_on)) {
snprintf (buf, sizeof(buf), "<%" PRIu32 "|%" PRIu32, (*i).bar, (*i).beat);
- (*marks)[0].label = g_strdup (buf);
+ edit_last_mark_label (marks, buf);
helper_active = true;
} else {
if ((*i).is_bar()) {
- (*marks)[n].style = GtkCustomRulerMarkMajor;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
snprintf (buf, sizeof(buf), "%" PRIu32, (*i).bar);
} else if (((*i).beat % 2 == 1)) {
- (*marks)[n].style = GtkCustomRulerMarkMinor;
- snprintf (buf, sizeof(buf), " ");
+ mark.style = ArdourCanvas::Ruler::Mark::Minor;
+ buf[0] = '\0';
} else {
- (*marks)[n].style = GtkCustomRulerMarkMicro;
- snprintf (buf, sizeof(buf), " ");
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
+ buf[0] = '\0';
}
- (*marks)[n].label = g_strdup (buf);
- (*marks)[n].position = (*i).frame;
+ mark.label = buf;
+ mark.position = (*i).frame;
+ marks.push_back (mark);
n++;
}
}
@@ -1424,32 +1198,35 @@ Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper
bbt_nmarks = (beats + 2) * bbt_beat_subdivision;
bbt_position_of_helper = lower + (30 * Editor::get_current_zoom ());
- *marks = (GtkCustomRulerMark *) g_malloc (sizeof(GtkCustomRulerMark) * bbt_nmarks);
+
+ // could do marks.assign() here to preallocate
- (*marks)[0].label = g_strdup(" ");
- (*marks)[0].position = lower;
- (*marks)[0].style = GtkCustomRulerMarkMicro;
+ mark.label = "";
+ mark.position = lower;
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
+ marks.push_back (mark);
for (n = 1, i = begin; n < bbt_nmarks && i != end; ++i) {
if ((*i).frame < lower && (bbt_bar_helper_on)) {
snprintf (buf, sizeof(buf), "<%" PRIu32 "|%" PRIu32, (*i).bar, (*i).beat);
- (*marks)[0].label = g_strdup (buf);
+ edit_last_mark_label (marks, buf);
helper_active = true;
} else {
if ((*i).is_bar()) {
- (*marks)[n].style = GtkCustomRulerMarkMajor;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
snprintf (buf, sizeof(buf), "%" PRIu32, (*i).bar);
} else {
- (*marks)[n].style = GtkCustomRulerMarkMinor;
+ mark.style = ArdourCanvas::Ruler::Mark::Minor;
snprintf (buf, sizeof(buf), "%" PRIu32, (*i).beat);
}
if (((*i).frame < bbt_position_of_helper) && helper_active) {
- snprintf (buf, sizeof(buf), " ");
+ buf[0] = '\0';
}
- (*marks)[n].label = g_strdup (buf);
- (*marks)[n].position = (*i).frame;
+ mark.label = buf;
+ mark.position = (*i).frame;
+ marks.push_back (mark);
n++;
}
@@ -1484,8 +1261,7 @@ Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper
i_am_accented = true;
}
- snprintf (buf, sizeof(buf), " ");
- (*marks)[n].label = g_strdup (buf);
+ mark.label = "";
/* Error compensation for float to framepos_t*/
accumulated_error += frame_skip_error;
@@ -1494,14 +1270,15 @@ Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper
accumulated_error -= 1.0f;
}
- (*marks)[n].position = pos;
+ mark.position = pos;
if ((bbt_beat_subdivision > 4) && i_am_accented) {
- (*marks)[n].style = GtkCustomRulerMarkMinor;
+ mark.style = ArdourCanvas::Ruler::Mark::Minor;
} else {
- (*marks)[n].style = GtkCustomRulerMarkMicro;
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
}
i_am_accented = false;
+ marks.push_back (mark);
n++;
}
}
@@ -1514,32 +1291,33 @@ Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper
bbt_nmarks = (beats + 2) * bbt_beat_subdivision;
bbt_position_of_helper = lower + (30 * Editor::get_current_zoom ());
- *marks = (GtkCustomRulerMark *) g_malloc (sizeof(GtkCustomRulerMark) * bbt_nmarks);
- (*marks)[0].label = g_strdup(" ");
- (*marks)[0].position = lower;
- (*marks)[0].style = GtkCustomRulerMarkMicro;
+ mark.label = "";
+ mark.position = lower;
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
+ marks.push_back (mark);
for (n = 1, i = begin; n < bbt_nmarks && i != end; ++i) {
if ((*i).frame < lower && (bbt_bar_helper_on)) {
snprintf (buf, sizeof(buf), "<%" PRIu32 "|%" PRIu32, (*i).bar, (*i).beat);
- (*marks)[0].label = g_strdup (buf);
+ edit_last_mark_label (marks, buf);
helper_active = true;
} else {
if ((*i).is_bar()) {
- (*marks)[n].style = GtkCustomRulerMarkMajor;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
snprintf (buf, sizeof(buf), "%" PRIu32, (*i).bar);
} else {
- (*marks)[n].style = GtkCustomRulerMarkMinor;
+ mark.style = ArdourCanvas::Ruler::Mark::Minor;
snprintf (buf, sizeof(buf), "%" PRIu32, (*i).beat);
}
if (((*i).frame < bbt_position_of_helper) && helper_active) {
- snprintf (buf, sizeof(buf), " ");
+ buf[0] = '\0';
}
- (*marks)[n].label = g_strdup (buf);
- (*marks)[n].position = (*i).frame;
+ mark.label = buf;
+ mark.position = (*i).frame;
+ marks.push_back (mark);
n++;
}
@@ -1577,10 +1355,10 @@ Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper
if (i_am_accented && (pos > bbt_position_of_helper)){
snprintf (buf, sizeof(buf), "%" PRIu32, tick);
} else {
- snprintf (buf, sizeof(buf), " ");
+ buf[0] = '\0';
}
- (*marks)[n].label = g_strdup (buf);
+ mark.label = buf;
/* Error compensation for float to framepos_t*/
accumulated_error += frame_skip_error;
@@ -1589,12 +1367,12 @@ Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper
accumulated_error -= 1.0f;
}
- (*marks)[n].position = pos;
+ mark.position = pos;
if ((bbt_beat_subdivision > 4) && i_am_accented) {
- (*marks)[n].style = GtkCustomRulerMarkMinor;
+ mark.style = ArdourCanvas::Ruler::Mark::Minor;
} else {
- (*marks)[n].style = GtkCustomRulerMarkMicro;
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
}
i_am_accented = false;
n++;
@@ -1609,32 +1387,33 @@ Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper
bbt_nmarks = (beats + 2) * bbt_beat_subdivision;
bbt_position_of_helper = lower + (30 * Editor::get_current_zoom ());
- *marks = (GtkCustomRulerMark *) g_malloc (sizeof(GtkCustomRulerMark) * bbt_nmarks);
- (*marks)[0].label = g_strdup(" ");
- (*marks)[0].position = lower;
- (*marks)[0].style = GtkCustomRulerMarkMicro;
+ mark.label = "";
+ mark.position = lower;
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
+ marks.push_back (mark);
for (n = 1, i = begin; n < bbt_nmarks && i != end; ++i) {
if ((*i).frame < lower && (bbt_bar_helper_on)) {
snprintf (buf, sizeof(buf), "<%" PRIu32 "|%" PRIu32, (*i).bar, (*i).beat);
- (*marks)[0].label = g_strdup (buf);
+ edit_last_mark_label (marks, buf);
helper_active = true;
} else {
if ((*i).is_bar()) {
- (*marks)[n].style = GtkCustomRulerMarkMajor;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
snprintf (buf, sizeof(buf), "%" PRIu32, (*i).bar);
} else {
- (*marks)[n].style = GtkCustomRulerMarkMinor;
+ mark.style = ArdourCanvas::Ruler::Mark::Minor;
snprintf (buf, sizeof(buf), "%" PRIu32, (*i).beat);
}
if (((*i).frame < bbt_position_of_helper) && helper_active) {
- snprintf (buf, sizeof(buf), " ");
+ buf[0] = '\0';
}
- (*marks)[n].label = g_strdup (buf);
- (*marks)[n].position = (*i).frame;
+ mark.label = buf;
+ mark.position = (*i).frame;
+ marks.push_back (mark);
n++;
}
@@ -1672,10 +1451,10 @@ Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper
if (pos > bbt_position_of_helper) {
snprintf (buf, sizeof(buf), "%" PRIu32, tick);
} else {
- snprintf (buf, sizeof(buf), " ");
+ buf[0] = '\0';
}
- (*marks)[n].label = g_strdup (buf);
+ mark.label = buf;
/* Error compensation for float to framepos_t*/
accumulated_error += frame_skip_error;
@@ -1684,14 +1463,15 @@ Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper
accumulated_error -= 1.0f;
}
- (*marks)[n].position = pos;
+ mark.position = pos;
if ((bbt_beat_subdivision > 4) && i_am_accented) {
- (*marks)[n].style = GtkCustomRulerMarkMinor;
+ mark.style = ArdourCanvas::Ruler::Mark::Minor;
} else {
- (*marks)[n].style = GtkCustomRulerMarkMicro;
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
}
i_am_accented = false;
+ marks.push_back (mark);
n++;
}
}
@@ -1700,35 +1480,34 @@ Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper
case bbt_over:
bbt_nmarks = 1;
- *marks = (GtkCustomRulerMark *) g_malloc (sizeof(GtkCustomRulerMark) * bbt_nmarks);
snprintf (buf, sizeof(buf), "cannot handle %" PRIu32 " bars", bbt_bars );
- (*marks)[0].style = GtkCustomRulerMarkMajor;
- (*marks)[0].label = g_strdup (buf);
- (*marks)[0].position = lower;
- n = 1;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
+ mark.label = buf;
+ mark.position = lower;
+ marks.push_back (mark);
break;
case bbt_show_64:
bbt_nmarks = (gint) (bbt_bars / 64) + 1;
- *marks = (GtkCustomRulerMark *) g_malloc (sizeof(GtkCustomRulerMark) * bbt_nmarks);
for (n = 0, i = begin; i != end && n < bbt_nmarks; i++) {
if ((*i).is_bar()) {
if ((*i).bar % 64 == 1) {
if ((*i).bar % 256 == 1) {
snprintf (buf, sizeof(buf), "%" PRIu32, (*i).bar);
- (*marks)[n].style = GtkCustomRulerMarkMajor;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
} else {
- snprintf (buf, sizeof(buf), " ");
+ buf[0] = '\0';
if ((*i).bar % 256 == 129) {
- (*marks)[n].style = GtkCustomRulerMarkMinor;
+ mark.style = ArdourCanvas::Ruler::Mark::Minor;
} else {
- (*marks)[n].style = GtkCustomRulerMarkMicro;
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
}
}
- (*marks)[n].label = g_strdup (buf);
- (*marks)[n].position = (*i).frame;
- n++;
+ mark.label = buf;
+ mark.position = (*i).frame;
+ marks.push_back (mark);
+ ++n;
}
}
}
@@ -1736,24 +1515,24 @@ Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper
case bbt_show_16:
bbt_nmarks = (bbt_bars / 16) + 1;
- *marks = (GtkCustomRulerMark *) g_malloc (sizeof(GtkCustomRulerMark) * bbt_nmarks);
for (n = 0, i = begin; i != end && n < bbt_nmarks; i++) {
if ((*i).is_bar()) {
if ((*i).bar % 16 == 1) {
if ((*i).bar % 64 == 1) {
snprintf (buf, sizeof(buf), "%" PRIu32, (*i).bar);
- (*marks)[n].style = GtkCustomRulerMarkMajor;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
} else {
- snprintf (buf, sizeof(buf), " ");
+ buf[0] = '\0';
if ((*i).bar % 64 == 33) {
- (*marks)[n].style = GtkCustomRulerMarkMinor;
+ mark.style = ArdourCanvas::Ruler::Mark::Minor;
} else {
- (*marks)[n].style = GtkCustomRulerMarkMicro;
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
}
}
- (*marks)[n].label = g_strdup (buf);
- (*marks)[n].position = (*i).frame;
- n++;
+ mark.label = buf;
+ mark.position = (*i).frame;
+ marks.push_back (mark);
+ ++n;
}
}
}
@@ -1761,58 +1540,54 @@ Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper
case bbt_show_4:
bbt_nmarks = (bbt_bars / 4) + 1;
- *marks = (GtkCustomRulerMark *) g_malloc (sizeof(GtkCustomRulerMark) * bbt_nmarks);
for (n = 0, i = begin; i != end && n < bbt_nmarks; ++i) {
if ((*i).is_bar()) {
if ((*i).bar % 4 == 1) {
if ((*i).bar % 16 == 1) {
snprintf (buf, sizeof(buf), "%" PRIu32, (*i).bar);
- (*marks)[n].style = GtkCustomRulerMarkMajor;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
} else {
- snprintf (buf, sizeof(buf), " ");
+ buf[0] = '\0';
if ((*i).bar % 16 == 9) {
- (*marks)[n].style = GtkCustomRulerMarkMinor;
+ mark.style = ArdourCanvas::Ruler::Mark::Minor;
} else {
- (*marks)[n].style = GtkCustomRulerMarkMicro;
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
}
}
- (*marks)[n].label = g_strdup (buf);
- (*marks)[n].position = (*i).frame;
- n++;
+ mark.label = buf;
+ mark.position = (*i).frame;
+ marks.push_back (mark);
+ ++n;
}
}
}
break;
case bbt_show_1:
- // default:
+// default:
bbt_nmarks = bbt_bars + 2;
- *marks = (GtkCustomRulerMark *) g_malloc (sizeof(GtkCustomRulerMark) * bbt_nmarks );
- for (n = 0, i = begin; i != end && n < bbt_nmarks; i++) {
+ for (n = 0, i = begin; i != end && n < bbt_nmarks; ++i) {
if ((*i).is_bar()) {
if ((*i).bar % 4 == 1) {
snprintf (buf, sizeof(buf), "%" PRIu32, (*i).bar);
- (*marks)[n].style = GtkCustomRulerMarkMajor;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
} else {
- snprintf (buf, sizeof(buf), " ");
- if ((*i).bar % 4 == 3) {
- (*marks)[n].style = GtkCustomRulerMarkMinor;
- } else {
- (*marks)[n].style = GtkCustomRulerMarkMicro;
- }
+ buf[0] = '\0';
+ if ((*i).bar % 4 == 3) {
+ mark.style = ArdourCanvas::Ruler::Mark::Minor;
+ } else {
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
+ }
}
- (*marks)[n].label = g_strdup (buf);
- (*marks)[n].position = (*i).frame;
- n++;
+ mark.label = buf;
+ mark.position = (*i).frame;
+ marks.push_back (mark);
+ ++n;
}
}
-
- break;
+ break;
}
-
- return n; //return the actual number of marks made, since we might have skipped some from fractional time signatures
-
}
void
@@ -1821,29 +1596,28 @@ Editor::set_samples_ruler_scale (framepos_t lower, framepos_t upper)
_samples_ruler_interval = (upper - lower) / 5;
}
-gint
-Editor::metric_get_samples (GtkCustomRulerMark **marks, gdouble lower, gdouble /*upper*/, gint /*maxchars*/)
+void
+Editor::metric_get_samples (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble lower, gdouble /*upper*/, gint /*maxchars*/)
{
framepos_t pos;
framepos_t const ilower = (framepos_t) floor (lower);
gchar buf[16];
gint nmarks;
gint n;
+ ArdourCanvas::Ruler::Mark mark;
if (_session == 0) {
- return 0;
+ return;
}
nmarks = 5;
- *marks = (GtkCustomRulerMark *) g_malloc (sizeof(GtkCustomRulerMark) * nmarks);
for (n = 0, pos = ilower; n < nmarks; pos += _samples_ruler_interval, ++n) {
snprintf (buf, sizeof(buf), "%" PRIi64, pos);
- (*marks)[n].label = g_strdup (buf);
- (*marks)[n].position = pos;
- (*marks)[n].style = GtkCustomRulerMarkMajor;
+ mark.label = buf;
+ mark.position = pos;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
+ marks.push_back (mark);
}
-
- return nmarks;
}
static void
@@ -1976,17 +1750,18 @@ Editor::set_minsec_ruler_scale (framepos_t lower, framepos_t upper)
minsec_nmarks = 2 + (range / minsec_mark_interval);
}
-gint
-Editor::metric_get_minsec (GtkCustomRulerMark **marks, gdouble lower, gdouble /*upper*/, gint /*maxchars*/)
+void
+Editor::metric_get_minsec (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble lower, gdouble /*upper*/, gint /*maxchars*/)
{
framepos_t pos;
framepos_t spacer;
long hrs, mins, secs, millisecs;
gchar buf[16];
gint n;
+ ArdourCanvas::Ruler::Mark mark;
if (_session == 0) {
- return 0;
+ return;
}
/* to prevent 'flashing' */
@@ -1996,7 +1771,6 @@ Editor::metric_get_minsec (GtkCustomRulerMark **marks, gdouble lower, gdouble /*
lower = 0;
}
- *marks = (GtkCustomRulerMark *) g_malloc (sizeof(GtkCustomRulerMark) * minsec_nmarks);
pos = (((1000 * (framepos_t) floor(lower)) + (minsec_mark_interval/2))/minsec_mark_interval) * minsec_mark_interval;
switch (minsec_ruler_scale) {
case minsec_show_seconds:
@@ -2004,17 +1778,18 @@ Editor::metric_get_minsec (GtkCustomRulerMark **marks, gdouble lower, gdouble /*
sample_to_clock_parts (pos, _session->frame_rate(), &hrs, &mins, &secs, &millisecs);
if (secs % minsec_mark_modulo == 0) {
if (secs == 0) {
- (*marks)[n].style = GtkCustomRulerMarkMajor;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
} else {
- (*marks)[n].style = GtkCustomRulerMarkMinor;
+ mark.style = ArdourCanvas::Ruler::Mark::Minor;
}
snprintf (buf, sizeof(buf), "%02ld:%02ld:%02ld.%03ld", hrs, mins, secs, millisecs);
} else {
- snprintf (buf, sizeof(buf), " ");
- (*marks)[n].style = GtkCustomRulerMarkMicro;
+ buf[0] = '\0';
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
}
- (*marks)[n].label = g_strdup (buf);
- (*marks)[n].position = pos/1000.0;
+ mark.label = buf;
+ mark.position = pos/1000.0;
+ marks.push_back (mark);
}
break;
case minsec_show_minutes:
@@ -2022,31 +1797,33 @@ Editor::metric_get_minsec (GtkCustomRulerMark **marks, gdouble lower, gdouble /*
sample_to_clock_parts (pos, _session->frame_rate(), &hrs, &mins, &secs, &millisecs);
if (mins % minsec_mark_modulo == 0) {
if (mins == 0) {
- (*marks)[n].style = GtkCustomRulerMarkMajor;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
} else {
- (*marks)[n].style = GtkCustomRulerMarkMinor;
+ mark.style = ArdourCanvas::Ruler::Mark::Minor;
}
snprintf (buf, sizeof(buf), "%02ld:%02ld:%02ld.%03ld", hrs, mins, secs, millisecs);
} else {
- snprintf (buf, sizeof(buf), " ");
- (*marks)[n].style = GtkCustomRulerMarkMicro;
+ buf[0] = '\0';
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
}
- (*marks)[n].label = g_strdup (buf);
- (*marks)[n].position = pos/1000.0;
+ mark.label = buf;
+ mark.position = pos/1000.0;
+ marks.push_back (mark);
}
break;
case minsec_show_hours:
for (n = 0; n < minsec_nmarks; pos += minsec_mark_interval, ++n) {
sample_to_clock_parts (pos, _session->frame_rate(), &hrs, &mins, &secs, &millisecs);
if (hrs % minsec_mark_modulo == 0) {
- (*marks)[n].style = GtkCustomRulerMarkMajor;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
snprintf (buf, sizeof(buf), "%02ld:%02ld:%02ld.%03ld", hrs, mins, secs, millisecs);
} else {
- snprintf (buf, sizeof(buf), " ");
- (*marks)[n].style = GtkCustomRulerMarkMicro;
+ buf[0] = '\0';
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
}
- (*marks)[n].label = g_strdup (buf);
- (*marks)[n].position = pos/1000.0;
+ mark.label = buf;
+ mark.position = pos/1000.0;
+ marks.push_back (mark);
}
break;
case minsec_show_frames:
@@ -2054,20 +1831,19 @@ Editor::metric_get_minsec (GtkCustomRulerMark **marks, gdouble lower, gdouble /*
sample_to_clock_parts (pos, _session->frame_rate(), &hrs, &mins, &secs, &millisecs);
if (millisecs % minsec_mark_modulo == 0) {
if (millisecs == 0) {
- (*marks)[n].style = GtkCustomRulerMarkMajor;
+ mark.style = ArdourCanvas::Ruler::Mark::Major;
} else {
- (*marks)[n].style = GtkCustomRulerMarkMinor;
+ mark.style = ArdourCanvas::Ruler::Mark::Minor;
}
snprintf (buf, sizeof(buf), "%02ld:%02ld:%02ld.%03ld", hrs, mins, secs, millisecs);
} else {
- snprintf (buf, sizeof(buf), " ");
- (*marks)[n].style = GtkCustomRulerMarkMicro;
+ buf[0] = '\0';
+ mark.style = ArdourCanvas::Ruler::Mark::Micro;
}
- (*marks)[n].label = g_strdup (buf);
- (*marks)[n].position = pos/1000.0;
+ mark.label = buf;
+ mark.position = pos/1000.0;
+ marks.push_back (mark);
}
break;
}
-
- return minsec_nmarks;
}
diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc
index a26483e204..26643bddd5 100644
--- a/gtk2_ardour/editor_selection.cc
+++ b/gtk2_ardour/editor_selection.cc
@@ -185,12 +185,12 @@ Editor::set_selected_track_as_side_effect (Selection::Operation op)
return;
}
- if (!clicked_routeview) {
- return;
+ RouteGroup* group = NULL;
+ if (clicked_routeview) {
+ group = clicked_routeview->route()->route_group();
}
bool had_tracks = !selection->tracks.empty();
- RouteGroup* group = clicked_routeview->route()->route_group();
RouteGroup& arg (_session->all_route_group());
switch (op) {
@@ -364,7 +364,7 @@ void
Editor::get_onscreen_tracks (TrackViewList& tvl)
{
for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
- if ((*i)->y_position() < _canvas_height) {
+ if ((*i)->y_position() < _visible_canvas_height) {
tvl.push_back (*i);
}
}
@@ -640,8 +640,14 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op)
selection->set (all_equivalent_regions);
commit = true;
} else {
- /* no commit necessary: clicked on an already selected region */
- goto out;
+ /* clicked on an already selected region */
+ if (press)
+ goto out;
+ else {
+ get_equivalent_regions(clicked_regionview, all_equivalent_regions, ARDOUR::Properties::select.property_id);
+ selection->set(all_equivalent_regions);
+ commit = true;
+ }
}
break;
@@ -991,6 +997,15 @@ Editor::time_selection_changed ()
return;
}
+ /* XXX this is superficially inefficient. Hide the selection in all
+ * tracks, then show it in all selected tracks.
+ *
+ * However, if you investigate what this actually does, it isn't
+ * anywhere nearly as bad as it may appear. Remember: nothing is
+ * redrawn or even recomputed during these two loops - that only
+ * happens when we next render ...
+ */
+
for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
(*i)->hide_selection ();
}
@@ -1004,10 +1019,6 @@ Editor::time_selection_changed ()
} else {
ActionManager::set_sensitive (ActionManager::time_selection_sensitive_actions, true);
}
-
- if (_session && Config->get_always_play_range() && !_session->transport_rolling() && !selection->time.empty()) {
- _session->request_locate (selection->time.start());
- }
}
/** Set all region actions to have a given sensitivity */
@@ -1365,21 +1376,11 @@ Editor::select_all_internal_edit (Selection::Operation)
}
void
-Editor::select_all (Selection::Operation op)
+Editor::select_all_objects (Selection::Operation op)
{
list<Selectable *> touched;
- TrackViewList ts;
-
- if (selection->tracks.empty()) {
- if (entered_track) {
- ts.push_back (entered_track);
- } else {
- ts = track_views;
- }
- } else {
- ts = selection->tracks;
- }
+ TrackViewList ts = track_views;
if (_internal_editing) {
@@ -1409,8 +1410,10 @@ Editor::select_all (Selection::Operation op)
continue;
}
(*iter)->get_selectables (0, max_framepos, 0, DBL_MAX, touched);
+ selection->add (*iter);
}
+
begin_reversible_command (_("select all"));
switch (op) {
case Selection::Add:
@@ -1489,6 +1492,8 @@ Editor::select_all_within (framepos_t start, framepos_t end, double top, double
}
if (found.empty()) {
+ selection->clear_objects();
+ selection->clear_time ();
return;
}
@@ -1677,12 +1682,12 @@ Editor::select_all_selectables_using_cursor (EditorCursor *cursor, bool after)
list<Selectable *> touched;
if (after) {
- start = cursor->current_frame;
+ start = cursor->current_frame();
end = _session->current_end_frame();
} else {
- if (cursor->current_frame > 0) {
+ if (cursor->current_frame() > 0) {
start = 0;
- end = cursor->current_frame - 1;
+ end = cursor->current_frame() - 1;
} else {
return;
}
@@ -1831,98 +1836,102 @@ Editor::select_range_between ()
bool
Editor::get_edit_op_range (framepos_t& start, framepos_t& end) const
{
- framepos_t m;
- bool ignored;
+// framepos_t m;
+// bool ignored;
/* if an explicit range exists, use it */
- if (!selection->time.empty()) {
+ if ( (mouse_mode == MouseRange || get_smart_mode() ) && !selection->time.empty()) {
/* we know that these are ordered */
start = selection->time.start();
end = selection->time.end_frame();
return true;
- }
-
- if (!mouse_frame (m, ignored)) {
- /* mouse is not in a canvas, try playhead+selected marker.
- this is probably most true when using menus.
- */
-
- if (selection->markers.empty()) {
- return false;
- }
-
- start = selection->markers.front()->position();
- end = _session->audible_frame();
-
} else {
-
- switch (_edit_point) {
- case EditAtPlayhead:
- if (selection->markers.empty()) {
- /* use mouse + playhead */
- start = m;
- end = _session->audible_frame();
- } else {
- /* use playhead + selected marker */
- start = _session->audible_frame();
- end = selection->markers.front()->position();
- }
- break;
-
- case EditAtMouse:
- /* use mouse + selected marker */
- if (selection->markers.empty()) {
- start = m;
- end = _session->audible_frame();
- } else {
- start = selection->markers.front()->position();
- end = m;
- }
- break;
-
- case EditAtSelectedMarker:
- /* use mouse + selected marker */
- if (selection->markers.empty()) {
-
- MessageDialog win (_("No edit range defined"),
- false,
- MESSAGE_INFO,
- BUTTONS_OK);
-
- win.set_secondary_text (
- _("the edit point is Selected Marker\nbut there is no selected marker."));
-
-
- win.set_default_response (RESPONSE_CLOSE);
- win.set_position (Gtk::WIN_POS_MOUSE);
- win.show_all();
-
- win.run ();
-
- return false; // NO RANGE
- }
- start = selection->markers.front()->position();
- end = m;
- break;
- }
- }
-
- if (start == end) {
+ start = 0;
+ end = 0;
return false;
}
-
- if (start > end) {
- swap (start, end);
- }
+
+// if (!mouse_frame (m, ignored)) {
+// /* mouse is not in a canvas, try playhead+selected marker.
+// this is probably most true when using menus.
+// */
+//
+// if (selection->markers.empty()) {
+// return false;
+// }
+
+// start = selection->markers.front()->position();
+// end = _session->audible_frame();
+
+// } else {
+
+// switch (_edit_point) {
+// case EditAtPlayhead:
+// if (selection->markers.empty()) {
+// /* use mouse + playhead */
+// start = m;
+// end = _session->audible_frame();
+// } else {
+// /* use playhead + selected marker */
+// start = _session->audible_frame();
+// end = selection->markers.front()->position();
+// }
+// break;
+
+// case EditAtMouse:
+// /* use mouse + selected marker */
+// if (selection->markers.empty()) {
+// start = m;
+// end = _session->audible_frame();
+// } else {
+// start = selection->markers.front()->position();
+// end = m;
+// }
+// break;
+
+// case EditAtSelectedMarker:
+// /* use mouse + selected marker */
+// if (selection->markers.empty()) {
+
+// MessageDialog win (_("No edit range defined"),
+// false,
+// MESSAGE_INFO,
+// BUTTONS_OK);
+
+// win.set_secondary_text (
+// _("the edit point is Selected Marker\nbut there is no selected marker."));
+
+
+// win.set_default_response (RESPONSE_CLOSE);
+// win.set_position (Gtk::WIN_POS_MOUSE);
+// win.show_all();
+
+// win.run ();
+
+// return false; // NO RANGE
+// }
+// start = selection->markers.front()->position();
+// end = m;
+// break;
+// }
+// }
+
+// if (start == end) {
+// return false;
+// }
+
+// if (start > end) {
+// swap (start, end);
+// }
/* turn range into one delimited by start...end,
not start...end-1
*/
- end++;
+// end++;
- return true;
+// return true;
}
void
diff --git a/gtk2_ardour/editor_snapshots.cc b/gtk2_ardour/editor_snapshots.cc
index 08b5acddc8..ed49ef35b3 100644
--- a/gtk2_ardour/editor_snapshots.cc
+++ b/gtk2_ardour/editor_snapshots.cc
@@ -32,6 +32,7 @@ using namespace std;
using namespace PBD;
using namespace Gtk;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
EditorSnapshots::EditorSnapshots (Editor* e)
: EditorComponent (e)
diff --git a/gtk2_ardour/editor_summary.cc b/gtk2_ardour/editor_summary.cc
index 0dc728d18e..50e9311998 100644
--- a/gtk2_ardour/editor_summary.cc
+++ b/gtk2_ardour/editor_summary.cc
@@ -19,6 +19,8 @@
#include "ardour/session.h"
+#include "canvas/debug.h"
+
#include "time_axis_view.h"
#include "streamview.h"
#include "editor_summary.h"
@@ -52,16 +54,31 @@ EditorSummary::EditorSummary (Editor* e)
_view_rectangle_x (0, 0),
_view_rectangle_y (0, 0),
_zoom_dragging (false),
- _old_follow_playhead (false)
+ _old_follow_playhead (false),
+ _image (0),
+ _background_dirty (true)
{
- Region::RegionPropertyChanged.connect (region_property_connection, invalidator (*this), boost::bind (&CairoWidget::set_dirty, this), gui_context());
- Route::RemoteControlIDChange.connect (route_ctrl_id_connection, invalidator (*this), boost::bind (&CairoWidget::set_dirty, this), gui_context());
- _editor->playhead_cursor->PositionChanged.connect (position_connection, invalidator (*this), boost::bind (&EditorSummary::playhead_position_changed, this, _1), gui_context());
-
add_events (Gdk::POINTER_MOTION_MASK|Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK|Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK);
set_flags (get_flags() | Gtk::CAN_FOCUS);
}
+EditorSummary::~EditorSummary ()
+{
+ cairo_surface_destroy (_image);
+}
+
+/** Handle a size allocation.
+ * @param alloc GTK allocation.
+ */
+void
+EditorSummary::on_size_allocate (Gtk::Allocation& alloc)
+{
+ Gtk::EventBox::on_size_allocate (alloc);
+ _background_dirty = true;
+ set_dirty ();
+}
+
+
/** Connect to a session.
* @param s Session.
*/
@@ -78,27 +95,29 @@ EditorSummary::set_session (Session* s)
*/
if (_session) {
- _session->StartTimeChanged.connect (_session_connections, invalidator (*this), boost::bind (&CairoWidget::set_dirty, this), gui_context());
- _session->EndTimeChanged.connect (_session_connections, invalidator (*this), boost::bind (&CairoWidget::set_dirty, this), gui_context());
+ Region::RegionPropertyChanged.connect (region_property_connection, invalidator (*this), boost::bind (&EditorSummary::set_background_dirty, this), gui_context());
+ Route::RemoteControlIDChange.connect (route_ctrl_id_connection, invalidator (*this), boost::bind (&EditorSummary::set_background_dirty, this), gui_context());
+ _editor->playhead_cursor->PositionChanged.connect (position_connection, invalidator (*this), boost::bind (&EditorSummary::playhead_position_changed, this, _1), gui_context());
+ _session->StartTimeChanged.connect (_session_connections, invalidator (*this), boost::bind (&EditorSummary::set_background_dirty, this), gui_context());
+ _session->EndTimeChanged.connect (_session_connections, invalidator (*this), boost::bind (&EditorSummary::set_background_dirty, this), gui_context());
+ _editor->selection->RegionsChanged.connect (sigc::mem_fun(*this, &EditorSummary::set_background_dirty));
}
}
-/** Render the required regions to a cairo context.
- * @param cr Context.
- */
void
-EditorSummary::render (cairo_t* cr)
+EditorSummary::render_background_image ()
{
- /* background (really just the dividing lines between tracks */
+ cairo_surface_destroy (_image); // passing NULL is safe
+ _image = cairo_image_surface_create (CAIRO_FORMAT_RGB24, get_width (), get_height ());
+
+ cairo_t* cr = cairo_create (_image);
+
+ /* background (really just the dividing lines between tracks */
cairo_set_source_rgb (cr, 0, 0, 0);
cairo_rectangle (cr, 0, 0, get_width(), get_height());
cairo_fill (cr);
- if (_session == 0) {
- return;
- }
-
/* compute start and end points for the summary */
framecnt_t const session_length = _session->current_end_frame() - _session->current_start_frame ();
@@ -167,13 +186,39 @@ EditorSummary::render (cairo_t* cr)
const double p = (_session->current_start_frame() - _start) * _x_scale;
cairo_move_to (cr, p, 0);
cairo_line_to (cr, p, get_height());
- cairo_stroke (cr);
double const q = (_session->current_end_frame() - _start) * _x_scale;
cairo_move_to (cr, q, 0);
cairo_line_to (cr, q, get_height());
cairo_stroke (cr);
+ cairo_destroy (cr);
+}
+
+/** Render the required regions to a cairo context.
+ * @param cr Context.
+ */
+void
+EditorSummary::render (cairo_t* cr, cairo_rectangle_t*)
+{
+
+ if (_session == 0) {
+ return;
+ }
+
+ if (!_image || _background_dirty) {
+ render_background_image ();
+ _background_dirty = false;
+ }
+
+ cairo_push_group (cr);
+
+ /* Fill with the background image */
+
+ cairo_rectangle (cr, 0, 0, get_width(), get_height());
+ cairo_set_source_surface (cr, _image, 0, 0);
+ cairo_fill (cr);
+
/* Render the view rectangle. If there is an editor visual pending, don't update
the view rectangle now --- wait until the expose event that we'll get after
the visual change. This prevents a flicker.
@@ -183,11 +228,9 @@ EditorSummary::render (cairo_t* cr)
get_editor (&_view_rectangle_x, &_view_rectangle_y);
}
- cairo_move_to (cr, _view_rectangle_x.first, _view_rectangle_y.first);
- cairo_line_to (cr, _view_rectangle_x.second, _view_rectangle_y.first);
- cairo_line_to (cr, _view_rectangle_x.second, _view_rectangle_y.second);
- cairo_line_to (cr, _view_rectangle_x.first, _view_rectangle_y.second);
- cairo_line_to (cr, _view_rectangle_x.first, _view_rectangle_y.first);
+ int32_t width = _view_rectangle_x.second - _view_rectangle_x.first;
+ int32_t height = _view_rectangle_y.second - _view_rectangle_y.first;
+ cairo_rectangle (cr, _view_rectangle_x.first, _view_rectangle_y.first, width, height);
cairo_set_source_rgba (cr, 1, 1, 1, 0.25);
cairo_fill_preserve (cr);
cairo_set_line_width (cr, 1);
@@ -200,10 +243,12 @@ EditorSummary::render (cairo_t* cr)
/* XXX: colour should be set from configuration file */
cairo_set_source_rgba (cr, 1, 0, 0, 1);
- const double ph= playhead_frame_to_position (_editor->playhead_cursor->current_frame);
+ const double ph= playhead_frame_to_position (_editor->playhead_cursor->current_frame());
cairo_move_to (cr, ph, 0);
cairo_line_to (cr, ph, get_height());
cairo_stroke (cr);
+ cairo_pop_group_to_source (cr);
+ cairo_paint (cr);
_last_playhead = ph;
}
@@ -234,6 +279,13 @@ EditorSummary::render_region (RegionView* r, cairo_t* cr, double y) const
cairo_stroke (cr);
}
+void
+EditorSummary::set_background_dirty ()
+{
+ _background_dirty = true;
+ set_dirty ();
+}
+
/** Set the summary so that just the overlays (viewbox, playhead etc.) will be re-rendered */
void
EditorSummary::set_overlays_dirty ()
@@ -397,6 +449,8 @@ EditorSummary::on_button_press_event (GdkEventButton* ev)
_moved = false;
_editor->_dragging_playhead = true;
_editor->set_follow_playhead (false);
+
+ ArdourCanvas::checkpoint ("sum", "------------------ summary move drag starts.\n");
}
}
@@ -432,11 +486,11 @@ EditorSummary::get_editor (pair<double, double>* x, pair<double, double>* y) con
/* Otherwise query the editor for its actual position */
- x->first = (_editor->leftmost_position () - _start) * _x_scale;
- x->second = x->first + _editor->current_page_frames() * _x_scale;
+ x->first = (_editor->leftmost_sample () - _start) * _x_scale;
+ x->second = x->first + _editor->current_page_samples() * _x_scale;
y->first = editor_y_to_summary (_editor->vertical_adjustment.get_value ());
- y->second = editor_y_to_summary (_editor->vertical_adjustment.get_value () + _editor->canvas_height() - _editor->get_canvas_timebars_vsize());
+ y->second = editor_y_to_summary (_editor->vertical_adjustment.get_value () + _editor->visible_canvas_height());
}
}
@@ -686,7 +740,7 @@ EditorSummary::on_scroll_event (GdkEventScroll* ev)
void
EditorSummary::set_editor (double const x, double const y)
{
- if (_editor->pending_visual_change.idle_handler_id >= 0) {
+ if (_editor->pending_visual_change.idle_handler_id >= 0 && _editor->pending_visual_change.being_handled == true) {
/* As a side-effect, the Editor's visual change idle handler processes
pending GTK events. Hence this motion notify handler can be called
@@ -784,7 +838,7 @@ EditorSummary::set_editor_x (pair<double, double> x)
double const nx = (
((x.second - x.first) / _x_scale) /
- _editor->frame_to_unit (_editor->current_page_frames())
+ _editor->sample_to_pixel (_editor->current_page_samples())
);
if (nx != _editor->get_current_zoom ()) {
@@ -801,10 +855,10 @@ void
EditorSummary::set_editor_y (double const y)
{
double y1 = summary_y_to_editor (y);
- double const eh = _editor->canvas_height() - _editor->get_canvas_timebars_vsize ();
+ double const eh = _editor->visible_canvas_height();
double y2 = y1 + eh;
- double const full_editor_height = _editor->full_canvas_height - _editor->get_canvas_timebars_vsize();
+ double const full_editor_height = _editor->_full_canvas_height;
if (y2 > full_editor_height) {
y1 -= y2 - full_editor_height;
@@ -881,7 +935,7 @@ EditorSummary::set_editor_y (pair<double, double> const y)
/* Height that we will use for scaling; use the whole editor height unless there are not
enough tracks to fill it.
*/
- double const ch = min (total_height, _editor->canvas_height() - _editor->get_canvas_timebars_vsize());
+ double const ch = min (total_height, _editor->visible_canvas_height());
/* hence required scale factor of the complete tracks to fit the required y range;
the amount of space they should take up divided by the amount they currently take up.
@@ -977,10 +1031,11 @@ EditorSummary::routes_added (list<RouteTimeAxisView*> const & r)
(*i)->route()->gui_changed.connect (*this, invalidator (*this), boost::bind (&EditorSummary::route_gui_changed, this, _1), gui_context ());
boost::shared_ptr<Track> tr = boost::dynamic_pointer_cast<Track> ((*i)->route ());
if (tr) {
- tr->PlaylistChanged.connect (*this, invalidator (*this), boost::bind (&CairoWidget::set_dirty, this), gui_context ());
+ tr->PlaylistChanged.connect (*this, invalidator (*this), boost::bind (&EditorSummary::set_background_dirty, this), gui_context ());
}
}
+ _background_dirty = true;
set_dirty ();
}
@@ -988,6 +1043,7 @@ void
EditorSummary::route_gui_changed (string c)
{
if (c == "color") {
+ _background_dirty = true;
set_dirty ();
}
}
diff --git a/gtk2_ardour/editor_summary.h b/gtk2_ardour/editor_summary.h
index f6aa804f59..f2e4eb08c4 100644
--- a/gtk2_ardour/editor_summary.h
+++ b/gtk2_ardour/editor_summary.h
@@ -36,12 +36,15 @@ class EditorSummary : public CairoWidget, public EditorComponent, public ARDOUR:
{
public:
EditorSummary (Editor *);
+ ~EditorSummary ();
void set_session (ARDOUR::Session *);
void set_overlays_dirty ();
+ void set_background_dirty ();
void routes_added (std::list<RouteTimeAxisView*> const &);
private:
+ void on_size_allocate (Gtk::Allocation& alloc);
enum Position {
LEFT,
@@ -69,7 +72,7 @@ private:
bool on_leave_notify_event (GdkEventCrossing*);
void centre_on_click (GdkEventButton *);
- void render (cairo_t *);
+ void render (cairo_t *, cairo_rectangle_t*);
void render_region (RegionView*, cairo_t*, double) const;
void get_editor (std::pair<double, double> *, std::pair<double, double> *) const;
void set_editor (double, double);
@@ -120,6 +123,9 @@ private:
Position _zoom_position;
bool _old_follow_playhead;
+ cairo_surface_t* _image;
+ void render_background_image ();
+ bool _background_dirty;
PBD::ScopedConnectionList position_connection;
PBD::ScopedConnection route_ctrl_id_connection;
diff --git a/gtk2_ardour/editor_tempodisplay.cc b/gtk2_ardour/editor_tempodisplay.cc
index 488b804d65..44d0154dd4 100644
--- a/gtk2_ardour/editor_tempodisplay.cc
+++ b/gtk2_ardour/editor_tempodisplay.cc
@@ -27,8 +27,6 @@
#include <string>
#include <climits>
-#include <libgnomecanvasmm.h>
-
#include "pbd/error.h"
#include "pbd/memento_command.h"
@@ -40,16 +38,18 @@
#include <gtkmm2ext/doi.h>
#include <gtkmm2ext/utils.h>
+#include "canvas/canvas.h"
+#include "canvas/item.h"
+#include "canvas/line_set.h"
+
#include "editor.h"
#include "marker.h"
-#include "simpleline.h"
#include "tempo_dialog.h"
#include "rgb_macros.h"
#include "gui_thread.h"
#include "time_axis_view.h"
#include "ardour_ui.h"
#include "tempo_lines.h"
-#include "utils.h"
#include "i18n.h"
@@ -85,7 +85,7 @@ Editor::draw_metric_marks (const Metrics& metrics)
if ((ms = dynamic_cast<const MeterSection*>(*i)) != 0) {
snprintf (buf, sizeof(buf), "%g/%g", ms->divisions_per_bar(), ms->note_divisor ());
- metric_marks.push_back (new MeterMarker (*this, *meter_group, ARDOUR_UI::config()->canvasvar_MeterMarker.get(), buf,
+ metric_marks.push_back (new MeterMarker (*this, *meter_group, ARDOUR_UI::config()->get_canvasvar_MeterMarker(), buf,
*(const_cast<MeterSection*>(ms))));
} else if ((ts = dynamic_cast<const TempoSection*>(*i)) != 0) {
if (Config->get_allow_non_quarter_pulse()) {
@@ -93,7 +93,7 @@ Editor::draw_metric_marks (const Metrics& metrics)
} else {
snprintf (buf, sizeof (buf), "%.2f", ts->beats_per_minute());
}
- metric_marks.push_back (new TempoMarker (*this, *tempo_group, ARDOUR_UI::config()->canvasvar_TempoMarker.get(), buf,
+ metric_marks.push_back (new TempoMarker (*this, *tempo_group, ARDOUR_UI::config()->get_canvasvar_TempoMarker(), buf,
*(const_cast<TempoSection*>(ts))));
}
@@ -117,9 +117,9 @@ Editor::tempo_map_changed (const PropertyChange& /*ignored*/)
ARDOUR::TempoMap::BBTPointList::const_iterator begin;
ARDOUR::TempoMap::BBTPointList::const_iterator end;
- compute_current_bbt_points (leftmost_frame, leftmost_frame + current_page_frames(), begin, end);
+ compute_current_bbt_points (leftmost_frame, leftmost_frame + current_page_samples(), begin, end);
_session->tempo_map().apply_with_metrics (*this, &Editor::draw_metric_marks); // redraw metric markers
- redraw_measures ();
+ draw_measures (begin, end);
update_tempo_based_rulers (begin, end);
}
@@ -130,22 +130,18 @@ Editor::redisplay_tempo (bool immediate_redraw)
return;
}
- ARDOUR::TempoMap::BBTPointList::const_iterator current_bbt_points_begin;
- ARDOUR::TempoMap::BBTPointList::const_iterator current_bbt_points_end;
-
- compute_current_bbt_points (leftmost_frame, leftmost_frame + current_page_frames(),
- current_bbt_points_begin, current_bbt_points_end);
-
if (immediate_redraw) {
- redraw_measures ();
+ ARDOUR::TempoMap::BBTPointList::const_iterator current_bbt_points_begin;
+ ARDOUR::TempoMap::BBTPointList::const_iterator current_bbt_points_end;
+
+ compute_current_bbt_points (leftmost_frame, leftmost_frame + current_page_samples(),
+ current_bbt_points_begin, current_bbt_points_end);
+ draw_measures (current_bbt_points_begin, current_bbt_points_end);
+ update_tempo_based_rulers (current_bbt_points_begin, current_bbt_points_end); // redraw rulers and measures
+
} else {
-#ifdef GTKOSX
- redraw_measures ();
-#else
- Glib::signal_idle().connect (sigc::mem_fun (*this, &Editor::redraw_measures));
-#endif
+ Glib::signal_idle().connect (sigc::bind_return (sigc::bind (sigc::mem_fun (*this, &Editor::redisplay_tempo), true), false));
}
- update_tempo_based_rulers (current_bbt_points_begin, current_bbt_points_end); // redraw rulers and measures
}
void
@@ -166,20 +162,9 @@ Editor::compute_current_bbt_points (framepos_t leftmost, framepos_t rightmost,
void
Editor::hide_measures ()
{
- if (tempo_lines)
+ if (tempo_lines) {
tempo_lines->hide();
-}
-
-bool
-Editor::redraw_measures ()
-{
- ARDOUR::TempoMap::BBTPointList::const_iterator begin;
- ARDOUR::TempoMap::BBTPointList::const_iterator end;
-
- compute_current_bbt_points (leftmost_frame, leftmost_frame + current_page_frames(), begin, end);
- draw_measures (begin, end);
-
- return false;
+ }
}
void
@@ -191,10 +176,10 @@ Editor::draw_measures (ARDOUR::TempoMap::BBTPointList::const_iterator& begin,
}
if (tempo_lines == 0) {
- tempo_lines = new TempoLines(*track_canvas, time_line_group, physical_screen_height(get_window()));
+ tempo_lines = new TempoLines (time_line_group, ArdourCanvas::LineSet::Vertical);
}
-
- tempo_lines->draw (begin, end, frames_per_unit);
+
+ tempo_lines->draw (begin, end);
}
void
@@ -358,41 +343,15 @@ Editor::edit_tempo_section (TempoSection* section)
}
void
-Editor::edit_tempo_marker (ArdourCanvas::Item *item)
+Editor::edit_tempo_marker (TempoMarker& tm)
{
- Marker* marker;
- TempoMarker* tempo_marker;
-
- if ((marker = reinterpret_cast<Marker *> (item->get_data ("marker"))) == 0) {
- fatal << _("programming error: tempo marker canvas item has no marker object pointer!") << endmsg;
- /*NOTREACHED*/
- }
-
- if ((tempo_marker = dynamic_cast<TempoMarker*> (marker)) == 0) {
- fatal << _("programming error: marker for tempo is not a tempo marker!") << endmsg;
- /*NOTREACHED*/
- }
-
- edit_tempo_section (&tempo_marker->tempo());
+ edit_tempo_section (&tm.tempo());
}
void
-Editor::edit_meter_marker (ArdourCanvas::Item *item)
+Editor::edit_meter_marker (MeterMarker& mm)
{
- Marker* marker;
- MeterMarker* meter_marker;
-
- if ((marker = reinterpret_cast<Marker *> (item->get_data ("marker"))) == 0) {
- fatal << _("programming error: tempo marker canvas item has no marker object pointer!") << endmsg;
- /*NOTREACHED*/
- }
-
- if ((meter_marker = dynamic_cast<MeterMarker*> (marker)) == 0) {
- fatal << _("programming error: marker for meter is not a meter marker!") << endmsg;
- /*NOTREACHED*/
- }
-
- edit_meter_section (&meter_marker->meter());
+ edit_meter_section (&mm.meter());
}
gint
diff --git a/gtk2_ardour/editor_timefx.cc b/gtk2_ardour/editor_timefx.cc
index 06823fda19..765030507b 100644
--- a/gtk2_ardour/editor_timefx.cc
+++ b/gtk2_ardour/editor_timefx.cc
@@ -402,9 +402,12 @@ Editor::timefx_thread (void *arg)
by the GUI ...
*/
+#ifdef PLATFORM_WINDOWS
+ Glib::usleep(2 * G_USEC_PER_SEC);
+#else
struct timespec t = { 2, 0 };
nanosleep (&t, 0);
-
+#endif
return 0;
}
diff --git a/gtk2_ardour/editor_videotimeline.cc b/gtk2_ardour/editor_videotimeline.cc
index d4522353c2..259e3e36e1 100644
--- a/gtk2_ardour/editor_videotimeline.cc
+++ b/gtk2_ardour/editor_videotimeline.cc
@@ -18,7 +18,7 @@
*/
-#include <jack/types.h>
+#include <glib/gstdio.h>
#include "ardour/profile.h"
#include "ardour/rc_configuration.h"
@@ -27,8 +27,7 @@
#include "ardour_ui.h"
#include "editor.h"
-#include "simplerect.h"
-#include "canvas_impl.h"
+#include "canvas/rectangle.h"
#include "editing.h"
#include "audio_time_axis.h"
#include "video_image_frame.h"
@@ -47,9 +46,7 @@ Editor::set_video_timeline_height (const int h)
if (videotl_bar_height == h) { return; }
if (h < 2 || h > 8) { return; }
videotl_bar_height = h;
- const double nh = (videotl_bar_height * timebar_height - ((ARDOUR::Profile->get_sae())?1.0:0.0));
videotl_label.set_size_request (-1, (int)timebar_height * videotl_bar_height);
- videotl_bar->property_y2().set_value(nh);
ARDOUR_UI::instance()->video_timeline->set_height(videotl_bar_height * timebar_height);
update_ruler_visibility();
}
@@ -57,16 +54,6 @@ Editor::set_video_timeline_height (const int h)
void
Editor::update_video_timeline (bool flush)
{
-#if DEBUG
- framepos_t rightmost_frame = leftmost_frame + current_page_frames();
- std::cout << "VIDEO SCROLL: " << leftmost_frame << " -- " << rightmost_frame << std::endl;
- std::cout << "SCROLL UNITS: " << frame_to_unit(leftmost_frame) << " -- " << frame_to_unit(rightmost_frame)
- << " = " << frame_to_unit(rightmost_frame) - frame_to_unit(leftmost_frame)
- << std::endl;
-#endif
-
- // TODO later: make this a list for mult. video tracks
- // also modify ardour_ui_dialogs.cc : set_session()
if (flush) {
ARDOUR_UI::instance()->video_timeline->flush_local_cache();
}
@@ -116,7 +103,7 @@ Editor::embed_audio_from_video (std::string path, framepos_t n, bool lock_positi
}
import_status.all_done = true;
- unlink(path.c_str());
+ ::g_unlink(path.c_str());
}
void
@@ -138,10 +125,6 @@ Editor::export_video (bool range)
}
ExportVideoDialog dialog (_session, get_selection().time, range);
Gtk::ResponseType r = (Gtk::ResponseType) dialog.run();
+ (void) r; // keep gcc quiet
dialog.hide();
-#if 0
- if (r == Gtk::RESPONSE_ACCEPT) {
- ARDOUR_UI::instance()->popup_error(string_compose(_("Export Successful: %1"),dialog.get_exported_filename()));
- }
-#endif
}
diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc
index 8cd0473c08..f3dba387ab 100644
--- a/gtk2_ardour/engine_dialog.cc
+++ b/gtk2_ardour/engine_dialog.cc
@@ -40,6 +40,7 @@
#include "ardour/audio_backend.h"
#include "ardour/audioengine.h"
#include "ardour/mtdm.h"
+#include "ardour/mididm.h"
#include "ardour/rc_configuration.h"
#include "ardour/types.h"
@@ -57,11 +58,12 @@ using namespace Gtk;
using namespace Gtkmm2ext;
using namespace PBD;
using namespace Glib;
+using namespace ARDOUR_UI_UTILS;
-static const unsigned int midi_tab = -1; /* not currently in use */
+static const unsigned int midi_tab = 2;
static const unsigned int latency_tab = 1; /* zero-based, page zero is the main setup page */
-static const char* results_markup = X_("<span foreground=\"red\" style=\"italic\" size=\"larger\">%1</span>");
+static const char* results_markup = X_("<span weight=\"bold\" size=\"larger\">%1</span>");
EngineControl::EngineControl ()
: ArdourDialog (_("Audio/MIDI Setup"))
@@ -77,14 +79,15 @@ EngineControl::EngineControl ()
, ports_adjustment (128, 8, 1024, 1, 16)
, ports_spinner (ports_adjustment)
, control_app_button (_("Device Control Panel"))
+ , midi_devices_button (_("Midi Device Setup"))
, lm_measure_label (_("Measure"))
, lm_use_button (_("Use results"))
, lm_back_button (_("Back to settings ... (ignore results)"))
- , lm_button (_("Calibrate..."))
+ , lm_button_audio (_("Calibrate Audio"))
, lm_table (12, 3)
, have_lm_results (false)
, lm_running (false)
- , midi_refresh_button (_("Refresh list"))
+ , midi_back_button (_("Back to settings"))
, ignore_changes (0)
, _desired_sample_rate (0)
, started_at_least_once (false)
@@ -97,8 +100,7 @@ EngineControl::EngineControl ()
set_name (X_("AudioMIDISetup"));
- /* the backend combo is the one thing that is ALWAYS visible
- */
+ /* the backend combo is the one thing that is ALWAYS visible */
vector<const ARDOUR::AudioBackendInfo*> backends = ARDOUR::AudioEngine::instance()->available_backends();
@@ -128,30 +130,26 @@ EngineControl::EngineControl ()
basic_hbox.pack_start (basic_packer, false, false);
- /* latency tab */
-
/* latency measurement tab */
-
+
lm_title.set_markup (string_compose ("<span size=\"large\" weight=\"bold\">%1</span>", _("Latency Measurement Tool")));
-
+
row = 0;
lm_table.set_row_spacings (12);
lm_table.set_col_spacings (6);
lm_table.set_homogeneous (false);
-
+
lm_table.attach (lm_title, 0, 3, row, row+1, xopt, (AttachOptions) 0);
row++;
- Gtk::Label* preamble;
-
- preamble = manage (new Label);
- preamble->set_width_chars (60);
- preamble->set_line_wrap (true);
- preamble->set_markup (_("<span weight=\"bold\">Turn down the volume on your audio equipment to a very low level.</span>"));
+ lm_preamble.set_width_chars (60);
+ lm_preamble.set_line_wrap (true);
+ lm_preamble.set_markup (_("<span weight=\"bold\">Turn down the volume on your audio equipment to a very low level.</span>"));
- lm_table.attach (*preamble, 0, 3, row, row+1, AttachOptions(FILL|EXPAND), (AttachOptions) 0);
+ lm_table.attach (lm_preamble, 0, 3, row, row+1, AttachOptions(FILL|EXPAND), (AttachOptions) 0);
row++;
+ Gtk::Label* preamble;
preamble = manage (new Label);
preamble->set_width_chars (60);
preamble->set_line_wrap (true);
@@ -182,8 +180,8 @@ EngineControl::EngineControl ()
lm_measure_button.add (lm_measure_label);
lm_measure_button.signal_clicked().connect (sigc::mem_fun (*this, &EngineControl::latency_button_clicked));
lm_use_button.signal_clicked().connect (sigc::mem_fun (*this, &EngineControl::use_latency_button_clicked));
- lm_back_button.signal_clicked().connect (sigc::bind (sigc::mem_fun (notebook, &Gtk::Notebook::set_current_page), 0));
-
+ lm_back_button_signal = lm_back_button.signal_clicked().connect (sigc::bind (sigc::mem_fun (notebook, &Gtk::Notebook::set_current_page), 0));
+
lm_use_button.set_sensitive (false);
/* Increase the default spacing around the labels of these three
@@ -213,13 +211,13 @@ EngineControl::EngineControl ()
preamble->set_markup (_("When satisfied with the results, click the \"Use results\" button."));
lm_table.attach (*preamble, 0, 3, row, row+1, AttachOptions(FILL|EXPAND), (AttachOptions) 0);
- ++row; // skip a row in the table
- ++row; // skip a row in the table
+ ++row; // skip a row in the table
+ ++row; // skip a row in the table
lm_table.attach (lm_results, 0, 3, row, row+1, AttachOptions(FILL|EXPAND), (AttachOptions) 0);
- ++row; // skip a row in the table
- ++row; // skip a row in the table
+ ++row; // skip a row in the table
+ ++row; // skip a row in the table
lm_table.attach (lm_measure_button, 0, 1, row, row+1, AttachOptions(FILL|EXPAND), (AttachOptions) 0);
lm_table.attach (lm_use_button, 1, 2, row, row+1, AttachOptions(FILL|EXPAND), (AttachOptions) 0);
@@ -230,11 +228,13 @@ EngineControl::EngineControl ()
lm_vbox.set_border_width (12);
lm_vbox.pack_start (lm_table, false, false);
+ midi_back_button.signal_clicked().connect (sigc::bind (sigc::mem_fun (notebook, &Gtk::Notebook::set_current_page), 0));
+
/* pack it all up */
notebook.pages().push_back (TabElem (basic_vbox, _("Audio")));
- // notebook.pages().push_back (TabElem (midi_vbox, _("MIDI")));
notebook.pages().push_back (TabElem (lm_vbox, _("Latency")));
+ notebook.pages().push_back (TabElem (midi_vbox, _("MIDI")));
notebook.set_border_width (12);
notebook.set_show_tabs (false);
@@ -254,6 +254,11 @@ EngineControl::EngineControl ()
input_channels.signal_output().connect (sigc::bind (sigc::ptr_fun (&EngineControl::print_channel_count), &input_channels));
output_channels.signal_output().connect (sigc::bind (sigc::ptr_fun (&EngineControl::print_channel_count), &output_channels));
+ midi_devices_button.signal_clicked.connect (mem_fun (*this, &EngineControl::configure_midi_devices));
+ midi_devices_button.set_sensitive (false);
+ midi_devices_button.set_name ("generic button");
+ midi_devices_button.set_can_focus(true);
+
control_app_button.signal_clicked().connect (mem_fun (*this, &EngineControl::control_app_button_clicked));
manage_control_app_sensitivity ();
@@ -269,11 +274,15 @@ EngineControl::EngineControl ()
ARDOUR::AudioEngine::instance()->Stopped.connect (stopped_connection, MISSING_INVALIDATOR, boost::bind (&EngineControl::engine_stopped, this), gui_context());
ARDOUR::AudioEngine::instance()->Halted.connect (stopped_connection, MISSING_INVALIDATOR, boost::bind (&EngineControl::engine_stopped, this), gui_context());
- backend_changed ();
-
- if (audio_setup) {
+ if (audio_setup)
+ {
set_state (*audio_setup);
}
+ {
+ /* ignore: don't save state */
+ PBD::Unwinder<uint32_t> protect_ignore_changes (ignore_changes, ignore_changes + 1);
+ backend_changed ();
+ }
/* Connect to signals */
@@ -289,1406 +298,1705 @@ EngineControl::EngineControl ()
output_channels.signal_changed().connect (sigc::mem_fun (*this, &EngineControl::parameter_changed));
notebook.signal_switch_page().connect (sigc::mem_fun (*this, &EngineControl::on_switch_page));
- }
-
- void
- EngineControl::on_response (int response_id)
- {
- ArdourDialog::on_response (response_id);
-
- switch (response_id) {
- case RESPONSE_APPLY:
- push_state_to_backend (true);
- break;
- case RESPONSE_OK:
- push_state_to_backend (true);
- hide ();
- break;
- case RESPONSE_DELETE_EVENT: {
- GdkEventButton ev;
- ev.type = GDK_BUTTON_PRESS;
- ev.button = 1;
- on_delete_event ((GdkEventAny*) &ev);
- break;
- }
- default:
- hide ();
- }
- }
-
- void
- EngineControl::build_notebook ()
- {
- Label* label;
- AttachOptions xopt = AttachOptions (FILL|EXPAND);
-
- /* clear the table */
-
- Gtkmm2ext::container_clear (basic_vbox);
- Gtkmm2ext::container_clear (basic_packer);
-
- if (control_app_button.get_parent()) {
- control_app_button.get_parent()->remove (control_app_button);
- }
-
- label = manage (left_aligned_label (_("Audio System:")));
- basic_packer.attach (*label, 0, 1, 0, 1, xopt, (AttachOptions) 0);
- basic_packer.attach (backend_combo, 1, 2, 0, 1, xopt, (AttachOptions) 0);
-
- lm_button.signal_clicked.connect (sigc::mem_fun (*this, &EngineControl::calibrate_latency));
- lm_button.set_name ("record enable button");
- if (_have_control) {
- build_full_control_notebook ();
- } else {
- build_no_control_notebook ();
- }
-
- basic_vbox.pack_start (basic_hbox, false, false);
-
- if (_have_control) {
- Gtk::HBox* hpacker = manage (new HBox);
- hpacker->set_border_width (12);
- hpacker->pack_start (control_app_button, false, false);
- hpacker->show ();
- control_app_button.show();
- basic_vbox.pack_start (*hpacker);
- }
-
- basic_vbox.show_all ();
- }
-
- void
- EngineControl::build_full_control_notebook ()
- {
- boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
- assert (backend);
-
- using namespace Notebook_Helpers;
- Label* label;
- vector<string> strings;
- AttachOptions xopt = AttachOptions (FILL|EXPAND);
- int row = 1; // row zero == backend combo
-
- /* start packing it up */
-
- if (backend->requires_driver_selection()) {
- label = manage (left_aligned_label (_("Driver:")));
- basic_packer.attach (*label, 0, 1, row, row + 1, xopt, (AttachOptions) 0);
- basic_packer.attach (driver_combo, 1, 2, row, row + 1, xopt, (AttachOptions) 0);
- row++;
- }
-
- label = manage (left_aligned_label (_("Device:")));
- basic_packer.attach (*label, 0, 1, row, row + 1, xopt, (AttachOptions) 0);
- basic_packer.attach (device_combo, 1, 2, row, row + 1, xopt, (AttachOptions) 0);
- row++;
-
- label = manage (left_aligned_label (_("Sample rate:")));
- basic_packer.attach (*label, 0, 1, row, row + 1, xopt, (AttachOptions) 0);
- basic_packer.attach (sample_rate_combo, 1, 2, row, row + 1, xopt, (AttachOptions) 0);
- row++;
-
-
- label = manage (left_aligned_label (_("Buffer size:")));
- basic_packer.attach (*label, 0, 1, row, row + 1, xopt, (AttachOptions) 0);
- basic_packer.attach (buffer_size_combo, 1, 2, row, row + 1, xopt, (AttachOptions) 0);
- buffer_size_duration_label.set_alignment (0.0); /* left-align */
- basic_packer.attach (buffer_size_duration_label, 2, 3, row, row+1, SHRINK, (AttachOptions) 0);
- row++;
-
- input_channels.set_name ("InputChannels");
- input_channels.set_flags(Gtk::CAN_FOCUS);
- input_channels.set_digits(0);
- input_channels.set_wrap(false);
- output_channels.set_editable (true);
-
- label = manage (left_aligned_label (_("Input Channels:")));
- basic_packer.attach (*label, 0, 1, row, row+1, xopt, (AttachOptions) 0);
- basic_packer.attach (input_channels, 1, 2, row, row+1, xopt, (AttachOptions) 0);
- ++row;
-
- output_channels.set_name ("OutputChannels");
- output_channels.set_flags(Gtk::CAN_FOCUS);
- output_channels.set_digits(0);
- output_channels.set_wrap(false);
- output_channels.set_editable (true);
-
- label = manage (left_aligned_label (_("Output Channels:")));
- basic_packer.attach (*label, 0, 1, row, row+1, xopt, (AttachOptions) 0);
- basic_packer.attach (output_channels, 1, 2, row, row+1, xopt, (AttachOptions) 0);
- ++row;
-
- input_latency.set_name ("InputLatency");
- input_latency.set_flags(Gtk::CAN_FOCUS);
- input_latency.set_digits(0);
- input_latency.set_wrap(false);
- input_latency.set_editable (true);
-
- label = manage (left_aligned_label (_("Hardware input latency:")));
- basic_packer.attach (*label, 0, 1, row, row+1, xopt, (AttachOptions) 0);
- basic_packer.attach (input_latency, 1, 2, row, row+1, xopt, (AttachOptions) 0);
- label = manage (left_aligned_label (_("samples")));
- basic_packer.attach (*label, 2, 3, row, row+1, SHRINK, (AttachOptions) 0);
- ++row;
-
- output_latency.set_name ("OutputLatency");
- output_latency.set_flags(Gtk::CAN_FOCUS);
- output_latency.set_digits(0);
- output_latency.set_wrap(false);
- output_latency.set_editable (true);
-
- label = manage (left_aligned_label (_("Hardware output latency:")));
- basic_packer.attach (*label, 0, 1, row, row+1, xopt, (AttachOptions) 0);
- basic_packer.attach (output_latency, 1, 2, row, row+1, xopt, (AttachOptions) 0);
- label = manage (left_aligned_label (_("samples")));
- basic_packer.attach (*label, 2, 3, row, row+1, SHRINK, (AttachOptions) 0);
-
- /* button spans 2 rows */
-
- basic_packer.attach (lm_button, 3, 4, row-1, row+1, xopt, xopt);
- ++row;
-
- label = manage (left_aligned_label (_("MIDI System")));
- basic_packer.attach (*label, 0, 1, row, row + 1, xopt, (AttachOptions) 0);
- basic_packer.attach (midi_option_combo, 1, 2, row, row + 1, SHRINK, (AttachOptions) 0);
- row++;
- }
-
- void
- EngineControl::build_no_control_notebook ()
- {
- boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
- assert (backend);
-
- using namespace Notebook_Helpers;
- Label* label;
- vector<string> strings;
- AttachOptions xopt = AttachOptions (FILL|EXPAND);
- int row = 1; // row zero == backend combo
- const string msg = string_compose (_("The %1 audio backend was configured and started externally.\nThis limits your control over it."), backend->name());
-
- label = manage (new Label);
- label->set_markup (string_compose ("<span weight=\"bold\" foreground=\"red\">%1</span>", msg));
- basic_packer.attach (*label, 0, 2, row, row + 1, xopt, (AttachOptions) 0);
- row++;
-
- if (backend->can_change_sample_rate_when_running()) {
- label = manage (left_aligned_label (_("Sample rate:")));
- basic_packer.attach (*label, 0, 1, row, row + 1, xopt, (AttachOptions) 0);
- basic_packer.attach (sample_rate_combo, 1, 2, row, row + 1, xopt, (AttachOptions) 0);
- row++;
- }
-
- if (backend->can_change_buffer_size_when_running()) {
- label = manage (left_aligned_label (_("Buffer size:")));
- basic_packer.attach (*label, 0, 1, row, row + 1, xopt, (AttachOptions) 0);
- basic_packer.attach (buffer_size_combo, 1, 2, row, row + 1, xopt, (AttachOptions) 0);
- buffer_size_duration_label.set_alignment (0.0); /* left-align */
- basic_packer.attach (buffer_size_duration_label, 2, 3, row, row+1, xopt, (AttachOptions) 0);
- row++;
- }
-
- connect_disconnect_button.signal_clicked().connect (sigc::mem_fun (*this, &EngineControl::connect_disconnect_click));
-
- basic_packer.attach (connect_disconnect_button, 0, 2, row, row+1, FILL, AttachOptions (0));
- row++;
- }
-
- EngineControl::~EngineControl ()
- {
- ignore_changes = true;
- }
-
- void
- EngineControl::disable_latency_tab ()
- {
- vector<string> empty;
- set_popdown_strings (lm_output_channel_combo, empty);
- set_popdown_strings (lm_input_channel_combo, empty);
- lm_measure_button.set_sensitive (false);
- lm_use_button.set_sensitive (false);
- }
-
- void
- EngineControl::enable_latency_tab ()
- {
- vector<string> outputs;
- vector<string> inputs;
-
- ARDOUR::AudioEngine::instance()->get_physical_outputs (ARDOUR::DataType::AUDIO, outputs);
- ARDOUR::AudioEngine::instance()->get_physical_inputs (ARDOUR::DataType::AUDIO, inputs);
-
- if (inputs.empty() || outputs.empty()) {
- MessageDialog msg (_("Your selected audio configuration is playback- or capture-only.\n\nLatency calibration requires playback and capture"));
- lm_measure_button.set_sensitive (false);
- notebook.set_current_page (0);
- msg.run ();
- return;
- }
-
- if (!outputs.empty()) {
- set_popdown_strings (lm_output_channel_combo, outputs);
- lm_output_channel_combo.set_active_text (outputs.front());
- lm_output_channel_combo.set_sensitive (true);
- } else {
- lm_output_channel_combo.set_sensitive (false);
- }
-
- if (!inputs.empty()) {
- set_popdown_strings (lm_input_channel_combo, inputs);
- lm_input_channel_combo.set_active_text (inputs.front());
- lm_input_channel_combo.set_sensitive (true);
- } else {
- lm_input_channel_combo.set_sensitive (false);
- }
-
- lm_measure_button.set_sensitive (true);
- }
-
- void
- EngineControl::setup_midi_tab_for_backend ()
- {
- string backend = backend_combo.get_active_text ();
-
- Gtkmm2ext::container_clear (midi_vbox);
-
- midi_vbox.set_border_width (12);
- midi_device_table.set_border_width (12);
-
- if (backend == "JACK") {
- setup_midi_tab_for_jack ();
- }
-
- midi_vbox.pack_start (midi_device_table, true, true);
- midi_vbox.pack_start (midi_refresh_button, false, false);
- midi_vbox.show_all ();
-
- midi_refresh_button.signal_clicked().connect (sigc::mem_fun (*this, &EngineControl::refresh_midi_display));
- }
-
- void
- EngineControl::setup_midi_tab_for_jack ()
- {
- }
-
- void
- EngineControl::refresh_midi_display ()
- {
- boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
- assert (backend);
-
- vector<string> midi_inputs;
- vector<string> midi_outputs;
- int row = 0;
- AttachOptions xopt = AttachOptions (FILL|EXPAND);
- Gtk::Label* l;
-
- Gtkmm2ext::container_clear (midi_device_table);
-
- backend->get_physical_inputs (ARDOUR::DataType::MIDI, midi_inputs);
- backend->get_physical_outputs (ARDOUR::DataType::MIDI, midi_outputs);
-
- midi_device_table.set_spacings (6);
- midi_device_table.set_homogeneous (true);
- midi_device_table.resize (midi_inputs.size() + midi_outputs.size() + 3, 1);
-
- l = manage (new Label);
- l->set_markup (string_compose ("<span size=\"large\" weight=\"bold\">%1</span>", _("MIDI Inputs")));
- midi_device_table.attach (*l, 0, 1, row, row + 1, xopt, AttachOptions (0));
- l->set_alignment (0, 0.5);
- row++;
- l->show ();
-
- for (vector<string>::iterator p = midi_inputs.begin(); p != midi_inputs.end(); ++p) {
- l = manage (new Label ((*p).substr ((*p).find_last_of (':') + 1)));
- l->set_alignment (0, 0.5);
- midi_device_table.attach (*l, 0, 1, row, row + 1, xopt, AttachOptions (0));
- l->show ();
- row++;
- }
-
- row++; // extra row of spacing
-
- l = manage (new Label);
- l->set_markup (string_compose ("<span size=\"large\" weight=\"bold\">%1</span>", _("MIDI Outputs")));
- midi_device_table.attach (*l, 0, 1, row, row + 1, xopt, AttachOptions (0));
- l->set_alignment (0, 0.5);
- row++;
- l->show ();
-
- for (vector<string>::iterator p = midi_outputs.begin(); p != midi_outputs.end(); ++p) {
- l = manage (new Label ((*p).substr ((*p).find_last_of (':') + 1)));
- l->set_alignment (0, 0.5);
- midi_device_table.attach (*l, 0, 1, row, row + 1, xopt, AttachOptions (0));
- l->show ();
- row++;
- }
- }
-
- void
- EngineControl::update_sensitivity ()
- {
- }
-
- void
- EngineControl::backend_changed ()
- {
- if (ignore_changes) {
- return;
- }
-
- string backend_name = backend_combo.get_active_text();
- boost::shared_ptr<ARDOUR::AudioBackend> backend;
-
- if (!(backend = ARDOUR::AudioEngine::instance()->set_backend (backend_name, "ardour", ""))) {
- /* eh? setting the backend failed... how ? */
- return;
- }
-
- _have_control = ARDOUR::AudioEngine::instance()->setup_required ();
-
- build_notebook ();
- setup_midi_tab_for_backend ();
-
- if (backend->requires_driver_selection()) {
- vector<string> drivers = backend->enumerate_drivers();
-
- if (!drivers.empty()) {
- {
- PBD::Unwinder<uint32_t> protect_ignore_changes (ignore_changes, ignore_changes + 1);
- set_popdown_strings (driver_combo, drivers);
- driver_combo.set_active_text (drivers.front());
- }
-
- driver_changed ();
- }
-
- } else {
- driver_combo.set_sensitive (false);
- /* this will change the device text which will cause a call to
- * device changed which will set up parameters
- */
- list_devices ();
- }
-
- vector<string> midi_options = backend->enumerate_midi_options();
-
- if (midi_options.size() == 1) {
- /* only contains the "none" option */
- midi_option_combo.set_sensitive (false);
- } else {
- if (_have_control) {
- set_popdown_strings (midi_option_combo, midi_options);
- midi_option_combo.set_active_text (midi_options.front());
- midi_option_combo.set_sensitive (true);
- } else {
- midi_option_combo.set_sensitive (false);
- }
- }
-
- maybe_display_saved_state ();
- }
-
- bool
- EngineControl::print_channel_count (Gtk::SpinButton* sb)
- {
- uint32_t cnt = (uint32_t) sb->get_value();
- if (cnt == 0) {
- sb->set_text (_("all available channels"));
- } else {
- char buf[32];
- snprintf (buf, sizeof (buf), "%d", cnt);
- sb->set_text (buf);
- }
- return true;
- }
-
- void
- EngineControl::list_devices ()
- {
- boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
- assert (backend);
-
- /* now fill out devices, mark sample rates, buffer sizes insensitive */
-
- vector<ARDOUR::AudioBackend::DeviceStatus> all_devices = backend->enumerate_devices ();
-
- /* NOTE: Ardour currently does not display the "available" field of the
- * returned devices.
- *
- * Doing so would require a different GUI widget than the combo
- * box/popdown that we currently use, since it has no way to list
- * items that are not selectable. Something more like a popup menu,
- * which could have unselectable items, would be appropriate.
- */
-
- vector<string> available_devices;
-
- for (vector<ARDOUR::AudioBackend::DeviceStatus>::const_iterator i = all_devices.begin(); i != all_devices.end(); ++i) {
- available_devices.push_back (i->name);
- }
-
- if (!available_devices.empty()) {
-
- update_sensitivity ();
-
- {
- PBD::Unwinder<uint32_t> protect_ignore_changes (ignore_changes, ignore_changes + 1);
- set_popdown_strings (device_combo, available_devices);
- device_combo.set_active_text (available_devices.front());
- }
-
- device_changed ();
-
- ok_button->set_sensitive (true);
- apply_button->set_sensitive (true);
-
- } else {
- sample_rate_combo.set_sensitive (false);
- buffer_size_combo.set_sensitive (false);
- input_latency.set_sensitive (false);
- output_latency.set_sensitive (false);
- input_channels.set_sensitive (false);
- output_channels.set_sensitive (false);
- ok_button->set_sensitive (false);
- apply_button->set_sensitive (false);
- }
- }
-
- void
- EngineControl::driver_changed ()
- {
- if (ignore_changes) {
- return;
- }
-
- boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
- assert (backend);
-
- backend->set_driver (driver_combo.get_active_text());
- list_devices ();
-
- maybe_display_saved_state ();
- }
-
- void
- EngineControl::device_changed ()
- {
- if (ignore_changes) {
- return;
- }
-
- boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
- assert (backend);
- string device_name = device_combo.get_active_text ();
- vector<string> s;
-
- {
- PBD::Unwinder<uint32_t> protect_ignore_changes (ignore_changes, ignore_changes + 1);
-
- /* don't allow programmatic change to combos to cause a
- recursive call to this method.
+}
+
+void
+EngineControl::on_show ()
+{
+ ArdourDialog::on_show ();
+ ok_button->grab_focus();
+}
+
+void
+EngineControl::on_response (int response_id)
+{
+ ArdourDialog::on_response (response_id);
+
+ switch (response_id) {
+ case RESPONSE_APPLY:
+ push_state_to_backend (true);
+ break;
+ case RESPONSE_OK:
+ push_state_to_backend (true);
+ hide ();
+ break;
+ case RESPONSE_DELETE_EVENT:
+ {
+ GdkEventButton ev;
+ ev.type = GDK_BUTTON_PRESS;
+ ev.button = 1;
+ on_delete_event ((GdkEventAny*) &ev);
+ break;
+ }
+ default:
+ hide ();
+ }
+}
+
+void
+EngineControl::build_notebook ()
+{
+ Label* label;
+ AttachOptions xopt = AttachOptions (FILL|EXPAND);
+
+ /* clear the table */
+
+ Gtkmm2ext::container_clear (basic_vbox);
+ Gtkmm2ext::container_clear (basic_packer);
+
+ if (control_app_button.get_parent()) {
+ control_app_button.get_parent()->remove (control_app_button);
+ }
+
+ label = manage (left_aligned_label (_("Audio System:")));
+ basic_packer.attach (*label, 0, 1, 0, 1, xopt, (AttachOptions) 0);
+ basic_packer.attach (backend_combo, 1, 2, 0, 1, xopt, (AttachOptions) 0);
+
+ lm_button_audio.signal_clicked.connect (sigc::mem_fun (*this, &EngineControl::calibrate_audio_latency));
+ lm_button_audio.set_name ("generic button");
+ lm_button_audio.set_can_focus(true);
+
+ if (_have_control) {
+ build_full_control_notebook ();
+ } else {
+ build_no_control_notebook ();
+ }
+
+ basic_vbox.pack_start (basic_hbox, false, false);
+
+ if (_have_control) {
+ Gtk::HBox* hpacker = manage (new HBox);
+ hpacker->set_border_width (12);
+ hpacker->pack_start (control_app_button, false, false);
+ hpacker->show ();
+ control_app_button.show();
+ basic_vbox.pack_start (*hpacker);
+ }
+
+ {
+ PBD::Unwinder<uint32_t> protect_ignore_changes (ignore_changes, ignore_changes + 1);
+ basic_vbox.show_all ();
+ }
+}
+
+void
+EngineControl::build_full_control_notebook ()
+{
+ boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
+ assert (backend);
+
+ using namespace Notebook_Helpers;
+ Label* label;
+ vector<string> strings;
+ AttachOptions xopt = AttachOptions (FILL|EXPAND);
+ int row = 1; // row zero == backend combo
+
+ /* start packing it up */
+
+ if (backend->requires_driver_selection()) {
+ label = manage (left_aligned_label (_("Driver:")));
+ basic_packer.attach (*label, 0, 1, row, row + 1, xopt, (AttachOptions) 0);
+ basic_packer.attach (driver_combo, 1, 2, row, row + 1, xopt, (AttachOptions) 0);
+ row++;
+ }
+
+ label = manage (left_aligned_label (_("Device:")));
+ basic_packer.attach (*label, 0, 1, row, row + 1, xopt, (AttachOptions) 0);
+ basic_packer.attach (device_combo, 1, 2, row, row + 1, xopt, (AttachOptions) 0);
+ row++;
+
+ label = manage (left_aligned_label (_("Sample rate:")));
+ basic_packer.attach (*label, 0, 1, row, row + 1, xopt, (AttachOptions) 0);
+ basic_packer.attach (sample_rate_combo, 1, 2, row, row + 1, xopt, (AttachOptions) 0);
+ row++;
+
+
+ label = manage (left_aligned_label (_("Buffer size:")));
+ basic_packer.attach (*label, 0, 1, row, row + 1, xopt, (AttachOptions) 0);
+ basic_packer.attach (buffer_size_combo, 1, 2, row, row + 1, xopt, (AttachOptions) 0);
+ buffer_size_duration_label.set_alignment (0.0); /* left-align */
+ basic_packer.attach (buffer_size_duration_label, 2, 3, row, row+1, SHRINK, (AttachOptions) 0);
+ row++;
+
+ input_channels.set_name ("InputChannels");
+ input_channels.set_flags (Gtk::CAN_FOCUS);
+ input_channels.set_digits (0);
+ input_channels.set_wrap (false);
+ output_channels.set_editable (true);
+
+ label = manage (left_aligned_label (_("Input Channels:")));
+ basic_packer.attach (*label, 0, 1, row, row+1, xopt, (AttachOptions) 0);
+ basic_packer.attach (input_channels, 1, 2, row, row+1, xopt, (AttachOptions) 0);
+ ++row;
+
+ output_channels.set_name ("OutputChannels");
+ output_channels.set_flags (Gtk::CAN_FOCUS);
+ output_channels.set_digits (0);
+ output_channels.set_wrap (false);
+ output_channels.set_editable (true);
+
+ label = manage (left_aligned_label (_("Output Channels:")));
+ basic_packer.attach (*label, 0, 1, row, row+1, xopt, (AttachOptions) 0);
+ basic_packer.attach (output_channels, 1, 2, row, row+1, xopt, (AttachOptions) 0);
+ ++row;
+
+ input_latency.set_name ("InputLatency");
+ input_latency.set_flags (Gtk::CAN_FOCUS);
+ input_latency.set_digits (0);
+ input_latency.set_wrap (false);
+ input_latency.set_editable (true);
+
+ label = manage (left_aligned_label (_("Hardware input latency:")));
+ basic_packer.attach (*label, 0, 1, row, row+1, xopt, (AttachOptions) 0);
+ basic_packer.attach (input_latency, 1, 2, row, row+1, xopt, (AttachOptions) 0);
+ label = manage (left_aligned_label (_("samples")));
+ basic_packer.attach (*label, 2, 3, row, row+1, SHRINK, (AttachOptions) 0);
+ ++row;
+
+ output_latency.set_name ("OutputLatency");
+ output_latency.set_flags (Gtk::CAN_FOCUS);
+ output_latency.set_digits (0);
+ output_latency.set_wrap (false);
+ output_latency.set_editable (true);
+
+ label = manage (left_aligned_label (_("Hardware output latency:")));
+ basic_packer.attach (*label, 0, 1, row, row+1, xopt, (AttachOptions) 0);
+ basic_packer.attach (output_latency, 1, 2, row, row+1, xopt, (AttachOptions) 0);
+ label = manage (left_aligned_label (_("samples")));
+ basic_packer.attach (*label, 2, 3, row, row+1, SHRINK, (AttachOptions) 0);
+
+ /* button spans 2 rows */
+
+ basic_packer.attach (lm_button_audio, 3, 4, row-1, row+1, xopt, xopt);
+ ++row;
+
+ label = manage (left_aligned_label (_("MIDI System")));
+ basic_packer.attach (*label, 0, 1, row, row + 1, xopt, (AttachOptions) 0);
+ basic_packer.attach (midi_option_combo, 1, 2, row, row + 1, SHRINK, (AttachOptions) 0);
+ basic_packer.attach (midi_devices_button, 3, 4, row, row+1, xopt, xopt);
+ row++;
+}
+
+void
+EngineControl::build_no_control_notebook ()
+{
+ boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
+ assert (backend);
+
+ using namespace Notebook_Helpers;
+ Label* label;
+ vector<string> strings;
+ AttachOptions xopt = AttachOptions (FILL|EXPAND);
+ int row = 1; // row zero == backend combo
+ const string msg = string_compose (_("The %1 audio backend was configured and started externally.\nThis limits your control over it."), backend->name());
+
+ label = manage (new Label);
+ label->set_markup (string_compose ("<span weight=\"bold\" foreground=\"red\">%1</span>", msg));
+ basic_packer.attach (*label, 0, 2, row, row + 1, xopt, (AttachOptions) 0);
+ row++;
+
+ if (backend->can_change_sample_rate_when_running()) {
+ label = manage (left_aligned_label (_("Sample rate:")));
+ basic_packer.attach (*label, 0, 1, row, row + 1, xopt, (AttachOptions) 0);
+ basic_packer.attach (sample_rate_combo, 1, 2, row, row + 1, xopt, (AttachOptions) 0);
+ row++;
+ }
+
+ if (backend->can_change_buffer_size_when_running()) {
+ label = manage (left_aligned_label (_("Buffer size:")));
+ basic_packer.attach (*label, 0, 1, row, row + 1, xopt, (AttachOptions) 0);
+ basic_packer.attach (buffer_size_combo, 1, 2, row, row + 1, xopt, (AttachOptions) 0);
+ buffer_size_duration_label.set_alignment (0.0); /* left-align */
+ basic_packer.attach (buffer_size_duration_label, 2, 3, row, row+1, xopt, (AttachOptions) 0);
+ row++;
+ }
+
+ connect_disconnect_button.signal_clicked().connect (sigc::mem_fun (*this, &EngineControl::connect_disconnect_click));
+
+ basic_packer.attach (connect_disconnect_button, 0, 2, row, row+1, FILL, AttachOptions (0));
+ row++;
+}
+
+EngineControl::~EngineControl ()
+{
+ ignore_changes = true;
+}
+
+void
+EngineControl::disable_latency_tab ()
+{
+ vector<string> empty;
+ set_popdown_strings (lm_output_channel_combo, empty);
+ set_popdown_strings (lm_input_channel_combo, empty);
+ lm_measure_button.set_sensitive (false);
+ lm_use_button.set_sensitive (false);
+}
+
+void
+EngineControl::enable_latency_tab ()
+{
+ vector<string> outputs;
+ vector<string> inputs;
+
+ ARDOUR::DataType const type = _measure_midi ? ARDOUR::DataType::MIDI : ARDOUR::DataType::AUDIO;
+ ARDOUR::AudioEngine::instance()->get_physical_outputs (type, outputs);
+ ARDOUR::AudioEngine::instance()->get_physical_inputs (type, inputs);
+
+ if (!ARDOUR::AudioEngine::instance()->running()) {
+ MessageDialog msg (_("Failed to start or connect to audio-engine.\n\nLatency calibration requires a working audio interface."));
+ notebook.set_current_page (0);
+ msg.run ();
+ return;
+ }
+ else if (inputs.empty() || outputs.empty()) {
+ MessageDialog msg (_("Your selected audio configuration is playback- or capture-only.\n\nLatency calibration requires playback and capture"));
+ notebook.set_current_page (0);
+ msg.run ();
+ return;
+ }
+
+ lm_back_button_signal.disconnect();
+ if (_measure_midi) {
+ lm_back_button_signal = lm_back_button.signal_clicked().connect (sigc::bind (sigc::mem_fun (notebook, &Gtk::Notebook::set_current_page), midi_tab));
+ lm_preamble.hide ();
+ } else {
+ lm_back_button_signal = lm_back_button.signal_clicked().connect (sigc::bind (sigc::mem_fun (notebook, &Gtk::Notebook::set_current_page), 0));
+ lm_preamble.show ();
+ }
+
+ set_popdown_strings (lm_output_channel_combo, outputs);
+ lm_output_channel_combo.set_active_text (outputs.front());
+ lm_output_channel_combo.set_sensitive (true);
+
+ set_popdown_strings (lm_input_channel_combo, inputs);
+ lm_input_channel_combo.set_active_text (inputs.front());
+ lm_input_channel_combo.set_sensitive (true);
+
+ lm_measure_button.set_sensitive (true);
+}
+
+void
+EngineControl::setup_midi_tab_for_backend ()
+{
+ string backend = backend_combo.get_active_text ();
+
+ Gtkmm2ext::container_clear (midi_vbox);
+
+ midi_vbox.set_border_width (12);
+ midi_device_table.set_border_width (12);
+
+ if (backend == "JACK") {
+ setup_midi_tab_for_jack ();
+ }
+
+ midi_vbox.pack_start (midi_device_table, true, true);
+ midi_vbox.pack_start (midi_back_button, false, false);
+ midi_vbox.show_all ();
+}
+
+void
+EngineControl::setup_midi_tab_for_jack ()
+{
+}
+
+void
+EngineControl::midi_latency_adjustment_changed (Gtk::Adjustment *a, MidiDeviceSettings device, bool for_input) {
+ if (for_input) {
+ device->input_latency = a->get_value();
+ } else {
+ device->output_latency = a->get_value();
+ }
+}
+
+void
+EngineControl::midi_device_enabled_toggled (ArdourButton *b, MidiDeviceSettings device) {
+ b->set_active (!b->get_active());
+ device->enabled = b->get_active();
+ refresh_midi_display(device->name);
+}
+
+void
+EngineControl::refresh_midi_display (std::string focus)
+{
+ boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
+ assert (backend);
+
+ int row = 0;
+ AttachOptions xopt = AttachOptions (FILL|EXPAND);
+ Gtk::Label* l;
+
+ Gtkmm2ext::container_clear (midi_device_table);
+
+ midi_device_table.set_spacings (6);
+
+ l = manage (new Label);
+ l->set_markup (string_compose ("<span size=\"large\" weight=\"bold\">%1</span>", _("MIDI Devices")));
+ midi_device_table.attach (*l, 0, 4, row, row + 1, xopt, AttachOptions (0));
+ l->set_alignment (0.5, 0.5);
+ row++;
+ l->show ();
+
+ l = manage (new Label (_("Device"))); l->show (); l->set_alignment (0.5, 0.5);
+ midi_device_table.attach (*l, 0, 1, row, row + 2, xopt, AttachOptions (0));
+ l = manage (new Label (_("Hardware Latencies"))); l->show (); l->set_alignment (0.5, 0.5);
+ midi_device_table.attach (*l, 1, 3, row, row + 1, xopt, AttachOptions (0));
+ row++;
+ l = manage (new Label (_("Input"))); l->show (); l->set_alignment (0.5, 0.5);
+ midi_device_table.attach (*l, 1, 2, row, row + 1, xopt, AttachOptions (0));
+ l = manage (new Label (_("Output"))); l->show (); l->set_alignment (0.5, 0.5);
+ midi_device_table.attach (*l, 2, 3, row, row + 1, xopt, AttachOptions (0));
+ row++;
+
+ for (vector<MidiDeviceSettings>::const_iterator p = _midi_devices.begin(); p != _midi_devices.end(); ++p) {
+ ArdourButton *m;
+ Gtk::Button* b;
+ Gtk::Adjustment *a;
+ Gtk::SpinButton *s;
+ bool enabled = (*p)->enabled;
+
+ m = manage (new ArdourButton ((*p)->name, ArdourButton::led_default_elements));
+ m->set_name ("midi device");
+ m->set_can_focus (Gtk::CAN_FOCUS);
+ m->add_events (Gdk::BUTTON_RELEASE_MASK);
+ m->set_active (enabled);
+ m->signal_clicked.connect (sigc::bind (sigc::mem_fun (*this, &EngineControl::midi_device_enabled_toggled), m, *p));
+ midi_device_table.attach (*m, 0, 1, row, row + 1, xopt, AttachOptions (0)); m->show ();
+ if ((*p)->name == focus) {
+ m->grab_focus();
+ }
+
+ a = manage (new Gtk::Adjustment (0, 0, 99999, 1));
+ s = manage (new Gtk::SpinButton (*a));
+ a->set_value ((*p)->input_latency);
+ s->signal_value_changed().connect (sigc::bind (sigc::mem_fun (*this, &EngineControl::midi_latency_adjustment_changed), a, *p, true));
+ s->set_sensitive (_can_set_midi_latencies && enabled);
+ midi_device_table.attach (*s, 1, 2, row, row + 1, xopt, AttachOptions (0)); s->show ();
+
+ a = manage (new Gtk::Adjustment (0, 0, 99999, 1));
+ s = manage (new Gtk::SpinButton (*a));
+ a->set_value ((*p)->output_latency);
+ s->signal_value_changed().connect (sigc::bind (sigc::mem_fun (*this, &EngineControl::midi_latency_adjustment_changed), a, *p, false));
+ s->set_sensitive (_can_set_midi_latencies && enabled);
+ midi_device_table.attach (*s, 2, 3, row, row + 1, xopt, AttachOptions (0)); s->show ();
+
+ b = manage (new Button (_("Calibrate")));
+ b->signal_clicked().connect (sigc::bind (sigc::mem_fun (*this, &EngineControl::calibrate_midi_latency), *p));
+ b->set_sensitive (_can_set_midi_latencies && enabled);
+ midi_device_table.attach (*b, 3, 4, row, row + 1, xopt, AttachOptions (0)); b->show ();
+
+ row++;
+ }
+}
+
+void
+EngineControl::update_sensitivity ()
+{
+}
+
+void
+EngineControl::backend_changed ()
+{
+ string backend_name = backend_combo.get_active_text();
+ boost::shared_ptr<ARDOUR::AudioBackend> backend;
+
+ if (!(backend = ARDOUR::AudioEngine::instance()->set_backend (backend_name, "ardour", ""))) {
+ /* eh? setting the backend failed... how ? */
+ return;
+ }
+
+ _have_control = ARDOUR::AudioEngine::instance()->setup_required ();
+
+ build_notebook ();
+ setup_midi_tab_for_backend ();
+ _midi_devices.clear();
+
+ if (backend->requires_driver_selection()) {
+ vector<string> drivers = backend->enumerate_drivers();
+ driver_combo.set_sensitive (true);
+
+ if (!drivers.empty()) {
+ {
+ string current_driver;
+ current_driver = backend->driver_name ();
+
+ // driver might not have been set yet
+ if (current_driver == "") {
+ current_driver = driver_combo.get_active_text ();
+ if (current_driver == "")
+ // driver has never been set, make sure it's not blank
+ current_driver = drivers.front ();
+ }
+
+ PBD::Unwinder<uint32_t> protect_ignore_changes (ignore_changes, ignore_changes + 1);
+ set_popdown_strings (driver_combo, drivers);
+ driver_combo.set_active_text (current_driver);
+ }
+
+ driver_changed ();
+ }
+
+ } else {
+ driver_combo.set_sensitive (false);
+ /* this will change the device text which will cause a call to
+ * device changed which will set up parameters
*/
+ list_devices ();
+ }
+
+ vector<string> midi_options = backend->enumerate_midi_options();
+
+ if (midi_options.size() == 1) {
+ /* only contains the "none" option */
+ midi_option_combo.set_sensitive (false);
+ } else {
+ if (_have_control) {
+ set_popdown_strings (midi_option_combo, midi_options);
+ midi_option_combo.set_active_text (midi_options.front());
+ midi_option_combo.set_sensitive (true);
+ } else {
+ midi_option_combo.set_sensitive (false);
+ }
+ }
+
+ midi_option_changed();
+
+ started_at_least_once = false;
+
+ if (!ignore_changes) {
+ maybe_display_saved_state ();
+ }
+}
+
+bool
+EngineControl::print_channel_count (Gtk::SpinButton* sb)
+{
+ uint32_t cnt = (uint32_t) sb->get_value();
+ if (cnt == 0) {
+ sb->set_text (_("all available channels"));
+ } else {
+ char buf[32];
+ snprintf (buf, sizeof (buf), "%d", cnt);
+ sb->set_text (buf);
+ }
+ return true;
+}
+
+void
+EngineControl::list_devices ()
+{
+ boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
+ assert (backend);
+
+ /* now fill out devices, mark sample rates, buffer sizes insensitive */
+
+ vector<ARDOUR::AudioBackend::DeviceStatus> all_devices = backend->enumerate_devices ();
- /* sample rates */
-
- string desired;
-
- vector<float> sr;
-
- if (_have_control) {
- sr = backend->available_sample_rates (device_name);
- } else {
-
- sr.push_back (8000.0f);
- sr.push_back (16000.0f);
- sr.push_back (32000.0f);
- sr.push_back (44100.0f);
- sr.push_back (48000.0f);
- sr.push_back (88200.0f);
- sr.push_back (96000.0f);
- sr.push_back (192000.0f);
- sr.push_back (384000.0f);
- }
-
- for (vector<float>::const_iterator x = sr.begin(); x != sr.end(); ++x) {
- s.push_back (rate_as_string (*x));
- if (*x == _desired_sample_rate) {
- desired = s.back();
- }
- }
-
- if (!s.empty()) {
- sample_rate_combo.set_sensitive (true);
- set_popdown_strings (sample_rate_combo, s);
-
- if (desired.empty()) {
- sample_rate_combo.set_active_text (rate_as_string (backend->default_sample_rate()));
- } else {
- sample_rate_combo.set_active_text (desired);
- }
-
- } else {
- sample_rate_combo.set_sensitive (false);
- }
-
- /* buffer sizes */
-
- vector<uint32_t> bs;
-
- if (_have_control) {
- bs = backend->available_buffer_sizes(device_name);
- } else if (backend->can_change_buffer_size_when_running()) {
- bs.push_back (8);
- bs.push_back (16);
- bs.push_back (32);
- bs.push_back (64);
- bs.push_back (128);
- bs.push_back (256);
- bs.push_back (512);
- bs.push_back (1024);
- bs.push_back (2048);
- bs.push_back (4096);
- bs.push_back (8192);
- }
- s.clear ();
- for (vector<uint32_t>::const_iterator x = bs.begin(); x != bs.end(); ++x) {
- s.push_back (bufsize_as_string (*x));
- }
-
- if (!s.empty()) {
- buffer_size_combo.set_sensitive (true);
- set_popdown_strings (buffer_size_combo, s);
-
- buffer_size_combo.set_active_text (bufsize_as_string (backend->default_buffer_size()));
- show_buffer_duration ();
- } else {
- buffer_size_combo.set_sensitive (false);
- }
-
- /* XXX theoretically need to set min + max channel counts here
- */
-
- manage_control_app_sensitivity ();
- }
-
- /* pick up any saved state for this device */
-
- maybe_display_saved_state ();
- }
-
- string
- EngineControl::bufsize_as_string (uint32_t sz)
- {
- /* Translators: "samples" is always plural here, so no
- need for plural+singular forms.
+ /* NOTE: Ardour currently does not display the "available" field of the
+ * returned devices.
+ *
+ * Doing so would require a different GUI widget than the combo
+ * box/popdown that we currently use, since it has no way to list
+ * items that are not selectable. Something more like a popup menu,
+ * which could have unselectable items, would be appropriate.
*/
- char buf[32];
- snprintf (buf, sizeof (buf), _("%u samples"), sz);
- return buf;
- }
-
- void
- EngineControl::sample_rate_changed ()
- {
- if (ignore_changes) {
- return;
- }
-
- /* reset the strings for buffer size to show the correct msec value
- (reflecting the new sample rate).
+
+ vector<string> available_devices;
+
+ for (vector<ARDOUR::AudioBackend::DeviceStatus>::const_iterator i = all_devices.begin(); i != all_devices.end(); ++i) {
+ available_devices.push_back (i->name);
+ }
+
+ if (!available_devices.empty()) {
+
+ update_sensitivity ();
+
+ {
+ string current_device;
+ current_device = backend->device_name ();
+ if (current_device == "") {
+ // device might not have been set yet
+ current_device = device_combo.get_active_text ();
+ if (current_device == "")
+ // device has never been set, make sure it's not blank
+ current_device = available_devices.front ();
+ }
+
+ PBD::Unwinder<uint32_t> protect_ignore_changes (ignore_changes, ignore_changes + 1);
+ set_popdown_strings (device_combo, available_devices);
+
+ device_combo.set_active_text (current_device);
+ }
+
+ device_changed ();
+
+ input_latency.set_sensitive (true);
+ output_latency.set_sensitive (true);
+ input_channels.set_sensitive (true);
+ output_channels.set_sensitive (true);
+
+ ok_button->set_sensitive (true);
+ apply_button->set_sensitive (true);
+
+ } else {
+ device_combo.clear();
+ sample_rate_combo.set_sensitive (false);
+ buffer_size_combo.set_sensitive (false);
+ input_latency.set_sensitive (false);
+ output_latency.set_sensitive (false);
+ input_channels.set_sensitive (false);
+ output_channels.set_sensitive (false);
+ if (_have_control) {
+ ok_button->set_sensitive (false);
+ apply_button->set_sensitive (false);
+ } else {
+ ok_button->set_sensitive (true);
+ apply_button->set_sensitive (true);
+ }
+ }
+}
+
+void
+EngineControl::driver_changed ()
+{
+ boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
+ assert (backend);
+
+ backend->set_driver (driver_combo.get_active_text());
+ list_devices ();
+
+ if (!ignore_changes) {
+ maybe_display_saved_state ();
+ }
+}
+
+void
+EngineControl::device_changed ()
+{
+
+ boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
+ assert (backend);
+ string device_name = device_combo.get_active_text ();
+ vector<string> s;
+
+ {
+ PBD::Unwinder<uint32_t> protect_ignore_changes (ignore_changes, ignore_changes + 1);
+
+ /* don't allow programmatic change to combos to cause a
+ recursive call to this method.
+ */
+
+ /* sample rates */
+
+ string desired;
+
+ vector<float> sr;
+
+ if (_have_control) {
+ sr = backend->available_sample_rates (device_name);
+ } else {
+
+ sr.push_back (8000.0f);
+ sr.push_back (16000.0f);
+ sr.push_back (32000.0f);
+ sr.push_back (44100.0f);
+ sr.push_back (48000.0f);
+ sr.push_back (88200.0f);
+ sr.push_back (96000.0f);
+ sr.push_back (192000.0f);
+ sr.push_back (384000.0f);
+ }
+
+ for (vector<float>::const_iterator x = sr.begin(); x != sr.end(); ++x) {
+ s.push_back (rate_as_string (*x));
+ if (*x == _desired_sample_rate) {
+ desired = s.back();
+ }
+ }
+
+ if (!s.empty()) {
+ sample_rate_combo.set_sensitive (true);
+ set_popdown_strings (sample_rate_combo, s);
+
+ if (desired.empty()) {
+ sample_rate_combo.set_active_text (rate_as_string (backend->default_sample_rate()));
+ } else {
+ sample_rate_combo.set_active_text (desired);
+ }
+
+ } else {
+ sample_rate_combo.set_sensitive (false);
+ }
+
+ /* buffer sizes */
+
+ vector<uint32_t> bs;
+
+ if (_have_control) {
+ bs = backend->available_buffer_sizes (device_name);
+ } else if (backend->can_change_buffer_size_when_running()) {
+ bs.push_back (8);
+ bs.push_back (16);
+ bs.push_back (32);
+ bs.push_back (64);
+ bs.push_back (128);
+ bs.push_back (256);
+ bs.push_back (512);
+ bs.push_back (1024);
+ bs.push_back (2048);
+ bs.push_back (4096);
+ bs.push_back (8192);
+ }
+ s.clear ();
+ for (vector<uint32_t>::const_iterator x = bs.begin(); x != bs.end(); ++x) {
+ s.push_back (bufsize_as_string (*x));
+ }
+
+ if (!s.empty()) {
+ buffer_size_combo.set_sensitive (true);
+ set_popdown_strings (buffer_size_combo, s);
+
+ buffer_size_combo.set_active_text (bufsize_as_string (backend->default_buffer_size()));
+ show_buffer_duration ();
+ } else {
+ buffer_size_combo.set_sensitive (false);
+ }
+
+ /* XXX theoretically need to set min + max channel counts here
+ */
+
+ manage_control_app_sensitivity ();
+ }
+
+ /* pick up any saved state for this device */
+
+ if (!ignore_changes) {
+ maybe_display_saved_state ();
+ }
+}
+
+string
+EngineControl::bufsize_as_string (uint32_t sz)
+{
+ /* Translators: "samples" is always plural here, so no
+ need for plural+singular forms.
*/
+ char buf[32];
+ snprintf (buf, sizeof (buf), _("%u samples"), sz);
+ return buf;
+}
- show_buffer_duration ();
- save_state ();
+void
+EngineControl::sample_rate_changed ()
+{
+ /* reset the strings for buffer size to show the correct msec value
+ (reflecting the new sample rate).
+ */
- }
+ show_buffer_duration ();
+ if (!ignore_changes) {
+ save_state ();
+ }
- void
- EngineControl::buffer_size_changed ()
- {
- if (ignore_changes) {
- return;
- }
+}
- show_buffer_duration ();
- save_state ();
- }
+void
+EngineControl::buffer_size_changed ()
+{
+ show_buffer_duration ();
+ if (!ignore_changes) {
+ save_state ();
+ }
+}
- void
- EngineControl::show_buffer_duration ()
- {
+void
+EngineControl::show_buffer_duration ()
+{
- /* buffer sizes - convert from just samples to samples + msecs for
- * the displayed string
- */
+ /* buffer sizes - convert from just samples to samples + msecs for
+ * the displayed string
+ */
- string bs_text = buffer_size_combo.get_active_text ();
- uint32_t samples = atoi (bs_text); /* will ignore trailing text */
- uint32_t rate = get_rate();
+ string bs_text = buffer_size_combo.get_active_text ();
+ uint32_t samples = atoi (bs_text); /* will ignore trailing text */
+ uint32_t rate = get_rate();
- /* Translators: "msecs" is ALWAYS plural here, so we do not
- need singular form as well.
+ /* Translators: "msecs" is ALWAYS plural here, so we do not
+ need singular form as well.
*/
- /* Developers: note the hard-coding of a double buffered model
- in the (2 * samples) computation of latency. we always start
- the audiobackend in this configuration.
+ /* Developers: note the hard-coding of a double buffered model
+ in the (2 * samples) computation of latency. we always start
+ the audiobackend in this configuration.
*/
- char buf[32];
- snprintf (buf, sizeof (buf), _("(%.1f msecs)"), (2 * samples) / (rate/1000.0));
- buffer_size_duration_label.set_text (buf);
- }
-
- void
- EngineControl::midi_option_changed ()
- {
- if (!ignore_changes) {
- save_state ();
- }
- }
-
- void
- EngineControl::parameter_changed ()
- {
- if (!ignore_changes) {
- save_state ();
- }
- }
-
- EngineControl::State*
- EngineControl::get_matching_state (const string& backend,
- const string& driver,
- const string& device)
- {
- for (StateList::iterator i = states.begin(); i != states.end(); ++i) {
- if ((*i).backend == backend &&
- (*i).driver == driver &&
- (*i).device == device) {
- return &(*i);
- }
- }
- return 0;
- }
-
- EngineControl::State*
- EngineControl::get_saved_state_for_currently_displayed_backend_and_device ()
- {
- boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
-
- if (backend) {
- return get_matching_state (backend_combo.get_active_text(),
- (backend->requires_driver_selection() ? (std::string) driver_combo.get_active_text() : string()),
- device_combo.get_active_text());
- }
-
-
- return get_matching_state (backend_combo.get_active_text(),
- string(),
- device_combo.get_active_text());
- }
-
- EngineControl::State*
- EngineControl::save_state ()
- {
- if (!_have_control) {
- return 0;
- }
-
- bool existing = true;
- State* state = get_saved_state_for_currently_displayed_backend_and_device ();
-
- if (!state) {
- existing = false;
- state = new State;
- }
-
- store_state (*state);
-
- if (!existing) {
- states.push_back (*state);
- }
-
- return state;
- }
-
- void
- EngineControl::store_state (State& state)
- {
- state.backend = get_backend ();
- state.driver = get_driver ();
- state.device = get_device_name ();
- state.sample_rate = get_rate ();
- state.buffer_size = get_buffer_size ();
- state.input_latency = get_input_latency ();
- state.output_latency = get_output_latency ();
- state.input_channels = get_input_channels ();
- state.output_channels = get_output_channels ();
- state.midi_option = get_midi_option ();
- }
-
- void
- EngineControl::maybe_display_saved_state ()
- {
- if (!_have_control) {
- return;
- }
-
- State* state = get_saved_state_for_currently_displayed_backend_and_device ();
-
- if (state) {
- PBD::Unwinder<uint32_t> protect_ignore_changes (ignore_changes, ignore_changes + 1);
-
- if (!_desired_sample_rate) {
- sample_rate_combo.set_active_text (rate_as_string (state->sample_rate));
- }
- buffer_size_combo.set_active_text (bufsize_as_string (state->buffer_size));
- /* call this explicitly because we're ignoring changes to
- the controls at this point.
+ char buf[32];
+ snprintf (buf, sizeof (buf), _("(%.1f msecs)"), (2 * samples) / (rate/1000.0));
+ buffer_size_duration_label.set_text (buf);
+}
+
+void
+EngineControl::midi_option_changed ()
+{
+ boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
+ assert (backend);
+
+ backend->set_midi_option (get_midi_option());
+
+ vector<ARDOUR::AudioBackend::DeviceStatus> midi_devices = backend->enumerate_midi_devices();
+
+ //_midi_devices.clear(); // TODO merge with state-saved settings..
+ _can_set_midi_latencies = backend->can_set_systemic_midi_latencies();
+ std::vector<MidiDeviceSettings> new_devices;
+
+ for (vector<ARDOUR::AudioBackend::DeviceStatus>::const_iterator i = midi_devices.begin(); i != midi_devices.end(); ++i) {
+ MidiDeviceSettings mds = find_midi_device (i->name);
+ if (i->available && !mds) {
+ uint32_t input_latency = 0;
+ uint32_t output_latency = 0;
+ if (_can_set_midi_latencies) {
+ input_latency = backend->systemic_midi_input_latency (i->name);
+ output_latency = backend->systemic_midi_output_latency (i->name);
+ }
+ bool enabled = backend->midi_device_enabled (i->name);
+ MidiDeviceSettings ptr (new MidiDeviceSetting (i->name, enabled, input_latency, output_latency));
+ new_devices.push_back (ptr);
+ } else if (i->available) {
+ new_devices.push_back (mds);
+ }
+ }
+ _midi_devices = new_devices;
+
+ if (_midi_devices.empty()) {
+ midi_devices_button.set_sensitive (false);
+ } else {
+ midi_devices_button.set_sensitive (true);
+ }
+
+ if (!ignore_changes) {
+ save_state ();
+ }
+}
+
+void
+EngineControl::parameter_changed ()
+{
+ if (!ignore_changes) {
+ save_state ();
+ }
+}
+
+EngineControl::State
+EngineControl::get_matching_state (
+ const string& backend,
+ const string& driver,
+ const string& device)
+{
+ for (StateList::iterator i = states.begin(); i != states.end(); ++i) {
+ if ((*i)->backend == backend &&
+ (!_have_control || ((*i)->driver == driver && (*i)->device == device)))
+ {
+ return (*i);
+ }
+ }
+ return State();
+}
+
+EngineControl::State
+EngineControl::get_saved_state_for_currently_displayed_backend_and_device ()
+{
+ boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
+
+ if (backend) {
+ return get_matching_state (backend_combo.get_active_text(),
+ (backend->requires_driver_selection() ? (std::string) driver_combo.get_active_text() : string()),
+ device_combo.get_active_text());
+ }
+
+
+ return get_matching_state (backend_combo.get_active_text(),
+ string(),
+ device_combo.get_active_text());
+}
+
+EngineControl::State
+EngineControl::save_state ()
+{
+ State state;
+
+ if (!_have_control) {
+ state = get_matching_state (backend_combo.get_active_text(), string(), string());
+ if (state) {
+ return state;
+ }
+ state.reset(new StateStruct);
+ state->backend = get_backend ();
+ } else {
+ state.reset(new StateStruct);
+ store_state (state);
+ }
+
+ for (StateList::iterator i = states.begin(); i != states.end();) {
+ if ((*i)->backend == state->backend &&
+ (*i)->driver == state->driver &&
+ (*i)->device == state->device) {
+ i = states.erase(i);
+ } else {
+ ++i;
+ }
+ }
+
+ states.push_back (state);
+
+ return state;
+}
+
+void
+EngineControl::store_state (State state)
+{
+ state->backend = get_backend ();
+ state->driver = get_driver ();
+ state->device = get_device_name ();
+ state->sample_rate = get_rate ();
+ state->buffer_size = get_buffer_size ();
+ state->input_latency = get_input_latency ();
+ state->output_latency = get_output_latency ();
+ state->input_channels = get_input_channels ();
+ state->output_channels = get_output_channels ();
+ state->midi_option = get_midi_option ();
+ state->midi_devices = _midi_devices;
+}
+
+void
+EngineControl::maybe_display_saved_state ()
+{
+ if (!_have_control) {
+ return;
+ }
+
+ State state = get_saved_state_for_currently_displayed_backend_and_device ();
+
+ if (state) {
+ PBD::Unwinder<uint32_t> protect_ignore_changes (ignore_changes, ignore_changes + 1);
+
+ if (!_desired_sample_rate) {
+ sample_rate_combo.set_active_text (rate_as_string (state->sample_rate));
+ }
+ buffer_size_combo.set_active_text (bufsize_as_string (state->buffer_size));
+ /* call this explicitly because we're ignoring changes to
+ the controls at this point.
*/
- show_buffer_duration ();
- input_latency.set_value (state->input_latency);
- output_latency.set_value (state->output_latency);
-
- if (!state->midi_option.empty()) {
- midi_option_combo.set_active_text (state->midi_option);
- }
- }
- }
+ show_buffer_duration ();
+ input_latency.set_value (state->input_latency);
+ output_latency.set_value (state->output_latency);
+
+ if (!state->midi_option.empty()) {
+ midi_option_combo.set_active_text (state->midi_option);
+ _midi_devices = state->midi_devices;
+ }
+ }
+}
+
+XMLNode&
+EngineControl::get_state ()
+{
+ XMLNode* root = new XMLNode ("AudioMIDISetup");
+ std::string path;
+
+ if (!states.empty()) {
+ XMLNode* state_nodes = new XMLNode ("EngineStates");
+
+ for (StateList::const_iterator i = states.begin(); i != states.end(); ++i) {
+
+ XMLNode* node = new XMLNode ("State");
+
+ node->add_property ("backend", (*i)->backend);
+ node->add_property ("driver", (*i)->driver);
+ node->add_property ("device", (*i)->device);
+ node->add_property ("sample-rate", (*i)->sample_rate);
+ node->add_property ("buffer-size", (*i)->buffer_size);
+ node->add_property ("input-latency", (*i)->input_latency);
+ node->add_property ("output-latency", (*i)->output_latency);
+ node->add_property ("input-channels", (*i)->input_channels);
+ node->add_property ("output-channels", (*i)->output_channels);
+ node->add_property ("active", (*i)->active ? "yes" : "no");
+ node->add_property ("midi-option", (*i)->midi_option);
+
+ XMLNode* midi_devices = new XMLNode ("MIDIDevices");
+ for (std::vector<MidiDeviceSettings>::const_iterator p = (*i)->midi_devices.begin(); p != (*i)->midi_devices.end(); ++p) {
+ XMLNode* midi_device_stuff = new XMLNode ("MIDIDevice");
+ midi_device_stuff->add_property (X_("name"), (*p)->name);
+ midi_device_stuff->add_property (X_("enabled"), (*p)->enabled);
+ midi_device_stuff->add_property (X_("input-latency"), (*p)->input_latency);
+ midi_device_stuff->add_property (X_("output-latency"), (*p)->output_latency);
+ midi_devices->add_child_nocopy (*midi_device_stuff);
+ }
+ node->add_child_nocopy (*midi_devices);
+
+ state_nodes->add_child_nocopy (*node);
+ }
+
+ root->add_child_nocopy (*state_nodes);
+ }
+
+ return *root;
+}
+
+void
+EngineControl::set_state (const XMLNode& root)
+{
+ XMLNodeList clist, cclist;
+ XMLNodeConstIterator citer, cciter;
+ XMLNode* child;
+ XMLNode* grandchild;
+ XMLProperty* prop = NULL;
- XMLNode&
- EngineControl::get_state ()
- {
- XMLNode* root = new XMLNode ("AudioMIDISetup");
- std::string path;
-
- if (!states.empty()) {
- XMLNode* state_nodes = new XMLNode ("EngineStates");
-
- for (StateList::const_iterator i = states.begin(); i != states.end(); ++i) {
-
- XMLNode* node = new XMLNode ("State");
-
- node->add_property ("backend", (*i).backend);
- node->add_property ("driver", (*i).driver);
- node->add_property ("device", (*i).device);
- node->add_property ("sample-rate", (*i).sample_rate);
- node->add_property ("buffer-size", (*i).buffer_size);
- node->add_property ("input-latency", (*i).input_latency);
- node->add_property ("output-latency", (*i).output_latency);
- node->add_property ("input-channels", (*i).input_channels);
- node->add_property ("output-channels", (*i).output_channels);
- node->add_property ("active", (*i).active ? "yes" : "no");
- node->add_property ("midi-option", (*i).midi_option);
-
- state_nodes->add_child_nocopy (*node);
- }
-
- root->add_child_nocopy (*state_nodes);
- }
-
- return *root;
- }
-
- void
- EngineControl::set_state (const XMLNode& root)
- {
- XMLNodeList clist, cclist;
- XMLNodeConstIterator citer, cciter;
- XMLNode* child;
- XMLNode* grandchild;
- XMLProperty* prop = NULL;
-
- if (root.name() != "AudioMIDISetup") {
- return;
- }
-
- clist = root.children();
-
- states.clear ();
-
- for (citer = clist.begin(); citer != clist.end(); ++citer) {
-
- child = *citer;
-
- if (child->name() != "EngineStates") {
- continue;
- }
-
- cclist = child->children();
-
- for (cciter = cclist.begin(); cciter != cclist.end(); ++cciter) {
- State state;
-
- grandchild = *cciter;
-
- if (grandchild->name() != "State") {
- continue;
- }
-
- if ((prop = grandchild->property ("backend")) == 0) {
- continue;
- }
- state.backend = prop->value ();
-
- if ((prop = grandchild->property ("driver")) == 0) {
- continue;
- }
- state.driver = prop->value ();
-
- if ((prop = grandchild->property ("device")) == 0) {
- continue;
- }
- state.device = prop->value ();
-
- if ((prop = grandchild->property ("sample-rate")) == 0) {
- continue;
- }
- state.sample_rate = atof (prop->value ());
-
- if ((prop = grandchild->property ("buffer-size")) == 0) {
- continue;
- }
- state.buffer_size = atoi (prop->value ());
-
- if ((prop = grandchild->property ("input-latency")) == 0) {
- continue;
- }
- state.input_latency = atoi (prop->value ());
-
- if ((prop = grandchild->property ("output-latency")) == 0) {
- continue;
- }
- state.output_latency = atoi (prop->value ());
-
- if ((prop = grandchild->property ("input-channels")) == 0) {
- continue;
- }
- state.input_channels = atoi (prop->value ());
-
- if ((prop = grandchild->property ("output-channels")) == 0) {
- continue;
- }
- state.output_channels = atoi (prop->value ());
-
- if ((prop = grandchild->property ("active")) == 0) {
- continue;
- }
- state.active = string_is_affirmative (prop->value ());
-
- if ((prop = grandchild->property ("midi-option")) == 0) {
- continue;
- }
- state.midi_option = prop->value ();
-
- states.push_back (state);
- }
- }
-
- /* now see if there was an active state and switch the setup to it */
-
- for (StateList::const_iterator i = states.begin(); i != states.end(); ++i) {
-
- if ((*i).active) {
- ignore_changes++;
- backend_combo.set_active_text ((*i).backend);
- driver_combo.set_active_text ((*i).driver);
- device_combo.set_active_text ((*i).device);
- sample_rate_combo.set_active_text (rate_as_string ((*i).sample_rate));
- buffer_size_combo.set_active_text (bufsize_as_string ((*i).buffer_size));
- input_latency.set_value ((*i).input_latency);
- output_latency.set_value ((*i).output_latency);
- midi_option_combo.set_active_text ((*i).midi_option);
- ignore_changes--;
- break;
- }
- }
- }
-
- int
- EngineControl::push_state_to_backend (bool start)
- {
- boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
-
- if (!backend) {
- return 0;
- }
-
- /* figure out what is going to change */
-
- bool restart_required = false;
- bool was_running = ARDOUR::AudioEngine::instance()->running();
- bool change_driver = false;
- bool change_device = false;
- bool change_rate = false;
- bool change_bufsize = false;
- bool change_latency = false;
- bool change_channels = false;
- bool change_midi = false;
-
- uint32_t ochan = get_output_channels ();
- uint32_t ichan = get_input_channels ();
-
- if (_have_control) {
-
- if (started_at_least_once) {
-
- /* we can control the backend */
-
- if (backend->requires_driver_selection()) {
- if (get_driver() != backend->driver_name()) {
- change_driver = true;
- }
- }
-
- if (get_device_name() != backend->device_name()) {
- change_device = true;
- }
-
- if (get_rate() != backend->sample_rate()) {
- change_rate = true;
- }
-
- if (get_buffer_size() != backend->buffer_size()) {
- change_bufsize = true;
- }
-
- if (get_midi_option() != backend->midi_option()) {
- change_midi = true;
- }
-
- /* zero-requested channels means "all available" */
-
- if (ichan == 0) {
- ichan = backend->input_channels();
- }
-
- if (ochan == 0) {
- ochan = backend->output_channels();
- }
-
- if (ichan != backend->input_channels()) {
- change_channels = true;
- }
-
- if (ochan != backend->output_channels()) {
- change_channels = true;
- }
-
- if (get_input_latency() != backend->systemic_input_latency() ||
- get_output_latency() != backend->systemic_output_latency()) {
- change_latency = true;
- }
- } else {
- /* backend never started, so we have to force a group
- of settings.
+ if (root.name() != "AudioMIDISetup") {
+ return;
+ }
+
+ clist = root.children();
+
+ states.clear ();
+
+ for (citer = clist.begin(); citer != clist.end(); ++citer) {
+
+ child = *citer;
+
+ if (child->name() != "EngineStates") {
+ continue;
+ }
+
+ cclist = child->children();
+
+ for (cciter = cclist.begin(); cciter != cclist.end(); ++cciter) {
+ State state (new StateStruct);
+
+ grandchild = *cciter;
+
+ if (grandchild->name() != "State") {
+ continue;
+ }
+
+ if ((prop = grandchild->property ("backend")) == 0) {
+ continue;
+ }
+ state->backend = prop->value ();
+
+ if ((prop = grandchild->property ("driver")) == 0) {
+ continue;
+ }
+ state->driver = prop->value ();
+
+ if ((prop = grandchild->property ("device")) == 0) {
+ continue;
+ }
+ state->device = prop->value ();
+
+ if ((prop = grandchild->property ("sample-rate")) == 0) {
+ continue;
+ }
+ state->sample_rate = atof (prop->value ());
+
+ if ((prop = grandchild->property ("buffer-size")) == 0) {
+ continue;
+ }
+ state->buffer_size = atoi (prop->value ());
+
+ if ((prop = grandchild->property ("input-latency")) == 0) {
+ continue;
+ }
+ state->input_latency = atoi (prop->value ());
+
+ if ((prop = grandchild->property ("output-latency")) == 0) {
+ continue;
+ }
+ state->output_latency = atoi (prop->value ());
+
+ if ((prop = grandchild->property ("input-channels")) == 0) {
+ continue;
+ }
+ state->input_channels = atoi (prop->value ());
+
+ if ((prop = grandchild->property ("output-channels")) == 0) {
+ continue;
+ }
+ state->output_channels = atoi (prop->value ());
+
+ if ((prop = grandchild->property ("active")) == 0) {
+ continue;
+ }
+ state->active = string_is_affirmative (prop->value ());
+
+ if ((prop = grandchild->property ("midi-option")) == 0) {
+ continue;
+ }
+ state->midi_option = prop->value ();
+
+ state->midi_devices.clear();
+ XMLNode* midinode;
+ if ((midinode = ARDOUR::find_named_node (*grandchild, "MIDIDevices")) != 0) {
+ const XMLNodeList mnc = midinode->children();
+ for (XMLNodeList::const_iterator n = mnc.begin(); n != mnc.end(); ++n) {
+ if ((*n)->property (X_("name")) == 0
+ || (*n)->property (X_("enabled")) == 0
+ || (*n)->property (X_("input-latency")) == 0
+ || (*n)->property (X_("output-latency")) == 0
+ ) {
+ continue;
+ }
+
+ MidiDeviceSettings ptr (new MidiDeviceSetting(
+ (*n)->property (X_("name"))->value (),
+ string_is_affirmative ((*n)->property (X_("enabled"))->value ()),
+ atoi ((*n)->property (X_("input-latency"))->value ()),
+ atoi ((*n)->property (X_("output-latency"))->value ())
+ ));
+ state->midi_devices.push_back (ptr);
+ }
+ }
+
+#if 1
+ /* remove accumulated duplicates (due to bug in ealier version)
+ * this can be removed again before release
*/
- change_device = true;
- if (backend->requires_driver_selection()) {
- change_driver = true;
- }
- change_rate = true;
- change_bufsize = true;
- change_channels = true;
- change_latency = true;
- change_midi = true;
- }
-
- } else {
-
- /* we have no control over the backend, meaning that we can
- * only possibly change sample rate and buffer size.
- */
-
-
- if (get_rate() != backend->sample_rate()) {
- change_bufsize = true;
- }
-
- if (get_buffer_size() != backend->buffer_size()) {
- change_bufsize = true;
- }
- }
-
- if (!_have_control) {
-
- /* We do not have control over the backend, so the best we can
- * do is try to change the sample rate and/or bufsize and get
- * out of here.
- */
-
- if (change_rate && !backend->can_change_sample_rate_when_running()) {
- return 1;
- }
-
- if (change_bufsize && !backend->can_change_buffer_size_when_running()) {
- return 1;
- }
-
- if (change_rate) {
- backend->set_sample_rate (get_rate());
- }
-
- if (change_bufsize) {
- backend->set_buffer_size (get_buffer_size());
- }
-
- post_push ();
-
- return 0;
- }
-
- /* determine if we need to stop the backend before changing parameters */
-
- if (change_driver || change_device || change_channels || change_latency ||
- (change_rate && !backend->can_change_sample_rate_when_running()) ||
- change_midi ||
- (change_bufsize && !backend->can_change_buffer_size_when_running())) {
- restart_required = true;
- } else {
- restart_required = false;
- }
-
- if (was_running) {
-
- if (!change_driver && !change_device && !change_channels && !change_latency && !change_midi) {
- /* no changes in any parameters that absolutely require a
- * restart, so check those that might be changeable without a
- * restart
- */
-
- if (change_rate && !backend->can_change_sample_rate_when_running()) {
- /* can't do this while running ... */
- restart_required = true;
- }
-
- if (change_bufsize && !backend->can_change_buffer_size_when_running()) {
- /* can't do this while running ... */
- restart_required = true;
- }
- }
- }
-
- if (was_running) {
- if (restart_required) {
- if (ARDOUR_UI::instance()->disconnect_from_engine ()) {
- return -1;
- }
- }
- }
-
-
- if (change_driver && backend->set_driver (get_driver())) {
- error << string_compose (_("Cannot set driver to %1"), get_driver()) << endmsg;
- return -1;
- }
- if (change_device && backend->set_device_name (get_device_name())) {
- error << string_compose (_("Cannot set device name to %1"), get_device_name()) << endmsg;
- return -1;
- }
- if (change_rate && backend->set_sample_rate (get_rate())) {
- error << string_compose (_("Cannot set sample rate to %1"), get_rate()) << endmsg;
- return -1;
- }
- if (change_bufsize && backend->set_buffer_size (get_buffer_size())) {
- error << string_compose (_("Cannot set buffer size to %1"), get_buffer_size()) << endmsg;
- return -1;
- }
-
- if (change_channels || get_input_channels() == 0 || get_output_channels() == 0) {
- if (backend->set_input_channels (get_input_channels())) {
- error << string_compose (_("Cannot set input channels to %1"), get_input_channels()) << endmsg;
- return -1;
- }
- if (backend->set_output_channels (get_output_channels())) {
- error << string_compose (_("Cannot set output channels to %1"), get_output_channels()) << endmsg;
- return -1;
- }
- }
- if (change_latency) {
- if (backend->set_systemic_input_latency (get_input_latency())) {
- error << string_compose (_("Cannot set input latency to %1"), get_input_latency()) << endmsg;
- return -1;
- }
- if (backend->set_systemic_output_latency (get_output_latency())) {
- error << string_compose (_("Cannot set output latency to %1"), get_output_latency()) << endmsg;
- return -1;
- }
- }
-
- if (change_midi) {
- backend->set_midi_option (get_midi_option());
- }
-
- if (start || (was_running && restart_required)) {
- if (ARDOUR_UI::instance()->reconnect_to_engine()) {
- return -1;
- }
- }
-
- post_push ();
-
- return 0;
- }
-
- void
- EngineControl::post_push ()
- {
- /* get a pointer to the current state object, creating one if
- * necessary
- */
-
- if (_have_control) {
- State* state = get_saved_state_for_currently_displayed_backend_and_device ();
-
- if (!state) {
- state = save_state ();
- assert (state);
- }
-
- /* all off */
-
- for (StateList::iterator i = states.begin(); i != states.end(); ++i) {
- (*i).active = false;
- }
-
- /* mark this one active (to be used next time the dialog is
- * shown)
- */
-
- state->active = true;
-
- manage_control_app_sensitivity ();
- }
-
- /* schedule a redisplay of MIDI ports */
-
- Glib::signal_timeout().connect (sigc::bind_return (sigc::mem_fun (*this, &EngineControl::refresh_midi_display), false), 1000);
- }
-
-
- float
- EngineControl::get_rate () const
- {
- float r = atof (sample_rate_combo.get_active_text ());
- /* the string may have been translated with an abbreviation for
- * thousands, so use a crude heuristic to fix this.
- */
- if (r < 1000.0) {
- r *= 1000.0;
- }
- return r;
- }
-
-
- uint32_t
- EngineControl::get_buffer_size () const
- {
- string txt = buffer_size_combo.get_active_text ();
- uint32_t samples;
-
- if (sscanf (txt.c_str(), "%d", &samples) != 1) {
- throw exception ();
- }
-
- return samples;
- }
-
- string
- EngineControl::get_midi_option () const
- {
- return midi_option_combo.get_active_text();
- }
-
- uint32_t
- EngineControl::get_input_channels() const
- {
- return (uint32_t) input_channels_adjustment.get_value();
- }
-
- uint32_t
- EngineControl::get_output_channels() const
- {
- return (uint32_t) output_channels_adjustment.get_value();
- }
-
- uint32_t
- EngineControl::get_input_latency() const
- {
- return (uint32_t) input_latency_adjustment.get_value();
- }
-
- uint32_t
- EngineControl::get_output_latency() const
- {
- return (uint32_t) output_latency_adjustment.get_value();
- }
-
- string
- EngineControl::get_backend () const
- {
- return backend_combo.get_active_text ();
- }
-
- string
- EngineControl::get_driver () const
- {
- return driver_combo.get_active_text ();
- }
-
- string
- EngineControl::get_device_name () const
- {
- return device_combo.get_active_text ();
- }
-
- void
- EngineControl::control_app_button_clicked ()
- {
- boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
-
- if (!backend) {
- return;
- }
-
- backend->launch_control_app ();
- }
-
- void
- EngineControl::manage_control_app_sensitivity ()
- {
- boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
-
- if (!backend) {
- return;
- }
-
- string appname = backend->control_app_name();
-
- if (appname.empty()) {
- control_app_button.set_sensitive (false);
- } else {
- control_app_button.set_sensitive (true);
- }
- }
-
- void
- EngineControl::set_desired_sample_rate (uint32_t sr)
- {
- _desired_sample_rate = sr;
- device_changed ();
- }
-
- void
- EngineControl::on_switch_page (GtkNotebookPage*, guint page_num)
- {
- if (page_num == 0) {
- cancel_button->set_sensitive (true);
- ok_button->set_sensitive (true);
- apply_button->set_sensitive (true);
- } else {
- cancel_button->set_sensitive (false);
- ok_button->set_sensitive (false);
- apply_button->set_sensitive (false);
- }
-
- if (page_num == midi_tab) {
- /* MIDI tab */
- refresh_midi_display ();
- }
-
- if (page_num == latency_tab) {
- /* latency tab */
-
- if (!ARDOUR::AudioEngine::instance()->running()) {
-
- PBD::Unwinder<uint32_t> protect_ignore_changes (ignore_changes, ignore_changes + 1);
-
- /* save any existing latency values */
-
- uint32_t il = (uint32_t) input_latency.get_value ();
- uint32_t ol = (uint32_t) input_latency.get_value ();
-
- /* reset to zero so that our new test instance of JACK
- will be clean of any existing latency measures.
+ for (StateList::iterator i = states.begin(); i != states.end();) {
+ if ((*i)->backend == state->backend &&
+ (*i)->driver == state->driver &&
+ (*i)->device == state->device) {
+ i = states.erase(i);
+ } else {
+ ++i;
+ }
+ }
+#endif
+
+ states.push_back (state);
+ }
+ }
+
+ /* now see if there was an active state and switch the setup to it */
+
+ // purge states of backend that are not available in this built
+ vector<const ARDOUR::AudioBackendInfo*> backends = ARDOUR::AudioEngine::instance()->available_backends();
+ vector<std::string> backend_names;
+
+ for (vector<const ARDOUR::AudioBackendInfo*>::const_iterator i = backends.begin(); i != backends.end(); ++i) {
+ backend_names.push_back((*i)->name);
+ }
+ for (StateList::iterator i = states.begin(); i != states.end();) {
+ if (std::find(backend_names.begin(), backend_names.end(), (*i)->backend) == backend_names.end()) {
+ i = states.erase(i);
+ } else {
+ ++i;
+ }
+ }
+
+ for (StateList::const_iterator i = states.begin(); i != states.end(); ++i) {
+
+ if ((*i)->active) {
+ ignore_changes++;
+ backend_combo.set_active_text ((*i)->backend);
+ driver_combo.set_active_text ((*i)->driver);
+ device_combo.set_active_text ((*i)->device);
+ sample_rate_combo.set_active_text (rate_as_string ((*i)->sample_rate));
+ buffer_size_combo.set_active_text (bufsize_as_string ((*i)->buffer_size));
+ input_latency.set_value ((*i)->input_latency);
+ output_latency.set_value ((*i)->output_latency);
+ midi_option_combo.set_active_text ((*i)->midi_option);
+ ignore_changes--;
+ break;
+ }
+ }
+}
+
+int
+EngineControl::push_state_to_backend (bool start)
+{
+ boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
+
+ if (!backend) {
+ return 0;
+ }
+
+ /* figure out what is going to change */
+
+ bool restart_required = false;
+ bool was_running = ARDOUR::AudioEngine::instance()->running();
+ bool change_driver = false;
+ bool change_device = false;
+ bool change_rate = false;
+ bool change_bufsize = false;
+ bool change_latency = false;
+ bool change_channels = false;
+ bool change_midi = false;
+
+ uint32_t ochan = get_output_channels ();
+ uint32_t ichan = get_input_channels ();
+
+ if (_have_control) {
+
+ if (started_at_least_once) {
+
+ /* we can control the backend */
+
+ if (backend->requires_driver_selection()) {
+ if (get_driver() != backend->driver_name()) {
+ change_driver = true;
+ }
+ }
+
+ if (get_device_name() != backend->device_name()) {
+ change_device = true;
+ }
+
+ if (get_rate() != backend->sample_rate()) {
+ change_rate = true;
+ }
+
+ if (get_buffer_size() != backend->buffer_size()) {
+ change_bufsize = true;
+ }
+
+ if (get_midi_option() != backend->midi_option()) {
+ change_midi = true;
+ }
+
+ /* zero-requested channels means "all available" */
+
+ if (ichan == 0) {
+ ichan = backend->input_channels();
+ }
+
+ if (ochan == 0) {
+ ochan = backend->output_channels();
+ }
+
+ if (ichan != backend->input_channels()) {
+ change_channels = true;
+ }
+
+ if (ochan != backend->output_channels()) {
+ change_channels = true;
+ }
+
+ if (get_input_latency() != backend->systemic_input_latency() ||
+ get_output_latency() != backend->systemic_output_latency()) {
+ change_latency = true;
+ }
+ } else {
+ /* backend never started, so we have to force a group
+ of settings.
*/
+ change_device = true;
+ if (backend->requires_driver_selection()) {
+ change_driver = true;
+ }
+ change_rate = true;
+ change_bufsize = true;
+ change_channels = true;
+ change_latency = true;
+ change_midi = true;
+ }
- input_latency.set_value (0);
- output_latency.set_value (0);
+ } else {
- /* reset control */
+ /* we have no control over the backend, meaning that we can
+ * only possibly change sample rate and buffer size.
+ */
- input_latency.set_value (il);
- output_latency.set_value (ol);
- }
+ if (get_rate() != backend->sample_rate()) {
+ change_bufsize = true;
+ }
- if (ARDOUR::AudioEngine::instance()->prepare_for_latency_measurement()) {
- disable_latency_tab ();
- }
+ if (get_buffer_size() != backend->buffer_size()) {
+ change_bufsize = true;
+ }
+ }
- enable_latency_tab ();
+ if (!_have_control) {
- } else {
- if (lm_running) {
- ARDOUR::AudioEngine::instance()->stop_latency_detection();
- }
- }
- }
+ /* We do not have control over the backend, so the best we can
+ * do is try to change the sample rate and/or bufsize and get
+ * out of here.
+ */
- /* latency measurement */
+ if (change_rate && !backend->can_change_sample_rate_when_running()) {
+ return 1;
+ }
- bool
- EngineControl::check_latency_measurement ()
- {
- MTDM* mtdm = ARDOUR::AudioEngine::instance()->mtdm ();
+ if (change_bufsize && !backend->can_change_buffer_size_when_running()) {
+ return 1;
+ }
- if (mtdm->resolve () < 0) {
- lm_results.set_markup (string_compose (results_markup, _("No signal detected ")));
- return true;
- }
+ if (change_rate) {
+ backend->set_sample_rate (get_rate());
+ }
- if (mtdm->err () > 0.3) {
- mtdm->invert ();
- mtdm->resolve ();
- }
+ if (change_bufsize) {
+ backend->set_buffer_size (get_buffer_size());
+ }
- char buf[128];
- ARDOUR::framecnt_t const sample_rate = ARDOUR::AudioEngine::instance()->sample_rate();
+ if (start) {
+ if (ARDOUR::AudioEngine::instance()->start ()) {
+ error << string_compose (_("Could not start backend engine %1"), backend->name()) << endmsg;
+ return -1;
+ }
+ }
- if (sample_rate == 0) {
- lm_results.set_markup (string_compose (results_markup, _("Disconnected from audio engine")));
- ARDOUR::AudioEngine::instance()->stop_latency_detection ();
- return false;
- }
+ post_push ();
- uint32_t frames_total = mtdm->del();
- uint32_t extra = frames_total - ARDOUR::AudioEngine::instance()->latency_signal_delay();
+ return 0;
+ }
+
+ /* determine if we need to stop the backend before changing parameters */
- snprintf (buf, sizeof (buf), "%u samples / %.3lf ms", extra, extra * 1000.0f/sample_rate);
+ if (change_driver || change_device || change_channels || change_latency ||
+ (change_rate && !backend->can_change_sample_rate_when_running()) ||
+ change_midi ||
+ (change_bufsize && !backend->can_change_buffer_size_when_running())) {
+ restart_required = true;
+ } else {
+ restart_required = false;
+ }
+
+ if (was_running) {
+
+ if (!change_driver && !change_device && !change_channels && !change_latency && !change_midi) {
+ /* no changes in any parameters that absolutely require a
+ * restart, so check those that might be changeable without a
+ * restart
+ */
+
+ if (change_rate && !backend->can_change_sample_rate_when_running()) {
+ /* can't do this while running ... */
+ restart_required = true;
+ }
+
+ if (change_bufsize && !backend->can_change_buffer_size_when_running()) {
+ /* can't do this while running ... */
+ restart_required = true;
+ }
+ }
+ }
+
+ if (was_running) {
+ if (restart_required) {
+ if (ARDOUR_UI::instance()->disconnect_from_engine ()) {
+ return -1;
+ }
+ }
+ }
+
+
+ if (change_driver && backend->set_driver (get_driver())) {
+ error << string_compose (_("Cannot set driver to %1"), get_driver()) << endmsg;
+ return -1;
+ }
+ if (change_device && backend->set_device_name (get_device_name())) {
+ error << string_compose (_("Cannot set device name to %1"), get_device_name()) << endmsg;
+ return -1;
+ }
+ if (change_rate && backend->set_sample_rate (get_rate())) {
+ error << string_compose (_("Cannot set sample rate to %1"), get_rate()) << endmsg;
+ return -1;
+ }
+ if (change_bufsize && backend->set_buffer_size (get_buffer_size())) {
+ error << string_compose (_("Cannot set buffer size to %1"), get_buffer_size()) << endmsg;
+ return -1;
+ }
+
+ if (change_channels || get_input_channels() == 0 || get_output_channels() == 0) {
+ if (backend->set_input_channels (get_input_channels())) {
+ error << string_compose (_("Cannot set input channels to %1"), get_input_channels()) << endmsg;
+ return -1;
+ }
+ if (backend->set_output_channels (get_output_channels())) {
+ error << string_compose (_("Cannot set output channels to %1"), get_output_channels()) << endmsg;
+ return -1;
+ }
+ }
+ if (change_latency) {
+ if (backend->set_systemic_input_latency (get_input_latency())) {
+ error << string_compose (_("Cannot set input latency to %1"), get_input_latency()) << endmsg;
+ return -1;
+ }
+ if (backend->set_systemic_output_latency (get_output_latency())) {
+ error << string_compose (_("Cannot set output latency to %1"), get_output_latency()) << endmsg;
+ return -1;
+ }
+ }
- bool solid = true;
+ if (change_midi) {
+ backend->set_midi_option (get_midi_option());
+ }
- if (mtdm->err () > 0.2) {
- strcat (buf, " ");
- strcat (buf, _("(signal detection error)"));
- solid = false;
- }
+ if (1 /* TODO */) {
+ for (vector<MidiDeviceSettings>::const_iterator p = _midi_devices.begin(); p != _midi_devices.end(); ++p) {
+ if (_measure_midi) {
+ if (*p == _measure_midi) {
+ backend->set_midi_device_enabled ((*p)->name, true);
+ } else {
+ backend->set_midi_device_enabled ((*p)->name, false);
+ }
+ continue;
+ }
+ backend->set_midi_device_enabled ((*p)->name, (*p)->enabled);
+ if (backend->can_set_systemic_midi_latencies()) {
+ backend->set_systemic_midi_input_latency ((*p)->name, (*p)->input_latency);
+ backend->set_systemic_midi_output_latency ((*p)->name, (*p)->output_latency);
+ }
+ }
+ }
- if (mtdm->inv ()) {
- strcat (buf, " ");
- strcat (buf, _("(inverted - bad wiring)"));
- solid = false;
- }
+ if (start || (was_running && restart_required)) {
+ if (ARDOUR_UI::instance()->reconnect_to_engine()) {
+ return -1;
+ }
+ }
- if (solid) {
- end_latency_detection ();
- lm_use_button.set_sensitive (true);
- have_lm_results = true;
- }
-
- lm_results.set_markup (string_compose (results_markup, string_compose (_("Detected roundtrip latency: %1"), buf)));
+ post_push ();
- return true;
+ return 0;
+}
+
+void
+EngineControl::post_push ()
+{
+ /* get a pointer to the current state object, creating one if
+ * necessary
+ */
+
+ State state = get_saved_state_for_currently_displayed_backend_and_device ();
+
+ if (!state) {
+ state = save_state ();
+ assert (state);
+ }
+
+ /* all off */
+
+ for (StateList::iterator i = states.begin(); i != states.end(); ++i) {
+ (*i)->active = false;
+ }
+
+ /* mark this one active (to be used next time the dialog is
+ * shown)
+ */
+
+ state->active = true;
+
+ if (_have_control) { // XXX
+ manage_control_app_sensitivity ();
+ }
+
+ /* schedule a redisplay of MIDI ports */
+ //Glib::signal_timeout().connect (sigc::bind_return (sigc::mem_fun (*this, &EngineControl::refresh_midi_display), false), 1000);
+}
+
+
+float
+EngineControl::get_rate () const
+{
+ float r = atof (sample_rate_combo.get_active_text ());
+ /* the string may have been translated with an abbreviation for
+ * thousands, so use a crude heuristic to fix this.
+ */
+ if (r < 1000.0) {
+ r *= 1000.0;
+ }
+ return r;
+}
+
+
+uint32_t
+EngineControl::get_buffer_size () const
+{
+ string txt = buffer_size_combo.get_active_text ();
+ uint32_t samples;
+
+ if (sscanf (txt.c_str(), "%d", &samples) != 1) {
+ throw exception ();
+ }
+
+ return samples;
+}
+
+string
+EngineControl::get_midi_option () const
+{
+ return midi_option_combo.get_active_text();
+}
+
+uint32_t
+EngineControl::get_input_channels() const
+{
+ return (uint32_t) input_channels_adjustment.get_value();
+}
+
+uint32_t
+EngineControl::get_output_channels() const
+{
+ return (uint32_t) output_channels_adjustment.get_value();
+}
+
+uint32_t
+EngineControl::get_input_latency() const
+{
+ return (uint32_t) input_latency_adjustment.get_value();
+}
+
+uint32_t
+EngineControl::get_output_latency() const
+{
+ return (uint32_t) output_latency_adjustment.get_value();
+}
+
+string
+EngineControl::get_backend () const
+{
+ return backend_combo.get_active_text ();
+}
+
+string
+EngineControl::get_driver () const
+{
+ if (driver_combo.get_sensitive() && driver_combo.get_parent()) {
+ return driver_combo.get_active_text ();
+ } else {
+ return "";
+ }
+}
+
+string
+EngineControl::get_device_name () const
+{
+ return device_combo.get_active_text ();
+}
+
+void
+EngineControl::control_app_button_clicked ()
+{
+ boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
+
+ if (!backend) {
+ return;
+ }
+
+ backend->launch_control_app ();
+}
+
+void
+EngineControl::manage_control_app_sensitivity ()
+{
+ boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
+
+ if (!backend) {
+ return;
+ }
+
+ string appname = backend->control_app_name();
+
+ if (appname.empty()) {
+ control_app_button.set_sensitive (false);
+ } else {
+ control_app_button.set_sensitive (true);
+ }
+}
+
+void
+EngineControl::set_desired_sample_rate (uint32_t sr)
+{
+ _desired_sample_rate = sr;
+ device_changed ();
+}
+
+void
+EngineControl::on_switch_page (GtkNotebookPage*, guint page_num)
+{
+ if (page_num == 0) {
+ cancel_button->set_sensitive (true);
+ ok_button->set_sensitive (true);
+ apply_button->set_sensitive (true);
+ _measure_midi.reset();
+ } else {
+ cancel_button->set_sensitive (false);
+ ok_button->set_sensitive (false);
+ apply_button->set_sensitive (false);
+ }
+
+ if (page_num == midi_tab) {
+ /* MIDI tab */
+ refresh_midi_display ();
+ }
+
+ if (page_num == latency_tab) {
+ /* latency tab */
+
+ if (ARDOUR::AudioEngine::instance()->running()) {
+ // TODO - mark as 'stopped for latency
+ ARDOUR_UI::instance()->disconnect_from_engine ();
+ }
+
+ {
+ PBD::Unwinder<uint32_t> protect_ignore_changes (ignore_changes, ignore_changes + 1);
+
+ /* save any existing latency values */
+
+ uint32_t il = (uint32_t) input_latency.get_value ();
+ uint32_t ol = (uint32_t) input_latency.get_value ();
+
+ /* reset to zero so that our new test instance
+ will be clean of any existing latency measures.
+
+ NB. this should really be done by the backend
+ when stated for latency measurement.
+ */
+
+ input_latency.set_value (0);
+ output_latency.set_value (0);
+
+ push_state_to_backend (false);
+
+ /* reset control */
+
+ input_latency.set_value (il);
+ output_latency.set_value (ol);
+
+ }
+ // This should be done in push_state_to_backend()
+ if (ARDOUR::AudioEngine::instance()->prepare_for_latency_measurement()) {
+ disable_latency_tab ();
+ }
+
+ enable_latency_tab ();
+
+ } else {
+ if (lm_running) {
+ end_latency_detection ();
+ ARDOUR::AudioEngine::instance()->stop_latency_detection();
+ }
+ }
+}
+
+/* latency measurement */
+
+bool
+EngineControl::check_audio_latency_measurement ()
+{
+ MTDM* mtdm = ARDOUR::AudioEngine::instance()->mtdm ();
+
+ if (mtdm->resolve () < 0) {
+ lm_results.set_markup (string_compose (results_markup, _("No signal detected ")));
+ return true;
+ }
+
+ if (mtdm->err () > 0.3) {
+ mtdm->invert ();
+ mtdm->resolve ();
+ }
+
+ char buf[256];
+ ARDOUR::framecnt_t const sample_rate = ARDOUR::AudioEngine::instance()->sample_rate();
+
+ if (sample_rate == 0) {
+ lm_results.set_markup (string_compose (results_markup, _("Disconnected from audio engine")));
+ ARDOUR::AudioEngine::instance()->stop_latency_detection ();
+ return false;
+ }
+
+ int frames_total = mtdm->del();
+ int extra = frames_total - ARDOUR::AudioEngine::instance()->latency_signal_delay();
+
+ snprintf (buf, sizeof (buf), "%s%d samples (%.3lf ms)\n%s%d samples (%.3lf ms)",
+ _("Detected roundtrip latency: "),
+ frames_total, frames_total * 1000.0f/sample_rate,
+ _("Systemic latency: "),
+ extra, extra * 1000.0f/sample_rate);
+
+ bool solid = true;
+
+ if (mtdm->err () > 0.2) {
+ strcat (buf, " ");
+ strcat (buf, _("(signal detection error)"));
+ solid = false;
+ }
+
+ if (mtdm->inv ()) {
+ strcat (buf, " ");
+ strcat (buf, _("(inverted - bad wiring)"));
+ solid = false;
+ }
+
+ if (solid) {
+ have_lm_results = true;
+ end_latency_detection ();
+ lm_use_button.set_sensitive (true);
+ return false;
+ }
+
+ lm_results.set_markup (string_compose (results_markup, buf));
+
+ return true;
+}
+
+bool
+EngineControl::check_midi_latency_measurement ()
+{
+ ARDOUR::MIDIDM* mididm = ARDOUR::AudioEngine::instance()->mididm ();
+
+ if (!mididm->have_signal () || mididm->latency () == 0) {
+ lm_results.set_markup (string_compose (results_markup, _("No signal detected ")));
+ return true;
+ }
+
+ char buf[256];
+ ARDOUR::framecnt_t const sample_rate = ARDOUR::AudioEngine::instance()->sample_rate();
+
+ if (sample_rate == 0) {
+ lm_results.set_markup (string_compose (results_markup, _("Disconnected from audio engine")));
+ ARDOUR::AudioEngine::instance()->stop_latency_detection ();
+ return false;
+ }
+
+ ARDOUR::framecnt_t frames_total = mididm->latency();
+ ARDOUR::framecnt_t extra = frames_total - ARDOUR::AudioEngine::instance()->latency_signal_delay();
+ snprintf (buf, sizeof (buf), "%s%" PRId64" samples (%.1lf ms) dev: %.2f[spl]\n%s%" PRId64" samples (%.1lf ms)",
+ _("Detected roundtrip latency: "),
+ frames_total, frames_total * 1000.0f / sample_rate, mididm->deviation (),
+ _("Systemic latency: "),
+ extra, extra * 1000.0f / sample_rate);
+
+ bool solid = true;
+
+ if (!mididm->ok ()) {
+ strcat (buf, " ");
+ strcat (buf, _("(averaging)"));
+ solid = false;
+ }
+
+ if (mididm->deviation () > 50.0) {
+ strcat (buf, " ");
+ strcat (buf, _("(too large jitter)"));
+ solid = false;
+ } else if (mididm->deviation () > 10.0) {
+ strcat (buf, " ");
+ strcat (buf, _("(large jitter)"));
+ }
+
+ if (solid) {
+ have_lm_results = true;
+ end_latency_detection ();
+ lm_use_button.set_sensitive (true);
+ return false;
+ } else if (mididm->processed () > 400) {
+ have_lm_results = false;
+ end_latency_detection ();
+ lm_results.set_markup (string_compose (results_markup, _("Timeout - large MIDI jitter.")));
+ return false;
+ }
+
+ lm_results.set_markup (string_compose (results_markup, buf));
+
+ return true;
}
void
@@ -1697,9 +2005,13 @@ EngineControl::start_latency_detection ()
ARDOUR::AudioEngine::instance()->set_latency_input_port (lm_input_channel_combo.get_active_text());
ARDOUR::AudioEngine::instance()->set_latency_output_port (lm_output_channel_combo.get_active_text());
- if (ARDOUR::AudioEngine::instance()->start_latency_detection () == 0) {
+ if (ARDOUR::AudioEngine::instance()->start_latency_detection (_measure_midi ? true : false) == 0) {
lm_results.set_markup (string_compose (results_markup, _("Detecting ...")));
- latency_timeout = Glib::signal_timeout().connect (mem_fun (*this, &EngineControl::check_latency_measurement), 100);
+ if (_measure_midi) {
+ latency_timeout = Glib::signal_timeout().connect (mem_fun (*this, &EngineControl::check_midi_latency_measurement), 100);
+ } else {
+ latency_timeout = Glib::signal_timeout().connect (mem_fun (*this, &EngineControl::check_audio_latency_measurement), 100);
+ }
lm_measure_label.set_text (_("Cancel"));
have_lm_results = false;
lm_use_button.set_sensitive (false);
@@ -1716,8 +2028,6 @@ EngineControl::end_latency_detection ()
ARDOUR::AudioEngine::instance()->stop_latency_detection ();
lm_measure_label.set_text (_("Measure"));
if (!have_lm_results) {
- lm_results.set_markup (string_compose (results_markup, _("No measurement results yet")));
- } else {
lm_use_button.set_sensitive (false);
}
lm_input_channel_combo.set_sensitive (true);
@@ -1732,29 +2042,41 @@ EngineControl::latency_button_clicked ()
start_latency_detection ();
} else {
end_latency_detection ();
- }
+ }
}
void
EngineControl::use_latency_button_clicked ()
{
- MTDM* mtdm = ARDOUR::AudioEngine::instance()->mtdm ();
-
- if (!mtdm) {
- return;
- }
+ if (_measure_midi) {
+ ARDOUR::MIDIDM* mididm = ARDOUR::AudioEngine::instance()->mididm ();
+ if (!mididm) {
+ return;
+ }
+ ARDOUR::framecnt_t frames_total = mididm->latency();
+ ARDOUR::framecnt_t extra = frames_total - ARDOUR::AudioEngine::instance()->latency_signal_delay();
+ uint32_t one_way = max ((ARDOUR::framecnt_t) 0, extra / 2);
+ _measure_midi->input_latency = one_way;
+ _measure_midi->output_latency = one_way;
+ notebook.set_current_page (midi_tab);
+ } else {
+ MTDM* mtdm = ARDOUR::AudioEngine::instance()->mtdm ();
- uint32_t frames_total = mtdm->del();
- uint32_t extra = frames_total - ARDOUR::AudioEngine::instance()->latency_signal_delay();
- uint32_t one_way = extra/2;
+ if (!mtdm) {
+ return;
+ }
- input_latency_adjustment.set_value (one_way);
- output_latency_adjustment.set_value (one_way);
+ double one_way = rint ((mtdm->del() - ARDOUR::AudioEngine::instance()->latency_signal_delay()) / 2.0);
+ one_way = std::max (0., one_way);
- /* back to settings page */
+ input_latency_adjustment.set_value (one_way);
+ output_latency_adjustment.set_value (one_way);
- notebook.set_current_page (0);
+ /* back to settings page */
+ notebook.set_current_page (0);
}
+ }
+
bool
EngineControl::on_delete_event (GdkEventAny* ev)
@@ -1795,9 +2117,9 @@ EngineControl::engine_stopped ()
sample_rate_combo.set_sensitive (true);
buffer_size_combo.set_sensitive (true);
}
-
+
void
-EngineControl::connect_disconnect_click()
+EngineControl::connect_disconnect_click()
{
if (ARDOUR::AudioEngine::instance()->running()) {
ARDOUR_UI::instance()->disconnect_from_engine ();
@@ -1807,8 +2129,27 @@ EngineControl::connect_disconnect_click()
}
void
-EngineControl::calibrate_latency ()
+EngineControl::calibrate_audio_latency ()
{
+ _measure_midi.reset ();
+ have_lm_results = false;
+ lm_use_button.set_sensitive (false);
+ lm_results.set_markup (string_compose (results_markup, _("No measurement results yet")));
notebook.set_current_page (latency_tab);
}
+void
+EngineControl::calibrate_midi_latency (MidiDeviceSettings s)
+{
+ _measure_midi = s;
+ have_lm_results = false;
+ lm_use_button.set_sensitive (false);
+ lm_results.set_markup (string_compose (results_markup, _("No measurement results yet")));
+ notebook.set_current_page (latency_tab);
+}
+
+void
+EngineControl::configure_midi_devices ()
+{
+ notebook.set_current_page (midi_tab);
+}
diff --git a/gtk2_ardour/engine_dialog.h b/gtk2_ardour/engine_dialog.h
index 6d10eb76ac..4ace11efff 100644
--- a/gtk2_ardour/engine_dialog.h
+++ b/gtk2_ardour/engine_dialog.h
@@ -42,14 +42,14 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
public:
EngineControl ();
~EngineControl ();
-
+
static bool need_setup ();
-
+
XMLNode& get_state ();
void set_state (const XMLNode&);
-
+
void set_desired_sample_rate (uint32_t);
-
+
private:
Gtk::Notebook notebook;
@@ -79,6 +79,7 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
Gtk::Label have_control_text;
Gtk::Button control_app_button;
+ ArdourButton midi_devices_button;
Gtk::Button connect_disconnect_button;
@@ -90,8 +91,9 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
Gtk::Button lm_measure_button;
Gtk::Button lm_use_button;
Gtk::Button lm_back_button;
- ArdourButton lm_button;
+ ArdourButton lm_button_audio;
Gtk::Label lm_title;
+ Gtk::Label lm_preamble;
Gtk::Label lm_results;
Gtk::Table lm_table;
Gtk::VBox lm_vbox;
@@ -105,13 +107,13 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
/* MIDI Tab */
Gtk::VBox midi_vbox;
- Gtk::Button midi_refresh_button;
+ Gtk::Button midi_back_button;
Gtk::Table midi_device_table;
/* MIDI ... JACK */
-
+
Gtk::CheckButton aj_button;
-
+
uint32_t ignore_changes;
uint32_t _desired_sample_rate;
bool started_at_least_once;
@@ -125,8 +127,8 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
void setup_midi_tab_for_backend ();
void setup_midi_tab_for_jack ();
- void refresh_midi_display ();
-
+ void refresh_midi_display (std::string focus = "");
+
std::string bufsize_as_string (uint32_t);
float get_rate() const;
@@ -144,7 +146,36 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
void list_devices ();
void show_buffer_duration ();
- struct State {
+ void configure_midi_devices ();
+
+ struct MidiDeviceSetting {
+ std::string name;
+ bool enabled;
+ uint32_t input_latency;
+ uint32_t output_latency;
+
+ MidiDeviceSetting (std::string n, bool en = true, uint32_t inl = 0, uint32_t oul = 0)
+ : name (n)
+ , enabled (en)
+ , input_latency (inl)
+ , output_latency (oul)
+ {}
+ };
+
+ typedef boost::shared_ptr<MidiDeviceSetting> MidiDeviceSettings;
+ bool _can_set_midi_latencies;
+ std::vector<MidiDeviceSettings> _midi_devices;
+
+ MidiDeviceSettings find_midi_device(std::string devicename) const {
+ for (std::vector<MidiDeviceSettings>::const_iterator p = _midi_devices.begin(); p != _midi_devices.end(); ++p) {
+ if ((*p)->name == devicename) {
+ return *p;
+ }
+ }
+ return MidiDeviceSettings();
+ }
+
+ struct StateStruct {
std::string backend;
std::string driver;
std::string device;
@@ -156,27 +187,31 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
uint32_t output_channels;
bool active;
std::string midi_option;
+ std::vector<MidiDeviceSettings> midi_devices;
- State()
- : input_latency (0)
+ StateStruct()
+ : sample_rate (48000)
+ , buffer_size (1024)
+ , input_latency (0)
, output_latency (0)
, input_channels (0)
, output_channels (0)
, active (false) {}
};
-
+
+ typedef boost::shared_ptr<StateStruct> State;
typedef std::list<State> StateList;
StateList states;
- State* get_matching_state (const std::string& backend,
+ State get_matching_state (const std::string& backend,
const std::string& driver,
const std::string& device);
- State* get_saved_state_for_currently_displayed_backend_and_device ();
+ State get_saved_state_for_currently_displayed_backend_and_device ();
void maybe_display_saved_state ();
- State* save_state ();
- void store_state (State&);
+ State save_state ();
+ void store_state (State);
bool _have_control;
@@ -186,6 +221,7 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
void build_full_control_notebook ();
void build_no_control_notebook ();
+ void on_show ();
void on_response (int);
void control_app_button_clicked ();
void use_latency_button_clicked ();
@@ -196,13 +232,14 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
/* latency measurement */
void latency_button_clicked ();
- bool check_latency_measurement ();
+ bool check_audio_latency_measurement ();
+ bool check_midi_latency_measurement ();
sigc::connection latency_timeout;
void enable_latency_tab ();
void disable_latency_tab ();
void start_latency_detection ();
void end_latency_detection ();
-
+
void on_switch_page (GtkNotebookPage*, guint page_num);
bool on_delete_event (GdkEventAny*);
@@ -212,7 +249,13 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
PBD::ScopedConnection stopped_connection;
void connect_disconnect_click ();
- void calibrate_latency ();
+ void calibrate_audio_latency ();
+ void calibrate_midi_latency (MidiDeviceSettings);
+
+ MidiDeviceSettings _measure_midi;
+ void midi_latency_adjustment_changed(Gtk::Adjustment *, MidiDeviceSettings, bool);
+ void midi_device_enabled_toggled(ArdourButton *, MidiDeviceSettings);
+ sigc::connection lm_back_button_signal;
};
#endif /* __gtk2_ardour_engine_dialog_h__ */
diff --git a/gtk2_ardour/enums.cc b/gtk2_ardour/enums.cc
index ca9d5cfe21..d2f0f23284 100644
--- a/gtk2_ardour/enums.cc
+++ b/gtk2_ardour/enums.cc
@@ -22,6 +22,7 @@
#include "audio_clock.h"
#include "editing.h"
#include "enums.h"
+#include "editor_items.h"
using namespace std;
using namespace PBD;
@@ -44,6 +45,7 @@ setup_gtk_ardour_enums ()
SnapType snap_type;
SnapMode snap_mode;
ZoomFocus zoom_focus;
+ ItemType item_type;
#define REGISTER(e) enum_writer.register_distinct (typeid(e).name(), i, s); i.clear(); s.clear()
#define REGISTER_BITS(e) enum_writer.register_bits (typeid(e).name(), i, s); i.clear(); s.clear()
@@ -131,4 +133,44 @@ setup_gtk_ardour_enums ()
REGISTER_ENUM (ZoomFocusMouse);
REGISTER_ENUM (ZoomFocusEdit);
REGISTER (zoom_focus);
+
+ REGISTER_ENUM (RegionItem);
+ REGISTER_ENUM (WaveItem);
+ REGISTER_ENUM (StreamItem);
+ REGISTER_ENUM (PlayheadCursorItem);
+ REGISTER_ENUM (MarkerItem);
+ REGISTER_ENUM (MarkerBarItem);
+ REGISTER_ENUM (RangeMarkerBarItem);
+ REGISTER_ENUM (CdMarkerBarItem);
+ REGISTER_ENUM (VideoBarItem);
+ REGISTER_ENUM (TransportMarkerBarItem);
+ REGISTER_ENUM (SelectionItem);
+ REGISTER_ENUM (ControlPointItem);
+ REGISTER_ENUM (GainLineItem);
+ REGISTER_ENUM (AutomationLineItem);
+ REGISTER_ENUM (MeterMarkerItem);
+ REGISTER_ENUM (TempoMarkerItem);
+ REGISTER_ENUM (MeterBarItem);
+ REGISTER_ENUM (TempoBarItem);
+ REGISTER_ENUM (RegionViewNameHighlight);
+ REGISTER_ENUM (RegionViewName);
+ REGISTER_ENUM (StartSelectionTrimItem);
+ REGISTER_ENUM (EndSelectionTrimItem);
+ REGISTER_ENUM (AutomationTrackItem);
+ REGISTER_ENUM (FadeInItem);
+ REGISTER_ENUM (FadeInHandleItem);
+ REGISTER_ENUM (FadeOutItem);
+ REGISTER_ENUM (FadeOutHandleItem);
+ REGISTER_ENUM (NoteItem);
+ REGISTER_ENUM (FeatureLineItem);
+ REGISTER_ENUM (LeftFrameHandle);
+ REGISTER_ENUM (RightFrameHandle);
+ REGISTER_ENUM (StartCrossFadeItem);
+ REGISTER_ENUM (EndCrossFadeItem);
+ REGISTER_ENUM (CrossfadeViewItem);
+ REGISTER_ENUM (TimecodeRulerItem);
+ REGISTER_ENUM (MinsecRulerItem);
+ REGISTER_ENUM (BBTRulerItem);
+ REGISTER_ENUM (SamplesRulerItem);
+ REGISTER (item_type);
}
diff --git a/gtk2_ardour/enums.h b/gtk2_ardour/enums.h
index 680421e271..aa789a634c 100644
--- a/gtk2_ardour/enums.h
+++ b/gtk2_ardour/enums.h
@@ -27,10 +27,8 @@ enum Width {
Narrow,
};
-namespace Gnome {
- namespace Canvas {
- class SimpleRect;
- }
+namespace ArdourCanvas {
+ class Rectangle;
}
enum LayerDisplay {
@@ -40,9 +38,9 @@ enum LayerDisplay {
};
struct SelectionRect {
- Gnome::Canvas::SimpleRect *rect;
- Gnome::Canvas::SimpleRect *end_trim;
- Gnome::Canvas::SimpleRect *start_trim;
+ ArdourCanvas::Rectangle *rect;
+ ArdourCanvas::Rectangle *end_trim;
+ ArdourCanvas::Rectangle *start_trim;
uint32_t id;
};
diff --git a/gtk2_ardour/export_channel_selector.cc b/gtk2_ardour/export_channel_selector.cc
index 10e3135b53..20155471af 100644
--- a/gtk2_ardour/export_channel_selector.cc
+++ b/gtk2_ardour/export_channel_selector.cc
@@ -458,15 +458,15 @@ RegionExportChannelSelector::RegionExportChannelSelector (ARDOUR::Session * _ses
raw_button.set_label (string_compose (_("Region contents without fades nor region gain (channels: %1)"), region_chans));
raw_button.signal_toggled ().connect (sigc::mem_fun (*this, &RegionExportChannelSelector::handle_selection));
- vbox.pack_start (raw_button);
+ vbox.pack_start (raw_button, false, false);
fades_button.set_label (string_compose (_("Region contents with fades and region gain (channels: %1)"), region_chans));
fades_button.signal_toggled ().connect (sigc::mem_fun (*this, &RegionExportChannelSelector::handle_selection));
- vbox.pack_start (fades_button);
+ vbox.pack_start (fades_button, false, false);
processed_button.set_label (string_compose (_("Track output (channels: %1)"), track_chans));
processed_button.signal_toggled ().connect (sigc::mem_fun (*this, &RegionExportChannelSelector::handle_selection));
- vbox.pack_start (processed_button);
+ vbox.pack_start (processed_button, false, false);
sync_with_manager();
vbox.show_all_children ();
@@ -541,7 +541,7 @@ TrackExportChannelSelector::TrackExportChannelSelector (ARDOUR::Session * sessio
// Options
options_box.pack_start(region_contents_button);
options_box.pack_start(track_output_button);
- main_layout.pack_start(options_box);
+ main_layout.pack_start(options_box, false, false);
// Track scroller
track_scroller.add (track_view);
diff --git a/gtk2_ardour/export_channel_selector.h b/gtk2_ardour/export_channel_selector.h
index 984026a748..3dbb9b8265 100644
--- a/gtk2_ardour/export_channel_selector.h
+++ b/gtk2_ardour/export_channel_selector.h
@@ -25,6 +25,10 @@
#include "ardour/export_profile_manager.h"
+#ifdef interface
+#undef interface
+#endif
+
#include <gtkmm.h>
#include <sigc++/signal.h>
#include <boost/shared_ptr.hpp>
@@ -122,7 +126,7 @@ class PortExportChannelSelector : public ExportChannelSelector
typedef Gtk::TreeModelColumn<Glib::RefPtr<Gtk::ListStore> > ComboCol;
ComboCol port_list_col;
- /* Channel struct, that represents the selected port and it's name */
+ /* Channel struct, that represents the selected port and its name */
struct Channel {
public:
diff --git a/gtk2_ardour/export_dialog.cc b/gtk2_ardour/export_dialog.cc
index 1458747786..4ee9ddf8ed 100644
--- a/gtk2_ardour/export_dialog.cc
+++ b/gtk2_ardour/export_dialog.cc
@@ -134,6 +134,8 @@ ExportDialog::init ()
cancel_button->signal_clicked().connect (sigc::mem_fun (*this, &ExportDialog::close_dialog));
export_button->signal_clicked().connect (sigc::mem_fun (*this, &ExportDialog::do_export));
+ file_notebook->soundcloud_export_selector = soundcloud_selector;
+
/* Done! */
show_all_children ();
@@ -141,68 +143,26 @@ ExportDialog::init ()
}
void
-ExportDialog::expanded_changed ()
-{
- set_resizable(advanced->get_expanded());
-}
-
-void
ExportDialog::init_gui ()
{
Gtk::Alignment * preset_align = Gtk::manage (new Gtk::Alignment());
preset_align->add (*preset_selector);
preset_align->set_padding (0, 12, 0, 0);
- get_vbox()->pack_start (*preset_align, false, false, 0);
-
- Gtk::VPaned * advanced_paned = Gtk::manage (new Gtk::VPaned());
-
- Gtk::VBox* timespan_vbox = Gtk::manage (new Gtk::VBox());
- timespan_vbox->set_spacing (12);
- timespan_vbox->set_border_width (12);
-
- Gtk::Alignment * timespan_align = Gtk::manage (new Gtk::Alignment());
- timespan_label = Gtk::manage (new Gtk::Label (_("Time Span"), Gtk::ALIGN_LEFT));
- timespan_align->add (*timespan_selector);
- timespan_align->set_padding (0, 0, 18, 0);
- timespan_vbox->pack_start (*timespan_label, false, false, 0);
- timespan_vbox->pack_start (*timespan_align, true, true, 0);
- advanced_paned->pack1(*timespan_vbox, true, false);
-
- Gtk::VBox* channels_vbox = Gtk::manage (new Gtk::VBox());
- channels_vbox->set_spacing (12);
- channels_vbox->set_border_width (12);
-
- Gtk::Alignment * channels_align = Gtk::manage (new Gtk::Alignment());
- channels_label = Gtk::manage (new Gtk::Label (_("Channels"), Gtk::ALIGN_LEFT));
- channels_align->add (*channel_selector);
- channels_align->set_padding (0, 12, 18, 0);
- channels_vbox->pack_start (*channels_label, false, false, 0);
- channels_vbox->pack_start (*channels_align, true, true, 0);
- advanced_paned->pack2(*channels_vbox, channel_selector_is_expandable(), false);
-
- get_vbox()->pack_start (*file_notebook, false, false, 0);
- get_vbox()->pack_start (warning_widget, false, false, 0);
- get_vbox()->pack_start (progress_widget, false, false, 0);
-
- advanced = Gtk::manage (new Gtk::Expander (_("Time span and channel options")));
- advanced->property_expanded().signal_changed().connect(
- sigc::mem_fun(*this, &ExportDialog::expanded_changed));
- advanced->add (*advanced_paned);
-
- if (channel_selector_is_expandable()) {
- advanced_sizegroup = Gtk::SizeGroup::create(Gtk::SIZE_GROUP_VERTICAL);
- advanced_sizegroup->add_widget(*timespan_selector);
- advanced_sizegroup->add_widget(*channel_selector);
- }
- get_vbox()->pack_start (*advanced, true, true);
+ Gtk::VBox * file_format_selector = Gtk::manage (new Gtk::VBox());
+ file_format_selector->set_homogeneous (false);
+ file_format_selector->pack_start (*preset_align, false, false, 0);
+ file_format_selector->pack_start (*file_notebook, false, false, 0);
+ file_format_selector->pack_start (*soundcloud_selector, false, false, 0);
- Pango::AttrList bold;
- Pango::Attribute b = Pango::Attribute::create_attr_weight (Pango::WEIGHT_BOLD);
- bold.insert (b);
+ export_notebook.append_page (*file_format_selector, _("File format"));
+ export_notebook.append_page (*timespan_selector, _("Time Span"));
+ export_notebook.append_page (*channel_selector, _("Channels"));
+
+ get_vbox()->pack_start (export_notebook, true, true, 0);
+ get_vbox()->pack_end (warning_widget, false, false, 0);
+ get_vbox()->pack_end (progress_widget, false, false, 0);
- timespan_label->set_attributes (bold);
- channels_label->set_attributes (bold);
}
void
@@ -211,6 +171,7 @@ ExportDialog::init_components ()
preset_selector.reset (new ExportPresetSelector ());
timespan_selector.reset (new ExportTimespanSelectorMultiple (_session, profile_manager));
channel_selector.reset (new PortExportChannelSelector (_session, profile_manager));
+ soundcloud_selector.reset (new SoundcloudExportSelector ());
file_notebook.reset (new ExportFileNotebook ());
}
@@ -301,10 +262,34 @@ ExportDialog::show_conflicting_files ()
}
void
+ExportDialog::soundcloud_upload_progress(double total, double now, std::string title)
+{
+ soundcloud_selector->do_progress_callback(total, now, title);
+
+}
+
+void
ExportDialog::do_export ()
{
try {
profile_manager->prepare_for_export ();
+ handler->soundcloud_username = soundcloud_selector->username ();
+ handler->soundcloud_password = soundcloud_selector->password ();
+ handler->soundcloud_make_public = soundcloud_selector->make_public ();
+ handler->soundcloud_open_page = soundcloud_selector->open_page ();
+ handler->soundcloud_downloadable = soundcloud_selector->downloadable ();
+
+ handler->SoundcloudProgress.connect_same_thread(
+ *this,
+ boost::bind(&ExportDialog::soundcloud_upload_progress, this, _1, _2, _3)
+ );
+#if 0
+ handler->SoundcloudProgress.connect(
+ *this, invalidator (*this),
+ boost::bind(&ExportDialog::soundcloud_upload_progress, this, _1, _2, _3),
+ gui_context()
+ );
+#endif
handler->do_export ();
show_progress ();
} catch(std::exception & e) {
@@ -333,7 +318,7 @@ ExportDialog::show_progress ()
if (gtk_events_pending()) {
gtk_main_iteration ();
} else {
- usleep (10000);
+ Glib::usleep (10000);
}
}
@@ -418,6 +403,7 @@ ExportRangeDialog::init_components ()
preset_selector.reset (new ExportPresetSelector ());
timespan_selector.reset (new ExportTimespanSelectorSingle (_session, profile_manager, range_id));
channel_selector.reset (new PortExportChannelSelector (_session, profile_manager));
+ soundcloud_selector.reset (new SoundcloudExportSelector ());
file_notebook.reset (new ExportFileNotebook ());
}
@@ -431,6 +417,7 @@ ExportSelectionDialog::init_components ()
preset_selector.reset (new ExportPresetSelector ());
timespan_selector.reset (new ExportTimespanSelectorSingle (_session, profile_manager, X_("selection")));
channel_selector.reset (new PortExportChannelSelector (_session, profile_manager));
+ soundcloud_selector.reset (new SoundcloudExportSelector ());
file_notebook.reset (new ExportFileNotebook ());
}
@@ -444,8 +431,7 @@ void
ExportRegionDialog::init_gui ()
{
ExportDialog::init_gui ();
-
- channels_label->set_text (_("Source"));
+ export_notebook.set_tab_label_text(*export_notebook.get_nth_page(2), _("Source"));
}
void
@@ -456,6 +442,7 @@ ExportRegionDialog::init_components ()
preset_selector.reset (new ExportPresetSelector ());
timespan_selector.reset (new ExportTimespanSelectorSingle (_session, profile_manager, loc_id));
channel_selector.reset (new RegionExportChannelSelector (_session, profile_manager, region, track));
+ soundcloud_selector.reset (new SoundcloudExportSelector ());
file_notebook.reset (new ExportFileNotebook ());
}
@@ -471,5 +458,6 @@ StemExportDialog::init_components ()
preset_selector.reset (new ExportPresetSelector ());
timespan_selector.reset (new ExportTimespanSelectorMultiple (_session, profile_manager));
channel_selector.reset (new TrackExportChannelSelector (_session, profile_manager));
+ soundcloud_selector.reset (new SoundcloudExportSelector ());
file_notebook.reset (new ExportFileNotebook ());
}
diff --git a/gtk2_ardour/export_dialog.h b/gtk2_ardour/export_dialog.h
index 756a3e7b53..5e895e54c8 100644
--- a/gtk2_ardour/export_dialog.h
+++ b/gtk2_ardour/export_dialog.h
@@ -32,6 +32,7 @@
#include "export_file_notebook.h"
#include "export_preset_selector.h"
#include "ardour_dialog.h"
+#include "soundcloud_export_selector.h"
#include <gtkmm.h>
@@ -43,7 +44,8 @@ namespace ARDOUR {
class ExportTimespanSelector;
class ExportChannelSelector;
-class ExportDialog : public ArdourDialog {
+class ExportDialog : public ArdourDialog, public PBD::ScopedConnectionList
+{
public:
@@ -75,26 +77,23 @@ class ExportDialog : public ArdourDialog {
// Must initialize all the shared_ptrs below
virtual void init_components ();
- // Override if the channel selector should not be grown
- virtual bool channel_selector_is_expandable() { return true; }
-
boost::scoped_ptr<ExportPresetSelector> preset_selector;
boost::scoped_ptr<ExportTimespanSelector> timespan_selector;
boost::scoped_ptr<ExportChannelSelector> channel_selector;
boost::scoped_ptr<ExportFileNotebook> file_notebook;
+ boost::shared_ptr<SoundcloudExportSelector> soundcloud_selector;
+
Gtk::VBox warning_widget;
Gtk::VBox progress_widget;
- Gtk::Label * timespan_label;
- Gtk::Label * channels_label;
+ /*** GUI components ***/
+ Gtk::Notebook export_notebook;
private:
void init ();
- void expanded_changed();
-
void notify_errors (bool force = false);
void close_dialog ();
@@ -112,10 +111,7 @@ class ExportDialog : public ArdourDialog {
PublicEditor & editor;
StatusPtr status;
- /*** GUI components ***/
- Glib::RefPtr<Gtk::SizeGroup> advanced_sizegroup;
- Gtk::Expander * advanced;
/* Warning area */
@@ -138,6 +134,8 @@ class ExportDialog : public ArdourDialog {
float previous_progress; // Needed for gtk bug workaround
+ void soundcloud_upload_progress(double total, double now, std::string title);
+
/* Buttons */
Gtk::Button * cancel_button;
@@ -170,9 +168,6 @@ class ExportRegionDialog : public ExportDialog
public:
ExportRegionDialog (PublicEditor & editor, ARDOUR::AudioRegion const & region, ARDOUR::AudioTrack & track);
- protected:
- virtual bool channel_selector_is_expandable() { return false; }
-
private:
void init_gui ();
void init_components ();
diff --git a/gtk2_ardour/export_file_notebook.cc b/gtk2_ardour/export_file_notebook.cc
index 54c0f628c7..ae924c10e3 100644
--- a/gtk2_ardour/export_file_notebook.cc
+++ b/gtk2_ardour/export_file_notebook.cc
@@ -27,6 +27,7 @@
#include "i18n.h"
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
ExportFileNotebook::ExportFileNotebook () :
@@ -86,27 +87,41 @@ ExportFileNotebook::sync_with_manager ()
}
set_current_page (0);
+ update_soundcloud_upload ();
CriticalSelectionChanged ();
}
void
-ExportFileNotebook::update_example_filenames()
+ExportFileNotebook::update_soundcloud_upload ()
{
- int i = 0;
- FilePage * page;
- while ((page = dynamic_cast<FilePage *> (get_nth_page (i++)))) {
- page->update_example_filename();
+ int i;
+ bool show_credentials_entry = false;
+ ExportProfileManager::FormatStateList const & formats = profile_manager->get_formats ();
+ ExportProfileManager::FormatStateList::const_iterator format_it;
+
+ for (i = 0, format_it = formats.begin(); format_it != formats.end(); ++i, ++format_it) {
+ FilePage * page;
+ if ((page = dynamic_cast<FilePage *> (get_nth_page (i)))) {
+ bool this_soundcloud_upload = page->get_soundcloud_upload ();
+ (*format_it)->format->set_soundcloud_upload (this_soundcloud_upload);
+ if (this_soundcloud_upload) {
+ show_credentials_entry = true;
+ }
+ }
}
+
+ soundcloud_export_selector->set_visible (show_credentials_entry);
+
}
-std::string
-ExportFileNotebook::get_nth_format_name (uint32_t n)
+void
+ExportFileNotebook::update_example_filenames ()
{
+ int i = 0;
FilePage * page;
- if ((page = dynamic_cast<FilePage *> (get_nth_page (n - 1)))) {
- return page->get_format_name();
+ while ((page = dynamic_cast<FilePage *> (get_nth_page (i++)))) {
+ page->update_example_filename();
}
- return "";
}
void
@@ -177,6 +192,7 @@ ExportFileNotebook::FilePage::FilePage (Session * s, ManagerPtr profile_manager,
format_label (_("Format"), Gtk::ALIGN_LEFT),
filename_label (_("Location"), Gtk::ALIGN_LEFT),
+ soundcloud_upload_button (_("Upload to Soundcloud")),
tab_number (number)
{
set_border_width (12);
@@ -185,6 +201,7 @@ ExportFileNotebook::FilePage::FilePage (Session * s, ManagerPtr profile_manager,
pack_start (format_align, false, false, 0);
pack_start (filename_label, false, false, 0);
pack_start (filename_align, false, false, 0);
+ pack_start (soundcloud_upload_button, false, false, 0);
format_align.add (format_selector);
format_align.set_padding (6, 12, 18, 0);
@@ -219,6 +236,7 @@ ExportFileNotebook::FilePage::FilePage (Session * s, ManagerPtr profile_manager,
filename_selector.CriticalSelectionChanged.connect (
sigc::mem_fun (*this, &ExportFileNotebook::FilePage::critical_selection_changed));
+ soundcloud_upload_button.signal_toggled().connect (sigc::mem_fun (*parent, &ExportFileNotebook::update_soundcloud_upload));
/* Tab widget */
tab_close_button.add (*Gtk::manage (new Gtk::Image (::get_icon("close"))));
@@ -255,6 +273,12 @@ ExportFileNotebook::FilePage::get_format_name () const
return _("No format!");
}
+bool
+ExportFileNotebook::FilePage::get_soundcloud_upload () const
+{
+ return soundcloud_upload_button.get_active ();
+}
+
void
ExportFileNotebook::FilePage::save_format_to_manager (FormatPtr format)
{
diff --git a/gtk2_ardour/export_file_notebook.h b/gtk2_ardour/export_file_notebook.h
index 5555828e98..42a05e7611 100644
--- a/gtk2_ardour/export_file_notebook.h
+++ b/gtk2_ardour/export_file_notebook.h
@@ -29,6 +29,7 @@
#include "export_format_selector.h"
#include "export_filename_selector.h"
+#include "soundcloud_export_selector.h"
class ExportFileNotebook : public Gtk::Notebook, public ARDOUR::SessionHandlePtr
{
@@ -38,10 +39,9 @@ class ExportFileNotebook : public Gtk::Notebook, public ARDOUR::SessionHandlePtr
void set_session_and_manager (ARDOUR::Session * s, boost::shared_ptr<ARDOUR::ExportProfileManager> manager);
void sync_with_manager ();
-
void update_example_filenames();
- std::string get_nth_format_name (uint32_t n);
+ boost::shared_ptr<SoundcloudExportSelector> soundcloud_export_selector;
sigc::signal<void> CriticalSelectionChanged;
@@ -58,6 +58,7 @@ class ExportFileNotebook : public Gtk::Notebook, public ARDOUR::SessionHandlePtr
void add_file_page (ARDOUR::ExportProfileManager::FormatStatePtr format_state, ARDOUR::ExportProfileManager::FilenameStatePtr filename_state);
void remove_file_page (FilePage * page);
void update_remove_file_page_sensitivity ();
+ void update_soundcloud_upload ();
sigc::connection page_change_connection;
void handle_page_change (GtkNotebookPage*, uint32_t page);
@@ -80,6 +81,7 @@ class ExportFileNotebook : public Gtk::Notebook, public ARDOUR::SessionHandlePtr
Gtk::Widget & get_tab_widget () { return tab_widget; }
void set_remove_sensitive (bool value);
std::string get_format_name () const;
+ bool get_soundcloud_upload () const;
void update_example_filename();
@@ -108,6 +110,7 @@ class ExportFileNotebook : public Gtk::Notebook, public ARDOUR::SessionHandlePtr
Gtk::Alignment filename_align;
ExportFilenameSelector filename_selector;
+ Gtk::CheckButton soundcloud_upload_button;
Gtk::HBox tab_widget;
Gtk::Label tab_label;
Gtk::Alignment tab_close_alignment;
diff --git a/gtk2_ardour/export_format_dialog.cc b/gtk2_ardour/export_format_dialog.cc
index c5d1573d54..c2c3909b1b 100644
--- a/gtk2_ardour/export_format_dialog.cc
+++ b/gtk2_ardour/export_format_dialog.cc
@@ -51,6 +51,8 @@ ExportFormatDialog::ExportFormatDialog (FormatPtr format, bool new_dialog) :
silence_end_checkbox (_("Add silence at end:")),
silence_end_clock ("silence_end", true, "", true, false, true),
+ command_label(_("Command to run post-export\n(%f=full path & filename, %d=directory, %b=basename):"), Gtk::ALIGN_LEFT),
+
format_table (3, 4),
compatibility_label (_("Compatibility"), Gtk::ALIGN_LEFT),
quality_label (_("Quality"), Gtk::ALIGN_LEFT),
@@ -113,6 +115,11 @@ ExportFormatDialog::ExportFormatDialog (FormatPtr format, bool new_dialog) :
silence_table.attach (silence_end_checkbox, 1, 2, 2, 3);
silence_table.attach (silence_end_clock, 2, 3, 2, 3);
+ /* Post-export hook script */
+
+ get_vbox()->pack_start (command_label, false, false);
+ get_vbox()->pack_start (command_entry, false, false);
+
/* Format table */
init_format_table();
@@ -142,6 +149,7 @@ ExportFormatDialog::ExportFormatDialog (FormatPtr format, bool new_dialog) :
with_cue.signal_toggled().connect (sigc::mem_fun (*this, &ExportFormatDialog::update_with_cue));
with_toc.signal_toggled().connect (sigc::mem_fun (*this, &ExportFormatDialog::update_with_toc));
+ command_entry.signal_changed().connect (sigc::mem_fun (*this, &ExportFormatDialog::update_command));
cue_toc_vbox.pack_start (with_cue, false, false);
cue_toc_vbox.pack_start (with_toc, false, false);
@@ -296,6 +304,7 @@ ExportFormatDialog::load_state (FormatPtr spec)
}
tag_checkbox.set_active (spec->tag());
+ command_entry.set_text (spec->command());
}
void
@@ -717,6 +726,13 @@ ExportFormatDialog::update_with_toc ()
manager.select_with_toc (with_toc.get_active());
}
+
+void
+ExportFormatDialog::update_command ()
+{
+ manager.set_command (command_entry.get_text());
+}
+
void
ExportFormatDialog::update_description()
{
diff --git a/gtk2_ardour/export_format_dialog.h b/gtk2_ardour/export_format_dialog.h
index 8d37ded2cd..8a3211db23 100644
--- a/gtk2_ardour/export_format_dialog.h
+++ b/gtk2_ardour/export_format_dialog.h
@@ -32,6 +32,10 @@
#include "ardour_dialog.h"
#include "audio_clock.h"
+#ifdef interface
+#undef interface
+#endif
+
#include <gtkmm.h>
class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList {
@@ -175,6 +179,11 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList
Gtk::CheckButton silence_end_checkbox;
AudioClock silence_end_clock;
+ /* Post-export hook */
+
+ Gtk::Label command_label;
+ Gtk::Entry command_entry;
+
/* Format table */
struct CompatibilityCols : public Gtk::TreeModelColumnRecord
@@ -307,6 +316,7 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList
void update_with_toc ();
void update_with_cue ();
+ void update_command ();
Gtk::TreeView sample_format_view;
Gtk::TreeView dither_type_view;
diff --git a/gtk2_ardour/export_range_markers_dialog.cc b/gtk2_ardour/export_range_markers_dialog.cc
index 4b99162974..e69de29bb2 100644
--- a/gtk2_ardour/export_range_markers_dialog.cc
+++ b/gtk2_ardour/export_range_markers_dialog.cc
@@ -1,209 +0,0 @@
-/*
- Copyright (C) 2006 Paul Davis
- Author: Andre Raue
-
- 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 <sys/stat.h>
-
-#include <sstream>
-
-#include "ardour/audioengine.h"
-#include "ardour/sndfile_helpers.h"
-
-#include "ardour_ui.h"
-#include "export_range_markers_dialog.h"
-
-#include "i18n.h"
-
-using namespace Gtk;
-using namespace ARDOUR;
-using namespace PBD;
-using namespace std;
-
-ExportRangeMarkersDialog::ExportRangeMarkersDialog (PublicEditor& editor)
- : ExportDialog(editor)
-{
- set_title (_("Export Ranges"));
- file_frame.set_label (_("Export to Directory"));
-
- do_not_allow_export_cd_markers();
-
- total_duration = 0;
- current_range_marker_index = 0;
-}
-
-Gtk::FileChooserAction
-ExportRangeMarkersDialog::browse_action () const
-{
- return Gtk::FILE_CHOOSER_ACTION_CREATE_FOLDER;
-}
-
-void
-ExportRangeMarkersDialog::export_data ()
-{
- getSession().locations()->apply(*this, &ExportRangeMarkersDialog::process_range_markers_export);
-}
-
-void
-ExportRangeMarkersDialog::process_range_markers_export(Locations::LocationList& locations)
-{
- Locations::LocationList::iterator locationIter;
- current_range_marker_index = 0;
- init_progress_computing(locations);
-
- for (locationIter = locations.begin(); locationIter != locations.end(); ++locationIter) {
- Location *currentLocation = (*locationIter);
-
- if(currentLocation->is_range_marker()){
- // init filename
- string filepath = get_target_filepath(
- get_selected_file_name(),
- currentLocation->name(),
- get_selected_header_format());
-
- initSpec(filepath);
-
- spec.start_frame = currentLocation->start();
- spec.end_frame = currentLocation->end();
-
- if (getSession().start_export(spec)){
- // if export fails
- return;
- }
-
- // wait until export of this range finished
- gtk_main_iteration();
-
- while (spec.running){
- if(gtk_events_pending()){
- gtk_main_iteration();
- }else {
- usleep(10000);
- }
- }
-
- current_range_marker_index++;
-
- getSession().stop_export (spec);
- }
- }
-
- spec.running = false;
-}
-
-
-string
-ExportRangeMarkersDialog::get_target_filepath(string path, string filename, string postfix)
-{
- string target_path = path;
- if ((target_path.find_last_of ('/')) != string::npos) {
- target_path += '/';
- }
-
- string target_filepath = target_path + filename + postfix;
- struct stat statbuf;
-
- for(int counter=1; (stat (target_filepath.c_str(), &statbuf) == 0); counter++){
- // while file exists
- ostringstream scounter;
- scounter.flush();
- scounter << counter;
-
- target_filepath =
- target_path + filename + "_" + scounter.str() + postfix;
- }
-
- return target_filepath;
-}
-
-bool
-ExportRangeMarkersDialog::is_filepath_valid(string &filepath)
-{
- // sanity check file name first
- struct stat statbuf;
-
- if (filepath.empty()) {
- // warning dialog
- string txt = _("Please enter a valid target directory.");
- MessageDialog msg (*this, txt, false, MESSAGE_ERROR, BUTTONS_OK, true);
- msg.run();
- return false;
- }
-
- if ( (stat (filepath.c_str(), &statbuf) != 0) ||
- (!S_ISDIR (statbuf.st_mode)) ) {
- string txt = _("Please select an existing target directory. Files are not allowed!");
- MessageDialog msg (*this, txt, false, MESSAGE_ERROR, BUTTONS_OK, true);
- msg.run();
- return false;
- }
-
- // directory needs to exist and be writable
- string dirpath = Glib::path_get_dirname (filepath);
- if (!exists_and_writable (dirpath)) {
- string txt = _("Cannot write file in: ") + dirpath;
- MessageDialog msg (*this, txt, false, MESSAGE_ERROR, BUTTONS_OK, true);
- msg.run();
- return false;
- }
-
- return true;
-}
-
-void
-ExportRangeMarkersDialog::init_progress_computing(Locations::LocationList& locations)
-{
- // flush vector
- range_markers_durations_aggregated.resize(0);
-
- framecnt_t duration_before_current_location = 0;
- Locations::LocationList::iterator locationIter;
-
- for (locationIter = locations.begin(); locationIter != locations.end(); ++locationIter) {
- Location *currentLocation = (*locationIter);
-
- if(currentLocation->is_range_marker()){
- range_markers_durations_aggregated.push_back (duration_before_current_location);
-
- framecnt_t duration = currentLocation->end() - currentLocation->start();
-
- range_markers_durations.push_back (duration);
- duration_before_current_location += duration;
- }
- }
-
- total_duration = duration_before_current_location;
-}
-
-
-gint
-ExportRangeMarkersDialog::progress_timeout ()
-{
- double progress = 0.0;
-
- if (current_range_marker_index >= range_markers_durations.size()){
- progress = 1.0;
- } else{
- progress = ((double) range_markers_durations_aggregated[current_range_marker_index] +
- (spec.progress * (double) range_markers_durations[current_range_marker_index])) /
- (double) total_duration;
- }
-
- set_progress_fraction( progress );
- return TRUE;
-}
diff --git a/gtk2_ardour/export_range_markers_dialog.h b/gtk2_ardour/export_range_markers_dialog.h
index b0a29b5dc2..e69de29bb2 100644
--- a/gtk2_ardour/export_range_markers_dialog.h
+++ b/gtk2_ardour/export_range_markers_dialog.h
@@ -1,66 +0,0 @@
-/*
- Copyright (C) 2006 Andre Raue
-
- 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 __export_range_markers_dialog_h__
-#define __export_range_markers_dialog_h__
-
-#include "ardour/location.h"
-
-#include "export_dialog.h"
-
-
-class ExportRangeMarkersDialog : public ExportDialog
-{
- public:
- ExportRangeMarkersDialog (PublicEditor&);
-
- Gtk::FileChooserAction browse_action() const;
-
- protected:
- virtual bool is_filepath_valid(string &filepath);
-
- void export_data();
-
- bool wants_dir() { return true; }
-
- private:
- // keeps the duration of all range_markers before the current
- vector<nframes_t> range_markers_durations_aggregated;
- vector<nframes_t> range_markers_durations;
- // duration of all range markers
- nframes_t total_duration;
- // index of range marker, that get's exported right now
- unsigned int current_range_marker_index;
-
- // sets value of progress bar
- virtual gint progress_timeout ();
-
- // initializes range_markers_durations_aggregated, range_markers_durations
- // and total_duration
- void init_progress_computing(ARDOUR::Locations::LocationList& locations);
-
- // searches for a filename like "<filename><nr>.<postfix>" in path, that
- // does not exist
- string get_target_filepath(string path, string filename, string postfix);
-
- void process_range_markers_export(ARDOUR::Locations::LocationList&);
-};
-
-
-#endif // __export_range_markers_dialog_h__
diff --git a/gtk2_ardour/export_timespan_selector.cc b/gtk2_ardour/export_timespan_selector.cc
index f239ab194b..61d813d222 100644
--- a/gtk2_ardour/export_timespan_selector.cc
+++ b/gtk2_ardour/export_timespan_selector.cc
@@ -50,7 +50,7 @@ ExportTimespanSelector::ExportTimespanSelector (ARDOUR::Session * session, Profi
option_hbox.pack_start (time_format_label, false, false, 0);
option_hbox.pack_start (time_format_combo, false, false, 6);
- Gtk::Button* b = manage (new Gtk::Button (_("Select All")));
+ Gtk::Button* b = Gtk::manage (new Gtk::Button (_("Select All")));
b->signal_clicked().connect (
sigc::bind (
sigc::mem_fun (*this, &ExportTimespanSelector::set_selection_state_of_all_timespans), true
@@ -58,7 +58,7 @@ ExportTimespanSelector::ExportTimespanSelector (ARDOUR::Session * session, Profi
);
option_hbox.pack_start (*b, false, false, 6);
- b = manage (new Gtk::Button (_("Deselect All")));
+ b = Gtk::manage (new Gtk::Button (_("Deselect All")));
b->signal_clicked().connect (
sigc::bind (
sigc::mem_fun (*this, &ExportTimespanSelector::set_selection_state_of_all_timespans), false
@@ -105,6 +105,9 @@ ExportTimespanSelector::ExportTimespanSelector (ARDOUR::Session * session, Profi
/* Range view */
range_list = Gtk::ListStore::create (range_cols);
+ // order by location start times
+ range_list->set_sort_column(range_cols.location, Gtk::SORT_ASCENDING);
+ range_list->set_sort_func(range_cols.location, sigc::mem_fun(*this, &ExportTimespanSelector::location_sorter));
range_view.set_model (range_list);
range_view.set_headers_visible (true);
}
@@ -114,6 +117,22 @@ ExportTimespanSelector::~ExportTimespanSelector ()
}
+int
+ExportTimespanSelector::location_sorter(Gtk::TreeModel::iterator a, Gtk::TreeModel::iterator b)
+{
+ Location *l1 = (*a)[range_cols.location];
+ Location *l2 = (*b)[range_cols.location];
+ const Location *ls = _session->locations()->session_range_location();
+
+ // always sort session range first
+ if (l1 == ls)
+ return -1;
+ if (l2 == ls)
+ return +1;
+
+ return l1->start() - l2->start();
+}
+
void
ExportTimespanSelector::add_range_to_selection (ARDOUR::Location const * loc)
{
@@ -305,7 +324,7 @@ ExportTimespanSelector::ms_str (framecnt_t frames) const
mins = (int) floor (left / (_session->frame_rate() * 60.0f));
left -= (framecnt_t) floor (mins * _session->frame_rate() * 60.0f);
secs = (int) floor (left / (float) _session->frame_rate());
- left -= (framecnt_t) floor (secs * _session->frame_rate());
+ left -= (framecnt_t) floor ((double)(secs * _session->frame_rate()));
sec_promilles = (int) (left * 1000 / (float) _session->frame_rate() + 0.5);
oss << std::setfill('0') << std::right <<
diff --git a/gtk2_ardour/export_timespan_selector.h b/gtk2_ardour/export_timespan_selector.h
index 2118a57b83..1216670991 100644
--- a/gtk2_ardour/export_timespan_selector.h
+++ b/gtk2_ardour/export_timespan_selector.h
@@ -25,9 +25,14 @@
#include <list>
+#ifdef interface
+#undef interface
+#endif
+
#include <gtkmm.h>
#include <boost/shared_ptr.hpp>
+
#include "ardour/types.h"
#include "ardour/session_handle.h"
#include "ardour/export_profile_manager.h"
@@ -84,6 +89,7 @@ class ExportTimespanSelector : public Gtk::VBox, public ARDOUR::SessionHandlePtr
void update_range_name (std::string const & path, std::string const & new_text);
void set_selection_state_of_all_timespans (bool);
+ int location_sorter(Gtk::TreeModel::iterator a, Gtk::TreeModel::iterator b);
/*** GUI components ***/
@@ -127,7 +133,7 @@ class ExportTimespanSelector : public Gtk::VBox, public ARDOUR::SessionHandlePtr
Gtk::ScrolledWindow range_scroller;
};
-/// Allows seleting multiple timespans
+/// Allows selecting multiple timespans
class ExportTimespanSelectorMultiple : public ExportTimespanSelector
{
public:
diff --git a/gtk2_ardour/export_video_dialog.cc b/gtk2_ardour/export_video_dialog.cc
index 2f9df2fb1c..df05eed807 100644
--- a/gtk2_ardour/export_video_dialog.cc
+++ b/gtk2_ardour/export_video_dialog.cc
@@ -29,6 +29,8 @@
#include <sigc++/bind.h>
+#include <glib/gstdio.h>
+
#include "pbd/error.h"
#include "pbd/convert.h"
#include "gtkmm2ext/utils.h"
@@ -49,7 +51,6 @@
#include "ardour/session_metadata.h"
#include "ardour/broadcast_info.h"
-#include "utils.h"
#include "opts.h"
#include "export_video_dialog.h"
#include "utils_videotl.h"
@@ -414,8 +415,8 @@ void
ExportVideoDialog::finished ()
{
if (aborted) {
- unlink(outfn_path_entry.get_text().c_str());
- unlink (insnd.c_str());
+ ::g_unlink(outfn_path_entry.get_text().c_str());
+ ::g_unlink (insnd.c_str());
Gtk::Dialog::response(RESPONSE_CANCEL);
} else if (twopass && firstpass) {
firstpass = false;
@@ -425,9 +426,9 @@ ExportVideoDialog::finished ()
if (twopass_checkbox.get_active()) {
std::string outfn = outfn_path_entry.get_text();
std::string p2log = Glib::path_get_dirname (outfn) + G_DIR_SEPARATOR + "ffmpeg2pass";
- unlink (p2log.c_str());
+ ::g_unlink (p2log.c_str());
}
- unlink (insnd.c_str());
+ ::g_unlink (insnd.c_str());
Gtk::Dialog::response(RESPONSE_ACCEPT);
}
}
@@ -559,6 +560,7 @@ ExportVideoDialog::launch_export ()
insnd = fnp->get_path(fmp);
/* do sound export */
+ fmp->set_soundcloud_upload(false);
_session->get_export_handler()->add_export_config (tsp, ccp, fmp, fnp, b);
_session->get_export_handler()->do_export();
status = _session->get_export_status ();
@@ -570,13 +572,13 @@ ExportVideoDialog::launch_export ()
if (gtk_events_pending()) {
gtk_main_iteration ();
} else {
- usleep (10000);
+ Glib::usleep (10000);
}
}
audio_progress_connection.disconnect();
status->finish ();
if (status->aborted()) {
- unlink (insnd.c_str());
+ ::g_unlink (insnd.c_str());
Gtk::Dialog::response(RESPONSE_CANCEL);
return;
}
@@ -593,14 +595,14 @@ ExportVideoDialog::encode_pass (int pass)
transcoder = new TranscodeFfmpeg(invid);
if (!transcoder->ffexec_ok()) {
/* ffmpeg binary was not found. TranscodeFfmpeg prints a warning */
- unlink (insnd.c_str());
+ ::g_unlink (insnd.c_str());
Gtk::Dialog::response(RESPONSE_CANCEL);
return;
}
if (!transcoder->probe_ok()) {
/* video input file can not be read */
warning << _("Export Video: Video input file cannot be read.") << endmsg;
- unlink (insnd.c_str());
+ ::g_unlink (insnd.c_str());
Gtk::Dialog::response(RESPONSE_CANCEL);
return;
}
@@ -610,7 +612,8 @@ ExportVideoDialog::encode_pass (int pass)
ffs.clear();
if (fps_checkbox.get_active()) {
- ffs["-r"] = fps_combo.get_active_text();
+ ffs["-r"] = fps_combo.get_active_text();
+ transcoder->set_fps(atof(fps_combo.get_active_text()));
}
if (scale_checkbox.get_active()) {
@@ -698,7 +701,7 @@ ExportVideoDialog::encode_pass (int pass)
ffs["-an"] = "-y";
ffs["-passlogfile"] = Glib::path_get_dirname (outfn) + G_DIR_SEPARATOR + "ffmpeg2pass";
ffs["-f"] = get_file_extension(invid).empty()?"mov":get_file_extension(invid);
-#ifdef _OS_WIN32
+#ifdef PLATFORM_WINDOWS
outfn = "NUL";
#else
outfn = "/dev/null";
@@ -730,11 +733,7 @@ ExportVideoDialog::encode_pass (int pass)
std::ostringstream osstream; osstream << duration_s;
ffs["-t"] = osstream.str();
- if (fps_checkbox.get_active()) {
- transcoder->set_duration(duration_s * atof(fps_combo.get_active_text()));
- } else {
- transcoder->set_duration(duration_s * transcoder->get_fps());
- }
+ transcoder->set_duration(duration_s * transcoder->get_fps());
if (insnd_combo.get_active_row_number() == 0 || insnd_combo.get_active_row_number() == 2) {
framepos_t start, snend;
diff --git a/gtk2_ardour/export_video_infobox.cc b/gtk2_ardour/export_video_infobox.cc
index fbe28bd821..a3e356decc 100644
--- a/gtk2_ardour/export_video_infobox.cc
+++ b/gtk2_ardour/export_video_infobox.cc
@@ -18,6 +18,9 @@
*/
#include "ardour/session.h"
+#ifdef interface
+#undef interface
+#endif
#include "export_video_infobox.h"
#include "i18n.h"
diff --git a/gtk2_ardour/fft_graph.cc b/gtk2_ardour/fft_graph.cc
index 2b0b32a28a..1edd483dab 100644
--- a/gtk2_ardour/fft_graph.cc
+++ b/gtk2_ardour/fft_graph.cc
@@ -17,6 +17,11 @@
*/
+#ifdef COMPILER_MSVC
+#include <algorithm>
+using std::min; using std::max;
+#endif
+
#include <iostream>
#include <glibmm.h>
@@ -287,8 +292,8 @@ FFTGraph::redraw()
// Find "session wide" min & max
- float min = 1000000000000.0;
- float max = -1000000000000.0;
+ float minf = 1000000000000.0;
+ float maxf = -1000000000000.0;
TreeNodeChildren track_rows = _a_window->track_list.get_model()->children();
@@ -302,18 +307,18 @@ FFTGraph::redraw()
continue;
}
- if ( res->minimum() < min) {
- min = res->minimum();
+ if ( res->minimum() < minf) {
+ minf = res->minimum();
}
- if ( res->maximum() > max) {
- max = res->maximum();
+ if ( res->maximum() > maxf) {
+ maxf = res->maximum();
}
}
if (!_show_normalized) {
- min = -150.0f;
- max = 0.0f;
+ minf = -150.0f;
+ maxf = 0.0f;
}
//int graph_height = height - 2 * h_margin;
@@ -323,7 +328,7 @@ FFTGraph::redraw()
float fft_pane_size_w = (float)(width - 2*v_margin) - 1.0;
float fft_pane_size_h = (float)(height - 2*h_margin);
- double pixels_per_db = (double)fft_pane_size_h / (double)(max - min);
+ double pixels_per_db = (double)fft_pane_size_h / (double)(maxf - minf);
cairo_rectangle(cr, 0.0, 0.0, fft_pane_size_w, fft_pane_size_h);
cairo_clip(cr);
@@ -350,14 +355,14 @@ FFTGraph::redraw()
mpp = -1000000.0;
cairo_set_source_rgba(cr, res->get_color().get_red_p(), res->get_color().get_green_p(), res->get_color().get_blue_p(), 0.30);
- cairo_move_to(cr, 0.5f + (float)_logScale[0], 0.5f + (float)( fft_pane_size_h - (int)floor( (res->maxAt(0) - min) * pixels_per_db) ));
+ cairo_move_to(cr, 0.5f + (float)_logScale[0], 0.5f + (float)( fft_pane_size_h - (int)floor( (res->maxAt(0) - minf) * pixels_per_db) ));
// Draw the line of maximum values
for (int x = 1; x < res->length(); x++) {
if (res->maxAt(x) > mpp)
mpp = res->maxAt(x);
- mpp = fmax(mpp, min);
- mpp = fmin(mpp, max);
+ mpp = fmax(mpp, minf);
+ mpp = fmin(mpp, maxf);
// If the next point on the log scale is at the same location,
// don't draw yet
@@ -366,7 +371,7 @@ FFTGraph::redraw()
}
float X = 0.5f + (float)_logScale[x];
- float Y = 0.5f + (float)( fft_pane_size_h - (int)floor( (mpp - min) * pixels_per_db) );
+ float Y = 0.5f + (float)( fft_pane_size_h - (int)floor( (mpp - minf) * pixels_per_db) );
cairo_line_to(cr, X, Y);
@@ -378,8 +383,8 @@ FFTGraph::redraw()
for (int x = res->length()-1; x >= 0; x--) {
if (res->minAt(x) < mpp)
mpp = res->minAt(x);
- mpp = fmax(mpp, min);
- mpp = fmin(mpp, max);
+ mpp = fmax(mpp, minf);
+ mpp = fmin(mpp, maxf);
// If the next point on the log scale is at the same location,
// don't draw yet
@@ -388,7 +393,7 @@ FFTGraph::redraw()
}
float X = 0.5f + (float)_logScale[x];
- float Y = 0.5f + (float)( fft_pane_size_h - (int)floor( (mpp - min) * pixels_per_db) );
+ float Y = 0.5f + (float)( fft_pane_size_h - (int)floor( (mpp - minf) * pixels_per_db) );
cairo_line_to(cr, X, Y );
@@ -414,8 +419,8 @@ FFTGraph::redraw()
if (res->avgAt(x) > mpp)
mpp = res->avgAt(x);
- mpp = fmax(mpp, min);
- mpp = fmin(mpp, max);
+ mpp = fmax(mpp, minf);
+ mpp = fmin(mpp, maxf);
// If the next point on the log scale is at the same location,
// don't draw yet
@@ -423,7 +428,7 @@ FFTGraph::redraw()
continue;
}
- cairo_line_to(cr, 0.5f + (float)_logScale[x], 0.5f + (float)( fft_pane_size_h - (int)floor( (mpp - min) * pixels_per_db) ));
+ cairo_line_to(cr, 0.5f + (float)_logScale[x], 0.5f + (float)( fft_pane_size_h - (int)floor( (mpp - minf) * pixels_per_db) ));
mpp = -1000000.0;
}
diff --git a/gtk2_ardour/fft_result.cc b/gtk2_ardour/fft_result.cc
index 37c045b7b0..a83b65e854 100644
--- a/gtk2_ardour/fft_result.cc
+++ b/gtk2_ardour/fft_result.cc
@@ -18,8 +18,8 @@
*/
-#include <fft_result.h>
-#include <fft_graph.h>
+#include "fft_result.h"
+#include "fft_graph.h"
#include <cstdlib>
#include <cstring>
#include <string>
diff --git a/gtk2_ardour/fix_carbon.h b/gtk2_ardour/fix_carbon.h
index 62ff0f3e4e..f021659c2d 100644
--- a/gtk2_ardour/fix_carbon.h
+++ b/gtk2_ardour/fix_carbon.h
@@ -25,7 +25,11 @@
/* an awful hack to stop Carbon #defines from messing with other code
*/
+#ifdef CARBON_FLAT_HEADERS
+#include "MacTypes.h"
+#else
#include "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h"
+#endif
#undef Style
#undef Fixed
#undef Yes
diff --git a/gtk2_ardour/ardour3_fonts.rc.in b/gtk2_ardour/fonts.rc.in
index 8d09ff0f1d..8d09ff0f1d 100644
--- a/gtk2_ardour/ardour3_fonts.rc.in
+++ b/gtk2_ardour/fonts.rc.in
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc
index c2a5071030..8098131fe6 100644
--- a/gtk2_ardour/gain_meter.cc
+++ b/gtk2_ardour/gain_meter.cc
@@ -30,7 +30,6 @@
#include <gdkmm/color.h>
#include <gtkmm2ext/utils.h>
#include <gtkmm2ext/fastmeter.h>
-#include <gtkmm2ext/barcontroller.h>
#include <gtkmm2ext/gtk_ui.h>
#include "pbd/fastlog.h"
#include "pbd/stacktrace.h"
@@ -54,6 +53,7 @@
#include "i18n.h"
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtkmm2ext;
using namespace Gtk;
@@ -78,9 +78,9 @@ GainMeterBase::GainMeterBase (Session* s, bool horizontal, int fader_length, int
_width = Wide;
if (horizontal) {
- gain_slider = manage (new HSliderController (&gain_adjustment, fader_length, fader_girth, false));
+ gain_slider = manage (new HSliderController (&gain_adjustment, fader_length, fader_girth));
} else {
- gain_slider = manage (new VSliderController (&gain_adjustment, fader_length, fader_girth, false));
+ gain_slider = manage (new VSliderController (&gain_adjustment, fader_length, fader_girth));
}
level_meter = new LevelMeterHBox(_session);
@@ -89,8 +89,9 @@ GainMeterBase::GainMeterBase (Session* s, bool horizontal, int fader_length, int
meter_metric_area.signal_button_press_event().connect (sigc::mem_fun (*this, &GainMeterBase::level_meter_button_press));
meter_metric_area.add_events (Gdk::BUTTON_PRESS_MASK);
- gain_slider->signal_button_press_event().connect (sigc::mem_fun(*this, &GainMeter::gain_slider_button_press), false);
- gain_slider->signal_button_release_event().connect (sigc::mem_fun(*this, &GainMeter::gain_slider_button_release), false);
+ gain_slider->set_tweaks (PixFader::Tweaks(PixFader::NoButtonForward | PixFader::NoVerticalScroll));
+ gain_slider->StartGesture.connect (sigc::mem_fun (*this, &GainMeter::amp_start_touch));
+ gain_slider->StopGesture.connect (sigc::mem_fun (*this, &GainMeter::amp_stop_touch));
gain_slider->set_name ("GainFader");
gain_display.set_name ("MixerStripGainDisplay");
@@ -98,13 +99,14 @@ GainMeterBase::GainMeterBase (Session* s, bool horizontal, int fader_length, int
gain_display.signal_activate().connect (sigc::mem_fun (*this, &GainMeter::gain_activated));
gain_display.signal_focus_in_event().connect (sigc::mem_fun (*this, &GainMeter::gain_focused), false);
gain_display.signal_focus_out_event().connect (sigc::mem_fun (*this, &GainMeter::gain_focused), false);
- gain_display.set_alignment(1.0);
+ gain_display.set_alignment(0.5);
peak_display.set_name ("MixerStripPeakDisplay");
set_size_request_to_display_given_text (peak_display, "-80.g", 2, 6); /* note the descender */
max_peak = minus_infinity();
- peak_display.set_label (_("-inf"));
+ peak_display.set_text (_("-inf"));
peak_display.unset_flags (Gtk::CAN_FOCUS);
+ peak_display.set_alignment(0.5);
gain_automation_style_button.set_name ("mixer strip button");
gain_automation_state_button.set_name ("mixer strip button");
@@ -136,15 +138,6 @@ GainMeterBase::GainMeterBase (Session* s, bool horizontal, int fader_length, int
UI::instance()->theme_changed.connect (sigc::mem_fun(*this, &GainMeterBase::on_theme_changed));
ColorsChanged.connect (sigc::bind(sigc::mem_fun (*this, &GainMeterBase::color_handler), false));
DPIReset.connect (sigc::bind(sigc::mem_fun (*this, &GainMeterBase::color_handler), true));
-
-// PBD::ScopedConnection _config_connection;
-// Config->ParameterChanged.connect ( _config_connection, MISSING_INVALIDATOR, boost::bind(&GainMeterBase::set_flat_buttons, this, _1), gui_context() );
-}
-
-void
-GainMeterBase::set_flat_buttons ()
-{
-// gain_slider->set_flat_buttons( ARDOUR_UI::config()->flat_buttons.get() );
}
GainMeterBase::~GainMeterBase ()
@@ -313,7 +306,15 @@ GainMeter::setup_meters (int len)
{
switch (_width) {
case Wide:
- hbox.set_homogeneous(true);
+ {
+ uint32_t meter_channels = 0;
+ if (_meter) {
+ meter_channels = _meter->input_streams().n_total();
+ } else if (_route) {
+ meter_channels = _route->shared_peak_meter()->input_streams().n_total();
+ }
+ hbox.set_homogeneous(meter_channels < 7 ? true : false);
+ }
break;
case Narrow:
hbox.set_homogeneous(false);
@@ -363,7 +364,7 @@ GainMeterBase::reset_peak_display ()
_meter->reset_max();
level_meter->clear_meters();
max_peak = -INFINITY;
- peak_display.set_label (_("-inf"));
+ peak_display.set_text (_("-inf"));
peak_display.set_name ("MixerStripPeakDisplay");
}
@@ -690,25 +691,16 @@ GainMeterBase::meter_point_clicked ()
}
}
-bool
-GainMeterBase::gain_slider_button_press (GdkEventButton* ev)
+void
+GainMeterBase::amp_start_touch ()
{
- switch (ev->type) {
- case GDK_BUTTON_PRESS:
- _amp->gain_control()->start_touch (_amp->session().transport_frame());
- break;
- default:
- return false;
- }
-
- return false;
+ _amp->gain_control()->start_touch (_amp->session().transport_frame());
}
-bool
-GainMeterBase::gain_slider_button_release (GdkEventButton*)
+void
+GainMeterBase::amp_stop_touch ()
{
_amp->gain_control()->stop_touch (false, _amp->session().transport_frame());
- return false;
}
gint
@@ -862,10 +854,10 @@ GainMeterBase::update_meters()
if (mpeak > max_peak) {
max_peak = mpeak;
if (mpeak <= -200.0f) {
- peak_display.set_label (_("-inf"));
+ peak_display.set_text (_("-inf"));
} else {
snprintf (buf, sizeof(buf), "%.1f", mpeak);
- peak_display.set_label (buf);
+ peak_display.set_text (buf);
}
}
if (mpeak >= Config->get_meter_peak()) {
@@ -1020,6 +1012,7 @@ GainMeter::get_gm_width ()
{
Gtk::Requisition sz;
int min_w = 0;
+ sz.width = 0;
meter_metric_area.size_request (sz);
min_w += sz.width;
level_meter->size_request (sz);
@@ -1063,6 +1056,13 @@ GainMeter::meter_ticks2_expose (GdkEventExpose *ev)
return meter_expose_ticks(ev, _route->meter_type(), _types, &meter_ticks2_area);
}
+void
+GainMeter::on_style_changed (const Glib::RefPtr<Gtk::Style>&)
+{
+ gain_display.queue_draw();
+ peak_display.queue_draw();
+}
+
boost::shared_ptr<PBD::Controllable>
GainMeterBase::get_controllable()
{
@@ -1128,6 +1128,7 @@ GainMeter::meter_configuration_changed (ChanCount c)
setup_meters();
meter_clear_pattern_cache(4);
+ on_style_changed(Glib::RefPtr<Gtk::Style>());
}
void
diff --git a/gtk2_ardour/gain_meter.h b/gtk2_ardour/gain_meter.h
index b71469b4c6..4c4b0735d3 100644
--- a/gtk2_ardour/gain_meter.h
+++ b/gtk2_ardour/gain_meter.h
@@ -58,7 +58,6 @@ namespace ARDOUR {
}
namespace Gtkmm2ext {
class FastMeter;
- class BarController;
}
namespace Gtk {
class Menu;
@@ -82,8 +81,6 @@ class GainMeterBase : virtual public sigc::trackable, ARDOUR::SessionHandlePtr
void set_meter_strip_name (const char * name);
void set_fader_name (const char * name);
- void set_flat_buttons ();
-
virtual void setup_meters (int len=0);
virtual void set_type (ARDOUR::MeterType);
@@ -114,7 +111,8 @@ class GainMeterBase : virtual public sigc::trackable, ARDOUR::SessionHandlePtr
Gtkmm2ext::SliderController *gain_slider;
Gtk::Adjustment gain_adjustment;
Gtkmm2ext::FocusEntry gain_display;
- Gtk::Button peak_display;
+ Gtkmm2ext::FocusEntry peak_display;
+// Gtk::Button peak_display;
Gtk::DrawingArea meter_metric_area;
Gtk::DrawingArea meter_ticks1_area;
Gtk::DrawingArea meter_ticks2_area;
@@ -170,8 +168,8 @@ class GainMeterBase : virtual public sigc::trackable, ARDOUR::SessionHandlePtr
Gtk::Menu* meter_menu;
void popup_meter_menu (GdkEventButton*);
- bool gain_slider_button_press (GdkEventButton *);
- bool gain_slider_button_release (GdkEventButton *);
+ void amp_stop_touch ();
+ void amp_start_touch ();
void set_route_group_meter_point (ARDOUR::Route&, ARDOUR::MeterPoint);
void set_meter_point (ARDOUR::Route&, ARDOUR::MeterPoint);
@@ -219,6 +217,7 @@ class GainMeter : public GainMeterBase, public Gtk::VBox
gint meter_metrics_expose (GdkEventExpose *);
gint meter_ticks1_expose (GdkEventExpose *);
gint meter_ticks2_expose (GdkEventExpose *);
+ void on_style_changed (const Glib::RefPtr<Gtk::Style>&);
private:
diff --git a/gtk2_ardour/generic_pluginui.cc b/gtk2_ardour/generic_pluginui.cc
index 032b4e054f..9e0272d644 100644
--- a/gtk2_ardour/generic_pluginui.cc
+++ b/gtk2_ardour/generic_pluginui.cc
@@ -25,6 +25,7 @@
#include <cerrno>
#include <cmath>
#include <string>
+#include <vector>
#include "pbd/stl_delete.h"
#include "pbd/xml++.h"
@@ -41,12 +42,9 @@
#include "ardour/plugin_insert.h"
#include "ardour/session.h"
-#include <lrdf.h>
-
#include "ardour_ui.h"
#include "prompter.h"
#include "plugin_ui.h"
-#include "utils.h"
#include "gui_thread.h"
#include "automation_controller.h"
@@ -311,9 +309,9 @@ GenericPluginUI::build ()
// are similar enough to be grouped together.
string label, previous_label = "";
- int numbers_in_labels[cui_controls_list.size()];
+ std::vector<int> numbers_in_labels(cui_controls_list.size());
- float similarity_scores[cui_controls_list.size()];
+ std::vector<float> similarity_scores(cui_controls_list.size());
float most_similar = 0.0, least_similar = 1.0;
i = 0;
@@ -627,8 +625,8 @@ GenericPluginUI::build_control_ui (guint32 port_index, boost::shared_ptr<Automat
Adjustment* adj = control_ui->controller->adjustment();
boost::shared_ptr<PluginInsert::PluginControl> pc = boost::dynamic_pointer_cast<PluginInsert::PluginControl> (control_ui->control);
- adj->set_lower (pc->internal_to_interface (desc.lower));
- adj->set_upper (pc->internal_to_interface (desc.upper));
+ adj->set_lower (desc.lower);
+ adj->set_upper (desc.upper);
adj->set_step_increment (desc.step);
adj->set_page_increment (desc.largestep);
@@ -637,7 +635,6 @@ GenericPluginUI::build_control_ui (guint32 port_index, boost::shared_ptr<Automat
control_ui->clickbox = new ClickBox (adj, "PluginUIClickBox");
Gtkmm2ext::set_size_request_to_display_given_text (*control_ui->clickbox, "g9999999", 2, 2);
if (desc.midinote) {
- printf("MIDI NOTE\n");
control_ui->clickbox->set_printer (sigc::bind (sigc::mem_fun (*this, &GenericPluginUI::midinote_printer), control_ui));
} else {
control_ui->clickbox->set_printer (sigc::bind (sigc::mem_fun (*this, &GenericPluginUI::integer_printer), control_ui));
@@ -646,17 +643,14 @@ GenericPluginUI::build_control_ui (guint32 port_index, boost::shared_ptr<Automat
//sigc::slot<void,char*,uint32_t> pslot = sigc::bind (sigc::mem_fun(*this, &GenericPluginUI::print_parameter), (uint32_t) port_index);
control_ui->controller->set_size_request (200, req.height);
- control_ui->controller->set_name (X_("PluginSlider"));
- control_ui->controller->set_style (BarController::LeftToRight);
- control_ui->controller->set_use_parent (true);
- control_ui->controller->set_logarithmic (desc.logarithmic);
+ control_ui->controller->set_name (X_("ProcessorControlSlider"));
control_ui->controller->StartGesture.connect (sigc::bind (sigc::mem_fun(*this, &GenericPluginUI::start_touch), control_ui));
control_ui->controller->StopGesture.connect (sigc::bind (sigc::mem_fun(*this, &GenericPluginUI::stop_touch), control_ui));
}
- adj->set_value (pc->internal_to_interface (plugin->get_parameter (port_index)));
+ adj->set_value (plugin->get_parameter (port_index));
/* XXX memory leak: SliderController not destroyed by ControlUI
destructor, and manage() reports object hierarchy
@@ -708,8 +702,8 @@ GenericPluginUI::build_control_ui (guint32 port_index, boost::shared_ptr<Automat
0xcccc00ff, 0xcccc00ff,
0xffaa00ff, 0xffaa00ff,
0xff0000ff,
- ARDOUR_UI::config()->canvasvar_MeterBackgroundBot.get(),
- ARDOUR_UI::config()->canvasvar_MeterBackgroundTop.get()
+ ARDOUR_UI::config()->get_canvasvar_MeterBackgroundBot(),
+ ARDOUR_UI::config()->get_canvasvar_MeterBackgroundTop()
);
info->min_unbound = desc.min_unbound;
@@ -798,8 +792,10 @@ GenericPluginUI::toggle_parameter_changed (ControlUI* cui)
if (!cui->ignore_change) {
if (val > 0.5) {
cui->button->set_active (true);
+ cui->button->set_name ("PluginEditorButton-active");
} else {
cui->button->set_active (false);
+ cui->button->set_name ("PluginEditorButton");
}
}
}
@@ -860,7 +856,13 @@ void
GenericPluginUI::control_port_toggled (ControlUI* cui)
{
cui->ignore_change++;
- insert->automation_control (cui->parameter())->set_value (cui->button->get_active());
+ const bool active = cui->button->get_active();
+ if (active) {
+ cui->button->set_name ("PluginEditorButton-active");
+ } else {
+ cui->button->set_name ("PluginEditorButton");
+ }
+ insert->automation_control (cui->parameter())->set_value (active);
cui->ignore_change--;
}
diff --git a/gtk2_ardour/ghostregion.cc b/gtk2_ardour/ghostregion.cc
index 31e6de390b..2f9133803c 100644
--- a/gtk2_ardour/ghostregion.cc
+++ b/gtk2_ardour/ghostregion.cc
@@ -18,15 +18,18 @@
*/
#include "evoral/Note.hpp"
+#include "canvas/container.h"
+#include "canvas/rectangle.h"
+#include "canvas/wave_view.h"
+#include "canvas/debug.h"
+
#include "ardour_ui.h"
#include "automation_time_axis.h"
-#include "canvas-note.h"
#include "ghostregion.h"
#include "midi_streamview.h"
#include "midi_time_axis.h"
#include "rgb_macros.h"
-#include "simplerect.h"
-#include "waveview.h"
+#include "note.h"
using namespace std;
using namespace Editing;
@@ -35,19 +38,20 @@ using namespace ARDOUR;
PBD::Signal1<void,GhostRegion*> GhostRegion::CatchDeletion;
-GhostRegion::GhostRegion (ArdourCanvas::Group* parent, TimeAxisView& tv, TimeAxisView& source_tv, double initial_pos)
+GhostRegion::GhostRegion (ArdourCanvas::Container* parent, TimeAxisView& tv, TimeAxisView& source_tv, double initial_pos)
: trackview (tv)
, source_trackview (source_tv)
{
- group = new ArdourCanvas::Group (*parent);
- group->property_x() = initial_pos;
- group->property_y() = 0.0;
+ group = new ArdourCanvas::Container (parent);
+ CANVAS_DEBUG_NAME (group, "ghost region");
+ group->set_position (ArdourCanvas::Duple (initial_pos, 0));
- base_rect = new ArdourCanvas::SimpleRect (*group);
- base_rect->property_x1() = (double) 0.0;
- base_rect->property_y1() = (double) 0.0;
- base_rect->property_y2() = (double) trackview.current_height();
- base_rect->property_outline_what() = (guint32) 0;
+ base_rect = new ArdourCanvas::Rectangle (group);
+ CANVAS_DEBUG_NAME (base_rect, "ghost region rect");
+ base_rect->set_x0 (0);
+ base_rect->set_y0 (0.0);
+ base_rect->set_y1 (trackview.current_height() - 1.0);
+ base_rect->set_outline_what (ArdourCanvas::Rectangle::What (0));
if (!is_automation_ghost()) {
base_rect->hide();
@@ -70,21 +74,21 @@ GhostRegion::~GhostRegion ()
void
GhostRegion::set_duration (double units)
{
- base_rect->property_x2() = units;
+ base_rect->set_x1 (units);
}
void
GhostRegion::set_height ()
{
- base_rect->property_y2() = (double) trackview.current_height();
+ base_rect->set_y1 (trackview.current_height());
}
void
GhostRegion::set_colors ()
{
if (is_automation_ghost()) {
- base_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_GhostTrackBase.get();
- base_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_GhostTrackBase.get();
+ base_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_GhostTrackBase());
+ base_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_GhostTrackBase());
}
}
@@ -108,28 +112,26 @@ AudioGhostRegion::AudioGhostRegion(TimeAxisView& tv, TimeAxisView& source_tv, do
}
void
-AudioGhostRegion::set_samples_per_unit (double spu)
+AudioGhostRegion::set_samples_per_pixel (double fpp)
{
for (vector<WaveView*>::iterator i = waves.begin(); i != waves.end(); ++i) {
- (*i)->property_samples_per_unit() = spu;
+ (*i)->set_samples_per_pixel (fpp);
}
}
void
AudioGhostRegion::set_height ()
{
- gdouble ht;
vector<WaveView*>::iterator i;
uint32_t n;
GhostRegion::set_height();
- ht = ((trackview.current_height()) / (double) waves.size());
+ double const ht = ((trackview.current_height()) / (double) waves.size());
for (n = 0, i = waves.begin(); i != waves.end(); ++i, ++n) {
- gdouble yoff = n * ht;
- (*i)->property_height() = ht;
- (*i)->property_y() = yoff;
+ (*i)->set_height (ht);
+ (*i)->set_y_position (n * ht);
}
}
@@ -140,17 +142,17 @@ AudioGhostRegion::set_colors ()
guint fill_color;
if (is_automation_ghost()) {
- fill_color = ARDOUR_UI::config()->canvasvar_GhostTrackWaveFill.get();
+ fill_color = ARDOUR_UI::config()->get_canvasvar_GhostTrackWaveFill();
}
else {
fill_color = source_track_color(200);
}
for (uint32_t n=0; n < waves.size(); ++n) {
- waves[n]->property_wave_color() = ARDOUR_UI::config()->canvasvar_GhostTrackWave.get();
- waves[n]->property_fill_color() = fill_color;
- waves[n]->property_clip_color() = ARDOUR_UI::config()->canvasvar_GhostTrackWaveClip.get();
- waves[n]->property_zero_color() = ARDOUR_UI::config()->canvasvar_GhostTrackZeroLine.get();
+ waves[n]->set_outline_color (ARDOUR_UI::config()->get_canvasvar_GhostTrackWave());
+ waves[n]->set_fill_color (fill_color);
+ waves[n]->set_clip_color (ARDOUR_UI::config()->get_canvasvar_GhostTrackWaveClip());
+ waves[n]->set_zero_color (ARDOUR_UI::config()->get_canvasvar_GhostTrackZeroLine());
}
}
@@ -189,20 +191,21 @@ MidiGhostRegion::~MidiGhostRegion()
clear_events ();
}
-MidiGhostRegion::Event::Event (ArdourCanvas::CanvasNoteEvent* e, ArdourCanvas::Group* g)
+MidiGhostRegion::GhostEvent::GhostEvent (NoteBase* e, ArdourCanvas::Container* g)
: event (e)
{
- rect = new ArdourCanvas::SimpleRect (*g, e->x1(), e->y1(), e->x2(), e->y2());
+ rect = new ArdourCanvas::Rectangle (g, ArdourCanvas::Rect (e->x0(), e->y0(), e->x1(), e->y1()));
+ CANVAS_DEBUG_NAME (rect, "ghost note rect");
}
-MidiGhostRegion::Event::~Event ()
+MidiGhostRegion::GhostEvent::~GhostEvent ()
{
/* event is not ours to delete */
delete rect;
}
void
-MidiGhostRegion::set_samples_per_unit (double /*spu*/)
+MidiGhostRegion::set_samples_per_pixel (double /*spu*/)
{
}
@@ -233,8 +236,8 @@ MidiGhostRegion::set_colors()
GhostRegion::set_colors();
for (EventList::iterator it = events.begin(); it != events.end(); ++it) {
- (*it)->rect->property_fill_color_rgba() = fill;
- (*it)->rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_GhostTrackMidiOutline.get();
+ (*it)->rect->set_fill_color (fill);
+ (*it)->rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_GhostTrackMidiOutline());
}
}
@@ -247,7 +250,7 @@ MidiGhostRegion::update_range ()
return;
}
- double const h = trackview.current_height() / double (mv->contents_note_range ());
+ double const h = std::max(1., floor (trackview.current_height() / double (mv->contents_note_range ())) -1);
for (EventList::iterator it = events.begin(); it != events.end(); ++it) {
uint8_t const note_num = (*it)->event->note()->note();
@@ -257,20 +260,20 @@ MidiGhostRegion::update_range ()
} else {
(*it)->rect->show();
double const y = trackview.current_height() - (note_num + 1 - mv->lowest_note()) * h + 1;
- (*it)->rect->property_y1() = y;
- (*it)->rect->property_y2() = y + h;
+ (*it)->rect->set_y0 (y);
+ (*it)->rect->set_y1 (y + h);
}
}
}
void
-MidiGhostRegion::add_note(ArdourCanvas::CanvasNote* n)
+MidiGhostRegion::add_note (NoteBase* n)
{
- Event* event = new Event (n, group);
+ GhostEvent* event = new GhostEvent (n, group);
events.push_back (event);
- event->rect->property_fill_color_rgba() = source_track_color(200);
- event->rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_GhostTrackMidiOutline.get();
+ event->rect->set_fill_color (source_track_color(200));
+ event->rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_GhostTrackMidiOutline());
MidiStreamView* mv = midi_view();
@@ -281,8 +284,8 @@ MidiGhostRegion::add_note(ArdourCanvas::CanvasNote* n)
event->rect->hide();
} else {
const double y = mv->note_to_y(note_num);
- event->rect->property_y1() = y;
- event->rect->property_y2() = y + mv->note_height();
+ event->rect->set_y0 (y);
+ event->rect->set_y1 (y + std::max(1., floor(mv->note_height()) -1));
}
}
}
@@ -302,23 +305,23 @@ MidiGhostRegion::clear_events()
* @param parent The CanvasNote from the parent MidiRegionView.
*/
void
-MidiGhostRegion::update_note (ArdourCanvas::CanvasNote* parent)
+MidiGhostRegion::update_note (NoteBase* parent)
{
- Event* ev = find_event (parent);
+ GhostEvent* ev = find_event (parent);
if (!ev) {
return;
}
- double const x1 = parent->property_x1 ();
- double const x2 = parent->property_x2 ();
- ev->rect->property_x1 () = x1;
- ev->rect->property_x2 () = x2;
+ double const x1 = parent->x0 ();
+ double const x2 = parent->x1 ();
+ ev->rect->set_x0 (x1);
+ ev->rect->set_x1 (x2);
}
void
-MidiGhostRegion::remove_note (ArdourCanvas::CanvasNoteEvent* note)
+MidiGhostRegion::remove_note (NoteBase* note)
{
- Event* ev = find_event (note);
+ GhostEvent* ev = find_event (note);
if (!ev) {
return;
}
@@ -333,8 +336,8 @@ MidiGhostRegion::remove_note (ArdourCanvas::CanvasNoteEvent* note)
* @return Our Event, or 0 if not found.
*/
-MidiGhostRegion::Event *
-MidiGhostRegion::find_event (ArdourCanvas::CanvasNoteEvent* parent)
+MidiGhostRegion::GhostEvent *
+MidiGhostRegion::find_event (NoteBase* parent)
{
/* we are using _optimization_iterator to speed up the common case where a caller
is going through our notes in order.
diff --git a/gtk2_ardour/ghostregion.h b/gtk2_ardour/ghostregion.h
index 083f71b3e2..85b6d96ed1 100644
--- a/gtk2_ardour/ghostregion.h
+++ b/gtk2_ardour/ghostregion.h
@@ -21,29 +21,25 @@
#define __ardour_gtk_ghost_region_h__
#include <vector>
-#include <libgnomecanvasmm.h>
#include "pbd/signals.h"
-#include "canvas.h"
-
-namespace Gnome {
- namespace Canvas {
- class CanvasNoteEvent;
- class CanvasNote;
- class CanvasHit;
- class Diamond;
- }
+
+namespace ArdourCanvas {
+ class WaveView;
}
+class NoteBase;
+class Note;
+class Hit;
class MidiStreamView;
class TimeAxisView;
class GhostRegion : public sigc::trackable
{
public:
- GhostRegion(ArdourCanvas::Group* parent, TimeAxisView& tv, TimeAxisView& source_tv, double initial_unit_pos);
+ GhostRegion(ArdourCanvas::Container* parent, TimeAxisView& tv, TimeAxisView& source_tv, double initial_unit_pos);
virtual ~GhostRegion();
- virtual void set_samples_per_unit(double spu) = 0;
+ virtual void set_samples_per_pixel (double) = 0;
virtual void set_height();
virtual void set_colors();
@@ -56,8 +52,8 @@ public:
TimeAxisView& trackview;
/** TimeAxisView that we are a ghost for */
TimeAxisView& source_trackview;
- ArdourCanvas::Group* group;
- ArdourCanvas::SimpleRect* base_rect;
+ ArdourCanvas::Container* group;
+ ArdourCanvas::Rectangle* base_rect;
static PBD::Signal1<void,GhostRegion*> CatchDeletion;
};
@@ -66,7 +62,7 @@ class AudioGhostRegion : public GhostRegion {
public:
AudioGhostRegion(TimeAxisView& tv, TimeAxisView& source_tv, double initial_unit_pos);
- void set_samples_per_unit(double spu);
+ void set_samples_per_pixel (double);
void set_height();
void set_colors();
@@ -75,13 +71,13 @@ public:
class MidiGhostRegion : public GhostRegion {
public:
- class Event : public sigc::trackable {
- public:
- Event(ArdourCanvas::CanvasNoteEvent *, ArdourCanvas::Group *);
- ~Event ();
-
- ArdourCanvas::CanvasNoteEvent* event;
- ArdourCanvas::SimpleRect* rect;
+ class GhostEvent : public sigc::trackable {
+ public:
+ GhostEvent(::NoteBase *, ArdourCanvas::Container *);
+ virtual ~GhostEvent ();
+
+ NoteBase* event;
+ ArdourCanvas::Rectangle* rect;
};
MidiGhostRegion(TimeAxisView& tv, TimeAxisView& source_tv, double initial_unit_pos);
@@ -91,22 +87,22 @@ public:
MidiStreamView* midi_view();
void set_height();
- void set_samples_per_unit(double spu);
+ void set_samples_per_pixel (double spu);
void set_colors();
void update_range();
- void add_note(ArdourCanvas::CanvasNote*);
- void update_note (ArdourCanvas::CanvasNote *);
- void remove_note (ArdourCanvas::CanvasNoteEvent *);
+ void add_note(NoteBase*);
+ void update_note (NoteBase*);
+ void remove_note (NoteBase*);
void clear_events();
private:
- MidiGhostRegion::Event* find_event (ArdourCanvas::CanvasNoteEvent *);
+ MidiGhostRegion::GhostEvent* find_event (NoteBase*);
- typedef std::list<MidiGhostRegion::Event*> EventList;
+ typedef std::list<MidiGhostRegion::GhostEvent*> EventList;
EventList events;
EventList::iterator _optimization_iterator;
};
diff --git a/gtk2_ardour/global_port_matrix.cc b/gtk2_ardour/global_port_matrix.cc
index 80e2616bd8..706b4b6727 100644
--- a/gtk2_ardour/global_port_matrix.cc
+++ b/gtk2_ardour/global_port_matrix.cc
@@ -32,6 +32,7 @@
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
GlobalPortMatrix::GlobalPortMatrix (Gtk::Window* p, Session* s, DataType t)
: PortMatrix (p, s, t)
@@ -48,7 +49,7 @@ GlobalPortMatrix::setup_ports (int dim)
}
_ports[dim].suspend_signals ();
- _ports[dim].gather (_session, type(), dim == IN, false, show_only_bundles ());
+ _ports[dim].gather (_session, type(), dim == FLOW_IN, false, show_only_bundles ());
_ports[dim].resume_signals ();
}
@@ -59,8 +60,8 @@ GlobalPortMatrix::set_state (BundleChannel c[2], bool s)
return;
}
- Bundle::PortList const & in_ports = c[IN].bundle->channel_ports (c[IN].channel);
- Bundle::PortList const & out_ports = c[OUT].bundle->channel_ports (c[OUT].channel);
+ Bundle::PortList const & in_ports = c[FLOW_IN].bundle->channel_ports (c[FLOW_IN].channel);
+ Bundle::PortList const & out_ports = c[FLOW_OUT].bundle->channel_ports (c[FLOW_OUT].channel);
for (Bundle::PortList::const_iterator i = in_ports.begin(); i != in_ports.end(); ++i) {
for (Bundle::PortList::const_iterator j = out_ports.begin(); j != out_ports.end(); ++j) {
@@ -103,8 +104,8 @@ GlobalPortMatrix::get_state (BundleChannel c[2]) const
return PortMatrixNode::NOT_ASSOCIATED;
}
- Bundle::PortList const & in_ports = c[IN].bundle->channel_ports (c[IN].channel);
- Bundle::PortList const & out_ports = c[OUT].bundle->channel_ports (c[OUT].channel);
+ Bundle::PortList const & in_ports = c[FLOW_IN].bundle->channel_ports (c[FLOW_IN].channel);
+ Bundle::PortList const & out_ports = c[FLOW_OUT].bundle->channel_ports (c[FLOW_OUT].channel);
if (in_ports.empty() || out_ports.empty()) {
/* we're looking at a bundle with no parts associated with this channel,
so nothing to connect */
diff --git a/gtk2_ardour/global_port_matrix.h b/gtk2_ardour/global_port_matrix.h
index d45a639093..3def23a6a3 100644
--- a/gtk2_ardour/global_port_matrix.h
+++ b/gtk2_ardour/global_port_matrix.h
@@ -46,8 +46,8 @@ public:
private:
/* see PortMatrix: signal flow from 0 to 1 (out to in) */
enum {
- OUT = 0,
- IN = 1,
+ FLOW_OUT = 0,
+ FLOW_IN = 1,
};
};
diff --git a/gtk2_ardour/global_signals.h b/gtk2_ardour/global_signals.h
index 3bd6f100a9..f1abb8dbb8 100644
--- a/gtk2_ardour/global_signals.h
+++ b/gtk2_ardour/global_signals.h
@@ -22,7 +22,9 @@
#include <sigc++/signal.h>
+namespace ARDOUR_UI_UTILS {
extern sigc::signal<void> ColorsChanged;
extern sigc::signal<void> DPIReset;
+} // namespace
#endif /* __gtk_ardour_global_signals_h__ */
diff --git a/gtk2_ardour/group_tabs.cc b/gtk2_ardour/group_tabs.cc
index 2394b9a6c5..b64713362a 100644
--- a/gtk2_ardour/group_tabs.cc
+++ b/gtk2_ardour/group_tabs.cc
@@ -24,15 +24,18 @@
#include "gui_thread.h"
#include "route_group_dialog.h"
+#include "global_signals.h"
#include "group_tabs.h"
#include "keyboard.h"
#include "i18n.h"
#include "ardour_ui.h"
+#include "rgb_macros.h"
#include "utils.h"
using namespace std;
using namespace Gtk;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using Gtkmm2ext::Keyboard;
list<Gdk::Color> GroupTabs::_used_colors;
@@ -43,6 +46,7 @@ GroupTabs::GroupTabs ()
, _dragging_new_tab (0)
{
add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::POINTER_MOTION_MASK);
+ ColorsChanged.connect (sigc::mem_fun (*this, &GroupTabs::queue_draw));
}
GroupTabs::~GroupTabs ()
@@ -237,7 +241,7 @@ GroupTabs::on_button_release_event (GdkEventButton*)
}
void
-GroupTabs::render (cairo_t* cr)
+GroupTabs::render (cairo_t* cr, cairo_rectangle_t*)
{
if (_dragging == 0) {
_tabs = compute_tabs ();
@@ -535,19 +539,30 @@ GroupTabs::remove_group (RouteGroup* g)
/** Set the color of the tab of a route group */
void
-GroupTabs::set_group_color (RouteGroup* group, Gdk::Color color)
+GroupTabs::set_group_color (RouteGroup* group, uint32_t color)
{
assert (group);
+ uint32_t r, g, b, a;
+
+ UINT_TO_RGBA (color, &r, &g, &b, &a);
/* Hack to disallow black route groups; force a dark grey instead */
- if (color.get_red() == 0 && color.get_green() == 0 && color.get_blue() == 0) {
- color.set_grey_p (0.1);
+
+ if (r == 0 && g == 0 && b == 0) {
+ r = 25;
+ g = 25;
+ b = 25;
}
GUIObjectState& gui_state = *ARDOUR_UI::instance()->gui_object_state;
char buf[64];
- snprintf (buf, sizeof (buf), "%d:%d:%d", color.get_red(), color.get_green(), color.get_blue());
+
+ /* for historical reasons the colors must be stored as 16 bit color
+ * values. Ugh.
+ */
+
+ snprintf (buf, sizeof (buf), "%d:%d:%d", (r<<8), (g<<8), (b<<8));
gui_state.set_property (group_gui_id (group), "color", buf);
/* the group color change notification */
@@ -577,35 +592,35 @@ GroupTabs::group_gui_id (RouteGroup* group)
}
/** @return the color to use for a route group tab */
-Gdk::Color
+uint32_t
GroupTabs::group_color (RouteGroup* group)
{
assert (group);
GUIObjectState& gui_state = *ARDOUR_UI::instance()->gui_object_state;
-
string const gui_id = group_gui_id (group);
-
bool empty;
string const color = gui_state.get_string (gui_id, "color", &empty);
+
if (empty) {
/* no color has yet been set, so use a random one */
- Gdk::Color const color = unique_random_color (_used_colors);
- set_group_color (group, color);
- return color;
+ uint32_t c = gdk_color_to_rgba (unique_random_color (_used_colors));
+ set_group_color (group, c);
+ return c;
}
- Gdk::Color c;
-
int r, g, b;
+ /* for historical reasons, colors are stored as 16 bit values.
+ */
+
sscanf (color.c_str(), "%d:%d:%d", &r, &g, &b);
- c.set_red (r);
- c.set_green (g);
- c.set_blue (b);
-
- return c;
+ r /= 256;
+ g /= 256;
+ b /= 256;
+
+ return RGBA_TO_UINT (r, g, b, 255);
}
void
diff --git a/gtk2_ardour/group_tabs.h b/gtk2_ardour/group_tabs.h
index d61358ead5..ff231e8a68 100644
--- a/gtk2_ardour/group_tabs.h
+++ b/gtk2_ardour/group_tabs.h
@@ -50,9 +50,9 @@ public:
void run_new_group_dialog (ARDOUR::RouteList const &);
- static void set_group_color (ARDOUR::RouteGroup *, Gdk::Color);
+ static void set_group_color (ARDOUR::RouteGroup *, uint32_t);
static std::string group_gui_id (ARDOUR::RouteGroup *);
- static Gdk::Color group_color (ARDOUR::RouteGroup *);
+ static uint32_t group_color (ARDOUR::RouteGroup *);
protected:
@@ -61,7 +61,7 @@ protected:
double from;
double to;
- Gdk::Color color; ///< color
+ uint32_t color; ///< color
ARDOUR::RouteGroup* group; ///< route group
};
@@ -108,7 +108,7 @@ private:
void disable_all ();
void remove_group (ARDOUR::RouteGroup *);
- void render (cairo_t *);
+ void render (cairo_t *, cairo_rectangle_t*);
void on_size_request (Gtk::Requisition *);
bool on_button_press_event (GdkEventButton *);
bool on_motion_notify_event (GdkEventMotion *);
diff --git a/gtk2_ardour/gtk-custom-hruler.c b/gtk2_ardour/gtk-custom-hruler.c
deleted file mode 100644
index a3745ba691..0000000000
--- a/gtk2_ardour/gtk-custom-hruler.c
+++ /dev/null
@@ -1,267 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-1999. See the AUTHORS
- * file for a list of people on the GTK+ Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-/* modified by andreas meyer <hexx3000@gmx.de> */
-/* subsequently specialized for audio time displays by paul davis <paul@linuxaudiosystems.com> */
-
-#include <math.h>
-#include <stdio.h>
-#include <string.h>
-#include "gtk-custom-hruler.h"
-
-#define RULER_HEIGHT 14
-#define MINIMUM_INCR 5
-#define MAXIMUM_SUBDIVIDE 5
-
-#define ROUND(x) ((int) ((x) + 0.5))
-
-static void gtk_custom_hruler_class_init (GtkCustomHRulerClass * klass);
-static void gtk_custom_hruler_init (GtkCustomHRuler * custom_hruler);
-static gint gtk_custom_hruler_motion_notify (GtkWidget * widget, GdkEventMotion * event);
-static void gtk_custom_hruler_draw_ticks (GtkCustomRuler * ruler);
-static void gtk_custom_hruler_draw_pos (GtkCustomRuler * ruler);
-
-GType gtk_custom_hruler_get_type (void)
-{
- static GType hruler_type = 0;
-
- if (!hruler_type) {
- static const GTypeInfo hruler_info =
- {
- sizeof (GtkCustomHRulerClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) gtk_custom_hruler_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GtkCustomHRuler),
- 0, /* n_preallocs */
- (GInstanceInitFunc) gtk_custom_hruler_init,
- NULL /* value_table */
- };
-
- hruler_type = g_type_register_static (gtk_custom_ruler_get_type(), "GtkCustomHRuler",
- &hruler_info, 0);
- }
-
- return hruler_type;
-}
-
-static void
-gtk_custom_hruler_class_init (GtkCustomHRulerClass * klass)
-{
- GtkWidgetClass *widget_class;
- GtkCustomRulerClass *ruler_class;
-
- widget_class = (GtkWidgetClass *) klass;
- ruler_class = (GtkCustomRulerClass *) klass;
-
- widget_class->motion_notify_event = gtk_custom_hruler_motion_notify;
-
- ruler_class->draw_ticks = gtk_custom_hruler_draw_ticks;
- ruler_class->draw_pos = gtk_custom_hruler_draw_pos;
-}
-
-static void
-gtk_custom_hruler_init (GtkCustomHRuler * custom_hruler)
-{
- GtkWidget *widget;
-
- widget = GTK_WIDGET (custom_hruler);
- widget->requisition.width = widget->style->xthickness * 2 + 1;
- widget->requisition.height = widget->style->ythickness * 2 + RULER_HEIGHT;
-}
-
-
-GtkWidget *
-gtk_custom_hruler_new (void)
-{
- return GTK_WIDGET (gtk_type_new (gtk_custom_hruler_get_type ()));
-}
-
-static gint
-gtk_custom_hruler_motion_notify (GtkWidget * widget, GdkEventMotion * event)
-{
- GtkCustomRuler *ruler;
- gint x;
-
- g_return_val_if_fail (widget != NULL, FALSE);
- g_return_val_if_fail (GTK_IS_CUSTOM_HRULER (widget), FALSE);
- g_return_val_if_fail (event != NULL, FALSE);
-
- ruler = GTK_CUSTOM_RULER (widget);
-
- if (event->is_hint)
- gdk_window_get_pointer (widget->window, &x, NULL, NULL);
- else
- x = event->x;
-
- ruler->position = ruler->lower + ((ruler->upper - ruler->lower) * x) / widget->allocation.width;
-
- /* Make sure the ruler has been allocated already */
- if (ruler->backing_store != NULL)
- gtk_custom_ruler_draw_pos (ruler);
-
- return FALSE;
-}
-
-static void
-gtk_custom_hruler_draw_ticks (GtkCustomRuler * ruler)
-{
- GtkWidget *widget;
- GdkGC *gc;
- gint i;
- GtkCustomRulerMark *marks;
- gint ythickness;
- gint nmarks;
- gint max_chars;
- gint digit_offset;
- PangoLayout *layout;
- PangoRectangle logical_rect, ink_rect;
-
- g_return_if_fail (ruler != NULL);
- g_return_if_fail (GTK_IS_CUSTOM_HRULER (ruler));
-
- if (!GTK_WIDGET_DRAWABLE (ruler))
- return;
-
- widget = GTK_WIDGET (ruler);
-
- gc = widget->style->fg_gc[GTK_STATE_NORMAL];
-
- layout = gtk_widget_create_pango_layout (widget, "012456789");
- pango_layout_get_extents (layout, &ink_rect, &logical_rect);
-
- digit_offset = ink_rect.y;
-
- ythickness = widget->style->ythickness;
-
- gtk_paint_box (widget->style, ruler->backing_store,
- GTK_STATE_NORMAL, GTK_SHADOW_NONE,
- NULL, widget, "custom_hruler", 0, 0, widget->allocation.width, widget->allocation.height);
-
- gdk_draw_line (ruler->backing_store, gc, 0, widget->allocation.height - 1,
- widget->allocation.width, widget->allocation.height - 1);
-
- if ((ruler->upper - ruler->lower) == 0) {
- return;
- }
-
- /* we have to assume a fixed width font here */
-
- max_chars = widget->allocation.width / 12; // XXX FIX ME: pixel with of the char `8'
-
- nmarks = ruler->metric->get_marks (&marks, ruler->lower, ruler->upper, max_chars);
-
- for (i = 0; i < nmarks; i++) {
- gint pos;
- gint height;
-
- pos = ROUND ((marks[i].position - ruler->lower) / ruler->metric->units_per_pixel);
- height = widget->allocation.height;
-
- switch (marks[i].style) {
- case GtkCustomRulerMarkMajor:
- gdk_draw_line (ruler->backing_store, gc, pos, height, pos, 0);
- break;
- case GtkCustomRulerMarkMinor:
- gdk_draw_line (ruler->backing_store, gc, pos, height, pos, height - (height/2));
- break;
- case GtkCustomRulerMarkMicro:
- gdk_draw_line (ruler->backing_store, gc, pos, height, pos, height - 3);
- break;
- }
-
- pango_layout_set_text (layout, marks[i].label, -1);
- pango_layout_get_extents (layout, &logical_rect, NULL);
-
- gtk_paint_layout (widget->style,
- ruler->backing_store,
- GTK_WIDGET_STATE (widget),
- FALSE,
- NULL,
- widget,
- "hruler",
- pos + 2, ythickness + PANGO_PIXELS (logical_rect.y - digit_offset),
- layout);
-
- g_free (marks[i].label);
- }
-
- if (nmarks) {
- g_free (marks);
- }
-
- g_object_unref (layout);
-}
-
-static void
-gtk_custom_hruler_draw_pos (GtkCustomRuler * ruler)
-{
- GtkWidget *widget;
- GdkGC *gc;
- int i;
- gint x, y;
- gint width, height;
- gint bs_width, bs_height;
- gint xthickness;
- gint ythickness;
- gfloat increment;
-
- g_return_if_fail (ruler != NULL);
- g_return_if_fail (GTK_IS_CUSTOM_HRULER (ruler));
- if (GTK_WIDGET_DRAWABLE (ruler) && (ruler->upper - ruler->lower) > 0) {
- widget = GTK_WIDGET (ruler);
- gc = widget->style->fg_gc[GTK_STATE_NORMAL];
- xthickness = widget->style->xthickness;
- ythickness = widget->style->ythickness;
- width = widget->allocation.width;
- height = widget->allocation.height - ythickness * 2;
-
- bs_width = height / 2;
- bs_width |= 1; /* make sure it's odd */
- bs_height = bs_width / 2 + 1;
-
- if ((bs_width > 0) && (bs_height > 0)) {
- /* If a backing store exists, restore the ruler */
- if (ruler->backing_store && ruler->non_gr_exp_gc)
- gdk_draw_drawable (ruler->widget.window,
- ruler->non_gr_exp_gc,
- GDK_DRAWABLE(ruler->backing_store), ruler->xsrc, ruler->ysrc, ruler->xsrc, ruler->ysrc, bs_width, bs_height);
-
- increment = (gfloat) width / (ruler->upper - ruler->lower);
- x = ROUND ((ruler->position - ruler->lower) * increment) + (xthickness - bs_width) / 2 - 1;
- y = (height + bs_height) / 2 + ythickness;
-
- for (i = 0; i < bs_height; i++)
- gdk_draw_line (widget->window, gc, x + i, y + i, x + bs_width - 1 - i, y + i);
-
-
- ruler->xsrc = x;
- ruler->ysrc = y;
- }
- }
-}
diff --git a/gtk2_ardour/gtk-custom-hruler.h b/gtk2_ardour/gtk-custom-hruler.h
deleted file mode 100644
index 5213e3030c..0000000000
--- a/gtk2_ardour/gtk-custom-hruler.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-1999. See the AUTHORS
- * file for a list of people on the GTK+ Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-/* modified by andreas meyer <hexx3000@gmx.de> */
-
-#ifndef __GTK_CUSTOM_HRULER_H__
-#define __GTK_CUSTOM_HRULER_H__
-
-
-#include <gdk/gdk.h>
-#include "gtk-custom-ruler.h"
-
-
-G_BEGIN_DECLS
-
-
-#define GTK_CUSTOM_HRULER(obj) G_TYPE_CHECK_INSTANCE_CAST (obj, gtk_custom_hruler_get_type (), GtkCustomHRuler)
-#define GTK_CUSTOM_HRULER_CLASS(klass) G_TYPE_CHECK_CLASS_CAST (klass, gtk_custom_hruler_get_type (), GtkCustomHRulerClass)
-#define GTK_IS_CUSTOM_HRULER(obj) G_TYPE_CHECK_INSTANCE_TYPE (obj, gtk_custom_hruler_get_type ())
-
-
-typedef struct _GtkCustomHRuler GtkCustomHRuler;
-typedef struct _GtkCustomHRulerClass GtkCustomHRulerClass;
-
-struct _GtkCustomHRuler
-{
- GtkCustomRuler ruler;
-};
-
-struct _GtkCustomHRulerClass
-{
- GtkCustomRulerClass parent_class;
-};
-
-
-GType gtk_custom_hruler_get_type (void);
-GtkWidget* gtk_custom_hruler_new (void);
-
-
-G_END_DECLS
-
-
-#endif /* __GTK_CUSTOM_HRULER_H__ */
diff --git a/gtk2_ardour/gtk-custom-ruler.c b/gtk2_ardour/gtk-custom-ruler.c
deleted file mode 100644
index 797922f563..0000000000
--- a/gtk2_ardour/gtk-custom-ruler.c
+++ /dev/null
@@ -1,494 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-1999. See the AUTHORS
- * file for a list of people on the GTK+ Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-/* modified by andreas meyer <hexx3000@gmx.de> */
-
-#include <stdio.h>
-#include "gettext.h"
-#define _(Text) dgettext (PACKAGE,Text)
-
-#include "gtk-custom-ruler.h"
-
-enum
-{
- PROP_0,
- PROP_LOWER,
- PROP_UPPER,
- PROP_POSITION,
- PROP_MAX_SIZE,
- PROP_SHOW_POSITION
-};
-
-static void gtk_custom_ruler_class_init (GtkCustomRulerClass * klass);
-static void gtk_custom_ruler_init (GtkCustomRuler * ruler);
-static void gtk_custom_ruler_realize (GtkWidget * widget);
-static void gtk_custom_ruler_unrealize (GtkWidget * widget);
-static void gtk_custom_ruler_size_allocate (GtkWidget * widget, GtkAllocation * allocation);
-static gint gtk_custom_ruler_expose (GtkWidget * widget, GdkEventExpose * event);
-static void gtk_custom_ruler_make_pixmap (GtkCustomRuler * ruler);
-static void gtk_custom_ruler_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec);
-static void gtk_custom_ruler_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec);
-
-
-static gint
-default_metric_get_marks (GtkCustomRulerMark **marks, gdouble lower, gdouble upper, gint maxchars)
-{
- (void) marks;
- (void) lower;
- (void) upper;
- (void) maxchars;
-
- return 0;
-}
-
-static const GtkCustomMetric default_metric = {
- 1.0,
- default_metric_get_marks
-};
-
-static GtkWidgetClass *parent_class;
-
-GType gtk_custom_ruler_get_type (void)
-{
- static GType ruler_type = 0;
-
- if (!ruler_type)
- {
- static const GTypeInfo ruler_info =
- {
- sizeof (GtkCustomRulerClass),
- (GBaseInitFunc) NULL, /* base_init */
- (GBaseFinalizeFunc) NULL, /* base_finalize */
- (GClassInitFunc) gtk_custom_ruler_class_init,
- (GClassFinalizeFunc) NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GtkCustomRuler),
- 0, /* n_preallocs */
- (GInstanceInitFunc) gtk_custom_ruler_init,
- NULL /* value_table */
- };
-
- ruler_type = g_type_register_static (GTK_TYPE_WIDGET, "GtkCustomRuler",
- &ruler_info, 0);
- }
-
- return ruler_type;
-}
-
-static void
-gtk_custom_ruler_class_init (GtkCustomRulerClass * class)
-{
- GObjectClass *gobject_class;
- GtkWidgetClass *widget_class;
-
- gobject_class = (GObjectClass *) class;
- widget_class = (GtkWidgetClass*) class;
-
- parent_class = g_type_class_peek_parent (class);
-
- gobject_class->set_property = gtk_custom_ruler_set_property;
- gobject_class->get_property = gtk_custom_ruler_get_property;
-
- widget_class->realize = gtk_custom_ruler_realize;
- widget_class->unrealize = gtk_custom_ruler_unrealize;
- widget_class->size_allocate = gtk_custom_ruler_size_allocate;
- widget_class->expose_event = gtk_custom_ruler_expose;
-
- class->draw_ticks = NULL;
- class->draw_pos = NULL;
-
- g_object_class_install_property (gobject_class,
- PROP_LOWER,
- g_param_spec_double ("lower",
- _("Lower"),
- _("Lower limit of ruler"),
- -G_MAXDOUBLE,
- G_MAXDOUBLE,
- 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class,
- PROP_UPPER,
- g_param_spec_double ("upper",
- _("Upper"),
- _("Upper limit of ruler"),
- -G_MAXDOUBLE,
- G_MAXDOUBLE,
- 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class,
- PROP_POSITION,
- g_param_spec_double ("position",
- _("Position"),
- _("Position of mark on the ruler"),
- -G_MAXDOUBLE,
- G_MAXDOUBLE,
- 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class,
- PROP_MAX_SIZE,
- g_param_spec_double ("max_size",
- _("Max Size"),
- _("Maximum size of the ruler"),
- -G_MAXDOUBLE,
- G_MAXDOUBLE,
- 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class,
- PROP_SHOW_POSITION,
- g_param_spec_boolean ("show_position",
- _("Show Position"),
- _("Draw current ruler position"),
- TRUE,
- G_PARAM_READWRITE));
-}
-
-static void
-gtk_custom_ruler_init (GtkCustomRuler * ruler)
-{
- ruler->backing_store = NULL;
- ruler->non_gr_exp_gc = NULL;
- ruler->xsrc = 0;
- ruler->ysrc = 0;
- ruler->slider_size = 0;
- ruler->lower = 0;
- ruler->upper = 0;
- ruler->position = 0;
- ruler->max_size = 0;
- ruler->show_position = FALSE;
-
- gtk_custom_ruler_set_metric (ruler, NULL);
-}
-
-static void
-gtk_custom_ruler_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- (void) pspec;
-
- GtkCustomRuler *ruler = GTK_CUSTOM_RULER (object);
-
- switch (prop_id)
- {
- case PROP_LOWER:
- gtk_custom_ruler_set_range (ruler, g_value_get_double (value), ruler->upper,
- ruler->position, ruler->max_size);
- break;
- case PROP_UPPER:
- gtk_custom_ruler_set_range (ruler, ruler->lower, g_value_get_double (value),
- ruler->position, ruler->max_size);
- break;
- case PROP_POSITION:
- gtk_custom_ruler_set_range (ruler, ruler->lower, ruler->upper,
- g_value_get_double (value), ruler->max_size);
- break;
- case PROP_MAX_SIZE:
- gtk_custom_ruler_set_range (ruler, ruler->lower, ruler->upper,
- ruler->position, g_value_get_double (value));
- break;
- case PROP_SHOW_POSITION:
- gtk_custom_ruler_set_show_position (ruler, g_value_get_boolean (value));
- break;
- }
-}
-
-static void
-gtk_custom_ruler_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- GtkCustomRuler *ruler = GTK_CUSTOM_RULER (object);
-
- switch (prop_id)
- {
- case PROP_LOWER:
- g_value_set_double (value, ruler->lower);
- break;
- case PROP_UPPER:
- g_value_set_double (value, ruler->upper);
- break;
- case PROP_POSITION:
- g_value_set_double (value, ruler->position);
- break;
- case PROP_MAX_SIZE:
- g_value_set_double (value, ruler->max_size);
- break;
- case PROP_SHOW_POSITION:
- g_value_set_boolean (value, ruler->show_position);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-void
-gtk_custom_ruler_set_metric (GtkCustomRuler * ruler, GtkCustomMetric * metric)
-{
- g_return_if_fail (ruler != NULL);
- g_return_if_fail (GTK_IS_CUSTOM_RULER (ruler));
-
- if (metric == NULL)
- ruler->metric = (GtkCustomMetric *) & default_metric;
- else
- ruler->metric = metric;
-
- if (GTK_WIDGET_DRAWABLE (ruler))
- gtk_widget_queue_draw (GTK_WIDGET (ruler));
-}
-
-void
-gtk_custom_ruler_set_range (GtkCustomRuler *ruler,
- gdouble lower,
- gdouble upper,
- gdouble position,
- gdouble max_size)
-{
- g_return_if_fail (GTK_IS_CUSTOM_RULER (ruler));
-
- g_object_freeze_notify (G_OBJECT (ruler));
- if (ruler->lower != lower)
- {
- ruler->lower = lower;
- g_object_notify (G_OBJECT (ruler), "lower");
- }
- if (ruler->upper != upper)
- {
- ruler->upper = upper;
- g_object_notify (G_OBJECT (ruler), "upper");
- }
- if (ruler->position != position)
- {
- ruler->position = position;
- g_object_notify (G_OBJECT (ruler), "position");
- }
- if (ruler->max_size != max_size)
- {
- ruler->max_size = max_size;
- g_object_notify (G_OBJECT (ruler), "max-size");
- }
- g_object_thaw_notify (G_OBJECT (ruler));
-
- if (GTK_WIDGET_DRAWABLE (ruler))
- gtk_widget_queue_draw (GTK_WIDGET (ruler));
-}
-
-/**
- * gtk_custom_ruler_get_range:
- * @ruler: a #GtkCustomRuler
- * @lower: location to store lower limit of the ruler, or %NULL
- * @upper: location to store upper limit of the ruler, or %NULL
- * @position: location to store the current position of the mark on the ruler, or %NULL
- * @max_size: location to store the maximum size of the ruler used when calculating
- * the space to leave for the text, or %NULL.
- *
- * Retrieves values indicating the range and current position of a #GtkCustomRuler.
- * See gtk_custom_ruler_set_range().
- **/
-void
-gtk_custom_ruler_get_range (GtkCustomRuler *ruler,
- gdouble *lower,
- gdouble *upper,
- gdouble *position,
- gdouble *max_size)
-{
- g_return_if_fail (GTK_IS_CUSTOM_RULER (ruler));
-
- if (lower)
- *lower = ruler->lower;
- if (upper)
- *upper = ruler->upper;
- if (position)
- *position = ruler->position;
- if (max_size)
- *max_size = ruler->max_size;
-}
-
-void
-gtk_custom_ruler_draw_ticks (GtkCustomRuler * ruler)
-{
- g_return_if_fail (GTK_IS_CUSTOM_RULER (ruler));
-
- if (GTK_CUSTOM_RULER_GET_CLASS (ruler)->draw_ticks)
- GTK_CUSTOM_RULER_GET_CLASS (ruler)->draw_ticks (ruler);
-
-}
-
-void
-gtk_custom_ruler_draw_pos (GtkCustomRuler * ruler)
-{
- g_return_if_fail (GTK_IS_CUSTOM_RULER (ruler));
-
- if (GTK_CUSTOM_RULER_GET_CLASS (ruler)->draw_pos && ruler->show_position)
- GTK_CUSTOM_RULER_GET_CLASS (ruler)->draw_pos (ruler);
-}
-
-static void
-gtk_custom_ruler_realize (GtkWidget * widget)
-{
- GtkCustomRuler *ruler;
- GdkWindowAttr attributes;
- gint attributes_mask;
-
- g_return_if_fail (widget != NULL);
- g_return_if_fail (GTK_IS_CUSTOM_RULER (widget));
-
- ruler = GTK_CUSTOM_RULER (widget);
- GTK_WIDGET_SET_FLAGS (ruler, GTK_REALIZED);
-
- attributes.window_type = GDK_WINDOW_CHILD;
- attributes.x = widget->allocation.x;
- attributes.y = widget->allocation.y;
- attributes.width = widget->allocation.width;
- attributes.height = widget->allocation.height;
- attributes.wclass = GDK_INPUT_OUTPUT;
- attributes.visual = gtk_widget_get_visual (widget);
- attributes.colormap = gtk_widget_get_colormap (widget);
- attributes.event_mask = gtk_widget_get_events (widget);
- attributes.event_mask |= (GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK);
-
- attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
-
- widget->window = gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask);
- gdk_window_set_user_data (widget->window, ruler);
-
- widget->style = gtk_style_attach (widget->style, widget->window);
- gtk_style_set_background (widget->style, widget->window, GTK_STATE_ACTIVE);
-
- gtk_custom_ruler_make_pixmap (ruler);
-}
-
-static void
-gtk_custom_ruler_unrealize (GtkWidget *widget)
-{
- GtkCustomRuler *ruler = GTK_CUSTOM_RULER (widget);
-
- if (ruler->backing_store)
- g_object_unref (ruler->backing_store);
- if (ruler->non_gr_exp_gc)
- g_object_unref (ruler->non_gr_exp_gc);
-
- ruler->backing_store = NULL;
- ruler->non_gr_exp_gc = NULL;
-
- if (GTK_WIDGET_CLASS (parent_class)->unrealize)
- (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget);
-}
-
-static void
-gtk_custom_ruler_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation)
-{
- GtkCustomRuler *ruler = GTK_CUSTOM_RULER (widget);
-
- widget->allocation = *allocation;
-
- if (GTK_WIDGET_REALIZED (widget))
- {
- gdk_window_move_resize (widget->window,
- allocation->x, allocation->y,
- allocation->width, allocation->height);
-
- gtk_custom_ruler_make_pixmap (ruler);
- }
-}
-
-static gint
-gtk_custom_ruler_expose (GtkWidget * widget, GdkEventExpose * event)
-{
- GtkCustomRuler *ruler;
-
- g_return_val_if_fail (widget != NULL, FALSE);
- g_return_val_if_fail (GTK_IS_CUSTOM_RULER (widget), FALSE);
- g_return_val_if_fail (event != NULL, FALSE);
-
- if (GTK_WIDGET_DRAWABLE (widget)) {
- ruler = GTK_CUSTOM_RULER (widget);
-
- gtk_custom_ruler_draw_ticks (ruler);
-
- gdk_draw_drawable (widget->window,
- ruler->non_gr_exp_gc,
- GDK_DRAWABLE(ruler->backing_store), 0, 0, 0, 0, widget->allocation.width, widget->allocation.height);
-
- gtk_custom_ruler_draw_pos (ruler);
- }
-
- return FALSE;
-}
-
-
-static void
-gtk_custom_ruler_make_pixmap (GtkCustomRuler *ruler)
-{
- GtkWidget *widget;
- gint width;
- gint height;
-
- widget = GTK_WIDGET (ruler);
-
- if (ruler->backing_store)
- {
- gdk_drawable_get_size (ruler->backing_store, &width, &height);
- if ((width == widget->allocation.width) &&
- (height == widget->allocation.height))
- return;
-
- g_object_unref (ruler->backing_store);
- }
-
- ruler->backing_store = gdk_pixmap_new (widget->window,
- widget->allocation.width,
- widget->allocation.height,
- -1);
-
- ruler->xsrc = 0;
- ruler->ysrc = 0;
-
- if (!ruler->non_gr_exp_gc)
- {
- ruler->non_gr_exp_gc = gdk_gc_new (widget->window);
- gdk_gc_set_exposures (ruler->non_gr_exp_gc, FALSE);
- }
-}
-
-void
-gtk_custom_ruler_set_show_position (GtkCustomRuler * ruler, gboolean yn)
-{
- ruler->show_position = yn;
-}
diff --git a/gtk2_ardour/gtk-custom-ruler.h b/gtk2_ardour/gtk-custom-ruler.h
deleted file mode 100644
index bcb3423160..0000000000
--- a/gtk2_ardour/gtk-custom-ruler.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-1999. See the AUTHORS
- * file for a list of people on the GTK+ Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-/* modified by andreas meyer <hexx3000@gmx.de> */
-
-#ifndef __GTK_CUSTOM_RULER_H__
-#define __GTK_CUSTOM_RULER_H__
-
-#include <gdk/gdk.h>
-#include <gtk/gtkwidget.h>
-
-
-G_BEGIN_DECLS
-
-#define GTK_TYPE_CUSTOM_RULER (gtk_custom_ruler_get_type ())
-#define GTK_CUSTOM_RULER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CUSTOM_RULER, GtkCustomRuler))
-#define GTK_CUSTOM_RULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CUSTOM_RULER, GtkCustomRulerClass))
-#define GTK_IS_CUSTOM_RULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CUSTOM_RULER))
-#define GTK_IS_CUSTOM_RULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CUSTOM_RULER))
-#define GTK_CUSTOM_RULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CUSTOM_RULER, GtkCustomRulerClass))
-
-typedef struct _GtkCustomRuler GtkCustomRuler;
-typedef struct _GtkCustomRulerClass GtkCustomRulerClass;
-typedef struct _GtkCustomMetric GtkCustomMetric;
-typedef struct _GtkCustomRulerMark GtkCustomRulerMark;
-
-struct _GtkCustomRuler {
- GtkWidget widget;
-
- GdkPixmap *backing_store;
- GdkGC *non_gr_exp_gc;
- GtkCustomMetric *metric;
- gint xsrc, ysrc;
- gint slider_size;
- gboolean show_position;
-
- /* The upper limit of the ruler (in points) */
- gdouble lower;
- /* The lower limit of the ruler */
- gdouble upper;
- /* The position of the mark on the ruler */
- gdouble position;
- /* The maximum size of the ruler */
- gdouble max_size;
-};
-
-struct _GtkCustomRulerClass {
- GtkWidgetClass parent_class;
-
- void (* draw_ticks) (GtkCustomRuler *ruler);
- void (* draw_pos) (GtkCustomRuler *ruler);
-};
-
-typedef enum {
- GtkCustomRulerMarkMajor,
- GtkCustomRulerMarkMinor,
- GtkCustomRulerMarkMicro
-} GtkCustomRulerMarkStyle;
-
-struct _GtkCustomRulerMark {
- gchar *label;
- gdouble position;
- GtkCustomRulerMarkStyle style;
-};
-
-struct _GtkCustomMetric {
- gfloat units_per_pixel;
- gint (* get_marks) (GtkCustomRulerMark **marks, gdouble lower, gdouble upper, gint maxchars);
-};
-
-GType gtk_custom_ruler_get_type (void);
-void gtk_custom_ruler_set_metric (GtkCustomRuler *ruler, GtkCustomMetric *metric);
-void gtk_custom_ruler_set_range (GtkCustomRuler *ruler,
- gdouble lower,
- gdouble upper,
- gdouble position,
- gdouble max_size);
-void gtk_custom_ruler_draw_ticks (GtkCustomRuler *ruler);
-void gtk_custom_ruler_draw_pos (GtkCustomRuler *ruler);
-void gtk_custom_ruler_set_show_position (GtkCustomRuler *rule, gboolean yn);
-
-G_END_DECLS
-
-#endif /* __GTK_CUSTOM_RULER_H__ */
diff --git a/gtk2_ardour/gtk_pianokeyboard.c b/gtk2_ardour/gtk_pianokeyboard.c
index 4f1740f26a..8d91626a2b 100644
--- a/gtk2_ardour/gtk_pianokeyboard.c
+++ b/gtk2_ardour/gtk_pianokeyboard.c
@@ -244,7 +244,7 @@ bind_key(PianoKeyboard *pk, const char *key, int note)
{
assert(pk->key_bindings != NULL);
- g_hash_table_insert(pk->key_bindings, (gpointer)key, (gpointer)((intptr_t)note));
+ g_hash_table_insert(pk->key_bindings, (const gpointer)key, (gpointer)((intptr_t)note));
}
static void
@@ -360,6 +360,8 @@ keyboard_event_handler(GtkWidget *mk, GdkEventKey *event, gpointer ignored)
GdkKeymapKey kk;
PianoKeyboard *pk = PIANO_KEYBOARD(mk);
+ (void) ignored;
+
/* We're not using event->keyval, because we need keyval with level set to 0.
E.g. if user holds Shift and presses '7', we want to get a '7', not '&'. */
kk.keycode = event->hardware_keycode;
@@ -440,6 +442,8 @@ mouse_button_event_handler(PianoKeyboard *pk, GdkEventButton *event, gpointer ig
int note = get_note_for_xy(pk, x, y);
+ (void) ignored;
+
if (event->button != 1)
return TRUE;
@@ -477,6 +481,8 @@ mouse_motion_event_handler(PianoKeyboard *pk, GdkEventMotion *event, gpointer ig
{
int note;
+ (void) ignored;
+
if ((event->state & GDK_BUTTON1_MASK) == 0)
return TRUE;
@@ -529,6 +535,8 @@ piano_keyboard_expose(GtkWidget *widget, GdkEventExpose *event)
static void
piano_keyboard_size_request(GtkWidget* w, GtkRequisition *requisition)
{
+ (void) w;
+
requisition->width = PIANO_KEYBOARD_DEFAULT_WIDTH;
requisition->height = PIANO_KEYBOARD_DEFAULT_HEIGHT;
}
@@ -602,15 +610,15 @@ piano_keyboard_class_init(PianoKeyboardClass *klass)
/* Set up signals. */
piano_keyboard_signals[NOTE_ON_SIGNAL] = g_signal_new ("note-on",
- G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
+ G_TYPE_FROM_CLASS (klass), (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION),
0, NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
piano_keyboard_signals[NOTE_OFF_SIGNAL] = g_signal_new ("note-off",
- G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
+ G_TYPE_FROM_CLASS (klass), (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION),
0, NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
piano_keyboard_signals[REST_SIGNAL] = g_signal_new ("rest",
- G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
+ G_TYPE_FROM_CLASS (klass), (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION),
0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
widget_klass = (GtkWidgetClass*) klass;
@@ -651,7 +659,7 @@ piano_keyboard_get_type(void)
0, /* value_table */
};
- mk_type = g_type_register_static(GTK_TYPE_DRAWING_AREA, "PianoKeyboard", &mk_info, 0);
+ mk_type = g_type_register_static(GTK_TYPE_DRAWING_AREA, "PianoKeyboard", &mk_info, (GTypeFlags)0);
}
return mk_type;
@@ -660,7 +668,7 @@ piano_keyboard_get_type(void)
GtkWidget *
piano_keyboard_new(void)
{
- GtkWidget *widget = gtk_type_new(piano_keyboard_get_type());
+ GtkWidget *widget = (GtkWidget*)gtk_type_new(piano_keyboard_get_type());
PianoKeyboard *pk = PIANO_KEYBOARD(widget);
diff --git a/gtk2_ardour/hit.cc b/gtk2_ardour/hit.cc
new file mode 100644
index 0000000000..43dc8ce347
--- /dev/null
+++ b/gtk2_ardour/hit.cc
@@ -0,0 +1,129 @@
+/*
+ Copyright (C) 2007 Paul Davis
+ Author: Dave Robillard
+
+ 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 "evoral/Note.hpp"
+
+#include "canvas/polygon.h"
+#include "canvas/debug.h"
+
+#include "midi_region_view.h"
+#include "public_editor.h"
+#include "hit.h"
+
+using namespace ARDOUR;
+using namespace ArdourCanvas;
+
+Hit::Hit (MidiRegionView& region, Item* parent, double size, const boost::shared_ptr<NoteType> note, bool with_events)
+ : NoteBase (region, with_events, note)
+{
+ _polygon = new ArdourCanvas::Polygon (parent);
+ CANVAS_DEBUG_NAME (_polygon, "note");
+ set_item (_polygon);
+ set_height (size);
+}
+
+Hit::~Hit ()
+{
+ delete _polygon;
+}
+
+void
+Hit::move_event (double dx, double dy)
+{
+ Points points = _polygon->get();
+ Points moved;
+ for (Points::iterator p = points.begin(); p != points.end(); ++p) {
+ moved.push_back ((*p).translate (ArdourCanvas::Duple (dx, dy)));
+ }
+ _polygon->set (moved);
+}
+
+void
+Hit::set_outline_color (uint32_t color)
+{
+ _polygon->set_outline_color (color);
+}
+
+void
+Hit::set_fill_color (uint32_t color)
+{
+ _polygon->set_fill_color (color);
+}
+
+void
+Hit::show ()
+{
+ _polygon->show ();
+}
+
+void
+Hit::hide ()
+{
+ _polygon->hide ();
+}
+
+void
+Hit::set_height (Distance height)
+{
+ /* draw a diamond */
+
+ Points p;
+
+ const double half_height = height/2.0;
+ p.push_back (Duple (-half_height, 0)); // left, middle
+ p.push_back (Duple (0, -half_height)); // top
+ p.push_back (Duple (+half_height, 0)); // right, middle
+ p.push_back (Duple (0, +half_height)); // bottom
+
+ _polygon->set (p);
+}
+
+void
+Hit::set_position (Duple position)
+{
+ _polygon->set_position (position);
+}
+
+Coord
+Hit::x0 () const
+{
+ /* left vertex */
+ return _polygon->get()[0].x;
+}
+
+Coord
+Hit::x1 () const
+{
+ /* right vertex */
+ return _polygon->get()[2].x;
+}
+
+Coord
+Hit::y0 () const
+{
+ /* top vertex */
+ return _polygon->get()[1].y;
+}
+
+Coord
+Hit::y1 () const
+{
+ /* bottom vertex */
+ return _polygon->get()[3].y;
+}
diff --git a/gtk2_ardour/hit.h b/gtk2_ardour/hit.h
new file mode 100644
index 0000000000..5a6cef9943
--- /dev/null
+++ b/gtk2_ardour/hit.h
@@ -0,0 +1,66 @@
+/*
+ Copyright (C) 2007 Paul Davis
+ Author: Dave Robillard
+
+ 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_hit_h__
+#define __gtk_ardour_hit_h__
+
+#include <iostream>
+#include "note_base.h"
+
+namespace ArdourCanvas {
+ class Polygon;
+}
+
+class Hit : public NoteBase
+{
+public:
+ typedef Evoral::Note<double> NoteType;
+
+ Hit (MidiRegionView& region,
+ ArdourCanvas::Item* parent,
+ double size,
+ const boost::shared_ptr<NoteType> note = boost::shared_ptr<NoteType>(),
+ bool with_events = true);
+ ~Hit();
+
+ void show ();
+ void hide ();
+
+ ArdourCanvas::Coord x0 () const;
+ ArdourCanvas::Coord y0 () const;
+ ArdourCanvas::Coord x1 () const;
+ ArdourCanvas::Coord y1 () const;
+
+ void set_position (ArdourCanvas::Duple);
+
+ void set_height (ArdourCanvas::Coord);
+
+ void set_outline_color (uint32_t);
+ void set_fill_color (uint32_t);
+
+ void move_event (double, double);
+
+ /* no trimming of percussive hits */
+ bool big_enough_to_trim() const { return false; }
+
+private:
+ ArdourCanvas::Polygon* _polygon;
+};
+
+#endif /* __gtk_ardour_hit_h__ */
diff --git a/gtk2_ardour/icons/anchored_trim_left_cursor.png b/gtk2_ardour/icons/anchored_trim_left_cursor.png
new file mode 100644
index 0000000000..7f9535195b
--- /dev/null
+++ b/gtk2_ardour/icons/anchored_trim_left_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/anchored_trim_right_cursor.png b/gtk2_ardour/icons/anchored_trim_right_cursor.png
new file mode 100644
index 0000000000..c06ca71580
--- /dev/null
+++ b/gtk2_ardour/icons/anchored_trim_right_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/ardour.ico b/gtk2_ardour/icons/ardour.ico
new file mode 100644
index 0000000000..b85a5e14f2
--- /dev/null
+++ b/gtk2_ardour/icons/ardour.ico
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/expand_left_right_cursor.png b/gtk2_ardour/icons/cursor_z/expand_left_right_cursor.png
new file mode 100755
index 0000000000..fb49ed5c35
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/expand_left_right_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/expand_up_down_cursor.png b/gtk2_ardour/icons/cursor_z/expand_up_down_cursor.png
new file mode 100755
index 0000000000..cb48028809
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/expand_up_down_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/fade_in_cursor.png b/gtk2_ardour/icons/cursor_z/fade_in_cursor.png
new file mode 100755
index 0000000000..259e2d64e4
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/fade_in_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/fade_out_cursor.png b/gtk2_ardour/icons/cursor_z/fade_out_cursor.png
new file mode 100755
index 0000000000..24bef6b8e4
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/fade_out_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/grabber.png b/gtk2_ardour/icons/cursor_z/grabber.png
new file mode 100755
index 0000000000..8f4795bf9a
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/grabber.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/grabber_edit_point.png b/gtk2_ardour/icons/cursor_z/grabber_edit_point.png
new file mode 100755
index 0000000000..8a3959ab86
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/grabber_edit_point.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/grabber_note.png b/gtk2_ardour/icons/cursor_z/grabber_note.png
new file mode 100755
index 0000000000..29a730aba4
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/grabber_note.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/hide.png b/gtk2_ardour/icons/cursor_z/hide.png
new file mode 100755
index 0000000000..635f32f180
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/hide.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/i_beam_cursor.png b/gtk2_ardour/icons/cursor_z/i_beam_cursor.png
new file mode 100755
index 0000000000..e7616dcc39
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/i_beam_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/move_cursor.png b/gtk2_ardour/icons/cursor_z/move_cursor.png
new file mode 100755
index 0000000000..5fec60a7d4
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/move_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/resize_bottom_cursor.png b/gtk2_ardour/icons/cursor_z/resize_bottom_cursor.png
new file mode 100755
index 0000000000..f521550707
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/resize_bottom_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/resize_bottom_left_cursor.png b/gtk2_ardour/icons/cursor_z/resize_bottom_left_cursor.png
new file mode 100755
index 0000000000..86c6c10981
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/resize_bottom_left_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/resize_bottom_right_cursor.png b/gtk2_ardour/icons/cursor_z/resize_bottom_right_cursor.png
new file mode 100755
index 0000000000..1a08b59fe1
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/resize_bottom_right_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/resize_left_cursor.png b/gtk2_ardour/icons/cursor_z/resize_left_cursor.png
new file mode 100755
index 0000000000..f183e5d41a
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/resize_left_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/resize_right_cursor.png b/gtk2_ardour/icons/cursor_z/resize_right_cursor.png
new file mode 100755
index 0000000000..9521fa5e2b
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/resize_right_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/resize_top_cursor.png b/gtk2_ardour/icons/cursor_z/resize_top_cursor.png
new file mode 100755
index 0000000000..61118008fe
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/resize_top_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/resize_top_left_cursor.png b/gtk2_ardour/icons/cursor_z/resize_top_left_cursor.png
new file mode 100755
index 0000000000..6c99c4e9e7
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/resize_top_left_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/resize_top_right_cursor.png b/gtk2_ardour/icons/cursor_z/resize_top_right_cursor.png
new file mode 100755
index 0000000000..b19928d976
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/resize_top_right_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/trim_bottom_cursor.png b/gtk2_ardour/icons/cursor_z/trim_bottom_cursor.png
new file mode 100755
index 0000000000..53b2671877
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/trim_bottom_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/trim_left_cursor.png b/gtk2_ardour/icons/cursor_z/trim_left_cursor.png
new file mode 100755
index 0000000000..432ad90ed5
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/trim_left_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/trim_left_cursor_5.png b/gtk2_ardour/icons/cursor_z/trim_left_cursor_5.png
new file mode 100755
index 0000000000..d0d3d24e02
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/trim_left_cursor_5.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/trim_left_cursor_right_only.png b/gtk2_ardour/icons/cursor_z/trim_left_cursor_right_only.png
new file mode 100755
index 0000000000..b0d4b82d02
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/trim_left_cursor_right_only.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/trim_right_cursor.png b/gtk2_ardour/icons/cursor_z/trim_right_cursor.png
new file mode 100755
index 0000000000..23fd4328de
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/trim_right_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/trim_right_cursor_5.png b/gtk2_ardour/icons/cursor_z/trim_right_cursor_5.png
new file mode 100755
index 0000000000..e178374346
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/trim_right_cursor_5.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/trim_right_cursor_left_only.png b/gtk2_ardour/icons/cursor_z/trim_right_cursor_left_only.png
new file mode 100755
index 0000000000..6e1300a401
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/trim_right_cursor_left_only.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/trim_top_cursor.png b/gtk2_ardour/icons/cursor_z/trim_top_cursor.png
new file mode 100755
index 0000000000..db4a0368cb
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/trim_top_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/zoom_in_cursor.png b/gtk2_ardour/icons/cursor_z/zoom_in_cursor.png
new file mode 100755
index 0000000000..e0097c0d1c
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/zoom_in_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/cursor_z/zoom_out_cursor.png b/gtk2_ardour/icons/cursor_z/zoom_out_cursor.png
new file mode 100755
index 0000000000..95e5e4b67a
--- /dev/null
+++ b/gtk2_ardour/icons/cursor_z/zoom_out_cursor.png
Binary files differ
diff --git a/gtk2_ardour/icons/fadein-constant-power.png b/gtk2_ardour/icons/fadein-constant-power.png
index 13a0a05b7b..3278c434a2 100644
--- a/gtk2_ardour/icons/fadein-constant-power.png
+++ b/gtk2_ardour/icons/fadein-constant-power.png
Binary files differ
diff --git a/gtk2_ardour/icons/fadein-fast-cut.png b/gtk2_ardour/icons/fadein-fast-cut.png
index 3565ee26b3..0ddf5883b0 100644
--- a/gtk2_ardour/icons/fadein-fast-cut.png
+++ b/gtk2_ardour/icons/fadein-fast-cut.png
Binary files differ
diff --git a/gtk2_ardour/icons/fadein-linear.png b/gtk2_ardour/icons/fadein-linear.png
index 7b8980aca7..87dbf6cc56 100644
--- a/gtk2_ardour/icons/fadein-linear.png
+++ b/gtk2_ardour/icons/fadein-linear.png
Binary files differ
diff --git a/gtk2_ardour/icons/fadein-slow-cut.png b/gtk2_ardour/icons/fadein-slow-cut.png
index 8080e3a9bb..76c2700891 100644
--- a/gtk2_ardour/icons/fadein-slow-cut.png
+++ b/gtk2_ardour/icons/fadein-slow-cut.png
Binary files differ
diff --git a/gtk2_ardour/icons/fadein-symmetric.png b/gtk2_ardour/icons/fadein-symmetric.png
new file mode 100644
index 0000000000..eff3b695da
--- /dev/null
+++ b/gtk2_ardour/icons/fadein-symmetric.png
Binary files differ
diff --git a/gtk2_ardour/icons/fadeout-constant-power.png b/gtk2_ardour/icons/fadeout-constant-power.png
index 359f37096c..786ec85391 100644
--- a/gtk2_ardour/icons/fadeout-constant-power.png
+++ b/gtk2_ardour/icons/fadeout-constant-power.png
Binary files differ
diff --git a/gtk2_ardour/icons/fadeout-fast-cut.png b/gtk2_ardour/icons/fadeout-fast-cut.png
index 39d00c0916..f0d2b693ec 100644
--- a/gtk2_ardour/icons/fadeout-fast-cut.png
+++ b/gtk2_ardour/icons/fadeout-fast-cut.png
Binary files differ
diff --git a/gtk2_ardour/icons/fadeout-linear.png b/gtk2_ardour/icons/fadeout-linear.png
index a9fb6a345f..71fea91a55 100644
--- a/gtk2_ardour/icons/fadeout-linear.png
+++ b/gtk2_ardour/icons/fadeout-linear.png
Binary files differ
diff --git a/gtk2_ardour/icons/fadeout-slow-cut.png b/gtk2_ardour/icons/fadeout-slow-cut.png
index b740ad2c22..8e30356ad3 100644
--- a/gtk2_ardour/icons/fadeout-slow-cut.png
+++ b/gtk2_ardour/icons/fadeout-slow-cut.png
Binary files differ
diff --git a/gtk2_ardour/icons/fadeout-symmetric.png b/gtk2_ardour/icons/fadeout-symmetric.png
new file mode 100644
index 0000000000..c3ccc142bf
--- /dev/null
+++ b/gtk2_ardour/icons/fadeout-symmetric.png
Binary files differ
diff --git a/gtk2_ardour/icons/padlock_closed.png b/gtk2_ardour/icons/padlock_closed.png
new file mode 100644
index 0000000000..903f23191d
--- /dev/null
+++ b/gtk2_ardour/icons/padlock_closed.png
Binary files differ
diff --git a/gtk2_ardour/icons/padlock_open.png b/gtk2_ardour/icons/padlock_open.png
new file mode 100644
index 0000000000..9076aab317
--- /dev/null
+++ b/gtk2_ardour/icons/padlock_open.png
Binary files differ
diff --git a/gtk2_ardour/icons/scissors.png b/gtk2_ardour/icons/scissors.png
new file mode 100644
index 0000000000..b3db4ad40c
--- /dev/null
+++ b/gtk2_ardour/icons/scissors.png
Binary files differ
diff --git a/gtk2_ardour/icons/soundcloud.png b/gtk2_ardour/icons/soundcloud.png
new file mode 100644
index 0000000000..39c50fe7b3
--- /dev/null
+++ b/gtk2_ardour/icons/soundcloud.png
Binary files differ
diff --git a/gtk2_ardour/icons/time_exp.png b/gtk2_ardour/icons/time_exp.png
new file mode 100644
index 0000000000..ab0dad1836
--- /dev/null
+++ b/gtk2_ardour/icons/time_exp.png
Binary files differ
diff --git a/gtk2_ardour/icons/tool_cut.png b/gtk2_ardour/icons/tool_cut.png
new file mode 100644
index 0000000000..6aa830f16f
--- /dev/null
+++ b/gtk2_ardour/icons/tool_cut.png
Binary files differ
diff --git a/gtk2_ardour/io_selector.cc b/gtk2_ardour/io_selector.cc
index 31f8cfa1cb..270ed8ce32 100644
--- a/gtk2_ardour/io_selector.cc
+++ b/gtk2_ardour/io_selector.cc
@@ -36,6 +36,7 @@
#include "i18n.h"
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace Gtk;
IOSelector::IOSelector (Gtk::Window* p, ARDOUR::Session* session, boost::shared_ptr<ARDOUR::IO> io)
diff --git a/gtk2_ardour/keyboard.cc b/gtk2_ardour/keyboard.cc
index 98ffab1160..ca65a2b3f2 100644
--- a/gtk2_ardour/keyboard.cc
+++ b/gtk2_ardour/keyboard.cc
@@ -17,12 +17,14 @@
*/
+#include "pbd/convert.h"
#include "pbd/error.h"
#include "pbd/file_utils.h"
#include "ardour/filesystem_paths.h"
#include "ardour_ui.h"
+#include "public_editor.h"
#include "keyboard.h"
#include "opts.h"
@@ -59,7 +61,9 @@ ArdourKeyboard::setup_keybindings ()
/* set up the per-user bindings path */
- user_keybindings_path = Glib::build_filename (user_config_directory(), "ardour.bindings");
+ string lowercase_program_name = downcase (PROGRAM_NAME);
+
+ user_keybindings_path = Glib::build_filename (user_config_directory(), lowercase_program_name + ".bindings");
if (Glib::file_test (user_keybindings_path, Glib::FILE_TEST_EXISTS)) {
std::pair<string,string> newpair;
@@ -123,7 +127,7 @@ ArdourKeyboard::setup_keybindings ()
/* not absolute - look in the usual places */
std::string keybindings_file;
- if ( ! find_file_in_search_path (ardour_config_search_path(), keybindings_path, keybindings_file)) {
+ if ( ! find_file (ardour_config_search_path(), keybindings_path, keybindings_file)) {
if (keybindings_path == default_bindings) {
error << string_compose (_("Default keybindings not found - %1 will be hard to use!"), PROGRAM_NAME) << endmsg;
@@ -153,9 +157,6 @@ ArdourKeyboard::setup_keybindings ()
error << string_compose (_("Default keybindings not found - %1 will be hard to use!"), PROGRAM_NAME) << endmsg;
return;
} else {
- warning << string_compose (_("Key bindings file \"%1\" not found. Default bindings used instead"),
- keybindings_path)
- << endmsg;
keybindings_path = default_bindings;
}
diff --git a/gtk2_ardour/keyeditor.cc b/gtk2_ardour/keyeditor.cc
index f23e246958..d39abf5057 100644
--- a/gtk2_ardour/keyeditor.cc
+++ b/gtk2_ardour/keyeditor.cc
@@ -33,12 +33,12 @@
#include "pbd/strsplit.h"
+#include "ardour/filesystem_paths.h"
#include "ardour/profile.h"
#include "actions.h"
#include "keyboard.h"
#include "keyeditor.h"
-#include "utils.h"
#include "i18n.h"
@@ -76,9 +76,8 @@ KeyEditor::KeyEditor ()
scroller.add (view);
scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
- add (vpacker);
-
vpacker.set_spacing (6);
+ vpacker.set_border_width (12);
vpacker.pack_start (scroller);
if (!ARDOUR::Profile->get_sae()) {
@@ -95,8 +94,18 @@ KeyEditor::KeyEditor ()
unbind_button.show ();
}
+
+ reset_button.add (reset_label);
+ reset_label.set_markup (string_compose ("<span size=\"large\" weight=\"bold\">%1</span>", _("Reset Bindings to Defaults")));
+
+ reset_box.pack_start (reset_button, true, false);
+ reset_box.show ();
+ reset_button.show ();
+ reset_label.show ();
+ reset_button.signal_clicked().connect (sigc::mem_fun (*this, &KeyEditor::reset));
+ vpacker.pack_start (reset_box, false, false);
- vpacker.set_border_width (12);
+ add (vpacker);
view.show ();
scroller.show ();
@@ -296,3 +305,9 @@ KeyEditor::populate ()
}
}
}
+
+void
+KeyEditor::reset ()
+{
+ Keyboard::the_keyboard().reset_bindings ();
+}
diff --git a/gtk2_ardour/keyeditor.h b/gtk2_ardour/keyeditor.h
index 51cf1dc127..76e70f10ba 100644
--- a/gtk2_ardour/keyeditor.h
+++ b/gtk2_ardour/keyeditor.h
@@ -61,6 +61,9 @@ class KeyEditor : public ArdourWindow
KeyEditorColumns columns;
Gtk::Button unbind_button;
Gtk::HButtonBox unbind_box;
+ Gtk::HBox reset_box;
+ Gtk::Button reset_button;
+ Gtk::Label reset_label;
void unbind ();
@@ -69,6 +72,8 @@ class KeyEditor : public ArdourWindow
void action_selected ();
void populate ();
+
+ void reset ();
};
#endif /* __ardour_gtk_key_editor_h__ */
diff --git a/gtk2_ardour/latency_gui.cc b/gtk2_ardour/latency_gui.cc
index d8cf8d051e..703e7dd4ab 100644
--- a/gtk2_ardour/latency_gui.cc
+++ b/gtk2_ardour/latency_gui.cc
@@ -103,9 +103,7 @@ LatencyGUI::LatencyGUI (Latent& l, framepos_t sr, framepos_t psz)
adjustment.signal_value_changed().connect (sigc::mem_fun (*this, &LatencyGUI::finish));
bc.set_size_request (-1, 25);
- bc.set_style (BarController::LeftToRight);
- bc.set_use_parent (true);
- bc.set_name (X_("PluginSlider"));
+ bc.set_name (X_("ProcessorControlSlider"));
set_spacing (12);
pack_start (hbox1, true, true);
diff --git a/gtk2_ardour/led.cc b/gtk2_ardour/led.cc
index 9a71ad736e..dca5caefc1 100644
--- a/gtk2_ardour/led.cc
+++ b/gtk2_ardour/led.cc
@@ -42,7 +42,7 @@ LED::~LED()
}
void
-LED::render (cairo_t* cr)
+LED::render (cairo_t* cr, cairo_rectangle_t*)
{
if (!_fixed_diameter) {
_diameter = std::min (get_width(), get_height());
diff --git a/gtk2_ardour/led.h b/gtk2_ardour/led.h
index 089c35b7a8..ef5ae7b68d 100644
--- a/gtk2_ardour/led.h
+++ b/gtk2_ardour/led.h
@@ -33,7 +33,7 @@ class LED : public CairoWidget
void set_diameter (float);
protected:
- void render (cairo_t *);
+ void render (cairo_t *, cairo_rectangle_t*);
void on_size_request (Gtk::Requisition* req);
void on_realize ();
diff --git a/gtk2_ardour/level_meter.cc b/gtk2_ardour/level_meter.cc
index d76b450e38..3672edbc6d 100644
--- a/gtk2_ardour/level_meter.cc
+++ b/gtk2_ardour/level_meter.cc
@@ -22,7 +22,6 @@
#include "ardour/meter.h"
#include <gtkmm2ext/utils.h>
-#include <gtkmm2ext/barcontroller.h>
#include "pbd/fastlog.h"
#include "ardour_ui.h"
@@ -37,6 +36,7 @@
#include "i18n.h"
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtkmm2ext;
using namespace Gtk;
@@ -66,9 +66,13 @@ LevelMeterBase::on_theme_changed()
LevelMeterBase::~LevelMeterBase ()
{
+ _configuration_connection.disconnect();
+ _meter_type_connection.disconnect();
+ _parameter_connection.disconnect();
for (vector<MeterInfo>::iterator i = meters.begin(); i != meters.end(); i++) {
delete (*i).meter;
}
+ meters.clear();
}
void
@@ -269,36 +273,36 @@ LevelMeterBase::setup_meters (int len, int initial_width, int thin_width)
uint32_t b[4];
float stp[4];
int styleflags = Config->get_meter_style_led() ? 3 : 1;
- b[0] = ARDOUR_UI::config()->canvasvar_MeterBackgroundBot.get();
- b[1] = ARDOUR_UI::config()->canvasvar_MeterBackgroundTop.get();
+ b[0] = ARDOUR_UI::config()->get_canvasvar_MeterBackgroundBot();
+ b[1] = ARDOUR_UI::config()->get_canvasvar_MeterBackgroundTop();
b[2] = 0x991122ff; // red highlight gradient Bot
b[3] = 0x551111ff; // red highlight gradient Top
if (n < nmidi) {
- c[0] = ARDOUR_UI::config()->canvasvar_MidiMeterColor0.get();
- c[1] = ARDOUR_UI::config()->canvasvar_MidiMeterColor1.get();
- c[2] = ARDOUR_UI::config()->canvasvar_MidiMeterColor2.get();
- c[3] = ARDOUR_UI::config()->canvasvar_MidiMeterColor3.get();
- c[4] = ARDOUR_UI::config()->canvasvar_MidiMeterColor4.get();
- c[5] = ARDOUR_UI::config()->canvasvar_MidiMeterColor5.get();
- c[6] = ARDOUR_UI::config()->canvasvar_MidiMeterColor6.get();
- c[7] = ARDOUR_UI::config()->canvasvar_MidiMeterColor7.get();
- c[8] = ARDOUR_UI::config()->canvasvar_MidiMeterColor8.get();
- c[9] = ARDOUR_UI::config()->canvasvar_MidiMeterColor9.get();
+ c[0] = ARDOUR_UI::config()->get_canvasvar_MidiMeterColor0();
+ c[1] = ARDOUR_UI::config()->get_canvasvar_MidiMeterColor1();
+ c[2] = ARDOUR_UI::config()->get_canvasvar_MidiMeterColor2();
+ c[3] = ARDOUR_UI::config()->get_canvasvar_MidiMeterColor3();
+ c[4] = ARDOUR_UI::config()->get_canvasvar_MidiMeterColor4();
+ c[5] = ARDOUR_UI::config()->get_canvasvar_MidiMeterColor5();
+ c[6] = ARDOUR_UI::config()->get_canvasvar_MidiMeterColor6();
+ c[7] = ARDOUR_UI::config()->get_canvasvar_MidiMeterColor7();
+ c[8] = ARDOUR_UI::config()->get_canvasvar_MidiMeterColor8();
+ c[9] = ARDOUR_UI::config()->get_canvasvar_MidiMeterColor9();
stp[0] = 115.0 * 32.0 / 128.0;
stp[1] = 115.0 * 64.0 / 128.0;
stp[2] = 115.0 * 100.0 / 128.0;
stp[3] = 115.0 * 112.0 / 128.0;
} else {
- c[0] = ARDOUR_UI::config()->canvasvar_MeterColor0.get();
- c[1] = ARDOUR_UI::config()->canvasvar_MeterColor1.get();
- c[2] = ARDOUR_UI::config()->canvasvar_MeterColor2.get();
- c[3] = ARDOUR_UI::config()->canvasvar_MeterColor3.get();
- c[4] = ARDOUR_UI::config()->canvasvar_MeterColor4.get();
- c[5] = ARDOUR_UI::config()->canvasvar_MeterColor5.get();
- c[6] = ARDOUR_UI::config()->canvasvar_MeterColor6.get();
- c[7] = ARDOUR_UI::config()->canvasvar_MeterColor7.get();
- c[8] = ARDOUR_UI::config()->canvasvar_MeterColor8.get();
- c[9] = ARDOUR_UI::config()->canvasvar_MeterColor9.get();
+ c[0] = ARDOUR_UI::config()->get_canvasvar_MeterColor0();
+ c[1] = ARDOUR_UI::config()->get_canvasvar_MeterColor1();
+ c[2] = ARDOUR_UI::config()->get_canvasvar_MeterColor2();
+ c[3] = ARDOUR_UI::config()->get_canvasvar_MeterColor3();
+ c[4] = ARDOUR_UI::config()->get_canvasvar_MeterColor4();
+ c[5] = ARDOUR_UI::config()->get_canvasvar_MeterColor5();
+ c[6] = ARDOUR_UI::config()->get_canvasvar_MeterColor6();
+ c[7] = ARDOUR_UI::config()->get_canvasvar_MeterColor7();
+ c[8] = ARDOUR_UI::config()->get_canvasvar_MeterColor8();
+ c[9] = ARDOUR_UI::config()->get_canvasvar_MeterColor9();
switch (meter_type) {
case MeterK20:
@@ -352,7 +356,6 @@ LevelMeterBase::setup_meters (int len, int initial_width, int thin_width)
stp[1] = 115.0 * meter_deflect_nordic(-18);
stp[2] = 115.0 * meter_deflect_nordic(-12);
stp[3] = 115.0 * meter_deflect_nordic( -9); // ignored
- //c[2] = c[3] = c[1]; // dark-green
c[0] = c[1] = c[2]; // bright-green
c[6] = c[7] = c[8] = c[9];
break;
@@ -361,7 +364,7 @@ LevelMeterBase::setup_meters (int len, int initial_width, int thin_width)
stp[1] = 115.0 * meter_deflect_din(-18);
stp[2] = 115.0 * meter_deflect_din(-15); // ignored
stp[3] = 115.0 * meter_deflect_din( -9);
- c[0] = c[1] = c[2] = c[3] = 0x00aa00ff;
+ c[0] = c[2] = c[3] = c[1];
c[4] = c[6];
c[5] = c[7];
break;
@@ -370,8 +373,8 @@ LevelMeterBase::setup_meters (int len, int initial_width, int thin_width)
stp[1] = 115.0 * meter_deflect_vu(-23); // -3
stp[2] = 115.0 * meter_deflect_vu(-20); // 0
stp[3] = 115.0 * meter_deflect_vu(-18); // +2
- c[0] = c[1] = c[2] = c[3] = c[4] = c[5] = 0x00aa00ff;
- c[6] = c[7] = c[8] = c[9] = 0xff8800ff;
+ c[0] = c[2] = c[3] = c[4] = c[5] = c[1];
+ c[7] = c[8] = c[9] = c[6];
break;
default: // PEAK, RMS
stp[1] = 77.5; // 115 * log_meter(-10)
@@ -409,8 +412,8 @@ LevelMeterBase::setup_meters (int len, int initial_width, int thin_width)
meters[n].width = width;
meters[n].length = len;
meters[n].meter->add_events (Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK);
- meters[n].meter->signal_button_press_event().connect (sigc::mem_fun (*this, &LevelMeterBase::meter_button_press));
- meters[n].meter->signal_button_release_event().connect (sigc::mem_fun (*this, &LevelMeterBase::meter_button_release));
+ meters[n].meter->signal_button_press_event().connect (sigc::mem_fun (*this, &LevelMeterBase::meter_button_press), false);
+ meters[n].meter->signal_button_release_event().connect (sigc::mem_fun (*this, &LevelMeterBase::meter_button_release), false);
}
//pack_end (*meters[n].meter, false, false);
diff --git a/gtk2_ardour/level_meter.h b/gtk2_ardour/level_meter.h
index a355d7d285..b6aec1dd78 100644
--- a/gtk2_ardour/level_meter.h
+++ b/gtk2_ardour/level_meter.h
@@ -49,7 +49,7 @@ namespace Gtk {
class Menu;
}
-class LevelMeterBase : public ARDOUR::SessionHandlePtr
+class LevelMeterBase : public ARDOUR::SessionHandlePtr, virtual public sigc::trackable
{
public:
LevelMeterBase (ARDOUR::Session*, PBD::EventLoop::InvalidationRecord* ir,
diff --git a/gtk2_ardour/lineset.cc b/gtk2_ardour/lineset.cc
deleted file mode 100644
index c1761c5398..0000000000
--- a/gtk2_ardour/lineset.cc
+++ /dev/null
@@ -1,803 +0,0 @@
-/*
- Copyright (C) 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 "lineset.h"
-#include "rgb_macros.h"
-
-#include <libgnomecanvas/libgnomecanvas.h>
-#include <libgnomecanvasmm/group.h>
-#include <libgnomecanvasmm/canvas.h>
-
-#include <algorithm>
-#include <cmath>
-#include <iostream>
-
-using namespace std;
-
-namespace Gnome {
-namespace Canvas {
-
-LineSetClass LineSet::lineset_class;
-
-//static const char* overlap_error_str = "LineSet error: Line overlap";
-
-LineSet::Line::Line(double c, double w, uint32_t color)
- : coord(c)
- , width(w)
-{
- UINT_TO_RGBA (color, &r, &g, &b, &a);
-}
-
-/* Constructor for dummy lines that are used only with the coordinate */
-LineSet::Line::Line(double c)
- : coord(c)
-{
-}
-
-void
-LineSet::Line::set_color(uint32_t color)
-{
- UINT_TO_RGBA (color, &r, &g, &b, &a);
-}
-
-const Glib::Class&
-LineSetClass::init()
-{
- if (!gtype_) {
- class_init_func_ = &LineSetClass::class_init_function;
- register_derived_type(Item::get_type());
- }
-
- return *this;
-}
-
-void
-LineSetClass::class_init_function(void* /*g_class*/, void* /*class_data*/)
-{
-}
-
-LineSet::LineSet(Group& parent, Orientation o)
- : Glib::ObjectBase("GnomeCanvasLineSet")
- , Item(Glib::ConstructParams(lineset_class.init()))
- , cached_pos(lines.end())
- , orientation(o)
- , x1(*this, "x1", 0.0)
- , y1(*this, "y1", 0.0)
- , x2(*this, "x2", 0.0)
- , y2(*this, "y2", 0.0)
- , in_update(false)
- , update_region1(1.0)
- , update_region2(0.0)
- , bounds_changed(false)
- , covered1(1.0) // covered1 > covered2 ==> nothing's covered
- , covered2(0.0)
-{
-
- item_construct(parent);
-
- property_x1().signal_changed().connect(sigc::mem_fun(*this, &LineSet::bounds_need_update));
- property_y1().signal_changed().connect(sigc::mem_fun(*this, &LineSet::bounds_need_update));
- property_x2().signal_changed().connect(sigc::mem_fun(*this, &LineSet::bounds_need_update));
- property_y2().signal_changed().connect(sigc::mem_fun(*this, &LineSet::bounds_need_update));
-}
-
-LineSet::~LineSet()
-{
-}
-
-bool
-LineSet::line_compare(const Line& a, const Line& b)
-{
- return a.coord < b.coord;
-}
-
-void
-LineSet::print_lines()
-{
- for (Lines::iterator it = lines.begin(); it != lines.end(); ++it) {
- cerr << " " << it->coord << " " << it->width << " " << (int)it->r << " " << (int)it->g << " " << (int)it->b << " " << (int)it->a << endl;
- }
-}
-
-void
-LineSet::move_line(double coord, double dest)
-{
- if (coord == dest) {
- return;
- }
-
- Lines::iterator it = line_at(coord);
-
- if (it != lines.end()) {
-
- double width = it->width;
- it->coord = dest;
-
- Lines::iterator ins = lower_bound(lines.begin(), lines.end(), *it, line_compare);
-
- lines.insert(ins, *it);
- lines.erase(it);
-
- if (coord > dest) {
- region_needs_update(dest, coord + width);
- } else {
- region_needs_update(coord, dest + width);
- }
- }
-}
-
-void
-LineSet::change_line_width(double coord, double width)
-{
- Lines::iterator it = line_at(coord);
-
- if (it != lines.end()) {
- Line& l = *it;
- ++it;
-
- if (it != lines.end()) {
- if (l.coord + width > it->coord) {
- //cerr << overlap_error_str << endl;
- return;
- }
- }
-
- l.width = width;
- region_needs_update(coord, coord + width);
- }
-}
-
-void
-LineSet::change_line_color(double coord, uint32_t color)
-{
- Lines::iterator it = line_at(coord);
-
- if (it != lines.end()) {
- it->set_color(color);
- region_needs_update(it->coord, it->coord + it->width);
- }
-}
-
-void
-LineSet::add_line(double coord, double width, uint32_t color)
-{
- Line l(coord, width, color);
-
- Lines::iterator it = std::lower_bound(lines.begin(), lines.end(), l, line_compare);
-
- /* overlap checking */
- if (it != lines.end()) {
- if (l.coord + l.width > it->coord) {
- //cerr << overlap_error_str << endl;
- return;
- }
- }
- if (it != lines.begin()) {
- --it;
- if (l.coord < it->coord + it->width) {
- //cerr << overlap_error_str << endl;
- return;
- }
- ++it;
- }
-
- lines.insert(it, l);
- region_needs_update(coord, coord + width);
-}
-
-void
-LineSet::remove_line(double coord)
-{
- Lines::iterator it = line_at(coord);
-
- if (it != lines.end()) {
- double start = it->coord;
- double end = start + it->width;
-
- lines.erase(it);
-
- region_needs_update(start, end);
- }
-}
-
-void
-LineSet::remove_lines(double c1, double c2)
-{
- if (!lines.empty()) {
- region_needs_update(c1, c2);
- }
-}
-
-void
-LineSet::remove_until(double coord)
-{
- if (!lines.empty()) {
- double first = lines.front().coord;
-
- // code
-
- region_needs_update(first, coord);
- }
-}
-
-void
-LineSet::remove_from(double coord)
-{
- if (!lines.empty()) {
- double last = lines.back().coord + lines.back().width;
-
- // code
-
- region_needs_update(coord, last);
- }
-}
-
-void
-LineSet::clear()
-{
- if (!lines.empty()) {
- double coord1 = lines.front().coord;
- double coord2 = lines.back().coord + lines.back().width;
-
- lines.clear();
- region_needs_update(coord1, coord2);
- }
-}
-
-/*
- * this function is optimized to work faster if we access elements that are adjacent to each other.
- * so if a large number of lines are modified, it is wise to modify them in sorted order.
- */
-LineSet::Lines::iterator
-LineSet::line_at(double coord)
-{
- if (cached_pos != lines.end()) {
- if (coord < cached_pos->coord) {
- /* backward search */
- while (--cached_pos != lines.end()) {
- if (cached_pos->coord <= coord) {
- if (cached_pos->coord + cached_pos->width < coord) {
- /* coord is between two lines */
- return lines.end();
- } else {
- return cached_pos;
- }
- }
- }
- } else {
- /* forward search */
- while (cached_pos != lines.end()) {
- if (cached_pos->coord > coord) {
- /* we searched past the line that we want, so now see
- if the previous line includes the coordinate */
- --cached_pos;
- if (cached_pos->coord + cached_pos->width >= coord) {
- return cached_pos;
- } else {
- return lines.end();
- }
- }
- ++cached_pos;
- }
- }
- } else {
- /* initialize the cached position */
- Line dummy(coord);
-
- cached_pos = lower_bound(lines.begin(), lines.end(), dummy, line_compare);
-
- /* The iterator found should point to the element after the one we want. */
- --cached_pos;
-
- if (cached_pos != lines.end()) {
- if (cached_pos->coord <= coord) {
- if (cached_pos->coord + cached_pos->width >= coord) {
- return cached_pos;
- } else {
- return lines.end();
- }
- } else {
- return lines.end();
- }
- } else {
- return lines.end();
- }
- }
-
- return lines.end();
-}
-
-void
-LineSet::redraw_request (ArtDRect const & r)
-{
- int x0, y0, x1, y1;
- Canvas& cv = *get_canvas();
-
- //cerr << "redraw request: " << r.x0 << " " << r.y0 << " " << r.x1 << " " << r.y1 << endl;
-
- double fx0 = r.x0;
- if (fx0 > INT_MAX) {
- fx0 = INT_MAX;
- }
-
- double fx1 = r.x1;
- if (fx1 > INT_MAX) {
- fx1 = INT_MAX;
- }
-
- cv.w2c (fx0, r.y0, x0, y0);
- cv.w2c (fx1, r.y1, x1, y1);
-
- cv.request_redraw(x0, y0, x1, y1);
-}
-
-void
-LineSet::update_lines(bool need_redraw)
-{
- //cerr << "update_lines need_redraw=" << need_redraw << endl;
- if (!need_redraw) {
- update_region1 = 1.0;
- update_region2 = 0.0;
- return;
- }
-
- if (update_region2 > update_region1) {
- ArtDRect redraw;
- LineSet::bounds_vfunc(&redraw.x0, &redraw.y0, &redraw.x1, &redraw.y1);
- i2w(redraw.x0, redraw.y0);
- i2w(redraw.x1, redraw.y1);
-
- if (orientation == Vertical) {
- redraw.x1 = redraw.x0 + update_region2;
- redraw.x0 += update_region1;
- } else {
- redraw.y1 = redraw.y0 + update_region2;
- redraw.y0 += update_region1;
- }
- redraw_request(redraw);
- update_region1 = 1.0;
- update_region2 = 0.0;
- }
-
- // if we need to calculate what becomes visible, use some of this
- //cv.c2w (0, 0, world_v[X1], world_v[Y1]);
- //cv.c2w (cv.get_width(), cv.get_height(), world_v[X2], world_v[Y2]);
-}
-
-/*
- * return false if a full redraw request has been made.
- * return true if nothing or only parts of the rect area has been requested for redraw
- */
-bool
-LineSet::update_bounds()
-{
- GnomeCanvasItem* item = GNOME_CANVAS_ITEM(gobj());
- ArtDRect old_b;
- ArtDRect new_b;
- ArtDRect redraw;
- Canvas& cv = *get_canvas();
-
- /* store the old bounding box */
- old_b.x0 = item->x1;
- old_b.y0 = item->y1;
- old_b.x1 = item->x2;
- old_b.y1 = item->y2;
- LineSet::bounds_vfunc(&new_b.x0, &new_b.y0, &new_b.x1, &new_b.y1);
-
- i2w(new_b.x0, new_b.y0);
- i2w(new_b.x1, new_b.y1);
-
- item->x1 = new_b.x0;
- item->y1 = new_b.y0;
- item->x2 = new_b.x1;
- item->y2 = new_b.y1;
-
- /* Update bounding box used in rendering function */
-
- double fx0 = new_b.x0;
- if (fx0 > INT_MAX) {
- fx0 = INT_MAX;
- }
-
- double fx1 = new_b.x1;
- if (fx1 > INT_MAX) {
- fx1 = INT_MAX;
- }
-
- cv.w2c (fx0, new_b.y0, bbox.x0, bbox.y0);
- cv.w2c (fx1, new_b.y1, bbox.x1, bbox.y1);
-
- /*
- * if the first primary axis property (x1 for Vertical, y1 for Horizontal) changed, we must redraw everything,
- * because lines are positioned relative to this coordinate. Please excuse the confusion resulting from
- * gnome canvas coordinate numbering (1, 2) and libart's (0, 1).
- */
- if (orientation == Vertical) {
- if (new_b.x0 == old_b.x0) {
- /* No need to update everything */
- if (new_b.y0 != old_b.y0) {
- redraw.x0 = old_b.x0;
- redraw.y0 = min(old_b.y0, new_b.y0);
- redraw.x1 = old_b.x1;
- redraw.y1 = max(old_b.y0, new_b.y0);
- redraw_request(redraw);
- }
- if (new_b.y1 != old_b.y1) {
- redraw.x0 = old_b.x0;
- redraw.y0 = min(old_b.y1, new_b.y1);
- redraw.x1 = old_b.x1;
- redraw.y1 = max(old_b.y1, new_b.y1);
- redraw_request(redraw);
- }
-
- if (new_b.x1 > old_b.x1) {
- // we have a larger area ==> possibly more lines
- request_lines(old_b.x1, new_b.x1);
- redraw.x0 = old_b.x1;
- redraw.y0 = min(old_b.y0, new_b.y0);
- redraw.x1 = new_b.x1;
- redraw.y1 = max(old_b.y1, new_b.y1);
- redraw_request(redraw);
- } else if (new_b.x1 < old_b.x1) {
- remove_lines(new_b.x1, old_b.x1);
- redraw.x0 = new_b.x1;
- redraw.y0 = min(old_b.y0, new_b.y0);
- redraw.x1 = old_b.x1;
- redraw.y1 = max(old_b.y1, new_b.y1);
- redraw_request(redraw);
- }
- return true;
- } else {
- /* update everything */
- //cerr << "update everything" << endl;
- art_drect_union(&redraw, &old_b, &new_b);
- redraw_request(redraw);
- return false;
- }
- } else {
- if (new_b.y0 == old_b.y0) {
- /* No need to update everything */
- if (new_b.x0 != old_b.x0) {
- redraw.y0 = old_b.y0;
- redraw.x0 = min(old_b.x0, new_b.x0);
- redraw.y1 = old_b.y1;
- redraw.x1 = max(old_b.x0, new_b.x0);
- redraw_request(redraw);
- }
- if (new_b.x1 != old_b.x1) {
- redraw.y0 = old_b.y0;
- redraw.x0 = min(old_b.x1, new_b.x1);
- redraw.y1 = old_b.y1;
- redraw.x1 = max(old_b.x1, new_b.x1);
- redraw_request(redraw);
- }
-
- if (new_b.y1 > old_b.y1) {
- // we have a larger area ==> possibly more lines
- request_lines(old_b.y1, new_b.y1);
- redraw.y0 = old_b.y1;
- redraw.x0 = min(old_b.x0, new_b.x0);
- redraw.y1 = new_b.y1;
- redraw.x1 = max(old_b.x1, new_b.x1);
- redraw_request(redraw);
- } else if (new_b.y1 < old_b.y1) {
- remove_lines(new_b.y1, old_b.y1);
- redraw.y0 = new_b.y1;
- redraw.x0 = min(old_b.x0, new_b.x0);
- redraw.y1 = old_b.y1;
- redraw.x1 = max(old_b.x1, new_b.x1);
- redraw_request(redraw);
- }
- return true;
- } else {
- /* update everything */
- art_drect_union(&redraw, &old_b, &new_b);
- redraw_request(redraw);
- return false;
- }
- }
-}
-
-/*
- * what to do here?
- * 1. find out if any line data has been modified since last update.
- * N. find out if the item moved. if it moved, the old bbox and the new bbox need to be updated.
- */
-void
-LineSet::update_vfunc(double* /*affine*/, ArtSVP* /*clip_path*/, int /*flags*/)
-{
- GnomeCanvasItem* item = GNOME_CANVAS_ITEM(gobj());
- bool lines_need_redraw = true;
-
- /*
- * need to call gnome_canvas_item_update here, to unset the need_update flag.
- * but a call to Gnome::Canvas::Item::update_vfunc results in infinite recursion.
- * that function is declared in gnome_canvas.c so no way to call it directly:
- * Item::update_vfunc(affine, clip_path, flags);
- * So just copy the code from that function. This has to be a bug or
- * something I haven't figured out.
- */
- GTK_OBJECT_UNSET_FLAGS (item, GNOME_CANVAS_ITEM_NEED_UPDATE);
- GTK_OBJECT_UNSET_FLAGS (item, GNOME_CANVAS_ITEM_NEED_AFFINE);
- GTK_OBJECT_UNSET_FLAGS (item, GNOME_CANVAS_ITEM_NEED_CLIP);
- GTK_OBJECT_UNSET_FLAGS (item, GNOME_CANVAS_ITEM_NEED_VIS);
-
- //cerr << "update {" << endl;
- in_update = true;
-
- // ahh. We must update bounds no matter what. If the group position changed,
- // there is no way that we are notified of that.
-
- //if (bounds_changed) {
- lines_need_redraw = update_bounds();
- bounds_changed = false;
- //}
-
- update_lines(lines_need_redraw);
-
- in_update = false;
- //cerr << "}" << endl;
-}
-
-void
-LineSet::draw_vfunc(const Glib::RefPtr<Gdk::Drawable>& /*drawable*/, int /*x*/, int /*y*/, int /*width*/, int /*height*/)
-{
- cerr << "please don't use the GnomeCanvasLineSet item in a non-aa Canvas" << endl;
- abort();
-}
-
-inline void
-LineSet::paint_vert(GnomeCanvasBuf* buf, LineSet::Line& line, int x1, int y1, int x2, int y2)
-{
- if (line.width == 1.0) {
- PAINT_VERTA(buf, line.r, line.g, line.b, line.a, x1, y1, y2);
- } else {
- PAINT_BOX(buf, line.r, line.g, line.b, line.a, x1, y1, x2, y2);
- }
-}
-
-inline void
-LineSet::paint_horiz(GnomeCanvasBuf* buf, LineSet::Line& line, int x1, int y1, int x2, int y2)
-{
- if (line.width == 1.0) {
- PAINT_HORIZA(buf, line.r, line.g, line.b, line.a, x1, x2, y1);
- } else {
- PAINT_BOX(buf, line.r, line.g, line.b, line.a, x1, y1, x2, y2);
- }
-}
-
-void
-LineSet::render_vfunc(GnomeCanvasBuf* buf)
-{
- ArtIRect rect;
- int pos0, pos1, offset;
-
- if (buf->is_bg) {
- gnome_canvas_buf_ensure_buf (buf);
- buf->is_bg = FALSE;
- }
-
- /* get the rect that we are rendering to */
- art_irect_intersect(&rect, &bbox, &buf->rect);
-
-#if 0
- /* DEBUG render bounding box for this region. should result in the full
- bounding box when all rendering regions are finished */
- PAINT_BOX(buf, 0xaa, 0xaa, 0xff, 0xbb, rect.x0, rect.y0, rect.x1, rect.y1);
-#endif
-
-#if 0
- /* harlequin debugging, shows the rect that is actually drawn, distinct from
- rects from other render cycles */
- gint r, g, b, a;
- r = random() % 0xff;
- g = random() % 0xff;
- b = random() % 0xff;
- PAINT_BOX(buf, r, g, b, 0x33, rect.x0, rect.y0, rect.x1, rect.y1);
-#endif
-
- if (lines.empty()) {
- return;
- }
-
- Lines::iterator it = lines.begin();
- Lines::iterator end = --lines.end();
-
- /**
- * The first and the last line in this render have to be handled separately from those in between, because those lines
- * may be cut off at the ends.
- */
-
- if (orientation == Vertical) {
- offset = bbox.x0;
-
- // skip parts of lines that are to the right of the buffer, and paint the last line visible
- for (; end != lines.end(); --end) {
- pos0 = ((int) floor(end->coord)) + offset;
-
- if (pos0 < rect.x1) {
- pos1 = min((pos0 + (int) floor(end->width)), rect.x1);
- if (pos0 < rect.x0 && pos1 < rect.x0) {
- return;
- }
-
- paint_vert(buf, *end, pos0, rect.y0, pos1, rect.y1);
- break;
- }
- }
-
- if (end == lines.end()) {
- return;
- }
-
- // skip parts of lines that are to the left of the buffer
- for (; it != end; ++it) {
- pos0 = ((int) floor(it->coord)) + offset;
- pos1 = pos0 + ((int) floor(it->width));
-
- if (pos1 > rect.x0) {
- pos0 = max(pos0, rect.x0);
- paint_vert(buf, *it, pos0, rect.y0, pos1, rect.y1);
- ++it;
- break;
- }
- }
-
- // render what's between the first and last lines
- for (; it != end; ++it) {
- pos0 = ((int) floor(it->coord)) + offset;
- pos1 = pos0 + ((int) floor(it->width));
-
- paint_vert(buf, *it, pos0, rect.y0, pos1, rect.y1);
- }
- } else {
- offset = bbox.y0;
-
- // skip parts of lines that are to the right of the buffer, and paint the last line visible
- for (; end != lines.end(); --end) {
- pos0 = ((int) floor(end->coord)) + offset;
-
- if (pos0 < rect.y1) {
- pos1 = min((pos0 + (int) floor(end->width)), rect.y1);
- if (pos0 < rect.y0 && pos1 < rect.y0) {
- return;
- }
-
- paint_horiz(buf, *end, rect.x0, pos0, rect.x1, pos1);
- break;
- }
- }
-
- if (end == lines.end()) {
- return;
- }
-
- // skip parts of lines that are to the left of the buffer
- for (; it != end; ++it) {
- pos0 = ((int) floor(it->coord)) + offset;
- pos1 = pos0 + ((int) floor(it->width));
-
- if (pos1 > rect.y0) {
- pos0 = max(pos0, rect.y0);
- paint_horiz(buf, *it, rect.x0, pos0, rect.x1, pos1);
- ++it;
- break;
- }
- }
-
- // render what's between the first and last lines
- for (; it != end; ++it) {
- pos0 = ((int) floor(it->coord)) + offset;
- pos1 = pos0 + ((int) floor(it->width));
- paint_horiz(buf, *it, rect.x0, pos0, rect.x1, pos1);
- }
- }
-}
-
-void
-LineSet::bounds_vfunc(double* _x1, double* _y1, double* _x2, double* _y2)
-{
- *_x1 = x1;
- *_y1 = y1;
- *_x2 = x2 + 1;
- *_y2 = y2 + 1;
-}
-
-
-double
-LineSet::point_vfunc(double x, double y, int /*cx*/, int /*cy*/, GnomeCanvasItem** actual_item)
-{
- double x1, y1, x2, y2;
- double dx, dy;
-
- LineSet::bounds_vfunc(&x1, &y1, &x2, &y2);
-
- *actual_item = gobj();
-
- if (x < x1) {
- dx = x1 - x;
- } else if (x > x2) {
- dx = x - x2;
- } else {
- dx = 0.0;
- }
-
- if (y < y1) {
- dy = y1 - y;
- } else if (y > y2) {
- dy = y - y2;
- } else {
- if (dx == 0.0) {
- // point is inside
- return 0.0;
- } else {
- dy = 0.0;
- }
- }
-
- return sqrt (dx * dx + dy * dy);
-}
-
-/* If not overrided emit the signal */
-void
-LineSet::request_lines(double c1, double c2)
-{
- signal_request_lines(*this, c1, c2);
-}
-
-void
-LineSet::bounds_need_update()
-{
- bounds_changed = true;
-
- if (!in_update) {
- request_update();
- }
-}
-
-void
-LineSet::region_needs_update(double coord1, double coord2)
-{
- if (update_region1 > update_region2) {
- update_region1 = coord1;
- update_region2 = coord2;
- } else {
- update_region1 = min(update_region1, coord1);
- update_region2 = max(update_region2, coord2);
- }
-
- if (!in_update) {
- request_update();
- }
-}
-
-/*
- * These have been defined to avoid endless recursion with gnomecanvasmm.
- * Don't know why this happens
- */
-bool LineSet::on_event(GdkEvent* /*p1*/)
-{
- return false;
-}
-
-void LineSet::realize_vfunc() { }
-void LineSet::unrealize_vfunc() { }
-void LineSet::map_vfunc() { }
-void LineSet::unmap_vfunc() { }
-
-} /* namespace Canvas */
-} /* namespace Gnome */
diff --git a/gtk2_ardour/lineset.h b/gtk2_ardour/lineset.h
deleted file mode 100644
index 2f9a61d039..0000000000
--- a/gtk2_ardour/lineset.h
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- Copyright (C) 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 __gnome_canvas_lineset_h__
-#define __gnome_canvas_lineset_h__
-
-#include <stdint.h>
-#include <libgnomecanvasmm/item.h>
-
-namespace Gnome {
-namespace Canvas {
-
-class LineSetClass : public Glib::Class {
-public:
- const Glib::Class& init();
- static void class_init_function(void* g_class, void* class_data);
-};
-
-/** A canvas item that displays a set of vertical or horizontal lines,
- * spanning the entire size of the item.
- */
-class LineSet : public Item {
-public:
- enum Orientation {
- Vertical,
- Horizontal
- };
-
- LineSet(Group& parent, Orientation);
- virtual ~LineSet();
-
- Glib::PropertyProxy<double> property_x1() { return x1.get_proxy(); }
- Glib::PropertyProxy<double> property_y1() { return y1.get_proxy(); }
- Glib::PropertyProxy<double> property_x2() { return x2.get_proxy(); }
- Glib::PropertyProxy<double> property_y2() { return y2.get_proxy(); }
-
- /* Note: every line operation takes a coord parameter, as an index to
- * the line it modifies. The index will identify a line if it is between
- * line.coord and line.coord + line.width.
- */
-
- /** Move a line to a new position.
- * For this to work (to move the desired line) it is important that
- * lines have unique coordinates. This also applies to every line
- * accessing functions below
- */
- void move_line(double coord, double dest);
-
- /** Change the width of a line.
- * Only allow if the new width doesn't overlap the next line (see below)
- */
- void change_line_width(double coord, double width);
-
- /** Change the color of a line.
- */
- void change_line_color(double coord, uint32_t color);
-
- /** Add a line to draw.
- * width is an offset, so that coord + width specifies the end of the line.
- * lines should not overlap, as no layering information is provided.
- * however, line_coord[i] + line_width[i] == line_coord[i+1] is
- * be legal, as the coordinates are real numbers and represents
- * real world coordinates. Two real world object sharing coordinates for start
- * and end are not overlapping.
- */
- void add_line(double coord, double width, uint32_t color);
-
- /** Remove the line at coord
- */
- void remove_line(double coord);
-
- /** Remove all lines in a coordinate range
- */
- void remove_lines(double c1, double c2);
-
- /** Remove all lines with a coordinate lower than coord
- */
- void remove_until(double coord);
-
- /** Remove all lines with a coordinate equal to or higher than coord.
- */
- void remove_from(double coord);
-
- /** Remove all lines.
- */
- void clear();
-
- /** Add a set of lines in the given range.
- * For every line visible in the provided coordinate range, call add_line().
- * This is called when the area between c1 and c2 becomes visible, when
- * previously outside any possible view.
- * The number of calls to this function should be kept at a minimum.
- */
- virtual void request_lines(double c1, double c2);
-
- /** Instead of overriding the update_lines function one can connect to this
- * and add lines externally instead.
- * If add_lines() is overrided, this signal will not be emitted.
- */
- sigc::signal<void, LineSet&, double, double> signal_request_lines;
-
- /* overridden from Gnome::Canvas::Item */
- void update_vfunc(double* affine, ArtSVP* clip_path, int flags);
- void realize_vfunc();
- void unrealize_vfunc();
- void map_vfunc();
- void unmap_vfunc();
- void draw_vfunc(const Glib::RefPtr<Gdk::Drawable>& drawable, int x, int y, int width, int height);
- void render_vfunc(GnomeCanvasBuf* buf);
- double point_vfunc(double x, double y, int cx, int cy, GnomeCanvasItem** actual_item);
- void bounds_vfunc(double* x1, double* y1, double* x2, double* y2);
- bool on_event(GdkEvent* p1);
-
- /* debug */
- void print_lines();
-
-protected:
- struct Line {
- Line(double c, double w, uint32_t color);
- Line(double c);
-
- void set_color(uint32_t color);
-
- double coord;
- double width;
- unsigned char r;
- unsigned char g;
- unsigned char b;
- unsigned char a;
- };
-
- static inline void paint_vert(GnomeCanvasBuf* buf, LineSet::Line& line, int x1, int y1, int x2, int y2);
- static inline void paint_horiz(GnomeCanvasBuf* buf, LineSet::Line& line, int x1, int y1, int x2, int y2);
-
- static bool line_compare(const Line& a, const Line& b);
-
- typedef std::list<Line> Lines;
- void bounds_need_update();
- void region_needs_update(double coord1, double coord2);
- bool update_bounds();
- void update_lines(bool need_redraw);
- void redraw_request (ArtDRect const &);
-
- Lines::iterator line_at(double coord);
-
- /** Stores last accessed line so adjacent lines are found faster */
- Lines::iterator cached_pos;
-
- static LineSetClass lineset_class;
- Orientation orientation;
- Lines lines;
-
- /* properties */
- Glib::Property<double> x1;
- Glib::Property<double> y1;
- Glib::Property<double> x2;
- Glib::Property<double> y2;
-
- /** Cached bounding box in canvas coordinates */
- ArtIRect bbox;
-
-private:
- LineSet();
- LineSet(const LineSet&);
-
- bool in_update;
-
- /* a range that needs update update1 > update2 ==> no update needed */
- double update_region1;
- double update_region2;
- bool bounds_changed;
-
- double covered1;
- double covered2;
-};
-
-} /* namespace Canvas */
-} /* namespace Gnome */
-
-#endif /* __gnome_canvas_lineset_h__ */
diff --git a/gtk2_ardour/linux_vst_gui_support.cc b/gtk2_ardour/linux_vst_gui_support.cc
index 6eec688a7c..5eaf485c75 100644
--- a/gtk2_ardour/linux_vst_gui_support.cc
+++ b/gtk2_ardour/linux_vst_gui_support.cc
@@ -26,13 +26,12 @@
#include <stdlib.h>
#include <stdio.h>
-#include <jack/jack.h>
-#include <jack/thread.h>
#include <libgen.h>
#include <pthread.h>
#include <signal.h>
#include <glib.h>
+#include <glibmm/timer.h>
#include "ardour/linux_vst_support.h"
@@ -43,6 +42,7 @@
#include <time.h>
#include <unistd.h>
#include <pthread.h>
+#include <sys/time.h>
struct ERect{
short top;
@@ -334,10 +334,11 @@ windows, that is if they don't manage their own UIs **/
void* gui_event_loop (void* ptr)
{
VSTState* vstfx;
- int LXVST_sched_event_timer = 0;
- int LXVST_sched_timer_interval = 50; //ms
+ int LXVST_sched_timer_interval = 40; //ms, 25fps
XEvent event;
+ uint64_t clock1, clock2;
+ clock1 = g_get_monotonic_time();
/*The 'Forever' loop - runs the plugin UIs etc - based on the FST gui event loop*/
while (!gui_quit)
@@ -377,16 +378,16 @@ void* gui_event_loop (void* ptr)
/*We don't want to use all the CPU.. */
- usleep(1000);
+ Glib::usleep(1000);
- LXVST_sched_event_timer++;
-
- LXVST_sched_event_timer = LXVST_sched_event_timer & 0x00FFFFFF;
-
/*See if its time for us to do a scheduled event pass on all the plugins*/
- if((LXVST_sched_timer_interval!=0) && (!(LXVST_sched_event_timer% LXVST_sched_timer_interval)))
+ clock2 = g_get_monotonic_time();
+ const int64_t elapsed_time_ms = (clock2 - clock1) / 1000;
+
+ if((LXVST_sched_timer_interval != 0) && elapsed_time_ms >= LXVST_sched_timer_interval)
{
+ //printf("elapsed %d ms ^= %.2f Hz\n", elapsed_time_ms, 1000.0/(double)elapsed_time_ms); // DEBUG
pthread_mutex_lock (&plugin_mutex);
again:
@@ -461,6 +462,8 @@ again:
pthread_mutex_unlock (&vstfx->lock);
}
pthread_mutex_unlock (&plugin_mutex);
+
+ clock1 = g_get_monotonic_time();
}
}
@@ -706,7 +709,7 @@ vstfx_launch_editor (VSTState* vstfx)
/*QUIRK - some plugins need a slight delay after opening the editor before you can
ask the window size or they might return zero - specifically discoDSP */
- usleep(100000);
+ Glib::usleep(100000);
/*Now we can find out how big the parent window should be (and try) to resize it*/
diff --git a/gtk2_ardour/location_ui.cc b/gtk2_ardour/location_ui.cc
index 92f11da019..538d7315bd 100644
--- a/gtk2_ardour/location_ui.cc
+++ b/gtk2_ardour/location_ui.cc
@@ -38,6 +38,7 @@
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtk;
using namespace Gtkmm2ext;
@@ -163,6 +164,7 @@ LocationEditRow::LocationEditRow(Session * sess, Location * loc, int32_t num)
set_location (loc);
set_number (num);
+ cd_toggled(); // show/hide cd-track details
}
LocationEditRow::~LocationEditRow()
@@ -334,13 +336,15 @@ LocationEditRow::set_location (Location *loc)
--i_am_the_modifier;
- location->start_changed.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::start_changed, this, _1), gui_context());
- location->end_changed.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::end_changed, this, _1), gui_context());
- location->name_changed.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::name_changed, this, _1), gui_context());
- location->changed.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::location_changed, this, _1), gui_context());
- location->FlagsChanged.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::flags_changed, this, _1, _2), gui_context());
- location->LockChanged.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::lock_changed, this, _1), gui_context());
- location->PositionLockStyleChanged.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::position_lock_style_changed, this, _1), gui_context());
+ /* connect to per-location signals, since this row only cares about this location */
+
+ location->NameChanged.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::name_changed, this), gui_context());
+ location->StartChanged.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::start_changed, this), gui_context());
+ location->EndChanged.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::end_changed, this), gui_context());
+ location->Changed.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::location_changed, this), gui_context());
+ location->FlagsChanged.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::flags_changed, this), gui_context());
+ location->LockChanged.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::lock_changed, this), gui_context());
+ location->PositionLockStyleChanged.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::position_lock_style_changed, this), gui_context());
}
void
@@ -499,7 +503,7 @@ LocationEditRow::cd_toggled ()
location->set_cd (cd_check_button.get_active(), this);
- if (location->is_cd_marker() && !(location->is_mark())) {
+ if (location->is_cd_marker()) {
show_cd_track_details ();
@@ -587,7 +591,7 @@ LocationEditRow::preemph_toggled ()
}
void
-LocationEditRow::end_changed (ARDOUR::Location *)
+LocationEditRow::end_changed ()
{
ENSURE_GUI_THREAD (*this, &LocationEditRow::end_changed, loc)
@@ -603,7 +607,7 @@ LocationEditRow::end_changed (ARDOUR::Location *)
}
void
-LocationEditRow::start_changed (ARDOUR::Location*)
+LocationEditRow::start_changed ()
{
if (!location) return;
@@ -622,7 +626,7 @@ LocationEditRow::start_changed (ARDOUR::Location*)
}
void
-LocationEditRow::name_changed (ARDOUR::Location *)
+LocationEditRow::name_changed ()
{
if (!location) return;
@@ -637,7 +641,7 @@ LocationEditRow::name_changed (ARDOUR::Location *)
}
void
-LocationEditRow::location_changed (ARDOUR::Location*)
+LocationEditRow::location_changed ()
{
if (!location) return;
@@ -655,7 +659,7 @@ LocationEditRow::location_changed (ARDOUR::Location*)
}
void
-LocationEditRow::flags_changed (ARDOUR::Location*, void *)
+LocationEditRow::flags_changed ()
{
if (!location) {
return;
@@ -671,7 +675,7 @@ LocationEditRow::flags_changed (ARDOUR::Location*, void *)
}
void
-LocationEditRow::lock_changed (ARDOUR::Location*)
+LocationEditRow::lock_changed ()
{
if (!location) {
return;
@@ -687,7 +691,7 @@ LocationEditRow::lock_changed (ARDOUR::Location*)
}
void
-LocationEditRow::position_lock_style_changed (ARDOUR::Location*)
+LocationEditRow::position_lock_style_changed ()
{
if (!location) {
return;
diff --git a/gtk2_ardour/location_ui.h b/gtk2_ardour/location_ui.h
index 395464e049..b363040e57 100644
--- a/gtk2_ardour/location_ui.h
+++ b/gtk2_ardour/location_ui.h
@@ -131,13 +131,13 @@ class LocationEditRow : public Gtk::HBox, public ARDOUR::SessionHandlePtr
void scms_toggled ();
void preemph_toggled ();
- void end_changed (ARDOUR::Location *);
- void start_changed (ARDOUR::Location *);
- void name_changed (ARDOUR::Location *);
- void location_changed (ARDOUR::Location *);
- void flags_changed (ARDOUR::Location *, void *src);
- void lock_changed (ARDOUR::Location *);
- void position_lock_style_changed (ARDOUR::Location *);
+ void end_changed ();
+ void start_changed ();
+ void name_changed ();
+ void location_changed ();
+ void flags_changed ();
+ void lock_changed ();
+ void position_lock_style_changed ();
void set_clock_editable_status ();
void show_cd_track_details ();
diff --git a/gtk2_ardour/lxvst_plugin_ui.cc b/gtk2_ardour/lxvst_plugin_ui.cc
index d31038755b..e3335d4990 100644
--- a/gtk2_ardour/lxvst_plugin_ui.cc
+++ b/gtk2_ardour/lxvst_plugin_ui.cc
@@ -141,7 +141,7 @@ LXVSTPluginUI::get_XID ()
*/
while (!(_vst->state()->been_activated)) {
- usleep (1000);
+ Glib::usleep (1000);
}
int const id = _vst->state()->xid;
diff --git a/gtk2_ardour/main.cc b/gtk2_ardour/main.cc
index d01bca2a62..92f89abd76 100644
--- a/gtk2_ardour/main.cc
+++ b/gtk2_ardour/main.cc
@@ -27,10 +27,10 @@
#include <gtkmm/settings.h>
#include "pbd/error.h"
-#include "pbd/epa.h"
#include "pbd/file_utils.h"
#include "pbd/textreceiver.h"
#include "pbd/failed_constructor.h"
+#include "pbd/pathexpand.h"
#include "pbd/pthread_utils.h"
#ifdef BOOST_SP_ENABLE_DEBUG_HOOKS
#include "pbd/boost_debug.h"
@@ -48,18 +48,20 @@
#include <gtkmm2ext/popup.h>
#include <gtkmm2ext/utils.h>
-#include <fontconfig/fontconfig.h>
-
#include "version.h"
-#include "utils.h"
#include "ardour_ui.h"
#include "opts.h"
#include "enums.h"
+#include "bundle_env.h"
#include "i18n.h"
-#ifdef __APPLE__
-#include <Carbon/Carbon.h>
+#ifdef COMPILER_MSVC
+#include <fcntl.h> // Needed for '_fmode'
+#endif
+
+#ifdef WAF_BUILD
+#include "gtk2ardour-version.h"
#endif
using namespace std;
@@ -98,270 +100,6 @@ gui_jack_error ()
win.run ();
}
-static void export_search_path (const string& base_dir, const char* varname, const char* dir)
-{
- string path;
- const char * cstr = getenv (varname);
-
- if (cstr) {
- path = cstr;
- path += ':';
- } else {
- path = "";
- }
- path += base_dir;
- path += dir;
-
- setenv (varname, path.c_str(), 1);
-}
-
-#ifdef __APPLE__
-
-#include <mach-o/dyld.h>
-#include <sys/param.h>
-
-extern void set_language_preference (); // cocoacarbon.mm
-
-void
-fixup_bundle_environment (int, char* [])
-{
- if (!getenv ("ARDOUR_BUNDLED")) {
- return;
- }
-
- EnvironmentalProtectionAgency::set_global_epa (new EnvironmentalProtectionAgency (true, "PREBUNDLE_ENV"));
-
- set_language_preference ();
-
- char execpath[MAXPATHLEN+1];
- uint32_t pathsz = sizeof (execpath);
-
- _NSGetExecutablePath (execpath, &pathsz);
-
- std::string path;
- std::string exec_dir = Glib::path_get_dirname (execpath);
- std::string bundle_dir;
- std::string userconfigdir = user_config_directory();
-
- bundle_dir = Glib::path_get_dirname (exec_dir);
-
-#ifdef ENABLE_NLS
- if (!ARDOUR::translations_are_enabled ()) {
- localedir = "/this/cannot/exist";
- } else {
- /* force localedir into the bundle */
-
- vector<string> lpath;
- lpath.push_back (bundle_dir);
- lpath.push_back ("Resources");
- lpath.push_back ("locale");
- localedir = strdup (Glib::build_filename (lpath).c_str());
- }
-#endif
-
- export_search_path (bundle_dir, "ARDOUR_DLL_PATH", "/lib");
-
- /* inside an OS X .app bundle, there is no difference
- between DATA and CONFIG locations, since OS X doesn't
- attempt to do anything to expose the notion of
- machine-independent shared data.
- */
-
- export_search_path (bundle_dir, "ARDOUR_DATA_PATH", "/Resources");
- export_search_path (bundle_dir, "ARDOUR_CONFIG_PATH", "/Resources");
- export_search_path (bundle_dir, "ARDOUR_INSTANT_XML_PATH", "/Resources");
- export_search_path (bundle_dir, "LADSPA_PATH", "/Plugins");
- export_search_path (bundle_dir, "VAMP_PATH", "/lib");
- export_search_path (bundle_dir, "GTK_PATH", "/lib/gtkengines");
-
- setenv ("SUIL_MODULE_DIR", (bundle_dir + "/lib").c_str(), 1);
- setenv ("PATH", (bundle_dir + "/MacOS:" + std::string(getenv ("PATH"))).c_str(), 1);
-
- /* unset GTK_RC_FILES so that we only load the RC files that we define
- */
-
- unsetenv ("GTK_RC_FILES");
-
- /* write a pango.rc file and tell pango to use it. we'd love
- to put this into the PROGRAM_NAME.app bundle and leave it there,
- but the user may not have write permission. so ...
-
- we also have to make sure that the user ardour directory
- actually exists ...
- */
-
- if (g_mkdir_with_parents (userconfigdir.c_str(), 0755) < 0) {
- error << string_compose (_("cannot create user %3 folder %1 (%2)"), userconfigdir, strerror (errno), PROGRAM_NAME)
- << endmsg;
- } else {
-
- path = Glib::build_filename (userconfigdir, "pango.rc");
- std::ofstream pangorc (path.c_str());
- if (!pangorc) {
- error << string_compose (_("cannot open pango.rc file %1") , path) << endmsg;
- } else {
- pangorc << "[Pango]\nModuleFiles="
- << Glib::build_filename (bundle_dir, "Resources/pango.modules")
- << endl;
- pangorc.close ();
-
- setenv ("PANGO_RC_FILE", path.c_str(), 1);
- }
- }
-
- setenv ("CHARSETALIASDIR", bundle_dir.c_str(), 1);
- setenv ("FONTCONFIG_FILE", Glib::build_filename (bundle_dir, "Resources/fonts.conf").c_str(), 1);
- setenv ("GDK_PIXBUF_MODULE_FILE", Glib::build_filename (bundle_dir, "Resources/gdk-pixbuf.loaders").c_str(), 1);
-}
-
-static void load_custom_fonts() {
-/* this code will only compile on OS X 10.6 and above, and we currently do not
- * need it for earlier versions since we fall back on a non-monospace,
- * non-custom font.
- */
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060
- std::string ardour_mono_file;
-
- if (!find_file_in_search_path (ardour_data_search_path(), "ArdourMono.ttf", ardour_mono_file)) {
- cerr << _("Cannot find ArdourMono TrueType font") << endl;
- }
-
- CFStringRef ttf;
- CFURLRef fontURL;
- CFErrorRef error;
- ttf = CFStringCreateWithBytes(
- kCFAllocatorDefault, (UInt8*) ardour_mono_file.c_str(),
- ardour_mono_file.length(),
- kCFStringEncodingUTF8, FALSE);
- fontURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, ttf, kCFURLPOSIXPathStyle, TRUE);
- if (CTFontManagerRegisterFontsForURL(fontURL, kCTFontManagerScopeProcess, &error) != true) {
- cerr << _("Cannot load ArdourMono TrueType font.") << endl;
- }
-#endif
-}
-
-#else
-
-void
-fixup_bundle_environment (int /*argc*/, char* argv[])
-{
- /* THIS IS FOR LINUX - its just about the only place where its
- * acceptable to build paths directly using '/'.
- */
-
- if (!getenv ("ARDOUR_BUNDLED")) {
- return;
- }
-
- EnvironmentalProtectionAgency::set_global_epa (new EnvironmentalProtectionAgency (true, "PREBUNDLE_ENV"));
-
- std::string path;
- std::string dir_path = Glib::path_get_dirname (Glib::path_get_dirname (argv[0]));
- std::string userconfigdir = user_config_directory();
-
-#ifdef ENABLE_NLS
- if (!ARDOUR::translations_are_enabled ()) {
- localedir = "/this/cannot/exist";
- } else {
- /* force localedir into the bundle */
- vector<string> lpath;
- lpath.push_back (dir_path);
- lpath.push_back ("share");
- lpath.push_back ("locale");
- localedir = realpath (Glib::build_filename (lpath).c_str(), NULL);
- }
-#endif
-
- /* note that this function is POSIX/Linux specific, so using / as
- a dir separator in this context is just fine.
- */
-
- export_search_path (dir_path, "ARDOUR_DLL_PATH", "/lib");
- export_search_path (dir_path, "ARDOUR_CONFIG_PATH", "/etc");
- export_search_path (dir_path, "ARDOUR_INSTANT_XML_PATH", "/share");
- export_search_path (dir_path, "ARDOUR_DATA_PATH", "/share");
- export_search_path (dir_path, "LADSPA_PATH", "/plugins");
- export_search_path (dir_path, "VAMP_PATH", "/lib");
- export_search_path (dir_path, "GTK_PATH", "/lib/gtkengines");
-
- setenv ("SUIL_MODULE_DIR", (dir_path + "/lib").c_str(), 1);
- setenv ("PATH", (dir_path + "/bin:" + std::string(getenv ("PATH"))).c_str(), 1);
-
- /* unset GTK_RC_FILES so that we only load the RC files that we define
- */
-
- unsetenv ("GTK_RC_FILES");
-
- /* Tell fontconfig where to find fonts.conf. Use the system version
- if it exists, otherwise use the stuff we included in the bundle
- */
-
- if (Glib::file_test ("/etc/fonts/fonts.conf", Glib::FILE_TEST_EXISTS)) {
- setenv ("FONTCONFIG_FILE", "/etc/fonts/fonts.conf", 1);
- setenv ("FONTCONFIG_PATH", "/etc/fonts", 1);
- } else {
- error << _("No fontconfig file found on your system. Things may looked very odd or ugly") << endmsg;
- }
-
- /* write a pango.rc file and tell pango to use it. we'd love
- to put this into the Ardour.app bundle and leave it there,
- but the user may not have write permission. so ...
-
- we also have to make sure that the user ardour directory
- actually exists ...
- */
-
- if (g_mkdir_with_parents (userconfigdir.c_str(), 0755) < 0) {
- error << string_compose (_("cannot create user %3 folder %1 (%2)"), userconfigdir, strerror (errno), PROGRAM_NAME)
- << endmsg;
- } else {
-
- path = Glib::build_filename (userconfigdir, "pango.rc");
- std::ofstream pangorc (path.c_str());
- if (!pangorc) {
- error << string_compose (_("cannot open pango.rc file %1") , path) << endmsg;
- } else {
- pangorc << "[Pango]\nModuleFiles="
- << Glib::build_filename (userconfigdir, "pango.modules")
- << endl;
- pangorc.close ();
- }
-
- setenv ("PANGO_RC_FILE", path.c_str(), 1);
-
- /* similar for GDK pixbuf loaders, but there's no RC file required
- to specify where it lives.
- */
-
- setenv ("GDK_PIXBUF_MODULE_FILE", Glib::build_filename (userconfigdir, "gdk-pixbuf.loaders").c_str(), 1);
- }
-
- /* this doesn't do much but setting it should prevent various parts of the GTK/GNU stack
- from looking outside the bundle to find the charset.alias file.
- */
- setenv ("CHARSETALIASDIR", dir_path.c_str(), 1);
-
-}
-
-static void load_custom_fonts() {
- std::string ardour_mono_file;
- if (!find_file_in_search_path (ardour_data_search_path(), "ArdourMono.ttf", ardour_mono_file)) {
- cerr << _("Cannot find ArdourMono TrueType font") << endl;
- }
-
- FcConfig *config = FcInitLoadConfigAndFonts();
- FcBool ret = FcConfigAppFontAddFile(config, reinterpret_cast<const FcChar8*>(ardour_mono_file.c_str()));
- if (ret == FcFalse) {
- cerr << _("Cannot load ArdourMono TrueType font.") << endl;
- }
- ret = FcConfigSetCurrent(config);
- if (ret == FcFalse) {
- cerr << _("Failed to set fontconfig configuration.") << endl;
- }
-}
-
-#endif
-
static gboolean
tell_about_backend_death (void* /* ignored */)
{
@@ -406,8 +144,15 @@ sigpipe_handler (int /*signal*/)
}
}
-#ifdef WINDOWS_VST_SUPPORT
+#if (defined(COMPILER_MSVC) && defined(NDEBUG) && !defined(RDC_BUILD))
+/*
+ * Release build with MSVC uses ardour_main()
+ */
+int ardour_main (int argc, char *argv[])
+
+#elif (defined WINDOWS_VST_SUPPORT && !defined PLATFORM_WINDOWS)
+// prototype for function in windows_vst_plugin_ui.cc
extern int windows_vst_gui_init (int* argc, char** argv[]);
/* this is called from the entry point of a wine-compiled
@@ -415,14 +160,22 @@ extern int windows_vst_gui_init (int* argc, char** argv[]);
as a shared library.
*/
extern "C" {
+
int ardour_main (int argc, char *argv[])
+
#else
int main (int argc, char *argv[])
#endif
{
- fixup_bundle_environment (argc, argv);
+#ifdef COMPILER_MSVC
+ // Essential!! Make sure that any files used by Ardour
+ // will be created or opened in BINARY mode!
+ _fmode = O_BINARY;
+#endif
- load_custom_fonts(); /* needs to happend before any gtk and pango init calls */
+ fixup_bundle_environment (argc, argv, &localedir);
+
+ load_custom_fonts(); /* needs to happen before any gtk and pango init calls */
if (!Glib::thread_supported()) {
Glib::thread_init();
@@ -432,15 +185,15 @@ int main (int argc, char *argv[])
gtk_set_locale ();
#endif
-#ifdef WINDOWS_VST_SUPPORT
- /* this does some magic that is needed to make GTK and Wine's own
- X11 client interact properly.
- */
+#if (defined WINDOWS_VST_SUPPORT && !defined PLATFORM_WINDOWS)
+ /* this does some magic that is needed to make GTK and X11 client interact properly.
+ * the platform dependent code is in windows_vst_plugin_ui.cc
+ */
windows_vst_gui_init (&argc, &argv);
#endif
#ifdef ENABLE_NLS
- cerr << "bnd txt domain [" << PACKAGE << "] to " << localedir << endl;
+ cerr << "bind txt domain [" << PACKAGE << "] to " << localedir << endl;
(void) bindtextdomain (PACKAGE, localedir);
/* our i18n translations are all in UTF-8, so make sure
@@ -460,12 +213,22 @@ int main (int argc, char *argv[])
text_receiver.listen_to (warning);
#ifdef BOOST_SP_ENABLE_DEBUG_HOOKS
- if (getenv ("BOOST_DEBUG")) {
+ if (g_getenv ("BOOST_DEBUG")) {
boost_debug_shared_ptr_show_live_debugging (true);
}
#endif
if (parse_opts (argc, argv)) {
+#if (defined(COMPILER_MSVC) && defined(NDEBUG) && !defined(RDC_BUILD))
+ // Since we don't ordinarily have access to stdout and stderr with
+ // an MSVC app, let the user know we encountered a parsing error.
+ Gtk::Main app(&argc, &argv); // Calls 'gtk_init()'
+
+ Gtk::MessageDialog dlgReportParseError (_("\n Ardour could not understand your command line "),
+ false, MESSAGE_ERROR, BUTTONS_CLOSE, true);
+ dlgReportParseError.set_title (_("An error was encountered while launching Ardour"));
+ dlgReportParseError.run ();
+#endif
exit (1);
}
@@ -505,9 +268,11 @@ int main (int argc, char *argv[])
return curvetest (curvetest_file);
}
+#ifndef PLATFORM_WINDOWS
if (::signal (SIGPIPE, sigpipe_handler)) {
cerr << _("Cannot xinstall SIGPIPE error handler") << endl;
}
+#endif
try {
ui = new ARDOUR_UI (&argc, &argv, localedir);
@@ -526,7 +291,6 @@ int main (int argc, char *argv[])
return 0;
}
-#ifdef WINDOWS_VST_SUPPORT
-} // end of extern C block
+#if (defined WINDOWS_VST_SUPPORT && !defined PLATFORM_WINDOWS)
+} // end of extern "C" block
#endif
-
diff --git a/gtk2_ardour/main_clock.cc b/gtk2_ardour/main_clock.cc
index c9361f6091..36b398ee44 100644
--- a/gtk2_ardour/main_clock.cc
+++ b/gtk2_ardour/main_clock.cc
@@ -49,7 +49,7 @@ MainClock::build_ops_menu ()
MenuList& ops_items = ops_menu->items();
ops_items.push_back (SeparatorElem ());
ops_items.push_back (CheckMenuElem (_("Display delta to edit cursor"), sigc::mem_fun (*this, &MainClock::display_delta_to_edit_cursor)));
- CheckMenuItem* c = dynamic_cast<CheckMenuItem *> (&ops_items.back());
+ Gtk::CheckMenuItem* c = dynamic_cast<Gtk::CheckMenuItem *> (&ops_items.back());
if (_primary) {
if (ARDOUR::Config->get_primary_clock_delta_edit_cursor ()) {
ARDOUR::Config->set_primary_clock_delta_edit_cursor (false);
diff --git a/gtk2_ardour/marker.cc b/gtk2_ardour/marker.cc
index 27fa9f5d42..671085a7e3 100644
--- a/gtk2_ardour/marker.cc
+++ b/gtk2_ardour/marker.cc
@@ -20,6 +20,15 @@
#include <sigc++/bind.h>
#include "ardour/tempo.h"
+#include "canvas/rectangle.h"
+#include "canvas/container.h"
+#include "canvas/line.h"
+#include "canvas/polygon.h"
+#include "canvas/text.h"
+#include "canvas/canvas.h"
+#include "canvas/scroll_group.h"
+#include "canvas/debug.h"
+
#include "ardour_ui.h"
/*
* ardour_ui.h include was moved to the top of the list
@@ -30,9 +39,6 @@
#include "marker.h"
#include "public_editor.h"
#include "utils.h"
-#include "canvas_impl.h"
-#include "simpleline.h"
-#include "simplerect.h"
#include "rgb_macros.h"
#include <gtkmm2ext/utils.h>
@@ -41,21 +47,23 @@
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace Gtkmm2ext;
PBD::Signal1<void,Marker*> Marker::CatchDeletion;
-Marker::Marker (PublicEditor& ed, ArdourCanvas::Group& parent, guint32 rgba, const string& annotation,
+static const double marker_height = 13.0;
+
+Marker::Marker (PublicEditor& ed, ArdourCanvas::Container& parent, guint32 rgba, const string& annotation,
Type type, framepos_t frame, bool handle_events)
: editor (ed)
, _parent (&parent)
- , _line (0)
+ , _track_canvas_line (0)
, _type (type)
, _selected (false)
, _shown (false)
, _line_shown (false)
- , _canvas_height (0)
, _color (rgba)
, _left_label_limit (DBL_MAX)
, _right_label_limit (DBL_MAX)
@@ -71,7 +79,7 @@ Marker::Marker (PublicEditor& ed, ArdourCanvas::Group& parent, guint32 rgba, con
| V
(0,5) (6,5)
\ /
- (3,13)
+ (3,marker_height)
TempoMark:
@@ -107,25 +115,25 @@ Marker::Marker (PublicEditor& ed, ArdourCanvas::Group& parent, guint32 rgba, con
PunchIn:
- 0,0 ------> 13,0
+ 0,0 ------> marker_height,0
| /
| /
| /
| /
| /
| /
- 0,13
+ 0,marker_height
PunchOut
- 0,0 -->-13,0
+ 0,0 -->-marker_height,0
\ |
\ |
\ |
\ |
\ |
\ |
- 13,13
+ marker_height,marker_height
*/
@@ -134,12 +142,12 @@ Marker::Marker (PublicEditor& ed, ArdourCanvas::Group& parent, guint32 rgba, con
case Mark:
points = new ArdourCanvas::Points ();
- points->push_back (Gnome::Art::Point (0.0, 0.0));
- points->push_back (Gnome::Art::Point (6.0, 0.0));
- points->push_back (Gnome::Art::Point (6.0, 5.0));
- points->push_back (Gnome::Art::Point (3.0, 13.0));
- points->push_back (Gnome::Art::Point (0.0, 5.0));
- points->push_back (Gnome::Art::Point (0.0, 0.0));
+ points->push_back (ArdourCanvas::Duple (0.0, 0.0));
+ points->push_back (ArdourCanvas::Duple (6.0, 0.0));
+ points->push_back (ArdourCanvas::Duple (6.0, 5.0));
+ points->push_back (ArdourCanvas::Duple (3.0, marker_height));
+ points->push_back (ArdourCanvas::Duple (0.0, 5.0));
+ points->push_back (ArdourCanvas::Duple (0.0, 0.0));
_shift = 3;
_label_offset = 8.0;
@@ -149,12 +157,12 @@ Marker::Marker (PublicEditor& ed, ArdourCanvas::Group& parent, guint32 rgba, con
case Meter:
points = new ArdourCanvas::Points ();
- points->push_back (Gnome::Art::Point (3.0, 0.0));
- points->push_back (Gnome::Art::Point (6.0, 5.0));
- points->push_back (Gnome::Art::Point (6.0, 10.0));
- points->push_back (Gnome::Art::Point (0.0, 10.0));
- points->push_back (Gnome::Art::Point (0.0, 5.0));
- points->push_back (Gnome::Art::Point (3.0, 0.0));
+ points->push_back (ArdourCanvas::Duple (3.0, 0.0));
+ points->push_back (ArdourCanvas::Duple (6.0, 5.0));
+ points->push_back (ArdourCanvas::Duple (6.0, 10.0));
+ points->push_back (ArdourCanvas::Duple (0.0, 10.0));
+ points->push_back (ArdourCanvas::Duple (0.0, 5.0));
+ points->push_back (ArdourCanvas::Duple (3.0, 0.0));
_shift = 3;
_label_offset = 8.0;
@@ -164,33 +172,33 @@ Marker::Marker (PublicEditor& ed, ArdourCanvas::Group& parent, guint32 rgba, con
case RangeStart:
points = new ArdourCanvas::Points ();
- points->push_back (Gnome::Art::Point (0.0, 0.0));
- points->push_back (Gnome::Art::Point (6.5, 6.5));
- points->push_back (Gnome::Art::Point (0.0, 13.0));
- points->push_back (Gnome::Art::Point (0.0, 0.0));
+ points->push_back (ArdourCanvas::Duple (0.0, 0.0));
+ points->push_back (ArdourCanvas::Duple (6.5, 6.5));
+ points->push_back (ArdourCanvas::Duple (0.0, marker_height));
+ points->push_back (ArdourCanvas::Duple (0.0, 0.0));
_shift = 0;
- _label_offset = 13.0;
+ _label_offset = marker_height;
break;
case SessionEnd:
case RangeEnd:
points = new ArdourCanvas::Points ();
- points->push_back (Gnome::Art::Point (6.5, 6.5));
- points->push_back (Gnome::Art::Point (13.0, 0.0));
- points->push_back (Gnome::Art::Point (13.0, 13.0));
- points->push_back (Gnome::Art::Point (6.5, 6.5));
+ points->push_back (ArdourCanvas::Duple (6.5, 6.5));
+ points->push_back (ArdourCanvas::Duple (marker_height, 0.0));
+ points->push_back (ArdourCanvas::Duple (marker_height, marker_height));
+ points->push_back (ArdourCanvas::Duple (6.5, 6.5));
- _shift = 13;
+ _shift = marker_height;
_label_offset = 6.0;
break;
case LoopStart:
points = new ArdourCanvas::Points ();
- points->push_back (Gnome::Art::Point (0.0, 0.0));
- points->push_back (Gnome::Art::Point (13.0, 13.0));
- points->push_back (Gnome::Art::Point (0.0, 13.0));
- points->push_back (Gnome::Art::Point (0.0, 0.0));
+ points->push_back (ArdourCanvas::Duple (0.0, 0.0));
+ points->push_back (ArdourCanvas::Duple (marker_height, marker_height));
+ points->push_back (ArdourCanvas::Duple (0.0, marker_height));
+ points->push_back (ArdourCanvas::Duple (0.0, 0.0));
_shift = 0;
_label_offset = 12.0;
@@ -198,54 +206,60 @@ Marker::Marker (PublicEditor& ed, ArdourCanvas::Group& parent, guint32 rgba, con
case LoopEnd:
points = new ArdourCanvas::Points ();
- points->push_back (Gnome::Art::Point (13.0, 0.0));
- points->push_back (Gnome::Art::Point (13.0, 13.0));
- points->push_back (Gnome::Art::Point (0.0, 13.0));
- points->push_back (Gnome::Art::Point (13.0, 0.0));
+ points->push_back (ArdourCanvas::Duple (marker_height, 0.0));
+ points->push_back (ArdourCanvas::Duple (marker_height, marker_height));
+ points->push_back (ArdourCanvas::Duple (0.0, marker_height));
+ points->push_back (ArdourCanvas::Duple (marker_height, 0.0));
- _shift = 13;
+ _shift = marker_height;
_label_offset = 0.0;
break;
case PunchIn:
points = new ArdourCanvas::Points ();
- points->push_back (Gnome::Art::Point (0.0, 0.0));
- points->push_back (Gnome::Art::Point (13.0, 0.0));
- points->push_back (Gnome::Art::Point (0.0, 13.0));
- points->push_back (Gnome::Art::Point (0.0, 0.0));
+ points->push_back (ArdourCanvas::Duple (0.0, 0.0));
+ points->push_back (ArdourCanvas::Duple (marker_height, 0.0));
+ points->push_back (ArdourCanvas::Duple (0.0, marker_height));
+ points->push_back (ArdourCanvas::Duple (0.0, 0.0));
_shift = 0;
- _label_offset = 13.0;
+ _label_offset = marker_height;
break;
case PunchOut:
points = new ArdourCanvas::Points ();
- points->push_back (Gnome::Art::Point (0.0, 0.0));
- points->push_back (Gnome::Art::Point (12.0, 0.0));
- points->push_back (Gnome::Art::Point (12.0, 12.0));
- points->push_back (Gnome::Art::Point (0.0, 0.0));
+ points->push_back (ArdourCanvas::Duple (0.0, 0.0));
+ points->push_back (ArdourCanvas::Duple (12.0, 0.0));
+ points->push_back (ArdourCanvas::Duple (12.0, 12.0));
+ points->push_back (ArdourCanvas::Duple (0.0, 0.0));
- _shift = 13;
+ _shift = marker_height;
_label_offset = 0.0;
break;
}
frame_position = frame;
- unit_position = editor.frame_to_unit (frame);
+ unit_position = editor.sample_to_pixel (frame);
unit_position -= _shift;
- group = new Group (parent, unit_position, 0);
+ group = new ArdourCanvas::Container (&parent, ArdourCanvas::Duple (unit_position, 0));
+#ifdef CANVAS_DEBUG
+ group->name = string_compose ("Marker::group for %1", annotation);
+#endif
- _name_background = new ArdourCanvas::SimpleRect (*group);
- _name_background->property_outline_pixels() = 1;
+ _name_background = new ArdourCanvas::Rectangle (group);
+#ifdef CANVAS_DEBUG
+ _name_background->name = string_compose ("Marker::_name_background for %1", annotation);
+#endif
/* adjust to properly locate the tip */
- mark = new Polygon (*group);
- mark->property_points() = *points;
+ mark = new ArdourCanvas::Polygon (group);
+ CANVAS_DEBUG_NAME (mark, string_compose ("Marker::mark for %1", annotation));
+
+ mark->set (*points);
set_color_rgba (rgba);
- mark->property_width_pixels() = 1;
/* setup name pixbuf sizes */
name_font = get_font_for_style (N_("MarkerText"));
@@ -257,37 +271,41 @@ Marker::Marker (PublicEditor& ed, ArdourCanvas::Group& parent, guint32 rgba, con
layout->set_font_description (name_font);
Gtkmm2ext::get_ink_pixel_size (layout, width, name_height);
-
- name_pixbuf = new ArdourCanvas::Pixbuf(*group);
- name_pixbuf->property_x() = _label_offset;
- name_pixbuf->property_y() = (13/2) - (name_height/2);
+
+ _name_item = new ArdourCanvas::Text (group);
+ CANVAS_DEBUG_NAME (_name_item, string_compose ("Marker::_name_item for %1", annotation));
+ _name_item->set_font_description (name_font);
+ _name_item->set_color (RGBA_TO_UINT (0,0,0,255));
+ _name_item->set_position (ArdourCanvas::Duple (_label_offset, (marker_height / 2.0) - (name_height / 2.0) - 2.0));
set_name (annotation.c_str());
editor.ZoomChanged.connect (sigc::mem_fun (*this, &Marker::reposition));
- mark->set_data ("marker", this);
- _name_background->set_data ("marker", this);
+ /* events will be handled by both the group and the mark itself, so
+ * make sure they can both be used to lookup this object.
+ */
+ group->set_data ("marker", this);
+ mark->set_data ("marker", this);
+
if (handle_events) {
- group->signal_event().connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_marker_event), mark, this));
+ group->Event.connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_marker_event), group, this));
}
-
}
-
Marker::~Marker ()
{
CatchDeletion (this); /* EMIT SIGNAL */
/* destroying the parent group destroys its contents, namely any polygons etc. that we added */
delete group;
- delete _line;
+ delete _track_canvas_line;
}
-void Marker::reparent(ArdourCanvas::Group & parent)
+void Marker::reparent(ArdourCanvas::Container & parent)
{
- group->reparent (parent);
+ group->reparent (&parent);
_parent = &parent;
}
@@ -310,32 +328,27 @@ Marker::setup_line ()
{
if (_shown && (_selected || _line_shown)) {
- if (_line == 0) {
-
- _line = new ArdourCanvas::SimpleLine (*group);
- _line->property_color_rgba() = ARDOUR_UI::config()->canvasvar_EditPoint.get();
+ if (_track_canvas_line == 0) {
- _line->signal_event().connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_marker_event), mark, this));
+ _track_canvas_line = new ArdourCanvas::Line (editor.get_hscroll_group());
+ _track_canvas_line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_EditPoint());
+ _track_canvas_line->Event.connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_marker_event), group, this));
}
- /* work out where to start the line from so that it extends from the top of the canvas */
- double yo = 0;
- double xo = 0;
+ ArdourCanvas::Duple g = group->canvas_origin();
+ ArdourCanvas::Duple d = _track_canvas_line->canvas_to_item (ArdourCanvas::Duple (g.x + _shift, 0));
- _line->i2w (xo, yo);
-
- _line->property_x1() = _shift;
- _line->property_x2() = _shift;
- _line->property_y1() = -yo; // zero in world coordinates, negative in item/parent coordinate space
- _line->property_y2() = -yo + _canvas_height;
-
- _line->property_color_rgba() = _selected ? ARDOUR_UI::config()->canvasvar_EditPoint.get() : _color;
- _line->raise_to_top ();
- _line->show ();
+ _track_canvas_line->set_x0 (d.x);
+ _track_canvas_line->set_x1 (d.x);
+ _track_canvas_line->set_y0 (d.y);
+ _track_canvas_line->set_y1 (ArdourCanvas::COORD_MAX);
+ _track_canvas_line->set_outline_color (_selected ? ARDOUR_UI::config()->get_canvasvar_EditPoint() : _color);
+ _track_canvas_line->raise_to_top ();
+ _track_canvas_line->show ();
} else {
- if (_line) {
- _line->hide ();
+ if (_track_canvas_line) {
+ _track_canvas_line->hide ();
}
}
}
@@ -350,7 +363,7 @@ Marker::canvas_height_set (double h)
ArdourCanvas::Item&
Marker::the_item() const
{
- return *mark;
+ return *group;
}
void
@@ -381,36 +394,43 @@ Marker::setup_name_display ()
/* Work out how wide the name can be */
int name_width = min ((double) pixel_width (_name, name_font) + 2, limit);
- if (name_width == 0) {
- name_width = 1;
- }
-
- if (label_on_left ()) {
- name_pixbuf->property_x() = -name_width;
- }
-
- name_pixbuf->property_pixbuf() = pixbuf_from_string (_name, name_font, name_width, name_height, Gdk::Color ("#000000"));
- if (label_on_left ()) {
- _name_background->property_x1() = name_pixbuf->property_x() - 2;
- _name_background->property_x2() = name_pixbuf->property_x() + name_width + _shift;
+ if (name_width == 0) {
+ _name_item->hide ();
} else {
- _name_background->property_x1() = name_pixbuf->property_x() - _label_offset + 2;
- _name_background->property_x2() = name_pixbuf->property_x() + name_width;
+ _name_item->show ();
+
+ if (label_on_left ()) {
+ _name_item->set_x_position (-name_width);
+ }
+
+ _name_item->clamp_width (name_width);
+ _name_item->set (_name);
+
+ if (label_on_left ()) {
+ /* adjust right edge of background to fit text */
+ _name_background->set_x0 (_name_item->position().x - 2);
+ _name_background->set_x1 (_name_item->position().x + name_width + _shift);
+ } else {
+ /* right edge remains at zero (group-relative). Add
+ * arbitrary 4 pixels of extra padding at the end
+ */
+ _name_background->set_x1 (_name_item->position().x + name_width + 4.0);
+ }
}
- _name_background->property_y1() = 0;
- _name_background->property_y2() = 13;
+ _name_background->set_y0 (0);
+ /* unfortunate hard coding - this has to * match the marker bars height */
+ _name_background->set_y1 (marker_height + 1.0);
}
void
Marker::set_position (framepos_t frame)
{
- double new_unit_position = editor.frame_to_unit (frame);
- new_unit_position -= _shift;
- group->move (new_unit_position - unit_position, 0.0);
+ unit_position = editor.sample_to_pixel (frame) - _shift;
+ group->set_x_position (unit_position);
+ setup_line ();
frame_position = frame;
- unit_position = new_unit_position;
}
void
@@ -441,16 +461,16 @@ void
Marker::set_color_rgba (uint32_t c)
{
_color = c;
- mark->property_fill_color_rgba() = _color;
- mark->property_outline_color_rgba() = _color;
+ mark->set_fill_color (_color);
+ mark->set_outline_color (_color);
- if (_line && !_selected) {
- _line->property_color_rgba() = _color;
+ if (_track_canvas_line && !_selected) {
+ _track_canvas_line->set_outline_color (_color);
}
- _name_background->property_fill() = true;
- _name_background->property_fill_color_rgba() = UINT_RGBA_CHANGE_A (_color, 0x70);
- _name_background->property_outline_color_rgba() = _color;
+ _name_background->set_fill (true);
+ _name_background->set_fill_color (UINT_RGBA_CHANGE_A (_color, 0x70));
+ _name_background->set_outline_color (_color);
}
/** Set the number of pixels that are available for a label to the left of the centre of this marker */
@@ -458,7 +478,7 @@ void
Marker::set_left_label_limit (double p)
{
/* Account for the size of the marker */
- _left_label_limit = p - 13;
+ _left_label_limit = p - marker_height;
if (_left_label_limit < 0) {
_left_label_limit = 0;
}
@@ -473,7 +493,7 @@ void
Marker::set_right_label_limit (double p)
{
/* Account for the size of the marker */
- _right_label_limit = p - 13;
+ _right_label_limit = p - marker_height;
if (_right_label_limit < 0) {
_right_label_limit = 0;
}
@@ -485,13 +505,13 @@ Marker::set_right_label_limit (double p)
/***********************************************************************/
-TempoMarker::TempoMarker (PublicEditor& editor, ArdourCanvas::Group& parent, guint32 rgba, const string& text,
+TempoMarker::TempoMarker (PublicEditor& editor, ArdourCanvas::Container& parent, guint32 rgba, const string& text,
ARDOUR::TempoSection& temp)
: Marker (editor, parent, rgba, text, Tempo, 0, false),
_tempo (temp)
{
set_position (_tempo.frame());
- group->signal_event().connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_tempo_marker_event), mark, this));
+ group->Event.connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_tempo_marker_event), group, this));
}
TempoMarker::~TempoMarker ()
@@ -500,13 +520,13 @@ TempoMarker::~TempoMarker ()
/***********************************************************************/
-MeterMarker::MeterMarker (PublicEditor& editor, ArdourCanvas::Group& parent, guint32 rgba, const string& text,
+MeterMarker::MeterMarker (PublicEditor& editor, ArdourCanvas::Container& parent, guint32 rgba, const string& text,
ARDOUR::MeterSection& m)
: Marker (editor, parent, rgba, text, Meter, 0, false),
_meter (m)
{
set_position (_meter.frame());
- group->signal_event().connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_meter_marker_event), mark, this));
+ group->Event.connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_meter_marker_event), group, this));
}
MeterMarker::~MeterMarker ()
diff --git a/gtk2_ardour/marker.h b/gtk2_ardour/marker.h
index 6bf6d08f51..3a3339d318 100644
--- a/gtk2_ardour/marker.h
+++ b/gtk2_ardour/marker.h
@@ -23,13 +23,13 @@
#include <string>
#include <glib.h>
-#include <libgnomecanvasmm/pixbuf.h>
#include <sigc++/signal.h>
#include "ardour/ardour.h"
#include "pbd/signals.h"
-#include "canvas.h"
+#include "canvas/fwd.h"
+#include "canvas/types.h"
namespace ARDOUR {
class TempoSection;
@@ -56,7 +56,7 @@ class Marker : public sigc::trackable
};
- Marker (PublicEditor& editor, ArdourCanvas::Group &, guint32 rgba, const std::string& text, Type,
+ Marker (PublicEditor& editor, ArdourCanvas::Container &, guint32 rgba, const std::string& text, Type,
framepos_t frame = 0, bool handle_events = true);
virtual ~Marker ();
@@ -76,8 +76,8 @@ class Marker : public sigc::trackable
framepos_t position() const { return frame_position; }
- ArdourCanvas::Group * get_parent() { return _parent; }
- void reparent (ArdourCanvas::Group & parent);
+ ArdourCanvas::Container * get_parent() { return _parent; }
+ void reparent (ArdourCanvas::Container & parent);
void hide ();
void show ();
@@ -98,14 +98,13 @@ class Marker : public sigc::trackable
Pango::FontDescription name_font;
- ArdourCanvas::Group* _parent;
- ArdourCanvas::Group *group;
+ ArdourCanvas::Container* _parent;
+ ArdourCanvas::Container *group;
ArdourCanvas::Polygon *mark;
- ArdourCanvas::Pixbuf *name_pixbuf;
+ ArdourCanvas::Text *_name_item;
ArdourCanvas::Points *points;
- ArdourCanvas::SimpleLine* _line;
- ArdourCanvas::Points *line_points;
- ArdourCanvas::SimpleRect* _name_background;
+ ArdourCanvas::Line* _track_canvas_line;
+ ArdourCanvas::Rectangle* _name_background;
std::string _name;
double unit_position;
@@ -135,7 +134,7 @@ private:
class TempoMarker : public Marker
{
public:
- TempoMarker (PublicEditor& editor, ArdourCanvas::Group &, guint32 rgba, const std::string& text, ARDOUR::TempoSection&);
+ TempoMarker (PublicEditor& editor, ArdourCanvas::Container &, guint32 rgba, const std::string& text, ARDOUR::TempoSection&);
~TempoMarker ();
ARDOUR::TempoSection& tempo() const { return _tempo; }
@@ -147,7 +146,7 @@ class TempoMarker : public Marker
class MeterMarker : public Marker
{
public:
- MeterMarker (PublicEditor& editor, ArdourCanvas::Group &, guint32 rgba, const std::string& text, ARDOUR::MeterSection&);
+ MeterMarker (PublicEditor& editor, ArdourCanvas::Container &, guint32 rgba, const std::string& text, ARDOUR::MeterSection&);
~MeterMarker ();
ARDOUR::MeterSection& meter() const { return _meter; }
diff --git a/gtk2_ardour/meter_patterns.cc b/gtk2_ardour/meter_patterns.cc
index 7db2924697..55eb16246a 100644
--- a/gtk2_ardour/meter_patterns.cc
+++ b/gtk2_ardour/meter_patterns.cc
@@ -31,6 +31,7 @@
#include "i18n.h"
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtk;
using namespace Gtkmm2ext;
@@ -613,7 +614,7 @@ meter_render_metrics (Gtk::Widget& w, MeterType type, vector<DataType> types)
Pango::AttrFontDesc* font_attr;
Pango::FontDescription font;
- font = Pango::FontDescription ("ArdourMono");
+ font = Pango::FontDescription (ARDOUR_UI::config()->get_canvasvar_SmallMonospaceFont());
double fixfontsize = 81920.0 / (double) ARDOUR::Config->get_font_scale();
font.set_weight (Pango::WEIGHT_NORMAL);
@@ -885,7 +886,7 @@ meter_render_metrics (Gtk::Widget& w, MeterType type, vector<DataType> types)
case DataType::MIDI:
align_center = false; // don't bleed into legend
fraction = (j->first) / 127.0;
- pos = 1 + height - (gint) rintf (height * fraction);
+ pos = 1 + height - (gint) lrintf (height * fraction);
pos = min (pos, height);
cairo_set_source_rgb (cr, c.get_red_p(), c.get_green_p(), c.get_blue_p());
if (tickleft) {
diff --git a/gtk2_ardour/meter_strip.cc b/gtk2_ardour/meter_strip.cc
index 632c6ef82c..b2ff7ecf1b 100644
--- a/gtk2_ardour/meter_strip.cc
+++ b/gtk2_ardour/meter_strip.cc
@@ -48,6 +48,7 @@
#include "i18n.h"
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtk;
using namespace Gtkmm2ext;
@@ -114,14 +115,15 @@ MeterStrip::MeterStrip (int metricmode, MeterType mt)
MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
: AxisView(sess)
- , RouteUI(sess)
+ , RouteUI(0)
, _route(rt)
, peak_display()
{
mtr_vbox.set_spacing(2);
nfo_vbox.set_spacing(2);
- RouteUI::set_route (rt);
SessionHandlePtr::set_session (sess);
+ RouteUI::init ();
+ RouteUI::set_route (rt);
_has_midi = false;
_tick_bar = 0;
@@ -152,6 +154,7 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
// peak display
peak_display.set_name ("meterbridge peakindicator");
peak_display.set_elements((ArdourButton::Element) (ArdourButton::Edge|ArdourButton::Body));
+ ARDOUR_UI::instance()->set_tip (peak_display, _("Reset Peak"));
max_peak = minus_infinity();
peak_display.unset_flags (Gtk::CAN_FOCUS);
peak_display.set_size_request(12, 8);
@@ -162,20 +165,34 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
peakbx.pack_start(peak_align, true, true, 3);
peakbx.set_size_request(-1, 14);
- // add track-name label
- name_label.set_text(_route->name());
+ // add track-name & -number label
+ number_label.set_text("-");
+ number_label.set_size_request(18, 18);
+
+ name_changed();
+
name_label.set_corner_radius(2);
+ name_label.set_elements((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::Text|ArdourButton::Inactive));
name_label.set_name("meterbridge label");
name_label.set_angle(-90.0);
- name_label.layout()->set_ellipsize (Pango::ELLIPSIZE_END);
- name_label.layout()->set_width(48 * PANGO_SCALE);
+ name_label.set_text_ellipsize (Pango::ELLIPSIZE_END);
+ name_label.set_layout_ellisize_width(48 * PANGO_SCALE);
name_label.set_size_request(18, 50);
name_label.set_alignment(-1.0, .5);
ARDOUR_UI::instance()->set_tip (name_label, _route->name());
ARDOUR_UI::instance()->set_tip (*level_meter, _route->name());
+ number_label.set_corner_radius(2);
+ number_label.set_elements((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::Text|ArdourButton::Inactive));
+ number_label.set_name("tracknumber label");
+ number_label.set_angle(-90.0);
+ number_label.set_layout_ellisize_width(18 * PANGO_SCALE);
+ number_label.set_alignment(.5, .5);
+
namebx.set_size_request(18, 52);
- namebx.pack_start(name_label, true, false, 3);
+ namebx.pack_start(namenumberbx, true, false, 0);
+ namenumberbx.pack_start(name_label, true, false, 0);
+ namenumberbx.pack_start(number_label, false, false, 0);
mon_in_box.pack_start(*monitor_input_button, true, false);
btnbox.pack_start(mon_in_box, false, false, 1);
@@ -190,25 +207,25 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
btnbox.pack_start(solobox, false, false, 1);
rec_enable_button->set_corner_radius(2);
- rec_enable_button->set_size_request(16, 16);
+ rec_enable_button->set_size_request(18, 18);
mute_button->set_corner_radius(2);
- mute_button->set_size_request(16, 16);
+ mute_button->set_size_request(18, 18);
solo_button->set_corner_radius(2);
- solo_button->set_size_request(16, 16);
+ solo_button->set_size_request(18, 18);
monitor_input_button->set_corner_radius(2);
- monitor_input_button->set_size_request(16, 16);
+ monitor_input_button->set_size_request(18, 18);
monitor_disk_button->set_corner_radius(2);
- monitor_disk_button->set_size_request(16, 16);
+ monitor_disk_button->set_size_request(18, 18);
- mutebox.set_size_request(16, 16);
- solobox.set_size_request(16, 16);
- recbox.set_size_request(16, 16);
- mon_in_box.set_size_request(16, 16);
- mon_disk_box.set_size_request(16, 16);
+ mutebox.set_size_request(18, 18);
+ solobox.set_size_request(18, 18);
+ recbox.set_size_request(18, 18);
+ mon_in_box.set_size_request(18, 18);
+ mon_disk_box.set_size_request(18, 18);
spacer.set_size_request(-1,0);
update_button_box();
@@ -245,11 +262,18 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
mtr_container.show();
mtr_hsep.show();
nfo_vbox.show();
- monitor_input_button->show();
- monitor_disk_button->show();
+ namenumberbx.show();
+
+ if (boost::dynamic_pointer_cast<Track>(_route)) {
+ monitor_input_button->show();
+ monitor_disk_button->show();
+ } else {
+ monitor_input_button->hide();
+ monitor_disk_button->hide();
+ }
_route->shared_peak_meter()->ConfigurationChanged.connect (
- route_connections, invalidator (*this), boost::bind (&MeterStrip::meter_configuration_changed, this, _1), gui_context()
+ meter_route_connections, invalidator (*this), boost::bind (&MeterStrip::meter_configuration_changed, this, _1), gui_context()
);
ResetAllPeakDisplays.connect (sigc::mem_fun(*this, &MeterStrip::reset_peak_display));
@@ -265,8 +289,8 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
meter_ticks1_area.signal_expose_event().connect (sigc::mem_fun(*this, &MeterStrip::meter_ticks1_expose));
meter_ticks2_area.signal_expose_event().connect (sigc::mem_fun(*this, &MeterStrip::meter_ticks2_expose));
- _route->DropReferences.connect (route_connections, invalidator (*this), boost::bind (&MeterStrip::self_delete, this), gui_context());
- _route->PropertyChanged.connect (route_connections, invalidator (*this), boost::bind (&MeterStrip::strip_property_changed, this, _1), gui_context());
+ _route->DropReferences.connect (meter_route_connections, invalidator (*this), boost::bind (&MeterStrip::self_delete, this), gui_context());
+ _route->PropertyChanged.connect (meter_route_connections, invalidator (*this), boost::bind (&MeterStrip::strip_property_changed, this, _1), gui_context());
peak_display.signal_button_release_event().connect (sigc::mem_fun(*this, &MeterStrip::peak_button_release), false);
name_label.signal_button_release_event().connect (sigc::mem_fun(*this, &MeterStrip::name_label_button_release), false);
@@ -318,9 +342,9 @@ MeterStrip::set_session (Session* s)
}
void
-MeterStrip::update_rec_display ()
+MeterStrip::blink_rec_display (bool onoff)
{
- RouteUI::update_rec_display ();
+ RouteUI::blink_rec_display (onoff);
}
std::string
@@ -333,8 +357,6 @@ void
MeterStrip::set_button_names()
{
mute_button->set_text (_("M"));
- rec_enable_button->set_text ("");
- rec_enable_button->set_image (::get_icon (X_("record_normal_red")));
if (_route && _route->solo_safe()) {
solo_button->set_visual_state (Gtkmm2ext::VisualState (solo_button->visual_state() | Gtkmm2ext::Insensitive));
@@ -364,8 +386,8 @@ MeterStrip::strip_property_changed (const PropertyChange& what_changed)
if (!what_changed.contains (ARDOUR::Properties::name)) {
return;
}
- ENSURE_GUI_THREAD (*this, &MeterStrip::strip_name_changed, what_changed)
- name_label.set_text(_route->name());
+ ENSURE_GUI_THREAD (*this, &MeterStrip::strip_name_changed, what_changed);
+ name_changed();
ARDOUR_UI::instance()->set_tip (name_label, _route->name());
if (level_meter) {
ARDOUR_UI::instance()->set_tip (*level_meter, _route->name());
@@ -373,14 +395,20 @@ MeterStrip::strip_property_changed (const PropertyChange& what_changed)
}
void
+MeterStrip::route_color_changed ()
+{
+ number_label.set_fixed_colors (gdk_color_to_rgba (color()), gdk_color_to_rgba (color()));
+}
+
+
+void
MeterStrip::fast_update ()
{
float mpeak = level_meter->update_meters();
if (mpeak > max_peak) {
max_peak = mpeak;
if (mpeak >= Config->get_meter_peak()) {
- peak_display.set_name ("meterbridge peakindicator on");
- peak_display.set_elements((ArdourButton::Element) (ArdourButton::Edge|ArdourButton::Body));
+ peak_display.set_active_state ( Gtkmm2ext::ExplicitActive );
}
}
}
@@ -503,10 +531,16 @@ MeterStrip::on_size_allocate (Gtk::Allocation& a)
nh = 148;
break;
}
- namebx.set_size_request(18, nh);
+ int tnh = 0;
+ if (_session && _session->config.get_track_name_number()) {
+ // NB numbers are rotated 90deg. on the meterbridge
+ tnh = 4 + std::max(2u, _session->track_number_decimals()) * 8; // TODO 8 = max_with_of_digit_0_to_9()
+ }
+ namebx.set_size_request(18, nh + tnh);
+ namenumberbx.set_size_request(18, nh + tnh);
if (_route) {
- name_label.set_size_request(18, nh-2);
- name_label.layout()->set_width((nh-4) * PANGO_SCALE);
+ name_label.set_size_request(18, nh + (_route->is_master() ? tnh : -1));
+ name_label.set_layout_ellisize_width ((nh - 4 + (_route->is_master() ? tnh : 0)) * PANGO_SCALE);
}
VBox::on_size_allocate(a);
}
@@ -619,8 +653,7 @@ MeterStrip::reset_peak_display ()
_route->shared_peak_meter()->reset_max();
level_meter->clear_meters();
max_peak = -INFINITY;
- peak_display.set_name ("meterbridge peakindicator");
- peak_display.set_elements((ArdourButton::Element) (ArdourButton::Edge|ArdourButton::Body));
+ peak_display.set_active_state ( Gtkmm2ext::Off );
}
bool
@@ -635,7 +668,7 @@ MeterStrip::peak_button_release (GdkEventButton* ev)
} else {
ResetRoutePeakDisplays (_route.get());
}
- return true;
+ return false;
}
void
@@ -652,32 +685,32 @@ MeterStrip::update_button_box ()
if (!_session) return;
int height = 0;
if (_session->config.get_show_mute_on_meterbridge()) {
- height += 18;
+ height += 20;
mutebox.show();
} else {
mutebox.hide();
}
if (_session->config.get_show_solo_on_meterbridge()) {
- height += 18;
+ height += 20;
solobox.show();
} else {
solobox.hide();
}
if (_session->config.get_show_rec_on_meterbridge()) {
- height += 18;
+ height += 20;
recbox.show();
} else {
recbox.hide();
}
if (_session->config.get_show_monitor_on_meterbridge()) {
- height += 18 + 18;
+ height += 20 + 20;
mon_in_box.show();
mon_disk_box.show();
} else {
mon_in_box.hide();
mon_disk_box.hide();
}
- btnbox.set_size_request(16, height);
+ btnbox.set_size_request(18, height);
check_resize();
}
@@ -716,6 +749,33 @@ MeterStrip::parameter_changed (std::string const & p)
else if (p == "meterbridge-label-height") {
queue_resize();
}
+ else if (p == "track-name-number") {
+ name_changed();
+ queue_resize();
+ }
+}
+
+void
+MeterStrip::name_changed () {
+ if (!_route) {
+ return;
+ }
+ name_label.set_text(_route->name ());
+ if (_session && _session->config.get_track_name_number()) {
+ const int64_t track_number = _route->track_number ();
+ if (track_number == 0) {
+ number_label.set_text("-");
+ number_label.hide();
+ } else {
+ number_label.set_text (PBD::to_string (abs(_route->track_number ()), std::dec));
+ number_label.show();
+ }
+ const int tnh = 4 + std::max(2u, _session->track_number_decimals()) * 8; // TODO 8 = max_width_of_digit_0_to_9()
+ // NB numbers are rotated 90deg. on the meterbridge -> use height
+ number_label.set_size_request(18, tnh);
+ } else {
+ number_label.hide();
+ }
}
bool
diff --git a/gtk2_ardour/meter_strip.h b/gtk2_ardour/meter_strip.h
index e1bae71326..d8370b45f0 100644
--- a/gtk2_ardour/meter_strip.h
+++ b/gtk2_ardour/meter_strip.h
@@ -74,7 +74,7 @@ class MeterStrip : public Gtk::VBox, public RouteUI
protected:
boost::shared_ptr<ARDOUR::Route> _route;
- PBD::ScopedConnectionList route_connections;
+ PBD::ScopedConnectionList meter_route_connections;
PBD::ScopedConnectionList level_meter_connection;
void self_delete ();
@@ -88,7 +88,7 @@ class MeterStrip : public Gtk::VBox, public RouteUI
void on_size_request (Gtk::Requisition*);
/* route UI */
- void update_rec_display ();
+ void blink_rec_display (bool onoff);
std::string state_id() const;
void set_button_names ();
@@ -100,7 +100,9 @@ class MeterStrip : public Gtk::VBox, public RouteUI
Gtk::HBox meterbox;
Gtk::HBox spacer;
Gtk::HBox namebx;
+ Gtk::VBox namenumberbx;
ArdourButton name_label;
+ ArdourButton number_label;
Gtk::DrawingArea meter_metric_area;
Gtk::DrawingArea meter_ticks1_area;
Gtk::DrawingArea meter_ticks2_area;
@@ -128,7 +130,6 @@ class MeterStrip : public Gtk::VBox, public RouteUI
LevelMeterHBox *level_meter;
- PBD::ScopedConnection _config_connection;
void strip_property_changed (const PBD::PropertyChange&);
void meter_configuration_changed (ARDOUR::ChanCount);
void meter_type_changed (ARDOUR::MeterType);
@@ -140,6 +141,9 @@ class MeterStrip : public Gtk::VBox, public RouteUI
void redraw_metrics ();
void update_button_box ();
void update_name_box ();
+ void name_changed ();
+
+ void route_color_changed ();
bool _suspend_menu_callbacks;
bool level_meter_button_release (GdkEventButton* ev);
diff --git a/gtk2_ardour/meterbridge.cc b/gtk2_ardour/meterbridge.cc
index 4d2a0c7b3b..bb5c4b8eca 100644
--- a/gtk2_ardour/meterbridge.cc
+++ b/gtk2_ardour/meterbridge.cc
@@ -40,6 +40,7 @@
#include "ardour/audio_track.h"
#include "ardour/midi_track.h"
+#include "ardour/route_sorters.h"
#include "meterbridge.h"
@@ -57,6 +58,7 @@
#include "i18n.h"
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtk;
using namespace Glib;
@@ -78,24 +80,6 @@ Meterbridge::instance ()
return _instance;
}
-/* copy from gtk2_ardour/mixer_ui.cc -- TODO consolidate
- * used by Meterbridge::set_session() below
- */
-struct SignalOrderRouteSorter {
- bool operator() (boost::shared_ptr<Route> a, boost::shared_ptr<Route> b) {
- if (a->is_master() || a->is_monitor()) {
- /* "a" is a special route (master, monitor, etc), and comes
- * last in the mixer ordering
- */
- return false;
- } else if (b->is_master() || b->is_monitor()) {
- /* everything comes before b */
- return true;
- }
- return a->order_key () < b->order_key ();
- }
-};
-
Meterbridge::Meterbridge ()
: Window (Gtk::WINDOW_TOPLEVEL)
, VisibilityTracker (*((Gtk::Window*) this))
@@ -408,7 +392,7 @@ Meterbridge::on_scroll()
ARDOUR::MeterType mt_right = _mt_right;
for (unsigned int i = 0; i < _metrics.size(); ++i) {
- int sx, dx, dy;
+ int sx, dx = 0, dy = 0;
int mm = _metrics[i]->get_metric_mode();
sx = (mm & 2) ? _metrics[i]->get_width() : 0;
@@ -450,7 +434,7 @@ Meterbridge::set_session (Session* s)
_show_master = _session->config.get_show_master_on_meterbridge();
_show_midi = _session->config.get_show_midi_on_meterbridge();
- SignalOrderRouteSorter sorter;
+ ARDOUR::SignalOrderRouteSorter sorter;
boost::shared_ptr<RouteList> routes = _session->get_routes();
RouteList copy(*routes);
@@ -812,6 +796,12 @@ Meterbridge::parameter_changed (std::string const & p)
else if (p == "meterbridge-label-height") {
scroller.queue_resize();
}
+ else if (p == "show-monitor-on-meterbridge") {
+ scroller.queue_resize();
+ }
+ else if (p == "track-name-number") {
+ scroller.queue_resize();
+ }
}
void
diff --git a/gtk2_ardour/midi_automation_line.cc b/gtk2_ardour/midi_automation_line.cc
index 971944266f..e5f30493d7 100644
--- a/gtk2_ardour/midi_automation_line.cc
+++ b/gtk2_ardour/midi_automation_line.cc
@@ -29,12 +29,12 @@ using namespace std;
MidiAutomationLine::MidiAutomationLine (
const std::string& name,
TimeAxisView& tav,
- ArdourCanvas::Group& group,
+ ArdourCanvas::Item& parent,
boost::shared_ptr<ARDOUR::AutomationList> list,
boost::shared_ptr<ARDOUR::MidiRegion> region,
Evoral::Parameter parameter,
Evoral::TimeConverter<double, ARDOUR::framepos_t>* converter)
- : AutomationLine (name, tav, group, list, converter)
+ : AutomationLine (name, tav, parent, list, converter)
, _region (region)
, _parameter (parameter)
{
diff --git a/gtk2_ardour/midi_automation_line.h b/gtk2_ardour/midi_automation_line.h
index df4db06c2c..3748c35bd4 100644
--- a/gtk2_ardour/midi_automation_line.h
+++ b/gtk2_ardour/midi_automation_line.h
@@ -26,7 +26,7 @@
class MidiAutomationLine : public AutomationLine
{
public:
- MidiAutomationLine (const std::string&, TimeAxisView&, ArdourCanvas::Group&,
+ MidiAutomationLine (const std::string&, TimeAxisView&, ArdourCanvas::Item&,
boost::shared_ptr<ARDOUR::AutomationList>,
boost::shared_ptr<ARDOUR::MidiRegion>,
Evoral::Parameter,
diff --git a/gtk2_ardour/midi_channel_selector.cc b/gtk2_ardour/midi_channel_selector.cc
index 2f5ca729a6..b51584aef5 100644
--- a/gtk2_ardour/midi_channel_selector.cc
+++ b/gtk2_ardour/midi_channel_selector.cc
@@ -516,7 +516,7 @@ MidiChannelSelectorWindow::set_playback_selected_channels (uint16_t mask)
case ForceChannel:
/* only set the lowest set channel in the mask as active */
for (uint16_t i = 0; i < 16; i++) {
- playback_buttons[i]->set_active (i == (ffs (mask) - 1));
+ playback_buttons[i]->set_active (i == (PBD::ffs (mask) - 1));
}
break;
}
@@ -539,7 +539,7 @@ MidiChannelSelectorWindow::set_capture_selected_channels (uint16_t mask)
case ForceChannel:
/* only set the lowest set channel in the mask as active */
for (uint16_t i = 0; i < 16; i++) {
- capture_buttons[i]->set_active (i == (ffs (mask) - 1));
+ capture_buttons[i]->set_active (i == (PBD::ffs (mask) - 1));
}
break;
}
@@ -595,7 +595,7 @@ MidiChannelSelectorWindow::playback_mode_changed ()
case ForceChannel:
if (last_drawn_playback_mode == AllChannels || last_drawn_playback_mode == FilterChannels) {
playback_buttons.clear ();
- first_channel = ffs (track->get_playback_channel_mask()) - 1;
+ first_channel = PBD::ffs (track->get_playback_channel_mask()) - 1;
}
for (vector<Widget*>::iterator i = playback_mask_controls.begin(); i != playback_mask_controls.end(); ++i) {
(*i)->set_sensitive (false);
@@ -693,7 +693,7 @@ MidiChannelSelectorWindow::capture_mode_changed ()
case ForceChannel:
if (last_drawn_capture_mode == AllChannels || last_drawn_capture_mode == FilterChannels) {
capture_buttons.clear ();
- first_channel = ffs (track->get_capture_channel_mask()) - 1;
+ first_channel = PBD::ffs (track->get_capture_channel_mask()) - 1;
}
for (vector<Widget*>::iterator i = capture_mask_controls.begin(); i != capture_mask_controls.end(); ++i) {
(*i)->set_sensitive (false);
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc
index 9925a52c5c..c782c84585 100644
--- a/gtk2_ardour/midi_region_view.cc
+++ b/gtk2_ardour/midi_region_view.cc
@@ -43,12 +43,11 @@
#include "evoral/Control.hpp"
#include "evoral/midi_util.h"
+#include "canvas/debug.h"
+#include "canvas/text.h"
+
#include "automation_region_view.h"
#include "automation_time_axis.h"
-#include "canvas-hit.h"
-#include "canvas-note.h"
-#include "canvas_patch_change.h"
-#include "canvas-sysex.h"
#include "debug.h"
#include "editor.h"
#include "editor_drag.h"
@@ -69,31 +68,33 @@
#include "route_time_axis.h"
#include "rgb_macros.h"
#include "selection.h"
-#include "simpleline.h"
#include "streamview.h"
-#include "utils.h"
#include "patch_change_dialog.h"
#include "verbose_cursor.h"
+#include "ardour_ui.h"
+#include "note.h"
+#include "hit.h"
+#include "patch_change.h"
+#include "sys_ex.h"
#include "i18n.h"
using namespace ARDOUR;
using namespace PBD;
using namespace Editing;
-using namespace ArdourCanvas;
using Gtkmm2ext::Keyboard;
PBD::Signal1<void, MidiRegionView *> MidiRegionView::SelectionCleared;
#define MIDI_BP_ZERO ((Config->get_first_midi_bank_is_zero())?0:1)
-MidiRegionView::MidiRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &tv,
- boost::shared_ptr<MidiRegion> r, double spu, Gdk::Color const & basic_color)
+MidiRegionView::MidiRegionView (ArdourCanvas::Container *parent, RouteTimeAxisView &tv,
+ boost::shared_ptr<MidiRegion> r, double spu, uint32_t basic_color)
: RegionView (parent, tv, r, spu, basic_color)
, _current_range_min(0)
, _current_range_max(0)
, _active_notes(0)
- , _note_group(new ArdourCanvas::Group(*group))
+ , _note_group (new ArdourCanvas::Container (group))
, _note_diff_command (0)
, _ghost_note(0)
, _step_edit_cursor (0)
@@ -113,6 +114,7 @@ MidiRegionView::MidiRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &
, pre_press_cursor (0)
, _note_player (0)
{
+ CANVAS_DEBUG_NAME (_note_group, string_compose ("note group for %1", get_item_name()));
_note_group->raise_to_top();
PublicEditor::DropDownKeys.connect (sigc::mem_fun (*this, &MidiRegionView::drop_down_keys));
@@ -122,14 +124,14 @@ MidiRegionView::MidiRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &
SelectionCleared.connect (_selection_cleared_connection, invalidator (*this), boost::bind (&MidiRegionView::selection_cleared, this, _1), gui_context ());
}
-MidiRegionView::MidiRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &tv,
- boost::shared_ptr<MidiRegion> r, double spu, Gdk::Color& basic_color,
+MidiRegionView::MidiRegionView (ArdourCanvas::Container *parent, RouteTimeAxisView &tv,
+ boost::shared_ptr<MidiRegion> r, double spu, uint32_t basic_color,
TimeAxisViewItem::Visibility visibility)
: RegionView (parent, tv, r, spu, basic_color, false, visibility)
, _current_range_min(0)
, _current_range_max(0)
, _active_notes(0)
- , _note_group(new ArdourCanvas::Group(*parent))
+ , _note_group (new ArdourCanvas::Container (parent))
, _note_diff_command (0)
, _ghost_note(0)
, _step_edit_cursor (0)
@@ -149,7 +151,9 @@ MidiRegionView::MidiRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &
, pre_press_cursor (0)
, _note_player (0)
{
+ CANVAS_DEBUG_NAME (_note_group, string_compose ("note group for %1", get_item_name()));
_note_group->raise_to_top();
+
PublicEditor::DropDownKeys.connect (sigc::mem_fun (*this, &MidiRegionView::drop_down_keys));
connect_to_diskstream ();
@@ -160,7 +164,7 @@ MidiRegionView::MidiRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &
void
MidiRegionView::parameter_changed (std::string const & p)
{
- if (p == "diplay-first-midi-bank-as-zero") {
+ if (p == "display-first-midi-bank-as-zero") {
if (_enable_display) {
redisplay_model();
}
@@ -173,7 +177,7 @@ MidiRegionView::MidiRegionView (const MidiRegionView& other)
, _current_range_min(0)
, _current_range_max(0)
, _active_notes(0)
- , _note_group(new ArdourCanvas::Group(*get_canvas_group()))
+ , _note_group (new ArdourCanvas::Container (get_canvas_group()))
, _note_diff_command (0)
, _ghost_note(0)
, _step_edit_cursor (0)
@@ -193,13 +197,7 @@ MidiRegionView::MidiRegionView (const MidiRegionView& other)
, pre_press_cursor (0)
, _note_player (0)
{
- Gdk::Color c;
- int r,g,b,a;
-
- UINT_TO_RGBA (other.fill_color, &r, &g, &b, &a);
- c.set_rgb_p (r/255.0, g/255.0, b/255.0);
-
- init (c, false);
+ init (false);
}
MidiRegionView::MidiRegionView (const MidiRegionView& other, boost::shared_ptr<MidiRegion> region)
@@ -207,7 +205,7 @@ MidiRegionView::MidiRegionView (const MidiRegionView& other, boost::shared_ptr<M
, _current_range_min(0)
, _current_range_max(0)
, _active_notes(0)
- , _note_group(new ArdourCanvas::Group(*get_canvas_group()))
+ , _note_group (new ArdourCanvas::Container (get_canvas_group()))
, _note_diff_command (0)
, _ghost_note(0)
, _step_edit_cursor (0)
@@ -227,24 +225,18 @@ MidiRegionView::MidiRegionView (const MidiRegionView& other, boost::shared_ptr<M
, pre_press_cursor (0)
, _note_player (0)
{
- Gdk::Color c;
- int r,g,b,a;
-
- UINT_TO_RGBA (other.fill_color, &r, &g, &b, &a);
- c.set_rgb_p (r/255.0, g/255.0, b/255.0);
-
- init (c, true);
+ init (true);
}
void
-MidiRegionView::init (Gdk::Color const & basic_color, bool wfd)
+MidiRegionView::init (bool wfd)
{
PublicEditor::DropDownKeys.connect (sigc::mem_fun (*this, &MidiRegionView::drop_down_keys));
- CanvasNoteEvent::CanvasNoteEventDeleted.connect (note_delete_connection, MISSING_INVALIDATOR,
- boost::bind (&MidiRegionView::maybe_remove_deleted_note_from_selection, this, _1),
- gui_context());
-
+ NoteBase::NoteBaseDeleted.connect (note_delete_connection, MISSING_INVALIDATOR,
+ boost::bind (&MidiRegionView::maybe_remove_deleted_note_from_selection, this, _1),
+ gui_context());
+
if (wfd) {
midi_region()->midi_source(0)->load_model();
}
@@ -252,9 +244,7 @@ MidiRegionView::init (Gdk::Color const & basic_color, bool wfd)
_model = midi_region()->midi_source(0)->model();
_enable_display = false;
- RegionView::init (basic_color, false);
-
- compute_colors (basic_color);
+ RegionView::init (false);
set_height (trackview.current_height());
@@ -275,8 +265,6 @@ MidiRegionView::init (Gdk::Color const & basic_color, bool wfd)
reset_width_dependent_items (_pixel_width);
group->raise_to_top();
- group->signal_event().connect (sigc::mem_fun (this, &MidiRegionView::canvas_event), false);
-
midi_view()->midi_track()->PlaybackChannelModeChanged.connect (_channel_mode_changed_connection, invalidator (*this),
boost::bind (&MidiRegionView::midi_channel_mode_changed, this),
@@ -318,7 +306,7 @@ MidiRegionView::connect_to_diskstream ()
}
bool
-MidiRegionView::canvas_event(GdkEvent* ev)
+MidiRegionView::canvas_group_event(GdkEvent* ev)
{
bool r;
@@ -348,8 +336,8 @@ MidiRegionView::canvas_event(GdkEvent* ev)
if ((!trackview.editor().internal_editing() && trackview.editor().current_mouse_mode() != MouseGain) ||
(trackview.editor().current_mouse_mode() == MouseTimeFX) ||
(trackview.editor().current_mouse_mode() == MouseZoom)) {
- // handle non-draw modes elsewhere
- return false;
+ // handle non-internal-edit/non-draw modes elsewhere
+ return RegionView::canvas_group_event (ev);
}
switch (ev->type) {
@@ -384,14 +372,7 @@ MidiRegionView::canvas_event(GdkEvent* ev)
break;
}
- return false;
-}
-
-void
-MidiRegionView::remove_ghost_note ()
-{
- delete _ghost_note;
- _ghost_note = 0;
+ return trackview.editor().canvas_region_view_event (ev, group, this);
}
bool
@@ -496,8 +477,8 @@ MidiRegionView::button_release (GdkEventButton* ev)
event_x = ev->x;
event_y = ev->y;
- group->w2i(event_x, event_y);
- group->ungrab(ev->time);
+ group->canvas_to_item (event_x, event_y);
+ group->ungrab ();
PublicEditor& editor = trackview.editor ();
@@ -526,10 +507,10 @@ MidiRegionView::button_release (GdkEventButton* ev)
event_x = ev->x;
event_y = ev->y;
- group->w2i(event_x, event_y);
+ group->canvas_to_item (event_x, event_y);
bool success;
- Evoral::MusicalTime beats = editor.get_grid_type_as_beats (success, editor.pixel_to_frame (event_x));
+ Evoral::MusicalTime beats = editor.get_grid_type_as_beats (success, editor.pixel_to_sample (event_x));
if (!success) {
beats = 1;
@@ -540,7 +521,7 @@ MidiRegionView::button_release (GdkEventButton* ev)
*/
beats -= 1.0 / Timecode::BBT_Time::ticks_per_beat;
- create_note_at (editor.pixel_to_frame (event_x), event_y, beats, true);
+ create_note_at (editor.pixel_to_sample (event_x), event_y, beats, true);
}
break;
@@ -548,7 +529,7 @@ MidiRegionView::button_release (GdkEventButton* ev)
case MouseDraw:
{
bool success;
- Evoral::MusicalTime beats = editor.get_grid_type_as_beats (success, editor.pixel_to_frame (event_x));
+ Evoral::MusicalTime beats = editor.get_grid_type_as_beats (success, editor.pixel_to_sample (event_x));
if (!success) {
beats = 1;
@@ -559,7 +540,7 @@ MidiRegionView::button_release (GdkEventButton* ev)
*/
beats -= 1.0 / Timecode::BBT_Time::ticks_per_beat;
- create_note_at (editor.pixel_to_frame (event_x), event_y, beats, true);
+ create_note_at (editor.pixel_to_sample (event_x), event_y, beats, true);
break;
}
@@ -625,7 +606,6 @@ MidiRegionView::motion (GdkEventMotion* ev)
MouseMode m = editor.current_mouse_mode();
if (m == MouseDraw || (m == MouseObject && Keyboard::modifier_state_contains (ev->state, Keyboard::insert_note_modifier()))) {
-
editor.drags()->set (new NoteCreateDrag (dynamic_cast<Editor *> (&editor), group, this), (GdkEvent *) ev);
_mouse_state = AddDragging;
remove_ghost_note ();
@@ -656,9 +636,13 @@ MidiRegionView::motion (GdkEventMotion* ev)
default:
break;
+
}
- return false;
+ /* we may be dragging some non-note object (eg. patch-change, sysex)
+ */
+
+ return editor.drags()->motion_handler ((GdkEvent *) ev, false);
}
@@ -995,7 +979,7 @@ MidiRegionView::note_diff_add_note (const boost::shared_ptr<NoteType> note, bool
}
void
-MidiRegionView::note_diff_remove_note (ArdourCanvas::CanvasNoteEvent* ev)
+MidiRegionView::note_diff_remove_note (NoteBase* ev)
{
if (_note_diff_command && ev->note()) {
_note_diff_command->remove(ev->note());
@@ -1003,7 +987,7 @@ MidiRegionView::note_diff_remove_note (ArdourCanvas::CanvasNoteEvent* ev)
}
void
-MidiRegionView::note_diff_add_change (ArdourCanvas::CanvasNoteEvent* ev,
+MidiRegionView::note_diff_add_change (NoteBase* ev,
MidiModel::NoteDiffCommand::Property property,
uint8_t val)
{
@@ -1013,7 +997,7 @@ MidiRegionView::note_diff_add_change (ArdourCanvas::CanvasNoteEvent* ev,
}
void
-MidiRegionView::note_diff_add_change (ArdourCanvas::CanvasNoteEvent* ev,
+MidiRegionView::note_diff_add_change (NoteBase* ev,
MidiModel::NoteDiffCommand::Property property,
Evoral::MusicalTime val)
{
@@ -1062,7 +1046,7 @@ MidiRegionView::abort_command()
clear_selection();
}
-CanvasNoteEvent*
+NoteBase*
MidiRegionView::find_canvas_note (boost::shared_ptr<NoteType> note)
{
if (_optimization_iterator != _events.end()) {
@@ -1089,7 +1073,7 @@ MidiRegionView::get_events (Events& e, Evoral::Sequence<Evoral::MusicalTime>::No
_model->get_notes (notes, op, val, chan_mask);
for (MidiModel::Notes::iterator n = notes.begin(); n != notes.end(); ++n) {
- CanvasNoteEvent* cne = find_canvas_note (*n);
+ NoteBase* cne = find_canvas_note (*n);
if (cne) {
e.push_back (cne);
}
@@ -1117,24 +1101,26 @@ MidiRegionView::redisplay_model()
MidiModel::Notes& notes (_model->notes());
_optimization_iterator = _events.begin();
+ bool empty_when_starting = _events.empty();
+
for (MidiModel::Notes::iterator n = notes.begin(); n != notes.end(); ++n) {
boost::shared_ptr<NoteType> note (*n);
- CanvasNoteEvent* cne;
+ NoteBase* cne;
bool visible;
if (note_in_region_range (note, visible)) {
-
- if ((cne = find_canvas_note (note)) != 0) {
+
+ if (!empty_when_starting && (cne = find_canvas_note (note)) != 0) {
cne->validate ();
- CanvasNote* cn;
- CanvasHit* ch;
+ Note* cn;
+ Hit* ch;
- if ((cn = dynamic_cast<CanvasNote*>(cne)) != 0) {
+ if ((cn = dynamic_cast<Note*>(cne)) != 0) {
update_note (cn);
- } else if ((ch = dynamic_cast<CanvasHit*>(cne)) != 0) {
+ } else if ((ch = dynamic_cast<Hit*>(cne)) != 0) {
update_hit (ch);
}
@@ -1150,8 +1136,8 @@ MidiRegionView::redisplay_model()
}
} else {
-
- if ((cne = find_canvas_note (note)) != 0) {
+
+ if (!empty_when_starting && (cne = find_canvas_note (note)) != 0) {
cne->validate ();
cne->hide ();
}
@@ -1161,21 +1147,23 @@ MidiRegionView::redisplay_model()
/* remove note items that are no longer valid */
- for (Events::iterator i = _events.begin(); i != _events.end(); ) {
- if (!(*i)->valid ()) {
-
- for (vector<GhostRegion*>::iterator j = ghosts.begin(); j != ghosts.end(); ++j) {
- MidiGhostRegion* gr = dynamic_cast<MidiGhostRegion*> (*j);
- if (gr) {
- gr->remove_note (*i);
+ if (!empty_when_starting) {
+ for (Events::iterator i = _events.begin(); i != _events.end(); ) {
+ if (!(*i)->valid ()) {
+
+ for (vector<GhostRegion*>::iterator j = ghosts.begin(); j != ghosts.end(); ++j) {
+ MidiGhostRegion* gr = dynamic_cast<MidiGhostRegion*> (*j);
+ if (gr) {
+ gr->remove_note (*i);
+ }
}
+
+ delete *i;
+ i = _events.erase (i);
+
+ } else {
+ ++i;
}
-
- delete *i;
- i = _events.erase (i);
-
- } else {
- ++i;
}
}
@@ -1289,12 +1277,15 @@ MidiRegionView::display_sysexes()
}
string text = str.str();
- const double x = trackview.editor().frame_to_pixel(source_beats_to_region_frames(time));
+ const double x = trackview.editor().sample_to_pixel(source_beats_to_region_frames(time));
double height = midi_stream_view()->contents_height();
- boost::shared_ptr<CanvasSysEx> sysex = boost::shared_ptr<CanvasSysEx>(
- new CanvasSysEx(*this, *_note_group, text, height, x, 1.0, (*i)));
+ // CAIROCANVAS: no longer passing *i (the sysex event) to the
+ // SysEx canvas object!!!
+
+ boost::shared_ptr<SysEx> sysex = boost::shared_ptr<SysEx>(
+ new SysEx (*this, _note_group, text, height, x, 1.0));
// Show unless message is beyond the region bounds
if (time - _region->start() >= _region->length() || time < _region->start()) {
@@ -1357,7 +1348,7 @@ MidiRegionView::reset_width_dependent_items (double pixel_width)
}
for (PatchChanges::iterator x = _patch_changes.begin(); x != _patch_changes.end(); ++x) {
- if ((*x)->width() >= _pixel_width) {
+ if ((*x)->canvas_item()->width() >= _pixel_width) {
(*x)->hide();
} else {
(*x)->show();
@@ -1371,17 +1362,15 @@ MidiRegionView::reset_width_dependent_items (double pixel_width)
void
MidiRegionView::set_height (double height)
{
- static const double FUDGE = 2.0;
- const double old_height = _height;
+ double old_height = _height;
RegionView::set_height(height);
- _height = height - FUDGE;
- apply_note_range(midi_stream_view()->lowest_note(),
- midi_stream_view()->highest_note(),
- height != old_height + FUDGE);
+ apply_note_range (midi_stream_view()->lowest_note(),
+ midi_stream_view()->highest_note(),
+ height != old_height);
- if (name_pixbuf) {
- name_pixbuf->raise_to_top();
+ if (name_text) {
+ name_text->raise_to_top();
}
for (PatchChanges::iterator x = _patch_changes.begin(); x != _patch_changes.end(); ++x) {
@@ -1389,7 +1378,7 @@ MidiRegionView::set_height (double height)
}
if (_step_edit_cursor) {
- _step_edit_cursor->property_y2() = midi_stream_view()->contents_height();
+ _step_edit_cursor->set_y1 (midi_stream_view()->contents_height());
}
}
@@ -1412,7 +1401,7 @@ MidiRegionView::apply_note_range (uint8_t min, uint8_t max, bool force)
_current_range_max = max;
for (Events::const_iterator i = _events.begin(); i != _events.end(); ++i) {
- CanvasNoteEvent* event = *i;
+ NoteBase* event = *i;
boost::shared_ptr<NoteType> note (event->note());
if (note->note() < _current_range_min ||
@@ -1422,19 +1411,16 @@ MidiRegionView::apply_note_range (uint8_t min, uint8_t max, bool force)
event->show();
}
- if (CanvasNote* cnote = dynamic_cast<CanvasNote*>(event)) {
+ if (Note* cnote = dynamic_cast<Note*>(event)) {
- const double y1 = midi_stream_view()->note_to_y(note->note());
- const double y2 = y1 + floor(midi_stream_view()->note_height());
+ const double y0 = 1. + floor (midi_stream_view()->note_to_y(note->note()));
+ const double y1 = y0 + std::max(1., floor(midi_stream_view()->note_height()) - 1.);
- cnote->property_y1() = y1;
- cnote->property_y2() = y2;
+ cnote->set_y0 (y0);
+ cnote->set_y1 (y1);
- } else if (CanvasHit* chit = dynamic_cast<CanvasHit*>(event)) {
-
- const double diamond_size = update_hit (chit);
-
- chit->set_height (diamond_size);
+ } else if (Hit* chit = dynamic_cast<Hit*>(event)) {
+ update_hit (chit);
}
}
}
@@ -1442,9 +1428,9 @@ MidiRegionView::apply_note_range (uint8_t min, uint8_t max, bool force)
GhostRegion*
MidiRegionView::add_ghost (TimeAxisView& tv)
{
- CanvasNote* note;
+ Note* note;
- double unit_position = _region->position () / samples_per_unit;
+ double unit_position = _region->position () / samples_per_pixel;
MidiTimeAxisView* mtv = dynamic_cast<MidiTimeAxisView*>(&tv);
MidiGhostRegion* ghost;
@@ -1458,13 +1444,13 @@ MidiRegionView::add_ghost (TimeAxisView& tv)
}
for (Events::iterator i = _events.begin(); i != _events.end(); ++i) {
- if ((note = dynamic_cast<CanvasNote*>(*i)) != 0) {
+ if ((note = dynamic_cast<Note*>(*i)) != 0) {
ghost->add_note(note);
}
}
ghost->set_height ();
- ghost->set_duration (_region->length() / samples_per_unit);
+ ghost->set_duration (_region->length() / samples_per_pixel);
ghosts.push_back (ghost);
GhostRegion::CatchDeletion.connect (*this, invalidator (*this), boost::bind (&RegionView::remove_ghost, this, _1), gui_context());
@@ -1481,7 +1467,7 @@ MidiRegionView::begin_write()
if (_active_notes) {
delete[] _active_notes;
}
- _active_notes = new CanvasNote*[128];
+ _active_notes = new Note*[128];
for (unsigned i = 0; i < 128; ++i) {
_active_notes[i] = 0;
}
@@ -1517,9 +1503,10 @@ MidiRegionView::resolve_note(uint8_t note, double end_time)
*/
const framepos_t end_time_frames = region_beats_to_region_frames(end_time);
- _active_notes[note]->property_x2() = trackview.editor().frame_to_pixel(end_time_frames);
- _active_notes[note]->property_outline_what() = (guint32) 0xF; // all edges
+ _active_notes[note]->set_x1 (trackview.editor().sample_to_pixel(end_time_frames));
+ _active_notes[note]->set_outline_all ();
_active_notes[note] = 0;
+
}
}
@@ -1535,7 +1522,7 @@ MidiRegionView::extend_active_notes()
for (unsigned i=0; i < 128; ++i) {
if (_active_notes[i]) {
- _active_notes[i]->property_x2() = trackview.editor().frame_to_pixel(_region->length());
+ _active_notes[i]->set_x1 (trackview.editor().sample_to_pixel(_region->length()));
}
}
}
@@ -1621,43 +1608,46 @@ MidiRegionView::note_in_region_range (const boost::shared_ptr<NoteType> note, bo
* @param update_ghost_regions true to update the note in any ghost regions that we have, otherwise false.
*/
void
-MidiRegionView::update_note (CanvasNote* ev, bool update_ghost_regions)
+MidiRegionView::update_note (Note* ev, bool update_ghost_regions)
{
boost::shared_ptr<NoteType> note = ev->note();
- const double x = trackview.editor().frame_to_pixel (source_beats_to_region_frames (note->time()));
- const double y1 = midi_stream_view()->note_to_y(note->note());
+ const double x = trackview.editor().sample_to_pixel (source_beats_to_region_frames (note->time()));
+ const double y0 = 1 + floor(midi_stream_view()->note_to_y(note->note()));
- ev->property_x1() = x;
- ev->property_y1() = y1;
+ ev->set_x0 (x);
+ ev->set_y0 (y0);
/* trim note display to not overlap the end of its region */
if (note->length() > 0) {
const framepos_t note_end_frames = min (source_beats_to_region_frames (note->end_time()), _region->length());
- ev->property_x2() = trackview.editor().frame_to_pixel (note_end_frames);
+ ev->set_x1 (trackview.editor().sample_to_pixel (note_end_frames));
} else {
- ev->property_x2() = trackview.editor().frame_to_pixel (_region->length());
+ ev->set_x1 (trackview.editor().sample_to_pixel (_region->length()));
}
- ev->property_y2() = y1 + floor(midi_stream_view()->note_height());
+ ev->set_y1 (y0 + std::max(1., floor(midi_stream_view()->note_height()) - 1));
if (note->length() == 0) {
if (_active_notes && note->note() < 128) {
// If this note is already active there's a stuck note,
// finish the old note rectangle
if (_active_notes[note->note()]) {
- CanvasNote* const old_rect = _active_notes[note->note()];
+ Note* const old_rect = _active_notes[note->note()];
boost::shared_ptr<NoteType> old_note = old_rect->note();
- old_rect->property_x2() = x;
- old_rect->property_outline_what() = (guint32) 0xF;
+ old_rect->set_x1 (x);
+ old_rect->set_outline_all ();
}
_active_notes[note->note()] = ev;
}
/* outline all but right edge */
- ev->property_outline_what() = (guint32) (0x1 & 0x4 & 0x8);
+ ev->set_outline_what (ArdourCanvas::Rectangle::What (
+ ArdourCanvas::Rectangle::TOP|
+ ArdourCanvas::Rectangle::LEFT|
+ ArdourCanvas::Rectangle::BOTTOM));
} else {
/* outline all edges */
- ev->property_outline_what() = (guint32) 0xF;
+ ev->set_outline_all ();
}
if (update_ghost_regions) {
@@ -1670,19 +1660,18 @@ MidiRegionView::update_note (CanvasNote* ev, bool update_ghost_regions)
}
}
-double
-MidiRegionView::update_hit (CanvasHit* ev)
+void
+MidiRegionView::update_hit (Hit* ev)
{
boost::shared_ptr<NoteType> note = ev->note();
const framepos_t note_start_frames = source_beats_to_region_frames(note->time());
- const double x = trackview.editor().frame_to_pixel(note_start_frames);
- const double diamond_size = midi_stream_view()->note_height() / 2.0;
- const double y = midi_stream_view()->note_to_y(note->note()) + ((diamond_size-2) / 4.0);
-
- ev->move_to (x, y);
+ const double x = trackview.editor().sample_to_pixel(note_start_frames);
+ const double diamond_size = std::max(1., floor(midi_stream_view()->note_height()) - 2.);
+ const double y = 1.5 + floor(midi_stream_view()->note_to_y(note->note())) + diamond_size * .5;
- return diamond_size;
+ ev->set_position (ArdourCanvas::Duple (x, y));
+ ev->set_height (diamond_size);
}
/** Add a MIDI note to the view (with length).
@@ -1694,13 +1683,11 @@ MidiRegionView::update_hit (CanvasHit* ev)
void
MidiRegionView::add_note(const boost::shared_ptr<NoteType> note, bool visible)
{
- CanvasNoteEvent* event = 0;
-
- //ArdourCanvas::Group* const group = (ArdourCanvas::Group*) get_canvas_group();
+ NoteBase* event = 0;
if (midi_view()->note_mode() == Sustained) {
- CanvasNote* ev_rect = new CanvasNote(*this, *_note_group, note);
+ Note* ev_rect = new Note (*this, _note_group, note);
update_note (ev_rect);
@@ -1716,9 +1703,9 @@ MidiRegionView::add_note(const boost::shared_ptr<NoteType> note, bool visible)
} else if (midi_view()->note_mode() == Percussive) {
- const double diamond_size = midi_stream_view()->note_height() / 2.0;
+ const double diamond_size = std::max(1., floor(midi_stream_view()->note_height()) - 2.);
- CanvasHit* ev_diamond = new CanvasHit (*this, *_note_group, diamond_size, note);
+ Hit* ev_diamond = new Hit (*this, _note_group, diamond_size, note);
update_hit (ev_diamond);
@@ -1795,23 +1782,27 @@ MidiRegionView::step_sustain (Evoral::MusicalTime beats)
* @param active_channel true to display the flag as on an active channel, false to grey it out for an inactive channel.
*/
void
-MidiRegionView::add_canvas_patch_change (MidiModel::PatchChangePtr patch, const string& displaytext, bool active_channel)
+MidiRegionView::add_canvas_patch_change (MidiModel::PatchChangePtr patch, const string& displaytext, bool /*active_channel*/)
{
framecnt_t region_frames = source_beats_to_region_frames (patch->time());
- const double x = trackview.editor().frame_to_pixel (region_frames);
+ const double x = trackview.editor().sample_to_pixel (region_frames);
double const height = midi_stream_view()->contents_height();
- boost::shared_ptr<CanvasPatchChange> patch_change = boost::shared_ptr<CanvasPatchChange>(
- new CanvasPatchChange(*this, *group,
- displaytext,
- height,
- x, 1.0,
- instrument_info(),
- patch,
- active_channel));
+ // CAIROCANVAS: active_channel info removed from PatcChange constructor
+ // so we need to do something more sophisticated to keep its color
+ // appearance (MidiPatchChangeFill/MidiPatchChangeInactiveChannelFill)
+ // up to date.
+
+ boost::shared_ptr<PatchChange> patch_change = boost::shared_ptr<PatchChange>(
+ new PatchChange(*this, group,
+ displaytext,
+ height,
+ x, 1.0,
+ instrument_info(),
+ patch));
- if (patch_change->width() < _pixel_width) {
+ if (patch_change->item().width() < _pixel_width) {
// Show unless patch change is beyond the region bounds
if (region_frames < 0 || region_frames >= _region->length()) {
patch_change->hide();
@@ -1865,7 +1856,7 @@ MidiRegionView::get_patch_key_at (double time, uint8_t channel, MIDI::Name::Patc
}
void
-MidiRegionView::change_patch_change (CanvasPatchChange& pc, const MIDI::Name::PatchPrimaryKey& new_patch)
+MidiRegionView::change_patch_change (PatchChange& pc, const MIDI::Name::PatchPrimaryKey& new_patch)
{
MidiModel::PatchChangeDiffCommand* c = _model->new_patch_change_diff_command (_("alter patch change"));
@@ -1937,7 +1928,7 @@ MidiRegionView::add_patch_change (framecnt_t t, Evoral::PatchChange<Evoral::Musi
}
void
-MidiRegionView::move_patch_change (CanvasPatchChange& pc, Evoral::MusicalTime t)
+MidiRegionView::move_patch_change (PatchChange& pc, Evoral::MusicalTime t)
{
MidiModel::PatchChangeDiffCommand* c = _model->new_patch_change_diff_command (_("move patch change"));
c->change_time (pc.patch (), t);
@@ -1948,7 +1939,7 @@ MidiRegionView::move_patch_change (CanvasPatchChange& pc, Evoral::MusicalTime t)
}
void
-MidiRegionView::delete_patch_change (CanvasPatchChange* pc)
+MidiRegionView::delete_patch_change (PatchChange* pc)
{
MidiModel::PatchChangeDiffCommand* c = _model->new_patch_change_diff_command (_("delete patch change"));
c->remove (pc->patch ());
@@ -1959,7 +1950,7 @@ MidiRegionView::delete_patch_change (CanvasPatchChange* pc)
}
void
-MidiRegionView::previous_patch (CanvasPatchChange& patch)
+MidiRegionView::previous_patch (PatchChange& patch)
{
if (patch.patch()->program() < 127) {
MIDI::Name::PatchPrimaryKey key = patch_change_to_patch_key (patch.patch());
@@ -1969,7 +1960,7 @@ MidiRegionView::previous_patch (CanvasPatchChange& patch)
}
void
-MidiRegionView::next_patch (CanvasPatchChange& patch)
+MidiRegionView::next_patch (PatchChange& patch)
{
if (patch.patch()->program() > 0) {
MIDI::Name::PatchPrimaryKey key = patch_change_to_patch_key (patch.patch());
@@ -1979,7 +1970,7 @@ MidiRegionView::next_patch (CanvasPatchChange& patch)
}
void
-MidiRegionView::next_bank (CanvasPatchChange& patch)
+MidiRegionView::next_bank (PatchChange& patch)
{
if (patch.patch()->program() < 127) {
MIDI::Name::PatchPrimaryKey key = patch_change_to_patch_key (patch.patch());
@@ -1991,7 +1982,7 @@ MidiRegionView::next_bank (CanvasPatchChange& patch)
}
void
-MidiRegionView::previous_bank (CanvasPatchChange& patch)
+MidiRegionView::previous_bank (PatchChange& patch)
{
if (patch.patch()->program() > 0) {
MIDI::Name::PatchPrimaryKey key = patch_change_to_patch_key (patch.patch());
@@ -2003,7 +1994,7 @@ MidiRegionView::previous_bank (CanvasPatchChange& patch)
}
void
-MidiRegionView::maybe_remove_deleted_note_from_selection (CanvasNoteEvent* cne)
+MidiRegionView::maybe_remove_deleted_note_from_selection (NoteBase* cne)
{
if (_selection.empty()) {
return;
@@ -2043,7 +2034,7 @@ MidiRegionView::delete_note (boost::shared_ptr<NoteType> n)
}
void
-MidiRegionView::clear_selection_except (ArdourCanvas::CanvasNoteEvent* ev, bool signal)
+MidiRegionView::clear_selection_except (NoteBase* ev, bool signal)
{
for (Selection::iterator i = _selection.begin(); i != _selection.end(); ) {
if ((*i) != ev) {
@@ -2070,7 +2061,7 @@ MidiRegionView::clear_selection_except (ArdourCanvas::CanvasNoteEvent* ev, bool
}
void
-MidiRegionView::unique_select(ArdourCanvas::CanvasNoteEvent* ev)
+MidiRegionView::unique_select(NoteBase* ev)
{
clear_selection_except (ev);
@@ -2123,32 +2114,39 @@ MidiRegionView::invert_selection ()
void
MidiRegionView::select_matching_notes (uint8_t notenum, uint16_t channel_mask, bool add, bool extend)
{
+ bool have_selection = !_selection.empty();
uint8_t low_note = 127;
uint8_t high_note = 0;
MidiModel::Notes& notes (_model->notes());
_optimization_iterator = _events.begin();
+
+ if (extend && !have_selection) {
+ extend = false;
+ }
+ /* scan existing selection to get note range */
+
+ for (Selection::iterator i = _selection.begin(); i != _selection.end(); ++i) {
+ if ((*i)->note()->note() < low_note) {
+ low_note = (*i)->note()->note();
+ }
+ if ((*i)->note()->note() > high_note) {
+ high_note = (*i)->note()->note();
+ }
+ }
+
if (!add) {
clear_selection ();
- }
- if (extend && _selection.empty()) {
- extend = false;
+ if (!extend && (low_note == high_note) && (high_note == notenum)) {
+ /* only note previously selected is the one we are
+ * reselecting. treat this as cancelling the selection.
+ */
+ return;
+ }
}
if (extend) {
-
- /* scan existing selection to get note range */
-
- for (Selection::iterator i = _selection.begin(); i != _selection.end(); ++i) {
- if ((*i)->note()->note() < low_note) {
- low_note = (*i)->note()->note();
- }
- if ((*i)->note()->note() > high_note) {
- high_note = (*i)->note()->note();
- }
- }
-
low_note = min (low_note, notenum);
high_note = max (high_note, notenum);
}
@@ -2158,7 +2156,7 @@ MidiRegionView::select_matching_notes (uint8_t notenum, uint16_t channel_mask, b
for (MidiModel::Notes::iterator n = notes.begin(); n != notes.end(); ++n) {
boost::shared_ptr<NoteType> note (*n);
- CanvasNoteEvent* cne;
+ NoteBase* cne;
bool select = false;
if (((1 << note->channel()) & channel_mask) != 0) {
@@ -2195,7 +2193,7 @@ MidiRegionView::toggle_matching_notes (uint8_t notenum, uint16_t channel_mask)
for (MidiModel::Notes::iterator n = notes.begin(); n != notes.end(); ++n) {
boost::shared_ptr<NoteType> note (*n);
- CanvasNoteEvent* cne;
+ NoteBase* cne;
if (note->note() == notenum && (((0x0001 << note->channel()) & channel_mask) != 0)) {
if ((cne = find_canvas_note (note)) != 0) {
@@ -2210,7 +2208,7 @@ MidiRegionView::toggle_matching_notes (uint8_t notenum, uint16_t channel_mask)
}
void
-MidiRegionView::note_selected (ArdourCanvas::CanvasNoteEvent* ev, bool add, bool extend)
+MidiRegionView::note_selected (NoteBase* ev, bool add, bool extend)
{
if (!add) {
clear_selection_except (ev);
@@ -2263,20 +2261,20 @@ MidiRegionView::note_selected (ArdourCanvas::CanvasNoteEvent* ev, bool add, bool
}
void
-MidiRegionView::note_deselected(ArdourCanvas::CanvasNoteEvent* ev)
+MidiRegionView::note_deselected(NoteBase* ev)
{
remove_from_selection (ev);
}
void
-MidiRegionView::update_drag_selection(double x1, double x2, double y1, double y2, bool extend)
+MidiRegionView::update_drag_selection(double x0, double x1, double y0, double y1, bool extend)
{
// TODO: Make this faster by storing the last updated selection rect, and only
// adjusting things that are in the area that appears/disappeared.
// We probably need a tree to be able to find events in O(log(n)) time.
for (Events::iterator i = _events.begin(); i != _events.end(); ++i) {
- if ((*i)->x1() < x2 && (*i)->x2() > x1 && (*i)->y1() < y2 && (*i)->y2() > y1) {
+ if ((*i)->x0() < x1 && (*i)->x1() > x0 && (*i)->y0() < y1 && (*i)->y1() > y0) {
// Rectangles intersect
if (!(*i)->selected()) {
add_to_selection (*i);
@@ -2312,7 +2310,7 @@ MidiRegionView::update_vertical_drag_selection (double y1, double y2, bool exten
}
void
-MidiRegionView::remove_from_selection (CanvasNoteEvent* ev)
+MidiRegionView::remove_from_selection (NoteBase* ev)
{
Selection::iterator i = _selection.find (ev);
@@ -2330,7 +2328,7 @@ MidiRegionView::remove_from_selection (CanvasNoteEvent* ev)
}
void
-MidiRegionView::add_to_selection (CanvasNoteEvent* ev)
+MidiRegionView::add_to_selection (NoteBase* ev)
{
bool add_mrv_selection = false;
@@ -2393,7 +2391,7 @@ MidiRegionView::move_selection(double dx, double dy, double cumulative_dy)
}
void
-MidiRegionView::note_dropped(CanvasNoteEvent *, frameoffset_t dt, int8_t dnote)
+MidiRegionView::note_dropped(NoteBase *, frameoffset_t dt, int8_t dnote)
{
uint8_t lowest_note_in_selection = 127;
uint8_t highest_note_in_selection = 0;
@@ -2460,10 +2458,10 @@ MidiRegionView::note_dropped(CanvasNoteEvent *, frameoffset_t dt, int8_t dnote)
* @return Snapped frame relative to the region position.
*/
framepos_t
-MidiRegionView::snap_pixel_to_frame(double x)
+MidiRegionView::snap_pixel_to_sample(double x)
{
PublicEditor& editor (trackview.editor());
- return snap_frame_to_frame (editor.pixel_to_frame (x));
+ return snap_frame_to_frame (editor.pixel_to_sample (x));
}
/** @param x Pixel relative to the region position.
@@ -2472,21 +2470,21 @@ MidiRegionView::snap_pixel_to_frame(double x)
double
MidiRegionView::snap_to_pixel(double x)
{
- return (double) trackview.editor().frame_to_pixel(snap_pixel_to_frame(x));
+ return (double) trackview.editor().sample_to_pixel(snap_pixel_to_sample(x));
}
double
MidiRegionView::get_position_pixels()
{
framepos_t region_frame = get_position();
- return trackview.editor().frame_to_pixel(region_frame);
+ return trackview.editor().sample_to_pixel(region_frame);
}
double
MidiRegionView::get_end_position_pixels()
{
framepos_t frame = get_position() + get_duration ();
- return trackview.editor().frame_to_pixel(frame);
+ return trackview.editor().sample_to_pixel(frame);
}
framepos_t
@@ -2529,33 +2527,33 @@ MidiRegionView::begin_resizing (bool /*at_front*/)
_resize_data.clear();
for (Selection::iterator i = _selection.begin(); i != _selection.end(); ++i) {
- CanvasNote *note = dynamic_cast<CanvasNote *> (*i);
+ Note *note = dynamic_cast<Note*> (*i);
// only insert CanvasNotes into the map
if (note) {
NoteResizeData *resize_data = new NoteResizeData();
- resize_data->canvas_note = note;
+ resize_data->note = note;
// create a new SimpleRect from the note which will be the resize preview
- SimpleRect *resize_rect = new SimpleRect(
- *_note_group, note->x1(), note->y1(), note->x2(), note->y2());
+ ArdourCanvas::Rectangle *resize_rect = new ArdourCanvas::Rectangle (_note_group,
+ ArdourCanvas::Rect (note->x0(), note->y0(), note->x0(), note->y1()));
// calculate the colors: get the color settings
uint32_t fill_color = UINT_RGBA_CHANGE_A(
- ARDOUR_UI::config()->canvasvar_MidiNoteSelected.get(),
+ ARDOUR_UI::config()->get_canvasvar_MidiNoteSelected(),
128);
// make the resize preview notes more transparent and bright
fill_color = UINT_INTERPOLATE(fill_color, 0xFFFFFF40, 0.5);
// calculate color based on note velocity
- resize_rect->property_fill_color_rgba() = UINT_INTERPOLATE(
- CanvasNoteEvent::meter_style_fill_color(note->note()->velocity(), note->selected()),
+ resize_rect->set_fill_color (UINT_INTERPOLATE(
+ NoteBase::meter_style_fill_color(note->note()->velocity(), note->selected()),
fill_color,
- 0.85);
+ 0.85));
- resize_rect->property_outline_color_rgba() = CanvasNoteEvent::calculate_outline(
- ARDOUR_UI::config()->canvasvar_MidiNoteSelected.get());
+ resize_rect->set_outline_color (NoteBase::calculate_outline (
+ ARDOUR_UI::config()->get_canvasvar_MidiNoteSelected()));
resize_data->resize_rect = resize_rect;
_resize_data.push_back(resize_data);
@@ -2573,41 +2571,41 @@ MidiRegionView::begin_resizing (bool /*at_front*/)
* as the \a primary note.
*/
void
-MidiRegionView::update_resizing (ArdourCanvas::CanvasNoteEvent* primary, bool at_front, double delta_x, bool relative)
+MidiRegionView::update_resizing (NoteBase* primary, bool at_front, double delta_x, bool relative)
{
bool cursor_set = false;
for (std::vector<NoteResizeData *>::iterator i = _resize_data.begin(); i != _resize_data.end(); ++i) {
- SimpleRect* resize_rect = (*i)->resize_rect;
- CanvasNote* canvas_note = (*i)->canvas_note;
+ ArdourCanvas::Rectangle* resize_rect = (*i)->resize_rect;
+ Note* canvas_note = (*i)->note;
double current_x;
if (at_front) {
if (relative) {
- current_x = canvas_note->x1() + delta_x;
+ current_x = canvas_note->x0() + delta_x;
} else {
- current_x = primary->x1() + delta_x;
+ current_x = primary->x0() + delta_x;
}
} else {
if (relative) {
- current_x = canvas_note->x2() + delta_x;
+ current_x = canvas_note->x1() + delta_x;
} else {
- current_x = primary->x2() + delta_x;
+ current_x = primary->x1() + delta_x;
}
}
if (at_front) {
- resize_rect->property_x1() = snap_to_pixel(current_x);
- resize_rect->property_x2() = canvas_note->x2();
+ resize_rect->set_x0 (snap_to_pixel(current_x));
+ resize_rect->set_x1 (canvas_note->x1());
} else {
- resize_rect->property_x2() = snap_to_pixel(current_x);
- resize_rect->property_x1() = canvas_note->x1();
+ resize_rect->set_x1 (snap_to_pixel(current_x));
+ resize_rect->set_x0 (canvas_note->x0());
}
if (!cursor_set) {
double beats;
- beats = snap_pixel_to_frame (current_x);
+ beats = snap_pixel_to_sample (current_x);
beats = region_frames_to_region_beats (beats);
double len;
@@ -2642,13 +2640,13 @@ MidiRegionView::update_resizing (ArdourCanvas::CanvasNoteEvent* primary, bool at
* Parameters the same as for \a update_resizing().
*/
void
-MidiRegionView::commit_resizing (ArdourCanvas::CanvasNoteEvent* primary, bool at_front, double delta_x, bool relative)
+MidiRegionView::commit_resizing (NoteBase* primary, bool at_front, double delta_x, bool relative)
{
start_note_diff_command (_("resize notes"));
for (std::vector<NoteResizeData *>::iterator i = _resize_data.begin(); i != _resize_data.end(); ++i) {
- CanvasNote* canvas_note = (*i)->canvas_note;
- SimpleRect* resize_rect = (*i)->resize_rect;
+ Note* canvas_note = (*i)->note;
+ ArdourCanvas::Rectangle* resize_rect = (*i)->resize_rect;
/* Get the new x position for this resize, which is in pixels relative
* to the region position.
@@ -2658,20 +2656,20 @@ MidiRegionView::commit_resizing (ArdourCanvas::CanvasNoteEvent* primary, bool at
if (at_front) {
if (relative) {
- current_x = canvas_note->x1() + delta_x;
+ current_x = canvas_note->x0() + delta_x;
} else {
- current_x = primary->x1() + delta_x;
+ current_x = primary->x0() + delta_x;
}
} else {
if (relative) {
- current_x = canvas_note->x2() + delta_x;
+ current_x = canvas_note->x1() + delta_x;
} else {
- current_x = primary->x2() + delta_x;
+ current_x = primary->x1() + delta_x;
}
}
/* Convert that to a frame within the source */
- current_x = snap_pixel_to_frame (current_x) + _region->start ();
+ current_x = snap_pixel_to_sample (current_x) + _region->start ();
/* and then to beats */
current_x = region_frames_to_region_beats (current_x);
@@ -2717,7 +2715,7 @@ MidiRegionView::abort_resizing ()
}
void
-MidiRegionView::change_note_velocity(CanvasNoteEvent* event, int8_t velocity, bool relative)
+MidiRegionView::change_note_velocity(NoteBase* event, int8_t velocity, bool relative)
{
uint8_t new_velocity;
@@ -2734,7 +2732,7 @@ MidiRegionView::change_note_velocity(CanvasNoteEvent* event, int8_t velocity, bo
}
void
-MidiRegionView::change_note_note (CanvasNoteEvent* event, int8_t note, bool relative)
+MidiRegionView::change_note_note (NoteBase* event, int8_t note, bool relative)
{
uint8_t new_note;
@@ -2749,7 +2747,7 @@ MidiRegionView::change_note_note (CanvasNoteEvent* event, int8_t note, bool rela
}
void
-MidiRegionView::trim_note (CanvasNoteEvent* event, Evoral::MusicalTime front_delta, Evoral::MusicalTime end_delta)
+MidiRegionView::trim_note (NoteBase* event, Evoral::MusicalTime front_delta, Evoral::MusicalTime end_delta)
{
bool change_start = false;
bool change_length = false;
@@ -2821,7 +2819,7 @@ MidiRegionView::trim_note (CanvasNoteEvent* event, Evoral::MusicalTime front_del
}
void
-MidiRegionView::change_note_channel (CanvasNoteEvent* event, int8_t chn, bool relative)
+MidiRegionView::change_note_channel (NoteBase* event, int8_t chn, bool relative)
{
uint8_t new_channel;
@@ -2843,7 +2841,7 @@ MidiRegionView::change_note_channel (CanvasNoteEvent* event, int8_t chn, bool re
}
void
-MidiRegionView::change_note_time (CanvasNoteEvent* event, Evoral::MusicalTime delta, bool relative)
+MidiRegionView::change_note_time (NoteBase* event, Evoral::MusicalTime delta, bool relative)
{
Evoral::MusicalTime new_time;
@@ -2865,7 +2863,7 @@ MidiRegionView::change_note_time (CanvasNoteEvent* event, Evoral::MusicalTime de
}
void
-MidiRegionView::change_note_length (CanvasNoteEvent* event, Evoral::MusicalTime t)
+MidiRegionView::change_note_length (NoteBase* event, Evoral::MusicalTime t)
{
note_diff_add_change (event, MidiModel::NoteDiffCommand::Length, t);
}
@@ -3061,7 +3059,7 @@ MidiRegionView::nudge_notes (bool forward)
return;
}
- Evoral::MusicalTime delta = region_frames_to_region_beats (fabs (distance));
+ Evoral::MusicalTime delta = region_frames_to_region_beats (fabs ((double)distance));
if (!forward) {
delta = -delta;
@@ -3092,7 +3090,7 @@ MidiRegionView::change_channel(uint8_t channel)
void
-MidiRegionView::note_entered(ArdourCanvas::CanvasNoteEvent* ev)
+MidiRegionView::note_entered(NoteBase* ev)
{
Editor* editor = dynamic_cast<Editor*>(&trackview.editor());
@@ -3106,7 +3104,7 @@ MidiRegionView::note_entered(ArdourCanvas::CanvasNoteEvent* ev)
}
void
-MidiRegionView::note_left (ArdourCanvas::CanvasNoteEvent*)
+MidiRegionView::note_left (NoteBase*)
{
Editor* editor = dynamic_cast<Editor*>(&trackview.editor());
@@ -3123,7 +3121,7 @@ MidiRegionView::note_left (ArdourCanvas::CanvasNoteEvent*)
}
void
-MidiRegionView::patch_entered (ArdourCanvas::CanvasPatchChange* p)
+MidiRegionView::patch_entered (PatchChange* p)
{
ostringstream s;
/* XXX should get patch name if we can */
@@ -3131,11 +3129,11 @@ MidiRegionView::patch_entered (ArdourCanvas::CanvasPatchChange* p)
<< _("Program ") << ((int) p->patch()->program()) + MIDI_BP_ZERO << '\n'
<< _("Channel ") << ((int) p->patch()->channel() + 1);
show_verbose_cursor (s.str(), 10, 20);
- p->grab_focus();
+ p->item().grab_focus();
}
void
-MidiRegionView::patch_left (ArdourCanvas::CanvasPatchChange *)
+MidiRegionView::patch_left (PatchChange *)
{
trackview.editor().verbose_cursor()->hide ();
/* focus will transfer back via the enter-notify event sent to this
@@ -3144,16 +3142,18 @@ MidiRegionView::patch_left (ArdourCanvas::CanvasPatchChange *)
}
void
-MidiRegionView::sysex_entered (ArdourCanvas::CanvasSysEx* p)
+MidiRegionView::sysex_entered (SysEx* p)
{
ostringstream s;
- s << p->text();
- show_verbose_cursor (s.str(), 10, 20);
- p->grab_focus();
+ // CAIROCANVAS
+ // need a way to extract text from p->_flag->_text
+ // s << p->text();
+ // show_verbose_cursor (s.str(), 10, 20);
+ p->item().grab_focus();
}
void
-MidiRegionView::sysex_left (ArdourCanvas::CanvasSysEx *)
+MidiRegionView::sysex_left (SysEx *)
{
trackview.editor().verbose_cursor()->hide ();
/* focus will transfer back via the enter-notify event sent to this
@@ -3191,9 +3191,9 @@ MidiRegionView::set_frame_color()
}
if (_selected) {
- f = ARDOUR_UI::config()->canvasvar_SelectedFrameBase.get();
+ f = ARDOUR_UI::config()->get_canvasvar_SelectedFrameBase();
} else if (high_enough_for_name) {
- f= ARDOUR_UI::config()->canvasvar_MidiFrameBase.get();
+ f= ARDOUR_UI::config()->get_canvasvar_MidiFrameBase();
} else {
f = fill_color;
}
@@ -3202,7 +3202,7 @@ MidiRegionView::set_frame_color()
f = UINT_RGBA_CHANGE_A (f, 0);
}
- frame->property_fill_color_rgba() = f;
+ frame->set_fill_color (f);
}
void
@@ -3277,7 +3277,7 @@ MidiRegionView::selection_as_cut_buffer () const
{
Notes notes;
- for (Selection::iterator i = _selection.begin(); i != _selection.end(); ++i) {
+ for (Selection::const_iterator i = _selection.begin(); i != _selection.end(); ++i) {
NoteType* n = (*i)->note().get();
notes.insert (boost::shared_ptr<NoteType> (new NoteType (*n)));
}
@@ -3356,7 +3356,7 @@ MidiRegionView::paste (framepos_t pos, float times, const MidiCutBuffer& mcb)
}
struct EventNoteTimeEarlyFirstComparator {
- bool operator() (CanvasNoteEvent* a, CanvasNoteEvent* b) {
+ bool operator() (NoteBase* a, NoteBase* b) {
return a->note()->time() < b->note()->time();
}
};
@@ -3477,11 +3477,11 @@ MidiRegionView::update_ghost_note (double x, double y)
_last_ghost_x = x;
_last_ghost_y = y;
- _note_group->w2i (x, y);
+ _note_group->canvas_to_item (x, y);
PublicEditor& editor = trackview.editor ();
- framepos_t const unsnapped_frame = editor.pixel_to_frame (x);
+ framepos_t const unsnapped_frame = editor.pixel_to_sample (x);
framecnt_t grid_frames;
framepos_t const f = snap_frame_to_grid_underneath (unsnapped_frame, grid_frames);
@@ -3515,8 +3515,9 @@ MidiRegionView::create_ghost_note (double x, double y)
remove_ghost_note ();
boost::shared_ptr<NoteType> g (new NoteType);
- _ghost_note = new NoEventCanvasNote (*this, *_note_group, g);
- _ghost_note->property_outline_color_rgba() = 0x000000aa;
+ _ghost_note = new Note (*this, _note_group, g);
+ _ghost_note->set_ignore_events (true);
+ _ghost_note->set_outline_color (0x000000aa);
update_ghost_note (x, y);
_ghost_note->show ();
@@ -3527,6 +3528,13 @@ MidiRegionView::create_ghost_note (double x, double y)
}
void
+MidiRegionView::remove_ghost_note ()
+{
+ delete _ghost_note;
+ _ghost_note = 0;
+}
+
+void
MidiRegionView::snap_changed ()
{
if (!_ghost_note) {
@@ -3602,13 +3610,13 @@ void
MidiRegionView::show_step_edit_cursor (Evoral::MusicalTime pos)
{
if (_step_edit_cursor == 0) {
- ArdourCanvas::Group* const group = (ArdourCanvas::Group*)get_canvas_group();
+ ArdourCanvas::Item* const group = get_canvas_group();
- _step_edit_cursor = new ArdourCanvas::SimpleRect (*group);
- _step_edit_cursor->property_y1() = 0;
- _step_edit_cursor->property_y2() = midi_stream_view()->contents_height();
- _step_edit_cursor->property_fill_color_rgba() = RGBA_TO_UINT (45,0,0,90);
- _step_edit_cursor->property_outline_color_rgba() = RGBA_TO_UINT (85,0,0,90);
+ _step_edit_cursor = new ArdourCanvas::Rectangle (group);
+ _step_edit_cursor->set_y0 (0);
+ _step_edit_cursor->set_y1 (midi_stream_view()->contents_height());
+ _step_edit_cursor->set_fill_color (RGBA_TO_UINT (45,0,0,90));
+ _step_edit_cursor->set_outline_color (RGBA_TO_UINT (85,0,0,90));
}
move_step_edit_cursor (pos);
@@ -3621,8 +3629,8 @@ MidiRegionView::move_step_edit_cursor (Evoral::MusicalTime pos)
_step_edit_cursor_position = pos;
if (_step_edit_cursor) {
- double pixel = trackview.editor().frame_to_pixel (region_beats_to_region_frames (pos));
- _step_edit_cursor->property_x1() = pixel;
+ double pixel = trackview.editor().sample_to_pixel (region_beats_to_region_frames (pos));
+ _step_edit_cursor->set_x0 (pixel);
set_step_edit_cursor_width (_step_edit_cursor_width);
}
}
@@ -3641,7 +3649,7 @@ MidiRegionView::set_step_edit_cursor_width (Evoral::MusicalTime beats)
_step_edit_cursor_width = beats;
if (_step_edit_cursor) {
- _step_edit_cursor->property_x2() = _step_edit_cursor->property_x1() + trackview.editor().frame_to_pixel (region_beats_to_region_frames (beats));
+ _step_edit_cursor->set_x1 (_step_edit_cursor->x0() + trackview.editor().sample_to_pixel (region_beats_to_region_frames (beats)));
}
}
@@ -3717,15 +3725,15 @@ MidiRegionView::trim_front_starting ()
/* Reparent the note group to the region view's parent, so that it doesn't change
when the region view is trimmed.
*/
- _temporary_note_group = new ArdourCanvas::Group (*group->property_parent ());
- _temporary_note_group->move (group->property_x(), group->property_y());
- _note_group->reparent (*_temporary_note_group);
+ _temporary_note_group = new ArdourCanvas::Container (group->parent ());
+ _temporary_note_group->move (group->position ());
+ _note_group->reparent (_temporary_note_group);
}
void
MidiRegionView::trim_front_ending ()
{
- _note_group->reparent (*group);
+ _note_group->reparent (group);
delete _temporary_note_group;
_temporary_note_group = 0;
@@ -3736,7 +3744,7 @@ MidiRegionView::trim_front_ending ()
}
void
-MidiRegionView::edit_patch_change (ArdourCanvas::CanvasPatchChange* pc)
+MidiRegionView::edit_patch_change (PatchChange* pc)
{
PatchChangeDialog d (&_source_relative_time_converter, trackview.session(), *pc->patch (), instrument_info(), Gtk::Stock::APPLY, true);
@@ -3756,14 +3764,16 @@ MidiRegionView::edit_patch_change (ArdourCanvas::CanvasPatchChange* pc)
}
void
-MidiRegionView::delete_sysex (CanvasSysEx* sysex)
+MidiRegionView::delete_sysex (SysEx* /*sysex*/)
{
- MidiModel::SysExDiffCommand* c = _model->new_sysex_diff_command (_("delete sysex"));
- c->remove (sysex->sysex());
- _model->apply_command (*trackview.session(), c);
+ // CAIROCANVAS
+ // sysyex object doesn't have a pointer to a sysex event
+ // MidiModel::SysExDiffCommand* c = _model->new_sysex_diff_command (_("delete sysex"));
+ // c->remove (sysex->sysex());
+ // _model->apply_command (*trackview.session(), c);
- _sys_exes.clear ();
- display_sysexes();
+ //_sys_exes.clear ();
+ // display_sysexes();
}
void
@@ -3800,24 +3810,9 @@ MidiRegionView::show_verbose_cursor (boost::shared_ptr<NoteType> n) const
void
MidiRegionView::show_verbose_cursor (string const & text, double xoffset, double yoffset) const
{
- double wx, wy;
-
- trackview.editor().get_pointer_position (wx, wy);
-
- wx += xoffset;
- wy += yoffset;
-
- /* Flip the cursor above the mouse pointer if it would overlap the bottom of the canvas */
-
- double x1, y1, x2, y2;
- trackview.editor().verbose_cursor()->canvas_item()->get_bounds (x1, y1, x2, y2);
-
- if ((wy + y2 - y1) > trackview.editor().canvas_height()) {
- wy -= (y2 - y1) + 2 * yoffset;
- }
-
- trackview.editor().verbose_cursor()->set (text, wx, wy);
+ trackview.editor().verbose_cursor()->set (text);
trackview.editor().verbose_cursor()->show ();
+ trackview.editor().verbose_cursor()->set_offset (ArdourCanvas::Duple (xoffset, yoffset));
}
/** @param p A session framepos.
diff --git a/gtk2_ardour/midi_region_view.h b/gtk2_ardour/midi_region_view.h
index 5f374da55c..3fd6625ce9 100644
--- a/gtk2_ardour/midi_region_view.h
+++ b/gtk2_ardour/midi_region_view.h
@@ -21,9 +21,7 @@
#include <string>
#include <vector>
-
-#include <libgnomecanvasmm.h>
-#include <libgnomecanvasmm/polygon.h>
+#include <stdint.h>
#include "pbd/signals.h"
@@ -36,12 +34,6 @@
#include "time_axis_view_item.h"
#include "automation_line.h"
#include "enums.h"
-#include "canvas.h"
-#include "canvas-hit.h"
-#include "canvas-note.h"
-#include "canvas-note-event.h"
-#include "canvas_patch_change.h"
-#include "canvas-sysex.h"
namespace ARDOUR {
class MidiRegion;
@@ -55,6 +47,10 @@ namespace MIDI {
};
};
+class SysEx;
+class NoteBase;
+class Note;
+class Hit;
class MidiTimeAxisView;
class GhostRegion;
class AutomationTimeAxisView;
@@ -63,6 +59,7 @@ class MidiCutBuffer;
class MidiListEditor;
class EditNoteDialog;
class NotePlayer;
+class PatchChange;
class MidiRegionView : public RegionView
{
@@ -70,18 +67,18 @@ public:
typedef Evoral::Note<Evoral::MusicalTime> NoteType;
typedef Evoral::Sequence<Evoral::MusicalTime>::Notes Notes;
- MidiRegionView (ArdourCanvas::Group *,
+ MidiRegionView (ArdourCanvas::Container *,
RouteTimeAxisView&,
boost::shared_ptr<ARDOUR::MidiRegion>,
- double initial_samples_per_unit,
- Gdk::Color const & basic_color);
+ double initial_samples_per_pixel,
+ uint32_t base_color);
MidiRegionView (const MidiRegionView& other);
MidiRegionView (const MidiRegionView& other, boost::shared_ptr<ARDOUR::MidiRegion>);
~MidiRegionView ();
- virtual void init (Gdk::Color const & basic_color, bool wfd);
+ void init (bool wfd);
const boost::shared_ptr<ARDOUR::MidiRegion> midi_region() const;
@@ -135,26 +132,26 @@ public:
* @param old_patch the canvas patch change which is to be altered
* @param new_patch new patch
*/
- void change_patch_change (ArdourCanvas::CanvasPatchChange& old_patch, const MIDI::Name::PatchPrimaryKey& new_patch);
+ void change_patch_change (PatchChange& old_patch, const MIDI::Name::PatchPrimaryKey& new_patch);
void change_patch_change (ARDOUR::MidiModel::PatchChangePtr, Evoral::PatchChange<Evoral::MusicalTime> const &);
void add_patch_change (framecnt_t, Evoral::PatchChange<Evoral::MusicalTime> const &);
- void move_patch_change (ArdourCanvas::CanvasPatchChange &, Evoral::MusicalTime);
- void delete_patch_change (ArdourCanvas::CanvasPatchChange *);
- void edit_patch_change (ArdourCanvas::CanvasPatchChange *);
+ void move_patch_change (PatchChange &, Evoral::MusicalTime);
+ void delete_patch_change (PatchChange *);
+ void edit_patch_change (PatchChange *);
- void delete_sysex (ArdourCanvas::CanvasSysEx*);
+ void delete_sysex (SysEx*);
/** Alter a given patch to be its predecessor in the MIDNAM file.
*/
- void previous_patch (ArdourCanvas::CanvasPatchChange &);
+ void previous_patch (PatchChange &);
/** Alters a given patch to be its successor in the MIDNAM file.
*/
- void next_patch (ArdourCanvas::CanvasPatchChange &);
+ void next_patch (PatchChange &);
- void previous_bank (ArdourCanvas::CanvasPatchChange &);
- void next_bank (ArdourCanvas::CanvasPatchChange &);
+ void previous_bank (PatchChange &);
+ void next_bank (PatchChange &);
/** Displays all patch change events in the region as flags on the canvas.
*/
@@ -171,24 +168,24 @@ public:
void display_model(boost::shared_ptr<ARDOUR::MidiModel> model);
void start_note_diff_command (std::string name = "midi edit");
- void note_diff_add_change (ArdourCanvas::CanvasNoteEvent* ev, ARDOUR::MidiModel::NoteDiffCommand::Property, uint8_t val);
- void note_diff_add_change (ArdourCanvas::CanvasNoteEvent* ev, ARDOUR::MidiModel::NoteDiffCommand::Property, Evoral::MusicalTime val);
+ void note_diff_add_change (NoteBase* ev, ARDOUR::MidiModel::NoteDiffCommand::Property, uint8_t val);
+ void note_diff_add_change (NoteBase* ev, ARDOUR::MidiModel::NoteDiffCommand::Property, Evoral::MusicalTime val);
void note_diff_add_note (const boost::shared_ptr<NoteType> note, bool selected, bool show_velocity = false);
- void note_diff_remove_note (ArdourCanvas::CanvasNoteEvent* ev);
+ void note_diff_remove_note (NoteBase* ev);
void apply_diff (bool as_subcommand = false);
void abort_command();
- void note_entered(ArdourCanvas::CanvasNoteEvent* ev);
- void note_left(ArdourCanvas::CanvasNoteEvent* ev);
- void patch_entered (ArdourCanvas::CanvasPatchChange *);
- void patch_left (ArdourCanvas::CanvasPatchChange *);
- void sysex_entered (ArdourCanvas::CanvasSysEx* p);
- void sysex_left (ArdourCanvas::CanvasSysEx* p);
+ void note_entered(NoteBase* ev);
+ void note_left(NoteBase* ev);
+ void patch_entered (PatchChange *);
+ void patch_left (PatchChange *);
+ void sysex_entered (SysEx* p);
+ void sysex_left (SysEx* p);
void note_mouse_position (float xfraction, float yfraction, bool can_set_cursor=true);
- void unique_select(ArdourCanvas::CanvasNoteEvent* ev);
- void note_selected(ArdourCanvas::CanvasNoteEvent* ev, bool add, bool extend=false);
- void note_deselected(ArdourCanvas::CanvasNoteEvent* ev);
+ void unique_select(NoteBase* ev);
+ void note_selected(NoteBase* ev, bool add, bool extend=false);
+ void note_deselected(NoteBase* ev);
void delete_selection();
void delete_note (boost::shared_ptr<NoteType>);
size_t selection_size() { return _selection.size(); }
@@ -197,7 +194,7 @@ public:
void invert_selection ();
void move_selection(double dx, double dy, double cumulative_dy);
- void note_dropped (ArdourCanvas::CanvasNoteEvent* ev, ARDOUR::frameoffset_t, int8_t d_note);
+ void note_dropped (NoteBase* ev, ARDOUR::frameoffset_t, int8_t d_note);
void select_matching_notes (uint8_t notenum, uint16_t channel_mask, bool add, bool extend);
void toggle_matching_notes (uint8_t notenum, uint16_t channel_mask);
@@ -219,8 +216,8 @@ public:
*/
void begin_resizing(bool at_front);
- void update_resizing (ArdourCanvas::CanvasNoteEvent*, bool, double, bool);
- void commit_resizing (ArdourCanvas::CanvasNoteEvent*, bool, double, bool);
+ void update_resizing (NoteBase*, bool, double, bool);
+ void commit_resizing (NoteBase*, bool, double, bool);
void abort_resizing ();
/** Change the channel of the selection.
@@ -242,8 +239,8 @@ public:
void note_button_release ();
struct NoteResizeData {
- ArdourCanvas::CanvasNote *canvas_note;
- ArdourCanvas::SimpleRect *resize_rect;
+ Note *note;
+ ArdourCanvas::Rectangle *resize_rect;
};
/** Snap a region relative pixel coordinate to pixel units.
@@ -256,7 +253,7 @@ public:
* @param x a pixel coordinate relative to region start
* @return the snapped framepos_t coordinate relative to region start
*/
- framepos_t snap_pixel_to_frame(double x);
+ framepos_t snap_pixel_to_sample(double x);
/** Convert a timestamp in beats into frames (both relative to region position) */
framepos_t region_beats_to_region_frames(double beats) const;
@@ -287,7 +284,7 @@ public:
void show_list_editor ();
- typedef std::set<ArdourCanvas::CanvasNoteEvent*> Selection;
+ typedef std::set<NoteBase*> Selection;
Selection selection () const {
return _selection;
}
@@ -296,8 +293,8 @@ public:
void enable_display (bool);
- void set_channel_selector_scoped_note(ArdourCanvas::CanvasNoteEvent* note){ _channel_selection_scoped_note = note; }
- ArdourCanvas::CanvasNoteEvent* channel_selector_scoped_note(){ return _channel_selection_scoped_note; }
+ void set_channel_selector_scoped_note(NoteBase* note){ _channel_selection_scoped_note = note; }
+ NoteBase* channel_selector_scoped_note(){ return _channel_selection_scoped_note; }
void trim_front_starting ();
void trim_front_ending ();
@@ -312,11 +309,11 @@ protected:
/** Allows derived types to specify their visibility requirements
* to the TimeAxisViewItem parent class.
*/
- MidiRegionView (ArdourCanvas::Group *,
+ MidiRegionView (ArdourCanvas::Container *,
RouteTimeAxisView&,
boost::shared_ptr<ARDOUR::MidiRegion>,
- double samples_per_unit,
- Gdk::Color& basic_color,
+ double samples_per_pixel,
+ uint32_t basic_color,
TimeAxisViewItem::Visibility);
void region_resized (const PBD::PropertyChange&);
@@ -352,7 +349,7 @@ private:
void clear_events (bool with_selection_signal = true);
- bool canvas_event(GdkEvent* ev);
+ bool canvas_group_event(GdkEvent* ev);
bool note_canvas_event(GdkEvent* ev);
void midi_channel_mode_changed ();
@@ -360,20 +357,20 @@ private:
void instrument_settings_changed ();
PBD::ScopedConnection _instrument_changed_connection;
- void change_note_channel (ArdourCanvas::CanvasNoteEvent *, int8_t, bool relative=false);
- void change_note_velocity(ArdourCanvas::CanvasNoteEvent* ev, int8_t vel, bool relative=false);
- void change_note_note(ArdourCanvas::CanvasNoteEvent* ev, int8_t note, bool relative=false);
- void change_note_time(ArdourCanvas::CanvasNoteEvent* ev, ARDOUR::MidiModel::TimeType, bool relative=false);
- void change_note_length (ArdourCanvas::CanvasNoteEvent *, ARDOUR::MidiModel::TimeType);
- void trim_note(ArdourCanvas::CanvasNoteEvent* ev, ARDOUR::MidiModel::TimeType start_delta,
+ void change_note_channel (NoteBase *, int8_t, bool relative=false);
+ void change_note_velocity(NoteBase* ev, int8_t vel, bool relative=false);
+ void change_note_note(NoteBase* ev, int8_t note, bool relative=false);
+ void change_note_time(NoteBase* ev, ARDOUR::MidiModel::TimeType, bool relative=false);
+ void change_note_length (NoteBase *, ARDOUR::MidiModel::TimeType);
+ void trim_note(NoteBase* ev, ARDOUR::MidiModel::TimeType start_delta,
ARDOUR::MidiModel::TimeType end_delta);
- void clear_selection_except (ArdourCanvas::CanvasNoteEvent* ev, bool signal = true);
+ void clear_selection_except (NoteBase* ev, bool signal = true);
void update_drag_selection (double last_x, double x, double last_y, double y, bool extend);
void update_vertical_drag_selection (double last_y, double y, bool extend);
- void add_to_selection (ArdourCanvas::CanvasNoteEvent*);
- void remove_from_selection (ArdourCanvas::CanvasNoteEvent*);
+ void add_to_selection (NoteBase*);
+ void remove_from_selection (NoteBase*);
void show_verbose_cursor (std::string const &, double, double) const;
void show_verbose_cursor (boost::shared_ptr<NoteType>) const;
@@ -381,35 +378,35 @@ private:
uint8_t _current_range_min;
uint8_t _current_range_max;
- typedef std::list<ArdourCanvas::CanvasNoteEvent*> Events;
- typedef std::vector< boost::shared_ptr<ArdourCanvas::CanvasPatchChange> > PatchChanges;
- typedef std::vector< boost::shared_ptr<ArdourCanvas::CanvasSysEx> > SysExes;
+ typedef std::list<NoteBase*> Events;
+ typedef std::vector< boost::shared_ptr<PatchChange> > PatchChanges;
+ typedef std::vector< boost::shared_ptr<SysEx> > SysExes;
boost::shared_ptr<ARDOUR::MidiModel> _model;
Events _events;
PatchChanges _patch_changes;
SysExes _sys_exes;
- ArdourCanvas::CanvasNote** _active_notes;
- ArdourCanvas::Group* _note_group;
+ Note** _active_notes;
+ ArdourCanvas::Container* _note_group;
ARDOUR::MidiModel::NoteDiffCommand* _note_diff_command;
- ArdourCanvas::CanvasNote* _ghost_note;
+ Note* _ghost_note;
double _last_ghost_x;
double _last_ghost_y;
- ArdourCanvas::SimpleRect* _step_edit_cursor;
+ ArdourCanvas::Rectangle* _step_edit_cursor;
Evoral::MusicalTime _step_edit_cursor_width;
Evoral::MusicalTime _step_edit_cursor_position;
- ArdourCanvas::CanvasNoteEvent* _channel_selection_scoped_note;
+ NoteBase* _channel_selection_scoped_note;
/** A group used to temporarily reparent _note_group to during start trims, so
* that the notes don't move with the parent region view.
*/
- ArdourCanvas::Group* _temporary_note_group;
+ ArdourCanvas::Container* _temporary_note_group;
MouseState _mouse_state;
int _pressed_button;
- /** Currently selected CanvasNoteEvents */
+ /** Currently selected NoteBase objects */
Selection _selection;
bool _sort_needed;
@@ -430,11 +427,11 @@ private:
/** connection used to connect to model's ContentChanged signal */
PBD::ScopedConnection content_connection;
- ArdourCanvas::CanvasNoteEvent* find_canvas_note (boost::shared_ptr<NoteType>);
+ NoteBase* find_canvas_note (boost::shared_ptr<NoteType>);
Events::iterator _optimization_iterator;
- void update_note (ArdourCanvas::CanvasNote *, bool update_ghost_regions = true);
- double update_hit (ArdourCanvas::CanvasHit *);
+ void update_note (Note *, bool update_ghost_regions = true);
+ void update_hit (Hit *);
void create_ghost_note (double, double);
void update_ghost_note (double, double);
@@ -442,7 +439,7 @@ private:
bool _no_sound_notes;
PBD::ScopedConnection note_delete_connection;
- void maybe_remove_deleted_note_from_selection (ArdourCanvas::CanvasNoteEvent*);
+ void maybe_remove_deleted_note_from_selection (NoteBase*);
void snap_changed ();
PBD::ScopedConnection snap_changed_connection;
diff --git a/gtk2_ardour/midi_streamview.cc b/gtk2_ardour/midi_streamview.cc
index 90e6147763..55f4732a5c 100644
--- a/gtk2_ardour/midi_streamview.cc
+++ b/gtk2_ardour/midi_streamview.cc
@@ -23,6 +23,9 @@
#include <gtkmm2ext/gtk_ui.h>
+#include "canvas/line_set.h"
+#include "canvas/rectangle.h"
+
#include "ardour/midi_region.h"
#include "ardour/midi_source.h"
#include "ardour/midi_track.h"
@@ -32,10 +35,8 @@
#include "ardour/smf_source.h"
#include "ardour_ui.h"
-#include "canvas-simplerect.h"
#include "global_signals.h"
#include "gui_thread.h"
-#include "lineset.h"
#include "midi_region_view.h"
#include "midi_streamview.h"
#include "midi_time_axis.h"
@@ -45,13 +46,13 @@
#include "region_view.h"
#include "rgb_macros.h"
#include "selection.h"
-#include "simplerect.h"
#include "utils.h"
#include "i18n.h"
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Editing;
@@ -68,20 +69,15 @@ MidiStreamView::MidiStreamView (MidiTimeAxisView& tv)
, _updates_suspended (false)
{
/* use a group dedicated to MIDI underlays. Audio underlays are not in this group. */
- midi_underlay_group = new ArdourCanvas::Group (*_canvas_group);
+ midi_underlay_group = new ArdourCanvas::Container (_canvas_group);
midi_underlay_group->lower_to_bottom();
/* put the note lines in the timeaxisview's group, so it
- can be put below ghost regions from MIDI underlays*/
- _note_lines = new ArdourCanvas::LineSet(*_canvas_group,
- ArdourCanvas::LineSet::Horizontal);
-
- _note_lines->property_x1() = 0;
- _note_lines->property_y1() = 0;
- _note_lines->property_x2() = DBL_MAX;
- _note_lines->property_y2() = 0;
-
- _note_lines->signal_event().connect(
+ can be put below ghost regions from MIDI underlays
+ */
+ _note_lines = new ArdourCanvas::LineSet (_canvas_group, ArdourCanvas::LineSet::Horizontal);
+
+ _note_lines->Event.connect(
sigc::bind(sigc::mem_fun(_trackview.editor(),
&PublicEditor::canvas_stream_view_event),
_note_lines, &_trackview));
@@ -113,19 +109,19 @@ MidiStreamView::create_region_view (boost::shared_ptr<Region> r, bool /*wfd*/, b
}
RegionView* region_view = new MidiRegionView (_canvas_group, _trackview, region,
- _samples_per_unit, region_color);
+ _samples_per_pixel, region_color);
- region_view->init (region_color, false);
+ region_view->init (false);
return region_view;
}
RegionView*
-MidiStreamView::add_region_view_internal (boost::shared_ptr<Region> r, bool wfd, bool recording)
+MidiStreamView::add_region_view_internal (boost::shared_ptr<Region> r, bool wait_for_data, bool recording)
{
boost::shared_ptr<MidiRegion> region = boost::dynamic_pointer_cast<MidiRegion> (r);
- if (region == 0) {
+ if (!region) {
return 0;
}
@@ -136,13 +132,13 @@ MidiStreamView::add_region_view_internal (boost::shared_ptr<Region> r, bool wfd,
(*i)->set_valid (true);
- display_region(dynamic_cast<MidiRegionView*>(*i), wfd);
+ display_region(dynamic_cast<MidiRegionView*>(*i), wait_for_data);
return 0;
}
}
- MidiRegionView* region_view = dynamic_cast<MidiRegionView*> (create_region_view (r, wfd, recording));
+ MidiRegionView* region_view = dynamic_cast<MidiRegionView*> (create_region_view (r, wait_for_data, recording));
if (region_view == 0) {
return 0;
}
@@ -156,7 +152,7 @@ MidiStreamView::add_region_view_internal (boost::shared_ptr<Region> r, bool wfd,
}
/* display events and find note range */
- display_region (region_view, wfd);
+ display_region (region_view, wait_for_data);
/* fit note range if we are importing */
if (_trackview.session()->operation_in_progress (Operations::insert_file)) {
@@ -179,7 +175,7 @@ MidiStreamView::display_region(MidiRegionView* region_view, bool load_model)
return;
}
- region_view->enable_display(true);
+ region_view->enable_display (true);
boost::shared_ptr<MidiSource> source(region_view->midi_region()->midi_source(0));
@@ -196,6 +192,7 @@ MidiStreamView::display_region(MidiRegionView* region_view, bool load_model)
region_view->display_model(source->model());
}
+
void
MidiStreamView::display_track (boost::shared_ptr<Track> tr)
{
@@ -277,7 +274,8 @@ void
MidiStreamView::update_contents_height ()
{
StreamView::update_contents_height();
- _note_lines->property_y2() = child_height ();
+
+ _note_lines->set_extent (ArdourCanvas::COORD_MAX);
apply_note_range (lowest_note(), highest_note(), true);
}
@@ -290,7 +288,7 @@ MidiStreamView::draw_note_lines()
}
double y;
- double prev_y = contents_height();
+ double prev_y = .5;
uint32_t color;
_note_lines->clear();
@@ -300,10 +298,25 @@ MidiStreamView::draw_note_lines()
return;
}
- for (int i = lowest_note(); i <= highest_note(); ++i) {
- y = floor(note_to_y(i));
+ /* do this is order of highest ... lowest since that matches the
+ * coordinate system in which y=0 is at the top
+ */
+
+ for (int i = highest_note() + 1; i >= lowest_note(); --i) {
- _note_lines->add_line(prev_y, 1.0, ARDOUR_UI::config()->canvasvar_PianoRollBlackOutline.get());
+ y = floor(note_to_y (i)) + .5;
+
+ /* this is the line actually corresponding to the division
+ * between notes
+ */
+
+ if (i <= highest_note()) {
+ _note_lines->add (y, 1.0, ARDOUR_UI::config()->get_canvasvar_PianoRollBlackOutline());
+ }
+
+ /* now add a thicker line/bar which covers the entire vertical
+ * height of this note.
+ */
switch (i % 12) {
case 1:
@@ -311,17 +324,18 @@ MidiStreamView::draw_note_lines()
case 6:
case 8:
case 10:
- color = ARDOUR_UI::config()->canvasvar_PianoRollBlack.get();
+ color = ARDOUR_UI::config()->get_canvasvar_PianoRollBlack();
break;
default:
- color = ARDOUR_UI::config()->canvasvar_PianoRollWhite.get();
+ color = ARDOUR_UI::config()->get_canvasvar_PianoRollWhite();
break;
}
- if (i == highest_note()) {
- _note_lines->add_line(y, prev_y - y, color);
- } else {
- _note_lines->add_line(y + 1.0, prev_y - y - 1.0, color);
+ double h = y - prev_y;
+ double mid = y + (h/2.0);
+
+ if (height > 1.0) { // XXX ? should that not be h >= 1 ?
+ _note_lines->add (mid, h, color);
}
prev_y = y;
@@ -484,19 +498,16 @@ MidiStreamView::setup_rec_box ()
boost::shared_ptr<MidiTrack> mt = _trackview.midi_track(); /* we know what it is already */
framepos_t const frame_pos = mt->current_capture_start ();
- gdouble const xstart = _trackview.editor().frame_to_pixel (frame_pos);
+ gdouble const xstart = _trackview.editor().sample_to_pixel (frame_pos);
gdouble const xend = xstart;
uint32_t fill_color;
- fill_color = ARDOUR_UI::config()->canvasvar_RecordingRect.get();
+ fill_color = ARDOUR_UI::config()->get_canvasvar_RecordingRect();
- ArdourCanvas::SimpleRect * rec_rect = new Gnome::Canvas::SimpleRect (*_canvas_group);
- rec_rect->property_x1() = xstart;
- rec_rect->property_y1() = 1.0;
- rec_rect->property_x2() = xend;
- rec_rect->property_y2() = (double) _trackview.current_height() - 1;
- rec_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_RecordingRect.get();
- rec_rect->property_fill_color_rgba() = fill_color;
+ ArdourCanvas::Rectangle * rec_rect = new ArdourCanvas::Rectangle (_canvas_group);
+ rec_rect->set (ArdourCanvas::Rect (xstart, 1, xend, _trackview.current_height() - 1));
+ rec_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_RecordingRect());
+ rec_rect->set_fill_color (fill_color);
rec_rect->lower_to_bottom();
RecBoxInfo recbox;
@@ -568,9 +579,9 @@ MidiStreamView::color_handler ()
draw_note_lines ();
if (_trackview.is_midi_track()) {
- canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_MidiTrackBase.get();
+ canvas_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_MidiTrackBase());
} else {
- canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_MidiBusBase.get();;
+ canvas_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_MidiBusBase());
}
}
@@ -650,9 +661,11 @@ void
MidiStreamView::resume_updates ()
{
_updates_suspended = false;
-
+
draw_note_lines ();
apply_note_range_to_regions ();
+
+ _canvas_group->redraw ();
}
void
diff --git a/gtk2_ardour/midi_streamview.h b/gtk2_ardour/midi_streamview.h
index 1e6289d63c..9dbfbae5ea 100644
--- a/gtk2_ardour/midi_streamview.h
+++ b/gtk2_ardour/midi_streamview.h
@@ -27,7 +27,6 @@
#include "streamview.h"
#include "time_axis_view_item.h"
#include "route_time_axis.h"
-#include "canvas.h"
namespace Gdk {
class Color;
@@ -42,6 +41,10 @@ namespace ARDOUR {
struct PeakData;
}
+namespace ArdourCanvas {
+ class LineSet;
+}
+
class PublicEditor;
class Selectable;
class MidiTimeAxisView;
@@ -65,7 +68,7 @@ class MidiStreamView : public StreamView
};
Gtk::Adjustment note_range_adjustment;
- ArdourCanvas::Group* midi_underlay_group;
+ ArdourCanvas::Container* midi_underlay_group;
void set_note_range(VisibleNoteRange r);
diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc
index ff84ba81b7..772baf834f 100644
--- a/gtk2_ardour/midi_time_axis.cc
+++ b/gtk2_ardour/midi_time_axis.cc
@@ -19,8 +19,6 @@
#include <cstdlib>
#include <cmath>
-#include <strings.h> // for ffs(3)
-
#include <algorithm>
#include <string>
#include <vector>
@@ -28,6 +26,7 @@
#include <sigc++/bind.h>
#include "pbd/error.h"
+#include "pbd/ffs.h"
#include "pbd/stl_delete.h"
#include "pbd/whitespace.h"
#include "pbd/basename.h"
@@ -51,6 +50,7 @@
#include "ardour/panner.h"
#include "ardour/panner_shell.h"
#include "ardour/playlist.h"
+#include "ardour/profile.h"
#include "ardour/region.h"
#include "ardour/region_factory.h"
#include "ardour/route.h"
@@ -64,8 +64,6 @@
#include "ardour_button.h"
#include "automation_line.h"
#include "automation_time_axis.h"
-#include "canvas-note-event.h"
-#include "canvas_impl.h"
#include "editor.h"
#include "enums.h"
#include "ghostregion.h"
@@ -86,24 +84,25 @@
#include "rgb_macros.h"
#include "selection.h"
#include "step_editor.h"
-#include "simplerect.h"
#include "utils.h"
+#include "note_base.h"
#include "ardour/midi_track.h"
#include "i18n.h"
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtk;
using namespace Gtkmm2ext;
using namespace Editing;
// Minimum height at which a control is displayed
-static const uint32_t MIDI_CONTROLS_BOX_MIN_HEIGHT = 140;
+static const uint32_t MIDI_CONTROLS_BOX_MIN_HEIGHT = 160;
static const uint32_t KEYBOARD_MIN_HEIGHT = 130;
-MidiTimeAxisView::MidiTimeAxisView (PublicEditor& ed, Session* sess, Canvas& canvas)
+MidiTimeAxisView::MidiTimeAxisView (PublicEditor& ed, Session* sess, ArdourCanvas::Canvas& canvas)
: AxisView(sess) // virtually inherited
, RouteTimeAxisView(ed, sess, canvas)
, _ignore_signals(false)
@@ -163,9 +162,11 @@ MidiTimeAxisView::set_route (boost::shared_ptr<Route> rt)
if (is_midi_track()) {
controls_ebox.set_name ("MidiTimeAxisViewControlsBaseUnselected");
+ time_axis_frame.set_name ("MidiTimeAxisViewControlsBaseUnselected");
_note_mode = midi_track()->note_mode();
} else { // MIDI bus (which doesn't exist yet..)
controls_ebox.set_name ("MidiBusControlsBaseUnselected");
+ time_axis_frame.set_name ("MidiBusControlsBaseUnselected");
}
/* if set_state above didn't create a gain automation child, we need to make one */
@@ -173,6 +174,11 @@ MidiTimeAxisView::set_route (boost::shared_ptr<Route> rt)
create_automation_child (GainAutomation, false);
}
+ /* if set_state above didn't create a mute automation child, we need to make one */
+ if (automation_child (MuteAutomation) == 0) {
+ create_automation_child (MuteAutomation, false);
+ }
+
if (_route->panner_shell()) {
_route->panner_shell()->Changed.connect (*this, invalidator (*this), boost::bind (&MidiTimeAxisView::ensure_pan_views, this, false), gui_context());
}
@@ -206,17 +212,26 @@ MidiTimeAxisView::set_route (boost::shared_ptr<Route> rt)
label so that they can be reduced in height for stacked-view
tracks.
*/
+
+ HSeparator* separator = manage (new HSeparator());
+ separator->set_name("TrackSeparator");
+ separator->set_size_request(-1, 1);
+ separator->show();
+
VBox* v = manage (new VBox);
HBox* h = manage (new HBox);
- h->pack_start (*_range_scroomer);
- h->pack_start (*_piano_roll_header);
- v->pack_start (*h, false, false);
- v->pack_start (*manage (new Label ("")), true, true);
+ h->pack_end (*_piano_roll_header);
+ h->pack_end (*_range_scroomer);
+ v->pack_start (*separator, false, false);
+ v->pack_start (*h, true, true);
v->show ();
h->show ();
- controls_hbox.pack_start(*v, false, false);
+ top_hbox.remove(scroomer_placeholder);
+ time_axis_hbox.pack_end(*v, false, false, 0);
+ midi_scroomer_size_group->add_widget (*v);
controls_ebox.set_name ("MidiTrackControlsBaseUnselected");
+ time_axis_frame.set_name ("MidiTrackControlsBaseUnselected");
controls_base_selected_name = "MidiTrackControlsBaseSelected";
controls_base_unselected_name = "MidiTrackControlsBaseUnselected";
@@ -276,42 +291,38 @@ MidiTimeAxisView::set_route (boost::shared_ptr<Route> rt)
ARDOUR_UI::instance()->set_tip (_midnam_custom_device_mode_selector, _("External Device Mode"));
_midi_controls_box.set_homogeneous(false);
- _midi_controls_box.set_border_width (10);
+ _midi_controls_box.set_border_width (2);
_channel_status_box.set_homogeneous (false);
- _channel_status_box.set_spacing (6);
+ _channel_status_box.set_spacing (4);
- _channel_selector_button.set_label (_("Chns"));
- ARDOUR_UI::instance()->set_tip (_channel_selector_button, _("Click to edit channel settings"));
+ ArdourButton *channel_selector_button = manage (new ArdourButton(_("Chns")));
+ channel_selector_button->set_name ("route button");
+ ARDOUR_UI::instance()->set_tip (channel_selector_button, _("Click to edit channel settings"));
/* fixed sized labels to prevent silly nonsense (though obviously,
* they cause their own too)
*/
-
- _playback_channel_status.set_size_request (65, -1);
- _capture_channel_status.set_size_request (60, -1);
+ set_size_request_to_display_given_text(_playback_channel_status, "Play: somemo", 2, 2); // TODO use _("Play: all/some")
+ set_size_request_to_display_given_text(_capture_channel_status, "Rec: somemo", 2, 2); // TODO use _("Rec: all/some")
_channel_status_box.pack_start (_playback_channel_status, false, false);
_channel_status_box.pack_start (_capture_channel_status, false, false);
- _channel_status_box.pack_start (_channel_selector_button, false, false);
+ _channel_status_box.pack_end (*channel_selector_button, false, false);
_channel_status_box.show_all ();
- _channel_selector_button.signal_clicked().connect (sigc::mem_fun (*this, &MidiTimeAxisView::toggle_channel_selector));
+ channel_selector_button->signal_clicked.connect (sigc::mem_fun (*this, &MidiTimeAxisView::toggle_channel_selector));
_midi_controls_box.pack_start (_channel_status_box, false, false, 10);
if (!patch_manager.all_models().empty()) {
- _midnam_model_selector.set_size_request(22, 30);
- _midnam_model_selector.set_border_width(2);
_midnam_model_selector.show ();
- _midi_controls_box.pack_start (_midnam_model_selector);
+ _midi_controls_box.pack_start (_midnam_model_selector, false, false, 2);
- _midnam_custom_device_mode_selector.set_size_request(10, 30);
- _midnam_custom_device_mode_selector.set_border_width(2);
_midnam_custom_device_mode_selector.show ();
- _midi_controls_box.pack_start (_midnam_custom_device_mode_selector);
+ _midi_controls_box.pack_start (_midnam_custom_device_mode_selector, false, false, 2);
}
model_changed();
@@ -328,7 +339,7 @@ MidiTimeAxisView::set_route (boost::shared_ptr<Route> rt)
if (!color_mode.empty()) {
_color_mode = ColorMode (string_2_enum(color_mode, _color_mode));
if (_channel_selector && _color_mode == ChannelColors) {
- _channel_selector->set_channel_colors(CanvasNoteEvent::midi_channel_colors);
+ _channel_selector->set_channel_colors(NoteBase::midi_channel_colors);
}
}
@@ -525,7 +536,7 @@ MidiTimeAxisView::toggle_channel_selector ()
_channel_selector = new MidiChannelSelectorWindow (midi_track());
if (_color_mode == ChannelColors) {
- _channel_selector->set_channel_colors(CanvasNoteEvent::midi_channel_colors);
+ _channel_selector->set_channel_colors(NoteBase::midi_channel_colors);
} else {
_channel_selector->set_default_channel_color ();
}
@@ -599,7 +610,7 @@ MidiTimeAxisView::build_automation_action_menu (bool for_selection)
automation_items.push_back (SeparatorElem());
automation_items.push_back (CheckMenuElem (_("Fader"), sigc::mem_fun (*this, &MidiTimeAxisView::update_gain_track_visibility)));
- gain_automation_item = dynamic_cast<CheckMenuItem*> (&automation_items.back ());
+ gain_automation_item = dynamic_cast<Gtk::CheckMenuItem*> (&automation_items.back ());
gain_automation_item->set_active ((!for_selection || _editor.get_selection().tracks.size() == 1) &&
(gain_track && string_is_affirmative (gain_track->gui_property ("visible"))));
@@ -607,12 +618,12 @@ MidiTimeAxisView::build_automation_action_menu (bool for_selection)
if (!pan_tracks.empty()) {
automation_items.push_back (CheckMenuElem (_("Pan"), sigc::mem_fun (*this, &MidiTimeAxisView::update_pan_track_visibility)));
- pan_automation_item = dynamic_cast<CheckMenuItem*> (&automation_items.back ());
+ pan_automation_item = dynamic_cast<Gtk::CheckMenuItem*> (&automation_items.back ());
pan_automation_item->set_active ((!for_selection || _editor.get_selection().tracks.size() == 1) &&
(!pan_tracks.empty() && string_is_affirmative (pan_tracks.front()->gui_property ("visible"))));
set<Evoral::Parameter> const & params = _route->pannable()->what_can_be_automated ();
- for (set<Evoral::Parameter>::iterator p = params.begin(); p != params.end(); ++p) {
+ for (set<Evoral::Parameter>::const_iterator p = params.begin(); p != params.end(); ++p) {
_main_automation_menu_map[*p] = pan_automation_item;
}
}
@@ -699,7 +710,7 @@ MidiTimeAxisView::add_channel_command_menu_item (Menu_Helpers::MenuList& items,
}
}
- CheckMenuItem* cmi = static_cast<CheckMenuItem*>(&chn_items.back());
+ Gtk::CheckMenuItem* cmi = static_cast<Gtk::CheckMenuItem*>(&chn_items.back());
_channel_command_menu_map[fully_qualified_param] = cmi;
cmi->set_active (visible);
}
@@ -731,7 +742,7 @@ MidiTimeAxisView::add_channel_command_menu_item (Menu_Helpers::MenuList& items,
}
}
- CheckMenuItem* cmi = static_cast<CheckMenuItem*>(&items.back());
+ Gtk::CheckMenuItem* cmi = static_cast<Gtk::CheckMenuItem*>(&items.back());
_channel_command_menu_map[fully_qualified_param] = cmi;
cmi->set_active (visible);
@@ -773,7 +784,7 @@ MidiTimeAxisView::add_single_channel_controller_item(Menu_Helpers::MenuList& ctl
}
}
- CheckMenuItem* cmi = static_cast<CheckMenuItem*>(&ctl_items.back());
+ Gtk::CheckMenuItem* cmi = static_cast<Gtk::CheckMenuItem*>(&ctl_items.back());
_controller_menu_map[fully_qualified_param] = cmi;
cmi->set_active (visible);
@@ -829,7 +840,7 @@ MidiTimeAxisView::add_multi_channel_controller_item(Menu_Helpers::MenuList& ctl_
}
}
- CheckMenuItem* cmi = static_cast<CheckMenuItem*>(&chn_items.back());
+ Gtk::CheckMenuItem* cmi = static_cast<Gtk::CheckMenuItem*>(&chn_items.back());
_controller_menu_map[fully_qualified_param] = cmi;
cmi->set_active (visible);
}
@@ -1069,7 +1080,7 @@ MidiTimeAxisView::set_color_mode (ColorMode mode, bool force, bool redisplay, bo
if (_channel_selector) {
if (mode == ChannelColors) {
- _channel_selector->set_channel_colors(CanvasNoteEvent::midi_channel_colors);
+ _channel_selector->set_channel_colors(NoteBase::midi_channel_colors);
} else {
_channel_selector->set_default_channel_color();
}
@@ -1300,6 +1311,8 @@ MidiTimeAxisView::create_automation_child (const Evoral::Parameter& param, bool
}
boost::shared_ptr<AutomationTimeAxisView> track;
+ boost::shared_ptr<AutomationControl> control;
+
switch (param.type()) {
@@ -1307,6 +1320,10 @@ MidiTimeAxisView::create_automation_child (const Evoral::Parameter& param, bool
create_gain_automation_child (param, show);
break;
+ case MuteAutomation:
+ create_mute_automation_child (param, show);
+ break;
+
case PluginAutomation:
/* handled elsewhere */
break;
@@ -1318,15 +1335,19 @@ MidiTimeAxisView::create_automation_child (const Evoral::Parameter& param, bool
case MidiSystemExclusiveAutomation:
/* These controllers are region "automation" - they are owned
* by regions (and their MidiModels), not by the track. As a
- * result we do not create an AutomationList/Line for the track
- * ... except here we are doing something!! XXX
+ * result there is no AutomationList/Line for the track, but we create
+ * a controller for the user to write immediate events, so the editor
+ * can act as a control surface for the present MIDI controllers.
+ *
+ * TODO: Record manipulation of the controller to regions?
*/
+ control = _route->automation_control(param, true);
track.reset (new AutomationTimeAxisView (
_session,
_route,
- boost::shared_ptr<Automatable> (),
- boost::shared_ptr<AutomationControl> (),
+ control ? _route : boost::shared_ptr<Automatable> (),
+ control,
param,
_editor,
*this,
@@ -1362,20 +1383,24 @@ MidiTimeAxisView::route_active_changed ()
if (is_track()) {
if (_route->active()) {
controls_ebox.set_name ("MidiTrackControlsBaseUnselected");
+ time_axis_frame.set_name ("MidiTrackControlsBaseUnselected");
controls_base_selected_name = "MidiTrackControlsBaseSelected";
controls_base_unselected_name = "MidiTrackControlsBaseUnselected";
} else {
controls_ebox.set_name ("MidiTrackControlsBaseInactiveUnselected");
+ time_axis_frame.set_name ("MidiTrackControlsBaseInactiveUnselected");
controls_base_selected_name = "MidiTrackControlsBaseInactiveSelected";
controls_base_unselected_name = "MidiTrackControlsBaseInactiveUnselected";
}
} else {
if (_route->active()) {
controls_ebox.set_name ("BusControlsBaseUnselected");
+ time_axis_frame.set_name ("BusControlsBaseUnselected");
controls_base_selected_name = "BusControlsBaseSelected";
controls_base_unselected_name = "BusControlsBaseUnselected";
} else {
controls_ebox.set_name ("BusControlsBaseInactiveUnselected");
+ time_axis_frame.set_name ("BusControlsBaseInactiveUnselected");
controls_base_selected_name = "BusControlsBaseInactiveSelected";
controls_base_unselected_name = "BusControlsBaseInactiveUnselected";
}
@@ -1644,7 +1669,7 @@ MidiTimeAxisView::note_range_changed ()
void
MidiTimeAxisView::contents_height_changed ()
{
- _range_scroomer->set_size_request (-1, _view->child_height ());
+ _range_scroomer->queue_resize ();
}
void
@@ -1658,7 +1683,7 @@ MidiTimeAxisView::playback_channel_mode_changed ()
_playback_channel_status.set_markup (string_compose ("<b>%1</b>: <i>%2</i>", _("Play"), _("some")));
break;
case ForceChannel:
- _playback_channel_status.set_markup (string_compose ("<b>%1</b>: <i>%2>%3</i>", _("Play"), _("all"), ffs (midi_track()->get_playback_channel_mask())));
+ _playback_channel_status.set_markup (string_compose ("<b>%1</b>: <i>%2>%3</i>", _("Play"), _("all"), PBD::ffs (midi_track()->get_playback_channel_mask())));
break;
}
}
@@ -1674,7 +1699,7 @@ MidiTimeAxisView::capture_channel_mode_changed ()
_capture_channel_status.set_markup (string_compose ("<b>%1</b>: <i>%2</i>", _("Rec"), _("some")));
break;
case ForceChannel:
- _capture_channel_status.set_markup (string_compose ("<b>%1</b>: <i>%2>%3</i>", _("Rec"), _("all"), ffs (midi_track()->get_capture_channel_mask())));
+ _capture_channel_status.set_markup (string_compose ("<b>%1</b>: <i>%2>%3</i>", _("Rec"), _("all"), PBD::ffs (midi_track()->get_capture_channel_mask())));
break;
}
}
diff --git a/gtk2_ardour/midi_time_axis.h b/gtk2_ardour/midi_time_axis.h
index 12d62459b8..c591b3217a 100644
--- a/gtk2_ardour/midi_time_axis.h
+++ b/gtk2_ardour/midi_time_axis.h
@@ -37,7 +37,6 @@
#include "route_ui.h"
#include "enums.h"
#include "route_time_axis.h"
-#include "canvas.h"
#include "midi_streamview.h"
namespace MIDI {
@@ -65,9 +64,9 @@ class MidiChannelSelectorWindow;
class MidiTimeAxisView : public RouteTimeAxisView
{
- public:
- MidiTimeAxisView (PublicEditor&, ARDOUR::Session*, ArdourCanvas::Canvas& canvas);
- virtual ~MidiTimeAxisView ();
+ public:
+ MidiTimeAxisView (PublicEditor&, ARDOUR::Session*, ArdourCanvas::Canvas& canvas);
+ virtual ~MidiTimeAxisView ();
void set_route (boost::shared_ptr<ARDOUR::Route>);
@@ -101,11 +100,11 @@ class MidiTimeAxisView : public RouteTimeAxisView
uint8_t get_channel_for_add () const;
- protected:
+ protected:
void start_step_editing ();
void stop_step_editing ();
- private:
+ private:
sigc::signal<void, std::string, std::string> _midi_patch_settings_changed;
void model_changed();
@@ -115,7 +114,7 @@ class MidiTimeAxisView : public RouteTimeAxisView
void build_automation_action_menu (bool);
Gtk::Menu* build_note_mode_menu();
Gtk::Menu* build_color_mode_menu();
-
+
void set_note_mode (ARDOUR::NoteMode mode, bool apply_to_selection = false);
void set_color_mode (ARDOUR::ColorMode, bool force = false, bool redisplay = true, bool apply_to_selection = false);
void set_note_range (MidiStreamView::VisibleNoteRange range, bool apply_to_selection = false);
@@ -134,10 +133,9 @@ class MidiTimeAxisView : public RouteTimeAxisView
Gtk::RadioMenuItem* _meter_color_mode_item;
Gtk::RadioMenuItem* _channel_color_mode_item;
Gtk::RadioMenuItem* _track_color_mode_item;
- Gtk::Label _playback_channel_status;
- Gtk::Label _capture_channel_status;
- Gtk::HBox _channel_status_box;
- Gtk::Button _channel_selector_button;
+ Gtk::Label _playback_channel_status;
+ Gtk::Label _capture_channel_status;
+ Gtk::HBox _channel_status_box;
Gtk::VBox _midi_controls_box;
MidiChannelSelectorWindow* _channel_selector;
Gtk::ComboBoxText _midnam_model_selector;
@@ -155,8 +153,8 @@ class MidiTimeAxisView : public RouteTimeAxisView
void add_single_channel_controller_item (Gtk::Menu_Helpers::MenuList& ctl_items, int ctl, const std::string& name);
void add_multi_channel_controller_item (Gtk::Menu_Helpers::MenuList& ctl_items, int ctl, const std::string& name);
void build_controller_menu ();
- void toggle_channel_selector ();
- void channel_selector_hidden ();
+ void toggle_channel_selector ();
+ void channel_selector_hidden ();
void set_channel_mode (ARDOUR::ChannelMode, uint16_t);
void set_note_selection (uint8_t note);
@@ -177,8 +175,8 @@ class MidiTimeAxisView : public RouteTimeAxisView
StepEditor* _step_editor;
- void capture_channel_mode_changed();
- void playback_channel_mode_changed();
+ void capture_channel_mode_changed();
+ void playback_channel_mode_changed();
void ensure_pan_views (bool show = true);
@@ -191,4 +189,3 @@ class MidiTimeAxisView : public RouteTimeAxisView
};
#endif /* __ardour_midi_time_axis_h__ */
-
diff --git a/gtk2_ardour/midi_tracer.cc b/gtk2_ardour/midi_tracer.cc
index ea4b0c2d54..a92c5a57e3 100644
--- a/gtk2_ardour/midi_tracer.cc
+++ b/gtk2_ardour/midi_tracer.cc
@@ -23,6 +23,9 @@
#include <sys/time.h>
#include <time.h>
+#include "pbd/localtime_r.h"
+#include "pbd/timersub.h"
+
#include "midi++/parser.h"
#include "ardour/async_midi_port.h"
@@ -212,7 +215,7 @@ MidiTracer::tracer (Parser&, byte* msg, size_t len)
s = snprintf (buf, bufsize, "+%02" PRId64 ":%06" PRId64, (int64_t) delta.tv_sec, (int64_t) delta.tv_usec);
bufsize -= s;
} else {
- localtime_r (&tv.tv_sec, &now);
+ localtime_r ((const time_t*)&tv.tv_sec, &now);
s = strftime (buf, bufsize, "%H:%M:%S", &now);
bufsize -= s;
s += snprintf (&buf[s], bufsize, ".%06" PRId64, (int64_t) tv.tv_usec);
diff --git a/gtk2_ardour/missing_file_dialog.cc b/gtk2_ardour/missing_file_dialog.cc
index c7cb7f5edc..8f171947b4 100644
--- a/gtk2_ardour/missing_file_dialog.cc
+++ b/gtk2_ardour/missing_file_dialog.cc
@@ -19,6 +19,7 @@
#include "pbd/compose.h"
#include "pbd/replace_all.h"
#include "pbd/strsplit.h"
+#include "pbd/search_path.h"
#include "ardour/session.h"
@@ -31,7 +32,7 @@ using namespace ARDOUR;
using namespace PBD;
MissingFileDialog::MissingFileDialog (Session* s, const std::string& path, DataType type)
- : ArdourDialog (_("Missing File!"), true, false)
+ : ArdourDialog (_("Missing File"), true, false)
, filetype (type)
, chooser (_("Select a folder to search"), FILE_CHOOSER_ACTION_SELECT_FOLDER)
, use_chosen (_("Add chosen folder to search path, and try again"))
@@ -56,14 +57,18 @@ MissingFileDialog::MissingFileDialog (Session* s, const std::string& path, DataT
break;
}
- string dirstr;
+ vector<string> source_dirs = s->source_search_path (type);
+ vector<string>::iterator i = source_dirs.begin();
+ ostringstream oss;
+ oss << *i << endl;
- dirstr = s->source_search_path (type);
- replace_all (dirstr, ":", "\n");
+ while (++i != source_dirs.end()) {
+ oss << *i << endl;
+ }
- msg.set_justify (JUSTIFY_CENTER);
+ msg.set_justify (JUSTIFY_LEFT);
msg.set_markup (string_compose (_("%1 cannot find the %2 file\n\n<i>%3</i>\n\nin any of these folders:\n\n\
-<tt>%4</tt>\n\n"), PROGRAM_NAME, typestr, Glib::Markup::escape_text(path), Glib::Markup::escape_text (dirstr)));
+<tt>%4</tt>\n\n"), PROGRAM_NAME, typestr, Glib::Markup::escape_text(path), Glib::Markup::escape_text (oss.str())));
HBox* hbox = manage (new HBox);
hbox->pack_start (msg, false, true);
@@ -128,7 +133,7 @@ MissingFileDialog::add_chosen ()
break;
}
- split (str, dirs, ':');
+ split (str, dirs, G_SEARCHPATH_SEPARATOR);
newdir = chooser.get_filename ();
@@ -139,7 +144,7 @@ MissingFileDialog::add_chosen ()
}
if (!str.empty()) {
- str += ':';
+ str += G_SEARCHPATH_SEPARATOR;
}
str += newdir;
diff --git a/gtk2_ardour/mixer.bindings b/gtk2_ardour/mixer.bindings
index bd5ec90458..0eb9bfc878 100644
--- a/gtk2_ardour/mixer.bindings
+++ b/gtk2_ardour/mixer.bindings
@@ -14,8 +14,10 @@
<Binding key="Primary-c" action="Mixer/copy-processors"/>
<Binding key="Primary-v" action="Mixer/paste-processors"/>
<Binding key="Delete" action="Mixer/delete-processors"/>
+ <Binding key="Backspace" action="Mixer/delete-processors"/>
<Binding key="Return" action="Mixer/toggle-processors"/>
<Binding key="Primary-a" action="Mixer/select-all-processors"/>
<Binding key="Slash" action="Mixer/ab-plugins"/>
+ <Binding key="Escape" action="Mixer/select-none"/>
</Press>
</Bindings>
diff --git a/gtk2_ardour/mixer_actor.cc b/gtk2_ardour/mixer_actor.cc
index d7a1149a4b..ec6f8e40c9 100644
--- a/gtk2_ardour/mixer_actor.cc
+++ b/gtk2_ardour/mixer_actor.cc
@@ -67,7 +67,7 @@ MixerActor::register_actions ()
myactions.register_action ("Mixer", "select-all-processors", _("Select All (visible) Processors"), sigc::mem_fun (*this, &MixerActor::select_all_processors));
myactions.register_action ("Mixer", "toggle-processors", _("Toggle Selected Processors"), sigc::mem_fun (*this, &MixerActor::toggle_processors));
myactions.register_action ("Mixer", "ab-plugins", _("Toggle Selected Plugins"), sigc::mem_fun (*this, &MixerActor::ab_plugins));
-
+ myactions.register_action ("Mixer", "select-none", _("Deselect all srips and processors"), sigc::mem_fun (*this, &MixerActor::select_none));
myactions.register_action ("Mixer", "scroll-left", _("Scroll Mixer Window to the left"), sigc::mem_fun (*this, &MixerActor::scroll_left));
myactions.register_action ("Mixer", "scroll-right", _("Scroll Mixer Window to the left"), sigc::mem_fun (*this, &MixerActor::scroll_right));
@@ -85,7 +85,7 @@ MixerActor::load_bindings ()
std::string binding_file;
- if (find_file_in_search_path (ardour_config_search_path(), "mixer.bindings", binding_file)) {
+ if (find_file (ardour_config_search_path(), "mixer.bindings", binding_file)) {
bindings.load (binding_file);
info << string_compose (_("Loaded mixer bindings from %1"), binding_file) << endmsg;
} else {
@@ -172,6 +172,7 @@ MixerActor::unity_gain_action ()
{
set_route_targets_for_operation ();
+printf("setting gain to unity (?)");
BOOST_FOREACH(RouteUI* r, _route_targets) {
boost::shared_ptr<Route> rp = r->route();
if (rp) {
@@ -229,18 +230,6 @@ MixerActor::select_all_processors ()
}
}
void
-MixerActor::delete_processors ()
-{
- set_route_targets_for_operation ();
-
- BOOST_FOREACH(RouteUI* r, _route_targets) {
- MixerStrip* ms = dynamic_cast<MixerStrip*> (r);
- if (ms) {
- ms->delete_processors ();
- }
- }
-}
-void
MixerActor::toggle_processors ()
{
set_route_targets_for_operation ();
diff --git a/gtk2_ardour/mixer_actor.h b/gtk2_ardour/mixer_actor.h
index 0b856d338c..27fa61e905 100644
--- a/gtk2_ardour/mixer_actor.h
+++ b/gtk2_ardour/mixer_actor.h
@@ -59,10 +59,16 @@ class MixerActor : virtual public sigc::trackable
void cut_processors ();
void paste_processors ();
void select_all_processors ();
- void delete_processors ();
void toggle_processors ();
void ab_plugins ();
+ //this op is different because it checks _all_ mixer strips, and deletes selected plugins on any of them (ignores track selections)
+ //BUT... note that we have used mixerstrip's "Enter" to enforce the rule that only one strip will have an active selection
+ virtual void delete_processors () = 0;
+
+ virtual void select_none () = 0;
+
+
/* these actions need access to a Session, do defer to
a derived class
*/
diff --git a/gtk2_ardour/mixer_group_tabs.cc b/gtk2_ardour/mixer_group_tabs.cc
index 5878c3d3ac..03e9409df2 100644
--- a/gtk2_ardour/mixer_group_tabs.cc
+++ b/gtk2_ardour/mixer_group_tabs.cc
@@ -22,16 +22,23 @@
#include "gtkmm2ext/utils.h"
#include "ardour/route_group.h"
+
+#include "canvas/utils.h"
+
+#include "ardour_ui.h"
#include "mixer_group_tabs.h"
#include "mixer_strip.h"
#include "mixer_ui.h"
+#include "rgb_macros.h"
+#include "route_group_dialog.h"
#include "utils.h"
+
#include "i18n.h"
-#include "route_group_dialog.h"
using namespace std;
using namespace Gtk;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
MixerGroupTabs::MixerGroupTabs (Mixer_UI* m)
@@ -91,13 +98,17 @@ void
MixerGroupTabs::draw_tab (cairo_t* cr, Tab const & tab) const
{
double const arc_radius = get_height();
-
+ double r, g, b, a;
+
if (tab.group && tab.group->is_active()) {
- cairo_set_source_rgba (cr, tab.color.get_red_p (), tab.color.get_green_p (), tab.color.get_blue_p (), 1);
+ ArdourCanvas::color_to_rgba (tab.color, r, g, b, a);
} else {
- cairo_set_source_rgba (cr, 1, 1, 1, 0.2);
+ ArdourCanvas::color_to_rgba (ARDOUR_UI::config()->get_canvasvar_InactiveGroupTab(), r, g, b, a);
}
+
+ a = 1.0;
+ cairo_set_source_rgba (cr, r, g, b, a);
cairo_arc (cr, tab.from + arc_radius, get_height(), arc_radius, M_PI, 3 * M_PI / 2);
cairo_line_to (cr, tab.to - arc_radius, 0);
cairo_arc (cr, tab.to - arc_radius, get_height(), arc_radius, 3 * M_PI / 2, 2 * M_PI);
@@ -109,8 +120,11 @@ MixerGroupTabs::draw_tab (cairo_t* cr, Tab const & tab) const
cairo_text_extents_t ext;
cairo_text_extents (cr, tab.group->name().c_str(), &ext);
+
+ ArdourCanvas::Color c = ArdourCanvas::contrasting_text_color (ArdourCanvas::rgba_to_color (r, g, b, a));
+ ArdourCanvas::color_to_rgba (c, r, g, b, a);
- cairo_set_source_rgb (cr, 1, 1, 1);
+ cairo_set_source_rgb (cr, r, g, b);
cairo_move_to (cr, tab.from + (tab.to - tab.from - f.second) / 2, get_height() - ext.height / 2);
cairo_save (cr);
cairo_show_text (cr, f.first.c_str());
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index 284f46ce4b..ceb6e08dd2 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -69,15 +69,19 @@
#include "i18n.h"
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtk;
using namespace Gtkmm2ext;
using namespace std;
using namespace ArdourMeter;
-int MixerStrip::scrollbar_height = 0;
+MixerStrip* MixerStrip::_entered_mixer_strip;
+
PBD::Signal1<void,MixerStrip*> MixerStrip::CatchDeletion;
+static const int _button_vpad = 4;
+
MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, bool in_mixer)
: AxisView(sess)
, RouteUI (sess)
@@ -87,15 +91,14 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, bool in_mixer)
, gpm (sess, 250)
, panners (sess)
, button_size_group (Gtk::SizeGroup::create (Gtk::SIZE_GROUP_HORIZONTAL))
- , button_table (3, 1)
- , rec_solo_table (2, 2)
- , top_button_table (1, 2)
- , middle_button_table (1, 2)
- , bottom_button_table (1, 2)
+ , rec_mon_table (2, 2)
+ , solo_iso_table (1, 2)
+ , mute_solo_table (1, 2)
+ , bottom_button_table (1, 3)
, meter_point_button (_("pre"))
, midi_input_enable_button (0)
, _comment_button (_("Comments"))
- , _visibility (X_("mixer-strip-visibility"))
+ , _visibility (X_("mixer-element-visibility"))
{
init ();
@@ -117,13 +120,14 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, boost::shared_ptr<Route> rt
, gpm (sess, 250)
, panners (sess)
, button_size_group (Gtk::SizeGroup::create (Gtk::SIZE_GROUP_HORIZONTAL))
- , button_table (3, 1)
- , middle_button_table (1, 2)
- , bottom_button_table (1, 2)
+ , rec_mon_table (2, 2)
+ , solo_iso_table (1, 2)
+ , mute_solo_table (1, 2)
+ , bottom_button_table (1, 3)
, meter_point_button (_("pre"))
, midi_input_enable_button (0)
, _comment_button (_("Comments"))
- , _visibility (X_("mixer-strip-visibility"))
+ , _visibility (X_("mixer-element-visibility"))
{
init ();
set_route (rt);
@@ -132,13 +136,11 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, boost::shared_ptr<Route> rt
void
MixerStrip::init ()
{
- input_selector = 0;
- output_selector = 0;
+ _entered_mixer_strip= 0;
group_menu = 0;
route_ops_menu = 0;
ignore_comment_edit = false;
ignore_toggle = false;
- comment_window = 0;
comment_area = 0;
_width_owner = 0;
spacer = 0;
@@ -157,69 +159,64 @@ MixerStrip::init ()
hide_button.set_image(::get_icon("hide"));
ARDOUR_UI::instance()->set_tip (&hide_button, _("Hide this mixer strip"));
+ input_button_box.set_spacing(2);
+
input_button.set_text (_("Input"));
input_button.set_name ("mixer strip button");
- input_button.set_size_request (-1, 20);
input_button_box.pack_start (input_button, true, true);
output_button.set_text (_("Output"));
output_button.set_name ("mixer strip button");
- Gtkmm2ext::set_size_request_to_display_given_text (output_button, longest_label.c_str(), 4, 4);
ARDOUR_UI::instance()->set_tip (&meter_point_button, _("Click to select metering point"), "");
meter_point_button.set_name ("mixer strip button");
- /* TRANSLATORS: this string should be longest of the strings
- used to describe meter points. In english, it's "input".
- */
- set_size_request_to_display_given_text (meter_point_button, _("tupni"), 5, 5);
-
- bottom_button_table.attach (meter_point_button, 1, 2, 0, 1);
+ bottom_button_table.attach (meter_point_button, 2, 3, 0, 1);
meter_point_button.signal_button_press_event().connect (sigc::mem_fun (gpm, &GainMeter::meter_press), false);
meter_point_button.signal_button_release_event().connect (sigc::mem_fun (gpm, &GainMeter::meter_release), false);
-
+
hide_button.set_events (hide_button.get_events() & ~(Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK));
- monitor_input_button->set_diameter (3);
- monitor_disk_button->set_diameter (3);
-
- solo_isolated_led = manage (new ArdourButton (ArdourButton::led_default_elements));
- solo_isolated_led->show ();
- solo_isolated_led->set_diameter (3);
- solo_isolated_led->set_no_show_all (true);
- solo_isolated_led->set_name (X_("solo isolate"));
- solo_isolated_led->add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK);
- solo_isolated_led->signal_button_release_event().connect (sigc::mem_fun (*this, &RouteUI::solo_isolate_button_release));
+ solo_isolated_led = manage (new ArdourButton (ArdourButton::led_default_elements));
+ solo_isolated_led->show ();
+ solo_isolated_led->set_no_show_all (true);
+ solo_isolated_led->set_name (X_("solo isolate"));
+ solo_isolated_led->add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK);
+ solo_isolated_led->signal_button_release_event().connect (sigc::mem_fun (*this, &RouteUI::solo_isolate_button_release), false);
UI::instance()->set_tip (solo_isolated_led, _("Isolate Solo"), "");
- solo_safe_led = manage (new ArdourButton (ArdourButton::led_default_elements));
- solo_safe_led->show ();
- solo_safe_led->set_diameter (3);
- solo_safe_led->set_no_show_all (true);
- solo_safe_led->set_name (X_("solo safe"));
- solo_safe_led->add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK);
- solo_safe_led->signal_button_release_event().connect (sigc::mem_fun (*this, &RouteUI::solo_safe_button_release));
+ solo_safe_led = manage (new ArdourButton (ArdourButton::led_default_elements));
+ solo_safe_led->show ();
+ solo_safe_led->set_no_show_all (true);
+ solo_safe_led->set_name (X_("solo safe"));
+ solo_safe_led->add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK);
+ solo_safe_led->signal_button_release_event().connect (sigc::mem_fun (*this, &RouteUI::solo_safe_button_release), false);
UI::instance()->set_tip (solo_safe_led, _("Lock Solo Status"), "");
- solo_safe_led->set_text (_("lock"));
- solo_isolated_led->set_text (_("iso"));
-
- top_button_table.set_homogeneous (true);
- top_button_table.set_spacings (2);
- top_button_table.attach (*monitor_input_button, 0, 1, 0, 1);
- top_button_table.attach (*monitor_disk_button, 1, 2, 0, 1);
- top_button_table.show ();
+ solo_safe_led->set_text (_("Lock"));
+ solo_isolated_led->set_text (_("Iso"));
- rec_solo_table.set_homogeneous (true);
- rec_solo_table.set_row_spacings (2);
- rec_solo_table.set_col_spacings (2);
- rec_solo_table.attach (*solo_isolated_led, 1, 2, 0, 1);
- rec_solo_table.attach (*solo_safe_led, 1, 2, 1, 2);
- rec_solo_table.show ();
+ solo_iso_table.set_homogeneous (true);
+ solo_iso_table.set_spacings (2);
+ if (!ARDOUR::Profile->get_trx()) {
+ solo_iso_table.attach (*solo_isolated_led, 0, 1, 0, 1);
+ solo_iso_table.attach (*solo_safe_led, 1, 2, 0, 1);
+ }
+ solo_iso_table.show ();
- button_table.set_homogeneous (false);
- button_table.set_spacings (2);
+ rec_mon_table.set_homogeneous (true);
+ rec_mon_table.set_row_spacings (2);
+ rec_mon_table.set_col_spacings (2);
+ if (ARDOUR::Profile->get_mixbus()) {
+ rec_mon_table.resize (1, 3);
+ rec_mon_table.attach (*monitor_input_button, 1, 2, 0, 1);
+ rec_mon_table.attach (*monitor_disk_button, 2, 3, 0, 1);
+ } else if (!ARDOUR::Profile->get_trx()) {
+ rec_mon_table.attach (*monitor_input_button, 1, 2, 0, 1);
+ rec_mon_table.attach (*monitor_disk_button, 1, 2, 1, 2);
+ }
+ rec_mon_table.show ();
if (solo_isolated_led) {
button_size_group->add_widget (*solo_isolated_led);
@@ -227,71 +224,80 @@ MixerStrip::init ()
if (solo_safe_led) {
button_size_group->add_widget (*solo_safe_led);
}
- if (rec_enable_button) {
- button_size_group->add_widget (*rec_enable_button);
- }
- if (monitor_disk_button) {
- button_size_group->add_widget (*monitor_disk_button);
- }
- if (monitor_input_button) {
- button_size_group->add_widget (*monitor_input_button);
- }
-
- button_table.attach (name_button, 0, 1, 0, 1);
- button_table.attach (input_button_box, 0, 1, 1, 2);
- button_table.attach (_invert_button_box, 0, 1, 2, 3);
- middle_button_table.set_homogeneous (true);
- middle_button_table.set_spacings (2);
+ if (!ARDOUR::Profile->get_mixbus()) {
+ if (rec_enable_button) {
+ button_size_group->add_widget (*rec_enable_button);
+ }
+ if (monitor_disk_button) {
+ button_size_group->add_widget (*monitor_disk_button);
+ }
+ if (monitor_input_button) {
+ button_size_group->add_widget (*monitor_input_button);
+ }
+ }
+
+ mute_solo_table.set_homogeneous (true);
+ mute_solo_table.set_spacings (2);
bottom_button_table.set_spacings (2);
bottom_button_table.set_homogeneous (true);
-// bottom_button_table.attach (group_button, 0, 1, 0, 1);
+ bottom_button_table.attach (group_button, 1, 2, 0, 1);
bottom_button_table.attach (gpm.gain_automation_state_button, 0, 1, 0, 1);
name_button.set_name ("mixer strip button");
- name_button.set_text (" "); /* non empty text, forces creation of the layout */
- name_button.set_text (""); /* back to empty */
- name_button.layout()->set_ellipsize (Pango::ELLIPSIZE_END);
+ name_button.set_text_ellipsize (Pango::ELLIPSIZE_END);
name_button.signal_size_allocate().connect (sigc::mem_fun (*this, &MixerStrip::name_button_resized));
- Gtkmm2ext::set_size_request_to_display_given_text (name_button, longest_label.c_str(), 2, 2);
- name_button.set_size_request (-1, 20);
ARDOUR_UI::instance()->set_tip (&group_button, _("Mix group"), "");
group_button.set_name ("mixer strip button");
- Gtkmm2ext::set_size_request_to_display_given_text (group_button, "Group", 2, 2);
_comment_button.set_name (X_("mixer strip button"));
- _comment_button.signal_clicked.connect (sigc::mem_fun (*this, &MixerStrip::toggle_comment_editor));
+ _comment_button.signal_clicked.connect (sigc::mem_fun (*this, &RouteUI::toggle_comment_editor));
- global_vpacker.set_border_width (0);
+ global_vpacker.set_border_width (1);
global_vpacker.set_spacing (0);
width_button.set_name ("mixer strip button");
hide_button.set_name ("mixer strip button");
- top_event_box.set_name ("mixer strip button");
width_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::width_button_pressed), false);
hide_button.signal_clicked.connect (sigc::mem_fun(*this, &MixerStrip::hide_clicked));
+// width_hide_box.set_border_width (1);
+ width_hide_box.set_spacing (2);
width_hide_box.pack_start (width_button, false, true);
- width_hide_box.pack_start (top_event_box, true, true);
+ width_hide_box.pack_start (number_label, true, true);
width_hide_box.pack_end (hide_button, false, true);
- whvbox.pack_start (width_hide_box, true, true);
+ number_label.set_text ("-");
+ number_label.set_elements((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::Text|ArdourButton::Inactive));
+ number_label.set_no_show_all ();
+ number_label.set_name ("tracknumber label");
+ number_label.set_fixed_colors (0x80808080, 0x80808080);
+ number_label.set_alignment (.5, .5);
+ number_label.set_fallthrough_to_parent (true);
global_vpacker.set_spacing (2);
- global_vpacker.pack_start (whvbox, Gtk::PACK_SHRINK);
- global_vpacker.pack_start (button_table, Gtk::PACK_SHRINK);
- global_vpacker.pack_start (processor_box, true, true);
+ if (!ARDOUR::Profile->get_trx()) {
+ global_vpacker.pack_start (width_hide_box, Gtk::PACK_SHRINK);
+ global_vpacker.pack_start (name_button, Gtk::PACK_SHRINK);
+ global_vpacker.pack_start (input_button_box, Gtk::PACK_SHRINK);
+ global_vpacker.pack_start (_invert_button_box, Gtk::PACK_SHRINK);
+ global_vpacker.pack_start (processor_box, true, true);
+ }
global_vpacker.pack_start (panners, Gtk::PACK_SHRINK);
- global_vpacker.pack_start (top_button_table, Gtk::PACK_SHRINK);
- global_vpacker.pack_start (rec_solo_table, Gtk::PACK_SHRINK);
- global_vpacker.pack_start (middle_button_table, Gtk::PACK_SHRINK);
+ global_vpacker.pack_start (rec_mon_table, Gtk::PACK_SHRINK);
+ global_vpacker.pack_start (solo_iso_table, Gtk::PACK_SHRINK);
+ global_vpacker.pack_start (mute_solo_table, Gtk::PACK_SHRINK);
global_vpacker.pack_start (gpm, Gtk::PACK_SHRINK);
global_vpacker.pack_start (bottom_button_table, Gtk::PACK_SHRINK);
- global_vpacker.pack_start (output_button, Gtk::PACK_SHRINK);
- global_vpacker.pack_start (_comment_button, Gtk::PACK_SHRINK);
+ if (!ARDOUR::Profile->get_trx()) {
+ global_vpacker.pack_start (output_button, Gtk::PACK_SHRINK);
+ global_vpacker.pack_start (_comment_button, Gtk::PACK_SHRINK);
+ } else {
+ global_vpacker.pack_start (name_button, Gtk::PACK_SHRINK);
+ }
global_frame.add (global_vpacker);
global_frame.set_shadow_type (Gtk::SHADOW_IN);
@@ -311,11 +317,16 @@ MixerStrip::init ()
_session->engine().Running.connect (*this, invalidator (*this), boost::bind (&MixerStrip::engine_running, this), gui_context());
input_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::input_press), false);
+ input_button.signal_button_release_event().connect (sigc::mem_fun(*this, &MixerStrip::input_release), false);
+
output_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::output_press), false);
+ output_button.signal_button_release_event().connect (sigc::mem_fun(*this, &MixerStrip::output_release), false);
- /* ditto for this button and busses */
+ number_label.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::number_button_button_press), false);
name_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::name_button_button_press), false);
+ name_button.signal_button_release_event().connect (sigc::mem_fun(*this, &MixerStrip::name_button_button_release), false);
+
group_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::select_route_group), false);
_width = (Width) -1;
@@ -350,16 +361,21 @@ MixerStrip::init ()
must be the same as those used in RCOptionEditor so that the configuration changes
are recognised when they occur.
*/
- _visibility.add (&_invert_button_box, X_("PhaseInvert"), _("Phase Invert"));
- _visibility.add (solo_safe_led, X_("SoloSafe"), _("Solo Safe"), true, boost::bind (&MixerStrip::override_solo_visibility, this));
- _visibility.add (solo_isolated_led, X_("SoloIsolated"), _("Solo Isolated"), true, boost::bind (&MixerStrip::override_solo_visibility, this));
- _visibility.add (&_comment_button, X_("Comments"), _("Comments"));
- _visibility.add (&group_button, X_("Group"), _("Group"));
- _visibility.add (&meter_point_button, X_("MeterPoint"), _("Meter Point"));
+ _visibility.add (&input_button_box, X_("Input"), _("Input"), false);
+ _visibility.add (&_invert_button_box, X_("PhaseInvert"), _("Phase Invert"), false);
+ _visibility.add (&rec_mon_table, X_("RecMon"), _("Record & Monitor"), false);
+ _visibility.add (&solo_iso_table, X_("SoloIsoLock"), _("Solo Iso / Lock"), false);
+ _visibility.add (&output_button, X_("Output"), _("Output"), false);
+ _visibility.add (&_comment_button, X_("Comments"), _("Comments"), false);
- parameter_changed (X_("mixer-strip-visibility"));
+ parameter_changed (X_("mixer-element-visibility"));
Config->ParameterChanged.connect (_config_connection, MISSING_INVALIDATOR, boost::bind (&MixerStrip::parameter_changed, this, _1), gui_context());
+ _session->config.ParameterChanged.connect (_config_connection, MISSING_INVALIDATOR, boost::bind (&MixerStrip::parameter_changed, this, _1), gui_context());
+
+ //watch for mouse enter/exit so we can do some stuff
+ signal_enter_notify_event().connect (sigc::mem_fun(*this, &MixerStrip::mixer_strip_enter_event ));
+ signal_leave_notify_event().connect (sigc::mem_fun(*this, &MixerStrip::mixer_strip_leave_event ));
gpm.LevelMeterButtonPress.connect_same_thread (_level_meter_connection, boost::bind (&MixerStrip::level_meter_button_press, this, _1));
}
@@ -368,22 +384,63 @@ MixerStrip::~MixerStrip ()
{
CatchDeletion (this);
- delete input_selector;
- delete output_selector;
- delete comment_window;
+ if (this ==_entered_mixer_strip)
+ _entered_mixer_strip = NULL;
+}
+
+bool
+MixerStrip::mixer_strip_enter_event (GdkEventCrossing* /*ev*/)
+{
+ _entered_mixer_strip = this;
+
+ //although we are triggering on the "enter", to the user it will appear that it is happenin on the "leave"
+ //because the mixerstrip control is a parent that encompasses the strip
+ deselect_all_processors();
+
+ return false;
+}
+
+bool
+MixerStrip::mixer_strip_leave_event (GdkEventCrossing *ev)
+{
+ //if we have moved outside our strip, but not into a child view, then deselect ourselves
+ if ( !(ev->detail == GDK_NOTIFY_INFERIOR) ) {
+ _entered_mixer_strip= 0;
+
+ //clear keyboard focus in the gain display. this is cheesy but fixes a longstanding "bug" where the user starts typing in the gain entry, and leaves it active, thereby prohibiting other keybindings from working
+ gpm.gain_display.set_sensitive(false);
+ gpm.show_gain();
+ gpm.gain_display.set_sensitive(true);
+
+ //if we leave this mixer strip we need to clear out any selections
+ //processor_box.processor_display.select_none(); //but this doesn't work, because it gets triggered when (for example) you open the menu or start a drag
+ }
+
+ return false;
}
void
MixerStrip::set_route (boost::shared_ptr<Route> rt)
{
+ //the rec/monitor stuff only shows up for tracks.
+ //the show_sends only shows up for buses.
+ //remove them all here, and we may add them back later
+ if (show_sends_button->get_parent()) {
+ rec_mon_table.remove (*show_sends_button);
+ }
if (rec_enable_button->get_parent()) {
- rec_solo_table.remove (*rec_enable_button);
+ rec_mon_table.remove (*rec_enable_button);
}
-
- if (show_sends_button->get_parent()) {
- rec_solo_table.remove (*show_sends_button);
+ if (monitor_input_button->get_parent()) {
+ rec_mon_table.remove (*monitor_input_button);
}
-
+ if (monitor_disk_button->get_parent()) {
+ rec_mon_table.remove (*monitor_disk_button);
+ }
+ if (group_button.get_parent()) {
+ bottom_button_table.remove (group_button);
+ }
+
RouteUI::set_route (rt);
/* ProcessorBox needs access to _route so that it can read
@@ -396,12 +453,6 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
mute_changed (0);
update_solo_display ();
- delete input_selector;
- input_selector = 0;
-
- delete output_selector;
- output_selector = 0;
-
revert_to_default_display ();
/* unpack these from the parent and stuff them into our own
@@ -417,41 +468,44 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
gpm.set_type (rt->meter_type());
- middle_button_table.attach (gpm.gain_display,0,1,1,2, EXPAND|FILL, EXPAND);
- middle_button_table.attach (gpm.peak_display,1,2,1,2);
+ mute_solo_table.attach (gpm.gain_display,0,1,1,2, EXPAND|FILL, EXPAND);
+ mute_solo_table.attach (gpm.peak_display,1,2,1,2, EXPAND|FILL, EXPAND);
if (solo_button->get_parent()) {
- middle_button_table.remove (*solo_button);
+ mute_solo_table.remove (*solo_button);
}
if (mute_button->get_parent()) {
- middle_button_table.remove (*mute_button);
+ mute_solo_table.remove (*mute_button);
}
if (route()->is_master()) {
- middle_button_table.attach (*mute_button, 0, 2, 0, 1);
+ mute_solo_table.attach (*mute_button, 0, 2, 0, 1);
solo_button->hide ();
mute_button->show ();
- rec_solo_table.hide ();
+ rec_mon_table.hide ();
+ if (solo_iso_table.get_parent()) {
+ solo_iso_table.get_parent()->remove(solo_iso_table);
+ }
} else {
- middle_button_table.attach (*mute_button, 0, 1, 0, 1);
- middle_button_table.attach (*solo_button, 1, 2, 0, 1);
+ bottom_button_table.attach (group_button, 1, 2, 0, 1);
+ mute_solo_table.attach (*mute_button, 0, 1, 0, 1);
+ mute_solo_table.attach (*solo_button, 1, 2, 0, 1);
mute_button->show ();
solo_button->show ();
- rec_solo_table.show ();
+ rec_mon_table.show ();
}
- if (_mixer_owned && (route()->is_master() || route()->is_monitor())) {
+ if (_mixer_owned && route()->is_master() ) {
- if (scrollbar_height == 0) {
- HScrollbar scrollbar;
- Gtk::Requisition requisition(scrollbar.size_request ());
- scrollbar_height = requisition.height;
- }
+ HScrollbar scrollbar;
+ Gtk::Requisition requisition(scrollbar.size_request ());
+ int scrollbar_height = requisition.height;
spacer = manage (new EventBox);
- spacer->set_size_request (-1, scrollbar_height);
+ spacer->set_size_request (-1, scrollbar_height+2);
global_vpacker.pack_start (*spacer, false, false);
+ spacer->show();
}
if (is_track()) {
@@ -493,16 +547,26 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
if (is_track ()) {
- rec_solo_table.attach (*rec_enable_button, 0, 1, 0, 2);
+ rec_mon_table.attach (*rec_enable_button, 0, 1, 0, ARDOUR::Profile->get_mixbus() ? 1 : 2);
rec_enable_button->set_sensitive (_session->writable());
rec_enable_button->show();
+ if (ARDOUR::Profile->get_mixbus()) {
+ rec_mon_table.attach (*monitor_input_button, 1, 2, 0, 1);
+ rec_mon_table.attach (*monitor_disk_button, 2, 3, 0, 1);
+ } else if (ARDOUR::Profile->get_trx()) {
+ rec_mon_table.attach (*monitor_input_button, 1, 2, 0, 2);
+ } else {
+ rec_mon_table.attach (*monitor_input_button, 1, 2, 0, 1);
+ rec_mon_table.attach (*monitor_disk_button, 1, 2, 1, 2);
+ }
+
} else {
/* non-master bus */
if (!_route->is_master()) {
- rec_solo_table.attach (*show_sends_button, 0, 1, 0, 2);
+ rec_mon_table.attach (*show_sends_button, 0, 1, 0, 2);
show_sends_button->show();
}
}
@@ -528,7 +592,7 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
audio_track()->DiskstreamChanged.connect (route_connections, invalidator (*this), boost::bind (&MixerStrip::diskstream_changed, this), gui_context());
}
- _route->comment_changed.connect (route_connections, invalidator (*this), boost::bind (&MixerStrip::comment_changed, this, _1), gui_context());
+ _route->comment_changed.connect (route_connections, invalidator (*this), boost::bind (&MixerStrip::setup_comment_button, this), gui_context());
_route->PropertyChanged.connect (route_connections, invalidator (*this), boost::bind (&MixerStrip::property_changed, this, _1), gui_context());
set_stuff_from_route ();
@@ -561,6 +625,7 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
if (!route()->is_master() && !route()->is_monitor()) {
/* we don't allow master or control routes to be hidden */
hide_button.show();
+ number_label.show();
}
gpm.reset_peak_display ();
@@ -569,11 +634,9 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
width_button.show();
width_hide_box.show();
- whvbox.show ();
global_frame.show();
global_vpacker.show();
- button_table.show();
- middle_button_table.show();
+ mute_solo_table.show();
bottom_button_table.show();
gpm.show_all ();
meter_point_button.show();
@@ -584,7 +647,7 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
group_button.show();
gpm.gain_automation_state_button.show();
- parameter_changed ("mixer-strip-visibility");
+ parameter_changed ("mixer-element-visibility");
show ();
}
@@ -624,8 +687,7 @@ MixerStrip::set_width_enum (Width w, void* owner)
case Wide:
if (show_sends_button) {
- show_sends_button->set_text (_("Aux\nSends"));
- show_sends_button->layout()->set_alignment (Pango::ALIGN_CENTER);
+ show_sends_button->set_text (_("Aux"));
}
gpm.gain_automation_style_button.set_text (
@@ -641,8 +703,7 @@ MixerStrip::set_width_enum (Width w, void* owner)
}
- Gtkmm2ext::set_size_request_to_display_given_text (name_button, longest_label.c_str(), 2, 2);
- set_size_request (-1, -1);
+ set_size_request (max (110, gpm.get_gm_width()+5), -1);
break;
case Narrow:
@@ -664,8 +725,7 @@ MixerStrip::set_width_enum (Width w, void* owner)
panners.short_astate_string(_route->panner()->automation_state()));
}
- Gtkmm2ext::set_size_request_to_display_given_text (name_button, "long", 2, 2);
- set_size_request (max (50, gpm.get_gm_width()), -1);
+ set_size_request (max (60, gpm.get_gm_width() + 10), -1);
break;
}
@@ -699,6 +759,18 @@ struct RouteCompareByName {
};
gint
+MixerStrip::output_release (GdkEventButton *ev)
+{
+ switch (ev->button) {
+ case 1:
+ edit_output_configuration ();
+ break;
+ }
+
+ return false;
+}
+
+gint
MixerStrip::output_press (GdkEventButton *ev)
{
using namespace Menu_Helpers;
@@ -712,8 +784,7 @@ MixerStrip::output_press (GdkEventButton *ev)
switch (ev->button) {
case 1:
- edit_output_configuration ();
- break;
+ return false; //wait for the mouse-up to pop the dialog
case 3:
{
@@ -775,51 +846,22 @@ MixerStrip::output_press (GdkEventButton *ev)
return TRUE;
}
-void
-MixerStrip::edit_output_configuration ()
+gint
+MixerStrip::input_release (GdkEventButton *ev)
{
- if (output_selector == 0) {
-
- boost::shared_ptr<Send> send;
- boost::shared_ptr<IO> output;
-
- if ((send = boost::dynamic_pointer_cast<Send>(_current_delivery)) != 0) {
- if (!boost::dynamic_pointer_cast<InternalSend>(send)) {
- output = send->output();
- } else {
- output = _route->output ();
- }
- } else {
- output = _route->output ();
- }
+ switch (ev->button) {
- output_selector = new IOSelectorWindow (_session, output);
- }
+ case 1:
+ edit_input_configuration ();
+ break;
+ default:
+ break;
- if (output_selector->is_visible()) {
- output_selector->get_toplevel()->get_window()->raise();
- } else {
- output_selector->present ();
}
- output_selector->set_keep_above (true);
+ return false;
}
-void
-MixerStrip::edit_input_configuration ()
-{
- if (input_selector == 0) {
- input_selector = new IOSelectorWindow (_session, _route->input());
- }
-
- if (input_selector->is_visible()) {
- input_selector->get_toplevel()->get_window()->raise();
- } else {
- input_selector->present ();
- }
-
- input_selector->set_keep_above (true);
-}
gint
MixerStrip::input_press (GdkEventButton *ev)
@@ -842,8 +884,7 @@ MixerStrip::input_press (GdkEventButton *ev)
switch (ev->button) {
case 1:
- edit_input_configuration ();
- break;
+ return false; //don't handle the mouse-down here. wait for mouse-up to pop the menu
case 3:
{
@@ -993,18 +1034,11 @@ MixerStrip::maybe_add_bundle_to_output_menu (boost::shared_ptr<Bundle> b, ARDOUR
void
MixerStrip::update_diskstream_display ()
{
- if (is_track()) {
+ if (is_track() && input_selector) {
+ input_selector->hide_all ();
+ }
- if (input_selector) {
- input_selector->hide_all ();
- }
-
- route_color_changed ();
-
- } else {
-
- show_passthru_color ();
- }
+ route_color_changed ();
}
void
@@ -1353,79 +1387,7 @@ MixerStrip::setup_comment_button ()
ARDOUR_UI::instance()->set_tip (
_comment_button, _route->comment().empty() ? _("Click to Add/Edit Comments") : _route->comment()
);
-}
-void
-MixerStrip::comment_editor_done_editing ()
-{
- string const str = comment_area->get_buffer()->get_text();
- if (str == _route->comment ()) {
- return;
- }
-
- _route->set_comment (str, this);
- setup_comment_button ();
-}
-
-void
-MixerStrip::toggle_comment_editor ()
-{
- if (ignore_toggle) {
- return;
- }
-
- if (comment_window && comment_window->is_visible ()) {
- comment_window->hide ();
- } else {
- open_comment_editor ();
- }
-}
-
-void
-MixerStrip::open_comment_editor ()
-{
- if (comment_window == 0) {
- setup_comment_editor ();
- }
-
- string title;
- title = _route->name();
- title += _(": comment editor");
-
- comment_window->set_title (title);
- comment_window->present();
-}
-
-void
-MixerStrip::setup_comment_editor ()
-{
- comment_window = new ArdourWindow (""); // title will be reset to show route
- comment_window->set_skip_taskbar_hint (true);
- comment_window->signal_hide().connect (sigc::mem_fun(*this, &MixerStrip::comment_editor_done_editing));
- comment_window->set_default_size (400, 200);
-
- comment_area = manage (new TextView());
- comment_area->set_name ("MixerTrackCommentArea");
- comment_area->set_wrap_mode (WRAP_WORD);
- comment_area->set_editable (true);
- comment_area->get_buffer()->set_text (_route->comment());
- comment_area->show ();
-
- comment_window->add (*comment_area);
-}
-
-void
-MixerStrip::comment_changed (void *src)
-{
- ENSURE_GUI_THREAD (*this, &MixerStrip::comment_changed, src)
-
- if (src != this) {
- ignore_comment_edit = true;
- if (comment_area) {
- comment_area->get_buffer()->set_text (_route->comment());
- }
- ignore_comment_edit = false;
- }
}
bool
@@ -1480,7 +1442,7 @@ void
MixerStrip::route_color_changed ()
{
name_button.modify_bg (STATE_NORMAL, color());
- top_event_box.modify_bg (STATE_NORMAL, color());
+ number_label.set_fixed_colors (gdk_color_to_rgba (color()), gdk_color_to_rgba (color()));
reset_strip_style ();
}
@@ -1499,7 +1461,16 @@ MixerStrip::build_route_ops_menu ()
MenuList& items = route_ops_menu->items();
- items.push_back (MenuElem (_("Comments..."), sigc::mem_fun (*this, &MixerStrip::open_comment_editor)));
+ items.push_back (MenuElem (_("Color..."), sigc::mem_fun (*this, &RouteUI::choose_color)));
+
+ items.push_back (MenuElem (_("Comments..."), sigc::mem_fun (*this, &RouteUI::open_comment_editor)));
+
+ items.push_back (MenuElem (_("Inputs..."), sigc::mem_fun (*this, &RouteUI::edit_input_configuration)));
+
+ items.push_back (MenuElem (_("Outputs..."), sigc::mem_fun (*this, &RouteUI::edit_output_configuration)));
+
+ items.push_back (SeparatorElem());
+
if (!_route->is_master()) {
items.push_back (MenuElem (_("Save As Template..."), sigc::mem_fun(*this, &RouteUI::save_as_template)));
}
@@ -1508,8 +1479,9 @@ MixerStrip::build_route_ops_menu ()
items.push_back (SeparatorElem());
items.push_back (CheckMenuElem (_("Active")));
- CheckMenuItem* i = dynamic_cast<CheckMenuItem *> (&items.back());
+ Gtk::CheckMenuItem* i = dynamic_cast<Gtk::CheckMenuItem *> (&items.back());
i->set_active (_route->active());
+ i->set_sensitive(! _session->transport_rolling());
i->signal_activate().connect (sigc::bind (sigc::mem_fun (*this, &RouteUI::set_route_active), !_route->active(), false));
items.push_back (SeparatorElem());
@@ -1518,7 +1490,7 @@ MixerStrip::build_route_ops_menu ()
items.push_back (SeparatorElem());
items.push_back (CheckMenuElem (_("Protect Against Denormals"), sigc::mem_fun (*this, &RouteUI::toggle_denormal_protection)));
- denormal_menu_item = dynamic_cast<CheckMenuItem *> (&items.back());
+ denormal_menu_item = dynamic_cast<Gtk::CheckMenuItem *> (&items.back());
denormal_menu_item->set_active (_route->denormal_protection());
if (!Profile->get_sae()) {
@@ -1533,11 +1505,23 @@ MixerStrip::build_route_ops_menu ()
gboolean
MixerStrip::name_button_button_press (GdkEventButton* ev)
{
- /* show menu for either button 1 or 3, so as not to confuse people
- and also not hide stuff from them.
- */
+ if (ev->button == 3) {
+ list_route_operations ();
- if (ev->button == 3 || ev->button == 1) {
+ /* do not allow rename if the track is record-enabled */
+ rename_menu_item->set_sensitive (!_route->record_enabled());
+ route_ops_menu->popup (1, ev->time);
+
+ return true;
+ }
+
+ return false;
+}
+
+gboolean
+MixerStrip::name_button_button_release (GdkEventButton* ev)
+{
+ if (ev->button == 1) {
list_route_operations ();
/* do not allow rename if the track is record-enabled */
@@ -1548,6 +1532,22 @@ MixerStrip::name_button_button_press (GdkEventButton* ev)
return false;
}
+gboolean
+MixerStrip::number_button_button_press (GdkEventButton* ev)
+{
+ if ( ev->button == 3 ) {
+ list_route_operations ();
+
+ /* do not allow rename if the track is record-enabled */
+ rename_menu_item->set_sensitive (!_route->record_enabled());
+ route_ops_menu->popup (1, ev->time);
+
+ return true;
+ }
+
+ return false;
+}
+
void
MixerStrip::list_route_operations ()
{
@@ -1567,6 +1567,9 @@ MixerStrip::set_selected (bool yn)
global_frame.set_name ("MixerStripFrame");
}
global_frame.queue_draw ();
+
+// if (!yn)
+// processor_box.deselect_all_processors();
}
void
@@ -1583,21 +1586,32 @@ void
MixerStrip::name_changed ()
{
switch (_width) {
- case Wide:
- name_button.set_text (_route->name());
- break;
- case Narrow:
- name_button.set_text (PBD::short_version (_route->name(), 5));
- break;
+ case Wide:
+ name_button.set_text (_route->name());
+ break;
+ case Narrow:
+ name_button.set_text (PBD::short_version (_route->name(), 5));
+ break;
}
ARDOUR_UI::instance()->set_tip (name_button, _route->name());
+
+ if (_session->config.get_track_name_number()) {
+ const int64_t track_number = _route->track_number ();
+ if (track_number == 0) {
+ number_label.set_text ("-");
+ } else {
+ number_label.set_text (PBD::to_string (abs(_route->track_number ()), std::dec));
+ }
+ } else {
+ number_label.set_text ("");
+ }
}
void
MixerStrip::name_button_resized (Gtk::Allocation& alloc)
{
- name_button.layout()->set_width (alloc.get_width() * PANGO_SCALE);
+ name_button.set_layout_ellisize_width (alloc.get_width() * PANGO_SCALE);
}
bool
@@ -1749,48 +1763,48 @@ MixerStrip::meter_point_string (MeterPoint mp)
case Wide:
switch (mp) {
case MeterInput:
- return _("in");
+ return _("In");
break;
case MeterPreFader:
- return _("pre");
+ return _("Pre");
break;
case MeterPostFader:
- return _("post");
+ return _("Post");
break;
case MeterOutput:
- return _("out");
+ return _("Out");
break;
case MeterCustom:
default:
- return _("custom");
+ return _("Custom");
break;
}
break;
case Narrow:
switch (mp) {
case MeterInput:
- return _("in");
+ return _("In");
break;
case MeterPreFader:
- return _("pr");
+ return _("Pr");
break;
case MeterPostFader:
- return _("po");
+ return _("Po");
break;
case MeterOutput:
- return _("o");
+ return _("O");
break;
case MeterCustom:
default:
- return _("c");
+ return _("C");
break;
}
break;
@@ -1884,6 +1898,7 @@ MixerStrip::show_send (boost::shared_ptr<Send> send)
panner_ui().set_panner (_current_delivery->panner_shell(), _current_delivery->panner());
panner_ui().set_available_panners(PannerManager::instance().PannerManager::get_available_panners(in, out));
panner_ui().setup_pan ();
+ panner_ui().set_send_drawing_mode (true);
panner_ui().show_all ();
input_button.set_sensitive (false);
@@ -1919,6 +1934,7 @@ MixerStrip::revert_to_default_display ()
panner_ui().set_panner (_route->main_outs()->panner_shell(), _route->main_outs()->panner());
update_panner_choices();
panner_ui().setup_pan ();
+ panner_ui().set_send_drawing_mode (false);
if (has_audio_outputs ()) {
panners.show_all ();
@@ -1934,7 +1950,6 @@ MixerStrip::set_button_names ()
{
switch (_width) {
case Wide:
- rec_enable_button->set_text (_("Rec"));
mute_button->set_text (_("Mute"));
monitor_input_button->set_text (_("In"));
monitor_disk_button->set_text (_("Disk"));
@@ -1956,12 +1971,11 @@ MixerStrip::set_button_names ()
break;
}
}
- solo_isolated_led->set_text (_("iso"));
- solo_safe_led->set_text (_("lock"));
+ solo_isolated_led->set_text (_("Iso"));
+ solo_safe_led->set_text (_("Lock"));
break;
default:
- rec_enable_button->set_text (_("R"));
mute_button->set_text (_("M"));
monitor_input_button->set_text (_("I"));
monitor_disk_button->set_text (_("D"));
@@ -1984,7 +1998,7 @@ MixerStrip::set_button_names ()
}
}
- solo_isolated_led->set_text (_("i"));
+ solo_isolated_led->set_text (_("I"));
solo_safe_led->set_text (_("L"));
break;
}
@@ -2059,6 +2073,9 @@ MixerStrip::parameter_changed (string p)
*/
_visibility.set_state (Config->get_mixer_strip_visibility ());
}
+ else if (p == "track-name-number") {
+ name_changed ();
+ }
}
/** Called to decide whether the solo isolate / solo lock button visibility should
@@ -2119,9 +2136,15 @@ MixerStrip::select_all_processors ()
}
void
+MixerStrip::deselect_all_processors ()
+{
+ processor_box.processor_operation (ProcessorBox::ProcessorsSelectNone);
+}
+
+bool
MixerStrip::delete_processors ()
{
- processor_box.processor_operation (ProcessorBox::ProcessorsDelete);
+ return processor_box.processor_operation (ProcessorBox::ProcessorsDelete);
}
void
diff --git a/gtk2_ardour/mixer_strip.h b/gtk2_ardour/mixer_strip.h
index 883bfffdba..bd3c3a289b 100644
--- a/gtk2_ardour/mixer_strip.h
+++ b/gtk2_ardour/mixer_strip.h
@@ -69,7 +69,6 @@ namespace Gtk {
}
class Mixer_UI;
-class IOSelectorWindow;
class MotionController;
class RouteGroupMenu;
class ArdourWindow;
@@ -126,16 +125,21 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
void cut_processors ();
void paste_processors ();
void select_all_processors ();
- void delete_processors ();
+ void deselect_all_processors ();
+ bool delete_processors (); //note: returns false if nothing was deleted
void toggle_processors ();
void ab_plugins ();
+ void set_selected(bool yn);
+ bool is_selected() {return _selected;}
+
+ static MixerStrip* entered_mixer_strip() { return _entered_mixer_strip; }
+
protected:
friend class Mixer_UI;
void set_packed (bool yn);
bool packed () { return _packed; }
- void set_selected(bool yn);
void set_stuff_from_route ();
private:
@@ -151,9 +155,8 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
ArdourButton hide_button;
ArdourButton width_button;
+ ArdourButton number_label;
Gtk::HBox width_hide_box;
- Gtk::VBox whvbox;
- Gtk::EventBox top_event_box;
Gtk::EventBox* spacer;
void hide_clicked();
@@ -168,10 +171,9 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
Glib::RefPtr<Gtk::SizeGroup> button_size_group;
- Gtk::Table button_table;
- Gtk::Table rec_solo_table;
- Gtk::Table top_button_table;
- Gtk::Table middle_button_table;
+ Gtk::Table rec_mon_table;
+ Gtk::Table solo_iso_table;
+ Gtk::Table mute_solo_table;
Gtk::Table bottom_button_table;
ArdourButton meter_point_button;
@@ -195,21 +197,18 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
ArdourButton name_button;
- ArdourWindow* comment_window;
- Gtk::TextView* comment_area;
ArdourButton _comment_button;
- void comment_editor_done_editing ();
- void setup_comment_editor ();
- void open_comment_editor ();
- void toggle_comment_editor ();
void setup_comment_button ();
ArdourButton group_button;
RouteGroupMenu *group_menu;
gint input_press (GdkEventButton *);
+ gint input_release (GdkEventButton *);
+
gint output_press (GdkEventButton *);
+ gint output_release (GdkEventButton *);
Gtk::Menu input_menu;
std::list<boost::shared_ptr<ARDOUR::Bundle> > input_menu_bundles;
@@ -222,9 +221,6 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
void bundle_input_chosen (boost::shared_ptr<ARDOUR::Bundle>);
void bundle_output_chosen (boost::shared_ptr<ARDOUR::Bundle>);
- void edit_input_configuration ();
- void edit_output_configuration ();
-
void diskstream_changed ();
void io_changed_proxy ();
@@ -249,19 +245,13 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
Gtk::Menu* route_ops_menu;
void build_route_ops_menu ();
gboolean name_button_button_press (GdkEventButton*);
+ gboolean name_button_button_release (GdkEventButton*);
+ gboolean number_button_button_press (GdkEventButton*);
void list_route_operations ();
- gint comment_key_release_handler (GdkEventKey*);
- void comment_changed (void *src);
- void comment_edited ();
- bool ignore_comment_edit;
-
bool select_route_group (GdkEventButton *);
void route_group_changed ();
- IOSelectorWindow *input_selector;
- IOSelectorWindow *output_selector;
-
Gtk::Style *passthru_style;
void route_color_changed ();
@@ -277,35 +267,37 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
bool ignore_speed_adjustment;
+ static MixerStrip* _entered_mixer_strip;
+
void engine_running();
void engine_stopped();
virtual void bus_send_display_changed (boost::shared_ptr<ARDOUR::Route>);
void set_current_delivery (boost::shared_ptr<ARDOUR::Delivery>);
- boost::shared_ptr<ARDOUR::Delivery> _current_delivery;
void drop_send ();
PBD::ScopedConnection send_gone_connection;
void reset_strip_style ();
- static int scrollbar_height;
-
void update_io_button (boost::shared_ptr<ARDOUR::Route> route, Width width, bool input_button);
void port_connected_or_disconnected (boost::weak_ptr<ARDOUR::Port>, boost::weak_ptr<ARDOUR::Port>);
+ bool mixer_strip_enter_event ( GdkEventCrossing * );
+ bool mixer_strip_leave_event ( GdkEventCrossing * );
+
/** A VisibilityGroup to manage the visibility of some of our controls.
* We fill it with the controls that are being managed, using the same names
* as those used with _mixer_strip_visibility in RCOptionEditor. Then
* this VisibilityGroup is configured by changes to the RC variable
- * mixer-strip-visibility, which happen when the user makes changes in
+ * mixer-element-visibility, which happen when the user makes changes in
* the RC option editor.
*/
VisibilityGroup _visibility;
boost::optional<bool> override_solo_visibility () const;
- PBD::ScopedConnection _config_connection;
+ PBD::ScopedConnectionList _config_connection;
void add_input_port (ARDOUR::DataType);
void add_output_port (ARDOUR::DataType);
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc
index 874f8feddf..474d2c00a2 100644
--- a/gtk2_ardour/mixer_ui.cc
+++ b/gtk2_ardour/mixer_ui.cc
@@ -41,6 +41,7 @@
#include "ardour/midi_track.h"
#include "ardour/plugin_manager.h"
#include "ardour/route_group.h"
+#include "ardour/route_sorters.h"
#include "ardour/session.h"
#include "keyboard.h"
@@ -60,6 +61,7 @@
#include "i18n.h"
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtk;
using namespace Glib;
@@ -91,7 +93,10 @@ Mixer_UI::Mixer_UI ()
, _monitor_section (0)
, _strip_width (Config->get_default_narrow_ms() ? Narrow : Wide)
, ignore_reorder (false)
+ , _in_group_rebuild_or_clear (false)
+ , _route_deletion_in_progress (false)
, _following_editor_selection (false)
+ , _maximised (false)
{
/* allow this window to become the key focus window */
set_flags (CAN_FOCUS);
@@ -115,7 +120,7 @@ Mixer_UI::Mixer_UI ()
b->show_all ();
scroller.add (*b);
- scroller.set_policy (Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
+ scroller.set_policy (Gtk::POLICY_ALWAYS, Gtk::POLICY_AUTOMATIC);
setup_track_display ();
@@ -239,9 +244,6 @@ Mixer_UI::Mixer_UI ()
list_hpane.show();
group_display.show();
- _in_group_rebuild_or_clear = false;
- _maximised = false;
-
MixerStrip::CatchDeletion.connect (*this, invalidator (*this), boost::bind (&Mixer_UI::remove_strip, this, _1), gui_context());
MonitorSection::setup_knob_images ();
@@ -291,7 +293,7 @@ Mixer_UI::show_window ()
ms = (*ri)[track_columns.strip];
ms->set_width_enum (ms->get_width_enum (), ms->width_owner());
/* Fix visibility of mixer strip stuff */
- ms->parameter_changed (X_("mixer-strip-visibility"));
+ ms->parameter_changed (X_("mixer-element-visibility"));
}
}
@@ -403,6 +405,30 @@ Mixer_UI::add_strips (RouteList& routes)
}
void
+Mixer_UI::deselect_all_strip_processors ()
+{
+ for (list<MixerStrip *>::iterator i = strips.begin(); i != strips.end(); ++i) {
+ (*i)->deselect_all_processors();
+ }
+}
+
+void
+Mixer_UI::select_none ()
+{
+ _selection.clear_routes();
+ deselect_all_strip_processors();
+}
+
+void
+Mixer_UI::delete_processors ()
+{
+ for (list<MixerStrip *>::iterator i = strips.begin(); i != strips.end(); ++i) {
+ (*i)->delete_processors();
+ }
+}
+
+
+void
Mixer_UI::remove_strip (MixerStrip* strip)
{
if (_session && _session->deletion_in_progress()) {
@@ -420,6 +446,7 @@ Mixer_UI::remove_strip (MixerStrip* strip)
for (ri = rows.begin(); ri != rows.end(); ++ri) {
if ((*ri)[track_columns.strip] == strip) {
+ PBD::Unwinder<bool> uw (_route_deletion_in_progress, true);
track_model->erase (ri);
break;
}
@@ -997,9 +1024,17 @@ Mixer_UI::track_list_delete (const Gtk::TreeModel::Path&)
{
/* this happens as the second step of a DnD within the treeview as well
as when a row/route is actually deleted.
+
+ if it was a deletion then we have to force a redisplay because
+ order keys may not have changed.
*/
+
DEBUG_TRACE (DEBUG::OrderKeys, "mixer UI treeview row deleted\n");
sync_order_keys_from_treeview ();
+
+ if (_route_deletion_in_progress) {
+ redisplay_track_list ();
+ }
}
void
@@ -1090,28 +1125,12 @@ Mixer_UI::strip_width_changed ()
}
-struct SignalOrderRouteSorter {
- bool operator() (boost::shared_ptr<Route> a, boost::shared_ptr<Route> b) {
- if (a->is_master() || a->is_monitor()) {
- /* "a" is a special route (master, monitor, etc), and comes
- * last in the mixer ordering
- */
- return false;
- } else if (b->is_master() || b->is_monitor()) {
- /* everything comes before b */
- return true;
- }
- return a->order_key () < b->order_key ();
-
- }
-};
-
void
Mixer_UI::initial_track_display ()
{
boost::shared_ptr<RouteList> routes = _session->get_routes();
RouteList copy (*routes);
- SignalOrderRouteSorter sorter;
+ ARDOUR::SignalOrderRouteSorter sorter;
copy.sort (sorter);
@@ -1917,16 +1936,8 @@ Mixer_UI::set_route_targets_for_operation ()
return;
}
- /* nothing selected ... try to get mixer strip at mouse */
+// removed "implicit" selections of strips, after discussion on IRC
- int x, y;
- get_pointer (x, y);
-
- MixerStrip* ms = strip_by_x (x);
-
- if (ms) {
- _route_targets.insert (ms);
- }
}
void
diff --git a/gtk2_ardour/mixer_ui.h b/gtk2_ardour/mixer_ui.h
index 693fd9dfa5..4ab48ffd31 100644
--- a/gtk2_ardour/mixer_ui.h
+++ b/gtk2_ardour/mixer_ui.h
@@ -87,6 +87,11 @@ class Mixer_UI : public Gtk::Window, public PBD::ScopedConnectionList, public AR
MonitorSection* monitor_section() const { return _monitor_section; }
+ void deselect_all_strip_processors();
+ void delete_processors();
+
+ void select_none ();
+
protected:
void set_route_targets_for_operation ();
@@ -272,6 +277,7 @@ class Mixer_UI : public Gtk::Window, public PBD::ScopedConnectionList, public AR
it during a session teardown.
*/
bool _in_group_rebuild_or_clear;
+ bool _route_deletion_in_progress;
void update_title ();
MixerStrip* strip_by_x (int x);
diff --git a/gtk2_ardour/mnemonic-us.bindings.in b/gtk2_ardour/mnemonic-us.bindings.in
index 9b4479a4f7..8bfdbbb621 100644
--- a/gtk2_ardour/mnemonic-us.bindings.in
+++ b/gtk2_ardour/mnemonic-us.bindings.in
@@ -97,11 +97,6 @@ This mode provides many different operations on both regions and control points,
@eep|Editor/cycle-edit-point|grave|next EP w/o marker
@eep|Editor/cycle-edit-point-with-marker|<@PRIMARY@>grave|next EP w/marker
-@aep|Editor/move-range-start-to-previous-region-boundary|less|range start to prev region edge
-@aep|Editor/move-range-start-to-next-region-boundary|<@PRIMARY@>less|range start to next region edge
-@aep|Editor/move-range-end-to-previous-region-boundary|<@PRIMARY@>greater|range end to next prev edge
-@aep|Editor/move-range-end-to-next-region-boundary|greater|range end to next region edge
-
@trans|Transport/ToggleRoll|space|toggle roll
@epp|Editor/play-edit-range|<@SECONDARY@>space|play edit range
@epp|Editor/play-from-edit-point-and-return|<@LEVEL4@>space|play from EP \& return
@@ -109,10 +104,16 @@ This mode provides many different operations on both regions and control points,
@trans|Transport/ToggleRollForgetCapture|<@PRIMARY@>space|stop and destroy
@trans|Transport/record-roll|<@TERTIARY@>space|start recording
-@rop|Region/set-fade-in-length|slash|set fade in length
-@rop|Region/toggle-region-fade-out|<@PRIMARY@>slash|toggle fade in active
-@rop|Region/set-fade-out-length|backslash|set fade out length
-@rop|Region/toggle-region-fade-out|<@PRIMARY@>backslash|toggle fade out active
+@trans|Editor/add-location-from-playhead|nabla|add marker
+@trans|Editor/remove-location-from-playhead|<@PRIMARY@>nabla|add marker
+;@trans|Transport/GotoStart|Return|to start marker
+@movp|Transport/alternate-GotoStart|KP_Return|to edit point
+
+@trans|Editor/editor-fade-range|slash|fade range selection
+@rop|Region/set-fade-in-length|<@PRIMARY@>slash|set fade in length
+;;@rop|Region/toggle-region-fade-out|<@PRIMARY@>slash|toggle fade in active
+@rop|Region/set-fade-out-length|<@PRIMARY@>backslash|set fade out length
+;;@rop|Region/toggle-region-fade-out|<@PRIMARY@>backslash|toggle fade out active
@eep|Editor/trim-to-previous-region|<@PRIMARY@>j|trim region to end of prev region
@eep|Editor/trim-to-next-region|<@PRIMARY@>k|trim region to start of next region
@@ -130,7 +131,9 @@ This mode provides many different operations on both regions and control points,
;; TOP ROW
@sess|Common/Quit|<@PRIMARY@>q|quit
-@rop|Region/quantize-region|q|quantize MIDI notes \linebreak[4] in selected region(s)
+@rop|Region/quantize-region|<@SECONDARY@>q|quantize MIDI notes \linebreak[4] in selected region(s)
+@movp|Editor/jump-forward-to-mark|w|to next mark
+@movp|Editor/jump-backward-to-mark|q|to previous mark
;; note that ctrl-w is special and consumed by the keyboard snooper
@@ -147,8 +150,9 @@ This mode provides many different operations on both regions and control points,
@trans|Transport/Record|<@TERTIARY@>r|engage record
@mmode|MouseMode/set-mouse-mode-timefx|t|timefx mode
@rop|Region/pitch-shift-region|<@SECONDARY@>t|transpose
-@eep|Editor/insert-time|<@PRIMARY@>t|insert time
+@eep|Editor/select-all-tracks|<@PRIMARY@>t|select all tracks
@mmode|MouseMode/set-mouse-mode-object-range|y|link object/range tools
+@edit|Editor/alternate-redo|<@PRIMARY@>y|redo
@select|Editor/select-all-between-cursors|<@PRIMARY@>u|all enclosed by edit range
@select|Editor/select-all-within-cursors|u|all present in edit range
@eep|Region/insert-region-from-region-list|i|insert from region list
@@ -171,7 +175,7 @@ This mode provides many different operations on both regions and control points,
;; MIDDLE ROW
@aep|Region/align-regions-sync-relative|a|align sync points (relative)
-@select|Editor/select-all|<@PRIMARY@>a|select everything
+@select|Editor/select-all-objects|<@PRIMARY@>a|select all objects
@aep|Region/align-regions-end|<@SECONDARY@>a|align end(s)
@aep|Region/align-regions-sync|<@TERTIARY@>a|align sync points
@aep|Region/align-regions-start|<@PRIMARY@><@LEVEL4@>a|align start(s)
@@ -204,11 +208,13 @@ This mode provides many different operations on both regions and control points,
@mmode|MouseMode/set-mouse-mode-zoom|z|zoom mode
@edit|Editor/undo|<@PRIMARY@>z|undo
+@edit|Editor/alternate-alternate-redo|<@PRIMARY@><@TERTIARY@>z|redo
@vis|Editor/zoom-to-region|<@PRIMARY@><@SECONDARY@>z|zoom (x) to selected region(s)
@vis|Editor/zoom-to-region-both-axes|<@SECONDARY@>z|zoom (x+y) to selected region
@vis|Editor/toggle-zoom|<@TERTIARY@>z|toggle last 2 zoom states
@edit|Editor/editor-cut|<@PRIMARY@>x|cut
-@-group|Editor/crop|c|some text
+;@-group|Editor/crop|c|some text
+@mmode|MouseMode/set-mouse-mode-cut|c|cut mode
@edit|Editor/editor-copy|<@PRIMARY@>c|copy
@wvis|Window/toggle-theme-manager|<@WINDOW@>c|toggle color manager
@rop|Region/set-region-sync-position|v|set region sync point
@@ -257,49 +263,48 @@ This mode provides many different operations on both regions and control points,
@movp|Transport/GotoStart|Home|to start marker
@movp|Transport/GotoEnd|End|to end marker
@edit|Editor/editor-delete|Delete|delete
+@edit|Editor/alternate-editor-delete|BackSpace|backspace (delete)
-@movp|Editor/playhead-to-edit|Return|to edit point
-@eep|Editor/edit-to-playhead|<@SECONDARY@>Return|move EP to playhead
-@trans|Editor/remove-last-capture|<@PRIMARY@>Delete|destroy last recording
-
-@-group|Editor/escape|Escape|break drag or deselect all
+@select|Editor/escape|Escape|break drag or deselect all
;; keypad
@rop|Region/nudge-backward|KP_Subtract|nudge backward
@-group|Editor/nudge-next-backward|<@PRIMARY@>KP_Subtract|some text
-@movp|Editor/jump-forward-to-mark|<@PRIMARY@>KP_Right|to next mark
-@movp|Editor/jump-backward-to-mark|<@PRIMARY@>KP_Left|to previous mark
+@movp|Editor/alternate-jump-forward-to-mark|<@PRIMARY@>KP_Right|to next mark
+@movp|Editor/alternate-jump-backward-to-mark|<@PRIMARY@>KP_Left|to previous mark
@rop|Region/nudge-forward|KP_Add|nudge forward
@-group|Editor/nudge-next-forward|<@PRIMARY@>KP_Add|some text
-@-group|Editor/start-range|<@PRIMARY@>KP_Down|some text
+@-group|Editor/start-range|comma|some text
+@-group|Editor/finish-range|period|some text
+@-group|Editor/alt-start-range|<@PRIMARY@>KP_Down|some text
+@-group|Editor/alt-finish-range|<@PRIMARY@>KP_Up|some text
-@-group|Editor/finish-range|<@PRIMARY@>KP_Up|some text
-@-group|Editor/finish-add-range|<@TERTIARY@><@PRIMARY@>KP_Up|some text
-
-@markers|Editor/add-location-from-playhead|KP_Enter|add mark at playhead
+@markers|Editor/alternate-add-location-from-playhead|KP_Enter|add mark at playhead
+@markers|Editor/alternate-remove-location-from-playhead|<@PRIMARY@>KP_Enter|add mark at playhead
@wvis|Transport/focus-on-clock|KP_Divide|focus on main clock
-@movp|Transport/GotoZero|KP_0|to zero
-@-group|Editor/goto-mark-1|KP_1|some text
-@-group|Editor/goto-mark-2|KP_2|some text
-@-group|Editor/goto-mark-3|KP_3|some text
-@-group|Editor/goto-mark-4|KP_4|some text
-@-group|Editor/goto-mark-5|KP_5|some text
-@-group|Editor/goto-mark-6|KP_6|some text
-@-group|Editor/goto-mark-7|KP_7|some text
-@-group|Editor/goto-mark-8|KP_8|some text
-@-group|Editor/goto-mark-9|KP_9|some text
+@movp|Transport/numpad-decimal|KP_Decimal|numpad decimal should initiate and finalize a locate-to-marker
+
+@movp|Transport/numpad-0|KP_0|some text
+@-group|Transport/numpad-1|KP_1|some text
+@-group|Transport/numpad-2|KP_2|some text
+@-group|Transport/numpad-3|KP_3|some text
+@-group|Transport/numpad-4|KP_4|some text
+@-group|Transport/numpad-5|KP_5|some text
+@-group|Transport/numpad-6|KP_6|some text
+@-group|Transport/numpad-7|KP_7|some text
+@-group|Transport/numpad-8|KP_8|some text
+@-group|Transport/numpad-9|KP_9|some text
;; F-N keys
@-group|Editor/edit-cursor-to-range-start|F1|some text
@-group|Editor/edit-cursor-to-range-end|F2|some text
@-group|Editor/pitch-shift-region|F5|some text
-@select|Editor/select-range-between-cursors|F6|convert edit range to range
@-group|Editor/save-visual-state-1|<@PRIMARY@>F1|some text
@-group|Editor/save-visual-state-2|<@PRIMARY@>F2|some text
diff --git a/gtk2_ardour/monitor_section.cc b/gtk2_ardour/monitor_section.cc
index 46d500dac6..6d2fdbb677 100644
--- a/gtk2_ardour/monitor_section.cc
+++ b/gtk2_ardour/monitor_section.cc
@@ -27,6 +27,9 @@
#include "gtkmm2ext/actions.h"
#include "gtkmm2ext/motionfeedback.h"
+#include <gtkmm/menu.h>
+#include <gtkmm/menuitem.h>
+
#include "ardour/monitor_processor.h"
#include "ardour/route.h"
@@ -40,6 +43,7 @@
#include "i18n.h"
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace Gtk;
using namespace Gtkmm2ext;
using namespace PBD;
@@ -59,6 +63,10 @@ MonitorSection::MonitorSection (Session* s)
, dim_control (0)
, solo_boost_control (0)
, solo_cut_control (0)
+ , gain_display (0)
+ , dim_display (0)
+ , solo_boost_display (0)
+ , solo_cut_display (0)
, solo_in_place_button (_("SiP"), ArdourButton::led_default_elements)
, afl_button (_("AFL"), ArdourButton::led_default_elements)
, pfl_button (_("PFL"), ArdourButton::led_default_elements)
@@ -66,6 +74,9 @@ MonitorSection::MonitorSection (Session* s)
, solo_mute_override_button (ArdourButton::led_default_elements)
, _inhibit_solo_model_update (false)
{
+
+ using namespace Menu_Helpers;
+
Glib::RefPtr<Action> act;
if (!monitor_actions) {
@@ -83,27 +94,27 @@ MonitorSection::MonitorSection (Session* s)
/* Rude Solo */
- rude_solo_button.set_text (_("soloing"));
+ rude_solo_button.set_text (_("Soloing"));
rude_solo_button.set_name ("rude solo");
rude_solo_button.show ();
- rude_iso_button.set_text (_("isolated"));
+ rude_iso_button.set_text (_("Isolated"));
rude_iso_button.set_name ("rude isolate");
rude_iso_button.show ();
- rude_audition_button.set_text (_("auditioning"));
+ rude_audition_button.set_text (_("Auditioning"));
rude_audition_button.set_name ("rude audition");
rude_audition_button.show ();
ARDOUR_UI::Blink.connect (sigc::mem_fun (*this, &MonitorSection::do_blink));
- rude_solo_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MonitorSection::cancel_solo));
+ rude_solo_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MonitorSection::cancel_solo), false);
UI::instance()->set_tip (rude_solo_button, _("When active, something is soloed.\nClick to de-solo everything"));
- rude_iso_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MonitorSection::cancel_isolate));
+ rude_iso_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MonitorSection::cancel_isolate), false);
UI::instance()->set_tip (rude_iso_button, _("When active, something is solo-isolated.\nClick to de-isolate everything"));
- rude_audition_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MonitorSection::cancel_audition));
+ rude_audition_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MonitorSection::cancel_audition), false);
UI::instance()->set_tip (rude_audition_button, _("When active, auditioning is active.\nClick to stop the audition"));
solo_in_place_button.set_name ("monitor section solo model");
@@ -140,9 +151,19 @@ MonitorSection::MonitorSection (Session* s)
/* Solo Boost */
- solo_boost_control = new VolumeController (little_knob_pixbuf, boost::shared_ptr<Controllable>(), 0.0, 0.01, 0.1, true, 30, 30, true);
- ARDOUR_UI::instance()->tooltips().set_tip (*solo_boost_control, _("Gain increase for soloed signals (0dB is normal)"));
-
+ solo_boost_control = new ArdourKnob ();
+ solo_boost_control->set_name("monitor knob");
+ solo_boost_control->set_size_request(40,40);
+ ARDOUR_UI::instance()->tooltips().set_tip (*solo_boost_control, _("Gain increase for soloed signals (0dB is normal)"));
+
+ solo_boost_display = new ArdourDisplay ();
+ solo_boost_display->set_name("monitor section cut");
+ solo_boost_display->set_size_request(80,20);
+ solo_boost_display->add_controllable_preset("0dB", 0.0);
+ solo_boost_display->add_controllable_preset("3 dB", 3.0);
+ solo_boost_display->add_controllable_preset("6 dB", 6.0);
+ solo_boost_display->add_controllable_preset("10 dB", 10.0);
+
HBox* solo_packer = manage (new HBox);
solo_packer->set_spacing (6);
solo_packer->show ();
@@ -150,44 +171,69 @@ MonitorSection::MonitorSection (Session* s)
spin_label = manage (new Label (_("Solo Boost")));
spin_packer = manage (new VBox);
spin_packer->show ();
- spin_packer->set_spacing (6);
- spin_packer->pack_start (*solo_boost_control, false, false);
+ spin_packer->set_spacing (3);
spin_packer->pack_start (*spin_label, false, false);
+ spin_packer->pack_start (*solo_boost_control, false, false);
+ spin_packer->pack_start (*solo_boost_display, false, false);
solo_packer->pack_start (*spin_packer, true, false);
/* Solo (SiP) cut */
- solo_cut_control = new VolumeController (little_knob_pixbuf, boost::shared_ptr<Controllable>(), 0.0, 0.1, 0.5, true, 30, 30, true);
- ARDOUR_UI::instance()->tooltips().set_tip (*solo_cut_control, _("Gain reduction non-soloed signals\nA value above -inf dB causes \"solo-in-front\""));
-
+ solo_cut_control = new ArdourKnob ();
+ solo_cut_control->set_name ("monitor knob");
+ solo_cut_control->set_size_request (40,40);
+ ARDOUR_UI::instance()->tooltips().set_tip (*solo_cut_control, _("Gain reduction non-soloed signals\nA value above -inf dB causes \"solo-in-front\""));
+
+ solo_cut_display = new ArdourDisplay ();
+ solo_cut_display->set_name("monitor section cut");
+ solo_cut_display->set_size_request(80,20);
+ solo_cut_display->add_controllable_preset("0dB", 0.0);
+ solo_cut_display->add_controllable_preset("-6 dB", -6.0);
+ solo_cut_display->add_controllable_preset("-12 dB", -12.0);
+ solo_cut_display->add_controllable_preset("-20 dB", -20.0);
+ solo_cut_display->add_controllable_preset("OFF", -1200.0);
+
spin_label = manage (new Label (_("SiP Cut")));
spin_packer = manage (new VBox);
spin_packer->show ();
- spin_packer->set_spacing (6);
- spin_packer->pack_start (*solo_cut_control, false, false);
+ spin_packer->set_spacing (3);
spin_packer->pack_start (*spin_label, false, false);
+ spin_packer->pack_start (*solo_cut_control, false, false);
+ spin_packer->pack_start (*solo_cut_display, false, false);
solo_packer->pack_start (*spin_packer, true, false);
/* Dim */
- dim_control = new VolumeController (little_knob_pixbuf, boost::shared_ptr<Controllable>(), 0.0, 0.01, 0.1, true, 30, 30, true);
- ARDOUR_UI::instance()->tooltips().set_tip (*dim_control, _("Gain reduction to use when dimming monitor outputs"));
-
+ dim_control = new ArdourKnob ();
+ dim_control->set_name ("monitor knob");
+ dim_control->set_size_request (40,40);
+ ARDOUR_UI::instance()->tooltips().set_tip (*dim_control, _("Gain reduction to use when dimming monitor outputs"));
+
+ dim_display = new ArdourDisplay ();
+ dim_display->set_name("monitor section cut");
+ dim_display->set_size_request(80,20);
+ dim_display->add_controllable_preset("0dB", 0.0);
+ dim_display->add_controllable_preset("-3 dB", -3.0);
+ dim_display->add_controllable_preset("-6 dB", -6.0);
+ dim_display->add_controllable_preset("-12 dB", -12.0);
+ dim_display->add_controllable_preset("-20 dB", -20.0);
+
HBox* dim_packer = manage (new HBox);
dim_packer->show ();
spin_label = manage (new Label (_("Dim")));
spin_packer = manage (new VBox);
spin_packer->show ();
- spin_packer->set_spacing (6);
- spin_packer->pack_start (*dim_control, false, false);
+ spin_packer->set_spacing (3);
spin_packer->pack_start (*spin_label, false, false);
+ spin_packer->pack_start (*dim_control, false, false);
+ spin_packer->pack_start (*dim_display, false, false);
dim_packer->pack_start (*spin_packer, true, false);
- exclusive_solo_button.set_text (_("excl. solo"));
+ exclusive_solo_button.set_text (_("Excl. Solo"));
exclusive_solo_button.set_name (X_("monitor solo exclusive"));
ARDOUR_UI::instance()->set_tip (&exclusive_solo_button, _("Exclusive solo means that only 1 solo is active at a time"));
@@ -196,7 +242,7 @@ MonitorSection::MonitorSection (Session* s)
exclusive_solo_button.set_related_action (act);
}
- solo_mute_override_button.set_text (_("solo » mute"));
+ solo_mute_override_button.set_text (_("Solo » Mute"));
solo_mute_override_button.set_name (X_("monitor solo override"));
ARDOUR_UI::instance()->set_tip (&solo_mute_override_button, _("If enabled, solo will override mute\n(a soloed & muted track or bus will be audible)"));
@@ -224,7 +270,7 @@ MonitorSection::MonitorSection (Session* s)
upper_packer.pack_start (*solo_opt_box, false, false);
upper_packer.pack_start (*solo_packer, false, false, 12);
- cut_all_button.set_text (_("mute"));
+ cut_all_button.set_text (_("Mute"));
cut_all_button.set_name ("monitor section cut");
cut_all_button.set_name (X_("monitor section cut"));
cut_all_button.set_size_request (-1,50);
@@ -235,14 +281,14 @@ MonitorSection::MonitorSection (Session* s)
cut_all_button.set_related_action (act);
}
- dim_all_button.set_text (_("dim"));
+ dim_all_button.set_text (_("Dim"));
dim_all_button.set_name ("monitor section dim");
act = ActionManager::get_action (X_("Monitor"), X_("monitor-dim-all"));
if (act) {
dim_all_button.set_related_action (act);
}
- mono_button.set_text (_("mono"));
+ mono_button.set_text (_("Mono"));
mono_button.set_name ("monitor section mono");
act = ActionManager::get_action (X_("Monitor"), X_("monitor-mono"));
if (act) {
@@ -261,14 +307,27 @@ MonitorSection::MonitorSection (Session* s)
/* Gain */
- gain_control = new VolumeController (big_knob_pixbuf, boost::shared_ptr<Controllable>(), 1.0, 0.01, 0.1, true, 80, 80, false);
-
- spin_label = manage (new Label (_("Monitor")));
- spin_packer = manage (new VBox);
+ gain_control = new ArdourKnob ();
+ gain_control->set_name("monitor knob");
+ gain_control->set_size_request(80,80);
+
+ gain_display = new ArdourDisplay ();
+ gain_display->set_name("monitor section cut");
+ gain_display->set_size_request(40,20);
+ gain_display->add_controllable_preset("0dB", 0.0);
+ gain_display->add_controllable_preset("-3 dB", -3.0);
+ gain_display->add_controllable_preset("-6 dB", -6.0);
+ gain_display->add_controllable_preset("-12 dB", -12.0);
+ gain_display->add_controllable_preset("-20 dB", -20.0);
+ gain_display->add_controllable_preset("-30 dB", -30.0);
+
+ spin_label = manage (new Label (_("Monitor")));
+ spin_packer = manage (new VBox);
spin_packer->show ();
- spin_packer->set_spacing (6);
- spin_packer->pack_start (*gain_control, false, false);
+ spin_packer->set_spacing (3);
spin_packer->pack_start (*spin_label, false, false);
+ spin_packer->pack_start (*gain_control, false, false);
+ spin_packer->pack_start (*gain_display, false, false);
lower_packer.pack_start (*spin_packer, true, true);
@@ -283,21 +342,27 @@ MonitorSection::MonitorSection (Session* s)
channel_size_group->add_widget (channel_table);
channel_table_header.resize (1, 5);
- Label* l1 = manage (new Label (X_("out")));
+
+ Label* l1 = manage (new Label (X_(" ")));
l1->set_name (X_("MonitorSectionLabel"));
- channel_table_header.attach (*l1, 0, 1, 0, 1, EXPAND|FILL);
- l1 = manage (new Label (X_("mute")));
+ channel_table_header.attach (*l1, 0, 1, 0, 1, EXPAND|FILL);
+
+ l1 = manage (new Label (X_("Mute")));
l1->set_name (X_("MonitorSectionLabel"));
- channel_table_header.attach (*l1, 1, 2, 0, 1, EXPAND|FILL);
- l1 = manage (new Label (X_("dim")));
+ channel_table_header.attach (*l1, 1, 2, 0, 1, EXPAND|FILL);
+
+ l1 = manage (new Label (X_("Dim")));
l1->set_name (X_("MonitorSectionLabel"));
- channel_table_header.attach (*l1, 2, 3, 0, 1, EXPAND|FILL);
- l1 = manage (new Label (X_("solo")));
+ channel_table_header.attach (*l1, 2, 3, 0, 1, EXPAND|FILL);
+
+ l1 = manage (new Label (X_("Solo")));
l1->set_name (X_("MonitorSectionLabel"));
- channel_table_header.attach (*l1, 3, 4, 0, 1, EXPAND|FILL);
- l1 = manage (new Label (X_("inv")));
+ channel_table_header.attach (*l1, 3, 4, 0, 1, EXPAND|FILL);
+
+ l1 = manage (new Label (X_("Inv")));
l1->set_name (X_("MonitorSectionLabel"));
- channel_table_header.attach (*l1, 4, 5, 0, 1, EXPAND|FILL);
+ channel_table_header.attach (*l1, 4, 5, 0, 1, EXPAND|FILL);
+
channel_table_header.show ();
table_hpacker.pack_start (channel_table, true, true);
@@ -316,8 +381,11 @@ MonitorSection::MonitorSection (Session* s)
hpacker.pack_start (vpacker, true, true);
gain_control->show_all ();
+ gain_display->show_all ();
dim_control->show_all ();
+ dim_display->show_all();
solo_boost_control->show_all ();
+ solo_boost_display->show_all();
channel_table.show ();
hpacker.show ();
@@ -350,8 +418,13 @@ MonitorSection::~MonitorSection ()
_channel_buttons.clear ();
delete gain_control;
+ delete gain_display;
delete dim_control;
+ delete dim_display;
delete solo_boost_control;
+ delete solo_boost_display;
+ delete solo_cut_control;
+ delete solo_cut_display;
delete _tearoff;
}
@@ -424,23 +497,18 @@ MonitorSection::set_session (Session* s)
MonitorSection::ChannelButtonSet::ChannelButtonSet ()
{
- cut.set_diameter (3);
- dim.set_diameter (3);
- solo.set_diameter (3);
- invert.set_diameter (3);
-
- cut.set_name (X_("monitor section cut"));
- dim.set_name (X_("monitor section dim"));
- solo.set_name (X_("monitor section solo"));
- invert.set_name (X_("monitor section invert"));
-
- cut.unset_flags (Gtk::CAN_FOCUS);
- dim.unset_flags (Gtk::CAN_FOCUS);
- solo.unset_flags (Gtk::CAN_FOCUS);
- invert.unset_flags (Gtk::CAN_FOCUS);
+ cut.set_name (X_("monitor section cut"));
+ dim.set_name (X_("monitor section dim"));
+ solo.set_name (X_("monitor section solo"));
+ invert.set_name (X_("monitor section invert"));
+
+ cut.unset_flags (Gtk::CAN_FOCUS);
+ dim.unset_flags (Gtk::CAN_FOCUS);
+ solo.unset_flags (Gtk::CAN_FOCUS);
+ invert.unset_flags (Gtk::CAN_FOCUS);
}
-void
+ void
MonitorSection::populate_buttons ()
{
if (!_monitor) {
@@ -1063,13 +1131,16 @@ MonitorSection::assign_controllables ()
}
if (_session) {
- solo_cut_control->set_controllable (_session->solo_cut_control());
+ solo_cut_control->set_controllable (_session->solo_cut_control());
+ solo_cut_display->set_controllable (_session->solo_cut_control());
} else {
- solo_cut_control->set_controllable (none);
+ solo_cut_control->set_controllable (none);
+ solo_cut_display->set_controllable (none);
}
if (_route) {
gain_control->set_controllable (_route->gain_control());
+ gain_display->set_controllable (_route->gain_control());
} else {
gain_control->set_controllable (none);
}
@@ -1083,8 +1154,10 @@ MonitorSection::assign_controllables ()
mono_button.set_controllable (_monitor->mono_control());
mono_button.watch ();
- dim_control->set_controllable (_monitor->dim_level_control ());
- solo_boost_control->set_controllable (_monitor->solo_boost_control ());
+ dim_control->set_controllable (_monitor->dim_level_control ());
+ dim_display->set_controllable (_monitor->dim_level_control ());
+ solo_boost_control->set_controllable (_monitor->solo_boost_control ());
+ solo_boost_display->set_controllable (_monitor->solo_boost_control ());
} else {
@@ -1093,7 +1166,9 @@ MonitorSection::assign_controllables ()
mono_button.set_controllable (none);
dim_control->set_controllable (none);
+ dim_display->set_controllable (none);
solo_boost_control->set_controllable (none);
+ solo_boost_display->set_controllable (none);
}
}
diff --git a/gtk2_ardour/monitor_section.h b/gtk2_ardour/monitor_section.h
index f7848a3f01..d1fc7d8da1 100644
--- a/gtk2_ardour/monitor_section.h
+++ b/gtk2_ardour/monitor_section.h
@@ -23,6 +23,8 @@
#include "gtkmm2ext/bindable_button.h"
#include "ardour_button.h"
+#include "ardour_knob.h"
+#include "ardour_display.h"
#include "axis_view.h"
#include "level_meter.h"
#include "route_ui.h"
@@ -74,11 +76,16 @@ class MonitorSection : public RouteUI
typedef std::vector<ChannelButtonSet*> ChannelButtons;
ChannelButtons _channel_buttons;
- VolumeController* gain_control;
- VolumeController* dim_control;
- VolumeController* solo_boost_control;
- VolumeController* solo_cut_control;
+ ArdourKnob* gain_control;
+ ArdourKnob* dim_control;
+ ArdourKnob* solo_boost_control;
+ ArdourKnob* solo_cut_control;
+ ArdourDisplay* gain_display;
+ ArdourDisplay* dim_display;
+ ArdourDisplay* solo_boost_display;
+ ArdourDisplay* solo_cut_display;
+
void populate_buttons ();
void map_state ();
diff --git a/gtk2_ardour/mono_panner.cc b/gtk2_ardour/mono_panner.cc
index d82d236b32..fad2c09b64 100644
--- a/gtk2_ardour/mono_panner.cc
+++ b/gtk2_ardour/mono_panner.cc
@@ -50,6 +50,7 @@
using namespace std;
using namespace Gtk;
using namespace Gtkmm2ext;
+using namespace ARDOUR_UI_UTILS;
static const int pos_box_size = 9;
static const int lr_box_size = 15;
@@ -80,9 +81,7 @@ MonoPanner::MonoPanner (boost::shared_ptr<ARDOUR::PannerShell> p)
if (!have_font) {
Pango::FontDescription font;
Pango::AttrFontDesc* font_attr;
- font = Pango::FontDescription ("ArdourMono");
- font.set_weight (Pango::WEIGHT_BOLD);
- font.set_size(9 * PANGO_SCALE);
+ font = Pango::FontDescription (ARDOUR_UI::config()->get_canvasvar_SmallBoldMonospaceFont());
font_attr = new Pango::AttrFontDesc (Pango::Attribute::create_attr_font_desc (font));
panner_font_attributes.change(*font_attr);
delete font_attr;
@@ -158,6 +157,10 @@ MonoPanner::on_expose_event (GdkEventExpose*)
t = 0x606060ff;
}
+ if (_send_mode) {
+ b = rgba_from_style("SendStripBase",
+ UINT_RGBA_R(b), UINT_RGBA_G(b), UINT_RGBA_B(b), 255, "fg");
+ }
/* background */
context->set_source_rgba (UINT_RGBA_R_FLT(b), UINT_RGBA_G_FLT(b), UINT_RGBA_B_FLT(b), UINT_RGBA_A_FLT(b));
context->rectangle (0, 0, width, height);
@@ -485,12 +488,12 @@ MonoPanner::on_key_press_event (GdkEventKey* ev)
void
MonoPanner::set_colors ()
{
- colors.fill = ARDOUR_UI::config()->canvasvar_MonoPannerFill.get();
- colors.outline = ARDOUR_UI::config()->canvasvar_MonoPannerOutline.get();
- colors.text = ARDOUR_UI::config()->canvasvar_MonoPannerText.get();
- colors.background = ARDOUR_UI::config()->canvasvar_MonoPannerBackground.get();
- colors.pos_outline = ARDOUR_UI::config()->canvasvar_MonoPannerPositionOutline.get();
- colors.pos_fill = ARDOUR_UI::config()->canvasvar_MonoPannerPositionFill.get();
+ colors.fill = ARDOUR_UI::config()->get_canvasvar_MonoPannerFill();
+ colors.outline = ARDOUR_UI::config()->get_canvasvar_MonoPannerOutline();
+ colors.text = ARDOUR_UI::config()->get_canvasvar_MonoPannerText();
+ colors.background = ARDOUR_UI::config()->get_canvasvar_MonoPannerBackground();
+ colors.pos_outline = ARDOUR_UI::config()->get_canvasvar_MonoPannerPositionOutline();
+ colors.pos_fill = ARDOUR_UI::config()->get_canvasvar_MonoPannerPositionFill();
}
void
diff --git a/gtk2_ardour/mouse_cursors.cc b/gtk2_ardour/mouse_cursors.cc
index 98e33d77d6..e8b168630e 100644
--- a/gtk2_ardour/mouse_cursors.cc
+++ b/gtk2_ardour/mouse_cursors.cc
@@ -18,27 +18,168 @@
*/
#include <gdkmm/cursor.h>
+
+#include "gtkmm2ext/cursors.h"
+
#include "utils.h"
#include "mouse_cursors.h"
#include "editor_xpms"
+using namespace ARDOUR_UI_UTILS;
+
MouseCursors::MouseCursors ()
+ : cross_hair (0)
+ , scissors (0)
+ , trimmer (0)
+ , right_side_trim (0)
+ , anchored_right_side_trim (0)
+ , left_side_trim (0)
+ , anchored_left_side_trim (0)
+ , right_side_trim_left_only (0)
+ , left_side_trim_right_only (0)
+ , fade_in (0)
+ , fade_out (0)
+ , selector (0)
+ , grabber (0)
+ , grabber_note (0)
+ , grabber_edit_point (0)
+ , zoom_in (0)
+ , zoom_out (0)
+ , time_fx (0)
+ , fader (0)
+ , speaker (0)
+ , midi_pencil (0)
+ , midi_select (0)
+ , midi_resize (0)
+ , midi_erase (0)
+ , up_down (0)
+ , wait (0)
+ , timebar (0)
+ , transparent (0)
+ , resize_left (0)
+ , resize_top_left (0)
+ , resize_top (0)
+ , resize_top_right (0)
+ , resize_right (0)
+ , resize_bottom_right (0)
+ , resize_bottom (0)
+ , resize_bottom_left (0)
+ , move (0)
+ , expand_left_right (0)
+ , expand_up_down (0)
{
- using namespace Glib;
- using namespace Gdk;
+}
- {
- RefPtr<Pixbuf> p (::get_icon ("zoom_in_cursor"));
- zoom_in = new Cursor (Display::get_default(), p, 10, 5);
- }
+void
+MouseCursors::drop_all ()
+{
+ delete cross_hair; cross_hair = 0;
+ delete scissors; scissors = 0;
+ delete trimmer; trimmer = 0;
+ delete right_side_trim; right_side_trim = 0;
+ delete anchored_right_side_trim; anchored_right_side_trim = 0;
+ delete left_side_trim; left_side_trim = 0;
+ delete anchored_left_side_trim; anchored_left_side_trim = 0;
+ delete right_side_trim_left_only; right_side_trim_left_only = 0;
+ delete left_side_trim_right_only; left_side_trim_right_only = 0;
+ delete fade_in; fade_in = 0;
+ delete fade_out; fade_out = 0;
+ delete selector; selector = 0;
+ delete grabber; grabber = 0;
+ delete grabber_note; grabber_note = 0;
+ delete grabber_edit_point; grabber_edit_point = 0;
+ delete zoom_in; zoom_in = 0;
+ delete zoom_out; zoom_out = 0;
+ delete time_fx; time_fx = 0;
+ delete fader; fader = 0;
+ delete speaker; speaker = 0;
+ delete midi_pencil; midi_pencil = 0;
+ delete midi_select; midi_select = 0;
+ delete midi_resize; midi_resize = 0;
+ delete midi_erase; midi_erase = 0;
+ delete up_down; up_down = 0;
+ delete wait; wait = 0;
+ delete timebar; timebar = 0;
+ delete transparent; transparent = 0;
+ delete resize_left; resize_left = 0;
+ delete resize_top_left; resize_top_left = 0;
+ delete resize_top; resize_top = 0;
+ delete resize_top_right; resize_top_right = 0;
+ delete resize_right; resize_right = 0;
+ delete resize_bottom_right; resize_bottom_right = 0;
+ delete resize_bottom; resize_bottom = 0;
+ delete resize_bottom_left; resize_bottom_left = 0;
+ delete move; move = 0;
+ delete expand_left_right; expand_left_right = 0;
+ delete expand_up_down; expand_up_down = 0;
+}
- {
- RefPtr<Pixbuf> p (::get_icon ("zoom_out_cursor"));
- zoom_out = new Cursor (Display::get_default(), p, 5, 5);
+Gdk::Cursor*
+MouseCursors::make_cursor (const char* name, int hotspot_x, int hotspot_y)
+{
+ Gtkmm2ext::CursorInfo* info = Gtkmm2ext::CursorInfo::lookup_cursor_info (name);
+
+ if (info) {
+ hotspot_x = info->x;
+ hotspot_y = info->y;
}
- Color fbg ("#ffffff");
- Color ffg ("#000000");
+ Glib::RefPtr<Gdk::Pixbuf> p (::get_icon (name, _cursor_set));
+ return new Gdk::Cursor (Gdk::Display::get_default(), p, hotspot_x, hotspot_y);
+}
+
+void
+MouseCursors::set_cursor_set (const std::string& name)
+{
+ using namespace Glib;
+ using namespace Gdk;
+
+ drop_all ();
+ _cursor_set = name;
+
+ std::string hotspot_info_path = get_icon_path ("hotspots", _cursor_set, false);
+
+ if (!hotspot_info_path.empty()) {
+ Gtkmm2ext::CursorInfo::load_cursor_info (hotspot_info_path);
+ }
+
+ /* these will throw exceptions if their images cannot be found.
+
+ the default hotspot coordinates will be overridden by any
+ data found by Gtkmm2ext::Cursors::load_cursor_info(). the values
+ here from the set of cursors used by Ardour; new cursor/icon
+ sets should come with a hotspot info file.
+ */
+
+ zoom_in = make_cursor ("zoom_in_cursor", 10, 5);
+ zoom_out = make_cursor ("zoom_out_cursor", 5, 5);
+ scissors = make_cursor ("scissors", 5, 0);
+ grabber = make_cursor ("grabber", 5, 0);
+ grabber_note = make_cursor ("grabber_note", 5, 10);
+ grabber_edit_point = make_cursor ("grabber_edit_point", 5, 17);
+ left_side_trim = make_cursor ("trim_left_cursor", 5, 11);
+ anchored_left_side_trim = make_cursor ("anchored_trim_left_cursor", 5, 11);
+ right_side_trim = make_cursor ("trim_right_cursor", 23, 11);
+ anchored_right_side_trim = make_cursor ("anchored_trim_right_cursor", 23, 11);
+ left_side_trim_right_only = make_cursor ("trim_left_cursor_right_only", 5, 11);
+ right_side_trim_left_only = make_cursor ("trim_right_cursor_left_only", 23, 11);
+ fade_in = make_cursor ("fade_in_cursor", 0, 0);
+ fade_out = make_cursor ("fade_out_cursor", 29, 0);
+ resize_left = make_cursor ("resize_left_cursor", 3, 10);
+ resize_top_left = make_cursor ("resize_top_left_cursor", 3, 3);
+ resize_top = make_cursor ("resize_top_cursor", 10, 3);
+ resize_top_right = make_cursor ("resize_top_right_cursor", 18, 3);
+ resize_right = make_cursor ("resize_right_cursor", 24, 10);
+ resize_bottom_right = make_cursor ("resize_bottom_right_cursor", 18, 18);
+ resize_bottom = make_cursor ("resize_bottom_cursor", 10, 24);
+ resize_bottom_left = make_cursor ("resize_bottom_left_cursor", 3, 18);
+ move = make_cursor ("move_cursor", 11, 11);
+ expand_left_right = make_cursor ("expand_left_right_cursor", 11, 4);
+ expand_up_down = make_cursor ("expand_up_down_cursor", 4, 11);
+ selector = make_cursor ("i_beam_cursor", 4, 11);
+
+ Gdk::Color fbg ("#ffffff");
+ Gdk::Color ffg ("#000000");
{
RefPtr<Bitmap> source = Bitmap::create ((char const *) fader_cursor_bits, fader_cursor_width, fader_cursor_height);
@@ -59,121 +200,8 @@ MouseCursors::MouseCursors ()
transparent = new Cursor (bits, bits, c, c, 0, 0);
}
- {
- char pix[4] = { 0, 0, 0, 0 };
- RefPtr<Bitmap> bits = Bitmap::create (pix, 2, 2);
- Color c;
- transparent = new Cursor (bits, bits, c, c, 0, 0);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("grabber"));
- grabber = new Cursor (Display::get_default(), p, 5, 0);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("grabber_note"));
- grabber_note = new Cursor (Display::get_default(), p, 5, 10);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("grabber_edit_point"));
- grabber_edit_point = new Cursor (Display::get_default(), p, 5, 17);
- }
-
cross_hair = new Cursor (CROSSHAIR);
trimmer = new Cursor (SB_H_DOUBLE_ARROW);
-
- {
- RefPtr<Pixbuf> p (::get_icon ("trim_left_cursor"));
- left_side_trim = new Cursor (Display::get_default(), p, 5, 11);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("trim_right_cursor"));
- right_side_trim = new Cursor (Display::get_default(), p, 23, 11);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("trim_left_cursor_right_only"));
- left_side_trim_right_only = new Cursor (Display::get_default(), p, 5, 11);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("trim_right_cursor_left_only"));
- right_side_trim_left_only = new Cursor (Display::get_default(), p, 23, 11);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("fade_in_cursor"));
- fade_in = new Cursor (Display::get_default(), p, 0, 0);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("fade_out_cursor"));
- fade_out = new Cursor (Display::get_default(), p, 29, 0);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("resize_left_cursor"));
- resize_left = new Cursor (Display::get_default(), p, 3, 10);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("resize_top_left_cursor"));
- resize_top_left = new Cursor (Display::get_default(), p, 3, 3);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("resize_top_cursor"));
- resize_top = new Cursor (Display::get_default(), p, 10, 3);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("resize_top_right_cursor"));
- resize_top_right = new Cursor (Display::get_default(), p, 18, 3);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("resize_right_cursor"));
- resize_right = new Cursor (Display::get_default(), p, 24, 10);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("resize_bottom_right_cursor"));
- resize_bottom_right = new Cursor (Display::get_default(), p, 18, 18);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("resize_bottom_cursor"));
- resize_bottom = new Cursor (Display::get_default(), p, 10, 24);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("resize_bottom_left_cursor"));
- resize_bottom_left = new Cursor (Display::get_default(), p, 3, 18);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("move_cursor"));
- move = new Cursor (Display::get_default(), p, 11, 11);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("expand_left_right_cursor"));
- expand_left_right = new Cursor (Display::get_default(), p, 11, 4);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("expand_up_down_cursor"));
- expand_up_down = new Cursor (Display::get_default(), p, 4, 11);
- }
-
- {
- RefPtr<Pixbuf> p (::get_icon ("i_beam_cursor"));
- selector = new Cursor (Display::get_default(), p, 4, 11);
- }
-
time_fx = new Cursor (SIZING);
wait = new Cursor (WATCH);
timebar = new Cursor(LEFT_PTR);
diff --git a/gtk2_ardour/mouse_cursors.h b/gtk2_ardour/mouse_cursors.h
index bf93e1ad78..6c5c94b5e9 100644
--- a/gtk2_ardour/mouse_cursors.h
+++ b/gtk2_ardour/mouse_cursors.h
@@ -30,10 +30,16 @@ class MouseCursors
public:
MouseCursors ();
+ void set_cursor_set (const std::string& name);
+ std::string cursor_set() const { return _cursor_set; }
+
Gdk::Cursor* cross_hair;
+ Gdk::Cursor* scissors;
Gdk::Cursor* trimmer;
Gdk::Cursor* right_side_trim;
+ Gdk::Cursor* anchored_right_side_trim;
Gdk::Cursor* left_side_trim;
+ Gdk::Cursor* anchored_left_side_trim;
Gdk::Cursor* right_side_trim_left_only;
Gdk::Cursor* left_side_trim_right_only;
Gdk::Cursor* fade_in;
@@ -66,6 +72,12 @@ public:
Gdk::Cursor* move;
Gdk::Cursor* expand_left_right;
Gdk::Cursor* expand_up_down;
+
+ private:
+ std::string _cursor_set;
+ void drop_all ();
+
+ Gdk::Cursor* make_cursor (const char* name, int hotspot_x = 0, int hotspot_y = 0);
};
#endif /* __gtk2_ardour_mouse_cursors__ */
diff --git a/gtk2_ardour/msvc/winmain.cc b/gtk2_ardour/msvc/winmain.cc
new file mode 100644
index 0000000000..a9fe3d4224
--- /dev/null
+++ b/gtk2_ardour/msvc/winmain.cc
@@ -0,0 +1,133 @@
+/*
+ Copyright (C) 2001-2012 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.
+
+*/
+
+int ardour_main (int argc, char *argv[]);
+
+#if (defined(COMPILER_MSVC) && defined(NDEBUG) && !defined(RDC_BUILD))
+
+#include <fcntl.h>
+#include <shellapi.h>
+
+bool IsAConsolePort (HANDLE handle)
+{
+DWORD mode;
+
+ return (GetConsoleMode(handle, &mode) != 0);
+}
+
+int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
+{
+int ret = (-1);
+char szPathToProgram[768];
+char* argv[256];
+
+ // Essential!! Make sure that any files used by Ardour
+ // will be created or opened in BINARY mode!
+ _fmode = O_BINARY;
+
+ GetModuleFileName (NULL, (LPSTR)szPathToProgram, (DWORD)sizeof(szPathToProgram));
+ argv[0] = new char[(strlen(szPathToProgram) + 1)];
+
+ if (argv[0])
+ {
+ LPWSTR lpwCmdLine = 0;
+ int count, nArgs, argc = 1;
+ size_t argStringLen = strlen(lpCmdLine);
+
+ // Copy the program path to argv[0]
+ strcpy (argv[0], szPathToProgram);
+
+ // Parse the user's command line and add any parameters to argv
+ if (argStringLen)
+ {
+ lpwCmdLine = new wchar_t[argStringLen+1];
+ mbstowcs (lpwCmdLine, lpCmdLine, argStringLen+1);
+
+ LPWSTR* pwArgv = CommandLineToArgvW ((LPCWSTR)lpwCmdLine, &nArgs);
+
+ if (pwArgv && nArgs)
+ {
+ for (count = 1; count <= nArgs; count++)
+ {
+ int argChars = wcslen (pwArgv[count-1]);
+ if (0 != (argv[count] = new char[(argChars+1)]))
+ {
+ argc++;
+ wcstombs (argv[count], pwArgv[count-1], argChars+1);
+
+ // Append a NULL to the argv vector
+ if (argc < 255)
+ argv[count+1] = 0;
+ }
+ }
+ }
+
+ if (pwArgv)
+ LocalFree (pwArgv);
+ }
+
+ // If the user started Mixbus from a console, re-attach
+ // to the console so we can see 'printf()' output etc.
+ FILE *pStdOut = 0, *pStdErr = 0;
+ BOOL bConsole = AttachConsole(ATTACH_PARENT_PROCESS);
+ HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
+
+ if ((bConsole) && (IsAConsolePort(hStdOut)))
+ {
+ pStdOut = freopen( "CONOUT$", "w", stdout );
+ pStdErr = freopen( "CONOUT$", "w", stderr );
+ }
+
+ ret = ardour_main (argc, argv);
+
+ if (pStdOut)
+ fclose (pStdOut);
+ if (pStdErr)
+ fclose (pStdErr);
+
+ if (bConsole)
+ {
+ // Detach and free the console from our application
+ INPUT_RECORD input_record;
+
+ input_record.EventType = KEY_EVENT;
+ input_record.Event.KeyEvent.bKeyDown = TRUE;
+ input_record.Event.KeyEvent.dwControlKeyState = 0;
+ input_record.Event.KeyEvent.uChar.UnicodeChar = VK_RETURN;
+ input_record.Event.KeyEvent.wRepeatCount = 1;
+ input_record.Event.KeyEvent.wVirtualKeyCode = VK_RETURN;
+ input_record.Event.KeyEvent.wVirtualScanCode = MapVirtualKey( VK_RETURN, 0 );
+
+ DWORD written = 0;
+ WriteConsoleInput( GetStdHandle( STD_INPUT_HANDLE ), &input_record, 1, &written );
+
+ FreeConsole();
+ }
+
+ for (count = 0; count < argc; count++)
+ delete[] argv[count];
+
+ if (lpwCmdLine)
+ delete[] lpwCmdLine;
+ }
+
+ return (ret);
+}
+
+#endif
diff --git a/gtk2_ardour/note.cc b/gtk2_ardour/note.cc
new file mode 100644
index 0000000000..dc8decf837
--- /dev/null
+++ b/gtk2_ardour/note.cc
@@ -0,0 +1,141 @@
+/*
+ Copyright (C) 2007 Paul Davis
+ Author: Dave Robillard
+ Author: Hans Baier
+
+ 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 "evoral/Note.hpp"
+
+#include "canvas/rectangle.h"
+#include "canvas/debug.h"
+
+#include "note.h"
+#include "midi_region_view.h"
+#include "public_editor.h"
+
+using namespace ARDOUR;
+using namespace ArdourCanvas;
+
+Note::Note (
+ MidiRegionView& region, Item* parent, const boost::shared_ptr<NoteType> note, bool with_events)
+ : NoteBase (region, with_events, note)
+ , _rectangle (new ArdourCanvas::Rectangle (parent))
+{
+ CANVAS_DEBUG_NAME (_rectangle, "note");
+ set_item (_rectangle);
+}
+
+Note::~Note ()
+{
+ delete _rectangle;
+}
+
+void
+Note::move_event (double dx, double dy)
+{
+ _rectangle->set (_rectangle->get().translate (Duple (dx, dy)));
+}
+
+Coord
+Note::x0 () const
+{
+ return _rectangle->x0 ();
+}
+
+Coord
+Note::x1 () const
+{
+ return _rectangle->x1 ();
+}
+
+Coord
+Note::y0 () const
+{
+ return _rectangle->y0 ();
+}
+
+Coord
+Note::y1 () const
+{
+ return _rectangle->y1 ();
+}
+
+void
+Note::set_outline_color (uint32_t color)
+{
+ _rectangle->set_outline_color (color);
+}
+
+void
+Note::set_fill_color (uint32_t color)
+{
+ _rectangle->set_fill_color (color);
+}
+
+void
+Note::show ()
+{
+ _rectangle->show ();
+}
+
+void
+Note::hide ()
+{
+ _rectangle->hide ();
+}
+
+void
+Note::set_x0 (Coord x0)
+{
+ _rectangle->set_x0 (x0);
+}
+
+void
+Note::set_y0 (Coord y0)
+{
+ _rectangle->set_y0 (y0);
+}
+
+void
+Note::set_x1 (Coord x1)
+{
+ _rectangle->set_x1 (x1);
+}
+
+void
+Note::set_y1 (Coord y1)
+{
+ _rectangle->set_y1 (y1);
+}
+
+void
+Note::set_outline_what (ArdourCanvas::Rectangle::What what)
+{
+ _rectangle->set_outline_what (what);
+}
+
+void
+Note::set_outline_all ()
+{
+ _rectangle->set_outline_all ();
+}
+
+void
+Note::set_ignore_events (bool ignore)
+{
+ _rectangle->set_ignore_events (ignore);
+}
diff --git a/gtk2_ardour/note.h b/gtk2_ardour/note.h
new file mode 100644
index 0000000000..71faeb53fb
--- /dev/null
+++ b/gtk2_ardour/note.h
@@ -0,0 +1,71 @@
+/*
+ Copyright (C) 2007 Paul Davis
+ Author: Dave Robillard
+ Author: Hans Baier
+
+ 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_note_h__
+#define __gtk_ardour_note_h__
+
+#include <iostream>
+#include "note_base.h"
+#include "midi_util.h"
+
+namespace ArdourCanvas {
+ class Container;
+}
+
+class Note : public NoteBase
+{
+public:
+ typedef Evoral::Note<Evoral::MusicalTime> NoteType;
+
+ Note (MidiRegionView& region,
+ ArdourCanvas::Item* parent,
+ const boost::shared_ptr<NoteType> note = boost::shared_ptr<NoteType>(),
+ bool with_events = true);
+
+ ~Note ();
+
+ ArdourCanvas::Coord x0 () const;
+ ArdourCanvas::Coord y0 () const;
+ ArdourCanvas::Coord x1 () const;
+ ArdourCanvas::Coord y1 () const;
+
+ void set_x0 (ArdourCanvas::Coord);
+ void set_y0 (ArdourCanvas::Coord);
+ void set_x1 (ArdourCanvas::Coord);
+ void set_y1 (ArdourCanvas::Coord);
+
+ void set_outline_what (ArdourCanvas::Rectangle::What);
+ void set_outline_all ();
+
+ void set_outline_color (uint32_t);
+ void set_fill_color (uint32_t);
+
+ void show ();
+ void hide ();
+
+ void set_ignore_events (bool);
+
+ void move_event (double dx, double dy);
+
+private:
+ ArdourCanvas::Rectangle* _rectangle;
+};
+
+#endif /* __gtk_ardour_note_h__ */
diff --git a/gtk2_ardour/canvas-note-event.cc b/gtk2_ardour/note_base.cc
index dfcf04eea1..1a02b6e02e 100644
--- a/gtk2_ardour/canvas-note-event.cc
+++ b/gtk2_ardour/note_base.cc
@@ -21,7 +21,9 @@
#include "gtkmm2ext/keyboard.h"
-#include "canvas-note-event.h"
+#include "canvas/text.h"
+
+#include "note_base.h"
#include "midi_region_view.h"
#include "public_editor.h"
#include "editing_syms.h"
@@ -30,135 +32,133 @@
using namespace std;
using namespace Gtkmm2ext;
using ARDOUR::MidiModel;
+using namespace ArdourCanvas;
-namespace Gnome {
-namespace Canvas {
-
-PBD::Signal1<void,CanvasNoteEvent*> CanvasNoteEvent::CanvasNoteEventDeleted;
+PBD::Signal1<void,NoteBase*> NoteBase::NoteBaseDeleted;
/// dividing the hue circle in 16 parts, hand adjusted for equal look, courtesy Thorsten Wilms
-const uint32_t CanvasNoteEvent::midi_channel_colors[16] = {
+const uint32_t NoteBase::midi_channel_colors[16] = {
0xd32d2dff, 0xd36b2dff, 0xd3972dff, 0xd3d12dff,
0xa0d32dff, 0x7dd32dff, 0x2dd45eff, 0x2dd3c4ff,
0x2da5d3ff, 0x2d6fd3ff, 0x432dd3ff, 0x662dd3ff,
0x832dd3ff, 0xa92dd3ff, 0xd32dbfff, 0xd32d67ff
};
-CanvasNoteEvent::CanvasNoteEvent(MidiRegionView& region, Item* item, const boost::shared_ptr<NoteType> note)
+NoteBase::NoteBase(MidiRegionView& region, bool with_events, const boost::shared_ptr<NoteType> note)
: _region(region)
- , _item(item)
+ , _item (0)
, _text(0)
, _state(None)
, _note(note)
+ , _with_events (with_events)
, _selected(false)
, _valid (true)
, _mouse_x_fraction (-1.0)
, _mouse_y_fraction (-1.0)
- , _channel_selection (0xffff)
{
}
-CanvasNoteEvent::~CanvasNoteEvent()
+NoteBase::~NoteBase()
+{
+ NoteBaseDeleted (this);
+
+ delete _text;
+}
+
+void
+NoteBase::set_item (Item* item)
{
- CanvasNoteEventDeleted (this);
+ _item = item;
+ _item->set_data ("notebase", this);
- if (_text) {
- _text->hide();
- delete _text;
+ if (_with_events) {
+ _item->Event.connect (sigc::mem_fun (*this, &NoteBase::event_handler));
}
}
void
-CanvasNoteEvent::invalidate ()
+NoteBase::invalidate ()
{
_valid = false;
}
void
-CanvasNoteEvent::validate ()
+NoteBase::validate ()
{
_valid = true;
}
void
-CanvasNoteEvent::show_velocity()
+NoteBase::show_velocity()
{
if (!_text) {
- _text = new NoEventText (*(_item->property_parent()));
- _text->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_MidiNoteVelocityText.get();
- _text->property_justification() = Gtk::JUSTIFY_CENTER;
+ _text = new Text (_item->parent ());
+ _text->set_ignore_events (true);
+ _text->set_color (ARDOUR_UI::config()->get_canvasvar_MidiNoteVelocityText());
+ _text->set_alignment (Pango::ALIGN_CENTER);
}
- _text->property_x() = (x1() + x2()) /2;
- _text->property_y() = (y1() + y2()) /2;
+ _text->set_x_position ((x0() + x1()) / 2);
+ _text->set_y_position ((y0() + y1()) / 2);
ostringstream velo(ios::ate);
velo << int(_note->velocity());
- _text->property_text() = velo.str();
+ _text->set (velo.str ());
_text->show();
_text->raise_to_top();
}
void
-CanvasNoteEvent::hide_velocity()
+NoteBase::hide_velocity()
{
- if (_text) {
- _text->hide();
- delete _text;
- _text = 0;
- }
+ delete _text;
+ _text = 0;
}
void
-CanvasNoteEvent::on_channel_selection_change(uint16_t selection)
+NoteBase::on_channel_selection_change(uint16_t selection)
{
- _channel_selection = selection;
-
- /* this takes into account whether or not the note should be drawn as inactive */
- set_selected (_selected);
-
+ // make note change its color if its channel is not marked active
+ if ( (selection & (1 << _note->channel())) == 0 ) {
+ set_fill_color(ARDOUR_UI::config()->get_canvasvar_MidiNoteInactiveChannel());
+ set_outline_color(calculate_outline(ARDOUR_UI::config()->get_canvasvar_MidiNoteInactiveChannel()));
+ } else {
+ // set the color according to the notes selection state
+ set_selected(_selected);
+ }
// this forces the item to update..... maybe slow...
_item->hide();
_item->show();
}
void
-CanvasNoteEvent::on_channel_change(uint8_t channel)
+NoteBase::on_channel_change(uint8_t channel)
{
_region.note_selected(this, true);
_region.change_channel(channel);
}
void
-CanvasNoteEvent::set_selected(bool selected)
+NoteBase::set_selected(bool selected)
{
if (!_note) {
return;
}
_selected = selected;
-
- bool const active = (_channel_selection & (1 << _note->channel())) != 0;
-
- if (_selected && active) {
- set_outline_color(calculate_outline(ARDOUR_UI::config()->canvasvar_MidiNoteSelected.get()));
- set_fill_color (base_color ());
-
+ set_fill_color (base_color());
+
+ if (_selected) {
+ set_outline_color(calculate_outline(ARDOUR_UI::config()->get_canvasvar_MidiNoteSelected()));
} else {
-
- if (active) {
- set_fill_color(base_color());
- set_outline_color(calculate_outline(base_color()));
- } else {
- set_fill_color(ARDOUR_UI::config()->canvasvar_MidiNoteInactiveChannel.get());
- set_outline_color(calculate_outline(ARDOUR_UI::config()->canvasvar_MidiNoteInactiveChannel.get()));
- }
+ set_outline_color(calculate_outline(base_color()));
}
+
}
#define SCALE_USHORT_TO_UINT8_T(x) ((x) / 257)
uint32_t
-CanvasNoteEvent::base_color()
+NoteBase::base_color()
{
using namespace ARDOUR;
@@ -170,19 +170,15 @@ CanvasNoteEvent::base_color()
switch (mode) {
case TrackColor:
{
- Gdk::Color color = _region.midi_stream_view()->get_region_color();
- return UINT_INTERPOLATE (RGBA_TO_UINT(
- SCALE_USHORT_TO_UINT8_T(color.get_red()),
- SCALE_USHORT_TO_UINT8_T(color.get_green()),
- SCALE_USHORT_TO_UINT8_T(color.get_blue()),
- opacity),
- ARDOUR_UI::config()->canvasvar_MidiNoteSelected.get(), 0.5);
+ uint32_t color = _region.midi_stream_view()->get_region_color();
+ return UINT_INTERPOLATE (UINT_RGBA_CHANGE_A (color, opacity),
+ ARDOUR_UI::config()->get_canvasvar_MidiNoteSelected(),
+ 0.5);
}
case ChannelColors:
- return UINT_INTERPOLATE (UINT_RGBA_CHANGE_A (CanvasNoteEvent::midi_channel_colors[_note->channel()],
- opacity),
- ARDOUR_UI::config()->canvasvar_MidiNoteSelected.get(), 0.5);
+ return UINT_INTERPOLATE (UINT_RGBA_CHANGE_A (NoteBase::midi_channel_colors[_note->channel()], opacity),
+ ARDOUR_UI::config()->get_canvasvar_MidiNoteSelected(), 0.5);
default:
return meter_style_fill_color(_note->velocity(), selected());
@@ -192,10 +188,9 @@ CanvasNoteEvent::base_color()
}
void
-CanvasNoteEvent::set_mouse_fractions (GdkEvent* ev)
+NoteBase::set_mouse_fractions (GdkEvent* ev)
{
double ix, iy;
- double bx1, bx2, by1, by2;
bool set_cursor = false;
switch (ev->type) {
@@ -220,21 +215,24 @@ CanvasNoteEvent::set_mouse_fractions (GdkEvent* ev)
return;
}
- _item->get_bounds (bx1, by1, bx2, by2);
- _item->w2i (ix, iy);
+ boost::optional<ArdourCanvas::Rect> bbox = _item->bounding_box ();
+ assert (bbox);
+
+ _item->canvas_to_item (ix, iy);
+ /* XXX: CANVAS */
/* hmm, something wrong here. w2i should give item-local coordinates
but it doesn't. for now, finesse this.
*/
- ix = ix - bx1;
- iy = iy - by1;
+ ix = ix - bbox.get().x0;
+ iy = iy - bbox.get().y0;
/* fraction of width/height */
double xf;
double yf;
bool notify = false;
- xf = ix / (bx2 - bx1);
- yf = iy / (by2 - by1);
+ xf = ix / bbox.get().width ();
+ yf = iy / bbox.get().height ();
if (xf != _mouse_x_fraction || yf != _mouse_y_fraction) {
notify = true;
@@ -256,7 +254,7 @@ CanvasNoteEvent::set_mouse_fractions (GdkEvent* ev)
}
bool
-CanvasNoteEvent::on_event(GdkEvent* ev)
+NoteBase::event_handler (GdkEvent* ev)
{
if (!_region.get_time_axis_view().editor().internal_editing()) {
return false;
@@ -296,22 +294,19 @@ CanvasNoteEvent::on_event(GdkEvent* ev)
break;
}
- return false;
+ return _region.get_time_axis_view().editor().canvas_note_event (ev, _item);
}
bool
-CanvasNoteEvent::mouse_near_ends () const
+NoteBase::mouse_near_ends () const
{
return (_mouse_x_fraction >= 0.0 && _mouse_x_fraction < 0.25) ||
(_mouse_x_fraction >= 0.75 && _mouse_x_fraction < 1.0);
}
bool
-CanvasNoteEvent::big_enough_to_trim () const
+NoteBase::big_enough_to_trim () const
{
- return (x2() - x1()) > 20; /* canvas units, really pixels */
+ return (x1() - x0()) > 10;
}
-} // namespace Canvas
-} // namespace Gnome
-
diff --git a/gtk2_ardour/canvas-note-event.h b/gtk2_ardour/note_base.h
index bf98e2b7cb..5e52be0732 100644
--- a/gtk2_ardour/canvas-note-event.h
+++ b/gtk2_ardour/note_base.h
@@ -17,57 +17,55 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#ifndef __gtk_ardour_canvas_midi_event_h__
-#define __gtk_ardour_canvas_midi_event_h__
+#ifndef __gtk_ardour_note_base_h__
+#define __gtk_ardour_note_base_h__
#include <boost/shared_ptr.hpp>
-#include <libgnomecanvasmm/text.h>
-#include <libgnomecanvasmm/widget.h>
-
+#include "canvas/types.h"
#include "ardour/midi_model.h"
#include "rgb_macros.h"
#include "ardour_ui.h"
-#include "canvas-noevent-text.h"
#include "ui_config.h"
class Editor;
class MidiRegionView;
-namespace Evoral { template<typename T> class Note; }
-
-namespace Gnome {
-namespace Canvas {
+namespace Evoral {
+ template<typename T> class Note;
+}
+namespace ArdourCanvas {
+ class Item;
+ class Text;
+}
/** This manages all the event handling for any MIDI event on the canvas.
*
- * This is not actually a canvas item itself to avoid the dreaded diamond,
- * since various types of canvas items (Note (rect), Hit (diamond), etc)
- * need to share this functionality but can't share an ancestor.
+ * This is not actually a canvas item itself to avoid the dreaded diamond
+ * inheritance pattern, since various types of canvas items (Note (rect), Hit
+ * (diamond), etc) need to share this functionality but can't share an
+ * ancestor.
*
* Note: Because of this, derived classes need to manually bounce events to
* on_event, it won't happen automatically.
- *
- * A newer, better canvas should remove the need for all the ugly here.
*/
-class CanvasNoteEvent : virtual public sigc::trackable
+
+class NoteBase : public sigc::trackable
{
public:
typedef Evoral::Note<ARDOUR::MidiModel::TimeType> NoteType;
- CanvasNoteEvent(
- MidiRegionView& region,
- Item* item,
- const boost::shared_ptr<NoteType> note = boost::shared_ptr<NoteType>());
+ NoteBase (MidiRegionView& region, bool, const boost::shared_ptr<NoteType> note = boost::shared_ptr<NoteType>());
+ virtual ~NoteBase ();
- virtual ~CanvasNoteEvent();
+ void set_item (ArdourCanvas::Item *);
+ ArdourCanvas::Item* item() const { return _item; }
- static PBD::Signal1<void,CanvasNoteEvent*> CanvasNoteEventDeleted;
+ static PBD::Signal1<void, NoteBase*> NoteBaseDeleted;
virtual void show() = 0;
virtual void hide() = 0;
- virtual bool on_event(GdkEvent* ev);
bool valid() const { return _valid; }
void invalidate ();
@@ -92,10 +90,10 @@ class CanvasNoteEvent : virtual public sigc::trackable
virtual void set_outline_color(uint32_t c) = 0;
virtual void set_fill_color(uint32_t c) = 0;
- virtual double x1() const = 0;
- virtual double y1() const = 0;
- virtual double x2() const = 0;
- virtual double y2() const = 0;
+ virtual ArdourCanvas::Coord x0 () const = 0;
+ virtual ArdourCanvas::Coord y0 () const = 0;
+ virtual ArdourCanvas::Coord x1 () const = 0;
+ virtual ArdourCanvas::Coord y1 () const = 0;
float mouse_x_fraction() const { return _mouse_x_fraction; }
float mouse_y_fraction() const { return _mouse_y_fraction; }
@@ -107,25 +105,25 @@ class CanvasNoteEvent : virtual public sigc::trackable
if (selected) {
if (vel < 64) {
return UINT_INTERPOLATE(
- ARDOUR_UI::config()->canvasvar_SelectedMidiNoteColorBase.get(),
- ARDOUR_UI::config()->canvasvar_SelectedMidiNoteColorMid.get(),
+ ARDOUR_UI::config()->get_canvasvar_SelectedMidiNoteColorBase(),
+ ARDOUR_UI::config()->get_canvasvar_SelectedMidiNoteColorMid(),
(vel / (double)63.0));
} else {
return UINT_INTERPOLATE(
- ARDOUR_UI::config()->canvasvar_SelectedMidiNoteColorMid.get(),
- ARDOUR_UI::config()->canvasvar_SelectedMidiNoteColorTop.get(),
+ ARDOUR_UI::config()->get_canvasvar_SelectedMidiNoteColorMid(),
+ ARDOUR_UI::config()->get_canvasvar_SelectedMidiNoteColorTop(),
((vel-64) / (double)63.0));
}
} else {
if (vel < 64) {
return UINT_INTERPOLATE(
- ARDOUR_UI::config()->canvasvar_MidiNoteColorBase.get(),
- ARDOUR_UI::config()->canvasvar_MidiNoteColorMid.get(),
+ ARDOUR_UI::config()->get_canvasvar_MidiNoteColorBase(),
+ ARDOUR_UI::config()->get_canvasvar_MidiNoteColorMid(),
(vel / (double)63.0));
} else {
return UINT_INTERPOLATE(
- ARDOUR_UI::config()->canvasvar_MidiNoteColorMid.get(),
- ARDOUR_UI::config()->canvasvar_MidiNoteColorTop.get(),
+ ARDOUR_UI::config()->get_canvasvar_MidiNoteColorMid(),
+ ARDOUR_UI::config()->get_canvasvar_MidiNoteColorTop(),
((vel-64) / (double)63.0));
}
}
@@ -140,26 +138,27 @@ class CanvasNoteEvent : virtual public sigc::trackable
static const uint32_t midi_channel_colors[16];
bool mouse_near_ends () const;
- bool big_enough_to_trim () const;
+ virtual bool big_enough_to_trim () const;
- protected:
+protected:
enum State { None, Pressed, Dragging };
MidiRegionView& _region;
- Item* const _item;
- NoEventText* _text;
+ ArdourCanvas::Item* _item;
+ ArdourCanvas::Text* _text;
State _state;
const boost::shared_ptr<NoteType> _note;
+ bool _with_events;
+ bool _own_note;
bool _selected;
bool _valid;
float _mouse_x_fraction;
float _mouse_y_fraction;
- uint16_t _channel_selection;
-
+
void set_mouse_fractions (GdkEvent*);
-};
-} // namespace Gnome
-} // namespace Canvas
+private:
+ bool event_handler (GdkEvent *);
+};
-#endif /* __gtk_ardour_canvas_midi_event_h__ */
+#endif /* __gtk_ardour_note_h__ */
diff --git a/gtk2_ardour/nsmclient.cc b/gtk2_ardour/nsmclient.cc
index 76e18bc629..2fa7556207 100644
--- a/gtk2_ardour/nsmclient.cc
+++ b/gtk2_ardour/nsmclient.cc
@@ -23,7 +23,15 @@
#include <unistd.h>
#include <stdlib.h>
+#ifndef COMPILER_MSVC
#pragma GCC diagnostic ignored "-Wunused-parameter"
+#else
+#include <process.h> // Needed for 'getpid()'
+
+#include <lo/lo_osc_types.h>
+#define LO_TT_IMMEDIATE lo_get_tt_immediate()
+lo_timetag lo_get_tt_immediate() { lo_timetag tt = {0U,1U}; return tt; }
+#endif
namespace NSM
{
diff --git a/gtk2_ardour/option_editor.cc b/gtk2_ardour/option_editor.cc
index 33926d6523..ef09b22898 100644
--- a/gtk2_ardour/option_editor.cc
+++ b/gtk2_ardour/option_editor.cc
@@ -16,6 +16,7 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#include <algorithm>
#include <gtkmm/box.h>
#include <gtkmm/alignment.h>
@@ -27,9 +28,9 @@
#include "ardour/dB.h"
#include "ardour/session.h"
+#include "public_editor.h"
#include "option_editor.h"
#include "gui_thread.h"
-#include "utils.h"
#include "i18n.h"
using namespace std;
@@ -139,6 +140,18 @@ BoolOption::toggled ()
_set (_button->get_active ());
}
+RouteDisplayBoolOption::RouteDisplayBoolOption (string const & i, string const & n, sigc::slot<bool> g, sigc::slot<bool, bool> s)
+ : BoolOption (i, n, g, s)
+{
+}
+
+void
+RouteDisplayBoolOption::toggled ()
+{
+ DisplaySuspender ds;
+ BoolOption::toggled ();
+}
+
EntryOption::EntryOption (string const & i, string const & n, sigc::slot<string> g, sigc::slot<bool, string> s)
: Option (i, n),
_get (g),
@@ -147,6 +160,8 @@ EntryOption::EntryOption (string const & i, string const & n, sigc::slot<string>
_label = manage (left_aligned_label (n + ":"));
_entry = manage (new Entry);
_entry->signal_activate().connect (sigc::mem_fun (*this, &EntryOption::activated));
+ _entry->signal_focus_out_event().connect (sigc::mem_fun (*this, &EntryOption::focus_out));
+ _entry->signal_insert_text().connect (sigc::mem_fun (*this, &EntryOption::filter_text));
}
void
@@ -162,11 +177,36 @@ EntryOption::set_state_from_config ()
}
void
+EntryOption::set_sensitive (bool s)
+{
+ _entry->set_sensitive (s);
+}
+
+void
+EntryOption::filter_text (const Glib::ustring&, int*)
+{
+ std::string text = _entry->get_text ();
+ for (size_t i = 0; i < _invalid.length(); ++i) {
+ text.erase (std::remove(text.begin(), text.end(), _invalid.at(i)), text.end());
+ }
+ if (text != _entry->get_text ()) {
+ _entry->set_text (text);
+ }
+}
+
+void
EntryOption::activated ()
{
_set (_entry->get_text ());
}
+bool
+EntryOption::focus_out (GdkEventFocus*)
+{
+ _set (_entry->get_text ());
+ return true;
+}
+
/** Construct a BoolComboOption.
* @param i id
* @param n User-visible name.
@@ -227,9 +267,10 @@ FaderOption::FaderOption (string const & i, string const & n, sigc::slot<gain_t>
, _get (g)
, _set (s)
{
- _db_slider = manage (new HSliderController (&_db_adjustment, 115, 18, false));
+ _db_slider = manage (new HSliderController (&_db_adjustment, 115, 18));
_label.set_text (n + ":");
+ _label.set_alignment (0, 0.5);
_label.set_name (X_("OptionsLabel"));
_fader_centering_box.pack_start (*_db_slider, true, false);
@@ -439,7 +480,10 @@ DirectoryOption::set_state_from_config ()
void
DirectoryOption::add_to_page (OptionEditorPage* p)
{
- add_widgets_to_page (p, manage (new Label (_name)), &_file_chooser);
+ Gtk::Label *label = manage (new Label (_name));
+ label->set_alignment (0, 0.5);
+ label->set_name (X_("OptionsLabel"));
+ add_widgets_to_page (p, label, &_file_chooser);
}
void
diff --git a/gtk2_ardour/option_editor.h b/gtk2_ardour/option_editor.h
index 2073da530d..4e3269e43c 100644
--- a/gtk2_ardour/option_editor.h
+++ b/gtk2_ardour/option_editor.h
@@ -169,11 +169,11 @@ public:
_button->set_sensitive (yn);
}
- Gtk::Widget& tip_widget() { return *_button; }
+ Gtk::Widget& tip_widget() { return *_button; }
-private:
+protected:
- void toggled ();
+ virtual void toggled ();
sigc::slot<bool> _get; ///< slot to get the configuration variable's value
sigc::slot<bool, bool> _set; ///< slot to set the configuration variable's value
@@ -181,6 +181,31 @@ private:
Gtk::Label* _label; ///< label for button, so we can use markup
};
+class RouteDisplayBoolOption : public BoolOption
+{
+public:
+ RouteDisplayBoolOption (std::string const &, std::string const &, sigc::slot<bool>, sigc::slot<bool, bool>);
+protected:
+ virtual void toggled ();
+};
+
+/** Component which allows to add any GTK Widget - intended for single buttons and custom stateless objects */
+class FooOption : public OptionEditorComponent
+{
+public:
+ FooOption (Gtk::Widget *w) : _w (w) {}
+
+ void add_to_page (OptionEditorPage* p) {
+ add_widget_to_page (p, _w);
+ }
+
+ Gtk::Widget& tip_widget() { return *_w; }
+ void set_state_from_config () {}
+ void parameter_changed (std::string const &) {}
+private:
+ Gtk::Widget *_w;
+};
+
/** Component which provides the UI to handle a string option using a GTK Entry */
class EntryOption : public Option
{
@@ -189,17 +214,22 @@ public:
EntryOption (std::string const &, std::string const &, sigc::slot<std::string>, sigc::slot<bool, std::string>);
void set_state_from_config ();
void add_to_page (OptionEditorPage*);
+ void set_sensitive (bool);
+ void set_invalid_chars (std::string i) { _invalid = i; }
- Gtk::Widget& tip_widget() { return *_entry; }
+ Gtk::Widget& tip_widget() { return *_entry; }
private:
void activated ();
+ bool focus_out (GdkEventFocus*);
+ void filter_text (const Glib::ustring&, int*);
sigc::slot<std::string> _get; ///< slot to get the configuration variable's value
sigc::slot<bool, std::string> _set; ///< slot to set the configuration variable's value
Gtk::Label* _label; ///< UI label
Gtk::Entry* _entry; ///< UI entry
+ std::string _invalid;
};
@@ -227,9 +257,9 @@ public:
_get (g),
_set (s)
{
- _label = manage (new Gtk::Label (n + ":"));
+ _label = Gtk::manage (new Gtk::Label (n + ":"));
_label->set_alignment (0, 0.5);
- _combo = manage (new Gtk::ComboBoxText);
+ _combo = Gtk::manage (new Gtk::ComboBoxText);
_combo->signal_changed().connect (sigc::mem_fun (*this, &ComboOption::changed));
}
@@ -305,9 +335,9 @@ public:
)
: Option (i, n)
{
- _label = manage (new Gtk::Label (n + ":"));
+ _label = Gtk::manage (new Gtk::Label (n + ":"));
_label->set_alignment (0, 0.5);
- _hscale = manage (new Gtk::HScale(adj));
+ _hscale = Gtk::manage (new Gtk::HScale(adj));
_adj = NULL;
}
@@ -323,9 +353,9 @@ public:
, _set (s)
, _adj (adj)
{
- _label = manage (new Gtk::Label (n + ":"));
+ _label = Gtk::manage (new Gtk::Label (n + ":"));
_label->set_alignment (0, 0.5);
- _hscale = manage (new Gtk::HScale(*_adj));
+ _hscale = Gtk::manage (new Gtk::HScale(*_adj));
_adj->signal_value_changed().connect (sigc::mem_fun (*this, &HSliderOption::changed));
}
@@ -347,6 +377,7 @@ public:
}
Gtk::Widget& tip_widget() { return *_hscale; }
+ Gtk::HScale& scale() { return *_hscale; }
private:
sigc::slot<float> _get;
@@ -379,9 +410,9 @@ public:
_get (g),
_set (s)
{
- _label = manage (new Gtk::Label (n + ":"));
+ _label = Gtk::manage (new Gtk::Label (n + ":"));
_label->set_alignment (0, 0.5);
- _combo = manage (new Gtk::ComboBoxText);
+ _combo = Gtk::manage (new Gtk::ComboBoxText);
_combo->signal_changed().connect (sigc::mem_fun (*this, &ComboStringOption::changed));
}
@@ -493,18 +524,18 @@ public:
_set (s),
_scale (scale)
{
- _label = manage (new Gtk::Label (n + ":"));
+ _label = Gtk::manage (new Gtk::Label (n + ":"));
_label->set_alignment (0, 0.5);
- _spin = manage (new Gtk::SpinButton);
+ _spin = Gtk::manage (new Gtk::SpinButton);
_spin->set_range (min, max);
_spin->set_increments (step, page);
- _box = manage (new Gtk::HBox);
+ _box = Gtk::manage (new Gtk::HBox);
_box->pack_start (*_spin, true, true);
_box->set_spacing (4);
if (unit.length()) {
- _box->pack_start (*manage (new Gtk::Label (unit)), false, false);
+ _box->pack_start (*Gtk::manage (new Gtk::Label (unit)), false, false);
}
_spin->signal_value_changed().connect (sigc::mem_fun (*this, &SpinOption::changed));
diff --git a/gtk2_ardour/panner2d.cc b/gtk2_ardour/panner2d.cc
index a3befff5cf..be9581629a 100644
--- a/gtk2_ardour/panner2d.cc
+++ b/gtk2_ardour/panner2d.cc
@@ -44,6 +44,7 @@
using namespace std;
using namespace Gtk;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using Gtkmm2ext::Keyboard;
@@ -75,6 +76,7 @@ Panner2d::Panner2d (boost::shared_ptr<PannerShell> p, int32_t h)
, height (h)
, last_width (0)
, have_elevation (false)
+ , _send_mode (false)
{
panner_shell->Changed.connect (panshell_connections, invalidator (*this), boost::bind (&Panner2d::handle_state_change, this), gui_context());
@@ -378,6 +380,15 @@ Panner2d::find_closest_object (gdouble x, gdouble y, bool& is_signal)
return closest;
}
+void
+Panner2d::set_send_drawing_mode (bool onoff)
+{
+ if (_send_mode != onoff) {
+ _send_mode = onoff;
+ queue_draw ();
+ }
+}
+
bool
Panner2d::on_motion_notify_event (GdkEventMotion *ev)
{
@@ -404,7 +415,7 @@ Panner2d::on_expose_event (GdkEventExpose *event)
{
CartesianVector c;
cairo_t* cr;
- bool small = (height <= large_size_threshold);
+ bool xsmall = (height <= large_size_threshold);
const double diameter = radius*2.0;
cr = gdk_cairo_create (get_window()->gobj());
@@ -412,10 +423,16 @@ Panner2d::on_expose_event (GdkEventExpose *event)
/* background */
cairo_rectangle (cr, event->area.x, event->area.y, event->area.width, event->area.height);
+
+ float r, g, b;
+ r = g = b = 0.1;
+ if (_send_mode) {
+ rgba_p_from_style("SendStripBase", &r, &g, &b, "fg");
+ }
if (!panner_shell->bypassed()) {
- cairo_set_source_rgba (cr, 0.1, 0.1, 0.1, 1.0);
+ cairo_set_source_rgba (cr, r, g, b, 1.0);
} else {
- cairo_set_source_rgba (cr, 0.1, 0.1, 0.1, 0.2);
+ cairo_set_source_rgba (cr, r, g, b , 0.2);
}
cairo_fill_preserve (cr);
cairo_clip (cr);
@@ -489,7 +506,7 @@ Panner2d::on_expose_event (GdkEventExpose *event)
cairo_select_font_face (cr, "sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
- if (small) {
+ if (xsmall) {
arc_radius = 4.0;
} else {
cairo_set_font_size (cr, 10);
@@ -535,12 +552,12 @@ Panner2d::on_expose_event (GdkEventExpose *event)
cairo_set_source_rgba (cr, 0.517, 0.772, 0.882, 0.8);
cairo_stroke (cr);
- if (!small && !signal->text.empty()) {
+ if (!xsmall && !signal->text.empty()) {
cairo_set_source_rgba (cr, 0.517, 0.772, 0.882, .9);
/* the +/- adjustments are a hack to try to center the text in the circle
* TODO use pango get_pixel_size() -- see mono_panner.cc
*/
- if (small) {
+ if (xsmall) {
cairo_move_to (cr, c.x - 1, c.y + 1);
} else {
cairo_move_to (cr, c.x - 4, c.y + 4);
@@ -575,7 +592,7 @@ Panner2d::on_expose_event (GdkEventExpose *event)
cairo_move_to (cr, c.x, c.y);
cairo_save (cr);
cairo_rotate (cr, -(sp.azi/360.0) * (2.0 * M_PI));
- if (small) {
+ if (xsmall) {
cairo_scale (cr, 0.8, 0.8);
} else {
cairo_scale (cr, 1.2, 1.2);
@@ -593,7 +610,7 @@ Panner2d::on_expose_event (GdkEventExpose *event)
cairo_fill (cr);
cairo_restore (cr);
- if (!small) {
+ if (!xsmall) {
cairo_set_font_size (cr, 16);
/* move the text in just a bit */
diff --git a/gtk2_ardour/panner2d.h b/gtk2_ardour/panner2d.h
index fdd4748f8f..99377bdd50 100644
--- a/gtk2_ardour/panner2d.h
+++ b/gtk2_ardour/panner2d.h
@@ -46,7 +46,7 @@ namespace Gtk {
}
namespace Pango {
- class Layout;
+ class Container;
}
class Panner2dWindow;
@@ -63,6 +63,7 @@ class Panner2d : public Gtk::DrawingArea
int add_signal (const char* text, const PBD::AngularVector&);
void move_signal (int which, const PBD::AngularVector&);
void reset (uint32_t n_inputs);
+ void set_send_drawing_mode (bool);
boost::shared_ptr<ARDOUR::PannerShell> get_panner_shell() const { return panner_shell; }
@@ -117,6 +118,7 @@ class Panner2d : public Gtk::DrawingArea
double last_width;
bool did_move;
bool have_elevation;
+ bool _send_mode;
Target *find_closest_object (gdouble x, gdouble y, bool& is_signal);
diff --git a/gtk2_ardour/panner_interface.cc b/gtk2_ardour/panner_interface.cc
index 09cf29dfd6..0fcba4cd1c 100644
--- a/gtk2_ardour/panner_interface.cc
+++ b/gtk2_ardour/panner_interface.cc
@@ -34,6 +34,7 @@ using namespace Gtkmm2ext;
PannerInterface::PannerInterface (boost::shared_ptr<Panner> p)
: _panner (p)
, _tooltip (this)
+ , _send_mode (false)
, _editor (0)
{
set_flags (Gtk::CAN_FOCUS);
@@ -109,6 +110,14 @@ PannerInterface::edit ()
_editor->show ();
}
+void
+PannerInterface::set_send_drawing_mode(bool onoff) {
+ if (_send_mode != onoff) {
+ _send_mode = onoff;
+ queue_draw ();
+ }
+}
+
PannerPersistentTooltip::PannerPersistentTooltip (Gtk::Widget* w)
: PersistentTooltip (w)
, _dragging (false)
diff --git a/gtk2_ardour/panner_interface.h b/gtk2_ardour/panner_interface.h
index 02f4e210bd..a18c083528 100644
--- a/gtk2_ardour/panner_interface.h
+++ b/gtk2_ardour/panner_interface.h
@@ -59,6 +59,7 @@ public:
}
void edit ();
+ void set_send_drawing_mode (bool);
protected:
virtual void set_tooltip () = 0;
@@ -74,6 +75,8 @@ protected:
boost::shared_ptr<ARDOUR::Panner> _panner;
PannerPersistentTooltip _tooltip;
+ bool _send_mode;
+
private:
virtual PannerEditor* editor () = 0;
PannerEditor* _editor;
diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc
index c0c305fae1..f35c79d4fe 100644
--- a/gtk2_ardour/panner_ui.cc
+++ b/gtk2_ardour/panner_ui.cc
@@ -19,7 +19,6 @@
#include <limits.h>
#include <gtkmm2ext/utils.h>
-#include <gtkmm2ext/barcontroller.h>
#include "pbd/fastlog.h"
@@ -31,7 +30,6 @@
#include "ardour_ui.h"
#include "panner_ui.h"
#include "panner2d.h"
-#include "utils.h"
#include "gui_thread.h"
#include "stereo_panner.h"
#include "mono_panner.h"
@@ -50,6 +48,7 @@ PannerUI::PannerUI (Session* s)
: _current_nouts (-1)
, _current_nins (-1)
, _current_uri ("")
+ , _send_mode (false)
, pan_automation_style_button ("")
, pan_automation_state_button ("")
, _panner_list()
@@ -251,6 +250,7 @@ PannerUI::setup_pan ()
_stereo_panner = new StereoPanner (_panshell);
_stereo_panner->set_size_request (-1, pan_bar_height);
+ _stereo_panner->set_send_drawing_mode (_send_mode);
pan_vbox.pack_start (*_stereo_panner, false, false);
boost::shared_ptr<AutomationControl> ac;
@@ -286,6 +286,7 @@ PannerUI::setup_pan ()
_mono_panner->signal_button_release_event().connect (sigc::mem_fun(*this, &PannerUI::pan_button_event));
_mono_panner->set_size_request (-1, pan_bar_height);
+ _mono_panner->set_send_drawing_mode (_send_mode);
update_pan_sensitive ();
pan_vbox.pack_start (*_mono_panner, false, false);
@@ -305,6 +306,7 @@ PannerUI::setup_pan ()
big_window->reset (nins);
}
twod_panner->set_size_request (-1, 61);
+ twod_panner->set_send_drawing_mode (_send_mode);
/* and finally, add it to the panner frame */
@@ -324,6 +326,19 @@ PannerUI::setup_pan ()
}
void
+PannerUI::set_send_drawing_mode (bool onoff)
+{
+ if (_stereo_panner) {
+ _stereo_panner->set_send_drawing_mode (onoff);
+ } else if (_mono_panner) {
+ _mono_panner->set_send_drawing_mode (onoff);
+ } else if (twod_panner) {
+ twod_panner->set_send_drawing_mode (onoff);
+ }
+ _send_mode = onoff;
+}
+
+void
PannerUI::start_touch (boost::weak_ptr<AutomationControl> wac)
{
boost::shared_ptr<AutomationControl> ac = wac.lock();
@@ -382,7 +397,7 @@ PannerUI::build_pan_menu ()
items.clear ();
items.push_back (CheckMenuElem (_("Bypass"), sigc::mem_fun(*this, &PannerUI::pan_bypass_toggle)));
- bypass_menu_item = static_cast<CheckMenuItem*> (&items.back());
+ bypass_menu_item = static_cast<Gtk::CheckMenuItem*> (&items.back());
/* set state first, connect second */
diff --git a/gtk2_ardour/panner_ui.h b/gtk2_ardour/panner_ui.h
index 8bf448c7ea..600a9d145c 100644
--- a/gtk2_ardour/panner_ui.h
+++ b/gtk2_ardour/panner_ui.h
@@ -74,6 +74,7 @@ class PannerUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr
void set_width (Width);
void setup_pan ();
void set_available_panners(std::map<std::string,std::string>);
+ void set_send_drawing_mode (bool);
void effective_pan_display ();
@@ -97,6 +98,7 @@ class PannerUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr
int _current_nouts;
int _current_nins;
std::string _current_uri;
+ bool _send_mode;
static const int pan_bar_height;
diff --git a/gtk2_ardour/patch_change.cc b/gtk2_ardour/patch_change.cc
new file mode 100644
index 0000000000..b2882f27af
--- /dev/null
+++ b/gtk2_ardour/patch_change.cc
@@ -0,0 +1,255 @@
+/*
+ Copyright (C) 2000-2010 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 <boost/algorithm/string.hpp>
+
+#include <glibmm/regex.h>
+
+#include "gtkmm2ext/keyboard.h"
+#include "gtkmm2ext/utils.h"
+
+#include "ardour/midi_patch_manager.h"
+
+#include "canvas/debug.h"
+
+#include "ardour_ui.h"
+#include "midi_region_view.h"
+#include "patch_change.h"
+#include "editor.h"
+#include "editor_drag.h"
+
+using namespace MIDI::Name;
+using namespace std;
+
+/** @param x x position in pixels.
+ */
+PatchChange::PatchChange(
+ MidiRegionView& region,
+ ArdourCanvas::Container* parent,
+ const string& text,
+ double height,
+ double x,
+ double y,
+ ARDOUR::InstrumentInfo& info,
+ ARDOUR::MidiModel::PatchChangePtr patch)
+ : _region (region)
+ , _info (info)
+ , _patch (patch)
+ , _popup_initialized(false)
+{
+ _flag = new ArdourCanvas::Flag (
+ parent,
+ height,
+ ARDOUR_UI::config()->get_canvasvar_MidiPatchChangeOutline(),
+ ARDOUR_UI::config()->get_canvasvar_MidiPatchChangeFill(),
+ ArdourCanvas::Duple (x, y)
+ );
+
+ CANVAS_DEBUG_NAME (_flag, text);
+
+ _flag->Event.connect (sigc::mem_fun (*this, &PatchChange::event_handler));
+ _flag->set_text(text);
+}
+
+PatchChange::~PatchChange()
+{
+ delete _flag;
+}
+
+void
+PatchChange::initialize_popup_menus()
+{
+ using namespace MIDI::Name;
+
+ boost::shared_ptr<ChannelNameSet> channel_name_set = _info.get_patches (_patch->channel());
+
+ if (!channel_name_set) {
+ return;
+ }
+
+ const ChannelNameSet::PatchBanks& patch_banks = channel_name_set->patch_banks();
+
+ if (patch_banks.size() > 1) {
+
+ // fill popup menu:
+ Gtk::Menu::MenuList& patch_bank_menus = _popup.items();
+
+ for (ChannelNameSet::PatchBanks::const_iterator bank = patch_banks.begin();
+ bank != patch_banks.end();
+ ++bank) {
+ Glib::RefPtr<Glib::Regex> underscores = Glib::Regex::create("_");
+ std::string replacement(" ");
+
+ Gtk::Menu& patch_bank_menu = *manage(new Gtk::Menu());
+
+ const PatchNameList& patches = (*bank)->patch_name_list();
+ Gtk::Menu::MenuList& patch_menus = patch_bank_menu.items();
+
+ for (PatchNameList::const_iterator patch = patches.begin();
+ patch != patches.end();
+ ++patch) {
+ std::string name = underscores->replace((*patch)->name().c_str(), -1, 0, replacement);
+
+ patch_menus.push_back(
+ Gtk::Menu_Helpers::MenuElem(
+ name,
+ sigc::bind(
+ sigc::mem_fun(*this, &PatchChange::on_patch_menu_selected),
+ (*patch)->patch_primary_key())) );
+ }
+
+
+ std::string name = underscores->replace((*bank)->name().c_str(), -1, 0, replacement);
+
+ patch_bank_menus.push_back(
+ Gtk::Menu_Helpers::MenuElem(
+ name,
+ patch_bank_menu) );
+ }
+
+ } else {
+ /* only one patch bank, so make it the initial menu */
+
+ const PatchNameList& patches = patch_banks.front()->patch_name_list();
+ Gtk::Menu::MenuList& patch_menus = _popup.items();
+
+ for (PatchNameList::const_iterator patch = patches.begin();
+ patch != patches.end();
+ ++patch) {
+ std::string name = (*patch)->name();
+ boost::replace_all (name, "_", " ");
+
+ patch_menus.push_back (
+ Gtk::Menu_Helpers::MenuElem (
+ name,
+ sigc::bind (sigc::mem_fun(*this, &PatchChange::on_patch_menu_selected),
+ (*patch)->patch_primary_key())));
+ }
+ }
+}
+
+void
+PatchChange::on_patch_menu_selected(const PatchPrimaryKey& key)
+{
+ _region.change_patch_change (*this, key);
+}
+
+bool
+PatchChange::event_handler (GdkEvent* ev)
+{
+ /* XXX: icky dcast */
+ Editor* e = dynamic_cast<Editor*> (&_region.get_time_axis_view().editor());
+
+ switch (ev->type) {
+ case GDK_BUTTON_PRESS:
+ if (e->current_mouse_mode() == Editing::MouseObject && e->internal_editing()) {
+
+ if (Gtkmm2ext::Keyboard::is_delete_event (&ev->button)) {
+
+ _region.delete_patch_change (this);
+ return true;
+
+ } else if (Gtkmm2ext::Keyboard::is_edit_event (&ev->button)) {
+
+ _region.edit_patch_change (this);
+ return true;
+
+ } else if (ev->button.button == 1) {
+ e->drags()->set (new PatchChangeDrag (e, this, &_region), ev);
+ return true;
+ }
+ }
+
+ if (ev->button.button == 3) {
+ if (!_popup_initialized) {
+ initialize_popup_menus();
+ _popup_initialized = true;
+ }
+ _popup.popup(ev->button.button, ev->button.time);
+ return true;
+ }
+ break;
+
+ case GDK_KEY_PRESS:
+ switch (ev->key.keyval) {
+ case GDK_Up:
+ case GDK_KP_Up:
+ case GDK_uparrow:
+ _region.previous_patch (*this);
+ break;
+ case GDK_Down:
+ case GDK_KP_Down:
+ case GDK_downarrow:
+ _region.next_patch (*this);
+ break;
+ default:
+ break;
+ }
+ break;
+
+ case GDK_SCROLL:
+ if (ev->scroll.direction == GDK_SCROLL_UP) {
+ _region.previous_patch (*this);
+ return true;
+ } else if (ev->scroll.direction == GDK_SCROLL_DOWN) {
+ _region.next_patch (*this);
+ return true;
+ }
+ break;
+
+ case GDK_ENTER_NOTIFY:
+ _region.patch_entered (this);
+ break;
+
+ case GDK_LEAVE_NOTIFY:
+ _region.patch_left (this);
+ break;
+
+ default:
+ break;
+ }
+
+ return false;
+}
+
+void
+PatchChange::move (ArdourCanvas::Duple d)
+{
+ _flag->move (d);
+}
+
+void
+PatchChange::set_height (ArdourCanvas::Distance height)
+{
+ _flag->set_height (height);
+}
+
+void
+PatchChange::hide ()
+{
+ _flag->hide ();
+}
+
+void
+PatchChange::show ()
+{
+ _flag->show ();
+}
diff --git a/gtk2_ardour/canvas_patch_change.h b/gtk2_ardour/patch_change.h
index 2c103173df..44f10074d5 100644
--- a/gtk2_ardour/canvas_patch_change.h
+++ b/gtk2_ardour/patch_change.h
@@ -17,10 +17,10 @@
*/
-#ifndef CANVAS_PATCH_CHANGE_H_
-#define CANVAS_PATCH_CHANGE_H_
+#ifndef __PATCH_CHANGE_H__
+#define __PATCH_CHANGE_H__
-#include "canvas-flag.h"
+#include "canvas/flag.h"
class MidiRegionView;
@@ -30,31 +30,21 @@ namespace MIDI {
}
}
-namespace ARDOUR {
- class InstrumentInfo;
-}
-
-namespace Gnome {
-namespace Canvas {
-
-class CanvasPatchChange : public CanvasFlag
+class PatchChange
{
public:
- CanvasPatchChange(
+ PatchChange(
MidiRegionView& region,
- Group& parent,
+ ArdourCanvas::Container* parent,
const string& text,
double height,
double x,
double y,
ARDOUR::InstrumentInfo& info,
- ARDOUR::MidiModel::PatchChangePtr patch,
- bool
+ ARDOUR::MidiModel::PatchChangePtr patch
);
- virtual ~CanvasPatchChange();
-
- virtual bool on_event(GdkEvent* ev);
+ ~PatchChange();
ARDOUR::MidiModel::PatchChangePtr patch () const { return _patch; }
@@ -62,14 +52,26 @@ public:
void on_patch_menu_selected(const MIDI::Name::PatchPrimaryKey& key);
+ ArdourCanvas::Item* canvas_item () const {
+ return _flag;
+ }
+
+ void move (ArdourCanvas::Duple);
+ void set_height (ArdourCanvas::Distance);
+ void hide ();
+ void show ();
+
+ ArdourCanvas::Item& item() const { return *_flag; }
+
private:
- ARDOUR::InstrumentInfo& _info;
+ bool event_handler (GdkEvent *);
+
+ MidiRegionView& _region;
+ ARDOUR::InstrumentInfo& _info;
ARDOUR::MidiModel::PatchChangePtr _patch;
Gtk::Menu _popup;
bool _popup_initialized;
+ ArdourCanvas::Flag* _flag;
};
-} // namespace Canvas
-} // namespace Gnome
-
-#endif /*CANVASPROGRAMCHANGE_H_*/
+#endif /* __PATCH_CHANGE_H__ */
diff --git a/gtk2_ardour/patch_change_dialog.cc b/gtk2_ardour/patch_change_dialog.cc
index 2ecfd4bdd7..081604344c 100644
--- a/gtk2_ardour/patch_change_dialog.cc
+++ b/gtk2_ardour/patch_change_dialog.cc
@@ -117,7 +117,7 @@ PatchChangeDialog::PatchChangeDialog (
add_button (Stock::CANCEL, RESPONSE_CANCEL);
add_button (ok, RESPONSE_ACCEPT);
if (allow_delete) {
- add_button (Stock::DELETE, RESPONSE_REJECT);
+ add_button (Gtk::StockID(GTK_STOCK_DELETE), RESPONSE_REJECT);
}
set_default_response (RESPONSE_ACCEPT);
diff --git a/gtk2_ardour/piano_roll_header.cc b/gtk2_ardour/piano_roll_header.cc
index 3243f893c7..878cbb72d8 100644
--- a/gtk2_ardour/piano_roll_header.cc
+++ b/gtk2_ardour/piano_roll_header.cc
@@ -174,16 +174,16 @@ render_dga(Cairo::RefPtr<Cairo::Context> cr, int /*note*/, double x[], double y[
void
PianoRollHeader::get_path(PianoRollHeader::ItemType note_type, int note, double x[], double y[])
{
- double y_pos = floor(_view.note_to_y(note)) - 0.5f;
+ double y_pos = floor(_view.note_to_y(note)) + 1.5f;
double note_height;
- double other_y1 = floor(_view.note_to_y(note+1)) + floor(_note_height / 2.0f) + 0.5f;
- double other_y2 = floor(_view.note_to_y(note-1)) + floor(_note_height / 2.0f) - 1.0f;
+ double other_y1 = floor(_view.note_to_y(note+1)) + floor(_note_height / 2.0f) + 2.5f;
+ double other_y2 = floor(_view.note_to_y(note-1)) + floor(_note_height / 2.0f) + 1.0f;
double width = get_width();
if (note == 0) {
- note_height = floor(_view.contents_height()) - y_pos;
+ note_height = floor(_view.contents_height()) - y_pos + 2.;
} else {
- note_height = floor(_view.note_to_y(note - 1)) - y_pos;
+ note_height = floor(_view.note_to_y(note - 1)) - y_pos + 2.;
}
switch (note_type) {
@@ -514,31 +514,27 @@ PianoRollHeader::on_button_press_event (GdkEventButton* ev)
{
int note = _view.y_to_note(ev->y);
- if (ev->button != 1) {
- return false;
- }
-
- if (editor().current_mouse_mode() == Editing::MouseRange) {
+ if (ev->button == 2 && ev->type == GDK_BUTTON_PRESS) {
if (Keyboard::no_modifiers_active (ev->state)) {
SetNoteSelection (note); // EMIT SIGNAL
+ return true;
}
+ return false;
+ }
+
+ if (ev->button == 1 && ev->type == GDK_BUTTON_PRESS && note >= 0 && note < 128) {
+
+ add_modal_grab();
_dragging = true;
- } else {
-
- if (ev->type == GDK_BUTTON_PRESS && note >= 0 && note < 128) {
-
- add_modal_grab();
- _dragging = true;
-
- if (!_active_notes[note]) {
- _active_notes[note] = true;
- _clicked_note = note;
- send_note_on(note);
-
- invalidate_note_range(note, note);
- } else {
- reset_clicked_note(note);
- }
+
+ if (!_active_notes[note]) {
+ _active_notes[note] = true;
+ _clicked_note = note;
+ send_note_on(note);
+
+ invalidate_note_range(note, note);
+ } else {
+ reset_clicked_note(note);
}
}
diff --git a/gtk2_ardour/pingback.cc b/gtk2_ardour/pingback.cc
index dea7f52f01..62d9191daf 100644
--- a/gtk2_ardour/pingback.cc
+++ b/gtk2_ardour/pingback.cc
@@ -23,7 +23,10 @@
#include <fstream>
#include <cstring>
+#ifndef PLATFORM_WINDOWS
#include <sys/utsname.h>
+#endif
+
#include <curl/curl.h>
#include <glibmm/miscutils.h>
@@ -70,6 +73,7 @@ struct ping_call {
static void*
_pingback (void *arg)
{
+#ifndef PLATFORM_WINDOWS
ping_call* cm = static_cast<ping_call*> (arg);
CURL* c;
struct utsname utb;
@@ -158,6 +162,8 @@ _pingback (void *arg)
curl_easy_cleanup (c);
delete cm;
+#endif /* PLATFORM_WINDOWS */
+
return 0;
}
diff --git a/gtk2_ardour/plugin_eq_gui.cc b/gtk2_ardour/plugin_eq_gui.cc
index 631fb7be71..13c475e27c 100644
--- a/gtk2_ardour/plugin_eq_gui.cc
+++ b/gtk2_ardour/plugin_eq_gui.cc
@@ -18,22 +18,32 @@
*/
-#include "plugin_eq_gui.h"
-#include "fft.h"
+#include <math.h>
+#include <iostream>
-#include "ardour_ui.h"
-#include "gui_thread.h"
-#include "ardour/audio_buffer.h"
-#include "ardour/data_type.h"
-#include "ardour/chan_mapping.h"
-#include "ardour/session.h"
+#ifdef COMPILER_MSVC
+#include <float.h>
+/* isinf() & isnan() are C99 standards, which older MSVC doesn't provide */
+#define ISINF(val) !((bool)_finite((double)val))
+#define ISNAN(val) (bool)_isnan((double)val)
+#else
+#define ISINF(val) std::isinf((val))
+#define ISNAN(val) std::isnan((val))
+#endif
#include <gtkmm/box.h>
#include <gtkmm/button.h>
#include <gtkmm/checkbutton.h>
-#include <iostream>
-#include <cmath>
+#include "ardour/audio_buffer.h"
+#include "ardour/data_type.h"
+#include "ardour/chan_mapping.h"
+#include "ardour/session.h"
+
+#include "plugin_eq_gui.h"
+#include "fft.h"
+#include "ardour_ui.h"
+#include "gui_thread.h"
#include "i18n.h"
@@ -765,13 +775,13 @@ PluginEqGui::plot_signal_amplitude_difference(Gtk::Widget *w, cairo_t *cr)
}
*/
- if (std::isinf(power)) {
+ if (ISINF(power)) {
if (power < 0) {
power = _min_dB - 1.0;
} else {
power = _max_dB - 1.0;
}
- } else if (std::isnan(power)) {
+ } else if (ISNAN(power)) {
power = _min_dB - 1.0;
}
diff --git a/gtk2_ardour/plugin_selector.cc b/gtk2_ardour/plugin_selector.cc
index bb96c7f392..2a1ce85ee3 100644
--- a/gtk2_ardour/plugin_selector.cc
+++ b/gtk2_ardour/plugin_selector.cc
@@ -21,7 +21,6 @@
#endif
#include <cstdio>
-#include <lrdf.h>
#include <map>
#include <algorithm>
@@ -74,6 +73,7 @@ PluginSelector::PluginSelector (PluginManager& mgr)
in_row_change = false;
manager.PluginListChanged.connect (plugin_list_changed_connection, invalidator (*this), boost::bind (&PluginSelector::build_plugin_menu, this), gui_context());
+ manager.PluginListChanged.connect (plugin_list_changed_connection, invalidator (*this), boost::bind (&PluginSelector::refill, this), gui_context());
build_plugin_menu ();
plugin_model = Gtk::ListStore::create (plugin_columns);
@@ -187,6 +187,7 @@ PluginSelector::PluginSelector (PluginManager& mgr)
btn_add->signal_clicked().connect(sigc::mem_fun(*this, &PluginSelector::btn_add_clicked));
btn_remove->signal_clicked().connect(sigc::mem_fun(*this, &PluginSelector::btn_remove_clicked));
added_list.get_selection()->signal_changed().connect (sigc::mem_fun(*this, &PluginSelector::added_list_selection_changed));
+ added_list.signal_button_press_event().connect_notify (mem_fun(*this, &PluginSelector::added_row_clicked));
refill ();
}
@@ -202,6 +203,13 @@ PluginSelector::row_activated(Gtk::TreeModel::Path, Gtk::TreeViewColumn*)
btn_add_clicked();
}
+void
+PluginSelector::added_row_clicked(GdkEventButton* event)
+{
+ if (event->type == GDK_2BUTTON_PRESS)
+ btn_remove_clicked();
+}
+
bool
PluginSelector::show_this_plugin (const PluginInfoPtr& info, const std::string& filterstr)
{
@@ -311,9 +319,17 @@ PluginSelector::refiller (const PluginInfoList& plugs, const::std::string& filte
string::size_type pos = 0;
/* stupid LADSPA creator strings */
-
+#ifdef PLATFORM_WINDOWS
+ while (pos < creator.length() && creator[pos] > -2 && creator[pos] < 256 && (isalnum (creator[pos]) || isspace (creator[pos]))) ++pos;
+#else
while (pos < creator.length() && (isalnum (creator[pos]) || isspace (creator[pos]))) ++pos;
- creator = creator.substr (0, pos);
+#endif
+ // If there were too few characters to create a
+ // meaningful name, mark this creator as 'Unknown'
+ if (creator.length()<2 || pos<3)
+ creator = "Unknown";
+ else
+ creator = creator.substr (0, pos);
newrow[plugin_columns.creator] = creator;
@@ -434,7 +450,6 @@ void
PluginSelector::btn_update_clicked()
{
manager.refresh ();
- refill();
}
void
@@ -682,8 +697,21 @@ PluginSelector::create_by_creator_menu (ARDOUR::PluginInfoList& all_plugs)
/* stupid LADSPA creator strings */
string::size_type pos = 0;
+#ifdef PLATFORM_WINDOWS
+ while (pos < creator.length() && creator[pos]>(-2) && creator[pos]<256 && (isprint (creator[pos]))) ++pos;
+#else
while (pos < creator.length() && (isalnum (creator[pos]) || isspace (creator[pos]))) ++pos;
- creator = creator.substr (0, pos);
+#endif
+
+ // Check to see if we found any invalid characters.
+ if (creator.length() != pos) {
+ // If there were too few characters to create a
+ // meaningful name, mark this creator as 'Unknown'
+ if (pos<3)
+ creator = "Unknown?";
+ else
+ creator = creator.substr (0, pos);
+ }
SubmenuMap::iterator x;
Gtk::Menu* submenu;
diff --git a/gtk2_ardour/plugin_selector.h b/gtk2_ardour/plugin_selector.h
index 034622b386..84c165138e 100644
--- a/gtk2_ardour/plugin_selector.h
+++ b/gtk2_ardour/plugin_selector.h
@@ -123,6 +123,7 @@ class PluginSelector : public ArdourDialog
void btn_remove_clicked();
void btn_update_clicked();
void added_list_selection_changed();
+ void added_row_clicked(GdkEventButton* event);
void display_selection_changed();
void btn_apply_clicked();
ARDOUR::PluginPtr load_plugin (ARDOUR::PluginInfoPtr);
@@ -139,7 +140,7 @@ class PluginSelector : public ArdourDialog
Gtk::Menu* create_by_creator_menu (ARDOUR::PluginInfoList&);
Gtk::Menu* create_by_category_menu (ARDOUR::PluginInfoList&);
void build_plugin_menu ();
- PBD::ScopedConnection plugin_list_changed_connection;
+ PBD::ScopedConnectionList plugin_list_changed_connection;
};
#endif // __ardour_plugin_selector_h__
diff --git a/gtk2_ardour/plugin_ui.cc b/gtk2_ardour/plugin_ui.cc
index bb3cafb4cf..9f11f410f9 100644
--- a/gtk2_ardour/plugin_ui.cc
+++ b/gtk2_ardour/plugin_ui.cc
@@ -57,8 +57,6 @@
#include "lv2_plugin_ui.h"
#endif
-#include <lrdf.h>
-
#include "ardour_window.h"
#include "ardour_ui.h"
#include "prompter.h"
@@ -75,6 +73,7 @@
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtkmm2ext;
using namespace Gtk;
@@ -229,7 +228,7 @@ PluginUIWindow::create_windows_vst_editor(boost::shared_ptr<PluginInsert>)
<< endmsg;
throw failed_constructor ();
} else {
- WindowsVSTPluginUI* vpu = new WindowsVSTPluginUI (insert, vp);
+ WindowsVSTPluginUI* vpu = new WindowsVSTPluginUI (insert, vp, GTK_WIDGET(this->gobj()));
_pluginui = vpu;
_pluginui->KeyboardFocused.connect (sigc::mem_fun (*this, &PluginUIWindow::keyboard_focused));
@@ -449,7 +448,7 @@ PlugUIBase::PlugUIBase (boost::shared_ptr<PluginInsert> pi)
bypass_button.set_name ("plugin bypass button");
bypass_button.set_text (_("Bypass"));
bypass_button.set_active (!pi->active());
- bypass_button.signal_button_release_event().connect (sigc::mem_fun(*this, &PlugUIBase::bypass_button_release));
+ bypass_button.signal_button_release_event().connect (sigc::mem_fun(*this, &PlugUIBase::bypass_button_release), false);
focus_button.add_events (Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK);
focus_button.signal_button_release_event().connect (sigc::mem_fun(*this, &PlugUIBase::focus_toggled));
diff --git a/gtk2_ardour/po/cs.po b/gtk2_ardour/po/cs.po
index f44c8e311f..5a2af112c0 100644
--- a/gtk2_ardour/po/cs.po
+++ b/gtk2_ardour/po/cs.po
@@ -4,11 +4,12 @@
#
# Pavel Fric <pavelfric@seznam.cz>, 2009, 2010, 2011.
# Pavel Fric <pavelfric@seznam.cz>, 2010, 2012, 2013.
+#: engine_dialog.cc:558
msgid ""
msgstr ""
"Project-Id-Version: gtk-ardour 0.347.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-11-05 11:11-0500\n"
+"POT-Creation-Date: 2014-09-04 19:07-0400\n"
"PO-Revision-Date: 2013-06-13 12:05+0200\n"
"Last-Translator: Pavel Fric <pavelfric@seznam.cz>\n"
"Language-Team: Czech <kde-i18n-doc@kde.org>\n"
@@ -22,231 +23,235 @@ msgstr ""
"X-Poedit-Basepath: ../../\n"
"X-Poedit-SearchPath-0: gtk2_ardour\n"
-#: about.cc:122
+#: about.cc:120
msgid "Brian Ahr"
msgstr "Brian Ahr"
-#: about.cc:123
+#: about.cc:121
msgid "John Anderson"
msgstr "John Anderson"
-#: about.cc:124
+#: about.cc:122
msgid "Marcus Andersson"
msgstr "Marcus Andersson"
-#: about.cc:125
+#: about.cc:123
msgid "Nedko Arnaudov"
msgstr "Nedko Arnaudov"
-#: about.cc:126
+#: about.cc:124
msgid "Hans Baier"
msgstr "Hans Baier"
-#: about.cc:127
+#: about.cc:125
msgid "Ben Bell"
msgstr "Ben Bell"
-#: about.cc:128
+#: about.cc:126
msgid "Sakari Bergen"
msgstr "Sakari Bergen"
-#: about.cc:129
+#: about.cc:127
+msgid "Christian Borss"
+msgstr ""
+
+#: about.cc:128
msgid "Chris Cannam"
msgstr "Chris Cannam"
-#: about.cc:130
+#: about.cc:129
msgid "Jesse Chappell"
msgstr "Jesse Chappell"
-#: about.cc:131
+#: about.cc:130
msgid "Thomas Charbonnel"
msgstr "Thomas Charbonnel"
-#: about.cc:132
+#: about.cc:131
msgid "Sam Chessman"
msgstr "Sam Chessman"
-#: about.cc:133
+#: about.cc:132
msgid "André Colomb"
msgstr "André Colomb"
-#: about.cc:134
+#: about.cc:133
msgid "Paul Davis"
msgstr "Paul Davis"
-#: about.cc:135
+#: about.cc:134
msgid "Gerard van Dongen"
msgstr "Gerard van Dongen"
-#: about.cc:136
+#: about.cc:135
msgid "Colin Fletcher"
msgstr "Colin Fletcher"
-#: about.cc:137
+#: about.cc:136
msgid "Dave Flick"
msgstr "Dave Flick"
-#: about.cc:138
+#: about.cc:137
msgid "Hans Fugal"
msgstr "Hans Fugal"
-#: about.cc:139
+#: about.cc:138
msgid "Robin Gareus"
msgstr "Robin Gareus"
-#: about.cc:140
+#: about.cc:139
msgid "Christopher George"
msgstr "Christopher George"
-#: about.cc:141
+#: about.cc:140
msgid "Chris Goddard"
msgstr "Chris Goddard"
-#: about.cc:142
+#: about.cc:141
msgid "J. Abelardo Gutierrez"
msgstr "J. Abelardo Gutierrez"
-#: about.cc:143
+#: about.cc:142
msgid "Jeremy Hall"
msgstr "Jeremy Hall"
-#: about.cc:144
+#: about.cc:143
msgid "Audun Halland"
msgstr "Audun Halland"
-#: about.cc:145
+#: about.cc:144
msgid "David Halter"
msgstr "David Halter"
-#: about.cc:146
+#: about.cc:145
msgid "Steve Harris"
msgstr "Steve Harris"
-#: about.cc:147
+#: about.cc:146
msgid "Melvin Ray Herr"
msgstr "Melvin Ray Herr"
-#: about.cc:148
+#: about.cc:147
msgid "Carl Hetherington"
msgstr "Carl Hetherington"
-#: about.cc:149
+#: about.cc:148
msgid "Rob Holland"
msgstr "Rob Holland"
-#: about.cc:150
+#: about.cc:149
msgid "Robert Jordens"
msgstr "Robert Jordens"
-#: about.cc:151
+#: about.cc:150
msgid "Stefan Kersten"
msgstr "Stefan Kersten"
-#: about.cc:152
+#: about.cc:151
msgid "Armand Klenk"
msgstr "Armand Klenk"
-#: about.cc:153
+#: about.cc:152
msgid "Julien de Kozak"
msgstr "Julien de Kozak"
-#: about.cc:154
+#: about.cc:153
msgid "Matt Krai"
msgstr "Matt Krai"
-#: about.cc:155
+#: about.cc:154
msgid "Nick Lanham"
msgstr "Nick Lanham"
-#: about.cc:156
+#: about.cc:155
msgid "Colin Law"
msgstr "Colin Law"
-#: about.cc:157
+#: about.cc:156
msgid "Joshua Leach"
msgstr "Joshua Leach"
-#: about.cc:158
+#: about.cc:157
msgid "Ben Loftis"
msgstr "Ben Loftis"
-#: about.cc:159
+#: about.cc:158
msgid "Nick Mainsbridge"
msgstr "Nick Mainsbridge"
-#: about.cc:160
+#: about.cc:159
msgid "Tim Mayberry"
msgstr "Tim Mayberry"
-#: about.cc:161
+#: about.cc:160
msgid "Doug Mclain"
msgstr "Doug Mclain"
-#: about.cc:162
+#: about.cc:161
msgid "Jack O'Quin"
msgstr "Jack O'Quin"
-#: about.cc:163
+#: about.cc:162
msgid "Nimal Ratnayake"
msgstr "Nimal Ratnayake"
-#: about.cc:164
+#: about.cc:163
msgid "David Robillard"
msgstr "David Robillard"
-#: about.cc:165
+#: about.cc:164
msgid "Taybin Rutkin"
msgstr "Taybin Rutkin"
-#: about.cc:166
+#: about.cc:165
msgid "Andreas Ruge"
msgstr "Andreas Ruge"
-#: about.cc:167
+#: about.cc:166
msgid "Sampo Savolainen"
msgstr "Sampo Savolainen"
-#: about.cc:168
+#: about.cc:167
msgid "Rodrigo Severo"
msgstr "Rodrigo Severo"
-#: about.cc:169
+#: about.cc:168
msgid "Per Sigmond"
msgstr "Per Sigmond"
-#: about.cc:170
+#: about.cc:169
msgid "Lincoln Spiteri"
msgstr "Lincoln Spiteri"
-#: about.cc:171
+#: about.cc:170
msgid "Mike Start"
msgstr "Mike Start"
-#: about.cc:172
+#: about.cc:171
msgid "Mark Stewart"
msgstr "Mark Stewart"
-#: about.cc:173
+#: about.cc:172
msgid "Roland Stigge"
msgstr "Roland Stigge"
-#: about.cc:174
+#: about.cc:173
msgid "Petter Sundlöf"
msgstr "Petter Sundlöf"
-#: about.cc:175
+#: about.cc:174
msgid "Mike Täht"
msgstr "Mike Täht"
-#: about.cc:176
+#: about.cc:175
msgid "Roy Vegard"
msgstr "Roy Vegard"
-#: about.cc:177
+#: about.cc:176
msgid "Thorsten Wilms"
msgstr "Thorsten Wilms"
-#: about.cc:182
+#: about.cc:181
msgid ""
"French:\n"
"\tAlain Fréhel <alain.frehel@free.fr>\n"
@@ -260,7 +265,7 @@ msgstr ""
"\tMartin Blanchard\n"
"\tRomain Arnaud <roming22@gmail.com>\n"
-#: about.cc:183
+#: about.cc:182
msgid ""
"German:\n"
"\tKarsten Petersen <kapet@kapet.de>\n"
@@ -272,7 +277,7 @@ msgid ""
"\tRobin Gloster <robin@loc-com.de>\n"
msgstr ""
-#: about.cc:190
+#: about.cc:189
msgid ""
"Italian:\n"
"\tFilippo Pappalardo <filippo@email.it>\n"
@@ -282,7 +287,7 @@ msgstr ""
"\tFilippo Pappalardo <filippo@email.it>\n"
"\tRaffaele Morelli <raffaele.morelli@gmail.com>\n"
-#: about.cc:191
+#: about.cc:190
msgid ""
"Portuguese:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
@@ -290,7 +295,7 @@ msgstr ""
"Portugalština:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
-#: about.cc:192
+#: about.cc:191
msgid ""
"Brazilian Portuguese:\n"
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
@@ -300,7 +305,7 @@ msgstr ""
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
"\tChris Ross <chris@tebibyte.org>\n"
-#: about.cc:194
+#: about.cc:193
msgid ""
"Spanish:\n"
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
@@ -310,7 +315,7 @@ msgstr ""
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
"\tPablo Fernández <pablo.fbus@gmail.com>\n"
-#: about.cc:195
+#: about.cc:194
msgid ""
"Russian:\n"
"\t Igor Blinov <pitstop@nm.ru>\n"
@@ -320,7 +325,7 @@ msgstr ""
"\t Igor Blinov <pitstop@nm.ru>\n"
"\tAlexandre Prokoudine <alexandre.prokoudine@gmail.com>\n"
-#: about.cc:197
+#: about.cc:196
msgid ""
"Greek:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
@@ -328,7 +333,7 @@ msgstr ""
"ŘeÄtina:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
-#: about.cc:198
+#: about.cc:197
msgid ""
"Swedish:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
@@ -336,7 +341,7 @@ msgstr ""
"Švédština:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
-#: about.cc:199
+#: about.cc:198
msgid ""
"Polish:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
@@ -344,7 +349,7 @@ msgstr ""
"Polština:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
-#: about.cc:200
+#: about.cc:199
msgid ""
"Czech:\n"
"\t Pavel Fric <pavelfric@seznam.cz>\n"
@@ -352,7 +357,7 @@ msgstr ""
"Čeština:\n"
"\t Pavel Fric <pavelfric@seznam.cz>\n"
-#: about.cc:201
+#: about.cc:200
msgid ""
"Norwegian:\n"
"\t Eivind Ødegård\n"
@@ -360,7 +365,7 @@ msgstr ""
"Norština:\n"
"\t Eivind Ødegård\n"
-#: about.cc:202
+#: about.cc:201
msgid ""
"Chinese:\n"
"\t Rui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
@@ -368,15 +373,15 @@ msgstr ""
"Čínština:\n"
"\t Rui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
-#: about.cc:580
+#: about.cc:581
msgid "Copyright (C) 1999-2013 Paul Davis\n"
msgstr "Autorské právo (C) 1999-2013 Paul Davis\n"
-#: about.cc:584
+#: about.cc:585
msgid "http://ardour.org/"
msgstr "http://www.ardour.org"
-#: about.cc:585
+#: about.cc:586
msgid ""
"%1\n"
"(built from revision %2)"
@@ -384,105 +389,106 @@ msgstr ""
"%1\n"
"(Sestaveno na základě revize %2)"
-#: about.cc:589
+#: about.cc:590
msgid "Config"
msgstr "Nastavení"
-#: actions.cc:85
+#: actions.cc:84
msgid "Loading menus from %1"
msgstr "Nahrávají se nabídky z %1"
-#: actions.cc:88 actions.cc:89
-msgid "badly formatted UI definition file: %1"
-msgstr "Soubor vymezující uživatelské rozhraní %1 je nesprávně formátován"
+#: actions.cc:87 actions.cc:88
+msgid "badly formatted menu definition file: %1"
+msgstr ""
-#: actions.cc:91
+#: actions.cc:90
msgid "%1 menu definition file not found"
msgstr "%1 soubor s vymezením nabídky nenalezen"
-#: actions.cc:95 actions.cc:96
-msgid "%1 will not work without a valid ardour.menus file"
-msgstr "%1 nebude pracovat bez platného souboru ardour.menus"
+#: actions.cc:94 actions.cc:95
+msgid "%1 will not work without a valid menu definition file"
+msgstr ""
-#: add_route_dialog.cc:53 route_params_ui.cc:500
+#: add_route_dialog.cc:54 route_params_ui.cc:523
msgid "Add Track or Bus"
msgstr "Přidat stopu nebo sběrnici"
-#: add_route_dialog.cc:56
+#: add_route_dialog.cc:57
msgid "Configuration:"
msgstr "Nastavení:"
-#: add_route_dialog.cc:57
+#: add_route_dialog.cc:58
msgid "Track mode:"
msgstr "Režim stopy:"
-#: add_route_dialog.cc:58
+#: add_route_dialog.cc:59
msgid "Instrument:"
msgstr "Nástroj:"
-#: add_route_dialog.cc:76
+#: add_route_dialog.cc:78
msgid "Audio Tracks"
msgstr "Zvukové stopy"
-#: add_route_dialog.cc:77
+#: add_route_dialog.cc:79
msgid "MIDI Tracks"
msgstr "Stopy MIDI"
-#: add_route_dialog.cc:78
+#: add_route_dialog.cc:80
msgid "Audio+MIDI Tracks"
msgstr "Zvukové a MIDI stopy"
-#: add_route_dialog.cc:79
+#: add_route_dialog.cc:81
msgid "Busses"
msgstr "Sběrnice"
-#: add_route_dialog.cc:101
+#: add_route_dialog.cc:103
msgid "Add:"
msgstr "Přidat:"
-#: add_route_dialog.cc:114 time_fx_dialog.cc:91 add_video_dialog.cc:150
-#: video_server_dialog.cc:112
+#: add_route_dialog.cc:116 time_fx_dialog.cc:91 add_video_dialog.cc:135
+#: video_server_dialog.cc:151
msgid "<b>Options</b>"
msgstr "<b>Volby</b>"
-#: add_route_dialog.cc:124 bundle_manager.cc:192 region_editor.cc:50
-#: route_group_dialog.cc:65
+#: add_route_dialog.cc:126 bundle_manager.cc:193 region_editor.cc:49
+#: route_group_dialog.cc:71
msgid "Name:"
msgstr "Název:"
-#: add_route_dialog.cc:154
+#: add_route_dialog.cc:156
msgid "Group:"
msgstr "Skupina:"
-#: add_route_dialog.cc:215 add_route_dialog.cc:224 add_route_dialog.cc:298
-#: ardour_ui_ed.cc:476 engine_dialog.cc:236 rc_option_editor.cc:1446
-#: rc_option_editor.cc:1448 rc_option_editor.cc:1450 rc_option_editor.cc:1466
-#: rc_option_editor.cc:1468 rc_option_editor.cc:1476 rc_option_editor.cc:1478
-#: rc_option_editor.cc:1496 rc_option_editor.cc:1509 rc_option_editor.cc:1511
-#: rc_option_editor.cc:1513 rc_option_editor.cc:1544 rc_option_editor.cc:1546
-#: rc_option_editor.cc:1548 rc_option_editor.cc:1556 rc_option_editor.cc:1564
-#: rc_option_editor.cc:1572
+#: add_route_dialog.cc:217 add_route_dialog.cc:226 add_route_dialog.cc:300
+#: ardour_ui_ed.cc:523 engine_dialog.cc:235 rc_option_editor.cc:1710
+#: rc_option_editor.cc:1712 rc_option_editor.cc:1714 rc_option_editor.cc:1732
+#: rc_option_editor.cc:1734 rc_option_editor.cc:1742 rc_option_editor.cc:1744
+#: rc_option_editor.cc:1762 rc_option_editor.cc:1775 rc_option_editor.cc:1777
+#: rc_option_editor.cc:1779 rc_option_editor.cc:1810 rc_option_editor.cc:1812
+#: rc_option_editor.cc:1814 rc_option_editor.cc:1822 rc_option_editor.cc:1830
+#: rc_option_editor.cc:1832 rc_option_editor.cc:1840
msgid "Audio"
msgstr "Zvuk"
-#: add_route_dialog.cc:216 add_route_dialog.cc:227 add_route_dialog.cc:299
-#: editor_actions.cc:105 missing_file_dialog.cc:55 rc_option_editor.cc:1695
-#: rc_option_editor.cc:1703 rc_option_editor.cc:1711 rc_option_editor.cc:1720
-#: rc_option_editor.cc:1728 rc_option_editor.cc:1736 rc_option_editor.cc:1744
-#: rc_option_editor.cc:1753 rc_option_editor.cc:1762 rc_option_editor.cc:1771
-#: rc_option_editor.cc:1779 rc_option_editor.cc:1787
+#: add_route_dialog.cc:218 add_route_dialog.cc:229 add_route_dialog.cc:301
+#: editor_actions.cc:109 engine_dialog.cc:237 missing_file_dialog.cc:56
+#: rc_option_editor.cc:1975 rc_option_editor.cc:1983 rc_option_editor.cc:1991
+#: rc_option_editor.cc:2000 rc_option_editor.cc:2008 rc_option_editor.cc:2016
+#: rc_option_editor.cc:2024 rc_option_editor.cc:2033 rc_option_editor.cc:2042
+#: rc_option_editor.cc:2051 rc_option_editor.cc:2059 rc_option_editor.cc:2067
+#: rc_option_editor.cc:2075 rc_option_editor.cc:2098
msgid "MIDI"
msgstr "MIDI"
-#: add_route_dialog.cc:217 add_route_dialog.cc:230 add_route_dialog.cc:300
+#: add_route_dialog.cc:219 add_route_dialog.cc:232 add_route_dialog.cc:302
msgid "Audio+MIDI"
msgstr "Zvuk + MIDI"
-#: add_route_dialog.cc:218 add_route_dialog.cc:233 add_route_dialog.cc:301
+#: add_route_dialog.cc:220 add_route_dialog.cc:235 add_route_dialog.cc:303
msgid "Bus"
msgstr "Sběrnice"
-#: add_route_dialog.cc:260
+#: add_route_dialog.cc:262
msgid ""
"Audio+MIDI tracks are intended for use <b>ONLY</b> with plugins that use "
"both audio and MIDI input data\n"
@@ -496,64 +502,64 @@ msgstr ""
"Pokud takový přídavný modul nemáte v úmyslu používat, potom namísto toho "
"použijte normální zvukovou nebo MIDI stopu."
-#: add_route_dialog.cc:319 add_route_dialog.cc:338 editor_actions.cc:385
-#: editor_rulers.cc:377 time_axis_view.cc:1305
+#: add_route_dialog.cc:321 add_route_dialog.cc:340 editor_actions.cc:420
+#: editor_rulers.cc:251 time_axis_view.cc:1339
msgid "Normal"
msgstr "Obvyklá"
-#: add_route_dialog.cc:322 add_route_dialog.cc:340
+#: add_route_dialog.cc:324 add_route_dialog.cc:342
msgid "Non Layered"
msgstr "Nevrstvená"
-#: add_route_dialog.cc:323 add_route_dialog.cc:342
+#: add_route_dialog.cc:325 add_route_dialog.cc:344
msgid "Tape"
msgstr "Pásek"
-#: add_route_dialog.cc:423
+#: add_route_dialog.cc:425 monitor_section.cc:291
msgid "Mono"
msgstr "Mono"
-#: add_route_dialog.cc:427
+#: add_route_dialog.cc:429
msgid "Stereo"
msgstr "Stereo"
-#: add_route_dialog.cc:451
+#: add_route_dialog.cc:453
msgid "3 Channel"
msgstr "3 kanály"
-#: add_route_dialog.cc:455
+#: add_route_dialog.cc:457
msgid "4 Channel"
msgstr "4 kanály"
-#: add_route_dialog.cc:459
+#: add_route_dialog.cc:461
msgid "5 Channel"
msgstr "5 kanálů"
-#: add_route_dialog.cc:463
+#: add_route_dialog.cc:465
msgid "6 Channel"
msgstr "6 kanálů"
-#: add_route_dialog.cc:467
+#: add_route_dialog.cc:469
msgid "8 Channel"
msgstr "8 kanálů"
-#: add_route_dialog.cc:471
+#: add_route_dialog.cc:473
msgid "12 Channel"
msgstr "12 kanálů"
-#: add_route_dialog.cc:475 mixer_strip.cc:2131
+#: add_route_dialog.cc:477 mixer_strip.cc:1791 mixer_strip.cc:2199
msgid "Custom"
msgstr "Vlastní"
-#: add_route_dialog.cc:508 add_route_dialog.cc:524 route_group_menu.cc:81
+#: add_route_dialog.cc:510 add_route_dialog.cc:526 route_group_menu.cc:81
msgid "New Group..."
msgstr "Nová skupina..."
-#: add_route_dialog.cc:512 route_group_menu.cc:85
+#: add_route_dialog.cc:514 route_group_menu.cc:85
msgid "No Group"
msgstr "Žádná skupina"
-#: add_route_dialog.cc:588
+#: add_route_dialog.cc:590
msgid "-none-"
msgstr "-žádná-"
@@ -579,7 +585,7 @@ msgstr ""
"\n"
"Vyberte, prosím, cestu, ze které chcete soubor dostat."
-#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:45
+#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:46
msgid "Done"
msgstr "Hotovo"
@@ -619,17 +625,17 @@ msgstr "Normalizovat hodnoty"
msgid "FFT analysis window"
msgstr "Okno pro rozbor FFT"
-#: analysis_window.cc:60 editor.cc:1857
+#: analysis_window.cc:60 editor.cc:1776
msgid "Spectral Analysis"
msgstr "Spektrální analýza (FFT rozbor)"
-#: analysis_window.cc:67 editor_actions.cc:138 export_channel_selector.cc:557
+#: analysis_window.cc:67 editor_actions.cc:142 export_channel_selector.cc:557
#: session_metadata_dialog.cc:546
msgid "Track"
msgstr "Stopa"
-#: analysis_window.cc:68 editor_actions.cc:616 mixer_ui.cc:125
-#: mixer_ui.cc:1795
+#: analysis_window.cc:68 editor_actions.cc:658 mixer_ui.cc:130
+#: mixer_ui.cc:1830
msgid "Show"
msgstr "Ukázat"
@@ -637,90 +643,96 @@ msgstr "Ukázat"
msgid "Re-analyze data"
msgstr "Znovu zpracovat data"
-#: ardour_button.cc:704
+#: ardour_button.cc:810
msgid "button cannot watch state of non-existing Controllable\n"
msgstr "TlaÄítko nemůže sledovat stav neexistujícího ovladatelného prvku\n"
-#: ardour_ui.cc:180
-msgid "audition"
+#: ardour_button.cc:1024
+msgid "ABCDEFGHIJLKMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
+msgstr ""
+
+#: ardour_ui.cc:194 editor_actions.cc:652 region_editor.cc:50
+msgid "Audition"
msgstr "Poslech"
-#: ardour_ui.cc:181
-msgid "solo"
+#: ardour_ui.cc:195 editor_actions.cc:136 mixer_strip.cc:1971
+#: rc_option_editor.cc:1850 route_time_axis.cc:252 route_time_axis.cc:2566
+msgid "Solo"
msgstr "Sólo"
-#: ardour_ui.cc:182
-msgid "feedback"
+#: ardour_ui.cc:196 rc_option_editor.cc:718
+msgid "Feedback"
msgstr "Zpětná vazba"
-#: ardour_ui.cc:187 speaker_dialog.cc:36
+#: ardour_ui.cc:201 speaker_dialog.cc:36
msgid "Speaker Configuration"
msgstr "Nastavení reproduktoru"
-#: ardour_ui.cc:188 theme_manager.cc:56 theme_manager.cc:64
+#: ardour_ui.cc:202 theme_manager.cc:62 theme_manager.cc:77
msgid "Theme Manager"
msgstr "Správce témat"
-#: ardour_ui.cc:189 keyeditor.cc:53
+#: ardour_ui.cc:203 keyeditor.cc:53
msgid "Key Bindings"
msgstr "Klávesové zkratky"
-#: ardour_ui.cc:190
+#: ardour_ui.cc:204
msgid "Preferences"
msgstr "Nastavení"
-#: ardour_ui.cc:191 ardour_ui.cc:197
+#: ardour_ui.cc:205 ardour_ui.cc:211
msgid "Add Tracks/Busses"
msgstr ""
-#: ardour_ui.cc:192
+#: ardour_ui.cc:206
msgid "About"
msgstr "O programu"
-#: ardour_ui.cc:193 location_ui.cc:1146
+#: ardour_ui.cc:207 location_ui.cc:1148 session_option_editor.cc:189
+#: session_option_editor.cc:195 session_option_editor.cc:202
msgid "Locations"
msgstr "Místa"
-#: ardour_ui.cc:194 route_params_ui.cc:58 route_params_ui.cc:606
+#: ardour_ui.cc:208 route_params_ui.cc:58 route_params_ui.cc:629
msgid "Tracks and Busses"
msgstr "Stopy a sběrnice"
-#: ardour_ui.cc:195 engine_dialog.cc:67
+#: ardour_ui.cc:209 engine_dialog.cc:69
msgid "Audio/MIDI Setup"
msgstr ""
-#: ardour_ui.cc:196
+#: ardour_ui.cc:210
msgid "Properties"
msgstr "Vlastnosti"
-#: ardour_ui.cc:198 bundle_manager.cc:263
+#: ardour_ui.cc:212 bundle_manager.cc:264
msgid "Bundle Manager"
msgstr "Správce balíků"
-#: ardour_ui.cc:199 big_clock_window.cc:35
+#: ardour_ui.cc:213 big_clock_window.cc:37
msgid "Big Clock"
msgstr "Velký ukazatel Äasu"
-#: ardour_ui.cc:200
+#: ardour_ui.cc:214
msgid "Audio Connections"
msgstr ""
-#: ardour_ui.cc:201
+#: ardour_ui.cc:215
msgid "MIDI Connections"
msgstr ""
-#: ardour_ui.cc:203
+#: ardour_ui.cc:217
msgid "Errors"
msgstr "Chyby"
-#: ardour_ui.cc:436
+#: ardour_ui.cc:461
msgid ""
"The audio backend was shutdown because:\n"
"\n"
"%1"
msgstr ""
-#: ardour_ui.cc:438
+#: ardour_ui.cc:463
msgid ""
"The audio backend has either been shutdown or it\n"
"disconnected %1 because %1\n"
@@ -728,27 +740,27 @@ msgid ""
"the audio backend and save the session."
msgstr ""
-#: ardour_ui.cc:758
+#: ardour_ui.cc:781
msgid "NSM server did not announce itself"
msgstr ""
-#: ardour_ui.cc:771
+#: ardour_ui.cc:794
msgid "NSM: no client ID provided"
msgstr ""
-#: ardour_ui.cc:778
+#: ardour_ui.cc:801
msgid "NSM: no session created"
msgstr ""
-#: ardour_ui.cc:801
+#: ardour_ui.cc:824
msgid "NSM: initialization failed"
msgstr ""
-#: ardour_ui.cc:840 startup.cc:379
+#: ardour_ui.cc:864 startup.cc:380
msgid "%1 is ready for use"
msgstr "%1 je připraven pro použití"
-#: ardour_ui.cc:882
+#: ardour_ui.cc:906
msgid ""
"WARNING: Your system has a limit for maximum amount of locked memory. This "
"might cause %1 to run out of memory before your system runs out of memory. \n"
@@ -763,23 +775,23 @@ msgstr ""
"Můžete se podívat na omezení pro paměť pomocí příkazu 'ulimit -l', a obvykle "
"můžete toto nastavení změnit %2."
-#: ardour_ui.cc:899
+#: ardour_ui.cc:923
msgid "Do not show this window again"
msgstr "Neukazovat toto okno s hlášením znovu"
-#: ardour_ui.cc:943
+#: ardour_ui.cc:967
msgid "Don't quit"
msgstr "NeukonÄit"
-#: ardour_ui.cc:944
+#: ardour_ui.cc:968
msgid "Just quit"
msgstr "Pouze ukonÄit"
-#: ardour_ui.cc:945
+#: ardour_ui.cc:969
msgid "Save and quit"
msgstr "Uložit a ukonÄit"
-#: ardour_ui.cc:955
+#: ardour_ui.cc:979
msgid ""
"%1 was unable to save your session.\n"
"\n"
@@ -793,15 +805,11 @@ msgstr ""
"\n"
"\"Pouze ukonÄit\"."
-#: ardour_ui.cc:986
-msgid "Please wait while %1 cleans up..."
-msgstr "PoÄkejte, prosím, zatímco %1 uklízí..."
-
-#: ardour_ui.cc:1004
+#: ardour_ui.cc:1030
msgid "Unsaved Session"
msgstr "Neuložené sezení"
-#: ardour_ui.cc:1025
+#: ardour_ui.cc:1051
msgid ""
"The session \"%1\"\n"
"has not been saved.\n"
@@ -819,7 +827,7 @@ msgstr ""
"\n"
"Co chcete dělat?"
-#: ardour_ui.cc:1028
+#: ardour_ui.cc:1054
msgid ""
"The snapshot \"%1\"\n"
"has not been saved.\n"
@@ -837,76 +845,76 @@ msgstr ""
"\n"
"Co chcete dělat?"
-#: ardour_ui.cc:1042
+#: ardour_ui.cc:1068
msgid "Prompter"
msgstr "Otázka"
-#: ardour_ui.cc:1128 ardour_ui.cc:1136
+#: ardour_ui.cc:1182 ardour_ui.cc:1190
#, c-format
msgid "Audio: <span foreground=\"red\">none</span>"
msgstr ""
-#: ardour_ui.cc:1140
+#: ardour_ui.cc:1194
#, c-format
msgid "Audio: <span foreground=\"green\">%.1f kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1144
+#: ardour_ui.cc:1198
#, c-format
msgid "Audio: <span foreground=\"green\">%<PRId64> kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1162 export_video_dialog.cc:67
+#: ardour_ui.cc:1216 export_video_dialog.cc:68
msgid "File:"
msgstr "Soubor:"
-#: ardour_ui.cc:1166
+#: ardour_ui.cc:1220
msgid "BWF"
msgstr "BWF"
-#: ardour_ui.cc:1169
+#: ardour_ui.cc:1223
msgid "WAV"
msgstr "WAV"
-#: ardour_ui.cc:1172
+#: ardour_ui.cc:1226
msgid "WAV64"
msgstr "WAV64"
-#: ardour_ui.cc:1175 session_option_editor.cc:197
+#: ardour_ui.cc:1229 session_option_editor.cc:185
msgid "CAF"
msgstr "CAF"
-#: ardour_ui.cc:1178
+#: ardour_ui.cc:1232
msgid "AIFF"
msgstr "AIFF"
-#: ardour_ui.cc:1181
+#: ardour_ui.cc:1235
msgid "iXML"
msgstr "iXML"
-#: ardour_ui.cc:1184
+#: ardour_ui.cc:1238
msgid "RF64"
msgstr "RF64"
-#: ardour_ui.cc:1192
+#: ardour_ui.cc:1246
msgid "32-float"
msgstr "32-float"
-#: ardour_ui.cc:1195
+#: ardour_ui.cc:1249
msgid "24-int"
msgstr "24-int"
-#: ardour_ui.cc:1198
+#: ardour_ui.cc:1252
msgid "16-int"
msgstr "16-int"
-#: ardour_ui.cc:1217
+#: ardour_ui.cc:1271
#, c-format
msgid "DSP: <span foreground=\"%s\">%5.1f%%</span>"
msgstr ""
"Digitální zpracování signálu (DSP): <span foreground=\"%s\">%5.1f%%</span>"
-#: ardour_ui.cc:1236
+#: ardour_ui.cc:1290
#, c-format
msgid ""
"Buffers: <span foreground=\"green\">p:</span><span foreground=\"%s\">"
@@ -917,88 +925,84 @@ msgstr ""
"\">%<PRIu32>%%</span> <span foreground=\"green\">c:</span><span foreground="
"\"%s\">%<PRIu32>%%</span>"
-#: ardour_ui.cc:1277
+#: ardour_ui.cc:1331
msgid "Disk: <span foreground=\"green\">Unknown</span>"
msgstr "Disk: <span foreground=\"green\">Neznámý</span>"
-#: ardour_ui.cc:1279
+#: ardour_ui.cc:1333
msgid "Disk: <span foreground=\"green\">24hrs+</span>"
msgstr "Disk: <span foreground=\"green\">24 hodin +</span>"
-#: ardour_ui.cc:1297
+#: ardour_ui.cc:1351
msgid "Disk: <span foreground=\"green\">&gt;24 hrs</span>"
msgstr "Disk: <span foreground=\"green\">&gt;24 hodin</span>"
-#: ardour_ui.cc:1308
+#: ardour_ui.cc:1362
#, c-format
msgid "Disk: <span foreground=\"%s\">%02dh:%02dm:%02ds</span>"
msgstr "Disk: <span foreground=\"%s\">%02dh:%02dm:%02ds</span>"
-#: ardour_ui.cc:1334
+#: ardour_ui.cc:1388
#, c-format
msgid "Timecode|TC: <span foreground=\"%s\">%s</span>"
msgstr "Časový kód|ČK: <span foreground=\"%s\">%s</span>"
-#: ardour_ui.cc:1451 ardour_ui.cc:1460 session_dialog.cc:322
-#: session_dialog.cc:327
+#: ardour_ui.cc:1509 ardour_ui.cc:1518 session_dialog.cc:326
+#: session_dialog.cc:331
msgid "Recent Sessions"
msgstr "Naposledy otevřená sezení"
-#: ardour_ui.cc:1539
+#: ardour_ui.cc:1597
msgid ""
"%1 is not connected to any audio backend.\n"
"You cannot open or close sessions in this condition"
msgstr ""
-#: ardour_ui.cc:1563
+#: ardour_ui.cc:1621
msgid "Open Session"
msgstr "Otevřít sezení"
-#: ardour_ui.cc:1588 session_dialog.cc:353 session_import_dialog.cc:169
+#: ardour_ui.cc:1646 session_dialog.cc:357 session_import_dialog.cc:169
#: session_metadata_dialog.cc:729
msgid "%1 sessions"
msgstr "%1 sezení"
-#: ardour_ui.cc:1625
+#: ardour_ui.cc:1683
msgid "You cannot add a track without a session already loaded."
msgstr "Stopy můžete přidat až teprve tehdy, když bylo sezení nahráno."
-#: ardour_ui.cc:1633
+#: ardour_ui.cc:1691
msgid "could not create %1 new mixed track"
msgid_plural "could not create %1 new mixed tracks"
msgstr[0] "Nepodařilo se vytvořit %1 novou smíchanou stopu"
msgstr[1] "Nepodařilo se vytvořit %1 nové smíchané stopy"
-#: ardour_ui.cc:1639 ardour_ui.cc:1700
+#: ardour_ui.cc:1697 ardour_ui.cc:1758
msgid ""
-"There are insufficient JACK ports available\n"
+"There are insufficient ports available\n"
"to create a new track or bus.\n"
"You should save %1, exit and\n"
-"restart JACK with more ports."
+"restart with more ports."
msgstr ""
-"Je zde nedostateÄný poÄet dostupných přípojek JACK na to,\n"
-"aby se dala vytvořit nová stopa nebo sběrnice.\n"
-"MÄ›l byste uložit %1, ukonÄit Ardour\n"
-"a spustit JACK znovu s vÄ›tším poÄtem přípojek."
-#: ardour_ui.cc:1674
+#: ardour_ui.cc:1732
msgid "You cannot add a track or bus without a session already loaded."
msgstr ""
"Stopy nebo sběrnice můžete přidat až teprve tehdy, když bylo sezení nahráno."
-#: ardour_ui.cc:1683
+#: ardour_ui.cc:1741
msgid "could not create %1 new audio track"
msgid_plural "could not create %1 new audio tracks"
msgstr[0] "Nelze vytvořit %1 novou zvukovou stopu"
msgstr[1] "Nelze vytvořit %1 nové zvukové stopy"
-#: ardour_ui.cc:1692
+#: ardour_ui.cc:1750
msgid "could not create %1 new audio bus"
msgid_plural "could not create %1 new audio busses"
msgstr[0] "Nepodařilo se vytvořit %1 novou zvukovou sběrnici"
msgstr[1] "Nepodařilo se vytvořit %1 nové zvukové sběrnice"
-#: ardour_ui.cc:1816
+#: ardour_ui.cc:1903
msgid ""
"Please create one or more tracks before trying to record.\n"
"You can do this with the \"Add Track or Bus\" option in the Session menu."
@@ -1006,15 +1010,23 @@ msgstr ""
"Vytvořte, prosím, jednu nebo i více stop, předtím než se pokusíte nahrávat.\n"
"Můžete to udělat volbou \"Přidat stopu nebo sběrnici\" v nabídce pro sezení."
-#: ardour_ui.cc:2193
+#: ardour_ui.cc:2312
+msgid "Save as..."
+msgstr ""
+
+#: ardour_ui.cc:2313 ardour_ui.cc:2392
+msgid "New session name"
+msgstr "Nový název sezení:"
+
+#: ardour_ui.cc:2315
msgid "Take Snapshot"
msgstr "Udělat snímek obrazovky"
-#: ardour_ui.cc:2194
+#: ardour_ui.cc:2316
msgid "Name of new snapshot"
msgstr "Název pro nový snímek obrazovky"
-#: ardour_ui.cc:2218
+#: ardour_ui.cc:2341
msgid ""
"To ensure compatibility with various systems\n"
"snapshot names may not contain a '%1' character"
@@ -1022,27 +1034,23 @@ msgstr ""
"Pro zajiÅ¡tÄ›ní sluÄitelnosti s různými systémy\n"
"nesmí názvy snímků obrazovky obsahovat znak '%1'"
-#: ardour_ui.cc:2230
+#: ardour_ui.cc:2353
msgid "Confirm Snapshot Overwrite"
msgstr "Potvrdit přepsání snímku obrazovky"
-#: ardour_ui.cc:2231
+#: ardour_ui.cc:2354
msgid "A snapshot already exists with that name. Do you want to overwrite it?"
msgstr "Snímek obrazovky s tímto názvem již existuje. Chcete jej přepsat?"
-#: ardour_ui.cc:2234 utils_videotl.cc:67
+#: ardour_ui.cc:2357 utils_videotl.cc:67
msgid "Overwrite"
msgstr "Přepsat"
-#: ardour_ui.cc:2268
+#: ardour_ui.cc:2391
msgid "Rename Session"
msgstr "Přejmenovat sezení"
-#: ardour_ui.cc:2269
-msgid "New session name"
-msgstr "Nový název sezení:"
-
-#: ardour_ui.cc:2283 ardour_ui.cc:2684 ardour_ui.cc:2722
+#: ardour_ui.cc:2406 ardour_ui.cc:2814 ardour_ui.cc:2852
msgid ""
"To ensure compatibility with various systems\n"
"session names may not contain a '%1' character"
@@ -1050,13 +1058,13 @@ msgstr ""
"Pro zajiÅ¡tÄ›ní sluÄitelnosti s různými systémy\n"
"nesmí názvy sezení obsahovat znak '%1'"
-#: ardour_ui.cc:2291
+#: ardour_ui.cc:2414
msgid ""
"That name is already in use by another directory/folder. Please try again."
msgstr ""
"Tento název se již používá jiným adresářem/složkou. Zkuste to, prosím, znovu."
-#: ardour_ui.cc:2300
+#: ardour_ui.cc:2423
msgid ""
"Renaming this session failed.\n"
"Things could be seriously messed up at this point"
@@ -1064,19 +1072,19 @@ msgstr ""
"Přejmenování tohoto sezení se nezdařilo.\n"
"Věci by v tuto chvíli mohly být vážně zvorané"
-#: ardour_ui.cc:2411
+#: ardour_ui.cc:2534
msgid "Save Template"
msgstr "Uložit předlohu"
-#: ardour_ui.cc:2412
+#: ardour_ui.cc:2535
msgid "Name for template:"
msgstr "Název pro předlohu:"
-#: ardour_ui.cc:2413
+#: ardour_ui.cc:2536
msgid "-template"
msgstr "-předloha"
-#: ardour_ui.cc:2451
+#: ardour_ui.cc:2574
msgid ""
"This session\n"
"%1\n"
@@ -1086,59 +1094,59 @@ msgstr ""
"%1\n"
"již existuje. Chcete jej otevřít?"
-#: ardour_ui.cc:2461
+#: ardour_ui.cc:2584
msgid "Open Existing Session"
msgstr "Otevřít stávající sezení"
-#: ardour_ui.cc:2712
+#: ardour_ui.cc:2842
msgid "There is no existing session at \"%1\""
msgstr "V \"%1\" není žádné sezení"
-#: ardour_ui.cc:2804
+#: ardour_ui.cc:2934
msgid "Please wait while %1 loads your session"
msgstr "PoÄkejte, prosím, dokud %1 nenahraje vaÅ¡e sezení"
-#: ardour_ui.cc:2819
+#: ardour_ui.cc:2949
msgid "Port Registration Error"
msgstr "Chyba v zápisu přípojky"
-#: ardour_ui.cc:2820
+#: ardour_ui.cc:2950
msgid "Click the Close button to try again."
msgstr "KlepnÄ›te na tlaÄítko Zavřít, abyste to mohli zkusit znovu."
-#: ardour_ui.cc:2841
+#: ardour_ui.cc:2971
msgid "Session \"%1 (snapshot %2)\" did not load successfully"
msgstr "Projekt \"%1 (snímek obrazovky %2)\" nebyl úspěšně nahrán."
-#: ardour_ui.cc:2848
+#: ardour_ui.cc:2978
msgid "Loading Error"
msgstr "Chyba při nahrávání"
-#: ardour_ui.cc:2867
+#: ardour_ui.cc:2997
msgid ""
"This session has been opened in read-only mode.\n"
"\n"
"You will not be able to record or save."
msgstr ""
-#: ardour_ui.cc:2873
+#: ardour_ui.cc:3003
msgid "Read-only Session"
msgstr ""
-#: ardour_ui.cc:2931
+#: ardour_ui.cc:3069
msgid "Could not create session in \"%1\""
msgstr "V \"%1\" nelze vytvořit žádné sezení"
-#: ardour_ui.cc:3031
+#: ardour_ui.cc:3169
msgid "No files were ready for clean-up"
msgstr "Pro udělání pořádku nebyly připraveny žádné soubory"
-#: ardour_ui.cc:3035 ardour_ui.cc:3045 ardour_ui.cc:3178 ardour_ui.cc:3185
-#: ardour_ui_ed.cc:104
+#: ardour_ui.cc:3173 ardour_ui.cc:3183 ardour_ui.cc:3316 ardour_ui.cc:3323
+#: ardour_ui_ed.cc:103
msgid "Clean-up"
msgstr "Udělat pořádek"
-#: ardour_ui.cc:3036
+#: ardour_ui.cc:3174
msgid ""
"If this seems suprising, \n"
"check for any existing snapshots.\n"
@@ -1150,19 +1158,19 @@ msgstr ""
"jsou pravdÄ›podobnÄ› zaÄlenÄ›ny jeÅ¡tÄ› v nÄ›jakém\n"
"starším snímku obrazovky jako oblasti."
-#: ardour_ui.cc:3095
+#: ardour_ui.cc:3233
msgid "kilo"
msgstr "kilo"
-#: ardour_ui.cc:3098
+#: ardour_ui.cc:3236
msgid "mega"
msgstr "mega"
-#: ardour_ui.cc:3101
+#: ardour_ui.cc:3239
msgid "giga"
msgstr "giga"
-#: ardour_ui.cc:3106
+#: ardour_ui.cc:3244
msgid ""
"The following file was deleted from %2,\n"
"releasing %3 %4bytes of disk space"
@@ -1176,7 +1184,7 @@ msgstr[1] ""
"Následující soubor byl smazán z %2,\n"
"a tím se na disku uvolnilo %3 %4 bajtů ukládacího prostoru"
-#: ardour_ui.cc:3113
+#: ardour_ui.cc:3251
msgid ""
"The following file was not in use and \n"
"has been moved to: %2\n"
@@ -1214,11 +1222,11 @@ msgstr[1] ""
"\n"
"uvolní se na disku dalších %3 %4 bajtů ukládacího prostoru.\n"
-#: ardour_ui.cc:3173
+#: ardour_ui.cc:3311
msgid "Are you sure you want to clean-up?"
msgstr "Jste si jistý, že chcete udělat pořádek?"
-#: ardour_ui.cc:3180
+#: ardour_ui.cc:3318
msgid ""
"Clean-up is a destructive operation.\n"
"ALL undo/redo information will be lost if you clean-up.\n"
@@ -1230,50 +1238,48 @@ msgstr ""
"Po udělání pořádku budou všechny nepoužívané a tudíž nepotřebné zvukové "
"soubory přesunuty do \"mrtvého\" umístění."
-#: ardour_ui.cc:3188
+#: ardour_ui.cc:3326
msgid "CleanupDialog"
msgstr "Dialog věnovaný dělání pořádku"
-#: ardour_ui.cc:3218
+#: ardour_ui.cc:3356
msgid "Cleaned Files"
msgstr "Uklizené soubory"
-#: ardour_ui.cc:3235
+#: ardour_ui.cc:3373
msgid "deleted file"
msgstr "smazané soubory"
-#: ardour_ui.cc:3381
-msgid ""
-"Video-Server was not launched by Ardour. The request to stop it is ignored."
+#: ardour_ui.cc:3512
+msgid "Video-Server was not launched by %1. The request to stop it is ignored."
msgstr ""
-"Videoserver nebyl spuštěn Ardourem. Požadavek na jeho zastavení se přehlíží."
-#: ardour_ui.cc:3385
+#: ardour_ui.cc:3516
msgid "Stop Video-Server"
msgstr "Zastavit videoserver"
-#: ardour_ui.cc:3386
+#: ardour_ui.cc:3517
msgid "Do you really want to stop the Video Server?"
msgstr "Opravdu chcete zastavit videoserver?"
-#: ardour_ui.cc:3389
+#: ardour_ui.cc:3520
msgid "Yes, Stop It"
msgstr "Ano, zastavit"
-#: ardour_ui.cc:3415
+#: ardour_ui.cc:3546
msgid "The Video Server is already started."
msgstr ""
"Videoserver je již spuštěn\n"
"."
-#: ardour_ui.cc:3417
+#: ardour_ui.cc:3548
msgid ""
"An external Video Server is configured and can be reached. Not starting a "
"new instance."
msgstr ""
"Vnější videoserver je nastaven a je dosažitelný. Nespouští se nová instance."
-#: ardour_ui.cc:3425 ardour_ui.cc:3515
+#: ardour_ui.cc:3556 ardour_ui.cc:3655
msgid ""
"Could not connect to the Video Server. Start it or configure its access URL "
"in Edit -> Preferences."
@@ -1281,36 +1287,36 @@ msgstr ""
"Nepodařilo se připojit k videoserveru. Spusťte jej nebo nastavte adresu pro "
"přístup k němu v Úpravy -> Nastavení."
-#: ardour_ui.cc:3449
+#: ardour_ui.cc:3580
msgid "Specified docroot is not an existing directory."
msgstr "Zadaný kořen dokumentu (docroot) není existujícím adresářem."
-#: ardour_ui.cc:3454
+#: ardour_ui.cc:3586 ardour_ui.cc:3592
msgid "Given Video Server is not an executable file."
msgstr "Daný videoserver není spustitelným souborem."
-#: ardour_ui.cc:3487
+#: ardour_ui.cc:3626
msgid "Cannot launch the video-server"
msgstr ""
-#: ardour_ui.cc:3496
+#: ardour_ui.cc:3636
msgid "Video-server was started but does not respond to requests..."
msgstr ""
-#: ardour_ui.cc:3541 editor_audio_import.cc:632
+#: ardour_ui.cc:3681 editor_audio_import.cc:628
msgid "could not open %1"
msgstr "\"%\" nelze otevřít"
-#: ardour_ui.cc:3545
+#: ardour_ui.cc:3685
msgid "no video-file selected"
msgstr "Nebyl vybrán žádný videosoubor"
-#: ardour_ui.cc:3717
+#: ardour_ui.cc:3858
msgid "Recording was stopped because your system could not keep up."
msgstr ""
"Nahrávání bylo zastaveno, protože tomu nedostaÄovala rychlost vaÅ¡eho systému."
-#: ardour_ui.cc:3746
+#: ardour_ui.cc:3887
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1324,7 +1330,23 @@ msgstr ""
"PÅ™esnÄ›ji Å™eÄeno nebylo možné dostateÄnÄ› rychle zapisovat data\n"
"tak, aby se podařilo udržet krok s nahráváním.\n"
-#: ardour_ui.cc:3765
+#: ardour_ui.cc:3957
+msgid "Scanning for plugins"
+msgstr ""
+
+#: ardour_ui.cc:3959
+msgid "Cancel plugin scan"
+msgstr ""
+
+#: ardour_ui.cc:3968
+msgid "Stop Timeout"
+msgstr ""
+
+#: ardour_ui.cc:3975
+msgid "Scan Timeout"
+msgstr ""
+
+#: ardour_ui.cc:4016
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1338,11 +1360,11 @@ msgstr ""
"PÅ™esnÄ›ji Å™eÄeno nebylo možné dostateÄnÄ› rychle Äíst data\n"
"tak, aby se podařilo udržet krok s přehráváním.\n"
-#: ardour_ui.cc:3805
+#: ardour_ui.cc:4056
msgid "Crash Recovery"
msgstr "Obnovení po havárii"
-#: ardour_ui.cc:3806
+#: ardour_ui.cc:4057
msgid ""
"This session appears to have been in the\n"
"middle of recording when %1 or\n"
@@ -1360,19 +1382,19 @@ msgstr ""
"zvuková data, nebo je odmítnout.\n"
"RozhodnÄ›te se, prosím, jak chcete dále pokraÄovat.\n"
-#: ardour_ui.cc:3818
+#: ardour_ui.cc:4069
msgid "Ignore crash data"
msgstr "Odmítnout data"
-#: ardour_ui.cc:3819
+#: ardour_ui.cc:4070
msgid "Recover from crash"
msgstr "Obnovit data"
-#: ardour_ui.cc:3839
+#: ardour_ui.cc:4090
msgid "Sample Rate Mismatch"
msgstr "Vzorkovací kmitoÄet neodpovídá"
-#: ardour_ui.cc:3840
+#: ardour_ui.cc:4091
msgid ""
"This session was created with a sample rate of %1 Hz, but\n"
"%2 is currently running at %3 Hz. If you load this session,\n"
@@ -1382,23 +1404,23 @@ msgstr ""
"%2 nyní běží na %3 Hz. Pokud toto sezení nahrajete,\n"
"je možné, že zvuk bude pÅ™ehráván pÅ™i nesprávném vzorkovacím kmitoÄtu.\n"
-#: ardour_ui.cc:3849
+#: ardour_ui.cc:4100
msgid "Do not load session"
msgstr "Projekt nenahrávat"
-#: ardour_ui.cc:3850
+#: ardour_ui.cc:4101
msgid "Load session anyway"
msgstr "Projekt přesto nahrát"
-#: ardour_ui.cc:3877
+#: ardour_ui.cc:4128
msgid "Could not disconnect from Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:3893 ardour_ui.cc:3896
+#: ardour_ui.cc:4144 ardour_ui.cc:4147
msgid "Could not reconnect to the Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:4172
+#: ardour_ui.cc:4431
msgid ""
"%4This is a session from an older version of %3%5\n"
"\n"
@@ -1424,47 +1446,47 @@ msgstr ""
"\n"
"Od nynějška používejte verzi -2000 staršími verzemif %3"
-#: ardour_ui2.cc:72
+#: ardour_ui2.cc:73
msgid "UI: cannot setup editor"
msgstr "Uživatelské rozhraní: editor nemohl být spuštěn."
-#: ardour_ui2.cc:77
+#: ardour_ui2.cc:78
msgid "UI: cannot setup mixer"
msgstr "Uživatelské rozhraní: směšovaÄ nemohl být spuÅ¡tÄ›n."
-#: ardour_ui2.cc:82
+#: ardour_ui2.cc:83
msgid "UI: cannot setup meterbridge"
msgstr ""
-#: ardour_ui2.cc:130
+#: ardour_ui2.cc:131
msgid "Play from playhead"
msgstr "Přehrávat od ukazatele polohy přehrávání"
-#: ardour_ui2.cc:131
+#: ardour_ui2.cc:132
msgid "Stop playback"
msgstr "Zastavit přehrávání"
-#: ardour_ui2.cc:132
+#: ardour_ui2.cc:133
msgid "Toggle record"
msgstr "Spustit nahrávání"
-#: ardour_ui2.cc:133
+#: ardour_ui2.cc:134
msgid "Play range/selection"
msgstr "Přehrávat rozsah/výběr"
-#: ardour_ui2.cc:134
+#: ardour_ui2.cc:135
msgid "Go to start of session"
msgstr "PÅ™ejít na zaÄátek sezení"
-#: ardour_ui2.cc:135
+#: ardour_ui2.cc:136
msgid "Go to end of session"
msgstr "Přejít na konec sezení"
-#: ardour_ui2.cc:136
+#: ardour_ui2.cc:137
msgid "Play loop range"
msgstr "PÅ™ehrávat rozsah smyÄky"
-#: ardour_ui2.cc:137
+#: ardour_ui2.cc:138
msgid ""
"MIDI Panic\n"
"Send note off and reset controller messages on all MIDI channels"
@@ -1472,23 +1494,23 @@ msgstr ""
"Nouzové zastavení MIDI\n"
"Poslat nota vypnuta a nastavit znovu zprávy ovladaÄe na vÅ¡ech kanálech MIDI"
-#: ardour_ui2.cc:138
+#: ardour_ui2.cc:139
msgid "Return to last playback start when stopped"
msgstr "PÅ™i zastavení se vrátit na zaÄátek posledního pÅ™ehrávání"
-#: ardour_ui2.cc:139
+#: ardour_ui2.cc:140
msgid "Playhead follows Range Selections and Edits"
msgstr "Ukazatele polohy následuje výběry rozsahu a úpravy"
-#: ardour_ui2.cc:140
+#: ardour_ui2.cc:141
msgid "Be sensible about input monitoring"
msgstr "Spustit automatické sledování vstupu"
-#: ardour_ui2.cc:141
+#: ardour_ui2.cc:142
msgid "Enable/Disable audio click"
msgstr "Povolit/Zakázat slyšitelné klapnutí"
-#: ardour_ui2.cc:142 monitor_section.cc:101
+#: ardour_ui2.cc:143 monitor_section.cc:112
msgid ""
"When active, something is soloed.\n"
"Click to de-solo everything"
@@ -1496,7 +1518,7 @@ msgstr ""
"Je v Äinnosti pÅ™i sólovém pÅ™ehrávání nÄ›které ze stop.\n"
"Pro vypnutí sóla klepněte."
-#: ardour_ui2.cc:143
+#: ardour_ui2.cc:144
msgid ""
"When active, auditioning is taking place\n"
"Click to stop the audition"
@@ -1504,11 +1526,11 @@ msgstr ""
"Je v Äinnosti pÅ™i poslechu.\n"
"Klepnutím se poslech zastaví."
-#: ardour_ui2.cc:144
+#: ardour_ui2.cc:145
msgid "When active, there is a feedback loop."
msgstr "Je-li v Äinnosti, je tu smyÄka se zpÄ›tnou vazbou."
-#: ardour_ui2.cc:145
+#: ardour_ui2.cc:146
msgid ""
"<b>Primary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1522,7 +1544,7 @@ msgstr ""
"potvrdit; úpravy pÅ™ipojit '+' nebo '-' pro zadání Äasů delta (nárůst "
"proměnné).\n"
-#: ardour_ui2.cc:146
+#: ardour_ui2.cc:147
msgid ""
"<b>Secondary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1536,362 +1558,419 @@ msgstr ""
"potvrdit; úpravy pÅ™ipojit '+' nebo '-' pro zadání Äasů delta (nárůst "
"proměnné).\n"
-#: ardour_ui2.cc:147
-msgid "Reset Level Meter"
+#: ardour_ui2.cc:148
+msgid "Reset All Peak Indicators"
msgstr ""
-#: ardour_ui2.cc:179
+#: ardour_ui2.cc:180
msgid "[ERROR]: "
msgstr "[CHYBA]:"
-#: ardour_ui2.cc:181
+#: ardour_ui2.cc:182
msgid "[WARNING]: "
msgstr "[VAROVÃNÃ]:"
-#: ardour_ui2.cc:183
+#: ardour_ui2.cc:184
msgid "[INFO]: "
msgstr "[INFORMACE]: "
-#: ardour_ui2.cc:247 ardour_ui_ed.cc:344
+#: ardour_ui2.cc:248 ardour_ui_ed.cc:391
msgid "Auto Return"
msgstr "Automatický návrat"
-#: ardour_ui2.cc:249 ardour_ui_ed.cc:347
+#: ardour_ui2.cc:250 ardour_ui_ed.cc:394
msgid "Follow Edits"
msgstr "Následovat úpravy"
-#: ardour_ui2.cc:628 rc_option_editor.cc:1002 rc_option_editor.cc:1020
-#: rc_option_editor.cc:1023 rc_option_editor.cc:1025 rc_option_editor.cc:1027
-#: rc_option_editor.cc:1035 rc_option_editor.cc:1043 rc_option_editor.cc:1045
-#: rc_option_editor.cc:1053 rc_option_editor.cc:1060 rc_option_editor.cc:1069
-#: rc_option_editor.cc:1071 rc_option_editor.cc:1073 rc_option_editor.cc:1081
-#: rc_option_editor.cc:1083 rc_option_editor.cc:1092
-#: session_option_editor.cc:234 session_option_editor.cc:236
-#: session_option_editor.cc:257 session_option_editor.cc:259
-#: session_option_editor.cc:261 session_option_editor.cc:268
+#: ardour_ui2.cc:651 rc_option_editor.cc:2172
+msgid "GUI"
+msgstr "GUI"
+
+#: ardour_ui2.cc:668 rc_option_editor.cc:1242 rc_option_editor.cc:1260
+#: rc_option_editor.cc:1263 rc_option_editor.cc:1265 rc_option_editor.cc:1267
+#: rc_option_editor.cc:1275 rc_option_editor.cc:1283 rc_option_editor.cc:1285
+#: rc_option_editor.cc:1293 rc_option_editor.cc:1300 rc_option_editor.cc:1309
+#: rc_option_editor.cc:1311 rc_option_editor.cc:1313 rc_option_editor.cc:1321
+#: rc_option_editor.cc:1323 rc_option_editor.cc:1332
+#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:344 session_option_editor.cc:346
+#: session_option_editor.cc:348 session_option_editor.cc:355
+#: session_option_editor.cc:362 session_option_editor.cc:366
msgid "Misc"
msgstr "Různé"
-#: ardour_ui_dependents.cc:69
+#: ardour_ui_dependents.cc:75
msgid "Setup Editor"
msgstr "Nachystat editor"
-#: ardour_ui_dependents.cc:71
+#: ardour_ui_dependents.cc:77
msgid "Setup Mixer"
msgstr "Nachystat směšovaÄ"
-#: ardour_ui_dependents.cc:77
+#: ardour_ui_dependents.cc:83
msgid "Reload Session History"
msgstr "Znovu nahrát průběh sezení"
-#: ardour_ui_dialogs.cc:238
+#: ardour_ui_dialogs.cc:251
msgid "Don't close"
msgstr "Nezavírat"
-#: ardour_ui_dialogs.cc:239
+#: ardour_ui_dialogs.cc:252
msgid "Just close"
msgstr "Pouze zavřít"
-#: ardour_ui_dialogs.cc:240
+#: ardour_ui_dialogs.cc:253
msgid "Save and close"
msgstr "Uložit a zavřít"
-#: ardour_ui_dialogs.cc:339
+#: ardour_ui_dialogs.cc:353
msgid "This screen is not tall enough to display the mixer window"
msgstr ""
"Tato obrazovka není dostateÄnÄ› velká na to, aby zobrazila okno směšovaÄe"
-#: ardour_ui_ed.cc:103
+#: ardour_ui_ed.cc:102
msgid "Session"
msgstr "Projekt"
-#: ardour_ui_ed.cc:106 editor_actions.cc:134 editor_regions.cc:115
+#: ardour_ui_ed.cc:105 editor_actions.cc:138 editor_regions.cc:116
#: port_group.cc:458 session_option_editor.cc:82 session_option_editor.cc:89
msgid "Sync"
msgstr "Seřídit"
-#: ardour_ui_ed.cc:107
+#: ardour_ui_ed.cc:106
msgid "Options"
msgstr "Volby"
-#: ardour_ui_ed.cc:108
+#: ardour_ui_ed.cc:107
msgid "Window"
msgstr "Okno"
-#: ardour_ui_ed.cc:109
+#: ardour_ui_ed.cc:108
msgid "Help"
msgstr "Nápověda"
-#: ardour_ui_ed.cc:110
+#: ardour_ui_ed.cc:109
msgid "Misc. Shortcuts"
msgstr "Různé klávesové zkratky"
-#: ardour_ui_ed.cc:111
+#: ardour_ui_ed.cc:110
msgid "Audio File Format"
msgstr "Formát zvukových souborů"
-#: ardour_ui_ed.cc:112
+#: ardour_ui_ed.cc:111
msgid "File Type"
msgstr "Typ souboru"
-#: ardour_ui_ed.cc:113 export_format_dialog.cc:65
+#: ardour_ui_ed.cc:112 export_format_dialog.cc:67
msgid "Sample Format"
msgstr "Vzorkovací formát"
-#: ardour_ui_ed.cc:114 rc_option_editor.cc:1814 rc_option_editor.cc:1826
+#: ardour_ui_ed.cc:113 rc_option_editor.cc:2119 rc_option_editor.cc:2131
msgid "Control Surfaces"
msgstr "Ovládací spínaÄe"
-#: ardour_ui_ed.cc:115 rc_option_editor.cc:1546
+#: ardour_ui_ed.cc:114 rc_option_editor.cc:1812 rc_option_editor.cc:2138
msgid "Plugins"
msgstr "Přídavné moduly"
-#: ardour_ui_ed.cc:116 rc_option_editor.cc:1889
+#: ardour_ui_ed.cc:115 rc_option_editor.cc:2223
msgid "Metering"
msgstr "Ukazatel hladiny"
-#: ardour_ui_ed.cc:117
+#: ardour_ui_ed.cc:116
msgid "Fall Off Rate"
msgstr "Míra poklesu"
-#: ardour_ui_ed.cc:118
+#: ardour_ui_ed.cc:117
msgid "Hold Time"
msgstr "Čas udržení"
-#: ardour_ui_ed.cc:119
+#: ardour_ui_ed.cc:118
msgid "Denormal Handling"
msgstr "Zacházení s neobvyklými vzorky "
-#: ardour_ui_ed.cc:123 route_time_axis.cc:1489
+#: ardour_ui_ed.cc:122 route_time_axis.cc:1636
msgid "New..."
msgstr "Nový..."
-#: ardour_ui_ed.cc:125
+#: ardour_ui_ed.cc:124
msgid "Open..."
msgstr "Otevřít..."
-#: ardour_ui_ed.cc:126
+#: ardour_ui_ed.cc:125
msgid "Recent..."
msgstr "Naposledy použité..."
-#: ardour_ui_ed.cc:127 panner_editor.cc:29 playlist_selector.cc:64
+#: ardour_ui_ed.cc:126 panner_editor.cc:29 playlist_selector.cc:64
msgid "Close"
msgstr "Zavřít"
-#: ardour_ui_ed.cc:130
+#: ardour_ui_ed.cc:129
msgid "Add Track or Bus..."
msgstr "Přidat stopu nebo sběrnici..."
-#: ardour_ui_ed.cc:135
+#: ardour_ui_ed.cc:134
msgid "Open Video"
msgstr "Otevřít video"
-#: ardour_ui_ed.cc:138
+#: ardour_ui_ed.cc:137
msgid "Remove Video"
msgstr "Odstranit video"
-#: ardour_ui_ed.cc:141
+#: ardour_ui_ed.cc:140
msgid "Export To Video File"
msgstr "Vyvést jako videosoubor"
-#: ardour_ui_ed.cc:145
+#: ardour_ui_ed.cc:144
msgid "Snapshot..."
msgstr "Snímek obrazovky..."
-#: ardour_ui_ed.cc:149
+#: ardour_ui_ed.cc:148
msgid "Save As..."
msgstr "Uložit jako..."
-#: ardour_ui_ed.cc:153 editor_actions.cc:1719 editor_markers.cc:858
-#: editor_snapshots.cc:123 mixer_strip.cc:1471 route_time_axis.cc:1485
+#: ardour_ui_ed.cc:152 editor_actions.cc:1767 editor_markers.cc:872
+#: editor_snapshots.cc:124 mixer_strip.cc:1481 route_time_axis.cc:1632
msgid "Rename..."
msgstr "Přejmenovat..."
-#: ardour_ui_ed.cc:157
+#: ardour_ui_ed.cc:156
msgid "Save Template..."
msgstr "Uložit jako předlohu..."
-#: ardour_ui_ed.cc:160
+#: ardour_ui_ed.cc:159
msgid "Metadata"
msgstr "Popisná data"
-#: ardour_ui_ed.cc:163
+#: ardour_ui_ed.cc:162
msgid "Edit Metadata..."
msgstr "Upravit popisná data..."
-#: ardour_ui_ed.cc:166
+#: ardour_ui_ed.cc:165
msgid "Import Metadata..."
msgstr "Zavést popisná data..."
-#: ardour_ui_ed.cc:169
+#: ardour_ui_ed.cc:168
msgid "Export To Audio File(s)..."
msgstr "Vyvést jako zvukový soubor(y)..."
-#: ardour_ui_ed.cc:172
+#: ardour_ui_ed.cc:171
msgid "Stem export..."
msgstr "Vyvést vybranou stopu jako jeden soubor..."
-#: ardour_ui_ed.cc:175 editor_export_audio.cc:63 export_dialog.cc:129
-#: export_video_dialog.cc:71
+#: ardour_ui_ed.cc:174 editor_export_audio.cc:65 export_dialog.cc:129
+#: export_video_dialog.cc:72
msgid "Export"
msgstr "Vyvést"
-#: ardour_ui_ed.cc:178
+#: ardour_ui_ed.cc:177
msgid "Clean-up Unused Sources..."
msgstr "Odstranit nepoužívané zdroje..."
-#: ardour_ui_ed.cc:182
+#: ardour_ui_ed.cc:181
msgid "Flush Wastebasket"
msgstr "Vyprázdnit koš"
-#: ardour_ui_ed.cc:189
+#: ardour_ui_ed.cc:188
msgid "Quit"
msgstr "UkonÄit"
-#: ardour_ui_ed.cc:193
+#: ardour_ui_ed.cc:192
msgid "Maximise Editor Space"
msgstr "Zvětšit okno editoru"
+#: ardour_ui_ed.cc:193
+msgid "Maximise Mixer Space"
+msgstr ""
+
#: ardour_ui_ed.cc:194
msgid "Show Toolbars"
msgstr "Ukázat nástrojové panely"
-#: ardour_ui_ed.cc:197 mixer_ui.cc:1865 mixer_ui.cc:1871
+#: ardour_ui_ed.cc:197
+msgid "Show more UI preferences"
+msgstr ""
+
+#: ardour_ui_ed.cc:199 mixer_ui.cc:1900 mixer_ui.cc:1906
msgid "Window|Mixer"
msgstr "Okno/SměšovaÄ"
-#: ardour_ui_ed.cc:198
+#: ardour_ui_ed.cc:200
msgid "Toggle Editor+Mixer"
msgstr ""
-#: ardour_ui_ed.cc:199 meterbridge.cc:230 meterbridge.cc:236
+#: ardour_ui_ed.cc:201 meterbridge.cc:214 meterbridge.cc:220
msgid "Window|Meterbridge"
msgstr ""
-#: ardour_ui_ed.cc:201 midi_tracer.cc:42
+#: ardour_ui_ed.cc:203 midi_tracer.cc:45
msgid "MIDI Tracer"
msgstr "SledovaÄ MIDI"
-#: ardour_ui_ed.cc:203
+#: ardour_ui_ed.cc:205
msgid "Chat"
msgstr "Povídání"
-#: ardour_ui_ed.cc:205
+#: ardour_ui_ed.cc:207
msgid "Help|Manual"
msgstr "NápovÄ›da|PříruÄka"
-#: ardour_ui_ed.cc:206
+#: ardour_ui_ed.cc:208
msgid "Reference"
msgstr "Odkaz"
-#: ardour_ui_ed.cc:208 plugin_ui.cc:415
+#: ardour_ui_ed.cc:210 plugin_ui.cc:416
msgid "Save"
msgstr "Uložit"
-#: ardour_ui_ed.cc:216 rc_option_editor.cc:1112 rc_option_editor.cc:1123
-#: rc_option_editor.cc:1132 rc_option_editor.cc:1145 rc_option_editor.cc:1158
-#: rc_option_editor.cc:1167 rc_option_editor.cc:1177 rc_option_editor.cc:1179
-#: rc_option_editor.cc:1189 rc_option_editor.cc:1205 rc_option_editor.cc:1218
-#: rc_option_editor.cc:1236 rc_option_editor.cc:1238 rc_option_editor.cc:1252
-#: rc_option_editor.cc:1255 rc_option_editor.cc:1257 rc_option_editor.cc:1274
-#: rc_option_editor.cc:1285
+#: ardour_ui_ed.cc:218 rc_option_editor.cc:1352 rc_option_editor.cc:1363
+#: rc_option_editor.cc:1374 rc_option_editor.cc:1383 rc_option_editor.cc:1396
+#: rc_option_editor.cc:1409 rc_option_editor.cc:1418 rc_option_editor.cc:1428
+#: rc_option_editor.cc:1430 rc_option_editor.cc:1440 rc_option_editor.cc:1456
+#: rc_option_editor.cc:1469 rc_option_editor.cc:1487 rc_option_editor.cc:1489
+#: rc_option_editor.cc:1503 rc_option_editor.cc:1506 rc_option_editor.cc:1508
+#: rc_option_editor.cc:1525 rc_option_editor.cc:1536
msgid "Transport"
msgstr "Přesun"
-#: ardour_ui_ed.cc:222
+#: ardour_ui_ed.cc:224
msgid "Stop"
msgstr "Zastavit"
-#: ardour_ui_ed.cc:225
+#: ardour_ui_ed.cc:227
msgid "Roll"
msgstr "Projíždět"
-#: ardour_ui_ed.cc:229
+#: ardour_ui_ed.cc:231 ardour_ui_ed.cc:234
msgid "Start/Stop"
msgstr "Spustit/Zastavit"
-#: ardour_ui_ed.cc:232
+#: ardour_ui_ed.cc:237
msgid "Start/Continue/Stop"
msgstr "Spustit/PokraÄovat/Zastavit"
-#: ardour_ui_ed.cc:235
+#: ardour_ui_ed.cc:240
msgid "Stop and Forget Capture"
msgstr "Zastavit a odmítnout zvukový záznam"
-#: ardour_ui_ed.cc:245
+#: ardour_ui_ed.cc:250
msgid "Transition To Roll"
msgstr "Přehrávat dopředu"
-#: ardour_ui_ed.cc:249
+#: ardour_ui_ed.cc:254
msgid "Transition To Reverse"
msgstr "Přehrávat dozadu"
-#: ardour_ui_ed.cc:253
+#: ardour_ui_ed.cc:258
msgid "Play Loop Range"
msgstr "PÅ™ehrávat rozsah smyÄky"
-#: ardour_ui_ed.cc:256
+#: ardour_ui_ed.cc:261
msgid "Play Selected Range"
msgstr "Přehrát vybraný rozsah"
-#: ardour_ui_ed.cc:259
+#: ardour_ui_ed.cc:264
msgid "Play Selection w/Preroll"
msgstr "PÅ™ehrávat vybranou oblast s pÅ™etáÄením vpÅ™ed"
-#: ardour_ui_ed.cc:263
+#: ardour_ui_ed.cc:268
msgid "Enable Record"
msgstr "Povolit nahrávání"
-#: ardour_ui_ed.cc:266
+#: ardour_ui_ed.cc:271 ardour_ui_ed.cc:275
msgid "Start Recording"
msgstr "ZaÄít s nahráváním"
-#: ardour_ui_ed.cc:270
+#: ardour_ui_ed.cc:279
msgid "Rewind"
msgstr "PÅ™etoÄit zpÄ›t"
-#: ardour_ui_ed.cc:273
+#: ardour_ui_ed.cc:282
msgid "Rewind (Slow)"
msgstr "PÅ™etoÄit zpÄ›t (pomalu)"
-#: ardour_ui_ed.cc:276
+#: ardour_ui_ed.cc:285
msgid "Rewind (Fast)"
msgstr "PÅ™etoÄit zpÄ›t (rychle)"
-#: ardour_ui_ed.cc:279
+#: ardour_ui_ed.cc:288
msgid "Forward"
msgstr "PÅ™etoÄit vpÅ™ed"
-#: ardour_ui_ed.cc:282
+#: ardour_ui_ed.cc:291
msgid "Forward (Slow)"
msgstr "PÅ™etoÄit vpÅ™ed (pomalu)"
-#: ardour_ui_ed.cc:285
+#: ardour_ui_ed.cc:294
msgid "Forward (Fast)"
msgstr "PÅ™etoÄit vpÅ™ed (rychle)"
-#: ardour_ui_ed.cc:288
+#: ardour_ui_ed.cc:297
msgid "Goto Zero"
msgstr "SkoÄit k bodu nula"
-#: ardour_ui_ed.cc:291
+#: ardour_ui_ed.cc:300 ardour_ui_ed.cc:303
msgid "Goto Start"
msgstr "SkoÄit na zaÄátek"
-#: ardour_ui_ed.cc:294
+#: ardour_ui_ed.cc:306
msgid "Goto End"
msgstr "SkoÄit na konec"
-#: ardour_ui_ed.cc:297
+#: ardour_ui_ed.cc:309
msgid "Goto Wall Clock"
msgstr "SkoÄit na pÅ™esný místní Äas"
-#: ardour_ui_ed.cc:301
+#: ardour_ui_ed.cc:314
+msgid "Numpad Decimal"
+msgstr ""
+
+#: ardour_ui_ed.cc:317
+msgid "Numpad 0"
+msgstr ""
+
+#: ardour_ui_ed.cc:320
+msgid "Numpad 1"
+msgstr ""
+
+#: ardour_ui_ed.cc:323
+msgid "Numpad 2"
+msgstr ""
+
+#: ardour_ui_ed.cc:326
+msgid "Numpad 3"
+msgstr ""
+
+#: ardour_ui_ed.cc:329
+msgid "Numpad 4"
+msgstr ""
+
+#: ardour_ui_ed.cc:332
+msgid "Numpad 5"
+msgstr ""
+
+#: ardour_ui_ed.cc:335
+msgid "Numpad 6"
+msgstr ""
+
+#: ardour_ui_ed.cc:338
+msgid "Numpad 7"
+msgstr ""
+
+#: ardour_ui_ed.cc:341
+msgid "Numpad 8"
+msgstr ""
+
+#: ardour_ui_ed.cc:344
+msgid "Numpad 9"
+msgstr ""
+
+#: ardour_ui_ed.cc:348
msgid "Focus On Clock"
msgstr "ZaostÅ™it na ukazatel Äasu"
-#: ardour_ui_ed.cc:305 ardour_ui_ed.cc:314 audio_clock.cc:2046 editor.cc:237
-#: editor_actions.cc:544 editor_actions.cc:553 export_timespan_selector.cc:88
+#: ardour_ui_ed.cc:352 ardour_ui_ed.cc:361 audio_clock.cc:2072 editor.cc:254
+#: editor_actions.cc:579 editor_actions.cc:588 export_timespan_selector.cc:88
#: session_option_editor.cc:41 session_option_editor.cc:61
#: session_option_editor.cc:80 session_option_editor.cc:96
#: session_option_editor.cc:109 session_option_editor.cc:122
@@ -1899,125 +1978,125 @@ msgstr "ZaostÅ™it na ukazatel Äasu"
msgid "Timecode"
msgstr "Časový kód"
-#: ardour_ui_ed.cc:307 ardour_ui_ed.cc:316 editor_actions.cc:542
+#: ardour_ui_ed.cc:354 ardour_ui_ed.cc:363 editor_actions.cc:577
msgid "Bars & Beats"
msgstr "Takty & Doby"
-#: ardour_ui_ed.cc:309 ardour_ui_ed.cc:318
+#: ardour_ui_ed.cc:356 ardour_ui_ed.cc:365
msgid "Minutes & Seconds"
msgstr "Minuty & Sekundy"
-#: ardour_ui_ed.cc:311 ardour_ui_ed.cc:320 audio_clock.cc:2050 editor.cc:238
-#: editor_actions.cc:543
+#: ardour_ui_ed.cc:358 ardour_ui_ed.cc:367 audio_clock.cc:2076 editor.cc:255
+#: editor_actions.cc:578
msgid "Samples"
msgstr "Vzorky"
-#: ardour_ui_ed.cc:323
+#: ardour_ui_ed.cc:370
msgid "Punch In"
msgstr "ZaÄít pÅ™epis oblasti"
-#: ardour_ui_ed.cc:324 mixer_strip.cc:1905 route_ui.cc:137
-#: time_info_box.cc:113
+#: ardour_ui_ed.cc:371 mixer_strip.cc:1774 mixer_strip.cc:1798
+#: mixer_strip.cc:1962 route_ui.cc:158 time_info_box.cc:116
msgid "In"
msgstr "Vstup"
-#: ardour_ui_ed.cc:327
+#: ardour_ui_ed.cc:374
msgid "Punch Out"
msgstr "UkonÄit pÅ™epis oblasti"
-#: ardour_ui_ed.cc:328 time_info_box.cc:114
+#: ardour_ui_ed.cc:375 mixer_strip.cc:1786 time_info_box.cc:117
msgid "Out"
msgstr "Výstup"
-#: ardour_ui_ed.cc:331
+#: ardour_ui_ed.cc:378
msgid "Punch In/Out"
msgstr "Přepsat oblast"
-#: ardour_ui_ed.cc:332
+#: ardour_ui_ed.cc:379
msgid "In/Out"
msgstr "Vstup/Výstup"
-#: ardour_ui_ed.cc:335 rc_option_editor.cc:1069
+#: ardour_ui_ed.cc:382 rc_option_editor.cc:1309
msgid "Click"
msgstr "Klepnout"
-#: ardour_ui_ed.cc:338
+#: ardour_ui_ed.cc:385
msgid "Auto Input"
msgstr "Automatický vstup"
-#: ardour_ui_ed.cc:341
+#: ardour_ui_ed.cc:388
msgid "Auto Play"
msgstr "Automatické přehrávání"
-#: ardour_ui_ed.cc:352
+#: ardour_ui_ed.cc:399
msgid "Sync Startup to Video"
msgstr "Seřídit spuštění s videem"
-#: ardour_ui_ed.cc:354
+#: ardour_ui_ed.cc:401
msgid "Time Master"
msgstr "Řízení Äasu"
-#: ardour_ui_ed.cc:361
+#: ardour_ui_ed.cc:408
msgid "Toggle Record Enable Track %1"
msgstr "Spustit nahrávání stopy %1"
-#: ardour_ui_ed.cc:368
+#: ardour_ui_ed.cc:415
msgid "Percentage"
msgstr "Procentní podíl"
-#: ardour_ui_ed.cc:369 shuttle_control.cc:169
+#: ardour_ui_ed.cc:416 shuttle_control.cc:169
msgid "Semitones"
msgstr "Polotóny"
-#: ardour_ui_ed.cc:373
+#: ardour_ui_ed.cc:420
msgid "Send MTC"
msgstr "Poslat MTC"
-#: ardour_ui_ed.cc:375
+#: ardour_ui_ed.cc:422
msgid "Send MMC"
msgstr "Poslat MMC"
-#: ardour_ui_ed.cc:377
+#: ardour_ui_ed.cc:424
msgid "Use MMC"
msgstr "Použít MMC"
-#: ardour_ui_ed.cc:379 rc_option_editor.cc:1698
+#: ardour_ui_ed.cc:426 rc_option_editor.cc:1978
msgid "Send MIDI Clock"
msgstr "Poslat Äas MIDI"
-#: ardour_ui_ed.cc:381
+#: ardour_ui_ed.cc:428
msgid "Send MIDI Feedback"
msgstr "Poslat zpětnou vazbu MIDI"
-#: ardour_ui_ed.cc:387
+#: ardour_ui_ed.cc:434
msgid "Panic"
msgstr "Nouzové zastavení"
-#: ardour_ui_ed.cc:472
+#: ardour_ui_ed.cc:519
msgid "Wall Clock"
msgstr "Nástěnné hodiny"
-#: ardour_ui_ed.cc:473
+#: ardour_ui_ed.cc:520
msgid "Disk Space"
msgstr "Místo na disku"
-#: ardour_ui_ed.cc:474
+#: ardour_ui_ed.cc:521
msgid "DSP"
msgstr "Digitální zpracování signálu (DSP)"
-#: ardour_ui_ed.cc:475
+#: ardour_ui_ed.cc:522
msgid "Buffers"
msgstr "Vyrovnávací paměti"
-#: ardour_ui_ed.cc:477
+#: ardour_ui_ed.cc:524
msgid "Timecode Format"
msgstr "Formát Äasového kódu"
-#: ardour_ui_ed.cc:478
+#: ardour_ui_ed.cc:525
msgid "File Format"
msgstr "Souborový formát"
-#: ardour_ui_options.cc:61
+#: ardour_ui_options.cc:63
msgid ""
"It is not possible to use JACK as the the sync source\n"
"when the pull up/down setting is non-zero."
@@ -2029,331 +2108,249 @@ msgstr ""
msgid "Internal"
msgstr "Vnitřní"
-#: ardour_ui_options.cc:468
+#: ardour_ui_options.cc:496
msgid "Enable/Disable external positional sync"
msgstr "Povolit/Zakázat vnější seřízení podle polohy"
-#: ardour_ui_options.cc:470
+#: ardour_ui_options.cc:498
msgid "Sync to JACK is not possible: video pull up/down is set"
msgstr "Seřízení k JACKovi není možné: je nastaveno vytáhnutí/stáhnutí videa"
-#: audio_clock.cc:1012 audio_clock.cc:1031
+#: audio_clock.cc:1028 audio_clock.cc:1047
msgid "--pending--"
msgstr "--Äekající na vyřízení--"
-#: audio_clock.cc:1083
+#: audio_clock.cc:1099
msgid "SR"
msgstr "SR"
-#: audio_clock.cc:1089 audio_clock.cc:1093
+#: audio_clock.cc:1105 audio_clock.cc:1109
msgid "Pull"
msgstr "Táhnout"
-#: audio_clock.cc:1091
+#: audio_clock.cc:1107
#, c-format
msgid "%+.4f%%"
msgstr "%+.4f%%"
-#: audio_clock.cc:1237 editor.cc:239 editor_actions.cc:135
-#: editor_actions.cc:536
+#: audio_clock.cc:1263 editor.cc:256 editor_actions.cc:139
+#: editor_actions.cc:571
msgid "Tempo"
msgstr "Tempo"
-#: audio_clock.cc:1241 editor.cc:240 editor_actions.cc:537
+#: audio_clock.cc:1267 editor.cc:257 editor_actions.cc:572
msgid "Meter"
msgstr "Druh taktu"
-#: audio_clock.cc:1819 audio_streamview.cc:116 editor_actions.cc:1039
-#: midi_region_view.cc:2991 session_metadata_dialog.cc:331
+#: audio_clock.cc:1845 audio_streamview.cc:115 editor_actions.cc:1085
+#: midi_region_view.cc:2989 session_metadata_dialog.cc:331
#: session_metadata_dialog.cc:379 session_metadata_dialog.cc:435
-#: session_metadata_dialog.cc:716
+#: session_metadata_dialog.cc:716 streamview.cc:433
msgid "programming error: %1"
msgstr "Chyba v programování: %1"
-#: audio_clock.cc:1952 audio_clock.cc:1980
+#: audio_clock.cc:1978 audio_clock.cc:2006
msgid "programming error: %1 %2"
msgstr "Chyba v programování: %1 %2"
-#: audio_clock.cc:2048 editor.cc:236 export_timespan_selector.cc:98
+#: audio_clock.cc:2074 editor.cc:253 export_timespan_selector.cc:98
msgid "Bars:Beats"
msgstr "Takty:Doby"
-#: audio_clock.cc:2049 export_timespan_selector.cc:93
+#: audio_clock.cc:2075 export_timespan_selector.cc:93
msgid "Minutes:Seconds"
msgstr "Minuty:Sekundy"
-#: audio_clock.cc:2054
+#: audio_clock.cc:2080
msgid "Set From Playhead"
msgstr "Nastavit od ukazatele polohy"
-#: audio_clock.cc:2055
+#: audio_clock.cc:2081
msgid "Locate to This Time"
msgstr "Ukazatele polohy postavit na tento Äas"
-#: audio_region_editor.cc:63 control_point_dialog.cc:49 rhythm_ferret.cc:125
-#: rhythm_ferret.cc:130 rhythm_ferret.cc:135
+#: audio_region_editor.cc:64 control_point_dialog.cc:49 rhythm_ferret.cc:124
+#: rhythm_ferret.cc:129 rhythm_ferret.cc:134
msgid "dB"
msgstr "dB"
-#: audio_region_editor.cc:66
+#: audio_region_editor.cc:67
msgid "Region gain:"
msgstr "Síla hlasitosti v oblasti:"
-#: audio_region_editor.cc:76 export_format_dialog.cc:43
+#: audio_region_editor.cc:77 export_format_dialog.cc:43
msgid "dBFS"
msgstr "dBFS"
-#: audio_region_editor.cc:79
+#: audio_region_editor.cc:80
msgid "Peak amplitude:"
msgstr "Vrchol rozkmitu:"
-#: audio_region_editor.cc:90
+#: audio_region_editor.cc:91
msgid "Calculating..."
msgstr "PoÄítá se..."
-#: audio_region_view.cc:1001
+#: audio_region_view.cc:1243
msgid "add gain control point"
msgstr "Upravit křivku síly hlasitosti (přidat bod ovládání zesílení)"
-#: audio_time_axis.cc:389
+#: audio_time_axis.cc:430 midi_time_axis.cc:619
msgid "Fader"
msgstr "ProlínaÄ"
-#: audio_time_axis.cc:396
+#: audio_time_axis.cc:437 editor_actions.cc:1800 mixer_strip.cc:1961
+#: monitor_section.cc:273 route_time_axis.cc:253
+msgid "Mute"
+msgstr "Ztlumit"
+
+#: audio_time_axis.cc:445 midi_time_axis.cc:627
msgid "Pan"
msgstr "Vyvážení"
-#: automation_line.cc:252 automation_line.cc:435
+#: automation_line.cc:272 automation_line.cc:453
msgid "automation event move"
msgstr "Pohybovat bodem automatizace"
-#: automation_line.cc:462 automation_line.cc:483
+#: automation_line.cc:479 automation_line.cc:499
msgid "automation range move"
msgstr "Pohybovat rozsahem automatizace"
-#: automation_line.cc:823 region_gain_line.cc:73
+#: automation_line.cc:854 region_gain_line.cc:72
msgid "remove control point"
msgstr "Odstranit bod automatizace"
-#: automation_line.cc:941
+#: automation_line.cc:971
msgid "Ignoring illegal points on AutomationLine \"%1\""
msgstr "Nepřípustné automatizaÄní body budou ponechány stranou: \"%1\""
-#: automation_region_view.cc:160 automation_time_axis.cc:583
+#: automation_region_view.cc:162 automation_time_axis.cc:627
msgid "add automation event"
msgstr "Vložit bod automatizace"
-#: automation_time_axis.cc:146
+#: automation_time_axis.cc:141
msgid "automation state"
msgstr "Režim automatizace"
-#: automation_time_axis.cc:147
+#: automation_time_axis.cc:142
msgid "hide track"
msgstr "Skrýt tuto stopu"
-#: automation_time_axis.cc:255 automation_time_axis.cc:307
-#: automation_time_axis.cc:496 gain_meter.cc:194 generic_pluginui.cc:454
-#: generic_pluginui.cc:775 panner_ui.cc:149
+#: automation_time_axis.cc:297 automation_time_axis.cc:349
+#: automation_time_axis.cc:540 gain_meter.cc:186 generic_pluginui.cc:452
+#: generic_pluginui.cc:770 panner_ui.cc:150
msgid "Automation|Manual"
msgstr "Automatizace|PříruÄka"
-#: automation_time_axis.cc:257 automation_time_axis.cc:318
-#: automation_time_axis.cc:501 editor.cc:1937 editor.cc:2014
-#: editor_actions.cc:118 editor_actions.cc:1865 gain_meter.cc:197
-#: generic_pluginui.cc:457 generic_pluginui.cc:777 midi_time_axis.cc:1488
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1494 panner_ui.cc:152
+#: automation_time_axis.cc:299 automation_time_axis.cc:360
+#: automation_time_axis.cc:545 editor.cc:1856 editor.cc:1933
+#: editor_actions.cc:122 editor_actions.cc:1916 gain_meter.cc:189
+#: generic_pluginui.cc:455 generic_pluginui.cc:772 midi_time_axis.cc:1687
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1693 panner_ui.cc:153
msgid "Play"
msgstr "Přehrát"
-#: automation_time_axis.cc:259 automation_time_axis.cc:329
-#: automation_time_axis.cc:506 gain_meter.cc:200 generic_pluginui.cc:460
-#: generic_pluginui.cc:779 panner_ui.cc:155
+#: automation_time_axis.cc:301 automation_time_axis.cc:371
+#: automation_time_axis.cc:550 gain_meter.cc:192 generic_pluginui.cc:458
+#: generic_pluginui.cc:774 panner_ui.cc:156
msgid "Write"
msgstr "Zapsat"
-#: automation_time_axis.cc:261 automation_time_axis.cc:340
-#: automation_time_axis.cc:511 gain_meter.cc:203 generic_pluginui.cc:463
-#: generic_pluginui.cc:781 panner_ui.cc:158
+#: automation_time_axis.cc:303 automation_time_axis.cc:382
+#: automation_time_axis.cc:555 gain_meter.cc:195 generic_pluginui.cc:461
+#: generic_pluginui.cc:776 panner_ui.cc:159
msgid "Touch"
msgstr "Dotknout se"
-#: automation_time_axis.cc:351 generic_pluginui.cc:466 meter_patterns.cc:108
+#: automation_time_axis.cc:393 generic_pluginui.cc:464 meter_patterns.cc:112
msgid "???"
msgstr "???"
-#: automation_time_axis.cc:392
+#: automation_time_axis.cc:434
msgid "clear automation"
msgstr "Vyprázdnit automatizaci"
-#: automation_time_axis.cc:485 editor_actions.cc:613 editor_markers.cc:857
-#: location_ui.cc:55 plugin_selector.cc:85 route_time_axis.cc:708
+#: automation_time_axis.cc:529 editor_actions.cc:655 editor_markers.cc:871
+#: location_ui.cc:56 plugin_selector.cc:86 route_time_axis.cc:827
msgid "Hide"
msgstr "Skrýt"
-#: automation_time_axis.cc:487
+#: automation_time_axis.cc:531
msgid "Clear"
msgstr "Vyprázdnit"
-#: automation_time_axis.cc:516
+#: automation_time_axis.cc:560
msgid "State"
msgstr "Stav"
-#: automation_time_axis.cc:531
+#: automation_time_axis.cc:575
msgid "Discrete"
msgstr "Samostatný"
-#: automation_time_axis.cc:537 editor.cc:1458 editor.cc:1465 editor.cc:1521
-#: editor.cc:1527 export_format_dialog.cc:476
+#: automation_time_axis.cc:581 export_format_dialog.cc:485
msgid "Linear"
msgstr "Čárový"
-#: automation_time_axis.cc:543 rhythm_ferret.cc:110 route_time_axis.cc:647
+#: automation_time_axis.cc:587 rhythm_ferret.cc:109 route_time_axis.cc:765
#: shuttle_control.cc:188
msgid "Mode"
msgstr "Režim"
-#: bundle_manager.cc:181
+#: bundle_manager.cc:182
msgid "Disassociate"
msgstr "Oddělit"
-#: bundle_manager.cc:185
+#: bundle_manager.cc:186
msgid "Edit Bundle"
msgstr "Upravit balík"
-#: bundle_manager.cc:200
+#: bundle_manager.cc:201
msgid "Direction:"
msgstr "Směr:"
-#: bundle_manager.cc:205 bundle_manager.cc:209 mixer_strip.cc:158
-#: mixer_strip.cc:2127
+#: bundle_manager.cc:206 bundle_manager.cc:210 engine_dialog.cc:641
+#: mixer_strip.cc:164 mixer_strip.cc:371 mixer_strip.cc:2195
+#: rc_option_editor.cc:2198
msgid "Input"
msgstr "Vstup"
-#: bundle_manager.cc:206 bundle_manager.cc:211 bundle_manager.cc:245
-#: mixer_strip.cc:163 mixer_strip.cc:2130
+#: bundle_manager.cc:207 bundle_manager.cc:212 bundle_manager.cc:246
+#: engine_dialog.cc:643 mixer_strip.cc:168 mixer_strip.cc:375
+#: mixer_strip.cc:2198 rc_option_editor.cc:2202
msgid "Output"
msgstr "Výstup"
-#: bundle_manager.cc:264 editor.cc:1978 editor_actions.cc:90
-#: editor_actions.cc:100
+#: bundle_manager.cc:265 editor.cc:1897 editor_actions.cc:94
+#: editor_actions.cc:104 rc_option_editor.cc:1067 rc_option_editor.cc:1074
msgid "Edit"
msgstr "Upravit"
-#: bundle_manager.cc:265 editor.cc:5497 editor_actions.cc:310
-#: editor_actions.cc:368 plugin_ui.cc:416 processor_box.cc:2268
-#: route_time_axis.cc:713
+#: bundle_manager.cc:266 editor.cc:5593 editor_actions.cc:335
+#: editor_actions.cc:336 editor_actions.cc:402 plugin_ui.cc:417
+#: processor_box.cc:2502 route_time_axis.cc:832
msgid "Delete"
msgstr "Smazat"
-#: bundle_manager.cc:271 bundle_manager.cc:439 editor_route_groups.cc:96
-#: editor_routes.cc:202 midi_list_editor.cc:106 session_metadata_dialog.cc:525
+#: bundle_manager.cc:272 bundle_manager.cc:440 editor_route_groups.cc:97
+#: editor_routes.cc:204 midi_list_editor.cc:106 session_metadata_dialog.cc:525
msgid "Name"
msgstr "Název"
-#: bundle_manager.cc:282
+#: bundle_manager.cc:283
msgid "New"
msgstr "Nový"
-#: bundle_manager.cc:332
+#: bundle_manager.cc:333
msgid "Bundle"
msgstr "Balík"
-#: bundle_manager.cc:417
+#: bundle_manager.cc:418
msgid "Add Channel"
msgstr "Přidat kanál"
-#: bundle_manager.cc:424
+#: bundle_manager.cc:425
msgid "Rename Channel"
msgstr "Přejmenovat kanál"
-#: canvas-simpleline.c:111 canvas-simplerect.c:106
-msgid "x1"
-msgstr "x1"
-
-#: canvas-simpleline.c:112 canvas-simplerect.c:107
-msgid "x coordinate of upper left corner of rect"
-msgstr "Souřadnice x horního levého rohu obdélníku"
-
-#: canvas-simpleline.c:121 canvas-simplerect.c:116
-msgid "y1"
-msgstr "y1"
-
-#: canvas-simpleline.c:122 canvas-simplerect.c:117
-msgid "y coordinate of upper left corner of rect "
-msgstr "Souřadnice y horního levého rohu obdélníku"
-
-#: canvas-simpleline.c:132 canvas-simplerect.c:127
-msgid "x2"
-msgstr "x1"
-
-#: canvas-simpleline.c:133 canvas-simplerect.c:128
-msgid "x coordinate of lower right corner of rect"
-msgstr "Souřadnice x dolního pravého rohu obdélníku"
-
-#: canvas-simpleline.c:142 canvas-simplerect.c:137
-msgid "y2"
-msgstr "y1"
-
-#: canvas-simpleline.c:143 canvas-simplerect.c:138
-msgid "y coordinate of lower right corner of rect "
-msgstr "Souřadnice y dolního pravého rohu obdélníku"
-
-#: canvas-simpleline.c:151
-msgid "color rgba"
-msgstr "RGBA barva"
-
-#: canvas-simpleline.c:152
-msgid "color of line"
-msgstr "Barva Äáry"
-
-#: canvas-simplerect.c:148
-msgid "outline pixels"
-msgstr "Šířka orámování v pixelech"
-
-#: canvas-simplerect.c:149
-msgid "width in pixels of outline"
-msgstr "Šířka orámování v pixelech"
-
-#: canvas-simplerect.c:159
-msgid "outline what"
-msgstr "ohraniÄující orámování"
-
-#: canvas-simplerect.c:160
-msgid "which boundaries to outline (mask)"
-msgstr "ohraniÄující orámování"
-
-#: canvas-simplerect.c:171
-msgid "fill"
-msgstr "Vyplnit"
-
-#: canvas-simplerect.c:172
-msgid "fill rectangle"
-msgstr "Vyplnit pravoúhelník"
-
-#: canvas-simplerect.c:179
-msgid "draw"
-msgstr "Nakreslit"
-
-#: canvas-simplerect.c:180
-msgid "draw rectangle"
-msgstr "Nakreslit pravoúhelník"
-
-#: canvas-simplerect.c:188
-msgid "outline color rgba"
-msgstr "Barva rámu RGBA"
-
-#: canvas-simplerect.c:189
-msgid "color of outline"
-msgstr "Barva rámu"
-
-#: canvas-simplerect.c:199
-msgid "fill color rgba"
-msgstr "Barva výplně RGBA"
-
-#: canvas-simplerect.c:200
-msgid "color of fill"
-msgstr "Barva výplně"
-
#: configinfo.cc:28
msgid "Build Configuration"
msgstr "Vytvořit nastavení"
@@ -2391,7 +2388,7 @@ msgid "Set selected notes to this length"
msgstr "Nastavit vybrané noty na tuto délku"
#: edit_note_dialog.cc:58 midi_list_editor.cc:104 patch_change_dialog.cc:91
-#: step_entry.cc:393
+#: step_entry.cc:394
msgid "Channel"
msgstr "Kanál"
@@ -2399,7 +2396,7 @@ msgstr "Kanál"
msgid "Pitch"
msgstr "Výška tónu"
-#: edit_note_dialog.cc:78 step_entry.cc:407
+#: edit_note_dialog.cc:78 step_entry.cc:408
msgid "Velocity"
msgstr "Síla tónu"
@@ -2407,9 +2404,9 @@ msgstr "Síla tónu"
msgid "Time"
msgstr "ÄŒas"
-#: edit_note_dialog.cc:98 editor_regions.cc:114
-#: export_timespan_selector.cc:359 export_timespan_selector.cc:421
-#: location_ui.cc:317 midi_list_editor.cc:114 time_info_box.cc:105
+#: edit_note_dialog.cc:98 editor_regions.cc:115
+#: export_timespan_selector.cc:378 export_timespan_selector.cc:440
+#: location_ui.cc:319 midi_list_editor.cc:114 time_info_box.cc:108
msgid "Length"
msgstr "Délka"
@@ -2417,560 +2414,576 @@ msgstr "Délka"
msgid "edit note"
msgstr "Upravit notu"
-#: editor.cc:137 editor.cc:3433
+#: editor.cc:144
msgid "CD Frames"
msgstr "Snímky CD"
-#: editor.cc:138 editor.cc:3435
-msgid "Timecode Frames"
-msgstr "Snímky Äasového kódu"
+#: editor.cc:145
+msgid "TC Frames"
+msgstr ""
-#: editor.cc:139 editor.cc:3437
-msgid "Timecode Seconds"
-msgstr "Sekundy Äasového kódu"
+#: editor.cc:146
+msgid "TC Seconds"
+msgstr ""
-#: editor.cc:140 editor.cc:3439
-msgid "Timecode Minutes"
-msgstr "Minuty Äasového kódu"
+#: editor.cc:147
+msgid "TC Minutes"
+msgstr ""
-#: editor.cc:141 editor.cc:3441
+#: editor.cc:148
msgid "Seconds"
msgstr "Sekundy"
-#: editor.cc:142 editor.cc:3443
+#: editor.cc:149
msgid "Minutes"
msgstr "Minuty"
-#: editor.cc:143 editor.cc:3417 quantize_dialog.cc:37 quantize_dialog.cc:141
+#: editor.cc:150 quantize_dialog.cc:37 quantize_dialog.cc:141
msgid "Beats/128"
msgstr "Doby/128"
-#: editor.cc:144 editor.cc:3415 quantize_dialog.cc:38 quantize_dialog.cc:143
+#: editor.cc:151 quantize_dialog.cc:38 quantize_dialog.cc:143
msgid "Beats/64"
msgstr "Doby/64"
-#: editor.cc:145 editor.cc:3413 quantize_dialog.cc:39 quantize_dialog.cc:145
+#: editor.cc:152 quantize_dialog.cc:39 quantize_dialog.cc:145
msgid "Beats/32"
msgstr "Doby/32"
-#: editor.cc:146 editor.cc:3411
+#: editor.cc:153
msgid "Beats/28"
msgstr "Doby/28"
-#: editor.cc:147 editor.cc:3409
+#: editor.cc:154
msgid "Beats/24"
msgstr "Doby/24"
-#: editor.cc:148 editor.cc:3407
+#: editor.cc:155
msgid "Beats/20"
msgstr "Doby/20"
-#: editor.cc:149 editor.cc:3405 quantize_dialog.cc:40 quantize_dialog.cc:147
+#: editor.cc:156 quantize_dialog.cc:40 quantize_dialog.cc:147
msgid "Beats/16"
msgstr "Doby/16"
-#: editor.cc:150 editor.cc:3403
+#: editor.cc:157
msgid "Beats/14"
msgstr "Doby/14"
-#: editor.cc:151 editor.cc:3401
+#: editor.cc:158
msgid "Beats/12"
msgstr "Doby/12"
-#: editor.cc:152 editor.cc:3399
+#: editor.cc:159
msgid "Beats/10"
msgstr "Doby/10"
-#: editor.cc:153 editor.cc:3397 quantize_dialog.cc:41 quantize_dialog.cc:149
+#: editor.cc:160 quantize_dialog.cc:41 quantize_dialog.cc:149
msgid "Beats/8"
msgstr "Doby/8"
-#: editor.cc:154 editor.cc:3395
+#: editor.cc:161
msgid "Beats/7"
msgstr "Doby/7"
-#: editor.cc:155 editor.cc:3393
+#: editor.cc:162
msgid "Beats/6"
msgstr "Doby/6"
-#: editor.cc:156 editor.cc:3391
+#: editor.cc:163
msgid "Beats/5"
msgstr "Doby/5"
-#: editor.cc:157 editor.cc:3389 quantize_dialog.cc:42 quantize_dialog.cc:151
+#: editor.cc:164 quantize_dialog.cc:42 quantize_dialog.cc:151
msgid "Beats/4"
msgstr "Doby/4"
-#: editor.cc:158 editor.cc:3387 quantize_dialog.cc:43 quantize_dialog.cc:153
+#: editor.cc:165 quantize_dialog.cc:43 quantize_dialog.cc:153
msgid "Beats/3"
msgstr "Doby/3"
-#: editor.cc:159 editor.cc:3385 quantize_dialog.cc:44 quantize_dialog.cc:155
+#: editor.cc:166 quantize_dialog.cc:44 quantize_dialog.cc:155
msgid "Beats/2"
msgstr "Doby/2"
-#: editor.cc:160 editor.cc:3419 quantize_dialog.cc:45 quantize_dialog.cc:157
+#: editor.cc:167 quantize_dialog.cc:45 quantize_dialog.cc:157
msgid "Beats"
msgstr "Doby"
-#: editor.cc:161 editor.cc:3421
+#: editor.cc:168
msgid "Bars"
msgstr "Takty"
-#: editor.cc:162 editor.cc:3423
+#: editor.cc:169
msgid "Marks"
msgstr "ZnaÄky"
-#: editor.cc:163 editor.cc:3425
+#: editor.cc:170
msgid "Region starts"
msgstr "ZaÄátek oblasti"
-#: editor.cc:164 editor.cc:3427
+#: editor.cc:171
msgid "Region ends"
msgstr "Konec oblasti"
-#: editor.cc:165 editor.cc:3431
+#: editor.cc:172
msgid "Region syncs"
msgstr "Seřízení oblasti"
-#: editor.cc:166 editor.cc:3429
+#: editor.cc:173
msgid "Region bounds"
msgstr "Hranice oblasti"
-#: editor.cc:171 editor.cc:3459 editor_actions.cc:485
+#: editor.cc:178 editor_actions.cc:520
msgid "No Grid"
msgstr "Mřížka vypnuta"
-#: editor.cc:172 editor.cc:3461 editor_actions.cc:486
+#: editor.cc:179 editor_actions.cc:521
msgid "Grid"
msgstr "Mřížka zapnuta"
-#: editor.cc:173 editor.cc:3463 editor_actions.cc:487
+#: editor.cc:180 editor_actions.cc:522
msgid "Magnetic"
msgstr "Magnetická"
-#: editor.cc:178 editor.cc:188 editor.cc:3502 editor.cc:3527
-#: editor_actions.cc:117 editor_actions.cc:468
+#: editor.cc:185 editor.cc:203 editor_actions.cc:121 editor_actions.cc:503
msgid "Playhead"
msgstr "Ukazatel polohy"
-#: editor.cc:179 editor.cc:3500 editor_actions.cc:470
+#: editor.cc:186 editor_actions.cc:505
msgid "Marker"
msgstr "ZnaÄka"
-#: editor.cc:180 editor.cc:189 editor.cc:3529 editor_actions.cc:469
+#: editor.cc:187 editor.cc:204 editor_actions.cc:504
msgid "Mouse"
msgstr "Myš"
-#: editor.cc:185 editor.cc:3521 mono_panner_editor.cc:42
+#: editor.cc:192 editor_actions.cc:512
+msgid "Slide"
+msgstr "Vsunout"
+
+#: editor.cc:193
+msgid "Splice"
+msgstr "Slepit"
+
+#: editor.cc:194 editor_actions.cc:511
+msgid "Ripple"
+msgstr ""
+
+#: editor.cc:195 editor_actions.cc:157 editor_actions.cc:513
+#: editor_actions.cc:1785 editor_markers.cc:874 editor_rulers.cc:260
+#: location_ui.cc:57 mixer_strip.cc:202 mixer_strip.cc:1983
+msgid "Lock"
+msgstr "Zamknout"
+
+#: editor.cc:200 mono_panner_editor.cc:42
msgid "Left"
msgstr "Vlevo"
-#: editor.cc:186 editor.cc:3523 mono_panner_editor.cc:47
+#: editor.cc:201 mono_panner_editor.cc:47
msgid "Right"
msgstr "Vpravo"
-#: editor.cc:187 editor.cc:3525
+#: editor.cc:202
msgid "Center"
msgstr "Na střed"
-#: editor.cc:190 editor.cc:3094 editor.cc:3531
+#: editor.cc:205 editor.cc:3145
msgid "Edit point"
msgstr "Pracovní bod"
-#: editor.cc:196
+#: editor.cc:211
msgid "Mushy"
msgstr "Rušený"
-#: editor.cc:197
+#: editor.cc:212
msgid "Smooth"
msgstr "Plynulý"
-#: editor.cc:198
+#: editor.cc:213
msgid "Balanced multitimbral mixture"
msgstr "Vyvážená vícehlasá směs"
-#: editor.cc:199
+#: editor.cc:214
msgid "Unpitched percussion with stable notes"
msgstr "Atonální nárazy se stálými tóny"
-#: editor.cc:200
+#: editor.cc:215
msgid "Crisp monophonic instrumental"
msgstr "Jemná jednokanálová nástrojová hudba"
-#: editor.cc:201
+#: editor.cc:216
msgid "Unpitched solo percussion"
msgstr "Atonální samostatné nárazy"
-#: editor.cc:202
+#: editor.cc:217
msgid "Resample without preserving pitch"
msgstr "Převzorkovat bez zachování výšky tónu"
-#: editor.cc:235
+#: editor.cc:252
msgid "Mins:Secs"
msgstr "Min:Sec"
-#: editor.cc:241
+#: editor.cc:258
msgid "Location Markers"
msgstr "ZnaÄky polohy"
-#: editor.cc:242
+#: editor.cc:259
msgid "Range Markers"
msgstr "ZnaÄky rozsahů"
-#: editor.cc:243
+#: editor.cc:260
msgid "Loop/Punch Ranges"
msgstr "Rozsahy smyÄky/pÅ™epsání"
-#: editor.cc:244 editor_actions.cc:540
+#: editor.cc:261 editor_actions.cc:575
msgid "CD Markers"
msgstr "ZnaÄky na CD"
-#: editor.cc:245
+#: editor.cc:262
msgid "Video Timeline"
msgstr "Časová osa videa"
-#: editor.cc:260
+#: editor.cc:279
msgid "mode"
msgstr "Režim"
-#: editor.cc:541
+#: editor.cc:447 editor_actions.cc:114 editor_actions.cc:574
+msgid "Markers"
+msgstr "ZnaÄky"
+
+#: editor.cc:554 rc_option_editor.cc:1830
msgid "Regions"
msgstr "Oblasti"
-#: editor.cc:542
+#: editor.cc:555
msgid "Tracks & Busses"
msgstr "Stopy & Sběrnice"
-#: editor.cc:543
+#: editor.cc:556
msgid "Snapshots"
msgstr "Snímky obrazovky"
-#: editor.cc:544
+#: editor.cc:557
msgid "Track & Bus Groups"
msgstr "Skupiny stopy a sběrnice"
-#: editor.cc:545
+#: editor.cc:558
msgid "Ranges & Marks"
msgstr "Rozsahy a znaÄky"
-#: editor.cc:690 editor.cc:5349 rc_option_editor.cc:1292
-#: rc_option_editor.cc:1300 rc_option_editor.cc:1308 rc_option_editor.cc:1316
-#: rc_option_editor.cc:1333 rc_option_editor.cc:1335 rc_option_editor.cc:1343
-#: rc_option_editor.cc:1351 rc_option_editor.cc:1371 rc_option_editor.cc:1383
-#: rc_option_editor.cc:1385 rc_option_editor.cc:1393 rc_option_editor.cc:1401
-#: rc_option_editor.cc:1409 rc_option_editor.cc:1417 rc_option_editor.cc:1432
-#: rc_option_editor.cc:1436
+#: editor.cc:706 editor.cc:5445 rc_option_editor.cc:1543
+#: rc_option_editor.cc:1551 rc_option_editor.cc:1559 rc_option_editor.cc:1567
+#: rc_option_editor.cc:1591 rc_option_editor.cc:1603 rc_option_editor.cc:1605
+#: rc_option_editor.cc:1613 rc_option_editor.cc:1621 rc_option_editor.cc:1641
+#: rc_option_editor.cc:1653 rc_option_editor.cc:1655 rc_option_editor.cc:1657
+#: rc_option_editor.cc:1665 rc_option_editor.cc:1673 rc_option_editor.cc:1681
+#: rc_option_editor.cc:1696 rc_option_editor.cc:1700
msgid "Editor"
msgstr "Editor"
-#: editor.cc:1215 editor.cc:1225 editor.cc:4444 editor_actions.cc:130
-#: editor_actions.cc:1813
+#: editor.cc:1288 editor.cc:4503 editor_actions.cc:134 editor_actions.cc:1861
msgid "Loop"
msgstr "SmyÄka"
-#: editor.cc:1231 editor.cc:1241 editor.cc:4471 editor_actions.cc:131
-#: time_info_box.cc:67
+#: editor.cc:1294 editor.cc:4530 editor_actions.cc:135 time_info_box.cc:68
msgid "Punch"
msgstr "Přepsání"
-#: editor.cc:1353
+#: editor.cc:1406 rc_option_editor.cc:1585
msgid "Linear (for highly correlated material)"
msgstr "Lineární (pro vysoce souvztažný materiál)"
-#: editor.cc:1363 editor.cc:1500 editor.cc:1562
+#: editor.cc:1416 rc_option_editor.cc:1586
msgid "Constant power"
msgstr "Neměnná síla"
-#: editor.cc:1372 editor.cc:1493 editor.cc:1555
+#: editor.cc:1425 rc_option_editor.cc:1587
msgid "Symmetric"
msgstr "Souměrný"
-#: editor.cc:1382 editor.cc:1475 editor.cc:1537
+#: editor.cc:1435 rc_option_editor.cc:1588
msgid "Slow"
msgstr "Pomalu"
-#: editor.cc:1391 editor.cc:1484 editor.cc:1546 sfdb_ui.cc:1627
-#: sfdb_ui.cc:1736
+#: editor.cc:1444 rc_option_editor.cc:1589 sfdb_ui.cc:1752 sfdb_ui.cc:1862
msgid "Fast"
msgstr "Rychle"
-#: editor.cc:1438
-msgid "programming error: fade in canvas item has no regionview data pointer!"
-msgstr ""
-"Chyba v programování: položka plátna postupné zesílení signálu nemá žádný "
-"ukazatel dat pohledu na oblast!"
-
-#: editor.cc:1449 editor.cc:1513
+#: editor.cc:1464 editor.cc:1487
msgid "Deactivate"
msgstr "Zastavit"
-#: editor.cc:1451 editor.cc:1515
+#: editor.cc:1466 editor.cc:1489
msgid "Activate"
msgstr "Spustit"
-#: editor.cc:1459 editor.cc:1522
-msgid "Slowest"
-msgstr "Velmi pomalu"
-
-#: editor.cc:1573 route_time_axis.cc:1877 selection.cc:1009 selection.cc:1064
-msgid "programming error: "
-msgstr "Chyba v programování:"
-
-#: editor.cc:1674 editor.cc:1682 editor_ops.cc:3522
+#: editor.cc:1590 editor.cc:1598 editor_ops.cc:3635
msgid "Freeze"
msgstr "Zmrazit"
-#: editor.cc:1678
+#: editor.cc:1594
msgid "Unfreeze"
msgstr "Rozmrazit"
-#: editor.cc:1817
+#: editor.cc:1733
msgid "Selected Regions"
msgstr "Vybrané oblasti"
-#: editor.cc:1853 editor_markers.cc:895
+#: editor.cc:1769 editor_markers.cc:909
msgid "Play Range"
msgstr "Přehrávat rozsah"
-#: editor.cc:1854 editor_markers.cc:898
+#: editor.cc:1770 editor_markers.cc:912
msgid "Loop Range"
msgstr "PÅ™ehrávat rozsah smyÄky"
-#: editor.cc:1863 editor_actions.cc:332
+#: editor.cc:1773 editor_actions.cc:266 editor_markers.cc:919
+msgid "Zoom to Range"
+msgstr "Najet na rozsah"
+
+#: editor.cc:1782 editor_actions.cc:366
msgid "Move Range Start to Previous Region Boundary"
msgstr "PÅ™esunout zaÄátek rozsahu na pÅ™edchozí hranici oblasti"
-#: editor.cc:1870 editor_actions.cc:339
+#: editor.cc:1789 editor_actions.cc:373
msgid "Move Range Start to Next Region Boundary"
msgstr "PÅ™esunout zaÄátek rozsahu na další hranici oblasti"
-#: editor.cc:1877 editor_actions.cc:346
+#: editor.cc:1796 editor_actions.cc:380
msgid "Move Range End to Previous Region Boundary"
msgstr "Přesunout konec rozsahu na předchozí hranici oblasti"
-#: editor.cc:1884 editor_actions.cc:353
+#: editor.cc:1803 editor_actions.cc:387
msgid "Move Range End to Next Region Boundary"
msgstr "Přesunout konec rozsahu na další hranici oblasti"
-#: editor.cc:1890
+#: editor.cc:1809
msgid "Convert to Region In-Place"
msgstr "Převést na oblast v místě"
-#: editor.cc:1891
+#: editor.cc:1810
msgid "Convert to Region in Region List"
msgstr "Převést na oblast v seznamu oblastí"
-#: editor.cc:1894 editor_markers.cc:925
+#: editor.cc:1813 editor_markers.cc:939
msgid "Select All in Range"
msgstr "Vybrat vše v rozsahu"
-#: editor.cc:1897
+#: editor.cc:1816
msgid "Set Loop from Range"
msgstr "Zřídit smyÄku z rozsahu"
-#: editor.cc:1898
+#: editor.cc:1817
msgid "Set Punch from Range"
msgstr "Zřídit oblast přepsání z rozsahu"
-#: editor.cc:1901
+#: editor.cc:1820
msgid "Add Range Markers"
msgstr "Vložit znaÄky rozsahu"
-#: editor.cc:1904
+#: editor.cc:1823
msgid "Crop Region to Range"
msgstr "Zkrátit oblast na rozsah"
-#: editor.cc:1905
+#: editor.cc:1824
msgid "Fill Range with Region"
msgstr "Vyplnit rozsah oblastí"
-#: editor.cc:1906 editor_actions.cc:289
+#: editor.cc:1825 editor_actions.cc:311
msgid "Duplicate Range"
msgstr "Zdvojit rozsah"
-#: editor.cc:1909
+#: editor.cc:1828
msgid "Consolidate Range"
msgstr "Sjednotit rozsah"
-#: editor.cc:1910
+#: editor.cc:1829
msgid "Consolidate Range With Processing"
msgstr "Sjednotit rozsah se zpracováním"
-#: editor.cc:1911
+#: editor.cc:1830
msgid "Bounce Range to Region List"
msgstr "Vrazit rozsah do seznamu oblastí"
-#: editor.cc:1912
+#: editor.cc:1831
msgid "Bounce Range to Region List With Processing"
msgstr "Vrazit rozsah do seznamu oblastí se zpracováním"
-#: editor.cc:1913 editor_markers.cc:908
+#: editor.cc:1832 editor_markers.cc:922
msgid "Export Range..."
msgstr "Vyvést rozsah..."
-#: editor.cc:1915
+#: editor.cc:1834
msgid "Export Video Range..."
msgstr ""
-#: editor.cc:1931 editor.cc:2012 editor_actions.cc:281
+#: editor.cc:1850 editor.cc:1931 editor_actions.cc:303
msgid "Play From Edit Point"
msgstr "Přehrávat od pracovního bodu"
-#: editor.cc:1932 editor.cc:2013
+#: editor.cc:1851 editor.cc:1932
msgid "Play From Start"
msgstr "PÅ™ehrávat od zaÄátku"
-#: editor.cc:1933
+#: editor.cc:1852
msgid "Play Region"
msgstr "Přehrávat oblast"
-#: editor.cc:1935
+#: editor.cc:1854
msgid "Loop Region"
msgstr "PÅ™ehrávat oblast ve smyÄce"
-#: editor.cc:1945 editor.cc:2022
+#: editor.cc:1864 editor.cc:1941
msgid "Select All in Track"
msgstr "Vybrat vše ve stopě"
-#: editor.cc:1946 editor.cc:2023 editor_actions.cc:185
-#: export_timespan_selector.cc:53 processor_box.cc:2276
-msgid "Select All"
-msgstr "Vybrat vše"
+#: editor.cc:1865 editor.cc:1942 editor_actions.cc:194
+msgid "Select All Objects"
+msgstr ""
-#: editor.cc:1947 editor.cc:2024
+#: editor.cc:1866 editor.cc:1943
msgid "Invert Selection in Track"
msgstr "Obrátit výběr ve stopě"
-#: editor.cc:1948 editor.cc:2025 editor_actions.cc:187
+#: editor.cc:1867 editor.cc:1944 editor_actions.cc:197
msgid "Invert Selection"
msgstr "Obrátit výběr"
-#: editor.cc:1950
+#: editor.cc:1869
msgid "Set Range to Loop Range"
msgstr "Nastavit vybraný rozsah jako rozsah smyÄky"
-#: editor.cc:1951
+#: editor.cc:1870
msgid "Set Range to Punch Range"
msgstr "Nastavit vybraný rozsah jako rozsah přepsání"
-#: editor.cc:1953 editor.cc:2027 editor_actions.cc:188
+#: editor.cc:1872 editor.cc:1946 editor_actions.cc:199 editor_actions.cc:200
msgid "Select All After Edit Point"
msgstr "Vybrat všechny oblasti po pracovním bodě"
-#: editor.cc:1954 editor.cc:2028 editor_actions.cc:189
+#: editor.cc:1873 editor.cc:1947 editor_actions.cc:201 editor_actions.cc:202
msgid "Select All Before Edit Point"
msgstr "Vybrat všechny oblasti před pracovním bodem"
-#: editor.cc:1955 editor.cc:2029
+#: editor.cc:1874 editor.cc:1948
msgid "Select All After Playhead"
msgstr "Vybrat všechny oblasti po ukazateli polohy"
-#: editor.cc:1956 editor.cc:2030
+#: editor.cc:1875 editor.cc:1949
msgid "Select All Before Playhead"
msgstr "Vybrat všechny oblasti před ukazatelem polohy"
-#: editor.cc:1957
+#: editor.cc:1876
msgid "Select All Between Playhead and Edit Point"
msgstr "Vybrat všechny oblasti mezi ukazatelem polohy a pracovním bodem"
-#: editor.cc:1958
+#: editor.cc:1877
msgid "Select All Within Playhead and Edit Point"
msgstr "Vybrat všechny oblasti v rámci ukazatele polohy a pracovním bodem"
-#: editor.cc:1959
+#: editor.cc:1878
msgid "Select Range Between Playhead and Edit Point"
msgstr "Vybrat rozsah mezi ukazatelem polohy a pracovním bodem"
-#: editor.cc:1961 editor.cc:2032 editor_actions.cc:127 editor_actions.cc:128
+#: editor.cc:1880 editor.cc:1951 editor_actions.cc:131 editor_actions.cc:132
msgid "Select"
msgstr "Vybrat"
-#: editor.cc:1969 editor.cc:2040 editor_actions.cc:309 processor_box.cc:2261
+#: editor.cc:1888 editor.cc:1959 editor_actions.cc:334 processor_box.cc:2495
msgid "Cut"
msgstr "Vyjmout"
-#: editor.cc:1970 editor.cc:2041 editor_actions.cc:312 processor_box.cc:2264
+#: editor.cc:1889 editor.cc:1960 editor_actions.cc:338 processor_box.cc:2498
msgid "Copy"
msgstr "Kopírovat"
-#: editor.cc:1971 editor.cc:2042 editor_actions.cc:313 processor_box.cc:2272
+#: editor.cc:1890 editor.cc:1961 editor_actions.cc:339 processor_box.cc:2506
msgid "Paste"
msgstr "Vložit"
-#: editor.cc:1975 editor_actions.cc:87
+#: editor.cc:1894 editor_actions.cc:91
msgid "Align"
msgstr "Zarovnat"
-#: editor.cc:1976
+#: editor.cc:1895
msgid "Align Relative"
msgstr "Zarovnat poměrně"
-#: editor.cc:1983
+#: editor.cc:1902
msgid "Insert Selected Region"
msgstr "Vložit vybranou oblast"
-#: editor.cc:1984
+#: editor.cc:1903
msgid "Insert Existing Media"
msgstr "Vložit stávající zvukové soubory"
-#: editor.cc:1993 editor.cc:2049
+#: editor.cc:1912 editor.cc:1968
msgid "Nudge Entire Track Later"
msgstr "PostrÄit celou stopu o krok pozdÄ›ji"
-#: editor.cc:1994 editor.cc:2050
+#: editor.cc:1913 editor.cc:1969
msgid "Nudge Track After Edit Point Later"
msgstr "PostrÄit stopu po pracovním bodu o krok pozdÄ›ji"
-#: editor.cc:1995 editor.cc:2051
+#: editor.cc:1914 editor.cc:1970
msgid "Nudge Entire Track Earlier"
msgstr "PostrÄit celou stopu o krok dříve"
-#: editor.cc:1996 editor.cc:2052
+#: editor.cc:1915 editor.cc:1971
msgid "Nudge Track After Edit Point Earlier"
msgstr "PostrÄit stopu po pracovním bodu o krok dříve"
-#: editor.cc:1998 editor.cc:2054
+#: editor.cc:1917 editor.cc:1973
msgid "Nudge"
msgstr "PostrÄit"
-#: editor.cc:3074
+#: editor.cc:2916 editor.cc:3491 editor.cc:3561 midi_channel_selector.cc:159
+#: midi_channel_selector.cc:397 midi_channel_selector.cc:433
+msgid "All"
+msgstr "VÅ¡e"
+
+#: editor.cc:3122
msgid "Smart Mode (add Range functions to Object mode)"
msgstr "Chytrý režim (přidat funkce rozsahu do předmětového režimu)"
-#: editor.cc:3075
+#: editor.cc:3123
msgid "Object Mode (select/move Objects)"
msgstr "Předmětový režim (Vybrat/Posunout předměty)"
-#: editor.cc:3076
+#: editor.cc:3124
+msgid "Cut Mode (split Regions)"
+msgstr ""
+
+#: editor.cc:3125
msgid "Range Mode (select/move Ranges)"
msgstr "Rozsahový režim (Vybrat/Posunout rozsahy)"
-#: editor.cc:3077
+#: editor.cc:3126
msgid "Draw/Edit MIDI Notes"
msgstr "Kreslit/Upravit noty MIDI"
-#: editor.cc:3078
+#: editor.cc:3127
msgid "Draw Region Gain"
msgstr "Nakreslit sílu hlasitosti v oblasti"
-#: editor.cc:3079
+#: editor.cc:3128
msgid "Select Zoom Range"
msgstr "Vybrat rozsah pro přiblížení a oddálení"
-#: editor.cc:3080
+#: editor.cc:3129
msgid "Stretch/Shrink Regions and MIDI Notes"
msgstr "Protáhnout/Zmenšit oblasti a noty MIDI"
-#: editor.cc:3081
+#: editor.cc:3130
msgid "Listen to Specific Regions"
msgstr "Poslouchat vybrané oblasti"
-#: editor.cc:3082
+#: editor.cc:3131
msgid "Note Level Editing"
msgstr "Upravit na úrovni not"
-#: editor.cc:3083
+#: editor.cc:3132
msgid ""
"Groups: click to (de)activate\n"
"Context-click for other operations"
@@ -2978,51 +2991,59 @@ msgstr ""
"Skupiny: klepnout pro zapnutí/vypnutí\n"
"Klepnutí na související nabídku pro jiné operace"
-#: editor.cc:3084
+#: editor.cc:3133
msgid "Nudge Region/Selection Later"
msgstr "PostrÄit oblast/výbÄ›r o krok pozdÄ›ji"
-#: editor.cc:3085
+#: editor.cc:3134
msgid "Nudge Region/Selection Earlier"
msgstr "PostrÄit oblast/výbÄ›r o krok dříve"
-#: editor.cc:3086 editor_actions.cc:242
+#: editor.cc:3135 editor_actions.cc:262
msgid "Zoom In"
msgstr "Přiblížit"
-#: editor.cc:3087 editor_actions.cc:241
+#: editor.cc:3136 editor_actions.cc:261
msgid "Zoom Out"
msgstr "Oddálit"
-#: editor.cc:3088 editor_actions.cc:243
+#: editor.cc:3137
+msgid "Zoom to Time Scale"
+msgstr ""
+
+#: editor.cc:3138 editor.cc:3513 editor_actions.cc:263
msgid "Zoom to Session"
msgstr "Pohled na celé sezení"
-#: editor.cc:3089
+#: editor.cc:3139
msgid "Zoom focus"
msgstr "Pohled na střed"
-#: editor.cc:3090
+#: editor.cc:3140
msgid "Expand Tracks"
msgstr "Rozbalit stopy"
-#: editor.cc:3091
+#: editor.cc:3141
msgid "Shrink Tracks"
msgstr "Zmenšit stopy"
-#: editor.cc:3092
+#: editor.cc:3142
+msgid "Number of visible tracks"
+msgstr ""
+
+#: editor.cc:3143
msgid "Snap/Grid Units"
msgstr "Jednotky zapadnutí/mřížky"
-#: editor.cc:3093
+#: editor.cc:3144
msgid "Snap/Grid Mode"
msgstr "Režim zapadnutí/mřížky"
-#: editor.cc:3095
+#: editor.cc:3146
msgid "Edit Mode"
msgstr "Režim úprav"
-#: editor.cc:3096
+#: editor.cc:3147
msgid ""
"Nudge Clock\n"
"(controls distance used to nudge regions and selections)"
@@ -3030,39 +3051,124 @@ msgstr ""
"Hodiny postrÄení\n"
"(řídí vzdálenost použitou k postrÄení oblastí a výbÄ›rů)"
-#: editor.cc:3198
-msgid "malformed URL passed to drag-n-drop code"
-msgstr "Neplatná adresa (URL) předaná kódu \"táhni a pusť\""
-
-#: editor.cc:3260 editor_actions.cc:291
+#: editor.cc:3285 editor_actions.cc:313
msgid "Command|Undo"
msgstr "Příkaz|Zpět"
-#: editor.cc:3262
+#: editor.cc:3287
msgid "Command|Undo (%1)"
msgstr "Příkaz|Zpět (%1)"
-#: editor.cc:3269 editor_actions.cc:292
+#: editor.cc:3294 editor_actions.cc:315 editor_actions.cc:316
+#: editor_actions.cc:317
msgid "Redo"
msgstr "Znovu"
-#: editor.cc:3271
+#: editor.cc:3296
msgid "Redo (%1)"
msgstr "Znovu (%1)"
-#: editor.cc:3290 editor.cc:3314 editor_actions.cc:106 editor_actions.cc:1794
+#: editor.cc:3315 editor.cc:3339 editor_actions.cc:110 editor_actions.cc:1842
msgid "Duplicate"
msgstr "Zdvojit"
-#: editor.cc:3291
+#: editor.cc:3316
msgid "Number of duplications:"
msgstr "PoÄet zdvojení:"
-#: editor.cc:3868
+#: editor.cc:3490
+msgid "Selected"
+msgstr ""
+
+#: editor.cc:3493
+msgid "Fit 1 track"
+msgstr ""
+
+#: editor.cc:3494
+msgid "Fit 2 tracks"
+msgstr ""
+
+#: editor.cc:3495
+msgid "Fit 4 tracks"
+msgstr ""
+
+#: editor.cc:3496
+msgid "Fit 8 tracks"
+msgstr ""
+
+#: editor.cc:3497
+msgid "Fit 16 tracks"
+msgstr ""
+
+#: editor.cc:3498
+msgid "Fit 24 tracks"
+msgstr ""
+
+#: editor.cc:3499
+msgid "Fit 32 tracks"
+msgstr ""
+
+#: editor.cc:3500
+msgid "Fit 48 tracks"
+msgstr ""
+
+#: editor.cc:3501
+msgid "Fit All tracks"
+msgstr ""
+
+#: editor.cc:3502
+msgid "Fit Selected tracks"
+msgstr ""
+
+#: editor.cc:3504
+msgid "Zoom to 10 ms"
+msgstr ""
+
+#: editor.cc:3505
+msgid "Zoom to 100 ms"
+msgstr ""
+
+#: editor.cc:3506
+msgid "Zoom to 1 sec"
+msgstr ""
+
+#: editor.cc:3507
+msgid "Zoom to 10 sec"
+msgstr ""
+
+#: editor.cc:3508
+msgid "Zoom to 1 min"
+msgstr ""
+
+#: editor.cc:3509
+msgid "Zoom to 10 min"
+msgstr ""
+
+#: editor.cc:3510
+msgid "Zoom to 1 hour"
+msgstr ""
+
+#: editor.cc:3511
+msgid "Zoom to 8 hours"
+msgstr ""
+
+#: editor.cc:3512
+msgid "Zoom to 24 hours"
+msgstr ""
+
+#: editor.cc:3514
+msgid "Zoom to Range/Region Selection"
+msgstr ""
+
+#: editor.cc:3583
+msgid "*"
+msgstr ""
+
+#: editor.cc:3918
msgid "Playlist Deletion"
msgstr "Smazání seznamu skladeb"
-#: editor.cc:3869
+#: editor.cc:3919
msgid ""
"Playlist %1 is currently unused.\n"
"If it is kept, its audio files will not be cleaned.\n"
@@ -3073,1307 +3179,1299 @@ msgstr ""
"používány.\n"
"Jestliže se smaže, budou jím používané zvukové soubory smazány."
-#: editor.cc:3879
+#: editor.cc:3929
msgid "Delete Playlist"
msgstr "Smazat seznam skladeb"
-#: editor.cc:3880
+#: editor.cc:3930
msgid "Keep Playlist"
msgstr "Ponechat seznam skladeb"
-#: editor.cc:3881 editor_audio_import.cc:581 editor_ops.cc:5856
-#: engine_dialog.cc:1711 sfdb_freesound_mootcher.cc:69 processor_box.cc:2030
-#: processor_box.cc:2055
+#: editor.cc:3931 editor_audio_import.cc:579 editor_ops.cc:5931
+#: engine_dialog.cc:1985 sfdb_freesound_mootcher.cc:69 processor_box.cc:2263
+#: processor_box.cc:2288
msgid "Cancel"
msgstr "Zrušit"
-#: editor.cc:4025
+#: editor.cc:4065
msgid "new playlists"
msgstr "Nový seznam skladeb"
-#: editor.cc:4041
+#: editor.cc:4081
msgid "copy playlists"
msgstr "Kopírovat seznam skladeb"
-#: editor.cc:4056
+#: editor.cc:4096
msgid "clear playlists"
msgstr "Vyprázdnit seznam skladeb"
-#: editor.cc:4691
+#: editor.cc:4771
msgid "Please wait while %1 loads visual data."
msgstr "PoÄkejte, prosím, zatímco %1 nahrává vizuální data."
-#: editor.cc:5496 editor_markers.cc:940 panner_ui.cc:392 processor_box.cc:2292
+#: editor.cc:5592 editor_markers.cc:954 panner_ui.cc:409 processor_box.cc:2526
msgid "Edit..."
msgstr "Upravit..."
-#: editor_actions.cc:88
+#: editor_actions.cc:92
msgid "Autoconnect"
msgstr "Automaticky spojit"
-#: editor_actions.cc:89
+#: editor_actions.cc:93
msgid "Crossfades"
msgstr "Prolínání"
-#: editor_actions.cc:91
+#: editor_actions.cc:95
msgid "Move Selected Marker"
msgstr "Posunout vybranou znaÄku polohy"
-#: editor_actions.cc:92
+#: editor_actions.cc:96
msgid "Select Range Operations"
msgstr "Vybrat operace s rozsahy"
-#: editor_actions.cc:93
+#: editor_actions.cc:97
msgid "Select Regions"
msgstr "Vybrat oblasti"
-#: editor_actions.cc:94
+#: editor_actions.cc:98
msgid "Edit Point"
msgstr "Pracovní bod"
-#: editor_actions.cc:95
+#: editor_actions.cc:99
msgid "Fade"
msgstr "Zesílit/Zeslabit"
-#: editor_actions.cc:96
+#: editor_actions.cc:100
msgid "Latch"
msgstr "Zaklapnout"
-#: editor_actions.cc:97 editor_regions.cc:111 region_editor.cc:46
+#: editor_actions.cc:101 editor_regions.cc:112 region_editor.cc:45
msgid "Region"
msgstr "Oblast"
-#: editor_actions.cc:98
+#: editor_actions.cc:102
msgid "Layering"
msgstr "Vrstvení"
-#: editor_actions.cc:99 editor_regions.cc:112 gtk-custom-ruler.c:152
-#: stereo_panner_editor.cc:44
+#: editor_actions.cc:103 editor_regions.cc:113 stereo_panner_editor.cc:44
msgid "Position"
msgstr "Poloha"
-#: editor_actions.cc:101 gain_meter.cc:120 gain_meter.cc:794 panner_ui.cc:176
-#: panner_ui.cc:585
+#: editor_actions.cc:105 gain_meter.cc:122 gain_meter.cc:800 panner_ui.cc:177
+#: panner_ui.cc:634
msgid "Trim"
msgstr "Ustřihnout"
-#: editor_actions.cc:102 editor_actions.cc:122 route_group_dialog.cc:40
+#: editor_actions.cc:106 editor_actions.cc:126 route_group_dialog.cc:46
msgid "Gain"
msgstr "Zesílení signálu"
-#: editor_actions.cc:103 editor_actions.cc:538
+#: editor_actions.cc:107 editor_actions.cc:573
msgid "Ranges"
msgstr "Rozsahy"
-#: editor_actions.cc:104 editor_actions.cc:1790 session_option_editor.cc:145
-#: session_option_editor.cc:147 session_option_editor.cc:156
-#: session_option_editor.cc:163
+#: editor_actions.cc:108 editor_actions.cc:1838 session_option_editor.cc:135
+#: session_option_editor.cc:144 session_option_editor.cc:151
msgid "Fades"
msgstr "Slábnutí"
-#: editor_actions.cc:107
+#: editor_actions.cc:111
msgid "Link"
msgstr "Propojení"
-#: editor_actions.cc:108 editor_actions.cc:141
+#: editor_actions.cc:112 editor_actions.cc:145
msgid "Zoom Focus"
msgstr "Pohled na střed"
-#: editor_actions.cc:109
+#: editor_actions.cc:113
msgid "Locate to Markers"
msgstr "Ukazatele polohy postavit na znaÄky"
-#: editor_actions.cc:110 editor_actions.cc:539
-msgid "Markers"
-msgstr "ZnaÄky"
-
-#: editor_actions.cc:111
+#: editor_actions.cc:115
msgid "Meter falloff"
msgstr "Klesání ukazatele hladiny"
-#: editor_actions.cc:112
+#: editor_actions.cc:116
msgid "Meter hold"
msgstr "Držení ukazatele hladiny"
-#: editor_actions.cc:113 session_option_editor.cc:234
+#: editor_actions.cc:117 session_option_editor.cc:321
msgid "MIDI Options"
msgstr "Volby pro MIDI"
-#: editor_actions.cc:114
+#: editor_actions.cc:118
msgid "Misc Options"
msgstr "Různé volby"
-#: editor_actions.cc:115 rc_option_editor.cc:1450 route_group_dialog.cc:48
-#: session_option_editor.cc:218 session_option_editor.cc:225
+#: editor_actions.cc:119 rc_option_editor.cc:1714 route_group_dialog.cc:54
+#: session_option_editor.cc:243 session_option_editor.cc:250
msgid "Monitoring"
msgstr "Sledování"
-#: editor_actions.cc:116
+#: editor_actions.cc:120
msgid "Active Mark"
msgstr "SouÄasná znaÄka"
-#: editor_actions.cc:119
+#: editor_actions.cc:123
msgid "Primary Clock"
msgstr "Hlavní údaj o Äase"
-#: editor_actions.cc:120
+#: editor_actions.cc:124
msgid "Pullup / Pulldown"
msgstr "Vytáhnout nahoru/Stáhnout dolů"
-#: editor_actions.cc:121
+#: editor_actions.cc:125
msgid "Region operations"
msgstr "Operace s oblastmi"
-#: editor_actions.cc:123
+#: editor_actions.cc:127 ruler_dialog.cc:28
msgid "Rulers"
msgstr "Pravítka se znaÄkami"
-#: editor_actions.cc:124
+#: editor_actions.cc:128
msgid "Views"
msgstr "Pohledy"
-#: editor_actions.cc:125
+#: editor_actions.cc:129
msgid "Scroll"
msgstr "Projíždět"
-#: editor_actions.cc:126
+#: editor_actions.cc:130
msgid "Secondary Clock"
msgstr "Vedlejší údaj o Äase"
-#: editor_actions.cc:129 editor_actions.cc:297
+#: editor_actions.cc:133 editor_actions.cc:322
msgid "Separate"
msgstr "Rozdělit"
-#: editor_actions.cc:132 mixer_strip.cc:1914 route_time_axis.cc:208
-#: route_time_axis.cc:2417
-msgid "Solo"
-msgstr "Sólo"
-
-#: editor_actions.cc:133
+#: editor_actions.cc:137
msgid "Subframes"
msgstr "Podřízené snímky"
-#: editor_actions.cc:136
+#: editor_actions.cc:140
msgid "Timecode fps"
msgstr "Časový kód FPS"
-#: editor_actions.cc:137 route_time_axis.cc:430
+#: editor_actions.cc:141 route_time_axis.cc:548
msgid "Height"
msgstr "Výška"
-#: editor_actions.cc:139
+#: editor_actions.cc:143
msgid "Tools"
msgstr "Nástroje"
-#: editor_actions.cc:140
+#: editor_actions.cc:144
msgid "View"
msgstr "Pohled"
-#: editor_actions.cc:142
+#: editor_actions.cc:146
msgid "Zoom"
msgstr "Zvětšení"
-#: editor_actions.cc:148
+#: editor_actions.cc:152
msgid "Break drag or deselect all"
msgstr "PÅ™eruÅ¡it tažení nebo odznaÄit vÅ¡e"
-#: editor_actions.cc:150
+#: editor_actions.cc:159
msgid "Show Editor Mixer"
msgstr "Ukázat panel směšovaÄe"
-#: editor_actions.cc:151
+#: editor_actions.cc:160
msgid "Show Editor List"
msgstr "Ukázat seznam editoru"
-#: editor_actions.cc:153
+#: editor_actions.cc:162
msgid "Playhead to Next Region Boundary"
msgstr "Ukazatele polohy na další hranici oblasti"
-#: editor_actions.cc:154
+#: editor_actions.cc:163
msgid "Playhead to Next Region Boundary (No Track Selection)"
msgstr "Ukazatele polohy na další hranici oblasti (žádný výběr stopy)"
-#: editor_actions.cc:155
+#: editor_actions.cc:164
msgid "Playhead to Previous Region Boundary"
msgstr "Ukazatele polohy na předchozí hranici oblasti"
-#: editor_actions.cc:156
+#: editor_actions.cc:165
msgid "Playhead to Previous Region Boundary (No Track Selection)"
msgstr "Ukazatele polohy na předchozí hranici oblasti (žádný výběr stopy)"
-#: editor_actions.cc:158
+#: editor_actions.cc:167
msgid "Playhead to Next Region Start"
msgstr "Ukazatele polohy na zaÄátek další oblasti"
-#: editor_actions.cc:159
+#: editor_actions.cc:168
msgid "Playhead to Next Region End"
msgstr "Ukazatele polohy na konec další oblasti"
-#: editor_actions.cc:160
+#: editor_actions.cc:169
msgid "Playhead to Next Region Sync"
msgstr "Ukazatele polohy na bod zapadnutí další oblasti"
-#: editor_actions.cc:162
+#: editor_actions.cc:171
msgid "Playhead to Previous Region Start"
msgstr "Ukazatele polohy na zaÄátek pÅ™edchozí oblasti"
-#: editor_actions.cc:163
+#: editor_actions.cc:172
msgid "Playhead to Previous Region End"
msgstr "Ukazatele polohy na konec předchozí oblasti"
-#: editor_actions.cc:164
+#: editor_actions.cc:173
msgid "Playhead to Previous Region Sync"
msgstr "Ukazatele polohy na bod zapadnutí předchozí oblasti"
-#: editor_actions.cc:166
+#: editor_actions.cc:175
msgid "To Next Region Boundary"
msgstr "Na další hranici oblasti"
-#: editor_actions.cc:167
+#: editor_actions.cc:176
msgid "To Next Region Boundary (No Track Selection)"
msgstr "Na další hranici oblasti (žádný výběr stopy)"
-#: editor_actions.cc:168
+#: editor_actions.cc:177
msgid "To Previous Region Boundary"
msgstr "Na předchozí hranici oblasti"
-#: editor_actions.cc:169
+#: editor_actions.cc:178
msgid "To Previous Region Boundary (No Track Selection)"
msgstr "Na předchozí hranici oblasti (žádný výběr stopy)"
-#: editor_actions.cc:171
+#: editor_actions.cc:180
msgid "To Next Region Start"
msgstr "Na zaÄátek další oblasti"
-#: editor_actions.cc:172
+#: editor_actions.cc:181
msgid "To Next Region End"
msgstr "Na konec další oblasti"
-#: editor_actions.cc:173
+#: editor_actions.cc:182
msgid "To Next Region Sync"
msgstr "Na bod zapadnutí další oblasti"
-#: editor_actions.cc:175
+#: editor_actions.cc:184
msgid "To Previous Region Start"
msgstr "Na zaÄátek pÅ™edchozí oblasti"
-#: editor_actions.cc:176
+#: editor_actions.cc:185
msgid "To Previous Region End"
msgstr "Na konec předchozí oblasti"
-#: editor_actions.cc:177
+#: editor_actions.cc:186
msgid "To Previous Region Sync"
msgstr "Na bod zapadnutí předchozí oblasti"
-#: editor_actions.cc:179
+#: editor_actions.cc:188
msgid "To Range Start"
msgstr "Na zaÄátek rozsahu výbÄ›ru"
-#: editor_actions.cc:180
+#: editor_actions.cc:189
msgid "To Range End"
msgstr "Na konec rozsahu výběru"
-#: editor_actions.cc:182
+#: editor_actions.cc:191
msgid "Playhead to Range Start"
msgstr "Ukazatele polohy na zaÄátek rozsahu výbÄ›ru"
-#: editor_actions.cc:183
+#: editor_actions.cc:192
msgid "Playhead to Range End"
msgstr "Ukazatele polohy na konec rozsahu výběru"
-#: editor_actions.cc:186 export_timespan_selector.cc:61 processor_box.cc:2278
+#: editor_actions.cc:195
+msgid "Select All Tracks"
+msgstr ""
+
+#: editor_actions.cc:196 export_timespan_selector.cc:61 processor_box.cc:2512
msgid "Deselect All"
msgstr "OdznaÄit vÅ¡e"
-#: editor_actions.cc:191
+#: editor_actions.cc:204
msgid "Select All Overlapping Edit Range"
msgstr "Vybrat všechny překrývající se oblasti v rozsahu úprav"
-#: editor_actions.cc:192
+#: editor_actions.cc:205
msgid "Select All Inside Edit Range"
msgstr "Vybrat vše uvnitř rozsahu úprav"
-#: editor_actions.cc:194
+#: editor_actions.cc:207
msgid "Select Edit Range"
msgstr "Vybrat rozsah úprav"
-#: editor_actions.cc:196
+#: editor_actions.cc:209
msgid "Select All in Punch Range"
msgstr "Vybrat všechny oblasti v rozsahu přepsání"
-#: editor_actions.cc:197
+#: editor_actions.cc:210
msgid "Select All in Loop Range"
msgstr "Vybrat vÅ¡echny oblasti uvnitÅ™ rozsahu smyÄky"
-#: editor_actions.cc:199
+#: editor_actions.cc:212
msgid "Select Next Track or Bus"
msgstr "Vybrat další stopu nebo sběrnici"
-#: editor_actions.cc:200
+#: editor_actions.cc:213
msgid "Select Previous Track or Bus"
msgstr "Vybrat předchozí stopu nebo sběrnici"
-#: editor_actions.cc:202
+#: editor_actions.cc:215
msgid "Toggle Record Enable"
msgstr "Spustit nahrávání"
-#: editor_actions.cc:204
+#: editor_actions.cc:217
msgid "Toggle Solo"
msgstr "Přepnout sólo"
-#: editor_actions.cc:206
+#: editor_actions.cc:219
msgid "Toggle Mute"
msgstr "Přepnout ztlumení"
-#: editor_actions.cc:208
+#: editor_actions.cc:221
msgid "Toggle Solo Isolate"
msgstr "Přepnout samostatné sólo"
-#: editor_actions.cc:213
+#: editor_actions.cc:226
msgid "Save View %1"
msgstr "Uložit pohled %1"
-#: editor_actions.cc:219
+#: editor_actions.cc:232
msgid "Goto View %1"
msgstr "Vyvolat pohled %1"
-#: editor_actions.cc:225
+#: editor_actions.cc:238
msgid "Locate to Mark %1"
msgstr "Ukazatele polohy postavit na znaÄku %1"
-#: editor_actions.cc:229
+#: editor_actions.cc:242 editor_actions.cc:243
msgid "Jump to Next Mark"
msgstr "SkoÄit na další znaÄku"
-#: editor_actions.cc:230
+#: editor_actions.cc:244 editor_actions.cc:245
msgid "Jump to Previous Mark"
msgstr "SkoÄit na pÅ™edchozí znaÄku"
-#: editor_actions.cc:231
+#: editor_actions.cc:247 editor_actions.cc:248
msgid "Add Mark from Playhead"
msgstr "Zřídit znaÄku na ukazateli polohy"
-#: editor_actions.cc:233
+#: editor_actions.cc:250 editor_actions.cc:251
+msgid "Remove Mark at Playhead"
+msgstr ""
+
+#: editor_actions.cc:253
msgid "Nudge Next Later"
msgstr "PostrÄit další o krok pozdÄ›ji"
-#: editor_actions.cc:234
+#: editor_actions.cc:254
msgid "Nudge Next Earlier"
msgstr "PostrÄit další o krok dříve"
-#: editor_actions.cc:236
+#: editor_actions.cc:256
msgid "Nudge Playhead Forward"
msgstr "Ukazatele polohy postrÄit o krok dopÅ™edu"
-#: editor_actions.cc:237
+#: editor_actions.cc:257
msgid "Nudge Playhead Backward"
msgstr "Ukazatele polohy postrÄit o krok zpÄ›t"
-#: editor_actions.cc:238
+#: editor_actions.cc:258
msgid "Playhead To Next Grid"
msgstr "Ukazatele polohy k další mřížce"
-#: editor_actions.cc:239
+#: editor_actions.cc:259
msgid "Playhead To Previous Grid"
msgstr "Ukazatele polohy k předchozí mřížce"
-#: editor_actions.cc:244
+#: editor_actions.cc:264
msgid "Zoom to Region"
msgstr "Najet na oblast"
-#: editor_actions.cc:245
+#: editor_actions.cc:265
msgid "Zoom to Region (Width and Height)"
msgstr "Najet na oblast (šířka a výška)"
-#: editor_actions.cc:246
+#: editor_actions.cc:267
+msgid "Zoom to Range (Width and Height)"
+msgstr ""
+
+#: editor_actions.cc:268
msgid "Toggle Zoom State"
msgstr "Přepnout na poslední přiblížení/oddálení"
-#: editor_actions.cc:248
+#: editor_actions.cc:270
msgid "Expand Track Height"
msgstr "Zvětšit výšku stopy"
-#: editor_actions.cc:249
+#: editor_actions.cc:271
msgid "Shrink Track Height"
msgstr "Zmenšit výšku stopy"
-#: editor_actions.cc:251
+#: editor_actions.cc:273
msgid "Move Selected Tracks Up"
msgstr "Vybrané stopy posunout nahoru"
-#: editor_actions.cc:253
+#: editor_actions.cc:275
msgid "Move Selected Tracks Down"
msgstr "Vybrané stopy posunout dolů"
-#: editor_actions.cc:256
+#: editor_actions.cc:278
msgid "Scroll Tracks Up"
msgstr "Projíždět stopami nahoru"
-#: editor_actions.cc:258
+#: editor_actions.cc:280
msgid "Scroll Tracks Down"
msgstr "Projíždět stopami dolů"
-#: editor_actions.cc:260
+#: editor_actions.cc:282
msgid "Step Tracks Up"
msgstr "Projíždět stopami pomalu nahoru"
-#: editor_actions.cc:262
+#: editor_actions.cc:284
msgid "Step Tracks Down"
msgstr "Projíždět stopami pomalu dolů"
-#: editor_actions.cc:265
+#: editor_actions.cc:287
msgid "Scroll Backward"
msgstr "Projíždět doprava (dozadu)"
-#: editor_actions.cc:266
+#: editor_actions.cc:288
msgid "Scroll Forward"
msgstr "Projíždět doleva (dopředu)"
-#: editor_actions.cc:267
+#: editor_actions.cc:289
msgid "Center Playhead"
msgstr "Vystředit ukazatele polohy"
-#: editor_actions.cc:268
+#: editor_actions.cc:290
msgid "Center Edit Point"
msgstr "Pracovní bod umístit do středu"
-#: editor_actions.cc:270
+#: editor_actions.cc:292
msgid "Playhead Forward"
msgstr "Ukazatele polohy dopředu"
-#: editor_actions.cc:271
+#: editor_actions.cc:293
msgid "Playhead Backward"
msgstr "Ukazatele polohy dozadu"
-#: editor_actions.cc:273
+#: editor_actions.cc:295
msgid "Playhead to Active Mark"
msgstr "Ukazatele polohy k Äinné znaÄce"
-#: editor_actions.cc:274
+#: editor_actions.cc:296
msgid "Active Mark to Playhead"
msgstr "Posunout Äinnou znaÄku k ukazateli polohy"
-#: editor_actions.cc:276
+#: editor_actions.cc:298
msgid "Set Loop from Edit Range"
msgstr "Zřídit smyÄku z rozsahu úprav"
-#: editor_actions.cc:277
+#: editor_actions.cc:299
msgid "Set Punch from Edit Range"
msgstr "Zřídit oblast přepsání z rozsahu úprav"
-#: editor_actions.cc:280
+#: editor_actions.cc:302
msgid "Play Selected Regions"
msgstr "Přehrát vybrané oblasti"
-#: editor_actions.cc:282
+#: editor_actions.cc:304
msgid "Play from Edit Point and Return"
msgstr "Přehrávat od pracovního bodu a znovu"
-#: editor_actions.cc:284
+#: editor_actions.cc:306
msgid "Play Edit Range"
msgstr "Přehrávat rozsah úprav"
-#: editor_actions.cc:286
+#: editor_actions.cc:308
msgid "Playhead to Mouse"
msgstr "Ukazatele polohy na polohu myši"
-#: editor_actions.cc:287
+#: editor_actions.cc:309
msgid "Active Marker to Mouse"
msgstr "ÄŒinnou znaÄku na polohu myÅ¡i"
-#: editor_actions.cc:294
+#: editor_actions.cc:319
msgid "Export Audio"
msgstr "Vyvést zvuk"
-#: editor_actions.cc:295 export_dialog.cc:406
+#: editor_actions.cc:320 export_dialog.cc:396
msgid "Export Range"
msgstr "Vyvést rozsah"
-#: editor_actions.cc:300
+#: editor_actions.cc:325
msgid "Separate Using Punch Range"
msgstr "Rozdělit na hranicích rozsahu přepsání"
-#: editor_actions.cc:303
+#: editor_actions.cc:328
msgid "Separate Using Loop Range"
msgstr "RozdÄ›lit na koncích smyÄek"
-#: editor_actions.cc:306 editor_actions.cc:323
+#: editor_actions.cc:331 editor_actions.cc:353
msgid "Crop"
msgstr "Oříznout"
-#: editor_actions.cc:315
+#: editor_actions.cc:341
+msgid "Fade Range Selection"
+msgstr ""
+
+#: editor_actions.cc:343
msgid "Set Tempo from Edit Range = Bar"
msgstr "Stanovit tempo z rozsah úprav = takt"
-#: editor_actions.cc:317
+#: editor_actions.cc:345
msgid "Log"
msgstr "Zápis"
-#: editor_actions.cc:320
+#: editor_actions.cc:348 editor_actions.cc:349
msgid "Move Later to Transient"
msgstr "Přesunout později k přechodu"
-#: editor_actions.cc:321
+#: editor_actions.cc:350 editor_actions.cc:351
msgid "Move Earlier to Transient"
msgstr "Přesunout dříve k přechodu"
-#: editor_actions.cc:325
+#: editor_actions.cc:355 editor_actions.cc:358
msgid "Start Range"
msgstr "ZaÄít rozsah"
-#: editor_actions.cc:326
+#: editor_actions.cc:356 editor_actions.cc:359
msgid "Finish Range"
msgstr "UkonÄit rozsah"
-#: editor_actions.cc:327
-msgid "Finish Add Range"
-msgstr "UkonÄit pÅ™idání rozsahu"
-
-#: editor_actions.cc:357
+#: editor_actions.cc:391
msgid "Follow Playhead"
msgstr "Následovat ukazatele polohy"
-#: editor_actions.cc:358
+#: editor_actions.cc:392
msgid "Remove Last Capture"
msgstr "Odstranit poslední nahrávku"
-#: editor_actions.cc:360
+#: editor_actions.cc:394
msgid "Stationary Playhead"
msgstr "Pevný ukazatel polohy"
-#: editor_actions.cc:362 insert_time_dialog.cc:32
+#: editor_actions.cc:396 insert_time_dialog.cc:32
msgid "Insert Time"
msgstr "Vložit ticho"
-#: editor_actions.cc:365
+#: editor_actions.cc:399
msgid "Toggle Active"
msgstr "Spustit/Zastavit stopu"
-#: editor_actions.cc:370 editor_actions.cc:1716 editor_markers.cc:876
-#: editor_markers.cc:941 editor_snapshots.cc:121 mixer_strip.cc:1495
-#: route_time_axis.cc:710
+#: editor_actions.cc:404 editor_actions.cc:1764 editor_markers.cc:890
+#: editor_markers.cc:955 editor_snapshots.cc:122 mixer_strip.cc:1506
+#: route_time_axis.cc:829
msgid "Remove"
msgstr "Odstranit"
-#: editor_actions.cc:374
+#: editor_actions.cc:408
msgid "Fit Selected Tracks"
msgstr "Přizpůsobit na vybrané stopy"
-#: editor_actions.cc:376 time_axis_view.cc:1302
+#: editor_actions.cc:411 time_axis_view.cc:1336
msgid "Largest"
msgstr "Největší"
-#: editor_actions.cc:379 time_axis_view.cc:1303
+#: editor_actions.cc:414 time_axis_view.cc:1337
msgid "Larger"
msgstr "Větší"
-#: editor_actions.cc:382 editor_rulers.cc:375 time_axis_view.cc:1304
+#: editor_actions.cc:417 editor_rulers.cc:249 time_axis_view.cc:1338
msgid "Large"
msgstr "Velká"
-#: editor_actions.cc:388 editor_rulers.cc:379 time_axis_view.cc:1306
+#: editor_actions.cc:423 editor_rulers.cc:253 time_axis_view.cc:1340
msgid "Small"
msgstr "Malá"
-#: editor_actions.cc:392
+#: editor_actions.cc:427
msgid "Sound Selected MIDI Notes"
msgstr "Zahrát vybrané noty MIDI"
-#: editor_actions.cc:397
+#: editor_actions.cc:432
msgid "Zoom Focus Left"
msgstr "Srovnat pohled na levý okraj"
-#: editor_actions.cc:398
+#: editor_actions.cc:433
msgid "Zoom Focus Right"
msgstr "Srovnat pohled na pravý okraj"
-#: editor_actions.cc:399
+#: editor_actions.cc:434
msgid "Zoom Focus Center"
msgstr "Srovnat pohled na střed"
-#: editor_actions.cc:400
+#: editor_actions.cc:435
msgid "Zoom Focus Playhead"
msgstr "Srovnat pohled na ukazatele polohy"
-#: editor_actions.cc:401
+#: editor_actions.cc:436
msgid "Zoom Focus Mouse"
msgstr "Srovnat pohled na myš"
-#: editor_actions.cc:402
+#: editor_actions.cc:437
msgid "Zoom Focus Edit Point"
msgstr "Srovnat pohled na bod úprav"
-#: editor_actions.cc:404
+#: editor_actions.cc:439
msgid "Next Zoom Focus"
msgstr "Další srovnání pohledu"
-#: editor_actions.cc:410
+#: editor_actions.cc:445
msgid "Smart Object Mode"
msgstr "Chytrý předmětový režim"
-#: editor_actions.cc:413
+#: editor_actions.cc:448
msgid "Smart"
msgstr "Chytrý"
-#: editor_actions.cc:417
+#: editor_actions.cc:451
msgid "Object Tool"
msgstr "Nástroj pro předměty"
-#: editor_actions.cc:423
+#: editor_actions.cc:456
msgid "Range Tool"
msgstr "Nástroj pro rozsahy"
-#: editor_actions.cc:429
+#: editor_actions.cc:461
msgid "Note Drawing Tool"
msgstr "Nástroj pro kreslení not"
-#: editor_actions.cc:435
+#: editor_actions.cc:466
msgid "Gain Tool"
msgstr "Nástroj pro sílu hlasitosti (zesílení signálu)"
-#: editor_actions.cc:441
+#: editor_actions.cc:472
msgid "Zoom Tool"
msgstr "Nástroj pro zvětšení"
-#: editor_actions.cc:447
+#: editor_actions.cc:478
msgid "Audition Tool"
msgstr "Nástroj pro poslech"
-#: editor_actions.cc:453
+#: editor_actions.cc:483
msgid "Time FX Tool"
msgstr "Nástroj pro Äasové úÄinky"
-#: editor_actions.cc:459
+#: editor_actions.cc:489
+msgid "Cut Tool"
+msgstr ""
+
+#: editor_actions.cc:495
msgid "Step Mouse Mode"
msgstr "VkroÄit v režim myÅ¡i"
-#: editor_actions.cc:461
+#: editor_actions.cc:497
msgid "Edit MIDI"
msgstr "Upravit MIDI"
-#: editor_actions.cc:472
+#: editor_actions.cc:507
msgid "Change Edit Point"
msgstr "Změnit pracovní bod"
-#: editor_actions.cc:473
+#: editor_actions.cc:508
msgid "Change Edit Point Including Marker"
msgstr "Stanovit pracovní bod (vÄetnÄ› znaÄky polohy)"
-#: editor_actions.cc:475
-msgid "Splice"
-msgstr "Slepit"
-
-#: editor_actions.cc:477
-msgid "Slide"
-msgstr "Vsunout"
-
-#: editor_actions.cc:478 editor_actions.cc:1737 editor_markers.cc:860
-#: editor_rulers.cc:386 location_ui.cc:56
-msgid "Lock"
-msgstr "Zamknout"
-
-#: editor_actions.cc:479
-msgid "Toggle Edit Mode"
-msgstr "Přepnout režim úprav"
+#: editor_actions.cc:514
+msgid "Cycle Edit Mode"
+msgstr ""
-#: editor_actions.cc:481
+#: editor_actions.cc:516
msgid "Snap to"
msgstr "Zapadnout"
-#: editor_actions.cc:482
+#: editor_actions.cc:517
msgid "Snap Mode"
msgstr "Režim zapadnutí"
-#: editor_actions.cc:489
+#: editor_actions.cc:524
msgid "Next Snap Mode"
msgstr "Režim dalšího zapadnutí"
-#: editor_actions.cc:490
+#: editor_actions.cc:525
msgid "Next Snap Choice"
msgstr "Výběr dalšího zapadnutí"
-#: editor_actions.cc:491
+#: editor_actions.cc:526
msgid "Next Musical Snap Choice"
msgstr "Výběr dalšího hudebního zapadnutí"
-#: editor_actions.cc:492
+#: editor_actions.cc:527
msgid "Previous Snap Choice"
msgstr "Výběr předchozího zapadnutí"
-#: editor_actions.cc:493
+#: editor_actions.cc:528
msgid "Previous Musical Snap Choice"
msgstr "Výběr předchozího hudebního zapadnutí"
-#: editor_actions.cc:498
+#: editor_actions.cc:533
msgid "Snap to CD Frame"
msgstr "Zapadnout do snímku CD"
-#: editor_actions.cc:499
+#: editor_actions.cc:534
msgid "Snap to Timecode Frame"
msgstr "Zapadnout do snímku Äasového kódu"
-#: editor_actions.cc:500
+#: editor_actions.cc:535
msgid "Snap to Timecode Seconds"
msgstr "Zapadnout do sekund Äasového kódu"
-#: editor_actions.cc:501
+#: editor_actions.cc:536
msgid "Snap to Timecode Minutes"
msgstr "Zapadnout do minut Äasového kódu"
-#: editor_actions.cc:502
+#: editor_actions.cc:537
msgid "Snap to Seconds"
msgstr "Zapadnout do sekund"
-#: editor_actions.cc:503
+#: editor_actions.cc:538
msgid "Snap to Minutes"
msgstr "Zapadnout do minut"
-#: editor_actions.cc:505
+#: editor_actions.cc:540
msgid "Snap to One Twenty Eighths"
msgstr "Zapadnout do stoosmadvacetin"
-#: editor_actions.cc:506
+#: editor_actions.cc:541
msgid "Snap to Sixty Fourths"
msgstr "Zapadnout do ÄtyÅ™iaÅ¡edesátin"
-#: editor_actions.cc:507
+#: editor_actions.cc:542
msgid "Snap to Thirty Seconds"
msgstr "Zapadnout do třiceti sekund"
-#: editor_actions.cc:508
+#: editor_actions.cc:543
msgid "Snap to Twenty Eighths"
msgstr "Zapadnout do osmadvacetin"
-#: editor_actions.cc:509
+#: editor_actions.cc:544
msgid "Snap to Twenty Fourths"
msgstr "Zapadnout do ÄtyÅ™iadvacetin"
-#: editor_actions.cc:510
+#: editor_actions.cc:545
msgid "Snap to Twentieths"
msgstr "Zapadnout do dvacetin"
-#: editor_actions.cc:511
+#: editor_actions.cc:546
msgid "Snap to Sixteenths"
msgstr "Zapadnout do šestnáctin"
-#: editor_actions.cc:512
+#: editor_actions.cc:547
msgid "Snap to Fourteenths"
msgstr "Zapadnout do Ätrnáctin"
-#: editor_actions.cc:513
+#: editor_actions.cc:548
msgid "Snap to Twelfths"
msgstr "Zapadnout do dvanáctin"
-#: editor_actions.cc:514
+#: editor_actions.cc:549
msgid "Snap to Tenths"
msgstr "Zapadnout do desetin"
-#: editor_actions.cc:515
+#: editor_actions.cc:550
msgid "Snap to Eighths"
msgstr "Zapadnout do osmin"
-#: editor_actions.cc:516
+#: editor_actions.cc:551
msgid "Snap to Sevenths"
msgstr "Zapadnout do sedmin"
-#: editor_actions.cc:517
+#: editor_actions.cc:552
msgid "Snap to Sixths"
msgstr "Zapadnout do Å¡estin"
-#: editor_actions.cc:518
+#: editor_actions.cc:553
msgid "Snap to Fifths"
msgstr "Zapadnout do pětin"
-#: editor_actions.cc:519
+#: editor_actions.cc:554
msgid "Snap to Quarters"
msgstr "Zapadnout do Ätvrtin"
-#: editor_actions.cc:520
+#: editor_actions.cc:555
msgid "Snap to Thirds"
msgstr "Zapadnout do třetin"
-#: editor_actions.cc:521
+#: editor_actions.cc:556
msgid "Snap to Halves"
msgstr "Zapadnout do polovin"
-#: editor_actions.cc:523
+#: editor_actions.cc:558
msgid "Snap to Beat"
msgstr "Zapadnout do doby"
-#: editor_actions.cc:524
+#: editor_actions.cc:559
msgid "Snap to Bar"
msgstr "Zapadnout do taktu"
-#: editor_actions.cc:525
+#: editor_actions.cc:560
msgid "Snap to Mark"
msgstr "Zapadnout do znaÄky"
-#: editor_actions.cc:526
+#: editor_actions.cc:561
msgid "Snap to Region Start"
msgstr "Zapadnout do zaÄátku oblasti"
-#: editor_actions.cc:527
+#: editor_actions.cc:562
msgid "Snap to Region End"
msgstr "Zapadnout do konce oblasti"
-#: editor_actions.cc:528
+#: editor_actions.cc:563
msgid "Snap to Region Sync"
msgstr "Zapadnout do bodu zapadnutí oblasti"
-#: editor_actions.cc:529
+#: editor_actions.cc:564
msgid "Snap to Region Boundary"
msgstr "Zapadnout do hranice oblasti"
-#: editor_actions.cc:531
+#: editor_actions.cc:566
msgid "Show Marker Lines"
msgstr "Ukázat Äáry znaÄek"
-#: editor_actions.cc:541
+#: editor_actions.cc:576
msgid "Loop/Punch"
msgstr "Oblasti smyÄky/pÅ™epsání"
-#: editor_actions.cc:545
+#: editor_actions.cc:580
msgid "Min:Sec"
msgstr "Min:Sek"
-#: editor_actions.cc:547 editor_actions.cc:550
+#: editor_actions.cc:582 editor_actions.cc:585
msgid "Video Monitor"
msgstr "Sledování videa"
-#: editor_actions.cc:549 rc_option_editor.cc:1829
+#: editor_actions.cc:584 rc_option_editor.cc:2134
msgid "Video"
msgstr "Video"
-#: editor_actions.cc:552
+#: editor_actions.cc:587
msgid "Always on Top"
msgstr "Vždy nahoře"
-#: editor_actions.cc:554
+#: editor_actions.cc:589
msgid "Frame number"
msgstr ""
-#: editor_actions.cc:555
+#: editor_actions.cc:590
msgid "Timecode Background"
msgstr "Pozadí Äasového kódu"
-#: editor_actions.cc:556
+#: editor_actions.cc:591
msgid "Fullscreen"
msgstr "Celá obrazovka"
-#: editor_actions.cc:557
+#: editor_actions.cc:592
msgid "Letterbox"
msgstr "Širokoúhlý formát"
-#: editor_actions.cc:558
+#: editor_actions.cc:593
msgid "Original Size"
msgstr "Původní velikost"
-#: editor_actions.cc:608
+#: editor_actions.cc:650
msgid "Sort"
msgstr "Třídit"
-#: editor_actions.cc:610 region_editor.cc:51
-msgid "Audition"
-msgstr "Poslech"
-
-#: editor_actions.cc:619 editor_routes.cc:470 mixer_ui.cc:1161
+#: editor_actions.cc:661 editor_routes.cc:473 mixer_ui.cc:1181
msgid "Show All"
msgstr "Ukázat vše"
-#: editor_actions.cc:620
+#: editor_actions.cc:662
msgid "Show Automatic Regions"
msgstr "Ukázat automatické oblasti"
-#: editor_actions.cc:622
+#: editor_actions.cc:664
msgid "Ascending"
msgstr "Vzestupný"
-#: editor_actions.cc:624
+#: editor_actions.cc:666
msgid "Descending"
msgstr "Sestupný"
-#: editor_actions.cc:627
+#: editor_actions.cc:669
msgid "By Region Name"
msgstr "Podle názvu oblasti"
-#: editor_actions.cc:629
+#: editor_actions.cc:671
msgid "By Region Length"
msgstr "Podle délky oblasti"
-#: editor_actions.cc:631
+#: editor_actions.cc:673
msgid "By Region Position"
msgstr "Podle polohy oblasti"
-#: editor_actions.cc:633
+#: editor_actions.cc:675
msgid "By Region Timestamp"
msgstr "Podle Äasové razítka oblasti"
-#: editor_actions.cc:635
+#: editor_actions.cc:677
msgid "By Region Start in File"
msgstr "Podle zaÄátku oblasti v souboru"
-#: editor_actions.cc:637
+#: editor_actions.cc:679
msgid "By Region End in File"
msgstr "Podle konce oblasti v souboru"
-#: editor_actions.cc:639
+#: editor_actions.cc:681
msgid "By Source File Name"
msgstr "Podle názvu zdrojového souboru"
-#: editor_actions.cc:641
+#: editor_actions.cc:683
msgid "By Source File Length"
msgstr "Podle délky zdrojového souboru"
-#: editor_actions.cc:643
+#: editor_actions.cc:685
msgid "By Source File Creation Date"
msgstr "Podle data vytvoření zdrojového souboru"
-#: editor_actions.cc:645
+#: editor_actions.cc:687
msgid "By Source Filesystem"
msgstr "Podle souborového systému zdroje"
-#: editor_actions.cc:648
+#: editor_actions.cc:690
msgid "Remove Unused"
msgstr "Odstranit nepoužívané"
-#: editor_actions.cc:652 editor_audio_import.cc:279
+#: editor_actions.cc:694 editor_audio_import.cc:277
#: session_import_dialog.cc:74 session_import_dialog.cc:94
-#: session_metadata_dialog.cc:297 editor_videotimeline.cc:108
+#: session_metadata_dialog.cc:297 editor_videotimeline.cc:92
msgid "Import"
msgstr "Zavést"
-#: editor_actions.cc:655
+#: editor_actions.cc:697
msgid "Import to Region List..."
msgstr "Zavést do seznamu oblastí..."
-#: editor_actions.cc:658 session_import_dialog.cc:43
+#: editor_actions.cc:700 session_import_dialog.cc:43
msgid "Import From Session"
msgstr "Zavést ze sezení"
-#: editor_actions.cc:661
+#: editor_actions.cc:704
+msgid "Bring all media into session folder"
+msgstr ""
+
+#: editor_actions.cc:707
msgid "Show Summary"
msgstr "Ukázat shrnutí"
-#: editor_actions.cc:663
+#: editor_actions.cc:709
msgid "Show Group Tabs"
msgstr "Ukázat karty se skupinami"
-#: editor_actions.cc:665
+#: editor_actions.cc:711
msgid "Show Measures"
msgstr "Ukázat mřížku s takty"
-#: editor_actions.cc:669
+#: editor_actions.cc:715
msgid "Show Logo"
msgstr "Ukázat logo"
-#: editor_actions.cc:673
+#: editor_actions.cc:719
msgid "Toggle MIDI Input Active for Editor-Selected Tracks/Busses"
msgstr "Přepnout vstup MIDI pro v editoru vybrané stopy/sběrnice"
-#: editor_actions.cc:696
+#: editor_actions.cc:742
msgid "Loaded editor bindings from %1"
msgstr "Nahrané vazby editoru z %1"
-#: editor_actions.cc:698
+#: editor_actions.cc:744
msgid "Could not find editor.bindings in search path %1"
msgstr "V prohledávané cestě %1 se editor.bindings nalézt nepodařilo"
-#: editor_actions.cc:1028 editor_actions.cc:1424 editor_actions.cc:1435
-#: editor_actions.cc:1488 editor_actions.cc:1499 editor_actions.cc:1546
-#: editor_actions.cc:1556 editor_regions.cc:1561
+#: editor_actions.cc:1074 editor_actions.cc:1470 editor_actions.cc:1481
+#: editor_actions.cc:1534 editor_actions.cc:1545 editor_actions.cc:1592
+#: editor_actions.cc:1602 editor_regions.cc:1562
msgid "programming error: %1: %2"
msgstr "Chyba v programování: %1: %2"
-#: editor_actions.cc:1722
+#: editor_actions.cc:1770
msgid "Raise"
msgstr "Pozvednout"
-#: editor_actions.cc:1725
+#: editor_actions.cc:1773
msgid "Raise to Top"
msgstr "Pozvednout zcela nahoru"
-#: editor_actions.cc:1728 gtk-custom-ruler.c:132
+#: editor_actions.cc:1776
msgid "Lower"
msgstr "Dát dolů"
-#: editor_actions.cc:1731
+#: editor_actions.cc:1779
msgid "Lower to Bottom"
msgstr "Dát zcela dolů"
-#: editor_actions.cc:1734
+#: editor_actions.cc:1782
msgid "Move to Original Position"
msgstr "Posunout na původní polohu"
-#: editor_actions.cc:1739
+#: editor_actions.cc:1787
msgid "Lock to Video"
msgstr "Uzamknout k videu"
-#: editor_actions.cc:1744 editor_markers.cc:867
+#: editor_actions.cc:1792 editor_markers.cc:881
msgid "Glue to Bars and Beats"
msgstr "Přilepit k taktům a dobám"
-#: editor_actions.cc:1749
+#: editor_actions.cc:1797
msgid "Remove Sync"
msgstr "Odstranit bod zapadnutí"
-#: editor_actions.cc:1752 mixer_strip.cc:1904 route_time_axis.cc:209
-msgid "Mute"
-msgstr "Ztlumit"
-
-#: editor_actions.cc:1755
+#: editor_actions.cc:1803
msgid "Normalize..."
msgstr "Normalizovat..."
-#: editor_actions.cc:1758
+#: editor_actions.cc:1806
msgid "Reverse"
msgstr "Obrátit"
-#: editor_actions.cc:1761
+#: editor_actions.cc:1809
msgid "Make Mono Regions"
msgstr "Přeměnit na monofonní oblasti"
-#: editor_actions.cc:1764
+#: editor_actions.cc:1812
msgid "Boost Gain"
msgstr "Zvýšit sílu hlasitosti"
-#: editor_actions.cc:1767
+#: editor_actions.cc:1815
msgid "Cut Gain"
msgstr "Snížit sílu hlasitosti"
-#: editor_actions.cc:1770
+#: editor_actions.cc:1818
msgid "Pitch Shift..."
msgstr "Posun výšky tónu..."
-#: editor_actions.cc:1773
+#: editor_actions.cc:1821
msgid "Transpose..."
msgstr "Převést..."
-#: editor_actions.cc:1776
+#: editor_actions.cc:1824
msgid "Opaque"
msgstr "Neprůhledný"
-#: editor_actions.cc:1780 editor_regions.cc:116
+#: editor_actions.cc:1828 editor_regions.cc:117
msgid "Fade In"
msgstr "Postupné zesílení signálu"
-#: editor_actions.cc:1785 editor_regions.cc:117
+#: editor_actions.cc:1833 editor_regions.cc:118
msgid "Fade Out"
msgstr "Postupné zeslabení signálu"
-#: editor_actions.cc:1800
+#: editor_actions.cc:1848
msgid "Multi-Duplicate..."
msgstr "Vícekrát zdvojit..."
-#: editor_actions.cc:1805
+#: editor_actions.cc:1853
msgid "Fill Track"
msgstr "Doplnit stopu"
-#: editor_actions.cc:1809 editor_markers.cc:955
+#: editor_actions.cc:1857 editor_markers.cc:969
msgid "Set Loop Range"
msgstr "Zřídit oblast smyÄky"
-#: editor_actions.cc:1816
+#: editor_actions.cc:1864
msgid "Set Punch"
msgstr "Zřídit oblast přepsání"
-#: editor_actions.cc:1820
+#: editor_actions.cc:1868
msgid "Add Single Range Marker"
msgstr "PÅ™idat znaÄku jednoho rozsahu"
-#: editor_actions.cc:1825
+#: editor_actions.cc:1873
msgid "Add Range Marker Per Region"
msgstr "Vložit znaÄku rozsahu na oblast"
-#: editor_actions.cc:1829
+#: editor_actions.cc:1877
msgid "Snap Position To Grid"
msgstr "Zapadnout polohu do mřížky"
-#: editor_actions.cc:1832
+#: editor_actions.cc:1880
msgid "Close Gaps"
msgstr "Zavřít mezery"
-#: editor_actions.cc:1835
+#: editor_actions.cc:1883
msgid "Rhythm Ferret..."
msgstr "Rytmická páska..."
-#: editor_actions.cc:1838
+#: editor_actions.cc:1886
msgid "Export..."
msgstr "Vyvést..."
-#: editor_actions.cc:1844
+#: editor_actions.cc:1892
msgid "Separate Under"
msgstr "Rozdělit pod"
-#: editor_actions.cc:1848
+#: editor_actions.cc:1896 editor_actions.cc:1897
msgid "Set Fade In Length"
msgstr "Změnit délku postupného zesílení signálu"
-#: editor_actions.cc:1849
+#: editor_actions.cc:1898 editor_actions.cc:1899
msgid "Set Fade Out Length"
msgstr "Změnit délku postupného zeslabení signálu"
-#: editor_actions.cc:1850
+#: editor_actions.cc:1901
msgid "Set Tempo from Region = Bar"
msgstr "Stanovit tempo z \"oblast = takt\""
-#: editor_actions.cc:1855
+#: editor_actions.cc:1906
msgid "Split at Percussion Onsets"
msgstr "RozdÄ›lit oblasti na zaÄátcích úderů bicích"
-#: editor_actions.cc:1860
+#: editor_actions.cc:1911
msgid "List Editor..."
msgstr "Editor seznamu..."
-#: editor_actions.cc:1863
+#: editor_actions.cc:1914
msgid "Properties..."
msgstr "Vlastnosti..."
-#: editor_actions.cc:1867
+#: editor_actions.cc:1918
msgid "Bounce (with processing)"
msgstr "Vrazit (se zpracováním)"
-#: editor_actions.cc:1868
+#: editor_actions.cc:1919
msgid "Bounce (without processing)"
msgstr "Vrazit (bez zpracování)"
-#: editor_actions.cc:1869
+#: editor_actions.cc:1920
msgid "Combine"
msgstr "Spojit"
-#: editor_actions.cc:1870
+#: editor_actions.cc:1921
msgid "Uncombine"
msgstr "Zrušit spojení"
-#: editor_actions.cc:1872
+#: editor_actions.cc:1923
msgid "Spectral Analysis..."
msgstr "Spektrální analýza..."
-#: editor_actions.cc:1874
+#: editor_actions.cc:1925
msgid "Reset Envelope"
msgstr "Nastavit křivku síly zvuku znovu"
-#: editor_actions.cc:1876
+#: editor_actions.cc:1927
msgid "Reset Gain"
msgstr "Nastavit sílu hlasitosti znovu"
-#: editor_actions.cc:1881
+#: editor_actions.cc:1932
msgid "Envelope Active"
msgstr "Činná křivka síly zvuku"
-#: editor_actions.cc:1885
+#: editor_actions.cc:1936
msgid "Quantize..."
msgstr "Kvantovat..."
-#: editor_actions.cc:1886 editor_actions.cc:1887
+#: editor_actions.cc:1937 editor_actions.cc:1938
msgid "Insert Patch Change..."
msgstr "Vložit změnu zapojení..."
-#: editor_actions.cc:1888
+#: editor_actions.cc:1939
msgid "Unlink from other copies"
msgstr "Odpojit od jiných kopií"
-#: editor_actions.cc:1889
+#: editor_actions.cc:1940
msgid "Strip Silence..."
msgstr "Obnažit ticho..."
-#: editor_actions.cc:1890
+#: editor_actions.cc:1941
msgid "Set Range Selection"
msgstr "Vybrat rozsah oblasti"
-#: editor_actions.cc:1892
+#: editor_actions.cc:1943 editor_actions.cc:1944
msgid "Nudge Later"
msgstr "PostrÄit o krok pozdÄ›ji"
-#: editor_actions.cc:1893
+#: editor_actions.cc:1945 editor_actions.cc:1946
msgid "Nudge Earlier"
msgstr "PostrÄit o krok dříve"
-#: editor_actions.cc:1898
+#: editor_actions.cc:1948
+msgid "Sequence Regions"
+msgstr ""
+
+#: editor_actions.cc:1953
msgid "Nudge Later by Capture Offset"
msgstr "PostrÄit o krok pozdÄ›ji podle odsazení nahrávání"
-#: editor_actions.cc:1905
+#: editor_actions.cc:1960
msgid "Nudge Earlier by Capture Offset"
msgstr "PostrÄit o krok dříve podle odsazení nahrávání"
-#: editor_actions.cc:1909
+#: editor_actions.cc:1964
msgid "Trim to Loop"
msgstr "Zkrátit na oblast smyÄky"
-#: editor_actions.cc:1910
+#: editor_actions.cc:1965
msgid "Trim to Punch"
msgstr "Zkrátit na oblast přepsání"
-#: editor_actions.cc:1912
+#: editor_actions.cc:1967
msgid "Trim to Previous"
msgstr "Zkrátit na předchozí"
-#: editor_actions.cc:1913
+#: editor_actions.cc:1968
msgid "Trim to Next"
msgstr "Zkrátit na další"
-#: editor_actions.cc:1920
+#: editor_actions.cc:1975
msgid "Insert Region From Region List"
msgstr "Vložit oblast ze seznamu oblastí"
-#: editor_actions.cc:1926
+#: editor_actions.cc:1981
msgid "Set Sync Position"
msgstr "Nastavit polohu bodu zapadnutí oblasti"
-#: editor_actions.cc:1927
+#: editor_actions.cc:1982
msgid "Place Transient"
msgstr "Umístit přechod"
-#: editor_actions.cc:1928
+#: editor_actions.cc:1983
msgid "Split"
msgstr "Rozdělit"
-#: editor_actions.cc:1929
+#: editor_actions.cc:1984
msgid "Trim Start at Edit Point"
msgstr "ZastÅ™ihnout zaÄátek oblasti na pracovním bodu"
-#: editor_actions.cc:1930
+#: editor_actions.cc:1985
msgid "Trim End at Edit Point"
msgstr "Zastřihnout konec oblasti na pracovním bodu"
-#: editor_actions.cc:1935
+#: editor_actions.cc:1990
msgid "Align Start"
msgstr "Zarovnat zaÄátek"
-#: editor_actions.cc:1942
+#: editor_actions.cc:1997
msgid "Align Start Relative"
msgstr "Zarovnat zaÄátek pomÄ›rnÄ›"
-#: editor_actions.cc:1946
+#: editor_actions.cc:2001
msgid "Align End"
msgstr "Zarovnat konec"
-#: editor_actions.cc:1951
+#: editor_actions.cc:2006
msgid "Align End Relative"
msgstr "Zarovnat konec poměrně"
-#: editor_actions.cc:1958
+#: editor_actions.cc:2013
msgid "Align Sync"
msgstr "Zarovnat bod zapadnutí"
-#: editor_actions.cc:1965
+#: editor_actions.cc:2020
msgid "Align Sync Relative"
msgstr "Zarovnat bod zapadnutí poměrně"
-#: editor_actions.cc:1969 editor_actions.cc:1972
+#: editor_actions.cc:2024 editor_actions.cc:2027
msgid "Choose Top..."
msgstr "Vybrat vrchní..."
-#: editor_audio_import.cc:77 editor_audio_import.cc:99
+#: editor_audio_import.cc:76 editor_audio_import.cc:98
msgid "You can't import or embed an audiofile until you have a session loaded."
msgstr ""
"Nemůžete zavést nebo vložit žádný zvukový soubor, dokud není nahráno sezení."
-#: editor_audio_import.cc:83 editor_audio_import.cc:127
+#: editor_audio_import.cc:82 editor_audio_import.cc:126
msgid "Add Existing Media"
msgstr "Přidat stávající zvukové soubory"
-#: editor_audio_import.cc:177
+#: editor_audio_import.cc:175
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%1 as a new file, or skip it?"
@@ -4381,7 +4479,7 @@ msgstr ""
"Projekt již obsahuje zdrojový soubor nazvaný %1. Chcete zavést %1 jako nový "
"soubor nebo jej pÅ™eskoÄit?"
-#: editor_audio_import.cc:179
+#: editor_audio_import.cc:177
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%2 as a new source, or skip it?"
@@ -4389,32 +4487,32 @@ msgstr ""
"Projekt již obsahuje zdrojový soubor nazvaný %1. Chcete zavést %2 jako nový "
"soubor nebo jej pÅ™eskoÄit?"
-#: editor_audio_import.cc:279 editor_videotimeline.cc:108
+#: editor_audio_import.cc:277 editor_videotimeline.cc:92
msgid "Cancel Import"
msgstr "Zrušit zavedení"
-#: editor_audio_import.cc:543
+#: editor_audio_import.cc:541
msgid "Editor: cannot open file \"%1\", (%2)"
msgstr "Editor: soubor \"%1\" nelze otevřít (%2)"
-#: editor_audio_import.cc:551
+#: editor_audio_import.cc:549
msgid "Cancel entire import"
msgstr "Zrušit celé zavedení"
-#: editor_audio_import.cc:552
+#: editor_audio_import.cc:550
msgid "Don't embed it"
msgstr "Toto nevložit"
-#: editor_audio_import.cc:553
+#: editor_audio_import.cc:551
msgid "Embed all without questions"
msgstr "Vložit vše bez ptaní"
-#: editor_audio_import.cc:556 editor_audio_import.cc:585
-#: export_format_dialog.cc:58
+#: editor_audio_import.cc:554 editor_audio_import.cc:583
+#: export_format_dialog.cc:60
msgid "Sample rate"
msgstr "Vzorkovací kmitoÄet"
-#: editor_audio_import.cc:557 editor_audio_import.cc:586
+#: editor_audio_import.cc:555 editor_audio_import.cc:584
msgid ""
"%1\n"
"This audiofile's sample rate doesn't match the session sample rate!"
@@ -4423,307 +4521,302 @@ msgstr ""
"Vzorkovací kmitoÄet tohoto souboru se neshoduje se vzorkovacím kmitoÄtem "
"sezení!"
-#: editor_audio_import.cc:582
+#: editor_audio_import.cc:580
msgid "Embed it anyway"
msgstr "Přesto vložit"
-#: editor_drag.cc:1000
+#: editor_drag.cc:994
+msgid "Could not create new track after region placed in the drop zone"
+msgstr ""
+
+#: editor_drag.cc:1100
msgid "fixed time region drag"
msgstr "Oblast souÄasnÄ› pÅ™esunout"
-#: editor_drag.cc:1700
+#: editor_drag.cc:1797
+msgid "Ripple drag"
+msgstr ""
+
+#: editor_drag.cc:2093
msgid "Video Start:"
msgstr "ZaÄátek videa:"
-#: editor_drag.cc:1702
+#: editor_drag.cc:2095
msgid "Diff:"
msgstr "Rozdíly:"
-#: editor_drag.cc:1722
+#: editor_drag.cc:2114
msgid "Move Video"
msgstr "Posunout video"
-#: editor_drag.cc:2200
+#: editor_drag.cc:2621
msgid "copy meter mark"
msgstr "Kopírovat znaÄku druhu taktu"
-#: editor_drag.cc:2208
+#: editor_drag.cc:2629
msgid "move meter mark"
msgstr "Pohnout znaÄkou druhu taktu"
-#: editor_drag.cc:2320
+#: editor_drag.cc:2752
msgid "copy tempo mark"
msgstr "Kopírovat znaÄku tempa"
-#: editor_drag.cc:2328
+#: editor_drag.cc:2760
msgid "move tempo mark"
msgstr "Posunout znaÄku tempa"
-#: editor_drag.cc:2550
+#: editor_drag.cc:2989
msgid "change fade in length"
msgstr "Změnit délku postupného zesílení signálu"
-#: editor_drag.cc:2668
+#: editor_drag.cc:3107
msgid "change fade out length"
msgstr "Změnit délku postupného slábnutí signálu"
-#: editor_drag.cc:3023
+#: editor_drag.cc:3463
msgid "move marker"
msgstr "Pohnout znaÄkou"
-#: editor_drag.cc:3586
+#: editor_drag.cc:4046
msgid "An error occurred while executing time stretch operation"
msgstr "PÅ™i provádÄ›ní operace protáhnutí Äasu se vyskytla chyba"
-#: editor_drag.cc:4016
+#: editor_drag.cc:4493
msgid "programming_error: %1"
msgstr "Chyba v programování: %1"
-#: editor_drag.cc:4086 editor_markers.cc:680
+#: editor_drag.cc:4559 editor_markers.cc:694
msgid "new range marker"
msgstr "Nová znaÄka rozsahu"
-#: editor_drag.cc:4767
+#: editor_drag.cc:5259
msgid "rubberband selection"
msgstr "Pružný výběr oblasti"
-#: editor_route_groups.cc:66
-msgid "No Selection = All Tracks?"
-msgstr "Žádný výběr = všechny stopy?"
-
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Col"
msgstr "Barva"
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Group Tab Color"
msgstr "Barva karty skupiny"
-#: editor_route_groups.cc:96
+#: editor_route_groups.cc:97
msgid "Name of Group"
msgstr "Název skupiny"
-#: editor_route_groups.cc:97 editor_routes.cc:203
+#: editor_route_groups.cc:98 editor_routes.cc:205
msgid "V"
msgstr "V"
-#: editor_route_groups.cc:97
+#: editor_route_groups.cc:98
msgid "Group is visible?"
msgstr "Skupina je viditelná?"
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "On"
msgstr "Zapnuto"
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "Group is enabled?"
msgstr "Skupina je povolená?"
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "group|G"
msgstr "Skupina|Sk"
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "Sharing Gain?"
msgstr "Sdílení zesílení?"
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "relative|Rel"
msgstr "Poměrně|Pom"
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "Relative Gain Changes?"
msgstr "Změny poměrného zesílení?"
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "mute|M"
msgstr "Ztlumit|Z"
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "Sharing Mute?"
msgstr "Sdílení ztlumení?"
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "solo|S"
msgstr "Sólo|S"
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "Sharing Solo?"
msgstr "Sdílení sóla?"
-#: editor_route_groups.cc:103 midi_time_axis.cc:1504 midi_time_axis.cc:1507
-#: midi_time_axis.cc:1510 mixer_strip.cc:1903
+#: editor_route_groups.cc:104 midi_time_axis.cc:1703 midi_time_axis.cc:1706
+#: midi_time_axis.cc:1709
msgid "Rec"
msgstr "Nahr"
-#: editor_route_groups.cc:103
+#: editor_route_groups.cc:104
msgid "Sharing Record-enable Status?"
msgstr "Sdílení stavu povolení nahrávání?"
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "monitoring|Mon"
msgstr "Sledování|Sl"
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "Sharing Monitoring Choice?"
msgstr "Sdílení volby pro sledování?"
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "selection|Sel"
msgstr "Výběr|V"
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "Sharing Selected/Editing Status?"
msgstr "Sdílení stavu vybráno/úpravy?"
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "active|A"
msgstr "Činný|Č"
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "Sharing Active Status?"
msgstr "Sdílení Äinného stavu?"
-#: editor_route_groups.cc:197
-msgid "Activate this button to operate on all tracks when none are selected."
-msgstr ""
-"Zapnout toto tlaÄítko pro práci na vÅ¡ech stopách, když žádná není vybrána."
-
-#: editor_route_groups.cc:442 mixer_ui.cc:1449
+#: editor_route_groups.cc:438 mixer_ui.cc:1469
msgid "unnamed"
msgstr "Bez názvu"
-#: editor_export_audio.cc:90 editor_markers.cc:695 editor_markers.cc:782
-#: editor_markers.cc:967 editor_markers.cc:985 editor_markers.cc:1003
-#: editor_markers.cc:1022 editor_markers.cc:1041 editor_markers.cc:1071
-#: editor_markers.cc:1102 editor_markers.cc:1132 editor_markers.cc:1160
-#: editor_markers.cc:1191 editor_markers.cc:1216 editor_markers.cc:1267
-#: editor_markers.cc:1311 editor_markers.cc:1337 editor_markers.cc:1526
-#: editor_mouse.cc:2528
+#: editor_export_audio.cc:92 editor_markers.cc:709 editor_markers.cc:796
+#: editor_markers.cc:981 editor_markers.cc:999 editor_markers.cc:1017
+#: editor_markers.cc:1036 editor_markers.cc:1055 editor_markers.cc:1085
+#: editor_markers.cc:1116 editor_markers.cc:1146 editor_markers.cc:1174
+#: editor_markers.cc:1205 editor_markers.cc:1230 editor_markers.cc:1281
+#: editor_markers.cc:1325 editor_markers.cc:1351 editor_markers.cc:1545
+#: editor_mouse.cc:2290
msgid "programming error: marker canvas item has no marker object pointer!"
msgstr ""
"Chyba v programování: položka plátna znaÄka nemá žádný ukazatel objektu "
"znaÄky!"
-#: editor_export_audio.cc:143 editor_export_audio.cc:148
+#: editor_export_audio.cc:145 editor_export_audio.cc:150
msgid "File Exists!"
msgstr "Soubor existuje!"
-#: editor_export_audio.cc:151
+#: editor_export_audio.cc:153
msgid "Overwrite Existing File"
msgstr "Přepsat existující soubor"
-#: editor_group_tabs.cc:162
+#: editor_group_tabs.cc:176
msgid "Fit to Window"
msgstr "Umístit do okna"
-#: editor_markers.cc:129
+#: editor_markers.cc:139
msgid "start"
msgstr "ZaÄátek"
-#: editor_markers.cc:130
+#: editor_markers.cc:140
msgid "end"
msgstr "Konec"
-#: editor_markers.cc:646 editor_ops.cc:1744 editor_ops.cc:1764
-#: editor_ops.cc:1788 editor_ops.cc:1815 location_ui.cc:1017
+#: editor_markers.cc:660 editor_ops.cc:1915 editor_ops.cc:1935
+#: editor_ops.cc:1988 editor_ops.cc:2015 location_ui.cc:1019
msgid "add marker"
msgstr "PÅ™idat znaÄku"
-#: editor_markers.cc:677
+#: editor_markers.cc:691
msgid "range"
msgstr "Rozsah"
-#: editor_markers.cc:713 location_ui.cc:852
+#: editor_markers.cc:727 editor_ops.cc:1955 location_ui.cc:854
msgid "remove marker"
msgstr "Odstranit znaÄky"
-#: editor_markers.cc:849
+#: editor_markers.cc:863
msgid "Locate to Here"
msgstr "Ukazatele polohy postavit sem"
-#: editor_markers.cc:850
+#: editor_markers.cc:864
msgid "Play from Here"
msgstr "Přehrávat od tohoto bodu"
-#: editor_markers.cc:851
+#: editor_markers.cc:865
msgid "Move Mark to Playhead"
msgstr "Posunout znaÄku k ukazateli polohy"
-#: editor_markers.cc:855
+#: editor_markers.cc:869
msgid "Create Range to Next Marker"
msgstr "VytvoÅ™it rozsah až k další znaÄce"
-#: editor_markers.cc:896
+#: editor_markers.cc:910
msgid "Locate to Marker"
msgstr "Umístit ke znaÄce"
-#: editor_markers.cc:897
+#: editor_markers.cc:911
msgid "Play from Marker"
msgstr "PÅ™ehrávat od znaÄky"
-#: editor_markers.cc:900
+#: editor_markers.cc:914
msgid "Set Marker from Playhead"
msgstr "Nastavit znaÄku od ukazatele polohy"
-#: editor_markers.cc:902
+#: editor_markers.cc:916
msgid "Set Range from Selection"
msgstr "Nastavit rozsah z výběru"
-#: editor_markers.cc:905
-msgid "Zoom to Range"
-msgstr "Najet na rozsah"
-
-#: editor_markers.cc:912
+#: editor_markers.cc:926
msgid "Hide Range"
msgstr "Skrýt rozsah"
-#: editor_markers.cc:913
+#: editor_markers.cc:927
msgid "Rename Range..."
msgstr "Přejmenovat rozsah..."
-#: editor_markers.cc:917
+#: editor_markers.cc:931
msgid "Remove Range"
msgstr "Odstranit rozsah"
-#: editor_markers.cc:924
+#: editor_markers.cc:938
msgid "Separate Regions in Range"
msgstr "Rozdělit oblasti na hranicích rozsahů"
-#: editor_markers.cc:927
+#: editor_markers.cc:941
msgid "Select Range"
msgstr "Vybrat rozsah"
-#: editor_markers.cc:956
+#: editor_markers.cc:970
msgid "Set Punch Range"
msgstr "Nastavit rozsah přepsání"
-#: editor_markers.cc:1362 editor_ops.cc:1699
+#: editor_markers.cc:1376 editor_ops.cc:1870
msgid "New Name:"
msgstr "Nový název:"
-#: editor_markers.cc:1365
+#: editor_markers.cc:1379
msgid "Rename Mark"
msgstr "PÅ™ejmenovat znaÄku"
-#: editor_markers.cc:1367
+#: editor_markers.cc:1381
msgid "Rename Range"
msgstr "Přejmenovat rozsah"
-#: editor_markers.cc:1374 editor_mouse.cc:2560 processor_box.cc:1808
-#: processor_box.cc:2274 route_time_axis.cc:982 route_ui.cc:1540
+#: editor_markers.cc:1388 editor_mouse.cc:2319 processor_box.cc:2038
+#: processor_box.cc:2508 route_time_axis.cc:1073 route_ui.cc:1622
msgid "Rename"
msgstr "Přejmenovat"
-#: editor_markers.cc:1387
+#: editor_markers.cc:1401
msgid "rename marker"
msgstr "PÅ™ejmenovat znaÄku"
-#: editor_markers.cc:1411
+#: editor_markers.cc:1425
msgid "set loop range"
msgstr "Nastavit rozsah smyÄky"
-#: editor_markers.cc:1417
+#: editor_markers.cc:1431
msgid "set punch range"
msgstr "Nastavit rozsah přepsání"
@@ -4732,11 +4825,22 @@ msgid "This screen is not tall enough to display the editor mixer"
msgstr ""
"Tato obrazovka není dostateÄnÄ› velká na to, aby zobrazila směšovaÄ editoru"
-#: editor_mouse.cc:172
-msgid "Editor::event_frame() used on unhandled event type %1"
-msgstr "Editor::event_frame() se používá u neznámého druhu události %1"
+#: editor_mouse.cc:1384 editor_mouse.cc:1402 editor_tempodisplay.cc:273
+msgid ""
+"programming error: tempo marker canvas item has no marker object pointer!"
+msgstr ""
+"Chyba v programování: položka plátna znaÄka tempa nemá žádný ukazatel "
+"objektu znaÄky!"
+
+#: editor_mouse.cc:1389 editor_tempodisplay.cc:278
+msgid "programming error: marker for tempo is not a tempo marker!"
+msgstr "Chyba v programování: znaÄka pro tempo není znaÄkou tempa!"
+
+#: editor_mouse.cc:1407 editor_tempodisplay.cc:382
+msgid "programming error: marker for meter is not a meter marker!"
+msgstr "Chyba v programování: znaÄka druhu taktu není znaÄkou druhu taktu!"
-#: editor_mouse.cc:2285 editor_mouse.cc:2310 editor_mouse.cc:2323
+#: editor_mouse.cc:2047 editor_mouse.cc:2072 editor_mouse.cc:2085
msgid ""
"programming error: control point canvas item has no control point object "
"pointer!"
@@ -4744,175 +4848,175 @@ msgstr ""
"Chyba v programování: položka plátna místo ovládání nemá žádný ukazatel "
"objektu místa ovládání!"
-#: editor_mouse.cc:2466
+#: editor_mouse.cc:2228
msgid "start point trim"
msgstr "UstÅ™ihnout poÄáteÄní bod"
-#: editor_mouse.cc:2491
+#: editor_mouse.cc:2253
msgid "End point trim"
msgstr "Ustřihnout koncový bod"
-#: editor_mouse.cc:2558
+#: editor_mouse.cc:2317
msgid "Name for region:"
msgstr "Název oblasti:"
-#: editor_ops.cc:140
+#: editor_ops.cc:147
msgid "split"
msgstr "Rozdělit"
-#: editor_ops.cc:256
+#: editor_ops.cc:291
msgid "alter selection"
msgstr "Změnit výběr"
-#: editor_ops.cc:298
+#: editor_ops.cc:333
msgid "nudge regions forward"
msgstr "PostrÄit oblasti o krok dopÅ™edu"
-#: editor_ops.cc:321 editor_ops.cc:406
+#: editor_ops.cc:356 editor_ops.cc:441
msgid "nudge location forward"
msgstr "PostrÄit polohu o krok dopÅ™edu"
-#: editor_ops.cc:379
+#: editor_ops.cc:414
msgid "nudge regions backward"
msgstr "PostrÄit oblasti o krok dozadu"
-#: editor_ops.cc:468
+#: editor_ops.cc:503
msgid "nudge forward"
msgstr "PostrÄit o krok dopÅ™edu"
-#: editor_ops.cc:492
+#: editor_ops.cc:527
msgid "nudge backward"
msgstr "PostrÄit o krok dozadu"
-#: editor_ops.cc:557
+#: editor_ops.cc:570
+msgid "sequence regions"
+msgstr ""
+
+#: editor_ops.cc:646
msgid "build_region_boundary_cache called with snap_type = %1"
msgstr "build_region_boundary_cache byla volána snap_type = %1"
-#: editor_ops.cc:1701
+#: editor_ops.cc:1872
msgid "New Location Marker"
msgstr "Nová znaÄka polohy"
-#: editor_ops.cc:1788
+#: editor_ops.cc:1988
msgid "add markers"
msgstr "PÅ™idat znaÄky"
-#: editor_ops.cc:1894
+#: editor_ops.cc:2094
msgid "clear markers"
msgstr "Smazat znaÄky"
-#: editor_ops.cc:1907
+#: editor_ops.cc:2107
msgid "clear ranges"
msgstr "Smazat rozsahy"
-#: editor_ops.cc:1929
+#: editor_ops.cc:2129
msgid "clear locations"
msgstr "Smazat polohy"
-#: editor_ops.cc:2000
-msgid "insert dragged region"
-msgstr "Táhnout oblast"
-
-#: editor_ops.cc:2078
+#: editor_ops.cc:2191
msgid "insert region"
msgstr "Vložit oblast"
-#: editor_ops.cc:2261
+#: editor_ops.cc:2377
msgid "raise regions"
msgstr "Pozvednout oblasti nahoru"
-#: editor_ops.cc:2263
+#: editor_ops.cc:2379
msgid "raise region"
msgstr "Pozvednout oblast nahoru"
-#: editor_ops.cc:2269
+#: editor_ops.cc:2385
msgid "raise regions to top"
msgstr "Pozvednout oblasti úplně nahoru"
-#: editor_ops.cc:2271
+#: editor_ops.cc:2387
msgid "raise region to top"
msgstr "Pozvednout oblast úplně nahoru"
-#: editor_ops.cc:2277
+#: editor_ops.cc:2393
msgid "lower regions"
msgstr "Dát oblasti dolů"
-#: editor_ops.cc:2279 editor_ops.cc:2287
+#: editor_ops.cc:2395 editor_ops.cc:2403
msgid "lower region"
msgstr "Dát oblast dolů"
-#: editor_ops.cc:2285
+#: editor_ops.cc:2401
msgid "lower regions to bottom"
msgstr "Dát oblasti zcela dolů"
-#: editor_ops.cc:2370
+#: editor_ops.cc:2486
msgid "Rename Region"
msgstr "Přejmenovat oblast"
-#: editor_ops.cc:2372 processor_box.cc:1806 route_ui.cc:1538
+#: editor_ops.cc:2488 processor_box.cc:2036 route_ui.cc:1620
msgid "New name:"
msgstr "Nový název:"
-#: editor_ops.cc:2682
+#: editor_ops.cc:2798
msgid "separate"
msgstr "Rozdělit"
-#: editor_ops.cc:2795
+#: editor_ops.cc:2910
msgid "separate region under"
msgstr "Rozdělit oblast pod"
-#: editor_ops.cc:2916
+#: editor_ops.cc:3031
msgid "trim to selection"
msgstr "Ustřihnout na výběru"
-#: editor_ops.cc:3052
+#: editor_ops.cc:3167
msgid "set sync point"
msgstr "UrÄit bod zapadnutí"
-#: editor_ops.cc:3076
+#: editor_ops.cc:3191
msgid "remove region sync"
msgstr "Odstranit bod zapadnutí oblasti"
-#: editor_ops.cc:3098
+#: editor_ops.cc:3213
msgid "move regions to original position"
msgstr "Posunout oblasti na původní polohu"
-#: editor_ops.cc:3100
+#: editor_ops.cc:3215
msgid "move region to original position"
msgstr "Posunout oblast na původní polohu"
-#: editor_ops.cc:3121
+#: editor_ops.cc:3236
msgid "align selection"
msgstr "Zarovnat výběr"
-#: editor_ops.cc:3195
+#: editor_ops.cc:3310
msgid "align selection (relative)"
msgstr "Zarovnat výběr poměrně"
-#: editor_ops.cc:3229
+#: editor_ops.cc:3344
msgid "align region"
msgstr "Zarovnat oblast"
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim front"
msgstr "Ustřihnout vpředu"
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim back"
msgstr "Ustřihnout vzadu"
-#: editor_ops.cc:3310
+#: editor_ops.cc:3425
msgid "trim to loop"
msgstr "Zkrátit na oblast smyÄky"
-#: editor_ops.cc:3320
+#: editor_ops.cc:3435
msgid "trim to punch"
msgstr "Zkrátit na oblast přepsání"
-#: editor_ops.cc:3382
+#: editor_ops.cc:3497
msgid "trim to region"
msgstr "Zkrátit na oblast"
-#: editor_ops.cc:3492
+#: editor_ops.cc:3605
msgid ""
"This track/bus cannot be frozen because the signal adds or loses channels "
"before reaching the outputs.\n"
@@ -4924,11 +5028,11 @@ msgstr ""
"Obvykle je to způsobeno přídavnými moduly, jež vytvářejí stereo výstup z "
"monofonního vstupu nebo naopak."
-#: editor_ops.cc:3495
+#: editor_ops.cc:3608
msgid "Cannot freeze"
msgstr "Nelze zmrazit"
-#: editor_ops.cc:3501
+#: editor_ops.cc:3614
msgid ""
"<b>%1</b>\n"
"\n"
@@ -4943,23 +5047,23 @@ msgstr ""
"\n"
"Zmrazení jen zpracuje signál až k prvnímu poslání/vložení/vrácení."
-#: editor_ops.cc:3505
+#: editor_ops.cc:3618
msgid "Freeze anyway"
msgstr "Přesto zmrazit"
-#: editor_ops.cc:3506
+#: editor_ops.cc:3619
msgid "Don't freeze"
msgstr "Nemrazit"
-#: editor_ops.cc:3507
+#: editor_ops.cc:3620
msgid "Freeze Limits"
msgstr "Omezení zmražení"
-#: editor_ops.cc:3522
+#: editor_ops.cc:3635
msgid "Cancel Freeze"
msgstr "Zrušit zmrazení"
-#: editor_ops.cc:3553
+#: editor_ops.cc:3666
msgid ""
"You can't perform this operation because the processing of the signal will "
"cause one or more of the tracks to end up with a region with more channels "
@@ -4972,51 +5076,63 @@ msgstr ""
"\n"
"Můžete to udělat bez zpracování, což je odlišná operace."
-#: editor_ops.cc:3557
+#: editor_ops.cc:3670
msgid "Cannot bounce"
msgstr "Nelze vyhodit"
-#: editor_ops.cc:3568
+#: editor_ops.cc:3681
msgid "bounce range"
msgstr "Vrazit rozsah"
-#: editor_ops.cc:3678
+#: editor_ops.cc:3783
msgid "delete"
msgstr "Smazat"
-#: editor_ops.cc:3681
+#: editor_ops.cc:3786
msgid "cut"
msgstr "Vyjmout"
-#: editor_ops.cc:3684
+#: editor_ops.cc:3789
msgid "copy"
msgstr "Kopírovat"
-#: editor_ops.cc:3687
+#: editor_ops.cc:3792
msgid "clear"
msgstr "Vyprázdnit"
-#: editor_ops.cc:3785
-msgid " objects"
-msgstr "Předměty"
+#: editor_ops.cc:3845
+msgid " points"
+msgstr ""
+
+#: editor_ops.cc:3856
+msgid "points"
+msgstr ""
+
+#: editor_ops.cc:3858
+msgid "regions"
+msgstr ""
+
+#: editor_ops.cc:3860
+msgid "objects"
+msgstr ""
-#: editor_ops.cc:3815
+#: editor_ops.cc:3890
msgid " range"
msgstr "Rozsah"
-#: editor_ops.cc:3957 editor_ops.cc:3984
+#: editor_ops.cc:4059
msgid "remove region"
msgstr "Odstranit oblast"
-#: editor_ops.cc:4391
+#: editor_ops.cc:4475
msgid "duplicate selection"
msgstr "Zdvojit výběr"
-#: editor_ops.cc:4469
+#: editor_ops.cc:4553
msgid "nudge track"
msgstr "PostrÄit stopu"
-#: editor_ops.cc:4506
+#: editor_ops.cc:4590
msgid ""
"Do you really want to destroy the last capture?\n"
"(This is destructive and cannot be undone)"
@@ -5024,132 +5140,140 @@ msgstr ""
"Opravdu chcete zrušit poslední nahrávku?\n"
"(Toto nelze vrátit zpět!)"
-#: editor_ops.cc:4509 editor_ops.cc:6512 editor_regions.cc:460
-#: editor_snapshots.cc:158 route_ui.cc:1482
+#: editor_ops.cc:4593 editor_ops.cc:6594 editor_regions.cc:461
+#: editor_snapshots.cc:159 route_ui.cc:1563
msgid "No, do nothing."
msgstr "Ne, nedělat nic."
-#: editor_ops.cc:4510
+#: editor_ops.cc:4594
msgid "Yes, destroy it."
msgstr "Ano, odstranit."
-#: editor_ops.cc:4512
+#: editor_ops.cc:4596
msgid "Destroy last capture"
msgstr "ZniÄit poslední nahrávku"
-#: editor_ops.cc:4573
+#: editor_ops.cc:4657
msgid "normalize"
msgstr "Normalizovat"
-#: editor_ops.cc:4668
+#: editor_ops.cc:4752
msgid "reverse regions"
msgstr "Obrátit oblasti"
-#: editor_ops.cc:4702
+#: editor_ops.cc:4786
msgid "strip silence"
msgstr "Obnažit ticho"
-#: editor_ops.cc:4763
+#: editor_ops.cc:4847
msgid "Fork Region(s)"
msgstr "Rozdvojit oblast(i)"
-#: editor_ops.cc:4963
+#: editor_ops.cc:4868
+msgid "Could not unlink %1"
+msgstr ""
+
+#: editor_ops.cc:5052
msgid "reset region gain"
msgstr "Nastavit sílu hlasitosti v oblasti znovu"
-#: editor_ops.cc:5016
+#: editor_ops.cc:5105
msgid "region gain envelope active"
msgstr "KÅ™ivka síly zvuku v oblasti Äinná"
-#: editor_ops.cc:5043
+#: editor_ops.cc:5132
msgid "toggle region lock"
msgstr "Přepnout zámek oblasti"
-#: editor_ops.cc:5067
+#: editor_ops.cc:5156
msgid "Toggle Video Lock"
msgstr "Přepnout zámek videa"
-#: editor_ops.cc:5091
+#: editor_ops.cc:5180
msgid "region lock style"
msgstr "Styl zámku oblasti"
-#: editor_ops.cc:5116
+#: editor_ops.cc:5205
msgid "change region opacity"
msgstr "Změnit neprůhlednost oblasti"
-#: editor_ops.cc:5231
+#: editor_ops.cc:5298
+msgid "fade range"
+msgstr ""
+
+#: editor_ops.cc:5336
msgid "set fade in length"
msgstr "Změnit délku postupného zesílení signálu"
-#: editor_ops.cc:5238
+#: editor_ops.cc:5343
msgid "set fade out length"
msgstr "Změnit délku postupného zeslabení signálu"
-#: editor_ops.cc:5283
+#: editor_ops.cc:5388
msgid "set fade in shape"
msgstr "Upravit tvar křivky postupného zesílení signálu"
-#: editor_ops.cc:5314
+#: editor_ops.cc:5419
msgid "set fade out shape"
msgstr "Upravit tvar křivky postupného zeslabení signálu"
-#: editor_ops.cc:5344
+#: editor_ops.cc:5449
msgid "set fade in active"
msgstr "Spustit postupné zesílení signálu"
-#: editor_ops.cc:5373
+#: editor_ops.cc:5478
msgid "set fade out active"
msgstr "Spustit postupné zeslabení signálu"
-#: editor_ops.cc:5638
+#: editor_ops.cc:5713
msgid "set loop range from selection"
msgstr "Nastavit rozsah smyÄky z výbÄ›ru"
-#: editor_ops.cc:5660
+#: editor_ops.cc:5735
msgid "set loop range from edit range"
msgstr "Nastavit rozsah smyÄky z oblasti úprav"
-#: editor_ops.cc:5689
+#: editor_ops.cc:5764
msgid "set loop range from region"
msgstr "Nastavit rozsah smyÄky z oblasti"
-#: editor_ops.cc:5707
+#: editor_ops.cc:5782
msgid "set punch range from selection"
msgstr "Nastavit rozsah přepsání z výběru"
-#: editor_ops.cc:5724
+#: editor_ops.cc:5799
msgid "set punch range from edit range"
msgstr "Nastavit rozsah přepsání z oblasti úprav"
-#: editor_ops.cc:5748
+#: editor_ops.cc:5823
msgid "set punch range from region"
msgstr "Nastavit rozsah přepsání z oblasti"
-#: editor_ops.cc:5857
+#: editor_ops.cc:5932
msgid "Add new marker"
msgstr "PÅ™idat novou znaÄku"
-#: editor_ops.cc:5858
+#: editor_ops.cc:5933
msgid "Set global tempo"
msgstr "Nastavit celkové tempo"
-#: editor_ops.cc:5861
+#: editor_ops.cc:5936
msgid "Define one bar"
msgstr "Vymezit jeden takt"
-#: editor_ops.cc:5862
+#: editor_ops.cc:5937
msgid "Do you want to set the global tempo or add a new tempo marker?"
msgstr "Chcete stanovit celkové tempo, nebo pÅ™idat novou znaÄku tempa?"
-#: editor_ops.cc:5888
+#: editor_ops.cc:5963
msgid "set tempo from region"
msgstr "Nastavit tempo podle oblasti"
-#: editor_ops.cc:5918
+#: editor_ops.cc:5993
msgid "split regions"
msgstr "Rozdělit oblasti"
-#: editor_ops.cc:5960
+#: editor_ops.cc:6035
msgid ""
"You are about to split\n"
"%1\n"
@@ -5161,11 +5285,11 @@ msgstr ""
"do %2 kusů.\n"
"Toto by mohlo trvat velmi dlouho."
-#: editor_ops.cc:5967
+#: editor_ops.cc:6042
msgid "Call for the Ferret!"
msgstr "Volání po slídilovi!"
-#: editor_ops.cc:5968
+#: editor_ops.cc:6043
msgid ""
"Press OK to continue with this split operation\n"
"or ask the Ferret dialog to tune the analysis"
@@ -5173,52 +5297,52 @@ msgstr ""
"StisknÄ›te OK kvůli pokraÄování v této operaci rozdÄ›lení\n"
"nebo se pokuste v okně slídilově vyladit rozbor."
-#: editor_ops.cc:5970
+#: editor_ops.cc:6045
msgid "Press OK to continue with this split operation"
msgstr "StisknÄ›te OK kvůli pokraÄování v této operaci rozdÄ›lení"
-#: editor_ops.cc:5973
+#: editor_ops.cc:6048
msgid "Excessive split?"
msgstr "Nadměrné rozdělení?"
-#: editor_ops.cc:6125
+#: editor_ops.cc:6200
msgid "place transient"
msgstr "Umístit přechod"
-#: editor_ops.cc:6160
+#: editor_ops.cc:6235
msgid "snap regions to grid"
msgstr "Zapadnout oblasti do mřížky"
-#: editor_ops.cc:6199
+#: editor_ops.cc:6274
msgid "Close Region Gaps"
msgstr "Zavřít mezery oblastí"
-#: editor_ops.cc:6204
+#: editor_ops.cc:6279
msgid "Crossfade length"
msgstr "Délka prolínání"
-#: editor_ops.cc:6213 editor_ops.cc:6224 rhythm_ferret.cc:120
-#: session_option_editor.cc:153
+#: editor_ops.cc:6288 editor_ops.cc:6299 rhythm_ferret.cc:119
+#: session_option_editor.cc:141
msgid "ms"
msgstr "ms"
-#: editor_ops.cc:6215
+#: editor_ops.cc:6290
msgid "Pull-back length"
msgstr "Délka ustoupení"
-#: editor_ops.cc:6228
+#: editor_ops.cc:6303
msgid "Ok"
msgstr "OK"
-#: editor_ops.cc:6243
+#: editor_ops.cc:6318
msgid "close region gaps"
msgstr "Zavřít mezery oblastí"
-#: editor_ops.cc:6461 route_ui.cc:1456
+#: editor_ops.cc:6543 route_ui.cc:1537
msgid "That would be bad news ...."
msgstr "To by byly nepříjemné zprávy..."
-#: editor_ops.cc:6466 route_ui.cc:1461
+#: editor_ops.cc:6548 route_ui.cc:1542
msgid ""
"Removing the master or monitor bus is such a bad idea\n"
"that %1 is not going to allow it.\n"
@@ -5234,23 +5358,23 @@ msgstr ""
"upravte svůj soubor ardour.rc, kde nastavte volbu\n"
"\"allow-special-bus-removal\" na \"yes\""
-#: editor_ops.cc:6483
+#: editor_ops.cc:6565
msgid "tracks"
msgstr "Stopy"
-#: editor_ops.cc:6485 route_ui.cc:1821
+#: editor_ops.cc:6567 route_ui.cc:1978
msgid "track"
msgstr "Stopa"
-#: editor_ops.cc:6489
+#: editor_ops.cc:6571
msgid "busses"
msgstr "Sběrnice"
-#: editor_ops.cc:6491 route_ui.cc:1821
+#: editor_ops.cc:6573 route_ui.cc:1978
msgid "bus"
msgstr "Sběrnice"
-#: editor_ops.cc:6496
+#: editor_ops.cc:6578
msgid ""
"Do you really want to remove %1 %2 and %3 %4?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5262,7 +5386,7 @@ msgstr ""
"\n"
"Tento krok nelze vrátit zpět, a soubor se sezením bude přepsán!"
-#: editor_ops.cc:6501
+#: editor_ops.cc:6583
msgid ""
"Do you really want to remove %1 %2?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5274,7 +5398,7 @@ msgstr ""
"\n"
"Tento krok nelze vrátit zpět, a soubor se sezením bude přepsán!"
-#: editor_ops.cc:6507
+#: editor_ops.cc:6589
msgid ""
"Do you really want to remove %1 %2?\n"
"\n"
@@ -5284,128 +5408,142 @@ msgstr ""
"\n"
"Tento krok nelze vrátit zpět, a soubor se sezením bude přepsán"
-#: editor_ops.cc:6514
+#: editor_ops.cc:6596
msgid "Yes, remove them."
msgstr "Ano, odstranit."
-#: editor_ops.cc:6516 editor_snapshots.cc:159 route_ui.cc:1483
+#: editor_ops.cc:6598 editor_snapshots.cc:160 route_ui.cc:1564
msgid "Yes, remove it."
msgstr "Ano, odstranit."
-#: editor_ops.cc:6521 editor_ops.cc:6523
+#: editor_ops.cc:6603 editor_ops.cc:6605
msgid "Remove %1"
msgstr "Odstranit %1"
-#: editor_ops.cc:6582
+#: editor_ops.cc:6668
msgid "insert time"
msgstr "Vložit ticho"
-#: editor_ops.cc:6739
+#: editor_ops.cc:6832
msgid "There are too many tracks to fit in the current window"
msgstr ""
"Bylo vybráno příliš mnoho stop, než aby se všechny vešly do nynějšího okna"
-#: editor_ops.cc:6839
+#: editor_ops.cc:6893
+msgid "Sel"
+msgstr ""
+
+#: editor_ops.cc:6932
#, c-format
msgid "Saved view %u"
msgstr "Uložen pohled %u"
-#: editor_ops.cc:6864
+#: editor_ops.cc:6957
msgid "mute regions"
msgstr "Ztišit oblasti"
-#: editor_ops.cc:6866
+#: editor_ops.cc:6959
msgid "mute region"
msgstr "Ztišit oblast"
-#: editor_ops.cc:6903
+#: editor_ops.cc:6996
msgid "combine regions"
msgstr "Spojit oblasti"
-#: editor_ops.cc:6941
+#: editor_ops.cc:7034
msgid "uncombine regions"
msgstr "Zrušit spojení oblastí"
-#: editor_regions.cc:111
+#: editor_ops.cc:7071
+msgid "%1: Locked"
+msgstr ""
+
+#: editor_ops.cc:7078
+msgid "Click to unlock"
+msgstr ""
+
+#: editor_ops.cc:7132
+msgid "Moving embedded files into session folder"
+msgstr ""
+
+#: editor_regions.cc:112
msgid "Region name, with number of channels in []'s"
msgstr "Název oblasti s poÄtem kanálů v hranatých závorkách []"
-#: editor_regions.cc:112
+#: editor_regions.cc:113
msgid "Position of start of region"
msgstr "Poloha zaÄátku oblasti"
-#: editor_regions.cc:113 editor_regions.cc:849 time_info_box.cc:98
+#: editor_regions.cc:114 editor_regions.cc:850 time_info_box.cc:101
msgid "End"
msgstr "Konec"
-#: editor_regions.cc:113
+#: editor_regions.cc:114
msgid "Position of end of region"
msgstr "Poloha konce oblasti"
-#: editor_regions.cc:114
+#: editor_regions.cc:115
msgid "Length of the region"
msgstr "Délka oblasti"
-#: editor_regions.cc:115
+#: editor_regions.cc:116
msgid "Position of region sync point, relative to start of the region"
msgstr "Poloha seÅ™izovacího bodu oblasti, pomÄ›rná k zaÄátku oblasti"
-#: editor_regions.cc:116
+#: editor_regions.cc:117
msgid "Length of region fade-in (units: secondary clock), () if disabled"
msgstr ""
"Délka postupné zesílení signálu oblasti (jednotky: vedlejší hodiny), (), "
"pokud je zakázáno"
-#: editor_regions.cc:117
-msgid "Length of region fade-out (units: secondary clock), () if dsisabled"
+#: editor_regions.cc:118
+msgid "Length of region fade-out (units: secondary clock), () if disabled"
msgstr ""
-"Délka postupné zeslabení signálu oblasti (jednotky: vedlejší hodiny), (), "
-"pokud je zakázáno"
-#: editor_regions.cc:118 mixer_strip.cc:1954 mono_panner.cc:179
-#: stereo_panner.cc:217 stereo_panner.cc:240
+#: editor_regions.cc:119 mixer_strip.cc:2010 mono_panner.cc:204
+#: panner2d.cc:237 stereo_panner.cc:248 stereo_panner.cc:271
msgid "L"
msgstr "Zam"
-#: editor_regions.cc:118
+#: editor_regions.cc:119
msgid "Region position locked?"
msgstr "Poloha oblasti zamknuta?"
-#: editor_regions.cc:119
+#: editor_regions.cc:120 route_time_axis.cc:99
msgid "G"
msgstr "PÅ™"
-#: editor_regions.cc:119
+#: editor_regions.cc:120
msgid "Region position glued to Bars|Beats time?"
msgstr "Poloha oblasti přilepena k taktům|dobám?"
-#: editor_regions.cc:120 editor_routes.cc:207 gain_meter.cc:762
-#: mixer_strip.cc:1931 meter_strip.cc:320 panner_ui.cc:553
-#: stereo_panner.cc:237
+#: editor_regions.cc:121 editor_routes.cc:209 gain_meter.cc:768
+#: mixer_strip.cc:1987 meter_strip.cc:359 panner_ui.cc:602
+#: route_time_axis.cc:2568 stereo_panner.cc:268 time_axis_view.cc:1156
msgid "M"
msgstr "Z"
-#: editor_regions.cc:120
+#: editor_regions.cc:121
msgid "Region muted?"
msgstr "Oblast ztlumena?"
-#: editor_regions.cc:121
+#: editor_regions.cc:122 mixer_strip.cc:1810
msgid "O"
msgstr "Nep"
-#: editor_regions.cc:121
+#: editor_regions.cc:122
msgid "Region opaque (blocks regions below it from being heard)?"
msgstr "Oblast neprůhledná (blokuje oblasti pod sebou, aby byly slyšeny)?"
-#: editor_regions.cc:310 editor_regions.cc:315 editor_regions.cc:317
+#: editor_regions.cc:311 editor_regions.cc:316 editor_regions.cc:318
msgid "Hidden"
msgstr "Skrytý"
-#: editor_regions.cc:389
+#: editor_regions.cc:390
msgid "(MISSING) "
msgstr "(CHYBÃ) "
-#: editor_regions.cc:457
+#: editor_regions.cc:458
msgid ""
"Do you really want to remove unused regions?\n"
"(This is destructive and cannot be undone)"
@@ -5413,233 +5551,223 @@ msgstr ""
"Opravdu chcete odstranit nepoužívané oblasti?\n"
"(Toto je niÄivé a nelze to vrátit zpÄ›t)"
-#: editor_regions.cc:461
+#: editor_regions.cc:462
msgid "Yes, remove."
msgstr "Ano, odstranit."
-#: editor_regions.cc:463
+#: editor_regions.cc:464
msgid "Remove unused regions"
msgstr "Odstranit nepoužívané oblasti"
-#: editor_regions.cc:816 editor_regions.cc:830 editor_regions.cc:844
+#: editor_regions.cc:817 editor_regions.cc:831 editor_regions.cc:845
msgid "Mult."
msgstr "Více"
-#: editor_regions.cc:847 midi_list_editor.cc:103 time_info_box.cc:91
+#: editor_regions.cc:848 midi_list_editor.cc:103 time_info_box.cc:94
msgid "Start"
msgstr "Spustit"
-#: editor_regions.cc:865 editor_regions.cc:881
+#: editor_regions.cc:866 editor_regions.cc:882
msgid "Multiple"
msgstr "Více"
-#: editor_regions.cc:950
+#: editor_regions.cc:951
msgid "MISSING "
msgstr "(CHYBÃ) "
-#: editor_routes.cc:178 editor_routes.cc:210
+#: editor_routes.cc:180 editor_routes.cc:212
msgid "SS"
msgstr "SS"
-#: editor_routes.cc:202
+#: editor_routes.cc:204
msgid "Track/Bus Name"
msgstr "Název stopy/sběrnice"
-#: editor_routes.cc:203
+#: editor_routes.cc:205
msgid "Track/Bus visible ?"
msgstr "Stopa/Sběrnice viditelná?"
-#: editor_routes.cc:204 mixer_strip.cc:1945 meter_strip.cc:334
-#: route_time_axis.cc:2407
+#: editor_routes.cc:206 mixer_strip.cc:2001 meter_strip.cc:371
+#: route_time_axis.cc:101 route_time_axis.cc:2556
msgid "A"
msgstr "Č"
-#: editor_routes.cc:204
+#: editor_routes.cc:206
msgid "Track/Bus active ?"
msgstr "Stopa/SbÄ›rnice Äinná?"
-#: editor_routes.cc:205 mixer_strip.cc:1932
+#: editor_routes.cc:207 mixer_strip.cc:1988 mixer_strip.cc:2009
+#: meter_strip.cc:379
msgid "I"
msgstr "Vst"
-#: editor_routes.cc:205
+#: editor_routes.cc:207
msgid "MIDI input enabled"
msgstr "Vstup MIDI povolen"
-#: editor_routes.cc:206 mixer_strip.cc:1930 mono_panner.cc:198
-#: stereo_panner.cc:215 stereo_panner.cc:242
+#: editor_routes.cc:208 mono_panner.cc:221 panner2d.cc:238
+#: stereo_panner.cc:246 stereo_panner.cc:273
msgid "R"
msgstr "N"
-#: editor_routes.cc:206
+#: editor_routes.cc:208
msgid "Record enabled"
msgstr "Nahrávání povoleno"
-#: editor_routes.cc:207
+#: editor_routes.cc:209
msgid "Muted"
msgstr "Ztlumeno"
-#: editor_routes.cc:208 mixer_strip.cc:1941 meter_strip.cc:330
+#: editor_routes.cc:210 mixer_strip.cc:1997 meter_strip.cc:367
+#: route_time_axis.cc:2565
msgid "S"
msgstr "S"
-#: editor_routes.cc:208
+#: editor_routes.cc:210
msgid "Soloed"
msgstr "Sólo"
-#: editor_routes.cc:209
+#: editor_routes.cc:211
msgid "SI"
msgstr "SamS"
-#: editor_routes.cc:209 mixer_strip.cc:353 rc_option_editor.cc:1867
+#: editor_routes.cc:211
msgid "Solo Isolated"
msgstr "Samostatné sólo"
-#: editor_routes.cc:210
+#: editor_routes.cc:212
msgid "Solo Safe (Locked)"
msgstr "Zajištěné sólo (zamknuto)"
-#: editor_routes.cc:471 mixer_ui.cc:1162
+#: editor_routes.cc:474 mixer_ui.cc:1182
msgid "Hide All"
msgstr "Skrýt vše"
-#: editor_routes.cc:472 mixer_ui.cc:1163
+#: editor_routes.cc:475 mixer_ui.cc:1183
msgid "Show All Audio Tracks"
msgstr "Ukázat všechny zvukové stopy"
-#: editor_routes.cc:473 mixer_ui.cc:1164
+#: editor_routes.cc:476 mixer_ui.cc:1184
msgid "Hide All Audio Tracks"
msgstr "Skrýt všechny zvukové stopy"
-#: editor_routes.cc:474 mixer_ui.cc:1165
+#: editor_routes.cc:477 mixer_ui.cc:1185
msgid "Show All Audio Busses"
msgstr "Ukázat všechny zvukové sběrnice"
-#: editor_routes.cc:475 mixer_ui.cc:1166
+#: editor_routes.cc:478 mixer_ui.cc:1186
msgid "Hide All Audio Busses"
msgstr "Skrýt všechny zvukové sběrnice"
-#: editor_routes.cc:476
+#: editor_routes.cc:479
msgid "Show All Midi Tracks"
msgstr "Ukázat všechny MIDI stopy"
-#: editor_routes.cc:477
+#: editor_routes.cc:480
msgid "Hide All Midi Tracks"
msgstr "Skrýt všechny MIDI stopy"
-#: editor_routes.cc:478
+#: editor_routes.cc:481
msgid "Show Tracks With Regions Under Playhead"
msgstr "Ukázat stopy s oblastmi pod ukazatelem polohy přehrávání"
-#: editor_rulers.cc:340
+#: editor_rulers.cc:216
msgid "New location marker"
msgstr "Nová znaÄka polohy"
-#: editor_rulers.cc:341
+#: editor_rulers.cc:217
msgid "Clear all locations"
msgstr "Odstranit vÅ¡echny znaÄky polohy"
-#: editor_rulers.cc:342
+#: editor_rulers.cc:218
msgid "Unhide locations"
msgstr "Odkrýt znaÄky poloh"
-#: editor_rulers.cc:346
+#: editor_rulers.cc:222
msgid "New range"
msgstr "Nový rozsah"
-#: editor_rulers.cc:347
+#: editor_rulers.cc:223
msgid "Clear all ranges"
msgstr "Odstranit všechny rozsahy"
-#: editor_rulers.cc:348
+#: editor_rulers.cc:224
msgid "Unhide ranges"
msgstr "Odkrýt rozsahy"
-#: editor_rulers.cc:358
+#: editor_rulers.cc:234
msgid "New CD track marker"
msgstr "Nová znaÄka stopy na CD"
-#: editor_rulers.cc:363 tempo_dialog.cc:40
+#: editor_rulers.cc:239 tempo_dialog.cc:39
msgid "New Tempo"
msgstr "Vložit změnu rychlosti/tempa..."
-#: editor_rulers.cc:368 tempo_dialog.cc:255
+#: editor_rulers.cc:243 tempo_dialog.cc:289
msgid "New Meter"
msgstr "Nový druh taktu"
-#: editor_rulers.cc:373
+#: editor_rulers.cc:247
msgid "Timeline height"
msgstr "Výška Äasové osy"
-#: editor_rulers.cc:383
+#: editor_rulers.cc:257
msgid "Align Video Track"
msgstr "Zarovnat videostopu"
-#: editor_selection.cc:889 editor_selection.cc:932
+#: editor_selection.cc:895 editor_selection.cc:938
msgid "set selected regions"
msgstr "Nastavit vybrané oblasti"
-#: editor_selection.cc:1414
+#: editor_selection.cc:1417
msgid "select all"
msgstr "Vybrat všechny oblasti"
-#: editor_selection.cc:1506
+#: editor_selection.cc:1511
msgid "select all within"
msgstr "Vybrat vše v oblasti"
-#: editor_selection.cc:1564
+#: editor_selection.cc:1569
msgid "set selection from range"
msgstr "Nastavit oblast výběru z rozsahu"
-#: editor_selection.cc:1604
+#: editor_selection.cc:1609
msgid "select all from range"
msgstr "Vybrat vše v rozsahu"
-#: editor_selection.cc:1635
+#: editor_selection.cc:1640
msgid "select all from punch"
msgstr "Vybrat vše v oblasti přepsání"
-#: editor_selection.cc:1666
+#: editor_selection.cc:1671
msgid "select all from loop"
msgstr "Vybrat vÅ¡e v oblasti smyÄky"
-#: editor_selection.cc:1702
+#: editor_selection.cc:1707
msgid "select all after cursor"
msgstr "Vybrat vše od ukazatele polohy"
-#: editor_selection.cc:1704
+#: editor_selection.cc:1709
msgid "select all before cursor"
msgstr "Vybrat vše před ukazatelem polohy"
-#: editor_selection.cc:1753
+#: editor_selection.cc:1758
msgid "select all after edit"
msgstr "Vybrat vše od pracovního bodu"
-#: editor_selection.cc:1755
+#: editor_selection.cc:1760
msgid "select all before edit"
msgstr "Vybrat vše před pracovním bodem"
-#: editor_selection.cc:1888
-msgid "No edit range defined"
-msgstr "Nestanoven rozsah úprav"
-
-#: editor_selection.cc:1894
-msgid ""
-"the edit point is Selected Marker\n"
-"but there is no selected marker."
-msgstr ""
-"Pracovním bodem je zvolená znaÄka polohy,\n"
-"nebyla vÅ¡ak vybrána žádná znaÄka polohy."
-
-#: editor_snapshots.cc:136
+#: editor_snapshots.cc:137
msgid "Rename Snapshot"
msgstr "Přejmenovat snímek obrazovky"
-#: editor_snapshots.cc:138
+#: editor_snapshots.cc:139
msgid "New name of snapshot"
msgstr "Název pro nový snímek obrazovky"
-#: editor_snapshots.cc:156
+#: editor_snapshots.cc:157
msgid ""
"Do you really want to remove snapshot \"%1\" ?\n"
"(which cannot be undone)"
@@ -5647,51 +5775,35 @@ msgstr ""
"SkuteÄnÄ› chcete odstranit snímek obrazovky \"%1\"?\n"
"(Nelze to vrátit zpět)"
-#: editor_snapshots.cc:161
+#: editor_snapshots.cc:162
msgid "Remove snapshot"
msgstr "Odstranit snímek obrazovky"
-#: editor_tempodisplay.cc:208 editor_tempodisplay.cc:250
+#: editor_tempodisplay.cc:193 editor_tempodisplay.cc:235
msgid "add"
msgstr "Přidat"
-#: editor_tempodisplay.cc:231
+#: editor_tempodisplay.cc:216
msgid "add tempo mark"
msgstr "PÅ™idat znaÄku zmÄ›ny tempa"
-#: editor_tempodisplay.cc:272
+#: editor_tempodisplay.cc:257
msgid "add meter mark"
msgstr "PÅ™idat znaÄku zmÄ›ny taktu"
-#: editor_tempodisplay.cc:288 editor_tempodisplay.cc:367
-#: editor_tempodisplay.cc:386
-msgid ""
-"programming error: tempo marker canvas item has no marker object pointer!"
-msgstr ""
-"Chyba v programování: položka plátna znaÄka tempa nemá žádný ukazatel "
-"objektu znaÄky!"
-
-#: editor_tempodisplay.cc:293 editor_tempodisplay.cc:372
-msgid "programming error: marker for tempo is not a tempo marker!"
-msgstr "Chyba v programování: znaÄka pro tempo není znaÄkou tempa!"
-
-#: editor_tempodisplay.cc:305 editor_tempodisplay.cc:335
+#: editor_tempodisplay.cc:290 editor_tempodisplay.cc:320
msgid "done"
msgstr "Hotovo"
-#: editor_tempodisplay.cc:324 editor_tempodisplay.cc:352
+#: editor_tempodisplay.cc:309 editor_tempodisplay.cc:337
msgid "replace tempo mark"
msgstr "Nahradit znaÄku zmÄ›ny tempa"
-#: editor_tempodisplay.cc:391 editor_tempodisplay.cc:423
-msgid "programming error: marker for meter is not a meter marker!"
-msgstr "Chyba v programování: znaÄka druhu taktu není znaÄkou druhu taktu!"
-
-#: editor_tempodisplay.cc:401 editor_tempodisplay.cc:435
+#: editor_tempodisplay.cc:360 editor_tempodisplay.cc:394
msgid "remove tempo mark"
msgstr "Odstranit znaÄku zmÄ›ny tempa"
-#: editor_tempodisplay.cc:418
+#: editor_tempodisplay.cc:377
msgid ""
"programming error: meter marker canvas item has no marker object pointer!"
msgstr ""
@@ -5712,220 +5824,264 @@ msgstr ""
"Protáhnutí Äasu (timefx) nemohlo být provedeno - PÅ™i vytváření vlákna doÅ¡lo "
"k chybÄ›"
-#: engine_dialog.cc:79
+#: engine_dialog.cc:81
msgid "Device Control Panel"
msgstr ""
-#: engine_dialog.cc:80 engine_dialog.cc:1725
+#: engine_dialog.cc:82
+msgid "Midi Device Setup"
+msgstr ""
+
+#: engine_dialog.cc:83 engine_dialog.cc:1999
msgid "Measure"
msgstr ""
-#: engine_dialog.cc:81
+#: engine_dialog.cc:84
msgid "Use results"
msgstr ""
-#: engine_dialog.cc:82
+#: engine_dialog.cc:85
msgid "Back to settings ... (ignore results)"
msgstr ""
-#: engine_dialog.cc:83
-msgid "Calibrate..."
+#: engine_dialog.cc:86
+msgid "Calibrate Audio"
msgstr ""
-#: engine_dialog.cc:87
-msgid "Refresh list"
+#: engine_dialog.cc:90
+msgid "Back to settings"
msgstr ""
-#: engine_dialog.cc:107
+#: engine_dialog.cc:108
msgid ""
"No audio/MIDI backends detected. %1 cannot run\n"
"\n"
"(This is a build/packaging/system error. It should never happen.)"
msgstr ""
-#: engine_dialog.cc:136
+#: engine_dialog.cc:135
msgid "Latency Measurement Tool"
msgstr ""
-#: engine_dialog.cc:151
+#: engine_dialog.cc:147 engine_dialog.cc:561
msgid ""
"<span weight=\"bold\">Turn down the volume on your audio equipment to a very "
"low level.</span>"
msgstr ""
-#: engine_dialog.cc:159
+#: engine_dialog.cc:156
msgid "Select two channels below and connect them using a cable."
msgstr ""
-#: engine_dialog.cc:164
+#: engine_dialog.cc:161
msgid "Output channel"
msgstr ""
-#: engine_dialog.cc:172
+#: engine_dialog.cc:169
msgid "Input channel"
msgstr ""
-#: engine_dialog.cc:207
+#: engine_dialog.cc:204
msgid "Once the channels are connected, click the \"Measure\" button."
msgstr ""
-#: engine_dialog.cc:214
+#: engine_dialog.cc:211
msgid "When satisfied with the results, click the \"Use results\" button."
msgstr ""
-#: engine_dialog.cc:229 engine_dialog.cc:1727
+#: engine_dialog.cc:226 engine_dialog.cc:2107 engine_dialog.cc:2117
msgid "No measurement results yet"
msgstr ""
-#: engine_dialog.cc:238 route_params_ui.cc:105
+#: engine_dialog.cc:236 route_params_ui.cc:105
msgid "Latency"
msgstr "Prodleva"
-#: engine_dialog.cc:333
+#: engine_dialog.cc:351
msgid "Audio System:"
msgstr ""
-#: engine_dialog.cc:374
+#: engine_dialog.cc:394
msgid "Driver:"
msgstr "OvladaÄ:"
-#: engine_dialog.cc:380
+#: engine_dialog.cc:400
msgid "Device:"
msgstr ""
-#: engine_dialog.cc:385 engine_dialog.cc:475 sfdb_ui.cc:147 sfdb_ui.cc:260
-#: sfdb_ui.cc:265
+#: engine_dialog.cc:405 engine_dialog.cc:496 sfdb_ui.cc:151 sfdb_ui.cc:341
+#: sfdb_ui.cc:346
msgid "Sample rate:"
msgstr "Vzorkovací kmitoÄet:"
-#: engine_dialog.cc:391 engine_dialog.cc:482
+#: engine_dialog.cc:411 engine_dialog.cc:503
msgid "Buffer size:"
msgstr "Velikost vyrovnávací paměti:"
-#: engine_dialog.cc:404
+#: engine_dialog.cc:424
msgid "Input Channels:"
msgstr ""
-#: engine_dialog.cc:415
+#: engine_dialog.cc:435
msgid "Output Channels:"
msgstr ""
-#: engine_dialog.cc:426
+#: engine_dialog.cc:446
msgid "Hardware input latency:"
msgstr "Vstupní prodleva technického vybavení poÄítaÄe:"
-#: engine_dialog.cc:429 engine_dialog.cc:442
+#: engine_dialog.cc:449 engine_dialog.cc:462
msgid "samples"
msgstr "Vzorky"
-#: engine_dialog.cc:439
+#: engine_dialog.cc:459
msgid "Hardware output latency:"
msgstr "Výstupní prodleva technického vybavení poÄítaÄe:"
-#: engine_dialog.cc:450
+#: engine_dialog.cc:470
msgid "MIDI System"
msgstr ""
-#: engine_dialog.cc:467
+#: engine_dialog.cc:488
msgid ""
"The %1 audio backend was configured and started externally.\n"
"This limits your control over it."
msgstr ""
-#: engine_dialog.cc:521
+#: engine_dialog.cc:543
+msgid ""
+"Failed to start or connect to audio-engine.\n"
+"\n"
+"Latency calibration requires a working audio interface."
+msgstr ""
+
+#: engine_dialog.cc:549
msgid ""
"Your selected audio configuration is playback- or capture-only.\n"
"\n"
"Latency calibration requires playback and capture"
msgstr ""
-#: engine_dialog.cc:595
-msgid "MIDI Inputs"
+#: engine_dialog.cc:630
+msgid "MIDI Devices"
+msgstr ""
+
+#: engine_dialog.cc:636
+msgid "Device"
+msgstr "Zařízení"
+
+#: engine_dialog.cc:638
+msgid "Hardware Latencies"
msgstr ""
-#: engine_dialog.cc:612
-msgid "MIDI Outputs"
+#: engine_dialog.cc:679
+msgid "Calibrate"
msgstr ""
-#: engine_dialog.cc:696
+#: engine_dialog.cc:761
msgid "all available channels"
msgstr ""
-#: engine_dialog.cc:890
+#: engine_dialog.cc:954
#, c-format
msgid "%u samples"
msgstr ""
-#: engine_dialog.cc:941
+#: engine_dialog.cc:1001
#, c-format
msgid "(%.1f msecs)"
msgstr ""
-#: engine_dialog.cc:1389
+#: engine_dialog.cc:1510
+msgid "Could not start backend engine %1"
+msgstr ""
+
+#: engine_dialog.cc:1561
msgid "Cannot set driver to %1"
msgstr ""
-#: engine_dialog.cc:1393
+#: engine_dialog.cc:1565
msgid "Cannot set device name to %1"
msgstr ""
-#: engine_dialog.cc:1397
+#: engine_dialog.cc:1569
msgid "Cannot set sample rate to %1"
msgstr ""
-#: engine_dialog.cc:1401
+#: engine_dialog.cc:1573
msgid "Cannot set buffer size to %1"
msgstr ""
-#: engine_dialog.cc:1407
+#: engine_dialog.cc:1579
msgid "Cannot set input channels to %1"
msgstr ""
-#: engine_dialog.cc:1411
+#: engine_dialog.cc:1583
msgid "Cannot set output channels to %1"
msgstr ""
-#: engine_dialog.cc:1417
+#: engine_dialog.cc:1589
msgid "Cannot set input latency to %1"
msgstr ""
-#: engine_dialog.cc:1421
+#: engine_dialog.cc:1593
msgid "Cannot set output latency to %1"
msgstr ""
-#: engine_dialog.cc:1654
+#: engine_dialog.cc:1858 engine_dialog.cc:1917
msgid "No signal detected "
msgstr ""
-#: engine_dialog.cc:1667 port_insert_ui.cc:71 port_insert_ui.cc:99
+#: engine_dialog.cc:1871 engine_dialog.cc:1925 port_insert_ui.cc:70
+#: port_insert_ui.cc:98
msgid "Disconnected from audio engine"
msgstr "Odpojeno od zvukového stroje"
-#: engine_dialog.cc:1681
+#: engine_dialog.cc:1880 engine_dialog.cc:1933
+msgid "Detected roundtrip latency: "
+msgstr ""
+
+#: engine_dialog.cc:1882 engine_dialog.cc:1935
+msgid "Systemic latency: "
+msgstr ""
+
+#: engine_dialog.cc:1889
msgid "(signal detection error)"
msgstr ""
-#: engine_dialog.cc:1687
+#: engine_dialog.cc:1895
msgid "(inverted - bad wiring)"
msgstr ""
-#: engine_dialog.cc:1697
-msgid "Detected roundtrip latency: %1"
+#: engine_dialog.cc:1942
+msgid "(averaging)"
msgstr ""
-#: engine_dialog.cc:1709 port_insert_ui.cc:135
+#: engine_dialog.cc:1948
+msgid "(too large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1952
+msgid "(large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1963
+msgid "Timeout - large MIDI jitter."
+msgstr ""
+
+#: engine_dialog.cc:1979 port_insert_ui.cc:134
msgid "Detecting ..."
msgstr "Zjišťuje se..."
-#: engine_dialog.cc:1789
+#: engine_dialog.cc:2073
msgid "Disconnect from %1"
msgstr ""
-#: engine_dialog.cc:1801
+#: engine_dialog.cc:2085
msgid "Connect to %1"
msgstr ""
-#: export_channel_selector.cc:45 sfdb_ui.cc:145
+#: export_channel_selector.cc:45 sfdb_ui.cc:149
msgid "Channels:"
msgstr "Kanály:"
@@ -5968,20 +6124,20 @@ msgstr ""
msgid "List files"
msgstr "Vypsat soubory"
-#: export_dialog.cc:164 export_timespan_selector.cc:355
-#: export_timespan_selector.cc:417
+#: export_dialog.cc:158 export_format_dialog.cc:59
+msgid "File format"
+msgstr "Souborový formát"
+
+#: export_dialog.cc:159 export_timespan_selector.cc:374
+#: export_timespan_selector.cc:436
msgid "Time Span"
msgstr "Časové rozpětí"
-#: export_dialog.cc:176
+#: export_dialog.cc:160
msgid "Channels"
msgstr "Kanály"
-#: export_dialog.cc:187
-msgid "Time span and channel options"
-msgstr "Časové rozpětí a volby pro kanály"
-
-#: export_dialog.cc:221
+#: export_dialog.cc:182
msgid ""
"Export has been aborted due to an error!\n"
"See the Log for details."
@@ -5989,35 +6145,39 @@ msgstr ""
"Vyvedení bylo přerušeno kvůli chybě!\n"
"Na podrobnosti se podívejte do zápisu."
-#: export_dialog.cc:290
+#: export_dialog.cc:251
msgid "Files that will be overwritten"
msgstr "Soubory, které budou přepsány"
-#: export_dialog.cc:316
+#: export_dialog.cc:296
+msgid "Export initialization failed: %1"
+msgstr ""
+
+#: export_dialog.cc:306
msgid "Stop Export"
msgstr "Zastavit vyvedení"
-#: export_dialog.cc:337
+#: export_dialog.cc:327
msgid "export"
msgstr "Vyvést"
-#: export_dialog.cc:356
+#: export_dialog.cc:346
msgid "Normalizing '%3' (timespan %1 of %2)"
msgstr "Normalizuje se '%3' (Äasové rozpÄ›tí %1 z %2)"
-#: export_dialog.cc:360
+#: export_dialog.cc:350
msgid "Exporting '%3' (timespan %1 of %2)"
msgstr "Vyvádí se '%3' (Äasové rozpÄ›tí %1 z %2)"
-#: export_dialog.cc:383 export_dialog.cc:385
+#: export_dialog.cc:373 export_dialog.cc:375
msgid "<span color=\"#ffa755\">Error: "
msgstr "<span color=\"#ffa755\">Chyba: "
-#: export_dialog.cc:395
+#: export_dialog.cc:385
msgid "<span color=\"#ffa755\">Warning: "
msgstr "<span color=\"#ffa755\">Varování: "
-#: export_dialog.cc:397
+#: export_dialog.cc:387
msgid ""
"\n"
"<span color=\"#ffa755\">Warning: "
@@ -6025,39 +6185,43 @@ msgstr ""
"\n"
"<span color=\"#ffa755\">Varování: "
-#: export_dialog.cc:420
+#: export_dialog.cc:411
msgid "Export Selection"
msgstr "Vyvést výběr"
-#: export_dialog.cc:433
+#: export_dialog.cc:425
msgid "Export Region"
msgstr "Vyvést oblast"
-#: export_dialog.cc:443
+#: export_dialog.cc:434
msgid "Source"
msgstr "Zdroj"
-#: export_dialog.cc:458
+#: export_dialog.cc:450
msgid "Stem Export"
msgstr "Zastavit vyvedení"
-#: export_file_notebook.cc:38
+#: export_file_notebook.cc:39
msgid "Add another format"
msgstr "Přidat další formát"
-#: export_file_notebook.cc:178
+#: export_file_notebook.cc:193
msgid "Format"
msgstr "Formát"
-#: export_file_notebook.cc:179
+#: export_file_notebook.cc:194
msgid "Location"
msgstr "Poloha"
-#: export_file_notebook.cc:255
+#: export_file_notebook.cc:195
+msgid "Upload to Soundcloud"
+msgstr ""
+
+#: export_file_notebook.cc:273
msgid "No format!"
msgstr "Žádný formát"
-#: export_file_notebook.cc:267
+#: export_file_notebook.cc:291
msgid "Format %1: %2"
msgstr "Formát %1: %2"
@@ -6078,9 +6242,9 @@ msgid "Folder:"
msgstr "Složka:"
#: export_filename_selector.cc:37 session_import_dialog.cc:44
-#: transcode_video_dialog.cc:58 video_server_dialog.cc:45
-#: video_server_dialog.cc:47 export_video_dialog.cc:68
-#: export_video_dialog.cc:70
+#: transcode_video_dialog.cc:59 video_server_dialog.cc:59
+#: video_server_dialog.cc:61 export_video_dialog.cc:69
+#: export_video_dialog.cc:71
msgid "Browse"
msgstr "Procházet"
@@ -6144,67 +6308,69 @@ msgstr "Ustřihnout ticho na konci"
msgid "Add silence at end:"
msgstr "Přidat ticho na konci:"
-#: export_format_dialog.cc:55
+#: export_format_dialog.cc:54
+msgid ""
+"Command to run post-export\n"
+"(%f=full path & filename, %d=directory, %b=basename):"
+msgstr ""
+
+#: export_format_dialog.cc:57
msgid "Compatibility"
msgstr "SluÄitelnost"
-#: export_format_dialog.cc:56
+#: export_format_dialog.cc:58
msgid "Quality"
msgstr "Kvalita"
-#: export_format_dialog.cc:57
-msgid "File format"
-msgstr "Souborový formát"
-
-#: export_format_dialog.cc:59
+#: export_format_dialog.cc:61
msgid "Sample rate conversion quality:"
msgstr "Kvalita pÅ™evodu vzorkovacího kmitoÄtu:"
-#: export_format_dialog.cc:66
+#: export_format_dialog.cc:68
msgid "Dithering"
msgstr "Vložení šumu do signálu"
-#: export_format_dialog.cc:68
+#: export_format_dialog.cc:70
msgid "Create CUE file for disk-at-once CD/DVD creation"
msgstr "Vytvořit soubor CUE pro okamžité vytvoření disku CD/DVD"
-#: export_format_dialog.cc:69
+#: export_format_dialog.cc:71
msgid "Create TOC file for disk-at-once CD/DVD creation"
msgstr "Vytvořit soubor TOC pro okamžité vytvoření disku CD/DVD"
-#: export_format_dialog.cc:71
+#: export_format_dialog.cc:73
msgid "Tag file with session's metadata"
msgstr "OznaÄit soubor popisnými daty k sezení"
-#: export_format_dialog.cc:461
+#: export_format_dialog.cc:470
msgid "Best (sinc)"
msgstr "Nejlepší (sinc)"
-#: export_format_dialog.cc:466
+#: export_format_dialog.cc:475
msgid "Medium (sinc)"
msgstr "Střední (sinc)"
-#: export_format_dialog.cc:471
+#: export_format_dialog.cc:480
msgid "Fast (sinc)"
msgstr "Rychlé (sinc)"
-#: export_format_dialog.cc:481
+#: export_format_dialog.cc:490
msgid "Zero order hold"
msgstr "Držení řádu nuly"
-#: export_format_dialog.cc:879
+#: export_format_dialog.cc:895
msgid "Linear encoding options"
msgstr "Přímé volby kódování"
-#: export_format_dialog.cc:895
+#: export_format_dialog.cc:911
msgid "Ogg Vorbis options"
msgstr "Volby pro Ogg Vorbis"
-#: export_format_dialog.cc:908
+#: export_format_dialog.cc:922
msgid "FLAC options"
msgstr "Volby pro FLAC"
-#: export_format_dialog.cc:925
+#: export_format_dialog.cc:939
msgid "Broadcast Wave options"
msgstr "Volby pro Broadcast Wave"
@@ -6232,11 +6398,15 @@ msgstr ""
msgid "Show Times as:"
msgstr "Ukázat Äasy jako:"
-#: export_timespan_selector.cc:204
+#: export_timespan_selector.cc:53 processor_box.cc:2510
+msgid "Select All"
+msgstr "Vybrat vše"
+
+#: export_timespan_selector.cc:223
msgid " to "
msgstr " do "
-#: export_timespan_selector.cc:348 export_timespan_selector.cc:407
+#: export_timespan_selector.cc:367 export_timespan_selector.cc:426
msgid "Range"
msgstr "Rozsah"
@@ -6252,174 +6422,142 @@ msgstr ""
msgid "getSoundResourceFile: root = %1, != response"
msgstr ""
-#: sfdb_freesound_mootcher.cc:410
+#: sfdb_freesound_mootcher.cc:410 rc_option_editor.cc:1729
msgid "%1"
msgstr ""
-#: gain_meter.cc:105 gain_meter.cc:360 gain_meter.cc:465 gain_meter.cc:859
+#: gain_meter.cc:106 gain_meter.cc:366 gain_meter.cc:471 gain_meter.cc:865
msgid "-inf"
msgstr "-inf"
-#: gain_meter.cc:111 gain_meter.cc:916
+#: gain_meter.cc:113 gain_meter.cc:927
msgid "Fader automation mode"
msgstr "Režim automatizace prolínaÄe"
-#: gain_meter.cc:112 gain_meter.cc:917
+#: gain_meter.cc:114 gain_meter.cc:928
msgid "Fader automation type"
msgstr "Druh automatizace prolínaÄe"
-#: gain_meter.cc:121 gain_meter.cc:798 panner_ui.cc:177 panner_ui.cc:589
+#: gain_meter.cc:123 gain_meter.cc:804 panner_ui.cc:178 panner_ui.cc:638
msgid "Abs"
msgstr "Abs"
-#: gain_meter.cc:765 mixer_strip.cc:1948 meter_strip.cc:337 panner_ui.cc:556
-#: route_time_axis.cc:2411
+#: gain_meter.cc:771 mixer_strip.cc:2004 meter_strip.cc:374 panner_ui.cc:605
+#: route_time_axis.cc:100 route_time_axis.cc:2560
msgid "P"
msgstr "P"
-#: gain_meter.cc:768 panner_ui.cc:559
+#: gain_meter.cc:774 panner_ui.cc:608
msgid "T"
msgstr "D"
-#: gain_meter.cc:771 panner_ui.cc:562
+#: gain_meter.cc:777 panner_ui.cc:611
msgid "W"
msgstr "Z"
-#: generic_pluginui.cc:81
+#: generic_pluginui.cc:79
msgid "<span size=\"large\">Presets</span>"
msgstr "<span size=\"large\">Předvolby</span>"
-#: generic_pluginui.cc:230
+#: generic_pluginui.cc:228
msgid "Switches"
msgstr "PÅ™epínaÄe"
-#: generic_pluginui.cc:240 generic_pluginui.cc:374 processor_box.cc:2251
+#: generic_pluginui.cc:238 generic_pluginui.cc:372 processor_box.cc:2484
msgid "Controls"
msgstr "Ovládání"
-#: generic_pluginui.cc:268
+#: generic_pluginui.cc:266
msgid "Plugin Editor: could not build control element for port %1"
msgstr ""
"Editor přídavných modulů: nepodařilo se vytvořit prvek ovládání pro přípojku "
"%1"
-#: generic_pluginui.cc:406
+#: generic_pluginui.cc:404
msgid "Meters"
msgstr "MěřiÄe"
-#: generic_pluginui.cc:421
+#: generic_pluginui.cc:419
msgid "Automation control"
msgstr "Ovládání automatického systému"
-#: generic_pluginui.cc:428
+#: generic_pluginui.cc:426
msgid "Mgnual"
msgstr "RuÄnÄ› provádÄ›né"
-#: global_port_matrix.cc:157
+#: global_port_matrix.cc:158
msgid "Audio Connection Manager"
msgstr "Správce zvukových spojení"
-#: global_port_matrix.cc:160
+#: global_port_matrix.cc:161
msgid "MIDI Connection Manager"
msgstr "Správce MIDI spojení"
-#: global_port_matrix.cc:200 io_selector.cc:210 mixer_strip.cc:719
-#: mixer_strip.cc:845
+#: global_port_matrix.cc:201 io_selector.cc:211 mixer_strip.cc:799
+#: mixer_strip.cc:895
msgid "Disconnect"
msgstr "Odpojit"
-#: global_port_matrix.cc:206 io_selector.cc:216
+#: global_port_matrix.cc:207 io_selector.cc:217
msgid "port"
msgstr "Přípojka"
-#: group_tabs.cc:308
+#: group_tabs.cc:312
msgid "Selection..."
msgstr "Výběr..."
-#: group_tabs.cc:309
+#: group_tabs.cc:313
msgid "Record Enabled..."
msgstr "Nahrávání povoleno..."
-#: group_tabs.cc:310
+#: group_tabs.cc:314
msgid "Soloed..."
msgstr "Sólo..."
-#: group_tabs.cc:316
+#: group_tabs.cc:320
msgid "Create New Group ..."
msgstr "Vytvořit novou skupinu..."
-#: group_tabs.cc:317
+#: group_tabs.cc:321
msgid "Create New Group From"
msgstr "Vytvořit novou skupinu z"
-#: group_tabs.cc:320
+#: group_tabs.cc:324
msgid "Edit Group..."
msgstr "Upravit skupinu..."
-#: group_tabs.cc:321
+#: group_tabs.cc:325
msgid "Collect Group"
msgstr "Sebrat skupinu"
-#: group_tabs.cc:322
+#: group_tabs.cc:326
msgid "Remove Group"
msgstr "Odstranit skupinu"
-#: group_tabs.cc:325
+#: group_tabs.cc:329
msgid "Remove Subgroup Bus"
msgstr "Odstranit sběrnici podskupiny"
-#: group_tabs.cc:327
+#: group_tabs.cc:331
msgid "Add New Subgroup Bus"
msgstr "Přidat novou sběrnici podskupiny"
-#: group_tabs.cc:329
+#: group_tabs.cc:333
msgid "Add New Aux Bus (pre-fader)"
msgstr "PÅ™idat novou pomocnou sbÄ›rnici (pÅ™ed-prolínaÄ)"
-#: group_tabs.cc:330
+#: group_tabs.cc:334
msgid "Add New Aux Bus (post-fader)"
msgstr "PÅ™idat novou pomocnou sbÄ›rnici (po-prolínaÄ)"
-#: group_tabs.cc:336
+#: group_tabs.cc:340
msgid "Enable All Groups"
msgstr "Povolit všechny skupiny"
-#: group_tabs.cc:337
+#: group_tabs.cc:341
msgid "Disable All Groups"
msgstr "Zakázat všechny skupiny"
-#: gtk-custom-ruler.c:133
-msgid "Lower limit of ruler"
-msgstr "Spodní hranice pravítka"
-
-#: gtk-custom-ruler.c:142
-msgid "Upper"
-msgstr "Horní hranice"
-
-#: gtk-custom-ruler.c:143
-msgid "Upper limit of ruler"
-msgstr "Horní hranice pravítka"
-
-#: gtk-custom-ruler.c:153
-msgid "Position of mark on the ruler"
-msgstr "Poloha znaÄení na pravítku"
-
-#: gtk-custom-ruler.c:162
-msgid "Max Size"
-msgstr "Největší velikost"
-
-#: gtk-custom-ruler.c:163
-msgid "Maximum size of the ruler"
-msgstr "Nejmenší velikost pravítka"
-
-#: gtk-custom-ruler.c:172
-msgid "Show Position"
-msgstr "Ukázat polohu"
-
-#: gtk-custom-ruler.c:173
-msgid "Draw current ruler position"
-msgstr "Ukázat nynější polohu pravítka"
-
#: insert_time_dialog.cc:46
msgid "Time to insert:"
msgstr "Čas k vložení:"
@@ -6476,28 +6614,28 @@ msgstr "Vložit Äas"
msgid "Importing file: %1 of %2"
msgstr "Zavádí se soubor: %1 z %2"
-#: io_selector.cc:220
+#: io_selector.cc:221
msgid "I/O selector"
msgstr "VoliÄ vstupu/výstupu"
-#: io_selector.cc:265
+#: io_selector.cc:266
msgid "%1 input"
msgstr "%1 vstup"
-#: io_selector.cc:267
+#: io_selector.cc:268
msgid "%1 output"
msgstr "%1 výstup"
-#: keyboard.cc:66
+#: keyboard.cc:70
msgid "your own"
msgstr "Vaše vlastní"
-#: keyboard.cc:129 keyboard.cc:153
+#: keyboard.cc:133 keyboard.cc:157
msgid "Default keybindings not found - %1 will be hard to use!"
msgstr ""
"Nebylo nalezeno obvyklé rozložení klávesnice. Bude složité %1 používat!"
-#: keyboard.cc:132 keyboard.cc:156
+#: keyboard.cc:136
msgid "Key bindings file \"%1\" not found. Default bindings used instead"
msgstr ""
"Soubor \"%1\" pro klávesové zkratky nebyl nalezen. Místo toho se bude "
@@ -6515,29 +6653,33 @@ msgstr "Krok"
msgid "Shortcut"
msgstr "Klávesová zkratka"
-#: keyeditor.cc:86
+#: keyeditor.cc:85
msgid "Select an action, then press the key(s) to (re)set its shortcut"
msgstr ""
"Vyberte nějaký krok a následně stiskněte klávesu(y) \n"
"kvůli (pře)nastavení klávesové zkratky"
-#: keyeditor.cc:251
+#: keyeditor.cc:99
+msgid "Reset Bindings to Defaults"
+msgstr ""
+
+#: keyeditor.cc:260
msgid "Main_menu"
msgstr "Hlavní_nabídka"
-#: keyeditor.cc:253
+#: keyeditor.cc:262
msgid "redirectmenu"
msgstr "Přesměrování nabídky"
-#: keyeditor.cc:255
+#: keyeditor.cc:264
msgid "Editor_menus"
msgstr "Nabídky_editoru"
-#: keyeditor.cc:257
+#: keyeditor.cc:266
msgid "RegionList"
msgstr "Seznam oblasti"
-#: keyeditor.cc:259
+#: keyeditor.cc:268
msgid "ProcessorMenu"
msgstr "Nabídka zpracování"
@@ -6559,134 +6701,107 @@ msgid_plural "%1 samples"
msgstr[0] "%1 vzorek"
msgstr[1] "%1 vzorků"
-#: latency_gui.cc:72 panner_ui.cc:391
+#: latency_gui.cc:72 panner_ui.cc:408
msgid "Reset"
msgstr "Nastavit znovu"
-#: latency_gui.cc:151 rhythm_ferret.cc:274 sfdb_ui.cc:1755
+#: latency_gui.cc:149 rhythm_ferret.cc:273 sfdb_ui.cc:1893
msgid "programming error: %1 (%2)"
msgstr "Chyba v programování: %1 (%2)"
-#: location_ui.cc:50 location_ui.cc:52
+#: location_ui.cc:51 location_ui.cc:53
msgid "Use PH"
msgstr "Použít PH"
-#: location_ui.cc:54
+#: location_ui.cc:55
msgid "CD"
msgstr "CD"
-#: location_ui.cc:57
+#: location_ui.cc:58
msgid "Glue"
msgstr "Přilepit"
-#: location_ui.cc:85
+#: location_ui.cc:86
msgid "Performer:"
msgstr "ÚÄinkující:"
-#: location_ui.cc:86
+#: location_ui.cc:87
msgid "Composer:"
msgstr "Skladatel:"
-#: location_ui.cc:88
+#: location_ui.cc:89
msgid "Pre-Emphasis"
msgstr "Předzdůraznění"
-#: location_ui.cc:314
+#: location_ui.cc:316
msgid "Remove this range"
msgstr "Odstranit tento rozsah"
-#: location_ui.cc:315
+#: location_ui.cc:317
msgid "Start time - middle click to locate here"
msgstr "ÄŒas zaÄátku - klepnutí prostÅ™edním tlaÄítkem myÅ¡i pro postavení se sem"
-#: location_ui.cc:316
+#: location_ui.cc:318
msgid "End time - middle click to locate here"
msgstr "ÄŒas konce - klepnutí prostÅ™edním tlaÄítkem myÅ¡i pro postavení se sem"
-#: location_ui.cc:319
+#: location_ui.cc:321
msgid "Set range start from playhead location"
msgstr "Nastavit zaÄátek rozsahu z místa ukazatele polohy"
-#: location_ui.cc:320
+#: location_ui.cc:322
msgid "Set range end from playhead location"
msgstr "Nastavit konec rozsahu z místa ukazatele polohy"
-#: location_ui.cc:324
+#: location_ui.cc:326
msgid "Remove this marker"
msgstr "Odstranit tuto znaÄku"
-#: location_ui.cc:325
+#: location_ui.cc:327
msgid "Position - middle click to locate here"
msgstr "Poloha - klepnutí prostÅ™edním tlaÄítkem myÅ¡i pro postavení se sem"
-#: location_ui.cc:327
+#: location_ui.cc:329
msgid "Set marker time from playhead location"
msgstr "Nastavit Äas znaÄky z místa ukazatele polohy"
-#: location_ui.cc:494
+#: location_ui.cc:496
msgid "You cannot put a CD marker at the start of the session"
msgstr "Na zaÄátku sezení nemůžete zřídit žádnou znaÄku na CD"
-#: location_ui.cc:720
+#: location_ui.cc:722
msgid "New Marker"
msgstr "Nová znaÄka"
-#: location_ui.cc:721
+#: location_ui.cc:723
msgid "New Range"
msgstr "Nový rozsah"
-#: location_ui.cc:734
+#: location_ui.cc:736
msgid "<b>Loop/Punch Ranges</b>"
msgstr "<b>Rozsahy smyÄky/pÅ™epsání</b>"
-#: location_ui.cc:759
+#: location_ui.cc:761
msgid "<b>Markers (Including CD Index)</b>"
msgstr "<b>ZnaÄky (vÄetnÄ› rejstříku CD)</b>"
-#: location_ui.cc:794
+#: location_ui.cc:796
msgid "<b>Ranges (Including CD Track Ranges)</b>"
msgstr "<b>ZnaÄky (vÄetnÄ› rozsahů stop CD)</b>"
-#: location_ui.cc:1036
+#: location_ui.cc:1038
msgid "add range marker"
msgstr "PÅ™idat znaÄku rozsahu"
-#: main.cc:81
+#: main.cc:79
msgid "%1 could not connect to the audio backend."
msgstr ""
-#: main.cc:194 main.cc:315
-msgid "cannot create user %3 folder %1 (%2)"
-msgstr "Nelze vytvoÅ™it uživatelův adresář urÄený pro %3 %1 (%2)"
-
-#: main.cc:201 main.cc:322
-msgid "cannot open pango.rc file %1"
-msgstr "Nelze otevřít soubor pango.rc %1"
-
-#: main.cc:226 main.cc:349
-msgid "Cannot find ArdourMono TrueType font"
-msgstr "Nelze nalézt písmo ArdourMono TrueType"
-
-#: main.cc:238 main.cc:355
-msgid "Cannot load ArdourMono TrueType font."
-msgstr "Nelze nahrát písmo ArdourMono TrueType."
-
-#: main.cc:303
-msgid ""
-"No fontconfig file found on your system. Things may looked very odd or ugly"
-msgstr ""
-"Ve vašem systému nebyl nalezen žádný soubor s nastavením písma. Věci v "
-"rozhraní mohou vypadat velice divně a ošklivě."
-
-#: main.cc:359
-msgid "Failed to set fontconfig configuration."
-msgstr "Nepodařilo se nastavit nastavení písma."
-
-#: main.cc:370 main.cc:386
+#: main.cc:104 main.cc:120
msgid "The audio backend (%1) has failed, or terminated"
msgstr ""
-#: main.cc:373
+#: main.cc:107
msgid ""
"%2 exited unexpectedly, and without notifying %1.\n"
"\n"
@@ -6695,23 +6810,33 @@ msgid ""
"Click OK to exit %1."
msgstr ""
-#: main.cc:387
+#: main.cc:121
msgid "%2 exited unexpectedly, and without notifying %1."
msgstr ""
-#: main.cc:474
+#: main.cc:223
+msgid ""
+"\n"
+" Ardour could not understand your command line "
+msgstr ""
+
+#: main.cc:225
+msgid "An error was encountered while launching Ardour"
+msgstr ""
+
+#: main.cc:233
msgid " (built using "
msgstr " (sestaveno s verzí "
-#: main.cc:477
+#: main.cc:236
msgid " and GCC version "
msgstr " a GCC verze "
-#: main.cc:487
+#: main.cc:246
msgid "Copyright (C) 1999-2012 Paul Davis"
msgstr "Autorské právo (C) 1999-2012 Paul Davis"
-#: main.cc:488
+#: main.cc:247
msgid ""
"Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
"Baker, Robin Gareus"
@@ -6719,31 +6844,31 @@ msgstr ""
"NÄ›které Äásti: autorské právo (C) Steve Harris, Ari Johnson, Brett Viren, "
"Joel Baker, Robin Gareus"
-#: main.cc:490
+#: main.cc:249
msgid "%1 comes with ABSOLUTELY NO WARRANTY"
msgstr "%1 je poskytován bez NAPROSTO ŽÃDNÉ ZÃRUKY"
-#: main.cc:491
+#: main.cc:250
msgid "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
msgstr "ani pro vhodnost pro OBCHOD nebo způsobilost pro ZVLÃÅ TNà POUŽÃVÃNÃ."
-#: main.cc:492
+#: main.cc:251
msgid "This is free software, and you are welcome to redistribute it "
msgstr "Je to svobodný program a vaše pomoc s jeho dalším šířením je vítána"
-#: main.cc:493
+#: main.cc:252
msgid "under certain conditions; see the source for copying conditions."
msgstr "dokud dbáte na urÄité podmínky, které jsou uvedeny v souboru COPYING."
-#: main.cc:500
+#: main.cc:259
msgid "could not initialize %1."
msgstr "Nepodařilo se zapnout %1."
-#: main.cc:509
+#: main.cc:269
msgid "Cannot xinstall SIGPIPE error handler"
msgstr "Nelze nainstalovat SIGPIPE, který má na starosti chyby"
-#: main.cc:515
+#: main.cc:276
msgid "could not create %1 GUI"
msgstr "Nepodařilo se vytvořit obrazové uživatelské rozhraní k %1"
@@ -6751,17 +6876,13 @@ msgstr "Nepodařilo se vytvořit obrazové uživatelské rozhraní k %1"
msgid "Display delta to edit cursor"
msgstr "Zobrazit deltu pro úpravu ukazovátka"
-#: marker.cc:251 video_image_frame.cc:121
+#: marker.cc:265
msgid "MarkerText"
msgstr "Text u znaÄky"
-#: midi_channel_selector.cc:159 midi_channel_selector.cc:397
-#: midi_channel_selector.cc:433
-msgid "All"
-msgstr "VÅ¡e"
-
#: midi_channel_selector.cc:163 midi_channel_selector.cc:402
-#: midi_channel_selector.cc:438 rc_option_editor.cc:1248 sfdb_ui.cc:538
+#: midi_channel_selector.cc:438 rc_option_editor.cc:1499
+#: rc_option_editor.cc:2084 sfdb_ui.cc:658
msgid "None"
msgstr "Žádný"
@@ -6950,87 +7071,87 @@ msgstr "Název přípojky:"
msgid "MidiPortDialog"
msgstr "Dialog pro přípojku MIDI"
-#: midi_region_view.cc:838
+#: midi_region_view.cc:822
msgid "channel edit"
msgstr "Úprava kanálu"
-#: midi_region_view.cc:874
+#: midi_region_view.cc:858
msgid "velocity edit"
msgstr "Úprava síly tónu"
-#: midi_region_view.cc:931
+#: midi_region_view.cc:915
msgid "add note"
msgstr "Přidat notu"
-#: midi_region_view.cc:1779
+#: midi_region_view.cc:1766
msgid "step add"
msgstr "Přidání kroku"
-#: midi_region_view.cc:1862
+#: midi_region_view.cc:1853
msgid "insane MIDI patch key %1:%2"
msgstr "Nesmyslný klÃ­Ä zapojení MIDI %1:%2"
-#: midi_region_view.cc:1870 midi_region_view.cc:1890
+#: midi_region_view.cc:1861 midi_region_view.cc:1881
msgid "alter patch change"
msgstr "Změnit změnu zapojení"
-#: midi_region_view.cc:1924
+#: midi_region_view.cc:1915
msgid "add patch change"
msgstr "Přidat změnu zapojení"
-#: midi_region_view.cc:1942
+#: midi_region_view.cc:1933
msgid "move patch change"
msgstr "Přesunout změnu zapojení"
-#: midi_region_view.cc:1953
+#: midi_region_view.cc:1944
msgid "delete patch change"
msgstr "Smazat změnu zapojení"
-#: midi_region_view.cc:2022
+#: midi_region_view.cc:2013
msgid "delete selection"
msgstr "Smazat výběr"
-#: midi_region_view.cc:2038
+#: midi_region_view.cc:2029
msgid "delete note"
msgstr "Smazat notu"
-#: midi_region_view.cc:2425
+#: midi_region_view.cc:2423
msgid "move notes"
msgstr "Přesunout noty"
-#: midi_region_view.cc:2647
+#: midi_region_view.cc:2645
msgid "resize notes"
msgstr "Změnit velikost not"
-#: midi_region_view.cc:2901
+#: midi_region_view.cc:2899
msgid "change velocities"
msgstr "Změnit síly tónů"
-#: midi_region_view.cc:2967
+#: midi_region_view.cc:2965
msgid "transpose"
msgstr "Převést"
-#: midi_region_view.cc:3001
+#: midi_region_view.cc:2999
msgid "change note lengths"
msgstr "Změnit délky not"
-#: midi_region_view.cc:3070
+#: midi_region_view.cc:3068
msgid "nudge"
msgstr "PostrÄit"
-#: midi_region_view.cc:3085
+#: midi_region_view.cc:3083
msgid "change channel"
msgstr "Změnit kanál"
-#: midi_region_view.cc:3130
+#: midi_region_view.cc:3128
msgid "Bank "
msgstr "Banka "
-#: midi_region_view.cc:3131
+#: midi_region_view.cc:3129
msgid "Program "
msgstr "Program "
-#: midi_region_view.cc:3132
+#: midi_region_view.cc:3130
msgid "Channel "
msgstr "Kanál "
@@ -7038,140 +7159,136 @@ msgstr "Kanál "
msgid "paste"
msgstr "Vložit"
-#: midi_region_view.cc:3761
-msgid "delete sysex"
-msgstr "Smazat SysEx"
-
-#: midi_streamview.cc:479
+#: midi_streamview.cc:491
msgid "failed to create MIDI region"
msgstr "Nepodařilo se vytvořit oblast MIDI"
-#: midi_time_axis.cc:262
+#: midi_time_axis.cc:293
msgid "External MIDI Device"
msgstr "Vnější zařízení MIDI"
-#: midi_time_axis.cc:263
+#: midi_time_axis.cc:294
msgid "External Device Mode"
msgstr "Režim vnějšího zařízení "
-#: midi_time_axis.cc:271
+#: midi_time_axis.cc:302
msgid "Chns"
msgstr "Kan"
-#: midi_time_axis.cc:272
+#: midi_time_axis.cc:303
msgid "Click to edit channel settings"
msgstr "Klepněte pro úpravu nastavení kanálu"
-#: midi_time_axis.cc:486
+#: midi_time_axis.cc:517
msgid "Show Full Range"
msgstr "Ukázat celý rozsah"
-#: midi_time_axis.cc:491
+#: midi_time_axis.cc:522
msgid "Fit Contents"
msgstr "Umístit obsah"
-#: midi_time_axis.cc:495
+#: midi_time_axis.cc:526
msgid "Note Range"
msgstr "Rozsah noty"
-#: midi_time_axis.cc:496
+#: midi_time_axis.cc:527
msgid "Note Mode"
msgstr "Režim noty"
-#: midi_time_axis.cc:497
+#: midi_time_axis.cc:528
msgid "Channel Selector"
msgstr "VoliÄ kanálů"
-#: midi_time_axis.cc:502
+#: midi_time_axis.cc:533
msgid "Color Mode"
msgstr "Barevný režim"
-#: midi_time_axis.cc:561
+#: midi_time_axis.cc:592
msgid "Bender"
msgstr "OhýbaÄ"
-#: midi_time_axis.cc:565
+#: midi_time_axis.cc:596
msgid "Pressure"
msgstr "Tlak"
-#: midi_time_axis.cc:578
+#: midi_time_axis.cc:609
msgid "Controllers"
msgstr "Ovládací prvky"
-#: midi_time_axis.cc:583
+#: midi_time_axis.cc:614
msgid "No MIDI Channels selected"
msgstr "Nejsou vybrány žádné kanály MIDI"
-#: midi_time_axis.cc:640 midi_time_axis.cc:769
+#: midi_time_axis.cc:692 midi_time_axis.cc:821
msgid "Hide all channels"
msgstr "Skrýt všechny kanály"
-#: midi_time_axis.cc:644 midi_time_axis.cc:773
+#: midi_time_axis.cc:696 midi_time_axis.cc:825
msgid "Show all channels"
msgstr "Ukázat všechny kanály"
-#: midi_time_axis.cc:655 midi_time_axis.cc:784
+#: midi_time_axis.cc:707 midi_time_axis.cc:836
msgid "Channel %1"
msgstr "Kanál %1"
-#: midi_time_axis.cc:910 midi_time_axis.cc:942
+#: midi_time_axis.cc:962 midi_time_axis.cc:994
msgid "Controllers %1-%2"
msgstr "Ovládací prvky %1-%2"
-#: midi_time_axis.cc:933 midi_time_axis.cc:936
+#: midi_time_axis.cc:985 midi_time_axis.cc:988
msgid "Controller %1"
msgstr "Ovládací prvek %1"
-#: midi_time_axis.cc:959
+#: midi_time_axis.cc:1011
msgid "Sustained"
msgstr "Držený tón"
-#: midi_time_axis.cc:966
+#: midi_time_axis.cc:1018
msgid "Percussive"
msgstr "Bicí"
-#: midi_time_axis.cc:986
+#: midi_time_axis.cc:1038
msgid "Meter Colors"
msgstr "Barvy měřidel"
-#: midi_time_axis.cc:993
+#: midi_time_axis.cc:1045
msgid "Channel Colors"
msgstr "Barvy kanálů"
-#: midi_time_axis.cc:1000
+#: midi_time_axis.cc:1052
msgid "Track Color"
msgstr "Barva stopy"
-#: midi_time_axis.cc:1488 midi_time_axis.cc:1494 midi_time_axis.cc:1504
-#: midi_time_axis.cc:1510
+#: midi_time_axis.cc:1687 midi_time_axis.cc:1693 midi_time_axis.cc:1703
+#: midi_time_axis.cc:1709
msgid "all"
msgstr ""
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1507
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1706
msgid "some"
msgstr ""
-#: midi_tracer.cc:46
+#: midi_tracer.cc:49
msgid "Line history: "
msgstr "Historie linky: "
-#: midi_tracer.cc:54
+#: midi_tracer.cc:57
msgid "Auto-Scroll"
msgstr "Automaticky projíždět"
-#: midi_tracer.cc:55
+#: midi_tracer.cc:58
msgid "Decimal"
msgstr "Desetinný"
-#: midi_tracer.cc:56 rc_option_editor.cc:657
+#: midi_tracer.cc:59 rc_option_editor.cc:717
msgid "Enabled"
msgstr "Povoleno"
-#: midi_tracer.cc:57
+#: midi_tracer.cc:60
msgid "Delta times"
msgstr "ÄŒasy delta"
-#: midi_tracer.cc:70
+#: midi_tracer.cc:73
msgid "Port:"
msgstr "Přípojka:"
@@ -7179,35 +7296,35 @@ msgstr "Přípojka:"
msgid "New velocity"
msgstr "Nová síla tónu"
-#: missing_file_dialog.cc:34
-msgid "Missing File!"
-msgstr "Chybí soubor!"
+#: missing_file_dialog.cc:35
+msgid "Missing File"
+msgstr ""
-#: missing_file_dialog.cc:36
+#: missing_file_dialog.cc:37
msgid "Select a folder to search"
msgstr "Vybrat složku k prohledání"
-#: missing_file_dialog.cc:37
+#: missing_file_dialog.cc:38
msgid "Add chosen folder to search path, and try again"
msgstr "Přidat vybranou složku do vyhledávací cesty a zkusit to znovu"
-#: missing_file_dialog.cc:39
+#: missing_file_dialog.cc:40
msgid "Stop loading this session"
msgstr "Zastavit nahrávání tohoto sezení"
-#: missing_file_dialog.cc:40
+#: missing_file_dialog.cc:41
msgid "Skip all missing files"
msgstr "PÅ™eskoÄit vÅ¡echny chybÄ›jící soubory"
-#: missing_file_dialog.cc:41
+#: missing_file_dialog.cc:42
msgid "Skip this file"
msgstr "PÅ™eskoÄit tento soubor"
-#: missing_file_dialog.cc:52
+#: missing_file_dialog.cc:53
msgid "audio"
msgstr "Zvuk"
-#: missing_file_dialog.cc:65
+#: missing_file_dialog.cc:70
msgid ""
"%1 cannot find the %2 file\n"
"\n"
@@ -7227,7 +7344,7 @@ msgstr ""
"<tt>%4</tt>\n"
"\n"
-#: missing_file_dialog.cc:99
+#: missing_file_dialog.cc:104
msgid "Click to choose an additional folder"
msgstr "Klepnout pro výbÄ›r dodateÄné složky"
@@ -7235,7 +7352,7 @@ msgstr "Klepnout pro výbÄ›r dodateÄné složky"
msgid "Missing Plugins"
msgstr "Chybějící přídavné moduly"
-#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:59
+#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:60
msgid "OK"
msgstr "OK"
@@ -7291,6 +7408,10 @@ msgstr "Přepnout vybrané zpracovatele"
msgid "Toggle Selected Plugins"
msgstr "Přepnout vybrané přídavné moduly"
+#: mixer_actor.cc:70
+msgid "Deselect all srips and processors"
+msgstr ""
+
#: mixer_actor.cc:72 mixer_actor.cc:73
msgid "Scroll Mixer Window to the left"
msgstr "ProjíždÄ›t okno se směšovaÄem doleva"
@@ -7307,20 +7428,20 @@ msgstr "Nahrané vazby směšovaÄe z %1"
msgid "Could not find mixer.bindings in search path %1"
msgstr "V prohledávané cestÄ› %1 se nepodaÅ™ilo nalézt vazby směšovaÄe"
-#: mixer_strip.cc:93 mixer_strip.cc:121 mixer_strip.cc:1721
+#: mixer_strip.cc:98 mixer_strip.cc:127
msgid "pre"
msgstr "Před"
-#: mixer_strip.cc:95 mixer_strip.cc:123 mixer_strip.cc:354 mixer_strip.cc:1300
-#: rc_option_editor.cc:1868
+#: mixer_strip.cc:100 mixer_strip.cc:129 mixer_strip.cc:376
+#: mixer_strip.cc:1373 rc_option_editor.cc:2203
msgid "Comments"
msgstr "Poznámka"
-#: mixer_strip.cc:147
+#: mixer_strip.cc:151
msgid "Click to toggle the width of this mixer strip."
msgstr "KlepnÄ›te pro pÅ™epnutí šířky proužku tohoto směšovaÄe."
-#: mixer_strip.cc:149
+#: mixer_strip.cc:153
msgid ""
"\n"
"%1-%2-click to toggle the width of all strips."
@@ -7328,297 +7449,285 @@ msgstr ""
"\n"
"%1-%2 klepnutí pro přepnutí šířky všech proužků."
-#: mixer_strip.cc:156
+#: mixer_strip.cc:160
msgid "Hide this mixer strip"
msgstr "Skrýt tento proužek směšovaÄe"
-#: mixer_strip.cc:167
+#: mixer_strip.cc:171
msgid "Click to select metering point"
msgstr "Vybrat měřicí bod ukazatele hladin"
-#: mixer_strip.cc:173
-msgid "tupni"
-msgstr "výstup"
-
-#: mixer_strip.cc:192
+#: mixer_strip.cc:191
msgid "Isolate Solo"
msgstr "Samostatné sólo"
-#: mixer_strip.cc:201
+#: mixer_strip.cc:200
msgid "Lock Solo Status"
msgstr "Zamknout stav sóla"
-#: mixer_strip.cc:203 mixer_strip.cc:1926
-msgid "lock"
-msgstr "Zam"
-
-#: mixer_strip.cc:204 mixer_strip.cc:1925
-msgid "iso"
-msgstr "Sam"
+#: mixer_strip.cc:203 mixer_strip.cc:1982
+msgid "Iso"
+msgstr ""
-#: mixer_strip.cc:258
+#: mixer_strip.cc:259
msgid "Mix group"
msgstr "Skupina směsi"
-#: mixer_strip.cc:351 rc_option_editor.cc:1865
+#: mixer_strip.cc:372 rc_option_editor.cc:2199
msgid "Phase Invert"
msgstr "Obrácení fáze"
-#: mixer_strip.cc:352 rc_option_editor.cc:1866 route_ui.cc:1218
-msgid "Solo Safe"
-msgstr "Zajištěné sólo"
-
-#: mixer_strip.cc:355 mixer_ui.cc:124 route_time_axis.cc:673
-msgid "Group"
-msgstr "Skupina"
+#: mixer_strip.cc:373 rc_option_editor.cc:2200
+msgid "Record & Monitor"
+msgstr ""
-#: mixer_strip.cc:356 rc_option_editor.cc:1869
-msgid "Meter Point"
-msgstr "Měřicí bod"
+#: mixer_strip.cc:374 rc_option_editor.cc:2201
+msgid "Solo Iso / Lock"
+msgstr ""
-#: mixer_strip.cc:470
+#: mixer_strip.cc:530
msgid "Enable/Disable MIDI input"
msgstr "Povolit/Zakázat vstup MIDI"
-#: mixer_strip.cc:622
-msgid ""
-"Aux\n"
-"Sends"
+#: mixer_strip.cc:694
+msgid "Aux"
msgstr ""
-"Pomocné\n"
-"poslání"
-#: mixer_strip.cc:646
+#: mixer_strip.cc:716
msgid "Snd"
msgstr "Posl"
-#: mixer_strip.cc:701 mixer_strip.cc:829 processor_box.cc:2193
+#: mixer_strip.cc:782 mixer_strip.cc:880 processor_box.cc:2426
msgid "Not connected to audio engine - no I/O changes are possible"
msgstr ""
-#: mixer_strip.cc:1096
+#: mixer_strip.cc:1163
msgid "<b>INPUT</b> to %1"
msgstr "<b>VSTUP</b> do %1"
-#: mixer_strip.cc:1099
+#: mixer_strip.cc:1166
msgid "<b>OUTPUT</b> from %1"
msgstr "<b>VÃSTUP</b> z %1"
-#: mixer_strip.cc:1174
+#: mixer_strip.cc:1241
msgid "Disconnected"
msgstr "Odpojeno"
-#: mixer_strip.cc:1303
+#: mixer_strip.cc:1376
msgid "*Comments*"
msgstr "*Poznámky*"
-#: mixer_strip.cc:1310
+#: mixer_strip.cc:1383
msgid "Cmt"
msgstr "Pozn"
-#: mixer_strip.cc:1313
+#: mixer_strip.cc:1386
msgid "*Cmt*"
msgstr "*Pozn*"
-#: mixer_strip.cc:1319
+#: mixer_strip.cc:1392
msgid "Click to Add/Edit Comments"
msgstr "Klepnout pro Přidat/Upravit poznámky"
-#: mixer_strip.cc:1358
-msgid ": comment editor"
-msgstr ": editor poznámek"
-
-#: mixer_strip.cc:1435
+#: mixer_strip.cc:1436
msgid "Grp"
msgstr "Skup"
-#: mixer_strip.cc:1438
+#: mixer_strip.cc:1439
msgid "~G"
msgstr "~S"
-#: mixer_strip.cc:1467
+#: mixer_strip.cc:1468 route_time_axis.cc:534
+msgid "Color..."
+msgstr "Barva..."
+
+#: mixer_strip.cc:1470 route_time_axis.cc:536
msgid "Comments..."
msgstr "Poznámky..."
-#: mixer_strip.cc:1469
+#: mixer_strip.cc:1472 route_time_axis.cc:538
+msgid "Inputs..."
+msgstr ""
+
+#: mixer_strip.cc:1474 route_time_axis.cc:540
+msgid "Outputs..."
+msgstr ""
+
+#: mixer_strip.cc:1479
msgid "Save As Template..."
msgstr "Uložit jako předlohu..."
-#: mixer_strip.cc:1475 route_group_dialog.cc:39 route_time_axis.cc:696
+#: mixer_strip.cc:1485 route_group_dialog.cc:45 route_time_axis.cc:814
msgid "Active"
msgstr "Činné"
-#: mixer_strip.cc:1482
+#: mixer_strip.cc:1493
msgid "Adjust Latency..."
msgstr "Upravit prodlevu..."
-#: mixer_strip.cc:1485
+#: mixer_strip.cc:1496
msgid "Protect Against Denormals"
msgstr "Chránit proti neobvyklým hodnotám"
-#: mixer_strip.cc:1491 route_time_axis.cc:435
+#: mixer_strip.cc:1502 route_time_axis.cc:553
msgid "Remote Control ID..."
msgstr "ID dálkového ovládání..."
-#: mixer_strip.cc:1717 mixer_strip.cc:1741
-msgid "in"
-msgstr "Vst"
-
-#: mixer_strip.cc:1725
-msgid "post"
-msgstr "Po"
-
-#: mixer_strip.cc:1729
-msgid "out"
-msgstr "Výst"
-
-#: mixer_strip.cc:1734
-msgid "custom"
-msgstr "Vlastní"
+#: mixer_strip.cc:1778
+msgid "Pre"
+msgstr ""
-#: mixer_strip.cc:1745
-msgid "pr"
-msgstr "Pre"
+#: mixer_strip.cc:1782
+msgid "Post"
+msgstr ""
-#: mixer_strip.cc:1749
-msgid "po"
-msgstr "Po"
+#: mixer_strip.cc:1802
+msgid "Pr"
+msgstr ""
-#: mixer_strip.cc:1753
-msgid "o"
-msgstr "o"
+#: mixer_strip.cc:1806
+msgid "Po"
+msgstr ""
-#: mixer_strip.cc:1758
-msgid "c"
-msgstr "c"
+#: mixer_strip.cc:1815
+msgid "C"
+msgstr ""
-#: mixer_strip.cc:1906 route_ui.cc:143
+#: mixer_strip.cc:1963 route_ui.cc:164
msgid "Disk"
msgstr "Disk"
-#: mixer_strip.cc:1918 monitor_section.cc:63
+#: mixer_strip.cc:1975 monitor_section.cc:71
msgid "AFL"
msgstr "AFL"
-#: mixer_strip.cc:1921 monitor_section.cc:64
+#: mixer_strip.cc:1978 monitor_section.cc:72
msgid "PFL"
msgstr "PFL"
-#: mixer_strip.cc:1933
+#: mixer_strip.cc:1989 meter_strip.cc:380
msgid "D"
msgstr "D"
-#: mixer_strip.cc:1953
-msgid "i"
-msgstr "Vst"
-
-#: mixer_strip.cc:2128
-msgid "Pre-fader"
+#: mixer_strip.cc:2196
+msgid "Pre Fader"
msgstr "PÅ™ed-prolínaÄ"
-#: mixer_strip.cc:2129
-msgid "Post-fader"
+#: mixer_strip.cc:2197
+msgid "Post Fader"
msgstr "Po-prolínaÄ"
-#: mixer_strip.cc:2166 meter_strip.cc:728
+#: mixer_strip.cc:2235 meter_strip.cc:818
msgid "Change all in Group to %1"
msgstr ""
-#: mixer_strip.cc:2168 meter_strip.cc:730
+#: mixer_strip.cc:2237 meter_strip.cc:820
msgid "Change all to %1"
msgstr ""
-#: mixer_strip.cc:2170 meter_strip.cc:732
+#: mixer_strip.cc:2239 meter_strip.cc:822
msgid "Change same track-type to %1"
msgstr ""
-#: mixer_ui.cc:1189
+#: mixer_ui.cc:129 route_time_axis.cc:791
+msgid "Group"
+msgstr "Skupina"
+
+#: mixer_ui.cc:1209
msgid "track display list item for renamed strip not found!"
msgstr ""
"OznaÄení pro pÅ™ejmenovaný proužek (mixážní kanál) v seznamu pro zobrazení "
"stop nelze najít!"
-#: mixer_ui.cc:1273
+#: mixer_ui.cc:1293
msgid "-all-"
msgstr "-vše-"
-#: mixer_ui.cc:1794
+#: mixer_ui.cc:1829
msgid "Strips"
msgstr "Proužky"
-#: meter_strip.cc:764
+#: meter_strip.cc:157
+msgid "Reset Peak"
+msgstr ""
+
+#: meter_strip.cc:854
msgid "Variable height"
msgstr ""
-#: meter_strip.cc:765
+#: meter_strip.cc:855
msgid "Short"
msgstr ""
-#: meter_strip.cc:766
+#: meter_strip.cc:856
msgid "Tall"
msgstr ""
-#: meter_strip.cc:767
+#: meter_strip.cc:857
msgid "Grande"
msgstr ""
-#: meter_strip.cc:768
+#: meter_strip.cc:858
msgid "Venti"
msgstr ""
-#: meter_patterns.cc:81
+#: meter_patterns.cc:82
msgid "Peak"
msgstr ""
-#: meter_patterns.cc:84
+#: meter_patterns.cc:85
msgid "RMS + Peak"
msgstr ""
-#: meter_patterns.cc:87
+#: meter_patterns.cc:88
msgid "IEC1/DIN"
msgstr ""
-#: meter_patterns.cc:90
+#: meter_patterns.cc:91
msgid "IEC1/Nordic"
msgstr ""
-#: meter_patterns.cc:93
+#: meter_patterns.cc:94
msgid "IEC2/BBC"
msgstr ""
-#: meter_patterns.cc:96
+#: meter_patterns.cc:97
msgid "IEC2/EBU"
msgstr ""
-#: meter_patterns.cc:99
+#: meter_patterns.cc:100
msgid "K20"
msgstr ""
-#: meter_patterns.cc:102
+#: meter_patterns.cc:103
msgid "K14"
msgstr ""
-#: meter_patterns.cc:105
+#: meter_patterns.cc:106
+msgid "K12"
+msgstr ""
+
+#: meter_patterns.cc:109
msgid "VU"
msgstr ""
-#: monitor_section.cc:62
+#: monitor_section.cc:70
msgid "SiP"
msgstr "SiP"
-#: monitor_section.cc:86
-msgid "soloing"
+#: monitor_section.cc:97 route_group_dialog.cc:49
+msgid "Soloing"
msgstr "Sólo"
-#: monitor_section.cc:90
-msgid "isolated"
-msgstr "Samostatné"
+#: monitor_section.cc:101
+msgid "Isolated"
+msgstr ""
-#: monitor_section.cc:94
-msgid "auditioning"
-msgstr "Poslech"
+#: monitor_section.cc:105
+msgid "Auditioning"
+msgstr ""
-#: monitor_section.cc:104
+#: monitor_section.cc:115
msgid ""
"When active, something is solo-isolated.\n"
"Click to de-isolate everything"
@@ -7626,7 +7735,7 @@ msgstr ""
"Je-li v Äinnosti, nÄ›co je sólo-samostatnÄ›.\n"
"Pro vypnutí osamostatnění klepněte na cokoli."
-#: monitor_section.cc:107
+#: monitor_section.cc:118
msgid ""
"When active, auditioning is active.\n"
"Click to stop the audition"
@@ -7634,27 +7743,27 @@ msgstr ""
"Je-li v Äinnosti, běží poslechu.\n"
"Klepnutím se poslech zastaví."
-#: monitor_section.cc:124
+#: monitor_section.cc:135
msgid "Solo controls affect solo-in-place"
msgstr "Ovládací prvky pro sólo ovlivní sólo v místě"
-#: monitor_section.cc:130
+#: monitor_section.cc:141
msgid "Solo controls toggle after-fader-listen"
msgstr "Ovládací prvky pro sólo pÅ™epnou poslech po prolínaÄi"
-#: monitor_section.cc:136
+#: monitor_section.cc:147
msgid "Solo controls toggle pre-fader-listen"
msgstr "Ovládací prvky pro sólo pÅ™epnou poslech pÅ™ed prolínaÄem"
-#: monitor_section.cc:144
+#: monitor_section.cc:157
msgid "Gain increase for soloed signals (0dB is normal)"
msgstr "Zvětšení zesílení pro samostatné signály (0 dB je normální)"
-#: monitor_section.cc:150
+#: monitor_section.cc:171
msgid "Solo Boost"
msgstr "Povzbuzení sóla"
-#: monitor_section.cc:162
+#: monitor_section.cc:186
msgid ""
"Gain reduction non-soloed signals\n"
"A value above -inf dB causes \"solo-in-front\""
@@ -7662,32 +7771,32 @@ msgstr ""
"Zmenšení zesílení pro nesamostatné signály\n"
"Hodnota nad -inf dB způsobí \"sólo v Äele\""
-#: monitor_section.cc:164
+#: monitor_section.cc:197
msgid "SiP Cut"
msgstr "Vyjmutí Sip"
-#: monitor_section.cc:176
+#: monitor_section.cc:212
msgid "Gain reduction to use when dimming monitor outputs"
msgstr "Zmenšení zesílení k použití při tlumení výstupů sledování"
-#: monitor_section.cc:181
+#: monitor_section.cc:226 monitor_section.cc:284
msgid "Dim"
msgstr "Tlumený"
-#: monitor_section.cc:190
-msgid "excl. solo"
-msgstr "Výhradní sólo"
+#: monitor_section.cc:236
+msgid "Excl. Solo"
+msgstr ""
-#: monitor_section.cc:192
+#: monitor_section.cc:238
msgid "Exclusive solo means that only 1 solo is active at a time"
msgstr ""
"Výhradní sólo znamená, že v jednu chvíli je v Äinnosti pouze jedno sólo"
-#: monitor_section.cc:199
-msgid "solo » mute"
-msgstr "Sólo » Ztlumit"
+#: monitor_section.cc:245
+msgid "Solo » Mute"
+msgstr ""
-#: monitor_section.cc:201
+#: monitor_section.cc:247
msgid ""
"If enabled, solo will override mute\n"
"(a soloed & muted track or bus will be audible)"
@@ -7695,71 +7804,63 @@ msgstr ""
"Je-li povoleno, sólo dostane přednost před ztlumením\n"
"(bude slyšitelná samostatná a ztlumená stopa nebo sběrnice)"
-#: monitor_section.cc:227
-msgid "mute"
-msgstr "Ztlumit"
-
-#: monitor_section.cc:238
-msgid "dim"
-msgstr "Zeslabit"
-
-#: monitor_section.cc:245
-msgid "mono"
-msgstr "Mono"
-
-#: monitor_section.cc:266
+#: monitor_section.cc:324
msgid "Monitor"
msgstr "Sledování"
-#: monitor_section.cc:678
+#: monitor_section.cc:751
msgid "Switch monitor to mono"
msgstr "Přepnout sledování na mono"
-#: monitor_section.cc:681
+#: monitor_section.cc:754
msgid "Cut monitor"
msgstr "Vyjmout sledování"
-#: monitor_section.cc:684
+#: monitor_section.cc:757
msgid "Dim monitor"
msgstr "Zeslabit sledování"
-#: monitor_section.cc:687
+#: monitor_section.cc:760
msgid "Toggle exclusive solo mode"
msgstr "Přepnout režim výhradní sólo"
-#: monitor_section.cc:693
+#: monitor_section.cc:766
msgid "Toggle mute overrides solo mode"
msgstr "PÅ™epnout režim ztlumení potlaÄí sólo"
-#: monitor_section.cc:705
+#: monitor_section.cc:778
msgid "Cut monitor channel %1"
msgstr "Vyjmout kanál pro sledování %1"
-#: monitor_section.cc:710
+#: monitor_section.cc:783
msgid "Dim monitor channel %1"
msgstr "Ztlumit kanál pro sledování %1"
-#: monitor_section.cc:715
+#: monitor_section.cc:788
msgid "Solo monitor channel %1"
msgstr "Sólo pro kanál pro sledování %1"
-#: monitor_section.cc:720
+#: monitor_section.cc:793
msgid "Invert monitor channel %1"
msgstr "Obrátit kanál pro sledování %1"
-#: monitor_section.cc:730
+#: monitor_section.cc:803
msgid "In-place solo"
msgstr "Sólo přímo na místě"
-#: monitor_section.cc:732
+#: monitor_section.cc:805
msgid "After Fade Listen (AFL) solo"
msgstr "Sólo poslech po prolínání (AFL)"
-#: monitor_section.cc:734
+#: monitor_section.cc:807
msgid "Pre Fade Listen (PFL) solo"
msgstr "Sólo poslech před prolínáním (PFL)"
-#: mono_panner.cc:101
+#: mono_panner.cc:109 stereo_panner.cc:117
+msgid "bypassed"
+msgstr ""
+
+#: mono_panner.cc:123
#, c-format
msgid "L:%3d R:%3d"
msgstr "L:%3d P:%3d"
@@ -7863,7 +7964,7 @@ msgstr "Normalizovat oblasti"
msgid "Normalize region"
msgstr "Normalizovat oblast"
-#: normalize_dialog.cc:49 strip_silence_dialog.cc:70
+#: normalize_dialog.cc:49 strip_silence_dialog.cc:66
msgid "dbFS"
msgstr "dbFS"
@@ -7987,33 +8088,26 @@ msgstr ""
" -k, --keybindings filename Název souboru pro nahrání rozložení "
"klávesnice (výchozím je: ~/.ardour3/ardour.bindings)\n"
-#: panner2d.cc:781
+#: panner2d.cc:852
msgid "Panner (2D)"
msgstr "VyvažovaÄ (2D)"
-#: panner2d.cc:783 panner_ui.cc:383 plugin_ui.cc:448
+#: panner2d.cc:854 panner_ui.cc:399 plugin_ui.cc:449
msgid "Bypass"
msgstr "Obejít"
-#: panner2d.cc:787
+#: panner2d.cc:860
msgid "Panner"
msgstr "OvladaÄ vyvážení"
-#: panner_ui.cc:70
+#: panner_ui.cc:71
msgid "Pan automation mode"
msgstr "Režim automatizace vyvážení"
-#: panner_ui.cc:71
+#: panner_ui.cc:72
msgid "Pan automation type"
msgstr "Druh automatizace vyvážení"
-#: panner_ui.cc:294
-msgid ""
-"No panner user interface is currently available for %1-in/2out tracks/busses"
-msgstr ""
-"V souÄasnosti není pro %1-in/2out tracks/busses dostupné žádné uživatelské "
-"rozhraní pro ovladaÄ vyvážení"
-
#: playlist_selector.cc:43
msgid "Playlists"
msgstr "Seznamy skladeb"
@@ -8038,39 +8132,39 @@ msgstr "Nepřidělené"
msgid "Imported"
msgstr "Zavedeno"
-#: plugin_eq_gui.cc:75 plugin_eq_gui.cc:99
+#: plugin_eq_gui.cc:85 plugin_eq_gui.cc:109
msgid "dB scale"
msgstr "Stupnice dB"
-#: plugin_eq_gui.cc:106
+#: plugin_eq_gui.cc:116
msgid "Show phase"
msgstr "Ukázat fázi"
-#: plugin_selector.cc:53 plugin_selector.cc:220
+#: plugin_selector.cc:53 plugin_selector.cc:229
msgid "Name contains"
msgstr "Název obsahuje"
-#: plugin_selector.cc:54 plugin_selector.cc:224
+#: plugin_selector.cc:54 plugin_selector.cc:233
msgid "Type contains"
msgstr "Druh obsahuje"
-#: plugin_selector.cc:55 plugin_selector.cc:222
+#: plugin_selector.cc:55 plugin_selector.cc:231
msgid "Category contains"
msgstr "Skupina obsahuje"
-#: plugin_selector.cc:56 plugin_selector.cc:244
+#: plugin_selector.cc:56 plugin_selector.cc:253
msgid "Author contains"
msgstr "Autor obsahuje"
-#: plugin_selector.cc:57 plugin_selector.cc:246
+#: plugin_selector.cc:57 plugin_selector.cc:255
msgid "Library contains"
msgstr "Sbírka obsahuje"
-#: plugin_selector.cc:58 plugin_selector.cc:210 plugin_selector.cc:521
+#: plugin_selector.cc:58 plugin_selector.cc:219 plugin_selector.cc:537
msgid "Favorites only"
msgstr "Pouze oblíbené"
-#: plugin_selector.cc:59 plugin_selector.cc:214 plugin_selector.cc:521
+#: plugin_selector.cc:59 plugin_selector.cc:223 plugin_selector.cc:537
msgid "Hidden only"
msgstr "Pouze skryté"
@@ -8078,68 +8172,68 @@ msgstr "Pouze skryté"
msgid "Plugin Manager"
msgstr "Správce přídavných modulů"
-#: plugin_selector.cc:84
+#: plugin_selector.cc:85
msgid "Fav"
msgstr "Oblíbené"
-#: plugin_selector.cc:86
+#: plugin_selector.cc:87
msgid "Available Plugins"
msgstr "Dostupné přídavné moduly"
-#: plugin_selector.cc:87
+#: plugin_selector.cc:88
msgid "Type"
msgstr "Druh"
-#: plugin_selector.cc:88
+#: plugin_selector.cc:89
msgid "Category"
msgstr "Skupina"
-#: plugin_selector.cc:89
+#: plugin_selector.cc:90
msgid "Creator"
msgstr "Tvůrce"
-#: plugin_selector.cc:90
+#: plugin_selector.cc:91
msgid "# Audio In"
msgstr "# Vstup zvuku"
-#: plugin_selector.cc:91
+#: plugin_selector.cc:92
msgid "# Audio Out"
msgstr "# Výstup zvuku"
-#: plugin_selector.cc:92
+#: plugin_selector.cc:93
msgid "# MIDI In"
msgstr "# Vstup MIDI"
-#: plugin_selector.cc:93
+#: plugin_selector.cc:94
msgid "# MIDI Out"
msgstr "# Výstup MIDI"
-#: plugin_selector.cc:115
+#: plugin_selector.cc:116
msgid "Plugins to be connected"
msgstr "Přídavné moduly ke spojení"
-#: plugin_selector.cc:128
+#: plugin_selector.cc:129
msgid "Add a plugin to the effect list"
msgstr "PÅ™idat přídavný modul do seznamu s úÄinky"
-#: plugin_selector.cc:132
+#: plugin_selector.cc:133
msgid "Remove a plugin from the effect list"
msgstr "Odstranit přídavný modul ze seznamu s úÄinky"
-#: plugin_selector.cc:134
+#: plugin_selector.cc:135
msgid "Update available plugins"
msgstr "Obnovit dostupné přídavné moduly"
-#: plugin_selector.cc:171
+#: plugin_selector.cc:172
msgid "Insert Plugin(s)"
msgstr "Vložit přídavný(é) modul(y)"
-#: plugin_selector.cc:320 plugin_selector.cc:321 plugin_selector.cc:322
-#: plugin_selector.cc:323
+#: plugin_selector.cc:337 plugin_selector.cc:338 plugin_selector.cc:339
+#: plugin_selector.cc:340
msgid "variable"
msgstr "Proměnná"
-#: plugin_selector.cc:480
+#: plugin_selector.cc:496
msgid ""
"The plugin \"%1\" could not be loaded\n"
"\n"
@@ -8149,29 +8243,29 @@ msgstr ""
"\n"
"Více podrobností hledejte a možná najdete v okně se zápisem"
-#: plugin_selector.cc:628
+#: plugin_selector.cc:644
msgid "Favorites"
msgstr "Oblíbené"
-#: plugin_selector.cc:630
+#: plugin_selector.cc:646
msgid "Plugin Manager..."
msgstr "Správce přídavných modulů..."
-#: plugin_selector.cc:634
+#: plugin_selector.cc:650
msgid "By Creator"
msgstr "Podle tvůrce"
-#: plugin_selector.cc:637
+#: plugin_selector.cc:653
msgid "By Category"
msgstr "Podle skupiny"
-#: plugin_ui.cc:114
+#: plugin_ui.cc:113
msgid "Eh? LADSPA plugins don't have editors!"
msgstr ""
"Pozoruhodné... Přídavné moduly LADSPA nemají žádné grafické uživatelské "
"rozhraní!"
-#: plugin_ui.cc:123 plugin_ui.cc:226
+#: plugin_ui.cc:122 plugin_ui.cc:227
msgid ""
"unknown type of editor-supplying plugin (note: no VST support in this "
"version of %1)"
@@ -8179,11 +8273,11 @@ msgstr ""
"Neznámý druh přídavného modulu (Upozornění: tato verze %1 nepodporuje žádné "
"přídavné moduly VST)"
-#: plugin_ui.cc:126
+#: plugin_ui.cc:125
msgid "unknown type of editor-supplying plugin"
msgstr "Neznámý druh přídavného modulu"
-#: plugin_ui.cc:256
+#: plugin_ui.cc:257
msgid ""
"unknown type of editor-supplying plugin (note: no linuxVST support in this "
"version of %1)"
@@ -8191,23 +8285,23 @@ msgstr ""
"Neznámý druh přídavného modulu pro editor (Upozornění: tato verze %1 "
"nepodporuje linuxové VST)"
-#: plugin_ui.cc:328
+#: plugin_ui.cc:329
msgid "create_lv2_editor called on non-LV2 plugin"
msgstr "create_lv2_editor používaný na ne-LV2 přídavný modul"
-#: plugin_ui.cc:414
+#: plugin_ui.cc:415
msgid "Add"
msgstr "Přidat"
-#: plugin_ui.cc:418
+#: plugin_ui.cc:419
msgid "Description"
msgstr "Popis"
-#: plugin_ui.cc:419
+#: plugin_ui.cc:420
msgid "Plugin analysis"
msgstr "Rozbor přídavného modulu"
-#: plugin_ui.cc:426
+#: plugin_ui.cc:427
msgid ""
"Presets (if any) for this plugin\n"
"(Both factory and user-created)"
@@ -8215,23 +8309,23 @@ msgstr ""
"Přednastavení (jsou-li) pro tento přídavný modul\n"
"(tovární i vytvořená uživatelem)"
-#: plugin_ui.cc:427
+#: plugin_ui.cc:428
msgid "Save a new preset"
msgstr "Uložit nové přednastavení"
-#: plugin_ui.cc:428
+#: plugin_ui.cc:429
msgid "Save the current preset"
msgstr "Uložit nynější přednastavení"
-#: plugin_ui.cc:429
+#: plugin_ui.cc:430
msgid "Delete the current preset"
msgstr "Smazat nynější přednastavení"
-#: plugin_ui.cc:430
+#: plugin_ui.cc:431
msgid "Disable signal processing by the plugin"
msgstr "Zakázat zpracování signálu přídavným modulem"
-#: plugin_ui.cc:463 plugin_ui.cc:659
+#: plugin_ui.cc:464 plugin_ui.cc:660
msgid ""
"Click to allow the plugin to receive keyboard events that %1 would normally "
"use as a shortcut"
@@ -8239,41 +8333,41 @@ msgstr ""
"Klepněte pro povolení přídavného modulu pro přijímání událostí klávesnice, "
"kterých by %1 obyÄejnÄ› použil jako zkratek"
-#: plugin_ui.cc:464
+#: plugin_ui.cc:465
msgid "Click to enable/disable this plugin"
msgstr "Povolit/Zakázat tento přídavný modul"
-#: plugin_ui.cc:503
+#: plugin_ui.cc:504
msgid "latency (%1 sample)"
msgid_plural "latency (%1 samples)"
msgstr[0] "Prodleva (%1 vzorky)"
msgstr[1] "Prodleva (%1 vzorků)"
-#: plugin_ui.cc:505
+#: plugin_ui.cc:506
msgid "latency (%1 ms)"
msgstr "Prodleva (%1 ms)"
-#: plugin_ui.cc:516
+#: plugin_ui.cc:517
msgid "Edit Latency"
msgstr "Upravit prodlevu"
-#: plugin_ui.cc:555
+#: plugin_ui.cc:556
msgid "Plugin preset %1 not found"
msgstr "Přednastavení přídavného modulu %1 nenalezeno"
-#: plugin_ui.cc:592
+#: plugin_ui.cc:593
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"full version"
msgstr ""
-#: plugin_ui.cc:612 plugin_ui.cc:627
+#: plugin_ui.cc:613 plugin_ui.cc:628
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"newer version"
msgstr ""
-#: plugin_ui.cc:666
+#: plugin_ui.cc:667
msgid "Click to allow normal use of %1 keyboard shortcuts"
msgstr "Klepněte pro povolení obvyklého používání klávesových zkratek v %1"
@@ -8349,66 +8443,66 @@ msgstr "Systém:"
msgid "alsa_pcm"
msgstr "alsa_pcm"
-#: port_insert_ui.cc:40
+#: port_insert_ui.cc:39
msgid "Measure Latency"
msgstr "Taktová prodleva"
-#: port_insert_ui.cc:51
+#: port_insert_ui.cc:50
msgid "Send/Output"
msgstr "Odeslání/Výstup"
-#: port_insert_ui.cc:52
+#: port_insert_ui.cc:51
msgid "Return/Input"
msgstr "Návrat/Vstup"
-#: port_insert_ui.cc:86
+#: port_insert_ui.cc:85
msgid "No signal detected"
msgstr "Nezjištěn žádný signál"
-#: port_insert_ui.cc:166
+#: port_insert_ui.cc:165
msgid "Port Insert "
msgstr "Vložení přípojky "
-#: port_matrix.cc:331 port_matrix.cc:357
+#: port_matrix.cc:332 port_matrix.cc:358
msgid "<b>Sources</b>"
msgstr "<b>Zdroje</b>"
-#: port_matrix.cc:332 port_matrix.cc:358
+#: port_matrix.cc:333 port_matrix.cc:359
msgid "<b>Destinations</b>"
msgstr "<b>Cíle</b>"
-#: port_matrix.cc:440 port_matrix.cc:448
+#: port_matrix.cc:441 port_matrix.cc:449
#, c-format
msgid "Add %s %s"
msgstr "Přidat %s %s"
-#: port_matrix.cc:456
+#: port_matrix.cc:457
#, c-format
msgid "Rename '%s'..."
msgstr "Přejmenovat '%s'..."
-#: port_matrix.cc:472
+#: port_matrix.cc:473
msgid "Remove all"
msgstr "Odstranit vše"
-#: port_matrix.cc:492 port_matrix.cc:504
+#: port_matrix.cc:493 port_matrix.cc:505
#, c-format
msgid "%s all"
msgstr "%s vše"
-#: port_matrix.cc:527
+#: port_matrix.cc:528
msgid "Rescan"
msgstr "Znovu prohlédnout"
-#: port_matrix.cc:529
+#: port_matrix.cc:530
msgid "Show individual ports"
msgstr "Ukázat jednotlivé přípojky"
-#: port_matrix.cc:535
+#: port_matrix.cc:536
msgid "Flip"
msgstr "Přepnout"
-#: port_matrix.cc:721
+#: port_matrix.cc:722
msgid ""
"It is not possible to add a port here, as the first processor in the track "
"or buss cannot support the new configuration."
@@ -8416,32 +8510,32 @@ msgstr ""
"Přípojku zde nelze přidat, protože první procesor ve stopě nebo sběrnici "
"nedokáže podporovat nové nastavení."
-#: port_matrix.cc:724
+#: port_matrix.cc:725
msgid "Cannot add port"
msgstr "Nelze přidat přípojku"
-#: port_matrix.cc:746
+#: port_matrix.cc:747
msgid "Port removal not allowed"
msgstr "Odstranění přípojky nepovoleno"
-#: port_matrix.cc:747
+#: port_matrix.cc:748
msgid ""
"This port cannot be removed.\n"
"Either the first plugin in the track or buss cannot accept\n"
"the new number of inputs or the last plugin has more outputs."
msgstr ""
-#: port_matrix.cc:964
+#: port_matrix.cc:965
#, c-format
msgid "Remove '%s'"
msgstr "Odstranit '%s'"
-#: port_matrix.cc:979
+#: port_matrix.cc:980
#, c-format
msgid "%s all from '%s'"
msgstr "%s vše z '%s'"
-#: port_matrix.cc:1045
+#: port_matrix.cc:1046
msgid "channel"
msgstr "Kanál"
@@ -8453,36 +8547,59 @@ msgstr "Nejsou zde žádné přípojky k připojení."
msgid "There are no %1 ports to connect."
msgstr "Nejsou zde žádné %1 přípojky k připojení."
-#: processor_box.cc:256
+#: processor_box.cc:150
+msgid "Send"
+msgstr ""
+
+#: processor_box.cc:152
+msgid "Return"
+msgstr ""
+
+#: processor_box.cc:310
+msgid ""
+"\n"
+"This mono plugin has been replicated %1 times."
+msgstr ""
+
+#: processor_box.cc:314
msgid ""
"<b>%1</b>\n"
"Double-click to show GUI.\n"
-"Alt+double-click to show generic GUI."
+"Alt+double-click to show generic GUI.%2"
msgstr ""
-#: processor_box.cc:259
+#: processor_box.cc:317
msgid ""
"<b>%1</b>\n"
-"Double-click to show generic GUI."
+"Double-click to show generic GUI.%2"
+msgstr ""
+
+#: processor_box.cc:361
+#, c-format
+msgid "(%1x1) "
msgstr ""
-#: processor_box.cc:372
+#: processor_box.cc:437
msgid "Show All Controls"
msgstr "Ukázat všechny ovládací prvky"
-#: processor_box.cc:376
+#: processor_box.cc:441
msgid "Hide All Controls"
msgstr "Skrýt všechny ovládací prvky"
-#: processor_box.cc:465
+#: processor_box.cc:475
+msgid "Link panner controls"
+msgstr ""
+
+#: processor_box.cc:559
msgid "on"
msgstr "Zapnuto"
-#: processor_box.cc:465 rc_option_editor.cc:1898 rc_option_editor.cc:1912
+#: processor_box.cc:559 rc_option_editor.cc:2232 rc_option_editor.cc:2246
msgid "off"
msgstr "Vypnuto"
-#: processor_box.cc:742
+#: processor_box.cc:945
msgid ""
"Right-click to add/remove/edit\n"
"plugins,inserts,sends and more"
@@ -8490,15 +8607,15 @@ msgstr ""
"Klepnutí pravým tlaÄítkem myÅ¡i pro pÅ™idání/odstranÄ›ní/upravení\n"
"přídavných modulů, vložení, poslání a další"
-#: processor_box.cc:1197 processor_box.cc:1618
+#: processor_box.cc:1422 processor_box.cc:1848
msgid "Plugin Incompatibility"
msgstr "NesluÄitelnost přídavného modulu"
-#: processor_box.cc:1200
+#: processor_box.cc:1425
msgid "You attempted to add the plugin \"%1\" in slot %2.\n"
msgstr "Pokusil jste se přidat přídavný modul \"%1\" do místa %2.\n"
-#: processor_box.cc:1206
+#: processor_box.cc:1431
msgid ""
"\n"
"This plugin has:\n"
@@ -8506,19 +8623,19 @@ msgstr ""
"\n"
"Tento přídavný modul má:\n"
-#: processor_box.cc:1209
+#: processor_box.cc:1434
msgid "\t%1 MIDI input\n"
msgid_plural "\t%1 MIDI inputs\n"
msgstr[0] "\t%1 vstup MIDI\n"
msgstr[1] "\t%1 vstupů MIDI"
-#: processor_box.cc:1213
+#: processor_box.cc:1438
msgid "\t%1 audio input\n"
msgid_plural "\t%1 audio inputs\n"
msgstr[0] "\t%1 vstup pro zvuk\n"
msgstr[1] "\t%1 vstupů pro zvuk"
-#: processor_box.cc:1216
+#: processor_box.cc:1441
msgid ""
"\n"
"but at the insertion point, there are:\n"
@@ -8526,19 +8643,19 @@ msgstr ""
"\n"
"Ale v bodě vložení jsou:\n"
-#: processor_box.cc:1219
+#: processor_box.cc:1444
msgid "\t%1 MIDI channel\n"
msgid_plural "\t%1 MIDI channels\n"
msgstr[0] "\t%1 kanál MIDI\n"
msgstr[1] "\t%1 kanálů MIDI\n"
-#: processor_box.cc:1223
+#: processor_box.cc:1448
msgid "\t%1 audio channel\n"
msgid_plural "\t%1 audio channels\n"
msgstr[0] "\t%1 kanál pro zvuk\n"
msgstr[1] "\t%1 kanálů pro zvuk\n"
-#: processor_box.cc:1226
+#: processor_box.cc:1451
msgid ""
"\n"
"%1 is unable to insert this plugin here.\n"
@@ -8546,11 +8663,11 @@ msgstr ""
"\n"
"%1 není schopen vložit tento přídavný modul zde."
-#: processor_box.cc:1262
+#: processor_box.cc:1488
msgid "Cannot set up new send: %1"
msgstr "Nelze nastavit nové odeslání: %1"
-#: processor_box.cc:1621
+#: processor_box.cc:1851
msgid ""
"You cannot reorder these plugins/sends/inserts\n"
"in that way because the inputs and\n"
@@ -8560,21 +8677,21 @@ msgstr ""
"přeuspořádat tímto způsobem, protože vstupy a\n"
"výstupy nebudou nepracovat správně."
-#: processor_box.cc:1805
+#: processor_box.cc:2035
msgid "Rename Processor"
msgstr "Přejmenovat procesor"
-#: processor_box.cc:1836
+#: processor_box.cc:2066
msgid "At least 100 IO objects exist with a name like %1 - name not changed"
msgstr ""
"Je nejméně 100 I/O (vstupních/výstupních) objektů, které nesou název %1 - "
"název nezměněn"
-#: processor_box.cc:1970
+#: processor_box.cc:2203
msgid "plugin insert constructor failed"
msgstr "Vložení přídavného modulu se nezdařilo"
-#: processor_box.cc:1981
+#: processor_box.cc:2214
msgid ""
"Copying the set of processors on the clipboard failed,\n"
"probably because the I/O configuration of the plugins\n"
@@ -8584,7 +8701,7 @@ msgstr ""
"Pravděpodobně se neshoduje vstupní/výstupní nastavení (I/O)\n"
"přídavných modulů s nastavením pro tuto stopu."
-#: processor_box.cc:2027
+#: processor_box.cc:2260
msgid ""
"Do you really want to remove all processors from %1?\n"
"(this cannot be undone)"
@@ -8592,15 +8709,15 @@ msgstr ""
"Doopravdy chcete odstranit všechny zpracovatele z %1?\n"
"(Toto se pak nedá vrátit zpátky)"
-#: processor_box.cc:2031 processor_box.cc:2056
+#: processor_box.cc:2264 processor_box.cc:2289
msgid "Yes, remove them all"
msgstr "Ano, všechny odstranit"
-#: processor_box.cc:2033 processor_box.cc:2058
+#: processor_box.cc:2266 processor_box.cc:2291
msgid "Remove processors"
msgstr "Přejmenovat zpracovatele"
-#: processor_box.cc:2048
+#: processor_box.cc:2281
msgid ""
"Do you really want to remove all pre-fader processors from %1?\n"
"(this cannot be undone)"
@@ -8608,7 +8725,7 @@ msgstr ""
"Opravdu chcete odstranit vÅ¡echny zpracovatele pÅ™ed-prolínaÄe z %1?\n"
"(Toto se pak nedá vrátit zpátky)"
-#: processor_box.cc:2051
+#: processor_box.cc:2284
msgid ""
"Do you really want to remove all post-fader processors from %1?\n"
"(this cannot be undone)"
@@ -8616,56 +8733,60 @@ msgstr ""
"Opravdu chcete odstranit vÅ¡echny zpracovatele po-prolínaÄe z %1?\n"
"(Toto se pak nedá vrátit zpátky)"
-#: processor_box.cc:2239
+#: processor_box.cc:2472
msgid "New Plugin"
msgstr "Vložit nový přídavný modul"
-#: processor_box.cc:2242
+#: processor_box.cc:2475
msgid "New Insert"
msgstr "Vložit novou vložku"
-#: processor_box.cc:2245
+#: processor_box.cc:2478
msgid "New External Send ..."
msgstr "Nové vnější odeslání..."
-#: processor_box.cc:2249
+#: processor_box.cc:2482
msgid "New Aux Send ..."
msgstr "Vložit nové pomocné odeslání (Aux)..."
-#: processor_box.cc:2253
+#: processor_box.cc:2485
+msgid "Send Options"
+msgstr ""
+
+#: processor_box.cc:2487
msgid "Clear (all)"
msgstr "Smazat (vše)"
-#: processor_box.cc:2255
+#: processor_box.cc:2489
msgid "Clear (pre-fader)"
msgstr "Smazat (pÅ™ed-prolínaÄ)"
-#: processor_box.cc:2257
+#: processor_box.cc:2491
msgid "Clear (post-fader)"
msgstr "Smazat (po-prolínaÄ)"
-#: processor_box.cc:2283
+#: processor_box.cc:2517
msgid "Activate All"
msgstr "Zapnout vše"
-#: processor_box.cc:2285
+#: processor_box.cc:2519
msgid "Deactivate All"
msgstr "Vypnout vše"
-#: processor_box.cc:2287
+#: processor_box.cc:2521
msgid "A/B Plugins"
msgstr "Přídavné moduly A/B"
-#: processor_box.cc:2296
+#: processor_box.cc:2530
msgid "Edit with generic controls..."
msgstr ""
-#: processor_box.cc:2599
+#: processor_box.cc:2833
msgid "%1: %2 (by %3)"
msgstr "%1: %2 (podle %3)"
-#: processor_box.cc:2601
-msgid "%2 (by %3)"
+#: processor_box.cc:2835
+msgid "%1 (by %2)"
msgstr ""
#: patch_change_dialog.cc:51
@@ -8680,11 +8801,11 @@ msgstr "Banka zapojení"
msgid "Patch"
msgstr "Zapojení"
-#: patch_change_dialog.cc:99 step_entry.cc:429
+#: patch_change_dialog.cc:99 step_entry.cc:430
msgid "Program"
msgstr "Program"
-#: patch_change_dialog.cc:107 step_entry.cc:421
+#: patch_change_dialog.cc:107 step_entry.cc:422
msgid "Bank"
msgstr "Banka"
@@ -8716,99 +8837,99 @@ msgstr "Zapadnout do zaÄátku noty"
msgid "Snap note end"
msgstr "Zapadnout do konce noty"
-#: rc_option_editor.cc:67
+#: rc_option_editor.cc:76
msgid "Click audio file:"
msgstr "Zvukový soubor metronomu pro klepnutí:"
-#: rc_option_editor.cc:70 rc_option_editor.cc:77
+#: rc_option_editor.cc:79 rc_option_editor.cc:86
msgid "Browse..."
msgstr "Procházet..."
-#: rc_option_editor.cc:74
+#: rc_option_editor.cc:83
msgid "Click emphasis audio file:"
msgstr "Zvukový soubor metronomu pro zdůraznění klepnutí"
-#: rc_option_editor.cc:106
+#: rc_option_editor.cc:115
msgid "Choose Click"
msgstr "Vybrat klepnutí"
-#: rc_option_editor.cc:126
+#: rc_option_editor.cc:135
msgid "Choose Click Emphasis"
msgstr "Vybrat zdůraznění klepnutí"
-#: rc_option_editor.cc:158
+#: rc_option_editor.cc:167
msgid "Limit undo history to"
msgstr "Omezit historii kroků zpět na"
-#: rc_option_editor.cc:159
+#: rc_option_editor.cc:168
msgid "Save undo history of"
msgstr "Uložit historii kroků zpět"
-#: rc_option_editor.cc:168 rc_option_editor.cc:175
+#: rc_option_editor.cc:177 rc_option_editor.cc:184
msgid "commands"
msgstr "Příkazy"
-#: rc_option_editor.cc:313
+#: rc_option_editor.cc:322
msgid "Edit using:"
msgstr "Upravit pomocí:"
-#: rc_option_editor.cc:319 rc_option_editor.cc:345 rc_option_editor.cc:372
+#: rc_option_editor.cc:328 rc_option_editor.cc:354 rc_option_editor.cc:381
msgid "+ button"
msgstr "s tlaÄítkem myÅ¡i"
-#: rc_option_editor.cc:339
+#: rc_option_editor.cc:348
msgid "Delete using:"
msgstr "Odstranit pomocí:"
-#: rc_option_editor.cc:366
+#: rc_option_editor.cc:375
msgid "Insert note using:"
msgstr "Vložit notu pomocí:"
-#: rc_option_editor.cc:393
+#: rc_option_editor.cc:402
msgid "Ignore snap using:"
msgstr "Přehlížet zapadnutí pomocí:"
-#: rc_option_editor.cc:409
+#: rc_option_editor.cc:418
msgid "Keyboard layout:"
msgstr "Rozvržení klávesnice:"
-#: rc_option_editor.cc:532
+#: rc_option_editor.cc:541
msgid "Font scaling:"
msgstr "Nastavení rozměrů písma:"
-#: rc_option_editor.cc:584
+#: rc_option_editor.cc:591
+msgid "Waveform Clip Level (dBFS):"
+msgstr ""
+
+#: rc_option_editor.cc:643
msgid "Playback (seconds of buffering):"
msgstr "Přehrávání (sekundy ukládání do vyrovnávací paměti):"
-#: rc_option_editor.cc:597
+#: rc_option_editor.cc:656
msgid "Recording (seconds of buffering):"
msgstr "Nahrávání (sekundy ukládání do vyrovnávací paměti):"
-#: rc_option_editor.cc:654
+#: rc_option_editor.cc:714
msgid "Control Surface Protocol"
msgstr ""
-#: rc_option_editor.cc:658
-msgid "Feedback"
-msgstr "Zpětná vazba"
-
-#: rc_option_editor.cc:663
+#: rc_option_editor.cc:723
msgid "Double-click on a name to edit settings for an enabled protocol"
msgstr "Dvojité poklepání na název pro úpravu nastavení povoleného protokolu"
-#: rc_option_editor.cc:815
+#: rc_option_editor.cc:886
msgid "Show Video Export Info before export"
msgstr "Ukázat před uložením do souboru informace o způsobu vyvedení videa"
-#: rc_option_editor.cc:816
+#: rc_option_editor.cc:887
msgid "Show Video Server Startup Dialog"
msgstr "Ukázat spouštěcí dialog videoserveru"
-#: rc_option_editor.cc:817
+#: rc_option_editor.cc:888
msgid "Advanced Setup (remote video server)"
msgstr "PokroÄilé nastavení (vzdálený videoserver)"
-#: rc_option_editor.cc:825
+#: rc_option_editor.cc:896
msgid ""
"<b>When enabled</b> you can speficify a custom video-server URL and docroot. "
"- Do not enable this option unless you know what you are doing."
@@ -8816,22 +8937,22 @@ msgstr ""
"<b>Je-li povoleno</b>, můžete urÄit adresu vlastního videoserveru (URL) a "
"kořen dokumentu (docroot). - Nepovolujte tuto volbu, pokud nevíte, co děláte."
-#: rc_option_editor.cc:827
+#: rc_option_editor.cc:898
msgid "Video Server URL:"
msgstr "Adresa videoserveru (URL):"
-#: rc_option_editor.cc:832
+#: rc_option_editor.cc:903
msgid ""
"Base URL of the video-server including http prefix. This is usually 'http://"
"hostname.example.org:1554/' and defaults to 'http://localhost:1554/' when "
"the video-server is running locally"
msgstr ""
-#: rc_option_editor.cc:834
+#: rc_option_editor.cc:905
msgid "Video Folder:"
msgstr "Složka s videem:"
-#: rc_option_editor.cc:839
+#: rc_option_editor.cc:910
msgid ""
"Local path to the video-server document-root. Only files below this "
"directory will be accessible by the video-server. If the server run on a "
@@ -8846,7 +8967,7 @@ msgstr ""
"nedostupný. Používá se pro místní sledování videa a procházení souborů, když "
"je soubor s videem otevírán/přidáván."
-#: rc_option_editor.cc:846
+#: rc_option_editor.cc:917
msgid ""
"<b>When enabled</b> an information window with details is displayed before "
"the video-export dialog."
@@ -8854,7 +8975,7 @@ msgstr ""
"<b>Je-li povoleno</b>, je před dialogem pro ukládání videa zobrazeno "
"informaÄní okno s podrobnostmi."
-#: rc_option_editor.cc:851
+#: rc_option_editor.cc:922
msgid ""
"<b>When enabled</b> the video server is never launched automatically without "
"confirmation"
@@ -8862,87 +8983,155 @@ msgstr ""
"<b>Je-li povoleno</b>, videoserver není nikdy spuštěn automaticky bez "
"potvrzení"
-#: rc_option_editor.cc:991
+#: rc_option_editor.cc:1004
+msgid "Always Display Plugin Scan Progress"
+msgstr ""
+
+#: rc_option_editor.cc:1005
+msgid "Scan for new VST Plugins on Application Start"
+msgstr ""
+
+#: rc_option_editor.cc:1016
+msgid "General"
+msgstr ""
+
+#: rc_option_editor.cc:1022
+msgid "Scan for Plugins"
+msgstr ""
+
+#: rc_option_editor.cc:1029
+msgid ""
+"<b>When enabled</b> a popup window showing plugin scan progress is displayed "
+"for indexing (cache load) and discovery (detect new plugins)"
+msgstr ""
+
+#: rc_option_editor.cc:1035
+msgid ""
+"Specify the default timeout for plugin instantiation in 1/10 seconds. "
+"Plugins that require more time to load will be blacklisted. A value of 0 "
+"disables the timeout."
+msgstr ""
+
+#: rc_option_editor.cc:1037
+msgid "Scan Time Out [deciseconds]"
+msgstr ""
+
+#: rc_option_editor.cc:1045
+msgid "VST"
+msgstr ""
+
+#: rc_option_editor.cc:1051
+msgid "Clear VST Cache"
+msgstr ""
+
+#: rc_option_editor.cc:1055
+msgid "Clear VST Blacklist"
+msgstr ""
+
+#: rc_option_editor.cc:1063
+msgid ""
+"<b>When enabled</b> new VST plugins are searched, tested and added to the "
+"cache index on application start. When disabled new plugins will only be "
+"available after triggering a 'Scan' manually"
+msgstr ""
+
+#: rc_option_editor.cc:1066
+msgid "Linux VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1073
+msgid "Windows VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1135
+msgid "Set Windows VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1150
+msgid "Set Linux VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1231
msgid "%1 Preferences"
msgstr "%1 nastavení"
-#: rc_option_editor.cc:1002
+#: rc_option_editor.cc:1242
msgid "DSP CPU Utilization"
msgstr "Používání CPU pro DSP"
-#: rc_option_editor.cc:1006
+#: rc_option_editor.cc:1246
msgid "Signal processing uses"
msgstr "Zpracovávání signálu používá"
-#: rc_option_editor.cc:1011
+#: rc_option_editor.cc:1251
msgid "all but one processor"
msgstr "VÅ¡ichni kromÄ› jednoho zpracovatele"
-#: rc_option_editor.cc:1012
+#: rc_option_editor.cc:1252
msgid "all available processors"
msgstr "Všichni dostupní zpracovatelé"
-#: rc_option_editor.cc:1015
+#: rc_option_editor.cc:1255
msgid "%1 processors"
msgstr "%1 zpracovatelé"
-#: rc_option_editor.cc:1018
+#: rc_option_editor.cc:1258
msgid "This setting will only take effect when %1 is restarted."
msgstr "Toto nastavení se neprojeví, dokud %1 nespustíte znovu."
-#: rc_option_editor.cc:1023
+#: rc_option_editor.cc:1263
msgid "Options|Undo"
msgstr "Volby|Zpět"
-#: rc_option_editor.cc:1030
+#: rc_option_editor.cc:1270
msgid "Verify removal of last capture"
msgstr "Potvrdit odstranění poslední nahrávky"
-#: rc_option_editor.cc:1038
+#: rc_option_editor.cc:1278
msgid "Make periodic backups of the session file"
msgstr "Dělat pravidelné zálohy souboru se sezením"
-#: rc_option_editor.cc:1043
+#: rc_option_editor.cc:1283
msgid "Session Management"
msgstr "Správa sezení"
-#: rc_option_editor.cc:1048
+#: rc_option_editor.cc:1288
msgid "Always copy imported files"
msgstr "Vždy kopírovat zavedené soubory"
-#: rc_option_editor.cc:1055
+#: rc_option_editor.cc:1295
msgid "Default folder for new sessions:"
msgstr "Výchozí složka pro nová sezení:"
-#: rc_option_editor.cc:1063
+#: rc_option_editor.cc:1303
msgid "Maximum number of recent sessions"
msgstr "Nejvyšší poÄet nedávných sezení"
-#: rc_option_editor.cc:1076
+#: rc_option_editor.cc:1316
msgid "Click gain level"
msgstr "Úroveň hlasitosti klepnutí"
-#: rc_option_editor.cc:1081 route_time_axis.cc:215 route_time_axis.cc:676
+#: rc_option_editor.cc:1321 route_time_axis.cc:266 route_time_axis.cc:794
msgid "Automation"
msgstr "Automatizace"
-#: rc_option_editor.cc:1086
+#: rc_option_editor.cc:1326
msgid "Thinning factor (larger value => less data)"
msgstr "Faktor prostřihávání (větší hodnota => méně dat)"
-#: rc_option_editor.cc:1095
+#: rc_option_editor.cc:1335
msgid "Automation sampling interval (milliseconds)"
msgstr "Interval pro automatizaci (v milisekundách)"
-#: rc_option_editor.cc:1107
+#: rc_option_editor.cc:1347
msgid "Keep record-enable engaged on stop"
msgstr "Udržovat zapnuté nahrávání po zastavení zapojeno"
-#: rc_option_editor.cc:1116
+#: rc_option_editor.cc:1356
msgid "Stop recording when an xrun occurs"
msgstr "Zastavit nahrávání v případÄ› xrun (Äasového rozdílu)"
-#: rc_option_editor.cc:1121
+#: rc_option_editor.cc:1361
msgid ""
"<b>When enabled</b> %1 will stop recording if an over- or underrun is "
"detected by the audio engine"
@@ -8950,15 +9139,28 @@ msgstr ""
"<b>Když je povoleno</b>, %1 zastaví nahrávání, pokud je zjiÅ¡tÄ›no pÅ™eteÄení "
"nebo podteÄení"
-#: rc_option_editor.cc:1127
+#: rc_option_editor.cc:1367
+msgid "Play loop is a transport mode"
+msgstr ""
+
+#: rc_option_editor.cc:1372
+msgid ""
+"<b>When enabled</b> the loop button does not start playback but forces "
+"playback to always play the loop\n"
+"\n"
+"<b>When disabled</b> the loop button starts playing the loop, but stop then "
+"cancels loop playback"
+msgstr ""
+
+#: rc_option_editor.cc:1378
msgid "Create markers where xruns occur"
msgstr "VytvoÅ™it znaÄky tam, kde se xrun (Äasový rozdíl) objeví"
-#: rc_option_editor.cc:1136
+#: rc_option_editor.cc:1387
msgid "Stop at the end of the session"
msgstr "Zastavit na konci sezení"
-#: rc_option_editor.cc:1141
+#: rc_option_editor.cc:1392
msgid ""
"<b>When enabled</b> if %1 is <b>not recording</b>, it will stop the "
"transport when it reaches the current session end marker\n"
@@ -8971,11 +9173,11 @@ msgstr ""
"\n"
"<b>Když je zakázáno</b> %1 bude pokraÄovat vždy až na konec sezení"
-#: rc_option_editor.cc:1149
+#: rc_option_editor.cc:1400
msgid "Do seamless looping (not possible when slaved to MTC, LTC etc)"
msgstr ""
-#: rc_option_editor.cc:1154
+#: rc_option_editor.cc:1405
msgid ""
"<b>When enabled</b> this will loop by reading ahead and wrapping around at "
"the loop point, preventing any need to do a transport locate at the end of "
@@ -8991,11 +9193,11 @@ msgstr ""
"smyÄky, když %1 dosáhne konce, což Äasto způsobí slyÅ¡itelné prasknutí nebo "
"zpoždění"
-#: rc_option_editor.cc:1162
+#: rc_option_editor.cc:1413
msgid "Disable per-track record disarm while rolling"
msgstr "Zakázat při nahrávání stav nahrávání jednotlivé stopy"
-#: rc_option_editor.cc:1166
+#: rc_option_editor.cc:1417
msgid ""
"<b>When enabled</b> this will prevent you from accidentally stopping "
"specific tracks recording during a take"
@@ -9003,12 +9205,12 @@ msgstr ""
"<b>Když je povoleno</b>, zabrání vám to v nechtěném zastavení nahrávání "
"urÄitých stop"
-#: rc_option_editor.cc:1171
+#: rc_option_editor.cc:1422
msgid "12dB gain reduction during fast-forward and fast-rewind"
msgstr ""
"PÅ™i pÅ™etáÄení rychle dopÅ™edu a rychle dozadu snížit hladinu zvuku o 12dB"
-#: rc_option_editor.cc:1175
+#: rc_option_editor.cc:1426
msgid ""
"This will reduce the unpleasant increase in perceived volume that occurs "
"when fast-forwarding or rewinding through some kinds of audio"
@@ -9016,19 +9218,19 @@ msgstr ""
"Toto omezí nepříjemné zvýšení vnímané hlasitosti, které se vyskytuje u "
"nÄ›kterého materiálu pÅ™i pÅ™etáÄení vpÅ™ed/zpÄ›tném chodu"
-#: rc_option_editor.cc:1179
+#: rc_option_editor.cc:1430
msgid "Sync/Slave"
msgstr "Sync/Slave"
-#: rc_option_editor.cc:1183
+#: rc_option_editor.cc:1434
msgid "External timecode source"
msgstr "VnÄ›jší zdroj Äasového kódu"
-#: rc_option_editor.cc:1193
+#: rc_option_editor.cc:1444
msgid "Match session video frame rate to external timecode"
msgstr "PÅ™izpůsobit rychlost snímkování obrazu vnÄ›jšímu Äasovému kódu"
-#: rc_option_editor.cc:1199
+#: rc_option_editor.cc:1450
msgid ""
"This option controls the value of the video frame rate <i>while chasing</i> "
"an external timecode source.\n"
@@ -9052,11 +9254,11 @@ msgstr ""
"ukazatel rychlosti snímkování v hlavních hodinách zÄervená a %1 bude "
"pÅ™evádÄ›t mezi standardem vnÄ›jšího Äasového kódu a standardem sezení."
-#: rc_option_editor.cc:1209
+#: rc_option_editor.cc:1460
msgid "External timecode is sync locked"
msgstr "VnÄ›jší Äasový kód je pevnÄ› seřízen"
-#: rc_option_editor.cc:1215
+#: rc_option_editor.cc:1466
msgid ""
"<b>When enabled</b> indicates that the selected external timecode source "
"shares sync (Black &amp; Burst, Wordclock, etc) with the audio interface."
@@ -9064,11 +9266,11 @@ msgstr ""
"<b>Když je povoleno</b>, ukazuje to, že vybraný vnÄ›jší zdroj Äasového kódu "
"běží seřízeně (Black &amp; Burst, Wordclock atd.) se zvukovým rozhraním."
-#: rc_option_editor.cc:1222
+#: rc_option_editor.cc:1473
msgid "Lock to 29.9700 fps instead of 30000/1001"
msgstr "Pevně na 29.9700 fps namísto 30000/1001"
-#: rc_option_editor.cc:1228
+#: rc_option_editor.cc:1479
msgid ""
"<b>When enabled</b> the external timecode source is assumed to use 29.97 fps "
"instead of 30000/1001.\n"
@@ -9090,27 +9292,27 @@ msgstr ""
"někteří výrobci tuto rychlost používají - i když je to proti specifikaci - "
"protože pÅ™i variantÄ› s 29.97 fps se nevyskytuje žádný posuv Äasového kódu.\n"
-#: rc_option_editor.cc:1238
+#: rc_option_editor.cc:1489
msgid "LTC Reader"
msgstr "ÄŒteÄka LTC"
-#: rc_option_editor.cc:1242
+#: rc_option_editor.cc:1493
msgid "LTC incoming port"
msgstr "Vstupní přípojka LTC"
-#: rc_option_editor.cc:1255
+#: rc_option_editor.cc:1506
msgid "LTC Generator"
msgstr "Generátor LTC"
-#: rc_option_editor.cc:1260
+#: rc_option_editor.cc:1511
msgid "Enable LTC generator"
msgstr "Povolit generátor LTC"
-#: rc_option_editor.cc:1267
-msgid "send LTC while stopped"
-msgstr "Poslat LTC, když přehrávání stojí"
+#: rc_option_editor.cc:1518
+msgid "Send LTC while stopped"
+msgstr ""
-#: rc_option_editor.cc:1273
+#: rc_option_editor.cc:1524
msgid ""
"<b>When enabled</b> %1 will continue to send LTC information even when the "
"transport (playhead) is not moving"
@@ -9118,11 +9320,11 @@ msgstr ""
"<b>Když je povoleno</b>, %1 bude pokraÄovat v posílání informací LTC, i když "
"se ukazatel polohy přehrávání nepohybuje"
-#: rc_option_editor.cc:1279
+#: rc_option_editor.cc:1530
msgid "LTC generator level"
msgstr "Hlasitost generátoru LTC"
-#: rc_option_editor.cc:1283
+#: rc_option_editor.cc:1534
msgid ""
"Specify the Peak Volume of the generated LTC signal in dbFS. A good value "
"is 0dBu ^= -18dbFS in an EBU calibrated system"
@@ -9130,104 +9332,104 @@ msgstr ""
"Zadejte hodnotu vrcholu vytvořeného signálu LTC v dbFS. Dobrou hodnotou pro "
"kalibrovaný systém EBU je 0dBu ^= -18dbFS"
-#: rc_option_editor.cc:1295
-msgid "Link selection of regions and tracks"
-msgstr "Spojit výběr oblastí a stop"
+#: rc_option_editor.cc:1546
+msgid "Allow dragging of playhead"
+msgstr ""
-#: rc_option_editor.cc:1303
+#: rc_option_editor.cc:1554
msgid "Move relevant automation when audio regions are moved"
msgstr ""
"Přesunout související automatizaci, když jsou zvukové oblasti přesunuty"
-#: rc_option_editor.cc:1311
+#: rc_option_editor.cc:1562
msgid "Show meters on tracks in the editor"
msgstr "Ukázat měřidla na stopách v editoru"
-#: rc_option_editor.cc:1319
+#: rc_option_editor.cc:1570
msgid "Display master-meter in the toolbar"
msgstr ""
-#: rc_option_editor.cc:1326
+#: rc_option_editor.cc:1577
+msgid "Default fade shape"
+msgstr ""
+
+#: rc_option_editor.cc:1596
msgid "Regions in active edit groups are edited together"
msgstr "Oblasti ve skupinách, které se upravují, jsou upravovány spoleÄnÄ›"
-#: rc_option_editor.cc:1327
+#: rc_option_editor.cc:1597
msgid "whenever they overlap in time"
msgstr "Vždycky když se ÄasovÄ› pÅ™ekrývají"
-#: rc_option_editor.cc:1328
+#: rc_option_editor.cc:1598
msgid "only if they have identical length, position and origin"
msgstr "Jen když mají stejnou délku, polohu a původ"
-#: rc_option_editor.cc:1338
+#: rc_option_editor.cc:1608
msgid "Make rubberband selection rectangle snap to the grid"
msgstr "Udělat z pružného výběru oblasti obdélníkové zapadnutí do mřížky"
-#: rc_option_editor.cc:1346
+#: rc_option_editor.cc:1616
msgid "Show waveforms in regions"
msgstr "Ukázat tvary vln v oblastech"
-#: rc_option_editor.cc:1354
+#: rc_option_editor.cc:1624
msgid "Show gain envelopes in audio regions"
msgstr "Ukázat obálky zesílení v oblastech zvuku"
-#: rc_option_editor.cc:1355
+#: rc_option_editor.cc:1625
msgid "in all modes"
msgstr "Ve všech režimech"
-#: rc_option_editor.cc:1356
+#: rc_option_editor.cc:1626
msgid "only in region gain mode"
msgstr "Pouze v režimu zesílení oblasti"
-#: rc_option_editor.cc:1363
+#: rc_option_editor.cc:1633
msgid "Waveform scale"
msgstr "Velikost tvaru vlny"
-#: rc_option_editor.cc:1368
+#: rc_option_editor.cc:1638
msgid "linear"
msgstr "Přímý"
-#: rc_option_editor.cc:1369
+#: rc_option_editor.cc:1639
msgid "logarithmic"
msgstr "Logaritmický"
-#: rc_option_editor.cc:1375
+#: rc_option_editor.cc:1645
msgid "Waveform shape"
msgstr "Podoba tvaru vlny"
-#: rc_option_editor.cc:1380
+#: rc_option_editor.cc:1650
msgid "traditional"
msgstr "TradiÄní"
-#: rc_option_editor.cc:1381
+#: rc_option_editor.cc:1651
msgid "rectified"
msgstr "Narovnaná"
-#: rc_option_editor.cc:1388
+#: rc_option_editor.cc:1660
msgid "Show waveforms for audio while it is being recorded"
msgstr "Ukázat tvary vln zvuku, když je nahráván"
-#: rc_option_editor.cc:1396
+#: rc_option_editor.cc:1668
msgid "Show zoom toolbar"
msgstr "Ukázat nástrojový pruh pro zvětšení"
-#: rc_option_editor.cc:1404
-msgid "Color regions using their track's color"
-msgstr "Obarvit oblasti barvou jejich stopy"
-
-#: rc_option_editor.cc:1412
+#: rc_option_editor.cc:1676
msgid "Update editor window during drags of the summary"
msgstr "Obnovit okno editoru během tažení shrnutí"
-#: rc_option_editor.cc:1420
+#: rc_option_editor.cc:1684
msgid "Synchronise editor and mixer selection"
msgstr "Seřídit výbÄ›r v editoru a ve směšovaÄi"
-#: rc_option_editor.cc:1427
+#: rc_option_editor.cc:1691
msgid "Name new markers"
msgstr "Pojmenovat nové znaÄky"
-#: rc_option_editor.cc:1433
+#: rc_option_editor.cc:1697
msgid ""
"If enabled, popup a dialog when a new marker is created to allow its name to "
"be set as it is created.\n"
@@ -9239,247 +9441,260 @@ msgstr ""
"\n"
"ZnaÄky můžete vždy klepnutím pravým tlaÄítkem myÅ¡i na nÄ› pÅ™ejmenovat"
-#: rc_option_editor.cc:1439
+#: rc_option_editor.cc:1703
msgid "Auto-scroll editor window when dragging near its edges"
msgstr "Automaticky projíždět okno editoru při tažení blízko jeho okrajů"
-#: rc_option_editor.cc:1446
+#: rc_option_editor.cc:1710
msgid "Buffering"
msgstr "Ukládání do vyrovnávací paměti"
-#: rc_option_editor.cc:1454
+#: rc_option_editor.cc:1718
msgid "Record monitoring handled by"
msgstr "Sledování nahrávání řízené"
-#: rc_option_editor.cc:1460
+#: rc_option_editor.cc:1724
msgid "via Audio Driver"
msgstr ""
-#: rc_option_editor.cc:1463
-msgid "ardour"
-msgstr "ardour"
-
-#: rc_option_editor.cc:1464
+#: rc_option_editor.cc:1730
msgid "audio hardware"
msgstr "Zvukové technické vybavení"
-#: rc_option_editor.cc:1471
+#: rc_option_editor.cc:1737
msgid "Tape machine mode"
msgstr "Režim páskového stroje"
-#: rc_option_editor.cc:1476
+#: rc_option_editor.cc:1742
msgid "Connection of tracks and busses"
msgstr "Spojení stop a sběrnic"
-#: rc_option_editor.cc:1481
+#: rc_option_editor.cc:1747
msgid "Auto-connect master/monitor busses"
msgstr "Automaticky spojit hlavní/sledovací sběrnice"
-#: rc_option_editor.cc:1488
+#: rc_option_editor.cc:1754
msgid "Connect track inputs"
msgstr "Spojit vstupy stop"
-#: rc_option_editor.cc:1493
+#: rc_option_editor.cc:1759
msgid "automatically to physical inputs"
msgstr "Automaticky s fyzickými vstupy"
-#: rc_option_editor.cc:1494 rc_option_editor.cc:1507
+#: rc_option_editor.cc:1760 rc_option_editor.cc:1773
msgid "manually"
msgstr "RuÄnÄ›"
-#: rc_option_editor.cc:1500
+#: rc_option_editor.cc:1766
msgid "Connect track and bus outputs"
msgstr "Spojit výstupy stop a sběrnic"
-#: rc_option_editor.cc:1505
+#: rc_option_editor.cc:1771
msgid "automatically to physical outputs"
msgstr "Automaticky s fyzickými výstupy"
-#: rc_option_editor.cc:1506
+#: rc_option_editor.cc:1772
msgid "automatically to master bus"
msgstr "Automaticky s hlavní sběrnicí"
-#: rc_option_editor.cc:1511
+#: rc_option_editor.cc:1777
msgid "Denormals"
msgstr "Neobvyklé hodnoty"
-#: rc_option_editor.cc:1516
+#: rc_option_editor.cc:1782
msgid "Use DC bias to protect against denormals"
msgstr ""
"Použít předpětí přímého proudu (DC bias) pro ochranu proti neobvyklým "
"hodnotám"
-#: rc_option_editor.cc:1523
+#: rc_option_editor.cc:1789
msgid "Processor handling"
msgstr "Řízení zpracování"
-#: rc_option_editor.cc:1528
+#: rc_option_editor.cc:1794
msgid "no processor handling"
msgstr "Žádné řízení zpracování"
-#: rc_option_editor.cc:1533
+#: rc_option_editor.cc:1799
msgid "use FlushToZero"
msgstr "Použít ZrudnoutKNule"
-#: rc_option_editor.cc:1537
+#: rc_option_editor.cc:1803
msgid "use DenormalsAreZero"
msgstr "Použít NeobvykléHodnotyJsouNula"
-#: rc_option_editor.cc:1541
+#: rc_option_editor.cc:1807
msgid "use FlushToZero and DenormalsAreZero"
msgstr "Použít ZrudnoutKNule a NeobvykléHodnotyJsouNula"
-#: rc_option_editor.cc:1551
+#: rc_option_editor.cc:1817
msgid "Silence plugins when the transport is stopped"
msgstr "Ztišit přídavné moduly, když je přesun zastaven "
-#: rc_option_editor.cc:1559
+#: rc_option_editor.cc:1825
msgid "Make new plugins active"
msgstr "Uvést nové přídavné moduly do Äinnosti"
-#: rc_option_editor.cc:1567
+#: rc_option_editor.cc:1835
msgid "Enable automatic analysis of audio"
msgstr "Povolit automatický rozbor zvuku"
-#: rc_option_editor.cc:1575
+#: rc_option_editor.cc:1843
msgid "Replicate missing region channels"
msgstr "Zreprodukovat chybějící kanály oblasti"
-#: rc_option_editor.cc:1582 rc_option_editor.cc:1597 rc_option_editor.cc:1609
-#: rc_option_editor.cc:1621 rc_option_editor.cc:1633 rc_option_editor.cc:1637
-#: rc_option_editor.cc:1645 rc_option_editor.cc:1653 rc_option_editor.cc:1661
-#: rc_option_editor.cc:1663 rc_option_editor.cc:1671 rc_option_editor.cc:1679
-#: rc_option_editor.cc:1687
+#: rc_option_editor.cc:1850 rc_option_editor.cc:1852 rc_option_editor.cc:1867
+#: rc_option_editor.cc:1879 rc_option_editor.cc:1891 rc_option_editor.cc:1903
+#: rc_option_editor.cc:1907 rc_option_editor.cc:1915 rc_option_editor.cc:1923
+#: rc_option_editor.cc:1931 rc_option_editor.cc:1933 rc_option_editor.cc:1941
+#: rc_option_editor.cc:1949 rc_option_editor.cc:1957 rc_option_editor.cc:1965
+#: rc_option_editor.cc:1967
msgid "Solo / mute"
msgstr "Sólo/Ztlumit"
-#: rc_option_editor.cc:1585
+#: rc_option_editor.cc:1855
msgid "Solo-in-place mute cut (dB)"
msgstr "Vyjmutí ztlumení sóla (dB)"
-#: rc_option_editor.cc:1592
+#: rc_option_editor.cc:1862
msgid "Solo controls are Listen controls"
msgstr "Ovládací prvky pro sólo jsou ovládacími prvky pro poslech"
-#: rc_option_editor.cc:1601
+#: rc_option_editor.cc:1871
msgid "Listen Position"
msgstr "Poloha poslechu"
-#: rc_option_editor.cc:1606
+#: rc_option_editor.cc:1876
msgid "after-fader (AFL)"
msgstr "Po-prolínaÄ (AFL)"
-#: rc_option_editor.cc:1607
+#: rc_option_editor.cc:1877
msgid "pre-fader (PFL)"
msgstr "PÅ™ed-prolínaÄ (PFL)"
-#: rc_option_editor.cc:1613
+#: rc_option_editor.cc:1883
msgid "PFL signals come from"
msgstr "PFL signály přicházejí z"
-#: rc_option_editor.cc:1618
+#: rc_option_editor.cc:1888
msgid "before pre-fader processors"
msgstr "Zpracovatelé pÅ™ed pÅ™ed-prolínaÄe"
-#: rc_option_editor.cc:1619
+#: rc_option_editor.cc:1889
msgid "pre-fader but after pre-fader processors"
msgstr "Zpracovatelé pÅ™ed-prolínaÄe ale po pÅ™ed-prolínaÄe"
-#: rc_option_editor.cc:1625
+#: rc_option_editor.cc:1895
msgid "AFL signals come from"
msgstr "AFL signály přicházejí z"
-#: rc_option_editor.cc:1630
+#: rc_option_editor.cc:1900
msgid "immediately post-fader"
msgstr "OkamžitÄ› po-prolínaÄ"
-#: rc_option_editor.cc:1631
+#: rc_option_editor.cc:1901
msgid "after post-fader processors (before pan)"
msgstr "Zpracovatelé po po-prolínaÄe (pÅ™ed vyvážením)"
-#: rc_option_editor.cc:1640
+#: rc_option_editor.cc:1910
msgid "Exclusive solo"
msgstr "Výhradní sólo"
-#: rc_option_editor.cc:1648
+#: rc_option_editor.cc:1918
msgid "Show solo muting"
msgstr "Sólo ukázat jako oněmělé"
-#: rc_option_editor.cc:1656
+#: rc_option_editor.cc:1926
msgid "Soloing overrides muting"
msgstr "Sólo má přednost před ztlumením"
-#: rc_option_editor.cc:1661
+#: rc_option_editor.cc:1931
msgid "Default track / bus muting options"
msgstr "Výchozí volby pro ztlumení stopy/sběrnice"
-#: rc_option_editor.cc:1666
+#: rc_option_editor.cc:1936
msgid "Mute affects pre-fader sends"
msgstr "Ztlumení ovlivní odeslání pÅ™ed-prolínaÄe"
-#: rc_option_editor.cc:1674
+#: rc_option_editor.cc:1944
msgid "Mute affects post-fader sends"
msgstr "Ztlumení ovlivní odeslání po-prolínaÄe"
-#: rc_option_editor.cc:1682
+#: rc_option_editor.cc:1952
msgid "Mute affects control outputs"
msgstr "Ztlumení ovlivní ovládací výstupy"
-#: rc_option_editor.cc:1690
+#: rc_option_editor.cc:1960
msgid "Mute affects main outputs"
msgstr "Ztlumení ovlivní hlavní výstupy"
-#: rc_option_editor.cc:1706
+#: rc_option_editor.cc:1965
+msgid "Send Routing"
+msgstr ""
+
+#: rc_option_editor.cc:1970
+msgid "Link panners of Aux and External Sends with main panner by default"
+msgstr ""
+
+#: rc_option_editor.cc:1986
msgid "Send MIDI Time Code"
msgstr "Poslat Äasový kód MIDI"
-#: rc_option_editor.cc:1714
+#: rc_option_editor.cc:1994
msgid "Percentage either side of normal transport speed to transmit MTC"
msgstr ""
"Procento kterékoli strany běžné rychlosti pÅ™esunu k odeslání Äasového kódu "
"MIDI (MTC)"
-#: rc_option_editor.cc:1723
+#: rc_option_editor.cc:2003
msgid "Obey MIDI Machine Control commands"
msgstr "Dodržovat příkazy pro ovládání stroje MIDI"
-#: rc_option_editor.cc:1731
+#: rc_option_editor.cc:2011
msgid "Send MIDI Machine Control commands"
msgstr "Poslat příkazy pro ovládání stroje MIDI"
-#: rc_option_editor.cc:1739
+#: rc_option_editor.cc:2019
msgid "Send MIDI control feedback"
msgstr "Poslat zpětnou vazbu k ovládání MIDI"
-#: rc_option_editor.cc:1747
+#: rc_option_editor.cc:2027
msgid "Inbound MMC device ID"
msgstr "ID zařízení MMC (ovládání stroje MIDI) na vstupu"
-#: rc_option_editor.cc:1756
+#: rc_option_editor.cc:2036
msgid "Outbound MMC device ID"
msgstr "ID zařízení MMC (ovládání stroje MIDI) na výstupu"
-#: rc_option_editor.cc:1765
+#: rc_option_editor.cc:2045
msgid "Initial program change"
msgstr "PoÄáteÄní zmÄ›na programu"
-#: rc_option_editor.cc:1774
+#: rc_option_editor.cc:2054
msgid "Display first MIDI bank/program as 0"
msgstr "Zobrazit první banku/program MIDI jako 0"
-#: rc_option_editor.cc:1782
+#: rc_option_editor.cc:2062
msgid "Never display periodic MIDI messages (MTC, MIDI Clock)"
msgstr "Nikdy nezobrazovat periodické zprávy MIDI (MTC, hodiny MIDI)"
-#: rc_option_editor.cc:1790
+#: rc_option_editor.cc:2070
msgid "Sound MIDI notes as they are selected"
msgstr "Zahrát noty MIDI, když jsou vybrány"
-#: rc_option_editor.cc:1798 rc_option_editor.cc:1808 rc_option_editor.cc:1810
+#: rc_option_editor.cc:2075
+msgid "Midi Audition"
+msgstr ""
+
+#: rc_option_editor.cc:2079
+msgid "Midi Audition Synth (LV2)"
+msgstr ""
+
+#: rc_option_editor.cc:2103 rc_option_editor.cc:2113 rc_option_editor.cc:2115
msgid "User interaction"
msgstr "Uživatelská interakce"
-#: rc_option_editor.cc:1801
+#: rc_option_editor.cc:2106
msgid ""
"Use translations of %1 messages\n"
" <i>(requires a restart of %1 to take effect)</i>\n"
@@ -9489,275 +9704,285 @@ msgstr ""
" <i>(aby se projevilo, vyžaduje opětovné spuštění %1)</i>\n"
" <i>(je-li dostupné pro vaše jazykové nastavení)</i>"
-#: rc_option_editor.cc:1808
+#: rc_option_editor.cc:2113
msgid "Keyboard"
msgstr "Klávesnice"
-#: rc_option_editor.cc:1818
+#: rc_option_editor.cc:2123
msgid "Control surface remote ID"
msgstr "ID vzdálené ovládací plochy"
-#: rc_option_editor.cc:1823
+#: rc_option_editor.cc:2128
msgid "assigned by user"
msgstr "urÄeno uživatelem"
-#: rc_option_editor.cc:1824
+#: rc_option_editor.cc:2129
msgid "follows order of mixer"
msgstr "následuje poÅ™adí ve směšovaÄi"
-#: rc_option_editor.cc:1833 rc_option_editor.cc:1841 rc_option_editor.cc:1851
-#: rc_option_editor.cc:1872 rc_option_editor.cc:1881 rc_option_editor.cc:1889
-#: rc_option_editor.cc:1903 rc_option_editor.cc:1922 rc_option_editor.cc:1938
-#: rc_option_editor.cc:1954 rc_option_editor.cc:1968 rc_option_editor.cc:1982
-#: rc_option_editor.cc:1984
+#: rc_option_editor.cc:2143 rc_option_editor.cc:2151 rc_option_editor.cc:2159
+#: rc_option_editor.cc:2169 rc_option_editor.cc:2193 rc_option_editor.cc:2206
+#: rc_option_editor.cc:2215
msgid "Preferences|GUI"
msgstr ""
-#: rc_option_editor.cc:1836
+#: rc_option_editor.cc:2146
msgid "Graphically indicate mouse pointer hovering over various widgets"
msgstr "ObrazovÄ› naznaÄovat pÅ™ejetí ukazatele myÅ¡i nad různými prvky"
-#: rc_option_editor.cc:1844
+#: rc_option_editor.cc:2154
msgid "Show tooltips if mouse hovers over a control"
msgstr "Ukázat nástrojové rady, když myš přejede nad prvkem"
-#: rc_option_editor.cc:1854
-msgid "GUI"
-msgstr "GUI"
+#: rc_option_editor.cc:2162
+msgid "Use name highlight bars in region displays"
+msgstr ""
-#: rc_option_editor.cc:1857
-msgid "update transport clock display every 40ms instead of every 100ms"
+#: rc_option_editor.cc:2175
+msgid "update transport clock display at FPS instead of every 100ms"
msgstr ""
-"Aktualizovat zobrazení hodin ukazujících stav přehrávání každých 40 ms "
-"namísto každých 100 ms"
-#: rc_option_editor.cc:1874
+#: rc_option_editor.cc:2184
+msgid "Lock timeout (seconds)"
+msgstr ""
+
+#: rc_option_editor.cc:2192
+msgid "Lock GUI after this many idle seconds (zero to never lock)"
+msgstr ""
+
+#: rc_option_editor.cc:2208
msgid "Mixer Strip"
msgstr "Proužek směšovaÄe"
-#: rc_option_editor.cc:1884
+#: rc_option_editor.cc:2218
msgid "Use narrow strips in the mixer by default"
msgstr "Použít úzké proužky ve směšovaÄi jako výchozí"
-#: rc_option_editor.cc:1893
+#: rc_option_editor.cc:2223 rc_option_editor.cc:2237 rc_option_editor.cc:2256
+#: rc_option_editor.cc:2272 rc_option_editor.cc:2288 rc_option_editor.cc:2302
+#: rc_option_editor.cc:2316 rc_option_editor.cc:2318
+msgid "Preferences|Metering"
+msgstr ""
+
+#: rc_option_editor.cc:2227
msgid "Peak hold time"
msgstr ""
-#: rc_option_editor.cc:1899
+#: rc_option_editor.cc:2233
msgid "short"
msgstr "Krátký"
-#: rc_option_editor.cc:1900
+#: rc_option_editor.cc:2234
msgid "medium"
msgstr "Střední"
-#: rc_option_editor.cc:1901
+#: rc_option_editor.cc:2235
msgid "long"
msgstr "Dlouhý"
-#: rc_option_editor.cc:1907
+#: rc_option_editor.cc:2241
msgid "DPM fall-off"
msgstr ""
-#: rc_option_editor.cc:1913
+#: rc_option_editor.cc:2247
msgid "slowest [6.6dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1914
+#: rc_option_editor.cc:2248
msgid "slow [8.6dB/sec] (BBC PPM, EBU PPM)"
msgstr ""
-#: rc_option_editor.cc:1915
+#: rc_option_editor.cc:2249
msgid "slowish [12.0dB/sec] (DIN)"
msgstr ""
-#: rc_option_editor.cc:1916
+#: rc_option_editor.cc:2250
msgid "moderate [13.3dB/sec] (EBU Digi PPM, IRT Digi PPM)"
msgstr ""
-#: rc_option_editor.cc:1917
+#: rc_option_editor.cc:2251
msgid "medium [20dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1918
+#: rc_option_editor.cc:2252
msgid "fast [32dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1919
+#: rc_option_editor.cc:2253
msgid "faster [46dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1920
+#: rc_option_editor.cc:2254
msgid "fastest [70dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1926
+#: rc_option_editor.cc:2260
msgid "Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1931 rc_option_editor.cc:1947
+#: rc_option_editor.cc:2265 rc_option_editor.cc:2281
msgid "-24dBFS (SMPTE US: 4dBu = -20dBFS)"
msgstr ""
-#: rc_option_editor.cc:1932 rc_option_editor.cc:1948
+#: rc_option_editor.cc:2266 rc_option_editor.cc:2282
msgid "-20dBFS (SMPTE RP.0155)"
msgstr ""
-#: rc_option_editor.cc:1933 rc_option_editor.cc:1949
+#: rc_option_editor.cc:2267 rc_option_editor.cc:2283
msgid "-18dBFS (EBU, BBC)"
msgstr ""
-#: rc_option_editor.cc:1934 rc_option_editor.cc:1950
+#: rc_option_editor.cc:2268 rc_option_editor.cc:2284
msgid "-15dBFS (DIN)"
msgstr ""
-#: rc_option_editor.cc:1936
+#: rc_option_editor.cc:2270
msgid ""
"Configure meter-marks and color-knee point for dBFS scale DPM, set reference "
"level for IEC1/Nordic, IEC2 PPM and VU meter."
msgstr ""
-#: rc_option_editor.cc:1942
+#: rc_option_editor.cc:2276
msgid "IEC1/DIN Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1952
+#: rc_option_editor.cc:2286
msgid "Reference level for IEC1/DIN meter."
msgstr ""
-#: rc_option_editor.cc:1958
+#: rc_option_editor.cc:2292
msgid "VU Meter standard"
msgstr ""
-#: rc_option_editor.cc:1963
+#: rc_option_editor.cc:2297
msgid "0VU = -2dBu (France)"
msgstr ""
-#: rc_option_editor.cc:1964
+#: rc_option_editor.cc:2298
msgid "0VU = 0dBu (North America, Australia)"
msgstr ""
-#: rc_option_editor.cc:1965
+#: rc_option_editor.cc:2299
msgid "0VU = +4dBu (standard)"
msgstr ""
-#: rc_option_editor.cc:1966
+#: rc_option_editor.cc:2300
msgid "0VU = +8dBu"
msgstr ""
-#: rc_option_editor.cc:1972
+#: rc_option_editor.cc:2306
msgid "Peak threshold [dBFS]"
msgstr ""
-#: rc_option_editor.cc:1980
+#: rc_option_editor.cc:2314
msgid ""
"Specify the audio signal level in dbFS at and above which the meter-peak "
"indicator will flash red."
msgstr ""
-#: rc_option_editor.cc:1987
+#: rc_option_editor.cc:2321
msgid "LED meter style"
msgstr ""
-#: region_editor.cc:79
+#: region_editor.cc:78
msgid "audition this region"
msgstr "Poslech této oblasti"
-#: region_editor.cc:88 region_layering_order_editor.cc:74
+#: region_editor.cc:87 region_layering_order_editor.cc:75
msgid "Position:"
msgstr "Poloha:"
-#: region_editor.cc:90 add_video_dialog.cc:170
+#: region_editor.cc:89 add_video_dialog.cc:155
msgid "End:"
msgstr "Konec:"
-#: region_editor.cc:92 sfdb_ui.cc:139
+#: region_editor.cc:91 sfdb_ui.cc:143
msgid "Length:"
msgstr "Délka:"
-#: region_editor.cc:94
+#: region_editor.cc:93
msgid "Sync point (relative to region):"
msgstr "Bod zapadnutí (poměrný k oblasti):"
-#: region_editor.cc:96
+#: region_editor.cc:95
msgid "Sync point (absolute):"
msgstr "Bod zapadnutí (absolutní):"
-#: region_editor.cc:98
+#: region_editor.cc:97
msgid "File start:"
msgstr "ZaÄátek souboru:"
-#: region_editor.cc:102
+#: region_editor.cc:101
msgid "Sources:"
msgstr "Zdroje:"
-#: region_editor.cc:104
+#: region_editor.cc:103
msgid "Source:"
msgstr "Zdroj:"
-#: region_editor.cc:166
+#: region_editor.cc:165
msgid "Region '%1'"
msgstr "Oblast '%1'"
-#: region_editor.cc:273
+#: region_editor.cc:272
msgid "change region start position"
msgstr "ZmÄ›nit zaÄáteÄní polohu oblasti"
-#: region_editor.cc:289
+#: region_editor.cc:288
msgid "change region end position"
msgstr "Změnit koncovou polohu oblasti"
-#: region_editor.cc:309
+#: region_editor.cc:308
msgid "change region length"
msgstr "Změnit délku oblasti"
-#: region_editor.cc:403 region_editor.cc:415
+#: region_editor.cc:402 region_editor.cc:414
msgid "change region sync point"
msgstr "Změnit bod zapadnutí oblasti"
-#: region_layering_order_editor.cc:41
+#: region_layering_order_editor.cc:42
msgid "RegionLayeringOrderEditor"
msgstr "Editor pořadí vrstvení oblastí"
-#: region_layering_order_editor.cc:54
+#: region_layering_order_editor.cc:55
msgid "Region Name"
msgstr "Název oblasti"
-#: region_layering_order_editor.cc:71
+#: region_layering_order_editor.cc:72
msgid "Track:"
msgstr "Stopa:"
-#: region_layering_order_editor.cc:103
+#: region_layering_order_editor.cc:104
msgid "Choose Top Region"
msgstr "Vybrat horní oblast"
-#: region_view.cc:274
+#: region_view.cc:282
msgid "SilenceText"
msgstr "Text pro ticho"
-#: region_view.cc:290 region_view.cc:309
+#: region_view.cc:297 region_view.cc:316
msgid "minutes"
msgstr "minut"
-#: region_view.cc:293 region_view.cc:312
+#: region_view.cc:300 region_view.cc:319
msgid "msecs"
msgstr "milisekund"
-#: region_view.cc:296 region_view.cc:315
+#: region_view.cc:303 region_view.cc:322
msgid "secs"
msgstr "sekund"
-#: region_view.cc:299
+#: region_view.cc:306
msgid "%1 silent segment"
msgid_plural "%1 silent segments"
msgstr[0] "%1 Äást ticha"
msgstr[1] "%1 Äásti ticha"
-#: region_view.cc:301
+#: region_view.cc:308
msgid "shortest = %1 %2"
msgstr "nejkratší = %1 %2"
-#: region_view.cc:318
+#: region_view.cc:325
msgid ""
"\n"
" (shortest audible segment = %1 %2)"
@@ -9765,143 +9990,137 @@ msgstr ""
"\n"
" (nejkratší slyÅ¡itelná Äást = %1 %2)"
-#: return_ui.cc:103
+#: return_ui.cc:102
msgid "Return "
msgstr "Návrat "
-#: rhythm_ferret.cc:49
+#: rhythm_ferret.cc:48
msgid "Percussive Onset"
msgstr "PoÄátek nárazu"
-#: rhythm_ferret.cc:50
+#: rhythm_ferret.cc:49
msgid "Note Onset"
msgstr "PoÄátek záznamu"
-#: rhythm_ferret.cc:55
+#: rhythm_ferret.cc:54
msgid "Energy Based"
msgstr "Založený na energii"
-#: rhythm_ferret.cc:56
+#: rhythm_ferret.cc:55
msgid "Spectral Difference"
msgstr "Spektrální rozdíl"
-#: rhythm_ferret.cc:57
+#: rhythm_ferret.cc:56
msgid "High-Frequency Content"
msgstr "Krátkovlnný podíl"
-#: rhythm_ferret.cc:58
+#: rhythm_ferret.cc:57
msgid "Complex Domain"
msgstr "Složený okruh"
-#: rhythm_ferret.cc:59
+#: rhythm_ferret.cc:58
msgid "Phase Deviation"
msgstr "Fázová odchylka"
-#: rhythm_ferret.cc:60
+#: rhythm_ferret.cc:59
msgid "Kullback-Liebler"
msgstr "Kullback-Liebler"
-#: rhythm_ferret.cc:61
+#: rhythm_ferret.cc:60
msgid "Modified Kullback-Liebler"
msgstr "Upravený Kullback-Liebler"
-#: rhythm_ferret.cc:66
+#: rhythm_ferret.cc:65
msgid "Split region"
msgstr "Rozdělit oblast"
-#: rhythm_ferret.cc:67
+#: rhythm_ferret.cc:66
msgid "Snap regions"
msgstr "Zapadnout oblasti"
-#: rhythm_ferret.cc:68
+#: rhythm_ferret.cc:67
msgid "Conform regions"
msgstr "Přizpůsobit oblasti"
-#: rhythm_ferret.cc:73
+#: rhythm_ferret.cc:72
msgid "Rhythm Ferret"
msgstr "Rytmická páska"
-#: rhythm_ferret.cc:79
+#: rhythm_ferret.cc:78
msgid "Analyze"
msgstr "Rozbor dat"
-#: rhythm_ferret.cc:114
+#: rhythm_ferret.cc:113
msgid "Detection function"
msgstr "Funkce rozpoznání"
-#: rhythm_ferret.cc:118
+#: rhythm_ferret.cc:117
msgid "Trigger gap"
msgstr "Mezera spuštění (ms)"
-#: rhythm_ferret.cc:123 strip_silence_dialog.cc:68
+#: rhythm_ferret.cc:122 strip_silence_dialog.cc:64
msgid "Threshold"
msgstr "Práh"
-#: rhythm_ferret.cc:128
+#: rhythm_ferret.cc:127
msgid "Peak threshold"
msgstr "Prahová hodnota zvuku (dB)"
-#: rhythm_ferret.cc:133
+#: rhythm_ferret.cc:132
msgid "Silence threshold"
msgstr "Prahová hodnota ticha (dB)"
-#: rhythm_ferret.cc:138
+#: rhythm_ferret.cc:137
msgid "Sensitivity"
msgstr "Citlivost"
-#: rhythm_ferret.cc:142
+#: rhythm_ferret.cc:141
msgid "Operation"
msgstr "Operace"
-#: rhythm_ferret.cc:356
+#: rhythm_ferret.cc:355
msgid "split regions (rhythm ferret)"
msgstr "Rozdělit oblasti (rytmická páska)"
-#: route_group_dialog.cc:36
+#: route_group_dialog.cc:42
msgid "Track/bus Group"
msgstr "Skupina stopy/sběrnice"
-#: route_group_dialog.cc:41
+#: route_group_dialog.cc:47
msgid "Relative"
msgstr "Poměrně"
-#: route_group_dialog.cc:42
+#: route_group_dialog.cc:48
msgid "Muting"
msgstr "Ztlumení"
-#: route_group_dialog.cc:43
-msgid "Soloing"
-msgstr "Sólo"
-
-#: route_group_dialog.cc:44
+#: route_group_dialog.cc:50
msgid "Record enable"
msgstr "Povolení nahrávání"
-#: route_group_dialog.cc:45 time_info_box.cc:66
+#: route_group_dialog.cc:51 time_info_box.cc:67
msgid "Selection"
msgstr "Výběr"
-#: route_group_dialog.cc:46
+#: route_group_dialog.cc:52
msgid "Active state"
msgstr "Zapnuto"
-#: route_group_dialog.cc:47 route_group_dialog.cc:76 theme_manager.cc:71
+#: route_group_dialog.cc:53 route_group_dialog.cc:82 theme_manager.cc:84
msgid "Color"
msgstr "Barva"
-#: route_group_dialog.cc:53
+#: route_group_dialog.cc:59
msgid "RouteGroupDialog"
msgstr "DialogProSkupinuCest"
-#: route_group_dialog.cc:92
+#: route_group_dialog.cc:100
msgid "<b>Sharing</b>"
msgstr "<b>Sdílení</b>"
-#: route_group_dialog.cc:182
-msgid ""
-"A route group of this name already exists. Please use a different name."
+#: route_group_dialog.cc:200
+msgid "The group name is not unique. Please use a different name."
msgstr ""
-"Skupina cesty s tímto názvem již existuje. Použijte, prosím, jiný název."
#: route_params_ui.cc:83
msgid "Tracks/Busses"
@@ -9923,298 +10142,282 @@ msgstr "Přídavné moduly, vložky & odeslání"
msgid "route display list item for renamed route not found!"
msgstr "Položka v seznamu s cestami pro přejmenovanou cestu nebyla nalezena!"
-#: route_params_ui.cc:255 route_params_ui.cc:283
+#: route_params_ui.cc:278 route_params_ui.cc:306
#, c-format
msgid "Playback delay: %<PRId64> samples"
msgstr "Zpoždění přehrávání: %<PRId64> vzorků"
-#: route_params_ui.cc:475
+#: route_params_ui.cc:498
msgid "NO TRACK"
msgstr "ŽÃDNà STOPA"
-#: route_params_ui.cc:613 route_params_ui.cc:614
+#: route_params_ui.cc:636 route_params_ui.cc:637
msgid "No Track or Bus Selected"
msgstr "Nebyla vybrána žádná stopa nebo sběrnice"
-#: route_time_axis.cc:97
-msgid "g"
-msgstr "sk"
-
-#: route_time_axis.cc:98
-msgid "p"
-msgstr "se"
-
-#: route_time_axis.cc:99
-msgid "a"
-msgstr "a"
-
-#: route_time_axis.cc:173
+#: route_time_axis.cc:179
msgid "Record (Right-click for Step Edit)"
msgstr "Nahrávat (klepnutí pravým tlaÄítkem myÅ¡i pro Úpravu kroku)"
-#: route_time_axis.cc:176
+#: route_time_axis.cc:182
msgid "Record"
msgstr "Nahrávat"
-#: route_time_axis.cc:210
+#: route_time_axis.cc:254
msgid "Route Group"
msgstr "Skupina cest"
-#: route_time_axis.cc:213
+#: route_time_axis.cc:264
msgid "MIDI Controllers and Automation"
msgstr "Ovládací prvky MIDI a automatizace"
-#: route_time_axis.cc:390
+#: route_time_axis.cc:500
msgid "Show All Automation"
msgstr "Ukázat všechny automatizace"
-#: route_time_axis.cc:393
+#: route_time_axis.cc:503
msgid "Show Existing Automation"
msgstr "Ukázat stávající automatizace"
-#: route_time_axis.cc:396
+#: route_time_axis.cc:506
msgid "Hide All Automation"
msgstr "Skrýt všechny automatizace"
-#: route_time_axis.cc:405
+#: route_time_axis.cc:515
msgid "Processor automation"
msgstr "Automatizace procesoru"
-#: route_time_axis.cc:424
-msgid "Color..."
-msgstr "Barva..."
-
-#: route_time_axis.cc:481
+#: route_time_axis.cc:599
msgid "Overlaid"
msgstr "Překryto"
-#: route_time_axis.cc:487
+#: route_time_axis.cc:605
msgid "Stacked"
msgstr "Naskládáno"
-#: route_time_axis.cc:495
+#: route_time_axis.cc:613
msgid "Layers"
msgstr "Vrstvy"
-#: route_time_axis.cc:564
+#: route_time_axis.cc:682
msgid "Automatic (based on I/O connections)"
msgstr "Automaticky (založeno na spojení vstup/výstup)"
-#: route_time_axis.cc:573
+#: route_time_axis.cc:691
msgid "(Currently: Existing Material)"
msgstr "(Nyní: stávající materiál)"
-#: route_time_axis.cc:576
+#: route_time_axis.cc:694
msgid "(Currently: Capture Time)"
msgstr "(Nyní: Äas zachycení)"
-#: route_time_axis.cc:584
+#: route_time_axis.cc:702
msgid "Align With Existing Material"
msgstr "Zarovnat se stávajícím materiálem"
-#: route_time_axis.cc:589
+#: route_time_axis.cc:707
msgid "Align With Capture Time"
msgstr "Zarovnat s Äasem nahrávky"
-#: route_time_axis.cc:594
+#: route_time_axis.cc:712
msgid "Alignment"
msgstr "Zarovnání"
-#: route_time_axis.cc:629
+#: route_time_axis.cc:747
msgid "Normal Mode"
msgstr "Obvyklý režim"
-#: route_time_axis.cc:635
+#: route_time_axis.cc:753
msgid "Tape Mode"
msgstr "Páskový režim"
-#: route_time_axis.cc:641
+#: route_time_axis.cc:759
msgid "Non-Layered Mode"
msgstr "Nevrstvený režim"
-#: route_time_axis.cc:654 route_time_axis.cc:1601
+#: route_time_axis.cc:772 route_time_axis.cc:1748
msgid "Playlist"
msgstr "Seznam skladeb"
-#: route_time_axis.cc:979
+#: route_time_axis.cc:1070
msgid "Rename Playlist"
msgstr "Přejmenovat seznam skladeb"
-#: route_time_axis.cc:980
+#: route_time_axis.cc:1071
msgid "New name for playlist:"
msgstr "Nový název pro seznam skladeb:"
-#: route_time_axis.cc:1065
+#: route_time_axis.cc:1156
msgid "New Copy Playlist"
msgstr "Seznam skladeb nové kopie"
-#: route_time_axis.cc:1066 route_time_axis.cc:1119
+#: route_time_axis.cc:1157 route_time_axis.cc:1210
msgid "Name for new playlist:"
msgstr "Název pro nový seznam skladeb:"
-#: route_time_axis.cc:1118
+#: route_time_axis.cc:1209
msgid "New Playlist"
msgstr "Nový seznam skladeb"
-#: route_time_axis.cc:1309
+#: route_time_axis.cc:1400
msgid "You cannot create a track with that name as it is reserved for %1"
msgstr "Nemůžete vytvořit stopu s tímto názvem, protože je zamluvený pro %1"
-#: route_time_axis.cc:1490
+#: route_time_axis.cc:1637
msgid "New Copy..."
msgstr "Nová kopie..."
-#: route_time_axis.cc:1494
+#: route_time_axis.cc:1641
msgid "New Take"
msgstr "Nový záběr"
-#: route_time_axis.cc:1495
+#: route_time_axis.cc:1642
msgid "Copy Take"
msgstr "Kopírovat záběr"
-#: route_time_axis.cc:1500
+#: route_time_axis.cc:1647
msgid "Clear Current"
msgstr "Smazat vybrané"
-#: route_time_axis.cc:1503
+#: route_time_axis.cc:1650
msgid "Select From All..."
msgstr "Vybrat ze všeho..."
-#: route_time_axis.cc:1591
+#: route_time_axis.cc:1738
msgid "Take: %1.%2"
msgstr "Vzít: %1.%2"
-#: route_time_axis.cc:2291
+#: route_time_axis.cc:2024 selection.cc:1002 selection.cc:1056
+msgid "programming error: "
+msgstr "Chyba v programování:"
+
+#: route_time_axis.cc:2440
msgid "Underlays"
msgstr "Podložky"
-#: route_time_axis.cc:2294
+#: route_time_axis.cc:2443
msgid "Remove \"%1\""
msgstr "Odstranit \"%1\""
-#: route_time_axis.cc:2344 route_time_axis.cc:2381
+#: route_time_axis.cc:2493 route_time_axis.cc:2530
msgid "programming error: underlay reference pointer pairs are inconsistent!"
msgstr ""
"Chyba v programování: dvojice vodítek odkazující na podložku jsou "
"nesluÄitelné!"
-#: route_time_axis.cc:2408
+#: route_time_axis.cc:2557
msgid "After-fade listen (AFL)"
msgstr "Poslech po-prolínaÄi (AFL)"
-#: route_time_axis.cc:2412
+#: route_time_axis.cc:2561
msgid "Pre-fade listen (PFL)"
msgstr "Poslech pÅ™ed-prolínaÄem (PFL)"
-#: route_time_axis.cc:2416
-msgid "s"
-msgstr "s"
-
-#: route_time_axis.cc:2419
-msgid "m"
-msgstr "z"
-
-#: route_ui.cc:119
+#: route_ui.cc:138
msgid "Mute this track"
msgstr "Ztlumit tuto stopu"
-#: route_ui.cc:123
+#: route_ui.cc:142
msgid "Mute other (non-soloed) tracks"
msgstr "Ztlumit ostatní stopy (nesólové)"
-#: route_ui.cc:129
+#: route_ui.cc:148
msgid "Enable recording on this track"
msgstr "Spustit nahrávání do této stopy"
-#: route_ui.cc:133
+#: route_ui.cc:154
msgid "make mixer strips show sends to this bus"
msgstr "Proužky směšovaÄe ukazují odeslání do této sbÄ›rnice"
-#: route_ui.cc:138
+#: route_ui.cc:159
msgid "Monitor input"
msgstr "Sledovat vstup"
-#: route_ui.cc:144
+#: route_ui.cc:165
msgid "Monitor playback"
msgstr "Sledovat přehrávání"
-#: route_ui.cc:591
-msgid "Not connected to JACK - cannot engage record"
-msgstr "Nespojeno s JACKem - nelze zaÄít s nahráváním"
+#: route_ui.cc:668
+msgid "Not connected to AudioEngine - cannot engage record"
+msgstr ""
-#: route_ui.cc:786
+#: route_ui.cc:867
msgid "Step Entry"
msgstr "Zápis kroku"
-#: route_ui.cc:859
+#: route_ui.cc:940
msgid "Assign all tracks (prefader)"
msgstr "PÅ™iÅ™adit vÅ¡echny stopy (pÅ™ed-prolínaÄ)"
-#: route_ui.cc:863
+#: route_ui.cc:944
msgid "Assign all tracks and buses (prefader)"
msgstr "PÅ™iÅ™adit vÅ¡echny stopy a sbÄ›rnice (pÅ™ed-prolínaÄ)"
-#: route_ui.cc:867
+#: route_ui.cc:948
msgid "Assign all tracks (postfader)"
msgstr "PÅ™iÅ™adit vÅ¡echny stopy (po-prolínaÄ)"
-#: route_ui.cc:871
+#: route_ui.cc:952
msgid "Assign all tracks and buses (postfader)"
msgstr "PÅ™iÅ™adit vÅ¡echny stopy a sbÄ›rnice (po-prolínaÄ)"
-#: route_ui.cc:875
+#: route_ui.cc:956
msgid "Assign selected tracks (prefader)"
msgstr "PÅ™iÅ™adit vybrané stopy (pÅ™ed-prolínaÄ)"
-#: route_ui.cc:879
+#: route_ui.cc:960
msgid "Assign selected tracks and buses (prefader)"
msgstr "PÅ™iÅ™adit vybrané stopy a sbÄ›rnice (pÅ™ed-prolínaÄ)"
-#: route_ui.cc:882
+#: route_ui.cc:963
msgid "Assign selected tracks (postfader)"
msgstr "PÅ™iÅ™adit vybrané stopy (po-prolínaÄ)"
-#: route_ui.cc:886
+#: route_ui.cc:967
msgid "Assign selected tracks and buses (postfader)"
msgstr "PÅ™iÅ™adit vybrané stopy a sbÄ›rnice (po-prolínaÄ)"
-#: route_ui.cc:889
+#: route_ui.cc:970
msgid "Copy track/bus gains to sends"
msgstr "Kopírovat zesílení stop/sběrnic do odeslání"
-#: route_ui.cc:890
+#: route_ui.cc:971
msgid "Set sends gain to -inf"
msgstr "Nastavit zesílení odeslání na -inf."
-#: route_ui.cc:891
+#: route_ui.cc:972
msgid "Set sends gain to 0dB"
msgstr "Nastavit zesílení odeslání na 0dB"
-#: route_ui.cc:1211
+#: route_ui.cc:1294
msgid "Solo Isolate"
msgstr "Samostatné sólo"
-#: route_ui.cc:1240
-msgid "Pre Fader"
-msgstr "PÅ™ed-prolínaÄ"
+#: route_ui.cc:1301
+msgid "Solo Safe"
+msgstr "Zajištěné sólo"
-#: route_ui.cc:1246
-msgid "Post Fader"
-msgstr "Po-prolínaÄ"
+#: route_ui.cc:1323
+msgid "Pre Fader Sends"
+msgstr ""
+
+#: route_ui.cc:1329
+msgid "Post Fader Sends"
+msgstr ""
-#: route_ui.cc:1252
+#: route_ui.cc:1335
msgid "Control Outs"
msgstr "Ovládací výstupy"
-#: route_ui.cc:1258
+#: route_ui.cc:1341
msgid "Main Outs"
msgstr "Hlavní výstupy"
-#: route_ui.cc:1390
+#: route_ui.cc:1473
msgid "Color Selection"
msgstr "Výběr barvy"
-#: route_ui.cc:1477
+#: route_ui.cc:1558
msgid ""
"Do you really want to remove track \"%1\" ?\n"
"\n"
@@ -10229,7 +10432,7 @@ msgstr ""
"\n"
"(Toto nelze vrátit zpět, a soubor se sezením bude přepsán!)"
-#: route_ui.cc:1479
+#: route_ui.cc:1560
msgid ""
"Do you really want to remove bus \"%1\" ?\n"
"\n"
@@ -10239,15 +10442,15 @@ msgstr ""
"\n"
"(Tento krok nelze vrátit zpět, a soubor se sezením bude přepsán)"
-#: route_ui.cc:1487
+#: route_ui.cc:1568
msgid "Remove track"
msgstr "Odstranit stopu"
-#: route_ui.cc:1489
+#: route_ui.cc:1570
msgid "Remove bus"
msgstr "Odstranit sběrnici"
-#: route_ui.cc:1516
+#: route_ui.cc:1598
msgid ""
"The use of colons (':') is discouraged in track and bus names.\n"
"Do you want to use this new name?"
@@ -10255,47 +10458,51 @@ msgstr ""
"Od použití dvojteÄky (':') se odrazuje v názvech stop a sbÄ›rnic.\n"
"Chcete použít tento nový název?"
-#: route_ui.cc:1520
+#: route_ui.cc:1602
msgid "Use the new name"
msgstr "Použít nový název"
-#: route_ui.cc:1521
+#: route_ui.cc:1603
msgid "Re-edit the name"
msgstr "Upravit název znovu"
-#: route_ui.cc:1534
+#: route_ui.cc:1616
msgid "Rename Track"
msgstr "Přejmenovat stopu"
-#: route_ui.cc:1536
+#: route_ui.cc:1618
msgid "Rename Bus"
msgstr "Přejmenovat sběrnici"
-#: route_ui.cc:1695
+#: route_ui.cc:1686
+msgid ": comment editor"
+msgstr ": editor poznámek"
+
+#: route_ui.cc:1852
msgid " latency"
msgstr " Prodleva"
-#: route_ui.cc:1708
+#: route_ui.cc:1865
msgid "Cannot create route template directory %1"
msgstr "Nelze vytvořit adresář %1 pro předlohu cesty"
-#: route_ui.cc:1714
+#: route_ui.cc:1871
msgid "Save As Template"
msgstr "Uložit jako předlohu"
-#: route_ui.cc:1715
+#: route_ui.cc:1872
msgid "Template name:"
msgstr "Název předlohy:"
-#: route_ui.cc:1788
+#: route_ui.cc:1945
msgid "Remote Control ID"
msgstr "ID dálkového ovládání"
-#: route_ui.cc:1798
+#: route_ui.cc:1955
msgid "Remote control ID:"
msgstr "ID dálkového ovládání:"
-#: route_ui.cc:1812
+#: route_ui.cc:1969
msgid ""
"The remote control ID of %1 is: %2\n"
"\n"
@@ -10307,27 +10514,26 @@ msgstr ""
"\n"
"ID dálkového ovládání %3 nelze změnit."
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the master bus"
msgstr "Hlavní sběrnice"
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the monitor bus"
msgstr "Sledovací sběrnice"
-#: route_ui.cc:1818
+#: route_ui.cc:1975
msgid ""
"The remote control ID of %5 is: %2\n"
"\n"
"\n"
-"Remote Control IDs are currently determined by track/bus ordering in "
-"Ardour.\n"
+"Remote Control IDs are currently determined by track/bus ordering in %6.\n"
"\n"
"%3Use the User Interaction tab of the Preferences window if you want to "
"change this%4"
msgstr ""
-#: route_ui.cc:1875
+#: route_ui.cc:2032
msgid ""
"Left-click to invert (phase reverse) channel %1 of this track. Right-click "
"to show menu."
@@ -10335,7 +10541,7 @@ msgstr ""
"Klepnutí levým tlaÄítkem myÅ¡i pro obrácení (otoÄení fáze) kanálu %1 této "
"stopy. Klepnutí pravým tlaÄítkem myÅ¡i pro ukázání nabídky."
-#: route_ui.cc:1877
+#: route_ui.cc:2034
msgid "Click to show a menu of channels for inversion (phase reverse)"
msgstr "KlepnÄ›te pro ukázání kanálů pro obrácení (otoÄení fáze)"
@@ -10351,119 +10557,119 @@ msgstr "Klepněte pro přidání nového umístění"
msgid "the session folder"
msgstr "složka se sezením"
-#: send_ui.cc:126
+#: send_ui.cc:134
msgid "Send "
msgstr "Poslat "
-#: session_dialog.cc:66
+#: session_dialog.cc:68
msgid "Session Setup"
msgstr ""
-#: session_dialog.cc:71
+#: session_dialog.cc:73
msgid "Advanced options ..."
msgstr ""
-#: session_dialog.cc:267
+#: session_dialog.cc:271
msgid "New Session"
msgstr "Nové sezení"
-#: session_dialog.cc:305
+#: session_dialog.cc:309
msgid "Check the website for more..."
msgstr "Najít více na internetových stránkách..."
-#: session_dialog.cc:308
+#: session_dialog.cc:312
msgid "Click to open the program website in your web browser"
msgstr "Klepnout pro otevÅ™ení stránek programu v prohlížeÄi"
-#: session_dialog.cc:328
+#: session_dialog.cc:332
msgid "Sample Rate"
msgstr ""
-#: session_dialog.cc:329
+#: session_dialog.cc:333
msgid "Disk Format"
msgstr ""
-#: session_dialog.cc:347
+#: session_dialog.cc:351
msgid "Select session file"
msgstr "Vybrat soubor se sezením"
-#: session_dialog.cc:362
+#: session_dialog.cc:366
msgid "Other Sessions"
msgstr ""
-#: session_dialog.cc:388
+#: session_dialog.cc:392
msgid "Open"
msgstr "Otevřít"
-#: session_dialog.cc:455
+#: session_dialog.cc:459
msgid "Session name:"
msgstr "Název sezení:"
-#: session_dialog.cc:477
+#: session_dialog.cc:481
msgid "Create session folder in:"
msgstr "Složku se sezením vytvořit v:"
-#: session_dialog.cc:500
+#: session_dialog.cc:504
msgid "Select folder for session"
msgstr "Vybrat složku pro sezení"
-#: session_dialog.cc:529
+#: session_dialog.cc:533
msgid "Use this template"
msgstr "Použít tuto předlohu"
-#: session_dialog.cc:532
+#: session_dialog.cc:536
msgid "no template"
msgstr "Žádná předloha"
-#: session_dialog.cc:664 session_dialog.cc:696
+#: session_dialog.cc:671 session_dialog.cc:707
msgid "32 bit float"
msgstr ""
-#: session_dialog.cc:667 session_dialog.cc:699
+#: session_dialog.cc:674 session_dialog.cc:710
msgid "24 bit"
msgstr ""
-#: session_dialog.cc:670 session_dialog.cc:702
+#: session_dialog.cc:677 session_dialog.cc:713
msgid "16 bit"
msgstr ""
-#: session_dialog.cc:741 session_dialog.cc:742 session_dialog.cc:743
+#: session_dialog.cc:755 session_dialog.cc:756 session_dialog.cc:757
msgid "channels"
msgstr "Kanály"
-#: session_dialog.cc:757
+#: session_dialog.cc:771
msgid "<b>Busses</b>"
msgstr "<b>Sběrnice</b>"
-#: session_dialog.cc:758
+#: session_dialog.cc:772
msgid "<b>Inputs</b>"
msgstr "<b>Vstupy</b>"
-#: session_dialog.cc:759
+#: session_dialog.cc:773
msgid "<b>Outputs</b>"
msgstr "<b>Výstupy</b>"
-#: session_dialog.cc:767
+#: session_dialog.cc:781
msgid "Create master bus"
msgstr "Vytvořit hlavní sběrnici"
-#: session_dialog.cc:777
+#: session_dialog.cc:791
msgid "Automatically connect to physical inputs"
msgstr "Automaticky spojit s fyzickými vstupy"
-#: session_dialog.cc:784 session_dialog.cc:843
+#: session_dialog.cc:798 session_dialog.cc:857
msgid "Use only"
msgstr "Použít pouze"
-#: session_dialog.cc:837
+#: session_dialog.cc:851
msgid "Automatically connect outputs"
msgstr "Automaticky spojit výstupy"
-#: session_dialog.cc:859
+#: session_dialog.cc:873
msgid "... to master bus"
msgstr "... s hlavní sběrnicí"
-#: session_dialog.cc:869
+#: session_dialog.cc:883
msgid "... to physical outputs"
msgstr "... s fyzickými výstupy"
@@ -10771,10 +10977,9 @@ msgstr ""
#: session_option_editor.cc:91
msgid ""
-"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless in JACK-sync)."
+"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless using JACK-"
+"sync)."
msgstr ""
-"Použít vytažení nahoru/stažení dolů na Äasovou osu videa a sledování videa "
-"(jestliže není v JACK-sync)."
#: session_option_editor.cc:96
msgid "Ext Timecode Offsets"
@@ -10809,103 +11014,173 @@ msgstr ""
"%1 je řízení Äasu pro JACK (poskytuje takt|doba|tiknutí a další informace "
"pro JACK)"
-#: session_option_editor.cc:137
-msgid "Default crossfade type"
-msgstr "Výchozí typ prolínání"
-
-#: session_option_editor.cc:142
-msgid "Constant power (-3dB) crossfade"
-msgstr "Prolínání s neměnnou silou (-3dB)"
-
-#: session_option_editor.cc:143
-msgid "Linear (-6dB) crossfade"
-msgstr "Lineární prolínání (-6dB)"
-
-#: session_option_editor.cc:148
+#: session_option_editor.cc:136
msgid "destructive-xfade-seconds"
msgstr "niÄivé-xfade-sekundy"
-#: session_option_editor.cc:149
+#: session_option_editor.cc:137
msgid "Destructive crossfade length"
msgstr "Délka niÄivého prolínání"
-#: session_option_editor.cc:158
+#: session_option_editor.cc:146
msgid "Region fades active"
msgstr "Slábnutí oblastí Äinné"
-#: session_option_editor.cc:165
+#: session_option_editor.cc:153
msgid "Region fades visible"
msgstr "Slábnutí oblastí viditelné"
-#: session_option_editor.cc:172 session_option_editor.cc:185
-#: session_option_editor.cc:199 session_option_editor.cc:201
-#: session_option_editor.cc:207 session_option_editor.cc:214
+#: session_option_editor.cc:160 session_option_editor.cc:173
+#: session_option_editor.cc:187
msgid "Media"
msgstr "Hudební soubory"
-#: session_option_editor.cc:172
+#: session_option_editor.cc:160
msgid "Audio file format"
msgstr "Formát zvukových souborů"
-#: session_option_editor.cc:176
+#: session_option_editor.cc:164
msgid "Sample format"
msgstr "Vzorkovací formát"
-#: session_option_editor.cc:181
+#: session_option_editor.cc:169
msgid "32-bit floating point"
msgstr "32 bitové Äíslo s plovoucí desetinnou Äárkou"
-#: session_option_editor.cc:182
+#: session_option_editor.cc:170
msgid "24-bit integer"
msgstr "24 bitové celé Äíslo"
-#: session_option_editor.cc:183
+#: session_option_editor.cc:171
msgid "16-bit integer"
msgstr "16 bitové celé Äíslo"
-#: session_option_editor.cc:189
+#: session_option_editor.cc:177
msgid "File type"
msgstr "Typ souboru"
-#: session_option_editor.cc:194
+#: session_option_editor.cc:182
msgid "Broadcast WAVE"
msgstr "Broadcast WAVE"
-#: session_option_editor.cc:195
+#: session_option_editor.cc:183
msgid "WAVE"
msgstr "WAVE"
-#: session_option_editor.cc:196
+#: session_option_editor.cc:184
msgid "WAVE-64"
msgstr "WAVE-64"
-#: session_option_editor.cc:201
+#: session_option_editor.cc:189
msgid "File locations"
msgstr "Umístění souborů"
-#: session_option_editor.cc:203
+#: session_option_editor.cc:191
msgid "Search for audio files in:"
msgstr "Zvukové soubory hledat v:"
-#: session_option_editor.cc:209
+#: session_option_editor.cc:197
msgid "Search for MIDI files in:"
msgstr "MIDI soubory hledat v:"
-#: session_option_editor.cc:220
+#: session_option_editor.cc:206 session_option_editor.cc:218
+#: session_option_editor.cc:228 session_option_editor.cc:239
+msgid "Filenames"
+msgstr ""
+
+#: session_option_editor.cc:206
+msgid "File Naming"
+msgstr ""
+
+#: session_option_editor.cc:212
+msgid "Prefix Track number"
+msgstr ""
+
+#: session_option_editor.cc:217
+msgid ""
+"Adds the current track number to the beginning of the recorded file name."
+msgstr ""
+
+#: session_option_editor.cc:222
+msgid "Prefix Take Name"
+msgstr ""
+
+#: session_option_editor.cc:227
+msgid "Adds the Take Name to the beginning of the recorded file name."
+msgstr ""
+
+#: session_option_editor.cc:232
+msgid "Take Name"
+msgstr ""
+
+#: session_option_editor.cc:245
msgid ""
"Track Input Monitoring automatically follows transport state (\"auto-input\")"
msgstr ""
"Sledování vstupu stopy automaticky následuje stav přehrávání (\"auto-input\")"
-#: session_option_editor.cc:227
+#: session_option_editor.cc:252
msgid "Use monitor section in this session"
msgstr "Použít pro toto sezení Äást pro sledování"
-#: session_option_editor.cc:238
+#: session_option_editor.cc:257 session_option_editor.cc:259
+#: session_option_editor.cc:266 session_option_editor.cc:273
+#: session_option_editor.cc:280 session_option_editor.cc:282
+#: session_option_editor.cc:289 session_option_editor.cc:296
+#: session_option_editor.cc:303 session_option_editor.cc:310
+#: session_option_editor.cc:312
+msgid "Meterbridge"
+msgstr ""
+
+#: session_option_editor.cc:257
+msgid "Route Display"
+msgstr ""
+
+#: session_option_editor.cc:261
+msgid "Show Midi Tracks"
+msgstr ""
+
+#: session_option_editor.cc:268
+msgid "Show Busses"
+msgstr ""
+
+#: session_option_editor.cc:275
+msgid "Include Master Bus"
+msgstr ""
+
+#: session_option_editor.cc:280
+msgid "Button Area"
+msgstr ""
+
+#: session_option_editor.cc:284
+msgid "Rec-enable Button"
+msgstr ""
+
+#: session_option_editor.cc:291
+msgid "Mute Button"
+msgstr ""
+
+#: session_option_editor.cc:298
+msgid "Solo Button"
+msgstr ""
+
+#: session_option_editor.cc:305
+msgid "Monitor Buttons"
+msgstr ""
+
+#: session_option_editor.cc:310
+msgid "Name Labels"
+msgstr ""
+
+#: session_option_editor.cc:314
+msgid "Track Name"
+msgstr ""
+
+#: session_option_editor.cc:325
msgid "MIDI region copies are independent"
msgstr "Kopie oblastí MIDI jsou nezávislé"
-#: session_option_editor.cc:245
+#: session_option_editor.cc:332
msgid ""
"Policy for handling overlapping notes\n"
" on the same MIDI channel"
@@ -10913,325 +11188,285 @@ msgstr ""
"Postoj k zacházení s překrývajícími se notami\n"
" na stejném kanálu MIDI"
-#: session_option_editor.cc:250
+#: session_option_editor.cc:337
msgid "never allow them"
msgstr "Nikdy je nepovolit"
-#: session_option_editor.cc:251
+#: session_option_editor.cc:338
msgid "don't do anything in particular"
msgstr "Zvlášť nedělat nic"
-#: session_option_editor.cc:252
+#: session_option_editor.cc:339
msgid "replace any overlapped existing note"
msgstr "Nahradit každou překrytou notu"
-#: session_option_editor.cc:253
+#: session_option_editor.cc:340
msgid "shorten the overlapped existing note"
msgstr "Zkrátit překrytou notu"
-#: session_option_editor.cc:254
+#: session_option_editor.cc:341
msgid "shorten the overlapping new note"
msgstr "Zkrátit překrývající novou notu"
-#: session_option_editor.cc:255
+#: session_option_editor.cc:342
msgid "replace both overlapping notes with a single note"
msgstr "Nahradit obě překrývající noty jednou notou"
-#: session_option_editor.cc:259
+#: session_option_editor.cc:346
msgid "Glue to bars and beats"
msgstr "Přilepit k taktům a dobám"
-#: session_option_editor.cc:263
+#: session_option_editor.cc:350
msgid "Glue new markers to bars and beats"
msgstr "PÅ™ilepit nové znaÄky k taktům a dobám"
-#: session_option_editor.cc:270
+#: session_option_editor.cc:357
msgid "Glue new regions to bars and beats"
msgstr "Přilepit nové oblasti k taktům a dobám"
-#: session_option_editor.cc:275 session_option_editor.cc:277
-#: session_option_editor.cc:284 session_option_editor.cc:291
-#: session_option_editor.cc:298 session_option_editor.cc:300
-#: session_option_editor.cc:307 session_option_editor.cc:314
-#: session_option_editor.cc:321 session_option_editor.cc:323
-msgid "Meterbridge"
-msgstr ""
-
-#: session_option_editor.cc:275
-msgid "Route Display"
-msgstr ""
-
-#: session_option_editor.cc:279
-msgid "Show Midi Tracks"
-msgstr ""
-
-#: session_option_editor.cc:286
-msgid "Show Busses"
-msgstr ""
-
-#: session_option_editor.cc:293
-msgid "Include Master Bus"
+#: session_option_editor.cc:362
+msgid "Defaults"
msgstr ""
-#: session_option_editor.cc:298
-msgid "Button Area"
+#: session_option_editor.cc:364
+msgid "Use these settings as defaults"
msgstr ""
-#: session_option_editor.cc:302
-msgid "Rec-enable Button"
-msgstr ""
-
-#: session_option_editor.cc:309
-msgid "Mute Button"
-msgstr ""
-
-#: session_option_editor.cc:316
-msgid "Solo Button"
-msgstr ""
-
-#: session_option_editor.cc:321
-msgid "Name Labels"
-msgstr ""
-
-#: session_option_editor.cc:325
-msgid "Track Name"
-msgstr ""
-
-#: sfdb_ui.cc:86 sfdb_ui.cc:106 sfdb_ui.cc:115
+#: sfdb_ui.cc:88 sfdb_ui.cc:108 sfdb_ui.cc:117
msgid "as new tracks"
msgstr "Jako nové stopy"
-#: sfdb_ui.cc:88 sfdb_ui.cc:108
+#: sfdb_ui.cc:90 sfdb_ui.cc:110
msgid "to selected tracks"
msgstr "K vybraným stopám"
-#: sfdb_ui.cc:90 sfdb_ui.cc:110
+#: sfdb_ui.cc:92 sfdb_ui.cc:112
msgid "to region list"
msgstr "Na seznam s oblastmi"
-#: sfdb_ui.cc:92 sfdb_ui.cc:112
+#: sfdb_ui.cc:94 sfdb_ui.cc:114
msgid "as new tape tracks"
msgstr "Jako nové páskové stopy"
-#: sfdb_ui.cc:96
+#: sfdb_ui.cc:98
msgid "programming error: unknown import mode string %1"
msgstr "Chyba v programování: neznámý řetězec režimu zavedení %1"
-#: sfdb_ui.cc:123
+#: sfdb_ui.cc:125
msgid "Auto-play"
msgstr "Automatické přehrávání"
-#: sfdb_ui.cc:129 sfdb_ui.cc:236
+#: sfdb_ui.cc:133 sfdb_ui.cc:317
msgid "<b>Sound File Information</b>"
msgstr "<b>Informace o zvukovém souboru</b>"
-#: sfdb_ui.cc:141
+#: sfdb_ui.cc:145
msgid "Timestamp:"
msgstr "Časové razítko:"
-#: sfdb_ui.cc:143
+#: sfdb_ui.cc:147
msgid "Format:"
msgstr "Formát:"
-#: sfdb_ui.cc:182 sfdb_ui.cc:526
+#: sfdb_ui.cc:186 sfdb_ui.cc:646
msgid "Tags:"
msgstr "ZnaÄky:"
-#: sfdb_ui.cc:319
-msgid "Auditioning of MIDI files is not yet supported"
-msgstr "Poslech MIDI souborů ještě není podporován"
+#: sfdb_ui.cc:290
+msgid "<b>Midi File Information</b>"
+msgstr ""
-#: sfdb_ui.cc:326
+#: sfdb_ui.cc:402
msgid "Could not read file: %1 (%2)."
msgstr "Soubor nelze pÅ™eÄíst: %1 (%2)."
-#: sfdb_ui.cc:349
+#: sfdb_ui.cc:451
msgid "Could not access soundfile: "
msgstr "Nelze přistupovat ke zvukovému souboru: "
-#: sfdb_ui.cc:403
+#: sfdb_ui.cc:523
msgid "SoundFileBox: Could not tokenize string: "
msgstr "Okno zvukových souborů: Nelze rozebrat řetězec znaků: "
-#: sfdb_ui.cc:423 sfdb_ui.cc:425
+#: sfdb_ui.cc:543 sfdb_ui.cc:545
msgid "Search"
msgstr "Hledat"
-#: sfdb_ui.cc:449
+#: sfdb_ui.cc:569
msgid "Audio and MIDI files"
msgstr "Zvukové a MIDI soubory"
-#: sfdb_ui.cc:452
+#: sfdb_ui.cc:572
msgid "Audio files"
msgstr "Zvukové soubory"
-#: sfdb_ui.cc:455
+#: sfdb_ui.cc:575
msgid "MIDI files"
msgstr "Soubory MIDI"
-#: sfdb_ui.cc:458 add_video_dialog.cc:132
+#: sfdb_ui.cc:578 add_video_dialog.cc:123
msgid "All files"
msgstr "VÅ¡echny soubory"
-#: sfdb_ui.cc:477 add_video_dialog.cc:143
+#: sfdb_ui.cc:597 add_video_dialog.cc:246
msgid "Browse Files"
msgstr "Procházet soubory"
-#: sfdb_ui.cc:506
+#: sfdb_ui.cc:626
msgid "Paths"
msgstr "Cesty"
-#: sfdb_ui.cc:515
+#: sfdb_ui.cc:635
msgid "Search Tags"
msgstr "Hledat znaÄky"
-#: sfdb_ui.cc:531
+#: sfdb_ui.cc:651
msgid "Sort:"
msgstr "Třídit:"
-#: sfdb_ui.cc:539
+#: sfdb_ui.cc:659
msgid "Longest"
msgstr "Nejdelší"
-#: sfdb_ui.cc:540
+#: sfdb_ui.cc:660
msgid "Shortest"
msgstr "Nejkratší"
-#: sfdb_ui.cc:541
+#: sfdb_ui.cc:661
msgid "Newest"
msgstr "Nejnovější"
-#: sfdb_ui.cc:542
+#: sfdb_ui.cc:662
msgid "Oldest"
msgstr "Nejstarší"
-#: sfdb_ui.cc:543
+#: sfdb_ui.cc:663
msgid "Most downloaded"
msgstr "Nejvíce stahované"
-#: sfdb_ui.cc:544
+#: sfdb_ui.cc:664
msgid "Least downloaded"
msgstr "Nejméně stahované"
-#: sfdb_ui.cc:545
+#: sfdb_ui.cc:665
msgid "Highest rated"
msgstr "Nejvýše hodnocené"
-#: sfdb_ui.cc:546
+#: sfdb_ui.cc:666
msgid "Lowest rated"
msgstr "Nejníže hodnocené"
-#: sfdb_ui.cc:551
+#: sfdb_ui.cc:671
msgid "More"
msgstr "Více"
-#: sfdb_ui.cc:555
+#: sfdb_ui.cc:675
msgid "Similar"
msgstr ""
-#: sfdb_ui.cc:567
+#: sfdb_ui.cc:687
msgid "ID"
msgstr "ID"
-#: sfdb_ui.cc:568 add_video_dialog.cc:84
+#: sfdb_ui.cc:688 add_video_dialog.cc:83
msgid "Filename"
msgstr "Souborový název"
-#: sfdb_ui.cc:570
+#: sfdb_ui.cc:690
msgid "Duration"
msgstr "Doba trvání"
-#: sfdb_ui.cc:571
+#: sfdb_ui.cc:691
msgid "Size"
msgstr "Velikost"
-#: sfdb_ui.cc:572
+#: sfdb_ui.cc:692
msgid "Samplerate"
msgstr "Vzorkovací kmitoÄet"
-#: sfdb_ui.cc:573
+#: sfdb_ui.cc:693
msgid "License"
msgstr "Licence"
-#: sfdb_ui.cc:591
+#: sfdb_ui.cc:711
msgid "Search Freesound"
msgstr "Hledat volné zvuky"
-#: sfdb_ui.cc:611
+#: sfdb_ui.cc:731
msgid "Press to import selected files and close this window"
msgstr "Stiskněte pro zavedení vybraných souborů a zavřete toto okno"
-#: sfdb_ui.cc:612
+#: sfdb_ui.cc:732
msgid "Press to import selected files and leave this window open"
msgstr "Stiskněte pro zavedení vybraných souborů a ponechte toto okno otevřené"
-#: sfdb_ui.cc:613
+#: sfdb_ui.cc:733
msgid "Press to close this window without importing any files"
msgstr "Stiskněte pro zavření tohoto okna bez zavedení jakýchkoli souborů"
-#: sfdb_ui.cc:809
+#: sfdb_ui.cc:929
msgid "SoundFileBrowser: Could not tokenize string: "
msgstr "ProhlížeÄ zvukových souborů: Nelze rozebrat Å™etÄ›zec znaků:"
-#: sfdb_ui.cc:1009
+#: sfdb_ui.cc:1129
msgid "%1 more page of 100 results available"
msgid_plural "%1 more pages of 100 results available"
msgstr[0] "Dostupná %1 další strana ze sta výsledků"
msgstr[1] "Dostupné %1 další strany ze sta výsledků"
-#: sfdb_ui.cc:1014
+#: sfdb_ui.cc:1134
msgid "No more results available"
msgstr "Nejsou dostupné žádné další výsledky"
-#: sfdb_ui.cc:1078
+#: sfdb_ui.cc:1198
msgid "B"
msgstr "B"
-#: sfdb_ui.cc:1080
+#: sfdb_ui.cc:1200
msgid "kB"
msgstr "kB "
-#: sfdb_ui.cc:1082 sfdb_ui.cc:1084
+#: sfdb_ui.cc:1202 sfdb_ui.cc:1204
msgid "MB"
msgstr "MB"
-#: sfdb_ui.cc:1086
+#: sfdb_ui.cc:1206
msgid "GB"
msgstr "GB"
-#: sfdb_ui.cc:1298 sfdb_ui.cc:1606 sfdb_ui.cc:1656 sfdb_ui.cc:1674
+#: sfdb_ui.cc:1418 sfdb_ui.cc:1731 sfdb_ui.cc:1782 sfdb_ui.cc:1800
msgid "one track per file"
msgstr "Jedna stopa na soubor"
-#: sfdb_ui.cc:1301 sfdb_ui.cc:1657 sfdb_ui.cc:1675
+#: sfdb_ui.cc:1421 sfdb_ui.cc:1783 sfdb_ui.cc:1801
msgid "one track per channel"
msgstr "Jedna stopa na kanál"
-#: sfdb_ui.cc:1309 sfdb_ui.cc:1659 sfdb_ui.cc:1676
+#: sfdb_ui.cc:1429 sfdb_ui.cc:1785 sfdb_ui.cc:1802
msgid "sequence files"
msgstr "Soubory seřadit vedle sebe"
-#: sfdb_ui.cc:1312 sfdb_ui.cc:1664
+#: sfdb_ui.cc:1432 sfdb_ui.cc:1790
msgid "all files in one track"
msgstr "Všechny soubory do jedné stopy"
-#: sfdb_ui.cc:1313 sfdb_ui.cc:1658
+#: sfdb_ui.cc:1433 sfdb_ui.cc:1784
msgid "merge files"
msgstr "SlouÄit soubory"
-#: sfdb_ui.cc:1319 sfdb_ui.cc:1661
+#: sfdb_ui.cc:1439 sfdb_ui.cc:1787
msgid "one region per file"
msgstr "Jedna oblast na soubor"
-#: sfdb_ui.cc:1322 sfdb_ui.cc:1662
+#: sfdb_ui.cc:1442 sfdb_ui.cc:1788
msgid "one region per channel"
msgstr "Jedna oblast na kanál"
-#: sfdb_ui.cc:1327 sfdb_ui.cc:1663 sfdb_ui.cc:1677
+#: sfdb_ui.cc:1447 sfdb_ui.cc:1789 sfdb_ui.cc:1803
msgid "all files in one region"
msgstr "Všechny soubory v jedné oblasti"
-#: sfdb_ui.cc:1394
+#: sfdb_ui.cc:1514
msgid ""
"One or more of the selected files\n"
"cannot be used by %1"
@@ -11239,55 +11474,55 @@ msgstr ""
"Jeden nebo více vybraných souborů\n"
"nemůže být použito %1"
-#: sfdb_ui.cc:1534
+#: sfdb_ui.cc:1658
msgid "Copy files to session"
msgstr "Zkopírovat soubory do sezení"
-#: sfdb_ui.cc:1551 sfdb_ui.cc:1714
+#: sfdb_ui.cc:1675 sfdb_ui.cc:1840
msgid "file timestamp"
msgstr "Časové razítko souboru"
-#: sfdb_ui.cc:1552 sfdb_ui.cc:1716
+#: sfdb_ui.cc:1676 sfdb_ui.cc:1842
msgid "edit point"
msgstr "Pracovní bod"
-#: sfdb_ui.cc:1553 sfdb_ui.cc:1718
+#: sfdb_ui.cc:1677 sfdb_ui.cc:1844
msgid "playhead"
msgstr "Ukazatel polohy"
-#: sfdb_ui.cc:1554
+#: sfdb_ui.cc:1678
msgid "session start"
msgstr "ZaÄátek sezení"
-#: sfdb_ui.cc:1559
+#: sfdb_ui.cc:1684
msgid "<b>Add files as ...</b>"
msgstr "<b>Přidat soubory jako...</b>"
-#: sfdb_ui.cc:1581
+#: sfdb_ui.cc:1706
msgid "<b>Insert at</b>"
msgstr "<b>Vložit v</b>"
-#: sfdb_ui.cc:1594
+#: sfdb_ui.cc:1719
msgid "<b>Mapping</b>"
msgstr "<b>Přiřazení</b>"
-#: sfdb_ui.cc:1612
+#: sfdb_ui.cc:1737
msgid "<b>Conversion quality</b>"
msgstr "<b>Kvalita převodu</b>"
-#: sfdb_ui.cc:1624 sfdb_ui.cc:1730
+#: sfdb_ui.cc:1749 sfdb_ui.cc:1856
msgid "Best"
msgstr "Nejlepší"
-#: sfdb_ui.cc:1625 sfdb_ui.cc:1732
+#: sfdb_ui.cc:1750 sfdb_ui.cc:1858
msgid "Good"
msgstr "Dobrá"
-#: sfdb_ui.cc:1626 sfdb_ui.cc:1734
+#: sfdb_ui.cc:1751 sfdb_ui.cc:1860
msgid "Quick"
msgstr "Rychlý převod"
-#: sfdb_ui.cc:1628
+#: sfdb_ui.cc:1753
msgid "Fastest"
msgstr "Co nejrychleji"
@@ -11333,6 +11568,30 @@ msgstr ">>> %+d půltóny"
msgid "Stopped"
msgstr "Zastaveno"
+#: soundcloud_export_selector.cc:44
+msgid "User Email"
+msgstr ""
+
+#: soundcloud_export_selector.cc:45
+msgid "Password"
+msgstr ""
+
+#: soundcloud_export_selector.cc:46
+msgid "Make files public"
+msgstr ""
+
+#: soundcloud_export_selector.cc:47
+msgid "Open uploaded files in browser"
+msgstr ""
+
+#: soundcloud_export_selector.cc:48
+msgid "Make files downloadable"
+msgstr ""
+
+#: soundcloud_export_selector.cc:107
+msgid "%1: %2 of %3 bytes uploaded"
+msgstr ""
+
#: splash.cc:73
msgid "%1 loading ..."
msgstr "Nahrává se %1..."
@@ -11349,7 +11608,7 @@ msgstr "Odstranit reproduktor"
msgid "Azimuth:"
msgstr "Azimut:"
-#: startup.cc:72
+#: startup.cc:73
msgid ""
"Use an external mixer or the hardware mixer of your audio interface.\n"
"%1 will play NO role in monitoring"
@@ -11358,11 +11617,11 @@ msgstr ""
"pro zvuk.\n"
"%1 ve sledování NEBUDE hrát žádnou úlohu"
-#: startup.cc:74
+#: startup.cc:75
msgid "Ask %1 to play back material as it is being recorded"
msgstr "Požádat %1 o přehrávání materiálu, už když je nahráván"
-#: startup.cc:143
+#: startup.cc:144
msgid ""
"<b>Welcome to this BETA release of Ardour %1</b>\n"
"\n"
@@ -11387,11 +11646,11 @@ msgid ""
" http://ardour.org/support\n"
msgstr ""
-#: startup.cc:167
+#: startup.cc:168
msgid "This is a BETA RELEASE"
msgstr "Toto je VYDÃNÃ BETA"
-#: startup.cc:176
+#: startup.cc:177
msgid ""
"<span size=\"larger\">%1 is a digital audio workstation. You can use it to "
"record, edit and mix multi-track audio. You can produce your own CDs, mix "
@@ -11408,15 +11667,15 @@ msgstr ""
"PÅ™edtím než program zaÄnete používat, je tu jen nÄ›kolik vÄ›cí, které je tÅ™eba "
"nastavit.</span>"
-#: startup.cc:202
+#: startup.cc:203
msgid "Welcome to %1"
msgstr "Vítejte v %1"
-#: startup.cc:225
+#: startup.cc:226
msgid "Default folder for %1 sessions"
msgstr "Výchozí složka pro sezení programu %1"
-#: startup.cc:231
+#: startup.cc:232
msgid ""
"Each project that you work on with %1 has its own folder.\n"
"These can require a lot of disk space if you are recording audio.\n"
@@ -11432,11 +11691,11 @@ msgstr ""
"\n"
"<i>(Nová sezení můžete dát kamkoli. Toto je jen výchozí nastavení)</i>"
-#: startup.cc:254
+#: startup.cc:255
msgid "Default folder for new sessions"
msgstr "Výchozí složka pro nová sezení"
-#: startup.cc:275
+#: startup.cc:276
msgid ""
"While recording instruments or vocals, you probably want to listen to the\n"
"signal as well as record it. This is called \"monitoring\". There are\n"
@@ -11461,15 +11720,15 @@ msgstr ""
"\n"
"<i>Pokud nevíte, o Äem to je, prostÄ› pÅ™ijmÄ›te výchozí nastavení.</i>"
-#: startup.cc:296
+#: startup.cc:297
msgid "Monitoring Choices"
msgstr "Volby pro sledování"
-#: startup.cc:319
+#: startup.cc:320
msgid "Use a Master bus directly"
msgstr "Použít hlavní sběrnici přímo"
-#: startup.cc:321
+#: startup.cc:322
msgid ""
"Connect the Master bus directly to your hardware outputs. This is preferable "
"for simple usage."
@@ -11477,11 +11736,11 @@ msgstr ""
"Spojit hlavní sběrnici přímo s výstupy vašeho technického vybavení. To je "
"vhodnější pro jednoduché použití."
-#: startup.cc:330
+#: startup.cc:331
msgid "Use an additional Monitor bus"
msgstr "Použít dodateÄnou sbÄ›rnici pro sledování"
-#: startup.cc:333
+#: startup.cc:334
msgid ""
"Use a Monitor bus between Master bus and hardware outputs for \n"
"greater control in monitoring without affecting the mix."
@@ -11490,7 +11749,7 @@ msgstr ""
"vybavení\n"
"pro větší dohled nad sledováním bez ovlivnění míchání."
-#: startup.cc:355
+#: startup.cc:356
msgid ""
"<i>You can change this preference at any time via the Preferences dialog.\n"
"You can also add or remove the monitor section to/from any session.</i>\n"
@@ -11503,395 +11762,395 @@ msgstr ""
"\n"
"<i>Pokud nevíte, o Äem to je, prostÄ› pÅ™ijmÄ›te výchozí nastavení.</i>"
-#: startup.cc:366
+#: startup.cc:367
msgid "Monitor Section"
msgstr "Část pro sledování"
-#: step_entry.cc:59
+#: step_entry.cc:60
msgid "Step Entry: %1"
msgstr "Zápis kroku: %1"
-#: step_entry.cc:64
+#: step_entry.cc:65
msgid ">beat"
msgstr ">doba"
-#: step_entry.cc:65
+#: step_entry.cc:66
msgid ">bar"
msgstr ">takt"
-#: step_entry.cc:66
+#: step_entry.cc:67
msgid ">EP"
msgstr ">EP"
-#: step_entry.cc:67
+#: step_entry.cc:68
msgid "sustain"
msgstr "Držet"
-#: step_entry.cc:68
+#: step_entry.cc:69
msgid "rest"
msgstr "Pomlka"
-#: step_entry.cc:69
+#: step_entry.cc:70
msgid "g-rest"
msgstr "g-pomlka"
-#: step_entry.cc:70
+#: step_entry.cc:71
msgid "back"
msgstr "Zpět"
-#: step_entry.cc:81 step_entry.cc:84
+#: step_entry.cc:82 step_entry.cc:85
msgid "+"
msgstr "+"
-#: step_entry.cc:190
+#: step_entry.cc:191
msgid "Set note length to a whole note"
msgstr "Nastavit délku noty na celou notu"
-#: step_entry.cc:191
+#: step_entry.cc:192
msgid "Set note length to a half note"
msgstr "Nastavit délku noty na půlovou notu"
-#: step_entry.cc:192
+#: step_entry.cc:193
msgid "Set note length to a quarter note"
msgstr "Nastavit délku noty na ÄtvrÅ¥ovou notu"
-#: step_entry.cc:193
+#: step_entry.cc:194
msgid "Set note length to a eighth note"
msgstr "Nastavit délku noty na osminovou notu"
-#: step_entry.cc:194
+#: step_entry.cc:195
msgid "Set note length to a sixteenth note"
msgstr "Nastavit délku noty na šestnáctinovou notu"
-#: step_entry.cc:195
+#: step_entry.cc:196
msgid "Set note length to a thirty-second note"
msgstr "Nastavit délku noty na dvaatřicetinovou notu"
-#: step_entry.cc:196
+#: step_entry.cc:197
msgid "Set note length to a sixty-fourth note"
msgstr "Nastavit délku noty na ÄtyÅ™iaÅ¡edesátinovou notu"
-#: step_entry.cc:275
+#: step_entry.cc:276
msgid "Set volume (velocity) to pianississimo"
msgstr "Nastavit hlasitost (síla tónu) na pianississimo"
-#: step_entry.cc:276
+#: step_entry.cc:277
msgid "Set volume (velocity) to pianissimo"
msgstr "Nastavit hlasitost (síla tónu) na pianissimo"
-#: step_entry.cc:277
+#: step_entry.cc:278
msgid "Set volume (velocity) to piano"
msgstr "Nastavit hlasitost (síla tónu) na piano"
-#: step_entry.cc:278
+#: step_entry.cc:279
msgid "Set volume (velocity) to mezzo-piano"
msgstr "Nastavit hlasitost (síla tónu) na mezzo piano"
-#: step_entry.cc:279
+#: step_entry.cc:280
msgid "Set volume (velocity) to mezzo-forte"
msgstr "Nastavit hlasitost (síla tónu) na mezzo forte"
-#: step_entry.cc:280
+#: step_entry.cc:281
msgid "Set volume (velocity) to forte"
msgstr "Nastavit hlasitost (síla tónu) na forte"
-#: step_entry.cc:281
+#: step_entry.cc:282
msgid "Set volume (velocity) to forteissimo"
msgstr "Nastavit hlasitost (síla tónu) na fortissimo"
-#: step_entry.cc:282
+#: step_entry.cc:283
msgid "Set volume (velocity) to forteississimo"
msgstr "Nastavit hlasitost (síla tónu) na fortississimo"
-#: step_entry.cc:330
+#: step_entry.cc:331
msgid "Stack inserted notes to form a chord"
msgstr "Rovnat vložené noty do podoby akordu"
-#: step_entry.cc:331
+#: step_entry.cc:332
msgid "Extend selected notes by note length"
msgstr "Natáhnout vybrané noty podle délky noty"
-#: step_entry.cc:332
+#: step_entry.cc:333
msgid "Use undotted note lengths"
msgstr "Použít neteÄkované délky not"
-#: step_entry.cc:333
+#: step_entry.cc:334
msgid "Use dotted (* 1.5) note lengths"
msgstr "Použít teÄkované (* 1.5) délky not"
-#: step_entry.cc:334
+#: step_entry.cc:335
msgid "Use double-dotted (* 1.75) note lengths"
msgstr "Použít dvojitÄ› teÄkované (* 1.75) délky not"
-#: step_entry.cc:335
+#: step_entry.cc:336
msgid "Use triple-dotted (* 1.875) note lengths"
msgstr "Použít trojitÄ› teÄkované (* 1.875) délky not"
-#: step_entry.cc:336
+#: step_entry.cc:337
msgid "Insert a note-length's rest"
msgstr "Vložit pomlku o délce noty"
-#: step_entry.cc:337
+#: step_entry.cc:338
msgid "Insert a grid-unit's rest"
msgstr "Vložit pomlku jednotky mřížky"
-#: step_entry.cc:338
+#: step_entry.cc:339
msgid "Insert a rest until the next beat"
msgstr "Vložit pomlku až do další doby"
-#: step_entry.cc:339
+#: step_entry.cc:340
msgid "Insert a rest until the next bar"
msgstr "Vložit pomlku až do dalšího taktu"
-#: step_entry.cc:340
+#: step_entry.cc:341
msgid "Insert a bank change message"
msgstr "Vložit zprávu o změně banky"
-#: step_entry.cc:341
+#: step_entry.cc:342
msgid "Insert a program change message"
msgstr "Vložit zprávu o změně programu"
-#: step_entry.cc:342 step_entry.cc:699
+#: step_entry.cc:343 step_entry.cc:700
msgid "Move Insert Position Back by Note Length"
msgstr "Přesunout polohu vložení zpět podle délky noty"
-#: step_entry.cc:343 step_entry.cc:697
+#: step_entry.cc:344 step_entry.cc:698
msgid "Move Insert Position to Edit Point"
msgstr "Přesunout polohu vložení k pracovnímu bodu"
-#: step_entry.cc:400
+#: step_entry.cc:401
msgid "1/Note"
msgstr "1/Nota"
-#: step_entry.cc:414
+#: step_entry.cc:415
msgid "Octave"
msgstr "Oktáva"
-#: step_entry.cc:597
+#: step_entry.cc:598
msgid "Insert Note A"
msgstr "Vložit notu A"
-#: step_entry.cc:598
+#: step_entry.cc:599
msgid "Insert Note A-sharp"
msgstr "Vložit notu Ais"
-#: step_entry.cc:599
+#: step_entry.cc:600
msgid "Insert Note B"
msgstr "Vložit notu H"
-#: step_entry.cc:600
+#: step_entry.cc:601
msgid "Insert Note C"
msgstr "Vložit notu C"
-#: step_entry.cc:601
+#: step_entry.cc:602
msgid "Insert Note C-sharp"
msgstr "Vložit notu Cis"
-#: step_entry.cc:602
+#: step_entry.cc:603
msgid "Insert Note D"
msgstr "Vložit notu D"
-#: step_entry.cc:603
+#: step_entry.cc:604
msgid "Insert Note D-sharp"
msgstr "Vložit notu Dis"
-#: step_entry.cc:604
+#: step_entry.cc:605
msgid "Insert Note E"
msgstr "Vložit notu E"
-#: step_entry.cc:605
+#: step_entry.cc:606
msgid "Insert Note F"
msgstr "Vložit notu F"
-#: step_entry.cc:606
+#: step_entry.cc:607
msgid "Insert Note F-sharp"
msgstr "Vložit notu Fis"
-#: step_entry.cc:607
+#: step_entry.cc:608
msgid "Insert Note G"
msgstr "Vložit notu G"
-#: step_entry.cc:608
+#: step_entry.cc:609
msgid "Insert Note G-sharp"
msgstr "Vložit notu Gis"
-#: step_entry.cc:610
+#: step_entry.cc:611
msgid "Insert a Note-length Rest"
msgstr "Vložit pomlku o délce noty"
-#: step_entry.cc:611
+#: step_entry.cc:612
msgid "Insert a Snap-length Rest"
msgstr "Vložit pomlku o délce zapadnutí"
-#: step_entry.cc:613 step_entry.cc:614
+#: step_entry.cc:614 step_entry.cc:615
msgid "Move to next octave"
msgstr "Přesunout se k další oktávě"
-#: step_entry.cc:616
+#: step_entry.cc:617
msgid "Move to Next Note Length"
msgstr "Přesunout se k délce další noty"
-#: step_entry.cc:617
+#: step_entry.cc:618
msgid "Move to Previous Note Length"
msgstr "Přesunout se k délce předchozí noty"
-#: step_entry.cc:619
+#: step_entry.cc:620
msgid "Increase Note Length"
msgstr "Zvětšit délku noty"
-#: step_entry.cc:620
+#: step_entry.cc:621
msgid "Decrease Note Length"
msgstr "Zmenšit délku noty"
-#: step_entry.cc:622
+#: step_entry.cc:623
msgid "Move to Next Note Velocity"
msgstr "Přesunout se k síle tónu další noty"
-#: step_entry.cc:623
+#: step_entry.cc:624
msgid "Move to Previous Note Velocity"
msgstr "Přesunout se k síle tónu předchozí noty"
-#: step_entry.cc:625
+#: step_entry.cc:626
msgid "Increase Note Velocity"
msgstr "Zvětšit sílu tónu noty"
-#: step_entry.cc:626
+#: step_entry.cc:627
msgid "Decrease Note Velocity"
msgstr "Zmenšit sílu tónu noty"
-#: step_entry.cc:628
+#: step_entry.cc:629
msgid "Switch to the 1st octave"
msgstr "Přejít na první oktávu"
-#: step_entry.cc:629
+#: step_entry.cc:630
msgid "Switch to the 2nd octave"
msgstr "Přejít na druhou oktávu"
-#: step_entry.cc:630
+#: step_entry.cc:631
msgid "Switch to the 3rd octave"
msgstr "Přejít na třetí oktávu"
-#: step_entry.cc:631
+#: step_entry.cc:632
msgid "Switch to the 4th octave"
msgstr "PÅ™ejít na Ätvrtou oktávu"
-#: step_entry.cc:632
+#: step_entry.cc:633
msgid "Switch to the 5th octave"
msgstr "Přejít na pátou oktávu"
-#: step_entry.cc:633
+#: step_entry.cc:634
msgid "Switch to the 6th octave"
msgstr "Přejít na šestou oktávu"
-#: step_entry.cc:634
+#: step_entry.cc:635
msgid "Switch to the 7th octave"
msgstr "Přejít na sedmou oktávu"
-#: step_entry.cc:635
+#: step_entry.cc:636
msgid "Switch to the 8th octave"
msgstr "Přejít na osmou oktávu"
-#: step_entry.cc:636
+#: step_entry.cc:637
msgid "Switch to the 9th octave"
msgstr "Přejít na devátou oktávu"
-#: step_entry.cc:637
+#: step_entry.cc:638
msgid "Switch to the 10th octave"
msgstr "Přejít na desátou oktávu"
-#: step_entry.cc:638
+#: step_entry.cc:639
msgid "Switch to the 11th octave"
msgstr "Přejít na jedenáctou oktávu"
-#: step_entry.cc:643
+#: step_entry.cc:644
msgid "Set Note Length to Whole"
msgstr "Nastavit délku noty na celou"
-#: step_entry.cc:645
+#: step_entry.cc:646
msgid "Set Note Length to 1/2"
msgstr "Nastavit délku noty na 1/2"
-#: step_entry.cc:647
+#: step_entry.cc:648
msgid "Set Note Length to 1/3"
msgstr "Nastavit délku noty na 1/3"
-#: step_entry.cc:649
+#: step_entry.cc:650
msgid "Set Note Length to 1/4"
msgstr "Nastavit délku noty na 1/4"
-#: step_entry.cc:651
+#: step_entry.cc:652
msgid "Set Note Length to 1/8"
msgstr "Nastavit délku noty na 1/8"
-#: step_entry.cc:653
+#: step_entry.cc:654
msgid "Set Note Length to 1/16"
msgstr "Nastavit délku noty na 1/16"
-#: step_entry.cc:655
+#: step_entry.cc:656
msgid "Set Note Length to 1/32"
msgstr "Nastavit délku noty na 1/32"
-#: step_entry.cc:657
+#: step_entry.cc:658
msgid "Set Note Length to 1/64"
msgstr "Nastavit délku noty na 1/64"
-#: step_entry.cc:662
+#: step_entry.cc:663
msgid "Set Note Velocity to Pianississimo"
msgstr "Nastavit sílu tónu noty na pianississimo"
-#: step_entry.cc:664
+#: step_entry.cc:665
msgid "Set Note Velocity to Pianissimo"
msgstr "Nastavit sílu tónu noty na pianissimo"
-#: step_entry.cc:666
+#: step_entry.cc:667
msgid "Set Note Velocity to Piano"
msgstr "Nastavit sílu tónu noty na piano"
-#: step_entry.cc:668
+#: step_entry.cc:669
msgid "Set Note Velocity to Mezzo-Piano"
msgstr "Nastavit sílu tónu noty na mezzo piano"
-#: step_entry.cc:670
+#: step_entry.cc:671
msgid "Set Note Velocity to Mezzo-Forte"
msgstr "Nastavit sílu tónu noty na mezzo forte"
-#: step_entry.cc:672
+#: step_entry.cc:673
msgid "Set Note Velocity to Forte"
msgstr "Nastavit sílu tónu noty na forte"
-#: step_entry.cc:674 step_entry.cc:676
+#: step_entry.cc:675 step_entry.cc:677
msgid "Set Note Velocity to Fortississimo"
msgstr "Nastavit sílu tónu noty na fortississimo"
-#: step_entry.cc:678
+#: step_entry.cc:679
msgid "Toggle Triple Notes"
msgstr "Přepnout trojité noty"
-#: step_entry.cc:683
+#: step_entry.cc:684
msgid "No Dotted Notes"
msgstr "Žádné teÄkované noty"
-#: step_entry.cc:685
+#: step_entry.cc:686
msgid "Toggled Dotted Notes"
msgstr "PÅ™epnuté teÄkované noty"
-#: step_entry.cc:687
+#: step_entry.cc:688
msgid "Toggled Double-Dotted Notes"
msgstr "PÅ™epnuté dvojitÄ› teÄkované noty"
-#: step_entry.cc:689
+#: step_entry.cc:690
msgid "Toggled Triple-Dotted Notes"
msgstr "PÅ™epnuté trojitÄ› teÄkované noty"
-#: step_entry.cc:692
+#: step_entry.cc:693
msgid "Toggle Chord Entry"
msgstr "Přepnout zápis akordu"
-#: step_entry.cc:694
+#: step_entry.cc:695
msgid "Sustain Selected Notes by Note Length"
msgstr "Držet vybrané noty podle délky noty"
-#: stereo_panner.cc:108
+#: stereo_panner.cc:131
#, c-format
msgid "L:%3d R:%3d Width:%d%%"
msgstr "L:%3d P:%3d Šířka: %d%%"
@@ -11904,140 +12163,164 @@ msgstr "OvladaÄ vyvážení pro stereo"
msgid "Width"
msgstr "Šířka"
-#: strip_silence_dialog.cc:48
+#: strip_silence_dialog.cc:44
msgid "Strip Silence"
msgstr "Obnažit ticho"
-#: strip_silence_dialog.cc:79
+#: strip_silence_dialog.cc:75
msgid "Minimum length"
msgstr "Nejmenší délka"
-#: strip_silence_dialog.cc:87
+#: strip_silence_dialog.cc:83
msgid "Fade length"
msgstr "Délka postupného zesílení signálu"
-#: tempo_dialog.cc:43 tempo_dialog.cc:58
+#: tempo_dialog.cc:42 tempo_dialog.cc:58
msgid "bar:"
msgstr "Takt:"
-#: tempo_dialog.cc:44 tempo_dialog.cc:59
+#: tempo_dialog.cc:43 tempo_dialog.cc:59
msgid "beat:"
msgstr "Doba:"
-#: tempo_dialog.cc:45 tempo_dialog.cc:60
+#: tempo_dialog.cc:44 tempo_dialog.cc:60
msgid "Pulse note"
msgstr "Nota rytmu"
+#: tempo_dialog.cc:45 tempo_dialog.cc:61
+msgid "Tap tempo"
+msgstr ""
+
#: tempo_dialog.cc:55
msgid "Edit Tempo"
msgstr "Upravit tempo"
-#: tempo_dialog.cc:76 tempo_dialog.cc:77 tempo_dialog.cc:282
-#: tempo_dialog.cc:283
+#: tempo_dialog.cc:77 tempo_dialog.cc:78 tempo_dialog.cc:316
+#: tempo_dialog.cc:317
msgid "whole"
msgstr "Celá"
-#: tempo_dialog.cc:78 tempo_dialog.cc:79 tempo_dialog.cc:284
-#: tempo_dialog.cc:285
+#: tempo_dialog.cc:79 tempo_dialog.cc:80 tempo_dialog.cc:318
+#: tempo_dialog.cc:319
msgid "second"
msgstr "Sekunda"
-#: tempo_dialog.cc:80 tempo_dialog.cc:81 tempo_dialog.cc:286
-#: tempo_dialog.cc:287
+#: tempo_dialog.cc:81 tempo_dialog.cc:82 tempo_dialog.cc:320
+#: tempo_dialog.cc:321
msgid "third"
msgstr "Třetina"
-#: tempo_dialog.cc:82 tempo_dialog.cc:83 tempo_dialog.cc:288
-#: tempo_dialog.cc:289
+#: tempo_dialog.cc:83 tempo_dialog.cc:84 tempo_dialog.cc:322
+#: tempo_dialog.cc:323
msgid "quarter"
msgstr "ÄŒtvrtina"
-#: tempo_dialog.cc:84 tempo_dialog.cc:85 tempo_dialog.cc:290
-#: tempo_dialog.cc:291
+#: tempo_dialog.cc:85 tempo_dialog.cc:86 tempo_dialog.cc:324
+#: tempo_dialog.cc:325
msgid "eighth"
msgstr "Osmina"
-#: tempo_dialog.cc:86 tempo_dialog.cc:87 tempo_dialog.cc:292
-#: tempo_dialog.cc:293
+#: tempo_dialog.cc:87 tempo_dialog.cc:88 tempo_dialog.cc:326
+#: tempo_dialog.cc:327
msgid "sixteenth"
msgstr "Šestnáctina"
-#: tempo_dialog.cc:88 tempo_dialog.cc:89 tempo_dialog.cc:294
-#: tempo_dialog.cc:295
+#: tempo_dialog.cc:89 tempo_dialog.cc:90 tempo_dialog.cc:328
+#: tempo_dialog.cc:329
msgid "thirty-second"
msgstr "Dvaatřicetina"
-#: tempo_dialog.cc:90 tempo_dialog.cc:91 tempo_dialog.cc:296
-#: tempo_dialog.cc:297
+#: tempo_dialog.cc:91 tempo_dialog.cc:92 tempo_dialog.cc:330
+#: tempo_dialog.cc:331
msgid "sixty-fourth"
msgstr "Čtyřiašedesátina"
-#: tempo_dialog.cc:92 tempo_dialog.cc:93 tempo_dialog.cc:298
-#: tempo_dialog.cc:299
+#: tempo_dialog.cc:93 tempo_dialog.cc:94 tempo_dialog.cc:332
+#: tempo_dialog.cc:333
msgid "one-hundred-twenty-eighth"
msgstr "Stoosmadvacetina"
-#: tempo_dialog.cc:120
+#: tempo_dialog.cc:121
msgid "Beats per minute:"
msgstr "Dob za minutu:"
-#: tempo_dialog.cc:152
+#: tempo_dialog.cc:153
msgid "Tempo begins at"
msgstr "Tempo zaÄíná na"
-#: tempo_dialog.cc:240
+#: tempo_dialog.cc:244
msgid "incomprehensible pulse note type (%1)"
msgstr "Nesrozumitelný typ noty rytmu (%1)"
-#: tempo_dialog.cc:266
+#: tempo_dialog.cc:300
msgid "Edit Meter"
msgstr "Upravit metrum"
-#: tempo_dialog.cc:314
+#: tempo_dialog.cc:348
msgid "Note value:"
msgstr "Hodnota noty:"
-#: tempo_dialog.cc:315
+#: tempo_dialog.cc:349
msgid "Beats per bar:"
msgstr "Dob na takt:"
-#: tempo_dialog.cc:330
+#: tempo_dialog.cc:364
msgid "Meter begins at bar:"
msgstr "Metrum zaÄíná na taktu:"
-#: tempo_dialog.cc:441
+#: tempo_dialog.cc:475
msgid "incomprehensible meter note type (%1)"
msgstr "Nesrozumitelný typ noty metra (%1)"
-#: theme_manager.cc:57
+#: theme_manager.cc:63
msgid "Dark Theme"
msgstr "Tmavý motiv"
-#: theme_manager.cc:58
+#: theme_manager.cc:64
msgid "Light Theme"
msgstr "Světlý motiv"
-#: theme_manager.cc:59
+#: theme_manager.cc:65
msgid "Restore Defaults"
msgstr "Obnovit výchozí"
-#: theme_manager.cc:60
+#: theme_manager.cc:66
msgid "Draw \"flat\" buttons"
msgstr "Kreslit plochá tlaÄítka"
-#: theme_manager.cc:61
+#: theme_manager.cc:67
+msgid "Blink Rec-Arm buttons"
+msgstr ""
+
+#: theme_manager.cc:68
+msgid "Color regions using their track's color"
+msgstr "Obarvit oblasti barvou jejich stopy"
+
+#: theme_manager.cc:69
+msgid "Show waveform clipping"
+msgstr ""
+
+#: theme_manager.cc:71
+msgid "Waveforms color gradient depth"
+msgstr ""
+
+#: theme_manager.cc:73
+msgid "Timeline item gradient depth"
+msgstr ""
+
+#: theme_manager.cc:74
msgid "All floating windows are dialogs"
msgstr ""
-#: theme_manager.cc:62
-msgid "Draw waveforms with color gradient"
-msgstr "Kreslit tvary vln s barevnými přechody"
+#: theme_manager.cc:75
+msgid "Icon Set"
+msgstr ""
-#: theme_manager.cc:68
+#: theme_manager.cc:81
msgid "Object"
msgstr "Prvek"
-#: theme_manager.cc:123
+#: theme_manager.cc:180
msgid ""
"Mark all floating windows to be type \"Dialog\" rather than using \"Utility"
"\" for some.\n"
@@ -12045,17 +12328,17 @@ msgid ""
"take effect"
msgstr ""
-#: theme_manager.cc:229
+#: theme_manager.cc:286
msgid "Unable to find UI style file %1 in search path %2. %3 will look strange"
msgstr ""
"Soubor se stylem uživatelského rozhraní %1 nelze ve vyhledávací cestě najít "
"%2. %3 bude vypadat divnÄ›."
-#: time_axis_view.cc:114
+#: time_axis_view.cc:141
msgid "Track/Bus name (double click to edit)"
msgstr "Název stopy/sběrnice (pro úpravy dvakrát klepnout)"
-#: time_axis_view_item.cc:332
+#: time_axis_view_item.cc:384
msgid "new duration %1 frame is out of bounds for %2"
msgid_plural "new duration of %1 frames is out of bounds for %2"
msgstr[0] "Nová doba trvání %1 snímků je mimo dovolenou oblast %2"
@@ -12121,11 +12404,11 @@ msgstr "Protáhnout/Zmenšit"
msgid "<b>Progress</b>"
msgstr "<b>Postup</b>"
-#: time_info_box.cc:121
+#: time_info_box.cc:124
msgid "Start recording at auto-punch start"
msgstr "ZaÄít s nahráváním na zaÄátku oblasti pÅ™epsání"
-#: time_info_box.cc:122
+#: time_info_box.cc:125
msgid "Stop recording at auto-punch end"
msgstr "Zastavit nahrávání na konci oblasti přepsání"
@@ -12141,156 +12424,168 @@ msgstr "Převést MIDI"
msgid "Transpose"
msgstr "Převést"
-#: ui_config.cc:82 ui_config.cc:113
+#: ui_config.cc:95 ui_config.cc:126
msgid "Loading default ui configuration file %1"
msgstr "Nahrává se soubor s nastavením výchozího uživatelského rozhraní %1"
-#: ui_config.cc:85 ui_config.cc:116
+#: ui_config.cc:98 ui_config.cc:129
msgid "cannot read default ui configuration file \"%1\""
msgstr ""
"Nelze pÅ™eÄíst soubor s nastavením výchozího uživatelského rozhraní \"%1\""
-#: ui_config.cc:90 ui_config.cc:121
+#: ui_config.cc:103 ui_config.cc:134
msgid "default ui configuration file \"%1\" not loaded successfully."
msgstr ""
"Soubor s nastavením výchozího uživatelského rozhraní \"%1\" nemohl být "
"nahrán."
-#: ui_config.cc:134
+#: ui_config.cc:147
msgid "Loading user ui configuration file %1"
msgstr "Nahrává se soubor s nastavením výchozího uživatelského rozhraní %1"
-#: ui_config.cc:137
+#: ui_config.cc:150
msgid "cannot read ui configuration file \"%1\""
msgstr ""
"Nelze pÅ™eÄíst soubor s nastavením výchozího uživatelského rozhraní \"%1\""
-#: ui_config.cc:142
+#: ui_config.cc:155
msgid "user ui configuration file \"%1\" not loaded successfully."
msgstr ""
"Soubor s nastavením výchozího uživatelského rozhraní \"%1\" nemohl být "
"nahrán."
-#: ui_config.cc:150
+#: ui_config.cc:163
msgid "could not find any ui configuration file, canvas will look broken."
msgstr ""
"Nepodařilo se najít žádný soubor s nastavením výchozího uživatelského "
"rozhraní, plátno bude vypadat rozbitě."
-#: ui_config.cc:169
+#: ui_config.cc:182
msgid "Config file %1 not saved"
msgstr "Soubor s nastavením %1 nebyl uložen"
-#: utils.cc:111 utils.cc:154
+#: utils.cc:117 utils.cc:160
msgid "bad XPM header %1"
msgstr "Chybná XPM hlaviÄka %1"
-#: utils.cc:293 utils.cc:325
+#: utils.cc:313 utils.cc:345
msgid "missing RGBA style for \"%1\""
msgstr "Chybějící RGBA styl pro \"%1\""
-#: utils.cc:598
+#: utils.cc:640
msgid "cannot find XPM file for %1"
msgstr "Nelze najít soubor XPM pro %1"
-#: utils.cc:624
+#: utils.cc:660 utils.cc:687 utils.cc:698
+msgid "default"
+msgstr ""
+
+#: utils.cc:699
+msgid "icon \"%1\" not found for icon set \"%2\", fallback to default"
+msgstr ""
+
+#: utils.cc:706
msgid "cannot find icon image for %1 using %2"
msgstr "Nelze najít obrázek s ikonou pro %1 pomocí %2"
-#: utils.cc:639
+#: utils.cc:723 utils.cc:739
msgid "Caught exception while loading icon named %1"
msgstr "během nahrávání ikony s názvem %1 byla zachycena výjimka"
-#: verbose_cursor.cc:45
-msgid "VerboseCanvasCursor"
-msgstr "Ukazovátko podrobného plátna"
-
-#: add_video_dialog.cc:55
+#: add_video_dialog.cc:54
msgid "Set Video Track"
msgstr ""
-#: add_video_dialog.cc:63
+#: add_video_dialog.cc:62
msgid "Launch External Video Monitor"
msgstr ""
-#: add_video_dialog.cc:64
+#: add_video_dialog.cc:63
msgid "Adjust Session Framerate to Match Video Framerate"
msgstr ""
-#: add_video_dialog.cc:66
+#: add_video_dialog.cc:65
msgid "Reload docroot"
msgstr ""
-#: add_video_dialog.cc:111 add_video_dialog.cc:115
-msgid "VideoServerIndex"
-msgstr ""
-
-#: add_video_dialog.cc:129
+#: add_video_dialog.cc:120
msgid "Video files"
msgstr ""
-#: add_video_dialog.cc:164
+#: add_video_dialog.cc:149
msgid "<b>Video Information</b>"
msgstr ""
-#: add_video_dialog.cc:167
+#: add_video_dialog.cc:152
msgid "Start:"
msgstr ""
-#: add_video_dialog.cc:173
+#: add_video_dialog.cc:158
msgid "Frame rate:"
msgstr ""
-#: add_video_dialog.cc:176
+#: add_video_dialog.cc:161
msgid "Aspect Ratio:"
msgstr ""
-#: add_video_dialog.cc:654
-msgid " %1 fps"
+#: add_video_dialog.cc:244
+msgid "VideoServerIndex"
msgstr ""
-#: editor_videotimeline.cc:146
-msgid "Export Successful: %1"
+#: add_video_dialog.cc:670
+msgid " %1 fps"
msgstr ""
-#: video_timeline.cc:469
+#: video_timeline.cc:473
msgid ""
"Parsing video file info failed. Is the Video Server running? Is the file "
"readable by the Video Server? Does the docroot match? Is it a video file?"
msgstr ""
-#: video_timeline.cc:507
+#: video_timeline.cc:511
msgid ""
"Failed to set session-framerate: '%1' does not have a corresponding option "
"setting in %2."
msgstr ""
-#: video_timeline.cc:515
+#: video_timeline.cc:519
msgid ""
"Video file's framerate is not equal to %1 session timecode's framerate: '%2' "
"vs '%3'"
msgstr ""
-#: video_timeline.cc:588
+#: video_timeline.cc:592
msgid ""
"Video-server docroot mismatch. %1: '%2', video-server: '%3'. This usually "
-"means that the video server was not started by ardour and uses a different "
+"means that the video server was not started by %1 and uses a different "
"document-root."
msgstr ""
-#: video_timeline.cc:737
+#: video_timeline.cc:768
msgid ""
"Video-monitor 'xjadeo' was not found. Please install http://xjadeo.sf.net/ "
"(a custom path to xjadeo can be specified by setting the XJREMOTE "
"environment variable. It should point to an application compatible with "
-"xjadeo's remote-control interface 'xjremote')."
+"xjadeo's remote-control interface 'xjremote').\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
+msgstr ""
+
+#: video_timeline.cc:782
+msgid "Video-monitor 'xjadeo' cannot be launched."
+msgstr ""
+
+#: video_timeline.cc:809
+msgid ""
+"Video-monitor 'xjadeo' is too old. Please install xjadeo version 0.7.7 or "
+"later. http://xjadeo.sf.net/"
msgstr ""
-#: video_monitor.cc:281
+#: video_monitor.cc:285
msgid "Video Monitor: File Not Found."
msgstr ""
-#: transcode_ffmpeg.cc:73
+#: transcode_ffmpeg.cc:126
msgid ""
"No ffprobe or ffmpeg executables could be found on this system.\n"
"Video import and export is not possible until you install those tools.\n"
@@ -12304,168 +12599,181 @@ msgid ""
"If you already have a suitable ffmpeg installation on your system, we "
"recommend creating symbolic links from ffmpeg to ffmpeg_harvid and from "
"ffprobe to ffprobe_harvid.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: transcode_video_dialog.cc:55
+#: transcode_video_dialog.cc:56
msgid "Transcode/Import Video File "
msgstr ""
-#: transcode_video_dialog.cc:57
+#: transcode_video_dialog.cc:58
msgid "Output File:"
msgstr ""
-#: transcode_video_dialog.cc:60 export_video_dialog.cc:72
+#: transcode_video_dialog.cc:61 export_video_dialog.cc:73
msgid "Abort"
msgstr ""
-#: transcode_video_dialog.cc:62
+#: transcode_video_dialog.cc:63
msgid "Height = "
msgstr ""
-#: transcode_video_dialog.cc:65
+#: transcode_video_dialog.cc:66
msgid "Manual Override"
msgstr ""
-#: transcode_video_dialog.cc:69 export_video_dialog.cc:88
+#: transcode_video_dialog.cc:70 export_video_dialog.cc:89
msgid "Debug Mode: Print ffmpeg command and output to stdout."
msgstr ""
-#: transcode_video_dialog.cc:106
+#: transcode_video_dialog.cc:107
msgid "<b>File Information</b>"
msgstr ""
-#: transcode_video_dialog.cc:112
+#: transcode_video_dialog.cc:113
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Import "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: transcode_video_dialog.cc:119
+#: transcode_video_dialog.cc:120
msgid ""
"File-info can not be read. Most likely '%1' is not a valid video-file or an "
"unsupported video codec or format."
msgstr ""
-#: transcode_video_dialog.cc:133
+#: transcode_video_dialog.cc:134
msgid "FPS:"
msgstr ""
-#: transcode_video_dialog.cc:135
+#: transcode_video_dialog.cc:136
msgid "Duration:"
msgstr ""
-#: transcode_video_dialog.cc:137
+#: transcode_video_dialog.cc:138
msgid "Codec:"
msgstr ""
-#: transcode_video_dialog.cc:139
+#: transcode_video_dialog.cc:140
msgid "Geometry:"
msgstr ""
-#: transcode_video_dialog.cc:154
+#: transcode_video_dialog.cc:155
msgid "??"
msgstr ""
-#: transcode_video_dialog.cc:175
+#: transcode_video_dialog.cc:176
msgid "<b>Import Settings</b>"
msgstr ""
-#: transcode_video_dialog.cc:180
-msgid "Do Not Import Video"
-msgstr ""
-
#: transcode_video_dialog.cc:181
-msgid "Reference From Current Location"
+msgid "Reference From Current Location (Previously Transcoded Files Only)"
msgstr ""
#: transcode_video_dialog.cc:183
msgid "Import/Transcode Video to Session"
msgstr ""
-#: transcode_video_dialog.cc:197
+#: transcode_video_dialog.cc:191
+msgid "Do Not Import Video (Audio Import Only)"
+msgstr ""
+
+#: transcode_video_dialog.cc:200
msgid "Scale Video: Width = "
msgstr ""
-#: transcode_video_dialog.cc:204
+#: transcode_video_dialog.cc:207
msgid "Original Width"
msgstr ""
-#: transcode_video_dialog.cc:219
+#: transcode_video_dialog.cc:222
msgid "Bitrate (KBit/s):"
msgstr ""
-#: transcode_video_dialog.cc:224
+#: transcode_video_dialog.cc:227
msgid "Extract Audio:"
msgstr ""
-#: transcode_video_dialog.cc:344
+#: transcode_video_dialog.cc:232
+msgid "No Audio Track Present"
+msgstr ""
+
+#: transcode_video_dialog.cc:235
+msgid "Do Not Extract Audio"
+msgstr ""
+
+#: transcode_video_dialog.cc:350
msgid "Extracting Audio.."
msgstr ""
-#: transcode_video_dialog.cc:347
+#: transcode_video_dialog.cc:353
msgid "Audio Extraction Failed."
msgstr ""
-#: transcode_video_dialog.cc:373
+#: transcode_video_dialog.cc:379
msgid "Transcoding Video.."
msgstr ""
-#: transcode_video_dialog.cc:407
+#: transcode_video_dialog.cc:413
msgid "Transcoding Failed."
msgstr ""
-#: transcode_video_dialog.cc:490
+#: transcode_video_dialog.cc:503
msgid "Save Transcoded Video File"
msgstr ""
-#: video_server_dialog.cc:43
+#: video_server_dialog.cc:57
msgid "Launch Video Server"
msgstr ""
-#: video_server_dialog.cc:44
+#: video_server_dialog.cc:58
msgid "Server Executable:"
msgstr ""
-#: video_server_dialog.cc:46
+#: video_server_dialog.cc:60
msgid "Server Docroot:"
msgstr ""
-#: video_server_dialog.cc:52
+#: video_server_dialog.cc:66
msgid "Don't show this dialog again. (Reset in Edit->Preferences)."
msgstr ""
-#: video_server_dialog.cc:92
+#: video_server_dialog.cc:126
msgid ""
-"The external video server 'harvid' can not be found. The tool is included "
-"with the %1 releases from ardour.org, alternatively you can download it from "
-"http://x42.github.com/harvid/ or acquire it from your distribution."
+"The external video server 'harvid' can not be found.\n"
+"The tool is included with the %1 releases from ardour.org, alternatively you "
+"can download it from http://x42.github.com/harvid/ or acquire it from your "
+"distribution.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: video_server_dialog.cc:120
+#: video_server_dialog.cc:159
msgid "Listen Address:"
msgstr ""
-#: video_server_dialog.cc:125
+#: video_server_dialog.cc:164
msgid "Listen Port:"
msgstr ""
-#: video_server_dialog.cc:130
+#: video_server_dialog.cc:169
msgid "Cache Size:"
msgstr ""
-#: video_server_dialog.cc:136
+#: video_server_dialog.cc:175
msgid ""
"%1 relies on an external video server for the videotimeline.\n"
"The server configured in Edit -> Preferences -> Video is not reachable.\n"
"Do you want %1 to launch 'harvid' on this machine?"
msgstr ""
-#: video_server_dialog.cc:176
+#: video_server_dialog.cc:215
msgid "Set Video Server Executable"
msgstr ""
-#: video_server_dialog.cc:196
+#: video_server_dialog.cc:235
msgid "Server docroot"
msgstr ""
@@ -12495,184 +12803,184 @@ msgstr ""
msgid "Cannot create video folder \"%1\" (%2)"
msgstr ""
-#: export_video_dialog.cc:65
+#: export_video_dialog.cc:66
msgid "Export Video File "
msgstr ""
-#: export_video_dialog.cc:69
+#: export_video_dialog.cc:70
msgid "Video:"
msgstr ""
-#: export_video_dialog.cc:73
+#: export_video_dialog.cc:74
msgid "Scale Video (W x H):"
msgstr ""
-#: export_video_dialog.cc:78
+#: export_video_dialog.cc:79
msgid "Set Aspect Ratio:"
msgstr ""
-#: export_video_dialog.cc:79
+#: export_video_dialog.cc:80
msgid "Normalize Audio"
msgstr ""
-#: export_video_dialog.cc:80
+#: export_video_dialog.cc:81
msgid "2 Pass Encoding"
msgstr ""
-#: export_video_dialog.cc:81
+#: export_video_dialog.cc:82
msgid "Codec Optimizations:"
msgstr ""
-#: export_video_dialog.cc:83
+#: export_video_dialog.cc:84
msgid "Deinterlace"
msgstr ""
-#: export_video_dialog.cc:84
+#: export_video_dialog.cc:85
msgid "Use [2] B-frames (MPEG 2 or 4 only)"
msgstr ""
-#: export_video_dialog.cc:85
+#: export_video_dialog.cc:86
msgid "Override FPS (Default is to retain FPS from the input video file):"
msgstr ""
-#: export_video_dialog.cc:86
+#: export_video_dialog.cc:87
msgid "Include Session Metadata"
msgstr ""
-#: export_video_dialog.cc:106
+#: export_video_dialog.cc:107
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Export "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: export_video_dialog.cc:116
+#: export_video_dialog.cc:117
msgid "<b>Output:</b>"
msgstr ""
-#: export_video_dialog.cc:126
+#: export_video_dialog.cc:127
msgid "<b>Input:</b>"
msgstr ""
-#: export_video_dialog.cc:137
+#: export_video_dialog.cc:138
msgid "Audio:"
msgstr ""
-#: export_video_dialog.cc:139
+#: export_video_dialog.cc:140
msgid "Master Bus"
msgstr ""
-#: export_video_dialog.cc:144
+#: export_video_dialog.cc:145
msgid "from the %1 session's start to the session's end"
msgstr ""
-#: export_video_dialog.cc:148
+#: export_video_dialog.cc:149
msgid "from 00:00:00:00 to the video's end"
msgstr ""
-#: export_video_dialog.cc:150
+#: export_video_dialog.cc:151
msgid "from the video's start to the video's end"
msgstr ""
-#: export_video_dialog.cc:153
+#: export_video_dialog.cc:154
msgid "Selected range"
msgstr ""
-#: export_video_dialog.cc:193
+#: export_video_dialog.cc:194
msgid "<b>Settings:</b>"
msgstr ""
-#: export_video_dialog.cc:201
+#: export_video_dialog.cc:202
msgid "Range:"
msgstr ""
-#: export_video_dialog.cc:204
+#: export_video_dialog.cc:205
msgid "Preset:"
msgstr ""
-#: export_video_dialog.cc:207
+#: export_video_dialog.cc:208
msgid "Video Codec:"
msgstr ""
-#: export_video_dialog.cc:210
+#: export_video_dialog.cc:211
msgid "Video KBit/s:"
msgstr ""
-#: export_video_dialog.cc:213
+#: export_video_dialog.cc:214
msgid "Audio Codec:"
msgstr ""
-#: export_video_dialog.cc:216
+#: export_video_dialog.cc:217
msgid "Audio KBit/s:"
msgstr ""
-#: export_video_dialog.cc:219
+#: export_video_dialog.cc:220
msgid "Audio Samplerate:"
msgstr ""
-#: export_video_dialog.cc:395
+#: export_video_dialog.cc:396
msgid "Normalizing audio"
msgstr ""
-#: export_video_dialog.cc:399
+#: export_video_dialog.cc:400
msgid "Exporting audio"
msgstr ""
-#: export_video_dialog.cc:445
+#: export_video_dialog.cc:446
msgid "Exporting Audio..."
msgstr ""
-#: export_video_dialog.cc:502
+#: export_video_dialog.cc:503
msgid ""
"Export Video: Cannot query duration of video-file, using duration from "
"timeline instead."
msgstr ""
-#: export_video_dialog.cc:532
+#: export_video_dialog.cc:533
msgid "Export Video: export-range does not include video."
msgstr ""
-#: export_video_dialog.cc:544
+#: export_video_dialog.cc:545
msgid "Export Video: No Master Out Ports to Connect for Audio Export"
msgstr ""
-#: export_video_dialog.cc:583
+#: export_video_dialog.cc:585
msgid "Encoding Video..."
msgstr ""
-#: export_video_dialog.cc:602
+#: export_video_dialog.cc:604
msgid "Export Video: Video input file cannot be read."
msgstr ""
-#: export_video_dialog.cc:695
+#: export_video_dialog.cc:698
msgid "Encoding Video.. Pass 1/2"
msgstr ""
-#: export_video_dialog.cc:707
+#: export_video_dialog.cc:710
msgid "Encoding Video.. Pass 2/2"
msgstr ""
-#: export_video_dialog.cc:814
+#: export_video_dialog.cc:813
msgid "Transcoding failed."
msgstr ""
-#: export_video_dialog.cc:983 export_video_dialog.cc:1003
+#: export_video_dialog.cc:982 export_video_dialog.cc:1002
msgid "Save Exported Video File"
msgstr ""
-#: export_video_infobox.cc:30
+#: export_video_infobox.cc:33
msgid "Video Export Info"
msgstr ""
-#: export_video_infobox.cc:31
+#: export_video_infobox.cc:34
msgid "Do Not Show This Dialog Again (Reset in Edit > Preferences > Video)."
msgstr ""
-#: export_video_infobox.cc:43
+#: export_video_infobox.cc:46
msgid "<b>Video Export Info</b>"
msgstr ""
-#: export_video_infobox.cc:48
+#: export_video_infobox.cc:51
msgid ""
"Video encoding is a non-trivial task with many details.\n"
"\n"
@@ -12681,6 +12989,367 @@ msgid ""
"Open Manual in Browser? "
msgstr ""
+#~ msgid "badly formatted UI definition file: %1"
+#~ msgstr "Soubor vymezující uživatelské rozhraní %1 je nesprávně formátován"
+
+#~ msgid "%1 will not work without a valid ardour.menus file"
+#~ msgstr "%1 nebude pracovat bez platného souboru ardour.menus"
+
+#~ msgid "audition"
+#~ msgstr "Poslech"
+
+#~ msgid "solo"
+#~ msgstr "Sólo"
+
+#~ msgid "feedback"
+#~ msgstr "Zpětná vazba"
+
+#~ msgid "Please wait while %1 cleans up..."
+#~ msgstr "PoÄkejte, prosím, zatímco %1 uklízí..."
+
+#~ msgid ""
+#~ "There are insufficient JACK ports available\n"
+#~ "to create a new track or bus.\n"
+#~ "You should save %1, exit and\n"
+#~ "restart JACK with more ports."
+#~ msgstr ""
+#~ "Je zde nedostateÄný poÄet dostupných přípojek JACK na to,\n"
+#~ "aby se dala vytvořit nová stopa nebo sběrnice.\n"
+#~ "MÄ›l byste uložit %1, ukonÄit Ardour\n"
+#~ "a spustit JACK znovu s vÄ›tším poÄtem přípojek."
+
+#~ msgid "Timecode Frames"
+#~ msgstr "Snímky Äasového kódu"
+
+#~ msgid "Timecode Seconds"
+#~ msgstr "Sekundy Äasového kódu"
+
+#~ msgid "Timecode Minutes"
+#~ msgstr "Minuty Äasového kódu"
+
+#~ msgid ""
+#~ "programming error: fade in canvas item has no regionview data pointer!"
+#~ msgstr ""
+#~ "Chyba v programování: položka plátna postupné zesílení signálu nemá žádný "
+#~ "ukazatel dat pohledu na oblast!"
+
+#~ msgid "Slowest"
+#~ msgstr "Velmi pomalu"
+
+#~ msgid "Finish Add Range"
+#~ msgstr "UkonÄit pÅ™idání rozsahu"
+
+#~ msgid "Toggle Edit Mode"
+#~ msgstr "Přepnout režim úprav"
+
+#~ msgid "No Selection = All Tracks?"
+#~ msgstr "Žádný výběr = všechny stopy?"
+
+#~ msgid ""
+#~ "Activate this button to operate on all tracks when none are selected."
+#~ msgstr ""
+#~ "Zapnout toto tlaÄítko pro práci na vÅ¡ech stopách, když žádná není vybrána."
+
+#~ msgid "insert dragged region"
+#~ msgstr "Táhnout oblast"
+
+#~ msgid " objects"
+#~ msgstr "Předměty"
+
+#~ msgid "Length of region fade-out (units: secondary clock), () if dsisabled"
+#~ msgstr ""
+#~ "Délka postupné zeslabení signálu oblasti (jednotky: vedlejší hodiny), (), "
+#~ "pokud je zakázáno"
+
+#~ msgid "No edit range defined"
+#~ msgstr "Nestanoven rozsah úprav"
+
+#~ msgid ""
+#~ "the edit point is Selected Marker\n"
+#~ "but there is no selected marker."
+#~ msgstr ""
+#~ "Pracovním bodem je zvolená znaÄka polohy,\n"
+#~ "nebyla vÅ¡ak vybrána žádná znaÄka polohy."
+
+#~ msgid "Time span and channel options"
+#~ msgstr "Časové rozpětí a volby pro kanály"
+
+#~ msgid "Lower limit of ruler"
+#~ msgstr "Spodní hranice pravítka"
+
+#~ msgid "Upper"
+#~ msgstr "Horní hranice"
+
+#~ msgid "Upper limit of ruler"
+#~ msgstr "Horní hranice pravítka"
+
+#~ msgid "Position of mark on the ruler"
+#~ msgstr "Poloha znaÄení na pravítku"
+
+#~ msgid "Max Size"
+#~ msgstr "Největší velikost"
+
+#~ msgid "Maximum size of the ruler"
+#~ msgstr "Nejmenší velikost pravítka"
+
+#~ msgid "Show Position"
+#~ msgstr "Ukázat polohu"
+
+#~ msgid "Draw current ruler position"
+#~ msgstr "Ukázat nynější polohu pravítka"
+
+#~ msgid "cannot create user %3 folder %1 (%2)"
+#~ msgstr "Nelze vytvoÅ™it uživatelův adresář urÄený pro %3 %1 (%2)"
+
+#~ msgid "cannot open pango.rc file %1"
+#~ msgstr "Nelze otevřít soubor pango.rc %1"
+
+#~ msgid "Cannot find ArdourMono TrueType font"
+#~ msgstr "Nelze nalézt písmo ArdourMono TrueType"
+
+#~ msgid "Cannot load ArdourMono TrueType font."
+#~ msgstr "Nelze nahrát písmo ArdourMono TrueType."
+
+#~ msgid ""
+#~ "No fontconfig file found on your system. Things may looked very odd or "
+#~ "ugly"
+#~ msgstr ""
+#~ "Ve vašem systému nebyl nalezen žádný soubor s nastavením písma. Věci v "
+#~ "rozhraní mohou vypadat velice divně a ošklivě."
+
+#~ msgid "Failed to set fontconfig configuration."
+#~ msgstr "Nepodařilo se nastavit nastavení písma."
+
+#~ msgid "Missing File!"
+#~ msgstr "Chybí soubor!"
+
+#~ msgid "tupni"
+#~ msgstr "výstup"
+
+#~ msgid "lock"
+#~ msgstr "Zam"
+
+#~ msgid "iso"
+#~ msgstr "Sam"
+
+#~ msgid "Meter Point"
+#~ msgstr "Měřicí bod"
+
+#~ msgid ""
+#~ "Aux\n"
+#~ "Sends"
+#~ msgstr ""
+#~ "Pomocné\n"
+#~ "poslání"
+
+#~ msgid "in"
+#~ msgstr "Vst"
+
+#~ msgid "post"
+#~ msgstr "Po"
+
+#~ msgid "out"
+#~ msgstr "Výst"
+
+#~ msgid "custom"
+#~ msgstr "Vlastní"
+
+#~ msgid "pr"
+#~ msgstr "Pre"
+
+#~ msgid "po"
+#~ msgstr "Po"
+
+#~ msgid "o"
+#~ msgstr "o"
+
+#~ msgid "c"
+#~ msgstr "c"
+
+#~ msgid "i"
+#~ msgstr "Vst"
+
+#~ msgid "Pre-fader"
+#~ msgstr "PÅ™ed-prolínaÄ"
+
+#~ msgid "Post-fader"
+#~ msgstr "Po-prolínaÄ"
+
+#~ msgid "soloing"
+#~ msgstr "Sólo"
+
+#~ msgid "isolated"
+#~ msgstr "Samostatné"
+
+#~ msgid "auditioning"
+#~ msgstr "Poslech"
+
+#~ msgid "excl. solo"
+#~ msgstr "Výhradní sólo"
+
+#~ msgid "solo » mute"
+#~ msgstr "Sólo » Ztlumit"
+
+#~ msgid "mute"
+#~ msgstr "Ztlumit"
+
+#~ msgid "dim"
+#~ msgstr "Zeslabit"
+
+#~ msgid "mono"
+#~ msgstr "Mono"
+
+#~ msgid "send LTC while stopped"
+#~ msgstr "Poslat LTC, když přehrávání stojí"
+
+#~ msgid "Link selection of regions and tracks"
+#~ msgstr "Spojit výběr oblastí a stop"
+
+#~ msgid "update transport clock display every 40ms instead of every 100ms"
+#~ msgstr ""
+#~ "Aktualizovat zobrazení hodin ukazujících stav přehrávání každých 40 ms "
+#~ "namísto každých 100 ms"
+
+#~ msgid ""
+#~ "A route group of this name already exists. Please use a different name."
+#~ msgstr ""
+#~ "Skupina cesty s tímto názvem již existuje. Použijte, prosím, jiný název."
+
+#~ msgid "g"
+#~ msgstr "sk"
+
+#~ msgid "p"
+#~ msgstr "se"
+
+#~ msgid "a"
+#~ msgstr "a"
+
+#~ msgid "s"
+#~ msgstr "s"
+
+#~ msgid "m"
+#~ msgstr "z"
+
+#~ msgid "Not connected to JACK - cannot engage record"
+#~ msgstr "Nespojeno s JACKem - nelze zaÄít s nahráváním"
+
+#~ msgid ""
+#~ "Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless in JACK-"
+#~ "sync)."
+#~ msgstr ""
+#~ "Použít vytažení nahoru/stažení dolů na Äasovou osu videa a sledování "
+#~ "videa (jestliže není v JACK-sync)."
+
+#~ msgid "Default crossfade type"
+#~ msgstr "Výchozí typ prolínání"
+
+#~ msgid "Constant power (-3dB) crossfade"
+#~ msgstr "Prolínání s neměnnou silou (-3dB)"
+
+#~ msgid "Linear (-6dB) crossfade"
+#~ msgstr "Lineární prolínání (-6dB)"
+
+#~ msgid "VerboseCanvasCursor"
+#~ msgstr "Ukazovátko podrobného plátna"
+
+#~ msgid ""
+#~ "Video-Server was not launched by Ardour. The request to stop it is "
+#~ "ignored."
+#~ msgstr ""
+#~ "Videoserver nebyl spuštěn Ardourem. Požadavek na jeho zastavení se "
+#~ "přehlíží."
+
+#~ msgid "ardour"
+#~ msgstr "ardour"
+
+#~ msgid "x1"
+#~ msgstr "x1"
+
+#~ msgid "x coordinate of upper left corner of rect"
+#~ msgstr "Souřadnice x horního levého rohu obdélníku"
+
+#~ msgid "y1"
+#~ msgstr "y1"
+
+#~ msgid "y coordinate of upper left corner of rect "
+#~ msgstr "Souřadnice y horního levého rohu obdélníku"
+
+#~ msgid "x2"
+#~ msgstr "x1"
+
+#~ msgid "x coordinate of lower right corner of rect"
+#~ msgstr "Souřadnice x dolního pravého rohu obdélníku"
+
+#~ msgid "y2"
+#~ msgstr "y1"
+
+#~ msgid "y coordinate of lower right corner of rect "
+#~ msgstr "Souřadnice y dolního pravého rohu obdélníku"
+
+#~ msgid "color rgba"
+#~ msgstr "RGBA barva"
+
+#~ msgid "color of line"
+#~ msgstr "Barva Äáry"
+
+#~ msgid "outline pixels"
+#~ msgstr "Šířka orámování v pixelech"
+
+#~ msgid "width in pixels of outline"
+#~ msgstr "Šířka orámování v pixelech"
+
+#~ msgid "outline what"
+#~ msgstr "ohraniÄující orámování"
+
+#~ msgid "which boundaries to outline (mask)"
+#~ msgstr "ohraniÄující orámování"
+
+#~ msgid "fill"
+#~ msgstr "Vyplnit"
+
+#~ msgid "fill rectangle"
+#~ msgstr "Vyplnit pravoúhelník"
+
+#~ msgid "draw"
+#~ msgstr "Nakreslit"
+
+#~ msgid "draw rectangle"
+#~ msgstr "Nakreslit pravoúhelník"
+
+#~ msgid "outline color rgba"
+#~ msgstr "Barva rámu RGBA"
+
+#~ msgid "color of outline"
+#~ msgstr "Barva rámu"
+
+#~ msgid "fill color rgba"
+#~ msgstr "Barva výplně RGBA"
+
+#~ msgid "color of fill"
+#~ msgstr "Barva výplně"
+
+#~ msgid "malformed URL passed to drag-n-drop code"
+#~ msgstr "Neplatná adresa (URL) předaná kódu \"táhni a pusť\""
+
+#~ msgid "Editor::event_frame() used on unhandled event type %1"
+#~ msgstr "Editor::event_frame() se používá u neznámého druhu události %1"
+
+#~ msgid "delete sysex"
+#~ msgstr "Smazat SysEx"
+
+#~ msgid ""
+#~ "No panner user interface is currently available for %1-in/2out tracks/"
+#~ "busses"
+#~ msgstr ""
+#~ "V souÄasnosti není pro %1-in/2out tracks/busses dostupné žádné "
+#~ "uživatelské rozhraní pro ovladaÄ vyvážení"
+
+#~ msgid "Auditioning of MIDI files is not yet supported"
+#~ msgstr "Poslech MIDI souborů ještě není podporován"
+
+#~ msgid "Draw waveforms with color gradient"
+#~ msgstr "Kreslit tvary vln s barevnými přechody"
+
#~ msgid "Starting audio engine"
#~ msgstr "Spouští se zvukový stroj"
@@ -12859,9 +13528,6 @@ msgstr ""
#~ msgid "Output device:"
#~ msgstr "Výstupní zařízení:"
-#~ msgid "Device"
-#~ msgstr "Zařízení"
-
#~ msgid "Advanced"
#~ msgstr "PokroÄilé"
diff --git a/gtk2_ardour/po/de.po b/gtk2_ardour/po/de.po
index 69274a1bae..bc58738045 100644
--- a/gtk2_ardour/po/de.po
+++ b/gtk2_ardour/po/de.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the gtk-ardour package.
#
# Karsten Petersen <kapet@kapet.de>, 2003.
-# Edgar Aichinger <edgar.aichinger@aon.at>, 2008, 2012, 2013.
+# Edgar Aichinger <edgar.aichinger@aon.at>, 2008, 2012, 2013, 2014.
+#: engine_dialog.cc:558
msgid ""
msgstr ""
"Project-Id-Version: gtk-ardour 0.347.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-11-05 11:11-0500\n"
-"PO-Revision-Date: 2013-09-26 16:32+0200\n"
+"POT-Creation-Date: 2014-09-04 19:07-0400\n"
+"PO-Revision-Date: 2014-02-10 17:58+0100\n"
"Last-Translator: Edgar Aichinger <edogawa@aon.at>\n"
"Language-Team: German <ardour-dev@lists.ardour.org>\n"
"Language: de\n"
@@ -22,231 +23,235 @@ msgstr ""
"X-Poedit-Basepath: ../../\n"
"X-Poedit-SearchPath-0: gtk2_ardour\n"
-#: about.cc:122
+#: about.cc:120
msgid "Brian Ahr"
msgstr "Brian Ahr"
-#: about.cc:123
+#: about.cc:121
msgid "John Anderson"
msgstr "John Anderson"
-#: about.cc:124
+#: about.cc:122
msgid "Marcus Andersson"
msgstr "Marcus Andersson"
-#: about.cc:125
+#: about.cc:123
msgid "Nedko Arnaudov"
msgstr "Nedko Arnaudov"
-#: about.cc:126
+#: about.cc:124
msgid "Hans Baier"
msgstr "Hans Baier"
-#: about.cc:127
+#: about.cc:125
msgid "Ben Bell"
msgstr "Ben Bell"
-#: about.cc:128
+#: about.cc:126
msgid "Sakari Bergen"
msgstr "Sakari Bergen"
-#: about.cc:129
+#: about.cc:127
+msgid "Christian Borss"
+msgstr "Christian Borss"
+
+#: about.cc:128
msgid "Chris Cannam"
msgstr "Chris Cannam"
-#: about.cc:130
+#: about.cc:129
msgid "Jesse Chappell"
msgstr "Jesse Chappell"
-#: about.cc:131
+#: about.cc:130
msgid "Thomas Charbonnel"
msgstr "Thomas Charbonnel"
-#: about.cc:132
+#: about.cc:131
msgid "Sam Chessman"
msgstr "Sam Chessman"
-#: about.cc:133
+#: about.cc:132
msgid "André Colomb"
msgstr "André Colomb"
-#: about.cc:134
+#: about.cc:133
msgid "Paul Davis"
msgstr "Paul Davis"
-#: about.cc:135
+#: about.cc:134
msgid "Gerard van Dongen"
msgstr "Gerard van Dongen"
-#: about.cc:136
+#: about.cc:135
msgid "Colin Fletcher"
msgstr "Colin Fletcher"
-#: about.cc:137
+#: about.cc:136
msgid "Dave Flick"
msgstr "Dave Flick"
-#: about.cc:138
+#: about.cc:137
msgid "Hans Fugal"
msgstr "Hans Fugal"
-#: about.cc:139
+#: about.cc:138
msgid "Robin Gareus"
msgstr "Robin Gareus"
-#: about.cc:140
+#: about.cc:139
msgid "Christopher George"
msgstr "Christopher George"
-#: about.cc:141
+#: about.cc:140
msgid "Chris Goddard"
msgstr "Chris Goddard"
-#: about.cc:142
+#: about.cc:141
msgid "J. Abelardo Gutierrez"
msgstr "J. Abelardo Gutierrez"
-#: about.cc:143
+#: about.cc:142
msgid "Jeremy Hall"
msgstr "Jeremy Hall"
-#: about.cc:144
+#: about.cc:143
msgid "Audun Halland"
msgstr "Audun Halland"
-#: about.cc:145
+#: about.cc:144
msgid "David Halter"
msgstr "David Halter"
-#: about.cc:146
+#: about.cc:145
msgid "Steve Harris"
msgstr "Steve Harris"
-#: about.cc:147
+#: about.cc:146
msgid "Melvin Ray Herr"
msgstr "Melvin Ray Herr"
-#: about.cc:148
+#: about.cc:147
msgid "Carl Hetherington"
msgstr "Carl Hetherington"
-#: about.cc:149
+#: about.cc:148
msgid "Rob Holland"
msgstr "Rob Holland"
-#: about.cc:150
+#: about.cc:149
msgid "Robert Jordens"
msgstr "Robert Jordens"
-#: about.cc:151
+#: about.cc:150
msgid "Stefan Kersten"
msgstr "Stefan Kersten"
-#: about.cc:152
+#: about.cc:151
msgid "Armand Klenk"
msgstr "Armand Klenk"
-#: about.cc:153
+#: about.cc:152
msgid "Julien de Kozak"
msgstr "Julien de Kozak"
-#: about.cc:154
+#: about.cc:153
msgid "Matt Krai"
msgstr "Matt Krai"
-#: about.cc:155
+#: about.cc:154
msgid "Nick Lanham"
msgstr "Nick Lanham"
-#: about.cc:156
+#: about.cc:155
msgid "Colin Law"
msgstr "Colin Law"
-#: about.cc:157
+#: about.cc:156
msgid "Joshua Leach"
msgstr "Joshua Leach"
-#: about.cc:158
+#: about.cc:157
msgid "Ben Loftis"
msgstr "Ben Loftis"
-#: about.cc:159
+#: about.cc:158
msgid "Nick Mainsbridge"
msgstr "Nick Mainsbridge"
-#: about.cc:160
+#: about.cc:159
msgid "Tim Mayberry"
msgstr "Tim Mayberry"
-#: about.cc:161
+#: about.cc:160
msgid "Doug Mclain"
msgstr "Doug Mclain"
-#: about.cc:162
+#: about.cc:161
msgid "Jack O'Quin"
msgstr "Jack O'Quin"
-#: about.cc:163
+#: about.cc:162
msgid "Nimal Ratnayake"
msgstr "Nimal Ratnayake"
-#: about.cc:164
+#: about.cc:163
msgid "David Robillard"
msgstr "David Robillard"
-#: about.cc:165
+#: about.cc:164
msgid "Taybin Rutkin"
msgstr "Taybin Rutkin"
-#: about.cc:166
+#: about.cc:165
msgid "Andreas Ruge"
msgstr "Andreas Ruge"
-#: about.cc:167
+#: about.cc:166
msgid "Sampo Savolainen"
msgstr "Sampo Savolainen"
-#: about.cc:168
+#: about.cc:167
msgid "Rodrigo Severo"
msgstr "Rodrigo Severo"
-#: about.cc:169
+#: about.cc:168
msgid "Per Sigmond"
msgstr "Per Sigmond"
-#: about.cc:170
+#: about.cc:169
msgid "Lincoln Spiteri"
msgstr "Lincoln Spiteri"
-#: about.cc:171
+#: about.cc:170
msgid "Mike Start"
msgstr "Mike Start"
-#: about.cc:172
+#: about.cc:171
msgid "Mark Stewart"
msgstr "Mark Stewart"
-#: about.cc:173
+#: about.cc:172
msgid "Roland Stigge"
msgstr "Roland Stigge"
-#: about.cc:174
+#: about.cc:173
msgid "Petter Sundlöf"
msgstr "Petter Sundlöf"
-#: about.cc:175
+#: about.cc:174
msgid "Mike Täht"
msgstr "Mike Täht"
-#: about.cc:176
+#: about.cc:175
msgid "Roy Vegard"
msgstr "Roy Vegard"
-#: about.cc:177
+#: about.cc:176
msgid "Thorsten Wilms"
msgstr "Thorsten Wilms"
-#: about.cc:182
+#: about.cc:181
msgid ""
"French:\n"
"\tAlain Fréhel <alain.frehel@free.fr>\n"
@@ -260,7 +265,7 @@ msgstr ""
"\tMartin Blanchard\n"
"\tRomain Arnaud <roming22@gmail.com>\n"
-#: about.cc:183
+#: about.cc:182
msgid ""
"German:\n"
"\tKarsten Petersen <kapet@kapet.de>\n"
@@ -280,7 +285,7 @@ msgstr ""
"\tRichard Oax <richard@pagliacciempire.de>\n"
"\tRobin Gloster <robin@loc-com.de>\n"
-#: about.cc:190
+#: about.cc:189
msgid ""
"Italian:\n"
"\tFilippo Pappalardo <filippo@email.it>\n"
@@ -290,7 +295,7 @@ msgstr ""
"\tFilippo Pappalardo <filippo@email.it>\n"
"\tRaffaele Morelli <raffaele.morelli@gmail.com>\n"
-#: about.cc:191
+#: about.cc:190
msgid ""
"Portuguese:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
@@ -298,7 +303,7 @@ msgstr ""
"Portugiesisch:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
-#: about.cc:192
+#: about.cc:191
msgid ""
"Brazilian Portuguese:\n"
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
@@ -308,7 +313,7 @@ msgstr ""
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
"\tChris Ross <chris@tebibyte.org>\n"
-#: about.cc:194
+#: about.cc:193
msgid ""
"Spanish:\n"
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
@@ -318,7 +323,7 @@ msgstr ""
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
"\tPablo Fernández <pablo.fbus@gmail.com>\n"
-#: about.cc:195
+#: about.cc:194
msgid ""
"Russian:\n"
"\t Igor Blinov <pitstop@nm.ru>\n"
@@ -328,7 +333,7 @@ msgstr ""
"\t Igor Blinov <pitstop@nm.ru>\n"
"\tAlexandre Prokoudine <alexandre.prokoudine@gmail.com>\n"
-#: about.cc:197
+#: about.cc:196
msgid ""
"Greek:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
@@ -336,7 +341,7 @@ msgstr ""
"Griechisch:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
-#: about.cc:198
+#: about.cc:197
msgid ""
"Swedish:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
@@ -344,7 +349,7 @@ msgstr ""
"Schwedisch:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
-#: about.cc:199
+#: about.cc:198
msgid ""
"Polish:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
@@ -352,7 +357,7 @@ msgstr ""
"Polnisch:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
-#: about.cc:200
+#: about.cc:199
msgid ""
"Czech:\n"
"\t Pavel Fric <pavelfric@seznam.cz>\n"
@@ -360,7 +365,7 @@ msgstr ""
"Tschechisch:\n"
"\t Pavel Fric <pavelfric@seznam.cz>\n"
-#: about.cc:201
+#: about.cc:200
msgid ""
"Norwegian:\n"
"\t Eivind Ødegård\n"
@@ -368,7 +373,7 @@ msgstr ""
"Norwegisch:\n"
"\t Eivind Ødegård\n"
-#: about.cc:202
+#: about.cc:201
msgid ""
"Chinese:\n"
"\t Rui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
@@ -376,15 +381,15 @@ msgstr ""
"Chinesisch:\n"
"\t Rui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
-#: about.cc:580
+#: about.cc:581
msgid "Copyright (C) 1999-2013 Paul Davis\n"
msgstr "Copyright (C) 1999-2013 Paul Davis\n"
-#: about.cc:584
+#: about.cc:585
msgid "http://ardour.org/"
msgstr "http://ardour.org/"
-#: about.cc:585
+#: about.cc:586
msgid ""
"%1\n"
"(built from revision %2)"
@@ -392,105 +397,106 @@ msgstr ""
"%1\n"
"(Aus Revision %2 erstellt)"
-#: about.cc:589
+#: about.cc:590
msgid "Config"
msgstr "Konfiguration"
-#: actions.cc:85
+#: actions.cc:84
msgid "Loading menus from %1"
msgstr "Lade Menüs aus"
-#: actions.cc:88 actions.cc:89
-msgid "badly formatted UI definition file: %1"
-msgstr "die UI Definitionsdatei %1 ist falsch formatiert"
+#: actions.cc:87 actions.cc:88
+msgid "badly formatted menu definition file: %1"
+msgstr ""
-#: actions.cc:91
+#: actions.cc:90
msgid "%1 menu definition file not found"
msgstr "Konnte die %1 Menü-Definitionsdatei nicht finden"
-#: actions.cc:95 actions.cc:96
-msgid "%1 will not work without a valid ardour.menus file"
-msgstr "%1 benötigt eine gültige ardour.menus Datei"
+#: actions.cc:94 actions.cc:95
+msgid "%1 will not work without a valid menu definition file"
+msgstr ""
-#: add_route_dialog.cc:53 route_params_ui.cc:500
+#: add_route_dialog.cc:54 route_params_ui.cc:523
msgid "Add Track or Bus"
msgstr "Spur/Bus hinzufügen"
-#: add_route_dialog.cc:56
+#: add_route_dialog.cc:57
msgid "Configuration:"
msgstr "Kanaleinstellungen:"
-#: add_route_dialog.cc:57
+#: add_route_dialog.cc:58
msgid "Track mode:"
msgstr "Spurmodus"
-#: add_route_dialog.cc:58
+#: add_route_dialog.cc:59
msgid "Instrument:"
msgstr "Instrument:"
-#: add_route_dialog.cc:76
+#: add_route_dialog.cc:78
msgid "Audio Tracks"
msgstr "Audiospuren"
-#: add_route_dialog.cc:77
+#: add_route_dialog.cc:79
msgid "MIDI Tracks"
msgstr "Midispuren"
-#: add_route_dialog.cc:78
+#: add_route_dialog.cc:80
msgid "Audio+MIDI Tracks"
msgstr "Audio+MIDI-Spuren"
-#: add_route_dialog.cc:79
+#: add_route_dialog.cc:81
msgid "Busses"
msgstr "Audiobusse"
-#: add_route_dialog.cc:101
+#: add_route_dialog.cc:103
msgid "Add:"
msgstr "Erstelle:"
-#: add_route_dialog.cc:114 time_fx_dialog.cc:91 add_video_dialog.cc:150
-#: video_server_dialog.cc:112
+#: add_route_dialog.cc:116 time_fx_dialog.cc:91 add_video_dialog.cc:135
+#: video_server_dialog.cc:151
msgid "<b>Options</b>"
msgstr "<b>Optionen</b>"
-#: add_route_dialog.cc:124 bundle_manager.cc:192 region_editor.cc:50
-#: route_group_dialog.cc:65
+#: add_route_dialog.cc:126 bundle_manager.cc:193 region_editor.cc:49
+#: route_group_dialog.cc:71
msgid "Name:"
msgstr "Name:"
-#: add_route_dialog.cc:154
+#: add_route_dialog.cc:156
msgid "Group:"
msgstr "Gruppe:"
-#: add_route_dialog.cc:215 add_route_dialog.cc:224 add_route_dialog.cc:298
-#: ardour_ui_ed.cc:476 engine_dialog.cc:236 rc_option_editor.cc:1446
-#: rc_option_editor.cc:1448 rc_option_editor.cc:1450 rc_option_editor.cc:1466
-#: rc_option_editor.cc:1468 rc_option_editor.cc:1476 rc_option_editor.cc:1478
-#: rc_option_editor.cc:1496 rc_option_editor.cc:1509 rc_option_editor.cc:1511
-#: rc_option_editor.cc:1513 rc_option_editor.cc:1544 rc_option_editor.cc:1546
-#: rc_option_editor.cc:1548 rc_option_editor.cc:1556 rc_option_editor.cc:1564
-#: rc_option_editor.cc:1572
+#: add_route_dialog.cc:217 add_route_dialog.cc:226 add_route_dialog.cc:300
+#: ardour_ui_ed.cc:523 engine_dialog.cc:235 rc_option_editor.cc:1710
+#: rc_option_editor.cc:1712 rc_option_editor.cc:1714 rc_option_editor.cc:1732
+#: rc_option_editor.cc:1734 rc_option_editor.cc:1742 rc_option_editor.cc:1744
+#: rc_option_editor.cc:1762 rc_option_editor.cc:1775 rc_option_editor.cc:1777
+#: rc_option_editor.cc:1779 rc_option_editor.cc:1810 rc_option_editor.cc:1812
+#: rc_option_editor.cc:1814 rc_option_editor.cc:1822 rc_option_editor.cc:1830
+#: rc_option_editor.cc:1832 rc_option_editor.cc:1840
msgid "Audio"
msgstr "Audio"
-#: add_route_dialog.cc:216 add_route_dialog.cc:227 add_route_dialog.cc:299
-#: editor_actions.cc:105 missing_file_dialog.cc:55 rc_option_editor.cc:1695
-#: rc_option_editor.cc:1703 rc_option_editor.cc:1711 rc_option_editor.cc:1720
-#: rc_option_editor.cc:1728 rc_option_editor.cc:1736 rc_option_editor.cc:1744
-#: rc_option_editor.cc:1753 rc_option_editor.cc:1762 rc_option_editor.cc:1771
-#: rc_option_editor.cc:1779 rc_option_editor.cc:1787
+#: add_route_dialog.cc:218 add_route_dialog.cc:229 add_route_dialog.cc:301
+#: editor_actions.cc:109 engine_dialog.cc:237 missing_file_dialog.cc:56
+#: rc_option_editor.cc:1975 rc_option_editor.cc:1983 rc_option_editor.cc:1991
+#: rc_option_editor.cc:2000 rc_option_editor.cc:2008 rc_option_editor.cc:2016
+#: rc_option_editor.cc:2024 rc_option_editor.cc:2033 rc_option_editor.cc:2042
+#: rc_option_editor.cc:2051 rc_option_editor.cc:2059 rc_option_editor.cc:2067
+#: rc_option_editor.cc:2075 rc_option_editor.cc:2098
msgid "MIDI"
msgstr "MIDI"
-#: add_route_dialog.cc:217 add_route_dialog.cc:230 add_route_dialog.cc:300
+#: add_route_dialog.cc:219 add_route_dialog.cc:232 add_route_dialog.cc:302
msgid "Audio+MIDI"
msgstr "Audio+MIDI"
-#: add_route_dialog.cc:218 add_route_dialog.cc:233 add_route_dialog.cc:301
+#: add_route_dialog.cc:220 add_route_dialog.cc:235 add_route_dialog.cc:303
msgid "Bus"
msgstr "Bus"
-#: add_route_dialog.cc:260
+#: add_route_dialog.cc:262
msgid ""
"Audio+MIDI tracks are intended for use <b>ONLY</b> with plugins that use "
"both audio and MIDI input data\n"
@@ -504,64 +510,64 @@ msgstr ""
"Falls Sie nicht vorhaben, so ein Plugin zu benutzen, verwenden Sie "
"stattdessen eine normale Audio- oder MIDI-Spur"
-#: add_route_dialog.cc:319 add_route_dialog.cc:338 editor_actions.cc:385
-#: editor_rulers.cc:377 time_axis_view.cc:1305
+#: add_route_dialog.cc:321 add_route_dialog.cc:340 editor_actions.cc:420
+#: editor_rulers.cc:251 time_axis_view.cc:1339
msgid "Normal"
msgstr "Normal"
-#: add_route_dialog.cc:322 add_route_dialog.cc:340
+#: add_route_dialog.cc:324 add_route_dialog.cc:342
msgid "Non Layered"
msgstr "Non Layered"
-#: add_route_dialog.cc:323 add_route_dialog.cc:342
+#: add_route_dialog.cc:325 add_route_dialog.cc:344
msgid "Tape"
msgstr "Band"
-#: add_route_dialog.cc:423
+#: add_route_dialog.cc:425 monitor_section.cc:291
msgid "Mono"
msgstr "Mono"
-#: add_route_dialog.cc:427
+#: add_route_dialog.cc:429
msgid "Stereo"
msgstr "Stereo"
-#: add_route_dialog.cc:451
+#: add_route_dialog.cc:453
msgid "3 Channel"
msgstr "3 Kanäle"
-#: add_route_dialog.cc:455
+#: add_route_dialog.cc:457
msgid "4 Channel"
msgstr "4 Kanäle"
-#: add_route_dialog.cc:459
+#: add_route_dialog.cc:461
msgid "5 Channel"
msgstr "5 Kanäle"
-#: add_route_dialog.cc:463
+#: add_route_dialog.cc:465
msgid "6 Channel"
msgstr "6 Kanäle"
-#: add_route_dialog.cc:467
+#: add_route_dialog.cc:469
msgid "8 Channel"
msgstr "8 Kanäle"
-#: add_route_dialog.cc:471
+#: add_route_dialog.cc:473
msgid "12 Channel"
msgstr "12 Kanäle"
-#: add_route_dialog.cc:475 mixer_strip.cc:2131
+#: add_route_dialog.cc:477 mixer_strip.cc:1791 mixer_strip.cc:2199
msgid "Custom"
msgstr "Benutzerdefiniert"
-#: add_route_dialog.cc:508 add_route_dialog.cc:524 route_group_menu.cc:81
+#: add_route_dialog.cc:510 add_route_dialog.cc:526 route_group_menu.cc:81
msgid "New Group..."
msgstr "Neue Gruppe..."
-#: add_route_dialog.cc:512 route_group_menu.cc:85
+#: add_route_dialog.cc:514 route_group_menu.cc:85
msgid "No Group"
msgstr "Keine Gruppe"
-#: add_route_dialog.cc:588
+#: add_route_dialog.cc:590
msgid "-none-"
msgstr "-keine-"
@@ -587,7 +593,7 @@ msgstr ""
"\n"
"Bitte wähle den Pfad der gewünschten Datei aus."
-#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:45
+#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:46
msgid "Done"
msgstr "Fertig"
@@ -627,17 +633,17 @@ msgstr "Normalisieren"
msgid "FFT analysis window"
msgstr "FFT-Analysefenster"
-#: analysis_window.cc:60 editor.cc:1857
+#: analysis_window.cc:60 editor.cc:1776
msgid "Spectral Analysis"
msgstr "FFT-Analyse"
-#: analysis_window.cc:67 editor_actions.cc:138 export_channel_selector.cc:557
+#: analysis_window.cc:67 editor_actions.cc:142 export_channel_selector.cc:557
#: session_metadata_dialog.cc:546
msgid "Track"
msgstr "Spur"
-#: analysis_window.cc:68 editor_actions.cc:616 mixer_ui.cc:125
-#: mixer_ui.cc:1795
+#: analysis_window.cc:68 editor_actions.cc:658 mixer_ui.cc:130
+#: mixer_ui.cc:1830
msgid "Show"
msgstr "Anzeigen"
@@ -645,85 +651,91 @@ msgstr "Anzeigen"
msgid "Re-analyze data"
msgstr "Daten erneut analysieren"
-#: ardour_button.cc:704
+#: ardour_button.cc:810
msgid "button cannot watch state of non-existing Controllable\n"
msgstr ""
"Schaltfläche kann den Status des nichtexistenten Kontrollzieles nicht "
"verfolgen\n"
-#: ardour_ui.cc:180
-msgid "audition"
+#: ardour_button.cc:1024
+msgid "ABCDEFGHIJLKMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
+msgstr ""
+
+#: ardour_ui.cc:194 editor_actions.cc:652 region_editor.cc:50
+msgid "Audition"
msgstr "Vorhören"
-#: ardour_ui.cc:181
-msgid "solo"
+#: ardour_ui.cc:195 editor_actions.cc:136 mixer_strip.cc:1971
+#: rc_option_editor.cc:1850 route_time_axis.cc:252 route_time_axis.cc:2566
+msgid "Solo"
msgstr "Solo"
-#: ardour_ui.cc:182
-msgid "feedback"
+#: ardour_ui.cc:196 rc_option_editor.cc:718
+msgid "Feedback"
msgstr "Feedback"
-#: ardour_ui.cc:187 speaker_dialog.cc:36
+#: ardour_ui.cc:201 speaker_dialog.cc:36
msgid "Speaker Configuration"
msgstr "Lautsprechereinstellung"
-#: ardour_ui.cc:188 theme_manager.cc:56 theme_manager.cc:64
+#: ardour_ui.cc:202 theme_manager.cc:62 theme_manager.cc:77
msgid "Theme Manager"
msgstr "Thema"
-#: ardour_ui.cc:189 keyeditor.cc:53
+#: ardour_ui.cc:203 keyeditor.cc:53
msgid "Key Bindings"
msgstr "Tastenkombinationen"
-#: ardour_ui.cc:190
+#: ardour_ui.cc:204
msgid "Preferences"
msgstr "Globale Einstellungen"
-#: ardour_ui.cc:191 ardour_ui.cc:197
+#: ardour_ui.cc:205 ardour_ui.cc:211
msgid "Add Tracks/Busses"
msgstr "Spuren/Busse hinzufügen"
-#: ardour_ui.cc:192
+#: ardour_ui.cc:206
msgid "About"
msgstr "Ãœber..."
-#: ardour_ui.cc:193 location_ui.cc:1146
+#: ardour_ui.cc:207 location_ui.cc:1148 session_option_editor.cc:189
+#: session_option_editor.cc:195 session_option_editor.cc:202
msgid "Locations"
msgstr "Positionen"
-#: ardour_ui.cc:194 route_params_ui.cc:58 route_params_ui.cc:606
+#: ardour_ui.cc:208 route_params_ui.cc:58 route_params_ui.cc:629
msgid "Tracks and Busses"
msgstr "Spuren/Busse"
-#: ardour_ui.cc:195 engine_dialog.cc:67
+#: ardour_ui.cc:209 engine_dialog.cc:69
msgid "Audio/MIDI Setup"
msgstr "Audio/MIDI Einstellungen"
-#: ardour_ui.cc:196
+#: ardour_ui.cc:210
msgid "Properties"
msgstr "Projekteinstellungen"
-#: ardour_ui.cc:198 bundle_manager.cc:263
+#: ardour_ui.cc:212 bundle_manager.cc:264
msgid "Bundle Manager"
msgstr "Bundle Manager"
-#: ardour_ui.cc:199 big_clock_window.cc:35
+#: ardour_ui.cc:213 big_clock_window.cc:37
msgid "Big Clock"
msgstr "Große Zeitanzeige"
-#: ardour_ui.cc:200
+#: ardour_ui.cc:214
msgid "Audio Connections"
msgstr "Audio-Verbindungen"
-#: ardour_ui.cc:201
+#: ardour_ui.cc:215
msgid "MIDI Connections"
msgstr "MIDI-Verbindungen"
-#: ardour_ui.cc:203
+#: ardour_ui.cc:217
msgid "Errors"
msgstr "Fehlermeldungen"
-#: ardour_ui.cc:436
+#: ardour_ui.cc:461
msgid ""
"The audio backend was shutdown because:\n"
"\n"
@@ -733,35 +745,39 @@ msgstr ""
"\n"
"%1"
-#: ardour_ui.cc:438
+#: ardour_ui.cc:463
msgid ""
"The audio backend has either been shutdown or it\n"
"disconnected %1 because %1\n"
"was not fast enough. Try to restart\n"
"the audio backend and save the session."
msgstr ""
+"Das Audiobackend wurde entweder beendet oder hat\n"
+"%1 getrennt, weil %1 nicht schnell genug\n"
+"war. Sie sollten versuchen, das Audiobackend \n"
+"neu zu starten und das Projekt zu speichern."
-#: ardour_ui.cc:758
+#: ardour_ui.cc:781
msgid "NSM server did not announce itself"
-msgstr ""
+msgstr "Der NSM Server hat sich nicht angemeldet"
-#: ardour_ui.cc:771
+#: ardour_ui.cc:794
msgid "NSM: no client ID provided"
-msgstr ""
+msgstr "NSM: keine Client-ID verfügbar"
-#: ardour_ui.cc:778
+#: ardour_ui.cc:801
msgid "NSM: no session created"
-msgstr ""
+msgstr "NSM: keine Session erzeugt"
-#: ardour_ui.cc:801
+#: ardour_ui.cc:824
msgid "NSM: initialization failed"
-msgstr ""
+msgstr "NSM: Initialisierung gescheitert"
-#: ardour_ui.cc:840 startup.cc:379
+#: ardour_ui.cc:864 startup.cc:380
msgid "%1 is ready for use"
msgstr "%1 ist bereit"
-#: ardour_ui.cc:882
+#: ardour_ui.cc:906
msgid ""
"WARNING: Your system has a limit for maximum amount of locked memory. This "
"might cause %1 to run out of memory before your system runs out of memory. \n"
@@ -776,23 +792,23 @@ msgstr ""
"Sie können die Speicherbegrenzung mit 'ulimit -l' einsehen und normalerweise "
"in %2 verändern."
-#: ardour_ui.cc:899
+#: ardour_ui.cc:923
msgid "Do not show this window again"
msgstr "Diese Meldung nicht erneut anzeigen"
-#: ardour_ui.cc:943
+#: ardour_ui.cc:967
msgid "Don't quit"
msgstr "Abbrechen"
-#: ardour_ui.cc:944
+#: ardour_ui.cc:968
msgid "Just quit"
msgstr "Beenden ohne zu speichern"
-#: ardour_ui.cc:945
+#: ardour_ui.cc:969
msgid "Save and quit"
msgstr "Speichern und beenden"
-#: ardour_ui.cc:955
+#: ardour_ui.cc:979
msgid ""
"%1 was unable to save your session.\n"
"\n"
@@ -806,15 +822,11 @@ msgstr ""
"\n"
"\"Trotzdem beenden\"."
-#: ardour_ui.cc:986
-msgid "Please wait while %1 cleans up..."
-msgstr "Bitte warten Sie, während %1 aufräumt."
-
-#: ardour_ui.cc:1004
+#: ardour_ui.cc:1030
msgid "Unsaved Session"
msgstr "Nicht gespeichertes Projekt"
-#: ardour_ui.cc:1025
+#: ardour_ui.cc:1051
msgid ""
"The session \"%1\"\n"
"has not been saved.\n"
@@ -832,7 +844,7 @@ msgstr ""
"\n"
"Wie wollen Sie vorgehen?"
-#: ardour_ui.cc:1028
+#: ardour_ui.cc:1054
msgid ""
"The snapshot \"%1\"\n"
"has not been saved.\n"
@@ -850,75 +862,75 @@ msgstr ""
"\n"
"Wie wollen Sie vorgehen?"
-#: ardour_ui.cc:1042
+#: ardour_ui.cc:1068
msgid "Prompter"
msgstr "Frage"
-#: ardour_ui.cc:1128 ardour_ui.cc:1136
+#: ardour_ui.cc:1182 ardour_ui.cc:1190
#, c-format
msgid "Audio: <span foreground=\"red\">none</span>"
msgstr "Audio: <span foreground=\"red\">Kein</span>"
-#: ardour_ui.cc:1140
+#: ardour_ui.cc:1194
#, c-format
msgid "Audio: <span foreground=\"green\">%.1f kHz / %4.1f ms</span>"
msgstr "Audio: <span foreground=\"green\">%.1f kHz / %4.1f ms</span>"
-#: ardour_ui.cc:1144
+#: ardour_ui.cc:1198
#, c-format
msgid "Audio: <span foreground=\"green\">%<PRId64> kHz / %4.1f ms</span>"
msgstr "Audio: <span foreground=\"green\">%<PRId64> kHz / %4.1f ms</span>"
-#: ardour_ui.cc:1162 export_video_dialog.cc:67
+#: ardour_ui.cc:1216 export_video_dialog.cc:68
msgid "File:"
msgstr "Datei:"
-#: ardour_ui.cc:1166
+#: ardour_ui.cc:1220
msgid "BWF"
msgstr "BWF"
-#: ardour_ui.cc:1169
+#: ardour_ui.cc:1223
msgid "WAV"
msgstr "WAV"
-#: ardour_ui.cc:1172
+#: ardour_ui.cc:1226
msgid "WAV64"
msgstr "WAV64"
-#: ardour_ui.cc:1175 session_option_editor.cc:197
+#: ardour_ui.cc:1229 session_option_editor.cc:185
msgid "CAF"
msgstr "CAF"
-#: ardour_ui.cc:1178
+#: ardour_ui.cc:1232
msgid "AIFF"
msgstr "AIFF"
-#: ardour_ui.cc:1181
+#: ardour_ui.cc:1235
msgid "iXML"
msgstr "iXML"
-#: ardour_ui.cc:1184
+#: ardour_ui.cc:1238
msgid "RF64"
msgstr "RF64"
-#: ardour_ui.cc:1192
+#: ardour_ui.cc:1246
msgid "32-float"
msgstr "32-float"
-#: ardour_ui.cc:1195
+#: ardour_ui.cc:1249
msgid "24-int"
msgstr "24-int"
-#: ardour_ui.cc:1198
+#: ardour_ui.cc:1252
msgid "16-int"
msgstr "16-int"
-#: ardour_ui.cc:1217
+#: ardour_ui.cc:1271
#, c-format
msgid "DSP: <span foreground=\"%s\">%5.1f%%</span>"
msgstr "DSP: <span foreground=\"%s\">%5.1f%%</span>"
-#: ardour_ui.cc:1236
+#: ardour_ui.cc:1290
#, c-format
msgid ""
"Buffers: <span foreground=\"green\">p:</span><span foreground=\"%s\">"
@@ -929,34 +941,34 @@ msgstr ""
"%%</span> <span foreground=\"green\">c:</span><span foreground=\"%s\">"
"%<PRIu32>%%</span>"
-#: ardour_ui.cc:1277
+#: ardour_ui.cc:1331
msgid "Disk: <span foreground=\"green\">Unknown</span>"
msgstr "Disk: <span foreground=\"green\">Unbekannt</span>"
-#: ardour_ui.cc:1279
+#: ardour_ui.cc:1333
msgid "Disk: <span foreground=\"green\">24hrs+</span>"
msgstr "Disk: <span foreground=\"green\">24h+</span>"
-#: ardour_ui.cc:1297
+#: ardour_ui.cc:1351
msgid "Disk: <span foreground=\"green\">&gt;24 hrs</span>"
msgstr "Disk: <span foreground=\"green\">&gt;24 h</span>"
-#: ardour_ui.cc:1308
+#: ardour_ui.cc:1362
#, c-format
msgid "Disk: <span foreground=\"%s\">%02dh:%02dm:%02ds</span>"
msgstr "Disk: <span foreground=\"%s\">%02dh:%02dm:%02ds</span>"
-#: ardour_ui.cc:1334
+#: ardour_ui.cc:1388
#, c-format
msgid "Timecode|TC: <span foreground=\"%s\">%s</span>"
msgstr "Timecode|TC: <span foreground=\"%s\">%s</span>"
-#: ardour_ui.cc:1451 ardour_ui.cc:1460 session_dialog.cc:322
-#: session_dialog.cc:327
+#: ardour_ui.cc:1509 ardour_ui.cc:1518 session_dialog.cc:326
+#: session_dialog.cc:331
msgid "Recent Sessions"
msgstr "Zuletzt verwendete Projekte"
-#: ardour_ui.cc:1539
+#: ardour_ui.cc:1597
msgid ""
"%1 is not connected to any audio backend.\n"
"You cannot open or close sessions in this condition"
@@ -964,57 +976,52 @@ msgstr ""
"%1 ist derzeit mit keinem Audiobackend verbunden.\n"
"Daher können keine Projekte geöffnet oder geschlossen werden."
-#: ardour_ui.cc:1563
+#: ardour_ui.cc:1621
msgid "Open Session"
msgstr "Projekt öffnen"
-#: ardour_ui.cc:1588 session_dialog.cc:353 session_import_dialog.cc:169
+#: ardour_ui.cc:1646 session_dialog.cc:357 session_import_dialog.cc:169
#: session_metadata_dialog.cc:729
msgid "%1 sessions"
msgstr "%1 Projekte"
-#: ardour_ui.cc:1625
+#: ardour_ui.cc:1683
msgid "You cannot add a track without a session already loaded."
msgstr ""
"Sie können erst Spuren oder Busse hinzufügen, wenn ein Projekt geladen wurde."
-#: ardour_ui.cc:1633
+#: ardour_ui.cc:1691
msgid "could not create %1 new mixed track"
msgid_plural "could not create %1 new mixed tracks"
msgstr[0] "konnte %1 neue Audio+MIDI-Spur nicht erstellen"
msgstr[1] "konnte %1 neue Audio+MIDI-Spuren nicht erstellen"
-#: ardour_ui.cc:1639 ardour_ui.cc:1700
+#: ardour_ui.cc:1697 ardour_ui.cc:1758
msgid ""
-"There are insufficient JACK ports available\n"
+"There are insufficient ports available\n"
"to create a new track or bus.\n"
"You should save %1, exit and\n"
-"restart JACK with more ports."
+"restart with more ports."
msgstr ""
-"Es sind nicht genügend JACK Ports verfügbar,\n"
-"um neue Spuren oder Busse zu erstellen.\n"
-"Speichern Sie Ihr Projekt, beenden Sie\n"
-"%1 und starten Sie JACK mit einer größeren\n"
-"Anzahl Ports neu."
-#: ardour_ui.cc:1674
+#: ardour_ui.cc:1732
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."
-#: ardour_ui.cc:1683
+#: ardour_ui.cc:1741
msgid "could not create %1 new audio track"
msgid_plural "could not create %1 new audio tracks"
msgstr[0] "konnte %1 neue Audiospur nicht erstellen."
msgstr[1] "konnte %1 neue Audiospuren nicht erstellen."
-#: ardour_ui.cc:1692
+#: ardour_ui.cc:1750
msgid "could not create %1 new audio bus"
msgid_plural "could not create %1 new audio busses"
msgstr[0] "konnte %1 neuen Audiobus nicht erstellen"
msgstr[1] "konnte %1 neue Audiobusse nicht erstellen"
-#: ardour_ui.cc:1816
+#: ardour_ui.cc:1903
msgid ""
"Please create one or more tracks before trying to record.\n"
"You can do this with the \"Add Track or Bus\" option in the Session menu."
@@ -1023,15 +1030,23 @@ msgstr ""
"eine oder mehrere Spur hinzu. Die geht über \"Spur/Bus hinzufügen\"\n"
"im Menüpunkt Projekt."
-#: ardour_ui.cc:2193
+#: ardour_ui.cc:2312
+msgid "Save as..."
+msgstr "Speichern unter..."
+
+#: ardour_ui.cc:2313 ardour_ui.cc:2392
+msgid "New session name"
+msgstr "Neuer Projektname"
+
+#: ardour_ui.cc:2315
msgid "Take Snapshot"
msgstr "Schnappschuss machen"
-#: ardour_ui.cc:2194
+#: ardour_ui.cc:2316
msgid "Name of new snapshot"
msgstr "Name für neuen Schnappschuss"
-#: ardour_ui.cc:2218
+#: ardour_ui.cc:2341
msgid ""
"To ensure compatibility with various systems\n"
"snapshot names may not contain a '%1' character"
@@ -1039,29 +1054,25 @@ msgstr ""
"Um die Kompatibilität mit verschiedenen Systemen sicher zu stellen,\n"
"dürfen Namen von Schnappschüssen kein '%1'-Zeichen enthalten"
-#: ardour_ui.cc:2230
+#: ardour_ui.cc:2353
msgid "Confirm Snapshot Overwrite"
msgstr "Bestätige das Überschreiben des Schnappschusses"
-#: ardour_ui.cc:2231
+#: ardour_ui.cc:2354
msgid "A snapshot already exists with that name. Do you want to overwrite it?"
msgstr ""
"Ein Schnappschuss mit diesem Namen existiert bereits. Wollen Sie ihn "
"überschreiben?"
-#: ardour_ui.cc:2234 utils_videotl.cc:67
+#: ardour_ui.cc:2357 utils_videotl.cc:67
msgid "Overwrite"
msgstr "Ãœberschreiben"
-#: ardour_ui.cc:2268
+#: ardour_ui.cc:2391
msgid "Rename Session"
msgstr "Projekt umbenennen"
-#: ardour_ui.cc:2269
-msgid "New session name"
-msgstr "Neuer Projektname"
-
-#: ardour_ui.cc:2283 ardour_ui.cc:2684 ardour_ui.cc:2722
+#: ardour_ui.cc:2406 ardour_ui.cc:2814 ardour_ui.cc:2852
msgid ""
"To ensure compatibility with various systems\n"
"session names may not contain a '%1' character"
@@ -1069,14 +1080,14 @@ msgstr ""
"Um die Kompatibilität mit verschiedenen Systemen sicher zu stellen,\n"
"dürfen Projektnamen kein '%1'-Zeichen enthalten"
-#: ardour_ui.cc:2291
+#: ardour_ui.cc:2414
msgid ""
"That name is already in use by another directory/folder. Please try again."
msgstr ""
"Dieser Name wird schon von einem anderen Verzeichnis/Ordner benutzt. Bitte "
"versuchen Sie einen anderen Namen."
-#: ardour_ui.cc:2300
+#: ardour_ui.cc:2423
msgid ""
"Renaming this session failed.\n"
"Things could be seriously messed up at this point"
@@ -1084,19 +1095,19 @@ msgstr ""
"Das Umbenennen des Projekts ist fehlgeschlagen.\n"
"Dies könnte auf schwerwiegende Probleme hinweisen."
-#: ardour_ui.cc:2411
+#: ardour_ui.cc:2534
msgid "Save Template"
msgstr "Als Vorlage Speichern"
-#: ardour_ui.cc:2412
+#: ardour_ui.cc:2535
msgid "Name for template:"
msgstr "Name für Vorlage"
-#: ardour_ui.cc:2413
+#: ardour_ui.cc:2536
msgid "-template"
msgstr "-Vorlage"
-#: ardour_ui.cc:2451
+#: ardour_ui.cc:2574
msgid ""
"This session\n"
"%1\n"
@@ -1106,59 +1117,62 @@ msgstr ""
"%1\n"
"existiert bereits. Wollen Sie sie öffnen?"
-#: ardour_ui.cc:2461
+#: ardour_ui.cc:2584
msgid "Open Existing Session"
msgstr "Vorhandenes Projekt öffnen"
-#: ardour_ui.cc:2712
+#: ardour_ui.cc:2842
msgid "There is no existing session at \"%1\""
msgstr "Es gibt kein Projekt in: \"%1\""
-#: ardour_ui.cc:2804
+#: ardour_ui.cc:2934
msgid "Please wait while %1 loads your session"
msgstr "Bitte warten Sie, während %1 das Projekt lädt"
-#: ardour_ui.cc:2819
+#: ardour_ui.cc:2949
msgid "Port Registration Error"
msgstr "Fehler bei der Registrierung von Ports"
-#: ardour_ui.cc:2820
+#: ardour_ui.cc:2950
msgid "Click the Close button to try again."
msgstr "Klicken Sie auf Schließen, um es erneut zu versuchen."
-#: ardour_ui.cc:2841
+#: ardour_ui.cc:2971
msgid "Session \"%1 (snapshot %2)\" did not load successfully"
msgstr "Projekt \"%1 (Schnappschuss %2)\" konnte nicht geladen werden."
-#: ardour_ui.cc:2848
+#: ardour_ui.cc:2978
msgid "Loading Error"
msgstr "Fehler beim Laden"
-#: ardour_ui.cc:2867
+#: ardour_ui.cc:2997
msgid ""
"This session has been opened in read-only mode.\n"
"\n"
"You will not be able to record or save."
msgstr ""
+"Dieses Projekt wurde im Nur-Lesen Modus geöffnet.\n"
+"\n"
+"Aufnehmen oder Speichern wird nicht möglich sein."
-#: ardour_ui.cc:2873
+#: ardour_ui.cc:3003
msgid "Read-only Session"
-msgstr ""
+msgstr "Schreibgeschütztes Projekt"
-#: ardour_ui.cc:2931
+#: ardour_ui.cc:3069
msgid "Could not create session in \"%1\""
msgstr "Konnte kein Projekt in \"%1\" anlegen"
-#: ardour_ui.cc:3031
+#: ardour_ui.cc:3169
msgid "No files were ready for clean-up"
msgstr "Keine Audiodateien zum Aufräumen vorhanden"
-#: ardour_ui.cc:3035 ardour_ui.cc:3045 ardour_ui.cc:3178 ardour_ui.cc:3185
-#: ardour_ui_ed.cc:104
+#: ardour_ui.cc:3173 ardour_ui.cc:3183 ardour_ui.cc:3316 ardour_ui.cc:3323
+#: ardour_ui_ed.cc:103
msgid "Clean-up"
msgstr "Aufräumen"
-#: ardour_ui.cc:3036
+#: ardour_ui.cc:3174
msgid ""
"If this seems suprising, \n"
"check for any existing snapshots.\n"
@@ -1170,19 +1184,19 @@ msgstr ""
"sind sie wahrscheinlich noch in einem\n"
"älteren Schnappschuss als Region eingebunden."
-#: ardour_ui.cc:3095
+#: ardour_ui.cc:3233
msgid "kilo"
msgstr "kilo"
-#: ardour_ui.cc:3098
+#: ardour_ui.cc:3236
msgid "mega"
msgstr "mega"
-#: ardour_ui.cc:3101
+#: ardour_ui.cc:3239
msgid "giga"
msgstr "giga"
-#: ardour_ui.cc:3106
+#: ardour_ui.cc:3244
msgid ""
"The following file was deleted from %2,\n"
"releasing %3 %4bytes of disk space"
@@ -1196,7 +1210,7 @@ msgstr[1] ""
"Die folgenden %1 Dateien wurden von %2\n"
"gelöscht und gaben %3 %4bytes Speicherplatz frei"
-#: ardour_ui.cc:3113
+#: ardour_ui.cc:3251
msgid ""
"The following file was not in use and \n"
"has been moved to: %2\n"
@@ -1234,11 +1248,11 @@ msgstr[1] ""
"\n"
"%3 %4bytes Speicherplatz freigegeben werden.\n"
-#: ardour_ui.cc:3173
+#: ardour_ui.cc:3311
msgid "Are you sure you want to clean-up?"
msgstr "Wollen Sie wirklich aufräumen?"
-#: ardour_ui.cc:3180
+#: ardour_ui.cc:3318
msgid ""
"Clean-up is a destructive operation.\n"
"ALL undo/redo information will be lost if you clean-up.\n"
@@ -1250,42 +1264,41 @@ msgstr ""
"Nach dem Aufräumen werden alle nicht benötigten Audiodateien in den \"dead "
"sounds\" Ordner verschoben."
-#: ardour_ui.cc:3188
+#: ardour_ui.cc:3326
msgid "CleanupDialog"
msgstr "Aufräumdialog"
-#: ardour_ui.cc:3218
+#: ardour_ui.cc:3356
msgid "Cleaned Files"
msgstr "Aufgeräumte Dateien"
-#: ardour_ui.cc:3235
+#: ardour_ui.cc:3373
msgid "deleted file"
msgstr "gelöschte Datei"
-#: ardour_ui.cc:3381
-msgid ""
-"Video-Server was not launched by Ardour. The request to stop it is ignored."
+#: ardour_ui.cc:3512
+msgid "Video-Server was not launched by %1. The request to stop it is ignored."
msgstr ""
-"Der Video-Server wurde nicht von Ardour gestartet, der Befehl ihn anzuhalten "
-"wird ignoriert."
+"Der Video-Server wurde nicht von %1 gestartet. Die Aufforderung ihn zu "
+"beenden wird ignoriert."
-#: ardour_ui.cc:3385
+#: ardour_ui.cc:3516
msgid "Stop Video-Server"
msgstr "Video-Server anhalten"
-#: ardour_ui.cc:3386
+#: ardour_ui.cc:3517
msgid "Do you really want to stop the Video Server?"
msgstr "Wollen Sie den Video-Server wirklich anhalten?"
-#: ardour_ui.cc:3389
+#: ardour_ui.cc:3520
msgid "Yes, Stop It"
msgstr "Ja, anhalten."
-#: ardour_ui.cc:3415
+#: ardour_ui.cc:3546
msgid "The Video Server is already started."
msgstr "Der Video-Server läuft bereits"
-#: ardour_ui.cc:3417
+#: ardour_ui.cc:3548
msgid ""
"An external Video Server is configured and can be reached. Not starting a "
"new instance."
@@ -1293,7 +1306,7 @@ msgstr ""
"Ein externer Video-Server wurde konfiguriert, ist aber nicht erreichbar. Es "
"wird keine neue Instanz gestartet."
-#: ardour_ui.cc:3425 ardour_ui.cc:3515
+#: ardour_ui.cc:3556 ardour_ui.cc:3655
msgid ""
"Could not connect to the Video Server. Start it or configure its access URL "
"in Edit -> Preferences."
@@ -1302,36 +1315,36 @@ msgstr ""
"ihn vorher starten oder die Adresse in Bearbeiten -> Globale Einstellungen "
"anpassen"
-#: ardour_ui.cc:3449
+#: ardour_ui.cc:3580
msgid "Specified docroot is not an existing directory."
msgstr "Das eingestellte Dokumentenverzeichnis existiert nicht."
-#: ardour_ui.cc:3454
+#: ardour_ui.cc:3586 ardour_ui.cc:3592
msgid "Given Video Server is not an executable file."
msgstr "Der eingestellte Video-Server ist keine ausführbare Datei."
-#: ardour_ui.cc:3487
+#: ardour_ui.cc:3626
msgid "Cannot launch the video-server"
msgstr "Kann den Videoserver nicht starten "
-#: ardour_ui.cc:3496
+#: ardour_ui.cc:3636
msgid "Video-server was started but does not respond to requests..."
msgstr "Viideoserver wurde gestartet, reagiert aber nicht auf Anfragen..."
-#: ardour_ui.cc:3541 editor_audio_import.cc:632
+#: ardour_ui.cc:3681 editor_audio_import.cc:628
msgid "could not open %1"
msgstr "Konnte \"%s\" nicht öffnen."
-#: ardour_ui.cc:3545
+#: ardour_ui.cc:3685
msgid "no video-file selected"
msgstr "Es wurde keine Video-Datei ausgewählt."
-#: ardour_ui.cc:3717
+#: ardour_ui.cc:3858
msgid "Recording was stopped because your system could not keep up."
msgstr ""
"Die Aufnahme wurde gestoppt, da Ihr System nicht schnell genug folgen konnte."
-#: ardour_ui.cc:3746
+#: ardour_ui.cc:3887
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1345,7 +1358,23 @@ msgstr ""
"Die Daten konnten nicht schnell genug geschrieben\n"
"werden, um die Aufnahme fortzuführen.\n"
-#: ardour_ui.cc:3765
+#: ardour_ui.cc:3957
+msgid "Scanning for plugins"
+msgstr ""
+
+#: ardour_ui.cc:3959
+msgid "Cancel plugin scan"
+msgstr ""
+
+#: ardour_ui.cc:3968
+msgid "Stop Timeout"
+msgstr ""
+
+#: ardour_ui.cc:3975
+msgid "Scan Timeout"
+msgstr ""
+
+#: ardour_ui.cc:4016
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1359,11 +1388,11 @@ msgstr ""
"Die Daten konnten nicht schnell genug gelesen\n"
"werden, um die Wiedergabe aufrechtzuerhalten.\n"
-#: ardour_ui.cc:3805
+#: ardour_ui.cc:4056
msgid "Crash Recovery"
msgstr "Absturz-Wiederherstellung"
-#: ardour_ui.cc:3806
+#: ardour_ui.cc:4057
msgid ""
"This session appears to have been in the\n"
"middle of recording when %1 or\n"
@@ -1381,19 +1410,19 @@ msgstr ""
"für Sie wiederherstellen oder sie verwerfen.\n"
"Bitte entscheiden Sie, wie Sie vorgehen möchten.\n"
-#: ardour_ui.cc:3818
+#: ardour_ui.cc:4069
msgid "Ignore crash data"
msgstr "Daten verwerfen"
-#: ardour_ui.cc:3819
+#: ardour_ui.cc:4070
msgid "Recover from crash"
msgstr "Daten wiederherstellen"
-#: ardour_ui.cc:3839
+#: ardour_ui.cc:4090
msgid "Sample Rate Mismatch"
msgstr "Samplerate passt nicht"
-#: ardour_ui.cc:3840
+#: ardour_ui.cc:4091
msgid ""
"This session was created with a sample rate of %1 Hz, but\n"
"%2 is currently running at %3 Hz. If you load this session,\n"
@@ -1404,23 +1433,23 @@ msgstr ""
"%2 läuft derzeit mit %3 Hz. Wenn Sie dieses Projekt laden, \n"
"wird Ihr Audiomaterial mit der falschen Samplerate abgespielt.\n"
-#: ardour_ui.cc:3849
+#: ardour_ui.cc:4100
msgid "Do not load session"
msgstr "Projekt nicht laden"
-#: ardour_ui.cc:3850
+#: ardour_ui.cc:4101
msgid "Load session anyway"
msgstr "Projekt trotzdem laden"
-#: ardour_ui.cc:3877
+#: ardour_ui.cc:4128
msgid "Could not disconnect from Audio/MIDI engine"
msgstr "Konnte Verbindung mit der Audio/MIDI Engine nicht trennen"
-#: ardour_ui.cc:3893 ardour_ui.cc:3896
+#: ardour_ui.cc:4144 ardour_ui.cc:4147
msgid "Could not reconnect to the Audio/MIDI engine"
msgstr "Konnte nicht zur Audio/MIDI Engine wiederverbinden"
-#: ardour_ui.cc:4172
+#: ardour_ui.cc:4431
msgid ""
"%4This is a session from an older version of %3%5\n"
"\n"
@@ -1447,47 +1476,47 @@ msgstr ""
"\n"
"Benutzen Sie von nun an die -2000 Version mit älteren Versionen von %3"
-#: ardour_ui2.cc:72
+#: ardour_ui2.cc:73
msgid "UI: cannot setup editor"
msgstr "Der Editor konnte nicht initialisiert werden."
-#: ardour_ui2.cc:77
+#: ardour_ui2.cc:78
msgid "UI: cannot setup mixer"
msgstr "Der Mixer konnte nicht initialisiert werden."
-#: ardour_ui2.cc:82
+#: ardour_ui2.cc:83
msgid "UI: cannot setup meterbridge"
msgstr "UI: konnte Meterbridge nicht einrichten."
-#: ardour_ui2.cc:130
+#: ardour_ui2.cc:131
msgid "Play from playhead"
msgstr "Wiedergabe ab Positionszeiger"
-#: ardour_ui2.cc:131
+#: ardour_ui2.cc:132
msgid "Stop playback"
msgstr "Wiedergabe anhalten"
-#: ardour_ui2.cc:132
+#: ardour_ui2.cc:133
msgid "Toggle record"
msgstr "Aufnahme aktivieren"
-#: ardour_ui2.cc:133
+#: ardour_ui2.cc:134
msgid "Play range/selection"
msgstr "Bereich/Auswahl wiedergeben"
-#: ardour_ui2.cc:134
+#: ardour_ui2.cc:135
msgid "Go to start of session"
msgstr "Zum Anfang des Projekts springen"
-#: ardour_ui2.cc:135
+#: ardour_ui2.cc:136
msgid "Go to end of session"
msgstr "Zum Ende des Projekts springen"
-#: ardour_ui2.cc:136
+#: ardour_ui2.cc:137
msgid "Play loop range"
msgstr "Schleife wiedergeben"
-#: ardour_ui2.cc:137
+#: ardour_ui2.cc:138
msgid ""
"MIDI Panic\n"
"Send note off and reset controller messages on all MIDI channels"
@@ -1496,23 +1525,23 @@ msgstr ""
"Schalte auf allen Midikanälen die Notensignale aus und setzte alle MIDI-"
"Controller zurück"
-#: ardour_ui2.cc:138
+#: ardour_ui2.cc:139
msgid "Return to last playback start when stopped"
msgstr "Bei Stopp zum letzten Wiedergabepunkt springen"
-#: ardour_ui2.cc:139
+#: ardour_ui2.cc:140
msgid "Playhead follows Range Selections and Edits"
msgstr "Positionszeiger folgt Auswahl und Editierungen"
-#: ardour_ui2.cc:140
+#: ardour_ui2.cc:141
msgid "Be sensible about input monitoring"
msgstr "Automatisches Input Monitoring aktivieren"
-#: ardour_ui2.cc:141
+#: ardour_ui2.cc:142
msgid "Enable/Disable audio click"
msgstr "Aktiviert/Deaktiviert Klick"
-#: ardour_ui2.cc:142 monitor_section.cc:101
+#: ardour_ui2.cc:143 monitor_section.cc:112
msgid ""
"When active, something is soloed.\n"
"Click to de-solo everything"
@@ -1520,7 +1549,7 @@ msgstr ""
"Wenn aktiv, ist etwas auf Solo geschalten.\n"
"Klick schaltet Solo überall aus."
-#: ardour_ui2.cc:143
+#: ardour_ui2.cc:144
msgid ""
"When active, auditioning is taking place\n"
"Click to stop the audition"
@@ -1528,11 +1557,11 @@ msgstr ""
"Wird beim Vorhören aktiv.\n"
"Klicken stoppt das Vorhören."
-#: ardour_ui2.cc:144
+#: ardour_ui2.cc:145
msgid "When active, there is a feedback loop."
msgstr "Wenn aktiv, gibt es eine Rückkopplungsschleife."
-#: ardour_ui2.cc:145
+#: ardour_ui2.cc:146
msgid ""
"<b>Primary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1545,10 +1574,8 @@ msgstr ""
"Text editieren: überschreibt von rechts nach links <tt>Esc</tt>: Abbruch; "
"<tt>Eingabe</tt>: Bestätige; hänge '+' or '-' an, um Deltazeiten "
"einzugeben.\n"
-"Siehe <span color=\"blue\">http://ardour.org/a3_features_clocks</span> für "
-"Einzelheiten."
-#: ardour_ui2.cc:146
+#: ardour_ui2.cc:147
msgid ""
"<b>Secondary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1561,365 +1588,420 @@ msgstr ""
"Text editieren: überschreibt von rechts nach links <tt>Esc</tt>: Abbruch; "
"<tt>Eingabe</tt>: Bestätige; hänge '+' or '-' an, um Deltazeiten "
"einzugeben.\n"
-"Siehe <span color=\"blue\">http://ardour.org/a3_features_clocks</span> für "
-"Einzelheiten."
-#: ardour_ui2.cc:147
-msgid "Reset Level Meter"
-msgstr "Lautstärkepegelanzeige zurücksetzen"
+#: ardour_ui2.cc:148
+msgid "Reset All Peak Indicators"
+msgstr ""
-#: ardour_ui2.cc:179
+#: ardour_ui2.cc:180
msgid "[ERROR]: "
msgstr "[FEHLER]:"
-#: ardour_ui2.cc:181
+#: ardour_ui2.cc:182
msgid "[WARNING]: "
msgstr "[WARNUNG]:"
-#: ardour_ui2.cc:183
+#: ardour_ui2.cc:184
msgid "[INFO]: "
msgstr "[INFO]: "
-#: ardour_ui2.cc:247 ardour_ui_ed.cc:344
+#: ardour_ui2.cc:248 ardour_ui_ed.cc:391
msgid "Auto Return"
msgstr "Auto Return"
-#: ardour_ui2.cc:249 ardour_ui_ed.cc:347
+#: ardour_ui2.cc:250 ardour_ui_ed.cc:394
msgid "Follow Edits"
msgstr "Folge Bearbeitungen"
-#: ardour_ui2.cc:628 rc_option_editor.cc:1002 rc_option_editor.cc:1020
-#: rc_option_editor.cc:1023 rc_option_editor.cc:1025 rc_option_editor.cc:1027
-#: rc_option_editor.cc:1035 rc_option_editor.cc:1043 rc_option_editor.cc:1045
-#: rc_option_editor.cc:1053 rc_option_editor.cc:1060 rc_option_editor.cc:1069
-#: rc_option_editor.cc:1071 rc_option_editor.cc:1073 rc_option_editor.cc:1081
-#: rc_option_editor.cc:1083 rc_option_editor.cc:1092
-#: session_option_editor.cc:234 session_option_editor.cc:236
-#: session_option_editor.cc:257 session_option_editor.cc:259
-#: session_option_editor.cc:261 session_option_editor.cc:268
+#: ardour_ui2.cc:651 rc_option_editor.cc:2172
+msgid "GUI"
+msgstr "GUI"
+
+#: ardour_ui2.cc:668 rc_option_editor.cc:1242 rc_option_editor.cc:1260
+#: rc_option_editor.cc:1263 rc_option_editor.cc:1265 rc_option_editor.cc:1267
+#: rc_option_editor.cc:1275 rc_option_editor.cc:1283 rc_option_editor.cc:1285
+#: rc_option_editor.cc:1293 rc_option_editor.cc:1300 rc_option_editor.cc:1309
+#: rc_option_editor.cc:1311 rc_option_editor.cc:1313 rc_option_editor.cc:1321
+#: rc_option_editor.cc:1323 rc_option_editor.cc:1332
+#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:344 session_option_editor.cc:346
+#: session_option_editor.cc:348 session_option_editor.cc:355
+#: session_option_editor.cc:362 session_option_editor.cc:366
msgid "Misc"
msgstr "Sonstiges"
-#: ardour_ui_dependents.cc:69
+#: ardour_ui_dependents.cc:75
msgid "Setup Editor"
msgstr "Editor laden"
-#: ardour_ui_dependents.cc:71
+#: ardour_ui_dependents.cc:77
msgid "Setup Mixer"
msgstr "Mixer laden"
-#: ardour_ui_dependents.cc:77
+#: ardour_ui_dependents.cc:83
msgid "Reload Session History"
msgstr "Projekt-Aktionsverlauf laden"
-#: ardour_ui_dialogs.cc:238
+#: ardour_ui_dialogs.cc:251
msgid "Don't close"
msgstr "Abbrechen"
-#: ardour_ui_dialogs.cc:239
+#: ardour_ui_dialogs.cc:252
msgid "Just close"
msgstr "Ohne speichern schließen"
-#: ardour_ui_dialogs.cc:240
+#: ardour_ui_dialogs.cc:253
msgid "Save and close"
msgstr "Speichern und schließen"
-#: ardour_ui_dialogs.cc:339
+#: ardour_ui_dialogs.cc:353
msgid "This screen is not tall enough to display the mixer window"
msgstr ""
"Dieser Bildschirm ist nicht hoch genug, um das Mixerfenster darzustellen"
-#: ardour_ui_ed.cc:103
+#: ardour_ui_ed.cc:102
msgid "Session"
msgstr "Projekt"
-#: ardour_ui_ed.cc:106 editor_actions.cc:134 editor_regions.cc:115
+#: ardour_ui_ed.cc:105 editor_actions.cc:138 editor_regions.cc:116
#: port_group.cc:458 session_option_editor.cc:82 session_option_editor.cc:89
msgid "Sync"
msgstr "Sync"
-#: ardour_ui_ed.cc:107
+#: ardour_ui_ed.cc:106
msgid "Options"
msgstr "Optionen"
-#: ardour_ui_ed.cc:108
+#: ardour_ui_ed.cc:107
msgid "Window"
msgstr "Fenster"
-#: ardour_ui_ed.cc:109
+#: ardour_ui_ed.cc:108
msgid "Help"
msgstr "Hilfe"
-#: ardour_ui_ed.cc:110
+#: ardour_ui_ed.cc:109
msgid "Misc. Shortcuts"
msgstr "Verschiedenes"
-#: ardour_ui_ed.cc:111
+#: ardour_ui_ed.cc:110
msgid "Audio File Format"
msgstr "Audio-Dateiformat"
-#: ardour_ui_ed.cc:112
+#: ardour_ui_ed.cc:111
msgid "File Type"
msgstr "Dateiformat"
-#: ardour_ui_ed.cc:113 export_format_dialog.cc:65
+#: ardour_ui_ed.cc:112 export_format_dialog.cc:67
msgid "Sample Format"
msgstr "Sampleformat"
-#: ardour_ui_ed.cc:114 rc_option_editor.cc:1814 rc_option_editor.cc:1826
+#: ardour_ui_ed.cc:113 rc_option_editor.cc:2119 rc_option_editor.cc:2131
msgid "Control Surfaces"
msgstr "Eingabegeräte / Controller"
-#: ardour_ui_ed.cc:115 rc_option_editor.cc:1546
+#: ardour_ui_ed.cc:114 rc_option_editor.cc:1812 rc_option_editor.cc:2138
msgid "Plugins"
msgstr "Plugins"
-#: ardour_ui_ed.cc:116 rc_option_editor.cc:1889
+#: ardour_ui_ed.cc:115 rc_option_editor.cc:2223
msgid "Metering"
msgstr "Pegelanzeige"
-#: ardour_ui_ed.cc:117
+#: ardour_ui_ed.cc:116
msgid "Fall Off Rate"
msgstr "Abfall der Pegelanzeige"
-#: ardour_ui_ed.cc:118
+#: ardour_ui_ed.cc:117
msgid "Hold Time"
msgstr "Pegelanzeige halten"
-#: ardour_ui_ed.cc:119
+#: ardour_ui_ed.cc:118
msgid "Denormal Handling"
msgstr "Umgang mit Denormals"
-#: ardour_ui_ed.cc:123 route_time_axis.cc:1489
+#: ardour_ui_ed.cc:122 route_time_axis.cc:1636
msgid "New..."
msgstr "Neu..."
-#: ardour_ui_ed.cc:125
+#: ardour_ui_ed.cc:124
msgid "Open..."
msgstr "Öffnen..."
-#: ardour_ui_ed.cc:126
+#: ardour_ui_ed.cc:125
msgid "Recent..."
msgstr "Zuletzt verwendet..."
-#: ardour_ui_ed.cc:127 panner_editor.cc:29 playlist_selector.cc:64
+#: ardour_ui_ed.cc:126 panner_editor.cc:29 playlist_selector.cc:64
msgid "Close"
msgstr "Schließen"
-#: ardour_ui_ed.cc:130
+#: ardour_ui_ed.cc:129
msgid "Add Track or Bus..."
msgstr "Spur/Bus hinzufügen..."
-#: ardour_ui_ed.cc:135
+#: ardour_ui_ed.cc:134
msgid "Open Video"
msgstr "Video öffnen"
-#: ardour_ui_ed.cc:138
+#: ardour_ui_ed.cc:137
msgid "Remove Video"
msgstr "Video entfernen"
-#: ardour_ui_ed.cc:141
+#: ardour_ui_ed.cc:140
msgid "Export To Video File"
msgstr "Exportiere Video-Datei"
-#: ardour_ui_ed.cc:145
+#: ardour_ui_ed.cc:144
msgid "Snapshot..."
msgstr "Schnappschuss..."
-#: ardour_ui_ed.cc:149
+#: ardour_ui_ed.cc:148
msgid "Save As..."
msgstr "Speichern unter..."
-#: ardour_ui_ed.cc:153 editor_actions.cc:1719 editor_markers.cc:858
-#: editor_snapshots.cc:123 mixer_strip.cc:1471 route_time_axis.cc:1485
+#: ardour_ui_ed.cc:152 editor_actions.cc:1767 editor_markers.cc:872
+#: editor_snapshots.cc:124 mixer_strip.cc:1481 route_time_axis.cc:1632
msgid "Rename..."
msgstr "Umbenennen..."
-#: ardour_ui_ed.cc:157
+#: ardour_ui_ed.cc:156
msgid "Save Template..."
msgstr "Als Vorlage Speichern..."
-#: ardour_ui_ed.cc:160
+#: ardour_ui_ed.cc:159
msgid "Metadata"
msgstr "Metadaten"
-#: ardour_ui_ed.cc:163
+#: ardour_ui_ed.cc:162
msgid "Edit Metadata..."
msgstr "Metadaten bearbeiten..."
-#: ardour_ui_ed.cc:166
+#: ardour_ui_ed.cc:165
msgid "Import Metadata..."
msgstr "Metadaten importieren..."
-#: ardour_ui_ed.cc:169
+#: ardour_ui_ed.cc:168
msgid "Export To Audio File(s)..."
msgstr "Exportiere Audio-Datei(en)..."
-#: ardour_ui_ed.cc:172
+#: ardour_ui_ed.cc:171
msgid "Stem export..."
msgstr "Stems exportieren..."
-#: ardour_ui_ed.cc:175 editor_export_audio.cc:63 export_dialog.cc:129
-#: export_video_dialog.cc:71
+#: ardour_ui_ed.cc:174 editor_export_audio.cc:65 export_dialog.cc:129
+#: export_video_dialog.cc:72
msgid "Export"
msgstr "Exportieren"
-#: ardour_ui_ed.cc:178
+#: ardour_ui_ed.cc:177
msgid "Clean-up Unused Sources..."
msgstr "Nicht benutzte Dateien entfernen..."
-#: ardour_ui_ed.cc:182
+#: ardour_ui_ed.cc:181
msgid "Flush Wastebasket"
msgstr "Müll leeren"
-#: ardour_ui_ed.cc:189
+#: ardour_ui_ed.cc:188
msgid "Quit"
msgstr "Beenden"
-#: ardour_ui_ed.cc:193
+#: ardour_ui_ed.cc:192
msgid "Maximise Editor Space"
msgstr "Editor maximieren"
+#: ardour_ui_ed.cc:193
+msgid "Maximise Mixer Space"
+msgstr ""
+
#: ardour_ui_ed.cc:194
msgid "Show Toolbars"
msgstr "Zeige Werkzeugleisten"
-#: ardour_ui_ed.cc:197 mixer_ui.cc:1865 mixer_ui.cc:1871
+#: ardour_ui_ed.cc:197
+msgid "Show more UI preferences"
+msgstr ""
+
+#: ardour_ui_ed.cc:199 mixer_ui.cc:1900 mixer_ui.cc:1906
msgid "Window|Mixer"
msgstr "Mixer"
-#: ardour_ui_ed.cc:198
+#: ardour_ui_ed.cc:200
msgid "Toggle Editor+Mixer"
msgstr "Editor+Mixer umschalten"
-#: ardour_ui_ed.cc:199 meterbridge.cc:230 meterbridge.cc:236
+#: ardour_ui_ed.cc:201 meterbridge.cc:214 meterbridge.cc:220
msgid "Window|Meterbridge"
msgstr "Meterbridge"
-#: ardour_ui_ed.cc:201 midi_tracer.cc:42
+#: ardour_ui_ed.cc:203 midi_tracer.cc:45
msgid "MIDI Tracer"
msgstr "Midisignale verfolgen"
-#: ardour_ui_ed.cc:203
+#: ardour_ui_ed.cc:205
msgid "Chat"
msgstr "Chat"
-#: ardour_ui_ed.cc:205
+#: ardour_ui_ed.cc:207
msgid "Help|Manual"
msgstr "Handbuch"
-#: ardour_ui_ed.cc:206
+#: ardour_ui_ed.cc:208
msgid "Reference"
msgstr "Referenz"
-#: ardour_ui_ed.cc:208 plugin_ui.cc:415
+#: ardour_ui_ed.cc:210 plugin_ui.cc:416
msgid "Save"
msgstr "Speichern"
-#: ardour_ui_ed.cc:216 rc_option_editor.cc:1112 rc_option_editor.cc:1123
-#: rc_option_editor.cc:1132 rc_option_editor.cc:1145 rc_option_editor.cc:1158
-#: rc_option_editor.cc:1167 rc_option_editor.cc:1177 rc_option_editor.cc:1179
-#: rc_option_editor.cc:1189 rc_option_editor.cc:1205 rc_option_editor.cc:1218
-#: rc_option_editor.cc:1236 rc_option_editor.cc:1238 rc_option_editor.cc:1252
-#: rc_option_editor.cc:1255 rc_option_editor.cc:1257 rc_option_editor.cc:1274
-#: rc_option_editor.cc:1285
+#: ardour_ui_ed.cc:218 rc_option_editor.cc:1352 rc_option_editor.cc:1363
+#: rc_option_editor.cc:1374 rc_option_editor.cc:1383 rc_option_editor.cc:1396
+#: rc_option_editor.cc:1409 rc_option_editor.cc:1418 rc_option_editor.cc:1428
+#: rc_option_editor.cc:1430 rc_option_editor.cc:1440 rc_option_editor.cc:1456
+#: rc_option_editor.cc:1469 rc_option_editor.cc:1487 rc_option_editor.cc:1489
+#: rc_option_editor.cc:1503 rc_option_editor.cc:1506 rc_option_editor.cc:1508
+#: rc_option_editor.cc:1525 rc_option_editor.cc:1536
msgid "Transport"
msgstr "Transport"
-#: ardour_ui_ed.cc:222
+#: ardour_ui_ed.cc:224
msgid "Stop"
msgstr "Stopp"
-#: ardour_ui_ed.cc:225
+#: ardour_ui_ed.cc:227
msgid "Roll"
msgstr "Wiedergabe"
-#: ardour_ui_ed.cc:229
+#: ardour_ui_ed.cc:231 ardour_ui_ed.cc:234
msgid "Start/Stop"
msgstr "Start/Stopp"
-#: ardour_ui_ed.cc:232
+#: ardour_ui_ed.cc:237
msgid "Start/Continue/Stop"
msgstr "Start/Stopp"
-#: ardour_ui_ed.cc:235
+#: ardour_ui_ed.cc:240
msgid "Stop and Forget Capture"
msgstr "Stopp + Aufnahme verwerfen"
-#: ardour_ui_ed.cc:245
+#: ardour_ui_ed.cc:250
msgid "Transition To Roll"
msgstr "Vorwärts (normal)"
-#: ardour_ui_ed.cc:249
+#: ardour_ui_ed.cc:254
msgid "Transition To Reverse"
msgstr "Rückwärts (normal)"
-#: ardour_ui_ed.cc:253
+#: ardour_ui_ed.cc:258
msgid "Play Loop Range"
msgstr "Schleife wiedergeben"
-#: ardour_ui_ed.cc:256
+#: ardour_ui_ed.cc:261
msgid "Play Selected Range"
msgstr "Gewählten Bereich wiedergeben"
-#: ardour_ui_ed.cc:259
+#: ardour_ui_ed.cc:264
msgid "Play Selection w/Preroll"
msgstr "Ausgewählten Bereich mit Vorlauf wiedergeben"
-#: ardour_ui_ed.cc:263
+#: ardour_ui_ed.cc:268
msgid "Enable Record"
msgstr "Aufnahme aktivieren"
-#: ardour_ui_ed.cc:266
+#: ardour_ui_ed.cc:271 ardour_ui_ed.cc:275
msgid "Start Recording"
msgstr "Aufnahme starten"
-#: ardour_ui_ed.cc:270
+#: ardour_ui_ed.cc:279
msgid "Rewind"
msgstr "Rückwärts (beschleunigen)"
-#: ardour_ui_ed.cc:273
+#: ardour_ui_ed.cc:282
msgid "Rewind (Slow)"
msgstr "Rückwärts (langsam)"
-#: ardour_ui_ed.cc:276
+#: ardour_ui_ed.cc:285
msgid "Rewind (Fast)"
msgstr "Rückwärts (schnell)"
-#: ardour_ui_ed.cc:279
+#: ardour_ui_ed.cc:288
msgid "Forward"
msgstr "Vorwärts (beschleunigen)"
-#: ardour_ui_ed.cc:282
+#: ardour_ui_ed.cc:291
msgid "Forward (Slow)"
msgstr "Vorwärts (langsam)"
-#: ardour_ui_ed.cc:285
+#: ardour_ui_ed.cc:294
msgid "Forward (Fast)"
msgstr "Vorwärts (schnell)"
-#: ardour_ui_ed.cc:288
+#: ardour_ui_ed.cc:297
msgid "Goto Zero"
msgstr "Zum Nullpunkt springen"
-#: ardour_ui_ed.cc:291
+#: ardour_ui_ed.cc:300 ardour_ui_ed.cc:303
msgid "Goto Start"
msgstr "Zum Anfang springen"
-#: ardour_ui_ed.cc:294
+#: ardour_ui_ed.cc:306
msgid "Goto End"
msgstr "Zum Ende springen"
-#: ardour_ui_ed.cc:297
+#: ardour_ui_ed.cc:309
msgid "Goto Wall Clock"
msgstr "Zur lokalen Uhrzeit springen"
-#: ardour_ui_ed.cc:301
+#: ardour_ui_ed.cc:314
+msgid "Numpad Decimal"
+msgstr ""
+
+#: ardour_ui_ed.cc:317
+msgid "Numpad 0"
+msgstr ""
+
+#: ardour_ui_ed.cc:320
+msgid "Numpad 1"
+msgstr ""
+
+#: ardour_ui_ed.cc:323
+msgid "Numpad 2"
+msgstr ""
+
+#: ardour_ui_ed.cc:326
+msgid "Numpad 3"
+msgstr ""
+
+#: ardour_ui_ed.cc:329
+msgid "Numpad 4"
+msgstr ""
+
+#: ardour_ui_ed.cc:332
+msgid "Numpad 5"
+msgstr ""
+
+#: ardour_ui_ed.cc:335
+msgid "Numpad 6"
+msgstr ""
+
+#: ardour_ui_ed.cc:338
+msgid "Numpad 7"
+msgstr ""
+
+#: ardour_ui_ed.cc:341
+msgid "Numpad 8"
+msgstr ""
+
+#: ardour_ui_ed.cc:344
+msgid "Numpad 9"
+msgstr ""
+
+#: ardour_ui_ed.cc:348
msgid "Focus On Clock"
msgstr "Fokus auf Zeitanzeige setzen"
-#: ardour_ui_ed.cc:305 ardour_ui_ed.cc:314 audio_clock.cc:2046 editor.cc:237
-#: editor_actions.cc:544 editor_actions.cc:553 export_timespan_selector.cc:88
+#: ardour_ui_ed.cc:352 ardour_ui_ed.cc:361 audio_clock.cc:2072 editor.cc:254
+#: editor_actions.cc:579 editor_actions.cc:588 export_timespan_selector.cc:88
#: session_option_editor.cc:41 session_option_editor.cc:61
#: session_option_editor.cc:80 session_option_editor.cc:96
#: session_option_editor.cc:109 session_option_editor.cc:122
@@ -1927,125 +2009,125 @@ msgstr "Fokus auf Zeitanzeige setzen"
msgid "Timecode"
msgstr "Timecode"
-#: ardour_ui_ed.cc:307 ardour_ui_ed.cc:316 editor_actions.cc:542
+#: ardour_ui_ed.cc:354 ardour_ui_ed.cc:363 editor_actions.cc:577
msgid "Bars & Beats"
msgstr "Takte & Schläge"
-#: ardour_ui_ed.cc:309 ardour_ui_ed.cc:318
+#: ardour_ui_ed.cc:356 ardour_ui_ed.cc:365
msgid "Minutes & Seconds"
msgstr "Minuten & Sekunden"
-#: ardour_ui_ed.cc:311 ardour_ui_ed.cc:320 audio_clock.cc:2050 editor.cc:238
-#: editor_actions.cc:543
+#: ardour_ui_ed.cc:358 ardour_ui_ed.cc:367 audio_clock.cc:2076 editor.cc:255
+#: editor_actions.cc:578
msgid "Samples"
msgstr "Samples"
-#: ardour_ui_ed.cc:323
+#: ardour_ui_ed.cc:370
msgid "Punch In"
msgstr "Punch In"
-#: ardour_ui_ed.cc:324 mixer_strip.cc:1905 route_ui.cc:137
-#: time_info_box.cc:113
+#: ardour_ui_ed.cc:371 mixer_strip.cc:1774 mixer_strip.cc:1798
+#: mixer_strip.cc:1962 route_ui.cc:158 time_info_box.cc:116
msgid "In"
msgstr "In"
-#: ardour_ui_ed.cc:327
+#: ardour_ui_ed.cc:374
msgid "Punch Out"
msgstr "Punch Out"
-#: ardour_ui_ed.cc:328 time_info_box.cc:114
+#: ardour_ui_ed.cc:375 mixer_strip.cc:1786 time_info_box.cc:117
msgid "Out"
msgstr "Out"
-#: ardour_ui_ed.cc:331
+#: ardour_ui_ed.cc:378
msgid "Punch In/Out"
msgstr "Punch In/Out"
-#: ardour_ui_ed.cc:332
+#: ardour_ui_ed.cc:379
msgid "In/Out"
msgstr "In/Out"
-#: ardour_ui_ed.cc:335 rc_option_editor.cc:1069
+#: ardour_ui_ed.cc:382 rc_option_editor.cc:1309
msgid "Click"
msgstr "Klick"
-#: ardour_ui_ed.cc:338
+#: ardour_ui_ed.cc:385
msgid "Auto Input"
msgstr "Auto Input"
-#: ardour_ui_ed.cc:341
+#: ardour_ui_ed.cc:388
msgid "Auto Play"
msgstr "Auto Play"
-#: ardour_ui_ed.cc:352
+#: ardour_ui_ed.cc:399
msgid "Sync Startup to Video"
msgstr "Start mit Video synchronisieren"
-#: ardour_ui_ed.cc:354
+#: ardour_ui_ed.cc:401
msgid "Time Master"
msgstr "Time Master"
-#: ardour_ui_ed.cc:361
+#: ardour_ui_ed.cc:408
msgid "Toggle Record Enable Track %1"
msgstr "Aufnahme auf Spur %1 aktivieren"
-#: ardour_ui_ed.cc:368
+#: ardour_ui_ed.cc:415
msgid "Percentage"
msgstr "Prozent"
-#: ardour_ui_ed.cc:369 shuttle_control.cc:169
+#: ardour_ui_ed.cc:416 shuttle_control.cc:169
msgid "Semitones"
msgstr "Halbtöne"
-#: ardour_ui_ed.cc:373
+#: ardour_ui_ed.cc:420
msgid "Send MTC"
msgstr "MTC senden"
-#: ardour_ui_ed.cc:375
+#: ardour_ui_ed.cc:422
msgid "Send MMC"
msgstr "MMC senden"
-#: ardour_ui_ed.cc:377
+#: ardour_ui_ed.cc:424
msgid "Use MMC"
msgstr "Benutze MMC"
-#: ardour_ui_ed.cc:379 rc_option_editor.cc:1698
+#: ardour_ui_ed.cc:426 rc_option_editor.cc:1978
msgid "Send MIDI Clock"
msgstr "MIDI Clock senden"
-#: ardour_ui_ed.cc:381
+#: ardour_ui_ed.cc:428
msgid "Send MIDI Feedback"
msgstr "MIDI Feedback senden"
-#: ardour_ui_ed.cc:387
+#: ardour_ui_ed.cc:434
msgid "Panic"
msgstr "Panic"
-#: ardour_ui_ed.cc:472
+#: ardour_ui_ed.cc:519
msgid "Wall Clock"
msgstr "Uhrzeit"
-#: ardour_ui_ed.cc:473
+#: ardour_ui_ed.cc:520
msgid "Disk Space"
msgstr "Speicherplatz"
-#: ardour_ui_ed.cc:474
+#: ardour_ui_ed.cc:521
msgid "DSP"
msgstr "DSP"
-#: ardour_ui_ed.cc:475
+#: ardour_ui_ed.cc:522
msgid "Buffers"
msgstr "Puffer"
-#: ardour_ui_ed.cc:477
+#: ardour_ui_ed.cc:524
msgid "Timecode Format"
msgstr "Timecode-Format"
-#: ardour_ui_ed.cc:478
+#: ardour_ui_ed.cc:525
msgid "File Format"
msgstr "Dateiformat"
-#: ardour_ui_options.cc:61
+#: ardour_ui_options.cc:63
msgid ""
"It is not possible to use JACK as the the sync source\n"
"when the pull up/down setting is non-zero."
@@ -2057,331 +2139,249 @@ msgstr ""
msgid "Internal"
msgstr "Intern"
-#: ardour_ui_options.cc:468
+#: ardour_ui_options.cc:496
msgid "Enable/Disable external positional sync"
msgstr "Aktiviere/Deaktiviere externe Positionssynchronisierung"
-#: ardour_ui_options.cc:470
+#: ardour_ui_options.cc:498
msgid "Sync to JACK is not possible: video pull up/down is set"
msgstr "Synchronisation ist nicht möglich: Video pull-up/down ist aktiviert"
-#: audio_clock.cc:1012 audio_clock.cc:1031
+#: audio_clock.cc:1028 audio_clock.cc:1047
msgid "--pending--"
msgstr "--wartend--"
-#: audio_clock.cc:1083
+#: audio_clock.cc:1099
msgid "SR"
msgstr "SR"
-#: audio_clock.cc:1089 audio_clock.cc:1093
+#: audio_clock.cc:1105 audio_clock.cc:1109
msgid "Pull"
msgstr "Ziehen"
-#: audio_clock.cc:1091
+#: audio_clock.cc:1107
#, c-format
msgid "%+.4f%%"
msgstr "%+.4f%%"
-#: audio_clock.cc:1237 editor.cc:239 editor_actions.cc:135
-#: editor_actions.cc:536
+#: audio_clock.cc:1263 editor.cc:256 editor_actions.cc:139
+#: editor_actions.cc:571
msgid "Tempo"
msgstr "Tempo"
-#: audio_clock.cc:1241 editor.cc:240 editor_actions.cc:537
+#: audio_clock.cc:1267 editor.cc:257 editor_actions.cc:572
msgid "Meter"
msgstr "Taktart"
-#: audio_clock.cc:1819 audio_streamview.cc:116 editor_actions.cc:1039
-#: midi_region_view.cc:2991 session_metadata_dialog.cc:331
+#: audio_clock.cc:1845 audio_streamview.cc:115 editor_actions.cc:1085
+#: midi_region_view.cc:2989 session_metadata_dialog.cc:331
#: session_metadata_dialog.cc:379 session_metadata_dialog.cc:435
-#: session_metadata_dialog.cc:716
+#: session_metadata_dialog.cc:716 streamview.cc:433
msgid "programming error: %1"
msgstr "Programmierfehler: %1"
-#: audio_clock.cc:1952 audio_clock.cc:1980
+#: audio_clock.cc:1978 audio_clock.cc:2006
msgid "programming error: %1 %2"
msgstr "Programmierfehler: %1 %2"
-#: audio_clock.cc:2048 editor.cc:236 export_timespan_selector.cc:98
+#: audio_clock.cc:2074 editor.cc:253 export_timespan_selector.cc:98
msgid "Bars:Beats"
msgstr "Takte:Schläge"
-#: audio_clock.cc:2049 export_timespan_selector.cc:93
+#: audio_clock.cc:2075 export_timespan_selector.cc:93
msgid "Minutes:Seconds"
msgstr "Minuten:Sekunden"
-#: audio_clock.cc:2054
+#: audio_clock.cc:2080
msgid "Set From Playhead"
msgstr "Ab Positionszeiger"
-#: audio_clock.cc:2055
+#: audio_clock.cc:2081
msgid "Locate to This Time"
msgstr "Positionszeiger hierhin setzen"
-#: audio_region_editor.cc:63 control_point_dialog.cc:49 rhythm_ferret.cc:125
-#: rhythm_ferret.cc:130 rhythm_ferret.cc:135
+#: audio_region_editor.cc:64 control_point_dialog.cc:49 rhythm_ferret.cc:124
+#: rhythm_ferret.cc:129 rhythm_ferret.cc:134
msgid "dB"
msgstr "dB"
-#: audio_region_editor.cc:66
+#: audio_region_editor.cc:67
msgid "Region gain:"
msgstr "Regionen-Lautstärke:"
-#: audio_region_editor.cc:76 export_format_dialog.cc:43
+#: audio_region_editor.cc:77 export_format_dialog.cc:43
msgid "dBFS"
msgstr "dBFS"
-#: audio_region_editor.cc:79
+#: audio_region_editor.cc:80
msgid "Peak amplitude:"
msgstr "Spitzenamplitude"
-#: audio_region_editor.cc:90
+#: audio_region_editor.cc:91
msgid "Calculating..."
msgstr "Berechne..."
-#: audio_region_view.cc:1001
+#: audio_region_view.cc:1243
msgid "add gain control point"
msgstr "Lautstärkekurve bearbeiten"
-#: audio_time_axis.cc:389
+#: audio_time_axis.cc:430 midi_time_axis.cc:619
msgid "Fader"
msgstr "Fader"
-#: audio_time_axis.cc:396
+#: audio_time_axis.cc:437 editor_actions.cc:1800 mixer_strip.cc:1961
+#: monitor_section.cc:273 route_time_axis.cc:253
+msgid "Mute"
+msgstr "Mute"
+
+#: audio_time_axis.cc:445 midi_time_axis.cc:627
msgid "Pan"
msgstr "Pan"
-#: automation_line.cc:252 automation_line.cc:435
+#: automation_line.cc:272 automation_line.cc:453
msgid "automation event move"
msgstr "Automationspunkt bewegen"
-#: automation_line.cc:462 automation_line.cc:483
+#: automation_line.cc:479 automation_line.cc:499
msgid "automation range move"
msgstr "Automationsbereich bewegen"
-#: automation_line.cc:823 region_gain_line.cc:73
+#: automation_line.cc:854 region_gain_line.cc:72
msgid "remove control point"
msgstr "Automationspunkt entfernen"
-#: automation_line.cc:941
+#: automation_line.cc:971
msgid "Ignoring illegal points on AutomationLine \"%1\""
msgstr "Unzulässige Automationspunkte werden ignoriert: \"%1\""
-#: automation_region_view.cc:160 automation_time_axis.cc:583
+#: automation_region_view.cc:162 automation_time_axis.cc:627
msgid "add automation event"
msgstr "Automationspunkt einfügen"
-#: automation_time_axis.cc:146
+#: automation_time_axis.cc:141
msgid "automation state"
msgstr "Automationsmodus"
-#: automation_time_axis.cc:147
+#: automation_time_axis.cc:142
msgid "hide track"
msgstr "Diese Spur verbergen"
-#: automation_time_axis.cc:255 automation_time_axis.cc:307
-#: automation_time_axis.cc:496 gain_meter.cc:194 generic_pluginui.cc:454
-#: generic_pluginui.cc:775 panner_ui.cc:149
+#: automation_time_axis.cc:297 automation_time_axis.cc:349
+#: automation_time_axis.cc:540 gain_meter.cc:186 generic_pluginui.cc:452
+#: generic_pluginui.cc:770 panner_ui.cc:150
msgid "Automation|Manual"
msgstr "Manuell"
-#: automation_time_axis.cc:257 automation_time_axis.cc:318
-#: automation_time_axis.cc:501 editor.cc:1937 editor.cc:2014
-#: editor_actions.cc:118 editor_actions.cc:1865 gain_meter.cc:197
-#: generic_pluginui.cc:457 generic_pluginui.cc:777 midi_time_axis.cc:1488
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1494 panner_ui.cc:152
+#: automation_time_axis.cc:299 automation_time_axis.cc:360
+#: automation_time_axis.cc:545 editor.cc:1856 editor.cc:1933
+#: editor_actions.cc:122 editor_actions.cc:1916 gain_meter.cc:189
+#: generic_pluginui.cc:455 generic_pluginui.cc:772 midi_time_axis.cc:1687
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1693 panner_ui.cc:153
msgid "Play"
msgstr "Wiedergabe"
-#: automation_time_axis.cc:259 automation_time_axis.cc:329
-#: automation_time_axis.cc:506 gain_meter.cc:200 generic_pluginui.cc:460
-#: generic_pluginui.cc:779 panner_ui.cc:155
+#: automation_time_axis.cc:301 automation_time_axis.cc:371
+#: automation_time_axis.cc:550 gain_meter.cc:192 generic_pluginui.cc:458
+#: generic_pluginui.cc:774 panner_ui.cc:156
msgid "Write"
msgstr "Schreiben"
-#: automation_time_axis.cc:261 automation_time_axis.cc:340
-#: automation_time_axis.cc:511 gain_meter.cc:203 generic_pluginui.cc:463
-#: generic_pluginui.cc:781 panner_ui.cc:158
+#: automation_time_axis.cc:303 automation_time_axis.cc:382
+#: automation_time_axis.cc:555 gain_meter.cc:195 generic_pluginui.cc:461
+#: generic_pluginui.cc:776 panner_ui.cc:159
msgid "Touch"
msgstr "Ändern"
-#: automation_time_axis.cc:351 generic_pluginui.cc:466 meter_patterns.cc:108
+#: automation_time_axis.cc:393 generic_pluginui.cc:464 meter_patterns.cc:112
msgid "???"
msgstr "???"
-#: automation_time_axis.cc:392
+#: automation_time_axis.cc:434
msgid "clear automation"
msgstr "Automation zurücksetzen"
-#: automation_time_axis.cc:485 editor_actions.cc:613 editor_markers.cc:857
-#: location_ui.cc:55 plugin_selector.cc:85 route_time_axis.cc:708
+#: automation_time_axis.cc:529 editor_actions.cc:655 editor_markers.cc:871
+#: location_ui.cc:56 plugin_selector.cc:86 route_time_axis.cc:827
msgid "Hide"
msgstr "Verbergen"
-#: automation_time_axis.cc:487
+#: automation_time_axis.cc:531
msgid "Clear"
msgstr "Leeren"
-#: automation_time_axis.cc:516
+#: automation_time_axis.cc:560
msgid "State"
msgstr "Automationssmodus"
-#: automation_time_axis.cc:531
+#: automation_time_axis.cc:575
msgid "Discrete"
msgstr "Diskret"
-#: automation_time_axis.cc:537 editor.cc:1458 editor.cc:1465 editor.cc:1521
-#: editor.cc:1527 export_format_dialog.cc:476
+#: automation_time_axis.cc:581 export_format_dialog.cc:485
msgid "Linear"
msgstr "Linear"
-#: automation_time_axis.cc:543 rhythm_ferret.cc:110 route_time_axis.cc:647
+#: automation_time_axis.cc:587 rhythm_ferret.cc:109 route_time_axis.cc:765
#: shuttle_control.cc:188
msgid "Mode"
msgstr "Modus"
-#: bundle_manager.cc:181
+#: bundle_manager.cc:182
msgid "Disassociate"
msgstr "Trenne"
-#: bundle_manager.cc:185
+#: bundle_manager.cc:186
msgid "Edit Bundle"
msgstr "Bundle editieren"
-#: bundle_manager.cc:200
+#: bundle_manager.cc:201
msgid "Direction:"
msgstr "Richtung:"
-#: bundle_manager.cc:205 bundle_manager.cc:209 mixer_strip.cc:158
-#: mixer_strip.cc:2127
+#: bundle_manager.cc:206 bundle_manager.cc:210 engine_dialog.cc:641
+#: mixer_strip.cc:164 mixer_strip.cc:371 mixer_strip.cc:2195
+#: rc_option_editor.cc:2198
msgid "Input"
msgstr "Eingang"
-#: bundle_manager.cc:206 bundle_manager.cc:211 bundle_manager.cc:245
-#: mixer_strip.cc:163 mixer_strip.cc:2130
+#: bundle_manager.cc:207 bundle_manager.cc:212 bundle_manager.cc:246
+#: engine_dialog.cc:643 mixer_strip.cc:168 mixer_strip.cc:375
+#: mixer_strip.cc:2198 rc_option_editor.cc:2202
msgid "Output"
msgstr "Ausgang"
-#: bundle_manager.cc:264 editor.cc:1978 editor_actions.cc:90
-#: editor_actions.cc:100
+#: bundle_manager.cc:265 editor.cc:1897 editor_actions.cc:94
+#: editor_actions.cc:104 rc_option_editor.cc:1067 rc_option_editor.cc:1074
msgid "Edit"
msgstr "Bearbeiten"
-#: bundle_manager.cc:265 editor.cc:5497 editor_actions.cc:310
-#: editor_actions.cc:368 plugin_ui.cc:416 processor_box.cc:2268
-#: route_time_axis.cc:713
+#: bundle_manager.cc:266 editor.cc:5593 editor_actions.cc:335
+#: editor_actions.cc:336 editor_actions.cc:402 plugin_ui.cc:417
+#: processor_box.cc:2502 route_time_axis.cc:832
msgid "Delete"
msgstr "Löschen"
-#: bundle_manager.cc:271 bundle_manager.cc:439 editor_route_groups.cc:96
-#: editor_routes.cc:202 midi_list_editor.cc:106 session_metadata_dialog.cc:525
+#: bundle_manager.cc:272 bundle_manager.cc:440 editor_route_groups.cc:97
+#: editor_routes.cc:204 midi_list_editor.cc:106 session_metadata_dialog.cc:525
msgid "Name"
msgstr "Name"
-#: bundle_manager.cc:282
+#: bundle_manager.cc:283
msgid "New"
msgstr "Neu"
-#: bundle_manager.cc:332
+#: bundle_manager.cc:333
msgid "Bundle"
msgstr "Bundle"
-#: bundle_manager.cc:417
+#: bundle_manager.cc:418
msgid "Add Channel"
msgstr "Kanal hinzufügen"
-#: bundle_manager.cc:424
+#: bundle_manager.cc:425
msgid "Rename Channel"
msgstr "Kanal umbenennen"
-#: canvas-simpleline.c:111 canvas-simplerect.c:106
-msgid "x1"
-msgstr "x1"
-
-#: canvas-simpleline.c:112 canvas-simplerect.c:107
-msgid "x coordinate of upper left corner of rect"
-msgstr "X-Koordinate der oberen linken Ecke des Rechtecks"
-
-#: canvas-simpleline.c:121 canvas-simplerect.c:116
-msgid "y1"
-msgstr "y1"
-
-#: canvas-simpleline.c:122 canvas-simplerect.c:117
-msgid "y coordinate of upper left corner of rect "
-msgstr "Y-Koordinate der oberen linken Ecke des Rechtecks"
-
-#: canvas-simpleline.c:132 canvas-simplerect.c:127
-msgid "x2"
-msgstr "x2"
-
-#: canvas-simpleline.c:133 canvas-simplerect.c:128
-msgid "x coordinate of lower right corner of rect"
-msgstr "X-Koordinate der unteren rechten Ecke des Rechtecks"
-
-#: canvas-simpleline.c:142 canvas-simplerect.c:137
-msgid "y2"
-msgstr "y2"
-
-#: canvas-simpleline.c:143 canvas-simplerect.c:138
-msgid "y coordinate of lower right corner of rect "
-msgstr "Y-Koordinate der unteren rechten Ecke des Rechtecks"
-
-#: canvas-simpleline.c:151
-msgid "color rgba"
-msgstr "RGBA-Farbe"
-
-#: canvas-simpleline.c:152
-msgid "color of line"
-msgstr "Linienfarbe"
-
-#: canvas-simplerect.c:148
-msgid "outline pixels"
-msgstr "Pixelbreite der Umrandung"
-
-#: canvas-simplerect.c:149
-msgid "width in pixels of outline"
-msgstr "Pixelbreite der Umrandung"
-
-#: canvas-simplerect.c:159
-msgid "outline what"
-msgstr "abzugrenzende Ränder"
-
-#: canvas-simplerect.c:160
-msgid "which boundaries to outline (mask)"
-msgstr "abzugrenzende Ränder"
-
-#: canvas-simplerect.c:171
-msgid "fill"
-msgstr "füllen"
-
-#: canvas-simplerect.c:172
-msgid "fill rectangle"
-msgstr "Rechteck füllen"
-
-#: canvas-simplerect.c:179
-msgid "draw"
-msgstr "zeichnen"
-
-#: canvas-simplerect.c:180
-msgid "draw rectangle"
-msgstr "Rechteck zeichnen"
-
-#: canvas-simplerect.c:188
-msgid "outline color rgba"
-msgstr "Rahmenfarbe RGBA"
-
-#: canvas-simplerect.c:189
-msgid "color of outline"
-msgstr "Rahmenfarbe"
-
-#: canvas-simplerect.c:199
-msgid "fill color rgba"
-msgstr "Füllfarbe RGBA"
-
-#: canvas-simplerect.c:200
-msgid "color of fill"
-msgstr "Füllfarbe"
-
#: configinfo.cc:28
msgid "Build Configuration"
msgstr "Build Configuration"
@@ -2419,7 +2419,7 @@ msgid "Set selected notes to this length"
msgstr "Ausgewählte Noten auf diese Notenlänge setzen"
#: edit_note_dialog.cc:58 midi_list_editor.cc:104 patch_change_dialog.cc:91
-#: step_entry.cc:393
+#: step_entry.cc:394
msgid "Channel"
msgstr "Kanal"
@@ -2427,7 +2427,7 @@ msgstr "Kanal"
msgid "Pitch"
msgstr "Tonhöhe"
-#: edit_note_dialog.cc:78 step_entry.cc:407
+#: edit_note_dialog.cc:78 step_entry.cc:408
msgid "Velocity"
msgstr "Velocity"
@@ -2435,9 +2435,9 @@ msgstr "Velocity"
msgid "Time"
msgstr "Zeitpunkt"
-#: edit_note_dialog.cc:98 editor_regions.cc:114
-#: export_timespan_selector.cc:359 export_timespan_selector.cc:421
-#: location_ui.cc:317 midi_list_editor.cc:114 time_info_box.cc:105
+#: edit_note_dialog.cc:98 editor_regions.cc:115
+#: export_timespan_selector.cc:378 export_timespan_selector.cc:440
+#: location_ui.cc:319 midi_list_editor.cc:114 time_info_box.cc:108
msgid "Length"
msgstr "Länge"
@@ -2445,558 +2445,576 @@ msgstr "Länge"
msgid "edit note"
msgstr "Note bearbeiten"
-#: editor.cc:137 editor.cc:3433
+#: editor.cc:144
msgid "CD Frames"
msgstr "CD-Frames"
-#: editor.cc:138 editor.cc:3435
-msgid "Timecode Frames"
-msgstr "Timecode-Frames"
+#: editor.cc:145
+msgid "TC Frames"
+msgstr ""
-#: editor.cc:139 editor.cc:3437
-msgid "Timecode Seconds"
-msgstr "Timecode-Sekunden"
+#: editor.cc:146
+msgid "TC Seconds"
+msgstr ""
-#: editor.cc:140 editor.cc:3439
-msgid "Timecode Minutes"
-msgstr "Timecode-Minuten"
+#: editor.cc:147
+msgid "TC Minutes"
+msgstr ""
-#: editor.cc:141 editor.cc:3441
+#: editor.cc:148
msgid "Seconds"
msgstr "Sekunden"
-#: editor.cc:142 editor.cc:3443
+#: editor.cc:149
msgid "Minutes"
msgstr "Minuten"
-#: editor.cc:143 editor.cc:3417 quantize_dialog.cc:37 quantize_dialog.cc:141
+#: editor.cc:150 quantize_dialog.cc:37 quantize_dialog.cc:141
msgid "Beats/128"
msgstr "Schläge/128"
-#: editor.cc:144 editor.cc:3415 quantize_dialog.cc:38 quantize_dialog.cc:143
+#: editor.cc:151 quantize_dialog.cc:38 quantize_dialog.cc:143
msgid "Beats/64"
msgstr "Schläge/64"
-#: editor.cc:145 editor.cc:3413 quantize_dialog.cc:39 quantize_dialog.cc:145
+#: editor.cc:152 quantize_dialog.cc:39 quantize_dialog.cc:145
msgid "Beats/32"
msgstr "Schläge/32"
-#: editor.cc:146 editor.cc:3411
+#: editor.cc:153
msgid "Beats/28"
msgstr "Schläge/28"
-#: editor.cc:147 editor.cc:3409
+#: editor.cc:154
msgid "Beats/24"
msgstr "Schläge/24"
-#: editor.cc:148 editor.cc:3407
+#: editor.cc:155
msgid "Beats/20"
msgstr "Schläge/20"
-#: editor.cc:149 editor.cc:3405 quantize_dialog.cc:40 quantize_dialog.cc:147
+#: editor.cc:156 quantize_dialog.cc:40 quantize_dialog.cc:147
msgid "Beats/16"
msgstr "Schläge/16"
-#: editor.cc:150 editor.cc:3403
+#: editor.cc:157
msgid "Beats/14"
msgstr "Schläge/14"
-#: editor.cc:151 editor.cc:3401
+#: editor.cc:158
msgid "Beats/12"
msgstr "Schläge/12"
-#: editor.cc:152 editor.cc:3399
+#: editor.cc:159
msgid "Beats/10"
msgstr "Schläge/10"
-#: editor.cc:153 editor.cc:3397 quantize_dialog.cc:41 quantize_dialog.cc:149
+#: editor.cc:160 quantize_dialog.cc:41 quantize_dialog.cc:149
msgid "Beats/8"
msgstr "Schläge/8"
-#: editor.cc:154 editor.cc:3395
+#: editor.cc:161
msgid "Beats/7"
msgstr "Schläge/7"
-#: editor.cc:155 editor.cc:3393
+#: editor.cc:162
msgid "Beats/6"
msgstr "Schläge/6"
-#: editor.cc:156 editor.cc:3391
+#: editor.cc:163
msgid "Beats/5"
msgstr "Schläge/5"
-#: editor.cc:157 editor.cc:3389 quantize_dialog.cc:42 quantize_dialog.cc:151
+#: editor.cc:164 quantize_dialog.cc:42 quantize_dialog.cc:151
msgid "Beats/4"
msgstr "Schläge/4"
-#: editor.cc:158 editor.cc:3387 quantize_dialog.cc:43 quantize_dialog.cc:153
+#: editor.cc:165 quantize_dialog.cc:43 quantize_dialog.cc:153
msgid "Beats/3"
msgstr "Schläge/3"
-#: editor.cc:159 editor.cc:3385 quantize_dialog.cc:44 quantize_dialog.cc:155
+#: editor.cc:166 quantize_dialog.cc:44 quantize_dialog.cc:155
msgid "Beats/2"
msgstr "Schläge/2"
-#: editor.cc:160 editor.cc:3419 quantize_dialog.cc:45 quantize_dialog.cc:157
+#: editor.cc:167 quantize_dialog.cc:45 quantize_dialog.cc:157
msgid "Beats"
msgstr "Schläge"
-#: editor.cc:161 editor.cc:3421
+#: editor.cc:168
msgid "Bars"
msgstr "Takte"
-#: editor.cc:162 editor.cc:3423
+#: editor.cc:169
msgid "Marks"
msgstr "Marker"
-#: editor.cc:163 editor.cc:3425
+#: editor.cc:170
msgid "Region starts"
msgstr "Regionen-Anfang"
-#: editor.cc:164 editor.cc:3427
+#: editor.cc:171
msgid "Region ends"
msgstr "Regionen-Ende"
-#: editor.cc:165 editor.cc:3431
+#: editor.cc:172
msgid "Region syncs"
msgstr "Regionen-Sync"
-#: editor.cc:166 editor.cc:3429
+#: editor.cc:173
msgid "Region bounds"
msgstr "Regionengrenzen"
-#: editor.cc:171 editor.cc:3459 editor_actions.cc:485
+#: editor.cc:178 editor_actions.cc:520
msgid "No Grid"
msgstr "Raster aus"
-#: editor.cc:172 editor.cc:3461 editor_actions.cc:486
+#: editor.cc:179 editor_actions.cc:521
msgid "Grid"
msgstr "Einrasten"
-#: editor.cc:173 editor.cc:3463 editor_actions.cc:487
+#: editor.cc:180 editor_actions.cc:522
msgid "Magnetic"
msgstr "Magnetisch"
-#: editor.cc:178 editor.cc:188 editor.cc:3502 editor.cc:3527
-#: editor_actions.cc:117 editor_actions.cc:468
+#: editor.cc:185 editor.cc:203 editor_actions.cc:121 editor_actions.cc:503
msgid "Playhead"
msgstr "Positionszeiger"
-#: editor.cc:179 editor.cc:3500 editor_actions.cc:470
+#: editor.cc:186 editor_actions.cc:505
msgid "Marker"
msgstr "Marker"
-#: editor.cc:180 editor.cc:189 editor.cc:3529 editor_actions.cc:469
+#: editor.cc:187 editor.cc:204 editor_actions.cc:504
msgid "Mouse"
msgstr "Maus"
-#: editor.cc:185 editor.cc:3521 mono_panner_editor.cc:42
+#: editor.cc:192 editor_actions.cc:512
+msgid "Slide"
+msgstr "Slide"
+
+#: editor.cc:193
+msgid "Splice"
+msgstr "Splice"
+
+#: editor.cc:194 editor_actions.cc:511
+msgid "Ripple"
+msgstr ""
+
+#: editor.cc:195 editor_actions.cc:157 editor_actions.cc:513
+#: editor_actions.cc:1785 editor_markers.cc:874 editor_rulers.cc:260
+#: location_ui.cc:57 mixer_strip.cc:202 mixer_strip.cc:1983
+msgid "Lock"
+msgstr "Sperren"
+
+#: editor.cc:200 mono_panner_editor.cc:42
msgid "Left"
msgstr "Links"
-#: editor.cc:186 editor.cc:3523 mono_panner_editor.cc:47
+#: editor.cc:201 mono_panner_editor.cc:47
msgid "Right"
msgstr "Rechts"
-#: editor.cc:187 editor.cc:3525
+#: editor.cc:202
msgid "Center"
msgstr "Mitte"
-#: editor.cc:190 editor.cc:3094 editor.cc:3531
+#: editor.cc:205 editor.cc:3145
msgid "Edit point"
msgstr "Arbeitspunkt"
-#: editor.cc:196
+#: editor.cc:211
msgid "Mushy"
msgstr "Matschig"
-#: editor.cc:197
+#: editor.cc:212
msgid "Smooth"
msgstr "Klar"
-#: editor.cc:198
+#: editor.cc:213
msgid "Balanced multitimbral mixture"
msgstr "Ausgewogene multitimbrale Mischung"
-#: editor.cc:199
+#: editor.cc:214
msgid "Unpitched percussion with stable notes"
msgstr "Ungestimmte Perkussion mit stabilen Tönen"
-#: editor.cc:200
+#: editor.cc:215
msgid "Crisp monophonic instrumental"
msgstr "Klare monophone Instrumentalmusik"
-#: editor.cc:201
+#: editor.cc:216
msgid "Unpitched solo percussion"
msgstr "Ungestimmte Perkussion (solo)"
-#: editor.cc:202
+#: editor.cc:217
msgid "Resample without preserving pitch"
msgstr "Resampeln, ohne die Tonhöhe zu erhalten"
-#: editor.cc:235
+#: editor.cc:252
msgid "Mins:Secs"
msgstr "Min:Sek"
-#: editor.cc:241
+#: editor.cc:258
msgid "Location Markers"
msgstr "Positionsmarker"
-#: editor.cc:242
+#: editor.cc:259
msgid "Range Markers"
msgstr "Bereiche"
-#: editor.cc:243
+#: editor.cc:260
msgid "Loop/Punch Ranges"
msgstr "Schleifen/Punchbereiche"
-#: editor.cc:244 editor_actions.cc:540
+#: editor.cc:261 editor_actions.cc:575
msgid "CD Markers"
msgstr "CD-Marker"
-#: editor.cc:245
+#: editor.cc:262
msgid "Video Timeline"
msgstr "Video Zeitleiste"
-#: editor.cc:260
+#: editor.cc:279
msgid "mode"
msgstr "Modus"
-#: editor.cc:541
+#: editor.cc:447 editor_actions.cc:114 editor_actions.cc:574
+msgid "Markers"
+msgstr "Marker"
+
+#: editor.cc:554 rc_option_editor.cc:1830
msgid "Regions"
msgstr "Regionen"
-#: editor.cc:542
+#: editor.cc:555
msgid "Tracks & Busses"
msgstr "Spuren & Busse"
-#: editor.cc:543
+#: editor.cc:556
msgid "Snapshots"
msgstr "Schnappschüsse"
-#: editor.cc:544
+#: editor.cc:557
msgid "Track & Bus Groups"
msgstr "Spuren & Bus-Gruppen"
-#: editor.cc:545
+#: editor.cc:558
msgid "Ranges & Marks"
msgstr "Bereiche & Marker"
-#: editor.cc:690 editor.cc:5349 rc_option_editor.cc:1292
-#: rc_option_editor.cc:1300 rc_option_editor.cc:1308 rc_option_editor.cc:1316
-#: rc_option_editor.cc:1333 rc_option_editor.cc:1335 rc_option_editor.cc:1343
-#: rc_option_editor.cc:1351 rc_option_editor.cc:1371 rc_option_editor.cc:1383
-#: rc_option_editor.cc:1385 rc_option_editor.cc:1393 rc_option_editor.cc:1401
-#: rc_option_editor.cc:1409 rc_option_editor.cc:1417 rc_option_editor.cc:1432
-#: rc_option_editor.cc:1436
+#: editor.cc:706 editor.cc:5445 rc_option_editor.cc:1543
+#: rc_option_editor.cc:1551 rc_option_editor.cc:1559 rc_option_editor.cc:1567
+#: rc_option_editor.cc:1591 rc_option_editor.cc:1603 rc_option_editor.cc:1605
+#: rc_option_editor.cc:1613 rc_option_editor.cc:1621 rc_option_editor.cc:1641
+#: rc_option_editor.cc:1653 rc_option_editor.cc:1655 rc_option_editor.cc:1657
+#: rc_option_editor.cc:1665 rc_option_editor.cc:1673 rc_option_editor.cc:1681
+#: rc_option_editor.cc:1696 rc_option_editor.cc:1700
msgid "Editor"
msgstr "Editor"
-#: editor.cc:1215 editor.cc:1225 editor.cc:4444 editor_actions.cc:130
-#: editor_actions.cc:1813
+#: editor.cc:1288 editor.cc:4503 editor_actions.cc:134 editor_actions.cc:1861
msgid "Loop"
msgstr "Schleife"
-#: editor.cc:1231 editor.cc:1241 editor.cc:4471 editor_actions.cc:131
-#: time_info_box.cc:67
+#: editor.cc:1294 editor.cc:4530 editor_actions.cc:135 time_info_box.cc:68
msgid "Punch"
msgstr "Punch"
-#: editor.cc:1353
+#: editor.cc:1406 rc_option_editor.cc:1585
msgid "Linear (for highly correlated material)"
msgstr "Linear (für stark korreliertes Material)"
-#: editor.cc:1363 editor.cc:1500 editor.cc:1562
+#: editor.cc:1416 rc_option_editor.cc:1586
msgid "Constant power"
msgstr "Konstante Energie"
-#: editor.cc:1372 editor.cc:1493 editor.cc:1555
+#: editor.cc:1425 rc_option_editor.cc:1587
msgid "Symmetric"
msgstr "Symmetrisch"
-#: editor.cc:1382 editor.cc:1475 editor.cc:1537
+#: editor.cc:1435 rc_option_editor.cc:1588
msgid "Slow"
msgstr "Langsam"
-#: editor.cc:1391 editor.cc:1484 editor.cc:1546 sfdb_ui.cc:1627
-#: sfdb_ui.cc:1736
+#: editor.cc:1444 rc_option_editor.cc:1589 sfdb_ui.cc:1752 sfdb_ui.cc:1862
msgid "Fast"
msgstr "Schnell"
-#: editor.cc:1438
-msgid "programming error: fade in canvas item has no regionview data pointer!"
-msgstr "Programmierfehler: fade in canvas item has no regionview data pointer!"
-
-#: editor.cc:1449 editor.cc:1513
+#: editor.cc:1464 editor.cc:1487
msgid "Deactivate"
msgstr "Deaktivieren"
-#: editor.cc:1451 editor.cc:1515
+#: editor.cc:1466 editor.cc:1489
msgid "Activate"
msgstr "Aktivieren"
-#: editor.cc:1459 editor.cc:1522
-msgid "Slowest"
-msgstr "Sehr langsam"
-
-#: editor.cc:1573 route_time_axis.cc:1877 selection.cc:1009 selection.cc:1064
-msgid "programming error: "
-msgstr "Programmierfehler:"
-
-#: editor.cc:1674 editor.cc:1682 editor_ops.cc:3522
+#: editor.cc:1590 editor.cc:1598 editor_ops.cc:3635
msgid "Freeze"
msgstr "Einfrieren"
-#: editor.cc:1678
+#: editor.cc:1594
msgid "Unfreeze"
msgstr "Auftauen"
-#: editor.cc:1817
+#: editor.cc:1733
msgid "Selected Regions"
msgstr "Ausgewählte Regionen"
-#: editor.cc:1853 editor_markers.cc:895
+#: editor.cc:1769 editor_markers.cc:909
msgid "Play Range"
msgstr "Bereich wiedergeben"
-#: editor.cc:1854 editor_markers.cc:898
+#: editor.cc:1770 editor_markers.cc:912
msgid "Loop Range"
msgstr "Bereich in Schleife wiedergeben"
-#: editor.cc:1863 editor_actions.cc:332
+#: editor.cc:1773 editor_actions.cc:266 editor_markers.cc:919
+msgid "Zoom to Range"
+msgstr "Auf Bereich zoomen"
+
+#: editor.cc:1782 editor_actions.cc:366
msgid "Move Range Start to Previous Region Boundary"
msgstr "Anfang des Bereiches zur vorherigen Regiongrenze verschieben"
-#: editor.cc:1870 editor_actions.cc:339
+#: editor.cc:1789 editor_actions.cc:373
msgid "Move Range Start to Next Region Boundary"
msgstr "Anfang des Bereiches zur nächsten Regiongrenze verschieben"
-#: editor.cc:1877 editor_actions.cc:346
+#: editor.cc:1796 editor_actions.cc:380
msgid "Move Range End to Previous Region Boundary"
msgstr "Ende des Bereiches zur vorherigen Regiongrenze verschieben"
-#: editor.cc:1884 editor_actions.cc:353
+#: editor.cc:1803 editor_actions.cc:387
msgid "Move Range End to Next Region Boundary"
msgstr "Ende des Bereiches zur nächsten Regiongrenze verschieben"
-#: editor.cc:1890
+#: editor.cc:1809
msgid "Convert to Region In-Place"
msgstr "In Region umwanden (direkt)"
-#: editor.cc:1891
+#: editor.cc:1810
msgid "Convert to Region in Region List"
msgstr "In Region umwanden (in Regionenliste hinzufügen)"
-#: editor.cc:1894 editor_markers.cc:925
+#: editor.cc:1813 editor_markers.cc:939
msgid "Select All in Range"
msgstr "Alles im Bereich auswählen"
-#: editor.cc:1897
+#: editor.cc:1816
msgid "Set Loop from Range"
msgstr "Schleife aus Bereich erstellen"
-#: editor.cc:1898
+#: editor.cc:1817
msgid "Set Punch from Range"
msgstr "Punch aus Bereich erstellen"
-#: editor.cc:1901
+#: editor.cc:1820
msgid "Add Range Markers"
msgstr "Bereichsmarker einfügen"
-#: editor.cc:1904
+#: editor.cc:1823
msgid "Crop Region to Range"
msgstr "Region auf Bereich kürzen"
-#: editor.cc:1905
+#: editor.cc:1824
msgid "Fill Range with Region"
msgstr "Bereich mit Region füllen"
-#: editor.cc:1906 editor_actions.cc:289
+#: editor.cc:1825 editor_actions.cc:311
msgid "Duplicate Range"
msgstr "Bereich duplizieren"
-#: editor.cc:1909
+#: editor.cc:1828
msgid "Consolidate Range"
msgstr "Bereich als neue Region pre-Mixer"
-#: editor.cc:1910
+#: editor.cc:1829
msgid "Consolidate Range With Processing"
msgstr "Bereich als neue Region post-mixer"
-#: editor.cc:1911
+#: editor.cc:1830
msgid "Bounce Range to Region List"
msgstr "Auswahl zur Regionenliste bouncen"
-#: editor.cc:1912
+#: editor.cc:1831
msgid "Bounce Range to Region List With Processing"
msgstr "Auswahl zur Regionenliste bouncen (Post-Fader)"
-#: editor.cc:1913 editor_markers.cc:908
+#: editor.cc:1832 editor_markers.cc:922
msgid "Export Range..."
msgstr "Bereich exportieren..."
-#: editor.cc:1915
+#: editor.cc:1834
msgid "Export Video Range..."
-msgstr ""
+msgstr "Videobereich exportieren..."
-#: editor.cc:1931 editor.cc:2012 editor_actions.cc:281
+#: editor.cc:1850 editor.cc:1931 editor_actions.cc:303
msgid "Play From Edit Point"
msgstr "Wiedergabe ab Arbeitspunkt"
-#: editor.cc:1932 editor.cc:2013
+#: editor.cc:1851 editor.cc:1932
msgid "Play From Start"
msgstr "Wiedergabe ab Anfang"
-#: editor.cc:1933
+#: editor.cc:1852
msgid "Play Region"
msgstr "Region wiedergeben"
-#: editor.cc:1935
+#: editor.cc:1854
msgid "Loop Region"
msgstr "Region in Schleife wiedergeben"
-#: editor.cc:1945 editor.cc:2022
+#: editor.cc:1864 editor.cc:1941
msgid "Select All in Track"
msgstr "Alles in der Spur auswählen"
-#: editor.cc:1946 editor.cc:2023 editor_actions.cc:185
-#: export_timespan_selector.cc:53 processor_box.cc:2276
-msgid "Select All"
-msgstr "Alles auswählen"
+#: editor.cc:1865 editor.cc:1942 editor_actions.cc:194
+msgid "Select All Objects"
+msgstr ""
-#: editor.cc:1947 editor.cc:2024
+#: editor.cc:1866 editor.cc:1943
msgid "Invert Selection in Track"
msgstr "Auswahl in der Spur umkehren"
-#: editor.cc:1948 editor.cc:2025 editor_actions.cc:187
+#: editor.cc:1867 editor.cc:1944 editor_actions.cc:197
msgid "Invert Selection"
msgstr "Auswahl umkehren"
-#: editor.cc:1950
+#: editor.cc:1869
msgid "Set Range to Loop Range"
msgstr "Bereich als Schleife auswählen"
-#: editor.cc:1951
+#: editor.cc:1870
msgid "Set Range to Punch Range"
msgstr "Bereich als Punchbereich"
-#: editor.cc:1953 editor.cc:2027 editor_actions.cc:188
+#: editor.cc:1872 editor.cc:1946 editor_actions.cc:199 editor_actions.cc:200
msgid "Select All After Edit Point"
msgstr "Alle Regionen nach dem Arbeitspunkt auswählen"
-#: editor.cc:1954 editor.cc:2028 editor_actions.cc:189
+#: editor.cc:1873 editor.cc:1947 editor_actions.cc:201 editor_actions.cc:202
msgid "Select All Before Edit Point"
msgstr "Alle Regionen vor dem Arbeitspunkt auswählen"
-#: editor.cc:1955 editor.cc:2029
+#: editor.cc:1874 editor.cc:1948
msgid "Select All After Playhead"
msgstr "Alle Regionen nach dem Positionszeiger auswählen"
-#: editor.cc:1956 editor.cc:2030
+#: editor.cc:1875 editor.cc:1949
msgid "Select All Before Playhead"
msgstr "Alle Regionen vor dem Positionszeiger auswählen"
-#: editor.cc:1957
+#: editor.cc:1876
msgid "Select All Between Playhead and Edit Point"
msgstr "Alle zwischen Positionszeiger und Arbeitspunkt auswählen"
-#: editor.cc:1958
+#: editor.cc:1877
msgid "Select All Within Playhead and Edit Point"
msgstr "Alles zwischen Positionszeiger und Arbeitspunkt auswählen"
-#: editor.cc:1959
+#: editor.cc:1878
msgid "Select Range Between Playhead and Edit Point"
msgstr "Wähle Bereich zwischen Positionszeiger und Arbeitspunkt aus"
-#: editor.cc:1961 editor.cc:2032 editor_actions.cc:127 editor_actions.cc:128
+#: editor.cc:1880 editor.cc:1951 editor_actions.cc:131 editor_actions.cc:132
msgid "Select"
msgstr "Auswahl"
-#: editor.cc:1969 editor.cc:2040 editor_actions.cc:309 processor_box.cc:2261
+#: editor.cc:1888 editor.cc:1959 editor_actions.cc:334 processor_box.cc:2495
msgid "Cut"
msgstr "Ausschneiden"
-#: editor.cc:1970 editor.cc:2041 editor_actions.cc:312 processor_box.cc:2264
+#: editor.cc:1889 editor.cc:1960 editor_actions.cc:338 processor_box.cc:2498
msgid "Copy"
msgstr "Kopieren"
-#: editor.cc:1971 editor.cc:2042 editor_actions.cc:313 processor_box.cc:2272
+#: editor.cc:1890 editor.cc:1961 editor_actions.cc:339 processor_box.cc:2506
msgid "Paste"
msgstr "Einfügen"
-#: editor.cc:1975 editor_actions.cc:87
+#: editor.cc:1894 editor_actions.cc:91
msgid "Align"
msgstr "Ausrichten"
-#: editor.cc:1976
+#: editor.cc:1895
msgid "Align Relative"
msgstr "Relativ ausrichten"
-#: editor.cc:1983
+#: editor.cc:1902
msgid "Insert Selected Region"
msgstr "Ausgewählte Region einfügen"
-#: editor.cc:1984
+#: editor.cc:1903
msgid "Insert Existing Media"
msgstr "Vorhandenes Material importieren"
-#: editor.cc:1993 editor.cc:2049
+#: editor.cc:1912 editor.cc:1968
msgid "Nudge Entire Track Later"
msgstr "Gesamte Spur schrittweise nach hinten"
-#: editor.cc:1994 editor.cc:2050
+#: editor.cc:1913 editor.cc:1969
msgid "Nudge Track After Edit Point Later"
msgstr "Spur nach Arbeitspunkt schrittweise nach hinten"
-#: editor.cc:1995 editor.cc:2051
+#: editor.cc:1914 editor.cc:1970
msgid "Nudge Entire Track Earlier"
msgstr "Gesamte Spur schrittweise nach vorne"
-#: editor.cc:1996 editor.cc:2052
+#: editor.cc:1915 editor.cc:1971
msgid "Nudge Track After Edit Point Earlier"
msgstr "Spur nach Arbeitspunkt schrittweise nach vorne"
-#: editor.cc:1998 editor.cc:2054
+#: editor.cc:1917 editor.cc:1973
msgid "Nudge"
msgstr "Verschieben"
-#: editor.cc:3074
+#: editor.cc:2916 editor.cc:3491 editor.cc:3561 midi_channel_selector.cc:159
+#: midi_channel_selector.cc:397 midi_channel_selector.cc:433
+msgid "All"
+msgstr "Alle"
+
+#: editor.cc:3122
msgid "Smart Mode (add Range functions to Object mode)"
msgstr "Smart-Modus (zusätzliche Bereichsfunktionen m Objekt-Modus)"
-#: editor.cc:3075
+#: editor.cc:3123
msgid "Object Mode (select/move Objects)"
msgstr "Objekt-Modus (Objekte auswählen/verschieben)"
-#: editor.cc:3076
+#: editor.cc:3124
+msgid "Cut Mode (split Regions)"
+msgstr ""
+
+#: editor.cc:3125
msgid "Range Mode (select/move Ranges)"
msgstr "Bereichs-Modus (Bereiche auswählen/verschieben)"
-#: editor.cc:3077
+#: editor.cc:3126
msgid "Draw/Edit MIDI Notes"
msgstr "MIDI Noten eingeben/editieren"
-#: editor.cc:3078
+#: editor.cc:3127
msgid "Draw Region Gain"
msgstr "Lautstärkeautomation zeichnen"
-#: editor.cc:3079
+#: editor.cc:3128
msgid "Select Zoom Range"
msgstr "Zoombereich auswählen"
-#: editor.cc:3080
+#: editor.cc:3129
msgid "Stretch/Shrink Regions and MIDI Notes"
msgstr "Regionen und MIDI-Noten strecken/stauchen (Time-Stretch)"
-#: editor.cc:3081
+#: editor.cc:3130
msgid "Listen to Specific Regions"
msgstr "Ausgewählte Regionen vorhören"
-#: editor.cc:3082
+#: editor.cc:3131
msgid "Note Level Editing"
msgstr "Auf Notenebene bearbeiten"
-#: editor.cc:3083
+#: editor.cc:3132
msgid ""
"Groups: click to (de)activate\n"
"Context-click for other operations"
@@ -3004,51 +3022,59 @@ msgstr ""
"Gruppen: Klicken zum (De)aktivieren\n"
"Rechtsklick für Optionen"
-#: editor.cc:3084
+#: editor.cc:3133
msgid "Nudge Region/Selection Later"
msgstr "Region/Auswahl schrittweise nach hinten"
-#: editor.cc:3085
+#: editor.cc:3134
msgid "Nudge Region/Selection Earlier"
msgstr "Region/Auswahl schrittweise nach vorne"
-#: editor.cc:3086 editor_actions.cc:242
+#: editor.cc:3135 editor_actions.cc:262
msgid "Zoom In"
msgstr "Vergrößern"
-#: editor.cc:3087 editor_actions.cc:241
+#: editor.cc:3136 editor_actions.cc:261
msgid "Zoom Out"
msgstr "Verkleinern"
-#: editor.cc:3088 editor_actions.cc:243
+#: editor.cc:3137
+msgid "Zoom to Time Scale"
+msgstr ""
+
+#: editor.cc:3138 editor.cc:3513 editor_actions.cc:263
msgid "Zoom to Session"
msgstr "Auf ganzes Projekt zoomen"
-#: editor.cc:3089
+#: editor.cc:3139
msgid "Zoom focus"
msgstr "Zoom-Mittelpunkt"
-#: editor.cc:3090
+#: editor.cc:3140
msgid "Expand Tracks"
msgstr "Spuren vergrößern"
-#: editor.cc:3091
+#: editor.cc:3141
msgid "Shrink Tracks"
msgstr "Spuren verkleinern"
-#: editor.cc:3092
+#: editor.cc:3142
+msgid "Number of visible tracks"
+msgstr ""
+
+#: editor.cc:3143
msgid "Snap/Grid Units"
msgstr "Rastereinheiten"
-#: editor.cc:3093
+#: editor.cc:3144
msgid "Snap/Grid Mode"
msgstr "Einrastmodus"
-#: editor.cc:3095
+#: editor.cc:3146
msgid "Edit Mode"
msgstr "Bearbeitungsmodus"
-#: editor.cc:3096
+#: editor.cc:3147
msgid ""
"Nudge Clock\n"
"(controls distance used to nudge regions and selections)"
@@ -3057,39 +3083,124 @@ msgstr ""
"(bestimmt den Abstand für das schrittweise Verschieben von Regionen und "
"Bereichen)"
-#: editor.cc:3198
-msgid "malformed URL passed to drag-n-drop code"
-msgstr "Ungültige URL an drag-n-drop-Code weitergeleitet"
-
-#: editor.cc:3260 editor_actions.cc:291
+#: editor.cc:3285 editor_actions.cc:313
msgid "Command|Undo"
msgstr "Rückgängig"
-#: editor.cc:3262
+#: editor.cc:3287
msgid "Command|Undo (%1)"
msgstr "Rückgängig (%1)"
-#: editor.cc:3269 editor_actions.cc:292
+#: editor.cc:3294 editor_actions.cc:315 editor_actions.cc:316
+#: editor_actions.cc:317
msgid "Redo"
msgstr "Wiederherstellen"
-#: editor.cc:3271
+#: editor.cc:3296
msgid "Redo (%1)"
msgstr "Wiederherstellen (%1)"
-#: editor.cc:3290 editor.cc:3314 editor_actions.cc:106 editor_actions.cc:1794
+#: editor.cc:3315 editor.cc:3339 editor_actions.cc:110 editor_actions.cc:1842
msgid "Duplicate"
msgstr "Duplizieren"
-#: editor.cc:3291
+#: editor.cc:3316
msgid "Number of duplications:"
msgstr "Anzahl der Duplikate:"
-#: editor.cc:3868
+#: editor.cc:3490
+msgid "Selected"
+msgstr ""
+
+#: editor.cc:3493
+msgid "Fit 1 track"
+msgstr ""
+
+#: editor.cc:3494
+msgid "Fit 2 tracks"
+msgstr ""
+
+#: editor.cc:3495
+msgid "Fit 4 tracks"
+msgstr ""
+
+#: editor.cc:3496
+msgid "Fit 8 tracks"
+msgstr ""
+
+#: editor.cc:3497
+msgid "Fit 16 tracks"
+msgstr ""
+
+#: editor.cc:3498
+msgid "Fit 24 tracks"
+msgstr ""
+
+#: editor.cc:3499
+msgid "Fit 32 tracks"
+msgstr ""
+
+#: editor.cc:3500
+msgid "Fit 48 tracks"
+msgstr ""
+
+#: editor.cc:3501
+msgid "Fit All tracks"
+msgstr ""
+
+#: editor.cc:3502
+msgid "Fit Selected tracks"
+msgstr ""
+
+#: editor.cc:3504
+msgid "Zoom to 10 ms"
+msgstr ""
+
+#: editor.cc:3505
+msgid "Zoom to 100 ms"
+msgstr ""
+
+#: editor.cc:3506
+msgid "Zoom to 1 sec"
+msgstr ""
+
+#: editor.cc:3507
+msgid "Zoom to 10 sec"
+msgstr ""
+
+#: editor.cc:3508
+msgid "Zoom to 1 min"
+msgstr ""
+
+#: editor.cc:3509
+msgid "Zoom to 10 min"
+msgstr ""
+
+#: editor.cc:3510
+msgid "Zoom to 1 hour"
+msgstr ""
+
+#: editor.cc:3511
+msgid "Zoom to 8 hours"
+msgstr ""
+
+#: editor.cc:3512
+msgid "Zoom to 24 hours"
+msgstr ""
+
+#: editor.cc:3514
+msgid "Zoom to Range/Region Selection"
+msgstr ""
+
+#: editor.cc:3583
+msgid "*"
+msgstr ""
+
+#: editor.cc:3918
msgid "Playlist Deletion"
msgstr "Löschen von Wiedergabelisten"
-#: editor.cc:3869
+#: editor.cc:3919
msgid ""
"Playlist %1 is currently unused.\n"
"If it is kept, its audio files will not be cleaned.\n"
@@ -3101,1307 +3212,1299 @@ msgstr ""
"Falls sie gelöscht wird, werden die ausschließlich von ihr verwendeten "
"Audiodateien gelöscht."
-#: editor.cc:3879
+#: editor.cc:3929
msgid "Delete Playlist"
msgstr "Wiedergabeliste löschen"
-#: editor.cc:3880
+#: editor.cc:3930
msgid "Keep Playlist"
msgstr "Wiedergabeliste behalten"
-#: editor.cc:3881 editor_audio_import.cc:581 editor_ops.cc:5856
-#: engine_dialog.cc:1711 sfdb_freesound_mootcher.cc:69 processor_box.cc:2030
-#: processor_box.cc:2055
+#: editor.cc:3931 editor_audio_import.cc:579 editor_ops.cc:5931
+#: engine_dialog.cc:1985 sfdb_freesound_mootcher.cc:69 processor_box.cc:2263
+#: processor_box.cc:2288
msgid "Cancel"
msgstr "Abbrechen"
-#: editor.cc:4025
+#: editor.cc:4065
msgid "new playlists"
msgstr "Neue Wiedergabelisten"
-#: editor.cc:4041
+#: editor.cc:4081
msgid "copy playlists"
msgstr "Wiedergabelisten kopieren"
-#: editor.cc:4056
+#: editor.cc:4096
msgid "clear playlists"
msgstr "Wiedergabelisten zurücksetzen"
-#: editor.cc:4691
+#: editor.cc:4771
msgid "Please wait while %1 loads visual data."
msgstr "Bitte warten Sie, während %1 die Daten zur Anzeige des Projekts lädt."
-#: editor.cc:5496 editor_markers.cc:940 panner_ui.cc:392 processor_box.cc:2292
+#: editor.cc:5592 editor_markers.cc:954 panner_ui.cc:409 processor_box.cc:2526
msgid "Edit..."
msgstr "Bearbeiten..."
-#: editor_actions.cc:88
+#: editor_actions.cc:92
msgid "Autoconnect"
msgstr "Automatisch verbinden"
-#: editor_actions.cc:89
+#: editor_actions.cc:93
msgid "Crossfades"
msgstr "Crossfades"
-#: editor_actions.cc:91
+#: editor_actions.cc:95
msgid "Move Selected Marker"
msgstr "Ausgewählten Positionsmarker verschieben"
-#: editor_actions.cc:92
+#: editor_actions.cc:96
msgid "Select Range Operations"
msgstr "Bereichs"
-#: editor_actions.cc:93
+#: editor_actions.cc:97
msgid "Select Regions"
msgstr "Region auswählen"
-#: editor_actions.cc:94
+#: editor_actions.cc:98
msgid "Edit Point"
msgstr "Arbeitspunkt"
-#: editor_actions.cc:95
+#: editor_actions.cc:99
msgid "Fade"
msgstr "Fade"
-#: editor_actions.cc:96
+#: editor_actions.cc:100
msgid "Latch"
msgstr "Latch"
-#: editor_actions.cc:97 editor_regions.cc:111 region_editor.cc:46
+#: editor_actions.cc:101 editor_regions.cc:112 region_editor.cc:45
msgid "Region"
msgstr "Region"
-#: editor_actions.cc:98
+#: editor_actions.cc:102
msgid "Layering"
msgstr "Layering"
-#: editor_actions.cc:99 editor_regions.cc:112 gtk-custom-ruler.c:152
-#: stereo_panner_editor.cc:44
+#: editor_actions.cc:103 editor_regions.cc:113 stereo_panner_editor.cc:44
msgid "Position"
msgstr "Position"
-#: editor_actions.cc:101 gain_meter.cc:120 gain_meter.cc:794 panner_ui.cc:176
-#: panner_ui.cc:585
+#: editor_actions.cc:105 gain_meter.cc:122 gain_meter.cc:800 panner_ui.cc:177
+#: panner_ui.cc:634
msgid "Trim"
msgstr "Anpassen"
-#: editor_actions.cc:102 editor_actions.cc:122 route_group_dialog.cc:40
+#: editor_actions.cc:106 editor_actions.cc:126 route_group_dialog.cc:46
msgid "Gain"
msgstr "Lautstärke"
-#: editor_actions.cc:103 editor_actions.cc:538
+#: editor_actions.cc:107 editor_actions.cc:573
msgid "Ranges"
msgstr "Bereiche"
-#: editor_actions.cc:104 editor_actions.cc:1790 session_option_editor.cc:145
-#: session_option_editor.cc:147 session_option_editor.cc:156
-#: session_option_editor.cc:163
+#: editor_actions.cc:108 editor_actions.cc:1838 session_option_editor.cc:135
+#: session_option_editor.cc:144 session_option_editor.cc:151
msgid "Fades"
msgstr "Fades"
-#: editor_actions.cc:107
+#: editor_actions.cc:111
msgid "Link"
-msgstr "Link"
+msgstr "Verknüpfen"
-#: editor_actions.cc:108 editor_actions.cc:141
+#: editor_actions.cc:112 editor_actions.cc:145
msgid "Zoom Focus"
msgstr "Zoom Fokus"
-#: editor_actions.cc:109
+#: editor_actions.cc:113
msgid "Locate to Markers"
msgstr "Positionszeiger zu Marker setzen"
-#: editor_actions.cc:110 editor_actions.cc:539
-msgid "Markers"
-msgstr "Marker"
-
-#: editor_actions.cc:111
+#: editor_actions.cc:115
msgid "Meter falloff"
msgstr "Abfall der Pegelanzeigen"
-#: editor_actions.cc:112
+#: editor_actions.cc:116
msgid "Meter hold"
msgstr "Pegelanzeige halten"
-#: editor_actions.cc:113 session_option_editor.cc:234
+#: editor_actions.cc:117 session_option_editor.cc:321
msgid "MIDI Options"
msgstr "MIDI Optionen"
-#: editor_actions.cc:114
+#: editor_actions.cc:118
msgid "Misc Options"
msgstr "Sonstiges"
-#: editor_actions.cc:115 rc_option_editor.cc:1450 route_group_dialog.cc:48
-#: session_option_editor.cc:218 session_option_editor.cc:225
+#: editor_actions.cc:119 rc_option_editor.cc:1714 route_group_dialog.cc:54
+#: session_option_editor.cc:243 session_option_editor.cc:250
msgid "Monitoring"
msgstr "Monitoring"
-#: editor_actions.cc:116
+#: editor_actions.cc:120
msgid "Active Mark"
msgstr "Aktiver Marker"
-#: editor_actions.cc:119
+#: editor_actions.cc:123
msgid "Primary Clock"
msgstr "Erste Zeitanzeige"
-#: editor_actions.cc:120
+#: editor_actions.cc:124
msgid "Pullup / Pulldown"
msgstr "Pull-Up / Pull-Down"
-#: editor_actions.cc:121
+#: editor_actions.cc:125
msgid "Region operations"
msgstr "Region(en)"
-#: editor_actions.cc:123
+#: editor_actions.cc:127 ruler_dialog.cc:28
msgid "Rulers"
msgstr "Markierungsleisten"
-#: editor_actions.cc:124
+#: editor_actions.cc:128
msgid "Views"
msgstr "Ansichten"
-#: editor_actions.cc:125
+#: editor_actions.cc:129
msgid "Scroll"
msgstr "Scrollen"
-#: editor_actions.cc:126
+#: editor_actions.cc:130
msgid "Secondary Clock"
msgstr "Zweite Zeitanzeige"
-#: editor_actions.cc:129 editor_actions.cc:297
+#: editor_actions.cc:133 editor_actions.cc:322
msgid "Separate"
msgstr "Teilen"
-#: editor_actions.cc:132 mixer_strip.cc:1914 route_time_axis.cc:208
-#: route_time_axis.cc:2417
-msgid "Solo"
-msgstr "Solo"
-
-#: editor_actions.cc:133
+#: editor_actions.cc:137
msgid "Subframes"
msgstr "Subframes"
-#: editor_actions.cc:136
+#: editor_actions.cc:140
msgid "Timecode fps"
msgstr "Timecode FPS"
-#: editor_actions.cc:137 route_time_axis.cc:430
+#: editor_actions.cc:141 route_time_axis.cc:548
msgid "Height"
msgstr "Höhe"
-#: editor_actions.cc:139
+#: editor_actions.cc:143
msgid "Tools"
msgstr "Werkzeuge"
-#: editor_actions.cc:140
+#: editor_actions.cc:144
msgid "View"
msgstr "Ansicht"
-#: editor_actions.cc:142
+#: editor_actions.cc:146
msgid "Zoom"
msgstr "Zoom"
-#: editor_actions.cc:148
+#: editor_actions.cc:152
msgid "Break drag or deselect all"
msgstr "Ziehen abbrechen oder alles deselektieren"
-#: editor_actions.cc:150
+#: editor_actions.cc:159
msgid "Show Editor Mixer"
msgstr "Mixer-Panel zeigen"
-#: editor_actions.cc:151
+#: editor_actions.cc:160
msgid "Show Editor List"
msgstr "Seitenleiste anzeigen"
-#: editor_actions.cc:153
+#: editor_actions.cc:162
msgid "Playhead to Next Region Boundary"
msgstr "Positionszeiger zur nächsten Regiongrenze"
-#: editor_actions.cc:154
+#: editor_actions.cc:163
msgid "Playhead to Next Region Boundary (No Track Selection)"
msgstr "Positionszeiger zur nächsten Regiongrenze (ohne Spurauswahl)"
-#: editor_actions.cc:155
+#: editor_actions.cc:164
msgid "Playhead to Previous Region Boundary"
msgstr "Positionszeiger zur vorherigen Regiongrenze"
-#: editor_actions.cc:156
+#: editor_actions.cc:165
msgid "Playhead to Previous Region Boundary (No Track Selection)"
msgstr "Positionszeiger zur vorherigen Regiongrenze (ohne Spurauswahl)"
-#: editor_actions.cc:158
+#: editor_actions.cc:167
msgid "Playhead to Next Region Start"
msgstr "Positionszeiger zum Anfang der nächsten Region"
-#: editor_actions.cc:159
+#: editor_actions.cc:168
msgid "Playhead to Next Region End"
msgstr "Positionszeiger zum Ende der nächsten Region"
-#: editor_actions.cc:160
+#: editor_actions.cc:169
msgid "Playhead to Next Region Sync"
msgstr "Positionszeiger zum Einrastpunkt der nächsten Region"
-#: editor_actions.cc:162
+#: editor_actions.cc:171
msgid "Playhead to Previous Region Start"
msgstr "Positionszeiger zum Anfang der vorherigen Region"
-#: editor_actions.cc:163
+#: editor_actions.cc:172
msgid "Playhead to Previous Region End"
msgstr "Positionszeiger zum Ende der vorherigen Region"
-#: editor_actions.cc:164
+#: editor_actions.cc:173
msgid "Playhead to Previous Region Sync"
msgstr "Positionszeiger zum Einrastpunkt der vorherigen Region"
-#: editor_actions.cc:166
+#: editor_actions.cc:175
msgid "To Next Region Boundary"
msgstr "Zur nächsten Regiongrenze"
-#: editor_actions.cc:167
+#: editor_actions.cc:176
msgid "To Next Region Boundary (No Track Selection)"
msgstr "Zur nächsten Regiongrenze (ohne Spurauswahl)"
-#: editor_actions.cc:168
+#: editor_actions.cc:177
msgid "To Previous Region Boundary"
msgstr "Zur vorherigen Regiongrenze"
-#: editor_actions.cc:169
+#: editor_actions.cc:178
msgid "To Previous Region Boundary (No Track Selection)"
msgstr "Zur vorherigen Regiongrenze (ohne Spurauswahl)"
-#: editor_actions.cc:171
+#: editor_actions.cc:180
msgid "To Next Region Start"
msgstr "Zum nächsten Regionen-Anfang"
-#: editor_actions.cc:172
+#: editor_actions.cc:181
msgid "To Next Region End"
msgstr "Zum nächsten Regionen-Ende"
-#: editor_actions.cc:173
+#: editor_actions.cc:182
msgid "To Next Region Sync"
msgstr "Zum nächsten Regionen-Synchronisationspunkt"
-#: editor_actions.cc:175
+#: editor_actions.cc:184
msgid "To Previous Region Start"
msgstr "Zum vorherigen Anfang einer Region"
-#: editor_actions.cc:176
+#: editor_actions.cc:185
msgid "To Previous Region End"
msgstr "Zum vorherigen Ende einer Region"
-#: editor_actions.cc:177
+#: editor_actions.cc:186
msgid "To Previous Region Sync"
msgstr "Zum vorherigen Synchronisationspunkt einer Region"
-#: editor_actions.cc:179
+#: editor_actions.cc:188
msgid "To Range Start"
msgstr "Zum Anfang des Auswahlbereichs"
-#: editor_actions.cc:180
+#: editor_actions.cc:189
msgid "To Range End"
msgstr "Zum Ende des Auswahlbereichs"
-#: editor_actions.cc:182
+#: editor_actions.cc:191
msgid "Playhead to Range Start"
msgstr "Positionszeiger zum Anfang des Auswahlbereichs"
-#: editor_actions.cc:183
+#: editor_actions.cc:192
msgid "Playhead to Range End"
msgstr "Positionszeiger zum Ende des Auswahlbereichs"
-#: editor_actions.cc:186 export_timespan_selector.cc:61 processor_box.cc:2278
+#: editor_actions.cc:195
+msgid "Select All Tracks"
+msgstr ""
+
+#: editor_actions.cc:196 export_timespan_selector.cc:61 processor_box.cc:2512
msgid "Deselect All"
msgstr "Nichts auswählen"
-#: editor_actions.cc:191
+#: editor_actions.cc:204
msgid "Select All Overlapping Edit Range"
msgstr "Alle Regionen des Bearbeitungsbereichs auswählen "
-#: editor_actions.cc:192
+#: editor_actions.cc:205
msgid "Select All Inside Edit Range"
msgstr "Alles inerhalb des Bearbeitungsbereichs auswählen"
-#: editor_actions.cc:194
+#: editor_actions.cc:207
msgid "Select Edit Range"
msgstr "Editierbereich auswählen"
-#: editor_actions.cc:196
+#: editor_actions.cc:209
msgid "Select All in Punch Range"
msgstr "Alle Regionen im Punchbereich auswählen"
-#: editor_actions.cc:197
+#: editor_actions.cc:210
msgid "Select All in Loop Range"
msgstr "Alle Regionen innerhalb der Schleife auswählen"
-#: editor_actions.cc:199
+#: editor_actions.cc:212
msgid "Select Next Track or Bus"
msgstr "Nächste Spur/Bus auswählen"
-#: editor_actions.cc:200
+#: editor_actions.cc:213
msgid "Select Previous Track or Bus"
msgstr "Vorherige Spur/Bus auswählen"
-#: editor_actions.cc:202
+#: editor_actions.cc:215
msgid "Toggle Record Enable"
msgstr "Aufnahme aktivieren"
-#: editor_actions.cc:204
+#: editor_actions.cc:217
msgid "Toggle Solo"
msgstr "Solo umschalten"
-#: editor_actions.cc:206
+#: editor_actions.cc:219
msgid "Toggle Mute"
msgstr "Mute umschalten"
-#: editor_actions.cc:208
+#: editor_actions.cc:221
msgid "Toggle Solo Isolate"
msgstr "Isoliertes Solo umschalten"
-#: editor_actions.cc:213
+#: editor_actions.cc:226
msgid "Save View %1"
msgstr "Ansicht %1 speichern"
-#: editor_actions.cc:219
+#: editor_actions.cc:232
msgid "Goto View %1"
msgstr "Ansicht %1 aufrufen"
-#: editor_actions.cc:225
+#: editor_actions.cc:238
msgid "Locate to Mark %1"
msgstr "Positionszeiger zu Marker %1 setzen"
-#: editor_actions.cc:229
+#: editor_actions.cc:242 editor_actions.cc:243
msgid "Jump to Next Mark"
msgstr "Zu nächstem Marker springen"
-#: editor_actions.cc:230
+#: editor_actions.cc:244 editor_actions.cc:245
msgid "Jump to Previous Mark"
msgstr "Zur vorherigen Marker springen"
-#: editor_actions.cc:231
+#: editor_actions.cc:247 editor_actions.cc:248
msgid "Add Mark from Playhead"
msgstr "Marker am Positionszeiger setzen"
-#: editor_actions.cc:233
+#: editor_actions.cc:250 editor_actions.cc:251
+msgid "Remove Mark at Playhead"
+msgstr ""
+
+#: editor_actions.cc:253
msgid "Nudge Next Later"
msgstr "Nächste Region schrittweise nach hinten"
-#: editor_actions.cc:234
+#: editor_actions.cc:254
msgid "Nudge Next Earlier"
msgstr "Nächste Region schrittweise nach vorne"
-#: editor_actions.cc:236
+#: editor_actions.cc:256
msgid "Nudge Playhead Forward"
msgstr "Positionszeiger vorwärts"
-#: editor_actions.cc:237
+#: editor_actions.cc:257
msgid "Nudge Playhead Backward"
msgstr "Positionszeiger rückwärts"
-#: editor_actions.cc:238
+#: editor_actions.cc:258
msgid "Playhead To Next Grid"
msgstr "Positionszeiger zum nächsten Rasterpunkt"
-#: editor_actions.cc:239
+#: editor_actions.cc:259
msgid "Playhead To Previous Grid"
msgstr "Positionszeiger zum vorherigen Rasterpunkt"
-#: editor_actions.cc:244
+#: editor_actions.cc:264
msgid "Zoom to Region"
msgstr "Auf Region zoomen"
-#: editor_actions.cc:245
+#: editor_actions.cc:265
msgid "Zoom to Region (Width and Height)"
msgstr "Auf Region zoomen (Breite und Höhe)"
-#: editor_actions.cc:246
+#: editor_actions.cc:267
+msgid "Zoom to Range (Width and Height)"
+msgstr ""
+
+#: editor_actions.cc:268
msgid "Toggle Zoom State"
msgstr "Letzten Zoom wählen"
-#: editor_actions.cc:248
+#: editor_actions.cc:270
msgid "Expand Track Height"
msgstr "Spurhöhe vergrößern"
-#: editor_actions.cc:249
+#: editor_actions.cc:271
msgid "Shrink Track Height"
msgstr "Spurhöhe verkleinern"
-#: editor_actions.cc:251
+#: editor_actions.cc:273
msgid "Move Selected Tracks Up"
msgstr "Ausgewählte Spuren nach oben verschieben"
-#: editor_actions.cc:253
+#: editor_actions.cc:275
msgid "Move Selected Tracks Down"
msgstr "Ausgewählte Spuren nach unten verschieben"
-#: editor_actions.cc:256
+#: editor_actions.cc:278
msgid "Scroll Tracks Up"
msgstr "Spuren nach oben scrollen"
-#: editor_actions.cc:258
+#: editor_actions.cc:280
msgid "Scroll Tracks Down"
msgstr "Spuren nach unten scrollen"
-#: editor_actions.cc:260
+#: editor_actions.cc:282
msgid "Step Tracks Up"
msgstr "Spuren langsam nach oben scrollen"
-#: editor_actions.cc:262
+#: editor_actions.cc:284
msgid "Step Tracks Down"
msgstr "Spuren langsam nach unten scrollen"
-#: editor_actions.cc:265
+#: editor_actions.cc:287
msgid "Scroll Backward"
msgstr "Nach rechts scrollen"
-#: editor_actions.cc:266
+#: editor_actions.cc:288
msgid "Scroll Forward"
msgstr "Nach links scrollen"
-#: editor_actions.cc:267
+#: editor_actions.cc:289
msgid "Center Playhead"
msgstr "Positionszeiger zentrieren"
-#: editor_actions.cc:268
+#: editor_actions.cc:290
msgid "Center Edit Point"
msgstr "Arbeitspunkt zentrieren"
-#: editor_actions.cc:270
+#: editor_actions.cc:292
msgid "Playhead Forward"
msgstr "Positionszeiger vorwärts"
-#: editor_actions.cc:271
+#: editor_actions.cc:293
msgid "Playhead Backward"
msgstr "Positionszeiger rückwärts"
-#: editor_actions.cc:273
+#: editor_actions.cc:295
msgid "Playhead to Active Mark"
msgstr "Positionszeiger zur aktiven Markierung"
-#: editor_actions.cc:274
+#: editor_actions.cc:296
msgid "Active Mark to Playhead"
msgstr "Aktiven Marker zum Positionszeiger verschieben"
-#: editor_actions.cc:276
+#: editor_actions.cc:298
msgid "Set Loop from Edit Range"
msgstr "Schleife aus Editierbereich erstellen"
-#: editor_actions.cc:277
+#: editor_actions.cc:299
msgid "Set Punch from Edit Range"
msgstr "Punch-Bereich aus Editierbereich erstellen"
-#: editor_actions.cc:280
+#: editor_actions.cc:302
msgid "Play Selected Regions"
msgstr "Ausgewählte Regionen wiedergeben"
-#: editor_actions.cc:282
+#: editor_actions.cc:304
msgid "Play from Edit Point and Return"
msgstr "Wiedergabe ab Arbeitspunkt & Zurück"
-#: editor_actions.cc:284
+#: editor_actions.cc:306
msgid "Play Edit Range"
msgstr "Editierbereich wiedergeben"
-#: editor_actions.cc:286
+#: editor_actions.cc:308
msgid "Playhead to Mouse"
msgstr "Positionszeiger zur Mausposition"
-#: editor_actions.cc:287
+#: editor_actions.cc:309
msgid "Active Marker to Mouse"
msgstr "Aktiven Marker zur Mausposition"
-#: editor_actions.cc:294
+#: editor_actions.cc:319
msgid "Export Audio"
msgstr "Audio exportieren"
-#: editor_actions.cc:295 export_dialog.cc:406
+#: editor_actions.cc:320 export_dialog.cc:396
msgid "Export Range"
msgstr "Bereiche exportieren..."
-#: editor_actions.cc:300
+#: editor_actions.cc:325
msgid "Separate Using Punch Range"
msgstr "an Punch-Bereichsgrenzen teilen"
-#: editor_actions.cc:303
+#: editor_actions.cc:328
msgid "Separate Using Loop Range"
msgstr "an Schleifengrenzen teilen"
-#: editor_actions.cc:306 editor_actions.cc:323
+#: editor_actions.cc:331 editor_actions.cc:353
msgid "Crop"
msgstr "Auf Bereich zuschneiden"
-#: editor_actions.cc:315
+#: editor_actions.cc:341
+msgid "Fade Range Selection"
+msgstr ""
+
+#: editor_actions.cc:343
msgid "Set Tempo from Edit Range = Bar"
msgstr "Editierbereich = Taktlänge setzen"
-#: editor_actions.cc:317
+#: editor_actions.cc:345
msgid "Log"
msgstr "Log"
-#: editor_actions.cc:320
+#: editor_actions.cc:348 editor_actions.cc:349
msgid "Move Later to Transient"
msgstr "Zum nächsten Transienten bewegen"
-#: editor_actions.cc:321
+#: editor_actions.cc:350 editor_actions.cc:351
msgid "Move Earlier to Transient"
msgstr "Zum vorigen Transienten bewegen"
-#: editor_actions.cc:325
+#: editor_actions.cc:355 editor_actions.cc:358
msgid "Start Range"
msgstr "Bereich beginnen"
-#: editor_actions.cc:326
+#: editor_actions.cc:356 editor_actions.cc:359
msgid "Finish Range"
msgstr "Bereich beenden"
-#: editor_actions.cc:327
-msgid "Finish Add Range"
-msgstr "Bereich hinzufügen beenden"
-
-#: editor_actions.cc:357
+#: editor_actions.cc:391
msgid "Follow Playhead"
msgstr "Positionszeiger folgen"
-#: editor_actions.cc:358
+#: editor_actions.cc:392
msgid "Remove Last Capture"
msgstr "Letzte Aufnahme entfernen"
-#: editor_actions.cc:360
+#: editor_actions.cc:394
msgid "Stationary Playhead"
msgstr "stehender Positionszeiger"
-#: editor_actions.cc:362 insert_time_dialog.cc:32
+#: editor_actions.cc:396 insert_time_dialog.cc:32
msgid "Insert Time"
msgstr "Stille Einfügen"
-#: editor_actions.cc:365
+#: editor_actions.cc:399
msgid "Toggle Active"
msgstr "Spur Aktivieren / Deaktivieren"
-#: editor_actions.cc:370 editor_actions.cc:1716 editor_markers.cc:876
-#: editor_markers.cc:941 editor_snapshots.cc:121 mixer_strip.cc:1495
-#: route_time_axis.cc:710
+#: editor_actions.cc:404 editor_actions.cc:1764 editor_markers.cc:890
+#: editor_markers.cc:955 editor_snapshots.cc:122 mixer_strip.cc:1506
+#: route_time_axis.cc:829
msgid "Remove"
msgstr "Löschen"
-#: editor_actions.cc:374
+#: editor_actions.cc:408
msgid "Fit Selected Tracks"
msgstr "An ausgewählte Spuren anpassen"
-#: editor_actions.cc:376 time_axis_view.cc:1302
+#: editor_actions.cc:411 time_axis_view.cc:1336
msgid "Largest"
msgstr "Am größten"
-#: editor_actions.cc:379 time_axis_view.cc:1303
+#: editor_actions.cc:414 time_axis_view.cc:1337
msgid "Larger"
msgstr "Größer"
-#: editor_actions.cc:382 editor_rulers.cc:375 time_axis_view.cc:1304
+#: editor_actions.cc:417 editor_rulers.cc:249 time_axis_view.cc:1338
msgid "Large"
msgstr "Groß"
-#: editor_actions.cc:388 editor_rulers.cc:379 time_axis_view.cc:1306
+#: editor_actions.cc:423 editor_rulers.cc:253 time_axis_view.cc:1340
msgid "Small"
msgstr "Klein"
-#: editor_actions.cc:392
+#: editor_actions.cc:427
msgid "Sound Selected MIDI Notes"
msgstr "ausgewählte Noten abspielen"
-#: editor_actions.cc:397
+#: editor_actions.cc:432
msgid "Zoom Focus Left"
msgstr "Am linken Rand ausrichten"
-#: editor_actions.cc:398
+#: editor_actions.cc:433
msgid "Zoom Focus Right"
msgstr "Am rechten Rand ausrichten"
-#: editor_actions.cc:399
+#: editor_actions.cc:434
msgid "Zoom Focus Center"
msgstr "Zentriert ausrichten"
-#: editor_actions.cc:400
+#: editor_actions.cc:435
msgid "Zoom Focus Playhead"
msgstr "Am Positionszeiger ausrichten"
-#: editor_actions.cc:401
+#: editor_actions.cc:436
msgid "Zoom Focus Mouse"
msgstr "Zoom Fokus zur Maus"
-#: editor_actions.cc:402
+#: editor_actions.cc:437
msgid "Zoom Focus Edit Point"
msgstr "Zoom Fokus zu Arbeitspunkt"
-#: editor_actions.cc:404
+#: editor_actions.cc:439
msgid "Next Zoom Focus"
msgstr "Zoom FokusNächster "
-#: editor_actions.cc:410
+#: editor_actions.cc:445
msgid "Smart Object Mode"
msgstr "Smarter Objektmodus"
-#: editor_actions.cc:413
+#: editor_actions.cc:448
msgid "Smart"
msgstr "Smart"
-#: editor_actions.cc:417
+#: editor_actions.cc:451
msgid "Object Tool"
msgstr "Objektwerkzeug"
-#: editor_actions.cc:423
+#: editor_actions.cc:456
msgid "Range Tool"
msgstr "Bereich-Werkzeug (Range)"
-#: editor_actions.cc:429
+#: editor_actions.cc:461
msgid "Note Drawing Tool"
msgstr "Noten-Malwerkzeug"
-#: editor_actions.cc:435
+#: editor_actions.cc:466
msgid "Gain Tool"
msgstr "Lautstärkewerkzeug (Gain)"
-#: editor_actions.cc:441
+#: editor_actions.cc:472
msgid "Zoom Tool"
msgstr "Zoom-Werkzeug"
-#: editor_actions.cc:447
+#: editor_actions.cc:478
msgid "Audition Tool"
msgstr "Vorhör-Werkzeug"
-#: editor_actions.cc:453
+#: editor_actions.cc:483
msgid "Time FX Tool"
msgstr "TimeFX-Werkzeug"
-#: editor_actions.cc:459
+#: editor_actions.cc:489
+msgid "Cut Tool"
+msgstr ""
+
+#: editor_actions.cc:495
msgid "Step Mouse Mode"
msgstr "Schritt-Mausmodus"
-#: editor_actions.cc:461
+#: editor_actions.cc:497
msgid "Edit MIDI"
msgstr "Midi bearbeiten"
-#: editor_actions.cc:472
+#: editor_actions.cc:507
msgid "Change Edit Point"
msgstr "Arbeitspunkt ändern"
-#: editor_actions.cc:473
+#: editor_actions.cc:508
msgid "Change Edit Point Including Marker"
msgstr "Arbeitspunkt ändern (auch auf Marker wechseln)"
-#: editor_actions.cc:475
-msgid "Splice"
-msgstr "Splice"
-
-#: editor_actions.cc:477
-msgid "Slide"
-msgstr "Slide"
-
-#: editor_actions.cc:478 editor_actions.cc:1737 editor_markers.cc:860
-#: editor_rulers.cc:386 location_ui.cc:56
-msgid "Lock"
-msgstr "Sperren"
-
-#: editor_actions.cc:479
-msgid "Toggle Edit Mode"
-msgstr "Bearbeitungsmodus ändern"
+#: editor_actions.cc:514
+msgid "Cycle Edit Mode"
+msgstr ""
-#: editor_actions.cc:481
+#: editor_actions.cc:516
msgid "Snap to"
msgstr "Einrasten"
-#: editor_actions.cc:482
+#: editor_actions.cc:517
msgid "Snap Mode"
msgstr "Einrastmodus"
-#: editor_actions.cc:489
+#: editor_actions.cc:524
msgid "Next Snap Mode"
msgstr "Nächster Einrastmodus"
-#: editor_actions.cc:490
+#: editor_actions.cc:525
msgid "Next Snap Choice"
msgstr "Nächste Einrastmöglichkeit"
-#: editor_actions.cc:491
+#: editor_actions.cc:526
msgid "Next Musical Snap Choice"
msgstr "Nächster Einrastmöglichkeit (musikalisch)"
-#: editor_actions.cc:492
+#: editor_actions.cc:527
msgid "Previous Snap Choice"
msgstr "Vorige Einrastmöglichkeit"
-#: editor_actions.cc:493
+#: editor_actions.cc:528
msgid "Previous Musical Snap Choice"
msgstr " Vorige Einrastmöglichkeit (musikalisch)"
-#: editor_actions.cc:498
+#: editor_actions.cc:533
msgid "Snap to CD Frame"
msgstr "An CD-Frames einrasten"
-#: editor_actions.cc:499
+#: editor_actions.cc:534
msgid "Snap to Timecode Frame"
msgstr "An Timecode-Frames einrasten"
-#: editor_actions.cc:500
+#: editor_actions.cc:535
msgid "Snap to Timecode Seconds"
msgstr "An Timecode-Sekunden einrasten"
-#: editor_actions.cc:501
+#: editor_actions.cc:536
msgid "Snap to Timecode Minutes"
msgstr "An Timecode-Minuten einrasten"
-#: editor_actions.cc:502
+#: editor_actions.cc:537
msgid "Snap to Seconds"
msgstr "An Sekunden einrasten"
-#: editor_actions.cc:503
+#: editor_actions.cc:538
msgid "Snap to Minutes"
msgstr "An Minuten einrasten"
-#: editor_actions.cc:505
+#: editor_actions.cc:540
msgid "Snap to One Twenty Eighths"
msgstr "An Schläge/28 einrasten"
-#: editor_actions.cc:506
+#: editor_actions.cc:541
msgid "Snap to Sixty Fourths"
msgstr "An Schläge/128 einrasten"
-#: editor_actions.cc:507
+#: editor_actions.cc:542
msgid "Snap to Thirty Seconds"
msgstr "An Schläge/32 einrasten"
-#: editor_actions.cc:508
+#: editor_actions.cc:543
msgid "Snap to Twenty Eighths"
msgstr "An Schläge/28 einrasten"
-#: editor_actions.cc:509
+#: editor_actions.cc:544
msgid "Snap to Twenty Fourths"
msgstr "An Schläge/24 einrasten"
-#: editor_actions.cc:510
+#: editor_actions.cc:545
msgid "Snap to Twentieths"
msgstr "An Schläge/20 einrasten"
-#: editor_actions.cc:511
+#: editor_actions.cc:546
msgid "Snap to Sixteenths"
msgstr "An Schläge/16 einrasten"
-#: editor_actions.cc:512
+#: editor_actions.cc:547
msgid "Snap to Fourteenths"
msgstr "An Schläge/14 einrasten"
-#: editor_actions.cc:513
+#: editor_actions.cc:548
msgid "Snap to Twelfths"
msgstr "An Schläge/12 einrasten"
-#: editor_actions.cc:514
+#: editor_actions.cc:549
msgid "Snap to Tenths"
msgstr "An Schläge/10 einrasten"
-#: editor_actions.cc:515
+#: editor_actions.cc:550
msgid "Snap to Eighths"
msgstr "An Schläge/8 einrasten"
-#: editor_actions.cc:516
+#: editor_actions.cc:551
msgid "Snap to Sevenths"
msgstr "An Schläge/7 einrasten"
-#: editor_actions.cc:517
+#: editor_actions.cc:552
msgid "Snap to Sixths"
msgstr "An Schläge/6 einrasten"
-#: editor_actions.cc:518
+#: editor_actions.cc:553
msgid "Snap to Fifths"
msgstr "An Schläge/5 einrasten"
-#: editor_actions.cc:519
+#: editor_actions.cc:554
msgid "Snap to Quarters"
msgstr "An Schläge/4 einrasten"
-#: editor_actions.cc:520
+#: editor_actions.cc:555
msgid "Snap to Thirds"
msgstr "An Triolen einrasten"
-#: editor_actions.cc:521
+#: editor_actions.cc:556
msgid "Snap to Halves"
msgstr "An Schläge/2 einrasten"
-#: editor_actions.cc:523
+#: editor_actions.cc:558
msgid "Snap to Beat"
msgstr "An Schlägen einrasten"
-#: editor_actions.cc:524
+#: editor_actions.cc:559
msgid "Snap to Bar"
msgstr "An Takten einrasten"
-#: editor_actions.cc:525
+#: editor_actions.cc:560
msgid "Snap to Mark"
msgstr "An Markern einrasten"
-#: editor_actions.cc:526
+#: editor_actions.cc:561
msgid "Snap to Region Start"
msgstr "An Regionenanfang einrasten"
-#: editor_actions.cc:527
+#: editor_actions.cc:562
msgid "Snap to Region End"
msgstr "An Regionenende einrasten"
-#: editor_actions.cc:528
+#: editor_actions.cc:563
msgid "Snap to Region Sync"
msgstr "An Regionen-Synchronisationspunkt einrasten"
-#: editor_actions.cc:529
+#: editor_actions.cc:564
msgid "Snap to Region Boundary"
msgstr "An Regionengrenzen einrasten"
-#: editor_actions.cc:531
+#: editor_actions.cc:566
msgid "Show Marker Lines"
msgstr "Markerlinien anzeigen"
-#: editor_actions.cc:541
+#: editor_actions.cc:576
msgid "Loop/Punch"
msgstr "Schleifen/Punchbereiche"
-#: editor_actions.cc:545
+#: editor_actions.cc:580
msgid "Min:Sec"
msgstr "Min:Sek"
-#: editor_actions.cc:547 editor_actions.cc:550
+#: editor_actions.cc:582 editor_actions.cc:585
msgid "Video Monitor"
msgstr "Videomonitor"
-#: editor_actions.cc:549 rc_option_editor.cc:1829
+#: editor_actions.cc:584 rc_option_editor.cc:2134
msgid "Video"
msgstr "Video"
-#: editor_actions.cc:552
+#: editor_actions.cc:587
msgid "Always on Top"
msgstr "Immer oben"
-#: editor_actions.cc:554
+#: editor_actions.cc:589
msgid "Frame number"
msgstr "Framenummer"
-#: editor_actions.cc:555
+#: editor_actions.cc:590
msgid "Timecode Background"
msgstr "Timecode-Hintergrund"
-#: editor_actions.cc:556
+#: editor_actions.cc:591
msgid "Fullscreen"
msgstr "Vollbild"
-#: editor_actions.cc:557
+#: editor_actions.cc:592
msgid "Letterbox"
msgstr "Letterbox"
-#: editor_actions.cc:558
+#: editor_actions.cc:593
msgid "Original Size"
msgstr "Originalgröße"
-#: editor_actions.cc:608
+#: editor_actions.cc:650
msgid "Sort"
msgstr "Sortieren"
-#: editor_actions.cc:610 region_editor.cc:51
-msgid "Audition"
-msgstr "Vorhören"
-
-#: editor_actions.cc:619 editor_routes.cc:470 mixer_ui.cc:1161
+#: editor_actions.cc:661 editor_routes.cc:473 mixer_ui.cc:1181
msgid "Show All"
msgstr "Alles anzeigen"
-#: editor_actions.cc:620
+#: editor_actions.cc:662
msgid "Show Automatic Regions"
msgstr "Automatische Regionen anzeigen"
-#: editor_actions.cc:622
+#: editor_actions.cc:664
msgid "Ascending"
msgstr "aufsteigend"
-#: editor_actions.cc:624
+#: editor_actions.cc:666
msgid "Descending"
msgstr "absteigend"
-#: editor_actions.cc:627
+#: editor_actions.cc:669
msgid "By Region Name"
msgstr "nach Name der Region"
-#: editor_actions.cc:629
+#: editor_actions.cc:671
msgid "By Region Length"
msgstr "nach Länge der Region"
-#: editor_actions.cc:631
+#: editor_actions.cc:673
msgid "By Region Position"
msgstr "nach Position der Region"
-#: editor_actions.cc:633
+#: editor_actions.cc:675
msgid "By Region Timestamp"
msgstr "nach Zeitstempel der Region"
-#: editor_actions.cc:635
+#: editor_actions.cc:677
msgid "By Region Start in File"
msgstr "nach Anfang der Region in der Datei"
-#: editor_actions.cc:637
+#: editor_actions.cc:679
msgid "By Region End in File"
msgstr "nach Ende der Region in der Datei"
-#: editor_actions.cc:639
+#: editor_actions.cc:681
msgid "By Source File Name"
msgstr "nach Namen der Quelldatei"
-#: editor_actions.cc:641
+#: editor_actions.cc:683
msgid "By Source File Length"
msgstr "nach Länge der Quelldatei"
-#: editor_actions.cc:643
+#: editor_actions.cc:685
msgid "By Source File Creation Date"
msgstr "nach Erstellungsdatum der Quelldatei"
-#: editor_actions.cc:645
+#: editor_actions.cc:687
msgid "By Source Filesystem"
msgstr "nach Dateisystem der Quelle"
-#: editor_actions.cc:648
+#: editor_actions.cc:690
msgid "Remove Unused"
msgstr "Ungenutzte entfernen"
-#: editor_actions.cc:652 editor_audio_import.cc:279
+#: editor_actions.cc:694 editor_audio_import.cc:277
#: session_import_dialog.cc:74 session_import_dialog.cc:94
-#: session_metadata_dialog.cc:297 editor_videotimeline.cc:108
+#: session_metadata_dialog.cc:297 editor_videotimeline.cc:92
msgid "Import"
msgstr "Importieren"
-#: editor_actions.cc:655
+#: editor_actions.cc:697
msgid "Import to Region List..."
msgstr "In Regionenliste importieren"
-#: editor_actions.cc:658 session_import_dialog.cc:43
+#: editor_actions.cc:700 session_import_dialog.cc:43
msgid "Import From Session"
msgstr "Aus Projekt importieren"
-#: editor_actions.cc:661
+#: editor_actions.cc:704
+msgid "Bring all media into session folder"
+msgstr ""
+
+#: editor_actions.cc:707
msgid "Show Summary"
msgstr "Projektübersicht anzeigen"
-#: editor_actions.cc:663
+#: editor_actions.cc:709
msgid "Show Group Tabs"
msgstr "Gruppierungsleiste anzeigen"
-#: editor_actions.cc:665
+#: editor_actions.cc:711
msgid "Show Measures"
msgstr "Takt-Raster einblenden"
-#: editor_actions.cc:669
+#: editor_actions.cc:715
msgid "Show Logo"
msgstr "Zeige Logo"
-#: editor_actions.cc:673
+#: editor_actions.cc:719
msgid "Toggle MIDI Input Active for Editor-Selected Tracks/Busses"
msgstr "MIDI Eingang für im Editor ausgewählte Spuren/Busse de/aktivieren"
-#: editor_actions.cc:696
+#: editor_actions.cc:742
msgid "Loaded editor bindings from %1"
msgstr "Editor-Tastenkürzel aus %1 geladen"
-#: editor_actions.cc:698
+#: editor_actions.cc:744
msgid "Could not find editor.bindings in search path %1"
msgstr "Konnte editor.bindings im Suchpfad %1 nicht finden"
-#: editor_actions.cc:1028 editor_actions.cc:1424 editor_actions.cc:1435
-#: editor_actions.cc:1488 editor_actions.cc:1499 editor_actions.cc:1546
-#: editor_actions.cc:1556 editor_regions.cc:1561
+#: editor_actions.cc:1074 editor_actions.cc:1470 editor_actions.cc:1481
+#: editor_actions.cc:1534 editor_actions.cc:1545 editor_actions.cc:1592
+#: editor_actions.cc:1602 editor_regions.cc:1562
msgid "programming error: %1: %2"
msgstr "Programmierfehler: %1: %2"
-#: editor_actions.cc:1722
+#: editor_actions.cc:1770
msgid "Raise"
msgstr "Nach oben"
-#: editor_actions.cc:1725
+#: editor_actions.cc:1773
msgid "Raise to Top"
msgstr "Ganz nach oben"
-#: editor_actions.cc:1728 gtk-custom-ruler.c:132
+#: editor_actions.cc:1776
msgid "Lower"
msgstr "Nach unten"
-#: editor_actions.cc:1731
+#: editor_actions.cc:1779
msgid "Lower to Bottom"
msgstr "Ganz nach unten"
-#: editor_actions.cc:1734
+#: editor_actions.cc:1782
msgid "Move to Original Position"
msgstr "Zur Ursprungsposition verschieben"
-#: editor_actions.cc:1739
+#: editor_actions.cc:1787
msgid "Lock to Video"
msgstr "an Video koppeln"
-#: editor_actions.cc:1744 editor_markers.cc:867
+#: editor_actions.cc:1792 editor_markers.cc:881
msgid "Glue to Bars and Beats"
msgstr "An Takte und Schläge binden"
-#: editor_actions.cc:1749
+#: editor_actions.cc:1797
msgid "Remove Sync"
msgstr "Synchronisationspunkt entfernen"
-#: editor_actions.cc:1752 mixer_strip.cc:1904 route_time_axis.cc:209
-msgid "Mute"
-msgstr "Mute"
-
-#: editor_actions.cc:1755
+#: editor_actions.cc:1803
msgid "Normalize..."
msgstr "Normalisieren..."
-#: editor_actions.cc:1758
+#: editor_actions.cc:1806
msgid "Reverse"
msgstr "Umkehren"
-#: editor_actions.cc:1761
+#: editor_actions.cc:1809
msgid "Make Mono Regions"
msgstr "In Mono-Regionen umwandeln"
-#: editor_actions.cc:1764
+#: editor_actions.cc:1812
msgid "Boost Gain"
msgstr "Lautstärke erhöhen"
-#: editor_actions.cc:1767
+#: editor_actions.cc:1815
msgid "Cut Gain"
msgstr "Lautstärke reduzieren"
-#: editor_actions.cc:1770
+#: editor_actions.cc:1818
msgid "Pitch Shift..."
msgstr "Tonhöhe ändern..."
-#: editor_actions.cc:1773
+#: editor_actions.cc:1821
msgid "Transpose..."
msgstr "Transponieren..."
-#: editor_actions.cc:1776
+#: editor_actions.cc:1824
msgid "Opaque"
msgstr "Deckend"
-#: editor_actions.cc:1780 editor_regions.cc:116
+#: editor_actions.cc:1828 editor_regions.cc:117
msgid "Fade In"
msgstr "Fade In"
-#: editor_actions.cc:1785 editor_regions.cc:117
+#: editor_actions.cc:1833 editor_regions.cc:118
msgid "Fade Out"
msgstr "Fade Out"
-#: editor_actions.cc:1800
+#: editor_actions.cc:1848
msgid "Multi-Duplicate..."
msgstr "Mehrfach duplizieren..."
-#: editor_actions.cc:1805
+#: editor_actions.cc:1853
msgid "Fill Track"
msgstr "Spur auffüllen"
-#: editor_actions.cc:1809 editor_markers.cc:955
+#: editor_actions.cc:1857 editor_markers.cc:969
msgid "Set Loop Range"
msgstr "Schleife erstellen"
-#: editor_actions.cc:1816
+#: editor_actions.cc:1864
msgid "Set Punch"
msgstr "Punchbereich erstellen"
-#: editor_actions.cc:1820
+#: editor_actions.cc:1868
msgid "Add Single Range Marker"
msgstr "Einzelnen Bereichsmarker einfügen"
-#: editor_actions.cc:1825
+#: editor_actions.cc:1873
msgid "Add Range Marker Per Region"
msgstr "Einen Bereichsmarker pro Region einfügen"
-#: editor_actions.cc:1829
+#: editor_actions.cc:1877
msgid "Snap Position To Grid"
msgstr "Positionszeiger einrasten"
-#: editor_actions.cc:1832
+#: editor_actions.cc:1880
msgid "Close Gaps"
msgstr "Lücken schließen"
-#: editor_actions.cc:1835
+#: editor_actions.cc:1883
msgid "Rhythm Ferret..."
msgstr "Rhythm Ferret..."
-#: editor_actions.cc:1838
+#: editor_actions.cc:1886
msgid "Export..."
msgstr "Exportieren..."
-#: editor_actions.cc:1844
+#: editor_actions.cc:1892
msgid "Separate Under"
msgstr "Bereich unter aktueller Region entfernen"
-#: editor_actions.cc:1848
+#: editor_actions.cc:1896 editor_actions.cc:1897
msgid "Set Fade In Length"
msgstr "Fade-In bis Positionszeiger"
-#: editor_actions.cc:1849
+#: editor_actions.cc:1898 editor_actions.cc:1899
msgid "Set Fade Out Length"
msgstr "Fade-Out ab Positionszeiger"
-#: editor_actions.cc:1850
+#: editor_actions.cc:1901
msgid "Set Tempo from Region = Bar"
msgstr "Regionlänge = Taktlänge setzen"
-#: editor_actions.cc:1855
+#: editor_actions.cc:1906
msgid "Split at Percussion Onsets"
msgstr "Regionen an perkussiven Schlägen teilen"
-#: editor_actions.cc:1860
+#: editor_actions.cc:1911
msgid "List Editor..."
msgstr "Eventlisteneditor..."
-#: editor_actions.cc:1863
+#: editor_actions.cc:1914
msgid "Properties..."
msgstr "Eigenschaften..."
-#: editor_actions.cc:1867
+#: editor_actions.cc:1918
msgid "Bounce (with processing)"
msgstr "Bounce (Post-Mixer)"
-#: editor_actions.cc:1868
+#: editor_actions.cc:1919
msgid "Bounce (without processing)"
msgstr "Bounce (Pre-Mixer)"
-#: editor_actions.cc:1869
+#: editor_actions.cc:1920
msgid "Combine"
msgstr "Verbinden (combine)"
-#: editor_actions.cc:1870
+#: editor_actions.cc:1921
msgid "Uncombine"
msgstr "Trennen (uncombine)"
-#: editor_actions.cc:1872
+#: editor_actions.cc:1923
msgid "Spectral Analysis..."
msgstr "FFT-Analyse"
-#: editor_actions.cc:1874
+#: editor_actions.cc:1925
msgid "Reset Envelope"
msgstr "Lautstärkekurve zurücksetzen"
-#: editor_actions.cc:1876
+#: editor_actions.cc:1927
msgid "Reset Gain"
msgstr "Lautstärke zurücksetzen"
-#: editor_actions.cc:1881
+#: editor_actions.cc:1932
msgid "Envelope Active"
msgstr "Lautstärkekurve ist aktiv"
-#: editor_actions.cc:1885
+#: editor_actions.cc:1936
msgid "Quantize..."
msgstr "Quantisieren.."
-#: editor_actions.cc:1886 editor_actions.cc:1887
+#: editor_actions.cc:1937 editor_actions.cc:1938
msgid "Insert Patch Change..."
msgstr "Patch Change einfügen..."
-#: editor_actions.cc:1888
+#: editor_actions.cc:1939
msgid "Unlink from other copies"
msgstr "Von anderen Kopien entkoppeln"
-#: editor_actions.cc:1889
+#: editor_actions.cc:1940
msgid "Strip Silence..."
msgstr "Stille entfernen..."
-#: editor_actions.cc:1890
+#: editor_actions.cc:1941
msgid "Set Range Selection"
msgstr "Bereich auswählen"
-#: editor_actions.cc:1892
+#: editor_actions.cc:1943 editor_actions.cc:1944
msgid "Nudge Later"
msgstr "Schritt nach hinten"
-#: editor_actions.cc:1893
+#: editor_actions.cc:1945 editor_actions.cc:1946
msgid "Nudge Earlier"
msgstr "Schritt nach vorne"
-#: editor_actions.cc:1898
+#: editor_actions.cc:1948
+msgid "Sequence Regions"
+msgstr ""
+
+#: editor_actions.cc:1953
msgid "Nudge Later by Capture Offset"
msgstr "Schritt nach hinten um Aufnahme-Offset"
-#: editor_actions.cc:1905
+#: editor_actions.cc:1960
msgid "Nudge Earlier by Capture Offset"
msgstr "Schritt nach vorne um Aufnahme-Offset"
-#: editor_actions.cc:1909
+#: editor_actions.cc:1964
msgid "Trim to Loop"
msgstr "Auf Schleife kürzen"
-#: editor_actions.cc:1910
+#: editor_actions.cc:1965
msgid "Trim to Punch"
msgstr "Auf Punchbereich kürzen"
-#: editor_actions.cc:1912
+#: editor_actions.cc:1967
msgid "Trim to Previous"
msgstr "Zur vorherigen Region aufschließen"
-#: editor_actions.cc:1913
+#: editor_actions.cc:1968
msgid "Trim to Next"
msgstr "Zur nächsten Region aufschließen"
-#: editor_actions.cc:1920
+#: editor_actions.cc:1975
msgid "Insert Region From Region List"
msgstr "Region von Regionenliste hinzufügen"
-#: editor_actions.cc:1926
+#: editor_actions.cc:1981
msgid "Set Sync Position"
msgstr "Synchronisationspunkt setzen"
-#: editor_actions.cc:1927
+#: editor_actions.cc:1982
msgid "Place Transient"
msgstr "Transienten setzen"
-#: editor_actions.cc:1928
+#: editor_actions.cc:1983
msgid "Split"
msgstr "Region teilen"
-#: editor_actions.cc:1929
+#: editor_actions.cc:1984
msgid "Trim Start at Edit Point"
msgstr "Anfang der Region am Arbeitspunkt abschneiden"
-#: editor_actions.cc:1930
+#: editor_actions.cc:1985
msgid "Trim End at Edit Point"
msgstr "Ende der Region am Arbeitspunkt abschneiden"
-#: editor_actions.cc:1935
+#: editor_actions.cc:1990
msgid "Align Start"
msgstr "Anfang ausrichten"
-#: editor_actions.cc:1942
+#: editor_actions.cc:1997
msgid "Align Start Relative"
msgstr "Anfang relativ ausrichten"
-#: editor_actions.cc:1946
+#: editor_actions.cc:2001
msgid "Align End"
msgstr "Ende ausrichten"
-#: editor_actions.cc:1951
+#: editor_actions.cc:2006
msgid "Align End Relative"
msgstr "Ende relativ ausrichten"
-#: editor_actions.cc:1958
+#: editor_actions.cc:2013
msgid "Align Sync"
msgstr "Synchronisationspunkt ausrichten"
-#: editor_actions.cc:1965
+#: editor_actions.cc:2020
msgid "Align Sync Relative"
msgstr "Synchronisationspunkt relativ ausrichten"
-#: editor_actions.cc:1969 editor_actions.cc:1972
+#: editor_actions.cc:2024 editor_actions.cc:2027
msgid "Choose Top..."
msgstr "Oberste Region auswählen..."
-#: editor_audio_import.cc:77 editor_audio_import.cc:99
+#: editor_audio_import.cc:76 editor_audio_import.cc:98
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."
-#: editor_audio_import.cc:83 editor_audio_import.cc:127
+#: editor_audio_import.cc:82 editor_audio_import.cc:126
msgid "Add Existing Media"
msgstr "Vorhandenes Material importieren"
-#: editor_audio_import.cc:177
+#: editor_audio_import.cc:175
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%1 as a new file, or skip it?"
@@ -4409,7 +4512,7 @@ msgstr ""
"Das Projekt enthält bereits eine Datei namens %1. Wollen Sie %1 als neue "
"Datei importieren, oder überspringen?"
-#: editor_audio_import.cc:179
+#: editor_audio_import.cc:177
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%2 as a new source, or skip it?"
@@ -4417,32 +4520,32 @@ msgstr ""
"Das Projekt enthält bereits eine Datei namens %1. Wollen Sie %2 als neue "
"Quelle importieren, oder überspringen?"
-#: editor_audio_import.cc:279 editor_videotimeline.cc:108
+#: editor_audio_import.cc:277 editor_videotimeline.cc:92
msgid "Cancel Import"
msgstr "Importieren Abbrechen"
-#: editor_audio_import.cc:543
+#: editor_audio_import.cc:541
msgid "Editor: cannot open file \"%1\", (%2)"
msgstr "Editor: kann die Datei \"%1\" nicht öffnen (%2)"
-#: editor_audio_import.cc:551
+#: editor_audio_import.cc:549
msgid "Cancel entire import"
msgstr "Importieren Abbrechen"
-#: editor_audio_import.cc:552
+#: editor_audio_import.cc:550
msgid "Don't embed it"
msgstr "Nicht einbetten"
-#: editor_audio_import.cc:553
+#: editor_audio_import.cc:551
msgid "Embed all without questions"
msgstr "Alle Importieren ohne nachzufragen"
-#: editor_audio_import.cc:556 editor_audio_import.cc:585
-#: export_format_dialog.cc:58
+#: editor_audio_import.cc:554 editor_audio_import.cc:583
+#: export_format_dialog.cc:60
msgid "Sample rate"
msgstr "Samplerate"
-#: editor_audio_import.cc:557 editor_audio_import.cc:586
+#: editor_audio_import.cc:555 editor_audio_import.cc:584
msgid ""
"%1\n"
"This audiofile's sample rate doesn't match the session sample rate!"
@@ -4451,305 +4554,300 @@ msgstr ""
"Die Samplerate dieser Audiodatei unterscheidet sich von der Samplerate "
"dieses Projekts."
-#: editor_audio_import.cc:582
+#: editor_audio_import.cc:580
msgid "Embed it anyway"
msgstr "Trotzdem importieren"
-#: editor_drag.cc:1000
+#: editor_drag.cc:994
+msgid "Could not create new track after region placed in the drop zone"
+msgstr ""
+
+#: editor_drag.cc:1100
msgid "fixed time region drag"
msgstr "Region zeitgleich verschieben"
-#: editor_drag.cc:1700
+#: editor_drag.cc:1797
+msgid "Ripple drag"
+msgstr ""
+
+#: editor_drag.cc:2093
msgid "Video Start:"
msgstr "Videostart"
-#: editor_drag.cc:1702
+#: editor_drag.cc:2095
msgid "Diff:"
msgstr "Diff:"
-#: editor_drag.cc:1722
+#: editor_drag.cc:2114
msgid "Move Video"
msgstr "Bewege Video"
-#: editor_drag.cc:2200
+#: editor_drag.cc:2621
msgid "copy meter mark"
msgstr "Taktmarker kopieren"
-#: editor_drag.cc:2208
+#: editor_drag.cc:2629
msgid "move meter mark"
msgstr "Taktwechsel bewegen"
-#: editor_drag.cc:2320
+#: editor_drag.cc:2752
msgid "copy tempo mark"
msgstr "Tempomarker kopieren"
-#: editor_drag.cc:2328
+#: editor_drag.cc:2760
msgid "move tempo mark"
msgstr "Tempowechsel bewegen"
-#: editor_drag.cc:2550
+#: editor_drag.cc:2989
msgid "change fade in length"
msgstr "Ändere Fade-In Länge"
-#: editor_drag.cc:2668
+#: editor_drag.cc:3107
msgid "change fade out length"
msgstr "Fade-Out verändern"
-#: editor_drag.cc:3023
+#: editor_drag.cc:3463
msgid "move marker"
msgstr "Marker bewegen"
-#: editor_drag.cc:3586
+#: editor_drag.cc:4046
msgid "An error occurred while executing time stretch operation"
msgstr "Beim Ausführen der Timestretch-Operation trat ein Fehler auf"
-#: editor_drag.cc:4016
+#: editor_drag.cc:4493
msgid "programming_error: %1"
msgstr "Programmierfehler: %1"
-#: editor_drag.cc:4086 editor_markers.cc:680
+#: editor_drag.cc:4559 editor_markers.cc:694
msgid "new range marker"
msgstr "Neuer Bereich"
-#: editor_drag.cc:4767
+#: editor_drag.cc:5259
msgid "rubberband selection"
msgstr "Gummiband-Auswahl"
-#: editor_route_groups.cc:66
-msgid "No Selection = All Tracks?"
-msgstr "Keine Auswahl = Alle Spuren?"
-
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Col"
msgstr "Spalte"
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Group Tab Color"
msgstr "Farbe des Gruppen-Reiters"
-#: editor_route_groups.cc:96
+#: editor_route_groups.cc:97
msgid "Name of Group"
msgstr "Gruppenname"
-#: editor_route_groups.cc:97 editor_routes.cc:203
+#: editor_route_groups.cc:98 editor_routes.cc:205
msgid "V"
msgstr "S"
-#: editor_route_groups.cc:97
+#: editor_route_groups.cc:98
msgid "Group is visible?"
msgstr "Gruppe sichtbar?"
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "On"
msgstr "An"
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "Group is enabled?"
msgstr "Ist die Gruppe aktiviert?"
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "group|G"
msgstr "Gruppe|G"
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "Sharing Gain?"
msgstr "Lautstärke teilen?"
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "relative|Rel"
msgstr "Relativ|Rel"
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "Relative Gain Changes?"
msgstr "Relative Lautstärke-Änderungen"
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "mute|M"
msgstr "Mute|M"
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "Sharing Mute?"
msgstr "Stummschaltung teilen?"
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "solo|S"
msgstr "solo|S"
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "Sharing Solo?"
msgstr "Solo teilen?"
-#: editor_route_groups.cc:103 midi_time_axis.cc:1504 midi_time_axis.cc:1507
-#: midi_time_axis.cc:1510 mixer_strip.cc:1903
+#: editor_route_groups.cc:104 midi_time_axis.cc:1703 midi_time_axis.cc:1706
+#: midi_time_axis.cc:1709
msgid "Rec"
msgstr "Rec"
-#: editor_route_groups.cc:103
+#: editor_route_groups.cc:104
msgid "Sharing Record-enable Status?"
msgstr "Aufnahmebereitschaft teilen?"
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "monitoring|Mon"
msgstr "Monitoring|Mon"
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "Sharing Monitoring Choice?"
msgstr "Monitoring-Wahl teilen?"
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "selection|Sel"
msgstr "Auswahl|Sel"
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "Sharing Selected/Editing Status?"
msgstr "Auswahl-/Editierzustand teilen?"
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "active|A"
msgstr "Aktiv|A"
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "Sharing Active Status?"
msgstr "Einschaltzustand teilen?"
-#: editor_route_groups.cc:197
-msgid "Activate this button to operate on all tracks when none are selected."
-msgstr ""
-"Wenn aktiviert, werden bei fehlender Spurauswahl alle Spuren bearbeitet."
-
-#: editor_route_groups.cc:442 mixer_ui.cc:1449
+#: editor_route_groups.cc:438 mixer_ui.cc:1469
msgid "unnamed"
msgstr "unbenannt"
-#: editor_export_audio.cc:90 editor_markers.cc:695 editor_markers.cc:782
-#: editor_markers.cc:967 editor_markers.cc:985 editor_markers.cc:1003
-#: editor_markers.cc:1022 editor_markers.cc:1041 editor_markers.cc:1071
-#: editor_markers.cc:1102 editor_markers.cc:1132 editor_markers.cc:1160
-#: editor_markers.cc:1191 editor_markers.cc:1216 editor_markers.cc:1267
-#: editor_markers.cc:1311 editor_markers.cc:1337 editor_markers.cc:1526
-#: editor_mouse.cc:2528
+#: editor_export_audio.cc:92 editor_markers.cc:709 editor_markers.cc:796
+#: editor_markers.cc:981 editor_markers.cc:999 editor_markers.cc:1017
+#: editor_markers.cc:1036 editor_markers.cc:1055 editor_markers.cc:1085
+#: editor_markers.cc:1116 editor_markers.cc:1146 editor_markers.cc:1174
+#: editor_markers.cc:1205 editor_markers.cc:1230 editor_markers.cc:1281
+#: editor_markers.cc:1325 editor_markers.cc:1351 editor_markers.cc:1545
+#: editor_mouse.cc:2290
msgid "programming error: marker canvas item has no marker object pointer!"
msgstr "Programmierfehler: marker canvas item has no marker object pointer!"
-#: editor_export_audio.cc:143 editor_export_audio.cc:148
+#: editor_export_audio.cc:145 editor_export_audio.cc:150
msgid "File Exists!"
msgstr "Datei existiert!"
-#: editor_export_audio.cc:151
+#: editor_export_audio.cc:153
msgid "Overwrite Existing File"
msgstr "Vorhandenes Material überschreiben"
-#: editor_group_tabs.cc:162
+#: editor_group_tabs.cc:176
msgid "Fit to Window"
msgstr "An Fenster anpassen"
-#: editor_markers.cc:129
+#: editor_markers.cc:139
msgid "start"
msgstr "Start"
-#: editor_markers.cc:130
+#: editor_markers.cc:140
msgid "end"
msgstr "Ende"
-#: editor_markers.cc:646 editor_ops.cc:1744 editor_ops.cc:1764
-#: editor_ops.cc:1788 editor_ops.cc:1815 location_ui.cc:1017
+#: editor_markers.cc:660 editor_ops.cc:1915 editor_ops.cc:1935
+#: editor_ops.cc:1988 editor_ops.cc:2015 location_ui.cc:1019
msgid "add marker"
msgstr "Marker hinzufügen"
-#: editor_markers.cc:677
+#: editor_markers.cc:691
msgid "range"
msgstr "Bereich"
-#: editor_markers.cc:713 location_ui.cc:852
+#: editor_markers.cc:727 editor_ops.cc:1955 location_ui.cc:854
msgid "remove marker"
msgstr "Marker entfernen"
-#: editor_markers.cc:849
+#: editor_markers.cc:863
msgid "Locate to Here"
msgstr "Hierhin setzen"
-#: editor_markers.cc:850
+#: editor_markers.cc:864
msgid "Play from Here"
msgstr "Wiedergabe ab hier"
-#: editor_markers.cc:851
+#: editor_markers.cc:865
msgid "Move Mark to Playhead"
msgstr "Marker zum Positionszeiger verschieben"
-#: editor_markers.cc:855
+#: editor_markers.cc:869
msgid "Create Range to Next Marker"
msgstr "Bereich bis zum nächsten Marker erstellen"
-#: editor_markers.cc:896
+#: editor_markers.cc:910
msgid "Locate to Marker"
msgstr "Positionszeiger zu Marker setzen"
-#: editor_markers.cc:897
+#: editor_markers.cc:911
msgid "Play from Marker"
msgstr "Wiedergabe ab Marker"
-#: editor_markers.cc:900
+#: editor_markers.cc:914
msgid "Set Marker from Playhead"
msgstr "Marker beim Positionszeiger erzeugen"
-#: editor_markers.cc:902
+#: editor_markers.cc:916
msgid "Set Range from Selection"
msgstr "Bereich aus Auswahl erzeugen"
-#: editor_markers.cc:905
-msgid "Zoom to Range"
-msgstr "Auf Bereich zoomen"
-
-#: editor_markers.cc:912
+#: editor_markers.cc:926
msgid "Hide Range"
msgstr "Bereich verbergen"
-#: editor_markers.cc:913
+#: editor_markers.cc:927
msgid "Rename Range..."
msgstr "Bereich umbenennen..."
-#: editor_markers.cc:917
+#: editor_markers.cc:931
msgid "Remove Range"
msgstr "Bereich entfernen"
-#: editor_markers.cc:924
+#: editor_markers.cc:938
msgid "Separate Regions in Range"
msgstr "Regionen an Bereichsgrenzen teilen"
-#: editor_markers.cc:927
+#: editor_markers.cc:941
msgid "Select Range"
msgstr "Bereich auswählen"
-#: editor_markers.cc:956
+#: editor_markers.cc:970
msgid "Set Punch Range"
msgstr "Punchbereich erstellen"
-#: editor_markers.cc:1362 editor_ops.cc:1699
+#: editor_markers.cc:1376 editor_ops.cc:1870
msgid "New Name:"
msgstr "Neuer Name: "
-#: editor_markers.cc:1365
+#: editor_markers.cc:1379
msgid "Rename Mark"
msgstr "Marker umbenennen"
-#: editor_markers.cc:1367
+#: editor_markers.cc:1381
msgid "Rename Range"
msgstr "Bereich umbenennen"
-#: editor_markers.cc:1374 editor_mouse.cc:2560 processor_box.cc:1808
-#: processor_box.cc:2274 route_time_axis.cc:982 route_ui.cc:1540
+#: editor_markers.cc:1388 editor_mouse.cc:2319 processor_box.cc:2038
+#: processor_box.cc:2508 route_time_axis.cc:1073 route_ui.cc:1622
msgid "Rename"
msgstr "Umbenennen"
-#: editor_markers.cc:1387
+#: editor_markers.cc:1401
msgid "rename marker"
msgstr "Marker umbenennen"
-#: editor_markers.cc:1411
+#: editor_markers.cc:1425
msgid "set loop range"
msgstr "Loopbereich festlegen"
-#: editor_markers.cc:1417
+#: editor_markers.cc:1431
msgid "set punch range"
msgstr "Punchbereich festlegen"
@@ -4758,11 +4856,21 @@ msgid "This screen is not tall enough to display the editor mixer"
msgstr ""
"Dieser Bildschirm ist nicht hoch genug, um den Editor-Mixer darzustellen"
-#: editor_mouse.cc:172
-msgid "Editor::event_frame() used on unhandled event type %1"
-msgstr "Editor::event_frame() auf unbekannten Eventtyp %1 angewandt"
+#: editor_mouse.cc:1384 editor_mouse.cc:1402 editor_tempodisplay.cc:273
+msgid ""
+"programming error: tempo marker canvas item has no marker object pointer!"
+msgstr ""
+"Programmierfehler: tempo marker canvas item has no marker object pointer!"
-#: editor_mouse.cc:2285 editor_mouse.cc:2310 editor_mouse.cc:2323
+#: editor_mouse.cc:1389 editor_tempodisplay.cc:278
+msgid "programming error: marker for tempo is not a tempo marker!"
+msgstr "Programmierfehler: marker for tempo is not a tempo marker!"
+
+#: editor_mouse.cc:1407 editor_tempodisplay.cc:382
+msgid "programming error: marker for meter is not a meter marker!"
+msgstr "Programmierfehler: marker for meter is not a meter marker!"
+
+#: editor_mouse.cc:2047 editor_mouse.cc:2072 editor_mouse.cc:2085
msgid ""
"programming error: control point canvas item has no control point object "
"pointer!"
@@ -4770,175 +4878,175 @@ msgstr ""
"Programmierfehler: control point canvas item has no control point object "
"pointer!"
-#: editor_mouse.cc:2466
+#: editor_mouse.cc:2228
msgid "start point trim"
msgstr "Startpunkt ändern"
-#: editor_mouse.cc:2491
+#: editor_mouse.cc:2253
msgid "End point trim"
msgstr "Endpunkt verändern"
-#: editor_mouse.cc:2558
+#: editor_mouse.cc:2317
msgid "Name for region:"
msgstr "Name für Region:"
-#: editor_ops.cc:140
+#: editor_ops.cc:147
msgid "split"
msgstr "Teile"
-#: editor_ops.cc:256
+#: editor_ops.cc:291
msgid "alter selection"
msgstr "Auswahl ändern"
-#: editor_ops.cc:298
+#: editor_ops.cc:333
msgid "nudge regions forward"
msgstr "Regionen Schritt vorwärts"
-#: editor_ops.cc:321 editor_ops.cc:406
+#: editor_ops.cc:356 editor_ops.cc:441
msgid "nudge location forward"
msgstr "Position Schritt vorwärts"
-#: editor_ops.cc:379
+#: editor_ops.cc:414
msgid "nudge regions backward"
msgstr "Regionen Schritt nach hinten"
-#: editor_ops.cc:468
+#: editor_ops.cc:503
msgid "nudge forward"
msgstr "Schritt vorwärts"
-#: editor_ops.cc:492
+#: editor_ops.cc:527
msgid "nudge backward"
msgstr "Schritt nach hinten"
-#: editor_ops.cc:557
+#: editor_ops.cc:570
+msgid "sequence regions"
+msgstr ""
+
+#: editor_ops.cc:646
msgid "build_region_boundary_cache called with snap_type = %1"
msgstr "build_region_boundary_cache wurde mit snap_type = %1 aufgerufen"
-#: editor_ops.cc:1701
+#: editor_ops.cc:1872
msgid "New Location Marker"
msgstr "Neuer Positionsmarker"
-#: editor_ops.cc:1788
+#: editor_ops.cc:1988
msgid "add markers"
msgstr "Marker hinzufügen"
-#: editor_ops.cc:1894
+#: editor_ops.cc:2094
msgid "clear markers"
msgstr "Marker zurücksetzen"
-#: editor_ops.cc:1907
+#: editor_ops.cc:2107
msgid "clear ranges"
msgstr "Bereiche zurücksetzen"
-#: editor_ops.cc:1929
+#: editor_ops.cc:2129
msgid "clear locations"
msgstr "Positionen zurücksetzen"
-#: editor_ops.cc:2000
-msgid "insert dragged region"
-msgstr "Region ziehen"
-
-#: editor_ops.cc:2078
+#: editor_ops.cc:2191
msgid "insert region"
msgstr "Region einfügen"
-#: editor_ops.cc:2261
+#: editor_ops.cc:2377
msgid "raise regions"
msgstr "Regionen weiter nach oben"
-#: editor_ops.cc:2263
+#: editor_ops.cc:2379
msgid "raise region"
msgstr "Region weiter nach oben"
-#: editor_ops.cc:2269
+#: editor_ops.cc:2385
msgid "raise regions to top"
msgstr "Regionen ganz nach oben"
-#: editor_ops.cc:2271
+#: editor_ops.cc:2387
msgid "raise region to top"
msgstr "Region ganz nach oben"
-#: editor_ops.cc:2277
+#: editor_ops.cc:2393
msgid "lower regions"
msgstr "Regionen weiter nach unten"
-#: editor_ops.cc:2279 editor_ops.cc:2287
+#: editor_ops.cc:2395 editor_ops.cc:2403
msgid "lower region"
msgstr "Region weiter nach unten"
-#: editor_ops.cc:2285
+#: editor_ops.cc:2401
msgid "lower regions to bottom"
msgstr "Regionen ganz nach unten"
-#: editor_ops.cc:2370
+#: editor_ops.cc:2486
msgid "Rename Region"
msgstr "Region umbenennen"
-#: editor_ops.cc:2372 processor_box.cc:1806 route_ui.cc:1538
+#: editor_ops.cc:2488 processor_box.cc:2036 route_ui.cc:1620
msgid "New name:"
msgstr "Neuer Name: "
-#: editor_ops.cc:2682
+#: editor_ops.cc:2798
msgid "separate"
msgstr "Teilen"
-#: editor_ops.cc:2795
+#: editor_ops.cc:2910
msgid "separate region under"
msgstr "Bereich unter aktueller Region entfernen"
-#: editor_ops.cc:2916
+#: editor_ops.cc:3031
msgid "trim to selection"
msgstr "Auf Auswahl kürzen"
-#: editor_ops.cc:3052
+#: editor_ops.cc:3167
msgid "set sync point"
msgstr "Einrastpunkt definieren"
-#: editor_ops.cc:3076
+#: editor_ops.cc:3191
msgid "remove region sync"
msgstr "Synchronisationspunkt löschen"
-#: editor_ops.cc:3098
+#: editor_ops.cc:3213
msgid "move regions to original position"
msgstr "Regionen zu ihrer Ursprungsposition verschieben"
-#: editor_ops.cc:3100
+#: editor_ops.cc:3215
msgid "move region to original position"
msgstr "Region zu ihrer Ursprungsposition verschieben"
-#: editor_ops.cc:3121
+#: editor_ops.cc:3236
msgid "align selection"
msgstr "Auswahl ausrichten"
-#: editor_ops.cc:3195
+#: editor_ops.cc:3310
msgid "align selection (relative)"
msgstr "Auswahl relativ ausrichten"
-#: editor_ops.cc:3229
+#: editor_ops.cc:3344
msgid "align region"
msgstr "Region ausrichten"
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim front"
msgstr "vorne abschneiden"
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim back"
msgstr "hinten Abschneiden"
-#: editor_ops.cc:3310
+#: editor_ops.cc:3425
msgid "trim to loop"
msgstr "Auf Schleife kürzen"
-#: editor_ops.cc:3320
+#: editor_ops.cc:3435
msgid "trim to punch"
msgstr "Auf Punchbereich kürzen"
-#: editor_ops.cc:3382
+#: editor_ops.cc:3497
msgid "trim to region"
msgstr "Auf Region kürzen"
-#: editor_ops.cc:3492
+#: editor_ops.cc:3605
msgid ""
"This track/bus cannot be frozen because the signal adds or loses channels "
"before reaching the outputs.\n"
@@ -4950,11 +5058,11 @@ msgstr ""
"Typischerweise wird dies durch ein Plugin verursacht, das Stereo aus einer "
"Monoquelle oder umgekehrt erzeugt."
-#: editor_ops.cc:3495
+#: editor_ops.cc:3608
msgid "Cannot freeze"
msgstr "Einfrieren nicht möglich"
-#: editor_ops.cc:3501
+#: editor_ops.cc:3614
msgid ""
"<b>%1</b>\n"
"\n"
@@ -4968,23 +5076,23 @@ msgstr ""
"\n"
"Einfrieren wird das Signal nur bis zum ersten Send/Insert/Return verarbeiten."
-#: editor_ops.cc:3505
+#: editor_ops.cc:3618
msgid "Freeze anyway"
msgstr "Trotzdem einfrieren"
-#: editor_ops.cc:3506
+#: editor_ops.cc:3619
msgid "Don't freeze"
msgstr "Nicht einfrieren"
-#: editor_ops.cc:3507
+#: editor_ops.cc:3620
msgid "Freeze Limits"
msgstr "Einfrier-Grenzen"
-#: editor_ops.cc:3522
+#: editor_ops.cc:3635
msgid "Cancel Freeze"
msgstr "Einfrieren abbrechen"
-#: editor_ops.cc:3553
+#: editor_ops.cc:3666
msgid ""
"You can't perform this operation because the processing of the signal will "
"cause one or more of the tracks to end up with a region with more channels "
@@ -4998,51 +5106,63 @@ msgstr ""
"Ohne diese Signalverarbeitung können Sie das tun, das ist aber eine andere "
"Operation."
-#: editor_ops.cc:3557
+#: editor_ops.cc:3670
msgid "Cannot bounce"
msgstr "Kann nicht bouncen"
-#: editor_ops.cc:3568
+#: editor_ops.cc:3681
msgid "bounce range"
msgstr "Bereich bouncen"
-#: editor_ops.cc:3678
+#: editor_ops.cc:3783
msgid "delete"
msgstr "Löschen"
-#: editor_ops.cc:3681
+#: editor_ops.cc:3786
msgid "cut"
msgstr "Ausschneiden"
-#: editor_ops.cc:3684
+#: editor_ops.cc:3789
msgid "copy"
msgstr "Kopieren"
-#: editor_ops.cc:3687
+#: editor_ops.cc:3792
msgid "clear"
msgstr "Leeren"
-#: editor_ops.cc:3785
-msgid " objects"
-msgstr "Objekte"
+#: editor_ops.cc:3845
+msgid " points"
+msgstr ""
+
+#: editor_ops.cc:3856
+msgid "points"
+msgstr ""
-#: editor_ops.cc:3815
+#: editor_ops.cc:3858
+msgid "regions"
+msgstr ""
+
+#: editor_ops.cc:3860
+msgid "objects"
+msgstr ""
+
+#: editor_ops.cc:3890
msgid " range"
msgstr "Bereich"
-#: editor_ops.cc:3957 editor_ops.cc:3984
+#: editor_ops.cc:4059
msgid "remove region"
msgstr "Region(en) löschen"
-#: editor_ops.cc:4391
+#: editor_ops.cc:4475
msgid "duplicate selection"
msgstr "Auswahl duplizieren"
-#: editor_ops.cc:4469
+#: editor_ops.cc:4553
msgid "nudge track"
msgstr "Spur verschieben"
-#: editor_ops.cc:4506
+#: editor_ops.cc:4590
msgid ""
"Do you really want to destroy the last capture?\n"
"(This is destructive and cannot be undone)"
@@ -5050,133 +5170,141 @@ msgstr ""
"Wollen Sie wirklich die letzte Aufnahme rückgängig machen?\n"
"(Dies kann nicht rückgängig gemacht werden!)"
-#: editor_ops.cc:4509 editor_ops.cc:6512 editor_regions.cc:460
-#: editor_snapshots.cc:158 route_ui.cc:1482
+#: editor_ops.cc:4593 editor_ops.cc:6594 editor_regions.cc:461
+#: editor_snapshots.cc:159 route_ui.cc:1563
msgid "No, do nothing."
msgstr "Nein, nichts machen."
-#: editor_ops.cc:4510
+#: editor_ops.cc:4594
msgid "Yes, destroy it."
msgstr "Ja, entfernen."
-#: editor_ops.cc:4512
+#: editor_ops.cc:4596
msgid "Destroy last capture"
msgstr "Lösche letzte Aufnahme"
-#: editor_ops.cc:4573
+#: editor_ops.cc:4657
msgid "normalize"
msgstr "Normalisieren"
-#: editor_ops.cc:4668
+#: editor_ops.cc:4752
msgid "reverse regions"
msgstr "Regionen umkehren"
-#: editor_ops.cc:4702
+#: editor_ops.cc:4786
msgid "strip silence"
msgstr "Stille entfernen"
-#: editor_ops.cc:4763
+#: editor_ops.cc:4847
msgid "Fork Region(s)"
msgstr "Region(en) abzweigen"
-#: editor_ops.cc:4963
+#: editor_ops.cc:4868
+msgid "Could not unlink %1"
+msgstr ""
+
+#: editor_ops.cc:5052
msgid "reset region gain"
msgstr "Lautstärkekurve zurücksetzen"
-#: editor_ops.cc:5016
+#: editor_ops.cc:5105
msgid "region gain envelope active"
msgstr "Lautstärkekurve aktiv"
-#: editor_ops.cc:5043
+#: editor_ops.cc:5132
msgid "toggle region lock"
msgstr "Regionensperre umschalten"
-#: editor_ops.cc:5067
+#: editor_ops.cc:5156
msgid "Toggle Video Lock"
msgstr "Videosperre umschalten"
-#: editor_ops.cc:5091
+#: editor_ops.cc:5180
msgid "region lock style"
msgstr "Art der Regionensperre"
-#: editor_ops.cc:5116
+#: editor_ops.cc:5205
msgid "change region opacity"
msgstr "Regionen-Deckkraft ändern"
-#: editor_ops.cc:5231
+#: editor_ops.cc:5298
+msgid "fade range"
+msgstr ""
+
+#: editor_ops.cc:5336
msgid "set fade in length"
msgstr "Ändere Fade-In Länge"
-#: editor_ops.cc:5238
+#: editor_ops.cc:5343
msgid "set fade out length"
msgstr "Ändere Fade-Out Länge"
-#: editor_ops.cc:5283
+#: editor_ops.cc:5388
msgid "set fade in shape"
msgstr "Fade-In Kurve bearbeiten"
-#: editor_ops.cc:5314
+#: editor_ops.cc:5419
msgid "set fade out shape"
msgstr "Fade-Out Kurve ändern"
-#: editor_ops.cc:5344
+#: editor_ops.cc:5449
msgid "set fade in active"
msgstr "Fade-In aktivieren"
-#: editor_ops.cc:5373
+#: editor_ops.cc:5478
msgid "set fade out active"
msgstr "Fade-Out aktivieren"
-#: editor_ops.cc:5638
+#: editor_ops.cc:5713
msgid "set loop range from selection"
msgstr "Schleife aus Auswahl erstellen"
-#: editor_ops.cc:5660
+#: editor_ops.cc:5735
msgid "set loop range from edit range"
msgstr "Schleife aus Editierbereich erstellen"
-#: editor_ops.cc:5689
+#: editor_ops.cc:5764
msgid "set loop range from region"
msgstr "Schleife aus Region erstellen"
-#: editor_ops.cc:5707
+#: editor_ops.cc:5782
msgid "set punch range from selection"
msgstr "Punchbereich aus Auswahl erstellen"
-#: editor_ops.cc:5724
+#: editor_ops.cc:5799
msgid "set punch range from edit range"
msgstr "Punchbereich aus Editierbereich erstellen"
-#: editor_ops.cc:5748
+#: editor_ops.cc:5823
msgid "set punch range from region"
msgstr "Punchbereich aus Region erstellen"
-#: editor_ops.cc:5857
+#: editor_ops.cc:5932
msgid "Add new marker"
msgstr "Marker hinzufügen"
-#: editor_ops.cc:5858
+#: editor_ops.cc:5933
msgid "Set global tempo"
msgstr "Globales tempo setzen"
-#: editor_ops.cc:5861
+#: editor_ops.cc:5936
msgid "Define one bar"
msgstr "Einen Takt definieren"
-#: editor_ops.cc:5862
+#: editor_ops.cc:5937
msgid "Do you want to set the global tempo or add a new tempo marker?"
msgstr ""
"Möchten Sie das globale Tempo ändern oder einen neuen Tempo-Marker setzen?"
-#: editor_ops.cc:5888
+#: editor_ops.cc:5963
msgid "set tempo from region"
msgstr "Tempo anhand von Region setzen"
-#: editor_ops.cc:5918
+#: editor_ops.cc:5993
msgid "split regions"
msgstr "Region teilen (Split)"
-#: editor_ops.cc:5960
+#: editor_ops.cc:6035
msgid ""
"You are about to split\n"
"%1\n"
@@ -5186,11 +5314,11 @@ msgstr ""
"Sie versuchen %1 in %2 Teile zu teilen.\n"
"Das könnte sehr lange dauern."
-#: editor_ops.cc:5967
+#: editor_ops.cc:6042
msgid "Call for the Ferret!"
msgstr "Call for the Ferret!"
-#: editor_ops.cc:5968
+#: editor_ops.cc:6043
msgid ""
"Press OK to continue with this split operation\n"
"or ask the Ferret dialog to tune the analysis"
@@ -5198,52 +5326,52 @@ msgstr ""
"Drücken Sie OK um mit der aufteiloperation (Split) fortzufahren\n"
"oder versuchen sie im Ferret-Fenster die Analyse zu verbessern."
-#: editor_ops.cc:5970
+#: editor_ops.cc:6045
msgid "Press OK to continue with this split operation"
msgstr "Drücken Sie OK um mit der aufteiloperation (Split) fortzufahren"
-#: editor_ops.cc:5973
+#: editor_ops.cc:6048
msgid "Excessive split?"
msgstr "Übermäßige Aufteilung?"
-#: editor_ops.cc:6125
+#: editor_ops.cc:6200
msgid "place transient"
msgstr "Transienten platzieren"
-#: editor_ops.cc:6160
+#: editor_ops.cc:6235
msgid "snap regions to grid"
msgstr "Regionen an Raster einrasten"
-#: editor_ops.cc:6199
+#: editor_ops.cc:6274
msgid "Close Region Gaps"
msgstr "Regionenlücken schließen"
-#: editor_ops.cc:6204
+#: editor_ops.cc:6279
msgid "Crossfade length"
msgstr "Länge des Crossfades"
-#: editor_ops.cc:6213 editor_ops.cc:6224 rhythm_ferret.cc:120
-#: session_option_editor.cc:153
+#: editor_ops.cc:6288 editor_ops.cc:6299 rhythm_ferret.cc:119
+#: session_option_editor.cc:141
msgid "ms"
msgstr "ms"
-#: editor_ops.cc:6215
+#: editor_ops.cc:6290
msgid "Pull-back length"
msgstr "Öffnungslänge vorne"
-#: editor_ops.cc:6228
+#: editor_ops.cc:6303
msgid "Ok"
msgstr "Ok"
-#: editor_ops.cc:6243
+#: editor_ops.cc:6318
msgid "close region gaps"
msgstr "Schließe Lücken zwischen Regionen"
-#: editor_ops.cc:6461 route_ui.cc:1456
+#: editor_ops.cc:6543 route_ui.cc:1537
msgid "That would be bad news ...."
msgstr "Lieber nicht!"
-#: editor_ops.cc:6466 route_ui.cc:1461
+#: editor_ops.cc:6548 route_ui.cc:1542
msgid ""
"Removing the master or monitor bus is such a bad idea\n"
"that %1 is not going to allow it.\n"
@@ -5259,23 +5387,23 @@ msgstr ""
"bearbeitet werden. \"allow-special-bus-removal\" muss\n"
"dazu auf \"yes\" gesetzt werden."
-#: editor_ops.cc:6483
+#: editor_ops.cc:6565
msgid "tracks"
msgstr "Spuren"
-#: editor_ops.cc:6485 route_ui.cc:1821
+#: editor_ops.cc:6567 route_ui.cc:1978
msgid "track"
msgstr "Spur"
-#: editor_ops.cc:6489
+#: editor_ops.cc:6571
msgid "busses"
msgstr "Audio-Busse"
-#: editor_ops.cc:6491 route_ui.cc:1821
+#: editor_ops.cc:6573 route_ui.cc:1978
msgid "bus"
msgstr "Bus"
-#: editor_ops.cc:6496
+#: editor_ops.cc:6578
msgid ""
"Do you really want to remove %1 %2 and %3 %4?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5288,7 +5416,7 @@ msgstr ""
"Dies kann nicht rückgängig gemacht werden, und die Projektdatei wird "
"überschrieben werden!"
-#: editor_ops.cc:6501
+#: editor_ops.cc:6583
msgid ""
"Do you really want to remove %1 %2?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5301,7 +5429,7 @@ msgstr ""
"Dies kann nicht rückgängig gemacht werden, und die Projektdatei wird "
"überschrieben werden!"
-#: editor_ops.cc:6507
+#: editor_ops.cc:6589
msgid ""
"Do you really want to remove %1 %2?\n"
"\n"
@@ -5312,124 +5440,140 @@ msgstr ""
"Diese Aktion kann nicht rückgängig gemacht werden, und die Projektdatei wird "
"überschrieben werden!"
-#: editor_ops.cc:6514
+#: editor_ops.cc:6596
msgid "Yes, remove them."
msgstr "Ja, entfernen."
-#: editor_ops.cc:6516 editor_snapshots.cc:159 route_ui.cc:1483
+#: editor_ops.cc:6598 editor_snapshots.cc:160 route_ui.cc:1564
msgid "Yes, remove it."
msgstr "Ja, entfernen."
-#: editor_ops.cc:6521 editor_ops.cc:6523
+#: editor_ops.cc:6603 editor_ops.cc:6605
msgid "Remove %1"
msgstr "Entferne %1"
-#: editor_ops.cc:6582
+#: editor_ops.cc:6668
msgid "insert time"
msgstr "Stille einfügen"
-#: editor_ops.cc:6739
+#: editor_ops.cc:6832
msgid "There are too many tracks to fit in the current window"
msgstr "Es gibt zu viele Spuren, sie in das aktuelle Fenster zu einzupassen"
-#: editor_ops.cc:6839
+#: editor_ops.cc:6893
+msgid "Sel"
+msgstr ""
+
+#: editor_ops.cc:6932
#, c-format
msgid "Saved view %u"
msgstr "Ansicht %u gespeichert"
-#: editor_ops.cc:6864
+#: editor_ops.cc:6957
msgid "mute regions"
msgstr "Regionen stummschalten"
-#: editor_ops.cc:6866
+#: editor_ops.cc:6959
msgid "mute region"
msgstr "Region stummschalten"
-#: editor_ops.cc:6903
+#: editor_ops.cc:6996
msgid "combine regions"
msgstr "Regionen verbinden (combine)"
-#: editor_ops.cc:6941
+#: editor_ops.cc:7034
msgid "uncombine regions"
msgstr "Regionen trennen (uncombine)"
-#: editor_regions.cc:111
+#: editor_ops.cc:7071
+msgid "%1: Locked"
+msgstr ""
+
+#: editor_ops.cc:7078
+msgid "Click to unlock"
+msgstr ""
+
+#: editor_ops.cc:7132
+msgid "Moving embedded files into session folder"
+msgstr ""
+
+#: editor_regions.cc:112
msgid "Region name, with number of channels in []'s"
msgstr "Name der Region, mit Kanalzahl in []"
-#: editor_regions.cc:112
+#: editor_regions.cc:113
msgid "Position of start of region"
msgstr "Position des Regionen-Anfangs"
-#: editor_regions.cc:113 editor_regions.cc:849 time_info_box.cc:98
+#: editor_regions.cc:114 editor_regions.cc:850 time_info_box.cc:101
msgid "End"
msgstr "Ende"
-#: editor_regions.cc:113
+#: editor_regions.cc:114
msgid "Position of end of region"
msgstr "Position des Regionen-Endes"
-#: editor_regions.cc:114
+#: editor_regions.cc:115
msgid "Length of the region"
msgstr "Länge der Region"
-#: editor_regions.cc:115
+#: editor_regions.cc:116
msgid "Position of region sync point, relative to start of the region"
msgstr ""
"Position des Regionen-Synchronisationspunktes, relativ zu Regionenanfang"
-#: editor_regions.cc:116
+#: editor_regions.cc:117
msgid "Length of region fade-in (units: secondary clock), () if disabled"
msgstr "Länge des Einblendens (Einheiten: sekundäre Uhr), () falls inaktiv"
-#: editor_regions.cc:117
-msgid "Length of region fade-out (units: secondary clock), () if dsisabled"
-msgstr "Länge des Ausblendens (Einheiten: sekundäre Uhr), () falls inaktiv"
+#: editor_regions.cc:118
+msgid "Length of region fade-out (units: secondary clock), () if disabled"
+msgstr ""
-#: editor_regions.cc:118 mixer_strip.cc:1954 mono_panner.cc:179
-#: stereo_panner.cc:217 stereo_panner.cc:240
+#: editor_regions.cc:119 mixer_strip.cc:2010 mono_panner.cc:204
+#: panner2d.cc:237 stereo_panner.cc:248 stereo_panner.cc:271
msgid "L"
msgstr "L"
-#: editor_regions.cc:118
+#: editor_regions.cc:119
msgid "Region position locked?"
msgstr "Position der Region gesperrt?"
-#: editor_regions.cc:119
+#: editor_regions.cc:120 route_time_axis.cc:99
msgid "G"
msgstr "G"
-#: editor_regions.cc:119
+#: editor_regions.cc:120
msgid "Region position glued to Bars|Beats time?"
msgstr "Regionenposition an Takt und Schäge gebunden?"
-#: editor_regions.cc:120 editor_routes.cc:207 gain_meter.cc:762
-#: mixer_strip.cc:1931 meter_strip.cc:320 panner_ui.cc:553
-#: stereo_panner.cc:237
+#: editor_regions.cc:121 editor_routes.cc:209 gain_meter.cc:768
+#: mixer_strip.cc:1987 meter_strip.cc:359 panner_ui.cc:602
+#: route_time_axis.cc:2568 stereo_panner.cc:268 time_axis_view.cc:1156
msgid "M"
msgstr "M"
-#: editor_regions.cc:120
+#: editor_regions.cc:121
msgid "Region muted?"
msgstr "Region stummgeschaltet?"
-#: editor_regions.cc:121
+#: editor_regions.cc:122 mixer_strip.cc:1810
msgid "O"
msgstr "O"
-#: editor_regions.cc:121
+#: editor_regions.cc:122
msgid "Region opaque (blocks regions below it from being heard)?"
msgstr "Region deckend (hindert darunterliegende Regionen, gehört zu werden)?"
-#: editor_regions.cc:310 editor_regions.cc:315 editor_regions.cc:317
+#: editor_regions.cc:311 editor_regions.cc:316 editor_regions.cc:318
msgid "Hidden"
msgstr "Versteckt"
-#: editor_regions.cc:389
+#: editor_regions.cc:390
msgid "(MISSING) "
msgstr "(FEHLT)"
-#: editor_regions.cc:457
+#: editor_regions.cc:458
msgid ""
"Do you really want to remove unused regions?\n"
"(This is destructive and cannot be undone)"
@@ -5437,233 +5581,223 @@ msgstr ""
"Wollen Sie ungenutzte Regionen wirklich entfernen?\n"
"(Dies ist destruktiv und kann nicht rückgängig gemacht werden)"
-#: editor_regions.cc:461
+#: editor_regions.cc:462
msgid "Yes, remove."
msgstr "Ja, entfernen."
-#: editor_regions.cc:463
+#: editor_regions.cc:464
msgid "Remove unused regions"
msgstr "Ungenutzte Regionen entfernen"
-#: editor_regions.cc:816 editor_regions.cc:830 editor_regions.cc:844
+#: editor_regions.cc:817 editor_regions.cc:831 editor_regions.cc:845
msgid "Mult."
msgstr "Viele"
-#: editor_regions.cc:847 midi_list_editor.cc:103 time_info_box.cc:91
+#: editor_regions.cc:848 midi_list_editor.cc:103 time_info_box.cc:94
msgid "Start"
msgstr "Start"
-#: editor_regions.cc:865 editor_regions.cc:881
+#: editor_regions.cc:866 editor_regions.cc:882
msgid "Multiple"
msgstr "Viele"
-#: editor_regions.cc:950
+#: editor_regions.cc:951
msgid "MISSING "
msgstr "FEHLT"
-#: editor_routes.cc:178 editor_routes.cc:210
+#: editor_routes.cc:180 editor_routes.cc:212
msgid "SS"
msgstr "SS"
-#: editor_routes.cc:202
+#: editor_routes.cc:204
msgid "Track/Bus Name"
msgstr "Spur/Busname"
-#: editor_routes.cc:203
+#: editor_routes.cc:205
msgid "Track/Bus visible ?"
msgstr "Spuren/Busse sichtbar?"
-#: editor_routes.cc:204 mixer_strip.cc:1945 meter_strip.cc:334
-#: route_time_axis.cc:2407
+#: editor_routes.cc:206 mixer_strip.cc:2001 meter_strip.cc:371
+#: route_time_axis.cc:101 route_time_axis.cc:2556
msgid "A"
msgstr "A"
-#: editor_routes.cc:204
+#: editor_routes.cc:206
msgid "Track/Bus active ?"
msgstr "Spur/Bus aktiv?"
-#: editor_routes.cc:205 mixer_strip.cc:1932
+#: editor_routes.cc:207 mixer_strip.cc:1988 mixer_strip.cc:2009
+#: meter_strip.cc:379
msgid "I"
msgstr "I"
-#: editor_routes.cc:205
+#: editor_routes.cc:207
msgid "MIDI input enabled"
msgstr "MIDI Eingänge aktiv"
-#: editor_routes.cc:206 mixer_strip.cc:1930 mono_panner.cc:198
-#: stereo_panner.cc:215 stereo_panner.cc:242
+#: editor_routes.cc:208 mono_panner.cc:221 panner2d.cc:238
+#: stereo_panner.cc:246 stereo_panner.cc:273
msgid "R"
msgstr "R"
-#: editor_routes.cc:206
+#: editor_routes.cc:208
msgid "Record enabled"
msgstr "Aufnahme bereit"
-#: editor_routes.cc:207
+#: editor_routes.cc:209
msgid "Muted"
msgstr "Stumm"
-#: editor_routes.cc:208 mixer_strip.cc:1941 meter_strip.cc:330
+#: editor_routes.cc:210 mixer_strip.cc:1997 meter_strip.cc:367
+#: route_time_axis.cc:2565
msgid "S"
msgstr "S"
-#: editor_routes.cc:208
+#: editor_routes.cc:210
msgid "Soloed"
msgstr "Solo ein"
-#: editor_routes.cc:209
+#: editor_routes.cc:211
msgid "SI"
msgstr "SI"
-#: editor_routes.cc:209 mixer_strip.cc:353 rc_option_editor.cc:1867
+#: editor_routes.cc:211
msgid "Solo Isolated"
msgstr "Isoliertes Solo"
-#: editor_routes.cc:210
+#: editor_routes.cc:212
msgid "Solo Safe (Locked)"
msgstr "Solo Safe (gesperrt)"
-#: editor_routes.cc:471 mixer_ui.cc:1162
+#: editor_routes.cc:474 mixer_ui.cc:1182
msgid "Hide All"
msgstr "Alle verbergen"
-#: editor_routes.cc:472 mixer_ui.cc:1163
+#: editor_routes.cc:475 mixer_ui.cc:1183
msgid "Show All Audio Tracks"
msgstr "Zeige alle Audiospuren"
-#: editor_routes.cc:473 mixer_ui.cc:1164
+#: editor_routes.cc:476 mixer_ui.cc:1184
msgid "Hide All Audio Tracks"
msgstr "Verberge alle Audiospuren"
-#: editor_routes.cc:474 mixer_ui.cc:1165
+#: editor_routes.cc:477 mixer_ui.cc:1185
msgid "Show All Audio Busses"
msgstr "Zeige alle Audiobusse"
-#: editor_routes.cc:475 mixer_ui.cc:1166
+#: editor_routes.cc:478 mixer_ui.cc:1186
msgid "Hide All Audio Busses"
msgstr "Verberge alle Audiobusse"
-#: editor_routes.cc:476
+#: editor_routes.cc:479
msgid "Show All Midi Tracks"
msgstr "Zeige alle MIDI-Spuren"
-#: editor_routes.cc:477
+#: editor_routes.cc:480
msgid "Hide All Midi Tracks"
msgstr "Verberge alle MIDI-Spuren"
-#: editor_routes.cc:478
+#: editor_routes.cc:481
msgid "Show Tracks With Regions Under Playhead"
msgstr "Zeige Spuren mit Regionen unter dem Positionszeiger"
-#: editor_rulers.cc:340
+#: editor_rulers.cc:216
msgid "New location marker"
msgstr "Neuer Positionsmarker"
-#: editor_rulers.cc:341
+#: editor_rulers.cc:217
msgid "Clear all locations"
msgstr "Alle Positionsmarker entfernen"
-#: editor_rulers.cc:342
+#: editor_rulers.cc:218
msgid "Unhide locations"
msgstr "Positionen anzeigen"
-#: editor_rulers.cc:346
+#: editor_rulers.cc:222
msgid "New range"
msgstr "Neuer Bereich"
-#: editor_rulers.cc:347
+#: editor_rulers.cc:223
msgid "Clear all ranges"
msgstr "Alle Bereiche entfernen"
-#: editor_rulers.cc:348
+#: editor_rulers.cc:224
msgid "Unhide ranges"
msgstr "Bereiche anzeigen"
-#: editor_rulers.cc:358
+#: editor_rulers.cc:234
msgid "New CD track marker"
msgstr "Neuer CD-Track Marker"
-#: editor_rulers.cc:363 tempo_dialog.cc:40
+#: editor_rulers.cc:239 tempo_dialog.cc:39
msgid "New Tempo"
msgstr "Tempowechsel einfügen..."
-#: editor_rulers.cc:368 tempo_dialog.cc:255
+#: editor_rulers.cc:243 tempo_dialog.cc:289
msgid "New Meter"
msgstr "Taktwechsel einfügen..."
-#: editor_rulers.cc:373
+#: editor_rulers.cc:247
msgid "Timeline height"
msgstr "Höhe der Zeitleiste"
-#: editor_rulers.cc:383
+#: editor_rulers.cc:257
msgid "Align Video Track"
msgstr "Videospur ausrichten"
-#: editor_selection.cc:889 editor_selection.cc:932
+#: editor_selection.cc:895 editor_selection.cc:938
msgid "set selected regions"
msgstr "Regionen auswählen"
-#: editor_selection.cc:1414
+#: editor_selection.cc:1417
msgid "select all"
msgstr "Alle Regionen auswählen"
-#: editor_selection.cc:1506
+#: editor_selection.cc:1511
msgid "select all within"
msgstr "Alle im Bereich auswählen"
-#: editor_selection.cc:1564
+#: editor_selection.cc:1569
msgid "set selection from range"
msgstr "Auswahlbereich von Bereich erstellen"
-#: editor_selection.cc:1604
+#: editor_selection.cc:1609
msgid "select all from range"
msgstr "Alle im Bereich auswählen"
-#: editor_selection.cc:1635
+#: editor_selection.cc:1640
msgid "select all from punch"
msgstr "Alle im Punchbereich auswählen"
-#: editor_selection.cc:1666
+#: editor_selection.cc:1671
msgid "select all from loop"
msgstr "Alle im Schleifenbereich auswählen"
-#: editor_selection.cc:1702
+#: editor_selection.cc:1707
msgid "select all after cursor"
msgstr "Alle nach Positionszeiger auswählen"
-#: editor_selection.cc:1704
+#: editor_selection.cc:1709
msgid "select all before cursor"
msgstr "Alle vor Positionszeiger auswählen"
-#: editor_selection.cc:1753
+#: editor_selection.cc:1758
msgid "select all after edit"
msgstr "Alles nach Arbeitspunkt auswählen"
-#: editor_selection.cc:1755
+#: editor_selection.cc:1760
msgid "select all before edit"
msgstr "Alles vor Arbeitspunkt auswählen"
-#: editor_selection.cc:1888
-msgid "No edit range defined"
-msgstr "Kein Editierbereich definiert"
-
-#: editor_selection.cc:1894
-msgid ""
-"the edit point is Selected Marker\n"
-"but there is no selected marker."
-msgstr ""
-"der Arbeitspunkt ist der gewählte Positionsmarker,\n"
-"es ist aber kein Positionsmarker ausgewählt."
-
-#: editor_snapshots.cc:136
+#: editor_snapshots.cc:137
msgid "Rename Snapshot"
msgstr "Schnappschuss umbenennen"
-#: editor_snapshots.cc:138
+#: editor_snapshots.cc:139
msgid "New name of snapshot"
msgstr "Name für neuen Schnappschuss"
-#: editor_snapshots.cc:156
+#: editor_snapshots.cc:157
msgid ""
"Do you really want to remove snapshot \"%1\" ?\n"
"(which cannot be undone)"
@@ -5671,50 +5805,35 @@ msgstr ""
"Wollen Sie den Schnappschuss \"%1\" wirklich löschen?\n"
"(Dies kann nicht rückgängig gemacht werden)"
-#: editor_snapshots.cc:161
+#: editor_snapshots.cc:162
msgid "Remove snapshot"
msgstr "Schnappschuss entfernen"
-#: editor_tempodisplay.cc:208 editor_tempodisplay.cc:250
+#: editor_tempodisplay.cc:193 editor_tempodisplay.cc:235
msgid "add"
msgstr "Hinzufügen"
-#: editor_tempodisplay.cc:231
+#: editor_tempodisplay.cc:216
msgid "add tempo mark"
msgstr "Tempowechsel einfügen"
-#: editor_tempodisplay.cc:272
+#: editor_tempodisplay.cc:257
msgid "add meter mark"
msgstr "Taktwechsel einfügen"
-#: editor_tempodisplay.cc:288 editor_tempodisplay.cc:367
-#: editor_tempodisplay.cc:386
-msgid ""
-"programming error: tempo marker canvas item has no marker object pointer!"
-msgstr ""
-"Programmierfehler: tempo marker canvas item has no marker object pointer!"
-
-#: editor_tempodisplay.cc:293 editor_tempodisplay.cc:372
-msgid "programming error: marker for tempo is not a tempo marker!"
-msgstr "Programmierfehler: marker for tempo is not a tempo marker!"
-
-#: editor_tempodisplay.cc:305 editor_tempodisplay.cc:335
+#: editor_tempodisplay.cc:290 editor_tempodisplay.cc:320
msgid "done"
msgstr "Fertig"
-#: editor_tempodisplay.cc:324 editor_tempodisplay.cc:352
+#: editor_tempodisplay.cc:309 editor_tempodisplay.cc:337
msgid "replace tempo mark"
msgstr "Tempowechsel ersetzen"
-#: editor_tempodisplay.cc:391 editor_tempodisplay.cc:423
-msgid "programming error: marker for meter is not a meter marker!"
-msgstr "Programmierfehler: marker for meter is not a meter marker!"
-
-#: editor_tempodisplay.cc:401 editor_tempodisplay.cc:435
+#: editor_tempodisplay.cc:360 editor_tempodisplay.cc:394
msgid "remove tempo mark"
msgstr "Tempowechsel entfernen"
-#: editor_tempodisplay.cc:418
+#: editor_tempodisplay.cc:377
msgid ""
"programming error: meter marker canvas item has no marker object pointer!"
msgstr ""
@@ -5734,123 +5853,132 @@ msgstr ""
"Time-Stretch konnte nicht gestartet werden - Fehler beim erstellen des "
"Threads"
-#: engine_dialog.cc:79
+#: engine_dialog.cc:81
msgid "Device Control Panel"
msgstr "Gerätekontrollfeld"
-#: engine_dialog.cc:80 engine_dialog.cc:1725
-msgid "Measure"
+#: engine_dialog.cc:82
+msgid "Midi Device Setup"
msgstr ""
-#: engine_dialog.cc:81
+#: engine_dialog.cc:83 engine_dialog.cc:1999
+msgid "Measure"
+msgstr "Messen"
+
+#: engine_dialog.cc:84
msgid "Use results"
msgstr "Benutze Ergebnisse"
-#: engine_dialog.cc:82
+#: engine_dialog.cc:85
msgid "Back to settings ... (ignore results)"
-msgstr ""
+msgstr "Zurücksetzen ... (Resultate ignorieren)"
-#: engine_dialog.cc:83
-msgid "Calibrate..."
+#: engine_dialog.cc:86
+msgid "Calibrate Audio"
msgstr ""
-#: engine_dialog.cc:87
-msgid "Refresh list"
-msgstr "Liste auffrischen"
+#: engine_dialog.cc:90
+msgid "Back to settings"
+msgstr ""
-#: engine_dialog.cc:107
+#: engine_dialog.cc:108
msgid ""
"No audio/MIDI backends detected. %1 cannot run\n"
"\n"
"(This is a build/packaging/system error. It should never happen.)"
msgstr ""
+"Kein Audio/MIDI backend gefunden. %1 kann nicht laufen\n"
+"\n"
+"(Das ist ein Kompilier-/Paket-/Systemfehler und sollte nie passieren.)"
-#: engine_dialog.cc:136
+#: engine_dialog.cc:135
msgid "Latency Measurement Tool"
msgstr "Latenzmeßwerkzeug"
-#: engine_dialog.cc:151
+#: engine_dialog.cc:147 engine_dialog.cc:561
msgid ""
"<span weight=\"bold\">Turn down the volume on your audio equipment to a very "
"low level.</span>"
msgstr ""
+"<span weight=\"bold\">Drehen Sie die Lautstärke Ihrer Audioanlage sehr leise."
+"</span>"
-#: engine_dialog.cc:159
+#: engine_dialog.cc:156
msgid "Select two channels below and connect them using a cable."
-msgstr ""
+msgstr "Wählen Sie unten zwei Kanäle aus und verbinden sie mit einem Kabel."
-#: engine_dialog.cc:164
+#: engine_dialog.cc:161
msgid "Output channel"
msgstr "Ausgangskanal"
-#: engine_dialog.cc:172
+#: engine_dialog.cc:169
msgid "Input channel"
msgstr "Eingangskanal"
-#: engine_dialog.cc:207
+#: engine_dialog.cc:204
msgid "Once the channels are connected, click the \"Measure\" button."
-msgstr ""
+msgstr "Wenn die Kanäle verbunden sind, klicken Sie den \"Messen\"-Knopf."
-#: engine_dialog.cc:214
+#: engine_dialog.cc:211
msgid "When satisfied with the results, click the \"Use results\" button."
msgstr ""
"Wenn Sie mit dem Resultat zufrieden sind, klicken Sie den Knopf \"Benutze "
"Ergebnisse\"."
-#: engine_dialog.cc:229 engine_dialog.cc:1727
+#: engine_dialog.cc:226 engine_dialog.cc:2107 engine_dialog.cc:2117
msgid "No measurement results yet"
-msgstr ""
+msgstr "Noch keine Messergebnisse"
-#: engine_dialog.cc:238 route_params_ui.cc:105
+#: engine_dialog.cc:236 route_params_ui.cc:105
msgid "Latency"
msgstr "Latenz"
-#: engine_dialog.cc:333
+#: engine_dialog.cc:351
msgid "Audio System:"
msgstr "Audiosystem:"
-#: engine_dialog.cc:374
+#: engine_dialog.cc:394
msgid "Driver:"
msgstr "Treiber:"
-#: engine_dialog.cc:380
+#: engine_dialog.cc:400
msgid "Device:"
msgstr "Gerät:"
-#: engine_dialog.cc:385 engine_dialog.cc:475 sfdb_ui.cc:147 sfdb_ui.cc:260
-#: sfdb_ui.cc:265
+#: engine_dialog.cc:405 engine_dialog.cc:496 sfdb_ui.cc:151 sfdb_ui.cc:341
+#: sfdb_ui.cc:346
msgid "Sample rate:"
msgstr "Samplerate:"
-#: engine_dialog.cc:391 engine_dialog.cc:482
+#: engine_dialog.cc:411 engine_dialog.cc:503
msgid "Buffer size:"
msgstr "Puffergröße"
-#: engine_dialog.cc:404
+#: engine_dialog.cc:424
msgid "Input Channels:"
msgstr "Eingangskanäle:"
-#: engine_dialog.cc:415
+#: engine_dialog.cc:435
msgid "Output Channels:"
msgstr "Ausgangskanäle:"
-#: engine_dialog.cc:426
+#: engine_dialog.cc:446
msgid "Hardware input latency:"
msgstr "Hardware Eingangslatenz (Samples)"
-#: engine_dialog.cc:429 engine_dialog.cc:442
+#: engine_dialog.cc:449 engine_dialog.cc:462
msgid "samples"
msgstr "Samples"
-#: engine_dialog.cc:439
+#: engine_dialog.cc:459
msgid "Hardware output latency:"
msgstr "Hardware Ausgangslatenz (Samples)"
-#: engine_dialog.cc:450
+#: engine_dialog.cc:470
msgid "MIDI System"
-msgstr ""
+msgstr "MIDI System"
-#: engine_dialog.cc:467
+#: engine_dialog.cc:488
msgid ""
"The %1 audio backend was configured and started externally.\n"
"This limits your control over it."
@@ -5858,100 +5986,145 @@ msgstr ""
"Das %1 Audiobackend wurde extern konfiguriert und gestartet.\n"
"Dies beschränkt Ihre Kontrolle darüber."
-#: engine_dialog.cc:521
+#: engine_dialog.cc:543
+msgid ""
+"Failed to start or connect to audio-engine.\n"
+"\n"
+"Latency calibration requires a working audio interface."
+msgstr ""
+
+#: engine_dialog.cc:549
msgid ""
"Your selected audio configuration is playback- or capture-only.\n"
"\n"
"Latency calibration requires playback and capture"
msgstr ""
+"Ihre aktuelle Audiokonfiguration erlaubt nur Playback oder Aufnahme "
+"alleine.\n"
+"\n"
+"Latenzkalibrierung verlangt Duplexbetrieb (gleichzeitig Aufnahme und "
+"Wiedergabe)"
+
+#: engine_dialog.cc:630
+msgid "MIDI Devices"
+msgstr ""
-#: engine_dialog.cc:595
-msgid "MIDI Inputs"
-msgstr "MIDI Eingänge"
+#: engine_dialog.cc:636
+msgid "Device"
+msgstr ""
+
+#: engine_dialog.cc:638
+msgid "Hardware Latencies"
+msgstr ""
-#: engine_dialog.cc:612
-msgid "MIDI Outputs"
-msgstr "MIDI Ausgänge"
+#: engine_dialog.cc:679
+msgid "Calibrate"
+msgstr ""
-#: engine_dialog.cc:696
+#: engine_dialog.cc:761
msgid "all available channels"
msgstr "alle verfügbaren Kanäle"
-#: engine_dialog.cc:890
+#: engine_dialog.cc:954
#, c-format
msgid "%u samples"
msgstr "%u Samples"
-#: engine_dialog.cc:941
+#: engine_dialog.cc:1001
#, c-format
msgid "(%.1f msecs)"
msgstr "(%.1f msecs)"
-#: engine_dialog.cc:1389
+#: engine_dialog.cc:1510
+msgid "Could not start backend engine %1"
+msgstr ""
+
+#: engine_dialog.cc:1561
msgid "Cannot set driver to %1"
msgstr "Kann Treiber nicht auf %1 setzen"
-#: engine_dialog.cc:1393
+#: engine_dialog.cc:1565
msgid "Cannot set device name to %1"
msgstr "Kann Gerät nicht auf %1 setzen"
-#: engine_dialog.cc:1397
+#: engine_dialog.cc:1569
msgid "Cannot set sample rate to %1"
msgstr "Kann Samplerate nicht auf %1 setzen"
-#: engine_dialog.cc:1401
+#: engine_dialog.cc:1573
msgid "Cannot set buffer size to %1"
msgstr "Kann Buffergröße nicht auf %1 setzen"
-#: engine_dialog.cc:1407
+#: engine_dialog.cc:1579
msgid "Cannot set input channels to %1"
msgstr "Kann Eingangskanäle nicht auf %1 setzen"
-#: engine_dialog.cc:1411
+#: engine_dialog.cc:1583
msgid "Cannot set output channels to %1"
msgstr "Kann Ausgangskanäle nicht auf %1 setzen"
-#: engine_dialog.cc:1417
+#: engine_dialog.cc:1589
msgid "Cannot set input latency to %1"
msgstr "Kann Eingangslatenz nicht auf %1 setzen"
-#: engine_dialog.cc:1421
+#: engine_dialog.cc:1593
msgid "Cannot set output latency to %1"
msgstr "Kann Ausgangslatenz nicht auf %1 setzen"
-#: engine_dialog.cc:1654
+#: engine_dialog.cc:1858 engine_dialog.cc:1917
msgid "No signal detected "
msgstr "Kein Signal erkannt"
-#: engine_dialog.cc:1667 port_insert_ui.cc:71 port_insert_ui.cc:99
+#: engine_dialog.cc:1871 engine_dialog.cc:1925 port_insert_ui.cc:70
+#: port_insert_ui.cc:98
msgid "Disconnected from audio engine"
msgstr "Von Audio-Engine getrennt"
-#: engine_dialog.cc:1681
-msgid "(signal detection error)"
+#: engine_dialog.cc:1880 engine_dialog.cc:1933
+msgid "Detected roundtrip latency: "
+msgstr ""
+
+#: engine_dialog.cc:1882 engine_dialog.cc:1935
+msgid "Systemic latency: "
msgstr ""
-#: engine_dialog.cc:1687
+#: engine_dialog.cc:1889
+msgid "(signal detection error)"
+msgstr "(Fehler bei der Signalerkennung)"
+
+#: engine_dialog.cc:1895
msgid "(inverted - bad wiring)"
+msgstr "(invertiert - schlechte Verkabelung)"
+
+#: engine_dialog.cc:1942
+msgid "(averaging)"
msgstr ""
-#: engine_dialog.cc:1697
-msgid "Detected roundtrip latency: %1"
+#: engine_dialog.cc:1948
+msgid "(too large jitter)"
msgstr ""
-#: engine_dialog.cc:1709 port_insert_ui.cc:135
+#: engine_dialog.cc:1952
+msgid "(large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1963
+msgid "Timeout - large MIDI jitter."
+msgstr ""
+
+#: engine_dialog.cc:1979 port_insert_ui.cc:134
msgid "Detecting ..."
msgstr "Messe..."
-#: engine_dialog.cc:1789
+#: engine_dialog.cc:2073
msgid "Disconnect from %1"
msgstr "Trenne von %1"
-#: engine_dialog.cc:1801
+#: engine_dialog.cc:2085
msgid "Connect to %1"
msgstr "Verbinde zu %1"
-#: export_channel_selector.cc:45 sfdb_ui.cc:145
+#: export_channel_selector.cc:45 sfdb_ui.cc:149
msgid "Channels:"
msgstr "Kanäle:"
@@ -5995,20 +6168,20 @@ msgstr ""
msgid "List files"
msgstr "Dateien auflisten"
-#: export_dialog.cc:164 export_timespan_selector.cc:355
-#: export_timespan_selector.cc:417
+#: export_dialog.cc:158 export_format_dialog.cc:59
+msgid "File format"
+msgstr "Dateiformat"
+
+#: export_dialog.cc:159 export_timespan_selector.cc:374
+#: export_timespan_selector.cc:436
msgid "Time Span"
msgstr "Zeitspanne"
-#: export_dialog.cc:176
+#: export_dialog.cc:160
msgid "Channels"
msgstr "Kanäle"
-#: export_dialog.cc:187
-msgid "Time span and channel options"
-msgstr "Zeitspannen- und Kanaloptionen"
-
-#: export_dialog.cc:221
+#: export_dialog.cc:182
msgid ""
"Export has been aborted due to an error!\n"
"See the Log for details."
@@ -6016,35 +6189,39 @@ msgstr ""
"Das Exportieren wurde aufgrund eines Fehlers abgebrochen!\n"
"Details dazu stehen in der Log."
-#: export_dialog.cc:290
+#: export_dialog.cc:251
msgid "Files that will be overwritten"
msgstr "Dateien, die überschrieben werden"
-#: export_dialog.cc:316
+#: export_dialog.cc:296
+msgid "Export initialization failed: %1"
+msgstr "Exportinitialisierung gescheitert: %1"
+
+#: export_dialog.cc:306
msgid "Stop Export"
msgstr "Export Abbrechen"
-#: export_dialog.cc:337
+#: export_dialog.cc:327
msgid "export"
msgstr "Exportieren"
-#: export_dialog.cc:356
+#: export_dialog.cc:346
msgid "Normalizing '%3' (timespan %1 of %2)"
msgstr "Normalisiere '%3' (Zeitspanne %1 von %2)"
-#: export_dialog.cc:360
+#: export_dialog.cc:350
msgid "Exporting '%3' (timespan %1 of %2)"
msgstr "Exportiere '%3' (Zeitspanne %1 von %2)"
-#: export_dialog.cc:383 export_dialog.cc:385
+#: export_dialog.cc:373 export_dialog.cc:375
msgid "<span color=\"#ffa755\">Error: "
msgstr "<span color=\"#ffa755\">Fehler: "
-#: export_dialog.cc:395
+#: export_dialog.cc:385
msgid "<span color=\"#ffa755\">Warning: "
msgstr "<span color=\"#ffa755\">Warnung: "
-#: export_dialog.cc:397
+#: export_dialog.cc:387
msgid ""
"\n"
"<span color=\"#ffa755\">Warning: "
@@ -6052,39 +6229,43 @@ msgstr ""
"\n"
"<span color=\"#ffa755\">Warnung: "
-#: export_dialog.cc:420
+#: export_dialog.cc:411
msgid "Export Selection"
msgstr "Auswahl exportieren"
-#: export_dialog.cc:433
+#: export_dialog.cc:425
msgid "Export Region"
msgstr "Region exportieren"
-#: export_dialog.cc:443
+#: export_dialog.cc:434
msgid "Source"
msgstr "Quelle"
-#: export_dialog.cc:458
+#: export_dialog.cc:450
msgid "Stem Export"
msgstr "Stem Export"
-#: export_file_notebook.cc:38
+#: export_file_notebook.cc:39
msgid "Add another format"
msgstr "Ein weiteres Format hinzuzufügen"
-#: export_file_notebook.cc:178
+#: export_file_notebook.cc:193
msgid "Format"
msgstr "Format"
-#: export_file_notebook.cc:179
+#: export_file_notebook.cc:194
msgid "Location"
msgstr "Ort"
-#: export_file_notebook.cc:255
+#: export_file_notebook.cc:195
+msgid "Upload to Soundcloud"
+msgstr ""
+
+#: export_file_notebook.cc:273
msgid "No format!"
msgstr "Kein Format!"
-#: export_file_notebook.cc:267
+#: export_file_notebook.cc:291
msgid "Format %1: %2"
msgstr "Format: %1: %2"
@@ -6105,9 +6286,9 @@ msgid "Folder:"
msgstr "Ordner:"
#: export_filename_selector.cc:37 session_import_dialog.cc:44
-#: transcode_video_dialog.cc:58 video_server_dialog.cc:45
-#: video_server_dialog.cc:47 export_video_dialog.cc:68
-#: export_video_dialog.cc:70
+#: transcode_video_dialog.cc:59 video_server_dialog.cc:59
+#: video_server_dialog.cc:61 export_video_dialog.cc:69
+#: export_video_dialog.cc:71
msgid "Browse"
msgstr "Durchsuchen"
@@ -6172,67 +6353,69 @@ msgstr "Stille am Ende abschneiden"
msgid "Add silence at end:"
msgstr "Füge Stille am Ende hinzu:"
-#: export_format_dialog.cc:55
+#: export_format_dialog.cc:54
+msgid ""
+"Command to run post-export\n"
+"(%f=full path & filename, %d=directory, %b=basename):"
+msgstr ""
+
+#: export_format_dialog.cc:57
msgid "Compatibility"
msgstr "Kompatibilität"
-#: export_format_dialog.cc:56
+#: export_format_dialog.cc:58
msgid "Quality"
msgstr "Qualität"
-#: export_format_dialog.cc:57
-msgid "File format"
-msgstr "Dateiformat"
-
-#: export_format_dialog.cc:59
+#: export_format_dialog.cc:61
msgid "Sample rate conversion quality:"
msgstr "Qualität bei Konvertierung der Samplerate:"
-#: export_format_dialog.cc:66
+#: export_format_dialog.cc:68
msgid "Dithering"
msgstr "Dithering"
-#: export_format_dialog.cc:68
+#: export_format_dialog.cc:70
msgid "Create CUE file for disk-at-once CD/DVD creation"
msgstr "Schreibe CUE-Datei für Disk-at-once CD/DVD Erzeugung"
-#: export_format_dialog.cc:69
+#: export_format_dialog.cc:71
msgid "Create TOC file for disk-at-once CD/DVD creation"
msgstr "Schreibe TOC-Datei für Disk-at-once CD/DVD Erzeugung"
-#: export_format_dialog.cc:71
+#: export_format_dialog.cc:73
msgid "Tag file with session's metadata"
msgstr "Datei mit den Metadaten des Projekt taggen"
-#: export_format_dialog.cc:461
+#: export_format_dialog.cc:470
msgid "Best (sinc)"
msgstr "Beste"
-#: export_format_dialog.cc:466
+#: export_format_dialog.cc:475
msgid "Medium (sinc)"
msgstr "Mittel (sinc)"
-#: export_format_dialog.cc:471
+#: export_format_dialog.cc:480
msgid "Fast (sinc)"
msgstr "Schnellste"
-#: export_format_dialog.cc:481
+#: export_format_dialog.cc:490
msgid "Zero order hold"
msgstr "Halteglied nullter Ordnung (ZOH)"
-#: export_format_dialog.cc:879
+#: export_format_dialog.cc:895
msgid "Linear encoding options"
msgstr "Optionen für lineare Codierung"
-#: export_format_dialog.cc:895
+#: export_format_dialog.cc:911
msgid "Ogg Vorbis options"
msgstr "Ogg Vorbis Optionen"
-#: export_format_dialog.cc:908
+#: export_format_dialog.cc:922
msgid "FLAC options"
msgstr "FLAC Optionen"
-#: export_format_dialog.cc:925
+#: export_format_dialog.cc:939
msgid "Broadcast Wave options"
msgstr "Broadcast Wave Optionen"
@@ -6260,11 +6443,15 @@ msgstr "Wollen Sie dieses Preset wirklich entfernen?"
msgid "Show Times as:"
msgstr "Zeitanzeige:"
-#: export_timespan_selector.cc:204
+#: export_timespan_selector.cc:53 processor_box.cc:2510
+msgid "Select All"
+msgstr "Alles auswählen"
+
+#: export_timespan_selector.cc:223
msgid " to "
msgstr " bis"
-#: export_timespan_selector.cc:348 export_timespan_selector.cc:407
+#: export_timespan_selector.cc:367 export_timespan_selector.cc:426
msgid "Range"
msgstr "Bereiche"
@@ -6280,172 +6467,140 @@ msgstr "getSoundResourceFile: Keine gültige Wurzel in der XML-Datei"
msgid "getSoundResourceFile: root = %1, != response"
msgstr "getSoundResourceFile: Wurzel = %1, != Antwort"
-#: sfdb_freesound_mootcher.cc:410
+#: sfdb_freesound_mootcher.cc:410 rc_option_editor.cc:1729
msgid "%1"
msgstr "%1"
-#: gain_meter.cc:105 gain_meter.cc:360 gain_meter.cc:465 gain_meter.cc:859
+#: gain_meter.cc:106 gain_meter.cc:366 gain_meter.cc:471 gain_meter.cc:865
msgid "-inf"
msgstr "-inf"
-#: gain_meter.cc:111 gain_meter.cc:916
+#: gain_meter.cc:113 gain_meter.cc:927
msgid "Fader automation mode"
msgstr "Fader Automationsmodus"
-#: gain_meter.cc:112 gain_meter.cc:917
+#: gain_meter.cc:114 gain_meter.cc:928
msgid "Fader automation type"
msgstr "Fader-Automationstyp"
-#: gain_meter.cc:121 gain_meter.cc:798 panner_ui.cc:177 panner_ui.cc:589
+#: gain_meter.cc:123 gain_meter.cc:804 panner_ui.cc:178 panner_ui.cc:638
msgid "Abs"
msgstr "Abs"
-#: gain_meter.cc:765 mixer_strip.cc:1948 meter_strip.cc:337 panner_ui.cc:556
-#: route_time_axis.cc:2411
+#: gain_meter.cc:771 mixer_strip.cc:2004 meter_strip.cc:374 panner_ui.cc:605
+#: route_time_axis.cc:100 route_time_axis.cc:2560
msgid "P"
msgstr "P"
-#: gain_meter.cc:768 panner_ui.cc:559
+#: gain_meter.cc:774 panner_ui.cc:608
msgid "T"
msgstr "T"
-#: gain_meter.cc:771 panner_ui.cc:562
+#: gain_meter.cc:777 panner_ui.cc:611
msgid "W"
msgstr "W"
-#: generic_pluginui.cc:81
+#: generic_pluginui.cc:79
msgid "<span size=\"large\">Presets</span>"
msgstr "<span size=\"large\">Voreinstellungen</span>"
-#: generic_pluginui.cc:230
+#: generic_pluginui.cc:228
msgid "Switches"
msgstr "Schalter"
-#: generic_pluginui.cc:240 generic_pluginui.cc:374 processor_box.cc:2251
+#: generic_pluginui.cc:238 generic_pluginui.cc:372 processor_box.cc:2484
msgid "Controls"
msgstr "Steuerelemente"
-#: generic_pluginui.cc:268
+#: generic_pluginui.cc:266
msgid "Plugin Editor: could not build control element for port %1"
msgstr "Plugin Editor: konnte kein Steuerelement für Port %1 erzeugen"
-#: generic_pluginui.cc:406
+#: generic_pluginui.cc:404
msgid "Meters"
msgstr "Pegelanzeigen"
-#: generic_pluginui.cc:421
+#: generic_pluginui.cc:419
msgid "Automation control"
msgstr "Automation"
-#: generic_pluginui.cc:428
+#: generic_pluginui.cc:426
msgid "Mgnual"
msgstr "Mgnuell"
-#: global_port_matrix.cc:157
+#: global_port_matrix.cc:158
msgid "Audio Connection Manager"
msgstr "Audio Verbindungsmanager"
-#: global_port_matrix.cc:160
+#: global_port_matrix.cc:161
msgid "MIDI Connection Manager"
msgstr "Midi Verbindungsmanager"
-#: global_port_matrix.cc:200 io_selector.cc:210 mixer_strip.cc:719
-#: mixer_strip.cc:845
+#: global_port_matrix.cc:201 io_selector.cc:211 mixer_strip.cc:799
+#: mixer_strip.cc:895
msgid "Disconnect"
msgstr "Trenne"
-#: global_port_matrix.cc:206 io_selector.cc:216
+#: global_port_matrix.cc:207 io_selector.cc:217
msgid "port"
msgstr "Port"
-#: group_tabs.cc:308
+#: group_tabs.cc:312
msgid "Selection..."
msgstr "Ausgewählten Spuren"
-#: group_tabs.cc:309
+#: group_tabs.cc:313
msgid "Record Enabled..."
msgstr "Spuren, deren Aufnahme aktiviert ist"
-#: group_tabs.cc:310
+#: group_tabs.cc:314
msgid "Soloed..."
msgstr "Solo-Spuren/Busse"
-#: group_tabs.cc:316
+#: group_tabs.cc:320
msgid "Create New Group ..."
msgstr "Neue Gruppe erzeugen ..."
-#: group_tabs.cc:317
+#: group_tabs.cc:321
msgid "Create New Group From"
msgstr "Neue Gruppe erzeugen aus"
-#: group_tabs.cc:320
+#: group_tabs.cc:324
msgid "Edit Group..."
msgstr "Gruppe bearbeiten..."
-#: group_tabs.cc:321
+#: group_tabs.cc:325
msgid "Collect Group"
msgstr "Gruppe sammeln"
-#: group_tabs.cc:322
+#: group_tabs.cc:326
msgid "Remove Group"
msgstr "Gruppe entfernen"
-#: group_tabs.cc:325
+#: group_tabs.cc:329
msgid "Remove Subgroup Bus"
msgstr "Subgruppen-Bus entfernen"
-#: group_tabs.cc:327
+#: group_tabs.cc:331
msgid "Add New Subgroup Bus"
msgstr "Subgruppen-Bus hinzufügen"
-#: group_tabs.cc:329
+#: group_tabs.cc:333
msgid "Add New Aux Bus (pre-fader)"
msgstr "Aux-Send zur Subgruppe hinzufügen (Pre-Fader)"
-#: group_tabs.cc:330
+#: group_tabs.cc:334
msgid "Add New Aux Bus (post-fader)"
msgstr "Aux-Send zur Subgruppe hinzufügen (Post-Fader)"
-#: group_tabs.cc:336
+#: group_tabs.cc:340
msgid "Enable All Groups"
msgstr "Alle Gruppen aktivieren"
-#: group_tabs.cc:337
+#: group_tabs.cc:341
msgid "Disable All Groups"
msgstr "Alle Gruppen deaktivieren"
-#: gtk-custom-ruler.c:133
-msgid "Lower limit of ruler"
-msgstr "Untere Grenze des Lineals"
-
-#: gtk-custom-ruler.c:142
-msgid "Upper"
-msgstr "Obergrenze"
-
-#: gtk-custom-ruler.c:143
-msgid "Upper limit of ruler"
-msgstr "Obere Grenze für das Lineal"
-
-#: gtk-custom-ruler.c:153
-msgid "Position of mark on the ruler"
-msgstr "Position der Markierung auf dem Lineal"
-
-#: gtk-custom-ruler.c:162
-msgid "Max Size"
-msgstr "Maximale Größe"
-
-#: gtk-custom-ruler.c:163
-msgid "Maximum size of the ruler"
-msgstr "Minimal Größe des Lineals"
-
-#: gtk-custom-ruler.c:172
-msgid "Show Position"
-msgstr "Zeige Position"
-
-#: gtk-custom-ruler.c:173
-msgid "Draw current ruler position"
-msgstr "Zeige aktuelle Position des Lineals"
-
#: insert_time_dialog.cc:46
msgid "Time to insert:"
msgstr "Einzufügende Zeit:"
@@ -6502,29 +6657,29 @@ msgstr "Stille einfügen"
msgid "Importing file: %1 of %2"
msgstr "Importiere Datei: %1 von %2"
-#: io_selector.cc:220
+#: io_selector.cc:221
msgid "I/O selector"
msgstr "E/A Auswahl"
-#: io_selector.cc:265
+#: io_selector.cc:266
msgid "%1 input"
msgstr "%1 Eingang"
-#: io_selector.cc:267
+#: io_selector.cc:268
msgid "%1 output"
msgstr "%1 Ausgang"
-#: keyboard.cc:66
+#: keyboard.cc:70
msgid "your own"
msgstr "Eigenes"
-#: keyboard.cc:129 keyboard.cc:153
+#: keyboard.cc:133 keyboard.cc:157
msgid "Default keybindings not found - %1 will be hard to use!"
msgstr ""
"Keine Tastatur-Standardbelegung gefunden - %1 wird sich schwer bedienen "
"lassen!"
-#: keyboard.cc:132 keyboard.cc:156
+#: keyboard.cc:136
msgid "Key bindings file \"%1\" not found. Default bindings used instead"
msgstr ""
"Die Datei \"%1\" für Tastaturkürzel wurde nicht gefunden. Stattdessen wird "
@@ -6542,29 +6697,33 @@ msgstr "Aktion"
msgid "Shortcut"
msgstr "Tastenkürzel"
-#: keyeditor.cc:86
+#: keyeditor.cc:85
msgid "Select an action, then press the key(s) to (re)set its shortcut"
msgstr ""
"Wählen Sie eine Aktion und drücken Sie dann die Taste(n) \n"
"um das Tastaturkürzel zu setzen"
-#: keyeditor.cc:251
+#: keyeditor.cc:99
+msgid "Reset Bindings to Defaults"
+msgstr ""
+
+#: keyeditor.cc:260
msgid "Main_menu"
msgstr "Hauptmenü"
-#: keyeditor.cc:253
+#: keyeditor.cc:262
msgid "redirectmenu"
msgstr "Umleitungsmenü"
-#: keyeditor.cc:255
+#: keyeditor.cc:264
msgid "Editor_menus"
msgstr "Editor-Menü"
-#: keyeditor.cc:257
+#: keyeditor.cc:266
msgid "RegionList"
msgstr "Regionenliste"
-#: keyeditor.cc:259
+#: keyeditor.cc:268
msgid "ProcessorMenu"
msgstr "Prozessor-Menü"
@@ -6586,134 +6745,107 @@ msgid_plural "%1 samples"
msgstr[0] "%1 Sample"
msgstr[1] "%1 Samples"
-#: latency_gui.cc:72 panner_ui.cc:391
+#: latency_gui.cc:72 panner_ui.cc:408
msgid "Reset"
msgstr "Zurücksetzen"
-#: latency_gui.cc:151 rhythm_ferret.cc:274 sfdb_ui.cc:1755
+#: latency_gui.cc:149 rhythm_ferret.cc:273 sfdb_ui.cc:1893
msgid "programming error: %1 (%2)"
msgstr "Programmierfehler: %1 (%2)"
-#: location_ui.cc:50 location_ui.cc:52
+#: location_ui.cc:51 location_ui.cc:53
msgid "Use PH"
msgstr "zu PZ"
-#: location_ui.cc:54
+#: location_ui.cc:55
msgid "CD"
msgstr "CD"
-#: location_ui.cc:57
+#: location_ui.cc:58
msgid "Glue"
msgstr "Bindung"
-#: location_ui.cc:85
+#: location_ui.cc:86
msgid "Performer:"
msgstr "Vortragender:"
-#: location_ui.cc:86
+#: location_ui.cc:87
msgid "Composer:"
msgstr "Komponist:"
-#: location_ui.cc:88
+#: location_ui.cc:89
msgid "Pre-Emphasis"
msgstr "Präemphase"
-#: location_ui.cc:314
+#: location_ui.cc:316
msgid "Remove this range"
msgstr "Diesen Bereich entfernen"
-#: location_ui.cc:315
+#: location_ui.cc:317
msgid "Start time - middle click to locate here"
msgstr "Startzeit - Mittelklick, um hierher zu positionieren"
-#: location_ui.cc:316
+#: location_ui.cc:318
msgid "End time - middle click to locate here"
msgstr "Endzeit - Mittelklick, um hierher zu positionieren"
-#: location_ui.cc:319
+#: location_ui.cc:321
msgid "Set range start from playhead location"
msgstr "Bereichsbeginn auf Positionszeiger setzen"
-#: location_ui.cc:320
+#: location_ui.cc:322
msgid "Set range end from playhead location"
msgstr "Bereichsende auf Positionszeiger setzen"
-#: location_ui.cc:324
+#: location_ui.cc:326
msgid "Remove this marker"
msgstr "Diesen Marker entfernen"
-#: location_ui.cc:325
+#: location_ui.cc:327
msgid "Position - middle click to locate here"
msgstr "Position - Mittelklick, um hierher zu positionieren"
-#: location_ui.cc:327
+#: location_ui.cc:329
msgid "Set marker time from playhead location"
msgstr "Markerposition auf Positionszeiger setzen"
-#: location_ui.cc:494
+#: location_ui.cc:496
msgid "You cannot put a CD marker at the start of the session"
msgstr "Sie können keinen CD-Marker am Anfang des Projekts erstellen"
-#: location_ui.cc:720
+#: location_ui.cc:722
msgid "New Marker"
msgstr "Neuer Marker"
-#: location_ui.cc:721
+#: location_ui.cc:723
msgid "New Range"
msgstr "Neuer Bereich"
-#: location_ui.cc:734
+#: location_ui.cc:736
msgid "<b>Loop/Punch Ranges</b>"
msgstr "<b>Schleifen/Punchbereiche</b>"
-#: location_ui.cc:759
+#: location_ui.cc:761
msgid "<b>Markers (Including CD Index)</b>"
msgstr "<b>Marker (Inclusive CD Index)</b>"
-#: location_ui.cc:794
+#: location_ui.cc:796
msgid "<b>Ranges (Including CD Track Ranges)</b>"
msgstr "<b>Bereiche (Inclusive CD Track-Bereichen)</b>"
-#: location_ui.cc:1036
+#: location_ui.cc:1038
msgid "add range marker"
msgstr "Bereich hinzufügen"
-#: main.cc:81
+#: main.cc:79
msgid "%1 could not connect to the audio backend."
msgstr "%1 konnte nicht zum Audiobackend verbinden."
-#: main.cc:194 main.cc:315
-msgid "cannot create user %3 folder %1 (%2)"
-msgstr "Kann benutzerspezifischen %3-Ordner %1 nicht erstellen: %2"
-
-#: main.cc:201 main.cc:322
-msgid "cannot open pango.rc file %1"
-msgstr "kann die Datei pango.rc nicht öffnen %1"
-
-#: main.cc:226 main.cc:349
-msgid "Cannot find ArdourMono TrueType font"
-msgstr "Kann den TrueType-Font ArdourMono nicht finden"
-
-#: main.cc:238 main.cc:355
-msgid "Cannot load ArdourMono TrueType font."
-msgstr "Kann den TrueType-Font ArdourMono nicht laden."
-
-#: main.cc:303
-msgid ""
-"No fontconfig file found on your system. Things may looked very odd or ugly"
-msgstr ""
-"Keine fontconfig-Datei auf Ihrem System gefunden. Das kann zu seltsamem oder "
-"hässlichem Aussehen führen"
-
-#: main.cc:359
-msgid "Failed to set fontconfig configuration."
-msgstr "Fontconfig-Konfiguration gescheitert."
-
-#: main.cc:370 main.cc:386
+#: main.cc:104 main.cc:120
msgid "The audio backend (%1) has failed, or terminated"
msgstr "Das Audiobackend (%1) funktioniert nicht oder wurde beendet"
-#: main.cc:373
+#: main.cc:107
msgid ""
"%2 exited unexpectedly, and without notifying %1.\n"
"\n"
@@ -6728,23 +6860,33 @@ msgstr ""
"\n"
"Klicke OK, um %1 zu verlassen."
-#: main.cc:387
+#: main.cc:121
msgid "%2 exited unexpectedly, and without notifying %1."
msgstr "%2 wurde unerwartet und ohne %1 zu benachrichtigen beendet "
-#: main.cc:474
+#: main.cc:223
+msgid ""
+"\n"
+" Ardour could not understand your command line "
+msgstr ""
+
+#: main.cc:225
+msgid "An error was encountered while launching Ardour"
+msgstr ""
+
+#: main.cc:233
msgid " (built using "
msgstr " (kompiliert mit Version "
-#: main.cc:477
+#: main.cc:236
msgid " and GCC version "
msgstr " und GCC Version"
-#: main.cc:487
+#: main.cc:246
msgid "Copyright (C) 1999-2012 Paul Davis"
msgstr "Copyright (C) 1999-2012 Paul Davis"
-#: main.cc:488
+#: main.cc:247
msgid ""
"Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
"Baker, Robin Gareus"
@@ -6752,34 +6894,34 @@ msgstr ""
"Einige Teile Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
"Baker, Robin Gareus"
-#: main.cc:490
+#: main.cc:249
msgid "%1 comes with ABSOLUTELY NO WARRANTY"
msgstr "%1 wird Ihnen ohne jegliche Gewährleistung"
-#: main.cc:491
+#: main.cc:250
msgid "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
msgstr ""
"für allgemeine oder spezielle Gebrauchstauglichkeit zur Verfügung gestellt."
-#: main.cc:492
+#: main.cc:251
msgid "This is free software, and you are welcome to redistribute it "
msgstr "Dies ist freie Software, die Sie gerne weitergeben dürfen"
-#: main.cc:493
+#: main.cc:252
msgid "under certain conditions; see the source for copying conditions."
msgstr ""
"solange Sie sich an die Bedingungen, die in der Datei COPYING aufgeführt "
"sind halten."
-#: main.cc:500
+#: main.cc:259
msgid "could not initialize %1."
msgstr "Konnte %1 nicht initialisieren."
-#: main.cc:509
+#: main.cc:269
msgid "Cannot xinstall SIGPIPE error handler"
msgstr "Kann die SIGPIPE Fehlerbehandlung nicht installieren"
-#: main.cc:515
+#: main.cc:276
msgid "could not create %1 GUI"
msgstr "konnte das %1 GUI nicht erstellen"
@@ -6787,17 +6929,13 @@ msgstr "konnte das %1 GUI nicht erstellen"
msgid "Display delta to edit cursor"
msgstr "Zeige Abstand zu Arbeitspunkt"
-#: marker.cc:251 video_image_frame.cc:121
+#: marker.cc:265
msgid "MarkerText"
msgstr "MarkerText"
-#: midi_channel_selector.cc:159 midi_channel_selector.cc:397
-#: midi_channel_selector.cc:433
-msgid "All"
-msgstr "Alle"
-
#: midi_channel_selector.cc:163 midi_channel_selector.cc:402
-#: midi_channel_selector.cc:438 rc_option_editor.cc:1248 sfdb_ui.cc:538
+#: midi_channel_selector.cc:438 rc_option_editor.cc:1499
+#: rc_option_editor.cc:2084 sfdb_ui.cc:658
msgid "None"
msgstr "Kein"
@@ -6988,87 +7126,87 @@ msgstr "Portname:"
msgid "MidiPortDialog"
msgstr "MidiPortDialog"
-#: midi_region_view.cc:838
+#: midi_region_view.cc:822
msgid "channel edit"
msgstr "Kanal editieren"
-#: midi_region_view.cc:874
+#: midi_region_view.cc:858
msgid "velocity edit"
msgstr "Velocity bearbeiten"
-#: midi_region_view.cc:931
+#: midi_region_view.cc:915
msgid "add note"
msgstr "Note hinzufügen"
-#: midi_region_view.cc:1779
+#: midi_region_view.cc:1766
msgid "step add"
msgstr "Schritt hinzufügen"
-#: midi_region_view.cc:1862
+#: midi_region_view.cc:1853
msgid "insane MIDI patch key %1:%2"
msgstr "fehlerhafter Schlüssel für MIDI-Patch %1: %2"
-#: midi_region_view.cc:1870 midi_region_view.cc:1890
+#: midi_region_view.cc:1861 midi_region_view.cc:1881
msgid "alter patch change"
msgstr "Patch Change ändern"
-#: midi_region_view.cc:1924
+#: midi_region_view.cc:1915
msgid "add patch change"
msgstr "Patch Change hinzufügen"
-#: midi_region_view.cc:1942
+#: midi_region_view.cc:1933
msgid "move patch change"
msgstr "Patch Change verschieben"
-#: midi_region_view.cc:1953
+#: midi_region_view.cc:1944
msgid "delete patch change"
msgstr "Patch Change löschen"
-#: midi_region_view.cc:2022
+#: midi_region_view.cc:2013
msgid "delete selection"
msgstr "Auswahl löschen"
-#: midi_region_view.cc:2038
+#: midi_region_view.cc:2029
msgid "delete note"
msgstr "Note löschen"
-#: midi_region_view.cc:2425
+#: midi_region_view.cc:2423
msgid "move notes"
msgstr "Noten verschieben"
-#: midi_region_view.cc:2647
+#: midi_region_view.cc:2645
msgid "resize notes"
msgstr "Notenlänge ändern"
-#: midi_region_view.cc:2901
+#: midi_region_view.cc:2899
msgid "change velocities"
msgstr "Velocity ändern"
-#: midi_region_view.cc:2967
+#: midi_region_view.cc:2965
msgid "transpose"
msgstr "Transponieren"
-#: midi_region_view.cc:3001
+#: midi_region_view.cc:2999
msgid "change note lengths"
msgstr "Notenlänge ändern"
-#: midi_region_view.cc:3070
+#: midi_region_view.cc:3068
msgid "nudge"
msgstr "Verschieben"
-#: midi_region_view.cc:3085
+#: midi_region_view.cc:3083
msgid "change channel"
msgstr "Kanal ändern"
-#: midi_region_view.cc:3130
+#: midi_region_view.cc:3128
msgid "Bank "
msgstr "Bank"
-#: midi_region_view.cc:3131
+#: midi_region_view.cc:3129
msgid "Program "
msgstr "Programm"
-#: midi_region_view.cc:3132
+#: midi_region_view.cc:3130
msgid "Channel "
msgstr "Kanal"
@@ -7076,140 +7214,136 @@ msgstr "Kanal"
msgid "paste"
msgstr "Einfügen"
-#: midi_region_view.cc:3761
-msgid "delete sysex"
-msgstr "SysEx löschen"
-
-#: midi_streamview.cc:479
+#: midi_streamview.cc:491
msgid "failed to create MIDI region"
msgstr "konnte MIDI-Region nicht erzeugen"
-#: midi_time_axis.cc:262
+#: midi_time_axis.cc:293
msgid "External MIDI Device"
msgstr "Externes MIDI-Gerät"
-#: midi_time_axis.cc:263
+#: midi_time_axis.cc:294
msgid "External Device Mode"
msgstr "Modus Externes Gerät"
-#: midi_time_axis.cc:271
+#: midi_time_axis.cc:302
msgid "Chns"
msgstr "Chns"
-#: midi_time_axis.cc:272
+#: midi_time_axis.cc:303
msgid "Click to edit channel settings"
msgstr "Klicke, um Kanaleinstellungen zu bearbeiten"
-#: midi_time_axis.cc:486
+#: midi_time_axis.cc:517
msgid "Show Full Range"
msgstr "Ganzen Bereich anzeigen"
-#: midi_time_axis.cc:491
+#: midi_time_axis.cc:522
msgid "Fit Contents"
msgstr "Auf Inhalt anpassen"
-#: midi_time_axis.cc:495
+#: midi_time_axis.cc:526
msgid "Note Range"
msgstr "Notenbereich"
-#: midi_time_axis.cc:496
+#: midi_time_axis.cc:527
msgid "Note Mode"
msgstr "Noten-Modus"
-#: midi_time_axis.cc:497
+#: midi_time_axis.cc:528
msgid "Channel Selector"
msgstr "Kanalauswahl"
-#: midi_time_axis.cc:502
+#: midi_time_axis.cc:533
msgid "Color Mode"
msgstr "Farbmodus"
-#: midi_time_axis.cc:561
+#: midi_time_axis.cc:592
msgid "Bender"
msgstr "Bender"
-#: midi_time_axis.cc:565
+#: midi_time_axis.cc:596
msgid "Pressure"
msgstr "Druckdaten"
-#: midi_time_axis.cc:578
+#: midi_time_axis.cc:609
msgid "Controllers"
msgstr "Controller"
-#: midi_time_axis.cc:583
+#: midi_time_axis.cc:614
msgid "No MIDI Channels selected"
msgstr "Keine MIDI-Kanäle ausgewählt"
-#: midi_time_axis.cc:640 midi_time_axis.cc:769
+#: midi_time_axis.cc:692 midi_time_axis.cc:821
msgid "Hide all channels"
msgstr "Alle Kanäle verbergen"
-#: midi_time_axis.cc:644 midi_time_axis.cc:773
+#: midi_time_axis.cc:696 midi_time_axis.cc:825
msgid "Show all channels"
msgstr "Alle Kanäle anzeigen"
-#: midi_time_axis.cc:655 midi_time_axis.cc:784
+#: midi_time_axis.cc:707 midi_time_axis.cc:836
msgid "Channel %1"
msgstr "Kanal %1"
-#: midi_time_axis.cc:910 midi_time_axis.cc:942
+#: midi_time_axis.cc:962 midi_time_axis.cc:994
msgid "Controllers %1-%2"
msgstr "Controller %1-%2"
-#: midi_time_axis.cc:933 midi_time_axis.cc:936
+#: midi_time_axis.cc:985 midi_time_axis.cc:988
msgid "Controller %1"
msgstr "Controller %1"
-#: midi_time_axis.cc:959
+#: midi_time_axis.cc:1011
msgid "Sustained"
msgstr "Sustain"
-#: midi_time_axis.cc:966
+#: midi_time_axis.cc:1018
msgid "Percussive"
msgstr "Perkussiv"
-#: midi_time_axis.cc:986
+#: midi_time_axis.cc:1038
msgid "Meter Colors"
msgstr "Nach Lautstärke"
-#: midi_time_axis.cc:993
+#: midi_time_axis.cc:1045
msgid "Channel Colors"
msgstr "Kanalfarben"
-#: midi_time_axis.cc:1000
+#: midi_time_axis.cc:1052
msgid "Track Color"
msgstr "Spurfarbe"
-#: midi_time_axis.cc:1488 midi_time_axis.cc:1494 midi_time_axis.cc:1504
-#: midi_time_axis.cc:1510
+#: midi_time_axis.cc:1687 midi_time_axis.cc:1693 midi_time_axis.cc:1703
+#: midi_time_axis.cc:1709
msgid "all"
msgstr "alle"
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1507
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1706
msgid "some"
msgstr "einige"
-#: midi_tracer.cc:46
+#: midi_tracer.cc:49
msgid "Line history: "
msgstr "Aktionsliste:"
-#: midi_tracer.cc:54
+#: midi_tracer.cc:57
msgid "Auto-Scroll"
msgstr "Auto-Scroll"
-#: midi_tracer.cc:55
+#: midi_tracer.cc:58
msgid "Decimal"
msgstr "Dezimal"
-#: midi_tracer.cc:56 rc_option_editor.cc:657
+#: midi_tracer.cc:59 rc_option_editor.cc:717
msgid "Enabled"
msgstr "Aktiviert"
-#: midi_tracer.cc:57
+#: midi_tracer.cc:60
msgid "Delta times"
msgstr "Deltazeiten"
-#: midi_tracer.cc:70
+#: midi_tracer.cc:73
msgid "Port:"
msgstr "Port:"
@@ -7217,35 +7351,35 @@ msgstr "Port:"
msgid "New velocity"
msgstr "Neue Velocity"
-#: missing_file_dialog.cc:34
-msgid "Missing File!"
-msgstr "Fehlende Datei!"
+#: missing_file_dialog.cc:35
+msgid "Missing File"
+msgstr ""
-#: missing_file_dialog.cc:36
+#: missing_file_dialog.cc:37
msgid "Select a folder to search"
msgstr "Ordner zum Suchen auswählen"
-#: missing_file_dialog.cc:37
+#: missing_file_dialog.cc:38
msgid "Add chosen folder to search path, and try again"
msgstr "Ausgewählten Ordner zur Suche hinzufügen und es nochmal versuchen"
-#: missing_file_dialog.cc:39
+#: missing_file_dialog.cc:40
msgid "Stop loading this session"
msgstr "Laden des Projekts abbrechen"
-#: missing_file_dialog.cc:40
+#: missing_file_dialog.cc:41
msgid "Skip all missing files"
msgstr "Alle fehlenden Dateien überspringen"
-#: missing_file_dialog.cc:41
+#: missing_file_dialog.cc:42
msgid "Skip this file"
msgstr "Diese Datei überspringen"
-#: missing_file_dialog.cc:52
+#: missing_file_dialog.cc:53
msgid "audio"
msgstr "Audio"
-#: missing_file_dialog.cc:65
+#: missing_file_dialog.cc:70
msgid ""
"%1 cannot find the %2 file\n"
"\n"
@@ -7265,7 +7399,7 @@ msgstr ""
"<tt>%4</tt>\n"
"\n"
-#: missing_file_dialog.cc:99
+#: missing_file_dialog.cc:104
msgid "Click to choose an additional folder"
msgstr "Einen weiteren Ordner für die Suche auswählen"
@@ -7273,7 +7407,7 @@ msgstr "Einen weiteren Ordner für die Suche auswählen"
msgid "Missing Plugins"
msgstr "Fehlende Plugins"
-#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:59
+#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:60
msgid "OK"
msgstr "OK"
@@ -7329,6 +7463,10 @@ msgstr "Ausgewählte Prozessoren umschalten"
msgid "Toggle Selected Plugins"
msgstr "Ausgewählte Plugins umschalten "
+#: mixer_actor.cc:70
+msgid "Deselect all srips and processors"
+msgstr ""
+
#: mixer_actor.cc:72 mixer_actor.cc:73
msgid "Scroll Mixer Window to the left"
msgstr "Mixerfenster nach links scrollen"
@@ -7345,20 +7483,20 @@ msgstr "Mixer-Tastenkürzel aus %1 geladen"
msgid "Could not find mixer.bindings in search path %1"
msgstr "Konnte mixer.bindings im Suchpfad %1 nicht finden"
-#: mixer_strip.cc:93 mixer_strip.cc:121 mixer_strip.cc:1721
+#: mixer_strip.cc:98 mixer_strip.cc:127
msgid "pre"
msgstr "Pre"
-#: mixer_strip.cc:95 mixer_strip.cc:123 mixer_strip.cc:354 mixer_strip.cc:1300
-#: rc_option_editor.cc:1868
+#: mixer_strip.cc:100 mixer_strip.cc:129 mixer_strip.cc:376
+#: mixer_strip.cc:1373 rc_option_editor.cc:2203
msgid "Comments"
msgstr "Kommentare"
-#: mixer_strip.cc:147
+#: mixer_strip.cc:151
msgid "Click to toggle the width of this mixer strip."
msgstr "Klicken Sie, um die Breite des Mixerkanals umzuschalten"
-#: mixer_strip.cc:149
+#: mixer_strip.cc:153
msgid ""
"\n"
"%1-%2-click to toggle the width of all strips."
@@ -7366,298 +7504,286 @@ msgstr ""
"\n"
"%1-%2-Klicken Sie, um die Breite aller Mixerkanäle umzuschalten."
-#: mixer_strip.cc:156
+#: mixer_strip.cc:160
msgid "Hide this mixer strip"
msgstr "Diesen Mixerkanal verbergen"
-#: mixer_strip.cc:167
+#: mixer_strip.cc:171
msgid "Click to select metering point"
msgstr "Abgreifpunkt der Pegelanzeige auswählen"
-#: mixer_strip.cc:173
-msgid "tupni"
-msgstr "tupni"
-
-#: mixer_strip.cc:192
+#: mixer_strip.cc:191
msgid "Isolate Solo"
msgstr "Solo isolieren"
-#: mixer_strip.cc:201
+#: mixer_strip.cc:200
msgid "Lock Solo Status"
msgstr "Solostatus sperren"
-#: mixer_strip.cc:203 mixer_strip.cc:1926
-msgid "lock"
-msgstr "lock"
-
-#: mixer_strip.cc:204 mixer_strip.cc:1925
-msgid "iso"
-msgstr "iso"
+#: mixer_strip.cc:203 mixer_strip.cc:1982
+msgid "Iso"
+msgstr ""
-#: mixer_strip.cc:258
+#: mixer_strip.cc:259
msgid "Mix group"
msgstr "Bearbeitungsgruppe"
-#: mixer_strip.cc:351 rc_option_editor.cc:1865
+#: mixer_strip.cc:372 rc_option_editor.cc:2199
msgid "Phase Invert"
msgstr "Phaseninvertierung"
-#: mixer_strip.cc:352 rc_option_editor.cc:1866 route_ui.cc:1218
-msgid "Solo Safe"
-msgstr "Solo sperren"
-
-#: mixer_strip.cc:355 mixer_ui.cc:124 route_time_axis.cc:673
-msgid "Group"
-msgstr "Gruppe"
+#: mixer_strip.cc:373 rc_option_editor.cc:2200
+msgid "Record & Monitor"
+msgstr ""
-#: mixer_strip.cc:356 rc_option_editor.cc:1869
-msgid "Meter Point"
-msgstr "Abgreifpunkt der Pegelanzeige"
+#: mixer_strip.cc:374 rc_option_editor.cc:2201
+msgid "Solo Iso / Lock"
+msgstr ""
-#: mixer_strip.cc:470
+#: mixer_strip.cc:530
msgid "Enable/Disable MIDI input"
msgstr "Aktiviert/Deaktiviert MIDI Input"
-#: mixer_strip.cc:622
-msgid ""
-"Aux\n"
-"Sends"
+#: mixer_strip.cc:694
+msgid "Aux"
msgstr ""
-"Aux\n"
-"Sends"
-#: mixer_strip.cc:646
+#: mixer_strip.cc:716
msgid "Snd"
msgstr "Snd"
-#: mixer_strip.cc:701 mixer_strip.cc:829 processor_box.cc:2193
+#: mixer_strip.cc:782 mixer_strip.cc:880 processor_box.cc:2426
msgid "Not connected to audio engine - no I/O changes are possible"
msgstr ""
"Nicht mit Audioengine verbunden - es sind keine Änderungen an Ein-/Ausgängen "
"möglich"
-#: mixer_strip.cc:1096
+#: mixer_strip.cc:1163
msgid "<b>INPUT</b> to %1"
msgstr "<b>EINGANG</b> zu %1"
-#: mixer_strip.cc:1099
+#: mixer_strip.cc:1166
msgid "<b>OUTPUT</b> from %1"
msgstr "<b>AUSGANG</b> von %1"
-#: mixer_strip.cc:1174
+#: mixer_strip.cc:1241
msgid "Disconnected"
msgstr "Getrennt"
-#: mixer_strip.cc:1303
+#: mixer_strip.cc:1376
msgid "*Comments*"
msgstr "*Kommentare*"
-#: mixer_strip.cc:1310
+#: mixer_strip.cc:1383
msgid "Cmt"
msgstr "Kmt"
-#: mixer_strip.cc:1313
+#: mixer_strip.cc:1386
msgid "*Cmt*"
msgstr "*Kmt*"
-#: mixer_strip.cc:1319
+#: mixer_strip.cc:1392
msgid "Click to Add/Edit Comments"
msgstr "Kommentare hinzufügen/ändern"
-#: mixer_strip.cc:1358
-msgid ": comment editor"
-msgstr ": Kommentare bearbeiten"
-
-#: mixer_strip.cc:1435
+#: mixer_strip.cc:1436
msgid "Grp"
msgstr "Grp"
-#: mixer_strip.cc:1438
+#: mixer_strip.cc:1439
msgid "~G"
msgstr "~G"
-#: mixer_strip.cc:1467
+#: mixer_strip.cc:1468 route_time_axis.cc:534
+msgid "Color..."
+msgstr "Farbe..."
+
+#: mixer_strip.cc:1470 route_time_axis.cc:536
msgid "Comments..."
msgstr "Kommentare"
-#: mixer_strip.cc:1469
+#: mixer_strip.cc:1472 route_time_axis.cc:538
+msgid "Inputs..."
+msgstr ""
+
+#: mixer_strip.cc:1474 route_time_axis.cc:540
+msgid "Outputs..."
+msgstr ""
+
+#: mixer_strip.cc:1479
msgid "Save As Template..."
msgstr "Als Vorlage Speichern..."
-#: mixer_strip.cc:1475 route_group_dialog.cc:39 route_time_axis.cc:696
+#: mixer_strip.cc:1485 route_group_dialog.cc:45 route_time_axis.cc:814
msgid "Active"
msgstr "Aktiv"
-#: mixer_strip.cc:1482
+#: mixer_strip.cc:1493
msgid "Adjust Latency..."
msgstr "Latenz einstellen..."
-#: mixer_strip.cc:1485
+#: mixer_strip.cc:1496
msgid "Protect Against Denormals"
msgstr "Schütze vor Denormals"
-#: mixer_strip.cc:1491 route_time_axis.cc:435
+#: mixer_strip.cc:1502 route_time_axis.cc:553
msgid "Remote Control ID..."
msgstr "ID für Fernsteuerung..."
-#: mixer_strip.cc:1717 mixer_strip.cc:1741
-msgid "in"
-msgstr "in"
-
-#: mixer_strip.cc:1725
-msgid "post"
-msgstr "Post"
-
-#: mixer_strip.cc:1729
-msgid "out"
-msgstr "out"
-
-#: mixer_strip.cc:1734
-msgid "custom"
-msgstr "Benutzerdefiniert"
+#: mixer_strip.cc:1778
+msgid "Pre"
+msgstr ""
-#: mixer_strip.cc:1745
-msgid "pr"
-msgstr "Pre"
+#: mixer_strip.cc:1782
+msgid "Post"
+msgstr ""
-#: mixer_strip.cc:1749
-msgid "po"
-msgstr "Po"
+#: mixer_strip.cc:1802
+msgid "Pr"
+msgstr ""
-#: mixer_strip.cc:1753
-msgid "o"
-msgstr "an"
+#: mixer_strip.cc:1806
+msgid "Po"
+msgstr ""
-#: mixer_strip.cc:1758
-msgid "c"
-msgstr "c"
+#: mixer_strip.cc:1815
+msgid "C"
+msgstr ""
-#: mixer_strip.cc:1906 route_ui.cc:143
+#: mixer_strip.cc:1963 route_ui.cc:164
msgid "Disk"
msgstr "Disk"
-#: mixer_strip.cc:1918 monitor_section.cc:63
+#: mixer_strip.cc:1975 monitor_section.cc:71
msgid "AFL"
msgstr "AFL"
-#: mixer_strip.cc:1921 monitor_section.cc:64
+#: mixer_strip.cc:1978 monitor_section.cc:72
msgid "PFL"
msgstr "PFL"
-#: mixer_strip.cc:1933
+#: mixer_strip.cc:1989 meter_strip.cc:380
msgid "D"
msgstr "D"
-#: mixer_strip.cc:1953
-msgid "i"
-msgstr "i"
-
-#: mixer_strip.cc:2128
-msgid "Pre-fader"
-msgstr "Pre-Fader"
+#: mixer_strip.cc:2196
+msgid "Pre Fader"
+msgstr "Pre Fader"
-#: mixer_strip.cc:2129
-msgid "Post-fader"
-msgstr "Post-Fader"
+#: mixer_strip.cc:2197
+msgid "Post Fader"
+msgstr "Post Fader"
-#: mixer_strip.cc:2166 meter_strip.cc:728
+#: mixer_strip.cc:2235 meter_strip.cc:818
msgid "Change all in Group to %1"
msgstr "Alle in Gruppe zu %1 ändern"
-#: mixer_strip.cc:2168 meter_strip.cc:730
+#: mixer_strip.cc:2237 meter_strip.cc:820
msgid "Change all to %1"
msgstr "Alle zu %1 ändern"
-#: mixer_strip.cc:2170 meter_strip.cc:732
+#: mixer_strip.cc:2239 meter_strip.cc:822
msgid "Change same track-type to %1"
msgstr "Gleichen Spurtyp zu %1 ändern"
-#: mixer_ui.cc:1189
+#: mixer_ui.cc:129 route_time_axis.cc:791
+msgid "Group"
+msgstr "Gruppe"
+
+#: mixer_ui.cc:1209
msgid "track display list item for renamed strip not found!"
msgstr ""
"Konnte Bezeichnung für umbenannten Mixerkanal nicht in der Spurliste finden!"
-#: mixer_ui.cc:1273
+#: mixer_ui.cc:1293
msgid "-all-"
msgstr "-alle-"
-#: mixer_ui.cc:1794
+#: mixer_ui.cc:1829
msgid "Strips"
msgstr "Spur"
-#: meter_strip.cc:764
+#: meter_strip.cc:157
+msgid "Reset Peak"
+msgstr ""
+
+#: meter_strip.cc:854
msgid "Variable height"
msgstr "Variable Höhe"
-#: meter_strip.cc:765
+#: meter_strip.cc:855
msgid "Short"
msgstr "Short"
-#: meter_strip.cc:766
+#: meter_strip.cc:856
msgid "Tall"
msgstr "Tall"
-#: meter_strip.cc:767
+#: meter_strip.cc:857
msgid "Grande"
msgstr "Grande"
-#: meter_strip.cc:768
+#: meter_strip.cc:858
msgid "Venti"
msgstr "Venti"
-#: meter_patterns.cc:81
+#: meter_patterns.cc:82
msgid "Peak"
msgstr "Spitzenwert"
-#: meter_patterns.cc:84
+#: meter_patterns.cc:85
msgid "RMS + Peak"
msgstr "RMS + Spitzenwert"
-#: meter_patterns.cc:87
+#: meter_patterns.cc:88
msgid "IEC1/DIN"
msgstr "IEC1/DIN"
-#: meter_patterns.cc:90
+#: meter_patterns.cc:91
msgid "IEC1/Nordic"
msgstr "IEC1/Nordisch"
-#: meter_patterns.cc:93
+#: meter_patterns.cc:94
msgid "IEC2/BBC"
msgstr "IEC2/BBC"
-#: meter_patterns.cc:96
+#: meter_patterns.cc:97
msgid "IEC2/EBU"
msgstr "IEC2/EBU"
-#: meter_patterns.cc:99
+#: meter_patterns.cc:100
msgid "K20"
msgstr "K20"
-#: meter_patterns.cc:102
+#: meter_patterns.cc:103
msgid "K14"
msgstr "K14"
-#: meter_patterns.cc:105
+#: meter_patterns.cc:106
+msgid "K12"
+msgstr "K12"
+
+#: meter_patterns.cc:109
msgid "VU"
msgstr "VU"
-#: monitor_section.cc:62
+#: monitor_section.cc:70
msgid "SiP"
msgstr "SiP"
-#: monitor_section.cc:86
-msgid "soloing"
-msgstr "Solo an"
+#: monitor_section.cc:97 route_group_dialog.cc:49
+msgid "Soloing"
+msgstr "Soloing"
-#: monitor_section.cc:90
-msgid "isolated"
-msgstr "isoliert"
+#: monitor_section.cc:101
+msgid "Isolated"
+msgstr ""
-#: monitor_section.cc:94
-msgid "auditioning"
-msgstr "vorhören"
+#: monitor_section.cc:105
+msgid "Auditioning"
+msgstr ""
-#: monitor_section.cc:104
+#: monitor_section.cc:115
msgid ""
"When active, something is solo-isolated.\n"
"Click to de-isolate everything"
@@ -7665,7 +7791,7 @@ msgstr ""
"Wenn aktiv, ist etwas auf isoliertes Solo geschalten.\n"
"Klick, schaltet isoliertes Solo überall aus."
-#: monitor_section.cc:107
+#: monitor_section.cc:118
msgid ""
"When active, auditioning is active.\n"
"Click to stop the audition"
@@ -7673,27 +7799,27 @@ msgstr ""
"Wird beim Vorhören aktiv.\n"
"Klicken stoppt das Vorhören."
-#: monitor_section.cc:124
+#: monitor_section.cc:135
msgid "Solo controls affect solo-in-place"
msgstr "Solo-Kontrollelemente beeinflussen solo-in-place"
-#: monitor_section.cc:130
+#: monitor_section.cc:141
msgid "Solo controls toggle after-fader-listen"
msgstr "Solo-Kontrollelemente schalten AFL um"
-#: monitor_section.cc:136
+#: monitor_section.cc:147
msgid "Solo controls toggle pre-fader-listen"
msgstr "Solo-Kontrollelemente schalten PFL um"
-#: monitor_section.cc:144
+#: monitor_section.cc:157
msgid "Gain increase for soloed signals (0dB is normal)"
msgstr "Erhöhung der Lautstärke für Solosignale (0dB ist üblich)"
-#: monitor_section.cc:150
+#: monitor_section.cc:171
msgid "Solo Boost"
msgstr "Solo Boost"
-#: monitor_section.cc:162
+#: monitor_section.cc:186
msgid ""
"Gain reduction non-soloed signals\n"
"A value above -inf dB causes \"solo-in-front\""
@@ -7701,32 +7827,32 @@ msgstr ""
"Reduzierung der Lautstärke für Signale, die nicht Solo geschalten sind.\n"
"Ein Wert über -inf dB bedeutet \"solo-in-front\""
-#: monitor_section.cc:164
+#: monitor_section.cc:197
msgid "SiP Cut"
msgstr "SiP Cut"
-#: monitor_section.cc:176
+#: monitor_section.cc:212
msgid "Gain reduction to use when dimming monitor outputs"
msgstr "Lautstärkereduzierung beim Abschwächen der Monitorausgänge"
-#: monitor_section.cc:181
+#: monitor_section.cc:226 monitor_section.cc:284
msgid "Dim"
msgstr "Dim"
-#: monitor_section.cc:190
-msgid "excl. solo"
-msgstr "excl. solo"
+#: monitor_section.cc:236
+msgid "Excl. Solo"
+msgstr ""
-#: monitor_section.cc:192
+#: monitor_section.cc:238
msgid "Exclusive solo means that only 1 solo is active at a time"
msgstr ""
"Exklusives Solo bedeutet, daß nur ein Solo zu einem Zeitpunkt aktiv ist"
-#: monitor_section.cc:199
-msgid "solo » mute"
-msgstr "solo » mute"
+#: monitor_section.cc:245
+msgid "Solo » Mute"
+msgstr ""
-#: monitor_section.cc:201
+#: monitor_section.cc:247
msgid ""
"If enabled, solo will override mute\n"
"(a soloed & muted track or bus will be audible)"
@@ -7734,71 +7860,63 @@ msgstr ""
"Wenn aktiviert, hat Solo Priorität über Mute\n"
"(eine Spur mit aktiviertem Mute & Solo ist hörbar)"
-#: monitor_section.cc:227
-msgid "mute"
-msgstr "mute"
-
-#: monitor_section.cc:238
-msgid "dim"
-msgstr "dim"
-
-#: monitor_section.cc:245
-msgid "mono"
-msgstr "Mono"
-
-#: monitor_section.cc:266
+#: monitor_section.cc:324
msgid "Monitor"
msgstr "Monitor"
-#: monitor_section.cc:678
+#: monitor_section.cc:751
msgid "Switch monitor to mono"
msgstr "Monitor auf Mono schalten"
-#: monitor_section.cc:681
+#: monitor_section.cc:754
msgid "Cut monitor"
msgstr "Monitor stummschalten"
-#: monitor_section.cc:684
+#: monitor_section.cc:757
msgid "Dim monitor"
msgstr "Monitor abschwächen"
-#: monitor_section.cc:687
+#: monitor_section.cc:760
msgid "Toggle exclusive solo mode"
msgstr "Exklusives Solo umschalten"
-#: monitor_section.cc:693
+#: monitor_section.cc:766
msgid "Toggle mute overrides solo mode"
msgstr "Mute-Status hat höhere Priorität als Solo-Modus"
-#: monitor_section.cc:705
+#: monitor_section.cc:778
msgid "Cut monitor channel %1"
msgstr "Monitorkanal %1 stummschalten"
-#: monitor_section.cc:710
+#: monitor_section.cc:783
msgid "Dim monitor channel %1"
msgstr "Monitorkanal %1 abschwächen"
-#: monitor_section.cc:715
+#: monitor_section.cc:788
msgid "Solo monitor channel %1"
msgstr "Monitorkanal %1 Solo"
-#: monitor_section.cc:720
+#: monitor_section.cc:793
msgid "Invert monitor channel %1"
msgstr "Invertiere Monitorkanal %1"
-#: monitor_section.cc:730
+#: monitor_section.cc:803
msgid "In-place solo"
msgstr "In-Place Solo"
-#: monitor_section.cc:732
+#: monitor_section.cc:805
msgid "After Fade Listen (AFL) solo"
msgstr "Solo nach Fader (AFL) abhören"
-#: monitor_section.cc:734
+#: monitor_section.cc:807
msgid "Pre Fade Listen (PFL) solo"
msgstr "Solo vor Fader (PFL) abhören"
-#: mono_panner.cc:101
+#: mono_panner.cc:109 stereo_panner.cc:117
+msgid "bypassed"
+msgstr "überbrückt"
+
+#: mono_panner.cc:123
#, c-format
msgid "L:%3d R:%3d"
msgstr "L:%3d R:%3d"
@@ -7906,7 +8024,7 @@ msgstr "Regionen normalisieren"
msgid "Normalize region"
msgstr "Region normalisieren"
-#: normalize_dialog.cc:49 strip_silence_dialog.cc:70
+#: normalize_dialog.cc:49 strip_silence_dialog.cc:66
msgid "dbFS"
msgstr "dbFS"
@@ -8028,31 +8146,26 @@ msgstr ""
" -k, --keybindings dateiname Dateiname für die Tastaturbelegungen "
"(Standard: ~/.config/.ardour3/ardour.bindings)\n"
-#: panner2d.cc:781
+#: panner2d.cc:852
msgid "Panner (2D)"
msgstr "Panner (2D)"
-#: panner2d.cc:783 panner_ui.cc:383 plugin_ui.cc:448
+#: panner2d.cc:854 panner_ui.cc:399 plugin_ui.cc:449
msgid "Bypass"
msgstr "Bypass"
-#: panner2d.cc:787
+#: panner2d.cc:860
msgid "Panner"
msgstr "Panner"
-#: panner_ui.cc:70
+#: panner_ui.cc:71
msgid "Pan automation mode"
msgstr "Pan-Automationsmodus"
-#: panner_ui.cc:71
+#: panner_ui.cc:72
msgid "Pan automation type"
msgstr "Pan-Automationstyp"
-#: panner_ui.cc:294
-msgid ""
-"No panner user interface is currently available for %1-in/2out tracks/busses"
-msgstr "Für %1-in/2out Spuren/Busse ist momentan kein Panner-UI verfügbar"
-
#: playlist_selector.cc:43
msgid "Playlists"
msgstr "Wiedergabelisten"
@@ -8077,39 +8190,39 @@ msgstr "nicht zugewiesen"
msgid "Imported"
msgstr "Importierte"
-#: plugin_eq_gui.cc:75 plugin_eq_gui.cc:99
+#: plugin_eq_gui.cc:85 plugin_eq_gui.cc:109
msgid "dB scale"
msgstr "dB Skala"
-#: plugin_eq_gui.cc:106
+#: plugin_eq_gui.cc:116
msgid "Show phase"
msgstr "Zeige Phase"
-#: plugin_selector.cc:53 plugin_selector.cc:220
+#: plugin_selector.cc:53 plugin_selector.cc:229
msgid "Name contains"
msgstr "Name enthält"
-#: plugin_selector.cc:54 plugin_selector.cc:224
+#: plugin_selector.cc:54 plugin_selector.cc:233
msgid "Type contains"
msgstr "Typ enthält"
-#: plugin_selector.cc:55 plugin_selector.cc:222
+#: plugin_selector.cc:55 plugin_selector.cc:231
msgid "Category contains"
msgstr "Kategorie enthält"
-#: plugin_selector.cc:56 plugin_selector.cc:244
+#: plugin_selector.cc:56 plugin_selector.cc:253
msgid "Author contains"
msgstr "Autor enthält"
-#: plugin_selector.cc:57 plugin_selector.cc:246
+#: plugin_selector.cc:57 plugin_selector.cc:255
msgid "Library contains"
msgstr "Katalog enthält"
-#: plugin_selector.cc:58 plugin_selector.cc:210 plugin_selector.cc:521
+#: plugin_selector.cc:58 plugin_selector.cc:219 plugin_selector.cc:537
msgid "Favorites only"
msgstr "nur Favoriten"
-#: plugin_selector.cc:59 plugin_selector.cc:214 plugin_selector.cc:521
+#: plugin_selector.cc:59 plugin_selector.cc:223 plugin_selector.cc:537
msgid "Hidden only"
msgstr "Nur versteckte"
@@ -8117,68 +8230,68 @@ msgstr "Nur versteckte"
msgid "Plugin Manager"
msgstr "Alle Plugins ..."
-#: plugin_selector.cc:84
+#: plugin_selector.cc:85
msgid "Fav"
msgstr "Fav"
-#: plugin_selector.cc:86
+#: plugin_selector.cc:87
msgid "Available Plugins"
msgstr "Verfügbare Plugins"
-#: plugin_selector.cc:87
+#: plugin_selector.cc:88
msgid "Type"
msgstr "Typ"
-#: plugin_selector.cc:88
+#: plugin_selector.cc:89
msgid "Category"
msgstr "Kategorie"
-#: plugin_selector.cc:89
+#: plugin_selector.cc:90
msgid "Creator"
msgstr "Ersteller"
-#: plugin_selector.cc:90
+#: plugin_selector.cc:91
msgid "# Audio In"
msgstr "# Audio In"
-#: plugin_selector.cc:91
+#: plugin_selector.cc:92
msgid "# Audio Out"
msgstr "# Audio Out"
-#: plugin_selector.cc:92
+#: plugin_selector.cc:93
msgid "# MIDI In"
msgstr "# MIDI In"
-#: plugin_selector.cc:93
+#: plugin_selector.cc:94
msgid "# MIDI Out"
msgstr "# MIDI Out"
-#: plugin_selector.cc:115
+#: plugin_selector.cc:116
msgid "Plugins to be connected"
msgstr "Plugins, die verbunden werden"
-#: plugin_selector.cc:128
+#: plugin_selector.cc:129
msgid "Add a plugin to the effect list"
msgstr "Plugin zur Effektliste hinzufügen"
-#: plugin_selector.cc:132
+#: plugin_selector.cc:133
msgid "Remove a plugin from the effect list"
msgstr "Plugin aus der Effektliste entfernen"
-#: plugin_selector.cc:134
+#: plugin_selector.cc:135
msgid "Update available plugins"
msgstr "Verfügbare Plugins auffrischen"
-#: plugin_selector.cc:171
+#: plugin_selector.cc:172
msgid "Insert Plugin(s)"
msgstr "Plugin(s) einfügen"
-#: plugin_selector.cc:320 plugin_selector.cc:321 plugin_selector.cc:322
-#: plugin_selector.cc:323
+#: plugin_selector.cc:337 plugin_selector.cc:338 plugin_selector.cc:339
+#: plugin_selector.cc:340
msgid "variable"
msgstr "variabel"
-#: plugin_selector.cc:480
+#: plugin_selector.cc:496
msgid ""
"The plugin \"%1\" could not be loaded\n"
"\n"
@@ -8188,27 +8301,27 @@ msgstr ""
"\n"
"Im Logfenster befinden sich möglicherweise mehr Informationen"
-#: plugin_selector.cc:628
+#: plugin_selector.cc:644
msgid "Favorites"
msgstr "Favoriten"
-#: plugin_selector.cc:630
+#: plugin_selector.cc:646
msgid "Plugin Manager..."
msgstr "Plugin Manager..."
-#: plugin_selector.cc:634
+#: plugin_selector.cc:650
msgid "By Creator"
msgstr "Nach Urheber"
-#: plugin_selector.cc:637
+#: plugin_selector.cc:653
msgid "By Category"
msgstr "Nach Kategorie"
-#: plugin_ui.cc:114
+#: plugin_ui.cc:113
msgid "Eh? LADSPA plugins don't have editors!"
msgstr "Merkwürdig... LADSPA-Plugins sollten kein GUI haben!"
-#: plugin_ui.cc:123 plugin_ui.cc:226
+#: plugin_ui.cc:122 plugin_ui.cc:227
msgid ""
"unknown type of editor-supplying plugin (note: no VST support in this "
"version of %1)"
@@ -8216,11 +8329,11 @@ msgstr ""
"Unbekannter Plugintyp mit eigenem Editor (Hinweis: diese %1-Version "
"unterstützt keine VST-Plugins)"
-#: plugin_ui.cc:126
+#: plugin_ui.cc:125
msgid "unknown type of editor-supplying plugin"
msgstr "Unbekannter Plugintyp"
-#: plugin_ui.cc:256
+#: plugin_ui.cc:257
msgid ""
"unknown type of editor-supplying plugin (note: no linuxVST support in this "
"version of %1)"
@@ -8228,23 +8341,23 @@ msgstr ""
"Unbekannter Plugintyp mit eigenem Editor (Hinweis: diese %1-Version "
"unterstützt keine linuxVST-Plugins)"
-#: plugin_ui.cc:328
+#: plugin_ui.cc:329
msgid "create_lv2_editor called on non-LV2 plugin"
msgstr "create_lv2_editor auf nicht-LV2-Plugin angewandt"
-#: plugin_ui.cc:414
+#: plugin_ui.cc:415
msgid "Add"
msgstr "Hinzufügen"
-#: plugin_ui.cc:418
+#: plugin_ui.cc:419
msgid "Description"
msgstr "Beschreibung:"
-#: plugin_ui.cc:419
+#: plugin_ui.cc:420
msgid "Plugin analysis"
msgstr "Pluginanalyse"
-#: plugin_ui.cc:426
+#: plugin_ui.cc:427
msgid ""
"Presets (if any) for this plugin\n"
"(Both factory and user-created)"
@@ -8252,23 +8365,23 @@ msgstr ""
"Presets (falls existent) für dieses Plugin\n"
"(Hersteller- und Benutzerpresets)"
-#: plugin_ui.cc:427
+#: plugin_ui.cc:428
msgid "Save a new preset"
msgstr "Neues Preset speichern"
-#: plugin_ui.cc:428
+#: plugin_ui.cc:429
msgid "Save the current preset"
msgstr "Momentanes Preset speichern"
-#: plugin_ui.cc:429
+#: plugin_ui.cc:430
msgid "Delete the current preset"
msgstr "Lösche das aktuelle Preset"
-#: plugin_ui.cc:430
+#: plugin_ui.cc:431
msgid "Disable signal processing by the plugin"
msgstr "Deaktiviere die Signalverarbeitung des Plugins"
-#: plugin_ui.cc:463 plugin_ui.cc:659
+#: plugin_ui.cc:464 plugin_ui.cc:660
msgid ""
"Click to allow the plugin to receive keyboard events that %1 would normally "
"use as a shortcut"
@@ -8276,29 +8389,29 @@ msgstr ""
"Klicke, damit das Plugin Tastaturbefehle erhält, die %1 sonst als "
"Tastenkürzel verwenden würde"
-#: plugin_ui.cc:464
+#: plugin_ui.cc:465
msgid "Click to enable/disable this plugin"
msgstr "Klicke, um dieses Plugin zu ein/auszuschalten"
-#: plugin_ui.cc:503
+#: plugin_ui.cc:504
msgid "latency (%1 sample)"
msgid_plural "latency (%1 samples)"
msgstr[0] "Latenz (%1 Sample)"
msgstr[1] "Latenz (%1 Samples)"
-#: plugin_ui.cc:505
+#: plugin_ui.cc:506
msgid "latency (%1 ms)"
msgstr "Latenz (%1 ms)"
-#: plugin_ui.cc:516
+#: plugin_ui.cc:517
msgid "Edit Latency"
msgstr "Latenz bearbeiten"
-#: plugin_ui.cc:555
+#: plugin_ui.cc:556
msgid "Plugin preset %1 not found"
msgstr "Plugin Preset %1 nicht gefunden"
-#: plugin_ui.cc:592
+#: plugin_ui.cc:593
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"full version"
@@ -8306,7 +8419,7 @@ msgstr ""
"Pluginpresets werden in diesem Version von %1 nicht unterstützt. Erwägen "
"Sie, für eine Vollversion zu zahlen"
-#: plugin_ui.cc:612 plugin_ui.cc:627
+#: plugin_ui.cc:613 plugin_ui.cc:628
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"newer version"
@@ -8314,7 +8427,7 @@ msgstr ""
"Pluginpresets werden in diesem Version von %1 nicht unterstützt. Erwägen "
"Sie, für eine neuere Version zu zahlen"
-#: plugin_ui.cc:666
+#: plugin_ui.cc:667
msgid "Click to allow normal use of %1 keyboard shortcuts"
msgstr "Klicke, um die normale Verwendung von %1 Tastenkürzeln zu aktivieren"
@@ -8390,66 +8503,66 @@ msgstr "system:"
msgid "alsa_pcm"
msgstr "alsa_pcm"
-#: port_insert_ui.cc:40
+#: port_insert_ui.cc:39
msgid "Measure Latency"
msgstr "Latenz messen"
-#: port_insert_ui.cc:51
+#: port_insert_ui.cc:50
msgid "Send/Output"
msgstr "Send/Ausgang"
-#: port_insert_ui.cc:52
+#: port_insert_ui.cc:51
msgid "Return/Input"
msgstr "Return/Input"
-#: port_insert_ui.cc:86
+#: port_insert_ui.cc:85
msgid "No signal detected"
msgstr "Kein Signal erkannt"
-#: port_insert_ui.cc:166
+#: port_insert_ui.cc:165
msgid "Port Insert "
msgstr "Port Insert "
-#: port_matrix.cc:331 port_matrix.cc:357
+#: port_matrix.cc:332 port_matrix.cc:358
msgid "<b>Sources</b>"
msgstr "<b>Quellen</b>"
-#: port_matrix.cc:332 port_matrix.cc:358
+#: port_matrix.cc:333 port_matrix.cc:359
msgid "<b>Destinations</b>"
msgstr "<b>Ziele</b>"
-#: port_matrix.cc:440 port_matrix.cc:448
+#: port_matrix.cc:441 port_matrix.cc:449
#, c-format
msgid "Add %s %s"
msgstr "Füge %s %s hinzu"
-#: port_matrix.cc:456
+#: port_matrix.cc:457
#, c-format
msgid "Rename '%s'..."
msgstr "Benenne '%s' um..."
-#: port_matrix.cc:472
+#: port_matrix.cc:473
msgid "Remove all"
msgstr "Alle löschen"
-#: port_matrix.cc:492 port_matrix.cc:504
+#: port_matrix.cc:493 port_matrix.cc:505
#, c-format
msgid "%s all"
msgstr "%s alle"
-#: port_matrix.cc:527
+#: port_matrix.cc:528
msgid "Rescan"
msgstr "Aktualisieren"
-#: port_matrix.cc:529
+#: port_matrix.cc:530
msgid "Show individual ports"
msgstr "Individuelle Ports anzeigen"
-#: port_matrix.cc:535
+#: port_matrix.cc:536
msgid "Flip"
msgstr "Drehen"
-#: port_matrix.cc:721
+#: port_matrix.cc:722
msgid ""
"It is not possible to add a port here, as the first processor in the track "
"or buss cannot support the new configuration."
@@ -8457,15 +8570,15 @@ msgstr ""
"Hier kann kein Port hinzugefügt werden, da der erste Prozessor der Spur/des "
"Busses die neue Portanzahl nicht unterstützt."
-#: port_matrix.cc:724
+#: port_matrix.cc:725
msgid "Cannot add port"
msgstr "Kann Port nicht hinzufügen"
-#: port_matrix.cc:746
+#: port_matrix.cc:747
msgid "Port removal not allowed"
msgstr "Entfernen des Ports nicht erlaubt"
-#: port_matrix.cc:747
+#: port_matrix.cc:748
msgid ""
"This port cannot be removed.\n"
"Either the first plugin in the track or buss cannot accept\n"
@@ -8476,17 +8589,17 @@ msgstr ""
"die neue Anzahl an Eingängen nicht verarbeiten, oder das \n"
"letzte Plugin hat mehr Ausgänge."
-#: port_matrix.cc:964
+#: port_matrix.cc:965
#, c-format
msgid "Remove '%s'"
msgstr "Lösche '%s'"
-#: port_matrix.cc:979
+#: port_matrix.cc:980
#, c-format
msgid "%s all from '%s'"
msgstr "alle von '%s' %s"
-#: port_matrix.cc:1045
+#: port_matrix.cc:1046
msgid "channel"
msgstr "Kanal"
@@ -8498,41 +8611,66 @@ msgstr "Es gibt keine Ports, zu denen verbunden werden kann."
msgid "There are no %1 ports to connect."
msgstr "Es gibt keine %1 Ports, zu denen verbunden werden kann."
-#: processor_box.cc:256
+#: processor_box.cc:150
+msgid "Send"
+msgstr "Send"
+
+#: processor_box.cc:152
+msgid "Return"
+msgstr "Return"
+
+#: processor_box.cc:310
+msgid ""
+"\n"
+"This mono plugin has been replicated %1 times."
+msgstr ""
+"\n"
+"Dieses Mono-Plugin wurde %1 mal repliziert."
+
+#: processor_box.cc:314
msgid ""
"<b>%1</b>\n"
"Double-click to show GUI.\n"
-"Alt+double-click to show generic GUI."
+"Alt+double-click to show generic GUI.%2"
msgstr ""
"<b>%1</b>\n"
"Doppelklick, um GUI zu zeigen.\n"
-"Alt-Doppelklick, um einfaches GUI zu zeigen."
+"Alt+Doppelklick, um einfaches GUI zu zeigen.%2"
-#: processor_box.cc:259
+#: processor_box.cc:317
msgid ""
"<b>%1</b>\n"
-"Double-click to show generic GUI."
+"Double-click to show generic GUI.%2"
msgstr ""
"<b>%1</b>\n"
-"Alt-Doppelklick, um einfaches GUI zu zeigen."
+"Doppelklick, um einfaches GUI zu zeigen.%2"
+
+#: processor_box.cc:361
+#, c-format
+msgid "(%1x1) "
+msgstr "(%1x1) "
-#: processor_box.cc:372
+#: processor_box.cc:437
msgid "Show All Controls"
msgstr "Alle Regler zeigen"
-#: processor_box.cc:376
+#: processor_box.cc:441
msgid "Hide All Controls"
msgstr "Alle Regler verbergen"
-#: processor_box.cc:465
+#: processor_box.cc:475
+msgid "Link panner controls"
+msgstr "Panner-Elemente verknüpfen"
+
+#: processor_box.cc:559
msgid "on"
msgstr "an"
-#: processor_box.cc:465 rc_option_editor.cc:1898 rc_option_editor.cc:1912
+#: processor_box.cc:559 rc_option_editor.cc:2232 rc_option_editor.cc:2246
msgid "off"
msgstr "Aus"
-#: processor_box.cc:742
+#: processor_box.cc:945
msgid ""
"Right-click to add/remove/edit\n"
"plugins,inserts,sends and more"
@@ -8540,15 +8678,15 @@ msgstr ""
"Rechtsklick, um Plugins, Inserts, Sends etc.\n"
"hinzuzufügen/zu editieren/zu löschen"
-#: processor_box.cc:1197 processor_box.cc:1618
+#: processor_box.cc:1422 processor_box.cc:1848
msgid "Plugin Incompatibility"
msgstr "Plugin-Inkompatibilität"
-#: processor_box.cc:1200
+#: processor_box.cc:1425
msgid "You attempted to add the plugin \"%1\" in slot %2.\n"
msgstr "Sie haben versucht, das Plugin \"%1\" im Einschub %2 hinzuzufügen.\n"
-#: processor_box.cc:1206
+#: processor_box.cc:1431
msgid ""
"\n"
"This plugin has:\n"
@@ -8556,19 +8694,19 @@ msgstr ""
"\n"
"Dieses Plugin hat:\n"
-#: processor_box.cc:1209
+#: processor_box.cc:1434
msgid "\t%1 MIDI input\n"
msgid_plural "\t%1 MIDI inputs\n"
msgstr[0] "\t%1 MIDI Eingang\n"
msgstr[1] "\t%1 MIDI Eingänge\n"
-#: processor_box.cc:1213
+#: processor_box.cc:1438
msgid "\t%1 audio input\n"
msgid_plural "\t%1 audio inputs\n"
msgstr[0] "\t%1 Audio-Eingang\n"
msgstr[1] "\t%1 Audio-Eingänge\n"
-#: processor_box.cc:1216
+#: processor_box.cc:1441
msgid ""
"\n"
"but at the insertion point, there are:\n"
@@ -8576,19 +8714,19 @@ msgstr ""
"\n"
"aber am Einfügepunkt gibt es:\n"
-#: processor_box.cc:1219
+#: processor_box.cc:1444
msgid "\t%1 MIDI channel\n"
msgid_plural "\t%1 MIDI channels\n"
msgstr[0] "\t%1 MIDI-Kanal\n"
msgstr[1] "\t%1 MIDI-Kanäle\n"
-#: processor_box.cc:1223
+#: processor_box.cc:1448
msgid "\t%1 audio channel\n"
msgid_plural "\t%1 audio channels\n"
msgstr[0] "\t%1 Audio-Kanal\n"
msgstr[1] "\t%1 Audio-Kanäle\n"
-#: processor_box.cc:1226
+#: processor_box.cc:1451
msgid ""
"\n"
"%1 is unable to insert this plugin here.\n"
@@ -8596,11 +8734,11 @@ msgstr ""
"\n"
"%1 kann dieses Plugin hier nicht einfügen.\n"
-#: processor_box.cc:1262
+#: processor_box.cc:1488
msgid "Cannot set up new send: %1"
msgstr "Kann keinen neuen Send erstellen: %1"
-#: processor_box.cc:1621
+#: processor_box.cc:1851
msgid ""
"You cannot reorder these plugins/sends/inserts\n"
"in that way because the inputs and\n"
@@ -8610,21 +8748,21 @@ msgstr ""
"nicht auf diese Weise verändern, sonst würden\n"
"die Ein-/Ausgänge nicht mehr richtig funktionieren."
-#: processor_box.cc:1805
+#: processor_box.cc:2035
msgid "Rename Processor"
msgstr "Prozessor umbenennen"
-#: processor_box.cc:1836
+#: processor_box.cc:2066
msgid "At least 100 IO objects exist with a name like %1 - name not changed"
msgstr ""
"Es gibt mindestens 100 E/A-Objekte mit einem Namen wie %1 - Name nicht "
"geändert"
-#: processor_box.cc:1970
+#: processor_box.cc:2203
msgid "plugin insert constructor failed"
msgstr "Einfügen des Plugins gescheitert"
-#: processor_box.cc:1981
+#: processor_box.cc:2214
msgid ""
"Copying the set of processors on the clipboard failed,\n"
"probably because the I/O configuration of the plugins\n"
@@ -8634,7 +8772,7 @@ msgstr ""
"kopieren, vermutlich weil die E/A Konfiguration der Plugins\n"
"nicht mit der dieser Spur übereinstimmt."
-#: processor_box.cc:2027
+#: processor_box.cc:2260
msgid ""
"Do you really want to remove all processors from %1?\n"
"(this cannot be undone)"
@@ -8642,15 +8780,15 @@ msgstr ""
"Wollen Sie wirklich alle Prozessoren von %1 entfernen?\n"
"(Dies kann nicht rückgängig gemacht werden)"
-#: processor_box.cc:2031 processor_box.cc:2056
+#: processor_box.cc:2264 processor_box.cc:2289
msgid "Yes, remove them all"
msgstr "Ja, alle löschen"
-#: processor_box.cc:2033 processor_box.cc:2058
+#: processor_box.cc:2266 processor_box.cc:2291
msgid "Remove processors"
msgstr "Prozessoren entfernen"
-#: processor_box.cc:2048
+#: processor_box.cc:2281
msgid ""
"Do you really want to remove all pre-fader processors from %1?\n"
"(this cannot be undone)"
@@ -8658,7 +8796,7 @@ msgstr ""
"Wollen Sie wirklich alle Pre-Fader-Prozessoren von %1 entfernen?\n"
"(Dies kann nicht rückgängig gemacht werden)"
-#: processor_box.cc:2051
+#: processor_box.cc:2284
msgid ""
"Do you really want to remove all post-fader processors from %1?\n"
"(this cannot be undone)"
@@ -8666,57 +8804,61 @@ msgstr ""
"Wollen Sie wirklich alle Post-Fader-Prozessoren von %1 entfernen?\n"
"(Dies kann nicht rückgängig gemacht werden)"
-#: processor_box.cc:2239
+#: processor_box.cc:2472
msgid "New Plugin"
msgstr "Plugin einfügen"
-#: processor_box.cc:2242
+#: processor_box.cc:2475
msgid "New Insert"
msgstr "Insert einfügen"
-#: processor_box.cc:2245
+#: processor_box.cc:2478
msgid "New External Send ..."
msgstr "Neuer externer Send..."
-#: processor_box.cc:2249
+#: processor_box.cc:2482
msgid "New Aux Send ..."
msgstr "Neuer Aux-Send..."
-#: processor_box.cc:2253
+#: processor_box.cc:2485
+msgid "Send Options"
+msgstr "Send Optionen"
+
+#: processor_box.cc:2487
msgid "Clear (all)"
msgstr "Leeren (alle)"
-#: processor_box.cc:2255
+#: processor_box.cc:2489
msgid "Clear (pre-fader)"
msgstr "Leeren (Pre-Fader)"
-#: processor_box.cc:2257
+#: processor_box.cc:2491
msgid "Clear (post-fader)"
msgstr "Leeren (Post-Fader)"
-#: processor_box.cc:2283
+#: processor_box.cc:2517
msgid "Activate All"
msgstr "Alle aktivieren"
-#: processor_box.cc:2285
+#: processor_box.cc:2519
msgid "Deactivate All"
msgstr "Alle deaktivieren"
-#: processor_box.cc:2287
+#: processor_box.cc:2521
msgid "A/B Plugins"
msgstr "A/B Plugins"
-#: processor_box.cc:2296
+#: processor_box.cc:2530
msgid "Edit with generic controls..."
msgstr "Mit einfachen Kontrollelementen editieren..."
-#: processor_box.cc:2599
+#: processor_box.cc:2833
msgid "%1: %2 (by %3)"
-msgstr "%1: %2 (by %3)"
+msgstr "%1: %2 (von %3)"
-#: processor_box.cc:2601
-msgid "%2 (by %3)"
-msgstr ""
+#: processor_box.cc:2835
+msgid "%1 (by %2)"
+msgstr "%1 (von %2)"
#: patch_change_dialog.cc:51
msgid "Patch Change"
@@ -8730,11 +8872,11 @@ msgstr "Patch Bank"
msgid "Patch"
msgstr "Patch"
-#: patch_change_dialog.cc:99 step_entry.cc:429
+#: patch_change_dialog.cc:99 step_entry.cc:430
msgid "Program"
msgstr "Programm"
-#: patch_change_dialog.cc:107 step_entry.cc:421
+#: patch_change_dialog.cc:107 step_entry.cc:422
msgid "Bank"
msgstr "Bank"
@@ -8766,101 +8908,101 @@ msgstr "Notenanfang einrasten an"
msgid "Snap note end"
msgstr "Notenende einrasten an"
-#: rc_option_editor.cc:67
+#: rc_option_editor.cc:76
msgid "Click audio file:"
msgstr "Audiodatei für Klick"
-#: rc_option_editor.cc:70 rc_option_editor.cc:77
+#: rc_option_editor.cc:79 rc_option_editor.cc:86
msgid "Browse..."
msgstr "Durchsuchen..."
-#: rc_option_editor.cc:74
+#: rc_option_editor.cc:83
msgid "Click emphasis audio file:"
msgstr "Audiodatei für Klick-Betonung"
-#: rc_option_editor.cc:106
+#: rc_option_editor.cc:115
msgid "Choose Click"
msgstr "Click auswählen"
-#: rc_option_editor.cc:126
+#: rc_option_editor.cc:135
msgid "Choose Click Emphasis"
msgstr "Click-Betonung auswählen"
-#: rc_option_editor.cc:158
+#: rc_option_editor.cc:167
msgid "Limit undo history to"
msgstr "Limitiere Aktionsliste auf"
-#: rc_option_editor.cc:159
+#: rc_option_editor.cc:168
msgid "Save undo history of"
msgstr "Speichere Aktionsliste von"
-#: rc_option_editor.cc:168 rc_option_editor.cc:175
+#: rc_option_editor.cc:177 rc_option_editor.cc:184
msgid "commands"
msgstr "Aktionen"
-#: rc_option_editor.cc:313
+#: rc_option_editor.cc:322
msgid "Edit using:"
msgstr "Bearbeiten mit:"
-#: rc_option_editor.cc:319 rc_option_editor.cc:345 rc_option_editor.cc:372
+#: rc_option_editor.cc:328 rc_option_editor.cc:354 rc_option_editor.cc:381
msgid "+ button"
msgstr "+ Maustaste"
-#: rc_option_editor.cc:339
+#: rc_option_editor.cc:348
msgid "Delete using:"
msgstr "Entfernen mit:"
-#: rc_option_editor.cc:366
+#: rc_option_editor.cc:375
msgid "Insert note using:"
msgstr "Note einfügen:"
-#: rc_option_editor.cc:393
+#: rc_option_editor.cc:402
msgid "Ignore snap using:"
msgstr "Einrasten ignorieren mittels:"
-#: rc_option_editor.cc:409
+#: rc_option_editor.cc:418
msgid "Keyboard layout:"
msgstr "Tastaturlayout:"
-#: rc_option_editor.cc:532
+#: rc_option_editor.cc:541
msgid "Font scaling:"
msgstr "Schriftskalierung"
-#: rc_option_editor.cc:584
+#: rc_option_editor.cc:591
+msgid "Waveform Clip Level (dBFS):"
+msgstr "Wellenform Clipping-Wert (dBFS):"
+
+#: rc_option_editor.cc:643
msgid "Playback (seconds of buffering):"
msgstr "Wiedergabe (gepufferte Sekunden):"
-#: rc_option_editor.cc:597
+#: rc_option_editor.cc:656
msgid "Recording (seconds of buffering):"
msgstr "Aufnahme (gepufferte Sekunden):"
-#: rc_option_editor.cc:654
+#: rc_option_editor.cc:714
msgid "Control Surface Protocol"
msgstr "Eingabegeräteprotokoll"
-#: rc_option_editor.cc:658
-msgid "Feedback"
-msgstr "Feedback"
-
-#: rc_option_editor.cc:663
+#: rc_option_editor.cc:723
msgid "Double-click on a name to edit settings for an enabled protocol"
msgstr ""
"Doppelklick auf einen Namen editiert Einstellungen für ein aktiviertes "
"Protokoll"
-#: rc_option_editor.cc:815
+#: rc_option_editor.cc:886
msgid "Show Video Export Info before export"
msgstr "Zeige Video-Exportinformationen vor dem Exportieren"
-#: rc_option_editor.cc:816
+#: rc_option_editor.cc:887
msgid "Show Video Server Startup Dialog"
msgstr "Zeige den Videoserver-Startdialog"
-#: rc_option_editor.cc:817
+#: rc_option_editor.cc:888
msgid "Advanced Setup (remote video server)"
msgstr "Ausführliche Einrichtung (entfernter Videoserver)"
-#: rc_option_editor.cc:825
+#: rc_option_editor.cc:896
msgid ""
"<b>When enabled</b> you can speficify a custom video-server URL and docroot. "
"- Do not enable this option unless you know what you are doing."
@@ -8869,11 +9011,11 @@ msgstr ""
"für den Videoserver eingeben. - Aktivieren Sie diese Option nur, wenn Sie "
"wissen, was Sie tun."
-#: rc_option_editor.cc:827
+#: rc_option_editor.cc:898
msgid "Video Server URL:"
msgstr "Videoserver URL:"
-#: rc_option_editor.cc:832
+#: rc_option_editor.cc:903
msgid ""
"Base URL of the video-server including http prefix. This is usually 'http://"
"hostname.example.org:1554/' and defaults to 'http://localhost:1554/' when "
@@ -8883,11 +9025,11 @@ msgstr ""
"hostname.example.org:1554/' und ist auf 'http://localhost:1554/' "
"voreingestellt, wenn der Videoserver lokal läuft"
-#: rc_option_editor.cc:834
+#: rc_option_editor.cc:905
msgid "Video Folder:"
msgstr "Videoordner:"
-#: rc_option_editor.cc:839
+#: rc_option_editor.cc:910
msgid ""
"Local path to the video-server document-root. Only files below this "
"directory will be accessible by the video-server. If the server run on a "
@@ -8902,7 +9044,7 @@ msgstr ""
"werden, falls es nicht zugänglich ist. Wird für den lokalen Videomonitor und "
"die Dateisuche beim Öffnen/Hinzufügen einer Videodatei benutzt."
-#: rc_option_editor.cc:846
+#: rc_option_editor.cc:917
msgid ""
"<b>When enabled</b> an information window with details is displayed before "
"the video-export dialog."
@@ -8910,94 +9052,162 @@ msgstr ""
"<b>Wenn aktiviert</b> , wird vor dem Videoexport-Dialog ein "
"Informationsfenster mit Details angezeigt."
-#: rc_option_editor.cc:851
+#: rc_option_editor.cc:922
msgid ""
"<b>When enabled</b> the video server is never launched automatically without "
"confirmation"
msgstr ""
"<b>Wenn aktiviert</b>, wird der Videoserver nie ohne Bestätigung gestartet"
-#: rc_option_editor.cc:991
+#: rc_option_editor.cc:1004
+msgid "Always Display Plugin Scan Progress"
+msgstr ""
+
+#: rc_option_editor.cc:1005
+msgid "Scan for new VST Plugins on Application Start"
+msgstr ""
+
+#: rc_option_editor.cc:1016
+msgid "General"
+msgstr ""
+
+#: rc_option_editor.cc:1022
+msgid "Scan for Plugins"
+msgstr ""
+
+#: rc_option_editor.cc:1029
+msgid ""
+"<b>When enabled</b> a popup window showing plugin scan progress is displayed "
+"for indexing (cache load) and discovery (detect new plugins)"
+msgstr ""
+
+#: rc_option_editor.cc:1035
+msgid ""
+"Specify the default timeout for plugin instantiation in 1/10 seconds. "
+"Plugins that require more time to load will be blacklisted. A value of 0 "
+"disables the timeout."
+msgstr ""
+
+#: rc_option_editor.cc:1037
+msgid "Scan Time Out [deciseconds]"
+msgstr ""
+
+#: rc_option_editor.cc:1045
+msgid "VST"
+msgstr ""
+
+#: rc_option_editor.cc:1051
+msgid "Clear VST Cache"
+msgstr ""
+
+#: rc_option_editor.cc:1055
+msgid "Clear VST Blacklist"
+msgstr ""
+
+#: rc_option_editor.cc:1063
+msgid ""
+"<b>When enabled</b> new VST plugins are searched, tested and added to the "
+"cache index on application start. When disabled new plugins will only be "
+"available after triggering a 'Scan' manually"
+msgstr ""
+
+#: rc_option_editor.cc:1066
+msgid "Linux VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1073
+msgid "Windows VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1135
+msgid "Set Windows VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1150
+msgid "Set Linux VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1231
msgid "%1 Preferences"
msgstr "%1 Einstellungen"
-#: rc_option_editor.cc:1002
+#: rc_option_editor.cc:1242
msgid "DSP CPU Utilization"
msgstr "DSP CPU Nutzung"
-#: rc_option_editor.cc:1006
+#: rc_option_editor.cc:1246
msgid "Signal processing uses"
msgstr "Die Signalverarbeitung verwendet"
-#: rc_option_editor.cc:1011
+#: rc_option_editor.cc:1251
msgid "all but one processor"
msgstr "Alle außer einem Prozessor"
-#: rc_option_editor.cc:1012
+#: rc_option_editor.cc:1252
msgid "all available processors"
msgstr "Alle verfügbaren Prozessoren"
-#: rc_option_editor.cc:1015
+#: rc_option_editor.cc:1255
msgid "%1 processors"
msgstr "%1 Prozessoren"
-#: rc_option_editor.cc:1018
+#: rc_option_editor.cc:1258
msgid "This setting will only take effect when %1 is restarted."
msgstr "Diese Einstellung wird erst nach einem Neustart von %1 wirksam."
-#: rc_option_editor.cc:1023
+#: rc_option_editor.cc:1263
msgid "Options|Undo"
msgstr "Undo"
-#: rc_option_editor.cc:1030
+#: rc_option_editor.cc:1270
msgid "Verify removal of last capture"
msgstr "Verwerfen der letzten Aufnahme bestätigen"
-#: rc_option_editor.cc:1038
+#: rc_option_editor.cc:1278
msgid "Make periodic backups of the session file"
msgstr "Erstelle regelmäßig Backups der Projektdatei"
-#: rc_option_editor.cc:1043
+#: rc_option_editor.cc:1283
msgid "Session Management"
msgstr "Projektmanagement:"
-#: rc_option_editor.cc:1048
+#: rc_option_editor.cc:1288
msgid "Always copy imported files"
msgstr "Importierte Dateien immer kopieren"
-#: rc_option_editor.cc:1055
+#: rc_option_editor.cc:1295
msgid "Default folder for new sessions:"
msgstr "Standardordner für neue Projekte"
-#: rc_option_editor.cc:1063
+#: rc_option_editor.cc:1303
msgid "Maximum number of recent sessions"
msgstr "Maximale Anzahl kürzlich geöffneter Projekte"
-#: rc_option_editor.cc:1076
+#: rc_option_editor.cc:1316
msgid "Click gain level"
msgstr "Lautstärke für Klick"
-#: rc_option_editor.cc:1081 route_time_axis.cc:215 route_time_axis.cc:676
+#: rc_option_editor.cc:1321 route_time_axis.cc:266 route_time_axis.cc:794
msgid "Automation"
msgstr "Automationen"
-#: rc_option_editor.cc:1086
+#: rc_option_editor.cc:1326
msgid "Thinning factor (larger value => less data)"
msgstr "Ausdünnungsfaktor (größerer Wert => weniger Daten)"
-#: rc_option_editor.cc:1095
+#: rc_option_editor.cc:1335
msgid "Automation sampling interval (milliseconds)"
msgstr "Meßintervall für Automation (Millisekunden)"
-#: rc_option_editor.cc:1107
+#: rc_option_editor.cc:1347
msgid "Keep record-enable engaged on stop"
msgstr "Aufnahme bleibt nach Stopp aktiviert"
-#: rc_option_editor.cc:1116
+#: rc_option_editor.cc:1356
msgid "Stop recording when an xrun occurs"
msgstr "Aufnahme bei xrun stoppen"
-#: rc_option_editor.cc:1121
+#: rc_option_editor.cc:1361
msgid ""
"<b>When enabled</b> %1 will stop recording if an over- or underrun is "
"detected by the audio engine"
@@ -9005,15 +9215,28 @@ msgstr ""
"<b>Falls an</b>, wird %1 Aufnahmen bei Auftreten von Over- oder Underruns "
"abbrechen"
-#: rc_option_editor.cc:1127
+#: rc_option_editor.cc:1367
+msgid "Play loop is a transport mode"
+msgstr ""
+
+#: rc_option_editor.cc:1372
+msgid ""
+"<b>When enabled</b> the loop button does not start playback but forces "
+"playback to always play the loop\n"
+"\n"
+"<b>When disabled</b> the loop button starts playing the loop, but stop then "
+"cancels loop playback"
+msgstr ""
+
+#: rc_option_editor.cc:1378
msgid "Create markers where xruns occur"
msgstr "Bei xrun Marker erzeugen"
-#: rc_option_editor.cc:1136
+#: rc_option_editor.cc:1387
msgid "Stop at the end of the session"
msgstr "Am Ende des Projektes anhalten"
-#: rc_option_editor.cc:1141
+#: rc_option_editor.cc:1392
msgid ""
"<b>When enabled</b> if %1 is <b>not recording</b>, it will stop the "
"transport when it reaches the current session end marker\n"
@@ -9024,13 +9247,13 @@ msgstr ""
"<b>Falls an</b>, und %1 </b>nimmt nicht auf</b>, wird es bei Erreichen ds "
"Projektende-Markers die Wiedergabe stoppen\n"
"\n"
-"<b>Falls aus</b> , wird Ardour am Ende des Projektes immer weiterlaufen"
+"<b>Falls aus</b> , wird %1 am Ende des Projektes immer weiterlaufen"
-#: rc_option_editor.cc:1149
+#: rc_option_editor.cc:1400
msgid "Do seamless looping (not possible when slaved to MTC, LTC etc)"
msgstr "Nahtlose Schleifen (nicht möglich, wenn an MTC, LTC o.ä. gekoppelt)"
-#: rc_option_editor.cc:1154
+#: rc_option_editor.cc:1405
msgid ""
"<b>When enabled</b> this will loop by reading ahead and wrapping around at "
"the loop point, preventing any need to do a transport locate at the end of "
@@ -9047,11 +9270,11 @@ msgstr ""
"Schleife springen, was oft einen hörbaren Klick oder kurze Verzögerung "
"verursacht"
-#: rc_option_editor.cc:1162
+#: rc_option_editor.cc:1413
msgid "Disable per-track record disarm while rolling"
msgstr "Während der Aufnahme Aufnahmestatus einzelner Spuren sperren"
-#: rc_option_editor.cc:1166
+#: rc_option_editor.cc:1417
msgid ""
"<b>When enabled</b> this will prevent you from accidentally stopping "
"specific tracks recording during a take"
@@ -9059,11 +9282,11 @@ msgstr ""
"<b>Wenn eingeschaltet</b> , hindert Sie dies daran, während eines "
"Aufnahmevorgangs unabsichtlich bei einzelnen Spuren die Aufnahme zu beenden"
-#: rc_option_editor.cc:1171
+#: rc_option_editor.cc:1422
msgid "12dB gain reduction during fast-forward and fast-rewind"
msgstr "Beim Spulen Pegel um 12dB absenken"
-#: rc_option_editor.cc:1175
+#: rc_option_editor.cc:1426
msgid ""
"This will reduce the unpleasant increase in perceived volume that occurs "
"when fast-forwarding or rewinding through some kinds of audio"
@@ -9071,19 +9294,19 @@ msgstr ""
"Dies wird die unangenehme Steigerung der wahrgenommenen Lautstärke "
"verringern, die bei manchem Material bei Vor/Rücklauf auftritt"
-#: rc_option_editor.cc:1179
+#: rc_option_editor.cc:1430
msgid "Sync/Slave"
msgstr "Sync/Slave"
-#: rc_option_editor.cc:1183
+#: rc_option_editor.cc:1434
msgid "External timecode source"
msgstr "Externe Timecode-Quelle"
-#: rc_option_editor.cc:1193
+#: rc_option_editor.cc:1444
msgid "Match session video frame rate to external timecode"
msgstr "Videoframerate des Projekts an externen Timecode anpassen"
-#: rc_option_editor.cc:1199
+#: rc_option_editor.cc:1450
msgid ""
"This option controls the value of the video frame rate <i>while chasing</i> "
"an external timecode source.\n"
@@ -9107,11 +9330,11 @@ msgstr ""
"wird zwischen den Standards der externen Quelle und des Projektes "
"konvertieren."
-#: rc_option_editor.cc:1209
+#: rc_option_editor.cc:1460
msgid "External timecode is sync locked"
msgstr "Externe Timecode-Quelle ist starr synchronisiert"
-#: rc_option_editor.cc:1215
+#: rc_option_editor.cc:1466
msgid ""
"<b>When enabled</b> indicates that the selected external timecode source "
"shares sync (Black &amp; Burst, Wordclock, etc) with the audio interface."
@@ -9119,11 +9342,11 @@ msgstr ""
"<b>Falls an</b>, zeigt dies an, daß die ausgewählte externe Timecode-Quelle "
"synchron zum Audio-Interface läuft (Black &amp; Burst, Wordclock, etc)."
-#: rc_option_editor.cc:1222
+#: rc_option_editor.cc:1473
msgid "Lock to 29.9700 fps instead of 30000/1001"
msgstr "Fest auf 29.9700 fps statt 30000/1001"
-#: rc_option_editor.cc:1228
+#: rc_option_editor.cc:1479
msgid ""
"<b>When enabled</b> the external timecode source is assumed to use 29.97 fps "
"instead of 30000/1001.\n"
@@ -9146,27 +9369,27 @@ msgstr ""
"widersprechend - da bei der Variante mit exakt 29.97 fps kein Timecode-Drift "
"auftritt.\n"
-#: rc_option_editor.cc:1238
+#: rc_option_editor.cc:1489
msgid "LTC Reader"
msgstr "LTC-Leser"
-#: rc_option_editor.cc:1242
+#: rc_option_editor.cc:1493
msgid "LTC incoming port"
msgstr "LTC Eingangsport"
-#: rc_option_editor.cc:1255
+#: rc_option_editor.cc:1506
msgid "LTC Generator"
msgstr "LTC-Generator"
-#: rc_option_editor.cc:1260
+#: rc_option_editor.cc:1511
msgid "Enable LTC generator"
msgstr "LTC-Generator aktivieren"
-#: rc_option_editor.cc:1267
-msgid "send LTC while stopped"
-msgstr "LTC senden, wenn Transport steht"
+#: rc_option_editor.cc:1518
+msgid "Send LTC while stopped"
+msgstr ""
-#: rc_option_editor.cc:1273
+#: rc_option_editor.cc:1524
msgid ""
"<b>When enabled</b> %1 will continue to send LTC information even when the "
"transport (playhead) is not moving"
@@ -9174,11 +9397,11 @@ msgstr ""
"<b>Falls an</b>, wird %1 weiterhin LTC-Information senden, sogar wenn der "
"Transport (Positionszeiger) stillsteht"
-#: rc_option_editor.cc:1279
+#: rc_option_editor.cc:1530
msgid "LTC generator level"
msgstr "LTC-Generator-Lautstärke"
-#: rc_option_editor.cc:1283
+#: rc_option_editor.cc:1534
msgid ""
"Specify the Peak Volume of the generated LTC signal in dbFS. A good value "
"is 0dBu ^= -18dbFS in an EBU calibrated system"
@@ -9186,104 +9409,104 @@ msgstr ""
"Geben Sie den Spitzenwert des erzeugten LTC-Signals in dbFS an. Ein guter "
"Wert für ein EBU-kalibriertes System ist 0dBu ^= -18dbFS"
-#: rc_option_editor.cc:1295
-msgid "Link selection of regions and tracks"
-msgstr "Auswahl von Spuren und Regionen verbinden"
+#: rc_option_editor.cc:1546
+msgid "Allow dragging of playhead"
+msgstr ""
-#: rc_option_editor.cc:1303
+#: rc_option_editor.cc:1554
msgid "Move relevant automation when audio regions are moved"
msgstr "Verschiebe relevante Automationen mit Region"
-#: rc_option_editor.cc:1311
+#: rc_option_editor.cc:1562
msgid "Show meters on tracks in the editor"
msgstr "Aktiviere Pegelanzeigen im Editor"
-#: rc_option_editor.cc:1319
+#: rc_option_editor.cc:1570
msgid "Display master-meter in the toolbar"
msgstr "Master-Pegelanzeige in der Werkzeugleiste anzeigen"
-#: rc_option_editor.cc:1326
+#: rc_option_editor.cc:1577
+msgid "Default fade shape"
+msgstr ""
+
+#: rc_option_editor.cc:1596
msgid "Regions in active edit groups are edited together"
msgstr "Regionen der aktiven Bearbeitungsgruppen werden gemeinsam bearbeitet"
-#: rc_option_editor.cc:1327
+#: rc_option_editor.cc:1597
msgid "whenever they overlap in time"
msgstr "immer, wenn sie sich auf der Zeitachse überlappen"
-#: rc_option_editor.cc:1328
+#: rc_option_editor.cc:1598
msgid "only if they have identical length, position and origin"
msgstr "nur bei identischer Länge, Position und Herkunft"
-#: rc_option_editor.cc:1338
+#: rc_option_editor.cc:1608
msgid "Make rubberband selection rectangle snap to the grid"
msgstr "Gummiband-Auswahl an Raster ausrichten"
-#: rc_option_editor.cc:1346
+#: rc_option_editor.cc:1616
msgid "Show waveforms in regions"
msgstr "Zeige Wellenformen in Regionen"
-#: rc_option_editor.cc:1354
+#: rc_option_editor.cc:1624
msgid "Show gain envelopes in audio regions"
msgstr "Zeige Lautstärkekurven in Regionen an"
-#: rc_option_editor.cc:1355
+#: rc_option_editor.cc:1625
msgid "in all modes"
msgstr "in allen Modi"
-#: rc_option_editor.cc:1356
+#: rc_option_editor.cc:1626
msgid "only in region gain mode"
msgstr "nur im Region-Gain Modus"
-#: rc_option_editor.cc:1363
+#: rc_option_editor.cc:1633
msgid "Waveform scale"
msgstr "Wellenformskalierung"
-#: rc_option_editor.cc:1368
+#: rc_option_editor.cc:1638
msgid "linear"
msgstr "Linear"
-#: rc_option_editor.cc:1369
+#: rc_option_editor.cc:1639
msgid "logarithmic"
msgstr "Logarithmisch"
-#: rc_option_editor.cc:1375
+#: rc_option_editor.cc:1645
msgid "Waveform shape"
msgstr "Wellenform Anzeigeart"
-#: rc_option_editor.cc:1380
+#: rc_option_editor.cc:1650
msgid "traditional"
msgstr "Traditionell"
-#: rc_option_editor.cc:1381
+#: rc_option_editor.cc:1651
msgid "rectified"
msgstr "Rectified"
-#: rc_option_editor.cc:1388
+#: rc_option_editor.cc:1660
msgid "Show waveforms for audio while it is being recorded"
msgstr "Zeige bei Aufnahmen die Wellenformen des aufgenommenen Audiomaterials"
-#: rc_option_editor.cc:1396
+#: rc_option_editor.cc:1668
msgid "Show zoom toolbar"
msgstr "Zeige Zoom Toolbar"
-#: rc_option_editor.cc:1404
-msgid "Color regions using their track's color"
-msgstr "Färbe Regionen in der Spurfarbe ein"
-
-#: rc_option_editor.cc:1412
+#: rc_option_editor.cc:1676
msgid "Update editor window during drags of the summary"
msgstr ""
"Aktualisiere das Editorfenster, während die Projektübersicht verändert wird"
-#: rc_option_editor.cc:1420
+#: rc_option_editor.cc:1684
msgid "Synchronise editor and mixer selection"
msgstr "Synchronisiere Auswahl der Spuren im Editor und Mixer"
-#: rc_option_editor.cc:1427
+#: rc_option_editor.cc:1691
msgid "Name new markers"
msgstr "Neue Marker benennen"
-#: rc_option_editor.cc:1433
+#: rc_option_editor.cc:1697
msgid ""
"If enabled, popup a dialog when a new marker is created to allow its name to "
"be set as it is created.\n"
@@ -9295,245 +9518,258 @@ msgstr ""
"\n"
"Marker können jederzeit per Rechtsklick umbenannt werden"
-#: rc_option_editor.cc:1439
+#: rc_option_editor.cc:1703
msgid "Auto-scroll editor window when dragging near its edges"
msgstr "Bei Mausziehen nahe den Rändern das Editorfenster automatisch scrollen"
-#: rc_option_editor.cc:1446
+#: rc_option_editor.cc:1710
msgid "Buffering"
msgstr "Pufferung"
-#: rc_option_editor.cc:1454
+#: rc_option_editor.cc:1718
msgid "Record monitoring handled by"
msgstr "Aufnahmemonitoring wird verwaltet von"
-#: rc_option_editor.cc:1460
+#: rc_option_editor.cc:1724
msgid "via Audio Driver"
msgstr "via Audiotreiber"
-#: rc_option_editor.cc:1463
-msgid "ardour"
-msgstr "Ardour"
-
-#: rc_option_editor.cc:1464
+#: rc_option_editor.cc:1730
msgid "audio hardware"
msgstr "Audiohardware"
-#: rc_option_editor.cc:1471
+#: rc_option_editor.cc:1737
msgid "Tape machine mode"
msgstr "Bandmaschinen-Modus"
-#: rc_option_editor.cc:1476
+#: rc_option_editor.cc:1742
msgid "Connection of tracks and busses"
msgstr "Verbindung von Spuren und Bussen"
-#: rc_option_editor.cc:1481
+#: rc_option_editor.cc:1747
msgid "Auto-connect master/monitor busses"
msgstr "Master/Monitor-Busse automatisch verbinden"
-#: rc_option_editor.cc:1488
+#: rc_option_editor.cc:1754
msgid "Connect track inputs"
msgstr "Verbinde Spureingänge"
-#: rc_option_editor.cc:1493
+#: rc_option_editor.cc:1759
msgid "automatically to physical inputs"
msgstr "automatisch mit Audioeingängen"
-#: rc_option_editor.cc:1494 rc_option_editor.cc:1507
+#: rc_option_editor.cc:1760 rc_option_editor.cc:1773
msgid "manually"
msgstr "manuell"
-#: rc_option_editor.cc:1500
+#: rc_option_editor.cc:1766
msgid "Connect track and bus outputs"
msgstr "Verbinde Spur- und Busausgänge"
-#: rc_option_editor.cc:1505
+#: rc_option_editor.cc:1771
msgid "automatically to physical outputs"
msgstr "automatisch mit Audioausgängen"
-#: rc_option_editor.cc:1506
+#: rc_option_editor.cc:1772
msgid "automatically to master bus"
msgstr "automatisch mit dem Master-Bus"
-#: rc_option_editor.cc:1511
+#: rc_option_editor.cc:1777
msgid "Denormals"
msgstr "Denormals"
-#: rc_option_editor.cc:1516
+#: rc_option_editor.cc:1782
msgid "Use DC bias to protect against denormals"
msgstr "Nutze DC bias als Schutz vor Denormals"
-#: rc_option_editor.cc:1523
+#: rc_option_editor.cc:1789
msgid "Processor handling"
msgstr "Umgang des Prozessors mit Denormals"
-#: rc_option_editor.cc:1528
+#: rc_option_editor.cc:1794
msgid "no processor handling"
msgstr "nicht behandeln"
-#: rc_option_editor.cc:1533
+#: rc_option_editor.cc:1799
msgid "use FlushToZero"
msgstr "Benutze FlushToZero"
-#: rc_option_editor.cc:1537
+#: rc_option_editor.cc:1803
msgid "use DenormalsAreZero"
msgstr "Benutze DenormalsAreZero"
-#: rc_option_editor.cc:1541
+#: rc_option_editor.cc:1807
msgid "use FlushToZero and DenormalsAreZero"
msgstr "Benutze FlushToZero & DenormalsAreZero"
-#: rc_option_editor.cc:1551
+#: rc_option_editor.cc:1817
msgid "Silence plugins when the transport is stopped"
msgstr "Deaktiviere Plugins, wenn der Transport gestoppt ist."
-#: rc_option_editor.cc:1559
+#: rc_option_editor.cc:1825
msgid "Make new plugins active"
msgstr "Neue Plugins sind aktiv"
-#: rc_option_editor.cc:1567
+#: rc_option_editor.cc:1835
msgid "Enable automatic analysis of audio"
msgstr "Audiodaten automatisch analysieren"
-#: rc_option_editor.cc:1575
+#: rc_option_editor.cc:1843
msgid "Replicate missing region channels"
-msgstr "Fehlende Kanäle von Regionen ersetzen"
-
-#: rc_option_editor.cc:1582 rc_option_editor.cc:1597 rc_option_editor.cc:1609
-#: rc_option_editor.cc:1621 rc_option_editor.cc:1633 rc_option_editor.cc:1637
-#: rc_option_editor.cc:1645 rc_option_editor.cc:1653 rc_option_editor.cc:1661
-#: rc_option_editor.cc:1663 rc_option_editor.cc:1671 rc_option_editor.cc:1679
-#: rc_option_editor.cc:1687
+msgstr "Fehlende Kanäle in Regionen durch Kopien ersetzen"
+
+#: rc_option_editor.cc:1850 rc_option_editor.cc:1852 rc_option_editor.cc:1867
+#: rc_option_editor.cc:1879 rc_option_editor.cc:1891 rc_option_editor.cc:1903
+#: rc_option_editor.cc:1907 rc_option_editor.cc:1915 rc_option_editor.cc:1923
+#: rc_option_editor.cc:1931 rc_option_editor.cc:1933 rc_option_editor.cc:1941
+#: rc_option_editor.cc:1949 rc_option_editor.cc:1957 rc_option_editor.cc:1965
+#: rc_option_editor.cc:1967
msgid "Solo / mute"
msgstr "Solo / Mute"
-#: rc_option_editor.cc:1585
+#: rc_option_editor.cc:1855
msgid "Solo-in-place mute cut (dB)"
msgstr "Solo-in-Place Mute Dämpfung (dB)"
-#: rc_option_editor.cc:1592
+#: rc_option_editor.cc:1862
msgid "Solo controls are Listen controls"
msgstr "Solo-Schalter arbeiten als AFL/PFL"
-#: rc_option_editor.cc:1601
+#: rc_option_editor.cc:1871
msgid "Listen Position"
msgstr "Abhörpunkt"
-#: rc_option_editor.cc:1606
+#: rc_option_editor.cc:1876
msgid "after-fader (AFL)"
msgstr "After-Fader (AFL)"
-#: rc_option_editor.cc:1607
+#: rc_option_editor.cc:1877
msgid "pre-fader (PFL)"
msgstr "Pre-Fader (PFL)"
-#: rc_option_editor.cc:1613
+#: rc_option_editor.cc:1883
msgid "PFL signals come from"
msgstr "Abgreifpunkt der PFL Signale"
-#: rc_option_editor.cc:1618
+#: rc_option_editor.cc:1888
msgid "before pre-fader processors"
msgstr "Vor den Pre-Fader Prozessoren"
-#: rc_option_editor.cc:1619
+#: rc_option_editor.cc:1889
msgid "pre-fader but after pre-fader processors"
msgstr "Pre-Fader, aber nach den Prozessoren"
-#: rc_option_editor.cc:1625
+#: rc_option_editor.cc:1895
msgid "AFL signals come from"
msgstr "Abgreifpunkt der AFL Signale"
-#: rc_option_editor.cc:1630
+#: rc_option_editor.cc:1900
msgid "immediately post-fader"
msgstr "Direkt nach dem Fader"
-#: rc_option_editor.cc:1631
+#: rc_option_editor.cc:1901
msgid "after post-fader processors (before pan)"
msgstr "Nach den Post-Fader Prozessoren (vor Pan)"
-#: rc_option_editor.cc:1640
+#: rc_option_editor.cc:1910
msgid "Exclusive solo"
msgstr "Exclusives Solo"
-#: rc_option_editor.cc:1648
+#: rc_option_editor.cc:1918
msgid "Show solo muting"
msgstr "Solo auf anderen Kanälen als Mute anzeigen"
-#: rc_option_editor.cc:1656
+#: rc_option_editor.cc:1926
msgid "Soloing overrides muting"
msgstr "Solo ist trotz Mute hörbar"
-#: rc_option_editor.cc:1661
+#: rc_option_editor.cc:1931
msgid "Default track / bus muting options"
msgstr "Standardeinstellungen für Mute von Spuren / Bussen"
-#: rc_option_editor.cc:1666
+#: rc_option_editor.cc:1936
msgid "Mute affects pre-fader sends"
msgstr "Mute schaltet Pre-Fader Sends stumm"
-#: rc_option_editor.cc:1674
+#: rc_option_editor.cc:1944
msgid "Mute affects post-fader sends"
msgstr "Mute schaltet Post-Fader Sends stumm"
-#: rc_option_editor.cc:1682
+#: rc_option_editor.cc:1952
msgid "Mute affects control outputs"
msgstr "Mute schaltet Abhörausgänge stumm"
-#: rc_option_editor.cc:1690
+#: rc_option_editor.cc:1960
msgid "Mute affects main outputs"
msgstr "Mute schaltet Hauptausgänge stumm"
-#: rc_option_editor.cc:1706
+#: rc_option_editor.cc:1965
+msgid "Send Routing"
+msgstr "Send Routing"
+
+#: rc_option_editor.cc:1970
+msgid "Link panners of Aux and External Sends with main panner by default"
+msgstr "Verknüpfe Aux- und External-Send-Panner mit Hauptpanner"
+
+#: rc_option_editor.cc:1986
msgid "Send MIDI Time Code"
msgstr "Sende MIDI Time Code"
-#: rc_option_editor.cc:1714
+#: rc_option_editor.cc:1994
msgid "Percentage either side of normal transport speed to transmit MTC"
msgstr ""
"Prozentzahl beiderseits der normalen Transportgeschwindigkeit, bis zu der "
"MTC übertragen wird"
-#: rc_option_editor.cc:1723
+#: rc_option_editor.cc:2003
msgid "Obey MIDI Machine Control commands"
msgstr "MIDI Machine Control Commands empfangen"
-#: rc_option_editor.cc:1731
+#: rc_option_editor.cc:2011
msgid "Send MIDI Machine Control commands"
msgstr "MIDI Machine Control Commands senden"
-#: rc_option_editor.cc:1739
+#: rc_option_editor.cc:2019
msgid "Send MIDI control feedback"
msgstr "MIDI Control Feedback senden"
-#: rc_option_editor.cc:1747
+#: rc_option_editor.cc:2027
msgid "Inbound MMC device ID"
msgstr "ID des eingehenden MMC-Geräts"
-#: rc_option_editor.cc:1756
+#: rc_option_editor.cc:2036
msgid "Outbound MMC device ID"
msgstr "ID des ausgehenden MMC-Geräts"
-#: rc_option_editor.cc:1765
+#: rc_option_editor.cc:2045
msgid "Initial program change"
msgstr "Erstmaliger Programmwechsel"
-#: rc_option_editor.cc:1774
+#: rc_option_editor.cc:2054
msgid "Display first MIDI bank/program as 0"
msgstr "Erste(s) MIDI Bank/Programm als 0 anzeigen"
-#: rc_option_editor.cc:1782
+#: rc_option_editor.cc:2062
msgid "Never display periodic MIDI messages (MTC, MIDI Clock)"
msgstr "Periodische MIDI Nachrichten nie anzeigen (MTC, MIDI Clock)"
-#: rc_option_editor.cc:1790
+#: rc_option_editor.cc:2070
msgid "Sound MIDI notes as they are selected"
msgstr "MIDI Noten ertönen bei Auswahl"
-#: rc_option_editor.cc:1798 rc_option_editor.cc:1808 rc_option_editor.cc:1810
+#: rc_option_editor.cc:2075
+msgid "Midi Audition"
+msgstr "Midi vorhören"
+
+#: rc_option_editor.cc:2079
+msgid "Midi Audition Synth (LV2)"
+msgstr "Midi Vorhör-Synth (LV2)"
+
+#: rc_option_editor.cc:2103 rc_option_editor.cc:2113 rc_option_editor.cc:2115
msgid "User interaction"
msgstr "Benutzerinteraktion"
-#: rc_option_editor.cc:1801
+#: rc_option_editor.cc:2106
msgid ""
"Use translations of %1 messages\n"
" <i>(requires a restart of %1 to take effect)</i>\n"
@@ -9543,127 +9779,139 @@ msgstr ""
" <i>(erfordert Neustart von %1)</i>\n"
" <i>(falls für Ihre gewünschte Sprache verfügbar)</i>"
-#: rc_option_editor.cc:1808
+#: rc_option_editor.cc:2113
msgid "Keyboard"
msgstr "Tastatur"
-#: rc_option_editor.cc:1818
+#: rc_option_editor.cc:2123
msgid "Control surface remote ID"
msgstr "Remote ID des Eingabegeräts"
-#: rc_option_editor.cc:1823
+#: rc_option_editor.cc:2128
msgid "assigned by user"
msgstr "vom Benutzer festgelegt"
-#: rc_option_editor.cc:1824
+#: rc_option_editor.cc:2129
msgid "follows order of mixer"
msgstr "folgt Reihenfolge im Mixer"
-#: rc_option_editor.cc:1833 rc_option_editor.cc:1841 rc_option_editor.cc:1851
-#: rc_option_editor.cc:1872 rc_option_editor.cc:1881 rc_option_editor.cc:1889
-#: rc_option_editor.cc:1903 rc_option_editor.cc:1922 rc_option_editor.cc:1938
-#: rc_option_editor.cc:1954 rc_option_editor.cc:1968 rc_option_editor.cc:1982
-#: rc_option_editor.cc:1984
+#: rc_option_editor.cc:2143 rc_option_editor.cc:2151 rc_option_editor.cc:2159
+#: rc_option_editor.cc:2169 rc_option_editor.cc:2193 rc_option_editor.cc:2206
+#: rc_option_editor.cc:2215
msgid "Preferences|GUI"
msgstr "GUI"
-#: rc_option_editor.cc:1836
+#: rc_option_editor.cc:2146
msgid "Graphically indicate mouse pointer hovering over various widgets"
msgstr "Mouseover-Effekt über verschiedenen Anzeigen"
-#: rc_option_editor.cc:1844
+#: rc_option_editor.cc:2154
msgid "Show tooltips if mouse hovers over a control"
msgstr "Zeige Tooltips, wenn die Maus über einem Element schwebt"
-#: rc_option_editor.cc:1854
-msgid "GUI"
-msgstr "GUI"
+#: rc_option_editor.cc:2162
+msgid "Use name highlight bars in region displays"
+msgstr ""
+
+#: rc_option_editor.cc:2175
+msgid "update transport clock display at FPS instead of every 100ms"
+msgstr ""
+
+#: rc_option_editor.cc:2184
+msgid "Lock timeout (seconds)"
+msgstr ""
-#: rc_option_editor.cc:1857
-msgid "update transport clock display every 40ms instead of every 100ms"
-msgstr "Auffrischen der Transport-Zeitanzeige alle 40ms statt 100ms"
+#: rc_option_editor.cc:2192
+msgid "Lock GUI after this many idle seconds (zero to never lock)"
+msgstr ""
-#: rc_option_editor.cc:1874
+#: rc_option_editor.cc:2208
msgid "Mixer Strip"
msgstr "Anzeige im Channel strip"
-#: rc_option_editor.cc:1884
+#: rc_option_editor.cc:2218
msgid "Use narrow strips in the mixer by default"
msgstr "Standardmäßig schmale Mixer-Kanalzüge verwenden"
-#: rc_option_editor.cc:1893
+#: rc_option_editor.cc:2223 rc_option_editor.cc:2237 rc_option_editor.cc:2256
+#: rc_option_editor.cc:2272 rc_option_editor.cc:2288 rc_option_editor.cc:2302
+#: rc_option_editor.cc:2316 rc_option_editor.cc:2318
+msgid "Preferences|Metering"
+msgstr ""
+
+#: rc_option_editor.cc:2227
msgid "Peak hold time"
msgstr "Haltezeit für Spitzenwert"
-#: rc_option_editor.cc:1899
+#: rc_option_editor.cc:2233
msgid "short"
msgstr "Kurz"
-#: rc_option_editor.cc:1900
+#: rc_option_editor.cc:2234
msgid "medium"
msgstr "Mittel"
-#: rc_option_editor.cc:1901
+#: rc_option_editor.cc:2235
msgid "long"
msgstr "Lange"
-#: rc_option_editor.cc:1907
+#: rc_option_editor.cc:2241
msgid "DPM fall-off"
msgstr "Abfall der digitalen Pegelanzeige"
-#: rc_option_editor.cc:1913
+#: rc_option_editor.cc:2247
msgid "slowest [6.6dB/sec]"
msgstr "am langsamsten [6.6dB/sec]"
-#: rc_option_editor.cc:1914
+#: rc_option_editor.cc:2248
msgid "slow [8.6dB/sec] (BBC PPM, EBU PPM)"
msgstr "langsam [8.6dB/sec] (BBC PPM, EBU PPM)"
-#: rc_option_editor.cc:1915
+#: rc_option_editor.cc:2249
msgid "slowish [12.0dB/sec] (DIN)"
msgstr "etwas langsam [12.0dB/sec] (DIN)"
-#: rc_option_editor.cc:1916
+#: rc_option_editor.cc:2250
msgid "moderate [13.3dB/sec] (EBU Digi PPM, IRT Digi PPM)"
msgstr "mäßig [13.3dB/sec] (EBU Digi PPM, IRT Digi PPM)"
-#: rc_option_editor.cc:1917
+#: rc_option_editor.cc:2251
msgid "medium [20dB/sec]"
msgstr "mittel [20dB/sec]"
-#: rc_option_editor.cc:1918
+#: rc_option_editor.cc:2252
msgid "fast [32dB/sec]"
msgstr "schnell [32dB/sec]"
-#: rc_option_editor.cc:1919
+#: rc_option_editor.cc:2253
msgid "faster [46dB/sec]"
msgstr "schneller [46dB/sec]"
-#: rc_option_editor.cc:1920
+#: rc_option_editor.cc:2254
msgid "fastest [70dB/sec]"
msgstr "am schnellsten [70dB/sec]"
-#: rc_option_editor.cc:1926
+#: rc_option_editor.cc:2260
msgid "Meter line-up level; 0dBu"
msgstr "Ausrichtung der Pegelanzeige; 0dBu"
-#: rc_option_editor.cc:1931 rc_option_editor.cc:1947
+#: rc_option_editor.cc:2265 rc_option_editor.cc:2281
msgid "-24dBFS (SMPTE US: 4dBu = -20dBFS)"
msgstr "-24dBFS (SMPTE US: 4dBu = -20dBFS)"
-#: rc_option_editor.cc:1932 rc_option_editor.cc:1948
+#: rc_option_editor.cc:2266 rc_option_editor.cc:2282
msgid "-20dBFS (SMPTE RP.0155)"
msgstr "-20dBFS (SMPTE RP.0155)"
-#: rc_option_editor.cc:1933 rc_option_editor.cc:1949
+#: rc_option_editor.cc:2267 rc_option_editor.cc:2283
msgid "-18dBFS (EBU, BBC)"
msgstr "-18dBFS (EBU, BBC)"
-#: rc_option_editor.cc:1934 rc_option_editor.cc:1950
+#: rc_option_editor.cc:2268 rc_option_editor.cc:2284
msgid "-15dBFS (DIN)"
msgstr "-15dBFS (DIN)"
-#: rc_option_editor.cc:1936
+#: rc_option_editor.cc:2270
msgid ""
"Configure meter-marks and color-knee point for dBFS scale DPM, set reference "
"level for IEC1/Nordic, IEC2 PPM and VU meter."
@@ -9671,39 +9919,39 @@ msgstr ""
"Konfiguriere Skalierung und Farbschwellwert für DPM mit dBFS-Skala, "
"setzeReferenzpegel für IEC1/Nordisch, IEC2 PPM und VU Pegelanzeigen."
-#: rc_option_editor.cc:1942
+#: rc_option_editor.cc:2276
msgid "IEC1/DIN Meter line-up level; 0dBu"
msgstr "Ausrichtung der IEC1/DIN Pegelanzeige; 0dBu"
-#: rc_option_editor.cc:1952
+#: rc_option_editor.cc:2286
msgid "Reference level for IEC1/DIN meter."
msgstr "Referenzpegel für IEC1/DIN Pegelanzeige."
-#: rc_option_editor.cc:1958
+#: rc_option_editor.cc:2292
msgid "VU Meter standard"
msgstr "Standard für VU-Pegelanzeige"
-#: rc_option_editor.cc:1963
+#: rc_option_editor.cc:2297
msgid "0VU = -2dBu (France)"
msgstr "0VU = -2dBu (Frankreich)"
-#: rc_option_editor.cc:1964
+#: rc_option_editor.cc:2298
msgid "0VU = 0dBu (North America, Australia)"
msgstr "0VU = 0dBu (Nordamerika, Australien)"
-#: rc_option_editor.cc:1965
+#: rc_option_editor.cc:2299
msgid "0VU = +4dBu (standard)"
msgstr "0VU = +4dBu (Standard)"
-#: rc_option_editor.cc:1966
+#: rc_option_editor.cc:2300
msgid "0VU = +8dBu"
msgstr "0VU = +8dBu"
-#: rc_option_editor.cc:1972
+#: rc_option_editor.cc:2306
msgid "Peak threshold [dBFS]"
msgstr "Schwelle für Spitzenwert [dBFS]"
-#: rc_option_editor.cc:1980
+#: rc_option_editor.cc:2314
msgid ""
"Specify the audio signal level in dbFS at and above which the meter-peak "
"indicator will flash red."
@@ -9711,109 +9959,109 @@ msgstr ""
"Geben Sie den Signalpegel in dbFS an, bei dessen Erreichen oder "
"Ãœberschreitung die Spitzenwertanzeige in der Pegelanzeige rot blinkt"
-#: rc_option_editor.cc:1987
+#: rc_option_editor.cc:2321
msgid "LED meter style"
msgstr "Pegelanzeigen im LED-Stil"
-#: region_editor.cc:79
+#: region_editor.cc:78
msgid "audition this region"
-msgstr "Diese Region Vorhören"
+msgstr "Diese Region vorhören"
-#: region_editor.cc:88 region_layering_order_editor.cc:74
+#: region_editor.cc:87 region_layering_order_editor.cc:75
msgid "Position:"
msgstr "Position:"
-#: region_editor.cc:90 add_video_dialog.cc:170
+#: region_editor.cc:89 add_video_dialog.cc:155
msgid "End:"
msgstr "Ende:"
-#: region_editor.cc:92 sfdb_ui.cc:139
+#: region_editor.cc:91 sfdb_ui.cc:143
msgid "Length:"
msgstr "Länge:"
-#: region_editor.cc:94
+#: region_editor.cc:93
msgid "Sync point (relative to region):"
msgstr "Synchronisationspunkt (relativ zur Region)"
-#: region_editor.cc:96
+#: region_editor.cc:95
msgid "Sync point (absolute):"
msgstr "Synchronisationspunkt (absolut)"
-#: region_editor.cc:98
+#: region_editor.cc:97
msgid "File start:"
msgstr "Dateibeginn:"
-#: region_editor.cc:102
+#: region_editor.cc:101
msgid "Sources:"
msgstr "Quellen:"
-#: region_editor.cc:104
+#: region_editor.cc:103
msgid "Source:"
msgstr "Quelle:"
-#: region_editor.cc:166
+#: region_editor.cc:165
msgid "Region '%1'"
msgstr "Region '%1'"
-#: region_editor.cc:273
+#: region_editor.cc:272
msgid "change region start position"
msgstr "Startposition der Region ändern"
-#: region_editor.cc:289
+#: region_editor.cc:288
msgid "change region end position"
msgstr "Endposition der Region ändern"
-#: region_editor.cc:309
+#: region_editor.cc:308
msgid "change region length"
msgstr "Länge der Region verändern"
-#: region_editor.cc:403 region_editor.cc:415
+#: region_editor.cc:402 region_editor.cc:414
msgid "change region sync point"
msgstr "Synchronisationspunkt der Region ändern"
-#: region_layering_order_editor.cc:41
+#: region_layering_order_editor.cc:42
msgid "RegionLayeringOrderEditor"
msgstr "RegionenEbenenOrdnungEditor"
-#: region_layering_order_editor.cc:54
+#: region_layering_order_editor.cc:55
msgid "Region Name"
msgstr "Name der Region"
-#: region_layering_order_editor.cc:71
+#: region_layering_order_editor.cc:72
msgid "Track:"
msgstr "Spur:"
-#: region_layering_order_editor.cc:103
+#: region_layering_order_editor.cc:104
msgid "Choose Top Region"
msgstr "Oberste Region auswählen"
-#: region_view.cc:274
+#: region_view.cc:282
msgid "SilenceText"
msgstr "StilleText"
-#: region_view.cc:290 region_view.cc:309
+#: region_view.cc:297 region_view.cc:316
msgid "minutes"
msgstr "Minuten"
-#: region_view.cc:293 region_view.cc:312
+#: region_view.cc:300 region_view.cc:319
msgid "msecs"
msgstr "ms"
-#: region_view.cc:296 region_view.cc:315
+#: region_view.cc:303 region_view.cc:322
msgid "secs"
msgstr "s"
-#: region_view.cc:299
+#: region_view.cc:306
msgid "%1 silent segment"
msgid_plural "%1 silent segments"
msgstr[0] "%1 stilles Segment"
msgstr[1] "%1 stille Segmente"
-#: region_view.cc:301
+#: region_view.cc:308
msgid "shortest = %1 %2"
msgstr "kürzestes = %1 %2"
-#: region_view.cc:318
+#: region_view.cc:325
msgid ""
"\n"
" (shortest audible segment = %1 %2)"
@@ -9821,144 +10069,137 @@ msgstr ""
"\n"
" (kürzestes hörbares Segment = %1 %2)"
-#: return_ui.cc:103
+#: return_ui.cc:102
msgid "Return "
msgstr "Return "
-#: rhythm_ferret.cc:49
+#: rhythm_ferret.cc:48
msgid "Percussive Onset"
msgstr "Percussive Onset"
-#: rhythm_ferret.cc:50
+#: rhythm_ferret.cc:49
msgid "Note Onset"
msgstr "Note Onset"
-#: rhythm_ferret.cc:55
+#: rhythm_ferret.cc:54
msgid "Energy Based"
msgstr "Energy Based"
-#: rhythm_ferret.cc:56
+#: rhythm_ferret.cc:55
msgid "Spectral Difference"
msgstr "Spectral Difference"
-#: rhythm_ferret.cc:57
+#: rhythm_ferret.cc:56
msgid "High-Frequency Content"
msgstr "High-Frequency Content"
-#: rhythm_ferret.cc:58
+#: rhythm_ferret.cc:57
msgid "Complex Domain"
msgstr "Complex Domain"
-#: rhythm_ferret.cc:59
+#: rhythm_ferret.cc:58
msgid "Phase Deviation"
msgstr "Phasenabweichung"
-#: rhythm_ferret.cc:60
+#: rhythm_ferret.cc:59
msgid "Kullback-Liebler"
msgstr "Kullback-Liebler"
-#: rhythm_ferret.cc:61
+#: rhythm_ferret.cc:60
msgid "Modified Kullback-Liebler"
msgstr "Modified Kullback-Liebler"
-#: rhythm_ferret.cc:66
+#: rhythm_ferret.cc:65
msgid "Split region"
msgstr "Region teilen"
-#: rhythm_ferret.cc:67
+#: rhythm_ferret.cc:66
msgid "Snap regions"
msgstr "Regionen einrasten"
-#: rhythm_ferret.cc:68
+#: rhythm_ferret.cc:67
msgid "Conform regions"
msgstr "Region angleichen"
-#: rhythm_ferret.cc:73
+#: rhythm_ferret.cc:72
msgid "Rhythm Ferret"
msgstr "Rhythm Ferret"
-#: rhythm_ferret.cc:79
+#: rhythm_ferret.cc:78
msgid "Analyze"
msgstr "Daten analysieren"
-#: rhythm_ferret.cc:114
+#: rhythm_ferret.cc:113
msgid "Detection function"
msgstr "Erkennungsfunktion"
-#: rhythm_ferret.cc:118
+#: rhythm_ferret.cc:117
msgid "Trigger gap"
msgstr "Mindestauslöseabstand"
-#: rhythm_ferret.cc:123 strip_silence_dialog.cc:68
+#: rhythm_ferret.cc:122 strip_silence_dialog.cc:64
msgid "Threshold"
msgstr "Threshold"
-#: rhythm_ferret.cc:128
+#: rhythm_ferret.cc:127
msgid "Peak threshold"
msgstr "Schwelle für Spitzenwert"
-#: rhythm_ferret.cc:133
+#: rhythm_ferret.cc:132
msgid "Silence threshold"
msgstr "Silence threshold"
-#: rhythm_ferret.cc:138
+#: rhythm_ferret.cc:137
msgid "Sensitivity"
msgstr "Empfindlichkeit"
-#: rhythm_ferret.cc:142
+#: rhythm_ferret.cc:141
msgid "Operation"
msgstr "Aktionen"
-#: rhythm_ferret.cc:356
+#: rhythm_ferret.cc:355
msgid "split regions (rhythm ferret)"
msgstr "Regionen teilen (rhythm ferret)"
-#: route_group_dialog.cc:36
+#: route_group_dialog.cc:42
msgid "Track/bus Group"
msgstr "Spur/Bus-Gruppe"
-#: route_group_dialog.cc:41
+#: route_group_dialog.cc:47
msgid "Relative"
msgstr "Relativ"
-#: route_group_dialog.cc:42
+#: route_group_dialog.cc:48
msgid "Muting"
msgstr "Muting"
-#: route_group_dialog.cc:43
-msgid "Soloing"
-msgstr "Soloing"
-
-#: route_group_dialog.cc:44
+#: route_group_dialog.cc:50
msgid "Record enable"
msgstr "Aufnahmestatus"
-#: route_group_dialog.cc:45 time_info_box.cc:66
+#: route_group_dialog.cc:51 time_info_box.cc:67
msgid "Selection"
msgstr "Auswahl"
-#: route_group_dialog.cc:46
+#: route_group_dialog.cc:52
msgid "Active state"
msgstr "Aktiv-Status"
-#: route_group_dialog.cc:47 route_group_dialog.cc:76 theme_manager.cc:71
+#: route_group_dialog.cc:53 route_group_dialog.cc:82 theme_manager.cc:84
msgid "Color"
msgstr "Farbe"
-#: route_group_dialog.cc:53
+#: route_group_dialog.cc:59
msgid "RouteGroupDialog"
msgstr "Bearbeitungsgruppendialog"
-#: route_group_dialog.cc:92
+#: route_group_dialog.cc:100
msgid "<b>Sharing</b>"
msgstr "<b>Geteilte Funktionen</b>"
-#: route_group_dialog.cc:182
-msgid ""
-"A route group of this name already exists. Please use a different name."
+#: route_group_dialog.cc:200
+msgid "The group name is not unique. Please use a different name."
msgstr ""
-"Es gibt bereits eine Bearbeitungsgruppe mit diesem Namen. Bitte wahlen Sie "
-"einen anderen."
#: route_params_ui.cc:83
msgid "Tracks/Busses"
@@ -9982,297 +10223,281 @@ msgstr ""
"Konnte Bezeichnung für umbenannten Verbindung nicht in der Liste der "
"Verbindungen finden!"
-#: route_params_ui.cc:255 route_params_ui.cc:283
+#: route_params_ui.cc:278 route_params_ui.cc:306
#, c-format
msgid "Playback delay: %<PRId64> samples"
msgstr "Wiedergabeverzögerung: %<PRId64> Samples"
-#: route_params_ui.cc:475
+#: route_params_ui.cc:498
msgid "NO TRACK"
msgstr "KEINE SPUR"
-#: route_params_ui.cc:613 route_params_ui.cc:614
+#: route_params_ui.cc:636 route_params_ui.cc:637
msgid "No Track or Bus Selected"
msgstr "Keine Spuren oder Busse ausgewählt"
-#: route_time_axis.cc:97
-msgid "g"
-msgstr "g"
-
-#: route_time_axis.cc:98
-msgid "p"
-msgstr "w"
-
-#: route_time_axis.cc:99
-msgid "a"
-msgstr "a"
-
-#: route_time_axis.cc:173
+#: route_time_axis.cc:179
msgid "Record (Right-click for Step Edit)"
msgstr "Aufnahme (Rechtsklick für Step Entry)"
-#: route_time_axis.cc:176
+#: route_time_axis.cc:182
msgid "Record"
msgstr "Aufnahme"
-#: route_time_axis.cc:210
+#: route_time_axis.cc:254
msgid "Route Group"
msgstr "Bearbeitungsgruppe"
-#: route_time_axis.cc:213
+#: route_time_axis.cc:264
msgid "MIDI Controllers and Automation"
msgstr "MIDI-Controller und Automation"
-#: route_time_axis.cc:390
+#: route_time_axis.cc:500
msgid "Show All Automation"
msgstr "Alle Automationen anzeigen"
-#: route_time_axis.cc:393
+#: route_time_axis.cc:503
msgid "Show Existing Automation"
msgstr "Genutzte Automationen zeigen"
-#: route_time_axis.cc:396
+#: route_time_axis.cc:506
msgid "Hide All Automation"
msgstr "Alle Automationen verbergen"
-#: route_time_axis.cc:405
+#: route_time_axis.cc:515
msgid "Processor automation"
msgstr "Prozessorautomation"
-#: route_time_axis.cc:424
-msgid "Color..."
-msgstr "Farbe..."
-
-#: route_time_axis.cc:481
+#: route_time_axis.cc:599
msgid "Overlaid"
msgstr "Overlaid"
-#: route_time_axis.cc:487
+#: route_time_axis.cc:605
msgid "Stacked"
msgstr "Stacked"
-#: route_time_axis.cc:495
+#: route_time_axis.cc:613
msgid "Layers"
msgstr "Layers"
-#: route_time_axis.cc:564
+#: route_time_axis.cc:682
msgid "Automatic (based on I/O connections)"
msgstr "Automatisch (auf den I/O Verbindungen basierend)"
-#: route_time_axis.cc:573
+#: route_time_axis.cc:691
msgid "(Currently: Existing Material)"
msgstr "(Momentan: An vorhandenem Material ausrichten)"
-#: route_time_axis.cc:576
+#: route_time_axis.cc:694
msgid "(Currently: Capture Time)"
msgstr "(Momentan: An Aufnahmezeit ausrichten)"
-#: route_time_axis.cc:584
+#: route_time_axis.cc:702
msgid "Align With Existing Material"
msgstr "An vorhandenem Material ausrichten"
-#: route_time_axis.cc:589
+#: route_time_axis.cc:707
msgid "Align With Capture Time"
msgstr "An Aufnahmezeit ausrichten"
-#: route_time_axis.cc:594
+#: route_time_axis.cc:712
msgid "Alignment"
msgstr "Ausrichtung"
-#: route_time_axis.cc:629
+#: route_time_axis.cc:747
msgid "Normal Mode"
msgstr "Normaler Modus"
-#: route_time_axis.cc:635
+#: route_time_axis.cc:753
msgid "Tape Mode"
msgstr "Band-Modus"
-#: route_time_axis.cc:641
+#: route_time_axis.cc:759
msgid "Non-Layered Mode"
msgstr "Non-Layered Mode"
-#: route_time_axis.cc:654 route_time_axis.cc:1601
+#: route_time_axis.cc:772 route_time_axis.cc:1748
msgid "Playlist"
msgstr "Wiedergabeliste"
-#: route_time_axis.cc:979
+#: route_time_axis.cc:1070
msgid "Rename Playlist"
msgstr "Wiedergabeliste umbenennen"
-#: route_time_axis.cc:980
+#: route_time_axis.cc:1071
msgid "New name for playlist:"
msgstr "Neuer Name für Wiedergabeliste:"
-#: route_time_axis.cc:1065
+#: route_time_axis.cc:1156
msgid "New Copy Playlist"
msgstr "Neue Kopie der Wiedergabeliste"
-#: route_time_axis.cc:1066 route_time_axis.cc:1119
+#: route_time_axis.cc:1157 route_time_axis.cc:1210
msgid "Name for new playlist:"
msgstr "Name für die neue Wiedergabeliste:"
-#: route_time_axis.cc:1118
+#: route_time_axis.cc:1209
msgid "New Playlist"
msgstr "Neue Wiedergabeliste"
-#: route_time_axis.cc:1309
+#: route_time_axis.cc:1400
msgid "You cannot create a track with that name as it is reserved for %1"
msgstr ""
"Sie können keine Spur mit einem Namen erstellen, der für %1 reserviert ist."
-#: route_time_axis.cc:1490
+#: route_time_axis.cc:1637
msgid "New Copy..."
msgstr "Neue Kopie..."
-#: route_time_axis.cc:1494
+#: route_time_axis.cc:1641
msgid "New Take"
msgstr "Neuer Take"
-#: route_time_axis.cc:1495
+#: route_time_axis.cc:1642
msgid "Copy Take"
msgstr "Take kopieren"
-#: route_time_axis.cc:1500
+#: route_time_axis.cc:1647
msgid "Clear Current"
msgstr "Aktuelle leeren"
-#: route_time_axis.cc:1503
+#: route_time_axis.cc:1650
msgid "Select From All..."
msgstr "Aus allen auswählen..."
-#: route_time_axis.cc:1591
+#: route_time_axis.cc:1738
msgid "Take: %1.%2"
msgstr "Take: %1.%2"
-#: route_time_axis.cc:2291
+#: route_time_axis.cc:2024 selection.cc:1002 selection.cc:1056
+msgid "programming error: "
+msgstr "Programmierfehler:"
+
+#: route_time_axis.cc:2440
msgid "Underlays"
msgstr "Darunterliegende"
-#: route_time_axis.cc:2294
+#: route_time_axis.cc:2443
msgid "Remove \"%1\""
msgstr "Lösche \"%1\""
-#: route_time_axis.cc:2344 route_time_axis.cc:2381
+#: route_time_axis.cc:2493 route_time_axis.cc:2530
msgid "programming error: underlay reference pointer pairs are inconsistent!"
msgstr "programming error: underlay reference pointer pairs are inconsistent!"
-#: route_time_axis.cc:2408
+#: route_time_axis.cc:2557
msgid "After-fade listen (AFL)"
msgstr "After-Fader (AFL)"
-#: route_time_axis.cc:2412
+#: route_time_axis.cc:2561
msgid "Pre-fade listen (PFL)"
msgstr "Pre-Fader (PFL)"
-#: route_time_axis.cc:2416
-msgid "s"
-msgstr "s"
-
-#: route_time_axis.cc:2419
-msgid "m"
-msgstr "m"
-
-#: route_ui.cc:119
+#: route_ui.cc:138
msgid "Mute this track"
msgstr "Diese Spur stummschalten"
-#: route_ui.cc:123
+#: route_ui.cc:142
msgid "Mute other (non-soloed) tracks"
msgstr "Andere (nicht Solo-)Spuren stummschalten"
-#: route_ui.cc:129
+#: route_ui.cc:148
msgid "Enable recording on this track"
msgstr "Aktiviere die Aufnahme auf dieser Spur"
-#: route_ui.cc:133
+#: route_ui.cc:154
msgid "make mixer strips show sends to this bus"
msgstr "Channel strips zeigen Sends zu diesem Bus"
-#: route_ui.cc:138
+#: route_ui.cc:159
msgid "Monitor input"
msgstr "Eingang abhören"
-#: route_ui.cc:144
+#: route_ui.cc:165
msgid "Monitor playback"
msgstr "Vorhandenes Material abhören"
-#: route_ui.cc:591
-msgid "Not connected to JACK - cannot engage record"
-msgstr "Nicht mit JACK verbunden - konnte die Aufnahme nicht starten"
+#: route_ui.cc:668
+msgid "Not connected to AudioEngine - cannot engage record"
+msgstr ""
-#: route_ui.cc:786
+#: route_ui.cc:867
msgid "Step Entry"
msgstr "Eingabemodus (Step Entry)"
-#: route_ui.cc:859
+#: route_ui.cc:940
msgid "Assign all tracks (prefader)"
msgstr "Alle Audiospuren zuweisen (Pre-Fader)"
-#: route_ui.cc:863
+#: route_ui.cc:944
msgid "Assign all tracks and buses (prefader)"
msgstr "Alle Audiospuren und Busse zuweisen (Pre-Fader)"
-#: route_ui.cc:867
+#: route_ui.cc:948
msgid "Assign all tracks (postfader)"
msgstr "Alle Audiospuren zuweisen (Post-Fader)"
-#: route_ui.cc:871
+#: route_ui.cc:952
msgid "Assign all tracks and buses (postfader)"
msgstr "Alle Audiospuren und Busse zuweisen (Post-Fader)"
-#: route_ui.cc:875
+#: route_ui.cc:956
msgid "Assign selected tracks (prefader)"
msgstr "Ausgewählte Audiospuren zuweisen (Pre-Fader)"
-#: route_ui.cc:879
+#: route_ui.cc:960
msgid "Assign selected tracks and buses (prefader)"
msgstr "Ausgewählte Audiospuren und Busse zuweisen (Pre-Fader)"
-#: route_ui.cc:882
+#: route_ui.cc:963
msgid "Assign selected tracks (postfader)"
msgstr "Ausgewählte Audiospuren zuweisen (Post-Fader)"
-#: route_ui.cc:886
+#: route_ui.cc:967
msgid "Assign selected tracks and buses (postfader)"
msgstr "Ausgewählte Audiospuren und Busse zuweisen (Post-Fader)"
-#: route_ui.cc:889
+#: route_ui.cc:970
msgid "Copy track/bus gains to sends"
msgstr "Lautstärken der Spuren/Busse auf ihre Sends kopieren"
-#: route_ui.cc:890
+#: route_ui.cc:971
msgid "Set sends gain to -inf"
msgstr "Setze Sends-Lautstärken to -inf"
-#: route_ui.cc:891
+#: route_ui.cc:972
msgid "Set sends gain to 0dB"
msgstr "Setze Sends-Lautstärken to 0dB"
-#: route_ui.cc:1211
+#: route_ui.cc:1294
msgid "Solo Isolate"
msgstr "Isoliertes Solo"
-#: route_ui.cc:1240
-msgid "Pre Fader"
-msgstr "Pre Fader"
+#: route_ui.cc:1301
+msgid "Solo Safe"
+msgstr "Solo sperren"
-#: route_ui.cc:1246
-msgid "Post Fader"
-msgstr "Post Fader"
+#: route_ui.cc:1323
+msgid "Pre Fader Sends"
+msgstr ""
-#: route_ui.cc:1252
+#: route_ui.cc:1329
+msgid "Post Fader Sends"
+msgstr ""
+
+#: route_ui.cc:1335
msgid "Control Outs"
msgstr "Vorhörausgang"
-#: route_ui.cc:1258
+#: route_ui.cc:1341
msgid "Main Outs"
msgstr "Hauptausgänge"
-#: route_ui.cc:1390
+#: route_ui.cc:1473
msgid "Color Selection"
msgstr "Farbauswahl"
-#: route_ui.cc:1477
+#: route_ui.cc:1558
msgid ""
"Do you really want to remove track \"%1\" ?\n"
"\n"
@@ -10286,7 +10511,7 @@ msgstr ""
"\n"
"(Dies kann nicht rückgängig gemacht werden!)"
-#: route_ui.cc:1479
+#: route_ui.cc:1560
msgid ""
"Do you really want to remove bus \"%1\" ?\n"
"\n"
@@ -10295,15 +10520,15 @@ msgstr ""
"Wollen Sie den Bus \"%1\" wirklich löschen?\n"
"(Dies kann nicht rückgängig gemacht werden!)"
-#: route_ui.cc:1487
+#: route_ui.cc:1568
msgid "Remove track"
msgstr "Spur löschen"
-#: route_ui.cc:1489
+#: route_ui.cc:1570
msgid "Remove bus"
msgstr "Bus löschen"
-#: route_ui.cc:1516
+#: route_ui.cc:1598
msgid ""
"The use of colons (':') is discouraged in track and bus names.\n"
"Do you want to use this new name?"
@@ -10312,47 +10537,51 @@ msgstr ""
"wird nicht empfohlen.\n"
"Wollen Sie diesen neuen Namen verwenden?"
-#: route_ui.cc:1520
+#: route_ui.cc:1602
msgid "Use the new name"
msgstr "Neuen Namen verwenden"
-#: route_ui.cc:1521
+#: route_ui.cc:1603
msgid "Re-edit the name"
msgstr "Namen bearbeiten"
-#: route_ui.cc:1534
+#: route_ui.cc:1616
msgid "Rename Track"
msgstr "Spur umbenennen"
-#: route_ui.cc:1536
+#: route_ui.cc:1618
msgid "Rename Bus"
msgstr "Bus umbenennen"
-#: route_ui.cc:1695
+#: route_ui.cc:1686
+msgid ": comment editor"
+msgstr ": Kommentare bearbeiten"
+
+#: route_ui.cc:1852
msgid " latency"
msgstr " Latenz"
-#: route_ui.cc:1708
+#: route_ui.cc:1865
msgid "Cannot create route template directory %1"
msgstr "Kann das Vorlagenverzeichnis für Spuren/Busse %1 nicht erzeugen"
-#: route_ui.cc:1714
+#: route_ui.cc:1871
msgid "Save As Template"
msgstr "Als Vorlage speichern"
-#: route_ui.cc:1715
+#: route_ui.cc:1872
msgid "Template name:"
msgstr "Name der Vorlage:"
-#: route_ui.cc:1788
+#: route_ui.cc:1945
msgid "Remote Control ID"
msgstr "ID für Fernsteuerung"
-#: route_ui.cc:1798
+#: route_ui.cc:1955
msgid "Remote control ID:"
msgstr "ID für Fernsteuerung:"
-#: route_ui.cc:1812
+#: route_ui.cc:1969
msgid ""
"The remote control ID of %1 is: %2\n"
"\n"
@@ -10364,27 +10593,34 @@ msgstr ""
"\n"
"Die Fernbedienungs-ID von %3 kann nicht geändert werden."
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the master bus"
msgstr "der Master-Bus"
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the monitor bus"
msgstr "der Monitor-Bus"
-#: route_ui.cc:1818
+#: route_ui.cc:1975
msgid ""
"The remote control ID of %5 is: %2\n"
"\n"
"\n"
-"Remote Control IDs are currently determined by track/bus ordering in "
-"Ardour.\n"
+"Remote Control IDs are currently determined by track/bus ordering in %6.\n"
"\n"
"%3Use the User Interaction tab of the Preferences window if you want to "
"change this%4"
msgstr ""
+"Die Fernbedienungs-ID von %5 ist: %2\n"
+"\n"
+"\n"
+"Fernbedienungs-IDs werden zur Zeit durch die Reihenfolge der Spuren/Busse in "
+"%6 bestimmt.\n"
+"\n"
+"%3Benutzen Sie den Reiter GUI im Fenster \"Einstellungen\", um dies zu ändern"
+"%4"
-#: route_ui.cc:1875
+#: route_ui.cc:2032
msgid ""
"Left-click to invert (phase reverse) channel %1 of this track. Right-click "
"to show menu."
@@ -10392,7 +10628,7 @@ msgstr ""
"Linksklick, um die Phase von Kanal %1 zu invertieren. Rechtsklick zeigt das "
"Menü."
-#: route_ui.cc:1877
+#: route_ui.cc:2034
msgid "Click to show a menu of channels for inversion (phase reverse)"
msgstr ""
"Klicken, um ein Menü zum Invertieren der Kanäle (Phasendrehung) anzuzeigen"
@@ -10409,119 +10645,119 @@ msgstr "Hier klicken, um einen Pfad hinzuzufügen"
msgid "the session folder"
msgstr "Projektordner"
-#: send_ui.cc:126
+#: send_ui.cc:134
msgid "Send "
msgstr "Send "
-#: session_dialog.cc:66
+#: session_dialog.cc:68
msgid "Session Setup"
msgstr "Projekteinrichtung"
-#: session_dialog.cc:71
+#: session_dialog.cc:73
msgid "Advanced options ..."
msgstr "Erweiterte Einstellungen..."
-#: session_dialog.cc:267
+#: session_dialog.cc:271
msgid "New Session"
msgstr "Neues Projekt"
-#: session_dialog.cc:305
+#: session_dialog.cc:309
msgid "Check the website for more..."
msgstr "Informieren Sie sich auf der Webseite weiter..."
-#: session_dialog.cc:308
+#: session_dialog.cc:312
msgid "Click to open the program website in your web browser"
msgstr "Klicken Sie, um die Webseite in Ihrem Web-Browse zu öffnen"
-#: session_dialog.cc:328
+#: session_dialog.cc:332
msgid "Sample Rate"
msgstr "Samplerate"
-#: session_dialog.cc:329
+#: session_dialog.cc:333
msgid "Disk Format"
msgstr "Dateiformat"
-#: session_dialog.cc:347
+#: session_dialog.cc:351
msgid "Select session file"
msgstr "Projektdatei auswählen"
-#: session_dialog.cc:362
+#: session_dialog.cc:366
msgid "Other Sessions"
msgstr "Andere Projekte"
-#: session_dialog.cc:388
+#: session_dialog.cc:392
msgid "Open"
msgstr "Öffnen"
-#: session_dialog.cc:455
+#: session_dialog.cc:459
msgid "Session name:"
msgstr "Projektname:"
-#: session_dialog.cc:477
+#: session_dialog.cc:481
msgid "Create session folder in:"
msgstr "Ort des Projektverzeichnisses:"
-#: session_dialog.cc:500
+#: session_dialog.cc:504
msgid "Select folder for session"
msgstr "Ordner für Projekt wählen"
-#: session_dialog.cc:529
+#: session_dialog.cc:533
msgid "Use this template"
msgstr "Diese Vorlage verwenden"
-#: session_dialog.cc:532
+#: session_dialog.cc:536
msgid "no template"
msgstr "keine Vorlage"
-#: session_dialog.cc:664 session_dialog.cc:696
+#: session_dialog.cc:671 session_dialog.cc:707
msgid "32 bit float"
msgstr "32 Bit float"
-#: session_dialog.cc:667 session_dialog.cc:699
+#: session_dialog.cc:674 session_dialog.cc:710
msgid "24 bit"
msgstr "24 Bit"
-#: session_dialog.cc:670 session_dialog.cc:702
+#: session_dialog.cc:677 session_dialog.cc:713
msgid "16 bit"
msgstr "16 Bit"
-#: session_dialog.cc:741 session_dialog.cc:742 session_dialog.cc:743
+#: session_dialog.cc:755 session_dialog.cc:756 session_dialog.cc:757
msgid "channels"
msgstr "Kanäle"
-#: session_dialog.cc:757
+#: session_dialog.cc:771
msgid "<b>Busses</b>"
msgstr "<b>Busse</b>"
-#: session_dialog.cc:758
+#: session_dialog.cc:772
msgid "<b>Inputs</b>"
msgstr "<b>Eingänge</b>"
-#: session_dialog.cc:759
+#: session_dialog.cc:773
msgid "<b>Outputs</b>"
msgstr "<b>Ausgänge</b>"
-#: session_dialog.cc:767
+#: session_dialog.cc:781
msgid "Create master bus"
msgstr "Master-Bus erstellen"
-#: session_dialog.cc:777
+#: session_dialog.cc:791
msgid "Automatically connect to physical inputs"
msgstr "Automatisch mit Audioeingängen verbinden"
-#: session_dialog.cc:784 session_dialog.cc:843
+#: session_dialog.cc:798 session_dialog.cc:857
msgid "Use only"
msgstr "Benutze nur"
-#: session_dialog.cc:837
+#: session_dialog.cc:851
msgid "Automatically connect outputs"
msgstr "Ausgänge automatisch verbinden"
-#: session_dialog.cc:859
+#: session_dialog.cc:873
msgid "... to master bus"
msgstr "... mit dem Master-Bus"
-#: session_dialog.cc:869
+#: session_dialog.cc:883
msgid "... to physical outputs"
msgstr "... mit den Audioausgängen"
@@ -10828,10 +11064,9 @@ msgstr ""
#: session_option_editor.cc:91
msgid ""
-"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless in JACK-sync)."
-msgstr ""
-"Wende Pull-Up/Down auf Videozeitleiste und Videomonitor an (ausser bei JACK-"
+"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless using JACK-"
"sync)."
+msgstr ""
#: session_option_editor.cc:96
msgid "Ext Timecode Offsets"
@@ -10869,104 +11104,174 @@ msgstr ""
"%1 ist JACK Time Master (übergibt Takt|Schlag|Tick und andere Information an "
"JACK)"
-#: session_option_editor.cc:137
-msgid "Default crossfade type"
-msgstr "Voreingestellte Ãœberblend-Art"
-
-#: session_option_editor.cc:142
-msgid "Constant power (-3dB) crossfade"
-msgstr "Ãœberblendung mit konstanter Energie (-3dB)"
-
-#: session_option_editor.cc:143
-msgid "Linear (-6dB) crossfade"
-msgstr "Lineare (-6dB) Ãœberblendung"
-
-#: session_option_editor.cc:148
+#: session_option_editor.cc:136
msgid "destructive-xfade-seconds"
msgstr "destruktive Xfade-Sekunden"
-#: session_option_editor.cc:149
+#: session_option_editor.cc:137
msgid "Destructive crossfade length"
msgstr "Länge für destruktive Crossfades"
-#: session_option_editor.cc:158
+#: session_option_editor.cc:146
msgid "Region fades active"
msgstr "Regionen Fade-Ins/Fade-Outs sind aktiv"
-#: session_option_editor.cc:165
+#: session_option_editor.cc:153
msgid "Region fades visible"
msgstr "Regionen Fade-Ins/Fade-Outs sind sichtbar"
-#: session_option_editor.cc:172 session_option_editor.cc:185
-#: session_option_editor.cc:199 session_option_editor.cc:201
-#: session_option_editor.cc:207 session_option_editor.cc:214
+#: session_option_editor.cc:160 session_option_editor.cc:173
+#: session_option_editor.cc:187
msgid "Media"
msgstr "Dateien"
-#: session_option_editor.cc:172
+#: session_option_editor.cc:160
msgid "Audio file format"
msgstr "Audio-Dateiformat"
-#: session_option_editor.cc:176
+#: session_option_editor.cc:164
msgid "Sample format"
msgstr "Sampleformat"
-#: session_option_editor.cc:181
+#: session_option_editor.cc:169
msgid "32-bit floating point"
msgstr "32-bit floating point"
-#: session_option_editor.cc:182
+#: session_option_editor.cc:170
msgid "24-bit integer"
msgstr "24-bit integer"
-#: session_option_editor.cc:183
+#: session_option_editor.cc:171
msgid "16-bit integer"
msgstr "16-bit integer"
-#: session_option_editor.cc:189
+#: session_option_editor.cc:177
msgid "File type"
msgstr "Dateiformat"
-#: session_option_editor.cc:194
+#: session_option_editor.cc:182
msgid "Broadcast WAVE"
msgstr "Broadcast WAVE"
-#: session_option_editor.cc:195
+#: session_option_editor.cc:183
msgid "WAVE"
msgstr "WAVE"
-#: session_option_editor.cc:196
+#: session_option_editor.cc:184
msgid "WAVE-64"
msgstr "WAVE-64"
-#: session_option_editor.cc:201
+#: session_option_editor.cc:189
msgid "File locations"
msgstr "Dateipfade"
-#: session_option_editor.cc:203
+#: session_option_editor.cc:191
msgid "Search for audio files in:"
msgstr "Suche hier nach Audiodateien:"
-#: session_option_editor.cc:209
+#: session_option_editor.cc:197
msgid "Search for MIDI files in:"
msgstr "Suche hier nach MIDI-Dateien:"
-#: session_option_editor.cc:220
+#: session_option_editor.cc:206 session_option_editor.cc:218
+#: session_option_editor.cc:228 session_option_editor.cc:239
+msgid "Filenames"
+msgstr ""
+
+#: session_option_editor.cc:206
+msgid "File Naming"
+msgstr ""
+
+#: session_option_editor.cc:212
+msgid "Prefix Track number"
+msgstr ""
+
+#: session_option_editor.cc:217
+msgid ""
+"Adds the current track number to the beginning of the recorded file name."
+msgstr ""
+
+#: session_option_editor.cc:222
+msgid "Prefix Take Name"
+msgstr ""
+
+#: session_option_editor.cc:227
+msgid "Adds the Take Name to the beginning of the recorded file name."
+msgstr ""
+
+#: session_option_editor.cc:232
+msgid "Take Name"
+msgstr ""
+
+#: session_option_editor.cc:245
msgid ""
"Track Input Monitoring automatically follows transport state (\"auto-input\")"
msgstr ""
"Spur-Eingangs-Monitoring folgt automatisch dem Transportstatus (\"auto-input"
"\")"
-#: session_option_editor.cc:227
+#: session_option_editor.cc:252
msgid "Use monitor section in this session"
msgstr "In diesem Projekt eine Monitorsektion verwenden"
-#: session_option_editor.cc:238
+#: session_option_editor.cc:257 session_option_editor.cc:259
+#: session_option_editor.cc:266 session_option_editor.cc:273
+#: session_option_editor.cc:280 session_option_editor.cc:282
+#: session_option_editor.cc:289 session_option_editor.cc:296
+#: session_option_editor.cc:303 session_option_editor.cc:310
+#: session_option_editor.cc:312
+msgid "Meterbridge"
+msgstr "Meterbridge"
+
+#: session_option_editor.cc:257
+msgid "Route Display"
+msgstr "Routenanzeige"
+
+#: session_option_editor.cc:261
+msgid "Show Midi Tracks"
+msgstr "Zeige MIDI-Spuren"
+
+#: session_option_editor.cc:268
+msgid "Show Busses"
+msgstr "Zeige Busse"
+
+#: session_option_editor.cc:275
+msgid "Include Master Bus"
+msgstr "Zeige Master-Bus"
+
+#: session_option_editor.cc:280
+msgid "Button Area"
+msgstr "Schaltflächenbereich"
+
+#: session_option_editor.cc:284
+msgid "Rec-enable Button"
+msgstr "Schaltfläche für Aufnahmebereitschaft"
+
+#: session_option_editor.cc:291
+msgid "Mute Button"
+msgstr "Schaltfläche für Stummschaltung"
+
+#: session_option_editor.cc:298
+msgid "Solo Button"
+msgstr "Schaltfläche für Solostatus"
+
+#: session_option_editor.cc:305
+msgid "Monitor Buttons"
+msgstr "Monitor-Knöpfe"
+
+#: session_option_editor.cc:310
+msgid "Name Labels"
+msgstr "Namensfelder"
+
+#: session_option_editor.cc:314
+msgid "Track Name"
+msgstr "Spurname"
+
+#: session_option_editor.cc:325
msgid "MIDI region copies are independent"
msgstr "Kopien von MIDI Region sind unabhängig"
-#: session_option_editor.cc:245
+#: session_option_editor.cc:332
msgid ""
"Policy for handling overlapping notes\n"
" on the same MIDI channel"
@@ -10974,330 +11279,290 @@ msgstr ""
"Vorgehen bei überlappenden Noten\n"
"am selben MIDI-Kanal"
-#: session_option_editor.cc:250
+#: session_option_editor.cc:337
msgid "never allow them"
msgstr "Niemals erlauben"
-#: session_option_editor.cc:251
+#: session_option_editor.cc:338
msgid "don't do anything in particular"
msgstr "Nichts bestimmtes tun"
-#: session_option_editor.cc:252
+#: session_option_editor.cc:339
msgid "replace any overlapped existing note"
msgstr "Ãœberlagerte Note ersetzen"
-#: session_option_editor.cc:253
+#: session_option_editor.cc:340
msgid "shorten the overlapped existing note"
msgstr "Überlagerte Note kürzen"
-#: session_option_editor.cc:254
+#: session_option_editor.cc:341
msgid "shorten the overlapping new note"
msgstr "Die überlagernde neue Note kürzen"
-#: session_option_editor.cc:255
+#: session_option_editor.cc:342
msgid "replace both overlapping notes with a single note"
msgstr "Ãœberlagernde Note mit einer einzelnen ersetzen"
-#: session_option_editor.cc:259
+#: session_option_editor.cc:346
msgid "Glue to bars and beats"
msgstr "An Takte und Schläge binden"
-#: session_option_editor.cc:263
+#: session_option_editor.cc:350
msgid "Glue new markers to bars and beats"
msgstr "Neue Marker an Takte und Schläge binden"
-#: session_option_editor.cc:270
+#: session_option_editor.cc:357
msgid "Glue new regions to bars and beats"
msgstr "Neue Regionen an Takte und Schläge binden"
-#: session_option_editor.cc:275 session_option_editor.cc:277
-#: session_option_editor.cc:284 session_option_editor.cc:291
-#: session_option_editor.cc:298 session_option_editor.cc:300
-#: session_option_editor.cc:307 session_option_editor.cc:314
-#: session_option_editor.cc:321 session_option_editor.cc:323
-msgid "Meterbridge"
-msgstr "Meterbridge"
-
-#: session_option_editor.cc:275
-msgid "Route Display"
-msgstr "Routenanzeige"
-
-#: session_option_editor.cc:279
-msgid "Show Midi Tracks"
-msgstr "Zeige MIDI-Spuren"
-
-#: session_option_editor.cc:286
-msgid "Show Busses"
-msgstr "Zeige Busse"
-
-#: session_option_editor.cc:293
-msgid "Include Master Bus"
-msgstr "Zeige Master-Bus"
-
-#: session_option_editor.cc:298
-msgid "Button Area"
-msgstr "Schaltflächenbereich"
-
-#: session_option_editor.cc:302
-msgid "Rec-enable Button"
-msgstr "Schaltfläche für Aufnahmebereitschaft"
-
-#: session_option_editor.cc:309
-msgid "Mute Button"
-msgstr "Schaltfläche für Stummschaltung"
-
-#: session_option_editor.cc:316
-msgid "Solo Button"
-msgstr "Schaltfläche für Solostatus"
-
-#: session_option_editor.cc:321
-msgid "Name Labels"
-msgstr "Namensfelder"
+#: session_option_editor.cc:362
+msgid "Defaults"
+msgstr ""
-#: session_option_editor.cc:325
-msgid "Track Name"
-msgstr "Spurname"
+#: session_option_editor.cc:364
+msgid "Use these settings as defaults"
+msgstr ""
-#: sfdb_ui.cc:86 sfdb_ui.cc:106 sfdb_ui.cc:115
+#: sfdb_ui.cc:88 sfdb_ui.cc:108 sfdb_ui.cc:117
msgid "as new tracks"
msgstr "als neue Spuren"
-#: sfdb_ui.cc:88 sfdb_ui.cc:108
+#: sfdb_ui.cc:90 sfdb_ui.cc:110
msgid "to selected tracks"
msgstr "zu ausgewählten Spuren"
-#: sfdb_ui.cc:90 sfdb_ui.cc:110
+#: sfdb_ui.cc:92 sfdb_ui.cc:112
msgid "to region list"
msgstr "zur Liste der Regionen"
-#: sfdb_ui.cc:92 sfdb_ui.cc:112
+#: sfdb_ui.cc:94 sfdb_ui.cc:114
msgid "as new tape tracks"
msgstr "als neue Band-Spuren"
-#: sfdb_ui.cc:96
+#: sfdb_ui.cc:98
msgid "programming error: unknown import mode string %1"
msgstr "Programmierfehler: unbekannter Importmodus %1"
-#: sfdb_ui.cc:123
+#: sfdb_ui.cc:125
msgid "Auto-play"
msgstr "Auto-Play"
-#: sfdb_ui.cc:129 sfdb_ui.cc:236
+#: sfdb_ui.cc:133 sfdb_ui.cc:317
msgid "<b>Sound File Information</b>"
msgstr "<b>Eigenschaften der Audiodatei</b>"
-#: sfdb_ui.cc:141
+#: sfdb_ui.cc:145
msgid "Timestamp:"
msgstr "Zeitstempel:"
-#: sfdb_ui.cc:143
+#: sfdb_ui.cc:147
msgid "Format:"
msgstr "Format:"
-#: sfdb_ui.cc:182 sfdb_ui.cc:526
+#: sfdb_ui.cc:186 sfdb_ui.cc:646
msgid "Tags:"
msgstr "Stichworte:"
-#: sfdb_ui.cc:319
-msgid "Auditioning of MIDI files is not yet supported"
-msgstr "Vorhören von MIDI-Dateien wird noch nicht unterstützt"
+#: sfdb_ui.cc:290
+msgid "<b>Midi File Information</b>"
+msgstr "<b>Midi Datei Information</b>"
-#: sfdb_ui.cc:326
+#: sfdb_ui.cc:402
msgid "Could not read file: %1 (%2)."
msgstr "Konnte Datei nicht lesen: %1 (%2)."
-#: sfdb_ui.cc:349
+#: sfdb_ui.cc:451
msgid "Could not access soundfile: "
msgstr "Konnte auf Audiodatei nicht zugreifen: "
-#: sfdb_ui.cc:403
+#: sfdb_ui.cc:523
msgid "SoundFileBox: Could not tokenize string: "
msgstr "SoundFileBox: Konnte Zeichenkette nicht zerlegen: "
-#: sfdb_ui.cc:423 sfdb_ui.cc:425
+#: sfdb_ui.cc:543 sfdb_ui.cc:545
msgid "Search"
msgstr "Suchen"
-#: sfdb_ui.cc:449
+#: sfdb_ui.cc:569
msgid "Audio and MIDI files"
msgstr "Audio- und MIDIdateien"
-#: sfdb_ui.cc:452
+#: sfdb_ui.cc:572
msgid "Audio files"
msgstr "Audiodateien"
-#: sfdb_ui.cc:455
+#: sfdb_ui.cc:575
msgid "MIDI files"
msgstr "MIDI-Dateien"
-#: sfdb_ui.cc:458 add_video_dialog.cc:132
+#: sfdb_ui.cc:578 add_video_dialog.cc:123
msgid "All files"
msgstr "Alle Dateien"
-#: sfdb_ui.cc:477 add_video_dialog.cc:143
+#: sfdb_ui.cc:597 add_video_dialog.cc:246
msgid "Browse Files"
msgstr "Durchsuchen"
-#: sfdb_ui.cc:506
+#: sfdb_ui.cc:626
msgid "Paths"
msgstr "Pfade"
-#: sfdb_ui.cc:515
+#: sfdb_ui.cc:635
msgid "Search Tags"
msgstr "Stichwortsuche"
-#: sfdb_ui.cc:531
+#: sfdb_ui.cc:651
msgid "Sort:"
msgstr "Sortierung:"
-#: sfdb_ui.cc:539
+#: sfdb_ui.cc:659
msgid "Longest"
msgstr "Längste"
-#: sfdb_ui.cc:540
+#: sfdb_ui.cc:660
msgid "Shortest"
msgstr "Kürzeste"
-#: sfdb_ui.cc:541
+#: sfdb_ui.cc:661
msgid "Newest"
msgstr "Neueste"
-#: sfdb_ui.cc:542
+#: sfdb_ui.cc:662
msgid "Oldest"
msgstr "Ältestes"
-#: sfdb_ui.cc:543
+#: sfdb_ui.cc:663
msgid "Most downloaded"
msgstr "Am häufigsten heruntergeladen"
-#: sfdb_ui.cc:544
+#: sfdb_ui.cc:664
msgid "Least downloaded"
msgstr "Am seltensten heruntergeladen"
-#: sfdb_ui.cc:545
+#: sfdb_ui.cc:665
msgid "Highest rated"
msgstr "Bestbewertetes"
-#: sfdb_ui.cc:546
+#: sfdb_ui.cc:666
msgid "Lowest rated"
msgstr "Am schlechtesten bewertetes"
-#: sfdb_ui.cc:551
+#: sfdb_ui.cc:671
msgid "More"
msgstr "Mehr"
-#: sfdb_ui.cc:555
+#: sfdb_ui.cc:675
msgid "Similar"
msgstr "Ähnlich"
-#: sfdb_ui.cc:567
+#: sfdb_ui.cc:687
msgid "ID"
msgstr "ID"
-#: sfdb_ui.cc:568 add_video_dialog.cc:84
+#: sfdb_ui.cc:688 add_video_dialog.cc:83
msgid "Filename"
msgstr "Dateiname"
-#: sfdb_ui.cc:570
+#: sfdb_ui.cc:690
msgid "Duration"
msgstr "Dauer"
-#: sfdb_ui.cc:571
+#: sfdb_ui.cc:691
msgid "Size"
msgstr "Größe"
-#: sfdb_ui.cc:572
+#: sfdb_ui.cc:692
msgid "Samplerate"
msgstr "Samplerate"
-#: sfdb_ui.cc:573
+#: sfdb_ui.cc:693
msgid "License"
msgstr "Lizenz"
-#: sfdb_ui.cc:591
+#: sfdb_ui.cc:711
msgid "Search Freesound"
msgstr "Freesound durchsuchen"
-#: sfdb_ui.cc:611
+#: sfdb_ui.cc:731
msgid "Press to import selected files and close this window"
msgstr ""
"Drücken Sie hier, um die angewählten Dateien zu importieren und dieses "
"Fenster zu schließen"
-#: sfdb_ui.cc:612
+#: sfdb_ui.cc:732
msgid "Press to import selected files and leave this window open"
msgstr ""
"Drücken Sie hier, um die angewählten Dateien zu importieren und dieses "
"Fenster offen zu lassen"
-#: sfdb_ui.cc:613
+#: sfdb_ui.cc:733
msgid "Press to close this window without importing any files"
msgstr ""
"Drücken Sie hier, um dieses Fenster zu schließen, ohne Dateien zu importieren"
-#: sfdb_ui.cc:809
+#: sfdb_ui.cc:929
msgid "SoundFileBrowser: Could not tokenize string: "
msgstr "SoundFileBrowser: Konnte Zeichenkete nicht zerlegen:"
-#: sfdb_ui.cc:1009
+#: sfdb_ui.cc:1129
msgid "%1 more page of 100 results available"
msgid_plural "%1 more pages of 100 results available"
msgstr[0] "%1 weitere Seite von 100 Ergebnissen verfügbar"
msgstr[1] "%1 weitere Seiten von 100 Ergebnissen verfügbar"
-#: sfdb_ui.cc:1014
+#: sfdb_ui.cc:1134
msgid "No more results available"
msgstr "Keine weiteren Ergebnisse verfügbar"
-#: sfdb_ui.cc:1078
+#: sfdb_ui.cc:1198
msgid "B"
msgstr "B"
-#: sfdb_ui.cc:1080
+#: sfdb_ui.cc:1200
msgid "kB"
msgstr "kB"
-#: sfdb_ui.cc:1082 sfdb_ui.cc:1084
+#: sfdb_ui.cc:1202 sfdb_ui.cc:1204
msgid "MB"
msgstr "MB"
-#: sfdb_ui.cc:1086
+#: sfdb_ui.cc:1206
msgid "GB"
msgstr "GB"
-#: sfdb_ui.cc:1298 sfdb_ui.cc:1606 sfdb_ui.cc:1656 sfdb_ui.cc:1674
+#: sfdb_ui.cc:1418 sfdb_ui.cc:1731 sfdb_ui.cc:1782 sfdb_ui.cc:1800
msgid "one track per file"
msgstr "eine Spur pro Datei"
-#: sfdb_ui.cc:1301 sfdb_ui.cc:1657 sfdb_ui.cc:1675
+#: sfdb_ui.cc:1421 sfdb_ui.cc:1783 sfdb_ui.cc:1801
msgid "one track per channel"
msgstr "eine Spur pro Kanal"
-#: sfdb_ui.cc:1309 sfdb_ui.cc:1659 sfdb_ui.cc:1676
+#: sfdb_ui.cc:1429 sfdb_ui.cc:1785 sfdb_ui.cc:1802
msgid "sequence files"
msgstr "Dateien aneinanderreihen"
-#: sfdb_ui.cc:1312 sfdb_ui.cc:1664
+#: sfdb_ui.cc:1432 sfdb_ui.cc:1790
msgid "all files in one track"
msgstr "Alle Dateien in eine Spur"
-#: sfdb_ui.cc:1313 sfdb_ui.cc:1658
+#: sfdb_ui.cc:1433 sfdb_ui.cc:1784
msgid "merge files"
msgstr "Dateien zusammenfügen"
-#: sfdb_ui.cc:1319 sfdb_ui.cc:1661
+#: sfdb_ui.cc:1439 sfdb_ui.cc:1787
msgid "one region per file"
msgstr "eine Region pro Datei"
-#: sfdb_ui.cc:1322 sfdb_ui.cc:1662
+#: sfdb_ui.cc:1442 sfdb_ui.cc:1788
msgid "one region per channel"
msgstr "eine Region pro Kanal"
-#: sfdb_ui.cc:1327 sfdb_ui.cc:1663 sfdb_ui.cc:1677
+#: sfdb_ui.cc:1447 sfdb_ui.cc:1789 sfdb_ui.cc:1803
msgid "all files in one region"
msgstr "alle Dateien in einer Region"
-#: sfdb_ui.cc:1394
+#: sfdb_ui.cc:1514
msgid ""
"One or more of the selected files\n"
"cannot be used by %1"
@@ -11305,55 +11570,55 @@ msgstr ""
"Eine oder mehrere der ausgewählten Dateien\n"
"können von %1 nicht verwendet werden"
-#: sfdb_ui.cc:1534
+#: sfdb_ui.cc:1658
msgid "Copy files to session"
msgstr "Kopiere Dateien in Projekt"
-#: sfdb_ui.cc:1551 sfdb_ui.cc:1714
+#: sfdb_ui.cc:1675 sfdb_ui.cc:1840
msgid "file timestamp"
msgstr "Zeitstempel"
-#: sfdb_ui.cc:1552 sfdb_ui.cc:1716
+#: sfdb_ui.cc:1676 sfdb_ui.cc:1842
msgid "edit point"
msgstr "Arbeitspunkt"
-#: sfdb_ui.cc:1553 sfdb_ui.cc:1718
+#: sfdb_ui.cc:1677 sfdb_ui.cc:1844
msgid "playhead"
msgstr "Positionszeiger"
-#: sfdb_ui.cc:1554
+#: sfdb_ui.cc:1678
msgid "session start"
msgstr "Projektanfang"
-#: sfdb_ui.cc:1559
+#: sfdb_ui.cc:1684
msgid "<b>Add files as ...</b>"
msgstr "<b>Füge Dateien hinzu als...</b>"
-#: sfdb_ui.cc:1581
+#: sfdb_ui.cc:1706
msgid "<b>Insert at</b>"
msgstr "<b>Einfügen bei</b>"
-#: sfdb_ui.cc:1594
+#: sfdb_ui.cc:1719
msgid "<b>Mapping</b>"
msgstr "<b>Zuordnung</b>"
-#: sfdb_ui.cc:1612
+#: sfdb_ui.cc:1737
msgid "<b>Conversion quality</b>"
msgstr "<b>Konvertierungsqualität:</b>"
-#: sfdb_ui.cc:1624 sfdb_ui.cc:1730
+#: sfdb_ui.cc:1749 sfdb_ui.cc:1856
msgid "Best"
msgstr "bestmöglich"
-#: sfdb_ui.cc:1625 sfdb_ui.cc:1732
+#: sfdb_ui.cc:1750 sfdb_ui.cc:1858
msgid "Good"
msgstr "gut"
-#: sfdb_ui.cc:1626 sfdb_ui.cc:1734
+#: sfdb_ui.cc:1751 sfdb_ui.cc:1860
msgid "Quick"
msgstr "schnell"
-#: sfdb_ui.cc:1628
+#: sfdb_ui.cc:1753
msgid "Fastest"
msgstr "Schnellstmöglich"
@@ -11399,6 +11664,30 @@ msgstr ">>> %+d Halbtöne"
msgid "Stopped"
msgstr "Gestoppt"
+#: soundcloud_export_selector.cc:44
+msgid "User Email"
+msgstr ""
+
+#: soundcloud_export_selector.cc:45
+msgid "Password"
+msgstr ""
+
+#: soundcloud_export_selector.cc:46
+msgid "Make files public"
+msgstr ""
+
+#: soundcloud_export_selector.cc:47
+msgid "Open uploaded files in browser"
+msgstr ""
+
+#: soundcloud_export_selector.cc:48
+msgid "Make files downloadable"
+msgstr ""
+
+#: soundcloud_export_selector.cc:107
+msgid "%1: %2 of %3 bytes uploaded"
+msgstr ""
+
#: splash.cc:73
msgid "%1 loading ..."
msgstr "%1 startet ..."
@@ -11415,7 +11704,7 @@ msgstr "Lautsprecher entfernen"
msgid "Azimuth:"
msgstr "Azimut:"
-#: startup.cc:72
+#: startup.cc:73
msgid ""
"Use an external mixer or the hardware mixer of your audio interface.\n"
"%1 will play NO role in monitoring"
@@ -11423,11 +11712,11 @@ msgstr ""
"Verwende einen externen Mixer oder den Hardwaremixer der Audiohardware.\n"
"%1 wird das Monitoring NICHT übernehmen."
-#: startup.cc:74
+#: startup.cc:75
msgid "Ask %1 to play back material as it is being recorded"
msgstr "%1 soll laufende Aufnahmen wiedergeben"
-#: startup.cc:143
+#: startup.cc:144
msgid ""
"<b>Welcome to this BETA release of Ardour %1</b>\n"
"\n"
@@ -11479,11 +11768,11 @@ msgstr ""
"\n"
" http://ardour.org/support\n"
-#: startup.cc:167
+#: startup.cc:168
msgid "This is a BETA RELEASE"
msgstr "Dies ist ein BETA RELEASE"
-#: startup.cc:176
+#: startup.cc:177
msgid ""
"<span size=\"larger\">%1 is a digital audio workstation. You can use it to "
"record, edit and mix multi-track audio. You can produce your own CDs, mix "
@@ -11500,15 +11789,15 @@ msgstr ""
"Es gibt ein paar Dinge, die vor dem ersten Programmstart konfiguriert werden "
"müssen.</span>"
-#: startup.cc:202
+#: startup.cc:203
msgid "Welcome to %1"
msgstr "Willkommen zu %1"
-#: startup.cc:225
+#: startup.cc:226
msgid "Default folder for %1 sessions"
msgstr "Standardordner für %1 Projekte"
-#: startup.cc:231
+#: startup.cc:232
msgid ""
"Each project that you work on with %1 has its own folder.\n"
"These can require a lot of disk space if you are recording audio.\n"
@@ -11525,11 +11814,11 @@ msgstr ""
"<i>(Neue Projekte können überall abgespeichert werden, dies ist nur die "
"Vorgabe)</i>"
-#: startup.cc:254
+#: startup.cc:255
msgid "Default folder for new sessions"
msgstr "Standardordner für neue Projekte"
-#: startup.cc:275
+#: startup.cc:276
msgid ""
"While recording instruments or vocals, you probably want to listen to the\n"
"signal as well as record it. This is called \"monitoring\". There are\n"
@@ -11554,15 +11843,15 @@ msgstr ""
"\n"
"<i>If you do not understand what this is about, just accept the default.</i>"
-#: startup.cc:296
+#: startup.cc:297
msgid "Monitoring Choices"
msgstr "Auswahl des Monitoring"
-#: startup.cc:319
+#: startup.cc:320
msgid "Use a Master bus directly"
msgstr "Nutze den Master-Bus direkt"
-#: startup.cc:321
+#: startup.cc:322
msgid ""
"Connect the Master bus directly to your hardware outputs. This is preferable "
"for simple usage."
@@ -11570,11 +11859,11 @@ msgstr ""
"Verbinde den Master-Bus direkt mit den Audioausgängen. Wird für "
"einfacheAnwendungen empfohlen."
-#: startup.cc:330
+#: startup.cc:331
msgid "Use an additional Monitor bus"
msgstr "Nutze einen zusätzlichen Monitor-Bus"
-#: startup.cc:333
+#: startup.cc:334
msgid ""
"Use a Monitor bus between Master bus and hardware outputs for \n"
"greater control in monitoring without affecting the mix."
@@ -11582,7 +11871,7 @@ msgstr ""
"Nutze einen Monitor-Bus zwischen Master-Bus und Audioausgängen, um mehr\n"
"Möglichkeiten für das Monitoring zu bekommen, ohne den Mix zu beeinflussen."
-#: startup.cc:355
+#: startup.cc:356
msgid ""
"<i>You can change this preference at any time via the Preferences dialog.\n"
"You can also add or remove the monitor section to/from any session.</i>\n"
@@ -11596,395 +11885,395 @@ msgstr ""
"\n"
"</i>Im Zweifelsfall akzeptieren Sie die Voreinstellung.</i>"
-#: startup.cc:366
+#: startup.cc:367
msgid "Monitor Section"
msgstr "Monitorsektion"
-#: step_entry.cc:59
+#: step_entry.cc:60
msgid "Step Entry: %1"
msgstr "Eingabemodus (Step Entry): %1"
-#: step_entry.cc:64
+#: step_entry.cc:65
msgid ">beat"
msgstr ">Schlag"
-#: step_entry.cc:65
+#: step_entry.cc:66
msgid ">bar"
msgstr ">Takt"
-#: step_entry.cc:66
+#: step_entry.cc:67
msgid ">EP"
msgstr ">AP"
-#: step_entry.cc:67
+#: step_entry.cc:68
msgid "sustain"
msgstr "Sustain"
-#: step_entry.cc:68
+#: step_entry.cc:69
msgid "rest"
msgstr "Pause"
-#: step_entry.cc:69
+#: step_entry.cc:70
msgid "g-rest"
msgstr "R-Pause"
-#: step_entry.cc:70
+#: step_entry.cc:71
msgid "back"
msgstr "zurück"
-#: step_entry.cc:81 step_entry.cc:84
+#: step_entry.cc:82 step_entry.cc:85
msgid "+"
msgstr "+"
-#: step_entry.cc:190
+#: step_entry.cc:191
msgid "Set note length to a whole note"
msgstr "Notenwert auf ganze Note setzen"
-#: step_entry.cc:191
+#: step_entry.cc:192
msgid "Set note length to a half note"
msgstr "Notenwert auf halbe Note setzen"
-#: step_entry.cc:192
+#: step_entry.cc:193
msgid "Set note length to a quarter note"
msgstr "Notenwert auf Viertelnote setzen"
-#: step_entry.cc:193
+#: step_entry.cc:194
msgid "Set note length to a eighth note"
msgstr "Notenwert auf Achtelnote setzen"
-#: step_entry.cc:194
+#: step_entry.cc:195
msgid "Set note length to a sixteenth note"
msgstr "Notenwert auf Sechzehntelnote setzen"
-#: step_entry.cc:195
+#: step_entry.cc:196
msgid "Set note length to a thirty-second note"
msgstr "Notenwert auf Zweiunddreißigstelnote setzen"
-#: step_entry.cc:196
+#: step_entry.cc:197
msgid "Set note length to a sixty-fourth note"
msgstr "Notenwert auf Vierundsechzigstelnote setzen"
-#: step_entry.cc:275
+#: step_entry.cc:276
msgid "Set volume (velocity) to pianississimo"
msgstr "Lautstärke (velocity) auf pianississimo setzen"
-#: step_entry.cc:276
+#: step_entry.cc:277
msgid "Set volume (velocity) to pianissimo"
msgstr "Lautstärke (velocity) auf pianissimo setzen"
-#: step_entry.cc:277
+#: step_entry.cc:278
msgid "Set volume (velocity) to piano"
msgstr "Lautstärke (velocity) auf piano setzen"
-#: step_entry.cc:278
+#: step_entry.cc:279
msgid "Set volume (velocity) to mezzo-piano"
msgstr "Lautstärke (velocity) auf mezzo-piano setzen"
-#: step_entry.cc:279
+#: step_entry.cc:280
msgid "Set volume (velocity) to mezzo-forte"
msgstr "Lautstärke (velocity) auf mezzo-forte setzen"
-#: step_entry.cc:280
+#: step_entry.cc:281
msgid "Set volume (velocity) to forte"
msgstr "Lautstärke (velocity) auf forte setzen"
-#: step_entry.cc:281
+#: step_entry.cc:282
msgid "Set volume (velocity) to forteissimo"
msgstr "Lautstärke (velocity) auf fortissimo setzen"
-#: step_entry.cc:282
+#: step_entry.cc:283
msgid "Set volume (velocity) to forteississimo"
msgstr "Lautstärke (velocity) auf fortississimo setzen"
-#: step_entry.cc:330
+#: step_entry.cc:331
msgid "Stack inserted notes to form a chord"
msgstr "Einen Akkord eingeben (Noten stapeln)"
-#: step_entry.cc:331
+#: step_entry.cc:332
msgid "Extend selected notes by note length"
msgstr "Ausgewählte Noten um Notenwert verlängern"
-#: step_entry.cc:332
+#: step_entry.cc:333
msgid "Use undotted note lengths"
msgstr "Keine punktierten Notenwerte verwenden"
-#: step_entry.cc:333
+#: step_entry.cc:334
msgid "Use dotted (* 1.5) note lengths"
msgstr "Punktierte Notenwerte (* 1,5)"
-#: step_entry.cc:334
+#: step_entry.cc:335
msgid "Use double-dotted (* 1.75) note lengths"
msgstr "Doppelt punktierte Notenwerte (* 1,75)"
-#: step_entry.cc:335
+#: step_entry.cc:336
msgid "Use triple-dotted (* 1.875) note lengths"
msgstr "Dreifach punktierte Notenwerte (* 1,875)"
-#: step_entry.cc:336
+#: step_entry.cc:337
msgid "Insert a note-length's rest"
msgstr "Eine Pause einfügen"
-#: step_entry.cc:337
+#: step_entry.cc:338
msgid "Insert a grid-unit's rest"
msgstr "Eine Pause in der Länge einer Rastereinheit einfügen"
-#: step_entry.cc:338
+#: step_entry.cc:339
msgid "Insert a rest until the next beat"
msgstr "Eine Pause bis zum nächsten Schlag einfügen"
-#: step_entry.cc:339
+#: step_entry.cc:340
msgid "Insert a rest until the next bar"
msgstr "Eine Pause bis zum nächsten Takt einfügen"
-#: step_entry.cc:340
+#: step_entry.cc:341
msgid "Insert a bank change message"
msgstr "MIDI Bank Change einfügen"
-#: step_entry.cc:341
+#: step_entry.cc:342
msgid "Insert a program change message"
msgstr "MIDI Program Change einfügen"
-#: step_entry.cc:342 step_entry.cc:699
+#: step_entry.cc:343 step_entry.cc:700
msgid "Move Insert Position Back by Note Length"
msgstr "Um einen Notenwert zurück gehen"
-#: step_entry.cc:343 step_entry.cc:697
+#: step_entry.cc:344 step_entry.cc:698
msgid "Move Insert Position to Edit Point"
msgstr "Eingabepunkt zum Arbeitspunkt verschieben"
-#: step_entry.cc:400
+#: step_entry.cc:401
msgid "1/Note"
msgstr "1/Note"
-#: step_entry.cc:414
+#: step_entry.cc:415
msgid "Octave"
msgstr "Oktave"
-#: step_entry.cc:597
+#: step_entry.cc:598
msgid "Insert Note A"
msgstr "Note A Einfügen"
-#: step_entry.cc:598
+#: step_entry.cc:599
msgid "Insert Note A-sharp"
msgstr "Ais einfügen"
-#: step_entry.cc:599
+#: step_entry.cc:600
msgid "Insert Note B"
msgstr "Note H Einfügen"
-#: step_entry.cc:600
+#: step_entry.cc:601
msgid "Insert Note C"
msgstr "Note C Einfügen"
-#: step_entry.cc:601
+#: step_entry.cc:602
msgid "Insert Note C-sharp"
msgstr "Cis einfügen"
-#: step_entry.cc:602
+#: step_entry.cc:603
msgid "Insert Note D"
msgstr "Note D Einfügen"
-#: step_entry.cc:603
+#: step_entry.cc:604
msgid "Insert Note D-sharp"
msgstr "Dis einfügen"
-#: step_entry.cc:604
+#: step_entry.cc:605
msgid "Insert Note E"
msgstr "Note E Einfügen"
-#: step_entry.cc:605
+#: step_entry.cc:606
msgid "Insert Note F"
msgstr "Note F Einfügen"
-#: step_entry.cc:606
+#: step_entry.cc:607
msgid "Insert Note F-sharp"
msgstr "Fis einfügen"
-#: step_entry.cc:607
+#: step_entry.cc:608
msgid "Insert Note G"
msgstr "Note G Einfügen"
-#: step_entry.cc:608
+#: step_entry.cc:609
msgid "Insert Note G-sharp"
msgstr "Gis einfügen"
-#: step_entry.cc:610
+#: step_entry.cc:611
msgid "Insert a Note-length Rest"
msgstr "Eine Pause einfügen"
-#: step_entry.cc:611
+#: step_entry.cc:612
msgid "Insert a Snap-length Rest"
msgstr "Eine Pause in der Länge einer Rastereinheit einfügen"
-#: step_entry.cc:613 step_entry.cc:614
+#: step_entry.cc:614 step_entry.cc:615
msgid "Move to next octave"
msgstr "Zu nächster Oktave gehen"
-#: step_entry.cc:616
+#: step_entry.cc:617
msgid "Move to Next Note Length"
msgstr "Zu nächster Notenlänge gehen"
-#: step_entry.cc:617
+#: step_entry.cc:618
msgid "Move to Previous Note Length"
msgstr "Zu voriger Notenlänge gehen"
-#: step_entry.cc:619
+#: step_entry.cc:620
msgid "Increase Note Length"
msgstr "Notenwert verlängern"
-#: step_entry.cc:620
+#: step_entry.cc:621
msgid "Decrease Note Length"
msgstr "Notenwert kürzen"
-#: step_entry.cc:622
+#: step_entry.cc:623
msgid "Move to Next Note Velocity"
msgstr "Zu nächster Velocity gehen"
-#: step_entry.cc:623
+#: step_entry.cc:624
msgid "Move to Previous Note Velocity"
msgstr "Zu voriger Velocity gehen"
-#: step_entry.cc:625
+#: step_entry.cc:626
msgid "Increase Note Velocity"
msgstr "Velocity erhöhen"
-#: step_entry.cc:626
+#: step_entry.cc:627
msgid "Decrease Note Velocity"
msgstr "Velocity verringern"
-#: step_entry.cc:628
+#: step_entry.cc:629
msgid "Switch to the 1st octave"
msgstr "Zur 1. Oktave wechseln"
-#: step_entry.cc:629
+#: step_entry.cc:630
msgid "Switch to the 2nd octave"
msgstr "Zur 2. Oktave wechseln"
-#: step_entry.cc:630
+#: step_entry.cc:631
msgid "Switch to the 3rd octave"
msgstr "Zur 3. Oktave wechseln"
-#: step_entry.cc:631
+#: step_entry.cc:632
msgid "Switch to the 4th octave"
msgstr "Zur 4. Oktave wechseln"
-#: step_entry.cc:632
+#: step_entry.cc:633
msgid "Switch to the 5th octave"
msgstr "Zur 5. Oktave wechseln"
-#: step_entry.cc:633
+#: step_entry.cc:634
msgid "Switch to the 6th octave"
msgstr "Zur 6. Oktave wechseln"
-#: step_entry.cc:634
+#: step_entry.cc:635
msgid "Switch to the 7th octave"
msgstr "Zur 7. Oktave wechseln"
-#: step_entry.cc:635
+#: step_entry.cc:636
msgid "Switch to the 8th octave"
msgstr "Zur 8. Oktave wechseln"
-#: step_entry.cc:636
+#: step_entry.cc:637
msgid "Switch to the 9th octave"
msgstr "Zur 9. Oktave wechseln"
-#: step_entry.cc:637
+#: step_entry.cc:638
msgid "Switch to the 10th octave"
msgstr "Zur 10. Oktave wechseln"
-#: step_entry.cc:638
+#: step_entry.cc:639
msgid "Switch to the 11th octave"
msgstr "Zur 11. Oktave wechseln"
-#: step_entry.cc:643
+#: step_entry.cc:644
msgid "Set Note Length to Whole"
msgstr "Notenwert auf ganze Note setzen"
-#: step_entry.cc:645
+#: step_entry.cc:646
msgid "Set Note Length to 1/2"
msgstr "Notenwert auf halbe Note setzen"
-#: step_entry.cc:647
+#: step_entry.cc:648
msgid "Set Note Length to 1/3"
msgstr "Notenwert auf drittel Note setzen"
-#: step_entry.cc:649
+#: step_entry.cc:650
msgid "Set Note Length to 1/4"
msgstr "Notenwert auf Viertelnote setzen"
-#: step_entry.cc:651
+#: step_entry.cc:652
msgid "Set Note Length to 1/8"
msgstr "Notenwert auf Achtelnote setzen"
-#: step_entry.cc:653
+#: step_entry.cc:654
msgid "Set Note Length to 1/16"
msgstr "Notenwert auf Sechzehntelnote setzen"
-#: step_entry.cc:655
+#: step_entry.cc:656
msgid "Set Note Length to 1/32"
msgstr "Notenwert auf Zweiunddreißigstelnote setzen"
-#: step_entry.cc:657
+#: step_entry.cc:658
msgid "Set Note Length to 1/64"
msgstr "Notenwert auf Vierundsechzigstelnote setzen"
-#: step_entry.cc:662
+#: step_entry.cc:663
msgid "Set Note Velocity to Pianississimo"
msgstr "Lautstärke (velocity) auf pianississimo setzen"
-#: step_entry.cc:664
+#: step_entry.cc:665
msgid "Set Note Velocity to Pianissimo"
msgstr "Lautstärke (velocity) auf pianissimo setzen"
-#: step_entry.cc:666
+#: step_entry.cc:667
msgid "Set Note Velocity to Piano"
msgstr "Lautstärke (velocity) auf piano setzen"
-#: step_entry.cc:668
+#: step_entry.cc:669
msgid "Set Note Velocity to Mezzo-Piano"
msgstr "Lautstärke (velocity) auf mezzo-piano setzen"
-#: step_entry.cc:670
+#: step_entry.cc:671
msgid "Set Note Velocity to Mezzo-Forte"
msgstr "Lautstärke (velocity) auf mezzo-forte setzen"
-#: step_entry.cc:672
+#: step_entry.cc:673
msgid "Set Note Velocity to Forte"
msgstr "Lautstärke (velocity) auf forte setzen"
-#: step_entry.cc:674 step_entry.cc:676
+#: step_entry.cc:675 step_entry.cc:677
msgid "Set Note Velocity to Fortississimo"
msgstr "Lautstärke (velocity) auf fortississimo setzen"
-#: step_entry.cc:678
+#: step_entry.cc:679
msgid "Toggle Triple Notes"
msgstr "Triolen an/aus"
-#: step_entry.cc:683
+#: step_entry.cc:684
msgid "No Dotted Notes"
msgstr "Keine punktierten Noten"
-#: step_entry.cc:685
+#: step_entry.cc:686
msgid "Toggled Dotted Notes"
msgstr "Punktierte Noten an/aus"
-#: step_entry.cc:687
+#: step_entry.cc:688
msgid "Toggled Double-Dotted Notes"
msgstr "Doppelt punktierte Noten an/aus"
-#: step_entry.cc:689
+#: step_entry.cc:690
msgid "Toggled Triple-Dotted Notes"
msgstr "Punktierte Triolen an/aus"
-#: step_entry.cc:692
+#: step_entry.cc:693
msgid "Toggle Chord Entry"
msgstr "Akkordeingabe aktivieren"
-#: step_entry.cc:694
+#: step_entry.cc:695
msgid "Sustain Selected Notes by Note Length"
msgstr "Ausgewählte Noten ertönen über Notenlänge"
-#: stereo_panner.cc:108
+#: stereo_panner.cc:131
#, c-format
msgid "L:%3d R:%3d Width:%d%%"
msgstr "L:%3d R:%3d Breite:%d%%"
@@ -11997,140 +12286,164 @@ msgstr "Stereo Panner"
msgid "Width"
msgstr "Breite"
-#: strip_silence_dialog.cc:48
+#: strip_silence_dialog.cc:44
msgid "Strip Silence"
msgstr "Stille entfernen"
-#: strip_silence_dialog.cc:79
+#: strip_silence_dialog.cc:75
msgid "Minimum length"
msgstr "Mindestlänge"
-#: strip_silence_dialog.cc:87
+#: strip_silence_dialog.cc:83
msgid "Fade length"
msgstr "Fade-Länge"
-#: tempo_dialog.cc:43 tempo_dialog.cc:58
+#: tempo_dialog.cc:42 tempo_dialog.cc:58
msgid "bar:"
msgstr "Takt:"
-#: tempo_dialog.cc:44 tempo_dialog.cc:59
+#: tempo_dialog.cc:43 tempo_dialog.cc:59
msgid "beat:"
msgstr "Schlag:"
-#: tempo_dialog.cc:45 tempo_dialog.cc:60
+#: tempo_dialog.cc:44 tempo_dialog.cc:60
msgid "Pulse note"
msgstr "Pulsnote"
+#: tempo_dialog.cc:45 tempo_dialog.cc:61
+msgid "Tap tempo"
+msgstr ""
+
#: tempo_dialog.cc:55
msgid "Edit Tempo"
msgstr "Tempo bearbeiten"
-#: tempo_dialog.cc:76 tempo_dialog.cc:77 tempo_dialog.cc:282
-#: tempo_dialog.cc:283
+#: tempo_dialog.cc:77 tempo_dialog.cc:78 tempo_dialog.cc:316
+#: tempo_dialog.cc:317
msgid "whole"
msgstr "Ganze"
-#: tempo_dialog.cc:78 tempo_dialog.cc:79 tempo_dialog.cc:284
-#: tempo_dialog.cc:285
+#: tempo_dialog.cc:79 tempo_dialog.cc:80 tempo_dialog.cc:318
+#: tempo_dialog.cc:319
msgid "second"
msgstr "Halbe"
-#: tempo_dialog.cc:80 tempo_dialog.cc:81 tempo_dialog.cc:286
-#: tempo_dialog.cc:287
+#: tempo_dialog.cc:81 tempo_dialog.cc:82 tempo_dialog.cc:320
+#: tempo_dialog.cc:321
msgid "third"
msgstr "Drittel"
-#: tempo_dialog.cc:82 tempo_dialog.cc:83 tempo_dialog.cc:288
-#: tempo_dialog.cc:289
+#: tempo_dialog.cc:83 tempo_dialog.cc:84 tempo_dialog.cc:322
+#: tempo_dialog.cc:323
msgid "quarter"
msgstr "Viertel"
-#: tempo_dialog.cc:84 tempo_dialog.cc:85 tempo_dialog.cc:290
-#: tempo_dialog.cc:291
+#: tempo_dialog.cc:85 tempo_dialog.cc:86 tempo_dialog.cc:324
+#: tempo_dialog.cc:325
msgid "eighth"
msgstr "Achtel"
-#: tempo_dialog.cc:86 tempo_dialog.cc:87 tempo_dialog.cc:292
-#: tempo_dialog.cc:293
+#: tempo_dialog.cc:87 tempo_dialog.cc:88 tempo_dialog.cc:326
+#: tempo_dialog.cc:327
msgid "sixteenth"
msgstr "Sechzehntel"
-#: tempo_dialog.cc:88 tempo_dialog.cc:89 tempo_dialog.cc:294
-#: tempo_dialog.cc:295
+#: tempo_dialog.cc:89 tempo_dialog.cc:90 tempo_dialog.cc:328
+#: tempo_dialog.cc:329
msgid "thirty-second"
msgstr "Zweiunddreissigstel"
-#: tempo_dialog.cc:90 tempo_dialog.cc:91 tempo_dialog.cc:296
-#: tempo_dialog.cc:297
+#: tempo_dialog.cc:91 tempo_dialog.cc:92 tempo_dialog.cc:330
+#: tempo_dialog.cc:331
msgid "sixty-fourth"
msgstr "Vierundsechzigstelnote"
-#: tempo_dialog.cc:92 tempo_dialog.cc:93 tempo_dialog.cc:298
-#: tempo_dialog.cc:299
+#: tempo_dialog.cc:93 tempo_dialog.cc:94 tempo_dialog.cc:332
+#: tempo_dialog.cc:333
msgid "one-hundred-twenty-eighth"
msgstr "Hundertachtundzwanzigstelnote"
-#: tempo_dialog.cc:120
+#: tempo_dialog.cc:121
msgid "Beats per minute:"
msgstr "Schläge pro Minute:"
-#: tempo_dialog.cc:152
+#: tempo_dialog.cc:153
msgid "Tempo begins at"
msgstr "Tempo beginnt bei"
-#: tempo_dialog.cc:240
+#: tempo_dialog.cc:244
msgid "incomprehensible pulse note type (%1)"
msgstr "Unverständlicher Puls-Notentyp (%1)"
-#: tempo_dialog.cc:266
+#: tempo_dialog.cc:300
msgid "Edit Meter"
msgstr "Taktart bearbeiten"
-#: tempo_dialog.cc:314
+#: tempo_dialog.cc:348
msgid "Note value:"
msgstr "Notenwert:"
-#: tempo_dialog.cc:315
+#: tempo_dialog.cc:349
msgid "Beats per bar:"
msgstr "Schläge pro Takt:"
-#: tempo_dialog.cc:330
+#: tempo_dialog.cc:364
msgid "Meter begins at bar:"
msgstr "Taktart beginnt bei Takt:"
-#: tempo_dialog.cc:441
+#: tempo_dialog.cc:475
msgid "incomprehensible meter note type (%1)"
msgstr "Unverständlicher Signatur-Notentyp (%1)"
-#: theme_manager.cc:57
+#: theme_manager.cc:63
msgid "Dark Theme"
msgstr "Dunkles Thema"
-#: theme_manager.cc:58
+#: theme_manager.cc:64
msgid "Light Theme"
msgstr "Helles Thema"
-#: theme_manager.cc:59
+#: theme_manager.cc:65
msgid "Restore Defaults"
msgstr "Standards wiederherstellen"
-#: theme_manager.cc:60
+#: theme_manager.cc:66
msgid "Draw \"flat\" buttons"
msgstr "Zeichne \"flache\" Schaltflächen"
-#: theme_manager.cc:61
+#: theme_manager.cc:67
+msgid "Blink Rec-Arm buttons"
+msgstr ""
+
+#: theme_manager.cc:68
+msgid "Color regions using their track's color"
+msgstr "Färbe Regionen in der Spurfarbe ein"
+
+#: theme_manager.cc:69
+msgid "Show waveform clipping"
+msgstr "Clipping der Wellenform anzeigen"
+
+#: theme_manager.cc:71
+msgid "Waveforms color gradient depth"
+msgstr "Farbverlaufs-Intensität der Wellenform"
+
+#: theme_manager.cc:73
+msgid "Timeline item gradient depth"
+msgstr "Farbverlaufs-Intensität von Zeitleisten-Objekten "
+
+#: theme_manager.cc:74
msgid "All floating windows are dialogs"
msgstr "Alle schwebenden Fenster sind Dialoge"
-#: theme_manager.cc:62
-msgid "Draw waveforms with color gradient"
-msgstr "Zeichne Wellenformen mit Farbverlauf"
+#: theme_manager.cc:75
+msgid "Icon Set"
+msgstr ""
-#: theme_manager.cc:68
+#: theme_manager.cc:81
msgid "Object"
msgstr "Objekt"
-#: theme_manager.cc:123
+#: theme_manager.cc:180
msgid ""
"Mark all floating windows to be type \"Dialog\" rather than using \"Utility"
"\" for some.\n"
@@ -12142,17 +12455,17 @@ msgstr ""
"Dies kann bei einigen Fenstermanagern helfen. Sie müssen %1 starten, um "
"diese Option zu aktivieren"
-#: theme_manager.cc:229
+#: theme_manager.cc:286
msgid "Unable to find UI style file %1 in search path %2. %3 will look strange"
msgstr ""
"Kann den UI-Stil Datei %1 im Suchpfad %2 nicht finden. %3 wird merkwürdig "
"aussehen"
-#: time_axis_view.cc:114
+#: time_axis_view.cc:141
msgid "Track/Bus name (double click to edit)"
msgstr "Spur-/Busname (Doppelklick zum Bearbeiten)"
-#: time_axis_view_item.cc:332
+#: time_axis_view_item.cc:384
msgid "new duration %1 frame is out of bounds for %2"
msgid_plural "new duration of %1 frames is out of bounds for %2"
msgstr[0] "neue Dauer %1 Frame ist außerhalb des erlaubten Bereichs für %2"
@@ -12218,11 +12531,11 @@ msgstr "Strecken/Stauchen"
msgid "<b>Progress</b>"
msgstr "<b>Fortschritt</b>"
-#: time_info_box.cc:121
+#: time_info_box.cc:124
msgid "Start recording at auto-punch start"
msgstr "Aufnahme am Anfang des Punchbereichs starten"
-#: time_info_box.cc:122
+#: time_info_box.cc:125
msgid "Stop recording at auto-punch end"
msgstr "Aufnahme am Ende des Punchbereichs beenden"
@@ -12239,118 +12552,118 @@ msgstr "MIDI Transponieren"
msgid "Transpose"
msgstr "Transponieren"
-#: ui_config.cc:82 ui_config.cc:113
+#: ui_config.cc:95 ui_config.cc:126
msgid "Loading default ui configuration file %1"
msgstr "lade voreingestellte UI-Konfigurationsdatei %1"
-#: ui_config.cc:85 ui_config.cc:116
+#: ui_config.cc:98 ui_config.cc:129
msgid "cannot read default ui configuration file \"%1\""
msgstr "Kann die voreingestellte UI-Konfigurationsdatei \"%1\" nicht lesen"
-#: ui_config.cc:90 ui_config.cc:121
+#: ui_config.cc:103 ui_config.cc:134
msgid "default ui configuration file \"%1\" not loaded successfully."
msgstr ""
"Die voreingestellte UI-Konfigurationsdatei \"%1\" konnte nicht geladen "
"werden."
-#: ui_config.cc:134
+#: ui_config.cc:147
msgid "Loading user ui configuration file %1"
msgstr "Lade benutzerdefinierte UI-Konfigurationsdatei %1"
-#: ui_config.cc:137
+#: ui_config.cc:150
msgid "cannot read ui configuration file \"%1\""
msgstr "kann die UI-Konfigurationsdatei \"%1\" nicht lesen"
-#: ui_config.cc:142
+#: ui_config.cc:155
msgid "user ui configuration file \"%1\" not loaded successfully."
msgstr ""
"Die benutzerdefinierte UI-Konfigurationsdatei \"%1\" konnte nicht geladen "
"werden."
-#: ui_config.cc:150
+#: ui_config.cc:163
msgid "could not find any ui configuration file, canvas will look broken."
msgstr ""
"Konnte keine UI-Konfigurationsdatei finden, die Arbeitsfläche wird nicht "
"korrekt dargestellt werden."
-#: ui_config.cc:169
+#: ui_config.cc:182
msgid "Config file %1 not saved"
msgstr "Konfigurationsdatei %1 nicht gespeichert"
-#: utils.cc:111 utils.cc:154
+#: utils.cc:117 utils.cc:160
msgid "bad XPM header %1"
msgstr "Fehlerhafter XPM Header %1"
-#: utils.cc:293 utils.cc:325
+#: utils.cc:313 utils.cc:345
msgid "missing RGBA style for \"%1\""
msgstr "Fehlender RGBA Style für \"%1\""
-#: utils.cc:598
+#: utils.cc:640
msgid "cannot find XPM file for %1"
msgstr "Konnte XPM-Datei für %1 nicht finden"
-#: utils.cc:624
+#: utils.cc:660 utils.cc:687 utils.cc:698
+msgid "default"
+msgstr ""
+
+#: utils.cc:699
+msgid "icon \"%1\" not found for icon set \"%2\", fallback to default"
+msgstr ""
+
+#: utils.cc:706
msgid "cannot find icon image for %1 using %2"
msgstr "Konnte Icon-Bild für %1 unter %2 nicht finden"
-#: utils.cc:639
+#: utils.cc:723 utils.cc:739
msgid "Caught exception while loading icon named %1"
msgstr ""
"Während des Ladens des Icons mit dem Namen %1 trat ein Ausnahmefehler auf"
-#: verbose_cursor.cc:45
-msgid "VerboseCanvasCursor"
-msgstr "Ausführlicher Canvas-Cursor"
-
-#: add_video_dialog.cc:55
+#: add_video_dialog.cc:54
msgid "Set Video Track"
msgstr "Videospur-Einstellungen"
-#: add_video_dialog.cc:63
+#: add_video_dialog.cc:62
msgid "Launch External Video Monitor"
msgstr "Externen Videomonitor starten"
-#: add_video_dialog.cc:64
+#: add_video_dialog.cc:63
msgid "Adjust Session Framerate to Match Video Framerate"
msgstr "Projekt-Framerate an Video-Framerate anpassen"
-#: add_video_dialog.cc:66
+#: add_video_dialog.cc:65
msgid "Reload docroot"
msgstr "docroot neu laden"
-#: add_video_dialog.cc:111 add_video_dialog.cc:115
-msgid "VideoServerIndex"
-msgstr "VideoServerIndex"
-
-#: add_video_dialog.cc:129
+#: add_video_dialog.cc:120
msgid "Video files"
msgstr "Videodateien"
-#: add_video_dialog.cc:164
+#: add_video_dialog.cc:149
msgid "<b>Video Information</b>"
msgstr "<b>Videoinformationen</b>"
-#: add_video_dialog.cc:167
+#: add_video_dialog.cc:152
msgid "Start:"
msgstr "Start:"
-#: add_video_dialog.cc:173
+#: add_video_dialog.cc:158
msgid "Frame rate:"
msgstr "Framerate:"
-#: add_video_dialog.cc:176
+#: add_video_dialog.cc:161
msgid "Aspect Ratio:"
msgstr "Seitenverhältnis:"
-#: add_video_dialog.cc:654
+#: add_video_dialog.cc:244
+msgid "VideoServerIndex"
+msgstr "VideoServerIndex"
+
+#: add_video_dialog.cc:670
msgid " %1 fps"
msgstr " %1 fps"
-#: editor_videotimeline.cc:146
-msgid "Export Successful: %1"
-msgstr "Export erfolgreich: %1"
-
-#: video_timeline.cc:469
+#: video_timeline.cc:473
msgid ""
"Parsing video file info failed. Is the Video Server running? Is the file "
"readable by the Video Server? Does the docroot match? Is it a video file?"
@@ -12359,7 +12672,7 @@ msgstr ""
"den Videoserver lesbar? Ist die docroot passend eingestellt? Ist die Datei "
"tatsächlich eine Videodatei?"
-#: video_timeline.cc:507
+#: video_timeline.cc:511
msgid ""
"Failed to set session-framerate: '%1' does not have a corresponding option "
"setting in %2."
@@ -12367,7 +12680,7 @@ msgstr ""
"Setzen der Projektframerate fehlgeschlagen: '%1' hat keine entsprechende "
"Einstellungsoption in %2."
-#: video_timeline.cc:515
+#: video_timeline.cc:519
msgid ""
"Video file's framerate is not equal to %1 session timecode's framerate: '%2' "
"vs '%3'"
@@ -12375,34 +12688,41 @@ msgstr ""
"Framerate der Videodatei entspricht nicht der Framerate des Timecodes im %1-"
"Projekt: '%2' vs. '%3'"
-#: video_timeline.cc:588
+#: video_timeline.cc:592
msgid ""
"Video-server docroot mismatch. %1: '%2', video-server: '%3'. This usually "
-"means that the video server was not started by ardour and uses a different "
+"means that the video server was not started by %1 and uses a different "
"document-root."
msgstr ""
-"MDocroot des Videoserver stimmt nicht überein. %1: '%2', Videoserver: '%3'. "
-"Das bedeutet üblicherweise, dass der Videoserver nicht von Ardour gestartet "
+"Docroot des Videoserver stimmt nicht überein. %1: '%2', Videoserver: '%3'. "
+"Das bedeutet üblicherweise, dass der Videoserver nicht von %1 gestartet "
"wurde und einen anderen Dokumenten-Wurzelpfad verwendet."
-#: video_timeline.cc:737
+#: video_timeline.cc:768
msgid ""
"Video-monitor 'xjadeo' was not found. Please install http://xjadeo.sf.net/ "
"(a custom path to xjadeo can be specified by setting the XJREMOTE "
"environment variable. It should point to an application compatible with "
-"xjadeo's remote-control interface 'xjremote')."
+"xjadeo's remote-control interface 'xjremote').\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-"Der Videomonitor 'xjadeo' wurde nicht gefunden. Bitte installieren Sie "
-"http://xjadeo.sf.net/ (ein benutzerspezifischer Pfad für xjadeo kann durch "
-"Setzen der Umgebungsvariablen XJREMOTE angegeben werden. Er sollte auf ein "
-"Programm zeigen, das zu dem Fernsteuerungsprotokoll 'xjremote' von xjadeo "
-"kompatibel ist)."
-#: video_monitor.cc:281
+#: video_timeline.cc:782
+msgid "Video-monitor 'xjadeo' cannot be launched."
+msgstr ""
+
+#: video_timeline.cc:809
+msgid ""
+"Video-monitor 'xjadeo' is too old. Please install xjadeo version 0.7.7 or "
+"later. http://xjadeo.sf.net/"
+msgstr ""
+
+#: video_monitor.cc:285
msgid "Video Monitor: File Not Found."
msgstr "Videomonitor: Datei nicht gefunden."
-#: transcode_ffmpeg.cc:73
+#: transcode_ffmpeg.cc:126
msgid ""
"No ffprobe or ffmpeg executables could be found on this system.\n"
"Video import and export is not possible until you install those tools.\n"
@@ -12416,51 +12736,39 @@ msgid ""
"If you already have a suitable ffmpeg installation on your system, we "
"recommend creating symbolic links from ffmpeg to ffmpeg_harvid and from "
"ffprobe to ffprobe_harvid.\n"
-msgstr ""
-"Die Programme ffprobe oder ffmpeg konnten auf diesem System nicht gefunden "
-"werden.\n"
-"Bis diese Werkzeuge installiert sind, ist Videoexport nicht möglich.\n"
-"%1 benötigt ffmpeg und ffprobe von ffmpeg.org in der Version 1.1 oder "
-"neuer.\n"
-"\n"
-"Diese Werkzeuge sind in den %1-Paketen von ardour.org inkludiert und auch "
-"mit dem Videoserver auf http://x42.github.com/harvid/ erhältlich.\n"
"\n"
-"Wichtig: die Dateien müssen in $PATH installiert sein und die Namen "
-"ffmpeg_harvid und ffprobe_harvid.\n"
-"Falls Sie bereits eine ffmpeg Installation auf Ihrem System haben, empfehlen "
-"wir, symbolische Links von ffmpeg zu ffmpeg_harvid und von ffprobe zu "
-"ffprobe_harvid anzulegen.\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
+msgstr ""
-#: transcode_video_dialog.cc:55
+#: transcode_video_dialog.cc:56
msgid "Transcode/Import Video File "
msgstr "Videodatei transkodieren/importieren"
-#: transcode_video_dialog.cc:57
+#: transcode_video_dialog.cc:58
msgid "Output File:"
msgstr "Ausgabedatei:"
-#: transcode_video_dialog.cc:60 export_video_dialog.cc:72
+#: transcode_video_dialog.cc:61 export_video_dialog.cc:73
msgid "Abort"
msgstr "Abbruch"
-#: transcode_video_dialog.cc:62
+#: transcode_video_dialog.cc:63
msgid "Height = "
msgstr "Höhe ="
-#: transcode_video_dialog.cc:65
+#: transcode_video_dialog.cc:66
msgid "Manual Override"
msgstr "Manuelle Eingabe"
-#: transcode_video_dialog.cc:69 export_video_dialog.cc:88
+#: transcode_video_dialog.cc:70 export_video_dialog.cc:89
msgid "Debug Mode: Print ffmpeg command and output to stdout."
msgstr "Debug-Modus: gibt die ffmpeg-Befehlszeile und -Ausgabe an stdout aus."
-#: transcode_video_dialog.cc:106
+#: transcode_video_dialog.cc:107
msgid "<b>File Information</b>"
msgstr "<b>Dateiinformationen</b>"
-#: transcode_video_dialog.cc:112
+#: transcode_video_dialog.cc:113
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Import "
"is not possible until you install those tools. See the Log window for more "
@@ -12470,7 +12778,7 @@ msgstr ""
"werden. Bis diese Werkzeuge installiert sind, ist Videoimport nicht möglich. "
"Sehen Sie im Log-Fenster nach weiteren Informationen."
-#: transcode_video_dialog.cc:119
+#: transcode_video_dialog.cc:120
msgid ""
"File-info can not be read. Most likely '%1' is not a valid video-file or an "
"unsupported video codec or format."
@@ -12479,130 +12787,141 @@ msgstr ""
"gültige Videodatei, oder enthält einen nicht unterstützten Videocodec bzw. "
"ein nicht unterstütztes Videoformat."
-#: transcode_video_dialog.cc:133
+#: transcode_video_dialog.cc:134
msgid "FPS:"
msgstr "FPS:"
-#: transcode_video_dialog.cc:135
+#: transcode_video_dialog.cc:136
msgid "Duration:"
msgstr "Dauer:"
-#: transcode_video_dialog.cc:137
+#: transcode_video_dialog.cc:138
msgid "Codec:"
msgstr "Codec:"
-#: transcode_video_dialog.cc:139
+#: transcode_video_dialog.cc:140
msgid "Geometry:"
msgstr "Geometrie:"
-#: transcode_video_dialog.cc:154
+#: transcode_video_dialog.cc:155
msgid "??"
msgstr "??"
-#: transcode_video_dialog.cc:175
+#: transcode_video_dialog.cc:176
msgid "<b>Import Settings</b>"
msgstr "<b>Importeinstellungen</b>"
-#: transcode_video_dialog.cc:180
-msgid "Do Not Import Video"
-msgstr "Video nicht importieren"
-
#: transcode_video_dialog.cc:181
-msgid "Reference From Current Location"
-msgstr "Referenz von momentaner Position"
+msgid "Reference From Current Location (Previously Transcoded Files Only)"
+msgstr ""
#: transcode_video_dialog.cc:183
msgid "Import/Transcode Video to Session"
msgstr "Video ins Projekt transkodieren/importieren"
-#: transcode_video_dialog.cc:197
+#: transcode_video_dialog.cc:191
+msgid "Do Not Import Video (Audio Import Only)"
+msgstr ""
+
+#: transcode_video_dialog.cc:200
msgid "Scale Video: Width = "
msgstr "Video skalieren: Breite = "
-#: transcode_video_dialog.cc:204
+#: transcode_video_dialog.cc:207
msgid "Original Width"
msgstr "Originalbreite"
-#: transcode_video_dialog.cc:219
+#: transcode_video_dialog.cc:222
msgid "Bitrate (KBit/s):"
msgstr "Bitrate (KBit/s):"
-#: transcode_video_dialog.cc:224
+#: transcode_video_dialog.cc:227
msgid "Extract Audio:"
msgstr "Audio extrahieren:"
-#: transcode_video_dialog.cc:344
+#: transcode_video_dialog.cc:232
+msgid "No Audio Track Present"
+msgstr ""
+
+#: transcode_video_dialog.cc:235
+msgid "Do Not Extract Audio"
+msgstr ""
+
+#: transcode_video_dialog.cc:350
msgid "Extracting Audio.."
msgstr "Extrahiere Audio..."
-#: transcode_video_dialog.cc:347
+#: transcode_video_dialog.cc:353
msgid "Audio Extraction Failed."
msgstr "Extrahieren des Audio gescheitert."
-#: transcode_video_dialog.cc:373
+#: transcode_video_dialog.cc:379
msgid "Transcoding Video.."
msgstr "Transkodiere Video.."
-#: transcode_video_dialog.cc:407
+#: transcode_video_dialog.cc:413
msgid "Transcoding Failed."
msgstr "Transkodieren gescheitert"
-#: transcode_video_dialog.cc:490
+#: transcode_video_dialog.cc:503
msgid "Save Transcoded Video File"
msgstr "Sichere transkodierte Videodatei"
-#: video_server_dialog.cc:43
+#: video_server_dialog.cc:57
msgid "Launch Video Server"
msgstr "Video-Server starten"
-#: video_server_dialog.cc:44
+#: video_server_dialog.cc:58
msgid "Server Executable:"
msgstr "Server-Datei:"
-#: video_server_dialog.cc:46
+#: video_server_dialog.cc:60
msgid "Server Docroot:"
msgstr "Server Docroot:"
-#: video_server_dialog.cc:52
+#: video_server_dialog.cc:66
msgid "Don't show this dialog again. (Reset in Edit->Preferences)."
msgstr ""
"Diesen Dialog nicht mehr anzeigen (kann in Einstellungen geändert werden)."
-#: video_server_dialog.cc:92
+#: video_server_dialog.cc:126
msgid ""
-"The external video server 'harvid' can not be found. The tool is included "
-"with the %1 releases from ardour.org, alternatively you can download it from "
-"http://x42.github.com/harvid/ or acquire it from your distribution."
+"The external video server 'harvid' can not be found.\n"
+"The tool is included with the %1 releases from ardour.org, alternatively you "
+"can download it from http://x42.github.com/harvid/ or acquire it from your "
+"distribution.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-"Der externe Videoserver \"harvid\" kann nicht gefunden werden. Das Werkzeug "
-"ist in den %1-Paketen von ardour.org inkludiert, aber Sie können es "
-"alternativ auch von http://x42.github.com/harvid/ herunterladen oder über "
-"das Paketmanagement Ihrer Distribution beziehen."
-#: video_server_dialog.cc:120
+#: video_server_dialog.cc:159
msgid "Listen Address:"
msgstr "Eingehende Adresse:"
-#: video_server_dialog.cc:125
+#: video_server_dialog.cc:164
msgid "Listen Port:"
msgstr "Eingehender Port:"
-#: video_server_dialog.cc:130
+#: video_server_dialog.cc:169
msgid "Cache Size:"
msgstr "Cachegröße"
-#: video_server_dialog.cc:136
+#: video_server_dialog.cc:175
msgid ""
"%1 relies on an external video server for the videotimeline.\n"
"The server configured in Edit -> Preferences -> Video is not reachable.\n"
"Do you want %1 to launch 'harvid' on this machine?"
msgstr ""
+"%1 benötigt einen externen Videoserver für die Video-Zeitleiste.\n"
+"Der in Bearbeiten -> Globale Einstellungen -> Video konfigurierte Server ist "
+"nicht erreichbar.\n"
+"Möchten Sie, daß %1 \"harvid\" auf diesem Computer startet?"
-#: video_server_dialog.cc:176
+#: video_server_dialog.cc:215
msgid "Set Video Server Executable"
msgstr "Setze Video-Serverpfad"
-#: video_server_dialog.cc:196
+#: video_server_dialog.cc:235
msgid "Server docroot"
msgstr "Server-docroot"
@@ -12636,51 +12955,51 @@ msgstr ""
msgid "Cannot create video folder \"%1\" (%2)"
msgstr "Kann Videoordner \"%1\" nicht erstellen (%2)"
-#: export_video_dialog.cc:65
+#: export_video_dialog.cc:66
msgid "Export Video File "
msgstr "Exportiere Videodatei"
-#: export_video_dialog.cc:69
+#: export_video_dialog.cc:70
msgid "Video:"
msgstr "Video:"
-#: export_video_dialog.cc:73
+#: export_video_dialog.cc:74
msgid "Scale Video (W x H):"
msgstr "Skaliere Video (W x H):"
-#: export_video_dialog.cc:78
+#: export_video_dialog.cc:79
msgid "Set Aspect Ratio:"
msgstr "Seitenverhältnis:"
-#: export_video_dialog.cc:79
+#: export_video_dialog.cc:80
msgid "Normalize Audio"
msgstr "Audio normalisieren"
-#: export_video_dialog.cc:80
+#: export_video_dialog.cc:81
msgid "2 Pass Encoding"
msgstr "Enkodiere in 2 Durchgängen"
-#: export_video_dialog.cc:81
+#: export_video_dialog.cc:82
msgid "Codec Optimizations:"
msgstr "Codec-Optimierungen:"
-#: export_video_dialog.cc:83
+#: export_video_dialog.cc:84
msgid "Deinterlace"
msgstr "Deinterlacing anwenden"
-#: export_video_dialog.cc:84
+#: export_video_dialog.cc:85
msgid "Use [2] B-frames (MPEG 2 or 4 only)"
msgstr "Verwende [2] B-frames (nur MPEG 2 oder 4)"
-#: export_video_dialog.cc:85
+#: export_video_dialog.cc:86
msgid "Override FPS (Default is to retain FPS from the input video file):"
msgstr "FPS erzwingen (Voreinstellung: FPS der Videodatei wird beibehalten):"
-#: export_video_dialog.cc:86
+#: export_video_dialog.cc:87
msgid "Include Session Metadata"
msgstr "Projekt-Metadaten verwenden"
-#: export_video_dialog.cc:106
+#: export_video_dialog.cc:107
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Export "
"is not possible until you install those tools. See the Log window for more "
@@ -12690,83 +13009,83 @@ msgstr ""
"werden. Bis diese Werkzeuge installiert sind, ist Videoexport nicht möglich. "
"Sehen Sie im Log-Fenster nach weiteren Informationen."
-#: export_video_dialog.cc:116
+#: export_video_dialog.cc:117
msgid "<b>Output:</b>"
msgstr "<b>Ausgang:</b>"
-#: export_video_dialog.cc:126
+#: export_video_dialog.cc:127
msgid "<b>Input:</b>"
msgstr "<b>Eingang:</b>"
-#: export_video_dialog.cc:137
+#: export_video_dialog.cc:138
msgid "Audio:"
msgstr "Audio:"
-#: export_video_dialog.cc:139
+#: export_video_dialog.cc:140
msgid "Master Bus"
msgstr "Masterbus"
-#: export_video_dialog.cc:144
+#: export_video_dialog.cc:145
msgid "from the %1 session's start to the session's end"
msgstr "von %1 Projektbeginn bis -ende"
-#: export_video_dialog.cc:148
+#: export_video_dialog.cc:149
msgid "from 00:00:00:00 to the video's end"
msgstr "von 00:00:00:00 bis Videoende"
-#: export_video_dialog.cc:150
+#: export_video_dialog.cc:151
msgid "from the video's start to the video's end"
msgstr "von Videostart bis Videoende"
-#: export_video_dialog.cc:153
+#: export_video_dialog.cc:154
msgid "Selected range"
msgstr "Ausgewählter Bereich"
-#: export_video_dialog.cc:193
+#: export_video_dialog.cc:194
msgid "<b>Settings:</b>"
msgstr "<b>Einstellungen:</b>"
-#: export_video_dialog.cc:201
+#: export_video_dialog.cc:202
msgid "Range:"
msgstr "Bereich:"
-#: export_video_dialog.cc:204
+#: export_video_dialog.cc:205
msgid "Preset:"
msgstr "Preset:"
-#: export_video_dialog.cc:207
+#: export_video_dialog.cc:208
msgid "Video Codec:"
msgstr "Videocodec:"
-#: export_video_dialog.cc:210
+#: export_video_dialog.cc:211
msgid "Video KBit/s:"
msgstr "Video KBit/s:"
-#: export_video_dialog.cc:213
+#: export_video_dialog.cc:214
msgid "Audio Codec:"
msgstr "Audiocodec:"
-#: export_video_dialog.cc:216
+#: export_video_dialog.cc:217
msgid "Audio KBit/s:"
msgstr "Audio KBit/s:"
-#: export_video_dialog.cc:219
+#: export_video_dialog.cc:220
msgid "Audio Samplerate:"
msgstr "Audiosamplerate:"
-#: export_video_dialog.cc:395
+#: export_video_dialog.cc:396
msgid "Normalizing audio"
msgstr "Audio normalisieren"
-#: export_video_dialog.cc:399
+#: export_video_dialog.cc:400
msgid "Exporting audio"
msgstr "Exportiere Audio"
-#: export_video_dialog.cc:445
+#: export_video_dialog.cc:446
msgid "Exporting Audio..."
msgstr "Exportiere Audio..."
-#: export_video_dialog.cc:502
+#: export_video_dialog.cc:503
msgid ""
"Export Video: Cannot query duration of video-file, using duration from "
"timeline instead."
@@ -12774,55 +13093,55 @@ msgstr ""
"Exportiere Video: Kann die Dauer der Videodatei nicht eruieren, verwende "
"statt dessen die Dauer aus der Zeitleiste."
-#: export_video_dialog.cc:532
+#: export_video_dialog.cc:533
msgid "Export Video: export-range does not include video."
-msgstr ""
+msgstr "Video Export: Exportbereich enthält kein Video."
-#: export_video_dialog.cc:544
+#: export_video_dialog.cc:545
msgid "Export Video: No Master Out Ports to Connect for Audio Export"
msgstr ""
"Exportiere Video: Keine Master-Ausgangsports zum Verbinden für den "
"Audioexport"
-#: export_video_dialog.cc:583
+#: export_video_dialog.cc:585
msgid "Encoding Video..."
msgstr "Enkodiere Video..."
-#: export_video_dialog.cc:602
+#: export_video_dialog.cc:604
msgid "Export Video: Video input file cannot be read."
msgstr "Exportiere Video: Die Videoquelldatei kann nicht gelesen werden."
-#: export_video_dialog.cc:695
+#: export_video_dialog.cc:698
msgid "Encoding Video.. Pass 1/2"
msgstr "Kodiere Video.. Durchgang 1/2"
-#: export_video_dialog.cc:707
+#: export_video_dialog.cc:710
msgid "Encoding Video.. Pass 2/2"
msgstr "Kodiere Video.. Durchgang 2/2"
-#: export_video_dialog.cc:814
+#: export_video_dialog.cc:813
msgid "Transcoding failed."
msgstr "Transkodieren fehlgeschlagen."
-#: export_video_dialog.cc:983 export_video_dialog.cc:1003
+#: export_video_dialog.cc:982 export_video_dialog.cc:1002
msgid "Save Exported Video File"
msgstr "Sichere exportierte Videodatei"
-#: export_video_infobox.cc:30
+#: export_video_infobox.cc:33
msgid "Video Export Info"
msgstr "Video-Exportinformationen"
-#: export_video_infobox.cc:31
+#: export_video_infobox.cc:34
msgid "Do Not Show This Dialog Again (Reset in Edit > Preferences > Video)."
msgstr ""
"Diesen Dialog nicht wieder anzeigen (kann in Bearbeiten > Globale "
"Einstellungen > Video zurückgesetzt werden)."
-#: export_video_infobox.cc:43
+#: export_video_infobox.cc:46
msgid "<b>Video Export Info</b>"
msgstr "<b>Videoexport Informationen</b>"
-#: export_video_infobox.cc:48
+#: export_video_infobox.cc:51
msgid ""
"Video encoding is a non-trivial task with many details.\n"
"\n"
@@ -12837,6 +13156,484 @@ msgstr ""
"\n"
"Handbuch im Browser öffnen? "
+#~ msgid "badly formatted UI definition file: %1"
+#~ msgstr "die UI Definitionsdatei %1 ist falsch formatiert"
+
+#~ msgid "%1 will not work without a valid ardour.menus file"
+#~ msgstr "%1 benötigt eine gültige ardour.menus Datei"
+
+#~ msgid "audition"
+#~ msgstr "Vorhören"
+
+#~ msgid "solo"
+#~ msgstr "Solo"
+
+#~ msgid "feedback"
+#~ msgstr "Feedback"
+
+#~ msgid "Please wait while %1 cleans up..."
+#~ msgstr "Bitte warten Sie, während %1 aufräumt."
+
+#~ msgid ""
+#~ "There are insufficient JACK ports available\n"
+#~ "to create a new track or bus.\n"
+#~ "You should save %1, exit and\n"
+#~ "restart JACK with more ports."
+#~ msgstr ""
+#~ "Es sind nicht genügend JACK Ports verfügbar,\n"
+#~ "um neue Spuren oder Busse zu erstellen.\n"
+#~ "Speichern Sie Ihr Projekt, beenden Sie\n"
+#~ "%1 und starten Sie JACK mit einer größeren\n"
+#~ "Anzahl Ports neu."
+
+#~ msgid "Reset Level Meter"
+#~ msgstr "Lautstärkepegelanzeige zurücksetzen"
+
+#~ msgid "Timecode Frames"
+#~ msgstr "Timecode-Frames"
+
+#~ msgid "Timecode Seconds"
+#~ msgstr "Timecode-Sekunden"
+
+#~ msgid "Timecode Minutes"
+#~ msgstr "Timecode-Minuten"
+
+#~ msgid ""
+#~ "programming error: fade in canvas item has no regionview data pointer!"
+#~ msgstr ""
+#~ "Programmierfehler: fade in canvas item has no regionview data pointer!"
+
+#~ msgid "Slowest"
+#~ msgstr "Sehr langsam"
+
+#~ msgid "Finish Add Range"
+#~ msgstr "Bereich hinzufügen beenden"
+
+#~ msgid "Toggle Edit Mode"
+#~ msgstr "Bearbeitungsmodus ändern"
+
+#~ msgid "No Selection = All Tracks?"
+#~ msgstr "Keine Auswahl = Alle Spuren?"
+
+#~ msgid ""
+#~ "Activate this button to operate on all tracks when none are selected."
+#~ msgstr ""
+#~ "Wenn aktiviert, werden bei fehlender Spurauswahl alle Spuren bearbeitet."
+
+#~ msgid "insert dragged region"
+#~ msgstr "Region ziehen"
+
+#~ msgid " objects"
+#~ msgstr "Objekte"
+
+#~ msgid "Length of region fade-out (units: secondary clock), () if dsisabled"
+#~ msgstr "Länge des Ausblendens (Einheiten: sekundäre Uhr), () falls inaktiv"
+
+#~ msgid "No edit range defined"
+#~ msgstr "Kein Editierbereich definiert"
+
+#~ msgid ""
+#~ "the edit point is Selected Marker\n"
+#~ "but there is no selected marker."
+#~ msgstr ""
+#~ "der Arbeitspunkt ist der gewählte Positionsmarker,\n"
+#~ "es ist aber kein Positionsmarker ausgewählt."
+
+#~ msgid "Calibrate..."
+#~ msgstr "Kalibrieren..."
+
+#~ msgid "Refresh list"
+#~ msgstr "Liste auffrischen"
+
+#~ msgid "MIDI Inputs"
+#~ msgstr "MIDI Eingänge"
+
+#~ msgid "MIDI Outputs"
+#~ msgstr "MIDI Ausgänge"
+
+#~ msgid "Detected roundtrip latency: %1"
+#~ msgstr "Gemessene Latenz (roundtrip): %1"
+
+#~ msgid "Time span and channel options"
+#~ msgstr "Zeitspannen- und Kanaloptionen"
+
+#~ msgid "Lower limit of ruler"
+#~ msgstr "Untere Grenze des Lineals"
+
+#~ msgid "Upper"
+#~ msgstr "Obergrenze"
+
+#~ msgid "Upper limit of ruler"
+#~ msgstr "Obere Grenze für das Lineal"
+
+#~ msgid "Position of mark on the ruler"
+#~ msgstr "Position der Markierung auf dem Lineal"
+
+#~ msgid "Max Size"
+#~ msgstr "Maximale Größe"
+
+#~ msgid "Maximum size of the ruler"
+#~ msgstr "Minimal Größe des Lineals"
+
+#~ msgid "Show Position"
+#~ msgstr "Zeige Position"
+
+#~ msgid "Draw current ruler position"
+#~ msgstr "Zeige aktuelle Position des Lineals"
+
+#~ msgid "cannot create user %3 folder %1 (%2)"
+#~ msgstr "Kann benutzerspezifischen %3-Ordner %1 nicht erstellen: %2"
+
+#~ msgid "cannot open pango.rc file %1"
+#~ msgstr "kann die Datei pango.rc nicht öffnen %1"
+
+#~ msgid "Cannot find ArdourMono TrueType font"
+#~ msgstr "Kann den TrueType-Font ArdourMono nicht finden"
+
+#~ msgid "Cannot load ArdourMono TrueType font."
+#~ msgstr "Kann den TrueType-Font ArdourMono nicht laden."
+
+#~ msgid ""
+#~ "No fontconfig file found on your system. Things may looked very odd or "
+#~ "ugly"
+#~ msgstr ""
+#~ "Keine fontconfig-Datei auf Ihrem System gefunden. Das kann zu seltsamem "
+#~ "oder hässlichem Aussehen führen"
+
+#~ msgid "Failed to set fontconfig configuration."
+#~ msgstr "Fontconfig-Konfiguration gescheitert."
+
+#~ msgid "Missing File!"
+#~ msgstr "Fehlende Datei!"
+
+#~ msgid "tupni"
+#~ msgstr "tupni"
+
+#~ msgid "lock"
+#~ msgstr "lock"
+
+#~ msgid "iso"
+#~ msgstr "iso"
+
+#~ msgid "Meter Point"
+#~ msgstr "Abgreifpunkt der Pegelanzeige"
+
+#~ msgid ""
+#~ "Aux\n"
+#~ "Sends"
+#~ msgstr ""
+#~ "Aux\n"
+#~ "Sends"
+
+#~ msgid "in"
+#~ msgstr "in"
+
+#~ msgid "post"
+#~ msgstr "Post"
+
+#~ msgid "out"
+#~ msgstr "out"
+
+#~ msgid "custom"
+#~ msgstr "Benutzerdefiniert"
+
+#~ msgid "pr"
+#~ msgstr "Pre"
+
+#~ msgid "po"
+#~ msgstr "Po"
+
+#~ msgid "o"
+#~ msgstr "an"
+
+#~ msgid "c"
+#~ msgstr "c"
+
+#~ msgid "i"
+#~ msgstr "i"
+
+#~ msgid "Pre-fader"
+#~ msgstr "Pre-Fader"
+
+#~ msgid "Post-fader"
+#~ msgstr "Post-Fader"
+
+#~ msgid "soloing"
+#~ msgstr "Solo an"
+
+#~ msgid "isolated"
+#~ msgstr "isoliert"
+
+#~ msgid "auditioning"
+#~ msgstr "vorhören"
+
+#~ msgid "excl. solo"
+#~ msgstr "excl. solo"
+
+#~ msgid "solo » mute"
+#~ msgstr "solo » mute"
+
+#~ msgid "mute"
+#~ msgstr "mute"
+
+#~ msgid "dim"
+#~ msgstr "dim"
+
+#~ msgid "mono"
+#~ msgstr "Mono"
+
+#~ msgid "send LTC while stopped"
+#~ msgstr "LTC senden, wenn Transport steht"
+
+#~ msgid "Link selection of regions and tracks"
+#~ msgstr "Auswahl von Spuren und Regionen verknüpfen"
+
+#~ msgid "update transport clock display every 40ms instead of every 100ms"
+#~ msgstr "Auffrischen der Transport-Zeitanzeige alle 40ms statt 100ms"
+
+#~ msgid ""
+#~ "A route group of this name already exists. Please use a different name."
+#~ msgstr ""
+#~ "Es gibt bereits eine Bearbeitungsgruppe mit diesem Namen. Bitte wahlen "
+#~ "Sie einen anderen."
+
+#~ msgid "g"
+#~ msgstr "g"
+
+#~ msgid "p"
+#~ msgstr "w"
+
+#~ msgid "a"
+#~ msgstr "a"
+
+#~ msgid "s"
+#~ msgstr "s"
+
+#~ msgid "m"
+#~ msgstr "m"
+
+#~ msgid "Not connected to JACK - cannot engage record"
+#~ msgstr "Nicht mit JACK verbunden - konnte die Aufnahme nicht starten"
+
+#~ msgid ""
+#~ "Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless in JACK-"
+#~ "sync)."
+#~ msgstr ""
+#~ "Wende Pull-Up/Down auf Videozeitleiste und Videomonitor an (ausser bei "
+#~ "JACK-sync)."
+
+#~ msgid "Default crossfade type"
+#~ msgstr "Voreingestellte Ãœberblend-Art"
+
+#~ msgid "Constant power (-3dB) crossfade"
+#~ msgstr "Ãœberblendung mit konstanter Energie (-3dB)"
+
+#~ msgid "Linear (-6dB) crossfade"
+#~ msgstr "Lineare (-6dB) Ãœberblendung"
+
+#~ msgid "VerboseCanvasCursor"
+#~ msgstr "Ausführlicher Canvas-Cursor"
+
+#~ msgid ""
+#~ "Video-monitor 'xjadeo' was not found. Please install http://xjadeo.sf."
+#~ "net/ (a custom path to xjadeo can be specified by setting the XJREMOTE "
+#~ "environment variable. It should point to an application compatible with "
+#~ "xjadeo's remote-control interface 'xjremote')."
+#~ msgstr ""
+#~ "Der Videomonitor 'xjadeo' wurde nicht gefunden. Bitte installieren Sie "
+#~ "http://xjadeo.sf.net/ (ein benutzerspezifischer Pfad für xjadeo kann "
+#~ "durch Setzen der Umgebungsvariablen XJREMOTE angegeben werden. Er sollte "
+#~ "auf ein Programm zeigen, das zu dem Fernsteuerungsprotokoll 'xjremote' "
+#~ "von xjadeo kompatibel ist)."
+
+#~ msgid ""
+#~ "No ffprobe or ffmpeg executables could be found on this system.\n"
+#~ "Video import and export is not possible until you install those tools.\n"
+#~ "%1 requires ffmpeg and ffprobe from ffmpeg.org - version 1.1 or newer.\n"
+#~ "\n"
+#~ "The tools are included with the %1 releases from ardour.org and also "
+#~ "available with the video-server at http://x42.github.com/harvid/\n"
+#~ "\n"
+#~ "Important: the files need to be installed in $PATH and named "
+#~ "ffmpeg_harvid and ffprobe_harvid.\n"
+#~ "If you already have a suitable ffmpeg installation on your system, we "
+#~ "recommend creating symbolic links from ffmpeg to ffmpeg_harvid and from "
+#~ "ffprobe to ffprobe_harvid.\n"
+#~ msgstr ""
+#~ "Die Programme ffprobe oder ffmpeg konnten auf diesem System nicht "
+#~ "gefunden werden.\n"
+#~ "Bis diese Werkzeuge installiert sind, ist Videoexport nicht möglich.\n"
+#~ "%1 benötigt ffmpeg und ffprobe von ffmpeg.org in der Version 1.1 oder "
+#~ "neuer.\n"
+#~ "\n"
+#~ "Diese Werkzeuge sind in den %1-Paketen von ardour.org inkludiert und auch "
+#~ "mit dem Videoserver auf http://x42.github.com/harvid/ erhältlich.\n"
+#~ "\n"
+#~ "Wichtig: die Dateien müssen in $PATH installiert sein und die Namen "
+#~ "ffmpeg_harvid und ffprobe_harvid.\n"
+#~ "Falls Sie bereits eine ffmpeg Installation auf Ihrem System haben, "
+#~ "empfehlen wir, symbolische Links von ffmpeg zu ffmpeg_harvid und von "
+#~ "ffprobe zu ffprobe_harvid anzulegen.\n"
+
+#~ msgid "Do Not Import Video"
+#~ msgstr "Video nicht importieren"
+
+#~ msgid "Reference From Current Location"
+#~ msgstr "Referenz von momentaner Position"
+
+#~ msgid ""
+#~ "The external video server 'harvid' can not be found. The tool is included "
+#~ "with the %1 releases from ardour.org, alternatively you can download it "
+#~ "from http://x42.github.com/harvid/ or acquire it from your distribution."
+#~ msgstr ""
+#~ "Der externe Videoserver \"harvid\" kann nicht gefunden werden. Das "
+#~ "Werkzeug ist in den %1-Paketen von ardour.org inkludiert, aber Sie können "
+#~ "es alternativ auch von http://x42.github.com/harvid/ herunterladen oder "
+#~ "über das Paketmanagement Ihrer Distribution beziehen."
+
+#~ msgid ""
+#~ "Video-Server was not launched by Ardour. The request to stop it is "
+#~ "ignored."
+#~ msgstr ""
+#~ "Der Video-Server wurde nicht von Ardour gestartet, der Befehl ihn "
+#~ "anzuhalten wird ignoriert."
+
+#~ msgid "ardour"
+#~ msgstr "Ardour"
+
+#~ msgid ""
+#~ "The remote control ID of %5 is: %2\n"
+#~ "\n"
+#~ "\n"
+#~ "Remote Control IDs are currently determined by track/bus ordering in "
+#~ "Ardour.\n"
+#~ "\n"
+#~ "%3Use the User Interaction tab of the Preferences window if you want to "
+#~ "change this%4"
+#~ msgstr ""
+#~ "Die Fernbedienungs-ID von %5 ist: %2\n"
+#~ "\n"
+#~ "\n"
+#~ "Fernbedienungs-IDs werden zur Zeit durch die Reihenfolge der Spuren/Busse "
+#~ "in Ardour bestimmt\n"
+#~ "\n"
+#~ "%3Benutzen Sie den Reiter GUI im Fenster \"Einstellungen\", um dies zu "
+#~ "ändern%4"
+
+#~ msgid ""
+#~ "Video-server docroot mismatch. %1: '%2', video-server: '%3'. This usually "
+#~ "means that the video server was not started by ardour and uses a "
+#~ "different document-root."
+#~ msgstr ""
+#~ "MDocroot des Videoserver stimmt nicht überein. %1: '%2', Videoserver: "
+#~ "'%3'. Das bedeutet üblicherweise, dass der Videoserver nicht von Ardour "
+#~ "gestartet wurde und einen anderen Dokumenten-Wurzelpfad verwendet."
+
+#~ msgid "x1"
+#~ msgstr "x1"
+
+#~ msgid "x coordinate of upper left corner of rect"
+#~ msgstr "X-Koordinate der oberen linken Ecke des Rechtecks"
+
+#~ msgid "y1"
+#~ msgstr "y1"
+
+#~ msgid "y coordinate of upper left corner of rect "
+#~ msgstr "Y-Koordinate der oberen linken Ecke des Rechtecks"
+
+#~ msgid "x2"
+#~ msgstr "x2"
+
+#~ msgid "x coordinate of lower right corner of rect"
+#~ msgstr "X-Koordinate der unteren rechten Ecke des Rechtecks"
+
+#~ msgid "y2"
+#~ msgstr "y2"
+
+#~ msgid "y coordinate of lower right corner of rect "
+#~ msgstr "Y-Koordinate der unteren rechten Ecke des Rechtecks"
+
+#~ msgid "color rgba"
+#~ msgstr "RGBA-Farbe"
+
+#~ msgid "color of line"
+#~ msgstr "Linienfarbe"
+
+#~ msgid "outline pixels"
+#~ msgstr "Pixelbreite der Umrandung"
+
+#~ msgid "width in pixels of outline"
+#~ msgstr "Pixelbreite der Umrandung"
+
+#~ msgid "outline what"
+#~ msgstr "abzugrenzende Ränder"
+
+#~ msgid "which boundaries to outline (mask)"
+#~ msgstr "abzugrenzende Ränder"
+
+#~ msgid "fill"
+#~ msgstr "füllen"
+
+#~ msgid "fill rectangle"
+#~ msgstr "Rechteck füllen"
+
+#~ msgid "draw"
+#~ msgstr "zeichnen"
+
+#~ msgid "draw rectangle"
+#~ msgstr "Rechteck zeichnen"
+
+#~ msgid "outline color rgba"
+#~ msgstr "Rahmenfarbe RGBA"
+
+#~ msgid "color of outline"
+#~ msgstr "Rahmenfarbe"
+
+#~ msgid "fill color rgba"
+#~ msgstr "Füllfarbe RGBA"
+
+#~ msgid "color of fill"
+#~ msgstr "Füllfarbe"
+
+#~ msgid "malformed URL passed to drag-n-drop code"
+#~ msgstr "Ungültige URL an drag-n-drop-Code weitergeleitet"
+
+#~ msgid "Editor::event_frame() used on unhandled event type %1"
+#~ msgstr "Editor::event_frame() auf unbekannten Eventtyp %1 angewandt"
+
+#~ msgid "delete sysex"
+#~ msgstr "SysEx löschen"
+
+#~ msgid ""
+#~ "No panner user interface is currently available for %1-in/2out tracks/"
+#~ "busses"
+#~ msgstr "Für %1-in/2out Spuren/Busse ist momentan kein Panner-UI verfügbar"
+
+#~ msgid ""
+#~ "<b>%1</b>\n"
+#~ "Double-click to show GUI.\n"
+#~ "Alt+double-click to show generic GUI."
+#~ msgstr ""
+#~ "<b>%1</b>\n"
+#~ "Doppelklick, um GUI zu zeigen.\n"
+#~ "Alt-Doppelklick, um einfaches GUI zu zeigen."
+
+#~ msgid ""
+#~ "<b>%1</b>\n"
+#~ "Double-click to show generic GUI."
+#~ msgstr ""
+#~ "<b>%1</b>\n"
+#~ "Alt-Doppelklick, um einfaches GUI zu zeigen."
+
+#~ msgid "Auditioning of MIDI files is not yet supported"
+#~ msgstr "Vorhören von MIDI-Dateien wird noch nicht unterstützt"
+
+#~ msgid "Draw waveforms with color gradient"
+#~ msgstr "Zeichne Wellenformen mit Farbverlauf"
+
+#~ msgid "Export Successful: %1"
+#~ msgstr "Export erfolgreich: %1"
+
#~ msgid ""
#~ "`The audio backend has either been shutdown or it\n"
#~ "disconnected %1 because %1\n"
diff --git a/gtk2_ardour/po/el.po b/gtk2_ardour/po/el.po
index febfa5c030..724c665438 100644
--- a/gtk2_ardour/po/el.po
+++ b/gtk2_ardour/po/el.po
@@ -3,11 +3,12 @@
# This file is distributed under the same license as the gtk-ardour package.
# Klearchos Gourgourinis <muadib@in.gr>, 2004.
#
+#: engine_dialog.cc:558
msgid ""
msgstr ""
"Project-Id-Version: gtk-ardour 0.347.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-11-05 11:11-0500\n"
+"POT-Creation-Date: 2014-09-04 19:07-0400\n"
"PO-Revision-Date: 2007-04-11 02:27+0200\n"
"Last-Translator: Klearchos Gourgourinis <muadib@in.gr>\n"
"Language-Team: Hellenic\n"
@@ -16,231 +17,235 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: about.cc:122
+#: about.cc:120
msgid "Brian Ahr"
msgstr ""
-#: about.cc:123
+#: about.cc:121
msgid "John Anderson"
msgstr ""
-#: about.cc:124
+#: about.cc:122
msgid "Marcus Andersson"
msgstr ""
-#: about.cc:125
+#: about.cc:123
msgid "Nedko Arnaudov"
msgstr ""
-#: about.cc:126
+#: about.cc:124
msgid "Hans Baier"
msgstr ""
-#: about.cc:127
+#: about.cc:125
msgid "Ben Bell"
msgstr ""
-#: about.cc:128
+#: about.cc:126
msgid "Sakari Bergen"
msgstr ""
-#: about.cc:129
+#: about.cc:127
+msgid "Christian Borss"
+msgstr ""
+
+#: about.cc:128
msgid "Chris Cannam"
msgstr ""
-#: about.cc:130
+#: about.cc:129
msgid "Jesse Chappell"
msgstr ""
-#: about.cc:131
+#: about.cc:130
msgid "Thomas Charbonnel"
msgstr ""
-#: about.cc:132
+#: about.cc:131
msgid "Sam Chessman"
msgstr ""
-#: about.cc:133
+#: about.cc:132
msgid "André Colomb"
msgstr ""
-#: about.cc:134
+#: about.cc:133
msgid "Paul Davis"
msgstr ""
-#: about.cc:135
+#: about.cc:134
msgid "Gerard van Dongen"
msgstr ""
-#: about.cc:136
+#: about.cc:135
msgid "Colin Fletcher"
msgstr ""
-#: about.cc:137
+#: about.cc:136
msgid "Dave Flick"
msgstr ""
-#: about.cc:138
+#: about.cc:137
msgid "Hans Fugal"
msgstr ""
-#: about.cc:139
+#: about.cc:138
msgid "Robin Gareus"
msgstr ""
-#: about.cc:140
+#: about.cc:139
msgid "Christopher George"
msgstr ""
-#: about.cc:141
+#: about.cc:140
msgid "Chris Goddard"
msgstr ""
-#: about.cc:142
+#: about.cc:141
msgid "J. Abelardo Gutierrez"
msgstr ""
-#: about.cc:143
+#: about.cc:142
msgid "Jeremy Hall"
msgstr ""
-#: about.cc:144
+#: about.cc:143
msgid "Audun Halland"
msgstr ""
-#: about.cc:145
+#: about.cc:144
msgid "David Halter"
msgstr ""
-#: about.cc:146
+#: about.cc:145
msgid "Steve Harris"
msgstr ""
-#: about.cc:147
+#: about.cc:146
msgid "Melvin Ray Herr"
msgstr ""
-#: about.cc:148
+#: about.cc:147
msgid "Carl Hetherington"
msgstr ""
-#: about.cc:149
+#: about.cc:148
msgid "Rob Holland"
msgstr ""
-#: about.cc:150
+#: about.cc:149
msgid "Robert Jordens"
msgstr ""
-#: about.cc:151
+#: about.cc:150
msgid "Stefan Kersten"
msgstr ""
-#: about.cc:152
+#: about.cc:151
msgid "Armand Klenk"
msgstr ""
-#: about.cc:153
+#: about.cc:152
msgid "Julien de Kozak"
msgstr ""
-#: about.cc:154
+#: about.cc:153
msgid "Matt Krai"
msgstr ""
-#: about.cc:155
+#: about.cc:154
msgid "Nick Lanham"
msgstr ""
-#: about.cc:156
+#: about.cc:155
msgid "Colin Law"
msgstr ""
-#: about.cc:157
+#: about.cc:156
msgid "Joshua Leach"
msgstr ""
-#: about.cc:158
+#: about.cc:157
msgid "Ben Loftis"
msgstr ""
-#: about.cc:159
+#: about.cc:158
msgid "Nick Mainsbridge"
msgstr ""
-#: about.cc:160
+#: about.cc:159
msgid "Tim Mayberry"
msgstr ""
-#: about.cc:161
+#: about.cc:160
msgid "Doug Mclain"
msgstr ""
-#: about.cc:162
+#: about.cc:161
msgid "Jack O'Quin"
msgstr ""
-#: about.cc:163
+#: about.cc:162
msgid "Nimal Ratnayake"
msgstr ""
-#: about.cc:164
+#: about.cc:163
msgid "David Robillard"
msgstr ""
-#: about.cc:165
+#: about.cc:164
msgid "Taybin Rutkin"
msgstr ""
-#: about.cc:166
+#: about.cc:165
msgid "Andreas Ruge"
msgstr ""
-#: about.cc:167
+#: about.cc:166
msgid "Sampo Savolainen"
msgstr ""
-#: about.cc:168
+#: about.cc:167
msgid "Rodrigo Severo"
msgstr ""
-#: about.cc:169
+#: about.cc:168
msgid "Per Sigmond"
msgstr ""
-#: about.cc:170
+#: about.cc:169
msgid "Lincoln Spiteri"
msgstr ""
-#: about.cc:171
+#: about.cc:170
msgid "Mike Start"
msgstr ""
-#: about.cc:172
+#: about.cc:171
msgid "Mark Stewart"
msgstr ""
-#: about.cc:173
+#: about.cc:172
msgid "Roland Stigge"
msgstr ""
-#: about.cc:174
+#: about.cc:173
msgid "Petter Sundlöf"
msgstr ""
-#: about.cc:175
+#: about.cc:174
msgid "Mike Täht"
msgstr ""
-#: about.cc:176
+#: about.cc:175
msgid "Roy Vegard"
msgstr ""
-#: about.cc:177
+#: about.cc:176
msgid "Thorsten Wilms"
msgstr ""
-#: about.cc:182
+#: about.cc:181
msgid ""
"French:\n"
"\tAlain Fréhel <alain.frehel@free.fr>\n"
@@ -249,7 +254,7 @@ msgid ""
"\tRomain Arnaud <roming22@gmail.com>\n"
msgstr ""
-#: about.cc:183
+#: about.cc:182
msgid ""
"German:\n"
"\tKarsten Petersen <kapet@kapet.de>\n"
@@ -261,189 +266,190 @@ msgid ""
"\tRobin Gloster <robin@loc-com.de>\n"
msgstr ""
-#: about.cc:190
+#: about.cc:189
msgid ""
"Italian:\n"
"\tFilippo Pappalardo <filippo@email.it>\n"
"\tRaffaele Morelli <raffaele.morelli@gmail.com>\n"
msgstr ""
-#: about.cc:191
+#: about.cc:190
msgid ""
"Portuguese:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
msgstr ""
-#: about.cc:192
+#: about.cc:191
msgid ""
"Brazilian Portuguese:\n"
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
"\tChris Ross <chris@tebibyte.org>\n"
msgstr ""
-#: about.cc:194
+#: about.cc:193
msgid ""
"Spanish:\n"
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
"\tPablo Fernández <pablo.fbus@gmail.com>\n"
msgstr ""
-#: about.cc:195
+#: about.cc:194
msgid ""
"Russian:\n"
"\t Igor Blinov <pitstop@nm.ru>\n"
"\tAlexandre Prokoudine <alexandre.prokoudine@gmail.com>\n"
msgstr ""
-#: about.cc:197
+#: about.cc:196
msgid ""
"Greek:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
msgstr ""
-#: about.cc:198
+#: about.cc:197
msgid ""
"Swedish:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
msgstr ""
-#: about.cc:199
+#: about.cc:198
msgid ""
"Polish:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
msgstr ""
-#: about.cc:200
+#: about.cc:199
msgid ""
"Czech:\n"
"\t Pavel Fric <pavelfric@seznam.cz>\n"
msgstr ""
-#: about.cc:201
+#: about.cc:200
msgid ""
"Norwegian:\n"
"\t Eivind Ødegård\n"
msgstr ""
-#: about.cc:202
+#: about.cc:201
msgid ""
"Chinese:\n"
"\t Rui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
msgstr ""
-#: about.cc:580
+#: about.cc:581
msgid "Copyright (C) 1999-2013 Paul Davis\n"
msgstr ""
-#: about.cc:584
+#: about.cc:585
msgid "http://ardour.org/"
msgstr ""
-#: about.cc:585
+#: about.cc:586
msgid ""
"%1\n"
"(built from revision %2)"
msgstr ""
-#: about.cc:589
+#: about.cc:590
msgid "Config"
msgstr ""
-#: actions.cc:85
+#: actions.cc:84
msgid "Loading menus from %1"
msgstr ""
-#: actions.cc:88 actions.cc:89
-msgid "badly formatted UI definition file: %1"
+#: actions.cc:87 actions.cc:88
+msgid "badly formatted menu definition file: %1"
msgstr ""
-#: actions.cc:91
+#: actions.cc:90
msgid "%1 menu definition file not found"
msgstr ""
-#: actions.cc:95 actions.cc:96
-msgid "%1 will not work without a valid ardour.menus file"
+#: actions.cc:94 actions.cc:95
+msgid "%1 will not work without a valid menu definition file"
msgstr ""
-#: add_route_dialog.cc:53 route_params_ui.cc:500
+#: add_route_dialog.cc:54 route_params_ui.cc:523
msgid "Add Track or Bus"
msgstr ""
-#: add_route_dialog.cc:56
+#: add_route_dialog.cc:57
msgid "Configuration:"
msgstr ""
-#: add_route_dialog.cc:57
+#: add_route_dialog.cc:58
msgid "Track mode:"
msgstr ""
-#: add_route_dialog.cc:58
+#: add_route_dialog.cc:59
msgid "Instrument:"
msgstr ""
-#: add_route_dialog.cc:76
+#: add_route_dialog.cc:78
msgid "Audio Tracks"
msgstr ""
-#: add_route_dialog.cc:77
+#: add_route_dialog.cc:79
msgid "MIDI Tracks"
msgstr ""
-#: add_route_dialog.cc:78
+#: add_route_dialog.cc:80
msgid "Audio+MIDI Tracks"
msgstr ""
-#: add_route_dialog.cc:79
+#: add_route_dialog.cc:81
msgid "Busses"
msgstr ""
-#: add_route_dialog.cc:101
+#: add_route_dialog.cc:103
msgid "Add:"
msgstr ""
-#: add_route_dialog.cc:114 time_fx_dialog.cc:91 add_video_dialog.cc:150
-#: video_server_dialog.cc:112
+#: add_route_dialog.cc:116 time_fx_dialog.cc:91 add_video_dialog.cc:135
+#: video_server_dialog.cc:151
msgid "<b>Options</b>"
msgstr ""
-#: add_route_dialog.cc:124 bundle_manager.cc:192 region_editor.cc:50
-#: route_group_dialog.cc:65
+#: add_route_dialog.cc:126 bundle_manager.cc:193 region_editor.cc:49
+#: route_group_dialog.cc:71
msgid "Name:"
msgstr ""
-#: add_route_dialog.cc:154
+#: add_route_dialog.cc:156
msgid "Group:"
msgstr ""
-#: add_route_dialog.cc:215 add_route_dialog.cc:224 add_route_dialog.cc:298
-#: ardour_ui_ed.cc:476 engine_dialog.cc:236 rc_option_editor.cc:1446
-#: rc_option_editor.cc:1448 rc_option_editor.cc:1450 rc_option_editor.cc:1466
-#: rc_option_editor.cc:1468 rc_option_editor.cc:1476 rc_option_editor.cc:1478
-#: rc_option_editor.cc:1496 rc_option_editor.cc:1509 rc_option_editor.cc:1511
-#: rc_option_editor.cc:1513 rc_option_editor.cc:1544 rc_option_editor.cc:1546
-#: rc_option_editor.cc:1548 rc_option_editor.cc:1556 rc_option_editor.cc:1564
-#: rc_option_editor.cc:1572
+#: add_route_dialog.cc:217 add_route_dialog.cc:226 add_route_dialog.cc:300
+#: ardour_ui_ed.cc:523 engine_dialog.cc:235 rc_option_editor.cc:1710
+#: rc_option_editor.cc:1712 rc_option_editor.cc:1714 rc_option_editor.cc:1732
+#: rc_option_editor.cc:1734 rc_option_editor.cc:1742 rc_option_editor.cc:1744
+#: rc_option_editor.cc:1762 rc_option_editor.cc:1775 rc_option_editor.cc:1777
+#: rc_option_editor.cc:1779 rc_option_editor.cc:1810 rc_option_editor.cc:1812
+#: rc_option_editor.cc:1814 rc_option_editor.cc:1822 rc_option_editor.cc:1830
+#: rc_option_editor.cc:1832 rc_option_editor.cc:1840
msgid "Audio"
msgstr ""
-#: add_route_dialog.cc:216 add_route_dialog.cc:227 add_route_dialog.cc:299
-#: editor_actions.cc:105 missing_file_dialog.cc:55 rc_option_editor.cc:1695
-#: rc_option_editor.cc:1703 rc_option_editor.cc:1711 rc_option_editor.cc:1720
-#: rc_option_editor.cc:1728 rc_option_editor.cc:1736 rc_option_editor.cc:1744
-#: rc_option_editor.cc:1753 rc_option_editor.cc:1762 rc_option_editor.cc:1771
-#: rc_option_editor.cc:1779 rc_option_editor.cc:1787
+#: add_route_dialog.cc:218 add_route_dialog.cc:229 add_route_dialog.cc:301
+#: editor_actions.cc:109 engine_dialog.cc:237 missing_file_dialog.cc:56
+#: rc_option_editor.cc:1975 rc_option_editor.cc:1983 rc_option_editor.cc:1991
+#: rc_option_editor.cc:2000 rc_option_editor.cc:2008 rc_option_editor.cc:2016
+#: rc_option_editor.cc:2024 rc_option_editor.cc:2033 rc_option_editor.cc:2042
+#: rc_option_editor.cc:2051 rc_option_editor.cc:2059 rc_option_editor.cc:2067
+#: rc_option_editor.cc:2075 rc_option_editor.cc:2098
msgid "MIDI"
msgstr "MIDI"
-#: add_route_dialog.cc:217 add_route_dialog.cc:230 add_route_dialog.cc:300
+#: add_route_dialog.cc:219 add_route_dialog.cc:232 add_route_dialog.cc:302
msgid "Audio+MIDI"
msgstr ""
-#: add_route_dialog.cc:218 add_route_dialog.cc:233 add_route_dialog.cc:301
+#: add_route_dialog.cc:220 add_route_dialog.cc:235 add_route_dialog.cc:303
msgid "Bus"
msgstr ""
-#: add_route_dialog.cc:260
+#: add_route_dialog.cc:262
msgid ""
"Audio+MIDI tracks are intended for use <b>ONLY</b> with plugins that use "
"both audio and MIDI input data\n"
@@ -452,64 +458,64 @@ msgid ""
"track instead."
msgstr ""
-#: add_route_dialog.cc:319 add_route_dialog.cc:338 editor_actions.cc:385
-#: editor_rulers.cc:377 time_axis_view.cc:1305
+#: add_route_dialog.cc:321 add_route_dialog.cc:340 editor_actions.cc:420
+#: editor_rulers.cc:251 time_axis_view.cc:1339
msgid "Normal"
msgstr "Κανονικό"
-#: add_route_dialog.cc:322 add_route_dialog.cc:340
+#: add_route_dialog.cc:324 add_route_dialog.cc:342
msgid "Non Layered"
msgstr ""
-#: add_route_dialog.cc:323 add_route_dialog.cc:342
+#: add_route_dialog.cc:325 add_route_dialog.cc:344
msgid "Tape"
msgstr ""
-#: add_route_dialog.cc:423
+#: add_route_dialog.cc:425 monitor_section.cc:291
msgid "Mono"
msgstr ""
-#: add_route_dialog.cc:427
+#: add_route_dialog.cc:429
msgid "Stereo"
msgstr ""
-#: add_route_dialog.cc:451
+#: add_route_dialog.cc:453
msgid "3 Channel"
msgstr ""
-#: add_route_dialog.cc:455
+#: add_route_dialog.cc:457
msgid "4 Channel"
msgstr ""
-#: add_route_dialog.cc:459
+#: add_route_dialog.cc:461
msgid "5 Channel"
msgstr ""
-#: add_route_dialog.cc:463
+#: add_route_dialog.cc:465
msgid "6 Channel"
msgstr ""
-#: add_route_dialog.cc:467
+#: add_route_dialog.cc:469
msgid "8 Channel"
msgstr ""
-#: add_route_dialog.cc:471
+#: add_route_dialog.cc:473
msgid "12 Channel"
msgstr ""
-#: add_route_dialog.cc:475 mixer_strip.cc:2131
+#: add_route_dialog.cc:477 mixer_strip.cc:1791 mixer_strip.cc:2199
msgid "Custom"
msgstr ""
-#: add_route_dialog.cc:508 add_route_dialog.cc:524 route_group_menu.cc:81
+#: add_route_dialog.cc:510 add_route_dialog.cc:526 route_group_menu.cc:81
msgid "New Group..."
msgstr ""
-#: add_route_dialog.cc:512 route_group_menu.cc:85
+#: add_route_dialog.cc:514 route_group_menu.cc:85
msgid "No Group"
msgstr ""
-#: add_route_dialog.cc:588
+#: add_route_dialog.cc:590
msgid "-none-"
msgstr ""
@@ -530,7 +536,7 @@ msgid ""
"Please select the path that you want to get the file from."
msgstr ""
-#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:45
+#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:46
msgid "Done"
msgstr ""
@@ -570,17 +576,17 @@ msgstr ""
msgid "FFT analysis window"
msgstr ""
-#: analysis_window.cc:60 editor.cc:1857
+#: analysis_window.cc:60 editor.cc:1776
msgid "Spectral Analysis"
msgstr ""
-#: analysis_window.cc:67 editor_actions.cc:138 export_channel_selector.cc:557
+#: analysis_window.cc:67 editor_actions.cc:142 export_channel_selector.cc:557
#: session_metadata_dialog.cc:546
msgid "Track"
msgstr "Κανάλι"
-#: analysis_window.cc:68 editor_actions.cc:616 mixer_ui.cc:125
-#: mixer_ui.cc:1795
+#: analysis_window.cc:68 editor_actions.cc:658 mixer_ui.cc:130
+#: mixer_ui.cc:1830
msgid "Show"
msgstr ""
@@ -588,90 +594,96 @@ msgstr ""
msgid "Re-analyze data"
msgstr ""
-#: ardour_button.cc:704
+#: ardour_button.cc:810
msgid "button cannot watch state of non-existing Controllable\n"
msgstr ""
-#: ardour_ui.cc:180
-msgid "audition"
+#: ardour_button.cc:1024
+msgid "ABCDEFGHIJLKMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
msgstr ""
-#: ardour_ui.cc:181
-msgid "solo"
-msgstr ""
+#: ardour_ui.cc:194 editor_actions.cc:652 region_editor.cc:50
+msgid "Audition"
+msgstr "ΑκÏόαση"
+
+#: ardour_ui.cc:195 editor_actions.cc:136 mixer_strip.cc:1971
+#: rc_option_editor.cc:1850 route_time_axis.cc:252 route_time_axis.cc:2566
+msgid "Solo"
+msgstr "Σόλο"
-#: ardour_ui.cc:182
-msgid "feedback"
+#: ardour_ui.cc:196 rc_option_editor.cc:718
+msgid "Feedback"
msgstr ""
-#: ardour_ui.cc:187 speaker_dialog.cc:36
+#: ardour_ui.cc:201 speaker_dialog.cc:36
msgid "Speaker Configuration"
msgstr ""
-#: ardour_ui.cc:188 theme_manager.cc:56 theme_manager.cc:64
+#: ardour_ui.cc:202 theme_manager.cc:62 theme_manager.cc:77
msgid "Theme Manager"
msgstr ""
-#: ardour_ui.cc:189 keyeditor.cc:53
+#: ardour_ui.cc:203 keyeditor.cc:53
msgid "Key Bindings"
msgstr ""
-#: ardour_ui.cc:190
+#: ardour_ui.cc:204
msgid "Preferences"
msgstr ""
-#: ardour_ui.cc:191 ardour_ui.cc:197
+#: ardour_ui.cc:205 ardour_ui.cc:211
msgid "Add Tracks/Busses"
msgstr ""
-#: ardour_ui.cc:192
+#: ardour_ui.cc:206
msgid "About"
msgstr "ΠληÏοφοÏίες"
-#: ardour_ui.cc:193 location_ui.cc:1146
+#: ardour_ui.cc:207 location_ui.cc:1148 session_option_editor.cc:189
+#: session_option_editor.cc:195 session_option_editor.cc:202
msgid "Locations"
msgstr "Τοποθεσίες"
-#: ardour_ui.cc:194 route_params_ui.cc:58 route_params_ui.cc:606
+#: ardour_ui.cc:208 route_params_ui.cc:58 route_params_ui.cc:629
msgid "Tracks and Busses"
msgstr ""
-#: ardour_ui.cc:195 engine_dialog.cc:67
+#: ardour_ui.cc:209 engine_dialog.cc:69
msgid "Audio/MIDI Setup"
msgstr ""
-#: ardour_ui.cc:196
+#: ardour_ui.cc:210
msgid "Properties"
msgstr ""
-#: ardour_ui.cc:198 bundle_manager.cc:263
+#: ardour_ui.cc:212 bundle_manager.cc:264
msgid "Bundle Manager"
msgstr ""
-#: ardour_ui.cc:199 big_clock_window.cc:35
+#: ardour_ui.cc:213 big_clock_window.cc:37
msgid "Big Clock"
msgstr "Μεγάλο ωÏολόγιον"
-#: ardour_ui.cc:200
+#: ardour_ui.cc:214
msgid "Audio Connections"
msgstr ""
-#: ardour_ui.cc:201
+#: ardour_ui.cc:215
msgid "MIDI Connections"
msgstr ""
-#: ardour_ui.cc:203
+#: ardour_ui.cc:217
msgid "Errors"
msgstr ""
-#: ardour_ui.cc:436
+#: ardour_ui.cc:461
msgid ""
"The audio backend was shutdown because:\n"
"\n"
"%1"
msgstr ""
-#: ardour_ui.cc:438
+#: ardour_ui.cc:463
msgid ""
"The audio backend has either been shutdown or it\n"
"disconnected %1 because %1\n"
@@ -679,27 +691,27 @@ msgid ""
"the audio backend and save the session."
msgstr ""
-#: ardour_ui.cc:758
+#: ardour_ui.cc:781
msgid "NSM server did not announce itself"
msgstr ""
-#: ardour_ui.cc:771
+#: ardour_ui.cc:794
msgid "NSM: no client ID provided"
msgstr ""
-#: ardour_ui.cc:778
+#: ardour_ui.cc:801
msgid "NSM: no session created"
msgstr ""
-#: ardour_ui.cc:801
+#: ardour_ui.cc:824
msgid "NSM: initialization failed"
msgstr ""
-#: ardour_ui.cc:840 startup.cc:379
+#: ardour_ui.cc:864 startup.cc:380
msgid "%1 is ready for use"
msgstr ""
-#: ardour_ui.cc:882
+#: ardour_ui.cc:906
msgid ""
"WARNING: Your system has a limit for maximum amount of locked memory. This "
"might cause %1 to run out of memory before your system runs out of memory. \n"
@@ -708,23 +720,23 @@ msgid ""
"controlled by %2"
msgstr ""
-#: ardour_ui.cc:899
+#: ardour_ui.cc:923
msgid "Do not show this window again"
msgstr ""
-#: ardour_ui.cc:943
+#: ardour_ui.cc:967
msgid "Don't quit"
msgstr ""
-#: ardour_ui.cc:944
+#: ardour_ui.cc:968
msgid "Just quit"
msgstr ""
-#: ardour_ui.cc:945
+#: ardour_ui.cc:969
msgid "Save and quit"
msgstr ""
-#: ardour_ui.cc:955
+#: ardour_ui.cc:979
msgid ""
"%1 was unable to save your session.\n"
"\n"
@@ -733,15 +745,11 @@ msgid ""
"\"Just quit\" option."
msgstr ""
-#: ardour_ui.cc:986
-msgid "Please wait while %1 cleans up..."
-msgstr ""
-
-#: ardour_ui.cc:1004
+#: ardour_ui.cc:1030
msgid "Unsaved Session"
msgstr ""
-#: ardour_ui.cc:1025
+#: ardour_ui.cc:1051
msgid ""
"The session \"%1\"\n"
"has not been saved.\n"
@@ -752,7 +760,7 @@ msgid ""
"What do you want to do?"
msgstr ""
-#: ardour_ui.cc:1028
+#: ardour_ui.cc:1054
msgid ""
"The snapshot \"%1\"\n"
"has not been saved.\n"
@@ -763,75 +771,75 @@ msgid ""
"What do you want to do?"
msgstr ""
-#: ardour_ui.cc:1042
+#: ardour_ui.cc:1068
msgid "Prompter"
msgstr "Υποβολέας"
-#: ardour_ui.cc:1128 ardour_ui.cc:1136
+#: ardour_ui.cc:1182 ardour_ui.cc:1190
#, c-format
msgid "Audio: <span foreground=\"red\">none</span>"
msgstr ""
-#: ardour_ui.cc:1140
+#: ardour_ui.cc:1194
#, c-format
msgid "Audio: <span foreground=\"green\">%.1f kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1144
+#: ardour_ui.cc:1198
#, c-format
msgid "Audio: <span foreground=\"green\">%<PRId64> kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1162 export_video_dialog.cc:67
+#: ardour_ui.cc:1216 export_video_dialog.cc:68
msgid "File:"
msgstr ""
-#: ardour_ui.cc:1166
+#: ardour_ui.cc:1220
msgid "BWF"
msgstr ""
-#: ardour_ui.cc:1169
+#: ardour_ui.cc:1223
msgid "WAV"
msgstr ""
-#: ardour_ui.cc:1172
+#: ardour_ui.cc:1226
msgid "WAV64"
msgstr ""
-#: ardour_ui.cc:1175 session_option_editor.cc:197
+#: ardour_ui.cc:1229 session_option_editor.cc:185
msgid "CAF"
msgstr ""
-#: ardour_ui.cc:1178
+#: ardour_ui.cc:1232
msgid "AIFF"
msgstr ""
-#: ardour_ui.cc:1181
+#: ardour_ui.cc:1235
msgid "iXML"
msgstr ""
-#: ardour_ui.cc:1184
+#: ardour_ui.cc:1238
msgid "RF64"
msgstr ""
-#: ardour_ui.cc:1192
+#: ardour_ui.cc:1246
msgid "32-float"
msgstr ""
-#: ardour_ui.cc:1195
+#: ardour_ui.cc:1249
msgid "24-int"
msgstr ""
-#: ardour_ui.cc:1198
+#: ardour_ui.cc:1252
msgid "16-int"
msgstr ""
-#: ardour_ui.cc:1217
+#: ardour_ui.cc:1271
#, c-format
msgid "DSP: <span foreground=\"%s\">%5.1f%%</span>"
msgstr ""
-#: ardour_ui.cc:1236
+#: ardour_ui.cc:1290
#, c-format
msgid ""
"Buffers: <span foreground=\"green\">p:</span><span foreground=\"%s\">"
@@ -839,211 +847,215 @@ msgid ""
"\">%<PRIu32>%%</span>"
msgstr ""
-#: ardour_ui.cc:1277
+#: ardour_ui.cc:1331
msgid "Disk: <span foreground=\"green\">Unknown</span>"
msgstr ""
-#: ardour_ui.cc:1279
+#: ardour_ui.cc:1333
msgid "Disk: <span foreground=\"green\">24hrs+</span>"
msgstr ""
-#: ardour_ui.cc:1297
+#: ardour_ui.cc:1351
msgid "Disk: <span foreground=\"green\">&gt;24 hrs</span>"
msgstr ""
-#: ardour_ui.cc:1308
+#: ardour_ui.cc:1362
#, c-format
msgid "Disk: <span foreground=\"%s\">%02dh:%02dm:%02ds</span>"
msgstr ""
-#: ardour_ui.cc:1334
+#: ardour_ui.cc:1388
#, c-format
msgid "Timecode|TC: <span foreground=\"%s\">%s</span>"
msgstr ""
-#: ardour_ui.cc:1451 ardour_ui.cc:1460 session_dialog.cc:322
-#: session_dialog.cc:327
+#: ardour_ui.cc:1509 ardour_ui.cc:1518 session_dialog.cc:326
+#: session_dialog.cc:331
msgid "Recent Sessions"
msgstr "ΠÏόσφατες συνεδÏίες"
-#: ardour_ui.cc:1539
+#: ardour_ui.cc:1597
msgid ""
"%1 is not connected to any audio backend.\n"
"You cannot open or close sessions in this condition"
msgstr ""
-#: ardour_ui.cc:1563
+#: ardour_ui.cc:1621
msgid "Open Session"
msgstr "Άνοιγμα ΣυνεδÏίας"
-#: ardour_ui.cc:1588 session_dialog.cc:353 session_import_dialog.cc:169
+#: ardour_ui.cc:1646 session_dialog.cc:357 session_import_dialog.cc:169
#: session_metadata_dialog.cc:729
msgid "%1 sessions"
msgstr ""
-#: ardour_ui.cc:1625
+#: ardour_ui.cc:1683
msgid "You cannot add a track without a session already loaded."
msgstr "Δεν γίνεται να Ï€Ïοστεθεί κανάλι χωÏίς ήδη φοÏτωμένη συνεδÏία."
-#: ardour_ui.cc:1633
+#: ardour_ui.cc:1691
msgid "could not create %1 new mixed track"
msgid_plural "could not create %1 new mixed tracks"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1639 ardour_ui.cc:1700
+#: ardour_ui.cc:1697 ardour_ui.cc:1758
msgid ""
-"There are insufficient JACK ports available\n"
+"There are insufficient ports available\n"
"to create a new track or bus.\n"
"You should save %1, exit and\n"
-"restart JACK with more ports."
+"restart with more ports."
msgstr ""
-#: ardour_ui.cc:1674
+#: ardour_ui.cc:1732
msgid "You cannot add a track or bus without a session already loaded."
msgstr ""
-#: ardour_ui.cc:1683
+#: ardour_ui.cc:1741
msgid "could not create %1 new audio track"
msgid_plural "could not create %1 new audio tracks"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1692
+#: ardour_ui.cc:1750
msgid "could not create %1 new audio bus"
msgid_plural "could not create %1 new audio busses"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1816
+#: ardour_ui.cc:1903
msgid ""
"Please create one or more tracks before trying to record.\n"
"You can do this with the \"Add Track or Bus\" option in the Session menu."
msgstr ""
-#: ardour_ui.cc:2193
+#: ardour_ui.cc:2312
+msgid "Save as..."
+msgstr ""
+
+#: ardour_ui.cc:2313 ardour_ui.cc:2392
+msgid "New session name"
+msgstr ""
+
+#: ardour_ui.cc:2315
msgid "Take Snapshot"
msgstr ""
-#: ardour_ui.cc:2194
+#: ardour_ui.cc:2316
msgid "Name of new snapshot"
msgstr ""
-#: ardour_ui.cc:2218
+#: ardour_ui.cc:2341
msgid ""
"To ensure compatibility with various systems\n"
"snapshot names may not contain a '%1' character"
msgstr ""
-#: ardour_ui.cc:2230
+#: ardour_ui.cc:2353
msgid "Confirm Snapshot Overwrite"
msgstr ""
-#: ardour_ui.cc:2231
+#: ardour_ui.cc:2354
msgid "A snapshot already exists with that name. Do you want to overwrite it?"
msgstr ""
-#: ardour_ui.cc:2234 utils_videotl.cc:67
+#: ardour_ui.cc:2357 utils_videotl.cc:67
msgid "Overwrite"
msgstr ""
-#: ardour_ui.cc:2268
+#: ardour_ui.cc:2391
msgid "Rename Session"
msgstr ""
-#: ardour_ui.cc:2269
-msgid "New session name"
-msgstr ""
-
-#: ardour_ui.cc:2283 ardour_ui.cc:2684 ardour_ui.cc:2722
+#: ardour_ui.cc:2406 ardour_ui.cc:2814 ardour_ui.cc:2852
msgid ""
"To ensure compatibility with various systems\n"
"session names may not contain a '%1' character"
msgstr ""
-#: ardour_ui.cc:2291
+#: ardour_ui.cc:2414
msgid ""
"That name is already in use by another directory/folder. Please try again."
msgstr ""
-#: ardour_ui.cc:2300
+#: ardour_ui.cc:2423
msgid ""
"Renaming this session failed.\n"
"Things could be seriously messed up at this point"
msgstr ""
-#: ardour_ui.cc:2411
+#: ardour_ui.cc:2534
msgid "Save Template"
msgstr ""
-#: ardour_ui.cc:2412
+#: ardour_ui.cc:2535
msgid "Name for template:"
msgstr ""
-#: ardour_ui.cc:2413
+#: ardour_ui.cc:2536
msgid "-template"
msgstr "-Ï€Ïοσχέδιο"
-#: ardour_ui.cc:2451
+#: ardour_ui.cc:2574
msgid ""
"This session\n"
"%1\n"
"already exists. Do you want to open it?"
msgstr ""
-#: ardour_ui.cc:2461
+#: ardour_ui.cc:2584
msgid "Open Existing Session"
msgstr ""
-#: ardour_ui.cc:2712
+#: ardour_ui.cc:2842
msgid "There is no existing session at \"%1\""
msgstr ""
-#: ardour_ui.cc:2804
+#: ardour_ui.cc:2934
msgid "Please wait while %1 loads your session"
msgstr ""
-#: ardour_ui.cc:2819
+#: ardour_ui.cc:2949
msgid "Port Registration Error"
msgstr ""
-#: ardour_ui.cc:2820
+#: ardour_ui.cc:2950
msgid "Click the Close button to try again."
msgstr ""
-#: ardour_ui.cc:2841
+#: ardour_ui.cc:2971
msgid "Session \"%1 (snapshot %2)\" did not load successfully"
msgstr "Η ΣυνεδÏία \"%1 (στιγμιότυπο %2)\" δεν φοÏτώθηκε επιτυχώς"
-#: ardour_ui.cc:2848
+#: ardour_ui.cc:2978
msgid "Loading Error"
msgstr ""
-#: ardour_ui.cc:2867
+#: ardour_ui.cc:2997
msgid ""
"This session has been opened in read-only mode.\n"
"\n"
"You will not be able to record or save."
msgstr ""
-#: ardour_ui.cc:2873
+#: ardour_ui.cc:3003
msgid "Read-only Session"
msgstr ""
-#: ardour_ui.cc:2931
+#: ardour_ui.cc:3069
msgid "Could not create session in \"%1\""
msgstr ""
-#: ardour_ui.cc:3031
+#: ardour_ui.cc:3169
msgid "No files were ready for clean-up"
msgstr ""
-#: ardour_ui.cc:3035 ardour_ui.cc:3045 ardour_ui.cc:3178 ardour_ui.cc:3185
-#: ardour_ui_ed.cc:104
+#: ardour_ui.cc:3173 ardour_ui.cc:3183 ardour_ui.cc:3316 ardour_ui.cc:3323
+#: ardour_ui_ed.cc:103
msgid "Clean-up"
msgstr ""
-#: ardour_ui.cc:3036
+#: ardour_ui.cc:3174
msgid ""
"If this seems suprising, \n"
"check for any existing snapshots.\n"
@@ -1056,19 +1068,19 @@ msgstr ""
"χÏειάζονται κάποια αÏχεία που δεν\n"
"χÏησιμοποιοÏνται αλλοÏ."
-#: ardour_ui.cc:3095
+#: ardour_ui.cc:3233
msgid "kilo"
msgstr ""
-#: ardour_ui.cc:3098
+#: ardour_ui.cc:3236
msgid "mega"
msgstr ""
-#: ardour_ui.cc:3101
+#: ardour_ui.cc:3239
msgid "giga"
msgstr ""
-#: ardour_ui.cc:3106
+#: ardour_ui.cc:3244
msgid ""
"The following file was deleted from %2,\n"
"releasing %3 %4bytes of disk space"
@@ -1078,7 +1090,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:3113
+#: ardour_ui.cc:3251
msgid ""
"The following file was not in use and \n"
"has been moved to: %2\n"
@@ -1100,91 +1112,90 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:3173
+#: ardour_ui.cc:3311
msgid "Are you sure you want to clean-up?"
msgstr ""
-#: ardour_ui.cc:3180
+#: ardour_ui.cc:3318
msgid ""
"Clean-up is a destructive operation.\n"
"ALL undo/redo information will be lost if you clean-up.\n"
"Clean-up will move all unused files to a \"dead\" location."
msgstr ""
-#: ardour_ui.cc:3188
+#: ardour_ui.cc:3326
msgid "CleanupDialog"
msgstr ""
-#: ardour_ui.cc:3218
+#: ardour_ui.cc:3356
msgid "Cleaned Files"
msgstr ""
-#: ardour_ui.cc:3235
+#: ardour_ui.cc:3373
msgid "deleted file"
msgstr "διαγÏαμμένα αÏχεία"
-#: ardour_ui.cc:3381
-msgid ""
-"Video-Server was not launched by Ardour. The request to stop it is ignored."
+#: ardour_ui.cc:3512
+msgid "Video-Server was not launched by %1. The request to stop it is ignored."
msgstr ""
-#: ardour_ui.cc:3385
+#: ardour_ui.cc:3516
msgid "Stop Video-Server"
msgstr ""
-#: ardour_ui.cc:3386
+#: ardour_ui.cc:3517
msgid "Do you really want to stop the Video Server?"
msgstr ""
-#: ardour_ui.cc:3389
+#: ardour_ui.cc:3520
msgid "Yes, Stop It"
msgstr ""
-#: ardour_ui.cc:3415
+#: ardour_ui.cc:3546
msgid "The Video Server is already started."
msgstr ""
-#: ardour_ui.cc:3417
+#: ardour_ui.cc:3548
msgid ""
"An external Video Server is configured and can be reached. Not starting a "
"new instance."
msgstr ""
-#: ardour_ui.cc:3425 ardour_ui.cc:3515
+#: ardour_ui.cc:3556 ardour_ui.cc:3655
msgid ""
"Could not connect to the Video Server. Start it or configure its access URL "
"in Edit -> Preferences."
msgstr ""
-#: ardour_ui.cc:3449
+#: ardour_ui.cc:3580
msgid "Specified docroot is not an existing directory."
msgstr ""
-#: ardour_ui.cc:3454
+#: ardour_ui.cc:3586 ardour_ui.cc:3592
msgid "Given Video Server is not an executable file."
msgstr ""
-#: ardour_ui.cc:3487
+#: ardour_ui.cc:3626
msgid "Cannot launch the video-server"
msgstr ""
-#: ardour_ui.cc:3496
+#: ardour_ui.cc:3636
msgid "Video-server was started but does not respond to requests..."
msgstr ""
-#: ardour_ui.cc:3541 editor_audio_import.cc:632
+#: ardour_ui.cc:3681 editor_audio_import.cc:628
msgid "could not open %1"
msgstr "δεν μπόÏεσα να ανοίξω το %1"
-#: ardour_ui.cc:3545
+#: ardour_ui.cc:3685
msgid "no video-file selected"
msgstr ""
-#: ardour_ui.cc:3717
+#: ardour_ui.cc:3858
msgid "Recording was stopped because your system could not keep up."
msgstr "η ΕγγÏαφή διεκόπη διότι το σÏστημά δεν μποÏοÏσε να ανταπεξέλθει."
-#: ardour_ui.cc:3746
+#: ardour_ui.cc:3887
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1193,7 +1204,23 @@ msgid ""
"quickly enough to keep up with recording.\n"
msgstr ""
-#: ardour_ui.cc:3765
+#: ardour_ui.cc:3957
+msgid "Scanning for plugins"
+msgstr ""
+
+#: ardour_ui.cc:3959
+msgid "Cancel plugin scan"
+msgstr ""
+
+#: ardour_ui.cc:3968
+msgid "Stop Timeout"
+msgstr ""
+
+#: ardour_ui.cc:3975
+msgid "Scan Timeout"
+msgstr ""
+
+#: ardour_ui.cc:4016
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1202,11 +1229,11 @@ msgid ""
"quickly enough to keep up with playback.\n"
msgstr ""
-#: ardour_ui.cc:3805
+#: ardour_ui.cc:4056
msgid "Crash Recovery"
msgstr ""
-#: ardour_ui.cc:3806
+#: ardour_ui.cc:4057
msgid ""
"This session appears to have been in the\n"
"middle of recording when %1 or\n"
@@ -1217,42 +1244,42 @@ msgid ""
"what you would like to do.\n"
msgstr ""
-#: ardour_ui.cc:3818
+#: ardour_ui.cc:4069
msgid "Ignore crash data"
msgstr "ΔιαγÏαφή τυχόν δεδομένων"
-#: ardour_ui.cc:3819
+#: ardour_ui.cc:4070
msgid "Recover from crash"
msgstr "Ανάκληση από 'κÏασάÏισμα'"
-#: ardour_ui.cc:3839
+#: ardour_ui.cc:4090
msgid "Sample Rate Mismatch"
msgstr ""
-#: ardour_ui.cc:3840
+#: ardour_ui.cc:4091
msgid ""
"This session was created with a sample rate of %1 Hz, but\n"
"%2 is currently running at %3 Hz. If you load this session,\n"
"audio may be played at the wrong sample rate.\n"
msgstr ""
-#: ardour_ui.cc:3849
+#: ardour_ui.cc:4100
msgid "Do not load session"
msgstr ""
-#: ardour_ui.cc:3850
+#: ardour_ui.cc:4101
msgid "Load session anyway"
msgstr ""
-#: ardour_ui.cc:3877
+#: ardour_ui.cc:4128
msgid "Could not disconnect from Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:3893 ardour_ui.cc:3896
+#: ardour_ui.cc:4144 ardour_ui.cc:4147
msgid "Could not reconnect to the Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:4172
+#: ardour_ui.cc:4431
msgid ""
"%4This is a session from an older version of %3%5\n"
"\n"
@@ -1267,85 +1294,85 @@ msgid ""
"From now on, use the -2000 version with older versions of %3"
msgstr ""
-#: ardour_ui2.cc:72
+#: ardour_ui2.cc:73
msgid "UI: cannot setup editor"
msgstr "UI: Ο 'editor' δεν μποÏεί να εγεÏθεί"
-#: ardour_ui2.cc:77
+#: ardour_ui2.cc:78
msgid "UI: cannot setup mixer"
msgstr "UI: ο μίκτης δεν μποÏεί να εγεÏθεί"
-#: ardour_ui2.cc:82
+#: ardour_ui2.cc:83
msgid "UI: cannot setup meterbridge"
msgstr ""
-#: ardour_ui2.cc:130
+#: ardour_ui2.cc:131
msgid "Play from playhead"
msgstr "ΑναπαÏ/γή από τον ΑναπαÏαγωγέα"
-#: ardour_ui2.cc:131
+#: ardour_ui2.cc:132
msgid "Stop playback"
msgstr "Διακοπή ΑναπαÏ/γής"
-#: ardour_ui2.cc:132
+#: ardour_ui2.cc:133
msgid "Toggle record"
msgstr ""
-#: ardour_ui2.cc:133
+#: ardour_ui2.cc:134
msgid "Play range/selection"
msgstr "ΑναπαÏ/γή διαστήματος/επιλογής"
-#: ardour_ui2.cc:134
+#: ardour_ui2.cc:135
msgid "Go to start of session"
msgstr "ΑÏχή της συνεδÏίας"
-#: ardour_ui2.cc:135
+#: ardour_ui2.cc:136
msgid "Go to end of session"
msgstr "Τέλος του συνεδÏίας"
-#: ardour_ui2.cc:136
+#: ardour_ui2.cc:137
msgid "Play loop range"
msgstr "Επαναληπτική αναπαÏ/γή διαστήματος"
-#: ardour_ui2.cc:137
+#: ardour_ui2.cc:138
msgid ""
"MIDI Panic\n"
"Send note off and reset controller messages on all MIDI channels"
msgstr ""
-#: ardour_ui2.cc:138
+#: ardour_ui2.cc:139
msgid "Return to last playback start when stopped"
msgstr "ΕπιστÏοφή στην τελευταία θεση μετα απο παÏση"
-#: ardour_ui2.cc:139
+#: ardour_ui2.cc:140
msgid "Playhead follows Range Selections and Edits"
msgstr ""
-#: ardour_ui2.cc:140
+#: ardour_ui2.cc:141
msgid "Be sensible about input monitoring"
msgstr "ΠÏοσοχή στο input monitoring"
-#: ardour_ui2.cc:141
+#: ardour_ui2.cc:142
msgid "Enable/Disable audio click"
msgstr "ΆÏση/ΠαÏση μετÏονόμου"
-#: ardour_ui2.cc:142 monitor_section.cc:101
+#: ardour_ui2.cc:143 monitor_section.cc:112
msgid ""
"When active, something is soloed.\n"
"Click to de-solo everything"
msgstr ""
-#: ardour_ui2.cc:143
+#: ardour_ui2.cc:144
msgid ""
"When active, auditioning is taking place\n"
"Click to stop the audition"
msgstr ""
-#: ardour_ui2.cc:144
+#: ardour_ui2.cc:145
msgid "When active, there is a feedback loop."
msgstr ""
-#: ardour_ui2.cc:145
+#: ardour_ui2.cc:146
msgid ""
"<b>Primary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1353,7 +1380,7 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:146
+#: ardour_ui2.cc:147
msgid ""
"<b>Secondary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1361,361 +1388,418 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:147
-msgid "Reset Level Meter"
+#: ardour_ui2.cc:148
+msgid "Reset All Peak Indicators"
msgstr ""
-#: ardour_ui2.cc:179
+#: ardour_ui2.cc:180
msgid "[ERROR]: "
msgstr ""
-#: ardour_ui2.cc:181
+#: ardour_ui2.cc:182
msgid "[WARNING]: "
msgstr ""
-#: ardour_ui2.cc:183
+#: ardour_ui2.cc:184
msgid "[INFO]: "
msgstr ""
-#: ardour_ui2.cc:247 ardour_ui_ed.cc:344
+#: ardour_ui2.cc:248 ardour_ui_ed.cc:391
msgid "Auto Return"
msgstr ""
-#: ardour_ui2.cc:249 ardour_ui_ed.cc:347
+#: ardour_ui2.cc:250 ardour_ui_ed.cc:394
msgid "Follow Edits"
msgstr ""
-#: ardour_ui2.cc:628 rc_option_editor.cc:1002 rc_option_editor.cc:1020
-#: rc_option_editor.cc:1023 rc_option_editor.cc:1025 rc_option_editor.cc:1027
-#: rc_option_editor.cc:1035 rc_option_editor.cc:1043 rc_option_editor.cc:1045
-#: rc_option_editor.cc:1053 rc_option_editor.cc:1060 rc_option_editor.cc:1069
-#: rc_option_editor.cc:1071 rc_option_editor.cc:1073 rc_option_editor.cc:1081
-#: rc_option_editor.cc:1083 rc_option_editor.cc:1092
-#: session_option_editor.cc:234 session_option_editor.cc:236
-#: session_option_editor.cc:257 session_option_editor.cc:259
-#: session_option_editor.cc:261 session_option_editor.cc:268
+#: ardour_ui2.cc:651 rc_option_editor.cc:2172
+msgid "GUI"
+msgstr ""
+
+#: ardour_ui2.cc:668 rc_option_editor.cc:1242 rc_option_editor.cc:1260
+#: rc_option_editor.cc:1263 rc_option_editor.cc:1265 rc_option_editor.cc:1267
+#: rc_option_editor.cc:1275 rc_option_editor.cc:1283 rc_option_editor.cc:1285
+#: rc_option_editor.cc:1293 rc_option_editor.cc:1300 rc_option_editor.cc:1309
+#: rc_option_editor.cc:1311 rc_option_editor.cc:1313 rc_option_editor.cc:1321
+#: rc_option_editor.cc:1323 rc_option_editor.cc:1332
+#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:344 session_option_editor.cc:346
+#: session_option_editor.cc:348 session_option_editor.cc:355
+#: session_option_editor.cc:362 session_option_editor.cc:366
msgid "Misc"
msgstr "ΔιάφοÏα"
-#: ardour_ui_dependents.cc:69
+#: ardour_ui_dependents.cc:75
msgid "Setup Editor"
msgstr ""
-#: ardour_ui_dependents.cc:71
+#: ardour_ui_dependents.cc:77
msgid "Setup Mixer"
msgstr ""
-#: ardour_ui_dependents.cc:77
+#: ardour_ui_dependents.cc:83
msgid "Reload Session History"
msgstr ""
-#: ardour_ui_dialogs.cc:238
+#: ardour_ui_dialogs.cc:251
msgid "Don't close"
msgstr ""
-#: ardour_ui_dialogs.cc:239
+#: ardour_ui_dialogs.cc:252
msgid "Just close"
msgstr ""
-#: ardour_ui_dialogs.cc:240
+#: ardour_ui_dialogs.cc:253
msgid "Save and close"
msgstr ""
-#: ardour_ui_dialogs.cc:339
+#: ardour_ui_dialogs.cc:353
msgid "This screen is not tall enough to display the mixer window"
msgstr ""
-#: ardour_ui_ed.cc:103
+#: ardour_ui_ed.cc:102
msgid "Session"
msgstr "ΣυνεδÏία"
-#: ardour_ui_ed.cc:106 editor_actions.cc:134 editor_regions.cc:115
+#: ardour_ui_ed.cc:105 editor_actions.cc:138 editor_regions.cc:116
#: port_group.cc:458 session_option_editor.cc:82 session_option_editor.cc:89
msgid "Sync"
msgstr "Sync"
-#: ardour_ui_ed.cc:107
+#: ardour_ui_ed.cc:106
msgid "Options"
msgstr "Επιλογές"
-#: ardour_ui_ed.cc:108
+#: ardour_ui_ed.cc:107
msgid "Window"
msgstr ""
-#: ardour_ui_ed.cc:109
+#: ardour_ui_ed.cc:108
msgid "Help"
msgstr "Βοήθεια!"
-#: ardour_ui_ed.cc:110
+#: ardour_ui_ed.cc:109
msgid "Misc. Shortcuts"
msgstr ""
-#: ardour_ui_ed.cc:111
+#: ardour_ui_ed.cc:110
msgid "Audio File Format"
msgstr ""
-#: ardour_ui_ed.cc:112
+#: ardour_ui_ed.cc:111
msgid "File Type"
msgstr ""
-#: ardour_ui_ed.cc:113 export_format_dialog.cc:65
+#: ardour_ui_ed.cc:112 export_format_dialog.cc:67
msgid "Sample Format"
msgstr ""
-#: ardour_ui_ed.cc:114 rc_option_editor.cc:1814 rc_option_editor.cc:1826
+#: ardour_ui_ed.cc:113 rc_option_editor.cc:2119 rc_option_editor.cc:2131
msgid "Control Surfaces"
msgstr "Επιφάνειες ελέγχου"
-#: ardour_ui_ed.cc:115 rc_option_editor.cc:1546
+#: ardour_ui_ed.cc:114 rc_option_editor.cc:1812 rc_option_editor.cc:2138
msgid "Plugins"
msgstr "Plugins"
-#: ardour_ui_ed.cc:116 rc_option_editor.cc:1889
+#: ardour_ui_ed.cc:115 rc_option_editor.cc:2223
msgid "Metering"
msgstr "ΜέτÏηση"
-#: ardour_ui_ed.cc:117
+#: ardour_ui_ed.cc:116
msgid "Fall Off Rate"
msgstr ""
-#: ardour_ui_ed.cc:118
+#: ardour_ui_ed.cc:117
msgid "Hold Time"
msgstr ""
-#: ardour_ui_ed.cc:119
+#: ardour_ui_ed.cc:118
msgid "Denormal Handling"
msgstr ""
-#: ardour_ui_ed.cc:123 route_time_axis.cc:1489
+#: ardour_ui_ed.cc:122 route_time_axis.cc:1636
msgid "New..."
msgstr ""
-#: ardour_ui_ed.cc:125
+#: ardour_ui_ed.cc:124
msgid "Open..."
msgstr ""
-#: ardour_ui_ed.cc:126
+#: ardour_ui_ed.cc:125
msgid "Recent..."
msgstr ""
-#: ardour_ui_ed.cc:127 panner_editor.cc:29 playlist_selector.cc:64
+#: ardour_ui_ed.cc:126 panner_editor.cc:29 playlist_selector.cc:64
msgid "Close"
msgstr "Κλείσιμο"
-#: ardour_ui_ed.cc:130
+#: ardour_ui_ed.cc:129
msgid "Add Track or Bus..."
msgstr ""
-#: ardour_ui_ed.cc:135
+#: ardour_ui_ed.cc:134
msgid "Open Video"
msgstr ""
-#: ardour_ui_ed.cc:138
+#: ardour_ui_ed.cc:137
msgid "Remove Video"
msgstr ""
-#: ardour_ui_ed.cc:141
+#: ardour_ui_ed.cc:140
msgid "Export To Video File"
msgstr ""
-#: ardour_ui_ed.cc:145
+#: ardour_ui_ed.cc:144
msgid "Snapshot..."
msgstr ""
-#: ardour_ui_ed.cc:149
+#: ardour_ui_ed.cc:148
msgid "Save As..."
msgstr ""
-#: ardour_ui_ed.cc:153 editor_actions.cc:1719 editor_markers.cc:858
-#: editor_snapshots.cc:123 mixer_strip.cc:1471 route_time_axis.cc:1485
+#: ardour_ui_ed.cc:152 editor_actions.cc:1767 editor_markers.cc:872
+#: editor_snapshots.cc:124 mixer_strip.cc:1481 route_time_axis.cc:1632
msgid "Rename..."
msgstr ""
-#: ardour_ui_ed.cc:157
+#: ardour_ui_ed.cc:156
msgid "Save Template..."
msgstr "Αποθήκευση Ï€Ïοσχεδίου..."
-#: ardour_ui_ed.cc:160
+#: ardour_ui_ed.cc:159
msgid "Metadata"
msgstr ""
-#: ardour_ui_ed.cc:163
+#: ardour_ui_ed.cc:162
msgid "Edit Metadata..."
msgstr ""
-#: ardour_ui_ed.cc:166
+#: ardour_ui_ed.cc:165
msgid "Import Metadata..."
msgstr ""
-#: ardour_ui_ed.cc:169
+#: ardour_ui_ed.cc:168
msgid "Export To Audio File(s)..."
msgstr ""
-#: ardour_ui_ed.cc:172
+#: ardour_ui_ed.cc:171
msgid "Stem export..."
msgstr ""
-#: ardour_ui_ed.cc:175 editor_export_audio.cc:63 export_dialog.cc:129
-#: export_video_dialog.cc:71
+#: ardour_ui_ed.cc:174 editor_export_audio.cc:65 export_dialog.cc:129
+#: export_video_dialog.cc:72
msgid "Export"
msgstr "Εξαγωγή"
-#: ardour_ui_ed.cc:178
+#: ardour_ui_ed.cc:177
msgid "Clean-up Unused Sources..."
msgstr ""
-#: ardour_ui_ed.cc:182
+#: ardour_ui_ed.cc:181
msgid "Flush Wastebasket"
msgstr ""
-#: ardour_ui_ed.cc:189
+#: ardour_ui_ed.cc:188
msgid "Quit"
msgstr "Έξοδος"
-#: ardour_ui_ed.cc:193
+#: ardour_ui_ed.cc:192
msgid "Maximise Editor Space"
msgstr "Μεγιστοποίηση χώÏου για τον Editor"
+#: ardour_ui_ed.cc:193
+msgid "Maximise Mixer Space"
+msgstr ""
+
#: ardour_ui_ed.cc:194
msgid "Show Toolbars"
msgstr ""
-#: ardour_ui_ed.cc:197 mixer_ui.cc:1865 mixer_ui.cc:1871
+#: ardour_ui_ed.cc:197
+msgid "Show more UI preferences"
+msgstr ""
+
+#: ardour_ui_ed.cc:199 mixer_ui.cc:1900 mixer_ui.cc:1906
msgid "Window|Mixer"
msgstr ""
-#: ardour_ui_ed.cc:198
+#: ardour_ui_ed.cc:200
msgid "Toggle Editor+Mixer"
msgstr ""
-#: ardour_ui_ed.cc:199 meterbridge.cc:230 meterbridge.cc:236
+#: ardour_ui_ed.cc:201 meterbridge.cc:214 meterbridge.cc:220
msgid "Window|Meterbridge"
msgstr ""
-#: ardour_ui_ed.cc:201 midi_tracer.cc:42
+#: ardour_ui_ed.cc:203 midi_tracer.cc:45
msgid "MIDI Tracer"
msgstr ""
-#: ardour_ui_ed.cc:203
+#: ardour_ui_ed.cc:205
msgid "Chat"
msgstr ""
-#: ardour_ui_ed.cc:205
+#: ardour_ui_ed.cc:207
msgid "Help|Manual"
msgstr ""
-#: ardour_ui_ed.cc:206
+#: ardour_ui_ed.cc:208
msgid "Reference"
msgstr ""
-#: ardour_ui_ed.cc:208 plugin_ui.cc:415
+#: ardour_ui_ed.cc:210 plugin_ui.cc:416
msgid "Save"
msgstr "Αποθήκευση"
-#: ardour_ui_ed.cc:216 rc_option_editor.cc:1112 rc_option_editor.cc:1123
-#: rc_option_editor.cc:1132 rc_option_editor.cc:1145 rc_option_editor.cc:1158
-#: rc_option_editor.cc:1167 rc_option_editor.cc:1177 rc_option_editor.cc:1179
-#: rc_option_editor.cc:1189 rc_option_editor.cc:1205 rc_option_editor.cc:1218
-#: rc_option_editor.cc:1236 rc_option_editor.cc:1238 rc_option_editor.cc:1252
-#: rc_option_editor.cc:1255 rc_option_editor.cc:1257 rc_option_editor.cc:1274
-#: rc_option_editor.cc:1285
+#: ardour_ui_ed.cc:218 rc_option_editor.cc:1352 rc_option_editor.cc:1363
+#: rc_option_editor.cc:1374 rc_option_editor.cc:1383 rc_option_editor.cc:1396
+#: rc_option_editor.cc:1409 rc_option_editor.cc:1418 rc_option_editor.cc:1428
+#: rc_option_editor.cc:1430 rc_option_editor.cc:1440 rc_option_editor.cc:1456
+#: rc_option_editor.cc:1469 rc_option_editor.cc:1487 rc_option_editor.cc:1489
+#: rc_option_editor.cc:1503 rc_option_editor.cc:1506 rc_option_editor.cc:1508
+#: rc_option_editor.cc:1525 rc_option_editor.cc:1536
msgid "Transport"
msgstr ""
-#: ardour_ui_ed.cc:222
+#: ardour_ui_ed.cc:224
msgid "Stop"
msgstr "ΠαÏση"
-#: ardour_ui_ed.cc:225
+#: ardour_ui_ed.cc:227
msgid "Roll"
msgstr ""
-#: ardour_ui_ed.cc:229
+#: ardour_ui_ed.cc:231 ardour_ui_ed.cc:234
msgid "Start/Stop"
msgstr ""
-#: ardour_ui_ed.cc:232
+#: ardour_ui_ed.cc:237
msgid "Start/Continue/Stop"
msgstr ""
-#: ardour_ui_ed.cc:235
+#: ardour_ui_ed.cc:240
msgid "Stop and Forget Capture"
msgstr ""
-#: ardour_ui_ed.cc:245
+#: ardour_ui_ed.cc:250
msgid "Transition To Roll"
msgstr ""
-#: ardour_ui_ed.cc:249
+#: ardour_ui_ed.cc:254
msgid "Transition To Reverse"
msgstr ""
-#: ardour_ui_ed.cc:253
+#: ardour_ui_ed.cc:258
msgid "Play Loop Range"
msgstr ""
-#: ardour_ui_ed.cc:256
+#: ardour_ui_ed.cc:261
msgid "Play Selected Range"
msgstr ""
-#: ardour_ui_ed.cc:259
+#: ardour_ui_ed.cc:264
msgid "Play Selection w/Preroll"
msgstr ""
-#: ardour_ui_ed.cc:263
+#: ardour_ui_ed.cc:268
msgid "Enable Record"
msgstr "ΕνεÏγοποίηση ΕγγÏαφής"
-#: ardour_ui_ed.cc:266
+#: ardour_ui_ed.cc:271 ardour_ui_ed.cc:275
msgid "Start Recording"
msgstr ""
-#: ardour_ui_ed.cc:270
+#: ardour_ui_ed.cc:279
msgid "Rewind"
msgstr ""
-#: ardour_ui_ed.cc:273
+#: ardour_ui_ed.cc:282
msgid "Rewind (Slow)"
msgstr ""
-#: ardour_ui_ed.cc:276
+#: ardour_ui_ed.cc:285
msgid "Rewind (Fast)"
msgstr ""
-#: ardour_ui_ed.cc:279
+#: ardour_ui_ed.cc:288
msgid "Forward"
msgstr ""
-#: ardour_ui_ed.cc:282
+#: ardour_ui_ed.cc:291
msgid "Forward (Slow)"
msgstr ""
-#: ardour_ui_ed.cc:285
+#: ardour_ui_ed.cc:294
msgid "Forward (Fast)"
msgstr ""
-#: ardour_ui_ed.cc:288
+#: ardour_ui_ed.cc:297
msgid "Goto Zero"
msgstr ""
-#: ardour_ui_ed.cc:291
+#: ardour_ui_ed.cc:300 ardour_ui_ed.cc:303
msgid "Goto Start"
msgstr "Πήγαινε στην ΑÏχή"
-#: ardour_ui_ed.cc:294
+#: ardour_ui_ed.cc:306
msgid "Goto End"
msgstr ""
-#: ardour_ui_ed.cc:297
+#: ardour_ui_ed.cc:309
msgid "Goto Wall Clock"
msgstr ""
-#: ardour_ui_ed.cc:301
+#: ardour_ui_ed.cc:314
+msgid "Numpad Decimal"
+msgstr ""
+
+#: ardour_ui_ed.cc:317
+msgid "Numpad 0"
+msgstr ""
+
+#: ardour_ui_ed.cc:320
+msgid "Numpad 1"
+msgstr ""
+
+#: ardour_ui_ed.cc:323
+msgid "Numpad 2"
+msgstr ""
+
+#: ardour_ui_ed.cc:326
+msgid "Numpad 3"
+msgstr ""
+
+#: ardour_ui_ed.cc:329
+msgid "Numpad 4"
+msgstr ""
+
+#: ardour_ui_ed.cc:332
+msgid "Numpad 5"
+msgstr ""
+
+#: ardour_ui_ed.cc:335
+msgid "Numpad 6"
+msgstr ""
+
+#: ardour_ui_ed.cc:338
+msgid "Numpad 7"
+msgstr ""
+
+#: ardour_ui_ed.cc:341
+msgid "Numpad 8"
+msgstr ""
+
+#: ardour_ui_ed.cc:344
+msgid "Numpad 9"
+msgstr ""
+
+#: ardour_ui_ed.cc:348
msgid "Focus On Clock"
msgstr ""
-#: ardour_ui_ed.cc:305 ardour_ui_ed.cc:314 audio_clock.cc:2046 editor.cc:237
-#: editor_actions.cc:544 editor_actions.cc:553 export_timespan_selector.cc:88
+#: ardour_ui_ed.cc:352 ardour_ui_ed.cc:361 audio_clock.cc:2072 editor.cc:254
+#: editor_actions.cc:579 editor_actions.cc:588 export_timespan_selector.cc:88
#: session_option_editor.cc:41 session_option_editor.cc:61
#: session_option_editor.cc:80 session_option_editor.cc:96
#: session_option_editor.cc:109 session_option_editor.cc:122
@@ -1723,125 +1807,125 @@ msgstr ""
msgid "Timecode"
msgstr ""
-#: ardour_ui_ed.cc:307 ardour_ui_ed.cc:316 editor_actions.cc:542
+#: ardour_ui_ed.cc:354 ardour_ui_ed.cc:363 editor_actions.cc:577
msgid "Bars & Beats"
msgstr ""
-#: ardour_ui_ed.cc:309 ardour_ui_ed.cc:318
+#: ardour_ui_ed.cc:356 ardour_ui_ed.cc:365
msgid "Minutes & Seconds"
msgstr ""
-#: ardour_ui_ed.cc:311 ardour_ui_ed.cc:320 audio_clock.cc:2050 editor.cc:238
-#: editor_actions.cc:543
+#: ardour_ui_ed.cc:358 ardour_ui_ed.cc:367 audio_clock.cc:2076 editor.cc:255
+#: editor_actions.cc:578
msgid "Samples"
msgstr ""
-#: ardour_ui_ed.cc:323
+#: ardour_ui_ed.cc:370
msgid "Punch In"
msgstr ""
-#: ardour_ui_ed.cc:324 mixer_strip.cc:1905 route_ui.cc:137
-#: time_info_box.cc:113
+#: ardour_ui_ed.cc:371 mixer_strip.cc:1774 mixer_strip.cc:1798
+#: mixer_strip.cc:1962 route_ui.cc:158 time_info_box.cc:116
msgid "In"
msgstr ""
-#: ardour_ui_ed.cc:327
+#: ardour_ui_ed.cc:374
msgid "Punch Out"
msgstr ""
-#: ardour_ui_ed.cc:328 time_info_box.cc:114
+#: ardour_ui_ed.cc:375 mixer_strip.cc:1786 time_info_box.cc:117
msgid "Out"
msgstr ""
-#: ardour_ui_ed.cc:331
+#: ardour_ui_ed.cc:378
msgid "Punch In/Out"
msgstr ""
-#: ardour_ui_ed.cc:332
+#: ardour_ui_ed.cc:379
msgid "In/Out"
msgstr ""
-#: ardour_ui_ed.cc:335 rc_option_editor.cc:1069
+#: ardour_ui_ed.cc:382 rc_option_editor.cc:1309
msgid "Click"
msgstr "ΜετÏονόμος"
-#: ardour_ui_ed.cc:338
+#: ardour_ui_ed.cc:385
msgid "Auto Input"
msgstr ""
-#: ardour_ui_ed.cc:341
+#: ardour_ui_ed.cc:388
msgid "Auto Play"
msgstr ""
-#: ardour_ui_ed.cc:352
+#: ardour_ui_ed.cc:399
msgid "Sync Startup to Video"
msgstr ""
-#: ardour_ui_ed.cc:354
+#: ardour_ui_ed.cc:401
msgid "Time Master"
msgstr ""
-#: ardour_ui_ed.cc:361
+#: ardour_ui_ed.cc:408
msgid "Toggle Record Enable Track %1"
msgstr ""
-#: ardour_ui_ed.cc:368
+#: ardour_ui_ed.cc:415
msgid "Percentage"
msgstr "Ποσοστό"
-#: ardour_ui_ed.cc:369 shuttle_control.cc:169
+#: ardour_ui_ed.cc:416 shuttle_control.cc:169
msgid "Semitones"
msgstr "Ημιτόνια"
-#: ardour_ui_ed.cc:373
+#: ardour_ui_ed.cc:420
msgid "Send MTC"
msgstr "Αποστολή MTC"
-#: ardour_ui_ed.cc:375
+#: ardour_ui_ed.cc:422
msgid "Send MMC"
msgstr "Αποστολή MMC"
-#: ardour_ui_ed.cc:377
+#: ardour_ui_ed.cc:424
msgid "Use MMC"
msgstr ""
-#: ardour_ui_ed.cc:379 rc_option_editor.cc:1698
+#: ardour_ui_ed.cc:426 rc_option_editor.cc:1978
msgid "Send MIDI Clock"
msgstr ""
-#: ardour_ui_ed.cc:381
+#: ardour_ui_ed.cc:428
msgid "Send MIDI Feedback"
msgstr ""
-#: ardour_ui_ed.cc:387
+#: ardour_ui_ed.cc:434
msgid "Panic"
msgstr ""
-#: ardour_ui_ed.cc:472
+#: ardour_ui_ed.cc:519
msgid "Wall Clock"
msgstr ""
-#: ardour_ui_ed.cc:473
+#: ardour_ui_ed.cc:520
msgid "Disk Space"
msgstr ""
-#: ardour_ui_ed.cc:474
+#: ardour_ui_ed.cc:521
msgid "DSP"
msgstr ""
-#: ardour_ui_ed.cc:475
+#: ardour_ui_ed.cc:522
msgid "Buffers"
msgstr ""
-#: ardour_ui_ed.cc:477
+#: ardour_ui_ed.cc:524
msgid "Timecode Format"
msgstr ""
-#: ardour_ui_ed.cc:478
+#: ardour_ui_ed.cc:525
msgid "File Format"
msgstr ""
-#: ardour_ui_options.cc:61
+#: ardour_ui_options.cc:63
msgid ""
"It is not possible to use JACK as the the sync source\n"
"when the pull up/down setting is non-zero."
@@ -1851,331 +1935,249 @@ msgstr ""
msgid "Internal"
msgstr "ΕσωτεÏικό"
-#: ardour_ui_options.cc:468
+#: ardour_ui_options.cc:496
msgid "Enable/Disable external positional sync"
msgstr ""
-#: ardour_ui_options.cc:470
+#: ardour_ui_options.cc:498
msgid "Sync to JACK is not possible: video pull up/down is set"
msgstr ""
-#: audio_clock.cc:1012 audio_clock.cc:1031
+#: audio_clock.cc:1028 audio_clock.cc:1047
msgid "--pending--"
msgstr ""
-#: audio_clock.cc:1083
+#: audio_clock.cc:1099
msgid "SR"
msgstr ""
-#: audio_clock.cc:1089 audio_clock.cc:1093
+#: audio_clock.cc:1105 audio_clock.cc:1109
msgid "Pull"
msgstr ""
-#: audio_clock.cc:1091
+#: audio_clock.cc:1107
#, c-format
msgid "%+.4f%%"
msgstr ""
-#: audio_clock.cc:1237 editor.cc:239 editor_actions.cc:135
-#: editor_actions.cc:536
+#: audio_clock.cc:1263 editor.cc:256 editor_actions.cc:139
+#: editor_actions.cc:571
msgid "Tempo"
msgstr "ΧÏόνος"
-#: audio_clock.cc:1241 editor.cc:240 editor_actions.cc:537
+#: audio_clock.cc:1267 editor.cc:257 editor_actions.cc:572
msgid "Meter"
msgstr "ΜετÏητής"
-#: audio_clock.cc:1819 audio_streamview.cc:116 editor_actions.cc:1039
-#: midi_region_view.cc:2991 session_metadata_dialog.cc:331
+#: audio_clock.cc:1845 audio_streamview.cc:115 editor_actions.cc:1085
+#: midi_region_view.cc:2989 session_metadata_dialog.cc:331
#: session_metadata_dialog.cc:379 session_metadata_dialog.cc:435
-#: session_metadata_dialog.cc:716
+#: session_metadata_dialog.cc:716 streamview.cc:433
msgid "programming error: %1"
msgstr "σφάλμα Ï€ÏογÏαμματισμοÏ: %1"
-#: audio_clock.cc:1952 audio_clock.cc:1980
+#: audio_clock.cc:1978 audio_clock.cc:2006
msgid "programming error: %1 %2"
msgstr ""
-#: audio_clock.cc:2048 editor.cc:236 export_timespan_selector.cc:98
+#: audio_clock.cc:2074 editor.cc:253 export_timespan_selector.cc:98
msgid "Bars:Beats"
msgstr "ΜπάÏες:ΚτÏποι"
-#: audio_clock.cc:2049 export_timespan_selector.cc:93
+#: audio_clock.cc:2075 export_timespan_selector.cc:93
msgid "Minutes:Seconds"
msgstr "Λεπτά:ΔεÏτεÏα"
-#: audio_clock.cc:2054
+#: audio_clock.cc:2080
msgid "Set From Playhead"
msgstr ""
-#: audio_clock.cc:2055
+#: audio_clock.cc:2081
msgid "Locate to This Time"
msgstr ""
-#: audio_region_editor.cc:63 control_point_dialog.cc:49 rhythm_ferret.cc:125
-#: rhythm_ferret.cc:130 rhythm_ferret.cc:135
+#: audio_region_editor.cc:64 control_point_dialog.cc:49 rhythm_ferret.cc:124
+#: rhythm_ferret.cc:129 rhythm_ferret.cc:134
msgid "dB"
msgstr ""
-#: audio_region_editor.cc:66
+#: audio_region_editor.cc:67
msgid "Region gain:"
msgstr ""
-#: audio_region_editor.cc:76 export_format_dialog.cc:43
+#: audio_region_editor.cc:77 export_format_dialog.cc:43
msgid "dBFS"
msgstr ""
-#: audio_region_editor.cc:79
+#: audio_region_editor.cc:80
msgid "Peak amplitude:"
msgstr ""
-#: audio_region_editor.cc:90
+#: audio_region_editor.cc:91
msgid "Calculating..."
msgstr ""
-#: audio_region_view.cc:1001
+#: audio_region_view.cc:1243
msgid "add gain control point"
msgstr "ΠÏοσθεση σημείου ελέγχου gain"
-#: audio_time_axis.cc:389
+#: audio_time_axis.cc:430 midi_time_axis.cc:619
msgid "Fader"
msgstr ""
-#: audio_time_axis.cc:396
+#: audio_time_axis.cc:437 editor_actions.cc:1800 mixer_strip.cc:1961
+#: monitor_section.cc:273 route_time_axis.cc:253
+msgid "Mute"
+msgstr "Σιγή"
+
+#: audio_time_axis.cc:445 midi_time_axis.cc:627
msgid "Pan"
msgstr ""
-#: automation_line.cc:252 automation_line.cc:435
+#: automation_line.cc:272 automation_line.cc:453
msgid "automation event move"
msgstr "μετακίνηση συμβάντος αυτοματισμοÏ"
-#: automation_line.cc:462 automation_line.cc:483
+#: automation_line.cc:479 automation_line.cc:499
msgid "automation range move"
msgstr ""
-#: automation_line.cc:823 region_gain_line.cc:73
+#: automation_line.cc:854 region_gain_line.cc:72
msgid "remove control point"
msgstr "απαλοιφή σημείου ελέγχου"
-#: automation_line.cc:941
+#: automation_line.cc:971
msgid "Ignoring illegal points on AutomationLine \"%1\""
msgstr ""
-#: automation_region_view.cc:160 automation_time_axis.cc:583
+#: automation_region_view.cc:162 automation_time_axis.cc:627
msgid "add automation event"
msgstr ""
-#: automation_time_axis.cc:146
+#: automation_time_axis.cc:141
msgid "automation state"
msgstr "Κατάσταση αυτοματισμοÏ"
-#: automation_time_axis.cc:147
+#: automation_time_axis.cc:142
msgid "hide track"
msgstr "απόκÏυψη καναλιοÏ"
-#: automation_time_axis.cc:255 automation_time_axis.cc:307
-#: automation_time_axis.cc:496 gain_meter.cc:194 generic_pluginui.cc:454
-#: generic_pluginui.cc:775 panner_ui.cc:149
+#: automation_time_axis.cc:297 automation_time_axis.cc:349
+#: automation_time_axis.cc:540 gain_meter.cc:186 generic_pluginui.cc:452
+#: generic_pluginui.cc:770 panner_ui.cc:150
msgid "Automation|Manual"
msgstr ""
-#: automation_time_axis.cc:257 automation_time_axis.cc:318
-#: automation_time_axis.cc:501 editor.cc:1937 editor.cc:2014
-#: editor_actions.cc:118 editor_actions.cc:1865 gain_meter.cc:197
-#: generic_pluginui.cc:457 generic_pluginui.cc:777 midi_time_axis.cc:1488
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1494 panner_ui.cc:152
+#: automation_time_axis.cc:299 automation_time_axis.cc:360
+#: automation_time_axis.cc:545 editor.cc:1856 editor.cc:1933
+#: editor_actions.cc:122 editor_actions.cc:1916 gain_meter.cc:189
+#: generic_pluginui.cc:455 generic_pluginui.cc:772 midi_time_axis.cc:1687
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1693 panner_ui.cc:153
msgid "Play"
msgstr "ΑναπαÏ/γή"
-#: automation_time_axis.cc:259 automation_time_axis.cc:329
-#: automation_time_axis.cc:506 gain_meter.cc:200 generic_pluginui.cc:460
-#: generic_pluginui.cc:779 panner_ui.cc:155
+#: automation_time_axis.cc:301 automation_time_axis.cc:371
+#: automation_time_axis.cc:550 gain_meter.cc:192 generic_pluginui.cc:458
+#: generic_pluginui.cc:774 panner_ui.cc:156
msgid "Write"
msgstr "ΓÏάψε"
-#: automation_time_axis.cc:261 automation_time_axis.cc:340
-#: automation_time_axis.cc:511 gain_meter.cc:203 generic_pluginui.cc:463
-#: generic_pluginui.cc:781 panner_ui.cc:158
+#: automation_time_axis.cc:303 automation_time_axis.cc:382
+#: automation_time_axis.cc:555 gain_meter.cc:195 generic_pluginui.cc:461
+#: generic_pluginui.cc:776 panner_ui.cc:159
msgid "Touch"
msgstr "Αγγιγμα"
-#: automation_time_axis.cc:351 generic_pluginui.cc:466 meter_patterns.cc:108
+#: automation_time_axis.cc:393 generic_pluginui.cc:464 meter_patterns.cc:112
msgid "???"
msgstr "???"
-#: automation_time_axis.cc:392
+#: automation_time_axis.cc:434
msgid "clear automation"
msgstr "εκκαθάÏιση αυτοματισμοÏ"
-#: automation_time_axis.cc:485 editor_actions.cc:613 editor_markers.cc:857
-#: location_ui.cc:55 plugin_selector.cc:85 route_time_axis.cc:708
+#: automation_time_axis.cc:529 editor_actions.cc:655 editor_markers.cc:871
+#: location_ui.cc:56 plugin_selector.cc:86 route_time_axis.cc:827
msgid "Hide"
msgstr "ΚÏÏψιμο"
-#: automation_time_axis.cc:487
+#: automation_time_axis.cc:531
msgid "Clear"
msgstr "ΕκκαθάÏιση"
-#: automation_time_axis.cc:516
+#: automation_time_axis.cc:560
msgid "State"
msgstr "Κατάσταση"
-#: automation_time_axis.cc:531
+#: automation_time_axis.cc:575
msgid "Discrete"
msgstr ""
-#: automation_time_axis.cc:537 editor.cc:1458 editor.cc:1465 editor.cc:1521
-#: editor.cc:1527 export_format_dialog.cc:476
+#: automation_time_axis.cc:581 export_format_dialog.cc:485
msgid "Linear"
msgstr "ΓÏαμμικό"
-#: automation_time_axis.cc:543 rhythm_ferret.cc:110 route_time_axis.cc:647
+#: automation_time_axis.cc:587 rhythm_ferret.cc:109 route_time_axis.cc:765
#: shuttle_control.cc:188
msgid "Mode"
msgstr "ΛειτουÏγία"
-#: bundle_manager.cc:181
+#: bundle_manager.cc:182
msgid "Disassociate"
msgstr ""
-#: bundle_manager.cc:185
+#: bundle_manager.cc:186
msgid "Edit Bundle"
msgstr ""
-#: bundle_manager.cc:200
+#: bundle_manager.cc:201
msgid "Direction:"
msgstr ""
-#: bundle_manager.cc:205 bundle_manager.cc:209 mixer_strip.cc:158
-#: mixer_strip.cc:2127
+#: bundle_manager.cc:206 bundle_manager.cc:210 engine_dialog.cc:641
+#: mixer_strip.cc:164 mixer_strip.cc:371 mixer_strip.cc:2195
+#: rc_option_editor.cc:2198
msgid "Input"
msgstr ""
-#: bundle_manager.cc:206 bundle_manager.cc:211 bundle_manager.cc:245
-#: mixer_strip.cc:163 mixer_strip.cc:2130
+#: bundle_manager.cc:207 bundle_manager.cc:212 bundle_manager.cc:246
+#: engine_dialog.cc:643 mixer_strip.cc:168 mixer_strip.cc:375
+#: mixer_strip.cc:2198 rc_option_editor.cc:2202
msgid "Output"
msgstr ""
-#: bundle_manager.cc:264 editor.cc:1978 editor_actions.cc:90
-#: editor_actions.cc:100
+#: bundle_manager.cc:265 editor.cc:1897 editor_actions.cc:94
+#: editor_actions.cc:104 rc_option_editor.cc:1067 rc_option_editor.cc:1074
msgid "Edit"
msgstr "ΕπεξεÏγασία"
-#: bundle_manager.cc:265 editor.cc:5497 editor_actions.cc:310
-#: editor_actions.cc:368 plugin_ui.cc:416 processor_box.cc:2268
-#: route_time_axis.cc:713
+#: bundle_manager.cc:266 editor.cc:5593 editor_actions.cc:335
+#: editor_actions.cc:336 editor_actions.cc:402 plugin_ui.cc:417
+#: processor_box.cc:2502 route_time_axis.cc:832
msgid "Delete"
msgstr ""
-#: bundle_manager.cc:271 bundle_manager.cc:439 editor_route_groups.cc:96
-#: editor_routes.cc:202 midi_list_editor.cc:106 session_metadata_dialog.cc:525
+#: bundle_manager.cc:272 bundle_manager.cc:440 editor_route_groups.cc:97
+#: editor_routes.cc:204 midi_list_editor.cc:106 session_metadata_dialog.cc:525
msgid "Name"
msgstr ""
-#: bundle_manager.cc:282
+#: bundle_manager.cc:283
msgid "New"
msgstr "Îέο"
-#: bundle_manager.cc:332
+#: bundle_manager.cc:333
msgid "Bundle"
msgstr ""
-#: bundle_manager.cc:417
+#: bundle_manager.cc:418
msgid "Add Channel"
msgstr ""
-#: bundle_manager.cc:424
+#: bundle_manager.cc:425
msgid "Rename Channel"
msgstr ""
-#: canvas-simpleline.c:111 canvas-simplerect.c:106
-msgid "x1"
-msgstr ""
-
-#: canvas-simpleline.c:112 canvas-simplerect.c:107
-msgid "x coordinate of upper left corner of rect"
-msgstr "x συντεταγμένη άνω αÏιστεÏής γωνίας του τετ"
-
-#: canvas-simpleline.c:121 canvas-simplerect.c:116
-msgid "y1"
-msgstr ""
-
-#: canvas-simpleline.c:122 canvas-simplerect.c:117
-msgid "y coordinate of upper left corner of rect "
-msgstr "y συντεταγμένη άνω αÏιστεÏής γωνίας του τετ"
-
-#: canvas-simpleline.c:132 canvas-simplerect.c:127
-msgid "x2"
-msgstr ""
-
-#: canvas-simpleline.c:133 canvas-simplerect.c:128
-msgid "x coordinate of lower right corner of rect"
-msgstr "x συντεταγμένη κάτω δεξιάς γωνίας του τετ"
-
-#: canvas-simpleline.c:142 canvas-simplerect.c:137
-msgid "y2"
-msgstr ""
-
-#: canvas-simpleline.c:143 canvas-simplerect.c:138
-msgid "y coordinate of lower right corner of rect "
-msgstr "y συντεταγμένη κάτω δεξιάς γωνίας του τετ"
-
-#: canvas-simpleline.c:151
-msgid "color rgba"
-msgstr ""
-
-#: canvas-simpleline.c:152
-msgid "color of line"
-msgstr "χÏώμα της γÏαμμής"
-
-#: canvas-simplerect.c:148
-msgid "outline pixels"
-msgstr ""
-
-#: canvas-simplerect.c:149
-msgid "width in pixels of outline"
-msgstr "πλάτος σε pixels πεÏιμέτÏου"
-
-#: canvas-simplerect.c:159
-msgid "outline what"
-msgstr "κÏκλωσε τι"
-
-#: canvas-simplerect.c:160
-msgid "which boundaries to outline (mask)"
-msgstr "ποιά ÏŒÏια να κυκλώσω (mask)"
-
-#: canvas-simplerect.c:171
-msgid "fill"
-msgstr "γέμισμα"
-
-#: canvas-simplerect.c:172
-msgid "fill rectangle"
-msgstr "γέμιση τετÏαγώνου"
-
-#: canvas-simplerect.c:179
-msgid "draw"
-msgstr "σχημάτισε"
-
-#: canvas-simplerect.c:180
-msgid "draw rectangle"
-msgstr "σχηματισμός τετÏαγώνου"
-
-#: canvas-simplerect.c:188
-msgid "outline color rgba"
-msgstr ""
-
-#: canvas-simplerect.c:189
-msgid "color of outline"
-msgstr ""
-
-#: canvas-simplerect.c:199
-msgid "fill color rgba"
-msgstr ""
-
-#: canvas-simplerect.c:200
-msgid "color of fill"
-msgstr ""
-
#: configinfo.cc:28
msgid "Build Configuration"
msgstr ""
@@ -2213,7 +2215,7 @@ msgid "Set selected notes to this length"
msgstr ""
#: edit_note_dialog.cc:58 midi_list_editor.cc:104 patch_change_dialog.cc:91
-#: step_entry.cc:393
+#: step_entry.cc:394
msgid "Channel"
msgstr ""
@@ -2221,7 +2223,7 @@ msgstr ""
msgid "Pitch"
msgstr ""
-#: edit_note_dialog.cc:78 step_entry.cc:407
+#: edit_note_dialog.cc:78 step_entry.cc:408
msgid "Velocity"
msgstr ""
@@ -2229,9 +2231,9 @@ msgstr ""
msgid "Time"
msgstr ""
-#: edit_note_dialog.cc:98 editor_regions.cc:114
-#: export_timespan_selector.cc:359 export_timespan_selector.cc:421
-#: location_ui.cc:317 midi_list_editor.cc:114 time_info_box.cc:105
+#: edit_note_dialog.cc:98 editor_regions.cc:115
+#: export_timespan_selector.cc:378 export_timespan_selector.cc:440
+#: location_ui.cc:319 midi_list_editor.cc:114 time_info_box.cc:108
msgid "Length"
msgstr ""
@@ -2239,1991 +2241,2092 @@ msgstr ""
msgid "edit note"
msgstr ""
-#: editor.cc:137 editor.cc:3433
+#: editor.cc:144
msgid "CD Frames"
msgstr ""
-#: editor.cc:138 editor.cc:3435
-msgid "Timecode Frames"
+#: editor.cc:145
+msgid "TC Frames"
msgstr ""
-#: editor.cc:139 editor.cc:3437
-msgid "Timecode Seconds"
+#: editor.cc:146
+msgid "TC Seconds"
msgstr ""
-#: editor.cc:140 editor.cc:3439
-msgid "Timecode Minutes"
+#: editor.cc:147
+msgid "TC Minutes"
msgstr ""
-#: editor.cc:141 editor.cc:3441
+#: editor.cc:148
msgid "Seconds"
msgstr "ΔευτεÏόλεπτα"
-#: editor.cc:142 editor.cc:3443
+#: editor.cc:149
msgid "Minutes"
msgstr "Λεπτά"
-#: editor.cc:143 editor.cc:3417 quantize_dialog.cc:37 quantize_dialog.cc:141
+#: editor.cc:150 quantize_dialog.cc:37 quantize_dialog.cc:141
msgid "Beats/128"
msgstr ""
-#: editor.cc:144 editor.cc:3415 quantize_dialog.cc:38 quantize_dialog.cc:143
+#: editor.cc:151 quantize_dialog.cc:38 quantize_dialog.cc:143
msgid "Beats/64"
msgstr ""
-#: editor.cc:145 editor.cc:3413 quantize_dialog.cc:39 quantize_dialog.cc:145
+#: editor.cc:152 quantize_dialog.cc:39 quantize_dialog.cc:145
msgid "Beats/32"
msgstr "ΚτÏποι/32"
-#: editor.cc:146 editor.cc:3411
+#: editor.cc:153
msgid "Beats/28"
msgstr ""
-#: editor.cc:147 editor.cc:3409
+#: editor.cc:154
msgid "Beats/24"
msgstr ""
-#: editor.cc:148 editor.cc:3407
+#: editor.cc:155
msgid "Beats/20"
msgstr ""
-#: editor.cc:149 editor.cc:3405 quantize_dialog.cc:40 quantize_dialog.cc:147
+#: editor.cc:156 quantize_dialog.cc:40 quantize_dialog.cc:147
msgid "Beats/16"
msgstr "ΚτÏποι/16"
-#: editor.cc:150 editor.cc:3403
+#: editor.cc:157
msgid "Beats/14"
msgstr ""
-#: editor.cc:151 editor.cc:3401
+#: editor.cc:158
msgid "Beats/12"
msgstr ""
-#: editor.cc:152 editor.cc:3399
+#: editor.cc:159
msgid "Beats/10"
msgstr ""
-#: editor.cc:153 editor.cc:3397 quantize_dialog.cc:41 quantize_dialog.cc:149
+#: editor.cc:160 quantize_dialog.cc:41 quantize_dialog.cc:149
msgid "Beats/8"
msgstr "ΚτÏποι/8"
-#: editor.cc:154 editor.cc:3395
+#: editor.cc:161
msgid "Beats/7"
msgstr ""
-#: editor.cc:155 editor.cc:3393
+#: editor.cc:162
msgid "Beats/6"
msgstr ""
-#: editor.cc:156 editor.cc:3391
+#: editor.cc:163
msgid "Beats/5"
msgstr ""
-#: editor.cc:157 editor.cc:3389 quantize_dialog.cc:42 quantize_dialog.cc:151
+#: editor.cc:164 quantize_dialog.cc:42 quantize_dialog.cc:151
msgid "Beats/4"
msgstr "ΚτÏποι/4"
-#: editor.cc:158 editor.cc:3387 quantize_dialog.cc:43 quantize_dialog.cc:153
+#: editor.cc:165 quantize_dialog.cc:43 quantize_dialog.cc:153
msgid "Beats/3"
msgstr "ΚτÏποι/3"
-#: editor.cc:159 editor.cc:3385 quantize_dialog.cc:44 quantize_dialog.cc:155
+#: editor.cc:166 quantize_dialog.cc:44 quantize_dialog.cc:155
msgid "Beats/2"
msgstr ""
-#: editor.cc:160 editor.cc:3419 quantize_dialog.cc:45 quantize_dialog.cc:157
+#: editor.cc:167 quantize_dialog.cc:45 quantize_dialog.cc:157
msgid "Beats"
msgstr "ΚτÏποι"
-#: editor.cc:161 editor.cc:3421
+#: editor.cc:168
msgid "Bars"
msgstr "ΜπάÏες"
-#: editor.cc:162 editor.cc:3423
+#: editor.cc:169
msgid "Marks"
msgstr "Στίγματα"
-#: editor.cc:163 editor.cc:3425
+#: editor.cc:170
msgid "Region starts"
msgstr "ΑÏχές ΠεÏιοχών"
-#: editor.cc:164 editor.cc:3427
+#: editor.cc:171
msgid "Region ends"
msgstr "Τέλη ΠεÏιοχών"
-#: editor.cc:165 editor.cc:3431
+#: editor.cc:172
msgid "Region syncs"
msgstr "ΣυγχÏονισμός ΠεÏιοχών"
-#: editor.cc:166 editor.cc:3429
+#: editor.cc:173
msgid "Region bounds"
msgstr "ÎŒÏια πεÏιοχών"
-#: editor.cc:171 editor.cc:3459 editor_actions.cc:485
+#: editor.cc:178 editor_actions.cc:520
msgid "No Grid"
msgstr ""
-#: editor.cc:172 editor.cc:3461 editor_actions.cc:486
+#: editor.cc:179 editor_actions.cc:521
msgid "Grid"
msgstr ""
-#: editor.cc:173 editor.cc:3463 editor_actions.cc:487
+#: editor.cc:180 editor_actions.cc:522
msgid "Magnetic"
msgstr "Μαγνητικό"
-#: editor.cc:178 editor.cc:188 editor.cc:3502 editor.cc:3527
-#: editor_actions.cc:117 editor_actions.cc:468
+#: editor.cc:185 editor.cc:203 editor_actions.cc:121 editor_actions.cc:503
msgid "Playhead"
msgstr ""
-#: editor.cc:179 editor.cc:3500 editor_actions.cc:470
+#: editor.cc:186 editor_actions.cc:505
msgid "Marker"
msgstr "Στίγμα"
-#: editor.cc:180 editor.cc:189 editor.cc:3529 editor_actions.cc:469
+#: editor.cc:187 editor.cc:204 editor_actions.cc:504
msgid "Mouse"
msgstr ""
-#: editor.cc:185 editor.cc:3521 mono_panner_editor.cc:42
+#: editor.cc:192 editor_actions.cc:512
+msgid "Slide"
+msgstr "Ολίσθηση"
+
+#: editor.cc:193
+msgid "Splice"
+msgstr "Splice"
+
+#: editor.cc:194 editor_actions.cc:511
+msgid "Ripple"
+msgstr ""
+
+#: editor.cc:195 editor_actions.cc:157 editor_actions.cc:513
+#: editor_actions.cc:1785 editor_markers.cc:874 editor_rulers.cc:260
+#: location_ui.cc:57 mixer_strip.cc:202 mixer_strip.cc:1983
+msgid "Lock"
+msgstr "Κλείδωμα"
+
+#: editor.cc:200 mono_panner_editor.cc:42
msgid "Left"
msgstr "ΑÏιστεÏÏŒ"
-#: editor.cc:186 editor.cc:3523 mono_panner_editor.cc:47
+#: editor.cc:201 mono_panner_editor.cc:47
msgid "Right"
msgstr "Δεξιό"
-#: editor.cc:187 editor.cc:3525
+#: editor.cc:202
msgid "Center"
msgstr "ΚέντÏο"
-#: editor.cc:190 editor.cc:3094 editor.cc:3531
+#: editor.cc:205 editor.cc:3145
msgid "Edit point"
msgstr ""
-#: editor.cc:196
+#: editor.cc:211
msgid "Mushy"
msgstr ""
-#: editor.cc:197
+#: editor.cc:212
msgid "Smooth"
msgstr ""
-#: editor.cc:198
+#: editor.cc:213
msgid "Balanced multitimbral mixture"
msgstr ""
-#: editor.cc:199
+#: editor.cc:214
msgid "Unpitched percussion with stable notes"
msgstr ""
-#: editor.cc:200
+#: editor.cc:215
msgid "Crisp monophonic instrumental"
msgstr ""
-#: editor.cc:201
+#: editor.cc:216
msgid "Unpitched solo percussion"
msgstr ""
-#: editor.cc:202
+#: editor.cc:217
msgid "Resample without preserving pitch"
msgstr ""
-#: editor.cc:235
+#: editor.cc:252
msgid "Mins:Secs"
msgstr "Λεπτά:ΔέυτεÏα"
-#: editor.cc:241
+#: editor.cc:258
msgid "Location Markers"
msgstr "Στίγματα Τοποθεσίας"
-#: editor.cc:242
+#: editor.cc:259
msgid "Range Markers"
msgstr "Στίγματα διαστημάτων"
-#: editor.cc:243
+#: editor.cc:260
msgid "Loop/Punch Ranges"
msgstr "Διαστήματα Loop/Punch"
-#: editor.cc:244 editor_actions.cc:540
+#: editor.cc:261 editor_actions.cc:575
msgid "CD Markers"
msgstr ""
-#: editor.cc:245
+#: editor.cc:262
msgid "Video Timeline"
msgstr ""
-#: editor.cc:260
+#: editor.cc:279
msgid "mode"
msgstr "λειτουÏγία"
-#: editor.cc:541
+#: editor.cc:447 editor_actions.cc:114 editor_actions.cc:574
+msgid "Markers"
+msgstr ""
+
+#: editor.cc:554 rc_option_editor.cc:1830
msgid "Regions"
msgstr "ΠεÏιοχές"
-#: editor.cc:542
+#: editor.cc:555
msgid "Tracks & Busses"
msgstr ""
-#: editor.cc:543
+#: editor.cc:556
msgid "Snapshots"
msgstr "Στιγμιότυπα"
-#: editor.cc:544
+#: editor.cc:557
msgid "Track & Bus Groups"
msgstr ""
-#: editor.cc:545
+#: editor.cc:558
msgid "Ranges & Marks"
msgstr ""
-#: editor.cc:690 editor.cc:5349 rc_option_editor.cc:1292
-#: rc_option_editor.cc:1300 rc_option_editor.cc:1308 rc_option_editor.cc:1316
-#: rc_option_editor.cc:1333 rc_option_editor.cc:1335 rc_option_editor.cc:1343
-#: rc_option_editor.cc:1351 rc_option_editor.cc:1371 rc_option_editor.cc:1383
-#: rc_option_editor.cc:1385 rc_option_editor.cc:1393 rc_option_editor.cc:1401
-#: rc_option_editor.cc:1409 rc_option_editor.cc:1417 rc_option_editor.cc:1432
-#: rc_option_editor.cc:1436
+#: editor.cc:706 editor.cc:5445 rc_option_editor.cc:1543
+#: rc_option_editor.cc:1551 rc_option_editor.cc:1559 rc_option_editor.cc:1567
+#: rc_option_editor.cc:1591 rc_option_editor.cc:1603 rc_option_editor.cc:1605
+#: rc_option_editor.cc:1613 rc_option_editor.cc:1621 rc_option_editor.cc:1641
+#: rc_option_editor.cc:1653 rc_option_editor.cc:1655 rc_option_editor.cc:1657
+#: rc_option_editor.cc:1665 rc_option_editor.cc:1673 rc_option_editor.cc:1681
+#: rc_option_editor.cc:1696 rc_option_editor.cc:1700
msgid "Editor"
msgstr ""
-#: editor.cc:1215 editor.cc:1225 editor.cc:4444 editor_actions.cc:130
-#: editor_actions.cc:1813
+#: editor.cc:1288 editor.cc:4503 editor_actions.cc:134 editor_actions.cc:1861
msgid "Loop"
msgstr "Loop"
-#: editor.cc:1231 editor.cc:1241 editor.cc:4471 editor_actions.cc:131
-#: time_info_box.cc:67
+#: editor.cc:1294 editor.cc:4530 editor_actions.cc:135 time_info_box.cc:68
msgid "Punch"
msgstr "Punch"
-#: editor.cc:1353
+#: editor.cc:1406 rc_option_editor.cc:1585
msgid "Linear (for highly correlated material)"
msgstr ""
-#: editor.cc:1363 editor.cc:1500 editor.cc:1562
+#: editor.cc:1416 rc_option_editor.cc:1586
msgid "Constant power"
msgstr ""
-#: editor.cc:1372 editor.cc:1493 editor.cc:1555
+#: editor.cc:1425 rc_option_editor.cc:1587
msgid "Symmetric"
msgstr ""
-#: editor.cc:1382 editor.cc:1475 editor.cc:1537
+#: editor.cc:1435 rc_option_editor.cc:1588
msgid "Slow"
msgstr "ΑÏγό"
-#: editor.cc:1391 editor.cc:1484 editor.cc:1546 sfdb_ui.cc:1627
-#: sfdb_ui.cc:1736
+#: editor.cc:1444 rc_option_editor.cc:1589 sfdb_ui.cc:1752 sfdb_ui.cc:1862
msgid "Fast"
msgstr "ΤαχÏ"
-#: editor.cc:1438
-msgid "programming error: fade in canvas item has no regionview data pointer!"
-msgstr ""
-"Σφάλμα Ï€ÏογÏαμματισμοÏ: το αντικείμενο 'fade in canvas' δεν διαθέτει δείκτη "
-"δεδομένων οπτικής πεÏιοχών!"
-
-#: editor.cc:1449 editor.cc:1513
+#: editor.cc:1464 editor.cc:1487
msgid "Deactivate"
msgstr "ΑπενεÏγοποίηση"
-#: editor.cc:1451 editor.cc:1515
+#: editor.cc:1466 editor.cc:1489
msgid "Activate"
msgstr "ΕνεÏγοποίηση"
-#: editor.cc:1459 editor.cc:1522
-msgid "Slowest"
-msgstr "ΑÏγότατο"
-
-#: editor.cc:1573 route_time_axis.cc:1877 selection.cc:1009 selection.cc:1064
-msgid "programming error: "
-msgstr "σφάλμα Ï€ÏογÏαμματισμοÏ: "
-
-#: editor.cc:1674 editor.cc:1682 editor_ops.cc:3522
+#: editor.cc:1590 editor.cc:1598 editor_ops.cc:3635
msgid "Freeze"
msgstr "Πάγωμα"
-#: editor.cc:1678
+#: editor.cc:1594
msgid "Unfreeze"
msgstr "Ξεπάγωμα"
-#: editor.cc:1817
+#: editor.cc:1733
msgid "Selected Regions"
msgstr ""
-#: editor.cc:1853 editor_markers.cc:895
+#: editor.cc:1769 editor_markers.cc:909
msgid "Play Range"
msgstr ""
-#: editor.cc:1854 editor_markers.cc:898
+#: editor.cc:1770 editor_markers.cc:912
msgid "Loop Range"
msgstr ""
-#: editor.cc:1863 editor_actions.cc:332
+#: editor.cc:1773 editor_actions.cc:266 editor_markers.cc:919
+msgid "Zoom to Range"
+msgstr ""
+
+#: editor.cc:1782 editor_actions.cc:366
msgid "Move Range Start to Previous Region Boundary"
msgstr ""
-#: editor.cc:1870 editor_actions.cc:339
+#: editor.cc:1789 editor_actions.cc:373
msgid "Move Range Start to Next Region Boundary"
msgstr ""
-#: editor.cc:1877 editor_actions.cc:346
+#: editor.cc:1796 editor_actions.cc:380
msgid "Move Range End to Previous Region Boundary"
msgstr ""
-#: editor.cc:1884 editor_actions.cc:353
+#: editor.cc:1803 editor_actions.cc:387
msgid "Move Range End to Next Region Boundary"
msgstr ""
-#: editor.cc:1890
+#: editor.cc:1809
msgid "Convert to Region In-Place"
msgstr ""
-#: editor.cc:1891
+#: editor.cc:1810
msgid "Convert to Region in Region List"
msgstr ""
-#: editor.cc:1894 editor_markers.cc:925
+#: editor.cc:1813 editor_markers.cc:939
msgid "Select All in Range"
msgstr "Επιλογή όλων στο διάστημα"
-#: editor.cc:1897
+#: editor.cc:1816
msgid "Set Loop from Range"
msgstr ""
-#: editor.cc:1898
+#: editor.cc:1817
msgid "Set Punch from Range"
msgstr ""
-#: editor.cc:1901
+#: editor.cc:1820
msgid "Add Range Markers"
msgstr "ΠÏόσθεση Στιγμάτων Διαστήματος"
-#: editor.cc:1904
+#: editor.cc:1823
msgid "Crop Region to Range"
msgstr ""
-#: editor.cc:1905
+#: editor.cc:1824
msgid "Fill Range with Region"
msgstr ""
-#: editor.cc:1906 editor_actions.cc:289
+#: editor.cc:1825 editor_actions.cc:311
msgid "Duplicate Range"
msgstr "ΑντιγÏαφή διαστήματος"
-#: editor.cc:1909
+#: editor.cc:1828
msgid "Consolidate Range"
msgstr ""
-#: editor.cc:1910
+#: editor.cc:1829
msgid "Consolidate Range With Processing"
msgstr ""
-#: editor.cc:1911
+#: editor.cc:1830
msgid "Bounce Range to Region List"
msgstr ""
-#: editor.cc:1912
+#: editor.cc:1831
msgid "Bounce Range to Region List With Processing"
msgstr ""
-#: editor.cc:1913 editor_markers.cc:908
+#: editor.cc:1832 editor_markers.cc:922
msgid "Export Range..."
msgstr ""
-#: editor.cc:1915
+#: editor.cc:1834
msgid "Export Video Range..."
msgstr ""
-#: editor.cc:1931 editor.cc:2012 editor_actions.cc:281
+#: editor.cc:1850 editor.cc:1931 editor_actions.cc:303
msgid "Play From Edit Point"
msgstr ""
-#: editor.cc:1932 editor.cc:2013
+#: editor.cc:1851 editor.cc:1932
msgid "Play From Start"
msgstr ""
-#: editor.cc:1933
+#: editor.cc:1852
msgid "Play Region"
msgstr ""
-#: editor.cc:1935
+#: editor.cc:1854
msgid "Loop Region"
msgstr "Loop ΠεÏιοχής"
-#: editor.cc:1945 editor.cc:2022
+#: editor.cc:1864 editor.cc:1941
msgid "Select All in Track"
msgstr ""
-#: editor.cc:1946 editor.cc:2023 editor_actions.cc:185
-#: export_timespan_selector.cc:53 processor_box.cc:2276
-msgid "Select All"
-msgstr "Επιλογή όλων"
+#: editor.cc:1865 editor.cc:1942 editor_actions.cc:194
+msgid "Select All Objects"
+msgstr ""
-#: editor.cc:1947 editor.cc:2024
+#: editor.cc:1866 editor.cc:1943
msgid "Invert Selection in Track"
msgstr ""
-#: editor.cc:1948 editor.cc:2025 editor_actions.cc:187
+#: editor.cc:1867 editor.cc:1944 editor_actions.cc:197
msgid "Invert Selection"
msgstr ""
-#: editor.cc:1950
+#: editor.cc:1869
msgid "Set Range to Loop Range"
msgstr ""
-#: editor.cc:1951
+#: editor.cc:1870
msgid "Set Range to Punch Range"
msgstr ""
-#: editor.cc:1953 editor.cc:2027 editor_actions.cc:188
+#: editor.cc:1872 editor.cc:1946 editor_actions.cc:199 editor_actions.cc:200
msgid "Select All After Edit Point"
msgstr ""
-#: editor.cc:1954 editor.cc:2028 editor_actions.cc:189
+#: editor.cc:1873 editor.cc:1947 editor_actions.cc:201 editor_actions.cc:202
msgid "Select All Before Edit Point"
msgstr ""
-#: editor.cc:1955 editor.cc:2029
+#: editor.cc:1874 editor.cc:1948
msgid "Select All After Playhead"
msgstr "Επιλογή όλων μετά την playhead"
-#: editor.cc:1956 editor.cc:2030
+#: editor.cc:1875 editor.cc:1949
msgid "Select All Before Playhead"
msgstr "Επιλογή όλων Ï€Ïιν την playhead"
-#: editor.cc:1957
+#: editor.cc:1876
msgid "Select All Between Playhead and Edit Point"
msgstr ""
-#: editor.cc:1958
+#: editor.cc:1877
msgid "Select All Within Playhead and Edit Point"
msgstr ""
-#: editor.cc:1959
+#: editor.cc:1878
msgid "Select Range Between Playhead and Edit Point"
msgstr ""
-#: editor.cc:1961 editor.cc:2032 editor_actions.cc:127 editor_actions.cc:128
+#: editor.cc:1880 editor.cc:1951 editor_actions.cc:131 editor_actions.cc:132
msgid "Select"
msgstr "Επιλογή"
-#: editor.cc:1969 editor.cc:2040 editor_actions.cc:309 processor_box.cc:2261
+#: editor.cc:1888 editor.cc:1959 editor_actions.cc:334 processor_box.cc:2495
msgid "Cut"
msgstr "Κοπή"
-#: editor.cc:1970 editor.cc:2041 editor_actions.cc:312 processor_box.cc:2264
+#: editor.cc:1889 editor.cc:1960 editor_actions.cc:338 processor_box.cc:2498
msgid "Copy"
msgstr "ΑντιγÏαφή"
-#: editor.cc:1971 editor.cc:2042 editor_actions.cc:313 processor_box.cc:2272
+#: editor.cc:1890 editor.cc:1961 editor_actions.cc:339 processor_box.cc:2506
msgid "Paste"
msgstr "Επικόλληση"
-#: editor.cc:1975 editor_actions.cc:87
+#: editor.cc:1894 editor_actions.cc:91
msgid "Align"
msgstr "ΕυθυγÏάμμιση"
-#: editor.cc:1976
+#: editor.cc:1895
msgid "Align Relative"
msgstr "ΕυθυγÏάμμιση σχετικών"
-#: editor.cc:1983
+#: editor.cc:1902
msgid "Insert Selected Region"
msgstr "Εισαγωγή επιλεγμένης πεÏιοχής"
-#: editor.cc:1984
+#: editor.cc:1903
msgid "Insert Existing Media"
msgstr ""
-#: editor.cc:1993 editor.cc:2049
+#: editor.cc:1912 editor.cc:1968
msgid "Nudge Entire Track Later"
msgstr ""
-#: editor.cc:1994 editor.cc:2050
+#: editor.cc:1913 editor.cc:1969
msgid "Nudge Track After Edit Point Later"
msgstr ""
-#: editor.cc:1995 editor.cc:2051
+#: editor.cc:1914 editor.cc:1970
msgid "Nudge Entire Track Earlier"
msgstr ""
-#: editor.cc:1996 editor.cc:2052
+#: editor.cc:1915 editor.cc:1971
msgid "Nudge Track After Edit Point Earlier"
msgstr ""
-#: editor.cc:1998 editor.cc:2054
+#: editor.cc:1917 editor.cc:1973
msgid "Nudge"
msgstr "ÎÏξη"
-#: editor.cc:3074
+#: editor.cc:2916 editor.cc:3491 editor.cc:3561 midi_channel_selector.cc:159
+#: midi_channel_selector.cc:397 midi_channel_selector.cc:433
+msgid "All"
+msgstr ""
+
+#: editor.cc:3122
msgid "Smart Mode (add Range functions to Object mode)"
msgstr ""
-#: editor.cc:3075
+#: editor.cc:3123
msgid "Object Mode (select/move Objects)"
msgstr ""
-#: editor.cc:3076
+#: editor.cc:3124
+msgid "Cut Mode (split Regions)"
+msgstr ""
+
+#: editor.cc:3125
msgid "Range Mode (select/move Ranges)"
msgstr ""
-#: editor.cc:3077
+#: editor.cc:3126
msgid "Draw/Edit MIDI Notes"
msgstr ""
-#: editor.cc:3078
+#: editor.cc:3127
msgid "Draw Region Gain"
msgstr ""
-#: editor.cc:3079
+#: editor.cc:3128
msgid "Select Zoom Range"
msgstr ""
-#: editor.cc:3080
+#: editor.cc:3129
msgid "Stretch/Shrink Regions and MIDI Notes"
msgstr ""
-#: editor.cc:3081
+#: editor.cc:3130
msgid "Listen to Specific Regions"
msgstr ""
-#: editor.cc:3082
+#: editor.cc:3131
msgid "Note Level Editing"
msgstr ""
-#: editor.cc:3083
+#: editor.cc:3132
msgid ""
"Groups: click to (de)activate\n"
"Context-click for other operations"
msgstr ""
-#: editor.cc:3084
+#: editor.cc:3133
msgid "Nudge Region/Selection Later"
msgstr ""
-#: editor.cc:3085
+#: editor.cc:3134
msgid "Nudge Region/Selection Earlier"
msgstr ""
-#: editor.cc:3086 editor_actions.cc:242
+#: editor.cc:3135 editor_actions.cc:262
msgid "Zoom In"
msgstr ""
-#: editor.cc:3087 editor_actions.cc:241
+#: editor.cc:3136 editor_actions.cc:261
msgid "Zoom Out"
msgstr ""
-#: editor.cc:3088 editor_actions.cc:243
+#: editor.cc:3137
+msgid "Zoom to Time Scale"
+msgstr ""
+
+#: editor.cc:3138 editor.cc:3513 editor_actions.cc:263
msgid "Zoom to Session"
msgstr ""
-#: editor.cc:3089
+#: editor.cc:3139
msgid "Zoom focus"
msgstr ""
-#: editor.cc:3090
+#: editor.cc:3140
msgid "Expand Tracks"
msgstr ""
-#: editor.cc:3091
+#: editor.cc:3141
msgid "Shrink Tracks"
msgstr ""
-#: editor.cc:3092
+#: editor.cc:3142
+msgid "Number of visible tracks"
+msgstr ""
+
+#: editor.cc:3143
msgid "Snap/Grid Units"
msgstr ""
-#: editor.cc:3093
+#: editor.cc:3144
msgid "Snap/Grid Mode"
msgstr ""
-#: editor.cc:3095
+#: editor.cc:3146
msgid "Edit Mode"
msgstr "ΛειτουÏγία Επεξ/σίας"
-#: editor.cc:3096
+#: editor.cc:3147
msgid ""
"Nudge Clock\n"
"(controls distance used to nudge regions and selections)"
msgstr ""
-#: editor.cc:3198
-msgid "malformed URL passed to drag-n-drop code"
-msgstr ""
-
-#: editor.cc:3260 editor_actions.cc:291
+#: editor.cc:3285 editor_actions.cc:313
msgid "Command|Undo"
msgstr ""
-#: editor.cc:3262
+#: editor.cc:3287
msgid "Command|Undo (%1)"
msgstr ""
-#: editor.cc:3269 editor_actions.cc:292
+#: editor.cc:3294 editor_actions.cc:315 editor_actions.cc:316
+#: editor_actions.cc:317
msgid "Redo"
msgstr "Redo"
-#: editor.cc:3271
+#: editor.cc:3296
msgid "Redo (%1)"
msgstr "Redo (%1)"
-#: editor.cc:3290 editor.cc:3314 editor_actions.cc:106 editor_actions.cc:1794
+#: editor.cc:3315 editor.cc:3339 editor_actions.cc:110 editor_actions.cc:1842
msgid "Duplicate"
msgstr "ΑντιγÏαφή"
-#: editor.cc:3291
+#: editor.cc:3316
msgid "Number of duplications:"
msgstr ""
-#: editor.cc:3868
+#: editor.cc:3490
+msgid "Selected"
+msgstr ""
+
+#: editor.cc:3493
+msgid "Fit 1 track"
+msgstr ""
+
+#: editor.cc:3494
+msgid "Fit 2 tracks"
+msgstr ""
+
+#: editor.cc:3495
+msgid "Fit 4 tracks"
+msgstr ""
+
+#: editor.cc:3496
+msgid "Fit 8 tracks"
+msgstr ""
+
+#: editor.cc:3497
+msgid "Fit 16 tracks"
+msgstr ""
+
+#: editor.cc:3498
+msgid "Fit 24 tracks"
+msgstr ""
+
+#: editor.cc:3499
+msgid "Fit 32 tracks"
+msgstr ""
+
+#: editor.cc:3500
+msgid "Fit 48 tracks"
+msgstr ""
+
+#: editor.cc:3501
+msgid "Fit All tracks"
+msgstr ""
+
+#: editor.cc:3502
+msgid "Fit Selected tracks"
+msgstr ""
+
+#: editor.cc:3504
+msgid "Zoom to 10 ms"
+msgstr ""
+
+#: editor.cc:3505
+msgid "Zoom to 100 ms"
+msgstr ""
+
+#: editor.cc:3506
+msgid "Zoom to 1 sec"
+msgstr ""
+
+#: editor.cc:3507
+msgid "Zoom to 10 sec"
+msgstr ""
+
+#: editor.cc:3508
+msgid "Zoom to 1 min"
+msgstr ""
+
+#: editor.cc:3509
+msgid "Zoom to 10 min"
+msgstr ""
+
+#: editor.cc:3510
+msgid "Zoom to 1 hour"
+msgstr ""
+
+#: editor.cc:3511
+msgid "Zoom to 8 hours"
+msgstr ""
+
+#: editor.cc:3512
+msgid "Zoom to 24 hours"
+msgstr ""
+
+#: editor.cc:3514
+msgid "Zoom to Range/Region Selection"
+msgstr ""
+
+#: editor.cc:3583
+msgid "*"
+msgstr ""
+
+#: editor.cc:3918
msgid "Playlist Deletion"
msgstr ""
-#: editor.cc:3869
+#: editor.cc:3919
msgid ""
"Playlist %1 is currently unused.\n"
"If it is kept, its audio files will not be cleaned.\n"
"If it is deleted, audio files used by it alone will be cleaned."
msgstr ""
-#: editor.cc:3879
+#: editor.cc:3929
msgid "Delete Playlist"
msgstr ""
-#: editor.cc:3880
+#: editor.cc:3930
msgid "Keep Playlist"
msgstr ""
-#: editor.cc:3881 editor_audio_import.cc:581 editor_ops.cc:5856
-#: engine_dialog.cc:1711 sfdb_freesound_mootcher.cc:69 processor_box.cc:2030
-#: processor_box.cc:2055
+#: editor.cc:3931 editor_audio_import.cc:579 editor_ops.cc:5931
+#: engine_dialog.cc:1985 sfdb_freesound_mootcher.cc:69 processor_box.cc:2263
+#: processor_box.cc:2288
msgid "Cancel"
msgstr "ΑκÏÏωση"
-#: editor.cc:4025
+#: editor.cc:4065
msgid "new playlists"
msgstr "νέες playlists"
-#: editor.cc:4041
+#: editor.cc:4081
msgid "copy playlists"
msgstr "ΑντιγÏαφή playlists"
-#: editor.cc:4056
+#: editor.cc:4096
msgid "clear playlists"
msgstr "εκκαθάÏιση playlists"
-#: editor.cc:4691
+#: editor.cc:4771
msgid "Please wait while %1 loads visual data."
msgstr ""
-#: editor.cc:5496 editor_markers.cc:940 panner_ui.cc:392 processor_box.cc:2292
+#: editor.cc:5592 editor_markers.cc:954 panner_ui.cc:409 processor_box.cc:2526
msgid "Edit..."
msgstr ""
-#: editor_actions.cc:88
+#: editor_actions.cc:92
msgid "Autoconnect"
msgstr "ΑυτόματηΣÏνδεση"
-#: editor_actions.cc:89
+#: editor_actions.cc:93
msgid "Crossfades"
msgstr ""
-#: editor_actions.cc:91
+#: editor_actions.cc:95
msgid "Move Selected Marker"
msgstr ""
-#: editor_actions.cc:92
+#: editor_actions.cc:96
msgid "Select Range Operations"
msgstr ""
-#: editor_actions.cc:93
+#: editor_actions.cc:97
msgid "Select Regions"
msgstr ""
-#: editor_actions.cc:94
+#: editor_actions.cc:98
msgid "Edit Point"
msgstr ""
-#: editor_actions.cc:95
+#: editor_actions.cc:99
msgid "Fade"
msgstr ""
-#: editor_actions.cc:96
+#: editor_actions.cc:100
msgid "Latch"
msgstr ""
-#: editor_actions.cc:97 editor_regions.cc:111 region_editor.cc:46
+#: editor_actions.cc:101 editor_regions.cc:112 region_editor.cc:45
msgid "Region"
msgstr ""
-#: editor_actions.cc:98
+#: editor_actions.cc:102
msgid "Layering"
msgstr "ΣτÏωματοποίηση"
-#: editor_actions.cc:99 editor_regions.cc:112 gtk-custom-ruler.c:152
-#: stereo_panner_editor.cc:44
+#: editor_actions.cc:103 editor_regions.cc:113 stereo_panner_editor.cc:44
msgid "Position"
msgstr "Θέση"
-#: editor_actions.cc:101 gain_meter.cc:120 gain_meter.cc:794 panner_ui.cc:176
-#: panner_ui.cc:585
+#: editor_actions.cc:105 gain_meter.cc:122 gain_meter.cc:800 panner_ui.cc:177
+#: panner_ui.cc:634
msgid "Trim"
msgstr "Ισοστάθμιση"
-#: editor_actions.cc:102 editor_actions.cc:122 route_group_dialog.cc:40
+#: editor_actions.cc:106 editor_actions.cc:126 route_group_dialog.cc:46
msgid "Gain"
msgstr ""
-#: editor_actions.cc:103 editor_actions.cc:538
+#: editor_actions.cc:107 editor_actions.cc:573
msgid "Ranges"
msgstr ""
-#: editor_actions.cc:104 editor_actions.cc:1790 session_option_editor.cc:145
-#: session_option_editor.cc:147 session_option_editor.cc:156
-#: session_option_editor.cc:163
+#: editor_actions.cc:108 editor_actions.cc:1838 session_option_editor.cc:135
+#: session_option_editor.cc:144 session_option_editor.cc:151
msgid "Fades"
msgstr ""
-#: editor_actions.cc:107
+#: editor_actions.cc:111
msgid "Link"
msgstr ""
-#: editor_actions.cc:108 editor_actions.cc:141
+#: editor_actions.cc:112 editor_actions.cc:145
msgid "Zoom Focus"
msgstr "Εστίαση Zoom"
-#: editor_actions.cc:109
+#: editor_actions.cc:113
msgid "Locate to Markers"
msgstr ""
-#: editor_actions.cc:110 editor_actions.cc:539
-msgid "Markers"
-msgstr ""
-
-#: editor_actions.cc:111
+#: editor_actions.cc:115
msgid "Meter falloff"
msgstr ""
-#: editor_actions.cc:112
+#: editor_actions.cc:116
msgid "Meter hold"
msgstr "ΠαÏση ΜετÏητή"
-#: editor_actions.cc:113 session_option_editor.cc:234
+#: editor_actions.cc:117 session_option_editor.cc:321
msgid "MIDI Options"
msgstr ""
-#: editor_actions.cc:114
+#: editor_actions.cc:118
msgid "Misc Options"
msgstr ""
-#: editor_actions.cc:115 rc_option_editor.cc:1450 route_group_dialog.cc:48
-#: session_option_editor.cc:218 session_option_editor.cc:225
+#: editor_actions.cc:119 rc_option_editor.cc:1714 route_group_dialog.cc:54
+#: session_option_editor.cc:243 session_option_editor.cc:250
msgid "Monitoring"
msgstr ""
-#: editor_actions.cc:116
+#: editor_actions.cc:120
msgid "Active Mark"
msgstr ""
-#: editor_actions.cc:119
+#: editor_actions.cc:123
msgid "Primary Clock"
msgstr ""
-#: editor_actions.cc:120
+#: editor_actions.cc:124
msgid "Pullup / Pulldown"
msgstr ""
-#: editor_actions.cc:121
+#: editor_actions.cc:125
msgid "Region operations"
msgstr "ΕνέÏγειες ΠεÏιοχών"
-#: editor_actions.cc:123
+#: editor_actions.cc:127 ruler_dialog.cc:28
msgid "Rulers"
msgstr ""
-#: editor_actions.cc:124
+#: editor_actions.cc:128
msgid "Views"
msgstr ""
-#: editor_actions.cc:125
+#: editor_actions.cc:129
msgid "Scroll"
msgstr ""
-#: editor_actions.cc:126
+#: editor_actions.cc:130
msgid "Secondary Clock"
msgstr ""
-#: editor_actions.cc:129 editor_actions.cc:297
+#: editor_actions.cc:133 editor_actions.cc:322
msgid "Separate"
msgstr ""
-#: editor_actions.cc:132 mixer_strip.cc:1914 route_time_axis.cc:208
-#: route_time_axis.cc:2417
-msgid "Solo"
-msgstr "Σόλο"
-
-#: editor_actions.cc:133
+#: editor_actions.cc:137
msgid "Subframes"
msgstr ""
-#: editor_actions.cc:136
+#: editor_actions.cc:140
msgid "Timecode fps"
msgstr ""
-#: editor_actions.cc:137 route_time_axis.cc:430
+#: editor_actions.cc:141 route_time_axis.cc:548
msgid "Height"
msgstr "Ύψος"
-#: editor_actions.cc:139
+#: editor_actions.cc:143
msgid "Tools"
msgstr "ΕÏγαλεία"
-#: editor_actions.cc:140
+#: editor_actions.cc:144
msgid "View"
msgstr "Οψη"
-#: editor_actions.cc:142
+#: editor_actions.cc:146
msgid "Zoom"
msgstr ""
-#: editor_actions.cc:148
+#: editor_actions.cc:152
msgid "Break drag or deselect all"
msgstr ""
-#: editor_actions.cc:150
+#: editor_actions.cc:159
msgid "Show Editor Mixer"
msgstr "Ανάδειξη Μίκτη του Editor"
-#: editor_actions.cc:151
+#: editor_actions.cc:160
msgid "Show Editor List"
msgstr ""
-#: editor_actions.cc:153
+#: editor_actions.cc:162
msgid "Playhead to Next Region Boundary"
msgstr ""
-#: editor_actions.cc:154
+#: editor_actions.cc:163
msgid "Playhead to Next Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:155
+#: editor_actions.cc:164
msgid "Playhead to Previous Region Boundary"
msgstr ""
-#: editor_actions.cc:156
+#: editor_actions.cc:165
msgid "Playhead to Previous Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:158
+#: editor_actions.cc:167
msgid "Playhead to Next Region Start"
msgstr "Playhead στην επόμενη Region Start"
-#: editor_actions.cc:159
+#: editor_actions.cc:168
msgid "Playhead to Next Region End"
msgstr "Playhead στην επόμενη Region End"
-#: editor_actions.cc:160
+#: editor_actions.cc:169
msgid "Playhead to Next Region Sync"
msgstr "Playhead στην επόμενη Region Sync"
-#: editor_actions.cc:162
+#: editor_actions.cc:171
msgid "Playhead to Previous Region Start"
msgstr "Playhead στην Ï€ÏοηγοÏμενη Region Start"
-#: editor_actions.cc:163
+#: editor_actions.cc:172
msgid "Playhead to Previous Region End"
msgstr "Playhead στην Ï€ÏοηγοÏμενη Region End"
-#: editor_actions.cc:164
+#: editor_actions.cc:173
msgid "Playhead to Previous Region Sync"
msgstr "Playhead στην Ï€ÏοηγοÏμενη Region Sync"
-#: editor_actions.cc:166
+#: editor_actions.cc:175
msgid "To Next Region Boundary"
msgstr ""
-#: editor_actions.cc:167
+#: editor_actions.cc:176
msgid "To Next Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:168
+#: editor_actions.cc:177
msgid "To Previous Region Boundary"
msgstr ""
-#: editor_actions.cc:169
+#: editor_actions.cc:178
msgid "To Previous Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:171
+#: editor_actions.cc:180
msgid "To Next Region Start"
msgstr ""
-#: editor_actions.cc:172
+#: editor_actions.cc:181
msgid "To Next Region End"
msgstr ""
-#: editor_actions.cc:173
+#: editor_actions.cc:182
msgid "To Next Region Sync"
msgstr ""
-#: editor_actions.cc:175
+#: editor_actions.cc:184
msgid "To Previous Region Start"
msgstr ""
-#: editor_actions.cc:176
+#: editor_actions.cc:185
msgid "To Previous Region End"
msgstr ""
-#: editor_actions.cc:177
+#: editor_actions.cc:186
msgid "To Previous Region Sync"
msgstr ""
-#: editor_actions.cc:179
+#: editor_actions.cc:188
msgid "To Range Start"
msgstr ""
-#: editor_actions.cc:180
+#: editor_actions.cc:189
msgid "To Range End"
msgstr ""
-#: editor_actions.cc:182
+#: editor_actions.cc:191
msgid "Playhead to Range Start"
msgstr "Playhead στην ΑÏχή Διαστήματος"
-#: editor_actions.cc:183
+#: editor_actions.cc:192
msgid "Playhead to Range End"
msgstr "Η playhead στο τέλος του διαστήματος"
-#: editor_actions.cc:186 export_timespan_selector.cc:61 processor_box.cc:2278
+#: editor_actions.cc:195
+msgid "Select All Tracks"
+msgstr ""
+
+#: editor_actions.cc:196 export_timespan_selector.cc:61 processor_box.cc:2512
msgid "Deselect All"
msgstr "Αποεπιλογή όλων"
-#: editor_actions.cc:191
+#: editor_actions.cc:204
msgid "Select All Overlapping Edit Range"
msgstr ""
-#: editor_actions.cc:192
+#: editor_actions.cc:205
msgid "Select All Inside Edit Range"
msgstr ""
-#: editor_actions.cc:194
+#: editor_actions.cc:207
msgid "Select Edit Range"
msgstr ""
-#: editor_actions.cc:196
+#: editor_actions.cc:209
msgid "Select All in Punch Range"
msgstr "Επιλογή όλων μέσα στο punch ÏŒÏιο"
-#: editor_actions.cc:197
+#: editor_actions.cc:210
msgid "Select All in Loop Range"
msgstr ""
-#: editor_actions.cc:199
+#: editor_actions.cc:212
msgid "Select Next Track or Bus"
msgstr ""
-#: editor_actions.cc:200
+#: editor_actions.cc:213
msgid "Select Previous Track or Bus"
msgstr ""
-#: editor_actions.cc:202
+#: editor_actions.cc:215
msgid "Toggle Record Enable"
msgstr ""
-#: editor_actions.cc:204
+#: editor_actions.cc:217
msgid "Toggle Solo"
msgstr ""
-#: editor_actions.cc:206
+#: editor_actions.cc:219
msgid "Toggle Mute"
msgstr ""
-#: editor_actions.cc:208
+#: editor_actions.cc:221
msgid "Toggle Solo Isolate"
msgstr ""
-#: editor_actions.cc:213
+#: editor_actions.cc:226
msgid "Save View %1"
msgstr ""
-#: editor_actions.cc:219
+#: editor_actions.cc:232
msgid "Goto View %1"
msgstr ""
-#: editor_actions.cc:225
+#: editor_actions.cc:238
msgid "Locate to Mark %1"
msgstr ""
-#: editor_actions.cc:229
+#: editor_actions.cc:242 editor_actions.cc:243
msgid "Jump to Next Mark"
msgstr ""
-#: editor_actions.cc:230
+#: editor_actions.cc:244 editor_actions.cc:245
msgid "Jump to Previous Mark"
msgstr ""
-#: editor_actions.cc:231
+#: editor_actions.cc:247 editor_actions.cc:248
msgid "Add Mark from Playhead"
msgstr ""
-#: editor_actions.cc:233
+#: editor_actions.cc:250 editor_actions.cc:251
+msgid "Remove Mark at Playhead"
+msgstr ""
+
+#: editor_actions.cc:253
msgid "Nudge Next Later"
msgstr ""
-#: editor_actions.cc:234
+#: editor_actions.cc:254
msgid "Nudge Next Earlier"
msgstr ""
-#: editor_actions.cc:236
+#: editor_actions.cc:256
msgid "Nudge Playhead Forward"
msgstr ""
-#: editor_actions.cc:237
+#: editor_actions.cc:257
msgid "Nudge Playhead Backward"
msgstr ""
-#: editor_actions.cc:238
+#: editor_actions.cc:258
msgid "Playhead To Next Grid"
msgstr ""
-#: editor_actions.cc:239
+#: editor_actions.cc:259
msgid "Playhead To Previous Grid"
msgstr ""
-#: editor_actions.cc:244
+#: editor_actions.cc:264
msgid "Zoom to Region"
msgstr ""
-#: editor_actions.cc:245
+#: editor_actions.cc:265
msgid "Zoom to Region (Width and Height)"
msgstr ""
-#: editor_actions.cc:246
+#: editor_actions.cc:267
+msgid "Zoom to Range (Width and Height)"
+msgstr ""
+
+#: editor_actions.cc:268
msgid "Toggle Zoom State"
msgstr ""
-#: editor_actions.cc:248
+#: editor_actions.cc:270
msgid "Expand Track Height"
msgstr ""
-#: editor_actions.cc:249
+#: editor_actions.cc:271
msgid "Shrink Track Height"
msgstr ""
-#: editor_actions.cc:251
+#: editor_actions.cc:273
msgid "Move Selected Tracks Up"
msgstr ""
-#: editor_actions.cc:253
+#: editor_actions.cc:275
msgid "Move Selected Tracks Down"
msgstr ""
-#: editor_actions.cc:256
+#: editor_actions.cc:278
msgid "Scroll Tracks Up"
msgstr "ΚÏλιση Καναλιών επάνω"
-#: editor_actions.cc:258
+#: editor_actions.cc:280
msgid "Scroll Tracks Down"
msgstr "ΚÏλιση Καναλιών Κάτω"
-#: editor_actions.cc:260
+#: editor_actions.cc:282
msgid "Step Tracks Up"
msgstr "Μετακίνηση Καναλιών επάνω"
-#: editor_actions.cc:262
+#: editor_actions.cc:284
msgid "Step Tracks Down"
msgstr "Μετάθεση Καναλιών κάτω"
-#: editor_actions.cc:265
+#: editor_actions.cc:287
msgid "Scroll Backward"
msgstr "ΚÏλιση πίσω"
-#: editor_actions.cc:266
+#: editor_actions.cc:288
msgid "Scroll Forward"
msgstr "ΚÏλιση εμπÏός"
-#: editor_actions.cc:267
+#: editor_actions.cc:289
msgid "Center Playhead"
msgstr "Playhead στο κέντÏο"
-#: editor_actions.cc:268
+#: editor_actions.cc:290
msgid "Center Edit Point"
msgstr ""
-#: editor_actions.cc:270
+#: editor_actions.cc:292
msgid "Playhead Forward"
msgstr "Playhead εμπÏός"
-#: editor_actions.cc:271
+#: editor_actions.cc:293
msgid "Playhead Backward"
msgstr "Playhead πίσω"
-#: editor_actions.cc:273
+#: editor_actions.cc:295
msgid "Playhead to Active Mark"
msgstr ""
-#: editor_actions.cc:274
+#: editor_actions.cc:296
msgid "Active Mark to Playhead"
msgstr ""
-#: editor_actions.cc:276
+#: editor_actions.cc:298
msgid "Set Loop from Edit Range"
msgstr ""
-#: editor_actions.cc:277
+#: editor_actions.cc:299
msgid "Set Punch from Edit Range"
msgstr ""
-#: editor_actions.cc:280
+#: editor_actions.cc:302
msgid "Play Selected Regions"
msgstr ""
-#: editor_actions.cc:282
+#: editor_actions.cc:304
msgid "Play from Edit Point and Return"
msgstr ""
-#: editor_actions.cc:284
+#: editor_actions.cc:306
msgid "Play Edit Range"
msgstr ""
-#: editor_actions.cc:286
+#: editor_actions.cc:308
msgid "Playhead to Mouse"
msgstr ""
-#: editor_actions.cc:287
+#: editor_actions.cc:309
msgid "Active Marker to Mouse"
msgstr ""
-#: editor_actions.cc:294
+#: editor_actions.cc:319
msgid "Export Audio"
msgstr ""
-#: editor_actions.cc:295 export_dialog.cc:406
+#: editor_actions.cc:320 export_dialog.cc:396
msgid "Export Range"
msgstr "Εξαγωγή διαστήματος"
-#: editor_actions.cc:300
+#: editor_actions.cc:325
msgid "Separate Using Punch Range"
msgstr ""
-#: editor_actions.cc:303
+#: editor_actions.cc:328
msgid "Separate Using Loop Range"
msgstr ""
-#: editor_actions.cc:306 editor_actions.cc:323
+#: editor_actions.cc:331 editor_actions.cc:353
msgid "Crop"
msgstr ""
-#: editor_actions.cc:315
+#: editor_actions.cc:341
+msgid "Fade Range Selection"
+msgstr ""
+
+#: editor_actions.cc:343
msgid "Set Tempo from Edit Range = Bar"
msgstr ""
-#: editor_actions.cc:317
+#: editor_actions.cc:345
msgid "Log"
msgstr ""
-#: editor_actions.cc:320
+#: editor_actions.cc:348 editor_actions.cc:349
msgid "Move Later to Transient"
msgstr ""
-#: editor_actions.cc:321
+#: editor_actions.cc:350 editor_actions.cc:351
msgid "Move Earlier to Transient"
msgstr ""
-#: editor_actions.cc:325
+#: editor_actions.cc:355 editor_actions.cc:358
msgid "Start Range"
msgstr "ΕναÏκτήÏιο διάστημα"
-#: editor_actions.cc:326
+#: editor_actions.cc:356 editor_actions.cc:359
msgid "Finish Range"
msgstr "ΟλοκλήÏωση Διαστήματος"
-#: editor_actions.cc:327
-msgid "Finish Add Range"
-msgstr ""
-
-#: editor_actions.cc:357
+#: editor_actions.cc:391
msgid "Follow Playhead"
msgstr "Ακολουθώντας την playhead"
-#: editor_actions.cc:358
+#: editor_actions.cc:392
msgid "Remove Last Capture"
msgstr ""
-#: editor_actions.cc:360
+#: editor_actions.cc:394
msgid "Stationary Playhead"
msgstr ""
-#: editor_actions.cc:362 insert_time_dialog.cc:32
+#: editor_actions.cc:396 insert_time_dialog.cc:32
msgid "Insert Time"
msgstr ""
-#: editor_actions.cc:365
+#: editor_actions.cc:399
msgid "Toggle Active"
msgstr ""
-#: editor_actions.cc:370 editor_actions.cc:1716 editor_markers.cc:876
-#: editor_markers.cc:941 editor_snapshots.cc:121 mixer_strip.cc:1495
-#: route_time_axis.cc:710
+#: editor_actions.cc:404 editor_actions.cc:1764 editor_markers.cc:890
+#: editor_markers.cc:955 editor_snapshots.cc:122 mixer_strip.cc:1506
+#: route_time_axis.cc:829
msgid "Remove"
msgstr "Απαλοιφή"
-#: editor_actions.cc:374
+#: editor_actions.cc:408
msgid "Fit Selected Tracks"
msgstr ""
-#: editor_actions.cc:376 time_axis_view.cc:1302
+#: editor_actions.cc:411 time_axis_view.cc:1336
msgid "Largest"
msgstr "Μέγιστο"
-#: editor_actions.cc:379 time_axis_view.cc:1303
+#: editor_actions.cc:414 time_axis_view.cc:1337
msgid "Larger"
msgstr "ΜεγαλÏτεÏο"
-#: editor_actions.cc:382 editor_rulers.cc:375 time_axis_view.cc:1304
+#: editor_actions.cc:417 editor_rulers.cc:249 time_axis_view.cc:1338
msgid "Large"
msgstr "Μεγάλο"
-#: editor_actions.cc:388 editor_rulers.cc:379 time_axis_view.cc:1306
+#: editor_actions.cc:423 editor_rulers.cc:253 time_axis_view.cc:1340
msgid "Small"
msgstr "ΜικÏÏŒ"
-#: editor_actions.cc:392
+#: editor_actions.cc:427
msgid "Sound Selected MIDI Notes"
msgstr ""
-#: editor_actions.cc:397
+#: editor_actions.cc:432
msgid "Zoom Focus Left"
msgstr "Εστίαση Zoom αÏιστεÏά"
-#: editor_actions.cc:398
+#: editor_actions.cc:433
msgid "Zoom Focus Right"
msgstr "Εστίαση Zoom δεξιά"
-#: editor_actions.cc:399
+#: editor_actions.cc:434
msgid "Zoom Focus Center"
msgstr "Εστίαση Zoom κέντÏο"
-#: editor_actions.cc:400
+#: editor_actions.cc:435
msgid "Zoom Focus Playhead"
msgstr "Εστίαση Zoom στην playhead"
-#: editor_actions.cc:401
+#: editor_actions.cc:436
msgid "Zoom Focus Mouse"
msgstr ""
-#: editor_actions.cc:402
+#: editor_actions.cc:437
msgid "Zoom Focus Edit Point"
msgstr ""
-#: editor_actions.cc:404
+#: editor_actions.cc:439
msgid "Next Zoom Focus"
msgstr ""
-#: editor_actions.cc:410
+#: editor_actions.cc:445
msgid "Smart Object Mode"
msgstr ""
-#: editor_actions.cc:413
+#: editor_actions.cc:448
msgid "Smart"
msgstr ""
-#: editor_actions.cc:417
+#: editor_actions.cc:451
msgid "Object Tool"
msgstr "ΕÏγαλείο Object"
-#: editor_actions.cc:423
+#: editor_actions.cc:456
msgid "Range Tool"
msgstr "ΕÏγαλείο Διαστήματος"
-#: editor_actions.cc:429
+#: editor_actions.cc:461
msgid "Note Drawing Tool"
msgstr ""
-#: editor_actions.cc:435
+#: editor_actions.cc:466
msgid "Gain Tool"
msgstr "ΕÏγαλείο Gain"
-#: editor_actions.cc:441
+#: editor_actions.cc:472
msgid "Zoom Tool"
msgstr "ΕÏγαλείο Zoom"
-#: editor_actions.cc:447
+#: editor_actions.cc:478
msgid "Audition Tool"
msgstr ""
-#: editor_actions.cc:453
+#: editor_actions.cc:483
msgid "Time FX Tool"
msgstr ""
-#: editor_actions.cc:459
+#: editor_actions.cc:489
+msgid "Cut Tool"
+msgstr ""
+
+#: editor_actions.cc:495
msgid "Step Mouse Mode"
msgstr ""
-#: editor_actions.cc:461
+#: editor_actions.cc:497
msgid "Edit MIDI"
msgstr ""
-#: editor_actions.cc:472
+#: editor_actions.cc:507
msgid "Change Edit Point"
msgstr ""
-#: editor_actions.cc:473
+#: editor_actions.cc:508
msgid "Change Edit Point Including Marker"
msgstr ""
-#: editor_actions.cc:475
-msgid "Splice"
-msgstr "Splice"
-
-#: editor_actions.cc:477
-msgid "Slide"
-msgstr "Ολίσθηση"
-
-#: editor_actions.cc:478 editor_actions.cc:1737 editor_markers.cc:860
-#: editor_rulers.cc:386 location_ui.cc:56
-msgid "Lock"
-msgstr "Κλείδωμα"
-
-#: editor_actions.cc:479
-msgid "Toggle Edit Mode"
+#: editor_actions.cc:514
+msgid "Cycle Edit Mode"
msgstr ""
-#: editor_actions.cc:481
+#: editor_actions.cc:516
msgid "Snap to"
msgstr ""
-#: editor_actions.cc:482
+#: editor_actions.cc:517
msgid "Snap Mode"
msgstr "ΛειτουÏγία Έλξεως"
-#: editor_actions.cc:489
+#: editor_actions.cc:524
msgid "Next Snap Mode"
msgstr ""
-#: editor_actions.cc:490
+#: editor_actions.cc:525
msgid "Next Snap Choice"
msgstr ""
-#: editor_actions.cc:491
+#: editor_actions.cc:526
msgid "Next Musical Snap Choice"
msgstr ""
-#: editor_actions.cc:492
+#: editor_actions.cc:527
msgid "Previous Snap Choice"
msgstr ""
-#: editor_actions.cc:493
+#: editor_actions.cc:528
msgid "Previous Musical Snap Choice"
msgstr ""
-#: editor_actions.cc:498
+#: editor_actions.cc:533
msgid "Snap to CD Frame"
msgstr ""
-#: editor_actions.cc:499
+#: editor_actions.cc:534
msgid "Snap to Timecode Frame"
msgstr ""
-#: editor_actions.cc:500
+#: editor_actions.cc:535
msgid "Snap to Timecode Seconds"
msgstr ""
-#: editor_actions.cc:501
+#: editor_actions.cc:536
msgid "Snap to Timecode Minutes"
msgstr ""
-#: editor_actions.cc:502
+#: editor_actions.cc:537
msgid "Snap to Seconds"
msgstr ""
-#: editor_actions.cc:503
+#: editor_actions.cc:538
msgid "Snap to Minutes"
msgstr ""
-#: editor_actions.cc:505
+#: editor_actions.cc:540
msgid "Snap to One Twenty Eighths"
msgstr ""
-#: editor_actions.cc:506
+#: editor_actions.cc:541
msgid "Snap to Sixty Fourths"
msgstr ""
-#: editor_actions.cc:507
+#: editor_actions.cc:542
msgid "Snap to Thirty Seconds"
msgstr ""
-#: editor_actions.cc:508
+#: editor_actions.cc:543
msgid "Snap to Twenty Eighths"
msgstr ""
-#: editor_actions.cc:509
+#: editor_actions.cc:544
msgid "Snap to Twenty Fourths"
msgstr ""
-#: editor_actions.cc:510
+#: editor_actions.cc:545
msgid "Snap to Twentieths"
msgstr ""
-#: editor_actions.cc:511
+#: editor_actions.cc:546
msgid "Snap to Sixteenths"
msgstr ""
-#: editor_actions.cc:512
+#: editor_actions.cc:547
msgid "Snap to Fourteenths"
msgstr ""
-#: editor_actions.cc:513
+#: editor_actions.cc:548
msgid "Snap to Twelfths"
msgstr ""
-#: editor_actions.cc:514
+#: editor_actions.cc:549
msgid "Snap to Tenths"
msgstr ""
-#: editor_actions.cc:515
+#: editor_actions.cc:550
msgid "Snap to Eighths"
msgstr ""
-#: editor_actions.cc:516
+#: editor_actions.cc:551
msgid "Snap to Sevenths"
msgstr ""
-#: editor_actions.cc:517
+#: editor_actions.cc:552
msgid "Snap to Sixths"
msgstr ""
-#: editor_actions.cc:518
+#: editor_actions.cc:553
msgid "Snap to Fifths"
msgstr ""
-#: editor_actions.cc:519
+#: editor_actions.cc:554
msgid "Snap to Quarters"
msgstr ""
-#: editor_actions.cc:520
+#: editor_actions.cc:555
msgid "Snap to Thirds"
msgstr ""
-#: editor_actions.cc:521
+#: editor_actions.cc:556
msgid "Snap to Halves"
msgstr ""
-#: editor_actions.cc:523
+#: editor_actions.cc:558
msgid "Snap to Beat"
msgstr ""
-#: editor_actions.cc:524
+#: editor_actions.cc:559
msgid "Snap to Bar"
msgstr ""
-#: editor_actions.cc:525
+#: editor_actions.cc:560
msgid "Snap to Mark"
msgstr ""
-#: editor_actions.cc:526
+#: editor_actions.cc:561
msgid "Snap to Region Start"
msgstr ""
-#: editor_actions.cc:527
+#: editor_actions.cc:562
msgid "Snap to Region End"
msgstr ""
-#: editor_actions.cc:528
+#: editor_actions.cc:563
msgid "Snap to Region Sync"
msgstr ""
-#: editor_actions.cc:529
+#: editor_actions.cc:564
msgid "Snap to Region Boundary"
msgstr ""
-#: editor_actions.cc:531
+#: editor_actions.cc:566
msgid "Show Marker Lines"
msgstr ""
-#: editor_actions.cc:541
+#: editor_actions.cc:576
msgid "Loop/Punch"
msgstr ""
-#: editor_actions.cc:545
+#: editor_actions.cc:580
msgid "Min:Sec"
msgstr ""
-#: editor_actions.cc:547 editor_actions.cc:550
+#: editor_actions.cc:582 editor_actions.cc:585
msgid "Video Monitor"
msgstr ""
-#: editor_actions.cc:549 rc_option_editor.cc:1829
+#: editor_actions.cc:584 rc_option_editor.cc:2134
msgid "Video"
msgstr ""
-#: editor_actions.cc:552
+#: editor_actions.cc:587
msgid "Always on Top"
msgstr ""
-#: editor_actions.cc:554
+#: editor_actions.cc:589
msgid "Frame number"
msgstr ""
-#: editor_actions.cc:555
+#: editor_actions.cc:590
msgid "Timecode Background"
msgstr ""
-#: editor_actions.cc:556
+#: editor_actions.cc:591
msgid "Fullscreen"
msgstr ""
-#: editor_actions.cc:557
+#: editor_actions.cc:592
msgid "Letterbox"
msgstr ""
-#: editor_actions.cc:558
+#: editor_actions.cc:593
msgid "Original Size"
msgstr ""
-#: editor_actions.cc:608
+#: editor_actions.cc:650
msgid "Sort"
msgstr "Ταξινόμηση"
-#: editor_actions.cc:610 region_editor.cc:51
-msgid "Audition"
-msgstr "ΑκÏόαση"
-
-#: editor_actions.cc:619 editor_routes.cc:470 mixer_ui.cc:1161
+#: editor_actions.cc:661 editor_routes.cc:473 mixer_ui.cc:1181
msgid "Show All"
msgstr "Εμφάνιση Όλων"
-#: editor_actions.cc:620
+#: editor_actions.cc:662
msgid "Show Automatic Regions"
msgstr ""
-#: editor_actions.cc:622
+#: editor_actions.cc:664
msgid "Ascending"
msgstr "ΑÏξουσα"
-#: editor_actions.cc:624
+#: editor_actions.cc:666
msgid "Descending"
msgstr "Φθίνουσα"
-#: editor_actions.cc:627
+#: editor_actions.cc:669
msgid "By Region Name"
msgstr "Με Όνομα ΠεÏιοχής"
-#: editor_actions.cc:629
+#: editor_actions.cc:671
msgid "By Region Length"
msgstr "Με Μέγεθος ΠεÏιοχής"
-#: editor_actions.cc:631
+#: editor_actions.cc:673
msgid "By Region Position"
msgstr "Με Θέση ΠεÏιοχής"
-#: editor_actions.cc:633
+#: editor_actions.cc:675
msgid "By Region Timestamp"
msgstr "Με ΧÏονο-στάμπα ΠεÏιοχής"
-#: editor_actions.cc:635
+#: editor_actions.cc:677
msgid "By Region Start in File"
msgstr "Με ΑÏχή-στο-αÏχείο της ΠεÏιοχής"
-#: editor_actions.cc:637
+#: editor_actions.cc:679
msgid "By Region End in File"
msgstr "Με Τέλος-στο -αÏχείο της ΠεÏιοχής"
-#: editor_actions.cc:639
+#: editor_actions.cc:681
msgid "By Source File Name"
msgstr "Με Όνομα ΑÏχείου Πηγής"
-#: editor_actions.cc:641
+#: editor_actions.cc:683
msgid "By Source File Length"
msgstr "Με Μέγεθος ΑÏχείου Πηγής"
-#: editor_actions.cc:643
+#: editor_actions.cc:685
msgid "By Source File Creation Date"
msgstr "Με Ημ/νία ΑÏχείου Πηγής"
-#: editor_actions.cc:645
+#: editor_actions.cc:687
msgid "By Source Filesystem"
msgstr "Με Filesystem Πηγής"
-#: editor_actions.cc:648
+#: editor_actions.cc:690
msgid "Remove Unused"
msgstr ""
-#: editor_actions.cc:652 editor_audio_import.cc:279
+#: editor_actions.cc:694 editor_audio_import.cc:277
#: session_import_dialog.cc:74 session_import_dialog.cc:94
-#: session_metadata_dialog.cc:297 editor_videotimeline.cc:108
+#: session_metadata_dialog.cc:297 editor_videotimeline.cc:92
msgid "Import"
msgstr "Εισαγωγή"
-#: editor_actions.cc:655
+#: editor_actions.cc:697
msgid "Import to Region List..."
msgstr ""
-#: editor_actions.cc:658 session_import_dialog.cc:43
+#: editor_actions.cc:700 session_import_dialog.cc:43
msgid "Import From Session"
msgstr ""
-#: editor_actions.cc:661
+#: editor_actions.cc:704
+msgid "Bring all media into session folder"
+msgstr ""
+
+#: editor_actions.cc:707
msgid "Show Summary"
msgstr ""
-#: editor_actions.cc:663
+#: editor_actions.cc:709
msgid "Show Group Tabs"
msgstr ""
-#: editor_actions.cc:665
+#: editor_actions.cc:711
msgid "Show Measures"
msgstr ""
-#: editor_actions.cc:669
+#: editor_actions.cc:715
msgid "Show Logo"
msgstr ""
-#: editor_actions.cc:673
+#: editor_actions.cc:719
msgid "Toggle MIDI Input Active for Editor-Selected Tracks/Busses"
msgstr ""
-#: editor_actions.cc:696
+#: editor_actions.cc:742
msgid "Loaded editor bindings from %1"
msgstr ""
-#: editor_actions.cc:698
+#: editor_actions.cc:744
msgid "Could not find editor.bindings in search path %1"
msgstr ""
-#: editor_actions.cc:1028 editor_actions.cc:1424 editor_actions.cc:1435
-#: editor_actions.cc:1488 editor_actions.cc:1499 editor_actions.cc:1546
-#: editor_actions.cc:1556 editor_regions.cc:1561
+#: editor_actions.cc:1074 editor_actions.cc:1470 editor_actions.cc:1481
+#: editor_actions.cc:1534 editor_actions.cc:1545 editor_actions.cc:1592
+#: editor_actions.cc:1602 editor_regions.cc:1562
msgid "programming error: %1: %2"
msgstr ""
-#: editor_actions.cc:1722
+#: editor_actions.cc:1770
msgid "Raise"
msgstr ""
-#: editor_actions.cc:1725
+#: editor_actions.cc:1773
msgid "Raise to Top"
msgstr ""
-#: editor_actions.cc:1728 gtk-custom-ruler.c:132
+#: editor_actions.cc:1776
msgid "Lower"
msgstr "ΚατώτεÏο"
-#: editor_actions.cc:1731
+#: editor_actions.cc:1779
msgid "Lower to Bottom"
msgstr ""
-#: editor_actions.cc:1734
+#: editor_actions.cc:1782
msgid "Move to Original Position"
msgstr ""
-#: editor_actions.cc:1739
+#: editor_actions.cc:1787
msgid "Lock to Video"
msgstr ""
-#: editor_actions.cc:1744 editor_markers.cc:867
+#: editor_actions.cc:1792 editor_markers.cc:881
msgid "Glue to Bars and Beats"
msgstr ""
-#: editor_actions.cc:1749
+#: editor_actions.cc:1797
msgid "Remove Sync"
msgstr ""
-#: editor_actions.cc:1752 mixer_strip.cc:1904 route_time_axis.cc:209
-msgid "Mute"
-msgstr "Σιγή"
-
-#: editor_actions.cc:1755
+#: editor_actions.cc:1803
msgid "Normalize..."
msgstr ""
-#: editor_actions.cc:1758
+#: editor_actions.cc:1806
msgid "Reverse"
msgstr "ΑντιστÏοφή"
-#: editor_actions.cc:1761
+#: editor_actions.cc:1809
msgid "Make Mono Regions"
msgstr ""
-#: editor_actions.cc:1764
+#: editor_actions.cc:1812
msgid "Boost Gain"
msgstr ""
-#: editor_actions.cc:1767
+#: editor_actions.cc:1815
msgid "Cut Gain"
msgstr ""
-#: editor_actions.cc:1770
+#: editor_actions.cc:1818
msgid "Pitch Shift..."
msgstr ""
-#: editor_actions.cc:1773
+#: editor_actions.cc:1821
msgid "Transpose..."
msgstr ""
-#: editor_actions.cc:1776
+#: editor_actions.cc:1824
msgid "Opaque"
msgstr ""
-#: editor_actions.cc:1780 editor_regions.cc:116
+#: editor_actions.cc:1828 editor_regions.cc:117
msgid "Fade In"
msgstr "Fade In"
-#: editor_actions.cc:1785 editor_regions.cc:117
+#: editor_actions.cc:1833 editor_regions.cc:118
msgid "Fade Out"
msgstr "Fade Out"
-#: editor_actions.cc:1800
+#: editor_actions.cc:1848
msgid "Multi-Duplicate..."
msgstr ""
-#: editor_actions.cc:1805
+#: editor_actions.cc:1853
msgid "Fill Track"
msgstr "Γόμωση καναλιοÏ"
-#: editor_actions.cc:1809 editor_markers.cc:955
+#: editor_actions.cc:1857 editor_markers.cc:969
msgid "Set Loop Range"
msgstr "Θέση Loop Διαστήματος"
-#: editor_actions.cc:1816
+#: editor_actions.cc:1864
msgid "Set Punch"
msgstr ""
-#: editor_actions.cc:1820
+#: editor_actions.cc:1868
msgid "Add Single Range Marker"
msgstr ""
-#: editor_actions.cc:1825
+#: editor_actions.cc:1873
msgid "Add Range Marker Per Region"
msgstr ""
-#: editor_actions.cc:1829
+#: editor_actions.cc:1877
msgid "Snap Position To Grid"
msgstr ""
-#: editor_actions.cc:1832
+#: editor_actions.cc:1880
msgid "Close Gaps"
msgstr ""
-#: editor_actions.cc:1835
+#: editor_actions.cc:1883
msgid "Rhythm Ferret..."
msgstr ""
-#: editor_actions.cc:1838
+#: editor_actions.cc:1886
msgid "Export..."
msgstr ""
-#: editor_actions.cc:1844
+#: editor_actions.cc:1892
msgid "Separate Under"
msgstr ""
-#: editor_actions.cc:1848
+#: editor_actions.cc:1896 editor_actions.cc:1897
msgid "Set Fade In Length"
msgstr ""
-#: editor_actions.cc:1849
+#: editor_actions.cc:1898 editor_actions.cc:1899
msgid "Set Fade Out Length"
msgstr ""
-#: editor_actions.cc:1850
+#: editor_actions.cc:1901
msgid "Set Tempo from Region = Bar"
msgstr ""
-#: editor_actions.cc:1855
+#: editor_actions.cc:1906
msgid "Split at Percussion Onsets"
msgstr ""
-#: editor_actions.cc:1860
+#: editor_actions.cc:1911
msgid "List Editor..."
msgstr ""
-#: editor_actions.cc:1863
+#: editor_actions.cc:1914
msgid "Properties..."
msgstr ""
-#: editor_actions.cc:1867
+#: editor_actions.cc:1918
msgid "Bounce (with processing)"
msgstr ""
-#: editor_actions.cc:1868
+#: editor_actions.cc:1919
msgid "Bounce (without processing)"
msgstr ""
-#: editor_actions.cc:1869
+#: editor_actions.cc:1920
msgid "Combine"
msgstr ""
-#: editor_actions.cc:1870
+#: editor_actions.cc:1921
msgid "Uncombine"
msgstr ""
-#: editor_actions.cc:1872
+#: editor_actions.cc:1923
msgid "Spectral Analysis..."
msgstr ""
-#: editor_actions.cc:1874
+#: editor_actions.cc:1925
msgid "Reset Envelope"
msgstr ""
-#: editor_actions.cc:1876
+#: editor_actions.cc:1927
msgid "Reset Gain"
msgstr ""
-#: editor_actions.cc:1881
+#: editor_actions.cc:1932
msgid "Envelope Active"
msgstr ""
-#: editor_actions.cc:1885
+#: editor_actions.cc:1936
msgid "Quantize..."
msgstr ""
-#: editor_actions.cc:1886 editor_actions.cc:1887
+#: editor_actions.cc:1937 editor_actions.cc:1938
msgid "Insert Patch Change..."
msgstr ""
-#: editor_actions.cc:1888
+#: editor_actions.cc:1939
msgid "Unlink from other copies"
msgstr ""
-#: editor_actions.cc:1889
+#: editor_actions.cc:1940
msgid "Strip Silence..."
msgstr ""
-#: editor_actions.cc:1890
+#: editor_actions.cc:1941
msgid "Set Range Selection"
msgstr ""
-#: editor_actions.cc:1892
+#: editor_actions.cc:1943 editor_actions.cc:1944
msgid "Nudge Later"
msgstr ""
-#: editor_actions.cc:1893
+#: editor_actions.cc:1945 editor_actions.cc:1946
msgid "Nudge Earlier"
msgstr ""
-#: editor_actions.cc:1898
+#: editor_actions.cc:1948
+msgid "Sequence Regions"
+msgstr ""
+
+#: editor_actions.cc:1953
msgid "Nudge Later by Capture Offset"
msgstr ""
-#: editor_actions.cc:1905
+#: editor_actions.cc:1960
msgid "Nudge Earlier by Capture Offset"
msgstr ""
-#: editor_actions.cc:1909
+#: editor_actions.cc:1964
msgid "Trim to Loop"
msgstr ""
-#: editor_actions.cc:1910
+#: editor_actions.cc:1965
msgid "Trim to Punch"
msgstr ""
-#: editor_actions.cc:1912
+#: editor_actions.cc:1967
msgid "Trim to Previous"
msgstr ""
-#: editor_actions.cc:1913
+#: editor_actions.cc:1968
msgid "Trim to Next"
msgstr ""
-#: editor_actions.cc:1920
+#: editor_actions.cc:1975
msgid "Insert Region From Region List"
msgstr ""
-#: editor_actions.cc:1926
+#: editor_actions.cc:1981
msgid "Set Sync Position"
msgstr ""
-#: editor_actions.cc:1927
+#: editor_actions.cc:1982
msgid "Place Transient"
msgstr ""
-#: editor_actions.cc:1928
+#: editor_actions.cc:1983
msgid "Split"
msgstr "ΔιαχωÏισμός"
-#: editor_actions.cc:1929
+#: editor_actions.cc:1984
msgid "Trim Start at Edit Point"
msgstr ""
-#: editor_actions.cc:1930
+#: editor_actions.cc:1985
msgid "Trim End at Edit Point"
msgstr ""
-#: editor_actions.cc:1935
+#: editor_actions.cc:1990
msgid "Align Start"
msgstr ""
-#: editor_actions.cc:1942
+#: editor_actions.cc:1997
msgid "Align Start Relative"
msgstr ""
-#: editor_actions.cc:1946
+#: editor_actions.cc:2001
msgid "Align End"
msgstr ""
-#: editor_actions.cc:1951
+#: editor_actions.cc:2006
msgid "Align End Relative"
msgstr ""
-#: editor_actions.cc:1958
+#: editor_actions.cc:2013
msgid "Align Sync"
msgstr ""
-#: editor_actions.cc:1965
+#: editor_actions.cc:2020
msgid "Align Sync Relative"
msgstr ""
-#: editor_actions.cc:1969 editor_actions.cc:1972
+#: editor_actions.cc:2024 editor_actions.cc:2027
msgid "Choose Top..."
msgstr ""
-#: editor_audio_import.cc:77 editor_audio_import.cc:99
+#: editor_audio_import.cc:76 editor_audio_import.cc:98
msgid "You can't import or embed an audiofile until you have a session loaded."
msgstr ""
-#: editor_audio_import.cc:83 editor_audio_import.cc:127
+#: editor_audio_import.cc:82 editor_audio_import.cc:126
msgid "Add Existing Media"
msgstr ""
-#: editor_audio_import.cc:177
+#: editor_audio_import.cc:175
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%1 as a new file, or skip it?"
msgstr ""
-#: editor_audio_import.cc:179
+#: editor_audio_import.cc:177
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%2 as a new source, or skip it?"
msgstr ""
-#: editor_audio_import.cc:279 editor_videotimeline.cc:108
+#: editor_audio_import.cc:277 editor_videotimeline.cc:92
msgid "Cancel Import"
msgstr "ΑκÏÏωση Εισαγωγής"
-#: editor_audio_import.cc:543
+#: editor_audio_import.cc:541
msgid "Editor: cannot open file \"%1\", (%2)"
msgstr "Editor: δεν γίνεται να ανοίξει το αÏχείο \"%1\",(%2)"
-#: editor_audio_import.cc:551
+#: editor_audio_import.cc:549
msgid "Cancel entire import"
msgstr "ΑκÏÏωση όλης της Εισαγωγής"
-#: editor_audio_import.cc:552
+#: editor_audio_import.cc:550
msgid "Don't embed it"
msgstr "Μη το εμφυτεÏσεις"
-#: editor_audio_import.cc:553
+#: editor_audio_import.cc:551
msgid "Embed all without questions"
msgstr ""
-#: editor_audio_import.cc:556 editor_audio_import.cc:585
-#: export_format_dialog.cc:58
+#: editor_audio_import.cc:554 editor_audio_import.cc:583
+#: export_format_dialog.cc:60
msgid "Sample rate"
msgstr ""
-#: editor_audio_import.cc:557 editor_audio_import.cc:586
+#: editor_audio_import.cc:555 editor_audio_import.cc:584
msgid ""
"%1\n"
"This audiofile's sample rate doesn't match the session sample rate!"
@@ -4232,306 +4335,302 @@ msgstr ""
"Ο Ïυθμός δειγματοληψίας Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… αÏχείου δεν ταιÏιάζει με αυτόν της "
"συνεδÏίας!"
-#: editor_audio_import.cc:582
+#: editor_audio_import.cc:580
msgid "Embed it anyway"
msgstr "ΕμφÏτευσέ το οÏτως ή άλλως"
-#: editor_drag.cc:1000
+#: editor_drag.cc:994
+msgid "Could not create new track after region placed in the drop zone"
+msgstr ""
+
+#: editor_drag.cc:1100
msgid "fixed time region drag"
msgstr ""
-#: editor_drag.cc:1700
+#: editor_drag.cc:1797
+msgid "Ripple drag"
+msgstr ""
+
+#: editor_drag.cc:2093
msgid "Video Start:"
msgstr ""
-#: editor_drag.cc:1702
+#: editor_drag.cc:2095
msgid "Diff:"
msgstr ""
-#: editor_drag.cc:1722
+#: editor_drag.cc:2114
msgid "Move Video"
msgstr ""
-#: editor_drag.cc:2200
+#: editor_drag.cc:2621
msgid "copy meter mark"
msgstr "αντιγÏαφή στίγματος μετÏητή"
-#: editor_drag.cc:2208
+#: editor_drag.cc:2629
msgid "move meter mark"
msgstr "μετακίνηση στίγματος μετÏητή"
-#: editor_drag.cc:2320
+#: editor_drag.cc:2752
msgid "copy tempo mark"
msgstr "αντιγÏαφή στίγματος tempo"
-#: editor_drag.cc:2328
+#: editor_drag.cc:2760
msgid "move tempo mark"
msgstr "μετακίνηση στίγματος tempo"
-#: editor_drag.cc:2550
+#: editor_drag.cc:2989
msgid "change fade in length"
msgstr "αλλαγή μήκους fade in"
-#: editor_drag.cc:2668
+#: editor_drag.cc:3107
msgid "change fade out length"
msgstr "αλλαγή μήκους fade out"
-#: editor_drag.cc:3023
+#: editor_drag.cc:3463
msgid "move marker"
msgstr "μετακίνηση στίγματος"
-#: editor_drag.cc:3586
+#: editor_drag.cc:4046
msgid "An error occurred while executing time stretch operation"
msgstr ""
-#: editor_drag.cc:4016
+#: editor_drag.cc:4493
msgid "programming_error: %1"
msgstr ""
-#: editor_drag.cc:4086 editor_markers.cc:680
+#: editor_drag.cc:4559 editor_markers.cc:694
msgid "new range marker"
msgstr "νέο στίγμα διαστήματος"
-#: editor_drag.cc:4767
+#: editor_drag.cc:5259
msgid "rubberband selection"
msgstr ""
-#: editor_route_groups.cc:66
-msgid "No Selection = All Tracks?"
-msgstr ""
-
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Col"
msgstr ""
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Group Tab Color"
msgstr ""
-#: editor_route_groups.cc:96
+#: editor_route_groups.cc:97
msgid "Name of Group"
msgstr ""
-#: editor_route_groups.cc:97 editor_routes.cc:203
+#: editor_route_groups.cc:98 editor_routes.cc:205
msgid "V"
msgstr ""
-#: editor_route_groups.cc:97
+#: editor_route_groups.cc:98
msgid "Group is visible?"
msgstr ""
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "On"
msgstr ""
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "Group is enabled?"
msgstr ""
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "group|G"
msgstr ""
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "Sharing Gain?"
msgstr ""
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "relative|Rel"
msgstr ""
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "Relative Gain Changes?"
msgstr ""
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "mute|M"
msgstr ""
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "Sharing Mute?"
msgstr ""
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "solo|S"
msgstr ""
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "Sharing Solo?"
msgstr ""
-#: editor_route_groups.cc:103 midi_time_axis.cc:1504 midi_time_axis.cc:1507
-#: midi_time_axis.cc:1510 mixer_strip.cc:1903
+#: editor_route_groups.cc:104 midi_time_axis.cc:1703 midi_time_axis.cc:1706
+#: midi_time_axis.cc:1709
msgid "Rec"
msgstr ""
-#: editor_route_groups.cc:103
+#: editor_route_groups.cc:104
msgid "Sharing Record-enable Status?"
msgstr ""
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "monitoring|Mon"
msgstr ""
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "Sharing Monitoring Choice?"
msgstr ""
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "selection|Sel"
msgstr ""
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "Sharing Selected/Editing Status?"
msgstr ""
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "active|A"
msgstr ""
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "Sharing Active Status?"
msgstr ""
-#: editor_route_groups.cc:197
-msgid "Activate this button to operate on all tracks when none are selected."
-msgstr ""
-
-#: editor_route_groups.cc:442 mixer_ui.cc:1449
+#: editor_route_groups.cc:438 mixer_ui.cc:1469
msgid "unnamed"
msgstr "ΧωÏίς όνομα"
-#: editor_export_audio.cc:90 editor_markers.cc:695 editor_markers.cc:782
-#: editor_markers.cc:967 editor_markers.cc:985 editor_markers.cc:1003
-#: editor_markers.cc:1022 editor_markers.cc:1041 editor_markers.cc:1071
-#: editor_markers.cc:1102 editor_markers.cc:1132 editor_markers.cc:1160
-#: editor_markers.cc:1191 editor_markers.cc:1216 editor_markers.cc:1267
-#: editor_markers.cc:1311 editor_markers.cc:1337 editor_markers.cc:1526
-#: editor_mouse.cc:2528
+#: editor_export_audio.cc:92 editor_markers.cc:709 editor_markers.cc:796
+#: editor_markers.cc:981 editor_markers.cc:999 editor_markers.cc:1017
+#: editor_markers.cc:1036 editor_markers.cc:1055 editor_markers.cc:1085
+#: editor_markers.cc:1116 editor_markers.cc:1146 editor_markers.cc:1174
+#: editor_markers.cc:1205 editor_markers.cc:1230 editor_markers.cc:1281
+#: editor_markers.cc:1325 editor_markers.cc:1351 editor_markers.cc:1545
+#: editor_mouse.cc:2290
msgid "programming error: marker canvas item has no marker object pointer!"
msgstr ""
"Σφάλμα Ï€ÏογÏαμματισμοÏ: ο καμβάς στιγμάτων δεν έχει δείκτη αντικειμένου "
"στιγμάτων!"
-#: editor_export_audio.cc:143 editor_export_audio.cc:148
+#: editor_export_audio.cc:145 editor_export_audio.cc:150
msgid "File Exists!"
msgstr ""
-#: editor_export_audio.cc:151
+#: editor_export_audio.cc:153
msgid "Overwrite Existing File"
msgstr ""
-#: editor_group_tabs.cc:162
+#: editor_group_tabs.cc:176
msgid "Fit to Window"
msgstr ""
-#: editor_markers.cc:129
+#: editor_markers.cc:139
msgid "start"
msgstr ""
-#: editor_markers.cc:130
+#: editor_markers.cc:140
msgid "end"
msgstr ""
-#: editor_markers.cc:646 editor_ops.cc:1744 editor_ops.cc:1764
-#: editor_ops.cc:1788 editor_ops.cc:1815 location_ui.cc:1017
+#: editor_markers.cc:660 editor_ops.cc:1915 editor_ops.cc:1935
+#: editor_ops.cc:1988 editor_ops.cc:2015 location_ui.cc:1019
msgid "add marker"
msgstr "Ï€Ïόσθεση στίγματος"
-#: editor_markers.cc:677
+#: editor_markers.cc:691
msgid "range"
msgstr ""
-#: editor_markers.cc:713 location_ui.cc:852
+#: editor_markers.cc:727 editor_ops.cc:1955 location_ui.cc:854
msgid "remove marker"
msgstr "απαλοιφή στίγματος"
-#: editor_markers.cc:849
+#: editor_markers.cc:863
msgid "Locate to Here"
msgstr ""
-#: editor_markers.cc:850
+#: editor_markers.cc:864
msgid "Play from Here"
msgstr ""
-#: editor_markers.cc:851
+#: editor_markers.cc:865
msgid "Move Mark to Playhead"
msgstr ""
-#: editor_markers.cc:855
+#: editor_markers.cc:869
msgid "Create Range to Next Marker"
msgstr ""
-#: editor_markers.cc:896
+#: editor_markers.cc:910
msgid "Locate to Marker"
msgstr ""
-#: editor_markers.cc:897
+#: editor_markers.cc:911
msgid "Play from Marker"
msgstr ""
-#: editor_markers.cc:900
+#: editor_markers.cc:914
msgid "Set Marker from Playhead"
msgstr ""
-#: editor_markers.cc:902
+#: editor_markers.cc:916
msgid "Set Range from Selection"
msgstr ""
-#: editor_markers.cc:905
-msgid "Zoom to Range"
-msgstr ""
-
-#: editor_markers.cc:912
+#: editor_markers.cc:926
msgid "Hide Range"
msgstr "ΑπόκÏυψη Διαστήματος"
-#: editor_markers.cc:913
+#: editor_markers.cc:927
msgid "Rename Range..."
msgstr ""
-#: editor_markers.cc:917
+#: editor_markers.cc:931
msgid "Remove Range"
msgstr "Απαλοιφή Διαστήματος"
-#: editor_markers.cc:924
+#: editor_markers.cc:938
msgid "Separate Regions in Range"
msgstr "ΔιαχωÏισμός πεÏιοχών στο διάστημα"
-#: editor_markers.cc:927
+#: editor_markers.cc:941
msgid "Select Range"
msgstr ""
-#: editor_markers.cc:956
+#: editor_markers.cc:970
msgid "Set Punch Range"
msgstr "Θέση Punch Διαστήματος"
-#: editor_markers.cc:1362 editor_ops.cc:1699
+#: editor_markers.cc:1376 editor_ops.cc:1870
msgid "New Name:"
msgstr ""
-#: editor_markers.cc:1365
+#: editor_markers.cc:1379
msgid "Rename Mark"
msgstr "Μετονομασία Στίγματος"
-#: editor_markers.cc:1367
+#: editor_markers.cc:1381
msgid "Rename Range"
msgstr "Μετονομασία Διαστήματος"
-#: editor_markers.cc:1374 editor_mouse.cc:2560 processor_box.cc:1808
-#: processor_box.cc:2274 route_time_axis.cc:982 route_ui.cc:1540
+#: editor_markers.cc:1388 editor_mouse.cc:2319 processor_box.cc:2038
+#: processor_box.cc:2508 route_time_axis.cc:1073 route_ui.cc:1622
msgid "Rename"
msgstr "Μετονομασία"
-#: editor_markers.cc:1387
+#: editor_markers.cc:1401
msgid "rename marker"
msgstr "μετονομασία στίγματος"
-#: editor_markers.cc:1411
+#: editor_markers.cc:1425
msgid "set loop range"
msgstr "Θέση loop διαστήματος"
-#: editor_markers.cc:1417
+#: editor_markers.cc:1431
msgid "set punch range"
msgstr "θέση punch διαστήματος"
@@ -4539,12 +4638,24 @@ msgstr "θέση punch διαστήματος"
msgid "This screen is not tall enough to display the editor mixer"
msgstr ""
-#: editor_mouse.cc:172
-msgid "Editor::event_frame() used on unhandled event type %1"
+#: editor_mouse.cc:1384 editor_mouse.cc:1402 editor_tempodisplay.cc:273
+msgid ""
+"programming error: tempo marker canvas item has no marker object pointer!"
msgstr ""
-"ΕπαξεÏγαστής::event_frame() χÏησιμοποιήθηκε στο αδιαχείÏιστο συμβάν Ï„Ïπου %1"
+"σφάλμα Ï€ÏογÏαμματισμοÏ: ο καμβάς στίξης του tempo δεν έχει δείκτη "
+"αντικειμένου στιγμάτων!"
-#: editor_mouse.cc:2285 editor_mouse.cc:2310 editor_mouse.cc:2323
+#: editor_mouse.cc:1389 editor_tempodisplay.cc:278
+msgid "programming error: marker for tempo is not a tempo marker!"
+msgstr ""
+"σφάλμα Ï€ÏογÏαμματισμοÏ: το στίγμα για το tempo δεν είναι στιγμα για tempo!"
+
+#: editor_mouse.cc:1407 editor_tempodisplay.cc:382
+msgid "programming error: marker for meter is not a meter marker!"
+msgstr ""
+"Σφάλμα Ï€ÏογÏαμματισμοÏ: το στίγμα για το μέτÏο δεν είναι στίγμα μέτÏου!"
+
+#: editor_mouse.cc:2047 editor_mouse.cc:2072 editor_mouse.cc:2085
msgid ""
"programming error: control point canvas item has no control point object "
"pointer!"
@@ -4552,175 +4663,175 @@ msgstr ""
"Σφάλμα ΠÏογÏαμματισμοÏ: ο καμβάς του σημείου ελέγχου δεν έχει δείκτη "
"αναφοÏάς!"
-#: editor_mouse.cc:2466
+#: editor_mouse.cc:2228
msgid "start point trim"
msgstr ""
-#: editor_mouse.cc:2491
+#: editor_mouse.cc:2253
msgid "End point trim"
msgstr "Τέλος σημείου ισοσταθμίσεως"
-#: editor_mouse.cc:2558
+#: editor_mouse.cc:2317
msgid "Name for region:"
msgstr "Όνομα για πεÏιοχή:"
-#: editor_ops.cc:140
+#: editor_ops.cc:147
msgid "split"
msgstr "διαχωÏισμός"
-#: editor_ops.cc:256
+#: editor_ops.cc:291
msgid "alter selection"
msgstr ""
-#: editor_ops.cc:298
+#: editor_ops.cc:333
msgid "nudge regions forward"
msgstr ""
-#: editor_ops.cc:321 editor_ops.cc:406
+#: editor_ops.cc:356 editor_ops.cc:441
msgid "nudge location forward"
msgstr ""
-#: editor_ops.cc:379
+#: editor_ops.cc:414
msgid "nudge regions backward"
msgstr ""
-#: editor_ops.cc:468
+#: editor_ops.cc:503
msgid "nudge forward"
msgstr "νÏξη εμπÏός"
-#: editor_ops.cc:492
+#: editor_ops.cc:527
msgid "nudge backward"
msgstr ""
-#: editor_ops.cc:557
+#: editor_ops.cc:570
+msgid "sequence regions"
+msgstr ""
+
+#: editor_ops.cc:646
msgid "build_region_boundary_cache called with snap_type = %1"
msgstr "build_region_boundary_cache εκλήθη με snap_type = %1"
-#: editor_ops.cc:1701
+#: editor_ops.cc:1872
msgid "New Location Marker"
msgstr ""
-#: editor_ops.cc:1788
+#: editor_ops.cc:1988
msgid "add markers"
msgstr ""
-#: editor_ops.cc:1894
+#: editor_ops.cc:2094
msgid "clear markers"
msgstr "εκκαθάÏιση στιγμάτων"
-#: editor_ops.cc:1907
+#: editor_ops.cc:2107
msgid "clear ranges"
msgstr "διαγÏαφή διαστημάτων"
-#: editor_ops.cc:1929
+#: editor_ops.cc:2129
msgid "clear locations"
msgstr "διαγÏαφή τοποθεσιών"
-#: editor_ops.cc:2000
-msgid "insert dragged region"
-msgstr "Ï€Ïοσθήκη ελκομένης πεÏιοχής"
-
-#: editor_ops.cc:2078
+#: editor_ops.cc:2191
msgid "insert region"
msgstr "Ï€Ïοσθήκη πεÏιοχής"
-#: editor_ops.cc:2261
+#: editor_ops.cc:2377
msgid "raise regions"
msgstr ""
-#: editor_ops.cc:2263
+#: editor_ops.cc:2379
msgid "raise region"
msgstr ""
-#: editor_ops.cc:2269
+#: editor_ops.cc:2385
msgid "raise regions to top"
msgstr ""
-#: editor_ops.cc:2271
+#: editor_ops.cc:2387
msgid "raise region to top"
msgstr ""
-#: editor_ops.cc:2277
+#: editor_ops.cc:2393
msgid "lower regions"
msgstr ""
-#: editor_ops.cc:2279 editor_ops.cc:2287
+#: editor_ops.cc:2395 editor_ops.cc:2403
msgid "lower region"
msgstr ""
-#: editor_ops.cc:2285
+#: editor_ops.cc:2401
msgid "lower regions to bottom"
msgstr ""
-#: editor_ops.cc:2370
+#: editor_ops.cc:2486
msgid "Rename Region"
msgstr ""
-#: editor_ops.cc:2372 processor_box.cc:1806 route_ui.cc:1538
+#: editor_ops.cc:2488 processor_box.cc:2036 route_ui.cc:1620
msgid "New name:"
msgstr ""
-#: editor_ops.cc:2682
+#: editor_ops.cc:2798
msgid "separate"
msgstr "διαχωÏισμός"
-#: editor_ops.cc:2795
+#: editor_ops.cc:2910
msgid "separate region under"
msgstr ""
-#: editor_ops.cc:2916
+#: editor_ops.cc:3031
msgid "trim to selection"
msgstr "ισοστάθμιση Ï€Ïος τα επιλεγμένα"
-#: editor_ops.cc:3052
+#: editor_ops.cc:3167
msgid "set sync point"
msgstr ""
-#: editor_ops.cc:3076
+#: editor_ops.cc:3191
msgid "remove region sync"
msgstr ""
-#: editor_ops.cc:3098
+#: editor_ops.cc:3213
msgid "move regions to original position"
msgstr ""
-#: editor_ops.cc:3100
+#: editor_ops.cc:3215
msgid "move region to original position"
msgstr ""
-#: editor_ops.cc:3121
+#: editor_ops.cc:3236
msgid "align selection"
msgstr "ευθυγÏάμμιση επιλογής"
-#: editor_ops.cc:3195
+#: editor_ops.cc:3310
msgid "align selection (relative)"
msgstr "ευθυγÏάμμιση επιλογής (σχετική)"
-#: editor_ops.cc:3229
+#: editor_ops.cc:3344
msgid "align region"
msgstr "ευθυγÏάμμιση πεÏιοχής"
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim front"
msgstr ""
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim back"
msgstr ""
-#: editor_ops.cc:3310
+#: editor_ops.cc:3425
msgid "trim to loop"
msgstr ""
-#: editor_ops.cc:3320
+#: editor_ops.cc:3435
msgid "trim to punch"
msgstr ""
-#: editor_ops.cc:3382
+#: editor_ops.cc:3497
msgid "trim to region"
msgstr ""
-#: editor_ops.cc:3492
+#: editor_ops.cc:3605
msgid ""
"This track/bus cannot be frozen because the signal adds or loses channels "
"before reaching the outputs.\n"
@@ -4728,11 +4839,11 @@ msgid ""
"input or vice versa."
msgstr ""
-#: editor_ops.cc:3495
+#: editor_ops.cc:3608
msgid "Cannot freeze"
msgstr ""
-#: editor_ops.cc:3501
+#: editor_ops.cc:3614
msgid ""
"<b>%1</b>\n"
"\n"
@@ -4741,23 +4852,23 @@ msgid ""
"Freezing will only process the signal as far as the first send/insert/return."
msgstr ""
-#: editor_ops.cc:3505
+#: editor_ops.cc:3618
msgid "Freeze anyway"
msgstr ""
-#: editor_ops.cc:3506
+#: editor_ops.cc:3619
msgid "Don't freeze"
msgstr ""
-#: editor_ops.cc:3507
+#: editor_ops.cc:3620
msgid "Freeze Limits"
msgstr ""
-#: editor_ops.cc:3522
+#: editor_ops.cc:3635
msgid "Cancel Freeze"
msgstr "ΑκÏÏωση παγώματος"
-#: editor_ops.cc:3553
+#: editor_ops.cc:3666
msgid ""
"You can't perform this operation because the processing of the signal will "
"cause one or more of the tracks to end up with a region with more channels "
@@ -4766,51 +4877,63 @@ msgid ""
"You can do this without processing, which is a different operation."
msgstr ""
-#: editor_ops.cc:3557
+#: editor_ops.cc:3670
msgid "Cannot bounce"
msgstr ""
-#: editor_ops.cc:3568
+#: editor_ops.cc:3681
msgid "bounce range"
msgstr "αναπήδηση διαστήματο"
-#: editor_ops.cc:3678
+#: editor_ops.cc:3783
msgid "delete"
msgstr ""
-#: editor_ops.cc:3681
+#: editor_ops.cc:3786
msgid "cut"
msgstr "κοπή"
-#: editor_ops.cc:3684
+#: editor_ops.cc:3789
msgid "copy"
msgstr "αντιγÏαφή"
-#: editor_ops.cc:3687
+#: editor_ops.cc:3792
msgid "clear"
msgstr "εκκαθάÏιση"
-#: editor_ops.cc:3785
-msgid " objects"
-msgstr " αντικειμένων"
+#: editor_ops.cc:3845
+msgid " points"
+msgstr ""
+
+#: editor_ops.cc:3856
+msgid "points"
+msgstr ""
+
+#: editor_ops.cc:3858
+msgid "regions"
+msgstr ""
+
+#: editor_ops.cc:3860
+msgid "objects"
+msgstr ""
-#: editor_ops.cc:3815
+#: editor_ops.cc:3890
msgid " range"
msgstr " διαστήματος"
-#: editor_ops.cc:3957 editor_ops.cc:3984
+#: editor_ops.cc:4059
msgid "remove region"
msgstr "απαλοιφή πεÏιοχής"
-#: editor_ops.cc:4391
+#: editor_ops.cc:4475
msgid "duplicate selection"
msgstr "αντιγÏαφή επιλογής"
-#: editor_ops.cc:4469
+#: editor_ops.cc:4553
msgid "nudge track"
msgstr "νÏξη καναλιοÏ"
-#: editor_ops.cc:4506
+#: editor_ops.cc:4590
msgid ""
"Do you really want to destroy the last capture?\n"
"(This is destructive and cannot be undone)"
@@ -4818,132 +4941,140 @@ msgstr ""
"Στ'αλήθεια θέλετε να καταστÏέψετε την τελευταία λήψη?\n"
"(Η Ï€Ïάξη είνα‎ι καταστÏεπτική και δεν γίνεται επαναφοÏά της)"
-#: editor_ops.cc:4509 editor_ops.cc:6512 editor_regions.cc:460
-#: editor_snapshots.cc:158 route_ui.cc:1482
+#: editor_ops.cc:4593 editor_ops.cc:6594 editor_regions.cc:461
+#: editor_snapshots.cc:159 route_ui.cc:1563
msgid "No, do nothing."
msgstr "Όχι, να μην γίνει τίποτα."
-#: editor_ops.cc:4510
+#: editor_ops.cc:4594
msgid "Yes, destroy it."
msgstr "Îαι, να καταστÏαφεί."
-#: editor_ops.cc:4512
+#: editor_ops.cc:4596
msgid "Destroy last capture"
msgstr ""
-#: editor_ops.cc:4573
+#: editor_ops.cc:4657
msgid "normalize"
msgstr "εξομάλυνση"
-#: editor_ops.cc:4668
+#: editor_ops.cc:4752
msgid "reverse regions"
msgstr "αντιστÏοφή πεÏιοχών"
-#: editor_ops.cc:4702
+#: editor_ops.cc:4786
msgid "strip silence"
msgstr ""
-#: editor_ops.cc:4763
+#: editor_ops.cc:4847
msgid "Fork Region(s)"
msgstr ""
-#: editor_ops.cc:4963
+#: editor_ops.cc:4868
+msgid "Could not unlink %1"
+msgstr ""
+
+#: editor_ops.cc:5052
msgid "reset region gain"
msgstr ""
-#: editor_ops.cc:5016
+#: editor_ops.cc:5105
msgid "region gain envelope active"
msgstr ""
-#: editor_ops.cc:5043
+#: editor_ops.cc:5132
msgid "toggle region lock"
msgstr ""
-#: editor_ops.cc:5067
+#: editor_ops.cc:5156
msgid "Toggle Video Lock"
msgstr ""
-#: editor_ops.cc:5091
+#: editor_ops.cc:5180
msgid "region lock style"
msgstr ""
-#: editor_ops.cc:5116
+#: editor_ops.cc:5205
msgid "change region opacity"
msgstr ""
-#: editor_ops.cc:5231
+#: editor_ops.cc:5298
+msgid "fade range"
+msgstr ""
+
+#: editor_ops.cc:5336
msgid "set fade in length"
msgstr ""
-#: editor_ops.cc:5238
+#: editor_ops.cc:5343
msgid "set fade out length"
msgstr ""
-#: editor_ops.cc:5283
+#: editor_ops.cc:5388
msgid "set fade in shape"
msgstr ""
-#: editor_ops.cc:5314
+#: editor_ops.cc:5419
msgid "set fade out shape"
msgstr ""
-#: editor_ops.cc:5344
+#: editor_ops.cc:5449
msgid "set fade in active"
msgstr ""
-#: editor_ops.cc:5373
+#: editor_ops.cc:5478
msgid "set fade out active"
msgstr ""
-#: editor_ops.cc:5638
+#: editor_ops.cc:5713
msgid "set loop range from selection"
msgstr ""
-#: editor_ops.cc:5660
+#: editor_ops.cc:5735
msgid "set loop range from edit range"
msgstr ""
-#: editor_ops.cc:5689
+#: editor_ops.cc:5764
msgid "set loop range from region"
msgstr ""
-#: editor_ops.cc:5707
+#: editor_ops.cc:5782
msgid "set punch range from selection"
msgstr ""
-#: editor_ops.cc:5724
+#: editor_ops.cc:5799
msgid "set punch range from edit range"
msgstr ""
-#: editor_ops.cc:5748
+#: editor_ops.cc:5823
msgid "set punch range from region"
msgstr ""
-#: editor_ops.cc:5857
+#: editor_ops.cc:5932
msgid "Add new marker"
msgstr ""
-#: editor_ops.cc:5858
+#: editor_ops.cc:5933
msgid "Set global tempo"
msgstr ""
-#: editor_ops.cc:5861
+#: editor_ops.cc:5936
msgid "Define one bar"
msgstr ""
-#: editor_ops.cc:5862
+#: editor_ops.cc:5937
msgid "Do you want to set the global tempo or add a new tempo marker?"
msgstr ""
-#: editor_ops.cc:5888
+#: editor_ops.cc:5963
msgid "set tempo from region"
msgstr ""
-#: editor_ops.cc:5918
+#: editor_ops.cc:5993
msgid "split regions"
msgstr ""
-#: editor_ops.cc:5960
+#: editor_ops.cc:6035
msgid ""
"You are about to split\n"
"%1\n"
@@ -4951,62 +5082,62 @@ msgid ""
"This could take a long time."
msgstr ""
-#: editor_ops.cc:5967
+#: editor_ops.cc:6042
msgid "Call for the Ferret!"
msgstr ""
-#: editor_ops.cc:5968
+#: editor_ops.cc:6043
msgid ""
"Press OK to continue with this split operation\n"
"or ask the Ferret dialog to tune the analysis"
msgstr ""
-#: editor_ops.cc:5970
+#: editor_ops.cc:6045
msgid "Press OK to continue with this split operation"
msgstr ""
-#: editor_ops.cc:5973
+#: editor_ops.cc:6048
msgid "Excessive split?"
msgstr ""
-#: editor_ops.cc:6125
+#: editor_ops.cc:6200
msgid "place transient"
msgstr ""
-#: editor_ops.cc:6160
+#: editor_ops.cc:6235
msgid "snap regions to grid"
msgstr ""
-#: editor_ops.cc:6199
+#: editor_ops.cc:6274
msgid "Close Region Gaps"
msgstr ""
-#: editor_ops.cc:6204
+#: editor_ops.cc:6279
msgid "Crossfade length"
msgstr ""
-#: editor_ops.cc:6213 editor_ops.cc:6224 rhythm_ferret.cc:120
-#: session_option_editor.cc:153
+#: editor_ops.cc:6288 editor_ops.cc:6299 rhythm_ferret.cc:119
+#: session_option_editor.cc:141
msgid "ms"
msgstr ""
-#: editor_ops.cc:6215
+#: editor_ops.cc:6290
msgid "Pull-back length"
msgstr ""
-#: editor_ops.cc:6228
+#: editor_ops.cc:6303
msgid "Ok"
msgstr ""
-#: editor_ops.cc:6243
+#: editor_ops.cc:6318
msgid "close region gaps"
msgstr ""
-#: editor_ops.cc:6461 route_ui.cc:1456
+#: editor_ops.cc:6543 route_ui.cc:1537
msgid "That would be bad news ...."
msgstr ""
-#: editor_ops.cc:6466 route_ui.cc:1461
+#: editor_ops.cc:6548 route_ui.cc:1542
msgid ""
"Removing the master or monitor bus is such a bad idea\n"
"that %1 is not going to allow it.\n"
@@ -5016,23 +5147,23 @@ msgid ""
"\"allow-special-bus-removal\" option to be \"yes\""
msgstr ""
-#: editor_ops.cc:6483
+#: editor_ops.cc:6565
msgid "tracks"
msgstr ""
-#: editor_ops.cc:6485 route_ui.cc:1821
+#: editor_ops.cc:6567 route_ui.cc:1978
msgid "track"
msgstr ""
-#: editor_ops.cc:6489
+#: editor_ops.cc:6571
msgid "busses"
msgstr ""
-#: editor_ops.cc:6491 route_ui.cc:1821
+#: editor_ops.cc:6573 route_ui.cc:1978
msgid "bus"
msgstr ""
-#: editor_ops.cc:6496
+#: editor_ops.cc:6578
msgid ""
"Do you really want to remove %1 %2 and %3 %4?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5040,7 +5171,7 @@ msgid ""
"This action cannot be undone, and the session file will be overwritten!"
msgstr ""
-#: editor_ops.cc:6501
+#: editor_ops.cc:6583
msgid ""
"Do you really want to remove %1 %2?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5048,412 +5179,402 @@ msgid ""
"This action cannot be undone, and the session file will be overwritten!"
msgstr ""
-#: editor_ops.cc:6507
+#: editor_ops.cc:6589
msgid ""
"Do you really want to remove %1 %2?\n"
"\n"
"This action cannot be undon, and the session file will be overwritten"
msgstr ""
-#: editor_ops.cc:6514
+#: editor_ops.cc:6596
msgid "Yes, remove them."
msgstr ""
-#: editor_ops.cc:6516 editor_snapshots.cc:159 route_ui.cc:1483
+#: editor_ops.cc:6598 editor_snapshots.cc:160 route_ui.cc:1564
msgid "Yes, remove it."
msgstr "Îαι, απάλοιψε το."
-#: editor_ops.cc:6521 editor_ops.cc:6523
+#: editor_ops.cc:6603 editor_ops.cc:6605
msgid "Remove %1"
msgstr ""
-#: editor_ops.cc:6582
+#: editor_ops.cc:6668
msgid "insert time"
msgstr ""
-#: editor_ops.cc:6739
+#: editor_ops.cc:6832
msgid "There are too many tracks to fit in the current window"
msgstr ""
-#: editor_ops.cc:6839
+#: editor_ops.cc:6893
+msgid "Sel"
+msgstr ""
+
+#: editor_ops.cc:6932
#, c-format
msgid "Saved view %u"
msgstr ""
-#: editor_ops.cc:6864
+#: editor_ops.cc:6957
msgid "mute regions"
msgstr ""
-#: editor_ops.cc:6866
+#: editor_ops.cc:6959
msgid "mute region"
msgstr "σιγή πεÏιοχής"
-#: editor_ops.cc:6903
+#: editor_ops.cc:6996
msgid "combine regions"
msgstr ""
-#: editor_ops.cc:6941
+#: editor_ops.cc:7034
msgid "uncombine regions"
msgstr ""
-#: editor_regions.cc:111
-msgid "Region name, with number of channels in []'s"
+#: editor_ops.cc:7071
+msgid "%1: Locked"
+msgstr ""
+
+#: editor_ops.cc:7078
+msgid "Click to unlock"
+msgstr ""
+
+#: editor_ops.cc:7132
+msgid "Moving embedded files into session folder"
msgstr ""
#: editor_regions.cc:112
+msgid "Region name, with number of channels in []'s"
+msgstr ""
+
+#: editor_regions.cc:113
msgid "Position of start of region"
msgstr ""
-#: editor_regions.cc:113 editor_regions.cc:849 time_info_box.cc:98
+#: editor_regions.cc:114 editor_regions.cc:850 time_info_box.cc:101
msgid "End"
msgstr ""
-#: editor_regions.cc:113
+#: editor_regions.cc:114
msgid "Position of end of region"
msgstr ""
-#: editor_regions.cc:114
+#: editor_regions.cc:115
msgid "Length of the region"
msgstr ""
-#: editor_regions.cc:115
+#: editor_regions.cc:116
msgid "Position of region sync point, relative to start of the region"
msgstr ""
-#: editor_regions.cc:116
+#: editor_regions.cc:117
msgid "Length of region fade-in (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:117
-msgid "Length of region fade-out (units: secondary clock), () if dsisabled"
+#: editor_regions.cc:118
+msgid "Length of region fade-out (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:118 mixer_strip.cc:1954 mono_panner.cc:179
-#: stereo_panner.cc:217 stereo_panner.cc:240
+#: editor_regions.cc:119 mixer_strip.cc:2010 mono_panner.cc:204
+#: panner2d.cc:237 stereo_panner.cc:248 stereo_panner.cc:271
msgid "L"
msgstr "L"
-#: editor_regions.cc:118
+#: editor_regions.cc:119
msgid "Region position locked?"
msgstr ""
-#: editor_regions.cc:119
+#: editor_regions.cc:120 route_time_axis.cc:99
msgid "G"
msgstr ""
-#: editor_regions.cc:119
+#: editor_regions.cc:120
msgid "Region position glued to Bars|Beats time?"
msgstr ""
-#: editor_regions.cc:120 editor_routes.cc:207 gain_meter.cc:762
-#: mixer_strip.cc:1931 meter_strip.cc:320 panner_ui.cc:553
-#: stereo_panner.cc:237
+#: editor_regions.cc:121 editor_routes.cc:209 gain_meter.cc:768
+#: mixer_strip.cc:1987 meter_strip.cc:359 panner_ui.cc:602
+#: route_time_axis.cc:2568 stereo_panner.cc:268 time_axis_view.cc:1156
msgid "M"
msgstr ""
-#: editor_regions.cc:120
+#: editor_regions.cc:121
msgid "Region muted?"
msgstr ""
-#: editor_regions.cc:121
+#: editor_regions.cc:122 mixer_strip.cc:1810
msgid "O"
msgstr ""
-#: editor_regions.cc:121
+#: editor_regions.cc:122
msgid "Region opaque (blocks regions below it from being heard)?"
msgstr ""
-#: editor_regions.cc:310 editor_regions.cc:315 editor_regions.cc:317
+#: editor_regions.cc:311 editor_regions.cc:316 editor_regions.cc:318
msgid "Hidden"
msgstr "ΚÏυμμένο"
-#: editor_regions.cc:389
+#: editor_regions.cc:390
msgid "(MISSING) "
msgstr ""
-#: editor_regions.cc:457
+#: editor_regions.cc:458
msgid ""
"Do you really want to remove unused regions?\n"
"(This is destructive and cannot be undone)"
msgstr ""
-#: editor_regions.cc:461
+#: editor_regions.cc:462
msgid "Yes, remove."
msgstr ""
-#: editor_regions.cc:463
+#: editor_regions.cc:464
msgid "Remove unused regions"
msgstr ""
-#: editor_regions.cc:816 editor_regions.cc:830 editor_regions.cc:844
+#: editor_regions.cc:817 editor_regions.cc:831 editor_regions.cc:845
msgid "Mult."
msgstr ""
-#: editor_regions.cc:847 midi_list_editor.cc:103 time_info_box.cc:91
+#: editor_regions.cc:848 midi_list_editor.cc:103 time_info_box.cc:94
msgid "Start"
msgstr ""
-#: editor_regions.cc:865 editor_regions.cc:881
+#: editor_regions.cc:866 editor_regions.cc:882
msgid "Multiple"
msgstr ""
-#: editor_regions.cc:950
+#: editor_regions.cc:951
msgid "MISSING "
msgstr ""
-#: editor_routes.cc:178 editor_routes.cc:210
+#: editor_routes.cc:180 editor_routes.cc:212
msgid "SS"
msgstr ""
-#: editor_routes.cc:202
+#: editor_routes.cc:204
msgid "Track/Bus Name"
msgstr ""
-#: editor_routes.cc:203
+#: editor_routes.cc:205
msgid "Track/Bus visible ?"
msgstr ""
-#: editor_routes.cc:204 mixer_strip.cc:1945 meter_strip.cc:334
-#: route_time_axis.cc:2407
+#: editor_routes.cc:206 mixer_strip.cc:2001 meter_strip.cc:371
+#: route_time_axis.cc:101 route_time_axis.cc:2556
msgid "A"
msgstr ""
-#: editor_routes.cc:204
+#: editor_routes.cc:206
msgid "Track/Bus active ?"
msgstr ""
-#: editor_routes.cc:205 mixer_strip.cc:1932
+#: editor_routes.cc:207 mixer_strip.cc:1988 mixer_strip.cc:2009
+#: meter_strip.cc:379
msgid "I"
msgstr ""
-#: editor_routes.cc:205
+#: editor_routes.cc:207
msgid "MIDI input enabled"
msgstr ""
-#: editor_routes.cc:206 mixer_strip.cc:1930 mono_panner.cc:198
-#: stereo_panner.cc:215 stereo_panner.cc:242
+#: editor_routes.cc:208 mono_panner.cc:221 panner2d.cc:238
+#: stereo_panner.cc:246 stereo_panner.cc:273
msgid "R"
msgstr ""
-#: editor_routes.cc:206
+#: editor_routes.cc:208
msgid "Record enabled"
msgstr ""
-#: editor_routes.cc:207
+#: editor_routes.cc:209
msgid "Muted"
msgstr ""
-#: editor_routes.cc:208 mixer_strip.cc:1941 meter_strip.cc:330
+#: editor_routes.cc:210 mixer_strip.cc:1997 meter_strip.cc:367
+#: route_time_axis.cc:2565
msgid "S"
msgstr ""
-#: editor_routes.cc:208
+#: editor_routes.cc:210
msgid "Soloed"
msgstr ""
-#: editor_routes.cc:209
+#: editor_routes.cc:211
msgid "SI"
msgstr ""
-#: editor_routes.cc:209 mixer_strip.cc:353 rc_option_editor.cc:1867
+#: editor_routes.cc:211
msgid "Solo Isolated"
msgstr ""
-#: editor_routes.cc:210
+#: editor_routes.cc:212
msgid "Solo Safe (Locked)"
msgstr ""
-#: editor_routes.cc:471 mixer_ui.cc:1162
+#: editor_routes.cc:474 mixer_ui.cc:1182
msgid "Hide All"
msgstr "ΑπόκÏυψη όλων"
-#: editor_routes.cc:472 mixer_ui.cc:1163
+#: editor_routes.cc:475 mixer_ui.cc:1183
msgid "Show All Audio Tracks"
msgstr "Ανάδειξη όλων των Audio Καναλιών"
-#: editor_routes.cc:473 mixer_ui.cc:1164
+#: editor_routes.cc:476 mixer_ui.cc:1184
msgid "Hide All Audio Tracks"
msgstr "ΑπόκÏυψη όλων των Audio Καναλιών"
-#: editor_routes.cc:474 mixer_ui.cc:1165
+#: editor_routes.cc:477 mixer_ui.cc:1185
msgid "Show All Audio Busses"
msgstr "Ανάδειξη όλων των Audio διαÏλων"
-#: editor_routes.cc:475 mixer_ui.cc:1166
+#: editor_routes.cc:478 mixer_ui.cc:1186
msgid "Hide All Audio Busses"
msgstr "ΑπόκÏυψη όλων των Audio διαÏλων"
-#: editor_routes.cc:476
+#: editor_routes.cc:479
msgid "Show All Midi Tracks"
msgstr ""
-#: editor_routes.cc:477
+#: editor_routes.cc:480
msgid "Hide All Midi Tracks"
msgstr ""
-#: editor_routes.cc:478
+#: editor_routes.cc:481
msgid "Show Tracks With Regions Under Playhead"
msgstr ""
-#: editor_rulers.cc:340
+#: editor_rulers.cc:216
msgid "New location marker"
msgstr "Îέο στίγμα θέσεως"
-#: editor_rulers.cc:341
+#: editor_rulers.cc:217
msgid "Clear all locations"
msgstr "ΕκκαθάÏιση όλων των θέσεων"
-#: editor_rulers.cc:342
+#: editor_rulers.cc:218
msgid "Unhide locations"
msgstr ""
-#: editor_rulers.cc:346
+#: editor_rulers.cc:222
msgid "New range"
msgstr ""
-#: editor_rulers.cc:347
+#: editor_rulers.cc:223
msgid "Clear all ranges"
msgstr "ΕκκαθάÏιση όλων των διαστημάτων"
-#: editor_rulers.cc:348
+#: editor_rulers.cc:224
msgid "Unhide ranges"
msgstr ""
-#: editor_rulers.cc:358
+#: editor_rulers.cc:234
msgid "New CD track marker"
msgstr ""
-#: editor_rulers.cc:363 tempo_dialog.cc:40
+#: editor_rulers.cc:239 tempo_dialog.cc:39
msgid "New Tempo"
msgstr "Îέος ΧÏόνος"
-#: editor_rulers.cc:368 tempo_dialog.cc:255
+#: editor_rulers.cc:243 tempo_dialog.cc:289
msgid "New Meter"
msgstr "Îέο μέτÏο"
-#: editor_rulers.cc:373
+#: editor_rulers.cc:247
msgid "Timeline height"
msgstr ""
-#: editor_rulers.cc:383
+#: editor_rulers.cc:257
msgid "Align Video Track"
msgstr ""
-#: editor_selection.cc:889 editor_selection.cc:932
+#: editor_selection.cc:895 editor_selection.cc:938
msgid "set selected regions"
msgstr "καθοÏισμός επιλεγμένων πεÏιοχών"
-#: editor_selection.cc:1414
+#: editor_selection.cc:1417
msgid "select all"
msgstr ""
-#: editor_selection.cc:1506
+#: editor_selection.cc:1511
msgid "select all within"
msgstr "Επιλογή όλων εν μέσω"
-#: editor_selection.cc:1564
+#: editor_selection.cc:1569
msgid "set selection from range"
msgstr "θέση επιλογής από διάστημα"
-#: editor_selection.cc:1604
+#: editor_selection.cc:1609
msgid "select all from range"
msgstr "επιλογή όλων από διάστημα"
-#: editor_selection.cc:1635
+#: editor_selection.cc:1640
msgid "select all from punch"
msgstr "Επιλογή όλων από punch"
-#: editor_selection.cc:1666
+#: editor_selection.cc:1671
msgid "select all from loop"
msgstr "Επιλογή όλων από loop"
-#: editor_selection.cc:1702
+#: editor_selection.cc:1707
msgid "select all after cursor"
msgstr "επιλογή όλων μετά κέÏσ.επεξ."
-#: editor_selection.cc:1704
+#: editor_selection.cc:1709
msgid "select all before cursor"
msgstr "επιλογή όλων Ï€Ïιν κέÏσ.επεξ."
-#: editor_selection.cc:1753
+#: editor_selection.cc:1758
msgid "select all after edit"
msgstr ""
-#: editor_selection.cc:1755
+#: editor_selection.cc:1760
msgid "select all before edit"
msgstr ""
-#: editor_selection.cc:1888
-msgid "No edit range defined"
-msgstr ""
-
-#: editor_selection.cc:1894
-msgid ""
-"the edit point is Selected Marker\n"
-"but there is no selected marker."
-msgstr ""
-
-#: editor_snapshots.cc:136
+#: editor_snapshots.cc:137
msgid "Rename Snapshot"
msgstr ""
-#: editor_snapshots.cc:138
+#: editor_snapshots.cc:139
msgid "New name of snapshot"
msgstr ""
-#: editor_snapshots.cc:156
+#: editor_snapshots.cc:157
msgid ""
"Do you really want to remove snapshot \"%1\" ?\n"
"(which cannot be undone)"
msgstr ""
-#: editor_snapshots.cc:161
+#: editor_snapshots.cc:162
msgid "Remove snapshot"
msgstr ""
-#: editor_tempodisplay.cc:208 editor_tempodisplay.cc:250
+#: editor_tempodisplay.cc:193 editor_tempodisplay.cc:235
msgid "add"
msgstr "Ï€Ïόσθεση"
-#: editor_tempodisplay.cc:231
+#: editor_tempodisplay.cc:216
msgid "add tempo mark"
msgstr "Ï€Ïόσθεση στίγματος χÏόνου"
-#: editor_tempodisplay.cc:272
+#: editor_tempodisplay.cc:257
msgid "add meter mark"
msgstr "Ï€Ïόσθεση στίγματος μέτÏου"
-#: editor_tempodisplay.cc:288 editor_tempodisplay.cc:367
-#: editor_tempodisplay.cc:386
-msgid ""
-"programming error: tempo marker canvas item has no marker object pointer!"
-msgstr ""
-"σφάλμα Ï€ÏογÏαμματισμοÏ: ο καμβάς στίξης του tempo δεν έχει δείκτη "
-"αντικειμένου στιγμάτων!"
-
-#: editor_tempodisplay.cc:293 editor_tempodisplay.cc:372
-msgid "programming error: marker for tempo is not a tempo marker!"
-msgstr ""
-"σφάλμα Ï€ÏογÏαμματισμοÏ: το στίγμα για το tempo δεν είναι στιγμα για tempo!"
-
-#: editor_tempodisplay.cc:305 editor_tempodisplay.cc:335
+#: editor_tempodisplay.cc:290 editor_tempodisplay.cc:320
msgid "done"
msgstr "έγινε"
-#: editor_tempodisplay.cc:324 editor_tempodisplay.cc:352
+#: editor_tempodisplay.cc:309 editor_tempodisplay.cc:337
msgid "replace tempo mark"
msgstr "αντικατάσταση στίγματος χÏόνου"
-#: editor_tempodisplay.cc:391 editor_tempodisplay.cc:423
-msgid "programming error: marker for meter is not a meter marker!"
-msgstr ""
-"Σφάλμα Ï€ÏογÏαμματισμοÏ: το στίγμα για το μέτÏο δεν είναι στίγμα μέτÏου!"
-
-#: editor_tempodisplay.cc:401 editor_tempodisplay.cc:435
+#: editor_tempodisplay.cc:360 editor_tempodisplay.cc:394
msgid "remove tempo mark"
msgstr "απαλοιφή στίγματος χÏόνου"
-#: editor_tempodisplay.cc:418
+#: editor_tempodisplay.cc:377
msgid ""
"programming error: meter marker canvas item has no marker object pointer!"
msgstr ""
@@ -5472,220 +5593,264 @@ msgstr ""
msgid "timefx cannot be started - thread creation error"
msgstr ""
-#: engine_dialog.cc:79
+#: engine_dialog.cc:81
msgid "Device Control Panel"
msgstr ""
-#: engine_dialog.cc:80 engine_dialog.cc:1725
+#: engine_dialog.cc:82
+msgid "Midi Device Setup"
+msgstr ""
+
+#: engine_dialog.cc:83 engine_dialog.cc:1999
msgid "Measure"
msgstr ""
-#: engine_dialog.cc:81
+#: engine_dialog.cc:84
msgid "Use results"
msgstr ""
-#: engine_dialog.cc:82
+#: engine_dialog.cc:85
msgid "Back to settings ... (ignore results)"
msgstr ""
-#: engine_dialog.cc:83
-msgid "Calibrate..."
+#: engine_dialog.cc:86
+msgid "Calibrate Audio"
msgstr ""
-#: engine_dialog.cc:87
-msgid "Refresh list"
+#: engine_dialog.cc:90
+msgid "Back to settings"
msgstr ""
-#: engine_dialog.cc:107
+#: engine_dialog.cc:108
msgid ""
"No audio/MIDI backends detected. %1 cannot run\n"
"\n"
"(This is a build/packaging/system error. It should never happen.)"
msgstr ""
-#: engine_dialog.cc:136
+#: engine_dialog.cc:135
msgid "Latency Measurement Tool"
msgstr ""
-#: engine_dialog.cc:151
+#: engine_dialog.cc:147 engine_dialog.cc:561
msgid ""
"<span weight=\"bold\">Turn down the volume on your audio equipment to a very "
"low level.</span>"
msgstr ""
-#: engine_dialog.cc:159
+#: engine_dialog.cc:156
msgid "Select two channels below and connect them using a cable."
msgstr ""
-#: engine_dialog.cc:164
+#: engine_dialog.cc:161
msgid "Output channel"
msgstr ""
-#: engine_dialog.cc:172
+#: engine_dialog.cc:169
msgid "Input channel"
msgstr ""
-#: engine_dialog.cc:207
+#: engine_dialog.cc:204
msgid "Once the channels are connected, click the \"Measure\" button."
msgstr ""
-#: engine_dialog.cc:214
+#: engine_dialog.cc:211
msgid "When satisfied with the results, click the \"Use results\" button."
msgstr ""
-#: engine_dialog.cc:229 engine_dialog.cc:1727
+#: engine_dialog.cc:226 engine_dialog.cc:2107 engine_dialog.cc:2117
msgid "No measurement results yet"
msgstr ""
-#: engine_dialog.cc:238 route_params_ui.cc:105
+#: engine_dialog.cc:236 route_params_ui.cc:105
msgid "Latency"
msgstr ""
-#: engine_dialog.cc:333
+#: engine_dialog.cc:351
msgid "Audio System:"
msgstr ""
-#: engine_dialog.cc:374
+#: engine_dialog.cc:394
msgid "Driver:"
msgstr ""
-#: engine_dialog.cc:380
+#: engine_dialog.cc:400
msgid "Device:"
msgstr ""
-#: engine_dialog.cc:385 engine_dialog.cc:475 sfdb_ui.cc:147 sfdb_ui.cc:260
-#: sfdb_ui.cc:265
+#: engine_dialog.cc:405 engine_dialog.cc:496 sfdb_ui.cc:151 sfdb_ui.cc:341
+#: sfdb_ui.cc:346
msgid "Sample rate:"
msgstr ""
-#: engine_dialog.cc:391 engine_dialog.cc:482
+#: engine_dialog.cc:411 engine_dialog.cc:503
msgid "Buffer size:"
msgstr ""
-#: engine_dialog.cc:404
+#: engine_dialog.cc:424
msgid "Input Channels:"
msgstr ""
-#: engine_dialog.cc:415
+#: engine_dialog.cc:435
msgid "Output Channels:"
msgstr ""
-#: engine_dialog.cc:426
+#: engine_dialog.cc:446
msgid "Hardware input latency:"
msgstr ""
-#: engine_dialog.cc:429 engine_dialog.cc:442
+#: engine_dialog.cc:449 engine_dialog.cc:462
msgid "samples"
msgstr ""
-#: engine_dialog.cc:439
+#: engine_dialog.cc:459
msgid "Hardware output latency:"
msgstr ""
-#: engine_dialog.cc:450
+#: engine_dialog.cc:470
msgid "MIDI System"
msgstr ""
-#: engine_dialog.cc:467
+#: engine_dialog.cc:488
msgid ""
"The %1 audio backend was configured and started externally.\n"
"This limits your control over it."
msgstr ""
-#: engine_dialog.cc:521
+#: engine_dialog.cc:543
+msgid ""
+"Failed to start or connect to audio-engine.\n"
+"\n"
+"Latency calibration requires a working audio interface."
+msgstr ""
+
+#: engine_dialog.cc:549
msgid ""
"Your selected audio configuration is playback- or capture-only.\n"
"\n"
"Latency calibration requires playback and capture"
msgstr ""
-#: engine_dialog.cc:595
-msgid "MIDI Inputs"
+#: engine_dialog.cc:630
+msgid "MIDI Devices"
+msgstr ""
+
+#: engine_dialog.cc:636
+msgid "Device"
+msgstr ""
+
+#: engine_dialog.cc:638
+msgid "Hardware Latencies"
msgstr ""
-#: engine_dialog.cc:612
-msgid "MIDI Outputs"
+#: engine_dialog.cc:679
+msgid "Calibrate"
msgstr ""
-#: engine_dialog.cc:696
+#: engine_dialog.cc:761
msgid "all available channels"
msgstr ""
-#: engine_dialog.cc:890
+#: engine_dialog.cc:954
#, c-format
msgid "%u samples"
msgstr ""
-#: engine_dialog.cc:941
+#: engine_dialog.cc:1001
#, c-format
msgid "(%.1f msecs)"
msgstr ""
-#: engine_dialog.cc:1389
+#: engine_dialog.cc:1510
+msgid "Could not start backend engine %1"
+msgstr ""
+
+#: engine_dialog.cc:1561
msgid "Cannot set driver to %1"
msgstr ""
-#: engine_dialog.cc:1393
+#: engine_dialog.cc:1565
msgid "Cannot set device name to %1"
msgstr ""
-#: engine_dialog.cc:1397
+#: engine_dialog.cc:1569
msgid "Cannot set sample rate to %1"
msgstr ""
-#: engine_dialog.cc:1401
+#: engine_dialog.cc:1573
msgid "Cannot set buffer size to %1"
msgstr ""
-#: engine_dialog.cc:1407
+#: engine_dialog.cc:1579
msgid "Cannot set input channels to %1"
msgstr ""
-#: engine_dialog.cc:1411
+#: engine_dialog.cc:1583
msgid "Cannot set output channels to %1"
msgstr ""
-#: engine_dialog.cc:1417
+#: engine_dialog.cc:1589
msgid "Cannot set input latency to %1"
msgstr ""
-#: engine_dialog.cc:1421
+#: engine_dialog.cc:1593
msgid "Cannot set output latency to %1"
msgstr ""
-#: engine_dialog.cc:1654
+#: engine_dialog.cc:1858 engine_dialog.cc:1917
msgid "No signal detected "
msgstr ""
-#: engine_dialog.cc:1667 port_insert_ui.cc:71 port_insert_ui.cc:99
+#: engine_dialog.cc:1871 engine_dialog.cc:1925 port_insert_ui.cc:70
+#: port_insert_ui.cc:98
msgid "Disconnected from audio engine"
msgstr ""
-#: engine_dialog.cc:1681
+#: engine_dialog.cc:1880 engine_dialog.cc:1933
+msgid "Detected roundtrip latency: "
+msgstr ""
+
+#: engine_dialog.cc:1882 engine_dialog.cc:1935
+msgid "Systemic latency: "
+msgstr ""
+
+#: engine_dialog.cc:1889
msgid "(signal detection error)"
msgstr ""
-#: engine_dialog.cc:1687
+#: engine_dialog.cc:1895
msgid "(inverted - bad wiring)"
msgstr ""
-#: engine_dialog.cc:1697
-msgid "Detected roundtrip latency: %1"
+#: engine_dialog.cc:1942
+msgid "(averaging)"
+msgstr ""
+
+#: engine_dialog.cc:1948
+msgid "(too large jitter)"
msgstr ""
-#: engine_dialog.cc:1709 port_insert_ui.cc:135
+#: engine_dialog.cc:1952
+msgid "(large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1963
+msgid "Timeout - large MIDI jitter."
+msgstr ""
+
+#: engine_dialog.cc:1979 port_insert_ui.cc:134
msgid "Detecting ..."
msgstr ""
-#: engine_dialog.cc:1789
+#: engine_dialog.cc:2073
msgid "Disconnect from %1"
msgstr ""
-#: engine_dialog.cc:1801
+#: engine_dialog.cc:2085
msgid "Connect to %1"
msgstr ""
-#: export_channel_selector.cc:45 sfdb_ui.cc:145
+#: export_channel_selector.cc:45 sfdb_ui.cc:149
msgid "Channels:"
msgstr ""
@@ -5727,92 +5892,100 @@ msgstr ""
msgid "List files"
msgstr ""
-#: export_dialog.cc:164 export_timespan_selector.cc:355
-#: export_timespan_selector.cc:417
+#: export_dialog.cc:158 export_format_dialog.cc:59
+msgid "File format"
+msgstr ""
+
+#: export_dialog.cc:159 export_timespan_selector.cc:374
+#: export_timespan_selector.cc:436
msgid "Time Span"
msgstr ""
-#: export_dialog.cc:176
+#: export_dialog.cc:160
msgid "Channels"
msgstr "Κανάλια"
-#: export_dialog.cc:187
-msgid "Time span and channel options"
-msgstr ""
-
-#: export_dialog.cc:221
+#: export_dialog.cc:182
msgid ""
"Export has been aborted due to an error!\n"
"See the Log for details."
msgstr ""
-#: export_dialog.cc:290
+#: export_dialog.cc:251
msgid "Files that will be overwritten"
msgstr ""
-#: export_dialog.cc:316
+#: export_dialog.cc:296
+msgid "Export initialization failed: %1"
+msgstr ""
+
+#: export_dialog.cc:306
msgid "Stop Export"
msgstr "ΠαÏση Εξαγωγής"
-#: export_dialog.cc:337
+#: export_dialog.cc:327
msgid "export"
msgstr ""
-#: export_dialog.cc:356
+#: export_dialog.cc:346
msgid "Normalizing '%3' (timespan %1 of %2)"
msgstr ""
-#: export_dialog.cc:360
+#: export_dialog.cc:350
msgid "Exporting '%3' (timespan %1 of %2)"
msgstr ""
-#: export_dialog.cc:383 export_dialog.cc:385
+#: export_dialog.cc:373 export_dialog.cc:375
msgid "<span color=\"#ffa755\">Error: "
msgstr ""
-#: export_dialog.cc:395
+#: export_dialog.cc:385
msgid "<span color=\"#ffa755\">Warning: "
msgstr ""
-#: export_dialog.cc:397
+#: export_dialog.cc:387
msgid ""
"\n"
"<span color=\"#ffa755\">Warning: "
msgstr ""
-#: export_dialog.cc:420
+#: export_dialog.cc:411
msgid "Export Selection"
msgstr ""
-#: export_dialog.cc:433
+#: export_dialog.cc:425
msgid "Export Region"
msgstr ""
-#: export_dialog.cc:443
+#: export_dialog.cc:434
msgid "Source"
msgstr ""
-#: export_dialog.cc:458
+#: export_dialog.cc:450
msgid "Stem Export"
msgstr ""
-#: export_file_notebook.cc:38
+#: export_file_notebook.cc:39
msgid "Add another format"
msgstr ""
-#: export_file_notebook.cc:178
+#: export_file_notebook.cc:193
msgid "Format"
msgstr ""
-#: export_file_notebook.cc:179
+#: export_file_notebook.cc:194
msgid "Location"
msgstr "Τοποθεσία"
-#: export_file_notebook.cc:255
+#: export_file_notebook.cc:195
+msgid "Upload to Soundcloud"
+msgstr ""
+
+#: export_file_notebook.cc:273
msgid "No format!"
msgstr ""
-#: export_file_notebook.cc:267
+#: export_file_notebook.cc:291
msgid "Format %1: %2"
msgstr ""
@@ -5833,9 +6006,9 @@ msgid "Folder:"
msgstr ""
#: export_filename_selector.cc:37 session_import_dialog.cc:44
-#: transcode_video_dialog.cc:58 video_server_dialog.cc:45
-#: video_server_dialog.cc:47 export_video_dialog.cc:68
-#: export_video_dialog.cc:70
+#: transcode_video_dialog.cc:59 video_server_dialog.cc:59
+#: video_server_dialog.cc:61 export_video_dialog.cc:69
+#: export_video_dialog.cc:71
msgid "Browse"
msgstr "Αναζήτηση"
@@ -5895,67 +6068,69 @@ msgstr ""
msgid "Add silence at end:"
msgstr ""
-#: export_format_dialog.cc:55
-msgid "Compatibility"
+#: export_format_dialog.cc:54
+msgid ""
+"Command to run post-export\n"
+"(%f=full path & filename, %d=directory, %b=basename):"
msgstr ""
-#: export_format_dialog.cc:56
-msgid "Quality"
+#: export_format_dialog.cc:57
+msgid "Compatibility"
msgstr ""
-#: export_format_dialog.cc:57
-msgid "File format"
+#: export_format_dialog.cc:58
+msgid "Quality"
msgstr ""
-#: export_format_dialog.cc:59
+#: export_format_dialog.cc:61
msgid "Sample rate conversion quality:"
msgstr ""
-#: export_format_dialog.cc:66
+#: export_format_dialog.cc:68
msgid "Dithering"
msgstr ""
-#: export_format_dialog.cc:68
+#: export_format_dialog.cc:70
msgid "Create CUE file for disk-at-once CD/DVD creation"
msgstr ""
-#: export_format_dialog.cc:69
+#: export_format_dialog.cc:71
msgid "Create TOC file for disk-at-once CD/DVD creation"
msgstr ""
-#: export_format_dialog.cc:71
+#: export_format_dialog.cc:73
msgid "Tag file with session's metadata"
msgstr ""
-#: export_format_dialog.cc:461
+#: export_format_dialog.cc:470
msgid "Best (sinc)"
msgstr ""
-#: export_format_dialog.cc:466
+#: export_format_dialog.cc:475
msgid "Medium (sinc)"
msgstr ""
-#: export_format_dialog.cc:471
+#: export_format_dialog.cc:480
msgid "Fast (sinc)"
msgstr ""
-#: export_format_dialog.cc:481
+#: export_format_dialog.cc:490
msgid "Zero order hold"
msgstr ""
-#: export_format_dialog.cc:879
+#: export_format_dialog.cc:895
msgid "Linear encoding options"
msgstr ""
-#: export_format_dialog.cc:895
+#: export_format_dialog.cc:911
msgid "Ogg Vorbis options"
msgstr ""
-#: export_format_dialog.cc:908
+#: export_format_dialog.cc:922
msgid "FLAC options"
msgstr ""
-#: export_format_dialog.cc:925
+#: export_format_dialog.cc:939
msgid "Broadcast Wave options"
msgstr ""
@@ -5981,11 +6156,15 @@ msgstr ""
msgid "Show Times as:"
msgstr ""
-#: export_timespan_selector.cc:204
+#: export_timespan_selector.cc:53 processor_box.cc:2510
+msgid "Select All"
+msgstr "Επιλογή όλων"
+
+#: export_timespan_selector.cc:223
msgid " to "
msgstr ""
-#: export_timespan_selector.cc:348 export_timespan_selector.cc:407
+#: export_timespan_selector.cc:367 export_timespan_selector.cc:426
msgid "Range"
msgstr ""
@@ -6001,173 +6180,141 @@ msgstr ""
msgid "getSoundResourceFile: root = %1, != response"
msgstr ""
-#: sfdb_freesound_mootcher.cc:410
+#: sfdb_freesound_mootcher.cc:410 rc_option_editor.cc:1729
msgid "%1"
msgstr ""
-#: gain_meter.cc:105 gain_meter.cc:360 gain_meter.cc:465 gain_meter.cc:859
+#: gain_meter.cc:106 gain_meter.cc:366 gain_meter.cc:471 gain_meter.cc:865
msgid "-inf"
msgstr "-inf"
-#: gain_meter.cc:111 gain_meter.cc:916
+#: gain_meter.cc:113 gain_meter.cc:927
msgid "Fader automation mode"
msgstr "ΛειτουÏγία Î±Ï…Ï„Î¿Î¼Î±Ï„Î¹ÏƒÎ¼Î¿Ï Fader"
-#: gain_meter.cc:112 gain_meter.cc:917
+#: gain_meter.cc:114 gain_meter.cc:928
msgid "Fader automation type"
msgstr "ΤÏπος Î±Ï…Ï„Î¿Î¼Î±Ï„Î¹ÏƒÎ¼Î¿Ï Fader"
-#: gain_meter.cc:121 gain_meter.cc:798 panner_ui.cc:177 panner_ui.cc:589
+#: gain_meter.cc:123 gain_meter.cc:804 panner_ui.cc:178 panner_ui.cc:638
msgid "Abs"
msgstr ""
-#: gain_meter.cc:765 mixer_strip.cc:1948 meter_strip.cc:337 panner_ui.cc:556
-#: route_time_axis.cc:2411
+#: gain_meter.cc:771 mixer_strip.cc:2004 meter_strip.cc:374 panner_ui.cc:605
+#: route_time_axis.cc:100 route_time_axis.cc:2560
msgid "P"
msgstr ""
-#: gain_meter.cc:768 panner_ui.cc:559
+#: gain_meter.cc:774 panner_ui.cc:608
msgid "T"
msgstr ""
-#: gain_meter.cc:771 panner_ui.cc:562
+#: gain_meter.cc:777 panner_ui.cc:611
msgid "W"
msgstr ""
-#: generic_pluginui.cc:81
+#: generic_pluginui.cc:79
msgid "<span size=\"large\">Presets</span>"
msgstr ""
-#: generic_pluginui.cc:230
+#: generic_pluginui.cc:228
msgid "Switches"
msgstr ""
-#: generic_pluginui.cc:240 generic_pluginui.cc:374 processor_box.cc:2251
+#: generic_pluginui.cc:238 generic_pluginui.cc:372 processor_box.cc:2484
msgid "Controls"
msgstr "Πίνακας Ελέγχου"
-#: generic_pluginui.cc:268
+#: generic_pluginui.cc:266
msgid "Plugin Editor: could not build control element for port %1"
msgstr ""
"ΕπεξεÏγαστής Plugin: δεν μπόÏεσα να κτίσω στοιχείο ελέγχου για τη θÏÏα %1"
-#: generic_pluginui.cc:406
+#: generic_pluginui.cc:404
msgid "Meters"
msgstr ""
-#: generic_pluginui.cc:421
+#: generic_pluginui.cc:419
msgid "Automation control"
msgstr ""
-#: generic_pluginui.cc:428
+#: generic_pluginui.cc:426
msgid "Mgnual"
msgstr ""
-#: global_port_matrix.cc:157
+#: global_port_matrix.cc:158
msgid "Audio Connection Manager"
msgstr ""
-#: global_port_matrix.cc:160
+#: global_port_matrix.cc:161
msgid "MIDI Connection Manager"
msgstr ""
-#: global_port_matrix.cc:200 io_selector.cc:210 mixer_strip.cc:719
-#: mixer_strip.cc:845
+#: global_port_matrix.cc:201 io_selector.cc:211 mixer_strip.cc:799
+#: mixer_strip.cc:895
msgid "Disconnect"
msgstr "ΑποσÏνδεση"
-#: global_port_matrix.cc:206 io_selector.cc:216
+#: global_port_matrix.cc:207 io_selector.cc:217
msgid "port"
msgstr "θÏÏα"
-#: group_tabs.cc:308
+#: group_tabs.cc:312
msgid "Selection..."
msgstr ""
-#: group_tabs.cc:309
+#: group_tabs.cc:313
msgid "Record Enabled..."
msgstr ""
-#: group_tabs.cc:310
+#: group_tabs.cc:314
msgid "Soloed..."
msgstr ""
-#: group_tabs.cc:316
+#: group_tabs.cc:320
msgid "Create New Group ..."
msgstr ""
-#: group_tabs.cc:317
+#: group_tabs.cc:321
msgid "Create New Group From"
msgstr ""
-#: group_tabs.cc:320
+#: group_tabs.cc:324
msgid "Edit Group..."
msgstr ""
-#: group_tabs.cc:321
+#: group_tabs.cc:325
msgid "Collect Group"
msgstr ""
-#: group_tabs.cc:322
+#: group_tabs.cc:326
msgid "Remove Group"
msgstr ""
-#: group_tabs.cc:325
+#: group_tabs.cc:329
msgid "Remove Subgroup Bus"
msgstr ""
-#: group_tabs.cc:327
+#: group_tabs.cc:331
msgid "Add New Subgroup Bus"
msgstr ""
-#: group_tabs.cc:329
+#: group_tabs.cc:333
msgid "Add New Aux Bus (pre-fader)"
msgstr ""
-#: group_tabs.cc:330
+#: group_tabs.cc:334
msgid "Add New Aux Bus (post-fader)"
msgstr ""
-#: group_tabs.cc:336
+#: group_tabs.cc:340
msgid "Enable All Groups"
msgstr ""
-#: group_tabs.cc:337
+#: group_tabs.cc:341
msgid "Disable All Groups"
msgstr ""
-#: gtk-custom-ruler.c:133
-msgid "Lower limit of ruler"
-msgstr "ΚατώτεÏο ÏŒÏιο κλίμακας"
-
-#: gtk-custom-ruler.c:142
-msgid "Upper"
-msgstr "Ανώτατο"
-
-#: gtk-custom-ruler.c:143
-msgid "Upper limit of ruler"
-msgstr "Ανώτατο ÏŒÏιο κλίμακας"
-
-#: gtk-custom-ruler.c:153
-msgid "Position of mark on the ruler"
-msgstr "Θέση στίγματος στην κλίμακα"
-
-#: gtk-custom-ruler.c:162
-msgid "Max Size"
-msgstr "Μέγ.μέγεθος"
-
-#: gtk-custom-ruler.c:163
-msgid "Maximum size of the ruler"
-msgstr "Μέγιστο μέγεθος κίμακας"
-
-#: gtk-custom-ruler.c:172
-msgid "Show Position"
-msgstr "Ανάδειξη Θέσεως"
-
-#: gtk-custom-ruler.c:173
-msgid "Draw current ruler position"
-msgstr "Σχηματισμός Ï„Ïέχουσας θέσης κλίμακας"
-
#: insert_time_dialog.cc:46
msgid "Time to insert:"
msgstr ""
@@ -6222,27 +6369,27 @@ msgstr ""
msgid "Importing file: %1 of %2"
msgstr ""
-#: io_selector.cc:220
+#: io_selector.cc:221
msgid "I/O selector"
msgstr ""
-#: io_selector.cc:265
+#: io_selector.cc:266
msgid "%1 input"
msgstr "%1 είσοδος"
-#: io_selector.cc:267
+#: io_selector.cc:268
msgid "%1 output"
msgstr "%1 έξοδος"
-#: keyboard.cc:66
+#: keyboard.cc:70
msgid "your own"
msgstr ""
-#: keyboard.cc:129 keyboard.cc:153
+#: keyboard.cc:133 keyboard.cc:157
msgid "Default keybindings not found - %1 will be hard to use!"
msgstr ""
-#: keyboard.cc:132 keyboard.cc:156
+#: keyboard.cc:136
msgid "Key bindings file \"%1\" not found. Default bindings used instead"
msgstr ""
@@ -6258,27 +6405,31 @@ msgstr ""
msgid "Shortcut"
msgstr ""
-#: keyeditor.cc:86
+#: keyeditor.cc:85
msgid "Select an action, then press the key(s) to (re)set its shortcut"
msgstr ""
-#: keyeditor.cc:251
+#: keyeditor.cc:99
+msgid "Reset Bindings to Defaults"
+msgstr ""
+
+#: keyeditor.cc:260
msgid "Main_menu"
msgstr ""
-#: keyeditor.cc:253
+#: keyeditor.cc:262
msgid "redirectmenu"
msgstr ""
-#: keyeditor.cc:255
+#: keyeditor.cc:264
msgid "Editor_menus"
msgstr ""
-#: keyeditor.cc:257
+#: keyeditor.cc:266
msgid "RegionList"
msgstr ""
-#: keyeditor.cc:259
+#: keyeditor.cc:268
msgid "ProcessorMenu"
msgstr ""
@@ -6300,132 +6451,107 @@ msgid_plural "%1 samples"
msgstr[0] ""
msgstr[1] ""
-#: latency_gui.cc:72 panner_ui.cc:391
+#: latency_gui.cc:72 panner_ui.cc:408
msgid "Reset"
msgstr ""
-#: latency_gui.cc:151 rhythm_ferret.cc:274 sfdb_ui.cc:1755
+#: latency_gui.cc:149 rhythm_ferret.cc:273 sfdb_ui.cc:1893
msgid "programming error: %1 (%2)"
msgstr ""
-#: location_ui.cc:50 location_ui.cc:52
+#: location_ui.cc:51 location_ui.cc:53
msgid "Use PH"
msgstr ""
-#: location_ui.cc:54
+#: location_ui.cc:55
msgid "CD"
msgstr "CD"
-#: location_ui.cc:57
+#: location_ui.cc:58
msgid "Glue"
msgstr ""
-#: location_ui.cc:85
+#: location_ui.cc:86
msgid "Performer:"
msgstr ""
-#: location_ui.cc:86
+#: location_ui.cc:87
msgid "Composer:"
msgstr ""
-#: location_ui.cc:88
+#: location_ui.cc:89
msgid "Pre-Emphasis"
msgstr ""
-#: location_ui.cc:314
+#: location_ui.cc:316
msgid "Remove this range"
msgstr ""
-#: location_ui.cc:315
+#: location_ui.cc:317
msgid "Start time - middle click to locate here"
msgstr ""
-#: location_ui.cc:316
+#: location_ui.cc:318
msgid "End time - middle click to locate here"
msgstr ""
-#: location_ui.cc:319
+#: location_ui.cc:321
msgid "Set range start from playhead location"
msgstr ""
-#: location_ui.cc:320
+#: location_ui.cc:322
msgid "Set range end from playhead location"
msgstr ""
-#: location_ui.cc:324
+#: location_ui.cc:326
msgid "Remove this marker"
msgstr ""
-#: location_ui.cc:325
+#: location_ui.cc:327
msgid "Position - middle click to locate here"
msgstr ""
-#: location_ui.cc:327
+#: location_ui.cc:329
msgid "Set marker time from playhead location"
msgstr ""
-#: location_ui.cc:494
+#: location_ui.cc:496
msgid "You cannot put a CD marker at the start of the session"
msgstr ""
-#: location_ui.cc:720
+#: location_ui.cc:722
msgid "New Marker"
msgstr ""
-#: location_ui.cc:721
+#: location_ui.cc:723
msgid "New Range"
msgstr ""
-#: location_ui.cc:734
+#: location_ui.cc:736
msgid "<b>Loop/Punch Ranges</b>"
msgstr ""
-#: location_ui.cc:759
+#: location_ui.cc:761
msgid "<b>Markers (Including CD Index)</b>"
msgstr ""
-#: location_ui.cc:794
+#: location_ui.cc:796
msgid "<b>Ranges (Including CD Track Ranges)</b>"
msgstr ""
-#: location_ui.cc:1036
+#: location_ui.cc:1038
msgid "add range marker"
msgstr "Ï€Ïόσθεση στίγματος διαστήματος"
-#: main.cc:81
+#: main.cc:79
msgid "%1 could not connect to the audio backend."
msgstr ""
-#: main.cc:194 main.cc:315
-msgid "cannot create user %3 folder %1 (%2)"
-msgstr ""
-
-#: main.cc:201 main.cc:322
-msgid "cannot open pango.rc file %1"
-msgstr ""
-
-#: main.cc:226 main.cc:349
-msgid "Cannot find ArdourMono TrueType font"
-msgstr ""
-
-#: main.cc:238 main.cc:355
-msgid "Cannot load ArdourMono TrueType font."
-msgstr ""
-
-#: main.cc:303
-msgid ""
-"No fontconfig file found on your system. Things may looked very odd or ugly"
-msgstr ""
-
-#: main.cc:359
-msgid "Failed to set fontconfig configuration."
-msgstr ""
-
-#: main.cc:370 main.cc:386
+#: main.cc:104 main.cc:120
msgid "The audio backend (%1) has failed, or terminated"
msgstr ""
-#: main.cc:373
+#: main.cc:107
msgid ""
"%2 exited unexpectedly, and without notifying %1.\n"
"\n"
@@ -6434,56 +6560,66 @@ msgid ""
"Click OK to exit %1."
msgstr ""
-#: main.cc:387
+#: main.cc:121
msgid "%2 exited unexpectedly, and without notifying %1."
msgstr ""
-#: main.cc:474
+#: main.cc:223
+msgid ""
+"\n"
+" Ardour could not understand your command line "
+msgstr ""
+
+#: main.cc:225
+msgid "An error was encountered while launching Ardour"
+msgstr ""
+
+#: main.cc:233
msgid " (built using "
msgstr ""
-#: main.cc:477
+#: main.cc:236
msgid " and GCC version "
msgstr ""
-#: main.cc:487
+#: main.cc:246
msgid "Copyright (C) 1999-2012 Paul Davis"
msgstr ""
-#: main.cc:488
+#: main.cc:247
msgid ""
"Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
"Baker, Robin Gareus"
msgstr ""
-#: main.cc:490
+#: main.cc:249
msgid "%1 comes with ABSOLUTELY NO WARRANTY"
msgstr ""
-#: main.cc:491
+#: main.cc:250
msgid "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
msgstr ""
-#: main.cc:492
+#: main.cc:251
msgid "This is free software, and you are welcome to redistribute it "
msgstr ""
"Το παÏόν είναι ελεÏθεÏο λογισμικό, είστε ελεÏθεÏοι να το επαναδιανείμετε "
-#: main.cc:493
+#: main.cc:252
msgid "under certain conditions; see the source for copying conditions."
msgstr ""
"υπό οÏισμένους ÏŒÏους, ανατÏέξτε στον κώδικα για τους ÏŒÏους\n"
" αντιγÏαφής."
-#: main.cc:500
+#: main.cc:259
msgid "could not initialize %1."
msgstr ""
-#: main.cc:509
+#: main.cc:269
msgid "Cannot xinstall SIGPIPE error handler"
msgstr ""
-#: main.cc:515
+#: main.cc:276
msgid "could not create %1 GUI"
msgstr ""
@@ -6491,17 +6627,13 @@ msgstr ""
msgid "Display delta to edit cursor"
msgstr ""
-#: marker.cc:251 video_image_frame.cc:121
+#: marker.cc:265
msgid "MarkerText"
msgstr "ΚείμενοΣτίγματος"
-#: midi_channel_selector.cc:159 midi_channel_selector.cc:397
-#: midi_channel_selector.cc:433
-msgid "All"
-msgstr ""
-
#: midi_channel_selector.cc:163 midi_channel_selector.cc:402
-#: midi_channel_selector.cc:438 rc_option_editor.cc:1248 sfdb_ui.cc:538
+#: midi_channel_selector.cc:438 rc_option_editor.cc:1499
+#: rc_option_editor.cc:2084 sfdb_ui.cc:658
msgid "None"
msgstr "Ουδέν"
@@ -6690,87 +6822,87 @@ msgstr ""
msgid "MidiPortDialog"
msgstr ""
-#: midi_region_view.cc:838
+#: midi_region_view.cc:822
msgid "channel edit"
msgstr ""
-#: midi_region_view.cc:874
+#: midi_region_view.cc:858
msgid "velocity edit"
msgstr ""
-#: midi_region_view.cc:931
+#: midi_region_view.cc:915
msgid "add note"
msgstr ""
-#: midi_region_view.cc:1779
+#: midi_region_view.cc:1766
msgid "step add"
msgstr ""
-#: midi_region_view.cc:1862
+#: midi_region_view.cc:1853
msgid "insane MIDI patch key %1:%2"
msgstr ""
-#: midi_region_view.cc:1870 midi_region_view.cc:1890
+#: midi_region_view.cc:1861 midi_region_view.cc:1881
msgid "alter patch change"
msgstr ""
-#: midi_region_view.cc:1924
+#: midi_region_view.cc:1915
msgid "add patch change"
msgstr ""
-#: midi_region_view.cc:1942
+#: midi_region_view.cc:1933
msgid "move patch change"
msgstr ""
-#: midi_region_view.cc:1953
+#: midi_region_view.cc:1944
msgid "delete patch change"
msgstr ""
-#: midi_region_view.cc:2022
+#: midi_region_view.cc:2013
msgid "delete selection"
msgstr ""
-#: midi_region_view.cc:2038
+#: midi_region_view.cc:2029
msgid "delete note"
msgstr ""
-#: midi_region_view.cc:2425
+#: midi_region_view.cc:2423
msgid "move notes"
msgstr ""
-#: midi_region_view.cc:2647
+#: midi_region_view.cc:2645
msgid "resize notes"
msgstr ""
-#: midi_region_view.cc:2901
+#: midi_region_view.cc:2899
msgid "change velocities"
msgstr ""
-#: midi_region_view.cc:2967
+#: midi_region_view.cc:2965
msgid "transpose"
msgstr ""
-#: midi_region_view.cc:3001
+#: midi_region_view.cc:2999
msgid "change note lengths"
msgstr ""
-#: midi_region_view.cc:3070
+#: midi_region_view.cc:3068
msgid "nudge"
msgstr ""
-#: midi_region_view.cc:3085
+#: midi_region_view.cc:3083
msgid "change channel"
msgstr ""
-#: midi_region_view.cc:3130
+#: midi_region_view.cc:3128
msgid "Bank "
msgstr ""
-#: midi_region_view.cc:3131
+#: midi_region_view.cc:3129
msgid "Program "
msgstr ""
-#: midi_region_view.cc:3132
+#: midi_region_view.cc:3130
msgid "Channel "
msgstr ""
@@ -6778,140 +6910,136 @@ msgstr ""
msgid "paste"
msgstr "επικόλληση"
-#: midi_region_view.cc:3761
-msgid "delete sysex"
-msgstr ""
-
-#: midi_streamview.cc:479
+#: midi_streamview.cc:491
msgid "failed to create MIDI region"
msgstr ""
-#: midi_time_axis.cc:262
+#: midi_time_axis.cc:293
msgid "External MIDI Device"
msgstr ""
-#: midi_time_axis.cc:263
+#: midi_time_axis.cc:294
msgid "External Device Mode"
msgstr ""
-#: midi_time_axis.cc:271
+#: midi_time_axis.cc:302
msgid "Chns"
msgstr ""
-#: midi_time_axis.cc:272
+#: midi_time_axis.cc:303
msgid "Click to edit channel settings"
msgstr ""
-#: midi_time_axis.cc:486
+#: midi_time_axis.cc:517
msgid "Show Full Range"
msgstr ""
-#: midi_time_axis.cc:491
+#: midi_time_axis.cc:522
msgid "Fit Contents"
msgstr ""
-#: midi_time_axis.cc:495
+#: midi_time_axis.cc:526
msgid "Note Range"
msgstr ""
-#: midi_time_axis.cc:496
+#: midi_time_axis.cc:527
msgid "Note Mode"
msgstr ""
-#: midi_time_axis.cc:497
+#: midi_time_axis.cc:528
msgid "Channel Selector"
msgstr ""
-#: midi_time_axis.cc:502
+#: midi_time_axis.cc:533
msgid "Color Mode"
msgstr ""
-#: midi_time_axis.cc:561
+#: midi_time_axis.cc:592
msgid "Bender"
msgstr ""
-#: midi_time_axis.cc:565
+#: midi_time_axis.cc:596
msgid "Pressure"
msgstr ""
-#: midi_time_axis.cc:578
+#: midi_time_axis.cc:609
msgid "Controllers"
msgstr ""
-#: midi_time_axis.cc:583
+#: midi_time_axis.cc:614
msgid "No MIDI Channels selected"
msgstr ""
-#: midi_time_axis.cc:640 midi_time_axis.cc:769
+#: midi_time_axis.cc:692 midi_time_axis.cc:821
msgid "Hide all channels"
msgstr ""
-#: midi_time_axis.cc:644 midi_time_axis.cc:773
+#: midi_time_axis.cc:696 midi_time_axis.cc:825
msgid "Show all channels"
msgstr ""
-#: midi_time_axis.cc:655 midi_time_axis.cc:784
+#: midi_time_axis.cc:707 midi_time_axis.cc:836
msgid "Channel %1"
msgstr ""
-#: midi_time_axis.cc:910 midi_time_axis.cc:942
+#: midi_time_axis.cc:962 midi_time_axis.cc:994
msgid "Controllers %1-%2"
msgstr ""
-#: midi_time_axis.cc:933 midi_time_axis.cc:936
+#: midi_time_axis.cc:985 midi_time_axis.cc:988
msgid "Controller %1"
msgstr ""
-#: midi_time_axis.cc:959
+#: midi_time_axis.cc:1011
msgid "Sustained"
msgstr ""
-#: midi_time_axis.cc:966
+#: midi_time_axis.cc:1018
msgid "Percussive"
msgstr ""
-#: midi_time_axis.cc:986
+#: midi_time_axis.cc:1038
msgid "Meter Colors"
msgstr ""
-#: midi_time_axis.cc:993
+#: midi_time_axis.cc:1045
msgid "Channel Colors"
msgstr ""
-#: midi_time_axis.cc:1000
+#: midi_time_axis.cc:1052
msgid "Track Color"
msgstr ""
-#: midi_time_axis.cc:1488 midi_time_axis.cc:1494 midi_time_axis.cc:1504
-#: midi_time_axis.cc:1510
+#: midi_time_axis.cc:1687 midi_time_axis.cc:1693 midi_time_axis.cc:1703
+#: midi_time_axis.cc:1709
msgid "all"
msgstr ""
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1507
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1706
msgid "some"
msgstr ""
-#: midi_tracer.cc:46
+#: midi_tracer.cc:49
msgid "Line history: "
msgstr ""
-#: midi_tracer.cc:54
+#: midi_tracer.cc:57
msgid "Auto-Scroll"
msgstr ""
-#: midi_tracer.cc:55
+#: midi_tracer.cc:58
msgid "Decimal"
msgstr ""
-#: midi_tracer.cc:56 rc_option_editor.cc:657
+#: midi_tracer.cc:59 rc_option_editor.cc:717
msgid "Enabled"
msgstr ""
-#: midi_tracer.cc:57
+#: midi_tracer.cc:60
msgid "Delta times"
msgstr ""
-#: midi_tracer.cc:70
+#: midi_tracer.cc:73
msgid "Port:"
msgstr ""
@@ -6919,35 +7047,35 @@ msgstr ""
msgid "New velocity"
msgstr ""
-#: missing_file_dialog.cc:34
-msgid "Missing File!"
+#: missing_file_dialog.cc:35
+msgid "Missing File"
msgstr ""
-#: missing_file_dialog.cc:36
+#: missing_file_dialog.cc:37
msgid "Select a folder to search"
msgstr ""
-#: missing_file_dialog.cc:37
+#: missing_file_dialog.cc:38
msgid "Add chosen folder to search path, and try again"
msgstr ""
-#: missing_file_dialog.cc:39
+#: missing_file_dialog.cc:40
msgid "Stop loading this session"
msgstr ""
-#: missing_file_dialog.cc:40
+#: missing_file_dialog.cc:41
msgid "Skip all missing files"
msgstr ""
-#: missing_file_dialog.cc:41
+#: missing_file_dialog.cc:42
msgid "Skip this file"
msgstr ""
-#: missing_file_dialog.cc:52
+#: missing_file_dialog.cc:53
msgid "audio"
msgstr ""
-#: missing_file_dialog.cc:65
+#: missing_file_dialog.cc:70
msgid ""
"%1 cannot find the %2 file\n"
"\n"
@@ -6959,7 +7087,7 @@ msgid ""
"\n"
msgstr ""
-#: missing_file_dialog.cc:99
+#: missing_file_dialog.cc:104
msgid "Click to choose an additional folder"
msgstr ""
@@ -6967,7 +7095,7 @@ msgstr ""
msgid "Missing Plugins"
msgstr ""
-#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:59
+#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:60
msgid "OK"
msgstr "OK"
@@ -7023,6 +7151,10 @@ msgstr ""
msgid "Toggle Selected Plugins"
msgstr ""
+#: mixer_actor.cc:70
+msgid "Deselect all srips and processors"
+msgstr ""
+
#: mixer_actor.cc:72 mixer_actor.cc:73
msgid "Scroll Mixer Window to the left"
msgstr ""
@@ -7039,444 +7171,426 @@ msgstr ""
msgid "Could not find mixer.bindings in search path %1"
msgstr ""
-#: mixer_strip.cc:93 mixer_strip.cc:121 mixer_strip.cc:1721
+#: mixer_strip.cc:98 mixer_strip.cc:127
msgid "pre"
msgstr "Ï€Ïο"
-#: mixer_strip.cc:95 mixer_strip.cc:123 mixer_strip.cc:354 mixer_strip.cc:1300
-#: rc_option_editor.cc:1868
+#: mixer_strip.cc:100 mixer_strip.cc:129 mixer_strip.cc:376
+#: mixer_strip.cc:1373 rc_option_editor.cc:2203
msgid "Comments"
msgstr ""
-#: mixer_strip.cc:147
+#: mixer_strip.cc:151
msgid "Click to toggle the width of this mixer strip."
msgstr ""
-#: mixer_strip.cc:149
+#: mixer_strip.cc:153
msgid ""
"\n"
"%1-%2-click to toggle the width of all strips."
msgstr ""
-#: mixer_strip.cc:156
+#: mixer_strip.cc:160
msgid "Hide this mixer strip"
msgstr ""
-#: mixer_strip.cc:167
+#: mixer_strip.cc:171
msgid "Click to select metering point"
msgstr ""
-#: mixer_strip.cc:173
-msgid "tupni"
-msgstr ""
-
-#: mixer_strip.cc:192
+#: mixer_strip.cc:191
msgid "Isolate Solo"
msgstr ""
-#: mixer_strip.cc:201
+#: mixer_strip.cc:200
msgid "Lock Solo Status"
msgstr ""
-#: mixer_strip.cc:203 mixer_strip.cc:1926
-msgid "lock"
-msgstr "κλείδωμα"
-
-#: mixer_strip.cc:204 mixer_strip.cc:1925
-msgid "iso"
+#: mixer_strip.cc:203 mixer_strip.cc:1982
+msgid "Iso"
msgstr ""
-#: mixer_strip.cc:258
+#: mixer_strip.cc:259
msgid "Mix group"
msgstr ""
-#: mixer_strip.cc:351 rc_option_editor.cc:1865
+#: mixer_strip.cc:372 rc_option_editor.cc:2199
msgid "Phase Invert"
msgstr ""
-#: mixer_strip.cc:352 rc_option_editor.cc:1866 route_ui.cc:1218
-msgid "Solo Safe"
-msgstr ""
-
-#: mixer_strip.cc:355 mixer_ui.cc:124 route_time_axis.cc:673
-msgid "Group"
+#: mixer_strip.cc:373 rc_option_editor.cc:2200
+msgid "Record & Monitor"
msgstr ""
-#: mixer_strip.cc:356 rc_option_editor.cc:1869
-msgid "Meter Point"
+#: mixer_strip.cc:374 rc_option_editor.cc:2201
+msgid "Solo Iso / Lock"
msgstr ""
-#: mixer_strip.cc:470
+#: mixer_strip.cc:530
msgid "Enable/Disable MIDI input"
msgstr ""
-#: mixer_strip.cc:622
-msgid ""
-"Aux\n"
-"Sends"
+#: mixer_strip.cc:694
+msgid "Aux"
msgstr ""
-#: mixer_strip.cc:646
+#: mixer_strip.cc:716
msgid "Snd"
msgstr ""
-#: mixer_strip.cc:701 mixer_strip.cc:829 processor_box.cc:2193
+#: mixer_strip.cc:782 mixer_strip.cc:880 processor_box.cc:2426
msgid "Not connected to audio engine - no I/O changes are possible"
msgstr ""
-#: mixer_strip.cc:1096
+#: mixer_strip.cc:1163
msgid "<b>INPUT</b> to %1"
msgstr ""
-#: mixer_strip.cc:1099
+#: mixer_strip.cc:1166
msgid "<b>OUTPUT</b> from %1"
msgstr ""
-#: mixer_strip.cc:1174
+#: mixer_strip.cc:1241
msgid "Disconnected"
msgstr ""
-#: mixer_strip.cc:1303
+#: mixer_strip.cc:1376
msgid "*Comments*"
msgstr "*Σχόλια*"
-#: mixer_strip.cc:1310
+#: mixer_strip.cc:1383
msgid "Cmt"
msgstr ""
-#: mixer_strip.cc:1313
+#: mixer_strip.cc:1386
msgid "*Cmt*"
msgstr ""
-#: mixer_strip.cc:1319
+#: mixer_strip.cc:1392
msgid "Click to Add/Edit Comments"
msgstr "Κλίκ για ΠÏόσθεση/ΕπεξεÏγασία Σχολίων"
-#: mixer_strip.cc:1358
-msgid ": comment editor"
-msgstr ": επεξεÏγαστής σχολίων"
-
-#: mixer_strip.cc:1435
+#: mixer_strip.cc:1436
msgid "Grp"
msgstr ""
-#: mixer_strip.cc:1438
+#: mixer_strip.cc:1439
msgid "~G"
msgstr "~G"
-#: mixer_strip.cc:1467
+#: mixer_strip.cc:1468 route_time_axis.cc:534
+msgid "Color..."
+msgstr ""
+
+#: mixer_strip.cc:1470 route_time_axis.cc:536
msgid "Comments..."
msgstr ""
-#: mixer_strip.cc:1469
+#: mixer_strip.cc:1472 route_time_axis.cc:538
+msgid "Inputs..."
+msgstr ""
+
+#: mixer_strip.cc:1474 route_time_axis.cc:540
+msgid "Outputs..."
+msgstr ""
+
+#: mixer_strip.cc:1479
msgid "Save As Template..."
msgstr ""
-#: mixer_strip.cc:1475 route_group_dialog.cc:39 route_time_axis.cc:696
+#: mixer_strip.cc:1485 route_group_dialog.cc:45 route_time_axis.cc:814
msgid "Active"
msgstr "ΕνεÏγό"
-#: mixer_strip.cc:1482
+#: mixer_strip.cc:1493
msgid "Adjust Latency..."
msgstr ""
-#: mixer_strip.cc:1485
+#: mixer_strip.cc:1496
msgid "Protect Against Denormals"
msgstr ""
-#: mixer_strip.cc:1491 route_time_axis.cc:435
+#: mixer_strip.cc:1502 route_time_axis.cc:553
msgid "Remote Control ID..."
msgstr ""
-#: mixer_strip.cc:1717 mixer_strip.cc:1741
-msgid "in"
-msgstr "in"
-
-#: mixer_strip.cc:1725
-msgid "post"
+#: mixer_strip.cc:1778
+msgid "Pre"
msgstr ""
-#: mixer_strip.cc:1729
-msgid "out"
-msgstr "out"
-
-#: mixer_strip.cc:1734
-msgid "custom"
-msgstr ""
-
-#: mixer_strip.cc:1745
-msgid "pr"
+#: mixer_strip.cc:1782
+msgid "Post"
msgstr ""
-#: mixer_strip.cc:1749
-msgid "po"
+#: mixer_strip.cc:1802
+msgid "Pr"
msgstr ""
-#: mixer_strip.cc:1753
-msgid "o"
+#: mixer_strip.cc:1806
+msgid "Po"
msgstr ""
-#: mixer_strip.cc:1758
-msgid "c"
+#: mixer_strip.cc:1815
+msgid "C"
msgstr ""
-#: mixer_strip.cc:1906 route_ui.cc:143
+#: mixer_strip.cc:1963 route_ui.cc:164
msgid "Disk"
msgstr ""
-#: mixer_strip.cc:1918 monitor_section.cc:63
+#: mixer_strip.cc:1975 monitor_section.cc:71
msgid "AFL"
msgstr ""
-#: mixer_strip.cc:1921 monitor_section.cc:64
+#: mixer_strip.cc:1978 monitor_section.cc:72
msgid "PFL"
msgstr ""
-#: mixer_strip.cc:1933
+#: mixer_strip.cc:1989 meter_strip.cc:380
msgid "D"
msgstr ""
-#: mixer_strip.cc:1953
-msgid "i"
-msgstr ""
-
-#: mixer_strip.cc:2128
-msgid "Pre-fader"
-msgstr ""
+#: mixer_strip.cc:2196
+msgid "Pre Fader"
+msgstr "ΠÏο Fader"
-#: mixer_strip.cc:2129
-msgid "Post-fader"
-msgstr ""
+#: mixer_strip.cc:2197
+msgid "Post Fader"
+msgstr "Μετά Fader"
-#: mixer_strip.cc:2166 meter_strip.cc:728
+#: mixer_strip.cc:2235 meter_strip.cc:818
msgid "Change all in Group to %1"
msgstr ""
-#: mixer_strip.cc:2168 meter_strip.cc:730
+#: mixer_strip.cc:2237 meter_strip.cc:820
msgid "Change all to %1"
msgstr ""
-#: mixer_strip.cc:2170 meter_strip.cc:732
+#: mixer_strip.cc:2239 meter_strip.cc:822
msgid "Change same track-type to %1"
msgstr ""
-#: mixer_ui.cc:1189
+#: mixer_ui.cc:129 route_time_axis.cc:791
+msgid "Group"
+msgstr ""
+
+#: mixer_ui.cc:1209
msgid "track display list item for renamed strip not found!"
msgstr "Λίστα αναδείξεως καναλιών για μετονομασμένο διάδÏομο δεν ευÏέθη!"
-#: mixer_ui.cc:1273
+#: mixer_ui.cc:1293
msgid "-all-"
msgstr "-όλα-"
-#: mixer_ui.cc:1794
+#: mixer_ui.cc:1829
msgid "Strips"
msgstr "ΔιάδÏομοι"
-#: meter_strip.cc:764
+#: meter_strip.cc:157
+msgid "Reset Peak"
+msgstr ""
+
+#: meter_strip.cc:854
msgid "Variable height"
msgstr ""
-#: meter_strip.cc:765
+#: meter_strip.cc:855
msgid "Short"
msgstr ""
-#: meter_strip.cc:766
+#: meter_strip.cc:856
msgid "Tall"
msgstr ""
-#: meter_strip.cc:767
+#: meter_strip.cc:857
msgid "Grande"
msgstr ""
-#: meter_strip.cc:768
+#: meter_strip.cc:858
msgid "Venti"
msgstr ""
-#: meter_patterns.cc:81
+#: meter_patterns.cc:82
msgid "Peak"
msgstr ""
-#: meter_patterns.cc:84
+#: meter_patterns.cc:85
msgid "RMS + Peak"
msgstr ""
-#: meter_patterns.cc:87
+#: meter_patterns.cc:88
msgid "IEC1/DIN"
msgstr ""
-#: meter_patterns.cc:90
+#: meter_patterns.cc:91
msgid "IEC1/Nordic"
msgstr ""
-#: meter_patterns.cc:93
+#: meter_patterns.cc:94
msgid "IEC2/BBC"
msgstr ""
-#: meter_patterns.cc:96
+#: meter_patterns.cc:97
msgid "IEC2/EBU"
msgstr ""
-#: meter_patterns.cc:99
+#: meter_patterns.cc:100
msgid "K20"
msgstr ""
-#: meter_patterns.cc:102
+#: meter_patterns.cc:103
msgid "K14"
msgstr ""
-#: meter_patterns.cc:105
+#: meter_patterns.cc:106
+msgid "K12"
+msgstr ""
+
+#: meter_patterns.cc:109
msgid "VU"
msgstr ""
-#: monitor_section.cc:62
+#: monitor_section.cc:70
msgid "SiP"
msgstr ""
-#: monitor_section.cc:86
-msgid "soloing"
+#: monitor_section.cc:97 route_group_dialog.cc:49
+msgid "Soloing"
msgstr ""
-#: monitor_section.cc:90
-msgid "isolated"
+#: monitor_section.cc:101
+msgid "Isolated"
msgstr ""
-#: monitor_section.cc:94
-msgid "auditioning"
+#: monitor_section.cc:105
+msgid "Auditioning"
msgstr ""
-#: monitor_section.cc:104
+#: monitor_section.cc:115
msgid ""
"When active, something is solo-isolated.\n"
"Click to de-isolate everything"
msgstr ""
-#: monitor_section.cc:107
+#: monitor_section.cc:118
msgid ""
"When active, auditioning is active.\n"
"Click to stop the audition"
msgstr ""
-#: monitor_section.cc:124
+#: monitor_section.cc:135
msgid "Solo controls affect solo-in-place"
msgstr ""
-#: monitor_section.cc:130
+#: monitor_section.cc:141
msgid "Solo controls toggle after-fader-listen"
msgstr ""
-#: monitor_section.cc:136
+#: monitor_section.cc:147
msgid "Solo controls toggle pre-fader-listen"
msgstr ""
-#: monitor_section.cc:144
+#: monitor_section.cc:157
msgid "Gain increase for soloed signals (0dB is normal)"
msgstr ""
-#: monitor_section.cc:150
+#: monitor_section.cc:171
msgid "Solo Boost"
msgstr ""
-#: monitor_section.cc:162
+#: monitor_section.cc:186
msgid ""
"Gain reduction non-soloed signals\n"
"A value above -inf dB causes \"solo-in-front\""
msgstr ""
-#: monitor_section.cc:164
+#: monitor_section.cc:197
msgid "SiP Cut"
msgstr ""
-#: monitor_section.cc:176
+#: monitor_section.cc:212
msgid "Gain reduction to use when dimming monitor outputs"
msgstr ""
-#: monitor_section.cc:181
+#: monitor_section.cc:226 monitor_section.cc:284
msgid "Dim"
msgstr ""
-#: monitor_section.cc:190
-msgid "excl. solo"
+#: monitor_section.cc:236
+msgid "Excl. Solo"
msgstr ""
-#: monitor_section.cc:192
+#: monitor_section.cc:238
msgid "Exclusive solo means that only 1 solo is active at a time"
msgstr ""
-#: monitor_section.cc:199
-msgid "solo » mute"
+#: monitor_section.cc:245
+msgid "Solo » Mute"
msgstr ""
-#: monitor_section.cc:201
+#: monitor_section.cc:247
msgid ""
"If enabled, solo will override mute\n"
"(a soloed & muted track or bus will be audible)"
msgstr ""
-#: monitor_section.cc:227
-msgid "mute"
-msgstr "σιγή"
-
-#: monitor_section.cc:238
-msgid "dim"
-msgstr ""
-
-#: monitor_section.cc:245
-msgid "mono"
-msgstr "mono"
-
-#: monitor_section.cc:266
+#: monitor_section.cc:324
msgid "Monitor"
msgstr ""
-#: monitor_section.cc:678
+#: monitor_section.cc:751
msgid "Switch monitor to mono"
msgstr ""
-#: monitor_section.cc:681
+#: monitor_section.cc:754
msgid "Cut monitor"
msgstr ""
-#: monitor_section.cc:684
+#: monitor_section.cc:757
msgid "Dim monitor"
msgstr ""
-#: monitor_section.cc:687
+#: monitor_section.cc:760
msgid "Toggle exclusive solo mode"
msgstr ""
-#: monitor_section.cc:693
+#: monitor_section.cc:766
msgid "Toggle mute overrides solo mode"
msgstr ""
-#: monitor_section.cc:705
+#: monitor_section.cc:778
msgid "Cut monitor channel %1"
msgstr ""
-#: monitor_section.cc:710
+#: monitor_section.cc:783
msgid "Dim monitor channel %1"
msgstr ""
-#: monitor_section.cc:715
+#: monitor_section.cc:788
msgid "Solo monitor channel %1"
msgstr ""
-#: monitor_section.cc:720
+#: monitor_section.cc:793
msgid "Invert monitor channel %1"
msgstr ""
-#: monitor_section.cc:730
+#: monitor_section.cc:803
msgid "In-place solo"
msgstr ""
-#: monitor_section.cc:732
+#: monitor_section.cc:805
msgid "After Fade Listen (AFL) solo"
msgstr ""
-#: monitor_section.cc:734
+#: monitor_section.cc:807
msgid "Pre Fade Listen (PFL) solo"
msgstr ""
-#: mono_panner.cc:101
+#: mono_panner.cc:109 stereo_panner.cc:117
+msgid "bypassed"
+msgstr ""
+
+#: mono_panner.cc:123
#, c-format
msgid "L:%3d R:%3d"
msgstr ""
@@ -7561,7 +7675,7 @@ msgstr ""
msgid "Normalize region"
msgstr ""
-#: normalize_dialog.cc:49 strip_silence_dialog.cc:70
+#: normalize_dialog.cc:49 strip_silence_dialog.cc:66
msgid "dbFS"
msgstr "dbFS"
@@ -7665,31 +7779,26 @@ msgid ""
"ardour3/ardour.bindings)\n"
msgstr ""
-#: panner2d.cc:781
+#: panner2d.cc:852
msgid "Panner (2D)"
msgstr ""
-#: panner2d.cc:783 panner_ui.cc:383 plugin_ui.cc:448
+#: panner2d.cc:854 panner_ui.cc:399 plugin_ui.cc:449
msgid "Bypass"
msgstr ""
-#: panner2d.cc:787
+#: panner2d.cc:860
msgid "Panner"
msgstr ""
-#: panner_ui.cc:70
+#: panner_ui.cc:71
msgid "Pan automation mode"
msgstr "ΛειτουÏγία Î±Ï…Ï„Î¿Î¼Î±Ï„Î¹ÏƒÎ¼Î¿Ï Pan"
-#: panner_ui.cc:71
+#: panner_ui.cc:72
msgid "Pan automation type"
msgstr "ΤÏπος Î±Ï…Ï„Î¿Î¼Î±Ï„Î¹ÏƒÎ¼Î¿Ï Pan"
-#: panner_ui.cc:294
-msgid ""
-"No panner user interface is currently available for %1-in/2out tracks/busses"
-msgstr ""
-
#: playlist_selector.cc:43
msgid "Playlists"
msgstr ""
@@ -7714,39 +7823,39 @@ msgstr ""
msgid "Imported"
msgstr ""
-#: plugin_eq_gui.cc:75 plugin_eq_gui.cc:99
+#: plugin_eq_gui.cc:85 plugin_eq_gui.cc:109
msgid "dB scale"
msgstr ""
-#: plugin_eq_gui.cc:106
+#: plugin_eq_gui.cc:116
msgid "Show phase"
msgstr ""
-#: plugin_selector.cc:53 plugin_selector.cc:220
+#: plugin_selector.cc:53 plugin_selector.cc:229
msgid "Name contains"
msgstr ""
-#: plugin_selector.cc:54 plugin_selector.cc:224
+#: plugin_selector.cc:54 plugin_selector.cc:233
msgid "Type contains"
msgstr ""
-#: plugin_selector.cc:55 plugin_selector.cc:222
+#: plugin_selector.cc:55 plugin_selector.cc:231
msgid "Category contains"
msgstr ""
-#: plugin_selector.cc:56 plugin_selector.cc:244
+#: plugin_selector.cc:56 plugin_selector.cc:253
msgid "Author contains"
msgstr ""
-#: plugin_selector.cc:57 plugin_selector.cc:246
+#: plugin_selector.cc:57 plugin_selector.cc:255
msgid "Library contains"
msgstr ""
-#: plugin_selector.cc:58 plugin_selector.cc:210 plugin_selector.cc:521
+#: plugin_selector.cc:58 plugin_selector.cc:219 plugin_selector.cc:537
msgid "Favorites only"
msgstr ""
-#: plugin_selector.cc:59 plugin_selector.cc:214 plugin_selector.cc:521
+#: plugin_selector.cc:59 plugin_selector.cc:223 plugin_selector.cc:537
msgid "Hidden only"
msgstr ""
@@ -7754,189 +7863,189 @@ msgstr ""
msgid "Plugin Manager"
msgstr ""
-#: plugin_selector.cc:84
+#: plugin_selector.cc:85
msgid "Fav"
msgstr ""
-#: plugin_selector.cc:86
+#: plugin_selector.cc:87
msgid "Available Plugins"
msgstr ""
-#: plugin_selector.cc:87
+#: plugin_selector.cc:88
msgid "Type"
msgstr "ΤÏπωση"
-#: plugin_selector.cc:88
+#: plugin_selector.cc:89
msgid "Category"
msgstr ""
-#: plugin_selector.cc:89
+#: plugin_selector.cc:90
msgid "Creator"
msgstr ""
-#: plugin_selector.cc:90
+#: plugin_selector.cc:91
msgid "# Audio In"
msgstr ""
-#: plugin_selector.cc:91
+#: plugin_selector.cc:92
msgid "# Audio Out"
msgstr ""
-#: plugin_selector.cc:92
+#: plugin_selector.cc:93
msgid "# MIDI In"
msgstr ""
-#: plugin_selector.cc:93
+#: plugin_selector.cc:94
msgid "# MIDI Out"
msgstr ""
-#: plugin_selector.cc:115
+#: plugin_selector.cc:116
msgid "Plugins to be connected"
msgstr ""
-#: plugin_selector.cc:128
+#: plugin_selector.cc:129
msgid "Add a plugin to the effect list"
msgstr "ΠÏόσθεση plugin στη λίστα των εφφέ"
-#: plugin_selector.cc:132
+#: plugin_selector.cc:133
msgid "Remove a plugin from the effect list"
msgstr "Απαλοιφή plugin από τη λίστα των εφφέ"
-#: plugin_selector.cc:134
+#: plugin_selector.cc:135
msgid "Update available plugins"
msgstr "Ανανέωση διαθέσιμων plugins"
-#: plugin_selector.cc:171
+#: plugin_selector.cc:172
msgid "Insert Plugin(s)"
msgstr ""
-#: plugin_selector.cc:320 plugin_selector.cc:321 plugin_selector.cc:322
-#: plugin_selector.cc:323
+#: plugin_selector.cc:337 plugin_selector.cc:338 plugin_selector.cc:339
+#: plugin_selector.cc:340
msgid "variable"
msgstr ""
-#: plugin_selector.cc:480
+#: plugin_selector.cc:496
msgid ""
"The plugin \"%1\" could not be loaded\n"
"\n"
"See the Log window for more details (maybe)"
msgstr ""
-#: plugin_selector.cc:628
+#: plugin_selector.cc:644
msgid "Favorites"
msgstr ""
-#: plugin_selector.cc:630
+#: plugin_selector.cc:646
msgid "Plugin Manager..."
msgstr ""
-#: plugin_selector.cc:634
+#: plugin_selector.cc:650
msgid "By Creator"
msgstr ""
-#: plugin_selector.cc:637
+#: plugin_selector.cc:653
msgid "By Category"
msgstr ""
-#: plugin_ui.cc:114
+#: plugin_ui.cc:113
msgid "Eh? LADSPA plugins don't have editors!"
msgstr ""
-#: plugin_ui.cc:123 plugin_ui.cc:226
+#: plugin_ui.cc:122 plugin_ui.cc:227
msgid ""
"unknown type of editor-supplying plugin (note: no VST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:126
+#: plugin_ui.cc:125
msgid "unknown type of editor-supplying plugin"
msgstr ""
-#: plugin_ui.cc:256
+#: plugin_ui.cc:257
msgid ""
"unknown type of editor-supplying plugin (note: no linuxVST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:328
+#: plugin_ui.cc:329
msgid "create_lv2_editor called on non-LV2 plugin"
msgstr ""
-#: plugin_ui.cc:414
+#: plugin_ui.cc:415
msgid "Add"
msgstr "ΠÏόσθεση"
-#: plugin_ui.cc:418
+#: plugin_ui.cc:419
msgid "Description"
msgstr ""
-#: plugin_ui.cc:419
+#: plugin_ui.cc:420
msgid "Plugin analysis"
msgstr ""
-#: plugin_ui.cc:426
+#: plugin_ui.cc:427
msgid ""
"Presets (if any) for this plugin\n"
"(Both factory and user-created)"
msgstr ""
-#: plugin_ui.cc:427
+#: plugin_ui.cc:428
msgid "Save a new preset"
msgstr ""
-#: plugin_ui.cc:428
+#: plugin_ui.cc:429
msgid "Save the current preset"
msgstr ""
-#: plugin_ui.cc:429
+#: plugin_ui.cc:430
msgid "Delete the current preset"
msgstr ""
-#: plugin_ui.cc:430
+#: plugin_ui.cc:431
msgid "Disable signal processing by the plugin"
msgstr ""
-#: plugin_ui.cc:463 plugin_ui.cc:659
+#: plugin_ui.cc:464 plugin_ui.cc:660
msgid ""
"Click to allow the plugin to receive keyboard events that %1 would normally "
"use as a shortcut"
msgstr ""
-#: plugin_ui.cc:464
+#: plugin_ui.cc:465
msgid "Click to enable/disable this plugin"
msgstr ""
-#: plugin_ui.cc:503
+#: plugin_ui.cc:504
msgid "latency (%1 sample)"
msgid_plural "latency (%1 samples)"
msgstr[0] ""
msgstr[1] ""
-#: plugin_ui.cc:505
+#: plugin_ui.cc:506
msgid "latency (%1 ms)"
msgstr ""
-#: plugin_ui.cc:516
+#: plugin_ui.cc:517
msgid "Edit Latency"
msgstr ""
-#: plugin_ui.cc:555
+#: plugin_ui.cc:556
msgid "Plugin preset %1 not found"
msgstr "ΠÏο-ÏÏθμιση plugin %1 δεν ευÏέθη"
-#: plugin_ui.cc:592
+#: plugin_ui.cc:593
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"full version"
msgstr ""
-#: plugin_ui.cc:612 plugin_ui.cc:627
+#: plugin_ui.cc:613 plugin_ui.cc:628
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"newer version"
msgstr ""
-#: plugin_ui.cc:666
+#: plugin_ui.cc:667
msgid "Click to allow normal use of %1 keyboard shortcuts"
msgstr ""
@@ -8012,97 +8121,97 @@ msgstr ""
msgid "alsa_pcm"
msgstr ""
-#: port_insert_ui.cc:40
+#: port_insert_ui.cc:39
msgid "Measure Latency"
msgstr ""
-#: port_insert_ui.cc:51
+#: port_insert_ui.cc:50
msgid "Send/Output"
msgstr ""
-#: port_insert_ui.cc:52
+#: port_insert_ui.cc:51
msgid "Return/Input"
msgstr ""
-#: port_insert_ui.cc:86
+#: port_insert_ui.cc:85
msgid "No signal detected"
msgstr ""
-#: port_insert_ui.cc:166
+#: port_insert_ui.cc:165
msgid "Port Insert "
msgstr ""
-#: port_matrix.cc:331 port_matrix.cc:357
+#: port_matrix.cc:332 port_matrix.cc:358
msgid "<b>Sources</b>"
msgstr ""
-#: port_matrix.cc:332 port_matrix.cc:358
+#: port_matrix.cc:333 port_matrix.cc:359
msgid "<b>Destinations</b>"
msgstr ""
-#: port_matrix.cc:440 port_matrix.cc:448
+#: port_matrix.cc:441 port_matrix.cc:449
#, c-format
msgid "Add %s %s"
msgstr ""
-#: port_matrix.cc:456
+#: port_matrix.cc:457
#, c-format
msgid "Rename '%s'..."
msgstr ""
-#: port_matrix.cc:472
+#: port_matrix.cc:473
msgid "Remove all"
msgstr ""
-#: port_matrix.cc:492 port_matrix.cc:504
+#: port_matrix.cc:493 port_matrix.cc:505
#, c-format
msgid "%s all"
msgstr ""
-#: port_matrix.cc:527
+#: port_matrix.cc:528
msgid "Rescan"
msgstr ""
-#: port_matrix.cc:529
+#: port_matrix.cc:530
msgid "Show individual ports"
msgstr ""
-#: port_matrix.cc:535
+#: port_matrix.cc:536
msgid "Flip"
msgstr ""
-#: port_matrix.cc:721
+#: port_matrix.cc:722
msgid ""
"It is not possible to add a port here, as the first processor in the track "
"or buss cannot support the new configuration."
msgstr ""
-#: port_matrix.cc:724
+#: port_matrix.cc:725
msgid "Cannot add port"
msgstr ""
-#: port_matrix.cc:746
+#: port_matrix.cc:747
msgid "Port removal not allowed"
msgstr ""
-#: port_matrix.cc:747
+#: port_matrix.cc:748
msgid ""
"This port cannot be removed.\n"
"Either the first plugin in the track or buss cannot accept\n"
"the new number of inputs or the last plugin has more outputs."
msgstr ""
-#: port_matrix.cc:964
+#: port_matrix.cc:965
#, c-format
msgid "Remove '%s'"
msgstr ""
-#: port_matrix.cc:979
+#: port_matrix.cc:980
#, c-format
msgid "%s all from '%s'"
msgstr ""
-#: port_matrix.cc:1045
+#: port_matrix.cc:1046
msgid "channel"
msgstr ""
@@ -8114,197 +8223,224 @@ msgstr ""
msgid "There are no %1 ports to connect."
msgstr ""
-#: processor_box.cc:256
+#: processor_box.cc:150
+msgid "Send"
+msgstr ""
+
+#: processor_box.cc:152
+msgid "Return"
+msgstr ""
+
+#: processor_box.cc:310
+msgid ""
+"\n"
+"This mono plugin has been replicated %1 times."
+msgstr ""
+
+#: processor_box.cc:314
msgid ""
"<b>%1</b>\n"
"Double-click to show GUI.\n"
-"Alt+double-click to show generic GUI."
+"Alt+double-click to show generic GUI.%2"
msgstr ""
-#: processor_box.cc:259
+#: processor_box.cc:317
msgid ""
"<b>%1</b>\n"
-"Double-click to show generic GUI."
+"Double-click to show generic GUI.%2"
msgstr ""
-#: processor_box.cc:372
+#: processor_box.cc:361
+#, c-format
+msgid "(%1x1) "
+msgstr ""
+
+#: processor_box.cc:437
msgid "Show All Controls"
msgstr ""
-#: processor_box.cc:376
+#: processor_box.cc:441
msgid "Hide All Controls"
msgstr ""
-#: processor_box.cc:465
+#: processor_box.cc:475
+msgid "Link panner controls"
+msgstr ""
+
+#: processor_box.cc:559
msgid "on"
msgstr ""
-#: processor_box.cc:465 rc_option_editor.cc:1898 rc_option_editor.cc:1912
+#: processor_box.cc:559 rc_option_editor.cc:2232 rc_option_editor.cc:2246
msgid "off"
msgstr "εκτός"
-#: processor_box.cc:742
+#: processor_box.cc:945
msgid ""
"Right-click to add/remove/edit\n"
"plugins,inserts,sends and more"
msgstr ""
-#: processor_box.cc:1197 processor_box.cc:1618
+#: processor_box.cc:1422 processor_box.cc:1848
msgid "Plugin Incompatibility"
msgstr ""
-#: processor_box.cc:1200
+#: processor_box.cc:1425
msgid "You attempted to add the plugin \"%1\" in slot %2.\n"
msgstr ""
-#: processor_box.cc:1206
+#: processor_box.cc:1431
msgid ""
"\n"
"This plugin has:\n"
msgstr ""
-#: processor_box.cc:1209
+#: processor_box.cc:1434
msgid "\t%1 MIDI input\n"
msgid_plural "\t%1 MIDI inputs\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1213
+#: processor_box.cc:1438
msgid "\t%1 audio input\n"
msgid_plural "\t%1 audio inputs\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1216
+#: processor_box.cc:1441
msgid ""
"\n"
"but at the insertion point, there are:\n"
msgstr ""
-#: processor_box.cc:1219
+#: processor_box.cc:1444
msgid "\t%1 MIDI channel\n"
msgid_plural "\t%1 MIDI channels\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1223
+#: processor_box.cc:1448
msgid "\t%1 audio channel\n"
msgid_plural "\t%1 audio channels\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1226
+#: processor_box.cc:1451
msgid ""
"\n"
"%1 is unable to insert this plugin here.\n"
msgstr ""
-#: processor_box.cc:1262
+#: processor_box.cc:1488
msgid "Cannot set up new send: %1"
msgstr ""
-#: processor_box.cc:1621
+#: processor_box.cc:1851
msgid ""
"You cannot reorder these plugins/sends/inserts\n"
"in that way because the inputs and\n"
"outputs will not work correctly."
msgstr ""
-#: processor_box.cc:1805
+#: processor_box.cc:2035
msgid "Rename Processor"
msgstr ""
-#: processor_box.cc:1836
+#: processor_box.cc:2066
msgid "At least 100 IO objects exist with a name like %1 - name not changed"
msgstr ""
-#: processor_box.cc:1970
+#: processor_box.cc:2203
msgid "plugin insert constructor failed"
msgstr ""
-#: processor_box.cc:1981
+#: processor_box.cc:2214
msgid ""
"Copying the set of processors on the clipboard failed,\n"
"probably because the I/O configuration of the plugins\n"
"could not match the configuration of this track."
msgstr ""
-#: processor_box.cc:2027
+#: processor_box.cc:2260
msgid ""
"Do you really want to remove all processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2031 processor_box.cc:2056
+#: processor_box.cc:2264 processor_box.cc:2289
msgid "Yes, remove them all"
msgstr "Îαι, απάλοιψέ τα όλα"
-#: processor_box.cc:2033 processor_box.cc:2058
+#: processor_box.cc:2266 processor_box.cc:2291
msgid "Remove processors"
msgstr ""
-#: processor_box.cc:2048
+#: processor_box.cc:2281
msgid ""
"Do you really want to remove all pre-fader processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2051
+#: processor_box.cc:2284
msgid ""
"Do you really want to remove all post-fader processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2239
+#: processor_box.cc:2472
msgid "New Plugin"
msgstr ""
-#: processor_box.cc:2242
+#: processor_box.cc:2475
msgid "New Insert"
msgstr "Îέο ΠÏοσθήκη"
-#: processor_box.cc:2245
+#: processor_box.cc:2478
msgid "New External Send ..."
msgstr ""
-#: processor_box.cc:2249
+#: processor_box.cc:2482
msgid "New Aux Send ..."
msgstr ""
-#: processor_box.cc:2253
+#: processor_box.cc:2485
+msgid "Send Options"
+msgstr ""
+
+#: processor_box.cc:2487
msgid "Clear (all)"
msgstr ""
-#: processor_box.cc:2255
+#: processor_box.cc:2489
msgid "Clear (pre-fader)"
msgstr ""
-#: processor_box.cc:2257
+#: processor_box.cc:2491
msgid "Clear (post-fader)"
msgstr ""
-#: processor_box.cc:2283
+#: processor_box.cc:2517
msgid "Activate All"
msgstr "ΕνεÏγοποίηση όλων"
-#: processor_box.cc:2285
+#: processor_box.cc:2519
msgid "Deactivate All"
msgstr ""
-#: processor_box.cc:2287
+#: processor_box.cc:2521
msgid "A/B Plugins"
msgstr ""
-#: processor_box.cc:2296
+#: processor_box.cc:2530
msgid "Edit with generic controls..."
msgstr ""
-#: processor_box.cc:2599
+#: processor_box.cc:2833
msgid "%1: %2 (by %3)"
msgstr ""
-#: processor_box.cc:2601
-msgid "%2 (by %3)"
+#: processor_box.cc:2835
+msgid "%1 (by %2)"
msgstr ""
#: patch_change_dialog.cc:51
@@ -8319,11 +8455,11 @@ msgstr ""
msgid "Patch"
msgstr ""
-#: patch_change_dialog.cc:99 step_entry.cc:429
+#: patch_change_dialog.cc:99 step_entry.cc:430
msgid "Program"
msgstr ""
-#: patch_change_dialog.cc:107 step_entry.cc:421
+#: patch_change_dialog.cc:107 step_entry.cc:422
msgid "Bank"
msgstr ""
@@ -8355,120 +8491,120 @@ msgstr ""
msgid "Snap note end"
msgstr ""
-#: rc_option_editor.cc:67
+#: rc_option_editor.cc:76
msgid "Click audio file:"
msgstr ""
-#: rc_option_editor.cc:70 rc_option_editor.cc:77
+#: rc_option_editor.cc:79 rc_option_editor.cc:86
msgid "Browse..."
msgstr ""
-#: rc_option_editor.cc:74
+#: rc_option_editor.cc:83
msgid "Click emphasis audio file:"
msgstr ""
-#: rc_option_editor.cc:106
+#: rc_option_editor.cc:115
msgid "Choose Click"
msgstr "Επιλογή ΜετÏονόμου"
-#: rc_option_editor.cc:126
+#: rc_option_editor.cc:135
msgid "Choose Click Emphasis"
msgstr "Επιλογή Έμφασης ΜετÏονόμου"
-#: rc_option_editor.cc:158
+#: rc_option_editor.cc:167
msgid "Limit undo history to"
msgstr ""
-#: rc_option_editor.cc:159
+#: rc_option_editor.cc:168
msgid "Save undo history of"
msgstr ""
-#: rc_option_editor.cc:168 rc_option_editor.cc:175
+#: rc_option_editor.cc:177 rc_option_editor.cc:184
msgid "commands"
msgstr ""
-#: rc_option_editor.cc:313
+#: rc_option_editor.cc:322
msgid "Edit using:"
msgstr ""
-#: rc_option_editor.cc:319 rc_option_editor.cc:345 rc_option_editor.cc:372
+#: rc_option_editor.cc:328 rc_option_editor.cc:354 rc_option_editor.cc:381
msgid "+ button"
msgstr "+ κουμπί"
-#: rc_option_editor.cc:339
+#: rc_option_editor.cc:348
msgid "Delete using:"
msgstr ""
-#: rc_option_editor.cc:366
+#: rc_option_editor.cc:375
msgid "Insert note using:"
msgstr ""
-#: rc_option_editor.cc:393
+#: rc_option_editor.cc:402
msgid "Ignore snap using:"
msgstr ""
-#: rc_option_editor.cc:409
+#: rc_option_editor.cc:418
msgid "Keyboard layout:"
msgstr ""
-#: rc_option_editor.cc:532
+#: rc_option_editor.cc:541
msgid "Font scaling:"
msgstr ""
-#: rc_option_editor.cc:584
+#: rc_option_editor.cc:591
+msgid "Waveform Clip Level (dBFS):"
+msgstr ""
+
+#: rc_option_editor.cc:643
msgid "Playback (seconds of buffering):"
msgstr ""
-#: rc_option_editor.cc:597
+#: rc_option_editor.cc:656
msgid "Recording (seconds of buffering):"
msgstr ""
-#: rc_option_editor.cc:654
+#: rc_option_editor.cc:714
msgid "Control Surface Protocol"
msgstr ""
-#: rc_option_editor.cc:658
-msgid "Feedback"
-msgstr ""
-
-#: rc_option_editor.cc:663
+#: rc_option_editor.cc:723
msgid "Double-click on a name to edit settings for an enabled protocol"
msgstr ""
-#: rc_option_editor.cc:815
+#: rc_option_editor.cc:886
msgid "Show Video Export Info before export"
msgstr ""
-#: rc_option_editor.cc:816
+#: rc_option_editor.cc:887
msgid "Show Video Server Startup Dialog"
msgstr ""
-#: rc_option_editor.cc:817
+#: rc_option_editor.cc:888
msgid "Advanced Setup (remote video server)"
msgstr ""
-#: rc_option_editor.cc:825
+#: rc_option_editor.cc:896
msgid ""
"<b>When enabled</b> you can speficify a custom video-server URL and docroot. "
"- Do not enable this option unless you know what you are doing."
msgstr ""
-#: rc_option_editor.cc:827
+#: rc_option_editor.cc:898
msgid "Video Server URL:"
msgstr ""
-#: rc_option_editor.cc:832
+#: rc_option_editor.cc:903
msgid ""
"Base URL of the video-server including http prefix. This is usually 'http://"
"hostname.example.org:1554/' and defaults to 'http://localhost:1554/' when "
"the video-server is running locally"
msgstr ""
-#: rc_option_editor.cc:834
+#: rc_option_editor.cc:905
msgid "Video Folder:"
msgstr ""
-#: rc_option_editor.cc:839
+#: rc_option_editor.cc:910
msgid ""
"Local path to the video-server document-root. Only files below this "
"directory will be accessible by the video-server. If the server run on a "
@@ -8477,113 +8613,194 @@ msgid ""
"monitor and file-browsing when opening/adding a video file."
msgstr ""
-#: rc_option_editor.cc:846
+#: rc_option_editor.cc:917
msgid ""
"<b>When enabled</b> an information window with details is displayed before "
"the video-export dialog."
msgstr ""
-#: rc_option_editor.cc:851
+#: rc_option_editor.cc:922
msgid ""
"<b>When enabled</b> the video server is never launched automatically without "
"confirmation"
msgstr ""
-#: rc_option_editor.cc:991
+#: rc_option_editor.cc:1004
+msgid "Always Display Plugin Scan Progress"
+msgstr ""
+
+#: rc_option_editor.cc:1005
+msgid "Scan for new VST Plugins on Application Start"
+msgstr ""
+
+#: rc_option_editor.cc:1016
+msgid "General"
+msgstr ""
+
+#: rc_option_editor.cc:1022
+msgid "Scan for Plugins"
+msgstr ""
+
+#: rc_option_editor.cc:1029
+msgid ""
+"<b>When enabled</b> a popup window showing plugin scan progress is displayed "
+"for indexing (cache load) and discovery (detect new plugins)"
+msgstr ""
+
+#: rc_option_editor.cc:1035
+msgid ""
+"Specify the default timeout for plugin instantiation in 1/10 seconds. "
+"Plugins that require more time to load will be blacklisted. A value of 0 "
+"disables the timeout."
+msgstr ""
+
+#: rc_option_editor.cc:1037
+msgid "Scan Time Out [deciseconds]"
+msgstr ""
+
+#: rc_option_editor.cc:1045
+msgid "VST"
+msgstr ""
+
+#: rc_option_editor.cc:1051
+msgid "Clear VST Cache"
+msgstr ""
+
+#: rc_option_editor.cc:1055
+msgid "Clear VST Blacklist"
+msgstr ""
+
+#: rc_option_editor.cc:1063
+msgid ""
+"<b>When enabled</b> new VST plugins are searched, tested and added to the "
+"cache index on application start. When disabled new plugins will only be "
+"available after triggering a 'Scan' manually"
+msgstr ""
+
+#: rc_option_editor.cc:1066
+msgid "Linux VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1073
+msgid "Windows VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1135
+msgid "Set Windows VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1150
+msgid "Set Linux VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1231
msgid "%1 Preferences"
msgstr ""
-#: rc_option_editor.cc:1002
+#: rc_option_editor.cc:1242
msgid "DSP CPU Utilization"
msgstr ""
-#: rc_option_editor.cc:1006
+#: rc_option_editor.cc:1246
msgid "Signal processing uses"
msgstr ""
-#: rc_option_editor.cc:1011
+#: rc_option_editor.cc:1251
msgid "all but one processor"
msgstr ""
-#: rc_option_editor.cc:1012
+#: rc_option_editor.cc:1252
msgid "all available processors"
msgstr ""
-#: rc_option_editor.cc:1015
+#: rc_option_editor.cc:1255
msgid "%1 processors"
msgstr ""
-#: rc_option_editor.cc:1018
+#: rc_option_editor.cc:1258
msgid "This setting will only take effect when %1 is restarted."
msgstr ""
-#: rc_option_editor.cc:1023
+#: rc_option_editor.cc:1263
msgid "Options|Undo"
msgstr ""
-#: rc_option_editor.cc:1030
+#: rc_option_editor.cc:1270
msgid "Verify removal of last capture"
msgstr ""
-#: rc_option_editor.cc:1038
+#: rc_option_editor.cc:1278
msgid "Make periodic backups of the session file"
msgstr ""
-#: rc_option_editor.cc:1043
+#: rc_option_editor.cc:1283
msgid "Session Management"
msgstr ""
-#: rc_option_editor.cc:1048
+#: rc_option_editor.cc:1288
msgid "Always copy imported files"
msgstr ""
-#: rc_option_editor.cc:1055
+#: rc_option_editor.cc:1295
msgid "Default folder for new sessions:"
msgstr ""
-#: rc_option_editor.cc:1063
+#: rc_option_editor.cc:1303
msgid "Maximum number of recent sessions"
msgstr ""
-#: rc_option_editor.cc:1076
+#: rc_option_editor.cc:1316
msgid "Click gain level"
msgstr ""
-#: rc_option_editor.cc:1081 route_time_axis.cc:215 route_time_axis.cc:676
+#: rc_option_editor.cc:1321 route_time_axis.cc:266 route_time_axis.cc:794
msgid "Automation"
msgstr "Αυτοματισμός"
-#: rc_option_editor.cc:1086
+#: rc_option_editor.cc:1326
msgid "Thinning factor (larger value => less data)"
msgstr ""
-#: rc_option_editor.cc:1095
+#: rc_option_editor.cc:1335
msgid "Automation sampling interval (milliseconds)"
msgstr ""
-#: rc_option_editor.cc:1107
+#: rc_option_editor.cc:1347
msgid "Keep record-enable engaged on stop"
msgstr ""
-#: rc_option_editor.cc:1116
+#: rc_option_editor.cc:1356
msgid "Stop recording when an xrun occurs"
msgstr ""
-#: rc_option_editor.cc:1121
+#: rc_option_editor.cc:1361
msgid ""
"<b>When enabled</b> %1 will stop recording if an over- or underrun is "
"detected by the audio engine"
msgstr ""
-#: rc_option_editor.cc:1127
+#: rc_option_editor.cc:1367
+msgid "Play loop is a transport mode"
+msgstr ""
+
+#: rc_option_editor.cc:1372
+msgid ""
+"<b>When enabled</b> the loop button does not start playback but forces "
+"playback to always play the loop\n"
+"\n"
+"<b>When disabled</b> the loop button starts playing the loop, but stop then "
+"cancels loop playback"
+msgstr ""
+
+#: rc_option_editor.cc:1378
msgid "Create markers where xruns occur"
msgstr ""
-#: rc_option_editor.cc:1136
+#: rc_option_editor.cc:1387
msgid "Stop at the end of the session"
msgstr ""
-#: rc_option_editor.cc:1141
+#: rc_option_editor.cc:1392
msgid ""
"<b>When enabled</b> if %1 is <b>not recording</b>, it will stop the "
"transport when it reaches the current session end marker\n"
@@ -8592,11 +8809,11 @@ msgid ""
"all times"
msgstr ""
-#: rc_option_editor.cc:1149
+#: rc_option_editor.cc:1400
msgid "Do seamless looping (not possible when slaved to MTC, LTC etc)"
msgstr ""
-#: rc_option_editor.cc:1154
+#: rc_option_editor.cc:1405
msgid ""
"<b>When enabled</b> this will loop by reading ahead and wrapping around at "
"the loop point, preventing any need to do a transport locate at the end of "
@@ -8606,39 +8823,39 @@ msgid ""
"loop when %1 reaches the end which will often cause a small click or delay"
msgstr ""
-#: rc_option_editor.cc:1162
+#: rc_option_editor.cc:1413
msgid "Disable per-track record disarm while rolling"
msgstr ""
-#: rc_option_editor.cc:1166
+#: rc_option_editor.cc:1417
msgid ""
"<b>When enabled</b> this will prevent you from accidentally stopping "
"specific tracks recording during a take"
msgstr ""
-#: rc_option_editor.cc:1171
+#: rc_option_editor.cc:1422
msgid "12dB gain reduction during fast-forward and fast-rewind"
msgstr ""
-#: rc_option_editor.cc:1175
+#: rc_option_editor.cc:1426
msgid ""
"This will reduce the unpleasant increase in perceived volume that occurs "
"when fast-forwarding or rewinding through some kinds of audio"
msgstr ""
-#: rc_option_editor.cc:1179
+#: rc_option_editor.cc:1430
msgid "Sync/Slave"
msgstr ""
-#: rc_option_editor.cc:1183
+#: rc_option_editor.cc:1434
msgid "External timecode source"
msgstr ""
-#: rc_option_editor.cc:1193
+#: rc_option_editor.cc:1444
msgid "Match session video frame rate to external timecode"
msgstr ""
-#: rc_option_editor.cc:1199
+#: rc_option_editor.cc:1450
msgid ""
"This option controls the value of the video frame rate <i>while chasing</i> "
"an external timecode source.\n"
@@ -8652,21 +8869,21 @@ msgid ""
"external timecode standard and the session standard."
msgstr ""
-#: rc_option_editor.cc:1209
+#: rc_option_editor.cc:1460
msgid "External timecode is sync locked"
msgstr ""
-#: rc_option_editor.cc:1215
+#: rc_option_editor.cc:1466
msgid ""
"<b>When enabled</b> indicates that the selected external timecode source "
"shares sync (Black &amp; Burst, Wordclock, etc) with the audio interface."
msgstr ""
-#: rc_option_editor.cc:1222
+#: rc_option_editor.cc:1473
msgid "Lock to 29.9700 fps instead of 30000/1001"
msgstr ""
-#: rc_option_editor.cc:1228
+#: rc_option_editor.cc:1479
msgid ""
"<b>When enabled</b> the external timecode source is assumed to use 29.97 fps "
"instead of 30000/1001.\n"
@@ -8679,139 +8896,139 @@ msgid ""
"variant of using exactly 29.97 fps has zero timecode drift.\n"
msgstr ""
-#: rc_option_editor.cc:1238
+#: rc_option_editor.cc:1489
msgid "LTC Reader"
msgstr ""
-#: rc_option_editor.cc:1242
+#: rc_option_editor.cc:1493
msgid "LTC incoming port"
msgstr ""
-#: rc_option_editor.cc:1255
+#: rc_option_editor.cc:1506
msgid "LTC Generator"
msgstr ""
-#: rc_option_editor.cc:1260
+#: rc_option_editor.cc:1511
msgid "Enable LTC generator"
msgstr ""
-#: rc_option_editor.cc:1267
-msgid "send LTC while stopped"
+#: rc_option_editor.cc:1518
+msgid "Send LTC while stopped"
msgstr ""
-#: rc_option_editor.cc:1273
+#: rc_option_editor.cc:1524
msgid ""
"<b>When enabled</b> %1 will continue to send LTC information even when the "
"transport (playhead) is not moving"
msgstr ""
-#: rc_option_editor.cc:1279
+#: rc_option_editor.cc:1530
msgid "LTC generator level"
msgstr ""
-#: rc_option_editor.cc:1283
+#: rc_option_editor.cc:1534
msgid ""
"Specify the Peak Volume of the generated LTC signal in dbFS. A good value "
"is 0dBu ^= -18dbFS in an EBU calibrated system"
msgstr ""
-#: rc_option_editor.cc:1295
-msgid "Link selection of regions and tracks"
+#: rc_option_editor.cc:1546
+msgid "Allow dragging of playhead"
msgstr ""
-#: rc_option_editor.cc:1303
+#: rc_option_editor.cc:1554
msgid "Move relevant automation when audio regions are moved"
msgstr ""
-#: rc_option_editor.cc:1311
+#: rc_option_editor.cc:1562
msgid "Show meters on tracks in the editor"
msgstr ""
-#: rc_option_editor.cc:1319
+#: rc_option_editor.cc:1570
msgid "Display master-meter in the toolbar"
msgstr ""
-#: rc_option_editor.cc:1326
+#: rc_option_editor.cc:1577
+msgid "Default fade shape"
+msgstr ""
+
+#: rc_option_editor.cc:1596
msgid "Regions in active edit groups are edited together"
msgstr ""
-#: rc_option_editor.cc:1327
+#: rc_option_editor.cc:1597
msgid "whenever they overlap in time"
msgstr ""
-#: rc_option_editor.cc:1328
+#: rc_option_editor.cc:1598
msgid "only if they have identical length, position and origin"
msgstr ""
-#: rc_option_editor.cc:1338
+#: rc_option_editor.cc:1608
msgid "Make rubberband selection rectangle snap to the grid"
msgstr ""
-#: rc_option_editor.cc:1346
+#: rc_option_editor.cc:1616
msgid "Show waveforms in regions"
msgstr ""
-#: rc_option_editor.cc:1354
+#: rc_option_editor.cc:1624
msgid "Show gain envelopes in audio regions"
msgstr ""
-#: rc_option_editor.cc:1355
+#: rc_option_editor.cc:1625
msgid "in all modes"
msgstr ""
-#: rc_option_editor.cc:1356
+#: rc_option_editor.cc:1626
msgid "only in region gain mode"
msgstr ""
-#: rc_option_editor.cc:1363
+#: rc_option_editor.cc:1633
msgid "Waveform scale"
msgstr ""
-#: rc_option_editor.cc:1368
+#: rc_option_editor.cc:1638
msgid "linear"
msgstr "γÏαμμική"
-#: rc_option_editor.cc:1369
+#: rc_option_editor.cc:1639
msgid "logarithmic"
msgstr ""
-#: rc_option_editor.cc:1375
+#: rc_option_editor.cc:1645
msgid "Waveform shape"
msgstr ""
-#: rc_option_editor.cc:1380
+#: rc_option_editor.cc:1650
msgid "traditional"
msgstr ""
-#: rc_option_editor.cc:1381
+#: rc_option_editor.cc:1651
msgid "rectified"
msgstr ""
-#: rc_option_editor.cc:1388
+#: rc_option_editor.cc:1660
msgid "Show waveforms for audio while it is being recorded"
msgstr ""
-#: rc_option_editor.cc:1396
+#: rc_option_editor.cc:1668
msgid "Show zoom toolbar"
msgstr ""
-#: rc_option_editor.cc:1404
-msgid "Color regions using their track's color"
-msgstr ""
-
-#: rc_option_editor.cc:1412
+#: rc_option_editor.cc:1676
msgid "Update editor window during drags of the summary"
msgstr ""
-#: rc_option_editor.cc:1420
+#: rc_option_editor.cc:1684
msgid "Synchronise editor and mixer selection"
msgstr ""
-#: rc_option_editor.cc:1427
+#: rc_option_editor.cc:1691
msgid "Name new markers"
msgstr ""
-#: rc_option_editor.cc:1433
+#: rc_option_editor.cc:1697
msgid ""
"If enabled, popup a dialog when a new marker is created to allow its name to "
"be set as it is created.\n"
@@ -8819,656 +9036,676 @@ msgid ""
"You can always rename markers by right-clicking on them"
msgstr ""
-#: rc_option_editor.cc:1439
+#: rc_option_editor.cc:1703
msgid "Auto-scroll editor window when dragging near its edges"
msgstr ""
-#: rc_option_editor.cc:1446
+#: rc_option_editor.cc:1710
msgid "Buffering"
msgstr ""
-#: rc_option_editor.cc:1454
+#: rc_option_editor.cc:1718
msgid "Record monitoring handled by"
msgstr ""
-#: rc_option_editor.cc:1460
+#: rc_option_editor.cc:1724
msgid "via Audio Driver"
msgstr ""
-#: rc_option_editor.cc:1463
-msgid "ardour"
-msgstr ""
-
-#: rc_option_editor.cc:1464
+#: rc_option_editor.cc:1730
msgid "audio hardware"
msgstr ""
-#: rc_option_editor.cc:1471
+#: rc_option_editor.cc:1737
msgid "Tape machine mode"
msgstr ""
-#: rc_option_editor.cc:1476
+#: rc_option_editor.cc:1742
msgid "Connection of tracks and busses"
msgstr ""
-#: rc_option_editor.cc:1481
+#: rc_option_editor.cc:1747
msgid "Auto-connect master/monitor busses"
msgstr ""
-#: rc_option_editor.cc:1488
+#: rc_option_editor.cc:1754
msgid "Connect track inputs"
msgstr ""
-#: rc_option_editor.cc:1493
+#: rc_option_editor.cc:1759
msgid "automatically to physical inputs"
msgstr ""
-#: rc_option_editor.cc:1494 rc_option_editor.cc:1507
+#: rc_option_editor.cc:1760 rc_option_editor.cc:1773
msgid "manually"
msgstr ""
-#: rc_option_editor.cc:1500
+#: rc_option_editor.cc:1766
msgid "Connect track and bus outputs"
msgstr ""
-#: rc_option_editor.cc:1505
+#: rc_option_editor.cc:1771
msgid "automatically to physical outputs"
msgstr ""
-#: rc_option_editor.cc:1506
+#: rc_option_editor.cc:1772
msgid "automatically to master bus"
msgstr ""
-#: rc_option_editor.cc:1511
+#: rc_option_editor.cc:1777
msgid "Denormals"
msgstr ""
-#: rc_option_editor.cc:1516
+#: rc_option_editor.cc:1782
msgid "Use DC bias to protect against denormals"
msgstr ""
-#: rc_option_editor.cc:1523
+#: rc_option_editor.cc:1789
msgid "Processor handling"
msgstr ""
-#: rc_option_editor.cc:1528
+#: rc_option_editor.cc:1794
msgid "no processor handling"
msgstr ""
-#: rc_option_editor.cc:1533
+#: rc_option_editor.cc:1799
msgid "use FlushToZero"
msgstr ""
-#: rc_option_editor.cc:1537
+#: rc_option_editor.cc:1803
msgid "use DenormalsAreZero"
msgstr ""
-#: rc_option_editor.cc:1541
+#: rc_option_editor.cc:1807
msgid "use FlushToZero and DenormalsAreZero"
msgstr ""
-#: rc_option_editor.cc:1551
+#: rc_option_editor.cc:1817
msgid "Silence plugins when the transport is stopped"
msgstr ""
-#: rc_option_editor.cc:1559
+#: rc_option_editor.cc:1825
msgid "Make new plugins active"
msgstr ""
-#: rc_option_editor.cc:1567
+#: rc_option_editor.cc:1835
msgid "Enable automatic analysis of audio"
msgstr ""
-#: rc_option_editor.cc:1575
+#: rc_option_editor.cc:1843
msgid "Replicate missing region channels"
msgstr ""
-#: rc_option_editor.cc:1582 rc_option_editor.cc:1597 rc_option_editor.cc:1609
-#: rc_option_editor.cc:1621 rc_option_editor.cc:1633 rc_option_editor.cc:1637
-#: rc_option_editor.cc:1645 rc_option_editor.cc:1653 rc_option_editor.cc:1661
-#: rc_option_editor.cc:1663 rc_option_editor.cc:1671 rc_option_editor.cc:1679
-#: rc_option_editor.cc:1687
+#: rc_option_editor.cc:1850 rc_option_editor.cc:1852 rc_option_editor.cc:1867
+#: rc_option_editor.cc:1879 rc_option_editor.cc:1891 rc_option_editor.cc:1903
+#: rc_option_editor.cc:1907 rc_option_editor.cc:1915 rc_option_editor.cc:1923
+#: rc_option_editor.cc:1931 rc_option_editor.cc:1933 rc_option_editor.cc:1941
+#: rc_option_editor.cc:1949 rc_option_editor.cc:1957 rc_option_editor.cc:1965
+#: rc_option_editor.cc:1967
msgid "Solo / mute"
msgstr ""
-#: rc_option_editor.cc:1585
+#: rc_option_editor.cc:1855
msgid "Solo-in-place mute cut (dB)"
msgstr ""
-#: rc_option_editor.cc:1592
+#: rc_option_editor.cc:1862
msgid "Solo controls are Listen controls"
msgstr ""
-#: rc_option_editor.cc:1601
+#: rc_option_editor.cc:1871
msgid "Listen Position"
msgstr ""
-#: rc_option_editor.cc:1606
+#: rc_option_editor.cc:1876
msgid "after-fader (AFL)"
msgstr ""
-#: rc_option_editor.cc:1607
+#: rc_option_editor.cc:1877
msgid "pre-fader (PFL)"
msgstr ""
-#: rc_option_editor.cc:1613
+#: rc_option_editor.cc:1883
msgid "PFL signals come from"
msgstr ""
-#: rc_option_editor.cc:1618
+#: rc_option_editor.cc:1888
msgid "before pre-fader processors"
msgstr ""
-#: rc_option_editor.cc:1619
+#: rc_option_editor.cc:1889
msgid "pre-fader but after pre-fader processors"
msgstr ""
-#: rc_option_editor.cc:1625
+#: rc_option_editor.cc:1895
msgid "AFL signals come from"
msgstr ""
-#: rc_option_editor.cc:1630
+#: rc_option_editor.cc:1900
msgid "immediately post-fader"
msgstr ""
-#: rc_option_editor.cc:1631
+#: rc_option_editor.cc:1901
msgid "after post-fader processors (before pan)"
msgstr ""
-#: rc_option_editor.cc:1640
+#: rc_option_editor.cc:1910
msgid "Exclusive solo"
msgstr ""
-#: rc_option_editor.cc:1648
+#: rc_option_editor.cc:1918
msgid "Show solo muting"
msgstr ""
-#: rc_option_editor.cc:1656
+#: rc_option_editor.cc:1926
msgid "Soloing overrides muting"
msgstr ""
-#: rc_option_editor.cc:1661
+#: rc_option_editor.cc:1931
msgid "Default track / bus muting options"
msgstr ""
-#: rc_option_editor.cc:1666
+#: rc_option_editor.cc:1936
msgid "Mute affects pre-fader sends"
msgstr ""
-#: rc_option_editor.cc:1674
+#: rc_option_editor.cc:1944
msgid "Mute affects post-fader sends"
msgstr ""
-#: rc_option_editor.cc:1682
+#: rc_option_editor.cc:1952
msgid "Mute affects control outputs"
msgstr ""
-#: rc_option_editor.cc:1690
+#: rc_option_editor.cc:1960
msgid "Mute affects main outputs"
msgstr ""
-#: rc_option_editor.cc:1706
+#: rc_option_editor.cc:1965
+msgid "Send Routing"
+msgstr ""
+
+#: rc_option_editor.cc:1970
+msgid "Link panners of Aux and External Sends with main panner by default"
+msgstr ""
+
+#: rc_option_editor.cc:1986
msgid "Send MIDI Time Code"
msgstr ""
-#: rc_option_editor.cc:1714
+#: rc_option_editor.cc:1994
msgid "Percentage either side of normal transport speed to transmit MTC"
msgstr ""
-#: rc_option_editor.cc:1723
+#: rc_option_editor.cc:2003
msgid "Obey MIDI Machine Control commands"
msgstr ""
-#: rc_option_editor.cc:1731
+#: rc_option_editor.cc:2011
msgid "Send MIDI Machine Control commands"
msgstr ""
-#: rc_option_editor.cc:1739
+#: rc_option_editor.cc:2019
msgid "Send MIDI control feedback"
msgstr ""
-#: rc_option_editor.cc:1747
+#: rc_option_editor.cc:2027
msgid "Inbound MMC device ID"
msgstr ""
-#: rc_option_editor.cc:1756
+#: rc_option_editor.cc:2036
msgid "Outbound MMC device ID"
msgstr ""
-#: rc_option_editor.cc:1765
+#: rc_option_editor.cc:2045
msgid "Initial program change"
msgstr ""
-#: rc_option_editor.cc:1774
+#: rc_option_editor.cc:2054
msgid "Display first MIDI bank/program as 0"
msgstr ""
-#: rc_option_editor.cc:1782
+#: rc_option_editor.cc:2062
msgid "Never display periodic MIDI messages (MTC, MIDI Clock)"
msgstr ""
-#: rc_option_editor.cc:1790
+#: rc_option_editor.cc:2070
msgid "Sound MIDI notes as they are selected"
msgstr ""
-#: rc_option_editor.cc:1798 rc_option_editor.cc:1808 rc_option_editor.cc:1810
+#: rc_option_editor.cc:2075
+msgid "Midi Audition"
+msgstr ""
+
+#: rc_option_editor.cc:2079
+msgid "Midi Audition Synth (LV2)"
+msgstr ""
+
+#: rc_option_editor.cc:2103 rc_option_editor.cc:2113 rc_option_editor.cc:2115
msgid "User interaction"
msgstr ""
-#: rc_option_editor.cc:1801
+#: rc_option_editor.cc:2106
msgid ""
"Use translations of %1 messages\n"
" <i>(requires a restart of %1 to take effect)</i>\n"
" <i>(if available for your language preferences)</i>"
msgstr ""
-#: rc_option_editor.cc:1808
+#: rc_option_editor.cc:2113
msgid "Keyboard"
msgstr ""
-#: rc_option_editor.cc:1818
+#: rc_option_editor.cc:2123
msgid "Control surface remote ID"
msgstr ""
-#: rc_option_editor.cc:1823
+#: rc_option_editor.cc:2128
msgid "assigned by user"
msgstr ""
-#: rc_option_editor.cc:1824
+#: rc_option_editor.cc:2129
msgid "follows order of mixer"
msgstr ""
-#: rc_option_editor.cc:1833 rc_option_editor.cc:1841 rc_option_editor.cc:1851
-#: rc_option_editor.cc:1872 rc_option_editor.cc:1881 rc_option_editor.cc:1889
-#: rc_option_editor.cc:1903 rc_option_editor.cc:1922 rc_option_editor.cc:1938
-#: rc_option_editor.cc:1954 rc_option_editor.cc:1968 rc_option_editor.cc:1982
-#: rc_option_editor.cc:1984
+#: rc_option_editor.cc:2143 rc_option_editor.cc:2151 rc_option_editor.cc:2159
+#: rc_option_editor.cc:2169 rc_option_editor.cc:2193 rc_option_editor.cc:2206
+#: rc_option_editor.cc:2215
msgid "Preferences|GUI"
msgstr ""
-#: rc_option_editor.cc:1836
+#: rc_option_editor.cc:2146
msgid "Graphically indicate mouse pointer hovering over various widgets"
msgstr ""
-#: rc_option_editor.cc:1844
+#: rc_option_editor.cc:2154
msgid "Show tooltips if mouse hovers over a control"
msgstr ""
-#: rc_option_editor.cc:1854
-msgid "GUI"
+#: rc_option_editor.cc:2162
+msgid "Use name highlight bars in region displays"
+msgstr ""
+
+#: rc_option_editor.cc:2175
+msgid "update transport clock display at FPS instead of every 100ms"
+msgstr ""
+
+#: rc_option_editor.cc:2184
+msgid "Lock timeout (seconds)"
msgstr ""
-#: rc_option_editor.cc:1857
-msgid "update transport clock display every 40ms instead of every 100ms"
+#: rc_option_editor.cc:2192
+msgid "Lock GUI after this many idle seconds (zero to never lock)"
msgstr ""
-#: rc_option_editor.cc:1874
+#: rc_option_editor.cc:2208
msgid "Mixer Strip"
msgstr ""
-#: rc_option_editor.cc:1884
+#: rc_option_editor.cc:2218
msgid "Use narrow strips in the mixer by default"
msgstr ""
-#: rc_option_editor.cc:1893
+#: rc_option_editor.cc:2223 rc_option_editor.cc:2237 rc_option_editor.cc:2256
+#: rc_option_editor.cc:2272 rc_option_editor.cc:2288 rc_option_editor.cc:2302
+#: rc_option_editor.cc:2316 rc_option_editor.cc:2318
+msgid "Preferences|Metering"
+msgstr ""
+
+#: rc_option_editor.cc:2227
msgid "Peak hold time"
msgstr ""
-#: rc_option_editor.cc:1899
+#: rc_option_editor.cc:2233
msgid "short"
msgstr ""
-#: rc_option_editor.cc:1900
+#: rc_option_editor.cc:2234
msgid "medium"
msgstr ""
-#: rc_option_editor.cc:1901
+#: rc_option_editor.cc:2235
msgid "long"
msgstr ""
-#: rc_option_editor.cc:1907
+#: rc_option_editor.cc:2241
msgid "DPM fall-off"
msgstr ""
-#: rc_option_editor.cc:1913
+#: rc_option_editor.cc:2247
msgid "slowest [6.6dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1914
+#: rc_option_editor.cc:2248
msgid "slow [8.6dB/sec] (BBC PPM, EBU PPM)"
msgstr ""
-#: rc_option_editor.cc:1915
+#: rc_option_editor.cc:2249
msgid "slowish [12.0dB/sec] (DIN)"
msgstr ""
-#: rc_option_editor.cc:1916
+#: rc_option_editor.cc:2250
msgid "moderate [13.3dB/sec] (EBU Digi PPM, IRT Digi PPM)"
msgstr ""
-#: rc_option_editor.cc:1917
+#: rc_option_editor.cc:2251
msgid "medium [20dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1918
+#: rc_option_editor.cc:2252
msgid "fast [32dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1919
+#: rc_option_editor.cc:2253
msgid "faster [46dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1920
+#: rc_option_editor.cc:2254
msgid "fastest [70dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1926
+#: rc_option_editor.cc:2260
msgid "Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1931 rc_option_editor.cc:1947
+#: rc_option_editor.cc:2265 rc_option_editor.cc:2281
msgid "-24dBFS (SMPTE US: 4dBu = -20dBFS)"
msgstr ""
-#: rc_option_editor.cc:1932 rc_option_editor.cc:1948
+#: rc_option_editor.cc:2266 rc_option_editor.cc:2282
msgid "-20dBFS (SMPTE RP.0155)"
msgstr ""
-#: rc_option_editor.cc:1933 rc_option_editor.cc:1949
+#: rc_option_editor.cc:2267 rc_option_editor.cc:2283
msgid "-18dBFS (EBU, BBC)"
msgstr ""
-#: rc_option_editor.cc:1934 rc_option_editor.cc:1950
+#: rc_option_editor.cc:2268 rc_option_editor.cc:2284
msgid "-15dBFS (DIN)"
msgstr ""
-#: rc_option_editor.cc:1936
+#: rc_option_editor.cc:2270
msgid ""
"Configure meter-marks and color-knee point for dBFS scale DPM, set reference "
"level for IEC1/Nordic, IEC2 PPM and VU meter."
msgstr ""
-#: rc_option_editor.cc:1942
+#: rc_option_editor.cc:2276
msgid "IEC1/DIN Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1952
+#: rc_option_editor.cc:2286
msgid "Reference level for IEC1/DIN meter."
msgstr ""
-#: rc_option_editor.cc:1958
+#: rc_option_editor.cc:2292
msgid "VU Meter standard"
msgstr ""
-#: rc_option_editor.cc:1963
+#: rc_option_editor.cc:2297
msgid "0VU = -2dBu (France)"
msgstr ""
-#: rc_option_editor.cc:1964
+#: rc_option_editor.cc:2298
msgid "0VU = 0dBu (North America, Australia)"
msgstr ""
-#: rc_option_editor.cc:1965
+#: rc_option_editor.cc:2299
msgid "0VU = +4dBu (standard)"
msgstr ""
-#: rc_option_editor.cc:1966
+#: rc_option_editor.cc:2300
msgid "0VU = +8dBu"
msgstr ""
-#: rc_option_editor.cc:1972
+#: rc_option_editor.cc:2306
msgid "Peak threshold [dBFS]"
msgstr ""
-#: rc_option_editor.cc:1980
+#: rc_option_editor.cc:2314
msgid ""
"Specify the audio signal level in dbFS at and above which the meter-peak "
"indicator will flash red."
msgstr ""
-#: rc_option_editor.cc:1987
+#: rc_option_editor.cc:2321
msgid "LED meter style"
msgstr ""
-#: region_editor.cc:79
+#: region_editor.cc:78
msgid "audition this region"
msgstr "ακÏόαση της πεÏιοχής"
-#: region_editor.cc:88 region_layering_order_editor.cc:74
+#: region_editor.cc:87 region_layering_order_editor.cc:75
msgid "Position:"
msgstr ""
-#: region_editor.cc:90 add_video_dialog.cc:170
+#: region_editor.cc:89 add_video_dialog.cc:155
msgid "End:"
msgstr "Τέλος:"
-#: region_editor.cc:92 sfdb_ui.cc:139
+#: region_editor.cc:91 sfdb_ui.cc:143
msgid "Length:"
msgstr ""
-#: region_editor.cc:94
+#: region_editor.cc:93
msgid "Sync point (relative to region):"
msgstr ""
-#: region_editor.cc:96
+#: region_editor.cc:95
msgid "Sync point (absolute):"
msgstr ""
-#: region_editor.cc:98
+#: region_editor.cc:97
msgid "File start:"
msgstr ""
-#: region_editor.cc:102
+#: region_editor.cc:101
msgid "Sources:"
msgstr ""
-#: region_editor.cc:104
+#: region_editor.cc:103
msgid "Source:"
msgstr ""
-#: region_editor.cc:166
+#: region_editor.cc:165
msgid "Region '%1'"
msgstr ""
-#: region_editor.cc:273
+#: region_editor.cc:272
msgid "change region start position"
msgstr ""
-#: region_editor.cc:289
+#: region_editor.cc:288
msgid "change region end position"
msgstr ""
-#: region_editor.cc:309
+#: region_editor.cc:308
msgid "change region length"
msgstr ""
-#: region_editor.cc:403 region_editor.cc:415
+#: region_editor.cc:402 region_editor.cc:414
msgid "change region sync point"
msgstr ""
-#: region_layering_order_editor.cc:41
+#: region_layering_order_editor.cc:42
msgid "RegionLayeringOrderEditor"
msgstr ""
-#: region_layering_order_editor.cc:54
+#: region_layering_order_editor.cc:55
msgid "Region Name"
msgstr ""
-#: region_layering_order_editor.cc:71
+#: region_layering_order_editor.cc:72
msgid "Track:"
msgstr ""
-#: region_layering_order_editor.cc:103
+#: region_layering_order_editor.cc:104
msgid "Choose Top Region"
msgstr ""
-#: region_view.cc:274
+#: region_view.cc:282
msgid "SilenceText"
msgstr ""
-#: region_view.cc:290 region_view.cc:309
+#: region_view.cc:297 region_view.cc:316
msgid "minutes"
msgstr ""
-#: region_view.cc:293 region_view.cc:312
+#: region_view.cc:300 region_view.cc:319
msgid "msecs"
msgstr ""
-#: region_view.cc:296 region_view.cc:315
+#: region_view.cc:303 region_view.cc:322
msgid "secs"
msgstr ""
-#: region_view.cc:299
+#: region_view.cc:306
msgid "%1 silent segment"
msgid_plural "%1 silent segments"
msgstr[0] ""
msgstr[1] ""
-#: region_view.cc:301
+#: region_view.cc:308
msgid "shortest = %1 %2"
msgstr ""
-#: region_view.cc:318
+#: region_view.cc:325
msgid ""
"\n"
" (shortest audible segment = %1 %2)"
msgstr ""
-#: return_ui.cc:103
+#: return_ui.cc:102
msgid "Return "
msgstr ""
-#: rhythm_ferret.cc:49
+#: rhythm_ferret.cc:48
msgid "Percussive Onset"
msgstr ""
-#: rhythm_ferret.cc:50
+#: rhythm_ferret.cc:49
msgid "Note Onset"
msgstr ""
-#: rhythm_ferret.cc:55
+#: rhythm_ferret.cc:54
msgid "Energy Based"
msgstr ""
-#: rhythm_ferret.cc:56
+#: rhythm_ferret.cc:55
msgid "Spectral Difference"
msgstr ""
-#: rhythm_ferret.cc:57
+#: rhythm_ferret.cc:56
msgid "High-Frequency Content"
msgstr ""
-#: rhythm_ferret.cc:58
+#: rhythm_ferret.cc:57
msgid "Complex Domain"
msgstr ""
-#: rhythm_ferret.cc:59
+#: rhythm_ferret.cc:58
msgid "Phase Deviation"
msgstr ""
-#: rhythm_ferret.cc:60
+#: rhythm_ferret.cc:59
msgid "Kullback-Liebler"
msgstr ""
-#: rhythm_ferret.cc:61
+#: rhythm_ferret.cc:60
msgid "Modified Kullback-Liebler"
msgstr ""
-#: rhythm_ferret.cc:66
+#: rhythm_ferret.cc:65
msgid "Split region"
msgstr ""
-#: rhythm_ferret.cc:67
+#: rhythm_ferret.cc:66
msgid "Snap regions"
msgstr ""
-#: rhythm_ferret.cc:68
+#: rhythm_ferret.cc:67
msgid "Conform regions"
msgstr ""
-#: rhythm_ferret.cc:73
+#: rhythm_ferret.cc:72
msgid "Rhythm Ferret"
msgstr ""
-#: rhythm_ferret.cc:79
+#: rhythm_ferret.cc:78
msgid "Analyze"
msgstr ""
-#: rhythm_ferret.cc:114
+#: rhythm_ferret.cc:113
msgid "Detection function"
msgstr ""
-#: rhythm_ferret.cc:118
+#: rhythm_ferret.cc:117
msgid "Trigger gap"
msgstr ""
-#: rhythm_ferret.cc:123 strip_silence_dialog.cc:68
+#: rhythm_ferret.cc:122 strip_silence_dialog.cc:64
msgid "Threshold"
msgstr ""
-#: rhythm_ferret.cc:128
+#: rhythm_ferret.cc:127
msgid "Peak threshold"
msgstr ""
-#: rhythm_ferret.cc:133
+#: rhythm_ferret.cc:132
msgid "Silence threshold"
msgstr ""
-#: rhythm_ferret.cc:138
+#: rhythm_ferret.cc:137
msgid "Sensitivity"
msgstr ""
-#: rhythm_ferret.cc:142
+#: rhythm_ferret.cc:141
msgid "Operation"
msgstr ""
-#: rhythm_ferret.cc:356
+#: rhythm_ferret.cc:355
msgid "split regions (rhythm ferret)"
msgstr ""
-#: route_group_dialog.cc:36
+#: route_group_dialog.cc:42
msgid "Track/bus Group"
msgstr ""
-#: route_group_dialog.cc:41
+#: route_group_dialog.cc:47
msgid "Relative"
msgstr ""
-#: route_group_dialog.cc:42
+#: route_group_dialog.cc:48
msgid "Muting"
msgstr ""
-#: route_group_dialog.cc:43
-msgid "Soloing"
-msgstr ""
-
-#: route_group_dialog.cc:44
+#: route_group_dialog.cc:50
msgid "Record enable"
msgstr ""
-#: route_group_dialog.cc:45 time_info_box.cc:66
+#: route_group_dialog.cc:51 time_info_box.cc:67
msgid "Selection"
msgstr ""
-#: route_group_dialog.cc:46
+#: route_group_dialog.cc:52
msgid "Active state"
msgstr ""
-#: route_group_dialog.cc:47 route_group_dialog.cc:76 theme_manager.cc:71
+#: route_group_dialog.cc:53 route_group_dialog.cc:82 theme_manager.cc:84
msgid "Color"
msgstr "ΧÏώμα"
-#: route_group_dialog.cc:53
+#: route_group_dialog.cc:59
msgid "RouteGroupDialog"
msgstr ""
-#: route_group_dialog.cc:92
+#: route_group_dialog.cc:100
msgid "<b>Sharing</b>"
msgstr ""
-#: route_group_dialog.cc:182
-msgid ""
-"A route group of this name already exists. Please use a different name."
+#: route_group_dialog.cc:200
+msgid "The group name is not unique. Please use a different name."
msgstr ""
#: route_params_ui.cc:83
@@ -9491,296 +9728,280 @@ msgstr ""
msgid "route display list item for renamed route not found!"
msgstr "Η λίστα ανάδειξης διαδÏομών για μετονομασμένη διαδÏομή δεν ευÏέθη!"
-#: route_params_ui.cc:255 route_params_ui.cc:283
+#: route_params_ui.cc:278 route_params_ui.cc:306
#, c-format
msgid "Playback delay: %<PRId64> samples"
msgstr ""
-#: route_params_ui.cc:475
+#: route_params_ui.cc:498
msgid "NO TRACK"
msgstr "Κανένα κανάλι"
-#: route_params_ui.cc:613 route_params_ui.cc:614
+#: route_params_ui.cc:636 route_params_ui.cc:637
msgid "No Track or Bus Selected"
msgstr ""
-#: route_time_axis.cc:97
-msgid "g"
-msgstr "g"
-
-#: route_time_axis.cc:98
-msgid "p"
-msgstr "p"
-
-#: route_time_axis.cc:99
-msgid "a"
-msgstr "a"
-
-#: route_time_axis.cc:173
+#: route_time_axis.cc:179
msgid "Record (Right-click for Step Edit)"
msgstr ""
-#: route_time_axis.cc:176
+#: route_time_axis.cc:182
msgid "Record"
msgstr "ΕγγÏαφή"
-#: route_time_axis.cc:210
+#: route_time_axis.cc:254
msgid "Route Group"
msgstr ""
-#: route_time_axis.cc:213
+#: route_time_axis.cc:264
msgid "MIDI Controllers and Automation"
msgstr ""
-#: route_time_axis.cc:390
+#: route_time_axis.cc:500
msgid "Show All Automation"
msgstr ""
-#: route_time_axis.cc:393
+#: route_time_axis.cc:503
msgid "Show Existing Automation"
msgstr ""
-#: route_time_axis.cc:396
+#: route_time_axis.cc:506
msgid "Hide All Automation"
msgstr ""
-#: route_time_axis.cc:405
+#: route_time_axis.cc:515
msgid "Processor automation"
msgstr ""
-#: route_time_axis.cc:424
-msgid "Color..."
-msgstr ""
-
-#: route_time_axis.cc:481
+#: route_time_axis.cc:599
msgid "Overlaid"
msgstr ""
-#: route_time_axis.cc:487
+#: route_time_axis.cc:605
msgid "Stacked"
msgstr ""
-#: route_time_axis.cc:495
+#: route_time_axis.cc:613
msgid "Layers"
msgstr ""
-#: route_time_axis.cc:564
+#: route_time_axis.cc:682
msgid "Automatic (based on I/O connections)"
msgstr ""
-#: route_time_axis.cc:573
+#: route_time_axis.cc:691
msgid "(Currently: Existing Material)"
msgstr ""
-#: route_time_axis.cc:576
+#: route_time_axis.cc:694
msgid "(Currently: Capture Time)"
msgstr ""
-#: route_time_axis.cc:584
+#: route_time_axis.cc:702
msgid "Align With Existing Material"
msgstr ""
-#: route_time_axis.cc:589
+#: route_time_axis.cc:707
msgid "Align With Capture Time"
msgstr ""
-#: route_time_axis.cc:594
+#: route_time_axis.cc:712
msgid "Alignment"
msgstr ""
-#: route_time_axis.cc:629
+#: route_time_axis.cc:747
msgid "Normal Mode"
msgstr ""
-#: route_time_axis.cc:635
+#: route_time_axis.cc:753
msgid "Tape Mode"
msgstr ""
-#: route_time_axis.cc:641
+#: route_time_axis.cc:759
msgid "Non-Layered Mode"
msgstr ""
-#: route_time_axis.cc:654 route_time_axis.cc:1601
+#: route_time_axis.cc:772 route_time_axis.cc:1748
msgid "Playlist"
msgstr "Playlist"
-#: route_time_axis.cc:979
+#: route_time_axis.cc:1070
msgid "Rename Playlist"
msgstr ""
-#: route_time_axis.cc:980
+#: route_time_axis.cc:1071
msgid "New name for playlist:"
msgstr ""
-#: route_time_axis.cc:1065
+#: route_time_axis.cc:1156
msgid "New Copy Playlist"
msgstr ""
-#: route_time_axis.cc:1066 route_time_axis.cc:1119
+#: route_time_axis.cc:1157 route_time_axis.cc:1210
msgid "Name for new playlist:"
msgstr ""
-#: route_time_axis.cc:1118
+#: route_time_axis.cc:1209
msgid "New Playlist"
msgstr ""
-#: route_time_axis.cc:1309
+#: route_time_axis.cc:1400
msgid "You cannot create a track with that name as it is reserved for %1"
msgstr ""
-#: route_time_axis.cc:1490
+#: route_time_axis.cc:1637
msgid "New Copy..."
msgstr ""
-#: route_time_axis.cc:1494
+#: route_time_axis.cc:1641
msgid "New Take"
msgstr ""
-#: route_time_axis.cc:1495
+#: route_time_axis.cc:1642
msgid "Copy Take"
msgstr ""
-#: route_time_axis.cc:1500
+#: route_time_axis.cc:1647
msgid "Clear Current"
msgstr "ΕκκαθάÏιση Ï„Ïέχοντος"
-#: route_time_axis.cc:1503
+#: route_time_axis.cc:1650
msgid "Select From All..."
msgstr ""
-#: route_time_axis.cc:1591
+#: route_time_axis.cc:1738
msgid "Take: %1.%2"
msgstr ""
-#: route_time_axis.cc:2291
+#: route_time_axis.cc:2024 selection.cc:1002 selection.cc:1056
+msgid "programming error: "
+msgstr "σφάλμα Ï€ÏογÏαμματισμοÏ: "
+
+#: route_time_axis.cc:2440
msgid "Underlays"
msgstr ""
-#: route_time_axis.cc:2294
+#: route_time_axis.cc:2443
msgid "Remove \"%1\""
msgstr ""
-#: route_time_axis.cc:2344 route_time_axis.cc:2381
+#: route_time_axis.cc:2493 route_time_axis.cc:2530
msgid "programming error: underlay reference pointer pairs are inconsistent!"
msgstr ""
-#: route_time_axis.cc:2408
+#: route_time_axis.cc:2557
msgid "After-fade listen (AFL)"
msgstr ""
-#: route_time_axis.cc:2412
+#: route_time_axis.cc:2561
msgid "Pre-fade listen (PFL)"
msgstr ""
-#: route_time_axis.cc:2416
-msgid "s"
-msgstr "s"
-
-#: route_time_axis.cc:2419
-msgid "m"
-msgstr "m"
-
-#: route_ui.cc:119
+#: route_ui.cc:138
msgid "Mute this track"
msgstr ""
-#: route_ui.cc:123
+#: route_ui.cc:142
msgid "Mute other (non-soloed) tracks"
msgstr ""
-#: route_ui.cc:129
+#: route_ui.cc:148
msgid "Enable recording on this track"
msgstr ""
-#: route_ui.cc:133
+#: route_ui.cc:154
msgid "make mixer strips show sends to this bus"
msgstr ""
-#: route_ui.cc:138
+#: route_ui.cc:159
msgid "Monitor input"
msgstr ""
-#: route_ui.cc:144
+#: route_ui.cc:165
msgid "Monitor playback"
msgstr ""
-#: route_ui.cc:591
-msgid "Not connected to JACK - cannot engage record"
+#: route_ui.cc:668
+msgid "Not connected to AudioEngine - cannot engage record"
msgstr ""
-#: route_ui.cc:786
+#: route_ui.cc:867
msgid "Step Entry"
msgstr ""
-#: route_ui.cc:859
+#: route_ui.cc:940
msgid "Assign all tracks (prefader)"
msgstr ""
-#: route_ui.cc:863
+#: route_ui.cc:944
msgid "Assign all tracks and buses (prefader)"
msgstr ""
-#: route_ui.cc:867
+#: route_ui.cc:948
msgid "Assign all tracks (postfader)"
msgstr ""
-#: route_ui.cc:871
+#: route_ui.cc:952
msgid "Assign all tracks and buses (postfader)"
msgstr ""
-#: route_ui.cc:875
+#: route_ui.cc:956
msgid "Assign selected tracks (prefader)"
msgstr ""
-#: route_ui.cc:879
+#: route_ui.cc:960
msgid "Assign selected tracks and buses (prefader)"
msgstr ""
-#: route_ui.cc:882
+#: route_ui.cc:963
msgid "Assign selected tracks (postfader)"
msgstr ""
-#: route_ui.cc:886
+#: route_ui.cc:967
msgid "Assign selected tracks and buses (postfader)"
msgstr ""
-#: route_ui.cc:889
+#: route_ui.cc:970
msgid "Copy track/bus gains to sends"
msgstr ""
-#: route_ui.cc:890
+#: route_ui.cc:971
msgid "Set sends gain to -inf"
msgstr ""
-#: route_ui.cc:891
+#: route_ui.cc:972
msgid "Set sends gain to 0dB"
msgstr ""
-#: route_ui.cc:1211
+#: route_ui.cc:1294
msgid "Solo Isolate"
msgstr ""
-#: route_ui.cc:1240
-msgid "Pre Fader"
-msgstr "ΠÏο Fader"
+#: route_ui.cc:1301
+msgid "Solo Safe"
+msgstr ""
-#: route_ui.cc:1246
-msgid "Post Fader"
-msgstr "Μετά Fader"
+#: route_ui.cc:1323
+msgid "Pre Fader Sends"
+msgstr ""
+
+#: route_ui.cc:1329
+msgid "Post Fader Sends"
+msgstr ""
-#: route_ui.cc:1252
+#: route_ui.cc:1335
msgid "Control Outs"
msgstr "Control Outs"
-#: route_ui.cc:1258
+#: route_ui.cc:1341
msgid "Main Outs"
msgstr "Main Outs"
-#: route_ui.cc:1390
+#: route_ui.cc:1473
msgid "Color Selection"
msgstr ""
-#: route_ui.cc:1477
+#: route_ui.cc:1558
msgid ""
"Do you really want to remove track \"%1\" ?\n"
"\n"
@@ -9789,68 +10010,72 @@ msgid ""
"(This action cannot be undone, and the session file will be overwritten)"
msgstr ""
-#: route_ui.cc:1479
+#: route_ui.cc:1560
msgid ""
"Do you really want to remove bus \"%1\" ?\n"
"\n"
"(This action cannot be undone, and the session file will be overwritten)"
msgstr ""
-#: route_ui.cc:1487
+#: route_ui.cc:1568
msgid "Remove track"
msgstr ""
-#: route_ui.cc:1489
+#: route_ui.cc:1570
msgid "Remove bus"
msgstr ""
-#: route_ui.cc:1516
+#: route_ui.cc:1598
msgid ""
"The use of colons (':') is discouraged in track and bus names.\n"
"Do you want to use this new name?"
msgstr ""
-#: route_ui.cc:1520
+#: route_ui.cc:1602
msgid "Use the new name"
msgstr ""
-#: route_ui.cc:1521
+#: route_ui.cc:1603
msgid "Re-edit the name"
msgstr ""
-#: route_ui.cc:1534
+#: route_ui.cc:1616
msgid "Rename Track"
msgstr "Μετονομασία ΚαναλιοÏ"
-#: route_ui.cc:1536
+#: route_ui.cc:1618
msgid "Rename Bus"
msgstr ""
-#: route_ui.cc:1695
+#: route_ui.cc:1686
+msgid ": comment editor"
+msgstr ": επεξεÏγαστής σχολίων"
+
+#: route_ui.cc:1852
msgid " latency"
msgstr ""
-#: route_ui.cc:1708
+#: route_ui.cc:1865
msgid "Cannot create route template directory %1"
msgstr ""
-#: route_ui.cc:1714
+#: route_ui.cc:1871
msgid "Save As Template"
msgstr ""
-#: route_ui.cc:1715
+#: route_ui.cc:1872
msgid "Template name:"
msgstr ""
-#: route_ui.cc:1788
+#: route_ui.cc:1945
msgid "Remote Control ID"
msgstr ""
-#: route_ui.cc:1798
+#: route_ui.cc:1955
msgid "Remote control ID:"
msgstr ""
-#: route_ui.cc:1812
+#: route_ui.cc:1969
msgid ""
"The remote control ID of %1 is: %2\n"
"\n"
@@ -9858,33 +10083,32 @@ msgid ""
"The remote control ID of %3 cannot be changed."
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the master bus"
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the monitor bus"
msgstr ""
-#: route_ui.cc:1818
+#: route_ui.cc:1975
msgid ""
"The remote control ID of %5 is: %2\n"
"\n"
"\n"
-"Remote Control IDs are currently determined by track/bus ordering in "
-"Ardour.\n"
+"Remote Control IDs are currently determined by track/bus ordering in %6.\n"
"\n"
"%3Use the User Interaction tab of the Preferences window if you want to "
"change this%4"
msgstr ""
-#: route_ui.cc:1875
+#: route_ui.cc:2032
msgid ""
"Left-click to invert (phase reverse) channel %1 of this track. Right-click "
"to show menu."
msgstr ""
-#: route_ui.cc:1877
+#: route_ui.cc:2034
msgid "Click to show a menu of channels for inversion (phase reverse)"
msgstr ""
@@ -9900,119 +10124,119 @@ msgstr ""
msgid "the session folder"
msgstr ""
-#: send_ui.cc:126
+#: send_ui.cc:134
msgid "Send "
msgstr ""
-#: session_dialog.cc:66
+#: session_dialog.cc:68
msgid "Session Setup"
msgstr ""
-#: session_dialog.cc:71
+#: session_dialog.cc:73
msgid "Advanced options ..."
msgstr ""
-#: session_dialog.cc:267
+#: session_dialog.cc:271
msgid "New Session"
msgstr "Îέα συνεδÏία"
-#: session_dialog.cc:305
+#: session_dialog.cc:309
msgid "Check the website for more..."
msgstr ""
-#: session_dialog.cc:308
+#: session_dialog.cc:312
msgid "Click to open the program website in your web browser"
msgstr ""
-#: session_dialog.cc:328
+#: session_dialog.cc:332
msgid "Sample Rate"
msgstr ""
-#: session_dialog.cc:329
+#: session_dialog.cc:333
msgid "Disk Format"
msgstr ""
-#: session_dialog.cc:347
+#: session_dialog.cc:351
msgid "Select session file"
msgstr ""
-#: session_dialog.cc:362
+#: session_dialog.cc:366
msgid "Other Sessions"
msgstr ""
-#: session_dialog.cc:388
+#: session_dialog.cc:392
msgid "Open"
msgstr ""
-#: session_dialog.cc:455
+#: session_dialog.cc:459
msgid "Session name:"
msgstr ""
-#: session_dialog.cc:477
+#: session_dialog.cc:481
msgid "Create session folder in:"
msgstr ""
-#: session_dialog.cc:500
+#: session_dialog.cc:504
msgid "Select folder for session"
msgstr ""
-#: session_dialog.cc:529
+#: session_dialog.cc:533
msgid "Use this template"
msgstr ""
-#: session_dialog.cc:532
+#: session_dialog.cc:536
msgid "no template"
msgstr ""
-#: session_dialog.cc:664 session_dialog.cc:696
+#: session_dialog.cc:671 session_dialog.cc:707
msgid "32 bit float"
msgstr ""
-#: session_dialog.cc:667 session_dialog.cc:699
+#: session_dialog.cc:674 session_dialog.cc:710
msgid "24 bit"
msgstr ""
-#: session_dialog.cc:670 session_dialog.cc:702
+#: session_dialog.cc:677 session_dialog.cc:713
msgid "16 bit"
msgstr ""
-#: session_dialog.cc:741 session_dialog.cc:742 session_dialog.cc:743
+#: session_dialog.cc:755 session_dialog.cc:756 session_dialog.cc:757
msgid "channels"
msgstr "κανάλια"
-#: session_dialog.cc:757
+#: session_dialog.cc:771
msgid "<b>Busses</b>"
msgstr ""
-#: session_dialog.cc:758
+#: session_dialog.cc:772
msgid "<b>Inputs</b>"
msgstr ""
-#: session_dialog.cc:759
+#: session_dialog.cc:773
msgid "<b>Outputs</b>"
msgstr ""
-#: session_dialog.cc:767
+#: session_dialog.cc:781
msgid "Create master bus"
msgstr ""
-#: session_dialog.cc:777
+#: session_dialog.cc:791
msgid "Automatically connect to physical inputs"
msgstr ""
-#: session_dialog.cc:784 session_dialog.cc:843
+#: session_dialog.cc:798 session_dialog.cc:857
msgid "Use only"
msgstr ""
-#: session_dialog.cc:837
+#: session_dialog.cc:851
msgid "Automatically connect outputs"
msgstr ""
-#: session_dialog.cc:859
+#: session_dialog.cc:873
msgid "... to master bus"
msgstr ""
-#: session_dialog.cc:869
+#: session_dialog.cc:883
msgid "... to physical outputs"
msgstr ""
@@ -10314,7 +10538,8 @@ msgstr ""
#: session_option_editor.cc:91
msgid ""
-"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless in JACK-sync)."
+"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless using JACK-"
+"sync)."
msgstr ""
#: session_option_editor.cc:96
@@ -10347,480 +10572,510 @@ msgid ""
"%1 is JACK Time Master (provides Bar|Beat|Tick and other information to JACK)"
msgstr ""
-#: session_option_editor.cc:137
-msgid "Default crossfade type"
-msgstr ""
-
-#: session_option_editor.cc:142
-msgid "Constant power (-3dB) crossfade"
-msgstr ""
-
-#: session_option_editor.cc:143
-msgid "Linear (-6dB) crossfade"
-msgstr ""
-
-#: session_option_editor.cc:148
+#: session_option_editor.cc:136
msgid "destructive-xfade-seconds"
msgstr ""
-#: session_option_editor.cc:149
+#: session_option_editor.cc:137
msgid "Destructive crossfade length"
msgstr ""
-#: session_option_editor.cc:158
+#: session_option_editor.cc:146
msgid "Region fades active"
msgstr ""
-#: session_option_editor.cc:165
+#: session_option_editor.cc:153
msgid "Region fades visible"
msgstr ""
-#: session_option_editor.cc:172 session_option_editor.cc:185
-#: session_option_editor.cc:199 session_option_editor.cc:201
-#: session_option_editor.cc:207 session_option_editor.cc:214
+#: session_option_editor.cc:160 session_option_editor.cc:173
+#: session_option_editor.cc:187
msgid "Media"
msgstr ""
-#: session_option_editor.cc:172
+#: session_option_editor.cc:160
msgid "Audio file format"
msgstr ""
-#: session_option_editor.cc:176
+#: session_option_editor.cc:164
msgid "Sample format"
msgstr ""
-#: session_option_editor.cc:181
+#: session_option_editor.cc:169
msgid "32-bit floating point"
msgstr ""
-#: session_option_editor.cc:182
+#: session_option_editor.cc:170
msgid "24-bit integer"
msgstr ""
-#: session_option_editor.cc:183
+#: session_option_editor.cc:171
msgid "16-bit integer"
msgstr ""
-#: session_option_editor.cc:189
+#: session_option_editor.cc:177
msgid "File type"
msgstr ""
-#: session_option_editor.cc:194
+#: session_option_editor.cc:182
msgid "Broadcast WAVE"
msgstr ""
-#: session_option_editor.cc:195
+#: session_option_editor.cc:183
msgid "WAVE"
msgstr ""
-#: session_option_editor.cc:196
+#: session_option_editor.cc:184
msgid "WAVE-64"
msgstr ""
-#: session_option_editor.cc:201
+#: session_option_editor.cc:189
msgid "File locations"
msgstr ""
-#: session_option_editor.cc:203
+#: session_option_editor.cc:191
msgid "Search for audio files in:"
msgstr ""
-#: session_option_editor.cc:209
+#: session_option_editor.cc:197
msgid "Search for MIDI files in:"
msgstr ""
-#: session_option_editor.cc:220
-msgid ""
-"Track Input Monitoring automatically follows transport state (\"auto-input\")"
+#: session_option_editor.cc:206 session_option_editor.cc:218
+#: session_option_editor.cc:228 session_option_editor.cc:239
+msgid "Filenames"
msgstr ""
-#: session_option_editor.cc:227
-msgid "Use monitor section in this session"
+#: session_option_editor.cc:206
+msgid "File Naming"
msgstr ""
-#: session_option_editor.cc:238
-msgid "MIDI region copies are independent"
+#: session_option_editor.cc:212
+msgid "Prefix Track number"
msgstr ""
-#: session_option_editor.cc:245
+#: session_option_editor.cc:217
msgid ""
-"Policy for handling overlapping notes\n"
-" on the same MIDI channel"
-msgstr ""
-
-#: session_option_editor.cc:250
-msgid "never allow them"
-msgstr ""
-
-#: session_option_editor.cc:251
-msgid "don't do anything in particular"
-msgstr ""
-
-#: session_option_editor.cc:252
-msgid "replace any overlapped existing note"
-msgstr ""
-
-#: session_option_editor.cc:253
-msgid "shorten the overlapped existing note"
+"Adds the current track number to the beginning of the recorded file name."
msgstr ""
-#: session_option_editor.cc:254
-msgid "shorten the overlapping new note"
+#: session_option_editor.cc:222
+msgid "Prefix Take Name"
msgstr ""
-#: session_option_editor.cc:255
-msgid "replace both overlapping notes with a single note"
+#: session_option_editor.cc:227
+msgid "Adds the Take Name to the beginning of the recorded file name."
msgstr ""
-#: session_option_editor.cc:259
-msgid "Glue to bars and beats"
+#: session_option_editor.cc:232
+msgid "Take Name"
msgstr ""
-#: session_option_editor.cc:263
-msgid "Glue new markers to bars and beats"
+#: session_option_editor.cc:245
+msgid ""
+"Track Input Monitoring automatically follows transport state (\"auto-input\")"
msgstr ""
-#: session_option_editor.cc:270
-msgid "Glue new regions to bars and beats"
+#: session_option_editor.cc:252
+msgid "Use monitor section in this session"
msgstr ""
-#: session_option_editor.cc:275 session_option_editor.cc:277
-#: session_option_editor.cc:284 session_option_editor.cc:291
-#: session_option_editor.cc:298 session_option_editor.cc:300
-#: session_option_editor.cc:307 session_option_editor.cc:314
-#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:257 session_option_editor.cc:259
+#: session_option_editor.cc:266 session_option_editor.cc:273
+#: session_option_editor.cc:280 session_option_editor.cc:282
+#: session_option_editor.cc:289 session_option_editor.cc:296
+#: session_option_editor.cc:303 session_option_editor.cc:310
+#: session_option_editor.cc:312
msgid "Meterbridge"
msgstr ""
-#: session_option_editor.cc:275
+#: session_option_editor.cc:257
msgid "Route Display"
msgstr ""
-#: session_option_editor.cc:279
+#: session_option_editor.cc:261
msgid "Show Midi Tracks"
msgstr ""
-#: session_option_editor.cc:286
+#: session_option_editor.cc:268
msgid "Show Busses"
msgstr ""
-#: session_option_editor.cc:293
+#: session_option_editor.cc:275
msgid "Include Master Bus"
msgstr ""
-#: session_option_editor.cc:298
+#: session_option_editor.cc:280
msgid "Button Area"
msgstr ""
-#: session_option_editor.cc:302
+#: session_option_editor.cc:284
msgid "Rec-enable Button"
msgstr ""
-#: session_option_editor.cc:309
+#: session_option_editor.cc:291
msgid "Mute Button"
msgstr ""
-#: session_option_editor.cc:316
+#: session_option_editor.cc:298
msgid "Solo Button"
msgstr ""
-#: session_option_editor.cc:321
+#: session_option_editor.cc:305
+msgid "Monitor Buttons"
+msgstr ""
+
+#: session_option_editor.cc:310
msgid "Name Labels"
msgstr ""
-#: session_option_editor.cc:325
+#: session_option_editor.cc:314
msgid "Track Name"
msgstr ""
-#: sfdb_ui.cc:86 sfdb_ui.cc:106 sfdb_ui.cc:115
+#: session_option_editor.cc:325
+msgid "MIDI region copies are independent"
+msgstr ""
+
+#: session_option_editor.cc:332
+msgid ""
+"Policy for handling overlapping notes\n"
+" on the same MIDI channel"
+msgstr ""
+
+#: session_option_editor.cc:337
+msgid "never allow them"
+msgstr ""
+
+#: session_option_editor.cc:338
+msgid "don't do anything in particular"
+msgstr ""
+
+#: session_option_editor.cc:339
+msgid "replace any overlapped existing note"
+msgstr ""
+
+#: session_option_editor.cc:340
+msgid "shorten the overlapped existing note"
+msgstr ""
+
+#: session_option_editor.cc:341
+msgid "shorten the overlapping new note"
+msgstr ""
+
+#: session_option_editor.cc:342
+msgid "replace both overlapping notes with a single note"
+msgstr ""
+
+#: session_option_editor.cc:346
+msgid "Glue to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:350
+msgid "Glue new markers to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:357
+msgid "Glue new regions to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:362
+msgid "Defaults"
+msgstr ""
+
+#: session_option_editor.cc:364
+msgid "Use these settings as defaults"
+msgstr ""
+
+#: sfdb_ui.cc:88 sfdb_ui.cc:108 sfdb_ui.cc:117
msgid "as new tracks"
msgstr ""
-#: sfdb_ui.cc:88 sfdb_ui.cc:108
+#: sfdb_ui.cc:90 sfdb_ui.cc:110
msgid "to selected tracks"
msgstr ""
-#: sfdb_ui.cc:90 sfdb_ui.cc:110
+#: sfdb_ui.cc:92 sfdb_ui.cc:112
msgid "to region list"
msgstr ""
-#: sfdb_ui.cc:92 sfdb_ui.cc:112
+#: sfdb_ui.cc:94 sfdb_ui.cc:114
msgid "as new tape tracks"
msgstr ""
-#: sfdb_ui.cc:96
+#: sfdb_ui.cc:98
msgid "programming error: unknown import mode string %1"
msgstr ""
-#: sfdb_ui.cc:123
+#: sfdb_ui.cc:125
msgid "Auto-play"
msgstr ""
-#: sfdb_ui.cc:129 sfdb_ui.cc:236
+#: sfdb_ui.cc:133 sfdb_ui.cc:317
msgid "<b>Sound File Information</b>"
msgstr ""
-#: sfdb_ui.cc:141
+#: sfdb_ui.cc:145
msgid "Timestamp:"
msgstr ""
-#: sfdb_ui.cc:143
+#: sfdb_ui.cc:147
msgid "Format:"
msgstr ""
-#: sfdb_ui.cc:182 sfdb_ui.cc:526
+#: sfdb_ui.cc:186 sfdb_ui.cc:646
msgid "Tags:"
msgstr ""
-#: sfdb_ui.cc:319
-msgid "Auditioning of MIDI files is not yet supported"
+#: sfdb_ui.cc:290
+msgid "<b>Midi File Information</b>"
msgstr ""
-#: sfdb_ui.cc:326
+#: sfdb_ui.cc:402
msgid "Could not read file: %1 (%2)."
msgstr "Δεν γινόταν να διαβαστεί το αÏχείο: %1 (%2)."
-#: sfdb_ui.cc:349
+#: sfdb_ui.cc:451
msgid "Could not access soundfile: "
msgstr "Δεν γινόταν να διαβαστεί το soundfile: "
-#: sfdb_ui.cc:403
+#: sfdb_ui.cc:523
msgid "SoundFileBox: Could not tokenize string: "
msgstr ""
-#: sfdb_ui.cc:423 sfdb_ui.cc:425
+#: sfdb_ui.cc:543 sfdb_ui.cc:545
msgid "Search"
msgstr ""
-#: sfdb_ui.cc:449
+#: sfdb_ui.cc:569
msgid "Audio and MIDI files"
msgstr ""
-#: sfdb_ui.cc:452
+#: sfdb_ui.cc:572
msgid "Audio files"
msgstr ""
-#: sfdb_ui.cc:455
+#: sfdb_ui.cc:575
msgid "MIDI files"
msgstr ""
-#: sfdb_ui.cc:458 add_video_dialog.cc:132
+#: sfdb_ui.cc:578 add_video_dialog.cc:123
msgid "All files"
msgstr ""
-#: sfdb_ui.cc:477 add_video_dialog.cc:143
+#: sfdb_ui.cc:597 add_video_dialog.cc:246
msgid "Browse Files"
msgstr ""
-#: sfdb_ui.cc:506
+#: sfdb_ui.cc:626
msgid "Paths"
msgstr "Μονοπάτια"
-#: sfdb_ui.cc:515
+#: sfdb_ui.cc:635
msgid "Search Tags"
msgstr ""
-#: sfdb_ui.cc:531
+#: sfdb_ui.cc:651
msgid "Sort:"
msgstr ""
-#: sfdb_ui.cc:539
+#: sfdb_ui.cc:659
msgid "Longest"
msgstr ""
-#: sfdb_ui.cc:540
+#: sfdb_ui.cc:660
msgid "Shortest"
msgstr ""
-#: sfdb_ui.cc:541
+#: sfdb_ui.cc:661
msgid "Newest"
msgstr ""
-#: sfdb_ui.cc:542
+#: sfdb_ui.cc:662
msgid "Oldest"
msgstr ""
-#: sfdb_ui.cc:543
+#: sfdb_ui.cc:663
msgid "Most downloaded"
msgstr ""
-#: sfdb_ui.cc:544
+#: sfdb_ui.cc:664
msgid "Least downloaded"
msgstr ""
-#: sfdb_ui.cc:545
+#: sfdb_ui.cc:665
msgid "Highest rated"
msgstr ""
-#: sfdb_ui.cc:546
+#: sfdb_ui.cc:666
msgid "Lowest rated"
msgstr ""
-#: sfdb_ui.cc:551
+#: sfdb_ui.cc:671
msgid "More"
msgstr ""
-#: sfdb_ui.cc:555
+#: sfdb_ui.cc:675
msgid "Similar"
msgstr ""
-#: sfdb_ui.cc:567
+#: sfdb_ui.cc:687
msgid "ID"
msgstr ""
-#: sfdb_ui.cc:568 add_video_dialog.cc:84
+#: sfdb_ui.cc:688 add_video_dialog.cc:83
msgid "Filename"
msgstr ""
-#: sfdb_ui.cc:570
+#: sfdb_ui.cc:690
msgid "Duration"
msgstr ""
-#: sfdb_ui.cc:571
+#: sfdb_ui.cc:691
msgid "Size"
msgstr ""
-#: sfdb_ui.cc:572
+#: sfdb_ui.cc:692
msgid "Samplerate"
msgstr ""
-#: sfdb_ui.cc:573
+#: sfdb_ui.cc:693
msgid "License"
msgstr ""
-#: sfdb_ui.cc:591
+#: sfdb_ui.cc:711
msgid "Search Freesound"
msgstr ""
-#: sfdb_ui.cc:611
+#: sfdb_ui.cc:731
msgid "Press to import selected files and close this window"
msgstr ""
-#: sfdb_ui.cc:612
+#: sfdb_ui.cc:732
msgid "Press to import selected files and leave this window open"
msgstr ""
-#: sfdb_ui.cc:613
+#: sfdb_ui.cc:733
msgid "Press to close this window without importing any files"
msgstr ""
-#: sfdb_ui.cc:809
+#: sfdb_ui.cc:929
msgid "SoundFileBrowser: Could not tokenize string: "
msgstr ""
-#: sfdb_ui.cc:1009
+#: sfdb_ui.cc:1129
msgid "%1 more page of 100 results available"
msgid_plural "%1 more pages of 100 results available"
msgstr[0] ""
msgstr[1] ""
-#: sfdb_ui.cc:1014
+#: sfdb_ui.cc:1134
msgid "No more results available"
msgstr ""
-#: sfdb_ui.cc:1078
+#: sfdb_ui.cc:1198
msgid "B"
msgstr ""
-#: sfdb_ui.cc:1080
+#: sfdb_ui.cc:1200
msgid "kB"
msgstr ""
-#: sfdb_ui.cc:1082 sfdb_ui.cc:1084
+#: sfdb_ui.cc:1202 sfdb_ui.cc:1204
msgid "MB"
msgstr ""
-#: sfdb_ui.cc:1086
+#: sfdb_ui.cc:1206
msgid "GB"
msgstr ""
-#: sfdb_ui.cc:1298 sfdb_ui.cc:1606 sfdb_ui.cc:1656 sfdb_ui.cc:1674
+#: sfdb_ui.cc:1418 sfdb_ui.cc:1731 sfdb_ui.cc:1782 sfdb_ui.cc:1800
msgid "one track per file"
msgstr ""
-#: sfdb_ui.cc:1301 sfdb_ui.cc:1657 sfdb_ui.cc:1675
+#: sfdb_ui.cc:1421 sfdb_ui.cc:1783 sfdb_ui.cc:1801
msgid "one track per channel"
msgstr ""
-#: sfdb_ui.cc:1309 sfdb_ui.cc:1659 sfdb_ui.cc:1676
+#: sfdb_ui.cc:1429 sfdb_ui.cc:1785 sfdb_ui.cc:1802
msgid "sequence files"
msgstr ""
-#: sfdb_ui.cc:1312 sfdb_ui.cc:1664
+#: sfdb_ui.cc:1432 sfdb_ui.cc:1790
msgid "all files in one track"
msgstr ""
-#: sfdb_ui.cc:1313 sfdb_ui.cc:1658
+#: sfdb_ui.cc:1433 sfdb_ui.cc:1784
msgid "merge files"
msgstr ""
-#: sfdb_ui.cc:1319 sfdb_ui.cc:1661
+#: sfdb_ui.cc:1439 sfdb_ui.cc:1787
msgid "one region per file"
msgstr ""
-#: sfdb_ui.cc:1322 sfdb_ui.cc:1662
+#: sfdb_ui.cc:1442 sfdb_ui.cc:1788
msgid "one region per channel"
msgstr ""
-#: sfdb_ui.cc:1327 sfdb_ui.cc:1663 sfdb_ui.cc:1677
+#: sfdb_ui.cc:1447 sfdb_ui.cc:1789 sfdb_ui.cc:1803
msgid "all files in one region"
msgstr ""
-#: sfdb_ui.cc:1394
+#: sfdb_ui.cc:1514
msgid ""
"One or more of the selected files\n"
"cannot be used by %1"
msgstr ""
-#: sfdb_ui.cc:1534
+#: sfdb_ui.cc:1658
msgid "Copy files to session"
msgstr ""
-#: sfdb_ui.cc:1551 sfdb_ui.cc:1714
+#: sfdb_ui.cc:1675 sfdb_ui.cc:1840
msgid "file timestamp"
msgstr ""
-#: sfdb_ui.cc:1552 sfdb_ui.cc:1716
+#: sfdb_ui.cc:1676 sfdb_ui.cc:1842
msgid "edit point"
msgstr ""
-#: sfdb_ui.cc:1553 sfdb_ui.cc:1718
+#: sfdb_ui.cc:1677 sfdb_ui.cc:1844
msgid "playhead"
msgstr ""
-#: sfdb_ui.cc:1554
+#: sfdb_ui.cc:1678
msgid "session start"
msgstr ""
-#: sfdb_ui.cc:1559
+#: sfdb_ui.cc:1684
msgid "<b>Add files as ...</b>"
msgstr ""
-#: sfdb_ui.cc:1581
+#: sfdb_ui.cc:1706
msgid "<b>Insert at</b>"
msgstr ""
-#: sfdb_ui.cc:1594
+#: sfdb_ui.cc:1719
msgid "<b>Mapping</b>"
msgstr ""
-#: sfdb_ui.cc:1612
+#: sfdb_ui.cc:1737
msgid "<b>Conversion quality</b>"
msgstr ""
-#: sfdb_ui.cc:1624 sfdb_ui.cc:1730
+#: sfdb_ui.cc:1749 sfdb_ui.cc:1856
msgid "Best"
msgstr ""
-#: sfdb_ui.cc:1625 sfdb_ui.cc:1732
+#: sfdb_ui.cc:1750 sfdb_ui.cc:1858
msgid "Good"
msgstr ""
-#: sfdb_ui.cc:1626 sfdb_ui.cc:1734
+#: sfdb_ui.cc:1751 sfdb_ui.cc:1860
msgid "Quick"
msgstr ""
-#: sfdb_ui.cc:1628
+#: sfdb_ui.cc:1753
msgid "Fastest"
msgstr "ΤαχÏτατο"
@@ -10866,6 +11121,30 @@ msgstr ""
msgid "Stopped"
msgstr ""
+#: soundcloud_export_selector.cc:44
+msgid "User Email"
+msgstr ""
+
+#: soundcloud_export_selector.cc:45
+msgid "Password"
+msgstr ""
+
+#: soundcloud_export_selector.cc:46
+msgid "Make files public"
+msgstr ""
+
+#: soundcloud_export_selector.cc:47
+msgid "Open uploaded files in browser"
+msgstr ""
+
+#: soundcloud_export_selector.cc:48
+msgid "Make files downloadable"
+msgstr ""
+
+#: soundcloud_export_selector.cc:107
+msgid "%1: %2 of %3 bytes uploaded"
+msgstr ""
+
#: splash.cc:73
msgid "%1 loading ..."
msgstr ""
@@ -10882,17 +11161,17 @@ msgstr ""
msgid "Azimuth:"
msgstr ""
-#: startup.cc:72
+#: startup.cc:73
msgid ""
"Use an external mixer or the hardware mixer of your audio interface.\n"
"%1 will play NO role in monitoring"
msgstr ""
-#: startup.cc:74
+#: startup.cc:75
msgid "Ask %1 to play back material as it is being recorded"
msgstr ""
-#: startup.cc:143
+#: startup.cc:144
msgid ""
"<b>Welcome to this BETA release of Ardour %1</b>\n"
"\n"
@@ -10917,11 +11196,11 @@ msgid ""
" http://ardour.org/support\n"
msgstr ""
-#: startup.cc:167
+#: startup.cc:168
msgid "This is a BETA RELEASE"
msgstr ""
-#: startup.cc:176
+#: startup.cc:177
msgid ""
"<span size=\"larger\">%1 is a digital audio workstation. You can use it to "
"record, edit and mix multi-track audio. You can produce your own CDs, mix "
@@ -10931,15 +11210,15 @@ msgid ""
"program.</span> "
msgstr ""
-#: startup.cc:202
+#: startup.cc:203
msgid "Welcome to %1"
msgstr ""
-#: startup.cc:225
+#: startup.cc:226
msgid "Default folder for %1 sessions"
msgstr ""
-#: startup.cc:231
+#: startup.cc:232
msgid ""
"Each project that you work on with %1 has its own folder.\n"
"These can require a lot of disk space if you are recording audio.\n"
@@ -10949,11 +11228,11 @@ msgid ""
"<i>(You can put new sessions anywhere, this is just a default)</i>"
msgstr ""
-#: startup.cc:254
+#: startup.cc:255
msgid "Default folder for new sessions"
msgstr ""
-#: startup.cc:275
+#: startup.cc:276
msgid ""
"While recording instruments or vocals, you probably want to listen to the\n"
"signal as well as record it. This is called \"monitoring\". There are\n"
@@ -10967,31 +11246,31 @@ msgid ""
"<i>If you do not understand what this is about, just accept the default.</i>"
msgstr ""
-#: startup.cc:296
+#: startup.cc:297
msgid "Monitoring Choices"
msgstr ""
-#: startup.cc:319
+#: startup.cc:320
msgid "Use a Master bus directly"
msgstr ""
-#: startup.cc:321
+#: startup.cc:322
msgid ""
"Connect the Master bus directly to your hardware outputs. This is preferable "
"for simple usage."
msgstr ""
-#: startup.cc:330
+#: startup.cc:331
msgid "Use an additional Monitor bus"
msgstr ""
-#: startup.cc:333
+#: startup.cc:334
msgid ""
"Use a Monitor bus between Master bus and hardware outputs for \n"
"greater control in monitoring without affecting the mix."
msgstr ""
-#: startup.cc:355
+#: startup.cc:356
msgid ""
"<i>You can change this preference at any time via the Preferences dialog.\n"
"You can also add or remove the monitor section to/from any session.</i>\n"
@@ -10999,395 +11278,395 @@ msgid ""
"<i>If you do not understand what this is about, just accept the default.</i>"
msgstr ""
-#: startup.cc:366
+#: startup.cc:367
msgid "Monitor Section"
msgstr ""
-#: step_entry.cc:59
+#: step_entry.cc:60
msgid "Step Entry: %1"
msgstr ""
-#: step_entry.cc:64
+#: step_entry.cc:65
msgid ">beat"
msgstr ""
-#: step_entry.cc:65
+#: step_entry.cc:66
msgid ">bar"
msgstr ""
-#: step_entry.cc:66
+#: step_entry.cc:67
msgid ">EP"
msgstr ""
-#: step_entry.cc:67
+#: step_entry.cc:68
msgid "sustain"
msgstr ""
-#: step_entry.cc:68
+#: step_entry.cc:69
msgid "rest"
msgstr ""
-#: step_entry.cc:69
+#: step_entry.cc:70
msgid "g-rest"
msgstr ""
-#: step_entry.cc:70
+#: step_entry.cc:71
msgid "back"
msgstr ""
-#: step_entry.cc:81 step_entry.cc:84
+#: step_entry.cc:82 step_entry.cc:85
msgid "+"
msgstr ""
-#: step_entry.cc:190
+#: step_entry.cc:191
msgid "Set note length to a whole note"
msgstr ""
-#: step_entry.cc:191
+#: step_entry.cc:192
msgid "Set note length to a half note"
msgstr ""
-#: step_entry.cc:192
+#: step_entry.cc:193
msgid "Set note length to a quarter note"
msgstr ""
-#: step_entry.cc:193
+#: step_entry.cc:194
msgid "Set note length to a eighth note"
msgstr ""
-#: step_entry.cc:194
+#: step_entry.cc:195
msgid "Set note length to a sixteenth note"
msgstr ""
-#: step_entry.cc:195
+#: step_entry.cc:196
msgid "Set note length to a thirty-second note"
msgstr ""
-#: step_entry.cc:196
+#: step_entry.cc:197
msgid "Set note length to a sixty-fourth note"
msgstr ""
-#: step_entry.cc:275
+#: step_entry.cc:276
msgid "Set volume (velocity) to pianississimo"
msgstr ""
-#: step_entry.cc:276
+#: step_entry.cc:277
msgid "Set volume (velocity) to pianissimo"
msgstr ""
-#: step_entry.cc:277
+#: step_entry.cc:278
msgid "Set volume (velocity) to piano"
msgstr ""
-#: step_entry.cc:278
+#: step_entry.cc:279
msgid "Set volume (velocity) to mezzo-piano"
msgstr ""
-#: step_entry.cc:279
+#: step_entry.cc:280
msgid "Set volume (velocity) to mezzo-forte"
msgstr ""
-#: step_entry.cc:280
+#: step_entry.cc:281
msgid "Set volume (velocity) to forte"
msgstr ""
-#: step_entry.cc:281
+#: step_entry.cc:282
msgid "Set volume (velocity) to forteissimo"
msgstr ""
-#: step_entry.cc:282
+#: step_entry.cc:283
msgid "Set volume (velocity) to forteississimo"
msgstr ""
-#: step_entry.cc:330
+#: step_entry.cc:331
msgid "Stack inserted notes to form a chord"
msgstr ""
-#: step_entry.cc:331
+#: step_entry.cc:332
msgid "Extend selected notes by note length"
msgstr ""
-#: step_entry.cc:332
+#: step_entry.cc:333
msgid "Use undotted note lengths"
msgstr ""
-#: step_entry.cc:333
+#: step_entry.cc:334
msgid "Use dotted (* 1.5) note lengths"
msgstr ""
-#: step_entry.cc:334
+#: step_entry.cc:335
msgid "Use double-dotted (* 1.75) note lengths"
msgstr ""
-#: step_entry.cc:335
+#: step_entry.cc:336
msgid "Use triple-dotted (* 1.875) note lengths"
msgstr ""
-#: step_entry.cc:336
+#: step_entry.cc:337
msgid "Insert a note-length's rest"
msgstr ""
-#: step_entry.cc:337
+#: step_entry.cc:338
msgid "Insert a grid-unit's rest"
msgstr ""
-#: step_entry.cc:338
+#: step_entry.cc:339
msgid "Insert a rest until the next beat"
msgstr ""
-#: step_entry.cc:339
+#: step_entry.cc:340
msgid "Insert a rest until the next bar"
msgstr ""
-#: step_entry.cc:340
+#: step_entry.cc:341
msgid "Insert a bank change message"
msgstr ""
-#: step_entry.cc:341
+#: step_entry.cc:342
msgid "Insert a program change message"
msgstr ""
-#: step_entry.cc:342 step_entry.cc:699
+#: step_entry.cc:343 step_entry.cc:700
msgid "Move Insert Position Back by Note Length"
msgstr ""
-#: step_entry.cc:343 step_entry.cc:697
+#: step_entry.cc:344 step_entry.cc:698
msgid "Move Insert Position to Edit Point"
msgstr ""
-#: step_entry.cc:400
+#: step_entry.cc:401
msgid "1/Note"
msgstr ""
-#: step_entry.cc:414
+#: step_entry.cc:415
msgid "Octave"
msgstr ""
-#: step_entry.cc:597
+#: step_entry.cc:598
msgid "Insert Note A"
msgstr ""
-#: step_entry.cc:598
+#: step_entry.cc:599
msgid "Insert Note A-sharp"
msgstr ""
-#: step_entry.cc:599
+#: step_entry.cc:600
msgid "Insert Note B"
msgstr ""
-#: step_entry.cc:600
+#: step_entry.cc:601
msgid "Insert Note C"
msgstr ""
-#: step_entry.cc:601
+#: step_entry.cc:602
msgid "Insert Note C-sharp"
msgstr ""
-#: step_entry.cc:602
+#: step_entry.cc:603
msgid "Insert Note D"
msgstr ""
-#: step_entry.cc:603
+#: step_entry.cc:604
msgid "Insert Note D-sharp"
msgstr ""
-#: step_entry.cc:604
+#: step_entry.cc:605
msgid "Insert Note E"
msgstr ""
-#: step_entry.cc:605
+#: step_entry.cc:606
msgid "Insert Note F"
msgstr ""
-#: step_entry.cc:606
+#: step_entry.cc:607
msgid "Insert Note F-sharp"
msgstr ""
-#: step_entry.cc:607
+#: step_entry.cc:608
msgid "Insert Note G"
msgstr ""
-#: step_entry.cc:608
+#: step_entry.cc:609
msgid "Insert Note G-sharp"
msgstr ""
-#: step_entry.cc:610
+#: step_entry.cc:611
msgid "Insert a Note-length Rest"
msgstr ""
-#: step_entry.cc:611
+#: step_entry.cc:612
msgid "Insert a Snap-length Rest"
msgstr ""
-#: step_entry.cc:613 step_entry.cc:614
+#: step_entry.cc:614 step_entry.cc:615
msgid "Move to next octave"
msgstr ""
-#: step_entry.cc:616
+#: step_entry.cc:617
msgid "Move to Next Note Length"
msgstr ""
-#: step_entry.cc:617
+#: step_entry.cc:618
msgid "Move to Previous Note Length"
msgstr ""
-#: step_entry.cc:619
+#: step_entry.cc:620
msgid "Increase Note Length"
msgstr ""
-#: step_entry.cc:620
+#: step_entry.cc:621
msgid "Decrease Note Length"
msgstr ""
-#: step_entry.cc:622
+#: step_entry.cc:623
msgid "Move to Next Note Velocity"
msgstr ""
-#: step_entry.cc:623
+#: step_entry.cc:624
msgid "Move to Previous Note Velocity"
msgstr ""
-#: step_entry.cc:625
+#: step_entry.cc:626
msgid "Increase Note Velocity"
msgstr ""
-#: step_entry.cc:626
+#: step_entry.cc:627
msgid "Decrease Note Velocity"
msgstr ""
-#: step_entry.cc:628
+#: step_entry.cc:629
msgid "Switch to the 1st octave"
msgstr ""
-#: step_entry.cc:629
+#: step_entry.cc:630
msgid "Switch to the 2nd octave"
msgstr ""
-#: step_entry.cc:630
+#: step_entry.cc:631
msgid "Switch to the 3rd octave"
msgstr ""
-#: step_entry.cc:631
+#: step_entry.cc:632
msgid "Switch to the 4th octave"
msgstr ""
-#: step_entry.cc:632
+#: step_entry.cc:633
msgid "Switch to the 5th octave"
msgstr ""
-#: step_entry.cc:633
+#: step_entry.cc:634
msgid "Switch to the 6th octave"
msgstr ""
-#: step_entry.cc:634
+#: step_entry.cc:635
msgid "Switch to the 7th octave"
msgstr ""
-#: step_entry.cc:635
+#: step_entry.cc:636
msgid "Switch to the 8th octave"
msgstr ""
-#: step_entry.cc:636
+#: step_entry.cc:637
msgid "Switch to the 9th octave"
msgstr ""
-#: step_entry.cc:637
+#: step_entry.cc:638
msgid "Switch to the 10th octave"
msgstr ""
-#: step_entry.cc:638
+#: step_entry.cc:639
msgid "Switch to the 11th octave"
msgstr ""
-#: step_entry.cc:643
+#: step_entry.cc:644
msgid "Set Note Length to Whole"
msgstr ""
-#: step_entry.cc:645
+#: step_entry.cc:646
msgid "Set Note Length to 1/2"
msgstr ""
-#: step_entry.cc:647
+#: step_entry.cc:648
msgid "Set Note Length to 1/3"
msgstr ""
-#: step_entry.cc:649
+#: step_entry.cc:650
msgid "Set Note Length to 1/4"
msgstr ""
-#: step_entry.cc:651
+#: step_entry.cc:652
msgid "Set Note Length to 1/8"
msgstr ""
-#: step_entry.cc:653
+#: step_entry.cc:654
msgid "Set Note Length to 1/16"
msgstr ""
-#: step_entry.cc:655
+#: step_entry.cc:656
msgid "Set Note Length to 1/32"
msgstr ""
-#: step_entry.cc:657
+#: step_entry.cc:658
msgid "Set Note Length to 1/64"
msgstr ""
-#: step_entry.cc:662
+#: step_entry.cc:663
msgid "Set Note Velocity to Pianississimo"
msgstr ""
-#: step_entry.cc:664
+#: step_entry.cc:665
msgid "Set Note Velocity to Pianissimo"
msgstr ""
-#: step_entry.cc:666
+#: step_entry.cc:667
msgid "Set Note Velocity to Piano"
msgstr ""
-#: step_entry.cc:668
+#: step_entry.cc:669
msgid "Set Note Velocity to Mezzo-Piano"
msgstr ""
-#: step_entry.cc:670
+#: step_entry.cc:671
msgid "Set Note Velocity to Mezzo-Forte"
msgstr ""
-#: step_entry.cc:672
+#: step_entry.cc:673
msgid "Set Note Velocity to Forte"
msgstr ""
-#: step_entry.cc:674 step_entry.cc:676
+#: step_entry.cc:675 step_entry.cc:677
msgid "Set Note Velocity to Fortississimo"
msgstr ""
-#: step_entry.cc:678
+#: step_entry.cc:679
msgid "Toggle Triple Notes"
msgstr ""
-#: step_entry.cc:683
+#: step_entry.cc:684
msgid "No Dotted Notes"
msgstr ""
-#: step_entry.cc:685
+#: step_entry.cc:686
msgid "Toggled Dotted Notes"
msgstr ""
-#: step_entry.cc:687
+#: step_entry.cc:688
msgid "Toggled Double-Dotted Notes"
msgstr ""
-#: step_entry.cc:689
+#: step_entry.cc:690
msgid "Toggled Triple-Dotted Notes"
msgstr ""
-#: step_entry.cc:692
+#: step_entry.cc:693
msgid "Toggle Chord Entry"
msgstr ""
-#: step_entry.cc:694
+#: step_entry.cc:695
msgid "Sustain Selected Notes by Note Length"
msgstr ""
-#: stereo_panner.cc:108
+#: stereo_panner.cc:131
#, c-format
msgid "L:%3d R:%3d Width:%d%%"
msgstr ""
@@ -11400,140 +11679,164 @@ msgstr ""
msgid "Width"
msgstr ""
-#: strip_silence_dialog.cc:48
+#: strip_silence_dialog.cc:44
msgid "Strip Silence"
msgstr ""
-#: strip_silence_dialog.cc:79
+#: strip_silence_dialog.cc:75
msgid "Minimum length"
msgstr ""
-#: strip_silence_dialog.cc:87
+#: strip_silence_dialog.cc:83
msgid "Fade length"
msgstr ""
-#: tempo_dialog.cc:43 tempo_dialog.cc:58
+#: tempo_dialog.cc:42 tempo_dialog.cc:58
msgid "bar:"
msgstr ""
-#: tempo_dialog.cc:44 tempo_dialog.cc:59
+#: tempo_dialog.cc:43 tempo_dialog.cc:59
msgid "beat:"
msgstr ""
-#: tempo_dialog.cc:45 tempo_dialog.cc:60
+#: tempo_dialog.cc:44 tempo_dialog.cc:60
msgid "Pulse note"
msgstr ""
+#: tempo_dialog.cc:45 tempo_dialog.cc:61
+msgid "Tap tempo"
+msgstr ""
+
#: tempo_dialog.cc:55
msgid "Edit Tempo"
msgstr ""
-#: tempo_dialog.cc:76 tempo_dialog.cc:77 tempo_dialog.cc:282
-#: tempo_dialog.cc:283
+#: tempo_dialog.cc:77 tempo_dialog.cc:78 tempo_dialog.cc:316
+#: tempo_dialog.cc:317
msgid "whole"
msgstr ""
-#: tempo_dialog.cc:78 tempo_dialog.cc:79 tempo_dialog.cc:284
-#: tempo_dialog.cc:285
+#: tempo_dialog.cc:79 tempo_dialog.cc:80 tempo_dialog.cc:318
+#: tempo_dialog.cc:319
msgid "second"
msgstr ""
-#: tempo_dialog.cc:80 tempo_dialog.cc:81 tempo_dialog.cc:286
-#: tempo_dialog.cc:287
+#: tempo_dialog.cc:81 tempo_dialog.cc:82 tempo_dialog.cc:320
+#: tempo_dialog.cc:321
msgid "third"
msgstr ""
-#: tempo_dialog.cc:82 tempo_dialog.cc:83 tempo_dialog.cc:288
-#: tempo_dialog.cc:289
+#: tempo_dialog.cc:83 tempo_dialog.cc:84 tempo_dialog.cc:322
+#: tempo_dialog.cc:323
msgid "quarter"
msgstr ""
-#: tempo_dialog.cc:84 tempo_dialog.cc:85 tempo_dialog.cc:290
-#: tempo_dialog.cc:291
+#: tempo_dialog.cc:85 tempo_dialog.cc:86 tempo_dialog.cc:324
+#: tempo_dialog.cc:325
msgid "eighth"
msgstr ""
-#: tempo_dialog.cc:86 tempo_dialog.cc:87 tempo_dialog.cc:292
-#: tempo_dialog.cc:293
+#: tempo_dialog.cc:87 tempo_dialog.cc:88 tempo_dialog.cc:326
+#: tempo_dialog.cc:327
msgid "sixteenth"
msgstr ""
-#: tempo_dialog.cc:88 tempo_dialog.cc:89 tempo_dialog.cc:294
-#: tempo_dialog.cc:295
+#: tempo_dialog.cc:89 tempo_dialog.cc:90 tempo_dialog.cc:328
+#: tempo_dialog.cc:329
msgid "thirty-second"
msgstr ""
-#: tempo_dialog.cc:90 tempo_dialog.cc:91 tempo_dialog.cc:296
-#: tempo_dialog.cc:297
+#: tempo_dialog.cc:91 tempo_dialog.cc:92 tempo_dialog.cc:330
+#: tempo_dialog.cc:331
msgid "sixty-fourth"
msgstr ""
-#: tempo_dialog.cc:92 tempo_dialog.cc:93 tempo_dialog.cc:298
-#: tempo_dialog.cc:299
+#: tempo_dialog.cc:93 tempo_dialog.cc:94 tempo_dialog.cc:332
+#: tempo_dialog.cc:333
msgid "one-hundred-twenty-eighth"
msgstr ""
-#: tempo_dialog.cc:120
+#: tempo_dialog.cc:121
msgid "Beats per minute:"
msgstr ""
-#: tempo_dialog.cc:152
+#: tempo_dialog.cc:153
msgid "Tempo begins at"
msgstr ""
-#: tempo_dialog.cc:240
+#: tempo_dialog.cc:244
msgid "incomprehensible pulse note type (%1)"
msgstr ""
-#: tempo_dialog.cc:266
+#: tempo_dialog.cc:300
msgid "Edit Meter"
msgstr ""
-#: tempo_dialog.cc:314
+#: tempo_dialog.cc:348
msgid "Note value:"
msgstr ""
-#: tempo_dialog.cc:315
+#: tempo_dialog.cc:349
msgid "Beats per bar:"
msgstr ""
-#: tempo_dialog.cc:330
+#: tempo_dialog.cc:364
msgid "Meter begins at bar:"
msgstr ""
-#: tempo_dialog.cc:441
+#: tempo_dialog.cc:475
msgid "incomprehensible meter note type (%1)"
msgstr ""
-#: theme_manager.cc:57
+#: theme_manager.cc:63
msgid "Dark Theme"
msgstr ""
-#: theme_manager.cc:58
+#: theme_manager.cc:64
msgid "Light Theme"
msgstr ""
-#: theme_manager.cc:59
+#: theme_manager.cc:65
msgid "Restore Defaults"
msgstr ""
-#: theme_manager.cc:60
+#: theme_manager.cc:66
msgid "Draw \"flat\" buttons"
msgstr ""
-#: theme_manager.cc:61
+#: theme_manager.cc:67
+msgid "Blink Rec-Arm buttons"
+msgstr ""
+
+#: theme_manager.cc:68
+msgid "Color regions using their track's color"
+msgstr ""
+
+#: theme_manager.cc:69
+msgid "Show waveform clipping"
+msgstr ""
+
+#: theme_manager.cc:71
+msgid "Waveforms color gradient depth"
+msgstr ""
+
+#: theme_manager.cc:73
+msgid "Timeline item gradient depth"
+msgstr ""
+
+#: theme_manager.cc:74
msgid "All floating windows are dialogs"
msgstr ""
-#: theme_manager.cc:62
-msgid "Draw waveforms with color gradient"
+#: theme_manager.cc:75
+msgid "Icon Set"
msgstr ""
-#: theme_manager.cc:68
+#: theme_manager.cc:81
msgid "Object"
msgstr ""
-#: theme_manager.cc:123
+#: theme_manager.cc:180
msgid ""
"Mark all floating windows to be type \"Dialog\" rather than using \"Utility"
"\" for some.\n"
@@ -11541,15 +11844,15 @@ msgid ""
"take effect"
msgstr ""
-#: theme_manager.cc:229
+#: theme_manager.cc:286
msgid "Unable to find UI style file %1 in search path %2. %3 will look strange"
msgstr ""
-#: time_axis_view.cc:114
+#: time_axis_view.cc:141
msgid "Track/Bus name (double click to edit)"
msgstr ""
-#: time_axis_view_item.cc:332
+#: time_axis_view_item.cc:384
msgid "new duration %1 frame is out of bounds for %2"
msgid_plural "new duration of %1 frames is out of bounds for %2"
msgstr[0] ""
@@ -11615,11 +11918,11 @@ msgstr ""
msgid "<b>Progress</b>"
msgstr ""
-#: time_info_box.cc:121
+#: time_info_box.cc:124
msgid "Start recording at auto-punch start"
msgstr "ΈναÏξη εγγÏαφής στην αÏχή αυτο-εναπόθεσης"
-#: time_info_box.cc:122
+#: time_info_box.cc:125
msgid "Stop recording at auto-punch end"
msgstr "Λήξη εγγÏαφής στο τέλος αυτο-εναπόθεσης"
@@ -11635,148 +11938,160 @@ msgstr ""
msgid "Transpose"
msgstr ""
-#: ui_config.cc:82 ui_config.cc:113
+#: ui_config.cc:95 ui_config.cc:126
msgid "Loading default ui configuration file %1"
msgstr ""
-#: ui_config.cc:85 ui_config.cc:116
+#: ui_config.cc:98 ui_config.cc:129
msgid "cannot read default ui configuration file \"%1\""
msgstr ""
-#: ui_config.cc:90 ui_config.cc:121
+#: ui_config.cc:103 ui_config.cc:134
msgid "default ui configuration file \"%1\" not loaded successfully."
msgstr ""
-#: ui_config.cc:134
+#: ui_config.cc:147
msgid "Loading user ui configuration file %1"
msgstr ""
-#: ui_config.cc:137
+#: ui_config.cc:150
msgid "cannot read ui configuration file \"%1\""
msgstr ""
-#: ui_config.cc:142
+#: ui_config.cc:155
msgid "user ui configuration file \"%1\" not loaded successfully."
msgstr ""
-#: ui_config.cc:150
+#: ui_config.cc:163
msgid "could not find any ui configuration file, canvas will look broken."
msgstr ""
-#: ui_config.cc:169
+#: ui_config.cc:182
msgid "Config file %1 not saved"
msgstr ""
-#: utils.cc:111 utils.cc:154
+#: utils.cc:117 utils.cc:160
msgid "bad XPM header %1"
msgstr "εσφαλμένος XPM header %1"
-#: utils.cc:293 utils.cc:325
+#: utils.cc:313 utils.cc:345
msgid "missing RGBA style for \"%1\""
msgstr "ελλειπές RGBA στÏλ για \"%1\""
-#: utils.cc:598
+#: utils.cc:640
msgid "cannot find XPM file for %1"
msgstr ""
-#: utils.cc:624
-msgid "cannot find icon image for %1 using %2"
+#: utils.cc:660 utils.cc:687 utils.cc:698
+msgid "default"
msgstr ""
-#: utils.cc:639
-msgid "Caught exception while loading icon named %1"
+#: utils.cc:699
+msgid "icon \"%1\" not found for icon set \"%2\", fallback to default"
msgstr ""
-#: verbose_cursor.cc:45
-msgid "VerboseCanvasCursor"
+#: utils.cc:706
+msgid "cannot find icon image for %1 using %2"
msgstr ""
-#: add_video_dialog.cc:55
+#: utils.cc:723 utils.cc:739
+msgid "Caught exception while loading icon named %1"
+msgstr ""
+
+#: add_video_dialog.cc:54
msgid "Set Video Track"
msgstr ""
-#: add_video_dialog.cc:63
+#: add_video_dialog.cc:62
msgid "Launch External Video Monitor"
msgstr ""
-#: add_video_dialog.cc:64
+#: add_video_dialog.cc:63
msgid "Adjust Session Framerate to Match Video Framerate"
msgstr ""
-#: add_video_dialog.cc:66
+#: add_video_dialog.cc:65
msgid "Reload docroot"
msgstr ""
-#: add_video_dialog.cc:111 add_video_dialog.cc:115
-msgid "VideoServerIndex"
-msgstr ""
-
-#: add_video_dialog.cc:129
+#: add_video_dialog.cc:120
msgid "Video files"
msgstr ""
-#: add_video_dialog.cc:164
+#: add_video_dialog.cc:149
msgid "<b>Video Information</b>"
msgstr ""
-#: add_video_dialog.cc:167
+#: add_video_dialog.cc:152
msgid "Start:"
msgstr ""
-#: add_video_dialog.cc:173
+#: add_video_dialog.cc:158
msgid "Frame rate:"
msgstr ""
-#: add_video_dialog.cc:176
+#: add_video_dialog.cc:161
msgid "Aspect Ratio:"
msgstr ""
-#: add_video_dialog.cc:654
-msgid " %1 fps"
+#: add_video_dialog.cc:244
+msgid "VideoServerIndex"
msgstr ""
-#: editor_videotimeline.cc:146
-msgid "Export Successful: %1"
+#: add_video_dialog.cc:670
+msgid " %1 fps"
msgstr ""
-#: video_timeline.cc:469
+#: video_timeline.cc:473
msgid ""
"Parsing video file info failed. Is the Video Server running? Is the file "
"readable by the Video Server? Does the docroot match? Is it a video file?"
msgstr ""
-#: video_timeline.cc:507
+#: video_timeline.cc:511
msgid ""
"Failed to set session-framerate: '%1' does not have a corresponding option "
"setting in %2."
msgstr ""
-#: video_timeline.cc:515
+#: video_timeline.cc:519
msgid ""
"Video file's framerate is not equal to %1 session timecode's framerate: '%2' "
"vs '%3'"
msgstr ""
-#: video_timeline.cc:588
+#: video_timeline.cc:592
msgid ""
"Video-server docroot mismatch. %1: '%2', video-server: '%3'. This usually "
-"means that the video server was not started by ardour and uses a different "
+"means that the video server was not started by %1 and uses a different "
"document-root."
msgstr ""
-#: video_timeline.cc:737
+#: video_timeline.cc:768
msgid ""
"Video-monitor 'xjadeo' was not found. Please install http://xjadeo.sf.net/ "
"(a custom path to xjadeo can be specified by setting the XJREMOTE "
"environment variable. It should point to an application compatible with "
-"xjadeo's remote-control interface 'xjremote')."
+"xjadeo's remote-control interface 'xjremote').\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
+msgstr ""
+
+#: video_timeline.cc:782
+msgid "Video-monitor 'xjadeo' cannot be launched."
+msgstr ""
+
+#: video_timeline.cc:809
+msgid ""
+"Video-monitor 'xjadeo' is too old. Please install xjadeo version 0.7.7 or "
+"later. http://xjadeo.sf.net/"
msgstr ""
-#: video_monitor.cc:281
+#: video_monitor.cc:285
msgid "Video Monitor: File Not Found."
msgstr ""
-#: transcode_ffmpeg.cc:73
+#: transcode_ffmpeg.cc:126
msgid ""
"No ffprobe or ffmpeg executables could be found on this system.\n"
"Video import and export is not possible until you install those tools.\n"
@@ -11790,168 +12105,181 @@ msgid ""
"If you already have a suitable ffmpeg installation on your system, we "
"recommend creating symbolic links from ffmpeg to ffmpeg_harvid and from "
"ffprobe to ffprobe_harvid.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: transcode_video_dialog.cc:55
+#: transcode_video_dialog.cc:56
msgid "Transcode/Import Video File "
msgstr ""
-#: transcode_video_dialog.cc:57
+#: transcode_video_dialog.cc:58
msgid "Output File:"
msgstr ""
-#: transcode_video_dialog.cc:60 export_video_dialog.cc:72
+#: transcode_video_dialog.cc:61 export_video_dialog.cc:73
msgid "Abort"
msgstr ""
-#: transcode_video_dialog.cc:62
+#: transcode_video_dialog.cc:63
msgid "Height = "
msgstr ""
-#: transcode_video_dialog.cc:65
+#: transcode_video_dialog.cc:66
msgid "Manual Override"
msgstr ""
-#: transcode_video_dialog.cc:69 export_video_dialog.cc:88
+#: transcode_video_dialog.cc:70 export_video_dialog.cc:89
msgid "Debug Mode: Print ffmpeg command and output to stdout."
msgstr ""
-#: transcode_video_dialog.cc:106
+#: transcode_video_dialog.cc:107
msgid "<b>File Information</b>"
msgstr ""
-#: transcode_video_dialog.cc:112
+#: transcode_video_dialog.cc:113
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Import "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: transcode_video_dialog.cc:119
+#: transcode_video_dialog.cc:120
msgid ""
"File-info can not be read. Most likely '%1' is not a valid video-file or an "
"unsupported video codec or format."
msgstr ""
-#: transcode_video_dialog.cc:133
+#: transcode_video_dialog.cc:134
msgid "FPS:"
msgstr ""
-#: transcode_video_dialog.cc:135
+#: transcode_video_dialog.cc:136
msgid "Duration:"
msgstr ""
-#: transcode_video_dialog.cc:137
+#: transcode_video_dialog.cc:138
msgid "Codec:"
msgstr ""
-#: transcode_video_dialog.cc:139
+#: transcode_video_dialog.cc:140
msgid "Geometry:"
msgstr ""
-#: transcode_video_dialog.cc:154
+#: transcode_video_dialog.cc:155
msgid "??"
msgstr ""
-#: transcode_video_dialog.cc:175
+#: transcode_video_dialog.cc:176
msgid "<b>Import Settings</b>"
msgstr ""
-#: transcode_video_dialog.cc:180
-msgid "Do Not Import Video"
-msgstr ""
-
#: transcode_video_dialog.cc:181
-msgid "Reference From Current Location"
+msgid "Reference From Current Location (Previously Transcoded Files Only)"
msgstr ""
#: transcode_video_dialog.cc:183
msgid "Import/Transcode Video to Session"
msgstr ""
-#: transcode_video_dialog.cc:197
+#: transcode_video_dialog.cc:191
+msgid "Do Not Import Video (Audio Import Only)"
+msgstr ""
+
+#: transcode_video_dialog.cc:200
msgid "Scale Video: Width = "
msgstr ""
-#: transcode_video_dialog.cc:204
+#: transcode_video_dialog.cc:207
msgid "Original Width"
msgstr ""
-#: transcode_video_dialog.cc:219
+#: transcode_video_dialog.cc:222
msgid "Bitrate (KBit/s):"
msgstr ""
-#: transcode_video_dialog.cc:224
+#: transcode_video_dialog.cc:227
msgid "Extract Audio:"
msgstr ""
-#: transcode_video_dialog.cc:344
+#: transcode_video_dialog.cc:232
+msgid "No Audio Track Present"
+msgstr ""
+
+#: transcode_video_dialog.cc:235
+msgid "Do Not Extract Audio"
+msgstr ""
+
+#: transcode_video_dialog.cc:350
msgid "Extracting Audio.."
msgstr ""
-#: transcode_video_dialog.cc:347
+#: transcode_video_dialog.cc:353
msgid "Audio Extraction Failed."
msgstr ""
-#: transcode_video_dialog.cc:373
+#: transcode_video_dialog.cc:379
msgid "Transcoding Video.."
msgstr ""
-#: transcode_video_dialog.cc:407
+#: transcode_video_dialog.cc:413
msgid "Transcoding Failed."
msgstr ""
-#: transcode_video_dialog.cc:490
+#: transcode_video_dialog.cc:503
msgid "Save Transcoded Video File"
msgstr ""
-#: video_server_dialog.cc:43
+#: video_server_dialog.cc:57
msgid "Launch Video Server"
msgstr ""
-#: video_server_dialog.cc:44
+#: video_server_dialog.cc:58
msgid "Server Executable:"
msgstr ""
-#: video_server_dialog.cc:46
+#: video_server_dialog.cc:60
msgid "Server Docroot:"
msgstr ""
-#: video_server_dialog.cc:52
+#: video_server_dialog.cc:66
msgid "Don't show this dialog again. (Reset in Edit->Preferences)."
msgstr ""
-#: video_server_dialog.cc:92
+#: video_server_dialog.cc:126
msgid ""
-"The external video server 'harvid' can not be found. The tool is included "
-"with the %1 releases from ardour.org, alternatively you can download it from "
-"http://x42.github.com/harvid/ or acquire it from your distribution."
+"The external video server 'harvid' can not be found.\n"
+"The tool is included with the %1 releases from ardour.org, alternatively you "
+"can download it from http://x42.github.com/harvid/ or acquire it from your "
+"distribution.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: video_server_dialog.cc:120
+#: video_server_dialog.cc:159
msgid "Listen Address:"
msgstr ""
-#: video_server_dialog.cc:125
+#: video_server_dialog.cc:164
msgid "Listen Port:"
msgstr ""
-#: video_server_dialog.cc:130
+#: video_server_dialog.cc:169
msgid "Cache Size:"
msgstr ""
-#: video_server_dialog.cc:136
+#: video_server_dialog.cc:175
msgid ""
"%1 relies on an external video server for the videotimeline.\n"
"The server configured in Edit -> Preferences -> Video is not reachable.\n"
"Do you want %1 to launch 'harvid' on this machine?"
msgstr ""
-#: video_server_dialog.cc:176
+#: video_server_dialog.cc:215
msgid "Set Video Server Executable"
msgstr ""
-#: video_server_dialog.cc:196
+#: video_server_dialog.cc:235
msgid "Server docroot"
msgstr ""
@@ -11981,184 +12309,184 @@ msgstr ""
msgid "Cannot create video folder \"%1\" (%2)"
msgstr ""
-#: export_video_dialog.cc:65
+#: export_video_dialog.cc:66
msgid "Export Video File "
msgstr ""
-#: export_video_dialog.cc:69
+#: export_video_dialog.cc:70
msgid "Video:"
msgstr ""
-#: export_video_dialog.cc:73
+#: export_video_dialog.cc:74
msgid "Scale Video (W x H):"
msgstr ""
-#: export_video_dialog.cc:78
+#: export_video_dialog.cc:79
msgid "Set Aspect Ratio:"
msgstr ""
-#: export_video_dialog.cc:79
+#: export_video_dialog.cc:80
msgid "Normalize Audio"
msgstr ""
-#: export_video_dialog.cc:80
+#: export_video_dialog.cc:81
msgid "2 Pass Encoding"
msgstr ""
-#: export_video_dialog.cc:81
+#: export_video_dialog.cc:82
msgid "Codec Optimizations:"
msgstr ""
-#: export_video_dialog.cc:83
+#: export_video_dialog.cc:84
msgid "Deinterlace"
msgstr ""
-#: export_video_dialog.cc:84
+#: export_video_dialog.cc:85
msgid "Use [2] B-frames (MPEG 2 or 4 only)"
msgstr ""
-#: export_video_dialog.cc:85
+#: export_video_dialog.cc:86
msgid "Override FPS (Default is to retain FPS from the input video file):"
msgstr ""
-#: export_video_dialog.cc:86
+#: export_video_dialog.cc:87
msgid "Include Session Metadata"
msgstr ""
-#: export_video_dialog.cc:106
+#: export_video_dialog.cc:107
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Export "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: export_video_dialog.cc:116
+#: export_video_dialog.cc:117
msgid "<b>Output:</b>"
msgstr ""
-#: export_video_dialog.cc:126
+#: export_video_dialog.cc:127
msgid "<b>Input:</b>"
msgstr ""
-#: export_video_dialog.cc:137
+#: export_video_dialog.cc:138
msgid "Audio:"
msgstr ""
-#: export_video_dialog.cc:139
+#: export_video_dialog.cc:140
msgid "Master Bus"
msgstr ""
-#: export_video_dialog.cc:144
+#: export_video_dialog.cc:145
msgid "from the %1 session's start to the session's end"
msgstr ""
-#: export_video_dialog.cc:148
+#: export_video_dialog.cc:149
msgid "from 00:00:00:00 to the video's end"
msgstr ""
-#: export_video_dialog.cc:150
+#: export_video_dialog.cc:151
msgid "from the video's start to the video's end"
msgstr ""
-#: export_video_dialog.cc:153
+#: export_video_dialog.cc:154
msgid "Selected range"
msgstr ""
-#: export_video_dialog.cc:193
+#: export_video_dialog.cc:194
msgid "<b>Settings:</b>"
msgstr ""
-#: export_video_dialog.cc:201
+#: export_video_dialog.cc:202
msgid "Range:"
msgstr ""
-#: export_video_dialog.cc:204
+#: export_video_dialog.cc:205
msgid "Preset:"
msgstr ""
-#: export_video_dialog.cc:207
+#: export_video_dialog.cc:208
msgid "Video Codec:"
msgstr ""
-#: export_video_dialog.cc:210
+#: export_video_dialog.cc:211
msgid "Video KBit/s:"
msgstr ""
-#: export_video_dialog.cc:213
+#: export_video_dialog.cc:214
msgid "Audio Codec:"
msgstr ""
-#: export_video_dialog.cc:216
+#: export_video_dialog.cc:217
msgid "Audio KBit/s:"
msgstr ""
-#: export_video_dialog.cc:219
+#: export_video_dialog.cc:220
msgid "Audio Samplerate:"
msgstr ""
-#: export_video_dialog.cc:395
+#: export_video_dialog.cc:396
msgid "Normalizing audio"
msgstr ""
-#: export_video_dialog.cc:399
+#: export_video_dialog.cc:400
msgid "Exporting audio"
msgstr ""
-#: export_video_dialog.cc:445
+#: export_video_dialog.cc:446
msgid "Exporting Audio..."
msgstr ""
-#: export_video_dialog.cc:502
+#: export_video_dialog.cc:503
msgid ""
"Export Video: Cannot query duration of video-file, using duration from "
"timeline instead."
msgstr ""
-#: export_video_dialog.cc:532
+#: export_video_dialog.cc:533
msgid "Export Video: export-range does not include video."
msgstr ""
-#: export_video_dialog.cc:544
+#: export_video_dialog.cc:545
msgid "Export Video: No Master Out Ports to Connect for Audio Export"
msgstr ""
-#: export_video_dialog.cc:583
+#: export_video_dialog.cc:585
msgid "Encoding Video..."
msgstr ""
-#: export_video_dialog.cc:602
+#: export_video_dialog.cc:604
msgid "Export Video: Video input file cannot be read."
msgstr ""
-#: export_video_dialog.cc:695
+#: export_video_dialog.cc:698
msgid "Encoding Video.. Pass 1/2"
msgstr ""
-#: export_video_dialog.cc:707
+#: export_video_dialog.cc:710
msgid "Encoding Video.. Pass 2/2"
msgstr ""
-#: export_video_dialog.cc:814
+#: export_video_dialog.cc:813
msgid "Transcoding failed."
msgstr ""
-#: export_video_dialog.cc:983 export_video_dialog.cc:1003
+#: export_video_dialog.cc:982 export_video_dialog.cc:1002
msgid "Save Exported Video File"
msgstr ""
-#: export_video_infobox.cc:30
+#: export_video_infobox.cc:33
msgid "Video Export Info"
msgstr ""
-#: export_video_infobox.cc:31
+#: export_video_infobox.cc:34
msgid "Do Not Show This Dialog Again (Reset in Edit > Preferences > Video)."
msgstr ""
-#: export_video_infobox.cc:43
+#: export_video_infobox.cc:46
msgid "<b>Video Export Info</b>"
msgstr ""
-#: export_video_infobox.cc:48
+#: export_video_infobox.cc:51
msgid ""
"Video encoding is a non-trivial task with many details.\n"
"\n"
@@ -12167,6 +12495,116 @@ msgid ""
"Open Manual in Browser? "
msgstr ""
+#~ msgid ""
+#~ "programming error: fade in canvas item has no regionview data pointer!"
+#~ msgstr ""
+#~ "Σφάλμα Ï€ÏογÏαμματισμοÏ: το αντικείμενο 'fade in canvas' δεν διαθέτει "
+#~ "δείκτη δεδομένων οπτικής πεÏιοχών!"
+
+#~ msgid "Slowest"
+#~ msgstr "ΑÏγότατο"
+
+#~ msgid "insert dragged region"
+#~ msgstr "Ï€Ïοσθήκη ελκομένης πεÏιοχής"
+
+#~ msgid " objects"
+#~ msgstr " αντικειμένων"
+
+#~ msgid "Lower limit of ruler"
+#~ msgstr "ΚατώτεÏο ÏŒÏιο κλίμακας"
+
+#~ msgid "Upper"
+#~ msgstr "Ανώτατο"
+
+#~ msgid "Upper limit of ruler"
+#~ msgstr "Ανώτατο ÏŒÏιο κλίμακας"
+
+#~ msgid "Position of mark on the ruler"
+#~ msgstr "Θέση στίγματος στην κλίμακα"
+
+#~ msgid "Max Size"
+#~ msgstr "Μέγ.μέγεθος"
+
+#~ msgid "Maximum size of the ruler"
+#~ msgstr "Μέγιστο μέγεθος κίμακας"
+
+#~ msgid "Show Position"
+#~ msgstr "Ανάδειξη Θέσεως"
+
+#~ msgid "Draw current ruler position"
+#~ msgstr "Σχηματισμός Ï„Ïέχουσας θέσης κλίμακας"
+
+#~ msgid "lock"
+#~ msgstr "κλείδωμα"
+
+#~ msgid "in"
+#~ msgstr "in"
+
+#~ msgid "out"
+#~ msgstr "out"
+
+#~ msgid "mute"
+#~ msgstr "σιγή"
+
+#~ msgid "mono"
+#~ msgstr "mono"
+
+#~ msgid "g"
+#~ msgstr "g"
+
+#~ msgid "p"
+#~ msgstr "p"
+
+#~ msgid "a"
+#~ msgstr "a"
+
+#~ msgid "s"
+#~ msgstr "s"
+
+#~ msgid "m"
+#~ msgstr "m"
+
+#~ msgid "x coordinate of upper left corner of rect"
+#~ msgstr "x συντεταγμένη άνω αÏιστεÏής γωνίας του τετ"
+
+#~ msgid "y coordinate of upper left corner of rect "
+#~ msgstr "y συντεταγμένη άνω αÏιστεÏής γωνίας του τετ"
+
+#~ msgid "x coordinate of lower right corner of rect"
+#~ msgstr "x συντεταγμένη κάτω δεξιάς γωνίας του τετ"
+
+#~ msgid "y coordinate of lower right corner of rect "
+#~ msgstr "y συντεταγμένη κάτω δεξιάς γωνίας του τετ"
+
+#~ msgid "color of line"
+#~ msgstr "χÏώμα της γÏαμμής"
+
+#~ msgid "width in pixels of outline"
+#~ msgstr "πλάτος σε pixels πεÏιμέτÏου"
+
+#~ msgid "outline what"
+#~ msgstr "κÏκλωσε τι"
+
+#~ msgid "which boundaries to outline (mask)"
+#~ msgstr "ποιά ÏŒÏια να κυκλώσω (mask)"
+
+#~ msgid "fill"
+#~ msgstr "γέμισμα"
+
+#~ msgid "fill rectangle"
+#~ msgstr "γέμιση τετÏαγώνου"
+
+#~ msgid "draw"
+#~ msgstr "σχημάτισε"
+
+#~ msgid "draw rectangle"
+#~ msgstr "σχηματισμός τετÏαγώνου"
+
+#~ msgid "Editor::event_frame() used on unhandled event type %1"
+#~ msgstr ""
+#~ "ΕπαξεÏγαστής::event_frame() χÏησιμοποιήθηκε στο αδιαχείÏιστο συμβάν Ï„Ïπου "
+#~ "%1"
+
#~ msgid "disconnected"
#~ msgstr "Αποσυνδέθηκε"
diff --git a/gtk2_ardour/po/en_GB.po b/gtk2_ardour/po/en_GB.po
index d109860c06..9c95bc3293 100644
--- a/gtk2_ardour/po/en_GB.po
+++ b/gtk2_ardour/po/en_GB.po
@@ -3,11 +3,12 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
+#: engine_dialog.cc:558
msgid ""
msgstr ""
"Project-Id-Version: Ardour 3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-11-05 11:11-0500\n"
+"POT-Creation-Date: 2014-10-01 19:25+0100\n"
"PO-Revision-Date: 2011-12-08 15:38+0100\n"
"Last-Translator: Colin Fletcher <colin.m.fletcher@googlemail.com>\n"
"Language-Team: UK English <colin.m.fletcher@googlemail.com>\n"
@@ -21,231 +22,235 @@ msgstr ""
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-Basepath: ~/src/ardour2/3.0/gtk2_ardour/\n"
-#: about.cc:122
+#: about.cc:124
msgid "Brian Ahr"
msgstr ""
-#: about.cc:123
+#: about.cc:125
msgid "John Anderson"
msgstr ""
-#: about.cc:124
+#: about.cc:126
msgid "Marcus Andersson"
msgstr ""
-#: about.cc:125
+#: about.cc:127
msgid "Nedko Arnaudov"
msgstr ""
-#: about.cc:126
+#: about.cc:128
msgid "Hans Baier"
msgstr ""
-#: about.cc:127
+#: about.cc:129
msgid "Ben Bell"
msgstr ""
-#: about.cc:128
+#: about.cc:130
msgid "Sakari Bergen"
msgstr ""
-#: about.cc:129
+#: about.cc:131
+msgid "Christian Borss"
+msgstr ""
+
+#: about.cc:132
msgid "Chris Cannam"
msgstr ""
-#: about.cc:130
+#: about.cc:133
msgid "Jesse Chappell"
msgstr ""
-#: about.cc:131
+#: about.cc:134
msgid "Thomas Charbonnel"
msgstr ""
-#: about.cc:132
+#: about.cc:135
msgid "Sam Chessman"
msgstr ""
-#: about.cc:133
+#: about.cc:136
msgid "André Colomb"
msgstr ""
-#: about.cc:134
+#: about.cc:137
msgid "Paul Davis"
msgstr ""
-#: about.cc:135
+#: about.cc:138
msgid "Gerard van Dongen"
msgstr ""
-#: about.cc:136
+#: about.cc:139
msgid "Colin Fletcher"
msgstr ""
-#: about.cc:137
+#: about.cc:140
msgid "Dave Flick"
msgstr ""
-#: about.cc:138
+#: about.cc:141
msgid "Hans Fugal"
msgstr ""
-#: about.cc:139
+#: about.cc:142
msgid "Robin Gareus"
msgstr ""
-#: about.cc:140
+#: about.cc:143
msgid "Christopher George"
msgstr ""
-#: about.cc:141
+#: about.cc:144
msgid "Chris Goddard"
msgstr ""
-#: about.cc:142
+#: about.cc:145
msgid "J. Abelardo Gutierrez"
msgstr ""
-#: about.cc:143
+#: about.cc:146
msgid "Jeremy Hall"
msgstr ""
-#: about.cc:144
+#: about.cc:147
msgid "Audun Halland"
msgstr ""
-#: about.cc:145
+#: about.cc:148
msgid "David Halter"
msgstr ""
-#: about.cc:146
+#: about.cc:149
msgid "Steve Harris"
msgstr ""
-#: about.cc:147
+#: about.cc:150
msgid "Melvin Ray Herr"
msgstr ""
-#: about.cc:148
+#: about.cc:151
msgid "Carl Hetherington"
msgstr ""
-#: about.cc:149
+#: about.cc:152
msgid "Rob Holland"
msgstr ""
-#: about.cc:150
+#: about.cc:153
msgid "Robert Jordens"
msgstr ""
-#: about.cc:151
+#: about.cc:154
msgid "Stefan Kersten"
msgstr ""
-#: about.cc:152
+#: about.cc:155
msgid "Armand Klenk"
msgstr ""
-#: about.cc:153
+#: about.cc:156
msgid "Julien de Kozak"
msgstr ""
-#: about.cc:154
+#: about.cc:157
msgid "Matt Krai"
msgstr ""
-#: about.cc:155
+#: about.cc:158
msgid "Nick Lanham"
msgstr ""
-#: about.cc:156
+#: about.cc:159
msgid "Colin Law"
msgstr ""
-#: about.cc:157
+#: about.cc:160
msgid "Joshua Leach"
msgstr ""
-#: about.cc:158
+#: about.cc:161
msgid "Ben Loftis"
msgstr ""
-#: about.cc:159
+#: about.cc:162
msgid "Nick Mainsbridge"
msgstr ""
-#: about.cc:160
+#: about.cc:163
msgid "Tim Mayberry"
msgstr ""
-#: about.cc:161
+#: about.cc:164
msgid "Doug Mclain"
msgstr ""
-#: about.cc:162
+#: about.cc:165
msgid "Jack O'Quin"
msgstr ""
-#: about.cc:163
+#: about.cc:166
msgid "Nimal Ratnayake"
msgstr ""
-#: about.cc:164
+#: about.cc:167
msgid "David Robillard"
msgstr ""
-#: about.cc:165
+#: about.cc:168
msgid "Taybin Rutkin"
msgstr ""
-#: about.cc:166
+#: about.cc:169
msgid "Andreas Ruge"
msgstr ""
-#: about.cc:167
+#: about.cc:170
msgid "Sampo Savolainen"
msgstr ""
-#: about.cc:168
+#: about.cc:171
msgid "Rodrigo Severo"
msgstr ""
-#: about.cc:169
+#: about.cc:172
msgid "Per Sigmond"
msgstr ""
-#: about.cc:170
+#: about.cc:173
msgid "Lincoln Spiteri"
msgstr ""
-#: about.cc:171
+#: about.cc:174
msgid "Mike Start"
msgstr ""
-#: about.cc:172
+#: about.cc:175
msgid "Mark Stewart"
msgstr ""
-#: about.cc:173
+#: about.cc:176
msgid "Roland Stigge"
msgstr ""
-#: about.cc:174
+#: about.cc:177
msgid "Petter Sundlöf"
msgstr ""
-#: about.cc:175
+#: about.cc:178
msgid "Mike Täht"
msgstr ""
-#: about.cc:176
+#: about.cc:179
msgid "Roy Vegard"
msgstr ""
-#: about.cc:177
+#: about.cc:180
msgid "Thorsten Wilms"
msgstr ""
-#: about.cc:182
+#: about.cc:185
msgid ""
"French:\n"
"\tAlain Fréhel <alain.frehel@free.fr>\n"
@@ -254,7 +259,7 @@ msgid ""
"\tRomain Arnaud <roming22@gmail.com>\n"
msgstr ""
-#: about.cc:183
+#: about.cc:186
msgid ""
"German:\n"
"\tKarsten Petersen <kapet@kapet.de>\n"
@@ -266,189 +271,190 @@ msgid ""
"\tRobin Gloster <robin@loc-com.de>\n"
msgstr ""
-#: about.cc:190
+#: about.cc:193
msgid ""
"Italian:\n"
"\tFilippo Pappalardo <filippo@email.it>\n"
"\tRaffaele Morelli <raffaele.morelli@gmail.com>\n"
msgstr ""
-#: about.cc:191
+#: about.cc:194
msgid ""
"Portuguese:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
msgstr ""
-#: about.cc:192
+#: about.cc:195
msgid ""
"Brazilian Portuguese:\n"
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
"\tChris Ross <chris@tebibyte.org>\n"
msgstr ""
-#: about.cc:194
+#: about.cc:197
msgid ""
"Spanish:\n"
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
"\tPablo Fernández <pablo.fbus@gmail.com>\n"
msgstr ""
-#: about.cc:195
+#: about.cc:198
msgid ""
"Russian:\n"
"\t Igor Blinov <pitstop@nm.ru>\n"
"\tAlexandre Prokoudine <alexandre.prokoudine@gmail.com>\n"
msgstr ""
-#: about.cc:197
+#: about.cc:200
msgid ""
"Greek:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
msgstr ""
-#: about.cc:198
+#: about.cc:201
msgid ""
"Swedish:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
msgstr ""
-#: about.cc:199
+#: about.cc:202
msgid ""
"Polish:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
msgstr ""
-#: about.cc:200
+#: about.cc:203
msgid ""
"Czech:\n"
"\t Pavel Fric <pavelfric@seznam.cz>\n"
msgstr ""
-#: about.cc:201
+#: about.cc:204
msgid ""
"Norwegian:\n"
"\t Eivind Ødegård\n"
msgstr ""
-#: about.cc:202
+#: about.cc:205
msgid ""
"Chinese:\n"
"\t Rui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
msgstr ""
-#: about.cc:580
+#: about.cc:585
msgid "Copyright (C) 1999-2013 Paul Davis\n"
msgstr ""
-#: about.cc:584
+#: about.cc:589
msgid "http://ardour.org/"
msgstr ""
-#: about.cc:585
+#: about.cc:590
msgid ""
"%1\n"
"(built from revision %2)"
msgstr ""
-#: about.cc:589
+#: about.cc:594
msgid "Config"
msgstr ""
-#: actions.cc:85
+#: actions.cc:84
msgid "Loading menus from %1"
msgstr ""
-#: actions.cc:88 actions.cc:89
-msgid "badly formatted UI definition file: %1"
+#: actions.cc:87 actions.cc:88
+msgid "badly formatted menu definition file: %1"
msgstr ""
-#: actions.cc:91
+#: actions.cc:90
msgid "%1 menu definition file not found"
msgstr ""
-#: actions.cc:95 actions.cc:96
-msgid "%1 will not work without a valid ardour.menus file"
+#: actions.cc:94 actions.cc:95
+msgid "%1 will not work without a valid menu definition file"
msgstr ""
-#: add_route_dialog.cc:53 route_params_ui.cc:500
+#: add_route_dialog.cc:54 route_params_ui.cc:523
msgid "Add Track or Bus"
msgstr ""
-#: add_route_dialog.cc:56
+#: add_route_dialog.cc:57
msgid "Configuration:"
msgstr ""
-#: add_route_dialog.cc:57
+#: add_route_dialog.cc:58
msgid "Track mode:"
msgstr ""
-#: add_route_dialog.cc:58
+#: add_route_dialog.cc:59
msgid "Instrument:"
msgstr ""
-#: add_route_dialog.cc:76
+#: add_route_dialog.cc:78
msgid "Audio Tracks"
msgstr ""
-#: add_route_dialog.cc:77
+#: add_route_dialog.cc:79
msgid "MIDI Tracks"
msgstr ""
-#: add_route_dialog.cc:78
+#: add_route_dialog.cc:80
msgid "Audio+MIDI Tracks"
msgstr ""
-#: add_route_dialog.cc:79
+#: add_route_dialog.cc:81
msgid "Busses"
msgstr ""
-#: add_route_dialog.cc:101
+#: add_route_dialog.cc:103
msgid "Add:"
msgstr ""
-#: add_route_dialog.cc:114 time_fx_dialog.cc:91 add_video_dialog.cc:150
-#: video_server_dialog.cc:112
+#: add_route_dialog.cc:116 time_fx_dialog.cc:91 add_video_dialog.cc:135
+#: video_server_dialog.cc:151
msgid "<b>Options</b>"
msgstr ""
-#: add_route_dialog.cc:124 bundle_manager.cc:192 region_editor.cc:50
-#: route_group_dialog.cc:65
+#: add_route_dialog.cc:126 bundle_manager.cc:193 region_editor.cc:49
+#: route_group_dialog.cc:71
msgid "Name:"
msgstr ""
-#: add_route_dialog.cc:154
+#: add_route_dialog.cc:156
msgid "Group:"
msgstr ""
-#: add_route_dialog.cc:215 add_route_dialog.cc:224 add_route_dialog.cc:298
-#: ardour_ui_ed.cc:476 engine_dialog.cc:236 rc_option_editor.cc:1446
-#: rc_option_editor.cc:1448 rc_option_editor.cc:1450 rc_option_editor.cc:1466
-#: rc_option_editor.cc:1468 rc_option_editor.cc:1476 rc_option_editor.cc:1478
-#: rc_option_editor.cc:1496 rc_option_editor.cc:1509 rc_option_editor.cc:1511
-#: rc_option_editor.cc:1513 rc_option_editor.cc:1544 rc_option_editor.cc:1546
-#: rc_option_editor.cc:1548 rc_option_editor.cc:1556 rc_option_editor.cc:1564
-#: rc_option_editor.cc:1572
+#: add_route_dialog.cc:217 add_route_dialog.cc:226 add_route_dialog.cc:300
+#: ardour_ui_ed.cc:523 engine_dialog.cc:235 rc_option_editor.cc:1704
+#: rc_option_editor.cc:1706 rc_option_editor.cc:1708 rc_option_editor.cc:1726
+#: rc_option_editor.cc:1728 rc_option_editor.cc:1736 rc_option_editor.cc:1738
+#: rc_option_editor.cc:1756 rc_option_editor.cc:1769 rc_option_editor.cc:1771
+#: rc_option_editor.cc:1773 rc_option_editor.cc:1804 rc_option_editor.cc:1806
+#: rc_option_editor.cc:1808 rc_option_editor.cc:1816 rc_option_editor.cc:1824
+#: rc_option_editor.cc:1826 rc_option_editor.cc:1834
msgid "Audio"
msgstr ""
-#: add_route_dialog.cc:216 add_route_dialog.cc:227 add_route_dialog.cc:299
-#: editor_actions.cc:105 missing_file_dialog.cc:55 rc_option_editor.cc:1695
-#: rc_option_editor.cc:1703 rc_option_editor.cc:1711 rc_option_editor.cc:1720
-#: rc_option_editor.cc:1728 rc_option_editor.cc:1736 rc_option_editor.cc:1744
-#: rc_option_editor.cc:1753 rc_option_editor.cc:1762 rc_option_editor.cc:1771
-#: rc_option_editor.cc:1779 rc_option_editor.cc:1787
+#: add_route_dialog.cc:218 add_route_dialog.cc:229 add_route_dialog.cc:301
+#: editor_actions.cc:109 engine_dialog.cc:237 missing_file_dialog.cc:56
+#: rc_option_editor.cc:1969 rc_option_editor.cc:1977 rc_option_editor.cc:1985
+#: rc_option_editor.cc:1994 rc_option_editor.cc:2002 rc_option_editor.cc:2010
+#: rc_option_editor.cc:2018 rc_option_editor.cc:2027 rc_option_editor.cc:2036
+#: rc_option_editor.cc:2045 rc_option_editor.cc:2053 rc_option_editor.cc:2061
+#: rc_option_editor.cc:2069 rc_option_editor.cc:2092
msgid "MIDI"
msgstr ""
-#: add_route_dialog.cc:217 add_route_dialog.cc:230 add_route_dialog.cc:300
+#: add_route_dialog.cc:219 add_route_dialog.cc:232 add_route_dialog.cc:302
msgid "Audio+MIDI"
msgstr ""
-#: add_route_dialog.cc:218 add_route_dialog.cc:233 add_route_dialog.cc:301
+#: add_route_dialog.cc:220 add_route_dialog.cc:235 add_route_dialog.cc:303
msgid "Bus"
msgstr ""
-#: add_route_dialog.cc:260
+#: add_route_dialog.cc:262
msgid ""
"Audio+MIDI tracks are intended for use <b>ONLY</b> with plugins that use "
"both audio and MIDI input data\n"
@@ -457,64 +463,64 @@ msgid ""
"track instead."
msgstr ""
-#: add_route_dialog.cc:319 add_route_dialog.cc:338 editor_actions.cc:385
-#: editor_rulers.cc:377 time_axis_view.cc:1305
+#: add_route_dialog.cc:321 add_route_dialog.cc:340 editor_actions.cc:422
+#: editor_rulers.cc:251 time_axis_view.cc:1343
msgid "Normal"
msgstr ""
-#: add_route_dialog.cc:322 add_route_dialog.cc:340
+#: add_route_dialog.cc:324 add_route_dialog.cc:342
msgid "Non Layered"
msgstr ""
-#: add_route_dialog.cc:323 add_route_dialog.cc:342
+#: add_route_dialog.cc:325 add_route_dialog.cc:344
msgid "Tape"
msgstr ""
-#: add_route_dialog.cc:423
+#: add_route_dialog.cc:425 monitor_section.cc:291
msgid "Mono"
msgstr ""
-#: add_route_dialog.cc:427
+#: add_route_dialog.cc:429
msgid "Stereo"
msgstr ""
-#: add_route_dialog.cc:451
+#: add_route_dialog.cc:453
msgid "3 Channel"
msgstr ""
-#: add_route_dialog.cc:455
+#: add_route_dialog.cc:457
msgid "4 Channel"
msgstr ""
-#: add_route_dialog.cc:459
+#: add_route_dialog.cc:461
msgid "5 Channel"
msgstr ""
-#: add_route_dialog.cc:463
+#: add_route_dialog.cc:465
msgid "6 Channel"
msgstr ""
-#: add_route_dialog.cc:467
+#: add_route_dialog.cc:469
msgid "8 Channel"
msgstr ""
-#: add_route_dialog.cc:471
+#: add_route_dialog.cc:473
msgid "12 Channel"
msgstr ""
-#: add_route_dialog.cc:475 mixer_strip.cc:2131
+#: add_route_dialog.cc:477 mixer_strip.cc:1783 mixer_strip.cc:2191
msgid "Custom"
msgstr ""
-#: add_route_dialog.cc:508 add_route_dialog.cc:524 route_group_menu.cc:81
+#: add_route_dialog.cc:510 add_route_dialog.cc:526 route_group_menu.cc:81
msgid "New Group..."
msgstr ""
-#: add_route_dialog.cc:512 route_group_menu.cc:85
+#: add_route_dialog.cc:514 route_group_menu.cc:85
msgid "No Group"
msgstr ""
-#: add_route_dialog.cc:588
+#: add_route_dialog.cc:590
msgid "-none-"
msgstr ""
@@ -535,7 +541,7 @@ msgid ""
"Please select the path that you want to get the file from."
msgstr ""
-#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:45
+#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:46
msgid "Done"
msgstr ""
@@ -575,108 +581,114 @@ msgstr "Normalise values"
msgid "FFT analysis window"
msgstr ""
-#: analysis_window.cc:60 editor.cc:1857
+#: analysis_window.cc:60 editor.cc:1805
msgid "Spectral Analysis"
msgstr ""
-#: analysis_window.cc:67 editor_actions.cc:138 export_channel_selector.cc:557
+#: analysis_window.cc:67 editor_actions.cc:142 export_channel_selector.cc:557
#: session_metadata_dialog.cc:546
msgid "Track"
msgstr ""
-#: analysis_window.cc:68 editor_actions.cc:616 mixer_ui.cc:125
-#: mixer_ui.cc:1795
+#: analysis_window.cc:68 editor_actions.cc:660 mixer_ui.cc:130
+#: mixer_ui.cc:1830
msgid "Show"
msgstr ""
#: analysis_window.cc:135
msgid "Re-analyze data"
-msgstr ""
+msgstr "Re-analyse data"
-#: ardour_button.cc:704
+#: ardour_button.cc:849
msgid "button cannot watch state of non-existing Controllable\n"
msgstr ""
-#: ardour_ui.cc:180
-msgid "audition"
+#: ardour_button.cc:1114
+msgid "ABCDEFGHIJLKMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
msgstr ""
-#: ardour_ui.cc:181
-msgid "solo"
+#: ardour_ui.cc:195 editor_actions.cc:654 region_editor.cc:50
+msgid "Audition"
+msgstr ""
+
+#: ardour_ui.cc:196 editor_actions.cc:136 mixer_strip.cc:1963
+#: rc_option_editor.cc:1844 route_time_axis.cc:248 route_time_axis.cc:2556
+msgid "Solo"
msgstr ""
-#: ardour_ui.cc:182
-msgid "feedback"
+#: ardour_ui.cc:197 rc_option_editor.cc:718
+msgid "Feedback"
msgstr ""
-#: ardour_ui.cc:187 speaker_dialog.cc:36
+#: ardour_ui.cc:202 speaker_dialog.cc:36
msgid "Speaker Configuration"
msgstr ""
-#: ardour_ui.cc:188 theme_manager.cc:56 theme_manager.cc:64
+#: ardour_ui.cc:203 theme_manager.cc:62 theme_manager.cc:77
msgid "Theme Manager"
msgstr ""
-#: ardour_ui.cc:189 keyeditor.cc:53
+#: ardour_ui.cc:204 keyeditor.cc:53
msgid "Key Bindings"
msgstr ""
-#: ardour_ui.cc:190
+#: ardour_ui.cc:205
msgid "Preferences"
msgstr ""
-#: ardour_ui.cc:191 ardour_ui.cc:197
+#: ardour_ui.cc:206 ardour_ui.cc:212
msgid "Add Tracks/Busses"
msgstr ""
-#: ardour_ui.cc:192
+#: ardour_ui.cc:207
msgid "About"
msgstr ""
-#: ardour_ui.cc:193 location_ui.cc:1146
+#: ardour_ui.cc:208 location_ui.cc:1150 session_option_editor.cc:189
+#: session_option_editor.cc:195 session_option_editor.cc:202
msgid "Locations"
msgstr ""
-#: ardour_ui.cc:194 route_params_ui.cc:58 route_params_ui.cc:606
+#: ardour_ui.cc:209 route_params_ui.cc:58 route_params_ui.cc:629
msgid "Tracks and Busses"
msgstr ""
-#: ardour_ui.cc:195 engine_dialog.cc:67
+#: ardour_ui.cc:210 engine_dialog.cc:69
msgid "Audio/MIDI Setup"
msgstr ""
-#: ardour_ui.cc:196
+#: ardour_ui.cc:211
msgid "Properties"
msgstr ""
-#: ardour_ui.cc:198 bundle_manager.cc:263
+#: ardour_ui.cc:213 bundle_manager.cc:264
msgid "Bundle Manager"
msgstr ""
-#: ardour_ui.cc:199 big_clock_window.cc:35
+#: ardour_ui.cc:214 big_clock_window.cc:37
msgid "Big Clock"
msgstr ""
-#: ardour_ui.cc:200
+#: ardour_ui.cc:215
msgid "Audio Connections"
msgstr ""
-#: ardour_ui.cc:201
+#: ardour_ui.cc:216
msgid "MIDI Connections"
msgstr ""
-#: ardour_ui.cc:203
+#: ardour_ui.cc:218
msgid "Errors"
msgstr ""
-#: ardour_ui.cc:436
+#: ardour_ui.cc:462
msgid ""
"The audio backend was shutdown because:\n"
"\n"
"%1"
msgstr ""
-#: ardour_ui.cc:438
+#: ardour_ui.cc:464
msgid ""
"The audio backend has either been shutdown or it\n"
"disconnected %1 because %1\n"
@@ -684,27 +696,27 @@ msgid ""
"the audio backend and save the session."
msgstr ""
-#: ardour_ui.cc:758
+#: ardour_ui.cc:795
msgid "NSM server did not announce itself"
msgstr ""
-#: ardour_ui.cc:771
+#: ardour_ui.cc:808
msgid "NSM: no client ID provided"
msgstr ""
-#: ardour_ui.cc:778
+#: ardour_ui.cc:815
msgid "NSM: no session created"
msgstr ""
-#: ardour_ui.cc:801
+#: ardour_ui.cc:838
msgid "NSM: initialization failed"
msgstr ""
-#: ardour_ui.cc:840 startup.cc:379
+#: ardour_ui.cc:878 startup.cc:381
msgid "%1 is ready for use"
msgstr ""
-#: ardour_ui.cc:882
+#: ardour_ui.cc:920
msgid ""
"WARNING: Your system has a limit for maximum amount of locked memory. This "
"might cause %1 to run out of memory before your system runs out of memory. \n"
@@ -713,23 +725,23 @@ msgid ""
"controlled by %2"
msgstr ""
-#: ardour_ui.cc:899
+#: ardour_ui.cc:937
msgid "Do not show this window again"
msgstr ""
-#: ardour_ui.cc:943
+#: ardour_ui.cc:981
msgid "Don't quit"
msgstr ""
-#: ardour_ui.cc:944
+#: ardour_ui.cc:982
msgid "Just quit"
msgstr ""
-#: ardour_ui.cc:945
+#: ardour_ui.cc:983
msgid "Save and quit"
msgstr ""
-#: ardour_ui.cc:955
+#: ardour_ui.cc:993
msgid ""
"%1 was unable to save your session.\n"
"\n"
@@ -738,15 +750,11 @@ msgid ""
"\"Just quit\" option."
msgstr ""
-#: ardour_ui.cc:986
-msgid "Please wait while %1 cleans up..."
-msgstr ""
-
-#: ardour_ui.cc:1004
+#: ardour_ui.cc:1044
msgid "Unsaved Session"
msgstr ""
-#: ardour_ui.cc:1025
+#: ardour_ui.cc:1065
msgid ""
"The session \"%1\"\n"
"has not been saved.\n"
@@ -757,7 +765,7 @@ msgid ""
"What do you want to do?"
msgstr ""
-#: ardour_ui.cc:1028
+#: ardour_ui.cc:1068
msgid ""
"The snapshot \"%1\"\n"
"has not been saved.\n"
@@ -768,75 +776,75 @@ msgid ""
"What do you want to do?"
msgstr ""
-#: ardour_ui.cc:1042
+#: ardour_ui.cc:1082
msgid "Prompter"
msgstr ""
-#: ardour_ui.cc:1128 ardour_ui.cc:1136
+#: ardour_ui.cc:1196 ardour_ui.cc:1204
#, c-format
msgid "Audio: <span foreground=\"red\">none</span>"
msgstr ""
-#: ardour_ui.cc:1140
+#: ardour_ui.cc:1208
#, c-format
msgid "Audio: <span foreground=\"green\">%.1f kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1144
+#: ardour_ui.cc:1212
#, c-format
msgid "Audio: <span foreground=\"green\">%<PRId64> kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1162 export_video_dialog.cc:67
+#: ardour_ui.cc:1230 export_video_dialog.cc:68
msgid "File:"
msgstr ""
-#: ardour_ui.cc:1166
+#: ardour_ui.cc:1234
msgid "BWF"
msgstr ""
-#: ardour_ui.cc:1169
+#: ardour_ui.cc:1237
msgid "WAV"
msgstr ""
-#: ardour_ui.cc:1172
+#: ardour_ui.cc:1240
msgid "WAV64"
msgstr ""
-#: ardour_ui.cc:1175 session_option_editor.cc:197
+#: ardour_ui.cc:1243 session_option_editor.cc:185
msgid "CAF"
msgstr ""
-#: ardour_ui.cc:1178
+#: ardour_ui.cc:1246
msgid "AIFF"
msgstr ""
-#: ardour_ui.cc:1181
+#: ardour_ui.cc:1249
msgid "iXML"
msgstr ""
-#: ardour_ui.cc:1184
+#: ardour_ui.cc:1252
msgid "RF64"
msgstr ""
-#: ardour_ui.cc:1192
+#: ardour_ui.cc:1260
msgid "32-float"
msgstr ""
-#: ardour_ui.cc:1195
+#: ardour_ui.cc:1263
msgid "24-int"
msgstr ""
-#: ardour_ui.cc:1198
+#: ardour_ui.cc:1266
msgid "16-int"
msgstr ""
-#: ardour_ui.cc:1217
+#: ardour_ui.cc:1285
#, c-format
msgid "DSP: <span foreground=\"%s\">%5.1f%%</span>"
msgstr ""
-#: ardour_ui.cc:1236
+#: ardour_ui.cc:1304
#, c-format
msgid ""
"Buffers: <span foreground=\"green\">p:</span><span foreground=\"%s\">"
@@ -844,211 +852,215 @@ msgid ""
"\">%<PRIu32>%%</span>"
msgstr ""
-#: ardour_ui.cc:1277
+#: ardour_ui.cc:1345
msgid "Disk: <span foreground=\"green\">Unknown</span>"
msgstr ""
-#: ardour_ui.cc:1279
+#: ardour_ui.cc:1347
msgid "Disk: <span foreground=\"green\">24hrs+</span>"
msgstr ""
-#: ardour_ui.cc:1297
+#: ardour_ui.cc:1365
msgid "Disk: <span foreground=\"green\">&gt;24 hrs</span>"
msgstr ""
-#: ardour_ui.cc:1308
+#: ardour_ui.cc:1376
#, c-format
msgid "Disk: <span foreground=\"%s\">%02dh:%02dm:%02ds</span>"
msgstr ""
-#: ardour_ui.cc:1334
+#: ardour_ui.cc:1402
#, c-format
msgid "Timecode|TC: <span foreground=\"%s\">%s</span>"
msgstr ""
-#: ardour_ui.cc:1451 ardour_ui.cc:1460 session_dialog.cc:322
-#: session_dialog.cc:327
+#: ardour_ui.cc:1523 ardour_ui.cc:1532 session_dialog.cc:326
+#: session_dialog.cc:331
msgid "Recent Sessions"
msgstr ""
-#: ardour_ui.cc:1539
+#: ardour_ui.cc:1611
msgid ""
"%1 is not connected to any audio backend.\n"
"You cannot open or close sessions in this condition"
msgstr ""
-#: ardour_ui.cc:1563
+#: ardour_ui.cc:1635
msgid "Open Session"
msgstr ""
-#: ardour_ui.cc:1588 session_dialog.cc:353 session_import_dialog.cc:169
+#: ardour_ui.cc:1660 session_dialog.cc:357 session_import_dialog.cc:169
#: session_metadata_dialog.cc:729
msgid "%1 sessions"
msgstr ""
-#: ardour_ui.cc:1625
+#: ardour_ui.cc:1697
msgid "You cannot add a track without a session already loaded."
msgstr ""
-#: ardour_ui.cc:1633
+#: ardour_ui.cc:1705
msgid "could not create %1 new mixed track"
msgid_plural "could not create %1 new mixed tracks"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1639 ardour_ui.cc:1700
+#: ardour_ui.cc:1711 ardour_ui.cc:1772
msgid ""
-"There are insufficient JACK ports available\n"
+"There are insufficient ports available\n"
"to create a new track or bus.\n"
"You should save %1, exit and\n"
-"restart JACK with more ports."
+"restart with more ports."
msgstr ""
-#: ardour_ui.cc:1674
+#: ardour_ui.cc:1746
msgid "You cannot add a track or bus without a session already loaded."
msgstr ""
-#: ardour_ui.cc:1683
+#: ardour_ui.cc:1755
msgid "could not create %1 new audio track"
msgid_plural "could not create %1 new audio tracks"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1692
+#: ardour_ui.cc:1764
msgid "could not create %1 new audio bus"
msgid_plural "could not create %1 new audio busses"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1816
+#: ardour_ui.cc:1917
msgid ""
"Please create one or more tracks before trying to record.\n"
"You can do this with the \"Add Track or Bus\" option in the Session menu."
msgstr ""
-#: ardour_ui.cc:2193
+#: ardour_ui.cc:2326
+msgid "Save as..."
+msgstr ""
+
+#: ardour_ui.cc:2327 ardour_ui.cc:2406
+msgid "New session name"
+msgstr ""
+
+#: ardour_ui.cc:2329
msgid "Take Snapshot"
msgstr ""
-#: ardour_ui.cc:2194
+#: ardour_ui.cc:2330
msgid "Name of new snapshot"
msgstr ""
-#: ardour_ui.cc:2218
+#: ardour_ui.cc:2355
msgid ""
"To ensure compatibility with various systems\n"
"snapshot names may not contain a '%1' character"
msgstr ""
-#: ardour_ui.cc:2230
+#: ardour_ui.cc:2367
msgid "Confirm Snapshot Overwrite"
msgstr ""
-#: ardour_ui.cc:2231
+#: ardour_ui.cc:2368
msgid "A snapshot already exists with that name. Do you want to overwrite it?"
msgstr ""
-#: ardour_ui.cc:2234 utils_videotl.cc:67
+#: ardour_ui.cc:2371 utils_videotl.cc:74
msgid "Overwrite"
msgstr ""
-#: ardour_ui.cc:2268
+#: ardour_ui.cc:2405
msgid "Rename Session"
msgstr ""
-#: ardour_ui.cc:2269
-msgid "New session name"
-msgstr ""
-
-#: ardour_ui.cc:2283 ardour_ui.cc:2684 ardour_ui.cc:2722
+#: ardour_ui.cc:2420 ardour_ui.cc:2828 ardour_ui.cc:2866
msgid ""
"To ensure compatibility with various systems\n"
"session names may not contain a '%1' character"
msgstr ""
-#: ardour_ui.cc:2291
+#: ardour_ui.cc:2428
msgid ""
"That name is already in use by another directory/folder. Please try again."
msgstr ""
-#: ardour_ui.cc:2300
+#: ardour_ui.cc:2437
msgid ""
"Renaming this session failed.\n"
"Things could be seriously messed up at this point"
msgstr ""
-#: ardour_ui.cc:2411
+#: ardour_ui.cc:2548
msgid "Save Template"
msgstr ""
-#: ardour_ui.cc:2412
+#: ardour_ui.cc:2549
msgid "Name for template:"
msgstr ""
-#: ardour_ui.cc:2413
+#: ardour_ui.cc:2550
msgid "-template"
msgstr ""
-#: ardour_ui.cc:2451
+#: ardour_ui.cc:2588
msgid ""
"This session\n"
"%1\n"
"already exists. Do you want to open it?"
msgstr ""
-#: ardour_ui.cc:2461
+#: ardour_ui.cc:2598
msgid "Open Existing Session"
msgstr ""
-#: ardour_ui.cc:2712
+#: ardour_ui.cc:2856
msgid "There is no existing session at \"%1\""
msgstr ""
-#: ardour_ui.cc:2804
+#: ardour_ui.cc:2948
msgid "Please wait while %1 loads your session"
msgstr ""
-#: ardour_ui.cc:2819
+#: ardour_ui.cc:2963
msgid "Port Registration Error"
msgstr ""
-#: ardour_ui.cc:2820
+#: ardour_ui.cc:2964
msgid "Click the Close button to try again."
msgstr ""
-#: ardour_ui.cc:2841
+#: ardour_ui.cc:2985
msgid "Session \"%1 (snapshot %2)\" did not load successfully"
msgstr ""
-#: ardour_ui.cc:2848
+#: ardour_ui.cc:2992
msgid "Loading Error"
msgstr ""
-#: ardour_ui.cc:2867
+#: ardour_ui.cc:3011
msgid ""
"This session has been opened in read-only mode.\n"
"\n"
"You will not be able to record or save."
msgstr ""
-#: ardour_ui.cc:2873
+#: ardour_ui.cc:3017
msgid "Read-only Session"
msgstr ""
-#: ardour_ui.cc:2931
+#: ardour_ui.cc:3083
msgid "Could not create session in \"%1\""
msgstr ""
-#: ardour_ui.cc:3031
+#: ardour_ui.cc:3183
msgid "No files were ready for clean-up"
msgstr ""
-#: ardour_ui.cc:3035 ardour_ui.cc:3045 ardour_ui.cc:3178 ardour_ui.cc:3185
-#: ardour_ui_ed.cc:104
+#: ardour_ui.cc:3187 ardour_ui.cc:3197 ardour_ui.cc:3330 ardour_ui.cc:3337
+#: ardour_ui_ed.cc:103
msgid "Clean-up"
msgstr ""
-#: ardour_ui.cc:3036
+#: ardour_ui.cc:3188
msgid ""
"If this seems suprising, \n"
"check for any existing snapshots.\n"
@@ -1056,19 +1068,19 @@ msgid ""
"require some unused files to continue to exist."
msgstr ""
-#: ardour_ui.cc:3095
+#: ardour_ui.cc:3247
msgid "kilo"
msgstr ""
-#: ardour_ui.cc:3098
+#: ardour_ui.cc:3250
msgid "mega"
msgstr ""
-#: ardour_ui.cc:3101
+#: ardour_ui.cc:3253
msgid "giga"
msgstr ""
-#: ardour_ui.cc:3106
+#: ardour_ui.cc:3258
msgid ""
"The following file was deleted from %2,\n"
"releasing %3 %4bytes of disk space"
@@ -1078,7 +1090,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:3113
+#: ardour_ui.cc:3265
msgid ""
"The following file was not in use and \n"
"has been moved to: %2\n"
@@ -1100,91 +1112,90 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:3173
+#: ardour_ui.cc:3325
msgid "Are you sure you want to clean-up?"
msgstr ""
-#: ardour_ui.cc:3180
+#: ardour_ui.cc:3332
msgid ""
"Clean-up is a destructive operation.\n"
"ALL undo/redo information will be lost if you clean-up.\n"
"Clean-up will move all unused files to a \"dead\" location."
msgstr ""
-#: ardour_ui.cc:3188
+#: ardour_ui.cc:3340
msgid "CleanupDialog"
msgstr ""
-#: ardour_ui.cc:3218
+#: ardour_ui.cc:3370
msgid "Cleaned Files"
msgstr ""
-#: ardour_ui.cc:3235
+#: ardour_ui.cc:3387
msgid "deleted file"
msgstr ""
-#: ardour_ui.cc:3381
-msgid ""
-"Video-Server was not launched by Ardour. The request to stop it is ignored."
+#: ardour_ui.cc:3526
+msgid "Video-Server was not launched by %1. The request to stop it is ignored."
msgstr ""
-#: ardour_ui.cc:3385
+#: ardour_ui.cc:3530
msgid "Stop Video-Server"
msgstr ""
-#: ardour_ui.cc:3386
+#: ardour_ui.cc:3531
msgid "Do you really want to stop the Video Server?"
msgstr ""
-#: ardour_ui.cc:3389
+#: ardour_ui.cc:3534
msgid "Yes, Stop It"
msgstr ""
-#: ardour_ui.cc:3415
+#: ardour_ui.cc:3560
msgid "The Video Server is already started."
msgstr ""
-#: ardour_ui.cc:3417
+#: ardour_ui.cc:3562
msgid ""
"An external Video Server is configured and can be reached. Not starting a "
"new instance."
msgstr ""
-#: ardour_ui.cc:3425 ardour_ui.cc:3515
+#: ardour_ui.cc:3570 ardour_ui.cc:3669
msgid ""
"Could not connect to the Video Server. Start it or configure its access URL "
"in Edit -> Preferences."
msgstr ""
-#: ardour_ui.cc:3449
+#: ardour_ui.cc:3594
msgid "Specified docroot is not an existing directory."
msgstr ""
-#: ardour_ui.cc:3454
+#: ardour_ui.cc:3600 ardour_ui.cc:3606
msgid "Given Video Server is not an executable file."
msgstr ""
-#: ardour_ui.cc:3487
+#: ardour_ui.cc:3640
msgid "Cannot launch the video-server"
msgstr ""
-#: ardour_ui.cc:3496
+#: ardour_ui.cc:3650
msgid "Video-server was started but does not respond to requests..."
msgstr ""
-#: ardour_ui.cc:3541 editor_audio_import.cc:632
+#: ardour_ui.cc:3695 editor_audio_import.cc:628
msgid "could not open %1"
msgstr ""
-#: ardour_ui.cc:3545
+#: ardour_ui.cc:3699
msgid "no video-file selected"
msgstr ""
-#: ardour_ui.cc:3717
+#: ardour_ui.cc:3872
msgid "Recording was stopped because your system could not keep up."
msgstr ""
-#: ardour_ui.cc:3746
+#: ardour_ui.cc:3901
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1193,7 +1204,23 @@ msgid ""
"quickly enough to keep up with recording.\n"
msgstr ""
-#: ardour_ui.cc:3765
+#: ardour_ui.cc:3971
+msgid "Scanning for plugins"
+msgstr ""
+
+#: ardour_ui.cc:3973
+msgid "Cancel plugin scan"
+msgstr ""
+
+#: ardour_ui.cc:3982
+msgid "Stop Timeout"
+msgstr ""
+
+#: ardour_ui.cc:3989
+msgid "Scan Timeout"
+msgstr ""
+
+#: ardour_ui.cc:4030
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1202,11 +1229,11 @@ msgid ""
"quickly enough to keep up with playback.\n"
msgstr ""
-#: ardour_ui.cc:3805
+#: ardour_ui.cc:4070
msgid "Crash Recovery"
msgstr ""
-#: ardour_ui.cc:3806
+#: ardour_ui.cc:4071
msgid ""
"This session appears to have been in the\n"
"middle of recording when %1 or\n"
@@ -1217,42 +1244,42 @@ msgid ""
"what you would like to do.\n"
msgstr ""
-#: ardour_ui.cc:3818
+#: ardour_ui.cc:4083
msgid "Ignore crash data"
msgstr ""
-#: ardour_ui.cc:3819
+#: ardour_ui.cc:4084
msgid "Recover from crash"
msgstr ""
-#: ardour_ui.cc:3839
+#: ardour_ui.cc:4104
msgid "Sample Rate Mismatch"
msgstr ""
-#: ardour_ui.cc:3840
+#: ardour_ui.cc:4105
msgid ""
"This session was created with a sample rate of %1 Hz, but\n"
"%2 is currently running at %3 Hz. If you load this session,\n"
"audio may be played at the wrong sample rate.\n"
msgstr ""
-#: ardour_ui.cc:3849
+#: ardour_ui.cc:4114
msgid "Do not load session"
msgstr ""
-#: ardour_ui.cc:3850
+#: ardour_ui.cc:4115
msgid "Load session anyway"
msgstr ""
-#: ardour_ui.cc:3877
+#: ardour_ui.cc:4142
msgid "Could not disconnect from Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:3893 ardour_ui.cc:3896
+#: ardour_ui.cc:4158 ardour_ui.cc:4161
msgid "Could not reconnect to the Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:4172
+#: ardour_ui.cc:4445
msgid ""
"%4This is a session from an older version of %3%5\n"
"\n"
@@ -1267,85 +1294,85 @@ msgid ""
"From now on, use the -2000 version with older versions of %3"
msgstr ""
-#: ardour_ui2.cc:72
+#: ardour_ui2.cc:73
msgid "UI: cannot setup editor"
msgstr ""
-#: ardour_ui2.cc:77
+#: ardour_ui2.cc:78
msgid "UI: cannot setup mixer"
msgstr ""
-#: ardour_ui2.cc:82
+#: ardour_ui2.cc:83
msgid "UI: cannot setup meterbridge"
msgstr ""
-#: ardour_ui2.cc:130
+#: ardour_ui2.cc:131
msgid "Play from playhead"
msgstr ""
-#: ardour_ui2.cc:131
+#: ardour_ui2.cc:132
msgid "Stop playback"
msgstr ""
-#: ardour_ui2.cc:132
+#: ardour_ui2.cc:133
msgid "Toggle record"
msgstr ""
-#: ardour_ui2.cc:133
+#: ardour_ui2.cc:134
msgid "Play range/selection"
msgstr ""
-#: ardour_ui2.cc:134
+#: ardour_ui2.cc:135
msgid "Go to start of session"
msgstr ""
-#: ardour_ui2.cc:135
+#: ardour_ui2.cc:136
msgid "Go to end of session"
msgstr ""
-#: ardour_ui2.cc:136
+#: ardour_ui2.cc:137
msgid "Play loop range"
msgstr ""
-#: ardour_ui2.cc:137
+#: ardour_ui2.cc:138
msgid ""
"MIDI Panic\n"
"Send note off and reset controller messages on all MIDI channels"
msgstr ""
-#: ardour_ui2.cc:138
+#: ardour_ui2.cc:139
msgid "Return to last playback start when stopped"
msgstr ""
-#: ardour_ui2.cc:139
+#: ardour_ui2.cc:140
msgid "Playhead follows Range Selections and Edits"
msgstr ""
-#: ardour_ui2.cc:140
+#: ardour_ui2.cc:141
msgid "Be sensible about input monitoring"
msgstr ""
-#: ardour_ui2.cc:141
+#: ardour_ui2.cc:142
msgid "Enable/Disable audio click"
msgstr ""
-#: ardour_ui2.cc:142 monitor_section.cc:101
+#: ardour_ui2.cc:143 monitor_section.cc:112
msgid ""
"When active, something is soloed.\n"
"Click to de-solo everything"
msgstr ""
-#: ardour_ui2.cc:143
+#: ardour_ui2.cc:144
msgid ""
"When active, auditioning is taking place\n"
"Click to stop the audition"
msgstr ""
-#: ardour_ui2.cc:144
+#: ardour_ui2.cc:145
msgid "When active, there is a feedback loop."
msgstr ""
-#: ardour_ui2.cc:145
+#: ardour_ui2.cc:146
msgid ""
"<b>Primary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1353,7 +1380,7 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:146
+#: ardour_ui2.cc:147
msgid ""
"<b>Secondary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1361,361 +1388,418 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:147
-msgid "Reset Level Meter"
+#: ardour_ui2.cc:148
+msgid "Reset All Peak Indicators"
msgstr ""
-#: ardour_ui2.cc:179
+#: ardour_ui2.cc:180
msgid "[ERROR]: "
msgstr ""
-#: ardour_ui2.cc:181
+#: ardour_ui2.cc:182
msgid "[WARNING]: "
msgstr ""
-#: ardour_ui2.cc:183
+#: ardour_ui2.cc:184
msgid "[INFO]: "
msgstr ""
-#: ardour_ui2.cc:247 ardour_ui_ed.cc:344
+#: ardour_ui2.cc:248 ardour_ui_ed.cc:391
msgid "Auto Return"
msgstr ""
-#: ardour_ui2.cc:249 ardour_ui_ed.cc:347
+#: ardour_ui2.cc:250 ardour_ui_ed.cc:394
msgid "Follow Edits"
msgstr ""
-#: ardour_ui2.cc:628 rc_option_editor.cc:1002 rc_option_editor.cc:1020
-#: rc_option_editor.cc:1023 rc_option_editor.cc:1025 rc_option_editor.cc:1027
-#: rc_option_editor.cc:1035 rc_option_editor.cc:1043 rc_option_editor.cc:1045
-#: rc_option_editor.cc:1053 rc_option_editor.cc:1060 rc_option_editor.cc:1069
-#: rc_option_editor.cc:1071 rc_option_editor.cc:1073 rc_option_editor.cc:1081
-#: rc_option_editor.cc:1083 rc_option_editor.cc:1092
-#: session_option_editor.cc:234 session_option_editor.cc:236
-#: session_option_editor.cc:257 session_option_editor.cc:259
-#: session_option_editor.cc:261 session_option_editor.cc:268
+#: ardour_ui2.cc:653 rc_option_editor.cc:2166
+msgid "GUI"
+msgstr ""
+
+#: ardour_ui2.cc:670 rc_option_editor.cc:1236 rc_option_editor.cc:1254
+#: rc_option_editor.cc:1257 rc_option_editor.cc:1259 rc_option_editor.cc:1261
+#: rc_option_editor.cc:1269 rc_option_editor.cc:1277 rc_option_editor.cc:1279
+#: rc_option_editor.cc:1287 rc_option_editor.cc:1294 rc_option_editor.cc:1303
+#: rc_option_editor.cc:1305 rc_option_editor.cc:1307 rc_option_editor.cc:1315
+#: rc_option_editor.cc:1317 rc_option_editor.cc:1326
+#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:344 session_option_editor.cc:346
+#: session_option_editor.cc:348 session_option_editor.cc:355
+#: session_option_editor.cc:362 session_option_editor.cc:366
msgid "Misc"
msgstr ""
-#: ardour_ui_dependents.cc:69
+#: ardour_ui_dependents.cc:76
msgid "Setup Editor"
msgstr ""
-#: ardour_ui_dependents.cc:71
+#: ardour_ui_dependents.cc:78
msgid "Setup Mixer"
msgstr ""
-#: ardour_ui_dependents.cc:77
+#: ardour_ui_dependents.cc:84
msgid "Reload Session History"
msgstr ""
-#: ardour_ui_dialogs.cc:238
+#: ardour_ui_dialogs.cc:253
msgid "Don't close"
msgstr ""
-#: ardour_ui_dialogs.cc:239
+#: ardour_ui_dialogs.cc:254
msgid "Just close"
msgstr ""
-#: ardour_ui_dialogs.cc:240
+#: ardour_ui_dialogs.cc:255
msgid "Save and close"
msgstr ""
-#: ardour_ui_dialogs.cc:339
+#: ardour_ui_dialogs.cc:365
msgid "This screen is not tall enough to display the mixer window"
msgstr ""
-#: ardour_ui_ed.cc:103
+#: ardour_ui_ed.cc:102
msgid "Session"
msgstr ""
-#: ardour_ui_ed.cc:106 editor_actions.cc:134 editor_regions.cc:115
+#: ardour_ui_ed.cc:105 editor_actions.cc:138 editor_regions.cc:116
#: port_group.cc:458 session_option_editor.cc:82 session_option_editor.cc:89
msgid "Sync"
msgstr ""
-#: ardour_ui_ed.cc:107
+#: ardour_ui_ed.cc:106
msgid "Options"
msgstr ""
-#: ardour_ui_ed.cc:108
+#: ardour_ui_ed.cc:107
msgid "Window"
msgstr ""
-#: ardour_ui_ed.cc:109
+#: ardour_ui_ed.cc:108
msgid "Help"
msgstr ""
-#: ardour_ui_ed.cc:110
+#: ardour_ui_ed.cc:109
msgid "Misc. Shortcuts"
msgstr ""
-#: ardour_ui_ed.cc:111
+#: ardour_ui_ed.cc:110
msgid "Audio File Format"
msgstr ""
-#: ardour_ui_ed.cc:112
+#: ardour_ui_ed.cc:111
msgid "File Type"
msgstr ""
-#: ardour_ui_ed.cc:113 export_format_dialog.cc:65
+#: ardour_ui_ed.cc:112 export_format_dialog.cc:67
msgid "Sample Format"
msgstr ""
-#: ardour_ui_ed.cc:114 rc_option_editor.cc:1814 rc_option_editor.cc:1826
+#: ardour_ui_ed.cc:113 rc_option_editor.cc:2113 rc_option_editor.cc:2125
msgid "Control Surfaces"
msgstr ""
-#: ardour_ui_ed.cc:115 rc_option_editor.cc:1546
+#: ardour_ui_ed.cc:114 rc_option_editor.cc:1806 rc_option_editor.cc:2132
msgid "Plugins"
msgstr ""
-#: ardour_ui_ed.cc:116 rc_option_editor.cc:1889
+#: ardour_ui_ed.cc:115 rc_option_editor.cc:2217
msgid "Metering"
msgstr ""
-#: ardour_ui_ed.cc:117
+#: ardour_ui_ed.cc:116
msgid "Fall Off Rate"
msgstr ""
-#: ardour_ui_ed.cc:118
+#: ardour_ui_ed.cc:117
msgid "Hold Time"
msgstr ""
-#: ardour_ui_ed.cc:119
+#: ardour_ui_ed.cc:118
msgid "Denormal Handling"
msgstr ""
-#: ardour_ui_ed.cc:123 route_time_axis.cc:1489
+#: ardour_ui_ed.cc:122 route_time_axis.cc:1626
msgid "New..."
msgstr ""
-#: ardour_ui_ed.cc:125
+#: ardour_ui_ed.cc:124
msgid "Open..."
msgstr ""
-#: ardour_ui_ed.cc:126
+#: ardour_ui_ed.cc:125
msgid "Recent..."
msgstr ""
-#: ardour_ui_ed.cc:127 panner_editor.cc:29 playlist_selector.cc:64
+#: ardour_ui_ed.cc:126 panner_editor.cc:29 playlist_selector.cc:64
msgid "Close"
msgstr ""
-#: ardour_ui_ed.cc:130
+#: ardour_ui_ed.cc:129
msgid "Add Track or Bus..."
msgstr ""
-#: ardour_ui_ed.cc:135
+#: ardour_ui_ed.cc:134
msgid "Open Video"
msgstr ""
-#: ardour_ui_ed.cc:138
+#: ardour_ui_ed.cc:137
msgid "Remove Video"
msgstr ""
-#: ardour_ui_ed.cc:141
+#: ardour_ui_ed.cc:140
msgid "Export To Video File"
msgstr ""
-#: ardour_ui_ed.cc:145
+#: ardour_ui_ed.cc:144
msgid "Snapshot..."
msgstr ""
-#: ardour_ui_ed.cc:149
+#: ardour_ui_ed.cc:148
msgid "Save As..."
msgstr ""
-#: ardour_ui_ed.cc:153 editor_actions.cc:1719 editor_markers.cc:858
-#: editor_snapshots.cc:123 mixer_strip.cc:1471 route_time_axis.cc:1485
+#: ardour_ui_ed.cc:152 editor_actions.cc:1793 editor_markers.cc:869
+#: editor_snapshots.cc:124 mixer_strip.cc:1477 route_time_axis.cc:1622
msgid "Rename..."
msgstr ""
-#: ardour_ui_ed.cc:157
+#: ardour_ui_ed.cc:156
msgid "Save Template..."
msgstr ""
-#: ardour_ui_ed.cc:160
+#: ardour_ui_ed.cc:159
msgid "Metadata"
msgstr ""
-#: ardour_ui_ed.cc:163
+#: ardour_ui_ed.cc:162
msgid "Edit Metadata..."
msgstr ""
-#: ardour_ui_ed.cc:166
+#: ardour_ui_ed.cc:165
msgid "Import Metadata..."
msgstr ""
-#: ardour_ui_ed.cc:169
+#: ardour_ui_ed.cc:168
msgid "Export To Audio File(s)..."
msgstr ""
-#: ardour_ui_ed.cc:172
+#: ardour_ui_ed.cc:171
msgid "Stem export..."
msgstr ""
-#: ardour_ui_ed.cc:175 editor_export_audio.cc:63 export_dialog.cc:129
-#: export_video_dialog.cc:71
+#: ardour_ui_ed.cc:174 editor_export_audio.cc:65 export_dialog.cc:129
+#: export_video_dialog.cc:72
msgid "Export"
msgstr ""
-#: ardour_ui_ed.cc:178
+#: ardour_ui_ed.cc:177
msgid "Clean-up Unused Sources..."
msgstr ""
-#: ardour_ui_ed.cc:182
+#: ardour_ui_ed.cc:181
msgid "Flush Wastebasket"
msgstr ""
-#: ardour_ui_ed.cc:189
+#: ardour_ui_ed.cc:188
msgid "Quit"
msgstr ""
-#: ardour_ui_ed.cc:193
+#: ardour_ui_ed.cc:192
msgid "Maximise Editor Space"
msgstr ""
+#: ardour_ui_ed.cc:193
+msgid "Maximise Mixer Space"
+msgstr ""
+
#: ardour_ui_ed.cc:194
msgid "Show Toolbars"
msgstr ""
-#: ardour_ui_ed.cc:197 mixer_ui.cc:1865 mixer_ui.cc:1871
+#: ardour_ui_ed.cc:197
+msgid "Show more UI preferences"
+msgstr ""
+
+#: ardour_ui_ed.cc:199 mixer_ui.cc:1900 mixer_ui.cc:1906
msgid "Window|Mixer"
msgstr ""
-#: ardour_ui_ed.cc:198
+#: ardour_ui_ed.cc:200
msgid "Toggle Editor+Mixer"
msgstr ""
-#: ardour_ui_ed.cc:199 meterbridge.cc:230 meterbridge.cc:236
+#: ardour_ui_ed.cc:201 meterbridge.cc:214 meterbridge.cc:220
msgid "Window|Meterbridge"
msgstr ""
-#: ardour_ui_ed.cc:201 midi_tracer.cc:42
+#: ardour_ui_ed.cc:203 midi_tracer.cc:45
msgid "MIDI Tracer"
msgstr ""
-#: ardour_ui_ed.cc:203
+#: ardour_ui_ed.cc:205
msgid "Chat"
msgstr ""
-#: ardour_ui_ed.cc:205
+#: ardour_ui_ed.cc:207
msgid "Help|Manual"
msgstr ""
-#: ardour_ui_ed.cc:206
+#: ardour_ui_ed.cc:208
msgid "Reference"
msgstr ""
-#: ardour_ui_ed.cc:208 plugin_ui.cc:415
+#: ardour_ui_ed.cc:210 plugin_ui.cc:416
msgid "Save"
msgstr ""
-#: ardour_ui_ed.cc:216 rc_option_editor.cc:1112 rc_option_editor.cc:1123
-#: rc_option_editor.cc:1132 rc_option_editor.cc:1145 rc_option_editor.cc:1158
-#: rc_option_editor.cc:1167 rc_option_editor.cc:1177 rc_option_editor.cc:1179
-#: rc_option_editor.cc:1189 rc_option_editor.cc:1205 rc_option_editor.cc:1218
-#: rc_option_editor.cc:1236 rc_option_editor.cc:1238 rc_option_editor.cc:1252
-#: rc_option_editor.cc:1255 rc_option_editor.cc:1257 rc_option_editor.cc:1274
-#: rc_option_editor.cc:1285
+#: ardour_ui_ed.cc:218 rc_option_editor.cc:1346 rc_option_editor.cc:1357
+#: rc_option_editor.cc:1368 rc_option_editor.cc:1377 rc_option_editor.cc:1390
+#: rc_option_editor.cc:1403 rc_option_editor.cc:1412 rc_option_editor.cc:1422
+#: rc_option_editor.cc:1424 rc_option_editor.cc:1434 rc_option_editor.cc:1450
+#: rc_option_editor.cc:1463 rc_option_editor.cc:1481 rc_option_editor.cc:1483
+#: rc_option_editor.cc:1497 rc_option_editor.cc:1500 rc_option_editor.cc:1502
+#: rc_option_editor.cc:1519 rc_option_editor.cc:1530
msgid "Transport"
msgstr ""
-#: ardour_ui_ed.cc:222
+#: ardour_ui_ed.cc:224
msgid "Stop"
msgstr ""
-#: ardour_ui_ed.cc:225
+#: ardour_ui_ed.cc:227
msgid "Roll"
msgstr ""
-#: ardour_ui_ed.cc:229
+#: ardour_ui_ed.cc:231 ardour_ui_ed.cc:234
msgid "Start/Stop"
msgstr ""
-#: ardour_ui_ed.cc:232
+#: ardour_ui_ed.cc:237
msgid "Start/Continue/Stop"
msgstr ""
-#: ardour_ui_ed.cc:235
+#: ardour_ui_ed.cc:240
msgid "Stop and Forget Capture"
msgstr ""
-#: ardour_ui_ed.cc:245
+#: ardour_ui_ed.cc:250
msgid "Transition To Roll"
msgstr ""
-#: ardour_ui_ed.cc:249
+#: ardour_ui_ed.cc:254
msgid "Transition To Reverse"
msgstr ""
-#: ardour_ui_ed.cc:253
+#: ardour_ui_ed.cc:258
msgid "Play Loop Range"
msgstr ""
-#: ardour_ui_ed.cc:256
+#: ardour_ui_ed.cc:261
msgid "Play Selected Range"
msgstr ""
-#: ardour_ui_ed.cc:259
+#: ardour_ui_ed.cc:264
msgid "Play Selection w/Preroll"
msgstr ""
-#: ardour_ui_ed.cc:263
+#: ardour_ui_ed.cc:268
msgid "Enable Record"
msgstr ""
-#: ardour_ui_ed.cc:266
+#: ardour_ui_ed.cc:271 ardour_ui_ed.cc:275
msgid "Start Recording"
msgstr ""
-#: ardour_ui_ed.cc:270
+#: ardour_ui_ed.cc:279
msgid "Rewind"
msgstr ""
-#: ardour_ui_ed.cc:273
+#: ardour_ui_ed.cc:282
msgid "Rewind (Slow)"
msgstr ""
-#: ardour_ui_ed.cc:276
+#: ardour_ui_ed.cc:285
msgid "Rewind (Fast)"
msgstr ""
-#: ardour_ui_ed.cc:279
+#: ardour_ui_ed.cc:288
msgid "Forward"
msgstr ""
-#: ardour_ui_ed.cc:282
+#: ardour_ui_ed.cc:291
msgid "Forward (Slow)"
msgstr ""
-#: ardour_ui_ed.cc:285
+#: ardour_ui_ed.cc:294
msgid "Forward (Fast)"
msgstr ""
-#: ardour_ui_ed.cc:288
+#: ardour_ui_ed.cc:297
msgid "Goto Zero"
msgstr ""
-#: ardour_ui_ed.cc:291
+#: ardour_ui_ed.cc:300 ardour_ui_ed.cc:303
msgid "Goto Start"
msgstr ""
-#: ardour_ui_ed.cc:294
+#: ardour_ui_ed.cc:306
msgid "Goto End"
msgstr ""
-#: ardour_ui_ed.cc:297
+#: ardour_ui_ed.cc:309
msgid "Goto Wall Clock"
msgstr ""
-#: ardour_ui_ed.cc:301
+#: ardour_ui_ed.cc:314
+msgid "Numpad Decimal"
+msgstr ""
+
+#: ardour_ui_ed.cc:317
+msgid "Numpad 0"
+msgstr ""
+
+#: ardour_ui_ed.cc:320
+msgid "Numpad 1"
+msgstr ""
+
+#: ardour_ui_ed.cc:323
+msgid "Numpad 2"
+msgstr ""
+
+#: ardour_ui_ed.cc:326
+msgid "Numpad 3"
+msgstr ""
+
+#: ardour_ui_ed.cc:329
+msgid "Numpad 4"
+msgstr ""
+
+#: ardour_ui_ed.cc:332
+msgid "Numpad 5"
+msgstr ""
+
+#: ardour_ui_ed.cc:335
+msgid "Numpad 6"
+msgstr ""
+
+#: ardour_ui_ed.cc:338
+msgid "Numpad 7"
+msgstr ""
+
+#: ardour_ui_ed.cc:341
+msgid "Numpad 8"
+msgstr ""
+
+#: ardour_ui_ed.cc:344
+msgid "Numpad 9"
+msgstr ""
+
+#: ardour_ui_ed.cc:348
msgid "Focus On Clock"
msgstr ""
-#: ardour_ui_ed.cc:305 ardour_ui_ed.cc:314 audio_clock.cc:2046 editor.cc:237
-#: editor_actions.cc:544 editor_actions.cc:553 export_timespan_selector.cc:88
+#: ardour_ui_ed.cc:352 ardour_ui_ed.cc:361 audio_clock.cc:2074 editor.cc:254
+#: editor_actions.cc:581 editor_actions.cc:590 export_timespan_selector.cc:88
#: session_option_editor.cc:41 session_option_editor.cc:61
#: session_option_editor.cc:80 session_option_editor.cc:96
#: session_option_editor.cc:109 session_option_editor.cc:122
@@ -1723,125 +1807,125 @@ msgstr ""
msgid "Timecode"
msgstr ""
-#: ardour_ui_ed.cc:307 ardour_ui_ed.cc:316 editor_actions.cc:542
+#: ardour_ui_ed.cc:354 ardour_ui_ed.cc:363 editor_actions.cc:579
msgid "Bars & Beats"
msgstr ""
-#: ardour_ui_ed.cc:309 ardour_ui_ed.cc:318
+#: ardour_ui_ed.cc:356 ardour_ui_ed.cc:365
msgid "Minutes & Seconds"
msgstr ""
-#: ardour_ui_ed.cc:311 ardour_ui_ed.cc:320 audio_clock.cc:2050 editor.cc:238
-#: editor_actions.cc:543
+#: ardour_ui_ed.cc:358 ardour_ui_ed.cc:367 audio_clock.cc:2078 editor.cc:255
+#: editor_actions.cc:580
msgid "Samples"
msgstr ""
-#: ardour_ui_ed.cc:323
+#: ardour_ui_ed.cc:370
msgid "Punch In"
msgstr ""
-#: ardour_ui_ed.cc:324 mixer_strip.cc:1905 route_ui.cc:137
-#: time_info_box.cc:113
+#: ardour_ui_ed.cc:371 mixer_strip.cc:1766 mixer_strip.cc:1790
+#: mixer_strip.cc:1954 route_ui.cc:160 time_info_box.cc:116
msgid "In"
msgstr ""
-#: ardour_ui_ed.cc:327
+#: ardour_ui_ed.cc:374
msgid "Punch Out"
msgstr ""
-#: ardour_ui_ed.cc:328 time_info_box.cc:114
+#: ardour_ui_ed.cc:375 mixer_strip.cc:1778 time_info_box.cc:117
msgid "Out"
msgstr ""
-#: ardour_ui_ed.cc:331
+#: ardour_ui_ed.cc:378
msgid "Punch In/Out"
msgstr ""
-#: ardour_ui_ed.cc:332
+#: ardour_ui_ed.cc:379
msgid "In/Out"
msgstr ""
-#: ardour_ui_ed.cc:335 rc_option_editor.cc:1069
+#: ardour_ui_ed.cc:382 rc_option_editor.cc:1303
msgid "Click"
msgstr ""
-#: ardour_ui_ed.cc:338
+#: ardour_ui_ed.cc:385
msgid "Auto Input"
msgstr ""
-#: ardour_ui_ed.cc:341
+#: ardour_ui_ed.cc:388
msgid "Auto Play"
msgstr ""
-#: ardour_ui_ed.cc:352
+#: ardour_ui_ed.cc:399
msgid "Sync Startup to Video"
msgstr ""
-#: ardour_ui_ed.cc:354
+#: ardour_ui_ed.cc:401
msgid "Time Master"
msgstr ""
-#: ardour_ui_ed.cc:361
+#: ardour_ui_ed.cc:408
msgid "Toggle Record Enable Track %1"
msgstr ""
-#: ardour_ui_ed.cc:368
+#: ardour_ui_ed.cc:415
msgid "Percentage"
msgstr ""
-#: ardour_ui_ed.cc:369 shuttle_control.cc:169
+#: ardour_ui_ed.cc:416 shuttle_control.cc:169
msgid "Semitones"
msgstr ""
-#: ardour_ui_ed.cc:373
+#: ardour_ui_ed.cc:420
msgid "Send MTC"
msgstr ""
-#: ardour_ui_ed.cc:375
+#: ardour_ui_ed.cc:422
msgid "Send MMC"
msgstr ""
-#: ardour_ui_ed.cc:377
+#: ardour_ui_ed.cc:424
msgid "Use MMC"
msgstr ""
-#: ardour_ui_ed.cc:379 rc_option_editor.cc:1698
+#: ardour_ui_ed.cc:426 rc_option_editor.cc:1972
msgid "Send MIDI Clock"
msgstr ""
-#: ardour_ui_ed.cc:381
+#: ardour_ui_ed.cc:428
msgid "Send MIDI Feedback"
msgstr ""
-#: ardour_ui_ed.cc:387
+#: ardour_ui_ed.cc:434
msgid "Panic"
msgstr ""
-#: ardour_ui_ed.cc:472
+#: ardour_ui_ed.cc:519
msgid "Wall Clock"
msgstr ""
-#: ardour_ui_ed.cc:473
+#: ardour_ui_ed.cc:520
msgid "Disk Space"
msgstr ""
-#: ardour_ui_ed.cc:474
+#: ardour_ui_ed.cc:521
msgid "DSP"
msgstr ""
-#: ardour_ui_ed.cc:475
+#: ardour_ui_ed.cc:522
msgid "Buffers"
msgstr ""
-#: ardour_ui_ed.cc:477
+#: ardour_ui_ed.cc:524
msgid "Timecode Format"
msgstr ""
-#: ardour_ui_ed.cc:478
+#: ardour_ui_ed.cc:525
msgid "File Format"
msgstr ""
-#: ardour_ui_options.cc:61
+#: ardour_ui_options.cc:63
msgid ""
"It is not possible to use JACK as the the sync source\n"
"when the pull up/down setting is non-zero."
@@ -1851,331 +1935,249 @@ msgstr ""
msgid "Internal"
msgstr ""
-#: ardour_ui_options.cc:468
+#: ardour_ui_options.cc:496
msgid "Enable/Disable external positional sync"
msgstr ""
-#: ardour_ui_options.cc:470
+#: ardour_ui_options.cc:498
msgid "Sync to JACK is not possible: video pull up/down is set"
msgstr ""
-#: audio_clock.cc:1012 audio_clock.cc:1031
+#: audio_clock.cc:1030 audio_clock.cc:1049
msgid "--pending--"
msgstr ""
-#: audio_clock.cc:1083
+#: audio_clock.cc:1101
msgid "SR"
msgstr ""
-#: audio_clock.cc:1089 audio_clock.cc:1093
+#: audio_clock.cc:1107 audio_clock.cc:1111
msgid "Pull"
msgstr ""
-#: audio_clock.cc:1091
+#: audio_clock.cc:1109
#, c-format
msgid "%+.4f%%"
msgstr ""
-#: audio_clock.cc:1237 editor.cc:239 editor_actions.cc:135
-#: editor_actions.cc:536
+#: audio_clock.cc:1265 editor.cc:256 editor_actions.cc:139
+#: editor_actions.cc:573
msgid "Tempo"
msgstr ""
-#: audio_clock.cc:1241 editor.cc:240 editor_actions.cc:537
+#: audio_clock.cc:1269 editor.cc:257 editor_actions.cc:574
msgid "Meter"
msgstr ""
-#: audio_clock.cc:1819 audio_streamview.cc:116 editor_actions.cc:1039
-#: midi_region_view.cc:2991 session_metadata_dialog.cc:331
+#: audio_clock.cc:1847 audio_streamview.cc:115 editor_actions.cc:1101
+#: midi_region_view.cc:2989 session_metadata_dialog.cc:331
#: session_metadata_dialog.cc:379 session_metadata_dialog.cc:435
-#: session_metadata_dialog.cc:716
+#: session_metadata_dialog.cc:716 streamview.cc:433
msgid "programming error: %1"
msgstr ""
-#: audio_clock.cc:1952 audio_clock.cc:1980
+#: audio_clock.cc:1980 audio_clock.cc:2008
msgid "programming error: %1 %2"
msgstr ""
-#: audio_clock.cc:2048 editor.cc:236 export_timespan_selector.cc:98
+#: audio_clock.cc:2076 editor.cc:253 export_timespan_selector.cc:98
msgid "Bars:Beats"
msgstr ""
-#: audio_clock.cc:2049 export_timespan_selector.cc:93
+#: audio_clock.cc:2077 export_timespan_selector.cc:93
msgid "Minutes:Seconds"
msgstr ""
-#: audio_clock.cc:2054
+#: audio_clock.cc:2082
msgid "Set From Playhead"
msgstr ""
-#: audio_clock.cc:2055
+#: audio_clock.cc:2083
msgid "Locate to This Time"
msgstr ""
-#: audio_region_editor.cc:63 control_point_dialog.cc:49 rhythm_ferret.cc:125
-#: rhythm_ferret.cc:130 rhythm_ferret.cc:135
+#: audio_region_editor.cc:64 control_point_dialog.cc:49 rhythm_ferret.cc:124
+#: rhythm_ferret.cc:129 rhythm_ferret.cc:134
msgid "dB"
msgstr ""
-#: audio_region_editor.cc:66
+#: audio_region_editor.cc:67
msgid "Region gain:"
msgstr ""
-#: audio_region_editor.cc:76 export_format_dialog.cc:43
+#: audio_region_editor.cc:77 export_format_dialog.cc:43
msgid "dBFS"
msgstr ""
-#: audio_region_editor.cc:79
+#: audio_region_editor.cc:80
msgid "Peak amplitude:"
msgstr ""
-#: audio_region_editor.cc:90
+#: audio_region_editor.cc:91
msgid "Calculating..."
msgstr ""
-#: audio_region_view.cc:1001
+#: audio_region_view.cc:1243
msgid "add gain control point"
msgstr ""
-#: audio_time_axis.cc:389
+#: audio_time_axis.cc:430 midi_time_axis.cc:612
msgid "Fader"
msgstr ""
-#: audio_time_axis.cc:396
+#: audio_time_axis.cc:437 editor_actions.cc:1826 mixer_strip.cc:1953
+#: monitor_section.cc:273 route_time_axis.cc:249
+msgid "Mute"
+msgstr ""
+
+#: audio_time_axis.cc:445 midi_time_axis.cc:620
msgid "Pan"
msgstr ""
-#: automation_line.cc:252 automation_line.cc:435
+#: automation_line.cc:270 automation_line.cc:451
msgid "automation event move"
msgstr ""
-#: automation_line.cc:462 automation_line.cc:483
+#: automation_line.cc:477 automation_line.cc:497
msgid "automation range move"
msgstr ""
-#: automation_line.cc:823 region_gain_line.cc:73
+#: automation_line.cc:852 region_gain_line.cc:72
msgid "remove control point"
msgstr ""
-#: automation_line.cc:941
+#: automation_line.cc:969
msgid "Ignoring illegal points on AutomationLine \"%1\""
msgstr ""
-#: automation_region_view.cc:160 automation_time_axis.cc:583
+#: automation_region_view.cc:162 automation_time_axis.cc:622
msgid "add automation event"
msgstr ""
-#: automation_time_axis.cc:146
+#: automation_time_axis.cc:142
msgid "automation state"
msgstr ""
-#: automation_time_axis.cc:147
+#: automation_time_axis.cc:143
msgid "hide track"
msgstr ""
-#: automation_time_axis.cc:255 automation_time_axis.cc:307
-#: automation_time_axis.cc:496 gain_meter.cc:194 generic_pluginui.cc:454
-#: generic_pluginui.cc:775 panner_ui.cc:149
+#: automation_time_axis.cc:292 automation_time_axis.cc:344
+#: automation_time_axis.cc:535 gain_meter.cc:187 generic_pluginui.cc:452
+#: generic_pluginui.cc:769 panner_ui.cc:150
msgid "Automation|Manual"
msgstr ""
-#: automation_time_axis.cc:257 automation_time_axis.cc:318
-#: automation_time_axis.cc:501 editor.cc:1937 editor.cc:2014
-#: editor_actions.cc:118 editor_actions.cc:1865 gain_meter.cc:197
-#: generic_pluginui.cc:457 generic_pluginui.cc:777 midi_time_axis.cc:1488
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1494 panner_ui.cc:152
+#: automation_time_axis.cc:294 automation_time_axis.cc:355
+#: automation_time_axis.cc:540 editor.cc:1885 editor.cc:1962
+#: editor_actions.cc:122 editor_actions.cc:1942 gain_meter.cc:190
+#: generic_pluginui.cc:455 generic_pluginui.cc:771 midi_time_axis.cc:1680
+#: midi_time_axis.cc:1683 midi_time_axis.cc:1686 panner_ui.cc:153
msgid "Play"
msgstr ""
-#: automation_time_axis.cc:259 automation_time_axis.cc:329
-#: automation_time_axis.cc:506 gain_meter.cc:200 generic_pluginui.cc:460
-#: generic_pluginui.cc:779 panner_ui.cc:155
+#: automation_time_axis.cc:296 automation_time_axis.cc:366
+#: automation_time_axis.cc:545 gain_meter.cc:193 generic_pluginui.cc:458
+#: generic_pluginui.cc:773 panner_ui.cc:156
msgid "Write"
msgstr ""
-#: automation_time_axis.cc:261 automation_time_axis.cc:340
-#: automation_time_axis.cc:511 gain_meter.cc:203 generic_pluginui.cc:463
-#: generic_pluginui.cc:781 panner_ui.cc:158
+#: automation_time_axis.cc:298 automation_time_axis.cc:377
+#: automation_time_axis.cc:550 gain_meter.cc:196 generic_pluginui.cc:461
+#: generic_pluginui.cc:775 panner_ui.cc:159
msgid "Touch"
msgstr ""
-#: automation_time_axis.cc:351 generic_pluginui.cc:466 meter_patterns.cc:108
+#: automation_time_axis.cc:388 generic_pluginui.cc:464 meter_patterns.cc:112
msgid "???"
msgstr ""
-#: automation_time_axis.cc:392
+#: automation_time_axis.cc:429
msgid "clear automation"
msgstr ""
-#: automation_time_axis.cc:485 editor_actions.cc:613 editor_markers.cc:857
-#: location_ui.cc:55 plugin_selector.cc:85 route_time_axis.cc:708
+#: automation_time_axis.cc:524 editor_actions.cc:657 editor_markers.cc:868
+#: location_ui.cc:56 plugin_selector.cc:86 route_time_axis.cc:817
msgid "Hide"
msgstr ""
-#: automation_time_axis.cc:487
+#: automation_time_axis.cc:526
msgid "Clear"
msgstr ""
-#: automation_time_axis.cc:516
+#: automation_time_axis.cc:555
msgid "State"
msgstr ""
-#: automation_time_axis.cc:531
+#: automation_time_axis.cc:570
msgid "Discrete"
msgstr ""
-#: automation_time_axis.cc:537 editor.cc:1458 editor.cc:1465 editor.cc:1521
-#: editor.cc:1527 export_format_dialog.cc:476
+#: automation_time_axis.cc:576 export_format_dialog.cc:485
msgid "Linear"
msgstr ""
-#: automation_time_axis.cc:543 rhythm_ferret.cc:110 route_time_axis.cc:647
+#: automation_time_axis.cc:582 rhythm_ferret.cc:109 route_time_axis.cc:755
#: shuttle_control.cc:188
msgid "Mode"
msgstr ""
-#: bundle_manager.cc:181
+#: bundle_manager.cc:182
msgid "Disassociate"
msgstr ""
-#: bundle_manager.cc:185
+#: bundle_manager.cc:186
msgid "Edit Bundle"
msgstr ""
-#: bundle_manager.cc:200
+#: bundle_manager.cc:201
msgid "Direction:"
msgstr ""
-#: bundle_manager.cc:205 bundle_manager.cc:209 mixer_strip.cc:158
-#: mixer_strip.cc:2127
+#: bundle_manager.cc:206 bundle_manager.cc:210 engine_dialog.cc:641
+#: mixer_strip.cc:164 mixer_strip.cc:364 mixer_strip.cc:2187
+#: rc_option_editor.cc:2192
msgid "Input"
msgstr ""
-#: bundle_manager.cc:206 bundle_manager.cc:211 bundle_manager.cc:245
-#: mixer_strip.cc:163 mixer_strip.cc:2130
+#: bundle_manager.cc:207 bundle_manager.cc:212 bundle_manager.cc:246
+#: engine_dialog.cc:643 mixer_strip.cc:168 mixer_strip.cc:368
+#: mixer_strip.cc:2190 rc_option_editor.cc:2196
msgid "Output"
msgstr ""
-#: bundle_manager.cc:264 editor.cc:1978 editor_actions.cc:90
-#: editor_actions.cc:100
+#: bundle_manager.cc:265 editor.cc:1926 editor_actions.cc:94
+#: editor_actions.cc:104 rc_option_editor.cc:1061 rc_option_editor.cc:1068
msgid "Edit"
msgstr ""
-#: bundle_manager.cc:265 editor.cc:5497 editor_actions.cc:310
-#: editor_actions.cc:368 plugin_ui.cc:416 processor_box.cc:2268
-#: route_time_axis.cc:713
+#: bundle_manager.cc:266 editor.cc:5633 editor_actions.cc:337
+#: editor_actions.cc:338 editor_actions.cc:404 plugin_ui.cc:417
+#: processor_box.cc:2501 route_time_axis.cc:822
msgid "Delete"
msgstr ""
-#: bundle_manager.cc:271 bundle_manager.cc:439 editor_route_groups.cc:96
-#: editor_routes.cc:202 midi_list_editor.cc:106 session_metadata_dialog.cc:525
+#: bundle_manager.cc:272 bundle_manager.cc:440 editor_route_groups.cc:97
+#: editor_routes.cc:206 midi_list_editor.cc:106 session_metadata_dialog.cc:525
msgid "Name"
msgstr ""
-#: bundle_manager.cc:282
+#: bundle_manager.cc:283
msgid "New"
msgstr ""
-#: bundle_manager.cc:332
+#: bundle_manager.cc:333
msgid "Bundle"
msgstr ""
-#: bundle_manager.cc:417
+#: bundle_manager.cc:418
msgid "Add Channel"
msgstr ""
-#: bundle_manager.cc:424
+#: bundle_manager.cc:425
msgid "Rename Channel"
msgstr ""
-#: canvas-simpleline.c:111 canvas-simplerect.c:106
-msgid "x1"
-msgstr ""
-
-#: canvas-simpleline.c:112 canvas-simplerect.c:107
-msgid "x coordinate of upper left corner of rect"
-msgstr ""
-
-#: canvas-simpleline.c:121 canvas-simplerect.c:116
-msgid "y1"
-msgstr ""
-
-#: canvas-simpleline.c:122 canvas-simplerect.c:117
-msgid "y coordinate of upper left corner of rect "
-msgstr ""
-
-#: canvas-simpleline.c:132 canvas-simplerect.c:127
-msgid "x2"
-msgstr ""
-
-#: canvas-simpleline.c:133 canvas-simplerect.c:128
-msgid "x coordinate of lower right corner of rect"
-msgstr ""
-
-#: canvas-simpleline.c:142 canvas-simplerect.c:137
-msgid "y2"
-msgstr ""
-
-#: canvas-simpleline.c:143 canvas-simplerect.c:138
-msgid "y coordinate of lower right corner of rect "
-msgstr ""
-
-#: canvas-simpleline.c:151
-msgid "color rgba"
-msgstr "colour rgba"
-
-#: canvas-simpleline.c:152
-msgid "color of line"
-msgstr "colour of line"
-
-#: canvas-simplerect.c:148
-msgid "outline pixels"
-msgstr ""
-
-#: canvas-simplerect.c:149
-msgid "width in pixels of outline"
-msgstr ""
-
-#: canvas-simplerect.c:159
-msgid "outline what"
-msgstr ""
-
-#: canvas-simplerect.c:160
-msgid "which boundaries to outline (mask)"
-msgstr ""
-
-#: canvas-simplerect.c:171
-msgid "fill"
-msgstr ""
-
-#: canvas-simplerect.c:172
-msgid "fill rectangle"
-msgstr ""
-
-#: canvas-simplerect.c:179
-msgid "draw"
-msgstr ""
-
-#: canvas-simplerect.c:180
-msgid "draw rectangle"
-msgstr ""
-
-#: canvas-simplerect.c:188
-msgid "outline color rgba"
-msgstr "outline colour rgba"
-
-#: canvas-simplerect.c:189
-msgid "color of outline"
-msgstr "colour of outline"
-
-#: canvas-simplerect.c:199
-msgid "fill color rgba"
-msgstr "fill colour rgba"
-
-#: canvas-simplerect.c:200
-msgid "color of fill"
-msgstr "colour of fill"
-
#: configinfo.cc:28
msgid "Build Configuration"
msgstr ""
@@ -2213,7 +2215,7 @@ msgid "Set selected notes to this length"
msgstr ""
#: edit_note_dialog.cc:58 midi_list_editor.cc:104 patch_change_dialog.cc:91
-#: step_entry.cc:393
+#: step_entry.cc:394
msgid "Channel"
msgstr ""
@@ -2221,7 +2223,7 @@ msgstr ""
msgid "Pitch"
msgstr ""
-#: edit_note_dialog.cc:78 step_entry.cc:407
+#: edit_note_dialog.cc:78 step_entry.cc:408
msgid "Velocity"
msgstr ""
@@ -2229,9 +2231,9 @@ msgstr ""
msgid "Time"
msgstr ""
-#: edit_note_dialog.cc:98 editor_regions.cc:114
-#: export_timespan_selector.cc:359 export_timespan_selector.cc:421
-#: location_ui.cc:317 midi_list_editor.cc:114 time_info_box.cc:105
+#: edit_note_dialog.cc:98 editor_regions.cc:115
+#: export_timespan_selector.cc:378 export_timespan_selector.cc:440
+#: location_ui.cc:319 midi_list_editor.cc:114 time_info_box.cc:108
msgid "Length"
msgstr ""
@@ -2239,2292 +2241,2411 @@ msgstr ""
msgid "edit note"
msgstr ""
-#: editor.cc:137 editor.cc:3433
+#: editor.cc:144
msgid "CD Frames"
msgstr ""
-#: editor.cc:138 editor.cc:3435
-msgid "Timecode Frames"
+#: editor.cc:145
+msgid "TC Frames"
msgstr ""
-#: editor.cc:139 editor.cc:3437
-msgid "Timecode Seconds"
+#: editor.cc:146
+msgid "TC Seconds"
msgstr ""
-#: editor.cc:140 editor.cc:3439
-msgid "Timecode Minutes"
+#: editor.cc:147
+msgid "TC Minutes"
msgstr ""
-#: editor.cc:141 editor.cc:3441
+#: editor.cc:148
msgid "Seconds"
msgstr ""
-#: editor.cc:142 editor.cc:3443
+#: editor.cc:149
msgid "Minutes"
msgstr ""
-#: editor.cc:143 editor.cc:3417 quantize_dialog.cc:37 quantize_dialog.cc:141
+#: editor.cc:150 quantize_dialog.cc:37 quantize_dialog.cc:141
msgid "Beats/128"
msgstr ""
-#: editor.cc:144 editor.cc:3415 quantize_dialog.cc:38 quantize_dialog.cc:143
+#: editor.cc:151 quantize_dialog.cc:38 quantize_dialog.cc:143
msgid "Beats/64"
msgstr ""
-#: editor.cc:145 editor.cc:3413 quantize_dialog.cc:39 quantize_dialog.cc:145
+#: editor.cc:152 quantize_dialog.cc:39 quantize_dialog.cc:145
msgid "Beats/32"
msgstr ""
-#: editor.cc:146 editor.cc:3411
+#: editor.cc:153
msgid "Beats/28"
msgstr ""
-#: editor.cc:147 editor.cc:3409
+#: editor.cc:154
msgid "Beats/24"
msgstr ""
-#: editor.cc:148 editor.cc:3407
+#: editor.cc:155
msgid "Beats/20"
msgstr ""
-#: editor.cc:149 editor.cc:3405 quantize_dialog.cc:40 quantize_dialog.cc:147
+#: editor.cc:156 quantize_dialog.cc:40 quantize_dialog.cc:147
msgid "Beats/16"
msgstr ""
-#: editor.cc:150 editor.cc:3403
+#: editor.cc:157
msgid "Beats/14"
msgstr ""
-#: editor.cc:151 editor.cc:3401
+#: editor.cc:158
msgid "Beats/12"
msgstr ""
-#: editor.cc:152 editor.cc:3399
+#: editor.cc:159
msgid "Beats/10"
msgstr ""
-#: editor.cc:153 editor.cc:3397 quantize_dialog.cc:41 quantize_dialog.cc:149
+#: editor.cc:160 quantize_dialog.cc:41 quantize_dialog.cc:149
msgid "Beats/8"
msgstr ""
-#: editor.cc:154 editor.cc:3395
+#: editor.cc:161
msgid "Beats/7"
msgstr ""
-#: editor.cc:155 editor.cc:3393
+#: editor.cc:162
msgid "Beats/6"
msgstr ""
-#: editor.cc:156 editor.cc:3391
+#: editor.cc:163
msgid "Beats/5"
msgstr ""
-#: editor.cc:157 editor.cc:3389 quantize_dialog.cc:42 quantize_dialog.cc:151
+#: editor.cc:164 quantize_dialog.cc:42 quantize_dialog.cc:151
msgid "Beats/4"
msgstr ""
-#: editor.cc:158 editor.cc:3387 quantize_dialog.cc:43 quantize_dialog.cc:153
+#: editor.cc:165 quantize_dialog.cc:43 quantize_dialog.cc:153
msgid "Beats/3"
msgstr ""
-#: editor.cc:159 editor.cc:3385 quantize_dialog.cc:44 quantize_dialog.cc:155
+#: editor.cc:166 quantize_dialog.cc:44 quantize_dialog.cc:155
msgid "Beats/2"
msgstr ""
-#: editor.cc:160 editor.cc:3419 quantize_dialog.cc:45 quantize_dialog.cc:157
+#: editor.cc:167 quantize_dialog.cc:45 quantize_dialog.cc:157
msgid "Beats"
msgstr ""
-#: editor.cc:161 editor.cc:3421
+#: editor.cc:168
msgid "Bars"
msgstr ""
-#: editor.cc:162 editor.cc:3423
+#: editor.cc:169
msgid "Marks"
msgstr ""
-#: editor.cc:163 editor.cc:3425
+#: editor.cc:170
msgid "Region starts"
msgstr ""
-#: editor.cc:164 editor.cc:3427
+#: editor.cc:171
msgid "Region ends"
msgstr ""
-#: editor.cc:165 editor.cc:3431
+#: editor.cc:172
msgid "Region syncs"
msgstr ""
-#: editor.cc:166 editor.cc:3429
+#: editor.cc:173
msgid "Region bounds"
msgstr ""
-#: editor.cc:171 editor.cc:3459 editor_actions.cc:485
+#: editor.cc:178 editor_actions.cc:522
msgid "No Grid"
msgstr ""
-#: editor.cc:172 editor.cc:3461 editor_actions.cc:486
+#: editor.cc:179 editor_actions.cc:523
msgid "Grid"
msgstr ""
-#: editor.cc:173 editor.cc:3463 editor_actions.cc:487
+#: editor.cc:180 editor_actions.cc:524
msgid "Magnetic"
msgstr ""
-#: editor.cc:178 editor.cc:188 editor.cc:3502 editor.cc:3527
-#: editor_actions.cc:117 editor_actions.cc:468
+#: editor.cc:185 editor.cc:203 editor_actions.cc:121 editor_actions.cc:505
msgid "Playhead"
msgstr ""
-#: editor.cc:179 editor.cc:3500 editor_actions.cc:470
+#: editor.cc:186 editor_actions.cc:507
msgid "Marker"
msgstr ""
-#: editor.cc:180 editor.cc:189 editor.cc:3529 editor_actions.cc:469
+#: editor.cc:187 editor.cc:204 editor_actions.cc:506
msgid "Mouse"
msgstr ""
-#: editor.cc:185 editor.cc:3521 mono_panner_editor.cc:42
+#: editor.cc:192 editor_actions.cc:514
+msgid "Slide"
+msgstr ""
+
+#: editor.cc:193
+msgid "Splice"
+msgstr ""
+
+#: editor.cc:194 editor_actions.cc:513
+msgid "Ripple"
+msgstr ""
+
+#: editor.cc:195 editor_actions.cc:157 editor_actions.cc:515
+#: editor_actions.cc:1811 editor_markers.cc:871 editor_rulers.cc:260
+#: location_ui.cc:57 mixer_strip.cc:197 mixer_strip.cc:1975
+msgid "Lock"
+msgstr ""
+
+#: editor.cc:200 mono_panner_editor.cc:42
msgid "Left"
msgstr ""
-#: editor.cc:186 editor.cc:3523 mono_panner_editor.cc:47
+#: editor.cc:201 mono_panner_editor.cc:47
msgid "Right"
msgstr ""
-#: editor.cc:187 editor.cc:3525
+#: editor.cc:202
msgid "Center"
-msgstr ""
+msgstr "Centre"
-#: editor.cc:190 editor.cc:3094 editor.cc:3531
+#: editor.cc:205 editor.cc:3185
msgid "Edit point"
msgstr ""
-#: editor.cc:196
+#: editor.cc:211
msgid "Mushy"
msgstr ""
-#: editor.cc:197
+#: editor.cc:212
msgid "Smooth"
msgstr ""
-#: editor.cc:198
+#: editor.cc:213
msgid "Balanced multitimbral mixture"
msgstr ""
-#: editor.cc:199
+#: editor.cc:214
msgid "Unpitched percussion with stable notes"
msgstr ""
-#: editor.cc:200
+#: editor.cc:215
msgid "Crisp monophonic instrumental"
msgstr ""
-#: editor.cc:201
+#: editor.cc:216
msgid "Unpitched solo percussion"
msgstr ""
-#: editor.cc:202
+#: editor.cc:217
msgid "Resample without preserving pitch"
msgstr ""
-#: editor.cc:235
+#: editor.cc:252
msgid "Mins:Secs"
msgstr ""
-#: editor.cc:241
+#: editor.cc:258
msgid "Location Markers"
msgstr ""
-#: editor.cc:242
+#: editor.cc:259
msgid "Range Markers"
msgstr ""
-#: editor.cc:243
+#: editor.cc:260
msgid "Loop/Punch Ranges"
msgstr ""
-#: editor.cc:244 editor_actions.cc:540
+#: editor.cc:261 editor_actions.cc:577
msgid "CD Markers"
msgstr ""
-#: editor.cc:245
+#: editor.cc:262
msgid "Video Timeline"
msgstr ""
-#: editor.cc:260
+#: editor.cc:279
msgid "mode"
msgstr ""
-#: editor.cc:541
+#: editor.cc:447 editor_actions.cc:114 editor_actions.cc:576
+msgid "Markers"
+msgstr ""
+
+#: editor.cc:562 rc_option_editor.cc:1824
msgid "Regions"
msgstr ""
-#: editor.cc:542
+#: editor.cc:563
msgid "Tracks & Busses"
msgstr ""
-#: editor.cc:543
+#: editor.cc:564
msgid "Snapshots"
msgstr ""
-#: editor.cc:544
+#: editor.cc:565
msgid "Track & Bus Groups"
msgstr ""
-#: editor.cc:545
+#: editor.cc:566
msgid "Ranges & Marks"
msgstr ""
-#: editor.cc:690 editor.cc:5349 rc_option_editor.cc:1292
-#: rc_option_editor.cc:1300 rc_option_editor.cc:1308 rc_option_editor.cc:1316
-#: rc_option_editor.cc:1333 rc_option_editor.cc:1335 rc_option_editor.cc:1343
-#: rc_option_editor.cc:1351 rc_option_editor.cc:1371 rc_option_editor.cc:1383
-#: rc_option_editor.cc:1385 rc_option_editor.cc:1393 rc_option_editor.cc:1401
-#: rc_option_editor.cc:1409 rc_option_editor.cc:1417 rc_option_editor.cc:1432
-#: rc_option_editor.cc:1436
+#: editor.cc:714 editor.cc:5485 rc_option_editor.cc:1537
+#: rc_option_editor.cc:1545 rc_option_editor.cc:1553 rc_option_editor.cc:1561
+#: rc_option_editor.cc:1585 rc_option_editor.cc:1597 rc_option_editor.cc:1599
+#: rc_option_editor.cc:1607 rc_option_editor.cc:1615 rc_option_editor.cc:1635
+#: rc_option_editor.cc:1647 rc_option_editor.cc:1649 rc_option_editor.cc:1651
+#: rc_option_editor.cc:1659 rc_option_editor.cc:1667 rc_option_editor.cc:1675
+#: rc_option_editor.cc:1690 rc_option_editor.cc:1694
msgid "Editor"
msgstr ""
-#: editor.cc:1215 editor.cc:1225 editor.cc:4444 editor_actions.cc:130
-#: editor_actions.cc:1813
+#: editor.cc:1317 editor.cc:4543 editor_actions.cc:134 editor_actions.cc:1887
msgid "Loop"
msgstr ""
-#: editor.cc:1231 editor.cc:1241 editor.cc:4471 editor_actions.cc:131
-#: time_info_box.cc:67
+#: editor.cc:1323 editor.cc:4570 editor_actions.cc:135 time_info_box.cc:68
msgid "Punch"
msgstr ""
-#: editor.cc:1353
+#: editor.cc:1435 rc_option_editor.cc:1579
msgid "Linear (for highly correlated material)"
msgstr ""
-#: editor.cc:1363 editor.cc:1500 editor.cc:1562
+#: editor.cc:1445 rc_option_editor.cc:1580
msgid "Constant power"
msgstr ""
-#: editor.cc:1372 editor.cc:1493 editor.cc:1555
+#: editor.cc:1454 rc_option_editor.cc:1581
msgid "Symmetric"
msgstr ""
-#: editor.cc:1382 editor.cc:1475 editor.cc:1537
+#: editor.cc:1464 rc_option_editor.cc:1582
msgid "Slow"
msgstr ""
-#: editor.cc:1391 editor.cc:1484 editor.cc:1546 sfdb_ui.cc:1627
-#: sfdb_ui.cc:1736
+#: editor.cc:1473 rc_option_editor.cc:1583 sfdb_ui.cc:1752 sfdb_ui.cc:1862
msgid "Fast"
msgstr ""
-#: editor.cc:1438
-msgid "programming error: fade in canvas item has no regionview data pointer!"
-msgstr ""
-
-#: editor.cc:1449 editor.cc:1513
+#: editor.cc:1493 editor.cc:1516
msgid "Deactivate"
msgstr ""
-#: editor.cc:1451 editor.cc:1515
+#: editor.cc:1495 editor.cc:1518
msgid "Activate"
msgstr ""
-#: editor.cc:1459 editor.cc:1522
-msgid "Slowest"
-msgstr ""
-
-#: editor.cc:1573 route_time_axis.cc:1877 selection.cc:1009 selection.cc:1064
-msgid "programming error: "
-msgstr ""
-
-#: editor.cc:1674 editor.cc:1682 editor_ops.cc:3522
+#: editor.cc:1619 editor.cc:1627 editor_ops.cc:3639
msgid "Freeze"
msgstr ""
-#: editor.cc:1678
+#: editor.cc:1623
msgid "Unfreeze"
msgstr ""
-#: editor.cc:1817
+#: editor.cc:1762
msgid "Selected Regions"
msgstr ""
-#: editor.cc:1853 editor_markers.cc:895
+#: editor.cc:1798 editor_markers.cc:906
msgid "Play Range"
msgstr ""
-#: editor.cc:1854 editor_markers.cc:898
+#: editor.cc:1799 editor_markers.cc:909
msgid "Loop Range"
msgstr ""
-#: editor.cc:1863 editor_actions.cc:332
+#: editor.cc:1802 editor_actions.cc:266 editor_markers.cc:916
+msgid "Zoom to Range"
+msgstr ""
+
+#: editor.cc:1811 editor_actions.cc:368
msgid "Move Range Start to Previous Region Boundary"
msgstr ""
-#: editor.cc:1870 editor_actions.cc:339
+#: editor.cc:1818 editor_actions.cc:375
msgid "Move Range Start to Next Region Boundary"
msgstr ""
-#: editor.cc:1877 editor_actions.cc:346
+#: editor.cc:1825 editor_actions.cc:382
msgid "Move Range End to Previous Region Boundary"
msgstr ""
-#: editor.cc:1884 editor_actions.cc:353
+#: editor.cc:1832 editor_actions.cc:389
msgid "Move Range End to Next Region Boundary"
msgstr ""
-#: editor.cc:1890
+#: editor.cc:1838
msgid "Convert to Region In-Place"
msgstr ""
-#: editor.cc:1891
+#: editor.cc:1839
msgid "Convert to Region in Region List"
msgstr ""
-#: editor.cc:1894 editor_markers.cc:925
+#: editor.cc:1842 editor_markers.cc:936
msgid "Select All in Range"
msgstr ""
-#: editor.cc:1897
+#: editor.cc:1845
msgid "Set Loop from Range"
msgstr ""
-#: editor.cc:1898
+#: editor.cc:1846
msgid "Set Punch from Range"
msgstr ""
-#: editor.cc:1901
+#: editor.cc:1849
msgid "Add Range Markers"
msgstr ""
-#: editor.cc:1904
+#: editor.cc:1852
msgid "Crop Region to Range"
msgstr ""
-#: editor.cc:1905
+#: editor.cc:1853
msgid "Fill Range with Region"
msgstr ""
-#: editor.cc:1906 editor_actions.cc:289
+#: editor.cc:1854 editor_actions.cc:313
msgid "Duplicate Range"
msgstr ""
-#: editor.cc:1909
+#: editor.cc:1857
msgid "Consolidate Range"
msgstr ""
-#: editor.cc:1910
+#: editor.cc:1858
msgid "Consolidate Range With Processing"
msgstr ""
-#: editor.cc:1911
+#: editor.cc:1859
msgid "Bounce Range to Region List"
msgstr ""
-#: editor.cc:1912
+#: editor.cc:1860
msgid "Bounce Range to Region List With Processing"
msgstr ""
-#: editor.cc:1913 editor_markers.cc:908
+#: editor.cc:1861 editor_markers.cc:919
msgid "Export Range..."
msgstr ""
-#: editor.cc:1915
+#: editor.cc:1863
msgid "Export Video Range..."
msgstr ""
-#: editor.cc:1931 editor.cc:2012 editor_actions.cc:281
+#: editor.cc:1879 editor.cc:1960 editor_actions.cc:305
msgid "Play From Edit Point"
msgstr ""
-#: editor.cc:1932 editor.cc:2013
+#: editor.cc:1880 editor.cc:1961
msgid "Play From Start"
msgstr ""
-#: editor.cc:1933
+#: editor.cc:1881
msgid "Play Region"
msgstr ""
-#: editor.cc:1935
+#: editor.cc:1883
msgid "Loop Region"
msgstr ""
-#: editor.cc:1945 editor.cc:2022
+#: editor.cc:1893 editor.cc:1970
msgid "Select All in Track"
msgstr ""
-#: editor.cc:1946 editor.cc:2023 editor_actions.cc:185
-#: export_timespan_selector.cc:53 processor_box.cc:2276
-msgid "Select All"
+#: editor.cc:1894 editor.cc:1971 editor_actions.cc:194
+msgid "Select All Objects"
msgstr ""
-#: editor.cc:1947 editor.cc:2024
+#: editor.cc:1895 editor.cc:1972
msgid "Invert Selection in Track"
msgstr ""
-#: editor.cc:1948 editor.cc:2025 editor_actions.cc:187
+#: editor.cc:1896 editor.cc:1973 editor_actions.cc:197
msgid "Invert Selection"
msgstr ""
-#: editor.cc:1950
+#: editor.cc:1898
msgid "Set Range to Loop Range"
msgstr ""
-#: editor.cc:1951
+#: editor.cc:1899
msgid "Set Range to Punch Range"
msgstr ""
-#: editor.cc:1953 editor.cc:2027 editor_actions.cc:188
+#: editor.cc:1901 editor.cc:1975 editor_actions.cc:199 editor_actions.cc:200
msgid "Select All After Edit Point"
msgstr ""
-#: editor.cc:1954 editor.cc:2028 editor_actions.cc:189
+#: editor.cc:1902 editor.cc:1976 editor_actions.cc:201 editor_actions.cc:202
msgid "Select All Before Edit Point"
msgstr ""
-#: editor.cc:1955 editor.cc:2029
+#: editor.cc:1903 editor.cc:1977
msgid "Select All After Playhead"
msgstr ""
-#: editor.cc:1956 editor.cc:2030
+#: editor.cc:1904 editor.cc:1978
msgid "Select All Before Playhead"
msgstr ""
-#: editor.cc:1957
+#: editor.cc:1905
msgid "Select All Between Playhead and Edit Point"
msgstr ""
-#: editor.cc:1958
+#: editor.cc:1906
msgid "Select All Within Playhead and Edit Point"
msgstr ""
-#: editor.cc:1959
+#: editor.cc:1907
msgid "Select Range Between Playhead and Edit Point"
msgstr ""
-#: editor.cc:1961 editor.cc:2032 editor_actions.cc:127 editor_actions.cc:128
+#: editor.cc:1909 editor.cc:1980 editor_actions.cc:131 editor_actions.cc:132
msgid "Select"
msgstr ""
-#: editor.cc:1969 editor.cc:2040 editor_actions.cc:309 processor_box.cc:2261
+#: editor.cc:1917 editor.cc:1988 editor_actions.cc:336 processor_box.cc:2494
msgid "Cut"
msgstr ""
-#: editor.cc:1970 editor.cc:2041 editor_actions.cc:312 processor_box.cc:2264
+#: editor.cc:1918 editor.cc:1989 editor_actions.cc:340 processor_box.cc:2497
msgid "Copy"
msgstr ""
-#: editor.cc:1971 editor.cc:2042 editor_actions.cc:313 processor_box.cc:2272
+#: editor.cc:1919 editor.cc:1990 editor_actions.cc:341 processor_box.cc:2505
msgid "Paste"
msgstr ""
-#: editor.cc:1975 editor_actions.cc:87
+#: editor.cc:1923 editor_actions.cc:91
msgid "Align"
msgstr ""
-#: editor.cc:1976
+#: editor.cc:1924
msgid "Align Relative"
msgstr ""
-#: editor.cc:1983
+#: editor.cc:1931
msgid "Insert Selected Region"
msgstr ""
-#: editor.cc:1984
+#: editor.cc:1932
msgid "Insert Existing Media"
msgstr ""
-#: editor.cc:1993 editor.cc:2049
+#: editor.cc:1941 editor.cc:1997
msgid "Nudge Entire Track Later"
msgstr ""
-#: editor.cc:1994 editor.cc:2050
+#: editor.cc:1942 editor.cc:1998
msgid "Nudge Track After Edit Point Later"
msgstr ""
-#: editor.cc:1995 editor.cc:2051
+#: editor.cc:1943 editor.cc:1999
msgid "Nudge Entire Track Earlier"
msgstr ""
-#: editor.cc:1996 editor.cc:2052
+#: editor.cc:1944 editor.cc:2000
msgid "Nudge Track After Edit Point Earlier"
msgstr ""
-#: editor.cc:1998 editor.cc:2054
+#: editor.cc:1946 editor.cc:2002
msgid "Nudge"
msgstr ""
-#: editor.cc:3074
+#: editor.cc:2958 editor.cc:3531 editor.cc:3601 midi_channel_selector.cc:159
+#: midi_channel_selector.cc:397 midi_channel_selector.cc:433
+msgid "All"
+msgstr ""
+
+#: editor.cc:3162
msgid "Smart Mode (add Range functions to Object mode)"
msgstr ""
-#: editor.cc:3075
+#: editor.cc:3163
msgid "Object Mode (select/move Objects)"
msgstr ""
-#: editor.cc:3076
+#: editor.cc:3164
+msgid "Cut Mode (split Regions)"
+msgstr ""
+
+#: editor.cc:3165
msgid "Range Mode (select/move Ranges)"
msgstr ""
-#: editor.cc:3077
+#: editor.cc:3166
msgid "Draw/Edit MIDI Notes"
msgstr ""
-#: editor.cc:3078
+#: editor.cc:3167
msgid "Draw Region Gain"
msgstr ""
-#: editor.cc:3079
+#: editor.cc:3168
msgid "Select Zoom Range"
msgstr ""
-#: editor.cc:3080
+#: editor.cc:3169
msgid "Stretch/Shrink Regions and MIDI Notes"
msgstr ""
-#: editor.cc:3081
+#: editor.cc:3170
msgid "Listen to Specific Regions"
msgstr ""
-#: editor.cc:3082
+#: editor.cc:3171
msgid "Note Level Editing"
msgstr ""
-#: editor.cc:3083
+#: editor.cc:3172
msgid ""
"Groups: click to (de)activate\n"
"Context-click for other operations"
msgstr ""
-#: editor.cc:3084
+#: editor.cc:3173
msgid "Nudge Region/Selection Later"
msgstr ""
-#: editor.cc:3085
+#: editor.cc:3174
msgid "Nudge Region/Selection Earlier"
msgstr ""
-#: editor.cc:3086 editor_actions.cc:242
+#: editor.cc:3175 editor_actions.cc:262
msgid "Zoom In"
msgstr ""
-#: editor.cc:3087 editor_actions.cc:241
+#: editor.cc:3176 editor_actions.cc:261
msgid "Zoom Out"
msgstr ""
-#: editor.cc:3088 editor_actions.cc:243
+#: editor.cc:3177
+msgid "Zoom to Time Scale"
+msgstr ""
+
+#: editor.cc:3178 editor.cc:3553 editor_actions.cc:263
msgid "Zoom to Session"
msgstr ""
-#: editor.cc:3089
+#: editor.cc:3179
msgid "Zoom focus"
msgstr ""
-#: editor.cc:3090
+#: editor.cc:3180
msgid "Expand Tracks"
msgstr ""
-#: editor.cc:3091
+#: editor.cc:3181
msgid "Shrink Tracks"
msgstr ""
-#: editor.cc:3092
+#: editor.cc:3182
+msgid "Number of visible tracks"
+msgstr ""
+
+#: editor.cc:3183
msgid "Snap/Grid Units"
msgstr ""
-#: editor.cc:3093
+#: editor.cc:3184
msgid "Snap/Grid Mode"
msgstr ""
-#: editor.cc:3095
+#: editor.cc:3186
msgid "Edit Mode"
msgstr ""
-#: editor.cc:3096
+#: editor.cc:3187
msgid ""
"Nudge Clock\n"
"(controls distance used to nudge regions and selections)"
msgstr ""
-#: editor.cc:3198
-msgid "malformed URL passed to drag-n-drop code"
-msgstr ""
-
-#: editor.cc:3260 editor_actions.cc:291
+#: editor.cc:3325 editor_actions.cc:315
msgid "Command|Undo"
msgstr ""
-#: editor.cc:3262
+#: editor.cc:3327
msgid "Command|Undo (%1)"
msgstr ""
-#: editor.cc:3269 editor_actions.cc:292
+#: editor.cc:3334 editor_actions.cc:317 editor_actions.cc:318
+#: editor_actions.cc:319
msgid "Redo"
msgstr ""
-#: editor.cc:3271
+#: editor.cc:3336
msgid "Redo (%1)"
msgstr ""
-#: editor.cc:3290 editor.cc:3314 editor_actions.cc:106 editor_actions.cc:1794
+#: editor.cc:3355 editor.cc:3379 editor_actions.cc:110 editor_actions.cc:1868
msgid "Duplicate"
msgstr ""
-#: editor.cc:3291
+#: editor.cc:3356
msgid "Number of duplications:"
msgstr ""
-#: editor.cc:3868
+#: editor.cc:3530
+msgid "Selected"
+msgstr ""
+
+#: editor.cc:3533
+msgid "Fit 1 track"
+msgstr ""
+
+#: editor.cc:3534
+msgid "Fit 2 tracks"
+msgstr ""
+
+#: editor.cc:3535
+msgid "Fit 4 tracks"
+msgstr ""
+
+#: editor.cc:3536
+msgid "Fit 8 tracks"
+msgstr ""
+
+#: editor.cc:3537
+msgid "Fit 16 tracks"
+msgstr ""
+
+#: editor.cc:3538
+msgid "Fit 24 tracks"
+msgstr ""
+
+#: editor.cc:3539
+msgid "Fit 32 tracks"
+msgstr ""
+
+#: editor.cc:3540
+msgid "Fit 48 tracks"
+msgstr ""
+
+#: editor.cc:3541
+msgid "Fit All tracks"
+msgstr ""
+
+#: editor.cc:3542
+msgid "Fit Selected tracks"
+msgstr ""
+
+#: editor.cc:3544
+msgid "Zoom to 10 ms"
+msgstr ""
+
+#: editor.cc:3545
+msgid "Zoom to 100 ms"
+msgstr ""
+
+#: editor.cc:3546
+msgid "Zoom to 1 sec"
+msgstr ""
+
+#: editor.cc:3547
+msgid "Zoom to 10 sec"
+msgstr ""
+
+#: editor.cc:3548
+msgid "Zoom to 1 min"
+msgstr ""
+
+#: editor.cc:3549
+msgid "Zoom to 10 min"
+msgstr ""
+
+#: editor.cc:3550
+msgid "Zoom to 1 hour"
+msgstr ""
+
+#: editor.cc:3551
+msgid "Zoom to 8 hours"
+msgstr ""
+
+#: editor.cc:3552
+msgid "Zoom to 24 hours"
+msgstr ""
+
+#: editor.cc:3554
+msgid "Zoom to Range/Region Selection"
+msgstr ""
+
+#: editor.cc:3623
+msgid "*"
+msgstr ""
+
+#: editor.cc:3958
msgid "Playlist Deletion"
msgstr ""
-#: editor.cc:3869
+#: editor.cc:3959
msgid ""
"Playlist %1 is currently unused.\n"
"If it is kept, its audio files will not be cleaned.\n"
"If it is deleted, audio files used by it alone will be cleaned."
msgstr ""
-#: editor.cc:3879
+#: editor.cc:3969
msgid "Delete Playlist"
msgstr ""
-#: editor.cc:3880
+#: editor.cc:3970
msgid "Keep Playlist"
msgstr ""
-#: editor.cc:3881 editor_audio_import.cc:581 editor_ops.cc:5856
-#: engine_dialog.cc:1711 sfdb_freesound_mootcher.cc:69 processor_box.cc:2030
-#: processor_box.cc:2055
+#: editor.cc:3971 editor_audio_import.cc:579 editor_ops.cc:5935
+#: engine_dialog.cc:2007 sfdb_freesound_mootcher.cc:69 processor_box.cc:2262
+#: processor_box.cc:2287
msgid "Cancel"
msgstr ""
-#: editor.cc:4025
+#: editor.cc:4105
msgid "new playlists"
msgstr ""
-#: editor.cc:4041
+#: editor.cc:4121
msgid "copy playlists"
msgstr ""
-#: editor.cc:4056
+#: editor.cc:4136
msgid "clear playlists"
msgstr ""
-#: editor.cc:4691
+#: editor.cc:4811
msgid "Please wait while %1 loads visual data."
msgstr ""
-#: editor.cc:5496 editor_markers.cc:940 panner_ui.cc:392 processor_box.cc:2292
+#: editor.cc:5632 editor_markers.cc:951 panner_ui.cc:409 processor_box.cc:2525
msgid "Edit..."
msgstr ""
-#: editor_actions.cc:88
+#: editor_actions.cc:92
msgid "Autoconnect"
msgstr ""
-#: editor_actions.cc:89
+#: editor_actions.cc:93
msgid "Crossfades"
msgstr ""
-#: editor_actions.cc:91
+#: editor_actions.cc:95
msgid "Move Selected Marker"
msgstr ""
-#: editor_actions.cc:92
+#: editor_actions.cc:96
msgid "Select Range Operations"
msgstr ""
-#: editor_actions.cc:93
+#: editor_actions.cc:97
msgid "Select Regions"
msgstr ""
-#: editor_actions.cc:94
+#: editor_actions.cc:98
msgid "Edit Point"
msgstr ""
-#: editor_actions.cc:95
+#: editor_actions.cc:99
msgid "Fade"
msgstr ""
-#: editor_actions.cc:96
+#: editor_actions.cc:100
msgid "Latch"
msgstr ""
-#: editor_actions.cc:97 editor_regions.cc:111 region_editor.cc:46
+#: editor_actions.cc:101 editor_regions.cc:112 region_editor.cc:45
msgid "Region"
msgstr ""
-#: editor_actions.cc:98
+#: editor_actions.cc:102
msgid "Layering"
msgstr ""
-#: editor_actions.cc:99 editor_regions.cc:112 gtk-custom-ruler.c:152
-#: stereo_panner_editor.cc:44
+#: editor_actions.cc:103 editor_regions.cc:113 stereo_panner_editor.cc:44
msgid "Position"
msgstr ""
-#: editor_actions.cc:101 gain_meter.cc:120 gain_meter.cc:794 panner_ui.cc:176
-#: panner_ui.cc:585
+#: editor_actions.cc:105 gain_meter.cc:123 gain_meter.cc:792 panner_ui.cc:177
+#: panner_ui.cc:634
msgid "Trim"
msgstr ""
-#: editor_actions.cc:102 editor_actions.cc:122 route_group_dialog.cc:40
+#: editor_actions.cc:106 editor_actions.cc:126 route_group_dialog.cc:46
msgid "Gain"
msgstr ""
-#: editor_actions.cc:103 editor_actions.cc:538
+#: editor_actions.cc:107 editor_actions.cc:575
msgid "Ranges"
msgstr ""
-#: editor_actions.cc:104 editor_actions.cc:1790 session_option_editor.cc:145
-#: session_option_editor.cc:147 session_option_editor.cc:156
-#: session_option_editor.cc:163
+#: editor_actions.cc:108 editor_actions.cc:1864 session_option_editor.cc:135
+#: session_option_editor.cc:144 session_option_editor.cc:151
msgid "Fades"
msgstr ""
-#: editor_actions.cc:107
+#: editor_actions.cc:111
msgid "Link"
msgstr ""
-#: editor_actions.cc:108 editor_actions.cc:141
+#: editor_actions.cc:112 editor_actions.cc:145
msgid "Zoom Focus"
msgstr ""
-#: editor_actions.cc:109
+#: editor_actions.cc:113
msgid "Locate to Markers"
msgstr ""
-#: editor_actions.cc:110 editor_actions.cc:539
-msgid "Markers"
-msgstr ""
-
-#: editor_actions.cc:111
+#: editor_actions.cc:115
msgid "Meter falloff"
msgstr ""
-#: editor_actions.cc:112
+#: editor_actions.cc:116
msgid "Meter hold"
msgstr ""
-#: editor_actions.cc:113 session_option_editor.cc:234
+#: editor_actions.cc:117 session_option_editor.cc:321
msgid "MIDI Options"
msgstr ""
-#: editor_actions.cc:114
+#: editor_actions.cc:118
msgid "Misc Options"
msgstr ""
-#: editor_actions.cc:115 rc_option_editor.cc:1450 route_group_dialog.cc:48
-#: session_option_editor.cc:218 session_option_editor.cc:225
+#: editor_actions.cc:119 rc_option_editor.cc:1708 route_group_dialog.cc:54
+#: session_option_editor.cc:243 session_option_editor.cc:250
msgid "Monitoring"
msgstr ""
-#: editor_actions.cc:116
+#: editor_actions.cc:120
msgid "Active Mark"
msgstr ""
-#: editor_actions.cc:119
+#: editor_actions.cc:123
msgid "Primary Clock"
msgstr ""
-#: editor_actions.cc:120
+#: editor_actions.cc:124
msgid "Pullup / Pulldown"
msgstr ""
-#: editor_actions.cc:121
+#: editor_actions.cc:125
msgid "Region operations"
msgstr ""
-#: editor_actions.cc:123
+#: editor_actions.cc:127 ruler_dialog.cc:28
msgid "Rulers"
msgstr ""
-#: editor_actions.cc:124
+#: editor_actions.cc:128
msgid "Views"
msgstr ""
-#: editor_actions.cc:125
+#: editor_actions.cc:129
msgid "Scroll"
msgstr ""
-#: editor_actions.cc:126
+#: editor_actions.cc:130
msgid "Secondary Clock"
msgstr ""
-#: editor_actions.cc:129 editor_actions.cc:297
+#: editor_actions.cc:133 editor_actions.cc:324
msgid "Separate"
msgstr ""
-#: editor_actions.cc:132 mixer_strip.cc:1914 route_time_axis.cc:208
-#: route_time_axis.cc:2417
-msgid "Solo"
-msgstr ""
-
-#: editor_actions.cc:133
+#: editor_actions.cc:137
msgid "Subframes"
msgstr ""
-#: editor_actions.cc:136
+#: editor_actions.cc:140
msgid "Timecode fps"
msgstr ""
-#: editor_actions.cc:137 route_time_axis.cc:430
+#: editor_actions.cc:141 route_time_axis.cc:538
msgid "Height"
msgstr ""
-#: editor_actions.cc:139
+#: editor_actions.cc:143
msgid "Tools"
msgstr ""
-#: editor_actions.cc:140
+#: editor_actions.cc:144
msgid "View"
msgstr ""
-#: editor_actions.cc:142
+#: editor_actions.cc:146
msgid "Zoom"
msgstr ""
-#: editor_actions.cc:148
+#: editor_actions.cc:152
msgid "Break drag or deselect all"
msgstr ""
-#: editor_actions.cc:150
+#: editor_actions.cc:159
msgid "Show Editor Mixer"
msgstr ""
-#: editor_actions.cc:151
+#: editor_actions.cc:160
msgid "Show Editor List"
msgstr ""
-#: editor_actions.cc:153
+#: editor_actions.cc:162
msgid "Playhead to Next Region Boundary"
msgstr ""
-#: editor_actions.cc:154
+#: editor_actions.cc:163
msgid "Playhead to Next Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:155
+#: editor_actions.cc:164
msgid "Playhead to Previous Region Boundary"
msgstr ""
-#: editor_actions.cc:156
+#: editor_actions.cc:165
msgid "Playhead to Previous Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:158
+#: editor_actions.cc:167
msgid "Playhead to Next Region Start"
msgstr ""
-#: editor_actions.cc:159
+#: editor_actions.cc:168
msgid "Playhead to Next Region End"
msgstr ""
-#: editor_actions.cc:160
+#: editor_actions.cc:169
msgid "Playhead to Next Region Sync"
msgstr ""
-#: editor_actions.cc:162
+#: editor_actions.cc:171
msgid "Playhead to Previous Region Start"
msgstr ""
-#: editor_actions.cc:163
+#: editor_actions.cc:172
msgid "Playhead to Previous Region End"
msgstr ""
-#: editor_actions.cc:164
+#: editor_actions.cc:173
msgid "Playhead to Previous Region Sync"
msgstr ""
-#: editor_actions.cc:166
+#: editor_actions.cc:175
msgid "To Next Region Boundary"
msgstr ""
-#: editor_actions.cc:167
+#: editor_actions.cc:176
msgid "To Next Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:168
+#: editor_actions.cc:177
msgid "To Previous Region Boundary"
msgstr ""
-#: editor_actions.cc:169
+#: editor_actions.cc:178
msgid "To Previous Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:171
+#: editor_actions.cc:180
msgid "To Next Region Start"
msgstr ""
-#: editor_actions.cc:172
+#: editor_actions.cc:181
msgid "To Next Region End"
msgstr ""
-#: editor_actions.cc:173
+#: editor_actions.cc:182
msgid "To Next Region Sync"
msgstr ""
-#: editor_actions.cc:175
+#: editor_actions.cc:184
msgid "To Previous Region Start"
msgstr ""
-#: editor_actions.cc:176
+#: editor_actions.cc:185
msgid "To Previous Region End"
msgstr ""
-#: editor_actions.cc:177
+#: editor_actions.cc:186
msgid "To Previous Region Sync"
msgstr ""
-#: editor_actions.cc:179
+#: editor_actions.cc:188
msgid "To Range Start"
msgstr ""
-#: editor_actions.cc:180
+#: editor_actions.cc:189
msgid "To Range End"
msgstr ""
-#: editor_actions.cc:182
+#: editor_actions.cc:191
msgid "Playhead to Range Start"
msgstr ""
-#: editor_actions.cc:183
+#: editor_actions.cc:192
msgid "Playhead to Range End"
msgstr ""
-#: editor_actions.cc:186 export_timespan_selector.cc:61 processor_box.cc:2278
+#: editor_actions.cc:195
+msgid "Select All Tracks"
+msgstr ""
+
+#: editor_actions.cc:196 export_timespan_selector.cc:61 processor_box.cc:2511
msgid "Deselect All"
msgstr ""
-#: editor_actions.cc:191
+#: editor_actions.cc:204
msgid "Select All Overlapping Edit Range"
msgstr ""
-#: editor_actions.cc:192
+#: editor_actions.cc:205
msgid "Select All Inside Edit Range"
msgstr ""
-#: editor_actions.cc:194
+#: editor_actions.cc:207
msgid "Select Edit Range"
msgstr ""
-#: editor_actions.cc:196
+#: editor_actions.cc:209
msgid "Select All in Punch Range"
msgstr ""
-#: editor_actions.cc:197
+#: editor_actions.cc:210
msgid "Select All in Loop Range"
msgstr ""
-#: editor_actions.cc:199
+#: editor_actions.cc:212
msgid "Select Next Track or Bus"
msgstr ""
-#: editor_actions.cc:200
+#: editor_actions.cc:213
msgid "Select Previous Track or Bus"
msgstr ""
-#: editor_actions.cc:202
+#: editor_actions.cc:215
msgid "Toggle Record Enable"
msgstr ""
-#: editor_actions.cc:204
+#: editor_actions.cc:217
msgid "Toggle Solo"
msgstr ""
-#: editor_actions.cc:206
+#: editor_actions.cc:219
msgid "Toggle Mute"
msgstr ""
-#: editor_actions.cc:208
+#: editor_actions.cc:221
msgid "Toggle Solo Isolate"
msgstr ""
-#: editor_actions.cc:213
+#: editor_actions.cc:226
msgid "Save View %1"
msgstr ""
-#: editor_actions.cc:219
+#: editor_actions.cc:232
msgid "Goto View %1"
msgstr ""
-#: editor_actions.cc:225
+#: editor_actions.cc:238
msgid "Locate to Mark %1"
msgstr ""
-#: editor_actions.cc:229
+#: editor_actions.cc:242 editor_actions.cc:243
msgid "Jump to Next Mark"
msgstr ""
-#: editor_actions.cc:230
+#: editor_actions.cc:244 editor_actions.cc:245
msgid "Jump to Previous Mark"
msgstr ""
-#: editor_actions.cc:231
+#: editor_actions.cc:247 editor_actions.cc:248
msgid "Add Mark from Playhead"
msgstr ""
-#: editor_actions.cc:233
+#: editor_actions.cc:250 editor_actions.cc:251
+msgid "Remove Mark at Playhead"
+msgstr ""
+
+#: editor_actions.cc:253
msgid "Nudge Next Later"
msgstr ""
-#: editor_actions.cc:234
+#: editor_actions.cc:254
msgid "Nudge Next Earlier"
msgstr ""
-#: editor_actions.cc:236
+#: editor_actions.cc:256
msgid "Nudge Playhead Forward"
msgstr ""
-#: editor_actions.cc:237
+#: editor_actions.cc:257
msgid "Nudge Playhead Backward"
msgstr ""
-#: editor_actions.cc:238
+#: editor_actions.cc:258
msgid "Playhead To Next Grid"
msgstr ""
-#: editor_actions.cc:239
+#: editor_actions.cc:259
msgid "Playhead To Previous Grid"
msgstr ""
-#: editor_actions.cc:244
+#: editor_actions.cc:264
msgid "Zoom to Region"
msgstr ""
-#: editor_actions.cc:245
+#: editor_actions.cc:265
msgid "Zoom to Region (Width and Height)"
msgstr ""
-#: editor_actions.cc:246
+#: editor_actions.cc:267
+msgid "Zoom to Range (Width and Height)"
+msgstr ""
+
+#: editor_actions.cc:268
msgid "Toggle Zoom State"
msgstr ""
-#: editor_actions.cc:248
+#: editor_actions.cc:270
msgid "Expand Track Height"
msgstr ""
-#: editor_actions.cc:249
+#: editor_actions.cc:271
msgid "Shrink Track Height"
msgstr ""
-#: editor_actions.cc:251
+#: editor_actions.cc:273
msgid "Move Selected Tracks Up"
msgstr ""
-#: editor_actions.cc:253
+#: editor_actions.cc:275
msgid "Move Selected Tracks Down"
msgstr ""
-#: editor_actions.cc:256
+#: editor_actions.cc:278
msgid "Scroll Tracks Up"
msgstr ""
-#: editor_actions.cc:258
+#: editor_actions.cc:280
msgid "Scroll Tracks Down"
msgstr ""
-#: editor_actions.cc:260
+#: editor_actions.cc:282
msgid "Step Tracks Up"
msgstr ""
-#: editor_actions.cc:262
+#: editor_actions.cc:284
msgid "Step Tracks Down"
msgstr ""
-#: editor_actions.cc:265
+#: editor_actions.cc:287
msgid "Scroll Backward"
msgstr ""
-#: editor_actions.cc:266
+#: editor_actions.cc:288
msgid "Scroll Forward"
msgstr ""
-#: editor_actions.cc:267
+#: editor_actions.cc:289
msgid "Center Playhead"
-msgstr ""
+msgstr "Centre Playhead"
-#: editor_actions.cc:268
+#: editor_actions.cc:290
msgid "Center Edit Point"
-msgstr ""
+msgstr "Centre Edit Point"
-#: editor_actions.cc:270
+#: editor_actions.cc:292
msgid "Playhead Forward"
msgstr ""
-#: editor_actions.cc:271
+#: editor_actions.cc:293
msgid "Playhead Backward"
msgstr ""
-#: editor_actions.cc:273
+#: editor_actions.cc:295
msgid "Playhead to Active Mark"
msgstr ""
-#: editor_actions.cc:274
+#: editor_actions.cc:296
msgid "Active Mark to Playhead"
msgstr ""
-#: editor_actions.cc:276
+#: editor_actions.cc:298
+msgid "Use Skip Ranges"
+msgstr ""
+
+#: editor_actions.cc:300
msgid "Set Loop from Edit Range"
msgstr ""
-#: editor_actions.cc:277
+#: editor_actions.cc:301
msgid "Set Punch from Edit Range"
msgstr ""
-#: editor_actions.cc:280
+#: editor_actions.cc:304
msgid "Play Selected Regions"
msgstr ""
-#: editor_actions.cc:282
+#: editor_actions.cc:306
msgid "Play from Edit Point and Return"
msgstr ""
-#: editor_actions.cc:284
+#: editor_actions.cc:308
msgid "Play Edit Range"
msgstr ""
-#: editor_actions.cc:286
+#: editor_actions.cc:310
msgid "Playhead to Mouse"
msgstr ""
-#: editor_actions.cc:287
+#: editor_actions.cc:311
msgid "Active Marker to Mouse"
msgstr ""
-#: editor_actions.cc:294
+#: editor_actions.cc:321
msgid "Export Audio"
msgstr ""
-#: editor_actions.cc:295 export_dialog.cc:406
+#: editor_actions.cc:322 export_dialog.cc:396
msgid "Export Range"
msgstr ""
-#: editor_actions.cc:300
+#: editor_actions.cc:327
msgid "Separate Using Punch Range"
msgstr ""
-#: editor_actions.cc:303
+#: editor_actions.cc:330
msgid "Separate Using Loop Range"
msgstr ""
-#: editor_actions.cc:306 editor_actions.cc:323
+#: editor_actions.cc:333 editor_actions.cc:355
msgid "Crop"
msgstr ""
-#: editor_actions.cc:315
+#: editor_actions.cc:343
+msgid "Fade Range Selection"
+msgstr ""
+
+#: editor_actions.cc:345
msgid "Set Tempo from Edit Range = Bar"
msgstr ""
-#: editor_actions.cc:317
+#: editor_actions.cc:347
msgid "Log"
msgstr ""
-#: editor_actions.cc:320
-msgid "Move Later to Transient"
+#: editor_actions.cc:350 editor_actions.cc:352
+msgid "Move to Next Transient"
msgstr ""
-#: editor_actions.cc:321
-msgid "Move Earlier to Transient"
+#: editor_actions.cc:351 editor_actions.cc:353
+msgid "Move to Previous Transient"
msgstr ""
-#: editor_actions.cc:325
+#: editor_actions.cc:357 editor_actions.cc:360
msgid "Start Range"
msgstr ""
-#: editor_actions.cc:326
+#: editor_actions.cc:358 editor_actions.cc:361
msgid "Finish Range"
msgstr ""
-#: editor_actions.cc:327
-msgid "Finish Add Range"
-msgstr ""
-
-#: editor_actions.cc:357
+#: editor_actions.cc:393
msgid "Follow Playhead"
msgstr ""
-#: editor_actions.cc:358
+#: editor_actions.cc:394
msgid "Remove Last Capture"
msgstr ""
-#: editor_actions.cc:360
+#: editor_actions.cc:396
msgid "Stationary Playhead"
msgstr ""
-#: editor_actions.cc:362 insert_time_dialog.cc:32
+#: editor_actions.cc:398 insert_time_dialog.cc:32
msgid "Insert Time"
msgstr ""
-#: editor_actions.cc:365
+#: editor_actions.cc:401
msgid "Toggle Active"
msgstr ""
-#: editor_actions.cc:370 editor_actions.cc:1716 editor_markers.cc:876
-#: editor_markers.cc:941 editor_snapshots.cc:121 mixer_strip.cc:1495
-#: route_time_axis.cc:710
+#: editor_actions.cc:406 editor_actions.cc:1790 editor_markers.cc:887
+#: editor_markers.cc:952 editor_snapshots.cc:122 mixer_strip.cc:1502
+#: route_time_axis.cc:819
msgid "Remove"
msgstr ""
-#: editor_actions.cc:374
+#: editor_actions.cc:410
msgid "Fit Selected Tracks"
msgstr ""
-#: editor_actions.cc:376 time_axis_view.cc:1302
+#: editor_actions.cc:413 time_axis_view.cc:1340
msgid "Largest"
msgstr ""
-#: editor_actions.cc:379 time_axis_view.cc:1303
+#: editor_actions.cc:416 time_axis_view.cc:1341
msgid "Larger"
msgstr ""
-#: editor_actions.cc:382 editor_rulers.cc:375 time_axis_view.cc:1304
+#: editor_actions.cc:419 editor_rulers.cc:249 time_axis_view.cc:1342
msgid "Large"
msgstr ""
-#: editor_actions.cc:388 editor_rulers.cc:379 time_axis_view.cc:1306
+#: editor_actions.cc:425 editor_rulers.cc:253 time_axis_view.cc:1344
msgid "Small"
msgstr ""
-#: editor_actions.cc:392
+#: editor_actions.cc:429
msgid "Sound Selected MIDI Notes"
msgstr ""
-#: editor_actions.cc:397
+#: editor_actions.cc:434
msgid "Zoom Focus Left"
msgstr ""
-#: editor_actions.cc:398
+#: editor_actions.cc:435
msgid "Zoom Focus Right"
msgstr ""
-#: editor_actions.cc:399
+#: editor_actions.cc:436
msgid "Zoom Focus Center"
-msgstr ""
+msgstr "Zoom Focus Centre"
-#: editor_actions.cc:400
+#: editor_actions.cc:437
msgid "Zoom Focus Playhead"
msgstr ""
-#: editor_actions.cc:401
+#: editor_actions.cc:438
msgid "Zoom Focus Mouse"
msgstr ""
-#: editor_actions.cc:402
+#: editor_actions.cc:439
msgid "Zoom Focus Edit Point"
msgstr ""
-#: editor_actions.cc:404
+#: editor_actions.cc:441
msgid "Next Zoom Focus"
msgstr ""
-#: editor_actions.cc:410
+#: editor_actions.cc:447
msgid "Smart Object Mode"
msgstr ""
-#: editor_actions.cc:413
+#: editor_actions.cc:450
msgid "Smart"
msgstr ""
-#: editor_actions.cc:417
+#: editor_actions.cc:453
msgid "Object Tool"
msgstr ""
-#: editor_actions.cc:423
+#: editor_actions.cc:458
msgid "Range Tool"
msgstr ""
-#: editor_actions.cc:429
+#: editor_actions.cc:463
msgid "Note Drawing Tool"
msgstr ""
-#: editor_actions.cc:435
+#: editor_actions.cc:468
msgid "Gain Tool"
msgstr ""
-#: editor_actions.cc:441
+#: editor_actions.cc:474
msgid "Zoom Tool"
msgstr ""
-#: editor_actions.cc:447
+#: editor_actions.cc:480
msgid "Audition Tool"
msgstr ""
-#: editor_actions.cc:453
+#: editor_actions.cc:485
msgid "Time FX Tool"
msgstr ""
-#: editor_actions.cc:459
+#: editor_actions.cc:491
+msgid "Cut Tool"
+msgstr ""
+
+#: editor_actions.cc:497
msgid "Step Mouse Mode"
msgstr ""
-#: editor_actions.cc:461
+#: editor_actions.cc:499
msgid "Edit MIDI"
msgstr ""
-#: editor_actions.cc:472
+#: editor_actions.cc:509
msgid "Change Edit Point"
msgstr ""
-#: editor_actions.cc:473
+#: editor_actions.cc:510
msgid "Change Edit Point Including Marker"
msgstr ""
-#: editor_actions.cc:475
-msgid "Splice"
-msgstr ""
-
-#: editor_actions.cc:477
-msgid "Slide"
-msgstr ""
-
-#: editor_actions.cc:478 editor_actions.cc:1737 editor_markers.cc:860
-#: editor_rulers.cc:386 location_ui.cc:56
-msgid "Lock"
-msgstr ""
-
-#: editor_actions.cc:479
-msgid "Toggle Edit Mode"
+#: editor_actions.cc:516
+msgid "Cycle Edit Mode"
msgstr ""
-#: editor_actions.cc:481
+#: editor_actions.cc:518
msgid "Snap to"
msgstr ""
-#: editor_actions.cc:482
+#: editor_actions.cc:519
msgid "Snap Mode"
msgstr ""
-#: editor_actions.cc:489
+#: editor_actions.cc:526
msgid "Next Snap Mode"
msgstr ""
-#: editor_actions.cc:490
+#: editor_actions.cc:527
msgid "Next Snap Choice"
msgstr ""
-#: editor_actions.cc:491
+#: editor_actions.cc:528
msgid "Next Musical Snap Choice"
msgstr ""
-#: editor_actions.cc:492
+#: editor_actions.cc:529
msgid "Previous Snap Choice"
msgstr ""
-#: editor_actions.cc:493
+#: editor_actions.cc:530
msgid "Previous Musical Snap Choice"
msgstr ""
-#: editor_actions.cc:498
+#: editor_actions.cc:535
msgid "Snap to CD Frame"
msgstr ""
-#: editor_actions.cc:499
+#: editor_actions.cc:536
msgid "Snap to Timecode Frame"
msgstr ""
-#: editor_actions.cc:500
+#: editor_actions.cc:537
msgid "Snap to Timecode Seconds"
msgstr ""
-#: editor_actions.cc:501
+#: editor_actions.cc:538
msgid "Snap to Timecode Minutes"
msgstr ""
-#: editor_actions.cc:502
+#: editor_actions.cc:539
msgid "Snap to Seconds"
msgstr ""
-#: editor_actions.cc:503
+#: editor_actions.cc:540
msgid "Snap to Minutes"
msgstr ""
-#: editor_actions.cc:505
+#: editor_actions.cc:542
msgid "Snap to One Twenty Eighths"
msgstr ""
-#: editor_actions.cc:506
+#: editor_actions.cc:543
msgid "Snap to Sixty Fourths"
msgstr ""
-#: editor_actions.cc:507
+#: editor_actions.cc:544
msgid "Snap to Thirty Seconds"
msgstr "Snap to demisemiquavers"
-#: editor_actions.cc:508
+#: editor_actions.cc:545
msgid "Snap to Twenty Eighths"
msgstr ""
-#: editor_actions.cc:509
+#: editor_actions.cc:546
msgid "Snap to Twenty Fourths"
msgstr ""
-#: editor_actions.cc:510
+#: editor_actions.cc:547
msgid "Snap to Twentieths"
msgstr ""
-#: editor_actions.cc:511
+#: editor_actions.cc:548
msgid "Snap to Sixteenths"
msgstr "Snap to semiquavers"
-#: editor_actions.cc:512
+#: editor_actions.cc:549
msgid "Snap to Fourteenths"
msgstr ""
-#: editor_actions.cc:513
+#: editor_actions.cc:550
msgid "Snap to Twelfths"
msgstr ""
-#: editor_actions.cc:514
+#: editor_actions.cc:551
msgid "Snap to Tenths"
msgstr ""
-#: editor_actions.cc:515
+#: editor_actions.cc:552
msgid "Snap to Eighths"
msgstr "Snap to quavers"
-#: editor_actions.cc:516
+#: editor_actions.cc:553
msgid "Snap to Sevenths"
msgstr ""
-#: editor_actions.cc:517
+#: editor_actions.cc:554
msgid "Snap to Sixths"
msgstr ""
-#: editor_actions.cc:518
+#: editor_actions.cc:555
msgid "Snap to Fifths"
msgstr ""
-#: editor_actions.cc:519
+#: editor_actions.cc:556
msgid "Snap to Quarters"
msgstr "Snap to crotchets"
-#: editor_actions.cc:520
+#: editor_actions.cc:557
msgid "Snap to Thirds"
msgstr ""
-#: editor_actions.cc:521
+#: editor_actions.cc:558
msgid "Snap to Halves"
msgstr "Snap to minims"
-#: editor_actions.cc:523
+#: editor_actions.cc:560
msgid "Snap to Beat"
msgstr ""
-#: editor_actions.cc:524
+#: editor_actions.cc:561
msgid "Snap to Bar"
msgstr ""
-#: editor_actions.cc:525
+#: editor_actions.cc:562
msgid "Snap to Mark"
msgstr ""
-#: editor_actions.cc:526
+#: editor_actions.cc:563
msgid "Snap to Region Start"
msgstr ""
-#: editor_actions.cc:527
+#: editor_actions.cc:564
msgid "Snap to Region End"
msgstr ""
-#: editor_actions.cc:528
+#: editor_actions.cc:565
msgid "Snap to Region Sync"
msgstr ""
-#: editor_actions.cc:529
+#: editor_actions.cc:566
msgid "Snap to Region Boundary"
msgstr ""
-#: editor_actions.cc:531
+#: editor_actions.cc:568
msgid "Show Marker Lines"
msgstr ""
-#: editor_actions.cc:541
+#: editor_actions.cc:578
msgid "Loop/Punch"
msgstr ""
-#: editor_actions.cc:545
+#: editor_actions.cc:582
msgid "Min:Sec"
msgstr ""
-#: editor_actions.cc:547 editor_actions.cc:550
+#: editor_actions.cc:584 editor_actions.cc:587
msgid "Video Monitor"
msgstr ""
-#: editor_actions.cc:549 rc_option_editor.cc:1829
+#: editor_actions.cc:586 rc_option_editor.cc:2128
msgid "Video"
msgstr ""
-#: editor_actions.cc:552
+#: editor_actions.cc:589
msgid "Always on Top"
msgstr ""
-#: editor_actions.cc:554
+#: editor_actions.cc:591
msgid "Frame number"
msgstr ""
-#: editor_actions.cc:555
+#: editor_actions.cc:592
msgid "Timecode Background"
msgstr ""
-#: editor_actions.cc:556
+#: editor_actions.cc:593
msgid "Fullscreen"
msgstr ""
-#: editor_actions.cc:557
+#: editor_actions.cc:594
msgid "Letterbox"
msgstr ""
-#: editor_actions.cc:558
+#: editor_actions.cc:595
msgid "Original Size"
msgstr ""
-#: editor_actions.cc:608
+#: editor_actions.cc:652
msgid "Sort"
msgstr ""
-#: editor_actions.cc:610 region_editor.cc:51
-msgid "Audition"
-msgstr ""
-
-#: editor_actions.cc:619 editor_routes.cc:470 mixer_ui.cc:1161
+#: editor_actions.cc:663 editor_routes.cc:476 mixer_ui.cc:1181
msgid "Show All"
msgstr ""
-#: editor_actions.cc:620
+#: editor_actions.cc:664
msgid "Show Automatic Regions"
msgstr ""
-#: editor_actions.cc:622
+#: editor_actions.cc:666
msgid "Ascending"
msgstr ""
-#: editor_actions.cc:624
+#: editor_actions.cc:668
msgid "Descending"
msgstr ""
-#: editor_actions.cc:627
+#: editor_actions.cc:671
msgid "By Region Name"
msgstr ""
-#: editor_actions.cc:629
+#: editor_actions.cc:673
msgid "By Region Length"
msgstr ""
-#: editor_actions.cc:631
+#: editor_actions.cc:675
msgid "By Region Position"
msgstr ""
-#: editor_actions.cc:633
+#: editor_actions.cc:677
msgid "By Region Timestamp"
msgstr ""
-#: editor_actions.cc:635
+#: editor_actions.cc:679
msgid "By Region Start in File"
msgstr ""
-#: editor_actions.cc:637
+#: editor_actions.cc:681
msgid "By Region End in File"
msgstr ""
-#: editor_actions.cc:639
+#: editor_actions.cc:683
msgid "By Source File Name"
msgstr ""
-#: editor_actions.cc:641
+#: editor_actions.cc:685
msgid "By Source File Length"
msgstr ""
-#: editor_actions.cc:643
+#: editor_actions.cc:687
msgid "By Source File Creation Date"
msgstr ""
-#: editor_actions.cc:645
+#: editor_actions.cc:689
msgid "By Source Filesystem"
msgstr ""
-#: editor_actions.cc:648
+#: editor_actions.cc:692
msgid "Remove Unused"
msgstr ""
-#: editor_actions.cc:652 editor_audio_import.cc:279
+#: editor_actions.cc:696 editor_audio_import.cc:277
#: session_import_dialog.cc:74 session_import_dialog.cc:94
-#: session_metadata_dialog.cc:297 editor_videotimeline.cc:108
+#: session_metadata_dialog.cc:297 editor_videotimeline.cc:92
msgid "Import"
msgstr ""
-#: editor_actions.cc:655
+#: editor_actions.cc:699
msgid "Import to Region List..."
msgstr ""
-#: editor_actions.cc:658 session_import_dialog.cc:43
+#: editor_actions.cc:702 session_import_dialog.cc:43
msgid "Import From Session"
msgstr ""
-#: editor_actions.cc:661
+#: editor_actions.cc:706
+msgid "Bring all media into session folder"
+msgstr ""
+
+#: editor_actions.cc:709
msgid "Show Summary"
msgstr ""
-#: editor_actions.cc:663
+#: editor_actions.cc:711
msgid "Show Group Tabs"
msgstr ""
-#: editor_actions.cc:665
+#: editor_actions.cc:713
msgid "Show Measures"
msgstr ""
-#: editor_actions.cc:669
+#: editor_actions.cc:717
msgid "Show Logo"
msgstr ""
-#: editor_actions.cc:673
+#: editor_actions.cc:721
msgid "Toggle MIDI Input Active for Editor-Selected Tracks/Busses"
msgstr ""
-#: editor_actions.cc:696
+#: editor_actions.cc:744
msgid "Loaded editor bindings from %1"
msgstr ""
-#: editor_actions.cc:698
+#: editor_actions.cc:746
msgid "Could not find editor.bindings in search path %1"
msgstr ""
-#: editor_actions.cc:1028 editor_actions.cc:1424 editor_actions.cc:1435
-#: editor_actions.cc:1488 editor_actions.cc:1499 editor_actions.cc:1546
-#: editor_actions.cc:1556 editor_regions.cc:1561
+#: editor_actions.cc:1090 editor_actions.cc:1486 editor_actions.cc:1497
+#: editor_actions.cc:1550 editor_actions.cc:1561 editor_actions.cc:1608
+#: editor_actions.cc:1618 editor_regions.cc:1562
msgid "programming error: %1: %2"
msgstr ""
-#: editor_actions.cc:1722
+#: editor_actions.cc:1796
msgid "Raise"
msgstr ""
-#: editor_actions.cc:1725
+#: editor_actions.cc:1799
msgid "Raise to Top"
msgstr ""
-#: editor_actions.cc:1728 gtk-custom-ruler.c:132
+#: editor_actions.cc:1802
msgid "Lower"
msgstr ""
-#: editor_actions.cc:1731
+#: editor_actions.cc:1805
msgid "Lower to Bottom"
msgstr ""
-#: editor_actions.cc:1734
+#: editor_actions.cc:1808
msgid "Move to Original Position"
msgstr ""
-#: editor_actions.cc:1739
+#: editor_actions.cc:1813
msgid "Lock to Video"
msgstr ""
-#: editor_actions.cc:1744 editor_markers.cc:867
+#: editor_actions.cc:1818 editor_markers.cc:878
msgid "Glue to Bars and Beats"
msgstr ""
-#: editor_actions.cc:1749
+#: editor_actions.cc:1823
msgid "Remove Sync"
msgstr ""
-#: editor_actions.cc:1752 mixer_strip.cc:1904 route_time_axis.cc:209
-msgid "Mute"
-msgstr ""
-
-#: editor_actions.cc:1755
+#: editor_actions.cc:1829
msgid "Normalize..."
msgstr "Normalise..."
-#: editor_actions.cc:1758
+#: editor_actions.cc:1832
msgid "Reverse"
msgstr ""
-#: editor_actions.cc:1761
+#: editor_actions.cc:1835
msgid "Make Mono Regions"
msgstr ""
-#: editor_actions.cc:1764
+#: editor_actions.cc:1838
msgid "Boost Gain"
msgstr ""
-#: editor_actions.cc:1767
+#: editor_actions.cc:1841
msgid "Cut Gain"
msgstr ""
-#: editor_actions.cc:1770
+#: editor_actions.cc:1844
msgid "Pitch Shift..."
msgstr ""
-#: editor_actions.cc:1773
+#: editor_actions.cc:1847
msgid "Transpose..."
msgstr ""
-#: editor_actions.cc:1776
+#: editor_actions.cc:1850
msgid "Opaque"
msgstr ""
-#: editor_actions.cc:1780 editor_regions.cc:116
+#: editor_actions.cc:1854 editor_regions.cc:117
msgid "Fade In"
msgstr ""
-#: editor_actions.cc:1785 editor_regions.cc:117
+#: editor_actions.cc:1859 editor_regions.cc:118
msgid "Fade Out"
msgstr ""
-#: editor_actions.cc:1800
+#: editor_actions.cc:1874
msgid "Multi-Duplicate..."
msgstr ""
-#: editor_actions.cc:1805
+#: editor_actions.cc:1879
msgid "Fill Track"
msgstr ""
-#: editor_actions.cc:1809 editor_markers.cc:955
+#: editor_actions.cc:1883 editor_markers.cc:966
msgid "Set Loop Range"
msgstr ""
-#: editor_actions.cc:1816
+#: editor_actions.cc:1890
msgid "Set Punch"
msgstr ""
-#: editor_actions.cc:1820
+#: editor_actions.cc:1894
msgid "Add Single Range Marker"
msgstr ""
-#: editor_actions.cc:1825
+#: editor_actions.cc:1899
msgid "Add Range Marker Per Region"
msgstr ""
-#: editor_actions.cc:1829
+#: editor_actions.cc:1903
msgid "Snap Position To Grid"
msgstr ""
-#: editor_actions.cc:1832
+#: editor_actions.cc:1906
msgid "Close Gaps"
msgstr ""
-#: editor_actions.cc:1835
+#: editor_actions.cc:1909
msgid "Rhythm Ferret..."
msgstr ""
-#: editor_actions.cc:1838
+#: editor_actions.cc:1912
msgid "Export..."
msgstr ""
-#: editor_actions.cc:1844
+#: editor_actions.cc:1918
msgid "Separate Under"
msgstr ""
-#: editor_actions.cc:1848
+#: editor_actions.cc:1922 editor_actions.cc:1923
msgid "Set Fade In Length"
msgstr ""
-#: editor_actions.cc:1849
+#: editor_actions.cc:1924 editor_actions.cc:1925
msgid "Set Fade Out Length"
msgstr ""
-#: editor_actions.cc:1850
+#: editor_actions.cc:1927
msgid "Set Tempo from Region = Bar"
msgstr ""
-#: editor_actions.cc:1855
+#: editor_actions.cc:1932
msgid "Split at Percussion Onsets"
msgstr ""
-#: editor_actions.cc:1860
+#: editor_actions.cc:1937
msgid "List Editor..."
msgstr ""
-#: editor_actions.cc:1863
+#: editor_actions.cc:1940
msgid "Properties..."
msgstr ""
-#: editor_actions.cc:1867
+#: editor_actions.cc:1944
msgid "Bounce (with processing)"
msgstr ""
-#: editor_actions.cc:1868
+#: editor_actions.cc:1945
msgid "Bounce (without processing)"
msgstr ""
-#: editor_actions.cc:1869
+#: editor_actions.cc:1946
msgid "Combine"
msgstr ""
-#: editor_actions.cc:1870
+#: editor_actions.cc:1947
msgid "Uncombine"
msgstr ""
-#: editor_actions.cc:1872
+#: editor_actions.cc:1949
msgid "Spectral Analysis..."
msgstr ""
-#: editor_actions.cc:1874
+#: editor_actions.cc:1951
msgid "Reset Envelope"
msgstr ""
-#: editor_actions.cc:1876
+#: editor_actions.cc:1953
msgid "Reset Gain"
msgstr ""
-#: editor_actions.cc:1881
+#: editor_actions.cc:1958
msgid "Envelope Active"
msgstr ""
-#: editor_actions.cc:1885
+#: editor_actions.cc:1962
msgid "Quantize..."
msgstr "Quantise..."
-#: editor_actions.cc:1886 editor_actions.cc:1887
+#: editor_actions.cc:1963 editor_actions.cc:1964
msgid "Insert Patch Change..."
msgstr ""
-#: editor_actions.cc:1888
+#: editor_actions.cc:1965
msgid "Unlink from other copies"
msgstr ""
-#: editor_actions.cc:1889
+#: editor_actions.cc:1966
msgid "Strip Silence..."
msgstr ""
-#: editor_actions.cc:1890
+#: editor_actions.cc:1967
msgid "Set Range Selection"
msgstr ""
-#: editor_actions.cc:1892
+#: editor_actions.cc:1969 editor_actions.cc:1970
msgid "Nudge Later"
msgstr ""
-#: editor_actions.cc:1893
+#: editor_actions.cc:1971 editor_actions.cc:1972
msgid "Nudge Earlier"
msgstr ""
-#: editor_actions.cc:1898
+#: editor_actions.cc:1974
+msgid "Sequence Regions"
+msgstr ""
+
+#: editor_actions.cc:1979
msgid "Nudge Later by Capture Offset"
msgstr ""
-#: editor_actions.cc:1905
+#: editor_actions.cc:1986
msgid "Nudge Earlier by Capture Offset"
msgstr ""
-#: editor_actions.cc:1909
+#: editor_actions.cc:1990
msgid "Trim to Loop"
msgstr ""
-#: editor_actions.cc:1910
+#: editor_actions.cc:1991
msgid "Trim to Punch"
msgstr ""
-#: editor_actions.cc:1912
+#: editor_actions.cc:1993
msgid "Trim to Previous"
msgstr ""
-#: editor_actions.cc:1913
+#: editor_actions.cc:1994
msgid "Trim to Next"
msgstr ""
-#: editor_actions.cc:1920
+#: editor_actions.cc:2001
msgid "Insert Region From Region List"
msgstr ""
-#: editor_actions.cc:1926
+#: editor_actions.cc:2007
msgid "Set Sync Position"
msgstr ""
-#: editor_actions.cc:1927
+#: editor_actions.cc:2008
msgid "Place Transient"
msgstr ""
-#: editor_actions.cc:1928
+#: editor_actions.cc:2009
msgid "Split"
msgstr ""
-#: editor_actions.cc:1929
+#: editor_actions.cc:2010
msgid "Trim Start at Edit Point"
msgstr ""
-#: editor_actions.cc:1930
+#: editor_actions.cc:2011
msgid "Trim End at Edit Point"
msgstr ""
-#: editor_actions.cc:1935
+#: editor_actions.cc:2016
msgid "Align Start"
msgstr ""
-#: editor_actions.cc:1942
+#: editor_actions.cc:2023
msgid "Align Start Relative"
msgstr ""
-#: editor_actions.cc:1946
+#: editor_actions.cc:2027
msgid "Align End"
msgstr ""
-#: editor_actions.cc:1951
+#: editor_actions.cc:2032
msgid "Align End Relative"
msgstr ""
-#: editor_actions.cc:1958
+#: editor_actions.cc:2039
msgid "Align Sync"
msgstr ""
-#: editor_actions.cc:1965
+#: editor_actions.cc:2046
msgid "Align Sync Relative"
msgstr ""
-#: editor_actions.cc:1969 editor_actions.cc:1972
+#: editor_actions.cc:2050 editor_actions.cc:2053
msgid "Choose Top..."
msgstr ""
-#: editor_audio_import.cc:77 editor_audio_import.cc:99
+#: editor_audio_import.cc:76 editor_audio_import.cc:98
msgid "You can't import or embed an audiofile until you have a session loaded."
msgstr ""
-#: editor_audio_import.cc:83 editor_audio_import.cc:127
+#: editor_audio_import.cc:82 editor_audio_import.cc:126
msgid "Add Existing Media"
msgstr ""
-#: editor_audio_import.cc:177
+#: editor_audio_import.cc:175
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%1 as a new file, or skip it?"
msgstr ""
-#: editor_audio_import.cc:179
+#: editor_audio_import.cc:177
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%2 as a new source, or skip it?"
msgstr ""
-#: editor_audio_import.cc:279 editor_videotimeline.cc:108
+#: editor_audio_import.cc:277 editor_videotimeline.cc:92
msgid "Cancel Import"
msgstr ""
-#: editor_audio_import.cc:543
+#: editor_audio_import.cc:541
msgid "Editor: cannot open file \"%1\", (%2)"
msgstr ""
-#: editor_audio_import.cc:551
+#: editor_audio_import.cc:549
msgid "Cancel entire import"
msgstr ""
-#: editor_audio_import.cc:552
+#: editor_audio_import.cc:550
msgid "Don't embed it"
msgstr ""
-#: editor_audio_import.cc:553
+#: editor_audio_import.cc:551
msgid "Embed all without questions"
msgstr ""
-#: editor_audio_import.cc:556 editor_audio_import.cc:585
-#: export_format_dialog.cc:58
+#: editor_audio_import.cc:554 editor_audio_import.cc:583
+#: export_format_dialog.cc:60
msgid "Sample rate"
msgstr ""
-#: editor_audio_import.cc:557 editor_audio_import.cc:586
+#: editor_audio_import.cc:555 editor_audio_import.cc:584
msgid ""
"%1\n"
"This audiofile's sample rate doesn't match the session sample rate!"
msgstr ""
-#: editor_audio_import.cc:582
+#: editor_audio_import.cc:580
msgid "Embed it anyway"
msgstr ""
-#: editor_drag.cc:1000
+#: editor_drag.cc:994
+msgid "Could not create new track after region placed in the drop zone"
+msgstr ""
+
+#: editor_drag.cc:1100
msgid "fixed time region drag"
msgstr ""
-#: editor_drag.cc:1700
+#: editor_drag.cc:1806
+msgid "Ripple drag"
+msgstr ""
+
+#: editor_drag.cc:2102
msgid "Video Start:"
msgstr ""
-#: editor_drag.cc:1702
+#: editor_drag.cc:2104
msgid "Diff:"
msgstr ""
-#: editor_drag.cc:1722
+#: editor_drag.cc:2123
msgid "Move Video"
msgstr ""
-#: editor_drag.cc:2200
+#: editor_drag.cc:2630
msgid "copy meter mark"
msgstr ""
-#: editor_drag.cc:2208
+#: editor_drag.cc:2638
msgid "move meter mark"
msgstr ""
-#: editor_drag.cc:2320
+#: editor_drag.cc:2761
msgid "copy tempo mark"
msgstr ""
-#: editor_drag.cc:2328
+#: editor_drag.cc:2769
msgid "move tempo mark"
msgstr ""
-#: editor_drag.cc:2550
+#: editor_drag.cc:2998
msgid "change fade in length"
msgstr ""
-#: editor_drag.cc:2668
+#: editor_drag.cc:3116
msgid "change fade out length"
msgstr ""
-#: editor_drag.cc:3023
+#: editor_drag.cc:3472
msgid "move marker"
msgstr ""
-#: editor_drag.cc:3586
+#: editor_drag.cc:4055
msgid "An error occurred while executing time stretch operation"
msgstr ""
-#: editor_drag.cc:4016
+#: editor_drag.cc:4506
msgid "programming_error: %1"
msgstr ""
-#: editor_drag.cc:4086 editor_markers.cc:680
-msgid "new range marker"
+#: editor_drag.cc:4575 editor_drag.cc:4585
+msgid "new skip marker"
msgstr ""
-#: editor_drag.cc:4767
-msgid "rubberband selection"
+#: editor_drag.cc:4576
+msgid "skip"
+msgstr ""
+
+#: editor_drag.cc:4580 location_ui.cc:55
+msgid "CD"
+msgstr ""
+
+#: editor_drag.cc:4581
+msgid "new CD marker"
msgstr ""
-#: editor_route_groups.cc:66
-msgid "No Selection = All Tracks?"
+#: editor_drag.cc:4586 editor_route_groups.cc:438 mixer_ui.cc:1469
+msgid "unnamed"
msgstr ""
-#: editor_route_groups.cc:95
+#: editor_drag.cc:5279
+msgid "rubberband selection"
+msgstr ""
+
+#: editor_route_groups.cc:96
msgid "Col"
msgstr ""
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Group Tab Color"
msgstr "Group Tab Colour"
-#: editor_route_groups.cc:96
+#: editor_route_groups.cc:97
msgid "Name of Group"
msgstr ""
-#: editor_route_groups.cc:97 editor_routes.cc:203
+#: editor_route_groups.cc:98 editor_routes.cc:207
msgid "V"
msgstr ""
-#: editor_route_groups.cc:97
+#: editor_route_groups.cc:98
msgid "Group is visible?"
msgstr ""
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "On"
msgstr ""
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "Group is enabled?"
msgstr ""
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "group|G"
msgstr ""
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "Sharing Gain?"
msgstr ""
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "relative|Rel"
msgstr ""
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "Relative Gain Changes?"
msgstr ""
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "mute|M"
msgstr ""
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "Sharing Mute?"
msgstr ""
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "solo|S"
msgstr ""
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "Sharing Solo?"
msgstr ""
-#: editor_route_groups.cc:103 midi_time_axis.cc:1504 midi_time_axis.cc:1507
-#: midi_time_axis.cc:1510 mixer_strip.cc:1903
+#: editor_route_groups.cc:104 midi_time_axis.cc:1696 midi_time_axis.cc:1699
+#: midi_time_axis.cc:1702
msgid "Rec"
msgstr ""
-#: editor_route_groups.cc:103
+#: editor_route_groups.cc:104
msgid "Sharing Record-enable Status?"
msgstr ""
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "monitoring|Mon"
msgstr ""
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "Sharing Monitoring Choice?"
msgstr ""
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "selection|Sel"
msgstr ""
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "Sharing Selected/Editing Status?"
msgstr ""
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "active|A"
msgstr ""
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "Sharing Active Status?"
msgstr ""
-#: editor_route_groups.cc:197
-msgid "Activate this button to operate on all tracks when none are selected."
-msgstr ""
-
-#: editor_route_groups.cc:442 mixer_ui.cc:1449
-msgid "unnamed"
-msgstr ""
-
-#: editor_export_audio.cc:90 editor_markers.cc:695 editor_markers.cc:782
-#: editor_markers.cc:967 editor_markers.cc:985 editor_markers.cc:1003
-#: editor_markers.cc:1022 editor_markers.cc:1041 editor_markers.cc:1071
-#: editor_markers.cc:1102 editor_markers.cc:1132 editor_markers.cc:1160
-#: editor_markers.cc:1191 editor_markers.cc:1216 editor_markers.cc:1267
-#: editor_markers.cc:1311 editor_markers.cc:1337 editor_markers.cc:1526
-#: editor_mouse.cc:2528
+#: editor_export_audio.cc:92 editor_markers.cc:706 editor_markers.cc:793
+#: editor_markers.cc:978 editor_markers.cc:996 editor_markers.cc:1014
+#: editor_markers.cc:1033 editor_markers.cc:1052 editor_markers.cc:1082
+#: editor_markers.cc:1113 editor_markers.cc:1143 editor_markers.cc:1171
+#: editor_markers.cc:1202 editor_markers.cc:1227 editor_markers.cc:1278
+#: editor_markers.cc:1322 editor_markers.cc:1348 editor_markers.cc:1542
+#: editor_mouse.cc:2292
msgid "programming error: marker canvas item has no marker object pointer!"
msgstr ""
-#: editor_export_audio.cc:143 editor_export_audio.cc:148
+#: editor_export_audio.cc:145 editor_export_audio.cc:150
msgid "File Exists!"
msgstr ""
-#: editor_export_audio.cc:151
+#: editor_export_audio.cc:153
msgid "Overwrite Existing File"
msgstr ""
-#: editor_group_tabs.cc:162
+#: editor_group_tabs.cc:176
msgid "Fit to Window"
msgstr ""
-#: editor_markers.cc:129
+#: editor_markers.cc:139
msgid "start"
msgstr ""
-#: editor_markers.cc:130
+#: editor_markers.cc:140
msgid "end"
msgstr ""
-#: editor_markers.cc:646 editor_ops.cc:1744 editor_ops.cc:1764
-#: editor_ops.cc:1788 editor_ops.cc:1815 location_ui.cc:1017
+#: editor_markers.cc:657 editor_ops.cc:1927 editor_ops.cc:1947
+#: editor_ops.cc:2000 editor_ops.cc:2027 location_ui.cc:1021
msgid "add marker"
msgstr ""
-#: editor_markers.cc:677
+#: editor_markers.cc:688
msgid "range"
msgstr ""
-#: editor_markers.cc:713 location_ui.cc:852
+#: editor_markers.cc:691
+msgid "new range marker"
+msgstr ""
+
+#: editor_markers.cc:724 editor_ops.cc:1967 location_ui.cc:856
msgid "remove marker"
msgstr ""
-#: editor_markers.cc:849
+#: editor_markers.cc:860
msgid "Locate to Here"
msgstr ""
-#: editor_markers.cc:850
+#: editor_markers.cc:861
msgid "Play from Here"
msgstr ""
-#: editor_markers.cc:851
+#: editor_markers.cc:862
msgid "Move Mark to Playhead"
msgstr ""
-#: editor_markers.cc:855
+#: editor_markers.cc:866
msgid "Create Range to Next Marker"
msgstr ""
-#: editor_markers.cc:896
+#: editor_markers.cc:907
msgid "Locate to Marker"
msgstr ""
-#: editor_markers.cc:897
+#: editor_markers.cc:908
msgid "Play from Marker"
msgstr ""
-#: editor_markers.cc:900
+#: editor_markers.cc:911
msgid "Set Marker from Playhead"
msgstr ""
-#: editor_markers.cc:902
+#: editor_markers.cc:913
msgid "Set Range from Selection"
msgstr ""
-#: editor_markers.cc:905
-msgid "Zoom to Range"
-msgstr ""
-
-#: editor_markers.cc:912
+#: editor_markers.cc:923
msgid "Hide Range"
msgstr ""
-#: editor_markers.cc:913
+#: editor_markers.cc:924
msgid "Rename Range..."
msgstr ""
-#: editor_markers.cc:917
+#: editor_markers.cc:928
msgid "Remove Range"
msgstr ""
-#: editor_markers.cc:924
+#: editor_markers.cc:935
msgid "Separate Regions in Range"
msgstr ""
-#: editor_markers.cc:927
+#: editor_markers.cc:938
msgid "Select Range"
msgstr ""
-#: editor_markers.cc:956
+#: editor_markers.cc:967
msgid "Set Punch Range"
msgstr ""
-#: editor_markers.cc:1362 editor_ops.cc:1699
+#: editor_markers.cc:1373 editor_ops.cc:1882
msgid "New Name:"
msgstr ""
-#: editor_markers.cc:1365
+#: editor_markers.cc:1376
msgid "Rename Mark"
msgstr ""
-#: editor_markers.cc:1367
+#: editor_markers.cc:1378
msgid "Rename Range"
msgstr ""
-#: editor_markers.cc:1374 editor_mouse.cc:2560 processor_box.cc:1808
-#: processor_box.cc:2274 route_time_axis.cc:982 route_ui.cc:1540
+#: editor_markers.cc:1385 editor_mouse.cc:2321 processor_box.cc:2037
+#: processor_box.cc:2507 route_time_axis.cc:1063 route_ui.cc:1632
msgid "Rename"
msgstr ""
-#: editor_markers.cc:1387
+#: editor_markers.cc:1398
msgid "rename marker"
msgstr ""
-#: editor_markers.cc:1411
+#: editor_markers.cc:1422
msgid "set loop range"
msgstr ""
-#: editor_markers.cc:1417
+#: editor_markers.cc:1428
msgid "set punch range"
msgstr ""
@@ -4532,185 +4653,194 @@ msgstr ""
msgid "This screen is not tall enough to display the editor mixer"
msgstr ""
-#: editor_mouse.cc:172
-msgid "Editor::event_frame() used on unhandled event type %1"
+#: editor_mouse.cc:1386 editor_mouse.cc:1404 editor_tempodisplay.cc:273
+msgid ""
+"programming error: tempo marker canvas item has no marker object pointer!"
+msgstr ""
+
+#: editor_mouse.cc:1391 editor_tempodisplay.cc:278
+msgid "programming error: marker for tempo is not a tempo marker!"
+msgstr ""
+
+#: editor_mouse.cc:1409 editor_tempodisplay.cc:382
+msgid "programming error: marker for meter is not a meter marker!"
msgstr ""
-#: editor_mouse.cc:2285 editor_mouse.cc:2310 editor_mouse.cc:2323
+#: editor_mouse.cc:2049 editor_mouse.cc:2074 editor_mouse.cc:2087
msgid ""
"programming error: control point canvas item has no control point object "
"pointer!"
msgstr ""
-#: editor_mouse.cc:2466
+#: editor_mouse.cc:2230
msgid "start point trim"
msgstr ""
-#: editor_mouse.cc:2491
+#: editor_mouse.cc:2255
msgid "End point trim"
msgstr ""
-#: editor_mouse.cc:2558
+#: editor_mouse.cc:2319
msgid "Name for region:"
msgstr ""
-#: editor_ops.cc:140
+#: editor_ops.cc:147
msgid "split"
msgstr ""
-#: editor_ops.cc:256
+#: editor_ops.cc:291
msgid "alter selection"
msgstr ""
-#: editor_ops.cc:298
+#: editor_ops.cc:333
msgid "nudge regions forward"
msgstr ""
-#: editor_ops.cc:321 editor_ops.cc:406
+#: editor_ops.cc:356 editor_ops.cc:441
msgid "nudge location forward"
msgstr ""
-#: editor_ops.cc:379
+#: editor_ops.cc:414
msgid "nudge regions backward"
msgstr ""
-#: editor_ops.cc:468
+#: editor_ops.cc:503
msgid "nudge forward"
msgstr ""
-#: editor_ops.cc:492
+#: editor_ops.cc:527
msgid "nudge backward"
msgstr ""
-#: editor_ops.cc:557
+#: editor_ops.cc:570
+msgid "sequence regions"
+msgstr ""
+
+#: editor_ops.cc:646
msgid "build_region_boundary_cache called with snap_type = %1"
msgstr ""
-#: editor_ops.cc:1701
+#: editor_ops.cc:1884
msgid "New Location Marker"
msgstr ""
-#: editor_ops.cc:1788
+#: editor_ops.cc:2000
msgid "add markers"
msgstr ""
-#: editor_ops.cc:1894
+#: editor_ops.cc:2106
msgid "clear markers"
msgstr ""
-#: editor_ops.cc:1907
+#: editor_ops.cc:2119
msgid "clear ranges"
msgstr ""
-#: editor_ops.cc:1929
+#: editor_ops.cc:2133
msgid "clear locations"
msgstr ""
-#: editor_ops.cc:2000
-msgid "insert dragged region"
-msgstr ""
-
-#: editor_ops.cc:2078
+#: editor_ops.cc:2195
msgid "insert region"
msgstr ""
-#: editor_ops.cc:2261
+#: editor_ops.cc:2381
msgid "raise regions"
msgstr ""
-#: editor_ops.cc:2263
+#: editor_ops.cc:2383
msgid "raise region"
msgstr ""
-#: editor_ops.cc:2269
+#: editor_ops.cc:2389
msgid "raise regions to top"
msgstr ""
-#: editor_ops.cc:2271
+#: editor_ops.cc:2391
msgid "raise region to top"
msgstr ""
-#: editor_ops.cc:2277
+#: editor_ops.cc:2397
msgid "lower regions"
msgstr ""
-#: editor_ops.cc:2279 editor_ops.cc:2287
+#: editor_ops.cc:2399 editor_ops.cc:2407
msgid "lower region"
msgstr ""
-#: editor_ops.cc:2285
+#: editor_ops.cc:2405
msgid "lower regions to bottom"
msgstr ""
-#: editor_ops.cc:2370
+#: editor_ops.cc:2490
msgid "Rename Region"
msgstr ""
-#: editor_ops.cc:2372 processor_box.cc:1806 route_ui.cc:1538
+#: editor_ops.cc:2492 processor_box.cc:2035 route_ui.cc:1630
msgid "New name:"
msgstr ""
-#: editor_ops.cc:2682
+#: editor_ops.cc:2802
msgid "separate"
msgstr ""
-#: editor_ops.cc:2795
+#: editor_ops.cc:2914
msgid "separate region under"
msgstr ""
-#: editor_ops.cc:2916
+#: editor_ops.cc:3035
msgid "trim to selection"
msgstr ""
-#: editor_ops.cc:3052
+#: editor_ops.cc:3171
msgid "set sync point"
msgstr ""
-#: editor_ops.cc:3076
+#: editor_ops.cc:3195
msgid "remove region sync"
msgstr ""
-#: editor_ops.cc:3098
+#: editor_ops.cc:3217
msgid "move regions to original position"
msgstr ""
-#: editor_ops.cc:3100
+#: editor_ops.cc:3219
msgid "move region to original position"
msgstr ""
-#: editor_ops.cc:3121
+#: editor_ops.cc:3240
msgid "align selection"
msgstr ""
-#: editor_ops.cc:3195
+#: editor_ops.cc:3314
msgid "align selection (relative)"
msgstr ""
-#: editor_ops.cc:3229
+#: editor_ops.cc:3348
msgid "align region"
msgstr ""
-#: editor_ops.cc:3280
+#: editor_ops.cc:3399
msgid "trim front"
msgstr ""
-#: editor_ops.cc:3280
+#: editor_ops.cc:3399
msgid "trim back"
msgstr ""
-#: editor_ops.cc:3310
+#: editor_ops.cc:3429
msgid "trim to loop"
msgstr ""
-#: editor_ops.cc:3320
+#: editor_ops.cc:3439
msgid "trim to punch"
msgstr ""
-#: editor_ops.cc:3382
+#: editor_ops.cc:3501
msgid "trim to region"
msgstr ""
-#: editor_ops.cc:3492
+#: editor_ops.cc:3609
msgid ""
"This track/bus cannot be frozen because the signal adds or loses channels "
"before reaching the outputs.\n"
@@ -4718,11 +4848,11 @@ msgid ""
"input or vice versa."
msgstr ""
-#: editor_ops.cc:3495
+#: editor_ops.cc:3612
msgid "Cannot freeze"
msgstr ""
-#: editor_ops.cc:3501
+#: editor_ops.cc:3618
msgid ""
"<b>%1</b>\n"
"\n"
@@ -4731,23 +4861,23 @@ msgid ""
"Freezing will only process the signal as far as the first send/insert/return."
msgstr ""
-#: editor_ops.cc:3505
+#: editor_ops.cc:3622
msgid "Freeze anyway"
msgstr ""
-#: editor_ops.cc:3506
+#: editor_ops.cc:3623
msgid "Don't freeze"
msgstr ""
-#: editor_ops.cc:3507
+#: editor_ops.cc:3624
msgid "Freeze Limits"
msgstr ""
-#: editor_ops.cc:3522
+#: editor_ops.cc:3639
msgid "Cancel Freeze"
msgstr ""
-#: editor_ops.cc:3553
+#: editor_ops.cc:3670
msgid ""
"You can't perform this operation because the processing of the signal will "
"cause one or more of the tracks to end up with a region with more channels "
@@ -4756,182 +4886,202 @@ msgid ""
"You can do this without processing, which is a different operation."
msgstr ""
-#: editor_ops.cc:3557
+#: editor_ops.cc:3674
msgid "Cannot bounce"
msgstr ""
-#: editor_ops.cc:3568
+#: editor_ops.cc:3685
msgid "bounce range"
msgstr ""
-#: editor_ops.cc:3678
+#: editor_ops.cc:3787
msgid "delete"
msgstr ""
-#: editor_ops.cc:3681
+#: editor_ops.cc:3790
msgid "cut"
msgstr ""
-#: editor_ops.cc:3684
+#: editor_ops.cc:3793
msgid "copy"
msgstr ""
-#: editor_ops.cc:3687
+#: editor_ops.cc:3796
msgid "clear"
msgstr ""
-#: editor_ops.cc:3785
-msgid " objects"
+#: editor_ops.cc:3849
+msgid " points"
+msgstr ""
+
+#: editor_ops.cc:3860
+msgid "points"
+msgstr ""
+
+#: editor_ops.cc:3862
+msgid "regions"
+msgstr ""
+
+#: editor_ops.cc:3864
+msgid "objects"
msgstr ""
-#: editor_ops.cc:3815
+#: editor_ops.cc:3894
msgid " range"
msgstr ""
-#: editor_ops.cc:3957 editor_ops.cc:3984
+#: editor_ops.cc:4063
msgid "remove region"
msgstr ""
-#: editor_ops.cc:4391
+#: editor_ops.cc:4479
msgid "duplicate selection"
msgstr ""
-#: editor_ops.cc:4469
+#: editor_ops.cc:4557
msgid "nudge track"
msgstr ""
-#: editor_ops.cc:4506
+#: editor_ops.cc:4594
msgid ""
"Do you really want to destroy the last capture?\n"
"(This is destructive and cannot be undone)"
msgstr ""
-#: editor_ops.cc:4509 editor_ops.cc:6512 editor_regions.cc:460
-#: editor_snapshots.cc:158 route_ui.cc:1482
+#: editor_ops.cc:4597 editor_ops.cc:6599 editor_regions.cc:461
+#: editor_snapshots.cc:159 route_ui.cc:1573
msgid "No, do nothing."
msgstr ""
-#: editor_ops.cc:4510
+#: editor_ops.cc:4598
msgid "Yes, destroy it."
msgstr ""
-#: editor_ops.cc:4512
+#: editor_ops.cc:4600
msgid "Destroy last capture"
msgstr ""
-#: editor_ops.cc:4573
+#: editor_ops.cc:4661
msgid "normalize"
msgstr "normalise"
-#: editor_ops.cc:4668
+#: editor_ops.cc:4756
msgid "reverse regions"
msgstr ""
-#: editor_ops.cc:4702
+#: editor_ops.cc:4790
msgid "strip silence"
msgstr ""
-#: editor_ops.cc:4763
+#: editor_ops.cc:4851
msgid "Fork Region(s)"
msgstr ""
-#: editor_ops.cc:4963
+#: editor_ops.cc:4872
+msgid "Could not unlink %1"
+msgstr ""
+
+#: editor_ops.cc:5056
msgid "reset region gain"
msgstr ""
-#: editor_ops.cc:5016
+#: editor_ops.cc:5109
msgid "region gain envelope active"
msgstr ""
-#: editor_ops.cc:5043
+#: editor_ops.cc:5136
msgid "toggle region lock"
msgstr ""
-#: editor_ops.cc:5067
+#: editor_ops.cc:5160
msgid "Toggle Video Lock"
msgstr ""
-#: editor_ops.cc:5091
+#: editor_ops.cc:5184
msgid "region lock style"
msgstr ""
-#: editor_ops.cc:5116
+#: editor_ops.cc:5209
msgid "change region opacity"
msgstr ""
-#: editor_ops.cc:5231
+#: editor_ops.cc:5302
+msgid "fade range"
+msgstr ""
+
+#: editor_ops.cc:5340
msgid "set fade in length"
msgstr ""
-#: editor_ops.cc:5238
+#: editor_ops.cc:5347
msgid "set fade out length"
msgstr ""
-#: editor_ops.cc:5283
+#: editor_ops.cc:5392
msgid "set fade in shape"
msgstr ""
-#: editor_ops.cc:5314
+#: editor_ops.cc:5423
msgid "set fade out shape"
msgstr ""
-#: editor_ops.cc:5344
+#: editor_ops.cc:5453
msgid "set fade in active"
msgstr ""
-#: editor_ops.cc:5373
+#: editor_ops.cc:5482
msgid "set fade out active"
msgstr ""
-#: editor_ops.cc:5638
+#: editor_ops.cc:5717
msgid "set loop range from selection"
msgstr ""
-#: editor_ops.cc:5660
+#: editor_ops.cc:5739
msgid "set loop range from edit range"
msgstr ""
-#: editor_ops.cc:5689
+#: editor_ops.cc:5768
msgid "set loop range from region"
msgstr ""
-#: editor_ops.cc:5707
+#: editor_ops.cc:5786
msgid "set punch range from selection"
msgstr ""
-#: editor_ops.cc:5724
+#: editor_ops.cc:5803
msgid "set punch range from edit range"
msgstr ""
-#: editor_ops.cc:5748
+#: editor_ops.cc:5827
msgid "set punch range from region"
msgstr ""
-#: editor_ops.cc:5857
+#: editor_ops.cc:5936
msgid "Add new marker"
msgstr ""
-#: editor_ops.cc:5858
+#: editor_ops.cc:5937
msgid "Set global tempo"
msgstr ""
-#: editor_ops.cc:5861
+#: editor_ops.cc:5940
msgid "Define one bar"
msgstr ""
-#: editor_ops.cc:5862
+#: editor_ops.cc:5941
msgid "Do you want to set the global tempo or add a new tempo marker?"
msgstr ""
-#: editor_ops.cc:5888
+#: editor_ops.cc:5967
msgid "set tempo from region"
msgstr ""
-#: editor_ops.cc:5918
+#: editor_ops.cc:5997
msgid "split regions"
msgstr ""
-#: editor_ops.cc:5960
+#: editor_ops.cc:6039
msgid ""
"You are about to split\n"
"%1\n"
@@ -4939,62 +5089,62 @@ msgid ""
"This could take a long time."
msgstr ""
-#: editor_ops.cc:5967
+#: editor_ops.cc:6046
msgid "Call for the Ferret!"
msgstr ""
-#: editor_ops.cc:5968
+#: editor_ops.cc:6047
msgid ""
"Press OK to continue with this split operation\n"
"or ask the Ferret dialog to tune the analysis"
msgstr ""
-#: editor_ops.cc:5970
+#: editor_ops.cc:6049
msgid "Press OK to continue with this split operation"
msgstr ""
-#: editor_ops.cc:5973
+#: editor_ops.cc:6052
msgid "Excessive split?"
msgstr ""
-#: editor_ops.cc:6125
+#: editor_ops.cc:6204
msgid "place transient"
msgstr ""
-#: editor_ops.cc:6160
+#: editor_ops.cc:6239
msgid "snap regions to grid"
msgstr ""
-#: editor_ops.cc:6199
+#: editor_ops.cc:6278
msgid "Close Region Gaps"
msgstr ""
-#: editor_ops.cc:6204
+#: editor_ops.cc:6283
msgid "Crossfade length"
msgstr ""
-#: editor_ops.cc:6213 editor_ops.cc:6224 rhythm_ferret.cc:120
-#: session_option_editor.cc:153
+#: editor_ops.cc:6292 editor_ops.cc:6303 rhythm_ferret.cc:119
+#: session_option_editor.cc:141
msgid "ms"
msgstr ""
-#: editor_ops.cc:6215
+#: editor_ops.cc:6294
msgid "Pull-back length"
msgstr ""
-#: editor_ops.cc:6228
+#: editor_ops.cc:6307
msgid "Ok"
msgstr ""
-#: editor_ops.cc:6243
+#: editor_ops.cc:6322
msgid "close region gaps"
msgstr ""
-#: editor_ops.cc:6461 route_ui.cc:1456
+#: editor_ops.cc:6547 route_ui.cc:1547
msgid "That would be bad news ...."
msgstr ""
-#: editor_ops.cc:6466 route_ui.cc:1461
+#: editor_ops.cc:6552 route_ui.cc:1552
msgid ""
"Removing the master or monitor bus is such a bad idea\n"
"that %1 is not going to allow it.\n"
@@ -5004,23 +5154,23 @@ msgid ""
"\"allow-special-bus-removal\" option to be \"yes\""
msgstr ""
-#: editor_ops.cc:6483
+#: editor_ops.cc:6570
msgid "tracks"
msgstr ""
-#: editor_ops.cc:6485 route_ui.cc:1821
+#: editor_ops.cc:6572 route_ui.cc:1996
msgid "track"
msgstr ""
-#: editor_ops.cc:6489
+#: editor_ops.cc:6576
msgid "busses"
msgstr ""
-#: editor_ops.cc:6491 route_ui.cc:1821
+#: editor_ops.cc:6578 route_ui.cc:1996
msgid "bus"
msgstr ""
-#: editor_ops.cc:6496
+#: editor_ops.cc:6583
msgid ""
"Do you really want to remove %1 %2 and %3 %4?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5028,7 +5178,7 @@ msgid ""
"This action cannot be undone, and the session file will be overwritten!"
msgstr ""
-#: editor_ops.cc:6501
+#: editor_ops.cc:6588
msgid ""
"Do you really want to remove %1 %2?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5036,408 +5186,402 @@ msgid ""
"This action cannot be undone, and the session file will be overwritten!"
msgstr ""
-#: editor_ops.cc:6507
+#: editor_ops.cc:6594
msgid ""
"Do you really want to remove %1 %2?\n"
"\n"
-"This action cannot be undon, and the session file will be overwritten"
+"This action cannot be undone, and the session file will be overwritten"
msgstr ""
-#: editor_ops.cc:6514
+#: editor_ops.cc:6601
msgid "Yes, remove them."
msgstr ""
-#: editor_ops.cc:6516 editor_snapshots.cc:159 route_ui.cc:1483
+#: editor_ops.cc:6603 editor_snapshots.cc:160 route_ui.cc:1574
msgid "Yes, remove it."
msgstr ""
-#: editor_ops.cc:6521 editor_ops.cc:6523
+#: editor_ops.cc:6608 editor_ops.cc:6610
msgid "Remove %1"
msgstr ""
-#: editor_ops.cc:6582
+#: editor_ops.cc:6673
msgid "insert time"
msgstr ""
-#: editor_ops.cc:6739
+#: editor_ops.cc:6837
msgid "There are too many tracks to fit in the current window"
msgstr ""
-#: editor_ops.cc:6839
+#: editor_ops.cc:6898
+msgid "Sel"
+msgstr ""
+
+#: editor_ops.cc:6937
#, c-format
msgid "Saved view %u"
msgstr ""
-#: editor_ops.cc:6864
+#: editor_ops.cc:6962
msgid "mute regions"
msgstr ""
-#: editor_ops.cc:6866
+#: editor_ops.cc:6964
msgid "mute region"
msgstr ""
-#: editor_ops.cc:6903
+#: editor_ops.cc:7001
msgid "combine regions"
msgstr ""
-#: editor_ops.cc:6941
+#: editor_ops.cc:7039
msgid "uncombine regions"
msgstr ""
-#: editor_regions.cc:111
-msgid "Region name, with number of channels in []'s"
+#: editor_ops.cc:7076
+msgid "%1: Locked"
+msgstr ""
+
+#: editor_ops.cc:7083
+msgid "Click to unlock"
+msgstr ""
+
+#: editor_ops.cc:7137
+msgid "Moving embedded files into session folder"
msgstr ""
#: editor_regions.cc:112
+msgid "Region name, with number of channels in []'s"
+msgstr ""
+
+#: editor_regions.cc:113
msgid "Position of start of region"
msgstr ""
-#: editor_regions.cc:113 editor_regions.cc:849 time_info_box.cc:98
+#: editor_regions.cc:114 editor_regions.cc:850 time_info_box.cc:101
msgid "End"
msgstr ""
-#: editor_regions.cc:113
+#: editor_regions.cc:114
msgid "Position of end of region"
msgstr ""
-#: editor_regions.cc:114
+#: editor_regions.cc:115
msgid "Length of the region"
msgstr ""
-#: editor_regions.cc:115
+#: editor_regions.cc:116
msgid "Position of region sync point, relative to start of the region"
msgstr ""
-#: editor_regions.cc:116
+#: editor_regions.cc:117
msgid "Length of region fade-in (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:117
-msgid "Length of region fade-out (units: secondary clock), () if dsisabled"
+#: editor_regions.cc:118
+msgid "Length of region fade-out (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:118 mixer_strip.cc:1954 mono_panner.cc:179
-#: stereo_panner.cc:217 stereo_panner.cc:240
+#: editor_regions.cc:119 mixer_strip.cc:2002 mono_panner.cc:204
+#: panner2d.cc:237 stereo_panner.cc:248 stereo_panner.cc:271
msgid "L"
msgstr ""
-#: editor_regions.cc:118
+#: editor_regions.cc:119
msgid "Region position locked?"
msgstr ""
-#: editor_regions.cc:119
+#: editor_regions.cc:120 route_time_axis.cc:99
msgid "G"
msgstr ""
-#: editor_regions.cc:119
+#: editor_regions.cc:120
msgid "Region position glued to Bars|Beats time?"
msgstr ""
-#: editor_regions.cc:120 editor_routes.cc:207 gain_meter.cc:762
-#: mixer_strip.cc:1931 meter_strip.cc:320 panner_ui.cc:553
-#: stereo_panner.cc:237
+#: editor_regions.cc:121 editor_routes.cc:211 gain_meter.cc:760
+#: mixer_strip.cc:1979 meter_strip.cc:359 panner_ui.cc:602
+#: route_time_axis.cc:2558 stereo_panner.cc:268 time_axis_view.cc:1159
msgid "M"
msgstr ""
-#: editor_regions.cc:120
+#: editor_regions.cc:121
msgid "Region muted?"
msgstr ""
-#: editor_regions.cc:121
+#: editor_regions.cc:122 mixer_strip.cc:1802
msgid "O"
msgstr ""
-#: editor_regions.cc:121
+#: editor_regions.cc:122
msgid "Region opaque (blocks regions below it from being heard)?"
msgstr ""
-#: editor_regions.cc:310 editor_regions.cc:315 editor_regions.cc:317
+#: editor_regions.cc:311 editor_regions.cc:316 editor_regions.cc:318
msgid "Hidden"
msgstr ""
-#: editor_regions.cc:389
+#: editor_regions.cc:390
msgid "(MISSING) "
msgstr ""
-#: editor_regions.cc:457
+#: editor_regions.cc:458
msgid ""
"Do you really want to remove unused regions?\n"
"(This is destructive and cannot be undone)"
msgstr ""
-#: editor_regions.cc:461
+#: editor_regions.cc:462
msgid "Yes, remove."
msgstr ""
-#: editor_regions.cc:463
+#: editor_regions.cc:464
msgid "Remove unused regions"
msgstr ""
-#: editor_regions.cc:816 editor_regions.cc:830 editor_regions.cc:844
+#: editor_regions.cc:817 editor_regions.cc:831 editor_regions.cc:845
msgid "Mult."
msgstr ""
-#: editor_regions.cc:847 midi_list_editor.cc:103 time_info_box.cc:91
+#: editor_regions.cc:848 midi_list_editor.cc:103 time_info_box.cc:94
msgid "Start"
msgstr ""
-#: editor_regions.cc:865 editor_regions.cc:881
+#: editor_regions.cc:866 editor_regions.cc:882
msgid "Multiple"
msgstr ""
-#: editor_regions.cc:950
+#: editor_regions.cc:951
msgid "MISSING "
msgstr ""
-#: editor_routes.cc:178 editor_routes.cc:210
+#: editor_routes.cc:182 editor_routes.cc:214
msgid "SS"
msgstr ""
-#: editor_routes.cc:202
+#: editor_routes.cc:206
msgid "Track/Bus Name"
msgstr ""
-#: editor_routes.cc:203
+#: editor_routes.cc:207
msgid "Track/Bus visible ?"
msgstr ""
-#: editor_routes.cc:204 mixer_strip.cc:1945 meter_strip.cc:334
-#: route_time_axis.cc:2407
+#: editor_routes.cc:208 mixer_strip.cc:1993 meter_strip.cc:371
+#: route_time_axis.cc:101 route_time_axis.cc:2546
msgid "A"
msgstr ""
-#: editor_routes.cc:204
+#: editor_routes.cc:208
msgid "Track/Bus active ?"
msgstr ""
-#: editor_routes.cc:205 mixer_strip.cc:1932
+#: editor_routes.cc:209 mixer_strip.cc:1980 mixer_strip.cc:2001
+#: meter_strip.cc:379
msgid "I"
msgstr ""
-#: editor_routes.cc:205
+#: editor_routes.cc:209
msgid "MIDI input enabled"
msgstr ""
-#: editor_routes.cc:206 mixer_strip.cc:1930 mono_panner.cc:198
-#: stereo_panner.cc:215 stereo_panner.cc:242
+#: editor_routes.cc:210 mono_panner.cc:221 panner2d.cc:238
+#: stereo_panner.cc:246 stereo_panner.cc:273
msgid "R"
msgstr ""
-#: editor_routes.cc:206
+#: editor_routes.cc:210
msgid "Record enabled"
msgstr ""
-#: editor_routes.cc:207
+#: editor_routes.cc:211
msgid "Muted"
msgstr ""
-#: editor_routes.cc:208 mixer_strip.cc:1941 meter_strip.cc:330
+#: editor_routes.cc:212 mixer_strip.cc:1989 meter_strip.cc:367
+#: route_time_axis.cc:2555
msgid "S"
msgstr ""
-#: editor_routes.cc:208
+#: editor_routes.cc:212
msgid "Soloed"
msgstr ""
-#: editor_routes.cc:209
+#: editor_routes.cc:213
msgid "SI"
msgstr ""
-#: editor_routes.cc:209 mixer_strip.cc:353 rc_option_editor.cc:1867
+#: editor_routes.cc:213
msgid "Solo Isolated"
msgstr ""
-#: editor_routes.cc:210
+#: editor_routes.cc:214
msgid "Solo Safe (Locked)"
msgstr ""
-#: editor_routes.cc:471 mixer_ui.cc:1162
+#: editor_routes.cc:477 mixer_ui.cc:1182
msgid "Hide All"
msgstr ""
-#: editor_routes.cc:472 mixer_ui.cc:1163
+#: editor_routes.cc:478 mixer_ui.cc:1183
msgid "Show All Audio Tracks"
msgstr ""
-#: editor_routes.cc:473 mixer_ui.cc:1164
+#: editor_routes.cc:479 mixer_ui.cc:1184
msgid "Hide All Audio Tracks"
msgstr ""
-#: editor_routes.cc:474 mixer_ui.cc:1165
+#: editor_routes.cc:480 mixer_ui.cc:1185
msgid "Show All Audio Busses"
msgstr ""
-#: editor_routes.cc:475 mixer_ui.cc:1166
+#: editor_routes.cc:481 mixer_ui.cc:1186
msgid "Hide All Audio Busses"
msgstr ""
-#: editor_routes.cc:476
+#: editor_routes.cc:482
msgid "Show All Midi Tracks"
msgstr ""
-#: editor_routes.cc:477
+#: editor_routes.cc:483
msgid "Hide All Midi Tracks"
msgstr ""
-#: editor_routes.cc:478
+#: editor_routes.cc:484
msgid "Show Tracks With Regions Under Playhead"
msgstr ""
-#: editor_rulers.cc:340
+#: editor_rulers.cc:216
msgid "New location marker"
msgstr ""
-#: editor_rulers.cc:341
+#: editor_rulers.cc:217
msgid "Clear all locations"
msgstr ""
-#: editor_rulers.cc:342
+#: editor_rulers.cc:218
msgid "Unhide locations"
msgstr ""
-#: editor_rulers.cc:346
+#: editor_rulers.cc:222
msgid "New range"
msgstr ""
-#: editor_rulers.cc:347
+#: editor_rulers.cc:223
msgid "Clear all ranges"
msgstr ""
-#: editor_rulers.cc:348
+#: editor_rulers.cc:224
msgid "Unhide ranges"
msgstr ""
-#: editor_rulers.cc:358
+#: editor_rulers.cc:234
msgid "New CD track marker"
msgstr ""
-#: editor_rulers.cc:363 tempo_dialog.cc:40
+#: editor_rulers.cc:239 tempo_dialog.cc:39
msgid "New Tempo"
msgstr ""
-#: editor_rulers.cc:368 tempo_dialog.cc:255
+#: editor_rulers.cc:243 tempo_dialog.cc:289
msgid "New Meter"
msgstr ""
-#: editor_rulers.cc:373
+#: editor_rulers.cc:247
msgid "Timeline height"
msgstr ""
-#: editor_rulers.cc:383
+#: editor_rulers.cc:257
msgid "Align Video Track"
msgstr ""
-#: editor_selection.cc:889 editor_selection.cc:932
+#: editor_selection.cc:895 editor_selection.cc:938
msgid "set selected regions"
msgstr ""
-#: editor_selection.cc:1414
+#: editor_selection.cc:1417
msgid "select all"
msgstr ""
-#: editor_selection.cc:1506
+#: editor_selection.cc:1511
msgid "select all within"
msgstr ""
-#: editor_selection.cc:1564
+#: editor_selection.cc:1569
msgid "set selection from range"
msgstr ""
-#: editor_selection.cc:1604
+#: editor_selection.cc:1609
msgid "select all from range"
msgstr ""
-#: editor_selection.cc:1635
+#: editor_selection.cc:1640
msgid "select all from punch"
msgstr ""
-#: editor_selection.cc:1666
+#: editor_selection.cc:1671
msgid "select all from loop"
msgstr ""
-#: editor_selection.cc:1702
+#: editor_selection.cc:1707
msgid "select all after cursor"
msgstr ""
-#: editor_selection.cc:1704
+#: editor_selection.cc:1709
msgid "select all before cursor"
msgstr ""
-#: editor_selection.cc:1753
+#: editor_selection.cc:1758
msgid "select all after edit"
msgstr ""
-#: editor_selection.cc:1755
+#: editor_selection.cc:1760
msgid "select all before edit"
msgstr ""
-#: editor_selection.cc:1888
-msgid "No edit range defined"
-msgstr ""
-
-#: editor_selection.cc:1894
-msgid ""
-"the edit point is Selected Marker\n"
-"but there is no selected marker."
-msgstr ""
-
-#: editor_snapshots.cc:136
+#: editor_snapshots.cc:137
msgid "Rename Snapshot"
msgstr ""
-#: editor_snapshots.cc:138
+#: editor_snapshots.cc:139
msgid "New name of snapshot"
msgstr ""
-#: editor_snapshots.cc:156
+#: editor_snapshots.cc:157
msgid ""
"Do you really want to remove snapshot \"%1\" ?\n"
"(which cannot be undone)"
msgstr ""
-#: editor_snapshots.cc:161
+#: editor_snapshots.cc:162
msgid "Remove snapshot"
msgstr ""
-#: editor_tempodisplay.cc:208 editor_tempodisplay.cc:250
+#: editor_tempodisplay.cc:193 editor_tempodisplay.cc:235
msgid "add"
msgstr ""
-#: editor_tempodisplay.cc:231
+#: editor_tempodisplay.cc:216
msgid "add tempo mark"
msgstr ""
-#: editor_tempodisplay.cc:272
+#: editor_tempodisplay.cc:257
msgid "add meter mark"
msgstr ""
-#: editor_tempodisplay.cc:288 editor_tempodisplay.cc:367
-#: editor_tempodisplay.cc:386
-msgid ""
-"programming error: tempo marker canvas item has no marker object pointer!"
-msgstr ""
-
-#: editor_tempodisplay.cc:293 editor_tempodisplay.cc:372
-msgid "programming error: marker for tempo is not a tempo marker!"
-msgstr ""
-
-#: editor_tempodisplay.cc:305 editor_tempodisplay.cc:335
+#: editor_tempodisplay.cc:290 editor_tempodisplay.cc:320
msgid "done"
msgstr ""
-#: editor_tempodisplay.cc:324 editor_tempodisplay.cc:352
+#: editor_tempodisplay.cc:309 editor_tempodisplay.cc:337
msgid "replace tempo mark"
msgstr ""
-#: editor_tempodisplay.cc:391 editor_tempodisplay.cc:423
-msgid "programming error: marker for meter is not a meter marker!"
-msgstr ""
-
-#: editor_tempodisplay.cc:401 editor_tempodisplay.cc:435
+#: editor_tempodisplay.cc:360 editor_tempodisplay.cc:394
msgid "remove tempo mark"
msgstr ""
-#: editor_tempodisplay.cc:418
+#: editor_tempodisplay.cc:377
msgid ""
"programming error: meter marker canvas item has no marker object pointer!"
msgstr ""
@@ -5454,220 +5598,264 @@ msgstr ""
msgid "timefx cannot be started - thread creation error"
msgstr ""
-#: engine_dialog.cc:79
+#: engine_dialog.cc:81
msgid "Device Control Panel"
msgstr ""
-#: engine_dialog.cc:80 engine_dialog.cc:1725
+#: engine_dialog.cc:82
+msgid "Midi Device Setup"
+msgstr ""
+
+#: engine_dialog.cc:83 engine_dialog.cc:2021
msgid "Measure"
msgstr ""
-#: engine_dialog.cc:81
+#: engine_dialog.cc:84
msgid "Use results"
msgstr ""
-#: engine_dialog.cc:82
+#: engine_dialog.cc:85
msgid "Back to settings ... (ignore results)"
msgstr ""
-#: engine_dialog.cc:83
-msgid "Calibrate..."
+#: engine_dialog.cc:86
+msgid "Calibrate Audio"
msgstr ""
-#: engine_dialog.cc:87
-msgid "Refresh list"
+#: engine_dialog.cc:90
+msgid "Back to settings"
msgstr ""
-#: engine_dialog.cc:107
+#: engine_dialog.cc:108
msgid ""
"No audio/MIDI backends detected. %1 cannot run\n"
"\n"
"(This is a build/packaging/system error. It should never happen.)"
msgstr ""
-#: engine_dialog.cc:136
+#: engine_dialog.cc:135
msgid "Latency Measurement Tool"
msgstr ""
-#: engine_dialog.cc:151
+#: engine_dialog.cc:147 engine_dialog.cc:561
msgid ""
"<span weight=\"bold\">Turn down the volume on your audio equipment to a very "
"low level.</span>"
msgstr ""
-#: engine_dialog.cc:159
+#: engine_dialog.cc:156
msgid "Select two channels below and connect them using a cable."
msgstr ""
-#: engine_dialog.cc:164
+#: engine_dialog.cc:161
msgid "Output channel"
msgstr ""
-#: engine_dialog.cc:172
+#: engine_dialog.cc:169
msgid "Input channel"
msgstr ""
-#: engine_dialog.cc:207
+#: engine_dialog.cc:204
msgid "Once the channels are connected, click the \"Measure\" button."
msgstr ""
-#: engine_dialog.cc:214
+#: engine_dialog.cc:211
msgid "When satisfied with the results, click the \"Use results\" button."
msgstr ""
-#: engine_dialog.cc:229 engine_dialog.cc:1727
+#: engine_dialog.cc:226 engine_dialog.cc:2129 engine_dialog.cc:2139
msgid "No measurement results yet"
msgstr ""
-#: engine_dialog.cc:238 route_params_ui.cc:105
+#: engine_dialog.cc:236 route_params_ui.cc:105
msgid "Latency"
msgstr ""
-#: engine_dialog.cc:333
+#: engine_dialog.cc:351
msgid "Audio System:"
msgstr ""
-#: engine_dialog.cc:374
+#: engine_dialog.cc:394
msgid "Driver:"
msgstr ""
-#: engine_dialog.cc:380
+#: engine_dialog.cc:400
msgid "Device:"
msgstr ""
-#: engine_dialog.cc:385 engine_dialog.cc:475 sfdb_ui.cc:147 sfdb_ui.cc:260
-#: sfdb_ui.cc:265
+#: engine_dialog.cc:405 engine_dialog.cc:496 sfdb_ui.cc:151 sfdb_ui.cc:341
+#: sfdb_ui.cc:346
msgid "Sample rate:"
msgstr ""
-#: engine_dialog.cc:391 engine_dialog.cc:482
+#: engine_dialog.cc:411 engine_dialog.cc:503
msgid "Buffer size:"
msgstr ""
-#: engine_dialog.cc:404
+#: engine_dialog.cc:424
msgid "Input Channels:"
msgstr ""
-#: engine_dialog.cc:415
+#: engine_dialog.cc:435
msgid "Output Channels:"
msgstr ""
-#: engine_dialog.cc:426
+#: engine_dialog.cc:446
msgid "Hardware input latency:"
msgstr ""
-#: engine_dialog.cc:429 engine_dialog.cc:442
+#: engine_dialog.cc:449 engine_dialog.cc:462
msgid "samples"
msgstr ""
-#: engine_dialog.cc:439
+#: engine_dialog.cc:459
msgid "Hardware output latency:"
msgstr ""
-#: engine_dialog.cc:450
+#: engine_dialog.cc:470
msgid "MIDI System"
msgstr ""
-#: engine_dialog.cc:467
+#: engine_dialog.cc:488
msgid ""
"The %1 audio backend was configured and started externally.\n"
"This limits your control over it."
msgstr ""
-#: engine_dialog.cc:521
+#: engine_dialog.cc:543
+msgid ""
+"Failed to start or connect to audio-engine.\n"
+"\n"
+"Latency calibration requires a working audio interface."
+msgstr ""
+
+#: engine_dialog.cc:549
msgid ""
"Your selected audio configuration is playback- or capture-only.\n"
"\n"
"Latency calibration requires playback and capture"
msgstr ""
-#: engine_dialog.cc:595
-msgid "MIDI Inputs"
+#: engine_dialog.cc:630
+msgid "MIDI Devices"
msgstr ""
-#: engine_dialog.cc:612
-msgid "MIDI Outputs"
+#: engine_dialog.cc:636
+msgid "Device"
msgstr ""
-#: engine_dialog.cc:696
+#: engine_dialog.cc:638
+msgid "Hardware Latencies"
+msgstr ""
+
+#: engine_dialog.cc:679
+msgid "Calibrate"
+msgstr ""
+
+#: engine_dialog.cc:772
msgid "all available channels"
msgstr ""
-#: engine_dialog.cc:890
+#: engine_dialog.cc:976
#, c-format
msgid "%u samples"
msgstr ""
-#: engine_dialog.cc:941
+#: engine_dialog.cc:1023
#, c-format
msgid "(%.1f msecs)"
msgstr ""
-#: engine_dialog.cc:1389
+#: engine_dialog.cc:1532
+msgid "Could not start backend engine %1"
+msgstr ""
+
+#: engine_dialog.cc:1583
msgid "Cannot set driver to %1"
msgstr ""
-#: engine_dialog.cc:1393
+#: engine_dialog.cc:1587
msgid "Cannot set device name to %1"
msgstr ""
-#: engine_dialog.cc:1397
+#: engine_dialog.cc:1591
msgid "Cannot set sample rate to %1"
msgstr ""
-#: engine_dialog.cc:1401
+#: engine_dialog.cc:1595
msgid "Cannot set buffer size to %1"
msgstr ""
-#: engine_dialog.cc:1407
+#: engine_dialog.cc:1601
msgid "Cannot set input channels to %1"
msgstr ""
-#: engine_dialog.cc:1411
+#: engine_dialog.cc:1605
msgid "Cannot set output channels to %1"
msgstr ""
-#: engine_dialog.cc:1417
+#: engine_dialog.cc:1611
msgid "Cannot set input latency to %1"
msgstr ""
-#: engine_dialog.cc:1421
+#: engine_dialog.cc:1615
msgid "Cannot set output latency to %1"
msgstr ""
-#: engine_dialog.cc:1654
+#: engine_dialog.cc:1880 engine_dialog.cc:1939
msgid "No signal detected "
msgstr ""
-#: engine_dialog.cc:1667 port_insert_ui.cc:71 port_insert_ui.cc:99
+#: engine_dialog.cc:1893 engine_dialog.cc:1947 port_insert_ui.cc:70
+#: port_insert_ui.cc:98
msgid "Disconnected from audio engine"
msgstr ""
-#: engine_dialog.cc:1681
+#: engine_dialog.cc:1902 engine_dialog.cc:1955
+msgid "Detected roundtrip latency: "
+msgstr ""
+
+#: engine_dialog.cc:1904 engine_dialog.cc:1957
+msgid "Systemic latency: "
+msgstr ""
+
+#: engine_dialog.cc:1911
msgid "(signal detection error)"
msgstr ""
-#: engine_dialog.cc:1687
+#: engine_dialog.cc:1917
msgid "(inverted - bad wiring)"
msgstr ""
-#: engine_dialog.cc:1697
-msgid "Detected roundtrip latency: %1"
+#: engine_dialog.cc:1964
+msgid "(averaging)"
+msgstr ""
+
+#: engine_dialog.cc:1970
+msgid "(too large jitter)"
msgstr ""
-#: engine_dialog.cc:1709 port_insert_ui.cc:135
+#: engine_dialog.cc:1974
+msgid "(large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1985
+msgid "Timeout - large MIDI jitter."
+msgstr ""
+
+#: engine_dialog.cc:2001 port_insert_ui.cc:134
msgid "Detecting ..."
msgstr ""
-#: engine_dialog.cc:1789
+#: engine_dialog.cc:2095
msgid "Disconnect from %1"
msgstr ""
-#: engine_dialog.cc:1801
+#: engine_dialog.cc:2107
msgid "Connect to %1"
msgstr ""
-#: export_channel_selector.cc:45 sfdb_ui.cc:145
+#: export_channel_selector.cc:45 sfdb_ui.cc:149
msgid "Channels:"
msgstr ""
@@ -5709,92 +5897,100 @@ msgstr ""
msgid "List files"
msgstr ""
-#: export_dialog.cc:164 export_timespan_selector.cc:355
-#: export_timespan_selector.cc:417
-msgid "Time Span"
+#: export_dialog.cc:158 export_format_dialog.cc:59
+msgid "File format"
msgstr ""
-#: export_dialog.cc:176
-msgid "Channels"
+#: export_dialog.cc:159 export_timespan_selector.cc:374
+#: export_timespan_selector.cc:436
+msgid "Time Span"
msgstr ""
-#: export_dialog.cc:187
-msgid "Time span and channel options"
+#: export_dialog.cc:160
+msgid "Channels"
msgstr ""
-#: export_dialog.cc:221
+#: export_dialog.cc:182
msgid ""
"Export has been aborted due to an error!\n"
"See the Log for details."
msgstr ""
-#: export_dialog.cc:290
+#: export_dialog.cc:251
msgid "Files that will be overwritten"
msgstr ""
-#: export_dialog.cc:316
+#: export_dialog.cc:296
+msgid "Export initialization failed: %1"
+msgstr "Export initialisation failed: %1"
+
+#: export_dialog.cc:306
msgid "Stop Export"
msgstr ""
-#: export_dialog.cc:337
+#: export_dialog.cc:327
msgid "export"
msgstr ""
-#: export_dialog.cc:356
+#: export_dialog.cc:346
msgid "Normalizing '%3' (timespan %1 of %2)"
-msgstr ""
+msgstr "Normalising '%3' (timespan %1 of %2)"
-#: export_dialog.cc:360
+#: export_dialog.cc:350
msgid "Exporting '%3' (timespan %1 of %2)"
msgstr ""
-#: export_dialog.cc:383 export_dialog.cc:385
+#: export_dialog.cc:373 export_dialog.cc:375
msgid "<span color=\"#ffa755\">Error: "
msgstr ""
-#: export_dialog.cc:395
+#: export_dialog.cc:385
msgid "<span color=\"#ffa755\">Warning: "
msgstr ""
-#: export_dialog.cc:397
+#: export_dialog.cc:387
msgid ""
"\n"
"<span color=\"#ffa755\">Warning: "
msgstr ""
-#: export_dialog.cc:420
+#: export_dialog.cc:411
msgid "Export Selection"
msgstr ""
-#: export_dialog.cc:433
+#: export_dialog.cc:425
msgid "Export Region"
msgstr ""
-#: export_dialog.cc:443
+#: export_dialog.cc:434
msgid "Source"
msgstr ""
-#: export_dialog.cc:458
+#: export_dialog.cc:450
msgid "Stem Export"
msgstr ""
-#: export_file_notebook.cc:38
+#: export_file_notebook.cc:39
msgid "Add another format"
msgstr ""
-#: export_file_notebook.cc:178
+#: export_file_notebook.cc:193
msgid "Format"
msgstr ""
-#: export_file_notebook.cc:179
+#: export_file_notebook.cc:194
msgid "Location"
msgstr ""
-#: export_file_notebook.cc:255
+#: export_file_notebook.cc:195
+msgid "Upload to Soundcloud"
+msgstr ""
+
+#: export_file_notebook.cc:273
msgid "No format!"
msgstr ""
-#: export_file_notebook.cc:267
+#: export_file_notebook.cc:291
msgid "Format %1: %2"
msgstr ""
@@ -5815,9 +6011,9 @@ msgid "Folder:"
msgstr ""
#: export_filename_selector.cc:37 session_import_dialog.cc:44
-#: transcode_video_dialog.cc:58 video_server_dialog.cc:45
-#: video_server_dialog.cc:47 export_video_dialog.cc:68
-#: export_video_dialog.cc:70
+#: transcode_video_dialog.cc:59 video_server_dialog.cc:59
+#: video_server_dialog.cc:61 export_video_dialog.cc:69
+#: export_video_dialog.cc:71
msgid "Browse"
msgstr ""
@@ -5877,67 +6073,69 @@ msgstr ""
msgid "Add silence at end:"
msgstr ""
-#: export_format_dialog.cc:55
-msgid "Compatibility"
+#: export_format_dialog.cc:54
+msgid ""
+"Command to run post-export\n"
+"(%f=full path & filename, %d=directory, %b=basename):"
msgstr ""
-#: export_format_dialog.cc:56
-msgid "Quality"
+#: export_format_dialog.cc:57
+msgid "Compatibility"
msgstr ""
-#: export_format_dialog.cc:57
-msgid "File format"
+#: export_format_dialog.cc:58
+msgid "Quality"
msgstr ""
-#: export_format_dialog.cc:59
+#: export_format_dialog.cc:61
msgid "Sample rate conversion quality:"
msgstr ""
-#: export_format_dialog.cc:66
+#: export_format_dialog.cc:68
msgid "Dithering"
msgstr ""
-#: export_format_dialog.cc:68
+#: export_format_dialog.cc:70
msgid "Create CUE file for disk-at-once CD/DVD creation"
msgstr ""
-#: export_format_dialog.cc:69
+#: export_format_dialog.cc:71
msgid "Create TOC file for disk-at-once CD/DVD creation"
msgstr ""
-#: export_format_dialog.cc:71
+#: export_format_dialog.cc:73
msgid "Tag file with session's metadata"
msgstr ""
-#: export_format_dialog.cc:461
+#: export_format_dialog.cc:470
msgid "Best (sinc)"
msgstr ""
-#: export_format_dialog.cc:466
+#: export_format_dialog.cc:475
msgid "Medium (sinc)"
msgstr ""
-#: export_format_dialog.cc:471
+#: export_format_dialog.cc:480
msgid "Fast (sinc)"
msgstr ""
-#: export_format_dialog.cc:481
+#: export_format_dialog.cc:490
msgid "Zero order hold"
msgstr ""
-#: export_format_dialog.cc:879
+#: export_format_dialog.cc:895
msgid "Linear encoding options"
msgstr ""
-#: export_format_dialog.cc:895
+#: export_format_dialog.cc:911
msgid "Ogg Vorbis options"
msgstr ""
-#: export_format_dialog.cc:908
+#: export_format_dialog.cc:922
msgid "FLAC options"
msgstr ""
-#: export_format_dialog.cc:925
+#: export_format_dialog.cc:939
msgid "Broadcast Wave options"
msgstr ""
@@ -5963,11 +6161,15 @@ msgstr ""
msgid "Show Times as:"
msgstr ""
-#: export_timespan_selector.cc:204
+#: export_timespan_selector.cc:53 processor_box.cc:2509
+msgid "Select All"
+msgstr ""
+
+#: export_timespan_selector.cc:223
msgid " to "
msgstr ""
-#: export_timespan_selector.cc:348 export_timespan_selector.cc:407
+#: export_timespan_selector.cc:367 export_timespan_selector.cc:426
msgid "Range"
msgstr ""
@@ -5983,172 +6185,140 @@ msgstr ""
msgid "getSoundResourceFile: root = %1, != response"
msgstr ""
-#: sfdb_freesound_mootcher.cc:410
+#: sfdb_freesound_mootcher.cc:410 rc_option_editor.cc:1723
msgid "%1"
msgstr ""
-#: gain_meter.cc:105 gain_meter.cc:360 gain_meter.cc:465 gain_meter.cc:859
+#: gain_meter.cc:107 gain_meter.cc:367 gain_meter.cc:472 gain_meter.cc:857
msgid "-inf"
msgstr ""
-#: gain_meter.cc:111 gain_meter.cc:916
+#: gain_meter.cc:114 gain_meter.cc:919
msgid "Fader automation mode"
msgstr ""
-#: gain_meter.cc:112 gain_meter.cc:917
+#: gain_meter.cc:115 gain_meter.cc:920
msgid "Fader automation type"
msgstr ""
-#: gain_meter.cc:121 gain_meter.cc:798 panner_ui.cc:177 panner_ui.cc:589
+#: gain_meter.cc:124 gain_meter.cc:796 panner_ui.cc:178 panner_ui.cc:638
msgid "Abs"
msgstr ""
-#: gain_meter.cc:765 mixer_strip.cc:1948 meter_strip.cc:337 panner_ui.cc:556
-#: route_time_axis.cc:2411
+#: gain_meter.cc:763 mixer_strip.cc:1996 meter_strip.cc:374 panner_ui.cc:605
+#: route_time_axis.cc:100 route_time_axis.cc:2550
msgid "P"
msgstr ""
-#: gain_meter.cc:768 panner_ui.cc:559
+#: gain_meter.cc:766 panner_ui.cc:608
msgid "T"
msgstr ""
-#: gain_meter.cc:771 panner_ui.cc:562
+#: gain_meter.cc:769 panner_ui.cc:611
msgid "W"
msgstr ""
-#: generic_pluginui.cc:81
+#: generic_pluginui.cc:79
msgid "<span size=\"large\">Presets</span>"
msgstr ""
-#: generic_pluginui.cc:230
+#: generic_pluginui.cc:228
msgid "Switches"
msgstr ""
-#: generic_pluginui.cc:240 generic_pluginui.cc:374 processor_box.cc:2251
+#: generic_pluginui.cc:238 generic_pluginui.cc:372 processor_box.cc:2483
msgid "Controls"
msgstr ""
-#: generic_pluginui.cc:268
+#: generic_pluginui.cc:266
msgid "Plugin Editor: could not build control element for port %1"
msgstr ""
-#: generic_pluginui.cc:406
+#: generic_pluginui.cc:404
msgid "Meters"
msgstr ""
-#: generic_pluginui.cc:421
+#: generic_pluginui.cc:419
msgid "Automation control"
msgstr ""
-#: generic_pluginui.cc:428
+#: generic_pluginui.cc:426
msgid "Mgnual"
msgstr ""
-#: global_port_matrix.cc:157
+#: global_port_matrix.cc:158
msgid "Audio Connection Manager"
msgstr ""
-#: global_port_matrix.cc:160
+#: global_port_matrix.cc:161
msgid "MIDI Connection Manager"
msgstr ""
-#: global_port_matrix.cc:200 io_selector.cc:210 mixer_strip.cc:719
-#: mixer_strip.cc:845
+#: global_port_matrix.cc:201 io_selector.cc:211 mixer_strip.cc:795
+#: mixer_strip.cc:891
msgid "Disconnect"
msgstr ""
-#: global_port_matrix.cc:206 io_selector.cc:216
+#: global_port_matrix.cc:207 io_selector.cc:217
msgid "port"
msgstr ""
-#: group_tabs.cc:308
+#: group_tabs.cc:312
msgid "Selection..."
msgstr ""
-#: group_tabs.cc:309
+#: group_tabs.cc:313
msgid "Record Enabled..."
msgstr ""
-#: group_tabs.cc:310
+#: group_tabs.cc:314
msgid "Soloed..."
msgstr ""
-#: group_tabs.cc:316
+#: group_tabs.cc:320
msgid "Create New Group ..."
msgstr ""
-#: group_tabs.cc:317
+#: group_tabs.cc:321
msgid "Create New Group From"
msgstr ""
-#: group_tabs.cc:320
+#: group_tabs.cc:324
msgid "Edit Group..."
msgstr ""
-#: group_tabs.cc:321
+#: group_tabs.cc:325
msgid "Collect Group"
msgstr ""
-#: group_tabs.cc:322
+#: group_tabs.cc:326
msgid "Remove Group"
msgstr ""
-#: group_tabs.cc:325
+#: group_tabs.cc:329
msgid "Remove Subgroup Bus"
msgstr ""
-#: group_tabs.cc:327
+#: group_tabs.cc:331
msgid "Add New Subgroup Bus"
msgstr ""
-#: group_tabs.cc:329
+#: group_tabs.cc:333
msgid "Add New Aux Bus (pre-fader)"
msgstr ""
-#: group_tabs.cc:330
+#: group_tabs.cc:334
msgid "Add New Aux Bus (post-fader)"
msgstr ""
-#: group_tabs.cc:336
+#: group_tabs.cc:340
msgid "Enable All Groups"
msgstr ""
-#: group_tabs.cc:337
+#: group_tabs.cc:341
msgid "Disable All Groups"
msgstr ""
-#: gtk-custom-ruler.c:133
-msgid "Lower limit of ruler"
-msgstr ""
-
-#: gtk-custom-ruler.c:142
-msgid "Upper"
-msgstr ""
-
-#: gtk-custom-ruler.c:143
-msgid "Upper limit of ruler"
-msgstr ""
-
-#: gtk-custom-ruler.c:153
-msgid "Position of mark on the ruler"
-msgstr ""
-
-#: gtk-custom-ruler.c:162
-msgid "Max Size"
-msgstr ""
-
-#: gtk-custom-ruler.c:163
-msgid "Maximum size of the ruler"
-msgstr ""
-
-#: gtk-custom-ruler.c:172
-msgid "Show Position"
-msgstr ""
-
-#: gtk-custom-ruler.c:173
-msgid "Draw current ruler position"
-msgstr ""
-
#: insert_time_dialog.cc:46
msgid "Time to insert:"
msgstr ""
@@ -6203,27 +6373,27 @@ msgstr ""
msgid "Importing file: %1 of %2"
msgstr ""
-#: io_selector.cc:220
+#: io_selector.cc:221
msgid "I/O selector"
msgstr ""
-#: io_selector.cc:265
+#: io_selector.cc:266
msgid "%1 input"
msgstr ""
-#: io_selector.cc:267
+#: io_selector.cc:268
msgid "%1 output"
msgstr ""
-#: keyboard.cc:66
+#: keyboard.cc:70
msgid "your own"
msgstr ""
-#: keyboard.cc:129 keyboard.cc:153
+#: keyboard.cc:133 keyboard.cc:157
msgid "Default keybindings not found - %1 will be hard to use!"
msgstr ""
-#: keyboard.cc:132 keyboard.cc:156
+#: keyboard.cc:136
msgid "Key bindings file \"%1\" not found. Default bindings used instead"
msgstr ""
@@ -6239,27 +6409,31 @@ msgstr ""
msgid "Shortcut"
msgstr ""
-#: keyeditor.cc:86
+#: keyeditor.cc:85
msgid "Select an action, then press the key(s) to (re)set its shortcut"
msgstr ""
-#: keyeditor.cc:251
+#: keyeditor.cc:99
+msgid "Reset Bindings to Defaults"
+msgstr ""
+
+#: keyeditor.cc:260
msgid "Main_menu"
msgstr ""
-#: keyeditor.cc:253
+#: keyeditor.cc:262
msgid "redirectmenu"
msgstr ""
-#: keyeditor.cc:255
+#: keyeditor.cc:264
msgid "Editor_menus"
msgstr ""
-#: keyeditor.cc:257
+#: keyeditor.cc:266
msgid "RegionList"
msgstr ""
-#: keyeditor.cc:259
+#: keyeditor.cc:268
msgid "ProcessorMenu"
msgstr ""
@@ -6281,132 +6455,103 @@ msgid_plural "%1 samples"
msgstr[0] ""
msgstr[1] ""
-#: latency_gui.cc:72 panner_ui.cc:391
+#: latency_gui.cc:72 panner_ui.cc:408
msgid "Reset"
msgstr ""
-#: latency_gui.cc:151 rhythm_ferret.cc:274 sfdb_ui.cc:1755
+#: latency_gui.cc:149 rhythm_ferret.cc:273 sfdb_ui.cc:1893
msgid "programming error: %1 (%2)"
msgstr ""
-#: location_ui.cc:50 location_ui.cc:52
+#: location_ui.cc:51 location_ui.cc:53
msgid "Use PH"
msgstr ""
-#: location_ui.cc:54
-msgid "CD"
-msgstr ""
-
-#: location_ui.cc:57
+#: location_ui.cc:58
msgid "Glue"
msgstr ""
-#: location_ui.cc:85
+#: location_ui.cc:86
msgid "Performer:"
msgstr ""
-#: location_ui.cc:86
+#: location_ui.cc:87
msgid "Composer:"
msgstr ""
-#: location_ui.cc:88
+#: location_ui.cc:89
msgid "Pre-Emphasis"
msgstr ""
-#: location_ui.cc:314
+#: location_ui.cc:316
msgid "Remove this range"
msgstr ""
-#: location_ui.cc:315
+#: location_ui.cc:317
msgid "Start time - middle click to locate here"
msgstr ""
-#: location_ui.cc:316
+#: location_ui.cc:318
msgid "End time - middle click to locate here"
msgstr ""
-#: location_ui.cc:319
+#: location_ui.cc:321
msgid "Set range start from playhead location"
msgstr ""
-#: location_ui.cc:320
+#: location_ui.cc:322
msgid "Set range end from playhead location"
msgstr ""
-#: location_ui.cc:324
+#: location_ui.cc:326
msgid "Remove this marker"
msgstr ""
-#: location_ui.cc:325
+#: location_ui.cc:327
msgid "Position - middle click to locate here"
msgstr ""
-#: location_ui.cc:327
+#: location_ui.cc:329
msgid "Set marker time from playhead location"
msgstr ""
-#: location_ui.cc:494
+#: location_ui.cc:498
msgid "You cannot put a CD marker at the start of the session"
msgstr ""
-#: location_ui.cc:720
+#: location_ui.cc:724
msgid "New Marker"
msgstr ""
-#: location_ui.cc:721
+#: location_ui.cc:725
msgid "New Range"
msgstr ""
-#: location_ui.cc:734
+#: location_ui.cc:738
msgid "<b>Loop/Punch Ranges</b>"
msgstr ""
-#: location_ui.cc:759
+#: location_ui.cc:763
msgid "<b>Markers (Including CD Index)</b>"
msgstr ""
-#: location_ui.cc:794
+#: location_ui.cc:798
msgid "<b>Ranges (Including CD Track Ranges)</b>"
msgstr ""
-#: location_ui.cc:1036
+#: location_ui.cc:1040
msgid "add range marker"
msgstr ""
-#: main.cc:81
+#: main.cc:83
msgid "%1 could not connect to the audio backend."
msgstr ""
-#: main.cc:194 main.cc:315
-msgid "cannot create user %3 folder %1 (%2)"
-msgstr ""
-
-#: main.cc:201 main.cc:322
-msgid "cannot open pango.rc file %1"
-msgstr ""
-
-#: main.cc:226 main.cc:349
-msgid "Cannot find ArdourMono TrueType font"
-msgstr ""
-
-#: main.cc:238 main.cc:355
-msgid "Cannot load ArdourMono TrueType font."
-msgstr ""
-
-#: main.cc:303
-msgid ""
-"No fontconfig file found on your system. Things may looked very odd or ugly"
-msgstr ""
-
-#: main.cc:359
-msgid "Failed to set fontconfig configuration."
-msgstr ""
-
-#: main.cc:370 main.cc:386
+#: main.cc:108 main.cc:124
msgid "The audio backend (%1) has failed, or terminated"
msgstr ""
-#: main.cc:373
+#: main.cc:111
msgid ""
"%2 exited unexpectedly, and without notifying %1.\n"
"\n"
@@ -6415,53 +6560,63 @@ msgid ""
"Click OK to exit %1."
msgstr ""
-#: main.cc:387
+#: main.cc:125
msgid "%2 exited unexpectedly, and without notifying %1."
msgstr ""
-#: main.cc:474
+#: main.cc:227
+msgid ""
+"\n"
+" Ardour could not understand your command line "
+msgstr ""
+
+#: main.cc:229
+msgid "An error was encountered while launching Ardour"
+msgstr ""
+
+#: main.cc:237
msgid " (built using "
msgstr ""
-#: main.cc:477
+#: main.cc:240
msgid " and GCC version "
msgstr ""
-#: main.cc:487
+#: main.cc:250
msgid "Copyright (C) 1999-2012 Paul Davis"
msgstr ""
-#: main.cc:488
+#: main.cc:251
msgid ""
"Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
"Baker, Robin Gareus"
msgstr ""
-#: main.cc:490
+#: main.cc:253
msgid "%1 comes with ABSOLUTELY NO WARRANTY"
msgstr ""
-#: main.cc:491
+#: main.cc:254
msgid "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
msgstr ""
-#: main.cc:492
+#: main.cc:255
msgid "This is free software, and you are welcome to redistribute it "
msgstr ""
-#: main.cc:493
+#: main.cc:256
msgid "under certain conditions; see the source for copying conditions."
msgstr ""
-#: main.cc:500
+#: main.cc:263
msgid "could not initialize %1."
msgstr "could not initialise %1."
-#: main.cc:509
+#: main.cc:273
msgid "Cannot xinstall SIGPIPE error handler"
msgstr ""
-#: main.cc:515
+#: main.cc:280
msgid "could not create %1 GUI"
msgstr ""
@@ -6469,17 +6624,13 @@ msgstr ""
msgid "Display delta to edit cursor"
msgstr ""
-#: marker.cc:251 video_image_frame.cc:121
+#: marker.cc:265
msgid "MarkerText"
msgstr ""
-#: midi_channel_selector.cc:159 midi_channel_selector.cc:397
-#: midi_channel_selector.cc:433
-msgid "All"
-msgstr ""
-
#: midi_channel_selector.cc:163 midi_channel_selector.cc:402
-#: midi_channel_selector.cc:438 rc_option_editor.cc:1248 sfdb_ui.cc:538
+#: midi_channel_selector.cc:438 rc_option_editor.cc:1493
+#: rc_option_editor.cc:2078 sfdb_ui.cc:658
msgid "None"
msgstr ""
@@ -6574,11 +6725,11 @@ msgstr ""
#: midi_list_editor.cc:55
msgid "Whole"
-msgstr ""
+msgstr "Semibreve"
#: midi_list_editor.cc:56
msgid "Half"
-msgstr ""
+msgstr "Minim"
#: midi_list_editor.cc:57
msgid "Triplet"
@@ -6586,23 +6737,23 @@ msgstr ""
#: midi_list_editor.cc:58
msgid "Quarter"
-msgstr ""
+msgstr "Crotchet"
#: midi_list_editor.cc:59
msgid "Eighth"
-msgstr ""
+msgstr "Quaver"
#: midi_list_editor.cc:60
msgid "Sixteenth"
-msgstr ""
+msgstr "Semiquaver"
#: midi_list_editor.cc:61
msgid "Thirty-second"
-msgstr ""
+msgstr "Demisemiquaver"
#: midi_list_editor.cc:62
msgid "Sixty-fourth"
-msgstr ""
+msgstr "Hemidemisemiquaver"
#: midi_list_editor.cc:105
msgid "Num"
@@ -6668,87 +6819,87 @@ msgstr ""
msgid "MidiPortDialog"
msgstr ""
-#: midi_region_view.cc:838
+#: midi_region_view.cc:822
msgid "channel edit"
msgstr ""
-#: midi_region_view.cc:874
+#: midi_region_view.cc:858
msgid "velocity edit"
msgstr ""
-#: midi_region_view.cc:931
+#: midi_region_view.cc:915
msgid "add note"
msgstr ""
-#: midi_region_view.cc:1779
+#: midi_region_view.cc:1766
msgid "step add"
msgstr ""
-#: midi_region_view.cc:1862
+#: midi_region_view.cc:1853
msgid "insane MIDI patch key %1:%2"
msgstr ""
-#: midi_region_view.cc:1870 midi_region_view.cc:1890
+#: midi_region_view.cc:1861 midi_region_view.cc:1881
msgid "alter patch change"
msgstr ""
-#: midi_region_view.cc:1924
+#: midi_region_view.cc:1915
msgid "add patch change"
msgstr ""
-#: midi_region_view.cc:1942
+#: midi_region_view.cc:1933
msgid "move patch change"
msgstr ""
-#: midi_region_view.cc:1953
+#: midi_region_view.cc:1944
msgid "delete patch change"
msgstr ""
-#: midi_region_view.cc:2022
+#: midi_region_view.cc:2013
msgid "delete selection"
msgstr ""
-#: midi_region_view.cc:2038
+#: midi_region_view.cc:2029
msgid "delete note"
msgstr ""
-#: midi_region_view.cc:2425
+#: midi_region_view.cc:2423
msgid "move notes"
msgstr ""
-#: midi_region_view.cc:2647
+#: midi_region_view.cc:2645
msgid "resize notes"
msgstr ""
-#: midi_region_view.cc:2901
+#: midi_region_view.cc:2899
msgid "change velocities"
msgstr ""
-#: midi_region_view.cc:2967
+#: midi_region_view.cc:2965
msgid "transpose"
msgstr ""
-#: midi_region_view.cc:3001
+#: midi_region_view.cc:2999
msgid "change note lengths"
msgstr ""
-#: midi_region_view.cc:3070
+#: midi_region_view.cc:3068
msgid "nudge"
msgstr ""
-#: midi_region_view.cc:3085
+#: midi_region_view.cc:3083
msgid "change channel"
msgstr ""
-#: midi_region_view.cc:3130
+#: midi_region_view.cc:3128
msgid "Bank "
msgstr ""
-#: midi_region_view.cc:3131
+#: midi_region_view.cc:3129
msgid "Program "
msgstr ""
-#: midi_region_view.cc:3132
+#: midi_region_view.cc:3130
msgid "Channel "
msgstr ""
@@ -6756,140 +6907,136 @@ msgstr ""
msgid "paste"
msgstr ""
-#: midi_region_view.cc:3761
-msgid "delete sysex"
-msgstr ""
-
-#: midi_streamview.cc:479
+#: midi_streamview.cc:493
msgid "failed to create MIDI region"
msgstr ""
-#: midi_time_axis.cc:262
+#: midi_time_axis.cc:290
msgid "External MIDI Device"
msgstr ""
-#: midi_time_axis.cc:263
+#: midi_time_axis.cc:291
msgid "External Device Mode"
msgstr ""
-#: midi_time_axis.cc:271
+#: midi_time_axis.cc:299
msgid "Chns"
msgstr ""
-#: midi_time_axis.cc:272
+#: midi_time_axis.cc:301
msgid "Click to edit channel settings"
msgstr ""
-#: midi_time_axis.cc:486
+#: midi_time_axis.cc:510
msgid "Show Full Range"
msgstr ""
-#: midi_time_axis.cc:491
+#: midi_time_axis.cc:515
msgid "Fit Contents"
msgstr ""
-#: midi_time_axis.cc:495
+#: midi_time_axis.cc:519
msgid "Note Range"
msgstr ""
-#: midi_time_axis.cc:496
+#: midi_time_axis.cc:520
msgid "Note Mode"
msgstr ""
-#: midi_time_axis.cc:497
+#: midi_time_axis.cc:521
msgid "Channel Selector"
msgstr ""
-#: midi_time_axis.cc:502
+#: midi_time_axis.cc:526
msgid "Color Mode"
msgstr "Colour Mode"
-#: midi_time_axis.cc:561
+#: midi_time_axis.cc:585
msgid "Bender"
msgstr ""
-#: midi_time_axis.cc:565
+#: midi_time_axis.cc:589
msgid "Pressure"
msgstr ""
-#: midi_time_axis.cc:578
+#: midi_time_axis.cc:602
msgid "Controllers"
msgstr ""
-#: midi_time_axis.cc:583
+#: midi_time_axis.cc:607
msgid "No MIDI Channels selected"
msgstr ""
-#: midi_time_axis.cc:640 midi_time_axis.cc:769
+#: midi_time_axis.cc:685 midi_time_axis.cc:814
msgid "Hide all channels"
msgstr ""
-#: midi_time_axis.cc:644 midi_time_axis.cc:773
+#: midi_time_axis.cc:689 midi_time_axis.cc:818
msgid "Show all channels"
msgstr ""
-#: midi_time_axis.cc:655 midi_time_axis.cc:784
+#: midi_time_axis.cc:700 midi_time_axis.cc:829
msgid "Channel %1"
msgstr ""
-#: midi_time_axis.cc:910 midi_time_axis.cc:942
+#: midi_time_axis.cc:955 midi_time_axis.cc:987
msgid "Controllers %1-%2"
msgstr ""
-#: midi_time_axis.cc:933 midi_time_axis.cc:936
+#: midi_time_axis.cc:978 midi_time_axis.cc:981
msgid "Controller %1"
msgstr ""
-#: midi_time_axis.cc:959
+#: midi_time_axis.cc:1004
msgid "Sustained"
msgstr ""
-#: midi_time_axis.cc:966
+#: midi_time_axis.cc:1011
msgid "Percussive"
msgstr ""
-#: midi_time_axis.cc:986
+#: midi_time_axis.cc:1031
msgid "Meter Colors"
msgstr "Meter Colours"
-#: midi_time_axis.cc:993
+#: midi_time_axis.cc:1038
msgid "Channel Colors"
msgstr "Channel Colours"
-#: midi_time_axis.cc:1000
+#: midi_time_axis.cc:1045
msgid "Track Color"
msgstr "Track Colour"
-#: midi_time_axis.cc:1488 midi_time_axis.cc:1494 midi_time_axis.cc:1504
-#: midi_time_axis.cc:1510
+#: midi_time_axis.cc:1680 midi_time_axis.cc:1686 midi_time_axis.cc:1696
+#: midi_time_axis.cc:1702
msgid "all"
msgstr ""
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1507
+#: midi_time_axis.cc:1683 midi_time_axis.cc:1699
msgid "some"
msgstr ""
-#: midi_tracer.cc:46
+#: midi_tracer.cc:49
msgid "Line history: "
msgstr ""
-#: midi_tracer.cc:54
+#: midi_tracer.cc:57
msgid "Auto-Scroll"
msgstr ""
-#: midi_tracer.cc:55
+#: midi_tracer.cc:58
msgid "Decimal"
msgstr ""
-#: midi_tracer.cc:56 rc_option_editor.cc:657
+#: midi_tracer.cc:59 rc_option_editor.cc:717
msgid "Enabled"
msgstr ""
-#: midi_tracer.cc:57
+#: midi_tracer.cc:60
msgid "Delta times"
msgstr ""
-#: midi_tracer.cc:70
+#: midi_tracer.cc:73
msgid "Port:"
msgstr ""
@@ -6897,35 +7044,35 @@ msgstr ""
msgid "New velocity"
msgstr ""
-#: missing_file_dialog.cc:34
-msgid "Missing File!"
+#: missing_file_dialog.cc:35
+msgid "Missing File"
msgstr ""
-#: missing_file_dialog.cc:36
+#: missing_file_dialog.cc:37
msgid "Select a folder to search"
msgstr ""
-#: missing_file_dialog.cc:37
+#: missing_file_dialog.cc:38
msgid "Add chosen folder to search path, and try again"
msgstr ""
-#: missing_file_dialog.cc:39
+#: missing_file_dialog.cc:40
msgid "Stop loading this session"
msgstr ""
-#: missing_file_dialog.cc:40
+#: missing_file_dialog.cc:41
msgid "Skip all missing files"
msgstr ""
-#: missing_file_dialog.cc:41
+#: missing_file_dialog.cc:42
msgid "Skip this file"
msgstr ""
-#: missing_file_dialog.cc:52
+#: missing_file_dialog.cc:53
msgid "audio"
msgstr ""
-#: missing_file_dialog.cc:65
+#: missing_file_dialog.cc:70
msgid ""
"%1 cannot find the %2 file\n"
"\n"
@@ -6937,7 +7084,7 @@ msgid ""
"\n"
msgstr ""
-#: missing_file_dialog.cc:99
+#: missing_file_dialog.cc:104
msgid "Click to choose an additional folder"
msgstr ""
@@ -6945,7 +7092,7 @@ msgstr ""
msgid "Missing Plugins"
msgstr ""
-#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:59
+#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:60
msgid "OK"
msgstr ""
@@ -7001,6 +7148,10 @@ msgstr ""
msgid "Toggle Selected Plugins"
msgstr ""
+#: mixer_actor.cc:70
+msgid "Deselect all srips and processors"
+msgstr ""
+
#: mixer_actor.cc:72 mixer_actor.cc:73
msgid "Scroll Mixer Window to the left"
msgstr ""
@@ -7017,444 +7168,426 @@ msgstr ""
msgid "Could not find mixer.bindings in search path %1"
msgstr ""
-#: mixer_strip.cc:93 mixer_strip.cc:121 mixer_strip.cc:1721
+#: mixer_strip.cc:98 mixer_strip.cc:127
msgid "pre"
msgstr ""
-#: mixer_strip.cc:95 mixer_strip.cc:123 mixer_strip.cc:354 mixer_strip.cc:1300
-#: rc_option_editor.cc:1868
+#: mixer_strip.cc:100 mixer_strip.cc:129 mixer_strip.cc:369
+#: mixer_strip.cc:1369 rc_option_editor.cc:2197
msgid "Comments"
msgstr ""
-#: mixer_strip.cc:147
+#: mixer_strip.cc:151
msgid "Click to toggle the width of this mixer strip."
msgstr ""
-#: mixer_strip.cc:149
+#: mixer_strip.cc:153
msgid ""
"\n"
"%1-%2-click to toggle the width of all strips."
msgstr ""
-#: mixer_strip.cc:156
+#: mixer_strip.cc:160
msgid "Hide this mixer strip"
msgstr ""
-#: mixer_strip.cc:167
+#: mixer_strip.cc:171
msgid "Click to select metering point"
msgstr ""
-#: mixer_strip.cc:173
-msgid "tupni"
-msgstr ""
-
-#: mixer_strip.cc:192
+#: mixer_strip.cc:187
msgid "Isolate Solo"
msgstr ""
-#: mixer_strip.cc:201
+#: mixer_strip.cc:195
msgid "Lock Solo Status"
msgstr ""
-#: mixer_strip.cc:203 mixer_strip.cc:1926
-msgid "lock"
-msgstr ""
-
-#: mixer_strip.cc:204 mixer_strip.cc:1925
-msgid "iso"
+#: mixer_strip.cc:198 mixer_strip.cc:1974
+msgid "Iso"
msgstr ""
-#: mixer_strip.cc:258
+#: mixer_strip.cc:252
msgid "Mix group"
msgstr ""
-#: mixer_strip.cc:351 rc_option_editor.cc:1865
+#: mixer_strip.cc:365 rc_option_editor.cc:2193
msgid "Phase Invert"
msgstr ""
-#: mixer_strip.cc:352 rc_option_editor.cc:1866 route_ui.cc:1218
-msgid "Solo Safe"
+#: mixer_strip.cc:366 rc_option_editor.cc:2194
+msgid "Record & Monitor"
msgstr ""
-#: mixer_strip.cc:355 mixer_ui.cc:124 route_time_axis.cc:673
-msgid "Group"
+#: mixer_strip.cc:367 rc_option_editor.cc:2195
+msgid "Solo Iso / Lock"
msgstr ""
-#: mixer_strip.cc:356 rc_option_editor.cc:1869
-msgid "Meter Point"
-msgstr ""
-
-#: mixer_strip.cc:470
+#: mixer_strip.cc:526
msgid "Enable/Disable MIDI input"
msgstr ""
-#: mixer_strip.cc:622
-msgid ""
-"Aux\n"
-"Sends"
+#: mixer_strip.cc:690
+msgid "Aux"
msgstr ""
-#: mixer_strip.cc:646
+#: mixer_strip.cc:712
msgid "Snd"
msgstr ""
-#: mixer_strip.cc:701 mixer_strip.cc:829 processor_box.cc:2193
+#: mixer_strip.cc:778 mixer_strip.cc:876 processor_box.cc:2425
msgid "Not connected to audio engine - no I/O changes are possible"
msgstr ""
-#: mixer_strip.cc:1096
+#: mixer_strip.cc:1159
msgid "<b>INPUT</b> to %1"
msgstr ""
-#: mixer_strip.cc:1099
+#: mixer_strip.cc:1162
msgid "<b>OUTPUT</b> from %1"
msgstr ""
-#: mixer_strip.cc:1174
+#: mixer_strip.cc:1237
msgid "Disconnected"
msgstr ""
-#: mixer_strip.cc:1303
+#: mixer_strip.cc:1372
msgid "*Comments*"
msgstr ""
-#: mixer_strip.cc:1310
+#: mixer_strip.cc:1379
msgid "Cmt"
msgstr ""
-#: mixer_strip.cc:1313
+#: mixer_strip.cc:1382
msgid "*Cmt*"
msgstr ""
-#: mixer_strip.cc:1319
+#: mixer_strip.cc:1388
msgid "Click to Add/Edit Comments"
msgstr ""
-#: mixer_strip.cc:1358
-msgid ": comment editor"
-msgstr ""
-
-#: mixer_strip.cc:1435
+#: mixer_strip.cc:1432
msgid "Grp"
msgstr ""
-#: mixer_strip.cc:1438
+#: mixer_strip.cc:1435
msgid "~G"
msgstr ""
-#: mixer_strip.cc:1467
+#: mixer_strip.cc:1464 route_time_axis.cc:524
+msgid "Color..."
+msgstr "Colour..."
+
+#: mixer_strip.cc:1466 route_time_axis.cc:526
msgid "Comments..."
msgstr ""
-#: mixer_strip.cc:1469
+#: mixer_strip.cc:1468 route_time_axis.cc:528
+msgid "Inputs..."
+msgstr ""
+
+#: mixer_strip.cc:1470 route_time_axis.cc:530
+msgid "Outputs..."
+msgstr ""
+
+#: mixer_strip.cc:1475
msgid "Save As Template..."
msgstr ""
-#: mixer_strip.cc:1475 route_group_dialog.cc:39 route_time_axis.cc:696
+#: mixer_strip.cc:1481 route_group_dialog.cc:45 route_time_axis.cc:804
msgid "Active"
msgstr ""
-#: mixer_strip.cc:1482
+#: mixer_strip.cc:1489
msgid "Adjust Latency..."
msgstr ""
-#: mixer_strip.cc:1485
+#: mixer_strip.cc:1492
msgid "Protect Against Denormals"
msgstr ""
-#: mixer_strip.cc:1491 route_time_axis.cc:435
+#: mixer_strip.cc:1498 route_time_axis.cc:543
msgid "Remote Control ID..."
msgstr ""
-#: mixer_strip.cc:1717 mixer_strip.cc:1741
-msgid "in"
-msgstr ""
-
-#: mixer_strip.cc:1725
-msgid "post"
-msgstr ""
-
-#: mixer_strip.cc:1729
-msgid "out"
-msgstr ""
-
-#: mixer_strip.cc:1734
-msgid "custom"
+#: mixer_strip.cc:1770
+msgid "Pre"
msgstr ""
-#: mixer_strip.cc:1745
-msgid "pr"
+#: mixer_strip.cc:1774
+msgid "Post"
msgstr ""
-#: mixer_strip.cc:1749
-msgid "po"
+#: mixer_strip.cc:1794
+msgid "Pr"
msgstr ""
-#: mixer_strip.cc:1753
-msgid "o"
+#: mixer_strip.cc:1798
+msgid "Po"
msgstr ""
-#: mixer_strip.cc:1758
-msgid "c"
+#: mixer_strip.cc:1807
+msgid "C"
msgstr ""
-#: mixer_strip.cc:1906 route_ui.cc:143
+#: mixer_strip.cc:1955 route_ui.cc:166
msgid "Disk"
msgstr ""
-#: mixer_strip.cc:1918 monitor_section.cc:63
+#: mixer_strip.cc:1967 monitor_section.cc:71
msgid "AFL"
msgstr ""
-#: mixer_strip.cc:1921 monitor_section.cc:64
+#: mixer_strip.cc:1970 monitor_section.cc:72
msgid "PFL"
msgstr ""
-#: mixer_strip.cc:1933
+#: mixer_strip.cc:1981 meter_strip.cc:380
msgid "D"
msgstr ""
-#: mixer_strip.cc:1953
-msgid "i"
-msgstr ""
-
-#: mixer_strip.cc:2128
-msgid "Pre-fader"
+#: mixer_strip.cc:2188
+msgid "Pre Fader"
msgstr ""
-#: mixer_strip.cc:2129
-msgid "Post-fader"
+#: mixer_strip.cc:2189
+msgid "Post Fader"
msgstr ""
-#: mixer_strip.cc:2166 meter_strip.cc:728
+#: mixer_strip.cc:2227 meter_strip.cc:818
msgid "Change all in Group to %1"
msgstr ""
-#: mixer_strip.cc:2168 meter_strip.cc:730
+#: mixer_strip.cc:2229 meter_strip.cc:820
msgid "Change all to %1"
msgstr ""
-#: mixer_strip.cc:2170 meter_strip.cc:732
+#: mixer_strip.cc:2231 meter_strip.cc:822
msgid "Change same track-type to %1"
msgstr ""
-#: mixer_ui.cc:1189
+#: mixer_ui.cc:129 route_time_axis.cc:781
+msgid "Group"
+msgstr ""
+
+#: mixer_ui.cc:1209
msgid "track display list item for renamed strip not found!"
msgstr ""
-#: mixer_ui.cc:1273
+#: mixer_ui.cc:1293
msgid "-all-"
msgstr ""
-#: mixer_ui.cc:1794
+#: mixer_ui.cc:1829
msgid "Strips"
msgstr ""
-#: meter_strip.cc:764
+#: meter_strip.cc:157
+msgid "Reset Peak"
+msgstr ""
+
+#: meter_strip.cc:854
msgid "Variable height"
msgstr ""
-#: meter_strip.cc:765
+#: meter_strip.cc:855
msgid "Short"
msgstr ""
-#: meter_strip.cc:766
+#: meter_strip.cc:856
msgid "Tall"
msgstr ""
-#: meter_strip.cc:767
+#: meter_strip.cc:857
msgid "Grande"
msgstr ""
-#: meter_strip.cc:768
+#: meter_strip.cc:858
msgid "Venti"
msgstr ""
-#: meter_patterns.cc:81
+#: meter_patterns.cc:82
msgid "Peak"
msgstr ""
-#: meter_patterns.cc:84
+#: meter_patterns.cc:85
msgid "RMS + Peak"
msgstr ""
-#: meter_patterns.cc:87
+#: meter_patterns.cc:88
msgid "IEC1/DIN"
msgstr ""
-#: meter_patterns.cc:90
+#: meter_patterns.cc:91
msgid "IEC1/Nordic"
msgstr ""
-#: meter_patterns.cc:93
+#: meter_patterns.cc:94
msgid "IEC2/BBC"
msgstr ""
-#: meter_patterns.cc:96
+#: meter_patterns.cc:97
msgid "IEC2/EBU"
msgstr ""
-#: meter_patterns.cc:99
+#: meter_patterns.cc:100
msgid "K20"
msgstr ""
-#: meter_patterns.cc:102
+#: meter_patterns.cc:103
msgid "K14"
msgstr ""
-#: meter_patterns.cc:105
+#: meter_patterns.cc:106
+msgid "K12"
+msgstr ""
+
+#: meter_patterns.cc:109
msgid "VU"
msgstr ""
-#: monitor_section.cc:62
+#: monitor_section.cc:70
msgid "SiP"
msgstr ""
-#: monitor_section.cc:86
-msgid "soloing"
+#: monitor_section.cc:97 route_group_dialog.cc:49
+msgid "Soloing"
msgstr ""
-#: monitor_section.cc:90
-msgid "isolated"
+#: monitor_section.cc:101
+msgid "Isolated"
msgstr ""
-#: monitor_section.cc:94
-msgid "auditioning"
+#: monitor_section.cc:105
+msgid "Auditioning"
msgstr ""
-#: monitor_section.cc:104
+#: monitor_section.cc:115
msgid ""
"When active, something is solo-isolated.\n"
"Click to de-isolate everything"
msgstr ""
-#: monitor_section.cc:107
+#: monitor_section.cc:118
msgid ""
"When active, auditioning is active.\n"
"Click to stop the audition"
msgstr ""
-#: monitor_section.cc:124
+#: monitor_section.cc:135
msgid "Solo controls affect solo-in-place"
msgstr ""
-#: monitor_section.cc:130
+#: monitor_section.cc:141
msgid "Solo controls toggle after-fader-listen"
msgstr ""
-#: monitor_section.cc:136
+#: monitor_section.cc:147
msgid "Solo controls toggle pre-fader-listen"
msgstr ""
-#: monitor_section.cc:144
+#: monitor_section.cc:157
msgid "Gain increase for soloed signals (0dB is normal)"
msgstr ""
-#: monitor_section.cc:150
+#: monitor_section.cc:171
msgid "Solo Boost"
msgstr ""
-#: monitor_section.cc:162
+#: monitor_section.cc:186
msgid ""
"Gain reduction non-soloed signals\n"
"A value above -inf dB causes \"solo-in-front\""
msgstr ""
-#: monitor_section.cc:164
+#: monitor_section.cc:197
msgid "SiP Cut"
msgstr ""
-#: monitor_section.cc:176
+#: monitor_section.cc:212
msgid "Gain reduction to use when dimming monitor outputs"
msgstr ""
-#: monitor_section.cc:181
+#: monitor_section.cc:226 monitor_section.cc:284
msgid "Dim"
msgstr ""
-#: monitor_section.cc:190
-msgid "excl. solo"
+#: monitor_section.cc:236
+msgid "Excl. Solo"
msgstr ""
-#: monitor_section.cc:192
+#: monitor_section.cc:238
msgid "Exclusive solo means that only 1 solo is active at a time"
msgstr ""
-#: monitor_section.cc:199
-msgid "solo » mute"
+#: monitor_section.cc:245
+msgid "Solo » Mute"
msgstr ""
-#: monitor_section.cc:201
+#: monitor_section.cc:247
msgid ""
"If enabled, solo will override mute\n"
"(a soloed & muted track or bus will be audible)"
msgstr ""
-#: monitor_section.cc:227
-msgid "mute"
-msgstr ""
-
-#: monitor_section.cc:238
-msgid "dim"
-msgstr ""
-
-#: monitor_section.cc:245
-msgid "mono"
-msgstr ""
-
-#: monitor_section.cc:266
+#: monitor_section.cc:324
msgid "Monitor"
msgstr ""
-#: monitor_section.cc:678
+#: monitor_section.cc:746
msgid "Switch monitor to mono"
msgstr ""
-#: monitor_section.cc:681
+#: monitor_section.cc:749
msgid "Cut monitor"
msgstr ""
-#: monitor_section.cc:684
+#: monitor_section.cc:752
msgid "Dim monitor"
msgstr ""
-#: monitor_section.cc:687
+#: monitor_section.cc:755
msgid "Toggle exclusive solo mode"
msgstr ""
-#: monitor_section.cc:693
+#: monitor_section.cc:761
msgid "Toggle mute overrides solo mode"
msgstr ""
-#: monitor_section.cc:705
+#: monitor_section.cc:773
msgid "Cut monitor channel %1"
msgstr ""
-#: monitor_section.cc:710
+#: monitor_section.cc:778
msgid "Dim monitor channel %1"
msgstr ""
-#: monitor_section.cc:715
+#: monitor_section.cc:783
msgid "Solo monitor channel %1"
msgstr ""
-#: monitor_section.cc:720
+#: monitor_section.cc:788
msgid "Invert monitor channel %1"
msgstr ""
-#: monitor_section.cc:730
+#: monitor_section.cc:798
msgid "In-place solo"
msgstr ""
-#: monitor_section.cc:732
+#: monitor_section.cc:800
msgid "After Fade Listen (AFL) solo"
msgstr ""
-#: monitor_section.cc:734
+#: monitor_section.cc:802
msgid "Pre Fade Listen (PFL) solo"
msgstr ""
-#: mono_panner.cc:101
+#: mono_panner.cc:109 stereo_panner.cc:117
+msgid "bypassed"
+msgstr ""
+
+#: mono_panner.cc:123
#, c-format
msgid "L:%3d R:%3d"
msgstr ""
@@ -7539,7 +7672,7 @@ msgstr "Normalise regions"
msgid "Normalize region"
msgstr "Normalise region"
-#: normalize_dialog.cc:49 strip_silence_dialog.cc:70
+#: normalize_dialog.cc:49 strip_silence_dialog.cc:66
msgid "dbFS"
msgstr ""
@@ -7643,31 +7776,26 @@ msgid ""
"ardour3/ardour.bindings)\n"
msgstr ""
-#: panner2d.cc:781
+#: panner2d.cc:852
msgid "Panner (2D)"
msgstr ""
-#: panner2d.cc:783 panner_ui.cc:383 plugin_ui.cc:448
+#: panner2d.cc:854 panner_ui.cc:399 plugin_ui.cc:449
msgid "Bypass"
msgstr ""
-#: panner2d.cc:787
+#: panner2d.cc:860
msgid "Panner"
msgstr ""
-#: panner_ui.cc:70
+#: panner_ui.cc:71
msgid "Pan automation mode"
msgstr ""
-#: panner_ui.cc:71
+#: panner_ui.cc:72
msgid "Pan automation type"
msgstr ""
-#: panner_ui.cc:294
-msgid ""
-"No panner user interface is currently available for %1-in/2out tracks/busses"
-msgstr ""
-
#: playlist_selector.cc:43
msgid "Playlists"
msgstr ""
@@ -7692,39 +7820,39 @@ msgstr ""
msgid "Imported"
msgstr ""
-#: plugin_eq_gui.cc:75 plugin_eq_gui.cc:99
+#: plugin_eq_gui.cc:85 plugin_eq_gui.cc:109
msgid "dB scale"
msgstr ""
-#: plugin_eq_gui.cc:106
+#: plugin_eq_gui.cc:116
msgid "Show phase"
msgstr ""
-#: plugin_selector.cc:53 plugin_selector.cc:220
+#: plugin_selector.cc:53 plugin_selector.cc:229
msgid "Name contains"
msgstr ""
-#: plugin_selector.cc:54 plugin_selector.cc:224
+#: plugin_selector.cc:54 plugin_selector.cc:233
msgid "Type contains"
msgstr ""
-#: plugin_selector.cc:55 plugin_selector.cc:222
+#: plugin_selector.cc:55 plugin_selector.cc:231
msgid "Category contains"
msgstr ""
-#: plugin_selector.cc:56 plugin_selector.cc:244
+#: plugin_selector.cc:56 plugin_selector.cc:253
msgid "Author contains"
msgstr ""
-#: plugin_selector.cc:57 plugin_selector.cc:246
+#: plugin_selector.cc:57 plugin_selector.cc:255
msgid "Library contains"
msgstr ""
-#: plugin_selector.cc:58 plugin_selector.cc:210 plugin_selector.cc:521
+#: plugin_selector.cc:58 plugin_selector.cc:219 plugin_selector.cc:537
msgid "Favorites only"
msgstr "Favourites only"
-#: plugin_selector.cc:59 plugin_selector.cc:214 plugin_selector.cc:521
+#: plugin_selector.cc:59 plugin_selector.cc:223 plugin_selector.cc:537
msgid "Hidden only"
msgstr ""
@@ -7732,189 +7860,189 @@ msgstr ""
msgid "Plugin Manager"
msgstr ""
-#: plugin_selector.cc:84
+#: plugin_selector.cc:85
msgid "Fav"
msgstr ""
-#: plugin_selector.cc:86
+#: plugin_selector.cc:87
msgid "Available Plugins"
msgstr ""
-#: plugin_selector.cc:87
+#: plugin_selector.cc:88
msgid "Type"
msgstr ""
-#: plugin_selector.cc:88
+#: plugin_selector.cc:89
msgid "Category"
msgstr ""
-#: plugin_selector.cc:89
+#: plugin_selector.cc:90
msgid "Creator"
msgstr ""
-#: plugin_selector.cc:90
+#: plugin_selector.cc:91
msgid "# Audio In"
msgstr ""
-#: plugin_selector.cc:91
+#: plugin_selector.cc:92
msgid "# Audio Out"
msgstr ""
-#: plugin_selector.cc:92
+#: plugin_selector.cc:93
msgid "# MIDI In"
msgstr ""
-#: plugin_selector.cc:93
+#: plugin_selector.cc:94
msgid "# MIDI Out"
msgstr ""
-#: plugin_selector.cc:115
+#: plugin_selector.cc:116
msgid "Plugins to be connected"
msgstr ""
-#: plugin_selector.cc:128
+#: plugin_selector.cc:129
msgid "Add a plugin to the effect list"
msgstr ""
-#: plugin_selector.cc:132
+#: plugin_selector.cc:133
msgid "Remove a plugin from the effect list"
msgstr ""
-#: plugin_selector.cc:134
+#: plugin_selector.cc:135
msgid "Update available plugins"
msgstr ""
-#: plugin_selector.cc:171
+#: plugin_selector.cc:172
msgid "Insert Plugin(s)"
msgstr ""
-#: plugin_selector.cc:320 plugin_selector.cc:321 plugin_selector.cc:322
-#: plugin_selector.cc:323
+#: plugin_selector.cc:337 plugin_selector.cc:338 plugin_selector.cc:339
+#: plugin_selector.cc:340
msgid "variable"
msgstr ""
-#: plugin_selector.cc:480
+#: plugin_selector.cc:496
msgid ""
"The plugin \"%1\" could not be loaded\n"
"\n"
"See the Log window for more details (maybe)"
msgstr ""
-#: plugin_selector.cc:628
+#: plugin_selector.cc:644
msgid "Favorites"
msgstr "Favourites"
-#: plugin_selector.cc:630
+#: plugin_selector.cc:646
msgid "Plugin Manager..."
msgstr ""
-#: plugin_selector.cc:634
+#: plugin_selector.cc:650
msgid "By Creator"
msgstr ""
-#: plugin_selector.cc:637
+#: plugin_selector.cc:653
msgid "By Category"
msgstr ""
-#: plugin_ui.cc:114
+#: plugin_ui.cc:113
msgid "Eh? LADSPA plugins don't have editors!"
msgstr ""
-#: plugin_ui.cc:123 plugin_ui.cc:226
+#: plugin_ui.cc:122 plugin_ui.cc:227
msgid ""
"unknown type of editor-supplying plugin (note: no VST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:126
+#: plugin_ui.cc:125
msgid "unknown type of editor-supplying plugin"
msgstr ""
-#: plugin_ui.cc:256
+#: plugin_ui.cc:257
msgid ""
"unknown type of editor-supplying plugin (note: no linuxVST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:328
+#: plugin_ui.cc:329
msgid "create_lv2_editor called on non-LV2 plugin"
msgstr ""
-#: plugin_ui.cc:414
+#: plugin_ui.cc:415
msgid "Add"
msgstr ""
-#: plugin_ui.cc:418
+#: plugin_ui.cc:419
msgid "Description"
msgstr ""
-#: plugin_ui.cc:419
+#: plugin_ui.cc:420
msgid "Plugin analysis"
msgstr ""
-#: plugin_ui.cc:426
+#: plugin_ui.cc:427
msgid ""
"Presets (if any) for this plugin\n"
"(Both factory and user-created)"
msgstr ""
-#: plugin_ui.cc:427
+#: plugin_ui.cc:428
msgid "Save a new preset"
msgstr ""
-#: plugin_ui.cc:428
+#: plugin_ui.cc:429
msgid "Save the current preset"
msgstr ""
-#: plugin_ui.cc:429
+#: plugin_ui.cc:430
msgid "Delete the current preset"
msgstr ""
-#: plugin_ui.cc:430
+#: plugin_ui.cc:431
msgid "Disable signal processing by the plugin"
msgstr ""
-#: plugin_ui.cc:463 plugin_ui.cc:659
+#: plugin_ui.cc:464 plugin_ui.cc:660
msgid ""
"Click to allow the plugin to receive keyboard events that %1 would normally "
"use as a shortcut"
msgstr ""
-#: plugin_ui.cc:464
+#: plugin_ui.cc:465
msgid "Click to enable/disable this plugin"
msgstr ""
-#: plugin_ui.cc:503
+#: plugin_ui.cc:504
msgid "latency (%1 sample)"
msgid_plural "latency (%1 samples)"
msgstr[0] ""
msgstr[1] ""
-#: plugin_ui.cc:505
+#: plugin_ui.cc:506
msgid "latency (%1 ms)"
msgstr ""
-#: plugin_ui.cc:516
+#: plugin_ui.cc:517
msgid "Edit Latency"
msgstr ""
-#: plugin_ui.cc:555
+#: plugin_ui.cc:556
msgid "Plugin preset %1 not found"
msgstr ""
-#: plugin_ui.cc:592
+#: plugin_ui.cc:593
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"full version"
msgstr ""
-#: plugin_ui.cc:612 plugin_ui.cc:627
+#: plugin_ui.cc:613 plugin_ui.cc:628
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"newer version"
msgstr ""
-#: plugin_ui.cc:666
+#: plugin_ui.cc:667
msgid "Click to allow normal use of %1 keyboard shortcuts"
msgstr ""
@@ -7990,97 +8118,97 @@ msgstr ""
msgid "alsa_pcm"
msgstr ""
-#: port_insert_ui.cc:40
+#: port_insert_ui.cc:39
msgid "Measure Latency"
msgstr ""
-#: port_insert_ui.cc:51
+#: port_insert_ui.cc:50
msgid "Send/Output"
msgstr ""
-#: port_insert_ui.cc:52
+#: port_insert_ui.cc:51
msgid "Return/Input"
msgstr ""
-#: port_insert_ui.cc:86
+#: port_insert_ui.cc:85
msgid "No signal detected"
msgstr ""
-#: port_insert_ui.cc:166
+#: port_insert_ui.cc:165
msgid "Port Insert "
msgstr ""
-#: port_matrix.cc:331 port_matrix.cc:357
+#: port_matrix.cc:332 port_matrix.cc:358
msgid "<b>Sources</b>"
msgstr ""
-#: port_matrix.cc:332 port_matrix.cc:358
+#: port_matrix.cc:333 port_matrix.cc:359
msgid "<b>Destinations</b>"
msgstr ""
-#: port_matrix.cc:440 port_matrix.cc:448
+#: port_matrix.cc:441 port_matrix.cc:449
#, c-format
msgid "Add %s %s"
msgstr ""
-#: port_matrix.cc:456
+#: port_matrix.cc:457
#, c-format
msgid "Rename '%s'..."
msgstr ""
-#: port_matrix.cc:472
+#: port_matrix.cc:473
msgid "Remove all"
msgstr ""
-#: port_matrix.cc:492 port_matrix.cc:504
+#: port_matrix.cc:493 port_matrix.cc:505
#, c-format
msgid "%s all"
msgstr ""
-#: port_matrix.cc:527
+#: port_matrix.cc:528
msgid "Rescan"
msgstr ""
-#: port_matrix.cc:529
+#: port_matrix.cc:530
msgid "Show individual ports"
msgstr ""
-#: port_matrix.cc:535
+#: port_matrix.cc:536
msgid "Flip"
msgstr ""
-#: port_matrix.cc:721
+#: port_matrix.cc:722
msgid ""
"It is not possible to add a port here, as the first processor in the track "
"or buss cannot support the new configuration."
msgstr ""
-#: port_matrix.cc:724
+#: port_matrix.cc:725
msgid "Cannot add port"
msgstr ""
-#: port_matrix.cc:746
+#: port_matrix.cc:747
msgid "Port removal not allowed"
msgstr ""
-#: port_matrix.cc:747
+#: port_matrix.cc:748
msgid ""
"This port cannot be removed.\n"
"Either the first plugin in the track or buss cannot accept\n"
"the new number of inputs or the last plugin has more outputs."
msgstr ""
-#: port_matrix.cc:964
+#: port_matrix.cc:965
#, c-format
msgid "Remove '%s'"
msgstr ""
-#: port_matrix.cc:979
+#: port_matrix.cc:980
#, c-format
msgid "%s all from '%s'"
msgstr ""
-#: port_matrix.cc:1045
+#: port_matrix.cc:1046
msgid "channel"
msgstr ""
@@ -8092,197 +8220,224 @@ msgstr ""
msgid "There are no %1 ports to connect."
msgstr ""
-#: processor_box.cc:256
+#: processor_box.cc:149
+msgid "Send"
+msgstr ""
+
+#: processor_box.cc:151
+msgid "Return"
+msgstr ""
+
+#: processor_box.cc:309
+msgid ""
+"\n"
+"This mono plugin has been replicated %1 times."
+msgstr ""
+
+#: processor_box.cc:313
msgid ""
"<b>%1</b>\n"
"Double-click to show GUI.\n"
-"Alt+double-click to show generic GUI."
+"Alt+double-click to show generic GUI.%2"
msgstr ""
-#: processor_box.cc:259
+#: processor_box.cc:316
msgid ""
"<b>%1</b>\n"
-"Double-click to show generic GUI."
+"Double-click to show generic GUI.%2"
+msgstr ""
+
+#: processor_box.cc:360
+#, c-format
+msgid "(%1x1) "
msgstr ""
-#: processor_box.cc:372
+#: processor_box.cc:436
msgid "Show All Controls"
msgstr ""
-#: processor_box.cc:376
+#: processor_box.cc:440
msgid "Hide All Controls"
msgstr ""
-#: processor_box.cc:465
+#: processor_box.cc:474
+msgid "Link panner controls"
+msgstr ""
+
+#: processor_box.cc:558
msgid "on"
msgstr ""
-#: processor_box.cc:465 rc_option_editor.cc:1898 rc_option_editor.cc:1912
+#: processor_box.cc:558 rc_option_editor.cc:2226 rc_option_editor.cc:2240
msgid "off"
msgstr ""
-#: processor_box.cc:742
+#: processor_box.cc:944
msgid ""
"Right-click to add/remove/edit\n"
"plugins,inserts,sends and more"
msgstr ""
-#: processor_box.cc:1197 processor_box.cc:1618
+#: processor_box.cc:1421 processor_box.cc:1847
msgid "Plugin Incompatibility"
msgstr ""
-#: processor_box.cc:1200
+#: processor_box.cc:1424
msgid "You attempted to add the plugin \"%1\" in slot %2.\n"
msgstr ""
-#: processor_box.cc:1206
+#: processor_box.cc:1430
msgid ""
"\n"
"This plugin has:\n"
msgstr ""
-#: processor_box.cc:1209
+#: processor_box.cc:1433
msgid "\t%1 MIDI input\n"
msgid_plural "\t%1 MIDI inputs\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1213
+#: processor_box.cc:1437
msgid "\t%1 audio input\n"
msgid_plural "\t%1 audio inputs\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1216
+#: processor_box.cc:1440
msgid ""
"\n"
"but at the insertion point, there are:\n"
msgstr ""
-#: processor_box.cc:1219
+#: processor_box.cc:1443
msgid "\t%1 MIDI channel\n"
msgid_plural "\t%1 MIDI channels\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1223
+#: processor_box.cc:1447
msgid "\t%1 audio channel\n"
msgid_plural "\t%1 audio channels\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1226
+#: processor_box.cc:1450
msgid ""
"\n"
"%1 is unable to insert this plugin here.\n"
msgstr ""
-#: processor_box.cc:1262
+#: processor_box.cc:1487
msgid "Cannot set up new send: %1"
msgstr ""
-#: processor_box.cc:1621
+#: processor_box.cc:1850
msgid ""
"You cannot reorder these plugins/sends/inserts\n"
"in that way because the inputs and\n"
"outputs will not work correctly."
msgstr ""
-#: processor_box.cc:1805
+#: processor_box.cc:2034
msgid "Rename Processor"
msgstr ""
-#: processor_box.cc:1836
+#: processor_box.cc:2065
msgid "At least 100 IO objects exist with a name like %1 - name not changed"
msgstr ""
-#: processor_box.cc:1970
+#: processor_box.cc:2202
msgid "plugin insert constructor failed"
msgstr ""
-#: processor_box.cc:1981
+#: processor_box.cc:2213
msgid ""
"Copying the set of processors on the clipboard failed,\n"
"probably because the I/O configuration of the plugins\n"
"could not match the configuration of this track."
msgstr ""
-#: processor_box.cc:2027
+#: processor_box.cc:2259
msgid ""
"Do you really want to remove all processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2031 processor_box.cc:2056
+#: processor_box.cc:2263 processor_box.cc:2288
msgid "Yes, remove them all"
msgstr ""
-#: processor_box.cc:2033 processor_box.cc:2058
+#: processor_box.cc:2265 processor_box.cc:2290
msgid "Remove processors"
msgstr ""
-#: processor_box.cc:2048
+#: processor_box.cc:2280
msgid ""
"Do you really want to remove all pre-fader processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2051
+#: processor_box.cc:2283
msgid ""
"Do you really want to remove all post-fader processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2239
+#: processor_box.cc:2471
msgid "New Plugin"
msgstr ""
-#: processor_box.cc:2242
+#: processor_box.cc:2474
msgid "New Insert"
msgstr ""
-#: processor_box.cc:2245
+#: processor_box.cc:2477
msgid "New External Send ..."
msgstr ""
-#: processor_box.cc:2249
+#: processor_box.cc:2481
msgid "New Aux Send ..."
msgstr ""
-#: processor_box.cc:2253
+#: processor_box.cc:2484
+msgid "Send Options"
+msgstr ""
+
+#: processor_box.cc:2486
msgid "Clear (all)"
msgstr ""
-#: processor_box.cc:2255
+#: processor_box.cc:2488
msgid "Clear (pre-fader)"
msgstr ""
-#: processor_box.cc:2257
+#: processor_box.cc:2490
msgid "Clear (post-fader)"
msgstr ""
-#: processor_box.cc:2283
+#: processor_box.cc:2516
msgid "Activate All"
msgstr ""
-#: processor_box.cc:2285
+#: processor_box.cc:2518
msgid "Deactivate All"
msgstr ""
-#: processor_box.cc:2287
+#: processor_box.cc:2520
msgid "A/B Plugins"
msgstr ""
-#: processor_box.cc:2296
+#: processor_box.cc:2529
msgid "Edit with generic controls..."
msgstr ""
-#: processor_box.cc:2599
+#: processor_box.cc:2832
msgid "%1: %2 (by %3)"
msgstr ""
-#: processor_box.cc:2601
-msgid "%2 (by %3)"
+#: processor_box.cc:2834
+msgid "%1 (by %2)"
msgstr ""
#: patch_change_dialog.cc:51
@@ -8297,11 +8452,11 @@ msgstr ""
msgid "Patch"
msgstr ""
-#: patch_change_dialog.cc:99 step_entry.cc:429
+#: patch_change_dialog.cc:99 step_entry.cc:430
msgid "Program"
msgstr ""
-#: patch_change_dialog.cc:107 step_entry.cc:421
+#: patch_change_dialog.cc:107 step_entry.cc:422
msgid "Bank"
msgstr ""
@@ -8333,120 +8488,120 @@ msgstr ""
msgid "Snap note end"
msgstr ""
-#: rc_option_editor.cc:67
+#: rc_option_editor.cc:76
msgid "Click audio file:"
msgstr ""
-#: rc_option_editor.cc:70 rc_option_editor.cc:77
+#: rc_option_editor.cc:79 rc_option_editor.cc:86
msgid "Browse..."
msgstr ""
-#: rc_option_editor.cc:74
+#: rc_option_editor.cc:83
msgid "Click emphasis audio file:"
msgstr ""
-#: rc_option_editor.cc:106
+#: rc_option_editor.cc:115
msgid "Choose Click"
msgstr ""
-#: rc_option_editor.cc:126
+#: rc_option_editor.cc:135
msgid "Choose Click Emphasis"
msgstr ""
-#: rc_option_editor.cc:158
+#: rc_option_editor.cc:167
msgid "Limit undo history to"
msgstr ""
-#: rc_option_editor.cc:159
+#: rc_option_editor.cc:168
msgid "Save undo history of"
msgstr ""
-#: rc_option_editor.cc:168 rc_option_editor.cc:175
+#: rc_option_editor.cc:177 rc_option_editor.cc:184
msgid "commands"
msgstr ""
-#: rc_option_editor.cc:313
+#: rc_option_editor.cc:322
msgid "Edit using:"
msgstr ""
-#: rc_option_editor.cc:319 rc_option_editor.cc:345 rc_option_editor.cc:372
+#: rc_option_editor.cc:328 rc_option_editor.cc:354 rc_option_editor.cc:381
msgid "+ button"
msgstr ""
-#: rc_option_editor.cc:339
+#: rc_option_editor.cc:348
msgid "Delete using:"
msgstr ""
-#: rc_option_editor.cc:366
+#: rc_option_editor.cc:375
msgid "Insert note using:"
msgstr ""
-#: rc_option_editor.cc:393
+#: rc_option_editor.cc:402
msgid "Ignore snap using:"
msgstr ""
-#: rc_option_editor.cc:409
+#: rc_option_editor.cc:418
msgid "Keyboard layout:"
msgstr ""
-#: rc_option_editor.cc:532
+#: rc_option_editor.cc:541
msgid "Font scaling:"
msgstr ""
-#: rc_option_editor.cc:584
+#: rc_option_editor.cc:591
+msgid "Waveform Clip Level (dBFS):"
+msgstr ""
+
+#: rc_option_editor.cc:643
msgid "Playback (seconds of buffering):"
msgstr ""
-#: rc_option_editor.cc:597
+#: rc_option_editor.cc:656
msgid "Recording (seconds of buffering):"
msgstr ""
-#: rc_option_editor.cc:654
+#: rc_option_editor.cc:714
msgid "Control Surface Protocol"
msgstr ""
-#: rc_option_editor.cc:658
-msgid "Feedback"
-msgstr ""
-
-#: rc_option_editor.cc:663
+#: rc_option_editor.cc:723
msgid "Double-click on a name to edit settings for an enabled protocol"
msgstr ""
-#: rc_option_editor.cc:815
+#: rc_option_editor.cc:880
msgid "Show Video Export Info before export"
msgstr ""
-#: rc_option_editor.cc:816
+#: rc_option_editor.cc:881
msgid "Show Video Server Startup Dialog"
msgstr ""
-#: rc_option_editor.cc:817
+#: rc_option_editor.cc:882
msgid "Advanced Setup (remote video server)"
msgstr ""
-#: rc_option_editor.cc:825
+#: rc_option_editor.cc:890
msgid ""
"<b>When enabled</b> you can speficify a custom video-server URL and docroot. "
"- Do not enable this option unless you know what you are doing."
msgstr ""
-#: rc_option_editor.cc:827
+#: rc_option_editor.cc:892
msgid "Video Server URL:"
msgstr ""
-#: rc_option_editor.cc:832
+#: rc_option_editor.cc:897
msgid ""
"Base URL of the video-server including http prefix. This is usually 'http://"
"hostname.example.org:1554/' and defaults to 'http://localhost:1554/' when "
"the video-server is running locally"
msgstr ""
-#: rc_option_editor.cc:834
+#: rc_option_editor.cc:899
msgid "Video Folder:"
msgstr ""
-#: rc_option_editor.cc:839
+#: rc_option_editor.cc:904
msgid ""
"Local path to the video-server document-root. Only files below this "
"directory will be accessible by the video-server. If the server run on a "
@@ -8455,113 +8610,194 @@ msgid ""
"monitor and file-browsing when opening/adding a video file."
msgstr ""
-#: rc_option_editor.cc:846
+#: rc_option_editor.cc:911
msgid ""
"<b>When enabled</b> an information window with details is displayed before "
"the video-export dialog."
msgstr ""
-#: rc_option_editor.cc:851
+#: rc_option_editor.cc:916
msgid ""
"<b>When enabled</b> the video server is never launched automatically without "
"confirmation"
msgstr ""
-#: rc_option_editor.cc:991
+#: rc_option_editor.cc:998
+msgid "Always Display Plugin Scan Progress"
+msgstr ""
+
+#: rc_option_editor.cc:999
+msgid "Scan for new VST Plugins on Application Start"
+msgstr ""
+
+#: rc_option_editor.cc:1010
+msgid "General"
+msgstr ""
+
+#: rc_option_editor.cc:1016
+msgid "Scan for Plugins"
+msgstr ""
+
+#: rc_option_editor.cc:1023
+msgid ""
+"<b>When enabled</b> a popup window showing plugin scan progress is displayed "
+"for indexing (cache load) and discovery (detect new plugins)"
+msgstr ""
+
+#: rc_option_editor.cc:1029
+msgid ""
+"Specify the default timeout for plugin instantiation in 1/10 seconds. "
+"Plugins that require more time to load will be blacklisted. A value of 0 "
+"disables the timeout."
+msgstr ""
+
+#: rc_option_editor.cc:1031
+msgid "Scan Time Out [deciseconds]"
+msgstr ""
+
+#: rc_option_editor.cc:1039
+msgid "VST"
+msgstr ""
+
+#: rc_option_editor.cc:1045
+msgid "Clear VST Cache"
+msgstr ""
+
+#: rc_option_editor.cc:1049
+msgid "Clear VST Blacklist"
+msgstr ""
+
+#: rc_option_editor.cc:1057
+msgid ""
+"<b>When enabled</b> new VST plugins are searched, tested and added to the "
+"cache index on application start. When disabled new plugins will only be "
+"available after triggering a 'Scan' manually"
+msgstr ""
+
+#: rc_option_editor.cc:1060
+msgid "Linux VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1067
+msgid "Windows VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1129
+msgid "Set Windows VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1144
+msgid "Set Linux VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1225
msgid "%1 Preferences"
msgstr ""
-#: rc_option_editor.cc:1002
+#: rc_option_editor.cc:1236
msgid "DSP CPU Utilization"
msgstr ""
-#: rc_option_editor.cc:1006
+#: rc_option_editor.cc:1240
msgid "Signal processing uses"
msgstr ""
-#: rc_option_editor.cc:1011
+#: rc_option_editor.cc:1245
msgid "all but one processor"
msgstr ""
-#: rc_option_editor.cc:1012
+#: rc_option_editor.cc:1246
msgid "all available processors"
msgstr ""
-#: rc_option_editor.cc:1015
+#: rc_option_editor.cc:1249
msgid "%1 processors"
msgstr ""
-#: rc_option_editor.cc:1018
+#: rc_option_editor.cc:1252
msgid "This setting will only take effect when %1 is restarted."
msgstr ""
-#: rc_option_editor.cc:1023
+#: rc_option_editor.cc:1257
msgid "Options|Undo"
msgstr ""
-#: rc_option_editor.cc:1030
+#: rc_option_editor.cc:1264
msgid "Verify removal of last capture"
msgstr ""
-#: rc_option_editor.cc:1038
+#: rc_option_editor.cc:1272
msgid "Make periodic backups of the session file"
msgstr ""
-#: rc_option_editor.cc:1043
+#: rc_option_editor.cc:1277
msgid "Session Management"
msgstr ""
-#: rc_option_editor.cc:1048
+#: rc_option_editor.cc:1282
msgid "Always copy imported files"
msgstr ""
-#: rc_option_editor.cc:1055
+#: rc_option_editor.cc:1289
msgid "Default folder for new sessions:"
msgstr ""
-#: rc_option_editor.cc:1063
+#: rc_option_editor.cc:1297
msgid "Maximum number of recent sessions"
msgstr ""
-#: rc_option_editor.cc:1076
+#: rc_option_editor.cc:1310
msgid "Click gain level"
msgstr ""
-#: rc_option_editor.cc:1081 route_time_axis.cc:215 route_time_axis.cc:676
+#: rc_option_editor.cc:1315 route_time_axis.cc:262 route_time_axis.cc:784
msgid "Automation"
msgstr ""
-#: rc_option_editor.cc:1086
+#: rc_option_editor.cc:1320
msgid "Thinning factor (larger value => less data)"
msgstr ""
-#: rc_option_editor.cc:1095
+#: rc_option_editor.cc:1329
msgid "Automation sampling interval (milliseconds)"
msgstr ""
-#: rc_option_editor.cc:1107
+#: rc_option_editor.cc:1341
msgid "Keep record-enable engaged on stop"
msgstr ""
-#: rc_option_editor.cc:1116
+#: rc_option_editor.cc:1350
msgid "Stop recording when an xrun occurs"
msgstr ""
-#: rc_option_editor.cc:1121
+#: rc_option_editor.cc:1355
msgid ""
"<b>When enabled</b> %1 will stop recording if an over- or underrun is "
"detected by the audio engine"
msgstr ""
-#: rc_option_editor.cc:1127
+#: rc_option_editor.cc:1361
+msgid "Play loop is a transport mode"
+msgstr ""
+
+#: rc_option_editor.cc:1366
+msgid ""
+"<b>When enabled</b> the loop button does not start playback but forces "
+"playback to always play the loop\n"
+"\n"
+"<b>When disabled</b> the loop button starts playing the loop, but stop then "
+"cancels loop playback"
+msgstr ""
+
+#: rc_option_editor.cc:1372
msgid "Create markers where xruns occur"
msgstr ""
-#: rc_option_editor.cc:1136
+#: rc_option_editor.cc:1381
msgid "Stop at the end of the session"
msgstr ""
-#: rc_option_editor.cc:1141
+#: rc_option_editor.cc:1386
msgid ""
"<b>When enabled</b> if %1 is <b>not recording</b>, it will stop the "
"transport when it reaches the current session end marker\n"
@@ -8570,11 +8806,11 @@ msgid ""
"all times"
msgstr ""
-#: rc_option_editor.cc:1149
+#: rc_option_editor.cc:1394
msgid "Do seamless looping (not possible when slaved to MTC, LTC etc)"
msgstr ""
-#: rc_option_editor.cc:1154
+#: rc_option_editor.cc:1399
msgid ""
"<b>When enabled</b> this will loop by reading ahead and wrapping around at "
"the loop point, preventing any need to do a transport locate at the end of "
@@ -8584,39 +8820,39 @@ msgid ""
"loop when %1 reaches the end which will often cause a small click or delay"
msgstr ""
-#: rc_option_editor.cc:1162
+#: rc_option_editor.cc:1407
msgid "Disable per-track record disarm while rolling"
msgstr ""
-#: rc_option_editor.cc:1166
+#: rc_option_editor.cc:1411
msgid ""
"<b>When enabled</b> this will prevent you from accidentally stopping "
"specific tracks recording during a take"
msgstr ""
-#: rc_option_editor.cc:1171
+#: rc_option_editor.cc:1416
msgid "12dB gain reduction during fast-forward and fast-rewind"
msgstr ""
-#: rc_option_editor.cc:1175
+#: rc_option_editor.cc:1420
msgid ""
"This will reduce the unpleasant increase in perceived volume that occurs "
"when fast-forwarding or rewinding through some kinds of audio"
msgstr ""
-#: rc_option_editor.cc:1179
+#: rc_option_editor.cc:1424
msgid "Sync/Slave"
msgstr ""
-#: rc_option_editor.cc:1183
+#: rc_option_editor.cc:1428
msgid "External timecode source"
msgstr ""
-#: rc_option_editor.cc:1193
+#: rc_option_editor.cc:1438
msgid "Match session video frame rate to external timecode"
msgstr ""
-#: rc_option_editor.cc:1199
+#: rc_option_editor.cc:1444
msgid ""
"This option controls the value of the video frame rate <i>while chasing</i> "
"an external timecode source.\n"
@@ -8630,21 +8866,21 @@ msgid ""
"external timecode standard and the session standard."
msgstr ""
-#: rc_option_editor.cc:1209
+#: rc_option_editor.cc:1454
msgid "External timecode is sync locked"
msgstr ""
-#: rc_option_editor.cc:1215
+#: rc_option_editor.cc:1460
msgid ""
"<b>When enabled</b> indicates that the selected external timecode source "
"shares sync (Black &amp; Burst, Wordclock, etc) with the audio interface."
msgstr ""
-#: rc_option_editor.cc:1222
+#: rc_option_editor.cc:1467
msgid "Lock to 29.9700 fps instead of 30000/1001"
msgstr ""
-#: rc_option_editor.cc:1228
+#: rc_option_editor.cc:1473
msgid ""
"<b>When enabled</b> the external timecode source is assumed to use 29.97 fps "
"instead of 30000/1001.\n"
@@ -8656,140 +8892,149 @@ msgid ""
"vendors use that rate - despite it being against the specs - because the "
"variant of using exactly 29.97 fps has zero timecode drift.\n"
msgstr ""
+"<b>When enabled</b> the external timecode source is assumed to use 29.97 fps "
+"instead of 30000/1001.\n"
+"SMPTE 12M-1999 specifies 29.97df as 30000/1001. The spec further mentions "
+"that drop-frame timecode has an accumulated error of -86ms over a 24-hour "
+"period.\n"
+"Drop-frame timecode would compensate exactly for a NTSC colour frame rate of "
+"30 * 0.9990 (ie 29.970000). That is not the actual rate. However, some "
+"vendors use that rate - despite it being against the specs - because the "
+"variant of using exactly 29.97 fps has zero timecode drift.\n"
-#: rc_option_editor.cc:1238
+#: rc_option_editor.cc:1483
msgid "LTC Reader"
msgstr ""
-#: rc_option_editor.cc:1242
+#: rc_option_editor.cc:1487
msgid "LTC incoming port"
msgstr ""
-#: rc_option_editor.cc:1255
+#: rc_option_editor.cc:1500
msgid "LTC Generator"
msgstr ""
-#: rc_option_editor.cc:1260
+#: rc_option_editor.cc:1505
msgid "Enable LTC generator"
msgstr ""
-#: rc_option_editor.cc:1267
-msgid "send LTC while stopped"
+#: rc_option_editor.cc:1512
+msgid "Send LTC while stopped"
msgstr ""
-#: rc_option_editor.cc:1273
+#: rc_option_editor.cc:1518
msgid ""
"<b>When enabled</b> %1 will continue to send LTC information even when the "
"transport (playhead) is not moving"
msgstr ""
-#: rc_option_editor.cc:1279
+#: rc_option_editor.cc:1524
msgid "LTC generator level"
msgstr ""
-#: rc_option_editor.cc:1283
+#: rc_option_editor.cc:1528
msgid ""
"Specify the Peak Volume of the generated LTC signal in dbFS. A good value "
"is 0dBu ^= -18dbFS in an EBU calibrated system"
msgstr ""
-#: rc_option_editor.cc:1295
-msgid "Link selection of regions and tracks"
+#: rc_option_editor.cc:1540
+msgid "Allow dragging of playhead"
msgstr ""
-#: rc_option_editor.cc:1303
+#: rc_option_editor.cc:1548
msgid "Move relevant automation when audio regions are moved"
msgstr ""
-#: rc_option_editor.cc:1311
+#: rc_option_editor.cc:1556
msgid "Show meters on tracks in the editor"
msgstr ""
-#: rc_option_editor.cc:1319
+#: rc_option_editor.cc:1564
msgid "Display master-meter in the toolbar"
msgstr ""
-#: rc_option_editor.cc:1326
+#: rc_option_editor.cc:1571
+msgid "Default fade shape"
+msgstr ""
+
+#: rc_option_editor.cc:1590
msgid "Regions in active edit groups are edited together"
msgstr ""
-#: rc_option_editor.cc:1327
+#: rc_option_editor.cc:1591
msgid "whenever they overlap in time"
msgstr ""
-#: rc_option_editor.cc:1328
+#: rc_option_editor.cc:1592
msgid "only if they have identical length, position and origin"
msgstr ""
-#: rc_option_editor.cc:1338
+#: rc_option_editor.cc:1602
msgid "Make rubberband selection rectangle snap to the grid"
msgstr ""
-#: rc_option_editor.cc:1346
+#: rc_option_editor.cc:1610
msgid "Show waveforms in regions"
msgstr ""
-#: rc_option_editor.cc:1354
+#: rc_option_editor.cc:1618
msgid "Show gain envelopes in audio regions"
msgstr ""
-#: rc_option_editor.cc:1355
+#: rc_option_editor.cc:1619
msgid "in all modes"
msgstr ""
-#: rc_option_editor.cc:1356
+#: rc_option_editor.cc:1620
msgid "only in region gain mode"
msgstr ""
-#: rc_option_editor.cc:1363
+#: rc_option_editor.cc:1627
msgid "Waveform scale"
msgstr ""
-#: rc_option_editor.cc:1368
+#: rc_option_editor.cc:1632
msgid "linear"
msgstr ""
-#: rc_option_editor.cc:1369
+#: rc_option_editor.cc:1633
msgid "logarithmic"
msgstr ""
-#: rc_option_editor.cc:1375
+#: rc_option_editor.cc:1639
msgid "Waveform shape"
msgstr ""
-#: rc_option_editor.cc:1380
+#: rc_option_editor.cc:1644
msgid "traditional"
msgstr ""
-#: rc_option_editor.cc:1381
+#: rc_option_editor.cc:1645
msgid "rectified"
msgstr ""
-#: rc_option_editor.cc:1388
+#: rc_option_editor.cc:1654
msgid "Show waveforms for audio while it is being recorded"
msgstr ""
-#: rc_option_editor.cc:1396
+#: rc_option_editor.cc:1662
msgid "Show zoom toolbar"
msgstr ""
-#: rc_option_editor.cc:1404
-msgid "Color regions using their track's color"
-msgstr "Colour regions using their track's colour"
-
-#: rc_option_editor.cc:1412
+#: rc_option_editor.cc:1670
msgid "Update editor window during drags of the summary"
msgstr ""
-#: rc_option_editor.cc:1420
+#: rc_option_editor.cc:1678
msgid "Synchronise editor and mixer selection"
msgstr ""
-#: rc_option_editor.cc:1427
+#: rc_option_editor.cc:1685
msgid "Name new markers"
msgstr ""
-#: rc_option_editor.cc:1433
+#: rc_option_editor.cc:1691
msgid ""
"If enabled, popup a dialog when a new marker is created to allow its name to "
"be set as it is created.\n"
@@ -8797,656 +9042,678 @@ msgid ""
"You can always rename markers by right-clicking on them"
msgstr ""
-#: rc_option_editor.cc:1439
+#: rc_option_editor.cc:1697
msgid "Auto-scroll editor window when dragging near its edges"
msgstr ""
-#: rc_option_editor.cc:1446
+#: rc_option_editor.cc:1704
msgid "Buffering"
msgstr ""
-#: rc_option_editor.cc:1454
+#: rc_option_editor.cc:1712
msgid "Record monitoring handled by"
msgstr ""
-#: rc_option_editor.cc:1460
+#: rc_option_editor.cc:1718
msgid "via Audio Driver"
msgstr ""
-#: rc_option_editor.cc:1463
-msgid "ardour"
-msgstr ""
-
-#: rc_option_editor.cc:1464
+#: rc_option_editor.cc:1724
msgid "audio hardware"
msgstr ""
-#: rc_option_editor.cc:1471
+#: rc_option_editor.cc:1731
msgid "Tape machine mode"
msgstr ""
-#: rc_option_editor.cc:1476
+#: rc_option_editor.cc:1736
msgid "Connection of tracks and busses"
msgstr ""
-#: rc_option_editor.cc:1481
+#: rc_option_editor.cc:1741
msgid "Auto-connect master/monitor busses"
msgstr ""
-#: rc_option_editor.cc:1488
+#: rc_option_editor.cc:1748
msgid "Connect track inputs"
msgstr ""
-#: rc_option_editor.cc:1493
+#: rc_option_editor.cc:1753
msgid "automatically to physical inputs"
msgstr ""
-#: rc_option_editor.cc:1494 rc_option_editor.cc:1507
+#: rc_option_editor.cc:1754 rc_option_editor.cc:1767
msgid "manually"
msgstr ""
-#: rc_option_editor.cc:1500
+#: rc_option_editor.cc:1760
msgid "Connect track and bus outputs"
msgstr ""
-#: rc_option_editor.cc:1505
+#: rc_option_editor.cc:1765
msgid "automatically to physical outputs"
msgstr ""
-#: rc_option_editor.cc:1506
+#: rc_option_editor.cc:1766
msgid "automatically to master bus"
msgstr ""
-#: rc_option_editor.cc:1511
+#: rc_option_editor.cc:1771
msgid "Denormals"
msgstr ""
-#: rc_option_editor.cc:1516
+#: rc_option_editor.cc:1776
msgid "Use DC bias to protect against denormals"
msgstr ""
-#: rc_option_editor.cc:1523
+#: rc_option_editor.cc:1783
msgid "Processor handling"
msgstr ""
-#: rc_option_editor.cc:1528
+#: rc_option_editor.cc:1788
msgid "no processor handling"
msgstr ""
-#: rc_option_editor.cc:1533
+#: rc_option_editor.cc:1793
msgid "use FlushToZero"
msgstr ""
-#: rc_option_editor.cc:1537
+#: rc_option_editor.cc:1797
msgid "use DenormalsAreZero"
msgstr ""
-#: rc_option_editor.cc:1541
+#: rc_option_editor.cc:1801
msgid "use FlushToZero and DenormalsAreZero"
msgstr ""
-#: rc_option_editor.cc:1551
+#: rc_option_editor.cc:1811
msgid "Silence plugins when the transport is stopped"
msgstr ""
-#: rc_option_editor.cc:1559
+#: rc_option_editor.cc:1819
msgid "Make new plugins active"
msgstr ""
-#: rc_option_editor.cc:1567
+#: rc_option_editor.cc:1829
msgid "Enable automatic analysis of audio"
msgstr ""
-#: rc_option_editor.cc:1575
+#: rc_option_editor.cc:1837
msgid "Replicate missing region channels"
msgstr ""
-#: rc_option_editor.cc:1582 rc_option_editor.cc:1597 rc_option_editor.cc:1609
-#: rc_option_editor.cc:1621 rc_option_editor.cc:1633 rc_option_editor.cc:1637
-#: rc_option_editor.cc:1645 rc_option_editor.cc:1653 rc_option_editor.cc:1661
-#: rc_option_editor.cc:1663 rc_option_editor.cc:1671 rc_option_editor.cc:1679
-#: rc_option_editor.cc:1687
+#: rc_option_editor.cc:1844 rc_option_editor.cc:1846 rc_option_editor.cc:1861
+#: rc_option_editor.cc:1873 rc_option_editor.cc:1885 rc_option_editor.cc:1897
+#: rc_option_editor.cc:1901 rc_option_editor.cc:1909 rc_option_editor.cc:1917
+#: rc_option_editor.cc:1925 rc_option_editor.cc:1927 rc_option_editor.cc:1935
+#: rc_option_editor.cc:1943 rc_option_editor.cc:1951 rc_option_editor.cc:1959
+#: rc_option_editor.cc:1961
msgid "Solo / mute"
msgstr ""
-#: rc_option_editor.cc:1585
+#: rc_option_editor.cc:1849
msgid "Solo-in-place mute cut (dB)"
msgstr ""
-#: rc_option_editor.cc:1592
+#: rc_option_editor.cc:1856
msgid "Solo controls are Listen controls"
msgstr ""
-#: rc_option_editor.cc:1601
+#: rc_option_editor.cc:1865
msgid "Listen Position"
msgstr ""
-#: rc_option_editor.cc:1606
+#: rc_option_editor.cc:1870
msgid "after-fader (AFL)"
msgstr ""
-#: rc_option_editor.cc:1607
+#: rc_option_editor.cc:1871
msgid "pre-fader (PFL)"
msgstr ""
-#: rc_option_editor.cc:1613
+#: rc_option_editor.cc:1877
msgid "PFL signals come from"
msgstr ""
-#: rc_option_editor.cc:1618
+#: rc_option_editor.cc:1882
msgid "before pre-fader processors"
msgstr ""
-#: rc_option_editor.cc:1619
+#: rc_option_editor.cc:1883
msgid "pre-fader but after pre-fader processors"
msgstr ""
-#: rc_option_editor.cc:1625
+#: rc_option_editor.cc:1889
msgid "AFL signals come from"
msgstr ""
-#: rc_option_editor.cc:1630
+#: rc_option_editor.cc:1894
msgid "immediately post-fader"
msgstr ""
-#: rc_option_editor.cc:1631
+#: rc_option_editor.cc:1895
msgid "after post-fader processors (before pan)"
msgstr ""
-#: rc_option_editor.cc:1640
+#: rc_option_editor.cc:1904
msgid "Exclusive solo"
msgstr ""
-#: rc_option_editor.cc:1648
+#: rc_option_editor.cc:1912
msgid "Show solo muting"
msgstr ""
-#: rc_option_editor.cc:1656
+#: rc_option_editor.cc:1920
msgid "Soloing overrides muting"
msgstr ""
-#: rc_option_editor.cc:1661
+#: rc_option_editor.cc:1925
msgid "Default track / bus muting options"
msgstr ""
-#: rc_option_editor.cc:1666
+#: rc_option_editor.cc:1930
msgid "Mute affects pre-fader sends"
msgstr ""
-#: rc_option_editor.cc:1674
+#: rc_option_editor.cc:1938
msgid "Mute affects post-fader sends"
msgstr ""
-#: rc_option_editor.cc:1682
+#: rc_option_editor.cc:1946
msgid "Mute affects control outputs"
msgstr ""
-#: rc_option_editor.cc:1690
+#: rc_option_editor.cc:1954
msgid "Mute affects main outputs"
msgstr ""
-#: rc_option_editor.cc:1706
+#: rc_option_editor.cc:1959
+msgid "Send Routing"
+msgstr ""
+
+#: rc_option_editor.cc:1964
+msgid "Link panners of Aux and External Sends with main panner by default"
+msgstr ""
+
+#: rc_option_editor.cc:1980
msgid "Send MIDI Time Code"
msgstr ""
-#: rc_option_editor.cc:1714
+#: rc_option_editor.cc:1988
msgid "Percentage either side of normal transport speed to transmit MTC"
msgstr ""
-#: rc_option_editor.cc:1723
+#: rc_option_editor.cc:1997
msgid "Obey MIDI Machine Control commands"
msgstr ""
-#: rc_option_editor.cc:1731
+#: rc_option_editor.cc:2005
msgid "Send MIDI Machine Control commands"
msgstr ""
-#: rc_option_editor.cc:1739
+#: rc_option_editor.cc:2013
msgid "Send MIDI control feedback"
msgstr ""
-#: rc_option_editor.cc:1747
+#: rc_option_editor.cc:2021
msgid "Inbound MMC device ID"
msgstr ""
-#: rc_option_editor.cc:1756
+#: rc_option_editor.cc:2030
msgid "Outbound MMC device ID"
msgstr ""
-#: rc_option_editor.cc:1765
+#: rc_option_editor.cc:2039
msgid "Initial program change"
msgstr ""
-#: rc_option_editor.cc:1774
+#: rc_option_editor.cc:2048
msgid "Display first MIDI bank/program as 0"
msgstr ""
-#: rc_option_editor.cc:1782
+#: rc_option_editor.cc:2056
msgid "Never display periodic MIDI messages (MTC, MIDI Clock)"
msgstr ""
-#: rc_option_editor.cc:1790
+#: rc_option_editor.cc:2064
msgid "Sound MIDI notes as they are selected"
msgstr ""
-#: rc_option_editor.cc:1798 rc_option_editor.cc:1808 rc_option_editor.cc:1810
+#: rc_option_editor.cc:2069
+msgid "Midi Audition"
+msgstr ""
+
+#: rc_option_editor.cc:2073
+msgid "Midi Audition Synth (LV2)"
+msgstr ""
+
+#: rc_option_editor.cc:2097 rc_option_editor.cc:2107 rc_option_editor.cc:2109
msgid "User interaction"
msgstr ""
-#: rc_option_editor.cc:1801
+#: rc_option_editor.cc:2100
msgid ""
"Use translations of %1 messages\n"
" <i>(requires a restart of %1 to take effect)</i>\n"
" <i>(if available for your language preferences)</i>"
msgstr ""
-#: rc_option_editor.cc:1808
+#: rc_option_editor.cc:2107
msgid "Keyboard"
msgstr ""
-#: rc_option_editor.cc:1818
+#: rc_option_editor.cc:2117
msgid "Control surface remote ID"
msgstr ""
-#: rc_option_editor.cc:1823
+#: rc_option_editor.cc:2122
msgid "assigned by user"
msgstr ""
-#: rc_option_editor.cc:1824
+#: rc_option_editor.cc:2123
msgid "follows order of mixer"
msgstr ""
-#: rc_option_editor.cc:1833 rc_option_editor.cc:1841 rc_option_editor.cc:1851
-#: rc_option_editor.cc:1872 rc_option_editor.cc:1881 rc_option_editor.cc:1889
-#: rc_option_editor.cc:1903 rc_option_editor.cc:1922 rc_option_editor.cc:1938
-#: rc_option_editor.cc:1954 rc_option_editor.cc:1968 rc_option_editor.cc:1982
-#: rc_option_editor.cc:1984
+#: rc_option_editor.cc:2137 rc_option_editor.cc:2145 rc_option_editor.cc:2153
+#: rc_option_editor.cc:2163 rc_option_editor.cc:2187 rc_option_editor.cc:2200
+#: rc_option_editor.cc:2209
msgid "Preferences|GUI"
msgstr ""
-#: rc_option_editor.cc:1836
+#: rc_option_editor.cc:2140
msgid "Graphically indicate mouse pointer hovering over various widgets"
msgstr ""
-#: rc_option_editor.cc:1844
+#: rc_option_editor.cc:2148
msgid "Show tooltips if mouse hovers over a control"
msgstr ""
-#: rc_option_editor.cc:1854
-msgid "GUI"
+#: rc_option_editor.cc:2156
+msgid "Use name highlight bars in region displays"
+msgstr ""
+
+#: rc_option_editor.cc:2169
+msgid "update transport clock display at FPS instead of every 100ms"
msgstr ""
-#: rc_option_editor.cc:1857
-msgid "update transport clock display every 40ms instead of every 100ms"
+#: rc_option_editor.cc:2178
+msgid "Lock timeout (seconds)"
msgstr ""
-#: rc_option_editor.cc:1874
+#: rc_option_editor.cc:2186
+msgid "Lock GUI after this many idle seconds (zero to never lock)"
+msgstr ""
+
+#: rc_option_editor.cc:2202
msgid "Mixer Strip"
msgstr ""
-#: rc_option_editor.cc:1884
+#: rc_option_editor.cc:2212
msgid "Use narrow strips in the mixer by default"
msgstr ""
-#: rc_option_editor.cc:1893
+#: rc_option_editor.cc:2217 rc_option_editor.cc:2231 rc_option_editor.cc:2250
+#: rc_option_editor.cc:2266 rc_option_editor.cc:2282 rc_option_editor.cc:2296
+#: rc_option_editor.cc:2310 rc_option_editor.cc:2312
+msgid "Preferences|Metering"
+msgstr ""
+
+#: rc_option_editor.cc:2221
msgid "Peak hold time"
msgstr ""
-#: rc_option_editor.cc:1899
+#: rc_option_editor.cc:2227
msgid "short"
msgstr ""
-#: rc_option_editor.cc:1900
+#: rc_option_editor.cc:2228
msgid "medium"
msgstr ""
-#: rc_option_editor.cc:1901
+#: rc_option_editor.cc:2229
msgid "long"
msgstr ""
-#: rc_option_editor.cc:1907
+#: rc_option_editor.cc:2235
msgid "DPM fall-off"
msgstr ""
-#: rc_option_editor.cc:1913
+#: rc_option_editor.cc:2241
msgid "slowest [6.6dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1914
+#: rc_option_editor.cc:2242
msgid "slow [8.6dB/sec] (BBC PPM, EBU PPM)"
msgstr ""
-#: rc_option_editor.cc:1915
+#: rc_option_editor.cc:2243
msgid "slowish [12.0dB/sec] (DIN)"
msgstr ""
-#: rc_option_editor.cc:1916
+#: rc_option_editor.cc:2244
msgid "moderate [13.3dB/sec] (EBU Digi PPM, IRT Digi PPM)"
msgstr ""
-#: rc_option_editor.cc:1917
+#: rc_option_editor.cc:2245
msgid "medium [20dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1918
+#: rc_option_editor.cc:2246
msgid "fast [32dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1919
+#: rc_option_editor.cc:2247
msgid "faster [46dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1920
+#: rc_option_editor.cc:2248
msgid "fastest [70dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1926
+#: rc_option_editor.cc:2254
msgid "Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1931 rc_option_editor.cc:1947
+#: rc_option_editor.cc:2259 rc_option_editor.cc:2275
msgid "-24dBFS (SMPTE US: 4dBu = -20dBFS)"
msgstr ""
-#: rc_option_editor.cc:1932 rc_option_editor.cc:1948
+#: rc_option_editor.cc:2260 rc_option_editor.cc:2276
msgid "-20dBFS (SMPTE RP.0155)"
msgstr ""
-#: rc_option_editor.cc:1933 rc_option_editor.cc:1949
+#: rc_option_editor.cc:2261 rc_option_editor.cc:2277
msgid "-18dBFS (EBU, BBC)"
msgstr ""
-#: rc_option_editor.cc:1934 rc_option_editor.cc:1950
+#: rc_option_editor.cc:2262 rc_option_editor.cc:2278
msgid "-15dBFS (DIN)"
msgstr ""
-#: rc_option_editor.cc:1936
+#: rc_option_editor.cc:2264
msgid ""
"Configure meter-marks and color-knee point for dBFS scale DPM, set reference "
"level for IEC1/Nordic, IEC2 PPM and VU meter."
msgstr ""
+"Configure meter-marks and colour-knee point for dBFS scale DPM, set "
+"reference level for IEC1/Nordic, IEC2 PPM and VU meter."
-#: rc_option_editor.cc:1942
+#: rc_option_editor.cc:2270
msgid "IEC1/DIN Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1952
+#: rc_option_editor.cc:2280
msgid "Reference level for IEC1/DIN meter."
msgstr ""
-#: rc_option_editor.cc:1958
+#: rc_option_editor.cc:2286
msgid "VU Meter standard"
msgstr ""
-#: rc_option_editor.cc:1963
+#: rc_option_editor.cc:2291
msgid "0VU = -2dBu (France)"
msgstr ""
-#: rc_option_editor.cc:1964
+#: rc_option_editor.cc:2292
msgid "0VU = 0dBu (North America, Australia)"
msgstr ""
-#: rc_option_editor.cc:1965
+#: rc_option_editor.cc:2293
msgid "0VU = +4dBu (standard)"
msgstr ""
-#: rc_option_editor.cc:1966
+#: rc_option_editor.cc:2294
msgid "0VU = +8dBu"
msgstr ""
-#: rc_option_editor.cc:1972
+#: rc_option_editor.cc:2300
msgid "Peak threshold [dBFS]"
msgstr ""
-#: rc_option_editor.cc:1980
+#: rc_option_editor.cc:2308
msgid ""
"Specify the audio signal level in dbFS at and above which the meter-peak "
"indicator will flash red."
msgstr ""
-#: rc_option_editor.cc:1987
+#: rc_option_editor.cc:2315
msgid "LED meter style"
msgstr ""
-#: region_editor.cc:79
+#: region_editor.cc:78
msgid "audition this region"
msgstr ""
-#: region_editor.cc:88 region_layering_order_editor.cc:74
+#: region_editor.cc:87 region_layering_order_editor.cc:75
msgid "Position:"
msgstr ""
-#: region_editor.cc:90 add_video_dialog.cc:170
+#: region_editor.cc:89 add_video_dialog.cc:155
msgid "End:"
msgstr ""
-#: region_editor.cc:92 sfdb_ui.cc:139
+#: region_editor.cc:91 sfdb_ui.cc:143
msgid "Length:"
msgstr ""
-#: region_editor.cc:94
+#: region_editor.cc:93
msgid "Sync point (relative to region):"
msgstr ""
-#: region_editor.cc:96
+#: region_editor.cc:95
msgid "Sync point (absolute):"
msgstr ""
-#: region_editor.cc:98
+#: region_editor.cc:97
msgid "File start:"
msgstr ""
-#: region_editor.cc:102
+#: region_editor.cc:101
msgid "Sources:"
msgstr ""
-#: region_editor.cc:104
+#: region_editor.cc:103
msgid "Source:"
msgstr ""
-#: region_editor.cc:166
+#: region_editor.cc:165
msgid "Region '%1'"
msgstr ""
-#: region_editor.cc:273
+#: region_editor.cc:272
msgid "change region start position"
msgstr ""
-#: region_editor.cc:289
+#: region_editor.cc:288
msgid "change region end position"
msgstr ""
-#: region_editor.cc:309
+#: region_editor.cc:308
msgid "change region length"
msgstr ""
-#: region_editor.cc:403 region_editor.cc:415
+#: region_editor.cc:402 region_editor.cc:414
msgid "change region sync point"
msgstr ""
-#: region_layering_order_editor.cc:41
+#: region_layering_order_editor.cc:42
msgid "RegionLayeringOrderEditor"
msgstr ""
-#: region_layering_order_editor.cc:54
+#: region_layering_order_editor.cc:55
msgid "Region Name"
msgstr ""
-#: region_layering_order_editor.cc:71
+#: region_layering_order_editor.cc:72
msgid "Track:"
msgstr ""
-#: region_layering_order_editor.cc:103
+#: region_layering_order_editor.cc:104
msgid "Choose Top Region"
msgstr ""
-#: region_view.cc:274
+#: region_view.cc:282
msgid "SilenceText"
msgstr ""
-#: region_view.cc:290 region_view.cc:309
+#: region_view.cc:297 region_view.cc:316
msgid "minutes"
msgstr ""
-#: region_view.cc:293 region_view.cc:312
+#: region_view.cc:300 region_view.cc:319
msgid "msecs"
msgstr ""
-#: region_view.cc:296 region_view.cc:315
+#: region_view.cc:303 region_view.cc:322
msgid "secs"
msgstr ""
-#: region_view.cc:299
+#: region_view.cc:306
msgid "%1 silent segment"
msgid_plural "%1 silent segments"
msgstr[0] ""
msgstr[1] ""
-#: region_view.cc:301
+#: region_view.cc:308
msgid "shortest = %1 %2"
msgstr ""
-#: region_view.cc:318
+#: region_view.cc:325
msgid ""
"\n"
" (shortest audible segment = %1 %2)"
msgstr ""
-#: return_ui.cc:103
+#: return_ui.cc:102
msgid "Return "
msgstr ""
-#: rhythm_ferret.cc:49
+#: rhythm_ferret.cc:48
msgid "Percussive Onset"
msgstr ""
-#: rhythm_ferret.cc:50
+#: rhythm_ferret.cc:49
msgid "Note Onset"
msgstr ""
-#: rhythm_ferret.cc:55
+#: rhythm_ferret.cc:54
msgid "Energy Based"
msgstr ""
-#: rhythm_ferret.cc:56
+#: rhythm_ferret.cc:55
msgid "Spectral Difference"
msgstr ""
-#: rhythm_ferret.cc:57
+#: rhythm_ferret.cc:56
msgid "High-Frequency Content"
msgstr ""
-#: rhythm_ferret.cc:58
+#: rhythm_ferret.cc:57
msgid "Complex Domain"
msgstr ""
-#: rhythm_ferret.cc:59
+#: rhythm_ferret.cc:58
msgid "Phase Deviation"
msgstr ""
-#: rhythm_ferret.cc:60
+#: rhythm_ferret.cc:59
msgid "Kullback-Liebler"
msgstr ""
-#: rhythm_ferret.cc:61
+#: rhythm_ferret.cc:60
msgid "Modified Kullback-Liebler"
msgstr ""
-#: rhythm_ferret.cc:66
+#: rhythm_ferret.cc:65
msgid "Split region"
msgstr ""
-#: rhythm_ferret.cc:67
+#: rhythm_ferret.cc:66
msgid "Snap regions"
msgstr ""
-#: rhythm_ferret.cc:68
+#: rhythm_ferret.cc:67
msgid "Conform regions"
msgstr ""
-#: rhythm_ferret.cc:73
+#: rhythm_ferret.cc:72
msgid "Rhythm Ferret"
msgstr ""
-#: rhythm_ferret.cc:79
+#: rhythm_ferret.cc:78
msgid "Analyze"
-msgstr ""
+msgstr "Analyse"
-#: rhythm_ferret.cc:114
+#: rhythm_ferret.cc:113
msgid "Detection function"
msgstr ""
-#: rhythm_ferret.cc:118
+#: rhythm_ferret.cc:117
msgid "Trigger gap"
msgstr ""
-#: rhythm_ferret.cc:123 strip_silence_dialog.cc:68
+#: rhythm_ferret.cc:122 strip_silence_dialog.cc:64
msgid "Threshold"
msgstr ""
-#: rhythm_ferret.cc:128
+#: rhythm_ferret.cc:127
msgid "Peak threshold"
msgstr ""
-#: rhythm_ferret.cc:133
+#: rhythm_ferret.cc:132
msgid "Silence threshold"
msgstr ""
-#: rhythm_ferret.cc:138
+#: rhythm_ferret.cc:137
msgid "Sensitivity"
msgstr ""
-#: rhythm_ferret.cc:142
+#: rhythm_ferret.cc:141
msgid "Operation"
msgstr ""
-#: rhythm_ferret.cc:356
+#: rhythm_ferret.cc:355
msgid "split regions (rhythm ferret)"
msgstr ""
-#: route_group_dialog.cc:36
+#: route_group_dialog.cc:42
msgid "Track/bus Group"
msgstr ""
-#: route_group_dialog.cc:41
+#: route_group_dialog.cc:47
msgid "Relative"
msgstr ""
-#: route_group_dialog.cc:42
+#: route_group_dialog.cc:48
msgid "Muting"
msgstr ""
-#: route_group_dialog.cc:43
-msgid "Soloing"
-msgstr ""
-
-#: route_group_dialog.cc:44
+#: route_group_dialog.cc:50
msgid "Record enable"
msgstr ""
-#: route_group_dialog.cc:45 time_info_box.cc:66
+#: route_group_dialog.cc:51 time_info_box.cc:67
msgid "Selection"
msgstr ""
-#: route_group_dialog.cc:46
+#: route_group_dialog.cc:52
msgid "Active state"
msgstr ""
-#: route_group_dialog.cc:47 route_group_dialog.cc:76 theme_manager.cc:71
+#: route_group_dialog.cc:53 route_group_dialog.cc:82 theme_manager.cc:84
msgid "Color"
msgstr "Colour"
-#: route_group_dialog.cc:53
+#: route_group_dialog.cc:59
msgid "RouteGroupDialog"
msgstr ""
-#: route_group_dialog.cc:92
+#: route_group_dialog.cc:100
msgid "<b>Sharing</b>"
msgstr ""
-#: route_group_dialog.cc:182
-msgid ""
-"A route group of this name already exists. Please use a different name."
+#: route_group_dialog.cc:200
+msgid "The group name is not unique. Please use a different name."
msgstr ""
#: route_params_ui.cc:83
@@ -9469,296 +9736,280 @@ msgstr ""
msgid "route display list item for renamed route not found!"
msgstr ""
-#: route_params_ui.cc:255 route_params_ui.cc:283
+#: route_params_ui.cc:278 route_params_ui.cc:306
#, c-format
msgid "Playback delay: %<PRId64> samples"
msgstr ""
-#: route_params_ui.cc:475
+#: route_params_ui.cc:498
msgid "NO TRACK"
msgstr ""
-#: route_params_ui.cc:613 route_params_ui.cc:614
+#: route_params_ui.cc:636 route_params_ui.cc:637
msgid "No Track or Bus Selected"
msgstr ""
-#: route_time_axis.cc:97
-msgid "g"
-msgstr ""
-
-#: route_time_axis.cc:98
-msgid "p"
-msgstr ""
-
-#: route_time_axis.cc:99
-msgid "a"
-msgstr ""
-
-#: route_time_axis.cc:173
+#: route_time_axis.cc:177
msgid "Record (Right-click for Step Edit)"
msgstr ""
-#: route_time_axis.cc:176
+#: route_time_axis.cc:180
msgid "Record"
msgstr ""
-#: route_time_axis.cc:210
+#: route_time_axis.cc:250
msgid "Route Group"
msgstr ""
-#: route_time_axis.cc:213
+#: route_time_axis.cc:260
msgid "MIDI Controllers and Automation"
msgstr ""
-#: route_time_axis.cc:390
+#: route_time_axis.cc:490
msgid "Show All Automation"
msgstr ""
-#: route_time_axis.cc:393
+#: route_time_axis.cc:493
msgid "Show Existing Automation"
msgstr ""
-#: route_time_axis.cc:396
+#: route_time_axis.cc:496
msgid "Hide All Automation"
msgstr ""
-#: route_time_axis.cc:405
+#: route_time_axis.cc:505
msgid "Processor automation"
msgstr ""
-#: route_time_axis.cc:424
-msgid "Color..."
-msgstr "Colour..."
-
-#: route_time_axis.cc:481
+#: route_time_axis.cc:589
msgid "Overlaid"
msgstr ""
-#: route_time_axis.cc:487
+#: route_time_axis.cc:595
msgid "Stacked"
msgstr ""
-#: route_time_axis.cc:495
+#: route_time_axis.cc:603
msgid "Layers"
msgstr ""
-#: route_time_axis.cc:564
+#: route_time_axis.cc:672
msgid "Automatic (based on I/O connections)"
msgstr ""
-#: route_time_axis.cc:573
+#: route_time_axis.cc:681
msgid "(Currently: Existing Material)"
msgstr ""
-#: route_time_axis.cc:576
+#: route_time_axis.cc:684
msgid "(Currently: Capture Time)"
msgstr ""
-#: route_time_axis.cc:584
+#: route_time_axis.cc:692
msgid "Align With Existing Material"
msgstr ""
-#: route_time_axis.cc:589
+#: route_time_axis.cc:697
msgid "Align With Capture Time"
msgstr ""
-#: route_time_axis.cc:594
+#: route_time_axis.cc:702
msgid "Alignment"
msgstr ""
-#: route_time_axis.cc:629
+#: route_time_axis.cc:737
msgid "Normal Mode"
msgstr ""
-#: route_time_axis.cc:635
+#: route_time_axis.cc:743
msgid "Tape Mode"
msgstr ""
-#: route_time_axis.cc:641
+#: route_time_axis.cc:749
msgid "Non-Layered Mode"
msgstr ""
-#: route_time_axis.cc:654 route_time_axis.cc:1601
+#: route_time_axis.cc:762 route_time_axis.cc:1738
msgid "Playlist"
msgstr ""
-#: route_time_axis.cc:979
+#: route_time_axis.cc:1060
msgid "Rename Playlist"
msgstr ""
-#: route_time_axis.cc:980
+#: route_time_axis.cc:1061
msgid "New name for playlist:"
msgstr ""
-#: route_time_axis.cc:1065
+#: route_time_axis.cc:1146
msgid "New Copy Playlist"
msgstr ""
-#: route_time_axis.cc:1066 route_time_axis.cc:1119
+#: route_time_axis.cc:1147 route_time_axis.cc:1200
msgid "Name for new playlist:"
msgstr ""
-#: route_time_axis.cc:1118
+#: route_time_axis.cc:1199
msgid "New Playlist"
msgstr ""
-#: route_time_axis.cc:1309
+#: route_time_axis.cc:1390
msgid "You cannot create a track with that name as it is reserved for %1"
msgstr ""
-#: route_time_axis.cc:1490
+#: route_time_axis.cc:1627
msgid "New Copy..."
msgstr ""
-#: route_time_axis.cc:1494
+#: route_time_axis.cc:1631
msgid "New Take"
msgstr ""
-#: route_time_axis.cc:1495
+#: route_time_axis.cc:1632
msgid "Copy Take"
msgstr ""
-#: route_time_axis.cc:1500
+#: route_time_axis.cc:1637
msgid "Clear Current"
msgstr ""
-#: route_time_axis.cc:1503
+#: route_time_axis.cc:1640
msgid "Select From All..."
msgstr ""
-#: route_time_axis.cc:1591
+#: route_time_axis.cc:1728
msgid "Take: %1.%2"
msgstr ""
-#: route_time_axis.cc:2291
+#: route_time_axis.cc:2014 selection.cc:1002 selection.cc:1056
+msgid "programming error: "
+msgstr ""
+
+#: route_time_axis.cc:2430
msgid "Underlays"
msgstr ""
-#: route_time_axis.cc:2294
+#: route_time_axis.cc:2433
msgid "Remove \"%1\""
msgstr ""
-#: route_time_axis.cc:2344 route_time_axis.cc:2381
+#: route_time_axis.cc:2483 route_time_axis.cc:2520
msgid "programming error: underlay reference pointer pairs are inconsistent!"
msgstr ""
-#: route_time_axis.cc:2408
+#: route_time_axis.cc:2547
msgid "After-fade listen (AFL)"
msgstr ""
-#: route_time_axis.cc:2412
+#: route_time_axis.cc:2551
msgid "Pre-fade listen (PFL)"
msgstr ""
-#: route_time_axis.cc:2416
-msgid "s"
-msgstr ""
-
-#: route_time_axis.cc:2419
-msgid "m"
-msgstr ""
-
-#: route_ui.cc:119
+#: route_ui.cc:138
msgid "Mute this track"
msgstr ""
-#: route_ui.cc:123
+#: route_ui.cc:142
msgid "Mute other (non-soloed) tracks"
msgstr ""
-#: route_ui.cc:129
+#: route_ui.cc:148
msgid "Enable recording on this track"
msgstr ""
-#: route_ui.cc:133
+#: route_ui.cc:156
msgid "make mixer strips show sends to this bus"
msgstr ""
-#: route_ui.cc:138
+#: route_ui.cc:161
msgid "Monitor input"
msgstr ""
-#: route_ui.cc:144
+#: route_ui.cc:167
msgid "Monitor playback"
msgstr ""
-#: route_ui.cc:591
-msgid "Not connected to JACK - cannot engage record"
+#: route_ui.cc:674
+msgid "Not connected to AudioEngine - cannot engage record"
msgstr ""
-#: route_ui.cc:786
+#: route_ui.cc:873
msgid "Step Entry"
msgstr ""
-#: route_ui.cc:859
+#: route_ui.cc:946
msgid "Assign all tracks (prefader)"
msgstr ""
-#: route_ui.cc:863
+#: route_ui.cc:950
msgid "Assign all tracks and buses (prefader)"
msgstr ""
-#: route_ui.cc:867
+#: route_ui.cc:954
msgid "Assign all tracks (postfader)"
msgstr ""
-#: route_ui.cc:871
+#: route_ui.cc:958
msgid "Assign all tracks and buses (postfader)"
msgstr ""
-#: route_ui.cc:875
+#: route_ui.cc:962
msgid "Assign selected tracks (prefader)"
msgstr ""
-#: route_ui.cc:879
+#: route_ui.cc:966
msgid "Assign selected tracks and buses (prefader)"
msgstr ""
-#: route_ui.cc:882
+#: route_ui.cc:969
msgid "Assign selected tracks (postfader)"
msgstr ""
-#: route_ui.cc:886
+#: route_ui.cc:973
msgid "Assign selected tracks and buses (postfader)"
msgstr ""
-#: route_ui.cc:889
+#: route_ui.cc:976
msgid "Copy track/bus gains to sends"
msgstr ""
-#: route_ui.cc:890
+#: route_ui.cc:977
msgid "Set sends gain to -inf"
msgstr ""
-#: route_ui.cc:891
+#: route_ui.cc:978
msgid "Set sends gain to 0dB"
msgstr ""
-#: route_ui.cc:1211
+#: route_ui.cc:1304
msgid "Solo Isolate"
msgstr ""
-#: route_ui.cc:1240
-msgid "Pre Fader"
+#: route_ui.cc:1311
+msgid "Solo Safe"
msgstr ""
-#: route_ui.cc:1246
-msgid "Post Fader"
+#: route_ui.cc:1333
+msgid "Pre Fader Sends"
+msgstr ""
+
+#: route_ui.cc:1339
+msgid "Post Fader Sends"
msgstr ""
-#: route_ui.cc:1252
+#: route_ui.cc:1345
msgid "Control Outs"
msgstr ""
-#: route_ui.cc:1258
+#: route_ui.cc:1351
msgid "Main Outs"
msgstr ""
-#: route_ui.cc:1390
+#: route_ui.cc:1483
msgid "Color Selection"
msgstr "Colour Selection"
-#: route_ui.cc:1477
+#: route_ui.cc:1568
msgid ""
"Do you really want to remove track \"%1\" ?\n"
"\n"
@@ -9767,68 +10018,72 @@ msgid ""
"(This action cannot be undone, and the session file will be overwritten)"
msgstr ""
-#: route_ui.cc:1479
+#: route_ui.cc:1570
msgid ""
"Do you really want to remove bus \"%1\" ?\n"
"\n"
"(This action cannot be undone, and the session file will be overwritten)"
msgstr ""
-#: route_ui.cc:1487
+#: route_ui.cc:1578
msgid "Remove track"
msgstr ""
-#: route_ui.cc:1489
+#: route_ui.cc:1580
msgid "Remove bus"
msgstr ""
-#: route_ui.cc:1516
+#: route_ui.cc:1608
msgid ""
"The use of colons (':') is discouraged in track and bus names.\n"
"Do you want to use this new name?"
msgstr ""
-#: route_ui.cc:1520
+#: route_ui.cc:1612
msgid "Use the new name"
msgstr ""
-#: route_ui.cc:1521
+#: route_ui.cc:1613
msgid "Re-edit the name"
msgstr ""
-#: route_ui.cc:1534
+#: route_ui.cc:1626
msgid "Rename Track"
msgstr ""
-#: route_ui.cc:1536
+#: route_ui.cc:1628
msgid "Rename Bus"
msgstr ""
-#: route_ui.cc:1695
+#: route_ui.cc:1696
+msgid ": comment editor"
+msgstr ""
+
+#: route_ui.cc:1862
msgid " latency"
msgstr ""
-#: route_ui.cc:1708
+#: route_ui.cc:1875
msgid "Cannot create route template directory %1"
msgstr ""
-#: route_ui.cc:1714
+#: route_ui.cc:1881
msgid "Save As Template"
msgstr ""
-#: route_ui.cc:1715
+#: route_ui.cc:1882
msgid "Template name:"
msgstr ""
-#: route_ui.cc:1788
+#: route_ui.cc:1963
msgid "Remote Control ID"
msgstr ""
-#: route_ui.cc:1798
+#: route_ui.cc:1973
msgid "Remote control ID:"
msgstr ""
-#: route_ui.cc:1812
+#: route_ui.cc:1987
msgid ""
"The remote control ID of %1 is: %2\n"
"\n"
@@ -9836,33 +10091,32 @@ msgid ""
"The remote control ID of %3 cannot be changed."
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1991
msgid "the master bus"
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1991
msgid "the monitor bus"
msgstr ""
-#: route_ui.cc:1818
+#: route_ui.cc:1993
msgid ""
"The remote control ID of %5 is: %2\n"
"\n"
"\n"
-"Remote Control IDs are currently determined by track/bus ordering in "
-"Ardour.\n"
+"Remote Control IDs are currently determined by track/bus ordering in %6.\n"
"\n"
"%3Use the User Interaction tab of the Preferences window if you want to "
"change this%4"
msgstr ""
-#: route_ui.cc:1875
+#: route_ui.cc:2050
msgid ""
"Left-click to invert (phase reverse) channel %1 of this track. Right-click "
"to show menu."
msgstr ""
-#: route_ui.cc:1877
+#: route_ui.cc:2052
msgid "Click to show a menu of channels for inversion (phase reverse)"
msgstr ""
@@ -9878,119 +10132,119 @@ msgstr ""
msgid "the session folder"
msgstr ""
-#: send_ui.cc:126
+#: send_ui.cc:134
msgid "Send "
msgstr ""
-#: session_dialog.cc:66
+#: session_dialog.cc:68
msgid "Session Setup"
msgstr ""
-#: session_dialog.cc:71
+#: session_dialog.cc:73
msgid "Advanced options ..."
msgstr ""
-#: session_dialog.cc:267
+#: session_dialog.cc:271
msgid "New Session"
msgstr ""
-#: session_dialog.cc:305
+#: session_dialog.cc:309
msgid "Check the website for more..."
msgstr ""
-#: session_dialog.cc:308
+#: session_dialog.cc:312
msgid "Click to open the program website in your web browser"
msgstr ""
-#: session_dialog.cc:328
+#: session_dialog.cc:332
msgid "Sample Rate"
msgstr ""
-#: session_dialog.cc:329
+#: session_dialog.cc:333
msgid "Disk Format"
msgstr ""
-#: session_dialog.cc:347
+#: session_dialog.cc:351
msgid "Select session file"
msgstr ""
-#: session_dialog.cc:362
+#: session_dialog.cc:366
msgid "Other Sessions"
msgstr ""
-#: session_dialog.cc:388
+#: session_dialog.cc:392
msgid "Open"
msgstr ""
-#: session_dialog.cc:455
+#: session_dialog.cc:459
msgid "Session name:"
msgstr ""
-#: session_dialog.cc:477
+#: session_dialog.cc:481
msgid "Create session folder in:"
msgstr ""
-#: session_dialog.cc:500
+#: session_dialog.cc:504
msgid "Select folder for session"
msgstr ""
-#: session_dialog.cc:529
+#: session_dialog.cc:533
msgid "Use this template"
msgstr ""
-#: session_dialog.cc:532
+#: session_dialog.cc:536
msgid "no template"
msgstr ""
-#: session_dialog.cc:664 session_dialog.cc:696
+#: session_dialog.cc:671 session_dialog.cc:707
msgid "32 bit float"
msgstr ""
-#: session_dialog.cc:667 session_dialog.cc:699
+#: session_dialog.cc:674 session_dialog.cc:710
msgid "24 bit"
msgstr ""
-#: session_dialog.cc:670 session_dialog.cc:702
+#: session_dialog.cc:677 session_dialog.cc:713
msgid "16 bit"
msgstr ""
-#: session_dialog.cc:741 session_dialog.cc:742 session_dialog.cc:743
+#: session_dialog.cc:755 session_dialog.cc:756 session_dialog.cc:757
msgid "channels"
msgstr ""
-#: session_dialog.cc:757
+#: session_dialog.cc:771
msgid "<b>Busses</b>"
msgstr ""
-#: session_dialog.cc:758
+#: session_dialog.cc:772
msgid "<b>Inputs</b>"
msgstr ""
-#: session_dialog.cc:759
+#: session_dialog.cc:773
msgid "<b>Outputs</b>"
msgstr ""
-#: session_dialog.cc:767
+#: session_dialog.cc:781
msgid "Create master bus"
msgstr ""
-#: session_dialog.cc:777
+#: session_dialog.cc:791
msgid "Automatically connect to physical inputs"
msgstr ""
-#: session_dialog.cc:784 session_dialog.cc:843
+#: session_dialog.cc:798 session_dialog.cc:857
msgid "Use only"
msgstr ""
-#: session_dialog.cc:837
+#: session_dialog.cc:851
msgid "Automatically connect outputs"
msgstr ""
-#: session_dialog.cc:859
+#: session_dialog.cc:873
msgid "... to master bus"
msgstr ""
-#: session_dialog.cc:869
+#: session_dialog.cc:883
msgid "... to physical outputs"
msgstr ""
@@ -10292,7 +10546,8 @@ msgstr ""
#: session_option_editor.cc:91
msgid ""
-"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless in JACK-sync)."
+"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless using JACK-"
+"sync)."
msgstr ""
#: session_option_editor.cc:96
@@ -10325,480 +10580,510 @@ msgid ""
"%1 is JACK Time Master (provides Bar|Beat|Tick and other information to JACK)"
msgstr ""
-#: session_option_editor.cc:137
-msgid "Default crossfade type"
-msgstr ""
-
-#: session_option_editor.cc:142
-msgid "Constant power (-3dB) crossfade"
-msgstr ""
-
-#: session_option_editor.cc:143
-msgid "Linear (-6dB) crossfade"
-msgstr ""
-
-#: session_option_editor.cc:148
+#: session_option_editor.cc:136
msgid "destructive-xfade-seconds"
msgstr ""
-#: session_option_editor.cc:149
+#: session_option_editor.cc:137
msgid "Destructive crossfade length"
msgstr ""
-#: session_option_editor.cc:158
+#: session_option_editor.cc:146
msgid "Region fades active"
msgstr ""
-#: session_option_editor.cc:165
+#: session_option_editor.cc:153
msgid "Region fades visible"
msgstr ""
-#: session_option_editor.cc:172 session_option_editor.cc:185
-#: session_option_editor.cc:199 session_option_editor.cc:201
-#: session_option_editor.cc:207 session_option_editor.cc:214
+#: session_option_editor.cc:160 session_option_editor.cc:173
+#: session_option_editor.cc:187
msgid "Media"
msgstr ""
-#: session_option_editor.cc:172
+#: session_option_editor.cc:160
msgid "Audio file format"
msgstr ""
-#: session_option_editor.cc:176
+#: session_option_editor.cc:164
msgid "Sample format"
msgstr ""
-#: session_option_editor.cc:181
+#: session_option_editor.cc:169
msgid "32-bit floating point"
msgstr ""
-#: session_option_editor.cc:182
+#: session_option_editor.cc:170
msgid "24-bit integer"
msgstr ""
-#: session_option_editor.cc:183
+#: session_option_editor.cc:171
msgid "16-bit integer"
msgstr ""
-#: session_option_editor.cc:189
+#: session_option_editor.cc:177
msgid "File type"
msgstr ""
-#: session_option_editor.cc:194
+#: session_option_editor.cc:182
msgid "Broadcast WAVE"
msgstr ""
-#: session_option_editor.cc:195
+#: session_option_editor.cc:183
msgid "WAVE"
msgstr ""
-#: session_option_editor.cc:196
+#: session_option_editor.cc:184
msgid "WAVE-64"
msgstr ""
-#: session_option_editor.cc:201
+#: session_option_editor.cc:189
msgid "File locations"
msgstr ""
-#: session_option_editor.cc:203
+#: session_option_editor.cc:191
msgid "Search for audio files in:"
msgstr ""
-#: session_option_editor.cc:209
+#: session_option_editor.cc:197
msgid "Search for MIDI files in:"
msgstr ""
-#: session_option_editor.cc:220
-msgid ""
-"Track Input Monitoring automatically follows transport state (\"auto-input\")"
+#: session_option_editor.cc:206 session_option_editor.cc:218
+#: session_option_editor.cc:228 session_option_editor.cc:239
+msgid "Filenames"
msgstr ""
-#: session_option_editor.cc:227
-msgid "Use monitor section in this session"
+#: session_option_editor.cc:206
+msgid "File Naming"
msgstr ""
-#: session_option_editor.cc:238
-msgid "MIDI region copies are independent"
+#: session_option_editor.cc:212
+msgid "Prefix Track number"
msgstr ""
-#: session_option_editor.cc:245
+#: session_option_editor.cc:217
msgid ""
-"Policy for handling overlapping notes\n"
-" on the same MIDI channel"
-msgstr ""
-
-#: session_option_editor.cc:250
-msgid "never allow them"
+"Adds the current track number to the beginning of the recorded file name."
msgstr ""
-#: session_option_editor.cc:251
-msgid "don't do anything in particular"
+#: session_option_editor.cc:222
+msgid "Prefix Take Name"
msgstr ""
-#: session_option_editor.cc:252
-msgid "replace any overlapped existing note"
-msgstr ""
-
-#: session_option_editor.cc:253
-msgid "shorten the overlapped existing note"
-msgstr ""
-
-#: session_option_editor.cc:254
-msgid "shorten the overlapping new note"
-msgstr ""
-
-#: session_option_editor.cc:255
-msgid "replace both overlapping notes with a single note"
+#: session_option_editor.cc:227
+msgid "Adds the Take Name to the beginning of the recorded file name."
msgstr ""
-#: session_option_editor.cc:259
-msgid "Glue to bars and beats"
+#: session_option_editor.cc:232
+msgid "Take Name"
msgstr ""
-#: session_option_editor.cc:263
-msgid "Glue new markers to bars and beats"
+#: session_option_editor.cc:245
+msgid ""
+"Track Input Monitoring automatically follows transport state (\"auto-input\")"
msgstr ""
-#: session_option_editor.cc:270
-msgid "Glue new regions to bars and beats"
+#: session_option_editor.cc:252
+msgid "Use monitor section in this session"
msgstr ""
-#: session_option_editor.cc:275 session_option_editor.cc:277
-#: session_option_editor.cc:284 session_option_editor.cc:291
-#: session_option_editor.cc:298 session_option_editor.cc:300
-#: session_option_editor.cc:307 session_option_editor.cc:314
-#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:257 session_option_editor.cc:259
+#: session_option_editor.cc:266 session_option_editor.cc:273
+#: session_option_editor.cc:280 session_option_editor.cc:282
+#: session_option_editor.cc:289 session_option_editor.cc:296
+#: session_option_editor.cc:303 session_option_editor.cc:310
+#: session_option_editor.cc:312
msgid "Meterbridge"
msgstr ""
-#: session_option_editor.cc:275
+#: session_option_editor.cc:257
msgid "Route Display"
msgstr ""
-#: session_option_editor.cc:279
+#: session_option_editor.cc:261
msgid "Show Midi Tracks"
msgstr ""
-#: session_option_editor.cc:286
+#: session_option_editor.cc:268
msgid "Show Busses"
msgstr ""
-#: session_option_editor.cc:293
+#: session_option_editor.cc:275
msgid "Include Master Bus"
msgstr ""
-#: session_option_editor.cc:298
+#: session_option_editor.cc:280
msgid "Button Area"
msgstr ""
-#: session_option_editor.cc:302
+#: session_option_editor.cc:284
msgid "Rec-enable Button"
msgstr ""
-#: session_option_editor.cc:309
+#: session_option_editor.cc:291
msgid "Mute Button"
msgstr ""
-#: session_option_editor.cc:316
+#: session_option_editor.cc:298
msgid "Solo Button"
msgstr ""
-#: session_option_editor.cc:321
+#: session_option_editor.cc:305
+msgid "Monitor Buttons"
+msgstr ""
+
+#: session_option_editor.cc:310
msgid "Name Labels"
msgstr ""
-#: session_option_editor.cc:325
+#: session_option_editor.cc:314
msgid "Track Name"
msgstr ""
-#: sfdb_ui.cc:86 sfdb_ui.cc:106 sfdb_ui.cc:115
+#: session_option_editor.cc:325
+msgid "MIDI region copies are independent"
+msgstr ""
+
+#: session_option_editor.cc:332
+msgid ""
+"Policy for handling overlapping notes\n"
+" on the same MIDI channel"
+msgstr ""
+
+#: session_option_editor.cc:337
+msgid "never allow them"
+msgstr ""
+
+#: session_option_editor.cc:338
+msgid "don't do anything in particular"
+msgstr ""
+
+#: session_option_editor.cc:339
+msgid "replace any overlapped existing note"
+msgstr ""
+
+#: session_option_editor.cc:340
+msgid "shorten the overlapped existing note"
+msgstr ""
+
+#: session_option_editor.cc:341
+msgid "shorten the overlapping new note"
+msgstr ""
+
+#: session_option_editor.cc:342
+msgid "replace both overlapping notes with a single note"
+msgstr ""
+
+#: session_option_editor.cc:346
+msgid "Glue to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:350
+msgid "Glue new markers to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:357
+msgid "Glue new regions to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:362
+msgid "Defaults"
+msgstr ""
+
+#: session_option_editor.cc:364
+msgid "Use these settings as defaults"
+msgstr ""
+
+#: sfdb_ui.cc:88 sfdb_ui.cc:108 sfdb_ui.cc:117
msgid "as new tracks"
msgstr ""
-#: sfdb_ui.cc:88 sfdb_ui.cc:108
+#: sfdb_ui.cc:90 sfdb_ui.cc:110
msgid "to selected tracks"
msgstr ""
-#: sfdb_ui.cc:90 sfdb_ui.cc:110
+#: sfdb_ui.cc:92 sfdb_ui.cc:112
msgid "to region list"
msgstr ""
-#: sfdb_ui.cc:92 sfdb_ui.cc:112
+#: sfdb_ui.cc:94 sfdb_ui.cc:114
msgid "as new tape tracks"
msgstr ""
-#: sfdb_ui.cc:96
+#: sfdb_ui.cc:98
msgid "programming error: unknown import mode string %1"
msgstr ""
-#: sfdb_ui.cc:123
+#: sfdb_ui.cc:125
msgid "Auto-play"
msgstr ""
-#: sfdb_ui.cc:129 sfdb_ui.cc:236
+#: sfdb_ui.cc:133 sfdb_ui.cc:317
msgid "<b>Sound File Information</b>"
msgstr ""
-#: sfdb_ui.cc:141
+#: sfdb_ui.cc:145
msgid "Timestamp:"
msgstr ""
-#: sfdb_ui.cc:143
+#: sfdb_ui.cc:147
msgid "Format:"
msgstr ""
-#: sfdb_ui.cc:182 sfdb_ui.cc:526
+#: sfdb_ui.cc:186 sfdb_ui.cc:646
msgid "Tags:"
msgstr ""
-#: sfdb_ui.cc:319
-msgid "Auditioning of MIDI files is not yet supported"
+#: sfdb_ui.cc:290
+msgid "<b>Midi File Information</b>"
msgstr ""
-#: sfdb_ui.cc:326
+#: sfdb_ui.cc:402
msgid "Could not read file: %1 (%2)."
msgstr ""
-#: sfdb_ui.cc:349
+#: sfdb_ui.cc:451
msgid "Could not access soundfile: "
msgstr ""
-#: sfdb_ui.cc:403
+#: sfdb_ui.cc:523
msgid "SoundFileBox: Could not tokenize string: "
msgstr "SoundFileBox: Could not tokenise string: "
-#: sfdb_ui.cc:423 sfdb_ui.cc:425
+#: sfdb_ui.cc:543 sfdb_ui.cc:545
msgid "Search"
msgstr ""
-#: sfdb_ui.cc:449
+#: sfdb_ui.cc:569
msgid "Audio and MIDI files"
msgstr ""
-#: sfdb_ui.cc:452
+#: sfdb_ui.cc:572
msgid "Audio files"
msgstr ""
-#: sfdb_ui.cc:455
+#: sfdb_ui.cc:575
msgid "MIDI files"
msgstr ""
-#: sfdb_ui.cc:458 add_video_dialog.cc:132
+#: sfdb_ui.cc:578 add_video_dialog.cc:123
msgid "All files"
msgstr ""
-#: sfdb_ui.cc:477 add_video_dialog.cc:143
+#: sfdb_ui.cc:597 add_video_dialog.cc:246
msgid "Browse Files"
msgstr ""
-#: sfdb_ui.cc:506
+#: sfdb_ui.cc:626
msgid "Paths"
msgstr ""
-#: sfdb_ui.cc:515
+#: sfdb_ui.cc:635
msgid "Search Tags"
msgstr ""
-#: sfdb_ui.cc:531
+#: sfdb_ui.cc:651
msgid "Sort:"
msgstr ""
-#: sfdb_ui.cc:539
+#: sfdb_ui.cc:659
msgid "Longest"
msgstr ""
-#: sfdb_ui.cc:540
+#: sfdb_ui.cc:660
msgid "Shortest"
msgstr ""
-#: sfdb_ui.cc:541
+#: sfdb_ui.cc:661
msgid "Newest"
msgstr ""
-#: sfdb_ui.cc:542
+#: sfdb_ui.cc:662
msgid "Oldest"
msgstr ""
-#: sfdb_ui.cc:543
+#: sfdb_ui.cc:663
msgid "Most downloaded"
msgstr ""
-#: sfdb_ui.cc:544
+#: sfdb_ui.cc:664
msgid "Least downloaded"
msgstr ""
-#: sfdb_ui.cc:545
+#: sfdb_ui.cc:665
msgid "Highest rated"
msgstr ""
-#: sfdb_ui.cc:546
+#: sfdb_ui.cc:666
msgid "Lowest rated"
msgstr ""
-#: sfdb_ui.cc:551
+#: sfdb_ui.cc:671
msgid "More"
msgstr ""
-#: sfdb_ui.cc:555
+#: sfdb_ui.cc:675
msgid "Similar"
msgstr ""
-#: sfdb_ui.cc:567
+#: sfdb_ui.cc:687
msgid "ID"
msgstr ""
-#: sfdb_ui.cc:568 add_video_dialog.cc:84
+#: sfdb_ui.cc:688 add_video_dialog.cc:83
msgid "Filename"
msgstr ""
-#: sfdb_ui.cc:570
+#: sfdb_ui.cc:690
msgid "Duration"
msgstr ""
-#: sfdb_ui.cc:571
+#: sfdb_ui.cc:691
msgid "Size"
msgstr ""
-#: sfdb_ui.cc:572
+#: sfdb_ui.cc:692
msgid "Samplerate"
msgstr ""
-#: sfdb_ui.cc:573
+#: sfdb_ui.cc:693
msgid "License"
msgstr ""
-#: sfdb_ui.cc:591
+#: sfdb_ui.cc:711
msgid "Search Freesound"
msgstr ""
-#: sfdb_ui.cc:611
+#: sfdb_ui.cc:731
msgid "Press to import selected files and close this window"
msgstr ""
-#: sfdb_ui.cc:612
+#: sfdb_ui.cc:732
msgid "Press to import selected files and leave this window open"
msgstr ""
-#: sfdb_ui.cc:613
+#: sfdb_ui.cc:733
msgid "Press to close this window without importing any files"
msgstr ""
-#: sfdb_ui.cc:809
+#: sfdb_ui.cc:929
msgid "SoundFileBrowser: Could not tokenize string: "
msgstr "SoundFileBrowser: Could not tokenise string: "
-#: sfdb_ui.cc:1009
+#: sfdb_ui.cc:1129
msgid "%1 more page of 100 results available"
msgid_plural "%1 more pages of 100 results available"
msgstr[0] ""
msgstr[1] ""
-#: sfdb_ui.cc:1014
+#: sfdb_ui.cc:1134
msgid "No more results available"
msgstr ""
-#: sfdb_ui.cc:1078
+#: sfdb_ui.cc:1198
msgid "B"
msgstr ""
-#: sfdb_ui.cc:1080
+#: sfdb_ui.cc:1200
msgid "kB"
msgstr ""
-#: sfdb_ui.cc:1082 sfdb_ui.cc:1084
+#: sfdb_ui.cc:1202 sfdb_ui.cc:1204
msgid "MB"
msgstr ""
-#: sfdb_ui.cc:1086
+#: sfdb_ui.cc:1206
msgid "GB"
msgstr ""
-#: sfdb_ui.cc:1298 sfdb_ui.cc:1606 sfdb_ui.cc:1656 sfdb_ui.cc:1674
+#: sfdb_ui.cc:1418 sfdb_ui.cc:1731 sfdb_ui.cc:1782 sfdb_ui.cc:1800
msgid "one track per file"
msgstr ""
-#: sfdb_ui.cc:1301 sfdb_ui.cc:1657 sfdb_ui.cc:1675
+#: sfdb_ui.cc:1421 sfdb_ui.cc:1783 sfdb_ui.cc:1801
msgid "one track per channel"
msgstr ""
-#: sfdb_ui.cc:1309 sfdb_ui.cc:1659 sfdb_ui.cc:1676
+#: sfdb_ui.cc:1429 sfdb_ui.cc:1785 sfdb_ui.cc:1802
msgid "sequence files"
msgstr ""
-#: sfdb_ui.cc:1312 sfdb_ui.cc:1664
+#: sfdb_ui.cc:1432 sfdb_ui.cc:1790
msgid "all files in one track"
msgstr ""
-#: sfdb_ui.cc:1313 sfdb_ui.cc:1658
+#: sfdb_ui.cc:1433 sfdb_ui.cc:1784
msgid "merge files"
msgstr ""
-#: sfdb_ui.cc:1319 sfdb_ui.cc:1661
+#: sfdb_ui.cc:1439 sfdb_ui.cc:1787
msgid "one region per file"
msgstr ""
-#: sfdb_ui.cc:1322 sfdb_ui.cc:1662
+#: sfdb_ui.cc:1442 sfdb_ui.cc:1788
msgid "one region per channel"
msgstr ""
-#: sfdb_ui.cc:1327 sfdb_ui.cc:1663 sfdb_ui.cc:1677
+#: sfdb_ui.cc:1447 sfdb_ui.cc:1789 sfdb_ui.cc:1803
msgid "all files in one region"
msgstr ""
-#: sfdb_ui.cc:1394
+#: sfdb_ui.cc:1514
msgid ""
"One or more of the selected files\n"
"cannot be used by %1"
msgstr ""
-#: sfdb_ui.cc:1534
+#: sfdb_ui.cc:1658
msgid "Copy files to session"
msgstr ""
-#: sfdb_ui.cc:1551 sfdb_ui.cc:1714
+#: sfdb_ui.cc:1675 sfdb_ui.cc:1840
msgid "file timestamp"
msgstr ""
-#: sfdb_ui.cc:1552 sfdb_ui.cc:1716
+#: sfdb_ui.cc:1676 sfdb_ui.cc:1842
msgid "edit point"
msgstr ""
-#: sfdb_ui.cc:1553 sfdb_ui.cc:1718
+#: sfdb_ui.cc:1677 sfdb_ui.cc:1844
msgid "playhead"
msgstr ""
-#: sfdb_ui.cc:1554
+#: sfdb_ui.cc:1678
msgid "session start"
msgstr ""
-#: sfdb_ui.cc:1559
+#: sfdb_ui.cc:1684
msgid "<b>Add files as ...</b>"
msgstr ""
-#: sfdb_ui.cc:1581
+#: sfdb_ui.cc:1706
msgid "<b>Insert at</b>"
msgstr ""
-#: sfdb_ui.cc:1594
+#: sfdb_ui.cc:1719
msgid "<b>Mapping</b>"
msgstr ""
-#: sfdb_ui.cc:1612
+#: sfdb_ui.cc:1737
msgid "<b>Conversion quality</b>"
msgstr ""
-#: sfdb_ui.cc:1624 sfdb_ui.cc:1730
+#: sfdb_ui.cc:1749 sfdb_ui.cc:1856
msgid "Best"
msgstr ""
-#: sfdb_ui.cc:1625 sfdb_ui.cc:1732
+#: sfdb_ui.cc:1750 sfdb_ui.cc:1858
msgid "Good"
msgstr ""
-#: sfdb_ui.cc:1626 sfdb_ui.cc:1734
+#: sfdb_ui.cc:1751 sfdb_ui.cc:1860
msgid "Quick"
msgstr ""
-#: sfdb_ui.cc:1628
+#: sfdb_ui.cc:1753
msgid "Fastest"
msgstr ""
@@ -10844,6 +11129,30 @@ msgstr ""
msgid "Stopped"
msgstr ""
+#: soundcloud_export_selector.cc:44
+msgid "User Email"
+msgstr ""
+
+#: soundcloud_export_selector.cc:45
+msgid "Password"
+msgstr ""
+
+#: soundcloud_export_selector.cc:46
+msgid "Make files public"
+msgstr ""
+
+#: soundcloud_export_selector.cc:47
+msgid "Open uploaded files in browser"
+msgstr ""
+
+#: soundcloud_export_selector.cc:48
+msgid "Make files downloadable"
+msgstr ""
+
+#: soundcloud_export_selector.cc:107
+msgid "%1: %2 of %3 bytes uploaded"
+msgstr ""
+
#: splash.cc:73
msgid "%1 loading ..."
msgstr ""
@@ -10860,17 +11169,17 @@ msgstr ""
msgid "Azimuth:"
msgstr ""
-#: startup.cc:72
+#: startup.cc:74
msgid ""
"Use an external mixer or the hardware mixer of your audio interface.\n"
"%1 will play NO role in monitoring"
msgstr ""
-#: startup.cc:74
+#: startup.cc:76
msgid "Ask %1 to play back material as it is being recorded"
msgstr ""
-#: startup.cc:143
+#: startup.cc:145
msgid ""
"<b>Welcome to this BETA release of Ardour %1</b>\n"
"\n"
@@ -10895,11 +11204,11 @@ msgid ""
" http://ardour.org/support\n"
msgstr ""
-#: startup.cc:167
+#: startup.cc:169
msgid "This is a BETA RELEASE"
msgstr ""
-#: startup.cc:176
+#: startup.cc:178
msgid ""
"<span size=\"larger\">%1 is a digital audio workstation. You can use it to "
"record, edit and mix multi-track audio. You can produce your own CDs, mix "
@@ -10909,15 +11218,15 @@ msgid ""
"program.</span> "
msgstr ""
-#: startup.cc:202
+#: startup.cc:204
msgid "Welcome to %1"
msgstr ""
-#: startup.cc:225
+#: startup.cc:227
msgid "Default folder for %1 sessions"
msgstr ""
-#: startup.cc:231
+#: startup.cc:233
msgid ""
"Each project that you work on with %1 has its own folder.\n"
"These can require a lot of disk space if you are recording audio.\n"
@@ -10927,11 +11236,11 @@ msgid ""
"<i>(You can put new sessions anywhere, this is just a default)</i>"
msgstr ""
-#: startup.cc:254
+#: startup.cc:256
msgid "Default folder for new sessions"
msgstr ""
-#: startup.cc:275
+#: startup.cc:277
msgid ""
"While recording instruments or vocals, you probably want to listen to the\n"
"signal as well as record it. This is called \"monitoring\". There are\n"
@@ -10945,31 +11254,31 @@ msgid ""
"<i>If you do not understand what this is about, just accept the default.</i>"
msgstr ""
-#: startup.cc:296
+#: startup.cc:298
msgid "Monitoring Choices"
msgstr ""
-#: startup.cc:319
+#: startup.cc:321
msgid "Use a Master bus directly"
msgstr ""
-#: startup.cc:321
+#: startup.cc:323
msgid ""
"Connect the Master bus directly to your hardware outputs. This is preferable "
"for simple usage."
msgstr ""
-#: startup.cc:330
+#: startup.cc:332
msgid "Use an additional Monitor bus"
msgstr ""
-#: startup.cc:333
+#: startup.cc:335
msgid ""
"Use a Monitor bus between Master bus and hardware outputs for \n"
"greater control in monitoring without affecting the mix."
msgstr ""
-#: startup.cc:355
+#: startup.cc:357
msgid ""
"<i>You can change this preference at any time via the Preferences dialog.\n"
"You can also add or remove the monitor section to/from any session.</i>\n"
@@ -10977,395 +11286,395 @@ msgid ""
"<i>If you do not understand what this is about, just accept the default.</i>"
msgstr ""
-#: startup.cc:366
+#: startup.cc:368
msgid "Monitor Section"
msgstr ""
-#: step_entry.cc:59
+#: step_entry.cc:60
msgid "Step Entry: %1"
msgstr ""
-#: step_entry.cc:64
+#: step_entry.cc:65
msgid ">beat"
msgstr ""
-#: step_entry.cc:65
+#: step_entry.cc:66
msgid ">bar"
msgstr ""
-#: step_entry.cc:66
+#: step_entry.cc:67
msgid ">EP"
msgstr ""
-#: step_entry.cc:67
+#: step_entry.cc:68
msgid "sustain"
msgstr ""
-#: step_entry.cc:68
+#: step_entry.cc:69
msgid "rest"
msgstr ""
-#: step_entry.cc:69
+#: step_entry.cc:70
msgid "g-rest"
msgstr ""
-#: step_entry.cc:70
+#: step_entry.cc:71
msgid "back"
msgstr ""
-#: step_entry.cc:81 step_entry.cc:84
+#: step_entry.cc:82 step_entry.cc:85
msgid "+"
msgstr ""
-#: step_entry.cc:190
+#: step_entry.cc:191
msgid "Set note length to a whole note"
msgstr "Set note length to a semibreve"
-#: step_entry.cc:191
+#: step_entry.cc:192
msgid "Set note length to a half note"
msgstr "Set note length to a minim"
-#: step_entry.cc:192
+#: step_entry.cc:193
msgid "Set note length to a quarter note"
msgstr "Set note length to a crotchet"
-#: step_entry.cc:193
+#: step_entry.cc:194
msgid "Set note length to a eighth note"
msgstr "Set note length to a quaver"
-#: step_entry.cc:194
+#: step_entry.cc:195
msgid "Set note length to a sixteenth note"
msgstr "Set note length to a semiquaver"
-#: step_entry.cc:195
+#: step_entry.cc:196
msgid "Set note length to a thirty-second note"
msgstr "Set note length to a demisemiquaver"
-#: step_entry.cc:196
+#: step_entry.cc:197
msgid "Set note length to a sixty-fourth note"
-msgstr ""
+msgstr "Set note length to a hemidemisemiquaver"
-#: step_entry.cc:275
+#: step_entry.cc:276
msgid "Set volume (velocity) to pianississimo"
msgstr ""
-#: step_entry.cc:276
+#: step_entry.cc:277
msgid "Set volume (velocity) to pianissimo"
msgstr ""
-#: step_entry.cc:277
+#: step_entry.cc:278
msgid "Set volume (velocity) to piano"
msgstr ""
-#: step_entry.cc:278
+#: step_entry.cc:279
msgid "Set volume (velocity) to mezzo-piano"
msgstr ""
-#: step_entry.cc:279
+#: step_entry.cc:280
msgid "Set volume (velocity) to mezzo-forte"
msgstr ""
-#: step_entry.cc:280
+#: step_entry.cc:281
msgid "Set volume (velocity) to forte"
msgstr ""
-#: step_entry.cc:281
-msgid "Set volume (velocity) to forteissimo"
+#: step_entry.cc:282
+msgid "Set volume (velocity) to fortissimo"
msgstr ""
-#: step_entry.cc:282
-msgid "Set volume (velocity) to forteississimo"
+#: step_entry.cc:283
+msgid "Set volume (velocity) to fortississimo"
msgstr ""
-#: step_entry.cc:330
+#: step_entry.cc:331
msgid "Stack inserted notes to form a chord"
msgstr ""
-#: step_entry.cc:331
+#: step_entry.cc:332
msgid "Extend selected notes by note length"
msgstr ""
-#: step_entry.cc:332
+#: step_entry.cc:333
msgid "Use undotted note lengths"
msgstr ""
-#: step_entry.cc:333
+#: step_entry.cc:334
msgid "Use dotted (* 1.5) note lengths"
msgstr ""
-#: step_entry.cc:334
+#: step_entry.cc:335
msgid "Use double-dotted (* 1.75) note lengths"
msgstr ""
-#: step_entry.cc:335
+#: step_entry.cc:336
msgid "Use triple-dotted (* 1.875) note lengths"
msgstr ""
-#: step_entry.cc:336
+#: step_entry.cc:337
msgid "Insert a note-length's rest"
msgstr ""
-#: step_entry.cc:337
+#: step_entry.cc:338
msgid "Insert a grid-unit's rest"
msgstr ""
-#: step_entry.cc:338
+#: step_entry.cc:339
msgid "Insert a rest until the next beat"
msgstr ""
-#: step_entry.cc:339
+#: step_entry.cc:340
msgid "Insert a rest until the next bar"
msgstr ""
-#: step_entry.cc:340
+#: step_entry.cc:341
msgid "Insert a bank change message"
msgstr ""
-#: step_entry.cc:341
+#: step_entry.cc:342
msgid "Insert a program change message"
msgstr ""
-#: step_entry.cc:342 step_entry.cc:699
+#: step_entry.cc:343 step_entry.cc:700
msgid "Move Insert Position Back by Note Length"
msgstr ""
-#: step_entry.cc:343 step_entry.cc:697
+#: step_entry.cc:344 step_entry.cc:698
msgid "Move Insert Position to Edit Point"
msgstr ""
-#: step_entry.cc:400
+#: step_entry.cc:401
msgid "1/Note"
msgstr ""
-#: step_entry.cc:414
+#: step_entry.cc:415
msgid "Octave"
msgstr ""
-#: step_entry.cc:597
+#: step_entry.cc:598
msgid "Insert Note A"
msgstr ""
-#: step_entry.cc:598
+#: step_entry.cc:599
msgid "Insert Note A-sharp"
msgstr ""
-#: step_entry.cc:599
+#: step_entry.cc:600
msgid "Insert Note B"
msgstr ""
-#: step_entry.cc:600
+#: step_entry.cc:601
msgid "Insert Note C"
msgstr ""
-#: step_entry.cc:601
+#: step_entry.cc:602
msgid "Insert Note C-sharp"
msgstr ""
-#: step_entry.cc:602
+#: step_entry.cc:603
msgid "Insert Note D"
msgstr ""
-#: step_entry.cc:603
+#: step_entry.cc:604
msgid "Insert Note D-sharp"
msgstr ""
-#: step_entry.cc:604
+#: step_entry.cc:605
msgid "Insert Note E"
msgstr ""
-#: step_entry.cc:605
+#: step_entry.cc:606
msgid "Insert Note F"
msgstr ""
-#: step_entry.cc:606
+#: step_entry.cc:607
msgid "Insert Note F-sharp"
msgstr ""
-#: step_entry.cc:607
+#: step_entry.cc:608
msgid "Insert Note G"
msgstr ""
-#: step_entry.cc:608
+#: step_entry.cc:609
msgid "Insert Note G-sharp"
msgstr ""
-#: step_entry.cc:610
+#: step_entry.cc:611
msgid "Insert a Note-length Rest"
msgstr ""
-#: step_entry.cc:611
+#: step_entry.cc:612
msgid "Insert a Snap-length Rest"
msgstr ""
-#: step_entry.cc:613 step_entry.cc:614
+#: step_entry.cc:614 step_entry.cc:615
msgid "Move to next octave"
msgstr ""
-#: step_entry.cc:616
+#: step_entry.cc:617
msgid "Move to Next Note Length"
msgstr ""
-#: step_entry.cc:617
+#: step_entry.cc:618
msgid "Move to Previous Note Length"
msgstr ""
-#: step_entry.cc:619
+#: step_entry.cc:620
msgid "Increase Note Length"
msgstr ""
-#: step_entry.cc:620
+#: step_entry.cc:621
msgid "Decrease Note Length"
msgstr ""
-#: step_entry.cc:622
+#: step_entry.cc:623
msgid "Move to Next Note Velocity"
msgstr ""
-#: step_entry.cc:623
+#: step_entry.cc:624
msgid "Move to Previous Note Velocity"
msgstr ""
-#: step_entry.cc:625
+#: step_entry.cc:626
msgid "Increase Note Velocity"
msgstr ""
-#: step_entry.cc:626
+#: step_entry.cc:627
msgid "Decrease Note Velocity"
msgstr ""
-#: step_entry.cc:628
+#: step_entry.cc:629
msgid "Switch to the 1st octave"
msgstr ""
-#: step_entry.cc:629
+#: step_entry.cc:630
msgid "Switch to the 2nd octave"
msgstr ""
-#: step_entry.cc:630
+#: step_entry.cc:631
msgid "Switch to the 3rd octave"
msgstr ""
-#: step_entry.cc:631
+#: step_entry.cc:632
msgid "Switch to the 4th octave"
msgstr ""
-#: step_entry.cc:632
+#: step_entry.cc:633
msgid "Switch to the 5th octave"
msgstr ""
-#: step_entry.cc:633
+#: step_entry.cc:634
msgid "Switch to the 6th octave"
msgstr ""
-#: step_entry.cc:634
+#: step_entry.cc:635
msgid "Switch to the 7th octave"
msgstr ""
-#: step_entry.cc:635
+#: step_entry.cc:636
msgid "Switch to the 8th octave"
msgstr ""
-#: step_entry.cc:636
+#: step_entry.cc:637
msgid "Switch to the 9th octave"
msgstr ""
-#: step_entry.cc:637
+#: step_entry.cc:638
msgid "Switch to the 10th octave"
msgstr ""
-#: step_entry.cc:638
+#: step_entry.cc:639
msgid "Switch to the 11th octave"
msgstr ""
-#: step_entry.cc:643
+#: step_entry.cc:644
msgid "Set Note Length to Whole"
msgstr "Set Note Length to semibreve"
-#: step_entry.cc:645
+#: step_entry.cc:646
msgid "Set Note Length to 1/2"
-msgstr ""
+msgstr "Set Note Length to minim"
-#: step_entry.cc:647
+#: step_entry.cc:648
msgid "Set Note Length to 1/3"
-msgstr ""
+msgstr "Set Note Length to minim triplet"
-#: step_entry.cc:649
+#: step_entry.cc:650
msgid "Set Note Length to 1/4"
-msgstr ""
+msgstr "Set Note Length to crotchet"
-#: step_entry.cc:651
+#: step_entry.cc:652
msgid "Set Note Length to 1/8"
-msgstr ""
+msgstr "Set Note Length to quaver"
-#: step_entry.cc:653
+#: step_entry.cc:654
msgid "Set Note Length to 1/16"
-msgstr ""
+msgstr "Set Note Length to semiquaver"
-#: step_entry.cc:655
+#: step_entry.cc:656
msgid "Set Note Length to 1/32"
-msgstr ""
+msgstr "Set Note Length to demisemiquaver"
-#: step_entry.cc:657
+#: step_entry.cc:658
msgid "Set Note Length to 1/64"
-msgstr ""
+msgstr "Set Note Length to hemidemisemiquaver"
-#: step_entry.cc:662
+#: step_entry.cc:663
msgid "Set Note Velocity to Pianississimo"
msgstr ""
-#: step_entry.cc:664
+#: step_entry.cc:665
msgid "Set Note Velocity to Pianissimo"
msgstr ""
-#: step_entry.cc:666
+#: step_entry.cc:667
msgid "Set Note Velocity to Piano"
msgstr ""
-#: step_entry.cc:668
+#: step_entry.cc:669
msgid "Set Note Velocity to Mezzo-Piano"
msgstr ""
-#: step_entry.cc:670
+#: step_entry.cc:671
msgid "Set Note Velocity to Mezzo-Forte"
msgstr ""
-#: step_entry.cc:672
+#: step_entry.cc:673
msgid "Set Note Velocity to Forte"
msgstr ""
-#: step_entry.cc:674 step_entry.cc:676
+#: step_entry.cc:675 step_entry.cc:677
msgid "Set Note Velocity to Fortississimo"
msgstr ""
-#: step_entry.cc:678
+#: step_entry.cc:679
msgid "Toggle Triple Notes"
msgstr ""
-#: step_entry.cc:683
+#: step_entry.cc:684
msgid "No Dotted Notes"
msgstr ""
-#: step_entry.cc:685
+#: step_entry.cc:686
msgid "Toggled Dotted Notes"
msgstr ""
-#: step_entry.cc:687
+#: step_entry.cc:688
msgid "Toggled Double-Dotted Notes"
msgstr ""
-#: step_entry.cc:689
+#: step_entry.cc:690
msgid "Toggled Triple-Dotted Notes"
msgstr ""
-#: step_entry.cc:692
+#: step_entry.cc:693
msgid "Toggle Chord Entry"
msgstr ""
-#: step_entry.cc:694
+#: step_entry.cc:695
msgid "Sustain Selected Notes by Note Length"
msgstr ""
-#: stereo_panner.cc:108
+#: stereo_panner.cc:131
#, c-format
msgid "L:%3d R:%3d Width:%d%%"
msgstr ""
@@ -11378,140 +11687,164 @@ msgstr ""
msgid "Width"
msgstr ""
-#: strip_silence_dialog.cc:48
+#: strip_silence_dialog.cc:44
msgid "Strip Silence"
msgstr ""
-#: strip_silence_dialog.cc:79
+#: strip_silence_dialog.cc:75
msgid "Minimum length"
msgstr ""
-#: strip_silence_dialog.cc:87
+#: strip_silence_dialog.cc:83
msgid "Fade length"
msgstr ""
-#: tempo_dialog.cc:43 tempo_dialog.cc:58
+#: tempo_dialog.cc:42 tempo_dialog.cc:58
msgid "bar:"
msgstr ""
-#: tempo_dialog.cc:44 tempo_dialog.cc:59
+#: tempo_dialog.cc:43 tempo_dialog.cc:59
msgid "beat:"
msgstr ""
-#: tempo_dialog.cc:45 tempo_dialog.cc:60
+#: tempo_dialog.cc:44 tempo_dialog.cc:60
msgid "Pulse note"
msgstr ""
+#: tempo_dialog.cc:45 tempo_dialog.cc:61
+msgid "Tap tempo"
+msgstr ""
+
#: tempo_dialog.cc:55
msgid "Edit Tempo"
msgstr ""
-#: tempo_dialog.cc:76 tempo_dialog.cc:77 tempo_dialog.cc:282
-#: tempo_dialog.cc:283
+#: tempo_dialog.cc:77 tempo_dialog.cc:78 tempo_dialog.cc:316
+#: tempo_dialog.cc:317
msgid "whole"
-msgstr ""
+msgstr "semibreve"
-#: tempo_dialog.cc:78 tempo_dialog.cc:79 tempo_dialog.cc:284
-#: tempo_dialog.cc:285
+#: tempo_dialog.cc:79 tempo_dialog.cc:80 tempo_dialog.cc:318
+#: tempo_dialog.cc:319
msgid "second"
-msgstr ""
+msgstr "minim"
-#: tempo_dialog.cc:80 tempo_dialog.cc:81 tempo_dialog.cc:286
-#: tempo_dialog.cc:287
+#: tempo_dialog.cc:81 tempo_dialog.cc:82 tempo_dialog.cc:320
+#: tempo_dialog.cc:321
msgid "third"
-msgstr ""
+msgstr "minim triplet"
-#: tempo_dialog.cc:82 tempo_dialog.cc:83 tempo_dialog.cc:288
-#: tempo_dialog.cc:289
+#: tempo_dialog.cc:83 tempo_dialog.cc:84 tempo_dialog.cc:322
+#: tempo_dialog.cc:323
msgid "quarter"
-msgstr ""
+msgstr "crotchet"
-#: tempo_dialog.cc:84 tempo_dialog.cc:85 tempo_dialog.cc:290
-#: tempo_dialog.cc:291
+#: tempo_dialog.cc:85 tempo_dialog.cc:86 tempo_dialog.cc:324
+#: tempo_dialog.cc:325
msgid "eighth"
-msgstr ""
+msgstr "quaver"
-#: tempo_dialog.cc:86 tempo_dialog.cc:87 tempo_dialog.cc:292
-#: tempo_dialog.cc:293
+#: tempo_dialog.cc:87 tempo_dialog.cc:88 tempo_dialog.cc:326
+#: tempo_dialog.cc:327
msgid "sixteenth"
-msgstr ""
+msgstr "semiquaver"
-#: tempo_dialog.cc:88 tempo_dialog.cc:89 tempo_dialog.cc:294
-#: tempo_dialog.cc:295
+#: tempo_dialog.cc:89 tempo_dialog.cc:90 tempo_dialog.cc:328
+#: tempo_dialog.cc:329
msgid "thirty-second"
-msgstr ""
+msgstr "demisemiquaver"
-#: tempo_dialog.cc:90 tempo_dialog.cc:91 tempo_dialog.cc:296
-#: tempo_dialog.cc:297
+#: tempo_dialog.cc:91 tempo_dialog.cc:92 tempo_dialog.cc:330
+#: tempo_dialog.cc:331
msgid "sixty-fourth"
-msgstr ""
+msgstr "hemidemisemiquaver"
-#: tempo_dialog.cc:92 tempo_dialog.cc:93 tempo_dialog.cc:298
-#: tempo_dialog.cc:299
+#: tempo_dialog.cc:93 tempo_dialog.cc:94 tempo_dialog.cc:332
+#: tempo_dialog.cc:333
msgid "one-hundred-twenty-eighth"
-msgstr ""
+msgstr "semihemidemisemiquaver"
-#: tempo_dialog.cc:120
+#: tempo_dialog.cc:121
msgid "Beats per minute:"
msgstr ""
-#: tempo_dialog.cc:152
+#: tempo_dialog.cc:153
msgid "Tempo begins at"
msgstr ""
-#: tempo_dialog.cc:240
+#: tempo_dialog.cc:244
msgid "incomprehensible pulse note type (%1)"
msgstr ""
-#: tempo_dialog.cc:266
+#: tempo_dialog.cc:300
msgid "Edit Meter"
msgstr ""
-#: tempo_dialog.cc:314
+#: tempo_dialog.cc:348
msgid "Note value:"
msgstr ""
-#: tempo_dialog.cc:315
+#: tempo_dialog.cc:349
msgid "Beats per bar:"
msgstr ""
-#: tempo_dialog.cc:330
+#: tempo_dialog.cc:364
msgid "Meter begins at bar:"
msgstr ""
-#: tempo_dialog.cc:441
+#: tempo_dialog.cc:475
msgid "incomprehensible meter note type (%1)"
msgstr ""
-#: theme_manager.cc:57
+#: theme_manager.cc:63
msgid "Dark Theme"
msgstr ""
-#: theme_manager.cc:58
+#: theme_manager.cc:64
msgid "Light Theme"
msgstr ""
-#: theme_manager.cc:59
+#: theme_manager.cc:65
msgid "Restore Defaults"
msgstr ""
-#: theme_manager.cc:60
+#: theme_manager.cc:66
msgid "Draw \"flat\" buttons"
msgstr ""
-#: theme_manager.cc:61
+#: theme_manager.cc:67
+msgid "Blink Rec-Arm buttons"
+msgstr ""
+
+#: theme_manager.cc:68
+msgid "Color regions using their track's color"
+msgstr "Colour regions using their track's colour"
+
+#: theme_manager.cc:69
+msgid "Show waveform clipping"
+msgstr ""
+
+#: theme_manager.cc:71
+msgid "Waveforms color gradient depth"
+msgstr "Waveforms colour gradient depth"
+
+#: theme_manager.cc:73
+msgid "Timeline item gradient depth"
+msgstr ""
+
+#: theme_manager.cc:74
msgid "All floating windows are dialogs"
msgstr ""
-#: theme_manager.cc:62
-msgid "Draw waveforms with color gradient"
+#: theme_manager.cc:75
+msgid "Icon Set"
msgstr ""
-#: theme_manager.cc:68
+#: theme_manager.cc:81
msgid "Object"
msgstr ""
-#: theme_manager.cc:123
+#: theme_manager.cc:180
msgid ""
"Mark all floating windows to be type \"Dialog\" rather than using \"Utility"
"\" for some.\n"
@@ -11519,15 +11852,15 @@ msgid ""
"take effect"
msgstr ""
-#: theme_manager.cc:229
+#: theme_manager.cc:286
msgid "Unable to find UI style file %1 in search path %2. %3 will look strange"
msgstr ""
-#: time_axis_view.cc:114
+#: time_axis_view.cc:138
msgid "Track/Bus name (double click to edit)"
msgstr ""
-#: time_axis_view_item.cc:332
+#: time_axis_view_item.cc:384
msgid "new duration %1 frame is out of bounds for %2"
msgid_plural "new duration of %1 frames is out of bounds for %2"
msgstr[0] ""
@@ -11547,7 +11880,7 @@ msgstr ""
#: time_fx_dialog.cc:65
msgid "Minimize time distortion"
-msgstr ""
+msgstr "Minimise time distortion"
#: time_fx_dialog.cc:66
msgid "Preserve Formants"
@@ -11593,11 +11926,11 @@ msgstr ""
msgid "<b>Progress</b>"
msgstr ""
-#: time_info_box.cc:121
+#: time_info_box.cc:124
msgid "Start recording at auto-punch start"
msgstr ""
-#: time_info_box.cc:122
+#: time_info_box.cc:125
msgid "Stop recording at auto-punch end"
msgstr ""
@@ -11613,15 +11946,15 @@ msgstr ""
msgid "Transpose"
msgstr ""
-#: ui_config.cc:82 ui_config.cc:113
+#: ui_config.cc:88 ui_config.cc:117
msgid "Loading default ui configuration file %1"
msgstr ""
-#: ui_config.cc:85 ui_config.cc:116
+#: ui_config.cc:91 ui_config.cc:120
msgid "cannot read default ui configuration file \"%1\""
msgstr ""
-#: ui_config.cc:90 ui_config.cc:121
+#: ui_config.cc:96 ui_config.cc:125
msgid "default ui configuration file \"%1\" not loaded successfully."
msgstr ""
@@ -11645,116 +11978,128 @@ msgstr ""
msgid "Config file %1 not saved"
msgstr ""
-#: utils.cc:111 utils.cc:154
+#: utils.cc:117 utils.cc:160
msgid "bad XPM header %1"
msgstr ""
-#: utils.cc:293 utils.cc:325
+#: utils.cc:313 utils.cc:345
msgid "missing RGBA style for \"%1\""
msgstr ""
-#: utils.cc:598
+#: utils.cc:640
msgid "cannot find XPM file for %1"
msgstr ""
-#: utils.cc:624
-msgid "cannot find icon image for %1 using %2"
+#: utils.cc:660 utils.cc:690 utils.cc:701
+msgid "default"
msgstr ""
-#: utils.cc:639
-msgid "Caught exception while loading icon named %1"
+#: utils.cc:702
+msgid "icon \"%1\" not found for icon set \"%2\", fallback to default"
msgstr ""
-#: verbose_cursor.cc:45
-msgid "VerboseCanvasCursor"
+#: utils.cc:709
+msgid "cannot find icon image for %1 using %2"
msgstr ""
-#: add_video_dialog.cc:55
+#: utils.cc:726 utils.cc:742
+msgid "Caught exception while loading icon named %1"
+msgstr ""
+
+#: add_video_dialog.cc:54
msgid "Set Video Track"
msgstr ""
-#: add_video_dialog.cc:63
+#: add_video_dialog.cc:62
msgid "Launch External Video Monitor"
msgstr ""
-#: add_video_dialog.cc:64
+#: add_video_dialog.cc:63
msgid "Adjust Session Framerate to Match Video Framerate"
msgstr ""
-#: add_video_dialog.cc:66
+#: add_video_dialog.cc:65
msgid "Reload docroot"
msgstr ""
-#: add_video_dialog.cc:111 add_video_dialog.cc:115
-msgid "VideoServerIndex"
-msgstr ""
-
-#: add_video_dialog.cc:129
+#: add_video_dialog.cc:120
msgid "Video files"
msgstr ""
-#: add_video_dialog.cc:164
+#: add_video_dialog.cc:149
msgid "<b>Video Information</b>"
msgstr ""
-#: add_video_dialog.cc:167
+#: add_video_dialog.cc:152
msgid "Start:"
msgstr ""
-#: add_video_dialog.cc:173
+#: add_video_dialog.cc:158
msgid "Frame rate:"
msgstr ""
-#: add_video_dialog.cc:176
+#: add_video_dialog.cc:161
msgid "Aspect Ratio:"
msgstr ""
-#: add_video_dialog.cc:654
-msgid " %1 fps"
+#: add_video_dialog.cc:244
+msgid "VideoServerIndex"
msgstr ""
-#: editor_videotimeline.cc:146
-msgid "Export Successful: %1"
+#: add_video_dialog.cc:670
+msgid " %1 fps"
msgstr ""
-#: video_timeline.cc:469
+#: video_timeline.cc:473
msgid ""
"Parsing video file info failed. Is the Video Server running? Is the file "
"readable by the Video Server? Does the docroot match? Is it a video file?"
msgstr ""
-#: video_timeline.cc:507
+#: video_timeline.cc:511
msgid ""
"Failed to set session-framerate: '%1' does not have a corresponding option "
"setting in %2."
msgstr ""
-#: video_timeline.cc:515
+#: video_timeline.cc:519
msgid ""
"Video file's framerate is not equal to %1 session timecode's framerate: '%2' "
"vs '%3'"
msgstr ""
-#: video_timeline.cc:588
+#: video_timeline.cc:592
msgid ""
"Video-server docroot mismatch. %1: '%2', video-server: '%3'. This usually "
-"means that the video server was not started by ardour and uses a different "
+"means that the video server was not started by %1 and uses a different "
"document-root."
msgstr ""
-#: video_timeline.cc:737
+#: video_timeline.cc:768
msgid ""
"Video-monitor 'xjadeo' was not found. Please install http://xjadeo.sf.net/ "
"(a custom path to xjadeo can be specified by setting the XJREMOTE "
"environment variable. It should point to an application compatible with "
-"xjadeo's remote-control interface 'xjremote')."
+"xjadeo's remote-control interface 'xjremote').\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
+msgstr ""
+
+#: video_timeline.cc:782
+msgid "Video-monitor 'xjadeo' cannot be launched."
+msgstr ""
+
+#: video_timeline.cc:809
+msgid ""
+"Video-monitor 'xjadeo' is too old. Please install xjadeo version 0.7.7 or "
+"later. http://xjadeo.sf.net/"
msgstr ""
-#: video_monitor.cc:281
+#: video_monitor.cc:285
msgid "Video Monitor: File Not Found."
msgstr ""
-#: transcode_ffmpeg.cc:73
+#: transcode_ffmpeg.cc:126
msgid ""
"No ffprobe or ffmpeg executables could be found on this system.\n"
"Video import and export is not possible until you install those tools.\n"
@@ -11768,375 +12113,388 @@ msgid ""
"If you already have a suitable ffmpeg installation on your system, we "
"recommend creating symbolic links from ffmpeg to ffmpeg_harvid and from "
"ffprobe to ffprobe_harvid.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: transcode_video_dialog.cc:55
+#: transcode_video_dialog.cc:56
msgid "Transcode/Import Video File "
msgstr ""
-#: transcode_video_dialog.cc:57
+#: transcode_video_dialog.cc:58
msgid "Output File:"
msgstr ""
-#: transcode_video_dialog.cc:60 export_video_dialog.cc:72
+#: transcode_video_dialog.cc:61 export_video_dialog.cc:73
msgid "Abort"
msgstr ""
-#: transcode_video_dialog.cc:62
+#: transcode_video_dialog.cc:63
msgid "Height = "
msgstr ""
-#: transcode_video_dialog.cc:65
+#: transcode_video_dialog.cc:66
msgid "Manual Override"
msgstr ""
-#: transcode_video_dialog.cc:69 export_video_dialog.cc:88
+#: transcode_video_dialog.cc:70 export_video_dialog.cc:89
msgid "Debug Mode: Print ffmpeg command and output to stdout."
msgstr ""
-#: transcode_video_dialog.cc:106
+#: transcode_video_dialog.cc:107
msgid "<b>File Information</b>"
msgstr ""
-#: transcode_video_dialog.cc:112
+#: transcode_video_dialog.cc:113
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Import "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: transcode_video_dialog.cc:119
+#: transcode_video_dialog.cc:120
msgid ""
"File-info can not be read. Most likely '%1' is not a valid video-file or an "
"unsupported video codec or format."
msgstr ""
-#: transcode_video_dialog.cc:133
+#: transcode_video_dialog.cc:134
msgid "FPS:"
msgstr ""
-#: transcode_video_dialog.cc:135
+#: transcode_video_dialog.cc:136
msgid "Duration:"
msgstr ""
-#: transcode_video_dialog.cc:137
+#: transcode_video_dialog.cc:138
msgid "Codec:"
msgstr ""
-#: transcode_video_dialog.cc:139
+#: transcode_video_dialog.cc:140
msgid "Geometry:"
msgstr ""
-#: transcode_video_dialog.cc:154
+#: transcode_video_dialog.cc:155
msgid "??"
msgstr ""
-#: transcode_video_dialog.cc:175
+#: transcode_video_dialog.cc:176
msgid "<b>Import Settings</b>"
msgstr ""
-#: transcode_video_dialog.cc:180
-msgid "Do Not Import Video"
-msgstr ""
-
#: transcode_video_dialog.cc:181
-msgid "Reference From Current Location"
+msgid "Reference From Current Location (Previously Transcoded Files Only)"
msgstr ""
#: transcode_video_dialog.cc:183
msgid "Import/Transcode Video to Session"
msgstr ""
-#: transcode_video_dialog.cc:197
+#: transcode_video_dialog.cc:191
+msgid "Do Not Import Video (Audio Import Only)"
+msgstr ""
+
+#: transcode_video_dialog.cc:200
msgid "Scale Video: Width = "
msgstr ""
-#: transcode_video_dialog.cc:204
+#: transcode_video_dialog.cc:207
msgid "Original Width"
msgstr ""
-#: transcode_video_dialog.cc:219
+#: transcode_video_dialog.cc:222
msgid "Bitrate (KBit/s):"
msgstr ""
-#: transcode_video_dialog.cc:224
+#: transcode_video_dialog.cc:227
msgid "Extract Audio:"
msgstr ""
-#: transcode_video_dialog.cc:344
+#: transcode_video_dialog.cc:232
+msgid "No Audio Track Present"
+msgstr ""
+
+#: transcode_video_dialog.cc:235
+msgid "Do Not Extract Audio"
+msgstr ""
+
+#: transcode_video_dialog.cc:350
msgid "Extracting Audio.."
msgstr ""
-#: transcode_video_dialog.cc:347
+#: transcode_video_dialog.cc:353
msgid "Audio Extraction Failed."
msgstr ""
-#: transcode_video_dialog.cc:373
+#: transcode_video_dialog.cc:379
msgid "Transcoding Video.."
msgstr ""
-#: transcode_video_dialog.cc:407
+#: transcode_video_dialog.cc:413
msgid "Transcoding Failed."
msgstr ""
-#: transcode_video_dialog.cc:490
+#: transcode_video_dialog.cc:503
msgid "Save Transcoded Video File"
msgstr ""
-#: video_server_dialog.cc:43
+#: video_server_dialog.cc:57
msgid "Launch Video Server"
msgstr ""
-#: video_server_dialog.cc:44
+#: video_server_dialog.cc:58
msgid "Server Executable:"
msgstr ""
-#: video_server_dialog.cc:46
+#: video_server_dialog.cc:60
msgid "Server Docroot:"
msgstr ""
-#: video_server_dialog.cc:52
+#: video_server_dialog.cc:66
msgid "Don't show this dialog again. (Reset in Edit->Preferences)."
msgstr ""
-#: video_server_dialog.cc:92
+#: video_server_dialog.cc:126
msgid ""
-"The external video server 'harvid' can not be found. The tool is included "
-"with the %1 releases from ardour.org, alternatively you can download it from "
-"http://x42.github.com/harvid/ or acquire it from your distribution."
+"The external video server 'harvid' can not be found.\n"
+"The tool is included with the %1 releases from ardour.org, alternatively you "
+"can download it from http://x42.github.com/harvid/ or acquire it from your "
+"distribution.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: video_server_dialog.cc:120
+#: video_server_dialog.cc:159
msgid "Listen Address:"
msgstr ""
-#: video_server_dialog.cc:125
+#: video_server_dialog.cc:164
msgid "Listen Port:"
msgstr ""
-#: video_server_dialog.cc:130
+#: video_server_dialog.cc:169
msgid "Cache Size:"
msgstr ""
-#: video_server_dialog.cc:136
+#: video_server_dialog.cc:175
msgid ""
"%1 relies on an external video server for the videotimeline.\n"
"The server configured in Edit -> Preferences -> Video is not reachable.\n"
"Do you want %1 to launch 'harvid' on this machine?"
msgstr ""
-#: video_server_dialog.cc:176
+#: video_server_dialog.cc:215
msgid "Set Video Server Executable"
msgstr ""
-#: video_server_dialog.cc:196
+#: video_server_dialog.cc:235
msgid "Server docroot"
msgstr ""
-#: utils_videotl.cc:53
+#: utils_videotl.cc:60
msgid "Destination is outside Video Server's docroot. "
msgstr ""
-#: utils_videotl.cc:54
+#: utils_videotl.cc:61
msgid ""
"The destination file path is outside of the Video Server's docroot. The file "
"will not be readable by the Video Server. Do you still want to continue?"
msgstr ""
-#: utils_videotl.cc:57
+#: utils_videotl.cc:64
msgid "Continue"
msgstr ""
-#: utils_videotl.cc:63
+#: utils_videotl.cc:70
msgid "Confirm Overwrite"
msgstr ""
-#: utils_videotl.cc:64
+#: utils_videotl.cc:71
msgid "A file with the same name already exists. Do you want to overwrite it?"
msgstr ""
-#: utils_videotl.cc:74 utils_videotl.cc:90
+#: utils_videotl.cc:81 utils_videotl.cc:97
msgid "Cannot create video folder \"%1\" (%2)"
msgstr ""
-#: export_video_dialog.cc:65
+#: export_video_dialog.cc:66
msgid "Export Video File "
msgstr ""
-#: export_video_dialog.cc:69
+#: export_video_dialog.cc:70
msgid "Video:"
msgstr ""
-#: export_video_dialog.cc:73
+#: export_video_dialog.cc:74
msgid "Scale Video (W x H):"
msgstr ""
-#: export_video_dialog.cc:78
+#: export_video_dialog.cc:79
msgid "Set Aspect Ratio:"
msgstr ""
-#: export_video_dialog.cc:79
+#: export_video_dialog.cc:80
msgid "Normalize Audio"
-msgstr ""
+msgstr "Normalise Audio"
-#: export_video_dialog.cc:80
+#: export_video_dialog.cc:81
msgid "2 Pass Encoding"
msgstr ""
-#: export_video_dialog.cc:81
+#: export_video_dialog.cc:82
msgid "Codec Optimizations:"
-msgstr ""
+msgstr "Codec Optimisations:"
-#: export_video_dialog.cc:83
+#: export_video_dialog.cc:84
msgid "Deinterlace"
msgstr ""
-#: export_video_dialog.cc:84
+#: export_video_dialog.cc:85
msgid "Use [2] B-frames (MPEG 2 or 4 only)"
msgstr ""
-#: export_video_dialog.cc:85
+#: export_video_dialog.cc:86
msgid "Override FPS (Default is to retain FPS from the input video file):"
msgstr ""
-#: export_video_dialog.cc:86
+#: export_video_dialog.cc:87
msgid "Include Session Metadata"
msgstr ""
-#: export_video_dialog.cc:106
+#: export_video_dialog.cc:107
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Export "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: export_video_dialog.cc:116
+#: export_video_dialog.cc:117
msgid "<b>Output:</b>"
msgstr ""
-#: export_video_dialog.cc:126
+#: export_video_dialog.cc:127
msgid "<b>Input:</b>"
msgstr ""
-#: export_video_dialog.cc:137
+#: export_video_dialog.cc:138
msgid "Audio:"
msgstr ""
-#: export_video_dialog.cc:139
+#: export_video_dialog.cc:140
msgid "Master Bus"
msgstr ""
-#: export_video_dialog.cc:144
+#: export_video_dialog.cc:145
msgid "from the %1 session's start to the session's end"
msgstr ""
-#: export_video_dialog.cc:148
+#: export_video_dialog.cc:149
msgid "from 00:00:00:00 to the video's end"
msgstr ""
-#: export_video_dialog.cc:150
+#: export_video_dialog.cc:151
msgid "from the video's start to the video's end"
msgstr ""
-#: export_video_dialog.cc:153
+#: export_video_dialog.cc:154
msgid "Selected range"
msgstr ""
-#: export_video_dialog.cc:193
+#: export_video_dialog.cc:194
msgid "<b>Settings:</b>"
msgstr ""
-#: export_video_dialog.cc:201
+#: export_video_dialog.cc:202
msgid "Range:"
msgstr ""
-#: export_video_dialog.cc:204
+#: export_video_dialog.cc:205
msgid "Preset:"
msgstr ""
-#: export_video_dialog.cc:207
+#: export_video_dialog.cc:208
msgid "Video Codec:"
msgstr ""
-#: export_video_dialog.cc:210
+#: export_video_dialog.cc:211
msgid "Video KBit/s:"
msgstr ""
-#: export_video_dialog.cc:213
+#: export_video_dialog.cc:214
msgid "Audio Codec:"
msgstr ""
-#: export_video_dialog.cc:216
+#: export_video_dialog.cc:217
msgid "Audio KBit/s:"
msgstr ""
-#: export_video_dialog.cc:219
+#: export_video_dialog.cc:220
msgid "Audio Samplerate:"
msgstr ""
-#: export_video_dialog.cc:395
+#: export_video_dialog.cc:396
msgid "Normalizing audio"
-msgstr ""
+msgstr "Normalising audio"
-#: export_video_dialog.cc:399
+#: export_video_dialog.cc:400
msgid "Exporting audio"
msgstr ""
-#: export_video_dialog.cc:445
+#: export_video_dialog.cc:446
msgid "Exporting Audio..."
msgstr ""
-#: export_video_dialog.cc:502
+#: export_video_dialog.cc:503
msgid ""
"Export Video: Cannot query duration of video-file, using duration from "
"timeline instead."
msgstr ""
-#: export_video_dialog.cc:532
+#: export_video_dialog.cc:533
msgid "Export Video: export-range does not include video."
msgstr ""
-#: export_video_dialog.cc:544
+#: export_video_dialog.cc:545
msgid "Export Video: No Master Out Ports to Connect for Audio Export"
msgstr ""
-#: export_video_dialog.cc:583
+#: export_video_dialog.cc:585
msgid "Encoding Video..."
msgstr ""
-#: export_video_dialog.cc:602
+#: export_video_dialog.cc:604
msgid "Export Video: Video input file cannot be read."
msgstr ""
-#: export_video_dialog.cc:695
+#: export_video_dialog.cc:698
msgid "Encoding Video.. Pass 1/2"
msgstr ""
-#: export_video_dialog.cc:707
+#: export_video_dialog.cc:710
msgid "Encoding Video.. Pass 2/2"
msgstr ""
-#: export_video_dialog.cc:814
+#: export_video_dialog.cc:813
msgid "Transcoding failed."
msgstr ""
-#: export_video_dialog.cc:983 export_video_dialog.cc:1003
+#: export_video_dialog.cc:982 export_video_dialog.cc:1002
msgid "Save Exported Video File"
msgstr ""
-#: export_video_infobox.cc:30
+#: export_video_infobox.cc:33
msgid "Video Export Info"
msgstr ""
-#: export_video_infobox.cc:31
+#: export_video_infobox.cc:34
msgid "Do Not Show This Dialog Again (Reset in Edit > Preferences > Video)."
msgstr ""
-#: export_video_infobox.cc:43
+#: export_video_infobox.cc:46
msgid "<b>Video Export Info</b>"
msgstr ""
-#: export_video_infobox.cc:48
+#: export_video_infobox.cc:51
msgid ""
"Video encoding is a non-trivial task with many details.\n"
"\n"
@@ -12144,3 +12502,21 @@ msgid ""
"\n"
"Open Manual in Browser? "
msgstr ""
+
+#~ msgid "color rgba"
+#~ msgstr "colour rgba"
+
+#~ msgid "color of line"
+#~ msgstr "colour of line"
+
+#~ msgid "outline color rgba"
+#~ msgstr "outline colour rgba"
+
+#~ msgid "color of outline"
+#~ msgstr "colour of outline"
+
+#~ msgid "fill color rgba"
+#~ msgstr "fill colour rgba"
+
+#~ msgid "color of fill"
+#~ msgstr "colour of fill"
diff --git a/gtk2_ardour/po/es.po b/gtk2_ardour/po/es.po
index cc51c0f897..00c8bae419 100644
--- a/gtk2_ardour/po/es.po
+++ b/gtk2_ardour/po/es.po
@@ -1,8 +1,9 @@
+#: engine_dialog.cc:558
msgid ""
msgstr ""
"Project-Id-Version: gtk2_ardour\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-11-05 11:11-0500\n"
+"POT-Creation-Date: 2014-09-04 19:07-0400\n"
"PO-Revision-Date: \n"
"Last-Translator: Pablo Fernández <pablo.fbus@gmail.com>\n"
"Language-Team: Grupo de Traducción al Español <traductores@teklibre.com>\n"
@@ -14,231 +15,235 @@ msgstr ""
"X-Poedit-SourceCharset: utf-8\n"
"Plural-Forms: nplurals=2; plural=n>1\n"
-#: about.cc:122
+#: about.cc:120
msgid "Brian Ahr"
msgstr "Brian Ahr"
-#: about.cc:123
+#: about.cc:121
msgid "John Anderson"
msgstr "John Anderson"
-#: about.cc:124
+#: about.cc:122
msgid "Marcus Andersson"
msgstr "Marcus Andersson"
-#: about.cc:125
+#: about.cc:123
msgid "Nedko Arnaudov"
msgstr "Nedko Arnaudov"
-#: about.cc:126
+#: about.cc:124
msgid "Hans Baier"
msgstr "Hans Baier"
-#: about.cc:127
+#: about.cc:125
msgid "Ben Bell"
msgstr "Ben Bell"
-#: about.cc:128
+#: about.cc:126
msgid "Sakari Bergen"
msgstr "Sakari Bergen"
-#: about.cc:129
+#: about.cc:127
+msgid "Christian Borss"
+msgstr ""
+
+#: about.cc:128
msgid "Chris Cannam"
msgstr "Chris Cannam"
-#: about.cc:130
+#: about.cc:129
msgid "Jesse Chappell"
msgstr "Jesse Chappell"
-#: about.cc:131
+#: about.cc:130
msgid "Thomas Charbonnel"
msgstr "Thomas Charbonnel"
-#: about.cc:132
+#: about.cc:131
msgid "Sam Chessman"
msgstr "Sam Chessman"
-#: about.cc:133
+#: about.cc:132
msgid "André Colomb"
msgstr "André Colomb"
-#: about.cc:134
+#: about.cc:133
msgid "Paul Davis"
msgstr "Paul Davis"
-#: about.cc:135
+#: about.cc:134
msgid "Gerard van Dongen"
msgstr "Gerard van Dongen"
-#: about.cc:136
+#: about.cc:135
msgid "Colin Fletcher"
msgstr "Colin Fletcher"
-#: about.cc:137
+#: about.cc:136
msgid "Dave Flick"
msgstr "Dave Flick"
-#: about.cc:138
+#: about.cc:137
msgid "Hans Fugal"
msgstr "Hans Fugal"
-#: about.cc:139
+#: about.cc:138
msgid "Robin Gareus"
msgstr "Robin Gareus"
-#: about.cc:140
+#: about.cc:139
msgid "Christopher George"
msgstr "Christopher George"
-#: about.cc:141
+#: about.cc:140
msgid "Chris Goddard"
msgstr "Chris Goddard"
-#: about.cc:142
+#: about.cc:141
msgid "J. Abelardo Gutierrez"
msgstr "J. Abelardo Gutierrez"
-#: about.cc:143
+#: about.cc:142
msgid "Jeremy Hall"
msgstr "Jeremy Hall"
-#: about.cc:144
+#: about.cc:143
msgid "Audun Halland"
msgstr "Audun Halland"
-#: about.cc:145
+#: about.cc:144
msgid "David Halter"
msgstr "David Halter"
-#: about.cc:146
+#: about.cc:145
msgid "Steve Harris"
msgstr "Steve Harris"
-#: about.cc:147
+#: about.cc:146
msgid "Melvin Ray Herr"
msgstr "Melvin Ray Herr"
-#: about.cc:148
+#: about.cc:147
msgid "Carl Hetherington"
msgstr "Carl Hetherington"
-#: about.cc:149
+#: about.cc:148
msgid "Rob Holland"
msgstr "Rob Holland"
-#: about.cc:150
+#: about.cc:149
msgid "Robert Jordens"
msgstr "Robert Jordens"
-#: about.cc:151
+#: about.cc:150
msgid "Stefan Kersten"
msgstr "Stefan Kersten"
-#: about.cc:152
+#: about.cc:151
msgid "Armand Klenk"
msgstr "Armand Klenk"
-#: about.cc:153
+#: about.cc:152
msgid "Julien de Kozak"
msgstr ""
-#: about.cc:154
+#: about.cc:153
msgid "Matt Krai"
msgstr "Matt Krai"
-#: about.cc:155
+#: about.cc:154
msgid "Nick Lanham"
msgstr "Nick Lanham"
-#: about.cc:156
+#: about.cc:155
msgid "Colin Law"
msgstr "Colin Law"
-#: about.cc:157
+#: about.cc:156
msgid "Joshua Leach"
msgstr "Joshua Leach"
-#: about.cc:158
+#: about.cc:157
msgid "Ben Loftis"
msgstr "Ben Loftis"
-#: about.cc:159
+#: about.cc:158
msgid "Nick Mainsbridge"
msgstr "Nick Mainsbridge"
-#: about.cc:160
+#: about.cc:159
msgid "Tim Mayberry"
msgstr "Tim Mayberry"
-#: about.cc:161
+#: about.cc:160
msgid "Doug Mclain"
msgstr "Doug Mclain"
-#: about.cc:162
+#: about.cc:161
msgid "Jack O'Quin"
msgstr "Jack O'Quin"
-#: about.cc:163
+#: about.cc:162
msgid "Nimal Ratnayake"
msgstr "Nimal Ratnayake"
-#: about.cc:164
+#: about.cc:163
msgid "David Robillard"
msgstr "David Robillard"
-#: about.cc:165
+#: about.cc:164
msgid "Taybin Rutkin"
msgstr "Taybin Rutkin"
-#: about.cc:166
+#: about.cc:165
msgid "Andreas Ruge"
msgstr "Andreas Ruge"
-#: about.cc:167
+#: about.cc:166
msgid "Sampo Savolainen"
msgstr "Sampo Savolainen"
-#: about.cc:168
+#: about.cc:167
msgid "Rodrigo Severo"
msgstr "Rodrigo Severo"
-#: about.cc:169
+#: about.cc:168
msgid "Per Sigmond"
msgstr "Per Sigmond"
-#: about.cc:170
+#: about.cc:169
msgid "Lincoln Spiteri"
msgstr "Lincoln Spiteri"
-#: about.cc:171
+#: about.cc:170
msgid "Mike Start"
msgstr "Mike Start"
-#: about.cc:172
+#: about.cc:171
msgid "Mark Stewart"
msgstr "Mark Stewart"
-#: about.cc:173
+#: about.cc:172
msgid "Roland Stigge"
msgstr "Roland Stigge"
-#: about.cc:174
+#: about.cc:173
msgid "Petter Sundlöf"
msgstr "Petter Sundlöf"
-#: about.cc:175
+#: about.cc:174
msgid "Mike Täht"
msgstr "Mike Täht"
-#: about.cc:176
+#: about.cc:175
msgid "Roy Vegard"
msgstr "Roy Vegard"
-#: about.cc:177
+#: about.cc:176
msgid "Thorsten Wilms"
msgstr "Thorsten Wilms"
-#: about.cc:182
+#: about.cc:181
msgid ""
"French:\n"
"\tAlain Fréhel <alain.frehel@free.fr>\n"
@@ -252,7 +257,7 @@ msgstr ""
"\tMartin Blanchard\n"
"\tRomain Arnaud <roming22@gmail.com>\n"
-#: about.cc:183
+#: about.cc:182
msgid ""
"German:\n"
"\tKarsten Petersen <kapet@kapet.de>\n"
@@ -264,7 +269,7 @@ msgid ""
"\tRobin Gloster <robin@loc-com.de>\n"
msgstr ""
-#: about.cc:190
+#: about.cc:189
msgid ""
"Italian:\n"
"\tFilippo Pappalardo <filippo@email.it>\n"
@@ -274,7 +279,7 @@ msgstr ""
"\tFilippo Pappalardo <filippo@email.it>\n"
"\tRaffaele Morelli <raffaele.morelli@gmail.com>\n"
-#: about.cc:191
+#: about.cc:190
msgid ""
"Portuguese:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
@@ -282,7 +287,7 @@ msgstr ""
"Portugués:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
-#: about.cc:192
+#: about.cc:191
msgid ""
"Brazilian Portuguese:\n"
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
@@ -292,7 +297,7 @@ msgstr ""
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
"\tChris Ross <chris@tebibyte.org>\n"
-#: about.cc:194
+#: about.cc:193
msgid ""
"Spanish:\n"
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
@@ -302,7 +307,7 @@ msgstr ""
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
"\tPablo Fernández <pablo.fbus@gmail.com>\n"
-#: about.cc:195
+#: about.cc:194
msgid ""
"Russian:\n"
"\t Igor Blinov <pitstop@nm.ru>\n"
@@ -312,7 +317,7 @@ msgstr ""
"\t Igor Blinov <pitstop@nm.ru>\n"
"\tAlexandre Prokoudine <alexandre.prokoudine@gmail.com>\n"
-#: about.cc:197
+#: about.cc:196
msgid ""
"Greek:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
@@ -320,7 +325,7 @@ msgstr ""
"Griego:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
-#: about.cc:198
+#: about.cc:197
msgid ""
"Swedish:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
@@ -328,7 +333,7 @@ msgstr ""
"Sueco:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
-#: about.cc:199
+#: about.cc:198
msgid ""
"Polish:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
@@ -336,7 +341,7 @@ msgstr ""
"Polaco:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
-#: about.cc:200
+#: about.cc:199
msgid ""
"Czech:\n"
"\t Pavel Fric <pavelfric@seznam.cz>\n"
@@ -344,7 +349,7 @@ msgstr ""
"Checo:\n"
"\t Pavel Fric <pavelfric@seznam.cz>\n"
-#: about.cc:201
+#: about.cc:200
msgid ""
"Norwegian:\n"
"\t Eivind Ødegård\n"
@@ -352,7 +357,7 @@ msgstr ""
"Noruego:\n"
"\t Eivind Ødegård\n"
-#: about.cc:202
+#: about.cc:201
msgid ""
"Chinese:\n"
"\t Rui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
@@ -360,15 +365,15 @@ msgstr ""
"Chino:\n"
"\t Rui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
-#: about.cc:580
+#: about.cc:581
msgid "Copyright (C) 1999-2013 Paul Davis\n"
msgstr "Copyright (C) 1999-2013 Paul Davis\n"
-#: about.cc:584
+#: about.cc:585
msgid "http://ardour.org/"
msgstr "http://ardour.org/"
-#: about.cc:585
+#: about.cc:586
msgid ""
"%1\n"
"(built from revision %2)"
@@ -376,106 +381,107 @@ msgstr ""
"%1\n"
"(compilado a partir de revisión %2)"
-#: about.cc:589
+#: about.cc:590
msgid "Config"
msgstr "Config"
-#: actions.cc:85
+#: actions.cc:84
msgid "Loading menus from %1"
msgstr "Cargando menús desde %1"
-#: actions.cc:88 actions.cc:89
-msgid "badly formatted UI definition file: %1"
-msgstr "archivo de definición de interfaz de usuario mal formateado: %1"
+#: actions.cc:87 actions.cc:88
+msgid "badly formatted menu definition file: %1"
+msgstr ""
-#: actions.cc:91
+#: actions.cc:90
msgid "%1 menu definition file not found"
msgstr "%1 archivo de definición de menú no encontrado"
-#: actions.cc:95 actions.cc:96
-msgid "%1 will not work without a valid ardour.menus file"
-msgstr "%1 no funcionará sin un archivo ardour.menus válido"
+#: actions.cc:94 actions.cc:95
+msgid "%1 will not work without a valid menu definition file"
+msgstr ""
-#: add_route_dialog.cc:53 route_params_ui.cc:500
+#: add_route_dialog.cc:54 route_params_ui.cc:523
msgid "Add Track or Bus"
msgstr "Añadir pista o bus"
-#: add_route_dialog.cc:56
+#: add_route_dialog.cc:57
msgid "Configuration:"
msgstr "Configuración:"
-#: add_route_dialog.cc:57
+#: add_route_dialog.cc:58
msgid "Track mode:"
msgstr "Modo de pista:"
-#: add_route_dialog.cc:58
+#: add_route_dialog.cc:59
msgid "Instrument:"
msgstr "Instrumento:"
-#: add_route_dialog.cc:76
+#: add_route_dialog.cc:78
msgid "Audio Tracks"
msgstr "Pistas de audio"
-#: add_route_dialog.cc:77
+#: add_route_dialog.cc:79
msgid "MIDI Tracks"
msgstr "Pistas MIDI"
-#: add_route_dialog.cc:78
+#: add_route_dialog.cc:80
msgid "Audio+MIDI Tracks"
msgstr "Pistas de audio+MIDI"
# es correcto utilizar 'buses' en español? -> al parecer sí, desde hace poc. Chequear: http://buscon.rae.es/draeI/SrvltObtenerHtml?IDLEMA=12558&NEDIC=Si
-#: add_route_dialog.cc:79
+#: add_route_dialog.cc:81
msgid "Busses"
msgstr "Buses"
-#: add_route_dialog.cc:101
+#: add_route_dialog.cc:103
msgid "Add:"
msgstr "Añadir:"
-#: add_route_dialog.cc:114 time_fx_dialog.cc:91 add_video_dialog.cc:150
-#: video_server_dialog.cc:112
+#: add_route_dialog.cc:116 time_fx_dialog.cc:91 add_video_dialog.cc:135
+#: video_server_dialog.cc:151
msgid "<b>Options</b>"
msgstr "<b>Opciones</b>"
-#: add_route_dialog.cc:124 bundle_manager.cc:192 region_editor.cc:50
-#: route_group_dialog.cc:65
+#: add_route_dialog.cc:126 bundle_manager.cc:193 region_editor.cc:49
+#: route_group_dialog.cc:71
msgid "Name:"
msgstr "Nombre:"
-#: add_route_dialog.cc:154
+#: add_route_dialog.cc:156
msgid "Group:"
msgstr "Grupo:"
-#: add_route_dialog.cc:215 add_route_dialog.cc:224 add_route_dialog.cc:298
-#: ardour_ui_ed.cc:476 engine_dialog.cc:236 rc_option_editor.cc:1446
-#: rc_option_editor.cc:1448 rc_option_editor.cc:1450 rc_option_editor.cc:1466
-#: rc_option_editor.cc:1468 rc_option_editor.cc:1476 rc_option_editor.cc:1478
-#: rc_option_editor.cc:1496 rc_option_editor.cc:1509 rc_option_editor.cc:1511
-#: rc_option_editor.cc:1513 rc_option_editor.cc:1544 rc_option_editor.cc:1546
-#: rc_option_editor.cc:1548 rc_option_editor.cc:1556 rc_option_editor.cc:1564
-#: rc_option_editor.cc:1572
+#: add_route_dialog.cc:217 add_route_dialog.cc:226 add_route_dialog.cc:300
+#: ardour_ui_ed.cc:523 engine_dialog.cc:235 rc_option_editor.cc:1710
+#: rc_option_editor.cc:1712 rc_option_editor.cc:1714 rc_option_editor.cc:1732
+#: rc_option_editor.cc:1734 rc_option_editor.cc:1742 rc_option_editor.cc:1744
+#: rc_option_editor.cc:1762 rc_option_editor.cc:1775 rc_option_editor.cc:1777
+#: rc_option_editor.cc:1779 rc_option_editor.cc:1810 rc_option_editor.cc:1812
+#: rc_option_editor.cc:1814 rc_option_editor.cc:1822 rc_option_editor.cc:1830
+#: rc_option_editor.cc:1832 rc_option_editor.cc:1840
msgid "Audio"
msgstr "Audio"
-#: add_route_dialog.cc:216 add_route_dialog.cc:227 add_route_dialog.cc:299
-#: editor_actions.cc:105 missing_file_dialog.cc:55 rc_option_editor.cc:1695
-#: rc_option_editor.cc:1703 rc_option_editor.cc:1711 rc_option_editor.cc:1720
-#: rc_option_editor.cc:1728 rc_option_editor.cc:1736 rc_option_editor.cc:1744
-#: rc_option_editor.cc:1753 rc_option_editor.cc:1762 rc_option_editor.cc:1771
-#: rc_option_editor.cc:1779 rc_option_editor.cc:1787
+#: add_route_dialog.cc:218 add_route_dialog.cc:229 add_route_dialog.cc:301
+#: editor_actions.cc:109 engine_dialog.cc:237 missing_file_dialog.cc:56
+#: rc_option_editor.cc:1975 rc_option_editor.cc:1983 rc_option_editor.cc:1991
+#: rc_option_editor.cc:2000 rc_option_editor.cc:2008 rc_option_editor.cc:2016
+#: rc_option_editor.cc:2024 rc_option_editor.cc:2033 rc_option_editor.cc:2042
+#: rc_option_editor.cc:2051 rc_option_editor.cc:2059 rc_option_editor.cc:2067
+#: rc_option_editor.cc:2075 rc_option_editor.cc:2098
msgid "MIDI"
msgstr "MIDI"
-#: add_route_dialog.cc:217 add_route_dialog.cc:230 add_route_dialog.cc:300
+#: add_route_dialog.cc:219 add_route_dialog.cc:232 add_route_dialog.cc:302
msgid "Audio+MIDI"
msgstr "Audio+MIDI"
-#: add_route_dialog.cc:218 add_route_dialog.cc:233 add_route_dialog.cc:301
+#: add_route_dialog.cc:220 add_route_dialog.cc:235 add_route_dialog.cc:303
msgid "Bus"
msgstr "Bus"
-#: add_route_dialog.cc:260
+#: add_route_dialog.cc:262
msgid ""
"Audio+MIDI tracks are intended for use <b>ONLY</b> with plugins that use "
"both audio and MIDI input data\n"
@@ -488,64 +494,64 @@ msgstr ""
"\n"
"Si no vas a usar un plugin de este tipo, usa una pista normal audio o MIDI."
-#: add_route_dialog.cc:319 add_route_dialog.cc:338 editor_actions.cc:385
-#: editor_rulers.cc:377 time_axis_view.cc:1305
+#: add_route_dialog.cc:321 add_route_dialog.cc:340 editor_actions.cc:420
+#: editor_rulers.cc:251 time_axis_view.cc:1339
msgid "Normal"
msgstr "Normal"
-#: add_route_dialog.cc:322 add_route_dialog.cc:340
+#: add_route_dialog.cc:324 add_route_dialog.cc:342
msgid "Non Layered"
msgstr "Sin capas"
-#: add_route_dialog.cc:323 add_route_dialog.cc:342
+#: add_route_dialog.cc:325 add_route_dialog.cc:344
msgid "Tape"
msgstr "Cinta"
-#: add_route_dialog.cc:423
+#: add_route_dialog.cc:425 monitor_section.cc:291
msgid "Mono"
msgstr "Mono"
-#: add_route_dialog.cc:427
+#: add_route_dialog.cc:429
msgid "Stereo"
msgstr "Estéreo"
-#: add_route_dialog.cc:451
+#: add_route_dialog.cc:453
msgid "3 Channel"
msgstr "3 Canales"
-#: add_route_dialog.cc:455
+#: add_route_dialog.cc:457
msgid "4 Channel"
msgstr "4 Canales"
-#: add_route_dialog.cc:459
+#: add_route_dialog.cc:461
msgid "5 Channel"
msgstr "5 Canales"
-#: add_route_dialog.cc:463
+#: add_route_dialog.cc:465
msgid "6 Channel"
msgstr "6 Canales"
-#: add_route_dialog.cc:467
+#: add_route_dialog.cc:469
msgid "8 Channel"
msgstr "8 Canales"
-#: add_route_dialog.cc:471
+#: add_route_dialog.cc:473
msgid "12 Channel"
msgstr "12 Canales"
-#: add_route_dialog.cc:475 mixer_strip.cc:2131
+#: add_route_dialog.cc:477 mixer_strip.cc:1791 mixer_strip.cc:2199
msgid "Custom"
msgstr "Personalizado"
-#: add_route_dialog.cc:508 add_route_dialog.cc:524 route_group_menu.cc:81
+#: add_route_dialog.cc:510 add_route_dialog.cc:526 route_group_menu.cc:81
msgid "New Group..."
msgstr "Nuevo grupo..."
-#: add_route_dialog.cc:512 route_group_menu.cc:85
+#: add_route_dialog.cc:514 route_group_menu.cc:85
msgid "No Group"
msgstr "Sin grupo"
-#: add_route_dialog.cc:588
+#: add_route_dialog.cc:590
msgid "-none-"
msgstr "-ninguno-"
@@ -571,7 +577,7 @@ msgstr ""
"\n"
"Por favor, selecciona la ruta del archivo deseado."
-#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:45
+#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:46
msgid "Done"
msgstr "Hecho"
@@ -612,17 +618,17 @@ msgstr "Normalizar valores"
msgid "FFT analysis window"
msgstr "Ventana de análisis FFT"
-#: analysis_window.cc:60 editor.cc:1857
+#: analysis_window.cc:60 editor.cc:1776
msgid "Spectral Analysis"
msgstr "Análisis espectral"
-#: analysis_window.cc:67 editor_actions.cc:138 export_channel_selector.cc:557
+#: analysis_window.cc:67 editor_actions.cc:142 export_channel_selector.cc:557
#: session_metadata_dialog.cc:546
msgid "Track"
msgstr "Pista"
-#: analysis_window.cc:68 editor_actions.cc:616 mixer_ui.cc:125
-#: mixer_ui.cc:1795
+#: analysis_window.cc:68 editor_actions.cc:658 mixer_ui.cc:130
+#: mixer_ui.cc:1830
msgid "Show"
msgstr "Mostrar"
@@ -630,91 +636,97 @@ msgstr "Mostrar"
msgid "Re-analyze data"
msgstr "Re-analizar datos"
-#: ardour_button.cc:704
+#: ardour_button.cc:810
msgid "button cannot watch state of non-existing Controllable\n"
msgstr "el botón no puede observar el estado de un controlable no existente\n"
+#: ardour_button.cc:1024
+msgid "ABCDEFGHIJLKMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
+msgstr ""
+
# en realidad no existe este término en el español...
-#: ardour_ui.cc:180
-msgid "audition"
-msgstr "escucha"
+#: ardour_ui.cc:194 editor_actions.cc:652 region_editor.cc:50
+msgid "Audition"
+msgstr "Escucha"
-#: ardour_ui.cc:181
-msgid "solo"
-msgstr "solo"
+#: ardour_ui.cc:195 editor_actions.cc:136 mixer_strip.cc:1971
+#: rc_option_editor.cc:1850 route_time_axis.cc:252 route_time_axis.cc:2566
+msgid "Solo"
+msgstr "Solo"
-#: ardour_ui.cc:182
-msgid "feedback"
-msgstr "feedback"
+#: ardour_ui.cc:196 rc_option_editor.cc:718
+msgid "Feedback"
+msgstr "Realimentación"
-#: ardour_ui.cc:187 speaker_dialog.cc:36
+#: ardour_ui.cc:201 speaker_dialog.cc:36
msgid "Speaker Configuration"
msgstr "Configuración de altavoces"
-#: ardour_ui.cc:188 theme_manager.cc:56 theme_manager.cc:64
+#: ardour_ui.cc:202 theme_manager.cc:62 theme_manager.cc:77
msgid "Theme Manager"
msgstr "Gestor de temas"
-#: ardour_ui.cc:189 keyeditor.cc:53
+#: ardour_ui.cc:203 keyeditor.cc:53
msgid "Key Bindings"
msgstr "Combinaciones de teclas"
-#: ardour_ui.cc:190
+#: ardour_ui.cc:204
msgid "Preferences"
msgstr "Preferencias"
-#: ardour_ui.cc:191 ardour_ui.cc:197
+#: ardour_ui.cc:205 ardour_ui.cc:211
msgid "Add Tracks/Busses"
msgstr ""
-#: ardour_ui.cc:192
+#: ardour_ui.cc:206
msgid "About"
msgstr "Acerca de"
-#: ardour_ui.cc:193 location_ui.cc:1146
+#: ardour_ui.cc:207 location_ui.cc:1148 session_option_editor.cc:189
+#: session_option_editor.cc:195 session_option_editor.cc:202
msgid "Locations"
msgstr "Posiciones"
-#: ardour_ui.cc:194 route_params_ui.cc:58 route_params_ui.cc:606
+#: ardour_ui.cc:208 route_params_ui.cc:58 route_params_ui.cc:629
msgid "Tracks and Busses"
msgstr "Pistas y buses"
-#: ardour_ui.cc:195 engine_dialog.cc:67
+#: ardour_ui.cc:209 engine_dialog.cc:69
msgid "Audio/MIDI Setup"
msgstr ""
-#: ardour_ui.cc:196
+#: ardour_ui.cc:210
msgid "Properties"
msgstr "Propiedades"
-#: ardour_ui.cc:198 bundle_manager.cc:263
+#: ardour_ui.cc:212 bundle_manager.cc:264
msgid "Bundle Manager"
msgstr "Gestor de conjuntos de conexiones"
-#: ardour_ui.cc:199 big_clock_window.cc:35
+#: ardour_ui.cc:213 big_clock_window.cc:37
msgid "Big Clock"
msgstr "Reloj grande"
-#: ardour_ui.cc:200
+#: ardour_ui.cc:214
msgid "Audio Connections"
msgstr ""
-#: ardour_ui.cc:201
+#: ardour_ui.cc:215
msgid "MIDI Connections"
msgstr ""
-#: ardour_ui.cc:203
+#: ardour_ui.cc:217
msgid "Errors"
msgstr "Errores"
-#: ardour_ui.cc:436
+#: ardour_ui.cc:461
msgid ""
"The audio backend was shutdown because:\n"
"\n"
"%1"
msgstr ""
-#: ardour_ui.cc:438
+#: ardour_ui.cc:463
msgid ""
"The audio backend has either been shutdown or it\n"
"disconnected %1 because %1\n"
@@ -722,27 +734,27 @@ msgid ""
"the audio backend and save the session."
msgstr ""
-#: ardour_ui.cc:758
+#: ardour_ui.cc:781
msgid "NSM server did not announce itself"
msgstr ""
-#: ardour_ui.cc:771
+#: ardour_ui.cc:794
msgid "NSM: no client ID provided"
msgstr ""
-#: ardour_ui.cc:778
+#: ardour_ui.cc:801
msgid "NSM: no session created"
msgstr ""
-#: ardour_ui.cc:801
+#: ardour_ui.cc:824
msgid "NSM: initialization failed"
msgstr ""
-#: ardour_ui.cc:840 startup.cc:379
+#: ardour_ui.cc:864 startup.cc:380
msgid "%1 is ready for use"
msgstr "%1 está preparado para su uso"
-#: ardour_ui.cc:882
+#: ardour_ui.cc:906
msgid ""
"WARNING: Your system has a limit for maximum amount of locked memory. This "
"might cause %1 to run out of memory before your system runs out of memory. \n"
@@ -755,23 +767,23 @@ msgstr ""
"\n"
"Puedes comprobar este límite con 'ulimit -l' y normalmente se establece en %2"
-#: ardour_ui.cc:899
+#: ardour_ui.cc:923
msgid "Do not show this window again"
msgstr "No volver a mostrar esta ventana"
-#: ardour_ui.cc:943
+#: ardour_ui.cc:967
msgid "Don't quit"
msgstr "No salir"
-#: ardour_ui.cc:944
+#: ardour_ui.cc:968
msgid "Just quit"
msgstr "Salir sin guardar"
-#: ardour_ui.cc:945
+#: ardour_ui.cc:969
msgid "Save and quit"
msgstr "Guardar y salir"
-#: ardour_ui.cc:955
+#: ardour_ui.cc:979
msgid ""
"%1 was unable to save your session.\n"
"\n"
@@ -785,15 +797,11 @@ msgstr ""
"\n"
"\"Salir sin guardar\"."
-#: ardour_ui.cc:986
-msgid "Please wait while %1 cleans up..."
-msgstr "Por favor, espera mientras %1 organiza todo..."
-
-#: ardour_ui.cc:1004
+#: ardour_ui.cc:1030
msgid "Unsaved Session"
msgstr "Sesión no guardada"
-#: ardour_ui.cc:1025
+#: ardour_ui.cc:1051
msgid ""
"The session \"%1\"\n"
"has not been saved.\n"
@@ -811,7 +819,7 @@ msgstr ""
"\n"
"¿Qué deseas hacer?"
-#: ardour_ui.cc:1028
+#: ardour_ui.cc:1054
msgid ""
"The snapshot \"%1\"\n"
"has not been saved.\n"
@@ -829,75 +837,75 @@ msgstr ""
"\n"
"¿Qué deseas hacer?"
-#: ardour_ui.cc:1042
+#: ardour_ui.cc:1068
msgid "Prompter"
msgstr "Prompter"
-#: ardour_ui.cc:1128 ardour_ui.cc:1136
+#: ardour_ui.cc:1182 ardour_ui.cc:1190
#, c-format
msgid "Audio: <span foreground=\"red\">none</span>"
msgstr ""
-#: ardour_ui.cc:1140
+#: ardour_ui.cc:1194
#, c-format
msgid "Audio: <span foreground=\"green\">%.1f kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1144
+#: ardour_ui.cc:1198
#, c-format
msgid "Audio: <span foreground=\"green\">%<PRId64> kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1162 export_video_dialog.cc:67
+#: ardour_ui.cc:1216 export_video_dialog.cc:68
msgid "File:"
msgstr "Archivo:"
-#: ardour_ui.cc:1166
+#: ardour_ui.cc:1220
msgid "BWF"
msgstr "BWF"
-#: ardour_ui.cc:1169
+#: ardour_ui.cc:1223
msgid "WAV"
msgstr "WAV"
-#: ardour_ui.cc:1172
+#: ardour_ui.cc:1226
msgid "WAV64"
msgstr "WAV64"
-#: ardour_ui.cc:1175 session_option_editor.cc:197
+#: ardour_ui.cc:1229 session_option_editor.cc:185
msgid "CAF"
msgstr "CAF"
-#: ardour_ui.cc:1178
+#: ardour_ui.cc:1232
msgid "AIFF"
msgstr "AIFF"
-#: ardour_ui.cc:1181
+#: ardour_ui.cc:1235
msgid "iXML"
msgstr "iXML"
-#: ardour_ui.cc:1184
+#: ardour_ui.cc:1238
msgid "RF64"
msgstr "RF64"
-#: ardour_ui.cc:1192
+#: ardour_ui.cc:1246
msgid "32-float"
msgstr "32-float"
-#: ardour_ui.cc:1195
+#: ardour_ui.cc:1249
msgid "24-int"
msgstr "24-int"
-#: ardour_ui.cc:1198
+#: ardour_ui.cc:1252
msgid "16-int"
msgstr "16-int"
-#: ardour_ui.cc:1217
+#: ardour_ui.cc:1271
#, c-format
msgid "DSP: <span foreground=\"%s\">%5.1f%%</span>"
msgstr "DSP: <span foreground=\"%s\">%5.1f%%</span>"
-#: ardour_ui.cc:1236
+#: ardour_ui.cc:1290
#, c-format
msgid ""
"Buffers: <span foreground=\"green\">p:</span><span foreground=\"%s\">"
@@ -908,87 +916,83 @@ msgstr ""
"%<PRIu32>%%</span> <span foreground=\"green\">c:</span><span foreground=\"%s"
"\">%<PRIu32>%%</span>"
-#: ardour_ui.cc:1277
+#: ardour_ui.cc:1331
msgid "Disk: <span foreground=\"green\">Unknown</span>"
msgstr "Disco: <span foreground=\"green\">Desconocido</span>"
-#: ardour_ui.cc:1279
+#: ardour_ui.cc:1333
msgid "Disk: <span foreground=\"green\">24hrs+</span>"
msgstr "Disco: <span foreground=\"green\">24hrs+</span>"
-#: ardour_ui.cc:1297
+#: ardour_ui.cc:1351
msgid "Disk: <span foreground=\"green\">&gt;24 hrs</span>"
msgstr "Disco: <span foreground=\"green\">&gt;24 hrs</span>"
-#: ardour_ui.cc:1308
+#: ardour_ui.cc:1362
#, c-format
msgid "Disk: <span foreground=\"%s\">%02dh:%02dm:%02ds</span>"
msgstr "Disco: <span foreground=\"%s\">%02dh:%02dm:%02ds</span>"
-#: ardour_ui.cc:1334
+#: ardour_ui.cc:1388
#, c-format
msgid "Timecode|TC: <span foreground=\"%s\">%s</span>"
msgstr "TC: <span foreground=\"%s\">%s</span>"
-#: ardour_ui.cc:1451 ardour_ui.cc:1460 session_dialog.cc:322
-#: session_dialog.cc:327
+#: ardour_ui.cc:1509 ardour_ui.cc:1518 session_dialog.cc:326
+#: session_dialog.cc:331
msgid "Recent Sessions"
msgstr "Sesiones recientes"
-#: ardour_ui.cc:1539
+#: ardour_ui.cc:1597
msgid ""
"%1 is not connected to any audio backend.\n"
"You cannot open or close sessions in this condition"
msgstr ""
-#: ardour_ui.cc:1563
+#: ardour_ui.cc:1621
msgid "Open Session"
msgstr "Abrir sesión"
-#: ardour_ui.cc:1588 session_dialog.cc:353 session_import_dialog.cc:169
+#: ardour_ui.cc:1646 session_dialog.cc:357 session_import_dialog.cc:169
#: session_metadata_dialog.cc:729
msgid "%1 sessions"
msgstr "sesiones %1"
-#: ardour_ui.cc:1625
+#: ardour_ui.cc:1683
msgid "You cannot add a track without a session already loaded."
msgstr "No puedes añadir pistas ni buses sin una sesión cargada."
-#: ardour_ui.cc:1633
+#: ardour_ui.cc:1691
msgid "could not create %1 new mixed track"
msgid_plural "could not create %1 new mixed tracks"
msgstr[0] "no se pudo crear %1 nueva pista mezclada"
msgstr[1] "no se pudieron crear %1 nuevas pistas mezcladas"
-#: ardour_ui.cc:1639 ardour_ui.cc:1700
+#: ardour_ui.cc:1697 ardour_ui.cc:1758
msgid ""
-"There are insufficient JACK ports available\n"
+"There are insufficient ports available\n"
"to create a new track or bus.\n"
"You should save %1, exit and\n"
-"restart JACK with more ports."
+"restart with more ports."
msgstr ""
-"No hay suficientes puertos disponibles en JACK\n"
-"para crear nuevas pistas o buses.\n"
-"Deberás guardar %1, salir y\n"
-"reiniciar JACK con más puertos."
-#: ardour_ui.cc:1674
+#: ardour_ui.cc:1732
msgid "You cannot add a track or bus without a session already loaded."
msgstr "No puedes añadir pistas ni buses sin una sesión cargada."
-#: ardour_ui.cc:1683
+#: ardour_ui.cc:1741
msgid "could not create %1 new audio track"
msgid_plural "could not create %1 new audio tracks"
msgstr[0] "no se pudo crear %1 nueva pista de audio"
msgstr[1] "no se pudieron crear %1 nuevas pistas de audio"
-#: ardour_ui.cc:1692
+#: ardour_ui.cc:1750
msgid "could not create %1 new audio bus"
msgid_plural "could not create %1 new audio busses"
msgstr[0] "no se pudo crear %1 nuevo bus de audio"
msgstr[1] "no se pudieron crear %1 nuevos buses de audio"
-#: ardour_ui.cc:1816
+#: ardour_ui.cc:1903
msgid ""
"Please create one or more tracks before trying to record.\n"
"You can do this with the \"Add Track or Bus\" option in the Session menu."
@@ -996,15 +1000,23 @@ msgstr ""
"Por favor, añade al menos 1 pista antes de intentar grabar\n"
"Lo puedes hacer con la opción \"Añadir pista o bus\" en el menú de Sesión."
-#: ardour_ui.cc:2193
+#: ardour_ui.cc:2312
+msgid "Save as..."
+msgstr ""
+
+#: ardour_ui.cc:2313 ardour_ui.cc:2392
+msgid "New session name"
+msgstr "Nuevo nombre de sesión"
+
+#: ardour_ui.cc:2315
msgid "Take Snapshot"
msgstr "Guardar captura de sesión"
-#: ardour_ui.cc:2194
+#: ardour_ui.cc:2316
msgid "Name of new snapshot"
msgstr "Nombre de captura de sesión"
-#: ardour_ui.cc:2218
+#: ardour_ui.cc:2341
msgid ""
"To ensure compatibility with various systems\n"
"snapshot names may not contain a '%1' character"
@@ -1012,27 +1024,23 @@ msgstr ""
"Para asegurar la compatibilidad entre varios sistemas, los\n"
"nombres de captura de sesión no pueden contener el carácter '%1'"
-#: ardour_ui.cc:2230
+#: ardour_ui.cc:2353
msgid "Confirm Snapshot Overwrite"
msgstr "Confirmar reescritura de captura de sesión"
-#: ardour_ui.cc:2231
+#: ardour_ui.cc:2354
msgid "A snapshot already exists with that name. Do you want to overwrite it?"
msgstr "Ya existe una captura de sesión con ese nombre. ¿Quieres reescribirla?"
-#: ardour_ui.cc:2234 utils_videotl.cc:67
+#: ardour_ui.cc:2357 utils_videotl.cc:67
msgid "Overwrite"
msgstr "Reescribir"
-#: ardour_ui.cc:2268
+#: ardour_ui.cc:2391
msgid "Rename Session"
msgstr "Renombrar sesión"
-#: ardour_ui.cc:2269
-msgid "New session name"
-msgstr "Nuevo nombre de sesión"
-
-#: ardour_ui.cc:2283 ardour_ui.cc:2684 ardour_ui.cc:2722
+#: ardour_ui.cc:2406 ardour_ui.cc:2814 ardour_ui.cc:2852
msgid ""
"To ensure compatibility with various systems\n"
"session names may not contain a '%1' character"
@@ -1040,14 +1048,14 @@ msgstr ""
"Para asegurar la compatibilidad entre varios sistemas,\n"
"los nombres de sesión no pueden contener el carácter '%1'"
-#: ardour_ui.cc:2291
+#: ardour_ui.cc:2414
msgid ""
"That name is already in use by another directory/folder. Please try again."
msgstr ""
"Ese nombre ya está en uso por otro directorio o carpeta. Por favor, "
"inténtalo otra vez."
-#: ardour_ui.cc:2300
+#: ardour_ui.cc:2423
msgid ""
"Renaming this session failed.\n"
"Things could be seriously messed up at this point"
@@ -1055,20 +1063,20 @@ msgstr ""
"Renaming this session failed.\n"
"Things could be seriously messed up at this point"
-#: ardour_ui.cc:2411
+#: ardour_ui.cc:2534
msgid "Save Template"
msgstr "Guardar plantilla"
# se refiere a la sesión, no al Mezclador
-#: ardour_ui.cc:2412
+#: ardour_ui.cc:2535
msgid "Name for template:"
msgstr "Nombre de plantilla:"
-#: ardour_ui.cc:2413
+#: ardour_ui.cc:2536
msgid "-template"
msgstr "-plantilla"
-#: ardour_ui.cc:2451
+#: ardour_ui.cc:2574
msgid ""
"This session\n"
"%1\n"
@@ -1078,59 +1086,59 @@ msgstr ""
"%1\n"
"ya existe. ¿Quieres abrirla?"
-#: ardour_ui.cc:2461
+#: ardour_ui.cc:2584
msgid "Open Existing Session"
msgstr "Abrir sesión existente"
-#: ardour_ui.cc:2712
+#: ardour_ui.cc:2842
msgid "There is no existing session at \"%1\""
msgstr "No hay ninguna sesión existente en \"%1\""
-#: ardour_ui.cc:2804
+#: ardour_ui.cc:2934
msgid "Please wait while %1 loads your session"
msgstr "Por favor, espera a que %1 cargue tu sesión"
-#: ardour_ui.cc:2819
+#: ardour_ui.cc:2949
msgid "Port Registration Error"
msgstr "Error de Registro de Puertos"
-#: ardour_ui.cc:2820
+#: ardour_ui.cc:2950
msgid "Click the Close button to try again."
msgstr "Pulsa el botón Cerrar para volver a intentarlo"
-#: ardour_ui.cc:2841
+#: ardour_ui.cc:2971
msgid "Session \"%1 (snapshot %2)\" did not load successfully"
msgstr "No se pudo cargar la sesión \"%1 (captura %2)\" "
-#: ardour_ui.cc:2848
+#: ardour_ui.cc:2978
msgid "Loading Error"
msgstr "Error al cargar"
-#: ardour_ui.cc:2867
+#: ardour_ui.cc:2997
msgid ""
"This session has been opened in read-only mode.\n"
"\n"
"You will not be able to record or save."
msgstr ""
-#: ardour_ui.cc:2873
+#: ardour_ui.cc:3003
msgid "Read-only Session"
msgstr ""
-#: ardour_ui.cc:2931
+#: ardour_ui.cc:3069
msgid "Could not create session in \"%1\""
msgstr "No se pudo crear la sesión en \"%1\""
-#: ardour_ui.cc:3031
+#: ardour_ui.cc:3169
msgid "No files were ready for clean-up"
msgstr "No había ningún archivo preparado para purgar"
-#: ardour_ui.cc:3035 ardour_ui.cc:3045 ardour_ui.cc:3178 ardour_ui.cc:3185
-#: ardour_ui_ed.cc:104
+#: ardour_ui.cc:3173 ardour_ui.cc:3183 ardour_ui.cc:3316 ardour_ui.cc:3323
+#: ardour_ui_ed.cc:103
msgid "Clean-up"
msgstr "Purgar"
-#: ardour_ui.cc:3036
+#: ardour_ui.cc:3174
msgid ""
"If this seems suprising, \n"
"check for any existing snapshots.\n"
@@ -1141,21 +1149,21 @@ msgstr ""
"Éstas todavía pueden incluir regiones que hacen que algunos\n"
"archivos no utilizados continúen existiendo."
-#: ardour_ui.cc:3095
+#: ardour_ui.cc:3233
msgid "kilo"
msgstr "kilo"
-#: ardour_ui.cc:3098
+#: ardour_ui.cc:3236
msgid "mega"
msgstr "mega"
-#: ardour_ui.cc:3101
+#: ardour_ui.cc:3239
msgid "giga"
msgstr "giga"
# debí adaptar para que al completarse con los parámetros el mensaje tuviera sentido en español
# (quedaba mal por los plurales y la ambigüedad was=fue/estuvo)
-#: ardour_ui.cc:3106
+#: ardour_ui.cc:3244
msgid ""
"The following file was deleted from %2,\n"
"releasing %3 %4bytes of disk space"
@@ -1171,7 +1179,7 @@ msgstr[1] ""
# debí adaptar para que al completarse con los parámetros el mensaje tuviera sentido en español
# (quedaba mal por los plurales y la ambigüedad was=fue/estuvo)
-#: ardour_ui.cc:3113
+#: ardour_ui.cc:3251
msgid ""
"The following file was not in use and \n"
"has been moved to: %2\n"
@@ -1209,11 +1217,11 @@ msgstr[1] ""
"\n"
"liberará %3 %4bytes de espacio en disco.\n"
-#: ardour_ui.cc:3173
+#: ardour_ui.cc:3311
msgid "Are you sure you want to clean-up?"
msgstr "¿Estás seguro de que quieres purgar?"
-#: ardour_ui.cc:3180
+#: ardour_ui.cc:3318
msgid ""
"Clean-up is a destructive operation.\n"
"ALL undo/redo information will be lost if you clean-up.\n"
@@ -1223,80 +1231,79 @@ msgstr ""
"TODA la información del historial deshacer/rehacer se perderá.\n"
"Purgar moverá todos los archivos no usados a la carpeta \"dead\"."
-#: ardour_ui.cc:3188
+#: ardour_ui.cc:3326
msgid "CleanupDialog"
msgstr "Purgar"
-#: ardour_ui.cc:3218
+#: ardour_ui.cc:3356
msgid "Cleaned Files"
msgstr "Archivos purgados"
-#: ardour_ui.cc:3235
+#: ardour_ui.cc:3373
msgid "deleted file"
msgstr "archivo eliminado"
-#: ardour_ui.cc:3381
-msgid ""
-"Video-Server was not launched by Ardour. The request to stop it is ignored."
+#: ardour_ui.cc:3512
+msgid "Video-Server was not launched by %1. The request to stop it is ignored."
msgstr ""
-#: ardour_ui.cc:3385
+#: ardour_ui.cc:3516
msgid "Stop Video-Server"
msgstr ""
-#: ardour_ui.cc:3386
+#: ardour_ui.cc:3517
msgid "Do you really want to stop the Video Server?"
msgstr ""
-#: ardour_ui.cc:3389
+#: ardour_ui.cc:3520
msgid "Yes, Stop It"
msgstr ""
-#: ardour_ui.cc:3415
+#: ardour_ui.cc:3546
msgid "The Video Server is already started."
msgstr ""
-#: ardour_ui.cc:3417
+#: ardour_ui.cc:3548
msgid ""
"An external Video Server is configured and can be reached. Not starting a "
"new instance."
msgstr ""
-#: ardour_ui.cc:3425 ardour_ui.cc:3515
+#: ardour_ui.cc:3556 ardour_ui.cc:3655
msgid ""
"Could not connect to the Video Server. Start it or configure its access URL "
"in Edit -> Preferences."
msgstr ""
-#: ardour_ui.cc:3449
+#: ardour_ui.cc:3580
msgid "Specified docroot is not an existing directory."
msgstr ""
-#: ardour_ui.cc:3454
+#: ardour_ui.cc:3586 ardour_ui.cc:3592
msgid "Given Video Server is not an executable file."
msgstr ""
-#: ardour_ui.cc:3487
+#: ardour_ui.cc:3626
msgid "Cannot launch the video-server"
msgstr ""
-#: ardour_ui.cc:3496
+#: ardour_ui.cc:3636
msgid "Video-server was started but does not respond to requests..."
msgstr ""
-#: ardour_ui.cc:3541 editor_audio_import.cc:632
+#: ardour_ui.cc:3681 editor_audio_import.cc:628
msgid "could not open %1"
msgstr "no se pudo abrir %1"
-#: ardour_ui.cc:3545
+#: ardour_ui.cc:3685
msgid "no video-file selected"
msgstr ""
-#: ardour_ui.cc:3717
+#: ardour_ui.cc:3858
msgid "Recording was stopped because your system could not keep up."
msgstr "Se detuvo la grabación porque el sistema se sobrecargó."
-#: ardour_ui.cc:3746
+#: ardour_ui.cc:3887
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1310,7 +1317,23 @@ msgstr ""
"En concreto, la velocidad de escritura de datos en el disco\n"
"no fue lo bastante alta como para permitir la grabación.\n"
-#: ardour_ui.cc:3765
+#: ardour_ui.cc:3957
+msgid "Scanning for plugins"
+msgstr ""
+
+#: ardour_ui.cc:3959
+msgid "Cancel plugin scan"
+msgstr ""
+
+#: ardour_ui.cc:3968
+msgid "Stop Timeout"
+msgstr ""
+
+#: ardour_ui.cc:3975
+msgid "Scan Timeout"
+msgstr ""
+
+#: ardour_ui.cc:4016
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1324,11 +1347,11 @@ msgstr ""
"En concreto, la velocidad de lectura de datos desde el disco\n"
"no fue lo bastante alta como para permitir la reproducción.\n"
-#: ardour_ui.cc:3805
+#: ardour_ui.cc:4056
msgid "Crash Recovery"
msgstr "Recuperación del crash"
-#: ardour_ui.cc:3806
+#: ardour_ui.cc:4057
msgid ""
"This session appears to have been in the\n"
"middle of recording when %1 or\n"
@@ -1346,19 +1369,19 @@ msgstr ""
"o puede ignorarlo. Por favor, decide qué\n"
"deseas hacer.\n"
-#: ardour_ui.cc:3818
+#: ardour_ui.cc:4069
msgid "Ignore crash data"
msgstr "Ignorar información del crash"
-#: ardour_ui.cc:3819
+#: ardour_ui.cc:4070
msgid "Recover from crash"
msgstr "Recuperar del crash"
-#: ardour_ui.cc:3839
+#: ardour_ui.cc:4090
msgid "Sample Rate Mismatch"
msgstr "Discrepancia de frecuencia de muestreo"
-#: ardour_ui.cc:3840
+#: ardour_ui.cc:4091
msgid ""
"This session was created with a sample rate of %1 Hz, but\n"
"%2 is currently running at %3 Hz. If you load this session,\n"
@@ -1368,23 +1391,23 @@ msgstr ""
"pero %2 está ejecutándose actualmente a %3 Hz. Si cargas la sesión\n"
"puede que el audio se reproduzca a una frecuencia de muestreo incorrecta.\n"
-#: ardour_ui.cc:3849
+#: ardour_ui.cc:4100
msgid "Do not load session"
msgstr "No cargar sesión"
-#: ardour_ui.cc:3850
+#: ardour_ui.cc:4101
msgid "Load session anyway"
msgstr "Cargar sesión de todas formas"
-#: ardour_ui.cc:3877
+#: ardour_ui.cc:4128
msgid "Could not disconnect from Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:3893 ardour_ui.cc:3896
+#: ardour_ui.cc:4144 ardour_ui.cc:4147
msgid "Could not reconnect to the Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:4172
+#: ardour_ui.cc:4431
msgid ""
"%4This is a session from an older version of %3%5\n"
"\n"
@@ -1399,47 +1422,47 @@ msgid ""
"From now on, use the -2000 version with older versions of %3"
msgstr ""
-#: ardour_ui2.cc:72
+#: ardour_ui2.cc:73
msgid "UI: cannot setup editor"
msgstr "interfaz de usuario: no se pudo configurar el editor"
-#: ardour_ui2.cc:77
+#: ardour_ui2.cc:78
msgid "UI: cannot setup mixer"
msgstr "interfaz de usuario: no se pudo configurar el mezclador"
-#: ardour_ui2.cc:82
+#: ardour_ui2.cc:83
msgid "UI: cannot setup meterbridge"
msgstr ""
-#: ardour_ui2.cc:130
+#: ardour_ui2.cc:131
msgid "Play from playhead"
msgstr "Reproducir desde cursor"
-#: ardour_ui2.cc:131
+#: ardour_ui2.cc:132
msgid "Stop playback"
msgstr "Detener reproducción"
-#: ardour_ui2.cc:132
+#: ardour_ui2.cc:133
msgid "Toggle record"
msgstr "Activar/Desactivar grabación"
-#: ardour_ui2.cc:133
+#: ardour_ui2.cc:134
msgid "Play range/selection"
msgstr "Reproducir rango/selección"
-#: ardour_ui2.cc:134
+#: ardour_ui2.cc:135
msgid "Go to start of session"
msgstr "Ir a inicio de sesión"
-#: ardour_ui2.cc:135
+#: ardour_ui2.cc:136
msgid "Go to end of session"
msgstr "Ir a fin de sesión"
-#: ardour_ui2.cc:136
+#: ardour_ui2.cc:137
msgid "Play loop range"
msgstr "Reproducir rango de bucle"
-#: ardour_ui2.cc:137
+#: ardour_ui2.cc:138
msgid ""
"MIDI Panic\n"
"Send note off and reset controller messages on all MIDI channels"
@@ -1447,23 +1470,23 @@ msgstr ""
"Pánico MIDI\n"
"Enviar nota off y resetear mensajes de control en todos los canales MIDI"
-#: ardour_ui2.cc:138
+#: ardour_ui2.cc:139
msgid "Return to last playback start when stopped"
msgstr "Al detenerse, volver al último inicio de reproducción"
-#: ardour_ui2.cc:139
+#: ardour_ui2.cc:140
msgid "Playhead follows Range Selections and Edits"
msgstr "El cursor sigue a las selecciones de rango y edición"
-#: ardour_ui2.cc:140
+#: ardour_ui2.cc:141
msgid "Be sensible about input monitoring"
msgstr "Monitorización sensible de entradas"
-#: ardour_ui2.cc:141
+#: ardour_ui2.cc:142
msgid "Enable/Disable audio click"
msgstr "Activar/Desactivar claqueta"
-#: ardour_ui2.cc:142 monitor_section.cc:101
+#: ardour_ui2.cc:143 monitor_section.cc:112
msgid ""
"When active, something is soloed.\n"
"Click to de-solo everything"
@@ -1471,7 +1494,7 @@ msgstr ""
"Si está activado, algo está en solo.\n"
"Pulsa para desactivar todos los solos"
-#: ardour_ui2.cc:143
+#: ardour_ui2.cc:144
msgid ""
"When active, auditioning is taking place\n"
"Click to stop the audition"
@@ -1479,11 +1502,11 @@ msgstr ""
"Si está activado, se está produciendo escucha\n"
"Pulsa para detener la escucha"
-#: ardour_ui2.cc:144
+#: ardour_ui2.cc:145
msgid "When active, there is a feedback loop."
msgstr "Cuando está activo, existe un bucle de realimentación."
-#: ardour_ui2.cc:145
+#: ardour_ui2.cc:146
msgid ""
"<b>Primary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1491,7 +1514,7 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:146
+#: ardour_ui2.cc:147
msgid ""
"<b>Secondary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1499,366 +1522,423 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:147
-msgid "Reset Level Meter"
+#: ardour_ui2.cc:148
+msgid "Reset All Peak Indicators"
msgstr ""
-#: ardour_ui2.cc:179
+#: ardour_ui2.cc:180
msgid "[ERROR]: "
msgstr "[ERROR]: "
-#: ardour_ui2.cc:181
+#: ardour_ui2.cc:182
msgid "[WARNING]: "
msgstr "[AVISO]: "
-#: ardour_ui2.cc:183
+#: ardour_ui2.cc:184
msgid "[INFO]: "
msgstr "[INFO]: "
# he cambiado desde Auto Volver. Qudaba un poco raro y auto return se entiende mejor
-#: ardour_ui2.cc:247 ardour_ui_ed.cc:344
+#: ardour_ui2.cc:248 ardour_ui_ed.cc:391
msgid "Auto Return"
msgstr "Auto Return"
-#: ardour_ui2.cc:249 ardour_ui_ed.cc:347
+#: ardour_ui2.cc:250 ardour_ui_ed.cc:394
msgid "Follow Edits"
msgstr "Seguir Edits"
-#: ardour_ui2.cc:628 rc_option_editor.cc:1002 rc_option_editor.cc:1020
-#: rc_option_editor.cc:1023 rc_option_editor.cc:1025 rc_option_editor.cc:1027
-#: rc_option_editor.cc:1035 rc_option_editor.cc:1043 rc_option_editor.cc:1045
-#: rc_option_editor.cc:1053 rc_option_editor.cc:1060 rc_option_editor.cc:1069
-#: rc_option_editor.cc:1071 rc_option_editor.cc:1073 rc_option_editor.cc:1081
-#: rc_option_editor.cc:1083 rc_option_editor.cc:1092
-#: session_option_editor.cc:234 session_option_editor.cc:236
-#: session_option_editor.cc:257 session_option_editor.cc:259
-#: session_option_editor.cc:261 session_option_editor.cc:268
+#: ardour_ui2.cc:651 rc_option_editor.cc:2172
+msgid "GUI"
+msgstr ""
+
+#: ardour_ui2.cc:668 rc_option_editor.cc:1242 rc_option_editor.cc:1260
+#: rc_option_editor.cc:1263 rc_option_editor.cc:1265 rc_option_editor.cc:1267
+#: rc_option_editor.cc:1275 rc_option_editor.cc:1283 rc_option_editor.cc:1285
+#: rc_option_editor.cc:1293 rc_option_editor.cc:1300 rc_option_editor.cc:1309
+#: rc_option_editor.cc:1311 rc_option_editor.cc:1313 rc_option_editor.cc:1321
+#: rc_option_editor.cc:1323 rc_option_editor.cc:1332
+#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:344 session_option_editor.cc:346
+#: session_option_editor.cc:348 session_option_editor.cc:355
+#: session_option_editor.cc:362 session_option_editor.cc:366
msgid "Misc"
msgstr "Misc"
-#: ardour_ui_dependents.cc:69
+#: ardour_ui_dependents.cc:75
msgid "Setup Editor"
msgstr "Configurar Editor"
-#: ardour_ui_dependents.cc:71
+#: ardour_ui_dependents.cc:77
msgid "Setup Mixer"
msgstr "Configurar Mezclador"
-#: ardour_ui_dependents.cc:77
+#: ardour_ui_dependents.cc:83
msgid "Reload Session History"
msgstr "Recargar historial de sesión"
-#: ardour_ui_dialogs.cc:238
+#: ardour_ui_dialogs.cc:251
msgid "Don't close"
msgstr "No cerrar"
-#: ardour_ui_dialogs.cc:239
+#: ardour_ui_dialogs.cc:252
msgid "Just close"
msgstr "Cerrar"
-#: ardour_ui_dialogs.cc:240
+#: ardour_ui_dialogs.cc:253
msgid "Save and close"
msgstr "Guardar y cerrar"
-#: ardour_ui_dialogs.cc:339
+#: ardour_ui_dialogs.cc:353
msgid "This screen is not tall enough to display the mixer window"
msgstr ""
"Esta pantalla no es lo bastante alta para mostrar la ventana del mezclador"
-#: ardour_ui_ed.cc:103
+#: ardour_ui_ed.cc:102
msgid "Session"
msgstr "Sesión"
-#: ardour_ui_ed.cc:106 editor_actions.cc:134 editor_regions.cc:115
+#: ardour_ui_ed.cc:105 editor_actions.cc:138 editor_regions.cc:116
#: port_group.cc:458 session_option_editor.cc:82 session_option_editor.cc:89
msgid "Sync"
msgstr "Sinc"
-#: ardour_ui_ed.cc:107
+#: ardour_ui_ed.cc:106
msgid "Options"
msgstr "Opciones"
-#: ardour_ui_ed.cc:108
+#: ardour_ui_ed.cc:107
msgid "Window"
msgstr "Ventana"
-#: ardour_ui_ed.cc:109
+#: ardour_ui_ed.cc:108
msgid "Help"
msgstr "Ayuda"
-#: ardour_ui_ed.cc:110
+#: ardour_ui_ed.cc:109
msgid "Misc. Shortcuts"
msgstr "Atajos varios"
-#: ardour_ui_ed.cc:111
+#: ardour_ui_ed.cc:110
msgid "Audio File Format"
msgstr "Formato archivo de audio"
-#: ardour_ui_ed.cc:112
+#: ardour_ui_ed.cc:111
msgid "File Type"
msgstr "Tipo de archivo"
-#: ardour_ui_ed.cc:113 export_format_dialog.cc:65
+#: ardour_ui_ed.cc:112 export_format_dialog.cc:67
msgid "Sample Format"
msgstr "Formato de muestra"
-#: ardour_ui_ed.cc:114 rc_option_editor.cc:1814 rc_option_editor.cc:1826
+#: ardour_ui_ed.cc:113 rc_option_editor.cc:2119 rc_option_editor.cc:2131
msgid "Control Surfaces"
msgstr "Superficies de control"
-#: ardour_ui_ed.cc:115 rc_option_editor.cc:1546
+#: ardour_ui_ed.cc:114 rc_option_editor.cc:1812 rc_option_editor.cc:2138
msgid "Plugins"
msgstr "Plugins"
-#: ardour_ui_ed.cc:116 rc_option_editor.cc:1889
+#: ardour_ui_ed.cc:115 rc_option_editor.cc:2223
msgid "Metering"
msgstr "Medidores"
-#: ardour_ui_ed.cc:117
+#: ardour_ui_ed.cc:116
msgid "Fall Off Rate"
msgstr "Tasa de decaimiento"
-#: ardour_ui_ed.cc:118
+#: ardour_ui_ed.cc:117
msgid "Hold Time"
msgstr "Tiempo de persistencia"
-#: ardour_ui_ed.cc:119
+#: ardour_ui_ed.cc:118
msgid "Denormal Handling"
msgstr "Manejo de denormals"
-#: ardour_ui_ed.cc:123 route_time_axis.cc:1489
+#: ardour_ui_ed.cc:122 route_time_axis.cc:1636
msgid "New..."
msgstr "Nueva..."
-#: ardour_ui_ed.cc:125
+#: ardour_ui_ed.cc:124
msgid "Open..."
msgstr "Abrir..."
-#: ardour_ui_ed.cc:126
+#: ardour_ui_ed.cc:125
msgid "Recent..."
msgstr "Recientes..."
-#: ardour_ui_ed.cc:127 panner_editor.cc:29 playlist_selector.cc:64
+#: ardour_ui_ed.cc:126 panner_editor.cc:29 playlist_selector.cc:64
msgid "Close"
msgstr "Cerrar"
-#: ardour_ui_ed.cc:130
+#: ardour_ui_ed.cc:129
msgid "Add Track or Bus..."
msgstr "Añadir pista o bus..."
-#: ardour_ui_ed.cc:135
+#: ardour_ui_ed.cc:134
msgid "Open Video"
msgstr ""
-#: ardour_ui_ed.cc:138
+#: ardour_ui_ed.cc:137
msgid "Remove Video"
msgstr ""
-#: ardour_ui_ed.cc:141
+#: ardour_ui_ed.cc:140
msgid "Export To Video File"
msgstr ""
-#: ardour_ui_ed.cc:145
+#: ardour_ui_ed.cc:144
msgid "Snapshot..."
msgstr "Captura de sesión..."
-#: ardour_ui_ed.cc:149
+#: ardour_ui_ed.cc:148
msgid "Save As..."
msgstr "Guardar como..."
-#: ardour_ui_ed.cc:153 editor_actions.cc:1719 editor_markers.cc:858
-#: editor_snapshots.cc:123 mixer_strip.cc:1471 route_time_axis.cc:1485
+#: ardour_ui_ed.cc:152 editor_actions.cc:1767 editor_markers.cc:872
+#: editor_snapshots.cc:124 mixer_strip.cc:1481 route_time_axis.cc:1632
msgid "Rename..."
msgstr "Renombrar..."
-#: ardour_ui_ed.cc:157
+#: ardour_ui_ed.cc:156
msgid "Save Template..."
msgstr "Guardar plantilla..."
-#: ardour_ui_ed.cc:160
+#: ardour_ui_ed.cc:159
msgid "Metadata"
msgstr "Metadatos"
-#: ardour_ui_ed.cc:163
+#: ardour_ui_ed.cc:162
msgid "Edit Metadata..."
msgstr "Editar metadatos..."
-#: ardour_ui_ed.cc:166
+#: ardour_ui_ed.cc:165
msgid "Import Metadata..."
msgstr "Importar metadatos..."
-#: ardour_ui_ed.cc:169
+#: ardour_ui_ed.cc:168
msgid "Export To Audio File(s)..."
msgstr "Exportar a archivo(s) de audio..."
-#: ardour_ui_ed.cc:172
+#: ardour_ui_ed.cc:171
msgid "Stem export..."
msgstr "Stem export..."
-#: ardour_ui_ed.cc:175 editor_export_audio.cc:63 export_dialog.cc:129
-#: export_video_dialog.cc:71
+#: ardour_ui_ed.cc:174 editor_export_audio.cc:65 export_dialog.cc:129
+#: export_video_dialog.cc:72
msgid "Export"
msgstr "Exportar"
-#: ardour_ui_ed.cc:178
+#: ardour_ui_ed.cc:177
msgid "Clean-up Unused Sources..."
msgstr "Purgar archivos no usados..."
-#: ardour_ui_ed.cc:182
+#: ardour_ui_ed.cc:181
msgid "Flush Wastebasket"
msgstr "Vaciar papelera"
-#: ardour_ui_ed.cc:189
+#: ardour_ui_ed.cc:188
msgid "Quit"
msgstr "Salir"
-#: ardour_ui_ed.cc:193
+#: ardour_ui_ed.cc:192
msgid "Maximise Editor Space"
msgstr "Maximizar Editor"
+#: ardour_ui_ed.cc:193
+msgid "Maximise Mixer Space"
+msgstr ""
+
#: ardour_ui_ed.cc:194
msgid "Show Toolbars"
msgstr "Mostrar barras de herramientas"
-#: ardour_ui_ed.cc:197 mixer_ui.cc:1865 mixer_ui.cc:1871
+#: ardour_ui_ed.cc:197
+msgid "Show more UI preferences"
+msgstr ""
+
+#: ardour_ui_ed.cc:199 mixer_ui.cc:1900 mixer_ui.cc:1906
msgid "Window|Mixer"
msgstr "Mezclador"
-#: ardour_ui_ed.cc:198
+#: ardour_ui_ed.cc:200
msgid "Toggle Editor+Mixer"
msgstr ""
-#: ardour_ui_ed.cc:199 meterbridge.cc:230 meterbridge.cc:236
+#: ardour_ui_ed.cc:201 meterbridge.cc:214 meterbridge.cc:220
msgid "Window|Meterbridge"
msgstr ""
-#: ardour_ui_ed.cc:201 midi_tracer.cc:42
+#: ardour_ui_ed.cc:203 midi_tracer.cc:45
msgid "MIDI Tracer"
msgstr "Rastreador MIDI"
-#: ardour_ui_ed.cc:203
+#: ardour_ui_ed.cc:205
msgid "Chat"
msgstr "Chat"
-#: ardour_ui_ed.cc:205
+#: ardour_ui_ed.cc:207
msgid "Help|Manual"
msgstr "Manual"
-#: ardour_ui_ed.cc:206
+#: ardour_ui_ed.cc:208
msgid "Reference"
msgstr "Referencia"
-#: ardour_ui_ed.cc:208 plugin_ui.cc:415
+#: ardour_ui_ed.cc:210 plugin_ui.cc:416
msgid "Save"
msgstr "Guardar"
-#: ardour_ui_ed.cc:216 rc_option_editor.cc:1112 rc_option_editor.cc:1123
-#: rc_option_editor.cc:1132 rc_option_editor.cc:1145 rc_option_editor.cc:1158
-#: rc_option_editor.cc:1167 rc_option_editor.cc:1177 rc_option_editor.cc:1179
-#: rc_option_editor.cc:1189 rc_option_editor.cc:1205 rc_option_editor.cc:1218
-#: rc_option_editor.cc:1236 rc_option_editor.cc:1238 rc_option_editor.cc:1252
-#: rc_option_editor.cc:1255 rc_option_editor.cc:1257 rc_option_editor.cc:1274
-#: rc_option_editor.cc:1285
+#: ardour_ui_ed.cc:218 rc_option_editor.cc:1352 rc_option_editor.cc:1363
+#: rc_option_editor.cc:1374 rc_option_editor.cc:1383 rc_option_editor.cc:1396
+#: rc_option_editor.cc:1409 rc_option_editor.cc:1418 rc_option_editor.cc:1428
+#: rc_option_editor.cc:1430 rc_option_editor.cc:1440 rc_option_editor.cc:1456
+#: rc_option_editor.cc:1469 rc_option_editor.cc:1487 rc_option_editor.cc:1489
+#: rc_option_editor.cc:1503 rc_option_editor.cc:1506 rc_option_editor.cc:1508
+#: rc_option_editor.cc:1525 rc_option_editor.cc:1536
msgid "Transport"
msgstr "Transporte"
-#: ardour_ui_ed.cc:222
+#: ardour_ui_ed.cc:224
msgid "Stop"
msgstr "Stop"
-#: ardour_ui_ed.cc:225
+#: ardour_ui_ed.cc:227
msgid "Roll"
msgstr "Roll"
-#: ardour_ui_ed.cc:229
+#: ardour_ui_ed.cc:231 ardour_ui_ed.cc:234
msgid "Start/Stop"
msgstr "Comenzar/Detener"
-#: ardour_ui_ed.cc:232
+#: ardour_ui_ed.cc:237
msgid "Start/Continue/Stop"
msgstr "Comenzar/Continuar/Detener"
-#: ardour_ui_ed.cc:235
+#: ardour_ui_ed.cc:240
msgid "Stop and Forget Capture"
msgstr "Detener y destruir captura"
# it's not literal, but it's what it does
# translating to "rollo" or "rodar" doesn't make much sense in spanish
# am I missing something?
-#: ardour_ui_ed.cc:245
+#: ardour_ui_ed.cc:250
msgid "Transition To Roll"
msgstr "Transición hacia delante"
-#: ardour_ui_ed.cc:249
+#: ardour_ui_ed.cc:254
msgid "Transition To Reverse"
msgstr "Transición hacia atrás"
-#: ardour_ui_ed.cc:253
+#: ardour_ui_ed.cc:258
msgid "Play Loop Range"
msgstr "Reproducir rango de bucle"
-#: ardour_ui_ed.cc:256
+#: ardour_ui_ed.cc:261
msgid "Play Selected Range"
msgstr "Reproducir rango seleccionado"
-#: ardour_ui_ed.cc:259
+#: ardour_ui_ed.cc:264
msgid "Play Selection w/Preroll"
msgstr "Reproducir selección con Preroll"
-#: ardour_ui_ed.cc:263
+#: ardour_ui_ed.cc:268
msgid "Enable Record"
msgstr "Activar grabación"
-#: ardour_ui_ed.cc:266
+#: ardour_ui_ed.cc:271 ardour_ui_ed.cc:275
msgid "Start Recording"
msgstr "Iniciar grabación"
-#: ardour_ui_ed.cc:270
+#: ardour_ui_ed.cc:279
msgid "Rewind"
msgstr "Rebobinar"
-#: ardour_ui_ed.cc:273
+#: ardour_ui_ed.cc:282
msgid "Rewind (Slow)"
msgstr "Rebobinar (Lento)"
-#: ardour_ui_ed.cc:276
+#: ardour_ui_ed.cc:285
msgid "Rewind (Fast)"
msgstr "Rebobinar (Rápido)"
-#: ardour_ui_ed.cc:279
+#: ardour_ui_ed.cc:288
msgid "Forward"
msgstr "Adelante"
-#: ardour_ui_ed.cc:282
+#: ardour_ui_ed.cc:291
msgid "Forward (Slow)"
msgstr "Adelante (Lento)"
-#: ardour_ui_ed.cc:285
+#: ardour_ui_ed.cc:294
msgid "Forward (Fast)"
msgstr "Adelante (Rápido)"
-#: ardour_ui_ed.cc:288
+#: ardour_ui_ed.cc:297
msgid "Goto Zero"
msgstr "Ir a cero"
-#: ardour_ui_ed.cc:291
+#: ardour_ui_ed.cc:300 ardour_ui_ed.cc:303
msgid "Goto Start"
msgstr "Ir a inicio"
-#: ardour_ui_ed.cc:294
+#: ardour_ui_ed.cc:306
msgid "Goto End"
msgstr "Ir a fin"
-#: ardour_ui_ed.cc:297
+#: ardour_ui_ed.cc:309
msgid "Goto Wall Clock"
msgstr "Ir a hora actual"
-#: ardour_ui_ed.cc:301
+#: ardour_ui_ed.cc:314
+msgid "Numpad Decimal"
+msgstr ""
+
+#: ardour_ui_ed.cc:317
+msgid "Numpad 0"
+msgstr ""
+
+#: ardour_ui_ed.cc:320
+msgid "Numpad 1"
+msgstr ""
+
+#: ardour_ui_ed.cc:323
+msgid "Numpad 2"
+msgstr ""
+
+#: ardour_ui_ed.cc:326
+msgid "Numpad 3"
+msgstr ""
+
+#: ardour_ui_ed.cc:329
+msgid "Numpad 4"
+msgstr ""
+
+#: ardour_ui_ed.cc:332
+msgid "Numpad 5"
+msgstr ""
+
+#: ardour_ui_ed.cc:335
+msgid "Numpad 6"
+msgstr ""
+
+#: ardour_ui_ed.cc:338
+msgid "Numpad 7"
+msgstr ""
+
+#: ardour_ui_ed.cc:341
+msgid "Numpad 8"
+msgstr ""
+
+#: ardour_ui_ed.cc:344
+msgid "Numpad 9"
+msgstr ""
+
+#: ardour_ui_ed.cc:348
msgid "Focus On Clock"
msgstr "Enfocar en reloj"
-#: ardour_ui_ed.cc:305 ardour_ui_ed.cc:314 audio_clock.cc:2046 editor.cc:237
-#: editor_actions.cc:544 editor_actions.cc:553 export_timespan_selector.cc:88
+#: ardour_ui_ed.cc:352 ardour_ui_ed.cc:361 audio_clock.cc:2072 editor.cc:254
+#: editor_actions.cc:579 editor_actions.cc:588 export_timespan_selector.cc:88
#: session_option_editor.cc:41 session_option_editor.cc:61
#: session_option_editor.cc:80 session_option_editor.cc:96
#: session_option_editor.cc:109 session_option_editor.cc:122
@@ -1866,126 +1946,126 @@ msgstr "Enfocar en reloj"
msgid "Timecode"
msgstr "Timecode"
-#: ardour_ui_ed.cc:307 ardour_ui_ed.cc:316 editor_actions.cc:542
+#: ardour_ui_ed.cc:354 ardour_ui_ed.cc:363 editor_actions.cc:577
msgid "Bars & Beats"
msgstr "Compases y pulsos"
-#: ardour_ui_ed.cc:309 ardour_ui_ed.cc:318
+#: ardour_ui_ed.cc:356 ardour_ui_ed.cc:365
msgid "Minutes & Seconds"
msgstr "Minutos y segundos"
-#: ardour_ui_ed.cc:311 ardour_ui_ed.cc:320 audio_clock.cc:2050 editor.cc:238
-#: editor_actions.cc:543
+#: ardour_ui_ed.cc:358 ardour_ui_ed.cc:367 audio_clock.cc:2076 editor.cc:255
+#: editor_actions.cc:578
msgid "Samples"
msgstr "Muestras"
-#: ardour_ui_ed.cc:323
+#: ardour_ui_ed.cc:370
msgid "Punch In"
msgstr "Pinchar"
-#: ardour_ui_ed.cc:324 mixer_strip.cc:1905 route_ui.cc:137
-#: time_info_box.cc:113
+#: ardour_ui_ed.cc:371 mixer_strip.cc:1774 mixer_strip.cc:1798
+#: mixer_strip.cc:1962 route_ui.cc:158 time_info_box.cc:116
msgid "In"
msgstr "Entrada"
-#: ardour_ui_ed.cc:327
+#: ardour_ui_ed.cc:374
msgid "Punch Out"
msgstr "Despinchar"
-#: ardour_ui_ed.cc:328 time_info_box.cc:114
+#: ardour_ui_ed.cc:375 mixer_strip.cc:1786 time_info_box.cc:117
msgid "Out"
msgstr "Salida"
-#: ardour_ui_ed.cc:331
+#: ardour_ui_ed.cc:378
msgid "Punch In/Out"
msgstr "Pinchazo"
-#: ardour_ui_ed.cc:332
+#: ardour_ui_ed.cc:379
msgid "In/Out"
msgstr "In/Out"
-#: ardour_ui_ed.cc:335 rc_option_editor.cc:1069
+#: ardour_ui_ed.cc:382 rc_option_editor.cc:1309
msgid "Click"
msgstr "Claqueta"
-#: ardour_ui_ed.cc:338
+#: ardour_ui_ed.cc:385
msgid "Auto Input"
msgstr "Auto Entrada"
# Reproducir Auto is too big
-#: ardour_ui_ed.cc:341
+#: ardour_ui_ed.cc:388
msgid "Auto Play"
msgstr "Auto Play"
-#: ardour_ui_ed.cc:352
+#: ardour_ui_ed.cc:399
msgid "Sync Startup to Video"
msgstr "Sincronizar inicio a video"
-#: ardour_ui_ed.cc:354
+#: ardour_ui_ed.cc:401
msgid "Time Master"
msgstr "Maestro"
-#: ardour_ui_ed.cc:361
+#: ardour_ui_ed.cc:408
msgid "Toggle Record Enable Track %1"
msgstr "Activar/Desactivar grabación en pista %1"
-#: ardour_ui_ed.cc:368
+#: ardour_ui_ed.cc:415
msgid "Percentage"
msgstr "Porcentaje"
-#: ardour_ui_ed.cc:369 shuttle_control.cc:169
+#: ardour_ui_ed.cc:416 shuttle_control.cc:169
msgid "Semitones"
msgstr "Semitonos"
-#: ardour_ui_ed.cc:373
+#: ardour_ui_ed.cc:420
msgid "Send MTC"
msgstr "Enviar MTC"
-#: ardour_ui_ed.cc:375
+#: ardour_ui_ed.cc:422
msgid "Send MMC"
msgstr "Enviar MMC"
-#: ardour_ui_ed.cc:377
+#: ardour_ui_ed.cc:424
msgid "Use MMC"
msgstr "Usar MMC"
-#: ardour_ui_ed.cc:379 rc_option_editor.cc:1698
+#: ardour_ui_ed.cc:426 rc_option_editor.cc:1978
msgid "Send MIDI Clock"
msgstr "Enviar MIDI Clock"
-#: ardour_ui_ed.cc:381
+#: ardour_ui_ed.cc:428
msgid "Send MIDI Feedback"
msgstr "Enviar MIDI feedback"
-#: ardour_ui_ed.cc:387
+#: ardour_ui_ed.cc:434
msgid "Panic"
msgstr "Pánico"
-#: ardour_ui_ed.cc:472
+#: ardour_ui_ed.cc:519
msgid "Wall Clock"
msgstr "Hora actual"
-#: ardour_ui_ed.cc:473
+#: ardour_ui_ed.cc:520
msgid "Disk Space"
msgstr "Espacio en disco"
-#: ardour_ui_ed.cc:474
+#: ardour_ui_ed.cc:521
msgid "DSP"
msgstr "DSP"
-#: ardour_ui_ed.cc:475
+#: ardour_ui_ed.cc:522
msgid "Buffers"
msgstr "Buffers"
-#: ardour_ui_ed.cc:477
+#: ardour_ui_ed.cc:524
msgid "Timecode Format"
msgstr "Formato de timecode"
-#: ardour_ui_ed.cc:478
+#: ardour_ui_ed.cc:525
msgid "File Format"
msgstr "Formato archivo"
-#: ardour_ui_options.cc:61
+#: ardour_ui_options.cc:63
msgid ""
"It is not possible to use JACK as the the sync source\n"
"when the pull up/down setting is non-zero."
@@ -1997,333 +2077,251 @@ msgstr ""
msgid "Internal"
msgstr "Interno"
-#: ardour_ui_options.cc:468
+#: ardour_ui_options.cc:496
msgid "Enable/Disable external positional sync"
msgstr "Activar/Desactivar sincronización de posición externa"
-#: ardour_ui_options.cc:470
+#: ardour_ui_options.cc:498
msgid "Sync to JACK is not possible: video pull up/down is set"
msgstr "No es posible sincronizar a JACK: video pull up/down está establecido"
-#: audio_clock.cc:1012 audio_clock.cc:1031
+#: audio_clock.cc:1028 audio_clock.cc:1047
msgid "--pending--"
msgstr "--pendiente--"
-#: audio_clock.cc:1083
+#: audio_clock.cc:1099
msgid "SR"
msgstr "SR"
-#: audio_clock.cc:1089 audio_clock.cc:1093
+#: audio_clock.cc:1105 audio_clock.cc:1109
msgid "Pull"
msgstr "Pull"
-#: audio_clock.cc:1091
+#: audio_clock.cc:1107
#, c-format
msgid "%+.4f%%"
msgstr "%+.4f%%"
-#: audio_clock.cc:1237 editor.cc:239 editor_actions.cc:135
-#: editor_actions.cc:536
+#: audio_clock.cc:1263 editor.cc:256 editor_actions.cc:139
+#: editor_actions.cc:571
msgid "Tempo"
msgstr "Tempo"
-#: audio_clock.cc:1241 editor.cc:240 editor_actions.cc:537
+#: audio_clock.cc:1267 editor.cc:257 editor_actions.cc:572
msgid "Meter"
msgstr "Métrica"
-#: audio_clock.cc:1819 audio_streamview.cc:116 editor_actions.cc:1039
-#: midi_region_view.cc:2991 session_metadata_dialog.cc:331
+#: audio_clock.cc:1845 audio_streamview.cc:115 editor_actions.cc:1085
+#: midi_region_view.cc:2989 session_metadata_dialog.cc:331
#: session_metadata_dialog.cc:379 session_metadata_dialog.cc:435
-#: session_metadata_dialog.cc:716
+#: session_metadata_dialog.cc:716 streamview.cc:433
msgid "programming error: %1"
msgstr "programming error: %1"
-#: audio_clock.cc:1952 audio_clock.cc:1980
+#: audio_clock.cc:1978 audio_clock.cc:2006
msgid "programming error: %1 %2"
msgstr "programming error: %1: %2"
-#: audio_clock.cc:2048 editor.cc:236 export_timespan_selector.cc:98
+#: audio_clock.cc:2074 editor.cc:253 export_timespan_selector.cc:98
msgid "Bars:Beats"
msgstr "Compases:Pulsos"
-#: audio_clock.cc:2049 export_timespan_selector.cc:93
+#: audio_clock.cc:2075 export_timespan_selector.cc:93
msgid "Minutes:Seconds"
msgstr "Minutos:Segundos"
-#: audio_clock.cc:2054
+#: audio_clock.cc:2080
msgid "Set From Playhead"
msgstr "Establecer según cursor"
-#: audio_clock.cc:2055
+#: audio_clock.cc:2081
msgid "Locate to This Time"
msgstr "Posicionar aquí"
-#: audio_region_editor.cc:63 control_point_dialog.cc:49 rhythm_ferret.cc:125
-#: rhythm_ferret.cc:130 rhythm_ferret.cc:135
+#: audio_region_editor.cc:64 control_point_dialog.cc:49 rhythm_ferret.cc:124
+#: rhythm_ferret.cc:129 rhythm_ferret.cc:134
msgid "dB"
msgstr "dB"
-#: audio_region_editor.cc:66
+#: audio_region_editor.cc:67
msgid "Region gain:"
msgstr "Ganancia de región:"
-#: audio_region_editor.cc:76 export_format_dialog.cc:43
+#: audio_region_editor.cc:77 export_format_dialog.cc:43
msgid "dBFS"
msgstr "dBFS"
-#: audio_region_editor.cc:79
+#: audio_region_editor.cc:80
msgid "Peak amplitude:"
msgstr "Amplitud de pico:"
-#: audio_region_editor.cc:90
+#: audio_region_editor.cc:91
msgid "Calculating..."
msgstr "Calculando..."
-#: audio_region_view.cc:1001
+#: audio_region_view.cc:1243
msgid "add gain control point"
msgstr "añadir punto de control ganancia"
# Problema: Atenuador no entra. Esto tiene que entrar en la automatización de la pista, en el Editor. Fader se entiende muy bien y entra mejor.
-#: audio_time_axis.cc:389
+#: audio_time_axis.cc:430 midi_time_axis.cc:619
msgid "Fader"
msgstr "Fader"
+#: audio_time_axis.cc:437 editor_actions.cc:1800 mixer_strip.cc:1961
+#: monitor_section.cc:273 route_time_axis.cc:253
+msgid "Mute"
+msgstr "Mudo"
+
# Aquí estaba panorámica, pero pan se entiende perfectamente y es mucho más corto
-#: audio_time_axis.cc:396
+#: audio_time_axis.cc:445 midi_time_axis.cc:627
msgid "Pan"
msgstr "Pan"
-#: automation_line.cc:252 automation_line.cc:435
+#: automation_line.cc:272 automation_line.cc:453
msgid "automation event move"
msgstr "mover evento de automatización"
-#: automation_line.cc:462 automation_line.cc:483
+#: automation_line.cc:479 automation_line.cc:499
msgid "automation range move"
msgstr "mover rango de automatización"
-#: automation_line.cc:823 region_gain_line.cc:73
+#: automation_line.cc:854 region_gain_line.cc:72
msgid "remove control point"
msgstr "eliminar punto de control"
-#: automation_line.cc:941
+#: automation_line.cc:971
msgid "Ignoring illegal points on AutomationLine \"%1\""
msgstr "Ignorando puntos inválidos de AutomationLine \"%1\""
-#: automation_region_view.cc:160 automation_time_axis.cc:583
+#: automation_region_view.cc:162 automation_time_axis.cc:627
msgid "add automation event"
msgstr "añadir evento de automatización"
-#: automation_time_axis.cc:146
+#: automation_time_axis.cc:141
msgid "automation state"
msgstr "estado de automatización"
-#: automation_time_axis.cc:147
+#: automation_time_axis.cc:142
msgid "hide track"
msgstr "ocultar pista"
-#: automation_time_axis.cc:255 automation_time_axis.cc:307
-#: automation_time_axis.cc:496 gain_meter.cc:194 generic_pluginui.cc:454
-#: generic_pluginui.cc:775 panner_ui.cc:149
+#: automation_time_axis.cc:297 automation_time_axis.cc:349
+#: automation_time_axis.cc:540 gain_meter.cc:186 generic_pluginui.cc:452
+#: generic_pluginui.cc:770 panner_ui.cc:150
msgid "Automation|Manual"
msgstr "Manual"
-#: automation_time_axis.cc:257 automation_time_axis.cc:318
-#: automation_time_axis.cc:501 editor.cc:1937 editor.cc:2014
-#: editor_actions.cc:118 editor_actions.cc:1865 gain_meter.cc:197
-#: generic_pluginui.cc:457 generic_pluginui.cc:777 midi_time_axis.cc:1488
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1494 panner_ui.cc:152
+#: automation_time_axis.cc:299 automation_time_axis.cc:360
+#: automation_time_axis.cc:545 editor.cc:1856 editor.cc:1933
+#: editor_actions.cc:122 editor_actions.cc:1916 gain_meter.cc:189
+#: generic_pluginui.cc:455 generic_pluginui.cc:772 midi_time_axis.cc:1687
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1693 panner_ui.cc:153
msgid "Play"
msgstr "Reproducir"
-#: automation_time_axis.cc:259 automation_time_axis.cc:329
-#: automation_time_axis.cc:506 gain_meter.cc:200 generic_pluginui.cc:460
-#: generic_pluginui.cc:779 panner_ui.cc:155
+#: automation_time_axis.cc:301 automation_time_axis.cc:371
+#: automation_time_axis.cc:550 gain_meter.cc:192 generic_pluginui.cc:458
+#: generic_pluginui.cc:774 panner_ui.cc:156
msgid "Write"
msgstr "Escribir"
-#: automation_time_axis.cc:261 automation_time_axis.cc:340
-#: automation_time_axis.cc:511 gain_meter.cc:203 generic_pluginui.cc:463
-#: generic_pluginui.cc:781 panner_ui.cc:158
+#: automation_time_axis.cc:303 automation_time_axis.cc:382
+#: automation_time_axis.cc:555 gain_meter.cc:195 generic_pluginui.cc:461
+#: generic_pluginui.cc:776 panner_ui.cc:159
msgid "Touch"
msgstr "Tocar"
-#: automation_time_axis.cc:351 generic_pluginui.cc:466 meter_patterns.cc:108
+#: automation_time_axis.cc:393 generic_pluginui.cc:464 meter_patterns.cc:112
msgid "???"
msgstr "???"
-#: automation_time_axis.cc:392
+#: automation_time_axis.cc:434
msgid "clear automation"
msgstr "limpiar automatización"
-#: automation_time_axis.cc:485 editor_actions.cc:613 editor_markers.cc:857
-#: location_ui.cc:55 plugin_selector.cc:85 route_time_axis.cc:708
+#: automation_time_axis.cc:529 editor_actions.cc:655 editor_markers.cc:871
+#: location_ui.cc:56 plugin_selector.cc:86 route_time_axis.cc:827
msgid "Hide"
msgstr "Ocultar"
-#: automation_time_axis.cc:487
+#: automation_time_axis.cc:531
msgid "Clear"
msgstr "Limpiar"
-#: automation_time_axis.cc:516
+#: automation_time_axis.cc:560
msgid "State"
msgstr "Estado"
-#: automation_time_axis.cc:531
+#: automation_time_axis.cc:575
msgid "Discrete"
msgstr "Discreto"
-#: automation_time_axis.cc:537 editor.cc:1458 editor.cc:1465 editor.cc:1521
-#: editor.cc:1527 export_format_dialog.cc:476
+#: automation_time_axis.cc:581 export_format_dialog.cc:485
msgid "Linear"
msgstr "Lineal"
-#: automation_time_axis.cc:543 rhythm_ferret.cc:110 route_time_axis.cc:647
+#: automation_time_axis.cc:587 rhythm_ferret.cc:109 route_time_axis.cc:765
#: shuttle_control.cc:188
msgid "Mode"
msgstr "Modo"
-#: bundle_manager.cc:181
+#: bundle_manager.cc:182
msgid "Disassociate"
msgstr "Desasociar"
-#: bundle_manager.cc:185
+#: bundle_manager.cc:186
msgid "Edit Bundle"
msgstr "Editar conjunto"
-#: bundle_manager.cc:200
+#: bundle_manager.cc:201
msgid "Direction:"
msgstr "Dirección:"
-#: bundle_manager.cc:205 bundle_manager.cc:209 mixer_strip.cc:158
-#: mixer_strip.cc:2127
+#: bundle_manager.cc:206 bundle_manager.cc:210 engine_dialog.cc:641
+#: mixer_strip.cc:164 mixer_strip.cc:371 mixer_strip.cc:2195
+#: rc_option_editor.cc:2198
msgid "Input"
msgstr "Entrada"
-#: bundle_manager.cc:206 bundle_manager.cc:211 bundle_manager.cc:245
-#: mixer_strip.cc:163 mixer_strip.cc:2130
+#: bundle_manager.cc:207 bundle_manager.cc:212 bundle_manager.cc:246
+#: engine_dialog.cc:643 mixer_strip.cc:168 mixer_strip.cc:375
+#: mixer_strip.cc:2198 rc_option_editor.cc:2202
msgid "Output"
msgstr "Salida"
-#: bundle_manager.cc:264 editor.cc:1978 editor_actions.cc:90
-#: editor_actions.cc:100
+#: bundle_manager.cc:265 editor.cc:1897 editor_actions.cc:94
+#: editor_actions.cc:104 rc_option_editor.cc:1067 rc_option_editor.cc:1074
msgid "Edit"
msgstr "Editar"
-#: bundle_manager.cc:265 editor.cc:5497 editor_actions.cc:310
-#: editor_actions.cc:368 plugin_ui.cc:416 processor_box.cc:2268
-#: route_time_axis.cc:713
+#: bundle_manager.cc:266 editor.cc:5593 editor_actions.cc:335
+#: editor_actions.cc:336 editor_actions.cc:402 plugin_ui.cc:417
+#: processor_box.cc:2502 route_time_axis.cc:832
msgid "Delete"
msgstr "Eliminar"
-#: bundle_manager.cc:271 bundle_manager.cc:439 editor_route_groups.cc:96
-#: editor_routes.cc:202 midi_list_editor.cc:106 session_metadata_dialog.cc:525
+#: bundle_manager.cc:272 bundle_manager.cc:440 editor_route_groups.cc:97
+#: editor_routes.cc:204 midi_list_editor.cc:106 session_metadata_dialog.cc:525
msgid "Name"
msgstr "Nombre"
-#: bundle_manager.cc:282
+#: bundle_manager.cc:283
msgid "New"
msgstr "Nueva"
-#: bundle_manager.cc:332
+#: bundle_manager.cc:333
msgid "Bundle"
msgstr "Conjunto"
-#: bundle_manager.cc:417
+#: bundle_manager.cc:418
msgid "Add Channel"
msgstr "Añadir canal"
-#: bundle_manager.cc:424
+#: bundle_manager.cc:425
msgid "Rename Channel"
msgstr "Renombrar canal"
-#: canvas-simpleline.c:111 canvas-simplerect.c:106
-msgid "x1"
-msgstr "x1"
-
-#: canvas-simpleline.c:112 canvas-simplerect.c:107
-msgid "x coordinate of upper left corner of rect"
-msgstr "coordenada x de la esquina superior izquierda del rectángulo"
-
-#: canvas-simpleline.c:121 canvas-simplerect.c:116
-msgid "y1"
-msgstr "y1"
-
-#: canvas-simpleline.c:122 canvas-simplerect.c:117
-msgid "y coordinate of upper left corner of rect "
-msgstr "coordenada y de la esquina superior izquierda del rectángulo"
-
-#: canvas-simpleline.c:132 canvas-simplerect.c:127
-msgid "x2"
-msgstr "x2"
-
-#: canvas-simpleline.c:133 canvas-simplerect.c:128
-msgid "x coordinate of lower right corner of rect"
-msgstr "coordenada x de la esquina inferior derecha del rectángulo"
-
-#: canvas-simpleline.c:142 canvas-simplerect.c:137
-msgid "y2"
-msgstr "y2"
-
-#: canvas-simpleline.c:143 canvas-simplerect.c:138
-msgid "y coordinate of lower right corner of rect "
-msgstr "coordenada y de la esquina inferior derecha del rectángulo"
-
-#: canvas-simpleline.c:151
-msgid "color rgba"
-msgstr "color rgba"
-
-#: canvas-simpleline.c:152
-msgid "color of line"
-msgstr "color de línea"
-
-#: canvas-simplerect.c:148
-msgid "outline pixels"
-msgstr "píxeles de contorno"
-
-#: canvas-simplerect.c:149
-msgid "width in pixels of outline"
-msgstr "ancho en píxeles del contorno"
-
-#: canvas-simplerect.c:159
-msgid "outline what"
-msgstr "qué contornear"
-
-#: canvas-simplerect.c:160
-msgid "which boundaries to outline (mask)"
-msgstr "qué bordes contornear (máscara)"
-
-#: canvas-simplerect.c:171
-msgid "fill"
-msgstr "rellenar"
-
-#: canvas-simplerect.c:172
-msgid "fill rectangle"
-msgstr "rellenar rectágulo"
-
-#: canvas-simplerect.c:179
-msgid "draw"
-msgstr "dibujar"
-
-#: canvas-simplerect.c:180
-msgid "draw rectangle"
-msgstr "dibujar rectángulo"
-
-#: canvas-simplerect.c:188
-msgid "outline color rgba"
-msgstr "color de contorno rgba"
-
-#: canvas-simplerect.c:189
-msgid "color of outline"
-msgstr "color del contorno"
-
-#: canvas-simplerect.c:199
-msgid "fill color rgba"
-msgstr "color de relleno rgba"
-
-#: canvas-simplerect.c:200
-msgid "color of fill"
-msgstr "color de relleno"
-
#: configinfo.cc:28
msgid "Build Configuration"
msgstr "Construir configuración"
@@ -2361,7 +2359,7 @@ msgid "Set selected notes to this length"
msgstr "Cambiar duración a notas seleccionadas"
#: edit_note_dialog.cc:58 midi_list_editor.cc:104 patch_change_dialog.cc:91
-#: step_entry.cc:393
+#: step_entry.cc:394
msgid "Channel"
msgstr "Canal"
@@ -2369,7 +2367,7 @@ msgstr "Canal"
msgid "Pitch"
msgstr "Tono"
-#: edit_note_dialog.cc:78 step_entry.cc:407
+#: edit_note_dialog.cc:78 step_entry.cc:408
msgid "Velocity"
msgstr "Intensidad"
@@ -2377,9 +2375,9 @@ msgstr "Intensidad"
msgid "Time"
msgstr "Tiempo"
-#: edit_note_dialog.cc:98 editor_regions.cc:114
-#: export_timespan_selector.cc:359 export_timespan_selector.cc:421
-#: location_ui.cc:317 midi_list_editor.cc:114 time_info_box.cc:105
+#: edit_note_dialog.cc:98 editor_regions.cc:115
+#: export_timespan_selector.cc:378 export_timespan_selector.cc:440
+#: location_ui.cc:319 midi_list_editor.cc:114 time_info_box.cc:108
msgid "Length"
msgstr "Duración"
@@ -2387,562 +2385,581 @@ msgstr "Duración"
msgid "edit note"
msgstr "editar nota"
-#: editor.cc:137 editor.cc:3433
+#: editor.cc:144
msgid "CD Frames"
msgstr "Cuadros CD"
-#: editor.cc:138 editor.cc:3435
-msgid "Timecode Frames"
-msgstr "Timecode muestras"
+#: editor.cc:145
+msgid "TC Frames"
+msgstr ""
-#: editor.cc:139 editor.cc:3437
-msgid "Timecode Seconds"
-msgstr "Timecode segundos"
+#: editor.cc:146
+msgid "TC Seconds"
+msgstr ""
-#: editor.cc:140 editor.cc:3439
-msgid "Timecode Minutes"
-msgstr "Timecode minutos"
+#: editor.cc:147
+msgid "TC Minutes"
+msgstr ""
-#: editor.cc:141 editor.cc:3441
+#: editor.cc:148
msgid "Seconds"
msgstr "Segundos"
-#: editor.cc:142 editor.cc:3443
+#: editor.cc:149
msgid "Minutes"
msgstr "Minutos"
-#: editor.cc:143 editor.cc:3417 quantize_dialog.cc:37 quantize_dialog.cc:141
+#: editor.cc:150 quantize_dialog.cc:37 quantize_dialog.cc:141
msgid "Beats/128"
msgstr "Pulsos/128"
-#: editor.cc:144 editor.cc:3415 quantize_dialog.cc:38 quantize_dialog.cc:143
+#: editor.cc:151 quantize_dialog.cc:38 quantize_dialog.cc:143
msgid "Beats/64"
msgstr "Pulsos/64"
-#: editor.cc:145 editor.cc:3413 quantize_dialog.cc:39 quantize_dialog.cc:145
+#: editor.cc:152 quantize_dialog.cc:39 quantize_dialog.cc:145
msgid "Beats/32"
msgstr "Pulsos/32"
-#: editor.cc:146 editor.cc:3411
+#: editor.cc:153
msgid "Beats/28"
msgstr "Pulsos/28"
-#: editor.cc:147 editor.cc:3409
+#: editor.cc:154
msgid "Beats/24"
msgstr "Pulsos/24"
-#: editor.cc:148 editor.cc:3407
+#: editor.cc:155
msgid "Beats/20"
msgstr "Pulsos/20"
-#: editor.cc:149 editor.cc:3405 quantize_dialog.cc:40 quantize_dialog.cc:147
+#: editor.cc:156 quantize_dialog.cc:40 quantize_dialog.cc:147
msgid "Beats/16"
msgstr "Pulsos/16"
-#: editor.cc:150 editor.cc:3403
+#: editor.cc:157
msgid "Beats/14"
msgstr "Pulsos/14"
-#: editor.cc:151 editor.cc:3401
+#: editor.cc:158
msgid "Beats/12"
msgstr "Pulsos/12"
-#: editor.cc:152 editor.cc:3399
+#: editor.cc:159
msgid "Beats/10"
msgstr "Pulsos/10"
-#: editor.cc:153 editor.cc:3397 quantize_dialog.cc:41 quantize_dialog.cc:149
+#: editor.cc:160 quantize_dialog.cc:41 quantize_dialog.cc:149
msgid "Beats/8"
msgstr "Pulsos/8"
-#: editor.cc:154 editor.cc:3395
+#: editor.cc:161
msgid "Beats/7"
msgstr "Pulsos/7"
-#: editor.cc:155 editor.cc:3393
+#: editor.cc:162
msgid "Beats/6"
msgstr "Pulsos/6"
-#: editor.cc:156 editor.cc:3391
+#: editor.cc:163
msgid "Beats/5"
msgstr "Pulsos/5"
-#: editor.cc:157 editor.cc:3389 quantize_dialog.cc:42 quantize_dialog.cc:151
+#: editor.cc:164 quantize_dialog.cc:42 quantize_dialog.cc:151
msgid "Beats/4"
msgstr "Pulsos/4"
-#: editor.cc:158 editor.cc:3387 quantize_dialog.cc:43 quantize_dialog.cc:153
+#: editor.cc:165 quantize_dialog.cc:43 quantize_dialog.cc:153
msgid "Beats/3"
msgstr "Pulsos/3"
-#: editor.cc:159 editor.cc:3385 quantize_dialog.cc:44 quantize_dialog.cc:155
+#: editor.cc:166 quantize_dialog.cc:44 quantize_dialog.cc:155
msgid "Beats/2"
msgstr "Pulsos/2"
-#: editor.cc:160 editor.cc:3419 quantize_dialog.cc:45 quantize_dialog.cc:157
+#: editor.cc:167 quantize_dialog.cc:45 quantize_dialog.cc:157
msgid "Beats"
msgstr "Pulsos"
-#: editor.cc:161 editor.cc:3421
+#: editor.cc:168
msgid "Bars"
msgstr "Compases"
-#: editor.cc:162 editor.cc:3423
+#: editor.cc:169
msgid "Marks"
msgstr "Marcas"
-#: editor.cc:163 editor.cc:3425
+#: editor.cc:170
msgid "Region starts"
msgstr "Inicios región"
-#: editor.cc:164 editor.cc:3427
+#: editor.cc:171
msgid "Region ends"
msgstr "Finales región"
-#: editor.cc:165 editor.cc:3431
+#: editor.cc:172
msgid "Region syncs"
msgstr "Sincronías región"
-#: editor.cc:166 editor.cc:3429
+#: editor.cc:173
msgid "Region bounds"
msgstr "Bordes región"
-#: editor.cc:171 editor.cc:3459 editor_actions.cc:485
+#: editor.cc:178 editor_actions.cc:520
msgid "No Grid"
msgstr "No rejilla"
-#: editor.cc:172 editor.cc:3461 editor_actions.cc:486
+#: editor.cc:179 editor_actions.cc:521
msgid "Grid"
msgstr "Rejilla"
-#: editor.cc:173 editor.cc:3463 editor_actions.cc:487
+#: editor.cc:180 editor_actions.cc:522
msgid "Magnetic"
msgstr "Imán"
-#: editor.cc:178 editor.cc:188 editor.cc:3502 editor.cc:3527
-#: editor_actions.cc:117 editor_actions.cc:468
+#: editor.cc:185 editor.cc:203 editor_actions.cc:121 editor_actions.cc:503
msgid "Playhead"
msgstr "Cursor"
-#: editor.cc:179 editor.cc:3500 editor_actions.cc:470
+#: editor.cc:186 editor_actions.cc:505
msgid "Marker"
msgstr "Marca"
-#: editor.cc:180 editor.cc:189 editor.cc:3529 editor_actions.cc:469
+#: editor.cc:187 editor.cc:204 editor_actions.cc:504
msgid "Mouse"
msgstr "Ratón"
-#: editor.cc:185 editor.cc:3521 mono_panner_editor.cc:42
+#: editor.cc:192 editor_actions.cc:512
+msgid "Slide"
+msgstr "Deslizar"
+
+# seguro?
+#: editor.cc:193
+msgid "Splice"
+msgstr "Reunir"
+
+#: editor.cc:194 editor_actions.cc:511
+msgid "Ripple"
+msgstr ""
+
+#: editor.cc:195 editor_actions.cc:157 editor_actions.cc:513
+#: editor_actions.cc:1785 editor_markers.cc:874 editor_rulers.cc:260
+#: location_ui.cc:57 mixer_strip.cc:202 mixer_strip.cc:1983
+msgid "Lock"
+msgstr "Bloquear"
+
+#: editor.cc:200 mono_panner_editor.cc:42
msgid "Left"
msgstr "Izquierda"
-#: editor.cc:186 editor.cc:3523 mono_panner_editor.cc:47
+#: editor.cc:201 mono_panner_editor.cc:47
msgid "Right"
msgstr "Derecha"
-#: editor.cc:187 editor.cc:3525
+#: editor.cc:202
msgid "Center"
msgstr "Centro"
-#: editor.cc:190 editor.cc:3094 editor.cc:3531
+#: editor.cc:205 editor.cc:3145
msgid "Edit point"
msgstr "Punto de edición"
-#: editor.cc:196
+#: editor.cc:211
msgid "Mushy"
msgstr "Mushy"
-#: editor.cc:197
+#: editor.cc:212
msgid "Smooth"
msgstr "Suave"
-#: editor.cc:198
+#: editor.cc:213
msgid "Balanced multitimbral mixture"
msgstr "Mezcla multitímbrica balanceada"
-#: editor.cc:199
+#: editor.cc:214
msgid "Unpitched percussion with stable notes"
msgstr "Percusión no tonal con notas estables"
# "brillante" es un término común al menos en mi zona, quizás haya otras sugerencias
-#: editor.cc:200
+#: editor.cc:215
msgid "Crisp monophonic instrumental"
msgstr "Instrumental monofónico brillante"
-#: editor.cc:201
+#: editor.cc:216
msgid "Unpitched solo percussion"
msgstr "Percusión no tonal"
-#: editor.cc:202
+#: editor.cc:217
msgid "Resample without preserving pitch"
msgstr "Resamplear sin mantener el tono"
-#: editor.cc:235
+#: editor.cc:252
msgid "Mins:Secs"
msgstr "Mins:Segs"
-#: editor.cc:241
+#: editor.cc:258
msgid "Location Markers"
msgstr "Marcas de posición"
-#: editor.cc:242
+#: editor.cc:259
msgid "Range Markers"
msgstr "Marcas de rango"
-#: editor.cc:243
+#: editor.cc:260
msgid "Loop/Punch Ranges"
msgstr "Rangos de bucle/pinchazo"
-#: editor.cc:244 editor_actions.cc:540
+#: editor.cc:261 editor_actions.cc:575
msgid "CD Markers"
msgstr "Marcas de CD"
-#: editor.cc:245
+#: editor.cc:262
msgid "Video Timeline"
msgstr ""
-#: editor.cc:260
+#: editor.cc:279
msgid "mode"
msgstr "modo"
-#: editor.cc:541
+#: editor.cc:447 editor_actions.cc:114 editor_actions.cc:574
+msgid "Markers"
+msgstr "Marcas"
+
+#: editor.cc:554 rc_option_editor.cc:1830
msgid "Regions"
msgstr "Regiones"
-#: editor.cc:542
+#: editor.cc:555
msgid "Tracks & Busses"
msgstr "Pistas y buses"
-#: editor.cc:543
+#: editor.cc:556
msgid "Snapshots"
msgstr "Capturas de sesión"
-#: editor.cc:544
+#: editor.cc:557
msgid "Track & Bus Groups"
msgstr "Grupos de pistas y buses"
-#: editor.cc:545
+#: editor.cc:558
msgid "Ranges & Marks"
msgstr "Rangos y marcas"
-#: editor.cc:690 editor.cc:5349 rc_option_editor.cc:1292
-#: rc_option_editor.cc:1300 rc_option_editor.cc:1308 rc_option_editor.cc:1316
-#: rc_option_editor.cc:1333 rc_option_editor.cc:1335 rc_option_editor.cc:1343
-#: rc_option_editor.cc:1351 rc_option_editor.cc:1371 rc_option_editor.cc:1383
-#: rc_option_editor.cc:1385 rc_option_editor.cc:1393 rc_option_editor.cc:1401
-#: rc_option_editor.cc:1409 rc_option_editor.cc:1417 rc_option_editor.cc:1432
-#: rc_option_editor.cc:1436
+#: editor.cc:706 editor.cc:5445 rc_option_editor.cc:1543
+#: rc_option_editor.cc:1551 rc_option_editor.cc:1559 rc_option_editor.cc:1567
+#: rc_option_editor.cc:1591 rc_option_editor.cc:1603 rc_option_editor.cc:1605
+#: rc_option_editor.cc:1613 rc_option_editor.cc:1621 rc_option_editor.cc:1641
+#: rc_option_editor.cc:1653 rc_option_editor.cc:1655 rc_option_editor.cc:1657
+#: rc_option_editor.cc:1665 rc_option_editor.cc:1673 rc_option_editor.cc:1681
+#: rc_option_editor.cc:1696 rc_option_editor.cc:1700
msgid "Editor"
msgstr "Editor"
-#: editor.cc:1215 editor.cc:1225 editor.cc:4444 editor_actions.cc:130
-#: editor_actions.cc:1813
+#: editor.cc:1288 editor.cc:4503 editor_actions.cc:134 editor_actions.cc:1861
msgid "Loop"
msgstr "Bucle"
-#: editor.cc:1231 editor.cc:1241 editor.cc:4471 editor_actions.cc:131
-#: time_info_box.cc:67
+#: editor.cc:1294 editor.cc:4530 editor_actions.cc:135 time_info_box.cc:68
msgid "Punch"
msgstr "Pinchazo"
-#: editor.cc:1353
+#: editor.cc:1406 rc_option_editor.cc:1585
msgid "Linear (for highly correlated material)"
msgstr "Linear (for highly correlated material)"
-#: editor.cc:1363 editor.cc:1500 editor.cc:1562
+#: editor.cc:1416 rc_option_editor.cc:1586
msgid "Constant power"
msgstr "Constant power"
-#: editor.cc:1372 editor.cc:1493 editor.cc:1555
+#: editor.cc:1425 rc_option_editor.cc:1587
msgid "Symmetric"
msgstr "Symmetric"
-#: editor.cc:1382 editor.cc:1475 editor.cc:1537
+#: editor.cc:1435 rc_option_editor.cc:1588
msgid "Slow"
msgstr "Lenta"
-#: editor.cc:1391 editor.cc:1484 editor.cc:1546 sfdb_ui.cc:1627
-#: sfdb_ui.cc:1736
+#: editor.cc:1444 rc_option_editor.cc:1589 sfdb_ui.cc:1752 sfdb_ui.cc:1862
msgid "Fast"
msgstr "Rápida"
-#: editor.cc:1438
-msgid "programming error: fade in canvas item has no regionview data pointer!"
-msgstr "programming error: fade in canvas item has no regionview data pointer!"
-
-#: editor.cc:1449 editor.cc:1513
+#: editor.cc:1464 editor.cc:1487
msgid "Deactivate"
msgstr "Desactivar"
-#: editor.cc:1451 editor.cc:1515
+#: editor.cc:1466 editor.cc:1489
msgid "Activate"
msgstr "Activar"
-#: editor.cc:1459 editor.cc:1522
-msgid "Slowest"
-msgstr "Lentísima"
-
-#: editor.cc:1573 route_time_axis.cc:1877 selection.cc:1009 selection.cc:1064
-msgid "programming error: "
-msgstr "programming error: "
-
-#: editor.cc:1674 editor.cc:1682 editor_ops.cc:3522
+#: editor.cc:1590 editor.cc:1598 editor_ops.cc:3635
msgid "Freeze"
msgstr "Congelar"
-#: editor.cc:1678
+#: editor.cc:1594
msgid "Unfreeze"
msgstr "Descongelar"
-#: editor.cc:1817
+#: editor.cc:1733
msgid "Selected Regions"
msgstr "Regiones seleccionadas"
-#: editor.cc:1853 editor_markers.cc:895
+#: editor.cc:1769 editor_markers.cc:909
msgid "Play Range"
msgstr "Reproducir rango"
-#: editor.cc:1854 editor_markers.cc:898
+#: editor.cc:1770 editor_markers.cc:912
msgid "Loop Range"
msgstr "Reproducir rango en bucle"
-#: editor.cc:1863 editor_actions.cc:332
+#: editor.cc:1773 editor_actions.cc:266 editor_markers.cc:919
+msgid "Zoom to Range"
+msgstr "Zoom a rango"
+
+#: editor.cc:1782 editor_actions.cc:366
msgid "Move Range Start to Previous Region Boundary"
msgstr "Mover inicio de rango a borde de región anterior"
-#: editor.cc:1870 editor_actions.cc:339
+#: editor.cc:1789 editor_actions.cc:373
msgid "Move Range Start to Next Region Boundary"
msgstr "Mover inicio de rango a borde de región siguiente"
-#: editor.cc:1877 editor_actions.cc:346
+#: editor.cc:1796 editor_actions.cc:380
msgid "Move Range End to Previous Region Boundary"
msgstr "Mover final de rango a borde de región anterior"
-#: editor.cc:1884 editor_actions.cc:353
+#: editor.cc:1803 editor_actions.cc:387
msgid "Move Range End to Next Region Boundary"
msgstr "Mover final de rango a borde de región siguiente"
-#: editor.cc:1890
+#: editor.cc:1809
msgid "Convert to Region In-Place"
msgstr "Convertir a región in situ"
-#: editor.cc:1891
+#: editor.cc:1810
msgid "Convert to Region in Region List"
msgstr "Convertir a región en lista de regiones"
-#: editor.cc:1894 editor_markers.cc:925
+#: editor.cc:1813 editor_markers.cc:939
msgid "Select All in Range"
msgstr "Seleccionar todo en rango"
-#: editor.cc:1897
+#: editor.cc:1816
msgid "Set Loop from Range"
msgstr "Crear bucle en rango"
-#: editor.cc:1898
+#: editor.cc:1817
msgid "Set Punch from Range"
msgstr "Crear pinchazo en rango"
-#: editor.cc:1901
+#: editor.cc:1820
msgid "Add Range Markers"
msgstr "Insertar marcas de rango"
-#: editor.cc:1904
+#: editor.cc:1823
msgid "Crop Region to Range"
msgstr "Recortar región a rango"
-#: editor.cc:1905
+#: editor.cc:1824
msgid "Fill Range with Region"
msgstr "Rellenar rango con región"
-#: editor.cc:1906 editor_actions.cc:289
+#: editor.cc:1825 editor_actions.cc:311
msgid "Duplicate Range"
msgstr "Duplicar rango"
-#: editor.cc:1909
+#: editor.cc:1828
msgid "Consolidate Range"
msgstr "Consolidar rango"
-#: editor.cc:1910
+#: editor.cc:1829
msgid "Consolidate Range With Processing"
msgstr "Consolidar rango con procesado"
-#: editor.cc:1911
+#: editor.cc:1830
msgid "Bounce Range to Region List"
msgstr "Rebotar rango a lista de regiones"
-#: editor.cc:1912
+#: editor.cc:1831
msgid "Bounce Range to Region List With Processing"
msgstr "Rebotar rango a lista de regiones con procesado"
-#: editor.cc:1913 editor_markers.cc:908
+#: editor.cc:1832 editor_markers.cc:922
msgid "Export Range..."
msgstr "Exportar rango..."
-#: editor.cc:1915
+#: editor.cc:1834
msgid "Export Video Range..."
msgstr ""
-#: editor.cc:1931 editor.cc:2012 editor_actions.cc:281
+#: editor.cc:1850 editor.cc:1931 editor_actions.cc:303
msgid "Play From Edit Point"
msgstr "Reproducir desde punto de edición"
-#: editor.cc:1932 editor.cc:2013
+#: editor.cc:1851 editor.cc:1932
msgid "Play From Start"
msgstr "Reproducir desde el principio"
-#: editor.cc:1933
+#: editor.cc:1852
msgid "Play Region"
msgstr "Reproducir región"
-#: editor.cc:1935
+#: editor.cc:1854
msgid "Loop Region"
msgstr "Reproducir región en bucle"
-#: editor.cc:1945 editor.cc:2022
+#: editor.cc:1864 editor.cc:1941
msgid "Select All in Track"
msgstr "Seleccionar todo en la pista"
-#: editor.cc:1946 editor.cc:2023 editor_actions.cc:185
-#: export_timespan_selector.cc:53 processor_box.cc:2276
-msgid "Select All"
-msgstr "Seleccionar todo"
+#: editor.cc:1865 editor.cc:1942 editor_actions.cc:194
+msgid "Select All Objects"
+msgstr ""
-#: editor.cc:1947 editor.cc:2024
+#: editor.cc:1866 editor.cc:1943
msgid "Invert Selection in Track"
msgstr "Invertir selección en la pista"
-#: editor.cc:1948 editor.cc:2025 editor_actions.cc:187
+#: editor.cc:1867 editor.cc:1944 editor_actions.cc:197
msgid "Invert Selection"
msgstr "Invertir selección"
-#: editor.cc:1950
+#: editor.cc:1869
msgid "Set Range to Loop Range"
msgstr "Definir rango como rango de bucle"
-#: editor.cc:1951
+#: editor.cc:1870
msgid "Set Range to Punch Range"
msgstr "Definir rango como rango de pinchazo"
-#: editor.cc:1953 editor.cc:2027 editor_actions.cc:188
+#: editor.cc:1872 editor.cc:1946 editor_actions.cc:199 editor_actions.cc:200
msgid "Select All After Edit Point"
msgstr "Seleccionar todo desde punto de edición"
-#: editor.cc:1954 editor.cc:2028 editor_actions.cc:189
+#: editor.cc:1873 editor.cc:1947 editor_actions.cc:201 editor_actions.cc:202
msgid "Select All Before Edit Point"
msgstr "Seleccionar todo hasta punto de edición"
-#: editor.cc:1955 editor.cc:2029
+#: editor.cc:1874 editor.cc:1948
msgid "Select All After Playhead"
msgstr "Seleccionar todo desde cursor"
-#: editor.cc:1956 editor.cc:2030
+#: editor.cc:1875 editor.cc:1949
msgid "Select All Before Playhead"
msgstr "Seleccionar todo hasta cursor"
-#: editor.cc:1957
+#: editor.cc:1876
msgid "Select All Between Playhead and Edit Point"
msgstr "Seleccionar todo entre cursor y punto de edición"
# Qué diferencia hay entre :
# - Between playhead and edit point
# - Within playhead and edit point
-#: editor.cc:1958
+#: editor.cc:1877
msgid "Select All Within Playhead and Edit Point"
msgstr "Seleccionar todo dentro de cursor y punto de edición"
-#: editor.cc:1959
+#: editor.cc:1878
msgid "Select Range Between Playhead and Edit Point"
msgstr "Seleccionar rango entre cursor y punto de edición"
-#: editor.cc:1961 editor.cc:2032 editor_actions.cc:127 editor_actions.cc:128
+#: editor.cc:1880 editor.cc:1951 editor_actions.cc:131 editor_actions.cc:132
msgid "Select"
msgstr "Seleccionar"
-#: editor.cc:1969 editor.cc:2040 editor_actions.cc:309 processor_box.cc:2261
+#: editor.cc:1888 editor.cc:1959 editor_actions.cc:334 processor_box.cc:2495
msgid "Cut"
msgstr "Cortar"
-#: editor.cc:1970 editor.cc:2041 editor_actions.cc:312 processor_box.cc:2264
+#: editor.cc:1889 editor.cc:1960 editor_actions.cc:338 processor_box.cc:2498
msgid "Copy"
msgstr "Copiar"
-#: editor.cc:1971 editor.cc:2042 editor_actions.cc:313 processor_box.cc:2272
+#: editor.cc:1890 editor.cc:1961 editor_actions.cc:339 processor_box.cc:2506
msgid "Paste"
msgstr "Pegar"
-#: editor.cc:1975 editor_actions.cc:87
+#: editor.cc:1894 editor_actions.cc:91
msgid "Align"
msgstr "Alinear"
-#: editor.cc:1976
+#: editor.cc:1895
msgid "Align Relative"
msgstr "Alinear relativamente"
-#: editor.cc:1983
+#: editor.cc:1902
msgid "Insert Selected Region"
msgstr "Insertar región seleccionada"
-#: editor.cc:1984
+#: editor.cc:1903
msgid "Insert Existing Media"
msgstr "Insertar medios existentes"
-#: editor.cc:1993 editor.cc:2049
+#: editor.cc:1912 editor.cc:1968
msgid "Nudge Entire Track Later"
msgstr "Atrasar toda la pista"
-#: editor.cc:1994 editor.cc:2050
+#: editor.cc:1913 editor.cc:1969
msgid "Nudge Track After Edit Point Later"
msgstr "Atrasar pista desde punto de edición"
-#: editor.cc:1995 editor.cc:2051
+#: editor.cc:1914 editor.cc:1970
msgid "Nudge Entire Track Earlier"
msgstr "Adelantar toda la pista"
-#: editor.cc:1996 editor.cc:2052
+#: editor.cc:1915 editor.cc:1971
msgid "Nudge Track After Edit Point Earlier"
msgstr "Adelantar pista desde punto de edición"
-#: editor.cc:1998 editor.cc:2054
+#: editor.cc:1917 editor.cc:1973
msgid "Nudge"
msgstr "Empujar"
-#: editor.cc:3074
+#: editor.cc:2916 editor.cc:3491 editor.cc:3561 midi_channel_selector.cc:159
+#: midi_channel_selector.cc:397 midi_channel_selector.cc:433
+msgid "All"
+msgstr "Todos"
+
+#: editor.cc:3122
msgid "Smart Mode (add Range functions to Object mode)"
msgstr "Modo smart (añade funciones de rango al modo objeto)"
-#: editor.cc:3075
+#: editor.cc:3123
msgid "Object Mode (select/move Objects)"
msgstr "Modo objeto (seleccionar/mover objetos)"
-#: editor.cc:3076
+#: editor.cc:3124
+msgid "Cut Mode (split Regions)"
+msgstr ""
+
+#: editor.cc:3125
msgid "Range Mode (select/move Ranges)"
msgstr "Modo rango (seleccionar/mover rangos)"
-#: editor.cc:3077
+#: editor.cc:3126
msgid "Draw/Edit MIDI Notes"
msgstr "Dibujar/Editar notas MIDI"
-#: editor.cc:3078
+#: editor.cc:3127
msgid "Draw Region Gain"
msgstr "Dibujar ganancia de región"
-#: editor.cc:3079
+#: editor.cc:3128
msgid "Select Zoom Range"
msgstr "Seleccionar rango de zoom"
-#: editor.cc:3080
+#: editor.cc:3129
msgid "Stretch/Shrink Regions and MIDI Notes"
msgstr "Estirar/Encoger regiones y notas MIDI"
-#: editor.cc:3081
+#: editor.cc:3130
msgid "Listen to Specific Regions"
msgstr "Escuchar regiones específicas"
-#: editor.cc:3082
+#: editor.cc:3131
msgid "Note Level Editing"
msgstr "Edición de notas"
-#: editor.cc:3083
+#: editor.cc:3132
msgid ""
"Groups: click to (de)activate\n"
"Context-click for other operations"
@@ -2950,51 +2967,59 @@ msgstr ""
"Grupos: clic para (des)activar\n"
"Contexto-clic para otras operaciones"
-#: editor.cc:3084
+#: editor.cc:3133
msgid "Nudge Region/Selection Later"
msgstr "Atrasar región/selección"
-#: editor.cc:3085
+#: editor.cc:3134
msgid "Nudge Region/Selection Earlier"
msgstr "Adelantar región/selección"
-#: editor.cc:3086 editor_actions.cc:242
+#: editor.cc:3135 editor_actions.cc:262
msgid "Zoom In"
msgstr "Acercar"
-#: editor.cc:3087 editor_actions.cc:241
+#: editor.cc:3136 editor_actions.cc:261
msgid "Zoom Out"
msgstr "Alejar"
-#: editor.cc:3088 editor_actions.cc:243
+#: editor.cc:3137
+msgid "Zoom to Time Scale"
+msgstr ""
+
+#: editor.cc:3138 editor.cc:3513 editor_actions.cc:263
msgid "Zoom to Session"
msgstr "Ajustar zoom a sesión"
-#: editor.cc:3089
+#: editor.cc:3139
msgid "Zoom focus"
msgstr "Foco del zoom"
-#: editor.cc:3090
+#: editor.cc:3140
msgid "Expand Tracks"
msgstr "Expandir pistas"
-#: editor.cc:3091
+#: editor.cc:3141
msgid "Shrink Tracks"
msgstr "Encoger pistas"
-#: editor.cc:3092
+#: editor.cc:3142
+msgid "Number of visible tracks"
+msgstr ""
+
+#: editor.cc:3143
msgid "Snap/Grid Units"
msgstr "Unidades de ajuste a rejilla"
-#: editor.cc:3093
+#: editor.cc:3144
msgid "Snap/Grid Mode"
msgstr "Modo de ajuste a rejilla"
-#: editor.cc:3095
+#: editor.cc:3146
msgid "Edit Mode"
msgstr "Modo de edición"
-#: editor.cc:3096
+#: editor.cc:3147
msgid ""
"Nudge Clock\n"
"(controls distance used to nudge regions and selections)"
@@ -3003,39 +3028,124 @@ msgstr ""
"(define el tiempo determinado para adelantar y atrasar regiones y "
"selecciones)"
-#: editor.cc:3198
-msgid "malformed URL passed to drag-n-drop code"
-msgstr "malformed URL passed to drag-n-drop code"
-
-#: editor.cc:3260 editor_actions.cc:291
+#: editor.cc:3285 editor_actions.cc:313
msgid "Command|Undo"
msgstr "Deshacer"
-#: editor.cc:3262
+#: editor.cc:3287
msgid "Command|Undo (%1)"
msgstr "Deshacer (%1)"
-#: editor.cc:3269 editor_actions.cc:292
+#: editor.cc:3294 editor_actions.cc:315 editor_actions.cc:316
+#: editor_actions.cc:317
msgid "Redo"
msgstr "Rehacer"
-#: editor.cc:3271
+#: editor.cc:3296
msgid "Redo (%1)"
msgstr "Rehacer (%1)"
-#: editor.cc:3290 editor.cc:3314 editor_actions.cc:106 editor_actions.cc:1794
+#: editor.cc:3315 editor.cc:3339 editor_actions.cc:110 editor_actions.cc:1842
msgid "Duplicate"
msgstr "Duplicar"
-#: editor.cc:3291
+#: editor.cc:3316
msgid "Number of duplications:"
msgstr "Cantidad de copias:"
-#: editor.cc:3868
+#: editor.cc:3490
+msgid "Selected"
+msgstr ""
+
+#: editor.cc:3493
+msgid "Fit 1 track"
+msgstr ""
+
+#: editor.cc:3494
+msgid "Fit 2 tracks"
+msgstr ""
+
+#: editor.cc:3495
+msgid "Fit 4 tracks"
+msgstr ""
+
+#: editor.cc:3496
+msgid "Fit 8 tracks"
+msgstr ""
+
+#: editor.cc:3497
+msgid "Fit 16 tracks"
+msgstr ""
+
+#: editor.cc:3498
+msgid "Fit 24 tracks"
+msgstr ""
+
+#: editor.cc:3499
+msgid "Fit 32 tracks"
+msgstr ""
+
+#: editor.cc:3500
+msgid "Fit 48 tracks"
+msgstr ""
+
+#: editor.cc:3501
+msgid "Fit All tracks"
+msgstr ""
+
+#: editor.cc:3502
+msgid "Fit Selected tracks"
+msgstr ""
+
+#: editor.cc:3504
+msgid "Zoom to 10 ms"
+msgstr ""
+
+#: editor.cc:3505
+msgid "Zoom to 100 ms"
+msgstr ""
+
+#: editor.cc:3506
+msgid "Zoom to 1 sec"
+msgstr ""
+
+#: editor.cc:3507
+msgid "Zoom to 10 sec"
+msgstr ""
+
+#: editor.cc:3508
+msgid "Zoom to 1 min"
+msgstr ""
+
+#: editor.cc:3509
+msgid "Zoom to 10 min"
+msgstr ""
+
+#: editor.cc:3510
+msgid "Zoom to 1 hour"
+msgstr ""
+
+#: editor.cc:3511
+msgid "Zoom to 8 hours"
+msgstr ""
+
+#: editor.cc:3512
+msgid "Zoom to 24 hours"
+msgstr ""
+
+#: editor.cc:3514
+msgid "Zoom to Range/Region Selection"
+msgstr ""
+
+#: editor.cc:3583
+msgid "*"
+msgstr ""
+
+#: editor.cc:3918
msgid "Playlist Deletion"
msgstr "Borrado de lista de reproducción"
-#: editor.cc:3869
+#: editor.cc:3919
msgid ""
"Playlist %1 is currently unused.\n"
"If it is kept, its audio files will not be cleaned.\n"
@@ -3045,1319 +3155,1309 @@ msgstr ""
"Si la conservas, sus archivos de audio no se purgarán.\n"
"Si la eliminas, se purgarán sólo los archivos de audio que use ésta."
-#: editor.cc:3879
+#: editor.cc:3929
msgid "Delete Playlist"
msgstr "Eliminar lista de reproducción"
-#: editor.cc:3880
+#: editor.cc:3930
msgid "Keep Playlist"
msgstr "Conservar lista de reproducción"
-#: editor.cc:3881 editor_audio_import.cc:581 editor_ops.cc:5856
-#: engine_dialog.cc:1711 sfdb_freesound_mootcher.cc:69 processor_box.cc:2030
-#: processor_box.cc:2055
+#: editor.cc:3931 editor_audio_import.cc:579 editor_ops.cc:5931
+#: engine_dialog.cc:1985 sfdb_freesound_mootcher.cc:69 processor_box.cc:2263
+#: processor_box.cc:2288
msgid "Cancel"
msgstr "Cancelar"
-#: editor.cc:4025
+#: editor.cc:4065
msgid "new playlists"
msgstr "nuevas listas de reproducción"
-#: editor.cc:4041
+#: editor.cc:4081
msgid "copy playlists"
msgstr "copiar listas de reproducción"
-#: editor.cc:4056
+#: editor.cc:4096
msgid "clear playlists"
msgstr "limpiar listas de reproducción"
-#: editor.cc:4691
+#: editor.cc:4771
msgid "Please wait while %1 loads visual data."
msgstr "Por favor, espera a que %1 cargue datos visuales."
-#: editor.cc:5496 editor_markers.cc:940 panner_ui.cc:392 processor_box.cc:2292
+#: editor.cc:5592 editor_markers.cc:954 panner_ui.cc:409 processor_box.cc:2526
msgid "Edit..."
msgstr "Editar..."
-#: editor_actions.cc:88
+#: editor_actions.cc:92
msgid "Autoconnect"
msgstr "Autoconectar"
-#: editor_actions.cc:89
+#: editor_actions.cc:93
msgid "Crossfades"
msgstr "Fundidos cruzados"
-#: editor_actions.cc:91
+#: editor_actions.cc:95
msgid "Move Selected Marker"
msgstr "Mover marca seleccionada"
# chequear en contexto
-#: editor_actions.cc:92
+#: editor_actions.cc:96
msgid "Select Range Operations"
msgstr "Seleccionar operaciones de rango"
-#: editor_actions.cc:93
+#: editor_actions.cc:97
msgid "Select Regions"
msgstr "Seleccionar regiones"
-#: editor_actions.cc:94
+#: editor_actions.cc:98
msgid "Edit Point"
msgstr "Punto de edición"
-#: editor_actions.cc:95
+#: editor_actions.cc:99
msgid "Fade"
msgstr "Fundido"
# no encuentro de dónde es esta cadena
# Está en la ventana "combinaciones de teclas". pero no sé qué hace
-#: editor_actions.cc:96
+#: editor_actions.cc:100
msgid "Latch"
msgstr "Latch"
-#: editor_actions.cc:97 editor_regions.cc:111 region_editor.cc:46
+#: editor_actions.cc:101 editor_regions.cc:112 region_editor.cc:45
msgid "Region"
msgstr "Región"
-#: editor_actions.cc:98
+#: editor_actions.cc:102
msgid "Layering"
msgstr "Superposición"
-#: editor_actions.cc:99 editor_regions.cc:112 gtk-custom-ruler.c:152
-#: stereo_panner_editor.cc:44
+#: editor_actions.cc:103 editor_regions.cc:113 stereo_panner_editor.cc:44
msgid "Position"
msgstr "Posición"
-#: editor_actions.cc:101 gain_meter.cc:120 gain_meter.cc:794 panner_ui.cc:176
-#: panner_ui.cc:585
+#: editor_actions.cc:105 gain_meter.cc:122 gain_meter.cc:800 panner_ui.cc:177
+#: panner_ui.cc:634
msgid "Trim"
msgstr "Recortar"
-#: editor_actions.cc:102 editor_actions.cc:122 route_group_dialog.cc:40
+#: editor_actions.cc:106 editor_actions.cc:126 route_group_dialog.cc:46
msgid "Gain"
msgstr "Ganancia"
-#: editor_actions.cc:103 editor_actions.cc:538
+#: editor_actions.cc:107 editor_actions.cc:573
msgid "Ranges"
msgstr "Rangos"
-#: editor_actions.cc:104 editor_actions.cc:1790 session_option_editor.cc:145
-#: session_option_editor.cc:147 session_option_editor.cc:156
-#: session_option_editor.cc:163
+#: editor_actions.cc:108 editor_actions.cc:1838 session_option_editor.cc:135
+#: session_option_editor.cc:144 session_option_editor.cc:151
msgid "Fades"
msgstr "Fundidos"
-#: editor_actions.cc:107
+#: editor_actions.cc:111
msgid "Link"
msgstr "Enlace"
-#: editor_actions.cc:108 editor_actions.cc:141
+#: editor_actions.cc:112 editor_actions.cc:145
msgid "Zoom Focus"
msgstr "Foco del zoom"
# chequear en contexto
-#: editor_actions.cc:109
+#: editor_actions.cc:113
msgid "Locate to Markers"
msgstr "Localizar a marcas"
-#: editor_actions.cc:110 editor_actions.cc:539
-msgid "Markers"
-msgstr "Marcas"
-
-#: editor_actions.cc:111
+#: editor_actions.cc:115
msgid "Meter falloff"
msgstr "Tasa de decaimiento"
-#: editor_actions.cc:112
+#: editor_actions.cc:116
msgid "Meter hold"
msgstr "Retención"
-#: editor_actions.cc:113 session_option_editor.cc:234
+#: editor_actions.cc:117 session_option_editor.cc:321
msgid "MIDI Options"
msgstr "Opciones MIDI"
-#: editor_actions.cc:114
+#: editor_actions.cc:118
msgid "Misc Options"
msgstr "Opciones misceláneas"
-#: editor_actions.cc:115 rc_option_editor.cc:1450 route_group_dialog.cc:48
-#: session_option_editor.cc:218 session_option_editor.cc:225
+#: editor_actions.cc:119 rc_option_editor.cc:1714 route_group_dialog.cc:54
+#: session_option_editor.cc:243 session_option_editor.cc:250
msgid "Monitoring"
msgstr "Monitorización"
-#: editor_actions.cc:116
+#: editor_actions.cc:120
msgid "Active Mark"
msgstr "Marca activa"
-#: editor_actions.cc:119
+#: editor_actions.cc:123
msgid "Primary Clock"
msgstr "Reloj primario"
-#: editor_actions.cc:120
+#: editor_actions.cc:124
msgid "Pullup / Pulldown"
msgstr "Pullup / Pulldown"
-#: editor_actions.cc:121
+#: editor_actions.cc:125
msgid "Region operations"
msgstr "Operaciones de región"
-#: editor_actions.cc:123
+#: editor_actions.cc:127 ruler_dialog.cc:28
msgid "Rulers"
msgstr "Reglas"
-#: editor_actions.cc:124
+#: editor_actions.cc:128
msgid "Views"
msgstr "Vistas"
# podría ser "desplazar", chequear contexto
-#: editor_actions.cc:125
+#: editor_actions.cc:129
msgid "Scroll"
msgstr "Desplazamiento"
-#: editor_actions.cc:126
+#: editor_actions.cc:130
msgid "Secondary Clock"
msgstr "Reloj secundario"
-#: editor_actions.cc:129 editor_actions.cc:297
+#: editor_actions.cc:133 editor_actions.cc:322
msgid "Separate"
msgstr "Separar"
-#: editor_actions.cc:132 mixer_strip.cc:1914 route_time_axis.cc:208
-#: route_time_axis.cc:2417
-msgid "Solo"
-msgstr "Solo"
-
-#: editor_actions.cc:133
+#: editor_actions.cc:137
msgid "Subframes"
msgstr "Subcuadros"
-#: editor_actions.cc:136
+#: editor_actions.cc:140
msgid "Timecode fps"
msgstr "Timecode fps"
-#: editor_actions.cc:137 route_time_axis.cc:430
+#: editor_actions.cc:141 route_time_axis.cc:548
msgid "Height"
msgstr "Altura"
-#: editor_actions.cc:139
+#: editor_actions.cc:143
msgid "Tools"
msgstr "Herramientas"
-#: editor_actions.cc:140
+#: editor_actions.cc:144
msgid "View"
msgstr "Ver"
-#: editor_actions.cc:142
+#: editor_actions.cc:146
msgid "Zoom"
msgstr "Zoom"
-#: editor_actions.cc:148
+#: editor_actions.cc:152
msgid "Break drag or deselect all"
msgstr "Interrumpir arrastre o deseleccionar todo"
-#: editor_actions.cc:150
+#: editor_actions.cc:159
msgid "Show Editor Mixer"
msgstr "Mostrar Mezclador en Editor"
-#: editor_actions.cc:151
+#: editor_actions.cc:160
msgid "Show Editor List"
msgstr "Mostrar lista de Editor"
-#: editor_actions.cc:153
+#: editor_actions.cc:162
msgid "Playhead to Next Region Boundary"
msgstr "Cursor a borde de región siguiente"
-#: editor_actions.cc:154
+#: editor_actions.cc:163
msgid "Playhead to Next Region Boundary (No Track Selection)"
msgstr "Cursor a borde de región siguiente (sin selección de pista)"
-#: editor_actions.cc:155
+#: editor_actions.cc:164
msgid "Playhead to Previous Region Boundary"
msgstr "Cursor a borde de región anterior"
-#: editor_actions.cc:156
+#: editor_actions.cc:165
msgid "Playhead to Previous Region Boundary (No Track Selection)"
msgstr "Cursor a borde de región anterior (sin selección de pista)"
-#: editor_actions.cc:158
+#: editor_actions.cc:167
msgid "Playhead to Next Region Start"
msgstr "Cursor a inicio de región siguiente"
-#: editor_actions.cc:159
+#: editor_actions.cc:168
msgid "Playhead to Next Region End"
msgstr "Cursor a fin de región siguiente"
-#: editor_actions.cc:160
+#: editor_actions.cc:169
msgid "Playhead to Next Region Sync"
msgstr "Cursor a punto de sincronía siguiente"
-#: editor_actions.cc:162
+#: editor_actions.cc:171
msgid "Playhead to Previous Region Start"
msgstr "Cursor a inicio de región anterior"
-#: editor_actions.cc:163
+#: editor_actions.cc:172
msgid "Playhead to Previous Region End"
msgstr "Cursor a fin de región anterior"
-#: editor_actions.cc:164
+#: editor_actions.cc:173
msgid "Playhead to Previous Region Sync"
msgstr "Cursor a punto de sincronía anterior"
-#: editor_actions.cc:166
+#: editor_actions.cc:175
msgid "To Next Region Boundary"
msgstr "A borde de región siguiente"
-#: editor_actions.cc:167
+#: editor_actions.cc:176
msgid "To Next Region Boundary (No Track Selection)"
msgstr "A borde de región siguiente (sin selección de pista)"
-#: editor_actions.cc:168
+#: editor_actions.cc:177
msgid "To Previous Region Boundary"
msgstr "A borde de región anterior"
-#: editor_actions.cc:169
+#: editor_actions.cc:178
msgid "To Previous Region Boundary (No Track Selection)"
msgstr "A borde de región anterior (sin selección de pista)"
-#: editor_actions.cc:171
+#: editor_actions.cc:180
msgid "To Next Region Start"
msgstr "A inicio de región siguiente"
-#: editor_actions.cc:172
+#: editor_actions.cc:181
msgid "To Next Region End"
msgstr "A fin de región siguiente"
-#: editor_actions.cc:173
+#: editor_actions.cc:182
msgid "To Next Region Sync"
msgstr "A sincronía de región siguiente"
-#: editor_actions.cc:175
+#: editor_actions.cc:184
msgid "To Previous Region Start"
msgstr "A inicio de región anterior"
-#: editor_actions.cc:176
+#: editor_actions.cc:185
msgid "To Previous Region End"
msgstr "A fin de región anterior"
-#: editor_actions.cc:177
+#: editor_actions.cc:186
msgid "To Previous Region Sync"
msgstr "A sincronía de región anterior"
-#: editor_actions.cc:179
+#: editor_actions.cc:188
msgid "To Range Start"
msgstr "A inicio de rango"
-#: editor_actions.cc:180
+#: editor_actions.cc:189
msgid "To Range End"
msgstr "A fin de rango"
-#: editor_actions.cc:182
+#: editor_actions.cc:191
msgid "Playhead to Range Start"
msgstr "Cursor a inicio de rango"
-#: editor_actions.cc:183
+#: editor_actions.cc:192
msgid "Playhead to Range End"
msgstr "Cursor a final de rango"
-#: editor_actions.cc:186 export_timespan_selector.cc:61 processor_box.cc:2278
+#: editor_actions.cc:195
+msgid "Select All Tracks"
+msgstr ""
+
+#: editor_actions.cc:196 export_timespan_selector.cc:61 processor_box.cc:2512
msgid "Deselect All"
msgstr "Deseleccionar todo"
-#: editor_actions.cc:191
+#: editor_actions.cc:204
msgid "Select All Overlapping Edit Range"
msgstr "Seleccionar todo lo solapado al rango de edición"
-#: editor_actions.cc:192
+#: editor_actions.cc:205
msgid "Select All Inside Edit Range"
msgstr "Seleccionar todo dentro de rango de edición"
-#: editor_actions.cc:194
+#: editor_actions.cc:207
msgid "Select Edit Range"
msgstr "Seleccionar rango de edición"
-#: editor_actions.cc:196
+#: editor_actions.cc:209
msgid "Select All in Punch Range"
msgstr "Seleccionar todo en rango de pinchazo"
-#: editor_actions.cc:197
+#: editor_actions.cc:210
msgid "Select All in Loop Range"
msgstr "Seleccionar todo dentro de rango de bucle"
-#: editor_actions.cc:199
+#: editor_actions.cc:212
msgid "Select Next Track or Bus"
msgstr "Seleccionar pista o bus siguiente"
-#: editor_actions.cc:200
+#: editor_actions.cc:213
msgid "Select Previous Track or Bus"
msgstr "Seleccionar pista o bus anterior"
-#: editor_actions.cc:202
+#: editor_actions.cc:215
msgid "Toggle Record Enable"
msgstr "Activar/Desactivar grabación"
-#: editor_actions.cc:204
+#: editor_actions.cc:217
msgid "Toggle Solo"
msgstr "Conmutar solo"
-#: editor_actions.cc:206
+#: editor_actions.cc:219
msgid "Toggle Mute"
msgstr "Conmutar mudo"
-#: editor_actions.cc:208
+#: editor_actions.cc:221
msgid "Toggle Solo Isolate"
msgstr "Conmutar solo aislado"
-#: editor_actions.cc:213
+#: editor_actions.cc:226
msgid "Save View %1"
msgstr "Guardar vista %1"
-#: editor_actions.cc:219
+#: editor_actions.cc:232
msgid "Goto View %1"
msgstr "Ir a vista %1"
-#: editor_actions.cc:225
+#: editor_actions.cc:238
msgid "Locate to Mark %1"
msgstr "Localizar a marca %1"
-#: editor_actions.cc:229
+#: editor_actions.cc:242 editor_actions.cc:243
msgid "Jump to Next Mark"
msgstr "Saltar a marca siguiente"
-#: editor_actions.cc:230
+#: editor_actions.cc:244 editor_actions.cc:245
msgid "Jump to Previous Mark"
msgstr "Saltar a marca anterior"
-#: editor_actions.cc:231
+#: editor_actions.cc:247 editor_actions.cc:248
msgid "Add Mark from Playhead"
msgstr "Añadir marca en cursor"
-#: editor_actions.cc:233
+#: editor_actions.cc:250 editor_actions.cc:251
+msgid "Remove Mark at Playhead"
+msgstr ""
+
+#: editor_actions.cc:253
msgid "Nudge Next Later"
msgstr "Atrasar a cercano"
-#: editor_actions.cc:234
+#: editor_actions.cc:254
msgid "Nudge Next Earlier"
msgstr "Adelantar a cercano"
-#: editor_actions.cc:236
+#: editor_actions.cc:256
msgid "Nudge Playhead Forward"
msgstr "Empujar cursor adelante"
-#: editor_actions.cc:237
+#: editor_actions.cc:257
msgid "Nudge Playhead Backward"
msgstr "Empujar cursor atrás"
-#: editor_actions.cc:238
+#: editor_actions.cc:258
msgid "Playhead To Next Grid"
msgstr "Cursor a rejilla siguiente"
-#: editor_actions.cc:239
+#: editor_actions.cc:259
msgid "Playhead To Previous Grid"
msgstr "Cursor a rejilla anterior"
-#: editor_actions.cc:244
+#: editor_actions.cc:264
msgid "Zoom to Region"
msgstr "Zoom a región"
-#: editor_actions.cc:245
+#: editor_actions.cc:265
msgid "Zoom to Region (Width and Height)"
msgstr "Zoom a región (ancho y alto)"
-#: editor_actions.cc:246
+#: editor_actions.cc:267
+msgid "Zoom to Range (Width and Height)"
+msgstr ""
+
+#: editor_actions.cc:268
msgid "Toggle Zoom State"
msgstr "Cambiar estado de zoom"
-#: editor_actions.cc:248
+#: editor_actions.cc:270
msgid "Expand Track Height"
msgstr "Aumentar altura de pista"
-#: editor_actions.cc:249
+#: editor_actions.cc:271
msgid "Shrink Track Height"
msgstr "Disminuir altura de pista"
-#: editor_actions.cc:251
+#: editor_actions.cc:273
msgid "Move Selected Tracks Up"
msgstr "Subir las pistas seleccionadas"
-#: editor_actions.cc:253
+#: editor_actions.cc:275
msgid "Move Selected Tracks Down"
msgstr "Bajar las pistas seleccionadas"
# Esto estaba traducido como "desplazar pistas hacia arriba" pero no estaba bien. La clave del sentido original la da la palabra "scroll". Es un desplazamiento de visualización en el editor para ver las pistas de más arriba o de más abajo. NO estamos desplazando pistas.
-#: editor_actions.cc:256
+#: editor_actions.cc:278
msgid "Scroll Tracks Up"
msgstr "Desplazarse hacia arriba"
-#: editor_actions.cc:258
+#: editor_actions.cc:280
msgid "Scroll Tracks Down"
msgstr "Desplazarse hacia abajo"
# No lo encuentro en el Editor pero supongo que es lo mismo que Scroll Tracks up/down, sólo que poco a poco, no de forma brusca como hace el scroll. Lo dejo sin traducir, pues sospecho que la traducción era incorrecta y no sé dónde está ni cómo traducirlo
-#: editor_actions.cc:260
+#: editor_actions.cc:282
msgid "Step Tracks Up"
msgstr "Step Tracks Up"
-#: editor_actions.cc:262
+#: editor_actions.cc:284
msgid "Step Tracks Down"
msgstr "Step Tracks Down"
-#: editor_actions.cc:265
+#: editor_actions.cc:287
msgid "Scroll Backward"
msgstr "Desplazarse hacia atrás"
-#: editor_actions.cc:266
+#: editor_actions.cc:288
msgid "Scroll Forward"
msgstr "Desplazarse hacia delante"
-#: editor_actions.cc:267
+#: editor_actions.cc:289
msgid "Center Playhead"
msgstr "Centrar cursor"
-#: editor_actions.cc:268
+#: editor_actions.cc:290
msgid "Center Edit Point"
msgstr "Centrar punto de edición"
-#: editor_actions.cc:270
+#: editor_actions.cc:292
msgid "Playhead Forward"
msgstr "Cursor hacia delante"
-#: editor_actions.cc:271
+#: editor_actions.cc:293
msgid "Playhead Backward"
msgstr "Cursor hacia atrás"
-#: editor_actions.cc:273
+#: editor_actions.cc:295
msgid "Playhead to Active Mark"
msgstr "Cursor a marca activa"
-#: editor_actions.cc:274
+#: editor_actions.cc:296
msgid "Active Mark to Playhead"
msgstr "Marca activa a cursor"
-#: editor_actions.cc:276
+#: editor_actions.cc:298
msgid "Set Loop from Edit Range"
msgstr "Definir bucle según rango de edición"
-#: editor_actions.cc:277
+#: editor_actions.cc:299
msgid "Set Punch from Edit Range"
msgstr "Definir pinchazo según rango de edición"
-#: editor_actions.cc:280
+#: editor_actions.cc:302
msgid "Play Selected Regions"
msgstr "Reproducir regiones seleccionadas"
-#: editor_actions.cc:282
+#: editor_actions.cc:304
msgid "Play from Edit Point and Return"
msgstr "Reproducir desde punto de edición y retornar"
-#: editor_actions.cc:284
+#: editor_actions.cc:306
msgid "Play Edit Range"
msgstr "Reproducir rango de edición"
-#: editor_actions.cc:286
+#: editor_actions.cc:308
msgid "Playhead to Mouse"
msgstr "Cursor a ratón"
-#: editor_actions.cc:287
+#: editor_actions.cc:309
msgid "Active Marker to Mouse"
msgstr "Marca activa a ratón"
-#: editor_actions.cc:294
+#: editor_actions.cc:319
msgid "Export Audio"
msgstr "Exportar audio"
-#: editor_actions.cc:295 export_dialog.cc:406
+#: editor_actions.cc:320 export_dialog.cc:396
msgid "Export Range"
msgstr "Exportar rango"
-#: editor_actions.cc:300
+#: editor_actions.cc:325
msgid "Separate Using Punch Range"
msgstr "Separar usando rango de pinchazo"
-#: editor_actions.cc:303
+#: editor_actions.cc:328
msgid "Separate Using Loop Range"
msgstr "Separar usando rango de bucle"
-#: editor_actions.cc:306 editor_actions.cc:323
+#: editor_actions.cc:331 editor_actions.cc:353
msgid "Crop"
msgstr "Recortar"
-#: editor_actions.cc:315
+#: editor_actions.cc:341
+msgid "Fade Range Selection"
+msgstr ""
+
+#: editor_actions.cc:343
msgid "Set Tempo from Edit Range = Bar"
msgstr "Definir tempo según \"rango de edición = compás\""
-#: editor_actions.cc:317
+#: editor_actions.cc:345
msgid "Log"
msgstr "Log"
-#: editor_actions.cc:320
+#: editor_actions.cc:348 editor_actions.cc:349
msgid "Move Later to Transient"
msgstr "Mover atrás a transitorio"
-#: editor_actions.cc:321
+#: editor_actions.cc:350 editor_actions.cc:351
msgid "Move Earlier to Transient"
msgstr "Mover adelante a transitorio"
-#: editor_actions.cc:325
+#: editor_actions.cc:355 editor_actions.cc:358
msgid "Start Range"
msgstr "Comenzar rango"
-#: editor_actions.cc:326
+#: editor_actions.cc:356 editor_actions.cc:359
msgid "Finish Range"
msgstr "Terminar rango"
-#: editor_actions.cc:327
-msgid "Finish Add Range"
-msgstr "Terminar añadir rango"
-
-#: editor_actions.cc:357
+#: editor_actions.cc:391
msgid "Follow Playhead"
msgstr "Seguir al cursor"
-#: editor_actions.cc:358
+#: editor_actions.cc:392
msgid "Remove Last Capture"
msgstr "Borrar última captura"
-#: editor_actions.cc:360
+#: editor_actions.cc:394
msgid "Stationary Playhead"
msgstr "Cursor estático"
-#: editor_actions.cc:362 insert_time_dialog.cc:32
+#: editor_actions.cc:396 insert_time_dialog.cc:32
msgid "Insert Time"
msgstr "Insertar tiempo"
-#: editor_actions.cc:365
+#: editor_actions.cc:399
msgid "Toggle Active"
msgstr "Activar/Desactivar pista"
-#: editor_actions.cc:370 editor_actions.cc:1716 editor_markers.cc:876
-#: editor_markers.cc:941 editor_snapshots.cc:121 mixer_strip.cc:1495
-#: route_time_axis.cc:710
+#: editor_actions.cc:404 editor_actions.cc:1764 editor_markers.cc:890
+#: editor_markers.cc:955 editor_snapshots.cc:122 mixer_strip.cc:1506
+#: route_time_axis.cc:829
msgid "Remove"
msgstr "Eliminar"
-#: editor_actions.cc:374
+#: editor_actions.cc:408
msgid "Fit Selected Tracks"
msgstr "Encajar las pistas seleccionadas en la ventana"
-#: editor_actions.cc:376 time_axis_view.cc:1302
+#: editor_actions.cc:411 time_axis_view.cc:1336
msgid "Largest"
msgstr "Máxima"
-#: editor_actions.cc:379 time_axis_view.cc:1303
+#: editor_actions.cc:414 time_axis_view.cc:1337
msgid "Larger"
msgstr "Muy grande"
-#: editor_actions.cc:382 editor_rulers.cc:375 time_axis_view.cc:1304
+#: editor_actions.cc:417 editor_rulers.cc:249 time_axis_view.cc:1338
msgid "Large"
msgstr "Grande"
# aquí creo que el original debería decir "smallest" por coherencia (son las alturas de pista). me tomo la libertad de corregir
-#: editor_actions.cc:388 editor_rulers.cc:379 time_axis_view.cc:1306
+#: editor_actions.cc:423 editor_rulers.cc:253 time_axis_view.cc:1340
msgid "Small"
msgstr "Mínima"
-#: editor_actions.cc:392
+#: editor_actions.cc:427
msgid "Sound Selected MIDI Notes"
msgstr "Sound Selected MIDI Notes"
-#: editor_actions.cc:397
+#: editor_actions.cc:432
msgid "Zoom Focus Left"
msgstr "Foco de zoom a la izquierda"
-#: editor_actions.cc:398
+#: editor_actions.cc:433
msgid "Zoom Focus Right"
msgstr "Foco de zoom a la derecha"
-#: editor_actions.cc:399
+#: editor_actions.cc:434
msgid "Zoom Focus Center"
msgstr "Foco de zoom al centro"
-#: editor_actions.cc:400
+#: editor_actions.cc:435
msgid "Zoom Focus Playhead"
msgstr "Foco de zoom al cursor"
-#: editor_actions.cc:401
+#: editor_actions.cc:436
msgid "Zoom Focus Mouse"
msgstr "Foco de zoom al ratón"
-#: editor_actions.cc:402
+#: editor_actions.cc:437
msgid "Zoom Focus Edit Point"
msgstr "Foco de zoom al punto de edición"
-#: editor_actions.cc:404
+#: editor_actions.cc:439
msgid "Next Zoom Focus"
msgstr "Siguiente foco del zoom"
-#: editor_actions.cc:410
+#: editor_actions.cc:445
msgid "Smart Object Mode"
msgstr "Modo de objeto smart"
-#: editor_actions.cc:413
+#: editor_actions.cc:448
msgid "Smart"
msgstr "Smart"
-#: editor_actions.cc:417
+#: editor_actions.cc:451
msgid "Object Tool"
msgstr "Herramienta de Objeto"
-#: editor_actions.cc:423
+#: editor_actions.cc:456
msgid "Range Tool"
msgstr "Herramienta de Rango"
-#: editor_actions.cc:429
+#: editor_actions.cc:461
msgid "Note Drawing Tool"
msgstr "Herramienta de dibujado de notas"
-#: editor_actions.cc:435
+#: editor_actions.cc:466
msgid "Gain Tool"
msgstr "Herramienta de Ganancia"
-#: editor_actions.cc:441
+#: editor_actions.cc:472
msgid "Zoom Tool"
msgstr "Herramienta de Zoom"
-#: editor_actions.cc:447
+#: editor_actions.cc:478
msgid "Audition Tool"
msgstr "Herramienta de escucha"
-#: editor_actions.cc:453
+#: editor_actions.cc:483
msgid "Time FX Tool"
msgstr "Herramienta de Efectos de tiempo"
-#: editor_actions.cc:459
+#: editor_actions.cc:489
+msgid "Cut Tool"
+msgstr ""
+
+#: editor_actions.cc:495
msgid "Step Mouse Mode"
msgstr "Step Mouse Mode"
-#: editor_actions.cc:461
+#: editor_actions.cc:497
msgid "Edit MIDI"
msgstr "Editar MIDI"
-#: editor_actions.cc:472
+#: editor_actions.cc:507
msgid "Change Edit Point"
msgstr "Cambiar punto de edición"
-#: editor_actions.cc:473
+#: editor_actions.cc:508
msgid "Change Edit Point Including Marker"
msgstr "Cambiar punto de edición incluyendo marca"
-# seguro?
-#: editor_actions.cc:475
-msgid "Splice"
-msgstr "Reunir"
-
-#: editor_actions.cc:477
-msgid "Slide"
-msgstr "Deslizar"
-
-#: editor_actions.cc:478 editor_actions.cc:1737 editor_markers.cc:860
-#: editor_rulers.cc:386 location_ui.cc:56
-msgid "Lock"
-msgstr "Bloquear"
-
-#: editor_actions.cc:479
-msgid "Toggle Edit Mode"
-msgstr "Cambiar modo de edición"
+#: editor_actions.cc:514
+msgid "Cycle Edit Mode"
+msgstr ""
-#: editor_actions.cc:481
+#: editor_actions.cc:516
msgid "Snap to"
msgstr "Ajustar a"
-#: editor_actions.cc:482
+#: editor_actions.cc:517
msgid "Snap Mode"
msgstr "Modo de ajuste"
-#: editor_actions.cc:489
+#: editor_actions.cc:524
msgid "Next Snap Mode"
msgstr "Siguiente modo de ajuste"
-#: editor_actions.cc:490
+#: editor_actions.cc:525
msgid "Next Snap Choice"
msgstr "Siguiente elección de ajuste"
-#: editor_actions.cc:491
+#: editor_actions.cc:526
msgid "Next Musical Snap Choice"
msgstr "Siguiente selección de ajuste musical"
-#: editor_actions.cc:492
+#: editor_actions.cc:527
msgid "Previous Snap Choice"
msgstr "Elección de ajuste anterior"
-#: editor_actions.cc:493
+#: editor_actions.cc:528
msgid "Previous Musical Snap Choice"
msgstr "Selección de ajuste musical anterior"
-#: editor_actions.cc:498
+#: editor_actions.cc:533
msgid "Snap to CD Frame"
msgstr "Ajustar a cuadros CD"
-#: editor_actions.cc:499
+#: editor_actions.cc:534
msgid "Snap to Timecode Frame"
msgstr "Ajustar a muestras Timecode"
-#: editor_actions.cc:500
+#: editor_actions.cc:535
msgid "Snap to Timecode Seconds"
msgstr "Ajustar a segundos Timecode"
-#: editor_actions.cc:501
+#: editor_actions.cc:536
msgid "Snap to Timecode Minutes"
msgstr "Ajustar a minutos Timecode"
-#: editor_actions.cc:502
+#: editor_actions.cc:537
msgid "Snap to Seconds"
msgstr "Ajustar a segundos"
-#: editor_actions.cc:503
+#: editor_actions.cc:538
msgid "Snap to Minutes"
msgstr "Ajustar a minutos"
-#: editor_actions.cc:505
+#: editor_actions.cc:540
msgid "Snap to One Twenty Eighths"
msgstr "Ajustar a pulsos/128"
-#: editor_actions.cc:506
+#: editor_actions.cc:541
msgid "Snap to Sixty Fourths"
msgstr "Ajustar a pulsos/64"
-#: editor_actions.cc:507
+#: editor_actions.cc:542
msgid "Snap to Thirty Seconds"
msgstr "Ajustar a pulsos/32"
-#: editor_actions.cc:508
+#: editor_actions.cc:543
msgid "Snap to Twenty Eighths"
msgstr "Ajustar a pulsos/28"
-#: editor_actions.cc:509
+#: editor_actions.cc:544
msgid "Snap to Twenty Fourths"
msgstr "Ajustar a pulsos/24"
-#: editor_actions.cc:510
+#: editor_actions.cc:545
msgid "Snap to Twentieths"
msgstr "Ajustar a pulsos/20"
-#: editor_actions.cc:511
+#: editor_actions.cc:546
msgid "Snap to Sixteenths"
msgstr "Ajustar a pulsos/16"
-#: editor_actions.cc:512
+#: editor_actions.cc:547
msgid "Snap to Fourteenths"
msgstr "Ajustar a pulsos/14"
-#: editor_actions.cc:513
+#: editor_actions.cc:548
msgid "Snap to Twelfths"
msgstr "Ajustar a pulsos/12"
-#: editor_actions.cc:514
+#: editor_actions.cc:549
msgid "Snap to Tenths"
msgstr "Ajustar a pulsos/10"
-#: editor_actions.cc:515
+#: editor_actions.cc:550
msgid "Snap to Eighths"
msgstr "Ajustar a pulsos/8"
-#: editor_actions.cc:516
+#: editor_actions.cc:551
msgid "Snap to Sevenths"
msgstr "Ajustar a pulsos/7"
-#: editor_actions.cc:517
+#: editor_actions.cc:552
msgid "Snap to Sixths"
msgstr "Ajustar a pulsos/6"
-#: editor_actions.cc:518
+#: editor_actions.cc:553
msgid "Snap to Fifths"
msgstr "Ajustar a pulsos/5"
-#: editor_actions.cc:519
+#: editor_actions.cc:554
msgid "Snap to Quarters"
msgstr "Ajustar a pulsos/4"
-#: editor_actions.cc:520
+#: editor_actions.cc:555
msgid "Snap to Thirds"
msgstr "Ajustar a pulsos/3"
-#: editor_actions.cc:521
+#: editor_actions.cc:556
msgid "Snap to Halves"
msgstr "Ajustar a pulsos/2"
-#: editor_actions.cc:523
+#: editor_actions.cc:558
msgid "Snap to Beat"
msgstr "Ajustar a pulsos"
-#: editor_actions.cc:524
+#: editor_actions.cc:559
msgid "Snap to Bar"
msgstr "Ajustar a compases"
-#: editor_actions.cc:525
+#: editor_actions.cc:560
msgid "Snap to Mark"
msgstr "Ajustar a marcas"
-#: editor_actions.cc:526
+#: editor_actions.cc:561
msgid "Snap to Region Start"
msgstr "Ajustar a inicios de región"
-#: editor_actions.cc:527
+#: editor_actions.cc:562
msgid "Snap to Region End"
msgstr "Ajustar a finales de región"
-#: editor_actions.cc:528
+#: editor_actions.cc:563
msgid "Snap to Region Sync"
msgstr "Ajustar a sincronías de región"
-#: editor_actions.cc:529
+#: editor_actions.cc:564
msgid "Snap to Region Boundary"
msgstr "Ajustar a bordes de región"
-#: editor_actions.cc:531
+#: editor_actions.cc:566
msgid "Show Marker Lines"
msgstr "Mostrar líneas de marca"
-#: editor_actions.cc:541
+#: editor_actions.cc:576
msgid "Loop/Punch"
msgstr "Bucle/Pinchazo"
-#: editor_actions.cc:545
+#: editor_actions.cc:580
msgid "Min:Sec"
msgstr "Mins:Segs"
-#: editor_actions.cc:547 editor_actions.cc:550
+#: editor_actions.cc:582 editor_actions.cc:585
msgid "Video Monitor"
msgstr ""
-#: editor_actions.cc:549 rc_option_editor.cc:1829
+#: editor_actions.cc:584 rc_option_editor.cc:2134
msgid "Video"
msgstr ""
-#: editor_actions.cc:552
+#: editor_actions.cc:587
msgid "Always on Top"
msgstr ""
-#: editor_actions.cc:554
+#: editor_actions.cc:589
msgid "Frame number"
msgstr ""
-#: editor_actions.cc:555
+#: editor_actions.cc:590
msgid "Timecode Background"
msgstr ""
-#: editor_actions.cc:556
+#: editor_actions.cc:591
msgid "Fullscreen"
msgstr ""
-#: editor_actions.cc:557
+#: editor_actions.cc:592
msgid "Letterbox"
msgstr ""
-#: editor_actions.cc:558
+#: editor_actions.cc:593
msgid "Original Size"
msgstr ""
-#: editor_actions.cc:608
+#: editor_actions.cc:650
msgid "Sort"
msgstr "Ordenar"
-# en realidad no existe este término en el español...
-#: editor_actions.cc:610 region_editor.cc:51
-msgid "Audition"
-msgstr "Escucha"
-
-#: editor_actions.cc:619 editor_routes.cc:470 mixer_ui.cc:1161
+#: editor_actions.cc:661 editor_routes.cc:473 mixer_ui.cc:1181
msgid "Show All"
msgstr "Mostrar todo"
-#: editor_actions.cc:620
+#: editor_actions.cc:662
msgid "Show Automatic Regions"
msgstr "Mostrar regiones automáticas"
-#: editor_actions.cc:622
+#: editor_actions.cc:664
msgid "Ascending"
msgstr "Ascendente"
-#: editor_actions.cc:624
+#: editor_actions.cc:666
msgid "Descending"
msgstr "Descendente"
-#: editor_actions.cc:627
+#: editor_actions.cc:669
msgid "By Region Name"
msgstr "Por nombre de región"
-#: editor_actions.cc:629
+#: editor_actions.cc:671
msgid "By Region Length"
msgstr "Por duración de región"
-#: editor_actions.cc:631
+#: editor_actions.cc:673
msgid "By Region Position"
msgstr "Por posición de región"
-#: editor_actions.cc:633
+#: editor_actions.cc:675
msgid "By Region Timestamp"
msgstr "Por timestamp de región"
-#: editor_actions.cc:635
+#: editor_actions.cc:677
msgid "By Region Start in File"
msgstr "Por inicio de región en archivo"
-#: editor_actions.cc:637
+#: editor_actions.cc:679
msgid "By Region End in File"
msgstr "Por fin de región en archivo"
-#: editor_actions.cc:639
+#: editor_actions.cc:681
msgid "By Source File Name"
msgstr "Por nombre de archivo"
-#: editor_actions.cc:641
+#: editor_actions.cc:683
msgid "By Source File Length"
msgstr "Por duración de archivo"
-#: editor_actions.cc:643
+#: editor_actions.cc:685
msgid "By Source File Creation Date"
msgstr "Por fecha de creación"
-#: editor_actions.cc:645
+#: editor_actions.cc:687
msgid "By Source Filesystem"
msgstr "Por sistema de archivos"
-#: editor_actions.cc:648
+#: editor_actions.cc:690
msgid "Remove Unused"
msgstr "Eliminar no usados"
-#: editor_actions.cc:652 editor_audio_import.cc:279
+#: editor_actions.cc:694 editor_audio_import.cc:277
#: session_import_dialog.cc:74 session_import_dialog.cc:94
-#: session_metadata_dialog.cc:297 editor_videotimeline.cc:108
+#: session_metadata_dialog.cc:297 editor_videotimeline.cc:92
msgid "Import"
msgstr "Importar"
-#: editor_actions.cc:655
+#: editor_actions.cc:697
msgid "Import to Region List..."
msgstr "Importar a lista de regiones..."
-#: editor_actions.cc:658 session_import_dialog.cc:43
+#: editor_actions.cc:700 session_import_dialog.cc:43
msgid "Import From Session"
msgstr "Exportar desde sesión"
-#: editor_actions.cc:661
+#: editor_actions.cc:704
+msgid "Bring all media into session folder"
+msgstr ""
+
+#: editor_actions.cc:707
msgid "Show Summary"
msgstr "Mostrar resumen"
-#: editor_actions.cc:663
+#: editor_actions.cc:709
msgid "Show Group Tabs"
msgstr "Mostrar pestañas de grupos"
-#: editor_actions.cc:665
+#: editor_actions.cc:711
msgid "Show Measures"
msgstr "Mostrar compases"
-#: editor_actions.cc:669
+#: editor_actions.cc:715
msgid "Show Logo"
msgstr "Mostrar logo"
-#: editor_actions.cc:673
+#: editor_actions.cc:719
msgid "Toggle MIDI Input Active for Editor-Selected Tracks/Busses"
msgstr ""
"Conmutar \"Entrada MIDI activa\" para pistas y buses seleccionadas para "
"edición"
-#: editor_actions.cc:696
+#: editor_actions.cc:742
msgid "Loaded editor bindings from %1"
msgstr "Cargando editor de combinaciones de teclas desde %1"
-#: editor_actions.cc:698
+#: editor_actions.cc:744
msgid "Could not find editor.bindings in search path %1"
msgstr "Could not find editor.bindings in search path %1"
-#: editor_actions.cc:1028 editor_actions.cc:1424 editor_actions.cc:1435
-#: editor_actions.cc:1488 editor_actions.cc:1499 editor_actions.cc:1546
-#: editor_actions.cc:1556 editor_regions.cc:1561
+#: editor_actions.cc:1074 editor_actions.cc:1470 editor_actions.cc:1481
+#: editor_actions.cc:1534 editor_actions.cc:1545 editor_actions.cc:1592
+#: editor_actions.cc:1602 editor_regions.cc:1562
msgid "programming error: %1: %2"
msgstr "programming error: %1: %2"
-#: editor_actions.cc:1722
+#: editor_actions.cc:1770
msgid "Raise"
msgstr "Levantar"
-#: editor_actions.cc:1725
+#: editor_actions.cc:1773
msgid "Raise to Top"
msgstr "Levantar a capa superior"
-#: editor_actions.cc:1728 gtk-custom-ruler.c:132
+#: editor_actions.cc:1776
msgid "Lower"
msgstr "Bajar"
-#: editor_actions.cc:1731
+#: editor_actions.cc:1779
msgid "Lower to Bottom"
msgstr "Bajar a capa inferior"
-#: editor_actions.cc:1734
+#: editor_actions.cc:1782
msgid "Move to Original Position"
msgstr "Mover a posición original"
-#: editor_actions.cc:1739
+#: editor_actions.cc:1787
msgid "Lock to Video"
msgstr ""
-#: editor_actions.cc:1744 editor_markers.cc:867
+#: editor_actions.cc:1792 editor_markers.cc:881
msgid "Glue to Bars and Beats"
msgstr "Adherir a compases y pulsos"
-#: editor_actions.cc:1749
+#: editor_actions.cc:1797
msgid "Remove Sync"
msgstr "Eliminar sincronía"
-#: editor_actions.cc:1752 mixer_strip.cc:1904 route_time_axis.cc:209
-msgid "Mute"
-msgstr "Mudo"
-
-#: editor_actions.cc:1755
+#: editor_actions.cc:1803
msgid "Normalize..."
msgstr "Normalizar..."
-#: editor_actions.cc:1758
+#: editor_actions.cc:1806
msgid "Reverse"
msgstr "Al revés"
-#: editor_actions.cc:1761
+#: editor_actions.cc:1809
msgid "Make Mono Regions"
msgstr "Crear regiones mono"
-#: editor_actions.cc:1764
+#: editor_actions.cc:1812
msgid "Boost Gain"
msgstr "Amplificar ganancia"
-#: editor_actions.cc:1767
+#: editor_actions.cc:1815
msgid "Cut Gain"
msgstr "Reducir ganancia"
-#: editor_actions.cc:1770
+#: editor_actions.cc:1818
msgid "Pitch Shift..."
msgstr "Cambiar tono..."
-#: editor_actions.cc:1773
+#: editor_actions.cc:1821
msgid "Transpose..."
msgstr "Transponer..."
-#: editor_actions.cc:1776
+#: editor_actions.cc:1824
msgid "Opaque"
msgstr "Opaca"
-#: editor_actions.cc:1780 editor_regions.cc:116
+#: editor_actions.cc:1828 editor_regions.cc:117
msgid "Fade In"
msgstr "Fundido de entrada"
-#: editor_actions.cc:1785 editor_regions.cc:117
+#: editor_actions.cc:1833 editor_regions.cc:118
msgid "Fade Out"
msgstr "Fundido de salida"
-#: editor_actions.cc:1800
+#: editor_actions.cc:1848
msgid "Multi-Duplicate..."
msgstr "Duplicado múltiple..."
-#: editor_actions.cc:1805
+#: editor_actions.cc:1853
msgid "Fill Track"
msgstr "Llenar pista"
-#: editor_actions.cc:1809 editor_markers.cc:955
+#: editor_actions.cc:1857 editor_markers.cc:969
msgid "Set Loop Range"
msgstr "Crear rango de bucle"
-#: editor_actions.cc:1816
+#: editor_actions.cc:1864
msgid "Set Punch"
msgstr "Establecer pinchazo"
-#: editor_actions.cc:1820
+#: editor_actions.cc:1868
msgid "Add Single Range Marker"
msgstr "Añadir marca de rango simple"
-#: editor_actions.cc:1825
+#: editor_actions.cc:1873
msgid "Add Range Marker Per Region"
msgstr "Añadir marca de rango por región"
-#: editor_actions.cc:1829
+#: editor_actions.cc:1877
msgid "Snap Position To Grid"
msgstr "Ajustar posición a rejilla"
-#: editor_actions.cc:1832
+#: editor_actions.cc:1880
msgid "Close Gaps"
msgstr "Cerrar huecos"
-#: editor_actions.cc:1835
+#: editor_actions.cc:1883
msgid "Rhythm Ferret..."
msgstr "Rhythm Ferret..."
-#: editor_actions.cc:1838
+#: editor_actions.cc:1886
msgid "Export..."
msgstr "Exportar..."
-#: editor_actions.cc:1844
+#: editor_actions.cc:1892
msgid "Separate Under"
msgstr "Separar debajo"
-#: editor_actions.cc:1848
+#: editor_actions.cc:1896 editor_actions.cc:1897
msgid "Set Fade In Length"
msgstr "Definir duración de fundido de entrada"
-#: editor_actions.cc:1849
+#: editor_actions.cc:1898 editor_actions.cc:1899
msgid "Set Fade Out Length"
msgstr "Definir duración de fundido de salida"
-#: editor_actions.cc:1850
+#: editor_actions.cc:1901
msgid "Set Tempo from Region = Bar"
msgstr "Definir tempo según \"región = compás\""
-#: editor_actions.cc:1855
+#: editor_actions.cc:1906
msgid "Split at Percussion Onsets"
msgstr "Separar en inicios de percusión"
-#: editor_actions.cc:1860
+#: editor_actions.cc:1911
msgid "List Editor..."
msgstr "Editor de lista de eventos..."
-#: editor_actions.cc:1863
+#: editor_actions.cc:1914
msgid "Properties..."
msgstr "Propiedades..."
-#: editor_actions.cc:1867
+#: editor_actions.cc:1918
msgid "Bounce (with processing)"
msgstr "Rebotar (con procesado)"
-#: editor_actions.cc:1868
+#: editor_actions.cc:1919
msgid "Bounce (without processing)"
msgstr "Rebotar (sin procesado)"
-#: editor_actions.cc:1869
+#: editor_actions.cc:1920
msgid "Combine"
msgstr "Combinar"
-#: editor_actions.cc:1870
+#: editor_actions.cc:1921
msgid "Uncombine"
msgstr "Descombinar"
-#: editor_actions.cc:1872
+#: editor_actions.cc:1923
msgid "Spectral Analysis..."
msgstr "Análisis espectral..."
-#: editor_actions.cc:1874
+#: editor_actions.cc:1925
msgid "Reset Envelope"
msgstr "Restablecer envolvente"
-#: editor_actions.cc:1876
+#: editor_actions.cc:1927
msgid "Reset Gain"
msgstr "Restablecer ganancia"
-#: editor_actions.cc:1881
+#: editor_actions.cc:1932
msgid "Envelope Active"
msgstr "Envolvente activa"
-#: editor_actions.cc:1885
+#: editor_actions.cc:1936
msgid "Quantize..."
msgstr "Cuantificar..."
-#: editor_actions.cc:1886 editor_actions.cc:1887
+#: editor_actions.cc:1937 editor_actions.cc:1938
msgid "Insert Patch Change..."
msgstr "Insertar cambio de patch..."
-#: editor_actions.cc:1888
+#: editor_actions.cc:1939
msgid "Unlink from other copies"
msgstr "Desligar de otras copias"
-#: editor_actions.cc:1889
+#: editor_actions.cc:1940
msgid "Strip Silence..."
msgstr "Quitar silencio..."
-#: editor_actions.cc:1890
+#: editor_actions.cc:1941
msgid "Set Range Selection"
msgstr "Establecer selección de rango"
-#: editor_actions.cc:1892
+#: editor_actions.cc:1943 editor_actions.cc:1944
msgid "Nudge Later"
msgstr "Atrasar"
-#: editor_actions.cc:1893
+#: editor_actions.cc:1945 editor_actions.cc:1946
msgid "Nudge Earlier"
msgstr "Adelantar"
-#: editor_actions.cc:1898
+#: editor_actions.cc:1948
+msgid "Sequence Regions"
+msgstr ""
+
+#: editor_actions.cc:1953
msgid "Nudge Later by Capture Offset"
msgstr "Atrasar por compensación de captura"
-#: editor_actions.cc:1905
+#: editor_actions.cc:1960
msgid "Nudge Earlier by Capture Offset"
msgstr "Adelantar por compensación de captura"
-#: editor_actions.cc:1909
+#: editor_actions.cc:1964
msgid "Trim to Loop"
msgstr "Recortar a bucle"
-#: editor_actions.cc:1910
+#: editor_actions.cc:1965
msgid "Trim to Punch"
msgstr "Recortar a pinchazo"
-#: editor_actions.cc:1912
+#: editor_actions.cc:1967
msgid "Trim to Previous"
msgstr "Recortar a anterior"
-#: editor_actions.cc:1913
+#: editor_actions.cc:1968
msgid "Trim to Next"
msgstr "Recortar a siguiente"
-#: editor_actions.cc:1920
+#: editor_actions.cc:1975
msgid "Insert Region From Region List"
msgstr "Insertar región desde lista de regiones"
-#: editor_actions.cc:1926
+#: editor_actions.cc:1981
msgid "Set Sync Position"
msgstr "Establecer posición de sincronía"
-#: editor_actions.cc:1927
+#: editor_actions.cc:1982
msgid "Place Transient"
msgstr "Colocar transitorio"
-#: editor_actions.cc:1928
+#: editor_actions.cc:1983
msgid "Split"
msgstr "Separar"
-#: editor_actions.cc:1929
+#: editor_actions.cc:1984
msgid "Trim Start at Edit Point"
msgstr "Recortar inicio en punto de edición"
-#: editor_actions.cc:1930
+#: editor_actions.cc:1985
msgid "Trim End at Edit Point"
msgstr "Recortar final en punto de edición"
-#: editor_actions.cc:1935
+#: editor_actions.cc:1990
msgid "Align Start"
msgstr "Alinear inicio"
-#: editor_actions.cc:1942
+#: editor_actions.cc:1997
msgid "Align Start Relative"
msgstr "Alinear inicio relativo"
-#: editor_actions.cc:1946
+#: editor_actions.cc:2001
msgid "Align End"
msgstr "Alinear final"
-#: editor_actions.cc:1951
+#: editor_actions.cc:2006
msgid "Align End Relative"
msgstr "Alinear final relativo"
-#: editor_actions.cc:1958
+#: editor_actions.cc:2013
msgid "Align Sync"
msgstr "Alinear sincronía"
-#: editor_actions.cc:1965
+#: editor_actions.cc:2020
msgid "Align Sync Relative"
msgstr "Alinear sincronía relativo"
-#: editor_actions.cc:1969 editor_actions.cc:1972
+#: editor_actions.cc:2024 editor_actions.cc:2027
msgid "Choose Top..."
msgstr "Elegir superior..."
-#: editor_audio_import.cc:77 editor_audio_import.cc:99
+#: editor_audio_import.cc:76 editor_audio_import.cc:98
msgid "You can't import or embed an audiofile until you have a session loaded."
msgstr ""
"No puedes importar o embeber un archivo hasta tener una sesión cargada."
-#: editor_audio_import.cc:83 editor_audio_import.cc:127
+#: editor_audio_import.cc:82 editor_audio_import.cc:126
msgid "Add Existing Media"
msgstr "Añadir medios existentes"
-#: editor_audio_import.cc:177
+#: editor_audio_import.cc:175
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%1 as a new file, or skip it?"
@@ -4365,7 +4465,7 @@ msgstr ""
"La sesión ya contiene un archivo llamado %1. ¿Deseas importar %1 como un "
"nuevo archivo u omitirlo?"
-#: editor_audio_import.cc:179
+#: editor_audio_import.cc:177
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%2 as a new source, or skip it?"
@@ -4373,32 +4473,32 @@ msgstr ""
"La sesión ya contiene un archivo llamado %1. ¿Deseas importar %2 como un "
"nuevo archivo u omitirlo?"
-#: editor_audio_import.cc:279 editor_videotimeline.cc:108
+#: editor_audio_import.cc:277 editor_videotimeline.cc:92
msgid "Cancel Import"
msgstr "Cancelar Importación"
-#: editor_audio_import.cc:543
+#: editor_audio_import.cc:541
msgid "Editor: cannot open file \"%1\", (%2)"
msgstr "Editor: no se pudo abrir el archivo \"%1\", (%2)"
-#: editor_audio_import.cc:551
+#: editor_audio_import.cc:549
msgid "Cancel entire import"
msgstr "Cancelar importación completa"
-#: editor_audio_import.cc:552
+#: editor_audio_import.cc:550
msgid "Don't embed it"
msgstr "No embeber"
-#: editor_audio_import.cc:553
+#: editor_audio_import.cc:551
msgid "Embed all without questions"
msgstr "Embeber todos sin preguntas"
-#: editor_audio_import.cc:556 editor_audio_import.cc:585
-#: export_format_dialog.cc:58
+#: editor_audio_import.cc:554 editor_audio_import.cc:583
+#: export_format_dialog.cc:60
msgid "Sample rate"
msgstr "Frec. de muestreo"
-#: editor_audio_import.cc:557 editor_audio_import.cc:586
+#: editor_audio_import.cc:555 editor_audio_import.cc:584
msgid ""
"%1\n"
"This audiofile's sample rate doesn't match the session sample rate!"
@@ -4406,310 +4506,304 @@ msgstr ""
"%1\n"
"¡La frecuencia de muestreo de este archivo es diferente a la de la sesión!"
-#: editor_audio_import.cc:582
+#: editor_audio_import.cc:580
msgid "Embed it anyway"
msgstr "Embeber de todas formas"
+#: editor_drag.cc:994
+msgid "Could not create new track after region placed in the drop zone"
+msgstr ""
+
# No estoy seguro si queda bien, pero tampoco suena tan mal
-#: editor_drag.cc:1000
+#: editor_drag.cc:1100
msgid "fixed time region drag"
msgstr "Arrastre de región en tiempo fijado"
-#: editor_drag.cc:1700
+#: editor_drag.cc:1797
+msgid "Ripple drag"
+msgstr ""
+
+#: editor_drag.cc:2093
msgid "Video Start:"
msgstr ""
-#: editor_drag.cc:1702
+#: editor_drag.cc:2095
msgid "Diff:"
msgstr ""
-#: editor_drag.cc:1722
+#: editor_drag.cc:2114
msgid "Move Video"
msgstr ""
-#: editor_drag.cc:2200
+#: editor_drag.cc:2621
msgid "copy meter mark"
msgstr "copiar marca de métrica"
-#: editor_drag.cc:2208
+#: editor_drag.cc:2629
msgid "move meter mark"
msgstr "mover marca de métrica"
-#: editor_drag.cc:2320
+#: editor_drag.cc:2752
msgid "copy tempo mark"
msgstr "copiar marca de tempo"
-#: editor_drag.cc:2328
+#: editor_drag.cc:2760
msgid "move tempo mark"
msgstr "mover marca de tempo"
-#: editor_drag.cc:2550
+#: editor_drag.cc:2989
msgid "change fade in length"
msgstr "cambiar duración del fundido de entrada"
-#: editor_drag.cc:2668
+#: editor_drag.cc:3107
msgid "change fade out length"
msgstr "cambiar duración del fundido de salida"
-#: editor_drag.cc:3023
+#: editor_drag.cc:3463
msgid "move marker"
msgstr "mover marca"
-#: editor_drag.cc:3586
+#: editor_drag.cc:4046
msgid "An error occurred while executing time stretch operation"
msgstr "Ocurrió un error al ejecutar la operación de cambio de tempo"
-#: editor_drag.cc:4016
+#: editor_drag.cc:4493
msgid "programming_error: %1"
msgstr "programming_error: %1"
-#: editor_drag.cc:4086 editor_markers.cc:680
+#: editor_drag.cc:4559 editor_markers.cc:694
msgid "new range marker"
msgstr "nueva marca de rango"
-#: editor_drag.cc:4767
+#: editor_drag.cc:5259
msgid "rubberband selection"
msgstr "selección elástica"
-#: editor_route_groups.cc:66
-msgid "No Selection = All Tracks?"
-msgstr "Sin selección = ¿Todas las pistas?"
-
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Col"
msgstr "Col"
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Group Tab Color"
msgstr "Color de grupo"
-#: editor_route_groups.cc:96
+#: editor_route_groups.cc:97
msgid "Name of Group"
msgstr "Nombre de grupo"
-#: editor_route_groups.cc:97 editor_routes.cc:203
+#: editor_route_groups.cc:98 editor_routes.cc:205
msgid "V"
msgstr "V"
-#: editor_route_groups.cc:97
+#: editor_route_groups.cc:98
msgid "Group is visible?"
msgstr "¿El grupo es visible?"
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "On"
msgstr "On"
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "Group is enabled?"
msgstr "Está activado el grupo?"
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "group|G"
msgstr "Grupo|G"
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "Sharing Gain?"
msgstr "Comparte ganancia?"
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "relative|Rel"
msgstr "Relativa|Rel"
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "Relative Gain Changes?"
msgstr "¿Cambios de ganancia relativos?"
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "mute|M"
msgstr "mudo|M"
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "Sharing Mute?"
msgstr "Comparte mudo?"
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "solo|S"
msgstr "solo|S"
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "Sharing Solo?"
msgstr "Comparte solo?"
-#: editor_route_groups.cc:103 midi_time_axis.cc:1504 midi_time_axis.cc:1507
-#: midi_time_axis.cc:1510 mixer_strip.cc:1903
+#: editor_route_groups.cc:104 midi_time_axis.cc:1703 midi_time_axis.cc:1706
+#: midi_time_axis.cc:1709
msgid "Rec"
msgstr "Grb"
-#: editor_route_groups.cc:103
+#: editor_route_groups.cc:104
msgid "Sharing Record-enable Status?"
msgstr "Comparte estado de habilitado para grabación?"
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "monitoring|Mon"
msgstr "Monitorización|Mon"
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "Sharing Monitoring Choice?"
msgstr "¿Opción de compartir monitorización?"
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "selection|Sel"
msgstr "selection/Sel"
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "Sharing Selected/Editing Status?"
msgstr "Sharing Selected/Editing Status?"
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "active|A"
msgstr "Activa|A"
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "Sharing Active Status?"
msgstr "Comparte estado de activo?"
-#: editor_route_groups.cc:197
-msgid "Activate this button to operate on all tracks when none are selected."
-msgstr ""
-"Activa este botón para operar en todas las pistas cuando no hay ninguna "
-"seleccionada."
-
-#: editor_route_groups.cc:442 mixer_ui.cc:1449
+#: editor_route_groups.cc:438 mixer_ui.cc:1469
msgid "unnamed"
msgstr "sin nombre"
-#: editor_export_audio.cc:90 editor_markers.cc:695 editor_markers.cc:782
-#: editor_markers.cc:967 editor_markers.cc:985 editor_markers.cc:1003
-#: editor_markers.cc:1022 editor_markers.cc:1041 editor_markers.cc:1071
-#: editor_markers.cc:1102 editor_markers.cc:1132 editor_markers.cc:1160
-#: editor_markers.cc:1191 editor_markers.cc:1216 editor_markers.cc:1267
-#: editor_markers.cc:1311 editor_markers.cc:1337 editor_markers.cc:1526
-#: editor_mouse.cc:2528
+#: editor_export_audio.cc:92 editor_markers.cc:709 editor_markers.cc:796
+#: editor_markers.cc:981 editor_markers.cc:999 editor_markers.cc:1017
+#: editor_markers.cc:1036 editor_markers.cc:1055 editor_markers.cc:1085
+#: editor_markers.cc:1116 editor_markers.cc:1146 editor_markers.cc:1174
+#: editor_markers.cc:1205 editor_markers.cc:1230 editor_markers.cc:1281
+#: editor_markers.cc:1325 editor_markers.cc:1351 editor_markers.cc:1545
+#: editor_mouse.cc:2290
msgid "programming error: marker canvas item has no marker object pointer!"
msgstr "programming error: marker canvas item has no marker object pointer!"
-#: editor_export_audio.cc:143 editor_export_audio.cc:148
+#: editor_export_audio.cc:145 editor_export_audio.cc:150
msgid "File Exists!"
msgstr "¡El fichero existe!"
-#: editor_export_audio.cc:151
+#: editor_export_audio.cc:153
msgid "Overwrite Existing File"
msgstr "Sobreescribir archivo existente"
-#: editor_group_tabs.cc:162
+#: editor_group_tabs.cc:176
msgid "Fit to Window"
msgstr "Ajustar a ventana"
-#: editor_markers.cc:129
+#: editor_markers.cc:139
msgid "start"
msgstr "inicio"
-#: editor_markers.cc:130
+#: editor_markers.cc:140
msgid "end"
msgstr "fin"
-#: editor_markers.cc:646 editor_ops.cc:1744 editor_ops.cc:1764
-#: editor_ops.cc:1788 editor_ops.cc:1815 location_ui.cc:1017
+#: editor_markers.cc:660 editor_ops.cc:1915 editor_ops.cc:1935
+#: editor_ops.cc:1988 editor_ops.cc:2015 location_ui.cc:1019
msgid "add marker"
msgstr "añadir marca"
-#: editor_markers.cc:677
+#: editor_markers.cc:691
msgid "range"
msgstr "rango"
-#: editor_markers.cc:713 location_ui.cc:852
+#: editor_markers.cc:727 editor_ops.cc:1955 location_ui.cc:854
msgid "remove marker"
msgstr "eliminar marca"
-#: editor_markers.cc:849
+#: editor_markers.cc:863
msgid "Locate to Here"
msgstr "Posicionar aquí"
-#: editor_markers.cc:850
+#: editor_markers.cc:864
msgid "Play from Here"
msgstr "Reproducir desde aquí"
-#: editor_markers.cc:851
+#: editor_markers.cc:865
msgid "Move Mark to Playhead"
msgstr "Mover marca hasta cursor"
-#: editor_markers.cc:855
+#: editor_markers.cc:869
msgid "Create Range to Next Marker"
msgstr "Crear rango hasta marca siguiente"
# chequear en contexto
-#: editor_markers.cc:896
+#: editor_markers.cc:910
msgid "Locate to Marker"
msgstr "Localizar a marca"
-#: editor_markers.cc:897
+#: editor_markers.cc:911
msgid "Play from Marker"
msgstr "Reproducir desde marca"
-#: editor_markers.cc:900
+#: editor_markers.cc:914
msgid "Set Marker from Playhead"
msgstr "Fijar marca en cursor"
-#: editor_markers.cc:902
+#: editor_markers.cc:916
msgid "Set Range from Selection"
msgstr "Definir rango según selección"
-#: editor_markers.cc:905
-msgid "Zoom to Range"
-msgstr "Zoom a rango"
-
-#: editor_markers.cc:912
+#: editor_markers.cc:926
msgid "Hide Range"
msgstr "Ocultar rango"
-#: editor_markers.cc:913
+#: editor_markers.cc:927
msgid "Rename Range..."
msgstr "Renombrar rango..."
-#: editor_markers.cc:917
+#: editor_markers.cc:931
msgid "Remove Range"
msgstr "Eliminar rango"
-#: editor_markers.cc:924
+#: editor_markers.cc:938
msgid "Separate Regions in Range"
msgstr "Separar regiones en rango"
-#: editor_markers.cc:927
+#: editor_markers.cc:941
msgid "Select Range"
msgstr "Seleccionar rango"
# rango de pinchado? ok?
# traduzco por pinchazo, no suena muy bien. consultar
-#: editor_markers.cc:956
+#: editor_markers.cc:970
msgid "Set Punch Range"
msgstr "Crear rango de pinchazo"
-#: editor_markers.cc:1362 editor_ops.cc:1699
+#: editor_markers.cc:1376 editor_ops.cc:1870
msgid "New Name:"
msgstr "Nuevo Nombre:"
-#: editor_markers.cc:1365
+#: editor_markers.cc:1379
msgid "Rename Mark"
msgstr "Renombrar marca"
-#: editor_markers.cc:1367
+#: editor_markers.cc:1381
msgid "Rename Range"
msgstr "Renombrar rango"
-#: editor_markers.cc:1374 editor_mouse.cc:2560 processor_box.cc:1808
-#: processor_box.cc:2274 route_time_axis.cc:982 route_ui.cc:1540
+#: editor_markers.cc:1388 editor_mouse.cc:2319 processor_box.cc:2038
+#: processor_box.cc:2508 route_time_axis.cc:1073 route_ui.cc:1622
msgid "Rename"
msgstr "Renombrar"
-#: editor_markers.cc:1387
+#: editor_markers.cc:1401
msgid "rename marker"
msgstr "renombrar marca"
-#: editor_markers.cc:1411
+#: editor_markers.cc:1425
msgid "set loop range"
msgstr "crear rango de bucle"
-#: editor_markers.cc:1417
+#: editor_markers.cc:1431
msgid "set punch range"
msgstr "crear rango de pinchazo"
@@ -4719,11 +4813,21 @@ msgstr ""
"Esta pantalla no es lo bastante alta para mostrar el mezclador en la ventana "
"del Editor"
-#: editor_mouse.cc:172
-msgid "Editor::event_frame() used on unhandled event type %1"
-msgstr "Editor::event_frame() used on unhandled event type %1"
+#: editor_mouse.cc:1384 editor_mouse.cc:1402 editor_tempodisplay.cc:273
+msgid ""
+"programming error: tempo marker canvas item has no marker object pointer!"
+msgstr ""
+"programming error: tempo marker canvas item has no marker object pointer!"
+
+#: editor_mouse.cc:1389 editor_tempodisplay.cc:278
+msgid "programming error: marker for tempo is not a tempo marker!"
+msgstr "programming error: marker for tempo is not a tempo marker!"
+
+#: editor_mouse.cc:1407 editor_tempodisplay.cc:382
+msgid "programming error: marker for meter is not a meter marker!"
+msgstr "programming error: marker for meter is not a meter marker!"
-#: editor_mouse.cc:2285 editor_mouse.cc:2310 editor_mouse.cc:2323
+#: editor_mouse.cc:2047 editor_mouse.cc:2072 editor_mouse.cc:2085
msgid ""
"programming error: control point canvas item has no control point object "
"pointer!"
@@ -4731,175 +4835,175 @@ msgstr ""
"programming error: control point canvas item has no control point object "
"pointer!"
-#: editor_mouse.cc:2466
+#: editor_mouse.cc:2228
msgid "start point trim"
msgstr "recortar inicio"
-#: editor_mouse.cc:2491
+#: editor_mouse.cc:2253
msgid "End point trim"
msgstr "recortar final"
-#: editor_mouse.cc:2558
+#: editor_mouse.cc:2317
msgid "Name for region:"
msgstr "Nombre de región:"
-#: editor_ops.cc:140
+#: editor_ops.cc:147
msgid "split"
msgstr "separar"
-#: editor_ops.cc:256
+#: editor_ops.cc:291
msgid "alter selection"
msgstr "modificar selección"
-#: editor_ops.cc:298
+#: editor_ops.cc:333
msgid "nudge regions forward"
msgstr "empujar regiones adelante"
-#: editor_ops.cc:321 editor_ops.cc:406
+#: editor_ops.cc:356 editor_ops.cc:441
msgid "nudge location forward"
msgstr "empujar posición adelante"
-#: editor_ops.cc:379
+#: editor_ops.cc:414
msgid "nudge regions backward"
msgstr "empujar regiones atrás"
-#: editor_ops.cc:468
+#: editor_ops.cc:503
msgid "nudge forward"
msgstr "empujar adelante"
-#: editor_ops.cc:492
+#: editor_ops.cc:527
msgid "nudge backward"
msgstr "empujar atrás"
-#: editor_ops.cc:557
+#: editor_ops.cc:570
+msgid "sequence regions"
+msgstr ""
+
+#: editor_ops.cc:646
msgid "build_region_boundary_cache called with snap_type = %1"
msgstr "build_region_boundary_cache called with snap_type = %1"
-#: editor_ops.cc:1701
+#: editor_ops.cc:1872
msgid "New Location Marker"
msgstr "Nueva marca de posición"
-#: editor_ops.cc:1788
+#: editor_ops.cc:1988
msgid "add markers"
msgstr "añadir marcas"
-#: editor_ops.cc:1894
+#: editor_ops.cc:2094
msgid "clear markers"
msgstr "borrar marcas"
-#: editor_ops.cc:1907
+#: editor_ops.cc:2107
msgid "clear ranges"
msgstr "borrar rangos"
-#: editor_ops.cc:1929
+#: editor_ops.cc:2129
msgid "clear locations"
msgstr "borrar posiciones"
-#: editor_ops.cc:2000
-msgid "insert dragged region"
-msgstr "insertar región arrastrada"
-
-#: editor_ops.cc:2078
+#: editor_ops.cc:2191
msgid "insert region"
msgstr "insertar región"
-#: editor_ops.cc:2261
+#: editor_ops.cc:2377
msgid "raise regions"
msgstr "levantar regiones"
-#: editor_ops.cc:2263
+#: editor_ops.cc:2379
msgid "raise region"
msgstr "levantar región"
-#: editor_ops.cc:2269
+#: editor_ops.cc:2385
msgid "raise regions to top"
msgstr "levantar regiones a capa superior"
-#: editor_ops.cc:2271
+#: editor_ops.cc:2387
msgid "raise region to top"
msgstr "levantar región a capa superior"
-#: editor_ops.cc:2277
+#: editor_ops.cc:2393
msgid "lower regions"
msgstr "bajar regiones"
-#: editor_ops.cc:2279 editor_ops.cc:2287
+#: editor_ops.cc:2395 editor_ops.cc:2403
msgid "lower region"
msgstr "bajar región"
-#: editor_ops.cc:2285
+#: editor_ops.cc:2401
msgid "lower regions to bottom"
msgstr "bajar regiones a capa inferior"
-#: editor_ops.cc:2370
+#: editor_ops.cc:2486
msgid "Rename Region"
msgstr "Renombrar región"
-#: editor_ops.cc:2372 processor_box.cc:1806 route_ui.cc:1538
+#: editor_ops.cc:2488 processor_box.cc:2036 route_ui.cc:1620
msgid "New name:"
msgstr "Nuevo nombre: "
-#: editor_ops.cc:2682
+#: editor_ops.cc:2798
msgid "separate"
msgstr "separar"
-#: editor_ops.cc:2795
+#: editor_ops.cc:2910
msgid "separate region under"
msgstr "separar regiones bajo"
-#: editor_ops.cc:2916
+#: editor_ops.cc:3031
msgid "trim to selection"
msgstr "recortar según selección"
-#: editor_ops.cc:3052
+#: editor_ops.cc:3167
msgid "set sync point"
msgstr "definir punto de sincronía"
-#: editor_ops.cc:3076
+#: editor_ops.cc:3191
msgid "remove region sync"
msgstr "eliminar sincronía de región"
-#: editor_ops.cc:3098
+#: editor_ops.cc:3213
msgid "move regions to original position"
msgstr "mover regiones a posición original"
-#: editor_ops.cc:3100
+#: editor_ops.cc:3215
msgid "move region to original position"
msgstr "mover región a posición original"
-#: editor_ops.cc:3121
+#: editor_ops.cc:3236
msgid "align selection"
msgstr "alinear selección"
-#: editor_ops.cc:3195
+#: editor_ops.cc:3310
msgid "align selection (relative)"
msgstr "alinear selección (relativo)"
-#: editor_ops.cc:3229
+#: editor_ops.cc:3344
msgid "align region"
msgstr "alinear región"
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim front"
msgstr "recortar inicio"
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim back"
msgstr "recortar final"
-#: editor_ops.cc:3310
+#: editor_ops.cc:3425
msgid "trim to loop"
msgstr "recortar a bucle"
-#: editor_ops.cc:3320
+#: editor_ops.cc:3435
msgid "trim to punch"
msgstr "recortar a pinchazo"
-#: editor_ops.cc:3382
+#: editor_ops.cc:3497
msgid "trim to region"
msgstr "recortar a región"
-#: editor_ops.cc:3492
+#: editor_ops.cc:3605
msgid ""
"This track/bus cannot be frozen because the signal adds or loses channels "
"before reaching the outputs.\n"
@@ -4911,11 +5015,11 @@ msgstr ""
"Típicamente, esto es causado por plugins que generan salida estéreo desde "
"entrada mono o viceversa."
-#: editor_ops.cc:3495
+#: editor_ops.cc:3608
msgid "Cannot freeze"
msgstr "No se puede congelar"
-#: editor_ops.cc:3501
+#: editor_ops.cc:3614
msgid ""
"<b>%1</b>\n"
"\n"
@@ -4930,23 +5034,23 @@ msgstr ""
"\n"
"Congelarla sólo procesará la señal hasta el primer envío/inserción/retorno."
-#: editor_ops.cc:3505
+#: editor_ops.cc:3618
msgid "Freeze anyway"
msgstr "Congelar de todas formas"
-#: editor_ops.cc:3506
+#: editor_ops.cc:3619
msgid "Don't freeze"
msgstr "No congelar"
-#: editor_ops.cc:3507
+#: editor_ops.cc:3620
msgid "Freeze Limits"
msgstr "Límites de congelado"
-#: editor_ops.cc:3522
+#: editor_ops.cc:3635
msgid "Cancel Freeze"
msgstr "Cancelar congelado"
-#: editor_ops.cc:3553
+#: editor_ops.cc:3666
msgid ""
"You can't perform this operation because the processing of the signal will "
"cause one or more of the tracks to end up with a region with more channels "
@@ -4960,54 +5064,66 @@ msgstr ""
"\n"
"Puedes hacer esto sin procesado, lo cual es una operación diferente."
-#: editor_ops.cc:3557
+#: editor_ops.cc:3670
msgid "Cannot bounce"
msgstr "No se puede rebotar"
# ¿cómo traducir 'bounce'?
# lo he visto en otros softwares como 'rebotar' pero ¿realmente se utiliza ese término en el español?
# Creo que es mejor rebotar, aunque suene un poco raro, que dejarlo en bounce.
-#: editor_ops.cc:3568
+#: editor_ops.cc:3681
msgid "bounce range"
msgstr "rebotar rango"
-#: editor_ops.cc:3678
+#: editor_ops.cc:3783
msgid "delete"
msgstr "eliminar"
-#: editor_ops.cc:3681
+#: editor_ops.cc:3786
msgid "cut"
msgstr "cortar"
-#: editor_ops.cc:3684
+#: editor_ops.cc:3789
msgid "copy"
msgstr "copiar"
-#: editor_ops.cc:3687
+#: editor_ops.cc:3792
msgid "clear"
msgstr "limpiar"
-#: editor_ops.cc:3785
-msgid " objects"
-msgstr "objetos"
+#: editor_ops.cc:3845
+msgid " points"
+msgstr ""
+
+#: editor_ops.cc:3856
+msgid "points"
+msgstr ""
+
+#: editor_ops.cc:3858
+msgid "regions"
+msgstr ""
+
+#: editor_ops.cc:3860
+msgid "objects"
+msgstr ""
-#: editor_ops.cc:3815
+#: editor_ops.cc:3890
msgid " range"
msgstr "rango"
-#: editor_ops.cc:3957 editor_ops.cc:3984
+#: editor_ops.cc:4059
msgid "remove region"
msgstr "eliminar región"
-#: editor_ops.cc:4391
+#: editor_ops.cc:4475
msgid "duplicate selection"
msgstr "duplicar selección"
-#: editor_ops.cc:4469
+#: editor_ops.cc:4553
msgid "nudge track"
msgstr "empujar pista"
-#: editor_ops.cc:4506
+#: editor_ops.cc:4590
msgid ""
"Do you really want to destroy the last capture?\n"
"(This is destructive and cannot be undone)"
@@ -5015,132 +5131,140 @@ msgstr ""
"¿De verdad quieres borrar la última captura?\n"
"(Es una acción destructiva que no podrás deshacer)"
-#: editor_ops.cc:4509 editor_ops.cc:6512 editor_regions.cc:460
-#: editor_snapshots.cc:158 route_ui.cc:1482
+#: editor_ops.cc:4593 editor_ops.cc:6594 editor_regions.cc:461
+#: editor_snapshots.cc:159 route_ui.cc:1563
msgid "No, do nothing."
msgstr "No, no hagas nada"
-#: editor_ops.cc:4510
+#: editor_ops.cc:4594
msgid "Yes, destroy it."
msgstr "Sí, eliminar"
-#: editor_ops.cc:4512
+#: editor_ops.cc:4596
msgid "Destroy last capture"
msgstr "Destruir última captura"
-#: editor_ops.cc:4573
+#: editor_ops.cc:4657
msgid "normalize"
msgstr "normalizar"
-#: editor_ops.cc:4668
+#: editor_ops.cc:4752
msgid "reverse regions"
msgstr "al revés"
-#: editor_ops.cc:4702
+#: editor_ops.cc:4786
msgid "strip silence"
msgstr "quitar silencio"
-#: editor_ops.cc:4763
+#: editor_ops.cc:4847
msgid "Fork Region(s)"
msgstr "Ramificar región(es)"
-#: editor_ops.cc:4963
+#: editor_ops.cc:4868
+msgid "Could not unlink %1"
+msgstr ""
+
+#: editor_ops.cc:5052
msgid "reset region gain"
msgstr "restablecer ganancia de región"
-#: editor_ops.cc:5016
+#: editor_ops.cc:5105
msgid "region gain envelope active"
msgstr "envolvente de ganancia de región activa"
-#: editor_ops.cc:5043
+#: editor_ops.cc:5132
msgid "toggle region lock"
msgstr "conmutar bloqueo de región"
-#: editor_ops.cc:5067
+#: editor_ops.cc:5156
msgid "Toggle Video Lock"
msgstr ""
-#: editor_ops.cc:5091
+#: editor_ops.cc:5180
msgid "region lock style"
msgstr "estilo de bloqueo de región"
-#: editor_ops.cc:5116
+#: editor_ops.cc:5205
msgid "change region opacity"
msgstr "cambiar opacidad de región"
-#: editor_ops.cc:5231
+#: editor_ops.cc:5298
+msgid "fade range"
+msgstr ""
+
+#: editor_ops.cc:5336
msgid "set fade in length"
msgstr "definir duración del fundido de entrada"
-#: editor_ops.cc:5238
+#: editor_ops.cc:5343
msgid "set fade out length"
msgstr "definir duración del fundido de salida"
-#: editor_ops.cc:5283
+#: editor_ops.cc:5388
msgid "set fade in shape"
msgstr "ajustar curva de fundido de entrada"
-#: editor_ops.cc:5314
+#: editor_ops.cc:5419
msgid "set fade out shape"
msgstr "ajustar curva de fundido de salida"
-#: editor_ops.cc:5344
+#: editor_ops.cc:5449
msgid "set fade in active"
msgstr "activar fundido de entrada"
-#: editor_ops.cc:5373
+#: editor_ops.cc:5478
msgid "set fade out active"
msgstr "activar fundido de salida"
-#: editor_ops.cc:5638
+#: editor_ops.cc:5713
msgid "set loop range from selection"
msgstr "crear rango de bucle desde selección"
-#: editor_ops.cc:5660
+#: editor_ops.cc:5735
msgid "set loop range from edit range"
msgstr "crear rango de bucle desde rango de edición"
-#: editor_ops.cc:5689
+#: editor_ops.cc:5764
msgid "set loop range from region"
msgstr "crear rango de bucle desde región"
-#: editor_ops.cc:5707
+#: editor_ops.cc:5782
msgid "set punch range from selection"
msgstr "crear rango de pinchazo desde selección"
-#: editor_ops.cc:5724
+#: editor_ops.cc:5799
msgid "set punch range from edit range"
msgstr "crear rango de pinchazo desde rango de edición"
-#: editor_ops.cc:5748
+#: editor_ops.cc:5823
msgid "set punch range from region"
msgstr "crear rango de pinchazo desde región"
-#: editor_ops.cc:5857
+#: editor_ops.cc:5932
msgid "Add new marker"
msgstr "Añadir marca nueva"
-#: editor_ops.cc:5858
+#: editor_ops.cc:5933
msgid "Set global tempo"
msgstr "Definir tempo global"
-#: editor_ops.cc:5861
+#: editor_ops.cc:5936
msgid "Define one bar"
msgstr "Definir un compás"
-#: editor_ops.cc:5862
+#: editor_ops.cc:5937
msgid "Do you want to set the global tempo or add a new tempo marker?"
msgstr "¿Quieres definir el tempo global o añadir una nueva marca de tempo?"
-#: editor_ops.cc:5888
+#: editor_ops.cc:5963
msgid "set tempo from region"
msgstr "definir tempo a partir de región"
-#: editor_ops.cc:5918
+#: editor_ops.cc:5993
msgid "split regions"
msgstr "separar regiones"
-#: editor_ops.cc:5960
+#: editor_ops.cc:6035
msgid ""
"You are about to split\n"
"%1\n"
@@ -5153,11 +5277,11 @@ msgstr ""
"Esto puede llevar un buen rato."
# ok?
-#: editor_ops.cc:5967
+#: editor_ops.cc:6042
msgid "Call for the Ferret!"
msgstr "¡Llamada al Ferret!"
-#: editor_ops.cc:5968
+#: editor_ops.cc:6043
msgid ""
"Press OK to continue with this split operation\n"
"or ask the Ferret dialog to tune the analysis"
@@ -5165,52 +5289,52 @@ msgstr ""
"Pulsa OK para continuar con esta operación de separación\n"
"o ajusta el análisis en la ventana de Rhythm Ferret"
-#: editor_ops.cc:5970
+#: editor_ops.cc:6045
msgid "Press OK to continue with this split operation"
msgstr "Pulsa OK para continuar con esta operación de separación"
-#: editor_ops.cc:5973
+#: editor_ops.cc:6048
msgid "Excessive split?"
msgstr "¿Excesivas divisiones?"
-#: editor_ops.cc:6125
+#: editor_ops.cc:6200
msgid "place transient"
msgstr "place transient"
-#: editor_ops.cc:6160
+#: editor_ops.cc:6235
msgid "snap regions to grid"
msgstr "ajustar regiones a rejilla"
-#: editor_ops.cc:6199
+#: editor_ops.cc:6274
msgid "Close Region Gaps"
msgstr "Cerrar huecos de regiones"
-#: editor_ops.cc:6204
+#: editor_ops.cc:6279
msgid "Crossfade length"
msgstr "Duración de fundido cruzado"
-#: editor_ops.cc:6213 editor_ops.cc:6224 rhythm_ferret.cc:120
-#: session_option_editor.cc:153
+#: editor_ops.cc:6288 editor_ops.cc:6299 rhythm_ferret.cc:119
+#: session_option_editor.cc:141
msgid "ms"
msgstr "ms"
-#: editor_ops.cc:6215
+#: editor_ops.cc:6290
msgid "Pull-back length"
msgstr "Duración de pull-back"
-#: editor_ops.cc:6228
+#: editor_ops.cc:6303
msgid "Ok"
msgstr "Ok"
-#: editor_ops.cc:6243
+#: editor_ops.cc:6318
msgid "close region gaps"
msgstr "cerrar huecos de regiones"
-#: editor_ops.cc:6461 route_ui.cc:1456
+#: editor_ops.cc:6543 route_ui.cc:1537
msgid "That would be bad news ...."
msgstr "That would be bad news ...."
-#: editor_ops.cc:6466 route_ui.cc:1461
+#: editor_ops.cc:6548 route_ui.cc:1542
msgid ""
"Removing the master or monitor bus is such a bad idea\n"
"that %1 is not going to allow it.\n"
@@ -5226,24 +5350,24 @@ msgstr ""
"edita tu archivo ardour.rc para establecer la\n"
"opción \"allow-special-bus-removal\" a \"yes\""
-#: editor_ops.cc:6483
+#: editor_ops.cc:6565
msgid "tracks"
msgstr "pistas"
-#: editor_ops.cc:6485 route_ui.cc:1821
+#: editor_ops.cc:6567 route_ui.cc:1978
msgid "track"
msgstr "pista"
# es correcto utilizar 'buses' en español? -> al parecer sí, desde hace poc. Chequear: http://buscon.rae.es/draeI/SrvltObtenerHtml?IDLEMA=12558&NEDIC=Si
-#: editor_ops.cc:6489
+#: editor_ops.cc:6571
msgid "busses"
msgstr "buses"
-#: editor_ops.cc:6491 route_ui.cc:1821
+#: editor_ops.cc:6573 route_ui.cc:1978
msgid "bus"
msgstr "bus"
-#: editor_ops.cc:6496
+#: editor_ops.cc:6578
msgid ""
"Do you really want to remove %1 %2 and %3 %4?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5256,7 +5380,7 @@ msgstr ""
"\n"
"¡Esta acción no se puede deshacer y sobrescribirá el archivo de sesión!"
-#: editor_ops.cc:6501
+#: editor_ops.cc:6583
msgid ""
"Do you really want to remove %1 %2?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5269,7 +5393,7 @@ msgstr ""
"\n"
"¡Esta acción no se puede deshacer y sobrescribirá el archivo de sesión!"
-#: editor_ops.cc:6507
+#: editor_ops.cc:6589
msgid ""
"Do you really want to remove %1 %2?\n"
"\n"
@@ -5278,123 +5402,139 @@ msgstr ""
"¿De verdad deseas eliminar %1 %2?\n"
"Esta acción no se puede deshacer y sobrescribirá el archivo de sesión"
-#: editor_ops.cc:6514
+#: editor_ops.cc:6596
msgid "Yes, remove them."
msgstr "Sí, elimínalas."
-#: editor_ops.cc:6516 editor_snapshots.cc:159 route_ui.cc:1483
+#: editor_ops.cc:6598 editor_snapshots.cc:160 route_ui.cc:1564
msgid "Yes, remove it."
msgstr "Sí, elimínala"
-#: editor_ops.cc:6521 editor_ops.cc:6523
+#: editor_ops.cc:6603 editor_ops.cc:6605
msgid "Remove %1"
msgstr "Eliminar %1"
-#: editor_ops.cc:6582
+#: editor_ops.cc:6668
msgid "insert time"
msgstr "insertar tiempo"
-#: editor_ops.cc:6739
+#: editor_ops.cc:6832
msgid "There are too many tracks to fit in the current window"
msgstr "Hay demasiadas pistas para encajar en la ventana actual"
-#: editor_ops.cc:6839
+#: editor_ops.cc:6893
+msgid "Sel"
+msgstr ""
+
+#: editor_ops.cc:6932
#, c-format
msgid "Saved view %u"
msgstr "Vista %u guardada"
-#: editor_ops.cc:6864
+#: editor_ops.cc:6957
msgid "mute regions"
msgstr "enmudecer regiones"
-#: editor_ops.cc:6866
+#: editor_ops.cc:6959
msgid "mute region"
msgstr "enmudecer región"
-#: editor_ops.cc:6903
+#: editor_ops.cc:6996
msgid "combine regions"
msgstr "combinar regiones"
-#: editor_ops.cc:6941
+#: editor_ops.cc:7034
msgid "uncombine regions"
msgstr "Descombinar regiones"
-#: editor_regions.cc:111
+#: editor_ops.cc:7071
+msgid "%1: Locked"
+msgstr ""
+
+#: editor_ops.cc:7078
+msgid "Click to unlock"
+msgstr ""
+
+#: editor_ops.cc:7132
+msgid "Moving embedded files into session folder"
+msgstr ""
+
+#: editor_regions.cc:112
msgid "Region name, with number of channels in []'s"
msgstr "Region name, with number of channels in []'s"
-#: editor_regions.cc:112
+#: editor_regions.cc:113
msgid "Position of start of region"
msgstr "Posición de inicio de región"
-#: editor_regions.cc:113 editor_regions.cc:849 time_info_box.cc:98
+#: editor_regions.cc:114 editor_regions.cc:850 time_info_box.cc:101
msgid "End"
msgstr "Fin"
-#: editor_regions.cc:113
+#: editor_regions.cc:114
msgid "Position of end of region"
msgstr "Posición de fin de región"
-#: editor_regions.cc:114
+#: editor_regions.cc:115
msgid "Length of the region"
msgstr "Duración de la región"
-#: editor_regions.cc:115
+#: editor_regions.cc:116
msgid "Position of region sync point, relative to start of the region"
msgstr "Position of region sync point, relative to start of the region"
-#: editor_regions.cc:116
+#: editor_regions.cc:117
msgid "Length of region fade-in (units: secondary clock), () if disabled"
msgstr "Length of region fade-in (units: secondary clock), () if disabled"
-#: editor_regions.cc:117
-msgid "Length of region fade-out (units: secondary clock), () if dsisabled"
-msgstr "Length of region fade-out (units: secondary clock), () if dsisabled"
+#: editor_regions.cc:118
+msgid "Length of region fade-out (units: secondary clock), () if disabled"
+msgstr ""
-#: editor_regions.cc:118 mixer_strip.cc:1954 mono_panner.cc:179
-#: stereo_panner.cc:217 stereo_panner.cc:240
+#: editor_regions.cc:119 mixer_strip.cc:2010 mono_panner.cc:204
+#: panner2d.cc:237 stereo_panner.cc:248 stereo_panner.cc:271
msgid "L"
msgstr "L"
-#: editor_regions.cc:118
+#: editor_regions.cc:119
msgid "Region position locked?"
msgstr "¿Posición de región bloqueada?"
-#: editor_regions.cc:119
+#: editor_regions.cc:120 route_time_axis.cc:99
msgid "G"
msgstr "G"
-#: editor_regions.cc:119
+#: editor_regions.cc:120
msgid "Region position glued to Bars|Beats time?"
msgstr "Region position glued to Bars|Beats time?"
-#: editor_regions.cc:120 editor_routes.cc:207 gain_meter.cc:762
-#: mixer_strip.cc:1931 meter_strip.cc:320 panner_ui.cc:553
-#: stereo_panner.cc:237
+#: editor_regions.cc:121 editor_routes.cc:209 gain_meter.cc:768
+#: mixer_strip.cc:1987 meter_strip.cc:359 panner_ui.cc:602
+#: route_time_axis.cc:2568 stereo_panner.cc:268 time_axis_view.cc:1156
msgid "M"
msgstr "M"
-#: editor_regions.cc:120
+#: editor_regions.cc:121
msgid "Region muted?"
msgstr "¿Región silenciada?"
-#: editor_regions.cc:121
+#: editor_regions.cc:122 mixer_strip.cc:1810
msgid "O"
msgstr "O"
-#: editor_regions.cc:121
+#: editor_regions.cc:122
msgid "Region opaque (blocks regions below it from being heard)?"
msgstr "Región opaca (provoca que las regiones inferiores no se escuchen)"
-#: editor_regions.cc:310 editor_regions.cc:315 editor_regions.cc:317
+#: editor_regions.cc:311 editor_regions.cc:316 editor_regions.cc:318
msgid "Hidden"
msgstr "Oculto"
-#: editor_regions.cc:389
+#: editor_regions.cc:390
msgid "(MISSING) "
msgstr "(AUSENTE) "
-#: editor_regions.cc:457
+#: editor_regions.cc:458
msgid ""
"Do you really want to remove unused regions?\n"
"(This is destructive and cannot be undone)"
@@ -5402,233 +5542,223 @@ msgstr ""
"¿De verdad quieres borrar las regiones no usadas?\n"
"(Es una acción destructiva que no podrás deshacer)"
-#: editor_regions.cc:461
+#: editor_regions.cc:462
msgid "Yes, remove."
msgstr "Sí, eliminar."
-#: editor_regions.cc:463
+#: editor_regions.cc:464
msgid "Remove unused regions"
msgstr "Eliminar regiones no usadas"
-#: editor_regions.cc:816 editor_regions.cc:830 editor_regions.cc:844
+#: editor_regions.cc:817 editor_regions.cc:831 editor_regions.cc:845
msgid "Mult."
msgstr "Mult."
-#: editor_regions.cc:847 midi_list_editor.cc:103 time_info_box.cc:91
+#: editor_regions.cc:848 midi_list_editor.cc:103 time_info_box.cc:94
msgid "Start"
msgstr "Inicio"
-#: editor_regions.cc:865 editor_regions.cc:881
+#: editor_regions.cc:866 editor_regions.cc:882
msgid "Multiple"
msgstr "Múltiple"
-#: editor_regions.cc:950
+#: editor_regions.cc:951
msgid "MISSING "
msgstr "AUSENTE "
-#: editor_routes.cc:178 editor_routes.cc:210
+#: editor_routes.cc:180 editor_routes.cc:212
msgid "SS"
msgstr "SS"
-#: editor_routes.cc:202
+#: editor_routes.cc:204
msgid "Track/Bus Name"
msgstr "Nombre de Pista/Bus"
-#: editor_routes.cc:203
+#: editor_routes.cc:205
msgid "Track/Bus visible ?"
msgstr "¿Pista/Bus visible?"
-#: editor_routes.cc:204 mixer_strip.cc:1945 meter_strip.cc:334
-#: route_time_axis.cc:2407
+#: editor_routes.cc:206 mixer_strip.cc:2001 meter_strip.cc:371
+#: route_time_axis.cc:101 route_time_axis.cc:2556
msgid "A"
msgstr "A"
-#: editor_routes.cc:204
+#: editor_routes.cc:206
msgid "Track/Bus active ?"
msgstr "¿Pista/Bus activa/o?"
-#: editor_routes.cc:205 mixer_strip.cc:1932
+#: editor_routes.cc:207 mixer_strip.cc:1988 mixer_strip.cc:2009
+#: meter_strip.cc:379
msgid "I"
msgstr "I"
-#: editor_routes.cc:205
+#: editor_routes.cc:207
msgid "MIDI input enabled"
msgstr "Entrada MIDI habilitada"
-#: editor_routes.cc:206 mixer_strip.cc:1930 mono_panner.cc:198
-#: stereo_panner.cc:215 stereo_panner.cc:242
+#: editor_routes.cc:208 mono_panner.cc:221 panner2d.cc:238
+#: stereo_panner.cc:246 stereo_panner.cc:273
msgid "R"
msgstr "R"
-#: editor_routes.cc:206
+#: editor_routes.cc:208
msgid "Record enabled"
msgstr "Grabación habilitada"
-#: editor_routes.cc:207
+#: editor_routes.cc:209
msgid "Muted"
msgstr "En mudo"
-#: editor_routes.cc:208 mixer_strip.cc:1941 meter_strip.cc:330
+#: editor_routes.cc:210 mixer_strip.cc:1997 meter_strip.cc:367
+#: route_time_axis.cc:2565
msgid "S"
msgstr "S"
-#: editor_routes.cc:208
+#: editor_routes.cc:210
msgid "Soloed"
msgstr "En solo"
-#: editor_routes.cc:209
+#: editor_routes.cc:211
msgid "SI"
msgstr "SI"
-#: editor_routes.cc:209 mixer_strip.cc:353 rc_option_editor.cc:1867
+#: editor_routes.cc:211
msgid "Solo Isolated"
msgstr "Solo aislado"
-#: editor_routes.cc:210
+#: editor_routes.cc:212
msgid "Solo Safe (Locked)"
msgstr "Solo seguro (bloqueado)"
-#: editor_routes.cc:471 mixer_ui.cc:1162
+#: editor_routes.cc:474 mixer_ui.cc:1182
msgid "Hide All"
msgstr "Ocultar todo"
-#: editor_routes.cc:472 mixer_ui.cc:1163
+#: editor_routes.cc:475 mixer_ui.cc:1183
msgid "Show All Audio Tracks"
msgstr "Mostrar todas las pistas de audio"
-#: editor_routes.cc:473 mixer_ui.cc:1164
+#: editor_routes.cc:476 mixer_ui.cc:1184
msgid "Hide All Audio Tracks"
msgstr "Ocultar todas las pistas de audio"
-#: editor_routes.cc:474 mixer_ui.cc:1165
+#: editor_routes.cc:477 mixer_ui.cc:1185
msgid "Show All Audio Busses"
msgstr "Mostrar todos los buses de audio"
-#: editor_routes.cc:475 mixer_ui.cc:1166
+#: editor_routes.cc:478 mixer_ui.cc:1186
msgid "Hide All Audio Busses"
msgstr "Ocultar todos los buses de audio"
-#: editor_routes.cc:476
+#: editor_routes.cc:479
msgid "Show All Midi Tracks"
msgstr "Mostrar todas las pistas MIDI"
-#: editor_routes.cc:477
+#: editor_routes.cc:480
msgid "Hide All Midi Tracks"
msgstr "Ocultar todas las pistas MIDI"
-#: editor_routes.cc:478
+#: editor_routes.cc:481
msgid "Show Tracks With Regions Under Playhead"
msgstr "Mostrar pistas con regiones bajo cursor"
-#: editor_rulers.cc:340
+#: editor_rulers.cc:216
msgid "New location marker"
msgstr "Nueva marca de posición"
-#: editor_rulers.cc:341
+#: editor_rulers.cc:217
msgid "Clear all locations"
msgstr "Limpiar todas las posiciones"
-#: editor_rulers.cc:342
+#: editor_rulers.cc:218
msgid "Unhide locations"
msgstr "Mostrar posiciones"
-#: editor_rulers.cc:346
+#: editor_rulers.cc:222
msgid "New range"
msgstr "Nuevo rango"
-#: editor_rulers.cc:347
+#: editor_rulers.cc:223
msgid "Clear all ranges"
msgstr "Limpiar todos los rangos"
-#: editor_rulers.cc:348
+#: editor_rulers.cc:224
msgid "Unhide ranges"
msgstr "Mostrar rangos"
-#: editor_rulers.cc:358
+#: editor_rulers.cc:234
msgid "New CD track marker"
msgstr "Nueva marca de pista de CD"
-#: editor_rulers.cc:363 tempo_dialog.cc:40
+#: editor_rulers.cc:239 tempo_dialog.cc:39
msgid "New Tempo"
msgstr "Nuevo tempo"
-#: editor_rulers.cc:368 tempo_dialog.cc:255
+#: editor_rulers.cc:243 tempo_dialog.cc:289
msgid "New Meter"
msgstr "Nueva métrica"
-#: editor_rulers.cc:373
+#: editor_rulers.cc:247
msgid "Timeline height"
msgstr ""
-#: editor_rulers.cc:383
+#: editor_rulers.cc:257
msgid "Align Video Track"
msgstr ""
-#: editor_selection.cc:889 editor_selection.cc:932
+#: editor_selection.cc:895 editor_selection.cc:938
msgid "set selected regions"
msgstr "establecer regiones seleccionadas"
-#: editor_selection.cc:1414
+#: editor_selection.cc:1417
msgid "select all"
msgstr "seleccionar todo"
-#: editor_selection.cc:1506
+#: editor_selection.cc:1511
msgid "select all within"
msgstr "seleccionar todo dentro"
-#: editor_selection.cc:1564
+#: editor_selection.cc:1569
msgid "set selection from range"
msgstr "nueva selección desde rango"
-#: editor_selection.cc:1604
+#: editor_selection.cc:1609
msgid "select all from range"
msgstr "seleccionar todo desde rango"
-#: editor_selection.cc:1635
+#: editor_selection.cc:1640
msgid "select all from punch"
msgstr "seleccionar todo desde pinchazo"
-#: editor_selection.cc:1666
+#: editor_selection.cc:1671
msgid "select all from loop"
msgstr "seleccionar todo desde bucle"
-#: editor_selection.cc:1702
+#: editor_selection.cc:1707
msgid "select all after cursor"
msgstr "seleccionar todo desde el cursor"
-#: editor_selection.cc:1704
+#: editor_selection.cc:1709
msgid "select all before cursor"
msgstr "seleccionar todo hasta el cursor"
-#: editor_selection.cc:1753
+#: editor_selection.cc:1758
msgid "select all after edit"
msgstr "seleccionar todo desde el punto de edición"
-#: editor_selection.cc:1755
+#: editor_selection.cc:1760
msgid "select all before edit"
msgstr "seleccionar todo hasta el punto de edición"
-#: editor_selection.cc:1888
-msgid "No edit range defined"
-msgstr "Rango de edición no definido"
-
-#: editor_selection.cc:1894
-msgid ""
-"the edit point is Selected Marker\n"
-"but there is no selected marker."
-msgstr ""
-"El punto de edición es marca seleccionada\n"
-"pero no hay ninguna marca seleccionada"
-
-#: editor_snapshots.cc:136
+#: editor_snapshots.cc:137
msgid "Rename Snapshot"
msgstr "Renombrar captura de sesión"
-#: editor_snapshots.cc:138
+#: editor_snapshots.cc:139
msgid "New name of snapshot"
msgstr "Nuevo nombre de captura"
-#: editor_snapshots.cc:156
+#: editor_snapshots.cc:157
msgid ""
"Do you really want to remove snapshot \"%1\" ?\n"
"(which cannot be undone)"
@@ -5636,50 +5766,35 @@ msgstr ""
"¿De verdad deseas eliminar la captura \"%1\" ?\n"
"(no podrás deshacer esta acción)"
-#: editor_snapshots.cc:161
+#: editor_snapshots.cc:162
msgid "Remove snapshot"
msgstr "Eliminar captura de sesión"
-#: editor_tempodisplay.cc:208 editor_tempodisplay.cc:250
+#: editor_tempodisplay.cc:193 editor_tempodisplay.cc:235
msgid "add"
msgstr "añadir"
-#: editor_tempodisplay.cc:231
+#: editor_tempodisplay.cc:216
msgid "add tempo mark"
msgstr "añadir marca de tempo"
-#: editor_tempodisplay.cc:272
+#: editor_tempodisplay.cc:257
msgid "add meter mark"
msgstr "añadir marca de métrica"
-#: editor_tempodisplay.cc:288 editor_tempodisplay.cc:367
-#: editor_tempodisplay.cc:386
-msgid ""
-"programming error: tempo marker canvas item has no marker object pointer!"
-msgstr ""
-"programming error: tempo marker canvas item has no marker object pointer!"
-
-#: editor_tempodisplay.cc:293 editor_tempodisplay.cc:372
-msgid "programming error: marker for tempo is not a tempo marker!"
-msgstr "programming error: marker for tempo is not a tempo marker!"
-
-#: editor_tempodisplay.cc:305 editor_tempodisplay.cc:335
+#: editor_tempodisplay.cc:290 editor_tempodisplay.cc:320
msgid "done"
msgstr "listo"
-#: editor_tempodisplay.cc:324 editor_tempodisplay.cc:352
+#: editor_tempodisplay.cc:309 editor_tempodisplay.cc:337
msgid "replace tempo mark"
msgstr "reemplazar marca de tempo"
-#: editor_tempodisplay.cc:391 editor_tempodisplay.cc:423
-msgid "programming error: marker for meter is not a meter marker!"
-msgstr "programming error: marker for meter is not a meter marker!"
-
-#: editor_tempodisplay.cc:401 editor_tempodisplay.cc:435
+#: editor_tempodisplay.cc:360 editor_tempodisplay.cc:394
msgid "remove tempo mark"
msgstr "eliminar marca de tempo"
-#: editor_tempodisplay.cc:418
+#: editor_tempodisplay.cc:377
msgid ""
"programming error: meter marker canvas item has no marker object pointer!"
msgstr ""
@@ -5697,220 +5812,264 @@ msgstr "cambiar tono"
msgid "timefx cannot be started - thread creation error"
msgstr "timefx cannot be started - thread creation error"
-#: engine_dialog.cc:79
+#: engine_dialog.cc:81
msgid "Device Control Panel"
msgstr ""
-#: engine_dialog.cc:80 engine_dialog.cc:1725
+#: engine_dialog.cc:82
+msgid "Midi Device Setup"
+msgstr ""
+
+#: engine_dialog.cc:83 engine_dialog.cc:1999
msgid "Measure"
msgstr ""
-#: engine_dialog.cc:81
+#: engine_dialog.cc:84
msgid "Use results"
msgstr ""
-#: engine_dialog.cc:82
+#: engine_dialog.cc:85
msgid "Back to settings ... (ignore results)"
msgstr ""
-#: engine_dialog.cc:83
-msgid "Calibrate..."
+#: engine_dialog.cc:86
+msgid "Calibrate Audio"
msgstr ""
-#: engine_dialog.cc:87
-msgid "Refresh list"
+#: engine_dialog.cc:90
+msgid "Back to settings"
msgstr ""
-#: engine_dialog.cc:107
+#: engine_dialog.cc:108
msgid ""
"No audio/MIDI backends detected. %1 cannot run\n"
"\n"
"(This is a build/packaging/system error. It should never happen.)"
msgstr ""
-#: engine_dialog.cc:136
+#: engine_dialog.cc:135
msgid "Latency Measurement Tool"
msgstr ""
-#: engine_dialog.cc:151
+#: engine_dialog.cc:147 engine_dialog.cc:561
msgid ""
"<span weight=\"bold\">Turn down the volume on your audio equipment to a very "
"low level.</span>"
msgstr ""
-#: engine_dialog.cc:159
+#: engine_dialog.cc:156
msgid "Select two channels below and connect them using a cable."
msgstr ""
-#: engine_dialog.cc:164
+#: engine_dialog.cc:161
msgid "Output channel"
msgstr ""
-#: engine_dialog.cc:172
+#: engine_dialog.cc:169
msgid "Input channel"
msgstr ""
-#: engine_dialog.cc:207
+#: engine_dialog.cc:204
msgid "Once the channels are connected, click the \"Measure\" button."
msgstr ""
-#: engine_dialog.cc:214
+#: engine_dialog.cc:211
msgid "When satisfied with the results, click the \"Use results\" button."
msgstr ""
-#: engine_dialog.cc:229 engine_dialog.cc:1727
+#: engine_dialog.cc:226 engine_dialog.cc:2107 engine_dialog.cc:2117
msgid "No measurement results yet"
msgstr ""
-#: engine_dialog.cc:238 route_params_ui.cc:105
+#: engine_dialog.cc:236 route_params_ui.cc:105
msgid "Latency"
msgstr "Latencia"
-#: engine_dialog.cc:333
+#: engine_dialog.cc:351
msgid "Audio System:"
msgstr ""
-#: engine_dialog.cc:374
+#: engine_dialog.cc:394
msgid "Driver:"
msgstr "Driver:"
-#: engine_dialog.cc:380
+#: engine_dialog.cc:400
msgid "Device:"
msgstr ""
-#: engine_dialog.cc:385 engine_dialog.cc:475 sfdb_ui.cc:147 sfdb_ui.cc:260
-#: sfdb_ui.cc:265
+#: engine_dialog.cc:405 engine_dialog.cc:496 sfdb_ui.cc:151 sfdb_ui.cc:341
+#: sfdb_ui.cc:346
msgid "Sample rate:"
msgstr "Frec. de muestreo:"
-#: engine_dialog.cc:391 engine_dialog.cc:482
+#: engine_dialog.cc:411 engine_dialog.cc:503
msgid "Buffer size:"
msgstr "Tamaño del buffer:"
-#: engine_dialog.cc:404
+#: engine_dialog.cc:424
msgid "Input Channels:"
msgstr ""
-#: engine_dialog.cc:415
+#: engine_dialog.cc:435
msgid "Output Channels:"
msgstr ""
-#: engine_dialog.cc:426
+#: engine_dialog.cc:446
msgid "Hardware input latency:"
msgstr "Latencia de entrada del hardware:"
-#: engine_dialog.cc:429 engine_dialog.cc:442
+#: engine_dialog.cc:449 engine_dialog.cc:462
msgid "samples"
msgstr "muestras"
-#: engine_dialog.cc:439
+#: engine_dialog.cc:459
msgid "Hardware output latency:"
msgstr "Latencia de salida del hardware:"
-#: engine_dialog.cc:450
+#: engine_dialog.cc:470
msgid "MIDI System"
msgstr ""
-#: engine_dialog.cc:467
+#: engine_dialog.cc:488
msgid ""
"The %1 audio backend was configured and started externally.\n"
"This limits your control over it."
msgstr ""
-#: engine_dialog.cc:521
+#: engine_dialog.cc:543
+msgid ""
+"Failed to start or connect to audio-engine.\n"
+"\n"
+"Latency calibration requires a working audio interface."
+msgstr ""
+
+#: engine_dialog.cc:549
msgid ""
"Your selected audio configuration is playback- or capture-only.\n"
"\n"
"Latency calibration requires playback and capture"
msgstr ""
-#: engine_dialog.cc:595
-msgid "MIDI Inputs"
+#: engine_dialog.cc:630
+msgid "MIDI Devices"
+msgstr ""
+
+#: engine_dialog.cc:636
+msgid "Device"
+msgstr "Dispositivo"
+
+#: engine_dialog.cc:638
+msgid "Hardware Latencies"
msgstr ""
-#: engine_dialog.cc:612
-msgid "MIDI Outputs"
+#: engine_dialog.cc:679
+msgid "Calibrate"
msgstr ""
-#: engine_dialog.cc:696
+#: engine_dialog.cc:761
msgid "all available channels"
msgstr ""
-#: engine_dialog.cc:890
+#: engine_dialog.cc:954
#, c-format
msgid "%u samples"
msgstr ""
-#: engine_dialog.cc:941
+#: engine_dialog.cc:1001
#, c-format
msgid "(%.1f msecs)"
msgstr ""
-#: engine_dialog.cc:1389
+#: engine_dialog.cc:1510
+msgid "Could not start backend engine %1"
+msgstr ""
+
+#: engine_dialog.cc:1561
msgid "Cannot set driver to %1"
msgstr ""
-#: engine_dialog.cc:1393
+#: engine_dialog.cc:1565
msgid "Cannot set device name to %1"
msgstr ""
-#: engine_dialog.cc:1397
+#: engine_dialog.cc:1569
msgid "Cannot set sample rate to %1"
msgstr ""
-#: engine_dialog.cc:1401
+#: engine_dialog.cc:1573
msgid "Cannot set buffer size to %1"
msgstr ""
-#: engine_dialog.cc:1407
+#: engine_dialog.cc:1579
msgid "Cannot set input channels to %1"
msgstr ""
-#: engine_dialog.cc:1411
+#: engine_dialog.cc:1583
msgid "Cannot set output channels to %1"
msgstr ""
-#: engine_dialog.cc:1417
+#: engine_dialog.cc:1589
msgid "Cannot set input latency to %1"
msgstr ""
-#: engine_dialog.cc:1421
+#: engine_dialog.cc:1593
msgid "Cannot set output latency to %1"
msgstr ""
-#: engine_dialog.cc:1654
+#: engine_dialog.cc:1858 engine_dialog.cc:1917
msgid "No signal detected "
msgstr ""
-#: engine_dialog.cc:1667 port_insert_ui.cc:71 port_insert_ui.cc:99
+#: engine_dialog.cc:1871 engine_dialog.cc:1925 port_insert_ui.cc:70
+#: port_insert_ui.cc:98
msgid "Disconnected from audio engine"
msgstr "Desconectado del motor de audio"
-#: engine_dialog.cc:1681
+#: engine_dialog.cc:1880 engine_dialog.cc:1933
+msgid "Detected roundtrip latency: "
+msgstr ""
+
+#: engine_dialog.cc:1882 engine_dialog.cc:1935
+msgid "Systemic latency: "
+msgstr ""
+
+#: engine_dialog.cc:1889
msgid "(signal detection error)"
msgstr ""
-#: engine_dialog.cc:1687
+#: engine_dialog.cc:1895
msgid "(inverted - bad wiring)"
msgstr ""
-#: engine_dialog.cc:1697
-msgid "Detected roundtrip latency: %1"
+#: engine_dialog.cc:1942
+msgid "(averaging)"
msgstr ""
-#: engine_dialog.cc:1709 port_insert_ui.cc:135
+#: engine_dialog.cc:1948
+msgid "(too large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1952
+msgid "(large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1963
+msgid "Timeout - large MIDI jitter."
+msgstr ""
+
+#: engine_dialog.cc:1979 port_insert_ui.cc:134
msgid "Detecting ..."
msgstr "Detectando..."
-#: engine_dialog.cc:1789
+#: engine_dialog.cc:2073
msgid "Disconnect from %1"
msgstr ""
-#: engine_dialog.cc:1801
+#: engine_dialog.cc:2085
msgid "Connect to %1"
msgstr ""
-#: export_channel_selector.cc:45 sfdb_ui.cc:145
+#: export_channel_selector.cc:45 sfdb_ui.cc:149
msgid "Channels:"
msgstr "Canales:"
@@ -5953,20 +6112,20 @@ msgstr ""
msgid "List files"
msgstr "Listar archivos"
-#: export_dialog.cc:164 export_timespan_selector.cc:355
-#: export_timespan_selector.cc:417
+#: export_dialog.cc:158 export_format_dialog.cc:59
+msgid "File format"
+msgstr "Formato de archivo"
+
+#: export_dialog.cc:159 export_timespan_selector.cc:374
+#: export_timespan_selector.cc:436
msgid "Time Span"
msgstr "Intervalos"
-#: export_dialog.cc:176
+#: export_dialog.cc:160
msgid "Channels"
msgstr "Canales"
-#: export_dialog.cc:187
-msgid "Time span and channel options"
-msgstr "Opciones de intervalos y canales"
-
-#: export_dialog.cc:221
+#: export_dialog.cc:182
msgid ""
"Export has been aborted due to an error!\n"
"See the Log for details."
@@ -5974,35 +6133,39 @@ msgstr ""
"¡La exportación se ha estropeado debido a un error!\n"
"Para más información ver el log."
-#: export_dialog.cc:290
+#: export_dialog.cc:251
msgid "Files that will be overwritten"
msgstr "Archivos que se sobrescribirán"
-#: export_dialog.cc:316
+#: export_dialog.cc:296
+msgid "Export initialization failed: %1"
+msgstr ""
+
+#: export_dialog.cc:306
msgid "Stop Export"
msgstr "Cancelar Exportación"
-#: export_dialog.cc:337
+#: export_dialog.cc:327
msgid "export"
msgstr "exportar"
-#: export_dialog.cc:356
+#: export_dialog.cc:346
msgid "Normalizing '%3' (timespan %1 of %2)"
msgstr "Normalizando '%3' (timespan %1 de %2)"
-#: export_dialog.cc:360
+#: export_dialog.cc:350
msgid "Exporting '%3' (timespan %1 of %2)"
msgstr "Exportando '%3' (timespan %1 de %2)"
-#: export_dialog.cc:383 export_dialog.cc:385
+#: export_dialog.cc:373 export_dialog.cc:375
msgid "<span color=\"#ffa755\">Error: "
msgstr "<span color=\"#ffa755\">Error: "
-#: export_dialog.cc:395
+#: export_dialog.cc:385
msgid "<span color=\"#ffa755\">Warning: "
msgstr "<span color=\"#ffa755\">Aviso: "
-#: export_dialog.cc:397
+#: export_dialog.cc:387
msgid ""
"\n"
"<span color=\"#ffa755\">Warning: "
@@ -6010,39 +6173,43 @@ msgstr ""
"\n"
"<span color=\"#ffa755\">Aviso "
-#: export_dialog.cc:420
+#: export_dialog.cc:411
msgid "Export Selection"
msgstr "Exportar selección"
-#: export_dialog.cc:433
+#: export_dialog.cc:425
msgid "Export Region"
msgstr "Exportar región"
-#: export_dialog.cc:443
+#: export_dialog.cc:434
msgid "Source"
msgstr "Origen"
-#: export_dialog.cc:458
+#: export_dialog.cc:450
msgid "Stem Export"
msgstr ""
-#: export_file_notebook.cc:38
+#: export_file_notebook.cc:39
msgid "Add another format"
msgstr "Añadir otro formato"
-#: export_file_notebook.cc:178
+#: export_file_notebook.cc:193
msgid "Format"
msgstr "Formato"
-#: export_file_notebook.cc:179
+#: export_file_notebook.cc:194
msgid "Location"
msgstr "Posición"
-#: export_file_notebook.cc:255
+#: export_file_notebook.cc:195
+msgid "Upload to Soundcloud"
+msgstr ""
+
+#: export_file_notebook.cc:273
msgid "No format!"
msgstr "¡Sin formato!"
-#: export_file_notebook.cc:267
+#: export_file_notebook.cc:291
msgid "Format %1: %2"
msgstr "Formato %1: %2"
@@ -6063,9 +6230,9 @@ msgid "Folder:"
msgstr "Carpeta:"
#: export_filename_selector.cc:37 session_import_dialog.cc:44
-#: transcode_video_dialog.cc:58 video_server_dialog.cc:45
-#: video_server_dialog.cc:47 export_video_dialog.cc:68
-#: export_video_dialog.cc:70
+#: transcode_video_dialog.cc:59 video_server_dialog.cc:59
+#: video_server_dialog.cc:61 export_video_dialog.cc:69
+#: export_video_dialog.cc:71
msgid "Browse"
msgstr "Explorar"
@@ -6127,67 +6294,69 @@ msgstr "Recortar silencio en final"
msgid "Add silence at end:"
msgstr "Añadir silencio al final:"
-#: export_format_dialog.cc:55
+#: export_format_dialog.cc:54
+msgid ""
+"Command to run post-export\n"
+"(%f=full path & filename, %d=directory, %b=basename):"
+msgstr ""
+
+#: export_format_dialog.cc:57
msgid "Compatibility"
msgstr "Compatibilidad"
-#: export_format_dialog.cc:56
+#: export_format_dialog.cc:58
msgid "Quality"
msgstr "Calidad"
-#: export_format_dialog.cc:57
-msgid "File format"
-msgstr "Formato de archivo"
-
-#: export_format_dialog.cc:59
+#: export_format_dialog.cc:61
msgid "Sample rate conversion quality:"
msgstr "Calidad de conversión de frecuencia de muestreo:"
-#: export_format_dialog.cc:66
+#: export_format_dialog.cc:68
msgid "Dithering"
msgstr "Dithering"
-#: export_format_dialog.cc:68
+#: export_format_dialog.cc:70
msgid "Create CUE file for disk-at-once CD/DVD creation"
msgstr "Crear archivo CUE para creación de CD/DVD disk-at-once"
-#: export_format_dialog.cc:69
+#: export_format_dialog.cc:71
msgid "Create TOC file for disk-at-once CD/DVD creation"
msgstr "Crear archivo TOC para creación de CD/DVD disk-at-once"
-#: export_format_dialog.cc:71
+#: export_format_dialog.cc:73
msgid "Tag file with session's metadata"
msgstr "Archivo de etiquetas con metadatos de sesión"
-#: export_format_dialog.cc:461
+#: export_format_dialog.cc:470
msgid "Best (sinc)"
msgstr "Mejor (sinc)"
-#: export_format_dialog.cc:466
+#: export_format_dialog.cc:475
msgid "Medium (sinc)"
msgstr "Media (sinc)"
-#: export_format_dialog.cc:471
+#: export_format_dialog.cc:480
msgid "Fast (sinc)"
msgstr "Rápida (sinc)"
-#: export_format_dialog.cc:481
+#: export_format_dialog.cc:490
msgid "Zero order hold"
msgstr ""
-#: export_format_dialog.cc:879
+#: export_format_dialog.cc:895
msgid "Linear encoding options"
msgstr "Opciones de codificación lineal"
-#: export_format_dialog.cc:895
+#: export_format_dialog.cc:911
msgid "Ogg Vorbis options"
msgstr "Opciones Ogg Vorbis"
-#: export_format_dialog.cc:908
+#: export_format_dialog.cc:922
msgid "FLAC options"
msgstr "Opciones FLAC"
-#: export_format_dialog.cc:925
+#: export_format_dialog.cc:939
msgid "Broadcast Wave options"
msgstr "Opciones de Broadcast Wave"
@@ -6215,11 +6384,15 @@ msgstr ""
msgid "Show Times as:"
msgstr "Mostrar los tiempos como:"
-#: export_timespan_selector.cc:204
+#: export_timespan_selector.cc:53 processor_box.cc:2510
+msgid "Select All"
+msgstr "Seleccionar todo"
+
+#: export_timespan_selector.cc:223
msgid " to "
msgstr " a "
-#: export_timespan_selector.cc:348 export_timespan_selector.cc:407
+#: export_timespan_selector.cc:367 export_timespan_selector.cc:426
msgid "Range"
msgstr "Rango"
@@ -6235,173 +6408,141 @@ msgstr ""
msgid "getSoundResourceFile: root = %1, != response"
msgstr ""
-#: sfdb_freesound_mootcher.cc:410
+#: sfdb_freesound_mootcher.cc:410 rc_option_editor.cc:1729
msgid "%1"
msgstr ""
-#: gain_meter.cc:105 gain_meter.cc:360 gain_meter.cc:465 gain_meter.cc:859
+#: gain_meter.cc:106 gain_meter.cc:366 gain_meter.cc:471 gain_meter.cc:865
msgid "-inf"
msgstr "-inf"
-#: gain_meter.cc:111 gain_meter.cc:916
+#: gain_meter.cc:113 gain_meter.cc:927
msgid "Fader automation mode"
msgstr "Modo de automatización de fader"
-#: gain_meter.cc:112 gain_meter.cc:917
+#: gain_meter.cc:114 gain_meter.cc:928
msgid "Fader automation type"
msgstr "Tipo de automatización de fader"
-#: gain_meter.cc:121 gain_meter.cc:798 panner_ui.cc:177 panner_ui.cc:589
+#: gain_meter.cc:123 gain_meter.cc:804 panner_ui.cc:178 panner_ui.cc:638
msgid "Abs"
msgstr "Abs"
-#: gain_meter.cc:765 mixer_strip.cc:1948 meter_strip.cc:337 panner_ui.cc:556
-#: route_time_axis.cc:2411
+#: gain_meter.cc:771 mixer_strip.cc:2004 meter_strip.cc:374 panner_ui.cc:605
+#: route_time_axis.cc:100 route_time_axis.cc:2560
msgid "P"
msgstr "P"
-#: gain_meter.cc:768 panner_ui.cc:559
+#: gain_meter.cc:774 panner_ui.cc:608
msgid "T"
msgstr "T"
-#: gain_meter.cc:771 panner_ui.cc:562
+#: gain_meter.cc:777 panner_ui.cc:611
msgid "W"
msgstr "W"
-#: generic_pluginui.cc:81
+#: generic_pluginui.cc:79
msgid "<span size=\"large\">Presets</span>"
msgstr "<span size=\"large\">Presets</span>"
-#: generic_pluginui.cc:230
+#: generic_pluginui.cc:228
msgid "Switches"
msgstr "Conmutadores"
-#: generic_pluginui.cc:240 generic_pluginui.cc:374 processor_box.cc:2251
+#: generic_pluginui.cc:238 generic_pluginui.cc:372 processor_box.cc:2484
msgid "Controls"
msgstr "Controles"
-#: generic_pluginui.cc:268
+#: generic_pluginui.cc:266
msgid "Plugin Editor: could not build control element for port %1"
msgstr ""
"Editor de plugin: no se pudo crear el elemento de control para el puerto %1"
-#: generic_pluginui.cc:406
+#: generic_pluginui.cc:404
msgid "Meters"
msgstr "Medidores"
-#: generic_pluginui.cc:421
+#: generic_pluginui.cc:419
msgid "Automation control"
msgstr "Control de la automatización"
-#: generic_pluginui.cc:428
+#: generic_pluginui.cc:426
msgid "Mgnual"
msgstr "Manual"
-#: global_port_matrix.cc:157
+#: global_port_matrix.cc:158
msgid "Audio Connection Manager"
msgstr "Gestor de conexiones de audio"
-#: global_port_matrix.cc:160
+#: global_port_matrix.cc:161
msgid "MIDI Connection Manager"
msgstr "Gestor de conexiones MIDI"
-#: global_port_matrix.cc:200 io_selector.cc:210 mixer_strip.cc:719
-#: mixer_strip.cc:845
+#: global_port_matrix.cc:201 io_selector.cc:211 mixer_strip.cc:799
+#: mixer_strip.cc:895
msgid "Disconnect"
msgstr "Desconectar"
-#: global_port_matrix.cc:206 io_selector.cc:216
+#: global_port_matrix.cc:207 io_selector.cc:217
msgid "port"
msgstr "puerto"
-#: group_tabs.cc:308
+#: group_tabs.cc:312
msgid "Selection..."
msgstr "Selección..."
-#: group_tabs.cc:309
+#: group_tabs.cc:313
msgid "Record Enabled..."
msgstr "Habilitado para grabación..."
-#: group_tabs.cc:310
+#: group_tabs.cc:314
msgid "Soloed..."
msgstr "En solo..."
-#: group_tabs.cc:316
+#: group_tabs.cc:320
msgid "Create New Group ..."
msgstr "Crear nuevo grupo..."
-#: group_tabs.cc:317
+#: group_tabs.cc:321
msgid "Create New Group From"
msgstr ""
-#: group_tabs.cc:320
+#: group_tabs.cc:324
msgid "Edit Group..."
msgstr "Editar grupo..."
-#: group_tabs.cc:321
+#: group_tabs.cc:325
msgid "Collect Group"
msgstr ""
-#: group_tabs.cc:322
+#: group_tabs.cc:326
msgid "Remove Group"
msgstr "Eiminar grupo"
-#: group_tabs.cc:325
+#: group_tabs.cc:329
msgid "Remove Subgroup Bus"
msgstr "Eliminar bus de subgrupo"
-#: group_tabs.cc:327
+#: group_tabs.cc:331
msgid "Add New Subgroup Bus"
msgstr "Añadir nuebo bus de subgrupo"
-#: group_tabs.cc:329
+#: group_tabs.cc:333
msgid "Add New Aux Bus (pre-fader)"
msgstr "Añadir nuevo bus auxiliar (pre-fader)"
-#: group_tabs.cc:330
+#: group_tabs.cc:334
msgid "Add New Aux Bus (post-fader)"
msgstr "Añadir nuevo bus auxiliar (post-fader)"
-#: group_tabs.cc:336
+#: group_tabs.cc:340
msgid "Enable All Groups"
msgstr ""
-#: group_tabs.cc:337
+#: group_tabs.cc:341
msgid "Disable All Groups"
msgstr "Desactivar todos los grupos"
-#: gtk-custom-ruler.c:133
-msgid "Lower limit of ruler"
-msgstr "Límite inferior de la regla"
-
-#: gtk-custom-ruler.c:142
-msgid "Upper"
-msgstr "Superior"
-
-#: gtk-custom-ruler.c:143
-msgid "Upper limit of ruler"
-msgstr "Límite superior de la regla"
-
-#: gtk-custom-ruler.c:153
-msgid "Position of mark on the ruler"
-msgstr "Posición de la marca en la regla"
-
-#: gtk-custom-ruler.c:162
-msgid "Max Size"
-msgstr "Tamaño máx."
-
-#: gtk-custom-ruler.c:163
-msgid "Maximum size of the ruler"
-msgstr "Tamaño máximo de la regla"
-
-#: gtk-custom-ruler.c:172
-msgid "Show Position"
-msgstr "Mostrar posición"
-
-#: gtk-custom-ruler.c:173
-msgid "Draw current ruler position"
-msgstr "Dibujar posición actual de la regla"
-
#: insert_time_dialog.cc:46
msgid "Time to insert:"
msgstr "Tiempo a insertar:"
@@ -6458,29 +6599,29 @@ msgstr "Insertar tiempo"
msgid "Importing file: %1 of %2"
msgstr "Importando fichero: %1 de %2"
-#: io_selector.cc:220
+#: io_selector.cc:221
msgid "I/O selector"
msgstr "Selector de E/S"
-#: io_selector.cc:265
+#: io_selector.cc:266
msgid "%1 input"
msgstr "%1 entrada"
-#: io_selector.cc:267
+#: io_selector.cc:268
msgid "%1 output"
msgstr "%1 salida"
-#: keyboard.cc:66
+#: keyboard.cc:70
msgid "your own"
msgstr "la tuya propia"
-#: keyboard.cc:129 keyboard.cc:153
+#: keyboard.cc:133 keyboard.cc:157
msgid "Default keybindings not found - %1 will be hard to use!"
msgstr ""
"No se encontraron las combinaciones de teclas por defecto - ¡%1 será difícil "
"de usar!"
-#: keyboard.cc:132 keyboard.cc:156
+#: keyboard.cc:136
msgid "Key bindings file \"%1\" not found. Default bindings used instead"
msgstr ""
"No se pudo encontrar el archivo de combinaciones de teclas \"%1\". Se usarán "
@@ -6498,27 +6639,31 @@ msgstr "Acción"
msgid "Shortcut"
msgstr "Atajo de teclado"
-#: keyeditor.cc:86
+#: keyeditor.cc:85
msgid "Select an action, then press the key(s) to (re)set its shortcut"
msgstr "Selecciona una acción y pulsa la/s tecla/s para (r)establecer su atajo"
-#: keyeditor.cc:251
+#: keyeditor.cc:99
+msgid "Reset Bindings to Defaults"
+msgstr ""
+
+#: keyeditor.cc:260
msgid "Main_menu"
msgstr ""
-#: keyeditor.cc:253
+#: keyeditor.cc:262
msgid "redirectmenu"
msgstr ""
-#: keyeditor.cc:255
+#: keyeditor.cc:264
msgid "Editor_menus"
msgstr ""
-#: keyeditor.cc:257
+#: keyeditor.cc:266
msgid "RegionList"
msgstr ""
-#: keyeditor.cc:259
+#: keyeditor.cc:268
msgid "ProcessorMenu"
msgstr ""
@@ -6540,132 +6685,107 @@ msgid_plural "%1 samples"
msgstr[0] "%1 muestra"
msgstr[1] "%1 muestras"
-#: latency_gui.cc:72 panner_ui.cc:391
+#: latency_gui.cc:72 panner_ui.cc:408
msgid "Reset"
msgstr "Restablecer"
-#: latency_gui.cc:151 rhythm_ferret.cc:274 sfdb_ui.cc:1755
+#: latency_gui.cc:149 rhythm_ferret.cc:273 sfdb_ui.cc:1893
msgid "programming error: %1 (%2)"
msgstr "programming error: %1 (%2)"
-#: location_ui.cc:50 location_ui.cc:52
+#: location_ui.cc:51 location_ui.cc:53
msgid "Use PH"
msgstr "Usar cursor"
-#: location_ui.cc:54
+#: location_ui.cc:55
msgid "CD"
msgstr "CD"
-#: location_ui.cc:57
+#: location_ui.cc:58
msgid "Glue"
msgstr "Adherir"
-#: location_ui.cc:85
+#: location_ui.cc:86
msgid "Performer:"
msgstr ""
-#: location_ui.cc:86
+#: location_ui.cc:87
msgid "Composer:"
msgstr "Compositor:"
-#: location_ui.cc:88
+#: location_ui.cc:89
msgid "Pre-Emphasis"
msgstr "Pre-énfasis"
-#: location_ui.cc:314
+#: location_ui.cc:316
msgid "Remove this range"
msgstr "Eliminar este rango"
-#: location_ui.cc:315
+#: location_ui.cc:317
msgid "Start time - middle click to locate here"
msgstr ""
-#: location_ui.cc:316
+#: location_ui.cc:318
msgid "End time - middle click to locate here"
msgstr ""
-#: location_ui.cc:319
+#: location_ui.cc:321
msgid "Set range start from playhead location"
msgstr "Establecer inicio de rango en posición de cursor"
-#: location_ui.cc:320
+#: location_ui.cc:322
msgid "Set range end from playhead location"
msgstr "Establecer fin de rango en posición de cursor"
-#: location_ui.cc:324
+#: location_ui.cc:326
msgid "Remove this marker"
msgstr "Eliminar esta marca"
-#: location_ui.cc:325
+#: location_ui.cc:327
msgid "Position - middle click to locate here"
msgstr ""
-#: location_ui.cc:327
+#: location_ui.cc:329
msgid "Set marker time from playhead location"
msgstr "Establecer tiempo de marca en posición de cursor"
-#: location_ui.cc:494
+#: location_ui.cc:496
msgid "You cannot put a CD marker at the start of the session"
msgstr "No puedes colocar una marca de CD al inicio de la sesión"
-#: location_ui.cc:720
+#: location_ui.cc:722
msgid "New Marker"
msgstr "Nueva marca"
-#: location_ui.cc:721
+#: location_ui.cc:723
msgid "New Range"
msgstr "Nuevo rango"
-#: location_ui.cc:734
+#: location_ui.cc:736
msgid "<b>Loop/Punch Ranges</b>"
msgstr "<b>Rangos de bucle/pinchazo</b>"
-#: location_ui.cc:759
+#: location_ui.cc:761
msgid "<b>Markers (Including CD Index)</b>"
msgstr "<b>Marcas (incluyendo índice de CD)</b>"
-#: location_ui.cc:794
+#: location_ui.cc:796
msgid "<b>Ranges (Including CD Track Ranges)</b>"
msgstr "<b>Rangos (incluyendo rangos de pistas de CD)</b>"
-#: location_ui.cc:1036
+#: location_ui.cc:1038
msgid "add range marker"
msgstr "añadir marca de rango"
-#: main.cc:81
+#: main.cc:79
msgid "%1 could not connect to the audio backend."
msgstr ""
-#: main.cc:194 main.cc:315
-msgid "cannot create user %3 folder %1 (%2)"
-msgstr ""
-
-#: main.cc:201 main.cc:322
-msgid "cannot open pango.rc file %1"
-msgstr "no se pudo abrir el archivo pango.rc %1"
-
-#: main.cc:226 main.cc:349
-msgid "Cannot find ArdourMono TrueType font"
-msgstr ""
-
-#: main.cc:238 main.cc:355
-msgid "Cannot load ArdourMono TrueType font."
-msgstr ""
-
-#: main.cc:303
-msgid ""
-"No fontconfig file found on your system. Things may looked very odd or ugly"
-msgstr ""
-
-#: main.cc:359
-msgid "Failed to set fontconfig configuration."
-msgstr ""
-
-#: main.cc:370 main.cc:386
+#: main.cc:104 main.cc:120
msgid "The audio backend (%1) has failed, or terminated"
msgstr ""
-#: main.cc:373
+#: main.cc:107
msgid ""
"%2 exited unexpectedly, and without notifying %1.\n"
"\n"
@@ -6674,23 +6794,33 @@ msgid ""
"Click OK to exit %1."
msgstr ""
-#: main.cc:387
+#: main.cc:121
msgid "%2 exited unexpectedly, and without notifying %1."
msgstr ""
-#: main.cc:474
+#: main.cc:223
+msgid ""
+"\n"
+" Ardour could not understand your command line "
+msgstr ""
+
+#: main.cc:225
+msgid "An error was encountered while launching Ardour"
+msgstr ""
+
+#: main.cc:233
msgid " (built using "
msgstr " (compilado usando "
-#: main.cc:477
+#: main.cc:236
msgid " and GCC version "
msgstr " y versión de GCC "
-#: main.cc:487
+#: main.cc:246
msgid "Copyright (C) 1999-2012 Paul Davis"
msgstr "Copyright (C) 1999-2012 Paul Davis"
-#: main.cc:488
+#: main.cc:247
msgid ""
"Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
"Baker, Robin Gareus"
@@ -6698,34 +6828,34 @@ msgstr ""
"Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
"Baker, Robin Gareus"
-#: main.cc:490
+#: main.cc:249
msgid "%1 comes with ABSOLUTELY NO WARRANTY"
msgstr "%1 viene SIN GARANTÃA DE NINGUNA CLASE"
-#: main.cc:491
+#: main.cc:250
msgid "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
msgstr ""
"incluidas de comerciabilidad o adecuación para un propósito determinado"
-#: main.cc:492
+#: main.cc:251
msgid "This is free software, and you are welcome to redistribute it "
msgstr "Esto es software libre. Puedes distribuirlo "
-#: main.cc:493
+#: main.cc:252
msgid "under certain conditions; see the source for copying conditions."
msgstr ""
"bajo ciertas condiciones; lee el código para conocer las condiciones de "
"copia."
-#: main.cc:500
+#: main.cc:259
msgid "could not initialize %1."
msgstr "no se pudo inicializar %1."
-#: main.cc:509
+#: main.cc:269
msgid "Cannot xinstall SIGPIPE error handler"
msgstr "Cannot xinstall SIGPIPE error handler"
-#: main.cc:515
+#: main.cc:276
msgid "could not create %1 GUI"
msgstr "could not create %1 GUI"
@@ -6733,17 +6863,13 @@ msgstr "could not create %1 GUI"
msgid "Display delta to edit cursor"
msgstr "Mostrar diferencia al punto de edición"
-#: marker.cc:251 video_image_frame.cc:121
+#: marker.cc:265
msgid "MarkerText"
msgstr "MarkerText"
-#: midi_channel_selector.cc:159 midi_channel_selector.cc:397
-#: midi_channel_selector.cc:433
-msgid "All"
-msgstr "Todos"
-
#: midi_channel_selector.cc:163 midi_channel_selector.cc:402
-#: midi_channel_selector.cc:438 rc_option_editor.cc:1248 sfdb_ui.cc:538
+#: midi_channel_selector.cc:438 rc_option_editor.cc:1499
+#: rc_option_editor.cc:2084 sfdb_ui.cc:658
msgid "None"
msgstr "Ninguno"
@@ -6932,87 +7058,87 @@ msgstr "Nombre del puerto:"
msgid "MidiPortDialog"
msgstr ""
-#: midi_region_view.cc:838
+#: midi_region_view.cc:822
msgid "channel edit"
msgstr "edición de canal"
-#: midi_region_view.cc:874
+#: midi_region_view.cc:858
msgid "velocity edit"
msgstr "editar intensidad"
-#: midi_region_view.cc:931
+#: midi_region_view.cc:915
msgid "add note"
msgstr "añadir nota"
-#: midi_region_view.cc:1779
+#: midi_region_view.cc:1766
msgid "step add"
msgstr ""
-#: midi_region_view.cc:1862
+#: midi_region_view.cc:1853
msgid "insane MIDI patch key %1:%2"
msgstr ""
-#: midi_region_view.cc:1870 midi_region_view.cc:1890
+#: midi_region_view.cc:1861 midi_region_view.cc:1881
msgid "alter patch change"
msgstr "modificar cambio de patch"
-#: midi_region_view.cc:1924
+#: midi_region_view.cc:1915
msgid "add patch change"
msgstr "añadir cambio de patch"
-#: midi_region_view.cc:1942
+#: midi_region_view.cc:1933
msgid "move patch change"
msgstr "mover cambio de patch"
-#: midi_region_view.cc:1953
+#: midi_region_view.cc:1944
msgid "delete patch change"
msgstr "eliminar cambio de patch"
-#: midi_region_view.cc:2022
+#: midi_region_view.cc:2013
msgid "delete selection"
msgstr "eliminar selección"
-#: midi_region_view.cc:2038
+#: midi_region_view.cc:2029
msgid "delete note"
msgstr "eliminar nota"
-#: midi_region_view.cc:2425
+#: midi_region_view.cc:2423
msgid "move notes"
msgstr "mover notas"
-#: midi_region_view.cc:2647
+#: midi_region_view.cc:2645
msgid "resize notes"
msgstr "redimensionar notas"
-#: midi_region_view.cc:2901
+#: midi_region_view.cc:2899
msgid "change velocities"
msgstr "cambiar intensidades"
-#: midi_region_view.cc:2967
+#: midi_region_view.cc:2965
msgid "transpose"
msgstr "transportar"
-#: midi_region_view.cc:3001
+#: midi_region_view.cc:2999
msgid "change note lengths"
msgstr "cambiar duración de notas"
-#: midi_region_view.cc:3070
+#: midi_region_view.cc:3068
msgid "nudge"
msgstr "empujar"
-#: midi_region_view.cc:3085
+#: midi_region_view.cc:3083
msgid "change channel"
msgstr "cambiar canal"
-#: midi_region_view.cc:3130
+#: midi_region_view.cc:3128
msgid "Bank "
msgstr "Banco"
-#: midi_region_view.cc:3131
+#: midi_region_view.cc:3129
msgid "Program "
msgstr "Programa"
-#: midi_region_view.cc:3132
+#: midi_region_view.cc:3130
msgid "Channel "
msgstr "Canal"
@@ -7020,141 +7146,137 @@ msgstr "Canal"
msgid "paste"
msgstr "pegar"
-#: midi_region_view.cc:3761
-msgid "delete sysex"
-msgstr "eliminar sysex"
-
-#: midi_streamview.cc:479
+#: midi_streamview.cc:491
msgid "failed to create MIDI region"
msgstr ""
-#: midi_time_axis.cc:262
+#: midi_time_axis.cc:293
msgid "External MIDI Device"
msgstr "Dispositivo MIDI externo"
-#: midi_time_axis.cc:263
+#: midi_time_axis.cc:294
msgid "External Device Mode"
msgstr "Modo de dispositivo externo"
-#: midi_time_axis.cc:271
+#: midi_time_axis.cc:302
msgid "Chns"
msgstr ""
-#: midi_time_axis.cc:272
+#: midi_time_axis.cc:303
msgid "Click to edit channel settings"
msgstr ""
-#: midi_time_axis.cc:486
+#: midi_time_axis.cc:517
msgid "Show Full Range"
msgstr "Mostrar rango completo"
-#: midi_time_axis.cc:491
+#: midi_time_axis.cc:522
msgid "Fit Contents"
msgstr "Ajustar contenidos"
-#: midi_time_axis.cc:495
+#: midi_time_axis.cc:526
msgid "Note Range"
msgstr "Rango de notas"
-#: midi_time_axis.cc:496
+#: midi_time_axis.cc:527
msgid "Note Mode"
msgstr "Modo de notas"
-#: midi_time_axis.cc:497
+#: midi_time_axis.cc:528
msgid "Channel Selector"
msgstr ""
-#: midi_time_axis.cc:502
+#: midi_time_axis.cc:533
msgid "Color Mode"
msgstr "Modo color"
-#: midi_time_axis.cc:561
+#: midi_time_axis.cc:592
msgid "Bender"
msgstr "Bender"
-#: midi_time_axis.cc:565
+#: midi_time_axis.cc:596
msgid "Pressure"
msgstr "Presión"
-#: midi_time_axis.cc:578
+#: midi_time_axis.cc:609
msgid "Controllers"
msgstr "Controladores"
-#: midi_time_axis.cc:583
+#: midi_time_axis.cc:614
msgid "No MIDI Channels selected"
msgstr "No hay canales MIDI seleccionados"
-#: midi_time_axis.cc:640 midi_time_axis.cc:769
+#: midi_time_axis.cc:692 midi_time_axis.cc:821
msgid "Hide all channels"
msgstr "Ocultar todos los canales"
-#: midi_time_axis.cc:644 midi_time_axis.cc:773
+#: midi_time_axis.cc:696 midi_time_axis.cc:825
msgid "Show all channels"
msgstr "Mostrar todos los canales"
-#: midi_time_axis.cc:655 midi_time_axis.cc:784
+#: midi_time_axis.cc:707 midi_time_axis.cc:836
msgid "Channel %1"
msgstr "Canal %1"
-#: midi_time_axis.cc:910 midi_time_axis.cc:942
+#: midi_time_axis.cc:962 midi_time_axis.cc:994
msgid "Controllers %1-%2"
msgstr "Controladores %1-%2"
-#: midi_time_axis.cc:933 midi_time_axis.cc:936
+#: midi_time_axis.cc:985 midi_time_axis.cc:988
msgid "Controller %1"
msgstr "Controlador %1"
-#: midi_time_axis.cc:959
+#: midi_time_axis.cc:1011
msgid "Sustained"
msgstr "Sostenido"
-#: midi_time_axis.cc:966
+#: midi_time_axis.cc:1018
msgid "Percussive"
msgstr "Percusivo"
-#: midi_time_axis.cc:986
+#: midi_time_axis.cc:1038
msgid "Meter Colors"
msgstr "Colores de medidor"
-#: midi_time_axis.cc:993
+#: midi_time_axis.cc:1045
msgid "Channel Colors"
msgstr "Colores de canal"
-#: midi_time_axis.cc:1000
+#: midi_time_axis.cc:1052
msgid "Track Color"
msgstr "Color de pista"
-#: midi_time_axis.cc:1488 midi_time_axis.cc:1494 midi_time_axis.cc:1504
-#: midi_time_axis.cc:1510
+#: midi_time_axis.cc:1687 midi_time_axis.cc:1693 midi_time_axis.cc:1703
+#: midi_time_axis.cc:1709
msgid "all"
msgstr ""
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1507
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1706
msgid "some"
msgstr ""
-#: midi_tracer.cc:46
+#: midi_tracer.cc:49
msgid "Line history: "
msgstr "Historia de líneas:"
# podría ser "desplazar", chequear contexto
-#: midi_tracer.cc:54
+#: midi_tracer.cc:57
msgid "Auto-Scroll"
msgstr "Auto-Scroll"
-#: midi_tracer.cc:55
+#: midi_tracer.cc:58
msgid "Decimal"
msgstr "Decimal"
-#: midi_tracer.cc:56 rc_option_editor.cc:657
+#: midi_tracer.cc:59 rc_option_editor.cc:717
msgid "Enabled"
msgstr "Habilitado"
-#: midi_tracer.cc:57
+#: midi_tracer.cc:60
msgid "Delta times"
msgstr "Tiempos delta"
-#: midi_tracer.cc:70
+#: midi_tracer.cc:73
msgid "Port:"
msgstr "Puerto:"
@@ -7162,35 +7284,35 @@ msgstr "Puerto:"
msgid "New velocity"
msgstr "Nueva intensidad"
-#: missing_file_dialog.cc:34
-msgid "Missing File!"
-msgstr "¡Archivo ausente!"
+#: missing_file_dialog.cc:35
+msgid "Missing File"
+msgstr ""
-#: missing_file_dialog.cc:36
+#: missing_file_dialog.cc:37
msgid "Select a folder to search"
msgstr "Seleccionar una carpeta para buscar"
-#: missing_file_dialog.cc:37
+#: missing_file_dialog.cc:38
msgid "Add chosen folder to search path, and try again"
msgstr "Añade la carpeta seleccionada a la ruta de búsqueda y prueba otra vez"
-#: missing_file_dialog.cc:39
+#: missing_file_dialog.cc:40
msgid "Stop loading this session"
msgstr "Dejar de cargar esta sesión"
-#: missing_file_dialog.cc:40
+#: missing_file_dialog.cc:41
msgid "Skip all missing files"
msgstr "Omitir todos los archivos ausentes"
-#: missing_file_dialog.cc:41
+#: missing_file_dialog.cc:42
msgid "Skip this file"
msgstr "Omitir este archivo"
-#: missing_file_dialog.cc:52
+#: missing_file_dialog.cc:53
msgid "audio"
msgstr "audio"
-#: missing_file_dialog.cc:65
+#: missing_file_dialog.cc:70
msgid ""
"%1 cannot find the %2 file\n"
"\n"
@@ -7210,7 +7332,7 @@ msgstr ""
"<tt>%4</tt>\n"
"\n"
-#: missing_file_dialog.cc:99
+#: missing_file_dialog.cc:104
msgid "Click to choose an additional folder"
msgstr "Pulsa para elegir una carpeta adicional"
@@ -7218,7 +7340,7 @@ msgstr "Pulsa para elegir una carpeta adicional"
msgid "Missing Plugins"
msgstr "Plugins ausentes"
-#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:59
+#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:60
msgid "OK"
msgstr "OK"
@@ -7275,6 +7397,10 @@ msgstr "Conmutar procesadores seleccionados"
msgid "Toggle Selected Plugins"
msgstr "Conmutar plugins seleccionados"
+#: mixer_actor.cc:70
+msgid "Deselect all srips and processors"
+msgstr ""
+
#: mixer_actor.cc:72 mixer_actor.cc:73
msgid "Scroll Mixer Window to the left"
msgstr ""
@@ -7292,20 +7418,20 @@ msgstr ""
msgid "Could not find mixer.bindings in search path %1"
msgstr ""
-#: mixer_strip.cc:93 mixer_strip.cc:121 mixer_strip.cc:1721
+#: mixer_strip.cc:98 mixer_strip.cc:127
msgid "pre"
msgstr "pre"
-#: mixer_strip.cc:95 mixer_strip.cc:123 mixer_strip.cc:354 mixer_strip.cc:1300
-#: rc_option_editor.cc:1868
+#: mixer_strip.cc:100 mixer_strip.cc:129 mixer_strip.cc:376
+#: mixer_strip.cc:1373 rc_option_editor.cc:2203
msgid "Comments"
msgstr "Comentarios"
-#: mixer_strip.cc:147
+#: mixer_strip.cc:151
msgid "Click to toggle the width of this mixer strip."
msgstr "Conmutar anchura de este canal de mezcla."
-#: mixer_strip.cc:149
+#: mixer_strip.cc:153
msgid ""
"\n"
"%1-%2-click to toggle the width of all strips."
@@ -7313,297 +7439,283 @@ msgstr ""
"\n"
"%1-%2-clic para conmutar la anchura de todos los canales."
-#: mixer_strip.cc:156
+#: mixer_strip.cc:160
msgid "Hide this mixer strip"
msgstr "Ocultar este canal del mezclador"
-#: mixer_strip.cc:167
+#: mixer_strip.cc:171
msgid "Click to select metering point"
msgstr "Selección de punto de medición"
-# it's just a meaningless string
-#: mixer_strip.cc:173
-msgid "tupni"
-msgstr "tupni"
-
-#: mixer_strip.cc:192
+#: mixer_strip.cc:191
msgid "Isolate Solo"
msgstr "Solo aislado"
-#: mixer_strip.cc:201
+#: mixer_strip.cc:200
msgid "Lock Solo Status"
msgstr "Bloquear estado de solo"
-#: mixer_strip.cc:203 mixer_strip.cc:1926
-msgid "lock"
-msgstr "bloquear"
-
-#: mixer_strip.cc:204 mixer_strip.cc:1925
-msgid "iso"
-msgstr "iso"
+#: mixer_strip.cc:203 mixer_strip.cc:1982
+msgid "Iso"
+msgstr ""
-#: mixer_strip.cc:258
+#: mixer_strip.cc:259
msgid "Mix group"
msgstr "Grupo de mezcla"
-#: mixer_strip.cc:351 rc_option_editor.cc:1865
+#: mixer_strip.cc:372 rc_option_editor.cc:2199
msgid "Phase Invert"
msgstr "Inversión de fase"
-#: mixer_strip.cc:352 rc_option_editor.cc:1866 route_ui.cc:1218
-msgid "Solo Safe"
-msgstr "Solo seguro"
-
-#: mixer_strip.cc:355 mixer_ui.cc:124 route_time_axis.cc:673
-msgid "Group"
-msgstr "Grupo"
+#: mixer_strip.cc:373 rc_option_editor.cc:2200
+msgid "Record & Monitor"
+msgstr ""
-#: mixer_strip.cc:356 rc_option_editor.cc:1869
-msgid "Meter Point"
-msgstr "Punto de medición"
+#: mixer_strip.cc:374 rc_option_editor.cc:2201
+msgid "Solo Iso / Lock"
+msgstr ""
-#: mixer_strip.cc:470
+#: mixer_strip.cc:530
msgid "Enable/Disable MIDI input"
msgstr "Activar/Desactivar entrada MIDI"
-#: mixer_strip.cc:622
-msgid ""
-"Aux\n"
-"Sends"
+#: mixer_strip.cc:694
+msgid "Aux"
msgstr ""
-"Aux\n"
-"Envíos"
-#: mixer_strip.cc:646
+#: mixer_strip.cc:716
msgid "Snd"
msgstr "Snd"
-#: mixer_strip.cc:701 mixer_strip.cc:829 processor_box.cc:2193
+#: mixer_strip.cc:782 mixer_strip.cc:880 processor_box.cc:2426
msgid "Not connected to audio engine - no I/O changes are possible"
msgstr ""
-#: mixer_strip.cc:1096
+#: mixer_strip.cc:1163
msgid "<b>INPUT</b> to %1"
msgstr "<b>ENTRADA</b> a %1"
-#: mixer_strip.cc:1099
+#: mixer_strip.cc:1166
msgid "<b>OUTPUT</b> from %1"
msgstr "<b>SALIDA</b> desde %1"
-#: mixer_strip.cc:1174
+#: mixer_strip.cc:1241
msgid "Disconnected"
msgstr "Desconectado"
-#: mixer_strip.cc:1303
+#: mixer_strip.cc:1376
msgid "*Comments*"
msgstr "*Comentarios*"
-#: mixer_strip.cc:1310
+#: mixer_strip.cc:1383
msgid "Cmt"
msgstr "Cmt"
-#: mixer_strip.cc:1313
+#: mixer_strip.cc:1386
msgid "*Cmt*"
msgstr ""
-#: mixer_strip.cc:1319
+#: mixer_strip.cc:1392
msgid "Click to Add/Edit Comments"
msgstr "Clicar para añadir o editar comentarios"
-#: mixer_strip.cc:1358
-msgid ": comment editor"
-msgstr ": editor de notas"
-
-#: mixer_strip.cc:1435
+#: mixer_strip.cc:1436
msgid "Grp"
msgstr "Grp"
-#: mixer_strip.cc:1438
+#: mixer_strip.cc:1439
msgid "~G"
msgstr "~G"
-#: mixer_strip.cc:1467
+#: mixer_strip.cc:1468 route_time_axis.cc:534
+msgid "Color..."
+msgstr "Color..."
+
+#: mixer_strip.cc:1470 route_time_axis.cc:536
msgid "Comments..."
msgstr "Notas..."
-#: mixer_strip.cc:1469
+#: mixer_strip.cc:1472 route_time_axis.cc:538
+msgid "Inputs..."
+msgstr ""
+
+#: mixer_strip.cc:1474 route_time_axis.cc:540
+msgid "Outputs..."
+msgstr ""
+
+#: mixer_strip.cc:1479
msgid "Save As Template..."
msgstr "Guardar como plantilla..."
-#: mixer_strip.cc:1475 route_group_dialog.cc:39 route_time_axis.cc:696
+#: mixer_strip.cc:1485 route_group_dialog.cc:45 route_time_axis.cc:814
msgid "Active"
msgstr "Activo"
-#: mixer_strip.cc:1482
+#: mixer_strip.cc:1493
msgid "Adjust Latency..."
msgstr "Ajustar latencia..."
-#: mixer_strip.cc:1485
+#: mixer_strip.cc:1496
msgid "Protect Against Denormals"
msgstr "Proteger contra denormals"
-#: mixer_strip.cc:1491 route_time_axis.cc:435
+#: mixer_strip.cc:1502 route_time_axis.cc:553
msgid "Remote Control ID..."
msgstr "ID de control remoto..."
-#: mixer_strip.cc:1717 mixer_strip.cc:1741
-msgid "in"
-msgstr "in"
-
-#: mixer_strip.cc:1725
-msgid "post"
-msgstr "post"
-
-#: mixer_strip.cc:1729
-msgid "out"
-msgstr "out"
-
-#: mixer_strip.cc:1734
-msgid "custom"
-msgstr "custom"
+#: mixer_strip.cc:1778
+msgid "Pre"
+msgstr ""
-#: mixer_strip.cc:1745
-msgid "pr"
-msgstr "pr"
+#: mixer_strip.cc:1782
+msgid "Post"
+msgstr ""
-#: mixer_strip.cc:1749
-msgid "po"
-msgstr "po"
+#: mixer_strip.cc:1802
+msgid "Pr"
+msgstr ""
-#: mixer_strip.cc:1753
-msgid "o"
-msgstr "o"
+#: mixer_strip.cc:1806
+msgid "Po"
+msgstr ""
-#: mixer_strip.cc:1758
-msgid "c"
+#: mixer_strip.cc:1815
+msgid "C"
msgstr ""
-#: mixer_strip.cc:1906 route_ui.cc:143
+#: mixer_strip.cc:1963 route_ui.cc:164
msgid "Disk"
msgstr "Disco"
-#: mixer_strip.cc:1918 monitor_section.cc:63
+#: mixer_strip.cc:1975 monitor_section.cc:71
msgid "AFL"
msgstr "AFL"
-#: mixer_strip.cc:1921 monitor_section.cc:64
+#: mixer_strip.cc:1978 monitor_section.cc:72
msgid "PFL"
msgstr "PFL"
-#: mixer_strip.cc:1933
+#: mixer_strip.cc:1989 meter_strip.cc:380
msgid "D"
msgstr "D"
-#: mixer_strip.cc:1953
-msgid "i"
-msgstr "i"
-
-#: mixer_strip.cc:2128
-msgid "Pre-fader"
-msgstr "Pre-fader"
+#: mixer_strip.cc:2196
+msgid "Pre Fader"
+msgstr "Pre-Fader"
-#: mixer_strip.cc:2129
-msgid "Post-fader"
-msgstr "Post-fader"
+#: mixer_strip.cc:2197
+msgid "Post Fader"
+msgstr "Post-Fader"
-#: mixer_strip.cc:2166 meter_strip.cc:728
+#: mixer_strip.cc:2235 meter_strip.cc:818
msgid "Change all in Group to %1"
msgstr ""
-#: mixer_strip.cc:2168 meter_strip.cc:730
+#: mixer_strip.cc:2237 meter_strip.cc:820
msgid "Change all to %1"
msgstr ""
-#: mixer_strip.cc:2170 meter_strip.cc:732
+#: mixer_strip.cc:2239 meter_strip.cc:822
msgid "Change same track-type to %1"
msgstr ""
-#: mixer_ui.cc:1189
+#: mixer_ui.cc:129 route_time_axis.cc:791
+msgid "Group"
+msgstr "Grupo"
+
+#: mixer_ui.cc:1209
msgid "track display list item for renamed strip not found!"
msgstr ""
-#: mixer_ui.cc:1273
+#: mixer_ui.cc:1293
msgid "-all-"
msgstr "-todos-"
-#: mixer_ui.cc:1794
+#: mixer_ui.cc:1829
msgid "Strips"
msgstr "Canales"
-#: meter_strip.cc:764
+#: meter_strip.cc:157
+msgid "Reset Peak"
+msgstr ""
+
+#: meter_strip.cc:854
msgid "Variable height"
msgstr ""
-#: meter_strip.cc:765
+#: meter_strip.cc:855
msgid "Short"
msgstr ""
-#: meter_strip.cc:766
+#: meter_strip.cc:856
msgid "Tall"
msgstr ""
-#: meter_strip.cc:767
+#: meter_strip.cc:857
msgid "Grande"
msgstr ""
-#: meter_strip.cc:768
+#: meter_strip.cc:858
msgid "Venti"
msgstr ""
-#: meter_patterns.cc:81
+#: meter_patterns.cc:82
msgid "Peak"
msgstr ""
-#: meter_patterns.cc:84
+#: meter_patterns.cc:85
msgid "RMS + Peak"
msgstr ""
-#: meter_patterns.cc:87
+#: meter_patterns.cc:88
msgid "IEC1/DIN"
msgstr ""
-#: meter_patterns.cc:90
+#: meter_patterns.cc:91
msgid "IEC1/Nordic"
msgstr ""
-#: meter_patterns.cc:93
+#: meter_patterns.cc:94
msgid "IEC2/BBC"
msgstr ""
-#: meter_patterns.cc:96
+#: meter_patterns.cc:97
msgid "IEC2/EBU"
msgstr ""
-#: meter_patterns.cc:99
+#: meter_patterns.cc:100
msgid "K20"
msgstr ""
-#: meter_patterns.cc:102
+#: meter_patterns.cc:103
msgid "K14"
msgstr ""
-#: meter_patterns.cc:105
+#: meter_patterns.cc:106
+msgid "K12"
+msgstr ""
+
+#: meter_patterns.cc:109
msgid "VU"
msgstr ""
-#: monitor_section.cc:62
+#: monitor_section.cc:70
msgid "SiP"
msgstr "SiP"
-#: monitor_section.cc:86
-msgid "soloing"
-msgstr "en solo"
+#: monitor_section.cc:97 route_group_dialog.cc:49
+msgid "Soloing"
+msgstr "Solos"
-#: monitor_section.cc:90
-msgid "isolated"
-msgstr "aislado"
+#: monitor_section.cc:101
+msgid "Isolated"
+msgstr ""
-# en realidad no existe este término en el español...
-#: monitor_section.cc:94
-msgid "auditioning"
-msgstr "escucha"
+#: monitor_section.cc:105
+msgid "Auditioning"
+msgstr ""
-#: monitor_section.cc:104
+#: monitor_section.cc:115
msgid ""
"When active, something is solo-isolated.\n"
"Click to de-isolate everything"
@@ -7611,7 +7723,7 @@ msgstr ""
"Cuando está activo, algo está en solo aislado.\n"
"Pulsa para que nada esté aislado"
-#: monitor_section.cc:107
+#: monitor_section.cc:118
msgid ""
"When active, auditioning is active.\n"
"Click to stop the audition"
@@ -7619,58 +7731,58 @@ msgstr ""
"Si está activado, se está produciendo escucha.\n"
"Pulsa para detener la escucha"
-#: monitor_section.cc:124
+#: monitor_section.cc:135
msgid "Solo controls affect solo-in-place"
msgstr "Los controles de solo afectan solo-in-situ"
-#: monitor_section.cc:130
+#: monitor_section.cc:141
msgid "Solo controls toggle after-fader-listen"
msgstr "Los controles de solo conmutan escucha-post-fader"
-#: monitor_section.cc:136
+#: monitor_section.cc:147
msgid "Solo controls toggle pre-fader-listen"
msgstr "Los controles de solo conmutan escucha-pre-fader"
-#: monitor_section.cc:144
+#: monitor_section.cc:157
msgid "Gain increase for soloed signals (0dB is normal)"
msgstr "Incremento de ganancia para señales en solo (0dB es normal)"
-#: monitor_section.cc:150
+#: monitor_section.cc:171
msgid "Solo Boost"
msgstr ""
-#: monitor_section.cc:162
+#: monitor_section.cc:186
msgid ""
"Gain reduction non-soloed signals\n"
"A value above -inf dB causes \"solo-in-front\""
msgstr ""
-#: monitor_section.cc:164
+#: monitor_section.cc:197
msgid "SiP Cut"
msgstr "Cortar SiP"
-#: monitor_section.cc:176
+#: monitor_section.cc:212
msgid "Gain reduction to use when dimming monitor outputs"
msgstr ""
-#: monitor_section.cc:181
+#: monitor_section.cc:226 monitor_section.cc:284
msgid "Dim"
msgstr "Dim"
-#: monitor_section.cc:190
-msgid "excl. solo"
-msgstr "Solo excl."
+#: monitor_section.cc:236
+msgid "Excl. Solo"
+msgstr ""
-#: monitor_section.cc:192
+#: monitor_section.cc:238
msgid "Exclusive solo means that only 1 solo is active at a time"
msgstr ""
"Solo exclusivo significa que solamente 1 solo está activo en un momento dado"
-#: monitor_section.cc:199
-msgid "solo » mute"
-msgstr "solo » mudo"
+#: monitor_section.cc:245
+msgid "Solo » Mute"
+msgstr ""
-#: monitor_section.cc:201
+#: monitor_section.cc:247
msgid ""
"If enabled, solo will override mute\n"
"(a soloed & muted track or bus will be audible)"
@@ -7678,71 +7790,63 @@ msgstr ""
"Si está habilitado, el solo tendrá preferencia sobre el mudo\n"
"(una pista o bus en solo y mudo al mismo tiempo será audible)"
-#: monitor_section.cc:227
-msgid "mute"
-msgstr "mudo"
-
-#: monitor_section.cc:238
-msgid "dim"
-msgstr "atenuar"
-
-#: monitor_section.cc:245
-msgid "mono"
-msgstr "mono"
-
-#: monitor_section.cc:266
+#: monitor_section.cc:324
msgid "Monitor"
msgstr "Monitorizar"
-#: monitor_section.cc:678
+#: monitor_section.cc:751
msgid "Switch monitor to mono"
msgstr "Cambiar monitor a mono"
-#: monitor_section.cc:681
+#: monitor_section.cc:754
msgid "Cut monitor"
msgstr "Cortar monitor"
-#: monitor_section.cc:684
+#: monitor_section.cc:757
msgid "Dim monitor"
msgstr "Atenuar monitor"
-#: monitor_section.cc:687
+#: monitor_section.cc:760
msgid "Toggle exclusive solo mode"
msgstr "Activar/desactivar modo de solo exclusivo"
-#: monitor_section.cc:693
+#: monitor_section.cc:766
msgid "Toggle mute overrides solo mode"
msgstr ""
-#: monitor_section.cc:705
+#: monitor_section.cc:778
msgid "Cut monitor channel %1"
msgstr "Cortar canal de monitorización %1"
-#: monitor_section.cc:710
+#: monitor_section.cc:783
msgid "Dim monitor channel %1"
msgstr "Atenuar canal de monitorización %1"
-#: monitor_section.cc:715
+#: monitor_section.cc:788
msgid "Solo monitor channel %1"
msgstr "Poner en solo canal de monitorización %1"
-#: monitor_section.cc:720
+#: monitor_section.cc:793
msgid "Invert monitor channel %1"
msgstr "Invertir canal de monitorización %1"
-#: monitor_section.cc:730
+#: monitor_section.cc:803
msgid "In-place solo"
msgstr ""
-#: monitor_section.cc:732
+#: monitor_section.cc:805
msgid "After Fade Listen (AFL) solo"
msgstr "Escucha Post-fader (AFL) solo"
-#: monitor_section.cc:734
+#: monitor_section.cc:807
msgid "Pre Fade Listen (PFL) solo"
msgstr "Escucha pre-fader (PFL) solo"
-#: mono_panner.cc:101
+#: mono_panner.cc:109 stereo_panner.cc:117
+msgid "bypassed"
+msgstr ""
+
+#: mono_panner.cc:123
#, c-format
msgid "L:%3d R:%3d"
msgstr ""
@@ -7847,7 +7951,7 @@ msgstr "Normalizar regiones"
msgid "Normalize region"
msgstr "Normalizar región"
-#: normalize_dialog.cc:49 strip_silence_dialog.cc:70
+#: normalize_dialog.cc:49 strip_silence_dialog.cc:66
msgid "dbFS"
msgstr "dbFS"
@@ -7966,32 +8070,27 @@ msgstr ""
" -k, --keybindings filename Nombre del archivo de combinaciones de "
"teclas a cargar (por defecto: ~/.ardour3/ardour.bindings)\n"
-#: panner2d.cc:781
+#: panner2d.cc:852
msgid "Panner (2D)"
msgstr "Paner (2D)"
-#: panner2d.cc:783 panner_ui.cc:383 plugin_ui.cc:448
+#: panner2d.cc:854 panner_ui.cc:399 plugin_ui.cc:449
msgid "Bypass"
msgstr "Puentear"
# Aquí estaaba panorámica, pero pan se entiende perfectamente y es mucho más corto
-#: panner2d.cc:787
+#: panner2d.cc:860
msgid "Panner"
msgstr "Paner"
-#: panner_ui.cc:70
+#: panner_ui.cc:71
msgid "Pan automation mode"
msgstr "Modo de automatización de panorámica"
-#: panner_ui.cc:71
+#: panner_ui.cc:72
msgid "Pan automation type"
msgstr "Tipo de automatización de panorámica"
-#: panner_ui.cc:294
-msgid ""
-"No panner user interface is currently available for %1-in/2out tracks/busses"
-msgstr ""
-
#: playlist_selector.cc:43
msgid "Playlists"
msgstr "Listas de reproducción"
@@ -8016,39 +8115,39 @@ msgstr "no asignado"
msgid "Imported"
msgstr "Importado"
-#: plugin_eq_gui.cc:75 plugin_eq_gui.cc:99
+#: plugin_eq_gui.cc:85 plugin_eq_gui.cc:109
msgid "dB scale"
msgstr "escala dB"
-#: plugin_eq_gui.cc:106
+#: plugin_eq_gui.cc:116
msgid "Show phase"
msgstr "Mostrar fase"
-#: plugin_selector.cc:53 plugin_selector.cc:220
+#: plugin_selector.cc:53 plugin_selector.cc:229
msgid "Name contains"
msgstr "El nombre contiene"
-#: plugin_selector.cc:54 plugin_selector.cc:224
+#: plugin_selector.cc:54 plugin_selector.cc:233
msgid "Type contains"
msgstr "El tipo contiene"
-#: plugin_selector.cc:55 plugin_selector.cc:222
+#: plugin_selector.cc:55 plugin_selector.cc:231
msgid "Category contains"
msgstr "La categoría contiene"
-#: plugin_selector.cc:56 plugin_selector.cc:244
+#: plugin_selector.cc:56 plugin_selector.cc:253
msgid "Author contains"
msgstr "El autor contiene"
-#: plugin_selector.cc:57 plugin_selector.cc:246
+#: plugin_selector.cc:57 plugin_selector.cc:255
msgid "Library contains"
msgstr "La biblioteca contiene"
-#: plugin_selector.cc:58 plugin_selector.cc:210 plugin_selector.cc:521
+#: plugin_selector.cc:58 plugin_selector.cc:219 plugin_selector.cc:537
msgid "Favorites only"
msgstr "Sólo favoritos"
-#: plugin_selector.cc:59 plugin_selector.cc:214 plugin_selector.cc:521
+#: plugin_selector.cc:59 plugin_selector.cc:223 plugin_selector.cc:537
msgid "Hidden only"
msgstr "Sólo ocultos"
@@ -8056,68 +8155,68 @@ msgstr "Sólo ocultos"
msgid "Plugin Manager"
msgstr "Administrador de plugins"
-#: plugin_selector.cc:84
+#: plugin_selector.cc:85
msgid "Fav"
msgstr "Fav"
-#: plugin_selector.cc:86
+#: plugin_selector.cc:87
msgid "Available Plugins"
msgstr "Plugins disponibles"
-#: plugin_selector.cc:87
+#: plugin_selector.cc:88
msgid "Type"
msgstr "Tipo"
-#: plugin_selector.cc:88
+#: plugin_selector.cc:89
msgid "Category"
msgstr "Categoría"
-#: plugin_selector.cc:89
+#: plugin_selector.cc:90
msgid "Creator"
msgstr "Creador"
-#: plugin_selector.cc:90
+#: plugin_selector.cc:91
msgid "# Audio In"
msgstr "# Audio In"
-#: plugin_selector.cc:91
+#: plugin_selector.cc:92
msgid "# Audio Out"
msgstr "# Audio Out"
-#: plugin_selector.cc:92
+#: plugin_selector.cc:93
msgid "# MIDI In"
msgstr "# MIDI In"
-#: plugin_selector.cc:93
+#: plugin_selector.cc:94
msgid "# MIDI Out"
msgstr "# MIDI Out"
-#: plugin_selector.cc:115
+#: plugin_selector.cc:116
msgid "Plugins to be connected"
msgstr "Plugins que se conectarán"
-#: plugin_selector.cc:128
+#: plugin_selector.cc:129
msgid "Add a plugin to the effect list"
msgstr "Añadir plugin a la lista de efectos"
-#: plugin_selector.cc:132
+#: plugin_selector.cc:133
msgid "Remove a plugin from the effect list"
msgstr "Eliminar plugin de la lista de efectos"
-#: plugin_selector.cc:134
+#: plugin_selector.cc:135
msgid "Update available plugins"
msgstr "Actualizar plugins disponibles"
-#: plugin_selector.cc:171
+#: plugin_selector.cc:172
msgid "Insert Plugin(s)"
msgstr "Insertar plugin/s"
-#: plugin_selector.cc:320 plugin_selector.cc:321 plugin_selector.cc:322
-#: plugin_selector.cc:323
+#: plugin_selector.cc:337 plugin_selector.cc:338 plugin_selector.cc:339
+#: plugin_selector.cc:340
msgid "variable"
msgstr ""
-#: plugin_selector.cc:480
+#: plugin_selector.cc:496
msgid ""
"The plugin \"%1\" could not be loaded\n"
"\n"
@@ -8127,27 +8226,27 @@ msgstr ""
"\n"
"Ver la ventana de mensajes para más detalles"
-#: plugin_selector.cc:628
+#: plugin_selector.cc:644
msgid "Favorites"
msgstr "Favoritos"
-#: plugin_selector.cc:630
+#: plugin_selector.cc:646
msgid "Plugin Manager..."
msgstr "Administrador de plugins..."
-#: plugin_selector.cc:634
+#: plugin_selector.cc:650
msgid "By Creator"
msgstr "Por autor"
-#: plugin_selector.cc:637
+#: plugin_selector.cc:653
msgid "By Category"
msgstr "Por categoría"
-#: plugin_ui.cc:114
+#: plugin_ui.cc:113
msgid "Eh? LADSPA plugins don't have editors!"
msgstr "¿Cómo? ¡Los plugins LADSPA no tienen editores!"
-#: plugin_ui.cc:123 plugin_ui.cc:226
+#: plugin_ui.cc:122 plugin_ui.cc:227
msgid ""
"unknown type of editor-supplying plugin (note: no VST support in this "
"version of %1)"
@@ -8155,11 +8254,11 @@ msgstr ""
"Tipo desconocido de plugin con editor propio (nota: no hay soporte para VST "
"en esta versión de %1)"
-#: plugin_ui.cc:126
+#: plugin_ui.cc:125
msgid "unknown type of editor-supplying plugin"
msgstr "Tipo desconocido de plugin con editor propio "
-#: plugin_ui.cc:256
+#: plugin_ui.cc:257
msgid ""
"unknown type of editor-supplying plugin (note: no linuxVST support in this "
"version of %1)"
@@ -8167,45 +8266,45 @@ msgstr ""
"Tipo desconocido de plugin con editor propio (nota: no hay soporte linuxVST "
"en esta versión de %1)"
-#: plugin_ui.cc:328
+#: plugin_ui.cc:329
msgid "create_lv2_editor called on non-LV2 plugin"
msgstr ""
-#: plugin_ui.cc:414
+#: plugin_ui.cc:415
msgid "Add"
msgstr "Añadir"
-#: plugin_ui.cc:418
+#: plugin_ui.cc:419
msgid "Description"
msgstr "Descripción"
-#: plugin_ui.cc:419
+#: plugin_ui.cc:420
msgid "Plugin analysis"
msgstr "Análisis de plugin"
-#: plugin_ui.cc:426
+#: plugin_ui.cc:427
msgid ""
"Presets (if any) for this plugin\n"
"(Both factory and user-created)"
msgstr ""
-#: plugin_ui.cc:427
+#: plugin_ui.cc:428
msgid "Save a new preset"
msgstr "Guadar un preset nuevo"
-#: plugin_ui.cc:428
+#: plugin_ui.cc:429
msgid "Save the current preset"
msgstr ""
-#: plugin_ui.cc:429
+#: plugin_ui.cc:430
msgid "Delete the current preset"
msgstr ""
-#: plugin_ui.cc:430
+#: plugin_ui.cc:431
msgid "Disable signal processing by the plugin"
msgstr ""
-#: plugin_ui.cc:463 plugin_ui.cc:659
+#: plugin_ui.cc:464 plugin_ui.cc:660
msgid ""
"Click to allow the plugin to receive keyboard events that %1 would normally "
"use as a shortcut"
@@ -8213,41 +8312,41 @@ msgstr ""
"Pulsa para permitir que el plugin reciba eventos de teclado que %1 usaría "
"normalmente como atajos de teclado"
-#: plugin_ui.cc:464
+#: plugin_ui.cc:465
msgid "Click to enable/disable this plugin"
msgstr "Pulsa para activar/desactivar este plugin"
-#: plugin_ui.cc:503
+#: plugin_ui.cc:504
msgid "latency (%1 sample)"
msgid_plural "latency (%1 samples)"
msgstr[0] "latencia (%1 muestra)"
msgstr[1] "latencia (%1 muestras)"
-#: plugin_ui.cc:505
+#: plugin_ui.cc:506
msgid "latency (%1 ms)"
msgstr "latencia (%1 ms)"
-#: plugin_ui.cc:516
+#: plugin_ui.cc:517
msgid "Edit Latency"
msgstr "Editar latencia"
-#: plugin_ui.cc:555
+#: plugin_ui.cc:556
msgid "Plugin preset %1 not found"
msgstr "No se encontró el preset %1"
-#: plugin_ui.cc:592
+#: plugin_ui.cc:593
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"full version"
msgstr ""
-#: plugin_ui.cc:612 plugin_ui.cc:627
+#: plugin_ui.cc:613 plugin_ui.cc:628
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"newer version"
msgstr ""
-#: plugin_ui.cc:666
+#: plugin_ui.cc:667
msgid "Click to allow normal use of %1 keyboard shortcuts"
msgstr "Pulsa para permitir el uso normal de los atajos de teclado de %1"
@@ -8323,66 +8422,66 @@ msgstr ""
msgid "alsa_pcm"
msgstr ""
-#: port_insert_ui.cc:40
+#: port_insert_ui.cc:39
msgid "Measure Latency"
msgstr "Medir Latencia"
-#: port_insert_ui.cc:51
+#: port_insert_ui.cc:50
msgid "Send/Output"
msgstr "Envío/Salida"
-#: port_insert_ui.cc:52
+#: port_insert_ui.cc:51
msgid "Return/Input"
msgstr "Retorno/Entrada"
-#: port_insert_ui.cc:86
+#: port_insert_ui.cc:85
msgid "No signal detected"
msgstr "No se ha detectado señal"
-#: port_insert_ui.cc:166
+#: port_insert_ui.cc:165
msgid "Port Insert "
msgstr "Inserción puerto"
-#: port_matrix.cc:331 port_matrix.cc:357
+#: port_matrix.cc:332 port_matrix.cc:358
msgid "<b>Sources</b>"
msgstr "<b>Orígenes</b>"
-#: port_matrix.cc:332 port_matrix.cc:358
+#: port_matrix.cc:333 port_matrix.cc:359
msgid "<b>Destinations</b>"
msgstr "<b>Destinos</b>"
-#: port_matrix.cc:440 port_matrix.cc:448
+#: port_matrix.cc:441 port_matrix.cc:449
#, c-format
msgid "Add %s %s"
msgstr "Añadir %s %s"
-#: port_matrix.cc:456
+#: port_matrix.cc:457
#, c-format
msgid "Rename '%s'..."
msgstr "Renombrar '%s'..."
-#: port_matrix.cc:472
+#: port_matrix.cc:473
msgid "Remove all"
msgstr "Eliminar todo"
-#: port_matrix.cc:492 port_matrix.cc:504
+#: port_matrix.cc:493 port_matrix.cc:505
#, c-format
msgid "%s all"
msgstr "%s todos"
-#: port_matrix.cc:527
+#: port_matrix.cc:528
msgid "Rescan"
msgstr "Buscar otra vez"
-#: port_matrix.cc:529
+#: port_matrix.cc:530
msgid "Show individual ports"
msgstr "Mostrar puertos individuales"
-#: port_matrix.cc:535
+#: port_matrix.cc:536
msgid "Flip"
msgstr ""
-#: port_matrix.cc:721
+#: port_matrix.cc:722
msgid ""
"It is not possible to add a port here, as the first processor in the track "
"or buss cannot support the new configuration."
@@ -8390,32 +8489,32 @@ msgstr ""
"No es posible añadir un puerto aquí, pues el primer procesador de la pista o "
"bus no puede soportar la nueva configuración."
-#: port_matrix.cc:724
+#: port_matrix.cc:725
msgid "Cannot add port"
msgstr ""
-#: port_matrix.cc:746
+#: port_matrix.cc:747
msgid "Port removal not allowed"
msgstr "Eliminación de puertos no permitida"
-#: port_matrix.cc:747
+#: port_matrix.cc:748
msgid ""
"This port cannot be removed.\n"
"Either the first plugin in the track or buss cannot accept\n"
"the new number of inputs or the last plugin has more outputs."
msgstr ""
-#: port_matrix.cc:964
+#: port_matrix.cc:965
#, c-format
msgid "Remove '%s'"
msgstr "Eliminar '%s'"
-#: port_matrix.cc:979
+#: port_matrix.cc:980
#, c-format
msgid "%s all from '%s'"
msgstr "%s todo desde '%s'"
-#: port_matrix.cc:1045
+#: port_matrix.cc:1046
msgid "channel"
msgstr "canal"
@@ -8427,36 +8526,59 @@ msgstr "No hay puertos para conectar."
msgid "There are no %1 ports to connect."
msgstr "No hay %1 puertos para conectar."
-#: processor_box.cc:256
+#: processor_box.cc:150
+msgid "Send"
+msgstr ""
+
+#: processor_box.cc:152
+msgid "Return"
+msgstr ""
+
+#: processor_box.cc:310
+msgid ""
+"\n"
+"This mono plugin has been replicated %1 times."
+msgstr ""
+
+#: processor_box.cc:314
msgid ""
"<b>%1</b>\n"
"Double-click to show GUI.\n"
-"Alt+double-click to show generic GUI."
+"Alt+double-click to show generic GUI.%2"
msgstr ""
-#: processor_box.cc:259
+#: processor_box.cc:317
msgid ""
"<b>%1</b>\n"
-"Double-click to show generic GUI."
+"Double-click to show generic GUI.%2"
msgstr ""
-#: processor_box.cc:372
+#: processor_box.cc:361
+#, c-format
+msgid "(%1x1) "
+msgstr ""
+
+#: processor_box.cc:437
msgid "Show All Controls"
msgstr "Mostrar todos los controles"
-#: processor_box.cc:376
+#: processor_box.cc:441
msgid "Hide All Controls"
msgstr "Ocultar todos los controles"
-#: processor_box.cc:465
+#: processor_box.cc:475
+msgid "Link panner controls"
+msgstr ""
+
+#: processor_box.cc:559
msgid "on"
msgstr "on"
-#: processor_box.cc:465 rc_option_editor.cc:1898 rc_option_editor.cc:1912
+#: processor_box.cc:559 rc_option_editor.cc:2232 rc_option_editor.cc:2246
msgid "off"
msgstr "apagado"
-#: processor_box.cc:742
+#: processor_box.cc:945
msgid ""
"Right-click to add/remove/edit\n"
"plugins,inserts,sends and more"
@@ -8464,15 +8586,15 @@ msgstr ""
"Botón derecho para añadir/eliminar/editar\n"
"plugins, inserciones, envíos y más"
-#: processor_box.cc:1197 processor_box.cc:1618
+#: processor_box.cc:1422 processor_box.cc:1848
msgid "Plugin Incompatibility"
msgstr "Incompatiblidad de plugin"
-#: processor_box.cc:1200
+#: processor_box.cc:1425
msgid "You attempted to add the plugin \"%1\" in slot %2.\n"
msgstr "Intentaste añadir el plugin \"%1\" en el slot %2.\n"
-#: processor_box.cc:1206
+#: processor_box.cc:1431
msgid ""
"\n"
"This plugin has:\n"
@@ -8480,19 +8602,19 @@ msgstr ""
"\n"
"Este plugin tiene:\n"
-#: processor_box.cc:1209
+#: processor_box.cc:1434
msgid "\t%1 MIDI input\n"
msgid_plural "\t%1 MIDI inputs\n"
msgstr[0] "\t%1 entrada MIDI\n"
msgstr[1] "\t%1 entradas MIDI\n"
-#: processor_box.cc:1213
+#: processor_box.cc:1438
msgid "\t%1 audio input\n"
msgid_plural "\t%1 audio inputs\n"
msgstr[0] "\t%1 entrada audio\n"
msgstr[1] "\t%1 entradas audio\n"
-#: processor_box.cc:1216
+#: processor_box.cc:1441
msgid ""
"\n"
"but at the insertion point, there are:\n"
@@ -8500,19 +8622,19 @@ msgstr ""
"\n"
"Pero en el punto de inserción hay:\n"
-#: processor_box.cc:1219
+#: processor_box.cc:1444
msgid "\t%1 MIDI channel\n"
msgid_plural "\t%1 MIDI channels\n"
msgstr[0] "\t%1 canal MIDI\n"
msgstr[1] "\t%1 canales MIDI\n"
-#: processor_box.cc:1223
+#: processor_box.cc:1448
msgid "\t%1 audio channel\n"
msgid_plural "\t%1 audio channels\n"
msgstr[0] "\t%1 canal audio\n"
msgstr[1] "\t%1 canales audio\n"
-#: processor_box.cc:1226
+#: processor_box.cc:1451
msgid ""
"\n"
"%1 is unable to insert this plugin here.\n"
@@ -8520,11 +8642,11 @@ msgstr ""
"\n"
"%1 es incapaz de insertar este plugin aquí.\n"
-#: processor_box.cc:1262
+#: processor_box.cc:1488
msgid "Cannot set up new send: %1"
msgstr "No se pudo configurar el nuevo envío: %1"
-#: processor_box.cc:1621
+#: processor_box.cc:1851
msgid ""
"You cannot reorder these plugins/sends/inserts\n"
"in that way because the inputs and\n"
@@ -8534,19 +8656,19 @@ msgstr ""
"de ese modo porque las entradas y salidas no\n"
"funcionarán correctamente."
-#: processor_box.cc:1805
+#: processor_box.cc:2035
msgid "Rename Processor"
msgstr "Renombrar procesador"
-#: processor_box.cc:1836
+#: processor_box.cc:2066
msgid "At least 100 IO objects exist with a name like %1 - name not changed"
msgstr ""
-#: processor_box.cc:1970
+#: processor_box.cc:2203
msgid "plugin insert constructor failed"
msgstr ""
-#: processor_box.cc:1981
+#: processor_box.cc:2214
msgid ""
"Copying the set of processors on the clipboard failed,\n"
"probably because the I/O configuration of the plugins\n"
@@ -8557,7 +8679,7 @@ msgstr ""
"configuración de E/S de los plugins no concuerda\n"
"con la configuración de esta pista."
-#: processor_box.cc:2027
+#: processor_box.cc:2260
msgid ""
"Do you really want to remove all processors from %1?\n"
"(this cannot be undone)"
@@ -8565,15 +8687,15 @@ msgstr ""
"¿De verdad deseas eliminar todos los procesadores de %1? \n"
"(esto no se puede deshacer)"
-#: processor_box.cc:2031 processor_box.cc:2056
+#: processor_box.cc:2264 processor_box.cc:2289
msgid "Yes, remove them all"
msgstr "Sí, eliminar todos"
-#: processor_box.cc:2033 processor_box.cc:2058
+#: processor_box.cc:2266 processor_box.cc:2291
msgid "Remove processors"
msgstr "Eliminar procesadores"
-#: processor_box.cc:2048
+#: processor_box.cc:2281
msgid ""
"Do you really want to remove all pre-fader processors from %1?\n"
"(this cannot be undone)"
@@ -8581,7 +8703,7 @@ msgstr ""
"¿De verdad deseas eliminar todos los procesadores pre-fader de %1?\n"
"(esto no se puede deshacer)"
-#: processor_box.cc:2051
+#: processor_box.cc:2284
msgid ""
"Do you really want to remove all post-fader processors from %1?\n"
"(this cannot be undone)"
@@ -8589,58 +8711,62 @@ msgstr ""
"¿De verdad deseas eliminar todos los procesadores post-fader de %1?\n"
"(esto no se puede deshacer)"
-#: processor_box.cc:2239
+#: processor_box.cc:2472
msgid "New Plugin"
msgstr "Nuevo plugin"
-#: processor_box.cc:2242
+#: processor_box.cc:2475
msgid "New Insert"
msgstr "Nueva inserción"
-#: processor_box.cc:2245
+#: processor_box.cc:2478
msgid "New External Send ..."
msgstr "Nuevo envío externo..."
-#: processor_box.cc:2249
+#: processor_box.cc:2482
msgid "New Aux Send ..."
msgstr "Nuevo envío auxiliar..."
-#: processor_box.cc:2253
+#: processor_box.cc:2485
+msgid "Send Options"
+msgstr ""
+
+#: processor_box.cc:2487
msgid "Clear (all)"
msgstr "Limpiar (todos)"
# es correcto el término 'resetear'?
# He cambiado tipo de compás y compás, cuando tiene este significado, por métrica
-#: processor_box.cc:2255
+#: processor_box.cc:2489
msgid "Clear (pre-fader)"
msgstr "Limpiar (pre-fader)"
-#: processor_box.cc:2257
+#: processor_box.cc:2491
msgid "Clear (post-fader)"
msgstr "Limpiar (post-fader)"
-#: processor_box.cc:2283
+#: processor_box.cc:2517
msgid "Activate All"
msgstr "Activar todos"
-#: processor_box.cc:2285
+#: processor_box.cc:2519
msgid "Deactivate All"
msgstr "Desactivar todos"
-#: processor_box.cc:2287
+#: processor_box.cc:2521
msgid "A/B Plugins"
msgstr "Plugins A/B"
-#: processor_box.cc:2296
+#: processor_box.cc:2530
msgid "Edit with generic controls..."
msgstr ""
-#: processor_box.cc:2599
+#: processor_box.cc:2833
msgid "%1: %2 (by %3)"
msgstr "%1: %2 (a %3)"
-#: processor_box.cc:2601
-msgid "%2 (by %3)"
+#: processor_box.cc:2835
+msgid "%1 (by %2)"
msgstr ""
#: patch_change_dialog.cc:51
@@ -8657,11 +8783,11 @@ msgstr "Banco de patch"
msgid "Patch"
msgstr "Patch"
-#: patch_change_dialog.cc:99 step_entry.cc:429
+#: patch_change_dialog.cc:99 step_entry.cc:430
msgid "Program"
msgstr "Programa"
-#: patch_change_dialog.cc:107 step_entry.cc:421
+#: patch_change_dialog.cc:107 step_entry.cc:422
msgid "Bank"
msgstr "Banco"
@@ -8693,121 +8819,121 @@ msgstr "Ajustar principio de nota"
msgid "Snap note end"
msgstr "Ajustar final de nota"
-#: rc_option_editor.cc:67
+#: rc_option_editor.cc:76
msgid "Click audio file:"
msgstr "Archivo de audio de claqueta:"
-#: rc_option_editor.cc:70 rc_option_editor.cc:77
+#: rc_option_editor.cc:79 rc_option_editor.cc:86
msgid "Browse..."
msgstr "Explorar..."
-#: rc_option_editor.cc:74
+#: rc_option_editor.cc:83
msgid "Click emphasis audio file:"
msgstr "Archivo de audio de claqueta acentuada:"
-#: rc_option_editor.cc:106
+#: rc_option_editor.cc:115
msgid "Choose Click"
msgstr "Elige claqueta"
-#: rc_option_editor.cc:126
+#: rc_option_editor.cc:135
msgid "Choose Click Emphasis"
msgstr "Elige claqueta acentuada"
-#: rc_option_editor.cc:158
+#: rc_option_editor.cc:167
msgid "Limit undo history to"
msgstr "Limitar historial de deshacer a"
-#: rc_option_editor.cc:159
+#: rc_option_editor.cc:168
msgid "Save undo history of"
msgstr "Guardar historial de deshacer de"
-#: rc_option_editor.cc:168 rc_option_editor.cc:175
+#: rc_option_editor.cc:177 rc_option_editor.cc:184
msgid "commands"
msgstr "comandos"
-#: rc_option_editor.cc:313
+#: rc_option_editor.cc:322
msgid "Edit using:"
msgstr "Editar usando:"
-#: rc_option_editor.cc:319 rc_option_editor.cc:345 rc_option_editor.cc:372
+#: rc_option_editor.cc:328 rc_option_editor.cc:354 rc_option_editor.cc:381
msgid "+ button"
msgstr "+ botón"
-#: rc_option_editor.cc:339
+#: rc_option_editor.cc:348
msgid "Delete using:"
msgstr "Eliminar usando:"
-#: rc_option_editor.cc:366
+#: rc_option_editor.cc:375
msgid "Insert note using:"
msgstr "Insertar nota usando:"
-#: rc_option_editor.cc:393
+#: rc_option_editor.cc:402
msgid "Ignore snap using:"
msgstr "Ignorar ajuste usando:"
-#: rc_option_editor.cc:409
+#: rc_option_editor.cc:418
msgid "Keyboard layout:"
msgstr "Disposición de teclado:"
-#: rc_option_editor.cc:532
+#: rc_option_editor.cc:541
msgid "Font scaling:"
msgstr "Escalado de tipografía:"
-#: rc_option_editor.cc:584
+#: rc_option_editor.cc:591
+msgid "Waveform Clip Level (dBFS):"
+msgstr ""
+
+#: rc_option_editor.cc:643
msgid "Playback (seconds of buffering):"
msgstr "Reproducción (segundos de buffering)"
-#: rc_option_editor.cc:597
+#: rc_option_editor.cc:656
msgid "Recording (seconds of buffering):"
msgstr "Grabación (segundos de buffering)"
-#: rc_option_editor.cc:654
+#: rc_option_editor.cc:714
msgid "Control Surface Protocol"
msgstr ""
-#: rc_option_editor.cc:658
-msgid "Feedback"
-msgstr "Realimentación"
-
-#: rc_option_editor.cc:663
+#: rc_option_editor.cc:723
msgid "Double-click on a name to edit settings for an enabled protocol"
msgstr ""
"Doble clic en un nombre para editar ajustes para un protocolo habilitado"
-#: rc_option_editor.cc:815
+#: rc_option_editor.cc:886
msgid "Show Video Export Info before export"
msgstr ""
-#: rc_option_editor.cc:816
+#: rc_option_editor.cc:887
msgid "Show Video Server Startup Dialog"
msgstr ""
-#: rc_option_editor.cc:817
+#: rc_option_editor.cc:888
msgid "Advanced Setup (remote video server)"
msgstr ""
-#: rc_option_editor.cc:825
+#: rc_option_editor.cc:896
msgid ""
"<b>When enabled</b> you can speficify a custom video-server URL and docroot. "
"- Do not enable this option unless you know what you are doing."
msgstr ""
-#: rc_option_editor.cc:827
+#: rc_option_editor.cc:898
msgid "Video Server URL:"
msgstr ""
-#: rc_option_editor.cc:832
+#: rc_option_editor.cc:903
msgid ""
"Base URL of the video-server including http prefix. This is usually 'http://"
"hostname.example.org:1554/' and defaults to 'http://localhost:1554/' when "
"the video-server is running locally"
msgstr ""
-#: rc_option_editor.cc:834
+#: rc_option_editor.cc:905
msgid "Video Folder:"
msgstr ""
-#: rc_option_editor.cc:839
+#: rc_option_editor.cc:910
msgid ""
"Local path to the video-server document-root. Only files below this "
"directory will be accessible by the video-server. If the server run on a "
@@ -8816,99 +8942,167 @@ msgid ""
"monitor and file-browsing when opening/adding a video file."
msgstr ""
-#: rc_option_editor.cc:846
+#: rc_option_editor.cc:917
msgid ""
"<b>When enabled</b> an information window with details is displayed before "
"the video-export dialog."
msgstr ""
-#: rc_option_editor.cc:851
+#: rc_option_editor.cc:922
msgid ""
"<b>When enabled</b> the video server is never launched automatically without "
"confirmation"
msgstr ""
-#: rc_option_editor.cc:991
+#: rc_option_editor.cc:1004
+msgid "Always Display Plugin Scan Progress"
+msgstr ""
+
+#: rc_option_editor.cc:1005
+msgid "Scan for new VST Plugins on Application Start"
+msgstr ""
+
+#: rc_option_editor.cc:1016
+msgid "General"
+msgstr ""
+
+#: rc_option_editor.cc:1022
+msgid "Scan for Plugins"
+msgstr ""
+
+#: rc_option_editor.cc:1029
+msgid ""
+"<b>When enabled</b> a popup window showing plugin scan progress is displayed "
+"for indexing (cache load) and discovery (detect new plugins)"
+msgstr ""
+
+#: rc_option_editor.cc:1035
+msgid ""
+"Specify the default timeout for plugin instantiation in 1/10 seconds. "
+"Plugins that require more time to load will be blacklisted. A value of 0 "
+"disables the timeout."
+msgstr ""
+
+#: rc_option_editor.cc:1037
+msgid "Scan Time Out [deciseconds]"
+msgstr ""
+
+#: rc_option_editor.cc:1045
+msgid "VST"
+msgstr ""
+
+#: rc_option_editor.cc:1051
+msgid "Clear VST Cache"
+msgstr ""
+
+#: rc_option_editor.cc:1055
+msgid "Clear VST Blacklist"
+msgstr ""
+
+#: rc_option_editor.cc:1063
+msgid ""
+"<b>When enabled</b> new VST plugins are searched, tested and added to the "
+"cache index on application start. When disabled new plugins will only be "
+"available after triggering a 'Scan' manually"
+msgstr ""
+
+#: rc_option_editor.cc:1066
+msgid "Linux VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1073
+msgid "Windows VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1135
+msgid "Set Windows VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1150
+msgid "Set Linux VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1231
msgid "%1 Preferences"
msgstr "Preferencias de %1"
-#: rc_option_editor.cc:1002
+#: rc_option_editor.cc:1242
msgid "DSP CPU Utilization"
msgstr "Uso de DSP CPU"
-#: rc_option_editor.cc:1006
+#: rc_option_editor.cc:1246
msgid "Signal processing uses"
msgstr "Usos de procesado de señal"
-#: rc_option_editor.cc:1011
+#: rc_option_editor.cc:1251
msgid "all but one processor"
msgstr "todos los procesadores menos uno"
-#: rc_option_editor.cc:1012
+#: rc_option_editor.cc:1252
msgid "all available processors"
msgstr "todos los procesadores disponibles"
-#: rc_option_editor.cc:1015
+#: rc_option_editor.cc:1255
msgid "%1 processors"
msgstr "%1 procesadores"
-#: rc_option_editor.cc:1018
+#: rc_option_editor.cc:1258
msgid "This setting will only take effect when %1 is restarted."
msgstr "Esta configuración sólo tendrá efecto cuando %1 sea reiniciado"
-#: rc_option_editor.cc:1023
+#: rc_option_editor.cc:1263
msgid "Options|Undo"
msgstr "Opciones de deshacer"
-#: rc_option_editor.cc:1030
+#: rc_option_editor.cc:1270
msgid "Verify removal of last capture"
msgstr "Verificar borrado de última captura"
-#: rc_option_editor.cc:1038
+#: rc_option_editor.cc:1278
msgid "Make periodic backups of the session file"
msgstr "Hacer copias de seguridad periódicas del archivo de sesión"
-#: rc_option_editor.cc:1043
+#: rc_option_editor.cc:1283
msgid "Session Management"
msgstr "Gestión de sesiones"
-#: rc_option_editor.cc:1048
+#: rc_option_editor.cc:1288
msgid "Always copy imported files"
msgstr "Copiar siempre archivos importados"
-#: rc_option_editor.cc:1055
+#: rc_option_editor.cc:1295
msgid "Default folder for new sessions:"
msgstr "Carpeta por defecto para sesiones nuevas:"
-#: rc_option_editor.cc:1063
+#: rc_option_editor.cc:1303
msgid "Maximum number of recent sessions"
msgstr "Número máximo de sesiones recientes"
-#: rc_option_editor.cc:1076
+#: rc_option_editor.cc:1316
msgid "Click gain level"
msgstr "Nivel de ganancia de claqueta"
-#: rc_option_editor.cc:1081 route_time_axis.cc:215 route_time_axis.cc:676
+#: rc_option_editor.cc:1321 route_time_axis.cc:266 route_time_axis.cc:794
msgid "Automation"
msgstr "Automatización"
-#: rc_option_editor.cc:1086
+#: rc_option_editor.cc:1326
msgid "Thinning factor (larger value => less data)"
msgstr "Factor de adelgazamiento (mayor valor => menos datos)"
-#: rc_option_editor.cc:1095
+#: rc_option_editor.cc:1335
msgid "Automation sampling interval (milliseconds)"
msgstr "Intervalo de sampleado de automatización (milisegundos)"
-#: rc_option_editor.cc:1107
+#: rc_option_editor.cc:1347
msgid "Keep record-enable engaged on stop"
msgstr "Mantener la grabación preparada al detener"
-#: rc_option_editor.cc:1116
+#: rc_option_editor.cc:1356
msgid "Stop recording when an xrun occurs"
msgstr "Detener grabación al detectar xrun"
-#: rc_option_editor.cc:1121
+#: rc_option_editor.cc:1361
msgid ""
"<b>When enabled</b> %1 will stop recording if an over- or underrun is "
"detected by the audio engine"
@@ -8916,15 +9110,28 @@ msgstr ""
"Si está <b>habilitado</b> %1 dejará de grabar si el motor de audio detecta "
"un x-run"
-#: rc_option_editor.cc:1127
+#: rc_option_editor.cc:1367
+msgid "Play loop is a transport mode"
+msgstr ""
+
+#: rc_option_editor.cc:1372
+msgid ""
+"<b>When enabled</b> the loop button does not start playback but forces "
+"playback to always play the loop\n"
+"\n"
+"<b>When disabled</b> the loop button starts playing the loop, but stop then "
+"cancels loop playback"
+msgstr ""
+
+#: rc_option_editor.cc:1378
msgid "Create markers where xruns occur"
msgstr "Crear marca en posición de xrun"
-#: rc_option_editor.cc:1136
+#: rc_option_editor.cc:1387
msgid "Stop at the end of the session"
msgstr "Parar en el fin de sesión"
-#: rc_option_editor.cc:1141
+#: rc_option_editor.cc:1392
msgid ""
"<b>When enabled</b> if %1 is <b>not recording</b>, it will stop the "
"transport when it reaches the current session end marker\n"
@@ -8938,11 +9145,11 @@ msgstr ""
"Si está <b>deshabilitado</b> %1 seguirá adelante al alcanzar la marca de fin "
"de sesión, en todo caso"
-#: rc_option_editor.cc:1149
+#: rc_option_editor.cc:1400
msgid "Do seamless looping (not possible when slaved to MTC, LTC etc)"
msgstr ""
-#: rc_option_editor.cc:1154
+#: rc_option_editor.cc:1405
msgid ""
"<b>When enabled</b> this will loop by reading ahead and wrapping around at "
"the loop point, preventing any need to do a transport locate at the end of "
@@ -8958,11 +9165,11 @@ msgstr ""
"<b>When disabled</b> looping is done by locating back to the start of the "
"loop when %1 reaches the end which will often cause a small click or delay"
-#: rc_option_editor.cc:1162
+#: rc_option_editor.cc:1413
msgid "Disable per-track record disarm while rolling"
msgstr "Impedir desactivación de grabación por pista con el transporte activo"
-#: rc_option_editor.cc:1166
+#: rc_option_editor.cc:1417
msgid ""
"<b>When enabled</b> this will prevent you from accidentally stopping "
"specific tracks recording during a take"
@@ -8970,11 +9177,11 @@ msgstr ""
"<b>Si está activado</b> impedirá que se desactive la grabación de pistas "
"específicas durante una toma"
-#: rc_option_editor.cc:1171
+#: rc_option_editor.cc:1422
msgid "12dB gain reduction during fast-forward and fast-rewind"
msgstr "Reducir ganancia 12db en avance rápido y rebobinado"
-#: rc_option_editor.cc:1175
+#: rc_option_editor.cc:1426
msgid ""
"This will reduce the unpleasant increase in perceived volume that occurs "
"when fast-forwarding or rewinding through some kinds of audio"
@@ -8982,19 +9189,19 @@ msgstr ""
"Esto reduce el desagradable incremento de volumen percibido que ocurre a "
"veces al rebobinar o acelerar"
-#: rc_option_editor.cc:1179
+#: rc_option_editor.cc:1430
msgid "Sync/Slave"
msgstr ""
-#: rc_option_editor.cc:1183
+#: rc_option_editor.cc:1434
msgid "External timecode source"
msgstr "Origen de timecode externo"
-#: rc_option_editor.cc:1193
+#: rc_option_editor.cc:1444
msgid "Match session video frame rate to external timecode"
msgstr ""
-#: rc_option_editor.cc:1199
+#: rc_option_editor.cc:1450
msgid ""
"This option controls the value of the video frame rate <i>while chasing</i> "
"an external timecode source.\n"
@@ -9008,21 +9215,21 @@ msgid ""
"external timecode standard and the session standard."
msgstr ""
-#: rc_option_editor.cc:1209
+#: rc_option_editor.cc:1460
msgid "External timecode is sync locked"
msgstr "Timecode externo bloqueado en sincronía"
-#: rc_option_editor.cc:1215
+#: rc_option_editor.cc:1466
msgid ""
"<b>When enabled</b> indicates that the selected external timecode source "
"shares sync (Black &amp; Burst, Wordclock, etc) with the audio interface."
msgstr ""
-#: rc_option_editor.cc:1222
+#: rc_option_editor.cc:1473
msgid "Lock to 29.9700 fps instead of 30000/1001"
msgstr ""
-#: rc_option_editor.cc:1228
+#: rc_option_editor.cc:1479
msgid ""
"<b>When enabled</b> the external timecode source is assumed to use 29.97 fps "
"instead of 30000/1001.\n"
@@ -9035,140 +9242,140 @@ msgid ""
"variant of using exactly 29.97 fps has zero timecode drift.\n"
msgstr ""
-#: rc_option_editor.cc:1238
+#: rc_option_editor.cc:1489
msgid "LTC Reader"
msgstr ""
-#: rc_option_editor.cc:1242
+#: rc_option_editor.cc:1493
msgid "LTC incoming port"
msgstr ""
-#: rc_option_editor.cc:1255
+#: rc_option_editor.cc:1506
msgid "LTC Generator"
msgstr "Generador LTC "
-#: rc_option_editor.cc:1260
+#: rc_option_editor.cc:1511
msgid "Enable LTC generator"
msgstr "Habilitar generador LTC"
-#: rc_option_editor.cc:1267
-msgid "send LTC while stopped"
+#: rc_option_editor.cc:1518
+msgid "Send LTC while stopped"
msgstr ""
-#: rc_option_editor.cc:1273
+#: rc_option_editor.cc:1524
msgid ""
"<b>When enabled</b> %1 will continue to send LTC information even when the "
"transport (playhead) is not moving"
msgstr ""
-#: rc_option_editor.cc:1279
+#: rc_option_editor.cc:1530
msgid "LTC generator level"
msgstr ""
-#: rc_option_editor.cc:1283
+#: rc_option_editor.cc:1534
msgid ""
"Specify the Peak Volume of the generated LTC signal in dbFS. A good value "
"is 0dBu ^= -18dbFS in an EBU calibrated system"
msgstr ""
-#: rc_option_editor.cc:1295
-msgid "Link selection of regions and tracks"
-msgstr "Vincular selección de regiones y pistas"
+#: rc_option_editor.cc:1546
+msgid "Allow dragging of playhead"
+msgstr ""
-#: rc_option_editor.cc:1303
+#: rc_option_editor.cc:1554
msgid "Move relevant automation when audio regions are moved"
msgstr "Mover automatización relevante al desplazar regiones de audio"
-#: rc_option_editor.cc:1311
+#: rc_option_editor.cc:1562
msgid "Show meters on tracks in the editor"
msgstr "Mostrar medidores en pistas en Editor"
-#: rc_option_editor.cc:1319
+#: rc_option_editor.cc:1570
msgid "Display master-meter in the toolbar"
msgstr ""
-#: rc_option_editor.cc:1326
+#: rc_option_editor.cc:1577
+msgid "Default fade shape"
+msgstr ""
+
+#: rc_option_editor.cc:1596
msgid "Regions in active edit groups are edited together"
msgstr "Las regiones en los grupos de edición activos se editan juntas"
-#: rc_option_editor.cc:1327
+#: rc_option_editor.cc:1597
msgid "whenever they overlap in time"
msgstr "cuando se solapan en el tiempo"
-#: rc_option_editor.cc:1328
+#: rc_option_editor.cc:1598
msgid "only if they have identical length, position and origin"
msgstr "sólo si tienen la misma duración, posición y origen"
-#: rc_option_editor.cc:1338
+#: rc_option_editor.cc:1608
msgid "Make rubberband selection rectangle snap to the grid"
msgstr "Hacer que el rectángulo de selección elástica se ajuste a rejilla"
-#: rc_option_editor.cc:1346
+#: rc_option_editor.cc:1616
msgid "Show waveforms in regions"
msgstr "Mostrar formas de onda en regiones"
-#: rc_option_editor.cc:1354
+#: rc_option_editor.cc:1624
msgid "Show gain envelopes in audio regions"
msgstr "Mostrar envolventes de ganancia en regiones de audio"
-#: rc_option_editor.cc:1355
+#: rc_option_editor.cc:1625
msgid "in all modes"
msgstr "en todos los modos"
-#: rc_option_editor.cc:1356
+#: rc_option_editor.cc:1626
msgid "only in region gain mode"
msgstr "sólo en el modo de ganancia de región"
-#: rc_option_editor.cc:1363
+#: rc_option_editor.cc:1633
msgid "Waveform scale"
msgstr "Escala de forma de onda"
-#: rc_option_editor.cc:1368
+#: rc_option_editor.cc:1638
msgid "linear"
msgstr "lineal"
-#: rc_option_editor.cc:1369
+#: rc_option_editor.cc:1639
msgid "logarithmic"
msgstr "logarítmica"
-#: rc_option_editor.cc:1375
+#: rc_option_editor.cc:1645
msgid "Waveform shape"
msgstr "Forma de onda"
# en realidad no existe este término en el español...
-#: rc_option_editor.cc:1380
+#: rc_option_editor.cc:1650
msgid "traditional"
msgstr "tradicional"
-#: rc_option_editor.cc:1381
+#: rc_option_editor.cc:1651
msgid "rectified"
msgstr "rectificada"
-#: rc_option_editor.cc:1388
+#: rc_option_editor.cc:1660
msgid "Show waveforms for audio while it is being recorded"
msgstr "Mostrar formas de onda al grabar audio"
-#: rc_option_editor.cc:1396
+#: rc_option_editor.cc:1668
msgid "Show zoom toolbar"
msgstr "Mostrar barra de herramientas de zoom"
-#: rc_option_editor.cc:1404
-msgid "Color regions using their track's color"
-msgstr "Colorear regiones con el color de su pista"
-
-#: rc_option_editor.cc:1412
+#: rc_option_editor.cc:1676
msgid "Update editor window during drags of the summary"
msgstr "Actualizar la ventana del editor durante arrastres del resumen"
-#: rc_option_editor.cc:1420
+#: rc_option_editor.cc:1684
msgid "Synchronise editor and mixer selection"
msgstr "Sincronizar selección en Editor y Mezclador"
-#: rc_option_editor.cc:1427
+#: rc_option_editor.cc:1691
msgid "Name new markers"
msgstr "Nombrar marcas nuevas"
-#: rc_option_editor.cc:1433
+#: rc_option_editor.cc:1697
msgid ""
"If enabled, popup a dialog when a new marker is created to allow its name to "
"be set as it is created.\n"
@@ -9181,520 +9388,545 @@ msgstr ""
"(Las marcas se pueden renombrar en cualquier momento, por medio del clic "
"derecho)"
-#: rc_option_editor.cc:1439
+#: rc_option_editor.cc:1703
msgid "Auto-scroll editor window when dragging near its edges"
msgstr ""
"Auto-scroll en la ventana del editor cuando se arrastra hacia cerca de sus "
"bordes"
-#: rc_option_editor.cc:1446
+#: rc_option_editor.cc:1710
msgid "Buffering"
msgstr "Buffering"
-#: rc_option_editor.cc:1454
+#: rc_option_editor.cc:1718
msgid "Record monitoring handled by"
msgstr "Monitorización de la grabación manejado por"
-#: rc_option_editor.cc:1460
+#: rc_option_editor.cc:1724
msgid "via Audio Driver"
msgstr ""
-#: rc_option_editor.cc:1463
-msgid "ardour"
-msgstr "ardour"
-
-#: rc_option_editor.cc:1464
+#: rc_option_editor.cc:1730
msgid "audio hardware"
msgstr "hardware de audio"
-#: rc_option_editor.cc:1471
+#: rc_option_editor.cc:1737
msgid "Tape machine mode"
msgstr "Modo magnetófono"
-#: rc_option_editor.cc:1476
+#: rc_option_editor.cc:1742
msgid "Connection of tracks and busses"
msgstr "Conexión de pistas y buses"
-#: rc_option_editor.cc:1481
+#: rc_option_editor.cc:1747
msgid "Auto-connect master/monitor busses"
msgstr "Autoconectar buses master/monitor"
-#: rc_option_editor.cc:1488
+#: rc_option_editor.cc:1754
msgid "Connect track inputs"
msgstr "Conectar a entradas de pista"
-#: rc_option_editor.cc:1493
+#: rc_option_editor.cc:1759
msgid "automatically to physical inputs"
msgstr "automáticamente a entradas físicas"
-#: rc_option_editor.cc:1494 rc_option_editor.cc:1507
+#: rc_option_editor.cc:1760 rc_option_editor.cc:1773
msgid "manually"
msgstr "manualmente"
-#: rc_option_editor.cc:1500
+#: rc_option_editor.cc:1766
msgid "Connect track and bus outputs"
msgstr "Conectar salidas de pista y bus"
-#: rc_option_editor.cc:1505
+#: rc_option_editor.cc:1771
msgid "automatically to physical outputs"
msgstr "automáticamente a salidas físicas"
-#: rc_option_editor.cc:1506
+#: rc_option_editor.cc:1772
msgid "automatically to master bus"
msgstr "automáticamente al bus master"
-#: rc_option_editor.cc:1511
+#: rc_option_editor.cc:1777
msgid "Denormals"
msgstr "Denormals"
-#: rc_option_editor.cc:1516
+#: rc_option_editor.cc:1782
msgid "Use DC bias to protect against denormals"
msgstr "Usar DC bias para proteger contra denormals"
-#: rc_option_editor.cc:1523
+#: rc_option_editor.cc:1789
msgid "Processor handling"
msgstr "Manejo de procesador"
-#: rc_option_editor.cc:1528
+#: rc_option_editor.cc:1794
msgid "no processor handling"
msgstr "ningún manejo de procesador"
-#: rc_option_editor.cc:1533
+#: rc_option_editor.cc:1799
msgid "use FlushToZero"
msgstr "usar FlushToZero"
-#: rc_option_editor.cc:1537
+#: rc_option_editor.cc:1803
msgid "use DenormalsAreZero"
msgstr "usar DenormalsAreZero"
-#: rc_option_editor.cc:1541
+#: rc_option_editor.cc:1807
msgid "use FlushToZero and DenormalsAreZero"
msgstr "usar FlushToZero y DenormalsAreZero"
-#: rc_option_editor.cc:1551
+#: rc_option_editor.cc:1817
msgid "Silence plugins when the transport is stopped"
msgstr "Silenciar plugins cuando el transporte esté parado"
-#: rc_option_editor.cc:1559
+#: rc_option_editor.cc:1825
msgid "Make new plugins active"
msgstr "Nuevos plugins inician activados"
-#: rc_option_editor.cc:1567
+#: rc_option_editor.cc:1835
msgid "Enable automatic analysis of audio"
msgstr "Activar análisis automático de audio"
-#: rc_option_editor.cc:1575
+#: rc_option_editor.cc:1843
msgid "Replicate missing region channels"
msgstr "Duplicar canales de región ausentes"
-#: rc_option_editor.cc:1582 rc_option_editor.cc:1597 rc_option_editor.cc:1609
-#: rc_option_editor.cc:1621 rc_option_editor.cc:1633 rc_option_editor.cc:1637
-#: rc_option_editor.cc:1645 rc_option_editor.cc:1653 rc_option_editor.cc:1661
-#: rc_option_editor.cc:1663 rc_option_editor.cc:1671 rc_option_editor.cc:1679
-#: rc_option_editor.cc:1687
+#: rc_option_editor.cc:1850 rc_option_editor.cc:1852 rc_option_editor.cc:1867
+#: rc_option_editor.cc:1879 rc_option_editor.cc:1891 rc_option_editor.cc:1903
+#: rc_option_editor.cc:1907 rc_option_editor.cc:1915 rc_option_editor.cc:1923
+#: rc_option_editor.cc:1931 rc_option_editor.cc:1933 rc_option_editor.cc:1941
+#: rc_option_editor.cc:1949 rc_option_editor.cc:1957 rc_option_editor.cc:1965
+#: rc_option_editor.cc:1967
msgid "Solo / mute"
msgstr "Solo / mudo"
-#: rc_option_editor.cc:1585
+#: rc_option_editor.cc:1855
msgid "Solo-in-place mute cut (dB)"
msgstr "Corte de solo / mudo (dB)"
-#: rc_option_editor.cc:1592
+#: rc_option_editor.cc:1862
msgid "Solo controls are Listen controls"
msgstr "Los controles de solo son controles de escucha"
-#: rc_option_editor.cc:1601
+#: rc_option_editor.cc:1871
msgid "Listen Position"
msgstr "Posición de escucha"
-#: rc_option_editor.cc:1606
+#: rc_option_editor.cc:1876
msgid "after-fader (AFL)"
msgstr "Post-fader (AFL) "
-#: rc_option_editor.cc:1607
+#: rc_option_editor.cc:1877
msgid "pre-fader (PFL)"
msgstr "pre-fader (PFL)"
-#: rc_option_editor.cc:1613
+#: rc_option_editor.cc:1883
msgid "PFL signals come from"
msgstr "Las señales PFL vienen desde"
-#: rc_option_editor.cc:1618
+#: rc_option_editor.cc:1888
msgid "before pre-fader processors"
msgstr "antes de procesadores pre-fader"
-#: rc_option_editor.cc:1619
+#: rc_option_editor.cc:1889
msgid "pre-fader but after pre-fader processors"
msgstr "pre-fader pero después de procesadores pre-fader"
-#: rc_option_editor.cc:1625
+#: rc_option_editor.cc:1895
msgid "AFL signals come from"
msgstr "Las señales AFL vienen desde"
-#: rc_option_editor.cc:1630
+#: rc_option_editor.cc:1900
msgid "immediately post-fader"
msgstr "inmediatamente post-fader"
-#: rc_option_editor.cc:1631
+#: rc_option_editor.cc:1901
msgid "after post-fader processors (before pan)"
msgstr "después de procesadores post-fader (antes de pan)"
-#: rc_option_editor.cc:1640
+#: rc_option_editor.cc:1910
msgid "Exclusive solo"
msgstr "Solo exclusivo"
-#: rc_option_editor.cc:1648
+#: rc_option_editor.cc:1918
msgid "Show solo muting"
msgstr "Mostrar mudos de solo"
-#: rc_option_editor.cc:1656
+#: rc_option_editor.cc:1926
msgid "Soloing overrides muting"
msgstr "Solo invalida mudo"
-#: rc_option_editor.cc:1661
+#: rc_option_editor.cc:1931
msgid "Default track / bus muting options"
msgstr "Opciones por defecto para mudo de pista / bus"
-#: rc_option_editor.cc:1666
+#: rc_option_editor.cc:1936
msgid "Mute affects pre-fader sends"
msgstr "Mudo afecta envíos pre-fader"
-#: rc_option_editor.cc:1674
+#: rc_option_editor.cc:1944
msgid "Mute affects post-fader sends"
msgstr "Mudo afecta envíos post-fader"
-#: rc_option_editor.cc:1682
+#: rc_option_editor.cc:1952
msgid "Mute affects control outputs"
msgstr "Mudo afecta a salidas de control"
-#: rc_option_editor.cc:1690
+#: rc_option_editor.cc:1960
msgid "Mute affects main outputs"
msgstr "Mudo afecta a salidas principales"
-#: rc_option_editor.cc:1706
+#: rc_option_editor.cc:1965
+msgid "Send Routing"
+msgstr ""
+
+#: rc_option_editor.cc:1970
+msgid "Link panners of Aux and External Sends with main panner by default"
+msgstr ""
+
+#: rc_option_editor.cc:1986
msgid "Send MIDI Time Code"
msgstr "Enviar MIDI Time Code"
-#: rc_option_editor.cc:1714
+#: rc_option_editor.cc:1994
msgid "Percentage either side of normal transport speed to transmit MTC"
msgstr ""
"Pocentaje a cada lado de la velocidad normal de transporte para transmitir "
"MTC"
-#: rc_option_editor.cc:1723
+#: rc_option_editor.cc:2003
msgid "Obey MIDI Machine Control commands"
msgstr "Obedecer comandos de MIDI Machine Control"
-#: rc_option_editor.cc:1731
+#: rc_option_editor.cc:2011
msgid "Send MIDI Machine Control commands"
msgstr "Enviar comandos de MIDI Machine Control"
-#: rc_option_editor.cc:1739
+#: rc_option_editor.cc:2019
msgid "Send MIDI control feedback"
msgstr "Enviar feedback de control MIDI"
-#: rc_option_editor.cc:1747
+#: rc_option_editor.cc:2027
msgid "Inbound MMC device ID"
msgstr "ID del dispositivo MMC de entrada"
-#: rc_option_editor.cc:1756
+#: rc_option_editor.cc:2036
msgid "Outbound MMC device ID"
msgstr "ID del dispositivo MMC de salida"
-#: rc_option_editor.cc:1765
+#: rc_option_editor.cc:2045
msgid "Initial program change"
msgstr "Cambio de programa inicial"
-#: rc_option_editor.cc:1774
+#: rc_option_editor.cc:2054
msgid "Display first MIDI bank/program as 0"
msgstr "Mostrar el primer banco o programa MIDi como 0"
-#: rc_option_editor.cc:1782
+#: rc_option_editor.cc:2062
msgid "Never display periodic MIDI messages (MTC, MIDI Clock)"
msgstr "No mostrar mensajes MIDI periódicos (MTC, MIDI Clock)"
-#: rc_option_editor.cc:1790
+#: rc_option_editor.cc:2070
msgid "Sound MIDI notes as they are selected"
msgstr "Las notas MIDI suenan al ser seleccionadas"
-#: rc_option_editor.cc:1798 rc_option_editor.cc:1808 rc_option_editor.cc:1810
+#: rc_option_editor.cc:2075
+msgid "Midi Audition"
+msgstr ""
+
+#: rc_option_editor.cc:2079
+msgid "Midi Audition Synth (LV2)"
+msgstr ""
+
+#: rc_option_editor.cc:2103 rc_option_editor.cc:2113 rc_option_editor.cc:2115
msgid "User interaction"
msgstr "Interacción con el usuario"
-#: rc_option_editor.cc:1801
+#: rc_option_editor.cc:2106
msgid ""
"Use translations of %1 messages\n"
" <i>(requires a restart of %1 to take effect)</i>\n"
" <i>(if available for your language preferences)</i>"
msgstr ""
-#: rc_option_editor.cc:1808
+#: rc_option_editor.cc:2113
msgid "Keyboard"
msgstr "Teclado"
-#: rc_option_editor.cc:1818
+#: rc_option_editor.cc:2123
msgid "Control surface remote ID"
msgstr "ID remota de superficies de control"
-#: rc_option_editor.cc:1823
+#: rc_option_editor.cc:2128
msgid "assigned by user"
msgstr "asignado por usuario"
-#: rc_option_editor.cc:1824
+#: rc_option_editor.cc:2129
msgid "follows order of mixer"
msgstr "según orden de Mezclador"
-#: rc_option_editor.cc:1833 rc_option_editor.cc:1841 rc_option_editor.cc:1851
-#: rc_option_editor.cc:1872 rc_option_editor.cc:1881 rc_option_editor.cc:1889
-#: rc_option_editor.cc:1903 rc_option_editor.cc:1922 rc_option_editor.cc:1938
-#: rc_option_editor.cc:1954 rc_option_editor.cc:1968 rc_option_editor.cc:1982
-#: rc_option_editor.cc:1984
+#: rc_option_editor.cc:2143 rc_option_editor.cc:2151 rc_option_editor.cc:2159
+#: rc_option_editor.cc:2169 rc_option_editor.cc:2193 rc_option_editor.cc:2206
+#: rc_option_editor.cc:2215
msgid "Preferences|GUI"
msgstr ""
-#: rc_option_editor.cc:1836
+#: rc_option_editor.cc:2146
msgid "Graphically indicate mouse pointer hovering over various widgets"
msgstr "Resaltar controles al pasar sobre éstos el puntero del ratón"
-#: rc_option_editor.cc:1844
+#: rc_option_editor.cc:2154
msgid "Show tooltips if mouse hovers over a control"
msgstr "Mostrar descripciones emergentes al colocar el ratón sobre un control"
-#: rc_option_editor.cc:1854
-msgid "GUI"
+#: rc_option_editor.cc:2162
+msgid "Use name highlight bars in region displays"
+msgstr ""
+
+#: rc_option_editor.cc:2175
+msgid "update transport clock display at FPS instead of every 100ms"
+msgstr ""
+
+#: rc_option_editor.cc:2184
+msgid "Lock timeout (seconds)"
msgstr ""
-#: rc_option_editor.cc:1857
-msgid "update transport clock display every 40ms instead of every 100ms"
+#: rc_option_editor.cc:2192
+msgid "Lock GUI after this many idle seconds (zero to never lock)"
msgstr ""
-#: rc_option_editor.cc:1874
+#: rc_option_editor.cc:2208
msgid "Mixer Strip"
msgstr "Canal de Mezclador"
-#: rc_option_editor.cc:1884
+#: rc_option_editor.cc:2218
msgid "Use narrow strips in the mixer by default"
msgstr "Usar canales de mezcla estrechos por defecto"
-#: rc_option_editor.cc:1893
+#: rc_option_editor.cc:2223 rc_option_editor.cc:2237 rc_option_editor.cc:2256
+#: rc_option_editor.cc:2272 rc_option_editor.cc:2288 rc_option_editor.cc:2302
+#: rc_option_editor.cc:2316 rc_option_editor.cc:2318
+msgid "Preferences|Metering"
+msgstr ""
+
+#: rc_option_editor.cc:2227
msgid "Peak hold time"
msgstr ""
-#: rc_option_editor.cc:1899
+#: rc_option_editor.cc:2233
msgid "short"
msgstr "corto"
-#: rc_option_editor.cc:1900
+#: rc_option_editor.cc:2234
msgid "medium"
msgstr "medio"
-#: rc_option_editor.cc:1901
+#: rc_option_editor.cc:2235
msgid "long"
msgstr "largo"
-#: rc_option_editor.cc:1907
+#: rc_option_editor.cc:2241
msgid "DPM fall-off"
msgstr ""
-#: rc_option_editor.cc:1913
+#: rc_option_editor.cc:2247
msgid "slowest [6.6dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1914
+#: rc_option_editor.cc:2248
msgid "slow [8.6dB/sec] (BBC PPM, EBU PPM)"
msgstr ""
-#: rc_option_editor.cc:1915
+#: rc_option_editor.cc:2249
msgid "slowish [12.0dB/sec] (DIN)"
msgstr ""
-#: rc_option_editor.cc:1916
+#: rc_option_editor.cc:2250
msgid "moderate [13.3dB/sec] (EBU Digi PPM, IRT Digi PPM)"
msgstr ""
-#: rc_option_editor.cc:1917
+#: rc_option_editor.cc:2251
msgid "medium [20dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1918
+#: rc_option_editor.cc:2252
msgid "fast [32dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1919
+#: rc_option_editor.cc:2253
msgid "faster [46dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1920
+#: rc_option_editor.cc:2254
msgid "fastest [70dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1926
+#: rc_option_editor.cc:2260
msgid "Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1931 rc_option_editor.cc:1947
+#: rc_option_editor.cc:2265 rc_option_editor.cc:2281
msgid "-24dBFS (SMPTE US: 4dBu = -20dBFS)"
msgstr ""
-#: rc_option_editor.cc:1932 rc_option_editor.cc:1948
+#: rc_option_editor.cc:2266 rc_option_editor.cc:2282
msgid "-20dBFS (SMPTE RP.0155)"
msgstr ""
-#: rc_option_editor.cc:1933 rc_option_editor.cc:1949
+#: rc_option_editor.cc:2267 rc_option_editor.cc:2283
msgid "-18dBFS (EBU, BBC)"
msgstr ""
-#: rc_option_editor.cc:1934 rc_option_editor.cc:1950
+#: rc_option_editor.cc:2268 rc_option_editor.cc:2284
msgid "-15dBFS (DIN)"
msgstr ""
-#: rc_option_editor.cc:1936
+#: rc_option_editor.cc:2270
msgid ""
"Configure meter-marks and color-knee point for dBFS scale DPM, set reference "
"level for IEC1/Nordic, IEC2 PPM and VU meter."
msgstr ""
-#: rc_option_editor.cc:1942
+#: rc_option_editor.cc:2276
msgid "IEC1/DIN Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1952
+#: rc_option_editor.cc:2286
msgid "Reference level for IEC1/DIN meter."
msgstr ""
-#: rc_option_editor.cc:1958
+#: rc_option_editor.cc:2292
msgid "VU Meter standard"
msgstr ""
-#: rc_option_editor.cc:1963
+#: rc_option_editor.cc:2297
msgid "0VU = -2dBu (France)"
msgstr ""
-#: rc_option_editor.cc:1964
+#: rc_option_editor.cc:2298
msgid "0VU = 0dBu (North America, Australia)"
msgstr ""
-#: rc_option_editor.cc:1965
+#: rc_option_editor.cc:2299
msgid "0VU = +4dBu (standard)"
msgstr ""
-#: rc_option_editor.cc:1966
+#: rc_option_editor.cc:2300
msgid "0VU = +8dBu"
msgstr ""
-#: rc_option_editor.cc:1972
+#: rc_option_editor.cc:2306
msgid "Peak threshold [dBFS]"
msgstr ""
-#: rc_option_editor.cc:1980
+#: rc_option_editor.cc:2314
msgid ""
"Specify the audio signal level in dbFS at and above which the meter-peak "
"indicator will flash red."
msgstr ""
-#: rc_option_editor.cc:1987
+#: rc_option_editor.cc:2321
msgid "LED meter style"
msgstr ""
-#: region_editor.cc:79
+#: region_editor.cc:78
msgid "audition this region"
msgstr "Escuchar esta región"
-#: region_editor.cc:88 region_layering_order_editor.cc:74
+#: region_editor.cc:87 region_layering_order_editor.cc:75
msgid "Position:"
msgstr "Posición:"
-#: region_editor.cc:90 add_video_dialog.cc:170
+#: region_editor.cc:89 add_video_dialog.cc:155
msgid "End:"
msgstr "Fin:"
-#: region_editor.cc:92 sfdb_ui.cc:139
+#: region_editor.cc:91 sfdb_ui.cc:143
msgid "Length:"
msgstr "Duración:"
-#: region_editor.cc:94
+#: region_editor.cc:93
msgid "Sync point (relative to region):"
msgstr "Punto de sincronía (relativa a región):"
-#: region_editor.cc:96
+#: region_editor.cc:95
msgid "Sync point (absolute):"
msgstr "Punto sincronía (absoluto):"
-#: region_editor.cc:98
+#: region_editor.cc:97
msgid "File start:"
msgstr "Inicio de archivo:"
-#: region_editor.cc:102
+#: region_editor.cc:101
msgid "Sources:"
msgstr "Orígenes:"
-#: region_editor.cc:104
+#: region_editor.cc:103
msgid "Source:"
msgstr "Origen:"
-#: region_editor.cc:166
+#: region_editor.cc:165
msgid "Region '%1'"
msgstr "Región '%1'"
-#: region_editor.cc:273
+#: region_editor.cc:272
msgid "change region start position"
msgstr "cambiar posición del inicio de región"
-#: region_editor.cc:289
+#: region_editor.cc:288
msgid "change region end position"
msgstr "cambiar posición del final de región"
-#: region_editor.cc:309
+#: region_editor.cc:308
msgid "change region length"
msgstr "cambiar duración de región "
-#: region_editor.cc:403 region_editor.cc:415
+#: region_editor.cc:402 region_editor.cc:414
msgid "change region sync point"
msgstr "cambiar punto de sincronía de región"
-#: region_layering_order_editor.cc:41
+#: region_layering_order_editor.cc:42
msgid "RegionLayeringOrderEditor"
msgstr ""
-#: region_layering_order_editor.cc:54
+#: region_layering_order_editor.cc:55
msgid "Region Name"
msgstr "Nombre de región"
-#: region_layering_order_editor.cc:71
+#: region_layering_order_editor.cc:72
msgid "Track:"
msgstr "Pista:"
-#: region_layering_order_editor.cc:103
+#: region_layering_order_editor.cc:104
msgid "Choose Top Region"
msgstr "Elegir región Superior"
-#: region_view.cc:274
+#: region_view.cc:282
msgid "SilenceText"
msgstr ""
-#: region_view.cc:290 region_view.cc:309
+#: region_view.cc:297 region_view.cc:316
msgid "minutes"
msgstr "minutos"
-#: region_view.cc:293 region_view.cc:312
+#: region_view.cc:300 region_view.cc:319
msgid "msecs"
msgstr "msecs"
-#: region_view.cc:296 region_view.cc:315
+#: region_view.cc:303 region_view.cc:322
msgid "secs"
msgstr "segundos"
-#: region_view.cc:299
+#: region_view.cc:306
msgid "%1 silent segment"
msgid_plural "%1 silent segments"
msgstr[0] "%1 segmento silenciado"
msgstr[1] "%1 segmentos silenciados"
-#: region_view.cc:301
+#: region_view.cc:308
msgid "shortest = %1 %2"
msgstr "el más corto = %1 %2"
-#: region_view.cc:318
+#: region_view.cc:325
msgid ""
"\n"
" (shortest audible segment = %1 %2)"
@@ -9702,143 +9934,137 @@ msgstr ""
"\n"
" (segmento audible más corto = %1 %2)"
-#: return_ui.cc:103
+#: return_ui.cc:102
msgid "Return "
msgstr "Return "
-#: rhythm_ferret.cc:49
+#: rhythm_ferret.cc:48
msgid "Percussive Onset"
msgstr "Inicios de percusión"
-#: rhythm_ferret.cc:50
+#: rhythm_ferret.cc:49
msgid "Note Onset"
msgstr "Inicios de notas"
-#: rhythm_ferret.cc:55
+#: rhythm_ferret.cc:54
msgid "Energy Based"
msgstr "Basado en Energía"
-#: rhythm_ferret.cc:56
+#: rhythm_ferret.cc:55
msgid "Spectral Difference"
msgstr "Diferencia espectral"
-#: rhythm_ferret.cc:57
+#: rhythm_ferret.cc:56
msgid "High-Frequency Content"
msgstr "Contenido de altas frecuencias"
-#: rhythm_ferret.cc:58
+#: rhythm_ferret.cc:57
msgid "Complex Domain"
msgstr "Dominio complejo"
-#: rhythm_ferret.cc:59
+#: rhythm_ferret.cc:58
msgid "Phase Deviation"
msgstr "Desviación de fase"
-#: rhythm_ferret.cc:60
+#: rhythm_ferret.cc:59
msgid "Kullback-Liebler"
msgstr "Kullback-Liebler"
-#: rhythm_ferret.cc:61
+#: rhythm_ferret.cc:60
msgid "Modified Kullback-Liebler"
msgstr "Kullback-Liebler modificado"
-#: rhythm_ferret.cc:66
+#: rhythm_ferret.cc:65
msgid "Split region"
msgstr "Separar región"
-#: rhythm_ferret.cc:67
+#: rhythm_ferret.cc:66
msgid "Snap regions"
msgstr "Ajustar regiones"
-#: rhythm_ferret.cc:68
+#: rhythm_ferret.cc:67
msgid "Conform regions"
msgstr "Conformar regiones"
-#: rhythm_ferret.cc:73
+#: rhythm_ferret.cc:72
msgid "Rhythm Ferret"
msgstr "Rhythm Ferret"
-#: rhythm_ferret.cc:79
+#: rhythm_ferret.cc:78
msgid "Analyze"
msgstr "Analizar"
-#: rhythm_ferret.cc:114
+#: rhythm_ferret.cc:113
msgid "Detection function"
msgstr "Función de detección"
-#: rhythm_ferret.cc:118
+#: rhythm_ferret.cc:117
msgid "Trigger gap"
msgstr ""
-#: rhythm_ferret.cc:123 strip_silence_dialog.cc:68
+#: rhythm_ferret.cc:122 strip_silence_dialog.cc:64
msgid "Threshold"
msgstr "Umbral"
-#: rhythm_ferret.cc:128
+#: rhythm_ferret.cc:127
msgid "Peak threshold"
msgstr "Umbral de pico"
-#: rhythm_ferret.cc:133
+#: rhythm_ferret.cc:132
msgid "Silence threshold"
msgstr "Umbral de silencio"
-#: rhythm_ferret.cc:138
+#: rhythm_ferret.cc:137
msgid "Sensitivity"
msgstr "Sensibilidad"
-#: rhythm_ferret.cc:142
+#: rhythm_ferret.cc:141
msgid "Operation"
msgstr "Operación"
-#: rhythm_ferret.cc:356
+#: rhythm_ferret.cc:355
msgid "split regions (rhythm ferret)"
msgstr "separar regiones (rhythm ferret)"
-#: route_group_dialog.cc:36
+#: route_group_dialog.cc:42
msgid "Track/bus Group"
msgstr "Grupo de Pista/Bus"
-#: route_group_dialog.cc:41
+#: route_group_dialog.cc:47
msgid "Relative"
msgstr "Relativa"
-#: route_group_dialog.cc:42
+#: route_group_dialog.cc:48
msgid "Muting"
msgstr "Silenciado"
-#: route_group_dialog.cc:43
-msgid "Soloing"
-msgstr "Solos"
-
-#: route_group_dialog.cc:44
+#: route_group_dialog.cc:50
msgid "Record enable"
msgstr "Activar grabación"
-#: route_group_dialog.cc:45 time_info_box.cc:66
+#: route_group_dialog.cc:51 time_info_box.cc:67
msgid "Selection"
msgstr "Selección"
-#: route_group_dialog.cc:46
+#: route_group_dialog.cc:52
msgid "Active state"
msgstr "EStado activo"
-#: route_group_dialog.cc:47 route_group_dialog.cc:76 theme_manager.cc:71
+#: route_group_dialog.cc:53 route_group_dialog.cc:82 theme_manager.cc:84
msgid "Color"
msgstr "Color"
-#: route_group_dialog.cc:53
+#: route_group_dialog.cc:59
msgid "RouteGroupDialog"
msgstr "RouteGroupDialog"
-#: route_group_dialog.cc:92
+#: route_group_dialog.cc:100
msgid "<b>Sharing</b>"
msgstr "<b>Compartir</b>"
-#: route_group_dialog.cc:182
-msgid ""
-"A route group of this name already exists. Please use a different name."
+#: route_group_dialog.cc:200
+msgid "The group name is not unique. Please use a different name."
msgstr ""
-"Ya existe un grupo de ruteado con este nombre. Por favor, elige otro nombre."
#: route_params_ui.cc:83
msgid "Tracks/Busses"
@@ -9860,296 +10086,280 @@ msgstr "Plugins, inserciones y envíos"
msgid "route display list item for renamed route not found!"
msgstr ""
-#: route_params_ui.cc:255 route_params_ui.cc:283
+#: route_params_ui.cc:278 route_params_ui.cc:306
#, c-format
msgid "Playback delay: %<PRId64> samples"
msgstr "Retardo de reproducción: %<PRId64> muestras"
-#: route_params_ui.cc:475
+#: route_params_ui.cc:498
msgid "NO TRACK"
msgstr "NINGUNA PISTA"
-#: route_params_ui.cc:613 route_params_ui.cc:614
+#: route_params_ui.cc:636 route_params_ui.cc:637
msgid "No Track or Bus Selected"
msgstr "No hay pista o bus seleccionado"
-#: route_time_axis.cc:97
-msgid "g"
-msgstr "g"
-
-#: route_time_axis.cc:98
-msgid "p"
-msgstr "p"
-
-#: route_time_axis.cc:99
-msgid "a"
-msgstr "a"
-
-#: route_time_axis.cc:173
+#: route_time_axis.cc:179
msgid "Record (Right-click for Step Edit)"
msgstr ""
-#: route_time_axis.cc:176
+#: route_time_axis.cc:182
msgid "Record"
msgstr "Grabar"
-#: route_time_axis.cc:210
+#: route_time_axis.cc:254
msgid "Route Group"
msgstr "Grupo de ruteado"
-#: route_time_axis.cc:213
+#: route_time_axis.cc:264
msgid "MIDI Controllers and Automation"
msgstr "Controladores y automatización MIDI"
-#: route_time_axis.cc:390
+#: route_time_axis.cc:500
msgid "Show All Automation"
msgstr "Mostrar toda automatización"
-#: route_time_axis.cc:393
+#: route_time_axis.cc:503
msgid "Show Existing Automation"
msgstr "Mostrar automatización existente"
-#: route_time_axis.cc:396
+#: route_time_axis.cc:506
msgid "Hide All Automation"
msgstr "Ocultar toda automatización"
-#: route_time_axis.cc:405
+#: route_time_axis.cc:515
msgid "Processor automation"
msgstr ""
-#: route_time_axis.cc:424
-msgid "Color..."
-msgstr "Color..."
-
-#: route_time_axis.cc:481
+#: route_time_axis.cc:599
msgid "Overlaid"
msgstr "Superpuestas"
-#: route_time_axis.cc:487
+#: route_time_axis.cc:605
msgid "Stacked"
msgstr "Apiladas"
-#: route_time_axis.cc:495
+#: route_time_axis.cc:613
msgid "Layers"
msgstr "Capas"
-#: route_time_axis.cc:564
+#: route_time_axis.cc:682
msgid "Automatic (based on I/O connections)"
msgstr "Automática (basada en conexiones de E/S)"
-#: route_time_axis.cc:573
+#: route_time_axis.cc:691
msgid "(Currently: Existing Material)"
msgstr "(Actualmente: Material existente)"
-#: route_time_axis.cc:576
+#: route_time_axis.cc:694
msgid "(Currently: Capture Time)"
msgstr "(Actualmente: Tiempo de captura)"
-#: route_time_axis.cc:584
+#: route_time_axis.cc:702
msgid "Align With Existing Material"
msgstr "Alinear con material existente"
-#: route_time_axis.cc:589
+#: route_time_axis.cc:707
msgid "Align With Capture Time"
msgstr "Alinear con tiempo de captura"
-#: route_time_axis.cc:594
+#: route_time_axis.cc:712
msgid "Alignment"
msgstr "Alineación"
-#: route_time_axis.cc:629
+#: route_time_axis.cc:747
msgid "Normal Mode"
msgstr "Modo normal"
-#: route_time_axis.cc:635
+#: route_time_axis.cc:753
msgid "Tape Mode"
msgstr "Modo cinta"
-#: route_time_axis.cc:641
+#: route_time_axis.cc:759
msgid "Non-Layered Mode"
msgstr "Modo sin capas"
-#: route_time_axis.cc:654 route_time_axis.cc:1601
+#: route_time_axis.cc:772 route_time_axis.cc:1748
msgid "Playlist"
msgstr "Lista de Reproducción"
-#: route_time_axis.cc:979
+#: route_time_axis.cc:1070
msgid "Rename Playlist"
msgstr "Renombrar lista de reproducción"
-#: route_time_axis.cc:980
+#: route_time_axis.cc:1071
msgid "New name for playlist:"
msgstr "Nuevo nombre para lista de reproducción"
-#: route_time_axis.cc:1065
+#: route_time_axis.cc:1156
msgid "New Copy Playlist"
msgstr "Nueva copia de lista de reproducción"
-#: route_time_axis.cc:1066 route_time_axis.cc:1119
+#: route_time_axis.cc:1157 route_time_axis.cc:1210
msgid "Name for new playlist:"
msgstr "Nombre para nueva lista de reproducción:"
-#: route_time_axis.cc:1118
+#: route_time_axis.cc:1209
msgid "New Playlist"
msgstr "Nueva lista de reproducción"
-#: route_time_axis.cc:1309
+#: route_time_axis.cc:1400
msgid "You cannot create a track with that name as it is reserved for %1"
msgstr "No puedes crear una pista con ese nombre pues está reservado para %1"
-#: route_time_axis.cc:1490
+#: route_time_axis.cc:1637
msgid "New Copy..."
msgstr "Nueva copia..."
-#: route_time_axis.cc:1494
+#: route_time_axis.cc:1641
msgid "New Take"
msgstr "Nueva toma"
-#: route_time_axis.cc:1495
+#: route_time_axis.cc:1642
msgid "Copy Take"
msgstr "Copiar toma"
-#: route_time_axis.cc:1500
+#: route_time_axis.cc:1647
msgid "Clear Current"
msgstr "Borrar actual"
-#: route_time_axis.cc:1503
+#: route_time_axis.cc:1650
msgid "Select From All..."
msgstr "Selecciona de todos...."
-#: route_time_axis.cc:1591
+#: route_time_axis.cc:1738
msgid "Take: %1.%2"
msgstr ""
-#: route_time_axis.cc:2291
+#: route_time_axis.cc:2024 selection.cc:1002 selection.cc:1056
+msgid "programming error: "
+msgstr "programming error: "
+
+#: route_time_axis.cc:2440
msgid "Underlays"
msgstr "Underlays"
-#: route_time_axis.cc:2294
+#: route_time_axis.cc:2443
msgid "Remove \"%1\""
msgstr "Eliminar \"%1\""
-#: route_time_axis.cc:2344 route_time_axis.cc:2381
+#: route_time_axis.cc:2493 route_time_axis.cc:2530
msgid "programming error: underlay reference pointer pairs are inconsistent!"
msgstr "programming error: underlay reference pointer pairs are inconsistent!"
-#: route_time_axis.cc:2408
+#: route_time_axis.cc:2557
msgid "After-fade listen (AFL)"
msgstr "Escucha Post-fader (AFL) "
-#: route_time_axis.cc:2412
+#: route_time_axis.cc:2561
msgid "Pre-fade listen (PFL)"
msgstr "Escucha pre-fader (PFL)"
-#: route_time_axis.cc:2416
-msgid "s"
-msgstr "s"
-
-#: route_time_axis.cc:2419
-msgid "m"
-msgstr "m"
-
-#: route_ui.cc:119
+#: route_ui.cc:138
msgid "Mute this track"
msgstr "Enmudecer esta pista"
-#: route_ui.cc:123
+#: route_ui.cc:142
msgid "Mute other (non-soloed) tracks"
msgstr "Enmudecer resto de pistas (que no estén en solo)"
-#: route_ui.cc:129
+#: route_ui.cc:148
msgid "Enable recording on this track"
msgstr "Activar la grabación en esta pista"
-#: route_ui.cc:133
+#: route_ui.cc:154
msgid "make mixer strips show sends to this bus"
msgstr "hacer que los canales del mezclador muestren envíos a este bus"
-#: route_ui.cc:138
+#: route_ui.cc:159
msgid "Monitor input"
msgstr "Monitorizar entrada"
-#: route_ui.cc:144
+#: route_ui.cc:165
msgid "Monitor playback"
msgstr "Monitorizar reproducción"
-#: route_ui.cc:591
-msgid "Not connected to JACK - cannot engage record"
-msgstr "No está conectado a JACK - no se puede activar la grabación"
+#: route_ui.cc:668
+msgid "Not connected to AudioEngine - cannot engage record"
+msgstr ""
-#: route_ui.cc:786
+#: route_ui.cc:867
msgid "Step Entry"
msgstr ""
-#: route_ui.cc:859
+#: route_ui.cc:940
msgid "Assign all tracks (prefader)"
msgstr "Asignar todas las pistas (prefader)"
-#: route_ui.cc:863
+#: route_ui.cc:944
msgid "Assign all tracks and buses (prefader)"
msgstr "Asignar todas las pistas y buses (prefader)"
-#: route_ui.cc:867
+#: route_ui.cc:948
msgid "Assign all tracks (postfader)"
msgstr "Asignar todas las pistas (postfader)"
-#: route_ui.cc:871
+#: route_ui.cc:952
msgid "Assign all tracks and buses (postfader)"
msgstr "Asignar todas las pistas y buses (postfader)"
-#: route_ui.cc:875
+#: route_ui.cc:956
msgid "Assign selected tracks (prefader)"
msgstr "Assignar pistas seleccionadas (prefader)"
-#: route_ui.cc:879
+#: route_ui.cc:960
msgid "Assign selected tracks and buses (prefader)"
msgstr "Assignar pistas y buses seleccionados (prefader)"
-#: route_ui.cc:882
+#: route_ui.cc:963
msgid "Assign selected tracks (postfader)"
msgstr "Assignar pistas seleccionadas (postfader)"
-#: route_ui.cc:886
+#: route_ui.cc:967
msgid "Assign selected tracks and buses (postfader)"
msgstr "Assignar pistas y buses seleccionados (postfader)"
-#: route_ui.cc:889
+#: route_ui.cc:970
msgid "Copy track/bus gains to sends"
msgstr "Copiar ganancias de pista/bus a envíos"
-#: route_ui.cc:890
+#: route_ui.cc:971
msgid "Set sends gain to -inf"
msgstr "Establecer ganancia de envíos a -inf"
-#: route_ui.cc:891
+#: route_ui.cc:972
msgid "Set sends gain to 0dB"
msgstr "Establecer ganancia de envíos a 0dB"
-#: route_ui.cc:1211
+#: route_ui.cc:1294
msgid "Solo Isolate"
msgstr "Aislar solo"
-#: route_ui.cc:1240
-msgid "Pre Fader"
-msgstr "Pre-Fader"
+#: route_ui.cc:1301
+msgid "Solo Safe"
+msgstr "Solo seguro"
-#: route_ui.cc:1246
-msgid "Post Fader"
-msgstr "Post-Fader"
+#: route_ui.cc:1323
+msgid "Pre Fader Sends"
+msgstr ""
-#: route_ui.cc:1252
+#: route_ui.cc:1329
+msgid "Post Fader Sends"
+msgstr ""
+
+#: route_ui.cc:1335
msgid "Control Outs"
msgstr "Salidas de control"
-#: route_ui.cc:1258
+#: route_ui.cc:1341
msgid "Main Outs"
msgstr "Salidas principales"
-#: route_ui.cc:1390
+#: route_ui.cc:1473
msgid "Color Selection"
msgstr "Selección de color"
-#: route_ui.cc:1477
+#: route_ui.cc:1558
msgid ""
"Do you really want to remove track \"%1\" ?\n"
"\n"
@@ -10163,7 +10373,7 @@ msgstr ""
"\n"
"(Esta acción no se puede deshacer y sobrescribirá el archivo de sesión)"
-#: route_ui.cc:1479
+#: route_ui.cc:1560
msgid ""
"Do you really want to remove bus \"%1\" ?\n"
"\n"
@@ -10172,15 +10382,15 @@ msgstr ""
"¿De verdad deseas eliminar el bus \"%1\" ?\n"
"(Esta acción no se puede deshacer y el archivo de sesión se reescribirá)"
-#: route_ui.cc:1487
+#: route_ui.cc:1568
msgid "Remove track"
msgstr "Eliminar pista"
-#: route_ui.cc:1489
+#: route_ui.cc:1570
msgid "Remove bus"
msgstr "Eliminar bus"
-#: route_ui.cc:1516
+#: route_ui.cc:1598
msgid ""
"The use of colons (':') is discouraged in track and bus names.\n"
"Do you want to use this new name?"
@@ -10189,47 +10399,51 @@ msgstr ""
"buses.\n"
"¿Quieres usar este nombre?"
-#: route_ui.cc:1520
+#: route_ui.cc:1602
msgid "Use the new name"
msgstr "Usar el nuevo nombre"
-#: route_ui.cc:1521
+#: route_ui.cc:1603
msgid "Re-edit the name"
msgstr ""
-#: route_ui.cc:1534
+#: route_ui.cc:1616
msgid "Rename Track"
msgstr "Renombrar pista"
-#: route_ui.cc:1536
+#: route_ui.cc:1618
msgid "Rename Bus"
msgstr "Renombrar bus"
-#: route_ui.cc:1695
+#: route_ui.cc:1686
+msgid ": comment editor"
+msgstr ": editor de notas"
+
+#: route_ui.cc:1852
msgid " latency"
msgstr "latencia"
-#: route_ui.cc:1708
+#: route_ui.cc:1865
msgid "Cannot create route template directory %1"
msgstr "Cannot create route template directory %1"
-#: route_ui.cc:1714
+#: route_ui.cc:1871
msgid "Save As Template"
msgstr "Guardar como plantilla"
-#: route_ui.cc:1715
+#: route_ui.cc:1872
msgid "Template name:"
msgstr "Nombre de plantilla :"
-#: route_ui.cc:1788
+#: route_ui.cc:1945
msgid "Remote Control ID"
msgstr "ID de control remoto"
-#: route_ui.cc:1798
+#: route_ui.cc:1955
msgid "Remote control ID:"
msgstr "ID de control remoto:"
-#: route_ui.cc:1812
+#: route_ui.cc:1969
msgid ""
"The remote control ID of %1 is: %2\n"
"\n"
@@ -10237,27 +10451,26 @@ msgid ""
"The remote control ID of %3 cannot be changed."
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the master bus"
msgstr "el bus master"
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the monitor bus"
msgstr "el bus de monitorización"
-#: route_ui.cc:1818
+#: route_ui.cc:1975
msgid ""
"The remote control ID of %5 is: %2\n"
"\n"
"\n"
-"Remote Control IDs are currently determined by track/bus ordering in "
-"Ardour.\n"
+"Remote Control IDs are currently determined by track/bus ordering in %6.\n"
"\n"
"%3Use the User Interaction tab of the Preferences window if you want to "
"change this%4"
msgstr ""
-#: route_ui.cc:1875
+#: route_ui.cc:2032
msgid ""
"Left-click to invert (phase reverse) channel %1 of this track. Right-click "
"to show menu."
@@ -10265,7 +10478,7 @@ msgstr ""
"Clic izquierdo para invertir (inversión de fase) canal %1 de esta pista. "
"Clic derecho para mostrar menú."
-#: route_ui.cc:1877
+#: route_ui.cc:2034
msgid "Click to show a menu of channels for inversion (phase reverse)"
msgstr ""
@@ -10281,119 +10494,119 @@ msgstr "Clicar para añadir nueva localización"
msgid "the session folder"
msgstr "el archivo de sesión"
-#: send_ui.cc:126
+#: send_ui.cc:134
msgid "Send "
msgstr "Enviar "
-#: session_dialog.cc:66
+#: session_dialog.cc:68
msgid "Session Setup"
msgstr ""
-#: session_dialog.cc:71
+#: session_dialog.cc:73
msgid "Advanced options ..."
msgstr ""
-#: session_dialog.cc:267
+#: session_dialog.cc:271
msgid "New Session"
msgstr "Nueva sesión"
-#: session_dialog.cc:305
+#: session_dialog.cc:309
msgid "Check the website for more..."
msgstr ""
-#: session_dialog.cc:308
+#: session_dialog.cc:312
msgid "Click to open the program website in your web browser"
msgstr ""
-#: session_dialog.cc:328
+#: session_dialog.cc:332
msgid "Sample Rate"
msgstr ""
-#: session_dialog.cc:329
+#: session_dialog.cc:333
msgid "Disk Format"
msgstr ""
-#: session_dialog.cc:347
+#: session_dialog.cc:351
msgid "Select session file"
msgstr "Seleccionar archivo de sesión"
-#: session_dialog.cc:362
+#: session_dialog.cc:366
msgid "Other Sessions"
msgstr ""
-#: session_dialog.cc:388
+#: session_dialog.cc:392
msgid "Open"
msgstr "Abrir"
-#: session_dialog.cc:455
+#: session_dialog.cc:459
msgid "Session name:"
msgstr "Nombre de sesión:"
-#: session_dialog.cc:477
+#: session_dialog.cc:481
msgid "Create session folder in:"
msgstr "Crear carpeta de sesión en :"
-#: session_dialog.cc:500
+#: session_dialog.cc:504
msgid "Select folder for session"
msgstr "Seleccionar carpeta para sesión"
-#: session_dialog.cc:529
+#: session_dialog.cc:533
msgid "Use this template"
msgstr "Usar esta plantilla"
-#: session_dialog.cc:532
+#: session_dialog.cc:536
msgid "no template"
msgstr "sin plantilla"
-#: session_dialog.cc:664 session_dialog.cc:696
+#: session_dialog.cc:671 session_dialog.cc:707
msgid "32 bit float"
msgstr ""
-#: session_dialog.cc:667 session_dialog.cc:699
+#: session_dialog.cc:674 session_dialog.cc:710
msgid "24 bit"
msgstr ""
-#: session_dialog.cc:670 session_dialog.cc:702
+#: session_dialog.cc:677 session_dialog.cc:713
msgid "16 bit"
msgstr ""
-#: session_dialog.cc:741 session_dialog.cc:742 session_dialog.cc:743
+#: session_dialog.cc:755 session_dialog.cc:756 session_dialog.cc:757
msgid "channels"
msgstr "canales"
-#: session_dialog.cc:757
+#: session_dialog.cc:771
msgid "<b>Busses</b>"
msgstr "<b>Buses</b>"
-#: session_dialog.cc:758
+#: session_dialog.cc:772
msgid "<b>Inputs</b>"
msgstr "<b>Entradas</b>"
-#: session_dialog.cc:759
+#: session_dialog.cc:773
msgid "<b>Outputs</b>"
msgstr "<b>Salidas</b>"
-#: session_dialog.cc:767
+#: session_dialog.cc:781
msgid "Create master bus"
msgstr "Crear bus master"
-#: session_dialog.cc:777
+#: session_dialog.cc:791
msgid "Automatically connect to physical inputs"
msgstr "Conectar a entradas físicas automáticamente"
-#: session_dialog.cc:784 session_dialog.cc:843
+#: session_dialog.cc:798 session_dialog.cc:857
msgid "Use only"
msgstr "Usar sólo"
-#: session_dialog.cc:837
+#: session_dialog.cc:851
msgid "Automatically connect outputs"
msgstr "Conectar salidas automáticamente"
-#: session_dialog.cc:859
+#: session_dialog.cc:873
msgid "... to master bus"
msgstr "...al bus master"
-#: session_dialog.cc:869
+#: session_dialog.cc:883
msgid "... to physical outputs"
msgstr "...a salidas físicas"
@@ -10697,7 +10910,8 @@ msgstr ""
#: session_option_editor.cc:91
msgid ""
-"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless in JACK-sync)."
+"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless using JACK-"
+"sync)."
msgstr ""
#: session_option_editor.cc:96
@@ -10732,104 +10946,174 @@ msgstr ""
"%1 es maestro de tiempo JACK (suministra Compás|Pulso|tick y otra "
"información a JACK)"
-#: session_option_editor.cc:137
-msgid "Default crossfade type"
-msgstr "Tipo de fundido cruzado por defecto"
-
-#: session_option_editor.cc:142
-msgid "Constant power (-3dB) crossfade"
-msgstr ""
-
-#: session_option_editor.cc:143
-msgid "Linear (-6dB) crossfade"
-msgstr ""
-
-#: session_option_editor.cc:148
+#: session_option_editor.cc:136
msgid "destructive-xfade-seconds"
msgstr ""
-#: session_option_editor.cc:149
+#: session_option_editor.cc:137
msgid "Destructive crossfade length"
msgstr "Duración del fundido cruzado destructivo"
-#: session_option_editor.cc:158
+#: session_option_editor.cc:146
msgid "Region fades active"
msgstr "Fundidos de región activos"
-#: session_option_editor.cc:165
+#: session_option_editor.cc:153
msgid "Region fades visible"
msgstr "Fundidos de región visibles"
-#: session_option_editor.cc:172 session_option_editor.cc:185
-#: session_option_editor.cc:199 session_option_editor.cc:201
-#: session_option_editor.cc:207 session_option_editor.cc:214
+#: session_option_editor.cc:160 session_option_editor.cc:173
+#: session_option_editor.cc:187
msgid "Media"
msgstr "Archivos"
-#: session_option_editor.cc:172
+#: session_option_editor.cc:160
msgid "Audio file format"
msgstr "Formato archivo de audio"
-#: session_option_editor.cc:176
+#: session_option_editor.cc:164
msgid "Sample format"
msgstr "Formato de muestra"
-#: session_option_editor.cc:181
+#: session_option_editor.cc:169
msgid "32-bit floating point"
msgstr "Coma flotante 32-bit"
-#: session_option_editor.cc:182
+#: session_option_editor.cc:170
msgid "24-bit integer"
msgstr "Entero 24-bit"
-#: session_option_editor.cc:183
+#: session_option_editor.cc:171
msgid "16-bit integer"
msgstr "Entero 16-bit"
-#: session_option_editor.cc:189
+#: session_option_editor.cc:177
msgid "File type"
msgstr "Tipo de archivo"
-#: session_option_editor.cc:194
+#: session_option_editor.cc:182
msgid "Broadcast WAVE"
msgstr "Broadcast WAVE"
-#: session_option_editor.cc:195
+#: session_option_editor.cc:183
msgid "WAVE"
msgstr "WAVE"
-#: session_option_editor.cc:196
+#: session_option_editor.cc:184
msgid "WAVE-64"
msgstr "WAVE-64"
-#: session_option_editor.cc:201
+#: session_option_editor.cc:189
msgid "File locations"
msgstr "Localizaciones de archivos"
-#: session_option_editor.cc:203
+#: session_option_editor.cc:191
msgid "Search for audio files in:"
msgstr "Buscar archivos de audio en:"
-#: session_option_editor.cc:209
+#: session_option_editor.cc:197
msgid "Search for MIDI files in:"
msgstr "Buscar archivos MIDI en:"
-#: session_option_editor.cc:220
+#: session_option_editor.cc:206 session_option_editor.cc:218
+#: session_option_editor.cc:228 session_option_editor.cc:239
+msgid "Filenames"
+msgstr ""
+
+#: session_option_editor.cc:206
+msgid "File Naming"
+msgstr ""
+
+#: session_option_editor.cc:212
+msgid "Prefix Track number"
+msgstr ""
+
+#: session_option_editor.cc:217
+msgid ""
+"Adds the current track number to the beginning of the recorded file name."
+msgstr ""
+
+#: session_option_editor.cc:222
+msgid "Prefix Take Name"
+msgstr ""
+
+#: session_option_editor.cc:227
+msgid "Adds the Take Name to the beginning of the recorded file name."
+msgstr ""
+
+#: session_option_editor.cc:232
+msgid "Take Name"
+msgstr ""
+
+#: session_option_editor.cc:245
msgid ""
"Track Input Monitoring automatically follows transport state (\"auto-input\")"
msgstr ""
"La monitorización de entrada de pista sigue automáticamente el estado del "
"transporte (\"auto-entrada\")"
-#: session_option_editor.cc:227
+#: session_option_editor.cc:252
msgid "Use monitor section in this session"
msgstr "Usar sección de monitorización en esta sesión"
-#: session_option_editor.cc:238
+#: session_option_editor.cc:257 session_option_editor.cc:259
+#: session_option_editor.cc:266 session_option_editor.cc:273
+#: session_option_editor.cc:280 session_option_editor.cc:282
+#: session_option_editor.cc:289 session_option_editor.cc:296
+#: session_option_editor.cc:303 session_option_editor.cc:310
+#: session_option_editor.cc:312
+msgid "Meterbridge"
+msgstr ""
+
+#: session_option_editor.cc:257
+msgid "Route Display"
+msgstr ""
+
+#: session_option_editor.cc:261
+msgid "Show Midi Tracks"
+msgstr ""
+
+#: session_option_editor.cc:268
+msgid "Show Busses"
+msgstr ""
+
+#: session_option_editor.cc:275
+msgid "Include Master Bus"
+msgstr ""
+
+#: session_option_editor.cc:280
+msgid "Button Area"
+msgstr ""
+
+#: session_option_editor.cc:284
+msgid "Rec-enable Button"
+msgstr ""
+
+#: session_option_editor.cc:291
+msgid "Mute Button"
+msgstr ""
+
+#: session_option_editor.cc:298
+msgid "Solo Button"
+msgstr ""
+
+#: session_option_editor.cc:305
+msgid "Monitor Buttons"
+msgstr ""
+
+#: session_option_editor.cc:310
+msgid "Name Labels"
+msgstr ""
+
+#: session_option_editor.cc:314
+msgid "Track Name"
+msgstr ""
+
+#: session_option_editor.cc:325
msgid "MIDI region copies are independent"
msgstr "Las copias de regiones MIDI son independientes"
-#: session_option_editor.cc:245
+#: session_option_editor.cc:332
msgid ""
"Policy for handling overlapping notes\n"
" on the same MIDI channel"
@@ -10837,325 +11121,285 @@ msgstr ""
"Política de manejo de notas superpuestas\n"
"en el mismo canal MIDI"
-#: session_option_editor.cc:250
+#: session_option_editor.cc:337
msgid "never allow them"
msgstr "no permitirlas nunca"
-#: session_option_editor.cc:251
+#: session_option_editor.cc:338
msgid "don't do anything in particular"
msgstr "no hacer nada especial"
-#: session_option_editor.cc:252
+#: session_option_editor.cc:339
msgid "replace any overlapped existing note"
msgstr "reemplazar cualquier nota superpuesta existente"
-#: session_option_editor.cc:253
+#: session_option_editor.cc:340
msgid "shorten the overlapped existing note"
msgstr "acortar la nota existente superpuesta"
-#: session_option_editor.cc:254
+#: session_option_editor.cc:341
msgid "shorten the overlapping new note"
msgstr "acortar la nueva nota superpuesta"
-#: session_option_editor.cc:255
+#: session_option_editor.cc:342
msgid "replace both overlapping notes with a single note"
msgstr "reemplazar ambas notas superpuestas con una única nota"
-#: session_option_editor.cc:259
+#: session_option_editor.cc:346
msgid "Glue to bars and beats"
msgstr "Adherir a compases y pulsos"
-#: session_option_editor.cc:263
+#: session_option_editor.cc:350
msgid "Glue new markers to bars and beats"
msgstr "Adherir marcadores nuevos a compases y pulsos"
-#: session_option_editor.cc:270
+#: session_option_editor.cc:357
msgid "Glue new regions to bars and beats"
msgstr "Adherir regiones nuevas a compases y pulsos"
-#: session_option_editor.cc:275 session_option_editor.cc:277
-#: session_option_editor.cc:284 session_option_editor.cc:291
-#: session_option_editor.cc:298 session_option_editor.cc:300
-#: session_option_editor.cc:307 session_option_editor.cc:314
-#: session_option_editor.cc:321 session_option_editor.cc:323
-msgid "Meterbridge"
-msgstr ""
-
-#: session_option_editor.cc:275
-msgid "Route Display"
-msgstr ""
-
-#: session_option_editor.cc:279
-msgid "Show Midi Tracks"
-msgstr ""
-
-#: session_option_editor.cc:286
-msgid "Show Busses"
-msgstr ""
-
-#: session_option_editor.cc:293
-msgid "Include Master Bus"
-msgstr ""
-
-#: session_option_editor.cc:298
-msgid "Button Area"
-msgstr ""
-
-#: session_option_editor.cc:302
-msgid "Rec-enable Button"
-msgstr ""
-
-#: session_option_editor.cc:309
-msgid "Mute Button"
-msgstr ""
-
-#: session_option_editor.cc:316
-msgid "Solo Button"
-msgstr ""
-
-#: session_option_editor.cc:321
-msgid "Name Labels"
+#: session_option_editor.cc:362
+msgid "Defaults"
msgstr ""
-#: session_option_editor.cc:325
-msgid "Track Name"
+#: session_option_editor.cc:364
+msgid "Use these settings as defaults"
msgstr ""
-#: sfdb_ui.cc:86 sfdb_ui.cc:106 sfdb_ui.cc:115
+#: sfdb_ui.cc:88 sfdb_ui.cc:108 sfdb_ui.cc:117
msgid "as new tracks"
msgstr "como nuevas pistas"
-#: sfdb_ui.cc:88 sfdb_ui.cc:108
+#: sfdb_ui.cc:90 sfdb_ui.cc:110
msgid "to selected tracks"
msgstr "a pistas seleccionadas"
-#: sfdb_ui.cc:90 sfdb_ui.cc:110
+#: sfdb_ui.cc:92 sfdb_ui.cc:112
msgid "to region list"
msgstr "a lista de regiones"
-#: sfdb_ui.cc:92 sfdb_ui.cc:112
+#: sfdb_ui.cc:94 sfdb_ui.cc:114
msgid "as new tape tracks"
msgstr "como pistas de cinta"
-#: sfdb_ui.cc:96
+#: sfdb_ui.cc:98
msgid "programming error: unknown import mode string %1"
msgstr "programming error: unknown import mode string %1"
-#: sfdb_ui.cc:123
+#: sfdb_ui.cc:125
msgid "Auto-play"
msgstr "Auto-play"
-#: sfdb_ui.cc:129 sfdb_ui.cc:236
+#: sfdb_ui.cc:133 sfdb_ui.cc:317
msgid "<b>Sound File Information</b>"
msgstr "<b>Información del archivo de sonido</b>"
-#: sfdb_ui.cc:141
+#: sfdb_ui.cc:145
msgid "Timestamp:"
msgstr "Timestamp:"
-#: sfdb_ui.cc:143
+#: sfdb_ui.cc:147
msgid "Format:"
msgstr "Formato:"
-#: sfdb_ui.cc:182 sfdb_ui.cc:526
+#: sfdb_ui.cc:186 sfdb_ui.cc:646
msgid "Tags:"
msgstr "Etiquetas:"
-#: sfdb_ui.cc:319
-msgid "Auditioning of MIDI files is not yet supported"
-msgstr "La escucha de archovos MID aún no está soportada"
+#: sfdb_ui.cc:290
+msgid "<b>Midi File Information</b>"
+msgstr ""
-#: sfdb_ui.cc:326
+#: sfdb_ui.cc:402
msgid "Could not read file: %1 (%2)."
msgstr "No se pudo leer el archivo %1 (%2)."
-#: sfdb_ui.cc:349
+#: sfdb_ui.cc:451
msgid "Could not access soundfile: "
msgstr "No se pudo acceder al archivo de audio: "
-#: sfdb_ui.cc:403
+#: sfdb_ui.cc:523
msgid "SoundFileBox: Could not tokenize string: "
msgstr "SoundFileBox: Could not tokenize string: "
-#: sfdb_ui.cc:423 sfdb_ui.cc:425
+#: sfdb_ui.cc:543 sfdb_ui.cc:545
msgid "Search"
msgstr "Buscar"
-#: sfdb_ui.cc:449
+#: sfdb_ui.cc:569
msgid "Audio and MIDI files"
msgstr "Archivos de audio y MIDI"
-#: sfdb_ui.cc:452
+#: sfdb_ui.cc:572
msgid "Audio files"
msgstr "Archivos de audio"
-#: sfdb_ui.cc:455
+#: sfdb_ui.cc:575
msgid "MIDI files"
msgstr "Archivos MIDI"
-#: sfdb_ui.cc:458 add_video_dialog.cc:132
+#: sfdb_ui.cc:578 add_video_dialog.cc:123
msgid "All files"
msgstr "Todos los archivos"
-#: sfdb_ui.cc:477 add_video_dialog.cc:143
+#: sfdb_ui.cc:597 add_video_dialog.cc:246
msgid "Browse Files"
msgstr "Explorar archivos"
-#: sfdb_ui.cc:506
+#: sfdb_ui.cc:626
msgid "Paths"
msgstr "Rutas"
-#: sfdb_ui.cc:515
+#: sfdb_ui.cc:635
msgid "Search Tags"
msgstr "Buscar etiquetas"
-#: sfdb_ui.cc:531
+#: sfdb_ui.cc:651
msgid "Sort:"
msgstr "Corto:"
-#: sfdb_ui.cc:539
+#: sfdb_ui.cc:659
msgid "Longest"
msgstr "El más largo"
-#: sfdb_ui.cc:540
+#: sfdb_ui.cc:660
msgid "Shortest"
msgstr "El más corto"
-#: sfdb_ui.cc:541
+#: sfdb_ui.cc:661
msgid "Newest"
msgstr "El más nuevo"
-#: sfdb_ui.cc:542
+#: sfdb_ui.cc:662
msgid "Oldest"
msgstr "El más antiguo"
-#: sfdb_ui.cc:543
+#: sfdb_ui.cc:663
msgid "Most downloaded"
msgstr "El más descargado"
-#: sfdb_ui.cc:544
+#: sfdb_ui.cc:664
msgid "Least downloaded"
msgstr "El menos descargado"
-#: sfdb_ui.cc:545
+#: sfdb_ui.cc:665
msgid "Highest rated"
msgstr "El puntuado más alto"
-#: sfdb_ui.cc:546
+#: sfdb_ui.cc:666
msgid "Lowest rated"
msgstr "El puntuado más bajo"
-#: sfdb_ui.cc:551
+#: sfdb_ui.cc:671
msgid "More"
msgstr ""
-#: sfdb_ui.cc:555
+#: sfdb_ui.cc:675
msgid "Similar"
msgstr ""
-#: sfdb_ui.cc:567
+#: sfdb_ui.cc:687
msgid "ID"
msgstr "ID"
-#: sfdb_ui.cc:568 add_video_dialog.cc:84
+#: sfdb_ui.cc:688 add_video_dialog.cc:83
msgid "Filename"
msgstr "Nombre de archivo"
-#: sfdb_ui.cc:570
+#: sfdb_ui.cc:690
msgid "Duration"
msgstr "Duración"
-#: sfdb_ui.cc:571
+#: sfdb_ui.cc:691
msgid "Size"
msgstr "Tamaño"
-#: sfdb_ui.cc:572
+#: sfdb_ui.cc:692
msgid "Samplerate"
msgstr "Frec. de muestreo"
-#: sfdb_ui.cc:573
+#: sfdb_ui.cc:693
msgid "License"
msgstr "Licencia"
-#: sfdb_ui.cc:591
+#: sfdb_ui.cc:711
msgid "Search Freesound"
msgstr "Buscar en Freesound"
-#: sfdb_ui.cc:611
+#: sfdb_ui.cc:731
msgid "Press to import selected files and close this window"
msgstr ""
-#: sfdb_ui.cc:612
+#: sfdb_ui.cc:732
msgid "Press to import selected files and leave this window open"
msgstr ""
-#: sfdb_ui.cc:613
+#: sfdb_ui.cc:733
msgid "Press to close this window without importing any files"
msgstr ""
-#: sfdb_ui.cc:809
+#: sfdb_ui.cc:929
msgid "SoundFileBrowser: Could not tokenize string: "
msgstr "SoundFileBrowser: Could not tokenize string: "
-#: sfdb_ui.cc:1009
+#: sfdb_ui.cc:1129
msgid "%1 more page of 100 results available"
msgid_plural "%1 more pages of 100 results available"
msgstr[0] ""
msgstr[1] ""
-#: sfdb_ui.cc:1014
+#: sfdb_ui.cc:1134
msgid "No more results available"
msgstr ""
-#: sfdb_ui.cc:1078
+#: sfdb_ui.cc:1198
msgid "B"
msgstr "B"
-#: sfdb_ui.cc:1080
+#: sfdb_ui.cc:1200
msgid "kB"
msgstr "kB"
-#: sfdb_ui.cc:1082 sfdb_ui.cc:1084
+#: sfdb_ui.cc:1202 sfdb_ui.cc:1204
msgid "MB"
msgstr "MB"
-#: sfdb_ui.cc:1086
+#: sfdb_ui.cc:1206
msgid "GB"
msgstr "GB"
-#: sfdb_ui.cc:1298 sfdb_ui.cc:1606 sfdb_ui.cc:1656 sfdb_ui.cc:1674
+#: sfdb_ui.cc:1418 sfdb_ui.cc:1731 sfdb_ui.cc:1782 sfdb_ui.cc:1800
msgid "one track per file"
msgstr "1 pista por archivo"
-#: sfdb_ui.cc:1301 sfdb_ui.cc:1657 sfdb_ui.cc:1675
+#: sfdb_ui.cc:1421 sfdb_ui.cc:1783 sfdb_ui.cc:1801
msgid "one track per channel"
msgstr "1 pista por canal"
-#: sfdb_ui.cc:1309 sfdb_ui.cc:1659 sfdb_ui.cc:1676
+#: sfdb_ui.cc:1429 sfdb_ui.cc:1785 sfdb_ui.cc:1802
msgid "sequence files"
msgstr "secuenciar archivos"
-#: sfdb_ui.cc:1312 sfdb_ui.cc:1664
+#: sfdb_ui.cc:1432 sfdb_ui.cc:1790
msgid "all files in one track"
msgstr "todos los archivos en una pista"
-#: sfdb_ui.cc:1313 sfdb_ui.cc:1658
+#: sfdb_ui.cc:1433 sfdb_ui.cc:1784
msgid "merge files"
msgstr "fusionar archivos"
-#: sfdb_ui.cc:1319 sfdb_ui.cc:1661
+#: sfdb_ui.cc:1439 sfdb_ui.cc:1787
msgid "one region per file"
msgstr "una región por archivo"
-#: sfdb_ui.cc:1322 sfdb_ui.cc:1662
+#: sfdb_ui.cc:1442 sfdb_ui.cc:1788
msgid "one region per channel"
msgstr "una región por canal"
-#: sfdb_ui.cc:1327 sfdb_ui.cc:1663 sfdb_ui.cc:1677
+#: sfdb_ui.cc:1447 sfdb_ui.cc:1789 sfdb_ui.cc:1803
msgid "all files in one region"
msgstr "todos los archivos en una región"
-#: sfdb_ui.cc:1394
+#: sfdb_ui.cc:1514
msgid ""
"One or more of the selected files\n"
"cannot be used by %1"
@@ -11163,60 +11407,60 @@ msgstr ""
"Uno o más de los archivos seleccionados\n"
"no puede ser usado por %1"
-#: sfdb_ui.cc:1534
+#: sfdb_ui.cc:1658
msgid "Copy files to session"
msgstr ""
"Copiar archivos\n"
"a la sesión"
-#: sfdb_ui.cc:1551 sfdb_ui.cc:1714
+#: sfdb_ui.cc:1675 sfdb_ui.cc:1840
msgid "file timestamp"
msgstr "timestamp de archivo"
-#: sfdb_ui.cc:1552 sfdb_ui.cc:1716
+#: sfdb_ui.cc:1676 sfdb_ui.cc:1842
msgid "edit point"
msgstr "punto de edición"
-#: sfdb_ui.cc:1553 sfdb_ui.cc:1718
+#: sfdb_ui.cc:1677 sfdb_ui.cc:1844
msgid "playhead"
msgstr "cursor"
-#: sfdb_ui.cc:1554
+#: sfdb_ui.cc:1678
msgid "session start"
msgstr "inicio de sesión"
-#: sfdb_ui.cc:1559
+#: sfdb_ui.cc:1684
msgid "<b>Add files as ...</b>"
msgstr "<b>Añadir archivos como...</b>"
-#: sfdb_ui.cc:1581
+#: sfdb_ui.cc:1706
msgid "<b>Insert at</b>"
msgstr "<b>Insertar en</b>"
-#: sfdb_ui.cc:1594
+#: sfdb_ui.cc:1719
msgid "<b>Mapping</b>"
msgstr "<b>Mapeado</b>"
-#: sfdb_ui.cc:1612
+#: sfdb_ui.cc:1737
msgid "<b>Conversion quality</b>"
msgstr "<b>Calidad de conversión</b>"
-#: sfdb_ui.cc:1624 sfdb_ui.cc:1730
+#: sfdb_ui.cc:1749 sfdb_ui.cc:1856
msgid "Best"
msgstr "La mejor"
-#: sfdb_ui.cc:1625 sfdb_ui.cc:1732
+#: sfdb_ui.cc:1750 sfdb_ui.cc:1858
msgid "Good"
msgstr "Buena"
# Quick=Veloz
# Fast=Rápida
# if not, you get two "rápida" entries in the combo
-#: sfdb_ui.cc:1626 sfdb_ui.cc:1734
+#: sfdb_ui.cc:1751 sfdb_ui.cc:1860
msgid "Quick"
msgstr "Veloz"
-#: sfdb_ui.cc:1628
+#: sfdb_ui.cc:1753
msgid "Fastest"
msgstr "Rapidísima"
@@ -11262,6 +11506,30 @@ msgstr ">>> %+d semitonos"
msgid "Stopped"
msgstr "Parado"
+#: soundcloud_export_selector.cc:44
+msgid "User Email"
+msgstr ""
+
+#: soundcloud_export_selector.cc:45
+msgid "Password"
+msgstr ""
+
+#: soundcloud_export_selector.cc:46
+msgid "Make files public"
+msgstr ""
+
+#: soundcloud_export_selector.cc:47
+msgid "Open uploaded files in browser"
+msgstr ""
+
+#: soundcloud_export_selector.cc:48
+msgid "Make files downloadable"
+msgstr ""
+
+#: soundcloud_export_selector.cc:107
+msgid "%1: %2 of %3 bytes uploaded"
+msgstr ""
+
#: splash.cc:73
msgid "%1 loading ..."
msgstr "Cargando %1 ..."
@@ -11278,7 +11546,7 @@ msgstr "Eliminar altavoz"
msgid "Azimuth:"
msgstr "Azimut:"
-#: startup.cc:72
+#: startup.cc:73
msgid ""
"Use an external mixer or the hardware mixer of your audio interface.\n"
"%1 will play NO role in monitoring"
@@ -11286,11 +11554,11 @@ msgstr ""
"Usar un mezclador externo o el mezclador hardware de tu interfaz de audio.\n"
"%1 no tomará parte en la monitorización"
-#: startup.cc:74
+#: startup.cc:75
msgid "Ask %1 to play back material as it is being recorded"
msgstr "Pedir a %1 que reproduzca el material al tiempo que se graba"
-#: startup.cc:143
+#: startup.cc:144
msgid ""
"<b>Welcome to this BETA release of Ardour %1</b>\n"
"\n"
@@ -11315,11 +11583,11 @@ msgid ""
" http://ardour.org/support\n"
msgstr ""
-#: startup.cc:167
+#: startup.cc:168
msgid "This is a BETA RELEASE"
msgstr "Esta es una edición BETA"
-#: startup.cc:176
+#: startup.cc:177
msgid ""
"<span size=\"larger\">%1 is a digital audio workstation. You can use it to "
"record, edit and mix multi-track audio. You can produce your own CDs, mix "
@@ -11338,15 +11606,15 @@ msgstr ""
"Hay unas pocas cosas que hace falta configurar antes de que empieces\n"
"a usar el programa.</span>"
-#: startup.cc:202
+#: startup.cc:203
msgid "Welcome to %1"
msgstr "Bienvenido a %1"
-#: startup.cc:225
+#: startup.cc:226
msgid "Default folder for %1 sessions"
msgstr "Carpeta por defecto para sesiones de %1"
-#: startup.cc:231
+#: startup.cc:232
msgid ""
"Each project that you work on with %1 has its own folder.\n"
"These can require a lot of disk space if you are recording audio.\n"
@@ -11363,11 +11631,11 @@ msgstr ""
"<i>(Puedes poner las nuevas sesiones en cualquier carpeta, esto sólo elige "
"la de por defecto)</i>"
-#: startup.cc:254
+#: startup.cc:255
msgid "Default folder for new sessions"
msgstr "Carpeta por defecto para sesiones nuevas"
-#: startup.cc:275
+#: startup.cc:276
msgid ""
"While recording instruments or vocals, you probably want to listen to the\n"
"signal as well as record it. This is called \"monitoring\". There are\n"
@@ -11392,15 +11660,15 @@ msgstr ""
"<i>Si no entiendes lo que quiere decir esto, acepta la opción por defecto.</"
"i>"
-#: startup.cc:296
+#: startup.cc:297
msgid "Monitoring Choices"
msgstr "Opciones de monitorización"
-#: startup.cc:319
+#: startup.cc:320
msgid "Use a Master bus directly"
msgstr "Usar directamente el bus Master"
-#: startup.cc:321
+#: startup.cc:322
msgid ""
"Connect the Master bus directly to your hardware outputs. This is preferable "
"for simple usage."
@@ -11408,11 +11676,11 @@ msgstr ""
"Conectar el bus Master directamente a tus salidas de hardware.Preferible "
"para uso simple."
-#: startup.cc:330
+#: startup.cc:331
msgid "Use an additional Monitor bus"
msgstr "Usar un bus de monitorización adicional"
-#: startup.cc:333
+#: startup.cc:334
msgid ""
"Use a Monitor bus between Master bus and hardware outputs for \n"
"greater control in monitoring without affecting the mix."
@@ -11421,7 +11689,7 @@ msgstr ""
"hardware \n"
"para mayor control de la monitorización, sin afectar a la mezcla."
-#: startup.cc:355
+#: startup.cc:356
msgid ""
"<i>You can change this preference at any time via the Preferences dialog.\n"
"You can also add or remove the monitor section to/from any session.</i>\n"
@@ -11435,395 +11703,395 @@ msgstr ""
"\n"
"<i>En caso de duda, acepta la opción por defecto.</i>"
-#: startup.cc:366
+#: startup.cc:367
msgid "Monitor Section"
msgstr "Sección de monitorización"
-#: step_entry.cc:59
+#: step_entry.cc:60
msgid "Step Entry: %1"
msgstr ""
-#: step_entry.cc:64
+#: step_entry.cc:65
msgid ">beat"
msgstr ">pulso"
-#: step_entry.cc:65
+#: step_entry.cc:66
msgid ">bar"
msgstr ">compás"
-#: step_entry.cc:66
+#: step_entry.cc:67
msgid ">EP"
msgstr ">EP"
-#: step_entry.cc:67
+#: step_entry.cc:68
msgid "sustain"
msgstr "sostenido"
-#: step_entry.cc:68
+#: step_entry.cc:69
msgid "rest"
msgstr "silencio"
-#: step_entry.cc:69
+#: step_entry.cc:70
msgid "g-rest"
msgstr ""
-#: step_entry.cc:70
+#: step_entry.cc:71
msgid "back"
msgstr "atrás"
-#: step_entry.cc:81 step_entry.cc:84
+#: step_entry.cc:82 step_entry.cc:85
msgid "+"
msgstr "+"
-#: step_entry.cc:190
+#: step_entry.cc:191
msgid "Set note length to a whole note"
msgstr "Establecer duración de nota a redonda"
-#: step_entry.cc:191
+#: step_entry.cc:192
msgid "Set note length to a half note"
msgstr "Establecer duración de nota a blanca"
-#: step_entry.cc:192
+#: step_entry.cc:193
msgid "Set note length to a quarter note"
msgstr "Establecer duración de nota a negra"
-#: step_entry.cc:193
+#: step_entry.cc:194
msgid "Set note length to a eighth note"
msgstr "Establecer duración de nota a corchea"
-#: step_entry.cc:194
+#: step_entry.cc:195
msgid "Set note length to a sixteenth note"
msgstr "Establecer duración de nota a semicorchea"
-#: step_entry.cc:195
+#: step_entry.cc:196
msgid "Set note length to a thirty-second note"
msgstr "Establecer duración de nota a fusa"
-#: step_entry.cc:196
+#: step_entry.cc:197
msgid "Set note length to a sixty-fourth note"
msgstr "Establecer duración de nota a semifusa"
-#: step_entry.cc:275
+#: step_entry.cc:276
msgid "Set volume (velocity) to pianississimo"
msgstr "Establecer volumen (intensidad) a pianississimo"
-#: step_entry.cc:276
+#: step_entry.cc:277
msgid "Set volume (velocity) to pianissimo"
msgstr "Establecer volumen (intensidad) a pianissimo"
-#: step_entry.cc:277
+#: step_entry.cc:278
msgid "Set volume (velocity) to piano"
msgstr "Establecer volumen (intensidad) a piano"
-#: step_entry.cc:278
+#: step_entry.cc:279
msgid "Set volume (velocity) to mezzo-piano"
msgstr "Establecer volumen (intensidad) a mezzo-piano"
-#: step_entry.cc:279
+#: step_entry.cc:280
msgid "Set volume (velocity) to mezzo-forte"
msgstr "Establecer volumen (intensidad) a mezzo-forte"
-#: step_entry.cc:280
+#: step_entry.cc:281
msgid "Set volume (velocity) to forte"
msgstr "Establecer volumen (intensidad) a forte"
-#: step_entry.cc:281
+#: step_entry.cc:282
msgid "Set volume (velocity) to forteissimo"
msgstr "Establecer volumen (intensidad) a fortissimo"
-#: step_entry.cc:282
+#: step_entry.cc:283
msgid "Set volume (velocity) to forteississimo"
msgstr "Establecer volumen (intensidad) a fortississimo"
-#: step_entry.cc:330
+#: step_entry.cc:331
msgid "Stack inserted notes to form a chord"
msgstr "Apilar notas insertadas para formar acorde"
-#: step_entry.cc:331
+#: step_entry.cc:332
msgid "Extend selected notes by note length"
msgstr "Extender notas seleccionadas a duración de nota"
-#: step_entry.cc:332
+#: step_entry.cc:333
msgid "Use undotted note lengths"
msgstr "Usar duraciones de notas sin puntillo"
-#: step_entry.cc:333
+#: step_entry.cc:334
msgid "Use dotted (* 1.5) note lengths"
msgstr "Usar duración de notas con puntillo (* 1,5)"
-#: step_entry.cc:334
+#: step_entry.cc:335
msgid "Use double-dotted (* 1.75) note lengths"
msgstr "Usar duración de notas con doble puntillo (* 1,75)"
-#: step_entry.cc:335
+#: step_entry.cc:336
msgid "Use triple-dotted (* 1.875) note lengths"
msgstr "Usar duración de notas con triple puntillo (* 1,875)"
-#: step_entry.cc:336
+#: step_entry.cc:337
msgid "Insert a note-length's rest"
msgstr "Insertar silencio con duración de nota"
-#: step_entry.cc:337
+#: step_entry.cc:338
msgid "Insert a grid-unit's rest"
msgstr "Insertar silencio con duración de unidad de rejilla"
-#: step_entry.cc:338
+#: step_entry.cc:339
msgid "Insert a rest until the next beat"
msgstr "Insertar silencio hasta el próximo pulso"
-#: step_entry.cc:339
+#: step_entry.cc:340
msgid "Insert a rest until the next bar"
msgstr "Insertar silencio hasta el próximo compás"
-#: step_entry.cc:340
+#: step_entry.cc:341
msgid "Insert a bank change message"
msgstr "Insertar mensaje de cambio de banco"
-#: step_entry.cc:341
+#: step_entry.cc:342
msgid "Insert a program change message"
msgstr "Insertar mensaje de cambio de programa"
-#: step_entry.cc:342 step_entry.cc:699
+#: step_entry.cc:343 step_entry.cc:700
msgid "Move Insert Position Back by Note Length"
msgstr "Atrasar posición de inserción a duración de nota"
-#: step_entry.cc:343 step_entry.cc:697
+#: step_entry.cc:344 step_entry.cc:698
msgid "Move Insert Position to Edit Point"
msgstr "Mover posición de inserción a punto de edición"
-#: step_entry.cc:400
+#: step_entry.cc:401
msgid "1/Note"
msgstr "1/Nota"
-#: step_entry.cc:414
+#: step_entry.cc:415
msgid "Octave"
msgstr "Octava"
-#: step_entry.cc:597
+#: step_entry.cc:598
msgid "Insert Note A"
msgstr "Insertar nota A"
-#: step_entry.cc:598
+#: step_entry.cc:599
msgid "Insert Note A-sharp"
msgstr "Insertar nota A sostenido"
-#: step_entry.cc:599
+#: step_entry.cc:600
msgid "Insert Note B"
msgstr "Insertar nota B"
-#: step_entry.cc:600
+#: step_entry.cc:601
msgid "Insert Note C"
msgstr "Insertar nota C"
-#: step_entry.cc:601
+#: step_entry.cc:602
msgid "Insert Note C-sharp"
msgstr "Insertar nota C sostenido"
-#: step_entry.cc:602
+#: step_entry.cc:603
msgid "Insert Note D"
msgstr "Insertar nota D"
-#: step_entry.cc:603
+#: step_entry.cc:604
msgid "Insert Note D-sharp"
msgstr "Insertar nota D sostenido"
-#: step_entry.cc:604
+#: step_entry.cc:605
msgid "Insert Note E"
msgstr "Insertar nota E"
-#: step_entry.cc:605
+#: step_entry.cc:606
msgid "Insert Note F"
msgstr "Insertar nota F"
-#: step_entry.cc:606
+#: step_entry.cc:607
msgid "Insert Note F-sharp"
msgstr "Insertar nota F sostenido"
-#: step_entry.cc:607
+#: step_entry.cc:608
msgid "Insert Note G"
msgstr "Insertar nota G"
-#: step_entry.cc:608
+#: step_entry.cc:609
msgid "Insert Note G-sharp"
msgstr "Insertar nota G sostenido"
-#: step_entry.cc:610
+#: step_entry.cc:611
msgid "Insert a Note-length Rest"
msgstr "Insertar un silencio con duración de nota"
-#: step_entry.cc:611
+#: step_entry.cc:612
msgid "Insert a Snap-length Rest"
msgstr "Insertar un silencio con duración de ajuste"
-#: step_entry.cc:613 step_entry.cc:614
+#: step_entry.cc:614 step_entry.cc:615
msgid "Move to next octave"
msgstr "Mover a siguiente octava"
-#: step_entry.cc:616
+#: step_entry.cc:617
msgid "Move to Next Note Length"
msgstr "Mover a duración de nota siguiente"
-#: step_entry.cc:617
+#: step_entry.cc:618
msgid "Move to Previous Note Length"
msgstr "Mover a duración de nota anterior"
-#: step_entry.cc:619
+#: step_entry.cc:620
msgid "Increase Note Length"
msgstr "Aumentar duración de nota"
-#: step_entry.cc:620
+#: step_entry.cc:621
msgid "Decrease Note Length"
msgstr "Disminuir duración de nota"
-#: step_entry.cc:622
+#: step_entry.cc:623
msgid "Move to Next Note Velocity"
msgstr "Mover a intesidad de nota siguiente"
-#: step_entry.cc:623
+#: step_entry.cc:624
msgid "Move to Previous Note Velocity"
msgstr "Mover a intesidad de nota anterior"
-#: step_entry.cc:625
+#: step_entry.cc:626
msgid "Increase Note Velocity"
msgstr "Aumentar intensidad de nota"
-#: step_entry.cc:626
+#: step_entry.cc:627
msgid "Decrease Note Velocity"
msgstr "Disminuir intensidad de nota"
-#: step_entry.cc:628
+#: step_entry.cc:629
msgid "Switch to the 1st octave"
msgstr "Cambiar a la primera octava"
-#: step_entry.cc:629
+#: step_entry.cc:630
msgid "Switch to the 2nd octave"
msgstr "Cambiar a la segunda octava"
-#: step_entry.cc:630
+#: step_entry.cc:631
msgid "Switch to the 3rd octave"
msgstr "Cambiar a la tercera octava"
-#: step_entry.cc:631
+#: step_entry.cc:632
msgid "Switch to the 4th octave"
msgstr "Cambiar a la cuarta octava"
-#: step_entry.cc:632
+#: step_entry.cc:633
msgid "Switch to the 5th octave"
msgstr "Cambiar a la quinta octava"
-#: step_entry.cc:633
+#: step_entry.cc:634
msgid "Switch to the 6th octave"
msgstr "Cambiar a la sexta octava"
-#: step_entry.cc:634
+#: step_entry.cc:635
msgid "Switch to the 7th octave"
msgstr "Cambiar a la séptima octava"
-#: step_entry.cc:635
+#: step_entry.cc:636
msgid "Switch to the 8th octave"
msgstr "Cambiar a la octava octava"
-#: step_entry.cc:636
+#: step_entry.cc:637
msgid "Switch to the 9th octave"
msgstr "Cambiar a la novena octava"
-#: step_entry.cc:637
+#: step_entry.cc:638
msgid "Switch to the 10th octave"
msgstr "Cambiar a la décima octava"
-#: step_entry.cc:638
+#: step_entry.cc:639
msgid "Switch to the 11th octave"
msgstr "Cambiar a la décimoprimera octava"
-#: step_entry.cc:643
+#: step_entry.cc:644
msgid "Set Note Length to Whole"
msgstr "Establecer duración de nota a entera"
-#: step_entry.cc:645
+#: step_entry.cc:646
msgid "Set Note Length to 1/2"
msgstr "Establecer duración de nota a 1/2"
-#: step_entry.cc:647
+#: step_entry.cc:648
msgid "Set Note Length to 1/3"
msgstr "Establecer duración de nota a 1/3"
-#: step_entry.cc:649
+#: step_entry.cc:650
msgid "Set Note Length to 1/4"
msgstr "Establecer duración de nota a 1/4"
-#: step_entry.cc:651
+#: step_entry.cc:652
msgid "Set Note Length to 1/8"
msgstr "Establecer duración de nota a 1/8"
-#: step_entry.cc:653
+#: step_entry.cc:654
msgid "Set Note Length to 1/16"
msgstr "Establecer duración de nota a 1/16"
-#: step_entry.cc:655
+#: step_entry.cc:656
msgid "Set Note Length to 1/32"
msgstr "Establecer duración de nota a 1/32"
-#: step_entry.cc:657
+#: step_entry.cc:658
msgid "Set Note Length to 1/64"
msgstr "Establecer duración de nota a 1/64"
-#: step_entry.cc:662
+#: step_entry.cc:663
msgid "Set Note Velocity to Pianississimo"
msgstr "Establecer intensidad de nota a pianississimo"
-#: step_entry.cc:664
+#: step_entry.cc:665
msgid "Set Note Velocity to Pianissimo"
msgstr "Establecer intensidad de nota a pianissimo"
-#: step_entry.cc:666
+#: step_entry.cc:667
msgid "Set Note Velocity to Piano"
msgstr "Establecer intensidad de nota a piano"
-#: step_entry.cc:668
+#: step_entry.cc:669
msgid "Set Note Velocity to Mezzo-Piano"
msgstr "Establecer intensidad de nota a mezzo-piano"
-#: step_entry.cc:670
+#: step_entry.cc:671
msgid "Set Note Velocity to Mezzo-Forte"
msgstr "Establecer intensidad de nota a mezzo-forte"
-#: step_entry.cc:672
+#: step_entry.cc:673
msgid "Set Note Velocity to Forte"
msgstr "Establecer intensidad de nota a forte"
-#: step_entry.cc:674 step_entry.cc:676
+#: step_entry.cc:675 step_entry.cc:677
msgid "Set Note Velocity to Fortississimo"
msgstr "Establecer intensidad de nota a fortississimo"
-#: step_entry.cc:678
+#: step_entry.cc:679
msgid "Toggle Triple Notes"
msgstr "Conmutar notas triples"
-#: step_entry.cc:683
+#: step_entry.cc:684
msgid "No Dotted Notes"
msgstr "Sin notas con puntillo"
-#: step_entry.cc:685
+#: step_entry.cc:686
msgid "Toggled Dotted Notes"
msgstr "Conmutar notas con puntillo"
-#: step_entry.cc:687
+#: step_entry.cc:688
msgid "Toggled Double-Dotted Notes"
msgstr "Conmutar notas con doble puntillo"
-#: step_entry.cc:689
+#: step_entry.cc:690
msgid "Toggled Triple-Dotted Notes"
msgstr "Conmutar notas con triple puntillo"
-#: step_entry.cc:692
+#: step_entry.cc:693
msgid "Toggle Chord Entry"
msgstr "Conmutar entrada de acordes"
-#: step_entry.cc:694
+#: step_entry.cc:695
msgid "Sustain Selected Notes by Note Length"
msgstr "Mantener notas seleccionadas a duración de nota"
-#: stereo_panner.cc:108
+#: stereo_panner.cc:131
#, c-format
msgid "L:%3d R:%3d Width:%d%%"
msgstr ""
@@ -11836,142 +12104,166 @@ msgstr "Paner estéreo"
msgid "Width"
msgstr "Anchura"
-#: strip_silence_dialog.cc:48
+#: strip_silence_dialog.cc:44
msgid "Strip Silence"
msgstr "Quitar silencio"
-#: strip_silence_dialog.cc:79
+#: strip_silence_dialog.cc:75
msgid "Minimum length"
msgstr "Duración mínima"
-#: strip_silence_dialog.cc:87
+#: strip_silence_dialog.cc:83
msgid "Fade length"
msgstr "Duración de fundido"
-#: tempo_dialog.cc:43 tempo_dialog.cc:58
+#: tempo_dialog.cc:42 tempo_dialog.cc:58
msgid "bar:"
msgstr "compás:"
-#: tempo_dialog.cc:44 tempo_dialog.cc:59
+#: tempo_dialog.cc:43 tempo_dialog.cc:59
msgid "beat:"
msgstr "pulso:"
-#: tempo_dialog.cc:45 tempo_dialog.cc:60
+#: tempo_dialog.cc:44 tempo_dialog.cc:60
msgid "Pulse note"
msgstr "Duración de nota"
+#: tempo_dialog.cc:45 tempo_dialog.cc:61
+msgid "Tap tempo"
+msgstr ""
+
#: tempo_dialog.cc:55
msgid "Edit Tempo"
msgstr "Editar tempo"
-#: tempo_dialog.cc:76 tempo_dialog.cc:77 tempo_dialog.cc:282
-#: tempo_dialog.cc:283
+#: tempo_dialog.cc:77 tempo_dialog.cc:78 tempo_dialog.cc:316
+#: tempo_dialog.cc:317
msgid "whole"
msgstr "redonda"
-#: tempo_dialog.cc:78 tempo_dialog.cc:79 tempo_dialog.cc:284
-#: tempo_dialog.cc:285
+#: tempo_dialog.cc:79 tempo_dialog.cc:80 tempo_dialog.cc:318
+#: tempo_dialog.cc:319
msgid "second"
msgstr "blanca"
-#: tempo_dialog.cc:80 tempo_dialog.cc:81 tempo_dialog.cc:286
-#: tempo_dialog.cc:287
+#: tempo_dialog.cc:81 tempo_dialog.cc:82 tempo_dialog.cc:320
+#: tempo_dialog.cc:321
msgid "third"
msgstr "blanca puntillo"
-#: tempo_dialog.cc:82 tempo_dialog.cc:83 tempo_dialog.cc:288
-#: tempo_dialog.cc:289
+#: tempo_dialog.cc:83 tempo_dialog.cc:84 tempo_dialog.cc:322
+#: tempo_dialog.cc:323
msgid "quarter"
msgstr "negra"
-#: tempo_dialog.cc:84 tempo_dialog.cc:85 tempo_dialog.cc:290
-#: tempo_dialog.cc:291
+#: tempo_dialog.cc:85 tempo_dialog.cc:86 tempo_dialog.cc:324
+#: tempo_dialog.cc:325
msgid "eighth"
msgstr "corchea"
-#: tempo_dialog.cc:86 tempo_dialog.cc:87 tempo_dialog.cc:292
-#: tempo_dialog.cc:293
+#: tempo_dialog.cc:87 tempo_dialog.cc:88 tempo_dialog.cc:326
+#: tempo_dialog.cc:327
msgid "sixteenth"
msgstr "semicorchea"
-#: tempo_dialog.cc:88 tempo_dialog.cc:89 tempo_dialog.cc:294
-#: tempo_dialog.cc:295
+#: tempo_dialog.cc:89 tempo_dialog.cc:90 tempo_dialog.cc:328
+#: tempo_dialog.cc:329
msgid "thirty-second"
msgstr "fusa"
-#: tempo_dialog.cc:90 tempo_dialog.cc:91 tempo_dialog.cc:296
-#: tempo_dialog.cc:297
+#: tempo_dialog.cc:91 tempo_dialog.cc:92 tempo_dialog.cc:330
+#: tempo_dialog.cc:331
msgid "sixty-fourth"
msgstr "semifusa"
-#: tempo_dialog.cc:92 tempo_dialog.cc:93 tempo_dialog.cc:298
-#: tempo_dialog.cc:299
+#: tempo_dialog.cc:93 tempo_dialog.cc:94 tempo_dialog.cc:332
+#: tempo_dialog.cc:333
msgid "one-hundred-twenty-eighth"
msgstr "semi-semifusa"
-#: tempo_dialog.cc:120
+#: tempo_dialog.cc:121
msgid "Beats per minute:"
msgstr "Pulsos por minuto:"
-#: tempo_dialog.cc:152
+#: tempo_dialog.cc:153
msgid "Tempo begins at"
msgstr "El tempo comienza en"
-#: tempo_dialog.cc:240
+#: tempo_dialog.cc:244
msgid "incomprehensible pulse note type (%1)"
msgstr "duración de nota incomprensible (%1)"
-#: tempo_dialog.cc:266
+#: tempo_dialog.cc:300
msgid "Edit Meter"
msgstr "Editar métrica"
# hace referencia al tipo de nota (corchea, semicorchea, etc...)
# (aparece en la ventana de configuración de compás: pulsos por compás, etc...)
-#: tempo_dialog.cc:314
+#: tempo_dialog.cc:348
msgid "Note value:"
msgstr "Valor de nota:"
-#: tempo_dialog.cc:315
+#: tempo_dialog.cc:349
msgid "Beats per bar:"
msgstr "Pulsos por compás:"
-#: tempo_dialog.cc:330
+#: tempo_dialog.cc:364
msgid "Meter begins at bar:"
msgstr "Métrica comienza en compás:"
-#: tempo_dialog.cc:441
+#: tempo_dialog.cc:475
msgid "incomprehensible meter note type (%1)"
msgstr "tipo de métrica incomprensible (%1)"
-#: theme_manager.cc:57
+#: theme_manager.cc:63
msgid "Dark Theme"
msgstr "Tema oscuro"
-#: theme_manager.cc:58
+#: theme_manager.cc:64
msgid "Light Theme"
msgstr "Tema claro"
-#: theme_manager.cc:59
+#: theme_manager.cc:65
msgid "Restore Defaults"
msgstr "Restablecer valores por defecto"
-#: theme_manager.cc:60
+#: theme_manager.cc:66
msgid "Draw \"flat\" buttons"
msgstr "Mostrar botones \"planos\""
-#: theme_manager.cc:61
+#: theme_manager.cc:67
+msgid "Blink Rec-Arm buttons"
+msgstr ""
+
+#: theme_manager.cc:68
+msgid "Color regions using their track's color"
+msgstr "Colorear regiones con el color de su pista"
+
+#: theme_manager.cc:69
+msgid "Show waveform clipping"
+msgstr ""
+
+#: theme_manager.cc:71
+msgid "Waveforms color gradient depth"
+msgstr ""
+
+#: theme_manager.cc:73
+msgid "Timeline item gradient depth"
+msgstr ""
+
+#: theme_manager.cc:74
msgid "All floating windows are dialogs"
msgstr ""
-#: theme_manager.cc:62
-msgid "Draw waveforms with color gradient"
-msgstr "Mostrar formas de onda con gradiente de color"
+#: theme_manager.cc:75
+msgid "Icon Set"
+msgstr ""
-#: theme_manager.cc:68
+#: theme_manager.cc:81
msgid "Object"
msgstr "Objeto"
-#: theme_manager.cc:123
+#: theme_manager.cc:180
msgid ""
"Mark all floating windows to be type \"Dialog\" rather than using \"Utility"
"\" for some.\n"
@@ -11979,17 +12271,17 @@ msgid ""
"take effect"
msgstr ""
-#: theme_manager.cc:229
+#: theme_manager.cc:286
msgid "Unable to find UI style file %1 in search path %2. %3 will look strange"
msgstr ""
"No se pudo encontrar el archivo de estilo de interfaz de usuario %1 en la "
"ruta de búsqueda %2. %3 tendrá un aspecto extraño"
-#: time_axis_view.cc:114
+#: time_axis_view.cc:141
msgid "Track/Bus name (double click to edit)"
msgstr "Nombre de pista/bus (doble clic para editar)"
-#: time_axis_view_item.cc:332
+#: time_axis_view_item.cc:384
msgid "new duration %1 frame is out of bounds for %2"
msgid_plural "new duration of %1 frames is out of bounds for %2"
msgstr[0] "La nueva duración de %1 cuadro está fuera de límites para %2"
@@ -12055,11 +12347,11 @@ msgstr "Estirar/Contraer"
msgid "<b>Progress</b>"
msgstr "<b>Progreso</b>"
-#: time_info_box.cc:121
+#: time_info_box.cc:124
msgid "Start recording at auto-punch start"
msgstr "Iniciar grabación al iniciar pinchazo"
-#: time_info_box.cc:122
+#: time_info_box.cc:125
msgid "Stop recording at auto-punch end"
msgstr "Detener grabación al despinchar"
@@ -12075,157 +12367,169 @@ msgstr "Transportar MIDI"
msgid "Transpose"
msgstr "Transportar"
-#: ui_config.cc:82 ui_config.cc:113
+#: ui_config.cc:95 ui_config.cc:126
msgid "Loading default ui configuration file %1"
msgstr ""
"Cargando el archivo de configuración de interfaz de usuario por defecto %1"
-#: ui_config.cc:85 ui_config.cc:116
+#: ui_config.cc:98 ui_config.cc:129
msgid "cannot read default ui configuration file \"%1\""
msgstr ""
"no se pudo leer el archivo de configuración de interfaz de usuario por "
"defecto \"%1\"."
-#: ui_config.cc:90 ui_config.cc:121
+#: ui_config.cc:103 ui_config.cc:134
msgid "default ui configuration file \"%1\" not loaded successfully."
msgstr ""
"el archivo de configuración de interfaz de usuario por defecto \"%1\" no "
"pudo cargar."
-#: ui_config.cc:134
+#: ui_config.cc:147
msgid "Loading user ui configuration file %1"
msgstr "Cargando el archivo de configuración de interfaz de usuario %1"
-#: ui_config.cc:137
+#: ui_config.cc:150
msgid "cannot read ui configuration file \"%1\""
msgstr ""
"no se pudo leer el archivo de configuración de interfaz de usuario \"%1\"."
-#: ui_config.cc:142
+#: ui_config.cc:155
msgid "user ui configuration file \"%1\" not loaded successfully."
msgstr ""
"el archivo de configuración de interfaz de usuario \"%1\" no se pudo cargar."
-#: ui_config.cc:150
+#: ui_config.cc:163
msgid "could not find any ui configuration file, canvas will look broken."
msgstr ""
"no se puedo encontrar ningún archivo de configuración de interfaz de usuario "
"\"%1\""
-#: ui_config.cc:169
+#: ui_config.cc:182
msgid "Config file %1 not saved"
msgstr "No se guardó el archivo de configuración %1."
-#: utils.cc:111 utils.cc:154
+#: utils.cc:117 utils.cc:160
msgid "bad XPM header %1"
msgstr "Encabezado XPM erróneo %1."
-#: utils.cc:293 utils.cc:325
+#: utils.cc:313 utils.cc:345
msgid "missing RGBA style for \"%1\""
msgstr "No se encuentra el estilo RGBA para \"%1\"."
-#: utils.cc:598
+#: utils.cc:640
msgid "cannot find XPM file for %1"
msgstr "No se pudo encontrar el archivo XPM para %1."
-#: utils.cc:624
+#: utils.cc:660 utils.cc:687 utils.cc:698
+msgid "default"
+msgstr ""
+
+#: utils.cc:699
+msgid "icon \"%1\" not found for icon set \"%2\", fallback to default"
+msgstr ""
+
+#: utils.cc:706
msgid "cannot find icon image for %1 using %2"
msgstr "No se pudo encontrar la imagen del icono para %1 usando %2"
-#: utils.cc:639
+#: utils.cc:723 utils.cc:739
msgid "Caught exception while loading icon named %1"
msgstr "Caught exception while loading icon named %1"
-#: verbose_cursor.cc:45
-msgid "VerboseCanvasCursor"
-msgstr "VerboseCanvasCursor"
-
-#: add_video_dialog.cc:55
+#: add_video_dialog.cc:54
msgid "Set Video Track"
msgstr ""
-#: add_video_dialog.cc:63
+#: add_video_dialog.cc:62
msgid "Launch External Video Monitor"
msgstr ""
-#: add_video_dialog.cc:64
+#: add_video_dialog.cc:63
msgid "Adjust Session Framerate to Match Video Framerate"
msgstr ""
-#: add_video_dialog.cc:66
+#: add_video_dialog.cc:65
msgid "Reload docroot"
msgstr ""
-#: add_video_dialog.cc:111 add_video_dialog.cc:115
-msgid "VideoServerIndex"
-msgstr ""
-
-#: add_video_dialog.cc:129
+#: add_video_dialog.cc:120
msgid "Video files"
msgstr ""
-#: add_video_dialog.cc:164
+#: add_video_dialog.cc:149
msgid "<b>Video Information</b>"
msgstr ""
-#: add_video_dialog.cc:167
+#: add_video_dialog.cc:152
msgid "Start:"
msgstr ""
-#: add_video_dialog.cc:173
+#: add_video_dialog.cc:158
msgid "Frame rate:"
msgstr ""
-#: add_video_dialog.cc:176
+#: add_video_dialog.cc:161
msgid "Aspect Ratio:"
msgstr ""
-#: add_video_dialog.cc:654
-msgid " %1 fps"
+#: add_video_dialog.cc:244
+msgid "VideoServerIndex"
msgstr ""
-#: editor_videotimeline.cc:146
-msgid "Export Successful: %1"
+#: add_video_dialog.cc:670
+msgid " %1 fps"
msgstr ""
-#: video_timeline.cc:469
+#: video_timeline.cc:473
msgid ""
"Parsing video file info failed. Is the Video Server running? Is the file "
"readable by the Video Server? Does the docroot match? Is it a video file?"
msgstr ""
-#: video_timeline.cc:507
+#: video_timeline.cc:511
msgid ""
"Failed to set session-framerate: '%1' does not have a corresponding option "
"setting in %2."
msgstr ""
-#: video_timeline.cc:515
+#: video_timeline.cc:519
msgid ""
"Video file's framerate is not equal to %1 session timecode's framerate: '%2' "
"vs '%3'"
msgstr ""
-#: video_timeline.cc:588
+#: video_timeline.cc:592
msgid ""
"Video-server docroot mismatch. %1: '%2', video-server: '%3'. This usually "
-"means that the video server was not started by ardour and uses a different "
+"means that the video server was not started by %1 and uses a different "
"document-root."
msgstr ""
-#: video_timeline.cc:737
+#: video_timeline.cc:768
msgid ""
"Video-monitor 'xjadeo' was not found. Please install http://xjadeo.sf.net/ "
"(a custom path to xjadeo can be specified by setting the XJREMOTE "
"environment variable. It should point to an application compatible with "
-"xjadeo's remote-control interface 'xjremote')."
+"xjadeo's remote-control interface 'xjremote').\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
+msgstr ""
+
+#: video_timeline.cc:782
+msgid "Video-monitor 'xjadeo' cannot be launched."
+msgstr ""
+
+#: video_timeline.cc:809
+msgid ""
+"Video-monitor 'xjadeo' is too old. Please install xjadeo version 0.7.7 or "
+"later. http://xjadeo.sf.net/"
msgstr ""
-#: video_monitor.cc:281
+#: video_monitor.cc:285
msgid "Video Monitor: File Not Found."
msgstr ""
-#: transcode_ffmpeg.cc:73
+#: transcode_ffmpeg.cc:126
msgid ""
"No ffprobe or ffmpeg executables could be found on this system.\n"
"Video import and export is not possible until you install those tools.\n"
@@ -12239,168 +12543,181 @@ msgid ""
"If you already have a suitable ffmpeg installation on your system, we "
"recommend creating symbolic links from ffmpeg to ffmpeg_harvid and from "
"ffprobe to ffprobe_harvid.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: transcode_video_dialog.cc:55
+#: transcode_video_dialog.cc:56
msgid "Transcode/Import Video File "
msgstr ""
-#: transcode_video_dialog.cc:57
+#: transcode_video_dialog.cc:58
msgid "Output File:"
msgstr ""
-#: transcode_video_dialog.cc:60 export_video_dialog.cc:72
+#: transcode_video_dialog.cc:61 export_video_dialog.cc:73
msgid "Abort"
msgstr ""
-#: transcode_video_dialog.cc:62
+#: transcode_video_dialog.cc:63
msgid "Height = "
msgstr ""
-#: transcode_video_dialog.cc:65
+#: transcode_video_dialog.cc:66
msgid "Manual Override"
msgstr ""
-#: transcode_video_dialog.cc:69 export_video_dialog.cc:88
+#: transcode_video_dialog.cc:70 export_video_dialog.cc:89
msgid "Debug Mode: Print ffmpeg command and output to stdout."
msgstr ""
-#: transcode_video_dialog.cc:106
+#: transcode_video_dialog.cc:107
msgid "<b>File Information</b>"
msgstr ""
-#: transcode_video_dialog.cc:112
+#: transcode_video_dialog.cc:113
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Import "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: transcode_video_dialog.cc:119
+#: transcode_video_dialog.cc:120
msgid ""
"File-info can not be read. Most likely '%1' is not a valid video-file or an "
"unsupported video codec or format."
msgstr ""
-#: transcode_video_dialog.cc:133
+#: transcode_video_dialog.cc:134
msgid "FPS:"
msgstr ""
-#: transcode_video_dialog.cc:135
+#: transcode_video_dialog.cc:136
msgid "Duration:"
msgstr ""
-#: transcode_video_dialog.cc:137
+#: transcode_video_dialog.cc:138
msgid "Codec:"
msgstr ""
-#: transcode_video_dialog.cc:139
+#: transcode_video_dialog.cc:140
msgid "Geometry:"
msgstr ""
-#: transcode_video_dialog.cc:154
+#: transcode_video_dialog.cc:155
msgid "??"
msgstr ""
-#: transcode_video_dialog.cc:175
+#: transcode_video_dialog.cc:176
msgid "<b>Import Settings</b>"
msgstr ""
-#: transcode_video_dialog.cc:180
-msgid "Do Not Import Video"
-msgstr ""
-
#: transcode_video_dialog.cc:181
-msgid "Reference From Current Location"
+msgid "Reference From Current Location (Previously Transcoded Files Only)"
msgstr ""
#: transcode_video_dialog.cc:183
msgid "Import/Transcode Video to Session"
msgstr ""
-#: transcode_video_dialog.cc:197
+#: transcode_video_dialog.cc:191
+msgid "Do Not Import Video (Audio Import Only)"
+msgstr ""
+
+#: transcode_video_dialog.cc:200
msgid "Scale Video: Width = "
msgstr ""
-#: transcode_video_dialog.cc:204
+#: transcode_video_dialog.cc:207
msgid "Original Width"
msgstr ""
-#: transcode_video_dialog.cc:219
+#: transcode_video_dialog.cc:222
msgid "Bitrate (KBit/s):"
msgstr ""
-#: transcode_video_dialog.cc:224
+#: transcode_video_dialog.cc:227
msgid "Extract Audio:"
msgstr ""
-#: transcode_video_dialog.cc:344
+#: transcode_video_dialog.cc:232
+msgid "No Audio Track Present"
+msgstr ""
+
+#: transcode_video_dialog.cc:235
+msgid "Do Not Extract Audio"
+msgstr ""
+
+#: transcode_video_dialog.cc:350
msgid "Extracting Audio.."
msgstr ""
-#: transcode_video_dialog.cc:347
+#: transcode_video_dialog.cc:353
msgid "Audio Extraction Failed."
msgstr ""
-#: transcode_video_dialog.cc:373
+#: transcode_video_dialog.cc:379
msgid "Transcoding Video.."
msgstr ""
-#: transcode_video_dialog.cc:407
+#: transcode_video_dialog.cc:413
msgid "Transcoding Failed."
msgstr ""
-#: transcode_video_dialog.cc:490
+#: transcode_video_dialog.cc:503
msgid "Save Transcoded Video File"
msgstr ""
-#: video_server_dialog.cc:43
+#: video_server_dialog.cc:57
msgid "Launch Video Server"
msgstr ""
-#: video_server_dialog.cc:44
+#: video_server_dialog.cc:58
msgid "Server Executable:"
msgstr ""
-#: video_server_dialog.cc:46
+#: video_server_dialog.cc:60
msgid "Server Docroot:"
msgstr ""
-#: video_server_dialog.cc:52
+#: video_server_dialog.cc:66
msgid "Don't show this dialog again. (Reset in Edit->Preferences)."
msgstr ""
-#: video_server_dialog.cc:92
+#: video_server_dialog.cc:126
msgid ""
-"The external video server 'harvid' can not be found. The tool is included "
-"with the %1 releases from ardour.org, alternatively you can download it from "
-"http://x42.github.com/harvid/ or acquire it from your distribution."
+"The external video server 'harvid' can not be found.\n"
+"The tool is included with the %1 releases from ardour.org, alternatively you "
+"can download it from http://x42.github.com/harvid/ or acquire it from your "
+"distribution.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: video_server_dialog.cc:120
+#: video_server_dialog.cc:159
msgid "Listen Address:"
msgstr ""
-#: video_server_dialog.cc:125
+#: video_server_dialog.cc:164
msgid "Listen Port:"
msgstr ""
-#: video_server_dialog.cc:130
+#: video_server_dialog.cc:169
msgid "Cache Size:"
msgstr ""
-#: video_server_dialog.cc:136
+#: video_server_dialog.cc:175
msgid ""
"%1 relies on an external video server for the videotimeline.\n"
"The server configured in Edit -> Preferences -> Video is not reachable.\n"
"Do you want %1 to launch 'harvid' on this machine?"
msgstr ""
-#: video_server_dialog.cc:176
+#: video_server_dialog.cc:215
msgid "Set Video Server Executable"
msgstr ""
-#: video_server_dialog.cc:196
+#: video_server_dialog.cc:235
msgid "Server docroot"
msgstr ""
@@ -12430,184 +12747,184 @@ msgstr ""
msgid "Cannot create video folder \"%1\" (%2)"
msgstr ""
-#: export_video_dialog.cc:65
+#: export_video_dialog.cc:66
msgid "Export Video File "
msgstr ""
-#: export_video_dialog.cc:69
+#: export_video_dialog.cc:70
msgid "Video:"
msgstr ""
-#: export_video_dialog.cc:73
+#: export_video_dialog.cc:74
msgid "Scale Video (W x H):"
msgstr ""
-#: export_video_dialog.cc:78
+#: export_video_dialog.cc:79
msgid "Set Aspect Ratio:"
msgstr ""
-#: export_video_dialog.cc:79
+#: export_video_dialog.cc:80
msgid "Normalize Audio"
msgstr ""
-#: export_video_dialog.cc:80
+#: export_video_dialog.cc:81
msgid "2 Pass Encoding"
msgstr ""
-#: export_video_dialog.cc:81
+#: export_video_dialog.cc:82
msgid "Codec Optimizations:"
msgstr ""
-#: export_video_dialog.cc:83
+#: export_video_dialog.cc:84
msgid "Deinterlace"
msgstr ""
-#: export_video_dialog.cc:84
+#: export_video_dialog.cc:85
msgid "Use [2] B-frames (MPEG 2 or 4 only)"
msgstr ""
-#: export_video_dialog.cc:85
+#: export_video_dialog.cc:86
msgid "Override FPS (Default is to retain FPS from the input video file):"
msgstr ""
-#: export_video_dialog.cc:86
+#: export_video_dialog.cc:87
msgid "Include Session Metadata"
msgstr ""
-#: export_video_dialog.cc:106
+#: export_video_dialog.cc:107
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Export "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: export_video_dialog.cc:116
+#: export_video_dialog.cc:117
msgid "<b>Output:</b>"
msgstr ""
-#: export_video_dialog.cc:126
+#: export_video_dialog.cc:127
msgid "<b>Input:</b>"
msgstr ""
-#: export_video_dialog.cc:137
+#: export_video_dialog.cc:138
msgid "Audio:"
msgstr ""
-#: export_video_dialog.cc:139
+#: export_video_dialog.cc:140
msgid "Master Bus"
msgstr ""
-#: export_video_dialog.cc:144
+#: export_video_dialog.cc:145
msgid "from the %1 session's start to the session's end"
msgstr ""
-#: export_video_dialog.cc:148
+#: export_video_dialog.cc:149
msgid "from 00:00:00:00 to the video's end"
msgstr ""
-#: export_video_dialog.cc:150
+#: export_video_dialog.cc:151
msgid "from the video's start to the video's end"
msgstr ""
-#: export_video_dialog.cc:153
+#: export_video_dialog.cc:154
msgid "Selected range"
msgstr ""
-#: export_video_dialog.cc:193
+#: export_video_dialog.cc:194
msgid "<b>Settings:</b>"
msgstr ""
-#: export_video_dialog.cc:201
+#: export_video_dialog.cc:202
msgid "Range:"
msgstr ""
-#: export_video_dialog.cc:204
+#: export_video_dialog.cc:205
msgid "Preset:"
msgstr ""
-#: export_video_dialog.cc:207
+#: export_video_dialog.cc:208
msgid "Video Codec:"
msgstr ""
-#: export_video_dialog.cc:210
+#: export_video_dialog.cc:211
msgid "Video KBit/s:"
msgstr ""
-#: export_video_dialog.cc:213
+#: export_video_dialog.cc:214
msgid "Audio Codec:"
msgstr ""
-#: export_video_dialog.cc:216
+#: export_video_dialog.cc:217
msgid "Audio KBit/s:"
msgstr ""
-#: export_video_dialog.cc:219
+#: export_video_dialog.cc:220
msgid "Audio Samplerate:"
msgstr ""
-#: export_video_dialog.cc:395
+#: export_video_dialog.cc:396
msgid "Normalizing audio"
msgstr ""
-#: export_video_dialog.cc:399
+#: export_video_dialog.cc:400
msgid "Exporting audio"
msgstr ""
-#: export_video_dialog.cc:445
+#: export_video_dialog.cc:446
msgid "Exporting Audio..."
msgstr ""
-#: export_video_dialog.cc:502
+#: export_video_dialog.cc:503
msgid ""
"Export Video: Cannot query duration of video-file, using duration from "
"timeline instead."
msgstr ""
-#: export_video_dialog.cc:532
+#: export_video_dialog.cc:533
msgid "Export Video: export-range does not include video."
msgstr ""
-#: export_video_dialog.cc:544
+#: export_video_dialog.cc:545
msgid "Export Video: No Master Out Ports to Connect for Audio Export"
msgstr ""
-#: export_video_dialog.cc:583
+#: export_video_dialog.cc:585
msgid "Encoding Video..."
msgstr ""
-#: export_video_dialog.cc:602
+#: export_video_dialog.cc:604
msgid "Export Video: Video input file cannot be read."
msgstr ""
-#: export_video_dialog.cc:695
+#: export_video_dialog.cc:698
msgid "Encoding Video.. Pass 1/2"
msgstr ""
-#: export_video_dialog.cc:707
+#: export_video_dialog.cc:710
msgid "Encoding Video.. Pass 2/2"
msgstr ""
-#: export_video_dialog.cc:814
+#: export_video_dialog.cc:813
msgid "Transcoding failed."
msgstr ""
-#: export_video_dialog.cc:983 export_video_dialog.cc:1003
+#: export_video_dialog.cc:982 export_video_dialog.cc:1002
msgid "Save Exported Video File"
msgstr ""
-#: export_video_infobox.cc:30
+#: export_video_infobox.cc:33
msgid "Video Export Info"
msgstr ""
-#: export_video_infobox.cc:31
+#: export_video_infobox.cc:34
msgid "Do Not Show This Dialog Again (Reset in Edit > Preferences > Video)."
msgstr ""
-#: export_video_infobox.cc:43
+#: export_video_infobox.cc:46
msgid "<b>Video Export Info</b>"
msgstr ""
-#: export_video_infobox.cc:48
+#: export_video_infobox.cc:51
msgid ""
"Video encoding is a non-trivial task with many details.\n"
"\n"
@@ -12616,6 +12933,312 @@ msgid ""
"Open Manual in Browser? "
msgstr ""
+#~ msgid "badly formatted UI definition file: %1"
+#~ msgstr "archivo de definición de interfaz de usuario mal formateado: %1"
+
+#~ msgid "%1 will not work without a valid ardour.menus file"
+#~ msgstr "%1 no funcionará sin un archivo ardour.menus válido"
+
+# en realidad no existe este término en el español...
+#~ msgid "audition"
+#~ msgstr "escucha"
+
+#~ msgid "solo"
+#~ msgstr "solo"
+
+#~ msgid "feedback"
+#~ msgstr "feedback"
+
+#~ msgid "Please wait while %1 cleans up..."
+#~ msgstr "Por favor, espera mientras %1 organiza todo..."
+
+#~ msgid ""
+#~ "There are insufficient JACK ports available\n"
+#~ "to create a new track or bus.\n"
+#~ "You should save %1, exit and\n"
+#~ "restart JACK with more ports."
+#~ msgstr ""
+#~ "No hay suficientes puertos disponibles en JACK\n"
+#~ "para crear nuevas pistas o buses.\n"
+#~ "Deberás guardar %1, salir y\n"
+#~ "reiniciar JACK con más puertos."
+
+#~ msgid "Timecode Frames"
+#~ msgstr "Timecode muestras"
+
+#~ msgid "Timecode Seconds"
+#~ msgstr "Timecode segundos"
+
+#~ msgid "Timecode Minutes"
+#~ msgstr "Timecode minutos"
+
+#~ msgid ""
+#~ "programming error: fade in canvas item has no regionview data pointer!"
+#~ msgstr ""
+#~ "programming error: fade in canvas item has no regionview data pointer!"
+
+#~ msgid "Slowest"
+#~ msgstr "Lentísima"
+
+#~ msgid "Finish Add Range"
+#~ msgstr "Terminar añadir rango"
+
+#~ msgid "Toggle Edit Mode"
+#~ msgstr "Cambiar modo de edición"
+
+#~ msgid "No Selection = All Tracks?"
+#~ msgstr "Sin selección = ¿Todas las pistas?"
+
+#~ msgid ""
+#~ "Activate this button to operate on all tracks when none are selected."
+#~ msgstr ""
+#~ "Activa este botón para operar en todas las pistas cuando no hay ninguna "
+#~ "seleccionada."
+
+#~ msgid "insert dragged region"
+#~ msgstr "insertar región arrastrada"
+
+#~ msgid " objects"
+#~ msgstr "objetos"
+
+#~ msgid "Length of region fade-out (units: secondary clock), () if dsisabled"
+#~ msgstr "Length of region fade-out (units: secondary clock), () if dsisabled"
+
+#~ msgid "No edit range defined"
+#~ msgstr "Rango de edición no definido"
+
+#~ msgid ""
+#~ "the edit point is Selected Marker\n"
+#~ "but there is no selected marker."
+#~ msgstr ""
+#~ "El punto de edición es marca seleccionada\n"
+#~ "pero no hay ninguna marca seleccionada"
+
+#~ msgid "Time span and channel options"
+#~ msgstr "Opciones de intervalos y canales"
+
+#~ msgid "Lower limit of ruler"
+#~ msgstr "Límite inferior de la regla"
+
+#~ msgid "Upper"
+#~ msgstr "Superior"
+
+#~ msgid "Upper limit of ruler"
+#~ msgstr "Límite superior de la regla"
+
+#~ msgid "Position of mark on the ruler"
+#~ msgstr "Posición de la marca en la regla"
+
+#~ msgid "Max Size"
+#~ msgstr "Tamaño máx."
+
+#~ msgid "Maximum size of the ruler"
+#~ msgstr "Tamaño máximo de la regla"
+
+#~ msgid "Show Position"
+#~ msgstr "Mostrar posición"
+
+#~ msgid "Draw current ruler position"
+#~ msgstr "Dibujar posición actual de la regla"
+
+#~ msgid "cannot open pango.rc file %1"
+#~ msgstr "no se pudo abrir el archivo pango.rc %1"
+
+#~ msgid "Missing File!"
+#~ msgstr "¡Archivo ausente!"
+
+# it's just a meaningless string
+#~ msgid "tupni"
+#~ msgstr "tupni"
+
+#~ msgid "lock"
+#~ msgstr "bloquear"
+
+#~ msgid "iso"
+#~ msgstr "iso"
+
+#~ msgid "Meter Point"
+#~ msgstr "Punto de medición"
+
+#~ msgid ""
+#~ "Aux\n"
+#~ "Sends"
+#~ msgstr ""
+#~ "Aux\n"
+#~ "Envíos"
+
+#~ msgid "in"
+#~ msgstr "in"
+
+#~ msgid "post"
+#~ msgstr "post"
+
+#~ msgid "out"
+#~ msgstr "out"
+
+#~ msgid "custom"
+#~ msgstr "custom"
+
+#~ msgid "pr"
+#~ msgstr "pr"
+
+#~ msgid "po"
+#~ msgstr "po"
+
+#~ msgid "o"
+#~ msgstr "o"
+
+#~ msgid "i"
+#~ msgstr "i"
+
+#~ msgid "Pre-fader"
+#~ msgstr "Pre-fader"
+
+#~ msgid "Post-fader"
+#~ msgstr "Post-fader"
+
+#~ msgid "soloing"
+#~ msgstr "en solo"
+
+#~ msgid "isolated"
+#~ msgstr "aislado"
+
+# en realidad no existe este término en el español...
+#~ msgid "auditioning"
+#~ msgstr "escucha"
+
+#~ msgid "excl. solo"
+#~ msgstr "Solo excl."
+
+#~ msgid "solo » mute"
+#~ msgstr "solo » mudo"
+
+#~ msgid "mute"
+#~ msgstr "mudo"
+
+#~ msgid "dim"
+#~ msgstr "atenuar"
+
+#~ msgid "mono"
+#~ msgstr "mono"
+
+#~ msgid "Link selection of regions and tracks"
+#~ msgstr "Vincular selección de regiones y pistas"
+
+#~ msgid ""
+#~ "A route group of this name already exists. Please use a different name."
+#~ msgstr ""
+#~ "Ya existe un grupo de ruteado con este nombre. Por favor, elige otro "
+#~ "nombre."
+
+#~ msgid "g"
+#~ msgstr "g"
+
+#~ msgid "p"
+#~ msgstr "p"
+
+#~ msgid "a"
+#~ msgstr "a"
+
+#~ msgid "s"
+#~ msgstr "s"
+
+#~ msgid "m"
+#~ msgstr "m"
+
+#~ msgid "Not connected to JACK - cannot engage record"
+#~ msgstr "No está conectado a JACK - no se puede activar la grabación"
+
+#~ msgid "Default crossfade type"
+#~ msgstr "Tipo de fundido cruzado por defecto"
+
+#~ msgid "VerboseCanvasCursor"
+#~ msgstr "VerboseCanvasCursor"
+
+#~ msgid "ardour"
+#~ msgstr "ardour"
+
+#~ msgid "x1"
+#~ msgstr "x1"
+
+#~ msgid "x coordinate of upper left corner of rect"
+#~ msgstr "coordenada x de la esquina superior izquierda del rectángulo"
+
+#~ msgid "y1"
+#~ msgstr "y1"
+
+#~ msgid "y coordinate of upper left corner of rect "
+#~ msgstr "coordenada y de la esquina superior izquierda del rectángulo"
+
+#~ msgid "x2"
+#~ msgstr "x2"
+
+#~ msgid "x coordinate of lower right corner of rect"
+#~ msgstr "coordenada x de la esquina inferior derecha del rectángulo"
+
+#~ msgid "y2"
+#~ msgstr "y2"
+
+#~ msgid "y coordinate of lower right corner of rect "
+#~ msgstr "coordenada y de la esquina inferior derecha del rectángulo"
+
+#~ msgid "color rgba"
+#~ msgstr "color rgba"
+
+#~ msgid "color of line"
+#~ msgstr "color de línea"
+
+#~ msgid "outline pixels"
+#~ msgstr "píxeles de contorno"
+
+#~ msgid "width in pixels of outline"
+#~ msgstr "ancho en píxeles del contorno"
+
+#~ msgid "outline what"
+#~ msgstr "qué contornear"
+
+#~ msgid "which boundaries to outline (mask)"
+#~ msgstr "qué bordes contornear (máscara)"
+
+#~ msgid "fill"
+#~ msgstr "rellenar"
+
+#~ msgid "fill rectangle"
+#~ msgstr "rellenar rectágulo"
+
+#~ msgid "draw"
+#~ msgstr "dibujar"
+
+#~ msgid "draw rectangle"
+#~ msgstr "dibujar rectángulo"
+
+#~ msgid "outline color rgba"
+#~ msgstr "color de contorno rgba"
+
+#~ msgid "color of outline"
+#~ msgstr "color del contorno"
+
+#~ msgid "fill color rgba"
+#~ msgstr "color de relleno rgba"
+
+#~ msgid "color of fill"
+#~ msgstr "color de relleno"
+
+#~ msgid "malformed URL passed to drag-n-drop code"
+#~ msgstr "malformed URL passed to drag-n-drop code"
+
+#~ msgid "Editor::event_frame() used on unhandled event type %1"
+#~ msgstr "Editor::event_frame() used on unhandled event type %1"
+
+#~ msgid "delete sysex"
+#~ msgstr "eliminar sysex"
+
+#~ msgid "Auditioning of MIDI files is not yet supported"
+#~ msgstr "La escucha de archovos MID aún no está soportada"
+
+#~ msgid "Draw waveforms with color gradient"
+#~ msgstr "Mostrar formas de onda con gradiente de color"
+
#~ msgid "Starting audio engine"
#~ msgstr "Arrancando motor de audio"
@@ -12794,9 +13417,6 @@ msgstr ""
#~ msgid "Output device:"
#~ msgstr "Dispositivo de salida:"
-#~ msgid "Device"
-#~ msgstr "Dispositivo"
-
#~ msgid "Advanced"
#~ msgstr "Avanzado"
diff --git a/gtk2_ardour/po/fr.po b/gtk2_ardour/po/fr.po
index b95f40e695..d691bbb815 100644
--- a/gtk2_ardour/po/fr.po
+++ b/gtk2_ardour/po/fr.po
@@ -6,11 +6,12 @@
# Alain Fréhel <alain.frehel@free.fr>, 2005.
# Christophe Combelles <ccomb@free.fr>, 2005, 2006, 2007, 2008, 2011.
# Romain Arnaud <roming22@gmail.com>, 2011, 2013.
+#: engine_dialog.cc:558
msgid ""
msgstr ""
"Project-Id-Version: Ardour 2.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-11-05 11:11-0500\n"
+"POT-Creation-Date: 2014-09-04 19:07-0400\n"
"PO-Revision-Date: 2013-05-20 01:04+0200\n"
"Last-Translator: \n"
"Language-Team: American English <kde-i18n-doc@kde.org>\n"
@@ -21,231 +22,235 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Lokalize 1.5\n"
-#: about.cc:122
+#: about.cc:120
msgid "Brian Ahr"
msgstr "Brian Ahr"
-#: about.cc:123
+#: about.cc:121
msgid "John Anderson"
msgstr "John Anderson"
-#: about.cc:124
+#: about.cc:122
msgid "Marcus Andersson"
msgstr "Marcus Andersson"
-#: about.cc:125
+#: about.cc:123
msgid "Nedko Arnaudov"
msgstr "Nedko Arnaudov"
-#: about.cc:126
+#: about.cc:124
msgid "Hans Baier"
msgstr "Hans Baier"
-#: about.cc:127
+#: about.cc:125
msgid "Ben Bell"
msgstr "Ben Bell"
-#: about.cc:128
+#: about.cc:126
msgid "Sakari Bergen"
msgstr "Sakari Bergen"
-#: about.cc:129
+#: about.cc:127
+msgid "Christian Borss"
+msgstr ""
+
+#: about.cc:128
msgid "Chris Cannam"
msgstr "Chris Cannam"
-#: about.cc:130
+#: about.cc:129
msgid "Jesse Chappell"
msgstr "Jesse Chappell"
-#: about.cc:131
+#: about.cc:130
msgid "Thomas Charbonnel"
msgstr "Thomas Charbonnel"
-#: about.cc:132
+#: about.cc:131
msgid "Sam Chessman"
msgstr "Sam Chessman"
-#: about.cc:133
+#: about.cc:132
msgid "André Colomb"
msgstr "André Colomb"
-#: about.cc:134
+#: about.cc:133
msgid "Paul Davis"
msgstr "Paul Davis"
-#: about.cc:135
+#: about.cc:134
msgid "Gerard van Dongen"
msgstr "Gerard van Dongen"
-#: about.cc:136
+#: about.cc:135
msgid "Colin Fletcher"
msgstr "Colin Fletcher"
-#: about.cc:137
+#: about.cc:136
msgid "Dave Flick"
msgstr "Dave Flick"
-#: about.cc:138
+#: about.cc:137
msgid "Hans Fugal"
msgstr "Hans Fugal"
-#: about.cc:139
+#: about.cc:138
msgid "Robin Gareus"
msgstr "Robin Gareus"
-#: about.cc:140
+#: about.cc:139
msgid "Christopher George"
msgstr "Christopher George"
-#: about.cc:141
+#: about.cc:140
msgid "Chris Goddard"
msgstr "Chris Goddard"
-#: about.cc:142
+#: about.cc:141
msgid "J. Abelardo Gutierrez"
msgstr "J. Abelardo Gutierrez"
-#: about.cc:143
+#: about.cc:142
msgid "Jeremy Hall"
msgstr "Jeremy Hall"
-#: about.cc:144
+#: about.cc:143
msgid "Audun Halland"
msgstr "Audun Halland"
-#: about.cc:145
+#: about.cc:144
msgid "David Halter"
msgstr "David Halter"
-#: about.cc:146
+#: about.cc:145
msgid "Steve Harris"
msgstr "Steve Harris"
-#: about.cc:147
+#: about.cc:146
msgid "Melvin Ray Herr"
msgstr "Melvin Ray Herr"
-#: about.cc:148
+#: about.cc:147
msgid "Carl Hetherington"
msgstr "Carl Hetherington"
-#: about.cc:149
+#: about.cc:148
msgid "Rob Holland"
msgstr "Rob Holland"
-#: about.cc:150
+#: about.cc:149
msgid "Robert Jordens"
msgstr "Robert Jordens"
-#: about.cc:151
+#: about.cc:150
msgid "Stefan Kersten"
msgstr "Stefan Kersten"
-#: about.cc:152
+#: about.cc:151
msgid "Armand Klenk"
msgstr "Armand Klenk"
-#: about.cc:153
+#: about.cc:152
msgid "Julien de Kozak"
msgstr ""
-#: about.cc:154
+#: about.cc:153
msgid "Matt Krai"
msgstr "Matt Krai"
-#: about.cc:155
+#: about.cc:154
msgid "Nick Lanham"
msgstr "Nick Lanham"
-#: about.cc:156
+#: about.cc:155
msgid "Colin Law"
msgstr "Colin Law"
-#: about.cc:157
+#: about.cc:156
msgid "Joshua Leach"
msgstr "Joshua Leach"
-#: about.cc:158
+#: about.cc:157
msgid "Ben Loftis"
msgstr "Ben Loftis"
-#: about.cc:159
+#: about.cc:158
msgid "Nick Mainsbridge"
msgstr "Nick Mainsbridge"
-#: about.cc:160
+#: about.cc:159
msgid "Tim Mayberry"
msgstr "Tim Mayberry"
-#: about.cc:161
+#: about.cc:160
msgid "Doug Mclain"
msgstr "Doug Mclain"
-#: about.cc:162
+#: about.cc:161
msgid "Jack O'Quin"
msgstr "Jack O'Quin"
-#: about.cc:163
+#: about.cc:162
msgid "Nimal Ratnayake"
msgstr "Nimal Ratnayake"
-#: about.cc:164
+#: about.cc:163
msgid "David Robillard"
msgstr "David Robillard"
-#: about.cc:165
+#: about.cc:164
msgid "Taybin Rutkin"
msgstr "Taybin Rutkin"
-#: about.cc:166
+#: about.cc:165
msgid "Andreas Ruge"
msgstr "Andreas Ruge"
-#: about.cc:167
+#: about.cc:166
msgid "Sampo Savolainen"
msgstr "Sampo Savolainen"
-#: about.cc:168
+#: about.cc:167
msgid "Rodrigo Severo"
msgstr "Rodrigo Severo"
-#: about.cc:169
+#: about.cc:168
msgid "Per Sigmond"
msgstr "Per Sigmond"
-#: about.cc:170
+#: about.cc:169
msgid "Lincoln Spiteri"
msgstr "Lincoln Spiteri"
-#: about.cc:171
+#: about.cc:170
msgid "Mike Start"
msgstr "Mike Start"
-#: about.cc:172
+#: about.cc:171
msgid "Mark Stewart"
msgstr "Mark Stewart"
-#: about.cc:173
+#: about.cc:172
msgid "Roland Stigge"
msgstr "Roland Stigge"
-#: about.cc:174
+#: about.cc:173
msgid "Petter Sundlöf"
msgstr "Petter Sundlöf"
-#: about.cc:175
+#: about.cc:174
msgid "Mike Täht"
msgstr "Mike Täht"
-#: about.cc:176
+#: about.cc:175
msgid "Roy Vegard"
msgstr "Roy Vegard"
-#: about.cc:177
+#: about.cc:176
msgid "Thorsten Wilms"
msgstr "Thorsten Wilms"
-#: about.cc:182
+#: about.cc:181
msgid ""
"French:\n"
"\tAlain Fréhel <alain.frehel@free.fr>\n"
@@ -259,7 +264,7 @@ msgstr ""
"\tMartin Blanchard\n"
"\tRomain Arnaud <roming22@gmail.com>\n"
-#: about.cc:183
+#: about.cc:182
msgid ""
"German:\n"
"\tKarsten Petersen <kapet@kapet.de>\n"
@@ -271,7 +276,7 @@ msgid ""
"\tRobin Gloster <robin@loc-com.de>\n"
msgstr ""
-#: about.cc:190
+#: about.cc:189
msgid ""
"Italian:\n"
"\tFilippo Pappalardo <filippo@email.it>\n"
@@ -281,7 +286,7 @@ msgstr ""
"\tFilippo Pappalardo <filippo@email.it>\n"
"\tRaffaele Morelli <raffaele.morelli@gmail.com>\n"
-#: about.cc:191
+#: about.cc:190
msgid ""
"Portuguese:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
@@ -289,7 +294,7 @@ msgstr ""
"Portugais:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
-#: about.cc:192
+#: about.cc:191
msgid ""
"Brazilian Portuguese:\n"
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
@@ -299,7 +304,7 @@ msgstr ""
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
"\tChris Ross <chris@tebibyte.org>\n"
-#: about.cc:194
+#: about.cc:193
msgid ""
"Spanish:\n"
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
@@ -309,7 +314,7 @@ msgstr ""
"\tAlex Krohn <alexkrohn@fastmail.fm>\n"
"\tPablo Fernández <pablo.fbus@gmail.com>\n"
-#: about.cc:195
+#: about.cc:194
msgid ""
"Russian:\n"
"\t Igor Blinov <pitstop@nm.ru>\n"
@@ -319,7 +324,7 @@ msgstr ""
"\tIgor Blinov <pitstop@nm.ru>\n"
"\tAlexandre Prokoudine <alexandre.prokoudine@gmail.com>\n"
-#: about.cc:197
+#: about.cc:196
msgid ""
"Greek:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
@@ -327,7 +332,7 @@ msgstr ""
"Grec:\n"
"\tKlearchos Gourgourinis <muadib@in.gr>\n"
-#: about.cc:198
+#: about.cc:197
msgid ""
"Swedish:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
@@ -335,7 +340,7 @@ msgstr ""
"Suédois:\n"
"\tPetter Sundlöf <petter.sundlof@gmail.com>\n"
-#: about.cc:199
+#: about.cc:198
msgid ""
"Polish:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
@@ -343,7 +348,7 @@ msgstr ""
"Polonais:\n"
"\tPiotr Zaryk <pzaryk@gmail.com>\n"
-#: about.cc:200
+#: about.cc:199
msgid ""
"Czech:\n"
"\t Pavel Fric <pavelfric@seznam.cz>\n"
@@ -351,7 +356,7 @@ msgstr ""
"Tchèque:\n"
"\tPavel Fric <pavelfric@seznam.cz>\n"
-#: about.cc:201
+#: about.cc:200
msgid ""
"Norwegian:\n"
"\t Eivind Ødegård\n"
@@ -359,7 +364,7 @@ msgstr ""
"Norvégien:\n"
"\tEivind Ødegård\n"
-#: about.cc:202
+#: about.cc:201
msgid ""
"Chinese:\n"
"\t Rui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
@@ -367,15 +372,15 @@ msgstr ""
"Chinois:\n"
"\tRui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
-#: about.cc:580
+#: about.cc:581
msgid "Copyright (C) 1999-2013 Paul Davis\n"
msgstr "Copyright © 1999-2013 Paul Davis\n"
-#: about.cc:584
+#: about.cc:585
msgid "http://ardour.org/"
msgstr "http://ardour.org"
-#: about.cc:585
+#: about.cc:586
msgid ""
"%1\n"
"(built from revision %2)"
@@ -383,105 +388,106 @@ msgstr ""
"%1\n"
"(révision %2)"
-#: about.cc:589
+#: about.cc:590
msgid "Config"
msgstr "Configuration"
-#: actions.cc:85
+#: actions.cc:84
msgid "Loading menus from %1"
msgstr "Chargement des menus depuis %1"
-#: actions.cc:88 actions.cc:89
-msgid "badly formatted UI definition file: %1"
-msgstr "fichier de définition d'IHM mal formatté: %1"
+#: actions.cc:87 actions.cc:88
+msgid "badly formatted menu definition file: %1"
+msgstr ""
-#: actions.cc:91
+#: actions.cc:90
msgid "%1 menu definition file not found"
msgstr "fichier de définition de menu introuvable: %1"
-#: actions.cc:95 actions.cc:96
-msgid "%1 will not work without a valid ardour.menus file"
-msgstr "%1 ne fonctionnera pas sans un fichier ardour.menus valide"
+#: actions.cc:94 actions.cc:95
+msgid "%1 will not work without a valid menu definition file"
+msgstr ""
-#: add_route_dialog.cc:53 route_params_ui.cc:500
+#: add_route_dialog.cc:54 route_params_ui.cc:523
msgid "Add Track or Bus"
msgstr "Ajouter une piste ou un bus"
-#: add_route_dialog.cc:56
+#: add_route_dialog.cc:57
msgid "Configuration:"
msgstr "Configuration:"
-#: add_route_dialog.cc:57
+#: add_route_dialog.cc:58
msgid "Track mode:"
msgstr "Mode piste:"
-#: add_route_dialog.cc:58
+#: add_route_dialog.cc:59
msgid "Instrument:"
msgstr "Instrument:"
-#: add_route_dialog.cc:76
+#: add_route_dialog.cc:78
msgid "Audio Tracks"
msgstr "Pistes audio"
-#: add_route_dialog.cc:77
+#: add_route_dialog.cc:79
msgid "MIDI Tracks"
msgstr "Pistes MIDI"
-#: add_route_dialog.cc:78
+#: add_route_dialog.cc:80
msgid "Audio+MIDI Tracks"
msgstr "Pistes Audio+MIDI"
-#: add_route_dialog.cc:79
+#: add_route_dialog.cc:81
msgid "Busses"
msgstr "Bus"
-#: add_route_dialog.cc:101
+#: add_route_dialog.cc:103
msgid "Add:"
msgstr "Ajouter:"
-#: add_route_dialog.cc:114 time_fx_dialog.cc:91 add_video_dialog.cc:150
-#: video_server_dialog.cc:112
+#: add_route_dialog.cc:116 time_fx_dialog.cc:91 add_video_dialog.cc:135
+#: video_server_dialog.cc:151
msgid "<b>Options</b>"
msgstr "<b>Options</b>"
-#: add_route_dialog.cc:124 bundle_manager.cc:192 region_editor.cc:50
-#: route_group_dialog.cc:65
+#: add_route_dialog.cc:126 bundle_manager.cc:193 region_editor.cc:49
+#: route_group_dialog.cc:71
msgid "Name:"
msgstr "Nom:"
-#: add_route_dialog.cc:154
+#: add_route_dialog.cc:156
msgid "Group:"
msgstr "Groupe:"
-#: add_route_dialog.cc:215 add_route_dialog.cc:224 add_route_dialog.cc:298
-#: ardour_ui_ed.cc:476 engine_dialog.cc:236 rc_option_editor.cc:1446
-#: rc_option_editor.cc:1448 rc_option_editor.cc:1450 rc_option_editor.cc:1466
-#: rc_option_editor.cc:1468 rc_option_editor.cc:1476 rc_option_editor.cc:1478
-#: rc_option_editor.cc:1496 rc_option_editor.cc:1509 rc_option_editor.cc:1511
-#: rc_option_editor.cc:1513 rc_option_editor.cc:1544 rc_option_editor.cc:1546
-#: rc_option_editor.cc:1548 rc_option_editor.cc:1556 rc_option_editor.cc:1564
-#: rc_option_editor.cc:1572
+#: add_route_dialog.cc:217 add_route_dialog.cc:226 add_route_dialog.cc:300
+#: ardour_ui_ed.cc:523 engine_dialog.cc:235 rc_option_editor.cc:1710
+#: rc_option_editor.cc:1712 rc_option_editor.cc:1714 rc_option_editor.cc:1732
+#: rc_option_editor.cc:1734 rc_option_editor.cc:1742 rc_option_editor.cc:1744
+#: rc_option_editor.cc:1762 rc_option_editor.cc:1775 rc_option_editor.cc:1777
+#: rc_option_editor.cc:1779 rc_option_editor.cc:1810 rc_option_editor.cc:1812
+#: rc_option_editor.cc:1814 rc_option_editor.cc:1822 rc_option_editor.cc:1830
+#: rc_option_editor.cc:1832 rc_option_editor.cc:1840
msgid "Audio"
msgstr "Audio"
-#: add_route_dialog.cc:216 add_route_dialog.cc:227 add_route_dialog.cc:299
-#: editor_actions.cc:105 missing_file_dialog.cc:55 rc_option_editor.cc:1695
-#: rc_option_editor.cc:1703 rc_option_editor.cc:1711 rc_option_editor.cc:1720
-#: rc_option_editor.cc:1728 rc_option_editor.cc:1736 rc_option_editor.cc:1744
-#: rc_option_editor.cc:1753 rc_option_editor.cc:1762 rc_option_editor.cc:1771
-#: rc_option_editor.cc:1779 rc_option_editor.cc:1787
+#: add_route_dialog.cc:218 add_route_dialog.cc:229 add_route_dialog.cc:301
+#: editor_actions.cc:109 engine_dialog.cc:237 missing_file_dialog.cc:56
+#: rc_option_editor.cc:1975 rc_option_editor.cc:1983 rc_option_editor.cc:1991
+#: rc_option_editor.cc:2000 rc_option_editor.cc:2008 rc_option_editor.cc:2016
+#: rc_option_editor.cc:2024 rc_option_editor.cc:2033 rc_option_editor.cc:2042
+#: rc_option_editor.cc:2051 rc_option_editor.cc:2059 rc_option_editor.cc:2067
+#: rc_option_editor.cc:2075 rc_option_editor.cc:2098
msgid "MIDI"
msgstr "MIDI"
-#: add_route_dialog.cc:217 add_route_dialog.cc:230 add_route_dialog.cc:300
+#: add_route_dialog.cc:219 add_route_dialog.cc:232 add_route_dialog.cc:302
msgid "Audio+MIDI"
msgstr "Audio+MIDI"
-#: add_route_dialog.cc:218 add_route_dialog.cc:233 add_route_dialog.cc:301
+#: add_route_dialog.cc:220 add_route_dialog.cc:235 add_route_dialog.cc:303
msgid "Bus"
msgstr "Bus"
-#: add_route_dialog.cc:260
+#: add_route_dialog.cc:262
msgid ""
"Audio+MIDI tracks are intended for use <b>ONLY</b> with plugins that use "
"both audio and MIDI input data\n"
@@ -493,64 +499,64 @@ msgstr ""
"plugins qui utilisent à la fois les entrées audio et MIDI.\n"
"Si le plugin n'utilise qu'un type d'entrée, utilisez une piste audio ou MIDI."
-#: add_route_dialog.cc:319 add_route_dialog.cc:338 editor_actions.cc:385
-#: editor_rulers.cc:377 time_axis_view.cc:1305
+#: add_route_dialog.cc:321 add_route_dialog.cc:340 editor_actions.cc:420
+#: editor_rulers.cc:251 time_axis_view.cc:1339
msgid "Normal"
msgstr "Normal"
-#: add_route_dialog.cc:322 add_route_dialog.cc:340
+#: add_route_dialog.cc:324 add_route_dialog.cc:342
msgid "Non Layered"
msgstr "Non Superposé"
-#: add_route_dialog.cc:323 add_route_dialog.cc:342
+#: add_route_dialog.cc:325 add_route_dialog.cc:344
msgid "Tape"
msgstr "Bande"
-#: add_route_dialog.cc:423
+#: add_route_dialog.cc:425 monitor_section.cc:291
msgid "Mono"
msgstr "Mono"
-#: add_route_dialog.cc:427
+#: add_route_dialog.cc:429
msgid "Stereo"
msgstr "Stéréo"
-#: add_route_dialog.cc:451
+#: add_route_dialog.cc:453
msgid "3 Channel"
msgstr "3 canaux"
-#: add_route_dialog.cc:455
+#: add_route_dialog.cc:457
msgid "4 Channel"
msgstr "4 canaux"
-#: add_route_dialog.cc:459
+#: add_route_dialog.cc:461
msgid "5 Channel"
msgstr "3 canaux"
-#: add_route_dialog.cc:463
+#: add_route_dialog.cc:465
msgid "6 Channel"
msgstr "6 canaux"
-#: add_route_dialog.cc:467
+#: add_route_dialog.cc:469
msgid "8 Channel"
msgstr "8 canaux"
-#: add_route_dialog.cc:471
+#: add_route_dialog.cc:473
msgid "12 Channel"
msgstr "12 canaux"
-#: add_route_dialog.cc:475 mixer_strip.cc:2131
+#: add_route_dialog.cc:477 mixer_strip.cc:1791 mixer_strip.cc:2199
msgid "Custom"
msgstr "Personalisée"
-#: add_route_dialog.cc:508 add_route_dialog.cc:524 route_group_menu.cc:81
+#: add_route_dialog.cc:510 add_route_dialog.cc:526 route_group_menu.cc:81
msgid "New Group..."
msgstr "Nouveau groupe..."
-#: add_route_dialog.cc:512 route_group_menu.cc:85
+#: add_route_dialog.cc:514 route_group_menu.cc:85
msgid "No Group"
msgstr "Aucun groupe"
-#: add_route_dialog.cc:588
+#: add_route_dialog.cc:590
msgid "-none-"
msgstr "aucun"
@@ -576,7 +582,7 @@ msgstr ""
"\n"
"Sélectionnez le chemin du fichier à ouvrir."
-#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:45
+#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:46
msgid "Done"
msgstr "Fini"
@@ -616,17 +622,17 @@ msgstr "Normaliser"
msgid "FFT analysis window"
msgstr ""
-#: analysis_window.cc:60 editor.cc:1857
+#: analysis_window.cc:60 editor.cc:1776
msgid "Spectral Analysis"
msgstr "Analyse du spectre"
-#: analysis_window.cc:67 editor_actions.cc:138 export_channel_selector.cc:557
+#: analysis_window.cc:67 editor_actions.cc:142 export_channel_selector.cc:557
#: session_metadata_dialog.cc:546
msgid "Track"
msgstr "Piste"
-#: analysis_window.cc:68 editor_actions.cc:616 mixer_ui.cc:125
-#: mixer_ui.cc:1795
+#: analysis_window.cc:68 editor_actions.cc:658 mixer_ui.cc:130
+#: mixer_ui.cc:1830
msgid "Show"
msgstr "Afficher"
@@ -634,90 +640,96 @@ msgstr "Afficher"
msgid "Re-analyze data"
msgstr ""
-#: ardour_button.cc:704
+#: ardour_button.cc:810
msgid "button cannot watch state of non-existing Controllable\n"
msgstr "Le bouton ne peut pas surveiller un élement Controllable inexistant\n"
-#: ardour_ui.cc:180
-msgid "audition"
-msgstr "écoute"
+#: ardour_button.cc:1024
+msgid "ABCDEFGHIJLKMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
+msgstr ""
-#: ardour_ui.cc:181
-msgid "solo"
-msgstr "solo"
+#: ardour_ui.cc:194 editor_actions.cc:652 region_editor.cc:50
+msgid "Audition"
+msgstr "Ecoute"
+
+#: ardour_ui.cc:195 editor_actions.cc:136 mixer_strip.cc:1971
+#: rc_option_editor.cc:1850 route_time_axis.cc:252 route_time_axis.cc:2566
+msgid "Solo"
+msgstr "Solo"
-#: ardour_ui.cc:182
-msgid "feedback"
-msgstr "larsen"
+#: ardour_ui.cc:196 rc_option_editor.cc:718
+msgid "Feedback"
+msgstr "Feedback"
-#: ardour_ui.cc:187 speaker_dialog.cc:36
+#: ardour_ui.cc:201 speaker_dialog.cc:36
msgid "Speaker Configuration"
msgstr "Positionnement des haut-parleurs"
-#: ardour_ui.cc:188 theme_manager.cc:56 theme_manager.cc:64
+#: ardour_ui.cc:202 theme_manager.cc:62 theme_manager.cc:77
msgid "Theme Manager"
msgstr "Apparence..."
-#: ardour_ui.cc:189 keyeditor.cc:53
+#: ardour_ui.cc:203 keyeditor.cc:53
msgid "Key Bindings"
msgstr "Raccourcis clavier"
-#: ardour_ui.cc:190
+#: ardour_ui.cc:204
msgid "Preferences"
msgstr "Préférences"
-#: ardour_ui.cc:191 ardour_ui.cc:197
+#: ardour_ui.cc:205 ardour_ui.cc:211
msgid "Add Tracks/Busses"
msgstr ""
-#: ardour_ui.cc:192
+#: ardour_ui.cc:206
msgid "About"
msgstr "À propos..."
-#: ardour_ui.cc:193 location_ui.cc:1146
+#: ardour_ui.cc:207 location_ui.cc:1148 session_option_editor.cc:189
+#: session_option_editor.cc:195 session_option_editor.cc:202
msgid "Locations"
msgstr "Repères et intervalles..."
-#: ardour_ui.cc:194 route_params_ui.cc:58 route_params_ui.cc:606
+#: ardour_ui.cc:208 route_params_ui.cc:58 route_params_ui.cc:629
msgid "Tracks and Busses"
msgstr "Pistes/Bus"
-#: ardour_ui.cc:195 engine_dialog.cc:67
+#: ardour_ui.cc:209 engine_dialog.cc:69
msgid "Audio/MIDI Setup"
msgstr ""
-#: ardour_ui.cc:196
+#: ardour_ui.cc:210
msgid "Properties"
msgstr "Propriétés"
-#: ardour_ui.cc:198 bundle_manager.cc:263
+#: ardour_ui.cc:212 bundle_manager.cc:264
msgid "Bundle Manager"
msgstr "Gestionnaire de paquets"
-#: ardour_ui.cc:199 big_clock_window.cc:35
+#: ardour_ui.cc:213 big_clock_window.cc:37
msgid "Big Clock"
msgstr "Grande horloge"
-#: ardour_ui.cc:200
+#: ardour_ui.cc:214
msgid "Audio Connections"
msgstr ""
-#: ardour_ui.cc:201
+#: ardour_ui.cc:215
msgid "MIDI Connections"
msgstr ""
-#: ardour_ui.cc:203
+#: ardour_ui.cc:217
msgid "Errors"
msgstr "Erreurs"
-#: ardour_ui.cc:436
+#: ardour_ui.cc:461
msgid ""
"The audio backend was shutdown because:\n"
"\n"
"%1"
msgstr ""
-#: ardour_ui.cc:438
+#: ardour_ui.cc:463
msgid ""
"The audio backend has either been shutdown or it\n"
"disconnected %1 because %1\n"
@@ -725,27 +737,27 @@ msgid ""
"the audio backend and save the session."
msgstr ""
-#: ardour_ui.cc:758
+#: ardour_ui.cc:781
msgid "NSM server did not announce itself"
msgstr ""
-#: ardour_ui.cc:771
+#: ardour_ui.cc:794
msgid "NSM: no client ID provided"
msgstr ""
-#: ardour_ui.cc:778
+#: ardour_ui.cc:801
msgid "NSM: no session created"
msgstr ""
-#: ardour_ui.cc:801
+#: ardour_ui.cc:824
msgid "NSM: initialization failed"
msgstr ""
-#: ardour_ui.cc:840 startup.cc:379
+#: ardour_ui.cc:864 startup.cc:380
msgid "%1 is ready for use"
msgstr "%1 est prêt à être utilisé."
-#: ardour_ui.cc:882
+#: ardour_ui.cc:906
msgid ""
"WARNING: Your system has a limit for maximum amount of locked memory. This "
"might cause %1 to run out of memory before your system runs out of memory. \n"
@@ -754,23 +766,23 @@ msgid ""
"controlled by %2"
msgstr ""
-#: ardour_ui.cc:899
+#: ardour_ui.cc:923
msgid "Do not show this window again"
msgstr "Ne plus afficher cette fenêtre"
-#: ardour_ui.cc:943
+#: ardour_ui.cc:967
msgid "Don't quit"
msgstr "Ne pas quitter"
-#: ardour_ui.cc:944
+#: ardour_ui.cc:968
msgid "Just quit"
msgstr "Quitter sans enregistrer"
-#: ardour_ui.cc:945
+#: ardour_ui.cc:969
msgid "Save and quit"
msgstr "Enregistrer et quitter"
-#: ardour_ui.cc:955
+#: ardour_ui.cc:979
msgid ""
"%1 was unable to save your session.\n"
"\n"
@@ -784,15 +796,11 @@ msgstr ""
"\n"
"cliquez sur le bouton « Quitter sans enregistrer »."
-#: ardour_ui.cc:986
-msgid "Please wait while %1 cleans up..."
-msgstr "Veuillez patienter pendant que %1 nettoie ses données..."
-
-#: ardour_ui.cc:1004
+#: ardour_ui.cc:1030
msgid "Unsaved Session"
msgstr "Session non sauvegardée"
-#: ardour_ui.cc:1025
+#: ardour_ui.cc:1051
msgid ""
"The session \"%1\"\n"
"has not been saved.\n"
@@ -810,7 +818,7 @@ msgstr ""
"\n"
"Que voulez-vous faire ?"
-#: ardour_ui.cc:1028
+#: ardour_ui.cc:1054
msgid ""
"The snapshot \"%1\"\n"
"has not been saved.\n"
@@ -827,75 +835,75 @@ msgstr ""
"\n"
"Que voulez-vous faire ?"
-#: ardour_ui.cc:1042
+#: ardour_ui.cc:1068
msgid "Prompter"
msgstr "Question"
-#: ardour_ui.cc:1128 ardour_ui.cc:1136
+#: ardour_ui.cc:1182 ardour_ui.cc:1190
#, c-format
msgid "Audio: <span foreground=\"red\">none</span>"
msgstr ""
-#: ardour_ui.cc:1140
+#: ardour_ui.cc:1194
#, c-format
msgid "Audio: <span foreground=\"green\">%.1f kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1144
+#: ardour_ui.cc:1198
#, c-format
msgid "Audio: <span foreground=\"green\">%<PRId64> kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1162 export_video_dialog.cc:67
+#: ardour_ui.cc:1216 export_video_dialog.cc:68
msgid "File:"
msgstr "Fichiers:"
-#: ardour_ui.cc:1166
+#: ardour_ui.cc:1220
msgid "BWF"
msgstr "BWF"
-#: ardour_ui.cc:1169
+#: ardour_ui.cc:1223
msgid "WAV"
msgstr "WAV"
-#: ardour_ui.cc:1172
+#: ardour_ui.cc:1226
msgid "WAV64"
msgstr "WAV64"
-#: ardour_ui.cc:1175 session_option_editor.cc:197
+#: ardour_ui.cc:1229 session_option_editor.cc:185
msgid "CAF"
msgstr "CAF"
-#: ardour_ui.cc:1178
+#: ardour_ui.cc:1232
msgid "AIFF"
msgstr "AIFF"
-#: ardour_ui.cc:1181
+#: ardour_ui.cc:1235
msgid "iXML"
msgstr "iXML"
-#: ardour_ui.cc:1184
+#: ardour_ui.cc:1238
msgid "RF64"
msgstr "RF64"
-#: ardour_ui.cc:1192
+#: ardour_ui.cc:1246
msgid "32-float"
msgstr "32-float"
-#: ardour_ui.cc:1195
+#: ardour_ui.cc:1249
msgid "24-int"
msgstr "24-int"
-#: ardour_ui.cc:1198
+#: ardour_ui.cc:1252
msgid "16-int"
msgstr "16-int"
-#: ardour_ui.cc:1217
+#: ardour_ui.cc:1271
#, c-format
msgid "DSP: <span foreground=\"%s\">%5.1f%%</span>"
msgstr "DSP: <span foreground=\"%s\">%5.1f%%</span>"
-#: ardour_ui.cc:1236
+#: ardour_ui.cc:1290
#, c-format
msgid ""
"Buffers: <span foreground=\"green\">p:</span><span foreground=\"%s\">"
@@ -906,88 +914,84 @@ msgstr ""
"%<PRIu32>%%</span> <span foreground=\"green\">c:</span><span foreground=\"%s"
"\">%<PRIu32>%%</span>"
-#: ardour_ui.cc:1277
+#: ardour_ui.cc:1331
msgid "Disk: <span foreground=\"green\">Unknown</span>"
msgstr "Disque: <span foreground=\"green\">Unknown</span>"
-#: ardour_ui.cc:1279
+#: ardour_ui.cc:1333
msgid "Disk: <span foreground=\"green\">24hrs+</span>"
msgstr "Disque: <span foreground=\"green\">24hrs+</span>"
-#: ardour_ui.cc:1297
+#: ardour_ui.cc:1351
msgid "Disk: <span foreground=\"green\">&gt;24 hrs</span>"
msgstr "Disque: <span foreground=\"green\">&gt;24 hrs</span>"
-#: ardour_ui.cc:1308
+#: ardour_ui.cc:1362
#, c-format
msgid "Disk: <span foreground=\"%s\">%02dh:%02dm:%02ds</span>"
msgstr "Disque: <span foreground=\"%s\">%02dh:%02dm:%02ds</span>"
-#: ardour_ui.cc:1334
+#: ardour_ui.cc:1388
#, c-format
msgid "Timecode|TC: <span foreground=\"%s\">%s</span>"
msgstr "TC: <span foreground=\"%s\">%s</span>"
-#: ardour_ui.cc:1451 ardour_ui.cc:1460 session_dialog.cc:322
-#: session_dialog.cc:327
+#: ardour_ui.cc:1509 ardour_ui.cc:1518 session_dialog.cc:326
+#: session_dialog.cc:331
msgid "Recent Sessions"
msgstr "Sessions récentes"
-#: ardour_ui.cc:1539
+#: ardour_ui.cc:1597
msgid ""
"%1 is not connected to any audio backend.\n"
"You cannot open or close sessions in this condition"
msgstr ""
-#: ardour_ui.cc:1563
+#: ardour_ui.cc:1621
msgid "Open Session"
msgstr "Ouvrir une session"
-#: ardour_ui.cc:1588 session_dialog.cc:353 session_import_dialog.cc:169
+#: ardour_ui.cc:1646 session_dialog.cc:357 session_import_dialog.cc:169
#: session_metadata_dialog.cc:729
msgid "%1 sessions"
msgstr "Sessions %1"
-#: ardour_ui.cc:1625
+#: ardour_ui.cc:1683
msgid "You cannot add a track without a session already loaded."
msgstr "Vous ne pouvez pas ajouter une piste sans avoir ouvert une session."
-#: ardour_ui.cc:1633
+#: ardour_ui.cc:1691
msgid "could not create %1 new mixed track"
msgid_plural "could not create %1 new mixed tracks"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1639 ardour_ui.cc:1700
+#: ardour_ui.cc:1697 ardour_ui.cc:1758
msgid ""
-"There are insufficient JACK ports available\n"
+"There are insufficient ports available\n"
"to create a new track or bus.\n"
"You should save %1, exit and\n"
-"restart JACK with more ports."
+"restart with more ports."
msgstr ""
-"Il n'y a plus assez de ports JACK disponibles\n"
-"pour créer une nouvelle piste ou un nouveau bus.\n"
-"Vous devriez enregistrer %1, quitter, puis\n"
-"redémarrer JACK avec plus de ports."
-#: ardour_ui.cc:1674
+#: ardour_ui.cc:1732
msgid "You cannot add a track or bus without a session already loaded."
msgstr ""
"Vous ne pouvez pas ajouter une piste ou un bus sans avoir ouvert une session."
-#: ardour_ui.cc:1683
+#: ardour_ui.cc:1741
msgid "could not create %1 new audio track"
msgid_plural "could not create %1 new audio tracks"
msgstr[0] "impossible de créer %1 nouvelle piste audio"
msgstr[1] "impossible de créer %1 nouvelles pistes audios"
-#: ardour_ui.cc:1692
+#: ardour_ui.cc:1750
msgid "could not create %1 new audio bus"
msgid_plural "could not create %1 new audio busses"
msgstr[0] "impossible de créer %1 nouveau bus"
msgstr[1] "impossible de créer %1 nouveaux bus"
-#: ardour_ui.cc:1816
+#: ardour_ui.cc:1903
msgid ""
"Please create one or more tracks before trying to record.\n"
"You can do this with the \"Add Track or Bus\" option in the Session menu."
@@ -995,15 +999,23 @@ msgstr ""
"Créez au moins une piste avant d'enregistrer.\n"
"Allez dans le menu de Session, et choisissez \"Ajouter une piste ou un bus\"."
-#: ardour_ui.cc:2193
+#: ardour_ui.cc:2312
+msgid "Save as..."
+msgstr ""
+
+#: ardour_ui.cc:2313 ardour_ui.cc:2392
+msgid "New session name"
+msgstr "Nouveau nom de la session:"
+
+#: ardour_ui.cc:2315
msgid "Take Snapshot"
msgstr "Prendre un cliché..."
-#: ardour_ui.cc:2194
+#: ardour_ui.cc:2316
msgid "Name of new snapshot"
msgstr "Nom du nouveau cliché"
-#: ardour_ui.cc:2218
+#: ardour_ui.cc:2341
msgid ""
"To ensure compatibility with various systems\n"
"snapshot names may not contain a '%1' character"
@@ -1012,27 +1024,23 @@ msgstr ""
"systèmes, les noms de cliché ne peuvent pas\n"
"utiliser le caractère '%1' "
-#: ardour_ui.cc:2230
+#: ardour_ui.cc:2353
msgid "Confirm Snapshot Overwrite"
msgstr "Confirmer l'écrasement du cliché"
-#: ardour_ui.cc:2231
+#: ardour_ui.cc:2354
msgid "A snapshot already exists with that name. Do you want to overwrite it?"
msgstr "Un cliché de ce nom existe déjà. Voulez-vous l'écraser ?"
-#: ardour_ui.cc:2234 utils_videotl.cc:67
+#: ardour_ui.cc:2357 utils_videotl.cc:67
msgid "Overwrite"
msgstr "Écraser"
-#: ardour_ui.cc:2268
+#: ardour_ui.cc:2391
msgid "Rename Session"
msgstr "Renommer la session"
-#: ardour_ui.cc:2269
-msgid "New session name"
-msgstr "Nouveau nom de la session:"
-
-#: ardour_ui.cc:2283 ardour_ui.cc:2684 ardour_ui.cc:2722
+#: ardour_ui.cc:2406 ardour_ui.cc:2814 ardour_ui.cc:2852
msgid ""
"To ensure compatibility with various systems\n"
"session names may not contain a '%1' character"
@@ -1040,12 +1048,12 @@ msgstr ""
"Afin d'assurer la compatibilité sur différents systèmes\n"
"les noms de sessions ne peuvent pas comporter le caractère '%1'"
-#: ardour_ui.cc:2291
+#: ardour_ui.cc:2414
msgid ""
"That name is already in use by another directory/folder. Please try again."
msgstr "Un fichier ou un répertoire utilise déjà ce nom. Essayez autre chose."
-#: ardour_ui.cc:2300
+#: ardour_ui.cc:2423
msgid ""
"Renaming this session failed.\n"
"Things could be seriously messed up at this point"
@@ -1053,19 +1061,19 @@ msgstr ""
"Le renommage de la session a échoué.\n"
"Il est possible que les données soient à présent corrompues."
-#: ardour_ui.cc:2411
+#: ardour_ui.cc:2534
msgid "Save Template"
msgstr "Enregistrer comme modèle"
-#: ardour_ui.cc:2412
+#: ardour_ui.cc:2535
msgid "Name for template:"
msgstr "Nom du modèle:"
-#: ardour_ui.cc:2413
+#: ardour_ui.cc:2536
msgid "-template"
msgstr "-modèle"
-#: ardour_ui.cc:2451
+#: ardour_ui.cc:2574
msgid ""
"This session\n"
"%1\n"
@@ -1075,59 +1083,59 @@ msgstr ""
"%1\n"
"existe déjà. Voulez-vous l'ouvrir ?"
-#: ardour_ui.cc:2461
+#: ardour_ui.cc:2584
msgid "Open Existing Session"
msgstr "Ouvrir une session"
-#: ardour_ui.cc:2712
+#: ardour_ui.cc:2842
msgid "There is no existing session at \"%1\""
msgstr "Aucune session n'existe dans \"%1\""
-#: ardour_ui.cc:2804
+#: ardour_ui.cc:2934
msgid "Please wait while %1 loads your session"
msgstr "Veuillez patienter pendant que %1 ouvre la session"
-#: ardour_ui.cc:2819
+#: ardour_ui.cc:2949
msgid "Port Registration Error"
msgstr "Erreur d'enregistrement du port"
-#: ardour_ui.cc:2820
+#: ardour_ui.cc:2950
msgid "Click the Close button to try again."
msgstr "Cliquez sur le bouton \"Fermer\" pour réessayer."
-#: ardour_ui.cc:2841
+#: ardour_ui.cc:2971
msgid "Session \"%1 (snapshot %2)\" did not load successfully"
msgstr "La session \"%1 (cliché %2)\" ne s'est pas chargée correctement"
-#: ardour_ui.cc:2848
+#: ardour_ui.cc:2978
msgid "Loading Error"
msgstr "Erreur de chargement"
-#: ardour_ui.cc:2867
+#: ardour_ui.cc:2997
msgid ""
"This session has been opened in read-only mode.\n"
"\n"
"You will not be able to record or save."
msgstr ""
-#: ardour_ui.cc:2873
+#: ardour_ui.cc:3003
msgid "Read-only Session"
msgstr ""
-#: ardour_ui.cc:2931
+#: ardour_ui.cc:3069
msgid "Could not create session in \"%1\""
msgstr "Impossible de créer une session dans \"%1\""
-#: ardour_ui.cc:3031
+#: ardour_ui.cc:3169
msgid "No files were ready for clean-up"
msgstr "Aucun fichier à nettoyer"
-#: ardour_ui.cc:3035 ardour_ui.cc:3045 ardour_ui.cc:3178 ardour_ui.cc:3185
-#: ardour_ui_ed.cc:104
+#: ardour_ui.cc:3173 ardour_ui.cc:3183 ardour_ui.cc:3316 ardour_ui.cc:3323
+#: ardour_ui_ed.cc:103
msgid "Clean-up"
msgstr "Nettoyer"
-#: ardour_ui.cc:3036
+#: ardour_ui.cc:3174
msgid ""
"If this seems suprising, \n"
"check for any existing snapshots.\n"
@@ -1138,19 +1146,19 @@ msgstr ""
"Ceux-ci peuvent contenir des régions ayant besoin de certains\n"
"fichiers audio inutilisés pour exister."
-#: ardour_ui.cc:3095
+#: ardour_ui.cc:3233
msgid "kilo"
msgstr "kilo"
-#: ardour_ui.cc:3098
+#: ardour_ui.cc:3236
msgid "mega"
msgstr "mega"
-#: ardour_ui.cc:3101
+#: ardour_ui.cc:3239
msgid "giga"
msgstr "giga"
-#: ardour_ui.cc:3106
+#: ardour_ui.cc:3244
msgid ""
"The following file was deleted from %2,\n"
"releasing %3 %4bytes of disk space"
@@ -1164,7 +1172,7 @@ msgstr[1] ""
"Les %1 fichiers suivants ont été éffacés de %2,\n"
"libérant %3 %4octets d'espace disque."
-#: ardour_ui.cc:3113
+#: ardour_ui.cc:3251
msgid ""
"The following file was not in use and \n"
"has been moved to: %2\n"
@@ -1200,11 +1208,11 @@ msgstr[1] ""
"<span face=\"mono\">Session -> Nettoyer -> Vider la corbeille</span>\n"
"libérera %3 %4octets supplémentaires sur le disque.\n"
-#: ardour_ui.cc:3173
+#: ardour_ui.cc:3311
msgid "Are you sure you want to clean-up?"
msgstr "Voulez-vous vraiment lancer le nettoyage ?"
-#: ardour_ui.cc:3180
+#: ardour_ui.cc:3318
msgid ""
"Clean-up is a destructive operation.\n"
"ALL undo/redo information will be lost if you clean-up.\n"
@@ -1214,41 +1222,39 @@ msgstr ""
"TOUTES les opérations d'annulation seront perdues.\n"
"Les fichiers audio inutilisés seront déplacés dans un dossier \"dead\"."
-#: ardour_ui.cc:3188
+#: ardour_ui.cc:3326
msgid "CleanupDialog"
msgstr "Fenêtre de nettoyage"
-#: ardour_ui.cc:3218
+#: ardour_ui.cc:3356
msgid "Cleaned Files"
msgstr "Fichiers nettoyés"
-#: ardour_ui.cc:3235
+#: ardour_ui.cc:3373
msgid "deleted file"
msgstr ""
-#: ardour_ui.cc:3381
-msgid ""
-"Video-Server was not launched by Ardour. The request to stop it is ignored."
+#: ardour_ui.cc:3512
+msgid "Video-Server was not launched by %1. The request to stop it is ignored."
msgstr ""
-"Le Seveur-Video n'a pas été lancé par Ardour. La demande d'arrêt est ignorée."
-#: ardour_ui.cc:3385
+#: ardour_ui.cc:3516
msgid "Stop Video-Server"
msgstr "Arrêter le Serveur-Vidéo"
-#: ardour_ui.cc:3386
+#: ardour_ui.cc:3517
msgid "Do you really want to stop the Video Server?"
msgstr "Voulez-vous vraiment arreter le Serveur-Vidéo?"
-#: ardour_ui.cc:3389
+#: ardour_ui.cc:3520
msgid "Yes, Stop It"
msgstr ""
-#: ardour_ui.cc:3415
+#: ardour_ui.cc:3546
msgid "The Video Server is already started."
msgstr "Le Serveur-Vidéo est déjà démarré"
-#: ardour_ui.cc:3417
+#: ardour_ui.cc:3548
msgid ""
"An external Video Server is configured and can be reached. Not starting a "
"new instance."
@@ -1256,42 +1262,42 @@ msgstr ""
"Un Serveur-Vidéo est configuré et peut être accessible. Une nouvelle "
"instance ne sera pas démarrée."
-#: ardour_ui.cc:3425 ardour_ui.cc:3515
+#: ardour_ui.cc:3556 ardour_ui.cc:3655
msgid ""
"Could not connect to the Video Server. Start it or configure its access URL "
"in Edit -> Preferences."
msgstr ""
-#: ardour_ui.cc:3449
+#: ardour_ui.cc:3580
msgid "Specified docroot is not an existing directory."
msgstr ""
-#: ardour_ui.cc:3454
+#: ardour_ui.cc:3586 ardour_ui.cc:3592
msgid "Given Video Server is not an executable file."
msgstr ""
-#: ardour_ui.cc:3487
+#: ardour_ui.cc:3626
msgid "Cannot launch the video-server"
msgstr ""
-#: ardour_ui.cc:3496
+#: ardour_ui.cc:3636
msgid "Video-server was started but does not respond to requests..."
msgstr ""
-#: ardour_ui.cc:3541 editor_audio_import.cc:632
+#: ardour_ui.cc:3681 editor_audio_import.cc:628
msgid "could not open %1"
msgstr "impossible d'ouvrir %1"
-#: ardour_ui.cc:3545
+#: ardour_ui.cc:3685
msgid "no video-file selected"
msgstr ""
-#: ardour_ui.cc:3717
+#: ardour_ui.cc:3858
msgid "Recording was stopped because your system could not keep up."
msgstr ""
"L'enregistrement s'est arrêté car votre système n'était pas assez rapide."
-#: ardour_ui.cc:3746
+#: ardour_ui.cc:3887
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1305,7 +1311,23 @@ msgstr ""
"L'enregistrement a généré un débit de\n"
"données trop important pour le disque.\n"
-#: ardour_ui.cc:3765
+#: ardour_ui.cc:3957
+msgid "Scanning for plugins"
+msgstr ""
+
+#: ardour_ui.cc:3959
+msgid "Cancel plugin scan"
+msgstr ""
+
+#: ardour_ui.cc:3968
+msgid "Stop Timeout"
+msgstr ""
+
+#: ardour_ui.cc:3975
+msgid "Scan Timeout"
+msgstr ""
+
+#: ardour_ui.cc:4016
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1319,11 +1341,11 @@ msgstr ""
"La lecture a généré un débit de données\n"
"trop important pour le disque.\n"
-#: ardour_ui.cc:3805
+#: ardour_ui.cc:4056
msgid "Crash Recovery"
msgstr "Récupération après un crash"
-#: ardour_ui.cc:3806
+#: ardour_ui.cc:4057
msgid ""
"This session appears to have been in the\n"
"middle of recording when %1 or\n"
@@ -1340,19 +1362,19 @@ msgstr ""
"%1 peut récupérer ou ignorer les données\n"
"de l'enregistrement. Que voulez-vous faire?\n"
-#: ardour_ui.cc:3818
+#: ardour_ui.cc:4069
msgid "Ignore crash data"
msgstr "Ignorer les données"
-#: ardour_ui.cc:3819
+#: ardour_ui.cc:4070
msgid "Recover from crash"
msgstr "Récupérer les données"
-#: ardour_ui.cc:3839
+#: ardour_ui.cc:4090
msgid "Sample Rate Mismatch"
msgstr "Mauvais taux d'échantillonnage"
-#: ardour_ui.cc:3840
+#: ardour_ui.cc:4091
msgid ""
"This session was created with a sample rate of %1 Hz, but\n"
"%2 is currently running at %3 Hz. If you load this session,\n"
@@ -1362,23 +1384,23 @@ msgstr ""
"mais %2 tourne actuellement à %3 Hz. Si vous chargez cette session,\n"
"l'audio pourra être joué avec un mauvais taux d'echantillonnage.\n"
-#: ardour_ui.cc:3849
+#: ardour_ui.cc:4100
msgid "Do not load session"
msgstr "Ne pas charger la session"
-#: ardour_ui.cc:3850
+#: ardour_ui.cc:4101
msgid "Load session anyway"
msgstr "Charger quand-même la session"
-#: ardour_ui.cc:3877
+#: ardour_ui.cc:4128
msgid "Could not disconnect from Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:3893 ardour_ui.cc:3896
+#: ardour_ui.cc:4144 ardour_ui.cc:4147
msgid "Could not reconnect to the Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:4172
+#: ardour_ui.cc:4431
msgid ""
"%4This is a session from an older version of %3%5\n"
"\n"
@@ -1393,71 +1415,71 @@ msgid ""
"From now on, use the -2000 version with older versions of %3"
msgstr ""
-#: ardour_ui2.cc:72
+#: ardour_ui2.cc:73
msgid "UI: cannot setup editor"
msgstr ""
-#: ardour_ui2.cc:77
+#: ardour_ui2.cc:78
msgid "UI: cannot setup mixer"
msgstr ""
-#: ardour_ui2.cc:82
+#: ardour_ui2.cc:83
msgid "UI: cannot setup meterbridge"
msgstr ""
-#: ardour_ui2.cc:130
+#: ardour_ui2.cc:131
msgid "Play from playhead"
msgstr ""
-#: ardour_ui2.cc:131
+#: ardour_ui2.cc:132
msgid "Stop playback"
msgstr "Stopper la lecture"
-#: ardour_ui2.cc:132
+#: ardour_ui2.cc:133
msgid "Toggle record"
msgstr "Activer/désactiver l'enregistrement"
-#: ardour_ui2.cc:133
+#: ardour_ui2.cc:134
msgid "Play range/selection"
msgstr ""
-#: ardour_ui2.cc:134
+#: ardour_ui2.cc:135
msgid "Go to start of session"
msgstr ""
-#: ardour_ui2.cc:135
+#: ardour_ui2.cc:136
msgid "Go to end of session"
msgstr ""
-#: ardour_ui2.cc:136
+#: ardour_ui2.cc:137
msgid "Play loop range"
msgstr "Lire la boucle"
-#: ardour_ui2.cc:137
+#: ardour_ui2.cc:138
msgid ""
"MIDI Panic\n"
"Send note off and reset controller messages on all MIDI channels"
msgstr ""
-#: ardour_ui2.cc:138
+#: ardour_ui2.cc:139
msgid "Return to last playback start when stopped"
msgstr "Revenir en début de lecture lors de l'arrêt"
-#: ardour_ui2.cc:139
+#: ardour_ui2.cc:140
msgid "Playhead follows Range Selections and Edits"
msgstr ""
"La tête de lecture suit les selections d'intervalles et les modifications "
"effectuées"
-#: ardour_ui2.cc:140
+#: ardour_ui2.cc:141
msgid "Be sensible about input monitoring"
msgstr "Monitoring d'entrée automatique"
-#: ardour_ui2.cc:141
+#: ardour_ui2.cc:142
msgid "Enable/Disable audio click"
msgstr "Activer/désactiver le métronome"
-#: ardour_ui2.cc:142 monitor_section.cc:101
+#: ardour_ui2.cc:143 monitor_section.cc:112
msgid ""
"When active, something is soloed.\n"
"Click to de-solo everything"
@@ -1465,7 +1487,7 @@ msgstr ""
"Actif lorsque quelque chose est en solo\n"
"Cliquez pour désactiver tous les solos."
-#: ardour_ui2.cc:143
+#: ardour_ui2.cc:144
msgid ""
"When active, auditioning is taking place\n"
"Click to stop the audition"
@@ -1473,11 +1495,11 @@ msgstr ""
"Actif lorsqu'une écoute est en cours\n"
"Cliquez pour stopper l'écoute."
-#: ardour_ui2.cc:144
+#: ardour_ui2.cc:145
msgid "When active, there is a feedback loop."
msgstr "Actif lorsqu'une boucle de larsen est détécté"
-#: ardour_ui2.cc:145
+#: ardour_ui2.cc:146
msgid ""
"<b>Primary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1490,7 +1512,7 @@ msgstr ""
"<tt>Esc</tt> annule; <tt>Entrée</tt>: confirme; Ajouter '+' ou '-' pourque "
"la valeur s'ajoute (ou s'enlève) de la valeur originelle.\n"
-#: ardour_ui2.cc:146
+#: ardour_ui2.cc:147
msgid ""
"<b>Secondary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1503,361 +1525,418 @@ msgstr ""
"<tt>Esc</tt> annule; <tt>Entrée</tt>: confirme; Ajouter '+' ou '-' pourque "
"la valeur s'ajoute (ou s'enlève) de la valeur originelle.\n"
-#: ardour_ui2.cc:147
-msgid "Reset Level Meter"
+#: ardour_ui2.cc:148
+msgid "Reset All Peak Indicators"
msgstr ""
-#: ardour_ui2.cc:179
+#: ardour_ui2.cc:180
msgid "[ERROR]: "
msgstr "[ERREUR]: "
-#: ardour_ui2.cc:181
+#: ardour_ui2.cc:182
msgid "[WARNING]: "
msgstr "[AVERTISSEMENT]: "
-#: ardour_ui2.cc:183
+#: ardour_ui2.cc:184
msgid "[INFO]: "
msgstr "[INFO]: "
-#: ardour_ui2.cc:247 ardour_ui_ed.cc:344
+#: ardour_ui2.cc:248 ardour_ui_ed.cc:391
msgid "Auto Return"
msgstr "Retour auto"
-#: ardour_ui2.cc:249 ardour_ui_ed.cc:347
+#: ardour_ui2.cc:250 ardour_ui_ed.cc:394
msgid "Follow Edits"
msgstr "Suivre modif."
-#: ardour_ui2.cc:628 rc_option_editor.cc:1002 rc_option_editor.cc:1020
-#: rc_option_editor.cc:1023 rc_option_editor.cc:1025 rc_option_editor.cc:1027
-#: rc_option_editor.cc:1035 rc_option_editor.cc:1043 rc_option_editor.cc:1045
-#: rc_option_editor.cc:1053 rc_option_editor.cc:1060 rc_option_editor.cc:1069
-#: rc_option_editor.cc:1071 rc_option_editor.cc:1073 rc_option_editor.cc:1081
-#: rc_option_editor.cc:1083 rc_option_editor.cc:1092
-#: session_option_editor.cc:234 session_option_editor.cc:236
-#: session_option_editor.cc:257 session_option_editor.cc:259
-#: session_option_editor.cc:261 session_option_editor.cc:268
+#: ardour_ui2.cc:651 rc_option_editor.cc:2172
+msgid "GUI"
+msgstr "IHM"
+
+#: ardour_ui2.cc:668 rc_option_editor.cc:1242 rc_option_editor.cc:1260
+#: rc_option_editor.cc:1263 rc_option_editor.cc:1265 rc_option_editor.cc:1267
+#: rc_option_editor.cc:1275 rc_option_editor.cc:1283 rc_option_editor.cc:1285
+#: rc_option_editor.cc:1293 rc_option_editor.cc:1300 rc_option_editor.cc:1309
+#: rc_option_editor.cc:1311 rc_option_editor.cc:1313 rc_option_editor.cc:1321
+#: rc_option_editor.cc:1323 rc_option_editor.cc:1332
+#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:344 session_option_editor.cc:346
+#: session_option_editor.cc:348 session_option_editor.cc:355
+#: session_option_editor.cc:362 session_option_editor.cc:366
msgid "Misc"
msgstr "Divers"
-#: ardour_ui_dependents.cc:69
+#: ardour_ui_dependents.cc:75
msgid "Setup Editor"
msgstr "Éditeur de configuration"
-#: ardour_ui_dependents.cc:71
+#: ardour_ui_dependents.cc:77
msgid "Setup Mixer"
msgstr "Console de mixage"
-#: ardour_ui_dependents.cc:77
+#: ardour_ui_dependents.cc:83
msgid "Reload Session History"
msgstr "Recharger l'historique de la session"
-#: ardour_ui_dialogs.cc:238
+#: ardour_ui_dialogs.cc:251
msgid "Don't close"
msgstr "Ne pas fermer"
-#: ardour_ui_dialogs.cc:239
+#: ardour_ui_dialogs.cc:252
msgid "Just close"
msgstr "Fermer"
-#: ardour_ui_dialogs.cc:240
+#: ardour_ui_dialogs.cc:253
msgid "Save and close"
msgstr "Enregistrer et fermer"
-#: ardour_ui_dialogs.cc:339
+#: ardour_ui_dialogs.cc:353
msgid "This screen is not tall enough to display the mixer window"
msgstr ""
-#: ardour_ui_ed.cc:103
+#: ardour_ui_ed.cc:102
msgid "Session"
msgstr "Session"
-#: ardour_ui_ed.cc:106 editor_actions.cc:134 editor_regions.cc:115
+#: ardour_ui_ed.cc:105 editor_actions.cc:138 editor_regions.cc:116
#: port_group.cc:458 session_option_editor.cc:82 session_option_editor.cc:89
msgid "Sync"
msgstr "Synchro"
-#: ardour_ui_ed.cc:107
+#: ardour_ui_ed.cc:106
msgid "Options"
msgstr "Options"
-#: ardour_ui_ed.cc:108
+#: ardour_ui_ed.cc:107
msgid "Window"
msgstr "Fenêtres"
-#: ardour_ui_ed.cc:109
+#: ardour_ui_ed.cc:108
msgid "Help"
msgstr "Aide"
-#: ardour_ui_ed.cc:110
+#: ardour_ui_ed.cc:109
msgid "Misc. Shortcuts"
msgstr "Raccourcis divers"
-#: ardour_ui_ed.cc:111
+#: ardour_ui_ed.cc:110
msgid "Audio File Format"
msgstr "Format de fichiers audio"
-#: ardour_ui_ed.cc:112
+#: ardour_ui_ed.cc:111
msgid "File Type"
msgstr "fichier"
-#: ardour_ui_ed.cc:113 export_format_dialog.cc:65
+#: ardour_ui_ed.cc:112 export_format_dialog.cc:67
msgid "Sample Format"
msgstr "Échantillon"
-#: ardour_ui_ed.cc:114 rc_option_editor.cc:1814 rc_option_editor.cc:1826
+#: ardour_ui_ed.cc:113 rc_option_editor.cc:2119 rc_option_editor.cc:2131
msgid "Control Surfaces"
msgstr "Surfaces de contrôle"
-#: ardour_ui_ed.cc:115 rc_option_editor.cc:1546
+#: ardour_ui_ed.cc:114 rc_option_editor.cc:1812 rc_option_editor.cc:2138
msgid "Plugins"
msgstr "Plugins"
-#: ardour_ui_ed.cc:116 rc_option_editor.cc:1889
+#: ardour_ui_ed.cc:115 rc_option_editor.cc:2223
msgid "Metering"
msgstr "VU-mètre"
-#: ardour_ui_ed.cc:117
+#: ardour_ui_ed.cc:116
msgid "Fall Off Rate"
msgstr "Taux de chute"
-#: ardour_ui_ed.cc:118
+#: ardour_ui_ed.cc:117
msgid "Hold Time"
msgstr "Temps de maintien"
-#: ardour_ui_ed.cc:119
+#: ardour_ui_ed.cc:118
msgid "Denormal Handling"
msgstr ""
-#: ardour_ui_ed.cc:123 route_time_axis.cc:1489
+#: ardour_ui_ed.cc:122 route_time_axis.cc:1636
msgid "New..."
msgstr "Nouvelle session..."
-#: ardour_ui_ed.cc:125
+#: ardour_ui_ed.cc:124
msgid "Open..."
msgstr "Ouvrir une session..."
-#: ardour_ui_ed.cc:126
+#: ardour_ui_ed.cc:125
msgid "Recent..."
msgstr "Sessions récentes..."
-#: ardour_ui_ed.cc:127 panner_editor.cc:29 playlist_selector.cc:64
+#: ardour_ui_ed.cc:126 panner_editor.cc:29 playlist_selector.cc:64
msgid "Close"
msgstr "Fermer"
-#: ardour_ui_ed.cc:130
+#: ardour_ui_ed.cc:129
msgid "Add Track or Bus..."
msgstr "Ajouter une piste ou un bus..."
-#: ardour_ui_ed.cc:135
+#: ardour_ui_ed.cc:134
msgid "Open Video"
msgstr ""
-#: ardour_ui_ed.cc:138
+#: ardour_ui_ed.cc:137
msgid "Remove Video"
msgstr ""
-#: ardour_ui_ed.cc:141
+#: ardour_ui_ed.cc:140
msgid "Export To Video File"
msgstr "Exporter vers un fichier video..."
-#: ardour_ui_ed.cc:145
+#: ardour_ui_ed.cc:144
msgid "Snapshot..."
msgstr "Prendre un cliché..."
-#: ardour_ui_ed.cc:149
+#: ardour_ui_ed.cc:148
msgid "Save As..."
msgstr "Enregistrer sous..."
-#: ardour_ui_ed.cc:153 editor_actions.cc:1719 editor_markers.cc:858
-#: editor_snapshots.cc:123 mixer_strip.cc:1471 route_time_axis.cc:1485
+#: ardour_ui_ed.cc:152 editor_actions.cc:1767 editor_markers.cc:872
+#: editor_snapshots.cc:124 mixer_strip.cc:1481 route_time_axis.cc:1632
msgid "Rename..."
msgstr "Renommer.."
-#: ardour_ui_ed.cc:157
+#: ardour_ui_ed.cc:156
msgid "Save Template..."
msgstr "Enregistrer comme modèle..."
-#: ardour_ui_ed.cc:160
+#: ardour_ui_ed.cc:159
msgid "Metadata"
msgstr "Meta-données"
-#: ardour_ui_ed.cc:163
+#: ardour_ui_ed.cc:162
msgid "Edit Metadata..."
msgstr "Éditer les méta-données..."
-#: ardour_ui_ed.cc:166
+#: ardour_ui_ed.cc:165
msgid "Import Metadata..."
msgstr "Importer les méta-données"
-#: ardour_ui_ed.cc:169
+#: ardour_ui_ed.cc:168
msgid "Export To Audio File(s)..."
msgstr "Exporter vers un fichier audio..."
-#: ardour_ui_ed.cc:172
+#: ardour_ui_ed.cc:171
msgid "Stem export..."
msgstr ""
-#: ardour_ui_ed.cc:175 editor_export_audio.cc:63 export_dialog.cc:129
-#: export_video_dialog.cc:71
+#: ardour_ui_ed.cc:174 editor_export_audio.cc:65 export_dialog.cc:129
+#: export_video_dialog.cc:72
msgid "Export"
msgstr "Exporter"
-#: ardour_ui_ed.cc:178
+#: ardour_ui_ed.cc:177
msgid "Clean-up Unused Sources..."
msgstr "Nettoyer les fichiers audio inutilisés..."
-#: ardour_ui_ed.cc:182
+#: ardour_ui_ed.cc:181
msgid "Flush Wastebasket"
msgstr "Vider la corbeille"
-#: ardour_ui_ed.cc:189
+#: ardour_ui_ed.cc:188
msgid "Quit"
msgstr "Quitter"
-#: ardour_ui_ed.cc:193
+#: ardour_ui_ed.cc:192
msgid "Maximise Editor Space"
msgstr "Plein écran"
+#: ardour_ui_ed.cc:193
+msgid "Maximise Mixer Space"
+msgstr ""
+
#: ardour_ui_ed.cc:194
msgid "Show Toolbars"
msgstr "Afficher les barres d'outils"
-#: ardour_ui_ed.cc:197 mixer_ui.cc:1865 mixer_ui.cc:1871
+#: ardour_ui_ed.cc:197
+msgid "Show more UI preferences"
+msgstr ""
+
+#: ardour_ui_ed.cc:199 mixer_ui.cc:1900 mixer_ui.cc:1906
msgid "Window|Mixer"
msgstr "Console de mixage"
-#: ardour_ui_ed.cc:198
+#: ardour_ui_ed.cc:200
msgid "Toggle Editor+Mixer"
msgstr ""
-#: ardour_ui_ed.cc:199 meterbridge.cc:230 meterbridge.cc:236
+#: ardour_ui_ed.cc:201 meterbridge.cc:214 meterbridge.cc:220
msgid "Window|Meterbridge"
msgstr "Barre de vue-mètre"
-#: ardour_ui_ed.cc:201 midi_tracer.cc:42
+#: ardour_ui_ed.cc:203 midi_tracer.cc:45
msgid "MIDI Tracer"
msgstr "Activité MIDI"
-#: ardour_ui_ed.cc:203
+#: ardour_ui_ed.cc:205
msgid "Chat"
msgstr "Salon de discussion (anglais)"
-#: ardour_ui_ed.cc:205
+#: ardour_ui_ed.cc:207
msgid "Help|Manual"
msgstr "Manuel"
-#: ardour_ui_ed.cc:206
+#: ardour_ui_ed.cc:208
msgid "Reference"
msgstr "Référence"
-#: ardour_ui_ed.cc:208 plugin_ui.cc:415
+#: ardour_ui_ed.cc:210 plugin_ui.cc:416
msgid "Save"
msgstr "Enregistrer"
-#: ardour_ui_ed.cc:216 rc_option_editor.cc:1112 rc_option_editor.cc:1123
-#: rc_option_editor.cc:1132 rc_option_editor.cc:1145 rc_option_editor.cc:1158
-#: rc_option_editor.cc:1167 rc_option_editor.cc:1177 rc_option_editor.cc:1179
-#: rc_option_editor.cc:1189 rc_option_editor.cc:1205 rc_option_editor.cc:1218
-#: rc_option_editor.cc:1236 rc_option_editor.cc:1238 rc_option_editor.cc:1252
-#: rc_option_editor.cc:1255 rc_option_editor.cc:1257 rc_option_editor.cc:1274
-#: rc_option_editor.cc:1285
+#: ardour_ui_ed.cc:218 rc_option_editor.cc:1352 rc_option_editor.cc:1363
+#: rc_option_editor.cc:1374 rc_option_editor.cc:1383 rc_option_editor.cc:1396
+#: rc_option_editor.cc:1409 rc_option_editor.cc:1418 rc_option_editor.cc:1428
+#: rc_option_editor.cc:1430 rc_option_editor.cc:1440 rc_option_editor.cc:1456
+#: rc_option_editor.cc:1469 rc_option_editor.cc:1487 rc_option_editor.cc:1489
+#: rc_option_editor.cc:1503 rc_option_editor.cc:1506 rc_option_editor.cc:1508
+#: rc_option_editor.cc:1525 rc_option_editor.cc:1536
msgid "Transport"
msgstr "Commandes"
-#: ardour_ui_ed.cc:222
+#: ardour_ui_ed.cc:224
msgid "Stop"
msgstr "Arrêter"
-#: ardour_ui_ed.cc:225
+#: ardour_ui_ed.cc:227
msgid "Roll"
msgstr "Roll"
-#: ardour_ui_ed.cc:229
+#: ardour_ui_ed.cc:231 ardour_ui_ed.cc:234
msgid "Start/Stop"
msgstr "Lecture/Arrêt"
-#: ardour_ui_ed.cc:232
+#: ardour_ui_ed.cc:237
msgid "Start/Continue/Stop"
msgstr "Lecture/Arrêt"
-#: ardour_ui_ed.cc:235
+#: ardour_ui_ed.cc:240
msgid "Stop and Forget Capture"
msgstr "Arrêt avec destruction"
-#: ardour_ui_ed.cc:245
+#: ardour_ui_ed.cc:250
msgid "Transition To Roll"
msgstr "Lecture avant"
-#: ardour_ui_ed.cc:249
+#: ardour_ui_ed.cc:254
msgid "Transition To Reverse"
msgstr "Lecture arrière"
-#: ardour_ui_ed.cc:253
+#: ardour_ui_ed.cc:258
msgid "Play Loop Range"
msgstr "Lire la boucle"
-#: ardour_ui_ed.cc:256
+#: ardour_ui_ed.cc:261
msgid "Play Selected Range"
msgstr "Lecture de l'intervalle"
-#: ardour_ui_ed.cc:259
+#: ardour_ui_ed.cc:264
msgid "Play Selection w/Preroll"
msgstr "Lire la zone de sélection avec compte à rebours"
-#: ardour_ui_ed.cc:263
+#: ardour_ui_ed.cc:268
msgid "Enable Record"
msgstr "Activer l'enregistrement"
-#: ardour_ui_ed.cc:266
+#: ardour_ui_ed.cc:271 ardour_ui_ed.cc:275
msgid "Start Recording"
msgstr "Démarrer l'enregistrement"
-#: ardour_ui_ed.cc:270
+#: ardour_ui_ed.cc:279
msgid "Rewind"
msgstr "Rembobiner"
-#: ardour_ui_ed.cc:273
+#: ardour_ui_ed.cc:282
msgid "Rewind (Slow)"
msgstr "Rembobiner (lent)"
-#: ardour_ui_ed.cc:276
+#: ardour_ui_ed.cc:285
msgid "Rewind (Fast)"
msgstr "Rembobiner (rapide)"
-#: ardour_ui_ed.cc:279
+#: ardour_ui_ed.cc:288
msgid "Forward"
msgstr "Avance rapide"
-#: ardour_ui_ed.cc:282
+#: ardour_ui_ed.cc:291
msgid "Forward (Slow)"
msgstr "Avancer (lent)"
-#: ardour_ui_ed.cc:285
+#: ardour_ui_ed.cc:294
msgid "Forward (Fast)"
msgstr "Avancer (rapide)"
-#: ardour_ui_ed.cc:288
+#: ardour_ui_ed.cc:297
msgid "Goto Zero"
msgstr "Premier temps"
-#: ardour_ui_ed.cc:291
+#: ardour_ui_ed.cc:300 ardour_ui_ed.cc:303
msgid "Goto Start"
msgstr "début"
-#: ardour_ui_ed.cc:294
+#: ardour_ui_ed.cc:306
msgid "Goto End"
msgstr "fin"
-#: ardour_ui_ed.cc:297
+#: ardour_ui_ed.cc:309
msgid "Goto Wall Clock"
msgstr ""
-#: ardour_ui_ed.cc:301
+#: ardour_ui_ed.cc:314
+msgid "Numpad Decimal"
+msgstr ""
+
+#: ardour_ui_ed.cc:317
+msgid "Numpad 0"
+msgstr ""
+
+#: ardour_ui_ed.cc:320
+msgid "Numpad 1"
+msgstr ""
+
+#: ardour_ui_ed.cc:323
+msgid "Numpad 2"
+msgstr ""
+
+#: ardour_ui_ed.cc:326
+msgid "Numpad 3"
+msgstr ""
+
+#: ardour_ui_ed.cc:329
+msgid "Numpad 4"
+msgstr ""
+
+#: ardour_ui_ed.cc:332
+msgid "Numpad 5"
+msgstr ""
+
+#: ardour_ui_ed.cc:335
+msgid "Numpad 6"
+msgstr ""
+
+#: ardour_ui_ed.cc:338
+msgid "Numpad 7"
+msgstr ""
+
+#: ardour_ui_ed.cc:341
+msgid "Numpad 8"
+msgstr ""
+
+#: ardour_ui_ed.cc:344
+msgid "Numpad 9"
+msgstr ""
+
+#: ardour_ui_ed.cc:348
msgid "Focus On Clock"
msgstr "Mettre le focus sur l'horloge"
-#: ardour_ui_ed.cc:305 ardour_ui_ed.cc:314 audio_clock.cc:2046 editor.cc:237
-#: editor_actions.cc:544 editor_actions.cc:553 export_timespan_selector.cc:88
+#: ardour_ui_ed.cc:352 ardour_ui_ed.cc:361 audio_clock.cc:2072 editor.cc:254
+#: editor_actions.cc:579 editor_actions.cc:588 export_timespan_selector.cc:88
#: session_option_editor.cc:41 session_option_editor.cc:61
#: session_option_editor.cc:80 session_option_editor.cc:96
#: session_option_editor.cc:109 session_option_editor.cc:122
@@ -1865,125 +1944,125 @@ msgstr "Mettre le focus sur l'horloge"
msgid "Timecode"
msgstr "Timecode"
-#: ardour_ui_ed.cc:307 ardour_ui_ed.cc:316 editor_actions.cc:542
+#: ardour_ui_ed.cc:354 ardour_ui_ed.cc:363 editor_actions.cc:577
msgid "Bars & Beats"
msgstr "Mesures:Temps"
-#: ardour_ui_ed.cc:309 ardour_ui_ed.cc:318
+#: ardour_ui_ed.cc:356 ardour_ui_ed.cc:365
msgid "Minutes & Seconds"
msgstr "Minutes:Secondes"
-#: ardour_ui_ed.cc:311 ardour_ui_ed.cc:320 audio_clock.cc:2050 editor.cc:238
-#: editor_actions.cc:543
+#: ardour_ui_ed.cc:358 ardour_ui_ed.cc:367 audio_clock.cc:2076 editor.cc:255
+#: editor_actions.cc:578
msgid "Samples"
msgstr "Échantillons"
-#: ardour_ui_ed.cc:323
+#: ardour_ui_ed.cc:370
msgid "Punch In"
msgstr "Punch In"
-#: ardour_ui_ed.cc:324 mixer_strip.cc:1905 route_ui.cc:137
-#: time_info_box.cc:113
+#: ardour_ui_ed.cc:371 mixer_strip.cc:1774 mixer_strip.cc:1798
+#: mixer_strip.cc:1962 route_ui.cc:158 time_info_box.cc:116
msgid "In"
msgstr "Entrée"
-#: ardour_ui_ed.cc:327
+#: ardour_ui_ed.cc:374
msgid "Punch Out"
msgstr "Punch Out"
-#: ardour_ui_ed.cc:328 time_info_box.cc:114
+#: ardour_ui_ed.cc:375 mixer_strip.cc:1786 time_info_box.cc:117
msgid "Out"
msgstr "descente"
-#: ardour_ui_ed.cc:331
+#: ardour_ui_ed.cc:378
msgid "Punch In/Out"
msgstr "Punch in/out"
-#: ardour_ui_ed.cc:332
+#: ardour_ui_ed.cc:379
msgid "In/Out"
msgstr "In/Out"
-#: ardour_ui_ed.cc:335 rc_option_editor.cc:1069
+#: ardour_ui_ed.cc:382 rc_option_editor.cc:1309
msgid "Click"
msgstr "Métronome"
-#: ardour_ui_ed.cc:338
+#: ardour_ui_ed.cc:385
msgid "Auto Input"
msgstr "Monitoring automatique"
-#: ardour_ui_ed.cc:341
+#: ardour_ui_ed.cc:388
msgid "Auto Play"
msgstr "Lecture auto"
-#: ardour_ui_ed.cc:352
+#: ardour_ui_ed.cc:399
msgid "Sync Startup to Video"
msgstr "Sync début avec vidéo"
-#: ardour_ui_ed.cc:354
+#: ardour_ui_ed.cc:401
msgid "Time Master"
msgstr "Horloge maître"
-#: ardour_ui_ed.cc:361
+#: ardour_ui_ed.cc:408
msgid "Toggle Record Enable Track %1"
msgstr "Armer la piste %1"
-#: ardour_ui_ed.cc:368
+#: ardour_ui_ed.cc:415
msgid "Percentage"
msgstr "pourcentage"
-#: ardour_ui_ed.cc:369 shuttle_control.cc:169
+#: ardour_ui_ed.cc:416 shuttle_control.cc:169
msgid "Semitones"
msgstr "Demi-tons"
-#: ardour_ui_ed.cc:373
+#: ardour_ui_ed.cc:420
msgid "Send MTC"
msgstr "Envoi MTC (Midi Time Code)"
-#: ardour_ui_ed.cc:375
+#: ardour_ui_ed.cc:422
msgid "Send MMC"
msgstr "Envoi MMC (Midi Machine Control)"
-#: ardour_ui_ed.cc:377
+#: ardour_ui_ed.cc:424
msgid "Use MMC"
msgstr "Réception MMC (Midi Machine Control)"
-#: ardour_ui_ed.cc:379 rc_option_editor.cc:1698
+#: ardour_ui_ed.cc:426 rc_option_editor.cc:1978
msgid "Send MIDI Clock"
msgstr "Envoyer l'horloge MIDI"
-#: ardour_ui_ed.cc:381
+#: ardour_ui_ed.cc:428
msgid "Send MIDI Feedback"
msgstr "Envoyer les réponses MIDI"
-#: ardour_ui_ed.cc:387
+#: ardour_ui_ed.cc:434
msgid "Panic"
msgstr "Panique"
-#: ardour_ui_ed.cc:472
+#: ardour_ui_ed.cc:519
msgid "Wall Clock"
msgstr "Grande horloge"
-#: ardour_ui_ed.cc:473
+#: ardour_ui_ed.cc:520
msgid "Disk Space"
msgstr "Espace disque"
-#: ardour_ui_ed.cc:474
+#: ardour_ui_ed.cc:521
msgid "DSP"
msgstr "DSP"
-#: ardour_ui_ed.cc:475
+#: ardour_ui_ed.cc:522
msgid "Buffers"
msgstr ""
-#: ardour_ui_ed.cc:477
+#: ardour_ui_ed.cc:524
msgid "Timecode Format"
msgstr ""
-#: ardour_ui_ed.cc:478
+#: ardour_ui_ed.cc:525
msgid "File Format"
msgstr ""
-#: ardour_ui_options.cc:61
+#: ardour_ui_options.cc:63
msgid ""
"It is not possible to use JACK as the the sync source\n"
"when the pull up/down setting is non-zero."
@@ -1995,331 +2074,249 @@ msgstr ""
msgid "Internal"
msgstr "Interne"
-#: ardour_ui_options.cc:468
+#: ardour_ui_options.cc:496
msgid "Enable/Disable external positional sync"
msgstr "Activer/désactiver la synchronisation positionnelle externe"
-#: ardour_ui_options.cc:470
+#: ardour_ui_options.cc:498
msgid "Sync to JACK is not possible: video pull up/down is set"
msgstr "Impossible de synchroniser avec JACK: le pullup / pulldown est réglé"
-#: audio_clock.cc:1012 audio_clock.cc:1031
+#: audio_clock.cc:1028 audio_clock.cc:1047
msgid "--pending--"
msgstr ""
-#: audio_clock.cc:1083
+#: audio_clock.cc:1099
msgid "SR"
msgstr "SR"
-#: audio_clock.cc:1089 audio_clock.cc:1093
+#: audio_clock.cc:1105 audio_clock.cc:1109
msgid "Pull"
msgstr ""
-#: audio_clock.cc:1091
+#: audio_clock.cc:1107
#, c-format
msgid "%+.4f%%"
msgstr "%+.4f%%"
-#: audio_clock.cc:1237 editor.cc:239 editor_actions.cc:135
-#: editor_actions.cc:536
+#: audio_clock.cc:1263 editor.cc:256 editor_actions.cc:139
+#: editor_actions.cc:571
msgid "Tempo"
msgstr "Tempo"
-#: audio_clock.cc:1241 editor.cc:240 editor_actions.cc:537
+#: audio_clock.cc:1267 editor.cc:257 editor_actions.cc:572
msgid "Meter"
msgstr "Signature rythmique"
-#: audio_clock.cc:1819 audio_streamview.cc:116 editor_actions.cc:1039
-#: midi_region_view.cc:2991 session_metadata_dialog.cc:331
+#: audio_clock.cc:1845 audio_streamview.cc:115 editor_actions.cc:1085
+#: midi_region_view.cc:2989 session_metadata_dialog.cc:331
#: session_metadata_dialog.cc:379 session_metadata_dialog.cc:435
-#: session_metadata_dialog.cc:716
+#: session_metadata_dialog.cc:716 streamview.cc:433
msgid "programming error: %1"
msgstr "programming error: %1"
-#: audio_clock.cc:1952 audio_clock.cc:1980
+#: audio_clock.cc:1978 audio_clock.cc:2006
msgid "programming error: %1 %2"
msgstr "programming error: %1 %2"
-#: audio_clock.cc:2048 editor.cc:236 export_timespan_selector.cc:98
+#: audio_clock.cc:2074 editor.cc:253 export_timespan_selector.cc:98
msgid "Bars:Beats"
msgstr "Mesures:Temps"
-#: audio_clock.cc:2049 export_timespan_selector.cc:93
+#: audio_clock.cc:2075 export_timespan_selector.cc:93
msgid "Minutes:Seconds"
msgstr "Minutes:Secondes"
-#: audio_clock.cc:2054
+#: audio_clock.cc:2080
msgid "Set From Playhead"
msgstr ""
-#: audio_clock.cc:2055
+#: audio_clock.cc:2081
msgid "Locate to This Time"
msgstr "Se placer ici"
-#: audio_region_editor.cc:63 control_point_dialog.cc:49 rhythm_ferret.cc:125
-#: rhythm_ferret.cc:130 rhythm_ferret.cc:135
+#: audio_region_editor.cc:64 control_point_dialog.cc:49 rhythm_ferret.cc:124
+#: rhythm_ferret.cc:129 rhythm_ferret.cc:134
msgid "dB"
msgstr "dB"
-#: audio_region_editor.cc:66
+#: audio_region_editor.cc:67
msgid "Region gain:"
msgstr "Gain de la région"
-#: audio_region_editor.cc:76 export_format_dialog.cc:43
+#: audio_region_editor.cc:77 export_format_dialog.cc:43
msgid "dBFS"
msgstr "dBFS"
-#: audio_region_editor.cc:79
+#: audio_region_editor.cc:80
msgid "Peak amplitude:"
msgstr ""
-#: audio_region_editor.cc:90
+#: audio_region_editor.cc:91
msgid "Calculating..."
msgstr "Calculs en cours..."
-#: audio_region_view.cc:1001
+#: audio_region_view.cc:1243
msgid "add gain control point"
msgstr "ajout d'un point de contrôle de gain"
-#: audio_time_axis.cc:389
+#: audio_time_axis.cc:430 midi_time_axis.cc:619
msgid "Fader"
msgstr "Atténuateur"
-#: audio_time_axis.cc:396
+#: audio_time_axis.cc:437 editor_actions.cc:1800 mixer_strip.cc:1961
+#: monitor_section.cc:273 route_time_axis.cc:253
+msgid "Mute"
+msgstr "Muet"
+
+#: audio_time_axis.cc:445 midi_time_axis.cc:627
msgid "Pan"
msgstr "Panoramique"
-#: automation_line.cc:252 automation_line.cc:435
+#: automation_line.cc:272 automation_line.cc:453
msgid "automation event move"
msgstr "déplacement d'événement d'automation"
-#: automation_line.cc:462 automation_line.cc:483
+#: automation_line.cc:479 automation_line.cc:499
msgid "automation range move"
msgstr "déplacement d'intervalle d'automation"
-#: automation_line.cc:823 region_gain_line.cc:73
+#: automation_line.cc:854 region_gain_line.cc:72
msgid "remove control point"
msgstr "retrait de point de contrôle"
-#: automation_line.cc:941
+#: automation_line.cc:971
msgid "Ignoring illegal points on AutomationLine \"%1\""
msgstr "Les points illégaux sur la ligne d'automation \"%1\" sont ignorés"
-#: automation_region_view.cc:160 automation_time_axis.cc:583
+#: automation_region_view.cc:162 automation_time_axis.cc:627
msgid "add automation event"
msgstr "ajouter un événement d'automation à "
-#: automation_time_axis.cc:146
+#: automation_time_axis.cc:141
msgid "automation state"
msgstr "état de l'automation"
-#: automation_time_axis.cc:147
+#: automation_time_axis.cc:142
msgid "hide track"
msgstr "cacher la piste"
-#: automation_time_axis.cc:255 automation_time_axis.cc:307
-#: automation_time_axis.cc:496 gain_meter.cc:194 generic_pluginui.cc:454
-#: generic_pluginui.cc:775 panner_ui.cc:149
+#: automation_time_axis.cc:297 automation_time_axis.cc:349
+#: automation_time_axis.cc:540 gain_meter.cc:186 generic_pluginui.cc:452
+#: generic_pluginui.cc:770 panner_ui.cc:150
msgid "Automation|Manual"
msgstr "Manuel"
-#: automation_time_axis.cc:257 automation_time_axis.cc:318
-#: automation_time_axis.cc:501 editor.cc:1937 editor.cc:2014
-#: editor_actions.cc:118 editor_actions.cc:1865 gain_meter.cc:197
-#: generic_pluginui.cc:457 generic_pluginui.cc:777 midi_time_axis.cc:1488
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1494 panner_ui.cc:152
+#: automation_time_axis.cc:299 automation_time_axis.cc:360
+#: automation_time_axis.cc:545 editor.cc:1856 editor.cc:1933
+#: editor_actions.cc:122 editor_actions.cc:1916 gain_meter.cc:189
+#: generic_pluginui.cc:455 generic_pluginui.cc:772 midi_time_axis.cc:1687
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1693 panner_ui.cc:153
msgid "Play"
msgstr "Lire"
-#: automation_time_axis.cc:259 automation_time_axis.cc:329
-#: automation_time_axis.cc:506 gain_meter.cc:200 generic_pluginui.cc:460
-#: generic_pluginui.cc:779 panner_ui.cc:155
+#: automation_time_axis.cc:301 automation_time_axis.cc:371
+#: automation_time_axis.cc:550 gain_meter.cc:192 generic_pluginui.cc:458
+#: generic_pluginui.cc:774 panner_ui.cc:156
msgid "Write"
msgstr "Écrire"
-#: automation_time_axis.cc:261 automation_time_axis.cc:340
-#: automation_time_axis.cc:511 gain_meter.cc:203 generic_pluginui.cc:463
-#: generic_pluginui.cc:781 panner_ui.cc:158
+#: automation_time_axis.cc:303 automation_time_axis.cc:382
+#: automation_time_axis.cc:555 gain_meter.cc:195 generic_pluginui.cc:461
+#: generic_pluginui.cc:776 panner_ui.cc:159
msgid "Touch"
msgstr "Reprise"
-#: automation_time_axis.cc:351 generic_pluginui.cc:466 meter_patterns.cc:108
+#: automation_time_axis.cc:393 generic_pluginui.cc:464 meter_patterns.cc:112
msgid "???"
msgstr "???"
-#: automation_time_axis.cc:392
+#: automation_time_axis.cc:434
msgid "clear automation"
msgstr "effacer l'automation"
-#: automation_time_axis.cc:485 editor_actions.cc:613 editor_markers.cc:857
-#: location_ui.cc:55 plugin_selector.cc:85 route_time_axis.cc:708
+#: automation_time_axis.cc:529 editor_actions.cc:655 editor_markers.cc:871
+#: location_ui.cc:56 plugin_selector.cc:86 route_time_axis.cc:827
msgid "Hide"
msgstr "Cacher"
-#: automation_time_axis.cc:487
+#: automation_time_axis.cc:531
msgid "Clear"
msgstr "Effacer"
-#: automation_time_axis.cc:516
+#: automation_time_axis.cc:560
msgid "State"
msgstr "État"
-#: automation_time_axis.cc:531
+#: automation_time_axis.cc:575
msgid "Discrete"
msgstr ""
-#: automation_time_axis.cc:537 editor.cc:1458 editor.cc:1465 editor.cc:1521
-#: editor.cc:1527 export_format_dialog.cc:476
+#: automation_time_axis.cc:581 export_format_dialog.cc:485
msgid "Linear"
msgstr "Linéaire"
-#: automation_time_axis.cc:543 rhythm_ferret.cc:110 route_time_axis.cc:647
+#: automation_time_axis.cc:587 rhythm_ferret.cc:109 route_time_axis.cc:765
#: shuttle_control.cc:188
msgid "Mode"
msgstr "Mode"
-#: bundle_manager.cc:181
+#: bundle_manager.cc:182
msgid "Disassociate"
msgstr "Désassocier"
-#: bundle_manager.cc:185
+#: bundle_manager.cc:186
msgid "Edit Bundle"
msgstr "Raccourci pour l'édition: utiliser la touche"
-#: bundle_manager.cc:200
+#: bundle_manager.cc:201
msgid "Direction:"
msgstr ""
-#: bundle_manager.cc:205 bundle_manager.cc:209 mixer_strip.cc:158
-#: mixer_strip.cc:2127
+#: bundle_manager.cc:206 bundle_manager.cc:210 engine_dialog.cc:641
+#: mixer_strip.cc:164 mixer_strip.cc:371 mixer_strip.cc:2195
+#: rc_option_editor.cc:2198
msgid "Input"
msgstr "Entrée"
-#: bundle_manager.cc:206 bundle_manager.cc:211 bundle_manager.cc:245
-#: mixer_strip.cc:163 mixer_strip.cc:2130
+#: bundle_manager.cc:207 bundle_manager.cc:212 bundle_manager.cc:246
+#: engine_dialog.cc:643 mixer_strip.cc:168 mixer_strip.cc:375
+#: mixer_strip.cc:2198 rc_option_editor.cc:2202
msgid "Output"
msgstr "Sortie"
-#: bundle_manager.cc:264 editor.cc:1978 editor_actions.cc:90
-#: editor_actions.cc:100
+#: bundle_manager.cc:265 editor.cc:1897 editor_actions.cc:94
+#: editor_actions.cc:104 rc_option_editor.cc:1067 rc_option_editor.cc:1074
msgid "Edit"
msgstr "Édition"
-#: bundle_manager.cc:265 editor.cc:5497 editor_actions.cc:310
-#: editor_actions.cc:368 plugin_ui.cc:416 processor_box.cc:2268
-#: route_time_axis.cc:713
+#: bundle_manager.cc:266 editor.cc:5593 editor_actions.cc:335
+#: editor_actions.cc:336 editor_actions.cc:402 plugin_ui.cc:417
+#: processor_box.cc:2502 route_time_axis.cc:832
msgid "Delete"
msgstr "Supprimer"
-#: bundle_manager.cc:271 bundle_manager.cc:439 editor_route_groups.cc:96
-#: editor_routes.cc:202 midi_list_editor.cc:106 session_metadata_dialog.cc:525
+#: bundle_manager.cc:272 bundle_manager.cc:440 editor_route_groups.cc:97
+#: editor_routes.cc:204 midi_list_editor.cc:106 session_metadata_dialog.cc:525
msgid "Name"
msgstr "Nom"
-#: bundle_manager.cc:282
+#: bundle_manager.cc:283
msgid "New"
msgstr "Nouvelle..."
-#: bundle_manager.cc:332
+#: bundle_manager.cc:333
msgid "Bundle"
msgstr "Grouper"
-#: bundle_manager.cc:417
+#: bundle_manager.cc:418
msgid "Add Channel"
msgstr "Ajouter un canal"
-#: bundle_manager.cc:424
+#: bundle_manager.cc:425
msgid "Rename Channel"
msgstr "Renommer le canal"
-#: canvas-simpleline.c:111 canvas-simplerect.c:106
-msgid "x1"
-msgstr "x1"
-
-#: canvas-simpleline.c:112 canvas-simplerect.c:107
-msgid "x coordinate of upper left corner of rect"
-msgstr "coordonnée x du coin supérieur gauche du rectangle"
-
-#: canvas-simpleline.c:121 canvas-simplerect.c:116
-msgid "y1"
-msgstr "y1"
-
-#: canvas-simpleline.c:122 canvas-simplerect.c:117
-msgid "y coordinate of upper left corner of rect "
-msgstr "coordonnée y du coin supérieur gauche du rectangle"
-
-#: canvas-simpleline.c:132 canvas-simplerect.c:127
-msgid "x2"
-msgstr "x2"
-
-#: canvas-simpleline.c:133 canvas-simplerect.c:128
-msgid "x coordinate of lower right corner of rect"
-msgstr "coordonnée x du coin inférieur droit du rectangle"
-
-#: canvas-simpleline.c:142 canvas-simplerect.c:137
-msgid "y2"
-msgstr "y2"
-
-#: canvas-simpleline.c:143 canvas-simplerect.c:138
-msgid "y coordinate of lower right corner of rect "
-msgstr "coordonnée y du coin inférieur droit du rectangle"
-
-#: canvas-simpleline.c:151
-msgid "color rgba"
-msgstr "couleur RGBA"
-
-#: canvas-simpleline.c:152
-msgid "color of line"
-msgstr "couleur de la ligne"
-
-#: canvas-simplerect.c:148
-msgid "outline pixels"
-msgstr "contour"
-
-#: canvas-simplerect.c:149
-msgid "width in pixels of outline"
-msgstr "nombre de pixels du contour"
-
-#: canvas-simplerect.c:159
-msgid "outline what"
-msgstr "surligner quoi"
-
-#: canvas-simplerect.c:160
-msgid "which boundaries to outline (mask)"
-msgstr "quels contours surligner (masque)"
-
-#: canvas-simplerect.c:171
-msgid "fill"
-msgstr "remplir"
-
-#: canvas-simplerect.c:172
-msgid "fill rectangle"
-msgstr "remplir le rectangle"
-
-#: canvas-simplerect.c:179
-msgid "draw"
-msgstr "dessiner"
-
-#: canvas-simplerect.c:180
-msgid "draw rectangle"
-msgstr "dessiner un rectangle"
-
-#: canvas-simplerect.c:188
-msgid "outline color rgba"
-msgstr "couleur RGBA contour"
-
-#: canvas-simplerect.c:189
-msgid "color of outline"
-msgstr "couleur du contour"
-
-#: canvas-simplerect.c:199
-msgid "fill color rgba"
-msgstr "couleur RGBA remplissage"
-
-#: canvas-simplerect.c:200
-msgid "color of fill"
-msgstr "couleur du remplissage"
-
#: configinfo.cc:28
msgid "Build Configuration"
msgstr ""
@@ -2357,7 +2354,7 @@ msgid "Set selected notes to this length"
msgstr ""
#: edit_note_dialog.cc:58 midi_list_editor.cc:104 patch_change_dialog.cc:91
-#: step_entry.cc:393
+#: step_entry.cc:394
msgid "Channel"
msgstr "Canal"
@@ -2365,7 +2362,7 @@ msgstr "Canal"
msgid "Pitch"
msgstr ""
-#: edit_note_dialog.cc:78 step_entry.cc:407
+#: edit_note_dialog.cc:78 step_entry.cc:408
msgid "Velocity"
msgstr "Vélocité"
@@ -2373,9 +2370,9 @@ msgstr "Vélocité"
msgid "Time"
msgstr ""
-#: edit_note_dialog.cc:98 editor_regions.cc:114
-#: export_timespan_selector.cc:359 export_timespan_selector.cc:421
-#: location_ui.cc:317 midi_list_editor.cc:114 time_info_box.cc:105
+#: edit_note_dialog.cc:98 editor_regions.cc:115
+#: export_timespan_selector.cc:378 export_timespan_selector.cc:440
+#: location_ui.cc:319 midi_list_editor.cc:114 time_info_box.cc:108
msgid "Length"
msgstr "Durée:"
@@ -2383,558 +2380,576 @@ msgstr "Durée:"
msgid "edit note"
msgstr "éditer la note"
-#: editor.cc:137 editor.cc:3433
+#: editor.cc:144
msgid "CD Frames"
msgstr "Trames de CD"
-#: editor.cc:138 editor.cc:3435
-msgid "Timecode Frames"
-msgstr "Trames Timecode"
+#: editor.cc:145
+msgid "TC Frames"
+msgstr ""
-#: editor.cc:139 editor.cc:3437
-msgid "Timecode Seconds"
-msgstr "Secondes Timecode"
+#: editor.cc:146
+msgid "TC Seconds"
+msgstr ""
-#: editor.cc:140 editor.cc:3439
-msgid "Timecode Minutes"
-msgstr "Minutes Timecode"
+#: editor.cc:147
+msgid "TC Minutes"
+msgstr ""
-#: editor.cc:141 editor.cc:3441
+#: editor.cc:148
msgid "Seconds"
msgstr "Secondes"
-#: editor.cc:142 editor.cc:3443
+#: editor.cc:149
msgid "Minutes"
msgstr "Minutes"
-#: editor.cc:143 editor.cc:3417 quantize_dialog.cc:37 quantize_dialog.cc:141
+#: editor.cc:150 quantize_dialog.cc:37 quantize_dialog.cc:141
msgid "Beats/128"
msgstr "128ème de temps"
-#: editor.cc:144 editor.cc:3415 quantize_dialog.cc:38 quantize_dialog.cc:143
+#: editor.cc:151 quantize_dialog.cc:38 quantize_dialog.cc:143
msgid "Beats/64"
msgstr "64ème de temps"
-#: editor.cc:145 editor.cc:3413 quantize_dialog.cc:39 quantize_dialog.cc:145
+#: editor.cc:152 quantize_dialog.cc:39 quantize_dialog.cc:145
msgid "Beats/32"
msgstr "32ème de temps"
-#: editor.cc:146 editor.cc:3411
+#: editor.cc:153
msgid "Beats/28"
msgstr "28ème de temps"
-#: editor.cc:147 editor.cc:3409
+#: editor.cc:154
msgid "Beats/24"
msgstr "24ème de temps"
-#: editor.cc:148 editor.cc:3407
+#: editor.cc:155
msgid "Beats/20"
msgstr "20ème de temps"
-#: editor.cc:149 editor.cc:3405 quantize_dialog.cc:40 quantize_dialog.cc:147
+#: editor.cc:156 quantize_dialog.cc:40 quantize_dialog.cc:147
msgid "Beats/16"
msgstr "16ème de temps"
-#: editor.cc:150 editor.cc:3403
+#: editor.cc:157
msgid "Beats/14"
msgstr "14ème de temps"
-#: editor.cc:151 editor.cc:3401
+#: editor.cc:158
msgid "Beats/12"
msgstr "12ème de temps"
-#: editor.cc:152 editor.cc:3399
+#: editor.cc:159
msgid "Beats/10"
msgstr "10ème de temps"
-#: editor.cc:153 editor.cc:3397 quantize_dialog.cc:41 quantize_dialog.cc:149
+#: editor.cc:160 quantize_dialog.cc:41 quantize_dialog.cc:149
msgid "Beats/8"
msgstr "8ème de temps"
-#: editor.cc:154 editor.cc:3395
+#: editor.cc:161
msgid "Beats/7"
msgstr "7ème de temps"
-#: editor.cc:155 editor.cc:3393
+#: editor.cc:162
msgid "Beats/6"
msgstr "6ème de temps"
-#: editor.cc:156 editor.cc:3391
+#: editor.cc:163
msgid "Beats/5"
msgstr "5ème de temps"
-#: editor.cc:157 editor.cc:3389 quantize_dialog.cc:42 quantize_dialog.cc:151
+#: editor.cc:164 quantize_dialog.cc:42 quantize_dialog.cc:151
msgid "Beats/4"
msgstr "Quart de temps"
-#: editor.cc:158 editor.cc:3387 quantize_dialog.cc:43 quantize_dialog.cc:153
+#: editor.cc:165 quantize_dialog.cc:43 quantize_dialog.cc:153
msgid "Beats/3"
msgstr "Tiers de temps"
-#: editor.cc:159 editor.cc:3385 quantize_dialog.cc:44 quantize_dialog.cc:155
+#: editor.cc:166 quantize_dialog.cc:44 quantize_dialog.cc:155
msgid "Beats/2"
msgstr "Moitié de temps"
-#: editor.cc:160 editor.cc:3419 quantize_dialog.cc:45 quantize_dialog.cc:157
+#: editor.cc:167 quantize_dialog.cc:45 quantize_dialog.cc:157
msgid "Beats"
msgstr "Temps"
-#: editor.cc:161 editor.cc:3421
+#: editor.cc:168
msgid "Bars"
msgstr "Mesures"
-#: editor.cc:162 editor.cc:3423
+#: editor.cc:169
msgid "Marks"
msgstr "Repères"
-#: editor.cc:163 editor.cc:3425
+#: editor.cc:170
msgid "Region starts"
msgstr "Débuts de régions"
-#: editor.cc:164 editor.cc:3427
+#: editor.cc:171
msgid "Region ends"
msgstr "Fins de régions"
-#: editor.cc:165 editor.cc:3431
+#: editor.cc:172
msgid "Region syncs"
msgstr "Synchro de régions"
-#: editor.cc:166 editor.cc:3429
+#: editor.cc:173
msgid "Region bounds"
msgstr "Limites de régions"
-#: editor.cc:171 editor.cc:3459 editor_actions.cc:485
+#: editor.cc:178 editor_actions.cc:520
msgid "No Grid"
msgstr "Pas de grille"
-#: editor.cc:172 editor.cc:3461 editor_actions.cc:486
+#: editor.cc:179 editor_actions.cc:521
msgid "Grid"
msgstr "Grille"
-#: editor.cc:173 editor.cc:3463 editor_actions.cc:487
+#: editor.cc:180 editor_actions.cc:522
msgid "Magnetic"
msgstr "Magnétique"
-#: editor.cc:178 editor.cc:188 editor.cc:3502 editor.cc:3527
-#: editor_actions.cc:117 editor_actions.cc:468
+#: editor.cc:185 editor.cc:203 editor_actions.cc:121 editor_actions.cc:503
msgid "Playhead"
msgstr "Tête de lecture"
-#: editor.cc:179 editor.cc:3500 editor_actions.cc:470
+#: editor.cc:186 editor_actions.cc:505
msgid "Marker"
msgstr "Repère"
-#: editor.cc:180 editor.cc:189 editor.cc:3529 editor_actions.cc:469
+#: editor.cc:187 editor.cc:204 editor_actions.cc:504
msgid "Mouse"
msgstr "Souris"
-#: editor.cc:185 editor.cc:3521 mono_panner_editor.cc:42
+#: editor.cc:192 editor_actions.cc:512
+msgid "Slide"
+msgstr "Glissant"
+
+#: editor.cc:193
+msgid "Splice"
+msgstr "Collant"
+
+#: editor.cc:194 editor_actions.cc:511
+msgid "Ripple"
+msgstr ""
+
+#: editor.cc:195 editor_actions.cc:157 editor_actions.cc:513
+#: editor_actions.cc:1785 editor_markers.cc:874 editor_rulers.cc:260
+#: location_ui.cc:57 mixer_strip.cc:202 mixer_strip.cc:1983
+msgid "Lock"
+msgstr "Verrouillé"
+
+#: editor.cc:200 mono_panner_editor.cc:42
msgid "Left"
msgstr "Gauche"
-#: editor.cc:186 editor.cc:3523 mono_panner_editor.cc:47
+#: editor.cc:201 mono_panner_editor.cc:47
msgid "Right"
msgstr "Droite"
-#: editor.cc:187 editor.cc:3525
+#: editor.cc:202
msgid "Center"
msgstr "Centre"
-#: editor.cc:190 editor.cc:3094 editor.cc:3531
+#: editor.cc:205 editor.cc:3145
msgid "Edit point"
msgstr "Point d'édition"
-#: editor.cc:196
+#: editor.cc:211
msgid "Mushy"
msgstr "Bouillonnant"
-#: editor.cc:197
+#: editor.cc:212
msgid "Smooth"
msgstr "Lisse"
-#: editor.cc:198
+#: editor.cc:213
msgid "Balanced multitimbral mixture"
msgstr "Mélange polyphonique équilibré"
-#: editor.cc:199
+#: editor.cc:214
msgid "Unpitched percussion with stable notes"
msgstr "Percussion atonale à sons stables"
-#: editor.cc:200
+#: editor.cc:215
msgid "Crisp monophonic instrumental"
msgstr "instrumental monophonique précis"
-#: editor.cc:201
+#: editor.cc:216
msgid "Unpitched solo percussion"
msgstr "Percussion solo atonale"
-#: editor.cc:202
+#: editor.cc:217
msgid "Resample without preserving pitch"
msgstr "Rééchantillonage avec modification de la tonalité"
-#: editor.cc:235
+#: editor.cc:252
msgid "Mins:Secs"
msgstr "Minutes:Secondes"
-#: editor.cc:241
+#: editor.cc:258
msgid "Location Markers"
msgstr "Repères"
-#: editor.cc:242
+#: editor.cc:259
msgid "Range Markers"
msgstr "Repères d'intervalle"
-#: editor.cc:243
+#: editor.cc:260
msgid "Loop/Punch Ranges"
msgstr "Boucle et punch-in/out"
-#: editor.cc:244 editor_actions.cc:540
+#: editor.cc:261 editor_actions.cc:575
msgid "CD Markers"
msgstr "Marqueurs de CD"
-#: editor.cc:245
+#: editor.cc:262
msgid "Video Timeline"
msgstr ""
-#: editor.cc:260
+#: editor.cc:279
msgid "mode"
msgstr "mode"
-#: editor.cc:541
+#: editor.cc:447 editor_actions.cc:114 editor_actions.cc:574
+msgid "Markers"
+msgstr "Repères"
+
+#: editor.cc:554 rc_option_editor.cc:1830
msgid "Regions"
msgstr "Régions"
-#: editor.cc:542
+#: editor.cc:555
msgid "Tracks & Busses"
msgstr "Pistes/Bus"
-#: editor.cc:543
+#: editor.cc:556
msgid "Snapshots"
msgstr "Clichés"
-#: editor.cc:544
+#: editor.cc:557
msgid "Track & Bus Groups"
msgstr ""
-#: editor.cc:545
+#: editor.cc:558
msgid "Ranges & Marks"
msgstr "Intervalles et repères"
-#: editor.cc:690 editor.cc:5349 rc_option_editor.cc:1292
-#: rc_option_editor.cc:1300 rc_option_editor.cc:1308 rc_option_editor.cc:1316
-#: rc_option_editor.cc:1333 rc_option_editor.cc:1335 rc_option_editor.cc:1343
-#: rc_option_editor.cc:1351 rc_option_editor.cc:1371 rc_option_editor.cc:1383
-#: rc_option_editor.cc:1385 rc_option_editor.cc:1393 rc_option_editor.cc:1401
-#: rc_option_editor.cc:1409 rc_option_editor.cc:1417 rc_option_editor.cc:1432
-#: rc_option_editor.cc:1436
+#: editor.cc:706 editor.cc:5445 rc_option_editor.cc:1543
+#: rc_option_editor.cc:1551 rc_option_editor.cc:1559 rc_option_editor.cc:1567
+#: rc_option_editor.cc:1591 rc_option_editor.cc:1603 rc_option_editor.cc:1605
+#: rc_option_editor.cc:1613 rc_option_editor.cc:1621 rc_option_editor.cc:1641
+#: rc_option_editor.cc:1653 rc_option_editor.cc:1655 rc_option_editor.cc:1657
+#: rc_option_editor.cc:1665 rc_option_editor.cc:1673 rc_option_editor.cc:1681
+#: rc_option_editor.cc:1696 rc_option_editor.cc:1700
msgid "Editor"
msgstr "Éditeur"
-#: editor.cc:1215 editor.cc:1225 editor.cc:4444 editor_actions.cc:130
-#: editor_actions.cc:1813
+#: editor.cc:1288 editor.cc:4503 editor_actions.cc:134 editor_actions.cc:1861
msgid "Loop"
msgstr "Boucle"
-#: editor.cc:1231 editor.cc:1241 editor.cc:4471 editor_actions.cc:131
-#: time_info_box.cc:67
+#: editor.cc:1294 editor.cc:4530 editor_actions.cc:135 time_info_box.cc:68
msgid "Punch"
msgstr "Punch in/out"
-#: editor.cc:1353
+#: editor.cc:1406 rc_option_editor.cc:1585
msgid "Linear (for highly correlated material)"
msgstr ""
-#: editor.cc:1363 editor.cc:1500 editor.cc:1562
+#: editor.cc:1416 rc_option_editor.cc:1586
msgid "Constant power"
msgstr ""
-#: editor.cc:1372 editor.cc:1493 editor.cc:1555
+#: editor.cc:1425 rc_option_editor.cc:1587
msgid "Symmetric"
msgstr ""
-#: editor.cc:1382 editor.cc:1475 editor.cc:1537
+#: editor.cc:1435 rc_option_editor.cc:1588
msgid "Slow"
msgstr "Lent"
-#: editor.cc:1391 editor.cc:1484 editor.cc:1546 sfdb_ui.cc:1627
-#: sfdb_ui.cc:1736
+#: editor.cc:1444 rc_option_editor.cc:1589 sfdb_ui.cc:1752 sfdb_ui.cc:1862
msgid "Fast"
msgstr "Rapide"
-#: editor.cc:1438
-msgid "programming error: fade in canvas item has no regionview data pointer!"
-msgstr "programming error: fade in canvas item has no regionview data pointer!"
-
-#: editor.cc:1449 editor.cc:1513
+#: editor.cc:1464 editor.cc:1487
msgid "Deactivate"
msgstr "Désactiver"
-#: editor.cc:1451 editor.cc:1515
+#: editor.cc:1466 editor.cc:1489
msgid "Activate"
msgstr "Activer"
-#: editor.cc:1459 editor.cc:1522
-msgid "Slowest"
-msgstr "Très lent"
-
-#: editor.cc:1573 route_time_axis.cc:1877 selection.cc:1009 selection.cc:1064
-msgid "programming error: "
-msgstr "programming error: "
-
-#: editor.cc:1674 editor.cc:1682 editor_ops.cc:3522
+#: editor.cc:1590 editor.cc:1598 editor_ops.cc:3635
msgid "Freeze"
msgstr "Bloquer"
-#: editor.cc:1678
+#: editor.cc:1594
msgid "Unfreeze"
msgstr "Débloquer"
-#: editor.cc:1817
+#: editor.cc:1733
msgid "Selected Regions"
msgstr "régions sélectionnées"
-#: editor.cc:1853 editor_markers.cc:895
+#: editor.cc:1769 editor_markers.cc:909
msgid "Play Range"
msgstr "Lire l'intervalle"
-#: editor.cc:1854 editor_markers.cc:898
+#: editor.cc:1770 editor_markers.cc:912
msgid "Loop Range"
msgstr "Lire en boucle"
-#: editor.cc:1863 editor_actions.cc:332
+#: editor.cc:1773 editor_actions.cc:266 editor_markers.cc:919
+msgid "Zoom to Range"
+msgstr ""
+
+#: editor.cc:1782 editor_actions.cc:366
msgid "Move Range Start to Previous Region Boundary"
msgstr "Placer le début de l'intervalle à la fin de la région précendente"
-#: editor.cc:1870 editor_actions.cc:339
+#: editor.cc:1789 editor_actions.cc:373
msgid "Move Range Start to Next Region Boundary"
msgstr "Déplacer début d'intervalle vers limite de région suiv."
-#: editor.cc:1877 editor_actions.cc:346
+#: editor.cc:1796 editor_actions.cc:380
msgid "Move Range End to Previous Region Boundary"
msgstr "Déplacer limite d'intervalle vers limite de région préc."
-#: editor.cc:1884 editor_actions.cc:353
+#: editor.cc:1803 editor_actions.cc:387
msgid "Move Range End to Next Region Boundary"
msgstr "Déplacer fin d'intervalle vers limite de région suiv."
-#: editor.cc:1890
+#: editor.cc:1809
msgid "Convert to Region In-Place"
msgstr "Convertir en region (sur place)"
-#: editor.cc:1891
+#: editor.cc:1810
msgid "Convert to Region in Region List"
msgstr "Convertir en région (vers la liste des régions)"
-#: editor.cc:1894 editor_markers.cc:925
+#: editor.cc:1813 editor_markers.cc:939
msgid "Select All in Range"
msgstr "Sélectionner tout dans l'intervalle"
-#: editor.cc:1897
+#: editor.cc:1816
msgid "Set Loop from Range"
msgstr "Créer une boucle à partir de l'intervalle"
-#: editor.cc:1898
+#: editor.cc:1817
msgid "Set Punch from Range"
msgstr ""
-#: editor.cc:1901
+#: editor.cc:1820
msgid "Add Range Markers"
msgstr "Ajoute des repères d'intervalle"
-#: editor.cc:1904
+#: editor.cc:1823
msgid "Crop Region to Range"
msgstr "Raccourcir la région à l'intervalle"
-#: editor.cc:1905
+#: editor.cc:1824
msgid "Fill Range with Region"
msgstr ""
-#: editor.cc:1906 editor_actions.cc:289
+#: editor.cc:1825 editor_actions.cc:311
msgid "Duplicate Range"
msgstr "Dupliquer l'intervalle"
-#: editor.cc:1909
+#: editor.cc:1828
msgid "Consolidate Range"
msgstr "Consolider l'intervalle"
-#: editor.cc:1910
+#: editor.cc:1829
msgid "Consolidate Range With Processing"
msgstr ""
-#: editor.cc:1911
+#: editor.cc:1830
msgid "Bounce Range to Region List"
msgstr ""
-#: editor.cc:1912
+#: editor.cc:1831
msgid "Bounce Range to Region List With Processing"
msgstr ""
-#: editor.cc:1913 editor_markers.cc:908
+#: editor.cc:1832 editor_markers.cc:922
msgid "Export Range..."
msgstr ""
-#: editor.cc:1915
+#: editor.cc:1834
msgid "Export Video Range..."
msgstr ""
-#: editor.cc:1931 editor.cc:2012 editor_actions.cc:281
+#: editor.cc:1850 editor.cc:1931 editor_actions.cc:303
msgid "Play From Edit Point"
msgstr "Lire depuis le point d'édition"
-#: editor.cc:1932 editor.cc:2013
+#: editor.cc:1851 editor.cc:1932
msgid "Play From Start"
msgstr "Lire depuis le début"
-#: editor.cc:1933
+#: editor.cc:1852
msgid "Play Region"
msgstr "Lire la région"
-#: editor.cc:1935
+#: editor.cc:1854
msgid "Loop Region"
msgstr "Lire la région en boucle"
-#: editor.cc:1945 editor.cc:2022
+#: editor.cc:1864 editor.cc:1941
msgid "Select All in Track"
msgstr "Sélectionner tout dans la piste"
-#: editor.cc:1946 editor.cc:2023 editor_actions.cc:185
-#: export_timespan_selector.cc:53 processor_box.cc:2276
-msgid "Select All"
-msgstr "Sélectionner tout"
+#: editor.cc:1865 editor.cc:1942 editor_actions.cc:194
+msgid "Select All Objects"
+msgstr ""
-#: editor.cc:1947 editor.cc:2024
+#: editor.cc:1866 editor.cc:1943
msgid "Invert Selection in Track"
msgstr "Inverser la sélection dans la piste"
-#: editor.cc:1948 editor.cc:2025 editor_actions.cc:187
+#: editor.cc:1867 editor.cc:1944 editor_actions.cc:197
msgid "Invert Selection"
msgstr "Inverser la sélection"
-#: editor.cc:1950
+#: editor.cc:1869
msgid "Set Range to Loop Range"
msgstr ""
-#: editor.cc:1951
+#: editor.cc:1870
msgid "Set Range to Punch Range"
msgstr ""
-#: editor.cc:1953 editor.cc:2027 editor_actions.cc:188
+#: editor.cc:1872 editor.cc:1946 editor_actions.cc:199 editor_actions.cc:200
msgid "Select All After Edit Point"
msgstr "Tout après le point d'édition"
-#: editor.cc:1954 editor.cc:2028 editor_actions.cc:189
+#: editor.cc:1873 editor.cc:1947 editor_actions.cc:201 editor_actions.cc:202
msgid "Select All Before Edit Point"
msgstr "Tout avant le point d'édition"
-#: editor.cc:1955 editor.cc:2029
+#: editor.cc:1874 editor.cc:1948
msgid "Select All After Playhead"
msgstr "Tout après la tête de lecture"
-#: editor.cc:1956 editor.cc:2030
+#: editor.cc:1875 editor.cc:1949
msgid "Select All Before Playhead"
msgstr "Tout avant la tête de lecture"
-#: editor.cc:1957
+#: editor.cc:1876
msgid "Select All Between Playhead and Edit Point"
msgstr "Sélectionner tout entre la tête de lecture et le point d'édition"
-#: editor.cc:1958
+#: editor.cc:1877
msgid "Select All Within Playhead and Edit Point"
msgstr ""
-#: editor.cc:1959
+#: editor.cc:1878
msgid "Select Range Between Playhead and Edit Point"
msgstr "Selectionner de la tête de lecture jusqu'au point d'édition"
-#: editor.cc:1961 editor.cc:2032 editor_actions.cc:127 editor_actions.cc:128
+#: editor.cc:1880 editor.cc:1951 editor_actions.cc:131 editor_actions.cc:132
msgid "Select"
msgstr "Sélectionner"
-#: editor.cc:1969 editor.cc:2040 editor_actions.cc:309 processor_box.cc:2261
+#: editor.cc:1888 editor.cc:1959 editor_actions.cc:334 processor_box.cc:2495
msgid "Cut"
msgstr "Couper"
-#: editor.cc:1970 editor.cc:2041 editor_actions.cc:312 processor_box.cc:2264
+#: editor.cc:1889 editor.cc:1960 editor_actions.cc:338 processor_box.cc:2498
msgid "Copy"
msgstr "Copier"
-#: editor.cc:1971 editor.cc:2042 editor_actions.cc:313 processor_box.cc:2272
+#: editor.cc:1890 editor.cc:1961 editor_actions.cc:339 processor_box.cc:2506
msgid "Paste"
msgstr "Coller"
-#: editor.cc:1975 editor_actions.cc:87
+#: editor.cc:1894 editor_actions.cc:91
msgid "Align"
msgstr "Aligner"
-#: editor.cc:1976
+#: editor.cc:1895
msgid "Align Relative"
msgstr "Aligner relativement"
-#: editor.cc:1983
+#: editor.cc:1902
msgid "Insert Selected Region"
msgstr "Insérer la région sélectionnée"
-#: editor.cc:1984
+#: editor.cc:1903
msgid "Insert Existing Media"
msgstr "Insérer des fichiers audio externes"
-#: editor.cc:1993 editor.cc:2049
+#: editor.cc:1912 editor.cc:1968
msgid "Nudge Entire Track Later"
msgstr ""
-#: editor.cc:1994 editor.cc:2050
+#: editor.cc:1913 editor.cc:1969
msgid "Nudge Track After Edit Point Later"
msgstr ""
-#: editor.cc:1995 editor.cc:2051
+#: editor.cc:1914 editor.cc:1970
msgid "Nudge Entire Track Earlier"
msgstr "Décaler toute la piste à gauche"
-#: editor.cc:1996 editor.cc:2052
+#: editor.cc:1915 editor.cc:1971
msgid "Nudge Track After Edit Point Earlier"
msgstr "Décaler la piste à gauche après le point d'édition"
-#: editor.cc:1998 editor.cc:2054
+#: editor.cc:1917 editor.cc:1973
msgid "Nudge"
msgstr "Décaler"
-#: editor.cc:3074
+#: editor.cc:2916 editor.cc:3491 editor.cc:3561 midi_channel_selector.cc:159
+#: midi_channel_selector.cc:397 midi_channel_selector.cc:433
+msgid "All"
+msgstr "Tout"
+
+#: editor.cc:3122
msgid "Smart Mode (add Range functions to Object mode)"
msgstr "Mode Smart (ajoute des fonctions d'intervalle au mode Object)"
-#: editor.cc:3075
+#: editor.cc:3123
msgid "Object Mode (select/move Objects)"
msgstr "Mode Objet (Sélectionner/déplacer des objets)"
-#: editor.cc:3076
+#: editor.cc:3124
+msgid "Cut Mode (split Regions)"
+msgstr ""
+
+#: editor.cc:3125
msgid "Range Mode (select/move Ranges)"
msgstr "Mode Intervalles (sélectionner/déplacer des intervalles)"
-#: editor.cc:3077
+#: editor.cc:3126
msgid "Draw/Edit MIDI Notes"
msgstr "Ajouter/éditer les notes MIDI"
-#: editor.cc:3078
+#: editor.cc:3127
msgid "Draw Region Gain"
msgstr "Éditer le gain de la région"
-#: editor.cc:3079
+#: editor.cc:3128
msgid "Select Zoom Range"
msgstr "Sélectionner la zone de zoom"
-#: editor.cc:3080
+#: editor.cc:3129
msgid "Stretch/Shrink Regions and MIDI Notes"
msgstr "Étirer/contracter des régions et des notes MIDI"
-#: editor.cc:3081
+#: editor.cc:3130
msgid "Listen to Specific Regions"
msgstr "Écouter des régions spécifiques"
-#: editor.cc:3082
+#: editor.cc:3131
msgid "Note Level Editing"
msgstr ""
-#: editor.cc:3083
+#: editor.cc:3132
msgid ""
"Groups: click to (de)activate\n"
"Context-click for other operations"
@@ -2943,89 +2958,182 @@ msgstr ""
"un groupe.\n"
"Clic droit pour les autres options."
-#: editor.cc:3084
+#: editor.cc:3133
msgid "Nudge Region/Selection Later"
msgstr ""
-#: editor.cc:3085
+#: editor.cc:3134
msgid "Nudge Region/Selection Earlier"
msgstr "Décaler vers la gauche (région ou sélection)"
-#: editor.cc:3086 editor_actions.cc:242
+#: editor.cc:3135 editor_actions.cc:262
msgid "Zoom In"
msgstr "Zoom avant"
-#: editor.cc:3087 editor_actions.cc:241
+#: editor.cc:3136 editor_actions.cc:261
msgid "Zoom Out"
msgstr "Zoom arrière"
-#: editor.cc:3088 editor_actions.cc:243
+#: editor.cc:3137
+msgid "Zoom to Time Scale"
+msgstr ""
+
+#: editor.cc:3138 editor.cc:3513 editor_actions.cc:263
msgid "Zoom to Session"
msgstr "Montrer toute la session"
-#: editor.cc:3089
+#: editor.cc:3139
msgid "Zoom focus"
msgstr "Zoomer vers"
-#: editor.cc:3090
+#: editor.cc:3140
msgid "Expand Tracks"
msgstr "Agrandir la taille des pistes"
-#: editor.cc:3091
+#: editor.cc:3141
msgid "Shrink Tracks"
msgstr "Réduire la taille des pistes"
-#: editor.cc:3092
+#: editor.cc:3142
+msgid "Number of visible tracks"
+msgstr ""
+
+#: editor.cc:3143
msgid "Snap/Grid Units"
msgstr "Unités d'alignement/grille"
-#: editor.cc:3093
+#: editor.cc:3144
msgid "Snap/Grid Mode"
msgstr "Mode d'alignement/grille"
-#: editor.cc:3095
+#: editor.cc:3146
msgid "Edit Mode"
msgstr "Mode d'édition"
-#: editor.cc:3096
+#: editor.cc:3147
msgid ""
"Nudge Clock\n"
"(controls distance used to nudge regions and selections)"
msgstr ""
-#: editor.cc:3198
-msgid "malformed URL passed to drag-n-drop code"
-msgstr "URL incorrecte transmise"
-
-#: editor.cc:3260 editor_actions.cc:291
+#: editor.cc:3285 editor_actions.cc:313
msgid "Command|Undo"
msgstr "Annuler"
-#: editor.cc:3262
+#: editor.cc:3287
msgid "Command|Undo (%1)"
msgstr "Annuler (%1)"
-#: editor.cc:3269 editor_actions.cc:292
+#: editor.cc:3294 editor_actions.cc:315 editor_actions.cc:316
+#: editor_actions.cc:317
msgid "Redo"
msgstr "Refaire"
-#: editor.cc:3271
+#: editor.cc:3296
msgid "Redo (%1)"
msgstr "Refaire (%1)"
-#: editor.cc:3290 editor.cc:3314 editor_actions.cc:106 editor_actions.cc:1794
+#: editor.cc:3315 editor.cc:3339 editor_actions.cc:110 editor_actions.cc:1842
msgid "Duplicate"
msgstr "Dupliquer"
-#: editor.cc:3291
+#: editor.cc:3316
msgid "Number of duplications:"
msgstr "Nombre de duplications:"
-#: editor.cc:3868
+#: editor.cc:3490
+msgid "Selected"
+msgstr ""
+
+#: editor.cc:3493
+msgid "Fit 1 track"
+msgstr ""
+
+#: editor.cc:3494
+msgid "Fit 2 tracks"
+msgstr ""
+
+#: editor.cc:3495
+msgid "Fit 4 tracks"
+msgstr ""
+
+#: editor.cc:3496
+msgid "Fit 8 tracks"
+msgstr ""
+
+#: editor.cc:3497
+msgid "Fit 16 tracks"
+msgstr ""
+
+#: editor.cc:3498
+msgid "Fit 24 tracks"
+msgstr ""
+
+#: editor.cc:3499
+msgid "Fit 32 tracks"
+msgstr ""
+
+#: editor.cc:3500
+msgid "Fit 48 tracks"
+msgstr ""
+
+#: editor.cc:3501
+msgid "Fit All tracks"
+msgstr ""
+
+#: editor.cc:3502
+msgid "Fit Selected tracks"
+msgstr ""
+
+#: editor.cc:3504
+msgid "Zoom to 10 ms"
+msgstr ""
+
+#: editor.cc:3505
+msgid "Zoom to 100 ms"
+msgstr ""
+
+#: editor.cc:3506
+msgid "Zoom to 1 sec"
+msgstr ""
+
+#: editor.cc:3507
+msgid "Zoom to 10 sec"
+msgstr ""
+
+#: editor.cc:3508
+msgid "Zoom to 1 min"
+msgstr ""
+
+#: editor.cc:3509
+msgid "Zoom to 10 min"
+msgstr ""
+
+#: editor.cc:3510
+msgid "Zoom to 1 hour"
+msgstr ""
+
+#: editor.cc:3511
+msgid "Zoom to 8 hours"
+msgstr ""
+
+#: editor.cc:3512
+msgid "Zoom to 24 hours"
+msgstr ""
+
+#: editor.cc:3514
+msgid "Zoom to Range/Region Selection"
+msgstr ""
+
+#: editor.cc:3583
+msgid "*"
+msgstr ""
+
+#: editor.cc:3918
msgid "Playlist Deletion"
msgstr "Suppression de la liste de lecture"
-#: editor.cc:3869
+#: editor.cc:3919
msgid ""
"Playlist %1 is currently unused.\n"
"If it is kept, its audio files will not be cleaned.\n"
@@ -3035,1308 +3143,1300 @@ msgstr ""
"Si vous la conservez, aucun fichier audio qu'elle utilise ne sera nettoyé.\n"
"Si vous l'effacez, les fichiers audio qu'elle seule utilise seront nettoyés."
-#: editor.cc:3879
+#: editor.cc:3929
msgid "Delete Playlist"
msgstr "Supprimer la liste de lecture"
-#: editor.cc:3880
+#: editor.cc:3930
msgid "Keep Playlist"
msgstr "Garder la liste de lecture"
-#: editor.cc:3881 editor_audio_import.cc:581 editor_ops.cc:5856
-#: engine_dialog.cc:1711 sfdb_freesound_mootcher.cc:69 processor_box.cc:2030
-#: processor_box.cc:2055
+#: editor.cc:3931 editor_audio_import.cc:579 editor_ops.cc:5931
+#: engine_dialog.cc:1985 sfdb_freesound_mootcher.cc:69 processor_box.cc:2263
+#: processor_box.cc:2288
msgid "Cancel"
msgstr "Annuler"
-#: editor.cc:4025
+#: editor.cc:4065
msgid "new playlists"
msgstr "nouvelles listes de lecture"
-#: editor.cc:4041
+#: editor.cc:4081
msgid "copy playlists"
msgstr "copier les listes de lecture"
-#: editor.cc:4056
+#: editor.cc:4096
msgid "clear playlists"
msgstr "effacer les listes de lecture"
-#: editor.cc:4691
+#: editor.cc:4771
msgid "Please wait while %1 loads visual data."
msgstr "Veuillez patienter pendant que %1 charge les données graphiques."
-#: editor.cc:5496 editor_markers.cc:940 panner_ui.cc:392 processor_box.cc:2292
+#: editor.cc:5592 editor_markers.cc:954 panner_ui.cc:409 processor_box.cc:2526
msgid "Edit..."
msgstr "Éditer..."
-#: editor_actions.cc:88
+#: editor_actions.cc:92
msgid "Autoconnect"
msgstr "Connexions automatiques"
-#: editor_actions.cc:89
+#: editor_actions.cc:93
msgid "Crossfades"
msgstr "Fondus enchaînés"
-#: editor_actions.cc:91
+#: editor_actions.cc:95
msgid "Move Selected Marker"
msgstr "Déplacer le repère sélectionné"
-#: editor_actions.cc:92
+#: editor_actions.cc:96
msgid "Select Range Operations"
msgstr "Opérations sur zone de sélection"
-#: editor_actions.cc:93
+#: editor_actions.cc:97
msgid "Select Regions"
msgstr "Sélection de régions"
-#: editor_actions.cc:94
+#: editor_actions.cc:98
msgid "Edit Point"
msgstr "Point d'édition"
-#: editor_actions.cc:95
+#: editor_actions.cc:99
msgid "Fade"
msgstr "Fondu"
-#: editor_actions.cc:96
+#: editor_actions.cc:100
msgid "Latch"
msgstr ""
-#: editor_actions.cc:97 editor_regions.cc:111 region_editor.cc:46
+#: editor_actions.cc:101 editor_regions.cc:112 region_editor.cc:45
msgid "Region"
msgstr "Régions"
-#: editor_actions.cc:98
+#: editor_actions.cc:102
msgid "Layering"
msgstr "Empilement des régions"
-#: editor_actions.cc:99 editor_regions.cc:112 gtk-custom-ruler.c:152
-#: stereo_panner_editor.cc:44
+#: editor_actions.cc:103 editor_regions.cc:113 stereo_panner_editor.cc:44
msgid "Position"
msgstr "Position"
-#: editor_actions.cc:101 gain_meter.cc:120 gain_meter.cc:794 panner_ui.cc:176
-#: panner_ui.cc:585
+#: editor_actions.cc:105 gain_meter.cc:122 gain_meter.cc:800 panner_ui.cc:177
+#: panner_ui.cc:634
msgid "Trim"
msgstr "Rogner"
-#: editor_actions.cc:102 editor_actions.cc:122 route_group_dialog.cc:40
+#: editor_actions.cc:106 editor_actions.cc:126 route_group_dialog.cc:46
msgid "Gain"
msgstr "Gain"
-#: editor_actions.cc:103 editor_actions.cc:538
+#: editor_actions.cc:107 editor_actions.cc:573
msgid "Ranges"
msgstr "Intervalles"
-#: editor_actions.cc:104 editor_actions.cc:1790 session_option_editor.cc:145
-#: session_option_editor.cc:147 session_option_editor.cc:156
-#: session_option_editor.cc:163
+#: editor_actions.cc:108 editor_actions.cc:1838 session_option_editor.cc:135
+#: session_option_editor.cc:144 session_option_editor.cc:151
msgid "Fades"
msgstr "Fondus"
-#: editor_actions.cc:107
+#: editor_actions.cc:111
msgid "Link"
msgstr "Lien"
-#: editor_actions.cc:108 editor_actions.cc:141
+#: editor_actions.cc:112 editor_actions.cc:145
msgid "Zoom Focus"
msgstr "Zoomer vers"
-#: editor_actions.cc:109
+#: editor_actions.cc:113
msgid "Locate to Markers"
msgstr "Déplacer aux repères"
-#: editor_actions.cc:110 editor_actions.cc:539
-msgid "Markers"
-msgstr "Repères"
-
-#: editor_actions.cc:111
+#: editor_actions.cc:115
msgid "Meter falloff"
msgstr "Taux de chute du VU-mètre"
-#: editor_actions.cc:112
+#: editor_actions.cc:116
msgid "Meter hold"
msgstr "Maintien de la crête de VU-mètre"
-#: editor_actions.cc:113 session_option_editor.cc:234
+#: editor_actions.cc:117 session_option_editor.cc:321
msgid "MIDI Options"
msgstr "Options MIDI"
-#: editor_actions.cc:114
+#: editor_actions.cc:118
msgid "Misc Options"
msgstr "Autres options"
-#: editor_actions.cc:115 rc_option_editor.cc:1450 route_group_dialog.cc:48
-#: session_option_editor.cc:218 session_option_editor.cc:225
+#: editor_actions.cc:119 rc_option_editor.cc:1714 route_group_dialog.cc:54
+#: session_option_editor.cc:243 session_option_editor.cc:250
msgid "Monitoring"
msgstr "Monitoring"
-#: editor_actions.cc:116
+#: editor_actions.cc:120
msgid "Active Mark"
msgstr "Repère actif"
-#: editor_actions.cc:119
+#: editor_actions.cc:123
msgid "Primary Clock"
msgstr "Horloge principale"
-#: editor_actions.cc:120
+#: editor_actions.cc:124
msgid "Pullup / Pulldown"
msgstr "Pullup / Pulldown"
-#: editor_actions.cc:121
+#: editor_actions.cc:125
msgid "Region operations"
msgstr "Opérations sur les régions"
-#: editor_actions.cc:123
+#: editor_actions.cc:127 ruler_dialog.cc:28
msgid "Rulers"
msgstr "Grille"
-#: editor_actions.cc:124
+#: editor_actions.cc:128
msgid "Views"
msgstr "Vues"
-#: editor_actions.cc:125
+#: editor_actions.cc:129
msgid "Scroll"
msgstr "Défilement"
-#: editor_actions.cc:126
+#: editor_actions.cc:130
msgid "Secondary Clock"
msgstr "Horloge secondaire"
-#: editor_actions.cc:129 editor_actions.cc:297
+#: editor_actions.cc:133 editor_actions.cc:322
msgid "Separate"
msgstr "Séparer"
-#: editor_actions.cc:132 mixer_strip.cc:1914 route_time_axis.cc:208
-#: route_time_axis.cc:2417
-msgid "Solo"
-msgstr "Solo"
-
-#: editor_actions.cc:133
+#: editor_actions.cc:137
msgid "Subframes"
msgstr "Sous-trames"
-#: editor_actions.cc:136
+#: editor_actions.cc:140
msgid "Timecode fps"
msgstr "Timecode (trames/s)"
-#: editor_actions.cc:137 route_time_axis.cc:430
+#: editor_actions.cc:141 route_time_axis.cc:548
msgid "Height"
msgstr "Hauteur"
-#: editor_actions.cc:139
+#: editor_actions.cc:143
msgid "Tools"
msgstr "Outils"
-#: editor_actions.cc:140
+#: editor_actions.cc:144
msgid "View"
msgstr "Affichage"
-#: editor_actions.cc:142
+#: editor_actions.cc:146
msgid "Zoom"
msgstr "Zoom"
-#: editor_actions.cc:148
+#: editor_actions.cc:152
msgid "Break drag or deselect all"
msgstr ""
-#: editor_actions.cc:150
+#: editor_actions.cc:159
msgid "Show Editor Mixer"
msgstr "Afficher la tranche de mixage"
-#: editor_actions.cc:151
+#: editor_actions.cc:160
msgid "Show Editor List"
msgstr "Barre latérale des onglets"
-#: editor_actions.cc:153
+#: editor_actions.cc:162
msgid "Playhead to Next Region Boundary"
msgstr "Tête de lecture vers limite de région suiv."
-#: editor_actions.cc:154
+#: editor_actions.cc:163
msgid "Playhead to Next Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:155
+#: editor_actions.cc:164
msgid "Playhead to Previous Region Boundary"
msgstr "Tête de lecture vers limite de région préc."
-#: editor_actions.cc:156
+#: editor_actions.cc:165
msgid "Playhead to Previous Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:158
+#: editor_actions.cc:167
msgid "Playhead to Next Region Start"
msgstr "début de la région suivante"
-#: editor_actions.cc:159
+#: editor_actions.cc:168
msgid "Playhead to Next Region End"
msgstr "Fin de la région suivante"
-#: editor_actions.cc:160
+#: editor_actions.cc:169
msgid "Playhead to Next Region Sync"
msgstr ""
-#: editor_actions.cc:162
+#: editor_actions.cc:171
msgid "Playhead to Previous Region Start"
msgstr "début de la région précédente"
-#: editor_actions.cc:163
+#: editor_actions.cc:172
msgid "Playhead to Previous Region End"
msgstr "fin de la région précédente"
-#: editor_actions.cc:164
+#: editor_actions.cc:173
msgid "Playhead to Previous Region Sync"
msgstr ""
-#: editor_actions.cc:166
+#: editor_actions.cc:175
msgid "To Next Region Boundary"
msgstr ""
-#: editor_actions.cc:167
+#: editor_actions.cc:176
msgid "To Next Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:168
+#: editor_actions.cc:177
msgid "To Previous Region Boundary"
msgstr ""
-#: editor_actions.cc:169
+#: editor_actions.cc:178
msgid "To Previous Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:171
+#: editor_actions.cc:180
msgid "To Next Region Start"
msgstr ""
-#: editor_actions.cc:172
+#: editor_actions.cc:181
msgid "To Next Region End"
msgstr ""
-#: editor_actions.cc:173
+#: editor_actions.cc:182
msgid "To Next Region Sync"
msgstr ""
-#: editor_actions.cc:175
+#: editor_actions.cc:184
msgid "To Previous Region Start"
msgstr ""
-#: editor_actions.cc:176
+#: editor_actions.cc:185
msgid "To Previous Region End"
msgstr ""
-#: editor_actions.cc:177
+#: editor_actions.cc:186
msgid "To Previous Region Sync"
msgstr ""
-#: editor_actions.cc:179
+#: editor_actions.cc:188
msgid "To Range Start"
msgstr ""
-#: editor_actions.cc:180
+#: editor_actions.cc:189
msgid "To Range End"
msgstr ""
-#: editor_actions.cc:182
+#: editor_actions.cc:191
msgid "Playhead to Range Start"
msgstr "début de la région"
-#: editor_actions.cc:183
+#: editor_actions.cc:192
msgid "Playhead to Range End"
msgstr "fin de la région"
-#: editor_actions.cc:186 export_timespan_selector.cc:61 processor_box.cc:2278
+#: editor_actions.cc:195
+msgid "Select All Tracks"
+msgstr ""
+
+#: editor_actions.cc:196 export_timespan_selector.cc:61 processor_box.cc:2512
msgid "Deselect All"
msgstr "Désélectionner tout"
-#: editor_actions.cc:191
+#: editor_actions.cc:204
msgid "Select All Overlapping Edit Range"
msgstr "Sélectionner tout ce qui chevauche avec l'intervalle"
-#: editor_actions.cc:192
+#: editor_actions.cc:205
msgid "Select All Inside Edit Range"
msgstr "Sélectionner tout à l'intérieur de l'intervalle"
-#: editor_actions.cc:194
+#: editor_actions.cc:207
msgid "Select Edit Range"
msgstr ""
-#: editor_actions.cc:196
+#: editor_actions.cc:209
msgid "Select All in Punch Range"
msgstr "Sélectionner tout dans l'intervalle de punch in/out"
-#: editor_actions.cc:197
+#: editor_actions.cc:210
msgid "Select All in Loop Range"
msgstr "Sélectionner tout dans l'intervalle de boucle"
-#: editor_actions.cc:199
+#: editor_actions.cc:212
msgid "Select Next Track or Bus"
msgstr "Sélectionner piste/bus suivant"
-#: editor_actions.cc:200
+#: editor_actions.cc:213
msgid "Select Previous Track or Bus"
msgstr "Sélectionner piste/bus précédent"
-#: editor_actions.cc:202
+#: editor_actions.cc:215
msgid "Toggle Record Enable"
msgstr "Armer/Désarmer"
-#: editor_actions.cc:204
+#: editor_actions.cc:217
msgid "Toggle Solo"
msgstr ""
-#: editor_actions.cc:206
+#: editor_actions.cc:219
msgid "Toggle Mute"
msgstr ""
-#: editor_actions.cc:208
+#: editor_actions.cc:221
msgid "Toggle Solo Isolate"
msgstr ""
-#: editor_actions.cc:213
+#: editor_actions.cc:226
msgid "Save View %1"
msgstr "Enregistrer la vue %1"
-#: editor_actions.cc:219
+#: editor_actions.cc:232
msgid "Goto View %1"
msgstr "Charger la vue %1"
-#: editor_actions.cc:225
+#: editor_actions.cc:238
msgid "Locate to Mark %1"
msgstr "Se placer au repère %1"
-#: editor_actions.cc:229
+#: editor_actions.cc:242 editor_actions.cc:243
msgid "Jump to Next Mark"
msgstr ""
-#: editor_actions.cc:230
+#: editor_actions.cc:244 editor_actions.cc:245
msgid "Jump to Previous Mark"
msgstr "Sauter à la marque précédente"
-#: editor_actions.cc:231
+#: editor_actions.cc:247 editor_actions.cc:248
msgid "Add Mark from Playhead"
msgstr "créer un repère à la tête de lecture"
-#: editor_actions.cc:233
+#: editor_actions.cc:250 editor_actions.cc:251
+msgid "Remove Mark at Playhead"
+msgstr ""
+
+#: editor_actions.cc:253
msgid "Nudge Next Later"
msgstr ""
-#: editor_actions.cc:234
+#: editor_actions.cc:254
msgid "Nudge Next Earlier"
msgstr "Décaler suivant vers la gauche"
-#: editor_actions.cc:236
+#: editor_actions.cc:256
msgid "Nudge Playhead Forward"
msgstr "Décaler la tête de lecture vers la droite"
-#: editor_actions.cc:237
+#: editor_actions.cc:257
msgid "Nudge Playhead Backward"
msgstr "Décaler la tête de lecture vers la gauche"
-#: editor_actions.cc:238
+#: editor_actions.cc:258
msgid "Playhead To Next Grid"
msgstr ""
-#: editor_actions.cc:239
+#: editor_actions.cc:259
msgid "Playhead To Previous Grid"
msgstr ""
-#: editor_actions.cc:244
+#: editor_actions.cc:264
msgid "Zoom to Region"
msgstr "Montrer toute la session"
-#: editor_actions.cc:245
+#: editor_actions.cc:265
msgid "Zoom to Region (Width and Height)"
msgstr "Zoomer sur la région (hauteur et largeur)"
-#: editor_actions.cc:246
+#: editor_actions.cc:267
+msgid "Zoom to Range (Width and Height)"
+msgstr ""
+
+#: editor_actions.cc:268
msgid "Toggle Zoom State"
msgstr "Commuter l'état du zoom"
-#: editor_actions.cc:248
+#: editor_actions.cc:270
msgid "Expand Track Height"
msgstr "Augmenter la hauteur de la piste"
-#: editor_actions.cc:249
+#: editor_actions.cc:271
msgid "Shrink Track Height"
msgstr "Diminuer la hauteur de la piste"
-#: editor_actions.cc:251
+#: editor_actions.cc:273
msgid "Move Selected Tracks Up"
msgstr "Déplacer vers le haut"
-#: editor_actions.cc:253
+#: editor_actions.cc:275
msgid "Move Selected Tracks Down"
msgstr "Déplacer vers le bas"
-#: editor_actions.cc:256
+#: editor_actions.cc:278
msgid "Scroll Tracks Up"
msgstr "Monter d'une page"
-#: editor_actions.cc:258
+#: editor_actions.cc:280
msgid "Scroll Tracks Down"
msgstr "Descendre d'une page"
-#: editor_actions.cc:260
+#: editor_actions.cc:282
msgid "Step Tracks Up"
msgstr "défiler vers le haut"
-#: editor_actions.cc:262
+#: editor_actions.cc:284
msgid "Step Tracks Down"
msgstr "défiler vers le bas"
-#: editor_actions.cc:265
+#: editor_actions.cc:287
msgid "Scroll Backward"
msgstr "Défiler en arrière"
-#: editor_actions.cc:266
+#: editor_actions.cc:288
msgid "Scroll Forward"
msgstr "Défiler en avant"
-#: editor_actions.cc:267
+#: editor_actions.cc:289
msgid "Center Playhead"
msgstr "Centrer sur la tête de lecture"
-#: editor_actions.cc:268
+#: editor_actions.cc:290
msgid "Center Edit Point"
msgstr ""
-#: editor_actions.cc:270
+#: editor_actions.cc:292
msgid "Playhead Forward"
msgstr ""
-#: editor_actions.cc:271
+#: editor_actions.cc:293
msgid "Playhead Backward"
msgstr "tête de lecture en arrière"
-#: editor_actions.cc:273
+#: editor_actions.cc:295
msgid "Playhead to Active Mark"
msgstr "Déplacer la tête de lecture vers le repère actif"
-#: editor_actions.cc:274
+#: editor_actions.cc:296
msgid "Active Mark to Playhead"
msgstr "Déplacer le repère actif vers la tête de lecture"
-#: editor_actions.cc:276
+#: editor_actions.cc:298
msgid "Set Loop from Edit Range"
msgstr "Créer une boucle à partir de l'intervalle d'édition"
-#: editor_actions.cc:277
+#: editor_actions.cc:299
msgid "Set Punch from Edit Range"
msgstr "Définir le punch depuis l'intervalle d'édition"
-#: editor_actions.cc:280
+#: editor_actions.cc:302
msgid "Play Selected Regions"
msgstr "Lire les régions sélectionnées"
-#: editor_actions.cc:282
+#: editor_actions.cc:304
msgid "Play from Edit Point and Return"
msgstr "Lire depuis le point d'édition et revenir"
-#: editor_actions.cc:284
+#: editor_actions.cc:306
msgid "Play Edit Range"
msgstr "Lire l'intervalle d'édition"
-#: editor_actions.cc:286
+#: editor_actions.cc:308
msgid "Playhead to Mouse"
msgstr "Placer sur le curseur d'édition"
-#: editor_actions.cc:287
+#: editor_actions.cc:309
msgid "Active Marker to Mouse"
msgstr "Déplacer le Repère actif vers la souris"
-#: editor_actions.cc:294
+#: editor_actions.cc:319
msgid "Export Audio"
msgstr ""
-#: editor_actions.cc:295 export_dialog.cc:406
+#: editor_actions.cc:320 export_dialog.cc:396
msgid "Export Range"
msgstr "Exporter la zone de sélection"
-#: editor_actions.cc:300
+#: editor_actions.cc:325
msgid "Separate Using Punch Range"
msgstr "Séparer suivant l'intervalle de punch"
-#: editor_actions.cc:303
+#: editor_actions.cc:328
msgid "Separate Using Loop Range"
msgstr "Séparer suivant la boucle"
-#: editor_actions.cc:306 editor_actions.cc:323
+#: editor_actions.cc:331 editor_actions.cc:353
msgid "Crop"
msgstr "Découper"
-#: editor_actions.cc:315
+#: editor_actions.cc:341
+msgid "Fade Range Selection"
+msgstr ""
+
+#: editor_actions.cc:343
msgid "Set Tempo from Edit Range = Bar"
msgstr ""
-#: editor_actions.cc:317
+#: editor_actions.cc:345
msgid "Log"
msgstr "Log"
-#: editor_actions.cc:320
+#: editor_actions.cc:348 editor_actions.cc:349
msgid "Move Later to Transient"
msgstr ""
-#: editor_actions.cc:321
+#: editor_actions.cc:350 editor_actions.cc:351
msgid "Move Earlier to Transient"
msgstr "Reculer à l'éphémère précédant"
-#: editor_actions.cc:325
+#: editor_actions.cc:355 editor_actions.cc:358
msgid "Start Range"
msgstr "Zone de début"
-#: editor_actions.cc:326
+#: editor_actions.cc:356 editor_actions.cc:359
msgid "Finish Range"
msgstr "Zone de fin"
-#: editor_actions.cc:327
-msgid "Finish Add Range"
-msgstr "Terminer l'ajout d'intervalle"
-
-#: editor_actions.cc:357
+#: editor_actions.cc:391
msgid "Follow Playhead"
msgstr "Suivre la tête de lecture"
-#: editor_actions.cc:358
+#: editor_actions.cc:392
msgid "Remove Last Capture"
msgstr "Détruire le dernier enregistr."
-#: editor_actions.cc:360
+#: editor_actions.cc:394
msgid "Stationary Playhead"
msgstr ""
-#: editor_actions.cc:362 insert_time_dialog.cc:32
+#: editor_actions.cc:396 insert_time_dialog.cc:32
msgid "Insert Time"
msgstr ""
-#: editor_actions.cc:365
+#: editor_actions.cc:399
msgid "Toggle Active"
msgstr "Activer/Désactiver"
-#: editor_actions.cc:370 editor_actions.cc:1716 editor_markers.cc:876
-#: editor_markers.cc:941 editor_snapshots.cc:121 mixer_strip.cc:1495
-#: route_time_axis.cc:710
+#: editor_actions.cc:404 editor_actions.cc:1764 editor_markers.cc:890
+#: editor_markers.cc:955 editor_snapshots.cc:122 mixer_strip.cc:1506
+#: route_time_axis.cc:829
msgid "Remove"
msgstr "Supprimer"
-#: editor_actions.cc:374
+#: editor_actions.cc:408
msgid "Fit Selected Tracks"
msgstr "Ajuster à la fenêtre"
-#: editor_actions.cc:376 time_axis_view.cc:1302
+#: editor_actions.cc:411 time_axis_view.cc:1336
msgid "Largest"
msgstr "Énorme"
-#: editor_actions.cc:379 time_axis_view.cc:1303
+#: editor_actions.cc:414 time_axis_view.cc:1337
msgid "Larger"
msgstr "Grand"
-#: editor_actions.cc:382 editor_rulers.cc:375 time_axis_view.cc:1304
+#: editor_actions.cc:417 editor_rulers.cc:249 time_axis_view.cc:1338
msgid "Large"
msgstr "Très grand"
-#: editor_actions.cc:388 editor_rulers.cc:379 time_axis_view.cc:1306
+#: editor_actions.cc:423 editor_rulers.cc:253 time_axis_view.cc:1340
msgid "Small"
msgstr "Très petit"
-#: editor_actions.cc:392
+#: editor_actions.cc:427
msgid "Sound Selected MIDI Notes"
msgstr ""
-#: editor_actions.cc:397
+#: editor_actions.cc:432
msgid "Zoom Focus Left"
msgstr "la gauche"
-#: editor_actions.cc:398
+#: editor_actions.cc:433
msgid "Zoom Focus Right"
msgstr "la droite"
-#: editor_actions.cc:399
+#: editor_actions.cc:434
msgid "Zoom Focus Center"
msgstr "le centre"
-#: editor_actions.cc:400
+#: editor_actions.cc:435
msgid "Zoom Focus Playhead"
msgstr "la tête de lecture"
-#: editor_actions.cc:401
+#: editor_actions.cc:436
msgid "Zoom Focus Mouse"
msgstr "la souris"
-#: editor_actions.cc:402
+#: editor_actions.cc:437
msgid "Zoom Focus Edit Point"
msgstr ""
-#: editor_actions.cc:404
+#: editor_actions.cc:439
msgid "Next Zoom Focus"
msgstr "Option suivante pour Zoomer vers"
-#: editor_actions.cc:410
+#: editor_actions.cc:445
msgid "Smart Object Mode"
msgstr "Mode Objet Smart"
-#: editor_actions.cc:413
+#: editor_actions.cc:448
msgid "Smart"
msgstr ""
-#: editor_actions.cc:417
+#: editor_actions.cc:451
msgid "Object Tool"
msgstr "outil d'objet"
-#: editor_actions.cc:423
+#: editor_actions.cc:456
msgid "Range Tool"
msgstr "outil de zone de sélection"
-#: editor_actions.cc:429
+#: editor_actions.cc:461
msgid "Note Drawing Tool"
msgstr ""
-#: editor_actions.cc:435
+#: editor_actions.cc:466
msgid "Gain Tool"
msgstr "outil de gain"
-#: editor_actions.cc:441
+#: editor_actions.cc:472
msgid "Zoom Tool"
msgstr "outil de zoom"
-#: editor_actions.cc:447
+#: editor_actions.cc:478
msgid "Audition Tool"
msgstr ""
-#: editor_actions.cc:453
+#: editor_actions.cc:483
msgid "Time FX Tool"
msgstr ""
-#: editor_actions.cc:459
+#: editor_actions.cc:489
+msgid "Cut Tool"
+msgstr ""
+
+#: editor_actions.cc:495
msgid "Step Mouse Mode"
msgstr ""
-#: editor_actions.cc:461
+#: editor_actions.cc:497
msgid "Edit MIDI"
msgstr "Éditer le MIDI"
-#: editor_actions.cc:472
+#: editor_actions.cc:507
msgid "Change Edit Point"
msgstr "Changer le point d'édition"
-#: editor_actions.cc:473
+#: editor_actions.cc:508
msgid "Change Edit Point Including Marker"
msgstr ""
-#: editor_actions.cc:475
-msgid "Splice"
-msgstr "Collant"
-
-#: editor_actions.cc:477
-msgid "Slide"
-msgstr "Glissant"
-
-#: editor_actions.cc:478 editor_actions.cc:1737 editor_markers.cc:860
-#: editor_rulers.cc:386 location_ui.cc:56
-msgid "Lock"
-msgstr "Verrouillé"
-
-#: editor_actions.cc:479
-msgid "Toggle Edit Mode"
-msgstr "Commuter le mode d'édition"
+#: editor_actions.cc:514
+msgid "Cycle Edit Mode"
+msgstr ""
-#: editor_actions.cc:481
+#: editor_actions.cc:516
msgid "Snap to"
msgstr "Aligner sur"
-#: editor_actions.cc:482
+#: editor_actions.cc:517
msgid "Snap Mode"
msgstr "Mode d'alignement"
-#: editor_actions.cc:489
+#: editor_actions.cc:524
msgid "Next Snap Mode"
msgstr "Mode d'alignement suivant"
-#: editor_actions.cc:490
+#: editor_actions.cc:525
msgid "Next Snap Choice"
msgstr "Choix d'alignement suivant"
-#: editor_actions.cc:491
+#: editor_actions.cc:526
msgid "Next Musical Snap Choice"
msgstr "Choix d'alignement musical suivant"
-#: editor_actions.cc:492
+#: editor_actions.cc:527
msgid "Previous Snap Choice"
msgstr "Choix d'alignement précédent"
-#: editor_actions.cc:493
+#: editor_actions.cc:528
msgid "Previous Musical Snap Choice"
msgstr "Choix d'alignement musical précédent"
-#: editor_actions.cc:498
+#: editor_actions.cc:533
msgid "Snap to CD Frame"
msgstr "Aligner sur la trame CD"
-#: editor_actions.cc:499
+#: editor_actions.cc:534
msgid "Snap to Timecode Frame"
msgstr "Aligner sur la trame Timecode"
-#: editor_actions.cc:500
+#: editor_actions.cc:535
msgid "Snap to Timecode Seconds"
msgstr "Aligner sur les secondes Timecode"
-#: editor_actions.cc:501
+#: editor_actions.cc:536
msgid "Snap to Timecode Minutes"
msgstr "Aligner sur les minutes Timecode"
-#: editor_actions.cc:502
+#: editor_actions.cc:537
msgid "Snap to Seconds"
msgstr "Aligner sur les secondes"
-#: editor_actions.cc:503
+#: editor_actions.cc:538
msgid "Snap to Minutes"
msgstr "Aligner sur les minutes"
-#: editor_actions.cc:505
+#: editor_actions.cc:540
msgid "Snap to One Twenty Eighths"
msgstr ""
-#: editor_actions.cc:506
+#: editor_actions.cc:541
msgid "Snap to Sixty Fourths"
msgstr "Aligner sur un 64ème de temps"
-#: editor_actions.cc:507
+#: editor_actions.cc:542
msgid "Snap to Thirty Seconds"
msgstr "Aligner sur 30 secondes"
-#: editor_actions.cc:508
+#: editor_actions.cc:543
msgid "Snap to Twenty Eighths"
msgstr "Aligner sur un 28ème de temps"
-#: editor_actions.cc:509
+#: editor_actions.cc:544
msgid "Snap to Twenty Fourths"
msgstr "Aligner sur un 24ème de temps"
-#: editor_actions.cc:510
+#: editor_actions.cc:545
msgid "Snap to Twentieths"
msgstr "Aligner sur un 20ème de temps"
-#: editor_actions.cc:511
+#: editor_actions.cc:546
msgid "Snap to Sixteenths"
msgstr "Aligner sur un 16ème de temps"
-#: editor_actions.cc:512
+#: editor_actions.cc:547
msgid "Snap to Fourteenths"
msgstr "Aligner sur un 14ème de temps"
-#: editor_actions.cc:513
+#: editor_actions.cc:548
msgid "Snap to Twelfths"
msgstr "Aligner sur un 12ème de temps"
-#: editor_actions.cc:514
+#: editor_actions.cc:549
msgid "Snap to Tenths"
msgstr "Aligner sur un 10ème de temps"
-#: editor_actions.cc:515
+#: editor_actions.cc:550
msgid "Snap to Eighths"
msgstr "Aligner sur un 8ème de temps"
-#: editor_actions.cc:516
+#: editor_actions.cc:551
msgid "Snap to Sevenths"
msgstr "Aligner sur un 7ème de temps"
-#: editor_actions.cc:517
+#: editor_actions.cc:552
msgid "Snap to Sixths"
msgstr "Aligner sur un 6ème de temps"
-#: editor_actions.cc:518
+#: editor_actions.cc:553
msgid "Snap to Fifths"
msgstr "Aligner sur un 5ème de temps"
-#: editor_actions.cc:519
+#: editor_actions.cc:554
msgid "Snap to Quarters"
msgstr "Aligner sur un quart de temps"
-#: editor_actions.cc:520
+#: editor_actions.cc:555
msgid "Snap to Thirds"
msgstr "Aligner sur un triolet"
-#: editor_actions.cc:521
+#: editor_actions.cc:556
msgid "Snap to Halves"
msgstr "Aligner sur un demi temps"
-#: editor_actions.cc:523
+#: editor_actions.cc:558
msgid "Snap to Beat"
msgstr "Aligner sur un temps"
-#: editor_actions.cc:524
+#: editor_actions.cc:559
msgid "Snap to Bar"
msgstr "Aligner sur les mesures"
-#: editor_actions.cc:525
+#: editor_actions.cc:560
msgid "Snap to Mark"
msgstr "Aligner sur un repère"
-#: editor_actions.cc:526
+#: editor_actions.cc:561
msgid "Snap to Region Start"
msgstr "Aligner sur un début de région"
-#: editor_actions.cc:527
+#: editor_actions.cc:562
msgid "Snap to Region End"
msgstr "Aligner sur fin de région"
-#: editor_actions.cc:528
+#: editor_actions.cc:563
msgid "Snap to Region Sync"
msgstr "Aligner sur synchro de région"
-#: editor_actions.cc:529
+#: editor_actions.cc:564
msgid "Snap to Region Boundary"
msgstr "Aligner sur limite de région"
-#: editor_actions.cc:531
+#: editor_actions.cc:566
msgid "Show Marker Lines"
msgstr "Montrer les barres de repères"
-#: editor_actions.cc:541
+#: editor_actions.cc:576
msgid "Loop/Punch"
msgstr ""
-#: editor_actions.cc:545
+#: editor_actions.cc:580
msgid "Min:Sec"
msgstr "Minutes:Secondes"
-#: editor_actions.cc:547 editor_actions.cc:550
+#: editor_actions.cc:582 editor_actions.cc:585
msgid "Video Monitor"
msgstr ""
-#: editor_actions.cc:549 rc_option_editor.cc:1829
+#: editor_actions.cc:584 rc_option_editor.cc:2134
msgid "Video"
msgstr ""
-#: editor_actions.cc:552
+#: editor_actions.cc:587
msgid "Always on Top"
msgstr ""
-#: editor_actions.cc:554
+#: editor_actions.cc:589
msgid "Frame number"
msgstr ""
-#: editor_actions.cc:555
+#: editor_actions.cc:590
msgid "Timecode Background"
msgstr ""
-#: editor_actions.cc:556
+#: editor_actions.cc:591
msgid "Fullscreen"
msgstr ""
-#: editor_actions.cc:557
+#: editor_actions.cc:592
msgid "Letterbox"
msgstr ""
-#: editor_actions.cc:558
+#: editor_actions.cc:593
msgid "Original Size"
msgstr ""
-#: editor_actions.cc:608
+#: editor_actions.cc:650
msgid "Sort"
msgstr "Trier"
-#: editor_actions.cc:610 region_editor.cc:51
-msgid "Audition"
-msgstr "Ecoute"
-
-#: editor_actions.cc:619 editor_routes.cc:470 mixer_ui.cc:1161
+#: editor_actions.cc:661 editor_routes.cc:473 mixer_ui.cc:1181
msgid "Show All"
msgstr "Tout montrer"
-#: editor_actions.cc:620
+#: editor_actions.cc:662
msgid "Show Automatic Regions"
msgstr "Afficher les régions automatiques"
-#: editor_actions.cc:622
+#: editor_actions.cc:664
msgid "Ascending"
msgstr "croissant"
-#: editor_actions.cc:624
+#: editor_actions.cc:666
msgid "Descending"
msgstr "décroissant"
-#: editor_actions.cc:627
+#: editor_actions.cc:669
msgid "By Region Name"
msgstr "par nom de région"
-#: editor_actions.cc:629
+#: editor_actions.cc:671
msgid "By Region Length"
msgstr "par longueur de région"
-#: editor_actions.cc:631
+#: editor_actions.cc:673
msgid "By Region Position"
msgstr "par position de région"
-#: editor_actions.cc:633
+#: editor_actions.cc:675
msgid "By Region Timestamp"
msgstr "par date de région"
-#: editor_actions.cc:635
+#: editor_actions.cc:677
msgid "By Region Start in File"
msgstr "par début de région (dans le fichier)"
-#: editor_actions.cc:637
+#: editor_actions.cc:679
msgid "By Region End in File"
msgstr "par fin de région (dans le fichier)"
-#: editor_actions.cc:639
+#: editor_actions.cc:681
msgid "By Source File Name"
msgstr "par nom de fichier source"
-#: editor_actions.cc:641
+#: editor_actions.cc:683
msgid "By Source File Length"
msgstr "par longueur de fichier source"
-#: editor_actions.cc:643
+#: editor_actions.cc:685
msgid "By Source File Creation Date"
msgstr "par date de création du fichier source"
-#: editor_actions.cc:645
+#: editor_actions.cc:687
msgid "By Source Filesystem"
msgstr "par système de fichier source"
-#: editor_actions.cc:648
+#: editor_actions.cc:690
msgid "Remove Unused"
msgstr "Supprimer les régions inutilisées"
-#: editor_actions.cc:652 editor_audio_import.cc:279
+#: editor_actions.cc:694 editor_audio_import.cc:277
#: session_import_dialog.cc:74 session_import_dialog.cc:94
-#: session_metadata_dialog.cc:297 editor_videotimeline.cc:108
+#: session_metadata_dialog.cc:297 editor_videotimeline.cc:92
msgid "Import"
msgstr "Importer"
-#: editor_actions.cc:655
+#: editor_actions.cc:697
msgid "Import to Region List..."
msgstr "Ajouter à la liste des régions..."
-#: editor_actions.cc:658 session_import_dialog.cc:43
+#: editor_actions.cc:700 session_import_dialog.cc:43
msgid "Import From Session"
msgstr "Importer depuis une session"
-#: editor_actions.cc:661
+#: editor_actions.cc:704
+msgid "Bring all media into session folder"
+msgstr ""
+
+#: editor_actions.cc:707
msgid "Show Summary"
msgstr "Afficher le résumé"
-#: editor_actions.cc:663
+#: editor_actions.cc:709
msgid "Show Group Tabs"
msgstr "Afficher les repères de groupe"
-#: editor_actions.cc:665
+#: editor_actions.cc:711
msgid "Show Measures"
msgstr "Montrer les barres de mesures"
-#: editor_actions.cc:669
+#: editor_actions.cc:715
msgid "Show Logo"
msgstr "Afficher le logo"
-#: editor_actions.cc:673
+#: editor_actions.cc:719
msgid "Toggle MIDI Input Active for Editor-Selected Tracks/Busses"
msgstr ""
-#: editor_actions.cc:696
+#: editor_actions.cc:742
msgid "Loaded editor bindings from %1"
msgstr ""
-#: editor_actions.cc:698
+#: editor_actions.cc:744
msgid "Could not find editor.bindings in search path %1"
msgstr ""
-#: editor_actions.cc:1028 editor_actions.cc:1424 editor_actions.cc:1435
-#: editor_actions.cc:1488 editor_actions.cc:1499 editor_actions.cc:1546
-#: editor_actions.cc:1556 editor_regions.cc:1561
+#: editor_actions.cc:1074 editor_actions.cc:1470 editor_actions.cc:1481
+#: editor_actions.cc:1534 editor_actions.cc:1545 editor_actions.cc:1592
+#: editor_actions.cc:1602 editor_regions.cc:1562
msgid "programming error: %1: %2"
msgstr "programming error: %1: %2"
-#: editor_actions.cc:1722
+#: editor_actions.cc:1770
msgid "Raise"
msgstr "Envoyer vers l'avant"
-#: editor_actions.cc:1725
+#: editor_actions.cc:1773
msgid "Raise to Top"
msgstr "Envoyer à l'avant"
-#: editor_actions.cc:1728 gtk-custom-ruler.c:132
+#: editor_actions.cc:1776
msgid "Lower"
msgstr "Envoyer vers l'arrière"
-#: editor_actions.cc:1731
+#: editor_actions.cc:1779
msgid "Lower to Bottom"
msgstr "Envoyer à l'arrière"
-#: editor_actions.cc:1734
+#: editor_actions.cc:1782
msgid "Move to Original Position"
msgstr "Remettre à sa position d'origine"
-#: editor_actions.cc:1739
+#: editor_actions.cc:1787
msgid "Lock to Video"
msgstr ""
-#: editor_actions.cc:1744 editor_markers.cc:867
+#: editor_actions.cc:1792 editor_markers.cc:881
msgid "Glue to Bars and Beats"
msgstr "Coller aux mesures/temps"
-#: editor_actions.cc:1749
+#: editor_actions.cc:1797
msgid "Remove Sync"
msgstr "Supprimer le point de synchro"
-#: editor_actions.cc:1752 mixer_strip.cc:1904 route_time_axis.cc:209
-msgid "Mute"
-msgstr "Muet"
-
-#: editor_actions.cc:1755
+#: editor_actions.cc:1803
msgid "Normalize..."
msgstr "Normaliser..."
-#: editor_actions.cc:1758
+#: editor_actions.cc:1806
msgid "Reverse"
msgstr "Inverser"
-#: editor_actions.cc:1761
+#: editor_actions.cc:1809
msgid "Make Mono Regions"
msgstr "Créer des régions mono"
-#: editor_actions.cc:1764
+#: editor_actions.cc:1812
msgid "Boost Gain"
msgstr "Augmenter le gain"
-#: editor_actions.cc:1767
+#: editor_actions.cc:1815
msgid "Cut Gain"
msgstr "Couper le gain"
-#: editor_actions.cc:1770
+#: editor_actions.cc:1818
msgid "Pitch Shift..."
msgstr "Pitch shift..."
-#: editor_actions.cc:1773
+#: editor_actions.cc:1821
msgid "Transpose..."
msgstr "Transposer..."
-#: editor_actions.cc:1776
+#: editor_actions.cc:1824
msgid "Opaque"
msgstr "Opaque"
-#: editor_actions.cc:1780 editor_regions.cc:116
+#: editor_actions.cc:1828 editor_regions.cc:117
msgid "Fade In"
msgstr "Type de montée"
-#: editor_actions.cc:1785 editor_regions.cc:117
+#: editor_actions.cc:1833 editor_regions.cc:118
msgid "Fade Out"
msgstr "Type de descente"
-#: editor_actions.cc:1800
+#: editor_actions.cc:1848
msgid "Multi-Duplicate..."
msgstr "Multi-dupliquer..."
-#: editor_actions.cc:1805
+#: editor_actions.cc:1853
msgid "Fill Track"
msgstr "Remplir la piste"
-#: editor_actions.cc:1809 editor_markers.cc:955
+#: editor_actions.cc:1857 editor_markers.cc:969
msgid "Set Loop Range"
msgstr "Boucle"
-#: editor_actions.cc:1816
+#: editor_actions.cc:1864
msgid "Set Punch"
msgstr ""
-#: editor_actions.cc:1820
+#: editor_actions.cc:1868
msgid "Add Single Range Marker"
msgstr ""
-#: editor_actions.cc:1825
+#: editor_actions.cc:1873
msgid "Add Range Marker Per Region"
msgstr ""
-#: editor_actions.cc:1829
+#: editor_actions.cc:1877
msgid "Snap Position To Grid"
msgstr ""
-#: editor_actions.cc:1832
+#: editor_actions.cc:1880
msgid "Close Gaps"
msgstr ""
-#: editor_actions.cc:1835
+#: editor_actions.cc:1883
msgid "Rhythm Ferret..."
msgstr "Fureteur de rythme..."
-#: editor_actions.cc:1838
+#: editor_actions.cc:1886
msgid "Export..."
msgstr "Exporter..."
-#: editor_actions.cc:1844
+#: editor_actions.cc:1892
msgid "Separate Under"
msgstr "Séparer dessous"
-#: editor_actions.cc:1848
+#: editor_actions.cc:1896 editor_actions.cc:1897
msgid "Set Fade In Length"
msgstr "Définir la durée de montée"
-#: editor_actions.cc:1849
+#: editor_actions.cc:1898 editor_actions.cc:1899
msgid "Set Fade Out Length"
msgstr "Définir la durée de descente"
-#: editor_actions.cc:1850
+#: editor_actions.cc:1901
msgid "Set Tempo from Region = Bar"
msgstr ""
-#: editor_actions.cc:1855
+#: editor_actions.cc:1906
msgid "Split at Percussion Onsets"
msgstr ""
-#: editor_actions.cc:1860
+#: editor_actions.cc:1911
msgid "List Editor..."
msgstr ""
-#: editor_actions.cc:1863
+#: editor_actions.cc:1914
msgid "Properties..."
msgstr "Propriétés..."
-#: editor_actions.cc:1867
+#: editor_actions.cc:1918
msgid "Bounce (with processing)"
msgstr ""
-#: editor_actions.cc:1868
+#: editor_actions.cc:1919
msgid "Bounce (without processing)"
msgstr ""
-#: editor_actions.cc:1869
+#: editor_actions.cc:1920
msgid "Combine"
msgstr "Joindre les régions"
-#: editor_actions.cc:1870
+#: editor_actions.cc:1921
msgid "Uncombine"
msgstr "Défaire jointure des régions"
-#: editor_actions.cc:1872
+#: editor_actions.cc:1923
msgid "Spectral Analysis..."
msgstr "Analyze du spectre..."
-#: editor_actions.cc:1874
+#: editor_actions.cc:1925
msgid "Reset Envelope"
msgstr "Réinitialiser l'enveloppe"
-#: editor_actions.cc:1876
+#: editor_actions.cc:1927
msgid "Reset Gain"
msgstr "Réinitialiser le gain"
-#: editor_actions.cc:1881
+#: editor_actions.cc:1932
msgid "Envelope Active"
msgstr "Enveloppe Active"
-#: editor_actions.cc:1885
+#: editor_actions.cc:1936
msgid "Quantize..."
msgstr ""
-#: editor_actions.cc:1886 editor_actions.cc:1887
+#: editor_actions.cc:1937 editor_actions.cc:1938
msgid "Insert Patch Change..."
msgstr ""
-#: editor_actions.cc:1888
+#: editor_actions.cc:1939
msgid "Unlink from other copies"
msgstr ""
-#: editor_actions.cc:1889
+#: editor_actions.cc:1940
msgid "Strip Silence..."
msgstr "Supprimer le silence..."
-#: editor_actions.cc:1890
+#: editor_actions.cc:1941
msgid "Set Range Selection"
msgstr "Choisir intervalle depuis la région"
-#: editor_actions.cc:1892
+#: editor_actions.cc:1943 editor_actions.cc:1944
msgid "Nudge Later"
msgstr ""
-#: editor_actions.cc:1893
+#: editor_actions.cc:1945 editor_actions.cc:1946
msgid "Nudge Earlier"
msgstr "Décaler vers la gauche"
-#: editor_actions.cc:1898
+#: editor_actions.cc:1948
+msgid "Sequence Regions"
+msgstr ""
+
+#: editor_actions.cc:1953
msgid "Nudge Later by Capture Offset"
msgstr ""
-#: editor_actions.cc:1905
+#: editor_actions.cc:1960
msgid "Nudge Earlier by Capture Offset"
msgstr "Décaler de l'offset de capture vers la gauche"
-#: editor_actions.cc:1909
+#: editor_actions.cc:1964
msgid "Trim to Loop"
msgstr "Rogner aux repères de boucle"
-#: editor_actions.cc:1910
+#: editor_actions.cc:1965
msgid "Trim to Punch"
msgstr "Rogner aux points de punch-in/out"
-#: editor_actions.cc:1912
+#: editor_actions.cc:1967
msgid "Trim to Previous"
msgstr "Rogner aux précédent"
-#: editor_actions.cc:1913
+#: editor_actions.cc:1968
msgid "Trim to Next"
msgstr ""
-#: editor_actions.cc:1920
+#: editor_actions.cc:1975
msgid "Insert Region From Region List"
msgstr ""
-#: editor_actions.cc:1926
+#: editor_actions.cc:1981
msgid "Set Sync Position"
msgstr ""
-#: editor_actions.cc:1927
+#: editor_actions.cc:1982
msgid "Place Transient"
msgstr ""
-#: editor_actions.cc:1928
+#: editor_actions.cc:1983
msgid "Split"
msgstr "Scinder"
-#: editor_actions.cc:1929
+#: editor_actions.cc:1984
msgid "Trim Start at Edit Point"
msgstr ""
-#: editor_actions.cc:1930
+#: editor_actions.cc:1985
msgid "Trim End at Edit Point"
msgstr ""
-#: editor_actions.cc:1935
+#: editor_actions.cc:1990
msgid "Align Start"
msgstr ""
-#: editor_actions.cc:1942
+#: editor_actions.cc:1997
msgid "Align Start Relative"
msgstr ""
-#: editor_actions.cc:1946
+#: editor_actions.cc:2001
msgid "Align End"
msgstr ""
-#: editor_actions.cc:1951
+#: editor_actions.cc:2006
msgid "Align End Relative"
msgstr ""
-#: editor_actions.cc:1958
+#: editor_actions.cc:2013
msgid "Align Sync"
msgstr ""
-#: editor_actions.cc:1965
+#: editor_actions.cc:2020
msgid "Align Sync Relative"
msgstr ""
-#: editor_actions.cc:1969 editor_actions.cc:1972
+#: editor_actions.cc:2024 editor_actions.cc:2027
msgid "Choose Top..."
msgstr ""
-#: editor_audio_import.cc:77 editor_audio_import.cc:99
+#: editor_audio_import.cc:76 editor_audio_import.cc:98
msgid "You can't import or embed an audiofile until you have a session loaded."
msgstr ""
"Vous ne pouvez pas importer ou lier un fichier audio avant d'avoir chargé "
"une session."
-#: editor_audio_import.cc:83 editor_audio_import.cc:127
+#: editor_audio_import.cc:82 editor_audio_import.cc:126
msgid "Add Existing Media"
msgstr "Importer un média"
-#: editor_audio_import.cc:177
+#: editor_audio_import.cc:175
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%1 as a new file, or skip it?"
@@ -4344,7 +4444,7 @@ msgstr ""
"La session contient déjà le fichier %1. Voulez-vous importer %1 en tant que "
"nouveau fichier, ou l'ignorer?"
-#: editor_audio_import.cc:179
+#: editor_audio_import.cc:177
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%2 as a new source, or skip it?"
@@ -4352,32 +4452,32 @@ msgstr ""
"La session contient déjà le fichier source %1. Voulez-vous importer %2 comme "
"un nouveau fichier source, ou l'ignorer?"
-#: editor_audio_import.cc:279 editor_videotimeline.cc:108
+#: editor_audio_import.cc:277 editor_videotimeline.cc:92
msgid "Cancel Import"
msgstr "Annuler l'importation"
-#: editor_audio_import.cc:543
+#: editor_audio_import.cc:541
msgid "Editor: cannot open file \"%1\", (%2)"
msgstr "Éditeur: impossible d'ouvrir le fichier « %1 » (%2)"
-#: editor_audio_import.cc:551
+#: editor_audio_import.cc:549
msgid "Cancel entire import"
msgstr "Annuler toute l'importation"
-#: editor_audio_import.cc:552
+#: editor_audio_import.cc:550
msgid "Don't embed it"
msgstr "Ne pas le lier"
-#: editor_audio_import.cc:553
+#: editor_audio_import.cc:551
msgid "Embed all without questions"
msgstr "Lier tout sans poser de question"
-#: editor_audio_import.cc:556 editor_audio_import.cc:585
-#: export_format_dialog.cc:58
+#: editor_audio_import.cc:554 editor_audio_import.cc:583
+#: export_format_dialog.cc:60
msgid "Sample rate"
msgstr "Échantillonnage"
-#: editor_audio_import.cc:557 editor_audio_import.cc:586
+#: editor_audio_import.cc:555 editor_audio_import.cc:584
msgid ""
"%1\n"
"This audiofile's sample rate doesn't match the session sample rate!"
@@ -4386,304 +4486,300 @@ msgstr ""
"La fréquence d'échantillonnage de ce fichier audio ne correspond pas à celle "
"de la session !"
-#: editor_audio_import.cc:582
+#: editor_audio_import.cc:580
msgid "Embed it anyway"
msgstr "Lier quand même"
-#: editor_drag.cc:1000
+#: editor_drag.cc:994
+msgid "Could not create new track after region placed in the drop zone"
+msgstr ""
+
+#: editor_drag.cc:1100
msgid "fixed time region drag"
msgstr "Déplacement vertical de région"
-#: editor_drag.cc:1700
+#: editor_drag.cc:1797
+msgid "Ripple drag"
+msgstr ""
+
+#: editor_drag.cc:2093
msgid "Video Start:"
msgstr ""
-#: editor_drag.cc:1702
+#: editor_drag.cc:2095
msgid "Diff:"
msgstr ""
-#: editor_drag.cc:1722
+#: editor_drag.cc:2114
msgid "Move Video"
msgstr ""
-#: editor_drag.cc:2200
+#: editor_drag.cc:2621
msgid "copy meter mark"
msgstr "copier l'indicateur de mesure"
-#: editor_drag.cc:2208
+#: editor_drag.cc:2629
msgid "move meter mark"
msgstr "déplacer l'indicateur de mesure"
-#: editor_drag.cc:2320
+#: editor_drag.cc:2752
msgid "copy tempo mark"
msgstr "copier le changement tempo"
-#: editor_drag.cc:2328
+#: editor_drag.cc:2760
msgid "move tempo mark"
msgstr "déplacer le changement tempo"
-#: editor_drag.cc:2550
+#: editor_drag.cc:2989
msgid "change fade in length"
msgstr "modifier la durée de montée"
-#: editor_drag.cc:2668
+#: editor_drag.cc:3107
msgid "change fade out length"
msgstr "modifier la durée de descente"
-#: editor_drag.cc:3023
+#: editor_drag.cc:3463
msgid "move marker"
msgstr "déplacer le repère"
-#: editor_drag.cc:3586
+#: editor_drag.cc:4046
msgid "An error occurred while executing time stretch operation"
msgstr ""
-#: editor_drag.cc:4016
+#: editor_drag.cc:4493
msgid "programming_error: %1"
msgstr ""
-#: editor_drag.cc:4086 editor_markers.cc:680
+#: editor_drag.cc:4559 editor_markers.cc:694
msgid "new range marker"
msgstr "nouvel intervalle"
-#: editor_drag.cc:4767
+#: editor_drag.cc:5259
msgid "rubberband selection"
msgstr "sélection élastique"
-#: editor_route_groups.cc:66
-msgid "No Selection = All Tracks?"
-msgstr ""
-
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Col"
msgstr ""
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Group Tab Color"
msgstr ""
-#: editor_route_groups.cc:96
+#: editor_route_groups.cc:97
msgid "Name of Group"
msgstr ""
-#: editor_route_groups.cc:97 editor_routes.cc:203
+#: editor_route_groups.cc:98 editor_routes.cc:205
msgid "V"
msgstr "V"
-#: editor_route_groups.cc:97
+#: editor_route_groups.cc:98
msgid "Group is visible?"
msgstr "Groupe est visible?"
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "On"
msgstr ""
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "Group is enabled?"
msgstr ""
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "group|G"
msgstr ""
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "Sharing Gain?"
msgstr ""
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "relative|Rel"
msgstr ""
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "Relative Gain Changes?"
msgstr ""
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "mute|M"
msgstr "muet|M"
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "Sharing Mute?"
msgstr "Partager muet?"
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "solo|S"
msgstr "solo|M"
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "Sharing Solo?"
msgstr "Partager solo?"
-#: editor_route_groups.cc:103 midi_time_axis.cc:1504 midi_time_axis.cc:1507
-#: midi_time_axis.cc:1510 mixer_strip.cc:1903
+#: editor_route_groups.cc:104 midi_time_axis.cc:1703 midi_time_axis.cc:1706
+#: midi_time_axis.cc:1709
msgid "Rec"
msgstr "Enreg."
-#: editor_route_groups.cc:103
+#: editor_route_groups.cc:104
msgid "Sharing Record-enable Status?"
msgstr "Partager l'armement?"
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "monitoring|Mon"
msgstr "monitoring|Mon"
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "Sharing Monitoring Choice?"
msgstr ""
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "selection|Sel"
msgstr "sélection|Sel "
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "Sharing Selected/Editing Status?"
msgstr ""
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "active|A"
msgstr "active|A"
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "Sharing Active Status?"
msgstr ""
-#: editor_route_groups.cc:197
-msgid "Activate this button to operate on all tracks when none are selected."
-msgstr ""
-
-#: editor_route_groups.cc:442 mixer_ui.cc:1449
+#: editor_route_groups.cc:438 mixer_ui.cc:1469
msgid "unnamed"
msgstr "(sans nom)"
-#: editor_export_audio.cc:90 editor_markers.cc:695 editor_markers.cc:782
-#: editor_markers.cc:967 editor_markers.cc:985 editor_markers.cc:1003
-#: editor_markers.cc:1022 editor_markers.cc:1041 editor_markers.cc:1071
-#: editor_markers.cc:1102 editor_markers.cc:1132 editor_markers.cc:1160
-#: editor_markers.cc:1191 editor_markers.cc:1216 editor_markers.cc:1267
-#: editor_markers.cc:1311 editor_markers.cc:1337 editor_markers.cc:1526
-#: editor_mouse.cc:2528
+#: editor_export_audio.cc:92 editor_markers.cc:709 editor_markers.cc:796
+#: editor_markers.cc:981 editor_markers.cc:999 editor_markers.cc:1017
+#: editor_markers.cc:1036 editor_markers.cc:1055 editor_markers.cc:1085
+#: editor_markers.cc:1116 editor_markers.cc:1146 editor_markers.cc:1174
+#: editor_markers.cc:1205 editor_markers.cc:1230 editor_markers.cc:1281
+#: editor_markers.cc:1325 editor_markers.cc:1351 editor_markers.cc:1545
+#: editor_mouse.cc:2290
msgid "programming error: marker canvas item has no marker object pointer!"
msgstr "programming error: marker canvas item has no marker object pointer!"
-#: editor_export_audio.cc:143 editor_export_audio.cc:148
+#: editor_export_audio.cc:145 editor_export_audio.cc:150
msgid "File Exists!"
msgstr "Le fichier existe!"
-#: editor_export_audio.cc:151
+#: editor_export_audio.cc:153
msgid "Overwrite Existing File"
msgstr ""
-#: editor_group_tabs.cc:162
+#: editor_group_tabs.cc:176
msgid "Fit to Window"
msgstr "Ajuster à la fenêtre"
-#: editor_markers.cc:129
+#: editor_markers.cc:139
msgid "start"
msgstr "début"
-#: editor_markers.cc:130
+#: editor_markers.cc:140
msgid "end"
msgstr "fin"
-#: editor_markers.cc:646 editor_ops.cc:1744 editor_ops.cc:1764
-#: editor_ops.cc:1788 editor_ops.cc:1815 location_ui.cc:1017
+#: editor_markers.cc:660 editor_ops.cc:1915 editor_ops.cc:1935
+#: editor_ops.cc:1988 editor_ops.cc:2015 location_ui.cc:1019
msgid "add marker"
msgstr "ajouter un repère"
-#: editor_markers.cc:677
+#: editor_markers.cc:691
msgid "range"
msgstr ""
-#: editor_markers.cc:713 location_ui.cc:852
+#: editor_markers.cc:727 editor_ops.cc:1955 location_ui.cc:854
msgid "remove marker"
msgstr "Supprimer le repère"
-#: editor_markers.cc:849
+#: editor_markers.cc:863
msgid "Locate to Here"
msgstr "Se placer ici"
-#: editor_markers.cc:850
+#: editor_markers.cc:864
msgid "Play from Here"
msgstr "Lire à partir d'ici"
-#: editor_markers.cc:851
+#: editor_markers.cc:865
msgid "Move Mark to Playhead"
msgstr "Placer sur la tête de lecture"
-#: editor_markers.cc:855
+#: editor_markers.cc:869
msgid "Create Range to Next Marker"
msgstr "Créer un intervalle jusqu'au marqueur suivant"
-#: editor_markers.cc:896
+#: editor_markers.cc:910
msgid "Locate to Marker"
msgstr "Déplacer au repère"
-#: editor_markers.cc:897
+#: editor_markers.cc:911
msgid "Play from Marker"
msgstr ""
-#: editor_markers.cc:900
+#: editor_markers.cc:914
msgid "Set Marker from Playhead"
msgstr ""
-#: editor_markers.cc:902
+#: editor_markers.cc:916
msgid "Set Range from Selection"
msgstr ""
-#: editor_markers.cc:905
-msgid "Zoom to Range"
-msgstr ""
-
-#: editor_markers.cc:912
+#: editor_markers.cc:926
msgid "Hide Range"
msgstr "cacher"
-#: editor_markers.cc:913
+#: editor_markers.cc:927
msgid "Rename Range..."
msgstr "Renommer l'intervalle..."
-#: editor_markers.cc:917
+#: editor_markers.cc:931
msgid "Remove Range"
msgstr "Supprimer l'intervalle"
-#: editor_markers.cc:924
+#: editor_markers.cc:938
msgid "Separate Regions in Range"
msgstr "Séparer les régions dans l'intervalle"
-#: editor_markers.cc:927
+#: editor_markers.cc:941
msgid "Select Range"
msgstr "Définit la zone de sélection"
-#: editor_markers.cc:956
+#: editor_markers.cc:970
msgid "Set Punch Range"
msgstr "Punch in→out"
-#: editor_markers.cc:1362 editor_ops.cc:1699
+#: editor_markers.cc:1376 editor_ops.cc:1870
msgid "New Name:"
msgstr "Nouveau nom:"
-#: editor_markers.cc:1365
+#: editor_markers.cc:1379
msgid "Rename Mark"
msgstr "renommer le repère"
-#: editor_markers.cc:1367
+#: editor_markers.cc:1381
msgid "Rename Range"
msgstr "renommer"
-#: editor_markers.cc:1374 editor_mouse.cc:2560 processor_box.cc:1808
-#: processor_box.cc:2274 route_time_axis.cc:982 route_ui.cc:1540
+#: editor_markers.cc:1388 editor_mouse.cc:2319 processor_box.cc:2038
+#: processor_box.cc:2508 route_time_axis.cc:1073 route_ui.cc:1622
msgid "Rename"
msgstr "Renommer"
-#: editor_markers.cc:1387
+#: editor_markers.cc:1401
msgid "rename marker"
msgstr "renommer le repère"
-#: editor_markers.cc:1411
+#: editor_markers.cc:1425
msgid "set loop range"
msgstr "définir l'intervalle de boucle"
-#: editor_markers.cc:1417
+#: editor_markers.cc:1431
msgid "set punch range"
msgstr "définir l'intervalle de punch in/out"
@@ -4691,11 +4787,21 @@ msgstr "définir l'intervalle de punch in/out"
msgid "This screen is not tall enough to display the editor mixer"
msgstr ""
-#: editor_mouse.cc:172
-msgid "Editor::event_frame() used on unhandled event type %1"
-msgstr "Editor::event_frame() utilisé sur un événement non géré de type %1"
+#: editor_mouse.cc:1384 editor_mouse.cc:1402 editor_tempodisplay.cc:273
+msgid ""
+"programming error: tempo marker canvas item has no marker object pointer!"
+msgstr ""
+"programming error: tempo marker canvas item has no marker object pointer!"
+
+#: editor_mouse.cc:1389 editor_tempodisplay.cc:278
+msgid "programming error: marker for tempo is not a tempo marker!"
+msgstr "programming error: marker for tempo is not a tempo marker!"
+
+#: editor_mouse.cc:1407 editor_tempodisplay.cc:382
+msgid "programming error: marker for meter is not a meter marker!"
+msgstr "programming error: marker for meter is not a meter marker!"
-#: editor_mouse.cc:2285 editor_mouse.cc:2310 editor_mouse.cc:2323
+#: editor_mouse.cc:2047 editor_mouse.cc:2072 editor_mouse.cc:2085
msgid ""
"programming error: control point canvas item has no control point object "
"pointer!"
@@ -4703,175 +4809,175 @@ msgstr ""
"programming error: control point canvas item has no control point object "
"pointer!"
-#: editor_mouse.cc:2466
+#: editor_mouse.cc:2228
msgid "start point trim"
msgstr "Rogner le début"
-#: editor_mouse.cc:2491
+#: editor_mouse.cc:2253
msgid "End point trim"
msgstr "Rogner la fin"
-#: editor_mouse.cc:2558
+#: editor_mouse.cc:2317
msgid "Name for region:"
msgstr "Nom de la région:"
-#: editor_ops.cc:140
+#: editor_ops.cc:147
msgid "split"
msgstr "scinder"
-#: editor_ops.cc:256
+#: editor_ops.cc:291
msgid "alter selection"
msgstr ""
-#: editor_ops.cc:298
+#: editor_ops.cc:333
msgid "nudge regions forward"
msgstr "décaler les régions vers la droite"
-#: editor_ops.cc:321 editor_ops.cc:406
+#: editor_ops.cc:356 editor_ops.cc:441
msgid "nudge location forward"
msgstr "décaler l'emplacement vers la droite"
-#: editor_ops.cc:379
+#: editor_ops.cc:414
msgid "nudge regions backward"
msgstr "décaler les régions vers la gauche"
-#: editor_ops.cc:468
+#: editor_ops.cc:503
msgid "nudge forward"
msgstr "décaler vers la droite"
-#: editor_ops.cc:492
+#: editor_ops.cc:527
msgid "nudge backward"
msgstr "décaler vers la gauche"
-#: editor_ops.cc:557
+#: editor_ops.cc:570
+msgid "sequence regions"
+msgstr ""
+
+#: editor_ops.cc:646
msgid "build_region_boundary_cache called with snap_type = %1"
msgstr "build_region_boundary_cache appelé avec snap_type = %1"
-#: editor_ops.cc:1701
+#: editor_ops.cc:1872
msgid "New Location Marker"
msgstr ""
-#: editor_ops.cc:1788
+#: editor_ops.cc:1988
msgid "add markers"
msgstr "Ajouter un repère"
-#: editor_ops.cc:1894
+#: editor_ops.cc:2094
msgid "clear markers"
msgstr "effacer les repères"
-#: editor_ops.cc:1907
+#: editor_ops.cc:2107
msgid "clear ranges"
msgstr "effacer les intervalles"
-#: editor_ops.cc:1929
+#: editor_ops.cc:2129
msgid "clear locations"
msgstr "effacer les repères temporels"
-#: editor_ops.cc:2000
-msgid "insert dragged region"
-msgstr "glissé-déposé de région"
-
-#: editor_ops.cc:2078
+#: editor_ops.cc:2191
msgid "insert region"
msgstr "insertion de région"
-#: editor_ops.cc:2261
+#: editor_ops.cc:2377
msgid "raise regions"
msgstr ""
-#: editor_ops.cc:2263
+#: editor_ops.cc:2379
msgid "raise region"
msgstr ""
-#: editor_ops.cc:2269
+#: editor_ops.cc:2385
msgid "raise regions to top"
msgstr ""
-#: editor_ops.cc:2271
+#: editor_ops.cc:2387
msgid "raise region to top"
msgstr ""
-#: editor_ops.cc:2277
+#: editor_ops.cc:2393
msgid "lower regions"
msgstr ""
-#: editor_ops.cc:2279 editor_ops.cc:2287
+#: editor_ops.cc:2395 editor_ops.cc:2403
msgid "lower region"
msgstr ""
-#: editor_ops.cc:2285
+#: editor_ops.cc:2401
msgid "lower regions to bottom"
msgstr ""
-#: editor_ops.cc:2370
+#: editor_ops.cc:2486
msgid "Rename Region"
msgstr "renommer la région"
-#: editor_ops.cc:2372 processor_box.cc:1806 route_ui.cc:1538
+#: editor_ops.cc:2488 processor_box.cc:2036 route_ui.cc:1620
msgid "New name:"
msgstr "Nouveau nom:"
-#: editor_ops.cc:2682
+#: editor_ops.cc:2798
msgid "separate"
msgstr "séparer"
-#: editor_ops.cc:2795
+#: editor_ops.cc:2910
msgid "separate region under"
msgstr "séparer la région dessous"
-#: editor_ops.cc:2916
+#: editor_ops.cc:3031
msgid "trim to selection"
msgstr "rogner à la sélection"
-#: editor_ops.cc:3052
+#: editor_ops.cc:3167
msgid "set sync point"
msgstr "Placer le point de sync."
-#: editor_ops.cc:3076
+#: editor_ops.cc:3191
msgid "remove region sync"
msgstr "Supprimer la région de synchro"
-#: editor_ops.cc:3098
+#: editor_ops.cc:3213
msgid "move regions to original position"
msgstr ""
-#: editor_ops.cc:3100
+#: editor_ops.cc:3215
msgid "move region to original position"
msgstr "Replacer la région à sa position initiale"
-#: editor_ops.cc:3121
+#: editor_ops.cc:3236
msgid "align selection"
msgstr "aligner la sélection"
-#: editor_ops.cc:3195
+#: editor_ops.cc:3310
msgid "align selection (relative)"
msgstr "aligner la sélection (relatif)"
-#: editor_ops.cc:3229
+#: editor_ops.cc:3344
msgid "align region"
msgstr "aligner la région"
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim front"
msgstr "Rogner en avant"
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim back"
msgstr "Rogner en arrière"
-#: editor_ops.cc:3310
+#: editor_ops.cc:3425
msgid "trim to loop"
msgstr "rogner à la boucle"
-#: editor_ops.cc:3320
+#: editor_ops.cc:3435
msgid "trim to punch"
msgstr "rogner au punch"
-#: editor_ops.cc:3382
+#: editor_ops.cc:3497
msgid "trim to region"
msgstr "Rogner autour de la région"
-#: editor_ops.cc:3492
+#: editor_ops.cc:3605
msgid ""
"This track/bus cannot be frozen because the signal adds or loses channels "
"before reaching the outputs.\n"
@@ -4879,11 +4985,11 @@ msgid ""
"input or vice versa."
msgstr ""
-#: editor_ops.cc:3495
+#: editor_ops.cc:3608
msgid "Cannot freeze"
msgstr "Impossible de geler"
-#: editor_ops.cc:3501
+#: editor_ops.cc:3614
msgid ""
"<b>%1</b>\n"
"\n"
@@ -4899,23 +5005,23 @@ msgstr ""
"Geler cette piste affectera ce cheminement à partir du premier départ/"
"insertion."
-#: editor_ops.cc:3505
+#: editor_ops.cc:3618
msgid "Freeze anyway"
msgstr ""
-#: editor_ops.cc:3506
+#: editor_ops.cc:3619
msgid "Don't freeze"
msgstr ""
-#: editor_ops.cc:3507
+#: editor_ops.cc:3620
msgid "Freeze Limits"
msgstr ""
-#: editor_ops.cc:3522
+#: editor_ops.cc:3635
msgid "Cancel Freeze"
msgstr "Annuler le gel"
-#: editor_ops.cc:3553
+#: editor_ops.cc:3666
msgid ""
"You can't perform this operation because the processing of the signal will "
"cause one or more of the tracks to end up with a region with more channels "
@@ -4924,51 +5030,63 @@ msgid ""
"You can do this without processing, which is a different operation."
msgstr ""
-#: editor_ops.cc:3557
+#: editor_ops.cc:3670
msgid "Cannot bounce"
msgstr ""
-#: editor_ops.cc:3568
+#: editor_ops.cc:3681
msgid "bounce range"
msgstr "copier la sélection vers un fichier audio (bounce)"
-#: editor_ops.cc:3678
+#: editor_ops.cc:3783
msgid "delete"
msgstr ""
-#: editor_ops.cc:3681
+#: editor_ops.cc:3786
msgid "cut"
msgstr "couper"
-#: editor_ops.cc:3684
+#: editor_ops.cc:3789
msgid "copy"
msgstr "copier"
-#: editor_ops.cc:3687
+#: editor_ops.cc:3792
msgid "clear"
msgstr "effacer"
-#: editor_ops.cc:3785
-msgid " objects"
-msgstr " objets"
+#: editor_ops.cc:3845
+msgid " points"
+msgstr ""
+
+#: editor_ops.cc:3856
+msgid "points"
+msgstr ""
+
+#: editor_ops.cc:3858
+msgid "regions"
+msgstr ""
+
+#: editor_ops.cc:3860
+msgid "objects"
+msgstr ""
-#: editor_ops.cc:3815
+#: editor_ops.cc:3890
msgid " range"
msgstr " intervalle"
-#: editor_ops.cc:3957 editor_ops.cc:3984
+#: editor_ops.cc:4059
msgid "remove region"
msgstr "Supprimer la région"
-#: editor_ops.cc:4391
+#: editor_ops.cc:4475
msgid "duplicate selection"
msgstr "dupliquer la sélection"
-#: editor_ops.cc:4469
+#: editor_ops.cc:4553
msgid "nudge track"
msgstr "décaler la piste"
-#: editor_ops.cc:4506
+#: editor_ops.cc:4590
msgid ""
"Do you really want to destroy the last capture?\n"
"(This is destructive and cannot be undone)"
@@ -4976,133 +5094,141 @@ msgstr ""
"Voulez-vous vraiment supprimer le dernier enregistrement ?\n"
"(cette opération est destructive et ne pourra pas être annulée)"
-#: editor_ops.cc:4509 editor_ops.cc:6512 editor_regions.cc:460
-#: editor_snapshots.cc:158 route_ui.cc:1482
+#: editor_ops.cc:4593 editor_ops.cc:6594 editor_regions.cc:461
+#: editor_snapshots.cc:159 route_ui.cc:1563
msgid "No, do nothing."
msgstr "Non, ne rien faire"
-#: editor_ops.cc:4510
+#: editor_ops.cc:4594
msgid "Yes, destroy it."
msgstr "Oui, la détruire"
-#: editor_ops.cc:4512
+#: editor_ops.cc:4596
msgid "Destroy last capture"
msgstr "Supprimer la dernière capture"
-#: editor_ops.cc:4573
+#: editor_ops.cc:4657
msgid "normalize"
msgstr "normaliser"
-#: editor_ops.cc:4668
+#: editor_ops.cc:4752
msgid "reverse regions"
msgstr "inverser les régions"
-#: editor_ops.cc:4702
+#: editor_ops.cc:4786
msgid "strip silence"
msgstr "supprimer le silence"
-#: editor_ops.cc:4763
+#: editor_ops.cc:4847
msgid "Fork Region(s)"
msgstr ""
-#: editor_ops.cc:4963
+#: editor_ops.cc:4868
+msgid "Could not unlink %1"
+msgstr ""
+
+#: editor_ops.cc:5052
msgid "reset region gain"
msgstr "réinitialiser le gain"
-#: editor_ops.cc:5016
+#: editor_ops.cc:5105
msgid "region gain envelope active"
msgstr ""
-#: editor_ops.cc:5043
+#: editor_ops.cc:5132
msgid "toggle region lock"
msgstr "Verrouiller/déverrouiller la régions"
-#: editor_ops.cc:5067
+#: editor_ops.cc:5156
msgid "Toggle Video Lock"
msgstr ""
-#: editor_ops.cc:5091
+#: editor_ops.cc:5180
msgid "region lock style"
msgstr "Type de verrouillage de la région"
-#: editor_ops.cc:5116
+#: editor_ops.cc:5205
msgid "change region opacity"
msgstr "changer l'opacité de la région"
-#: editor_ops.cc:5231
+#: editor_ops.cc:5298
+msgid "fade range"
+msgstr ""
+
+#: editor_ops.cc:5336
msgid "set fade in length"
msgstr "définir la durée de montée"
-#: editor_ops.cc:5238
+#: editor_ops.cc:5343
msgid "set fade out length"
msgstr "définir la durée de descente"
-#: editor_ops.cc:5283
+#: editor_ops.cc:5388
msgid "set fade in shape"
msgstr "définir la forme de la montée"
-#: editor_ops.cc:5314
+#: editor_ops.cc:5419
msgid "set fade out shape"
msgstr "définir la forme de la descente"
-#: editor_ops.cc:5344
+#: editor_ops.cc:5449
msgid "set fade in active"
msgstr "active la montée"
-#: editor_ops.cc:5373
+#: editor_ops.cc:5478
msgid "set fade out active"
msgstr "active la descente"
-#: editor_ops.cc:5638
+#: editor_ops.cc:5713
msgid "set loop range from selection"
msgstr "zone de sélection → intervalle de boucle"
-#: editor_ops.cc:5660
+#: editor_ops.cc:5735
msgid "set loop range from edit range"
msgstr "Définir la boucle depuis l'intervalle d'édition"
-#: editor_ops.cc:5689
+#: editor_ops.cc:5764
msgid "set loop range from region"
msgstr "Définir la boucle depuis la région"
-#: editor_ops.cc:5707
+#: editor_ops.cc:5782
msgid "set punch range from selection"
msgstr "Définir le punch depuis la sélection"
-#: editor_ops.cc:5724
+#: editor_ops.cc:5799
msgid "set punch range from edit range"
msgstr "Définir le punch depuis l'intervalle"
-#: editor_ops.cc:5748
+#: editor_ops.cc:5823
msgid "set punch range from region"
msgstr "Définir le punch depuis la région"
-#: editor_ops.cc:5857
+#: editor_ops.cc:5932
msgid "Add new marker"
msgstr "ajouter un repère"
-#: editor_ops.cc:5858
+#: editor_ops.cc:5933
msgid "Set global tempo"
msgstr "Définir le tempo global"
-#: editor_ops.cc:5861
+#: editor_ops.cc:5936
msgid "Define one bar"
msgstr ""
-#: editor_ops.cc:5862
+#: editor_ops.cc:5937
msgid "Do you want to set the global tempo or add a new tempo marker?"
msgstr ""
"Voulez-vous définir le tempo global ou ajouter un nouveau repère de tempo ?"
-#: editor_ops.cc:5888
+#: editor_ops.cc:5963
msgid "set tempo from region"
msgstr "Définir le tempo depuis la région"
-#: editor_ops.cc:5918
+#: editor_ops.cc:5993
msgid "split regions"
msgstr "scinder les régions"
-#: editor_ops.cc:5960
+#: editor_ops.cc:6035
msgid ""
"You are about to split\n"
"%1\n"
@@ -5114,11 +5240,11 @@ msgstr ""
"en %2 parties.\n"
"Cela peut prendre un certain temps."
-#: editor_ops.cc:5967
+#: editor_ops.cc:6042
msgid "Call for the Ferret!"
msgstr "Appeller le Fureteur!"
-#: editor_ops.cc:5968
+#: editor_ops.cc:6043
msgid ""
"Press OK to continue with this split operation\n"
"or ask the Ferret dialog to tune the analysis"
@@ -5126,52 +5252,52 @@ msgstr ""
"Appuyer sur OK pour poursuivre cette séparation\n"
"ou \"Demander au Fureteur\" pour affiner l'analyse"
-#: editor_ops.cc:5970
+#: editor_ops.cc:6045
msgid "Press OK to continue with this split operation"
msgstr "Appuyer sur OK pour éxécuter la séparation"
-#: editor_ops.cc:5973
+#: editor_ops.cc:6048
msgid "Excessive split?"
msgstr "Trop de divisions?"
-#: editor_ops.cc:6125
+#: editor_ops.cc:6200
msgid "place transient"
msgstr ""
-#: editor_ops.cc:6160
+#: editor_ops.cc:6235
msgid "snap regions to grid"
msgstr "aligner les régions sur la grille"
-#: editor_ops.cc:6199
+#: editor_ops.cc:6274
msgid "Close Region Gaps"
msgstr ""
-#: editor_ops.cc:6204
+#: editor_ops.cc:6279
msgid "Crossfade length"
msgstr "Longueur du fondu enchaîné"
-#: editor_ops.cc:6213 editor_ops.cc:6224 rhythm_ferret.cc:120
-#: session_option_editor.cc:153
+#: editor_ops.cc:6288 editor_ops.cc:6299 rhythm_ferret.cc:119
+#: session_option_editor.cc:141
msgid "ms"
msgstr "ms"
-#: editor_ops.cc:6215
+#: editor_ops.cc:6290
msgid "Pull-back length"
msgstr ""
-#: editor_ops.cc:6228
+#: editor_ops.cc:6303
msgid "Ok"
msgstr "Ok"
-#: editor_ops.cc:6243
+#: editor_ops.cc:6318
msgid "close region gaps"
msgstr ""
-#: editor_ops.cc:6461 route_ui.cc:1456
+#: editor_ops.cc:6543 route_ui.cc:1537
msgid "That would be bad news ...."
msgstr "Mauvaise nouvelle..."
-#: editor_ops.cc:6466 route_ui.cc:1461
+#: editor_ops.cc:6548 route_ui.cc:1542
msgid ""
"Removing the master or monitor bus is such a bad idea\n"
"that %1 is not going to allow it.\n"
@@ -5186,23 +5312,23 @@ msgstr ""
"Si vous voulez vraiment le faire, éditez le fichier ardour.rc\n"
"et passez l'option \"allow-special-bus-removal\" à \"yes\""
-#: editor_ops.cc:6483
+#: editor_ops.cc:6565
msgid "tracks"
msgstr "pistes"
-#: editor_ops.cc:6485 route_ui.cc:1821
+#: editor_ops.cc:6567 route_ui.cc:1978
msgid "track"
msgstr "piste"
-#: editor_ops.cc:6489
+#: editor_ops.cc:6571
msgid "busses"
msgstr "bus"
-#: editor_ops.cc:6491 route_ui.cc:1821
+#: editor_ops.cc:6573 route_ui.cc:1978
msgid "bus"
msgstr "bus"
-#: editor_ops.cc:6496
+#: editor_ops.cc:6578
msgid ""
"Do you really want to remove %1 %2 and %3 %4?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5214,7 +5340,7 @@ msgstr ""
"\n"
"Cette action ne pourra pas être annulé!"
-#: editor_ops.cc:6501
+#: editor_ops.cc:6583
msgid ""
"Do you really want to remove %1 %2?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5226,7 +5352,7 @@ msgstr ""
"\n"
"Cette action ne pourra pas être annulé!"
-#: editor_ops.cc:6507
+#: editor_ops.cc:6589
msgid ""
"Do you really want to remove %1 %2?\n"
"\n"
@@ -5236,123 +5362,139 @@ msgstr ""
"\n"
"Cette action ne pourra pas être annulé!"
-#: editor_ops.cc:6514
+#: editor_ops.cc:6596
msgid "Yes, remove them."
msgstr "Oui, supprimer"
-#: editor_ops.cc:6516 editor_snapshots.cc:159 route_ui.cc:1483
+#: editor_ops.cc:6598 editor_snapshots.cc:160 route_ui.cc:1564
msgid "Yes, remove it."
msgstr "Oui, supprimer"
-#: editor_ops.cc:6521 editor_ops.cc:6523
+#: editor_ops.cc:6603 editor_ops.cc:6605
msgid "Remove %1"
msgstr "Supprimer %1"
-#: editor_ops.cc:6582
+#: editor_ops.cc:6668
msgid "insert time"
msgstr ""
-#: editor_ops.cc:6739
+#: editor_ops.cc:6832
msgid "There are too many tracks to fit in the current window"
msgstr "La fenêtre courante ne peux pas afficher toutes les pistes"
-#: editor_ops.cc:6839
+#: editor_ops.cc:6893
+msgid "Sel"
+msgstr ""
+
+#: editor_ops.cc:6932
#, c-format
msgid "Saved view %u"
msgstr "Vue %u sauvegardée"
-#: editor_ops.cc:6864
+#: editor_ops.cc:6957
msgid "mute regions"
msgstr "rendre les régions muettes"
-#: editor_ops.cc:6866
+#: editor_ops.cc:6959
msgid "mute region"
msgstr "rendre la région muette"
-#: editor_ops.cc:6903
+#: editor_ops.cc:6996
msgid "combine regions"
msgstr "joindre les régions"
-#: editor_ops.cc:6941
+#: editor_ops.cc:7034
msgid "uncombine regions"
msgstr "défaire jointure des régions"
-#: editor_regions.cc:111
-msgid "Region name, with number of channels in []'s"
+#: editor_ops.cc:7071
+msgid "%1: Locked"
+msgstr ""
+
+#: editor_ops.cc:7078
+msgid "Click to unlock"
+msgstr ""
+
+#: editor_ops.cc:7132
+msgid "Moving embedded files into session folder"
msgstr ""
#: editor_regions.cc:112
+msgid "Region name, with number of channels in []'s"
+msgstr ""
+
+#: editor_regions.cc:113
msgid "Position of start of region"
msgstr ""
-#: editor_regions.cc:113 editor_regions.cc:849 time_info_box.cc:98
+#: editor_regions.cc:114 editor_regions.cc:850 time_info_box.cc:101
msgid "End"
msgstr "Fin"
-#: editor_regions.cc:113
+#: editor_regions.cc:114
msgid "Position of end of region"
msgstr ""
-#: editor_regions.cc:114
+#: editor_regions.cc:115
msgid "Length of the region"
msgstr ""
-#: editor_regions.cc:115
+#: editor_regions.cc:116
msgid "Position of region sync point, relative to start of the region"
msgstr ""
-#: editor_regions.cc:116
+#: editor_regions.cc:117
msgid "Length of region fade-in (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:117
-msgid "Length of region fade-out (units: secondary clock), () if dsisabled"
+#: editor_regions.cc:118
+msgid "Length of region fade-out (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:118 mixer_strip.cc:1954 mono_panner.cc:179
-#: stereo_panner.cc:217 stereo_panner.cc:240
+#: editor_regions.cc:119 mixer_strip.cc:2010 mono_panner.cc:204
+#: panner2d.cc:237 stereo_panner.cc:248 stereo_panner.cc:271
msgid "L"
msgstr "L"
-#: editor_regions.cc:118
+#: editor_regions.cc:119
msgid "Region position locked?"
msgstr ""
-#: editor_regions.cc:119
+#: editor_regions.cc:120 route_time_axis.cc:99
msgid "G"
msgstr "G"
-#: editor_regions.cc:119
+#: editor_regions.cc:120
msgid "Region position glued to Bars|Beats time?"
msgstr ""
-#: editor_regions.cc:120 editor_routes.cc:207 gain_meter.cc:762
-#: mixer_strip.cc:1931 meter_strip.cc:320 panner_ui.cc:553
-#: stereo_panner.cc:237
+#: editor_regions.cc:121 editor_routes.cc:209 gain_meter.cc:768
+#: mixer_strip.cc:1987 meter_strip.cc:359 panner_ui.cc:602
+#: route_time_axis.cc:2568 stereo_panner.cc:268 time_axis_view.cc:1156
msgid "M"
msgstr "M"
-#: editor_regions.cc:120
+#: editor_regions.cc:121
msgid "Region muted?"
msgstr "Région muette?"
-#: editor_regions.cc:121
+#: editor_regions.cc:122 mixer_strip.cc:1810
msgid "O"
msgstr "O"
-#: editor_regions.cc:121
+#: editor_regions.cc:122
msgid "Region opaque (blocks regions below it from being heard)?"
msgstr ""
-#: editor_regions.cc:310 editor_regions.cc:315 editor_regions.cc:317
+#: editor_regions.cc:311 editor_regions.cc:316 editor_regions.cc:318
msgid "Hidden"
msgstr "Caché"
-#: editor_regions.cc:389
+#: editor_regions.cc:390
msgid "(MISSING) "
msgstr " (MANQUANT)"
-#: editor_regions.cc:457
+#: editor_regions.cc:458
msgid ""
"Do you really want to remove unused regions?\n"
"(This is destructive and cannot be undone)"
@@ -5360,233 +5502,223 @@ msgstr ""
"Voulez-vous vraiment supprimer les régions non-utilisées ?\n"
"(Cette opération est destructive et ne pourra pas être annulée)"
-#: editor_regions.cc:461
+#: editor_regions.cc:462
msgid "Yes, remove."
msgstr "Oui, supprimer"
-#: editor_regions.cc:463
+#: editor_regions.cc:464
msgid "Remove unused regions"
msgstr "Supprimer les régions non-utilisées"
-#: editor_regions.cc:816 editor_regions.cc:830 editor_regions.cc:844
+#: editor_regions.cc:817 editor_regions.cc:831 editor_regions.cc:845
msgid "Mult."
msgstr ""
-#: editor_regions.cc:847 midi_list_editor.cc:103 time_info_box.cc:91
+#: editor_regions.cc:848 midi_list_editor.cc:103 time_info_box.cc:94
msgid "Start"
msgstr "Démarrer"
-#: editor_regions.cc:865 editor_regions.cc:881
+#: editor_regions.cc:866 editor_regions.cc:882
msgid "Multiple"
msgstr ""
-#: editor_regions.cc:950
+#: editor_regions.cc:951
msgid "MISSING "
msgstr "(MANQUANT)"
-#: editor_routes.cc:178 editor_routes.cc:210
+#: editor_routes.cc:180 editor_routes.cc:212
msgid "SS"
msgstr "SS"
-#: editor_routes.cc:202
+#: editor_routes.cc:204
msgid "Track/Bus Name"
msgstr "Nom de piste/bus"
-#: editor_routes.cc:203
+#: editor_routes.cc:205
msgid "Track/Bus visible ?"
msgstr "Piste/bus visible?"
-#: editor_routes.cc:204 mixer_strip.cc:1945 meter_strip.cc:334
-#: route_time_axis.cc:2407
+#: editor_routes.cc:206 mixer_strip.cc:2001 meter_strip.cc:371
+#: route_time_axis.cc:101 route_time_axis.cc:2556
msgid "A"
msgstr "A"
-#: editor_routes.cc:204
+#: editor_routes.cc:206
msgid "Track/Bus active ?"
msgstr "Piste/bus actif?"
-#: editor_routes.cc:205 mixer_strip.cc:1932
+#: editor_routes.cc:207 mixer_strip.cc:1988 mixer_strip.cc:2009
+#: meter_strip.cc:379
msgid "I"
msgstr "I"
-#: editor_routes.cc:205
+#: editor_routes.cc:207
msgid "MIDI input enabled"
msgstr "Entrée MIDI activée"
-#: editor_routes.cc:206 mixer_strip.cc:1930 mono_panner.cc:198
-#: stereo_panner.cc:215 stereo_panner.cc:242
+#: editor_routes.cc:208 mono_panner.cc:221 panner2d.cc:238
+#: stereo_panner.cc:246 stereo_panner.cc:273
msgid "R"
msgstr "R"
-#: editor_routes.cc:206
+#: editor_routes.cc:208
msgid "Record enabled"
msgstr ""
-#: editor_routes.cc:207
+#: editor_routes.cc:209
msgid "Muted"
msgstr ""
-#: editor_routes.cc:208 mixer_strip.cc:1941 meter_strip.cc:330
+#: editor_routes.cc:210 mixer_strip.cc:1997 meter_strip.cc:367
+#: route_time_axis.cc:2565
msgid "S"
msgstr "S"
-#: editor_routes.cc:208
+#: editor_routes.cc:210
msgid "Soloed"
msgstr "Solo"
-#: editor_routes.cc:209
+#: editor_routes.cc:211
msgid "SI"
msgstr "SI"
-#: editor_routes.cc:209 mixer_strip.cc:353 rc_option_editor.cc:1867
+#: editor_routes.cc:211
msgid "Solo Isolated"
msgstr "Solo isolé"
-#: editor_routes.cc:210
+#: editor_routes.cc:212
msgid "Solo Safe (Locked)"
msgstr "Bloquer le solo"
-#: editor_routes.cc:471 mixer_ui.cc:1162
+#: editor_routes.cc:474 mixer_ui.cc:1182
msgid "Hide All"
msgstr "Tout cacher"
-#: editor_routes.cc:472 mixer_ui.cc:1163
+#: editor_routes.cc:475 mixer_ui.cc:1183
msgid "Show All Audio Tracks"
msgstr "Afficher toutes les pistes"
-#: editor_routes.cc:473 mixer_ui.cc:1164
+#: editor_routes.cc:476 mixer_ui.cc:1184
msgid "Hide All Audio Tracks"
msgstr "cacher toutes les pistes"
-#: editor_routes.cc:474 mixer_ui.cc:1165
+#: editor_routes.cc:477 mixer_ui.cc:1185
msgid "Show All Audio Busses"
msgstr "afficher tous les bus"
-#: editor_routes.cc:475 mixer_ui.cc:1166
+#: editor_routes.cc:478 mixer_ui.cc:1186
msgid "Hide All Audio Busses"
msgstr "cacher tous les bus"
-#: editor_routes.cc:476
+#: editor_routes.cc:479
msgid "Show All Midi Tracks"
msgstr "Afficher toutes les pistes MIDI"
-#: editor_routes.cc:477
+#: editor_routes.cc:480
msgid "Hide All Midi Tracks"
msgstr "Cacher toutes les pistes MIDI"
-#: editor_routes.cc:478
+#: editor_routes.cc:481
msgid "Show Tracks With Regions Under Playhead"
msgstr "Afficher les pistes ayant une région sous la tête de lecture"
-#: editor_rulers.cc:340
+#: editor_rulers.cc:216
msgid "New location marker"
msgstr "Nouveau repère temporel"
-#: editor_rulers.cc:341
+#: editor_rulers.cc:217
msgid "Clear all locations"
msgstr "Supprimer tous les repères temporels"
-#: editor_rulers.cc:342
+#: editor_rulers.cc:218
msgid "Unhide locations"
msgstr "Réafficher les repères temporels"
-#: editor_rulers.cc:346
+#: editor_rulers.cc:222
msgid "New range"
msgstr "Nouvel intervalle"
-#: editor_rulers.cc:347
+#: editor_rulers.cc:223
msgid "Clear all ranges"
msgstr "Supprimer tous les intervalles"
-#: editor_rulers.cc:348
+#: editor_rulers.cc:224
msgid "Unhide ranges"
msgstr "Réafficher les intervalles"
-#: editor_rulers.cc:358
+#: editor_rulers.cc:234
msgid "New CD track marker"
msgstr "Nouveau marqueur de CD"
-#: editor_rulers.cc:363 tempo_dialog.cc:40
+#: editor_rulers.cc:239 tempo_dialog.cc:39
msgid "New Tempo"
msgstr "Nouveau tempo"
-#: editor_rulers.cc:368 tempo_dialog.cc:255
+#: editor_rulers.cc:243 tempo_dialog.cc:289
msgid "New Meter"
msgstr "Nouvelle signature rythmique"
-#: editor_rulers.cc:373
+#: editor_rulers.cc:247
msgid "Timeline height"
msgstr ""
-#: editor_rulers.cc:383
+#: editor_rulers.cc:257
msgid "Align Video Track"
msgstr ""
-#: editor_selection.cc:889 editor_selection.cc:932
+#: editor_selection.cc:895 editor_selection.cc:938
msgid "set selected regions"
msgstr "sélection de régions"
-#: editor_selection.cc:1414
+#: editor_selection.cc:1417
msgid "select all"
msgstr "sélectionner tout"
-#: editor_selection.cc:1506
+#: editor_selection.cc:1511
msgid "select all within"
msgstr "sélectionner tout dedans"
-#: editor_selection.cc:1564
+#: editor_selection.cc:1569
msgid "set selection from range"
msgstr "intervalle → zone de sélection"
-#: editor_selection.cc:1604
+#: editor_selection.cc:1609
msgid "select all from range"
msgstr "sélectionner tout à partir de la zone"
-#: editor_selection.cc:1635
+#: editor_selection.cc:1640
msgid "select all from punch"
msgstr "sélectionner tout depuis le point de punch in/out"
-#: editor_selection.cc:1666
+#: editor_selection.cc:1671
msgid "select all from loop"
msgstr "sélectionner tout depuis la boucle"
-#: editor_selection.cc:1702
+#: editor_selection.cc:1707
msgid "select all after cursor"
msgstr "sélectionner tout après le curseur"
-#: editor_selection.cc:1704
+#: editor_selection.cc:1709
msgid "select all before cursor"
msgstr "sélectionner tout avant le curseur"
-#: editor_selection.cc:1753
+#: editor_selection.cc:1758
msgid "select all after edit"
msgstr "Sélectionner tout après le point d'édition"
-#: editor_selection.cc:1755
+#: editor_selection.cc:1760
msgid "select all before edit"
msgstr "sélectionner tout avant le point d'édition"
-#: editor_selection.cc:1888
-msgid "No edit range defined"
-msgstr "Aucune plage d'édition définie"
-
-#: editor_selection.cc:1894
-msgid ""
-"the edit point is Selected Marker\n"
-"but there is no selected marker."
-msgstr ""
-"Le point d'édition est un Repère Sélectionné\n"
-"mais il n'y a aucun repère sélectionné."
-
-#: editor_snapshots.cc:136
+#: editor_snapshots.cc:137
msgid "Rename Snapshot"
msgstr "Renommer le cliché"
-#: editor_snapshots.cc:138
+#: editor_snapshots.cc:139
msgid "New name of snapshot"
msgstr "Nouveau nom du cliché"
-#: editor_snapshots.cc:156
+#: editor_snapshots.cc:157
msgid ""
"Do you really want to remove snapshot \"%1\" ?\n"
"(which cannot be undone)"
@@ -5594,50 +5726,35 @@ msgstr ""
"Voulez-vous vraiment supprimer le cliché \"%1\" ?\n"
"Cette action ne pourra pas être annulé!"
-#: editor_snapshots.cc:161
+#: editor_snapshots.cc:162
msgid "Remove snapshot"
msgstr "Supprimer le cliché"
-#: editor_tempodisplay.cc:208 editor_tempodisplay.cc:250
+#: editor_tempodisplay.cc:193 editor_tempodisplay.cc:235
msgid "add"
msgstr "ajouter"
-#: editor_tempodisplay.cc:231
+#: editor_tempodisplay.cc:216
msgid "add tempo mark"
msgstr "ajouter un changement de tempo"
-#: editor_tempodisplay.cc:272
+#: editor_tempodisplay.cc:257
msgid "add meter mark"
msgstr "ajouter un indicateur de type de mesure"
-#: editor_tempodisplay.cc:288 editor_tempodisplay.cc:367
-#: editor_tempodisplay.cc:386
-msgid ""
-"programming error: tempo marker canvas item has no marker object pointer!"
-msgstr ""
-"programming error: tempo marker canvas item has no marker object pointer!"
-
-#: editor_tempodisplay.cc:293 editor_tempodisplay.cc:372
-msgid "programming error: marker for tempo is not a tempo marker!"
-msgstr "programming error: marker for tempo is not a tempo marker!"
-
-#: editor_tempodisplay.cc:305 editor_tempodisplay.cc:335
+#: editor_tempodisplay.cc:290 editor_tempodisplay.cc:320
msgid "done"
msgstr "terminé"
-#: editor_tempodisplay.cc:324 editor_tempodisplay.cc:352
+#: editor_tempodisplay.cc:309 editor_tempodisplay.cc:337
msgid "replace tempo mark"
msgstr "remplacer le changement de tempo"
-#: editor_tempodisplay.cc:391 editor_tempodisplay.cc:423
-msgid "programming error: marker for meter is not a meter marker!"
-msgstr "programming error: marker for meter is not a meter marker!"
-
-#: editor_tempodisplay.cc:401 editor_tempodisplay.cc:435
+#: editor_tempodisplay.cc:360 editor_tempodisplay.cc:394
msgid "remove tempo mark"
msgstr "Supprimer le changement de tempo"
-#: editor_tempodisplay.cc:418
+#: editor_tempodisplay.cc:377
msgid ""
"programming error: meter marker canvas item has no marker object pointer!"
msgstr ""
@@ -5655,220 +5772,264 @@ msgstr "pitch shift"
msgid "timefx cannot be started - thread creation error"
msgstr "timefx impossible à démarrer: erreur de création de thread"
-#: engine_dialog.cc:79
+#: engine_dialog.cc:81
msgid "Device Control Panel"
msgstr ""
-#: engine_dialog.cc:80 engine_dialog.cc:1725
+#: engine_dialog.cc:82
+msgid "Midi Device Setup"
+msgstr ""
+
+#: engine_dialog.cc:83 engine_dialog.cc:1999
msgid "Measure"
msgstr ""
-#: engine_dialog.cc:81
+#: engine_dialog.cc:84
msgid "Use results"
msgstr ""
-#: engine_dialog.cc:82
+#: engine_dialog.cc:85
msgid "Back to settings ... (ignore results)"
msgstr ""
-#: engine_dialog.cc:83
-msgid "Calibrate..."
+#: engine_dialog.cc:86
+msgid "Calibrate Audio"
msgstr ""
-#: engine_dialog.cc:87
-msgid "Refresh list"
+#: engine_dialog.cc:90
+msgid "Back to settings"
msgstr ""
-#: engine_dialog.cc:107
+#: engine_dialog.cc:108
msgid ""
"No audio/MIDI backends detected. %1 cannot run\n"
"\n"
"(This is a build/packaging/system error. It should never happen.)"
msgstr ""
-#: engine_dialog.cc:136
+#: engine_dialog.cc:135
msgid "Latency Measurement Tool"
msgstr ""
-#: engine_dialog.cc:151
+#: engine_dialog.cc:147 engine_dialog.cc:561
msgid ""
"<span weight=\"bold\">Turn down the volume on your audio equipment to a very "
"low level.</span>"
msgstr ""
-#: engine_dialog.cc:159
+#: engine_dialog.cc:156
msgid "Select two channels below and connect them using a cable."
msgstr ""
-#: engine_dialog.cc:164
+#: engine_dialog.cc:161
msgid "Output channel"
msgstr ""
-#: engine_dialog.cc:172
+#: engine_dialog.cc:169
msgid "Input channel"
msgstr ""
-#: engine_dialog.cc:207
+#: engine_dialog.cc:204
msgid "Once the channels are connected, click the \"Measure\" button."
msgstr ""
-#: engine_dialog.cc:214
+#: engine_dialog.cc:211
msgid "When satisfied with the results, click the \"Use results\" button."
msgstr ""
-#: engine_dialog.cc:229 engine_dialog.cc:1727
+#: engine_dialog.cc:226 engine_dialog.cc:2107 engine_dialog.cc:2117
msgid "No measurement results yet"
msgstr ""
-#: engine_dialog.cc:238 route_params_ui.cc:105
+#: engine_dialog.cc:236 route_params_ui.cc:105
msgid "Latency"
msgstr "Latence (trames/période)"
-#: engine_dialog.cc:333
+#: engine_dialog.cc:351
msgid "Audio System:"
msgstr ""
-#: engine_dialog.cc:374
+#: engine_dialog.cc:394
msgid "Driver:"
msgstr "Pilote:"
-#: engine_dialog.cc:380
+#: engine_dialog.cc:400
msgid "Device:"
msgstr ""
-#: engine_dialog.cc:385 engine_dialog.cc:475 sfdb_ui.cc:147 sfdb_ui.cc:260
-#: sfdb_ui.cc:265
+#: engine_dialog.cc:405 engine_dialog.cc:496 sfdb_ui.cc:151 sfdb_ui.cc:341
+#: sfdb_ui.cc:346
msgid "Sample rate:"
msgstr "Échantillonnage:"
-#: engine_dialog.cc:391 engine_dialog.cc:482
+#: engine_dialog.cc:411 engine_dialog.cc:503
msgid "Buffer size:"
msgstr "Taille du tampon:"
-#: engine_dialog.cc:404
+#: engine_dialog.cc:424
msgid "Input Channels:"
msgstr ""
-#: engine_dialog.cc:415
+#: engine_dialog.cc:435
msgid "Output Channels:"
msgstr ""
-#: engine_dialog.cc:426
+#: engine_dialog.cc:446
msgid "Hardware input latency:"
msgstr "Latence matérielle en entrée:"
-#: engine_dialog.cc:429 engine_dialog.cc:442
+#: engine_dialog.cc:449 engine_dialog.cc:462
msgid "samples"
msgstr "échantillons"
-#: engine_dialog.cc:439
+#: engine_dialog.cc:459
msgid "Hardware output latency:"
msgstr "Latence matérielle en sortie:"
-#: engine_dialog.cc:450
+#: engine_dialog.cc:470
msgid "MIDI System"
msgstr ""
-#: engine_dialog.cc:467
+#: engine_dialog.cc:488
msgid ""
"The %1 audio backend was configured and started externally.\n"
"This limits your control over it."
msgstr ""
-#: engine_dialog.cc:521
+#: engine_dialog.cc:543
+msgid ""
+"Failed to start or connect to audio-engine.\n"
+"\n"
+"Latency calibration requires a working audio interface."
+msgstr ""
+
+#: engine_dialog.cc:549
msgid ""
"Your selected audio configuration is playback- or capture-only.\n"
"\n"
"Latency calibration requires playback and capture"
msgstr ""
-#: engine_dialog.cc:595
-msgid "MIDI Inputs"
+#: engine_dialog.cc:630
+msgid "MIDI Devices"
msgstr ""
-#: engine_dialog.cc:612
-msgid "MIDI Outputs"
+#: engine_dialog.cc:636
+msgid "Device"
+msgstr "Interface audio"
+
+#: engine_dialog.cc:638
+msgid "Hardware Latencies"
+msgstr ""
+
+#: engine_dialog.cc:679
+msgid "Calibrate"
msgstr ""
-#: engine_dialog.cc:696
+#: engine_dialog.cc:761
msgid "all available channels"
msgstr ""
-#: engine_dialog.cc:890
+#: engine_dialog.cc:954
#, c-format
msgid "%u samples"
msgstr ""
-#: engine_dialog.cc:941
+#: engine_dialog.cc:1001
#, c-format
msgid "(%.1f msecs)"
msgstr ""
-#: engine_dialog.cc:1389
+#: engine_dialog.cc:1510
+msgid "Could not start backend engine %1"
+msgstr ""
+
+#: engine_dialog.cc:1561
msgid "Cannot set driver to %1"
msgstr ""
-#: engine_dialog.cc:1393
+#: engine_dialog.cc:1565
msgid "Cannot set device name to %1"
msgstr ""
-#: engine_dialog.cc:1397
+#: engine_dialog.cc:1569
msgid "Cannot set sample rate to %1"
msgstr ""
-#: engine_dialog.cc:1401
+#: engine_dialog.cc:1573
msgid "Cannot set buffer size to %1"
msgstr ""
-#: engine_dialog.cc:1407
+#: engine_dialog.cc:1579
msgid "Cannot set input channels to %1"
msgstr ""
-#: engine_dialog.cc:1411
+#: engine_dialog.cc:1583
msgid "Cannot set output channels to %1"
msgstr ""
-#: engine_dialog.cc:1417
+#: engine_dialog.cc:1589
msgid "Cannot set input latency to %1"
msgstr ""
-#: engine_dialog.cc:1421
+#: engine_dialog.cc:1593
msgid "Cannot set output latency to %1"
msgstr ""
-#: engine_dialog.cc:1654
+#: engine_dialog.cc:1858 engine_dialog.cc:1917
msgid "No signal detected "
msgstr ""
-#: engine_dialog.cc:1667 port_insert_ui.cc:71 port_insert_ui.cc:99
+#: engine_dialog.cc:1871 engine_dialog.cc:1925 port_insert_ui.cc:70
+#: port_insert_ui.cc:98
msgid "Disconnected from audio engine"
msgstr "Non connecté au moteur audio"
-#: engine_dialog.cc:1681
+#: engine_dialog.cc:1880 engine_dialog.cc:1933
+msgid "Detected roundtrip latency: "
+msgstr ""
+
+#: engine_dialog.cc:1882 engine_dialog.cc:1935
+msgid "Systemic latency: "
+msgstr ""
+
+#: engine_dialog.cc:1889
msgid "(signal detection error)"
msgstr ""
-#: engine_dialog.cc:1687
+#: engine_dialog.cc:1895
msgid "(inverted - bad wiring)"
msgstr ""
-#: engine_dialog.cc:1697
-msgid "Detected roundtrip latency: %1"
+#: engine_dialog.cc:1942
+msgid "(averaging)"
+msgstr ""
+
+#: engine_dialog.cc:1948
+msgid "(too large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1952
+msgid "(large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1963
+msgid "Timeout - large MIDI jitter."
msgstr ""
-#: engine_dialog.cc:1709 port_insert_ui.cc:135
+#: engine_dialog.cc:1979 port_insert_ui.cc:134
msgid "Detecting ..."
msgstr "Recherche..."
-#: engine_dialog.cc:1789
+#: engine_dialog.cc:2073
msgid "Disconnect from %1"
msgstr ""
-#: engine_dialog.cc:1801
+#: engine_dialog.cc:2085
msgid "Connect to %1"
msgstr ""
-#: export_channel_selector.cc:45 sfdb_ui.cc:145
+#: export_channel_selector.cc:45 sfdb_ui.cc:149
msgid "Channels:"
msgstr "Canaux:"
@@ -5911,20 +6072,20 @@ msgstr ""
msgid "List files"
msgstr "Liste des fichiers"
-#: export_dialog.cc:164 export_timespan_selector.cc:355
-#: export_timespan_selector.cc:417
+#: export_dialog.cc:158 export_format_dialog.cc:59
+msgid "File format"
+msgstr "Format de fichier"
+
+#: export_dialog.cc:159 export_timespan_selector.cc:374
+#: export_timespan_selector.cc:436
msgid "Time Span"
msgstr "Laps de temps"
-#: export_dialog.cc:176
+#: export_dialog.cc:160
msgid "Channels"
msgstr "Canaux"
-#: export_dialog.cc:187
-msgid "Time span and channel options"
-msgstr ""
-
-#: export_dialog.cc:221
+#: export_dialog.cc:182
msgid ""
"Export has been aborted due to an error!\n"
"See the Log for details."
@@ -5932,35 +6093,39 @@ msgstr ""
"L'export a echoué!\n"
"Regardez les Log pour plus d'informations."
-#: export_dialog.cc:290
+#: export_dialog.cc:251
msgid "Files that will be overwritten"
msgstr "Fichier qui vont être écrasés"
-#: export_dialog.cc:316
+#: export_dialog.cc:296
+msgid "Export initialization failed: %1"
+msgstr ""
+
+#: export_dialog.cc:306
msgid "Stop Export"
msgstr "Arrêter l'exportation"
-#: export_dialog.cc:337
+#: export_dialog.cc:327
msgid "export"
msgstr "Exporter"
-#: export_dialog.cc:356
+#: export_dialog.cc:346
msgid "Normalizing '%3' (timespan %1 of %2)"
msgstr ""
-#: export_dialog.cc:360
+#: export_dialog.cc:350
msgid "Exporting '%3' (timespan %1 of %2)"
msgstr ""
-#: export_dialog.cc:383 export_dialog.cc:385
+#: export_dialog.cc:373 export_dialog.cc:375
msgid "<span color=\"#ffa755\">Error: "
msgstr "<span color=\"#ffa755\">Erreur: "
-#: export_dialog.cc:395
+#: export_dialog.cc:385
msgid "<span color=\"#ffa755\">Warning: "
msgstr "<span color=\"#ffa755\">Attention: "
-#: export_dialog.cc:397
+#: export_dialog.cc:387
msgid ""
"\n"
"<span color=\"#ffa755\">Warning: "
@@ -5968,39 +6133,43 @@ msgstr ""
"\n"
"<span color=\"#ffa755\">Attention: "
-#: export_dialog.cc:420
+#: export_dialog.cc:411
msgid "Export Selection"
msgstr "Exporter la selection"
-#: export_dialog.cc:433
+#: export_dialog.cc:425
msgid "Export Region"
msgstr "Exporter la région"
-#: export_dialog.cc:443
+#: export_dialog.cc:434
msgid "Source"
msgstr "Source"
-#: export_dialog.cc:458
+#: export_dialog.cc:450
msgid "Stem Export"
msgstr ""
-#: export_file_notebook.cc:38
+#: export_file_notebook.cc:39
msgid "Add another format"
msgstr ""
-#: export_file_notebook.cc:178
+#: export_file_notebook.cc:193
msgid "Format"
msgstr "Format"
-#: export_file_notebook.cc:179
+#: export_file_notebook.cc:194
msgid "Location"
msgstr "Emplacement"
-#: export_file_notebook.cc:255
+#: export_file_notebook.cc:195
+msgid "Upload to Soundcloud"
+msgstr ""
+
+#: export_file_notebook.cc:273
msgid "No format!"
msgstr ""
-#: export_file_notebook.cc:267
+#: export_file_notebook.cc:291
msgid "Format %1: %2"
msgstr "Format %1: %2"
@@ -6021,9 +6190,9 @@ msgid "Folder:"
msgstr "Dossier:"
#: export_filename_selector.cc:37 session_import_dialog.cc:44
-#: transcode_video_dialog.cc:58 video_server_dialog.cc:45
-#: video_server_dialog.cc:47 export_video_dialog.cc:68
-#: export_video_dialog.cc:70
+#: transcode_video_dialog.cc:59 video_server_dialog.cc:59
+#: video_server_dialog.cc:61 export_video_dialog.cc:69
+#: export_video_dialog.cc:71
msgid "Browse"
msgstr "Parcourir"
@@ -6083,67 +6252,69 @@ msgstr "Couper le silence de fin"
msgid "Add silence at end:"
msgstr "Ajouter du silence à la fin:"
-#: export_format_dialog.cc:55
+#: export_format_dialog.cc:54
+msgid ""
+"Command to run post-export\n"
+"(%f=full path & filename, %d=directory, %b=basename):"
+msgstr ""
+
+#: export_format_dialog.cc:57
msgid "Compatibility"
msgstr "Compatibilité"
-#: export_format_dialog.cc:56
+#: export_format_dialog.cc:58
msgid "Quality"
msgstr "Qualité"
-#: export_format_dialog.cc:57
-msgid "File format"
-msgstr "Format de fichier"
-
-#: export_format_dialog.cc:59
+#: export_format_dialog.cc:61
msgid "Sample rate conversion quality:"
msgstr "Qualité du ré-échantillonage:"
-#: export_format_dialog.cc:66
+#: export_format_dialog.cc:68
msgid "Dithering"
msgstr "Interpolation"
-#: export_format_dialog.cc:68
+#: export_format_dialog.cc:70
msgid "Create CUE file for disk-at-once CD/DVD creation"
msgstr ""
-#: export_format_dialog.cc:69
+#: export_format_dialog.cc:71
msgid "Create TOC file for disk-at-once CD/DVD creation"
msgstr ""
-#: export_format_dialog.cc:71
+#: export_format_dialog.cc:73
msgid "Tag file with session's metadata"
msgstr "Taguer le fichier avec les méta-données de session"
-#: export_format_dialog.cc:461
+#: export_format_dialog.cc:470
msgid "Best (sinc)"
msgstr "Meilleure (sinc)"
-#: export_format_dialog.cc:466
+#: export_format_dialog.cc:475
msgid "Medium (sinc)"
msgstr "Moyenne (sinc)"
-#: export_format_dialog.cc:471
+#: export_format_dialog.cc:480
msgid "Fast (sinc)"
msgstr "Rapide (sinc)"
-#: export_format_dialog.cc:481
+#: export_format_dialog.cc:490
msgid "Zero order hold"
msgstr ""
-#: export_format_dialog.cc:879
+#: export_format_dialog.cc:895
msgid "Linear encoding options"
msgstr "Options pour l'encodage linéaire"
-#: export_format_dialog.cc:895
+#: export_format_dialog.cc:911
msgid "Ogg Vorbis options"
msgstr "Options Ogg Vorbis"
-#: export_format_dialog.cc:908
+#: export_format_dialog.cc:922
msgid "FLAC options"
msgstr "Options FLAC"
-#: export_format_dialog.cc:925
+#: export_format_dialog.cc:939
msgid "Broadcast Wave options"
msgstr "Option Broadcast Wave"
@@ -6171,11 +6342,15 @@ msgstr ""
msgid "Show Times as:"
msgstr "Temps exprimé en:"
-#: export_timespan_selector.cc:204
+#: export_timespan_selector.cc:53 processor_box.cc:2510
+msgid "Select All"
+msgstr "Sélectionner tout"
+
+#: export_timespan_selector.cc:223
msgid " to "
msgstr " à "
-#: export_timespan_selector.cc:348 export_timespan_selector.cc:407
+#: export_timespan_selector.cc:367 export_timespan_selector.cc:426
msgid "Range"
msgstr "Intervalle"
@@ -6191,174 +6366,142 @@ msgstr ""
msgid "getSoundResourceFile: root = %1, != response"
msgstr ""
-#: sfdb_freesound_mootcher.cc:410
+#: sfdb_freesound_mootcher.cc:410 rc_option_editor.cc:1729
msgid "%1"
msgstr ""
-#: gain_meter.cc:105 gain_meter.cc:360 gain_meter.cc:465 gain_meter.cc:859
+#: gain_meter.cc:106 gain_meter.cc:366 gain_meter.cc:471 gain_meter.cc:865
msgid "-inf"
msgstr "-inf"
-#: gain_meter.cc:111 gain_meter.cc:916
+#: gain_meter.cc:113 gain_meter.cc:927
msgid "Fader automation mode"
msgstr "Mode d'automation du gain"
-#: gain_meter.cc:112 gain_meter.cc:917
+#: gain_meter.cc:114 gain_meter.cc:928
msgid "Fader automation type"
msgstr "Type d'automation du gain"
-#: gain_meter.cc:121 gain_meter.cc:798 panner_ui.cc:177 panner_ui.cc:589
+#: gain_meter.cc:123 gain_meter.cc:804 panner_ui.cc:178 panner_ui.cc:638
msgid "Abs"
msgstr "abs"
-#: gain_meter.cc:765 mixer_strip.cc:1948 meter_strip.cc:337 panner_ui.cc:556
-#: route_time_axis.cc:2411
+#: gain_meter.cc:771 mixer_strip.cc:2004 meter_strip.cc:374 panner_ui.cc:605
+#: route_time_axis.cc:100 route_time_axis.cc:2560
msgid "P"
msgstr "P"
-#: gain_meter.cc:768 panner_ui.cc:559
+#: gain_meter.cc:774 panner_ui.cc:608
msgid "T"
msgstr "T"
-#: gain_meter.cc:771 panner_ui.cc:562
+#: gain_meter.cc:777 panner_ui.cc:611
msgid "W"
msgstr "W"
-#: generic_pluginui.cc:81
+#: generic_pluginui.cc:79
msgid "<span size=\"large\">Presets</span>"
msgstr "<span size=\"large\">réglages préféfinis</span>"
-#: generic_pluginui.cc:230
+#: generic_pluginui.cc:228
msgid "Switches"
msgstr ""
-#: generic_pluginui.cc:240 generic_pluginui.cc:374 processor_box.cc:2251
+#: generic_pluginui.cc:238 generic_pluginui.cc:372 processor_box.cc:2484
msgid "Controls"
msgstr "Contrôles"
-#: generic_pluginui.cc:268
+#: generic_pluginui.cc:266
msgid "Plugin Editor: could not build control element for port %1"
msgstr ""
"Éditeur de plugin: impossible de construire l'élément de contrôle pour le "
"port %1"
-#: generic_pluginui.cc:406
+#: generic_pluginui.cc:404
msgid "Meters"
msgstr ""
-#: generic_pluginui.cc:421
+#: generic_pluginui.cc:419
msgid "Automation control"
msgstr "Contrôle d'automation"
-#: generic_pluginui.cc:428
+#: generic_pluginui.cc:426
msgid "Mgnual"
msgstr "Manuel"
-#: global_port_matrix.cc:157
+#: global_port_matrix.cc:158
msgid "Audio Connection Manager"
msgstr "Gestionnaire de connexion audio"
-#: global_port_matrix.cc:160
+#: global_port_matrix.cc:161
msgid "MIDI Connection Manager"
msgstr "Gestion des connexions MIDI"
-#: global_port_matrix.cc:200 io_selector.cc:210 mixer_strip.cc:719
-#: mixer_strip.cc:845
+#: global_port_matrix.cc:201 io_selector.cc:211 mixer_strip.cc:799
+#: mixer_strip.cc:895
msgid "Disconnect"
msgstr "Déconnecter"
-#: global_port_matrix.cc:206 io_selector.cc:216
+#: global_port_matrix.cc:207 io_selector.cc:217
msgid "port"
msgstr "port"
-#: group_tabs.cc:308
+#: group_tabs.cc:312
msgid "Selection..."
msgstr "Sélectionnées..."
-#: group_tabs.cc:309
+#: group_tabs.cc:313
msgid "Record Enabled..."
msgstr "Armées..."
-#: group_tabs.cc:310
+#: group_tabs.cc:314
msgid "Soloed..."
msgstr "Solo..."
-#: group_tabs.cc:316
+#: group_tabs.cc:320
msgid "Create New Group ..."
msgstr ""
-#: group_tabs.cc:317
+#: group_tabs.cc:321
msgid "Create New Group From"
msgstr ""
-#: group_tabs.cc:320
+#: group_tabs.cc:324
msgid "Edit Group..."
msgstr ""
-#: group_tabs.cc:321
+#: group_tabs.cc:325
msgid "Collect Group"
msgstr ""
-#: group_tabs.cc:322
+#: group_tabs.cc:326
msgid "Remove Group"
msgstr ""
-#: group_tabs.cc:325
+#: group_tabs.cc:329
msgid "Remove Subgroup Bus"
msgstr ""
-#: group_tabs.cc:327
+#: group_tabs.cc:331
msgid "Add New Subgroup Bus"
msgstr "Ajouter un sous-groupe de bus"
-#: group_tabs.cc:329
+#: group_tabs.cc:333
msgid "Add New Aux Bus (pre-fader)"
msgstr "Ajouter un nouveau bus auxiliaire (pre-fader)"
-#: group_tabs.cc:330
+#: group_tabs.cc:334
msgid "Add New Aux Bus (post-fader)"
msgstr "Ajouter un nouveau bus auxiliaire (post-fader)"
-#: group_tabs.cc:336
+#: group_tabs.cc:340
msgid "Enable All Groups"
msgstr ""
-#: group_tabs.cc:337
+#: group_tabs.cc:341
msgid "Disable All Groups"
msgstr ""
-#: gtk-custom-ruler.c:133
-msgid "Lower limit of ruler"
-msgstr "limite inférieure de la règle"
-
-#: gtk-custom-ruler.c:142
-msgid "Upper"
-msgstr "supérieur"
-
-#: gtk-custom-ruler.c:143
-msgid "Upper limit of ruler"
-msgstr "limite supérieure de la règle"
-
-#: gtk-custom-ruler.c:153
-msgid "Position of mark on the ruler"
-msgstr "position du repère sur la règle"
-
-#: gtk-custom-ruler.c:162
-msgid "Max Size"
-msgstr "taille max"
-
-#: gtk-custom-ruler.c:163
-msgid "Maximum size of the ruler"
-msgstr "taille max de la règle"
-
-#: gtk-custom-ruler.c:172
-msgid "Show Position"
-msgstr "afficher la position"
-
-#: gtk-custom-ruler.c:173
-msgid "Draw current ruler position"
-msgstr "dessiner la position actuelle de la règle"
-
#: insert_time_dialog.cc:46
msgid "Time to insert:"
msgstr ""
@@ -6413,28 +6556,28 @@ msgstr ""
msgid "Importing file: %1 of %2"
msgstr "Import du fichier: %1 sur %2"
-#: io_selector.cc:220
+#: io_selector.cc:221
msgid "I/O selector"
msgstr "Sélecteur I/O"
-#: io_selector.cc:265
+#: io_selector.cc:266
msgid "%1 input"
msgstr "Entrée %1"
-#: io_selector.cc:267
+#: io_selector.cc:268
msgid "%1 output"
msgstr "sortie %1"
-#: keyboard.cc:66
+#: keyboard.cc:70
msgid "your own"
msgstr "votre propre"
-#: keyboard.cc:129 keyboard.cc:153
+#: keyboard.cc:133 keyboard.cc:157
msgid "Default keybindings not found - %1 will be hard to use!"
msgstr ""
"Raccourcis clavier par défaut introuvables - Il sera difficile d'utiliser %1!"
-#: keyboard.cc:132 keyboard.cc:156
+#: keyboard.cc:136
msgid "Key bindings file \"%1\" not found. Default bindings used instead"
msgstr ""
"Fichier de raccourcis clavier \"%1\" non trouvé. Utilisation des raccourcis "
@@ -6452,28 +6595,32 @@ msgstr "Action"
msgid "Shortcut"
msgstr "Raccourci"
-#: keyeditor.cc:86
+#: keyeditor.cc:85
msgid "Select an action, then press the key(s) to (re)set its shortcut"
msgstr ""
"Sélectionnez une action, puis appuyez sur la touche pour définir le raccourci"
-#: keyeditor.cc:251
+#: keyeditor.cc:99
+msgid "Reset Bindings to Defaults"
+msgstr ""
+
+#: keyeditor.cc:260
msgid "Main_menu"
msgstr ""
-#: keyeditor.cc:253
+#: keyeditor.cc:262
msgid "redirectmenu"
msgstr ""
-#: keyeditor.cc:255
+#: keyeditor.cc:264
msgid "Editor_menus"
msgstr ""
-#: keyeditor.cc:257
+#: keyeditor.cc:266
msgid "RegionList"
msgstr ""
-#: keyeditor.cc:259
+#: keyeditor.cc:268
msgid "ProcessorMenu"
msgstr ""
@@ -6495,132 +6642,107 @@ msgid_plural "%1 samples"
msgstr[0] "%1 échantillon"
msgstr[1] "%1 échantillons"
-#: latency_gui.cc:72 panner_ui.cc:391
+#: latency_gui.cc:72 panner_ui.cc:408
msgid "Reset"
msgstr "Réinitialiser"
-#: latency_gui.cc:151 rhythm_ferret.cc:274 sfdb_ui.cc:1755
+#: latency_gui.cc:149 rhythm_ferret.cc:273 sfdb_ui.cc:1893
msgid "programming error: %1 (%2)"
msgstr "programming error: %1 (%2)"
-#: location_ui.cc:50 location_ui.cc:52
+#: location_ui.cc:51 location_ui.cc:53
msgid "Use PH"
msgstr ""
-#: location_ui.cc:54
+#: location_ui.cc:55
msgid "CD"
msgstr "CD"
-#: location_ui.cc:57
+#: location_ui.cc:58
msgid "Glue"
msgstr "Joindre"
-#: location_ui.cc:85
+#: location_ui.cc:86
msgid "Performer:"
msgstr ""
-#: location_ui.cc:86
+#: location_ui.cc:87
msgid "Composer:"
msgstr "Compositeur:"
-#: location_ui.cc:88
+#: location_ui.cc:89
msgid "Pre-Emphasis"
msgstr "Pré-accentuation"
-#: location_ui.cc:314
+#: location_ui.cc:316
msgid "Remove this range"
msgstr ""
-#: location_ui.cc:315
+#: location_ui.cc:317
msgid "Start time - middle click to locate here"
msgstr ""
-#: location_ui.cc:316
+#: location_ui.cc:318
msgid "End time - middle click to locate here"
msgstr ""
-#: location_ui.cc:319
+#: location_ui.cc:321
msgid "Set range start from playhead location"
msgstr ""
-#: location_ui.cc:320
+#: location_ui.cc:322
msgid "Set range end from playhead location"
msgstr ""
-#: location_ui.cc:324
+#: location_ui.cc:326
msgid "Remove this marker"
msgstr ""
-#: location_ui.cc:325
+#: location_ui.cc:327
msgid "Position - middle click to locate here"
msgstr ""
-#: location_ui.cc:327
+#: location_ui.cc:329
msgid "Set marker time from playhead location"
msgstr ""
-#: location_ui.cc:494
+#: location_ui.cc:496
msgid "You cannot put a CD marker at the start of the session"
msgstr "Vous ne pouvez pas poser un marqueur de CD au début de la session"
-#: location_ui.cc:720
+#: location_ui.cc:722
msgid "New Marker"
msgstr "Nouveau repère"
-#: location_ui.cc:721
+#: location_ui.cc:723
msgid "New Range"
msgstr "Nouvel intervalle"
-#: location_ui.cc:734
+#: location_ui.cc:736
msgid "<b>Loop/Punch Ranges</b>"
msgstr "<b>boucle et punch-in/out</b>"
-#: location_ui.cc:759
+#: location_ui.cc:761
msgid "<b>Markers (Including CD Index)</b>"
msgstr "<b>Repères (Indexes de CD inclus)</b>"
-#: location_ui.cc:794
+#: location_ui.cc:796
msgid "<b>Ranges (Including CD Track Ranges)</b>"
msgstr "<b>Intervalles (intervalles de piste CD inclus)</b>"
-#: location_ui.cc:1036
+#: location_ui.cc:1038
msgid "add range marker"
msgstr "ajouter un repère d'intervalle"
-#: main.cc:81
+#: main.cc:79
msgid "%1 could not connect to the audio backend."
msgstr ""
-#: main.cc:194 main.cc:315
-msgid "cannot create user %3 folder %1 (%2)"
-msgstr ""
-
-#: main.cc:201 main.cc:322
-msgid "cannot open pango.rc file %1"
-msgstr "impossible d'ouvrir le fichier pango.rc %1"
-
-#: main.cc:226 main.cc:349
-msgid "Cannot find ArdourMono TrueType font"
-msgstr ""
-
-#: main.cc:238 main.cc:355
-msgid "Cannot load ArdourMono TrueType font."
-msgstr ""
-
-#: main.cc:303
-msgid ""
-"No fontconfig file found on your system. Things may looked very odd or ugly"
-msgstr ""
-
-#: main.cc:359
-msgid "Failed to set fontconfig configuration."
-msgstr ""
-
-#: main.cc:370 main.cc:386
+#: main.cc:104 main.cc:120
msgid "The audio backend (%1) has failed, or terminated"
msgstr ""
-#: main.cc:373
+#: main.cc:107
msgid ""
"%2 exited unexpectedly, and without notifying %1.\n"
"\n"
@@ -6629,23 +6751,33 @@ msgid ""
"Click OK to exit %1."
msgstr ""
-#: main.cc:387
+#: main.cc:121
msgid "%2 exited unexpectedly, and without notifying %1."
msgstr ""
-#: main.cc:474
+#: main.cc:223
+msgid ""
+"\n"
+" Ardour could not understand your command line "
+msgstr ""
+
+#: main.cc:225
+msgid "An error was encountered while launching Ardour"
+msgstr ""
+
+#: main.cc:233
msgid " (built using "
msgstr " (construit avec "
-#: main.cc:477
+#: main.cc:236
msgid " and GCC version "
msgstr " et GCC version "
-#: main.cc:487
+#: main.cc:246
msgid "Copyright (C) 1999-2012 Paul Davis"
msgstr "Copyright © 1999-2012 Paul Davis"
-#: main.cc:488
+#: main.cc:247
msgid ""
"Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
"Baker, Robin Gareus"
@@ -6653,33 +6785,33 @@ msgstr ""
"Pour certaines parties, Copyright © Steve Harris, Ari Johnson, Brett Viren, "
"Joel Baker, Robin Gareus"
-#: main.cc:490
+#: main.cc:249
msgid "%1 comes with ABSOLUTELY NO WARRANTY"
msgstr "%1 est distribué sans AUCUNE GARANTIE"
-#: main.cc:491
+#: main.cc:250
msgid "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
msgstr "pas même de COMMERCIALISATION ou d'ADÉQUATION À UN BUT PARTICULIER."
-#: main.cc:492
+#: main.cc:251
msgid "This is free software, and you are welcome to redistribute it "
msgstr "Ceci est un logiciel libre, et vous êtes encouragé à le distribuer "
-#: main.cc:493
+#: main.cc:252
msgid "under certain conditions; see the source for copying conditions."
msgstr ""
"sous certaines conditions ; voir le fichier source pour les conditions de "
"distribution."
-#: main.cc:500
+#: main.cc:259
msgid "could not initialize %1."
msgstr "impossible d'initialiser %1."
-#: main.cc:509
+#: main.cc:269
msgid "Cannot xinstall SIGPIPE error handler"
msgstr ""
-#: main.cc:515
+#: main.cc:276
msgid "could not create %1 GUI"
msgstr ""
@@ -6687,17 +6819,13 @@ msgstr ""
msgid "Display delta to edit cursor"
msgstr ""
-#: marker.cc:251 video_image_frame.cc:121
+#: marker.cc:265
msgid "MarkerText"
msgstr "MarkerText"
-#: midi_channel_selector.cc:159 midi_channel_selector.cc:397
-#: midi_channel_selector.cc:433
-msgid "All"
-msgstr "Tout"
-
#: midi_channel_selector.cc:163 midi_channel_selector.cc:402
-#: midi_channel_selector.cc:438 rc_option_editor.cc:1248 sfdb_ui.cc:538
+#: midi_channel_selector.cc:438 rc_option_editor.cc:1499
+#: rc_option_editor.cc:2084 sfdb_ui.cc:658
msgid "None"
msgstr "(aucun)"
@@ -6886,87 +7014,87 @@ msgstr "Nom du port:"
msgid "MidiPortDialog"
msgstr "MidiPortDialog"
-#: midi_region_view.cc:838
+#: midi_region_view.cc:822
msgid "channel edit"
msgstr ""
-#: midi_region_view.cc:874
+#: midi_region_view.cc:858
msgid "velocity edit"
msgstr ""
-#: midi_region_view.cc:931
+#: midi_region_view.cc:915
msgid "add note"
msgstr "ajouter une note"
-#: midi_region_view.cc:1779
+#: midi_region_view.cc:1766
msgid "step add"
msgstr ""
-#: midi_region_view.cc:1862
+#: midi_region_view.cc:1853
msgid "insane MIDI patch key %1:%2"
msgstr ""
-#: midi_region_view.cc:1870 midi_region_view.cc:1890
+#: midi_region_view.cc:1861 midi_region_view.cc:1881
msgid "alter patch change"
msgstr ""
-#: midi_region_view.cc:1924
+#: midi_region_view.cc:1915
msgid "add patch change"
msgstr ""
-#: midi_region_view.cc:1942
+#: midi_region_view.cc:1933
msgid "move patch change"
msgstr ""
-#: midi_region_view.cc:1953
+#: midi_region_view.cc:1944
msgid "delete patch change"
msgstr ""
-#: midi_region_view.cc:2022
+#: midi_region_view.cc:2013
msgid "delete selection"
msgstr "supprimer la sélection"
-#: midi_region_view.cc:2038
+#: midi_region_view.cc:2029
msgid "delete note"
msgstr "supprimer la note"
-#: midi_region_view.cc:2425
+#: midi_region_view.cc:2423
msgid "move notes"
msgstr "déplacer les notes"
-#: midi_region_view.cc:2647
+#: midi_region_view.cc:2645
msgid "resize notes"
msgstr ""
-#: midi_region_view.cc:2901
+#: midi_region_view.cc:2899
msgid "change velocities"
msgstr ""
-#: midi_region_view.cc:2967
+#: midi_region_view.cc:2965
msgid "transpose"
msgstr "transposer"
-#: midi_region_view.cc:3001
+#: midi_region_view.cc:2999
msgid "change note lengths"
msgstr "modifier la durée de la note"
-#: midi_region_view.cc:3070
+#: midi_region_view.cc:3068
msgid "nudge"
msgstr "décaler"
-#: midi_region_view.cc:3085
+#: midi_region_view.cc:3083
msgid "change channel"
msgstr "changer le canal"
-#: midi_region_view.cc:3130
+#: midi_region_view.cc:3128
msgid "Bank "
msgstr ""
-#: midi_region_view.cc:3131
+#: midi_region_view.cc:3129
msgid "Program "
msgstr ""
-#: midi_region_view.cc:3132
+#: midi_region_view.cc:3130
msgid "Channel "
msgstr ""
@@ -6974,140 +7102,136 @@ msgstr ""
msgid "paste"
msgstr "coller"
-#: midi_region_view.cc:3761
-msgid "delete sysex"
-msgstr ""
-
-#: midi_streamview.cc:479
+#: midi_streamview.cc:491
msgid "failed to create MIDI region"
msgstr "Echec lors de la création de la région MIDI"
-#: midi_time_axis.cc:262
+#: midi_time_axis.cc:293
msgid "External MIDI Device"
msgstr ""
-#: midi_time_axis.cc:263
+#: midi_time_axis.cc:294
msgid "External Device Mode"
msgstr ""
-#: midi_time_axis.cc:271
+#: midi_time_axis.cc:302
msgid "Chns"
msgstr ""
-#: midi_time_axis.cc:272
+#: midi_time_axis.cc:303
msgid "Click to edit channel settings"
msgstr ""
-#: midi_time_axis.cc:486
+#: midi_time_axis.cc:517
msgid "Show Full Range"
msgstr ""
-#: midi_time_axis.cc:491
+#: midi_time_axis.cc:522
msgid "Fit Contents"
msgstr "Contenu:"
-#: midi_time_axis.cc:495
+#: midi_time_axis.cc:526
msgid "Note Range"
msgstr ""
-#: midi_time_axis.cc:496
+#: midi_time_axis.cc:527
msgid "Note Mode"
msgstr ""
-#: midi_time_axis.cc:497
+#: midi_time_axis.cc:528
msgid "Channel Selector"
msgstr ""
-#: midi_time_axis.cc:502
+#: midi_time_axis.cc:533
msgid "Color Mode"
msgstr "Mode couleur"
-#: midi_time_axis.cc:561
+#: midi_time_axis.cc:592
msgid "Bender"
msgstr ""
-#: midi_time_axis.cc:565
+#: midi_time_axis.cc:596
msgid "Pressure"
msgstr "Pression"
-#: midi_time_axis.cc:578
+#: midi_time_axis.cc:609
msgid "Controllers"
msgstr "Contrôleurs"
-#: midi_time_axis.cc:583
+#: midi_time_axis.cc:614
msgid "No MIDI Channels selected"
msgstr "Aucun canal MIDI sélectionné"
-#: midi_time_axis.cc:640 midi_time_axis.cc:769
+#: midi_time_axis.cc:692 midi_time_axis.cc:821
msgid "Hide all channels"
msgstr "Cacher tous les canaux"
-#: midi_time_axis.cc:644 midi_time_axis.cc:773
+#: midi_time_axis.cc:696 midi_time_axis.cc:825
msgid "Show all channels"
msgstr "Afficher tous les canaux"
-#: midi_time_axis.cc:655 midi_time_axis.cc:784
+#: midi_time_axis.cc:707 midi_time_axis.cc:836
msgid "Channel %1"
msgstr "Canal %1"
-#: midi_time_axis.cc:910 midi_time_axis.cc:942
+#: midi_time_axis.cc:962 midi_time_axis.cc:994
msgid "Controllers %1-%2"
msgstr "Contrôleurs %1-%2"
-#: midi_time_axis.cc:933 midi_time_axis.cc:936
+#: midi_time_axis.cc:985 midi_time_axis.cc:988
msgid "Controller %1"
msgstr "Contrôleur %1"
-#: midi_time_axis.cc:959
+#: midi_time_axis.cc:1011
msgid "Sustained"
msgstr ""
-#: midi_time_axis.cc:966
+#: midi_time_axis.cc:1018
msgid "Percussive"
msgstr ""
-#: midi_time_axis.cc:986
+#: midi_time_axis.cc:1038
msgid "Meter Colors"
msgstr "Couleur du VU-mètre"
-#: midi_time_axis.cc:993
+#: midi_time_axis.cc:1045
msgid "Channel Colors"
msgstr "Couleur du canal"
-#: midi_time_axis.cc:1000
+#: midi_time_axis.cc:1052
msgid "Track Color"
msgstr "Couleur de la piste"
-#: midi_time_axis.cc:1488 midi_time_axis.cc:1494 midi_time_axis.cc:1504
-#: midi_time_axis.cc:1510
+#: midi_time_axis.cc:1687 midi_time_axis.cc:1693 midi_time_axis.cc:1703
+#: midi_time_axis.cc:1709
msgid "all"
msgstr ""
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1507
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1706
msgid "some"
msgstr ""
-#: midi_tracer.cc:46
+#: midi_tracer.cc:49
msgid "Line history: "
msgstr ""
-#: midi_tracer.cc:54
+#: midi_tracer.cc:57
msgid "Auto-Scroll"
msgstr "Défilement automatique"
-#: midi_tracer.cc:55
+#: midi_tracer.cc:58
msgid "Decimal"
msgstr "Décimal"
-#: midi_tracer.cc:56 rc_option_editor.cc:657
+#: midi_tracer.cc:59 rc_option_editor.cc:717
msgid "Enabled"
msgstr "Activé"
-#: midi_tracer.cc:57
+#: midi_tracer.cc:60
msgid "Delta times"
msgstr ""
-#: midi_tracer.cc:70
+#: midi_tracer.cc:73
msgid "Port:"
msgstr "Port:"
@@ -7115,35 +7239,35 @@ msgstr "Port:"
msgid "New velocity"
msgstr ""
-#: missing_file_dialog.cc:34
-msgid "Missing File!"
-msgstr "Fichier manquant!"
+#: missing_file_dialog.cc:35
+msgid "Missing File"
+msgstr ""
-#: missing_file_dialog.cc:36
+#: missing_file_dialog.cc:37
msgid "Select a folder to search"
msgstr "Choisir le dossier pour la recherche"
-#: missing_file_dialog.cc:37
+#: missing_file_dialog.cc:38
msgid "Add chosen folder to search path, and try again"
msgstr "Ajouter le dossier aux chemins de recherche, et essayer à nouveau"
-#: missing_file_dialog.cc:39
+#: missing_file_dialog.cc:40
msgid "Stop loading this session"
msgstr "Arrêter le chargement de la session"
-#: missing_file_dialog.cc:40
+#: missing_file_dialog.cc:41
msgid "Skip all missing files"
msgstr "Ignorer tous les fichiers manquants"
-#: missing_file_dialog.cc:41
+#: missing_file_dialog.cc:42
msgid "Skip this file"
msgstr "Ignorer ce fichier"
-#: missing_file_dialog.cc:52
+#: missing_file_dialog.cc:53
msgid "audio"
msgstr "audio"
-#: missing_file_dialog.cc:65
+#: missing_file_dialog.cc:70
msgid ""
"%1 cannot find the %2 file\n"
"\n"
@@ -7163,7 +7287,7 @@ msgstr ""
"<tt>%4</tt>\n"
"\n"
-#: missing_file_dialog.cc:99
+#: missing_file_dialog.cc:104
msgid "Click to choose an additional folder"
msgstr "Cliquez pour choisir un dossier supplémentaire"
@@ -7171,7 +7295,7 @@ msgstr "Cliquez pour choisir un dossier supplémentaire"
msgid "Missing Plugins"
msgstr "Plugins manquants"
-#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:59
+#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:60
msgid "OK"
msgstr "OK"
@@ -7227,6 +7351,10 @@ msgstr ""
msgid "Toggle Selected Plugins"
msgstr ""
+#: mixer_actor.cc:70
+msgid "Deselect all srips and processors"
+msgstr ""
+
#: mixer_actor.cc:72 mixer_actor.cc:73
msgid "Scroll Mixer Window to the left"
msgstr ""
@@ -7243,315 +7371,303 @@ msgstr ""
msgid "Could not find mixer.bindings in search path %1"
msgstr ""
-#: mixer_strip.cc:93 mixer_strip.cc:121 mixer_strip.cc:1721
+#: mixer_strip.cc:98 mixer_strip.cc:127
msgid "pre"
msgstr "pré"
-#: mixer_strip.cc:95 mixer_strip.cc:123 mixer_strip.cc:354 mixer_strip.cc:1300
-#: rc_option_editor.cc:1868
+#: mixer_strip.cc:100 mixer_strip.cc:129 mixer_strip.cc:376
+#: mixer_strip.cc:1373 rc_option_editor.cc:2203
msgid "Comments"
msgstr ""
-#: mixer_strip.cc:147
+#: mixer_strip.cc:151
msgid "Click to toggle the width of this mixer strip."
msgstr ""
-#: mixer_strip.cc:149
+#: mixer_strip.cc:153
msgid ""
"\n"
"%1-%2-click to toggle the width of all strips."
msgstr ""
-#: mixer_strip.cc:156
+#: mixer_strip.cc:160
msgid "Hide this mixer strip"
msgstr "Cacher ce tranche de mixage"
-#: mixer_strip.cc:167
+#: mixer_strip.cc:171
msgid "Click to select metering point"
msgstr ""
-#: mixer_strip.cc:173
-msgid "tupni"
-msgstr "tupni"
-
-#: mixer_strip.cc:192
+#: mixer_strip.cc:191
msgid "Isolate Solo"
msgstr "Isoler le Solo"
-#: mixer_strip.cc:201
+#: mixer_strip.cc:200
msgid "Lock Solo Status"
msgstr "Verrouiller le status Solo"
-#: mixer_strip.cc:203 mixer_strip.cc:1926
-msgid "lock"
-msgstr "verrou"
-
-#: mixer_strip.cc:204 mixer_strip.cc:1925
-msgid "iso"
-msgstr "iso"
+#: mixer_strip.cc:203 mixer_strip.cc:1982
+msgid "Iso"
+msgstr ""
-#: mixer_strip.cc:258
+#: mixer_strip.cc:259
msgid "Mix group"
msgstr ""
-#: mixer_strip.cc:351 rc_option_editor.cc:1865
+#: mixer_strip.cc:372 rc_option_editor.cc:2199
msgid "Phase Invert"
msgstr ""
-#: mixer_strip.cc:352 rc_option_editor.cc:1866 route_ui.cc:1218
-msgid "Solo Safe"
-msgstr "Bloquer le solo"
-
-#: mixer_strip.cc:355 mixer_ui.cc:124 route_time_axis.cc:673
-msgid "Group"
-msgstr "Groupe"
+#: mixer_strip.cc:373 rc_option_editor.cc:2200
+msgid "Record & Monitor"
+msgstr ""
-#: mixer_strip.cc:356 rc_option_editor.cc:1869
-msgid "Meter Point"
+#: mixer_strip.cc:374 rc_option_editor.cc:2201
+msgid "Solo Iso / Lock"
msgstr ""
-#: mixer_strip.cc:470
+#: mixer_strip.cc:530
msgid "Enable/Disable MIDI input"
msgstr "Activer/désactiver l'entrée du MIDI"
-#: mixer_strip.cc:622
-msgid ""
-"Aux\n"
-"Sends"
+#: mixer_strip.cc:694
+msgid "Aux"
msgstr ""
-"Arrivées\n"
-"Aux"
-#: mixer_strip.cc:646
+#: mixer_strip.cc:716
msgid "Snd"
msgstr ""
-#: mixer_strip.cc:701 mixer_strip.cc:829 processor_box.cc:2193
+#: mixer_strip.cc:782 mixer_strip.cc:880 processor_box.cc:2426
msgid "Not connected to audio engine - no I/O changes are possible"
msgstr ""
-#: mixer_strip.cc:1096
+#: mixer_strip.cc:1163
msgid "<b>INPUT</b> to %1"
msgstr "<b>ENTRÉE</b> vers %1"
-#: mixer_strip.cc:1099
+#: mixer_strip.cc:1166
msgid "<b>OUTPUT</b> from %1"
msgstr "<b>SORTIE</b> depuis %1"
-#: mixer_strip.cc:1174
+#: mixer_strip.cc:1241
msgid "Disconnected"
msgstr "Déconnecté"
-#: mixer_strip.cc:1303
+#: mixer_strip.cc:1376
msgid "*Comments*"
msgstr "*commentaires*"
-#: mixer_strip.cc:1310
+#: mixer_strip.cc:1383
msgid "Cmt"
msgstr "Cmt"
-#: mixer_strip.cc:1313
+#: mixer_strip.cc:1386
msgid "*Cmt*"
msgstr "*Cmt*"
-#: mixer_strip.cc:1319
+#: mixer_strip.cc:1392
msgid "Click to Add/Edit Comments"
msgstr "ajouter ou modifier des commentaires"
-#: mixer_strip.cc:1358
-msgid ": comment editor"
-msgstr ": éditeur de commentaires"
-
-#: mixer_strip.cc:1435
+#: mixer_strip.cc:1436
msgid "Grp"
msgstr "Grp"
-#: mixer_strip.cc:1438
+#: mixer_strip.cc:1439
msgid "~G"
msgstr "~G"
-#: mixer_strip.cc:1467
+#: mixer_strip.cc:1468 route_time_axis.cc:534
+msgid "Color..."
+msgstr "Couleur..."
+
+#: mixer_strip.cc:1470 route_time_axis.cc:536
msgid "Comments..."
msgstr "Commentaires..."
-#: mixer_strip.cc:1469
+#: mixer_strip.cc:1472 route_time_axis.cc:538
+msgid "Inputs..."
+msgstr ""
+
+#: mixer_strip.cc:1474 route_time_axis.cc:540
+msgid "Outputs..."
+msgstr ""
+
+#: mixer_strip.cc:1479
msgid "Save As Template..."
msgstr "Enregistrer comme modèle..."
-#: mixer_strip.cc:1475 route_group_dialog.cc:39 route_time_axis.cc:696
+#: mixer_strip.cc:1485 route_group_dialog.cc:45 route_time_axis.cc:814
msgid "Active"
msgstr "Activé"
-#: mixer_strip.cc:1482
+#: mixer_strip.cc:1493
msgid "Adjust Latency..."
msgstr "Régler la latence..."
-#: mixer_strip.cc:1485
+#: mixer_strip.cc:1496
msgid "Protect Against Denormals"
msgstr "Protèger contre les dénormalisations"
-#: mixer_strip.cc:1491 route_time_axis.cc:435
+#: mixer_strip.cc:1502 route_time_axis.cc:553
msgid "Remote Control ID..."
msgstr ""
-#: mixer_strip.cc:1717 mixer_strip.cc:1741
-msgid "in"
-msgstr "entrée"
-
-#: mixer_strip.cc:1725
-msgid "post"
-msgstr "post"
-
-#: mixer_strip.cc:1729
-msgid "out"
-msgstr "sortie"
-
-#: mixer_strip.cc:1734
-msgid "custom"
+#: mixer_strip.cc:1778
+msgid "Pre"
msgstr ""
-#: mixer_strip.cc:1745
-msgid "pr"
+#: mixer_strip.cc:1782
+msgid "Post"
msgstr ""
-#: mixer_strip.cc:1749
-msgid "po"
+#: mixer_strip.cc:1802
+msgid "Pr"
msgstr ""
-#: mixer_strip.cc:1753
-msgid "o"
+#: mixer_strip.cc:1806
+msgid "Po"
msgstr ""
-#: mixer_strip.cc:1758
-msgid "c"
+#: mixer_strip.cc:1815
+msgid "C"
msgstr ""
-#: mixer_strip.cc:1906 route_ui.cc:143
+#: mixer_strip.cc:1963 route_ui.cc:164
msgid "Disk"
msgstr "Disque"
-#: mixer_strip.cc:1918 monitor_section.cc:63
+#: mixer_strip.cc:1975 monitor_section.cc:71
msgid "AFL"
msgstr "AFL"
-#: mixer_strip.cc:1921 monitor_section.cc:64
+#: mixer_strip.cc:1978 monitor_section.cc:72
msgid "PFL"
msgstr "PFL"
-#: mixer_strip.cc:1933
+#: mixer_strip.cc:1989 meter_strip.cc:380
msgid "D"
msgstr ""
-#: mixer_strip.cc:1953
-msgid "i"
-msgstr ""
-
-#: mixer_strip.cc:2128
-msgid "Pre-fader"
-msgstr ""
+#: mixer_strip.cc:2196
+msgid "Pre Fader"
+msgstr "Pré-atténuation"
-#: mixer_strip.cc:2129
-msgid "Post-fader"
-msgstr ""
+#: mixer_strip.cc:2197
+msgid "Post Fader"
+msgstr "Post-atténuation"
-#: mixer_strip.cc:2166 meter_strip.cc:728
+#: mixer_strip.cc:2235 meter_strip.cc:818
msgid "Change all in Group to %1"
msgstr ""
-#: mixer_strip.cc:2168 meter_strip.cc:730
+#: mixer_strip.cc:2237 meter_strip.cc:820
msgid "Change all to %1"
msgstr ""
-#: mixer_strip.cc:2170 meter_strip.cc:732
+#: mixer_strip.cc:2239 meter_strip.cc:822
msgid "Change same track-type to %1"
msgstr ""
-#: mixer_ui.cc:1189
+#: mixer_ui.cc:129 route_time_axis.cc:791
+msgid "Group"
+msgstr "Groupe"
+
+#: mixer_ui.cc:1209
msgid "track display list item for renamed strip not found!"
msgstr ""
"élément de liste d'affichage de piste introuvable pour la tranche renommée !"
-#: mixer_ui.cc:1273
+#: mixer_ui.cc:1293
msgid "-all-"
msgstr "-(tout)-"
-#: mixer_ui.cc:1794
+#: mixer_ui.cc:1829
msgid "Strips"
msgstr "Tranches"
-#: meter_strip.cc:764
+#: meter_strip.cc:157
+msgid "Reset Peak"
+msgstr ""
+
+#: meter_strip.cc:854
msgid "Variable height"
msgstr ""
-#: meter_strip.cc:765
+#: meter_strip.cc:855
msgid "Short"
msgstr ""
-#: meter_strip.cc:766
+#: meter_strip.cc:856
msgid "Tall"
msgstr ""
-#: meter_strip.cc:767
+#: meter_strip.cc:857
msgid "Grande"
msgstr ""
-#: meter_strip.cc:768
+#: meter_strip.cc:858
msgid "Venti"
msgstr ""
-#: meter_patterns.cc:81
+#: meter_patterns.cc:82
msgid "Peak"
msgstr ""
-#: meter_patterns.cc:84
+#: meter_patterns.cc:85
msgid "RMS + Peak"
msgstr ""
-#: meter_patterns.cc:87
+#: meter_patterns.cc:88
msgid "IEC1/DIN"
msgstr ""
-#: meter_patterns.cc:90
+#: meter_patterns.cc:91
msgid "IEC1/Nordic"
msgstr ""
-#: meter_patterns.cc:93
+#: meter_patterns.cc:94
msgid "IEC2/BBC"
msgstr ""
-#: meter_patterns.cc:96
+#: meter_patterns.cc:97
msgid "IEC2/EBU"
msgstr ""
-#: meter_patterns.cc:99
+#: meter_patterns.cc:100
msgid "K20"
msgstr ""
-#: meter_patterns.cc:102
+#: meter_patterns.cc:103
msgid "K14"
msgstr ""
-#: meter_patterns.cc:105
+#: meter_patterns.cc:106
+msgid "K12"
+msgstr ""
+
+#: meter_patterns.cc:109
msgid "VU"
msgstr ""
-#: monitor_section.cc:62
+#: monitor_section.cc:70
msgid "SiP"
msgstr "SiP"
-#: monitor_section.cc:86
-msgid "soloing"
-msgstr ""
+#: monitor_section.cc:97 route_group_dialog.cc:49
+msgid "Soloing"
+msgstr "Solo"
-#: monitor_section.cc:90
-msgid "isolated"
+#: monitor_section.cc:101
+msgid "Isolated"
msgstr ""
-#: monitor_section.cc:94
-msgid "auditioning"
+#: monitor_section.cc:105
+msgid "Auditioning"
msgstr ""
-#: monitor_section.cc:104
+#: monitor_section.cc:115
msgid ""
"When active, something is solo-isolated.\n"
"Click to de-isolate everything"
@@ -7559,7 +7675,7 @@ msgstr ""
"Actif lorsque quelque chose est isolé par un solo\n"
"Cliquez pour désactiver tous les solos."
-#: monitor_section.cc:107
+#: monitor_section.cc:118
msgid ""
"When active, auditioning is active.\n"
"Click to stop the audition"
@@ -7567,57 +7683,57 @@ msgstr ""
"Actif lorsqu'une écoute est en cours\n"
"Cliquez pour stopper l'écoute."
-#: monitor_section.cc:124
+#: monitor_section.cc:135
msgid "Solo controls affect solo-in-place"
msgstr ""
-#: monitor_section.cc:130
+#: monitor_section.cc:141
msgid "Solo controls toggle after-fader-listen"
msgstr ""
-#: monitor_section.cc:136
+#: monitor_section.cc:147
msgid "Solo controls toggle pre-fader-listen"
msgstr ""
-#: monitor_section.cc:144
+#: monitor_section.cc:157
msgid "Gain increase for soloed signals (0dB is normal)"
msgstr ""
-#: monitor_section.cc:150
+#: monitor_section.cc:171
msgid "Solo Boost"
msgstr "Gain Solo"
-#: monitor_section.cc:162
+#: monitor_section.cc:186
msgid ""
"Gain reduction non-soloed signals\n"
"A value above -inf dB causes \"solo-in-front\""
msgstr ""
-#: monitor_section.cc:164
+#: monitor_section.cc:197
msgid "SiP Cut"
msgstr ""
-#: monitor_section.cc:176
+#: monitor_section.cc:212
msgid "Gain reduction to use when dimming monitor outputs"
msgstr ""
-#: monitor_section.cc:181
+#: monitor_section.cc:226 monitor_section.cc:284
msgid "Dim"
msgstr ""
-#: monitor_section.cc:190
-msgid "excl. solo"
+#: monitor_section.cc:236
+msgid "Excl. Solo"
msgstr ""
-#: monitor_section.cc:192
+#: monitor_section.cc:238
msgid "Exclusive solo means that only 1 solo is active at a time"
msgstr "Solo exclusif veut dire qu'un seul solo peut être actif à la fois"
-#: monitor_section.cc:199
-msgid "solo » mute"
+#: monitor_section.cc:245
+msgid "Solo » Mute"
msgstr ""
-#: monitor_section.cc:201
+#: monitor_section.cc:247
msgid ""
"If enabled, solo will override mute\n"
"(a soloed & muted track or bus will be audible)"
@@ -7625,71 +7741,63 @@ msgstr ""
"Si actif, le mode solo prend le pas sur le mode muet (une piste muette et en "
"solo sera audible)"
-#: monitor_section.cc:227
-msgid "mute"
-msgstr "muet"
-
-#: monitor_section.cc:238
-msgid "dim"
-msgstr ""
-
-#: monitor_section.cc:245
-msgid "mono"
-msgstr "mono"
-
-#: monitor_section.cc:266
+#: monitor_section.cc:324
msgid "Monitor"
msgstr ""
-#: monitor_section.cc:678
+#: monitor_section.cc:751
msgid "Switch monitor to mono"
msgstr ""
-#: monitor_section.cc:681
+#: monitor_section.cc:754
msgid "Cut monitor"
msgstr ""
-#: monitor_section.cc:684
+#: monitor_section.cc:757
msgid "Dim monitor"
msgstr ""
-#: monitor_section.cc:687
+#: monitor_section.cc:760
msgid "Toggle exclusive solo mode"
msgstr ""
-#: monitor_section.cc:693
+#: monitor_section.cc:766
msgid "Toggle mute overrides solo mode"
msgstr ""
-#: monitor_section.cc:705
+#: monitor_section.cc:778
msgid "Cut monitor channel %1"
msgstr ""
-#: monitor_section.cc:710
+#: monitor_section.cc:783
msgid "Dim monitor channel %1"
msgstr ""
-#: monitor_section.cc:715
+#: monitor_section.cc:788
msgid "Solo monitor channel %1"
msgstr ""
-#: monitor_section.cc:720
+#: monitor_section.cc:793
msgid "Invert monitor channel %1"
msgstr ""
-#: monitor_section.cc:730
+#: monitor_section.cc:803
msgid "In-place solo"
msgstr ""
-#: monitor_section.cc:732
+#: monitor_section.cc:805
msgid "After Fade Listen (AFL) solo"
msgstr ""
-#: monitor_section.cc:734
+#: monitor_section.cc:807
msgid "Pre Fade Listen (PFL) solo"
msgstr ""
-#: mono_panner.cc:101
+#: mono_panner.cc:109 stereo_panner.cc:117
+msgid "bypassed"
+msgstr ""
+
+#: mono_panner.cc:123
#, c-format
msgid "L:%3d R:%3d"
msgstr "G:%3d D:%3d"
@@ -7793,7 +7901,7 @@ msgstr "Normaliser les régions"
msgid "Normalize region"
msgstr "Normaliser la région"
-#: normalize_dialog.cc:49 strip_silence_dialog.cc:70
+#: normalize_dialog.cc:49 strip_silence_dialog.cc:66
msgid "dbFS"
msgstr "dBFS"
@@ -7919,31 +8027,26 @@ msgstr ""
" -k, --keybindings nomfichier Nom du fichier des raccourcis claviers "
"à charger (par défaut ~/.ardour3/ardour.bindings)\n"
-#: panner2d.cc:781
+#: panner2d.cc:852
msgid "Panner (2D)"
msgstr ""
-#: panner2d.cc:783 panner_ui.cc:383 plugin_ui.cc:448
+#: panner2d.cc:854 panner_ui.cc:399 plugin_ui.cc:449
msgid "Bypass"
msgstr "Court-circuiter"
-#: panner2d.cc:787
+#: panner2d.cc:860
msgid "Panner"
msgstr ""
-#: panner_ui.cc:70
+#: panner_ui.cc:71
msgid "Pan automation mode"
msgstr "Mode d'automation du panoramique"
-#: panner_ui.cc:71
+#: panner_ui.cc:72
msgid "Pan automation type"
msgstr "Type d'automation de panoramique"
-#: panner_ui.cc:294
-msgid ""
-"No panner user interface is currently available for %1-in/2out tracks/busses"
-msgstr ""
-
#: playlist_selector.cc:43
msgid "Playlists"
msgstr "Listes de lecture"
@@ -7968,39 +8071,39 @@ msgstr "non assigné"
msgid "Imported"
msgstr "Importé"
-#: plugin_eq_gui.cc:75 plugin_eq_gui.cc:99
+#: plugin_eq_gui.cc:85 plugin_eq_gui.cc:109
msgid "dB scale"
msgstr "échelle en dB"
-#: plugin_eq_gui.cc:106
+#: plugin_eq_gui.cc:116
msgid "Show phase"
msgstr ""
-#: plugin_selector.cc:53 plugin_selector.cc:220
+#: plugin_selector.cc:53 plugin_selector.cc:229
msgid "Name contains"
msgstr "Le nom contient"
-#: plugin_selector.cc:54 plugin_selector.cc:224
+#: plugin_selector.cc:54 plugin_selector.cc:233
msgid "Type contains"
msgstr "Le type contient"
-#: plugin_selector.cc:55 plugin_selector.cc:222
+#: plugin_selector.cc:55 plugin_selector.cc:231
msgid "Category contains"
msgstr "La catégorie contient"
-#: plugin_selector.cc:56 plugin_selector.cc:244
+#: plugin_selector.cc:56 plugin_selector.cc:253
msgid "Author contains"
msgstr "Le nom de l'auteur contient"
-#: plugin_selector.cc:57 plugin_selector.cc:246
+#: plugin_selector.cc:57 plugin_selector.cc:255
msgid "Library contains"
msgstr "La bibliothèque contient"
-#: plugin_selector.cc:58 plugin_selector.cc:210 plugin_selector.cc:521
+#: plugin_selector.cc:58 plugin_selector.cc:219 plugin_selector.cc:537
msgid "Favorites only"
msgstr "Seulement les favoris"
-#: plugin_selector.cc:59 plugin_selector.cc:214 plugin_selector.cc:521
+#: plugin_selector.cc:59 plugin_selector.cc:223 plugin_selector.cc:537
msgid "Hidden only"
msgstr ""
@@ -8008,68 +8111,68 @@ msgstr ""
msgid "Plugin Manager"
msgstr "Gestion des plugins"
-#: plugin_selector.cc:84
+#: plugin_selector.cc:85
msgid "Fav"
msgstr ""
-#: plugin_selector.cc:86
+#: plugin_selector.cc:87
msgid "Available Plugins"
msgstr "Plugins disponibles"
-#: plugin_selector.cc:87
+#: plugin_selector.cc:88
msgid "Type"
msgstr "Type"
-#: plugin_selector.cc:88
+#: plugin_selector.cc:89
msgid "Category"
msgstr "Catégorie"
-#: plugin_selector.cc:89
+#: plugin_selector.cc:90
msgid "Creator"
msgstr "Créateur"
-#: plugin_selector.cc:90
+#: plugin_selector.cc:91
msgid "# Audio In"
msgstr "# Entrée audio"
-#: plugin_selector.cc:91
+#: plugin_selector.cc:92
msgid "# Audio Out"
msgstr "# Sortie audio"
-#: plugin_selector.cc:92
+#: plugin_selector.cc:93
msgid "# MIDI In"
msgstr "# Entrée MIDI"
-#: plugin_selector.cc:93
+#: plugin_selector.cc:94
msgid "# MIDI Out"
msgstr "# Sortie MIDI"
-#: plugin_selector.cc:115
+#: plugin_selector.cc:116
msgid "Plugins to be connected"
msgstr "Plugins à connecter"
-#: plugin_selector.cc:128
+#: plugin_selector.cc:129
msgid "Add a plugin to the effect list"
msgstr "Ajouter un plugin à la liste"
-#: plugin_selector.cc:132
+#: plugin_selector.cc:133
msgid "Remove a plugin from the effect list"
msgstr "Retirer un plugin de la liste"
-#: plugin_selector.cc:134
+#: plugin_selector.cc:135
msgid "Update available plugins"
msgstr "Rafraîchir les plugins disponibles"
-#: plugin_selector.cc:171
+#: plugin_selector.cc:172
msgid "Insert Plugin(s)"
msgstr "Insérer des plugins"
-#: plugin_selector.cc:320 plugin_selector.cc:321 plugin_selector.cc:322
-#: plugin_selector.cc:323
+#: plugin_selector.cc:337 plugin_selector.cc:338 plugin_selector.cc:339
+#: plugin_selector.cc:340
msgid "variable"
msgstr ""
-#: plugin_selector.cc:480
+#: plugin_selector.cc:496
msgid ""
"The plugin \"%1\" could not be loaded\n"
"\n"
@@ -8079,81 +8182,81 @@ msgstr ""
"\n"
"Il y a peut-être plus de détails dans la fenêtre de Log"
-#: plugin_selector.cc:628
+#: plugin_selector.cc:644
msgid "Favorites"
msgstr "Favoris"
-#: plugin_selector.cc:630
+#: plugin_selector.cc:646
msgid "Plugin Manager..."
msgstr "Gestionnaire de plugin..."
-#: plugin_selector.cc:634
+#: plugin_selector.cc:650
msgid "By Creator"
msgstr "Par créateur"
-#: plugin_selector.cc:637
+#: plugin_selector.cc:653
msgid "By Category"
msgstr "Par catégorie"
-#: plugin_ui.cc:114
+#: plugin_ui.cc:113
msgid "Eh? LADSPA plugins don't have editors!"
msgstr "Hein ? Les plugins LADSPA n'ont pas d'éditeur !"
-#: plugin_ui.cc:123 plugin_ui.cc:226
+#: plugin_ui.cc:122 plugin_ui.cc:227
msgid ""
"unknown type of editor-supplying plugin (note: no VST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:126
+#: plugin_ui.cc:125
msgid "unknown type of editor-supplying plugin"
msgstr "type inconnu pour le plugin fournissant un éditeur"
-#: plugin_ui.cc:256
+#: plugin_ui.cc:257
msgid ""
"unknown type of editor-supplying plugin (note: no linuxVST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:328
+#: plugin_ui.cc:329
msgid "create_lv2_editor called on non-LV2 plugin"
msgstr "create_lv2_editor est appelé sur un plugin non LV2"
-#: plugin_ui.cc:414
+#: plugin_ui.cc:415
msgid "Add"
msgstr "Ajouter"
-#: plugin_ui.cc:418
+#: plugin_ui.cc:419
msgid "Description"
msgstr ""
-#: plugin_ui.cc:419
+#: plugin_ui.cc:420
msgid "Plugin analysis"
msgstr ""
-#: plugin_ui.cc:426
+#: plugin_ui.cc:427
msgid ""
"Presets (if any) for this plugin\n"
"(Both factory and user-created)"
msgstr ""
-#: plugin_ui.cc:427
+#: plugin_ui.cc:428
msgid "Save a new preset"
msgstr ""
-#: plugin_ui.cc:428
+#: plugin_ui.cc:429
msgid "Save the current preset"
msgstr ""
-#: plugin_ui.cc:429
+#: plugin_ui.cc:430
msgid "Delete the current preset"
msgstr ""
-#: plugin_ui.cc:430
+#: plugin_ui.cc:431
msgid "Disable signal processing by the plugin"
msgstr ""
-#: plugin_ui.cc:463 plugin_ui.cc:659
+#: plugin_ui.cc:464 plugin_ui.cc:660
msgid ""
"Click to allow the plugin to receive keyboard events that %1 would normally "
"use as a shortcut"
@@ -8161,41 +8264,41 @@ msgstr ""
"Cliquez pour authoriser le plugin à recevoir des évenements que %1 considère "
"habituellement comme des raccourcis"
-#: plugin_ui.cc:464
+#: plugin_ui.cc:465
msgid "Click to enable/disable this plugin"
msgstr "Cliquez pour activer/désactiver ce plugin"
-#: plugin_ui.cc:503
+#: plugin_ui.cc:504
msgid "latency (%1 sample)"
msgid_plural "latency (%1 samples)"
msgstr[0] ""
msgstr[1] ""
-#: plugin_ui.cc:505
+#: plugin_ui.cc:506
msgid "latency (%1 ms)"
msgstr "Latence (%1 ms)"
-#: plugin_ui.cc:516
+#: plugin_ui.cc:517
msgid "Edit Latency"
msgstr "Editer la latence"
-#: plugin_ui.cc:555
+#: plugin_ui.cc:556
msgid "Plugin preset %1 not found"
msgstr "Réglage de plugin « %1 » non trouvé"
-#: plugin_ui.cc:592
+#: plugin_ui.cc:593
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"full version"
msgstr ""
-#: plugin_ui.cc:612 plugin_ui.cc:627
+#: plugin_ui.cc:613 plugin_ui.cc:628
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"newer version"
msgstr ""
-#: plugin_ui.cc:666
+#: plugin_ui.cc:667
msgid "Click to allow normal use of %1 keyboard shortcuts"
msgstr "Cliquez pour utiliser les raccourcis claviers de %1"
@@ -8271,97 +8374,97 @@ msgstr "système:"
msgid "alsa_pcm"
msgstr "alsa_pcm"
-#: port_insert_ui.cc:40
+#: port_insert_ui.cc:39
msgid "Measure Latency"
msgstr "Mesurer la latence"
-#: port_insert_ui.cc:51
+#: port_insert_ui.cc:50
msgid "Send/Output"
msgstr "Départ/Sortie"
-#: port_insert_ui.cc:52
+#: port_insert_ui.cc:51
msgid "Return/Input"
msgstr "Retour/Entrée"
-#: port_insert_ui.cc:86
+#: port_insert_ui.cc:85
msgid "No signal detected"
msgstr "Aucun signal détecté"
-#: port_insert_ui.cc:166
+#: port_insert_ui.cc:165
msgid "Port Insert "
msgstr ""
-#: port_matrix.cc:331 port_matrix.cc:357
+#: port_matrix.cc:332 port_matrix.cc:358
msgid "<b>Sources</b>"
msgstr "<b>Sources :</b>"
-#: port_matrix.cc:332 port_matrix.cc:358
+#: port_matrix.cc:333 port_matrix.cc:359
msgid "<b>Destinations</b>"
msgstr "<b>Destinations</b>"
-#: port_matrix.cc:440 port_matrix.cc:448
+#: port_matrix.cc:441 port_matrix.cc:449
#, c-format
msgid "Add %s %s"
msgstr "Ajouter %s %s"
-#: port_matrix.cc:456
+#: port_matrix.cc:457
#, c-format
msgid "Rename '%s'..."
msgstr "Renommer '%s'..."
-#: port_matrix.cc:472
+#: port_matrix.cc:473
msgid "Remove all"
msgstr "Tout supprimer"
-#: port_matrix.cc:492 port_matrix.cc:504
+#: port_matrix.cc:493 port_matrix.cc:505
#, c-format
msgid "%s all"
msgstr "%s tout"
-#: port_matrix.cc:527
+#: port_matrix.cc:528
msgid "Rescan"
msgstr "Rafraîchir"
-#: port_matrix.cc:529
+#: port_matrix.cc:530
msgid "Show individual ports"
msgstr ""
-#: port_matrix.cc:535
+#: port_matrix.cc:536
msgid "Flip"
msgstr ""
-#: port_matrix.cc:721
+#: port_matrix.cc:722
msgid ""
"It is not possible to add a port here, as the first processor in the track "
"or buss cannot support the new configuration."
msgstr ""
-#: port_matrix.cc:724
+#: port_matrix.cc:725
msgid "Cannot add port"
msgstr ""
-#: port_matrix.cc:746
+#: port_matrix.cc:747
msgid "Port removal not allowed"
msgstr "Suppression de ports non authorisée"
-#: port_matrix.cc:747
+#: port_matrix.cc:748
msgid ""
"This port cannot be removed.\n"
"Either the first plugin in the track or buss cannot accept\n"
"the new number of inputs or the last plugin has more outputs."
msgstr ""
-#: port_matrix.cc:964
+#: port_matrix.cc:965
#, c-format
msgid "Remove '%s'"
msgstr "Supprimer '%s'"
-#: port_matrix.cc:979
+#: port_matrix.cc:980
#, c-format
msgid "%s all from '%s'"
msgstr "%s tout depuis '%s'"
-#: port_matrix.cc:1045
+#: port_matrix.cc:1046
msgid "channel"
msgstr "canal"
@@ -8373,36 +8476,59 @@ msgstr "Il n'y a pas de port à connecter."
msgid "There are no %1 ports to connect."
msgstr "Il n'y a pas de port %1 à connecter."
-#: processor_box.cc:256
+#: processor_box.cc:150
+msgid "Send"
+msgstr ""
+
+#: processor_box.cc:152
+msgid "Return"
+msgstr ""
+
+#: processor_box.cc:310
+msgid ""
+"\n"
+"This mono plugin has been replicated %1 times."
+msgstr ""
+
+#: processor_box.cc:314
msgid ""
"<b>%1</b>\n"
"Double-click to show GUI.\n"
-"Alt+double-click to show generic GUI."
+"Alt+double-click to show generic GUI.%2"
msgstr ""
-#: processor_box.cc:259
+#: processor_box.cc:317
msgid ""
"<b>%1</b>\n"
-"Double-click to show generic GUI."
+"Double-click to show generic GUI.%2"
+msgstr ""
+
+#: processor_box.cc:361
+#, c-format
+msgid "(%1x1) "
msgstr ""
-#: processor_box.cc:372
+#: processor_box.cc:437
msgid "Show All Controls"
msgstr "Afficher les contrôles"
-#: processor_box.cc:376
+#: processor_box.cc:441
msgid "Hide All Controls"
msgstr "Cacher tous les contrôles"
-#: processor_box.cc:465
+#: processor_box.cc:475
+msgid "Link panner controls"
+msgstr ""
+
+#: processor_box.cc:559
msgid "on"
msgstr ""
-#: processor_box.cc:465 rc_option_editor.cc:1898 rc_option_editor.cc:1912
+#: processor_box.cc:559 rc_option_editor.cc:2232 rc_option_editor.cc:2246
msgid "off"
msgstr "Off"
-#: processor_box.cc:742
+#: processor_box.cc:945
msgid ""
"Right-click to add/remove/edit\n"
"plugins,inserts,sends and more"
@@ -8410,15 +8536,15 @@ msgstr ""
"Clic-droit pour ajouter/enlever/modifier\n"
"plugins/départs/insertions etc."
-#: processor_box.cc:1197 processor_box.cc:1618
+#: processor_box.cc:1422 processor_box.cc:1848
msgid "Plugin Incompatibility"
msgstr "Incompatibilité du plugin"
-#: processor_box.cc:1200
+#: processor_box.cc:1425
msgid "You attempted to add the plugin \"%1\" in slot %2.\n"
msgstr "Vous avez essayé d'ajouter le plugin \"%1\" dans la case %2.\n"
-#: processor_box.cc:1206
+#: processor_box.cc:1431
msgid ""
"\n"
"This plugin has:\n"
@@ -8426,19 +8552,19 @@ msgstr ""
"\n"
"Ce plugin possède:\n"
-#: processor_box.cc:1209
+#: processor_box.cc:1434
msgid "\t%1 MIDI input\n"
msgid_plural "\t%1 MIDI inputs\n"
msgstr[0] "\t%1 entrée MIDI\n"
msgstr[1] "\t%1 entrées MIDI\n"
-#: processor_box.cc:1213
+#: processor_box.cc:1438
msgid "\t%1 audio input\n"
msgid_plural "\t%1 audio inputs\n"
msgstr[0] "\t%1 entrée audio\n"
msgstr[1] "\t%1 entrées audio\n"
-#: processor_box.cc:1216
+#: processor_box.cc:1441
msgid ""
"\n"
"but at the insertion point, there are:\n"
@@ -8446,19 +8572,19 @@ msgstr ""
"\n"
"mais au point d'insertion, il y a:\n"
-#: processor_box.cc:1219
+#: processor_box.cc:1444
msgid "\t%1 MIDI channel\n"
msgid_plural "\t%1 MIDI channels\n"
msgstr[0] "\t%1 canal MIDI\n"
msgstr[1] "\t%1 canaux MIDI\n"
-#: processor_box.cc:1223
+#: processor_box.cc:1448
msgid "\t%1 audio channel\n"
msgid_plural "\t%1 audio channels\n"
msgstr[0] "\t%1 canal audio\n"
msgstr[1] "\t%1 canaux audio\n"
-#: processor_box.cc:1226
+#: processor_box.cc:1451
msgid ""
"\n"
"%1 is unable to insert this plugin here.\n"
@@ -8466,11 +8592,11 @@ msgstr ""
"\n"
"%1 est incapable d'insérer ce plugin ici.\n"
-#: processor_box.cc:1262
+#: processor_box.cc:1488
msgid "Cannot set up new send: %1"
msgstr "Impossible e configuer le nouveau départ: %1"
-#: processor_box.cc:1621
+#: processor_box.cc:1851
msgid ""
"You cannot reorder these plugins/sends/inserts\n"
"in that way because the inputs and\n"
@@ -8480,19 +8606,19 @@ msgstr ""
"de cette façon car les entrées et les sorties\n"
"ne fonctionneront pas correctement."
-#: processor_box.cc:1805
+#: processor_box.cc:2035
msgid "Rename Processor"
msgstr "Renommer le traitement"
-#: processor_box.cc:1836
+#: processor_box.cc:2066
msgid "At least 100 IO objects exist with a name like %1 - name not changed"
msgstr "Au moins 100 objects IO avec un nom du style %1 - Le nom est inchangé"
-#: processor_box.cc:1970
+#: processor_box.cc:2203
msgid "plugin insert constructor failed"
msgstr ""
-#: processor_box.cc:1981
+#: processor_box.cc:2214
msgid ""
"Copying the set of processors on the clipboard failed,\n"
"probably because the I/O configuration of the plugins\n"
@@ -8502,7 +8628,7 @@ msgstr ""
"probablement car la configuration d'entrées/sorties des plugins\n"
"ne correspond pas à la configuration de cette piste."
-#: processor_box.cc:2027
+#: processor_box.cc:2260
msgid ""
"Do you really want to remove all processors from %1?\n"
"(this cannot be undone)"
@@ -8510,15 +8636,15 @@ msgstr ""
"Voulez-vous vraiment supprimer toutes les redirections de %1 ?\n"
"Cette action ne pourra pas être annulé!"
-#: processor_box.cc:2031 processor_box.cc:2056
+#: processor_box.cc:2264 processor_box.cc:2289
msgid "Yes, remove them all"
msgstr "Oui, les supprimer"
-#: processor_box.cc:2033 processor_box.cc:2058
+#: processor_box.cc:2266 processor_box.cc:2291
msgid "Remove processors"
msgstr "Supprimer les traitements"
-#: processor_box.cc:2048
+#: processor_box.cc:2281
msgid ""
"Do you really want to remove all pre-fader processors from %1?\n"
"(this cannot be undone)"
@@ -8526,62 +8652,66 @@ msgstr ""
"Voulez-vous vraiment supprimer toutes les pré-redirections de %1 ?\n"
"Cette action ne pourra pas être annulé!"
-#: processor_box.cc:2051
+#: processor_box.cc:2284
msgid ""
"Do you really want to remove all post-fader processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2239
+#: processor_box.cc:2472
msgid "New Plugin"
msgstr "Nouveau plugin"
-#: processor_box.cc:2242
+#: processor_box.cc:2475
msgid "New Insert"
msgstr "Nouvelle insertion"
-#: processor_box.cc:2245
+#: processor_box.cc:2478
msgid "New External Send ..."
msgstr "Nouveau départ externe..."
-#: processor_box.cc:2249
+#: processor_box.cc:2482
msgid "New Aux Send ..."
msgstr "Nouveau départ auxilliaire..."
-#: processor_box.cc:2253
+#: processor_box.cc:2485
+msgid "Send Options"
+msgstr ""
+
+#: processor_box.cc:2487
msgid "Clear (all)"
msgstr "Supprimer tout"
-#: processor_box.cc:2255
+#: processor_box.cc:2489
msgid "Clear (pre-fader)"
msgstr "Supprimer (pré-fader)"
-#: processor_box.cc:2257
+#: processor_box.cc:2491
msgid "Clear (post-fader)"
msgstr "Supprimer (post-fader)"
-#: processor_box.cc:2283
+#: processor_box.cc:2517
msgid "Activate All"
msgstr "Activer tous les groupes"
-#: processor_box.cc:2285
+#: processor_box.cc:2519
msgid "Deactivate All"
msgstr ""
-#: processor_box.cc:2287
+#: processor_box.cc:2521
msgid "A/B Plugins"
msgstr "A/B Plugins"
-#: processor_box.cc:2296
+#: processor_box.cc:2530
msgid "Edit with generic controls..."
msgstr ""
-#: processor_box.cc:2599
+#: processor_box.cc:2833
msgid "%1: %2 (by %3)"
msgstr "%1: %2 (par %3)"
-#: processor_box.cc:2601
-msgid "%2 (by %3)"
+#: processor_box.cc:2835
+msgid "%1 (by %2)"
msgstr ""
#: patch_change_dialog.cc:51
@@ -8596,11 +8726,11 @@ msgstr ""
msgid "Patch"
msgstr ""
-#: patch_change_dialog.cc:99 step_entry.cc:429
+#: patch_change_dialog.cc:99 step_entry.cc:430
msgid "Program"
msgstr "Programme"
-#: patch_change_dialog.cc:107 step_entry.cc:421
+#: patch_change_dialog.cc:107 step_entry.cc:422
msgid "Bank"
msgstr "Banque"
@@ -8632,121 +8762,121 @@ msgstr "Aligner début de note"
msgid "Snap note end"
msgstr "Aligner fin de note"
-#: rc_option_editor.cc:67
+#: rc_option_editor.cc:76
msgid "Click audio file:"
msgstr "Son du clic:"
-#: rc_option_editor.cc:70 rc_option_editor.cc:77
+#: rc_option_editor.cc:79 rc_option_editor.cc:86
msgid "Browse..."
msgstr "Parcourir..."
-#: rc_option_editor.cc:74
+#: rc_option_editor.cc:83
msgid "Click emphasis audio file:"
msgstr "Son du clic accentué:"
-#: rc_option_editor.cc:106
+#: rc_option_editor.cc:115
msgid "Choose Click"
msgstr "Choix du clic"
-#: rc_option_editor.cc:126
+#: rc_option_editor.cc:135
msgid "Choose Click Emphasis"
msgstr "choix du clic accentué"
-#: rc_option_editor.cc:158
+#: rc_option_editor.cc:167
msgid "Limit undo history to"
msgstr "Limiter la taille de l'historique d'annulation à"
-#: rc_option_editor.cc:159
+#: rc_option_editor.cc:168
msgid "Save undo history of"
msgstr "Enregistrer l'historique d'annulation de"
-#: rc_option_editor.cc:168 rc_option_editor.cc:175
+#: rc_option_editor.cc:177 rc_option_editor.cc:184
msgid "commands"
msgstr "commandes"
-#: rc_option_editor.cc:313
+#: rc_option_editor.cc:322
msgid "Edit using:"
msgstr "Éditer avec:"
-#: rc_option_editor.cc:319 rc_option_editor.cc:345 rc_option_editor.cc:372
+#: rc_option_editor.cc:328 rc_option_editor.cc:354 rc_option_editor.cc:381
msgid "+ button"
msgstr ""
-#: rc_option_editor.cc:339
+#: rc_option_editor.cc:348
msgid "Delete using:"
msgstr "Effacer avec:"
-#: rc_option_editor.cc:366
+#: rc_option_editor.cc:375
msgid "Insert note using:"
msgstr "Insérer une note avec:"
-#: rc_option_editor.cc:393
+#: rc_option_editor.cc:402
msgid "Ignore snap using:"
msgstr "Ignorer la grille d'alignement avec:"
-#: rc_option_editor.cc:409
+#: rc_option_editor.cc:418
msgid "Keyboard layout:"
msgstr "Modèle de clavier:"
-#: rc_option_editor.cc:532
+#: rc_option_editor.cc:541
msgid "Font scaling:"
msgstr "Agrandissment des polices:"
-#: rc_option_editor.cc:584
+#: rc_option_editor.cc:591
+msgid "Waveform Clip Level (dBFS):"
+msgstr ""
+
+#: rc_option_editor.cc:643
msgid "Playback (seconds of buffering):"
msgstr "Écoute (tampon en secondes):"
-#: rc_option_editor.cc:597
+#: rc_option_editor.cc:656
msgid "Recording (seconds of buffering):"
msgstr "Enregistrement (tampon en secondes):"
-#: rc_option_editor.cc:654
+#: rc_option_editor.cc:714
msgid "Control Surface Protocol"
msgstr ""
-#: rc_option_editor.cc:658
-msgid "Feedback"
-msgstr "Feedback"
-
-#: rc_option_editor.cc:663
+#: rc_option_editor.cc:723
msgid "Double-click on a name to edit settings for an enabled protocol"
msgstr ""
"Double cliquez sur un nom pour éditer la configuration d'un protocole activé"
-#: rc_option_editor.cc:815
+#: rc_option_editor.cc:886
msgid "Show Video Export Info before export"
msgstr ""
-#: rc_option_editor.cc:816
+#: rc_option_editor.cc:887
msgid "Show Video Server Startup Dialog"
msgstr ""
-#: rc_option_editor.cc:817
+#: rc_option_editor.cc:888
msgid "Advanced Setup (remote video server)"
msgstr ""
-#: rc_option_editor.cc:825
+#: rc_option_editor.cc:896
msgid ""
"<b>When enabled</b> you can speficify a custom video-server URL and docroot. "
"- Do not enable this option unless you know what you are doing."
msgstr ""
-#: rc_option_editor.cc:827
+#: rc_option_editor.cc:898
msgid "Video Server URL:"
msgstr ""
-#: rc_option_editor.cc:832
+#: rc_option_editor.cc:903
msgid ""
"Base URL of the video-server including http prefix. This is usually 'http://"
"hostname.example.org:1554/' and defaults to 'http://localhost:1554/' when "
"the video-server is running locally"
msgstr ""
-#: rc_option_editor.cc:834
+#: rc_option_editor.cc:905
msgid "Video Folder:"
msgstr ""
-#: rc_option_editor.cc:839
+#: rc_option_editor.cc:910
msgid ""
"Local path to the video-server document-root. Only files below this "
"directory will be accessible by the video-server. If the server run on a "
@@ -8755,113 +8885,194 @@ msgid ""
"monitor and file-browsing when opening/adding a video file."
msgstr ""
-#: rc_option_editor.cc:846
+#: rc_option_editor.cc:917
msgid ""
"<b>When enabled</b> an information window with details is displayed before "
"the video-export dialog."
msgstr ""
-#: rc_option_editor.cc:851
+#: rc_option_editor.cc:922
msgid ""
"<b>When enabled</b> the video server is never launched automatically without "
"confirmation"
msgstr ""
-#: rc_option_editor.cc:991
+#: rc_option_editor.cc:1004
+msgid "Always Display Plugin Scan Progress"
+msgstr ""
+
+#: rc_option_editor.cc:1005
+msgid "Scan for new VST Plugins on Application Start"
+msgstr ""
+
+#: rc_option_editor.cc:1016
+msgid "General"
+msgstr ""
+
+#: rc_option_editor.cc:1022
+msgid "Scan for Plugins"
+msgstr ""
+
+#: rc_option_editor.cc:1029
+msgid ""
+"<b>When enabled</b> a popup window showing plugin scan progress is displayed "
+"for indexing (cache load) and discovery (detect new plugins)"
+msgstr ""
+
+#: rc_option_editor.cc:1035
+msgid ""
+"Specify the default timeout for plugin instantiation in 1/10 seconds. "
+"Plugins that require more time to load will be blacklisted. A value of 0 "
+"disables the timeout."
+msgstr ""
+
+#: rc_option_editor.cc:1037
+msgid "Scan Time Out [deciseconds]"
+msgstr ""
+
+#: rc_option_editor.cc:1045
+msgid "VST"
+msgstr ""
+
+#: rc_option_editor.cc:1051
+msgid "Clear VST Cache"
+msgstr ""
+
+#: rc_option_editor.cc:1055
+msgid "Clear VST Blacklist"
+msgstr ""
+
+#: rc_option_editor.cc:1063
+msgid ""
+"<b>When enabled</b> new VST plugins are searched, tested and added to the "
+"cache index on application start. When disabled new plugins will only be "
+"available after triggering a 'Scan' manually"
+msgstr ""
+
+#: rc_option_editor.cc:1066
+msgid "Linux VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1073
+msgid "Windows VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1135
+msgid "Set Windows VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1150
+msgid "Set Linux VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1231
msgid "%1 Preferences"
msgstr "Préférences de %1"
-#: rc_option_editor.cc:1002
+#: rc_option_editor.cc:1242
msgid "DSP CPU Utilization"
msgstr "Utilisation du CPU DSP"
-#: rc_option_editor.cc:1006
+#: rc_option_editor.cc:1246
msgid "Signal processing uses"
msgstr "Le traitement du signal utilise"
-#: rc_option_editor.cc:1011
+#: rc_option_editor.cc:1251
msgid "all but one processor"
msgstr "tous les processeurs sauf un"
-#: rc_option_editor.cc:1012
+#: rc_option_editor.cc:1252
msgid "all available processors"
msgstr "tous les processeurs disponibles"
-#: rc_option_editor.cc:1015
+#: rc_option_editor.cc:1255
msgid "%1 processors"
msgstr "%1 processeurs"
-#: rc_option_editor.cc:1018
+#: rc_option_editor.cc:1258
msgid "This setting will only take effect when %1 is restarted."
msgstr "Cette option ne sera prise en compte qu'après un redémarrage de %1."
-#: rc_option_editor.cc:1023
+#: rc_option_editor.cc:1263
msgid "Options|Undo"
msgstr ""
-#: rc_option_editor.cc:1030
+#: rc_option_editor.cc:1270
msgid "Verify removal of last capture"
msgstr "Confirmer la destruction du dernier enregistr."
-#: rc_option_editor.cc:1038
+#: rc_option_editor.cc:1278
msgid "Make periodic backups of the session file"
msgstr "Sauvegardes de secours périodiques"
-#: rc_option_editor.cc:1043
+#: rc_option_editor.cc:1283
msgid "Session Management"
msgstr ""
-#: rc_option_editor.cc:1048
+#: rc_option_editor.cc:1288
msgid "Always copy imported files"
msgstr "Toujours recopier les fichiers importés"
-#: rc_option_editor.cc:1055
+#: rc_option_editor.cc:1295
msgid "Default folder for new sessions:"
msgstr ""
-#: rc_option_editor.cc:1063
+#: rc_option_editor.cc:1303
msgid "Maximum number of recent sessions"
msgstr "Nombre maximum de sessions récentes"
-#: rc_option_editor.cc:1076
+#: rc_option_editor.cc:1316
msgid "Click gain level"
msgstr ""
-#: rc_option_editor.cc:1081 route_time_axis.cc:215 route_time_axis.cc:676
+#: rc_option_editor.cc:1321 route_time_axis.cc:266 route_time_axis.cc:794
msgid "Automation"
msgstr "Automation"
-#: rc_option_editor.cc:1086
+#: rc_option_editor.cc:1326
msgid "Thinning factor (larger value => less data)"
msgstr "Facteur d'espacement (plus => moins de données)"
-#: rc_option_editor.cc:1095
+#: rc_option_editor.cc:1335
msgid "Automation sampling interval (milliseconds)"
msgstr "Intervalle de prise d'automation (ms)"
-#: rc_option_editor.cc:1107
+#: rc_option_editor.cc:1347
msgid "Keep record-enable engaged on stop"
msgstr "Rester en enregistrement à l'arrêt"
-#: rc_option_editor.cc:1116
+#: rc_option_editor.cc:1356
msgid "Stop recording when an xrun occurs"
msgstr ""
-#: rc_option_editor.cc:1121
+#: rc_option_editor.cc:1361
msgid ""
"<b>When enabled</b> %1 will stop recording if an over- or underrun is "
"detected by the audio engine"
msgstr ""
-#: rc_option_editor.cc:1127
+#: rc_option_editor.cc:1367
+msgid "Play loop is a transport mode"
+msgstr ""
+
+#: rc_option_editor.cc:1372
+msgid ""
+"<b>When enabled</b> the loop button does not start playback but forces "
+"playback to always play the loop\n"
+"\n"
+"<b>When disabled</b> the loop button starts playing the loop, but stop then "
+"cancels loop playback"
+msgstr ""
+
+#: rc_option_editor.cc:1378
msgid "Create markers where xruns occur"
msgstr "Créer un repère en cas de désynchro (xrun)"
-#: rc_option_editor.cc:1136
+#: rc_option_editor.cc:1387
msgid "Stop at the end of the session"
msgstr "Arrêter à la fin de la session"
-#: rc_option_editor.cc:1141
+#: rc_option_editor.cc:1392
msgid ""
"<b>When enabled</b> if %1 is <b>not recording</b>, it will stop the "
"transport when it reaches the current session end marker\n"
@@ -8870,11 +9081,11 @@ msgid ""
"all times"
msgstr ""
-#: rc_option_editor.cc:1149
+#: rc_option_editor.cc:1400
msgid "Do seamless looping (not possible when slaved to MTC, LTC etc)"
msgstr ""
-#: rc_option_editor.cc:1154
+#: rc_option_editor.cc:1405
msgid ""
"<b>When enabled</b> this will loop by reading ahead and wrapping around at "
"the loop point, preventing any need to do a transport locate at the end of "
@@ -8884,39 +9095,39 @@ msgid ""
"loop when %1 reaches the end which will often cause a small click or delay"
msgstr ""
-#: rc_option_editor.cc:1162
+#: rc_option_editor.cc:1413
msgid "Disable per-track record disarm while rolling"
msgstr "Désactiver le désarmement par piste pendant l'enregistrement"
-#: rc_option_editor.cc:1166
+#: rc_option_editor.cc:1417
msgid ""
"<b>When enabled</b> this will prevent you from accidentally stopping "
"specific tracks recording during a take"
msgstr ""
-#: rc_option_editor.cc:1171
+#: rc_option_editor.cc:1422
msgid "12dB gain reduction during fast-forward and fast-rewind"
msgstr "-12 dB pendant le déplacement rapide"
-#: rc_option_editor.cc:1175
+#: rc_option_editor.cc:1426
msgid ""
"This will reduce the unpleasant increase in perceived volume that occurs "
"when fast-forwarding or rewinding through some kinds of audio"
msgstr ""
-#: rc_option_editor.cc:1179
+#: rc_option_editor.cc:1430
msgid "Sync/Slave"
msgstr "Sync/Esclave"
-#: rc_option_editor.cc:1183
+#: rc_option_editor.cc:1434
msgid "External timecode source"
msgstr "Source de synchronisation Timecode"
-#: rc_option_editor.cc:1193
+#: rc_option_editor.cc:1444
msgid "Match session video frame rate to external timecode"
msgstr ""
-#: rc_option_editor.cc:1199
+#: rc_option_editor.cc:1450
msgid ""
"This option controls the value of the video frame rate <i>while chasing</i> "
"an external timecode source.\n"
@@ -8930,21 +9141,21 @@ msgid ""
"external timecode standard and the session standard."
msgstr ""
-#: rc_option_editor.cc:1209
+#: rc_option_editor.cc:1460
msgid "External timecode is sync locked"
msgstr "Timecode externe est verrouillé (sync locked)"
-#: rc_option_editor.cc:1215
+#: rc_option_editor.cc:1466
msgid ""
"<b>When enabled</b> indicates that the selected external timecode source "
"shares sync (Black &amp; Burst, Wordclock, etc) with the audio interface."
msgstr ""
-#: rc_option_editor.cc:1222
+#: rc_option_editor.cc:1473
msgid "Lock to 29.9700 fps instead of 30000/1001"
msgstr ""
-#: rc_option_editor.cc:1228
+#: rc_option_editor.cc:1479
msgid ""
"<b>When enabled</b> the external timecode source is assumed to use 29.97 fps "
"instead of 30000/1001.\n"
@@ -8957,27 +9168,27 @@ msgid ""
"variant of using exactly 29.97 fps has zero timecode drift.\n"
msgstr ""
-#: rc_option_editor.cc:1238
+#: rc_option_editor.cc:1489
msgid "LTC Reader"
msgstr ""
-#: rc_option_editor.cc:1242
+#: rc_option_editor.cc:1493
msgid "LTC incoming port"
msgstr ""
-#: rc_option_editor.cc:1255
+#: rc_option_editor.cc:1506
msgid "LTC Generator"
msgstr ""
-#: rc_option_editor.cc:1260
+#: rc_option_editor.cc:1511
msgid "Enable LTC generator"
msgstr ""
-#: rc_option_editor.cc:1267
-msgid "send LTC while stopped"
-msgstr "envoyer LTC à l'arrêt"
+#: rc_option_editor.cc:1518
+msgid "Send LTC while stopped"
+msgstr ""
-#: rc_option_editor.cc:1273
+#: rc_option_editor.cc:1524
msgid ""
"<b>When enabled</b> %1 will continue to send LTC information even when the "
"transport (playhead) is not moving"
@@ -8985,114 +9196,114 @@ msgstr ""
"<b>Activé</b> %1 continuera à envoyer l'info LTC même quand le transport (la "
"tête de lecture) n'est pas en movement"
-#: rc_option_editor.cc:1279
+#: rc_option_editor.cc:1530
msgid "LTC generator level"
msgstr ""
-#: rc_option_editor.cc:1283
+#: rc_option_editor.cc:1534
msgid ""
"Specify the Peak Volume of the generated LTC signal in dbFS. A good value "
"is 0dBu ^= -18dbFS in an EBU calibrated system"
msgstr ""
-#: rc_option_editor.cc:1295
-msgid "Link selection of regions and tracks"
+#: rc_option_editor.cc:1546
+msgid "Allow dragging of playhead"
msgstr ""
-#: rc_option_editor.cc:1303
+#: rc_option_editor.cc:1554
msgid "Move relevant automation when audio regions are moved"
msgstr ""
"Déplacer les automations pertinentes lors du déplacement des regions audio"
-#: rc_option_editor.cc:1311
+#: rc_option_editor.cc:1562
msgid "Show meters on tracks in the editor"
msgstr "Afficher les VU-mètres sur les pistes"
-#: rc_option_editor.cc:1319
+#: rc_option_editor.cc:1570
msgid "Display master-meter in the toolbar"
msgstr ""
-#: rc_option_editor.cc:1326
+#: rc_option_editor.cc:1577
+msgid "Default fade shape"
+msgstr ""
+
+#: rc_option_editor.cc:1596
msgid "Regions in active edit groups are edited together"
msgstr "Les régions en groupes d'édition actives sont modifiées ensembles"
-#: rc_option_editor.cc:1327
+#: rc_option_editor.cc:1597
msgid "whenever they overlap in time"
msgstr "si elles se chevauchent dans le temps"
-#: rc_option_editor.cc:1328
+#: rc_option_editor.cc:1598
msgid "only if they have identical length, position and origin"
msgstr "seulement si elles partagent longueur, position et origine"
-#: rc_option_editor.cc:1338
+#: rc_option_editor.cc:1608
msgid "Make rubberband selection rectangle snap to the grid"
msgstr ""
-#: rc_option_editor.cc:1346
+#: rc_option_editor.cc:1616
msgid "Show waveforms in regions"
msgstr "Afficher le signal dans les régions"
-#: rc_option_editor.cc:1354
+#: rc_option_editor.cc:1624
msgid "Show gain envelopes in audio regions"
msgstr ""
-#: rc_option_editor.cc:1355
+#: rc_option_editor.cc:1625
msgid "in all modes"
msgstr "dans toutes les modes"
-#: rc_option_editor.cc:1356
+#: rc_option_editor.cc:1626
msgid "only in region gain mode"
msgstr "seulement en mode d'édition du gain des régions"
-#: rc_option_editor.cc:1363
+#: rc_option_editor.cc:1633
msgid "Waveform scale"
msgstr "Échelle du signal"
-#: rc_option_editor.cc:1368
+#: rc_option_editor.cc:1638
msgid "linear"
msgstr "linéaire"
-#: rc_option_editor.cc:1369
+#: rc_option_editor.cc:1639
msgid "logarithmic"
msgstr "logarithmique"
-#: rc_option_editor.cc:1375
+#: rc_option_editor.cc:1645
msgid "Waveform shape"
msgstr "Forme du signal"
-#: rc_option_editor.cc:1380
+#: rc_option_editor.cc:1650
msgid "traditional"
msgstr "Traditionnel"
-#: rc_option_editor.cc:1381
+#: rc_option_editor.cc:1651
msgid "rectified"
msgstr "Redressé"
-#: rc_option_editor.cc:1388
+#: rc_option_editor.cc:1660
msgid "Show waveforms for audio while it is being recorded"
msgstr "Afficher le signal audio pendant l'enregistrement"
-#: rc_option_editor.cc:1396
+#: rc_option_editor.cc:1668
msgid "Show zoom toolbar"
msgstr "Afficher la barre d'outils du zoom"
-#: rc_option_editor.cc:1404
-msgid "Color regions using their track's color"
-msgstr "Appliquer la couleur de la piste aux régions"
-
-#: rc_option_editor.cc:1412
+#: rc_option_editor.cc:1676
msgid "Update editor window during drags of the summary"
msgstr ""
-#: rc_option_editor.cc:1420
+#: rc_option_editor.cc:1684
msgid "Synchronise editor and mixer selection"
msgstr "Sélection des pistes identique entre éditeur et mixage"
-#: rc_option_editor.cc:1427
+#: rc_option_editor.cc:1691
msgid "Name new markers"
msgstr "Nommer les nouveaux repères"
-#: rc_option_editor.cc:1433
+#: rc_option_editor.cc:1697
msgid ""
"If enabled, popup a dialog when a new marker is created to allow its name to "
"be set as it is created.\n"
@@ -9102,660 +9313,679 @@ msgstr ""
"Si actif, demander un nom à la création de toute repère nouvelle.\n"
"Vous pouvez toujours renommer les repères par clic-droit"
-#: rc_option_editor.cc:1439
+#: rc_option_editor.cc:1703
msgid "Auto-scroll editor window when dragging near its edges"
msgstr ""
"Défilement automatique de l'éditeur pendant un cliquer-glisser près de ses "
"bords"
-#: rc_option_editor.cc:1446
+#: rc_option_editor.cc:1710
msgid "Buffering"
msgstr "Taille du tampon"
-#: rc_option_editor.cc:1454
+#: rc_option_editor.cc:1718
msgid "Record monitoring handled by"
msgstr "Monitoring de l'enregistrement géré par"
-#: rc_option_editor.cc:1460
+#: rc_option_editor.cc:1724
msgid "via Audio Driver"
msgstr ""
-#: rc_option_editor.cc:1463
-msgid "ardour"
-msgstr "Ardour"
-
-#: rc_option_editor.cc:1464
+#: rc_option_editor.cc:1730
msgid "audio hardware"
msgstr "le matériel audio"
-#: rc_option_editor.cc:1471
+#: rc_option_editor.cc:1737
msgid "Tape machine mode"
msgstr "Mode bande"
-#: rc_option_editor.cc:1476
+#: rc_option_editor.cc:1742
msgid "Connection of tracks and busses"
msgstr "Connection des pistes et des bus"
-#: rc_option_editor.cc:1481
+#: rc_option_editor.cc:1747
msgid "Auto-connect master/monitor busses"
msgstr "Connection automatique du bus général et des bus de monitoring"
-#: rc_option_editor.cc:1488
+#: rc_option_editor.cc:1754
msgid "Connect track inputs"
msgstr "Connecter les entrées des pistes"
-#: rc_option_editor.cc:1493
+#: rc_option_editor.cc:1759
msgid "automatically to physical inputs"
msgstr "automatiquement aux entrées matérielles"
-#: rc_option_editor.cc:1494 rc_option_editor.cc:1507
+#: rc_option_editor.cc:1760 rc_option_editor.cc:1773
msgid "manually"
msgstr "Manuellement"
-#: rc_option_editor.cc:1500
+#: rc_option_editor.cc:1766
msgid "Connect track and bus outputs"
msgstr "Connecter les sorties des pistes et des bus"
-#: rc_option_editor.cc:1505
+#: rc_option_editor.cc:1771
msgid "automatically to physical outputs"
msgstr "automatiquement aux sorties matérielles"
-#: rc_option_editor.cc:1506
+#: rc_option_editor.cc:1772
msgid "automatically to master bus"
msgstr "Automatiquement au bus géneral"
-#: rc_option_editor.cc:1511
+#: rc_option_editor.cc:1777
msgid "Denormals"
msgstr ""
-#: rc_option_editor.cc:1516
+#: rc_option_editor.cc:1782
msgid "Use DC bias to protect against denormals"
msgstr ""
-#: rc_option_editor.cc:1523
+#: rc_option_editor.cc:1789
msgid "Processor handling"
msgstr "Gestion du traitement"
-#: rc_option_editor.cc:1528
+#: rc_option_editor.cc:1794
msgid "no processor handling"
msgstr "Aucune gestion"
-#: rc_option_editor.cc:1533
+#: rc_option_editor.cc:1799
msgid "use FlushToZero"
msgstr ""
-#: rc_option_editor.cc:1537
+#: rc_option_editor.cc:1803
msgid "use DenormalsAreZero"
msgstr "Utiliser DenormalsAreZero"
-#: rc_option_editor.cc:1541
+#: rc_option_editor.cc:1807
msgid "use FlushToZero and DenormalsAreZero"
msgstr ""
-#: rc_option_editor.cc:1551
+#: rc_option_editor.cc:1817
msgid "Silence plugins when the transport is stopped"
msgstr ""
-#: rc_option_editor.cc:1559
+#: rc_option_editor.cc:1825
msgid "Make new plugins active"
msgstr "Activer les nouveaux plugins"
-#: rc_option_editor.cc:1567
+#: rc_option_editor.cc:1835
msgid "Enable automatic analysis of audio"
msgstr "Activer l'analyse automatique de l'audio"
-#: rc_option_editor.cc:1575
+#: rc_option_editor.cc:1843
msgid "Replicate missing region channels"
msgstr "Dupliquer les canaux manquants dans la région"
-#: rc_option_editor.cc:1582 rc_option_editor.cc:1597 rc_option_editor.cc:1609
-#: rc_option_editor.cc:1621 rc_option_editor.cc:1633 rc_option_editor.cc:1637
-#: rc_option_editor.cc:1645 rc_option_editor.cc:1653 rc_option_editor.cc:1661
-#: rc_option_editor.cc:1663 rc_option_editor.cc:1671 rc_option_editor.cc:1679
-#: rc_option_editor.cc:1687
+#: rc_option_editor.cc:1850 rc_option_editor.cc:1852 rc_option_editor.cc:1867
+#: rc_option_editor.cc:1879 rc_option_editor.cc:1891 rc_option_editor.cc:1903
+#: rc_option_editor.cc:1907 rc_option_editor.cc:1915 rc_option_editor.cc:1923
+#: rc_option_editor.cc:1931 rc_option_editor.cc:1933 rc_option_editor.cc:1941
+#: rc_option_editor.cc:1949 rc_option_editor.cc:1957 rc_option_editor.cc:1965
+#: rc_option_editor.cc:1967
msgid "Solo / mute"
msgstr "Solo/muet"
-#: rc_option_editor.cc:1585
+#: rc_option_editor.cc:1855
msgid "Solo-in-place mute cut (dB)"
msgstr ""
-#: rc_option_editor.cc:1592
+#: rc_option_editor.cc:1862
msgid "Solo controls are Listen controls"
msgstr ""
-#: rc_option_editor.cc:1601
+#: rc_option_editor.cc:1871
msgid "Listen Position"
msgstr ""
-#: rc_option_editor.cc:1606
+#: rc_option_editor.cc:1876
msgid "after-fader (AFL)"
msgstr ""
-#: rc_option_editor.cc:1607
+#: rc_option_editor.cc:1877
msgid "pre-fader (PFL)"
msgstr ""
-#: rc_option_editor.cc:1613
+#: rc_option_editor.cc:1883
msgid "PFL signals come from"
msgstr "Les signaux PFL sont récupérés"
-#: rc_option_editor.cc:1618
+#: rc_option_editor.cc:1888
msgid "before pre-fader processors"
msgstr "avant les traitements pré-fader"
-#: rc_option_editor.cc:1619
+#: rc_option_editor.cc:1889
msgid "pre-fader but after pre-fader processors"
msgstr "après les traitements pré-fader"
-#: rc_option_editor.cc:1625
+#: rc_option_editor.cc:1895
msgid "AFL signals come from"
msgstr "Les signaux AFL sont récupérés"
-#: rc_option_editor.cc:1630
+#: rc_option_editor.cc:1900
msgid "immediately post-fader"
msgstr "immédiatement post-fader"
-#: rc_option_editor.cc:1631
+#: rc_option_editor.cc:1901
msgid "after post-fader processors (before pan)"
msgstr "après les traitements post-fader (avant panoramique)"
-#: rc_option_editor.cc:1640
+#: rc_option_editor.cc:1910
msgid "Exclusive solo"
msgstr "Solo exclusif"
-#: rc_option_editor.cc:1648
+#: rc_option_editor.cc:1918
msgid "Show solo muting"
msgstr "Le solo montre les sourdines"
-#: rc_option_editor.cc:1656
+#: rc_option_editor.cc:1926
msgid "Soloing overrides muting"
msgstr "\"Solo\" annule \"Muet\""
-#: rc_option_editor.cc:1661
+#: rc_option_editor.cc:1931
msgid "Default track / bus muting options"
msgstr "Options de mutisation par défaut des pistes/bus"
-#: rc_option_editor.cc:1666
+#: rc_option_editor.cc:1936
msgid "Mute affects pre-fader sends"
msgstr "\"Muet\" agit sur les départs pré-fader"
-#: rc_option_editor.cc:1674
+#: rc_option_editor.cc:1944
msgid "Mute affects post-fader sends"
msgstr "\"Muet\" agit sur les départs post-fader"
-#: rc_option_editor.cc:1682
+#: rc_option_editor.cc:1952
msgid "Mute affects control outputs"
msgstr "\"Muet\" agit sur les sorties de contrôle"
-#: rc_option_editor.cc:1690
+#: rc_option_editor.cc:1960
msgid "Mute affects main outputs"
msgstr "\"Muet\" agit sur les sorties principales"
-#: rc_option_editor.cc:1706
+#: rc_option_editor.cc:1965
+msgid "Send Routing"
+msgstr ""
+
+#: rc_option_editor.cc:1970
+msgid "Link panners of Aux and External Sends with main panner by default"
+msgstr ""
+
+#: rc_option_editor.cc:1986
msgid "Send MIDI Time Code"
msgstr "Envoyer MTC (Midi Time Code)"
-#: rc_option_editor.cc:1714
+#: rc_option_editor.cc:1994
msgid "Percentage either side of normal transport speed to transmit MTC"
msgstr ""
-#: rc_option_editor.cc:1723
+#: rc_option_editor.cc:2003
msgid "Obey MIDI Machine Control commands"
msgstr "Obeir aux MMC MIDI (MIDI Machine Controls)"
-#: rc_option_editor.cc:1731
+#: rc_option_editor.cc:2011
msgid "Send MIDI Machine Control commands"
msgstr "Envoyer les MMC MIDI"
-#: rc_option_editor.cc:1739
+#: rc_option_editor.cc:2019
msgid "Send MIDI control feedback"
msgstr ""
-#: rc_option_editor.cc:1747
+#: rc_option_editor.cc:2027
msgid "Inbound MMC device ID"
msgstr "identifiant de l'appareil MMC en entrée"
-#: rc_option_editor.cc:1756
+#: rc_option_editor.cc:2036
msgid "Outbound MMC device ID"
msgstr "identifiant de l'appareil MMC en sortie"
-#: rc_option_editor.cc:1765
+#: rc_option_editor.cc:2045
msgid "Initial program change"
msgstr ""
-#: rc_option_editor.cc:1774
+#: rc_option_editor.cc:2054
msgid "Display first MIDI bank/program as 0"
msgstr "Afficher le premier programme/banque MIDI comme 0."
-#: rc_option_editor.cc:1782
+#: rc_option_editor.cc:2062
msgid "Never display periodic MIDI messages (MTC, MIDI Clock)"
msgstr "Ne jamais afficher des messages MIDI périodiques (MTC, MIDI Clock)"
-#: rc_option_editor.cc:1790
+#: rc_option_editor.cc:2070
msgid "Sound MIDI notes as they are selected"
msgstr ""
-#: rc_option_editor.cc:1798 rc_option_editor.cc:1808 rc_option_editor.cc:1810
+#: rc_option_editor.cc:2075
+msgid "Midi Audition"
+msgstr ""
+
+#: rc_option_editor.cc:2079
+msgid "Midi Audition Synth (LV2)"
+msgstr ""
+
+#: rc_option_editor.cc:2103 rc_option_editor.cc:2113 rc_option_editor.cc:2115
msgid "User interaction"
msgstr "Intération utilisateur"
-#: rc_option_editor.cc:1801
+#: rc_option_editor.cc:2106
msgid ""
"Use translations of %1 messages\n"
" <i>(requires a restart of %1 to take effect)</i>\n"
" <i>(if available for your language preferences)</i>"
msgstr ""
-#: rc_option_editor.cc:1808
+#: rc_option_editor.cc:2113
msgid "Keyboard"
msgstr "Clavier"
-#: rc_option_editor.cc:1818
+#: rc_option_editor.cc:2123
msgid "Control surface remote ID"
msgstr "Identifiant distant de la surface de contrôle"
-#: rc_option_editor.cc:1823
+#: rc_option_editor.cc:2128
msgid "assigned by user"
msgstr "assigné manuellement"
-#: rc_option_editor.cc:1824
+#: rc_option_editor.cc:2129
msgid "follows order of mixer"
msgstr "suivre l'ordre de la console de mixage"
-#: rc_option_editor.cc:1833 rc_option_editor.cc:1841 rc_option_editor.cc:1851
-#: rc_option_editor.cc:1872 rc_option_editor.cc:1881 rc_option_editor.cc:1889
-#: rc_option_editor.cc:1903 rc_option_editor.cc:1922 rc_option_editor.cc:1938
-#: rc_option_editor.cc:1954 rc_option_editor.cc:1968 rc_option_editor.cc:1982
-#: rc_option_editor.cc:1984
+#: rc_option_editor.cc:2143 rc_option_editor.cc:2151 rc_option_editor.cc:2159
+#: rc_option_editor.cc:2169 rc_option_editor.cc:2193 rc_option_editor.cc:2206
+#: rc_option_editor.cc:2215
msgid "Preferences|GUI"
msgstr ""
-#: rc_option_editor.cc:1836
+#: rc_option_editor.cc:2146
msgid "Graphically indicate mouse pointer hovering over various widgets"
msgstr ""
-#: rc_option_editor.cc:1844
+#: rc_option_editor.cc:2154
msgid "Show tooltips if mouse hovers over a control"
msgstr "Montrer des infobulles quand la souris survole une contrôle"
-#: rc_option_editor.cc:1854
-msgid "GUI"
-msgstr "IHM"
+#: rc_option_editor.cc:2162
+msgid "Use name highlight bars in region displays"
+msgstr ""
+
+#: rc_option_editor.cc:2175
+msgid "update transport clock display at FPS instead of every 100ms"
+msgstr ""
+
+#: rc_option_editor.cc:2184
+msgid "Lock timeout (seconds)"
+msgstr ""
-#: rc_option_editor.cc:1857
-msgid "update transport clock display every 40ms instead of every 100ms"
+#: rc_option_editor.cc:2192
+msgid "Lock GUI after this many idle seconds (zero to never lock)"
msgstr ""
-"Mettre à jour l'horloge du transport tous les 40ms au lieu de tous les 100ms"
-#: rc_option_editor.cc:1874
+#: rc_option_editor.cc:2208
msgid "Mixer Strip"
msgstr ""
-#: rc_option_editor.cc:1884
+#: rc_option_editor.cc:2218
msgid "Use narrow strips in the mixer by default"
msgstr "Utiliser des tranches de mixage étroites par défaut"
-#: rc_option_editor.cc:1893
+#: rc_option_editor.cc:2223 rc_option_editor.cc:2237 rc_option_editor.cc:2256
+#: rc_option_editor.cc:2272 rc_option_editor.cc:2288 rc_option_editor.cc:2302
+#: rc_option_editor.cc:2316 rc_option_editor.cc:2318
+msgid "Preferences|Metering"
+msgstr ""
+
+#: rc_option_editor.cc:2227
msgid "Peak hold time"
msgstr ""
-#: rc_option_editor.cc:1899
+#: rc_option_editor.cc:2233
msgid "short"
msgstr "Court"
-#: rc_option_editor.cc:1900
+#: rc_option_editor.cc:2234
msgid "medium"
msgstr ""
-#: rc_option_editor.cc:1901
+#: rc_option_editor.cc:2235
msgid "long"
msgstr "Long"
-#: rc_option_editor.cc:1907
+#: rc_option_editor.cc:2241
msgid "DPM fall-off"
msgstr ""
-#: rc_option_editor.cc:1913
+#: rc_option_editor.cc:2247
msgid "slowest [6.6dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1914
+#: rc_option_editor.cc:2248
msgid "slow [8.6dB/sec] (BBC PPM, EBU PPM)"
msgstr ""
-#: rc_option_editor.cc:1915
+#: rc_option_editor.cc:2249
msgid "slowish [12.0dB/sec] (DIN)"
msgstr ""
-#: rc_option_editor.cc:1916
+#: rc_option_editor.cc:2250
msgid "moderate [13.3dB/sec] (EBU Digi PPM, IRT Digi PPM)"
msgstr ""
-#: rc_option_editor.cc:1917
+#: rc_option_editor.cc:2251
msgid "medium [20dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1918
+#: rc_option_editor.cc:2252
msgid "fast [32dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1919
+#: rc_option_editor.cc:2253
msgid "faster [46dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1920
+#: rc_option_editor.cc:2254
msgid "fastest [70dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1926
+#: rc_option_editor.cc:2260
msgid "Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1931 rc_option_editor.cc:1947
+#: rc_option_editor.cc:2265 rc_option_editor.cc:2281
msgid "-24dBFS (SMPTE US: 4dBu = -20dBFS)"
msgstr ""
-#: rc_option_editor.cc:1932 rc_option_editor.cc:1948
+#: rc_option_editor.cc:2266 rc_option_editor.cc:2282
msgid "-20dBFS (SMPTE RP.0155)"
msgstr ""
-#: rc_option_editor.cc:1933 rc_option_editor.cc:1949
+#: rc_option_editor.cc:2267 rc_option_editor.cc:2283
msgid "-18dBFS (EBU, BBC)"
msgstr ""
-#: rc_option_editor.cc:1934 rc_option_editor.cc:1950
+#: rc_option_editor.cc:2268 rc_option_editor.cc:2284
msgid "-15dBFS (DIN)"
msgstr ""
-#: rc_option_editor.cc:1936
+#: rc_option_editor.cc:2270
msgid ""
"Configure meter-marks and color-knee point for dBFS scale DPM, set reference "
"level for IEC1/Nordic, IEC2 PPM and VU meter."
msgstr ""
-#: rc_option_editor.cc:1942
+#: rc_option_editor.cc:2276
msgid "IEC1/DIN Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1952
+#: rc_option_editor.cc:2286
msgid "Reference level for IEC1/DIN meter."
msgstr ""
-#: rc_option_editor.cc:1958
+#: rc_option_editor.cc:2292
msgid "VU Meter standard"
msgstr ""
-#: rc_option_editor.cc:1963
+#: rc_option_editor.cc:2297
msgid "0VU = -2dBu (France)"
msgstr ""
-#: rc_option_editor.cc:1964
+#: rc_option_editor.cc:2298
msgid "0VU = 0dBu (North America, Australia)"
msgstr ""
-#: rc_option_editor.cc:1965
+#: rc_option_editor.cc:2299
msgid "0VU = +4dBu (standard)"
msgstr ""
-#: rc_option_editor.cc:1966
+#: rc_option_editor.cc:2300
msgid "0VU = +8dBu"
msgstr ""
-#: rc_option_editor.cc:1972
+#: rc_option_editor.cc:2306
msgid "Peak threshold [dBFS]"
msgstr ""
-#: rc_option_editor.cc:1980
+#: rc_option_editor.cc:2314
msgid ""
"Specify the audio signal level in dbFS at and above which the meter-peak "
"indicator will flash red."
msgstr ""
-#: rc_option_editor.cc:1987
+#: rc_option_editor.cc:2321
msgid "LED meter style"
msgstr ""
-#: region_editor.cc:79
+#: region_editor.cc:78
msgid "audition this region"
msgstr "écouter cette région"
-#: region_editor.cc:88 region_layering_order_editor.cc:74
+#: region_editor.cc:87 region_layering_order_editor.cc:75
msgid "Position:"
msgstr "Position:"
-#: region_editor.cc:90 add_video_dialog.cc:170
+#: region_editor.cc:89 add_video_dialog.cc:155
msgid "End:"
msgstr "Fin:"
-#: region_editor.cc:92 sfdb_ui.cc:139
+#: region_editor.cc:91 sfdb_ui.cc:143
msgid "Length:"
msgstr "Longueur:"
-#: region_editor.cc:94
+#: region_editor.cc:93
msgid "Sync point (relative to region):"
msgstr ""
-#: region_editor.cc:96
+#: region_editor.cc:95
msgid "Sync point (absolute):"
msgstr ""
-#: region_editor.cc:98
+#: region_editor.cc:97
msgid "File start:"
msgstr ""
-#: region_editor.cc:102
+#: region_editor.cc:101
msgid "Sources:"
msgstr "Sources:"
-#: region_editor.cc:104
+#: region_editor.cc:103
msgid "Source:"
msgstr "Source:"
-#: region_editor.cc:166
+#: region_editor.cc:165
msgid "Region '%1'"
msgstr "Région '%1'"
-#: region_editor.cc:273
+#: region_editor.cc:272
msgid "change region start position"
msgstr "changer le début de la région"
-#: region_editor.cc:289
+#: region_editor.cc:288
msgid "change region end position"
msgstr "changer la fin de la région"
-#: region_editor.cc:309
+#: region_editor.cc:308
msgid "change region length"
msgstr "changer la longueur de la région"
-#: region_editor.cc:403 region_editor.cc:415
+#: region_editor.cc:402 region_editor.cc:414
msgid "change region sync point"
msgstr ""
-#: region_layering_order_editor.cc:41
+#: region_layering_order_editor.cc:42
msgid "RegionLayeringOrderEditor"
msgstr ""
-#: region_layering_order_editor.cc:54
+#: region_layering_order_editor.cc:55
msgid "Region Name"
msgstr "Nom de la région"
-#: region_layering_order_editor.cc:71
+#: region_layering_order_editor.cc:72
msgid "Track:"
msgstr "Piste:"
-#: region_layering_order_editor.cc:103
+#: region_layering_order_editor.cc:104
msgid "Choose Top Region"
msgstr ""
-#: region_view.cc:274
+#: region_view.cc:282
msgid "SilenceText"
msgstr ""
-#: region_view.cc:290 region_view.cc:309
+#: region_view.cc:297 region_view.cc:316
msgid "minutes"
msgstr "minutes"
-#: region_view.cc:293 region_view.cc:312
+#: region_view.cc:300 region_view.cc:319
msgid "msecs"
msgstr "ms"
-#: region_view.cc:296 region_view.cc:315
+#: region_view.cc:303 region_view.cc:322
msgid "secs"
msgstr "secondes"
-#: region_view.cc:299
+#: region_view.cc:306
msgid "%1 silent segment"
msgid_plural "%1 silent segments"
msgstr[0] "%1 segment de silence"
msgstr[1] "%1 segments de silence"
-#: region_view.cc:301
+#: region_view.cc:308
msgid "shortest = %1 %2"
msgstr ""
-#: region_view.cc:318
+#: region_view.cc:325
msgid ""
"\n"
" (shortest audible segment = %1 %2)"
msgstr ""
-#: return_ui.cc:103
+#: return_ui.cc:102
msgid "Return "
msgstr "Retour "
-#: rhythm_ferret.cc:49
+#: rhythm_ferret.cc:48
msgid "Percussive Onset"
msgstr "Début de percussion"
-#: rhythm_ferret.cc:50
+#: rhythm_ferret.cc:49
msgid "Note Onset"
msgstr "Début de note"
-#: rhythm_ferret.cc:55
+#: rhythm_ferret.cc:54
msgid "Energy Based"
msgstr ""
-#: rhythm_ferret.cc:56
+#: rhythm_ferret.cc:55
msgid "Spectral Difference"
msgstr ""
-#: rhythm_ferret.cc:57
+#: rhythm_ferret.cc:56
msgid "High-Frequency Content"
msgstr ""
-#: rhythm_ferret.cc:58
+#: rhythm_ferret.cc:57
msgid "Complex Domain"
msgstr ""
-#: rhythm_ferret.cc:59
+#: rhythm_ferret.cc:58
msgid "Phase Deviation"
msgstr ""
-#: rhythm_ferret.cc:60
+#: rhythm_ferret.cc:59
msgid "Kullback-Liebler"
msgstr "Kullback-Liebler"
-#: rhythm_ferret.cc:61
+#: rhythm_ferret.cc:60
msgid "Modified Kullback-Liebler"
msgstr "Kullback-Liebler modifié"
-#: rhythm_ferret.cc:66
+#: rhythm_ferret.cc:65
msgid "Split region"
msgstr "Scinder la région"
-#: rhythm_ferret.cc:67
+#: rhythm_ferret.cc:66
msgid "Snap regions"
msgstr "Aligner régions"
-#: rhythm_ferret.cc:68
+#: rhythm_ferret.cc:67
msgid "Conform regions"
msgstr "Conformer la région"
-#: rhythm_ferret.cc:73
+#: rhythm_ferret.cc:72
msgid "Rhythm Ferret"
msgstr "Fureteur de rythme"
-#: rhythm_ferret.cc:79
+#: rhythm_ferret.cc:78
msgid "Analyze"
msgstr "Analyser"
-#: rhythm_ferret.cc:114
+#: rhythm_ferret.cc:113
msgid "Detection function"
msgstr "Fonction de détection"
-#: rhythm_ferret.cc:118
+#: rhythm_ferret.cc:117
msgid "Trigger gap"
msgstr "Écart déclenchant"
-#: rhythm_ferret.cc:123 strip_silence_dialog.cc:68
+#: rhythm_ferret.cc:122 strip_silence_dialog.cc:64
msgid "Threshold"
msgstr "Seuil"
-#: rhythm_ferret.cc:128
+#: rhythm_ferret.cc:127
msgid "Peak threshold"
msgstr "Seuil de pic"
-#: rhythm_ferret.cc:133
+#: rhythm_ferret.cc:132
msgid "Silence threshold"
msgstr "Seuil de silence"
-#: rhythm_ferret.cc:138
+#: rhythm_ferret.cc:137
msgid "Sensitivity"
msgstr "Sensibilité"
-#: rhythm_ferret.cc:142
+#: rhythm_ferret.cc:141
msgid "Operation"
msgstr "Opération"
-#: rhythm_ferret.cc:356
+#: rhythm_ferret.cc:355
msgid "split regions (rhythm ferret)"
msgstr "scinder en régions suivant le rythm détecté"
-#: route_group_dialog.cc:36
+#: route_group_dialog.cc:42
msgid "Track/bus Group"
msgstr "Groupe de piste/bus"
-#: route_group_dialog.cc:41
+#: route_group_dialog.cc:47
msgid "Relative"
msgstr "Relatif"
-#: route_group_dialog.cc:42
+#: route_group_dialog.cc:48
msgid "Muting"
msgstr "Muet"
-#: route_group_dialog.cc:43
-msgid "Soloing"
-msgstr "Solo"
-
-#: route_group_dialog.cc:44
+#: route_group_dialog.cc:50
msgid "Record enable"
msgstr "Armement"
-#: route_group_dialog.cc:45 time_info_box.cc:66
+#: route_group_dialog.cc:51 time_info_box.cc:67
msgid "Selection"
msgstr "Sélection"
-#: route_group_dialog.cc:46
+#: route_group_dialog.cc:52
msgid "Active state"
msgstr ""
-#: route_group_dialog.cc:47 route_group_dialog.cc:76 theme_manager.cc:71
+#: route_group_dialog.cc:53 route_group_dialog.cc:82 theme_manager.cc:84
msgid "Color"
msgstr "Couleur"
-#: route_group_dialog.cc:53
+#: route_group_dialog.cc:59
msgid "RouteGroupDialog"
msgstr ""
-#: route_group_dialog.cc:92
+#: route_group_dialog.cc:100
msgid "<b>Sharing</b>"
msgstr "<b>Partage</b>"
-#: route_group_dialog.cc:182
-msgid ""
-"A route group of this name already exists. Please use a different name."
-msgstr "Ce nom a déjà été donné à un groupe. Choisissez-en un nouveau."
+#: route_group_dialog.cc:200
+msgid "The group name is not unique. Please use a different name."
+msgstr ""
#: route_params_ui.cc:83
msgid "Tracks/Busses"
@@ -9778,296 +10008,280 @@ msgid "route display list item for renamed route not found!"
msgstr ""
"élément de liste d'affichage de route pour la route renommée introuvable !"
-#: route_params_ui.cc:255 route_params_ui.cc:283
+#: route_params_ui.cc:278 route_params_ui.cc:306
#, c-format
msgid "Playback delay: %<PRId64> samples"
msgstr "Délai de lecture: %<PRId64> échantillons"
-#: route_params_ui.cc:475
+#: route_params_ui.cc:498
msgid "NO TRACK"
msgstr "PAS DE PISTE"
-#: route_params_ui.cc:613 route_params_ui.cc:614
+#: route_params_ui.cc:636 route_params_ui.cc:637
msgid "No Track or Bus Selected"
msgstr "Aucune piste ou bus sélectionné"
-#: route_time_axis.cc:97
-msgid "g"
-msgstr "g"
-
-#: route_time_axis.cc:98
-msgid "p"
-msgstr "p"
-
-#: route_time_axis.cc:99
-msgid "a"
-msgstr "a"
-
-#: route_time_axis.cc:173
+#: route_time_axis.cc:179
msgid "Record (Right-click for Step Edit)"
msgstr ""
-#: route_time_axis.cc:176
+#: route_time_axis.cc:182
msgid "Record"
msgstr "Enregistrement"
-#: route_time_axis.cc:210
+#: route_time_axis.cc:254
msgid "Route Group"
msgstr "Groupe"
-#: route_time_axis.cc:213
+#: route_time_axis.cc:264
msgid "MIDI Controllers and Automation"
msgstr ""
-#: route_time_axis.cc:390
+#: route_time_axis.cc:500
msgid "Show All Automation"
msgstr "Afficher toute l'automation"
-#: route_time_axis.cc:393
+#: route_time_axis.cc:503
msgid "Show Existing Automation"
msgstr "Afficher l'automation existante"
-#: route_time_axis.cc:396
+#: route_time_axis.cc:506
msgid "Hide All Automation"
msgstr "Cacher toute l'automation"
-#: route_time_axis.cc:405
+#: route_time_axis.cc:515
msgid "Processor automation"
msgstr "Afficher automation du ..."
-#: route_time_axis.cc:424
-msgid "Color..."
-msgstr "Couleur..."
-
-#: route_time_axis.cc:481
+#: route_time_axis.cc:599
msgid "Overlaid"
msgstr ""
-#: route_time_axis.cc:487
+#: route_time_axis.cc:605
msgid "Stacked"
msgstr "Empilés"
-#: route_time_axis.cc:495
+#: route_time_axis.cc:613
msgid "Layers"
msgstr ""
-#: route_time_axis.cc:564
+#: route_time_axis.cc:682
msgid "Automatic (based on I/O connections)"
msgstr "Automatique (à partir des connections I/O)"
-#: route_time_axis.cc:573
+#: route_time_axis.cc:691
msgid "(Currently: Existing Material)"
msgstr ""
-#: route_time_axis.cc:576
+#: route_time_axis.cc:694
msgid "(Currently: Capture Time)"
msgstr ""
-#: route_time_axis.cc:584
+#: route_time_axis.cc:702
msgid "Align With Existing Material"
msgstr ""
-#: route_time_axis.cc:589
+#: route_time_axis.cc:707
msgid "Align With Capture Time"
msgstr ""
-#: route_time_axis.cc:594
+#: route_time_axis.cc:712
msgid "Alignment"
msgstr "Alignement"
-#: route_time_axis.cc:629
+#: route_time_axis.cc:747
msgid "Normal Mode"
msgstr "Mode normal"
-#: route_time_axis.cc:635
+#: route_time_axis.cc:753
msgid "Tape Mode"
msgstr "Mode bande"
-#: route_time_axis.cc:641
+#: route_time_axis.cc:759
msgid "Non-Layered Mode"
msgstr "Mode sans chevauchement"
-#: route_time_axis.cc:654 route_time_axis.cc:1601
+#: route_time_axis.cc:772 route_time_axis.cc:1748
msgid "Playlist"
msgstr "Liste de lecture"
-#: route_time_axis.cc:979
+#: route_time_axis.cc:1070
msgid "Rename Playlist"
msgstr "Renommer la liste de lecture"
-#: route_time_axis.cc:980
+#: route_time_axis.cc:1071
msgid "New name for playlist:"
msgstr "Nouveau nom de la liste de lecture:"
-#: route_time_axis.cc:1065
+#: route_time_axis.cc:1156
msgid "New Copy Playlist"
msgstr "Nouvelle copie de la liste de lecture"
-#: route_time_axis.cc:1066 route_time_axis.cc:1119
+#: route_time_axis.cc:1157 route_time_axis.cc:1210
msgid "Name for new playlist:"
msgstr "Nom de la nouvelle liste de lecture:"
-#: route_time_axis.cc:1118
+#: route_time_axis.cc:1209
msgid "New Playlist"
msgstr "Nouvelle liste de lecture"
-#: route_time_axis.cc:1309
+#: route_time_axis.cc:1400
msgid "You cannot create a track with that name as it is reserved for %1"
msgstr "Vous ne pouvez pas créer une piste avec ce nom, il est réservé pour %1"
-#: route_time_axis.cc:1490
+#: route_time_axis.cc:1637
msgid "New Copy..."
msgstr "Nouvelle copie..."
-#: route_time_axis.cc:1494
+#: route_time_axis.cc:1641
msgid "New Take"
msgstr "Nouvelle prise"
-#: route_time_axis.cc:1495
+#: route_time_axis.cc:1642
msgid "Copy Take"
msgstr "Copier la prise"
-#: route_time_axis.cc:1500
+#: route_time_axis.cc:1647
msgid "Clear Current"
msgstr "Effacer actuelle"
-#: route_time_axis.cc:1503
+#: route_time_axis.cc:1650
msgid "Select From All..."
msgstr ""
-#: route_time_axis.cc:1591
+#: route_time_axis.cc:1738
msgid "Take: %1.%2"
msgstr "Prise: %1.%2"
-#: route_time_axis.cc:2291
+#: route_time_axis.cc:2024 selection.cc:1002 selection.cc:1056
+msgid "programming error: "
+msgstr "programming error: "
+
+#: route_time_axis.cc:2440
msgid "Underlays"
msgstr ""
-#: route_time_axis.cc:2294
+#: route_time_axis.cc:2443
msgid "Remove \"%1\""
msgstr "Supprimer \"%1\""
-#: route_time_axis.cc:2344 route_time_axis.cc:2381
+#: route_time_axis.cc:2493 route_time_axis.cc:2530
msgid "programming error: underlay reference pointer pairs are inconsistent!"
msgstr "programming error: underlay reference pointer pairs are inconsistent!"
-#: route_time_axis.cc:2408
+#: route_time_axis.cc:2557
msgid "After-fade listen (AFL)"
msgstr ""
-#: route_time_axis.cc:2412
+#: route_time_axis.cc:2561
msgid "Pre-fade listen (PFL)"
msgstr ""
-#: route_time_axis.cc:2416
-msgid "s"
-msgstr "s"
-
-#: route_time_axis.cc:2419
-msgid "m"
-msgstr "m"
-
-#: route_ui.cc:119
+#: route_ui.cc:138
msgid "Mute this track"
msgstr "Rendre la piste muette"
-#: route_ui.cc:123
+#: route_ui.cc:142
msgid "Mute other (non-soloed) tracks"
msgstr "Rendre les autres pistes (non-solo) muettes"
-#: route_ui.cc:129
+#: route_ui.cc:148
msgid "Enable recording on this track"
msgstr "Activer l'enregistrement sur cette piste"
-#: route_ui.cc:133
+#: route_ui.cc:154
msgid "make mixer strips show sends to this bus"
msgstr ""
-#: route_ui.cc:138
+#: route_ui.cc:159
msgid "Monitor input"
msgstr "Monitoring du son qui entre"
-#: route_ui.cc:144
+#: route_ui.cc:165
msgid "Monitor playback"
msgstr "Monitoring du son enregistré"
-#: route_ui.cc:591
-msgid "Not connected to JACK - cannot engage record"
-msgstr "Non connecté à JACK – impossible d'enclencher l'enregistrement"
+#: route_ui.cc:668
+msgid "Not connected to AudioEngine - cannot engage record"
+msgstr ""
-#: route_ui.cc:786
+#: route_ui.cc:867
msgid "Step Entry"
msgstr ""
-#: route_ui.cc:859
+#: route_ui.cc:940
msgid "Assign all tracks (prefader)"
msgstr ""
-#: route_ui.cc:863
+#: route_ui.cc:944
msgid "Assign all tracks and buses (prefader)"
msgstr ""
-#: route_ui.cc:867
+#: route_ui.cc:948
msgid "Assign all tracks (postfader)"
msgstr ""
-#: route_ui.cc:871
+#: route_ui.cc:952
msgid "Assign all tracks and buses (postfader)"
msgstr ""
-#: route_ui.cc:875
+#: route_ui.cc:956
msgid "Assign selected tracks (prefader)"
msgstr ""
-#: route_ui.cc:879
+#: route_ui.cc:960
msgid "Assign selected tracks and buses (prefader)"
msgstr ""
-#: route_ui.cc:882
+#: route_ui.cc:963
msgid "Assign selected tracks (postfader)"
msgstr ""
-#: route_ui.cc:886
+#: route_ui.cc:967
msgid "Assign selected tracks and buses (postfader)"
msgstr ""
-#: route_ui.cc:889
+#: route_ui.cc:970
msgid "Copy track/bus gains to sends"
msgstr ""
-#: route_ui.cc:890
+#: route_ui.cc:971
msgid "Set sends gain to -inf"
msgstr "Régler gain des départs à -inf"
-#: route_ui.cc:891
+#: route_ui.cc:972
msgid "Set sends gain to 0dB"
msgstr "Régler gain des départs à 0dB"
-#: route_ui.cc:1211
+#: route_ui.cc:1294
msgid "Solo Isolate"
msgstr "Isoler le solo"
-#: route_ui.cc:1240
-msgid "Pre Fader"
-msgstr "Pré-atténuation"
+#: route_ui.cc:1301
+msgid "Solo Safe"
+msgstr "Bloquer le solo"
-#: route_ui.cc:1246
-msgid "Post Fader"
-msgstr "Post-atténuation"
+#: route_ui.cc:1323
+msgid "Pre Fader Sends"
+msgstr ""
+
+#: route_ui.cc:1329
+msgid "Post Fader Sends"
+msgstr ""
-#: route_ui.cc:1252
+#: route_ui.cc:1335
msgid "Control Outs"
msgstr "Sorties de contrôle"
-#: route_ui.cc:1258
+#: route_ui.cc:1341
msgid "Main Outs"
msgstr "Sorties principales"
-#: route_ui.cc:1390
+#: route_ui.cc:1473
msgid "Color Selection"
msgstr "Couleur de la sélection"
-#: route_ui.cc:1477
+#: route_ui.cc:1558
msgid ""
"Do you really want to remove track \"%1\" ?\n"
"\n"
@@ -10082,7 +10296,7 @@ msgstr ""
"(Cette action ne pourra pas être annulée, et le fichier de session sera "
"écrasé)"
-#: route_ui.cc:1479
+#: route_ui.cc:1560
msgid ""
"Do you really want to remove bus \"%1\" ?\n"
"\n"
@@ -10092,15 +10306,15 @@ msgstr ""
"\n"
"(Cette action ne pourra pas être annulé!)"
-#: route_ui.cc:1487
+#: route_ui.cc:1568
msgid "Remove track"
msgstr "Supprimer la piste"
-#: route_ui.cc:1489
+#: route_ui.cc:1570
msgid "Remove bus"
msgstr "Supprimer le bus"
-#: route_ui.cc:1516
+#: route_ui.cc:1598
msgid ""
"The use of colons (':') is discouraged in track and bus names.\n"
"Do you want to use this new name?"
@@ -10108,47 +10322,51 @@ msgstr ""
"Il est déconseillé d'utiliser le caractère ':' pour les pistes et les bus.\n"
"Voulez-vous tout de même utiliser ce nom?"
-#: route_ui.cc:1520
+#: route_ui.cc:1602
msgid "Use the new name"
msgstr ""
-#: route_ui.cc:1521
+#: route_ui.cc:1603
msgid "Re-edit the name"
msgstr ""
-#: route_ui.cc:1534
+#: route_ui.cc:1616
msgid "Rename Track"
msgstr "Renommer la piste"
-#: route_ui.cc:1536
+#: route_ui.cc:1618
msgid "Rename Bus"
msgstr "Renommer le bus"
-#: route_ui.cc:1695
+#: route_ui.cc:1686
+msgid ": comment editor"
+msgstr ": éditeur de commentaires"
+
+#: route_ui.cc:1852
msgid " latency"
msgstr " latence"
-#: route_ui.cc:1708
+#: route_ui.cc:1865
msgid "Cannot create route template directory %1"
msgstr ""
-#: route_ui.cc:1714
+#: route_ui.cc:1871
msgid "Save As Template"
msgstr "Enregistrer comme modèle"
-#: route_ui.cc:1715
+#: route_ui.cc:1872
msgid "Template name:"
msgstr "Nom du modèle de session :"
-#: route_ui.cc:1788
+#: route_ui.cc:1945
msgid "Remote Control ID"
msgstr "Identifiant de contrôleur"
-#: route_ui.cc:1798
+#: route_ui.cc:1955
msgid "Remote control ID:"
msgstr "Identifiant de contrôleur"
-#: route_ui.cc:1812
+#: route_ui.cc:1969
msgid ""
"The remote control ID of %1 is: %2\n"
"\n"
@@ -10156,27 +10374,26 @@ msgid ""
"The remote control ID of %3 cannot be changed."
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the master bus"
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the monitor bus"
msgstr ""
-#: route_ui.cc:1818
+#: route_ui.cc:1975
msgid ""
"The remote control ID of %5 is: %2\n"
"\n"
"\n"
-"Remote Control IDs are currently determined by track/bus ordering in "
-"Ardour.\n"
+"Remote Control IDs are currently determined by track/bus ordering in %6.\n"
"\n"
"%3Use the User Interaction tab of the Preferences window if you want to "
"change this%4"
msgstr ""
-#: route_ui.cc:1875
+#: route_ui.cc:2032
msgid ""
"Left-click to invert (phase reverse) channel %1 of this track. Right-click "
"to show menu."
@@ -10184,7 +10401,7 @@ msgstr ""
"Clic gauche pour inverser la phase du canal %1 de cette piste. Clic droit "
"pour afficher le menu."
-#: route_ui.cc:1877
+#: route_ui.cc:2034
msgid "Click to show a menu of channels for inversion (phase reverse)"
msgstr ""
@@ -10200,119 +10417,119 @@ msgstr "Cliquez pour ajouter un nouveau dossier"
msgid "the session folder"
msgstr "dossier de la session"
-#: send_ui.cc:126
+#: send_ui.cc:134
msgid "Send "
msgstr "Départ "
-#: session_dialog.cc:66
+#: session_dialog.cc:68
msgid "Session Setup"
msgstr ""
-#: session_dialog.cc:71
+#: session_dialog.cc:73
msgid "Advanced options ..."
msgstr ""
-#: session_dialog.cc:267
+#: session_dialog.cc:271
msgid "New Session"
msgstr "Créer une session"
-#: session_dialog.cc:305
+#: session_dialog.cc:309
msgid "Check the website for more..."
msgstr ""
-#: session_dialog.cc:308
+#: session_dialog.cc:312
msgid "Click to open the program website in your web browser"
msgstr ""
-#: session_dialog.cc:328
+#: session_dialog.cc:332
msgid "Sample Rate"
msgstr ""
-#: session_dialog.cc:329
+#: session_dialog.cc:333
msgid "Disk Format"
msgstr ""
-#: session_dialog.cc:347
+#: session_dialog.cc:351
msgid "Select session file"
msgstr "Sélection de la session"
-#: session_dialog.cc:362
+#: session_dialog.cc:366
msgid "Other Sessions"
msgstr ""
-#: session_dialog.cc:388
+#: session_dialog.cc:392
msgid "Open"
msgstr "Ouvrir"
-#: session_dialog.cc:455
+#: session_dialog.cc:459
msgid "Session name:"
msgstr "Nom de la session:"
-#: session_dialog.cc:477
+#: session_dialog.cc:481
msgid "Create session folder in:"
msgstr "Créer le dossier dans:"
-#: session_dialog.cc:500
+#: session_dialog.cc:504
msgid "Select folder for session"
msgstr "Choisir le dossier de session"
-#: session_dialog.cc:529
+#: session_dialog.cc:533
msgid "Use this template"
msgstr "Choix du modèle"
-#: session_dialog.cc:532
+#: session_dialog.cc:536
msgid "no template"
msgstr "Pas de modèle"
-#: session_dialog.cc:664 session_dialog.cc:696
+#: session_dialog.cc:671 session_dialog.cc:707
msgid "32 bit float"
msgstr ""
-#: session_dialog.cc:667 session_dialog.cc:699
+#: session_dialog.cc:674 session_dialog.cc:710
msgid "24 bit"
msgstr ""
-#: session_dialog.cc:670 session_dialog.cc:702
+#: session_dialog.cc:677 session_dialog.cc:713
msgid "16 bit"
msgstr ""
-#: session_dialog.cc:741 session_dialog.cc:742 session_dialog.cc:743
+#: session_dialog.cc:755 session_dialog.cc:756 session_dialog.cc:757
msgid "channels"
msgstr "canaux"
-#: session_dialog.cc:757
+#: session_dialog.cc:771
msgid "<b>Busses</b>"
msgstr "<b>Bus:</b>"
-#: session_dialog.cc:758
+#: session_dialog.cc:772
msgid "<b>Inputs</b>"
msgstr "<b>Entrées:</b>"
-#: session_dialog.cc:759
+#: session_dialog.cc:773
msgid "<b>Outputs</b>"
msgstr "<b>Sorties:</b>"
-#: session_dialog.cc:767
+#: session_dialog.cc:781
msgid "Create master bus"
msgstr "Bus de sortie à"
-#: session_dialog.cc:777
+#: session_dialog.cc:791
msgid "Automatically connect to physical inputs"
msgstr "Se connecter aux entrées matérielles automatiquement"
-#: session_dialog.cc:784 session_dialog.cc:843
+#: session_dialog.cc:798 session_dialog.cc:857
msgid "Use only"
msgstr "Utiliser seulement"
-#: session_dialog.cc:837
+#: session_dialog.cc:851
msgid "Automatically connect outputs"
msgstr "Se connecter aux sorties automatiquement"
-#: session_dialog.cc:859
+#: session_dialog.cc:873
msgid "... to master bus"
msgstr "...au bus général"
-#: session_dialog.cc:869
+#: session_dialog.cc:883
msgid "... to physical outputs"
msgstr "... aux sorties matérielles"
@@ -10619,7 +10836,8 @@ msgstr ""
#: session_option_editor.cc:91
msgid ""
-"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless in JACK-sync)."
+"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless using JACK-"
+"sync)."
msgstr ""
#: session_option_editor.cc:96
@@ -10656,428 +10874,458 @@ msgstr ""
"%1 est le maitre du temps JACK (donne l'info Mesure|Battement|Tick etc. à "
"JACK)"
-#: session_option_editor.cc:137
-msgid "Default crossfade type"
-msgstr "Type du fondu enchaîné par défaut"
-
-#: session_option_editor.cc:142
-msgid "Constant power (-3dB) crossfade"
-msgstr "Fondu enchainé de puissance contante (-3dB)"
-
-#: session_option_editor.cc:143
-msgid "Linear (-6dB) crossfade"
-msgstr "Fondu enchainé linéaire (-6dB)"
-
-#: session_option_editor.cc:148
+#: session_option_editor.cc:136
msgid "destructive-xfade-seconds"
msgstr ""
-#: session_option_editor.cc:149
+#: session_option_editor.cc:137
msgid "Destructive crossfade length"
msgstr "Longueur du fondu destructif"
-#: session_option_editor.cc:158
+#: session_option_editor.cc:146
msgid "Region fades active"
msgstr "Fondus des régions actifs"
-#: session_option_editor.cc:165
+#: session_option_editor.cc:153
msgid "Region fades visible"
msgstr "Fondus des régions visibles"
-#: session_option_editor.cc:172 session_option_editor.cc:185
-#: session_option_editor.cc:199 session_option_editor.cc:201
-#: session_option_editor.cc:207 session_option_editor.cc:214
+#: session_option_editor.cc:160 session_option_editor.cc:173
+#: session_option_editor.cc:187
msgid "Media"
msgstr "Médias"
-#: session_option_editor.cc:172
+#: session_option_editor.cc:160
msgid "Audio file format"
msgstr "Format de fichier audio"
-#: session_option_editor.cc:176
+#: session_option_editor.cc:164
msgid "Sample format"
msgstr "Échantillon"
-#: session_option_editor.cc:181
+#: session_option_editor.cc:169
msgid "32-bit floating point"
msgstr "32 bits à virgule flottante"
-#: session_option_editor.cc:182
+#: session_option_editor.cc:170
msgid "24-bit integer"
msgstr "24 bits à entiers signés"
-#: session_option_editor.cc:183
+#: session_option_editor.cc:171
msgid "16-bit integer"
msgstr "16 bits à entiers signés"
-#: session_option_editor.cc:189
+#: session_option_editor.cc:177
msgid "File type"
msgstr "Type de fichier"
-#: session_option_editor.cc:194
+#: session_option_editor.cc:182
msgid "Broadcast WAVE"
msgstr "Broadcast WAVE"
-#: session_option_editor.cc:195
+#: session_option_editor.cc:183
msgid "WAVE"
msgstr "WAVE"
-#: session_option_editor.cc:196
+#: session_option_editor.cc:184
msgid "WAVE-64"
msgstr "WAVE-64"
-#: session_option_editor.cc:201
+#: session_option_editor.cc:189
msgid "File locations"
msgstr "Emplacement des fichiers"
-#: session_option_editor.cc:203
+#: session_option_editor.cc:191
msgid "Search for audio files in:"
msgstr "Chercher les fichiers audio dans:"
-#: session_option_editor.cc:209
+#: session_option_editor.cc:197
msgid "Search for MIDI files in:"
msgstr "Chercher les fichiers MIDI dans:"
-#: session_option_editor.cc:220
+#: session_option_editor.cc:206 session_option_editor.cc:218
+#: session_option_editor.cc:228 session_option_editor.cc:239
+msgid "Filenames"
+msgstr ""
+
+#: session_option_editor.cc:206
+msgid "File Naming"
+msgstr ""
+
+#: session_option_editor.cc:212
+msgid "Prefix Track number"
+msgstr ""
+
+#: session_option_editor.cc:217
+msgid ""
+"Adds the current track number to the beginning of the recorded file name."
+msgstr ""
+
+#: session_option_editor.cc:222
+msgid "Prefix Take Name"
+msgstr ""
+
+#: session_option_editor.cc:227
+msgid "Adds the Take Name to the beginning of the recorded file name."
+msgstr ""
+
+#: session_option_editor.cc:232
+msgid "Take Name"
+msgstr ""
+
+#: session_option_editor.cc:245
msgid ""
"Track Input Monitoring automatically follows transport state (\"auto-input\")"
msgstr ""
"Le monitoring de l'entrée des pistes suit automatiquement l'état du "
"transport (\"auto-input\")"
-#: session_option_editor.cc:227
+#: session_option_editor.cc:252
msgid "Use monitor section in this session"
msgstr "Utiliser une section de monitoring dans cette session"
-#: session_option_editor.cc:238
+#: session_option_editor.cc:257 session_option_editor.cc:259
+#: session_option_editor.cc:266 session_option_editor.cc:273
+#: session_option_editor.cc:280 session_option_editor.cc:282
+#: session_option_editor.cc:289 session_option_editor.cc:296
+#: session_option_editor.cc:303 session_option_editor.cc:310
+#: session_option_editor.cc:312
+msgid "Meterbridge"
+msgstr ""
+
+#: session_option_editor.cc:257
+msgid "Route Display"
+msgstr ""
+
+#: session_option_editor.cc:261
+msgid "Show Midi Tracks"
+msgstr ""
+
+#: session_option_editor.cc:268
+msgid "Show Busses"
+msgstr ""
+
+#: session_option_editor.cc:275
+msgid "Include Master Bus"
+msgstr ""
+
+#: session_option_editor.cc:280
+msgid "Button Area"
+msgstr ""
+
+#: session_option_editor.cc:284
+msgid "Rec-enable Button"
+msgstr ""
+
+#: session_option_editor.cc:291
+msgid "Mute Button"
+msgstr ""
+
+#: session_option_editor.cc:298
+msgid "Solo Button"
+msgstr ""
+
+#: session_option_editor.cc:305
+msgid "Monitor Buttons"
+msgstr ""
+
+#: session_option_editor.cc:310
+msgid "Name Labels"
+msgstr ""
+
+#: session_option_editor.cc:314
+msgid "Track Name"
+msgstr ""
+
+#: session_option_editor.cc:325
msgid "MIDI region copies are independent"
msgstr "Les copies des régions MIDIs sont indépendants"
-#: session_option_editor.cc:245
+#: session_option_editor.cc:332
msgid ""
"Policy for handling overlapping notes\n"
" on the same MIDI channel"
msgstr "Régle de gestion de recouvrement des notes sur un canal MIDI"
-#: session_option_editor.cc:250
+#: session_option_editor.cc:337
msgid "never allow them"
msgstr "Interdire"
-#: session_option_editor.cc:251
+#: session_option_editor.cc:338
msgid "don't do anything in particular"
msgstr "Ne rien faire"
-#: session_option_editor.cc:252
+#: session_option_editor.cc:339
msgid "replace any overlapped existing note"
msgstr "Remplacer par la nouvelle note"
-#: session_option_editor.cc:253
+#: session_option_editor.cc:340
msgid "shorten the overlapped existing note"
msgstr "Raccourcir la note recouverte"
-#: session_option_editor.cc:254
+#: session_option_editor.cc:341
msgid "shorten the overlapping new note"
msgstr "Raccourcir la nouvelle note"
-#: session_option_editor.cc:255
+#: session_option_editor.cc:342
msgid "replace both overlapping notes with a single note"
msgstr "Fusionner les notes"
-#: session_option_editor.cc:259
+#: session_option_editor.cc:346
msgid "Glue to bars and beats"
msgstr ""
-#: session_option_editor.cc:263
+#: session_option_editor.cc:350
msgid "Glue new markers to bars and beats"
msgstr "Coller les nouveaux marqueurs aux mesures/temps"
-#: session_option_editor.cc:270
+#: session_option_editor.cc:357
msgid "Glue new regions to bars and beats"
msgstr "Coller les nouvelles régions aux mesures/temps"
-#: session_option_editor.cc:275 session_option_editor.cc:277
-#: session_option_editor.cc:284 session_option_editor.cc:291
-#: session_option_editor.cc:298 session_option_editor.cc:300
-#: session_option_editor.cc:307 session_option_editor.cc:314
-#: session_option_editor.cc:321 session_option_editor.cc:323
-msgid "Meterbridge"
-msgstr ""
-
-#: session_option_editor.cc:275
-msgid "Route Display"
-msgstr ""
-
-#: session_option_editor.cc:279
-msgid "Show Midi Tracks"
-msgstr ""
-
-#: session_option_editor.cc:286
-msgid "Show Busses"
-msgstr ""
-
-#: session_option_editor.cc:293
-msgid "Include Master Bus"
-msgstr ""
-
-#: session_option_editor.cc:298
-msgid "Button Area"
-msgstr ""
-
-#: session_option_editor.cc:302
-msgid "Rec-enable Button"
-msgstr ""
-
-#: session_option_editor.cc:309
-msgid "Mute Button"
-msgstr ""
-
-#: session_option_editor.cc:316
-msgid "Solo Button"
-msgstr ""
-
-#: session_option_editor.cc:321
-msgid "Name Labels"
+#: session_option_editor.cc:362
+msgid "Defaults"
msgstr ""
-#: session_option_editor.cc:325
-msgid "Track Name"
+#: session_option_editor.cc:364
+msgid "Use these settings as defaults"
msgstr ""
-#: sfdb_ui.cc:86 sfdb_ui.cc:106 sfdb_ui.cc:115
+#: sfdb_ui.cc:88 sfdb_ui.cc:108 sfdb_ui.cc:117
msgid "as new tracks"
msgstr "comme nouvelles pistes"
-#: sfdb_ui.cc:88 sfdb_ui.cc:108
+#: sfdb_ui.cc:90 sfdb_ui.cc:110
msgid "to selected tracks"
msgstr "aux pistes sélectionnées"
-#: sfdb_ui.cc:90 sfdb_ui.cc:110
+#: sfdb_ui.cc:92 sfdb_ui.cc:112
msgid "to region list"
msgstr "à la liste des régions"
-#: sfdb_ui.cc:92 sfdb_ui.cc:112
+#: sfdb_ui.cc:94 sfdb_ui.cc:114
msgid "as new tape tracks"
msgstr "comme nouvelles pistes bandes"
-#: sfdb_ui.cc:96
+#: sfdb_ui.cc:98
msgid "programming error: unknown import mode string %1"
msgstr "programming error: unknown import mode string %1"
-#: sfdb_ui.cc:123
+#: sfdb_ui.cc:125
msgid "Auto-play"
msgstr "Lecture auto"
-#: sfdb_ui.cc:129 sfdb_ui.cc:236
+#: sfdb_ui.cc:133 sfdb_ui.cc:317
msgid "<b>Sound File Information</b>"
msgstr "<b>Informations sur le fichier audio</b>"
-#: sfdb_ui.cc:141
+#: sfdb_ui.cc:145
msgid "Timestamp:"
msgstr "Horodatage:"
-#: sfdb_ui.cc:143
+#: sfdb_ui.cc:147
msgid "Format:"
msgstr "Format:"
-#: sfdb_ui.cc:182 sfdb_ui.cc:526
+#: sfdb_ui.cc:186 sfdb_ui.cc:646
msgid "Tags:"
msgstr "Tags:"
-#: sfdb_ui.cc:319
-msgid "Auditioning of MIDI files is not yet supported"
-msgstr "L'écoute des fichiers MIDI n'est pas encore disponible"
+#: sfdb_ui.cc:290
+msgid "<b>Midi File Information</b>"
+msgstr ""
-#: sfdb_ui.cc:326
+#: sfdb_ui.cc:402
msgid "Could not read file: %1 (%2)."
msgstr "Impossible de lire le fichier « %1 » (%2)."
-#: sfdb_ui.cc:349
+#: sfdb_ui.cc:451
msgid "Could not access soundfile: "
msgstr "Impossible d'accéder au fichier audio: "
-#: sfdb_ui.cc:403
+#: sfdb_ui.cc:523
msgid "SoundFileBox: Could not tokenize string: "
msgstr "SoundFileBox: Could not tokenize string: "
-#: sfdb_ui.cc:423 sfdb_ui.cc:425
+#: sfdb_ui.cc:543 sfdb_ui.cc:545
msgid "Search"
msgstr "Recherche"
-#: sfdb_ui.cc:449
+#: sfdb_ui.cc:569
msgid "Audio and MIDI files"
msgstr "Fichiers audio et MIDI"
-#: sfdb_ui.cc:452
+#: sfdb_ui.cc:572
msgid "Audio files"
msgstr "Audio"
-#: sfdb_ui.cc:455
+#: sfdb_ui.cc:575
msgid "MIDI files"
msgstr "Fichiers MIDI"
-#: sfdb_ui.cc:458 add_video_dialog.cc:132
+#: sfdb_ui.cc:578 add_video_dialog.cc:123
msgid "All files"
msgstr "Tout"
-#: sfdb_ui.cc:477 add_video_dialog.cc:143
+#: sfdb_ui.cc:597 add_video_dialog.cc:246
msgid "Browse Files"
msgstr "Parcours des fichiers"
-#: sfdb_ui.cc:506
+#: sfdb_ui.cc:626
msgid "Paths"
msgstr "Chemins"
-#: sfdb_ui.cc:515
+#: sfdb_ui.cc:635
msgid "Search Tags"
msgstr "Recherche de tags"
-#: sfdb_ui.cc:531
+#: sfdb_ui.cc:651
msgid "Sort:"
msgstr "Trier:"
-#: sfdb_ui.cc:539
+#: sfdb_ui.cc:659
msgid "Longest"
msgstr "Les plus longs"
-#: sfdb_ui.cc:540
+#: sfdb_ui.cc:660
msgid "Shortest"
msgstr "Les plus cours"
-#: sfdb_ui.cc:541
+#: sfdb_ui.cc:661
msgid "Newest"
msgstr "Les plus récents"
-#: sfdb_ui.cc:542
+#: sfdb_ui.cc:662
msgid "Oldest"
msgstr "Les plus vieux"
-#: sfdb_ui.cc:543
+#: sfdb_ui.cc:663
msgid "Most downloaded"
msgstr "Les plus téléchargés"
-#: sfdb_ui.cc:544
+#: sfdb_ui.cc:664
msgid "Least downloaded"
msgstr "Les moins téléchargés"
-#: sfdb_ui.cc:545
+#: sfdb_ui.cc:665
msgid "Highest rated"
msgstr "Les mieux notés"
-#: sfdb_ui.cc:546
+#: sfdb_ui.cc:666
msgid "Lowest rated"
msgstr "Les moins bien notés"
-#: sfdb_ui.cc:551
+#: sfdb_ui.cc:671
msgid "More"
msgstr ""
-#: sfdb_ui.cc:555
+#: sfdb_ui.cc:675
msgid "Similar"
msgstr ""
-#: sfdb_ui.cc:567
+#: sfdb_ui.cc:687
msgid "ID"
msgstr "ID"
-#: sfdb_ui.cc:568 add_video_dialog.cc:84
+#: sfdb_ui.cc:688 add_video_dialog.cc:83
msgid "Filename"
msgstr "Nom du fichier "
-#: sfdb_ui.cc:570
+#: sfdb_ui.cc:690
msgid "Duration"
msgstr ""
-#: sfdb_ui.cc:571
+#: sfdb_ui.cc:691
msgid "Size"
msgstr ""
-#: sfdb_ui.cc:572
+#: sfdb_ui.cc:692
msgid "Samplerate"
msgstr "Taux d'échantillonnage"
-#: sfdb_ui.cc:573
+#: sfdb_ui.cc:693
msgid "License"
msgstr ""
-#: sfdb_ui.cc:591
+#: sfdb_ui.cc:711
msgid "Search Freesound"
msgstr "Rechercher sur Freesound"
-#: sfdb_ui.cc:611
+#: sfdb_ui.cc:731
msgid "Press to import selected files and close this window"
msgstr ""
-#: sfdb_ui.cc:612
+#: sfdb_ui.cc:732
msgid "Press to import selected files and leave this window open"
msgstr ""
-#: sfdb_ui.cc:613
+#: sfdb_ui.cc:733
msgid "Press to close this window without importing any files"
msgstr "Cliquez pour fermer cette fenêtre sans importer de fichiers"
-#: sfdb_ui.cc:809
+#: sfdb_ui.cc:929
msgid "SoundFileBrowser: Could not tokenize string: "
msgstr "SoundFileBrowser: Could not tokenize string: "
-#: sfdb_ui.cc:1009
+#: sfdb_ui.cc:1129
msgid "%1 more page of 100 results available"
msgid_plural "%1 more pages of 100 results available"
msgstr[0] ""
msgstr[1] ""
-#: sfdb_ui.cc:1014
+#: sfdb_ui.cc:1134
msgid "No more results available"
msgstr ""
-#: sfdb_ui.cc:1078
+#: sfdb_ui.cc:1198
msgid "B"
msgstr "B"
-#: sfdb_ui.cc:1080
+#: sfdb_ui.cc:1200
msgid "kB"
msgstr "kB"
-#: sfdb_ui.cc:1082 sfdb_ui.cc:1084
+#: sfdb_ui.cc:1202 sfdb_ui.cc:1204
msgid "MB"
msgstr "MB"
-#: sfdb_ui.cc:1086
+#: sfdb_ui.cc:1206
msgid "GB"
msgstr "GB"
-#: sfdb_ui.cc:1298 sfdb_ui.cc:1606 sfdb_ui.cc:1656 sfdb_ui.cc:1674
+#: sfdb_ui.cc:1418 sfdb_ui.cc:1731 sfdb_ui.cc:1782 sfdb_ui.cc:1800
msgid "one track per file"
msgstr "une piste par fichier"
-#: sfdb_ui.cc:1301 sfdb_ui.cc:1657 sfdb_ui.cc:1675
+#: sfdb_ui.cc:1421 sfdb_ui.cc:1783 sfdb_ui.cc:1801
msgid "one track per channel"
msgstr "une piste par canal"
-#: sfdb_ui.cc:1309 sfdb_ui.cc:1659 sfdb_ui.cc:1676
+#: sfdb_ui.cc:1429 sfdb_ui.cc:1785 sfdb_ui.cc:1802
msgid "sequence files"
msgstr "régions alignées"
-#: sfdb_ui.cc:1312 sfdb_ui.cc:1664
+#: sfdb_ui.cc:1432 sfdb_ui.cc:1790
msgid "all files in one track"
msgstr "tous les fichiers dans une piste"
-#: sfdb_ui.cc:1313 sfdb_ui.cc:1658
+#: sfdb_ui.cc:1433 sfdb_ui.cc:1784
msgid "merge files"
msgstr "fusionner les fichiers"
-#: sfdb_ui.cc:1319 sfdb_ui.cc:1661
+#: sfdb_ui.cc:1439 sfdb_ui.cc:1787
msgid "one region per file"
msgstr "une région par fichier"
-#: sfdb_ui.cc:1322 sfdb_ui.cc:1662
+#: sfdb_ui.cc:1442 sfdb_ui.cc:1788
msgid "one region per channel"
msgstr "une région par voie"
-#: sfdb_ui.cc:1327 sfdb_ui.cc:1663 sfdb_ui.cc:1677
+#: sfdb_ui.cc:1447 sfdb_ui.cc:1789 sfdb_ui.cc:1803
msgid "all files in one region"
msgstr "tout dans une région"
-#: sfdb_ui.cc:1394
+#: sfdb_ui.cc:1514
msgid ""
"One or more of the selected files\n"
"cannot be used by %1"
@@ -11085,55 +11333,55 @@ msgstr ""
"Un des fichiers sélectionnés\n"
"ne peut pas être utilisé par %1"
-#: sfdb_ui.cc:1534
+#: sfdb_ui.cc:1658
msgid "Copy files to session"
msgstr "Copier les fichiers vers le dossier de session"
-#: sfdb_ui.cc:1551 sfdb_ui.cc:1714
+#: sfdb_ui.cc:1675 sfdb_ui.cc:1840
msgid "file timestamp"
msgstr "utiliser l'horodatage du fichier"
-#: sfdb_ui.cc:1552 sfdb_ui.cc:1716
+#: sfdb_ui.cc:1676 sfdb_ui.cc:1842
msgid "edit point"
msgstr "Point d'édition"
-#: sfdb_ui.cc:1553 sfdb_ui.cc:1718
+#: sfdb_ui.cc:1677 sfdb_ui.cc:1844
msgid "playhead"
msgstr "tête de lecture"
-#: sfdb_ui.cc:1554
+#: sfdb_ui.cc:1678
msgid "session start"
msgstr ""
-#: sfdb_ui.cc:1559
+#: sfdb_ui.cc:1684
msgid "<b>Add files as ...</b>"
msgstr ""
-#: sfdb_ui.cc:1581
+#: sfdb_ui.cc:1706
msgid "<b>Insert at</b>"
msgstr "<b>Insérer</b>"
-#: sfdb_ui.cc:1594
+#: sfdb_ui.cc:1719
msgid "<b>Mapping</b>"
msgstr ""
-#: sfdb_ui.cc:1612
+#: sfdb_ui.cc:1737
msgid "<b>Conversion quality</b>"
msgstr "<b>Qualité de la conversion</b>"
-#: sfdb_ui.cc:1624 sfdb_ui.cc:1730
+#: sfdb_ui.cc:1749 sfdb_ui.cc:1856
msgid "Best"
msgstr "Excellente"
-#: sfdb_ui.cc:1625 sfdb_ui.cc:1732
+#: sfdb_ui.cc:1750 sfdb_ui.cc:1858
msgid "Good"
msgstr "Bonne"
-#: sfdb_ui.cc:1626 sfdb_ui.cc:1734
+#: sfdb_ui.cc:1751 sfdb_ui.cc:1860
msgid "Quick"
msgstr "Rapide"
-#: sfdb_ui.cc:1628
+#: sfdb_ui.cc:1753
msgid "Fastest"
msgstr "Très rapide"
@@ -11179,6 +11427,30 @@ msgstr ">>> %+d demi-tons"
msgid "Stopped"
msgstr "Arrêt"
+#: soundcloud_export_selector.cc:44
+msgid "User Email"
+msgstr ""
+
+#: soundcloud_export_selector.cc:45
+msgid "Password"
+msgstr ""
+
+#: soundcloud_export_selector.cc:46
+msgid "Make files public"
+msgstr ""
+
+#: soundcloud_export_selector.cc:47
+msgid "Open uploaded files in browser"
+msgstr ""
+
+#: soundcloud_export_selector.cc:48
+msgid "Make files downloadable"
+msgstr ""
+
+#: soundcloud_export_selector.cc:107
+msgid "%1: %2 of %3 bytes uploaded"
+msgstr ""
+
#: splash.cc:73
msgid "%1 loading ..."
msgstr "Chargement de %1..."
@@ -11195,7 +11467,7 @@ msgstr "Supprimer le haut-parleur"
msgid "Azimuth:"
msgstr "Azimuth:"
-#: startup.cc:72
+#: startup.cc:73
msgid ""
"Use an external mixer or the hardware mixer of your audio interface.\n"
"%1 will play NO role in monitoring"
@@ -11203,11 +11475,11 @@ msgstr ""
"Utiliser une console de mixage externe ou celle de l'interface audio.\n"
"(%1 ne jouera AUCUN rôle dans le monitoring)"
-#: startup.cc:74
+#: startup.cc:75
msgid "Ask %1 to play back material as it is being recorded"
msgstr "Demander à %1 de diffuser le signal pendant l'enregistrement"
-#: startup.cc:143
+#: startup.cc:144
msgid ""
"<b>Welcome to this BETA release of Ardour %1</b>\n"
"\n"
@@ -11232,11 +11504,11 @@ msgid ""
" http://ardour.org/support\n"
msgstr ""
-#: startup.cc:167
+#: startup.cc:168
msgid "This is a BETA RELEASE"
msgstr "Version BETA, traduction en cours..."
-#: startup.cc:176
+#: startup.cc:177
msgid ""
"<span size=\"larger\">%1 is a digital audio workstation. You can use it to "
"record, edit and mix multi-track audio. You can produce your own CDs, mix "
@@ -11253,15 +11525,15 @@ msgstr ""
"Nous allons configurer le logiciel avant que vous puissiez commencer\n"
"à vous en servir.</span>"
-#: startup.cc:202
+#: startup.cc:203
msgid "Welcome to %1"
msgstr "Bienvenue dans Ardour"
-#: startup.cc:225
+#: startup.cc:226
msgid "Default folder for %1 sessions"
msgstr "Dossier par défault pour les %1 sessions"
-#: startup.cc:231
+#: startup.cc:232
msgid ""
"Each project that you work on with %1 has its own folder.\n"
"These can require a lot of disk space if you are recording audio.\n"
@@ -11279,11 +11551,11 @@ msgstr ""
"<i>(Vous pouvez créer des sessions n'importe où, cela est juste une valeur "
"par défaut)</i>"
-#: startup.cc:254
+#: startup.cc:255
msgid "Default folder for new sessions"
msgstr "Dossier par défaut pour les nouvelles sessions."
-#: startup.cc:275
+#: startup.cc:276
msgid ""
"While recording instruments or vocals, you probably want to listen to the\n"
"signal as well as record it. This is called \"monitoring\". There are\n"
@@ -11307,15 +11579,15 @@ msgstr ""
"\n"
"<i>Si vous ne comprenez pas ce choix, gardez l'option par défaut.</i>"
-#: startup.cc:296
+#: startup.cc:297
msgid "Monitoring Choices"
msgstr "Choix du mode de monitoring"
-#: startup.cc:319
+#: startup.cc:320
msgid "Use a Master bus directly"
msgstr "Utiliser le bus général"
-#: startup.cc:321
+#: startup.cc:322
msgid ""
"Connect the Master bus directly to your hardware outputs. This is preferable "
"for simple usage."
@@ -11323,11 +11595,11 @@ msgstr ""
"Connecter le bus Master directement aux sorties matérielles. Cette "
"configuration est préférable pour un usage simplifié."
-#: startup.cc:330
+#: startup.cc:331
msgid "Use an additional Monitor bus"
msgstr "Utiliser un bus de monitoring"
-#: startup.cc:333
+#: startup.cc:334
msgid ""
"Use a Monitor bus between Master bus and hardware outputs for \n"
"greater control in monitoring without affecting the mix."
@@ -11336,7 +11608,7 @@ msgstr ""
"matérielles\n"
"permet de mieux contrôler le monitoring sans impacter le mixage."
-#: startup.cc:355
+#: startup.cc:356
msgid ""
"<i>You can change this preference at any time via the Preferences dialog.\n"
"You can also add or remove the monitor section to/from any session.</i>\n"
@@ -11344,395 +11616,395 @@ msgid ""
"<i>If you do not understand what this is about, just accept the default.</i>"
msgstr ""
-#: startup.cc:366
+#: startup.cc:367
msgid "Monitor Section"
msgstr "Monitoring"
-#: step_entry.cc:59
+#: step_entry.cc:60
msgid "Step Entry: %1"
msgstr ""
-#: step_entry.cc:64
+#: step_entry.cc:65
msgid ">beat"
msgstr ">temps"
-#: step_entry.cc:65
+#: step_entry.cc:66
msgid ">bar"
msgstr ">mesure"
-#: step_entry.cc:66
+#: step_entry.cc:67
msgid ">EP"
msgstr ""
-#: step_entry.cc:67
+#: step_entry.cc:68
msgid "sustain"
msgstr ""
-#: step_entry.cc:68
+#: step_entry.cc:69
msgid "rest"
msgstr ""
-#: step_entry.cc:69
+#: step_entry.cc:70
msgid "g-rest"
msgstr ""
-#: step_entry.cc:70
+#: step_entry.cc:71
msgid "back"
msgstr "retour"
-#: step_entry.cc:81 step_entry.cc:84
+#: step_entry.cc:82 step_entry.cc:85
msgid "+"
msgstr "+"
-#: step_entry.cc:190
+#: step_entry.cc:191
msgid "Set note length to a whole note"
msgstr ""
-#: step_entry.cc:191
+#: step_entry.cc:192
msgid "Set note length to a half note"
msgstr ""
-#: step_entry.cc:192
+#: step_entry.cc:193
msgid "Set note length to a quarter note"
msgstr ""
-#: step_entry.cc:193
+#: step_entry.cc:194
msgid "Set note length to a eighth note"
msgstr ""
-#: step_entry.cc:194
+#: step_entry.cc:195
msgid "Set note length to a sixteenth note"
msgstr ""
-#: step_entry.cc:195
+#: step_entry.cc:196
msgid "Set note length to a thirty-second note"
msgstr ""
-#: step_entry.cc:196
+#: step_entry.cc:197
msgid "Set note length to a sixty-fourth note"
msgstr ""
-#: step_entry.cc:275
+#: step_entry.cc:276
msgid "Set volume (velocity) to pianississimo"
msgstr "Définir le volume (vélocité) à pianississimo"
-#: step_entry.cc:276
+#: step_entry.cc:277
msgid "Set volume (velocity) to pianissimo"
msgstr "Définir le volume (vélocité) à pianissimo"
-#: step_entry.cc:277
+#: step_entry.cc:278
msgid "Set volume (velocity) to piano"
msgstr "Définir le volume (vélocité) à piano"
-#: step_entry.cc:278
+#: step_entry.cc:279
msgid "Set volume (velocity) to mezzo-piano"
msgstr "Définir le volume (vélocité) à mezzo-piano"
-#: step_entry.cc:279
+#: step_entry.cc:280
msgid "Set volume (velocity) to mezzo-forte"
msgstr "Définir le volume (vélocité) à mezzo-forte"
-#: step_entry.cc:280
+#: step_entry.cc:281
msgid "Set volume (velocity) to forte"
msgstr "Définir le volume (vélocité) à forte"
-#: step_entry.cc:281
+#: step_entry.cc:282
msgid "Set volume (velocity) to forteissimo"
msgstr "Définir le volume (vélocité) à forteissimo"
-#: step_entry.cc:282
+#: step_entry.cc:283
msgid "Set volume (velocity) to forteississimo"
msgstr "Définir le volume (vélocité) à forteississimo"
-#: step_entry.cc:330
+#: step_entry.cc:331
msgid "Stack inserted notes to form a chord"
msgstr "Empliler les notes pour créer un accord"
-#: step_entry.cc:331
+#: step_entry.cc:332
msgid "Extend selected notes by note length"
msgstr ""
-#: step_entry.cc:332
+#: step_entry.cc:333
msgid "Use undotted note lengths"
msgstr ""
-#: step_entry.cc:333
+#: step_entry.cc:334
msgid "Use dotted (* 1.5) note lengths"
msgstr ""
-#: step_entry.cc:334
+#: step_entry.cc:335
msgid "Use double-dotted (* 1.75) note lengths"
msgstr ""
-#: step_entry.cc:335
+#: step_entry.cc:336
msgid "Use triple-dotted (* 1.875) note lengths"
msgstr ""
-#: step_entry.cc:336
+#: step_entry.cc:337
msgid "Insert a note-length's rest"
msgstr ""
-#: step_entry.cc:337
+#: step_entry.cc:338
msgid "Insert a grid-unit's rest"
msgstr ""
-#: step_entry.cc:338
+#: step_entry.cc:339
msgid "Insert a rest until the next beat"
msgstr "Compléter la fin du temps avec un silence"
-#: step_entry.cc:339
+#: step_entry.cc:340
msgid "Insert a rest until the next bar"
msgstr "Compléter la fin de la mesure avec un silence"
-#: step_entry.cc:340
+#: step_entry.cc:341
msgid "Insert a bank change message"
msgstr "Ajouter un message de changement de banque"
-#: step_entry.cc:341
+#: step_entry.cc:342
msgid "Insert a program change message"
msgstr "Ajouter un message de changement de programme"
-#: step_entry.cc:342 step_entry.cc:699
+#: step_entry.cc:343 step_entry.cc:700
msgid "Move Insert Position Back by Note Length"
msgstr ""
-#: step_entry.cc:343 step_entry.cc:697
+#: step_entry.cc:344 step_entry.cc:698
msgid "Move Insert Position to Edit Point"
msgstr "Bouger le point d'insertion au point d'édition"
-#: step_entry.cc:400
+#: step_entry.cc:401
msgid "1/Note"
msgstr "1/Note"
-#: step_entry.cc:414
+#: step_entry.cc:415
msgid "Octave"
msgstr "Octave"
-#: step_entry.cc:597
+#: step_entry.cc:598
msgid "Insert Note A"
msgstr "Ajouter un la"
-#: step_entry.cc:598
+#: step_entry.cc:599
msgid "Insert Note A-sharp"
msgstr "Ajouter un la dièse"
-#: step_entry.cc:599
+#: step_entry.cc:600
msgid "Insert Note B"
msgstr "Ajouter un si"
-#: step_entry.cc:600
+#: step_entry.cc:601
msgid "Insert Note C"
msgstr "Ajouter un do"
-#: step_entry.cc:601
+#: step_entry.cc:602
msgid "Insert Note C-sharp"
msgstr "Ajouter un do dièse"
-#: step_entry.cc:602
+#: step_entry.cc:603
msgid "Insert Note D"
msgstr "Ajouter un ré"
-#: step_entry.cc:603
+#: step_entry.cc:604
msgid "Insert Note D-sharp"
msgstr "Ajouter un ré dièse"
-#: step_entry.cc:604
+#: step_entry.cc:605
msgid "Insert Note E"
msgstr "Ajouter un mi"
-#: step_entry.cc:605
+#: step_entry.cc:606
msgid "Insert Note F"
msgstr "Ajouter un fa"
-#: step_entry.cc:606
+#: step_entry.cc:607
msgid "Insert Note F-sharp"
msgstr "Ajouter un fa dièse"
-#: step_entry.cc:607
+#: step_entry.cc:608
msgid "Insert Note G"
msgstr "Ajouter un sol"
-#: step_entry.cc:608
+#: step_entry.cc:609
msgid "Insert Note G-sharp"
msgstr "Ajouter un sol dièse"
-#: step_entry.cc:610
+#: step_entry.cc:611
msgid "Insert a Note-length Rest"
msgstr ""
-#: step_entry.cc:611
+#: step_entry.cc:612
msgid "Insert a Snap-length Rest"
msgstr ""
-#: step_entry.cc:613 step_entry.cc:614
+#: step_entry.cc:614 step_entry.cc:615
msgid "Move to next octave"
msgstr "Octave suivant"
-#: step_entry.cc:616
+#: step_entry.cc:617
msgid "Move to Next Note Length"
msgstr ""
-#: step_entry.cc:617
+#: step_entry.cc:618
msgid "Move to Previous Note Length"
msgstr ""
-#: step_entry.cc:619
+#: step_entry.cc:620
msgid "Increase Note Length"
msgstr "Augmenter la durée de la note"
-#: step_entry.cc:620
+#: step_entry.cc:621
msgid "Decrease Note Length"
msgstr "Diminuer la durée de la note"
-#: step_entry.cc:622
+#: step_entry.cc:623
msgid "Move to Next Note Velocity"
msgstr ""
-#: step_entry.cc:623
+#: step_entry.cc:624
msgid "Move to Previous Note Velocity"
msgstr ""
-#: step_entry.cc:625
+#: step_entry.cc:626
msgid "Increase Note Velocity"
msgstr "Augmenter la vélocité de la note"
-#: step_entry.cc:626
+#: step_entry.cc:627
msgid "Decrease Note Velocity"
msgstr "Diminuer la vélocité de la note"
-#: step_entry.cc:628
+#: step_entry.cc:629
msgid "Switch to the 1st octave"
msgstr "Passer à la 1ère octave"
-#: step_entry.cc:629
+#: step_entry.cc:630
msgid "Switch to the 2nd octave"
msgstr "Passer à la 2nd octave"
-#: step_entry.cc:630
+#: step_entry.cc:631
msgid "Switch to the 3rd octave"
msgstr "Passer à la 3ème octave"
-#: step_entry.cc:631
+#: step_entry.cc:632
msgid "Switch to the 4th octave"
msgstr "Passer à la 4ème octave"
-#: step_entry.cc:632
+#: step_entry.cc:633
msgid "Switch to the 5th octave"
msgstr "Passer à la 5ème octave"
-#: step_entry.cc:633
+#: step_entry.cc:634
msgid "Switch to the 6th octave"
msgstr "Passer à la 6ème octave"
-#: step_entry.cc:634
+#: step_entry.cc:635
msgid "Switch to the 7th octave"
msgstr "Passer à la 7ème octave"
-#: step_entry.cc:635
+#: step_entry.cc:636
msgid "Switch to the 8th octave"
msgstr "Passer à la 8ème octave"
-#: step_entry.cc:636
+#: step_entry.cc:637
msgid "Switch to the 9th octave"
msgstr "Passer à la 9ème octave"
-#: step_entry.cc:637
+#: step_entry.cc:638
msgid "Switch to the 10th octave"
msgstr "Passer à la 10ème octave"
-#: step_entry.cc:638
+#: step_entry.cc:639
msgid "Switch to the 11th octave"
msgstr "Passer à la 11ème octave"
-#: step_entry.cc:643
+#: step_entry.cc:644
msgid "Set Note Length to Whole"
msgstr ""
-#: step_entry.cc:645
+#: step_entry.cc:646
msgid "Set Note Length to 1/2"
msgstr "Définir la durèe de note à 1/2"
-#: step_entry.cc:647
+#: step_entry.cc:648
msgid "Set Note Length to 1/3"
msgstr ""
-#: step_entry.cc:649
+#: step_entry.cc:650
msgid "Set Note Length to 1/4"
msgstr ""
-#: step_entry.cc:651
+#: step_entry.cc:652
msgid "Set Note Length to 1/8"
msgstr ""
-#: step_entry.cc:653
+#: step_entry.cc:654
msgid "Set Note Length to 1/16"
msgstr ""
-#: step_entry.cc:655
+#: step_entry.cc:656
msgid "Set Note Length to 1/32"
msgstr ""
-#: step_entry.cc:657
+#: step_entry.cc:658
msgid "Set Note Length to 1/64"
msgstr ""
-#: step_entry.cc:662
+#: step_entry.cc:663
msgid "Set Note Velocity to Pianississimo"
msgstr ""
-#: step_entry.cc:664
+#: step_entry.cc:665
msgid "Set Note Velocity to Pianissimo"
msgstr ""
-#: step_entry.cc:666
+#: step_entry.cc:667
msgid "Set Note Velocity to Piano"
msgstr ""
-#: step_entry.cc:668
+#: step_entry.cc:669
msgid "Set Note Velocity to Mezzo-Piano"
msgstr ""
-#: step_entry.cc:670
+#: step_entry.cc:671
msgid "Set Note Velocity to Mezzo-Forte"
msgstr ""
-#: step_entry.cc:672
+#: step_entry.cc:673
msgid "Set Note Velocity to Forte"
msgstr ""
-#: step_entry.cc:674 step_entry.cc:676
+#: step_entry.cc:675 step_entry.cc:677
msgid "Set Note Velocity to Fortississimo"
msgstr ""
-#: step_entry.cc:678
+#: step_entry.cc:679
msgid "Toggle Triple Notes"
msgstr ""
-#: step_entry.cc:683
+#: step_entry.cc:684
msgid "No Dotted Notes"
msgstr "Pas de notes pointées"
-#: step_entry.cc:685
+#: step_entry.cc:686
msgid "Toggled Dotted Notes"
msgstr ""
-#: step_entry.cc:687
+#: step_entry.cc:688
msgid "Toggled Double-Dotted Notes"
msgstr ""
-#: step_entry.cc:689
+#: step_entry.cc:690
msgid "Toggled Triple-Dotted Notes"
msgstr ""
-#: step_entry.cc:692
+#: step_entry.cc:693
msgid "Toggle Chord Entry"
msgstr ""
-#: step_entry.cc:694
+#: step_entry.cc:695
msgid "Sustain Selected Notes by Note Length"
msgstr ""
-#: stereo_panner.cc:108
+#: stereo_panner.cc:131
#, c-format
msgid "L:%3d R:%3d Width:%d%%"
msgstr "G:%3d D:%3d Stéréo:%d%%"
@@ -11745,140 +12017,164 @@ msgstr ""
msgid "Width"
msgstr ""
-#: strip_silence_dialog.cc:48
+#: strip_silence_dialog.cc:44
msgid "Strip Silence"
msgstr ""
-#: strip_silence_dialog.cc:79
+#: strip_silence_dialog.cc:75
msgid "Minimum length"
msgstr ""
-#: strip_silence_dialog.cc:87
+#: strip_silence_dialog.cc:83
msgid "Fade length"
msgstr ""
-#: tempo_dialog.cc:43 tempo_dialog.cc:58
+#: tempo_dialog.cc:42 tempo_dialog.cc:58
msgid "bar:"
msgstr "Mesure:"
-#: tempo_dialog.cc:44 tempo_dialog.cc:59
+#: tempo_dialog.cc:43 tempo_dialog.cc:59
msgid "beat:"
msgstr "Temps:"
-#: tempo_dialog.cc:45 tempo_dialog.cc:60
+#: tempo_dialog.cc:44 tempo_dialog.cc:60
msgid "Pulse note"
msgstr ""
+#: tempo_dialog.cc:45 tempo_dialog.cc:61
+msgid "Tap tempo"
+msgstr ""
+
#: tempo_dialog.cc:55
msgid "Edit Tempo"
msgstr "Édition du tempo"
-#: tempo_dialog.cc:76 tempo_dialog.cc:77 tempo_dialog.cc:282
-#: tempo_dialog.cc:283
+#: tempo_dialog.cc:77 tempo_dialog.cc:78 tempo_dialog.cc:316
+#: tempo_dialog.cc:317
msgid "whole"
msgstr "Ronde"
-#: tempo_dialog.cc:78 tempo_dialog.cc:79 tempo_dialog.cc:284
-#: tempo_dialog.cc:285
+#: tempo_dialog.cc:79 tempo_dialog.cc:80 tempo_dialog.cc:318
+#: tempo_dialog.cc:319
msgid "second"
msgstr "Blanche"
-#: tempo_dialog.cc:80 tempo_dialog.cc:81 tempo_dialog.cc:286
-#: tempo_dialog.cc:287
+#: tempo_dialog.cc:81 tempo_dialog.cc:82 tempo_dialog.cc:320
+#: tempo_dialog.cc:321
msgid "third"
msgstr "Triolet de noires"
-#: tempo_dialog.cc:82 tempo_dialog.cc:83 tempo_dialog.cc:288
-#: tempo_dialog.cc:289
+#: tempo_dialog.cc:83 tempo_dialog.cc:84 tempo_dialog.cc:322
+#: tempo_dialog.cc:323
msgid "quarter"
msgstr "Noire"
-#: tempo_dialog.cc:84 tempo_dialog.cc:85 tempo_dialog.cc:290
-#: tempo_dialog.cc:291
+#: tempo_dialog.cc:85 tempo_dialog.cc:86 tempo_dialog.cc:324
+#: tempo_dialog.cc:325
msgid "eighth"
msgstr "Croche "
-#: tempo_dialog.cc:86 tempo_dialog.cc:87 tempo_dialog.cc:292
-#: tempo_dialog.cc:293
+#: tempo_dialog.cc:87 tempo_dialog.cc:88 tempo_dialog.cc:326
+#: tempo_dialog.cc:327
msgid "sixteenth"
msgstr "Double croche"
-#: tempo_dialog.cc:88 tempo_dialog.cc:89 tempo_dialog.cc:294
-#: tempo_dialog.cc:295
+#: tempo_dialog.cc:89 tempo_dialog.cc:90 tempo_dialog.cc:328
+#: tempo_dialog.cc:329
msgid "thirty-second"
msgstr "Triple croche"
-#: tempo_dialog.cc:90 tempo_dialog.cc:91 tempo_dialog.cc:296
-#: tempo_dialog.cc:297
+#: tempo_dialog.cc:91 tempo_dialog.cc:92 tempo_dialog.cc:330
+#: tempo_dialog.cc:331
msgid "sixty-fourth"
msgstr "quadruple croche"
-#: tempo_dialog.cc:92 tempo_dialog.cc:93 tempo_dialog.cc:298
-#: tempo_dialog.cc:299
+#: tempo_dialog.cc:93 tempo_dialog.cc:94 tempo_dialog.cc:332
+#: tempo_dialog.cc:333
msgid "one-hundred-twenty-eighth"
msgstr "quintuple croche"
-#: tempo_dialog.cc:120
+#: tempo_dialog.cc:121
msgid "Beats per minute:"
msgstr "Battements par minute:"
-#: tempo_dialog.cc:152
+#: tempo_dialog.cc:153
msgid "Tempo begins at"
msgstr "Le tempo démarre à:"
-#: tempo_dialog.cc:240
+#: tempo_dialog.cc:244
msgid "incomprehensible pulse note type (%1)"
msgstr ""
-#: tempo_dialog.cc:266
+#: tempo_dialog.cc:300
msgid "Edit Meter"
msgstr ""
-#: tempo_dialog.cc:314
+#: tempo_dialog.cc:348
msgid "Note value:"
msgstr "Valeur de note:"
-#: tempo_dialog.cc:315
+#: tempo_dialog.cc:349
msgid "Beats per bar:"
msgstr "Battements par mesure:"
-#: tempo_dialog.cc:330
+#: tempo_dialog.cc:364
msgid "Meter begins at bar:"
msgstr "À partir de la mesure:"
-#: tempo_dialog.cc:441
+#: tempo_dialog.cc:475
msgid "incomprehensible meter note type (%1)"
msgstr ""
-#: theme_manager.cc:57
+#: theme_manager.cc:63
msgid "Dark Theme"
msgstr "Thème sombre"
-#: theme_manager.cc:58
+#: theme_manager.cc:64
msgid "Light Theme"
msgstr "Thème clair"
-#: theme_manager.cc:59
+#: theme_manager.cc:65
msgid "Restore Defaults"
msgstr "Restaurer la configuration par défaut"
-#: theme_manager.cc:60
+#: theme_manager.cc:66
msgid "Draw \"flat\" buttons"
msgstr "Afficher des boutons sans effet 3D"
-#: theme_manager.cc:61
+#: theme_manager.cc:67
+msgid "Blink Rec-Arm buttons"
+msgstr ""
+
+#: theme_manager.cc:68
+msgid "Color regions using their track's color"
+msgstr "Appliquer la couleur de la piste aux régions"
+
+#: theme_manager.cc:69
+msgid "Show waveform clipping"
+msgstr ""
+
+#: theme_manager.cc:71
+msgid "Waveforms color gradient depth"
+msgstr ""
+
+#: theme_manager.cc:73
+msgid "Timeline item gradient depth"
+msgstr ""
+
+#: theme_manager.cc:74
msgid "All floating windows are dialogs"
msgstr ""
-#: theme_manager.cc:62
-msgid "Draw waveforms with color gradient"
-msgstr "Afficher le signal avec un dégradé de couleur"
+#: theme_manager.cc:75
+msgid "Icon Set"
+msgstr ""
-#: theme_manager.cc:68
+#: theme_manager.cc:81
msgid "Object"
msgstr "Objet"
-#: theme_manager.cc:123
+#: theme_manager.cc:180
msgid ""
"Mark all floating windows to be type \"Dialog\" rather than using \"Utility"
"\" for some.\n"
@@ -11886,17 +12182,17 @@ msgid ""
"take effect"
msgstr ""
-#: theme_manager.cc:229
+#: theme_manager.cc:286
msgid "Unable to find UI style file %1 in search path %2. %3 will look strange"
msgstr ""
"Impossible de trouver le fichier de style \"%1\" dans \"%2\". L'interface de "
"%3 sera étrange."
-#: time_axis_view.cc:114
+#: time_axis_view.cc:141
msgid "Track/Bus name (double click to edit)"
msgstr ""
-#: time_axis_view_item.cc:332
+#: time_axis_view_item.cc:384
msgid "new duration %1 frame is out of bounds for %2"
msgid_plural "new duration of %1 frames is out of bounds for %2"
msgstr[0] "la nouvelle durée d'%1 trame est hors limites pour %2"
@@ -11962,11 +12258,11 @@ msgstr "Étirer/Contracter"
msgid "<b>Progress</b>"
msgstr "<b>Avancement</b>"
-#: time_info_box.cc:121
+#: time_info_box.cc:124
msgid "Start recording at auto-punch start"
msgstr "Ne démarrer l'enregistrement qu'au point punch-in"
-#: time_info_box.cc:122
+#: time_info_box.cc:125
msgid "Stop recording at auto-punch end"
msgstr "Arrêter l'enregistrement au point punch-out"
@@ -11982,160 +12278,172 @@ msgstr "Transposer le MIDI"
msgid "Transpose"
msgstr "Transposer"
-#: ui_config.cc:82 ui_config.cc:113
+#: ui_config.cc:95 ui_config.cc:126
msgid "Loading default ui configuration file %1"
msgstr ""
"Chargement du fichier de style par défaut (%1) pour l'interface graphique"
-#: ui_config.cc:85 ui_config.cc:116
+#: ui_config.cc:98 ui_config.cc:129
msgid "cannot read default ui configuration file \"%1\""
msgstr ""
"impossible de lire le fichier de configuration d'interface graphique \"%1\""
-#: ui_config.cc:90 ui_config.cc:121
+#: ui_config.cc:103 ui_config.cc:134
msgid "default ui configuration file \"%1\" not loaded successfully."
msgstr ""
"le fichier par défaut (%1) pour la configuration de l'interface graphique "
"n'a pas pu être chargé correctement."
-#: ui_config.cc:134
+#: ui_config.cc:147
msgid "Loading user ui configuration file %1"
msgstr ""
"Chargement du fichier utilisateur \"%1\" pour la configuration de "
"l'interface graphique"
-#: ui_config.cc:137
+#: ui_config.cc:150
msgid "cannot read ui configuration file \"%1\""
msgstr ""
"impossible de lire le fichier (%1) pour la configuration de l'interface "
"graphique"
-#: ui_config.cc:142
+#: ui_config.cc:155
msgid "user ui configuration file \"%1\" not loaded successfully."
msgstr ""
"Ardour: le fichier de l'utilisateur (%1) pour la configuration de "
"l'interface graphique n'a pas pu être chargé correctement."
-#: ui_config.cc:150
+#: ui_config.cc:163
msgid "could not find any ui configuration file, canvas will look broken."
msgstr ""
"aucun fichier de configuration de l'interface graphique n'a éte trouvé.\n"
"Elle aura l'air étrange."
-#: ui_config.cc:169
+#: ui_config.cc:182
msgid "Config file %1 not saved"
msgstr "Fichier de configuration \"%1\" non enregistré"
-#: utils.cc:111 utils.cc:154
+#: utils.cc:117 utils.cc:160
msgid "bad XPM header %1"
msgstr "mauvais entête XPM %1"
-#: utils.cc:293 utils.cc:325
+#: utils.cc:313 utils.cc:345
msgid "missing RGBA style for \"%1\""
msgstr "style RGBA manquant pour « %1 »"
-#: utils.cc:598
+#: utils.cc:640
msgid "cannot find XPM file for %1"
msgstr "impossible de trouver le fichier XMP pour %1"
-#: utils.cc:624
+#: utils.cc:660 utils.cc:687 utils.cc:698
+msgid "default"
+msgstr ""
+
+#: utils.cc:699
+msgid "icon \"%1\" not found for icon set \"%2\", fallback to default"
+msgstr ""
+
+#: utils.cc:706
msgid "cannot find icon image for %1 using %2"
msgstr "Impossible de trouver l'icône pour %1 avec %2"
-#: utils.cc:639
+#: utils.cc:723 utils.cc:739
msgid "Caught exception while loading icon named %1"
msgstr ""
-#: verbose_cursor.cc:45
-msgid "VerboseCanvasCursor"
-msgstr "VerboseCanvasCursor"
-
-#: add_video_dialog.cc:55
+#: add_video_dialog.cc:54
msgid "Set Video Track"
msgstr ""
-#: add_video_dialog.cc:63
+#: add_video_dialog.cc:62
msgid "Launch External Video Monitor"
msgstr ""
-#: add_video_dialog.cc:64
+#: add_video_dialog.cc:63
msgid "Adjust Session Framerate to Match Video Framerate"
msgstr ""
-#: add_video_dialog.cc:66
+#: add_video_dialog.cc:65
msgid "Reload docroot"
msgstr ""
-#: add_video_dialog.cc:111 add_video_dialog.cc:115
-msgid "VideoServerIndex"
-msgstr ""
-
-#: add_video_dialog.cc:129
+#: add_video_dialog.cc:120
msgid "Video files"
msgstr ""
-#: add_video_dialog.cc:164
+#: add_video_dialog.cc:149
msgid "<b>Video Information</b>"
msgstr ""
-#: add_video_dialog.cc:167
+#: add_video_dialog.cc:152
msgid "Start:"
msgstr ""
-#: add_video_dialog.cc:173
+#: add_video_dialog.cc:158
msgid "Frame rate:"
msgstr ""
-#: add_video_dialog.cc:176
+#: add_video_dialog.cc:161
msgid "Aspect Ratio:"
msgstr ""
-#: add_video_dialog.cc:654
-msgid " %1 fps"
+#: add_video_dialog.cc:244
+msgid "VideoServerIndex"
msgstr ""
-#: editor_videotimeline.cc:146
-msgid "Export Successful: %1"
+#: add_video_dialog.cc:670
+msgid " %1 fps"
msgstr ""
-#: video_timeline.cc:469
+#: video_timeline.cc:473
msgid ""
"Parsing video file info failed. Is the Video Server running? Is the file "
"readable by the Video Server? Does the docroot match? Is it a video file?"
msgstr ""
-#: video_timeline.cc:507
+#: video_timeline.cc:511
msgid ""
"Failed to set session-framerate: '%1' does not have a corresponding option "
"setting in %2."
msgstr ""
-#: video_timeline.cc:515
+#: video_timeline.cc:519
msgid ""
"Video file's framerate is not equal to %1 session timecode's framerate: '%2' "
"vs '%3'"
msgstr ""
-#: video_timeline.cc:588
+#: video_timeline.cc:592
msgid ""
"Video-server docroot mismatch. %1: '%2', video-server: '%3'. This usually "
-"means that the video server was not started by ardour and uses a different "
+"means that the video server was not started by %1 and uses a different "
"document-root."
msgstr ""
-#: video_timeline.cc:737
+#: video_timeline.cc:768
msgid ""
"Video-monitor 'xjadeo' was not found. Please install http://xjadeo.sf.net/ "
"(a custom path to xjadeo can be specified by setting the XJREMOTE "
"environment variable. It should point to an application compatible with "
-"xjadeo's remote-control interface 'xjremote')."
+"xjadeo's remote-control interface 'xjremote').\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
+msgstr ""
+
+#: video_timeline.cc:782
+msgid "Video-monitor 'xjadeo' cannot be launched."
msgstr ""
-#: video_monitor.cc:281
+#: video_timeline.cc:809
+msgid ""
+"Video-monitor 'xjadeo' is too old. Please install xjadeo version 0.7.7 or "
+"later. http://xjadeo.sf.net/"
+msgstr ""
+
+#: video_monitor.cc:285
msgid "Video Monitor: File Not Found."
msgstr ""
-#: transcode_ffmpeg.cc:73
+#: transcode_ffmpeg.cc:126
msgid ""
"No ffprobe or ffmpeg executables could be found on this system.\n"
"Video import and export is not possible until you install those tools.\n"
@@ -12149,168 +12457,181 @@ msgid ""
"If you already have a suitable ffmpeg installation on your system, we "
"recommend creating symbolic links from ffmpeg to ffmpeg_harvid and from "
"ffprobe to ffprobe_harvid.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: transcode_video_dialog.cc:55
+#: transcode_video_dialog.cc:56
msgid "Transcode/Import Video File "
msgstr ""
-#: transcode_video_dialog.cc:57
+#: transcode_video_dialog.cc:58
msgid "Output File:"
msgstr ""
-#: transcode_video_dialog.cc:60 export_video_dialog.cc:72
+#: transcode_video_dialog.cc:61 export_video_dialog.cc:73
msgid "Abort"
msgstr ""
-#: transcode_video_dialog.cc:62
+#: transcode_video_dialog.cc:63
msgid "Height = "
msgstr ""
-#: transcode_video_dialog.cc:65
+#: transcode_video_dialog.cc:66
msgid "Manual Override"
msgstr ""
-#: transcode_video_dialog.cc:69 export_video_dialog.cc:88
+#: transcode_video_dialog.cc:70 export_video_dialog.cc:89
msgid "Debug Mode: Print ffmpeg command and output to stdout."
msgstr ""
-#: transcode_video_dialog.cc:106
+#: transcode_video_dialog.cc:107
msgid "<b>File Information</b>"
msgstr ""
-#: transcode_video_dialog.cc:112
+#: transcode_video_dialog.cc:113
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Import "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: transcode_video_dialog.cc:119
+#: transcode_video_dialog.cc:120
msgid ""
"File-info can not be read. Most likely '%1' is not a valid video-file or an "
"unsupported video codec or format."
msgstr ""
-#: transcode_video_dialog.cc:133
+#: transcode_video_dialog.cc:134
msgid "FPS:"
msgstr ""
-#: transcode_video_dialog.cc:135
+#: transcode_video_dialog.cc:136
msgid "Duration:"
msgstr ""
-#: transcode_video_dialog.cc:137
+#: transcode_video_dialog.cc:138
msgid "Codec:"
msgstr ""
-#: transcode_video_dialog.cc:139
+#: transcode_video_dialog.cc:140
msgid "Geometry:"
msgstr ""
-#: transcode_video_dialog.cc:154
+#: transcode_video_dialog.cc:155
msgid "??"
msgstr ""
-#: transcode_video_dialog.cc:175
+#: transcode_video_dialog.cc:176
msgid "<b>Import Settings</b>"
msgstr ""
-#: transcode_video_dialog.cc:180
-msgid "Do Not Import Video"
-msgstr ""
-
#: transcode_video_dialog.cc:181
-msgid "Reference From Current Location"
+msgid "Reference From Current Location (Previously Transcoded Files Only)"
msgstr ""
#: transcode_video_dialog.cc:183
msgid "Import/Transcode Video to Session"
msgstr ""
-#: transcode_video_dialog.cc:197
+#: transcode_video_dialog.cc:191
+msgid "Do Not Import Video (Audio Import Only)"
+msgstr ""
+
+#: transcode_video_dialog.cc:200
msgid "Scale Video: Width = "
msgstr ""
-#: transcode_video_dialog.cc:204
+#: transcode_video_dialog.cc:207
msgid "Original Width"
msgstr ""
-#: transcode_video_dialog.cc:219
+#: transcode_video_dialog.cc:222
msgid "Bitrate (KBit/s):"
msgstr ""
-#: transcode_video_dialog.cc:224
+#: transcode_video_dialog.cc:227
msgid "Extract Audio:"
msgstr ""
-#: transcode_video_dialog.cc:344
+#: transcode_video_dialog.cc:232
+msgid "No Audio Track Present"
+msgstr ""
+
+#: transcode_video_dialog.cc:235
+msgid "Do Not Extract Audio"
+msgstr ""
+
+#: transcode_video_dialog.cc:350
msgid "Extracting Audio.."
msgstr ""
-#: transcode_video_dialog.cc:347
+#: transcode_video_dialog.cc:353
msgid "Audio Extraction Failed."
msgstr ""
-#: transcode_video_dialog.cc:373
+#: transcode_video_dialog.cc:379
msgid "Transcoding Video.."
msgstr ""
-#: transcode_video_dialog.cc:407
+#: transcode_video_dialog.cc:413
msgid "Transcoding Failed."
msgstr ""
-#: transcode_video_dialog.cc:490
+#: transcode_video_dialog.cc:503
msgid "Save Transcoded Video File"
msgstr ""
-#: video_server_dialog.cc:43
+#: video_server_dialog.cc:57
msgid "Launch Video Server"
msgstr ""
-#: video_server_dialog.cc:44
+#: video_server_dialog.cc:58
msgid "Server Executable:"
msgstr ""
-#: video_server_dialog.cc:46
+#: video_server_dialog.cc:60
msgid "Server Docroot:"
msgstr ""
-#: video_server_dialog.cc:52
+#: video_server_dialog.cc:66
msgid "Don't show this dialog again. (Reset in Edit->Preferences)."
msgstr ""
-#: video_server_dialog.cc:92
+#: video_server_dialog.cc:126
msgid ""
-"The external video server 'harvid' can not be found. The tool is included "
-"with the %1 releases from ardour.org, alternatively you can download it from "
-"http://x42.github.com/harvid/ or acquire it from your distribution."
+"The external video server 'harvid' can not be found.\n"
+"The tool is included with the %1 releases from ardour.org, alternatively you "
+"can download it from http://x42.github.com/harvid/ or acquire it from your "
+"distribution.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: video_server_dialog.cc:120
+#: video_server_dialog.cc:159
msgid "Listen Address:"
msgstr ""
-#: video_server_dialog.cc:125
+#: video_server_dialog.cc:164
msgid "Listen Port:"
msgstr ""
-#: video_server_dialog.cc:130
+#: video_server_dialog.cc:169
msgid "Cache Size:"
msgstr ""
-#: video_server_dialog.cc:136
+#: video_server_dialog.cc:175
msgid ""
"%1 relies on an external video server for the videotimeline.\n"
"The server configured in Edit -> Preferences -> Video is not reachable.\n"
"Do you want %1 to launch 'harvid' on this machine?"
msgstr ""
-#: video_server_dialog.cc:176
+#: video_server_dialog.cc:215
msgid "Set Video Server Executable"
msgstr ""
-#: video_server_dialog.cc:196
+#: video_server_dialog.cc:235
msgid "Server docroot"
msgstr ""
@@ -12340,184 +12661,184 @@ msgstr ""
msgid "Cannot create video folder \"%1\" (%2)"
msgstr ""
-#: export_video_dialog.cc:65
+#: export_video_dialog.cc:66
msgid "Export Video File "
msgstr ""
-#: export_video_dialog.cc:69
+#: export_video_dialog.cc:70
msgid "Video:"
msgstr ""
-#: export_video_dialog.cc:73
+#: export_video_dialog.cc:74
msgid "Scale Video (W x H):"
msgstr ""
-#: export_video_dialog.cc:78
+#: export_video_dialog.cc:79
msgid "Set Aspect Ratio:"
msgstr ""
-#: export_video_dialog.cc:79
+#: export_video_dialog.cc:80
msgid "Normalize Audio"
msgstr ""
-#: export_video_dialog.cc:80
+#: export_video_dialog.cc:81
msgid "2 Pass Encoding"
msgstr ""
-#: export_video_dialog.cc:81
+#: export_video_dialog.cc:82
msgid "Codec Optimizations:"
msgstr ""
-#: export_video_dialog.cc:83
+#: export_video_dialog.cc:84
msgid "Deinterlace"
msgstr ""
-#: export_video_dialog.cc:84
+#: export_video_dialog.cc:85
msgid "Use [2] B-frames (MPEG 2 or 4 only)"
msgstr ""
-#: export_video_dialog.cc:85
+#: export_video_dialog.cc:86
msgid "Override FPS (Default is to retain FPS from the input video file):"
msgstr ""
-#: export_video_dialog.cc:86
+#: export_video_dialog.cc:87
msgid "Include Session Metadata"
msgstr ""
-#: export_video_dialog.cc:106
+#: export_video_dialog.cc:107
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Export "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: export_video_dialog.cc:116
+#: export_video_dialog.cc:117
msgid "<b>Output:</b>"
msgstr ""
-#: export_video_dialog.cc:126
+#: export_video_dialog.cc:127
msgid "<b>Input:</b>"
msgstr ""
-#: export_video_dialog.cc:137
+#: export_video_dialog.cc:138
msgid "Audio:"
msgstr ""
-#: export_video_dialog.cc:139
+#: export_video_dialog.cc:140
msgid "Master Bus"
msgstr ""
-#: export_video_dialog.cc:144
+#: export_video_dialog.cc:145
msgid "from the %1 session's start to the session's end"
msgstr ""
-#: export_video_dialog.cc:148
+#: export_video_dialog.cc:149
msgid "from 00:00:00:00 to the video's end"
msgstr ""
-#: export_video_dialog.cc:150
+#: export_video_dialog.cc:151
msgid "from the video's start to the video's end"
msgstr ""
-#: export_video_dialog.cc:153
+#: export_video_dialog.cc:154
msgid "Selected range"
msgstr ""
-#: export_video_dialog.cc:193
+#: export_video_dialog.cc:194
msgid "<b>Settings:</b>"
msgstr ""
-#: export_video_dialog.cc:201
+#: export_video_dialog.cc:202
msgid "Range:"
msgstr ""
-#: export_video_dialog.cc:204
+#: export_video_dialog.cc:205
msgid "Preset:"
msgstr ""
-#: export_video_dialog.cc:207
+#: export_video_dialog.cc:208
msgid "Video Codec:"
msgstr ""
-#: export_video_dialog.cc:210
+#: export_video_dialog.cc:211
msgid "Video KBit/s:"
msgstr ""
-#: export_video_dialog.cc:213
+#: export_video_dialog.cc:214
msgid "Audio Codec:"
msgstr ""
-#: export_video_dialog.cc:216
+#: export_video_dialog.cc:217
msgid "Audio KBit/s:"
msgstr ""
-#: export_video_dialog.cc:219
+#: export_video_dialog.cc:220
msgid "Audio Samplerate:"
msgstr ""
-#: export_video_dialog.cc:395
+#: export_video_dialog.cc:396
msgid "Normalizing audio"
msgstr ""
-#: export_video_dialog.cc:399
+#: export_video_dialog.cc:400
msgid "Exporting audio"
msgstr ""
-#: export_video_dialog.cc:445
+#: export_video_dialog.cc:446
msgid "Exporting Audio..."
msgstr ""
-#: export_video_dialog.cc:502
+#: export_video_dialog.cc:503
msgid ""
"Export Video: Cannot query duration of video-file, using duration from "
"timeline instead."
msgstr ""
-#: export_video_dialog.cc:532
+#: export_video_dialog.cc:533
msgid "Export Video: export-range does not include video."
msgstr ""
-#: export_video_dialog.cc:544
+#: export_video_dialog.cc:545
msgid "Export Video: No Master Out Ports to Connect for Audio Export"
msgstr ""
-#: export_video_dialog.cc:583
+#: export_video_dialog.cc:585
msgid "Encoding Video..."
msgstr ""
-#: export_video_dialog.cc:602
+#: export_video_dialog.cc:604
msgid "Export Video: Video input file cannot be read."
msgstr ""
-#: export_video_dialog.cc:695
+#: export_video_dialog.cc:698
msgid "Encoding Video.. Pass 1/2"
msgstr ""
-#: export_video_dialog.cc:707
+#: export_video_dialog.cc:710
msgid "Encoding Video.. Pass 2/2"
msgstr ""
-#: export_video_dialog.cc:814
+#: export_video_dialog.cc:813
msgid "Transcoding failed."
msgstr ""
-#: export_video_dialog.cc:983 export_video_dialog.cc:1003
+#: export_video_dialog.cc:982 export_video_dialog.cc:1002
msgid "Save Exported Video File"
msgstr ""
-#: export_video_infobox.cc:30
+#: export_video_infobox.cc:33
msgid "Video Export Info"
msgstr ""
-#: export_video_infobox.cc:31
+#: export_video_infobox.cc:34
msgid "Do Not Show This Dialog Again (Reset in Edit > Preferences > Video)."
msgstr ""
-#: export_video_infobox.cc:43
+#: export_video_infobox.cc:46
msgid "<b>Video Export Info</b>"
msgstr ""
-#: export_video_infobox.cc:48
+#: export_video_infobox.cc:51
msgid ""
"Video encoding is a non-trivial task with many details.\n"
"\n"
@@ -12526,6 +12847,265 @@ msgid ""
"Open Manual in Browser? "
msgstr ""
+#~ msgid "badly formatted UI definition file: %1"
+#~ msgstr "fichier de définition d'IHM mal formatté: %1"
+
+#~ msgid "%1 will not work without a valid ardour.menus file"
+#~ msgstr "%1 ne fonctionnera pas sans un fichier ardour.menus valide"
+
+#~ msgid "audition"
+#~ msgstr "écoute"
+
+#~ msgid "solo"
+#~ msgstr "solo"
+
+#~ msgid "feedback"
+#~ msgstr "larsen"
+
+#~ msgid "Please wait while %1 cleans up..."
+#~ msgstr "Veuillez patienter pendant que %1 nettoie ses données..."
+
+#~ msgid ""
+#~ "There are insufficient JACK ports available\n"
+#~ "to create a new track or bus.\n"
+#~ "You should save %1, exit and\n"
+#~ "restart JACK with more ports."
+#~ msgstr ""
+#~ "Il n'y a plus assez de ports JACK disponibles\n"
+#~ "pour créer une nouvelle piste ou un nouveau bus.\n"
+#~ "Vous devriez enregistrer %1, quitter, puis\n"
+#~ "redémarrer JACK avec plus de ports."
+
+#~ msgid "Timecode Frames"
+#~ msgstr "Trames Timecode"
+
+#~ msgid "Timecode Seconds"
+#~ msgstr "Secondes Timecode"
+
+#~ msgid "Timecode Minutes"
+#~ msgstr "Minutes Timecode"
+
+#~ msgid ""
+#~ "programming error: fade in canvas item has no regionview data pointer!"
+#~ msgstr ""
+#~ "programming error: fade in canvas item has no regionview data pointer!"
+
+#~ msgid "Slowest"
+#~ msgstr "Très lent"
+
+#~ msgid "Finish Add Range"
+#~ msgstr "Terminer l'ajout d'intervalle"
+
+#~ msgid "Toggle Edit Mode"
+#~ msgstr "Commuter le mode d'édition"
+
+#~ msgid "insert dragged region"
+#~ msgstr "glissé-déposé de région"
+
+#~ msgid " objects"
+#~ msgstr " objets"
+
+#~ msgid "No edit range defined"
+#~ msgstr "Aucune plage d'édition définie"
+
+#~ msgid ""
+#~ "the edit point is Selected Marker\n"
+#~ "but there is no selected marker."
+#~ msgstr ""
+#~ "Le point d'édition est un Repère Sélectionné\n"
+#~ "mais il n'y a aucun repère sélectionné."
+
+#~ msgid "Lower limit of ruler"
+#~ msgstr "limite inférieure de la règle"
+
+#~ msgid "Upper"
+#~ msgstr "supérieur"
+
+#~ msgid "Upper limit of ruler"
+#~ msgstr "limite supérieure de la règle"
+
+#~ msgid "Position of mark on the ruler"
+#~ msgstr "position du repère sur la règle"
+
+#~ msgid "Max Size"
+#~ msgstr "taille max"
+
+#~ msgid "Maximum size of the ruler"
+#~ msgstr "taille max de la règle"
+
+#~ msgid "Show Position"
+#~ msgstr "afficher la position"
+
+#~ msgid "Draw current ruler position"
+#~ msgstr "dessiner la position actuelle de la règle"
+
+#~ msgid "cannot open pango.rc file %1"
+#~ msgstr "impossible d'ouvrir le fichier pango.rc %1"
+
+#~ msgid "Missing File!"
+#~ msgstr "Fichier manquant!"
+
+#~ msgid "tupni"
+#~ msgstr "tupni"
+
+#~ msgid "lock"
+#~ msgstr "verrou"
+
+#~ msgid "iso"
+#~ msgstr "iso"
+
+#~ msgid ""
+#~ "Aux\n"
+#~ "Sends"
+#~ msgstr ""
+#~ "Arrivées\n"
+#~ "Aux"
+
+#~ msgid "in"
+#~ msgstr "entrée"
+
+#~ msgid "post"
+#~ msgstr "post"
+
+#~ msgid "out"
+#~ msgstr "sortie"
+
+#~ msgid "mute"
+#~ msgstr "muet"
+
+#~ msgid "mono"
+#~ msgstr "mono"
+
+#~ msgid "send LTC while stopped"
+#~ msgstr "envoyer LTC à l'arrêt"
+
+#~ msgid "update transport clock display every 40ms instead of every 100ms"
+#~ msgstr ""
+#~ "Mettre à jour l'horloge du transport tous les 40ms au lieu de tous les "
+#~ "100ms"
+
+#~ msgid ""
+#~ "A route group of this name already exists. Please use a different name."
+#~ msgstr "Ce nom a déjà été donné à un groupe. Choisissez-en un nouveau."
+
+#~ msgid "g"
+#~ msgstr "g"
+
+#~ msgid "p"
+#~ msgstr "p"
+
+#~ msgid "a"
+#~ msgstr "a"
+
+#~ msgid "s"
+#~ msgstr "s"
+
+#~ msgid "m"
+#~ msgstr "m"
+
+#~ msgid "Not connected to JACK - cannot engage record"
+#~ msgstr "Non connecté à JACK – impossible d'enclencher l'enregistrement"
+
+#~ msgid "Default crossfade type"
+#~ msgstr "Type du fondu enchaîné par défaut"
+
+#~ msgid "Constant power (-3dB) crossfade"
+#~ msgstr "Fondu enchainé de puissance contante (-3dB)"
+
+#~ msgid "Linear (-6dB) crossfade"
+#~ msgstr "Fondu enchainé linéaire (-6dB)"
+
+#~ msgid "VerboseCanvasCursor"
+#~ msgstr "VerboseCanvasCursor"
+
+#~ msgid ""
+#~ "Video-Server was not launched by Ardour. The request to stop it is "
+#~ "ignored."
+#~ msgstr ""
+#~ "Le Seveur-Video n'a pas été lancé par Ardour. La demande d'arrêt est "
+#~ "ignorée."
+
+#~ msgid "ardour"
+#~ msgstr "Ardour"
+
+#~ msgid "x1"
+#~ msgstr "x1"
+
+#~ msgid "x coordinate of upper left corner of rect"
+#~ msgstr "coordonnée x du coin supérieur gauche du rectangle"
+
+#~ msgid "y1"
+#~ msgstr "y1"
+
+#~ msgid "y coordinate of upper left corner of rect "
+#~ msgstr "coordonnée y du coin supérieur gauche du rectangle"
+
+#~ msgid "x2"
+#~ msgstr "x2"
+
+#~ msgid "x coordinate of lower right corner of rect"
+#~ msgstr "coordonnée x du coin inférieur droit du rectangle"
+
+#~ msgid "y2"
+#~ msgstr "y2"
+
+#~ msgid "y coordinate of lower right corner of rect "
+#~ msgstr "coordonnée y du coin inférieur droit du rectangle"
+
+#~ msgid "color rgba"
+#~ msgstr "couleur RGBA"
+
+#~ msgid "color of line"
+#~ msgstr "couleur de la ligne"
+
+#~ msgid "outline pixels"
+#~ msgstr "contour"
+
+#~ msgid "width in pixels of outline"
+#~ msgstr "nombre de pixels du contour"
+
+#~ msgid "outline what"
+#~ msgstr "surligner quoi"
+
+#~ msgid "which boundaries to outline (mask)"
+#~ msgstr "quels contours surligner (masque)"
+
+#~ msgid "fill"
+#~ msgstr "remplir"
+
+#~ msgid "fill rectangle"
+#~ msgstr "remplir le rectangle"
+
+#~ msgid "draw"
+#~ msgstr "dessiner"
+
+#~ msgid "draw rectangle"
+#~ msgstr "dessiner un rectangle"
+
+#~ msgid "outline color rgba"
+#~ msgstr "couleur RGBA contour"
+
+#~ msgid "color of outline"
+#~ msgstr "couleur du contour"
+
+#~ msgid "fill color rgba"
+#~ msgstr "couleur RGBA remplissage"
+
+#~ msgid "color of fill"
+#~ msgstr "couleur du remplissage"
+
+#~ msgid "malformed URL passed to drag-n-drop code"
+#~ msgstr "URL incorrecte transmise"
+
+#~ msgid "Editor::event_frame() used on unhandled event type %1"
+#~ msgstr "Editor::event_frame() utilisé sur un événement non géré de type %1"
+
+#~ msgid "Auditioning of MIDI files is not yet supported"
+#~ msgstr "L'écoute des fichiers MIDI n'est pas encore disponible"
+
+#~ msgid "Draw waveforms with color gradient"
+#~ msgstr "Afficher le signal avec un dégradé de couleur"
+
#~ msgid "Starting audio engine"
#~ msgstr "Démarrage du moteur audio"
@@ -12701,9 +13281,6 @@ msgstr ""
#~ msgid "Output device:"
#~ msgstr "Interface de sortie:"
-#~ msgid "Device"
-#~ msgstr "Interface audio"
-
#~ msgid "Advanced"
#~ msgstr "Avancé"
diff --git a/gtk2_ardour/po/it.po b/gtk2_ardour/po/it.po
index 2400552862..c7cf6ffe91 100644
--- a/gtk2_ardour/po/it.po
+++ b/gtk2_ardour/po/it.po
@@ -3,11 +3,12 @@
#
# Filippo Pappalardo <filippo@email.it>, 2003.
# Raffaele Morelli <raffaele.morelli@gmail.com>, 2011.
+#: engine_dialog.cc:558
msgid ""
msgstr ""
"Project-Id-Version: ardour 0.354.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-11-05 11:11-0500\n"
+"POT-Creation-Date: 2014-09-04 19:07-0400\n"
"PO-Revision-Date: 2011-11-05 12:43+0100\n"
"Last-Translator: \n"
"Language-Team: American English <kde-i18n-doc@kde.org>\n"
@@ -18,231 +19,235 @@ msgstr ""
"X-Generator: Lokalize 1.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: about.cc:122
+#: about.cc:120
msgid "Brian Ahr"
msgstr ""
-#: about.cc:123
+#: about.cc:121
msgid "John Anderson"
msgstr ""
-#: about.cc:124
+#: about.cc:122
msgid "Marcus Andersson"
msgstr ""
-#: about.cc:125
+#: about.cc:123
msgid "Nedko Arnaudov"
msgstr ""
-#: about.cc:126
+#: about.cc:124
msgid "Hans Baier"
msgstr ""
-#: about.cc:127
+#: about.cc:125
msgid "Ben Bell"
msgstr ""
-#: about.cc:128
+#: about.cc:126
msgid "Sakari Bergen"
msgstr ""
-#: about.cc:129
+#: about.cc:127
+msgid "Christian Borss"
+msgstr ""
+
+#: about.cc:128
msgid "Chris Cannam"
msgstr ""
-#: about.cc:130
+#: about.cc:129
msgid "Jesse Chappell"
msgstr ""
-#: about.cc:131
+#: about.cc:130
msgid "Thomas Charbonnel"
msgstr ""
-#: about.cc:132
+#: about.cc:131
msgid "Sam Chessman"
msgstr ""
-#: about.cc:133
+#: about.cc:132
msgid "André Colomb"
msgstr ""
-#: about.cc:134
+#: about.cc:133
msgid "Paul Davis"
msgstr ""
-#: about.cc:135
+#: about.cc:134
msgid "Gerard van Dongen"
msgstr ""
-#: about.cc:136
+#: about.cc:135
msgid "Colin Fletcher"
msgstr ""
-#: about.cc:137
+#: about.cc:136
msgid "Dave Flick"
msgstr ""
-#: about.cc:138
+#: about.cc:137
msgid "Hans Fugal"
msgstr ""
-#: about.cc:139
+#: about.cc:138
msgid "Robin Gareus"
msgstr ""
-#: about.cc:140
+#: about.cc:139
msgid "Christopher George"
msgstr ""
-#: about.cc:141
+#: about.cc:140
msgid "Chris Goddard"
msgstr ""
-#: about.cc:142
+#: about.cc:141
msgid "J. Abelardo Gutierrez"
msgstr ""
-#: about.cc:143
+#: about.cc:142
msgid "Jeremy Hall"
msgstr ""
-#: about.cc:144
+#: about.cc:143
msgid "Audun Halland"
msgstr ""
-#: about.cc:145
+#: about.cc:144
msgid "David Halter"
msgstr ""
-#: about.cc:146
+#: about.cc:145
msgid "Steve Harris"
msgstr ""
-#: about.cc:147
+#: about.cc:146
msgid "Melvin Ray Herr"
msgstr ""
-#: about.cc:148
+#: about.cc:147
msgid "Carl Hetherington"
msgstr ""
-#: about.cc:149
+#: about.cc:148
msgid "Rob Holland"
msgstr ""
-#: about.cc:150
+#: about.cc:149
msgid "Robert Jordens"
msgstr ""
-#: about.cc:151
+#: about.cc:150
msgid "Stefan Kersten"
msgstr ""
-#: about.cc:152
+#: about.cc:151
msgid "Armand Klenk"
msgstr ""
-#: about.cc:153
+#: about.cc:152
msgid "Julien de Kozak"
msgstr ""
-#: about.cc:154
+#: about.cc:153
msgid "Matt Krai"
msgstr ""
-#: about.cc:155
+#: about.cc:154
msgid "Nick Lanham"
msgstr ""
-#: about.cc:156
+#: about.cc:155
msgid "Colin Law"
msgstr ""
-#: about.cc:157
+#: about.cc:156
msgid "Joshua Leach"
msgstr ""
-#: about.cc:158
+#: about.cc:157
msgid "Ben Loftis"
msgstr ""
-#: about.cc:159
+#: about.cc:158
msgid "Nick Mainsbridge"
msgstr ""
-#: about.cc:160
+#: about.cc:159
msgid "Tim Mayberry"
msgstr ""
-#: about.cc:161
+#: about.cc:160
msgid "Doug Mclain"
msgstr ""
-#: about.cc:162
+#: about.cc:161
msgid "Jack O'Quin"
msgstr ""
-#: about.cc:163
+#: about.cc:162
msgid "Nimal Ratnayake"
msgstr ""
-#: about.cc:164
+#: about.cc:163
msgid "David Robillard"
msgstr ""
-#: about.cc:165
+#: about.cc:164
msgid "Taybin Rutkin"
msgstr ""
-#: about.cc:166
+#: about.cc:165
msgid "Andreas Ruge"
msgstr ""
-#: about.cc:167
+#: about.cc:166
msgid "Sampo Savolainen"
msgstr ""
-#: about.cc:168
+#: about.cc:167
msgid "Rodrigo Severo"
msgstr ""
-#: about.cc:169
+#: about.cc:168
msgid "Per Sigmond"
msgstr ""
-#: about.cc:170
+#: about.cc:169
msgid "Lincoln Spiteri"
msgstr ""
-#: about.cc:171
+#: about.cc:170
msgid "Mike Start"
msgstr ""
-#: about.cc:172
+#: about.cc:171
msgid "Mark Stewart"
msgstr ""
-#: about.cc:173
+#: about.cc:172
msgid "Roland Stigge"
msgstr ""
-#: about.cc:174
+#: about.cc:173
msgid "Petter Sundlöf"
msgstr ""
-#: about.cc:175
+#: about.cc:174
msgid "Mike Täht"
msgstr ""
-#: about.cc:176
+#: about.cc:175
msgid "Roy Vegard"
msgstr ""
-#: about.cc:177
+#: about.cc:176
msgid "Thorsten Wilms"
msgstr ""
-#: about.cc:182
+#: about.cc:181
msgid ""
"French:\n"
"\tAlain Fréhel <alain.frehel@free.fr>\n"
@@ -251,7 +256,7 @@ msgid ""
"\tRomain Arnaud <roming22@gmail.com>\n"
msgstr ""
-#: about.cc:183
+#: about.cc:182
msgid ""
"German:\n"
"\tKarsten Petersen <kapet@kapet.de>\n"
@@ -263,189 +268,190 @@ msgid ""
"\tRobin Gloster <robin@loc-com.de>\n"
msgstr ""
-#: about.cc:190
+#: about.cc:189
msgid ""
"Italian:\n"
"\tFilippo Pappalardo <filippo@email.it>\n"
"\tRaffaele Morelli <raffaele.morelli@gmail.com>\n"
msgstr ""
-#: about.cc:191
+#: about.cc:190
msgid ""
"Portuguese:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
msgstr ""
-#: about.cc:192
+#: about.cc:191
msgid ""
"Brazilian Portuguese:\n"
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
"\tChris Ross <chris@tebibyte.org>\n"
msgstr ""
-#: about.cc:194
+#: about.cc:193
msgid ""
"Spanish:\n"
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
"\tPablo Fernández <pablo.fbus@gmail.com>\n"
msgstr ""
-#: about.cc:195
+#: about.cc:194
msgid ""
"Russian:\n"
"\t Igor Blinov <pitstop@nm.ru>\n"
"\tAlexandre Prokoudine <alexandre.prokoudine@gmail.com>\n"
msgstr ""
-#: about.cc:197
+#: about.cc:196
msgid ""
"Greek:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
msgstr ""
-#: about.cc:198
+#: about.cc:197
msgid ""
"Swedish:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
msgstr ""
-#: about.cc:199
+#: about.cc:198
msgid ""
"Polish:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
msgstr ""
-#: about.cc:200
+#: about.cc:199
msgid ""
"Czech:\n"
"\t Pavel Fric <pavelfric@seznam.cz>\n"
msgstr ""
-#: about.cc:201
+#: about.cc:200
msgid ""
"Norwegian:\n"
"\t Eivind Ødegård\n"
msgstr ""
-#: about.cc:202
+#: about.cc:201
msgid ""
"Chinese:\n"
"\t Rui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
msgstr ""
-#: about.cc:580
+#: about.cc:581
msgid "Copyright (C) 1999-2013 Paul Davis\n"
msgstr ""
-#: about.cc:584
+#: about.cc:585
msgid "http://ardour.org/"
msgstr ""
-#: about.cc:585
+#: about.cc:586
msgid ""
"%1\n"
"(built from revision %2)"
msgstr ""
-#: about.cc:589
+#: about.cc:590
msgid "Config"
msgstr "Configurazione "
-#: actions.cc:85
+#: actions.cc:84
msgid "Loading menus from %1"
msgstr "Inizializzazione menù da %1"
-#: actions.cc:88 actions.cc:89
-msgid "badly formatted UI definition file: %1"
-msgstr "Errore nel file di definizione della UI: %1"
+#: actions.cc:87 actions.cc:88
+msgid "badly formatted menu definition file: %1"
+msgstr ""
-#: actions.cc:91
+#: actions.cc:90
msgid "%1 menu definition file not found"
msgstr "%1 file di definizione del menù mancante"
-#: actions.cc:95 actions.cc:96
-msgid "%1 will not work without a valid ardour.menus file"
-msgstr "%1 non può essere avviato senza un file ardour.menù valido"
+#: actions.cc:94 actions.cc:95
+msgid "%1 will not work without a valid menu definition file"
+msgstr ""
-#: add_route_dialog.cc:53 route_params_ui.cc:500
+#: add_route_dialog.cc:54 route_params_ui.cc:523
msgid "Add Track or Bus"
msgstr "Aggiungi Traccia/Bus"
-#: add_route_dialog.cc:56
+#: add_route_dialog.cc:57
msgid "Configuration:"
msgstr "Configurazione:"
-#: add_route_dialog.cc:57
+#: add_route_dialog.cc:58
msgid "Track mode:"
msgstr "Modalità traccia:"
-#: add_route_dialog.cc:58
+#: add_route_dialog.cc:59
msgid "Instrument:"
msgstr ""
-#: add_route_dialog.cc:76
+#: add_route_dialog.cc:78
msgid "Audio Tracks"
msgstr ""
-#: add_route_dialog.cc:77
+#: add_route_dialog.cc:79
msgid "MIDI Tracks"
msgstr ""
-#: add_route_dialog.cc:78
+#: add_route_dialog.cc:80
msgid "Audio+MIDI Tracks"
msgstr ""
-#: add_route_dialog.cc:79
+#: add_route_dialog.cc:81
msgid "Busses"
msgstr ""
-#: add_route_dialog.cc:101
+#: add_route_dialog.cc:103
msgid "Add:"
msgstr "Aggiungi:"
-#: add_route_dialog.cc:114 time_fx_dialog.cc:91 add_video_dialog.cc:150
-#: video_server_dialog.cc:112
+#: add_route_dialog.cc:116 time_fx_dialog.cc:91 add_video_dialog.cc:135
+#: video_server_dialog.cc:151
msgid "<b>Options</b>"
msgstr "Opzioni"
-#: add_route_dialog.cc:124 bundle_manager.cc:192 region_editor.cc:50
-#: route_group_dialog.cc:65
+#: add_route_dialog.cc:126 bundle_manager.cc:193 region_editor.cc:49
+#: route_group_dialog.cc:71
msgid "Name:"
msgstr "Nome:"
-#: add_route_dialog.cc:154
+#: add_route_dialog.cc:156
msgid "Group:"
msgstr "Gruppo:"
-#: add_route_dialog.cc:215 add_route_dialog.cc:224 add_route_dialog.cc:298
-#: ardour_ui_ed.cc:476 engine_dialog.cc:236 rc_option_editor.cc:1446
-#: rc_option_editor.cc:1448 rc_option_editor.cc:1450 rc_option_editor.cc:1466
-#: rc_option_editor.cc:1468 rc_option_editor.cc:1476 rc_option_editor.cc:1478
-#: rc_option_editor.cc:1496 rc_option_editor.cc:1509 rc_option_editor.cc:1511
-#: rc_option_editor.cc:1513 rc_option_editor.cc:1544 rc_option_editor.cc:1546
-#: rc_option_editor.cc:1548 rc_option_editor.cc:1556 rc_option_editor.cc:1564
-#: rc_option_editor.cc:1572
+#: add_route_dialog.cc:217 add_route_dialog.cc:226 add_route_dialog.cc:300
+#: ardour_ui_ed.cc:523 engine_dialog.cc:235 rc_option_editor.cc:1710
+#: rc_option_editor.cc:1712 rc_option_editor.cc:1714 rc_option_editor.cc:1732
+#: rc_option_editor.cc:1734 rc_option_editor.cc:1742 rc_option_editor.cc:1744
+#: rc_option_editor.cc:1762 rc_option_editor.cc:1775 rc_option_editor.cc:1777
+#: rc_option_editor.cc:1779 rc_option_editor.cc:1810 rc_option_editor.cc:1812
+#: rc_option_editor.cc:1814 rc_option_editor.cc:1822 rc_option_editor.cc:1830
+#: rc_option_editor.cc:1832 rc_option_editor.cc:1840
msgid "Audio"
msgstr "Audio"
-#: add_route_dialog.cc:216 add_route_dialog.cc:227 add_route_dialog.cc:299
-#: editor_actions.cc:105 missing_file_dialog.cc:55 rc_option_editor.cc:1695
-#: rc_option_editor.cc:1703 rc_option_editor.cc:1711 rc_option_editor.cc:1720
-#: rc_option_editor.cc:1728 rc_option_editor.cc:1736 rc_option_editor.cc:1744
-#: rc_option_editor.cc:1753 rc_option_editor.cc:1762 rc_option_editor.cc:1771
-#: rc_option_editor.cc:1779 rc_option_editor.cc:1787
+#: add_route_dialog.cc:218 add_route_dialog.cc:229 add_route_dialog.cc:301
+#: editor_actions.cc:109 engine_dialog.cc:237 missing_file_dialog.cc:56
+#: rc_option_editor.cc:1975 rc_option_editor.cc:1983 rc_option_editor.cc:1991
+#: rc_option_editor.cc:2000 rc_option_editor.cc:2008 rc_option_editor.cc:2016
+#: rc_option_editor.cc:2024 rc_option_editor.cc:2033 rc_option_editor.cc:2042
+#: rc_option_editor.cc:2051 rc_option_editor.cc:2059 rc_option_editor.cc:2067
+#: rc_option_editor.cc:2075 rc_option_editor.cc:2098
msgid "MIDI"
msgstr "MIDI"
-#: add_route_dialog.cc:217 add_route_dialog.cc:230 add_route_dialog.cc:300
+#: add_route_dialog.cc:219 add_route_dialog.cc:232 add_route_dialog.cc:302
msgid "Audio+MIDI"
msgstr ""
-#: add_route_dialog.cc:218 add_route_dialog.cc:233 add_route_dialog.cc:301
+#: add_route_dialog.cc:220 add_route_dialog.cc:235 add_route_dialog.cc:303
msgid "Bus"
msgstr "Bus"
-#: add_route_dialog.cc:260
+#: add_route_dialog.cc:262
msgid ""
"Audio+MIDI tracks are intended for use <b>ONLY</b> with plugins that use "
"both audio and MIDI input data\n"
@@ -454,64 +460,64 @@ msgid ""
"track instead."
msgstr ""
-#: add_route_dialog.cc:319 add_route_dialog.cc:338 editor_actions.cc:385
-#: editor_rulers.cc:377 time_axis_view.cc:1305
+#: add_route_dialog.cc:321 add_route_dialog.cc:340 editor_actions.cc:420
+#: editor_rulers.cc:251 time_axis_view.cc:1339
msgid "Normal"
msgstr "Normale"
-#: add_route_dialog.cc:322 add_route_dialog.cc:340
+#: add_route_dialog.cc:324 add_route_dialog.cc:342
msgid "Non Layered"
msgstr "Non stratificato"
-#: add_route_dialog.cc:323 add_route_dialog.cc:342
+#: add_route_dialog.cc:325 add_route_dialog.cc:344
msgid "Tape"
msgstr "Nastro"
-#: add_route_dialog.cc:423
+#: add_route_dialog.cc:425 monitor_section.cc:291
msgid "Mono"
msgstr "Mono"
-#: add_route_dialog.cc:427
+#: add_route_dialog.cc:429
msgid "Stereo"
msgstr "Stereo"
-#: add_route_dialog.cc:451
+#: add_route_dialog.cc:453
msgid "3 Channel"
msgstr "3 canali"
-#: add_route_dialog.cc:455
+#: add_route_dialog.cc:457
msgid "4 Channel"
msgstr "4 canali"
-#: add_route_dialog.cc:459
+#: add_route_dialog.cc:461
msgid "5 Channel"
msgstr "5 canali"
-#: add_route_dialog.cc:463
+#: add_route_dialog.cc:465
msgid "6 Channel"
msgstr "6 canali"
-#: add_route_dialog.cc:467
+#: add_route_dialog.cc:469
msgid "8 Channel"
msgstr "8 canali"
-#: add_route_dialog.cc:471
+#: add_route_dialog.cc:473
msgid "12 Channel"
msgstr "12 canli"
-#: add_route_dialog.cc:475 mixer_strip.cc:2131
+#: add_route_dialog.cc:477 mixer_strip.cc:1791 mixer_strip.cc:2199
msgid "Custom"
msgstr "Personalizzato"
-#: add_route_dialog.cc:508 add_route_dialog.cc:524 route_group_menu.cc:81
+#: add_route_dialog.cc:510 add_route_dialog.cc:526 route_group_menu.cc:81
msgid "New Group..."
msgstr "Nuovo Gruppo"
-#: add_route_dialog.cc:512 route_group_menu.cc:85
+#: add_route_dialog.cc:514 route_group_menu.cc:85
msgid "No Group"
msgstr "Nessun Gruppo"
-#: add_route_dialog.cc:588
+#: add_route_dialog.cc:590
msgid "-none-"
msgstr ""
@@ -534,7 +540,7 @@ msgstr ""
"\n"
"Selezionare il percorso dal quale si vuole importare il file."
-#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:45
+#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:46
msgid "Done"
msgstr "Fatto"
@@ -574,17 +580,17 @@ msgstr "Normalizza i valori"
msgid "FFT analysis window"
msgstr "Finestra di analisi FFT "
-#: analysis_window.cc:60 editor.cc:1857
+#: analysis_window.cc:60 editor.cc:1776
msgid "Spectral Analysis"
msgstr "Analisi Spettrale"
-#: analysis_window.cc:67 editor_actions.cc:138 export_channel_selector.cc:557
+#: analysis_window.cc:67 editor_actions.cc:142 export_channel_selector.cc:557
#: session_metadata_dialog.cc:546
msgid "Track"
msgstr "Traccia"
-#: analysis_window.cc:68 editor_actions.cc:616 mixer_ui.cc:125
-#: mixer_ui.cc:1795
+#: analysis_window.cc:68 editor_actions.cc:658 mixer_ui.cc:130
+#: mixer_ui.cc:1830
msgid "Show"
msgstr "Mostra"
@@ -592,90 +598,96 @@ msgstr "Mostra"
msgid "Re-analyze data"
msgstr "Esegui di nuovo l'analisi"
-#: ardour_button.cc:704
+#: ardour_button.cc:810
msgid "button cannot watch state of non-existing Controllable\n"
msgstr ""
-#: ardour_ui.cc:180
-msgid "audition"
+#: ardour_button.cc:1024
+msgid "ABCDEFGHIJLKMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
msgstr ""
-#: ardour_ui.cc:181
-msgid "solo"
-msgstr ""
+#: ardour_ui.cc:194 editor_actions.cc:652 region_editor.cc:50
+msgid "Audition"
+msgstr "Ascolto"
+
+#: ardour_ui.cc:195 editor_actions.cc:136 mixer_strip.cc:1971
+#: rc_option_editor.cc:1850 route_time_axis.cc:252 route_time_axis.cc:2566
+msgid "Solo"
+msgstr "Solo"
-#: ardour_ui.cc:182
-msgid "feedback"
+#: ardour_ui.cc:196 rc_option_editor.cc:718
+msgid "Feedback"
msgstr ""
-#: ardour_ui.cc:187 speaker_dialog.cc:36
+#: ardour_ui.cc:201 speaker_dialog.cc:36
msgid "Speaker Configuration"
msgstr "Configurazione altoparlanti"
-#: ardour_ui.cc:188 theme_manager.cc:56 theme_manager.cc:64
+#: ardour_ui.cc:202 theme_manager.cc:62 theme_manager.cc:77
msgid "Theme Manager"
msgstr "Gestore dei temi"
-#: ardour_ui.cc:189 keyeditor.cc:53
+#: ardour_ui.cc:203 keyeditor.cc:53
msgid "Key Bindings"
msgstr "Scorciatoie da tastiera"
-#: ardour_ui.cc:190
+#: ardour_ui.cc:204
msgid "Preferences"
msgstr "Preferenze"
-#: ardour_ui.cc:191 ardour_ui.cc:197
+#: ardour_ui.cc:205 ardour_ui.cc:211
msgid "Add Tracks/Busses"
msgstr ""
-#: ardour_ui.cc:192
+#: ardour_ui.cc:206
msgid "About"
msgstr "Circa"
-#: ardour_ui.cc:193 location_ui.cc:1146
+#: ardour_ui.cc:207 location_ui.cc:1148 session_option_editor.cc:189
+#: session_option_editor.cc:195 session_option_editor.cc:202
msgid "Locations"
msgstr "Posizioni"
-#: ardour_ui.cc:194 route_params_ui.cc:58 route_params_ui.cc:606
+#: ardour_ui.cc:208 route_params_ui.cc:58 route_params_ui.cc:629
msgid "Tracks and Busses"
msgstr "Tracce e Bus"
-#: ardour_ui.cc:195 engine_dialog.cc:67
+#: ardour_ui.cc:209 engine_dialog.cc:69
msgid "Audio/MIDI Setup"
msgstr ""
-#: ardour_ui.cc:196
+#: ardour_ui.cc:210
msgid "Properties"
msgstr "Proprietà"
-#: ardour_ui.cc:198 bundle_manager.cc:263
+#: ardour_ui.cc:212 bundle_manager.cc:264
msgid "Bundle Manager"
msgstr "Gestore dei raggruppamenti"
-#: ardour_ui.cc:199 big_clock_window.cc:35
+#: ardour_ui.cc:213 big_clock_window.cc:37
msgid "Big Clock"
msgstr "Orologio grande"
-#: ardour_ui.cc:200
+#: ardour_ui.cc:214
msgid "Audio Connections"
msgstr ""
-#: ardour_ui.cc:201
+#: ardour_ui.cc:215
msgid "MIDI Connections"
msgstr ""
-#: ardour_ui.cc:203
+#: ardour_ui.cc:217
msgid "Errors"
msgstr "Errori"
-#: ardour_ui.cc:436
+#: ardour_ui.cc:461
msgid ""
"The audio backend was shutdown because:\n"
"\n"
"%1"
msgstr ""
-#: ardour_ui.cc:438
+#: ardour_ui.cc:463
msgid ""
"The audio backend has either been shutdown or it\n"
"disconnected %1 because %1\n"
@@ -683,27 +695,27 @@ msgid ""
"the audio backend and save the session."
msgstr ""
-#: ardour_ui.cc:758
+#: ardour_ui.cc:781
msgid "NSM server did not announce itself"
msgstr ""
-#: ardour_ui.cc:771
+#: ardour_ui.cc:794
msgid "NSM: no client ID provided"
msgstr ""
-#: ardour_ui.cc:778
+#: ardour_ui.cc:801
msgid "NSM: no session created"
msgstr ""
-#: ardour_ui.cc:801
+#: ardour_ui.cc:824
msgid "NSM: initialization failed"
msgstr ""
-#: ardour_ui.cc:840 startup.cc:379
+#: ardour_ui.cc:864 startup.cc:380
msgid "%1 is ready for use"
msgstr "%1 è pronto."
-#: ardour_ui.cc:882
+#: ardour_ui.cc:906
msgid ""
"WARNING: Your system has a limit for maximum amount of locked memory. This "
"might cause %1 to run out of memory before your system runs out of memory. \n"
@@ -712,23 +724,23 @@ msgid ""
"controlled by %2"
msgstr ""
-#: ardour_ui.cc:899
+#: ardour_ui.cc:923
msgid "Do not show this window again"
msgstr "Non mostrare di nuovo"
-#: ardour_ui.cc:943
+#: ardour_ui.cc:967
msgid "Don't quit"
msgstr "Non uscire"
-#: ardour_ui.cc:944
+#: ardour_ui.cc:968
msgid "Just quit"
msgstr "Esci e basta"
-#: ardour_ui.cc:945
+#: ardour_ui.cc:969
msgid "Save and quit"
msgstr "Salva ed esci"
-#: ardour_ui.cc:955
+#: ardour_ui.cc:979
msgid ""
"%1 was unable to save your session.\n"
"\n"
@@ -737,15 +749,11 @@ msgid ""
"\"Just quit\" option."
msgstr ""
-#: ardour_ui.cc:986
-msgid "Please wait while %1 cleans up..."
-msgstr ""
-
-#: ardour_ui.cc:1004
+#: ardour_ui.cc:1030
msgid "Unsaved Session"
msgstr "Sessione non salvata"
-#: ardour_ui.cc:1025
+#: ardour_ui.cc:1051
msgid ""
"The session \"%1\"\n"
"has not been saved.\n"
@@ -763,7 +771,7 @@ msgstr ""
"\n"
"Cosa vuoi fare?"
-#: ardour_ui.cc:1028
+#: ardour_ui.cc:1054
msgid ""
"The snapshot \"%1\"\n"
"has not been saved.\n"
@@ -781,75 +789,75 @@ msgstr ""
"\n"
"Cosa vuoi fare?"
-#: ardour_ui.cc:1042
+#: ardour_ui.cc:1068
msgid "Prompter"
msgstr "Suggeritore"
-#: ardour_ui.cc:1128 ardour_ui.cc:1136
+#: ardour_ui.cc:1182 ardour_ui.cc:1190
#, c-format
msgid "Audio: <span foreground=\"red\">none</span>"
msgstr ""
-#: ardour_ui.cc:1140
+#: ardour_ui.cc:1194
#, c-format
msgid "Audio: <span foreground=\"green\">%.1f kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1144
+#: ardour_ui.cc:1198
#, c-format
msgid "Audio: <span foreground=\"green\">%<PRId64> kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1162 export_video_dialog.cc:67
+#: ardour_ui.cc:1216 export_video_dialog.cc:68
msgid "File:"
msgstr ""
-#: ardour_ui.cc:1166
+#: ardour_ui.cc:1220
msgid "BWF"
msgstr ""
-#: ardour_ui.cc:1169
+#: ardour_ui.cc:1223
msgid "WAV"
msgstr ""
-#: ardour_ui.cc:1172
+#: ardour_ui.cc:1226
msgid "WAV64"
msgstr ""
-#: ardour_ui.cc:1175 session_option_editor.cc:197
+#: ardour_ui.cc:1229 session_option_editor.cc:185
msgid "CAF"
msgstr ""
-#: ardour_ui.cc:1178
+#: ardour_ui.cc:1232
msgid "AIFF"
msgstr ""
-#: ardour_ui.cc:1181
+#: ardour_ui.cc:1235
msgid "iXML"
msgstr ""
-#: ardour_ui.cc:1184
+#: ardour_ui.cc:1238
msgid "RF64"
msgstr ""
-#: ardour_ui.cc:1192
+#: ardour_ui.cc:1246
msgid "32-float"
msgstr ""
-#: ardour_ui.cc:1195
+#: ardour_ui.cc:1249
msgid "24-int"
msgstr ""
-#: ardour_ui.cc:1198
+#: ardour_ui.cc:1252
msgid "16-int"
msgstr ""
-#: ardour_ui.cc:1217
+#: ardour_ui.cc:1271
#, c-format
msgid "DSP: <span foreground=\"%s\">%5.1f%%</span>"
msgstr ""
-#: ardour_ui.cc:1236
+#: ardour_ui.cc:1290
#, c-format
msgid ""
"Buffers: <span foreground=\"green\">p:</span><span foreground=\"%s\">"
@@ -857,159 +865,159 @@ msgid ""
"\">%<PRIu32>%%</span>"
msgstr ""
-#: ardour_ui.cc:1277
+#: ardour_ui.cc:1331
msgid "Disk: <span foreground=\"green\">Unknown</span>"
msgstr ""
-#: ardour_ui.cc:1279
+#: ardour_ui.cc:1333
msgid "Disk: <span foreground=\"green\">24hrs+</span>"
msgstr ""
-#: ardour_ui.cc:1297
+#: ardour_ui.cc:1351
msgid "Disk: <span foreground=\"green\">&gt;24 hrs</span>"
msgstr ""
-#: ardour_ui.cc:1308
+#: ardour_ui.cc:1362
#, c-format
msgid "Disk: <span foreground=\"%s\">%02dh:%02dm:%02ds</span>"
msgstr ""
-#: ardour_ui.cc:1334
+#: ardour_ui.cc:1388
#, c-format
msgid "Timecode|TC: <span foreground=\"%s\">%s</span>"
msgstr ""
-#: ardour_ui.cc:1451 ardour_ui.cc:1460 session_dialog.cc:322
-#: session_dialog.cc:327
+#: ardour_ui.cc:1509 ardour_ui.cc:1518 session_dialog.cc:326
+#: session_dialog.cc:331
msgid "Recent Sessions"
msgstr "Sessioni recenti"
-#: ardour_ui.cc:1539
+#: ardour_ui.cc:1597
msgid ""
"%1 is not connected to any audio backend.\n"
"You cannot open or close sessions in this condition"
msgstr ""
-#: ardour_ui.cc:1563
+#: ardour_ui.cc:1621
msgid "Open Session"
msgstr "Apri sessione"
-#: ardour_ui.cc:1588 session_dialog.cc:353 session_import_dialog.cc:169
+#: ardour_ui.cc:1646 session_dialog.cc:357 session_import_dialog.cc:169
#: session_metadata_dialog.cc:729
msgid "%1 sessions"
msgstr "sessioni %1"
-#: ardour_ui.cc:1625
+#: ardour_ui.cc:1683
msgid "You cannot add a track without a session already loaded."
msgstr ""
"Non si può aggiungere una traccia senza prima aver caricato una sessione."
-#: ardour_ui.cc:1633
+#: ardour_ui.cc:1691
msgid "could not create %1 new mixed track"
msgid_plural "could not create %1 new mixed tracks"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1639 ardour_ui.cc:1700
+#: ardour_ui.cc:1697 ardour_ui.cc:1758
msgid ""
-"There are insufficient JACK ports available\n"
+"There are insufficient ports available\n"
"to create a new track or bus.\n"
"You should save %1, exit and\n"
-"restart JACK with more ports."
+"restart with more ports."
msgstr ""
-"Non ci sono porte JACK sufficenti\n"
-"per creare una nuova traccia o bus.\n"
-"Dovresti salvare %1, uscire e \n"
-"avviare di nuovo JACK con più porte."
-#: ardour_ui.cc:1674
+#: ardour_ui.cc:1732
msgid "You cannot add a track or bus without a session already loaded."
msgstr ""
"Non si può aggiungere una traccia o un bus senza prima aver caricato una "
"sessione."
-#: ardour_ui.cc:1683
+#: ardour_ui.cc:1741
msgid "could not create %1 new audio track"
msgid_plural "could not create %1 new audio tracks"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1692
+#: ardour_ui.cc:1750
msgid "could not create %1 new audio bus"
msgid_plural "could not create %1 new audio busses"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1816
+#: ardour_ui.cc:1903
msgid ""
"Please create one or more tracks before trying to record.\n"
"You can do this with the \"Add Track or Bus\" option in the Session menu."
msgstr ""
-#: ardour_ui.cc:2193
+#: ardour_ui.cc:2312
+msgid "Save as..."
+msgstr ""
+
+#: ardour_ui.cc:2313 ardour_ui.cc:2392
+msgid "New session name"
+msgstr ""
+
+#: ardour_ui.cc:2315
msgid "Take Snapshot"
msgstr "Crea istantanea"
-#: ardour_ui.cc:2194
+#: ardour_ui.cc:2316
msgid "Name of new snapshot"
msgstr "Nome della nuova istantanea"
-#: ardour_ui.cc:2218
+#: ardour_ui.cc:2341
msgid ""
"To ensure compatibility with various systems\n"
"snapshot names may not contain a '%1' character"
msgstr ""
-#: ardour_ui.cc:2230
+#: ardour_ui.cc:2353
msgid "Confirm Snapshot Overwrite"
msgstr "Conferma sovrascrittura istantanea"
-#: ardour_ui.cc:2231
+#: ardour_ui.cc:2354
msgid "A snapshot already exists with that name. Do you want to overwrite it?"
msgstr "Esiste già un'istantanea con questo nome. Vuoi sovrascriverla?"
-#: ardour_ui.cc:2234 utils_videotl.cc:67
+#: ardour_ui.cc:2357 utils_videotl.cc:67
msgid "Overwrite"
msgstr "Sovrascrivi"
-#: ardour_ui.cc:2268
+#: ardour_ui.cc:2391
msgid "Rename Session"
msgstr ""
-#: ardour_ui.cc:2269
-msgid "New session name"
-msgstr ""
-
-#: ardour_ui.cc:2283 ardour_ui.cc:2684 ardour_ui.cc:2722
+#: ardour_ui.cc:2406 ardour_ui.cc:2814 ardour_ui.cc:2852
msgid ""
"To ensure compatibility with various systems\n"
"session names may not contain a '%1' character"
msgstr ""
-#: ardour_ui.cc:2291
+#: ardour_ui.cc:2414
msgid ""
"That name is already in use by another directory/folder. Please try again."
msgstr ""
-#: ardour_ui.cc:2300
+#: ardour_ui.cc:2423
msgid ""
"Renaming this session failed.\n"
"Things could be seriously messed up at this point"
msgstr ""
-#: ardour_ui.cc:2411
+#: ardour_ui.cc:2534
msgid "Save Template"
msgstr "Salva Modello"
-#: ardour_ui.cc:2412
+#: ardour_ui.cc:2535
msgid "Name for template:"
msgstr "Nome per il modello:"
-#: ardour_ui.cc:2413
+#: ardour_ui.cc:2536
msgid "-template"
msgstr "-modello"
-#: ardour_ui.cc:2451
+#: ardour_ui.cc:2574
msgid ""
"This session\n"
"%1\n"
@@ -1019,59 +1027,59 @@ msgstr ""
"%1\n"
"esiste già. Vuoi aprirla?"
-#: ardour_ui.cc:2461
+#: ardour_ui.cc:2584
msgid "Open Existing Session"
msgstr "Apri una sessione"
-#: ardour_ui.cc:2712
+#: ardour_ui.cc:2842
msgid "There is no existing session at \"%1\""
msgstr "Sessione inesistente in %1"
-#: ardour_ui.cc:2804
+#: ardour_ui.cc:2934
msgid "Please wait while %1 loads your session"
msgstr "Attendi mentre %1 carca la sessione"
-#: ardour_ui.cc:2819
+#: ardour_ui.cc:2949
msgid "Port Registration Error"
msgstr "Errore nella registrazione di porta"
-#: ardour_ui.cc:2820
+#: ardour_ui.cc:2950
msgid "Click the Close button to try again."
msgstr "Clicca su 'Chiudi' per provare di nuovo"
-#: ardour_ui.cc:2841
+#: ardour_ui.cc:2971
msgid "Session \"%1 (snapshot %2)\" did not load successfully"
msgstr "La sessione \"%1 (istantanea %2)\" non è stata caricata correttamente"
-#: ardour_ui.cc:2848
+#: ardour_ui.cc:2978
msgid "Loading Error"
msgstr "Errore di caricamento"
-#: ardour_ui.cc:2867
+#: ardour_ui.cc:2997
msgid ""
"This session has been opened in read-only mode.\n"
"\n"
"You will not be able to record or save."
msgstr ""
-#: ardour_ui.cc:2873
+#: ardour_ui.cc:3003
msgid "Read-only Session"
msgstr ""
-#: ardour_ui.cc:2931
+#: ardour_ui.cc:3069
msgid "Could not create session in \"%1\""
msgstr "Impossibile caricare la sessione \"%1\""
-#: ardour_ui.cc:3031
+#: ardour_ui.cc:3169
msgid "No files were ready for clean-up"
msgstr "Nessun file da pulire"
-#: ardour_ui.cc:3035 ardour_ui.cc:3045 ardour_ui.cc:3178 ardour_ui.cc:3185
-#: ardour_ui_ed.cc:104
+#: ardour_ui.cc:3173 ardour_ui.cc:3183 ardour_ui.cc:3316 ardour_ui.cc:3323
+#: ardour_ui_ed.cc:103
msgid "Clean-up"
msgstr "Pulisci"
-#: ardour_ui.cc:3036
+#: ardour_ui.cc:3174
msgid ""
"If this seems suprising, \n"
"check for any existing snapshots.\n"
@@ -1083,19 +1091,19 @@ msgstr ""
"Ci possono essere ancora istantanee con regioni\n"
"che necessitano di questi file."
-#: ardour_ui.cc:3095
+#: ardour_ui.cc:3233
msgid "kilo"
msgstr ""
-#: ardour_ui.cc:3098
+#: ardour_ui.cc:3236
msgid "mega"
msgstr ""
-#: ardour_ui.cc:3101
+#: ardour_ui.cc:3239
msgid "giga"
msgstr ""
-#: ardour_ui.cc:3106
+#: ardour_ui.cc:3244
msgid ""
"The following file was deleted from %2,\n"
"releasing %3 %4bytes of disk space"
@@ -1105,7 +1113,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:3113
+#: ardour_ui.cc:3251
msgid ""
"The following file was not in use and \n"
"has been moved to: %2\n"
@@ -1127,11 +1135,11 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:3173
+#: ardour_ui.cc:3311
msgid "Are you sure you want to clean-up?"
msgstr "Siete sicuri di voler ripulire?"
-#: ardour_ui.cc:3180
+#: ardour_ui.cc:3318
msgid ""
"Clean-up is a destructive operation.\n"
"ALL undo/redo information will be lost if you clean-up.\n"
@@ -1143,80 +1151,79 @@ msgstr ""
"La pulizia sposterà tutti i file inutilizzati \n"
"in una posizione \"morta\"."
-#: ardour_ui.cc:3188
+#: ardour_ui.cc:3326
msgid "CleanupDialog"
msgstr "DialogoRipulitura"
-#: ardour_ui.cc:3218
+#: ardour_ui.cc:3356
msgid "Cleaned Files"
msgstr "File ripuliti"
-#: ardour_ui.cc:3235
+#: ardour_ui.cc:3373
msgid "deleted file"
msgstr "File eliminato"
-#: ardour_ui.cc:3381
-msgid ""
-"Video-Server was not launched by Ardour. The request to stop it is ignored."
+#: ardour_ui.cc:3512
+msgid "Video-Server was not launched by %1. The request to stop it is ignored."
msgstr ""
-#: ardour_ui.cc:3385
+#: ardour_ui.cc:3516
msgid "Stop Video-Server"
msgstr ""
-#: ardour_ui.cc:3386
+#: ardour_ui.cc:3517
msgid "Do you really want to stop the Video Server?"
msgstr ""
-#: ardour_ui.cc:3389
+#: ardour_ui.cc:3520
msgid "Yes, Stop It"
msgstr ""
-#: ardour_ui.cc:3415
+#: ardour_ui.cc:3546
msgid "The Video Server is already started."
msgstr ""
-#: ardour_ui.cc:3417
+#: ardour_ui.cc:3548
msgid ""
"An external Video Server is configured and can be reached. Not starting a "
"new instance."
msgstr ""
-#: ardour_ui.cc:3425 ardour_ui.cc:3515
+#: ardour_ui.cc:3556 ardour_ui.cc:3655
msgid ""
"Could not connect to the Video Server. Start it or configure its access URL "
"in Edit -> Preferences."
msgstr ""
-#: ardour_ui.cc:3449
+#: ardour_ui.cc:3580
msgid "Specified docroot is not an existing directory."
msgstr ""
-#: ardour_ui.cc:3454
+#: ardour_ui.cc:3586 ardour_ui.cc:3592
msgid "Given Video Server is not an executable file."
msgstr ""
-#: ardour_ui.cc:3487
+#: ardour_ui.cc:3626
msgid "Cannot launch the video-server"
msgstr ""
-#: ardour_ui.cc:3496
+#: ardour_ui.cc:3636
msgid "Video-server was started but does not respond to requests..."
msgstr ""
-#: ardour_ui.cc:3541 editor_audio_import.cc:632
+#: ardour_ui.cc:3681 editor_audio_import.cc:628
msgid "could not open %1"
msgstr "impossibile aprire %1"
-#: ardour_ui.cc:3545
+#: ardour_ui.cc:3685
msgid "no video-file selected"
msgstr ""
-#: ardour_ui.cc:3717
+#: ardour_ui.cc:3858
msgid "Recording was stopped because your system could not keep up."
msgstr "La registazione è stata interrotta perche' il sistema non ha retto"
-#: ardour_ui.cc:3746
+#: ardour_ui.cc:3887
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1228,7 +1235,23 @@ msgstr ""
"Nello specifico, non riesce a scrivere i dati \n"
"con la velocità necessaria per le registrazioni.\n"
-#: ardour_ui.cc:3765
+#: ardour_ui.cc:3957
+msgid "Scanning for plugins"
+msgstr ""
+
+#: ardour_ui.cc:3959
+msgid "Cancel plugin scan"
+msgstr ""
+
+#: ardour_ui.cc:3968
+msgid "Stop Timeout"
+msgstr ""
+
+#: ardour_ui.cc:3975
+msgid "Scan Timeout"
+msgstr ""
+
+#: ardour_ui.cc:4016
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1240,11 +1263,11 @@ msgstr ""
"Nello specifico, non riesce a scrivere i dati \n"
"con la velocità necessaria per le registrazioni.\n"
-#: ardour_ui.cc:3805
+#: ardour_ui.cc:4056
msgid "Crash Recovery"
msgstr "Recupero dal crash"
-#: ardour_ui.cc:3806
+#: ardour_ui.cc:4057
msgid ""
"This session appears to have been in the\n"
"middle of recording when %1 or\n"
@@ -1255,42 +1278,42 @@ msgid ""
"what you would like to do.\n"
msgstr ""
-#: ardour_ui.cc:3818
+#: ardour_ui.cc:4069
msgid "Ignore crash data"
msgstr "Ignora i dati del crash"
-#: ardour_ui.cc:3819
+#: ardour_ui.cc:4070
msgid "Recover from crash"
msgstr "Recupero dai dati di crash"
-#: ardour_ui.cc:3839
+#: ardour_ui.cc:4090
msgid "Sample Rate Mismatch"
msgstr "Frequenza di campionamento discrepante"
-#: ardour_ui.cc:3840
+#: ardour_ui.cc:4091
msgid ""
"This session was created with a sample rate of %1 Hz, but\n"
"%2 is currently running at %3 Hz. If you load this session,\n"
"audio may be played at the wrong sample rate.\n"
msgstr ""
-#: ardour_ui.cc:3849
+#: ardour_ui.cc:4100
msgid "Do not load session"
msgstr "Non caricare la sessione"
-#: ardour_ui.cc:3850
+#: ardour_ui.cc:4101
msgid "Load session anyway"
msgstr "Apri comunque la sessione"
-#: ardour_ui.cc:3877
+#: ardour_ui.cc:4128
msgid "Could not disconnect from Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:3893 ardour_ui.cc:3896
+#: ardour_ui.cc:4144 ardour_ui.cc:4147
msgid "Could not reconnect to the Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:4172
+#: ardour_ui.cc:4431
msgid ""
"%4This is a session from an older version of %3%5\n"
"\n"
@@ -1305,69 +1328,69 @@ msgid ""
"From now on, use the -2000 version with older versions of %3"
msgstr ""
-#: ardour_ui2.cc:72
+#: ardour_ui2.cc:73
msgid "UI: cannot setup editor"
msgstr "UI: impossibile avviare l'editor"
-#: ardour_ui2.cc:77
+#: ardour_ui2.cc:78
msgid "UI: cannot setup mixer"
msgstr "IU: impossibile avviare il mixer"
-#: ardour_ui2.cc:82
+#: ardour_ui2.cc:83
msgid "UI: cannot setup meterbridge"
msgstr ""
-#: ardour_ui2.cc:130
+#: ardour_ui2.cc:131
msgid "Play from playhead"
msgstr "Suona dalla testina"
-#: ardour_ui2.cc:131
+#: ardour_ui2.cc:132
msgid "Stop playback"
msgstr "Interrompi la riproduzione"
-#: ardour_ui2.cc:132
+#: ardour_ui2.cc:133
msgid "Toggle record"
msgstr "Registra"
-#: ardour_ui2.cc:133
+#: ardour_ui2.cc:134
msgid "Play range/selection"
msgstr "Suona intervallo/selezione"
-#: ardour_ui2.cc:134
+#: ardour_ui2.cc:135
msgid "Go to start of session"
msgstr "Vai all'inizio della sessione"
-#: ardour_ui2.cc:135
+#: ardour_ui2.cc:136
msgid "Go to end of session"
msgstr "Vai alla fine della sessione"
-#: ardour_ui2.cc:136
+#: ardour_ui2.cc:137
msgid "Play loop range"
msgstr "Suona l'intervallo di ciclo"
-#: ardour_ui2.cc:137
+#: ardour_ui2.cc:138
msgid ""
"MIDI Panic\n"
"Send note off and reset controller messages on all MIDI channels"
msgstr ""
-#: ardour_ui2.cc:138
+#: ardour_ui2.cc:139
msgid "Return to last playback start when stopped"
msgstr "Ritorna al punto d'inizio una volta fermato"
-#: ardour_ui2.cc:139
+#: ardour_ui2.cc:140
msgid "Playhead follows Range Selections and Edits"
msgstr ""
-#: ardour_ui2.cc:140
+#: ardour_ui2.cc:141
msgid "Be sensible about input monitoring"
msgstr "Controlla accuratamente le entrate"
-#: ardour_ui2.cc:141
+#: ardour_ui2.cc:142
msgid "Enable/Disable audio click"
msgstr "Abilita/Disabilita il click audio"
-#: ardour_ui2.cc:142 monitor_section.cc:101
+#: ardour_ui2.cc:143 monitor_section.cc:112
msgid ""
"When active, something is soloed.\n"
"Click to de-solo everything"
@@ -1375,7 +1398,7 @@ msgstr ""
"Quando è attivo, qualcosa è in solo.\n"
"Clicca per ripristinare tutto."
-#: ardour_ui2.cc:143
+#: ardour_ui2.cc:144
msgid ""
"When active, auditioning is taking place\n"
"Click to stop the audition"
@@ -1383,11 +1406,11 @@ msgstr ""
"Quando è attivo, qualcosa è in ascolto\n"
"Clicca per ripristinare."
-#: ardour_ui2.cc:144
+#: ardour_ui2.cc:145
msgid "When active, there is a feedback loop."
msgstr ""
-#: ardour_ui2.cc:145
+#: ardour_ui2.cc:146
msgid ""
"<b>Primary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1395,7 +1418,7 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:146
+#: ardour_ui2.cc:147
msgid ""
"<b>Secondary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1403,361 +1426,418 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:147
-msgid "Reset Level Meter"
+#: ardour_ui2.cc:148
+msgid "Reset All Peak Indicators"
msgstr ""
-#: ardour_ui2.cc:179
+#: ardour_ui2.cc:180
msgid "[ERROR]: "
msgstr "[ERRORE]:"
-#: ardour_ui2.cc:181
+#: ardour_ui2.cc:182
msgid "[WARNING]: "
msgstr "[ATTENZIONE]:"
-#: ardour_ui2.cc:183
+#: ardour_ui2.cc:184
msgid "[INFO]: "
msgstr "[INFO]"
-#: ardour_ui2.cc:247 ardour_ui_ed.cc:344
+#: ardour_ui2.cc:248 ardour_ui_ed.cc:391
msgid "Auto Return"
msgstr ""
-#: ardour_ui2.cc:249 ardour_ui_ed.cc:347
+#: ardour_ui2.cc:250 ardour_ui_ed.cc:394
msgid "Follow Edits"
msgstr ""
-#: ardour_ui2.cc:628 rc_option_editor.cc:1002 rc_option_editor.cc:1020
-#: rc_option_editor.cc:1023 rc_option_editor.cc:1025 rc_option_editor.cc:1027
-#: rc_option_editor.cc:1035 rc_option_editor.cc:1043 rc_option_editor.cc:1045
-#: rc_option_editor.cc:1053 rc_option_editor.cc:1060 rc_option_editor.cc:1069
-#: rc_option_editor.cc:1071 rc_option_editor.cc:1073 rc_option_editor.cc:1081
-#: rc_option_editor.cc:1083 rc_option_editor.cc:1092
-#: session_option_editor.cc:234 session_option_editor.cc:236
-#: session_option_editor.cc:257 session_option_editor.cc:259
-#: session_option_editor.cc:261 session_option_editor.cc:268
+#: ardour_ui2.cc:651 rc_option_editor.cc:2172
+msgid "GUI"
+msgstr ""
+
+#: ardour_ui2.cc:668 rc_option_editor.cc:1242 rc_option_editor.cc:1260
+#: rc_option_editor.cc:1263 rc_option_editor.cc:1265 rc_option_editor.cc:1267
+#: rc_option_editor.cc:1275 rc_option_editor.cc:1283 rc_option_editor.cc:1285
+#: rc_option_editor.cc:1293 rc_option_editor.cc:1300 rc_option_editor.cc:1309
+#: rc_option_editor.cc:1311 rc_option_editor.cc:1313 rc_option_editor.cc:1321
+#: rc_option_editor.cc:1323 rc_option_editor.cc:1332
+#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:344 session_option_editor.cc:346
+#: session_option_editor.cc:348 session_option_editor.cc:355
+#: session_option_editor.cc:362 session_option_editor.cc:366
msgid "Misc"
msgstr "Varie"
-#: ardour_ui_dependents.cc:69
+#: ardour_ui_dependents.cc:75
msgid "Setup Editor"
msgstr "Prepara l'editor"
-#: ardour_ui_dependents.cc:71
+#: ardour_ui_dependents.cc:77
msgid "Setup Mixer"
msgstr "Prepara il mixer"
-#: ardour_ui_dependents.cc:77
+#: ardour_ui_dependents.cc:83
msgid "Reload Session History"
msgstr "Ricarica lo storico di sessione"
-#: ardour_ui_dialogs.cc:238
+#: ardour_ui_dialogs.cc:251
msgid "Don't close"
msgstr "Non uscire"
-#: ardour_ui_dialogs.cc:239
+#: ardour_ui_dialogs.cc:252
msgid "Just close"
msgstr "Chiudi e basta"
-#: ardour_ui_dialogs.cc:240
+#: ardour_ui_dialogs.cc:253
msgid "Save and close"
msgstr "Salva ed esci"
-#: ardour_ui_dialogs.cc:339
+#: ardour_ui_dialogs.cc:353
msgid "This screen is not tall enough to display the mixer window"
msgstr ""
-#: ardour_ui_ed.cc:103
+#: ardour_ui_ed.cc:102
msgid "Session"
msgstr "Sessione"
-#: ardour_ui_ed.cc:106 editor_actions.cc:134 editor_regions.cc:115
+#: ardour_ui_ed.cc:105 editor_actions.cc:138 editor_regions.cc:116
#: port_group.cc:458 session_option_editor.cc:82 session_option_editor.cc:89
msgid "Sync"
msgstr "Sincronizza"
-#: ardour_ui_ed.cc:107
+#: ardour_ui_ed.cc:106
msgid "Options"
msgstr "Opzioni"
-#: ardour_ui_ed.cc:108
+#: ardour_ui_ed.cc:107
msgid "Window"
msgstr "Finestra"
-#: ardour_ui_ed.cc:109
+#: ardour_ui_ed.cc:108
msgid "Help"
msgstr "Aiuto"
-#: ardour_ui_ed.cc:110
+#: ardour_ui_ed.cc:109
msgid "Misc. Shortcuts"
msgstr "Scorciatoie varie"
-#: ardour_ui_ed.cc:111
+#: ardour_ui_ed.cc:110
msgid "Audio File Format"
msgstr "Formato del file audio"
-#: ardour_ui_ed.cc:112
+#: ardour_ui_ed.cc:111
msgid "File Type"
msgstr "Tipo file"
-#: ardour_ui_ed.cc:113 export_format_dialog.cc:65
+#: ardour_ui_ed.cc:112 export_format_dialog.cc:67
msgid "Sample Format"
msgstr "Formato di campionamento"
-#: ardour_ui_ed.cc:114 rc_option_editor.cc:1814 rc_option_editor.cc:1826
+#: ardour_ui_ed.cc:113 rc_option_editor.cc:2119 rc_option_editor.cc:2131
msgid "Control Surfaces"
msgstr "Piattaforme di comando"
-#: ardour_ui_ed.cc:115 rc_option_editor.cc:1546
+#: ardour_ui_ed.cc:114 rc_option_editor.cc:1812 rc_option_editor.cc:2138
msgid "Plugins"
msgstr "Plugins"
-#: ardour_ui_ed.cc:116 rc_option_editor.cc:1889
+#: ardour_ui_ed.cc:115 rc_option_editor.cc:2223
msgid "Metering"
msgstr "Misurazione"
-#: ardour_ui_ed.cc:117
+#: ardour_ui_ed.cc:116
msgid "Fall Off Rate"
msgstr "Tempo di caduta"
-#: ardour_ui_ed.cc:118
+#: ardour_ui_ed.cc:117
msgid "Hold Time"
msgstr "Tempo di tenuta"
-#: ardour_ui_ed.cc:119
+#: ardour_ui_ed.cc:118
msgid "Denormal Handling"
msgstr ""
-#: ardour_ui_ed.cc:123 route_time_axis.cc:1489
+#: ardour_ui_ed.cc:122 route_time_axis.cc:1636
msgid "New..."
msgstr "Nuovo..."
-#: ardour_ui_ed.cc:125
+#: ardour_ui_ed.cc:124
msgid "Open..."
msgstr "Apri..."
-#: ardour_ui_ed.cc:126
+#: ardour_ui_ed.cc:125
msgid "Recent..."
msgstr "Recenti..."
-#: ardour_ui_ed.cc:127 panner_editor.cc:29 playlist_selector.cc:64
+#: ardour_ui_ed.cc:126 panner_editor.cc:29 playlist_selector.cc:64
msgid "Close"
msgstr "Chiudi"
-#: ardour_ui_ed.cc:130
+#: ardour_ui_ed.cc:129
msgid "Add Track or Bus..."
msgstr "Aggiungi traccia o bus..."
-#: ardour_ui_ed.cc:135
+#: ardour_ui_ed.cc:134
msgid "Open Video"
msgstr ""
-#: ardour_ui_ed.cc:138
+#: ardour_ui_ed.cc:137
msgid "Remove Video"
msgstr ""
-#: ardour_ui_ed.cc:141
+#: ardour_ui_ed.cc:140
msgid "Export To Video File"
msgstr ""
-#: ardour_ui_ed.cc:145
+#: ardour_ui_ed.cc:144
msgid "Snapshot..."
msgstr "Istantanea..."
-#: ardour_ui_ed.cc:149
+#: ardour_ui_ed.cc:148
msgid "Save As..."
msgstr "Salva con nome..."
-#: ardour_ui_ed.cc:153 editor_actions.cc:1719 editor_markers.cc:858
-#: editor_snapshots.cc:123 mixer_strip.cc:1471 route_time_axis.cc:1485
+#: ardour_ui_ed.cc:152 editor_actions.cc:1767 editor_markers.cc:872
+#: editor_snapshots.cc:124 mixer_strip.cc:1481 route_time_axis.cc:1632
msgid "Rename..."
msgstr "Rinomina..."
-#: ardour_ui_ed.cc:157
+#: ardour_ui_ed.cc:156
msgid "Save Template..."
msgstr "Salva Modello..."
-#: ardour_ui_ed.cc:160
+#: ardour_ui_ed.cc:159
msgid "Metadata"
msgstr "Metadati"
-#: ardour_ui_ed.cc:163
+#: ardour_ui_ed.cc:162
msgid "Edit Metadata..."
msgstr "Modifica metadati..."
-#: ardour_ui_ed.cc:166
+#: ardour_ui_ed.cc:165
msgid "Import Metadata..."
msgstr "Importa metadati..."
-#: ardour_ui_ed.cc:169
+#: ardour_ui_ed.cc:168
msgid "Export To Audio File(s)..."
msgstr "Esporta la sessione come file audio..."
-#: ardour_ui_ed.cc:172
+#: ardour_ui_ed.cc:171
msgid "Stem export..."
msgstr "Esportazione Stem"
-#: ardour_ui_ed.cc:175 editor_export_audio.cc:63 export_dialog.cc:129
-#: export_video_dialog.cc:71
+#: ardour_ui_ed.cc:174 editor_export_audio.cc:65 export_dialog.cc:129
+#: export_video_dialog.cc:72
msgid "Export"
msgstr "Esporta"
-#: ardour_ui_ed.cc:178
+#: ardour_ui_ed.cc:177
msgid "Clean-up Unused Sources..."
msgstr "Pulisci sorgenti inutilizzate..."
-#: ardour_ui_ed.cc:182
+#: ardour_ui_ed.cc:181
msgid "Flush Wastebasket"
msgstr "Svuota il cestino"
-#: ardour_ui_ed.cc:189
+#: ardour_ui_ed.cc:188
msgid "Quit"
msgstr "Esci"
-#: ardour_ui_ed.cc:193
+#: ardour_ui_ed.cc:192
msgid "Maximise Editor Space"
msgstr "Massimizza l'area dell'editor"
+#: ardour_ui_ed.cc:193
+msgid "Maximise Mixer Space"
+msgstr ""
+
#: ardour_ui_ed.cc:194
msgid "Show Toolbars"
msgstr ""
-#: ardour_ui_ed.cc:197 mixer_ui.cc:1865 mixer_ui.cc:1871
+#: ardour_ui_ed.cc:197
+msgid "Show more UI preferences"
+msgstr ""
+
+#: ardour_ui_ed.cc:199 mixer_ui.cc:1900 mixer_ui.cc:1906
msgid "Window|Mixer"
msgstr ""
-#: ardour_ui_ed.cc:198
+#: ardour_ui_ed.cc:200
msgid "Toggle Editor+Mixer"
msgstr ""
-#: ardour_ui_ed.cc:199 meterbridge.cc:230 meterbridge.cc:236
+#: ardour_ui_ed.cc:201 meterbridge.cc:214 meterbridge.cc:220
msgid "Window|Meterbridge"
msgstr ""
-#: ardour_ui_ed.cc:201 midi_tracer.cc:42
+#: ardour_ui_ed.cc:203 midi_tracer.cc:45
msgid "MIDI Tracer"
msgstr ""
-#: ardour_ui_ed.cc:203
+#: ardour_ui_ed.cc:205
msgid "Chat"
msgstr ""
-#: ardour_ui_ed.cc:205
+#: ardour_ui_ed.cc:207
msgid "Help|Manual"
msgstr ""
-#: ardour_ui_ed.cc:206
+#: ardour_ui_ed.cc:208
msgid "Reference"
msgstr "Riferimenti"
-#: ardour_ui_ed.cc:208 plugin_ui.cc:415
+#: ardour_ui_ed.cc:210 plugin_ui.cc:416
msgid "Save"
msgstr "Salva"
-#: ardour_ui_ed.cc:216 rc_option_editor.cc:1112 rc_option_editor.cc:1123
-#: rc_option_editor.cc:1132 rc_option_editor.cc:1145 rc_option_editor.cc:1158
-#: rc_option_editor.cc:1167 rc_option_editor.cc:1177 rc_option_editor.cc:1179
-#: rc_option_editor.cc:1189 rc_option_editor.cc:1205 rc_option_editor.cc:1218
-#: rc_option_editor.cc:1236 rc_option_editor.cc:1238 rc_option_editor.cc:1252
-#: rc_option_editor.cc:1255 rc_option_editor.cc:1257 rc_option_editor.cc:1274
-#: rc_option_editor.cc:1285
+#: ardour_ui_ed.cc:218 rc_option_editor.cc:1352 rc_option_editor.cc:1363
+#: rc_option_editor.cc:1374 rc_option_editor.cc:1383 rc_option_editor.cc:1396
+#: rc_option_editor.cc:1409 rc_option_editor.cc:1418 rc_option_editor.cc:1428
+#: rc_option_editor.cc:1430 rc_option_editor.cc:1440 rc_option_editor.cc:1456
+#: rc_option_editor.cc:1469 rc_option_editor.cc:1487 rc_option_editor.cc:1489
+#: rc_option_editor.cc:1503 rc_option_editor.cc:1506 rc_option_editor.cc:1508
+#: rc_option_editor.cc:1525 rc_option_editor.cc:1536
msgid "Transport"
msgstr "Trasporto"
-#: ardour_ui_ed.cc:222
+#: ardour_ui_ed.cc:224
msgid "Stop"
msgstr "Ferma"
-#: ardour_ui_ed.cc:225
+#: ardour_ui_ed.cc:227
msgid "Roll"
msgstr "Lancia"
-#: ardour_ui_ed.cc:229
+#: ardour_ui_ed.cc:231 ardour_ui_ed.cc:234
msgid "Start/Stop"
msgstr "Avvia/Ferma"
-#: ardour_ui_ed.cc:232
+#: ardour_ui_ed.cc:237
msgid "Start/Continue/Stop"
msgstr "Avvia/Continua/Ferma"
-#: ardour_ui_ed.cc:235
+#: ardour_ui_ed.cc:240
msgid "Stop and Forget Capture"
msgstr "Ferma e interrompi la registrazione"
-#: ardour_ui_ed.cc:245
+#: ardour_ui_ed.cc:250
msgid "Transition To Roll"
msgstr ""
-#: ardour_ui_ed.cc:249
+#: ardour_ui_ed.cc:254
msgid "Transition To Reverse"
msgstr ""
-#: ardour_ui_ed.cc:253
+#: ardour_ui_ed.cc:258
msgid "Play Loop Range"
msgstr "Riproduci l'intervallo di ciclo"
-#: ardour_ui_ed.cc:256
+#: ardour_ui_ed.cc:261
msgid "Play Selected Range"
msgstr "Suona l'intervallo selezionato"
-#: ardour_ui_ed.cc:259
+#: ardour_ui_ed.cc:264
msgid "Play Selection w/Preroll"
msgstr ""
-#: ardour_ui_ed.cc:263
+#: ardour_ui_ed.cc:268
msgid "Enable Record"
msgstr "Abilita la registrazione"
-#: ardour_ui_ed.cc:266
+#: ardour_ui_ed.cc:271 ardour_ui_ed.cc:275
msgid "Start Recording"
msgstr "Inizia la registrazione"
-#: ardour_ui_ed.cc:270
+#: ardour_ui_ed.cc:279
msgid "Rewind"
msgstr "Indietro"
-#: ardour_ui_ed.cc:273
+#: ardour_ui_ed.cc:282
msgid "Rewind (Slow)"
msgstr "Indietro (lento)"
-#: ardour_ui_ed.cc:276
+#: ardour_ui_ed.cc:285
msgid "Rewind (Fast)"
msgstr "Indietro (veloce)"
-#: ardour_ui_ed.cc:279
+#: ardour_ui_ed.cc:288
msgid "Forward"
msgstr "Avanti"
-#: ardour_ui_ed.cc:282
+#: ardour_ui_ed.cc:291
msgid "Forward (Slow)"
msgstr "Avanti (lento)"
-#: ardour_ui_ed.cc:285
+#: ardour_ui_ed.cc:294
msgid "Forward (Fast)"
msgstr "Avanti (veloce)"
-#: ardour_ui_ed.cc:288
+#: ardour_ui_ed.cc:297
msgid "Goto Zero"
msgstr "Vai allo zero"
-#: ardour_ui_ed.cc:291
+#: ardour_ui_ed.cc:300 ardour_ui_ed.cc:303
msgid "Goto Start"
msgstr "Vai all'inizio"
-#: ardour_ui_ed.cc:294
+#: ardour_ui_ed.cc:306
msgid "Goto End"
msgstr "Vai alla fine"
-#: ardour_ui_ed.cc:297
+#: ardour_ui_ed.cc:309
msgid "Goto Wall Clock"
msgstr ""
-#: ardour_ui_ed.cc:301
+#: ardour_ui_ed.cc:314
+msgid "Numpad Decimal"
+msgstr ""
+
+#: ardour_ui_ed.cc:317
+msgid "Numpad 0"
+msgstr ""
+
+#: ardour_ui_ed.cc:320
+msgid "Numpad 1"
+msgstr ""
+
+#: ardour_ui_ed.cc:323
+msgid "Numpad 2"
+msgstr ""
+
+#: ardour_ui_ed.cc:326
+msgid "Numpad 3"
+msgstr ""
+
+#: ardour_ui_ed.cc:329
+msgid "Numpad 4"
+msgstr ""
+
+#: ardour_ui_ed.cc:332
+msgid "Numpad 5"
+msgstr ""
+
+#: ardour_ui_ed.cc:335
+msgid "Numpad 6"
+msgstr ""
+
+#: ardour_ui_ed.cc:338
+msgid "Numpad 7"
+msgstr ""
+
+#: ardour_ui_ed.cc:341
+msgid "Numpad 8"
+msgstr ""
+
+#: ardour_ui_ed.cc:344
+msgid "Numpad 9"
+msgstr ""
+
+#: ardour_ui_ed.cc:348
msgid "Focus On Clock"
msgstr ""
-#: ardour_ui_ed.cc:305 ardour_ui_ed.cc:314 audio_clock.cc:2046 editor.cc:237
-#: editor_actions.cc:544 editor_actions.cc:553 export_timespan_selector.cc:88
+#: ardour_ui_ed.cc:352 ardour_ui_ed.cc:361 audio_clock.cc:2072 editor.cc:254
+#: editor_actions.cc:579 editor_actions.cc:588 export_timespan_selector.cc:88
#: session_option_editor.cc:41 session_option_editor.cc:61
#: session_option_editor.cc:80 session_option_editor.cc:96
#: session_option_editor.cc:109 session_option_editor.cc:122
@@ -1765,125 +1845,125 @@ msgstr ""
msgid "Timecode"
msgstr ""
-#: ardour_ui_ed.cc:307 ardour_ui_ed.cc:316 editor_actions.cc:542
+#: ardour_ui_ed.cc:354 ardour_ui_ed.cc:363 editor_actions.cc:577
msgid "Bars & Beats"
msgstr "Battute e battiti"
-#: ardour_ui_ed.cc:309 ardour_ui_ed.cc:318
+#: ardour_ui_ed.cc:356 ardour_ui_ed.cc:365
msgid "Minutes & Seconds"
msgstr "Minuti e secondi"
-#: ardour_ui_ed.cc:311 ardour_ui_ed.cc:320 audio_clock.cc:2050 editor.cc:238
-#: editor_actions.cc:543
+#: ardour_ui_ed.cc:358 ardour_ui_ed.cc:367 audio_clock.cc:2076 editor.cc:255
+#: editor_actions.cc:578
msgid "Samples"
msgstr "Campioni"
-#: ardour_ui_ed.cc:323
+#: ardour_ui_ed.cc:370
msgid "Punch In"
msgstr "Punch in"
-#: ardour_ui_ed.cc:324 mixer_strip.cc:1905 route_ui.cc:137
-#: time_info_box.cc:113
+#: ardour_ui_ed.cc:371 mixer_strip.cc:1774 mixer_strip.cc:1798
+#: mixer_strip.cc:1962 route_ui.cc:158 time_info_box.cc:116
msgid "In"
msgstr "Ingresso"
-#: ardour_ui_ed.cc:327
+#: ardour_ui_ed.cc:374
msgid "Punch Out"
msgstr "Punch out"
-#: ardour_ui_ed.cc:328 time_info_box.cc:114
+#: ardour_ui_ed.cc:375 mixer_strip.cc:1786 time_info_box.cc:117
msgid "Out"
msgstr "Uscita"
-#: ardour_ui_ed.cc:331
+#: ardour_ui_ed.cc:378
msgid "Punch In/Out"
msgstr ""
-#: ardour_ui_ed.cc:332
+#: ardour_ui_ed.cc:379
msgid "In/Out"
msgstr "Ingresso/Uscita"
-#: ardour_ui_ed.cc:335 rc_option_editor.cc:1069
+#: ardour_ui_ed.cc:382 rc_option_editor.cc:1309
msgid "Click"
msgstr "Metronomo"
-#: ardour_ui_ed.cc:338
+#: ardour_ui_ed.cc:385
msgid "Auto Input"
msgstr ""
-#: ardour_ui_ed.cc:341
+#: ardour_ui_ed.cc:388
msgid "Auto Play"
msgstr "Riproduci automaticamente"
-#: ardour_ui_ed.cc:352
+#: ardour_ui_ed.cc:399
msgid "Sync Startup to Video"
msgstr ""
-#: ardour_ui_ed.cc:354
+#: ardour_ui_ed.cc:401
msgid "Time Master"
msgstr ""
-#: ardour_ui_ed.cc:361
+#: ardour_ui_ed.cc:408
msgid "Toggle Record Enable Track %1"
msgstr "Abilita la registrazione sulla traccia %1"
-#: ardour_ui_ed.cc:368
+#: ardour_ui_ed.cc:415
msgid "Percentage"
msgstr "Percentuale"
-#: ardour_ui_ed.cc:369 shuttle_control.cc:169
+#: ardour_ui_ed.cc:416 shuttle_control.cc:169
msgid "Semitones"
msgstr "Semitoni"
-#: ardour_ui_ed.cc:373
+#: ardour_ui_ed.cc:420
msgid "Send MTC"
msgstr "Invia MTC"
-#: ardour_ui_ed.cc:375
+#: ardour_ui_ed.cc:422
msgid "Send MMC"
msgstr "Invia MMC"
-#: ardour_ui_ed.cc:377
+#: ardour_ui_ed.cc:424
msgid "Use MMC"
msgstr "Usa MMC"
-#: ardour_ui_ed.cc:379 rc_option_editor.cc:1698
+#: ardour_ui_ed.cc:426 rc_option_editor.cc:1978
msgid "Send MIDI Clock"
msgstr "Invia il clock MIDI"
-#: ardour_ui_ed.cc:381
+#: ardour_ui_ed.cc:428
msgid "Send MIDI Feedback"
msgstr ""
-#: ardour_ui_ed.cc:387
+#: ardour_ui_ed.cc:434
msgid "Panic"
msgstr "Panico"
-#: ardour_ui_ed.cc:472
+#: ardour_ui_ed.cc:519
msgid "Wall Clock"
msgstr ""
-#: ardour_ui_ed.cc:473
+#: ardour_ui_ed.cc:520
msgid "Disk Space"
msgstr ""
-#: ardour_ui_ed.cc:474
+#: ardour_ui_ed.cc:521
msgid "DSP"
msgstr ""
-#: ardour_ui_ed.cc:475
+#: ardour_ui_ed.cc:522
msgid "Buffers"
msgstr ""
-#: ardour_ui_ed.cc:477
+#: ardour_ui_ed.cc:524
msgid "Timecode Format"
msgstr ""
-#: ardour_ui_ed.cc:478
+#: ardour_ui_ed.cc:525
msgid "File Format"
msgstr ""
-#: ardour_ui_options.cc:61
+#: ardour_ui_options.cc:63
msgid ""
"It is not possible to use JACK as the the sync source\n"
"when the pull up/down setting is non-zero."
@@ -1895,332 +1975,250 @@ msgstr ""
msgid "Internal"
msgstr "Interno"
-#: ardour_ui_options.cc:468
+#: ardour_ui_options.cc:496
msgid "Enable/Disable external positional sync"
msgstr ""
-#: ardour_ui_options.cc:470
+#: ardour_ui_options.cc:498
msgid "Sync to JACK is not possible: video pull up/down is set"
msgstr ""
"Impossibile sincronizzazione con JACK: è impostato video \"pull up/down\""
-#: audio_clock.cc:1012 audio_clock.cc:1031
+#: audio_clock.cc:1028 audio_clock.cc:1047
msgid "--pending--"
msgstr ""
-#: audio_clock.cc:1083
+#: audio_clock.cc:1099
msgid "SR"
msgstr ""
-#: audio_clock.cc:1089 audio_clock.cc:1093
+#: audio_clock.cc:1105 audio_clock.cc:1109
msgid "Pull"
msgstr ""
-#: audio_clock.cc:1091
+#: audio_clock.cc:1107
#, c-format
msgid "%+.4f%%"
msgstr ""
-#: audio_clock.cc:1237 editor.cc:239 editor_actions.cc:135
-#: editor_actions.cc:536
+#: audio_clock.cc:1263 editor.cc:256 editor_actions.cc:139
+#: editor_actions.cc:571
msgid "Tempo"
msgstr "Tempo"
-#: audio_clock.cc:1241 editor.cc:240 editor_actions.cc:537
+#: audio_clock.cc:1267 editor.cc:257 editor_actions.cc:572
msgid "Meter"
msgstr "Suddivisione"
-#: audio_clock.cc:1819 audio_streamview.cc:116 editor_actions.cc:1039
-#: midi_region_view.cc:2991 session_metadata_dialog.cc:331
+#: audio_clock.cc:1845 audio_streamview.cc:115 editor_actions.cc:1085
+#: midi_region_view.cc:2989 session_metadata_dialog.cc:331
#: session_metadata_dialog.cc:379 session_metadata_dialog.cc:435
-#: session_metadata_dialog.cc:716
+#: session_metadata_dialog.cc:716 streamview.cc:433
msgid "programming error: %1"
msgstr "Errore di programmazione: %1"
-#: audio_clock.cc:1952 audio_clock.cc:1980
+#: audio_clock.cc:1978 audio_clock.cc:2006
msgid "programming error: %1 %2"
msgstr ""
-#: audio_clock.cc:2048 editor.cc:236 export_timespan_selector.cc:98
+#: audio_clock.cc:2074 editor.cc:253 export_timespan_selector.cc:98
msgid "Bars:Beats"
msgstr "Battute:Battiti"
-#: audio_clock.cc:2049 export_timespan_selector.cc:93
+#: audio_clock.cc:2075 export_timespan_selector.cc:93
msgid "Minutes:Seconds"
msgstr "Minuti:Secondi"
-#: audio_clock.cc:2054
+#: audio_clock.cc:2080
msgid "Set From Playhead"
msgstr "Imposta dalla testina"
-#: audio_clock.cc:2055
+#: audio_clock.cc:2081
msgid "Locate to This Time"
msgstr ""
-#: audio_region_editor.cc:63 control_point_dialog.cc:49 rhythm_ferret.cc:125
-#: rhythm_ferret.cc:130 rhythm_ferret.cc:135
+#: audio_region_editor.cc:64 control_point_dialog.cc:49 rhythm_ferret.cc:124
+#: rhythm_ferret.cc:129 rhythm_ferret.cc:134
msgid "dB"
msgstr ""
-#: audio_region_editor.cc:66
+#: audio_region_editor.cc:67
msgid "Region gain:"
msgstr "Guadagno della regione:"
-#: audio_region_editor.cc:76 export_format_dialog.cc:43
+#: audio_region_editor.cc:77 export_format_dialog.cc:43
msgid "dBFS"
msgstr ""
-#: audio_region_editor.cc:79
+#: audio_region_editor.cc:80
msgid "Peak amplitude:"
msgstr "Ampiezza di picco:"
-#: audio_region_editor.cc:90
+#: audio_region_editor.cc:91
msgid "Calculating..."
msgstr "Calcolo..."
-#: audio_region_view.cc:1001
+#: audio_region_view.cc:1243
msgid "add gain control point"
msgstr "Aggiungi un punto di controllo del guadagno"
-#: audio_time_axis.cc:389
+#: audio_time_axis.cc:430 midi_time_axis.cc:619
msgid "Fader"
msgstr ""
-#: audio_time_axis.cc:396
+#: audio_time_axis.cc:437 editor_actions.cc:1800 mixer_strip.cc:1961
+#: monitor_section.cc:273 route_time_axis.cc:253
+msgid "Mute"
+msgstr "Muto"
+
+#: audio_time_axis.cc:445 midi_time_axis.cc:627
msgid "Pan"
msgstr "Panorama"
-#: automation_line.cc:252 automation_line.cc:435
+#: automation_line.cc:272 automation_line.cc:453
msgid "automation event move"
msgstr "sposta evento automazione"
-#: automation_line.cc:462 automation_line.cc:483
+#: automation_line.cc:479 automation_line.cc:499
msgid "automation range move"
msgstr "sposta intervallo automazione"
-#: automation_line.cc:823 region_gain_line.cc:73
+#: automation_line.cc:854 region_gain_line.cc:72
msgid "remove control point"
msgstr "Rimuovi il punto di controllo"
-#: automation_line.cc:941
+#: automation_line.cc:971
msgid "Ignoring illegal points on AutomationLine \"%1\""
msgstr "Sto ignorando i punti incogruenti su AutomationLine \"%1\""
-#: automation_region_view.cc:160 automation_time_axis.cc:583
+#: automation_region_view.cc:162 automation_time_axis.cc:627
msgid "add automation event"
msgstr "Aggiungi evento di automazione"
-#: automation_time_axis.cc:146
+#: automation_time_axis.cc:141
msgid "automation state"
msgstr "Stato dell'automazione"
-#: automation_time_axis.cc:147
+#: automation_time_axis.cc:142
msgid "hide track"
msgstr "Nascondi traccia"
-#: automation_time_axis.cc:255 automation_time_axis.cc:307
-#: automation_time_axis.cc:496 gain_meter.cc:194 generic_pluginui.cc:454
-#: generic_pluginui.cc:775 panner_ui.cc:149
+#: automation_time_axis.cc:297 automation_time_axis.cc:349
+#: automation_time_axis.cc:540 gain_meter.cc:186 generic_pluginui.cc:452
+#: generic_pluginui.cc:770 panner_ui.cc:150
msgid "Automation|Manual"
msgstr ""
-#: automation_time_axis.cc:257 automation_time_axis.cc:318
-#: automation_time_axis.cc:501 editor.cc:1937 editor.cc:2014
-#: editor_actions.cc:118 editor_actions.cc:1865 gain_meter.cc:197
-#: generic_pluginui.cc:457 generic_pluginui.cc:777 midi_time_axis.cc:1488
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1494 panner_ui.cc:152
+#: automation_time_axis.cc:299 automation_time_axis.cc:360
+#: automation_time_axis.cc:545 editor.cc:1856 editor.cc:1933
+#: editor_actions.cc:122 editor_actions.cc:1916 gain_meter.cc:189
+#: generic_pluginui.cc:455 generic_pluginui.cc:772 midi_time_axis.cc:1687
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1693 panner_ui.cc:153
msgid "Play"
msgstr "Suona"
-#: automation_time_axis.cc:259 automation_time_axis.cc:329
-#: automation_time_axis.cc:506 gain_meter.cc:200 generic_pluginui.cc:460
-#: generic_pluginui.cc:779 panner_ui.cc:155
+#: automation_time_axis.cc:301 automation_time_axis.cc:371
+#: automation_time_axis.cc:550 gain_meter.cc:192 generic_pluginui.cc:458
+#: generic_pluginui.cc:774 panner_ui.cc:156
msgid "Write"
msgstr "Scrivi"
-#: automation_time_axis.cc:261 automation_time_axis.cc:340
-#: automation_time_axis.cc:511 gain_meter.cc:203 generic_pluginui.cc:463
-#: generic_pluginui.cc:781 panner_ui.cc:158
+#: automation_time_axis.cc:303 automation_time_axis.cc:382
+#: automation_time_axis.cc:555 gain_meter.cc:195 generic_pluginui.cc:461
+#: generic_pluginui.cc:776 panner_ui.cc:159
msgid "Touch"
msgstr "Tocco"
-#: automation_time_axis.cc:351 generic_pluginui.cc:466 meter_patterns.cc:108
+#: automation_time_axis.cc:393 generic_pluginui.cc:464 meter_patterns.cc:112
msgid "???"
msgstr "???"
-#: automation_time_axis.cc:392
+#: automation_time_axis.cc:434
msgid "clear automation"
msgstr "pulisci l'automazione"
-#: automation_time_axis.cc:485 editor_actions.cc:613 editor_markers.cc:857
-#: location_ui.cc:55 plugin_selector.cc:85 route_time_axis.cc:708
+#: automation_time_axis.cc:529 editor_actions.cc:655 editor_markers.cc:871
+#: location_ui.cc:56 plugin_selector.cc:86 route_time_axis.cc:827
msgid "Hide"
msgstr "Nascondi"
-#: automation_time_axis.cc:487
+#: automation_time_axis.cc:531
msgid "Clear"
msgstr "Pulisci"
-#: automation_time_axis.cc:516
+#: automation_time_axis.cc:560
msgid "State"
msgstr "Stato"
-#: automation_time_axis.cc:531
+#: automation_time_axis.cc:575
msgid "Discrete"
msgstr "Discreto"
-#: automation_time_axis.cc:537 editor.cc:1458 editor.cc:1465 editor.cc:1521
-#: editor.cc:1527 export_format_dialog.cc:476
+#: automation_time_axis.cc:581 export_format_dialog.cc:485
msgid "Linear"
msgstr "Lineare"
-#: automation_time_axis.cc:543 rhythm_ferret.cc:110 route_time_axis.cc:647
+#: automation_time_axis.cc:587 rhythm_ferret.cc:109 route_time_axis.cc:765
#: shuttle_control.cc:188
msgid "Mode"
msgstr "Modo"
-#: bundle_manager.cc:181
+#: bundle_manager.cc:182
msgid "Disassociate"
msgstr "Disassocia"
-#: bundle_manager.cc:185
+#: bundle_manager.cc:186
msgid "Edit Bundle"
msgstr "Modifica il raggruppamento"
-#: bundle_manager.cc:200
+#: bundle_manager.cc:201
msgid "Direction:"
msgstr "Direzione:"
-#: bundle_manager.cc:205 bundle_manager.cc:209 mixer_strip.cc:158
-#: mixer_strip.cc:2127
+#: bundle_manager.cc:206 bundle_manager.cc:210 engine_dialog.cc:641
+#: mixer_strip.cc:164 mixer_strip.cc:371 mixer_strip.cc:2195
+#: rc_option_editor.cc:2198
msgid "Input"
msgstr "Ingresso"
-#: bundle_manager.cc:206 bundle_manager.cc:211 bundle_manager.cc:245
-#: mixer_strip.cc:163 mixer_strip.cc:2130
+#: bundle_manager.cc:207 bundle_manager.cc:212 bundle_manager.cc:246
+#: engine_dialog.cc:643 mixer_strip.cc:168 mixer_strip.cc:375
+#: mixer_strip.cc:2198 rc_option_editor.cc:2202
msgid "Output"
msgstr "Uscita"
-#: bundle_manager.cc:264 editor.cc:1978 editor_actions.cc:90
-#: editor_actions.cc:100
+#: bundle_manager.cc:265 editor.cc:1897 editor_actions.cc:94
+#: editor_actions.cc:104 rc_option_editor.cc:1067 rc_option_editor.cc:1074
msgid "Edit"
msgstr "Modifica"
-#: bundle_manager.cc:265 editor.cc:5497 editor_actions.cc:310
-#: editor_actions.cc:368 plugin_ui.cc:416 processor_box.cc:2268
-#: route_time_axis.cc:713
+#: bundle_manager.cc:266 editor.cc:5593 editor_actions.cc:335
+#: editor_actions.cc:336 editor_actions.cc:402 plugin_ui.cc:417
+#: processor_box.cc:2502 route_time_axis.cc:832
msgid "Delete"
msgstr "Elimina"
-#: bundle_manager.cc:271 bundle_manager.cc:439 editor_route_groups.cc:96
-#: editor_routes.cc:202 midi_list_editor.cc:106 session_metadata_dialog.cc:525
+#: bundle_manager.cc:272 bundle_manager.cc:440 editor_route_groups.cc:97
+#: editor_routes.cc:204 midi_list_editor.cc:106 session_metadata_dialog.cc:525
msgid "Name"
msgstr "Nome"
-#: bundle_manager.cc:282
+#: bundle_manager.cc:283
msgid "New"
msgstr "Nuovo"
-#: bundle_manager.cc:332
+#: bundle_manager.cc:333
msgid "Bundle"
msgstr "Raggruppamento"
-#: bundle_manager.cc:417
+#: bundle_manager.cc:418
msgid "Add Channel"
msgstr "Aggiungi canale"
-#: bundle_manager.cc:424
+#: bundle_manager.cc:425
msgid "Rename Channel"
msgstr "Rinomina canale"
-#: canvas-simpleline.c:111 canvas-simplerect.c:106
-msgid "x1"
-msgstr ""
-
-#: canvas-simpleline.c:112 canvas-simplerect.c:107
-msgid "x coordinate of upper left corner of rect"
-msgstr "coordinata x dell'angolo superiore sinistro del rettangolo"
-
-#: canvas-simpleline.c:121 canvas-simplerect.c:116
-msgid "y1"
-msgstr ""
-
-#: canvas-simpleline.c:122 canvas-simplerect.c:117
-msgid "y coordinate of upper left corner of rect "
-msgstr "coordinata y dell'angolo superiore sinistro del rettangolo"
-
-#: canvas-simpleline.c:132 canvas-simplerect.c:127
-msgid "x2"
-msgstr ""
-
-#: canvas-simpleline.c:133 canvas-simplerect.c:128
-msgid "x coordinate of lower right corner of rect"
-msgstr "coordinata x dell'angolo inferiore destro del rettangolo"
-
-#: canvas-simpleline.c:142 canvas-simplerect.c:137
-msgid "y2"
-msgstr ""
-
-#: canvas-simpleline.c:143 canvas-simplerect.c:138
-msgid "y coordinate of lower right corner of rect "
-msgstr "coordinata y dell'angolo inferiore destro del rettangolo"
-
-#: canvas-simpleline.c:151
-msgid "color rgba"
-msgstr "colre rgba"
-
-#: canvas-simpleline.c:152
-msgid "color of line"
-msgstr "colore della linea"
-
-#: canvas-simplerect.c:148
-msgid "outline pixels"
-msgstr "pixel di contorno"
-
-#: canvas-simplerect.c:149
-msgid "width in pixels of outline"
-msgstr "spessore in pixel del contorno"
-
-#: canvas-simplerect.c:159
-msgid "outline what"
-msgstr "cosa delineare"
-
-#: canvas-simplerect.c:160
-msgid "which boundaries to outline (mask)"
-msgstr ""
-
-#: canvas-simplerect.c:171
-msgid "fill"
-msgstr "riempi"
-
-#: canvas-simplerect.c:172
-msgid "fill rectangle"
-msgstr "riempi il rettangolo"
-
-#: canvas-simplerect.c:179
-msgid "draw"
-msgstr "disegna"
-
-#: canvas-simplerect.c:180
-msgid "draw rectangle"
-msgstr "disegna rettangolo"
-
-#: canvas-simplerect.c:188
-msgid "outline color rgba"
-msgstr ""
-
-#: canvas-simplerect.c:189
-msgid "color of outline"
-msgstr "colore del contorno"
-
-#: canvas-simplerect.c:199
-msgid "fill color rgba"
-msgstr "colore di riempimento rgba"
-
-#: canvas-simplerect.c:200
-msgid "color of fill"
-msgstr "colore del riempimento"
-
#: configinfo.cc:28
msgid "Build Configuration"
msgstr "Configura"
@@ -2258,7 +2256,7 @@ msgid "Set selected notes to this length"
msgstr ""
#: edit_note_dialog.cc:58 midi_list_editor.cc:104 patch_change_dialog.cc:91
-#: step_entry.cc:393
+#: step_entry.cc:394
msgid "Channel"
msgstr "Canale"
@@ -2266,7 +2264,7 @@ msgstr "Canale"
msgid "Pitch"
msgstr "Intonazione"
-#: edit_note_dialog.cc:78 step_entry.cc:407
+#: edit_note_dialog.cc:78 step_entry.cc:408
msgid "Velocity"
msgstr "Pressione"
@@ -2274,9 +2272,9 @@ msgstr "Pressione"
msgid "Time"
msgstr "Tempo"
-#: edit_note_dialog.cc:98 editor_regions.cc:114
-#: export_timespan_selector.cc:359 export_timespan_selector.cc:421
-#: location_ui.cc:317 midi_list_editor.cc:114 time_info_box.cc:105
+#: edit_note_dialog.cc:98 editor_regions.cc:115
+#: export_timespan_selector.cc:378 export_timespan_selector.cc:440
+#: location_ui.cc:319 midi_list_editor.cc:114 time_info_box.cc:108
msgid "Length"
msgstr "Durata"
@@ -2284,558 +2282,576 @@ msgstr "Durata"
msgid "edit note"
msgstr "modifca la nota"
-#: editor.cc:137 editor.cc:3433
+#: editor.cc:144
msgid "CD Frames"
msgstr "CD Frames"
-#: editor.cc:138 editor.cc:3435
-msgid "Timecode Frames"
+#: editor.cc:145
+msgid "TC Frames"
msgstr ""
-#: editor.cc:139 editor.cc:3437
-msgid "Timecode Seconds"
+#: editor.cc:146
+msgid "TC Seconds"
msgstr ""
-#: editor.cc:140 editor.cc:3439
-msgid "Timecode Minutes"
+#: editor.cc:147
+msgid "TC Minutes"
msgstr ""
-#: editor.cc:141 editor.cc:3441
+#: editor.cc:148
msgid "Seconds"
msgstr "Secondi"
-#: editor.cc:142 editor.cc:3443
+#: editor.cc:149
msgid "Minutes"
msgstr "Minuti"
-#: editor.cc:143 editor.cc:3417 quantize_dialog.cc:37 quantize_dialog.cc:141
+#: editor.cc:150 quantize_dialog.cc:37 quantize_dialog.cc:141
msgid "Beats/128"
msgstr "Battiti/128"
-#: editor.cc:144 editor.cc:3415 quantize_dialog.cc:38 quantize_dialog.cc:143
+#: editor.cc:151 quantize_dialog.cc:38 quantize_dialog.cc:143
msgid "Beats/64"
msgstr "Battiti/64"
-#: editor.cc:145 editor.cc:3413 quantize_dialog.cc:39 quantize_dialog.cc:145
+#: editor.cc:152 quantize_dialog.cc:39 quantize_dialog.cc:145
msgid "Beats/32"
msgstr "Battiti/32"
-#: editor.cc:146 editor.cc:3411
+#: editor.cc:153
msgid "Beats/28"
msgstr "Battiti/28"
-#: editor.cc:147 editor.cc:3409
+#: editor.cc:154
msgid "Beats/24"
msgstr "Battiti/24"
-#: editor.cc:148 editor.cc:3407
+#: editor.cc:155
msgid "Beats/20"
msgstr "Battiti/20"
-#: editor.cc:149 editor.cc:3405 quantize_dialog.cc:40 quantize_dialog.cc:147
+#: editor.cc:156 quantize_dialog.cc:40 quantize_dialog.cc:147
msgid "Beats/16"
msgstr "Battiti/16"
-#: editor.cc:150 editor.cc:3403
+#: editor.cc:157
msgid "Beats/14"
msgstr "Battiti/14"
-#: editor.cc:151 editor.cc:3401
+#: editor.cc:158
msgid "Beats/12"
msgstr "Battiti/12"
-#: editor.cc:152 editor.cc:3399
+#: editor.cc:159
msgid "Beats/10"
msgstr "Battiti/10"
-#: editor.cc:153 editor.cc:3397 quantize_dialog.cc:41 quantize_dialog.cc:149
+#: editor.cc:160 quantize_dialog.cc:41 quantize_dialog.cc:149
msgid "Beats/8"
msgstr "Battiti/8"
-#: editor.cc:154 editor.cc:3395
+#: editor.cc:161
msgid "Beats/7"
msgstr "Battiti/7"
-#: editor.cc:155 editor.cc:3393
+#: editor.cc:162
msgid "Beats/6"
msgstr "Battiti/6"
-#: editor.cc:156 editor.cc:3391
+#: editor.cc:163
msgid "Beats/5"
msgstr "Battiti/5"
-#: editor.cc:157 editor.cc:3389 quantize_dialog.cc:42 quantize_dialog.cc:151
+#: editor.cc:164 quantize_dialog.cc:42 quantize_dialog.cc:151
msgid "Beats/4"
msgstr "Battiti/4"
-#: editor.cc:158 editor.cc:3387 quantize_dialog.cc:43 quantize_dialog.cc:153
+#: editor.cc:165 quantize_dialog.cc:43 quantize_dialog.cc:153
msgid "Beats/3"
msgstr "Battiti/3"
-#: editor.cc:159 editor.cc:3385 quantize_dialog.cc:44 quantize_dialog.cc:155
+#: editor.cc:166 quantize_dialog.cc:44 quantize_dialog.cc:155
msgid "Beats/2"
msgstr "Battiti/2"
-#: editor.cc:160 editor.cc:3419 quantize_dialog.cc:45 quantize_dialog.cc:157
+#: editor.cc:167 quantize_dialog.cc:45 quantize_dialog.cc:157
msgid "Beats"
msgstr "Battiti"
-#: editor.cc:161 editor.cc:3421
+#: editor.cc:168
msgid "Bars"
msgstr "Battute"
-#: editor.cc:162 editor.cc:3423
+#: editor.cc:169
msgid "Marks"
msgstr "Marcatori"
-#: editor.cc:163 editor.cc:3425
+#: editor.cc:170
msgid "Region starts"
msgstr "Inizio regione"
-#: editor.cc:164 editor.cc:3427
+#: editor.cc:171
msgid "Region ends"
msgstr "Fine regione"
-#: editor.cc:165 editor.cc:3431
+#: editor.cc:172
msgid "Region syncs"
msgstr "Sync delle regioni"
-#: editor.cc:166 editor.cc:3429
+#: editor.cc:173
msgid "Region bounds"
msgstr "Confini regione"
-#: editor.cc:171 editor.cc:3459 editor_actions.cc:485
+#: editor.cc:178 editor_actions.cc:520
msgid "No Grid"
msgstr "Nessuna griglia"
-#: editor.cc:172 editor.cc:3461 editor_actions.cc:486
+#: editor.cc:179 editor_actions.cc:521
msgid "Grid"
msgstr "Griglia"
-#: editor.cc:173 editor.cc:3463 editor_actions.cc:487
+#: editor.cc:180 editor_actions.cc:522
msgid "Magnetic"
msgstr "Magnetico"
-#: editor.cc:178 editor.cc:188 editor.cc:3502 editor.cc:3527
-#: editor_actions.cc:117 editor_actions.cc:468
+#: editor.cc:185 editor.cc:203 editor_actions.cc:121 editor_actions.cc:503
msgid "Playhead"
msgstr "Testina"
-#: editor.cc:179 editor.cc:3500 editor_actions.cc:470
+#: editor.cc:186 editor_actions.cc:505
msgid "Marker"
msgstr "Marcatore"
-#: editor.cc:180 editor.cc:189 editor.cc:3529 editor_actions.cc:469
+#: editor.cc:187 editor.cc:204 editor_actions.cc:504
msgid "Mouse"
msgstr "Mouse"
-#: editor.cc:185 editor.cc:3521 mono_panner_editor.cc:42
+#: editor.cc:192 editor_actions.cc:512
+msgid "Slide"
+msgstr ""
+
+#: editor.cc:193
+msgid "Splice"
+msgstr "Giuntura"
+
+#: editor.cc:194 editor_actions.cc:511
+msgid "Ripple"
+msgstr ""
+
+#: editor.cc:195 editor_actions.cc:157 editor_actions.cc:513
+#: editor_actions.cc:1785 editor_markers.cc:874 editor_rulers.cc:260
+#: location_ui.cc:57 mixer_strip.cc:202 mixer_strip.cc:1983
+msgid "Lock"
+msgstr "Blocca"
+
+#: editor.cc:200 mono_panner_editor.cc:42
msgid "Left"
msgstr "Sinistra"
-#: editor.cc:186 editor.cc:3523 mono_panner_editor.cc:47
+#: editor.cc:201 mono_panner_editor.cc:47
msgid "Right"
msgstr "Destra"
-#: editor.cc:187 editor.cc:3525
+#: editor.cc:202
msgid "Center"
msgstr "Centro"
-#: editor.cc:190 editor.cc:3094 editor.cc:3531
+#: editor.cc:205 editor.cc:3145
msgid "Edit point"
msgstr "Punto di modifica"
-#: editor.cc:196
+#: editor.cc:211
msgid "Mushy"
msgstr ""
-#: editor.cc:197
+#: editor.cc:212
msgid "Smooth"
msgstr "Dolce"
-#: editor.cc:198
+#: editor.cc:213
msgid "Balanced multitimbral mixture"
msgstr ""
-#: editor.cc:199
+#: editor.cc:214
msgid "Unpitched percussion with stable notes"
msgstr ""
-#: editor.cc:200
+#: editor.cc:215
msgid "Crisp monophonic instrumental"
msgstr ""
-#: editor.cc:201
+#: editor.cc:216
msgid "Unpitched solo percussion"
msgstr ""
-#: editor.cc:202
+#: editor.cc:217
msgid "Resample without preserving pitch"
msgstr "Ricampiona senza conservare l'intonazione"
-#: editor.cc:235
+#: editor.cc:252
msgid "Mins:Secs"
msgstr "Minuti:Secondi"
-#: editor.cc:241
+#: editor.cc:258
msgid "Location Markers"
msgstr "Marcatori di posizione"
-#: editor.cc:242
+#: editor.cc:259
msgid "Range Markers"
msgstr "Marcatori di intervallo"
-#: editor.cc:243
+#: editor.cc:260
msgid "Loop/Punch Ranges"
msgstr "Intervalli di Ciclo/Punch"
-#: editor.cc:244 editor_actions.cc:540
+#: editor.cc:261 editor_actions.cc:575
msgid "CD Markers"
msgstr "Marcatori CD"
-#: editor.cc:245
+#: editor.cc:262
msgid "Video Timeline"
msgstr ""
-#: editor.cc:260
+#: editor.cc:279
msgid "mode"
msgstr "modo"
-#: editor.cc:541
+#: editor.cc:447 editor_actions.cc:114 editor_actions.cc:574
+msgid "Markers"
+msgstr "Marcatori"
+
+#: editor.cc:554 rc_option_editor.cc:1830
msgid "Regions"
msgstr "Regioni"
-#: editor.cc:542
+#: editor.cc:555
msgid "Tracks & Busses"
msgstr "Tracce e Bus"
-#: editor.cc:543
+#: editor.cc:556
msgid "Snapshots"
msgstr "Istantanee"
-#: editor.cc:544
+#: editor.cc:557
msgid "Track & Bus Groups"
msgstr ""
-#: editor.cc:545
+#: editor.cc:558
msgid "Ranges & Marks"
msgstr "Intervalli & marcatori"
-#: editor.cc:690 editor.cc:5349 rc_option_editor.cc:1292
-#: rc_option_editor.cc:1300 rc_option_editor.cc:1308 rc_option_editor.cc:1316
-#: rc_option_editor.cc:1333 rc_option_editor.cc:1335 rc_option_editor.cc:1343
-#: rc_option_editor.cc:1351 rc_option_editor.cc:1371 rc_option_editor.cc:1383
-#: rc_option_editor.cc:1385 rc_option_editor.cc:1393 rc_option_editor.cc:1401
-#: rc_option_editor.cc:1409 rc_option_editor.cc:1417 rc_option_editor.cc:1432
-#: rc_option_editor.cc:1436
+#: editor.cc:706 editor.cc:5445 rc_option_editor.cc:1543
+#: rc_option_editor.cc:1551 rc_option_editor.cc:1559 rc_option_editor.cc:1567
+#: rc_option_editor.cc:1591 rc_option_editor.cc:1603 rc_option_editor.cc:1605
+#: rc_option_editor.cc:1613 rc_option_editor.cc:1621 rc_option_editor.cc:1641
+#: rc_option_editor.cc:1653 rc_option_editor.cc:1655 rc_option_editor.cc:1657
+#: rc_option_editor.cc:1665 rc_option_editor.cc:1673 rc_option_editor.cc:1681
+#: rc_option_editor.cc:1696 rc_option_editor.cc:1700
msgid "Editor"
msgstr "Editor"
-#: editor.cc:1215 editor.cc:1225 editor.cc:4444 editor_actions.cc:130
-#: editor_actions.cc:1813
+#: editor.cc:1288 editor.cc:4503 editor_actions.cc:134 editor_actions.cc:1861
msgid "Loop"
msgstr "Ciclo"
-#: editor.cc:1231 editor.cc:1241 editor.cc:4471 editor_actions.cc:131
-#: time_info_box.cc:67
+#: editor.cc:1294 editor.cc:4530 editor_actions.cc:135 time_info_box.cc:68
msgid "Punch"
msgstr "Punch"
-#: editor.cc:1353
+#: editor.cc:1406 rc_option_editor.cc:1585
msgid "Linear (for highly correlated material)"
msgstr ""
-#: editor.cc:1363 editor.cc:1500 editor.cc:1562
+#: editor.cc:1416 rc_option_editor.cc:1586
msgid "Constant power"
msgstr ""
-#: editor.cc:1372 editor.cc:1493 editor.cc:1555
+#: editor.cc:1425 rc_option_editor.cc:1587
msgid "Symmetric"
msgstr ""
-#: editor.cc:1382 editor.cc:1475 editor.cc:1537
+#: editor.cc:1435 rc_option_editor.cc:1588
msgid "Slow"
msgstr "Lento"
-#: editor.cc:1391 editor.cc:1484 editor.cc:1546 sfdb_ui.cc:1627
-#: sfdb_ui.cc:1736
+#: editor.cc:1444 rc_option_editor.cc:1589 sfdb_ui.cc:1752 sfdb_ui.cc:1862
msgid "Fast"
msgstr "Veloce"
-#: editor.cc:1438
-msgid "programming error: fade in canvas item has no regionview data pointer!"
-msgstr ""
-
-#: editor.cc:1449 editor.cc:1513
+#: editor.cc:1464 editor.cc:1487
msgid "Deactivate"
msgstr "Disattiva"
-#: editor.cc:1451 editor.cc:1515
+#: editor.cc:1466 editor.cc:1489
msgid "Activate"
msgstr "Attiva"
-#: editor.cc:1459 editor.cc:1522
-msgid "Slowest"
-msgstr "Piu' Lento"
-
-#: editor.cc:1573 route_time_axis.cc:1877 selection.cc:1009 selection.cc:1064
-msgid "programming error: "
-msgstr "errore di programmazione: "
-
-#: editor.cc:1674 editor.cc:1682 editor_ops.cc:3522
+#: editor.cc:1590 editor.cc:1598 editor_ops.cc:3635
msgid "Freeze"
msgstr "Congela"
-#: editor.cc:1678
+#: editor.cc:1594
msgid "Unfreeze"
msgstr "Scongela"
-#: editor.cc:1817
+#: editor.cc:1733
msgid "Selected Regions"
msgstr "Regioni selezionate"
-#: editor.cc:1853 editor_markers.cc:895
+#: editor.cc:1769 editor_markers.cc:909
msgid "Play Range"
msgstr "Riproduci l'intervallo"
-#: editor.cc:1854 editor_markers.cc:898
+#: editor.cc:1770 editor_markers.cc:912
msgid "Loop Range"
msgstr "Cicla l'intervallo"
-#: editor.cc:1863 editor_actions.cc:332
+#: editor.cc:1773 editor_actions.cc:266 editor_markers.cc:919
+msgid "Zoom to Range"
+msgstr ""
+
+#: editor.cc:1782 editor_actions.cc:366
msgid "Move Range Start to Previous Region Boundary"
msgstr "Sposta l'inizio intervallo alla regione precedente"
-#: editor.cc:1870 editor_actions.cc:339
+#: editor.cc:1789 editor_actions.cc:373
msgid "Move Range Start to Next Region Boundary"
msgstr "Sposta l'inizio intervallo alla regione successiva"
-#: editor.cc:1877 editor_actions.cc:346
+#: editor.cc:1796 editor_actions.cc:380
msgid "Move Range End to Previous Region Boundary"
msgstr "Sposta la fine intervallo alla regione precedente"
-#: editor.cc:1884 editor_actions.cc:353
+#: editor.cc:1803 editor_actions.cc:387
msgid "Move Range End to Next Region Boundary"
msgstr "Sposta la fine intervallo alla prossima regione"
-#: editor.cc:1890
+#: editor.cc:1809
msgid "Convert to Region In-Place"
msgstr "Converti in regione qui"
-#: editor.cc:1891
+#: editor.cc:1810
msgid "Convert to Region in Region List"
msgstr ""
-#: editor.cc:1894 editor_markers.cc:925
+#: editor.cc:1813 editor_markers.cc:939
msgid "Select All in Range"
msgstr "Seleziona tutto nell'intervallo"
-#: editor.cc:1897
+#: editor.cc:1816
msgid "Set Loop from Range"
msgstr "Imposta il ciclo dall'intervallo"
-#: editor.cc:1898
+#: editor.cc:1817
msgid "Set Punch from Range"
msgstr "Imposta il punch dall'intervallo"
-#: editor.cc:1901
+#: editor.cc:1820
msgid "Add Range Markers"
msgstr "Aggiungi marcatori di intervallo"
-#: editor.cc:1904
+#: editor.cc:1823
msgid "Crop Region to Range"
msgstr "Rifila la regione in base all'intervallo"
-#: editor.cc:1905
+#: editor.cc:1824
msgid "Fill Range with Region"
msgstr "Riempi intervallo con la regione"
-#: editor.cc:1906 editor_actions.cc:289
+#: editor.cc:1825 editor_actions.cc:311
msgid "Duplicate Range"
msgstr "Duplica intervallo"
-#: editor.cc:1909
+#: editor.cc:1828
msgid "Consolidate Range"
msgstr "Consolida l'intervallo"
-#: editor.cc:1910
+#: editor.cc:1829
msgid "Consolidate Range With Processing"
msgstr "Consolida l'intervallo processando i dati"
-#: editor.cc:1911
+#: editor.cc:1830
msgid "Bounce Range to Region List"
msgstr "Fissa l'intervallo nella lista regioni"
-#: editor.cc:1912
+#: editor.cc:1831
msgid "Bounce Range to Region List With Processing"
msgstr "Fissa l'intervallo nella lista regioni elaborandolo"
-#: editor.cc:1913 editor_markers.cc:908
+#: editor.cc:1832 editor_markers.cc:922
msgid "Export Range..."
msgstr ""
-#: editor.cc:1915
+#: editor.cc:1834
msgid "Export Video Range..."
msgstr ""
-#: editor.cc:1931 editor.cc:2012 editor_actions.cc:281
+#: editor.cc:1850 editor.cc:1931 editor_actions.cc:303
msgid "Play From Edit Point"
msgstr "Suona dal punto di modifica"
-#: editor.cc:1932 editor.cc:2013
+#: editor.cc:1851 editor.cc:1932
msgid "Play From Start"
msgstr "Riproduci dall'inizio"
-#: editor.cc:1933
+#: editor.cc:1852
msgid "Play Region"
msgstr "Riproduci la regione"
-#: editor.cc:1935
+#: editor.cc:1854
msgid "Loop Region"
msgstr "Regione in ciclo"
-#: editor.cc:1945 editor.cc:2022
+#: editor.cc:1864 editor.cc:1941
msgid "Select All in Track"
msgstr "Seleziona tutto nella traccia"
-#: editor.cc:1946 editor.cc:2023 editor_actions.cc:185
-#: export_timespan_selector.cc:53 processor_box.cc:2276
-msgid "Select All"
-msgstr "Seleziona tutto"
+#: editor.cc:1865 editor.cc:1942 editor_actions.cc:194
+msgid "Select All Objects"
+msgstr ""
-#: editor.cc:1947 editor.cc:2024
+#: editor.cc:1866 editor.cc:1943
msgid "Invert Selection in Track"
msgstr "Inverti la selezione nella traccia"
-#: editor.cc:1948 editor.cc:2025 editor_actions.cc:187
+#: editor.cc:1867 editor.cc:1944 editor_actions.cc:197
msgid "Invert Selection"
msgstr "Inverti selezione"
-#: editor.cc:1950
+#: editor.cc:1869
msgid "Set Range to Loop Range"
msgstr "Imposta l'intervallo come ciclo"
-#: editor.cc:1951
+#: editor.cc:1870
msgid "Set Range to Punch Range"
msgstr "Imposta l'intervallo come intervallo di punch"
-#: editor.cc:1953 editor.cc:2027 editor_actions.cc:188
+#: editor.cc:1872 editor.cc:1946 editor_actions.cc:199 editor_actions.cc:200
msgid "Select All After Edit Point"
msgstr "Seleziona tutto dopo il punto di modifica"
-#: editor.cc:1954 editor.cc:2028 editor_actions.cc:189
+#: editor.cc:1873 editor.cc:1947 editor_actions.cc:201 editor_actions.cc:202
msgid "Select All Before Edit Point"
msgstr "Seleziona tutto prima del punto di modifica"
-#: editor.cc:1955 editor.cc:2029
+#: editor.cc:1874 editor.cc:1948
msgid "Select All After Playhead"
msgstr "Seleziona tutto dopo la testina"
-#: editor.cc:1956 editor.cc:2030
+#: editor.cc:1875 editor.cc:1949
msgid "Select All Before Playhead"
msgstr "Seleziona tutto prima della testina"
-#: editor.cc:1957
+#: editor.cc:1876
msgid "Select All Between Playhead and Edit Point"
msgstr "Seleziona tutto tra la testina ed il punto di modifica"
-#: editor.cc:1958
+#: editor.cc:1877
msgid "Select All Within Playhead and Edit Point"
msgstr "Seleziona tutto tra testina e punto di modifca"
-#: editor.cc:1959
+#: editor.cc:1878
msgid "Select Range Between Playhead and Edit Point"
msgstr "Seleziona l'intervallo tra la testina ed il punto di modifica"
-#: editor.cc:1961 editor.cc:2032 editor_actions.cc:127 editor_actions.cc:128
+#: editor.cc:1880 editor.cc:1951 editor_actions.cc:131 editor_actions.cc:132
msgid "Select"
msgstr "Seleziona"
-#: editor.cc:1969 editor.cc:2040 editor_actions.cc:309 processor_box.cc:2261
+#: editor.cc:1888 editor.cc:1959 editor_actions.cc:334 processor_box.cc:2495
msgid "Cut"
msgstr "Taglia"
-#: editor.cc:1970 editor.cc:2041 editor_actions.cc:312 processor_box.cc:2264
+#: editor.cc:1889 editor.cc:1960 editor_actions.cc:338 processor_box.cc:2498
msgid "Copy"
msgstr "Copia"
-#: editor.cc:1971 editor.cc:2042 editor_actions.cc:313 processor_box.cc:2272
+#: editor.cc:1890 editor.cc:1961 editor_actions.cc:339 processor_box.cc:2506
msgid "Paste"
msgstr "Incolla"
-#: editor.cc:1975 editor_actions.cc:87
+#: editor.cc:1894 editor_actions.cc:91
msgid "Align"
msgstr "Allinea"
-#: editor.cc:1976
+#: editor.cc:1895
msgid "Align Relative"
msgstr "Allinea Realtivo"
-#: editor.cc:1983
+#: editor.cc:1902
msgid "Insert Selected Region"
msgstr "Inserisci la regione selezionata"
-#: editor.cc:1984
+#: editor.cc:1903
msgid "Insert Existing Media"
msgstr "Inserisci media"
-#: editor.cc:1993 editor.cc:2049
+#: editor.cc:1912 editor.cc:1968
msgid "Nudge Entire Track Later"
msgstr ""
-#: editor.cc:1994 editor.cc:2050
+#: editor.cc:1913 editor.cc:1969
msgid "Nudge Track After Edit Point Later"
msgstr ""
-#: editor.cc:1995 editor.cc:2051
+#: editor.cc:1914 editor.cc:1970
msgid "Nudge Entire Track Earlier"
msgstr ""
-#: editor.cc:1996 editor.cc:2052
+#: editor.cc:1915 editor.cc:1971
msgid "Nudge Track After Edit Point Earlier"
msgstr ""
-#: editor.cc:1998 editor.cc:2054
+#: editor.cc:1917 editor.cc:1973
msgid "Nudge"
msgstr "Trascina"
-#: editor.cc:3074
+#: editor.cc:2916 editor.cc:3491 editor.cc:3561 midi_channel_selector.cc:159
+#: midi_channel_selector.cc:397 midi_channel_selector.cc:433
+msgid "All"
+msgstr "Tutto"
+
+#: editor.cc:3122
msgid "Smart Mode (add Range functions to Object mode)"
msgstr ""
-#: editor.cc:3075
+#: editor.cc:3123
msgid "Object Mode (select/move Objects)"
msgstr ""
-#: editor.cc:3076
+#: editor.cc:3124
+msgid "Cut Mode (split Regions)"
+msgstr ""
+
+#: editor.cc:3125
msgid "Range Mode (select/move Ranges)"
msgstr ""
-#: editor.cc:3077
+#: editor.cc:3126
msgid "Draw/Edit MIDI Notes"
msgstr ""
-#: editor.cc:3078
+#: editor.cc:3127
msgid "Draw Region Gain"
msgstr "Traccia il guadagno della regione"
-#: editor.cc:3079
+#: editor.cc:3128
msgid "Select Zoom Range"
msgstr "Intervallo di zoom"
-#: editor.cc:3080
+#: editor.cc:3129
msgid "Stretch/Shrink Regions and MIDI Notes"
msgstr "Allunga/restringi le regioni e le note MIDI"
-#: editor.cc:3081
+#: editor.cc:3130
msgid "Listen to Specific Regions"
msgstr "Ascolta specifiche regioni"
-#: editor.cc:3082
+#: editor.cc:3131
msgid "Note Level Editing"
msgstr ""
-#: editor.cc:3083
+#: editor.cc:3132
msgid ""
"Groups: click to (de)activate\n"
"Context-click for other operations"
@@ -2843,89 +2859,182 @@ msgstr ""
"Gruppi: clicca per disattivare\n"
"Click di contesto per il resto delle operazioni"
-#: editor.cc:3084
+#: editor.cc:3133
msgid "Nudge Region/Selection Later"
msgstr ""
-#: editor.cc:3085
+#: editor.cc:3134
msgid "Nudge Region/Selection Earlier"
msgstr ""
-#: editor.cc:3086 editor_actions.cc:242
+#: editor.cc:3135 editor_actions.cc:262
msgid "Zoom In"
msgstr "Zoom avanti"
-#: editor.cc:3087 editor_actions.cc:241
+#: editor.cc:3136 editor_actions.cc:261
msgid "Zoom Out"
msgstr "Zoom indietro"
-#: editor.cc:3088 editor_actions.cc:243
+#: editor.cc:3137
+msgid "Zoom to Time Scale"
+msgstr ""
+
+#: editor.cc:3138 editor.cc:3513 editor_actions.cc:263
msgid "Zoom to Session"
msgstr "Zoom sulla sessione"
-#: editor.cc:3089
+#: editor.cc:3139
msgid "Zoom focus"
msgstr "Zoom"
-#: editor.cc:3090
+#: editor.cc:3140
msgid "Expand Tracks"
msgstr "Espandi tracce"
-#: editor.cc:3091
+#: editor.cc:3141
msgid "Shrink Tracks"
msgstr "Restringi le tracce"
-#: editor.cc:3092
+#: editor.cc:3142
+msgid "Number of visible tracks"
+msgstr ""
+
+#: editor.cc:3143
msgid "Snap/Grid Units"
msgstr "Aggancia/Griglia"
-#: editor.cc:3093
+#: editor.cc:3144
msgid "Snap/Grid Mode"
msgstr "Aggancia/Modalità griglia"
-#: editor.cc:3095
+#: editor.cc:3146
msgid "Edit Mode"
msgstr "Modalità di modifica"
-#: editor.cc:3096
+#: editor.cc:3147
msgid ""
"Nudge Clock\n"
"(controls distance used to nudge regions and selections)"
msgstr ""
-#: editor.cc:3198
-msgid "malformed URL passed to drag-n-drop code"
-msgstr "URL non valido passato al codice drag-n-drop"
-
-#: editor.cc:3260 editor_actions.cc:291
+#: editor.cc:3285 editor_actions.cc:313
msgid "Command|Undo"
msgstr ""
-#: editor.cc:3262
+#: editor.cc:3287
msgid "Command|Undo (%1)"
msgstr ""
-#: editor.cc:3269 editor_actions.cc:292
+#: editor.cc:3294 editor_actions.cc:315 editor_actions.cc:316
+#: editor_actions.cc:317
msgid "Redo"
msgstr "Ripristina"
-#: editor.cc:3271
+#: editor.cc:3296
msgid "Redo (%1)"
msgstr "Ripristina (%1)"
-#: editor.cc:3290 editor.cc:3314 editor_actions.cc:106 editor_actions.cc:1794
+#: editor.cc:3315 editor.cc:3339 editor_actions.cc:110 editor_actions.cc:1842
msgid "Duplicate"
msgstr "Duplica"
-#: editor.cc:3291
+#: editor.cc:3316
msgid "Number of duplications:"
msgstr "Numero di duplicazioni:"
-#: editor.cc:3868
+#: editor.cc:3490
+msgid "Selected"
+msgstr ""
+
+#: editor.cc:3493
+msgid "Fit 1 track"
+msgstr ""
+
+#: editor.cc:3494
+msgid "Fit 2 tracks"
+msgstr ""
+
+#: editor.cc:3495
+msgid "Fit 4 tracks"
+msgstr ""
+
+#: editor.cc:3496
+msgid "Fit 8 tracks"
+msgstr ""
+
+#: editor.cc:3497
+msgid "Fit 16 tracks"
+msgstr ""
+
+#: editor.cc:3498
+msgid "Fit 24 tracks"
+msgstr ""
+
+#: editor.cc:3499
+msgid "Fit 32 tracks"
+msgstr ""
+
+#: editor.cc:3500
+msgid "Fit 48 tracks"
+msgstr ""
+
+#: editor.cc:3501
+msgid "Fit All tracks"
+msgstr ""
+
+#: editor.cc:3502
+msgid "Fit Selected tracks"
+msgstr ""
+
+#: editor.cc:3504
+msgid "Zoom to 10 ms"
+msgstr ""
+
+#: editor.cc:3505
+msgid "Zoom to 100 ms"
+msgstr ""
+
+#: editor.cc:3506
+msgid "Zoom to 1 sec"
+msgstr ""
+
+#: editor.cc:3507
+msgid "Zoom to 10 sec"
+msgstr ""
+
+#: editor.cc:3508
+msgid "Zoom to 1 min"
+msgstr ""
+
+#: editor.cc:3509
+msgid "Zoom to 10 min"
+msgstr ""
+
+#: editor.cc:3510
+msgid "Zoom to 1 hour"
+msgstr ""
+
+#: editor.cc:3511
+msgid "Zoom to 8 hours"
+msgstr ""
+
+#: editor.cc:3512
+msgid "Zoom to 24 hours"
+msgstr ""
+
+#: editor.cc:3514
+msgid "Zoom to Range/Region Selection"
+msgstr ""
+
+#: editor.cc:3583
+msgid "*"
+msgstr ""
+
+#: editor.cc:3918
msgid "Playlist Deletion"
msgstr "Eliminazione playlist"
-#: editor.cc:3869
+#: editor.cc:3919
msgid ""
"Playlist %1 is currently unused.\n"
"If it is kept, its audio files will not be cleaned.\n"
@@ -2935,1311 +3044,1303 @@ msgstr ""
"Se viene mantenuta i file audio associati non saranno puliti.\n"
"Se viene eliminata, soltanto i file audio da essa utilizzati saranno puliti."
-#: editor.cc:3879
+#: editor.cc:3929
msgid "Delete Playlist"
msgstr "Elimina la playlist"
-#: editor.cc:3880
+#: editor.cc:3930
msgid "Keep Playlist"
msgstr "Mantieni la playlist"
-#: editor.cc:3881 editor_audio_import.cc:581 editor_ops.cc:5856
-#: engine_dialog.cc:1711 sfdb_freesound_mootcher.cc:69 processor_box.cc:2030
-#: processor_box.cc:2055
+#: editor.cc:3931 editor_audio_import.cc:579 editor_ops.cc:5931
+#: engine_dialog.cc:1985 sfdb_freesound_mootcher.cc:69 processor_box.cc:2263
+#: processor_box.cc:2288
msgid "Cancel"
msgstr "Cancella"
-#: editor.cc:4025
+#: editor.cc:4065
msgid "new playlists"
msgstr "nuove playlist"
-#: editor.cc:4041
+#: editor.cc:4081
msgid "copy playlists"
msgstr "copia le playlist"
-#: editor.cc:4056
+#: editor.cc:4096
msgid "clear playlists"
msgstr "cancella le playlist"
-#: editor.cc:4691
+#: editor.cc:4771
msgid "Please wait while %1 loads visual data."
msgstr ""
-#: editor.cc:5496 editor_markers.cc:940 panner_ui.cc:392 processor_box.cc:2292
+#: editor.cc:5592 editor_markers.cc:954 panner_ui.cc:409 processor_box.cc:2526
msgid "Edit..."
msgstr "Modifica..."
-#: editor_actions.cc:88
+#: editor_actions.cc:92
msgid "Autoconnect"
msgstr "Connetti automaticamente"
-#: editor_actions.cc:89
+#: editor_actions.cc:93
msgid "Crossfades"
msgstr "Dissolvenze incrociate"
-#: editor_actions.cc:91
+#: editor_actions.cc:95
msgid "Move Selected Marker"
msgstr "Muovi il marcatore selezionato"
-#: editor_actions.cc:92
+#: editor_actions.cc:96
msgid "Select Range Operations"
msgstr "Seleziona le operazioni di intervallo"
-#: editor_actions.cc:93
+#: editor_actions.cc:97
msgid "Select Regions"
msgstr "Seleziona regioni"
-#: editor_actions.cc:94
+#: editor_actions.cc:98
msgid "Edit Point"
msgstr "Punto di modifica"
-#: editor_actions.cc:95
+#: editor_actions.cc:99
msgid "Fade"
msgstr "Dissolvi"
-#: editor_actions.cc:96
+#: editor_actions.cc:100
msgid "Latch"
msgstr "Chiavistello (?)"
-#: editor_actions.cc:97 editor_regions.cc:111 region_editor.cc:46
+#: editor_actions.cc:101 editor_regions.cc:112 region_editor.cc:45
msgid "Region"
msgstr "Regione"
-#: editor_actions.cc:98
+#: editor_actions.cc:102
msgid "Layering"
msgstr "Strato"
-#: editor_actions.cc:99 editor_regions.cc:112 gtk-custom-ruler.c:152
-#: stereo_panner_editor.cc:44
+#: editor_actions.cc:103 editor_regions.cc:113 stereo_panner_editor.cc:44
msgid "Position"
msgstr "Posizione"
-#: editor_actions.cc:101 gain_meter.cc:120 gain_meter.cc:794 panner_ui.cc:176
-#: panner_ui.cc:585
+#: editor_actions.cc:105 gain_meter.cc:122 gain_meter.cc:800 panner_ui.cc:177
+#: panner_ui.cc:634
msgid "Trim"
msgstr "Spunta"
-#: editor_actions.cc:102 editor_actions.cc:122 route_group_dialog.cc:40
+#: editor_actions.cc:106 editor_actions.cc:126 route_group_dialog.cc:46
msgid "Gain"
msgstr "Guadagno"
-#: editor_actions.cc:103 editor_actions.cc:538
+#: editor_actions.cc:107 editor_actions.cc:573
msgid "Ranges"
msgstr "Intervalli"
-#: editor_actions.cc:104 editor_actions.cc:1790 session_option_editor.cc:145
-#: session_option_editor.cc:147 session_option_editor.cc:156
-#: session_option_editor.cc:163
+#: editor_actions.cc:108 editor_actions.cc:1838 session_option_editor.cc:135
+#: session_option_editor.cc:144 session_option_editor.cc:151
msgid "Fades"
msgstr "Dissolvenze"
-#: editor_actions.cc:107
+#: editor_actions.cc:111
msgid "Link"
msgstr "Collega"
-#: editor_actions.cc:108 editor_actions.cc:141
+#: editor_actions.cc:112 editor_actions.cc:145
msgid "Zoom Focus"
msgstr "Zoom"
-#: editor_actions.cc:109
+#: editor_actions.cc:113
msgid "Locate to Markers"
msgstr "Posizionati sui marcatori"
-#: editor_actions.cc:110 editor_actions.cc:539
-msgid "Markers"
-msgstr "Marcatori"
-
-#: editor_actions.cc:111
+#: editor_actions.cc:115
msgid "Meter falloff"
msgstr ""
-#: editor_actions.cc:112
+#: editor_actions.cc:116
msgid "Meter hold"
msgstr "Tenuta del misuratore"
-#: editor_actions.cc:113 session_option_editor.cc:234
+#: editor_actions.cc:117 session_option_editor.cc:321
msgid "MIDI Options"
msgstr ""
-#: editor_actions.cc:114
+#: editor_actions.cc:118
msgid "Misc Options"
msgstr "Opzioni varie"
-#: editor_actions.cc:115 rc_option_editor.cc:1450 route_group_dialog.cc:48
-#: session_option_editor.cc:218 session_option_editor.cc:225
+#: editor_actions.cc:119 rc_option_editor.cc:1714 route_group_dialog.cc:54
+#: session_option_editor.cc:243 session_option_editor.cc:250
msgid "Monitoring"
msgstr "Controllo"
-#: editor_actions.cc:116
+#: editor_actions.cc:120
msgid "Active Mark"
msgstr "Marcatore"
-#: editor_actions.cc:119
+#: editor_actions.cc:123
msgid "Primary Clock"
msgstr "Orologio principale"
-#: editor_actions.cc:120
+#: editor_actions.cc:124
msgid "Pullup / Pulldown"
msgstr ""
-#: editor_actions.cc:121
+#: editor_actions.cc:125
msgid "Region operations"
msgstr "Operazioni sulle regioni"
-#: editor_actions.cc:123
+#: editor_actions.cc:127 ruler_dialog.cc:28
msgid "Rulers"
msgstr "Righelli"
-#: editor_actions.cc:124
+#: editor_actions.cc:128
msgid "Views"
msgstr "Viste"
-#: editor_actions.cc:125
+#: editor_actions.cc:129
msgid "Scroll"
msgstr "Scorrimento"
-#: editor_actions.cc:126
+#: editor_actions.cc:130
msgid "Secondary Clock"
msgstr "Orologio secondario"
-#: editor_actions.cc:129 editor_actions.cc:297
+#: editor_actions.cc:133 editor_actions.cc:322
msgid "Separate"
msgstr "Separa"
-#: editor_actions.cc:132 mixer_strip.cc:1914 route_time_axis.cc:208
-#: route_time_axis.cc:2417
-msgid "Solo"
-msgstr "Solo"
-
-#: editor_actions.cc:133
+#: editor_actions.cc:137
msgid "Subframes"
msgstr ""
-#: editor_actions.cc:136
+#: editor_actions.cc:140
msgid "Timecode fps"
msgstr ""
-#: editor_actions.cc:137 route_time_axis.cc:430
+#: editor_actions.cc:141 route_time_axis.cc:548
msgid "Height"
msgstr "Altezza"
-#: editor_actions.cc:139
+#: editor_actions.cc:143
msgid "Tools"
msgstr "Strumenti"
-#: editor_actions.cc:140
+#: editor_actions.cc:144
msgid "View"
msgstr "Vista"
-#: editor_actions.cc:142
+#: editor_actions.cc:146
msgid "Zoom"
msgstr "Zoom"
-#: editor_actions.cc:148
+#: editor_actions.cc:152
msgid "Break drag or deselect all"
msgstr "Interrompi il trascinamento o deseleziona tutto"
-#: editor_actions.cc:150
+#: editor_actions.cc:159
msgid "Show Editor Mixer"
msgstr "Mostra il Mixer dell'editor"
-#: editor_actions.cc:151
+#: editor_actions.cc:160
msgid "Show Editor List"
msgstr "Mostra la lista dell'editor"
-#: editor_actions.cc:153
+#: editor_actions.cc:162
msgid "Playhead to Next Region Boundary"
msgstr "Sposta la testina al prossimo limite di regione"
-#: editor_actions.cc:154
+#: editor_actions.cc:163
msgid "Playhead to Next Region Boundary (No Track Selection)"
msgstr ""
"Sposta la testina al prossimo limite di regione (nessuna selezione della "
"traccia)"
-#: editor_actions.cc:155
+#: editor_actions.cc:164
msgid "Playhead to Previous Region Boundary"
msgstr "Sposta la testina al limite di regione precedente"
-#: editor_actions.cc:156
+#: editor_actions.cc:165
msgid "Playhead to Previous Region Boundary (No Track Selection)"
msgstr ""
"Sposta la testina al limite di regione precedente (nessuna selezione della "
"traccia)"
-#: editor_actions.cc:158
+#: editor_actions.cc:167
msgid "Playhead to Next Region Start"
msgstr "Sposta la testina all'inizio della prossima regione"
-#: editor_actions.cc:159
+#: editor_actions.cc:168
msgid "Playhead to Next Region End"
msgstr "Sposta la testina alla fine della prossima regione"
-#: editor_actions.cc:160
+#: editor_actions.cc:169
msgid "Playhead to Next Region Sync"
msgstr ""
-#: editor_actions.cc:162
+#: editor_actions.cc:171
msgid "Playhead to Previous Region Start"
msgstr "Sposta la testina all'inizio della regione precedente"
-#: editor_actions.cc:163
+#: editor_actions.cc:172
msgid "Playhead to Previous Region End"
msgstr "Sposta la testina alla fine della regione precedente"
-#: editor_actions.cc:164
+#: editor_actions.cc:173
msgid "Playhead to Previous Region Sync"
msgstr ""
-#: editor_actions.cc:166
+#: editor_actions.cc:175
msgid "To Next Region Boundary"
msgstr "Al prossimo limite di regione"
-#: editor_actions.cc:167
+#: editor_actions.cc:176
msgid "To Next Region Boundary (No Track Selection)"
msgstr "Al prossimo limite di regione (nessuna selezione della traccia)"
-#: editor_actions.cc:168
+#: editor_actions.cc:177
msgid "To Previous Region Boundary"
msgstr "Al precedente limite di regione"
-#: editor_actions.cc:169
+#: editor_actions.cc:178
msgid "To Previous Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:171
+#: editor_actions.cc:180
msgid "To Next Region Start"
msgstr "All'inizio della prossima regione"
-#: editor_actions.cc:172
+#: editor_actions.cc:181
msgid "To Next Region End"
msgstr "Alla fine della prossima regione"
-#: editor_actions.cc:173
+#: editor_actions.cc:182
msgid "To Next Region Sync"
msgstr ""
-#: editor_actions.cc:175
+#: editor_actions.cc:184
msgid "To Previous Region Start"
msgstr "All'inizio della regione precedente"
-#: editor_actions.cc:176
+#: editor_actions.cc:185
msgid "To Previous Region End"
msgstr "Alla fine della regione precedente"
-#: editor_actions.cc:177
+#: editor_actions.cc:186
msgid "To Previous Region Sync"
msgstr ""
-#: editor_actions.cc:179
+#: editor_actions.cc:188
msgid "To Range Start"
msgstr "All'inizio dell'intervallo"
-#: editor_actions.cc:180
+#: editor_actions.cc:189
msgid "To Range End"
msgstr "Alla fine dell'intervallo"
-#: editor_actions.cc:182
+#: editor_actions.cc:191
msgid "Playhead to Range Start"
msgstr "Sposta la testina all'inizio dell'intervallo"
-#: editor_actions.cc:183
+#: editor_actions.cc:192
msgid "Playhead to Range End"
msgstr "Sposta la testina alla fine dell'intervallo"
-#: editor_actions.cc:186 export_timespan_selector.cc:61 processor_box.cc:2278
+#: editor_actions.cc:195
+msgid "Select All Tracks"
+msgstr ""
+
+#: editor_actions.cc:196 export_timespan_selector.cc:61 processor_box.cc:2512
msgid "Deselect All"
msgstr "Deseleziona tutto"
-#: editor_actions.cc:191
+#: editor_actions.cc:204
msgid "Select All Overlapping Edit Range"
msgstr "Seleziona tutti gli intervalli sovrapposti"
-#: editor_actions.cc:192
+#: editor_actions.cc:205
msgid "Select All Inside Edit Range"
msgstr "Seleziona tutto nell'intervallo"
-#: editor_actions.cc:194
+#: editor_actions.cc:207
msgid "Select Edit Range"
msgstr "Seleziona l'intervallo"
-#: editor_actions.cc:196
+#: editor_actions.cc:209
msgid "Select All in Punch Range"
msgstr "Seleziona tutto nll'intervallo di Punch"
-#: editor_actions.cc:197
+#: editor_actions.cc:210
msgid "Select All in Loop Range"
msgstr "Seleziona tutto nell'intervallo di ciclo"
-#: editor_actions.cc:199
+#: editor_actions.cc:212
msgid "Select Next Track or Bus"
msgstr "Seleziona la prossima traccia o bus"
-#: editor_actions.cc:200
+#: editor_actions.cc:213
msgid "Select Previous Track or Bus"
msgstr "Seleziona la traccia o il bus precedente"
-#: editor_actions.cc:202
+#: editor_actions.cc:215
msgid "Toggle Record Enable"
msgstr "Abilita la registrazione"
-#: editor_actions.cc:204
+#: editor_actions.cc:217
msgid "Toggle Solo"
msgstr ""
-#: editor_actions.cc:206
+#: editor_actions.cc:219
msgid "Toggle Mute"
msgstr ""
-#: editor_actions.cc:208
+#: editor_actions.cc:221
msgid "Toggle Solo Isolate"
msgstr ""
-#: editor_actions.cc:213
+#: editor_actions.cc:226
msgid "Save View %1"
msgstr "Salva la vista %1"
-#: editor_actions.cc:219
+#: editor_actions.cc:232
msgid "Goto View %1"
msgstr "Vai alla vista %1"
-#: editor_actions.cc:225
+#: editor_actions.cc:238
msgid "Locate to Mark %1"
msgstr "Posizionati sul marcatore %1"
-#: editor_actions.cc:229
+#: editor_actions.cc:242 editor_actions.cc:243
msgid "Jump to Next Mark"
msgstr ""
-#: editor_actions.cc:230
+#: editor_actions.cc:244 editor_actions.cc:245
msgid "Jump to Previous Mark"
msgstr ""
-#: editor_actions.cc:231
+#: editor_actions.cc:247 editor_actions.cc:248
msgid "Add Mark from Playhead"
msgstr "Aggiungi marcatore in corrispondenza della testina"
-#: editor_actions.cc:233
+#: editor_actions.cc:250 editor_actions.cc:251
+msgid "Remove Mark at Playhead"
+msgstr ""
+
+#: editor_actions.cc:253
msgid "Nudge Next Later"
msgstr ""
-#: editor_actions.cc:234
+#: editor_actions.cc:254
msgid "Nudge Next Earlier"
msgstr ""
-#: editor_actions.cc:236
+#: editor_actions.cc:256
msgid "Nudge Playhead Forward"
msgstr "Avanza la testina"
-#: editor_actions.cc:237
+#: editor_actions.cc:257
msgid "Nudge Playhead Backward"
msgstr "Indietreggia la testina"
-#: editor_actions.cc:238
+#: editor_actions.cc:258
msgid "Playhead To Next Grid"
msgstr ""
-#: editor_actions.cc:239
+#: editor_actions.cc:259
msgid "Playhead To Previous Grid"
msgstr ""
-#: editor_actions.cc:244
+#: editor_actions.cc:264
msgid "Zoom to Region"
msgstr "Zoom sulla regione"
-#: editor_actions.cc:245
+#: editor_actions.cc:265
msgid "Zoom to Region (Width and Height)"
msgstr "Zoom sulla regione (larghezza e altezza)"
-#: editor_actions.cc:246
+#: editor_actions.cc:267
+msgid "Zoom to Range (Width and Height)"
+msgstr ""
+
+#: editor_actions.cc:268
msgid "Toggle Zoom State"
msgstr "Cambia lo stato di zoom"
-#: editor_actions.cc:248
+#: editor_actions.cc:270
msgid "Expand Track Height"
msgstr "Aumenta l'ampiezza della traccia"
-#: editor_actions.cc:249
+#: editor_actions.cc:271
msgid "Shrink Track Height"
msgstr "Restringi l'altezza della traccia"
-#: editor_actions.cc:251
+#: editor_actions.cc:273
msgid "Move Selected Tracks Up"
msgstr "Muovi in alto le tracce selezionate"
-#: editor_actions.cc:253
+#: editor_actions.cc:275
msgid "Move Selected Tracks Down"
msgstr "Muovi in basso le tracce selezionate"
-#: editor_actions.cc:256
+#: editor_actions.cc:278
msgid "Scroll Tracks Up"
msgstr "Scorri le tracce verso l'alto"
-#: editor_actions.cc:258
+#: editor_actions.cc:280
msgid "Scroll Tracks Down"
msgstr "Scorri le tracce verso il basso"
-#: editor_actions.cc:260
+#: editor_actions.cc:282
msgid "Step Tracks Up"
msgstr ""
-#: editor_actions.cc:262
+#: editor_actions.cc:284
msgid "Step Tracks Down"
msgstr ""
-#: editor_actions.cc:265
+#: editor_actions.cc:287
msgid "Scroll Backward"
msgstr "Scorri all'indietro"
-#: editor_actions.cc:266
+#: editor_actions.cc:288
msgid "Scroll Forward"
msgstr "Scorri in avanti"
-#: editor_actions.cc:267
+#: editor_actions.cc:289
msgid "Center Playhead"
msgstr "Centra testina"
-#: editor_actions.cc:268
+#: editor_actions.cc:290
msgid "Center Edit Point"
msgstr "Centra il punto di modifica"
-#: editor_actions.cc:270
+#: editor_actions.cc:292
msgid "Playhead Forward"
msgstr "Testina in avanti"
-#: editor_actions.cc:271
+#: editor_actions.cc:293
msgid "Playhead Backward"
msgstr "Testina indietro"
-#: editor_actions.cc:273
+#: editor_actions.cc:295
msgid "Playhead to Active Mark"
msgstr "Testina sul marcatore attivo"
-#: editor_actions.cc:274
+#: editor_actions.cc:296
msgid "Active Mark to Playhead"
msgstr "Marcatore sulla testina"
-#: editor_actions.cc:276
+#: editor_actions.cc:298
msgid "Set Loop from Edit Range"
msgstr "Imposta il ciclo dall'intervallodi loo"
-#: editor_actions.cc:277
+#: editor_actions.cc:299
msgid "Set Punch from Edit Range"
msgstr "Imposta punch dall'intervallo di modifica"
-#: editor_actions.cc:280
+#: editor_actions.cc:302
msgid "Play Selected Regions"
msgstr "Esegui le regioni selezionate"
-#: editor_actions.cc:282
+#: editor_actions.cc:304
msgid "Play from Edit Point and Return"
msgstr "Riproduci dal punto di modifica e ritorna"
-#: editor_actions.cc:284
+#: editor_actions.cc:306
msgid "Play Edit Range"
msgstr "Suona l'intervallo"
-#: editor_actions.cc:286
+#: editor_actions.cc:308
msgid "Playhead to Mouse"
msgstr "Testina sul mouse"
-#: editor_actions.cc:287
+#: editor_actions.cc:309
msgid "Active Marker to Mouse"
msgstr "Marcatore attivo sul mouse"
-#: editor_actions.cc:294
+#: editor_actions.cc:319
msgid "Export Audio"
msgstr "Esporta l'audio"
-#: editor_actions.cc:295 export_dialog.cc:406
+#: editor_actions.cc:320 export_dialog.cc:396
msgid "Export Range"
msgstr "Esporta l'intervallo"
-#: editor_actions.cc:300
+#: editor_actions.cc:325
msgid "Separate Using Punch Range"
msgstr "Separa usando l'intervallo di punch"
-#: editor_actions.cc:303
+#: editor_actions.cc:328
msgid "Separate Using Loop Range"
msgstr "Separa usando l'intervallo di ciclo"
-#: editor_actions.cc:306 editor_actions.cc:323
+#: editor_actions.cc:331 editor_actions.cc:353
msgid "Crop"
msgstr "Rifila"
-#: editor_actions.cc:315
+#: editor_actions.cc:341
+msgid "Fade Range Selection"
+msgstr ""
+
+#: editor_actions.cc:343
msgid "Set Tempo from Edit Range = Bar"
msgstr ""
-#: editor_actions.cc:317
+#: editor_actions.cc:345
msgid "Log"
msgstr "Messaggio"
-#: editor_actions.cc:320
+#: editor_actions.cc:348 editor_actions.cc:349
msgid "Move Later to Transient"
msgstr ""
-#: editor_actions.cc:321
+#: editor_actions.cc:350 editor_actions.cc:351
msgid "Move Earlier to Transient"
msgstr ""
-#: editor_actions.cc:325
+#: editor_actions.cc:355 editor_actions.cc:358
msgid "Start Range"
msgstr "Inizio intervallo"
-#: editor_actions.cc:326
+#: editor_actions.cc:356 editor_actions.cc:359
msgid "Finish Range"
msgstr "Fine intervallo"
-#: editor_actions.cc:327
-msgid "Finish Add Range"
-msgstr ""
-
-#: editor_actions.cc:357
+#: editor_actions.cc:391
msgid "Follow Playhead"
msgstr "Segui la testina"
-#: editor_actions.cc:358
+#: editor_actions.cc:392
msgid "Remove Last Capture"
msgstr "Rimuovi l'ultima registrazione"
-#: editor_actions.cc:360
+#: editor_actions.cc:394
msgid "Stationary Playhead"
msgstr ""
-#: editor_actions.cc:362 insert_time_dialog.cc:32
+#: editor_actions.cc:396 insert_time_dialog.cc:32
msgid "Insert Time"
msgstr "Inserisci tempo"
-#: editor_actions.cc:365
+#: editor_actions.cc:399
msgid "Toggle Active"
msgstr "Attiva"
-#: editor_actions.cc:370 editor_actions.cc:1716 editor_markers.cc:876
-#: editor_markers.cc:941 editor_snapshots.cc:121 mixer_strip.cc:1495
-#: route_time_axis.cc:710
+#: editor_actions.cc:404 editor_actions.cc:1764 editor_markers.cc:890
+#: editor_markers.cc:955 editor_snapshots.cc:122 mixer_strip.cc:1506
+#: route_time_axis.cc:829
msgid "Remove"
msgstr "Rimuovi"
-#: editor_actions.cc:374
+#: editor_actions.cc:408
msgid "Fit Selected Tracks"
msgstr "Adatta le tracce selezionate"
-#: editor_actions.cc:376 time_axis_view.cc:1302
+#: editor_actions.cc:411 time_axis_view.cc:1336
msgid "Largest"
msgstr "Ampissimo"
-#: editor_actions.cc:379 time_axis_view.cc:1303
+#: editor_actions.cc:414 time_axis_view.cc:1337
msgid "Larger"
msgstr "Ampio"
-#: editor_actions.cc:382 editor_rulers.cc:375 time_axis_view.cc:1304
+#: editor_actions.cc:417 editor_rulers.cc:249 time_axis_view.cc:1338
msgid "Large"
msgstr "Più ampio"
-#: editor_actions.cc:388 editor_rulers.cc:379 time_axis_view.cc:1306
+#: editor_actions.cc:423 editor_rulers.cc:253 time_axis_view.cc:1340
msgid "Small"
msgstr "Piccolo"
-#: editor_actions.cc:392
+#: editor_actions.cc:427
msgid "Sound Selected MIDI Notes"
msgstr ""
-#: editor_actions.cc:397
+#: editor_actions.cc:432
msgid "Zoom Focus Left"
msgstr "Zoom a sinistra"
-#: editor_actions.cc:398
+#: editor_actions.cc:433
msgid "Zoom Focus Right"
msgstr "Zoom a destra"
-#: editor_actions.cc:399
+#: editor_actions.cc:434
msgid "Zoom Focus Center"
msgstr "Zoom centrato"
-#: editor_actions.cc:400
+#: editor_actions.cc:435
msgid "Zoom Focus Playhead"
msgstr ""
-#: editor_actions.cc:401
+#: editor_actions.cc:436
msgid "Zoom Focus Mouse"
msgstr "Zoom sul mouse"
-#: editor_actions.cc:402
+#: editor_actions.cc:437
msgid "Zoom Focus Edit Point"
msgstr ""
-#: editor_actions.cc:404
+#: editor_actions.cc:439
msgid "Next Zoom Focus"
msgstr ""
-#: editor_actions.cc:410
+#: editor_actions.cc:445
msgid "Smart Object Mode"
msgstr ""
-#: editor_actions.cc:413
+#: editor_actions.cc:448
msgid "Smart"
msgstr ""
-#: editor_actions.cc:417
+#: editor_actions.cc:451
msgid "Object Tool"
msgstr "Strumento oggetto"
-#: editor_actions.cc:423
+#: editor_actions.cc:456
msgid "Range Tool"
msgstr "Strumento intervallo"
-#: editor_actions.cc:429
+#: editor_actions.cc:461
msgid "Note Drawing Tool"
msgstr ""
-#: editor_actions.cc:435
+#: editor_actions.cc:466
msgid "Gain Tool"
msgstr "Strumento guadagno"
-#: editor_actions.cc:441
+#: editor_actions.cc:472
msgid "Zoom Tool"
msgstr "Strumento zoom"
-#: editor_actions.cc:447
+#: editor_actions.cc:478
msgid "Audition Tool"
msgstr "Strumento ascolto"
-#: editor_actions.cc:453
+#: editor_actions.cc:483
msgid "Time FX Tool"
msgstr ""
-#: editor_actions.cc:459
+#: editor_actions.cc:489
+msgid "Cut Tool"
+msgstr ""
+
+#: editor_actions.cc:495
msgid "Step Mouse Mode"
msgstr ""
-#: editor_actions.cc:461
+#: editor_actions.cc:497
msgid "Edit MIDI"
msgstr "Modifica MIDI"
-#: editor_actions.cc:472
+#: editor_actions.cc:507
msgid "Change Edit Point"
msgstr ""
-#: editor_actions.cc:473
+#: editor_actions.cc:508
msgid "Change Edit Point Including Marker"
msgstr ""
-#: editor_actions.cc:475
-msgid "Splice"
-msgstr "Giuntura"
-
-#: editor_actions.cc:477
-msgid "Slide"
+#: editor_actions.cc:514
+msgid "Cycle Edit Mode"
msgstr ""
-#: editor_actions.cc:478 editor_actions.cc:1737 editor_markers.cc:860
-#: editor_rulers.cc:386 location_ui.cc:56
-msgid "Lock"
-msgstr "Blocca"
-
-#: editor_actions.cc:479
-msgid "Toggle Edit Mode"
-msgstr "Modalità di modifica"
-
-#: editor_actions.cc:481
+#: editor_actions.cc:516
msgid "Snap to"
msgstr "Allinea a"
-#: editor_actions.cc:482
+#: editor_actions.cc:517
msgid "Snap Mode"
msgstr "Modalita' di Allineamento"
-#: editor_actions.cc:489
+#: editor_actions.cc:524
msgid "Next Snap Mode"
msgstr ""
-#: editor_actions.cc:490
+#: editor_actions.cc:525
msgid "Next Snap Choice"
msgstr ""
-#: editor_actions.cc:491
+#: editor_actions.cc:526
msgid "Next Musical Snap Choice"
msgstr ""
-#: editor_actions.cc:492
+#: editor_actions.cc:527
msgid "Previous Snap Choice"
msgstr ""
-#: editor_actions.cc:493
+#: editor_actions.cc:528
msgid "Previous Musical Snap Choice"
msgstr ""
-#: editor_actions.cc:498
+#: editor_actions.cc:533
msgid "Snap to CD Frame"
msgstr ""
-#: editor_actions.cc:499
+#: editor_actions.cc:534
msgid "Snap to Timecode Frame"
msgstr ""
-#: editor_actions.cc:500
+#: editor_actions.cc:535
msgid "Snap to Timecode Seconds"
msgstr ""
-#: editor_actions.cc:501
+#: editor_actions.cc:536
msgid "Snap to Timecode Minutes"
msgstr ""
-#: editor_actions.cc:502
+#: editor_actions.cc:537
msgid "Snap to Seconds"
msgstr "Allinea ai secondi"
-#: editor_actions.cc:503
+#: editor_actions.cc:538
msgid "Snap to Minutes"
msgstr "Allinea ai minuti"
-#: editor_actions.cc:505
+#: editor_actions.cc:540
msgid "Snap to One Twenty Eighths"
msgstr ""
-#: editor_actions.cc:506
+#: editor_actions.cc:541
msgid "Snap to Sixty Fourths"
msgstr ""
-#: editor_actions.cc:507
+#: editor_actions.cc:542
msgid "Snap to Thirty Seconds"
msgstr "Allinea ai trentesimi di secondo"
-#: editor_actions.cc:508
+#: editor_actions.cc:543
msgid "Snap to Twenty Eighths"
msgstr "Allinea a un 1/28"
-#: editor_actions.cc:509
+#: editor_actions.cc:544
msgid "Snap to Twenty Fourths"
msgstr "Allinea a un 1/24"
-#: editor_actions.cc:510
+#: editor_actions.cc:545
msgid "Snap to Twentieths"
msgstr "Allinea a un 1/20"
-#: editor_actions.cc:511
+#: editor_actions.cc:546
msgid "Snap to Sixteenths"
msgstr "Allinea a un 1/16"
-#: editor_actions.cc:512
+#: editor_actions.cc:547
msgid "Snap to Fourteenths"
msgstr "Allinea a un 1/14"
-#: editor_actions.cc:513
+#: editor_actions.cc:548
msgid "Snap to Twelfths"
msgstr "Allinea a un 1/12"
-#: editor_actions.cc:514
+#: editor_actions.cc:549
msgid "Snap to Tenths"
msgstr "Allinea a 1/10"
-#: editor_actions.cc:515
+#: editor_actions.cc:550
msgid "Snap to Eighths"
msgstr "Allinea a 1/8"
-#: editor_actions.cc:516
+#: editor_actions.cc:551
msgid "Snap to Sevenths"
msgstr "Allinea a 1/7"
-#: editor_actions.cc:517
+#: editor_actions.cc:552
msgid "Snap to Sixths"
msgstr "Allinea a 1/6"
-#: editor_actions.cc:518
+#: editor_actions.cc:553
msgid "Snap to Fifths"
msgstr "Allinea a 1/5"
-#: editor_actions.cc:519
+#: editor_actions.cc:554
msgid "Snap to Quarters"
msgstr "Allinea a 1/4"
-#: editor_actions.cc:520
+#: editor_actions.cc:555
msgid "Snap to Thirds"
msgstr "Allinea a 1/3"
-#: editor_actions.cc:521
+#: editor_actions.cc:556
msgid "Snap to Halves"
msgstr "Allinea a 1/2"
-#: editor_actions.cc:523
+#: editor_actions.cc:558
msgid "Snap to Beat"
msgstr "Allinea al battito"
-#: editor_actions.cc:524
+#: editor_actions.cc:559
msgid "Snap to Bar"
msgstr "Allinea alla battuta"
-#: editor_actions.cc:525
+#: editor_actions.cc:560
msgid "Snap to Mark"
msgstr "Allinea al marcatore"
-#: editor_actions.cc:526
+#: editor_actions.cc:561
msgid "Snap to Region Start"
msgstr "Spostati ad inizio regione"
-#: editor_actions.cc:527
+#: editor_actions.cc:562
msgid "Snap to Region End"
msgstr "Allinea a fine regione"
-#: editor_actions.cc:528
+#: editor_actions.cc:563
msgid "Snap to Region Sync"
msgstr ""
-#: editor_actions.cc:529
+#: editor_actions.cc:564
msgid "Snap to Region Boundary"
msgstr ""
-#: editor_actions.cc:531
+#: editor_actions.cc:566
msgid "Show Marker Lines"
msgstr ""
-#: editor_actions.cc:541
+#: editor_actions.cc:576
msgid "Loop/Punch"
msgstr "Ciclo/Punch"
-#: editor_actions.cc:545
+#: editor_actions.cc:580
msgid "Min:Sec"
msgstr "Min:Sec"
-#: editor_actions.cc:547 editor_actions.cc:550
+#: editor_actions.cc:582 editor_actions.cc:585
msgid "Video Monitor"
msgstr ""
-#: editor_actions.cc:549 rc_option_editor.cc:1829
+#: editor_actions.cc:584 rc_option_editor.cc:2134
msgid "Video"
msgstr ""
-#: editor_actions.cc:552
+#: editor_actions.cc:587
msgid "Always on Top"
msgstr ""
-#: editor_actions.cc:554
+#: editor_actions.cc:589
msgid "Frame number"
msgstr ""
-#: editor_actions.cc:555
+#: editor_actions.cc:590
msgid "Timecode Background"
msgstr ""
-#: editor_actions.cc:556
+#: editor_actions.cc:591
msgid "Fullscreen"
msgstr ""
-#: editor_actions.cc:557
+#: editor_actions.cc:592
msgid "Letterbox"
msgstr ""
-#: editor_actions.cc:558
+#: editor_actions.cc:593
msgid "Original Size"
msgstr ""
-#: editor_actions.cc:608
+#: editor_actions.cc:650
msgid "Sort"
msgstr "Ordina"
-#: editor_actions.cc:610 region_editor.cc:51
-msgid "Audition"
-msgstr "Ascolto"
-
-#: editor_actions.cc:619 editor_routes.cc:470 mixer_ui.cc:1161
+#: editor_actions.cc:661 editor_routes.cc:473 mixer_ui.cc:1181
msgid "Show All"
msgstr "Mostra Tutto"
-#: editor_actions.cc:620
+#: editor_actions.cc:662
msgid "Show Automatic Regions"
msgstr ""
-#: editor_actions.cc:622
+#: editor_actions.cc:664
msgid "Ascending"
msgstr "Ascendente"
-#: editor_actions.cc:624
+#: editor_actions.cc:666
msgid "Descending"
msgstr "Discendente"
-#: editor_actions.cc:627
+#: editor_actions.cc:669
msgid "By Region Name"
msgstr "Per Nome di Regione"
-#: editor_actions.cc:629
+#: editor_actions.cc:671
msgid "By Region Length"
msgstr "Per durata della Regione"
-#: editor_actions.cc:631
+#: editor_actions.cc:673
msgid "By Region Position"
msgstr "Per Posizione della Regione"
-#: editor_actions.cc:633
+#: editor_actions.cc:675
msgid "By Region Timestamp"
msgstr "Per Data di Regione"
-#: editor_actions.cc:635
+#: editor_actions.cc:677
msgid "By Region Start in File"
msgstr ""
-#: editor_actions.cc:637
+#: editor_actions.cc:679
msgid "By Region End in File"
msgstr "Per Fine di Regione nel file"
-#: editor_actions.cc:639
+#: editor_actions.cc:681
msgid "By Source File Name"
msgstr "Per Nome di sorgente del file"
-#: editor_actions.cc:641
+#: editor_actions.cc:683
msgid "By Source File Length"
msgstr "Per durata del file sorgente"
-#: editor_actions.cc:643
+#: editor_actions.cc:685
msgid "By Source File Creation Date"
msgstr "Per Data di creazione di sorgente del file"
-#: editor_actions.cc:645
+#: editor_actions.cc:687
msgid "By Source Filesystem"
msgstr "Per Filesystem di sorgente"
-#: editor_actions.cc:648
+#: editor_actions.cc:690
msgid "Remove Unused"
msgstr ""
-#: editor_actions.cc:652 editor_audio_import.cc:279
+#: editor_actions.cc:694 editor_audio_import.cc:277
#: session_import_dialog.cc:74 session_import_dialog.cc:94
-#: session_metadata_dialog.cc:297 editor_videotimeline.cc:108
+#: session_metadata_dialog.cc:297 editor_videotimeline.cc:92
msgid "Import"
msgstr "Importa"
-#: editor_actions.cc:655
+#: editor_actions.cc:697
msgid "Import to Region List..."
msgstr "Importa nella lista delle regioni..."
-#: editor_actions.cc:658 session_import_dialog.cc:43
+#: editor_actions.cc:700 session_import_dialog.cc:43
msgid "Import From Session"
msgstr "Importa da una sessione"
-#: editor_actions.cc:661
+#: editor_actions.cc:704
+msgid "Bring all media into session folder"
+msgstr ""
+
+#: editor_actions.cc:707
msgid "Show Summary"
msgstr "Mostra un riepilogo"
-#: editor_actions.cc:663
+#: editor_actions.cc:709
msgid "Show Group Tabs"
msgstr "Mostra i gruppi"
-#: editor_actions.cc:665
+#: editor_actions.cc:711
msgid "Show Measures"
msgstr "Mostra le misure"
-#: editor_actions.cc:669
+#: editor_actions.cc:715
msgid "Show Logo"
msgstr "Mostra il logo"
-#: editor_actions.cc:673
+#: editor_actions.cc:719
msgid "Toggle MIDI Input Active for Editor-Selected Tracks/Busses"
msgstr ""
-#: editor_actions.cc:696
+#: editor_actions.cc:742
msgid "Loaded editor bindings from %1"
msgstr ""
-#: editor_actions.cc:698
+#: editor_actions.cc:744
msgid "Could not find editor.bindings in search path %1"
msgstr ""
-#: editor_actions.cc:1028 editor_actions.cc:1424 editor_actions.cc:1435
-#: editor_actions.cc:1488 editor_actions.cc:1499 editor_actions.cc:1546
-#: editor_actions.cc:1556 editor_regions.cc:1561
+#: editor_actions.cc:1074 editor_actions.cc:1470 editor_actions.cc:1481
+#: editor_actions.cc:1534 editor_actions.cc:1545 editor_actions.cc:1592
+#: editor_actions.cc:1602 editor_regions.cc:1562
msgid "programming error: %1: %2"
msgstr "Errore di programmazione: %1: %2"
-#: editor_actions.cc:1722
+#: editor_actions.cc:1770
msgid "Raise"
msgstr ""
-#: editor_actions.cc:1725
+#: editor_actions.cc:1773
msgid "Raise to Top"
msgstr "Porta in cima"
-#: editor_actions.cc:1728 gtk-custom-ruler.c:132
+#: editor_actions.cc:1776
msgid "Lower"
msgstr "Abbassa"
-#: editor_actions.cc:1731
+#: editor_actions.cc:1779
msgid "Lower to Bottom"
msgstr "Porta in fondo"
-#: editor_actions.cc:1734
+#: editor_actions.cc:1782
msgid "Move to Original Position"
msgstr "Spostati alla posizione iniziale"
-#: editor_actions.cc:1739
+#: editor_actions.cc:1787
msgid "Lock to Video"
msgstr ""
-#: editor_actions.cc:1744 editor_markers.cc:867
+#: editor_actions.cc:1792 editor_markers.cc:881
msgid "Glue to Bars and Beats"
msgstr "Aggancia a battute e battiti"
-#: editor_actions.cc:1749
+#: editor_actions.cc:1797
msgid "Remove Sync"
msgstr ""
-#: editor_actions.cc:1752 mixer_strip.cc:1904 route_time_axis.cc:209
-msgid "Mute"
-msgstr "Muto"
-
-#: editor_actions.cc:1755
+#: editor_actions.cc:1803
msgid "Normalize..."
msgstr "Normalizza..."
-#: editor_actions.cc:1758
+#: editor_actions.cc:1806
msgid "Reverse"
msgstr ""
-#: editor_actions.cc:1761
+#: editor_actions.cc:1809
msgid "Make Mono Regions"
msgstr ""
-#: editor_actions.cc:1764
+#: editor_actions.cc:1812
msgid "Boost Gain"
msgstr "Aumenta guadagno"
-#: editor_actions.cc:1767
+#: editor_actions.cc:1815
msgid "Cut Gain"
msgstr "Riduci guadagno"
-#: editor_actions.cc:1770
+#: editor_actions.cc:1818
msgid "Pitch Shift..."
msgstr "Cambia tono..."
-#: editor_actions.cc:1773
+#: editor_actions.cc:1821
msgid "Transpose..."
msgstr "Trasponi..."
-#: editor_actions.cc:1776
+#: editor_actions.cc:1824
msgid "Opaque"
msgstr "Opaco"
-#: editor_actions.cc:1780 editor_regions.cc:116
+#: editor_actions.cc:1828 editor_regions.cc:117
msgid "Fade In"
msgstr "Dissolvenza in entrata"
-#: editor_actions.cc:1785 editor_regions.cc:117
+#: editor_actions.cc:1833 editor_regions.cc:118
msgid "Fade Out"
msgstr "Dissolvenza in uscita"
-#: editor_actions.cc:1800
+#: editor_actions.cc:1848
msgid "Multi-Duplicate..."
msgstr "Multi-Duplica"
-#: editor_actions.cc:1805
+#: editor_actions.cc:1853
msgid "Fill Track"
msgstr "Riempi Traccia"
-#: editor_actions.cc:1809 editor_markers.cc:955
+#: editor_actions.cc:1857 editor_markers.cc:969
msgid "Set Loop Range"
msgstr "Imposta l'intervallo di loop"
-#: editor_actions.cc:1816
+#: editor_actions.cc:1864
msgid "Set Punch"
msgstr "Imposta Punch"
-#: editor_actions.cc:1820
+#: editor_actions.cc:1868
msgid "Add Single Range Marker"
msgstr ""
-#: editor_actions.cc:1825
+#: editor_actions.cc:1873
msgid "Add Range Marker Per Region"
msgstr ""
-#: editor_actions.cc:1829
+#: editor_actions.cc:1877
msgid "Snap Position To Grid"
msgstr ""
-#: editor_actions.cc:1832
+#: editor_actions.cc:1880
msgid "Close Gaps"
msgstr ""
-#: editor_actions.cc:1835
+#: editor_actions.cc:1883
msgid "Rhythm Ferret..."
msgstr ""
-#: editor_actions.cc:1838
+#: editor_actions.cc:1886
msgid "Export..."
msgstr "Esporta..."
-#: editor_actions.cc:1844
+#: editor_actions.cc:1892
msgid "Separate Under"
msgstr "Separa sotto"
-#: editor_actions.cc:1848
+#: editor_actions.cc:1896 editor_actions.cc:1897
msgid "Set Fade In Length"
msgstr "Imposta la durata della dissolvenza in entrata"
-#: editor_actions.cc:1849
+#: editor_actions.cc:1898 editor_actions.cc:1899
msgid "Set Fade Out Length"
msgstr "Durata della dissolvenza in uscita"
-#: editor_actions.cc:1850
+#: editor_actions.cc:1901
msgid "Set Tempo from Region = Bar"
msgstr ""
-#: editor_actions.cc:1855
+#: editor_actions.cc:1906
msgid "Split at Percussion Onsets"
msgstr ""
-#: editor_actions.cc:1860
+#: editor_actions.cc:1911
msgid "List Editor..."
msgstr ""
-#: editor_actions.cc:1863
+#: editor_actions.cc:1914
msgid "Properties..."
msgstr "Proprietà..."
-#: editor_actions.cc:1867
+#: editor_actions.cc:1918
msgid "Bounce (with processing)"
msgstr "Fissa (elaborando)"
-#: editor_actions.cc:1868
+#: editor_actions.cc:1919
msgid "Bounce (without processing)"
msgstr "Fissa (senza elaborare)"
-#: editor_actions.cc:1869
+#: editor_actions.cc:1920
msgid "Combine"
msgstr "Unisci"
-#: editor_actions.cc:1870
+#: editor_actions.cc:1921
msgid "Uncombine"
msgstr "Separa"
-#: editor_actions.cc:1872
+#: editor_actions.cc:1923
msgid "Spectral Analysis..."
msgstr "Analisi spettrale"
-#: editor_actions.cc:1874
+#: editor_actions.cc:1925
msgid "Reset Envelope"
msgstr "Azzera inviluppo"
-#: editor_actions.cc:1876
+#: editor_actions.cc:1927
msgid "Reset Gain"
msgstr "Azzera guadagno"
-#: editor_actions.cc:1881
+#: editor_actions.cc:1932
msgid "Envelope Active"
msgstr "Inviluppo attivo/passiv"
-#: editor_actions.cc:1885
+#: editor_actions.cc:1936
msgid "Quantize..."
msgstr ""
-#: editor_actions.cc:1886 editor_actions.cc:1887
+#: editor_actions.cc:1937 editor_actions.cc:1938
msgid "Insert Patch Change..."
msgstr ""
-#: editor_actions.cc:1888
+#: editor_actions.cc:1939
msgid "Unlink from other copies"
msgstr ""
-#: editor_actions.cc:1889
+#: editor_actions.cc:1940
msgid "Strip Silence..."
msgstr "Rimuovi silenzio"
-#: editor_actions.cc:1890
+#: editor_actions.cc:1941
msgid "Set Range Selection"
msgstr "Imposta intervallo di selezione"
-#: editor_actions.cc:1892
+#: editor_actions.cc:1943 editor_actions.cc:1944
msgid "Nudge Later"
msgstr ""
-#: editor_actions.cc:1893
+#: editor_actions.cc:1945 editor_actions.cc:1946
msgid "Nudge Earlier"
msgstr ""
-#: editor_actions.cc:1898
+#: editor_actions.cc:1948
+msgid "Sequence Regions"
+msgstr ""
+
+#: editor_actions.cc:1953
msgid "Nudge Later by Capture Offset"
msgstr ""
-#: editor_actions.cc:1905
+#: editor_actions.cc:1960
msgid "Nudge Earlier by Capture Offset"
msgstr ""
-#: editor_actions.cc:1909
+#: editor_actions.cc:1964
msgid "Trim to Loop"
msgstr "Ritaglia in base al ciclo"
-#: editor_actions.cc:1910
+#: editor_actions.cc:1965
msgid "Trim to Punch"
msgstr "Ritaglia in base al punch"
-#: editor_actions.cc:1912
+#: editor_actions.cc:1967
msgid "Trim to Previous"
msgstr ""
-#: editor_actions.cc:1913
+#: editor_actions.cc:1968
msgid "Trim to Next"
msgstr ""
-#: editor_actions.cc:1920
+#: editor_actions.cc:1975
msgid "Insert Region From Region List"
msgstr ""
-#: editor_actions.cc:1926
+#: editor_actions.cc:1981
msgid "Set Sync Position"
msgstr ""
-#: editor_actions.cc:1927
+#: editor_actions.cc:1982
msgid "Place Transient"
msgstr ""
-#: editor_actions.cc:1928
+#: editor_actions.cc:1983
msgid "Split"
msgstr "Dividi"
-#: editor_actions.cc:1929
+#: editor_actions.cc:1984
msgid "Trim Start at Edit Point"
msgstr ""
-#: editor_actions.cc:1930
+#: editor_actions.cc:1985
msgid "Trim End at Edit Point"
msgstr ""
-#: editor_actions.cc:1935
+#: editor_actions.cc:1990
msgid "Align Start"
msgstr ""
-#: editor_actions.cc:1942
+#: editor_actions.cc:1997
msgid "Align Start Relative"
msgstr ""
-#: editor_actions.cc:1946
+#: editor_actions.cc:2001
msgid "Align End"
msgstr ""
-#: editor_actions.cc:1951
+#: editor_actions.cc:2006
msgid "Align End Relative"
msgstr ""
-#: editor_actions.cc:1958
+#: editor_actions.cc:2013
msgid "Align Sync"
msgstr ""
-#: editor_actions.cc:1965
+#: editor_actions.cc:2020
msgid "Align Sync Relative"
msgstr ""
-#: editor_actions.cc:1969 editor_actions.cc:1972
+#: editor_actions.cc:2024 editor_actions.cc:2027
msgid "Choose Top..."
msgstr ""
-#: editor_audio_import.cc:77 editor_audio_import.cc:99
+#: editor_audio_import.cc:76 editor_audio_import.cc:98
msgid "You can't import or embed an audiofile until you have a session loaded."
msgstr ""
"Non si può importare un file audio senza prima aver caricato una sessione"
-#: editor_audio_import.cc:83 editor_audio_import.cc:127
+#: editor_audio_import.cc:82 editor_audio_import.cc:126
msgid "Add Existing Media"
msgstr "Aggiungi media"
-#: editor_audio_import.cc:177
+#: editor_audio_import.cc:175
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%1 as a new file, or skip it?"
@@ -4247,7 +4348,7 @@ msgstr ""
"La sessione contiene già un file chiamato %1. Vuoi importare %1 come un "
"nuovo file o passare oltre?"
-#: editor_audio_import.cc:179
+#: editor_audio_import.cc:177
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%2 as a new source, or skip it?"
@@ -4255,32 +4356,32 @@ msgstr ""
"La sessione contiene già un file chiamato %1. Vuoi importare %2 come nuova "
"sorgente o passare oltre?"
-#: editor_audio_import.cc:279 editor_videotimeline.cc:108
+#: editor_audio_import.cc:277 editor_videotimeline.cc:92
msgid "Cancel Import"
msgstr "Annullare l'importazione"
-#: editor_audio_import.cc:543
+#: editor_audio_import.cc:541
msgid "Editor: cannot open file \"%1\", (%2)"
msgstr ""
-#: editor_audio_import.cc:551
+#: editor_audio_import.cc:549
msgid "Cancel entire import"
msgstr ""
-#: editor_audio_import.cc:552
+#: editor_audio_import.cc:550
msgid "Don't embed it"
msgstr "Non inludere"
-#: editor_audio_import.cc:553
+#: editor_audio_import.cc:551
msgid "Embed all without questions"
msgstr "Includi tutto senza domande"
-#: editor_audio_import.cc:556 editor_audio_import.cc:585
-#: export_format_dialog.cc:58
+#: editor_audio_import.cc:554 editor_audio_import.cc:583
+#: export_format_dialog.cc:60
msgid "Sample rate"
msgstr "Frequenza di campionamento"
-#: editor_audio_import.cc:557 editor_audio_import.cc:586
+#: editor_audio_import.cc:555 editor_audio_import.cc:584
msgid ""
"%1\n"
"This audiofile's sample rate doesn't match the session sample rate!"
@@ -4288,304 +4389,300 @@ msgstr ""
"%1\n"
"Il sample rate del file audio non corrisponde a quello della sessione!"
-#: editor_audio_import.cc:582
+#: editor_audio_import.cc:580
msgid "Embed it anyway"
msgstr "Includi comunque"
-#: editor_drag.cc:1000
+#: editor_drag.cc:994
+msgid "Could not create new track after region placed in the drop zone"
+msgstr ""
+
+#: editor_drag.cc:1100
msgid "fixed time region drag"
msgstr ""
-#: editor_drag.cc:1700
+#: editor_drag.cc:1797
+msgid "Ripple drag"
+msgstr ""
+
+#: editor_drag.cc:2093
msgid "Video Start:"
msgstr ""
-#: editor_drag.cc:1702
+#: editor_drag.cc:2095
msgid "Diff:"
msgstr ""
-#: editor_drag.cc:1722
+#: editor_drag.cc:2114
msgid "Move Video"
msgstr ""
-#: editor_drag.cc:2200
+#: editor_drag.cc:2621
msgid "copy meter mark"
msgstr "Copia il meter mark"
-#: editor_drag.cc:2208
+#: editor_drag.cc:2629
msgid "move meter mark"
msgstr "Muovi il meter mark"
-#: editor_drag.cc:2320
+#: editor_drag.cc:2752
msgid "copy tempo mark"
msgstr "Copia il marcatore di tempo"
-#: editor_drag.cc:2328
+#: editor_drag.cc:2760
msgid "move tempo mark"
msgstr "Muovi il marcatore di tempo"
-#: editor_drag.cc:2550
+#: editor_drag.cc:2989
msgid "change fade in length"
msgstr "cambia la durata della dissolvenza in entrata"
-#: editor_drag.cc:2668
+#: editor_drag.cc:3107
msgid "change fade out length"
msgstr "cambia la durata della dissolvenza in uscita"
-#: editor_drag.cc:3023
+#: editor_drag.cc:3463
msgid "move marker"
msgstr "Muovi marcatore"
-#: editor_drag.cc:3586
+#: editor_drag.cc:4046
msgid "An error occurred while executing time stretch operation"
msgstr "C'è stato un errore durante l'esecuzione di 'time stretch'"
-#: editor_drag.cc:4016
+#: editor_drag.cc:4493
msgid "programming_error: %1"
msgstr ""
-#: editor_drag.cc:4086 editor_markers.cc:680
+#: editor_drag.cc:4559 editor_markers.cc:694
msgid "new range marker"
msgstr "nuovo marcatore di intervallo"
-#: editor_drag.cc:4767
+#: editor_drag.cc:5259
msgid "rubberband selection"
msgstr ""
-#: editor_route_groups.cc:66
-msgid "No Selection = All Tracks?"
-msgstr ""
-
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Col"
msgstr ""
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Group Tab Color"
msgstr ""
-#: editor_route_groups.cc:96
+#: editor_route_groups.cc:97
msgid "Name of Group"
msgstr ""
-#: editor_route_groups.cc:97 editor_routes.cc:203
+#: editor_route_groups.cc:98 editor_routes.cc:205
msgid "V"
msgstr ""
-#: editor_route_groups.cc:97
+#: editor_route_groups.cc:98
msgid "Group is visible?"
msgstr ""
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "On"
msgstr ""
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "Group is enabled?"
msgstr ""
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "group|G"
msgstr ""
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "Sharing Gain?"
msgstr ""
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "relative|Rel"
msgstr ""
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "Relative Gain Changes?"
msgstr ""
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "mute|M"
msgstr ""
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "Sharing Mute?"
msgstr ""
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "solo|S"
msgstr ""
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "Sharing Solo?"
msgstr ""
-#: editor_route_groups.cc:103 midi_time_axis.cc:1504 midi_time_axis.cc:1507
-#: midi_time_axis.cc:1510 mixer_strip.cc:1903
+#: editor_route_groups.cc:104 midi_time_axis.cc:1703 midi_time_axis.cc:1706
+#: midi_time_axis.cc:1709
msgid "Rec"
msgstr "Reg"
-#: editor_route_groups.cc:103
+#: editor_route_groups.cc:104
msgid "Sharing Record-enable Status?"
msgstr ""
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "monitoring|Mon"
msgstr ""
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "Sharing Monitoring Choice?"
msgstr ""
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "selection|Sel"
msgstr ""
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "Sharing Selected/Editing Status?"
msgstr ""
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "active|A"
msgstr ""
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "Sharing Active Status?"
msgstr ""
-#: editor_route_groups.cc:197
-msgid "Activate this button to operate on all tracks when none are selected."
-msgstr ""
-
-#: editor_route_groups.cc:442 mixer_ui.cc:1449
+#: editor_route_groups.cc:438 mixer_ui.cc:1469
msgid "unnamed"
msgstr "senza nome"
-#: editor_export_audio.cc:90 editor_markers.cc:695 editor_markers.cc:782
-#: editor_markers.cc:967 editor_markers.cc:985 editor_markers.cc:1003
-#: editor_markers.cc:1022 editor_markers.cc:1041 editor_markers.cc:1071
-#: editor_markers.cc:1102 editor_markers.cc:1132 editor_markers.cc:1160
-#: editor_markers.cc:1191 editor_markers.cc:1216 editor_markers.cc:1267
-#: editor_markers.cc:1311 editor_markers.cc:1337 editor_markers.cc:1526
-#: editor_mouse.cc:2528
+#: editor_export_audio.cc:92 editor_markers.cc:709 editor_markers.cc:796
+#: editor_markers.cc:981 editor_markers.cc:999 editor_markers.cc:1017
+#: editor_markers.cc:1036 editor_markers.cc:1055 editor_markers.cc:1085
+#: editor_markers.cc:1116 editor_markers.cc:1146 editor_markers.cc:1174
+#: editor_markers.cc:1205 editor_markers.cc:1230 editor_markers.cc:1281
+#: editor_markers.cc:1325 editor_markers.cc:1351 editor_markers.cc:1545
+#: editor_mouse.cc:2290
msgid "programming error: marker canvas item has no marker object pointer!"
msgstr ""
-#: editor_export_audio.cc:143 editor_export_audio.cc:148
+#: editor_export_audio.cc:145 editor_export_audio.cc:150
msgid "File Exists!"
msgstr ""
-#: editor_export_audio.cc:151
+#: editor_export_audio.cc:153
msgid "Overwrite Existing File"
msgstr ""
-#: editor_group_tabs.cc:162
+#: editor_group_tabs.cc:176
msgid "Fit to Window"
msgstr "Adatta alla finestra"
-#: editor_markers.cc:129
+#: editor_markers.cc:139
msgid "start"
msgstr "inizio"
-#: editor_markers.cc:130
+#: editor_markers.cc:140
msgid "end"
msgstr "fine"
-#: editor_markers.cc:646 editor_ops.cc:1744 editor_ops.cc:1764
-#: editor_ops.cc:1788 editor_ops.cc:1815 location_ui.cc:1017
+#: editor_markers.cc:660 editor_ops.cc:1915 editor_ops.cc:1935
+#: editor_ops.cc:1988 editor_ops.cc:2015 location_ui.cc:1019
msgid "add marker"
msgstr "aggiungi marcatore"
-#: editor_markers.cc:677
+#: editor_markers.cc:691
msgid "range"
msgstr ""
-#: editor_markers.cc:713 location_ui.cc:852
+#: editor_markers.cc:727 editor_ops.cc:1955 location_ui.cc:854
msgid "remove marker"
msgstr "rimuovi marcatore"
-#: editor_markers.cc:849
+#: editor_markers.cc:863
msgid "Locate to Here"
msgstr "Posizionati qui"
-#: editor_markers.cc:850
+#: editor_markers.cc:864
msgid "Play from Here"
msgstr "Suona da qui"
-#: editor_markers.cc:851
+#: editor_markers.cc:865
msgid "Move Mark to Playhead"
msgstr "Sposta marcatore alla testina"
-#: editor_markers.cc:855
+#: editor_markers.cc:869
msgid "Create Range to Next Marker"
msgstr "Crea intervallo fino al prossimo marcatore"
-#: editor_markers.cc:896
+#: editor_markers.cc:910
msgid "Locate to Marker"
msgstr ""
-#: editor_markers.cc:897
+#: editor_markers.cc:911
msgid "Play from Marker"
msgstr ""
-#: editor_markers.cc:900
+#: editor_markers.cc:914
msgid "Set Marker from Playhead"
msgstr ""
-#: editor_markers.cc:902
+#: editor_markers.cc:916
msgid "Set Range from Selection"
msgstr ""
-#: editor_markers.cc:905
-msgid "Zoom to Range"
-msgstr ""
-
-#: editor_markers.cc:912
+#: editor_markers.cc:926
msgid "Hide Range"
msgstr "Nascondi intervallo"
-#: editor_markers.cc:913
+#: editor_markers.cc:927
msgid "Rename Range..."
msgstr ""
-#: editor_markers.cc:917
+#: editor_markers.cc:931
msgid "Remove Range"
msgstr "Rimuovi intervallo"
-#: editor_markers.cc:924
+#: editor_markers.cc:938
msgid "Separate Regions in Range"
msgstr ""
-#: editor_markers.cc:927
+#: editor_markers.cc:941
msgid "Select Range"
msgstr "Separa l'intervallo"
-#: editor_markers.cc:956
+#: editor_markers.cc:970
msgid "Set Punch Range"
msgstr "Imposta l'intervallo di Punch"
-#: editor_markers.cc:1362 editor_ops.cc:1699
+#: editor_markers.cc:1376 editor_ops.cc:1870
msgid "New Name:"
msgstr "Nuovo nome: "
-#: editor_markers.cc:1365
+#: editor_markers.cc:1379
msgid "Rename Mark"
msgstr "Rinomina marcatore"
-#: editor_markers.cc:1367
+#: editor_markers.cc:1381
msgid "Rename Range"
msgstr "Rinomina intervallo"
-#: editor_markers.cc:1374 editor_mouse.cc:2560 processor_box.cc:1808
-#: processor_box.cc:2274 route_time_axis.cc:982 route_ui.cc:1540
+#: editor_markers.cc:1388 editor_mouse.cc:2319 processor_box.cc:2038
+#: processor_box.cc:2508 route_time_axis.cc:1073 route_ui.cc:1622
msgid "Rename"
msgstr "Rinomina"
-#: editor_markers.cc:1387
+#: editor_markers.cc:1401
msgid "rename marker"
msgstr "Rinomina marcatore"
-#: editor_markers.cc:1411
+#: editor_markers.cc:1425
msgid "set loop range"
msgstr "imposta l'intervallo di ciclo"
-#: editor_markers.cc:1417
+#: editor_markers.cc:1431
msgid "set punch range"
msgstr "imposta l'intervallo di punch"
@@ -4593,185 +4690,194 @@ msgstr "imposta l'intervallo di punch"
msgid "This screen is not tall enough to display the editor mixer"
msgstr ""
-#: editor_mouse.cc:172
-msgid "Editor::event_frame() used on unhandled event type %1"
+#: editor_mouse.cc:1384 editor_mouse.cc:1402 editor_tempodisplay.cc:273
+msgid ""
+"programming error: tempo marker canvas item has no marker object pointer!"
+msgstr ""
+
+#: editor_mouse.cc:1389 editor_tempodisplay.cc:278
+msgid "programming error: marker for tempo is not a tempo marker!"
+msgstr ""
+
+#: editor_mouse.cc:1407 editor_tempodisplay.cc:382
+msgid "programming error: marker for meter is not a meter marker!"
msgstr ""
-#: editor_mouse.cc:2285 editor_mouse.cc:2310 editor_mouse.cc:2323
+#: editor_mouse.cc:2047 editor_mouse.cc:2072 editor_mouse.cc:2085
msgid ""
"programming error: control point canvas item has no control point object "
"pointer!"
msgstr ""
-#: editor_mouse.cc:2466
+#: editor_mouse.cc:2228
msgid "start point trim"
msgstr ""
-#: editor_mouse.cc:2491
+#: editor_mouse.cc:2253
msgid "End point trim"
msgstr ""
-#: editor_mouse.cc:2558
+#: editor_mouse.cc:2317
msgid "Name for region:"
msgstr "Nome per la Regione:"
-#: editor_ops.cc:140
+#: editor_ops.cc:147
msgid "split"
msgstr "dividi"
-#: editor_ops.cc:256
+#: editor_ops.cc:291
msgid "alter selection"
msgstr ""
-#: editor_ops.cc:298
+#: editor_ops.cc:333
msgid "nudge regions forward"
msgstr "sposta regioni in avanti"
-#: editor_ops.cc:321 editor_ops.cc:406
+#: editor_ops.cc:356 editor_ops.cc:441
msgid "nudge location forward"
msgstr "sposta posizine in avanti"
-#: editor_ops.cc:379
+#: editor_ops.cc:414
msgid "nudge regions backward"
msgstr "sposta regioni indietro"
-#: editor_ops.cc:468
+#: editor_ops.cc:503
msgid "nudge forward"
msgstr ""
-#: editor_ops.cc:492
+#: editor_ops.cc:527
msgid "nudge backward"
msgstr ""
-#: editor_ops.cc:557
+#: editor_ops.cc:570
+msgid "sequence regions"
+msgstr ""
+
+#: editor_ops.cc:646
msgid "build_region_boundary_cache called with snap_type = %1"
msgstr ""
-#: editor_ops.cc:1701
+#: editor_ops.cc:1872
msgid "New Location Marker"
msgstr "Nuovo marcatore di posizione"
-#: editor_ops.cc:1788
+#: editor_ops.cc:1988
msgid "add markers"
msgstr "aggiungi marcatore"
-#: editor_ops.cc:1894
+#: editor_ops.cc:2094
msgid "clear markers"
msgstr "azzera i marcatori"
-#: editor_ops.cc:1907
+#: editor_ops.cc:2107
msgid "clear ranges"
msgstr "azzera gli intervalli"
-#: editor_ops.cc:1929
+#: editor_ops.cc:2129
msgid "clear locations"
msgstr "azzera le posizioni"
-#: editor_ops.cc:2000
-msgid "insert dragged region"
-msgstr ""
-
-#: editor_ops.cc:2078
+#: editor_ops.cc:2191
msgid "insert region"
msgstr "inserisci regione"
-#: editor_ops.cc:2261
+#: editor_ops.cc:2377
msgid "raise regions"
msgstr ""
-#: editor_ops.cc:2263
+#: editor_ops.cc:2379
msgid "raise region"
msgstr ""
-#: editor_ops.cc:2269
+#: editor_ops.cc:2385
msgid "raise regions to top"
msgstr ""
-#: editor_ops.cc:2271
+#: editor_ops.cc:2387
msgid "raise region to top"
msgstr ""
-#: editor_ops.cc:2277
+#: editor_ops.cc:2393
msgid "lower regions"
msgstr ""
-#: editor_ops.cc:2279 editor_ops.cc:2287
+#: editor_ops.cc:2395 editor_ops.cc:2403
msgid "lower region"
msgstr ""
-#: editor_ops.cc:2285
+#: editor_ops.cc:2401
msgid "lower regions to bottom"
msgstr ""
-#: editor_ops.cc:2370
+#: editor_ops.cc:2486
msgid "Rename Region"
msgstr "Rinomina regione"
-#: editor_ops.cc:2372 processor_box.cc:1806 route_ui.cc:1538
+#: editor_ops.cc:2488 processor_box.cc:2036 route_ui.cc:1620
msgid "New name:"
msgstr "Nuovo nome: "
-#: editor_ops.cc:2682
+#: editor_ops.cc:2798
msgid "separate"
msgstr "separa"
-#: editor_ops.cc:2795
+#: editor_ops.cc:2910
msgid "separate region under"
msgstr ""
-#: editor_ops.cc:2916
+#: editor_ops.cc:3031
msgid "trim to selection"
msgstr "ritaglia in base alla selezione"
-#: editor_ops.cc:3052
+#: editor_ops.cc:3167
msgid "set sync point"
msgstr ""
-#: editor_ops.cc:3076
+#: editor_ops.cc:3191
msgid "remove region sync"
msgstr "Rimuovi il sync della regione"
-#: editor_ops.cc:3098
+#: editor_ops.cc:3213
msgid "move regions to original position"
msgstr ""
-#: editor_ops.cc:3100
+#: editor_ops.cc:3215
msgid "move region to original position"
msgstr ""
-#: editor_ops.cc:3121
+#: editor_ops.cc:3236
msgid "align selection"
msgstr "allinea selezione"
-#: editor_ops.cc:3195
+#: editor_ops.cc:3310
msgid "align selection (relative)"
msgstr "allinea selezione (relativo)"
-#: editor_ops.cc:3229
+#: editor_ops.cc:3344
msgid "align region"
msgstr ""
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim front"
msgstr ""
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim back"
msgstr ""
-#: editor_ops.cc:3310
+#: editor_ops.cc:3425
msgid "trim to loop"
msgstr "ritaglia in base al ciclo"
-#: editor_ops.cc:3320
+#: editor_ops.cc:3435
msgid "trim to punch"
msgstr "ritaglia in base al punch"
-#: editor_ops.cc:3382
+#: editor_ops.cc:3497
msgid "trim to region"
msgstr "ritaglia in base alla regione"
-#: editor_ops.cc:3492
+#: editor_ops.cc:3605
msgid ""
"This track/bus cannot be frozen because the signal adds or loses channels "
"before reaching the outputs.\n"
@@ -4779,11 +4885,11 @@ msgid ""
"input or vice versa."
msgstr ""
-#: editor_ops.cc:3495
+#: editor_ops.cc:3608
msgid "Cannot freeze"
msgstr "Non posso congelare"
-#: editor_ops.cc:3501
+#: editor_ops.cc:3614
msgid ""
"<b>%1</b>\n"
"\n"
@@ -4792,23 +4898,23 @@ msgid ""
"Freezing will only process the signal as far as the first send/insert/return."
msgstr ""
-#: editor_ops.cc:3505
+#: editor_ops.cc:3618
msgid "Freeze anyway"
msgstr ""
-#: editor_ops.cc:3506
+#: editor_ops.cc:3619
msgid "Don't freeze"
msgstr ""
-#: editor_ops.cc:3507
+#: editor_ops.cc:3620
msgid "Freeze Limits"
msgstr ""
-#: editor_ops.cc:3522
+#: editor_ops.cc:3635
msgid "Cancel Freeze"
msgstr "Annulla congelamento"
-#: editor_ops.cc:3553
+#: editor_ops.cc:3666
msgid ""
"You can't perform this operation because the processing of the signal will "
"cause one or more of the tracks to end up with a region with more channels "
@@ -4817,51 +4923,63 @@ msgid ""
"You can do this without processing, which is a different operation."
msgstr ""
-#: editor_ops.cc:3557
+#: editor_ops.cc:3670
msgid "Cannot bounce"
msgstr "Non posso elaborare"
-#: editor_ops.cc:3568
+#: editor_ops.cc:3681
msgid "bounce range"
msgstr "elabora intervallo"
-#: editor_ops.cc:3678
+#: editor_ops.cc:3783
msgid "delete"
msgstr "elimina"
-#: editor_ops.cc:3681
+#: editor_ops.cc:3786
msgid "cut"
msgstr "taglia"
-#: editor_ops.cc:3684
+#: editor_ops.cc:3789
msgid "copy"
msgstr "copia"
-#: editor_ops.cc:3687
+#: editor_ops.cc:3792
msgid "clear"
msgstr "pulisci"
-#: editor_ops.cc:3785
-msgid " objects"
-msgstr "oggetti"
+#: editor_ops.cc:3845
+msgid " points"
+msgstr ""
+
+#: editor_ops.cc:3856
+msgid "points"
+msgstr ""
-#: editor_ops.cc:3815
+#: editor_ops.cc:3858
+msgid "regions"
+msgstr ""
+
+#: editor_ops.cc:3860
+msgid "objects"
+msgstr ""
+
+#: editor_ops.cc:3890
msgid " range"
msgstr " intervallo"
-#: editor_ops.cc:3957 editor_ops.cc:3984
+#: editor_ops.cc:4059
msgid "remove region"
msgstr "Rimuovi la regione"
-#: editor_ops.cc:4391
+#: editor_ops.cc:4475
msgid "duplicate selection"
msgstr "duplica selezione"
-#: editor_ops.cc:4469
+#: editor_ops.cc:4553
msgid "nudge track"
msgstr ""
-#: editor_ops.cc:4506
+#: editor_ops.cc:4590
msgid ""
"Do you really want to destroy the last capture?\n"
"(This is destructive and cannot be undone)"
@@ -4869,133 +4987,141 @@ msgstr ""
"Si vuole realmente rimuovere l'ultima registrazione?\n"
"(questa azione non potrà essere annullata)"
-#: editor_ops.cc:4509 editor_ops.cc:6512 editor_regions.cc:460
-#: editor_snapshots.cc:158 route_ui.cc:1482
+#: editor_ops.cc:4593 editor_ops.cc:6594 editor_regions.cc:461
+#: editor_snapshots.cc:159 route_ui.cc:1563
msgid "No, do nothing."
msgstr "No, non fare niente."
-#: editor_ops.cc:4510
+#: editor_ops.cc:4594
msgid "Yes, destroy it."
msgstr "Si, rimuovi."
-#: editor_ops.cc:4512
+#: editor_ops.cc:4596
msgid "Destroy last capture"
msgstr ""
-#: editor_ops.cc:4573
+#: editor_ops.cc:4657
msgid "normalize"
msgstr "Normalizza"
-#: editor_ops.cc:4668
+#: editor_ops.cc:4752
msgid "reverse regions"
msgstr "fai il Reverse della regione"
-#: editor_ops.cc:4702
+#: editor_ops.cc:4786
msgid "strip silence"
msgstr "elimina silenzio"
-#: editor_ops.cc:4763
+#: editor_ops.cc:4847
msgid "Fork Region(s)"
msgstr ""
-#: editor_ops.cc:4963
+#: editor_ops.cc:4868
+msgid "Could not unlink %1"
+msgstr ""
+
+#: editor_ops.cc:5052
msgid "reset region gain"
msgstr "Ripristina il gain della regione"
-#: editor_ops.cc:5016
+#: editor_ops.cc:5105
msgid "region gain envelope active"
msgstr ""
-#: editor_ops.cc:5043
+#: editor_ops.cc:5132
msgid "toggle region lock"
msgstr ""
-#: editor_ops.cc:5067
+#: editor_ops.cc:5156
msgid "Toggle Video Lock"
msgstr ""
-#: editor_ops.cc:5091
+#: editor_ops.cc:5180
msgid "region lock style"
msgstr ""
-#: editor_ops.cc:5116
+#: editor_ops.cc:5205
msgid "change region opacity"
msgstr ""
-#: editor_ops.cc:5231
+#: editor_ops.cc:5298
+msgid "fade range"
+msgstr ""
+
+#: editor_ops.cc:5336
msgid "set fade in length"
msgstr "Imposta la durata della dissolvenza in entrata"
-#: editor_ops.cc:5238
+#: editor_ops.cc:5343
msgid "set fade out length"
msgstr "durata della dissolvenza in uscita"
-#: editor_ops.cc:5283
+#: editor_ops.cc:5388
msgid "set fade in shape"
msgstr "durata della dissolvenza in entrata"
-#: editor_ops.cc:5314
+#: editor_ops.cc:5419
msgid "set fade out shape"
msgstr "forma della dissolvenza in uscita"
-#: editor_ops.cc:5344
+#: editor_ops.cc:5449
msgid "set fade in active"
msgstr "attiva dissolvenza in entrata"
-#: editor_ops.cc:5373
+#: editor_ops.cc:5478
msgid "set fade out active"
msgstr "attiva dissolvenza in uscita"
-#: editor_ops.cc:5638
+#: editor_ops.cc:5713
msgid "set loop range from selection"
msgstr "intervallo di ciclo dalla selezione"
-#: editor_ops.cc:5660
+#: editor_ops.cc:5735
msgid "set loop range from edit range"
msgstr ""
-#: editor_ops.cc:5689
+#: editor_ops.cc:5764
msgid "set loop range from region"
msgstr ""
-#: editor_ops.cc:5707
+#: editor_ops.cc:5782
msgid "set punch range from selection"
msgstr "imposta intervallo di punch dalla selezione"
-#: editor_ops.cc:5724
+#: editor_ops.cc:5799
msgid "set punch range from edit range"
msgstr "imposta intervallo di punch dall'intervallo di modifica"
-#: editor_ops.cc:5748
+#: editor_ops.cc:5823
msgid "set punch range from region"
msgstr "imposta intervallo di punch dalla regione"
-#: editor_ops.cc:5857
+#: editor_ops.cc:5932
msgid "Add new marker"
msgstr "Aggiungi marcatore"
-#: editor_ops.cc:5858
+#: editor_ops.cc:5933
msgid "Set global tempo"
msgstr "Imposta il tempo globalmente"
-#: editor_ops.cc:5861
+#: editor_ops.cc:5936
msgid "Define one bar"
msgstr "Definisce una battuta"
-#: editor_ops.cc:5862
+#: editor_ops.cc:5937
msgid "Do you want to set the global tempo or add a new tempo marker?"
msgstr ""
"Vuoi impostare il tempo globale o aggiungere un nuovo marcatore di tempo?"
-#: editor_ops.cc:5888
+#: editor_ops.cc:5963
msgid "set tempo from region"
msgstr ""
-#: editor_ops.cc:5918
+#: editor_ops.cc:5993
msgid "split regions"
msgstr "dividi regioni"
-#: editor_ops.cc:5960
+#: editor_ops.cc:6035
msgid ""
"You are about to split\n"
"%1\n"
@@ -5007,11 +5133,11 @@ msgstr ""
"in %2 pezzi.\n"
"Questa operazione può richiedere parecchio tempo."
-#: editor_ops.cc:5967
+#: editor_ops.cc:6042
msgid "Call for the Ferret!"
msgstr ""
-#: editor_ops.cc:5968
+#: editor_ops.cc:6043
msgid ""
"Press OK to continue with this split operation\n"
"or ask the Ferret dialog to tune the analysis"
@@ -5019,52 +5145,52 @@ msgstr ""
"Premi OK per continuare con questa operazione\n"
"oppure chiedi al Ferret di affinare l'analisi."
-#: editor_ops.cc:5970
+#: editor_ops.cc:6045
msgid "Press OK to continue with this split operation"
msgstr "Premi OK per continuare con questa operazione di separazione."
-#: editor_ops.cc:5973
+#: editor_ops.cc:6048
msgid "Excessive split?"
msgstr "Separazione esagerata?"
-#: editor_ops.cc:6125
+#: editor_ops.cc:6200
msgid "place transient"
msgstr ""
-#: editor_ops.cc:6160
+#: editor_ops.cc:6235
msgid "snap regions to grid"
msgstr "allinea le regioni alla griglia"
-#: editor_ops.cc:6199
+#: editor_ops.cc:6274
msgid "Close Region Gaps"
msgstr ""
-#: editor_ops.cc:6204
+#: editor_ops.cc:6279
msgid "Crossfade length"
msgstr "Durata della dissolvenza incrociata"
-#: editor_ops.cc:6213 editor_ops.cc:6224 rhythm_ferret.cc:120
-#: session_option_editor.cc:153
+#: editor_ops.cc:6288 editor_ops.cc:6299 rhythm_ferret.cc:119
+#: session_option_editor.cc:141
msgid "ms"
msgstr ""
-#: editor_ops.cc:6215
+#: editor_ops.cc:6290
msgid "Pull-back length"
msgstr ""
-#: editor_ops.cc:6228
+#: editor_ops.cc:6303
msgid "Ok"
msgstr "Ok"
-#: editor_ops.cc:6243
+#: editor_ops.cc:6318
msgid "close region gaps"
msgstr "Riempi gli intervalli della regione"
-#: editor_ops.cc:6461 route_ui.cc:1456
+#: editor_ops.cc:6543 route_ui.cc:1537
msgid "That would be bad news ...."
msgstr "Ci sarebbero cattive notizie..."
-#: editor_ops.cc:6466 route_ui.cc:1461
+#: editor_ops.cc:6548 route_ui.cc:1542
msgid ""
"Removing the master or monitor bus is such a bad idea\n"
"that %1 is not going to allow it.\n"
@@ -5080,23 +5206,23 @@ msgstr ""
"modifica il tuo file ardour.rc ed imposta \n"
"l'opzione \"allow-special-bus-removal\" su \"yes\""
-#: editor_ops.cc:6483
+#: editor_ops.cc:6565
msgid "tracks"
msgstr "Tracce"
-#: editor_ops.cc:6485 route_ui.cc:1821
+#: editor_ops.cc:6567 route_ui.cc:1978
msgid "track"
msgstr "traccia"
-#: editor_ops.cc:6489
+#: editor_ops.cc:6571
msgid "busses"
msgstr "Bus"
-#: editor_ops.cc:6491 route_ui.cc:1821
+#: editor_ops.cc:6573 route_ui.cc:1978
msgid "bus"
msgstr "bus"
-#: editor_ops.cc:6496
+#: editor_ops.cc:6578
msgid ""
"Do you really want to remove %1 %2 and %3 %4?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5109,7 +5235,7 @@ msgstr ""
"Questa operazione non può essere annullata e il file della sessione sarà "
"sovrascritto!"
-#: editor_ops.cc:6501
+#: editor_ops.cc:6583
msgid ""
"Do you really want to remove %1 %2?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5122,7 +5248,7 @@ msgstr ""
"Questa operazione non può essere annullata e il file della sessione sarà "
"sovrascritto!"
-#: editor_ops.cc:6507
+#: editor_ops.cc:6589
msgid ""
"Do you really want to remove %1 %2?\n"
"\n"
@@ -5133,124 +5259,140 @@ msgstr ""
"Questa operazione non può essere annullata e il file della sessione sarà "
"sovrascritto!"
-#: editor_ops.cc:6514
+#: editor_ops.cc:6596
msgid "Yes, remove them."
msgstr "Si, rimuovi."
-#: editor_ops.cc:6516 editor_snapshots.cc:159 route_ui.cc:1483
+#: editor_ops.cc:6598 editor_snapshots.cc:160 route_ui.cc:1564
msgid "Yes, remove it."
msgstr "Si, rimuovi."
-#: editor_ops.cc:6521 editor_ops.cc:6523
+#: editor_ops.cc:6603 editor_ops.cc:6605
msgid "Remove %1"
msgstr "Rimuovi %1"
-#: editor_ops.cc:6582
+#: editor_ops.cc:6668
msgid "insert time"
msgstr "Inserisci tempo"
-#: editor_ops.cc:6739
+#: editor_ops.cc:6832
msgid "There are too many tracks to fit in the current window"
msgstr ""
"Ci sono troppe tracce per essere contenute tutte nella finestra corrente."
-#: editor_ops.cc:6839
+#: editor_ops.cc:6893
+msgid "Sel"
+msgstr ""
+
+#: editor_ops.cc:6932
#, c-format
msgid "Saved view %u"
msgstr "Salvata la vista %u"
-#: editor_ops.cc:6864
+#: editor_ops.cc:6957
msgid "mute regions"
msgstr "Metti in \"mute\" le regioni"
-#: editor_ops.cc:6866
+#: editor_ops.cc:6959
msgid "mute region"
msgstr "Metti in \"mute\" la regione"
-#: editor_ops.cc:6903
+#: editor_ops.cc:6996
msgid "combine regions"
msgstr "unisci le regioni"
-#: editor_ops.cc:6941
+#: editor_ops.cc:7034
msgid "uncombine regions"
msgstr "separa le regioni"
-#: editor_regions.cc:111
-msgid "Region name, with number of channels in []'s"
+#: editor_ops.cc:7071
+msgid "%1: Locked"
+msgstr ""
+
+#: editor_ops.cc:7078
+msgid "Click to unlock"
+msgstr ""
+
+#: editor_ops.cc:7132
+msgid "Moving embedded files into session folder"
msgstr ""
#: editor_regions.cc:112
+msgid "Region name, with number of channels in []'s"
+msgstr ""
+
+#: editor_regions.cc:113
msgid "Position of start of region"
msgstr ""
-#: editor_regions.cc:113 editor_regions.cc:849 time_info_box.cc:98
+#: editor_regions.cc:114 editor_regions.cc:850 time_info_box.cc:101
msgid "End"
msgstr "Fine"
-#: editor_regions.cc:113
+#: editor_regions.cc:114
msgid "Position of end of region"
msgstr ""
-#: editor_regions.cc:114
+#: editor_regions.cc:115
msgid "Length of the region"
msgstr ""
-#: editor_regions.cc:115
+#: editor_regions.cc:116
msgid "Position of region sync point, relative to start of the region"
msgstr ""
-#: editor_regions.cc:116
+#: editor_regions.cc:117
msgid "Length of region fade-in (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:117
-msgid "Length of region fade-out (units: secondary clock), () if dsisabled"
+#: editor_regions.cc:118
+msgid "Length of region fade-out (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:118 mixer_strip.cc:1954 mono_panner.cc:179
-#: stereo_panner.cc:217 stereo_panner.cc:240
+#: editor_regions.cc:119 mixer_strip.cc:2010 mono_panner.cc:204
+#: panner2d.cc:237 stereo_panner.cc:248 stereo_panner.cc:271
msgid "L"
msgstr ""
-#: editor_regions.cc:118
+#: editor_regions.cc:119
msgid "Region position locked?"
msgstr ""
-#: editor_regions.cc:119
+#: editor_regions.cc:120 route_time_axis.cc:99
msgid "G"
msgstr ""
-#: editor_regions.cc:119
+#: editor_regions.cc:120
msgid "Region position glued to Bars|Beats time?"
msgstr ""
-#: editor_regions.cc:120 editor_routes.cc:207 gain_meter.cc:762
-#: mixer_strip.cc:1931 meter_strip.cc:320 panner_ui.cc:553
-#: stereo_panner.cc:237
+#: editor_regions.cc:121 editor_routes.cc:209 gain_meter.cc:768
+#: mixer_strip.cc:1987 meter_strip.cc:359 panner_ui.cc:602
+#: route_time_axis.cc:2568 stereo_panner.cc:268 time_axis_view.cc:1156
msgid "M"
msgstr ""
-#: editor_regions.cc:120
+#: editor_regions.cc:121
msgid "Region muted?"
msgstr ""
-#: editor_regions.cc:121
+#: editor_regions.cc:122 mixer_strip.cc:1810
msgid "O"
msgstr ""
-#: editor_regions.cc:121
+#: editor_regions.cc:122
msgid "Region opaque (blocks regions below it from being heard)?"
msgstr ""
-#: editor_regions.cc:310 editor_regions.cc:315 editor_regions.cc:317
+#: editor_regions.cc:311 editor_regions.cc:316 editor_regions.cc:318
msgid "Hidden"
msgstr "Nascosto"
-#: editor_regions.cc:389
+#: editor_regions.cc:390
msgid "(MISSING) "
msgstr "(MANCANTE)"
-#: editor_regions.cc:457
+#: editor_regions.cc:458
msgid ""
"Do you really want to remove unused regions?\n"
"(This is destructive and cannot be undone)"
@@ -5258,233 +5400,223 @@ msgstr ""
"Vuoi veramente rimuovere le regioni inutilizzate?\n"
"(Questa azione non può essere annullata)"
-#: editor_regions.cc:461
+#: editor_regions.cc:462
msgid "Yes, remove."
msgstr "Si, rimuovi."
-#: editor_regions.cc:463
+#: editor_regions.cc:464
msgid "Remove unused regions"
msgstr "Rimuovi le regioni inutilizzate"
-#: editor_regions.cc:816 editor_regions.cc:830 editor_regions.cc:844
+#: editor_regions.cc:817 editor_regions.cc:831 editor_regions.cc:845
msgid "Mult."
msgstr "Mult."
-#: editor_regions.cc:847 midi_list_editor.cc:103 time_info_box.cc:91
+#: editor_regions.cc:848 midi_list_editor.cc:103 time_info_box.cc:94
msgid "Start"
msgstr "Inizio"
-#: editor_regions.cc:865 editor_regions.cc:881
+#: editor_regions.cc:866 editor_regions.cc:882
msgid "Multiple"
msgstr "Multipli"
-#: editor_regions.cc:950
+#: editor_regions.cc:951
msgid "MISSING "
msgstr "MANCANTE"
-#: editor_routes.cc:178 editor_routes.cc:210
+#: editor_routes.cc:180 editor_routes.cc:212
msgid "SS"
msgstr ""
-#: editor_routes.cc:202
+#: editor_routes.cc:204
msgid "Track/Bus Name"
msgstr ""
-#: editor_routes.cc:203
+#: editor_routes.cc:205
msgid "Track/Bus visible ?"
msgstr ""
-#: editor_routes.cc:204 mixer_strip.cc:1945 meter_strip.cc:334
-#: route_time_axis.cc:2407
+#: editor_routes.cc:206 mixer_strip.cc:2001 meter_strip.cc:371
+#: route_time_axis.cc:101 route_time_axis.cc:2556
msgid "A"
msgstr "A"
-#: editor_routes.cc:204
+#: editor_routes.cc:206
msgid "Track/Bus active ?"
msgstr ""
-#: editor_routes.cc:205 mixer_strip.cc:1932
+#: editor_routes.cc:207 mixer_strip.cc:1988 mixer_strip.cc:2009
+#: meter_strip.cc:379
msgid "I"
msgstr ""
-#: editor_routes.cc:205
+#: editor_routes.cc:207
msgid "MIDI input enabled"
msgstr ""
-#: editor_routes.cc:206 mixer_strip.cc:1930 mono_panner.cc:198
-#: stereo_panner.cc:215 stereo_panner.cc:242
+#: editor_routes.cc:208 mono_panner.cc:221 panner2d.cc:238
+#: stereo_panner.cc:246 stereo_panner.cc:273
msgid "R"
msgstr ""
-#: editor_routes.cc:206
+#: editor_routes.cc:208
msgid "Record enabled"
msgstr ""
-#: editor_routes.cc:207
+#: editor_routes.cc:209
msgid "Muted"
msgstr ""
-#: editor_routes.cc:208 mixer_strip.cc:1941 meter_strip.cc:330
+#: editor_routes.cc:210 mixer_strip.cc:1997 meter_strip.cc:367
+#: route_time_axis.cc:2565
msgid "S"
msgstr ""
-#: editor_routes.cc:208
+#: editor_routes.cc:210
msgid "Soloed"
msgstr ""
-#: editor_routes.cc:209
+#: editor_routes.cc:211
msgid "SI"
msgstr ""
-#: editor_routes.cc:209 mixer_strip.cc:353 rc_option_editor.cc:1867
+#: editor_routes.cc:211
msgid "Solo Isolated"
msgstr ""
-#: editor_routes.cc:210
+#: editor_routes.cc:212
msgid "Solo Safe (Locked)"
msgstr ""
-#: editor_routes.cc:471 mixer_ui.cc:1162
+#: editor_routes.cc:474 mixer_ui.cc:1182
msgid "Hide All"
msgstr "Nascondi tutto"
-#: editor_routes.cc:472 mixer_ui.cc:1163
+#: editor_routes.cc:475 mixer_ui.cc:1183
msgid "Show All Audio Tracks"
msgstr "Mostra tutte le tracce audio"
-#: editor_routes.cc:473 mixer_ui.cc:1164
+#: editor_routes.cc:476 mixer_ui.cc:1184
msgid "Hide All Audio Tracks"
msgstr "Nascondi tutte le tracce audio"
-#: editor_routes.cc:474 mixer_ui.cc:1165
+#: editor_routes.cc:477 mixer_ui.cc:1185
msgid "Show All Audio Busses"
msgstr "Mostra tutti i Bus Audio"
-#: editor_routes.cc:475 mixer_ui.cc:1166
+#: editor_routes.cc:478 mixer_ui.cc:1186
msgid "Hide All Audio Busses"
msgstr "Nascondi tutti i Bus Audio"
-#: editor_routes.cc:476
+#: editor_routes.cc:479
msgid "Show All Midi Tracks"
msgstr "Mostra tutte le tracce MIDI"
-#: editor_routes.cc:477
+#: editor_routes.cc:480
msgid "Hide All Midi Tracks"
msgstr "Nascondi tutte le tracce MIDI"
-#: editor_routes.cc:478
+#: editor_routes.cc:481
msgid "Show Tracks With Regions Under Playhead"
msgstr "Mostra le tracce che hanno regioni sotto la testina"
-#: editor_rulers.cc:340
+#: editor_rulers.cc:216
msgid "New location marker"
msgstr "Marcatore di nuova posizione"
-#: editor_rulers.cc:341
+#: editor_rulers.cc:217
msgid "Clear all locations"
msgstr "Pulisci tutte le posizioni"
-#: editor_rulers.cc:342
+#: editor_rulers.cc:218
msgid "Unhide locations"
msgstr "Scopri le posizioni"
-#: editor_rulers.cc:346
+#: editor_rulers.cc:222
msgid "New range"
msgstr ""
-#: editor_rulers.cc:347
+#: editor_rulers.cc:223
msgid "Clear all ranges"
msgstr "Pulisci tutti gli intervalli"
-#: editor_rulers.cc:348
+#: editor_rulers.cc:224
msgid "Unhide ranges"
msgstr "Scopri gli intervalli"
-#: editor_rulers.cc:358
+#: editor_rulers.cc:234
msgid "New CD track marker"
msgstr "Nuovo marcatore di traccia CD"
-#: editor_rulers.cc:363 tempo_dialog.cc:40
+#: editor_rulers.cc:239 tempo_dialog.cc:39
msgid "New Tempo"
msgstr "Nuovo tempo"
-#: editor_rulers.cc:368 tempo_dialog.cc:255
+#: editor_rulers.cc:243 tempo_dialog.cc:289
msgid "New Meter"
msgstr "Nuovo Meter"
-#: editor_rulers.cc:373
+#: editor_rulers.cc:247
msgid "Timeline height"
msgstr ""
-#: editor_rulers.cc:383
+#: editor_rulers.cc:257
msgid "Align Video Track"
msgstr ""
-#: editor_selection.cc:889 editor_selection.cc:932
+#: editor_selection.cc:895 editor_selection.cc:938
msgid "set selected regions"
msgstr ""
-#: editor_selection.cc:1414
+#: editor_selection.cc:1417
msgid "select all"
msgstr "seleziona tutto"
-#: editor_selection.cc:1506
+#: editor_selection.cc:1511
msgid "select all within"
msgstr "seleziona tutto all'interno"
-#: editor_selection.cc:1564
+#: editor_selection.cc:1569
msgid "set selection from range"
msgstr "seleziona dall'intervalloimposta selezion"
-#: editor_selection.cc:1604
+#: editor_selection.cc:1609
msgid "select all from range"
msgstr "seleziona tutto in base all'intervallo"
-#: editor_selection.cc:1635
+#: editor_selection.cc:1640
msgid "select all from punch"
msgstr "seleziona tutto dal punch"
-#: editor_selection.cc:1666
+#: editor_selection.cc:1671
msgid "select all from loop"
msgstr "seleziona tutto dal ciclo"
-#: editor_selection.cc:1702
+#: editor_selection.cc:1707
msgid "select all after cursor"
msgstr "seleziona tutto dopo il cursore"
-#: editor_selection.cc:1704
+#: editor_selection.cc:1709
msgid "select all before cursor"
msgstr "seleziona tutto prima del cursore"
-#: editor_selection.cc:1753
+#: editor_selection.cc:1758
msgid "select all after edit"
msgstr ""
-#: editor_selection.cc:1755
+#: editor_selection.cc:1760
msgid "select all before edit"
msgstr ""
-#: editor_selection.cc:1888
-msgid "No edit range defined"
-msgstr "Nessun intervallo di modifica definito"
-
-#: editor_selection.cc:1894
-msgid ""
-"the edit point is Selected Marker\n"
-"but there is no selected marker."
-msgstr ""
-"Il punto di modifica è impostato sul marcatore selezionato\n"
-"ma non c'è nessun marcatore selezionato."
-
-#: editor_snapshots.cc:136
+#: editor_snapshots.cc:137
msgid "Rename Snapshot"
msgstr ""
-#: editor_snapshots.cc:138
+#: editor_snapshots.cc:139
msgid "New name of snapshot"
msgstr "Nuovo nome dell'istantanea"
-#: editor_snapshots.cc:156
+#: editor_snapshots.cc:157
msgid ""
"Do you really want to remove snapshot \"%1\" ?\n"
"(which cannot be undone)"
@@ -5492,49 +5624,35 @@ msgstr ""
"Vuoi veramente rimuovere l'istantanea \"%1\" ?\n"
"(questa azione non potrà essere annullata)"
-#: editor_snapshots.cc:161
+#: editor_snapshots.cc:162
msgid "Remove snapshot"
msgstr "Rimuovi l'istantanea"
-#: editor_tempodisplay.cc:208 editor_tempodisplay.cc:250
+#: editor_tempodisplay.cc:193 editor_tempodisplay.cc:235
msgid "add"
msgstr "aggiungi"
-#: editor_tempodisplay.cc:231
+#: editor_tempodisplay.cc:216
msgid "add tempo mark"
msgstr "agggiungi marcatore di tempo"
-#: editor_tempodisplay.cc:272
+#: editor_tempodisplay.cc:257
msgid "add meter mark"
msgstr "agggiungi marcatore di misurazione"
-#: editor_tempodisplay.cc:288 editor_tempodisplay.cc:367
-#: editor_tempodisplay.cc:386
-msgid ""
-"programming error: tempo marker canvas item has no marker object pointer!"
-msgstr ""
-
-#: editor_tempodisplay.cc:293 editor_tempodisplay.cc:372
-msgid "programming error: marker for tempo is not a tempo marker!"
-msgstr ""
-
-#: editor_tempodisplay.cc:305 editor_tempodisplay.cc:335
+#: editor_tempodisplay.cc:290 editor_tempodisplay.cc:320
msgid "done"
msgstr "fatto"
-#: editor_tempodisplay.cc:324 editor_tempodisplay.cc:352
+#: editor_tempodisplay.cc:309 editor_tempodisplay.cc:337
msgid "replace tempo mark"
msgstr "sostituisci il marcatore di tempo"
-#: editor_tempodisplay.cc:391 editor_tempodisplay.cc:423
-msgid "programming error: marker for meter is not a meter marker!"
-msgstr ""
-
-#: editor_tempodisplay.cc:401 editor_tempodisplay.cc:435
+#: editor_tempodisplay.cc:360 editor_tempodisplay.cc:394
msgid "remove tempo mark"
msgstr "Rimuovi marcatore di tempo"
-#: editor_tempodisplay.cc:418
+#: editor_tempodisplay.cc:377
msgid ""
"programming error: meter marker canvas item has no marker object pointer!"
msgstr ""
@@ -5551,220 +5669,264 @@ msgstr ""
msgid "timefx cannot be started - thread creation error"
msgstr ""
-#: engine_dialog.cc:79
+#: engine_dialog.cc:81
msgid "Device Control Panel"
msgstr ""
-#: engine_dialog.cc:80 engine_dialog.cc:1725
+#: engine_dialog.cc:82
+msgid "Midi Device Setup"
+msgstr ""
+
+#: engine_dialog.cc:83 engine_dialog.cc:1999
msgid "Measure"
msgstr ""
-#: engine_dialog.cc:81
+#: engine_dialog.cc:84
msgid "Use results"
msgstr ""
-#: engine_dialog.cc:82
+#: engine_dialog.cc:85
msgid "Back to settings ... (ignore results)"
msgstr ""
-#: engine_dialog.cc:83
-msgid "Calibrate..."
+#: engine_dialog.cc:86
+msgid "Calibrate Audio"
msgstr ""
-#: engine_dialog.cc:87
-msgid "Refresh list"
+#: engine_dialog.cc:90
+msgid "Back to settings"
msgstr ""
-#: engine_dialog.cc:107
+#: engine_dialog.cc:108
msgid ""
"No audio/MIDI backends detected. %1 cannot run\n"
"\n"
"(This is a build/packaging/system error. It should never happen.)"
msgstr ""
-#: engine_dialog.cc:136
+#: engine_dialog.cc:135
msgid "Latency Measurement Tool"
msgstr ""
-#: engine_dialog.cc:151
+#: engine_dialog.cc:147 engine_dialog.cc:561
msgid ""
"<span weight=\"bold\">Turn down the volume on your audio equipment to a very "
"low level.</span>"
msgstr ""
-#: engine_dialog.cc:159
+#: engine_dialog.cc:156
msgid "Select two channels below and connect them using a cable."
msgstr ""
-#: engine_dialog.cc:164
+#: engine_dialog.cc:161
msgid "Output channel"
msgstr ""
-#: engine_dialog.cc:172
+#: engine_dialog.cc:169
msgid "Input channel"
msgstr ""
-#: engine_dialog.cc:207
+#: engine_dialog.cc:204
msgid "Once the channels are connected, click the \"Measure\" button."
msgstr ""
-#: engine_dialog.cc:214
+#: engine_dialog.cc:211
msgid "When satisfied with the results, click the \"Use results\" button."
msgstr ""
-#: engine_dialog.cc:229 engine_dialog.cc:1727
+#: engine_dialog.cc:226 engine_dialog.cc:2107 engine_dialog.cc:2117
msgid "No measurement results yet"
msgstr ""
-#: engine_dialog.cc:238 route_params_ui.cc:105
+#: engine_dialog.cc:236 route_params_ui.cc:105
msgid "Latency"
msgstr "Latenza"
-#: engine_dialog.cc:333
+#: engine_dialog.cc:351
msgid "Audio System:"
msgstr ""
-#: engine_dialog.cc:374
+#: engine_dialog.cc:394
msgid "Driver:"
msgstr "Driver:"
-#: engine_dialog.cc:380
+#: engine_dialog.cc:400
msgid "Device:"
msgstr ""
-#: engine_dialog.cc:385 engine_dialog.cc:475 sfdb_ui.cc:147 sfdb_ui.cc:260
-#: sfdb_ui.cc:265
+#: engine_dialog.cc:405 engine_dialog.cc:496 sfdb_ui.cc:151 sfdb_ui.cc:341
+#: sfdb_ui.cc:346
msgid "Sample rate:"
msgstr "Frequenza di campionamento"
-#: engine_dialog.cc:391 engine_dialog.cc:482
+#: engine_dialog.cc:411 engine_dialog.cc:503
msgid "Buffer size:"
msgstr "Dimenzione buffer:"
-#: engine_dialog.cc:404
+#: engine_dialog.cc:424
msgid "Input Channels:"
msgstr ""
-#: engine_dialog.cc:415
+#: engine_dialog.cc:435
msgid "Output Channels:"
msgstr ""
-#: engine_dialog.cc:426
+#: engine_dialog.cc:446
msgid "Hardware input latency:"
msgstr "Latenza in ingresso:"
-#: engine_dialog.cc:429 engine_dialog.cc:442
+#: engine_dialog.cc:449 engine_dialog.cc:462
msgid "samples"
msgstr "campioni"
-#: engine_dialog.cc:439
+#: engine_dialog.cc:459
msgid "Hardware output latency:"
msgstr "Latenza in uscita:"
-#: engine_dialog.cc:450
+#: engine_dialog.cc:470
msgid "MIDI System"
msgstr ""
-#: engine_dialog.cc:467
+#: engine_dialog.cc:488
msgid ""
"The %1 audio backend was configured and started externally.\n"
"This limits your control over it."
msgstr ""
-#: engine_dialog.cc:521
+#: engine_dialog.cc:543
+msgid ""
+"Failed to start or connect to audio-engine.\n"
+"\n"
+"Latency calibration requires a working audio interface."
+msgstr ""
+
+#: engine_dialog.cc:549
msgid ""
"Your selected audio configuration is playback- or capture-only.\n"
"\n"
"Latency calibration requires playback and capture"
msgstr ""
-#: engine_dialog.cc:595
-msgid "MIDI Inputs"
+#: engine_dialog.cc:630
+msgid "MIDI Devices"
+msgstr ""
+
+#: engine_dialog.cc:636
+msgid "Device"
+msgstr "Dispositivo"
+
+#: engine_dialog.cc:638
+msgid "Hardware Latencies"
msgstr ""
-#: engine_dialog.cc:612
-msgid "MIDI Outputs"
+#: engine_dialog.cc:679
+msgid "Calibrate"
msgstr ""
-#: engine_dialog.cc:696
+#: engine_dialog.cc:761
msgid "all available channels"
msgstr ""
-#: engine_dialog.cc:890
+#: engine_dialog.cc:954
#, c-format
msgid "%u samples"
msgstr ""
-#: engine_dialog.cc:941
+#: engine_dialog.cc:1001
#, c-format
msgid "(%.1f msecs)"
msgstr ""
-#: engine_dialog.cc:1389
+#: engine_dialog.cc:1510
+msgid "Could not start backend engine %1"
+msgstr ""
+
+#: engine_dialog.cc:1561
msgid "Cannot set driver to %1"
msgstr ""
-#: engine_dialog.cc:1393
+#: engine_dialog.cc:1565
msgid "Cannot set device name to %1"
msgstr ""
-#: engine_dialog.cc:1397
+#: engine_dialog.cc:1569
msgid "Cannot set sample rate to %1"
msgstr ""
-#: engine_dialog.cc:1401
+#: engine_dialog.cc:1573
msgid "Cannot set buffer size to %1"
msgstr ""
-#: engine_dialog.cc:1407
+#: engine_dialog.cc:1579
msgid "Cannot set input channels to %1"
msgstr ""
-#: engine_dialog.cc:1411
+#: engine_dialog.cc:1583
msgid "Cannot set output channels to %1"
msgstr ""
-#: engine_dialog.cc:1417
+#: engine_dialog.cc:1589
msgid "Cannot set input latency to %1"
msgstr ""
-#: engine_dialog.cc:1421
+#: engine_dialog.cc:1593
msgid "Cannot set output latency to %1"
msgstr ""
-#: engine_dialog.cc:1654
+#: engine_dialog.cc:1858 engine_dialog.cc:1917
msgid "No signal detected "
msgstr ""
-#: engine_dialog.cc:1667 port_insert_ui.cc:71 port_insert_ui.cc:99
+#: engine_dialog.cc:1871 engine_dialog.cc:1925 port_insert_ui.cc:70
+#: port_insert_ui.cc:98
msgid "Disconnected from audio engine"
msgstr "Disconnesso dal motore audio"
-#: engine_dialog.cc:1681
+#: engine_dialog.cc:1880 engine_dialog.cc:1933
+msgid "Detected roundtrip latency: "
+msgstr ""
+
+#: engine_dialog.cc:1882 engine_dialog.cc:1935
+msgid "Systemic latency: "
+msgstr ""
+
+#: engine_dialog.cc:1889
msgid "(signal detection error)"
msgstr ""
-#: engine_dialog.cc:1687
+#: engine_dialog.cc:1895
msgid "(inverted - bad wiring)"
msgstr ""
-#: engine_dialog.cc:1697
-msgid "Detected roundtrip latency: %1"
+#: engine_dialog.cc:1942
+msgid "(averaging)"
+msgstr ""
+
+#: engine_dialog.cc:1948
+msgid "(too large jitter)"
msgstr ""
-#: engine_dialog.cc:1709 port_insert_ui.cc:135
+#: engine_dialog.cc:1952
+msgid "(large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1963
+msgid "Timeout - large MIDI jitter."
+msgstr ""
+
+#: engine_dialog.cc:1979 port_insert_ui.cc:134
msgid "Detecting ..."
msgstr "Rilevamento..."
-#: engine_dialog.cc:1789
+#: engine_dialog.cc:2073
msgid "Disconnect from %1"
msgstr ""
-#: engine_dialog.cc:1801
+#: engine_dialog.cc:2085
msgid "Connect to %1"
msgstr ""
-#: export_channel_selector.cc:45 sfdb_ui.cc:145
+#: export_channel_selector.cc:45 sfdb_ui.cc:149
msgid "Channels:"
msgstr "Canali"
@@ -5808,20 +5970,20 @@ msgstr ""
msgid "List files"
msgstr "Elenca i file"
-#: export_dialog.cc:164 export_timespan_selector.cc:355
-#: export_timespan_selector.cc:417
+#: export_dialog.cc:158 export_format_dialog.cc:59
+msgid "File format"
+msgstr "Formato del file"
+
+#: export_dialog.cc:159 export_timespan_selector.cc:374
+#: export_timespan_selector.cc:436
msgid "Time Span"
msgstr ""
-#: export_dialog.cc:176
+#: export_dialog.cc:160
msgid "Channels"
msgstr "Canali"
-#: export_dialog.cc:187
-msgid "Time span and channel options"
-msgstr ""
-
-#: export_dialog.cc:221
+#: export_dialog.cc:182
msgid ""
"Export has been aborted due to an error!\n"
"See the Log for details."
@@ -5829,35 +5991,39 @@ msgstr ""
"L'esportazione è stata interrotta a causa di un errore!\n"
"Controllare i messaggi per ulteriori dettagli."
-#: export_dialog.cc:290
+#: export_dialog.cc:251
msgid "Files that will be overwritten"
msgstr "File che verranno sovrascritti"
-#: export_dialog.cc:316
+#: export_dialog.cc:296
+msgid "Export initialization failed: %1"
+msgstr ""
+
+#: export_dialog.cc:306
msgid "Stop Export"
msgstr "Ferma esportazione"
-#: export_dialog.cc:337
+#: export_dialog.cc:327
msgid "export"
msgstr ""
-#: export_dialog.cc:356
+#: export_dialog.cc:346
msgid "Normalizing '%3' (timespan %1 of %2)"
msgstr ""
-#: export_dialog.cc:360
+#: export_dialog.cc:350
msgid "Exporting '%3' (timespan %1 of %2)"
msgstr ""
-#: export_dialog.cc:383 export_dialog.cc:385
+#: export_dialog.cc:373 export_dialog.cc:375
msgid "<span color=\"#ffa755\">Error: "
msgstr "<span color=\"#ffa755\">Errore: "
-#: export_dialog.cc:395
+#: export_dialog.cc:385
msgid "<span color=\"#ffa755\">Warning: "
msgstr "<span color=\"#ffa755\">Attenzione: "
-#: export_dialog.cc:397
+#: export_dialog.cc:387
msgid ""
"\n"
"<span color=\"#ffa755\">Warning: "
@@ -5865,39 +6031,43 @@ msgstr ""
"\n"
"<span color=\"#ffa755\">Attenzione: "
-#: export_dialog.cc:420
+#: export_dialog.cc:411
msgid "Export Selection"
msgstr "Esporta selezione"
-#: export_dialog.cc:433
+#: export_dialog.cc:425
msgid "Export Region"
msgstr "Esporta regione"
-#: export_dialog.cc:443
+#: export_dialog.cc:434
msgid "Source"
msgstr "Sorgente"
-#: export_dialog.cc:458
+#: export_dialog.cc:450
msgid "Stem Export"
msgstr "Esportazione Stem"
-#: export_file_notebook.cc:38
+#: export_file_notebook.cc:39
msgid "Add another format"
msgstr ""
-#: export_file_notebook.cc:178
+#: export_file_notebook.cc:193
msgid "Format"
msgstr "Formato"
-#: export_file_notebook.cc:179
+#: export_file_notebook.cc:194
msgid "Location"
msgstr "Posizione"
-#: export_file_notebook.cc:255
+#: export_file_notebook.cc:195
+msgid "Upload to Soundcloud"
+msgstr ""
+
+#: export_file_notebook.cc:273
msgid "No format!"
msgstr ""
-#: export_file_notebook.cc:267
+#: export_file_notebook.cc:291
msgid "Format %1: %2"
msgstr ""
@@ -5918,9 +6088,9 @@ msgid "Folder:"
msgstr "Cartella:"
#: export_filename_selector.cc:37 session_import_dialog.cc:44
-#: transcode_video_dialog.cc:58 video_server_dialog.cc:45
-#: video_server_dialog.cc:47 export_video_dialog.cc:68
-#: export_video_dialog.cc:70
+#: transcode_video_dialog.cc:59 video_server_dialog.cc:59
+#: video_server_dialog.cc:61 export_video_dialog.cc:69
+#: export_video_dialog.cc:71
msgid "Browse"
msgstr "Sfoglia"
@@ -5980,67 +6150,69 @@ msgstr "Rimuovi il silenzio alla fine"
msgid "Add silence at end:"
msgstr "Aggiungi silenzio alla fine:"
-#: export_format_dialog.cc:55
+#: export_format_dialog.cc:54
+msgid ""
+"Command to run post-export\n"
+"(%f=full path & filename, %d=directory, %b=basename):"
+msgstr ""
+
+#: export_format_dialog.cc:57
msgid "Compatibility"
msgstr "Compatibilità"
-#: export_format_dialog.cc:56
+#: export_format_dialog.cc:58
msgid "Quality"
msgstr "Qualità"
-#: export_format_dialog.cc:57
-msgid "File format"
-msgstr "Formato del file"
-
-#: export_format_dialog.cc:59
+#: export_format_dialog.cc:61
msgid "Sample rate conversion quality:"
msgstr "Qualità di conversione della frequenza di campionamento:"
-#: export_format_dialog.cc:66
+#: export_format_dialog.cc:68
msgid "Dithering"
msgstr "Dithering"
-#: export_format_dialog.cc:68
+#: export_format_dialog.cc:70
msgid "Create CUE file for disk-at-once CD/DVD creation"
msgstr ""
-#: export_format_dialog.cc:69
+#: export_format_dialog.cc:71
msgid "Create TOC file for disk-at-once CD/DVD creation"
msgstr ""
-#: export_format_dialog.cc:71
+#: export_format_dialog.cc:73
msgid "Tag file with session's metadata"
msgstr "tag file con i metadati della sessione"
-#: export_format_dialog.cc:461
+#: export_format_dialog.cc:470
msgid "Best (sinc)"
msgstr "Migliore (sinc)"
-#: export_format_dialog.cc:466
+#: export_format_dialog.cc:475
msgid "Medium (sinc)"
msgstr "Media (sinc)"
-#: export_format_dialog.cc:471
+#: export_format_dialog.cc:480
msgid "Fast (sinc)"
msgstr "Veloce (sinc)"
-#: export_format_dialog.cc:481
+#: export_format_dialog.cc:490
msgid "Zero order hold"
msgstr ""
-#: export_format_dialog.cc:879
+#: export_format_dialog.cc:895
msgid "Linear encoding options"
msgstr ""
-#: export_format_dialog.cc:895
+#: export_format_dialog.cc:911
msgid "Ogg Vorbis options"
msgstr "Opzioni Ogg Vorbis"
-#: export_format_dialog.cc:908
+#: export_format_dialog.cc:922
msgid "FLAC options"
msgstr "Opzioni FLAC"
-#: export_format_dialog.cc:925
+#: export_format_dialog.cc:939
msgid "Broadcast Wave options"
msgstr ""
@@ -6068,11 +6240,15 @@ msgstr ""
msgid "Show Times as:"
msgstr "Mostra tempo come:"
-#: export_timespan_selector.cc:204
+#: export_timespan_selector.cc:53 processor_box.cc:2510
+msgid "Select All"
+msgstr "Seleziona tutto"
+
+#: export_timespan_selector.cc:223
msgid " to "
msgstr "a"
-#: export_timespan_selector.cc:348 export_timespan_selector.cc:407
+#: export_timespan_selector.cc:367 export_timespan_selector.cc:426
msgid "Range"
msgstr "Intervallo"
@@ -6088,173 +6264,141 @@ msgstr ""
msgid "getSoundResourceFile: root = %1, != response"
msgstr ""
-#: sfdb_freesound_mootcher.cc:410
+#: sfdb_freesound_mootcher.cc:410 rc_option_editor.cc:1729
msgid "%1"
msgstr ""
-#: gain_meter.cc:105 gain_meter.cc:360 gain_meter.cc:465 gain_meter.cc:859
+#: gain_meter.cc:106 gain_meter.cc:366 gain_meter.cc:471 gain_meter.cc:865
msgid "-inf"
msgstr "-inf"
-#: gain_meter.cc:111 gain_meter.cc:916
+#: gain_meter.cc:113 gain_meter.cc:927
msgid "Fader automation mode"
msgstr "Modalità di automazione fader"
-#: gain_meter.cc:112 gain_meter.cc:917
+#: gain_meter.cc:114 gain_meter.cc:928
msgid "Fader automation type"
msgstr "Tipo di automazione fader"
-#: gain_meter.cc:121 gain_meter.cc:798 panner_ui.cc:177 panner_ui.cc:589
+#: gain_meter.cc:123 gain_meter.cc:804 panner_ui.cc:178 panner_ui.cc:638
msgid "Abs"
msgstr ""
-#: gain_meter.cc:765 mixer_strip.cc:1948 meter_strip.cc:337 panner_ui.cc:556
-#: route_time_axis.cc:2411
+#: gain_meter.cc:771 mixer_strip.cc:2004 meter_strip.cc:374 panner_ui.cc:605
+#: route_time_axis.cc:100 route_time_axis.cc:2560
msgid "P"
msgstr ""
-#: gain_meter.cc:768 panner_ui.cc:559
+#: gain_meter.cc:774 panner_ui.cc:608
msgid "T"
msgstr ""
-#: gain_meter.cc:771 panner_ui.cc:562
+#: gain_meter.cc:777 panner_ui.cc:611
msgid "W"
msgstr ""
-#: generic_pluginui.cc:81
+#: generic_pluginui.cc:79
msgid "<span size=\"large\">Presets</span>"
msgstr "<span size=\"large\">Presets</span>"
-#: generic_pluginui.cc:230
+#: generic_pluginui.cc:228
msgid "Switches"
msgstr ""
-#: generic_pluginui.cc:240 generic_pluginui.cc:374 processor_box.cc:2251
+#: generic_pluginui.cc:238 generic_pluginui.cc:372 processor_box.cc:2484
msgid "Controls"
msgstr "Controlli"
-#: generic_pluginui.cc:268
+#: generic_pluginui.cc:266
msgid "Plugin Editor: could not build control element for port %1"
msgstr ""
"Plugin Editor: impossibile creare elemento di controllo per la porta %1"
-#: generic_pluginui.cc:406
+#: generic_pluginui.cc:404
msgid "Meters"
msgstr ""
-#: generic_pluginui.cc:421
+#: generic_pluginui.cc:419
msgid "Automation control"
msgstr "Controllo automazione"
-#: generic_pluginui.cc:428
+#: generic_pluginui.cc:426
msgid "Mgnual"
msgstr ""
-#: global_port_matrix.cc:157
+#: global_port_matrix.cc:158
msgid "Audio Connection Manager"
msgstr "Gestore delle connessioni audio"
-#: global_port_matrix.cc:160
+#: global_port_matrix.cc:161
msgid "MIDI Connection Manager"
msgstr "Gestore delle connessionio MIDI"
-#: global_port_matrix.cc:200 io_selector.cc:210 mixer_strip.cc:719
-#: mixer_strip.cc:845
+#: global_port_matrix.cc:201 io_selector.cc:211 mixer_strip.cc:799
+#: mixer_strip.cc:895
msgid "Disconnect"
msgstr "Disconnetti"
-#: global_port_matrix.cc:206 io_selector.cc:216
+#: global_port_matrix.cc:207 io_selector.cc:217
msgid "port"
msgstr "entrata"
-#: group_tabs.cc:308
+#: group_tabs.cc:312
msgid "Selection..."
msgstr "Selezione..."
-#: group_tabs.cc:309
+#: group_tabs.cc:313
msgid "Record Enabled..."
msgstr "Registrazione abilitata"
-#: group_tabs.cc:310
+#: group_tabs.cc:314
msgid "Soloed..."
msgstr "In solo..."
-#: group_tabs.cc:316
+#: group_tabs.cc:320
msgid "Create New Group ..."
msgstr ""
-#: group_tabs.cc:317
+#: group_tabs.cc:321
msgid "Create New Group From"
msgstr ""
-#: group_tabs.cc:320
+#: group_tabs.cc:324
msgid "Edit Group..."
msgstr ""
-#: group_tabs.cc:321
+#: group_tabs.cc:325
msgid "Collect Group"
msgstr ""
-#: group_tabs.cc:322
+#: group_tabs.cc:326
msgid "Remove Group"
msgstr ""
-#: group_tabs.cc:325
+#: group_tabs.cc:329
msgid "Remove Subgroup Bus"
msgstr ""
-#: group_tabs.cc:327
+#: group_tabs.cc:331
msgid "Add New Subgroup Bus"
msgstr "Aggiungi un nuovo bus sottogruppo"
-#: group_tabs.cc:329
+#: group_tabs.cc:333
msgid "Add New Aux Bus (pre-fader)"
msgstr "Aggiungi un nuovo bus ausiliario (pre-fader)"
-#: group_tabs.cc:330
+#: group_tabs.cc:334
msgid "Add New Aux Bus (post-fader)"
msgstr "Aggiungi un bus ausiliario (post-fader)"
-#: group_tabs.cc:336
+#: group_tabs.cc:340
msgid "Enable All Groups"
msgstr ""
-#: group_tabs.cc:337
+#: group_tabs.cc:341
msgid "Disable All Groups"
msgstr ""
-#: gtk-custom-ruler.c:133
-msgid "Lower limit of ruler"
-msgstr ""
-
-#: gtk-custom-ruler.c:142
-msgid "Upper"
-msgstr "Superiore"
-
-#: gtk-custom-ruler.c:143
-msgid "Upper limit of ruler"
-msgstr "Limite superiore del righello"
-
-#: gtk-custom-ruler.c:153
-msgid "Position of mark on the ruler"
-msgstr "Marcatore di posizione del righello "
-
-#: gtk-custom-ruler.c:162
-msgid "Max Size"
-msgstr "Dimensione massima"
-
-#: gtk-custom-ruler.c:163
-msgid "Maximum size of the ruler"
-msgstr "Dimensione massima del righello"
-
-#: gtk-custom-ruler.c:172
-msgid "Show Position"
-msgstr "Mostra posizione"
-
-#: gtk-custom-ruler.c:173
-msgid "Draw current ruler position"
-msgstr "Disegna la posizione corrente del righello"
-
#: insert_time_dialog.cc:46
msgid "Time to insert:"
msgstr "Tempo da inserire:"
@@ -6309,27 +6453,27 @@ msgstr ""
msgid "Importing file: %1 of %2"
msgstr "Importazione file: %1 di %2"
-#: io_selector.cc:220
+#: io_selector.cc:221
msgid "I/O selector"
msgstr ""
-#: io_selector.cc:265
+#: io_selector.cc:266
msgid "%1 input"
msgstr "entrata %1"
-#: io_selector.cc:267
+#: io_selector.cc:268
msgid "%1 output"
msgstr "uscita %1"
-#: keyboard.cc:66
+#: keyboard.cc:70
msgid "your own"
msgstr ""
-#: keyboard.cc:129 keyboard.cc:153
+#: keyboard.cc:133 keyboard.cc:157
msgid "Default keybindings not found - %1 will be hard to use!"
msgstr "Scorciatoie base non disponibili - %1 sarà difficile da utilizzare"
-#: keyboard.cc:132 keyboard.cc:156
+#: keyboard.cc:136
msgid "Key bindings file \"%1\" not found. Default bindings used instead"
msgstr ""
"Il file \"%1\" delle scorciatoie da tastiera non disponibile. Verranno usate "
@@ -6347,29 +6491,33 @@ msgstr "Azione"
msgid "Shortcut"
msgstr "Scorciatoia"
-#: keyeditor.cc:86
+#: keyeditor.cc:85
msgid "Select an action, then press the key(s) to (re)set its shortcut"
msgstr ""
"Selezion un'azione, poi premi il tasto(i) per ripristinare o impostare la "
"relativa scorciatoia"
-#: keyeditor.cc:251
+#: keyeditor.cc:99
+msgid "Reset Bindings to Defaults"
+msgstr ""
+
+#: keyeditor.cc:260
msgid "Main_menu"
msgstr ""
-#: keyeditor.cc:253
+#: keyeditor.cc:262
msgid "redirectmenu"
msgstr ""
-#: keyeditor.cc:255
+#: keyeditor.cc:264
msgid "Editor_menus"
msgstr ""
-#: keyeditor.cc:257
+#: keyeditor.cc:266
msgid "RegionList"
msgstr ""
-#: keyeditor.cc:259
+#: keyeditor.cc:268
msgid "ProcessorMenu"
msgstr ""
@@ -6391,132 +6539,107 @@ msgid_plural "%1 samples"
msgstr[0] ""
msgstr[1] ""
-#: latency_gui.cc:72 panner_ui.cc:391
+#: latency_gui.cc:72 panner_ui.cc:408
msgid "Reset"
msgstr "Azzera"
-#: latency_gui.cc:151 rhythm_ferret.cc:274 sfdb_ui.cc:1755
+#: latency_gui.cc:149 rhythm_ferret.cc:273 sfdb_ui.cc:1893
msgid "programming error: %1 (%2)"
msgstr "Errore di programmazione: %1 (%2)"
-#: location_ui.cc:50 location_ui.cc:52
+#: location_ui.cc:51 location_ui.cc:53
msgid "Use PH"
msgstr ""
-#: location_ui.cc:54
+#: location_ui.cc:55
msgid "CD"
msgstr "CD"
-#: location_ui.cc:57
+#: location_ui.cc:58
msgid "Glue"
msgstr "Colla"
-#: location_ui.cc:85
+#: location_ui.cc:86
msgid "Performer:"
msgstr ""
-#: location_ui.cc:86
+#: location_ui.cc:87
msgid "Composer:"
msgstr ""
-#: location_ui.cc:88
+#: location_ui.cc:89
msgid "Pre-Emphasis"
msgstr ""
-#: location_ui.cc:314
+#: location_ui.cc:316
msgid "Remove this range"
msgstr ""
-#: location_ui.cc:315
+#: location_ui.cc:317
msgid "Start time - middle click to locate here"
msgstr ""
-#: location_ui.cc:316
+#: location_ui.cc:318
msgid "End time - middle click to locate here"
msgstr ""
-#: location_ui.cc:319
+#: location_ui.cc:321
msgid "Set range start from playhead location"
msgstr ""
-#: location_ui.cc:320
+#: location_ui.cc:322
msgid "Set range end from playhead location"
msgstr ""
-#: location_ui.cc:324
+#: location_ui.cc:326
msgid "Remove this marker"
msgstr ""
-#: location_ui.cc:325
+#: location_ui.cc:327
msgid "Position - middle click to locate here"
msgstr ""
-#: location_ui.cc:327
+#: location_ui.cc:329
msgid "Set marker time from playhead location"
msgstr ""
-#: location_ui.cc:494
+#: location_ui.cc:496
msgid "You cannot put a CD marker at the start of the session"
msgstr "Impossibile inserire un marcatore CD all'inizio della sessione"
-#: location_ui.cc:720
+#: location_ui.cc:722
msgid "New Marker"
msgstr "Nuovo marcatore"
-#: location_ui.cc:721
+#: location_ui.cc:723
msgid "New Range"
msgstr "Nuovo Intervallo"
-#: location_ui.cc:734
+#: location_ui.cc:736
msgid "<b>Loop/Punch Ranges</b>"
msgstr "Intervalli di Ciclo/Punch"
-#: location_ui.cc:759
+#: location_ui.cc:761
msgid "<b>Markers (Including CD Index)</b>"
msgstr "<b>Marcatori (inclusi gli indici CD)</b>"
-#: location_ui.cc:794
+#: location_ui.cc:796
msgid "<b>Ranges (Including CD Track Ranges)</b>"
msgstr "<b>Intervalli (inclusi gli intervalli traccia CD)</b>"
-#: location_ui.cc:1036
+#: location_ui.cc:1038
msgid "add range marker"
msgstr "agggiungi marcatore di intervallo"
-#: main.cc:81
+#: main.cc:79
msgid "%1 could not connect to the audio backend."
msgstr ""
-#: main.cc:194 main.cc:315
-msgid "cannot create user %3 folder %1 (%2)"
-msgstr ""
-
-#: main.cc:201 main.cc:322
-msgid "cannot open pango.rc file %1"
-msgstr "impossibile aprire il file pango.rc %1"
-
-#: main.cc:226 main.cc:349
-msgid "Cannot find ArdourMono TrueType font"
-msgstr ""
-
-#: main.cc:238 main.cc:355
-msgid "Cannot load ArdourMono TrueType font."
-msgstr ""
-
-#: main.cc:303
-msgid ""
-"No fontconfig file found on your system. Things may looked very odd or ugly"
-msgstr ""
-
-#: main.cc:359
-msgid "Failed to set fontconfig configuration."
-msgstr ""
-
-#: main.cc:370 main.cc:386
+#: main.cc:104 main.cc:120
msgid "The audio backend (%1) has failed, or terminated"
msgstr ""
-#: main.cc:373
+#: main.cc:107
msgid ""
"%2 exited unexpectedly, and without notifying %1.\n"
"\n"
@@ -6525,55 +6648,65 @@ msgid ""
"Click OK to exit %1."
msgstr ""
-#: main.cc:387
+#: main.cc:121
msgid "%2 exited unexpectedly, and without notifying %1."
msgstr ""
-#: main.cc:474
+#: main.cc:223
+msgid ""
+"\n"
+" Ardour could not understand your command line "
+msgstr ""
+
+#: main.cc:225
+msgid "An error was encountered while launching Ardour"
+msgstr ""
+
+#: main.cc:233
msgid " (built using "
msgstr ""
-#: main.cc:477
+#: main.cc:236
msgid " and GCC version "
msgstr ""
-#: main.cc:487
+#: main.cc:246
msgid "Copyright (C) 1999-2012 Paul Davis"
msgstr ""
-#: main.cc:488
+#: main.cc:247
msgid ""
"Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
"Baker, Robin Gareus"
msgstr ""
-#: main.cc:490
+#: main.cc:249
msgid "%1 comes with ABSOLUTELY NO WARRANTY"
msgstr "%1 è fornito SENZA ALCUNA GARANZIA"
-#: main.cc:491
+#: main.cc:250
msgid "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
msgstr "neanche per la COMMERCIALIZZAZIONE o PER SCOPI PARTICOLARI."
-#: main.cc:492
+#: main.cc:251
msgid "This is free software, and you are welcome to redistribute it "
msgstr "Questo è software libero e siete i benvenuti se volete redistribuirlo "
-#: main.cc:493
+#: main.cc:252
msgid "under certain conditions; see the source for copying conditions."
msgstr ""
"sotto determinate condizioni; leggere i sorgenti per le condizioni relative "
"alla copia."
-#: main.cc:500
+#: main.cc:259
msgid "could not initialize %1."
msgstr "Impossibile inizializzare %1."
-#: main.cc:509
+#: main.cc:269
msgid "Cannot xinstall SIGPIPE error handler"
msgstr ""
-#: main.cc:515
+#: main.cc:276
msgid "could not create %1 GUI"
msgstr ""
@@ -6581,17 +6714,13 @@ msgstr ""
msgid "Display delta to edit cursor"
msgstr ""
-#: marker.cc:251 video_image_frame.cc:121
+#: marker.cc:265
msgid "MarkerText"
msgstr ""
-#: midi_channel_selector.cc:159 midi_channel_selector.cc:397
-#: midi_channel_selector.cc:433
-msgid "All"
-msgstr "Tutto"
-
#: midi_channel_selector.cc:163 midi_channel_selector.cc:402
-#: midi_channel_selector.cc:438 rc_option_editor.cc:1248 sfdb_ui.cc:538
+#: midi_channel_selector.cc:438 rc_option_editor.cc:1499
+#: rc_option_editor.cc:2084 sfdb_ui.cc:658
msgid "None"
msgstr "Nessuno"
@@ -6780,87 +6909,87 @@ msgstr "Nome porta:"
msgid "MidiPortDialog"
msgstr ""
-#: midi_region_view.cc:838
+#: midi_region_view.cc:822
msgid "channel edit"
msgstr ""
-#: midi_region_view.cc:874
+#: midi_region_view.cc:858
msgid "velocity edit"
msgstr ""
-#: midi_region_view.cc:931
+#: midi_region_view.cc:915
msgid "add note"
msgstr ""
-#: midi_region_view.cc:1779
+#: midi_region_view.cc:1766
msgid "step add"
msgstr ""
-#: midi_region_view.cc:1862
+#: midi_region_view.cc:1853
msgid "insane MIDI patch key %1:%2"
msgstr ""
-#: midi_region_view.cc:1870 midi_region_view.cc:1890
+#: midi_region_view.cc:1861 midi_region_view.cc:1881
msgid "alter patch change"
msgstr ""
-#: midi_region_view.cc:1924
+#: midi_region_view.cc:1915
msgid "add patch change"
msgstr ""
-#: midi_region_view.cc:1942
+#: midi_region_view.cc:1933
msgid "move patch change"
msgstr ""
-#: midi_region_view.cc:1953
+#: midi_region_view.cc:1944
msgid "delete patch change"
msgstr ""
-#: midi_region_view.cc:2022
+#: midi_region_view.cc:2013
msgid "delete selection"
msgstr "cancella selezione"
-#: midi_region_view.cc:2038
+#: midi_region_view.cc:2029
msgid "delete note"
msgstr "Elimina nota"
-#: midi_region_view.cc:2425
+#: midi_region_view.cc:2423
msgid "move notes"
msgstr ""
-#: midi_region_view.cc:2647
+#: midi_region_view.cc:2645
msgid "resize notes"
msgstr ""
-#: midi_region_view.cc:2901
+#: midi_region_view.cc:2899
msgid "change velocities"
msgstr ""
-#: midi_region_view.cc:2967
+#: midi_region_view.cc:2965
msgid "transpose"
msgstr ""
-#: midi_region_view.cc:3001
+#: midi_region_view.cc:2999
msgid "change note lengths"
msgstr "cambia le durate"
-#: midi_region_view.cc:3070
+#: midi_region_view.cc:3068
msgid "nudge"
msgstr ""
-#: midi_region_view.cc:3085
+#: midi_region_view.cc:3083
msgid "change channel"
msgstr ""
-#: midi_region_view.cc:3130
+#: midi_region_view.cc:3128
msgid "Bank "
msgstr ""
-#: midi_region_view.cc:3131
+#: midi_region_view.cc:3129
msgid "Program "
msgstr ""
-#: midi_region_view.cc:3132
+#: midi_region_view.cc:3130
msgid "Channel "
msgstr ""
@@ -6868,140 +6997,136 @@ msgstr ""
msgid "paste"
msgstr "Incolla"
-#: midi_region_view.cc:3761
-msgid "delete sysex"
-msgstr ""
-
-#: midi_streamview.cc:479
+#: midi_streamview.cc:491
msgid "failed to create MIDI region"
msgstr ""
-#: midi_time_axis.cc:262
+#: midi_time_axis.cc:293
msgid "External MIDI Device"
msgstr ""
-#: midi_time_axis.cc:263
+#: midi_time_axis.cc:294
msgid "External Device Mode"
msgstr ""
-#: midi_time_axis.cc:271
+#: midi_time_axis.cc:302
msgid "Chns"
msgstr ""
-#: midi_time_axis.cc:272
+#: midi_time_axis.cc:303
msgid "Click to edit channel settings"
msgstr ""
-#: midi_time_axis.cc:486
+#: midi_time_axis.cc:517
msgid "Show Full Range"
msgstr "Mostra tutto l'intervallo"
-#: midi_time_axis.cc:491
+#: midi_time_axis.cc:522
msgid "Fit Contents"
msgstr "Adatta i contenuti"
-#: midi_time_axis.cc:495
+#: midi_time_axis.cc:526
msgid "Note Range"
msgstr ""
-#: midi_time_axis.cc:496
+#: midi_time_axis.cc:527
msgid "Note Mode"
msgstr ""
-#: midi_time_axis.cc:497
+#: midi_time_axis.cc:528
msgid "Channel Selector"
msgstr ""
-#: midi_time_axis.cc:502
+#: midi_time_axis.cc:533
msgid "Color Mode"
msgstr ""
-#: midi_time_axis.cc:561
+#: midi_time_axis.cc:592
msgid "Bender"
msgstr ""
-#: midi_time_axis.cc:565
+#: midi_time_axis.cc:596
msgid "Pressure"
msgstr "Pressione"
-#: midi_time_axis.cc:578
+#: midi_time_axis.cc:609
msgid "Controllers"
msgstr ""
-#: midi_time_axis.cc:583
+#: midi_time_axis.cc:614
msgid "No MIDI Channels selected"
msgstr ""
-#: midi_time_axis.cc:640 midi_time_axis.cc:769
+#: midi_time_axis.cc:692 midi_time_axis.cc:821
msgid "Hide all channels"
msgstr ""
-#: midi_time_axis.cc:644 midi_time_axis.cc:773
+#: midi_time_axis.cc:696 midi_time_axis.cc:825
msgid "Show all channels"
msgstr "Mostra tutti i canali"
-#: midi_time_axis.cc:655 midi_time_axis.cc:784
+#: midi_time_axis.cc:707 midi_time_axis.cc:836
msgid "Channel %1"
msgstr "Canale %1"
-#: midi_time_axis.cc:910 midi_time_axis.cc:942
+#: midi_time_axis.cc:962 midi_time_axis.cc:994
msgid "Controllers %1-%2"
msgstr ""
-#: midi_time_axis.cc:933 midi_time_axis.cc:936
+#: midi_time_axis.cc:985 midi_time_axis.cc:988
msgid "Controller %1"
msgstr ""
-#: midi_time_axis.cc:959
+#: midi_time_axis.cc:1011
msgid "Sustained"
msgstr "Sostenuto"
-#: midi_time_axis.cc:966
+#: midi_time_axis.cc:1018
msgid "Percussive"
msgstr "Percussivo"
-#: midi_time_axis.cc:986
+#: midi_time_axis.cc:1038
msgid "Meter Colors"
msgstr ""
-#: midi_time_axis.cc:993
+#: midi_time_axis.cc:1045
msgid "Channel Colors"
msgstr "Colore canale"
-#: midi_time_axis.cc:1000
+#: midi_time_axis.cc:1052
msgid "Track Color"
msgstr "Colore traccia"
-#: midi_time_axis.cc:1488 midi_time_axis.cc:1494 midi_time_axis.cc:1504
-#: midi_time_axis.cc:1510
+#: midi_time_axis.cc:1687 midi_time_axis.cc:1693 midi_time_axis.cc:1703
+#: midi_time_axis.cc:1709
msgid "all"
msgstr ""
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1507
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1706
msgid "some"
msgstr ""
-#: midi_tracer.cc:46
+#: midi_tracer.cc:49
msgid "Line history: "
msgstr ""
-#: midi_tracer.cc:54
+#: midi_tracer.cc:57
msgid "Auto-Scroll"
msgstr "Auto scorrimento"
-#: midi_tracer.cc:55
+#: midi_tracer.cc:58
msgid "Decimal"
msgstr "Decimale"
-#: midi_tracer.cc:56 rc_option_editor.cc:657
+#: midi_tracer.cc:59 rc_option_editor.cc:717
msgid "Enabled"
msgstr "Abilitato"
-#: midi_tracer.cc:57
+#: midi_tracer.cc:60
msgid "Delta times"
msgstr ""
-#: midi_tracer.cc:70
+#: midi_tracer.cc:73
msgid "Port:"
msgstr "Porta:"
@@ -7009,36 +7134,36 @@ msgstr "Porta:"
msgid "New velocity"
msgstr ""
-#: missing_file_dialog.cc:34
-msgid "Missing File!"
-msgstr "File mancante!"
+#: missing_file_dialog.cc:35
+msgid "Missing File"
+msgstr ""
-#: missing_file_dialog.cc:36
+#: missing_file_dialog.cc:37
msgid "Select a folder to search"
msgstr "Scegli una cartella da cercare"
-#: missing_file_dialog.cc:37
+#: missing_file_dialog.cc:38
msgid "Add chosen folder to search path, and try again"
msgstr ""
"Aggiungere la cartella prescelta al percorso di ricerca e provare di nuovo."
-#: missing_file_dialog.cc:39
+#: missing_file_dialog.cc:40
msgid "Stop loading this session"
msgstr "Blocca il caricamento della sessione"
-#: missing_file_dialog.cc:40
+#: missing_file_dialog.cc:41
msgid "Skip all missing files"
msgstr "Salta tutti i file mancanti"
-#: missing_file_dialog.cc:41
+#: missing_file_dialog.cc:42
msgid "Skip this file"
msgstr "Salta questo file"
-#: missing_file_dialog.cc:52
+#: missing_file_dialog.cc:53
msgid "audio"
msgstr "audio"
-#: missing_file_dialog.cc:65
+#: missing_file_dialog.cc:70
msgid ""
"%1 cannot find the %2 file\n"
"\n"
@@ -7058,7 +7183,7 @@ msgstr ""
"<tt>%4</tt>\n"
"\n"
-#: missing_file_dialog.cc:99
+#: missing_file_dialog.cc:104
msgid "Click to choose an additional folder"
msgstr "Clicca per scegliere un'altra cartella"
@@ -7066,7 +7191,7 @@ msgstr "Clicca per scegliere un'altra cartella"
msgid "Missing Plugins"
msgstr "Plugin mancanti"
-#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:59
+#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:60
msgid "OK"
msgstr "Ok"
@@ -7122,6 +7247,10 @@ msgstr ""
msgid "Toggle Selected Plugins"
msgstr ""
+#: mixer_actor.cc:70
+msgid "Deselect all srips and processors"
+msgstr ""
+
#: mixer_actor.cc:72 mixer_actor.cc:73
msgid "Scroll Mixer Window to the left"
msgstr ""
@@ -7138,312 +7267,302 @@ msgstr ""
msgid "Could not find mixer.bindings in search path %1"
msgstr ""
-#: mixer_strip.cc:93 mixer_strip.cc:121 mixer_strip.cc:1721
+#: mixer_strip.cc:98 mixer_strip.cc:127
msgid "pre"
msgstr ""
-#: mixer_strip.cc:95 mixer_strip.cc:123 mixer_strip.cc:354 mixer_strip.cc:1300
-#: rc_option_editor.cc:1868
+#: mixer_strip.cc:100 mixer_strip.cc:129 mixer_strip.cc:376
+#: mixer_strip.cc:1373 rc_option_editor.cc:2203
msgid "Comments"
msgstr ""
-#: mixer_strip.cc:147
+#: mixer_strip.cc:151
msgid "Click to toggle the width of this mixer strip."
msgstr ""
-#: mixer_strip.cc:149
+#: mixer_strip.cc:153
msgid ""
"\n"
"%1-%2-click to toggle the width of all strips."
msgstr ""
-#: mixer_strip.cc:156
+#: mixer_strip.cc:160
msgid "Hide this mixer strip"
msgstr ""
-#: mixer_strip.cc:167
+#: mixer_strip.cc:171
msgid "Click to select metering point"
msgstr ""
-#: mixer_strip.cc:173
-msgid "tupni"
-msgstr ""
-
-#: mixer_strip.cc:192
+#: mixer_strip.cc:191
msgid "Isolate Solo"
msgstr "Solo isolato"
-#: mixer_strip.cc:201
+#: mixer_strip.cc:200
msgid "Lock Solo Status"
msgstr "Blocca lo stato di solo"
-#: mixer_strip.cc:203 mixer_strip.cc:1926
-msgid "lock"
-msgstr "blocca"
-
-#: mixer_strip.cc:204 mixer_strip.cc:1925
-msgid "iso"
+#: mixer_strip.cc:203 mixer_strip.cc:1982
+msgid "Iso"
msgstr ""
-#: mixer_strip.cc:258
+#: mixer_strip.cc:259
msgid "Mix group"
msgstr ""
-#: mixer_strip.cc:351 rc_option_editor.cc:1865
+#: mixer_strip.cc:372 rc_option_editor.cc:2199
msgid "Phase Invert"
msgstr ""
-#: mixer_strip.cc:352 rc_option_editor.cc:1866 route_ui.cc:1218
-msgid "Solo Safe"
+#: mixer_strip.cc:373 rc_option_editor.cc:2200
+msgid "Record & Monitor"
msgstr ""
-#: mixer_strip.cc:355 mixer_ui.cc:124 route_time_axis.cc:673
-msgid "Group"
-msgstr "Gruppo"
-
-#: mixer_strip.cc:356 rc_option_editor.cc:1869
-msgid "Meter Point"
+#: mixer_strip.cc:374 rc_option_editor.cc:2201
+msgid "Solo Iso / Lock"
msgstr ""
-#: mixer_strip.cc:470
+#: mixer_strip.cc:530
msgid "Enable/Disable MIDI input"
msgstr ""
-#: mixer_strip.cc:622
-msgid ""
-"Aux\n"
-"Sends"
+#: mixer_strip.cc:694
+msgid "Aux"
msgstr ""
-#: mixer_strip.cc:646
+#: mixer_strip.cc:716
msgid "Snd"
msgstr ""
-#: mixer_strip.cc:701 mixer_strip.cc:829 processor_box.cc:2193
+#: mixer_strip.cc:782 mixer_strip.cc:880 processor_box.cc:2426
msgid "Not connected to audio engine - no I/O changes are possible"
msgstr ""
-#: mixer_strip.cc:1096
+#: mixer_strip.cc:1163
msgid "<b>INPUT</b> to %1"
msgstr ""
-#: mixer_strip.cc:1099
+#: mixer_strip.cc:1166
msgid "<b>OUTPUT</b> from %1"
msgstr ""
-#: mixer_strip.cc:1174
+#: mixer_strip.cc:1241
msgid "Disconnected"
msgstr "Disconnesso"
-#: mixer_strip.cc:1303
+#: mixer_strip.cc:1376
msgid "*Comments*"
msgstr ""
-#: mixer_strip.cc:1310
+#: mixer_strip.cc:1383
msgid "Cmt"
msgstr ""
-#: mixer_strip.cc:1313
+#: mixer_strip.cc:1386
msgid "*Cmt*"
msgstr ""
-#: mixer_strip.cc:1319
+#: mixer_strip.cc:1392
msgid "Click to Add/Edit Comments"
msgstr ""
-#: mixer_strip.cc:1358
-msgid ": comment editor"
-msgstr ""
-
-#: mixer_strip.cc:1435
+#: mixer_strip.cc:1436
msgid "Grp"
msgstr ""
-#: mixer_strip.cc:1438
+#: mixer_strip.cc:1439
msgid "~G"
msgstr ""
-#: mixer_strip.cc:1467
+#: mixer_strip.cc:1468 route_time_axis.cc:534
+msgid "Color..."
+msgstr "Colore..."
+
+#: mixer_strip.cc:1470 route_time_axis.cc:536
msgid "Comments..."
msgstr "Commenti..."
-#: mixer_strip.cc:1469
+#: mixer_strip.cc:1472 route_time_axis.cc:538
+msgid "Inputs..."
+msgstr ""
+
+#: mixer_strip.cc:1474 route_time_axis.cc:540
+msgid "Outputs..."
+msgstr ""
+
+#: mixer_strip.cc:1479
msgid "Save As Template..."
msgstr "Salva come modello..."
-#: mixer_strip.cc:1475 route_group_dialog.cc:39 route_time_axis.cc:696
+#: mixer_strip.cc:1485 route_group_dialog.cc:45 route_time_axis.cc:814
msgid "Active"
msgstr "Attivo"
-#: mixer_strip.cc:1482
+#: mixer_strip.cc:1493
msgid "Adjust Latency..."
msgstr "Regola la latenza..."
-#: mixer_strip.cc:1485
+#: mixer_strip.cc:1496
msgid "Protect Against Denormals"
msgstr "Protezione dalla denormalizzazione"
-#: mixer_strip.cc:1491 route_time_axis.cc:435
+#: mixer_strip.cc:1502 route_time_axis.cc:553
msgid "Remote Control ID..."
msgstr ""
-#: mixer_strip.cc:1717 mixer_strip.cc:1741
-msgid "in"
+#: mixer_strip.cc:1778
+msgid "Pre"
msgstr ""
-#: mixer_strip.cc:1725
-msgid "post"
+#: mixer_strip.cc:1782
+msgid "Post"
msgstr ""
-#: mixer_strip.cc:1729
-msgid "out"
+#: mixer_strip.cc:1802
+msgid "Pr"
msgstr ""
-#: mixer_strip.cc:1734
-msgid "custom"
-msgstr "personalizzato"
-
-#: mixer_strip.cc:1745
-msgid "pr"
-msgstr ""
-
-#: mixer_strip.cc:1749
-msgid "po"
+#: mixer_strip.cc:1806
+msgid "Po"
msgstr ""
-#: mixer_strip.cc:1753
-msgid "o"
+#: mixer_strip.cc:1815
+msgid "C"
msgstr ""
-#: mixer_strip.cc:1758
-msgid "c"
-msgstr ""
-
-#: mixer_strip.cc:1906 route_ui.cc:143
+#: mixer_strip.cc:1963 route_ui.cc:164
msgid "Disk"
msgstr ""
-#: mixer_strip.cc:1918 monitor_section.cc:63
+#: mixer_strip.cc:1975 monitor_section.cc:71
msgid "AFL"
msgstr "AFL"
-#: mixer_strip.cc:1921 monitor_section.cc:64
+#: mixer_strip.cc:1978 monitor_section.cc:72
msgid "PFL"
msgstr "PFL"
-#: mixer_strip.cc:1933
+#: mixer_strip.cc:1989 meter_strip.cc:380
msgid "D"
msgstr ""
-#: mixer_strip.cc:1953
-msgid "i"
-msgstr ""
-
-#: mixer_strip.cc:2128
-msgid "Pre-fader"
-msgstr ""
+#: mixer_strip.cc:2196
+msgid "Pre Fader"
+msgstr "Pre Fader"
-#: mixer_strip.cc:2129
-msgid "Post-fader"
-msgstr ""
+#: mixer_strip.cc:2197
+msgid "Post Fader"
+msgstr "Post Fader"
-#: mixer_strip.cc:2166 meter_strip.cc:728
+#: mixer_strip.cc:2235 meter_strip.cc:818
msgid "Change all in Group to %1"
msgstr ""
-#: mixer_strip.cc:2168 meter_strip.cc:730
+#: mixer_strip.cc:2237 meter_strip.cc:820
msgid "Change all to %1"
msgstr ""
-#: mixer_strip.cc:2170 meter_strip.cc:732
+#: mixer_strip.cc:2239 meter_strip.cc:822
msgid "Change same track-type to %1"
msgstr ""
-#: mixer_ui.cc:1189
+#: mixer_ui.cc:129 route_time_axis.cc:791
+msgid "Group"
+msgstr "Gruppo"
+
+#: mixer_ui.cc:1209
msgid "track display list item for renamed strip not found!"
msgstr ""
-#: mixer_ui.cc:1273
+#: mixer_ui.cc:1293
msgid "-all-"
msgstr "-tutto-"
-#: mixer_ui.cc:1794
+#: mixer_ui.cc:1829
msgid "Strips"
msgstr "Strisce"
-#: meter_strip.cc:764
+#: meter_strip.cc:157
+msgid "Reset Peak"
+msgstr ""
+
+#: meter_strip.cc:854
msgid "Variable height"
msgstr ""
-#: meter_strip.cc:765
+#: meter_strip.cc:855
msgid "Short"
msgstr ""
-#: meter_strip.cc:766
+#: meter_strip.cc:856
msgid "Tall"
msgstr ""
-#: meter_strip.cc:767
+#: meter_strip.cc:857
msgid "Grande"
msgstr ""
-#: meter_strip.cc:768
+#: meter_strip.cc:858
msgid "Venti"
msgstr ""
-#: meter_patterns.cc:81
+#: meter_patterns.cc:82
msgid "Peak"
msgstr ""
-#: meter_patterns.cc:84
+#: meter_patterns.cc:85
msgid "RMS + Peak"
msgstr ""
-#: meter_patterns.cc:87
+#: meter_patterns.cc:88
msgid "IEC1/DIN"
msgstr ""
-#: meter_patterns.cc:90
+#: meter_patterns.cc:91
msgid "IEC1/Nordic"
msgstr ""
-#: meter_patterns.cc:93
+#: meter_patterns.cc:94
msgid "IEC2/BBC"
msgstr ""
-#: meter_patterns.cc:96
+#: meter_patterns.cc:97
msgid "IEC2/EBU"
msgstr ""
-#: meter_patterns.cc:99
+#: meter_patterns.cc:100
msgid "K20"
msgstr ""
-#: meter_patterns.cc:102
+#: meter_patterns.cc:103
msgid "K14"
msgstr ""
-#: meter_patterns.cc:105
+#: meter_patterns.cc:106
+msgid "K12"
+msgstr ""
+
+#: meter_patterns.cc:109
msgid "VU"
msgstr ""
-#: monitor_section.cc:62
+#: monitor_section.cc:70
msgid "SiP"
msgstr "SiP"
-#: monitor_section.cc:86
-msgid "soloing"
+#: monitor_section.cc:97 route_group_dialog.cc:49
+msgid "Soloing"
msgstr ""
-#: monitor_section.cc:90
-msgid "isolated"
-msgstr "isolato"
+#: monitor_section.cc:101
+msgid "Isolated"
+msgstr ""
-#: monitor_section.cc:94
-msgid "auditioning"
-msgstr "Ascolto"
+#: monitor_section.cc:105
+msgid "Auditioning"
+msgstr ""
-#: monitor_section.cc:104
+#: monitor_section.cc:115
msgid ""
"When active, something is solo-isolated.\n"
"Click to de-isolate everything"
@@ -7451,7 +7570,7 @@ msgstr ""
"Se attivo, qualcosa è in solo-isolato.\n"
"Clicca per ripristinare tutto"
-#: monitor_section.cc:107
+#: monitor_section.cc:118
msgid ""
"When active, auditioning is active.\n"
"Click to stop the audition"
@@ -7459,57 +7578,57 @@ msgstr ""
"Se attivo, qualcosa è in ascolto.\n"
"Clicca per ripristinare"
-#: monitor_section.cc:124
+#: monitor_section.cc:135
msgid "Solo controls affect solo-in-place"
msgstr ""
-#: monitor_section.cc:130
+#: monitor_section.cc:141
msgid "Solo controls toggle after-fader-listen"
msgstr ""
-#: monitor_section.cc:136
+#: monitor_section.cc:147
msgid "Solo controls toggle pre-fader-listen"
msgstr ""
-#: monitor_section.cc:144
+#: monitor_section.cc:157
msgid "Gain increase for soloed signals (0dB is normal)"
msgstr ""
-#: monitor_section.cc:150
+#: monitor_section.cc:171
msgid "Solo Boost"
msgstr ""
-#: monitor_section.cc:162
+#: monitor_section.cc:186
msgid ""
"Gain reduction non-soloed signals\n"
"A value above -inf dB causes \"solo-in-front\""
msgstr ""
-#: monitor_section.cc:164
+#: monitor_section.cc:197
msgid "SiP Cut"
msgstr ""
-#: monitor_section.cc:176
+#: monitor_section.cc:212
msgid "Gain reduction to use when dimming monitor outputs"
msgstr ""
-#: monitor_section.cc:181
+#: monitor_section.cc:226 monitor_section.cc:284
msgid "Dim"
msgstr ""
-#: monitor_section.cc:190
-msgid "excl. solo"
+#: monitor_section.cc:236
+msgid "Excl. Solo"
msgstr ""
-#: monitor_section.cc:192
+#: monitor_section.cc:238
msgid "Exclusive solo means that only 1 solo is active at a time"
msgstr "Solo esclusivo vuol dire che soltanto un solo per volta è attivo"
-#: monitor_section.cc:199
-msgid "solo » mute"
+#: monitor_section.cc:245
+msgid "Solo » Mute"
msgstr ""
-#: monitor_section.cc:201
+#: monitor_section.cc:247
msgid ""
"If enabled, solo will override mute\n"
"(a soloed & muted track or bus will be audible)"
@@ -7517,71 +7636,63 @@ msgstr ""
"Se abilitato, solo avrà la precedenza sul muto\n"
"(una traccia o un bus in solo e muto sarà udibile)"
-#: monitor_section.cc:227
-msgid "mute"
-msgstr "muto"
-
-#: monitor_section.cc:238
-msgid "dim"
-msgstr ""
-
-#: monitor_section.cc:245
-msgid "mono"
-msgstr ""
-
-#: monitor_section.cc:266
+#: monitor_section.cc:324
msgid "Monitor"
msgstr ""
-#: monitor_section.cc:678
+#: monitor_section.cc:751
msgid "Switch monitor to mono"
msgstr ""
-#: monitor_section.cc:681
+#: monitor_section.cc:754
msgid "Cut monitor"
msgstr ""
-#: monitor_section.cc:684
+#: monitor_section.cc:757
msgid "Dim monitor"
msgstr ""
-#: monitor_section.cc:687
+#: monitor_section.cc:760
msgid "Toggle exclusive solo mode"
msgstr ""
-#: monitor_section.cc:693
+#: monitor_section.cc:766
msgid "Toggle mute overrides solo mode"
msgstr ""
-#: monitor_section.cc:705
+#: monitor_section.cc:778
msgid "Cut monitor channel %1"
msgstr ""
-#: monitor_section.cc:710
+#: monitor_section.cc:783
msgid "Dim monitor channel %1"
msgstr ""
-#: monitor_section.cc:715
+#: monitor_section.cc:788
msgid "Solo monitor channel %1"
msgstr ""
-#: monitor_section.cc:720
+#: monitor_section.cc:793
msgid "Invert monitor channel %1"
msgstr ""
-#: monitor_section.cc:730
+#: monitor_section.cc:803
msgid "In-place solo"
msgstr ""
-#: monitor_section.cc:732
+#: monitor_section.cc:805
msgid "After Fade Listen (AFL) solo"
msgstr ""
-#: monitor_section.cc:734
+#: monitor_section.cc:807
msgid "Pre Fade Listen (PFL) solo"
msgstr ""
-#: mono_panner.cc:101
+#: mono_panner.cc:109 stereo_panner.cc:117
+msgid "bypassed"
+msgstr ""
+
+#: mono_panner.cc:123
#, c-format
msgid "L:%3d R:%3d"
msgstr ""
@@ -7692,7 +7803,7 @@ msgstr "Normalizza regioni"
msgid "Normalize region"
msgstr "Normalizza regione"
-#: normalize_dialog.cc:49 strip_silence_dialog.cc:70
+#: normalize_dialog.cc:49 strip_silence_dialog.cc:66
msgid "dbFS"
msgstr ""
@@ -7799,31 +7910,26 @@ msgid ""
"ardour3/ardour.bindings)\n"
msgstr ""
-#: panner2d.cc:781
+#: panner2d.cc:852
msgid "Panner (2D)"
msgstr ""
-#: panner2d.cc:783 panner_ui.cc:383 plugin_ui.cc:448
+#: panner2d.cc:854 panner_ui.cc:399 plugin_ui.cc:449
msgid "Bypass"
msgstr ""
-#: panner2d.cc:787
+#: panner2d.cc:860
msgid "Panner"
msgstr ""
-#: panner_ui.cc:70
+#: panner_ui.cc:71
msgid "Pan automation mode"
msgstr "Modalita' automazione pan"
-#: panner_ui.cc:71
+#: panner_ui.cc:72
msgid "Pan automation type"
msgstr "Tipo di automazione pan"
-#: panner_ui.cc:294
-msgid ""
-"No panner user interface is currently available for %1-in/2out tracks/busses"
-msgstr ""
-
#: playlist_selector.cc:43
msgid "Playlists"
msgstr "Playlists"
@@ -7848,39 +7954,39 @@ msgstr ""
msgid "Imported"
msgstr "Importati"
-#: plugin_eq_gui.cc:75 plugin_eq_gui.cc:99
+#: plugin_eq_gui.cc:85 plugin_eq_gui.cc:109
msgid "dB scale"
msgstr ""
-#: plugin_eq_gui.cc:106
+#: plugin_eq_gui.cc:116
msgid "Show phase"
msgstr "Mostra la fase"
-#: plugin_selector.cc:53 plugin_selector.cc:220
+#: plugin_selector.cc:53 plugin_selector.cc:229
msgid "Name contains"
msgstr "Il nome contiene"
-#: plugin_selector.cc:54 plugin_selector.cc:224
+#: plugin_selector.cc:54 plugin_selector.cc:233
msgid "Type contains"
msgstr "Il tipo contiene"
-#: plugin_selector.cc:55 plugin_selector.cc:222
+#: plugin_selector.cc:55 plugin_selector.cc:231
msgid "Category contains"
msgstr ""
-#: plugin_selector.cc:56 plugin_selector.cc:244
+#: plugin_selector.cc:56 plugin_selector.cc:253
msgid "Author contains"
msgstr ""
-#: plugin_selector.cc:57 plugin_selector.cc:246
+#: plugin_selector.cc:57 plugin_selector.cc:255
msgid "Library contains"
msgstr ""
-#: plugin_selector.cc:58 plugin_selector.cc:210 plugin_selector.cc:521
+#: plugin_selector.cc:58 plugin_selector.cc:219 plugin_selector.cc:537
msgid "Favorites only"
msgstr "Solo favoriti"
-#: plugin_selector.cc:59 plugin_selector.cc:214 plugin_selector.cc:521
+#: plugin_selector.cc:59 plugin_selector.cc:223 plugin_selector.cc:537
msgid "Hidden only"
msgstr ""
@@ -7888,68 +7994,68 @@ msgstr ""
msgid "Plugin Manager"
msgstr "Gestore dei plugin"
-#: plugin_selector.cc:84
+#: plugin_selector.cc:85
msgid "Fav"
msgstr ""
-#: plugin_selector.cc:86
+#: plugin_selector.cc:87
msgid "Available Plugins"
msgstr "Plugin disponibili"
-#: plugin_selector.cc:87
+#: plugin_selector.cc:88
msgid "Type"
msgstr "Tipo"
-#: plugin_selector.cc:88
+#: plugin_selector.cc:89
msgid "Category"
msgstr "Categoria"
-#: plugin_selector.cc:89
+#: plugin_selector.cc:90
msgid "Creator"
msgstr "Creatore"
-#: plugin_selector.cc:90
+#: plugin_selector.cc:91
msgid "# Audio In"
msgstr ""
-#: plugin_selector.cc:91
+#: plugin_selector.cc:92
msgid "# Audio Out"
msgstr ""
-#: plugin_selector.cc:92
+#: plugin_selector.cc:93
msgid "# MIDI In"
msgstr ""
-#: plugin_selector.cc:93
+#: plugin_selector.cc:94
msgid "# MIDI Out"
msgstr ""
-#: plugin_selector.cc:115
+#: plugin_selector.cc:116
msgid "Plugins to be connected"
msgstr "Plugin da connettere"
-#: plugin_selector.cc:128
+#: plugin_selector.cc:129
msgid "Add a plugin to the effect list"
msgstr "Aggiungi un plugin alla lista degli effetti"
-#: plugin_selector.cc:132
+#: plugin_selector.cc:133
msgid "Remove a plugin from the effect list"
msgstr "Rimuovi un plugin dalla lista degli effetti"
-#: plugin_selector.cc:134
+#: plugin_selector.cc:135
msgid "Update available plugins"
msgstr "Aggiorna i plugin disponibili"
-#: plugin_selector.cc:171
+#: plugin_selector.cc:172
msgid "Insert Plugin(s)"
msgstr "Inserisci plugin(s)"
-#: plugin_selector.cc:320 plugin_selector.cc:321 plugin_selector.cc:322
-#: plugin_selector.cc:323
+#: plugin_selector.cc:337 plugin_selector.cc:338 plugin_selector.cc:339
+#: plugin_selector.cc:340
msgid "variable"
msgstr ""
-#: plugin_selector.cc:480
+#: plugin_selector.cc:496
msgid ""
"The plugin \"%1\" could not be loaded\n"
"\n"
@@ -7959,121 +8065,121 @@ msgstr ""
"\n"
"Controlla la finestra dei Log per ulteriori dettagli (forse)"
-#: plugin_selector.cc:628
+#: plugin_selector.cc:644
msgid "Favorites"
msgstr "Favoriti"
-#: plugin_selector.cc:630
+#: plugin_selector.cc:646
msgid "Plugin Manager..."
msgstr "Gestore dei plugin..."
-#: plugin_selector.cc:634
+#: plugin_selector.cc:650
msgid "By Creator"
msgstr "Per creatore"
-#: plugin_selector.cc:637
+#: plugin_selector.cc:653
msgid "By Category"
msgstr "Per categoria"
-#: plugin_ui.cc:114
+#: plugin_ui.cc:113
msgid "Eh? LADSPA plugins don't have editors!"
msgstr "Cosa? I plugin LADSPA non hanno editor?"
-#: plugin_ui.cc:123 plugin_ui.cc:226
+#: plugin_ui.cc:122 plugin_ui.cc:227
msgid ""
"unknown type of editor-supplying plugin (note: no VST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:126
+#: plugin_ui.cc:125
msgid "unknown type of editor-supplying plugin"
msgstr ""
-#: plugin_ui.cc:256
+#: plugin_ui.cc:257
msgid ""
"unknown type of editor-supplying plugin (note: no linuxVST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:328
+#: plugin_ui.cc:329
msgid "create_lv2_editor called on non-LV2 plugin"
msgstr ""
-#: plugin_ui.cc:414
+#: plugin_ui.cc:415
msgid "Add"
msgstr "Aggiungi"
-#: plugin_ui.cc:418
+#: plugin_ui.cc:419
msgid "Description"
msgstr ""
-#: plugin_ui.cc:419
+#: plugin_ui.cc:420
msgid "Plugin analysis"
msgstr "Analisi plugin"
-#: plugin_ui.cc:426
+#: plugin_ui.cc:427
msgid ""
"Presets (if any) for this plugin\n"
"(Both factory and user-created)"
msgstr ""
-#: plugin_ui.cc:427
+#: plugin_ui.cc:428
msgid "Save a new preset"
msgstr ""
-#: plugin_ui.cc:428
+#: plugin_ui.cc:429
msgid "Save the current preset"
msgstr ""
-#: plugin_ui.cc:429
+#: plugin_ui.cc:430
msgid "Delete the current preset"
msgstr ""
-#: plugin_ui.cc:430
+#: plugin_ui.cc:431
msgid "Disable signal processing by the plugin"
msgstr ""
-#: plugin_ui.cc:463 plugin_ui.cc:659
+#: plugin_ui.cc:464 plugin_ui.cc:660
msgid ""
"Click to allow the plugin to receive keyboard events that %1 would normally "
"use as a shortcut"
msgstr ""
-#: plugin_ui.cc:464
+#: plugin_ui.cc:465
msgid "Click to enable/disable this plugin"
msgstr ""
-#: plugin_ui.cc:503
+#: plugin_ui.cc:504
msgid "latency (%1 sample)"
msgid_plural "latency (%1 samples)"
msgstr[0] ""
msgstr[1] ""
-#: plugin_ui.cc:505
+#: plugin_ui.cc:506
msgid "latency (%1 ms)"
msgstr "latenza (%1 ms)"
-#: plugin_ui.cc:516
+#: plugin_ui.cc:517
msgid "Edit Latency"
msgstr "Modifica latenza"
-#: plugin_ui.cc:555
+#: plugin_ui.cc:556
msgid "Plugin preset %1 not found"
msgstr "Preset per plugin %1 non trovato"
-#: plugin_ui.cc:592
+#: plugin_ui.cc:593
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"full version"
msgstr ""
-#: plugin_ui.cc:612 plugin_ui.cc:627
+#: plugin_ui.cc:613 plugin_ui.cc:628
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"newer version"
msgstr ""
-#: plugin_ui.cc:666
+#: plugin_ui.cc:667
msgid "Click to allow normal use of %1 keyboard shortcuts"
msgstr "Clicca per consentire il normale utilizzo delle scorciatoie di %1"
@@ -8149,97 +8255,97 @@ msgstr "systema:"
msgid "alsa_pcm"
msgstr ""
-#: port_insert_ui.cc:40
+#: port_insert_ui.cc:39
msgid "Measure Latency"
msgstr "Misura latenza"
-#: port_insert_ui.cc:51
+#: port_insert_ui.cc:50
msgid "Send/Output"
msgstr "Mandate/Uscite"
-#: port_insert_ui.cc:52
+#: port_insert_ui.cc:51
msgid "Return/Input"
msgstr ""
-#: port_insert_ui.cc:86
+#: port_insert_ui.cc:85
msgid "No signal detected"
msgstr "Nessun segnale rilevato"
-#: port_insert_ui.cc:166
+#: port_insert_ui.cc:165
msgid "Port Insert "
msgstr ""
-#: port_matrix.cc:331 port_matrix.cc:357
+#: port_matrix.cc:332 port_matrix.cc:358
msgid "<b>Sources</b>"
msgstr ""
-#: port_matrix.cc:332 port_matrix.cc:358
+#: port_matrix.cc:333 port_matrix.cc:359
msgid "<b>Destinations</b>"
msgstr "<b>Destinazioni</b>"
-#: port_matrix.cc:440 port_matrix.cc:448
+#: port_matrix.cc:441 port_matrix.cc:449
#, c-format
msgid "Add %s %s"
msgstr "Aggiungi %s %s"
-#: port_matrix.cc:456
+#: port_matrix.cc:457
#, c-format
msgid "Rename '%s'..."
msgstr "Rinomina '%s'..."
-#: port_matrix.cc:472
+#: port_matrix.cc:473
msgid "Remove all"
msgstr "Rimuovi tutto"
-#: port_matrix.cc:492 port_matrix.cc:504
+#: port_matrix.cc:493 port_matrix.cc:505
#, c-format
msgid "%s all"
msgstr ""
-#: port_matrix.cc:527
+#: port_matrix.cc:528
msgid "Rescan"
msgstr "Aggiorna"
-#: port_matrix.cc:529
+#: port_matrix.cc:530
msgid "Show individual ports"
msgstr "Mostra porte individuali"
-#: port_matrix.cc:535
+#: port_matrix.cc:536
msgid "Flip"
msgstr ""
-#: port_matrix.cc:721
+#: port_matrix.cc:722
msgid ""
"It is not possible to add a port here, as the first processor in the track "
"or buss cannot support the new configuration."
msgstr ""
-#: port_matrix.cc:724
+#: port_matrix.cc:725
msgid "Cannot add port"
msgstr ""
-#: port_matrix.cc:746
+#: port_matrix.cc:747
msgid "Port removal not allowed"
msgstr "La rimozione delle porte non è consentita"
-#: port_matrix.cc:747
+#: port_matrix.cc:748
msgid ""
"This port cannot be removed.\n"
"Either the first plugin in the track or buss cannot accept\n"
"the new number of inputs or the last plugin has more outputs."
msgstr ""
-#: port_matrix.cc:964
+#: port_matrix.cc:965
#, c-format
msgid "Remove '%s'"
msgstr "Rimuovi '%s'"
-#: port_matrix.cc:979
+#: port_matrix.cc:980
#, c-format
msgid "%s all from '%s'"
msgstr ""
-#: port_matrix.cc:1045
+#: port_matrix.cc:1046
msgid "channel"
msgstr "canali"
@@ -8251,50 +8357,73 @@ msgstr "Non ci sono porte cui connettersi."
msgid "There are no %1 ports to connect."
msgstr "Non ci sono porte %1 cui connettersi."
-#: processor_box.cc:256
+#: processor_box.cc:150
+msgid "Send"
+msgstr ""
+
+#: processor_box.cc:152
+msgid "Return"
+msgstr ""
+
+#: processor_box.cc:310
+msgid ""
+"\n"
+"This mono plugin has been replicated %1 times."
+msgstr ""
+
+#: processor_box.cc:314
msgid ""
"<b>%1</b>\n"
"Double-click to show GUI.\n"
-"Alt+double-click to show generic GUI."
+"Alt+double-click to show generic GUI.%2"
msgstr ""
-#: processor_box.cc:259
+#: processor_box.cc:317
msgid ""
"<b>%1</b>\n"
-"Double-click to show generic GUI."
+"Double-click to show generic GUI.%2"
+msgstr ""
+
+#: processor_box.cc:361
+#, c-format
+msgid "(%1x1) "
msgstr ""
-#: processor_box.cc:372
+#: processor_box.cc:437
msgid "Show All Controls"
msgstr ""
-#: processor_box.cc:376
+#: processor_box.cc:441
msgid "Hide All Controls"
msgstr ""
-#: processor_box.cc:465
+#: processor_box.cc:475
+msgid "Link panner controls"
+msgstr ""
+
+#: processor_box.cc:559
msgid "on"
msgstr ""
-#: processor_box.cc:465 rc_option_editor.cc:1898 rc_option_editor.cc:1912
+#: processor_box.cc:559 rc_option_editor.cc:2232 rc_option_editor.cc:2246
msgid "off"
msgstr "spento"
-#: processor_box.cc:742
+#: processor_box.cc:945
msgid ""
"Right-click to add/remove/edit\n"
"plugins,inserts,sends and more"
msgstr ""
-#: processor_box.cc:1197 processor_box.cc:1618
+#: processor_box.cc:1422 processor_box.cc:1848
msgid "Plugin Incompatibility"
msgstr ""
-#: processor_box.cc:1200
+#: processor_box.cc:1425
msgid "You attempted to add the plugin \"%1\" in slot %2.\n"
msgstr "Hai tentato di aggiungere il plugin \"%1\" nella posizione %2.\n"
-#: processor_box.cc:1206
+#: processor_box.cc:1431
msgid ""
"\n"
"This plugin has:\n"
@@ -8302,19 +8431,19 @@ msgstr ""
"\n"
"Questo plugin ha:\n"
-#: processor_box.cc:1209
+#: processor_box.cc:1434
msgid "\t%1 MIDI input\n"
msgid_plural "\t%1 MIDI inputs\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1213
+#: processor_box.cc:1438
msgid "\t%1 audio input\n"
msgid_plural "\t%1 audio inputs\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1216
+#: processor_box.cc:1441
msgid ""
"\n"
"but at the insertion point, there are:\n"
@@ -8322,19 +8451,19 @@ msgstr ""
"\n"
"ma in corrispondenza del punto di inserimento ci sono:\n"
-#: processor_box.cc:1219
+#: processor_box.cc:1444
msgid "\t%1 MIDI channel\n"
msgid_plural "\t%1 MIDI channels\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1223
+#: processor_box.cc:1448
msgid "\t%1 audio channel\n"
msgid_plural "\t%1 audio channels\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1226
+#: processor_box.cc:1451
msgid ""
"\n"
"%1 is unable to insert this plugin here.\n"
@@ -8342,11 +8471,11 @@ msgstr ""
"\n"
"%1 non può inserire qui questo plugin.\n"
-#: processor_box.cc:1262
+#: processor_box.cc:1488
msgid "Cannot set up new send: %1"
msgstr "Impossibile prepare la nuova mandata: %1"
-#: processor_box.cc:1621
+#: processor_box.cc:1851
msgid ""
"You cannot reorder these plugins/sends/inserts\n"
"in that way because the inputs and\n"
@@ -8356,102 +8485,106 @@ msgstr ""
"in questa maniera perché gli ingressi e le uscite\n"
"non funzionerebbero correttamente."
-#: processor_box.cc:1805
+#: processor_box.cc:2035
msgid "Rename Processor"
msgstr "Rinomina processore"
-#: processor_box.cc:1836
+#: processor_box.cc:2066
msgid "At least 100 IO objects exist with a name like %1 - name not changed"
msgstr ""
"Esistono almeno 100 oggetti I/O con un nome simile a %1 - nome non cambiato"
-#: processor_box.cc:1970
+#: processor_box.cc:2203
msgid "plugin insert constructor failed"
msgstr ""
-#: processor_box.cc:1981
+#: processor_box.cc:2214
msgid ""
"Copying the set of processors on the clipboard failed,\n"
"probably because the I/O configuration of the plugins\n"
"could not match the configuration of this track."
msgstr ""
-#: processor_box.cc:2027
+#: processor_box.cc:2260
msgid ""
"Do you really want to remove all processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2031 processor_box.cc:2056
+#: processor_box.cc:2264 processor_box.cc:2289
msgid "Yes, remove them all"
msgstr "Si, rimuovi tutto"
-#: processor_box.cc:2033 processor_box.cc:2058
+#: processor_box.cc:2266 processor_box.cc:2291
msgid "Remove processors"
msgstr "Rimuovi processori"
-#: processor_box.cc:2048
+#: processor_box.cc:2281
msgid ""
"Do you really want to remove all pre-fader processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2051
+#: processor_box.cc:2284
msgid ""
"Do you really want to remove all post-fader processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2239
+#: processor_box.cc:2472
msgid "New Plugin"
msgstr "Nuovo plugin"
-#: processor_box.cc:2242
+#: processor_box.cc:2475
msgid "New Insert"
msgstr "Nuovo insert"
-#: processor_box.cc:2245
+#: processor_box.cc:2478
msgid "New External Send ..."
msgstr ""
-#: processor_box.cc:2249
+#: processor_box.cc:2482
msgid "New Aux Send ..."
msgstr "Nuova mandata ausiliaria..."
-#: processor_box.cc:2253
+#: processor_box.cc:2485
+msgid "Send Options"
+msgstr ""
+
+#: processor_box.cc:2487
msgid "Clear (all)"
msgstr "Pulisci (tutto)"
-#: processor_box.cc:2255
+#: processor_box.cc:2489
msgid "Clear (pre-fader)"
msgstr "Pulisci (pre-fader)"
-#: processor_box.cc:2257
+#: processor_box.cc:2491
msgid "Clear (post-fader)"
msgstr "Pulisci (post-fader)"
-#: processor_box.cc:2283
+#: processor_box.cc:2517
msgid "Activate All"
msgstr "Attiva tutto"
-#: processor_box.cc:2285
+#: processor_box.cc:2519
msgid "Deactivate All"
msgstr ""
-#: processor_box.cc:2287
+#: processor_box.cc:2521
msgid "A/B Plugins"
msgstr "Plugin A/B"
-#: processor_box.cc:2296
+#: processor_box.cc:2530
msgid "Edit with generic controls..."
msgstr ""
-#: processor_box.cc:2599
+#: processor_box.cc:2833
msgid "%1: %2 (by %3)"
msgstr "%1: %2 (per %3)"
-#: processor_box.cc:2601
-msgid "%2 (by %3)"
+#: processor_box.cc:2835
+msgid "%1 (by %2)"
msgstr ""
#: patch_change_dialog.cc:51
@@ -8466,11 +8599,11 @@ msgstr ""
msgid "Patch"
msgstr ""
-#: patch_change_dialog.cc:99 step_entry.cc:429
+#: patch_change_dialog.cc:99 step_entry.cc:430
msgid "Program"
msgstr "Programma"
-#: patch_change_dialog.cc:107 step_entry.cc:421
+#: patch_change_dialog.cc:107 step_entry.cc:422
msgid "Bank"
msgstr "Banco"
@@ -8502,122 +8635,122 @@ msgstr ""
msgid "Snap note end"
msgstr ""
-#: rc_option_editor.cc:67
+#: rc_option_editor.cc:76
msgid "Click audio file:"
msgstr "File audio (click):"
-#: rc_option_editor.cc:70 rc_option_editor.cc:77
+#: rc_option_editor.cc:79 rc_option_editor.cc:86
msgid "Browse..."
msgstr "Sfoglia..."
-#: rc_option_editor.cc:74
+#: rc_option_editor.cc:83
msgid "Click emphasis audio file:"
msgstr "Pecorso del file di enfasi click"
-#: rc_option_editor.cc:106
+#: rc_option_editor.cc:115
msgid "Choose Click"
msgstr "Scegli click"
-#: rc_option_editor.cc:126
+#: rc_option_editor.cc:135
msgid "Choose Click Emphasis"
msgstr "Usa come enfasi del click"
-#: rc_option_editor.cc:158
+#: rc_option_editor.cc:167
msgid "Limit undo history to"
msgstr "Limita lo storico degli annullamenti a"
-#: rc_option_editor.cc:159
+#: rc_option_editor.cc:168
msgid "Save undo history of"
msgstr "Salva lo storico degli annullamenti di"
-#: rc_option_editor.cc:168 rc_option_editor.cc:175
+#: rc_option_editor.cc:177 rc_option_editor.cc:184
msgid "commands"
msgstr "comandi"
-#: rc_option_editor.cc:313
+#: rc_option_editor.cc:322
msgid "Edit using:"
msgstr "Modifica usando:"
-#: rc_option_editor.cc:319 rc_option_editor.cc:345 rc_option_editor.cc:372
+#: rc_option_editor.cc:328 rc_option_editor.cc:354 rc_option_editor.cc:381
msgid "+ button"
msgstr "+ pulsante"
-#: rc_option_editor.cc:339
+#: rc_option_editor.cc:348
msgid "Delete using:"
msgstr "Elimina usando:"
-#: rc_option_editor.cc:366
+#: rc_option_editor.cc:375
msgid "Insert note using:"
msgstr "Inserisci nota usando:"
-#: rc_option_editor.cc:393
+#: rc_option_editor.cc:402
msgid "Ignore snap using:"
msgstr ""
-#: rc_option_editor.cc:409
+#: rc_option_editor.cc:418
msgid "Keyboard layout:"
msgstr "Disposizione della tastiera:"
-#: rc_option_editor.cc:532
+#: rc_option_editor.cc:541
msgid "Font scaling:"
msgstr "Scala del carattere"
-#: rc_option_editor.cc:584
+#: rc_option_editor.cc:591
+msgid "Waveform Clip Level (dBFS):"
+msgstr ""
+
+#: rc_option_editor.cc:643
msgid "Playback (seconds of buffering):"
msgstr "Riproduzione (secondi di buffering)"
-#: rc_option_editor.cc:597
+#: rc_option_editor.cc:656
msgid "Recording (seconds of buffering):"
msgstr "Registrazione (secondi di buffering)"
-#: rc_option_editor.cc:654
+#: rc_option_editor.cc:714
msgid "Control Surface Protocol"
msgstr ""
-#: rc_option_editor.cc:658
-msgid "Feedback"
-msgstr ""
-
-#: rc_option_editor.cc:663
+#: rc_option_editor.cc:723
msgid "Double-click on a name to edit settings for an enabled protocol"
msgstr ""
"Doppio click su un nome per modificare le impostazioni di un protocollo "
"abilitato"
-#: rc_option_editor.cc:815
+#: rc_option_editor.cc:886
msgid "Show Video Export Info before export"
msgstr ""
-#: rc_option_editor.cc:816
+#: rc_option_editor.cc:887
msgid "Show Video Server Startup Dialog"
msgstr ""
-#: rc_option_editor.cc:817
+#: rc_option_editor.cc:888
msgid "Advanced Setup (remote video server)"
msgstr ""
-#: rc_option_editor.cc:825
+#: rc_option_editor.cc:896
msgid ""
"<b>When enabled</b> you can speficify a custom video-server URL and docroot. "
"- Do not enable this option unless you know what you are doing."
msgstr ""
-#: rc_option_editor.cc:827
+#: rc_option_editor.cc:898
msgid "Video Server URL:"
msgstr ""
-#: rc_option_editor.cc:832
+#: rc_option_editor.cc:903
msgid ""
"Base URL of the video-server including http prefix. This is usually 'http://"
"hostname.example.org:1554/' and defaults to 'http://localhost:1554/' when "
"the video-server is running locally"
msgstr ""
-#: rc_option_editor.cc:834
+#: rc_option_editor.cc:905
msgid "Video Folder:"
msgstr ""
-#: rc_option_editor.cc:839
+#: rc_option_editor.cc:910
msgid ""
"Local path to the video-server document-root. Only files below this "
"directory will be accessible by the video-server. If the server run on a "
@@ -8626,113 +8759,194 @@ msgid ""
"monitor and file-browsing when opening/adding a video file."
msgstr ""
-#: rc_option_editor.cc:846
+#: rc_option_editor.cc:917
msgid ""
"<b>When enabled</b> an information window with details is displayed before "
"the video-export dialog."
msgstr ""
-#: rc_option_editor.cc:851
+#: rc_option_editor.cc:922
msgid ""
"<b>When enabled</b> the video server is never launched automatically without "
"confirmation"
msgstr ""
-#: rc_option_editor.cc:991
+#: rc_option_editor.cc:1004
+msgid "Always Display Plugin Scan Progress"
+msgstr ""
+
+#: rc_option_editor.cc:1005
+msgid "Scan for new VST Plugins on Application Start"
+msgstr ""
+
+#: rc_option_editor.cc:1016
+msgid "General"
+msgstr ""
+
+#: rc_option_editor.cc:1022
+msgid "Scan for Plugins"
+msgstr ""
+
+#: rc_option_editor.cc:1029
+msgid ""
+"<b>When enabled</b> a popup window showing plugin scan progress is displayed "
+"for indexing (cache load) and discovery (detect new plugins)"
+msgstr ""
+
+#: rc_option_editor.cc:1035
+msgid ""
+"Specify the default timeout for plugin instantiation in 1/10 seconds. "
+"Plugins that require more time to load will be blacklisted. A value of 0 "
+"disables the timeout."
+msgstr ""
+
+#: rc_option_editor.cc:1037
+msgid "Scan Time Out [deciseconds]"
+msgstr ""
+
+#: rc_option_editor.cc:1045
+msgid "VST"
+msgstr ""
+
+#: rc_option_editor.cc:1051
+msgid "Clear VST Cache"
+msgstr ""
+
+#: rc_option_editor.cc:1055
+msgid "Clear VST Blacklist"
+msgstr ""
+
+#: rc_option_editor.cc:1063
+msgid ""
+"<b>When enabled</b> new VST plugins are searched, tested and added to the "
+"cache index on application start. When disabled new plugins will only be "
+"available after triggering a 'Scan' manually"
+msgstr ""
+
+#: rc_option_editor.cc:1066
+msgid "Linux VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1073
+msgid "Windows VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1135
+msgid "Set Windows VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1150
+msgid "Set Linux VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1231
msgid "%1 Preferences"
msgstr "Preferenze %1"
-#: rc_option_editor.cc:1002
+#: rc_option_editor.cc:1242
msgid "DSP CPU Utilization"
msgstr "Utilizzo DSP CPU "
-#: rc_option_editor.cc:1006
+#: rc_option_editor.cc:1246
msgid "Signal processing uses"
msgstr "Elaborazione del segnale utilizza"
-#: rc_option_editor.cc:1011
+#: rc_option_editor.cc:1251
msgid "all but one processor"
msgstr "tutti i processori tranne uno"
-#: rc_option_editor.cc:1012
+#: rc_option_editor.cc:1252
msgid "all available processors"
msgstr "tutti i processori disponibili"
-#: rc_option_editor.cc:1015
+#: rc_option_editor.cc:1255
msgid "%1 processors"
msgstr "%1 processori"
-#: rc_option_editor.cc:1018
+#: rc_option_editor.cc:1258
msgid "This setting will only take effect when %1 is restarted."
msgstr ""
-#: rc_option_editor.cc:1023
+#: rc_option_editor.cc:1263
msgid "Options|Undo"
msgstr ""
-#: rc_option_editor.cc:1030
+#: rc_option_editor.cc:1270
msgid "Verify removal of last capture"
msgstr ""
-#: rc_option_editor.cc:1038
+#: rc_option_editor.cc:1278
msgid "Make periodic backups of the session file"
msgstr "Fai periodicamente un backup del file di sessione"
-#: rc_option_editor.cc:1043
+#: rc_option_editor.cc:1283
msgid "Session Management"
msgstr ""
-#: rc_option_editor.cc:1048
+#: rc_option_editor.cc:1288
msgid "Always copy imported files"
msgstr "Copia sempre i file importati"
-#: rc_option_editor.cc:1055
+#: rc_option_editor.cc:1295
msgid "Default folder for new sessions:"
msgstr ""
-#: rc_option_editor.cc:1063
+#: rc_option_editor.cc:1303
msgid "Maximum number of recent sessions"
msgstr ""
-#: rc_option_editor.cc:1076
+#: rc_option_editor.cc:1316
msgid "Click gain level"
msgstr ""
-#: rc_option_editor.cc:1081 route_time_axis.cc:215 route_time_axis.cc:676
+#: rc_option_editor.cc:1321 route_time_axis.cc:266 route_time_axis.cc:794
msgid "Automation"
msgstr "Automazione"
-#: rc_option_editor.cc:1086
+#: rc_option_editor.cc:1326
msgid "Thinning factor (larger value => less data)"
msgstr ""
-#: rc_option_editor.cc:1095
+#: rc_option_editor.cc:1335
msgid "Automation sampling interval (milliseconds)"
msgstr ""
-#: rc_option_editor.cc:1107
+#: rc_option_editor.cc:1347
msgid "Keep record-enable engaged on stop"
msgstr "Mantieni la registrazione abilitata dopo lo stop"
-#: rc_option_editor.cc:1116
+#: rc_option_editor.cc:1356
msgid "Stop recording when an xrun occurs"
msgstr "Ferma la registrazione in caso di xrun"
-#: rc_option_editor.cc:1121
+#: rc_option_editor.cc:1361
msgid ""
"<b>When enabled</b> %1 will stop recording if an over- or underrun is "
"detected by the audio engine"
msgstr ""
-#: rc_option_editor.cc:1127
+#: rc_option_editor.cc:1367
+msgid "Play loop is a transport mode"
+msgstr ""
+
+#: rc_option_editor.cc:1372
+msgid ""
+"<b>When enabled</b> the loop button does not start playback but forces "
+"playback to always play the loop\n"
+"\n"
+"<b>When disabled</b> the loop button starts playing the loop, but stop then "
+"cancels loop playback"
+msgstr ""
+
+#: rc_option_editor.cc:1378
msgid "Create markers where xruns occur"
msgstr "Crea marcatori in corrispondenza di ogni xrun"
-#: rc_option_editor.cc:1136
+#: rc_option_editor.cc:1387
msgid "Stop at the end of the session"
msgstr "Fermati alla fine della sessione"
-#: rc_option_editor.cc:1141
+#: rc_option_editor.cc:1392
msgid ""
"<b>When enabled</b> if %1 is <b>not recording</b>, it will stop the "
"transport when it reaches the current session end marker\n"
@@ -8741,11 +8955,11 @@ msgid ""
"all times"
msgstr ""
-#: rc_option_editor.cc:1149
+#: rc_option_editor.cc:1400
msgid "Do seamless looping (not possible when slaved to MTC, LTC etc)"
msgstr ""
-#: rc_option_editor.cc:1154
+#: rc_option_editor.cc:1405
msgid ""
"<b>When enabled</b> this will loop by reading ahead and wrapping around at "
"the loop point, preventing any need to do a transport locate at the end of "
@@ -8755,39 +8969,39 @@ msgid ""
"loop when %1 reaches the end which will often cause a small click or delay"
msgstr ""
-#: rc_option_editor.cc:1162
+#: rc_option_editor.cc:1413
msgid "Disable per-track record disarm while rolling"
msgstr ""
-#: rc_option_editor.cc:1166
+#: rc_option_editor.cc:1417
msgid ""
"<b>When enabled</b> this will prevent you from accidentally stopping "
"specific tracks recording during a take"
msgstr ""
-#: rc_option_editor.cc:1171
+#: rc_option_editor.cc:1422
msgid "12dB gain reduction during fast-forward and fast-rewind"
msgstr "Riduci il segnale di 12dB in avanzamento/riavvolgimento rapido"
-#: rc_option_editor.cc:1175
+#: rc_option_editor.cc:1426
msgid ""
"This will reduce the unpleasant increase in perceived volume that occurs "
"when fast-forwarding or rewinding through some kinds of audio"
msgstr ""
-#: rc_option_editor.cc:1179
+#: rc_option_editor.cc:1430
msgid "Sync/Slave"
msgstr ""
-#: rc_option_editor.cc:1183
+#: rc_option_editor.cc:1434
msgid "External timecode source"
msgstr ""
-#: rc_option_editor.cc:1193
+#: rc_option_editor.cc:1444
msgid "Match session video frame rate to external timecode"
msgstr ""
-#: rc_option_editor.cc:1199
+#: rc_option_editor.cc:1450
msgid ""
"This option controls the value of the video frame rate <i>while chasing</i> "
"an external timecode source.\n"
@@ -8801,21 +9015,21 @@ msgid ""
"external timecode standard and the session standard."
msgstr ""
-#: rc_option_editor.cc:1209
+#: rc_option_editor.cc:1460
msgid "External timecode is sync locked"
msgstr ""
-#: rc_option_editor.cc:1215
+#: rc_option_editor.cc:1466
msgid ""
"<b>When enabled</b> indicates that the selected external timecode source "
"shares sync (Black &amp; Burst, Wordclock, etc) with the audio interface."
msgstr ""
-#: rc_option_editor.cc:1222
+#: rc_option_editor.cc:1473
msgid "Lock to 29.9700 fps instead of 30000/1001"
msgstr ""
-#: rc_option_editor.cc:1228
+#: rc_option_editor.cc:1479
msgid ""
"<b>When enabled</b> the external timecode source is assumed to use 29.97 fps "
"instead of 30000/1001.\n"
@@ -8828,140 +9042,140 @@ msgid ""
"variant of using exactly 29.97 fps has zero timecode drift.\n"
msgstr ""
-#: rc_option_editor.cc:1238
+#: rc_option_editor.cc:1489
msgid "LTC Reader"
msgstr ""
-#: rc_option_editor.cc:1242
+#: rc_option_editor.cc:1493
msgid "LTC incoming port"
msgstr ""
-#: rc_option_editor.cc:1255
+#: rc_option_editor.cc:1506
msgid "LTC Generator"
msgstr ""
-#: rc_option_editor.cc:1260
+#: rc_option_editor.cc:1511
msgid "Enable LTC generator"
msgstr ""
-#: rc_option_editor.cc:1267
-msgid "send LTC while stopped"
+#: rc_option_editor.cc:1518
+msgid "Send LTC while stopped"
msgstr ""
-#: rc_option_editor.cc:1273
+#: rc_option_editor.cc:1524
msgid ""
"<b>When enabled</b> %1 will continue to send LTC information even when the "
"transport (playhead) is not moving"
msgstr ""
-#: rc_option_editor.cc:1279
+#: rc_option_editor.cc:1530
msgid "LTC generator level"
msgstr ""
-#: rc_option_editor.cc:1283
+#: rc_option_editor.cc:1534
msgid ""
"Specify the Peak Volume of the generated LTC signal in dbFS. A good value "
"is 0dBu ^= -18dbFS in an EBU calibrated system"
msgstr ""
-#: rc_option_editor.cc:1295
-msgid "Link selection of regions and tracks"
-msgstr "Collega la selezione delle tracce e delle regioni"
+#: rc_option_editor.cc:1546
+msgid "Allow dragging of playhead"
+msgstr ""
-#: rc_option_editor.cc:1303
+#: rc_option_editor.cc:1554
msgid "Move relevant automation when audio regions are moved"
msgstr ""
"Sposta le automazioni rilevanti quando le regioni audio vengono spostate"
-#: rc_option_editor.cc:1311
+#: rc_option_editor.cc:1562
msgid "Show meters on tracks in the editor"
msgstr "Mostra i meter sulle tracce nell'editor"
-#: rc_option_editor.cc:1319
+#: rc_option_editor.cc:1570
msgid "Display master-meter in the toolbar"
msgstr ""
-#: rc_option_editor.cc:1326
+#: rc_option_editor.cc:1577
+msgid "Default fade shape"
+msgstr ""
+
+#: rc_option_editor.cc:1596
msgid "Regions in active edit groups are edited together"
msgstr ""
-#: rc_option_editor.cc:1327
+#: rc_option_editor.cc:1597
msgid "whenever they overlap in time"
msgstr ""
-#: rc_option_editor.cc:1328
+#: rc_option_editor.cc:1598
msgid "only if they have identical length, position and origin"
msgstr ""
-#: rc_option_editor.cc:1338
+#: rc_option_editor.cc:1608
msgid "Make rubberband selection rectangle snap to the grid"
msgstr ""
-#: rc_option_editor.cc:1346
+#: rc_option_editor.cc:1616
msgid "Show waveforms in regions"
msgstr "Mostra le onde nelle regioni"
-#: rc_option_editor.cc:1354
+#: rc_option_editor.cc:1624
msgid "Show gain envelopes in audio regions"
msgstr ""
-#: rc_option_editor.cc:1355
+#: rc_option_editor.cc:1625
msgid "in all modes"
msgstr ""
-#: rc_option_editor.cc:1356
+#: rc_option_editor.cc:1626
msgid "only in region gain mode"
msgstr ""
-#: rc_option_editor.cc:1363
+#: rc_option_editor.cc:1633
msgid "Waveform scale"
msgstr ""
-#: rc_option_editor.cc:1368
+#: rc_option_editor.cc:1638
msgid "linear"
msgstr "lineare"
-#: rc_option_editor.cc:1369
+#: rc_option_editor.cc:1639
msgid "logarithmic"
msgstr "logaritmico"
-#: rc_option_editor.cc:1375
+#: rc_option_editor.cc:1645
msgid "Waveform shape"
msgstr ""
-#: rc_option_editor.cc:1380
+#: rc_option_editor.cc:1650
msgid "traditional"
msgstr ""
-#: rc_option_editor.cc:1381
+#: rc_option_editor.cc:1651
msgid "rectified"
msgstr ""
-#: rc_option_editor.cc:1388
+#: rc_option_editor.cc:1660
msgid "Show waveforms for audio while it is being recorded"
msgstr "Mostra le onde durante la registrazione audio"
-#: rc_option_editor.cc:1396
+#: rc_option_editor.cc:1668
msgid "Show zoom toolbar"
msgstr "Mostra la barra dello zoom"
-#: rc_option_editor.cc:1404
-msgid "Color regions using their track's color"
-msgstr "Colora le regioni utilizzando il colore della traccia di appartenenza"
-
-#: rc_option_editor.cc:1412
+#: rc_option_editor.cc:1676
msgid "Update editor window during drags of the summary"
msgstr ""
-#: rc_option_editor.cc:1420
+#: rc_option_editor.cc:1684
msgid "Synchronise editor and mixer selection"
msgstr ""
-#: rc_option_editor.cc:1427
+#: rc_option_editor.cc:1691
msgid "Name new markers"
msgstr "Assegna un nome ai nuovi marcatori"
-#: rc_option_editor.cc:1433
+#: rc_option_editor.cc:1697
msgid ""
"If enabled, popup a dialog when a new marker is created to allow its name to "
"be set as it is created.\n"
@@ -8969,656 +9183,676 @@ msgid ""
"You can always rename markers by right-clicking on them"
msgstr ""
-#: rc_option_editor.cc:1439
+#: rc_option_editor.cc:1703
msgid "Auto-scroll editor window when dragging near its edges"
msgstr ""
-#: rc_option_editor.cc:1446
+#: rc_option_editor.cc:1710
msgid "Buffering"
msgstr ""
-#: rc_option_editor.cc:1454
+#: rc_option_editor.cc:1718
msgid "Record monitoring handled by"
msgstr "Controllo della registrazione da parte di"
-#: rc_option_editor.cc:1460
+#: rc_option_editor.cc:1724
msgid "via Audio Driver"
msgstr ""
-#: rc_option_editor.cc:1463
-msgid "ardour"
-msgstr ""
-
-#: rc_option_editor.cc:1464
+#: rc_option_editor.cc:1730
msgid "audio hardware"
msgstr "hardware audio"
-#: rc_option_editor.cc:1471
+#: rc_option_editor.cc:1737
msgid "Tape machine mode"
msgstr "Modalità nastro"
-#: rc_option_editor.cc:1476
+#: rc_option_editor.cc:1742
msgid "Connection of tracks and busses"
msgstr "Connessione di tracce e bus"
-#: rc_option_editor.cc:1481
+#: rc_option_editor.cc:1747
msgid "Auto-connect master/monitor busses"
msgstr "Connetti automaticamente i bus master/monitor"
-#: rc_option_editor.cc:1488
+#: rc_option_editor.cc:1754
msgid "Connect track inputs"
msgstr "Connetti ingressi della traccia"
-#: rc_option_editor.cc:1493
+#: rc_option_editor.cc:1759
msgid "automatically to physical inputs"
msgstr "automaticamente agli ingressi fisici"
-#: rc_option_editor.cc:1494 rc_option_editor.cc:1507
+#: rc_option_editor.cc:1760 rc_option_editor.cc:1773
msgid "manually"
msgstr "manualmente"
-#: rc_option_editor.cc:1500
+#: rc_option_editor.cc:1766
msgid "Connect track and bus outputs"
msgstr "Connetti le uscite della traccia e del bus"
-#: rc_option_editor.cc:1505
+#: rc_option_editor.cc:1771
msgid "automatically to physical outputs"
msgstr "automaticamente alle uscite fisiche"
-#: rc_option_editor.cc:1506
+#: rc_option_editor.cc:1772
msgid "automatically to master bus"
msgstr "automaticamente al bus master"
-#: rc_option_editor.cc:1511
+#: rc_option_editor.cc:1777
msgid "Denormals"
msgstr ""
-#: rc_option_editor.cc:1516
+#: rc_option_editor.cc:1782
msgid "Use DC bias to protect against denormals"
msgstr ""
-#: rc_option_editor.cc:1523
+#: rc_option_editor.cc:1789
msgid "Processor handling"
msgstr "Gestione processore"
-#: rc_option_editor.cc:1528
+#: rc_option_editor.cc:1794
msgid "no processor handling"
msgstr "nessuna gestione processore"
-#: rc_option_editor.cc:1533
+#: rc_option_editor.cc:1799
msgid "use FlushToZero"
msgstr ""
-#: rc_option_editor.cc:1537
+#: rc_option_editor.cc:1803
msgid "use DenormalsAreZero"
msgstr ""
-#: rc_option_editor.cc:1541
+#: rc_option_editor.cc:1807
msgid "use FlushToZero and DenormalsAreZero"
msgstr ""
-#: rc_option_editor.cc:1551
+#: rc_option_editor.cc:1817
msgid "Silence plugins when the transport is stopped"
msgstr ""
-#: rc_option_editor.cc:1559
+#: rc_option_editor.cc:1825
msgid "Make new plugins active"
msgstr "Attiva i nuovi plugin"
-#: rc_option_editor.cc:1567
+#: rc_option_editor.cc:1835
msgid "Enable automatic analysis of audio"
msgstr "Abilita l'analisi automatica dell'audio"
-#: rc_option_editor.cc:1575
+#: rc_option_editor.cc:1843
msgid "Replicate missing region channels"
msgstr ""
-#: rc_option_editor.cc:1582 rc_option_editor.cc:1597 rc_option_editor.cc:1609
-#: rc_option_editor.cc:1621 rc_option_editor.cc:1633 rc_option_editor.cc:1637
-#: rc_option_editor.cc:1645 rc_option_editor.cc:1653 rc_option_editor.cc:1661
-#: rc_option_editor.cc:1663 rc_option_editor.cc:1671 rc_option_editor.cc:1679
-#: rc_option_editor.cc:1687
+#: rc_option_editor.cc:1850 rc_option_editor.cc:1852 rc_option_editor.cc:1867
+#: rc_option_editor.cc:1879 rc_option_editor.cc:1891 rc_option_editor.cc:1903
+#: rc_option_editor.cc:1907 rc_option_editor.cc:1915 rc_option_editor.cc:1923
+#: rc_option_editor.cc:1931 rc_option_editor.cc:1933 rc_option_editor.cc:1941
+#: rc_option_editor.cc:1949 rc_option_editor.cc:1957 rc_option_editor.cc:1965
+#: rc_option_editor.cc:1967
msgid "Solo / mute"
msgstr "Solo / mute"
-#: rc_option_editor.cc:1585
+#: rc_option_editor.cc:1855
msgid "Solo-in-place mute cut (dB)"
msgstr ""
-#: rc_option_editor.cc:1592
+#: rc_option_editor.cc:1862
msgid "Solo controls are Listen controls"
msgstr "I controlli di solo sono controlli di ascolto"
-#: rc_option_editor.cc:1601
+#: rc_option_editor.cc:1871
msgid "Listen Position"
msgstr ""
-#: rc_option_editor.cc:1606
+#: rc_option_editor.cc:1876
msgid "after-fader (AFL)"
msgstr ""
-#: rc_option_editor.cc:1607
+#: rc_option_editor.cc:1877
msgid "pre-fader (PFL)"
msgstr ""
-#: rc_option_editor.cc:1613
+#: rc_option_editor.cc:1883
msgid "PFL signals come from"
msgstr "i segnali PFL provengono da"
-#: rc_option_editor.cc:1618
+#: rc_option_editor.cc:1888
msgid "before pre-fader processors"
msgstr ""
-#: rc_option_editor.cc:1619
+#: rc_option_editor.cc:1889
msgid "pre-fader but after pre-fader processors"
msgstr ""
-#: rc_option_editor.cc:1625
+#: rc_option_editor.cc:1895
msgid "AFL signals come from"
msgstr "I segnali AFL provengono da"
-#: rc_option_editor.cc:1630
+#: rc_option_editor.cc:1900
msgid "immediately post-fader"
msgstr ""
-#: rc_option_editor.cc:1631
+#: rc_option_editor.cc:1901
msgid "after post-fader processors (before pan)"
msgstr ""
-#: rc_option_editor.cc:1640
+#: rc_option_editor.cc:1910
msgid "Exclusive solo"
msgstr "Solo esclusivo"
-#: rc_option_editor.cc:1648
+#: rc_option_editor.cc:1918
msgid "Show solo muting"
msgstr ""
-#: rc_option_editor.cc:1656
+#: rc_option_editor.cc:1926
msgid "Soloing overrides muting"
msgstr ""
-#: rc_option_editor.cc:1661
+#: rc_option_editor.cc:1931
msgid "Default track / bus muting options"
msgstr "Opzioni di </i>mute</i> base per Tracce/Bus"
-#: rc_option_editor.cc:1666
+#: rc_option_editor.cc:1936
msgid "Mute affects pre-fader sends"
msgstr "Mute agisce sulle mandate pre-fader"
-#: rc_option_editor.cc:1674
+#: rc_option_editor.cc:1944
msgid "Mute affects post-fader sends"
msgstr "Mute agisce sulle mandate post-fader"
-#: rc_option_editor.cc:1682
+#: rc_option_editor.cc:1952
msgid "Mute affects control outputs"
msgstr "Mute agisce sulle uscite"
-#: rc_option_editor.cc:1690
+#: rc_option_editor.cc:1960
msgid "Mute affects main outputs"
msgstr "Mute agisce sulle uscite principali"
-#: rc_option_editor.cc:1706
+#: rc_option_editor.cc:1965
+msgid "Send Routing"
+msgstr ""
+
+#: rc_option_editor.cc:1970
+msgid "Link panners of Aux and External Sends with main panner by default"
+msgstr ""
+
+#: rc_option_editor.cc:1986
msgid "Send MIDI Time Code"
msgstr ""
-#: rc_option_editor.cc:1714
+#: rc_option_editor.cc:1994
msgid "Percentage either side of normal transport speed to transmit MTC"
msgstr ""
-#: rc_option_editor.cc:1723
+#: rc_option_editor.cc:2003
msgid "Obey MIDI Machine Control commands"
msgstr ""
-#: rc_option_editor.cc:1731
+#: rc_option_editor.cc:2011
msgid "Send MIDI Machine Control commands"
msgstr ""
-#: rc_option_editor.cc:1739
+#: rc_option_editor.cc:2019
msgid "Send MIDI control feedback"
msgstr ""
-#: rc_option_editor.cc:1747
+#: rc_option_editor.cc:2027
msgid "Inbound MMC device ID"
msgstr ""
-#: rc_option_editor.cc:1756
+#: rc_option_editor.cc:2036
msgid "Outbound MMC device ID"
msgstr ""
-#: rc_option_editor.cc:1765
+#: rc_option_editor.cc:2045
msgid "Initial program change"
msgstr ""
-#: rc_option_editor.cc:1774
+#: rc_option_editor.cc:2054
msgid "Display first MIDI bank/program as 0"
msgstr ""
-#: rc_option_editor.cc:1782
+#: rc_option_editor.cc:2062
msgid "Never display periodic MIDI messages (MTC, MIDI Clock)"
msgstr ""
-#: rc_option_editor.cc:1790
+#: rc_option_editor.cc:2070
msgid "Sound MIDI notes as they are selected"
msgstr ""
-#: rc_option_editor.cc:1798 rc_option_editor.cc:1808 rc_option_editor.cc:1810
+#: rc_option_editor.cc:2075
+msgid "Midi Audition"
+msgstr ""
+
+#: rc_option_editor.cc:2079
+msgid "Midi Audition Synth (LV2)"
+msgstr ""
+
+#: rc_option_editor.cc:2103 rc_option_editor.cc:2113 rc_option_editor.cc:2115
msgid "User interaction"
msgstr ""
-#: rc_option_editor.cc:1801
+#: rc_option_editor.cc:2106
msgid ""
"Use translations of %1 messages\n"
" <i>(requires a restart of %1 to take effect)</i>\n"
" <i>(if available for your language preferences)</i>"
msgstr ""
-#: rc_option_editor.cc:1808
+#: rc_option_editor.cc:2113
msgid "Keyboard"
msgstr "Tastiera"
-#: rc_option_editor.cc:1818
+#: rc_option_editor.cc:2123
msgid "Control surface remote ID"
msgstr "ID della piattaforma di controllo"
-#: rc_option_editor.cc:1823
+#: rc_option_editor.cc:2128
msgid "assigned by user"
msgstr "assegnato dall'utente"
-#: rc_option_editor.cc:1824
+#: rc_option_editor.cc:2129
msgid "follows order of mixer"
msgstr "segue l'ordine del mixer"
-#: rc_option_editor.cc:1833 rc_option_editor.cc:1841 rc_option_editor.cc:1851
-#: rc_option_editor.cc:1872 rc_option_editor.cc:1881 rc_option_editor.cc:1889
-#: rc_option_editor.cc:1903 rc_option_editor.cc:1922 rc_option_editor.cc:1938
-#: rc_option_editor.cc:1954 rc_option_editor.cc:1968 rc_option_editor.cc:1982
-#: rc_option_editor.cc:1984
+#: rc_option_editor.cc:2143 rc_option_editor.cc:2151 rc_option_editor.cc:2159
+#: rc_option_editor.cc:2169 rc_option_editor.cc:2193 rc_option_editor.cc:2206
+#: rc_option_editor.cc:2215
msgid "Preferences|GUI"
msgstr ""
-#: rc_option_editor.cc:1836
+#: rc_option_editor.cc:2146
msgid "Graphically indicate mouse pointer hovering over various widgets"
msgstr ""
-#: rc_option_editor.cc:1844
+#: rc_option_editor.cc:2154
msgid "Show tooltips if mouse hovers over a control"
msgstr ""
-#: rc_option_editor.cc:1854
-msgid "GUI"
+#: rc_option_editor.cc:2162
+msgid "Use name highlight bars in region displays"
+msgstr ""
+
+#: rc_option_editor.cc:2175
+msgid "update transport clock display at FPS instead of every 100ms"
msgstr ""
-#: rc_option_editor.cc:1857
-msgid "update transport clock display every 40ms instead of every 100ms"
+#: rc_option_editor.cc:2184
+msgid "Lock timeout (seconds)"
msgstr ""
-#: rc_option_editor.cc:1874
+#: rc_option_editor.cc:2192
+msgid "Lock GUI after this many idle seconds (zero to never lock)"
+msgstr ""
+
+#: rc_option_editor.cc:2208
msgid "Mixer Strip"
msgstr ""
-#: rc_option_editor.cc:1884
+#: rc_option_editor.cc:2218
msgid "Use narrow strips in the mixer by default"
msgstr ""
-#: rc_option_editor.cc:1893
+#: rc_option_editor.cc:2223 rc_option_editor.cc:2237 rc_option_editor.cc:2256
+#: rc_option_editor.cc:2272 rc_option_editor.cc:2288 rc_option_editor.cc:2302
+#: rc_option_editor.cc:2316 rc_option_editor.cc:2318
+msgid "Preferences|Metering"
+msgstr ""
+
+#: rc_option_editor.cc:2227
msgid "Peak hold time"
msgstr ""
-#: rc_option_editor.cc:1899
+#: rc_option_editor.cc:2233
msgid "short"
msgstr "breve"
-#: rc_option_editor.cc:1900
+#: rc_option_editor.cc:2234
msgid "medium"
msgstr "medio"
-#: rc_option_editor.cc:1901
+#: rc_option_editor.cc:2235
msgid "long"
msgstr "lungo"
-#: rc_option_editor.cc:1907
+#: rc_option_editor.cc:2241
msgid "DPM fall-off"
msgstr ""
-#: rc_option_editor.cc:1913
+#: rc_option_editor.cc:2247
msgid "slowest [6.6dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1914
+#: rc_option_editor.cc:2248
msgid "slow [8.6dB/sec] (BBC PPM, EBU PPM)"
msgstr ""
-#: rc_option_editor.cc:1915
+#: rc_option_editor.cc:2249
msgid "slowish [12.0dB/sec] (DIN)"
msgstr ""
-#: rc_option_editor.cc:1916
+#: rc_option_editor.cc:2250
msgid "moderate [13.3dB/sec] (EBU Digi PPM, IRT Digi PPM)"
msgstr ""
-#: rc_option_editor.cc:1917
+#: rc_option_editor.cc:2251
msgid "medium [20dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1918
+#: rc_option_editor.cc:2252
msgid "fast [32dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1919
+#: rc_option_editor.cc:2253
msgid "faster [46dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1920
+#: rc_option_editor.cc:2254
msgid "fastest [70dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1926
+#: rc_option_editor.cc:2260
msgid "Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1931 rc_option_editor.cc:1947
+#: rc_option_editor.cc:2265 rc_option_editor.cc:2281
msgid "-24dBFS (SMPTE US: 4dBu = -20dBFS)"
msgstr ""
-#: rc_option_editor.cc:1932 rc_option_editor.cc:1948
+#: rc_option_editor.cc:2266 rc_option_editor.cc:2282
msgid "-20dBFS (SMPTE RP.0155)"
msgstr ""
-#: rc_option_editor.cc:1933 rc_option_editor.cc:1949
+#: rc_option_editor.cc:2267 rc_option_editor.cc:2283
msgid "-18dBFS (EBU, BBC)"
msgstr ""
-#: rc_option_editor.cc:1934 rc_option_editor.cc:1950
+#: rc_option_editor.cc:2268 rc_option_editor.cc:2284
msgid "-15dBFS (DIN)"
msgstr ""
-#: rc_option_editor.cc:1936
+#: rc_option_editor.cc:2270
msgid ""
"Configure meter-marks and color-knee point for dBFS scale DPM, set reference "
"level for IEC1/Nordic, IEC2 PPM and VU meter."
msgstr ""
-#: rc_option_editor.cc:1942
+#: rc_option_editor.cc:2276
msgid "IEC1/DIN Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1952
+#: rc_option_editor.cc:2286
msgid "Reference level for IEC1/DIN meter."
msgstr ""
-#: rc_option_editor.cc:1958
+#: rc_option_editor.cc:2292
msgid "VU Meter standard"
msgstr ""
-#: rc_option_editor.cc:1963
+#: rc_option_editor.cc:2297
msgid "0VU = -2dBu (France)"
msgstr ""
-#: rc_option_editor.cc:1964
+#: rc_option_editor.cc:2298
msgid "0VU = 0dBu (North America, Australia)"
msgstr ""
-#: rc_option_editor.cc:1965
+#: rc_option_editor.cc:2299
msgid "0VU = +4dBu (standard)"
msgstr ""
-#: rc_option_editor.cc:1966
+#: rc_option_editor.cc:2300
msgid "0VU = +8dBu"
msgstr ""
-#: rc_option_editor.cc:1972
+#: rc_option_editor.cc:2306
msgid "Peak threshold [dBFS]"
msgstr ""
-#: rc_option_editor.cc:1980
+#: rc_option_editor.cc:2314
msgid ""
"Specify the audio signal level in dbFS at and above which the meter-peak "
"indicator will flash red."
msgstr ""
-#: rc_option_editor.cc:1987
+#: rc_option_editor.cc:2321
msgid "LED meter style"
msgstr ""
-#: region_editor.cc:79
+#: region_editor.cc:78
msgid "audition this region"
msgstr "fai l'audition di questa regione"
-#: region_editor.cc:88 region_layering_order_editor.cc:74
+#: region_editor.cc:87 region_layering_order_editor.cc:75
msgid "Position:"
msgstr "Posizione:"
-#: region_editor.cc:90 add_video_dialog.cc:170
+#: region_editor.cc:89 add_video_dialog.cc:155
msgid "End:"
msgstr "Fine:"
-#: region_editor.cc:92 sfdb_ui.cc:139
+#: region_editor.cc:91 sfdb_ui.cc:143
msgid "Length:"
msgstr "Durata:"
-#: region_editor.cc:94
+#: region_editor.cc:93
msgid "Sync point (relative to region):"
msgstr ""
-#: region_editor.cc:96
+#: region_editor.cc:95
msgid "Sync point (absolute):"
msgstr ""
-#: region_editor.cc:98
+#: region_editor.cc:97
msgid "File start:"
msgstr "Inizio file:"
-#: region_editor.cc:102
+#: region_editor.cc:101
msgid "Sources:"
msgstr "Sorgenti:"
-#: region_editor.cc:104
+#: region_editor.cc:103
msgid "Source:"
msgstr "Sorgente:"
-#: region_editor.cc:166
+#: region_editor.cc:165
msgid "Region '%1'"
msgstr "Regione '%1'"
-#: region_editor.cc:273
+#: region_editor.cc:272
msgid "change region start position"
msgstr ""
-#: region_editor.cc:289
+#: region_editor.cc:288
msgid "change region end position"
msgstr ""
-#: region_editor.cc:309
+#: region_editor.cc:308
msgid "change region length"
msgstr "cambia la durata della regione"
-#: region_editor.cc:403 region_editor.cc:415
+#: region_editor.cc:402 region_editor.cc:414
msgid "change region sync point"
msgstr ""
-#: region_layering_order_editor.cc:41
+#: region_layering_order_editor.cc:42
msgid "RegionLayeringOrderEditor"
msgstr ""
-#: region_layering_order_editor.cc:54
+#: region_layering_order_editor.cc:55
msgid "Region Name"
msgstr "Nome regione"
-#: region_layering_order_editor.cc:71
+#: region_layering_order_editor.cc:72
msgid "Track:"
msgstr "Traccia:"
-#: region_layering_order_editor.cc:103
+#: region_layering_order_editor.cc:104
msgid "Choose Top Region"
msgstr ""
-#: region_view.cc:274
+#: region_view.cc:282
msgid "SilenceText"
msgstr ""
-#: region_view.cc:290 region_view.cc:309
+#: region_view.cc:297 region_view.cc:316
msgid "minutes"
msgstr "minuti"
-#: region_view.cc:293 region_view.cc:312
+#: region_view.cc:300 region_view.cc:319
msgid "msecs"
msgstr "msec"
-#: region_view.cc:296 region_view.cc:315
+#: region_view.cc:303 region_view.cc:322
msgid "secs"
msgstr ""
-#: region_view.cc:299
+#: region_view.cc:306
msgid "%1 silent segment"
msgid_plural "%1 silent segments"
msgstr[0] ""
msgstr[1] ""
-#: region_view.cc:301
+#: region_view.cc:308
msgid "shortest = %1 %2"
msgstr ""
-#: region_view.cc:318
+#: region_view.cc:325
msgid ""
"\n"
" (shortest audible segment = %1 %2)"
msgstr ""
-#: return_ui.cc:103
+#: return_ui.cc:102
msgid "Return "
msgstr ""
-#: rhythm_ferret.cc:49
+#: rhythm_ferret.cc:48
msgid "Percussive Onset"
msgstr ""
-#: rhythm_ferret.cc:50
+#: rhythm_ferret.cc:49
msgid "Note Onset"
msgstr ""
-#: rhythm_ferret.cc:55
+#: rhythm_ferret.cc:54
msgid "Energy Based"
msgstr ""
-#: rhythm_ferret.cc:56
+#: rhythm_ferret.cc:55
msgid "Spectral Difference"
msgstr ""
-#: rhythm_ferret.cc:57
+#: rhythm_ferret.cc:56
msgid "High-Frequency Content"
msgstr ""
-#: rhythm_ferret.cc:58
+#: rhythm_ferret.cc:57
msgid "Complex Domain"
msgstr ""
-#: rhythm_ferret.cc:59
+#: rhythm_ferret.cc:58
msgid "Phase Deviation"
msgstr "Deviazione di fase"
-#: rhythm_ferret.cc:60
+#: rhythm_ferret.cc:59
msgid "Kullback-Liebler"
msgstr ""
-#: rhythm_ferret.cc:61
+#: rhythm_ferret.cc:60
msgid "Modified Kullback-Liebler"
msgstr ""
-#: rhythm_ferret.cc:66
+#: rhythm_ferret.cc:65
msgid "Split region"
msgstr "Separa la regione"
-#: rhythm_ferret.cc:67
+#: rhythm_ferret.cc:66
msgid "Snap regions"
msgstr ""
-#: rhythm_ferret.cc:68
+#: rhythm_ferret.cc:67
msgid "Conform regions"
msgstr ""
-#: rhythm_ferret.cc:73
+#: rhythm_ferret.cc:72
msgid "Rhythm Ferret"
msgstr ""
-#: rhythm_ferret.cc:79
+#: rhythm_ferret.cc:78
msgid "Analyze"
msgstr "Analizza"
-#: rhythm_ferret.cc:114
+#: rhythm_ferret.cc:113
msgid "Detection function"
msgstr ""
-#: rhythm_ferret.cc:118
+#: rhythm_ferret.cc:117
msgid "Trigger gap"
msgstr ""
-#: rhythm_ferret.cc:123 strip_silence_dialog.cc:68
+#: rhythm_ferret.cc:122 strip_silence_dialog.cc:64
msgid "Threshold"
msgstr "Soglia"
-#: rhythm_ferret.cc:128
+#: rhythm_ferret.cc:127
msgid "Peak threshold"
msgstr "Soglia di picco"
-#: rhythm_ferret.cc:133
+#: rhythm_ferret.cc:132
msgid "Silence threshold"
msgstr "Soglia del silenzio"
-#: rhythm_ferret.cc:138
+#: rhythm_ferret.cc:137
msgid "Sensitivity"
msgstr "Sensibilità"
-#: rhythm_ferret.cc:142
+#: rhythm_ferret.cc:141
msgid "Operation"
msgstr "Operazione"
-#: rhythm_ferret.cc:356
+#: rhythm_ferret.cc:355
msgid "split regions (rhythm ferret)"
msgstr "dividi regioni (rhythm ferret)"
-#: route_group_dialog.cc:36
+#: route_group_dialog.cc:42
msgid "Track/bus Group"
msgstr ""
-#: route_group_dialog.cc:41
+#: route_group_dialog.cc:47
msgid "Relative"
msgstr "Relativo"
-#: route_group_dialog.cc:42
+#: route_group_dialog.cc:48
msgid "Muting"
msgstr ""
-#: route_group_dialog.cc:43
-msgid "Soloing"
-msgstr ""
-
-#: route_group_dialog.cc:44
+#: route_group_dialog.cc:50
msgid "Record enable"
msgstr "Attiva registrazione"
-#: route_group_dialog.cc:45 time_info_box.cc:66
+#: route_group_dialog.cc:51 time_info_box.cc:67
msgid "Selection"
msgstr "Selezione"
-#: route_group_dialog.cc:46
+#: route_group_dialog.cc:52
msgid "Active state"
msgstr ""
-#: route_group_dialog.cc:47 route_group_dialog.cc:76 theme_manager.cc:71
+#: route_group_dialog.cc:53 route_group_dialog.cc:82 theme_manager.cc:84
msgid "Color"
msgstr "Colore"
-#: route_group_dialog.cc:53
+#: route_group_dialog.cc:59
msgid "RouteGroupDialog"
msgstr ""
-#: route_group_dialog.cc:92
+#: route_group_dialog.cc:100
msgid "<b>Sharing</b>"
msgstr ""
-#: route_group_dialog.cc:182
-msgid ""
-"A route group of this name already exists. Please use a different name."
+#: route_group_dialog.cc:200
+msgid "The group name is not unique. Please use a different name."
msgstr ""
#: route_params_ui.cc:83
@@ -9641,297 +9875,281 @@ msgstr "Plugin, inserts & mandate"
msgid "route display list item for renamed route not found!"
msgstr ""
-#: route_params_ui.cc:255 route_params_ui.cc:283
+#: route_params_ui.cc:278 route_params_ui.cc:306
#, c-format
msgid "Playback delay: %<PRId64> samples"
msgstr "Ritardo di riproduzione: %<PRId64> campioni"
-#: route_params_ui.cc:475
+#: route_params_ui.cc:498
msgid "NO TRACK"
msgstr "NESSUNA TRACCIA"
-#: route_params_ui.cc:613 route_params_ui.cc:614
+#: route_params_ui.cc:636 route_params_ui.cc:637
msgid "No Track or Bus Selected"
msgstr "Nessuna traccia o bus selezionati"
-#: route_time_axis.cc:97
-msgid "g"
-msgstr ""
-
-#: route_time_axis.cc:98
-msgid "p"
-msgstr ""
-
-#: route_time_axis.cc:99
-msgid "a"
-msgstr ""
-
-#: route_time_axis.cc:173
+#: route_time_axis.cc:179
msgid "Record (Right-click for Step Edit)"
msgstr "Registrazione (clicca col destro per la modifica passo passo)"
-#: route_time_axis.cc:176
+#: route_time_axis.cc:182
msgid "Record"
msgstr "Registra"
-#: route_time_axis.cc:210
+#: route_time_axis.cc:254
msgid "Route Group"
msgstr ""
-#: route_time_axis.cc:213
+#: route_time_axis.cc:264
msgid "MIDI Controllers and Automation"
msgstr ""
-#: route_time_axis.cc:390
+#: route_time_axis.cc:500
msgid "Show All Automation"
msgstr "Mostra tutte le automazioni"
-#: route_time_axis.cc:393
+#: route_time_axis.cc:503
msgid "Show Existing Automation"
msgstr "Mostra le automazioni esistenti"
-#: route_time_axis.cc:396
+#: route_time_axis.cc:506
msgid "Hide All Automation"
msgstr "Nascondi tutte le automazioni"
-#: route_time_axis.cc:405
+#: route_time_axis.cc:515
msgid "Processor automation"
msgstr ""
-#: route_time_axis.cc:424
-msgid "Color..."
-msgstr "Colore..."
-
-#: route_time_axis.cc:481
+#: route_time_axis.cc:599
msgid "Overlaid"
msgstr ""
-#: route_time_axis.cc:487
+#: route_time_axis.cc:605
msgid "Stacked"
msgstr ""
-#: route_time_axis.cc:495
+#: route_time_axis.cc:613
msgid "Layers"
msgstr "Livelli"
-#: route_time_axis.cc:564
+#: route_time_axis.cc:682
msgid "Automatic (based on I/O connections)"
msgstr "Automatico (basato sulle connessioni I/O)"
-#: route_time_axis.cc:573
+#: route_time_axis.cc:691
msgid "(Currently: Existing Material)"
msgstr ""
-#: route_time_axis.cc:576
+#: route_time_axis.cc:694
msgid "(Currently: Capture Time)"
msgstr ""
-#: route_time_axis.cc:584
+#: route_time_axis.cc:702
msgid "Align With Existing Material"
msgstr ""
-#: route_time_axis.cc:589
+#: route_time_axis.cc:707
msgid "Align With Capture Time"
msgstr ""
-#: route_time_axis.cc:594
+#: route_time_axis.cc:712
msgid "Alignment"
msgstr ""
-#: route_time_axis.cc:629
+#: route_time_axis.cc:747
msgid "Normal Mode"
msgstr "Normale"
-#: route_time_axis.cc:635
+#: route_time_axis.cc:753
msgid "Tape Mode"
msgstr "Nastro"
-#: route_time_axis.cc:641
+#: route_time_axis.cc:759
msgid "Non-Layered Mode"
msgstr ""
-#: route_time_axis.cc:654 route_time_axis.cc:1601
+#: route_time_axis.cc:772 route_time_axis.cc:1748
msgid "Playlist"
msgstr "Scaletta"
-#: route_time_axis.cc:979
+#: route_time_axis.cc:1070
msgid "Rename Playlist"
msgstr "Rinomina playlist"
-#: route_time_axis.cc:980
+#: route_time_axis.cc:1071
msgid "New name for playlist:"
msgstr "Nuovo nome per la playlist:"
-#: route_time_axis.cc:1065
+#: route_time_axis.cc:1156
msgid "New Copy Playlist"
msgstr "Copia playlist"
-#: route_time_axis.cc:1066 route_time_axis.cc:1119
+#: route_time_axis.cc:1157 route_time_axis.cc:1210
msgid "Name for new playlist:"
msgstr "Nome per la nuova playlist:"
-#: route_time_axis.cc:1118
+#: route_time_axis.cc:1209
msgid "New Playlist"
msgstr "Nuova playlist"
-#: route_time_axis.cc:1309
+#: route_time_axis.cc:1400
msgid "You cannot create a track with that name as it is reserved for %1"
msgstr ""
"Non si può creare una traccia con questo nome perché è riservato per %1"
-#: route_time_axis.cc:1490
+#: route_time_axis.cc:1637
msgid "New Copy..."
msgstr "Nuova copia..."
-#: route_time_axis.cc:1494
+#: route_time_axis.cc:1641
msgid "New Take"
msgstr ""
-#: route_time_axis.cc:1495
+#: route_time_axis.cc:1642
msgid "Copy Take"
msgstr ""
-#: route_time_axis.cc:1500
+#: route_time_axis.cc:1647
msgid "Clear Current"
msgstr "Pulisci Corrente"
-#: route_time_axis.cc:1503
+#: route_time_axis.cc:1650
msgid "Select From All..."
msgstr "Seleziona tutto da..."
-#: route_time_axis.cc:1591
+#: route_time_axis.cc:1738
msgid "Take: %1.%2"
msgstr ""
-#: route_time_axis.cc:2291
+#: route_time_axis.cc:2024 selection.cc:1002 selection.cc:1056
+msgid "programming error: "
+msgstr "errore di programmazione: "
+
+#: route_time_axis.cc:2440
msgid "Underlays"
msgstr ""
-#: route_time_axis.cc:2294
+#: route_time_axis.cc:2443
msgid "Remove \"%1\""
msgstr "Rimuovi \"%1\""
-#: route_time_axis.cc:2344 route_time_axis.cc:2381
+#: route_time_axis.cc:2493 route_time_axis.cc:2530
msgid "programming error: underlay reference pointer pairs are inconsistent!"
msgstr ""
-#: route_time_axis.cc:2408
+#: route_time_axis.cc:2557
msgid "After-fade listen (AFL)"
msgstr ""
-#: route_time_axis.cc:2412
+#: route_time_axis.cc:2561
msgid "Pre-fade listen (PFL)"
msgstr ""
-#: route_time_axis.cc:2416
-msgid "s"
-msgstr ""
-
-#: route_time_axis.cc:2419
-msgid "m"
-msgstr ""
-
-#: route_ui.cc:119
+#: route_ui.cc:138
msgid "Mute this track"
msgstr "Muta questa traccia"
-#: route_ui.cc:123
+#: route_ui.cc:142
msgid "Mute other (non-soloed) tracks"
msgstr ""
-#: route_ui.cc:129
+#: route_ui.cc:148
msgid "Enable recording on this track"
msgstr "Abilita la registrazione"
-#: route_ui.cc:133
+#: route_ui.cc:154
msgid "make mixer strips show sends to this bus"
msgstr ""
-#: route_ui.cc:138
+#: route_ui.cc:159
msgid "Monitor input"
msgstr ""
-#: route_ui.cc:144
+#: route_ui.cc:165
msgid "Monitor playback"
msgstr ""
-#: route_ui.cc:591
-msgid "Not connected to JACK - cannot engage record"
+#: route_ui.cc:668
+msgid "Not connected to AudioEngine - cannot engage record"
msgstr ""
-#: route_ui.cc:786
+#: route_ui.cc:867
msgid "Step Entry"
msgstr ""
-#: route_ui.cc:859
+#: route_ui.cc:940
msgid "Assign all tracks (prefader)"
msgstr ""
-#: route_ui.cc:863
+#: route_ui.cc:944
msgid "Assign all tracks and buses (prefader)"
msgstr ""
-#: route_ui.cc:867
+#: route_ui.cc:948
msgid "Assign all tracks (postfader)"
msgstr ""
-#: route_ui.cc:871
+#: route_ui.cc:952
msgid "Assign all tracks and buses (postfader)"
msgstr ""
-#: route_ui.cc:875
+#: route_ui.cc:956
msgid "Assign selected tracks (prefader)"
msgstr ""
-#: route_ui.cc:879
+#: route_ui.cc:960
msgid "Assign selected tracks and buses (prefader)"
msgstr ""
-#: route_ui.cc:882
+#: route_ui.cc:963
msgid "Assign selected tracks (postfader)"
msgstr ""
-#: route_ui.cc:886
+#: route_ui.cc:967
msgid "Assign selected tracks and buses (postfader)"
msgstr ""
-#: route_ui.cc:889
+#: route_ui.cc:970
msgid "Copy track/bus gains to sends"
msgstr ""
-#: route_ui.cc:890
+#: route_ui.cc:971
msgid "Set sends gain to -inf"
msgstr "Imposta il volume delle manda su -inf"
-#: route_ui.cc:891
+#: route_ui.cc:972
msgid "Set sends gain to 0dB"
msgstr "Imposta il volume delle mandate a 0dB"
-#: route_ui.cc:1211
+#: route_ui.cc:1294
msgid "Solo Isolate"
msgstr ""
-#: route_ui.cc:1240
-msgid "Pre Fader"
-msgstr "Pre Fader"
+#: route_ui.cc:1301
+msgid "Solo Safe"
+msgstr ""
-#: route_ui.cc:1246
-msgid "Post Fader"
-msgstr "Post Fader"
+#: route_ui.cc:1323
+msgid "Pre Fader Sends"
+msgstr ""
+
+#: route_ui.cc:1329
+msgid "Post Fader Sends"
+msgstr ""
-#: route_ui.cc:1252
+#: route_ui.cc:1335
msgid "Control Outs"
msgstr "Uscite di Controllo"
-#: route_ui.cc:1258
+#: route_ui.cc:1341
msgid "Main Outs"
msgstr "Uscite Principali"
-#: route_ui.cc:1390
+#: route_ui.cc:1473
msgid "Color Selection"
msgstr "Scelta colore"
-#: route_ui.cc:1477
+#: route_ui.cc:1558
msgid ""
"Do you really want to remove track \"%1\" ?\n"
"\n"
@@ -9946,7 +10164,7 @@ msgstr ""
"(questa azione non potrà essere annullata ed il file di sessione verrà "
"sovrascritto)"
-#: route_ui.cc:1479
+#: route_ui.cc:1560
msgid ""
"Do you really want to remove bus \"%1\" ?\n"
"\n"
@@ -9957,61 +10175,65 @@ msgstr ""
"(questa azione non potrà essere annullata ed il file di sessione verrà "
"sovrascritto)"
-#: route_ui.cc:1487
+#: route_ui.cc:1568
msgid "Remove track"
msgstr "Rimuovi traccia"
-#: route_ui.cc:1489
+#: route_ui.cc:1570
msgid "Remove bus"
msgstr "Rimuovi bus"
-#: route_ui.cc:1516
+#: route_ui.cc:1598
msgid ""
"The use of colons (':') is discouraged in track and bus names.\n"
"Do you want to use this new name?"
msgstr ""
-#: route_ui.cc:1520
+#: route_ui.cc:1602
msgid "Use the new name"
msgstr ""
-#: route_ui.cc:1521
+#: route_ui.cc:1603
msgid "Re-edit the name"
msgstr ""
-#: route_ui.cc:1534
+#: route_ui.cc:1616
msgid "Rename Track"
msgstr "Rinomina traccia"
-#: route_ui.cc:1536
+#: route_ui.cc:1618
msgid "Rename Bus"
msgstr "Rinomina bus"
-#: route_ui.cc:1695
+#: route_ui.cc:1686
+msgid ": comment editor"
+msgstr ""
+
+#: route_ui.cc:1852
msgid " latency"
msgstr " latenza"
-#: route_ui.cc:1708
+#: route_ui.cc:1865
msgid "Cannot create route template directory %1"
msgstr ""
-#: route_ui.cc:1714
+#: route_ui.cc:1871
msgid "Save As Template"
msgstr "Salva come modello"
-#: route_ui.cc:1715
+#: route_ui.cc:1872
msgid "Template name:"
msgstr "Nome del modello:"
-#: route_ui.cc:1788
+#: route_ui.cc:1945
msgid "Remote Control ID"
msgstr ""
-#: route_ui.cc:1798
+#: route_ui.cc:1955
msgid "Remote control ID:"
msgstr ""
-#: route_ui.cc:1812
+#: route_ui.cc:1969
msgid ""
"The remote control ID of %1 is: %2\n"
"\n"
@@ -10019,33 +10241,32 @@ msgid ""
"The remote control ID of %3 cannot be changed."
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the master bus"
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the monitor bus"
msgstr ""
-#: route_ui.cc:1818
+#: route_ui.cc:1975
msgid ""
"The remote control ID of %5 is: %2\n"
"\n"
"\n"
-"Remote Control IDs are currently determined by track/bus ordering in "
-"Ardour.\n"
+"Remote Control IDs are currently determined by track/bus ordering in %6.\n"
"\n"
"%3Use the User Interaction tab of the Preferences window if you want to "
"change this%4"
msgstr ""
-#: route_ui.cc:1875
+#: route_ui.cc:2032
msgid ""
"Left-click to invert (phase reverse) channel %1 of this track. Right-click "
"to show menu."
msgstr ""
-#: route_ui.cc:1877
+#: route_ui.cc:2034
msgid "Click to show a menu of channels for inversion (phase reverse)"
msgstr ""
@@ -10061,119 +10282,119 @@ msgstr ""
msgid "the session folder"
msgstr "la cartella di sessione"
-#: send_ui.cc:126
+#: send_ui.cc:134
msgid "Send "
msgstr ""
-#: session_dialog.cc:66
+#: session_dialog.cc:68
msgid "Session Setup"
msgstr ""
-#: session_dialog.cc:71
+#: session_dialog.cc:73
msgid "Advanced options ..."
msgstr ""
-#: session_dialog.cc:267
+#: session_dialog.cc:271
msgid "New Session"
msgstr "Nuova sessione"
-#: session_dialog.cc:305
+#: session_dialog.cc:309
msgid "Check the website for more..."
msgstr ""
-#: session_dialog.cc:308
+#: session_dialog.cc:312
msgid "Click to open the program website in your web browser"
msgstr ""
-#: session_dialog.cc:328
+#: session_dialog.cc:332
msgid "Sample Rate"
msgstr ""
-#: session_dialog.cc:329
+#: session_dialog.cc:333
msgid "Disk Format"
msgstr ""
-#: session_dialog.cc:347
+#: session_dialog.cc:351
msgid "Select session file"
msgstr "Seleziona un file sessione"
-#: session_dialog.cc:362
+#: session_dialog.cc:366
msgid "Other Sessions"
msgstr ""
-#: session_dialog.cc:388
+#: session_dialog.cc:392
msgid "Open"
msgstr ""
-#: session_dialog.cc:455
+#: session_dialog.cc:459
msgid "Session name:"
msgstr "Nome della sessione:"
-#: session_dialog.cc:477
+#: session_dialog.cc:481
msgid "Create session folder in:"
msgstr ""
-#: session_dialog.cc:500
+#: session_dialog.cc:504
msgid "Select folder for session"
msgstr "Seleziona una cartella per la sessione"
-#: session_dialog.cc:529
+#: session_dialog.cc:533
msgid "Use this template"
msgstr "Usa questo modello"
-#: session_dialog.cc:532
+#: session_dialog.cc:536
msgid "no template"
msgstr "nessun modello"
-#: session_dialog.cc:664 session_dialog.cc:696
+#: session_dialog.cc:671 session_dialog.cc:707
msgid "32 bit float"
msgstr ""
-#: session_dialog.cc:667 session_dialog.cc:699
+#: session_dialog.cc:674 session_dialog.cc:710
msgid "24 bit"
msgstr ""
-#: session_dialog.cc:670 session_dialog.cc:702
+#: session_dialog.cc:677 session_dialog.cc:713
msgid "16 bit"
msgstr ""
-#: session_dialog.cc:741 session_dialog.cc:742 session_dialog.cc:743
+#: session_dialog.cc:755 session_dialog.cc:756 session_dialog.cc:757
msgid "channels"
msgstr "canali"
-#: session_dialog.cc:757
+#: session_dialog.cc:771
msgid "<b>Busses</b>"
msgstr "<b>Bus</b>"
-#: session_dialog.cc:758
+#: session_dialog.cc:772
msgid "<b>Inputs</b>"
msgstr "<b>Ingressi</b>"
-#: session_dialog.cc:759
+#: session_dialog.cc:773
msgid "<b>Outputs</b>"
msgstr "<b>Uscite</b>"
-#: session_dialog.cc:767
+#: session_dialog.cc:781
msgid "Create master bus"
msgstr "Crea un master bus"
-#: session_dialog.cc:777
+#: session_dialog.cc:791
msgid "Automatically connect to physical inputs"
msgstr ""
-#: session_dialog.cc:784 session_dialog.cc:843
+#: session_dialog.cc:798 session_dialog.cc:857
msgid "Use only"
msgstr "Usa soltanto"
-#: session_dialog.cc:837
+#: session_dialog.cc:851
msgid "Automatically connect outputs"
msgstr "Connetti automaticamente le uscite"
-#: session_dialog.cc:859
+#: session_dialog.cc:873
msgid "... to master bus"
msgstr "... al bus Master"
-#: session_dialog.cc:869
+#: session_dialog.cc:883
msgid "... to physical outputs"
msgstr "... alle uscite fisiche."
@@ -10479,7 +10700,8 @@ msgstr ""
#: session_option_editor.cc:91
msgid ""
-"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless in JACK-sync)."
+"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless using JACK-"
+"sync)."
msgstr ""
#: session_option_editor.cc:96
@@ -10512,426 +10734,456 @@ msgid ""
"%1 is JACK Time Master (provides Bar|Beat|Tick and other information to JACK)"
msgstr ""
-#: session_option_editor.cc:137
-msgid "Default crossfade type"
-msgstr ""
-
-#: session_option_editor.cc:142
-msgid "Constant power (-3dB) crossfade"
-msgstr ""
-
-#: session_option_editor.cc:143
-msgid "Linear (-6dB) crossfade"
-msgstr ""
-
-#: session_option_editor.cc:148
+#: session_option_editor.cc:136
msgid "destructive-xfade-seconds"
msgstr ""
-#: session_option_editor.cc:149
+#: session_option_editor.cc:137
msgid "Destructive crossfade length"
msgstr "Dissolvenza distruttiva"
-#: session_option_editor.cc:158
+#: session_option_editor.cc:146
msgid "Region fades active"
msgstr "Attiva dissolvenze della regione"
-#: session_option_editor.cc:165
+#: session_option_editor.cc:153
msgid "Region fades visible"
msgstr "Visualizza dissolvenze della regione"
-#: session_option_editor.cc:172 session_option_editor.cc:185
-#: session_option_editor.cc:199 session_option_editor.cc:201
-#: session_option_editor.cc:207 session_option_editor.cc:214
+#: session_option_editor.cc:160 session_option_editor.cc:173
+#: session_option_editor.cc:187
msgid "Media"
msgstr ""
-#: session_option_editor.cc:172
+#: session_option_editor.cc:160
msgid "Audio file format"
msgstr ""
-#: session_option_editor.cc:176
+#: session_option_editor.cc:164
msgid "Sample format"
msgstr ""
-#: session_option_editor.cc:181
+#: session_option_editor.cc:169
msgid "32-bit floating point"
msgstr "32-bit virgola mobile"
-#: session_option_editor.cc:182
+#: session_option_editor.cc:170
msgid "24-bit integer"
msgstr "24-bit intero"
-#: session_option_editor.cc:183
+#: session_option_editor.cc:171
msgid "16-bit integer"
msgstr "16-bit intero"
-#: session_option_editor.cc:189
+#: session_option_editor.cc:177
msgid "File type"
msgstr ""
-#: session_option_editor.cc:194
+#: session_option_editor.cc:182
msgid "Broadcast WAVE"
msgstr ""
-#: session_option_editor.cc:195
+#: session_option_editor.cc:183
msgid "WAVE"
msgstr ""
-#: session_option_editor.cc:196
+#: session_option_editor.cc:184
msgid "WAVE-64"
msgstr ""
-#: session_option_editor.cc:201
+#: session_option_editor.cc:189
msgid "File locations"
msgstr ""
-#: session_option_editor.cc:203
+#: session_option_editor.cc:191
msgid "Search for audio files in:"
msgstr "Cerca file audio in:"
-#: session_option_editor.cc:209
+#: session_option_editor.cc:197
msgid "Search for MIDI files in:"
msgstr "Cerca file MIDI in:"
-#: session_option_editor.cc:220
-msgid ""
-"Track Input Monitoring automatically follows transport state (\"auto-input\")"
+#: session_option_editor.cc:206 session_option_editor.cc:218
+#: session_option_editor.cc:228 session_option_editor.cc:239
+msgid "Filenames"
msgstr ""
-#: session_option_editor.cc:227
-msgid "Use monitor section in this session"
+#: session_option_editor.cc:206
+msgid "File Naming"
msgstr ""
-#: session_option_editor.cc:238
-msgid "MIDI region copies are independent"
+#: session_option_editor.cc:212
+msgid "Prefix Track number"
msgstr ""
-#: session_option_editor.cc:245
+#: session_option_editor.cc:217
msgid ""
-"Policy for handling overlapping notes\n"
-" on the same MIDI channel"
-msgstr ""
-
-#: session_option_editor.cc:250
-msgid "never allow them"
-msgstr ""
-
-#: session_option_editor.cc:251
-msgid "don't do anything in particular"
-msgstr "non fare nulla in particolare"
-
-#: session_option_editor.cc:252
-msgid "replace any overlapped existing note"
-msgstr "sostituisci ogni nota sovrapposta"
-
-#: session_option_editor.cc:253
-msgid "shorten the overlapped existing note"
+"Adds the current track number to the beginning of the recorded file name."
msgstr ""
-#: session_option_editor.cc:254
-msgid "shorten the overlapping new note"
+#: session_option_editor.cc:222
+msgid "Prefix Take Name"
msgstr ""
-#: session_option_editor.cc:255
-msgid "replace both overlapping notes with a single note"
+#: session_option_editor.cc:227
+msgid "Adds the Take Name to the beginning of the recorded file name."
msgstr ""
-#: session_option_editor.cc:259
-msgid "Glue to bars and beats"
+#: session_option_editor.cc:232
+msgid "Take Name"
msgstr ""
-#: session_option_editor.cc:263
-msgid "Glue new markers to bars and beats"
+#: session_option_editor.cc:245
+msgid ""
+"Track Input Monitoring automatically follows transport state (\"auto-input\")"
msgstr ""
-#: session_option_editor.cc:270
-msgid "Glue new regions to bars and beats"
+#: session_option_editor.cc:252
+msgid "Use monitor section in this session"
msgstr ""
-#: session_option_editor.cc:275 session_option_editor.cc:277
-#: session_option_editor.cc:284 session_option_editor.cc:291
-#: session_option_editor.cc:298 session_option_editor.cc:300
-#: session_option_editor.cc:307 session_option_editor.cc:314
-#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:257 session_option_editor.cc:259
+#: session_option_editor.cc:266 session_option_editor.cc:273
+#: session_option_editor.cc:280 session_option_editor.cc:282
+#: session_option_editor.cc:289 session_option_editor.cc:296
+#: session_option_editor.cc:303 session_option_editor.cc:310
+#: session_option_editor.cc:312
msgid "Meterbridge"
msgstr ""
-#: session_option_editor.cc:275
+#: session_option_editor.cc:257
msgid "Route Display"
msgstr ""
-#: session_option_editor.cc:279
+#: session_option_editor.cc:261
msgid "Show Midi Tracks"
msgstr ""
-#: session_option_editor.cc:286
+#: session_option_editor.cc:268
msgid "Show Busses"
msgstr ""
-#: session_option_editor.cc:293
+#: session_option_editor.cc:275
msgid "Include Master Bus"
msgstr ""
-#: session_option_editor.cc:298
+#: session_option_editor.cc:280
msgid "Button Area"
msgstr ""
-#: session_option_editor.cc:302
+#: session_option_editor.cc:284
msgid "Rec-enable Button"
msgstr ""
-#: session_option_editor.cc:309
+#: session_option_editor.cc:291
msgid "Mute Button"
msgstr ""
-#: session_option_editor.cc:316
+#: session_option_editor.cc:298
msgid "Solo Button"
msgstr ""
-#: session_option_editor.cc:321
+#: session_option_editor.cc:305
+msgid "Monitor Buttons"
+msgstr ""
+
+#: session_option_editor.cc:310
msgid "Name Labels"
msgstr ""
-#: session_option_editor.cc:325
+#: session_option_editor.cc:314
msgid "Track Name"
msgstr ""
-#: sfdb_ui.cc:86 sfdb_ui.cc:106 sfdb_ui.cc:115
+#: session_option_editor.cc:325
+msgid "MIDI region copies are independent"
+msgstr ""
+
+#: session_option_editor.cc:332
+msgid ""
+"Policy for handling overlapping notes\n"
+" on the same MIDI channel"
+msgstr ""
+
+#: session_option_editor.cc:337
+msgid "never allow them"
+msgstr ""
+
+#: session_option_editor.cc:338
+msgid "don't do anything in particular"
+msgstr "non fare nulla in particolare"
+
+#: session_option_editor.cc:339
+msgid "replace any overlapped existing note"
+msgstr "sostituisci ogni nota sovrapposta"
+
+#: session_option_editor.cc:340
+msgid "shorten the overlapped existing note"
+msgstr ""
+
+#: session_option_editor.cc:341
+msgid "shorten the overlapping new note"
+msgstr ""
+
+#: session_option_editor.cc:342
+msgid "replace both overlapping notes with a single note"
+msgstr ""
+
+#: session_option_editor.cc:346
+msgid "Glue to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:350
+msgid "Glue new markers to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:357
+msgid "Glue new regions to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:362
+msgid "Defaults"
+msgstr ""
+
+#: session_option_editor.cc:364
+msgid "Use these settings as defaults"
+msgstr ""
+
+#: sfdb_ui.cc:88 sfdb_ui.cc:108 sfdb_ui.cc:117
msgid "as new tracks"
msgstr ""
-#: sfdb_ui.cc:88 sfdb_ui.cc:108
+#: sfdb_ui.cc:90 sfdb_ui.cc:110
msgid "to selected tracks"
msgstr "nelle tracce selezionate"
-#: sfdb_ui.cc:90 sfdb_ui.cc:110
+#: sfdb_ui.cc:92 sfdb_ui.cc:112
msgid "to region list"
msgstr "nella lista regioni"
-#: sfdb_ui.cc:92 sfdb_ui.cc:112
+#: sfdb_ui.cc:94 sfdb_ui.cc:114
msgid "as new tape tracks"
msgstr "come nuove tracce nastro"
-#: sfdb_ui.cc:96
+#: sfdb_ui.cc:98
msgid "programming error: unknown import mode string %1"
msgstr "Errore di programmazione: modalità di importazione %1 sconosciuta"
-#: sfdb_ui.cc:123
+#: sfdb_ui.cc:125
msgid "Auto-play"
msgstr ""
-#: sfdb_ui.cc:129 sfdb_ui.cc:236
+#: sfdb_ui.cc:133 sfdb_ui.cc:317
msgid "<b>Sound File Information</b>"
msgstr "<b>Info sul file audio</b>"
-#: sfdb_ui.cc:141
+#: sfdb_ui.cc:145
msgid "Timestamp:"
msgstr ""
-#: sfdb_ui.cc:143
+#: sfdb_ui.cc:147
msgid "Format:"
msgstr "Formato:"
-#: sfdb_ui.cc:182 sfdb_ui.cc:526
+#: sfdb_ui.cc:186 sfdb_ui.cc:646
msgid "Tags:"
msgstr ""
-#: sfdb_ui.cc:319
-msgid "Auditioning of MIDI files is not yet supported"
+#: sfdb_ui.cc:290
+msgid "<b>Midi File Information</b>"
msgstr ""
-#: sfdb_ui.cc:326
+#: sfdb_ui.cc:402
msgid "Could not read file: %1 (%2)."
msgstr "Editor: impossibile aprire il file %1 (%2)."
-#: sfdb_ui.cc:349
+#: sfdb_ui.cc:451
msgid "Could not access soundfile: "
msgstr "Impossibile accedere al file audio"
-#: sfdb_ui.cc:403
+#: sfdb_ui.cc:523
msgid "SoundFileBox: Could not tokenize string: "
msgstr ""
-#: sfdb_ui.cc:423 sfdb_ui.cc:425
+#: sfdb_ui.cc:543 sfdb_ui.cc:545
msgid "Search"
msgstr ""
-#: sfdb_ui.cc:449
+#: sfdb_ui.cc:569
msgid "Audio and MIDI files"
msgstr ""
-#: sfdb_ui.cc:452
+#: sfdb_ui.cc:572
msgid "Audio files"
msgstr "File audio"
-#: sfdb_ui.cc:455
+#: sfdb_ui.cc:575
msgid "MIDI files"
msgstr ""
-#: sfdb_ui.cc:458 add_video_dialog.cc:132
+#: sfdb_ui.cc:578 add_video_dialog.cc:123
msgid "All files"
msgstr "Tutti i file"
-#: sfdb_ui.cc:477 add_video_dialog.cc:143
+#: sfdb_ui.cc:597 add_video_dialog.cc:246
msgid "Browse Files"
msgstr "Cerca nei file"
-#: sfdb_ui.cc:506
+#: sfdb_ui.cc:626
msgid "Paths"
msgstr "Percorsi"
-#: sfdb_ui.cc:515
+#: sfdb_ui.cc:635
msgid "Search Tags"
msgstr ""
-#: sfdb_ui.cc:531
+#: sfdb_ui.cc:651
msgid "Sort:"
msgstr ""
-#: sfdb_ui.cc:539
+#: sfdb_ui.cc:659
msgid "Longest"
msgstr ""
-#: sfdb_ui.cc:540
+#: sfdb_ui.cc:660
msgid "Shortest"
msgstr ""
-#: sfdb_ui.cc:541
+#: sfdb_ui.cc:661
msgid "Newest"
msgstr ""
-#: sfdb_ui.cc:542
+#: sfdb_ui.cc:662
msgid "Oldest"
msgstr ""
-#: sfdb_ui.cc:543
+#: sfdb_ui.cc:663
msgid "Most downloaded"
msgstr ""
-#: sfdb_ui.cc:544
+#: sfdb_ui.cc:664
msgid "Least downloaded"
msgstr ""
-#: sfdb_ui.cc:545
+#: sfdb_ui.cc:665
msgid "Highest rated"
msgstr ""
-#: sfdb_ui.cc:546
+#: sfdb_ui.cc:666
msgid "Lowest rated"
msgstr ""
-#: sfdb_ui.cc:551
+#: sfdb_ui.cc:671
msgid "More"
msgstr ""
-#: sfdb_ui.cc:555
+#: sfdb_ui.cc:675
msgid "Similar"
msgstr ""
-#: sfdb_ui.cc:567
+#: sfdb_ui.cc:687
msgid "ID"
msgstr ""
-#: sfdb_ui.cc:568 add_video_dialog.cc:84
+#: sfdb_ui.cc:688 add_video_dialog.cc:83
msgid "Filename"
msgstr ""
-#: sfdb_ui.cc:570
+#: sfdb_ui.cc:690
msgid "Duration"
msgstr ""
-#: sfdb_ui.cc:571
+#: sfdb_ui.cc:691
msgid "Size"
msgstr ""
-#: sfdb_ui.cc:572
+#: sfdb_ui.cc:692
msgid "Samplerate"
msgstr ""
-#: sfdb_ui.cc:573
+#: sfdb_ui.cc:693
msgid "License"
msgstr ""
-#: sfdb_ui.cc:591
+#: sfdb_ui.cc:711
msgid "Search Freesound"
msgstr ""
-#: sfdb_ui.cc:611
+#: sfdb_ui.cc:731
msgid "Press to import selected files and close this window"
msgstr ""
-#: sfdb_ui.cc:612
+#: sfdb_ui.cc:732
msgid "Press to import selected files and leave this window open"
msgstr ""
-#: sfdb_ui.cc:613
+#: sfdb_ui.cc:733
msgid "Press to close this window without importing any files"
msgstr ""
-#: sfdb_ui.cc:809
+#: sfdb_ui.cc:929
msgid "SoundFileBrowser: Could not tokenize string: "
msgstr ""
-#: sfdb_ui.cc:1009
+#: sfdb_ui.cc:1129
msgid "%1 more page of 100 results available"
msgid_plural "%1 more pages of 100 results available"
msgstr[0] ""
msgstr[1] ""
-#: sfdb_ui.cc:1014
+#: sfdb_ui.cc:1134
msgid "No more results available"
msgstr ""
-#: sfdb_ui.cc:1078
+#: sfdb_ui.cc:1198
msgid "B"
msgstr ""
-#: sfdb_ui.cc:1080
+#: sfdb_ui.cc:1200
msgid "kB"
msgstr ""
-#: sfdb_ui.cc:1082 sfdb_ui.cc:1084
+#: sfdb_ui.cc:1202 sfdb_ui.cc:1204
msgid "MB"
msgstr ""
-#: sfdb_ui.cc:1086
+#: sfdb_ui.cc:1206
msgid "GB"
msgstr ""
-#: sfdb_ui.cc:1298 sfdb_ui.cc:1606 sfdb_ui.cc:1656 sfdb_ui.cc:1674
+#: sfdb_ui.cc:1418 sfdb_ui.cc:1731 sfdb_ui.cc:1782 sfdb_ui.cc:1800
msgid "one track per file"
msgstr "una traccia per file"
-#: sfdb_ui.cc:1301 sfdb_ui.cc:1657 sfdb_ui.cc:1675
+#: sfdb_ui.cc:1421 sfdb_ui.cc:1783 sfdb_ui.cc:1801
msgid "one track per channel"
msgstr "una traccia per canale"
-#: sfdb_ui.cc:1309 sfdb_ui.cc:1659 sfdb_ui.cc:1676
+#: sfdb_ui.cc:1429 sfdb_ui.cc:1785 sfdb_ui.cc:1802
msgid "sequence files"
msgstr ""
-#: sfdb_ui.cc:1312 sfdb_ui.cc:1664
+#: sfdb_ui.cc:1432 sfdb_ui.cc:1790
msgid "all files in one track"
msgstr "tutti i file in una traccia"
-#: sfdb_ui.cc:1313 sfdb_ui.cc:1658
+#: sfdb_ui.cc:1433 sfdb_ui.cc:1784
msgid "merge files"
msgstr "Unisci i file"
-#: sfdb_ui.cc:1319 sfdb_ui.cc:1661
+#: sfdb_ui.cc:1439 sfdb_ui.cc:1787
msgid "one region per file"
msgstr "una regione per file"
-#: sfdb_ui.cc:1322 sfdb_ui.cc:1662
+#: sfdb_ui.cc:1442 sfdb_ui.cc:1788
msgid "one region per channel"
msgstr "una regione per canale"
-#: sfdb_ui.cc:1327 sfdb_ui.cc:1663 sfdb_ui.cc:1677
+#: sfdb_ui.cc:1447 sfdb_ui.cc:1789 sfdb_ui.cc:1803
msgid "all files in one region"
msgstr "tutti i file in una regione"
-#: sfdb_ui.cc:1394
+#: sfdb_ui.cc:1514
msgid ""
"One or more of the selected files\n"
"cannot be used by %1"
@@ -10939,55 +11191,55 @@ msgstr ""
"Uno o alcuni dei file selezionati\n"
"non possono essere utilizzati da %1"
-#: sfdb_ui.cc:1534
+#: sfdb_ui.cc:1658
msgid "Copy files to session"
msgstr "Copia i file nella sessione"
-#: sfdb_ui.cc:1551 sfdb_ui.cc:1714
+#: sfdb_ui.cc:1675 sfdb_ui.cc:1840
msgid "file timestamp"
msgstr ""
-#: sfdb_ui.cc:1552 sfdb_ui.cc:1716
+#: sfdb_ui.cc:1676 sfdb_ui.cc:1842
msgid "edit point"
msgstr ""
-#: sfdb_ui.cc:1553 sfdb_ui.cc:1718
+#: sfdb_ui.cc:1677 sfdb_ui.cc:1844
msgid "playhead"
msgstr "testina"
-#: sfdb_ui.cc:1554
+#: sfdb_ui.cc:1678
msgid "session start"
msgstr "inizio sessione"
-#: sfdb_ui.cc:1559
+#: sfdb_ui.cc:1684
msgid "<b>Add files as ...</b>"
msgstr ""
-#: sfdb_ui.cc:1581
+#: sfdb_ui.cc:1706
msgid "<b>Insert at</b>"
msgstr ""
-#: sfdb_ui.cc:1594
+#: sfdb_ui.cc:1719
msgid "<b>Mapping</b>"
msgstr ""
-#: sfdb_ui.cc:1612
+#: sfdb_ui.cc:1737
msgid "<b>Conversion quality</b>"
msgstr ""
-#: sfdb_ui.cc:1624 sfdb_ui.cc:1730
+#: sfdb_ui.cc:1749 sfdb_ui.cc:1856
msgid "Best"
msgstr "Migliore"
-#: sfdb_ui.cc:1625 sfdb_ui.cc:1732
+#: sfdb_ui.cc:1750 sfdb_ui.cc:1858
msgid "Good"
msgstr "Buona"
-#: sfdb_ui.cc:1626 sfdb_ui.cc:1734
+#: sfdb_ui.cc:1751 sfdb_ui.cc:1860
msgid "Quick"
msgstr "Veloce"
-#: sfdb_ui.cc:1628
+#: sfdb_ui.cc:1753
msgid "Fastest"
msgstr "Velocissimo"
@@ -11033,6 +11285,30 @@ msgstr ""
msgid "Stopped"
msgstr "Fermato"
+#: soundcloud_export_selector.cc:44
+msgid "User Email"
+msgstr ""
+
+#: soundcloud_export_selector.cc:45
+msgid "Password"
+msgstr ""
+
+#: soundcloud_export_selector.cc:46
+msgid "Make files public"
+msgstr ""
+
+#: soundcloud_export_selector.cc:47
+msgid "Open uploaded files in browser"
+msgstr ""
+
+#: soundcloud_export_selector.cc:48
+msgid "Make files downloadable"
+msgstr ""
+
+#: soundcloud_export_selector.cc:107
+msgid "%1: %2 of %3 bytes uploaded"
+msgstr ""
+
#: splash.cc:73
msgid "%1 loading ..."
msgstr "%1 si sta avviando..."
@@ -11049,17 +11325,17 @@ msgstr "Rimuovi altoparlante"
msgid "Azimuth:"
msgstr ""
-#: startup.cc:72
+#: startup.cc:73
msgid ""
"Use an external mixer or the hardware mixer of your audio interface.\n"
"%1 will play NO role in monitoring"
msgstr ""
-#: startup.cc:74
+#: startup.cc:75
msgid "Ask %1 to play back material as it is being recorded"
msgstr ""
-#: startup.cc:143
+#: startup.cc:144
msgid ""
"<b>Welcome to this BETA release of Ardour %1</b>\n"
"\n"
@@ -11084,11 +11360,11 @@ msgid ""
" http://ardour.org/support\n"
msgstr ""
-#: startup.cc:167
+#: startup.cc:168
msgid "This is a BETA RELEASE"
msgstr ""
-#: startup.cc:176
+#: startup.cc:177
msgid ""
"<span size=\"larger\">%1 is a digital audio workstation. You can use it to "
"record, edit and mix multi-track audio. You can produce your own CDs, mix "
@@ -11098,15 +11374,15 @@ msgid ""
"program.</span> "
msgstr ""
-#: startup.cc:202
+#: startup.cc:203
msgid "Welcome to %1"
msgstr "Benvenuti in %1"
-#: startup.cc:225
+#: startup.cc:226
msgid "Default folder for %1 sessions"
msgstr "Cartella base per le sessioni %1"
-#: startup.cc:231
+#: startup.cc:232
msgid ""
"Each project that you work on with %1 has its own folder.\n"
"These can require a lot of disk space if you are recording audio.\n"
@@ -11124,11 +11400,11 @@ msgstr ""
"<i>(Potrete memorizzare le sessioni dove volete, questo è solo un valore "
"implicito)</i>"
-#: startup.cc:254
+#: startup.cc:255
msgid "Default folder for new sessions"
msgstr "Cartella base per le nuove sessioni"
-#: startup.cc:275
+#: startup.cc:276
msgid ""
"While recording instruments or vocals, you probably want to listen to the\n"
"signal as well as record it. This is called \"monitoring\". There are\n"
@@ -11142,25 +11418,25 @@ msgid ""
"<i>If you do not understand what this is about, just accept the default.</i>"
msgstr ""
-#: startup.cc:296
+#: startup.cc:297
msgid "Monitoring Choices"
msgstr "Scelte di controllo"
-#: startup.cc:319
+#: startup.cc:320
msgid "Use a Master bus directly"
msgstr "Utilizza un Master bus direttamente"
-#: startup.cc:321
+#: startup.cc:322
msgid ""
"Connect the Master bus directly to your hardware outputs. This is preferable "
"for simple usage."
msgstr ""
-#: startup.cc:330
+#: startup.cc:331
msgid "Use an additional Monitor bus"
msgstr "Utilizza un bus Monitor aggiuntivo"
-#: startup.cc:333
+#: startup.cc:334
msgid ""
"Use a Monitor bus between Master bus and hardware outputs for \n"
"greater control in monitoring without affecting the mix."
@@ -11168,7 +11444,7 @@ msgstr ""
"Usa un bus Monitor tra il bus Master e le uscite fisiche\n"
"per avere un controllo maggiore senza influire sul mixaggio."
-#: startup.cc:355
+#: startup.cc:356
msgid ""
"<i>You can change this preference at any time via the Preferences dialog.\n"
"You can also add or remove the monitor section to/from any session.</i>\n"
@@ -11176,395 +11452,395 @@ msgid ""
"<i>If you do not understand what this is about, just accept the default.</i>"
msgstr ""
-#: startup.cc:366
+#: startup.cc:367
msgid "Monitor Section"
msgstr "Sezione di controllo"
-#: step_entry.cc:59
+#: step_entry.cc:60
msgid "Step Entry: %1"
msgstr ""
-#: step_entry.cc:64
+#: step_entry.cc:65
msgid ">beat"
msgstr ">battito"
-#: step_entry.cc:65
+#: step_entry.cc:66
msgid ">bar"
msgstr ">battuta"
-#: step_entry.cc:66
+#: step_entry.cc:67
msgid ">EP"
msgstr ">EP"
-#: step_entry.cc:67
+#: step_entry.cc:68
msgid "sustain"
msgstr ""
-#: step_entry.cc:68
+#: step_entry.cc:69
msgid "rest"
msgstr ""
-#: step_entry.cc:69
+#: step_entry.cc:70
msgid "g-rest"
msgstr ""
-#: step_entry.cc:70
+#: step_entry.cc:71
msgid "back"
msgstr ""
-#: step_entry.cc:81 step_entry.cc:84
+#: step_entry.cc:82 step_entry.cc:85
msgid "+"
msgstr ""
-#: step_entry.cc:190
+#: step_entry.cc:191
msgid "Set note length to a whole note"
msgstr "Imposta la durata della nota ad una nota"
-#: step_entry.cc:191
+#: step_entry.cc:192
msgid "Set note length to a half note"
msgstr "Imposta la durata della nota a mezza nota"
-#: step_entry.cc:192
+#: step_entry.cc:193
msgid "Set note length to a quarter note"
msgstr "Imposta la durata ad un quarto di nota"
-#: step_entry.cc:193
+#: step_entry.cc:194
msgid "Set note length to a eighth note"
msgstr "Imposta la durata ad un ottavo di nota"
-#: step_entry.cc:194
+#: step_entry.cc:195
msgid "Set note length to a sixteenth note"
msgstr "Imposta la durata ad un sedicesimo di nota"
-#: step_entry.cc:195
+#: step_entry.cc:196
msgid "Set note length to a thirty-second note"
msgstr ""
-#: step_entry.cc:196
+#: step_entry.cc:197
msgid "Set note length to a sixty-fourth note"
msgstr "Imposta la durata ad un sessantaquattresimo di nota"
-#: step_entry.cc:275
+#: step_entry.cc:276
msgid "Set volume (velocity) to pianississimo"
msgstr "Imposta il volume su più che pianissimo"
-#: step_entry.cc:276
+#: step_entry.cc:277
msgid "Set volume (velocity) to pianissimo"
msgstr "Imposta il volume su pianissimo"
-#: step_entry.cc:277
+#: step_entry.cc:278
msgid "Set volume (velocity) to piano"
msgstr "Imposta il volume su piano"
-#: step_entry.cc:278
+#: step_entry.cc:279
msgid "Set volume (velocity) to mezzo-piano"
msgstr "Imposta il volume su mezzo-piano"
-#: step_entry.cc:279
+#: step_entry.cc:280
msgid "Set volume (velocity) to mezzo-forte"
msgstr "Imposta il volume (pressione) su <i>mf</i>"
-#: step_entry.cc:280
+#: step_entry.cc:281
msgid "Set volume (velocity) to forte"
msgstr "Imposta il volume (pressione) su <i>f</i>"
-#: step_entry.cc:281
+#: step_entry.cc:282
msgid "Set volume (velocity) to forteissimo"
msgstr "Imposta il volume (pressione) su <i>ff</i>"
-#: step_entry.cc:282
+#: step_entry.cc:283
msgid "Set volume (velocity) to forteississimo"
msgstr "Imposta il volume (pressione) su <i>fff</i>"
-#: step_entry.cc:330
+#: step_entry.cc:331
msgid "Stack inserted notes to form a chord"
msgstr ""
-#: step_entry.cc:331
+#: step_entry.cc:332
msgid "Extend selected notes by note length"
msgstr ""
-#: step_entry.cc:332
+#: step_entry.cc:333
msgid "Use undotted note lengths"
msgstr ""
-#: step_entry.cc:333
+#: step_entry.cc:334
msgid "Use dotted (* 1.5) note lengths"
msgstr ""
-#: step_entry.cc:334
+#: step_entry.cc:335
msgid "Use double-dotted (* 1.75) note lengths"
msgstr ""
-#: step_entry.cc:335
+#: step_entry.cc:336
msgid "Use triple-dotted (* 1.875) note lengths"
msgstr ""
-#: step_entry.cc:336
+#: step_entry.cc:337
msgid "Insert a note-length's rest"
msgstr ""
-#: step_entry.cc:337
+#: step_entry.cc:338
msgid "Insert a grid-unit's rest"
msgstr ""
-#: step_entry.cc:338
+#: step_entry.cc:339
msgid "Insert a rest until the next beat"
msgstr ""
-#: step_entry.cc:339
+#: step_entry.cc:340
msgid "Insert a rest until the next bar"
msgstr ""
-#: step_entry.cc:340
+#: step_entry.cc:341
msgid "Insert a bank change message"
msgstr ""
-#: step_entry.cc:341
+#: step_entry.cc:342
msgid "Insert a program change message"
msgstr ""
-#: step_entry.cc:342 step_entry.cc:699
+#: step_entry.cc:343 step_entry.cc:700
msgid "Move Insert Position Back by Note Length"
msgstr ""
-#: step_entry.cc:343 step_entry.cc:697
+#: step_entry.cc:344 step_entry.cc:698
msgid "Move Insert Position to Edit Point"
msgstr ""
-#: step_entry.cc:400
+#: step_entry.cc:401
msgid "1/Note"
msgstr ""
-#: step_entry.cc:414
+#: step_entry.cc:415
msgid "Octave"
msgstr ""
-#: step_entry.cc:597
+#: step_entry.cc:598
msgid "Insert Note A"
msgstr ""
-#: step_entry.cc:598
+#: step_entry.cc:599
msgid "Insert Note A-sharp"
msgstr ""
-#: step_entry.cc:599
+#: step_entry.cc:600
msgid "Insert Note B"
msgstr ""
-#: step_entry.cc:600
+#: step_entry.cc:601
msgid "Insert Note C"
msgstr ""
-#: step_entry.cc:601
+#: step_entry.cc:602
msgid "Insert Note C-sharp"
msgstr ""
-#: step_entry.cc:602
+#: step_entry.cc:603
msgid "Insert Note D"
msgstr ""
-#: step_entry.cc:603
+#: step_entry.cc:604
msgid "Insert Note D-sharp"
msgstr ""
-#: step_entry.cc:604
+#: step_entry.cc:605
msgid "Insert Note E"
msgstr ""
-#: step_entry.cc:605
+#: step_entry.cc:606
msgid "Insert Note F"
msgstr ""
-#: step_entry.cc:606
+#: step_entry.cc:607
msgid "Insert Note F-sharp"
msgstr ""
-#: step_entry.cc:607
+#: step_entry.cc:608
msgid "Insert Note G"
msgstr ""
-#: step_entry.cc:608
+#: step_entry.cc:609
msgid "Insert Note G-sharp"
msgstr ""
-#: step_entry.cc:610
+#: step_entry.cc:611
msgid "Insert a Note-length Rest"
msgstr ""
-#: step_entry.cc:611
+#: step_entry.cc:612
msgid "Insert a Snap-length Rest"
msgstr ""
-#: step_entry.cc:613 step_entry.cc:614
+#: step_entry.cc:614 step_entry.cc:615
msgid "Move to next octave"
msgstr ""
-#: step_entry.cc:616
+#: step_entry.cc:617
msgid "Move to Next Note Length"
msgstr ""
-#: step_entry.cc:617
+#: step_entry.cc:618
msgid "Move to Previous Note Length"
msgstr ""
-#: step_entry.cc:619
+#: step_entry.cc:620
msgid "Increase Note Length"
msgstr "Aumenta la durata della nota"
-#: step_entry.cc:620
+#: step_entry.cc:621
msgid "Decrease Note Length"
msgstr "Diminuisci la durata della nota"
-#: step_entry.cc:622
+#: step_entry.cc:623
msgid "Move to Next Note Velocity"
msgstr ""
-#: step_entry.cc:623
+#: step_entry.cc:624
msgid "Move to Previous Note Velocity"
msgstr ""
-#: step_entry.cc:625
+#: step_entry.cc:626
msgid "Increase Note Velocity"
msgstr ""
-#: step_entry.cc:626
+#: step_entry.cc:627
msgid "Decrease Note Velocity"
msgstr ""
-#: step_entry.cc:628
+#: step_entry.cc:629
msgid "Switch to the 1st octave"
msgstr "Passa alla 1a ottava"
-#: step_entry.cc:629
+#: step_entry.cc:630
msgid "Switch to the 2nd octave"
msgstr "Passa alla 2a ottava"
-#: step_entry.cc:630
+#: step_entry.cc:631
msgid "Switch to the 3rd octave"
msgstr "Passa alla 3a ottava"
-#: step_entry.cc:631
+#: step_entry.cc:632
msgid "Switch to the 4th octave"
msgstr "Passa alla 4a ottava"
-#: step_entry.cc:632
+#: step_entry.cc:633
msgid "Switch to the 5th octave"
msgstr "Passa alla 5a ottava"
-#: step_entry.cc:633
+#: step_entry.cc:634
msgid "Switch to the 6th octave"
msgstr "Passa alla 6a ottava"
-#: step_entry.cc:634
+#: step_entry.cc:635
msgid "Switch to the 7th octave"
msgstr "Passa alla 7a ottava"
-#: step_entry.cc:635
+#: step_entry.cc:636
msgid "Switch to the 8th octave"
msgstr "Passa alla 8a ottava"
-#: step_entry.cc:636
+#: step_entry.cc:637
msgid "Switch to the 9th octave"
msgstr "Passa alla 9a ottava"
-#: step_entry.cc:637
+#: step_entry.cc:638
msgid "Switch to the 10th octave"
msgstr "Passa alla 10a ottava"
-#: step_entry.cc:638
+#: step_entry.cc:639
msgid "Switch to the 11th octave"
msgstr "Passa alla 11a ottava"
-#: step_entry.cc:643
+#: step_entry.cc:644
msgid "Set Note Length to Whole"
msgstr ""
-#: step_entry.cc:645
+#: step_entry.cc:646
msgid "Set Note Length to 1/2"
msgstr ""
-#: step_entry.cc:647
+#: step_entry.cc:648
msgid "Set Note Length to 1/3"
msgstr "Durata della nota a 1/3"
-#: step_entry.cc:649
+#: step_entry.cc:650
msgid "Set Note Length to 1/4"
msgstr "Durata della nota a 1/4"
-#: step_entry.cc:651
+#: step_entry.cc:652
msgid "Set Note Length to 1/8"
msgstr "Durata della nota a 1/8"
-#: step_entry.cc:653
+#: step_entry.cc:654
msgid "Set Note Length to 1/16"
msgstr "Durata della nota a 1/16"
-#: step_entry.cc:655
+#: step_entry.cc:656
msgid "Set Note Length to 1/32"
msgstr "Durata della nota a 1/32"
-#: step_entry.cc:657
+#: step_entry.cc:658
msgid "Set Note Length to 1/64"
msgstr "Durata della nota a 1/64"
-#: step_entry.cc:662
+#: step_entry.cc:663
msgid "Set Note Velocity to Pianississimo"
msgstr ""
-#: step_entry.cc:664
+#: step_entry.cc:665
msgid "Set Note Velocity to Pianissimo"
msgstr ""
-#: step_entry.cc:666
+#: step_entry.cc:667
msgid "Set Note Velocity to Piano"
msgstr ""
-#: step_entry.cc:668
+#: step_entry.cc:669
msgid "Set Note Velocity to Mezzo-Piano"
msgstr ""
-#: step_entry.cc:670
+#: step_entry.cc:671
msgid "Set Note Velocity to Mezzo-Forte"
msgstr "Imposta la nota su <i>mf</i>"
-#: step_entry.cc:672
+#: step_entry.cc:673
msgid "Set Note Velocity to Forte"
msgstr "Imposta la nota su <i>f</i>"
-#: step_entry.cc:674 step_entry.cc:676
+#: step_entry.cc:675 step_entry.cc:677
msgid "Set Note Velocity to Fortississimo"
msgstr "Imposta la nota su <i>fff</i>"
-#: step_entry.cc:678
+#: step_entry.cc:679
msgid "Toggle Triple Notes"
msgstr ""
-#: step_entry.cc:683
+#: step_entry.cc:684
msgid "No Dotted Notes"
msgstr ""
-#: step_entry.cc:685
+#: step_entry.cc:686
msgid "Toggled Dotted Notes"
msgstr ""
-#: step_entry.cc:687
+#: step_entry.cc:688
msgid "Toggled Double-Dotted Notes"
msgstr ""
-#: step_entry.cc:689
+#: step_entry.cc:690
msgid "Toggled Triple-Dotted Notes"
msgstr ""
-#: step_entry.cc:692
+#: step_entry.cc:693
msgid "Toggle Chord Entry"
msgstr ""
-#: step_entry.cc:694
+#: step_entry.cc:695
msgid "Sustain Selected Notes by Note Length"
msgstr ""
-#: stereo_panner.cc:108
+#: stereo_panner.cc:131
#, c-format
msgid "L:%3d R:%3d Width:%d%%"
msgstr ""
@@ -11577,140 +11853,164 @@ msgstr ""
msgid "Width"
msgstr ""
-#: strip_silence_dialog.cc:48
+#: strip_silence_dialog.cc:44
msgid "Strip Silence"
msgstr "Rimuovi silenzio"
-#: strip_silence_dialog.cc:79
+#: strip_silence_dialog.cc:75
msgid "Minimum length"
msgstr "Durata minima"
-#: strip_silence_dialog.cc:87
+#: strip_silence_dialog.cc:83
msgid "Fade length"
msgstr "Durata delle dissolvenza"
-#: tempo_dialog.cc:43 tempo_dialog.cc:58
+#: tempo_dialog.cc:42 tempo_dialog.cc:58
msgid "bar:"
msgstr "battuta:"
-#: tempo_dialog.cc:44 tempo_dialog.cc:59
+#: tempo_dialog.cc:43 tempo_dialog.cc:59
msgid "beat:"
msgstr "battito:"
-#: tempo_dialog.cc:45 tempo_dialog.cc:60
+#: tempo_dialog.cc:44 tempo_dialog.cc:60
msgid "Pulse note"
msgstr ""
+#: tempo_dialog.cc:45 tempo_dialog.cc:61
+msgid "Tap tempo"
+msgstr ""
+
#: tempo_dialog.cc:55
msgid "Edit Tempo"
msgstr ""
-#: tempo_dialog.cc:76 tempo_dialog.cc:77 tempo_dialog.cc:282
-#: tempo_dialog.cc:283
+#: tempo_dialog.cc:77 tempo_dialog.cc:78 tempo_dialog.cc:316
+#: tempo_dialog.cc:317
msgid "whole"
msgstr ""
-#: tempo_dialog.cc:78 tempo_dialog.cc:79 tempo_dialog.cc:284
-#: tempo_dialog.cc:285
+#: tempo_dialog.cc:79 tempo_dialog.cc:80 tempo_dialog.cc:318
+#: tempo_dialog.cc:319
msgid "second"
msgstr ""
-#: tempo_dialog.cc:80 tempo_dialog.cc:81 tempo_dialog.cc:286
-#: tempo_dialog.cc:287
+#: tempo_dialog.cc:81 tempo_dialog.cc:82 tempo_dialog.cc:320
+#: tempo_dialog.cc:321
msgid "third"
msgstr ""
-#: tempo_dialog.cc:82 tempo_dialog.cc:83 tempo_dialog.cc:288
-#: tempo_dialog.cc:289
+#: tempo_dialog.cc:83 tempo_dialog.cc:84 tempo_dialog.cc:322
+#: tempo_dialog.cc:323
msgid "quarter"
msgstr ""
-#: tempo_dialog.cc:84 tempo_dialog.cc:85 tempo_dialog.cc:290
-#: tempo_dialog.cc:291
+#: tempo_dialog.cc:85 tempo_dialog.cc:86 tempo_dialog.cc:324
+#: tempo_dialog.cc:325
msgid "eighth"
msgstr ""
-#: tempo_dialog.cc:86 tempo_dialog.cc:87 tempo_dialog.cc:292
-#: tempo_dialog.cc:293
+#: tempo_dialog.cc:87 tempo_dialog.cc:88 tempo_dialog.cc:326
+#: tempo_dialog.cc:327
msgid "sixteenth"
msgstr ""
-#: tempo_dialog.cc:88 tempo_dialog.cc:89 tempo_dialog.cc:294
-#: tempo_dialog.cc:295
+#: tempo_dialog.cc:89 tempo_dialog.cc:90 tempo_dialog.cc:328
+#: tempo_dialog.cc:329
msgid "thirty-second"
msgstr ""
-#: tempo_dialog.cc:90 tempo_dialog.cc:91 tempo_dialog.cc:296
-#: tempo_dialog.cc:297
+#: tempo_dialog.cc:91 tempo_dialog.cc:92 tempo_dialog.cc:330
+#: tempo_dialog.cc:331
msgid "sixty-fourth"
msgstr ""
-#: tempo_dialog.cc:92 tempo_dialog.cc:93 tempo_dialog.cc:298
-#: tempo_dialog.cc:299
+#: tempo_dialog.cc:93 tempo_dialog.cc:94 tempo_dialog.cc:332
+#: tempo_dialog.cc:333
msgid "one-hundred-twenty-eighth"
msgstr ""
-#: tempo_dialog.cc:120
+#: tempo_dialog.cc:121
msgid "Beats per minute:"
msgstr "Battiti al minuto"
-#: tempo_dialog.cc:152
+#: tempo_dialog.cc:153
msgid "Tempo begins at"
msgstr ""
-#: tempo_dialog.cc:240
+#: tempo_dialog.cc:244
msgid "incomprehensible pulse note type (%1)"
msgstr ""
-#: tempo_dialog.cc:266
+#: tempo_dialog.cc:300
msgid "Edit Meter"
msgstr ""
-#: tempo_dialog.cc:314
+#: tempo_dialog.cc:348
msgid "Note value:"
msgstr ""
-#: tempo_dialog.cc:315
+#: tempo_dialog.cc:349
msgid "Beats per bar:"
msgstr "Battiti per battuta:"
-#: tempo_dialog.cc:330
+#: tempo_dialog.cc:364
msgid "Meter begins at bar:"
msgstr ""
-#: tempo_dialog.cc:441
+#: tempo_dialog.cc:475
msgid "incomprehensible meter note type (%1)"
msgstr ""
-#: theme_manager.cc:57
+#: theme_manager.cc:63
msgid "Dark Theme"
msgstr "Tema scuro"
-#: theme_manager.cc:58
+#: theme_manager.cc:64
msgid "Light Theme"
msgstr "Tema luminoso"
-#: theme_manager.cc:59
+#: theme_manager.cc:65
msgid "Restore Defaults"
msgstr "Ripristina i valori base"
-#: theme_manager.cc:60
+#: theme_manager.cc:66
msgid "Draw \"flat\" buttons"
msgstr ""
-#: theme_manager.cc:61
+#: theme_manager.cc:67
+msgid "Blink Rec-Arm buttons"
+msgstr ""
+
+#: theme_manager.cc:68
+msgid "Color regions using their track's color"
+msgstr "Colora le regioni utilizzando il colore della traccia di appartenenza"
+
+#: theme_manager.cc:69
+msgid "Show waveform clipping"
+msgstr ""
+
+#: theme_manager.cc:71
+msgid "Waveforms color gradient depth"
+msgstr ""
+
+#: theme_manager.cc:73
+msgid "Timeline item gradient depth"
+msgstr ""
+
+#: theme_manager.cc:74
msgid "All floating windows are dialogs"
msgstr ""
-#: theme_manager.cc:62
-msgid "Draw waveforms with color gradient"
+#: theme_manager.cc:75
+msgid "Icon Set"
msgstr ""
-#: theme_manager.cc:68
+#: theme_manager.cc:81
msgid "Object"
msgstr "oggetto"
-#: theme_manager.cc:123
+#: theme_manager.cc:180
msgid ""
"Mark all floating windows to be type \"Dialog\" rather than using \"Utility"
"\" for some.\n"
@@ -11718,17 +12018,17 @@ msgid ""
"take effect"
msgstr ""
-#: theme_manager.cc:229
+#: theme_manager.cc:286
msgid "Unable to find UI style file %1 in search path %2. %3 will look strange"
msgstr ""
"Impossibilitato a trovare il file dello stile interfaccia utente %1 \n"
"nel percorso di ricerca %2. %3 sembra anomalo"
-#: time_axis_view.cc:114
+#: time_axis_view.cc:141
msgid "Track/Bus name (double click to edit)"
msgstr ""
-#: time_axis_view_item.cc:332
+#: time_axis_view_item.cc:384
msgid "new duration %1 frame is out of bounds for %2"
msgid_plural "new duration of %1 frames is out of bounds for %2"
msgstr[0] ""
@@ -11794,11 +12094,11 @@ msgstr ""
msgid "<b>Progress</b>"
msgstr ""
-#: time_info_box.cc:121
+#: time_info_box.cc:124
msgid "Start recording at auto-punch start"
msgstr "Comincia a registrare al'inizio dell'auto-punch"
-#: time_info_box.cc:122
+#: time_info_box.cc:125
msgid "Stop recording at auto-punch end"
msgstr "Ferma la registrazione alla fine dell'auto-punch"
@@ -11814,154 +12114,166 @@ msgstr "Trasponi MIDI"
msgid "Transpose"
msgstr "Trasponi"
-#: ui_config.cc:82 ui_config.cc:113
+#: ui_config.cc:95 ui_config.cc:126
msgid "Loading default ui configuration file %1"
msgstr "Carico il file di configurazione base per %1"
-#: ui_config.cc:85 ui_config.cc:116
+#: ui_config.cc:98 ui_config.cc:129
msgid "cannot read default ui configuration file \"%1\""
msgstr "impossibile leggere il file di configurazione base \"%1\""
-#: ui_config.cc:90 ui_config.cc:121
+#: ui_config.cc:103 ui_config.cc:134
msgid "default ui configuration file \"%1\" not loaded successfully."
msgstr ""
"il file di configurazione base \"%1\" dell'interfaccia\n"
"utente non è stato caricato."
-#: ui_config.cc:134
+#: ui_config.cc:147
msgid "Loading user ui configuration file %1"
msgstr "Carico il file di configurazione dell'interfaccia utente %1"
-#: ui_config.cc:137
+#: ui_config.cc:150
msgid "cannot read ui configuration file \"%1\""
msgstr ""
-#: ui_config.cc:142
+#: ui_config.cc:155
msgid "user ui configuration file \"%1\" not loaded successfully."
msgstr ""
"il file di configurazione \"%1\" dell'interfaccia utente non è stato "
"caricato."
-#: ui_config.cc:150
+#: ui_config.cc:163
msgid "could not find any ui configuration file, canvas will look broken."
msgstr ""
"non sono riuscito a trovare alcun file di configurazione, l'interfacca avrà "
"dei problemi."
-#: ui_config.cc:169
+#: ui_config.cc:182
msgid "Config file %1 not saved"
msgstr "Il file di configurazione %1 non è stato salvato."
-#: utils.cc:111 utils.cc:154
+#: utils.cc:117 utils.cc:160
msgid "bad XPM header %1"
msgstr ""
-#: utils.cc:293 utils.cc:325
+#: utils.cc:313 utils.cc:345
msgid "missing RGBA style for \"%1\""
msgstr "stile RGBA mancante per \"%1\""
-#: utils.cc:598
+#: utils.cc:640
msgid "cannot find XPM file for %1"
msgstr "non riesco a trovare un file XPM per %1"
-#: utils.cc:624
-msgid "cannot find icon image for %1 using %2"
+#: utils.cc:660 utils.cc:687 utils.cc:698
+msgid "default"
msgstr ""
-#: utils.cc:639
-msgid "Caught exception while loading icon named %1"
+#: utils.cc:699
+msgid "icon \"%1\" not found for icon set \"%2\", fallback to default"
+msgstr ""
+
+#: utils.cc:706
+msgid "cannot find icon image for %1 using %2"
msgstr ""
-#: verbose_cursor.cc:45
-msgid "VerboseCanvasCursor"
+#: utils.cc:723 utils.cc:739
+msgid "Caught exception while loading icon named %1"
msgstr ""
-#: add_video_dialog.cc:55
+#: add_video_dialog.cc:54
msgid "Set Video Track"
msgstr ""
-#: add_video_dialog.cc:63
+#: add_video_dialog.cc:62
msgid "Launch External Video Monitor"
msgstr ""
-#: add_video_dialog.cc:64
+#: add_video_dialog.cc:63
msgid "Adjust Session Framerate to Match Video Framerate"
msgstr ""
-#: add_video_dialog.cc:66
+#: add_video_dialog.cc:65
msgid "Reload docroot"
msgstr ""
-#: add_video_dialog.cc:111 add_video_dialog.cc:115
-msgid "VideoServerIndex"
-msgstr ""
-
-#: add_video_dialog.cc:129
+#: add_video_dialog.cc:120
msgid "Video files"
msgstr ""
-#: add_video_dialog.cc:164
+#: add_video_dialog.cc:149
msgid "<b>Video Information</b>"
msgstr ""
-#: add_video_dialog.cc:167
+#: add_video_dialog.cc:152
msgid "Start:"
msgstr ""
-#: add_video_dialog.cc:173
+#: add_video_dialog.cc:158
msgid "Frame rate:"
msgstr ""
-#: add_video_dialog.cc:176
+#: add_video_dialog.cc:161
msgid "Aspect Ratio:"
msgstr ""
-#: add_video_dialog.cc:654
-msgid " %1 fps"
+#: add_video_dialog.cc:244
+msgid "VideoServerIndex"
msgstr ""
-#: editor_videotimeline.cc:146
-msgid "Export Successful: %1"
+#: add_video_dialog.cc:670
+msgid " %1 fps"
msgstr ""
-#: video_timeline.cc:469
+#: video_timeline.cc:473
msgid ""
"Parsing video file info failed. Is the Video Server running? Is the file "
"readable by the Video Server? Does the docroot match? Is it a video file?"
msgstr ""
-#: video_timeline.cc:507
+#: video_timeline.cc:511
msgid ""
"Failed to set session-framerate: '%1' does not have a corresponding option "
"setting in %2."
msgstr ""
-#: video_timeline.cc:515
+#: video_timeline.cc:519
msgid ""
"Video file's framerate is not equal to %1 session timecode's framerate: '%2' "
"vs '%3'"
msgstr ""
-#: video_timeline.cc:588
+#: video_timeline.cc:592
msgid ""
"Video-server docroot mismatch. %1: '%2', video-server: '%3'. This usually "
-"means that the video server was not started by ardour and uses a different "
+"means that the video server was not started by %1 and uses a different "
"document-root."
msgstr ""
-#: video_timeline.cc:737
+#: video_timeline.cc:768
msgid ""
"Video-monitor 'xjadeo' was not found. Please install http://xjadeo.sf.net/ "
"(a custom path to xjadeo can be specified by setting the XJREMOTE "
"environment variable. It should point to an application compatible with "
-"xjadeo's remote-control interface 'xjremote')."
+"xjadeo's remote-control interface 'xjremote').\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
+msgstr ""
+
+#: video_timeline.cc:782
+msgid "Video-monitor 'xjadeo' cannot be launched."
+msgstr ""
+
+#: video_timeline.cc:809
+msgid ""
+"Video-monitor 'xjadeo' is too old. Please install xjadeo version 0.7.7 or "
+"later. http://xjadeo.sf.net/"
msgstr ""
-#: video_monitor.cc:281
+#: video_monitor.cc:285
msgid "Video Monitor: File Not Found."
msgstr ""
-#: transcode_ffmpeg.cc:73
+#: transcode_ffmpeg.cc:126
msgid ""
"No ffprobe or ffmpeg executables could be found on this system.\n"
"Video import and export is not possible until you install those tools.\n"
@@ -11975,168 +12287,181 @@ msgid ""
"If you already have a suitable ffmpeg installation on your system, we "
"recommend creating symbolic links from ffmpeg to ffmpeg_harvid and from "
"ffprobe to ffprobe_harvid.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: transcode_video_dialog.cc:55
+#: transcode_video_dialog.cc:56
msgid "Transcode/Import Video File "
msgstr ""
-#: transcode_video_dialog.cc:57
+#: transcode_video_dialog.cc:58
msgid "Output File:"
msgstr ""
-#: transcode_video_dialog.cc:60 export_video_dialog.cc:72
+#: transcode_video_dialog.cc:61 export_video_dialog.cc:73
msgid "Abort"
msgstr ""
-#: transcode_video_dialog.cc:62
+#: transcode_video_dialog.cc:63
msgid "Height = "
msgstr ""
-#: transcode_video_dialog.cc:65
+#: transcode_video_dialog.cc:66
msgid "Manual Override"
msgstr ""
-#: transcode_video_dialog.cc:69 export_video_dialog.cc:88
+#: transcode_video_dialog.cc:70 export_video_dialog.cc:89
msgid "Debug Mode: Print ffmpeg command and output to stdout."
msgstr ""
-#: transcode_video_dialog.cc:106
+#: transcode_video_dialog.cc:107
msgid "<b>File Information</b>"
msgstr ""
-#: transcode_video_dialog.cc:112
+#: transcode_video_dialog.cc:113
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Import "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: transcode_video_dialog.cc:119
+#: transcode_video_dialog.cc:120
msgid ""
"File-info can not be read. Most likely '%1' is not a valid video-file or an "
"unsupported video codec or format."
msgstr ""
-#: transcode_video_dialog.cc:133
+#: transcode_video_dialog.cc:134
msgid "FPS:"
msgstr ""
-#: transcode_video_dialog.cc:135
+#: transcode_video_dialog.cc:136
msgid "Duration:"
msgstr ""
-#: transcode_video_dialog.cc:137
+#: transcode_video_dialog.cc:138
msgid "Codec:"
msgstr ""
-#: transcode_video_dialog.cc:139
+#: transcode_video_dialog.cc:140
msgid "Geometry:"
msgstr ""
-#: transcode_video_dialog.cc:154
+#: transcode_video_dialog.cc:155
msgid "??"
msgstr ""
-#: transcode_video_dialog.cc:175
+#: transcode_video_dialog.cc:176
msgid "<b>Import Settings</b>"
msgstr ""
-#: transcode_video_dialog.cc:180
-msgid "Do Not Import Video"
-msgstr ""
-
#: transcode_video_dialog.cc:181
-msgid "Reference From Current Location"
+msgid "Reference From Current Location (Previously Transcoded Files Only)"
msgstr ""
#: transcode_video_dialog.cc:183
msgid "Import/Transcode Video to Session"
msgstr ""
-#: transcode_video_dialog.cc:197
+#: transcode_video_dialog.cc:191
+msgid "Do Not Import Video (Audio Import Only)"
+msgstr ""
+
+#: transcode_video_dialog.cc:200
msgid "Scale Video: Width = "
msgstr ""
-#: transcode_video_dialog.cc:204
+#: transcode_video_dialog.cc:207
msgid "Original Width"
msgstr ""
-#: transcode_video_dialog.cc:219
+#: transcode_video_dialog.cc:222
msgid "Bitrate (KBit/s):"
msgstr ""
-#: transcode_video_dialog.cc:224
+#: transcode_video_dialog.cc:227
msgid "Extract Audio:"
msgstr ""
-#: transcode_video_dialog.cc:344
+#: transcode_video_dialog.cc:232
+msgid "No Audio Track Present"
+msgstr ""
+
+#: transcode_video_dialog.cc:235
+msgid "Do Not Extract Audio"
+msgstr ""
+
+#: transcode_video_dialog.cc:350
msgid "Extracting Audio.."
msgstr ""
-#: transcode_video_dialog.cc:347
+#: transcode_video_dialog.cc:353
msgid "Audio Extraction Failed."
msgstr ""
-#: transcode_video_dialog.cc:373
+#: transcode_video_dialog.cc:379
msgid "Transcoding Video.."
msgstr ""
-#: transcode_video_dialog.cc:407
+#: transcode_video_dialog.cc:413
msgid "Transcoding Failed."
msgstr ""
-#: transcode_video_dialog.cc:490
+#: transcode_video_dialog.cc:503
msgid "Save Transcoded Video File"
msgstr ""
-#: video_server_dialog.cc:43
+#: video_server_dialog.cc:57
msgid "Launch Video Server"
msgstr ""
-#: video_server_dialog.cc:44
+#: video_server_dialog.cc:58
msgid "Server Executable:"
msgstr ""
-#: video_server_dialog.cc:46
+#: video_server_dialog.cc:60
msgid "Server Docroot:"
msgstr ""
-#: video_server_dialog.cc:52
+#: video_server_dialog.cc:66
msgid "Don't show this dialog again. (Reset in Edit->Preferences)."
msgstr ""
-#: video_server_dialog.cc:92
+#: video_server_dialog.cc:126
msgid ""
-"The external video server 'harvid' can not be found. The tool is included "
-"with the %1 releases from ardour.org, alternatively you can download it from "
-"http://x42.github.com/harvid/ or acquire it from your distribution."
+"The external video server 'harvid' can not be found.\n"
+"The tool is included with the %1 releases from ardour.org, alternatively you "
+"can download it from http://x42.github.com/harvid/ or acquire it from your "
+"distribution.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: video_server_dialog.cc:120
+#: video_server_dialog.cc:159
msgid "Listen Address:"
msgstr ""
-#: video_server_dialog.cc:125
+#: video_server_dialog.cc:164
msgid "Listen Port:"
msgstr ""
-#: video_server_dialog.cc:130
+#: video_server_dialog.cc:169
msgid "Cache Size:"
msgstr ""
-#: video_server_dialog.cc:136
+#: video_server_dialog.cc:175
msgid ""
"%1 relies on an external video server for the videotimeline.\n"
"The server configured in Edit -> Preferences -> Video is not reachable.\n"
"Do you want %1 to launch 'harvid' on this machine?"
msgstr ""
-#: video_server_dialog.cc:176
+#: video_server_dialog.cc:215
msgid "Set Video Server Executable"
msgstr ""
-#: video_server_dialog.cc:196
+#: video_server_dialog.cc:235
msgid "Server docroot"
msgstr ""
@@ -12166,184 +12491,184 @@ msgstr ""
msgid "Cannot create video folder \"%1\" (%2)"
msgstr ""
-#: export_video_dialog.cc:65
+#: export_video_dialog.cc:66
msgid "Export Video File "
msgstr ""
-#: export_video_dialog.cc:69
+#: export_video_dialog.cc:70
msgid "Video:"
msgstr ""
-#: export_video_dialog.cc:73
+#: export_video_dialog.cc:74
msgid "Scale Video (W x H):"
msgstr ""
-#: export_video_dialog.cc:78
+#: export_video_dialog.cc:79
msgid "Set Aspect Ratio:"
msgstr ""
-#: export_video_dialog.cc:79
+#: export_video_dialog.cc:80
msgid "Normalize Audio"
msgstr ""
-#: export_video_dialog.cc:80
+#: export_video_dialog.cc:81
msgid "2 Pass Encoding"
msgstr ""
-#: export_video_dialog.cc:81
+#: export_video_dialog.cc:82
msgid "Codec Optimizations:"
msgstr ""
-#: export_video_dialog.cc:83
+#: export_video_dialog.cc:84
msgid "Deinterlace"
msgstr ""
-#: export_video_dialog.cc:84
+#: export_video_dialog.cc:85
msgid "Use [2] B-frames (MPEG 2 or 4 only)"
msgstr ""
-#: export_video_dialog.cc:85
+#: export_video_dialog.cc:86
msgid "Override FPS (Default is to retain FPS from the input video file):"
msgstr ""
-#: export_video_dialog.cc:86
+#: export_video_dialog.cc:87
msgid "Include Session Metadata"
msgstr ""
-#: export_video_dialog.cc:106
+#: export_video_dialog.cc:107
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Export "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: export_video_dialog.cc:116
+#: export_video_dialog.cc:117
msgid "<b>Output:</b>"
msgstr ""
-#: export_video_dialog.cc:126
+#: export_video_dialog.cc:127
msgid "<b>Input:</b>"
msgstr ""
-#: export_video_dialog.cc:137
+#: export_video_dialog.cc:138
msgid "Audio:"
msgstr ""
-#: export_video_dialog.cc:139
+#: export_video_dialog.cc:140
msgid "Master Bus"
msgstr ""
-#: export_video_dialog.cc:144
+#: export_video_dialog.cc:145
msgid "from the %1 session's start to the session's end"
msgstr ""
-#: export_video_dialog.cc:148
+#: export_video_dialog.cc:149
msgid "from 00:00:00:00 to the video's end"
msgstr ""
-#: export_video_dialog.cc:150
+#: export_video_dialog.cc:151
msgid "from the video's start to the video's end"
msgstr ""
-#: export_video_dialog.cc:153
+#: export_video_dialog.cc:154
msgid "Selected range"
msgstr ""
-#: export_video_dialog.cc:193
+#: export_video_dialog.cc:194
msgid "<b>Settings:</b>"
msgstr ""
-#: export_video_dialog.cc:201
+#: export_video_dialog.cc:202
msgid "Range:"
msgstr ""
-#: export_video_dialog.cc:204
+#: export_video_dialog.cc:205
msgid "Preset:"
msgstr ""
-#: export_video_dialog.cc:207
+#: export_video_dialog.cc:208
msgid "Video Codec:"
msgstr ""
-#: export_video_dialog.cc:210
+#: export_video_dialog.cc:211
msgid "Video KBit/s:"
msgstr ""
-#: export_video_dialog.cc:213
+#: export_video_dialog.cc:214
msgid "Audio Codec:"
msgstr ""
-#: export_video_dialog.cc:216
+#: export_video_dialog.cc:217
msgid "Audio KBit/s:"
msgstr ""
-#: export_video_dialog.cc:219
+#: export_video_dialog.cc:220
msgid "Audio Samplerate:"
msgstr ""
-#: export_video_dialog.cc:395
+#: export_video_dialog.cc:396
msgid "Normalizing audio"
msgstr ""
-#: export_video_dialog.cc:399
+#: export_video_dialog.cc:400
msgid "Exporting audio"
msgstr ""
-#: export_video_dialog.cc:445
+#: export_video_dialog.cc:446
msgid "Exporting Audio..."
msgstr ""
-#: export_video_dialog.cc:502
+#: export_video_dialog.cc:503
msgid ""
"Export Video: Cannot query duration of video-file, using duration from "
"timeline instead."
msgstr ""
-#: export_video_dialog.cc:532
+#: export_video_dialog.cc:533
msgid "Export Video: export-range does not include video."
msgstr ""
-#: export_video_dialog.cc:544
+#: export_video_dialog.cc:545
msgid "Export Video: No Master Out Ports to Connect for Audio Export"
msgstr ""
-#: export_video_dialog.cc:583
+#: export_video_dialog.cc:585
msgid "Encoding Video..."
msgstr ""
-#: export_video_dialog.cc:602
+#: export_video_dialog.cc:604
msgid "Export Video: Video input file cannot be read."
msgstr ""
-#: export_video_dialog.cc:695
+#: export_video_dialog.cc:698
msgid "Encoding Video.. Pass 1/2"
msgstr ""
-#: export_video_dialog.cc:707
+#: export_video_dialog.cc:710
msgid "Encoding Video.. Pass 2/2"
msgstr ""
-#: export_video_dialog.cc:814
+#: export_video_dialog.cc:813
msgid "Transcoding failed."
msgstr ""
-#: export_video_dialog.cc:983 export_video_dialog.cc:1003
+#: export_video_dialog.cc:982 export_video_dialog.cc:1002
msgid "Save Exported Video File"
msgstr ""
-#: export_video_infobox.cc:30
+#: export_video_infobox.cc:33
msgid "Video Export Info"
msgstr ""
-#: export_video_infobox.cc:31
+#: export_video_infobox.cc:34
msgid "Do Not Show This Dialog Again (Reset in Edit > Preferences > Video)."
msgstr ""
-#: export_video_infobox.cc:43
+#: export_video_infobox.cc:46
msgid "<b>Video Export Info</b>"
msgstr ""
-#: export_video_infobox.cc:48
+#: export_video_infobox.cc:51
msgid ""
"Video encoding is a non-trivial task with many details.\n"
"\n"
@@ -12352,6 +12677,138 @@ msgid ""
"Open Manual in Browser? "
msgstr ""
+#~ msgid "badly formatted UI definition file: %1"
+#~ msgstr "Errore nel file di definizione della UI: %1"
+
+#~ msgid "%1 will not work without a valid ardour.menus file"
+#~ msgstr "%1 non può essere avviato senza un file ardour.menù valido"
+
+#~ msgid ""
+#~ "There are insufficient JACK ports available\n"
+#~ "to create a new track or bus.\n"
+#~ "You should save %1, exit and\n"
+#~ "restart JACK with more ports."
+#~ msgstr ""
+#~ "Non ci sono porte JACK sufficenti\n"
+#~ "per creare una nuova traccia o bus.\n"
+#~ "Dovresti salvare %1, uscire e \n"
+#~ "avviare di nuovo JACK con più porte."
+
+#~ msgid "Slowest"
+#~ msgstr "Piu' Lento"
+
+#~ msgid "Toggle Edit Mode"
+#~ msgstr "Modalità di modifica"
+
+#~ msgid " objects"
+#~ msgstr "oggetti"
+
+#~ msgid "No edit range defined"
+#~ msgstr "Nessun intervallo di modifica definito"
+
+#~ msgid ""
+#~ "the edit point is Selected Marker\n"
+#~ "but there is no selected marker."
+#~ msgstr ""
+#~ "Il punto di modifica è impostato sul marcatore selezionato\n"
+#~ "ma non c'è nessun marcatore selezionato."
+
+#~ msgid "Upper"
+#~ msgstr "Superiore"
+
+#~ msgid "Upper limit of ruler"
+#~ msgstr "Limite superiore del righello"
+
+#~ msgid "Position of mark on the ruler"
+#~ msgstr "Marcatore di posizione del righello "
+
+#~ msgid "Max Size"
+#~ msgstr "Dimensione massima"
+
+#~ msgid "Maximum size of the ruler"
+#~ msgstr "Dimensione massima del righello"
+
+#~ msgid "Show Position"
+#~ msgstr "Mostra posizione"
+
+#~ msgid "Draw current ruler position"
+#~ msgstr "Disegna la posizione corrente del righello"
+
+#~ msgid "cannot open pango.rc file %1"
+#~ msgstr "impossibile aprire il file pango.rc %1"
+
+#~ msgid "Missing File!"
+#~ msgstr "File mancante!"
+
+#~ msgid "lock"
+#~ msgstr "blocca"
+
+#~ msgid "custom"
+#~ msgstr "personalizzato"
+
+#~ msgid "isolated"
+#~ msgstr "isolato"
+
+#~ msgid "auditioning"
+#~ msgstr "Ascolto"
+
+#~ msgid "mute"
+#~ msgstr "muto"
+
+#~ msgid "Link selection of regions and tracks"
+#~ msgstr "Collega la selezione delle tracce e delle regioni"
+
+#~ msgid "x coordinate of upper left corner of rect"
+#~ msgstr "coordinata x dell'angolo superiore sinistro del rettangolo"
+
+#~ msgid "y coordinate of upper left corner of rect "
+#~ msgstr "coordinata y dell'angolo superiore sinistro del rettangolo"
+
+#~ msgid "x coordinate of lower right corner of rect"
+#~ msgstr "coordinata x dell'angolo inferiore destro del rettangolo"
+
+#~ msgid "y coordinate of lower right corner of rect "
+#~ msgstr "coordinata y dell'angolo inferiore destro del rettangolo"
+
+#~ msgid "color rgba"
+#~ msgstr "colre rgba"
+
+#~ msgid "color of line"
+#~ msgstr "colore della linea"
+
+#~ msgid "outline pixels"
+#~ msgstr "pixel di contorno"
+
+#~ msgid "width in pixels of outline"
+#~ msgstr "spessore in pixel del contorno"
+
+#~ msgid "outline what"
+#~ msgstr "cosa delineare"
+
+#~ msgid "fill"
+#~ msgstr "riempi"
+
+#~ msgid "fill rectangle"
+#~ msgstr "riempi il rettangolo"
+
+#~ msgid "draw"
+#~ msgstr "disegna"
+
+#~ msgid "draw rectangle"
+#~ msgstr "disegna rettangolo"
+
+#~ msgid "color of outline"
+#~ msgstr "colore del contorno"
+
+#~ msgid "fill color rgba"
+#~ msgstr "colore di riempimento rgba"
+
+#~ msgid "color of fill"
+#~ msgstr "colore del riempimento"
+
+#~ msgid "malformed URL passed to drag-n-drop code"
+#~ msgstr "URL non valido passato al codice drag-n-drop"
+
#~ msgid "Starting audio engine"
#~ msgstr "Avvio del motore audio"
@@ -12481,9 +12938,6 @@ msgstr ""
#~ msgid "Output device:"
#~ msgstr "Dispositivo di uscita"
-#~ msgid "Device"
-#~ msgstr "Dispositivo"
-
#~ msgid "Advanced"
#~ msgstr "Avanzate"
diff --git a/gtk2_ardour/po/nn.po b/gtk2_ardour/po/nn.po
index 8617a6908c..8a52b61418 100644
--- a/gtk2_ardour/po/nn.po
+++ b/gtk2_ardour/po/nn.po
@@ -3,11 +3,12 @@
# This file is distributed under the same license as the Ardour package.
# Eivind Ødegård <gingermig@yahoo.no>, 2010.
#
+#: engine_dialog.cc:558
msgid ""
msgstr ""
"Project-Id-Version: gtk2_ardour 3.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-11-05 11:11-0500\n"
+"POT-Creation-Date: 2014-09-04 19:07-0400\n"
"PO-Revision-Date: 2013-01-05 14:48+0100\n"
"Last-Translator: Eivind Ødegård <meinmycell-lists@yahoo.no>\n"
"Language-Team: <i18n-nn@lister.ping.uio.no>\n"
@@ -19,231 +20,235 @@ msgstr ""
"X-Poedit-Country: NORWAY\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
-#: about.cc:122
+#: about.cc:120
msgid "Brian Ahr"
msgstr "Brian Ahr"
-#: about.cc:123
+#: about.cc:121
msgid "John Anderson"
msgstr "John Anderson"
-#: about.cc:124
+#: about.cc:122
msgid "Marcus Andersson"
msgstr "Marcus Andersson"
-#: about.cc:125
+#: about.cc:123
msgid "Nedko Arnaudov"
msgstr "Nedko Arnaudov"
-#: about.cc:126
+#: about.cc:124
msgid "Hans Baier"
msgstr "Hans Baier"
-#: about.cc:127
+#: about.cc:125
msgid "Ben Bell"
msgstr "Ben Bell"
-#: about.cc:128
+#: about.cc:126
msgid "Sakari Bergen"
msgstr "Sakari Bergen"
-#: about.cc:129
+#: about.cc:127
+msgid "Christian Borss"
+msgstr ""
+
+#: about.cc:128
msgid "Chris Cannam"
msgstr "Chris Cannam"
-#: about.cc:130
+#: about.cc:129
msgid "Jesse Chappell"
msgstr "Jesse Chappell"
-#: about.cc:131
+#: about.cc:130
msgid "Thomas Charbonnel"
msgstr "Thomas Charbonnel"
-#: about.cc:132
+#: about.cc:131
msgid "Sam Chessman"
msgstr "Sam Chessman"
-#: about.cc:133
+#: about.cc:132
msgid "André Colomb"
msgstr "André Colomb"
-#: about.cc:134
+#: about.cc:133
msgid "Paul Davis"
msgstr "Paul Davis"
-#: about.cc:135
+#: about.cc:134
msgid "Gerard van Dongen"
msgstr "Gerard van Dongen"
-#: about.cc:136
+#: about.cc:135
msgid "Colin Fletcher"
msgstr "Colin Fletcher"
-#: about.cc:137
+#: about.cc:136
msgid "Dave Flick"
msgstr "Dave Flick"
-#: about.cc:138
+#: about.cc:137
msgid "Hans Fugal"
msgstr "Hans Fugal"
-#: about.cc:139
+#: about.cc:138
msgid "Robin Gareus"
msgstr "Robin Gareus"
-#: about.cc:140
+#: about.cc:139
msgid "Christopher George"
msgstr "Christopher George"
-#: about.cc:141
+#: about.cc:140
msgid "Chris Goddard"
msgstr "Chris Goddard"
-#: about.cc:142
+#: about.cc:141
msgid "J. Abelardo Gutierrez"
msgstr "J. Abelardo Gutierrez"
-#: about.cc:143
+#: about.cc:142
msgid "Jeremy Hall"
msgstr "Jeremy Hall"
-#: about.cc:144
+#: about.cc:143
msgid "Audun Halland"
msgstr "Audun Halland"
-#: about.cc:145
+#: about.cc:144
msgid "David Halter"
msgstr "David Halter"
-#: about.cc:146
+#: about.cc:145
msgid "Steve Harris"
msgstr "Steve Harris"
-#: about.cc:147
+#: about.cc:146
msgid "Melvin Ray Herr"
msgstr "Melvin Ray Herr"
-#: about.cc:148
+#: about.cc:147
msgid "Carl Hetherington"
msgstr "Carl Hetherington"
-#: about.cc:149
+#: about.cc:148
msgid "Rob Holland"
msgstr "Rob Holland"
-#: about.cc:150
+#: about.cc:149
msgid "Robert Jordens"
msgstr "Robert Jordens"
-#: about.cc:151
+#: about.cc:150
msgid "Stefan Kersten"
msgstr "Stefan Kersten"
-#: about.cc:152
+#: about.cc:151
msgid "Armand Klenk"
msgstr "Armand Klenk"
-#: about.cc:153
+#: about.cc:152
msgid "Julien de Kozak"
msgstr ""
-#: about.cc:154
+#: about.cc:153
msgid "Matt Krai"
msgstr "Matt Krai"
-#: about.cc:155
+#: about.cc:154
msgid "Nick Lanham"
msgstr "Nick Lanham"
-#: about.cc:156
+#: about.cc:155
msgid "Colin Law"
msgstr "Colin Law"
-#: about.cc:157
+#: about.cc:156
msgid "Joshua Leach"
msgstr "Joshua Leach"
-#: about.cc:158
+#: about.cc:157
msgid "Ben Loftis"
msgstr "Ben Loftis"
-#: about.cc:159
+#: about.cc:158
msgid "Nick Mainsbridge"
msgstr "Nick Mainsbridge"
-#: about.cc:160
+#: about.cc:159
msgid "Tim Mayberry"
msgstr "Tim Mayberry"
-#: about.cc:161
+#: about.cc:160
msgid "Doug Mclain"
msgstr "Doug Mclain"
-#: about.cc:162
+#: about.cc:161
msgid "Jack O'Quin"
msgstr "Jack O'Quin"
-#: about.cc:163
+#: about.cc:162
msgid "Nimal Ratnayake"
msgstr "Nimal Ratnayake"
-#: about.cc:164
+#: about.cc:163
msgid "David Robillard"
msgstr "David Robillard"
-#: about.cc:165
+#: about.cc:164
msgid "Taybin Rutkin"
msgstr "Taybin Rutkin"
-#: about.cc:166
+#: about.cc:165
msgid "Andreas Ruge"
msgstr "Andreas Ruge"
-#: about.cc:167
+#: about.cc:166
msgid "Sampo Savolainen"
msgstr "Sampo Savolainen"
-#: about.cc:168
+#: about.cc:167
msgid "Rodrigo Severo"
msgstr "Rodrigo Severo"
-#: about.cc:169
+#: about.cc:168
msgid "Per Sigmond"
msgstr "Per Sigmond"
-#: about.cc:170
+#: about.cc:169
msgid "Lincoln Spiteri"
msgstr "Lincoln Spiteri"
-#: about.cc:171
+#: about.cc:170
msgid "Mike Start"
msgstr "Mike Start"
-#: about.cc:172
+#: about.cc:171
msgid "Mark Stewart"
msgstr "Mark Stewart"
-#: about.cc:173
+#: about.cc:172
msgid "Roland Stigge"
msgstr "Roland Stigge"
-#: about.cc:174
+#: about.cc:173
msgid "Petter Sundlöf"
msgstr "Petter Sundlöf"
-#: about.cc:175
+#: about.cc:174
msgid "Mike Täht"
msgstr "Mike Täht"
-#: about.cc:176
+#: about.cc:175
msgid "Roy Vegard"
msgstr "Roy Vegard"
-#: about.cc:177
+#: about.cc:176
msgid "Thorsten Wilms"
msgstr "Thorsten Wilms"
-#: about.cc:182
+#: about.cc:181
msgid ""
"French:\n"
"\tAlain Fréhel <alain.frehel@free.fr>\n"
@@ -257,7 +262,7 @@ msgstr ""
"\tMartin Blanchard\n"
"\tRomain Arnaud <roming22@gmail.com>\n"
-#: about.cc:183
+#: about.cc:182
msgid ""
"German:\n"
"\tKarsten Petersen <kapet@kapet.de>\n"
@@ -269,7 +274,7 @@ msgid ""
"\tRobin Gloster <robin@loc-com.de>\n"
msgstr ""
-#: about.cc:190
+#: about.cc:189
msgid ""
"Italian:\n"
"\tFilippo Pappalardo <filippo@email.it>\n"
@@ -279,7 +284,7 @@ msgstr ""
"\tFilippo Pappalardo <filippo@email.it>\n"
"\tRaffaele Morelli <raffaele.morelli@gmail.com>\n"
-#: about.cc:191
+#: about.cc:190
msgid ""
"Portuguese:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
@@ -287,7 +292,7 @@ msgstr ""
"Portugisisk:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
-#: about.cc:192
+#: about.cc:191
msgid ""
"Brazilian Portuguese:\n"
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
@@ -297,7 +302,7 @@ msgstr ""
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
"\tChris Ross <chris@tebibyte.org>\n"
-#: about.cc:194
+#: about.cc:193
msgid ""
"Spanish:\n"
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
@@ -307,7 +312,7 @@ msgstr ""
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
"\tPablo Fernández <pablo.fbus@gmail.com>\n"
-#: about.cc:195
+#: about.cc:194
msgid ""
"Russian:\n"
"\t Igor Blinov <pitstop@nm.ru>\n"
@@ -317,7 +322,7 @@ msgstr ""
"\t Igor Blinov <pitstop@nm.ru>\n"
"\tAlexandre Prokoudine <alexandre.prokoudine@gmail.com>\n"
-#: about.cc:197
+#: about.cc:196
msgid ""
"Greek:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
@@ -325,7 +330,7 @@ msgstr ""
"Gresk:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
-#: about.cc:198
+#: about.cc:197
msgid ""
"Swedish:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
@@ -333,7 +338,7 @@ msgstr ""
"Svensk:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
-#: about.cc:199
+#: about.cc:198
msgid ""
"Polish:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
@@ -341,7 +346,7 @@ msgstr ""
"Polsk:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
-#: about.cc:200
+#: about.cc:199
msgid ""
"Czech:\n"
"\t Pavel Fric <pavelfric@seznam.cz>\n"
@@ -349,7 +354,7 @@ msgstr ""
"Tsjekkisk:\n"
"\t Pavel Frich <pavelfric@seznam.cz>\n"
-#: about.cc:201
+#: about.cc:200
msgid ""
"Norwegian:\n"
"\t Eivind Ødegård\n"
@@ -357,7 +362,7 @@ msgstr ""
"Norsk:\n"
"\t Eivind Ødegård <post@frilyd.tk>\n"
-#: about.cc:202
+#: about.cc:201
msgid ""
"Chinese:\n"
"\t Rui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
@@ -365,15 +370,15 @@ msgstr ""
"Kinesisk:\n"
"\t Rui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
-#: about.cc:580
+#: about.cc:581
msgid "Copyright (C) 1999-2013 Paul Davis\n"
msgstr ""
-#: about.cc:584
+#: about.cc:585
msgid "http://ardour.org/"
msgstr "http://ardour.org/"
-#: about.cc:585
+#: about.cc:586
msgid ""
"%1\n"
"(built from revision %2)"
@@ -381,105 +386,106 @@ msgstr ""
"%1\n"
"(bygd frå utgåve %2)"
-#: about.cc:589
+#: about.cc:590
msgid "Config"
msgstr "Oppsett"
-#: actions.cc:85
+#: actions.cc:84
msgid "Loading menus from %1"
msgstr "Lastar menyar frå %1"
-#: actions.cc:88 actions.cc:89
-msgid "badly formatted UI definition file: %1"
-msgstr "Feilformatert grensesnittdefinisjonsfil: %1"
+#: actions.cc:87 actions.cc:88
+msgid "badly formatted menu definition file: %1"
+msgstr ""
-#: actions.cc:91
+#: actions.cc:90
msgid "%1 menu definition file not found"
msgstr "Fann ikkje menydefinisjonsfila til %1"
-#: actions.cc:95 actions.cc:96
-msgid "%1 will not work without a valid ardour.menus file"
-msgstr "%1 verkar ikkje utan ei gyldig ardour.menus-fil"
+#: actions.cc:94 actions.cc:95
+msgid "%1 will not work without a valid menu definition file"
+msgstr ""
-#: add_route_dialog.cc:53 route_params_ui.cc:500
+#: add_route_dialog.cc:54 route_params_ui.cc:523
msgid "Add Track or Bus"
msgstr "Legg til spor eller buss"
-#: add_route_dialog.cc:56
+#: add_route_dialog.cc:57
msgid "Configuration:"
msgstr "Innstillingar:"
-#: add_route_dialog.cc:57
+#: add_route_dialog.cc:58
msgid "Track mode:"
msgstr "Spormodus:"
-#: add_route_dialog.cc:58
+#: add_route_dialog.cc:59
msgid "Instrument:"
msgstr "Instrument:"
-#: add_route_dialog.cc:76
+#: add_route_dialog.cc:78
msgid "Audio Tracks"
msgstr "Lydspor"
-#: add_route_dialog.cc:77
+#: add_route_dialog.cc:79
msgid "MIDI Tracks"
msgstr "MIDI-spor"
-#: add_route_dialog.cc:78
+#: add_route_dialog.cc:80
msgid "Audio+MIDI Tracks"
msgstr "Lyd+MIDI-spor"
-#: add_route_dialog.cc:79
+#: add_route_dialog.cc:81
msgid "Busses"
msgstr "Bussar"
-#: add_route_dialog.cc:101
+#: add_route_dialog.cc:103
msgid "Add:"
msgstr "Legg til:"
-#: add_route_dialog.cc:114 time_fx_dialog.cc:91 add_video_dialog.cc:150
-#: video_server_dialog.cc:112
+#: add_route_dialog.cc:116 time_fx_dialog.cc:91 add_video_dialog.cc:135
+#: video_server_dialog.cc:151
msgid "<b>Options</b>"
msgstr "<b>Val</b>"
-#: add_route_dialog.cc:124 bundle_manager.cc:192 region_editor.cc:50
-#: route_group_dialog.cc:65
+#: add_route_dialog.cc:126 bundle_manager.cc:193 region_editor.cc:49
+#: route_group_dialog.cc:71
msgid "Name:"
msgstr "Namn:"
-#: add_route_dialog.cc:154
+#: add_route_dialog.cc:156
msgid "Group:"
msgstr "Gruppe:"
-#: add_route_dialog.cc:215 add_route_dialog.cc:224 add_route_dialog.cc:298
-#: ardour_ui_ed.cc:476 engine_dialog.cc:236 rc_option_editor.cc:1446
-#: rc_option_editor.cc:1448 rc_option_editor.cc:1450 rc_option_editor.cc:1466
-#: rc_option_editor.cc:1468 rc_option_editor.cc:1476 rc_option_editor.cc:1478
-#: rc_option_editor.cc:1496 rc_option_editor.cc:1509 rc_option_editor.cc:1511
-#: rc_option_editor.cc:1513 rc_option_editor.cc:1544 rc_option_editor.cc:1546
-#: rc_option_editor.cc:1548 rc_option_editor.cc:1556 rc_option_editor.cc:1564
-#: rc_option_editor.cc:1572
+#: add_route_dialog.cc:217 add_route_dialog.cc:226 add_route_dialog.cc:300
+#: ardour_ui_ed.cc:523 engine_dialog.cc:235 rc_option_editor.cc:1710
+#: rc_option_editor.cc:1712 rc_option_editor.cc:1714 rc_option_editor.cc:1732
+#: rc_option_editor.cc:1734 rc_option_editor.cc:1742 rc_option_editor.cc:1744
+#: rc_option_editor.cc:1762 rc_option_editor.cc:1775 rc_option_editor.cc:1777
+#: rc_option_editor.cc:1779 rc_option_editor.cc:1810 rc_option_editor.cc:1812
+#: rc_option_editor.cc:1814 rc_option_editor.cc:1822 rc_option_editor.cc:1830
+#: rc_option_editor.cc:1832 rc_option_editor.cc:1840
msgid "Audio"
msgstr "Lyd"
-#: add_route_dialog.cc:216 add_route_dialog.cc:227 add_route_dialog.cc:299
-#: editor_actions.cc:105 missing_file_dialog.cc:55 rc_option_editor.cc:1695
-#: rc_option_editor.cc:1703 rc_option_editor.cc:1711 rc_option_editor.cc:1720
-#: rc_option_editor.cc:1728 rc_option_editor.cc:1736 rc_option_editor.cc:1744
-#: rc_option_editor.cc:1753 rc_option_editor.cc:1762 rc_option_editor.cc:1771
-#: rc_option_editor.cc:1779 rc_option_editor.cc:1787
+#: add_route_dialog.cc:218 add_route_dialog.cc:229 add_route_dialog.cc:301
+#: editor_actions.cc:109 engine_dialog.cc:237 missing_file_dialog.cc:56
+#: rc_option_editor.cc:1975 rc_option_editor.cc:1983 rc_option_editor.cc:1991
+#: rc_option_editor.cc:2000 rc_option_editor.cc:2008 rc_option_editor.cc:2016
+#: rc_option_editor.cc:2024 rc_option_editor.cc:2033 rc_option_editor.cc:2042
+#: rc_option_editor.cc:2051 rc_option_editor.cc:2059 rc_option_editor.cc:2067
+#: rc_option_editor.cc:2075 rc_option_editor.cc:2098
msgid "MIDI"
msgstr "MIDI"
-#: add_route_dialog.cc:217 add_route_dialog.cc:230 add_route_dialog.cc:300
+#: add_route_dialog.cc:219 add_route_dialog.cc:232 add_route_dialog.cc:302
msgid "Audio+MIDI"
msgstr "Lyd+MIDI"
-#: add_route_dialog.cc:218 add_route_dialog.cc:233 add_route_dialog.cc:301
+#: add_route_dialog.cc:220 add_route_dialog.cc:235 add_route_dialog.cc:303
msgid "Bus"
msgstr "Buss"
-#: add_route_dialog.cc:260
+#: add_route_dialog.cc:262
msgid ""
"Audio+MIDI tracks are intended for use <b>ONLY</b> with plugins that use "
"both audio and MIDI input data\n"
@@ -493,64 +499,64 @@ msgstr ""
"Viss du ikkje planlegg å bruka slike utvidingar, bør du bruka eit vanleg "
"lyd- eller MIDI-spor i staden."
-#: add_route_dialog.cc:319 add_route_dialog.cc:338 editor_actions.cc:385
-#: editor_rulers.cc:377 time_axis_view.cc:1305
+#: add_route_dialog.cc:321 add_route_dialog.cc:340 editor_actions.cc:420
+#: editor_rulers.cc:251 time_axis_view.cc:1339
msgid "Normal"
msgstr "Normal"
-#: add_route_dialog.cc:322 add_route_dialog.cc:340
+#: add_route_dialog.cc:324 add_route_dialog.cc:342
msgid "Non Layered"
msgstr "Ikkje lagdelt"
-#: add_route_dialog.cc:323 add_route_dialog.cc:342
+#: add_route_dialog.cc:325 add_route_dialog.cc:344
msgid "Tape"
msgstr "Band"
-#: add_route_dialog.cc:423
+#: add_route_dialog.cc:425 monitor_section.cc:291
msgid "Mono"
msgstr "Mono"
-#: add_route_dialog.cc:427
+#: add_route_dialog.cc:429
msgid "Stereo"
msgstr "Stereo"
-#: add_route_dialog.cc:451
+#: add_route_dialog.cc:453
msgid "3 Channel"
msgstr "3 kanalar"
-#: add_route_dialog.cc:455
+#: add_route_dialog.cc:457
msgid "4 Channel"
msgstr "4 kanalar"
-#: add_route_dialog.cc:459
+#: add_route_dialog.cc:461
msgid "5 Channel"
msgstr "5 kanalar"
-#: add_route_dialog.cc:463
+#: add_route_dialog.cc:465
msgid "6 Channel"
msgstr "6 kanalar"
-#: add_route_dialog.cc:467
+#: add_route_dialog.cc:469
msgid "8 Channel"
msgstr "8 kanalar"
-#: add_route_dialog.cc:471
+#: add_route_dialog.cc:473
msgid "12 Channel"
msgstr "12 kanalar"
-#: add_route_dialog.cc:475 mixer_strip.cc:2131
+#: add_route_dialog.cc:477 mixer_strip.cc:1791 mixer_strip.cc:2199
msgid "Custom"
msgstr "Eigen"
-#: add_route_dialog.cc:508 add_route_dialog.cc:524 route_group_menu.cc:81
+#: add_route_dialog.cc:510 add_route_dialog.cc:526 route_group_menu.cc:81
msgid "New Group..."
msgstr "Ny gruppe..."
-#: add_route_dialog.cc:512 route_group_menu.cc:85
+#: add_route_dialog.cc:514 route_group_menu.cc:85
msgid "No Group"
msgstr "Inga gruppe"
-#: add_route_dialog.cc:588
+#: add_route_dialog.cc:590
msgid "-none-"
msgstr "-ingen-"
@@ -574,7 +580,7 @@ msgstr ""
"\n"
"Vel kva stig du vil henta fila frå."
-#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:45
+#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:46
msgid "Done"
msgstr "Ferdig"
@@ -614,17 +620,17 @@ msgstr "Normaliser verdiar"
msgid "FFT analysis window"
msgstr "FFT-analyserute"
-#: analysis_window.cc:60 editor.cc:1857
+#: analysis_window.cc:60 editor.cc:1776
msgid "Spectral Analysis"
msgstr "Spektrumanalyse"
-#: analysis_window.cc:67 editor_actions.cc:138 export_channel_selector.cc:557
+#: analysis_window.cc:67 editor_actions.cc:142 export_channel_selector.cc:557
#: session_metadata_dialog.cc:546
msgid "Track"
msgstr "Spor"
-#: analysis_window.cc:68 editor_actions.cc:616 mixer_ui.cc:125
-#: mixer_ui.cc:1795
+#: analysis_window.cc:68 editor_actions.cc:658 mixer_ui.cc:130
+#: mixer_ui.cc:1830
msgid "Show"
msgstr "Vis"
@@ -632,90 +638,96 @@ msgstr "Vis"
msgid "Re-analyze data"
msgstr "Analyser data på nytt"
-#: ardour_button.cc:704
+#: ardour_button.cc:810
msgid "button cannot watch state of non-existing Controllable\n"
msgstr "knappen kan ikkje overvaka status for ikkje-eksisterande kontroll\n"
-#: ardour_ui.cc:180
-msgid "audition"
-msgstr "lytting"
+#: ardour_button.cc:1024
+msgid "ABCDEFGHIJLKMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
+msgstr ""
+
+#: ardour_ui.cc:194 editor_actions.cc:652 region_editor.cc:50
+msgid "Audition"
+msgstr "Lytt"
-#: ardour_ui.cc:181
-msgid "solo"
-msgstr "solo"
+#: ardour_ui.cc:195 editor_actions.cc:136 mixer_strip.cc:1971
+#: rc_option_editor.cc:1850 route_time_axis.cc:252 route_time_axis.cc:2566
+msgid "Solo"
+msgstr "Solo"
-#: ardour_ui.cc:182
-msgid "feedback"
-msgstr "feedback"
+#: ardour_ui.cc:196 rc_option_editor.cc:718
+msgid "Feedback"
+msgstr "Tilbakeføring"
-#: ardour_ui.cc:187 speaker_dialog.cc:36
+#: ardour_ui.cc:201 speaker_dialog.cc:36
msgid "Speaker Configuration"
msgstr "Høgtalaroppsett"
-#: ardour_ui.cc:188 theme_manager.cc:56 theme_manager.cc:64
+#: ardour_ui.cc:202 theme_manager.cc:62 theme_manager.cc:77
msgid "Theme Manager"
msgstr "Temabehandlar"
-#: ardour_ui.cc:189 keyeditor.cc:53
+#: ardour_ui.cc:203 keyeditor.cc:53
msgid "Key Bindings"
msgstr "Snøggtastar"
-#: ardour_ui.cc:190
+#: ardour_ui.cc:204
msgid "Preferences"
msgstr "Innstillingar"
-#: ardour_ui.cc:191 ardour_ui.cc:197
+#: ardour_ui.cc:205 ardour_ui.cc:211
msgid "Add Tracks/Busses"
msgstr ""
-#: ardour_ui.cc:192
+#: ardour_ui.cc:206
msgid "About"
msgstr "Om"
-#: ardour_ui.cc:193 location_ui.cc:1146
+#: ardour_ui.cc:207 location_ui.cc:1148 session_option_editor.cc:189
+#: session_option_editor.cc:195 session_option_editor.cc:202
msgid "Locations"
msgstr "Stader"
-#: ardour_ui.cc:194 route_params_ui.cc:58 route_params_ui.cc:606
+#: ardour_ui.cc:208 route_params_ui.cc:58 route_params_ui.cc:629
msgid "Tracks and Busses"
msgstr "Spor og bussar"
-#: ardour_ui.cc:195 engine_dialog.cc:67
+#: ardour_ui.cc:209 engine_dialog.cc:69
msgid "Audio/MIDI Setup"
msgstr ""
-#: ardour_ui.cc:196
+#: ardour_ui.cc:210
msgid "Properties"
msgstr "Eigenskapar"
-#: ardour_ui.cc:198 bundle_manager.cc:263
+#: ardour_ui.cc:212 bundle_manager.cc:264
msgid "Bundle Manager"
msgstr "Bundelordnar"
-#: ardour_ui.cc:199 big_clock_window.cc:35
+#: ardour_ui.cc:213 big_clock_window.cc:37
msgid "Big Clock"
msgstr "Stor klokke"
-#: ardour_ui.cc:200
+#: ardour_ui.cc:214
msgid "Audio Connections"
msgstr ""
-#: ardour_ui.cc:201
+#: ardour_ui.cc:215
msgid "MIDI Connections"
msgstr ""
-#: ardour_ui.cc:203
+#: ardour_ui.cc:217
msgid "Errors"
msgstr "Feil"
-#: ardour_ui.cc:436
+#: ardour_ui.cc:461
msgid ""
"The audio backend was shutdown because:\n"
"\n"
"%1"
msgstr ""
-#: ardour_ui.cc:438
+#: ardour_ui.cc:463
msgid ""
"The audio backend has either been shutdown or it\n"
"disconnected %1 because %1\n"
@@ -723,27 +735,27 @@ msgid ""
"the audio backend and save the session."
msgstr ""
-#: ardour_ui.cc:758
+#: ardour_ui.cc:781
msgid "NSM server did not announce itself"
msgstr ""
-#: ardour_ui.cc:771
+#: ardour_ui.cc:794
msgid "NSM: no client ID provided"
msgstr ""
-#: ardour_ui.cc:778
+#: ardour_ui.cc:801
msgid "NSM: no session created"
msgstr ""
-#: ardour_ui.cc:801
+#: ardour_ui.cc:824
msgid "NSM: initialization failed"
msgstr ""
-#: ardour_ui.cc:840 startup.cc:379
+#: ardour_ui.cc:864 startup.cc:380
msgid "%1 is ready for use"
msgstr "%1 er klar til bruk"
-#: ardour_ui.cc:882
+#: ardour_ui.cc:906
msgid ""
"WARNING: Your system has a limit for maximum amount of locked memory. This "
"might cause %1 to run out of memory before your system runs out of memory. \n"
@@ -757,23 +769,23 @@ msgstr ""
"Du kan finna ut kva minnegrensa er med 'ulimit -l'. Minnegrensa er vanlegvis "
"kontrollert av %2"
-#: ardour_ui.cc:899
+#: ardour_ui.cc:923
msgid "Do not show this window again"
msgstr "Ikkje vis denne ruta att"
-#: ardour_ui.cc:943
+#: ardour_ui.cc:967
msgid "Don't quit"
msgstr "Ikkje avslutt"
-#: ardour_ui.cc:944
+#: ardour_ui.cc:968
msgid "Just quit"
msgstr "Berre avslutt"
-#: ardour_ui.cc:945
+#: ardour_ui.cc:969
msgid "Save and quit"
msgstr "Lagra og avslutt"
-#: ardour_ui.cc:955
+#: ardour_ui.cc:979
msgid ""
"%1 was unable to save your session.\n"
"\n"
@@ -787,15 +799,11 @@ msgstr ""
"\n"
"\"Berre avslutt\"-alternativet."
-#: ardour_ui.cc:986
-msgid "Please wait while %1 cleans up..."
-msgstr "Vent medan %1 ryddar opp..."
-
-#: ardour_ui.cc:1004
+#: ardour_ui.cc:1030
msgid "Unsaved Session"
msgstr "Ulagra økt"
-#: ardour_ui.cc:1025
+#: ardour_ui.cc:1051
msgid ""
"The session \"%1\"\n"
"has not been saved.\n"
@@ -813,7 +821,7 @@ msgstr ""
"\n"
"Kva vil du gjera?"
-#: ardour_ui.cc:1028
+#: ardour_ui.cc:1054
msgid ""
"The snapshot \"%1\"\n"
"has not been saved.\n"
@@ -831,75 +839,75 @@ msgstr ""
"\n"
"Kva vil du gjera?"
-#: ardour_ui.cc:1042
+#: ardour_ui.cc:1068
msgid "Prompter"
msgstr "Spørsmål"
-#: ardour_ui.cc:1128 ardour_ui.cc:1136
+#: ardour_ui.cc:1182 ardour_ui.cc:1190
#, c-format
msgid "Audio: <span foreground=\"red\">none</span>"
msgstr ""
-#: ardour_ui.cc:1140
+#: ardour_ui.cc:1194
#, c-format
msgid "Audio: <span foreground=\"green\">%.1f kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1144
+#: ardour_ui.cc:1198
#, c-format
msgid "Audio: <span foreground=\"green\">%<PRId64> kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1162 export_video_dialog.cc:67
+#: ardour_ui.cc:1216 export_video_dialog.cc:68
msgid "File:"
msgstr "Fil:"
-#: ardour_ui.cc:1166
+#: ardour_ui.cc:1220
msgid "BWF"
msgstr "BWF"
-#: ardour_ui.cc:1169
+#: ardour_ui.cc:1223
msgid "WAV"
msgstr "WAV"
-#: ardour_ui.cc:1172
+#: ardour_ui.cc:1226
msgid "WAV64"
msgstr "WAV64"
-#: ardour_ui.cc:1175 session_option_editor.cc:197
+#: ardour_ui.cc:1229 session_option_editor.cc:185
msgid "CAF"
msgstr "CAF"
-#: ardour_ui.cc:1178
+#: ardour_ui.cc:1232
msgid "AIFF"
msgstr "AIFF"
-#: ardour_ui.cc:1181
+#: ardour_ui.cc:1235
msgid "iXML"
msgstr "iXML"
-#: ardour_ui.cc:1184
+#: ardour_ui.cc:1238
msgid "RF64"
msgstr "RF64"
-#: ardour_ui.cc:1192
+#: ardour_ui.cc:1246
msgid "32-float"
msgstr "32-flyt"
-#: ardour_ui.cc:1195
+#: ardour_ui.cc:1249
msgid "24-int"
msgstr "24-heiltal"
-#: ardour_ui.cc:1198
+#: ardour_ui.cc:1252
msgid "16-int"
msgstr "16-heiltal"
-#: ardour_ui.cc:1217
+#: ardour_ui.cc:1271
#, c-format
msgid "DSP: <span foreground=\"%s\">%5.1f%%</span>"
msgstr "DSP: <span foreground=\"%s\">%5.1f%%</span>"
-#: ardour_ui.cc:1236
+#: ardour_ui.cc:1290
#, c-format
msgid ""
"Buffers: <span foreground=\"green\">p:</span><span foreground=\"%s\">"
@@ -910,91 +918,87 @@ msgstr ""
"%%</span> <span foreground=\"green\">c:</span><span foreground=\"%s\">"
"%<PRIu32>%%</span>"
-#: ardour_ui.cc:1277
+#: ardour_ui.cc:1331
msgid "Disk: <span foreground=\"green\">Unknown</span>"
msgstr "Disk: <span foreground=\"green\">Ukjent</span>"
-#: ardour_ui.cc:1279
+#: ardour_ui.cc:1333
msgid "Disk: <span foreground=\"green\">24hrs+</span>"
msgstr "Disk: <span foreground=\"green\">24t+</span>"
-#: ardour_ui.cc:1297
+#: ardour_ui.cc:1351
msgid "Disk: <span foreground=\"green\">&gt;24 hrs</span>"
msgstr "Disk: <span foreground=\"green\">&gt;24t</span>"
-#: ardour_ui.cc:1308
+#: ardour_ui.cc:1362
#, c-format
msgid "Disk: <span foreground=\"%s\">%02dh:%02dm:%02ds</span>"
msgstr "Disk: <span foreground=\"%s\">%02dt:%02dm:%02ds</span>"
-#: ardour_ui.cc:1334
+#: ardour_ui.cc:1388
#, c-format
msgid "Timecode|TC: <span foreground=\"%s\">%s</span>"
msgstr "Tidskode|TC: <span foreground=\"%s\">%s</span>"
-#: ardour_ui.cc:1451 ardour_ui.cc:1460 session_dialog.cc:322
-#: session_dialog.cc:327
+#: ardour_ui.cc:1509 ardour_ui.cc:1518 session_dialog.cc:326
+#: session_dialog.cc:331
msgid "Recent Sessions"
msgstr "Siste øktene"
-#: ardour_ui.cc:1539
+#: ardour_ui.cc:1597
msgid ""
"%1 is not connected to any audio backend.\n"
"You cannot open or close sessions in this condition"
msgstr ""
-#: ardour_ui.cc:1563
+#: ardour_ui.cc:1621
msgid "Open Session"
msgstr "Opna økt"
-#: ardour_ui.cc:1588 session_dialog.cc:353 session_import_dialog.cc:169
+#: ardour_ui.cc:1646 session_dialog.cc:357 session_import_dialog.cc:169
#: session_metadata_dialog.cc:729
msgid "%1 sessions"
msgstr "%1 økter"
-#: ardour_ui.cc:1625
+#: ardour_ui.cc:1683
msgid "You cannot add a track without a session already loaded."
msgstr ""
"Du kan ikkje leggja til eit spor eller ein buss når du ikkje har ei økt "
"innlasta."
-#: ardour_ui.cc:1633
+#: ardour_ui.cc:1691
msgid "could not create %1 new mixed track"
msgid_plural "could not create %1 new mixed tracks"
msgstr[0] "greidde ikkje laga %1 nye miksa spor"
msgstr[1] "ugreidde ikkje laga %1 nye miksa spor"
-#: ardour_ui.cc:1639 ardour_ui.cc:1700
+#: ardour_ui.cc:1697 ardour_ui.cc:1758
msgid ""
-"There are insufficient JACK ports available\n"
+"There are insufficient ports available\n"
"to create a new track or bus.\n"
"You should save %1, exit and\n"
-"restart JACK with more ports."
+"restart with more ports."
msgstr ""
-"Det er ikkje nok JACK-portar til\n"
-"Ã¥ laga eit nytt spor eller ein ny buss.\n"
-"Du bør lagra %1, avslutta og starta\n"
-"omatt JACK med fleire portar."
-#: ardour_ui.cc:1674
+#: ardour_ui.cc:1732
msgid "You cannot add a track or bus without a session already loaded."
msgstr ""
"Du kan ikkje leggja til eit spor eller ein buss når du ikkje har ei økt "
"innlasta."
-#: ardour_ui.cc:1683
+#: ardour_ui.cc:1741
msgid "could not create %1 new audio track"
msgid_plural "could not create %1 new audio tracks"
msgstr[0] "greidde ikkje laga nytt lydspor"
msgstr[1] "greidde ikkje laga %1 nye lydspor"
-#: ardour_ui.cc:1692
+#: ardour_ui.cc:1750
msgid "could not create %1 new audio bus"
msgid_plural "could not create %1 new audio busses"
msgstr[0] "greidde ikkje laga ny lydbuss"
msgstr[1] "greidde ikkje laga %1 nye lydbussar"
-#: ardour_ui.cc:1816
+#: ardour_ui.cc:1903
msgid ""
"Please create one or more tracks before trying to record.\n"
"You can do this with the \"Add Track or Bus\" option in the Session menu."
@@ -1002,15 +1006,23 @@ msgstr ""
"Lag eitt eller fleire spor før du prøver å ta opp.\n"
"Du kan gjera det med «Legg til spor eller buss» i økt-menyen."
-#: ardour_ui.cc:2193
+#: ardour_ui.cc:2312
+msgid "Save as..."
+msgstr ""
+
+#: ardour_ui.cc:2313 ardour_ui.cc:2392
+msgid "New session name"
+msgstr "Nytt øktnamn"
+
+#: ardour_ui.cc:2315
msgid "Take Snapshot"
msgstr "Ta snøggbilete"
-#: ardour_ui.cc:2194
+#: ardour_ui.cc:2316
msgid "Name of new snapshot"
msgstr "Namn på det nye snøggbiletet"
-#: ardour_ui.cc:2218
+#: ardour_ui.cc:2341
msgid ""
"To ensure compatibility with various systems\n"
"snapshot names may not contain a '%1' character"
@@ -1018,27 +1030,23 @@ msgstr ""
"For å tryggja kompatibiliteten med ymse system,\n"
"kan ikkje namn på snøggbilete innehalda teiknet '%1'"
-#: ardour_ui.cc:2230
+#: ardour_ui.cc:2353
msgid "Confirm Snapshot Overwrite"
msgstr "Stadfest at du vil skriva over snøggbilete"
-#: ardour_ui.cc:2231
+#: ardour_ui.cc:2354
msgid "A snapshot already exists with that name. Do you want to overwrite it?"
msgstr "Dette snøggbiletet finst frå før. Vil du skriva over det?"
-#: ardour_ui.cc:2234 utils_videotl.cc:67
+#: ardour_ui.cc:2357 utils_videotl.cc:67
msgid "Overwrite"
msgstr "Skriv over"
-#: ardour_ui.cc:2268
+#: ardour_ui.cc:2391
msgid "Rename Session"
msgstr "Døyp om økt"
-#: ardour_ui.cc:2269
-msgid "New session name"
-msgstr "Nytt øktnamn"
-
-#: ardour_ui.cc:2283 ardour_ui.cc:2684 ardour_ui.cc:2722
+#: ardour_ui.cc:2406 ardour_ui.cc:2814 ardour_ui.cc:2852
msgid ""
"To ensure compatibility with various systems\n"
"session names may not contain a '%1' character"
@@ -1046,12 +1054,12 @@ msgstr ""
"For å tryggja kompatibiliteten med ymse system,\n"
"kan ikkje namn på økter innehalda teiknet '%1'"
-#: ardour_ui.cc:2291
+#: ardour_ui.cc:2414
msgid ""
"That name is already in use by another directory/folder. Please try again."
msgstr "Dette namnet er alt i bruk på ei anna mappe. Prøv på nytt."
-#: ardour_ui.cc:2300
+#: ardour_ui.cc:2423
msgid ""
"Renaming this session failed.\n"
"Things could be seriously messed up at this point"
@@ -1059,19 +1067,19 @@ msgstr ""
"Fekk ikkje til å døypa om denne økta.\n"
"Her kan det vera noko skikkeleg rot."
-#: ardour_ui.cc:2411
+#: ardour_ui.cc:2534
msgid "Save Template"
msgstr "Lagra mal"
-#: ardour_ui.cc:2412
+#: ardour_ui.cc:2535
msgid "Name for template:"
msgstr "Namn på malen:"
-#: ardour_ui.cc:2413
+#: ardour_ui.cc:2536
msgid "-template"
msgstr "-mal"
-#: ardour_ui.cc:2451
+#: ardour_ui.cc:2574
msgid ""
"This session\n"
"%1\n"
@@ -1081,59 +1089,59 @@ msgstr ""
"%1,\n"
"finst frå før. Vil du opna henne?"
-#: ardour_ui.cc:2461
+#: ardour_ui.cc:2584
msgid "Open Existing Session"
msgstr "Opna økt"
-#: ardour_ui.cc:2712
+#: ardour_ui.cc:2842
msgid "There is no existing session at \"%1\""
msgstr "Det finst inga økt i \"%1\""
-#: ardour_ui.cc:2804
+#: ardour_ui.cc:2934
msgid "Please wait while %1 loads your session"
msgstr "Vent medan %1 lastar økta di"
-#: ardour_ui.cc:2819
+#: ardour_ui.cc:2949
msgid "Port Registration Error"
msgstr "Feil ved portregistrering"
-#: ardour_ui.cc:2820
+#: ardour_ui.cc:2950
msgid "Click the Close button to try again."
msgstr "Klikk på Lukk for å prøva att."
-#: ardour_ui.cc:2841
+#: ardour_ui.cc:2971
msgid "Session \"%1 (snapshot %2)\" did not load successfully"
msgstr "Økta \"%1 (snøggbilete %2)\" vart ikkje lasta"
-#: ardour_ui.cc:2848
+#: ardour_ui.cc:2978
msgid "Loading Error"
msgstr "Feil ved lasting"
-#: ardour_ui.cc:2867
+#: ardour_ui.cc:2997
msgid ""
"This session has been opened in read-only mode.\n"
"\n"
"You will not be able to record or save."
msgstr ""
-#: ardour_ui.cc:2873
+#: ardour_ui.cc:3003
msgid "Read-only Session"
msgstr ""
-#: ardour_ui.cc:2931
+#: ardour_ui.cc:3069
msgid "Could not create session in \"%1\""
msgstr "Greidde ikkje laga økt i \"%1\""
-#: ardour_ui.cc:3031
+#: ardour_ui.cc:3169
msgid "No files were ready for clean-up"
msgstr "Ingen filer var klare for rydding"
-#: ardour_ui.cc:3035 ardour_ui.cc:3045 ardour_ui.cc:3178 ardour_ui.cc:3185
-#: ardour_ui_ed.cc:104
+#: ardour_ui.cc:3173 ardour_ui.cc:3183 ardour_ui.cc:3316 ardour_ui.cc:3323
+#: ardour_ui_ed.cc:103
msgid "Clean-up"
msgstr "Opprydding"
-#: ardour_ui.cc:3036
+#: ardour_ui.cc:3174
msgid ""
"If this seems suprising, \n"
"check for any existing snapshots.\n"
@@ -1145,19 +1153,19 @@ msgstr ""
"Det kan hende dei inneheld bolkar\n"
"som treng ubrukte lydfiler for å eksistera."
-#: ardour_ui.cc:3095
+#: ardour_ui.cc:3233
msgid "kilo"
msgstr "kilo"
-#: ardour_ui.cc:3098
+#: ardour_ui.cc:3236
msgid "mega"
msgstr "mega"
-#: ardour_ui.cc:3101
+#: ardour_ui.cc:3239
msgid "giga"
msgstr "giga"
-#: ardour_ui.cc:3106
+#: ardour_ui.cc:3244
msgid ""
"The following file was deleted from %2,\n"
"releasing %3 %4bytes of disk space"
@@ -1167,7 +1175,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:3113
+#: ardour_ui.cc:3251
msgid ""
"The following file was not in use and \n"
"has been moved to: %2\n"
@@ -1189,11 +1197,11 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:3173
+#: ardour_ui.cc:3311
msgid "Are you sure you want to clean-up?"
msgstr "Er du sikker på at du vil rydda opp?"
-#: ardour_ui.cc:3180
+#: ardour_ui.cc:3318
msgid ""
"Clean-up is a destructive operation.\n"
"ALL undo/redo information will be lost if you clean-up.\n"
@@ -1203,80 +1211,79 @@ msgstr ""
"ALL angra- og gjer om-informasjon blir sletta om du ryddar.\n"
"Etter opprydding blir alle ubrukte lydfiler flytte til ei \"daudlyd\"-mappe."
-#: ardour_ui.cc:3188
+#: ardour_ui.cc:3326
msgid "CleanupDialog"
msgstr "Ryddedialog"
-#: ardour_ui.cc:3218
+#: ardour_ui.cc:3356
msgid "Cleaned Files"
msgstr "Rydda filer"
-#: ardour_ui.cc:3235
+#: ardour_ui.cc:3373
msgid "deleted file"
msgstr "sletta fil"
-#: ardour_ui.cc:3381
-msgid ""
-"Video-Server was not launched by Ardour. The request to stop it is ignored."
+#: ardour_ui.cc:3512
+msgid "Video-Server was not launched by %1. The request to stop it is ignored."
msgstr ""
-#: ardour_ui.cc:3385
+#: ardour_ui.cc:3516
msgid "Stop Video-Server"
msgstr ""
-#: ardour_ui.cc:3386
+#: ardour_ui.cc:3517
msgid "Do you really want to stop the Video Server?"
msgstr ""
-#: ardour_ui.cc:3389
+#: ardour_ui.cc:3520
msgid "Yes, Stop It"
msgstr ""
-#: ardour_ui.cc:3415
+#: ardour_ui.cc:3546
msgid "The Video Server is already started."
msgstr ""
-#: ardour_ui.cc:3417
+#: ardour_ui.cc:3548
msgid ""
"An external Video Server is configured and can be reached. Not starting a "
"new instance."
msgstr ""
-#: ardour_ui.cc:3425 ardour_ui.cc:3515
+#: ardour_ui.cc:3556 ardour_ui.cc:3655
msgid ""
"Could not connect to the Video Server. Start it or configure its access URL "
"in Edit -> Preferences."
msgstr ""
-#: ardour_ui.cc:3449
+#: ardour_ui.cc:3580
msgid "Specified docroot is not an existing directory."
msgstr ""
-#: ardour_ui.cc:3454
+#: ardour_ui.cc:3586 ardour_ui.cc:3592
msgid "Given Video Server is not an executable file."
msgstr ""
-#: ardour_ui.cc:3487
+#: ardour_ui.cc:3626
msgid "Cannot launch the video-server"
msgstr ""
-#: ardour_ui.cc:3496
+#: ardour_ui.cc:3636
msgid "Video-server was started but does not respond to requests..."
msgstr ""
-#: ardour_ui.cc:3541 editor_audio_import.cc:632
+#: ardour_ui.cc:3681 editor_audio_import.cc:628
msgid "could not open %1"
msgstr "greidde ikkje opna %1"
-#: ardour_ui.cc:3545
+#: ardour_ui.cc:3685
msgid "no video-file selected"
msgstr ""
-#: ardour_ui.cc:3717
+#: ardour_ui.cc:3858
msgid "Recording was stopped because your system could not keep up."
msgstr "Opptaket stoppa fordi datamaskina di ikkje greidde å henga med."
-#: ardour_ui.cc:3746
+#: ardour_ui.cc:3887
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1290,7 +1297,23 @@ msgstr ""
"Det tyder at harddisksystemet ditt ikkje\n"
"greidde lagra raskt nok til å ta opp.\n"
-#: ardour_ui.cc:3765
+#: ardour_ui.cc:3957
+msgid "Scanning for plugins"
+msgstr ""
+
+#: ardour_ui.cc:3959
+msgid "Cancel plugin scan"
+msgstr ""
+
+#: ardour_ui.cc:3968
+msgid "Stop Timeout"
+msgstr ""
+
+#: ardour_ui.cc:3975
+msgid "Scan Timeout"
+msgstr ""
+
+#: ardour_ui.cc:4016
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1304,11 +1327,11 @@ msgstr ""
"Det tyder at harddisksystemet ditt ikkje\n"
"greidde lesa raskt nok til å spela av.\n"
-#: ardour_ui.cc:3805
+#: ardour_ui.cc:4056
msgid "Crash Recovery"
msgstr "Gjenoppretting etter krasj"
-#: ardour_ui.cc:3806
+#: ardour_ui.cc:4057
msgid ""
"This session appears to have been in the\n"
"middle of recording when %1 or\n"
@@ -1319,19 +1342,19 @@ msgid ""
"what you would like to do.\n"
msgstr ""
-#: ardour_ui.cc:3818
+#: ardour_ui.cc:4069
msgid "Ignore crash data"
msgstr "Sjå bort frå krasjdata"
-#: ardour_ui.cc:3819
+#: ardour_ui.cc:4070
msgid "Recover from crash"
msgstr "Hent fram att etter krasj"
-#: ardour_ui.cc:3839
+#: ardour_ui.cc:4090
msgid "Sample Rate Mismatch"
msgstr "Punktfrekvensen passar ikkje"
-#: ardour_ui.cc:3840
+#: ardour_ui.cc:4091
msgid ""
"This session was created with a sample rate of %1 Hz, but\n"
"%2 is currently running at %3 Hz. If you load this session,\n"
@@ -1341,23 +1364,23 @@ msgstr ""
"%2 køyrer på %3 Hz nett no. Viss du lastar denne økta,\n"
"kan det henda lyden blir spelt med feil punktfrekvens.\n"
-#: ardour_ui.cc:3849
+#: ardour_ui.cc:4100
msgid "Do not load session"
msgstr "Ikkje last økta"
-#: ardour_ui.cc:3850
+#: ardour_ui.cc:4101
msgid "Load session anyway"
msgstr "Last økta likevel"
-#: ardour_ui.cc:3877
+#: ardour_ui.cc:4128
msgid "Could not disconnect from Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:3893 ardour_ui.cc:3896
+#: ardour_ui.cc:4144 ardour_ui.cc:4147
msgid "Could not reconnect to the Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:4172
+#: ardour_ui.cc:4431
msgid ""
"%4This is a session from an older version of %3%5\n"
"\n"
@@ -1372,70 +1395,70 @@ msgid ""
"From now on, use the -2000 version with older versions of %3"
msgstr ""
-#: ardour_ui2.cc:72
+#: ardour_ui2.cc:73
msgid "UI: cannot setup editor"
msgstr "Grensesnitt: Greier ikkje setja opp redigeringa"
-#: ardour_ui2.cc:77
+#: ardour_ui2.cc:78
msgid "UI: cannot setup mixer"
msgstr "Grensesnitt: Greier ikkje setja opp miksaren"
-#: ardour_ui2.cc:82
+#: ardour_ui2.cc:83
msgid "UI: cannot setup meterbridge"
msgstr ""
-#: ardour_ui2.cc:130
+#: ardour_ui2.cc:131
msgid "Play from playhead"
msgstr "Spel frå spelehovudet"
-#: ardour_ui2.cc:131
+#: ardour_ui2.cc:132
msgid "Stop playback"
msgstr "Stopp avspelinga"
-#: ardour_ui2.cc:132
+#: ardour_ui2.cc:133
msgid "Toggle record"
msgstr "Skru på/av opptak"
-#: ardour_ui2.cc:133
+#: ardour_ui2.cc:134
msgid "Play range/selection"
msgstr "Spel område/utval"
-#: ardour_ui2.cc:134
+#: ardour_ui2.cc:135
msgid "Go to start of session"
msgstr "Gå til starten av økta"
-#: ardour_ui2.cc:135
+#: ardour_ui2.cc:136
msgid "Go to end of session"
msgstr "Gå til slutten av økta"
-#: ardour_ui2.cc:136
+#: ardour_ui2.cc:137
msgid "Play loop range"
msgstr "Spel lykkje-området"
-#: ardour_ui2.cc:137
+#: ardour_ui2.cc:138
msgid ""
"MIDI Panic\n"
"Send note off and reset controller messages on all MIDI channels"
msgstr ""
"MIDI-panikknSend note av og nullstill kontrollmeldingar på alle MIDI-kanalar"
-#: ardour_ui2.cc:138
+#: ardour_ui2.cc:139
msgid "Return to last playback start when stopped"
msgstr "GÃ¥ til der du sist byrja avspeling"
-#: ardour_ui2.cc:139
+#: ardour_ui2.cc:140
msgid "Playhead follows Range Selections and Edits"
msgstr "Spelehovudet fylgjer områdeval og redigeringar"
-#: ardour_ui2.cc:140
+#: ardour_ui2.cc:141
msgid "Be sensible about input monitoring"
msgstr "Fornuftig inngangslytting"
-#: ardour_ui2.cc:141
+#: ardour_ui2.cc:142
msgid "Enable/Disable audio click"
msgstr "Slå på/av lydklikk"
-#: ardour_ui2.cc:142 monitor_section.cc:101
+#: ardour_ui2.cc:143 monitor_section.cc:112
msgid ""
"When active, something is soloed.\n"
"Click to de-solo everything"
@@ -1443,7 +1466,7 @@ msgstr ""
"NÃ¥r knappen er trykt inn, er noko i solo.\n"
"Klikk for å slå av solo på alt."
-#: ardour_ui2.cc:143
+#: ardour_ui2.cc:144
msgid ""
"When active, auditioning is taking place\n"
"Click to stop the audition"
@@ -1451,11 +1474,11 @@ msgstr ""
"Når knappen er trykt inn, blir noko lytta på.\n"
"Klikk for å slå av lyttinga."
-#: ardour_ui2.cc:144
+#: ardour_ui2.cc:145
msgid "When active, there is a feedback loop."
msgstr "Når denne er på, er det ei rundgangssløyfe."
-#: ardour_ui2.cc:145
+#: ardour_ui2.cc:146
msgid ""
"<b>Primary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1463,7 +1486,7 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:146
+#: ardour_ui2.cc:147
msgid ""
"<b>Secondary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1471,361 +1494,418 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:147
-msgid "Reset Level Meter"
+#: ardour_ui2.cc:148
+msgid "Reset All Peak Indicators"
msgstr ""
-#: ardour_ui2.cc:179
+#: ardour_ui2.cc:180
msgid "[ERROR]: "
msgstr "[FEIL]:"
-#: ardour_ui2.cc:181
+#: ardour_ui2.cc:182
msgid "[WARNING]: "
msgstr "[Ã…TVARING]:"
-#: ardour_ui2.cc:183
+#: ardour_ui2.cc:184
msgid "[INFO]: "
msgstr "[INFO]:"
-#: ardour_ui2.cc:247 ardour_ui_ed.cc:344
+#: ardour_ui2.cc:248 ardour_ui_ed.cc:391
msgid "Auto Return"
msgstr "Autoretur"
-#: ardour_ui2.cc:249 ardour_ui_ed.cc:347
+#: ardour_ui2.cc:250 ardour_ui_ed.cc:394
msgid "Follow Edits"
msgstr "Fylg endringar"
-#: ardour_ui2.cc:628 rc_option_editor.cc:1002 rc_option_editor.cc:1020
-#: rc_option_editor.cc:1023 rc_option_editor.cc:1025 rc_option_editor.cc:1027
-#: rc_option_editor.cc:1035 rc_option_editor.cc:1043 rc_option_editor.cc:1045
-#: rc_option_editor.cc:1053 rc_option_editor.cc:1060 rc_option_editor.cc:1069
-#: rc_option_editor.cc:1071 rc_option_editor.cc:1073 rc_option_editor.cc:1081
-#: rc_option_editor.cc:1083 rc_option_editor.cc:1092
-#: session_option_editor.cc:234 session_option_editor.cc:236
-#: session_option_editor.cc:257 session_option_editor.cc:259
-#: session_option_editor.cc:261 session_option_editor.cc:268
+#: ardour_ui2.cc:651 rc_option_editor.cc:2172
+msgid "GUI"
+msgstr "Brukarflate"
+
+#: ardour_ui2.cc:668 rc_option_editor.cc:1242 rc_option_editor.cc:1260
+#: rc_option_editor.cc:1263 rc_option_editor.cc:1265 rc_option_editor.cc:1267
+#: rc_option_editor.cc:1275 rc_option_editor.cc:1283 rc_option_editor.cc:1285
+#: rc_option_editor.cc:1293 rc_option_editor.cc:1300 rc_option_editor.cc:1309
+#: rc_option_editor.cc:1311 rc_option_editor.cc:1313 rc_option_editor.cc:1321
+#: rc_option_editor.cc:1323 rc_option_editor.cc:1332
+#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:344 session_option_editor.cc:346
+#: session_option_editor.cc:348 session_option_editor.cc:355
+#: session_option_editor.cc:362 session_option_editor.cc:366
msgid "Misc"
msgstr "Ymse"
-#: ardour_ui_dependents.cc:69
+#: ardour_ui_dependents.cc:75
msgid "Setup Editor"
msgstr "Set opp redigeringa"
-#: ardour_ui_dependents.cc:71
+#: ardour_ui_dependents.cc:77
msgid "Setup Mixer"
msgstr "Set opp miksaren"
-#: ardour_ui_dependents.cc:77
+#: ardour_ui_dependents.cc:83
msgid "Reload Session History"
msgstr "Oppdater øktliste"
-#: ardour_ui_dialogs.cc:238
+#: ardour_ui_dialogs.cc:251
msgid "Don't close"
msgstr "Ikkje lukk"
-#: ardour_ui_dialogs.cc:239
+#: ardour_ui_dialogs.cc:252
msgid "Just close"
msgstr "Berre lukk"
-#: ardour_ui_dialogs.cc:240
+#: ardour_ui_dialogs.cc:253
msgid "Save and close"
msgstr "Lagra og lukk"
-#: ardour_ui_dialogs.cc:339
+#: ardour_ui_dialogs.cc:353
msgid "This screen is not tall enough to display the mixer window"
msgstr "Denne skjermen er ikkje høg nok til å visa miksarvindauga"
-#: ardour_ui_ed.cc:103
+#: ardour_ui_ed.cc:102
msgid "Session"
msgstr "Økt"
-#: ardour_ui_ed.cc:106 editor_actions.cc:134 editor_regions.cc:115
+#: ardour_ui_ed.cc:105 editor_actions.cc:138 editor_regions.cc:116
#: port_group.cc:458 session_option_editor.cc:82 session_option_editor.cc:89
msgid "Sync"
msgstr "Synk"
-#: ardour_ui_ed.cc:107
+#: ardour_ui_ed.cc:106
msgid "Options"
msgstr "Val"
-#: ardour_ui_ed.cc:108
+#: ardour_ui_ed.cc:107
msgid "Window"
msgstr "Vindauge"
-#: ardour_ui_ed.cc:109
+#: ardour_ui_ed.cc:108
msgid "Help"
msgstr "Hjelp"
-#: ardour_ui_ed.cc:110
+#: ardour_ui_ed.cc:109
msgid "Misc. Shortcuts"
msgstr "Ymse snarvegar"
-#: ardour_ui_ed.cc:111
+#: ardour_ui_ed.cc:110
msgid "Audio File Format"
msgstr "Lydfilformat"
-#: ardour_ui_ed.cc:112
+#: ardour_ui_ed.cc:111
msgid "File Type"
msgstr "Filtype"
-#: ardour_ui_ed.cc:113 export_format_dialog.cc:65
+#: ardour_ui_ed.cc:112 export_format_dialog.cc:67
msgid "Sample Format"
msgstr "Punktformat"
-#: ardour_ui_ed.cc:114 rc_option_editor.cc:1814 rc_option_editor.cc:1826
+#: ardour_ui_ed.cc:113 rc_option_editor.cc:2119 rc_option_editor.cc:2131
msgid "Control Surfaces"
msgstr "Kontrollflater"
-#: ardour_ui_ed.cc:115 rc_option_editor.cc:1546
+#: ardour_ui_ed.cc:114 rc_option_editor.cc:1812 rc_option_editor.cc:2138
msgid "Plugins"
msgstr "Utvidingar"
-#: ardour_ui_ed.cc:116 rc_option_editor.cc:1889
+#: ardour_ui_ed.cc:115 rc_option_editor.cc:2223
msgid "Metering"
msgstr "Nivåmåling"
-#: ardour_ui_ed.cc:117
+#: ardour_ui_ed.cc:116
msgid "Fall Off Rate"
msgstr "Slepprate"
-#: ardour_ui_ed.cc:118
+#: ardour_ui_ed.cc:117
msgid "Hold Time"
msgstr "Haldetid"
-#: ardour_ui_ed.cc:119
+#: ardour_ui_ed.cc:118
msgid "Denormal Handling"
msgstr "Handtering av unormale hendingar"
-#: ardour_ui_ed.cc:123 route_time_axis.cc:1489
+#: ardour_ui_ed.cc:122 route_time_axis.cc:1636
msgid "New..."
msgstr "Ny..."
-#: ardour_ui_ed.cc:125
+#: ardour_ui_ed.cc:124
msgid "Open..."
msgstr "Opna..."
-#: ardour_ui_ed.cc:126
+#: ardour_ui_ed.cc:125
msgid "Recent..."
msgstr "Siste..."
-#: ardour_ui_ed.cc:127 panner_editor.cc:29 playlist_selector.cc:64
+#: ardour_ui_ed.cc:126 panner_editor.cc:29 playlist_selector.cc:64
msgid "Close"
msgstr "Lukk"
-#: ardour_ui_ed.cc:130
+#: ardour_ui_ed.cc:129
msgid "Add Track or Bus..."
msgstr "Legg til spor eller buss..."
-#: ardour_ui_ed.cc:135
+#: ardour_ui_ed.cc:134
msgid "Open Video"
msgstr ""
-#: ardour_ui_ed.cc:138
+#: ardour_ui_ed.cc:137
msgid "Remove Video"
msgstr ""
-#: ardour_ui_ed.cc:141
+#: ardour_ui_ed.cc:140
msgid "Export To Video File"
msgstr ""
-#: ardour_ui_ed.cc:145
+#: ardour_ui_ed.cc:144
msgid "Snapshot..."
msgstr "Snøggbilete..."
-#: ardour_ui_ed.cc:149
+#: ardour_ui_ed.cc:148
msgid "Save As..."
msgstr "Lagra som..."
-#: ardour_ui_ed.cc:153 editor_actions.cc:1719 editor_markers.cc:858
-#: editor_snapshots.cc:123 mixer_strip.cc:1471 route_time_axis.cc:1485
+#: ardour_ui_ed.cc:152 editor_actions.cc:1767 editor_markers.cc:872
+#: editor_snapshots.cc:124 mixer_strip.cc:1481 route_time_axis.cc:1632
msgid "Rename..."
msgstr "Døyp om..."
-#: ardour_ui_ed.cc:157
+#: ardour_ui_ed.cc:156
msgid "Save Template..."
msgstr "Lagra mal..."
-#: ardour_ui_ed.cc:160
+#: ardour_ui_ed.cc:159
msgid "Metadata"
msgstr "Metadata"
-#: ardour_ui_ed.cc:163
+#: ardour_ui_ed.cc:162
msgid "Edit Metadata..."
msgstr "Endra metadata..."
-#: ardour_ui_ed.cc:166
+#: ardour_ui_ed.cc:165
msgid "Import Metadata..."
msgstr "Importer metadata..."
-#: ardour_ui_ed.cc:169
+#: ardour_ui_ed.cc:168
msgid "Export To Audio File(s)..."
msgstr "Eksporter økta til lydfil(er)..."
-#: ardour_ui_ed.cc:172
+#: ardour_ui_ed.cc:171
msgid "Stem export..."
msgstr "Staveksport..."
-#: ardour_ui_ed.cc:175 editor_export_audio.cc:63 export_dialog.cc:129
-#: export_video_dialog.cc:71
+#: ardour_ui_ed.cc:174 editor_export_audio.cc:65 export_dialog.cc:129
+#: export_video_dialog.cc:72
msgid "Export"
msgstr "Eksporter"
-#: ardour_ui_ed.cc:178
+#: ardour_ui_ed.cc:177
msgid "Clean-up Unused Sources..."
msgstr "Rydd bort ubrukte kjelder..."
-#: ardour_ui_ed.cc:182
+#: ardour_ui_ed.cc:181
msgid "Flush Wastebasket"
msgstr "Tøm søppelkorga"
-#: ardour_ui_ed.cc:189
+#: ardour_ui_ed.cc:188
msgid "Quit"
msgstr "Avslutt"
-#: ardour_ui_ed.cc:193
+#: ardour_ui_ed.cc:192
msgid "Maximise Editor Space"
msgstr "Gje redigeringa mest plass"
+#: ardour_ui_ed.cc:193
+msgid "Maximise Mixer Space"
+msgstr ""
+
#: ardour_ui_ed.cc:194
msgid "Show Toolbars"
msgstr "Vis verktylinene"
-#: ardour_ui_ed.cc:197 mixer_ui.cc:1865 mixer_ui.cc:1871
+#: ardour_ui_ed.cc:197
+msgid "Show more UI preferences"
+msgstr ""
+
+#: ardour_ui_ed.cc:199 mixer_ui.cc:1900 mixer_ui.cc:1906
msgid "Window|Mixer"
msgstr "Vindauga|miksar"
-#: ardour_ui_ed.cc:198
+#: ardour_ui_ed.cc:200
msgid "Toggle Editor+Mixer"
msgstr ""
-#: ardour_ui_ed.cc:199 meterbridge.cc:230 meterbridge.cc:236
+#: ardour_ui_ed.cc:201 meterbridge.cc:214 meterbridge.cc:220
msgid "Window|Meterbridge"
msgstr ""
-#: ardour_ui_ed.cc:201 midi_tracer.cc:42
+#: ardour_ui_ed.cc:203 midi_tracer.cc:45
msgid "MIDI Tracer"
msgstr "MIDI-sporar"
-#: ardour_ui_ed.cc:203
+#: ardour_ui_ed.cc:205
msgid "Chat"
msgstr "Prat"
-#: ardour_ui_ed.cc:205
+#: ardour_ui_ed.cc:207
msgid "Help|Manual"
msgstr "Hjelp|Rettleiing"
-#: ardour_ui_ed.cc:206
+#: ardour_ui_ed.cc:208
msgid "Reference"
msgstr "Referanse"
-#: ardour_ui_ed.cc:208 plugin_ui.cc:415
+#: ardour_ui_ed.cc:210 plugin_ui.cc:416
msgid "Save"
msgstr "Lagre"
-#: ardour_ui_ed.cc:216 rc_option_editor.cc:1112 rc_option_editor.cc:1123
-#: rc_option_editor.cc:1132 rc_option_editor.cc:1145 rc_option_editor.cc:1158
-#: rc_option_editor.cc:1167 rc_option_editor.cc:1177 rc_option_editor.cc:1179
-#: rc_option_editor.cc:1189 rc_option_editor.cc:1205 rc_option_editor.cc:1218
-#: rc_option_editor.cc:1236 rc_option_editor.cc:1238 rc_option_editor.cc:1252
-#: rc_option_editor.cc:1255 rc_option_editor.cc:1257 rc_option_editor.cc:1274
-#: rc_option_editor.cc:1285
+#: ardour_ui_ed.cc:218 rc_option_editor.cc:1352 rc_option_editor.cc:1363
+#: rc_option_editor.cc:1374 rc_option_editor.cc:1383 rc_option_editor.cc:1396
+#: rc_option_editor.cc:1409 rc_option_editor.cc:1418 rc_option_editor.cc:1428
+#: rc_option_editor.cc:1430 rc_option_editor.cc:1440 rc_option_editor.cc:1456
+#: rc_option_editor.cc:1469 rc_option_editor.cc:1487 rc_option_editor.cc:1489
+#: rc_option_editor.cc:1503 rc_option_editor.cc:1506 rc_option_editor.cc:1508
+#: rc_option_editor.cc:1525 rc_option_editor.cc:1536
msgid "Transport"
msgstr "Speling"
-#: ardour_ui_ed.cc:222
+#: ardour_ui_ed.cc:224
msgid "Stop"
msgstr "Stopp"
-#: ardour_ui_ed.cc:225
+#: ardour_ui_ed.cc:227
msgid "Roll"
msgstr "Rull"
-#: ardour_ui_ed.cc:229
+#: ardour_ui_ed.cc:231 ardour_ui_ed.cc:234
msgid "Start/Stop"
msgstr "Start/stopp"
-#: ardour_ui_ed.cc:232
+#: ardour_ui_ed.cc:237
msgid "Start/Continue/Stop"
msgstr "Start/hald fram/stopp"
-#: ardour_ui_ed.cc:235
+#: ardour_ui_ed.cc:240
msgid "Stop and Forget Capture"
msgstr "Stopp og gløym opptaket"
-#: ardour_ui_ed.cc:245
+#: ardour_ui_ed.cc:250
msgid "Transition To Roll"
msgstr "Overgang til rulling"
-#: ardour_ui_ed.cc:249
+#: ardour_ui_ed.cc:254
msgid "Transition To Reverse"
msgstr "Overgang til baklengs"
-#: ardour_ui_ed.cc:253
+#: ardour_ui_ed.cc:258
msgid "Play Loop Range"
msgstr "Spel lykkje-området"
-#: ardour_ui_ed.cc:256
+#: ardour_ui_ed.cc:261
msgid "Play Selected Range"
msgstr "Spel det valte området"
-#: ardour_ui_ed.cc:259
+#: ardour_ui_ed.cc:264
msgid "Play Selection w/Preroll"
msgstr "Spel utvalet m/førrull"
-#: ardour_ui_ed.cc:263
+#: ardour_ui_ed.cc:268
msgid "Enable Record"
msgstr "Skru på opptak"
-#: ardour_ui_ed.cc:266
+#: ardour_ui_ed.cc:271 ardour_ui_ed.cc:275
msgid "Start Recording"
msgstr "Start opptak"
-#: ardour_ui_ed.cc:270
+#: ardour_ui_ed.cc:279
msgid "Rewind"
msgstr "Spol bakover"
-#: ardour_ui_ed.cc:273
+#: ardour_ui_ed.cc:282
msgid "Rewind (Slow)"
msgstr "Spol sakte bakover"
-#: ardour_ui_ed.cc:276
+#: ardour_ui_ed.cc:285
msgid "Rewind (Fast)"
msgstr "Spol fort bakover"
-#: ardour_ui_ed.cc:279
+#: ardour_ui_ed.cc:288
msgid "Forward"
msgstr "Framover"
-#: ardour_ui_ed.cc:282
+#: ardour_ui_ed.cc:291
msgid "Forward (Slow)"
msgstr "Spol sakte framover"
-#: ardour_ui_ed.cc:285
+#: ardour_ui_ed.cc:294
msgid "Forward (Fast)"
msgstr "Spol fort framover"
-#: ardour_ui_ed.cc:288
+#: ardour_ui_ed.cc:297
msgid "Goto Zero"
msgstr "GÃ¥ til null"
-#: ardour_ui_ed.cc:291
+#: ardour_ui_ed.cc:300 ardour_ui_ed.cc:303
msgid "Goto Start"
msgstr "GÃ¥ til starten"
-#: ardour_ui_ed.cc:294
+#: ardour_ui_ed.cc:306
msgid "Goto End"
msgstr "GÃ¥ til slutten"
-#: ardour_ui_ed.cc:297
+#: ardour_ui_ed.cc:309
msgid "Goto Wall Clock"
msgstr "GÃ¥ til Veggur"
-#: ardour_ui_ed.cc:301
+#: ardour_ui_ed.cc:314
+msgid "Numpad Decimal"
+msgstr ""
+
+#: ardour_ui_ed.cc:317
+msgid "Numpad 0"
+msgstr ""
+
+#: ardour_ui_ed.cc:320
+msgid "Numpad 1"
+msgstr ""
+
+#: ardour_ui_ed.cc:323
+msgid "Numpad 2"
+msgstr ""
+
+#: ardour_ui_ed.cc:326
+msgid "Numpad 3"
+msgstr ""
+
+#: ardour_ui_ed.cc:329
+msgid "Numpad 4"
+msgstr ""
+
+#: ardour_ui_ed.cc:332
+msgid "Numpad 5"
+msgstr ""
+
+#: ardour_ui_ed.cc:335
+msgid "Numpad 6"
+msgstr ""
+
+#: ardour_ui_ed.cc:338
+msgid "Numpad 7"
+msgstr ""
+
+#: ardour_ui_ed.cc:341
+msgid "Numpad 8"
+msgstr ""
+
+#: ardour_ui_ed.cc:344
+msgid "Numpad 9"
+msgstr ""
+
+#: ardour_ui_ed.cc:348
msgid "Focus On Clock"
msgstr "Fokuser på klokka"
-#: ardour_ui_ed.cc:305 ardour_ui_ed.cc:314 audio_clock.cc:2046 editor.cc:237
-#: editor_actions.cc:544 editor_actions.cc:553 export_timespan_selector.cc:88
+#: ardour_ui_ed.cc:352 ardour_ui_ed.cc:361 audio_clock.cc:2072 editor.cc:254
+#: editor_actions.cc:579 editor_actions.cc:588 export_timespan_selector.cc:88
#: session_option_editor.cc:41 session_option_editor.cc:61
#: session_option_editor.cc:80 session_option_editor.cc:96
#: session_option_editor.cc:109 session_option_editor.cc:122
@@ -1833,125 +1913,125 @@ msgstr "Fokuser på klokka"
msgid "Timecode"
msgstr "Tidskode"
-#: ardour_ui_ed.cc:307 ardour_ui_ed.cc:316 editor_actions.cc:542
+#: ardour_ui_ed.cc:354 ardour_ui_ed.cc:363 editor_actions.cc:577
msgid "Bars & Beats"
msgstr "Takter og taktslag"
-#: ardour_ui_ed.cc:309 ardour_ui_ed.cc:318
+#: ardour_ui_ed.cc:356 ardour_ui_ed.cc:365
msgid "Minutes & Seconds"
msgstr "Minutt og sekund"
-#: ardour_ui_ed.cc:311 ardour_ui_ed.cc:320 audio_clock.cc:2050 editor.cc:238
-#: editor_actions.cc:543
+#: ardour_ui_ed.cc:358 ardour_ui_ed.cc:367 audio_clock.cc:2076 editor.cc:255
+#: editor_actions.cc:578
msgid "Samples"
msgstr "Punktprøver"
-#: ardour_ui_ed.cc:323
+#: ardour_ui_ed.cc:370
msgid "Punch In"
msgstr "Slå inn"
-#: ardour_ui_ed.cc:324 mixer_strip.cc:1905 route_ui.cc:137
-#: time_info_box.cc:113
+#: ardour_ui_ed.cc:371 mixer_strip.cc:1774 mixer_strip.cc:1798
+#: mixer_strip.cc:1962 route_ui.cc:158 time_info_box.cc:116
msgid "In"
msgstr "Inn"
-#: ardour_ui_ed.cc:327
+#: ardour_ui_ed.cc:374
msgid "Punch Out"
msgstr "Slå ut"
-#: ardour_ui_ed.cc:328 time_info_box.cc:114
+#: ardour_ui_ed.cc:375 mixer_strip.cc:1786 time_info_box.cc:117
msgid "Out"
msgstr "Ut"
-#: ardour_ui_ed.cc:331
+#: ardour_ui_ed.cc:378
msgid "Punch In/Out"
msgstr "Slå inn og ut"
-#: ardour_ui_ed.cc:332
+#: ardour_ui_ed.cc:379
msgid "In/Out"
msgstr "Inn/ut"
-#: ardour_ui_ed.cc:335 rc_option_editor.cc:1069
+#: ardour_ui_ed.cc:382 rc_option_editor.cc:1309
msgid "Click"
msgstr "Klikk"
-#: ardour_ui_ed.cc:338
+#: ardour_ui_ed.cc:385
msgid "Auto Input"
msgstr "Autoinngang"
-#: ardour_ui_ed.cc:341
+#: ardour_ui_ed.cc:388
msgid "Auto Play"
msgstr "Autospel"
-#: ardour_ui_ed.cc:352
+#: ardour_ui_ed.cc:399
msgid "Sync Startup to Video"
msgstr "Synk oppstart til video"
-#: ardour_ui_ed.cc:354
+#: ardour_ui_ed.cc:401
msgid "Time Master"
msgstr "Hovudklokke"
-#: ardour_ui_ed.cc:361
+#: ardour_ui_ed.cc:408
msgid "Toggle Record Enable Track %1"
msgstr "Skru på/av opptak for spor %1"
-#: ardour_ui_ed.cc:368
+#: ardour_ui_ed.cc:415
msgid "Percentage"
msgstr "Prosent"
-#: ardour_ui_ed.cc:369 shuttle_control.cc:169
+#: ardour_ui_ed.cc:416 shuttle_control.cc:169
msgid "Semitones"
msgstr "Halvtonar"
-#: ardour_ui_ed.cc:373
+#: ardour_ui_ed.cc:420
msgid "Send MTC"
msgstr "Send MTC (Midi Time Code)"
-#: ardour_ui_ed.cc:375
+#: ardour_ui_ed.cc:422
msgid "Send MMC"
msgstr "Send MMC (Midi Machine Control)"
-#: ardour_ui_ed.cc:377
+#: ardour_ui_ed.cc:424
msgid "Use MMC"
msgstr "Bruk MMC (Midi Machine Control)"
-#: ardour_ui_ed.cc:379 rc_option_editor.cc:1698
+#: ardour_ui_ed.cc:426 rc_option_editor.cc:1978
msgid "Send MIDI Clock"
msgstr "Send MIDI-klokke"
-#: ardour_ui_ed.cc:381
+#: ardour_ui_ed.cc:428
msgid "Send MIDI Feedback"
msgstr "Send MIDI-svar"
-#: ardour_ui_ed.cc:387
+#: ardour_ui_ed.cc:434
msgid "Panic"
msgstr "Panikk"
-#: ardour_ui_ed.cc:472
+#: ardour_ui_ed.cc:519
msgid "Wall Clock"
msgstr "Veggur"
-#: ardour_ui_ed.cc:473
+#: ardour_ui_ed.cc:520
msgid "Disk Space"
msgstr "Diskplass"
-#: ardour_ui_ed.cc:474
+#: ardour_ui_ed.cc:521
msgid "DSP"
msgstr "DSP"
-#: ardour_ui_ed.cc:475
+#: ardour_ui_ed.cc:522
msgid "Buffers"
msgstr "Bufrar"
-#: ardour_ui_ed.cc:477
+#: ardour_ui_ed.cc:524
msgid "Timecode Format"
msgstr "Tidskodeformat"
-#: ardour_ui_ed.cc:478
+#: ardour_ui_ed.cc:525
msgid "File Format"
msgstr "Filformat"
-#: ardour_ui_options.cc:61
+#: ardour_ui_options.cc:63
msgid ""
"It is not possible to use JACK as the the sync source\n"
"when the pull up/down setting is non-zero."
@@ -1963,331 +2043,249 @@ msgstr ""
msgid "Internal"
msgstr "Intern"
-#: ardour_ui_options.cc:468
+#: ardour_ui_options.cc:496
msgid "Enable/Disable external positional sync"
msgstr "Skru på/av ekstern posisjonssynk"
-#: ardour_ui_options.cc:470
+#: ardour_ui_options.cc:498
msgid "Sync to JACK is not possible: video pull up/down is set"
msgstr "Ikkje mogleg å synka til JACK: opp- og nedtrekk for video er fastsett"
-#: audio_clock.cc:1012 audio_clock.cc:1031
+#: audio_clock.cc:1028 audio_clock.cc:1047
msgid "--pending--"
msgstr "--ventar--"
-#: audio_clock.cc:1083
+#: audio_clock.cc:1099
msgid "SR"
msgstr "SR"
-#: audio_clock.cc:1089 audio_clock.cc:1093
+#: audio_clock.cc:1105 audio_clock.cc:1109
msgid "Pull"
msgstr "Dra"
-#: audio_clock.cc:1091
+#: audio_clock.cc:1107
#, c-format
msgid "%+.4f%%"
msgstr "%+.4f%%"
-#: audio_clock.cc:1237 editor.cc:239 editor_actions.cc:135
-#: editor_actions.cc:536
+#: audio_clock.cc:1263 editor.cc:256 editor_actions.cc:139
+#: editor_actions.cc:571
msgid "Tempo"
msgstr "Tempo"
-#: audio_clock.cc:1241 editor.cc:240 editor_actions.cc:537
+#: audio_clock.cc:1267 editor.cc:257 editor_actions.cc:572
msgid "Meter"
msgstr "Taktart"
-#: audio_clock.cc:1819 audio_streamview.cc:116 editor_actions.cc:1039
-#: midi_region_view.cc:2991 session_metadata_dialog.cc:331
+#: audio_clock.cc:1845 audio_streamview.cc:115 editor_actions.cc:1085
+#: midi_region_view.cc:2989 session_metadata_dialog.cc:331
#: session_metadata_dialog.cc:379 session_metadata_dialog.cc:435
-#: session_metadata_dialog.cc:716
+#: session_metadata_dialog.cc:716 streamview.cc:433
msgid "programming error: %1"
msgstr "Programmeringsfeil: %1"
-#: audio_clock.cc:1952 audio_clock.cc:1980
+#: audio_clock.cc:1978 audio_clock.cc:2006
msgid "programming error: %1 %2"
msgstr "programmeringsfeil: %1 %2"
-#: audio_clock.cc:2048 editor.cc:236 export_timespan_selector.cc:98
+#: audio_clock.cc:2074 editor.cc:253 export_timespan_selector.cc:98
msgid "Bars:Beats"
msgstr "Takter:Taktslag"
-#: audio_clock.cc:2049 export_timespan_selector.cc:93
+#: audio_clock.cc:2075 export_timespan_selector.cc:93
msgid "Minutes:Seconds"
msgstr "Minutt:sekund"
-#: audio_clock.cc:2054
+#: audio_clock.cc:2080
msgid "Set From Playhead"
msgstr "Set ut frå spelehovudet"
-#: audio_clock.cc:2055
+#: audio_clock.cc:2081
msgid "Locate to This Time"
msgstr "GÃ¥ hit"
-#: audio_region_editor.cc:63 control_point_dialog.cc:49 rhythm_ferret.cc:125
-#: rhythm_ferret.cc:130 rhythm_ferret.cc:135
+#: audio_region_editor.cc:64 control_point_dialog.cc:49 rhythm_ferret.cc:124
+#: rhythm_ferret.cc:129 rhythm_ferret.cc:134
msgid "dB"
msgstr "dB"
-#: audio_region_editor.cc:66
+#: audio_region_editor.cc:67
msgid "Region gain:"
msgstr "Bolkvolum:"
-#: audio_region_editor.cc:76 export_format_dialog.cc:43
+#: audio_region_editor.cc:77 export_format_dialog.cc:43
msgid "dBFS"
msgstr "duFS"
-#: audio_region_editor.cc:79
+#: audio_region_editor.cc:80
msgid "Peak amplitude:"
msgstr "Toppvolum:"
-#: audio_region_editor.cc:90
+#: audio_region_editor.cc:91
msgid "Calculating..."
msgstr "Reknar..."
-#: audio_region_view.cc:1001
+#: audio_region_view.cc:1243
msgid "add gain control point"
msgstr "legg til volumkontrollpunkt"
-#: audio_time_axis.cc:389
+#: audio_time_axis.cc:430 midi_time_axis.cc:619
msgid "Fader"
msgstr "Volum"
-#: audio_time_axis.cc:396
+#: audio_time_axis.cc:437 editor_actions.cc:1800 mixer_strip.cc:1961
+#: monitor_section.cc:273 route_time_axis.cc:253
+msgid "Mute"
+msgstr "Demp"
+
+#: audio_time_axis.cc:445 midi_time_axis.cc:627
msgid "Pan"
msgstr "Panorering"
-#: automation_line.cc:252 automation_line.cc:435
+#: automation_line.cc:272 automation_line.cc:453
msgid "automation event move"
msgstr "flytt automasjonspunkt"
-#: automation_line.cc:462 automation_line.cc:483
+#: automation_line.cc:479 automation_line.cc:499
msgid "automation range move"
msgstr "flytt automasjonsområde"
-#: automation_line.cc:823 region_gain_line.cc:73
+#: automation_line.cc:854 region_gain_line.cc:72
msgid "remove control point"
msgstr "fjern kontrollpunkt"
-#: automation_line.cc:941
+#: automation_line.cc:971
msgid "Ignoring illegal points on AutomationLine \"%1\""
msgstr "Ser bort frå ulovlege punkt på Automasjonslinja \"%1\""
-#: automation_region_view.cc:160 automation_time_axis.cc:583
+#: automation_region_view.cc:162 automation_time_axis.cc:627
msgid "add automation event"
msgstr "legg til ei automasjonshending"
-#: automation_time_axis.cc:146
+#: automation_time_axis.cc:141
msgid "automation state"
msgstr "automasjonstilstand"
-#: automation_time_axis.cc:147
+#: automation_time_axis.cc:142
msgid "hide track"
msgstr "gøym spor"
-#: automation_time_axis.cc:255 automation_time_axis.cc:307
-#: automation_time_axis.cc:496 gain_meter.cc:194 generic_pluginui.cc:454
-#: generic_pluginui.cc:775 panner_ui.cc:149
+#: automation_time_axis.cc:297 automation_time_axis.cc:349
+#: automation_time_axis.cc:540 gain_meter.cc:186 generic_pluginui.cc:452
+#: generic_pluginui.cc:770 panner_ui.cc:150
msgid "Automation|Manual"
msgstr "Automasjon|Manuell"
-#: automation_time_axis.cc:257 automation_time_axis.cc:318
-#: automation_time_axis.cc:501 editor.cc:1937 editor.cc:2014
-#: editor_actions.cc:118 editor_actions.cc:1865 gain_meter.cc:197
-#: generic_pluginui.cc:457 generic_pluginui.cc:777 midi_time_axis.cc:1488
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1494 panner_ui.cc:152
+#: automation_time_axis.cc:299 automation_time_axis.cc:360
+#: automation_time_axis.cc:545 editor.cc:1856 editor.cc:1933
+#: editor_actions.cc:122 editor_actions.cc:1916 gain_meter.cc:189
+#: generic_pluginui.cc:455 generic_pluginui.cc:772 midi_time_axis.cc:1687
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1693 panner_ui.cc:153
msgid "Play"
msgstr "Spel"
-#: automation_time_axis.cc:259 automation_time_axis.cc:329
-#: automation_time_axis.cc:506 gain_meter.cc:200 generic_pluginui.cc:460
-#: generic_pluginui.cc:779 panner_ui.cc:155
+#: automation_time_axis.cc:301 automation_time_axis.cc:371
+#: automation_time_axis.cc:550 gain_meter.cc:192 generic_pluginui.cc:458
+#: generic_pluginui.cc:774 panner_ui.cc:156
msgid "Write"
msgstr "Skriv"
-#: automation_time_axis.cc:261 automation_time_axis.cc:340
-#: automation_time_axis.cc:511 gain_meter.cc:203 generic_pluginui.cc:463
-#: generic_pluginui.cc:781 panner_ui.cc:158
+#: automation_time_axis.cc:303 automation_time_axis.cc:382
+#: automation_time_axis.cc:555 gain_meter.cc:195 generic_pluginui.cc:461
+#: generic_pluginui.cc:776 panner_ui.cc:159
msgid "Touch"
msgstr "Rør"
-#: automation_time_axis.cc:351 generic_pluginui.cc:466 meter_patterns.cc:108
+#: automation_time_axis.cc:393 generic_pluginui.cc:464 meter_patterns.cc:112
msgid "???"
msgstr "???"
-#: automation_time_axis.cc:392
+#: automation_time_axis.cc:434
msgid "clear automation"
msgstr "tøm automasjon"
-#: automation_time_axis.cc:485 editor_actions.cc:613 editor_markers.cc:857
-#: location_ui.cc:55 plugin_selector.cc:85 route_time_axis.cc:708
+#: automation_time_axis.cc:529 editor_actions.cc:655 editor_markers.cc:871
+#: location_ui.cc:56 plugin_selector.cc:86 route_time_axis.cc:827
msgid "Hide"
msgstr "Gøym"
-#: automation_time_axis.cc:487
+#: automation_time_axis.cc:531
msgid "Clear"
msgstr "Tøm"
-#: automation_time_axis.cc:516
+#: automation_time_axis.cc:560
msgid "State"
msgstr "Tilstand"
-#: automation_time_axis.cc:531
+#: automation_time_axis.cc:575
msgid "Discrete"
msgstr "Diskret"
-#: automation_time_axis.cc:537 editor.cc:1458 editor.cc:1465 editor.cc:1521
-#: editor.cc:1527 export_format_dialog.cc:476
+#: automation_time_axis.cc:581 export_format_dialog.cc:485
msgid "Linear"
msgstr "Rettlinja"
-#: automation_time_axis.cc:543 rhythm_ferret.cc:110 route_time_axis.cc:647
+#: automation_time_axis.cc:587 rhythm_ferret.cc:109 route_time_axis.cc:765
#: shuttle_control.cc:188
msgid "Mode"
msgstr "Modus"
-#: bundle_manager.cc:181
+#: bundle_manager.cc:182
msgid "Disassociate"
msgstr "Ikkje tilknyt"
-#: bundle_manager.cc:185
+#: bundle_manager.cc:186
msgid "Edit Bundle"
msgstr "Endra bundelen"
-#: bundle_manager.cc:200
+#: bundle_manager.cc:201
msgid "Direction:"
msgstr "Retning:"
-#: bundle_manager.cc:205 bundle_manager.cc:209 mixer_strip.cc:158
-#: mixer_strip.cc:2127
+#: bundle_manager.cc:206 bundle_manager.cc:210 engine_dialog.cc:641
+#: mixer_strip.cc:164 mixer_strip.cc:371 mixer_strip.cc:2195
+#: rc_option_editor.cc:2198
msgid "Input"
msgstr "Inngang"
-#: bundle_manager.cc:206 bundle_manager.cc:211 bundle_manager.cc:245
-#: mixer_strip.cc:163 mixer_strip.cc:2130
+#: bundle_manager.cc:207 bundle_manager.cc:212 bundle_manager.cc:246
+#: engine_dialog.cc:643 mixer_strip.cc:168 mixer_strip.cc:375
+#: mixer_strip.cc:2198 rc_option_editor.cc:2202
msgid "Output"
msgstr "Utgang"
-#: bundle_manager.cc:264 editor.cc:1978 editor_actions.cc:90
-#: editor_actions.cc:100
+#: bundle_manager.cc:265 editor.cc:1897 editor_actions.cc:94
+#: editor_actions.cc:104 rc_option_editor.cc:1067 rc_option_editor.cc:1074
msgid "Edit"
msgstr "Rediger"
-#: bundle_manager.cc:265 editor.cc:5497 editor_actions.cc:310
-#: editor_actions.cc:368 plugin_ui.cc:416 processor_box.cc:2268
-#: route_time_axis.cc:713
+#: bundle_manager.cc:266 editor.cc:5593 editor_actions.cc:335
+#: editor_actions.cc:336 editor_actions.cc:402 plugin_ui.cc:417
+#: processor_box.cc:2502 route_time_axis.cc:832
msgid "Delete"
msgstr "Slett"
-#: bundle_manager.cc:271 bundle_manager.cc:439 editor_route_groups.cc:96
-#: editor_routes.cc:202 midi_list_editor.cc:106 session_metadata_dialog.cc:525
+#: bundle_manager.cc:272 bundle_manager.cc:440 editor_route_groups.cc:97
+#: editor_routes.cc:204 midi_list_editor.cc:106 session_metadata_dialog.cc:525
msgid "Name"
msgstr "Namn"
-#: bundle_manager.cc:282
+#: bundle_manager.cc:283
msgid "New"
msgstr "Ny"
-#: bundle_manager.cc:332
+#: bundle_manager.cc:333
msgid "Bundle"
msgstr "Bundel"
-#: bundle_manager.cc:417
+#: bundle_manager.cc:418
msgid "Add Channel"
msgstr "Legg til kanal"
-#: bundle_manager.cc:424
+#: bundle_manager.cc:425
msgid "Rename Channel"
msgstr "Døyp om kanalen"
-#: canvas-simpleline.c:111 canvas-simplerect.c:106
-msgid "x1"
-msgstr "x1"
-
-#: canvas-simpleline.c:112 canvas-simplerect.c:107
-msgid "x coordinate of upper left corner of rect"
-msgstr "x-koordinaten for det øvste venstre hjørnet av rektanglet"
-
-#: canvas-simpleline.c:121 canvas-simplerect.c:116
-msgid "y1"
-msgstr "y1"
-
-#: canvas-simpleline.c:122 canvas-simplerect.c:117
-msgid "y coordinate of upper left corner of rect "
-msgstr "y-koordinaten for det øvste venstre hjørnet av rektanglet"
-
-#: canvas-simpleline.c:132 canvas-simplerect.c:127
-msgid "x2"
-msgstr "x2"
-
-#: canvas-simpleline.c:133 canvas-simplerect.c:128
-msgid "x coordinate of lower right corner of rect"
-msgstr "x-koordinaten for det nedste høgre hjørnet til rektanglet"
-
-#: canvas-simpleline.c:142 canvas-simplerect.c:137
-msgid "y2"
-msgstr "y2"
-
-#: canvas-simpleline.c:143 canvas-simplerect.c:138
-msgid "y coordinate of lower right corner of rect "
-msgstr "y-koordinaten for det nedste høgre hjørnet til rektanglet"
-
-#: canvas-simpleline.c:151
-msgid "color rgba"
-msgstr "RGBA-farge"
-
-#: canvas-simpleline.c:152
-msgid "color of line"
-msgstr "linjefarge"
-
-#: canvas-simplerect.c:148
-msgid "outline pixels"
-msgstr "kantpunkt"
-
-#: canvas-simplerect.c:149
-msgid "width in pixels of outline"
-msgstr "punktbreidd for kanten"
-
-#: canvas-simplerect.c:159
-msgid "outline what"
-msgstr "teikne kantpunkt for"
-
-#: canvas-simplerect.c:160
-msgid "which boundaries to outline (mask)"
-msgstr "kva grenser som skal kantast (maske)"
-
-#: canvas-simplerect.c:171
-msgid "fill"
-msgstr "fyll"
-
-#: canvas-simplerect.c:172
-msgid "fill rectangle"
-msgstr "fyll rektangel"
-
-#: canvas-simplerect.c:179
-msgid "draw"
-msgstr "teikne"
-
-#: canvas-simplerect.c:180
-msgid "draw rectangle"
-msgstr "teikne rektangel"
-
-#: canvas-simplerect.c:188
-msgid "outline color rgba"
-msgstr "RGBA-kantfarge"
-
-#: canvas-simplerect.c:189
-msgid "color of outline"
-msgstr "kantfarge"
-
-#: canvas-simplerect.c:199
-msgid "fill color rgba"
-msgstr "RGBA-fyllfarge"
-
-#: canvas-simplerect.c:200
-msgid "color of fill"
-msgstr "fyllfarge"
-
#: configinfo.cc:28
msgid "Build Configuration"
msgstr "Byggjeoppsett"
@@ -2325,7 +2323,7 @@ msgid "Set selected notes to this length"
msgstr "Gje notane denne lengda"
#: edit_note_dialog.cc:58 midi_list_editor.cc:104 patch_change_dialog.cc:91
-#: step_entry.cc:393
+#: step_entry.cc:394
msgid "Channel"
msgstr "Kanal"
@@ -2333,7 +2331,7 @@ msgstr "Kanal"
msgid "Pitch"
msgstr "Tonehøgd"
-#: edit_note_dialog.cc:78 step_entry.cc:407
+#: edit_note_dialog.cc:78 step_entry.cc:408
msgid "Velocity"
msgstr "Fart"
@@ -2341,9 +2339,9 @@ msgstr "Fart"
msgid "Time"
msgstr "Tid"
-#: edit_note_dialog.cc:98 editor_regions.cc:114
-#: export_timespan_selector.cc:359 export_timespan_selector.cc:421
-#: location_ui.cc:317 midi_list_editor.cc:114 time_info_box.cc:105
+#: edit_note_dialog.cc:98 editor_regions.cc:115
+#: export_timespan_selector.cc:378 export_timespan_selector.cc:440
+#: location_ui.cc:319 midi_list_editor.cc:114 time_info_box.cc:108
msgid "Length"
msgstr "Lengd"
@@ -2351,559 +2349,576 @@ msgstr "Lengd"
msgid "edit note"
msgstr "endra noten"
-#: editor.cc:137 editor.cc:3433
+#: editor.cc:144
msgid "CD Frames"
msgstr "CD-rammer"
-#: editor.cc:138 editor.cc:3435
-msgid "Timecode Frames"
-msgstr "Tidskoderammer"
+#: editor.cc:145
+msgid "TC Frames"
+msgstr ""
-#: editor.cc:139 editor.cc:3437
-msgid "Timecode Seconds"
-msgstr "Tidskodesekund"
+#: editor.cc:146
+msgid "TC Seconds"
+msgstr ""
-#: editor.cc:140 editor.cc:3439
-msgid "Timecode Minutes"
-msgstr "Tidskodeminutt"
+#: editor.cc:147
+msgid "TC Minutes"
+msgstr ""
-#: editor.cc:141 editor.cc:3441
+#: editor.cc:148
msgid "Seconds"
msgstr "Sekund"
-#: editor.cc:142 editor.cc:3443
+#: editor.cc:149
msgid "Minutes"
msgstr "Minutt"
-#: editor.cc:143 editor.cc:3417 quantize_dialog.cc:37 quantize_dialog.cc:141
+#: editor.cc:150 quantize_dialog.cc:37 quantize_dialog.cc:141
msgid "Beats/128"
msgstr "Slag/128"
-#: editor.cc:144 editor.cc:3415 quantize_dialog.cc:38 quantize_dialog.cc:143
+#: editor.cc:151 quantize_dialog.cc:38 quantize_dialog.cc:143
msgid "Beats/64"
msgstr "Slag/64"
-#: editor.cc:145 editor.cc:3413 quantize_dialog.cc:39 quantize_dialog.cc:145
+#: editor.cc:152 quantize_dialog.cc:39 quantize_dialog.cc:145
msgid "Beats/32"
msgstr "Slag/32"
-#: editor.cc:146 editor.cc:3411
+#: editor.cc:153
msgid "Beats/28"
msgstr "Slag/28"
-#: editor.cc:147 editor.cc:3409
+#: editor.cc:154
msgid "Beats/24"
msgstr "Slag/24"
-#: editor.cc:148 editor.cc:3407
+#: editor.cc:155
msgid "Beats/20"
msgstr "Slag/20"
-#: editor.cc:149 editor.cc:3405 quantize_dialog.cc:40 quantize_dialog.cc:147
+#: editor.cc:156 quantize_dialog.cc:40 quantize_dialog.cc:147
msgid "Beats/16"
msgstr "Slag/16"
-#: editor.cc:150 editor.cc:3403
+#: editor.cc:157
msgid "Beats/14"
msgstr "Slag/14"
-#: editor.cc:151 editor.cc:3401
+#: editor.cc:158
msgid "Beats/12"
msgstr "Slag/12"
-#: editor.cc:152 editor.cc:3399
+#: editor.cc:159
msgid "Beats/10"
msgstr "Slag/10"
-#: editor.cc:153 editor.cc:3397 quantize_dialog.cc:41 quantize_dialog.cc:149
+#: editor.cc:160 quantize_dialog.cc:41 quantize_dialog.cc:149
msgid "Beats/8"
msgstr "Slag/8"
-#: editor.cc:154 editor.cc:3395
+#: editor.cc:161
msgid "Beats/7"
msgstr "Slag/7"
-#: editor.cc:155 editor.cc:3393
+#: editor.cc:162
msgid "Beats/6"
msgstr "Slag/6"
-#: editor.cc:156 editor.cc:3391
+#: editor.cc:163
msgid "Beats/5"
msgstr "Slag/5"
-#: editor.cc:157 editor.cc:3389 quantize_dialog.cc:42 quantize_dialog.cc:151
+#: editor.cc:164 quantize_dialog.cc:42 quantize_dialog.cc:151
msgid "Beats/4"
msgstr "Slag/4"
-#: editor.cc:158 editor.cc:3387 quantize_dialog.cc:43 quantize_dialog.cc:153
+#: editor.cc:165 quantize_dialog.cc:43 quantize_dialog.cc:153
msgid "Beats/3"
msgstr "Slag/3"
-#: editor.cc:159 editor.cc:3385 quantize_dialog.cc:44 quantize_dialog.cc:155
+#: editor.cc:166 quantize_dialog.cc:44 quantize_dialog.cc:155
msgid "Beats/2"
msgstr "Slag/2"
-#: editor.cc:160 editor.cc:3419 quantize_dialog.cc:45 quantize_dialog.cc:157
+#: editor.cc:167 quantize_dialog.cc:45 quantize_dialog.cc:157
msgid "Beats"
msgstr "Slag"
-#: editor.cc:161 editor.cc:3421
+#: editor.cc:168
msgid "Bars"
msgstr "Takter"
-#: editor.cc:162 editor.cc:3423
+#: editor.cc:169
msgid "Marks"
msgstr "Merke"
-#: editor.cc:163 editor.cc:3425
+#: editor.cc:170
msgid "Region starts"
msgstr "Bolk-startar"
-#: editor.cc:164 editor.cc:3427
+#: editor.cc:171
msgid "Region ends"
msgstr "Bolk-endar"
-#: editor.cc:165 editor.cc:3431
+#: editor.cc:172
msgid "Region syncs"
msgstr "Bolk-synkar"
-#: editor.cc:166 editor.cc:3429
+#: editor.cc:173
msgid "Region bounds"
msgstr "Bolkgrenser"
-#: editor.cc:171 editor.cc:3459 editor_actions.cc:485
+#: editor.cc:178 editor_actions.cc:520
msgid "No Grid"
msgstr "Ikkje vis rutenett"
-#: editor.cc:172 editor.cc:3461 editor_actions.cc:486
+#: editor.cc:179 editor_actions.cc:521
msgid "Grid"
msgstr "Rutenett"
-#: editor.cc:173 editor.cc:3463 editor_actions.cc:487
+#: editor.cc:180 editor_actions.cc:522
msgid "Magnetic"
msgstr "Magnetisk"
-#: editor.cc:178 editor.cc:188 editor.cc:3502 editor.cc:3527
-#: editor_actions.cc:117 editor_actions.cc:468
+#: editor.cc:185 editor.cc:203 editor_actions.cc:121 editor_actions.cc:503
msgid "Playhead"
msgstr "Spelehovudet"
-#: editor.cc:179 editor.cc:3500 editor_actions.cc:470
+#: editor.cc:186 editor_actions.cc:505
msgid "Marker"
msgstr "Markør"
-#: editor.cc:180 editor.cc:189 editor.cc:3529 editor_actions.cc:469
+#: editor.cc:187 editor.cc:204 editor_actions.cc:504
msgid "Mouse"
msgstr "Mus"
-#: editor.cc:185 editor.cc:3521 mono_panner_editor.cc:42
+#: editor.cc:192 editor_actions.cc:512
+msgid "Slide"
+msgstr "Gli"
+
+#: editor.cc:193
+msgid "Splice"
+msgstr "Spleis"
+
+#: editor.cc:194 editor_actions.cc:511
+msgid "Ripple"
+msgstr ""
+
+#: editor.cc:195 editor_actions.cc:157 editor_actions.cc:513
+#: editor_actions.cc:1785 editor_markers.cc:874 editor_rulers.cc:260
+#: location_ui.cc:57 mixer_strip.cc:202 mixer_strip.cc:1983
+msgid "Lock"
+msgstr "LÃ¥s"
+
+#: editor.cc:200 mono_panner_editor.cc:42
msgid "Left"
msgstr "Venstre"
-#: editor.cc:186 editor.cc:3523 mono_panner_editor.cc:47
+#: editor.cc:201 mono_panner_editor.cc:47
msgid "Right"
msgstr "Høgre"
-#: editor.cc:187 editor.cc:3525
+#: editor.cc:202
msgid "Center"
msgstr "Midten"
-#: editor.cc:190 editor.cc:3094 editor.cc:3531
+#: editor.cc:205 editor.cc:3145
msgid "Edit point"
msgstr "Redigeringspunkt"
-#: editor.cc:196
+#: editor.cc:211
msgid "Mushy"
msgstr "Grumsut"
-#: editor.cc:197
+#: editor.cc:212
msgid "Smooth"
msgstr "Jamn"
-#: editor.cc:198
+#: editor.cc:213
msgid "Balanced multitimbral mixture"
msgstr "Balansert fleirklangblanding"
-#: editor.cc:199
+#: editor.cc:214
msgid "Unpitched percussion with stable notes"
msgstr "Jamne perkusjonsnotar utan tonehøgd"
-#: editor.cc:200
+#: editor.cc:215
msgid "Crisp monophonic instrumental"
msgstr "Skarp instrumental i mono"
-#: editor.cc:201
+#: editor.cc:216
msgid "Unpitched solo percussion"
msgstr "Jamne perkusjonsnotar utan tonehøgd"
-#: editor.cc:202
+#: editor.cc:217
msgid "Resample without preserving pitch"
msgstr "Omkod punktfrekvens utan å halda på tonehøgd"
-#: editor.cc:235
+#: editor.cc:252
msgid "Mins:Secs"
msgstr "Min:Sek"
-#: editor.cc:241
+#: editor.cc:258
msgid "Location Markers"
msgstr "Stadmarkørar"
-#: editor.cc:242
+#: editor.cc:259
msgid "Range Markers"
msgstr "Områdemarkørar"
-#: editor.cc:243
+#: editor.cc:260
msgid "Loop/Punch Ranges"
msgstr "Lykkje-/innslagsområde"
-#: editor.cc:244 editor_actions.cc:540
+#: editor.cc:261 editor_actions.cc:575
msgid "CD Markers"
msgstr "CD-markørar"
-#: editor.cc:245
+#: editor.cc:262
msgid "Video Timeline"
msgstr ""
-#: editor.cc:260
+#: editor.cc:279
msgid "mode"
msgstr "modus"
-#: editor.cc:541
+#: editor.cc:447 editor_actions.cc:114 editor_actions.cc:574
+msgid "Markers"
+msgstr "Markørar"
+
+#: editor.cc:554 rc_option_editor.cc:1830
msgid "Regions"
msgstr "Bolkar"
-#: editor.cc:542
+#: editor.cc:555
msgid "Tracks & Busses"
msgstr "Spor og bussar"
-#: editor.cc:543
+#: editor.cc:556
msgid "Snapshots"
msgstr "Snøggbilete"
-#: editor.cc:544
+#: editor.cc:557
msgid "Track & Bus Groups"
msgstr "Spor- og bussgrupper"
-#: editor.cc:545
+#: editor.cc:558
msgid "Ranges & Marks"
msgstr "Område og merke"
-#: editor.cc:690 editor.cc:5349 rc_option_editor.cc:1292
-#: rc_option_editor.cc:1300 rc_option_editor.cc:1308 rc_option_editor.cc:1316
-#: rc_option_editor.cc:1333 rc_option_editor.cc:1335 rc_option_editor.cc:1343
-#: rc_option_editor.cc:1351 rc_option_editor.cc:1371 rc_option_editor.cc:1383
-#: rc_option_editor.cc:1385 rc_option_editor.cc:1393 rc_option_editor.cc:1401
-#: rc_option_editor.cc:1409 rc_option_editor.cc:1417 rc_option_editor.cc:1432
-#: rc_option_editor.cc:1436
+#: editor.cc:706 editor.cc:5445 rc_option_editor.cc:1543
+#: rc_option_editor.cc:1551 rc_option_editor.cc:1559 rc_option_editor.cc:1567
+#: rc_option_editor.cc:1591 rc_option_editor.cc:1603 rc_option_editor.cc:1605
+#: rc_option_editor.cc:1613 rc_option_editor.cc:1621 rc_option_editor.cc:1641
+#: rc_option_editor.cc:1653 rc_option_editor.cc:1655 rc_option_editor.cc:1657
+#: rc_option_editor.cc:1665 rc_option_editor.cc:1673 rc_option_editor.cc:1681
+#: rc_option_editor.cc:1696 rc_option_editor.cc:1700
msgid "Editor"
msgstr "Redigering"
-#: editor.cc:1215 editor.cc:1225 editor.cc:4444 editor_actions.cc:130
-#: editor_actions.cc:1813
+#: editor.cc:1288 editor.cc:4503 editor_actions.cc:134 editor_actions.cc:1861
msgid "Loop"
msgstr "Spel i lykkje"
-#: editor.cc:1231 editor.cc:1241 editor.cc:4471 editor_actions.cc:131
-#: time_info_box.cc:67
+#: editor.cc:1294 editor.cc:4530 editor_actions.cc:135 time_info_box.cc:68
msgid "Punch"
msgstr "Slå inn/ut"
-#: editor.cc:1353
+#: editor.cc:1406 rc_option_editor.cc:1585
msgid "Linear (for highly correlated material)"
msgstr "Lineært (for særs nivårett materiale)"
-#: editor.cc:1363 editor.cc:1500 editor.cc:1562
+#: editor.cc:1416 rc_option_editor.cc:1586
msgid "Constant power"
msgstr ""
-#: editor.cc:1372 editor.cc:1493 editor.cc:1555
+#: editor.cc:1425 rc_option_editor.cc:1587
msgid "Symmetric"
msgstr "Symmetrisk"
-#: editor.cc:1382 editor.cc:1475 editor.cc:1537
+#: editor.cc:1435 rc_option_editor.cc:1588
msgid "Slow"
msgstr "Sakte"
-#: editor.cc:1391 editor.cc:1484 editor.cc:1546 sfdb_ui.cc:1627
-#: sfdb_ui.cc:1736
+#: editor.cc:1444 rc_option_editor.cc:1589 sfdb_ui.cc:1752 sfdb_ui.cc:1862
msgid "Fast"
msgstr "Fort"
-#: editor.cc:1438
-msgid "programming error: fade in canvas item has no regionview data pointer!"
-msgstr ""
-"Programmeringsfeil: Inntoningslerretet har ingen datapeikarar for bolkvising!"
-
-#: editor.cc:1449 editor.cc:1513
+#: editor.cc:1464 editor.cc:1487
msgid "Deactivate"
msgstr "Slå av"
-#: editor.cc:1451 editor.cc:1515
+#: editor.cc:1466 editor.cc:1489
msgid "Activate"
msgstr "Slå på"
-#: editor.cc:1459 editor.cc:1522
-msgid "Slowest"
-msgstr "Saktast"
-
-#: editor.cc:1573 route_time_axis.cc:1877 selection.cc:1009 selection.cc:1064
-msgid "programming error: "
-msgstr "programmeringsfeil: "
-
-#: editor.cc:1674 editor.cc:1682 editor_ops.cc:3522
+#: editor.cc:1590 editor.cc:1598 editor_ops.cc:3635
msgid "Freeze"
msgstr "Frys"
-#: editor.cc:1678
+#: editor.cc:1594
msgid "Unfreeze"
msgstr "U-frys"
-#: editor.cc:1817
+#: editor.cc:1733
msgid "Selected Regions"
msgstr "Valde bolkar"
-#: editor.cc:1853 editor_markers.cc:895
+#: editor.cc:1769 editor_markers.cc:909
msgid "Play Range"
msgstr "Spel området"
-#: editor.cc:1854 editor_markers.cc:898
+#: editor.cc:1770 editor_markers.cc:912
msgid "Loop Range"
msgstr "Spel området i lykkje"
-#: editor.cc:1863 editor_actions.cc:332
+#: editor.cc:1773 editor_actions.cc:266 editor_markers.cc:919
+msgid "Zoom to Range"
+msgstr "Zoom til området"
+
+#: editor.cc:1782 editor_actions.cc:366
msgid "Move Range Start to Previous Region Boundary"
msgstr "Flytt områdestarten til førre bolkgrense"
-#: editor.cc:1870 editor_actions.cc:339
+#: editor.cc:1789 editor_actions.cc:373
msgid "Move Range Start to Next Region Boundary"
msgstr "Flytt områdestarten til neste bolkgrense"
-#: editor.cc:1877 editor_actions.cc:346
+#: editor.cc:1796 editor_actions.cc:380
msgid "Move Range End to Previous Region Boundary"
msgstr "Flytt områdeslutten til førre bolkgrense"
-#: editor.cc:1884 editor_actions.cc:353
+#: editor.cc:1803 editor_actions.cc:387
msgid "Move Range End to Next Region Boundary"
msgstr "Flytt områdeslutten til neste bolkgrense"
-#: editor.cc:1890
+#: editor.cc:1809
msgid "Convert to Region In-Place"
msgstr "Gjer om til område-på-staden"
-#: editor.cc:1891
+#: editor.cc:1810
msgid "Convert to Region in Region List"
msgstr "Gjer om til bolk i bolklista"
-#: editor.cc:1894 editor_markers.cc:925
+#: editor.cc:1813 editor_markers.cc:939
msgid "Select All in Range"
msgstr "Vel alt innan området"
-#: editor.cc:1897
+#: editor.cc:1816
msgid "Set Loop from Range"
msgstr "Set lykkje frå området"
-#: editor.cc:1898
+#: editor.cc:1817
msgid "Set Punch from Range"
msgstr "Set innslag frå område"
-#: editor.cc:1901
+#: editor.cc:1820
msgid "Add Range Markers"
msgstr "Legg til områdemarkørar"
-#: editor.cc:1904
+#: editor.cc:1823
msgid "Crop Region to Range"
msgstr "Skjer bolken til området"
-#: editor.cc:1905
+#: editor.cc:1824
msgid "Fill Range with Region"
msgstr "Fyll området med bolken"
-#: editor.cc:1906 editor_actions.cc:289
+#: editor.cc:1825 editor_actions.cc:311
msgid "Duplicate Range"
msgstr "Klon området"
-#: editor.cc:1909
+#: editor.cc:1828
msgid "Consolidate Range"
msgstr "Sikra området"
-#: editor.cc:1910
+#: editor.cc:1829
msgid "Consolidate Range With Processing"
msgstr "Sikra området med prosessering"
-#: editor.cc:1911
+#: editor.cc:1830
msgid "Bounce Range to Region List"
msgstr "Miks ned området til bolkliste"
-#: editor.cc:1912
+#: editor.cc:1831
msgid "Bounce Range to Region List With Processing"
msgstr "Miks ned området til bolkliste med prosessering"
-#: editor.cc:1913 editor_markers.cc:908
+#: editor.cc:1832 editor_markers.cc:922
msgid "Export Range..."
msgstr "Eksporter området..."
-#: editor.cc:1915
+#: editor.cc:1834
msgid "Export Video Range..."
msgstr ""
-#: editor.cc:1931 editor.cc:2012 editor_actions.cc:281
+#: editor.cc:1850 editor.cc:1931 editor_actions.cc:303
msgid "Play From Edit Point"
msgstr "Spel frå redigeringspunktet"
-#: editor.cc:1932 editor.cc:2013
+#: editor.cc:1851 editor.cc:1932
msgid "Play From Start"
msgstr "Spel frå starten"
-#: editor.cc:1933
+#: editor.cc:1852
msgid "Play Region"
msgstr "Spel bolken"
-#: editor.cc:1935
+#: editor.cc:1854
msgid "Loop Region"
msgstr "Spel bolken i lykkje"
-#: editor.cc:1945 editor.cc:2022
+#: editor.cc:1864 editor.cc:1941
msgid "Select All in Track"
msgstr "Vel heile sporet"
-#: editor.cc:1946 editor.cc:2023 editor_actions.cc:185
-#: export_timespan_selector.cc:53 processor_box.cc:2276
-msgid "Select All"
-msgstr "Vel alt"
+#: editor.cc:1865 editor.cc:1942 editor_actions.cc:194
+msgid "Select All Objects"
+msgstr ""
-#: editor.cc:1947 editor.cc:2024
+#: editor.cc:1866 editor.cc:1943
msgid "Invert Selection in Track"
msgstr "Omvend valet i sporet"
-#: editor.cc:1948 editor.cc:2025 editor_actions.cc:187
+#: editor.cc:1867 editor.cc:1944 editor_actions.cc:197
msgid "Invert Selection"
msgstr "Omvend utvalet"
-#: editor.cc:1950
+#: editor.cc:1869
msgid "Set Range to Loop Range"
msgstr "Gjer lykkje-området til eige område"
-#: editor.cc:1951
+#: editor.cc:1870
msgid "Set Range to Punch Range"
msgstr "Gjer innslagsområdet til eige område"
-#: editor.cc:1953 editor.cc:2027 editor_actions.cc:188
+#: editor.cc:1872 editor.cc:1946 editor_actions.cc:199 editor_actions.cc:200
msgid "Select All After Edit Point"
msgstr "Vel alt etter redigeringspunktet"
-#: editor.cc:1954 editor.cc:2028 editor_actions.cc:189
+#: editor.cc:1873 editor.cc:1947 editor_actions.cc:201 editor_actions.cc:202
msgid "Select All Before Edit Point"
msgstr "Vel alt før redigeringspunktet"
-#: editor.cc:1955 editor.cc:2029
+#: editor.cc:1874 editor.cc:1948
msgid "Select All After Playhead"
msgstr "Vel alt etter spelehovudet"
-#: editor.cc:1956 editor.cc:2030
+#: editor.cc:1875 editor.cc:1949
msgid "Select All Before Playhead"
msgstr "Vel alt før spelehovudet"
-#: editor.cc:1957
+#: editor.cc:1876
msgid "Select All Between Playhead and Edit Point"
msgstr "Vel alt mellom spelehovudet og redigeringspunktet"
-#: editor.cc:1958
+#: editor.cc:1877
msgid "Select All Within Playhead and Edit Point"
msgstr "Vel alt innanfor spelehovudet og redigeringspunktet"
-#: editor.cc:1959
+#: editor.cc:1878
msgid "Select Range Between Playhead and Edit Point"
msgstr "Vel område mellom spelehovudet og redigeringspunktet"
-#: editor.cc:1961 editor.cc:2032 editor_actions.cc:127 editor_actions.cc:128
+#: editor.cc:1880 editor.cc:1951 editor_actions.cc:131 editor_actions.cc:132
msgid "Select"
msgstr "Vel"
-#: editor.cc:1969 editor.cc:2040 editor_actions.cc:309 processor_box.cc:2261
+#: editor.cc:1888 editor.cc:1959 editor_actions.cc:334 processor_box.cc:2495
msgid "Cut"
msgstr "Klypp ut"
-#: editor.cc:1970 editor.cc:2041 editor_actions.cc:312 processor_box.cc:2264
+#: editor.cc:1889 editor.cc:1960 editor_actions.cc:338 processor_box.cc:2498
msgid "Copy"
msgstr "Kopier"
-#: editor.cc:1971 editor.cc:2042 editor_actions.cc:313 processor_box.cc:2272
+#: editor.cc:1890 editor.cc:1961 editor_actions.cc:339 processor_box.cc:2506
msgid "Paste"
msgstr "Lim inn"
-#: editor.cc:1975 editor_actions.cc:87
+#: editor.cc:1894 editor_actions.cc:91
msgid "Align"
msgstr "Juster"
-#: editor.cc:1976
+#: editor.cc:1895
msgid "Align Relative"
msgstr "Juster relativt"
-#: editor.cc:1983
+#: editor.cc:1902
msgid "Insert Selected Region"
msgstr "Set inn den valde bolken"
-#: editor.cc:1984
+#: editor.cc:1903
msgid "Insert Existing Media"
msgstr "Set inn eksisterande media"
-#: editor.cc:1993 editor.cc:2049
+#: editor.cc:1912 editor.cc:1968
msgid "Nudge Entire Track Later"
msgstr "Skubb heile sporet seinare"
-#: editor.cc:1994 editor.cc:2050
+#: editor.cc:1913 editor.cc:1969
msgid "Nudge Track After Edit Point Later"
msgstr "Skubb sporet etter redigeringspunktet seinare"
-#: editor.cc:1995 editor.cc:2051
+#: editor.cc:1914 editor.cc:1970
msgid "Nudge Entire Track Earlier"
msgstr "Skubb heile sporet tidlegare"
-#: editor.cc:1996 editor.cc:2052
+#: editor.cc:1915 editor.cc:1971
msgid "Nudge Track After Edit Point Earlier"
msgstr "Skubb sporet etter redigeringspunktet tidlegare"
-#: editor.cc:1998 editor.cc:2054
+#: editor.cc:1917 editor.cc:1973
msgid "Nudge"
msgstr "Skubb"
-#: editor.cc:3074
+#: editor.cc:2916 editor.cc:3491 editor.cc:3561 midi_channel_selector.cc:159
+#: midi_channel_selector.cc:397 midi_channel_selector.cc:433
+msgid "All"
+msgstr "Alt"
+
+#: editor.cc:3122
msgid "Smart Mode (add Range functions to Object mode)"
msgstr "Smart modus (legg til område-funksjonar i objektmodusen)"
-#: editor.cc:3075
+#: editor.cc:3123
msgid "Object Mode (select/move Objects)"
msgstr "Objektmodus (vel/flytt objekt)"
-#: editor.cc:3076
+#: editor.cc:3124
+msgid "Cut Mode (split Regions)"
+msgstr ""
+
+#: editor.cc:3125
msgid "Range Mode (select/move Ranges)"
msgstr "Områdemodus (vel/flytt område)"
-#: editor.cc:3077
+#: editor.cc:3126
msgid "Draw/Edit MIDI Notes"
msgstr "Teikna/endra MIDI-notar"
-#: editor.cc:3078
+#: editor.cc:3127
msgid "Draw Region Gain"
msgstr "Teikna bolkvolumet"
-#: editor.cc:3079
+#: editor.cc:3128
msgid "Select Zoom Range"
msgstr "Vel zoom-område"
-#: editor.cc:3080
+#: editor.cc:3129
msgid "Stretch/Shrink Regions and MIDI Notes"
msgstr "Strekk/krymp bolkar og MIDI-notar"
-#: editor.cc:3081
+#: editor.cc:3130
msgid "Listen to Specific Regions"
msgstr "Lytt på visse bolkar"
-#: editor.cc:3082
+#: editor.cc:3131
msgid "Note Level Editing"
msgstr "Rediger notenivå"
-#: editor.cc:3083
+#: editor.cc:3132
msgid ""
"Groups: click to (de)activate\n"
"Context-click for other operations"
@@ -2911,51 +2926,59 @@ msgstr ""
"Grupper: klikk for å skru av/på\n"
"Kontekst-klikk for andre handlingar"
-#: editor.cc:3084
+#: editor.cc:3133
msgid "Nudge Region/Selection Later"
msgstr "Skubb bolken/markeringa seinare"
-#: editor.cc:3085
+#: editor.cc:3134
msgid "Nudge Region/Selection Earlier"
msgstr "Skubb bolken/markeringa tidlegare"
-#: editor.cc:3086 editor_actions.cc:242
+#: editor.cc:3135 editor_actions.cc:262
msgid "Zoom In"
msgstr "Zoom inn"
-#: editor.cc:3087 editor_actions.cc:241
+#: editor.cc:3136 editor_actions.cc:261
msgid "Zoom Out"
msgstr "Zoom ut"
-#: editor.cc:3088 editor_actions.cc:243
+#: editor.cc:3137
+msgid "Zoom to Time Scale"
+msgstr ""
+
+#: editor.cc:3138 editor.cc:3513 editor_actions.cc:263
msgid "Zoom to Session"
msgstr "Zoom til heile økta"
-#: editor.cc:3089
+#: editor.cc:3139
msgid "Zoom focus"
msgstr "Zoom-fokus"
-#: editor.cc:3090
+#: editor.cc:3140
msgid "Expand Tracks"
msgstr "Utvid spor"
-#: editor.cc:3091
+#: editor.cc:3141
msgid "Shrink Tracks"
msgstr "Krymp spor"
-#: editor.cc:3092
+#: editor.cc:3142
+msgid "Number of visible tracks"
+msgstr ""
+
+#: editor.cc:3143
msgid "Snap/Grid Units"
msgstr "Feste- og rutenetteiningar"
-#: editor.cc:3093
+#: editor.cc:3144
msgid "Snap/Grid Mode"
msgstr "Feste- og rutenettmodus"
-#: editor.cc:3095
+#: editor.cc:3146
msgid "Edit Mode"
msgstr "Endringsmodus"
-#: editor.cc:3096
+#: editor.cc:3147
msgid ""
"Nudge Clock\n"
"(controls distance used to nudge regions and selections)"
@@ -2963,39 +2986,124 @@ msgstr ""
"Skubbeklokke\n"
"(kontrollerer avstanden som blir brukt til å skubba område og utval)"
-#: editor.cc:3198
-msgid "malformed URL passed to drag-n-drop code"
-msgstr "feilforma adresse sendt til dra-og-slepp-koden"
-
-#: editor.cc:3260 editor_actions.cc:291
+#: editor.cc:3285 editor_actions.cc:313
msgid "Command|Undo"
msgstr "Kommando|Angra"
-#: editor.cc:3262
+#: editor.cc:3287
msgid "Command|Undo (%1)"
msgstr "Kommando|Angra (%1)"
-#: editor.cc:3269 editor_actions.cc:292
+#: editor.cc:3294 editor_actions.cc:315 editor_actions.cc:316
+#: editor_actions.cc:317
msgid "Redo"
msgstr "Gjer omatt"
-#: editor.cc:3271
+#: editor.cc:3296
msgid "Redo (%1)"
msgstr "Gjer omatt (%1)"
-#: editor.cc:3290 editor.cc:3314 editor_actions.cc:106 editor_actions.cc:1794
+#: editor.cc:3315 editor.cc:3339 editor_actions.cc:110 editor_actions.cc:1842
msgid "Duplicate"
msgstr "Klon"
-#: editor.cc:3291
+#: editor.cc:3316
msgid "Number of duplications:"
msgstr "Kor mange klonar:"
-#: editor.cc:3868
+#: editor.cc:3490
+msgid "Selected"
+msgstr ""
+
+#: editor.cc:3493
+msgid "Fit 1 track"
+msgstr ""
+
+#: editor.cc:3494
+msgid "Fit 2 tracks"
+msgstr ""
+
+#: editor.cc:3495
+msgid "Fit 4 tracks"
+msgstr ""
+
+#: editor.cc:3496
+msgid "Fit 8 tracks"
+msgstr ""
+
+#: editor.cc:3497
+msgid "Fit 16 tracks"
+msgstr ""
+
+#: editor.cc:3498
+msgid "Fit 24 tracks"
+msgstr ""
+
+#: editor.cc:3499
+msgid "Fit 32 tracks"
+msgstr ""
+
+#: editor.cc:3500
+msgid "Fit 48 tracks"
+msgstr ""
+
+#: editor.cc:3501
+msgid "Fit All tracks"
+msgstr ""
+
+#: editor.cc:3502
+msgid "Fit Selected tracks"
+msgstr ""
+
+#: editor.cc:3504
+msgid "Zoom to 10 ms"
+msgstr ""
+
+#: editor.cc:3505
+msgid "Zoom to 100 ms"
+msgstr ""
+
+#: editor.cc:3506
+msgid "Zoom to 1 sec"
+msgstr ""
+
+#: editor.cc:3507
+msgid "Zoom to 10 sec"
+msgstr ""
+
+#: editor.cc:3508
+msgid "Zoom to 1 min"
+msgstr ""
+
+#: editor.cc:3509
+msgid "Zoom to 10 min"
+msgstr ""
+
+#: editor.cc:3510
+msgid "Zoom to 1 hour"
+msgstr ""
+
+#: editor.cc:3511
+msgid "Zoom to 8 hours"
+msgstr ""
+
+#: editor.cc:3512
+msgid "Zoom to 24 hours"
+msgstr ""
+
+#: editor.cc:3514
+msgid "Zoom to Range/Region Selection"
+msgstr ""
+
+#: editor.cc:3583
+msgid "*"
+msgstr ""
+
+#: editor.cc:3918
msgid "Playlist Deletion"
msgstr "Slett spelelister"
-#: editor.cc:3869
+#: editor.cc:3919
msgid ""
"Playlist %1 is currently unused.\n"
"If it is kept, its audio files will not be cleaned.\n"
@@ -3005,1307 +3113,1299 @@ msgstr ""
"Om du let henne vera, blir ingen lydfiler derifrå rydda bort.\n"
"Om du slettar henne, vil alle lydfiler derifrå bli rydda bort."
-#: editor.cc:3879
+#: editor.cc:3929
msgid "Delete Playlist"
msgstr "Slett speleliste"
-#: editor.cc:3880
+#: editor.cc:3930
msgid "Keep Playlist"
msgstr "Ha speleliste"
-#: editor.cc:3881 editor_audio_import.cc:581 editor_ops.cc:5856
-#: engine_dialog.cc:1711 sfdb_freesound_mootcher.cc:69 processor_box.cc:2030
-#: processor_box.cc:2055
+#: editor.cc:3931 editor_audio_import.cc:579 editor_ops.cc:5931
+#: engine_dialog.cc:1985 sfdb_freesound_mootcher.cc:69 processor_box.cc:2263
+#: processor_box.cc:2288
msgid "Cancel"
msgstr "Avbryt"
-#: editor.cc:4025
+#: editor.cc:4065
msgid "new playlists"
msgstr "nye spelelister"
-#: editor.cc:4041
+#: editor.cc:4081
msgid "copy playlists"
msgstr "kopier spelelister"
-#: editor.cc:4056
+#: editor.cc:4096
msgid "clear playlists"
msgstr "tøm spelelister"
-#: editor.cc:4691
+#: editor.cc:4771
msgid "Please wait while %1 loads visual data."
msgstr "Vent medan %1 lastar visuelle data"
-#: editor.cc:5496 editor_markers.cc:940 panner_ui.cc:392 processor_box.cc:2292
+#: editor.cc:5592 editor_markers.cc:954 panner_ui.cc:409 processor_box.cc:2526
msgid "Edit..."
msgstr "Endra..."
-#: editor_actions.cc:88
+#: editor_actions.cc:92
msgid "Autoconnect"
msgstr "Automatisk tilkopling"
-#: editor_actions.cc:89
+#: editor_actions.cc:93
msgid "Crossfades"
msgstr "Krysstoningar"
-#: editor_actions.cc:91
+#: editor_actions.cc:95
msgid "Move Selected Marker"
msgstr "Flytt den valde markøren"
-#: editor_actions.cc:92
+#: editor_actions.cc:96
msgid "Select Range Operations"
msgstr "Vel områdehandlingar"
-#: editor_actions.cc:93
+#: editor_actions.cc:97
msgid "Select Regions"
msgstr "Vel bolkar"
-#: editor_actions.cc:94
+#: editor_actions.cc:98
msgid "Edit Point"
msgstr "Redigeringspunkt"
-#: editor_actions.cc:95
+#: editor_actions.cc:99
msgid "Fade"
msgstr "Ton ut"
-#: editor_actions.cc:96
+#: editor_actions.cc:100
msgid "Latch"
msgstr "Lask"
-#: editor_actions.cc:97 editor_regions.cc:111 region_editor.cc:46
+#: editor_actions.cc:101 editor_regions.cc:112 region_editor.cc:45
msgid "Region"
msgstr "Bolk"
-#: editor_actions.cc:98
+#: editor_actions.cc:102
msgid "Layering"
msgstr "Lag"
-#: editor_actions.cc:99 editor_regions.cc:112 gtk-custom-ruler.c:152
-#: stereo_panner_editor.cc:44
+#: editor_actions.cc:103 editor_regions.cc:113 stereo_panner_editor.cc:44
msgid "Position"
msgstr "Posisjon"
-#: editor_actions.cc:101 gain_meter.cc:120 gain_meter.cc:794 panner_ui.cc:176
-#: panner_ui.cc:585
+#: editor_actions.cc:105 gain_meter.cc:122 gain_meter.cc:800 panner_ui.cc:177
+#: panner_ui.cc:634
msgid "Trim"
msgstr "Skjer til"
-#: editor_actions.cc:102 editor_actions.cc:122 route_group_dialog.cc:40
+#: editor_actions.cc:106 editor_actions.cc:126 route_group_dialog.cc:46
msgid "Gain"
msgstr "Innvolum"
-#: editor_actions.cc:103 editor_actions.cc:538
+#: editor_actions.cc:107 editor_actions.cc:573
msgid "Ranges"
msgstr "Område"
-#: editor_actions.cc:104 editor_actions.cc:1790 session_option_editor.cc:145
-#: session_option_editor.cc:147 session_option_editor.cc:156
-#: session_option_editor.cc:163
+#: editor_actions.cc:108 editor_actions.cc:1838 session_option_editor.cc:135
+#: session_option_editor.cc:144 session_option_editor.cc:151
msgid "Fades"
msgstr "Toningar"
-#: editor_actions.cc:107
+#: editor_actions.cc:111
msgid "Link"
msgstr "Lenkje"
-#: editor_actions.cc:108 editor_actions.cc:141
+#: editor_actions.cc:112 editor_actions.cc:145
msgid "Zoom Focus"
msgstr "Zoom-fokus"
-#: editor_actions.cc:109
+#: editor_actions.cc:113
msgid "Locate to Markers"
msgstr "Gå til markørar"
-#: editor_actions.cc:110 editor_actions.cc:539
-msgid "Markers"
-msgstr "Markørar"
-
-#: editor_actions.cc:111
+#: editor_actions.cc:115
msgid "Meter falloff"
msgstr "Slepp nivåtoppar"
-#: editor_actions.cc:112
+#: editor_actions.cc:116
msgid "Meter hold"
msgstr "Hald nivåtoppar"
-#: editor_actions.cc:113 session_option_editor.cc:234
+#: editor_actions.cc:117 session_option_editor.cc:321
msgid "MIDI Options"
msgstr "MIDI-oppsett"
-#: editor_actions.cc:114
+#: editor_actions.cc:118
msgid "Misc Options"
msgstr "Ymse val"
-#: editor_actions.cc:115 rc_option_editor.cc:1450 route_group_dialog.cc:48
-#: session_option_editor.cc:218 session_option_editor.cc:225
+#: editor_actions.cc:119 rc_option_editor.cc:1714 route_group_dialog.cc:54
+#: session_option_editor.cc:243 session_option_editor.cc:250
msgid "Monitoring"
msgstr "Lytting"
-#: editor_actions.cc:116
+#: editor_actions.cc:120
msgid "Active Mark"
msgstr "Aktivt merke"
-#: editor_actions.cc:119
+#: editor_actions.cc:123
msgid "Primary Clock"
msgstr "Primærklokke"
-#: editor_actions.cc:120
+#: editor_actions.cc:124
msgid "Pullup / Pulldown"
msgstr "Dra opp/dra ned"
-#: editor_actions.cc:121
+#: editor_actions.cc:125
msgid "Region operations"
msgstr "Bolkhandlingar"
-#: editor_actions.cc:123
+#: editor_actions.cc:127 ruler_dialog.cc:28
msgid "Rulers"
msgstr "Linjalar"
-#: editor_actions.cc:124
+#: editor_actions.cc:128
msgid "Views"
msgstr "Visingar"
-#: editor_actions.cc:125
+#: editor_actions.cc:129
msgid "Scroll"
msgstr "Rull"
-#: editor_actions.cc:126
+#: editor_actions.cc:130
msgid "Secondary Clock"
msgstr "Sekundærklokke"
-#: editor_actions.cc:129 editor_actions.cc:297
+#: editor_actions.cc:133 editor_actions.cc:322
msgid "Separate"
msgstr "Skil"
-#: editor_actions.cc:132 mixer_strip.cc:1914 route_time_axis.cc:208
-#: route_time_axis.cc:2417
-msgid "Solo"
-msgstr "Solo"
-
-#: editor_actions.cc:133
+#: editor_actions.cc:137
msgid "Subframes"
msgstr "Underruter"
-#: editor_actions.cc:136
+#: editor_actions.cc:140
msgid "Timecode fps"
msgstr "Tidskode-RPS"
-#: editor_actions.cc:137 route_time_axis.cc:430
+#: editor_actions.cc:141 route_time_axis.cc:548
msgid "Height"
msgstr "Høgd"
-#: editor_actions.cc:139
+#: editor_actions.cc:143
msgid "Tools"
msgstr "Verktøy"
-#: editor_actions.cc:140
+#: editor_actions.cc:144
msgid "View"
msgstr "Vis"
-#: editor_actions.cc:142
+#: editor_actions.cc:146
msgid "Zoom"
msgstr "Zoom"
-#: editor_actions.cc:148
+#: editor_actions.cc:152
msgid "Break drag or deselect all"
msgstr "Bryt og dra eller vel ingen"
-#: editor_actions.cc:150
+#: editor_actions.cc:159
msgid "Show Editor Mixer"
msgstr "Vis redigeringsmiksar"
-#: editor_actions.cc:151
+#: editor_actions.cc:160
msgid "Show Editor List"
msgstr "Vis redigeringslista"
-#: editor_actions.cc:153
+#: editor_actions.cc:162
msgid "Playhead to Next Region Boundary"
msgstr "Spelehovudet til neste bolkgrense"
-#: editor_actions.cc:154
+#: editor_actions.cc:163
msgid "Playhead to Next Region Boundary (No Track Selection)"
msgstr "Spelehovudet til neste bolkgrense (ikkje vel spor)"
-#: editor_actions.cc:155
+#: editor_actions.cc:164
msgid "Playhead to Previous Region Boundary"
msgstr "Spelehovudet til førre bolkgrense"
-#: editor_actions.cc:156
+#: editor_actions.cc:165
msgid "Playhead to Previous Region Boundary (No Track Selection)"
msgstr "Spelehovudet til førre bolkgrense (ikkje vel spor)"
-#: editor_actions.cc:158
+#: editor_actions.cc:167
msgid "Playhead to Next Region Start"
msgstr "Spelehovudet til neste bolkstart"
-#: editor_actions.cc:159
+#: editor_actions.cc:168
msgid "Playhead to Next Region End"
msgstr "Spelehovudet til neste bolk"
-#: editor_actions.cc:160
+#: editor_actions.cc:169
msgid "Playhead to Next Region Sync"
msgstr "Spelehovudet til neste bolksynk"
-#: editor_actions.cc:162
+#: editor_actions.cc:171
msgid "Playhead to Previous Region Start"
msgstr "Spelehovudet til førre bolkstart"
-#: editor_actions.cc:163
+#: editor_actions.cc:172
msgid "Playhead to Previous Region End"
msgstr "Spelehovudet til førre bolkslutt"
-#: editor_actions.cc:164
+#: editor_actions.cc:173
msgid "Playhead to Previous Region Sync"
msgstr "Spelehovudet til førre bolksynk"
-#: editor_actions.cc:166
+#: editor_actions.cc:175
msgid "To Next Region Boundary"
msgstr "Til neste bolkgrense"
-#: editor_actions.cc:167
+#: editor_actions.cc:176
msgid "To Next Region Boundary (No Track Selection)"
msgstr "Til neste bolkgrense (ikkje vel spor)"
-#: editor_actions.cc:168
+#: editor_actions.cc:177
msgid "To Previous Region Boundary"
msgstr "Til førre bolkgrense"
-#: editor_actions.cc:169
+#: editor_actions.cc:178
msgid "To Previous Region Boundary (No Track Selection)"
msgstr "til førre bolkgrense (ingen valde spor)"
-#: editor_actions.cc:171
+#: editor_actions.cc:180
msgid "To Next Region Start"
msgstr "Til neste bolkstart"
-#: editor_actions.cc:172
+#: editor_actions.cc:181
msgid "To Next Region End"
msgstr "Til neste bolkslutt"
-#: editor_actions.cc:173
+#: editor_actions.cc:182
msgid "To Next Region Sync"
msgstr "Til neste bolksynk"
-#: editor_actions.cc:175
+#: editor_actions.cc:184
msgid "To Previous Region Start"
msgstr "Til førre bolkstart"
-#: editor_actions.cc:176
+#: editor_actions.cc:185
msgid "To Previous Region End"
msgstr "Til førre bolkslutt"
-#: editor_actions.cc:177
+#: editor_actions.cc:186
msgid "To Previous Region Sync"
msgstr "Til førre bolksynk"
-#: editor_actions.cc:179
+#: editor_actions.cc:188
msgid "To Range Start"
msgstr "Til starten på området"
-#: editor_actions.cc:180
+#: editor_actions.cc:189
msgid "To Range End"
msgstr "Til slutten av området"
-#: editor_actions.cc:182
+#: editor_actions.cc:191
msgid "Playhead to Range Start"
msgstr "Spelehovudet til starten på området"
-#: editor_actions.cc:183
+#: editor_actions.cc:192
msgid "Playhead to Range End"
msgstr "Spelehovudet til slutten av området"
-#: editor_actions.cc:186 export_timespan_selector.cc:61 processor_box.cc:2278
+#: editor_actions.cc:195
+msgid "Select All Tracks"
+msgstr ""
+
+#: editor_actions.cc:196 export_timespan_selector.cc:61 processor_box.cc:2512
msgid "Deselect All"
msgstr "Fjern markering"
-#: editor_actions.cc:191
+#: editor_actions.cc:204
msgid "Select All Overlapping Edit Range"
msgstr "Vel alt som overlappar redigeringsområdet"
-#: editor_actions.cc:192
+#: editor_actions.cc:205
msgid "Select All Inside Edit Range"
msgstr "Vel alt i redigeringsområdet"
-#: editor_actions.cc:194
+#: editor_actions.cc:207
msgid "Select Edit Range"
msgstr "Vel redigeringsområdet"
-#: editor_actions.cc:196
+#: editor_actions.cc:209
msgid "Select All in Punch Range"
msgstr "Vel alt i innslagsområdet"
-#: editor_actions.cc:197
+#: editor_actions.cc:210
msgid "Select All in Loop Range"
msgstr "Vel alt i lykkje-området"
-#: editor_actions.cc:199
+#: editor_actions.cc:212
msgid "Select Next Track or Bus"
msgstr "Vel neste spor eller buss"
-#: editor_actions.cc:200
+#: editor_actions.cc:213
msgid "Select Previous Track or Bus"
msgstr "Vel førre spor eller buss"
-#: editor_actions.cc:202
+#: editor_actions.cc:215
msgid "Toggle Record Enable"
msgstr "Skru på/av opptak"
-#: editor_actions.cc:204
+#: editor_actions.cc:217
msgid "Toggle Solo"
msgstr "Solo av/på"
-#: editor_actions.cc:206
+#: editor_actions.cc:219
msgid "Toggle Mute"
msgstr "Demping av/på"
-#: editor_actions.cc:208
+#: editor_actions.cc:221
msgid "Toggle Solo Isolate"
msgstr "Isolert solo av/på"
-#: editor_actions.cc:213
+#: editor_actions.cc:226
msgid "Save View %1"
msgstr "Lagra vising %1"
-#: editor_actions.cc:219
+#: editor_actions.cc:232
msgid "Goto View %1"
msgstr "GÃ¥ til vising %1"
-#: editor_actions.cc:225
+#: editor_actions.cc:238
msgid "Locate to Mark %1"
msgstr "GÃ¥ til merke %1"
-#: editor_actions.cc:229
+#: editor_actions.cc:242 editor_actions.cc:243
msgid "Jump to Next Mark"
msgstr "Hopp til neste merke"
-#: editor_actions.cc:230
+#: editor_actions.cc:244 editor_actions.cc:245
msgid "Jump to Previous Mark"
msgstr "Hopp til førre merke"
-#: editor_actions.cc:231
+#: editor_actions.cc:247 editor_actions.cc:248
msgid "Add Mark from Playhead"
msgstr "Legg til merke ved spelehovudet"
-#: editor_actions.cc:233
+#: editor_actions.cc:250 editor_actions.cc:251
+msgid "Remove Mark at Playhead"
+msgstr ""
+
+#: editor_actions.cc:253
msgid "Nudge Next Later"
msgstr "Skubb neste seinare"
-#: editor_actions.cc:234
+#: editor_actions.cc:254
msgid "Nudge Next Earlier"
msgstr "Skubb neste tidlegare"
-#: editor_actions.cc:236
+#: editor_actions.cc:256
msgid "Nudge Playhead Forward"
msgstr "Skubb spelehovudet framover"
-#: editor_actions.cc:237
+#: editor_actions.cc:257
msgid "Nudge Playhead Backward"
msgstr "Skubb spelehovudet bakover"
-#: editor_actions.cc:238
+#: editor_actions.cc:258
msgid "Playhead To Next Grid"
msgstr "Spelehovudet til neste gitter"
-#: editor_actions.cc:239
+#: editor_actions.cc:259
msgid "Playhead To Previous Grid"
msgstr "Spelehovudet til førre gitter"
-#: editor_actions.cc:244
+#: editor_actions.cc:264
msgid "Zoom to Region"
msgstr "Zoom til bolken"
-#: editor_actions.cc:245
+#: editor_actions.cc:265
msgid "Zoom to Region (Width and Height)"
msgstr "Zoom til bolken (vidd og høgd)"
-#: editor_actions.cc:246
+#: editor_actions.cc:267
+msgid "Zoom to Range (Width and Height)"
+msgstr ""
+
+#: editor_actions.cc:268
msgid "Toggle Zoom State"
msgstr "Endre zoom-tilstand"
-#: editor_actions.cc:248
+#: editor_actions.cc:270
msgid "Expand Track Height"
msgstr "Utvid sporhøgd"
-#: editor_actions.cc:249
+#: editor_actions.cc:271
msgid "Shrink Track Height"
msgstr "Krymp sporhøgd"
-#: editor_actions.cc:251
+#: editor_actions.cc:273
msgid "Move Selected Tracks Up"
msgstr "Flytt dei valde spora opp"
-#: editor_actions.cc:253
+#: editor_actions.cc:275
msgid "Move Selected Tracks Down"
msgstr "Flytt dei valde spora"
-#: editor_actions.cc:256
+#: editor_actions.cc:278
msgid "Scroll Tracks Up"
msgstr "Rull spor opp"
-#: editor_actions.cc:258
+#: editor_actions.cc:280
msgid "Scroll Tracks Down"
msgstr "Rull spor ned"
-#: editor_actions.cc:260
+#: editor_actions.cc:282
msgid "Step Tracks Up"
msgstr "GÃ¥ spor opp"
-#: editor_actions.cc:262
+#: editor_actions.cc:284
msgid "Step Tracks Down"
msgstr "GÃ¥ spor ned"
-#: editor_actions.cc:265
+#: editor_actions.cc:287
msgid "Scroll Backward"
msgstr "Rull bakover"
-#: editor_actions.cc:266
+#: editor_actions.cc:288
msgid "Scroll Forward"
msgstr "Rull framover"
-#: editor_actions.cc:267
+#: editor_actions.cc:289
msgid "Center Playhead"
msgstr "Spelehovudet i midten"
-#: editor_actions.cc:268
+#: editor_actions.cc:290
msgid "Center Edit Point"
msgstr "Midtstill redigeringspunktet"
-#: editor_actions.cc:270
+#: editor_actions.cc:292
msgid "Playhead Forward"
msgstr "Spelehovudet framover"
-#: editor_actions.cc:271
+#: editor_actions.cc:293
msgid "Playhead Backward"
msgstr "Spelehovudet bakover"
-#: editor_actions.cc:273
+#: editor_actions.cc:295
msgid "Playhead to Active Mark"
msgstr "Spelehovudet til det aktive merket"
-#: editor_actions.cc:274
+#: editor_actions.cc:296
msgid "Active Mark to Playhead"
msgstr "Aktivt merke til spelehovudet"
-#: editor_actions.cc:276
+#: editor_actions.cc:298
msgid "Set Loop from Edit Range"
msgstr "Set lykkje frå redigeringsområdet"
-#: editor_actions.cc:277
+#: editor_actions.cc:299
msgid "Set Punch from Edit Range"
msgstr "Set innslag frå redigeringsområdet"
-#: editor_actions.cc:280
+#: editor_actions.cc:302
msgid "Play Selected Regions"
msgstr "Spel dei valde bolkane"
-#: editor_actions.cc:282
+#: editor_actions.cc:304
msgid "Play from Edit Point and Return"
msgstr "Spel frå redigeringspunktet og gå attende"
-#: editor_actions.cc:284
+#: editor_actions.cc:306
msgid "Play Edit Range"
msgstr "Spel redigeringsområdet"
-#: editor_actions.cc:286
+#: editor_actions.cc:308
msgid "Playhead to Mouse"
msgstr "Spelehovudet til musa"
-#: editor_actions.cc:287
+#: editor_actions.cc:309
msgid "Active Marker to Mouse"
msgstr "Aktiv markør til musa"
-#: editor_actions.cc:294
+#: editor_actions.cc:319
msgid "Export Audio"
msgstr "Eksporter lyd"
-#: editor_actions.cc:295 export_dialog.cc:406
+#: editor_actions.cc:320 export_dialog.cc:396
msgid "Export Range"
msgstr "Eksporter området"
-#: editor_actions.cc:300
+#: editor_actions.cc:325
msgid "Separate Using Punch Range"
msgstr "Gjer innslagsområdet til eige område"
-#: editor_actions.cc:303
+#: editor_actions.cc:328
msgid "Separate Using Loop Range"
msgstr "Gjer lykkje-området til eige område"
-#: editor_actions.cc:306 editor_actions.cc:323
+#: editor_actions.cc:331 editor_actions.cc:353
msgid "Crop"
msgstr "Skjer til"
-#: editor_actions.cc:315
+#: editor_actions.cc:341
+msgid "Fade Range Selection"
+msgstr ""
+
+#: editor_actions.cc:343
msgid "Set Tempo from Edit Range = Bar"
msgstr "Set tempoet ut frå at redigeringsområdet = ei takt"
-#: editor_actions.cc:317
+#: editor_actions.cc:345
msgid "Log"
msgstr "Logg"
-#: editor_actions.cc:320
+#: editor_actions.cc:348 editor_actions.cc:349
msgid "Move Later to Transient"
msgstr "Flytt seinare til signaltopp"
-#: editor_actions.cc:321
+#: editor_actions.cc:350 editor_actions.cc:351
msgid "Move Earlier to Transient"
msgstr "Flytt tidlegare til signaltopp"
-#: editor_actions.cc:325
+#: editor_actions.cc:355 editor_actions.cc:358
msgid "Start Range"
msgstr "Start området"
-#: editor_actions.cc:326
+#: editor_actions.cc:356 editor_actions.cc:359
msgid "Finish Range"
msgstr "Lag slutt på området"
-#: editor_actions.cc:327
-msgid "Finish Add Range"
-msgstr "Slutt å leggja til område"
-
-#: editor_actions.cc:357
+#: editor_actions.cc:391
msgid "Follow Playhead"
msgstr "Fylg spelehovudet"
-#: editor_actions.cc:358
+#: editor_actions.cc:392
msgid "Remove Last Capture"
msgstr "Fjern siste opptaket "
-#: editor_actions.cc:360
+#: editor_actions.cc:394
msgid "Stationary Playhead"
msgstr "Fast spelehovud"
-#: editor_actions.cc:362 insert_time_dialog.cc:32
+#: editor_actions.cc:396 insert_time_dialog.cc:32
msgid "Insert Time"
msgstr "Set inn tid"
-#: editor_actions.cc:365
+#: editor_actions.cc:399
msgid "Toggle Active"
msgstr "Slå av/på"
-#: editor_actions.cc:370 editor_actions.cc:1716 editor_markers.cc:876
-#: editor_markers.cc:941 editor_snapshots.cc:121 mixer_strip.cc:1495
-#: route_time_axis.cc:710
+#: editor_actions.cc:404 editor_actions.cc:1764 editor_markers.cc:890
+#: editor_markers.cc:955 editor_snapshots.cc:122 mixer_strip.cc:1506
+#: route_time_axis.cc:829
msgid "Remove"
msgstr "Fjern"
-#: editor_actions.cc:374
+#: editor_actions.cc:408
msgid "Fit Selected Tracks"
msgstr "Tilpass dei valde spora"
-#: editor_actions.cc:376 time_axis_view.cc:1302
+#: editor_actions.cc:411 time_axis_view.cc:1336
msgid "Largest"
msgstr "Størst"
-#: editor_actions.cc:379 time_axis_view.cc:1303
+#: editor_actions.cc:414 time_axis_view.cc:1337
msgid "Larger"
msgstr "Større"
-#: editor_actions.cc:382 editor_rulers.cc:375 time_axis_view.cc:1304
+#: editor_actions.cc:417 editor_rulers.cc:249 time_axis_view.cc:1338
msgid "Large"
msgstr "Stor"
-#: editor_actions.cc:388 editor_rulers.cc:379 time_axis_view.cc:1306
+#: editor_actions.cc:423 editor_rulers.cc:253 time_axis_view.cc:1340
msgid "Small"
msgstr "Liten"
-#: editor_actions.cc:392
+#: editor_actions.cc:427
msgid "Sound Selected MIDI Notes"
msgstr "Lytt på dei valde MIDI-notane"
-#: editor_actions.cc:397
+#: editor_actions.cc:432
msgid "Zoom Focus Left"
msgstr "Zoomfokus: venstre"
-#: editor_actions.cc:398
+#: editor_actions.cc:433
msgid "Zoom Focus Right"
msgstr "Zoomfokus: høgre"
-#: editor_actions.cc:399
+#: editor_actions.cc:434
msgid "Zoom Focus Center"
msgstr "Zoomfokus: midten"
-#: editor_actions.cc:400
+#: editor_actions.cc:435
msgid "Zoom Focus Playhead"
msgstr "Zoomfokus: spelehovudet"
-#: editor_actions.cc:401
+#: editor_actions.cc:436
msgid "Zoom Focus Mouse"
msgstr "Fokus følgjer musa"
-#: editor_actions.cc:402
+#: editor_actions.cc:437
msgid "Zoom Focus Edit Point"
msgstr "Zoomfokus på redigeringspunktet"
-#: editor_actions.cc:404
+#: editor_actions.cc:439
msgid "Next Zoom Focus"
msgstr "Neste zoom-fokus"
-#: editor_actions.cc:410
+#: editor_actions.cc:445
msgid "Smart Object Mode"
msgstr "Smart objektmodus"
-#: editor_actions.cc:413
+#: editor_actions.cc:448
msgid "Smart"
msgstr "Smart"
-#: editor_actions.cc:417
+#: editor_actions.cc:451
msgid "Object Tool"
msgstr "Objektverkty"
-#: editor_actions.cc:423
+#: editor_actions.cc:456
msgid "Range Tool"
msgstr "Områdeverkty"
-#: editor_actions.cc:429
+#: editor_actions.cc:461
msgid "Note Drawing Tool"
msgstr "Noteteikningsverkty"
-#: editor_actions.cc:435
+#: editor_actions.cc:466
msgid "Gain Tool"
msgstr "Innvolumverkty"
-#: editor_actions.cc:441
+#: editor_actions.cc:472
msgid "Zoom Tool"
msgstr "Zoomverkty"
-#: editor_actions.cc:447
+#: editor_actions.cc:478
msgid "Audition Tool"
msgstr "Lytteverkty"
-#: editor_actions.cc:453
+#: editor_actions.cc:483
msgid "Time FX Tool"
msgstr "Tidseffektverkty"
-#: editor_actions.cc:459
+#: editor_actions.cc:489
+msgid "Cut Tool"
+msgstr ""
+
+#: editor_actions.cc:495
msgid "Step Mouse Mode"
msgstr "Stegmusemodus"
-#: editor_actions.cc:461
+#: editor_actions.cc:497
msgid "Edit MIDI"
msgstr "Endra MIDI"
-#: editor_actions.cc:472
+#: editor_actions.cc:507
msgid "Change Edit Point"
msgstr "Endra redigeringspunkt"
-#: editor_actions.cc:473
+#: editor_actions.cc:508
msgid "Change Edit Point Including Marker"
msgstr "Endra redigeringspunktet, med markør"
-#: editor_actions.cc:475
-msgid "Splice"
-msgstr "Spleis"
-
-#: editor_actions.cc:477
-msgid "Slide"
-msgstr "Gli"
-
-#: editor_actions.cc:478 editor_actions.cc:1737 editor_markers.cc:860
-#: editor_rulers.cc:386 location_ui.cc:56
-msgid "Lock"
-msgstr "LÃ¥s"
-
-#: editor_actions.cc:479
-msgid "Toggle Edit Mode"
-msgstr "Slå av/på redigeringsmodus"
+#: editor_actions.cc:514
+msgid "Cycle Edit Mode"
+msgstr ""
-#: editor_actions.cc:481
+#: editor_actions.cc:516
msgid "Snap to"
msgstr "Fest til"
-#: editor_actions.cc:482
+#: editor_actions.cc:517
msgid "Snap Mode"
msgstr "Festemodus"
-#: editor_actions.cc:489
+#: editor_actions.cc:524
msgid "Next Snap Mode"
msgstr "Neste festemodus"
-#: editor_actions.cc:490
+#: editor_actions.cc:525
msgid "Next Snap Choice"
msgstr "Neste festeval"
-#: editor_actions.cc:491
+#: editor_actions.cc:526
msgid "Next Musical Snap Choice"
msgstr "Neste musikalsk festing-val"
-#: editor_actions.cc:492
+#: editor_actions.cc:527
msgid "Previous Snap Choice"
msgstr "Neste musikalsk festing-val"
-#: editor_actions.cc:493
+#: editor_actions.cc:528
msgid "Previous Musical Snap Choice"
msgstr "Førre musikalsk fest-val"
-#: editor_actions.cc:498
+#: editor_actions.cc:533
msgid "Snap to CD Frame"
msgstr "Fest til CD-ramme"
-#: editor_actions.cc:499
+#: editor_actions.cc:534
msgid "Snap to Timecode Frame"
msgstr "Fest til tidskoderamme"
-#: editor_actions.cc:500
+#: editor_actions.cc:535
msgid "Snap to Timecode Seconds"
msgstr "Fest til tidskodesekund"
-#: editor_actions.cc:501
+#: editor_actions.cc:536
msgid "Snap to Timecode Minutes"
msgstr "Fest til tidskodeminutt"
-#: editor_actions.cc:502
+#: editor_actions.cc:537
msgid "Snap to Seconds"
msgstr "Fest til sekund"
-#: editor_actions.cc:503
+#: editor_actions.cc:538
msgid "Snap to Minutes"
msgstr "Fest til minutt"
-#: editor_actions.cc:505
+#: editor_actions.cc:540
msgid "Snap to One Twenty Eighths"
msgstr "Fest til 128-deler"
-#: editor_actions.cc:506
+#: editor_actions.cc:541
msgid "Snap to Sixty Fourths"
msgstr "Fest til 64-deler"
-#: editor_actions.cc:507
+#: editor_actions.cc:542
msgid "Snap to Thirty Seconds"
msgstr "Fest til halvminutt"
-#: editor_actions.cc:508
+#: editor_actions.cc:543
msgid "Snap to Twenty Eighths"
msgstr "Fest til tjue åttendeler"
-#: editor_actions.cc:509
+#: editor_actions.cc:544
msgid "Snap to Twenty Fourths"
msgstr "Fest til tjue fjerdedeler"
-#: editor_actions.cc:510
+#: editor_actions.cc:545
msgid "Snap to Twentieths"
msgstr "Fest til tjuandedeler"
-#: editor_actions.cc:511
+#: editor_actions.cc:546
msgid "Snap to Sixteenths"
msgstr "Fest til sekstendel"
-#: editor_actions.cc:512
+#: editor_actions.cc:547
msgid "Snap to Fourteenths"
msgstr "Fest til fjortendel"
-#: editor_actions.cc:513
+#: editor_actions.cc:548
msgid "Snap to Twelfths"
msgstr "Fest til tolvtedelar"
-#: editor_actions.cc:514
+#: editor_actions.cc:549
msgid "Snap to Tenths"
msgstr "Fest til tiandedeler"
-#: editor_actions.cc:515
+#: editor_actions.cc:550
msgid "Snap to Eighths"
msgstr "Fest til åttendeler"
-#: editor_actions.cc:516
+#: editor_actions.cc:551
msgid "Snap to Sevenths"
msgstr "Fest til sjuandedeler"
-#: editor_actions.cc:517
+#: editor_actions.cc:552
msgid "Snap to Sixths"
msgstr "Fest til sjettedeler"
-#: editor_actions.cc:518
+#: editor_actions.cc:553
msgid "Snap to Fifths"
msgstr "Fest til femtedeler"
-#: editor_actions.cc:519
+#: editor_actions.cc:554
msgid "Snap to Quarters"
msgstr "Fest til fjerdedeler"
-#: editor_actions.cc:520
+#: editor_actions.cc:555
msgid "Snap to Thirds"
msgstr "Fest til tredjedeler"
-#: editor_actions.cc:521
+#: editor_actions.cc:556
msgid "Snap to Halves"
msgstr "Fest til halve"
-#: editor_actions.cc:523
+#: editor_actions.cc:558
msgid "Snap to Beat"
msgstr "Fest til taktslag"
-#: editor_actions.cc:524
+#: editor_actions.cc:559
msgid "Snap to Bar"
msgstr "Fest til takt"
-#: editor_actions.cc:525
+#: editor_actions.cc:560
msgid "Snap to Mark"
msgstr "Fest til merke"
-#: editor_actions.cc:526
+#: editor_actions.cc:561
msgid "Snap to Region Start"
msgstr "Fest til starten av bolken"
-#: editor_actions.cc:527
+#: editor_actions.cc:562
msgid "Snap to Region End"
msgstr "Fest til slutten av bolken"
-#: editor_actions.cc:528
+#: editor_actions.cc:563
msgid "Snap to Region Sync"
msgstr "Fest til synkpunktet for bolken"
-#: editor_actions.cc:529
+#: editor_actions.cc:564
msgid "Snap to Region Boundary"
msgstr "Fest til bolkgrensa"
-#: editor_actions.cc:531
+#: editor_actions.cc:566
msgid "Show Marker Lines"
msgstr "Vis markørliner"
-#: editor_actions.cc:541
+#: editor_actions.cc:576
msgid "Loop/Punch"
msgstr "Lykkje/innslag"
-#: editor_actions.cc:545
+#: editor_actions.cc:580
msgid "Min:Sec"
msgstr "Min:sek"
-#: editor_actions.cc:547 editor_actions.cc:550
+#: editor_actions.cc:582 editor_actions.cc:585
msgid "Video Monitor"
msgstr ""
-#: editor_actions.cc:549 rc_option_editor.cc:1829
+#: editor_actions.cc:584 rc_option_editor.cc:2134
msgid "Video"
msgstr ""
-#: editor_actions.cc:552
+#: editor_actions.cc:587
msgid "Always on Top"
msgstr ""
-#: editor_actions.cc:554
+#: editor_actions.cc:589
msgid "Frame number"
msgstr ""
-#: editor_actions.cc:555
+#: editor_actions.cc:590
msgid "Timecode Background"
msgstr ""
-#: editor_actions.cc:556
+#: editor_actions.cc:591
msgid "Fullscreen"
msgstr ""
-#: editor_actions.cc:557
+#: editor_actions.cc:592
msgid "Letterbox"
msgstr ""
-#: editor_actions.cc:558
+#: editor_actions.cc:593
msgid "Original Size"
msgstr ""
-#: editor_actions.cc:608
+#: editor_actions.cc:650
msgid "Sort"
msgstr "Sorter"
-#: editor_actions.cc:610 region_editor.cc:51
-msgid "Audition"
-msgstr "Lytt"
-
-#: editor_actions.cc:619 editor_routes.cc:470 mixer_ui.cc:1161
+#: editor_actions.cc:661 editor_routes.cc:473 mixer_ui.cc:1181
msgid "Show All"
msgstr "Vis alle"
-#: editor_actions.cc:620
+#: editor_actions.cc:662
msgid "Show Automatic Regions"
msgstr "Vis automatiske bolkar"
-#: editor_actions.cc:622
+#: editor_actions.cc:664
msgid "Ascending"
msgstr "Stigande"
-#: editor_actions.cc:624
+#: editor_actions.cc:666
msgid "Descending"
msgstr "Fallande"
-#: editor_actions.cc:627
+#: editor_actions.cc:669
msgid "By Region Name"
msgstr "Etter bolknamn"
-#: editor_actions.cc:629
+#: editor_actions.cc:671
msgid "By Region Length"
msgstr "Etter bolklengd"
-#: editor_actions.cc:631
+#: editor_actions.cc:673
msgid "By Region Position"
msgstr "Etter bolkplassering"
-#: editor_actions.cc:633
+#: editor_actions.cc:675
msgid "By Region Timestamp"
msgstr "Etter tidsstemplet på bolken"
-#: editor_actions.cc:635
+#: editor_actions.cc:677
msgid "By Region Start in File"
msgstr "Etter bolkstarten i fila"
-#: editor_actions.cc:637
+#: editor_actions.cc:679
msgid "By Region End in File"
msgstr "Etter bolkslutten i fila"
-#: editor_actions.cc:639
+#: editor_actions.cc:681
msgid "By Source File Name"
msgstr "Etter namn på kjeldefila"
-#: editor_actions.cc:641
+#: editor_actions.cc:683
msgid "By Source File Length"
msgstr "Etter lengd på kjeldefila"
-#: editor_actions.cc:643
+#: editor_actions.cc:685
msgid "By Source File Creation Date"
msgstr "Etter datoen kjeldefila vart oppretta"
-#: editor_actions.cc:645
+#: editor_actions.cc:687
msgid "By Source Filesystem"
msgstr "Etter kjeldefilsystemet"
-#: editor_actions.cc:648
+#: editor_actions.cc:690
msgid "Remove Unused"
msgstr "Fjern ubrukte"
-#: editor_actions.cc:652 editor_audio_import.cc:279
+#: editor_actions.cc:694 editor_audio_import.cc:277
#: session_import_dialog.cc:74 session_import_dialog.cc:94
-#: session_metadata_dialog.cc:297 editor_videotimeline.cc:108
+#: session_metadata_dialog.cc:297 editor_videotimeline.cc:92
msgid "Import"
msgstr "Importer"
-#: editor_actions.cc:655
+#: editor_actions.cc:697
msgid "Import to Region List..."
msgstr "Importer til bolklista..."
-#: editor_actions.cc:658 session_import_dialog.cc:43
+#: editor_actions.cc:700 session_import_dialog.cc:43
msgid "Import From Session"
msgstr "Importer frå økt"
-#: editor_actions.cc:661
+#: editor_actions.cc:704
+msgid "Bring all media into session folder"
+msgstr ""
+
+#: editor_actions.cc:707
msgid "Show Summary"
msgstr "Vis samandrag"
-#: editor_actions.cc:663
+#: editor_actions.cc:709
msgid "Show Group Tabs"
msgstr "Vis gruppefaner"
-#: editor_actions.cc:665
+#: editor_actions.cc:711
msgid "Show Measures"
msgstr "Vis takter"
-#: editor_actions.cc:669
+#: editor_actions.cc:715
msgid "Show Logo"
msgstr "Vis logo"
-#: editor_actions.cc:673
+#: editor_actions.cc:719
msgid "Toggle MIDI Input Active for Editor-Selected Tracks/Busses"
msgstr "Skru på/av aktiv MIDI-inngang for redigeringsvalde spor/bussar"
-#: editor_actions.cc:696
+#: editor_actions.cc:742
msgid "Loaded editor bindings from %1"
msgstr "Lastar redigerinsbindingar frå %1"
-#: editor_actions.cc:698
+#: editor_actions.cc:744
msgid "Could not find editor.bindings in search path %1"
msgstr "Fann ikkje editor.bindings i søkjestigen %1"
-#: editor_actions.cc:1028 editor_actions.cc:1424 editor_actions.cc:1435
-#: editor_actions.cc:1488 editor_actions.cc:1499 editor_actions.cc:1546
-#: editor_actions.cc:1556 editor_regions.cc:1561
+#: editor_actions.cc:1074 editor_actions.cc:1470 editor_actions.cc:1481
+#: editor_actions.cc:1534 editor_actions.cc:1545 editor_actions.cc:1592
+#: editor_actions.cc:1602 editor_regions.cc:1562
msgid "programming error: %1: %2"
msgstr "Programmeringsfeil: %1: %2"
-#: editor_actions.cc:1722
+#: editor_actions.cc:1770
msgid "Raise"
msgstr "Hev"
-#: editor_actions.cc:1725
+#: editor_actions.cc:1773
msgid "Raise to Top"
msgstr "Hev til toppen"
-#: editor_actions.cc:1728 gtk-custom-ruler.c:132
+#: editor_actions.cc:1776
msgid "Lower"
msgstr "Lægste"
-#: editor_actions.cc:1731
+#: editor_actions.cc:1779
msgid "Lower to Bottom"
msgstr "Senk til botnen"
-#: editor_actions.cc:1734
+#: editor_actions.cc:1782
msgid "Move to Original Position"
msgstr "Flytt til opphavleg plass"
-#: editor_actions.cc:1739
+#: editor_actions.cc:1787
msgid "Lock to Video"
msgstr ""
-#: editor_actions.cc:1744 editor_markers.cc:867
+#: editor_actions.cc:1792 editor_markers.cc:881
msgid "Glue to Bars and Beats"
msgstr "Lim til takter og taktslag"
-#: editor_actions.cc:1749
+#: editor_actions.cc:1797
msgid "Remove Sync"
msgstr "Fjern synk"
-#: editor_actions.cc:1752 mixer_strip.cc:1904 route_time_axis.cc:209
-msgid "Mute"
-msgstr "Demp"
-
-#: editor_actions.cc:1755
+#: editor_actions.cc:1803
msgid "Normalize..."
msgstr "Normaliser..."
-#: editor_actions.cc:1758
+#: editor_actions.cc:1806
msgid "Reverse"
msgstr "Baklengs"
-#: editor_actions.cc:1761
+#: editor_actions.cc:1809
msgid "Make Mono Regions"
msgstr "Lag mono-bolkar"
-#: editor_actions.cc:1764
+#: editor_actions.cc:1812
msgid "Boost Gain"
msgstr "Auk volumet"
-#: editor_actions.cc:1767
+#: editor_actions.cc:1815
msgid "Cut Gain"
msgstr "Mink volumet"
-#: editor_actions.cc:1770
+#: editor_actions.cc:1818
msgid "Pitch Shift..."
msgstr "Endra tonehøgd..."
-#: editor_actions.cc:1773
+#: editor_actions.cc:1821
msgid "Transpose..."
msgstr "Transponer..."
-#: editor_actions.cc:1776
+#: editor_actions.cc:1824
msgid "Opaque"
msgstr "Heildekkjande"
-#: editor_actions.cc:1780 editor_regions.cc:116
+#: editor_actions.cc:1828 editor_regions.cc:117
msgid "Fade In"
msgstr "Ton inn"
-#: editor_actions.cc:1785 editor_regions.cc:117
+#: editor_actions.cc:1833 editor_regions.cc:118
msgid "Fade Out"
msgstr "Ton ut"
-#: editor_actions.cc:1800
+#: editor_actions.cc:1848
msgid "Multi-Duplicate..."
msgstr "Multi-kopier..."
-#: editor_actions.cc:1805
+#: editor_actions.cc:1853
msgid "Fill Track"
msgstr "Fyll sporet"
-#: editor_actions.cc:1809 editor_markers.cc:955
+#: editor_actions.cc:1857 editor_markers.cc:969
msgid "Set Loop Range"
msgstr "Set lykkje-område"
-#: editor_actions.cc:1816
+#: editor_actions.cc:1864
msgid "Set Punch"
msgstr "Set innslag"
-#: editor_actions.cc:1820
+#: editor_actions.cc:1868
msgid "Add Single Range Marker"
msgstr "Legg til einskild områdemarkør"
-#: editor_actions.cc:1825
+#: editor_actions.cc:1873
msgid "Add Range Marker Per Region"
msgstr "Legg til områdemarkør per bolk"
-#: editor_actions.cc:1829
+#: editor_actions.cc:1877
msgid "Snap Position To Grid"
msgstr "Fest posisjonen til gitteret"
-#: editor_actions.cc:1832
+#: editor_actions.cc:1880
msgid "Close Gaps"
msgstr "Steng gap"
-#: editor_actions.cc:1835
+#: editor_actions.cc:1883
msgid "Rhythm Ferret..."
msgstr "Rytmefinnar..."
-#: editor_actions.cc:1838
+#: editor_actions.cc:1886
msgid "Export..."
msgstr "Eksporter..."
-#: editor_actions.cc:1844
+#: editor_actions.cc:1892
msgid "Separate Under"
msgstr "Skil under"
-#: editor_actions.cc:1848
+#: editor_actions.cc:1896 editor_actions.cc:1897
msgid "Set Fade In Length"
msgstr "Endre inntoningslengd"
-#: editor_actions.cc:1849
+#: editor_actions.cc:1898 editor_actions.cc:1899
msgid "Set Fade Out Length"
msgstr "Endre uttoningslengd"
-#: editor_actions.cc:1850
+#: editor_actions.cc:1901
msgid "Set Tempo from Region = Bar"
msgstr "Set tempoet ut frå at bolken = ei takt"
-#: editor_actions.cc:1855
+#: editor_actions.cc:1906
msgid "Split at Percussion Onsets"
msgstr "Del opp bolkane der perkusjonen kjem inn"
-#: editor_actions.cc:1860
+#: editor_actions.cc:1911
msgid "List Editor..."
msgstr "Listeredigering..."
-#: editor_actions.cc:1863
+#: editor_actions.cc:1914
msgid "Properties..."
msgstr "Eigenskapar..."
-#: editor_actions.cc:1867
+#: editor_actions.cc:1918
msgid "Bounce (with processing)"
msgstr "Miks ned området (med signalhandsaming)"
-#: editor_actions.cc:1868
+#: editor_actions.cc:1919
msgid "Bounce (without processing)"
msgstr "Nedmiks (utan signalhandsaming)"
-#: editor_actions.cc:1869
+#: editor_actions.cc:1920
msgid "Combine"
msgstr "Kombiner"
-#: editor_actions.cc:1870
+#: editor_actions.cc:1921
msgid "Uncombine"
msgstr "Løys opp"
-#: editor_actions.cc:1872
+#: editor_actions.cc:1923
msgid "Spectral Analysis..."
msgstr "Spektrumanalyse..."
-#: editor_actions.cc:1874
+#: editor_actions.cc:1925
msgid "Reset Envelope"
msgstr "Nullstill omhylling"
-#: editor_actions.cc:1876
+#: editor_actions.cc:1927
msgid "Reset Gain"
msgstr "Nullstill volum"
-#: editor_actions.cc:1881
+#: editor_actions.cc:1932
msgid "Envelope Active"
msgstr "Omhylling på"
-#: editor_actions.cc:1885
+#: editor_actions.cc:1936
msgid "Quantize..."
msgstr "Gitterfordel..."
-#: editor_actions.cc:1886 editor_actions.cc:1887
+#: editor_actions.cc:1937 editor_actions.cc:1938
msgid "Insert Patch Change..."
msgstr "Set inn koplingsendring..."
-#: editor_actions.cc:1888
+#: editor_actions.cc:1939
msgid "Unlink from other copies"
msgstr "Fjern lenkjer frå andre kopiar"
-#: editor_actions.cc:1889
+#: editor_actions.cc:1940
msgid "Strip Silence..."
msgstr "Skjer bort stille..."
-#: editor_actions.cc:1890
+#: editor_actions.cc:1941
msgid "Set Range Selection"
msgstr "Definer områdeval"
-#: editor_actions.cc:1892
+#: editor_actions.cc:1943 editor_actions.cc:1944
msgid "Nudge Later"
msgstr "Skubb seinare"
-#: editor_actions.cc:1893
+#: editor_actions.cc:1945 editor_actions.cc:1946
msgid "Nudge Earlier"
msgstr "Skubb tidlegare"
-#: editor_actions.cc:1898
+#: editor_actions.cc:1948
+msgid "Sequence Regions"
+msgstr ""
+
+#: editor_actions.cc:1953
msgid "Nudge Later by Capture Offset"
msgstr "Skubb seinare etter innspelingsforskuvinga"
-#: editor_actions.cc:1905
+#: editor_actions.cc:1960
msgid "Nudge Earlier by Capture Offset"
msgstr "Skubb tidlegare etter innspelingsforskuvinga"
-#: editor_actions.cc:1909
+#: editor_actions.cc:1964
msgid "Trim to Loop"
msgstr "Skjer til lykkja"
-#: editor_actions.cc:1910
+#: editor_actions.cc:1965
msgid "Trim to Punch"
msgstr "Skjer til innslaget"
-#: editor_actions.cc:1912
+#: editor_actions.cc:1967
msgid "Trim to Previous"
msgstr "Skjer til førre"
-#: editor_actions.cc:1913
+#: editor_actions.cc:1968
msgid "Trim to Next"
msgstr "Skjer til neste"
-#: editor_actions.cc:1920
+#: editor_actions.cc:1975
msgid "Insert Region From Region List"
msgstr "Set inn bolk frå lista"
-#: editor_actions.cc:1926
+#: editor_actions.cc:1981
msgid "Set Sync Position"
msgstr "Set synkposisjon"
-#: editor_actions.cc:1927
+#: editor_actions.cc:1982
msgid "Place Transient"
msgstr "Plasser signaltopp"
-#: editor_actions.cc:1928
+#: editor_actions.cc:1983
msgid "Split"
msgstr "Del opp"
-#: editor_actions.cc:1929
+#: editor_actions.cc:1984
msgid "Trim Start at Edit Point"
msgstr "Skjer til starten ved redigeringspunktet"
-#: editor_actions.cc:1930
+#: editor_actions.cc:1985
msgid "Trim End at Edit Point"
msgstr "Skjer til slutten ved redigeringspunktet"
-#: editor_actions.cc:1935
+#: editor_actions.cc:1990
msgid "Align Start"
msgstr "Juster starten"
-#: editor_actions.cc:1942
+#: editor_actions.cc:1997
msgid "Align Start Relative"
msgstr "Juster starten relativt"
-#: editor_actions.cc:1946
+#: editor_actions.cc:2001
msgid "Align End"
msgstr "Juster slutten"
-#: editor_actions.cc:1951
+#: editor_actions.cc:2006
msgid "Align End Relative"
msgstr "Juster slutten relativt"
-#: editor_actions.cc:1958
+#: editor_actions.cc:2013
msgid "Align Sync"
msgstr "Juster synk"
-#: editor_actions.cc:1965
+#: editor_actions.cc:2020
msgid "Align Sync Relative"
msgstr "Juster synken relativt"
-#: editor_actions.cc:1969 editor_actions.cc:1972
+#: editor_actions.cc:2024 editor_actions.cc:2027
msgid "Choose Top..."
msgstr "Vel topp..."
-#: editor_audio_import.cc:77 editor_audio_import.cc:99
+#: editor_audio_import.cc:76 editor_audio_import.cc:98
msgid "You can't import or embed an audiofile until you have a session loaded."
msgstr ""
"Du kan ikkje importera eller setja inn ei lydfil før du har opna ei økt."
-#: editor_audio_import.cc:83 editor_audio_import.cc:127
+#: editor_audio_import.cc:82 editor_audio_import.cc:126
msgid "Add Existing Media"
msgstr "Legg til eksisterande media"
-#: editor_audio_import.cc:177
+#: editor_audio_import.cc:175
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%1 as a new file, or skip it?"
@@ -4313,7 +4413,7 @@ msgstr ""
"Denne økta bruker alt ei kjeldefil som heiter %1. Vil du importera %1 som ny "
"fil, eller hoppa over ho?"
-#: editor_audio_import.cc:179
+#: editor_audio_import.cc:177
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%2 as a new source, or skip it?"
@@ -4321,32 +4421,32 @@ msgstr ""
"Denne økta bruker alt ei kjeldefil som heiter %1. Vil du importera %2 som ny "
"fil, eller hoppa over ho?"
-#: editor_audio_import.cc:279 editor_videotimeline.cc:108
+#: editor_audio_import.cc:277 editor_videotimeline.cc:92
msgid "Cancel Import"
msgstr "Avbryt import"
-#: editor_audio_import.cc:543
+#: editor_audio_import.cc:541
msgid "Editor: cannot open file \"%1\", (%2)"
msgstr "Redigering: Kan ikkje opna fila \"%1\" (%2)"
-#: editor_audio_import.cc:551
+#: editor_audio_import.cc:549
msgid "Cancel entire import"
msgstr "Avbryt heile importen"
-#: editor_audio_import.cc:552
+#: editor_audio_import.cc:550
msgid "Don't embed it"
msgstr "Ikkje set inn"
-#: editor_audio_import.cc:553
+#: editor_audio_import.cc:551
msgid "Embed all without questions"
msgstr "Set inn alle utan å spørja"
-#: editor_audio_import.cc:556 editor_audio_import.cc:585
-#: export_format_dialog.cc:58
+#: editor_audio_import.cc:554 editor_audio_import.cc:583
+#: export_format_dialog.cc:60
msgid "Sample rate"
msgstr "Punktfrekvens"
-#: editor_audio_import.cc:557 editor_audio_import.cc:586
+#: editor_audio_import.cc:555 editor_audio_import.cc:584
msgid ""
"%1\n"
"This audiofile's sample rate doesn't match the session sample rate!"
@@ -4354,304 +4454,300 @@ msgstr ""
"%1\n"
"Denne lydfila har ikkje same punktfrekvens som økta du arbeider med!"
-#: editor_audio_import.cc:582
+#: editor_audio_import.cc:580
msgid "Embed it anyway"
msgstr "Set inn likevel"
-#: editor_drag.cc:1000
+#: editor_drag.cc:994
+msgid "Could not create new track after region placed in the drop zone"
+msgstr ""
+
+#: editor_drag.cc:1100
msgid "fixed time region drag"
msgstr "fast tid-bolkflytting"
-#: editor_drag.cc:1700
+#: editor_drag.cc:1797
+msgid "Ripple drag"
+msgstr ""
+
+#: editor_drag.cc:2093
msgid "Video Start:"
msgstr ""
-#: editor_drag.cc:1702
+#: editor_drag.cc:2095
msgid "Diff:"
msgstr ""
-#: editor_drag.cc:1722
+#: editor_drag.cc:2114
msgid "Move Video"
msgstr ""
-#: editor_drag.cc:2200
+#: editor_drag.cc:2621
msgid "copy meter mark"
msgstr "kopier taktartmerke"
-#: editor_drag.cc:2208
+#: editor_drag.cc:2629
msgid "move meter mark"
msgstr "flytt taktartmerke"
-#: editor_drag.cc:2320
+#: editor_drag.cc:2752
msgid "copy tempo mark"
msgstr "kopier tempomerke"
-#: editor_drag.cc:2328
+#: editor_drag.cc:2760
msgid "move tempo mark"
msgstr "flytt tempomerke"
-#: editor_drag.cc:2550
+#: editor_drag.cc:2989
msgid "change fade in length"
msgstr "endra inntoningslengd"
-#: editor_drag.cc:2668
+#: editor_drag.cc:3107
msgid "change fade out length"
msgstr "endra uttoningslengd"
-#: editor_drag.cc:3023
+#: editor_drag.cc:3463
msgid "move marker"
msgstr "flytt markør"
-#: editor_drag.cc:3586
+#: editor_drag.cc:4046
msgid "An error occurred while executing time stretch operation"
msgstr "Feil med tidsstrekkinga"
-#: editor_drag.cc:4016
+#: editor_drag.cc:4493
msgid "programming_error: %1"
msgstr "programming_error: %1"
-#: editor_drag.cc:4086 editor_markers.cc:680
+#: editor_drag.cc:4559 editor_markers.cc:694
msgid "new range marker"
msgstr "nytt områdemerke"
-#: editor_drag.cc:4767
+#: editor_drag.cc:5259
msgid "rubberband selection"
msgstr "gummistrikkval"
-#: editor_route_groups.cc:66
-msgid "No Selection = All Tracks?"
-msgstr "Ikkje noko val = alle spor?"
-
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Col"
msgstr "Farge"
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Group Tab Color"
msgstr "Farge på gruppefane"
-#: editor_route_groups.cc:96
+#: editor_route_groups.cc:97
msgid "Name of Group"
msgstr "Namn på gruppa"
-#: editor_route_groups.cc:97 editor_routes.cc:203
+#: editor_route_groups.cc:98 editor_routes.cc:205
msgid "V"
msgstr "V"
-#: editor_route_groups.cc:97
+#: editor_route_groups.cc:98
msgid "Group is visible?"
msgstr "Er gruppa synleg?"
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "On"
msgstr "PÃ¥"
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "Group is enabled?"
msgstr "Er gruppa på?"
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "group|G"
msgstr "Gruppe|G"
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "Sharing Gain?"
msgstr "Deler volum?"
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "relative|Rel"
msgstr "Relativt|Rel"
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "Relative Gain Changes?"
msgstr "Relative volumendringar?"
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "mute|M"
msgstr "Demp|D"
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "Sharing Mute?"
msgstr "Deler demping?"
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "solo|S"
msgstr "Solo|S"
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "Sharing Solo?"
msgstr "Deler solo?"
-#: editor_route_groups.cc:103 midi_time_axis.cc:1504 midi_time_axis.cc:1507
-#: midi_time_axis.cc:1510 mixer_strip.cc:1903
+#: editor_route_groups.cc:104 midi_time_axis.cc:1703 midi_time_axis.cc:1706
+#: midi_time_axis.cc:1709
msgid "Rec"
msgstr "Ta opp"
-#: editor_route_groups.cc:103
+#: editor_route_groups.cc:104
msgid "Sharing Record-enable Status?"
msgstr "Deler opptaksstatus?"
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "monitoring|Mon"
msgstr "Lytting|Mon"
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "Sharing Monitoring Choice?"
msgstr "Deler monitorval?"
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "selection|Sel"
msgstr "Utval|Val"
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "Sharing Selected/Editing Status?"
msgstr "Deler vald/redigeringsstatus?"
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "active|A"
msgstr "aktiv|A"
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "Sharing Active Status?"
msgstr "Deler aktiv-status?"
-#: editor_route_groups.cc:197
-msgid "Activate this button to operate on all tracks when none are selected."
-msgstr "Slå på denne knappen for å operera på alle spor når ingen er valde."
-
-#: editor_route_groups.cc:442 mixer_ui.cc:1449
+#: editor_route_groups.cc:438 mixer_ui.cc:1469
msgid "unnamed"
msgstr "utan namn"
-#: editor_export_audio.cc:90 editor_markers.cc:695 editor_markers.cc:782
-#: editor_markers.cc:967 editor_markers.cc:985 editor_markers.cc:1003
-#: editor_markers.cc:1022 editor_markers.cc:1041 editor_markers.cc:1071
-#: editor_markers.cc:1102 editor_markers.cc:1132 editor_markers.cc:1160
-#: editor_markers.cc:1191 editor_markers.cc:1216 editor_markers.cc:1267
-#: editor_markers.cc:1311 editor_markers.cc:1337 editor_markers.cc:1526
-#: editor_mouse.cc:2528
+#: editor_export_audio.cc:92 editor_markers.cc:709 editor_markers.cc:796
+#: editor_markers.cc:981 editor_markers.cc:999 editor_markers.cc:1017
+#: editor_markers.cc:1036 editor_markers.cc:1055 editor_markers.cc:1085
+#: editor_markers.cc:1116 editor_markers.cc:1146 editor_markers.cc:1174
+#: editor_markers.cc:1205 editor_markers.cc:1230 editor_markers.cc:1281
+#: editor_markers.cc:1325 editor_markers.cc:1351 editor_markers.cc:1545
+#: editor_mouse.cc:2290
msgid "programming error: marker canvas item has no marker object pointer!"
msgstr "Programmeringsfeil: markørpalettobjekt har ingen merkeobjektpeikar!"
-#: editor_export_audio.cc:143 editor_export_audio.cc:148
+#: editor_export_audio.cc:145 editor_export_audio.cc:150
msgid "File Exists!"
msgstr "Fila eksisterer!"
-#: editor_export_audio.cc:151
+#: editor_export_audio.cc:153
msgid "Overwrite Existing File"
msgstr "Skriv over eksisterande fil"
-#: editor_group_tabs.cc:162
+#: editor_group_tabs.cc:176
msgid "Fit to Window"
msgstr "Pass til vindauget"
-#: editor_markers.cc:129
+#: editor_markers.cc:139
msgid "start"
msgstr "start"
-#: editor_markers.cc:130
+#: editor_markers.cc:140
msgid "end"
msgstr "slutt"
-#: editor_markers.cc:646 editor_ops.cc:1744 editor_ops.cc:1764
-#: editor_ops.cc:1788 editor_ops.cc:1815 location_ui.cc:1017
+#: editor_markers.cc:660 editor_ops.cc:1915 editor_ops.cc:1935
+#: editor_ops.cc:1988 editor_ops.cc:2015 location_ui.cc:1019
msgid "add marker"
msgstr "legg til merke"
-#: editor_markers.cc:677
+#: editor_markers.cc:691
msgid "range"
msgstr "område"
-#: editor_markers.cc:713 location_ui.cc:852
+#: editor_markers.cc:727 editor_ops.cc:1955 location_ui.cc:854
msgid "remove marker"
msgstr "fjern markør"
-#: editor_markers.cc:849
+#: editor_markers.cc:863
msgid "Locate to Here"
msgstr "GÃ¥ hit"
-#: editor_markers.cc:850
+#: editor_markers.cc:864
msgid "Play from Here"
msgstr "Spel herifrå"
-#: editor_markers.cc:851
+#: editor_markers.cc:865
msgid "Move Mark to Playhead"
msgstr "Flytt merket til spelehovudet"
-#: editor_markers.cc:855
+#: editor_markers.cc:869
msgid "Create Range to Next Marker"
msgstr "Lag område til neste markør"
-#: editor_markers.cc:896
+#: editor_markers.cc:910
msgid "Locate to Marker"
msgstr ""
-#: editor_markers.cc:897
+#: editor_markers.cc:911
msgid "Play from Marker"
msgstr ""
-#: editor_markers.cc:900
+#: editor_markers.cc:914
msgid "Set Marker from Playhead"
msgstr ""
-#: editor_markers.cc:902
+#: editor_markers.cc:916
msgid "Set Range from Selection"
msgstr ""
-#: editor_markers.cc:905
-msgid "Zoom to Range"
-msgstr "Zoom til området"
-
-#: editor_markers.cc:912
+#: editor_markers.cc:926
msgid "Hide Range"
msgstr "Gøym området"
-#: editor_markers.cc:913
+#: editor_markers.cc:927
msgid "Rename Range..."
msgstr "Døyp om området..."
-#: editor_markers.cc:917
+#: editor_markers.cc:931
msgid "Remove Range"
msgstr "Fjern området"
-#: editor_markers.cc:924
+#: editor_markers.cc:938
msgid "Separate Regions in Range"
msgstr "Skil bolkane i omådet"
-#: editor_markers.cc:927
+#: editor_markers.cc:941
msgid "Select Range"
msgstr "Vel område"
-#: editor_markers.cc:956
+#: editor_markers.cc:970
msgid "Set Punch Range"
msgstr "Set innslagsområde"
-#: editor_markers.cc:1362 editor_ops.cc:1699
+#: editor_markers.cc:1376 editor_ops.cc:1870
msgid "New Name:"
msgstr "Nytt namn:"
-#: editor_markers.cc:1365
+#: editor_markers.cc:1379
msgid "Rename Mark"
msgstr "Døyp om merke"
-#: editor_markers.cc:1367
+#: editor_markers.cc:1381
msgid "Rename Range"
msgstr "Døyp om området"
-#: editor_markers.cc:1374 editor_mouse.cc:2560 processor_box.cc:1808
-#: processor_box.cc:2274 route_time_axis.cc:982 route_ui.cc:1540
+#: editor_markers.cc:1388 editor_mouse.cc:2319 processor_box.cc:2038
+#: processor_box.cc:2508 route_time_axis.cc:1073 route_ui.cc:1622
msgid "Rename"
msgstr "Døyp om"
-#: editor_markers.cc:1387
+#: editor_markers.cc:1401
msgid "rename marker"
msgstr "døyp om markør"
-#: editor_markers.cc:1411
+#: editor_markers.cc:1425
msgid "set loop range"
msgstr "set lykkje-område"
-#: editor_markers.cc:1417
+#: editor_markers.cc:1431
msgid "set punch range"
msgstr "set innslagsområde"
@@ -4659,11 +4755,22 @@ msgstr "set innslagsområde"
msgid "This screen is not tall enough to display the editor mixer"
msgstr "Denne skjermen er ikkje høg nok til å visa redigeringsmiksaren"
-#: editor_mouse.cc:172
-msgid "Editor::event_frame() used on unhandled event type %1"
-msgstr "Redigering: event_frame() brukt på uhandtert handlingstype %1"
+#: editor_mouse.cc:1384 editor_mouse.cc:1402 editor_tempodisplay.cc:273
+msgid ""
+"programming error: tempo marker canvas item has no marker object pointer!"
+msgstr ""
+"Programmeringsfeil: objektet på tempomarkørpaletten har ingen "
+"tempomarkørpeikar!"
+
+#: editor_mouse.cc:1389 editor_tempodisplay.cc:278
+msgid "programming error: marker for tempo is not a tempo marker!"
+msgstr "Programmeringsfeil: markøren for tempo er ikkje ingen tempomarkør!"
+
+#: editor_mouse.cc:1407 editor_tempodisplay.cc:382
+msgid "programming error: marker for meter is not a meter marker!"
+msgstr "Programmeringsfeil: taktartmarkøren er ikkje ein taktartmarkør!"
-#: editor_mouse.cc:2285 editor_mouse.cc:2310 editor_mouse.cc:2323
+#: editor_mouse.cc:2047 editor_mouse.cc:2072 editor_mouse.cc:2085
msgid ""
"programming error: control point canvas item has no control point object "
"pointer!"
@@ -4671,175 +4778,175 @@ msgstr ""
"Programmeringsfeil: objektet på kontrollpunktpaletten har ingen "
"kontrollpunktpeikar!"
-#: editor_mouse.cc:2466
+#: editor_mouse.cc:2228
msgid "start point trim"
msgstr "skjer startpunkt"
-#: editor_mouse.cc:2491
+#: editor_mouse.cc:2253
msgid "End point trim"
msgstr "Skjer sluttpunkt"
-#: editor_mouse.cc:2558
+#: editor_mouse.cc:2317
msgid "Name for region:"
msgstr "Namn på bolken:"
-#: editor_ops.cc:140
+#: editor_ops.cc:147
msgid "split"
msgstr "del"
-#: editor_ops.cc:256
+#: editor_ops.cc:291
msgid "alter selection"
msgstr "endra utval"
-#: editor_ops.cc:298
+#: editor_ops.cc:333
msgid "nudge regions forward"
msgstr "skubb bolkane framover"
-#: editor_ops.cc:321 editor_ops.cc:406
+#: editor_ops.cc:356 editor_ops.cc:441
msgid "nudge location forward"
msgstr "skubb staden framover"
-#: editor_ops.cc:379
+#: editor_ops.cc:414
msgid "nudge regions backward"
msgstr "skubb bolkane bakover"
-#: editor_ops.cc:468
+#: editor_ops.cc:503
msgid "nudge forward"
msgstr "skubb framover"
-#: editor_ops.cc:492
+#: editor_ops.cc:527
msgid "nudge backward"
msgstr "skubb bakover"
-#: editor_ops.cc:557
+#: editor_ops.cc:570
+msgid "sequence regions"
+msgstr ""
+
+#: editor_ops.cc:646
msgid "build_region_boundary_cache called with snap_type = %1"
msgstr "build_region_boundary_cache oppkalla med snap_type = %1"
-#: editor_ops.cc:1701
+#: editor_ops.cc:1872
msgid "New Location Marker"
msgstr "Ny stadmarkør"
-#: editor_ops.cc:1788
+#: editor_ops.cc:1988
msgid "add markers"
msgstr "legg til markørar"
-#: editor_ops.cc:1894
+#: editor_ops.cc:2094
msgid "clear markers"
msgstr "tøm markørar"
-#: editor_ops.cc:1907
+#: editor_ops.cc:2107
msgid "clear ranges"
msgstr "tøm område"
-#: editor_ops.cc:1929
+#: editor_ops.cc:2129
msgid "clear locations"
msgstr "tøm stader"
-#: editor_ops.cc:2000
-msgid "insert dragged region"
-msgstr "dra inn bolk"
-
-#: editor_ops.cc:2078
+#: editor_ops.cc:2191
msgid "insert region"
msgstr "set inn bolk"
-#: editor_ops.cc:2261
+#: editor_ops.cc:2377
msgid "raise regions"
msgstr "hev bolkane"
-#: editor_ops.cc:2263
+#: editor_ops.cc:2379
msgid "raise region"
msgstr "hev bolken"
-#: editor_ops.cc:2269
+#: editor_ops.cc:2385
msgid "raise regions to top"
msgstr "hev bolkane til øvste laget"
-#: editor_ops.cc:2271
+#: editor_ops.cc:2387
msgid "raise region to top"
msgstr "hev bolken til øvste laget"
-#: editor_ops.cc:2277
+#: editor_ops.cc:2393
msgid "lower regions"
msgstr "senk bolkane"
-#: editor_ops.cc:2279 editor_ops.cc:2287
+#: editor_ops.cc:2395 editor_ops.cc:2403
msgid "lower region"
msgstr "senk bolken"
-#: editor_ops.cc:2285
+#: editor_ops.cc:2401
msgid "lower regions to bottom"
msgstr "senk bolkane til botnlaget"
-#: editor_ops.cc:2370
+#: editor_ops.cc:2486
msgid "Rename Region"
msgstr "Døyp om bolken"
-#: editor_ops.cc:2372 processor_box.cc:1806 route_ui.cc:1538
+#: editor_ops.cc:2488 processor_box.cc:2036 route_ui.cc:1620
msgid "New name:"
msgstr "Nytt namn:"
-#: editor_ops.cc:2682
+#: editor_ops.cc:2798
msgid "separate"
msgstr "skil"
-#: editor_ops.cc:2795
+#: editor_ops.cc:2910
msgid "separate region under"
msgstr "skil bolken under"
-#: editor_ops.cc:2916
+#: editor_ops.cc:3031
msgid "trim to selection"
msgstr "skjer til utvalet"
-#: editor_ops.cc:3052
+#: editor_ops.cc:3167
msgid "set sync point"
msgstr "Set synk-punkt"
-#: editor_ops.cc:3076
+#: editor_ops.cc:3191
msgid "remove region sync"
msgstr "fjern bolksynk"
-#: editor_ops.cc:3098
+#: editor_ops.cc:3213
msgid "move regions to original position"
msgstr "flytt bolkane til opphavleg plassering"
-#: editor_ops.cc:3100
+#: editor_ops.cc:3215
msgid "move region to original position"
msgstr "flytt bolken til opphavleg plassering"
-#: editor_ops.cc:3121
+#: editor_ops.cc:3236
msgid "align selection"
msgstr "juster utval"
-#: editor_ops.cc:3195
+#: editor_ops.cc:3310
msgid "align selection (relative)"
msgstr "juster utval (relativt)"
-#: editor_ops.cc:3229
+#: editor_ops.cc:3344
msgid "align region"
msgstr "juster bolken"
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim front"
msgstr "skjer til framme"
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim back"
msgstr "skjer til bak"
-#: editor_ops.cc:3310
+#: editor_ops.cc:3425
msgid "trim to loop"
msgstr "skjer til lykkja"
-#: editor_ops.cc:3320
+#: editor_ops.cc:3435
msgid "trim to punch"
msgstr "skjer til innslaget"
-#: editor_ops.cc:3382
+#: editor_ops.cc:3497
msgid "trim to region"
msgstr "skjer til bolken"
-#: editor_ops.cc:3492
+#: editor_ops.cc:3605
msgid ""
"This track/bus cannot be frozen because the signal adds or loses channels "
"before reaching the outputs.\n"
@@ -4851,11 +4958,11 @@ msgstr ""
"Dette kjem vanlegvis av utvidingar som lagar stereo-utsignal frå mono-"
"innsignal, eller omvendt."
-#: editor_ops.cc:3495
+#: editor_ops.cc:3608
msgid "Cannot freeze"
msgstr "Kan ikkje frysa"
-#: editor_ops.cc:3501
+#: editor_ops.cc:3614
msgid ""
"<b>%1</b>\n"
"\n"
@@ -4870,23 +4977,23 @@ msgstr ""
"Viss du frys det, vil du berre påverka signalet til fyrste send/retur/"
"innsmett."
-#: editor_ops.cc:3505
+#: editor_ops.cc:3618
msgid "Freeze anyway"
msgstr "Frys likevel"
-#: editor_ops.cc:3506
+#: editor_ops.cc:3619
msgid "Don't freeze"
msgstr "Ikkje frys"
-#: editor_ops.cc:3507
+#: editor_ops.cc:3620
msgid "Freeze Limits"
msgstr "Frysgrenser"
-#: editor_ops.cc:3522
+#: editor_ops.cc:3635
msgid "Cancel Freeze"
msgstr "Avbryt frysing"
-#: editor_ops.cc:3553
+#: editor_ops.cc:3666
msgid ""
"You can't perform this operation because the processing of the signal will "
"cause one or more of the tracks to end up with a region with more channels "
@@ -4895,51 +5002,63 @@ msgid ""
"You can do this without processing, which is a different operation."
msgstr ""
-#: editor_ops.cc:3557
+#: editor_ops.cc:3670
msgid "Cannot bounce"
msgstr "Kan ikkje miksa ned"
-#: editor_ops.cc:3568
+#: editor_ops.cc:3681
msgid "bounce range"
msgstr "miks ned område"
-#: editor_ops.cc:3678
+#: editor_ops.cc:3783
msgid "delete"
msgstr "slett"
-#: editor_ops.cc:3681
+#: editor_ops.cc:3786
msgid "cut"
msgstr "klypp"
-#: editor_ops.cc:3684
+#: editor_ops.cc:3789
msgid "copy"
msgstr "kopier"
-#: editor_ops.cc:3687
+#: editor_ops.cc:3792
msgid "clear"
msgstr "tøm"
-#: editor_ops.cc:3785
-msgid " objects"
-msgstr " objekt"
+#: editor_ops.cc:3845
+msgid " points"
+msgstr ""
+
+#: editor_ops.cc:3856
+msgid "points"
+msgstr ""
+
+#: editor_ops.cc:3858
+msgid "regions"
+msgstr ""
+
+#: editor_ops.cc:3860
+msgid "objects"
+msgstr ""
-#: editor_ops.cc:3815
+#: editor_ops.cc:3890
msgid " range"
msgstr " område"
-#: editor_ops.cc:3957 editor_ops.cc:3984
+#: editor_ops.cc:4059
msgid "remove region"
msgstr "fjern bolken"
-#: editor_ops.cc:4391
+#: editor_ops.cc:4475
msgid "duplicate selection"
msgstr "klon utvalet"
-#: editor_ops.cc:4469
+#: editor_ops.cc:4553
msgid "nudge track"
msgstr "skubb spor"
-#: editor_ops.cc:4506
+#: editor_ops.cc:4590
msgid ""
"Do you really want to destroy the last capture?\n"
"(This is destructive and cannot be undone)"
@@ -4947,134 +5066,142 @@ msgstr ""
"Vil du verkeleg øydeleggja siste innspelinga?\n"
"(Dette er endeleg og kan ikkje angrast)"
-#: editor_ops.cc:4509 editor_ops.cc:6512 editor_regions.cc:460
-#: editor_snapshots.cc:158 route_ui.cc:1482
+#: editor_ops.cc:4593 editor_ops.cc:6594 editor_regions.cc:461
+#: editor_snapshots.cc:159 route_ui.cc:1563
msgid "No, do nothing."
msgstr "Nei, ikkje gjer noko."
-#: editor_ops.cc:4510
+#: editor_ops.cc:4594
msgid "Yes, destroy it."
msgstr "Ja, øydelegg det."
-#: editor_ops.cc:4512
+#: editor_ops.cc:4596
msgid "Destroy last capture"
msgstr "Fjern siste opptak"
-#: editor_ops.cc:4573
+#: editor_ops.cc:4657
msgid "normalize"
msgstr "normaliser"
-#: editor_ops.cc:4668
+#: editor_ops.cc:4752
msgid "reverse regions"
msgstr "vend bolkane"
-#: editor_ops.cc:4702
+#: editor_ops.cc:4786
msgid "strip silence"
msgstr "skjer bort stille"
-#: editor_ops.cc:4763
+#: editor_ops.cc:4847
msgid "Fork Region(s)"
msgstr "Del opp bolk(ane)"
-#: editor_ops.cc:4963
+#: editor_ops.cc:4868
+msgid "Could not unlink %1"
+msgstr ""
+
+#: editor_ops.cc:5052
msgid "reset region gain"
msgstr "rensk bolk-innvolum"
-#: editor_ops.cc:5016
+#: editor_ops.cc:5105
msgid "region gain envelope active"
msgstr "bolkomhyllinga på"
-#: editor_ops.cc:5043
+#: editor_ops.cc:5132
msgid "toggle region lock"
msgstr "skru på bolklås"
-#: editor_ops.cc:5067
+#: editor_ops.cc:5156
msgid "Toggle Video Lock"
msgstr ""
-#: editor_ops.cc:5091
+#: editor_ops.cc:5180
msgid "region lock style"
msgstr "type bolklås"
-#: editor_ops.cc:5116
+#: editor_ops.cc:5205
msgid "change region opacity"
msgstr "endra bolkgjennomsikt"
-#: editor_ops.cc:5231
+#: editor_ops.cc:5298
+msgid "fade range"
+msgstr ""
+
+#: editor_ops.cc:5336
msgid "set fade in length"
msgstr "endra inntoningslengd"
-#: editor_ops.cc:5238
+#: editor_ops.cc:5343
msgid "set fade out length"
msgstr "endra uttoningslengd"
-#: editor_ops.cc:5283
+#: editor_ops.cc:5388
msgid "set fade in shape"
msgstr "endra inntoningsform"
-#: editor_ops.cc:5314
+#: editor_ops.cc:5419
msgid "set fade out shape"
msgstr "endra uttoningsform"
-#: editor_ops.cc:5344
+#: editor_ops.cc:5449
msgid "set fade in active"
msgstr "skru på inntoning"
-#: editor_ops.cc:5373
+#: editor_ops.cc:5478
msgid "set fade out active"
msgstr "skru på uttoning"
-#: editor_ops.cc:5638
+#: editor_ops.cc:5713
msgid "set loop range from selection"
msgstr "set lykkjeområde frå utvalet"
-#: editor_ops.cc:5660
+#: editor_ops.cc:5735
msgid "set loop range from edit range"
msgstr "set lykkjeområde frå redigeringsområdet"
-#: editor_ops.cc:5689
+#: editor_ops.cc:5764
msgid "set loop range from region"
msgstr "set lykkjeområde frå bolken"
-#: editor_ops.cc:5707
+#: editor_ops.cc:5782
msgid "set punch range from selection"
msgstr "set innslagsområde frå utvalet"
-#: editor_ops.cc:5724
+#: editor_ops.cc:5799
msgid "set punch range from edit range"
msgstr "set innslagsområde frå redigeringsområdet"
-#: editor_ops.cc:5748
+#: editor_ops.cc:5823
msgid "set punch range from region"
msgstr "set innslagsområdet frå bolken"
-#: editor_ops.cc:5857
+#: editor_ops.cc:5932
msgid "Add new marker"
msgstr "Legg til markør"
-#: editor_ops.cc:5858
+#: editor_ops.cc:5933
msgid "Set global tempo"
msgstr "Set tempo for heile prosjektet"
-#: editor_ops.cc:5861
+#: editor_ops.cc:5936
msgid "Define one bar"
msgstr "Definer ei takt"
-#: editor_ops.cc:5862
+#: editor_ops.cc:5937
msgid "Do you want to set the global tempo or add a new tempo marker?"
msgstr ""
"Vil du setja tempoet for heile prosjektet, eller leggja til ein ny "
"tempomarkør?"
-#: editor_ops.cc:5888
+#: editor_ops.cc:5963
msgid "set tempo from region"
msgstr "set tempo ut frå bolken"
-#: editor_ops.cc:5918
+#: editor_ops.cc:5993
msgid "split regions"
msgstr "del opp bolkane"
-#: editor_ops.cc:5960
+#: editor_ops.cc:6035
msgid ""
"You are about to split\n"
"%1\n"
@@ -5086,11 +5213,11 @@ msgstr ""
"i %2 deler.\n"
"Dette kan ta lang tid."
-#: editor_ops.cc:5967
+#: editor_ops.cc:6042
msgid "Call for the Ferret!"
msgstr "Rop på rytmefinnaren!"
-#: editor_ops.cc:5968
+#: editor_ops.cc:6043
msgid ""
"Press OK to continue with this split operation\n"
"or ask the Ferret dialog to tune the analysis"
@@ -5098,52 +5225,52 @@ msgstr ""
"Klikk OK for å halda fram med denne oppdelinga,\n"
"eller spør Finnaren om å finstilla analysen."
-#: editor_ops.cc:5970
+#: editor_ops.cc:6045
msgid "Press OK to continue with this split operation"
msgstr "Klikk OK for å halda fram med oppdelinga"
-#: editor_ops.cc:5973
+#: editor_ops.cc:6048
msgid "Excessive split?"
msgstr "Overdriv delinga?"
-#: editor_ops.cc:6125
+#: editor_ops.cc:6200
msgid "place transient"
msgstr "plasser signaltopp"
-#: editor_ops.cc:6160
+#: editor_ops.cc:6235
msgid "snap regions to grid"
msgstr "fest bolkane til gitteret"
-#: editor_ops.cc:6199
+#: editor_ops.cc:6274
msgid "Close Region Gaps"
msgstr "Steng gap mellom bolkane"
-#: editor_ops.cc:6204
+#: editor_ops.cc:6279
msgid "Crossfade length"
msgstr "Krysstoningslengd"
-#: editor_ops.cc:6213 editor_ops.cc:6224 rhythm_ferret.cc:120
-#: session_option_editor.cc:153
+#: editor_ops.cc:6288 editor_ops.cc:6299 rhythm_ferret.cc:119
+#: session_option_editor.cc:141
msgid "ms"
msgstr "ms"
-#: editor_ops.cc:6215
+#: editor_ops.cc:6290
msgid "Pull-back length"
msgstr "Skyv tilbake-lengd"
-#: editor_ops.cc:6228
+#: editor_ops.cc:6303
msgid "Ok"
msgstr "Ok"
-#: editor_ops.cc:6243
+#: editor_ops.cc:6318
msgid "close region gaps"
msgstr "steng gap mellom bolkane"
-#: editor_ops.cc:6461 route_ui.cc:1456
+#: editor_ops.cc:6543 route_ui.cc:1537
msgid "That would be bad news ...."
msgstr "Det ville vore dårleg nytt..."
-#: editor_ops.cc:6466 route_ui.cc:1461
+#: editor_ops.cc:6548 route_ui.cc:1542
msgid ""
"Removing the master or monitor bus is such a bad idea\n"
"that %1 is not going to allow it.\n"
@@ -5159,23 +5286,23 @@ msgstr ""
"redigerer du ardour.rc-fila, og set\n"
"\"allow-special-bus-removal\"-valet til \"yes\""
-#: editor_ops.cc:6483
+#: editor_ops.cc:6565
msgid "tracks"
msgstr "spor"
-#: editor_ops.cc:6485 route_ui.cc:1821
+#: editor_ops.cc:6567 route_ui.cc:1978
msgid "track"
msgstr "spor"
-#: editor_ops.cc:6489
+#: editor_ops.cc:6571
msgid "busses"
msgstr "bussar"
-#: editor_ops.cc:6491 route_ui.cc:1821
+#: editor_ops.cc:6573 route_ui.cc:1978
msgid "bus"
msgstr "buss"
-#: editor_ops.cc:6496
+#: editor_ops.cc:6578
msgid ""
"Do you really want to remove %1 %2 and %3 %4?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5187,7 +5314,7 @@ msgstr ""
"\n"
"Du kan ikkje angra dette, og øktfila vil bli overskriven!"
-#: editor_ops.cc:6501
+#: editor_ops.cc:6583
msgid ""
"Do you really want to remove %1 %2?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5199,7 +5326,7 @@ msgstr ""
"\n"
"Du kan ikkje angra dette, og øktfila vil bli overskriven!"
-#: editor_ops.cc:6507
+#: editor_ops.cc:6589
msgid ""
"Do you really want to remove %1 %2?\n"
"\n"
@@ -5209,125 +5336,140 @@ msgstr ""
"\n"
"Du kan ikkje angra dette, og øktfila vil bli overskriven"
-#: editor_ops.cc:6514
+#: editor_ops.cc:6596
msgid "Yes, remove them."
msgstr "Ja, slett dei."
-#: editor_ops.cc:6516 editor_snapshots.cc:159 route_ui.cc:1483
+#: editor_ops.cc:6598 editor_snapshots.cc:160 route_ui.cc:1564
msgid "Yes, remove it."
msgstr "Ja, slett det."
-#: editor_ops.cc:6521 editor_ops.cc:6523
+#: editor_ops.cc:6603 editor_ops.cc:6605
msgid "Remove %1"
msgstr "Fjern %1"
-#: editor_ops.cc:6582
+#: editor_ops.cc:6668
msgid "insert time"
msgstr "set inn tid"
-#: editor_ops.cc:6739
+#: editor_ops.cc:6832
msgid "There are too many tracks to fit in the current window"
msgstr "Det er for mange spor til at dei passar i denne ruta"
-#: editor_ops.cc:6839
+#: editor_ops.cc:6893
+msgid "Sel"
+msgstr ""
+
+#: editor_ops.cc:6932
#, c-format
msgid "Saved view %u"
msgstr "Lagra vising %u"
-#: editor_ops.cc:6864
+#: editor_ops.cc:6957
msgid "mute regions"
msgstr "demp bolkane"
-#: editor_ops.cc:6866
+#: editor_ops.cc:6959
msgid "mute region"
msgstr "demp bolken"
-#: editor_ops.cc:6903
+#: editor_ops.cc:6996
msgid "combine regions"
msgstr "kombiner bolkar"
-#: editor_ops.cc:6941
+#: editor_ops.cc:7034
msgid "uncombine regions"
msgstr "løys opp bolkar"
-#: editor_regions.cc:111
+#: editor_ops.cc:7071
+msgid "%1: Locked"
+msgstr ""
+
+#: editor_ops.cc:7078
+msgid "Click to unlock"
+msgstr ""
+
+#: editor_ops.cc:7132
+msgid "Moving embedded files into session folder"
+msgstr ""
+
+#: editor_regions.cc:112
msgid "Region name, with number of channels in []'s"
msgstr "Bolknamn, med tal på kanalar i [hakeparentesar]"
-#: editor_regions.cc:112
+#: editor_regions.cc:113
msgid "Position of start of region"
msgstr "Kvar bolken startar"
-#: editor_regions.cc:113 editor_regions.cc:849 time_info_box.cc:98
+#: editor_regions.cc:114 editor_regions.cc:850 time_info_box.cc:101
msgid "End"
msgstr "Slutt"
-#: editor_regions.cc:113
+#: editor_regions.cc:114
msgid "Position of end of region"
msgstr "Kvar bolken sluttar"
-#: editor_regions.cc:114
+#: editor_regions.cc:115
msgid "Length of the region"
msgstr "Lengda på bolken"
-#: editor_regions.cc:115
+#: editor_regions.cc:116
msgid "Position of region sync point, relative to start of the region"
msgstr "Plassering for bolk-synkpunktet, relativt til bolkstarten"
-#: editor_regions.cc:116
+#: editor_regions.cc:117
msgid "Length of region fade-in (units: secondary clock), () if disabled"
msgstr ""
"Lengd på inntoninga på bolken (eining: sekundærklokke), () viss avskrudd"
-#: editor_regions.cc:117
-msgid "Length of region fade-out (units: secondary clock), () if dsisabled"
+#: editor_regions.cc:118
+msgid "Length of region fade-out (units: secondary clock), () if disabled"
msgstr ""
-"Lengd på uttoninga på bolken (eining: sekundærklokke), () viss avskrudd"
-#: editor_regions.cc:118 mixer_strip.cc:1954 mono_panner.cc:179
-#: stereo_panner.cc:217 stereo_panner.cc:240
+#: editor_regions.cc:119 mixer_strip.cc:2010 mono_panner.cc:204
+#: panner2d.cc:237 stereo_panner.cc:248 stereo_panner.cc:271
msgid "L"
msgstr "V"
-#: editor_regions.cc:118
+#: editor_regions.cc:119
msgid "Region position locked?"
msgstr "Er bolkplasseringa låst?"
-#: editor_regions.cc:119
+#: editor_regions.cc:120 route_time_axis.cc:99
msgid "G"
msgstr "G"
-#: editor_regions.cc:119
+#: editor_regions.cc:120
msgid "Region position glued to Bars|Beats time?"
msgstr "Er bolkplasseringa limt til takter|taktslag-tida?"
-#: editor_regions.cc:120 editor_routes.cc:207 gain_meter.cc:762
-#: mixer_strip.cc:1931 meter_strip.cc:320 panner_ui.cc:553
-#: stereo_panner.cc:237
+#: editor_regions.cc:121 editor_routes.cc:209 gain_meter.cc:768
+#: mixer_strip.cc:1987 meter_strip.cc:359 panner_ui.cc:602
+#: route_time_axis.cc:2568 stereo_panner.cc:268 time_axis_view.cc:1156
msgid "M"
msgstr "M"
-#: editor_regions.cc:120
+#: editor_regions.cc:121
msgid "Region muted?"
msgstr "Er bolken dempa?"
-#: editor_regions.cc:121
+#: editor_regions.cc:122 mixer_strip.cc:1810
msgid "O"
msgstr "O"
-#: editor_regions.cc:121
+#: editor_regions.cc:122
msgid "Region opaque (blocks regions below it from being heard)?"
msgstr "Er bolken gjennomsiktig? (Det hindrar at du høyrer bolkar under han.)"
-#: editor_regions.cc:310 editor_regions.cc:315 editor_regions.cc:317
+#: editor_regions.cc:311 editor_regions.cc:316 editor_regions.cc:318
msgid "Hidden"
msgstr "Gøymt"
-#: editor_regions.cc:389
+#: editor_regions.cc:390
msgid "(MISSING) "
msgstr " (MANGLAR) "
-#: editor_regions.cc:457
+#: editor_regions.cc:458
msgid ""
"Do you really want to remove unused regions?\n"
"(This is destructive and cannot be undone)"
@@ -5335,233 +5477,223 @@ msgstr ""
"Vil du verkeleg fjerna ubrukte bolkar?\n"
"(Dette er endeleg og kan ikkje angrast)"
-#: editor_regions.cc:461
+#: editor_regions.cc:462
msgid "Yes, remove."
msgstr "Ja, slett"
-#: editor_regions.cc:463
+#: editor_regions.cc:464
msgid "Remove unused regions"
msgstr "Fjern ubrukte bolkar"
-#: editor_regions.cc:816 editor_regions.cc:830 editor_regions.cc:844
+#: editor_regions.cc:817 editor_regions.cc:831 editor_regions.cc:845
msgid "Mult."
msgstr "Dobl."
-#: editor_regions.cc:847 midi_list_editor.cc:103 time_info_box.cc:91
+#: editor_regions.cc:848 midi_list_editor.cc:103 time_info_box.cc:94
msgid "Start"
msgstr "Start"
-#: editor_regions.cc:865 editor_regions.cc:881
+#: editor_regions.cc:866 editor_regions.cc:882
msgid "Multiple"
msgstr "Mangedoble"
-#: editor_regions.cc:950
+#: editor_regions.cc:951
msgid "MISSING "
msgstr "MANGLAR"
-#: editor_routes.cc:178 editor_routes.cc:210
+#: editor_routes.cc:180 editor_routes.cc:212
msgid "SS"
msgstr "SS"
-#: editor_routes.cc:202
+#: editor_routes.cc:204
msgid "Track/Bus Name"
msgstr "Namn på spor/buss"
-#: editor_routes.cc:203
+#: editor_routes.cc:205
msgid "Track/Bus visible ?"
msgstr "Er sporet/bussen synleg?"
-#: editor_routes.cc:204 mixer_strip.cc:1945 meter_strip.cc:334
-#: route_time_axis.cc:2407
+#: editor_routes.cc:206 mixer_strip.cc:2001 meter_strip.cc:371
+#: route_time_axis.cc:101 route_time_axis.cc:2556
msgid "A"
msgstr "A"
-#: editor_routes.cc:204
+#: editor_routes.cc:206
msgid "Track/Bus active ?"
msgstr "Er sporet/bussen aktiv?"
-#: editor_routes.cc:205 mixer_strip.cc:1932
+#: editor_routes.cc:207 mixer_strip.cc:1988 mixer_strip.cc:2009
+#: meter_strip.cc:379
msgid "I"
msgstr "I"
-#: editor_routes.cc:205
+#: editor_routes.cc:207
msgid "MIDI input enabled"
msgstr "MIDI-inngang skrudd på"
-#: editor_routes.cc:206 mixer_strip.cc:1930 mono_panner.cc:198
-#: stereo_panner.cc:215 stereo_panner.cc:242
+#: editor_routes.cc:208 mono_panner.cc:221 panner2d.cc:238
+#: stereo_panner.cc:246 stereo_panner.cc:273
msgid "R"
msgstr "R"
-#: editor_routes.cc:206
+#: editor_routes.cc:208
msgid "Record enabled"
msgstr "Opptak skrudd på"
-#: editor_routes.cc:207
+#: editor_routes.cc:209
msgid "Muted"
msgstr "Dempa"
-#: editor_routes.cc:208 mixer_strip.cc:1941 meter_strip.cc:330
+#: editor_routes.cc:210 mixer_strip.cc:1997 meter_strip.cc:367
+#: route_time_axis.cc:2565
msgid "S"
msgstr "S"
-#: editor_routes.cc:208
+#: editor_routes.cc:210
msgid "Soloed"
msgstr "Solo"
-#: editor_routes.cc:209
+#: editor_routes.cc:211
msgid "SI"
msgstr "SI"
-#: editor_routes.cc:209 mixer_strip.cc:353 rc_option_editor.cc:1867
+#: editor_routes.cc:211
msgid "Solo Isolated"
msgstr "Isolert solo"
-#: editor_routes.cc:210
+#: editor_routes.cc:212
msgid "Solo Safe (Locked)"
msgstr "Solo-sikker (låst)"
-#: editor_routes.cc:471 mixer_ui.cc:1162
+#: editor_routes.cc:474 mixer_ui.cc:1182
msgid "Hide All"
msgstr "Gøym alle"
-#: editor_routes.cc:472 mixer_ui.cc:1163
+#: editor_routes.cc:475 mixer_ui.cc:1183
msgid "Show All Audio Tracks"
msgstr "Vis alle lydpsor"
-#: editor_routes.cc:473 mixer_ui.cc:1164
+#: editor_routes.cc:476 mixer_ui.cc:1184
msgid "Hide All Audio Tracks"
msgstr "Gøym alle lydspor"
-#: editor_routes.cc:474 mixer_ui.cc:1165
+#: editor_routes.cc:477 mixer_ui.cc:1185
msgid "Show All Audio Busses"
msgstr "Vis alle bussar"
-#: editor_routes.cc:475 mixer_ui.cc:1166
+#: editor_routes.cc:478 mixer_ui.cc:1186
msgid "Hide All Audio Busses"
msgstr "Gøym alle bussar"
-#: editor_routes.cc:476
+#: editor_routes.cc:479
msgid "Show All Midi Tracks"
msgstr "Vis alle midipsor"
-#: editor_routes.cc:477
+#: editor_routes.cc:480
msgid "Hide All Midi Tracks"
msgstr "Gøym alle midispor"
-#: editor_routes.cc:478
+#: editor_routes.cc:481
msgid "Show Tracks With Regions Under Playhead"
msgstr "Vis spor med bolkar under spelehovudet"
-#: editor_rulers.cc:340
+#: editor_rulers.cc:216
msgid "New location marker"
msgstr "Ny stadmarkør"
-#: editor_rulers.cc:341
+#: editor_rulers.cc:217
msgid "Clear all locations"
msgstr "Tøm alle stader"
-#: editor_rulers.cc:342
+#: editor_rulers.cc:218
msgid "Unhide locations"
msgstr "Vis stader"
-#: editor_rulers.cc:346
+#: editor_rulers.cc:222
msgid "New range"
msgstr "Nytt område"
-#: editor_rulers.cc:347
+#: editor_rulers.cc:223
msgid "Clear all ranges"
msgstr "Tøm alle område"
-#: editor_rulers.cc:348
+#: editor_rulers.cc:224
msgid "Unhide ranges"
msgstr "Vis område"
-#: editor_rulers.cc:358
+#: editor_rulers.cc:234
msgid "New CD track marker"
msgstr "Ny CD-spormarkør"
-#: editor_rulers.cc:363 tempo_dialog.cc:40
+#: editor_rulers.cc:239 tempo_dialog.cc:39
msgid "New Tempo"
msgstr "Nytt tempo"
-#: editor_rulers.cc:368 tempo_dialog.cc:255
+#: editor_rulers.cc:243 tempo_dialog.cc:289
msgid "New Meter"
msgstr "Ny taktart"
-#: editor_rulers.cc:373
+#: editor_rulers.cc:247
msgid "Timeline height"
msgstr ""
-#: editor_rulers.cc:383
+#: editor_rulers.cc:257
msgid "Align Video Track"
msgstr ""
-#: editor_selection.cc:889 editor_selection.cc:932
+#: editor_selection.cc:895 editor_selection.cc:938
msgid "set selected regions"
msgstr "fastset valde bolkar"
-#: editor_selection.cc:1414
+#: editor_selection.cc:1417
msgid "select all"
msgstr "vel alt"
-#: editor_selection.cc:1506
+#: editor_selection.cc:1511
msgid "select all within"
msgstr "vel alt innanfor"
-#: editor_selection.cc:1564
+#: editor_selection.cc:1569
msgid "set selection from range"
msgstr "vel området"
-#: editor_selection.cc:1604
+#: editor_selection.cc:1609
msgid "select all from range"
msgstr "vel alt frå området"
-#: editor_selection.cc:1635
+#: editor_selection.cc:1640
msgid "select all from punch"
msgstr "vel alt frå innslag"
-#: editor_selection.cc:1666
+#: editor_selection.cc:1671
msgid "select all from loop"
msgstr "vel alt frå lykkja"
-#: editor_selection.cc:1702
+#: editor_selection.cc:1707
msgid "select all after cursor"
msgstr "vel alt etter markøren"
-#: editor_selection.cc:1704
+#: editor_selection.cc:1709
msgid "select all before cursor"
msgstr "vel alt før markøren"
-#: editor_selection.cc:1753
+#: editor_selection.cc:1758
msgid "select all after edit"
msgstr "vel alt etter redigeringsmarkøren"
-#: editor_selection.cc:1755
+#: editor_selection.cc:1760
msgid "select all before edit"
msgstr "vel alt før redigeringsmarkøren"
-#: editor_selection.cc:1888
-msgid "No edit range defined"
-msgstr "Du har ikkje gjeve noko redigeringsområde"
-
-#: editor_selection.cc:1894
-msgid ""
-"the edit point is Selected Marker\n"
-"but there is no selected marker."
-msgstr ""
-"redigeringspunktet er valt markør,\n"
-"men det er ingen valt markør."
-
-#: editor_snapshots.cc:136
+#: editor_snapshots.cc:137
msgid "Rename Snapshot"
msgstr "Døyp om snøggbilete"
-#: editor_snapshots.cc:138
+#: editor_snapshots.cc:139
msgid "New name of snapshot"
msgstr "Namn på det nye snøggbiletet:"
-#: editor_snapshots.cc:156
+#: editor_snapshots.cc:157
msgid ""
"Do you really want to remove snapshot \"%1\" ?\n"
"(which cannot be undone)"
@@ -5569,51 +5701,35 @@ msgstr ""
"Vil du verkeleg fjerna snøggbiletet \"%1\"?\n"
"Du kan ikkje angra."
-#: editor_snapshots.cc:161
+#: editor_snapshots.cc:162
msgid "Remove snapshot"
msgstr "Fjern snøggbilete"
-#: editor_tempodisplay.cc:208 editor_tempodisplay.cc:250
+#: editor_tempodisplay.cc:193 editor_tempodisplay.cc:235
msgid "add"
msgstr "legg til"
-#: editor_tempodisplay.cc:231
+#: editor_tempodisplay.cc:216
msgid "add tempo mark"
msgstr "legg til tempomerke"
-#: editor_tempodisplay.cc:272
+#: editor_tempodisplay.cc:257
msgid "add meter mark"
msgstr "legg til taktartsmerke"
-#: editor_tempodisplay.cc:288 editor_tempodisplay.cc:367
-#: editor_tempodisplay.cc:386
-msgid ""
-"programming error: tempo marker canvas item has no marker object pointer!"
-msgstr ""
-"Programmeringsfeil: objektet på tempomarkørpaletten har ingen "
-"tempomarkørpeikar!"
-
-#: editor_tempodisplay.cc:293 editor_tempodisplay.cc:372
-msgid "programming error: marker for tempo is not a tempo marker!"
-msgstr "Programmeringsfeil: markøren for tempo er ikkje ingen tempomarkør!"
-
-#: editor_tempodisplay.cc:305 editor_tempodisplay.cc:335
+#: editor_tempodisplay.cc:290 editor_tempodisplay.cc:320
msgid "done"
msgstr "ferdig"
-#: editor_tempodisplay.cc:324 editor_tempodisplay.cc:352
+#: editor_tempodisplay.cc:309 editor_tempodisplay.cc:337
msgid "replace tempo mark"
msgstr "byt ut tempomerke"
-#: editor_tempodisplay.cc:391 editor_tempodisplay.cc:423
-msgid "programming error: marker for meter is not a meter marker!"
-msgstr "Programmeringsfeil: taktartmarkøren er ikkje ein taktartmarkør!"
-
-#: editor_tempodisplay.cc:401 editor_tempodisplay.cc:435
+#: editor_tempodisplay.cc:360 editor_tempodisplay.cc:394
msgid "remove tempo mark"
msgstr "fjern tempomerke"
-#: editor_tempodisplay.cc:418
+#: editor_tempodisplay.cc:377
msgid ""
"programming error: meter marker canvas item has no marker object pointer!"
msgstr ""
@@ -5631,220 +5747,264 @@ msgstr "endra tonehøgd"
msgid "timefx cannot be started - thread creation error"
msgstr "greidde ikkje starta tidsstrekk - trådstartingsfeil"
-#: engine_dialog.cc:79
+#: engine_dialog.cc:81
msgid "Device Control Panel"
msgstr ""
-#: engine_dialog.cc:80 engine_dialog.cc:1725
+#: engine_dialog.cc:82
+msgid "Midi Device Setup"
+msgstr ""
+
+#: engine_dialog.cc:83 engine_dialog.cc:1999
msgid "Measure"
msgstr ""
-#: engine_dialog.cc:81
+#: engine_dialog.cc:84
msgid "Use results"
msgstr ""
-#: engine_dialog.cc:82
+#: engine_dialog.cc:85
msgid "Back to settings ... (ignore results)"
msgstr ""
-#: engine_dialog.cc:83
-msgid "Calibrate..."
+#: engine_dialog.cc:86
+msgid "Calibrate Audio"
msgstr ""
-#: engine_dialog.cc:87
-msgid "Refresh list"
+#: engine_dialog.cc:90
+msgid "Back to settings"
msgstr ""
-#: engine_dialog.cc:107
+#: engine_dialog.cc:108
msgid ""
"No audio/MIDI backends detected. %1 cannot run\n"
"\n"
"(This is a build/packaging/system error. It should never happen.)"
msgstr ""
-#: engine_dialog.cc:136
+#: engine_dialog.cc:135
msgid "Latency Measurement Tool"
msgstr ""
-#: engine_dialog.cc:151
+#: engine_dialog.cc:147 engine_dialog.cc:561
msgid ""
"<span weight=\"bold\">Turn down the volume on your audio equipment to a very "
"low level.</span>"
msgstr ""
-#: engine_dialog.cc:159
+#: engine_dialog.cc:156
msgid "Select two channels below and connect them using a cable."
msgstr ""
-#: engine_dialog.cc:164
+#: engine_dialog.cc:161
msgid "Output channel"
msgstr ""
-#: engine_dialog.cc:172
+#: engine_dialog.cc:169
msgid "Input channel"
msgstr ""
-#: engine_dialog.cc:207
+#: engine_dialog.cc:204
msgid "Once the channels are connected, click the \"Measure\" button."
msgstr ""
-#: engine_dialog.cc:214
+#: engine_dialog.cc:211
msgid "When satisfied with the results, click the \"Use results\" button."
msgstr ""
-#: engine_dialog.cc:229 engine_dialog.cc:1727
+#: engine_dialog.cc:226 engine_dialog.cc:2107 engine_dialog.cc:2117
msgid "No measurement results yet"
msgstr ""
-#: engine_dialog.cc:238 route_params_ui.cc:105
+#: engine_dialog.cc:236 route_params_ui.cc:105
msgid "Latency"
msgstr "Treigskap"
-#: engine_dialog.cc:333
+#: engine_dialog.cc:351
msgid "Audio System:"
msgstr ""
-#: engine_dialog.cc:374
+#: engine_dialog.cc:394
msgid "Driver:"
msgstr "Drivar:"
-#: engine_dialog.cc:380
+#: engine_dialog.cc:400
msgid "Device:"
msgstr ""
-#: engine_dialog.cc:385 engine_dialog.cc:475 sfdb_ui.cc:147 sfdb_ui.cc:260
-#: sfdb_ui.cc:265
+#: engine_dialog.cc:405 engine_dialog.cc:496 sfdb_ui.cc:151 sfdb_ui.cc:341
+#: sfdb_ui.cc:346
msgid "Sample rate:"
msgstr "Punktfrekvens:"
-#: engine_dialog.cc:391 engine_dialog.cc:482
+#: engine_dialog.cc:411 engine_dialog.cc:503
msgid "Buffer size:"
msgstr "Bufferstorleik:"
-#: engine_dialog.cc:404
+#: engine_dialog.cc:424
msgid "Input Channels:"
msgstr ""
-#: engine_dialog.cc:415
+#: engine_dialog.cc:435
msgid "Output Channels:"
msgstr ""
-#: engine_dialog.cc:426
+#: engine_dialog.cc:446
msgid "Hardware input latency:"
msgstr "Treigskap for maskinvare-inngangar:"
-#: engine_dialog.cc:429 engine_dialog.cc:442
+#: engine_dialog.cc:449 engine_dialog.cc:462
msgid "samples"
msgstr "punkt"
-#: engine_dialog.cc:439
+#: engine_dialog.cc:459
msgid "Hardware output latency:"
msgstr "Treigskap for maskinvare-utgangar:"
-#: engine_dialog.cc:450
+#: engine_dialog.cc:470
msgid "MIDI System"
msgstr ""
-#: engine_dialog.cc:467
+#: engine_dialog.cc:488
msgid ""
"The %1 audio backend was configured and started externally.\n"
"This limits your control over it."
msgstr ""
-#: engine_dialog.cc:521
+#: engine_dialog.cc:543
+msgid ""
+"Failed to start or connect to audio-engine.\n"
+"\n"
+"Latency calibration requires a working audio interface."
+msgstr ""
+
+#: engine_dialog.cc:549
msgid ""
"Your selected audio configuration is playback- or capture-only.\n"
"\n"
"Latency calibration requires playback and capture"
msgstr ""
-#: engine_dialog.cc:595
-msgid "MIDI Inputs"
+#: engine_dialog.cc:630
+msgid "MIDI Devices"
+msgstr ""
+
+#: engine_dialog.cc:636
+msgid "Device"
+msgstr "Eining"
+
+#: engine_dialog.cc:638
+msgid "Hardware Latencies"
msgstr ""
-#: engine_dialog.cc:612
-msgid "MIDI Outputs"
+#: engine_dialog.cc:679
+msgid "Calibrate"
msgstr ""
-#: engine_dialog.cc:696
+#: engine_dialog.cc:761
msgid "all available channels"
msgstr ""
-#: engine_dialog.cc:890
+#: engine_dialog.cc:954
#, c-format
msgid "%u samples"
msgstr ""
-#: engine_dialog.cc:941
+#: engine_dialog.cc:1001
#, c-format
msgid "(%.1f msecs)"
msgstr ""
-#: engine_dialog.cc:1389
+#: engine_dialog.cc:1510
+msgid "Could not start backend engine %1"
+msgstr ""
+
+#: engine_dialog.cc:1561
msgid "Cannot set driver to %1"
msgstr ""
-#: engine_dialog.cc:1393
+#: engine_dialog.cc:1565
msgid "Cannot set device name to %1"
msgstr ""
-#: engine_dialog.cc:1397
+#: engine_dialog.cc:1569
msgid "Cannot set sample rate to %1"
msgstr ""
-#: engine_dialog.cc:1401
+#: engine_dialog.cc:1573
msgid "Cannot set buffer size to %1"
msgstr ""
-#: engine_dialog.cc:1407
+#: engine_dialog.cc:1579
msgid "Cannot set input channels to %1"
msgstr ""
-#: engine_dialog.cc:1411
+#: engine_dialog.cc:1583
msgid "Cannot set output channels to %1"
msgstr ""
-#: engine_dialog.cc:1417
+#: engine_dialog.cc:1589
msgid "Cannot set input latency to %1"
msgstr ""
-#: engine_dialog.cc:1421
+#: engine_dialog.cc:1593
msgid "Cannot set output latency to %1"
msgstr ""
-#: engine_dialog.cc:1654
+#: engine_dialog.cc:1858 engine_dialog.cc:1917
msgid "No signal detected "
msgstr ""
-#: engine_dialog.cc:1667 port_insert_ui.cc:71 port_insert_ui.cc:99
+#: engine_dialog.cc:1871 engine_dialog.cc:1925 port_insert_ui.cc:70
+#: port_insert_ui.cc:98
msgid "Disconnected from audio engine"
msgstr "Ikkje tilkopla lydmotoren"
-#: engine_dialog.cc:1681
+#: engine_dialog.cc:1880 engine_dialog.cc:1933
+msgid "Detected roundtrip latency: "
+msgstr ""
+
+#: engine_dialog.cc:1882 engine_dialog.cc:1935
+msgid "Systemic latency: "
+msgstr ""
+
+#: engine_dialog.cc:1889
msgid "(signal detection error)"
msgstr ""
-#: engine_dialog.cc:1687
+#: engine_dialog.cc:1895
msgid "(inverted - bad wiring)"
msgstr ""
-#: engine_dialog.cc:1697
-msgid "Detected roundtrip latency: %1"
+#: engine_dialog.cc:1942
+msgid "(averaging)"
+msgstr ""
+
+#: engine_dialog.cc:1948
+msgid "(too large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1952
+msgid "(large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1963
+msgid "Timeout - large MIDI jitter."
msgstr ""
-#: engine_dialog.cc:1709 port_insert_ui.cc:135
+#: engine_dialog.cc:1979 port_insert_ui.cc:134
msgid "Detecting ..."
msgstr "Lyttar etter signal..."
-#: engine_dialog.cc:1789
+#: engine_dialog.cc:2073
msgid "Disconnect from %1"
msgstr ""
-#: engine_dialog.cc:1801
+#: engine_dialog.cc:2085
msgid "Connect to %1"
msgstr ""
-#: export_channel_selector.cc:45 sfdb_ui.cc:145
+#: export_channel_selector.cc:45 sfdb_ui.cc:149
msgid "Channels:"
msgstr "Kanalar:"
@@ -5888,20 +6048,20 @@ msgstr ""
msgid "List files"
msgstr "List opp filer"
-#: export_dialog.cc:164 export_timespan_selector.cc:355
-#: export_timespan_selector.cc:417
+#: export_dialog.cc:158 export_format_dialog.cc:59
+msgid "File format"
+msgstr "Filformat"
+
+#: export_dialog.cc:159 export_timespan_selector.cc:374
+#: export_timespan_selector.cc:436
msgid "Time Span"
msgstr "Tidsomfang"
-#: export_dialog.cc:176
+#: export_dialog.cc:160
msgid "Channels"
msgstr "Kanalar"
-#: export_dialog.cc:187
-msgid "Time span and channel options"
-msgstr "Tidsspenn- og kanaloppsett"
-
-#: export_dialog.cc:221
+#: export_dialog.cc:182
msgid ""
"Export has been aborted due to an error!\n"
"See the Log for details."
@@ -5909,35 +6069,39 @@ msgstr ""
"Avbraut eksporten på grunn av feil!\n"
"Sjå loggfila for fleire opplysningar."
-#: export_dialog.cc:290
+#: export_dialog.cc:251
msgid "Files that will be overwritten"
msgstr "Filer som blir overskrivne"
-#: export_dialog.cc:316
+#: export_dialog.cc:296
+msgid "Export initialization failed: %1"
+msgstr ""
+
+#: export_dialog.cc:306
msgid "Stop Export"
msgstr "Avbryt eksport"
-#: export_dialog.cc:337
+#: export_dialog.cc:327
msgid "export"
msgstr "Eksporter"
-#: export_dialog.cc:356
+#: export_dialog.cc:346
msgid "Normalizing '%3' (timespan %1 of %2)"
msgstr "Normaliserer '%3' (tidsomfang %1 av %2)"
-#: export_dialog.cc:360
+#: export_dialog.cc:350
msgid "Exporting '%3' (timespan %1 of %2)"
msgstr "Eksporterer '%3' (tidsomfang %1 av %2)"
-#: export_dialog.cc:383 export_dialog.cc:385
+#: export_dialog.cc:373 export_dialog.cc:375
msgid "<span color=\"#ffa755\">Error: "
msgstr "<span color=\"#ffa755\">Feil: "
-#: export_dialog.cc:395
+#: export_dialog.cc:385
msgid "<span color=\"#ffa755\">Warning: "
msgstr "<span color=\"#ffa755\">Ã…tvaring: "
-#: export_dialog.cc:397
+#: export_dialog.cc:387
msgid ""
"\n"
"<span color=\"#ffa755\">Warning: "
@@ -5945,39 +6109,43 @@ msgstr ""
"\n"
"<span color=\"#ffa755\">Ã…tvaring: "
-#: export_dialog.cc:420
+#: export_dialog.cc:411
msgid "Export Selection"
msgstr "Eksporter utvalet"
-#: export_dialog.cc:433
+#: export_dialog.cc:425
msgid "Export Region"
msgstr "Eksporter bolken"
-#: export_dialog.cc:443
+#: export_dialog.cc:434
msgid "Source"
msgstr "Kjelde"
-#: export_dialog.cc:458
+#: export_dialog.cc:450
msgid "Stem Export"
msgstr "Staveksport"
-#: export_file_notebook.cc:38
+#: export_file_notebook.cc:39
msgid "Add another format"
msgstr "Legg til eit anna format"
-#: export_file_notebook.cc:178
+#: export_file_notebook.cc:193
msgid "Format"
msgstr "Format"
-#: export_file_notebook.cc:179
+#: export_file_notebook.cc:194
msgid "Location"
msgstr "Stad"
-#: export_file_notebook.cc:255
+#: export_file_notebook.cc:195
+msgid "Upload to Soundcloud"
+msgstr ""
+
+#: export_file_notebook.cc:273
msgid "No format!"
msgstr "Ikkje noko format!"
-#: export_file_notebook.cc:267
+#: export_file_notebook.cc:291
msgid "Format %1: %2"
msgstr "Format %1: %2"
@@ -5998,9 +6166,9 @@ msgid "Folder:"
msgstr "Mappe:"
#: export_filename_selector.cc:37 session_import_dialog.cc:44
-#: transcode_video_dialog.cc:58 video_server_dialog.cc:45
-#: video_server_dialog.cc:47 export_video_dialog.cc:68
-#: export_video_dialog.cc:70
+#: transcode_video_dialog.cc:59 video_server_dialog.cc:59
+#: video_server_dialog.cc:61 export_video_dialog.cc:69
+#: export_video_dialog.cc:71
msgid "Browse"
msgstr "Bla gjennom"
@@ -6063,67 +6231,69 @@ msgstr "Skjer bort stille på slutten"
msgid "Add silence at end:"
msgstr "Legg til stille på slutten:"
-#: export_format_dialog.cc:55
+#: export_format_dialog.cc:54
+msgid ""
+"Command to run post-export\n"
+"(%f=full path & filename, %d=directory, %b=basename):"
+msgstr ""
+
+#: export_format_dialog.cc:57
msgid "Compatibility"
msgstr "Samspel"
-#: export_format_dialog.cc:56
+#: export_format_dialog.cc:58
msgid "Quality"
msgstr "Kvalitet"
-#: export_format_dialog.cc:57
-msgid "File format"
-msgstr "Filformat"
-
-#: export_format_dialog.cc:59
+#: export_format_dialog.cc:61
msgid "Sample rate conversion quality:"
msgstr "Konverteringskvalitet:"
-#: export_format_dialog.cc:66
+#: export_format_dialog.cc:68
msgid "Dithering"
msgstr "Utjamning"
-#: export_format_dialog.cc:68
+#: export_format_dialog.cc:70
msgid "Create CUE file for disk-at-once CD/DVD creation"
msgstr "Lag CUE-fil for å laga DAO-CD-ar eller DVD-ar"
-#: export_format_dialog.cc:69
+#: export_format_dialog.cc:71
msgid "Create TOC file for disk-at-once CD/DVD creation"
msgstr "Lag TOC-fil for å laga DAO-CD-ar eller DVD-ar"
-#: export_format_dialog.cc:71
+#: export_format_dialog.cc:73
msgid "Tag file with session's metadata"
msgstr "Merk fila med metadata frå økta"
-#: export_format_dialog.cc:461
+#: export_format_dialog.cc:470
msgid "Best (sinc)"
msgstr "Best (sinc)"
-#: export_format_dialog.cc:466
+#: export_format_dialog.cc:475
msgid "Medium (sinc)"
msgstr "Middels (sinc)"
-#: export_format_dialog.cc:471
+#: export_format_dialog.cc:480
msgid "Fast (sinc)"
msgstr "Rask (sinc)"
-#: export_format_dialog.cc:481
+#: export_format_dialog.cc:490
msgid "Zero order hold"
msgstr "Hald nullorden"
-#: export_format_dialog.cc:879
+#: export_format_dialog.cc:895
msgid "Linear encoding options"
msgstr "Val for lineær omkoding"
-#: export_format_dialog.cc:895
+#: export_format_dialog.cc:911
msgid "Ogg Vorbis options"
msgstr "Val for Ogg Vorbis"
-#: export_format_dialog.cc:908
+#: export_format_dialog.cc:922
msgid "FLAC options"
msgstr "Val for FLAC"
-#: export_format_dialog.cc:925
+#: export_format_dialog.cc:939
msgid "Broadcast Wave options"
msgstr "Val for kringkastingsformat"
@@ -6151,11 +6321,15 @@ msgstr ""
msgid "Show Times as:"
msgstr "Vis tider som:"
-#: export_timespan_selector.cc:204
+#: export_timespan_selector.cc:53 processor_box.cc:2510
+msgid "Select All"
+msgstr "Vel alt"
+
+#: export_timespan_selector.cc:223
msgid " to "
msgstr "til"
-#: export_timespan_selector.cc:348 export_timespan_selector.cc:407
+#: export_timespan_selector.cc:367 export_timespan_selector.cc:426
msgid "Range"
msgstr "Område"
@@ -6171,172 +6345,140 @@ msgstr ""
msgid "getSoundResourceFile: root = %1, != response"
msgstr ""
-#: sfdb_freesound_mootcher.cc:410
+#: sfdb_freesound_mootcher.cc:410 rc_option_editor.cc:1729
msgid "%1"
msgstr ""
-#: gain_meter.cc:105 gain_meter.cc:360 gain_meter.cc:465 gain_meter.cc:859
+#: gain_meter.cc:106 gain_meter.cc:366 gain_meter.cc:471 gain_meter.cc:865
msgid "-inf"
msgstr "-ê"
-#: gain_meter.cc:111 gain_meter.cc:916
+#: gain_meter.cc:113 gain_meter.cc:927
msgid "Fader automation mode"
msgstr "Volumautomasjonsmodus"
-#: gain_meter.cc:112 gain_meter.cc:917
+#: gain_meter.cc:114 gain_meter.cc:928
msgid "Fader automation type"
msgstr "Automasjonstype for volum"
-#: gain_meter.cc:121 gain_meter.cc:798 panner_ui.cc:177 panner_ui.cc:589
+#: gain_meter.cc:123 gain_meter.cc:804 panner_ui.cc:178 panner_ui.cc:638
msgid "Abs"
msgstr "Abs"
-#: gain_meter.cc:765 mixer_strip.cc:1948 meter_strip.cc:337 panner_ui.cc:556
-#: route_time_axis.cc:2411
+#: gain_meter.cc:771 mixer_strip.cc:2004 meter_strip.cc:374 panner_ui.cc:605
+#: route_time_axis.cc:100 route_time_axis.cc:2560
msgid "P"
msgstr "S"
-#: gain_meter.cc:768 panner_ui.cc:559
+#: gain_meter.cc:774 panner_ui.cc:608
msgid "T"
msgstr "T"
-#: gain_meter.cc:771 panner_ui.cc:562
+#: gain_meter.cc:777 panner_ui.cc:611
msgid "W"
msgstr "W"
-#: generic_pluginui.cc:81
+#: generic_pluginui.cc:79
msgid "<span size=\"large\">Presets</span>"
msgstr "<span size=\"large\">Ferdiginnstillingar</span>"
-#: generic_pluginui.cc:230
+#: generic_pluginui.cc:228
msgid "Switches"
msgstr "Brytarar"
-#: generic_pluginui.cc:240 generic_pluginui.cc:374 processor_box.cc:2251
+#: generic_pluginui.cc:238 generic_pluginui.cc:372 processor_box.cc:2484
msgid "Controls"
msgstr "Kontrollar"
-#: generic_pluginui.cc:268
+#: generic_pluginui.cc:266
msgid "Plugin Editor: could not build control element for port %1"
msgstr "Utviding: greidde ikkje byggja kontrollelement for porten %1"
-#: generic_pluginui.cc:406
+#: generic_pluginui.cc:404
msgid "Meters"
msgstr "Mælarar"
-#: generic_pluginui.cc:421
+#: generic_pluginui.cc:419
msgid "Automation control"
msgstr "Automasjonskontroll"
-#: generic_pluginui.cc:428
+#: generic_pluginui.cc:426
msgid "Mgnual"
msgstr "Mgnual"
-#: global_port_matrix.cc:157
+#: global_port_matrix.cc:158
msgid "Audio Connection Manager"
msgstr "Lydtilkoplingar"
-#: global_port_matrix.cc:160
+#: global_port_matrix.cc:161
msgid "MIDI Connection Manager"
msgstr "MIDI-tilkoplingar"
-#: global_port_matrix.cc:200 io_selector.cc:210 mixer_strip.cc:719
-#: mixer_strip.cc:845
+#: global_port_matrix.cc:201 io_selector.cc:211 mixer_strip.cc:799
+#: mixer_strip.cc:895
msgid "Disconnect"
msgstr "Kopla frå"
-#: global_port_matrix.cc:206 io_selector.cc:216
+#: global_port_matrix.cc:207 io_selector.cc:217
msgid "port"
msgstr "port"
-#: group_tabs.cc:308
+#: group_tabs.cc:312
msgid "Selection..."
msgstr "Utval..."
-#: group_tabs.cc:309
+#: group_tabs.cc:313
msgid "Record Enabled..."
msgstr "Opptak på..."
-#: group_tabs.cc:310
+#: group_tabs.cc:314
msgid "Soloed..."
msgstr "Solo..."
-#: group_tabs.cc:316
+#: group_tabs.cc:320
msgid "Create New Group ..."
msgstr "Lag ny gruppe..."
-#: group_tabs.cc:317
+#: group_tabs.cc:321
msgid "Create New Group From"
msgstr "Lag ny gruppe frå"
-#: group_tabs.cc:320
+#: group_tabs.cc:324
msgid "Edit Group..."
msgstr "Rediger gruppe..."
-#: group_tabs.cc:321
+#: group_tabs.cc:325
msgid "Collect Group"
msgstr "Samla gruppa"
-#: group_tabs.cc:322
+#: group_tabs.cc:326
msgid "Remove Group"
msgstr "Fjern gruppa"
-#: group_tabs.cc:325
+#: group_tabs.cc:329
msgid "Remove Subgroup Bus"
msgstr "Fjern subgruppe-buss"
-#: group_tabs.cc:327
+#: group_tabs.cc:331
msgid "Add New Subgroup Bus"
msgstr "Legg til subgruppe-buss"
-#: group_tabs.cc:329
+#: group_tabs.cc:333
msgid "Add New Aux Bus (pre-fader)"
msgstr "Legg til ny aux-buss (før volum)"
-#: group_tabs.cc:330
+#: group_tabs.cc:334
msgid "Add New Aux Bus (post-fader)"
msgstr "Legg til aux-buss (etter volum)"
-#: group_tabs.cc:336
+#: group_tabs.cc:340
msgid "Enable All Groups"
msgstr "Skru på alle grupper"
-#: group_tabs.cc:337
+#: group_tabs.cc:341
msgid "Disable All Groups"
msgstr "Slå av alle gruppene"
-#: gtk-custom-ruler.c:133
-msgid "Lower limit of ruler"
-msgstr "Lægste grense for linjalen"
-
-#: gtk-custom-ruler.c:142
-msgid "Upper"
-msgstr "Øvste"
-
-#: gtk-custom-ruler.c:143
-msgid "Upper limit of ruler"
-msgstr "Øvste grense for linjalen"
-
-#: gtk-custom-ruler.c:153
-msgid "Position of mark on the ruler"
-msgstr "Posisjon for linjalmerke"
-
-#: gtk-custom-ruler.c:162
-msgid "Max Size"
-msgstr "Største storleik"
-
-#: gtk-custom-ruler.c:163
-msgid "Maximum size of the ruler"
-msgstr "Største linjalstorleik"
-
-#: gtk-custom-ruler.c:172
-msgid "Show Position"
-msgstr "Vis posisjon"
-
-#: gtk-custom-ruler.c:173
-msgid "Draw current ruler position"
-msgstr "Teikna den noverande linjalposisjonen"
-
#: insert_time_dialog.cc:46
msgid "Time to insert:"
msgstr "Tid å setja inn:"
@@ -6393,27 +6535,27 @@ msgstr "Set inn tid"
msgid "Importing file: %1 of %2"
msgstr "Importerer fil: %1 av %2"
-#: io_selector.cc:220
+#: io_selector.cc:221
msgid "I/O selector"
msgstr "I/U-veljar"
-#: io_selector.cc:265
+#: io_selector.cc:266
msgid "%1 input"
msgstr "%1-inngang"
-#: io_selector.cc:267
+#: io_selector.cc:268
msgid "%1 output"
msgstr "%1-utgang"
-#: keyboard.cc:66
+#: keyboard.cc:70
msgid "your own"
msgstr "din eigen"
-#: keyboard.cc:129 keyboard.cc:153
+#: keyboard.cc:133 keyboard.cc:157
msgid "Default keybindings not found - %1 will be hard to use!"
msgstr "Fann ingen standardsnøggtastar. Då blir det ikkje lett å bruka %1!"
-#: keyboard.cc:132 keyboard.cc:156
+#: keyboard.cc:136
msgid "Key bindings file \"%1\" not found. Default bindings used instead"
msgstr "Fann ikkje snøggtastfila \"%1\". Bruker standardsnøggtastar i staden."
@@ -6429,28 +6571,32 @@ msgstr "Handling"
msgid "Shortcut"
msgstr "Snarveg"
-#: keyeditor.cc:86
+#: keyeditor.cc:85
msgid "Select an action, then press the key(s) to (re)set its shortcut"
msgstr ""
"Vel ei handling. Så trykkjer du tasten/tastane som skal utføra handlinga."
-#: keyeditor.cc:251
+#: keyeditor.cc:99
+msgid "Reset Bindings to Defaults"
+msgstr ""
+
+#: keyeditor.cc:260
msgid "Main_menu"
msgstr "Hovud_meny"
-#: keyeditor.cc:253
+#: keyeditor.cc:262
msgid "redirectmenu"
msgstr "omdirigeringsmeny"
-#: keyeditor.cc:255
+#: keyeditor.cc:264
msgid "Editor_menus"
msgstr "Redigerings_menyar"
-#: keyeditor.cc:257
+#: keyeditor.cc:266
msgid "RegionList"
msgstr "Bolkliste"
-#: keyeditor.cc:259
+#: keyeditor.cc:268
msgid "ProcessorMenu"
msgstr "Prosessormeny"
@@ -6472,132 +6618,107 @@ msgid_plural "%1 samples"
msgstr[0] "%1 punkt"
msgstr[1] "%1 punkt"
-#: latency_gui.cc:72 panner_ui.cc:391
+#: latency_gui.cc:72 panner_ui.cc:408
msgid "Reset"
msgstr "Nullstill"
-#: latency_gui.cc:151 rhythm_ferret.cc:274 sfdb_ui.cc:1755
+#: latency_gui.cc:149 rhythm_ferret.cc:273 sfdb_ui.cc:1893
msgid "programming error: %1 (%2)"
msgstr "Programmeringsfeil: %1 (%2)"
-#: location_ui.cc:50 location_ui.cc:52
+#: location_ui.cc:51 location_ui.cc:53
msgid "Use PH"
msgstr "Bruk PH"
-#: location_ui.cc:54
+#: location_ui.cc:55
msgid "CD"
msgstr "CD"
-#: location_ui.cc:57
+#: location_ui.cc:58
msgid "Glue"
msgstr "Lim"
-#: location_ui.cc:85
+#: location_ui.cc:86
msgid "Performer:"
msgstr "Utøvar:"
-#: location_ui.cc:86
+#: location_ui.cc:87
msgid "Composer:"
msgstr "Komponist:"
-#: location_ui.cc:88
+#: location_ui.cc:89
msgid "Pre-Emphasis"
msgstr "Før-framheving for CD"
-#: location_ui.cc:314
+#: location_ui.cc:316
msgid "Remove this range"
msgstr "Fjern dette området"
-#: location_ui.cc:315
+#: location_ui.cc:317
msgid "Start time - middle click to locate here"
msgstr "Starttid - midtklikk for å gå hit"
-#: location_ui.cc:316
+#: location_ui.cc:318
msgid "End time - middle click to locate here"
msgstr "Sluttid - midtklikk for å gå hit"
-#: location_ui.cc:319
+#: location_ui.cc:321
msgid "Set range start from playhead location"
msgstr "Set områdestart ved spelehovudet"
-#: location_ui.cc:320
+#: location_ui.cc:322
msgid "Set range end from playhead location"
msgstr "Set områdeslutt ved spelehovudet"
-#: location_ui.cc:324
+#: location_ui.cc:326
msgid "Remove this marker"
msgstr "Fjern denne markøren"
-#: location_ui.cc:325
+#: location_ui.cc:327
msgid "Position - middle click to locate here"
msgstr "Posisjon - midtklikk for å gå hit"
-#: location_ui.cc:327
+#: location_ui.cc:329
msgid "Set marker time from playhead location"
msgstr "Set markørtid ved spelehovudet"
-#: location_ui.cc:494
+#: location_ui.cc:496
msgid "You cannot put a CD marker at the start of the session"
msgstr "Du kan ikkje leggja ein CD-markør på starten av økta"
-#: location_ui.cc:720
+#: location_ui.cc:722
msgid "New Marker"
msgstr "Nytt merke"
-#: location_ui.cc:721
+#: location_ui.cc:723
msgid "New Range"
msgstr "Nytt område"
-#: location_ui.cc:734
+#: location_ui.cc:736
msgid "<b>Loop/Punch Ranges</b>"
msgstr "<b>Lykkje-/innslagsområde</b>"
-#: location_ui.cc:759
+#: location_ui.cc:761
msgid "<b>Markers (Including CD Index)</b>"
msgstr "<b>Markørar (inkl. CD-indeks)</b>"
-#: location_ui.cc:794
+#: location_ui.cc:796
msgid "<b>Ranges (Including CD Track Ranges)</b>"
msgstr "<b>Bolkar (inkl. CD-sporbolkar)</b>"
-#: location_ui.cc:1036
+#: location_ui.cc:1038
msgid "add range marker"
msgstr "legg til områdemarkørar"
-#: main.cc:81
+#: main.cc:79
msgid "%1 could not connect to the audio backend."
msgstr ""
-#: main.cc:194 main.cc:315
-msgid "cannot create user %3 folder %1 (%2)"
-msgstr ""
-
-#: main.cc:201 main.cc:322
-msgid "cannot open pango.rc file %1"
-msgstr "greier ikkje opna pango.rc-fila %1"
-
-#: main.cc:226 main.cc:349
-msgid "Cannot find ArdourMono TrueType font"
-msgstr ""
-
-#: main.cc:238 main.cc:355
-msgid "Cannot load ArdourMono TrueType font."
-msgstr ""
-
-#: main.cc:303
-msgid ""
-"No fontconfig file found on your system. Things may looked very odd or ugly"
-msgstr ""
-
-#: main.cc:359
-msgid "Failed to set fontconfig configuration."
-msgstr ""
-
-#: main.cc:370 main.cc:386
+#: main.cc:104 main.cc:120
msgid "The audio backend (%1) has failed, or terminated"
msgstr ""
-#: main.cc:373
+#: main.cc:107
msgid ""
"%2 exited unexpectedly, and without notifying %1.\n"
"\n"
@@ -6606,23 +6727,33 @@ msgid ""
"Click OK to exit %1."
msgstr ""
-#: main.cc:387
+#: main.cc:121
msgid "%2 exited unexpectedly, and without notifying %1."
msgstr ""
-#: main.cc:474
+#: main.cc:223
+msgid ""
+"\n"
+" Ardour could not understand your command line "
+msgstr ""
+
+#: main.cc:225
+msgid "An error was encountered while launching Ardour"
+msgstr ""
+
+#: main.cc:233
msgid " (built using "
msgstr " (bygd med "
-#: main.cc:477
+#: main.cc:236
msgid " and GCC version "
msgstr " og GCC-version "
-#: main.cc:487
+#: main.cc:246
msgid "Copyright (C) 1999-2012 Paul Davis"
msgstr "Copyright (C) 1999-2012 Paul Davis"
-#: main.cc:488
+#: main.cc:247
msgid ""
"Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
"Baker, Robin Gareus"
@@ -6630,34 +6761,34 @@ msgstr ""
"Nokre deler (C) Steve Harris, Ari Johnson, Brett Viren, Joel Baker, Robin "
"Gareus"
-#: main.cc:490
+#: main.cc:249
msgid "%1 comes with ABSOLUTELY NO WARRANTY"
msgstr "%1 har ABSOLUTT INGEN GARANTI"
-#: main.cc:491
+#: main.cc:250
msgid "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
msgstr ""
"mogleik for sal eller bruk til eit spesielt føremål er heller ikkje "
"garantert."
-#: main.cc:492
+#: main.cc:251
msgid "This is free software, and you are welcome to redistribute it "
msgstr "Dette er gratis programvare, og du må gjerne gje henne vidare"
-#: main.cc:493
+#: main.cc:252
msgid "under certain conditions; see the source for copying conditions."
msgstr ""
"på visse vilkår, sjå kjeldekoden for kopierings- og vidareformidlingsvilkår. "
-#: main.cc:500
+#: main.cc:259
msgid "could not initialize %1."
msgstr "greidde ikkje starta %1."
-#: main.cc:509
+#: main.cc:269
msgid "Cannot xinstall SIGPIPE error handler"
msgstr "Kan ikkje xinstallera SIGPIPE-feilhandterar"
-#: main.cc:515
+#: main.cc:276
msgid "could not create %1 GUI"
msgstr ""
@@ -6665,17 +6796,13 @@ msgstr ""
msgid "Display delta to edit cursor"
msgstr "Vis delta til redigeringspunktet"
-#: marker.cc:251 video_image_frame.cc:121
+#: marker.cc:265
msgid "MarkerText"
msgstr "MarkørTekst"
-#: midi_channel_selector.cc:159 midi_channel_selector.cc:397
-#: midi_channel_selector.cc:433
-msgid "All"
-msgstr "Alt"
-
#: midi_channel_selector.cc:163 midi_channel_selector.cc:402
-#: midi_channel_selector.cc:438 rc_option_editor.cc:1248 sfdb_ui.cc:538
+#: midi_channel_selector.cc:438 rc_option_editor.cc:1499
+#: rc_option_editor.cc:2084 sfdb_ui.cc:658
msgid "None"
msgstr "Ingen"
@@ -6864,87 +6991,87 @@ msgstr "Portnamn:"
msgid "MidiPortDialog"
msgstr "MidiPortDialog"
-#: midi_region_view.cc:838
+#: midi_region_view.cc:822
msgid "channel edit"
msgstr "kanalredigering"
-#: midi_region_view.cc:874
+#: midi_region_view.cc:858
msgid "velocity edit"
msgstr "anslagsendring"
-#: midi_region_view.cc:931
+#: midi_region_view.cc:915
msgid "add note"
msgstr "legg til note"
-#: midi_region_view.cc:1779
+#: midi_region_view.cc:1766
msgid "step add"
msgstr "steg legg til"
-#: midi_region_view.cc:1862
+#: midi_region_view.cc:1853
msgid "insane MIDI patch key %1:%2"
msgstr ""
-#: midi_region_view.cc:1870 midi_region_view.cc:1890
+#: midi_region_view.cc:1861 midi_region_view.cc:1881
msgid "alter patch change"
msgstr "endra koplingsendring"
-#: midi_region_view.cc:1924
+#: midi_region_view.cc:1915
msgid "add patch change"
msgstr "legg til koplingsendring"
-#: midi_region_view.cc:1942
+#: midi_region_view.cc:1933
msgid "move patch change"
msgstr "flytt koplingsendring"
-#: midi_region_view.cc:1953
+#: midi_region_view.cc:1944
msgid "delete patch change"
msgstr "slett koplingsendring"
-#: midi_region_view.cc:2022
+#: midi_region_view.cc:2013
msgid "delete selection"
msgstr "slett markeringa"
-#: midi_region_view.cc:2038
+#: midi_region_view.cc:2029
msgid "delete note"
msgstr "slett note"
-#: midi_region_view.cc:2425
+#: midi_region_view.cc:2423
msgid "move notes"
msgstr "flytt notane"
-#: midi_region_view.cc:2647
+#: midi_region_view.cc:2645
msgid "resize notes"
msgstr "endra notestorleik"
-#: midi_region_view.cc:2901
+#: midi_region_view.cc:2899
msgid "change velocities"
msgstr "vel fart"
-#: midi_region_view.cc:2967
+#: midi_region_view.cc:2965
msgid "transpose"
msgstr "transponer"
-#: midi_region_view.cc:3001
+#: midi_region_view.cc:2999
msgid "change note lengths"
msgstr "endra notelengder"
-#: midi_region_view.cc:3070
+#: midi_region_view.cc:3068
msgid "nudge"
msgstr "skubb"
-#: midi_region_view.cc:3085
+#: midi_region_view.cc:3083
msgid "change channel"
msgstr "endra kanal"
-#: midi_region_view.cc:3130
+#: midi_region_view.cc:3128
msgid "Bank "
msgstr ""
-#: midi_region_view.cc:3131
+#: midi_region_view.cc:3129
msgid "Program "
msgstr ""
-#: midi_region_view.cc:3132
+#: midi_region_view.cc:3130
msgid "Channel "
msgstr ""
@@ -6952,140 +7079,136 @@ msgstr ""
msgid "paste"
msgstr "lim inn"
-#: midi_region_view.cc:3761
-msgid "delete sysex"
-msgstr "slett sysex"
-
-#: midi_streamview.cc:479
+#: midi_streamview.cc:491
msgid "failed to create MIDI region"
msgstr ""
-#: midi_time_axis.cc:262
+#: midi_time_axis.cc:293
msgid "External MIDI Device"
msgstr "Ekstern MIDI-eining"
-#: midi_time_axis.cc:263
+#: midi_time_axis.cc:294
msgid "External Device Mode"
msgstr "Modus for ekstern eining"
-#: midi_time_axis.cc:271
+#: midi_time_axis.cc:302
msgid "Chns"
msgstr ""
-#: midi_time_axis.cc:272
+#: midi_time_axis.cc:303
msgid "Click to edit channel settings"
msgstr ""
-#: midi_time_axis.cc:486
+#: midi_time_axis.cc:517
msgid "Show Full Range"
msgstr "Vis heile området"
-#: midi_time_axis.cc:491
+#: midi_time_axis.cc:522
msgid "Fit Contents"
msgstr "Pass til innhaldet"
-#: midi_time_axis.cc:495
+#: midi_time_axis.cc:526
msgid "Note Range"
msgstr "Noteområde"
-#: midi_time_axis.cc:496
+#: midi_time_axis.cc:527
msgid "Note Mode"
msgstr "Notemodus"
-#: midi_time_axis.cc:497
+#: midi_time_axis.cc:528
msgid "Channel Selector"
msgstr ""
-#: midi_time_axis.cc:502
+#: midi_time_axis.cc:533
msgid "Color Mode"
msgstr "Fargemodus"
-#: midi_time_axis.cc:561
+#: midi_time_axis.cc:592
msgid "Bender"
msgstr "Bendar"
-#: midi_time_axis.cc:565
+#: midi_time_axis.cc:596
msgid "Pressure"
msgstr "Trykk"
-#: midi_time_axis.cc:578
+#: midi_time_axis.cc:609
msgid "Controllers"
msgstr "Kontrollarar"
-#: midi_time_axis.cc:583
+#: midi_time_axis.cc:614
msgid "No MIDI Channels selected"
msgstr "Ingen MIDI-kanalar er valde"
-#: midi_time_axis.cc:640 midi_time_axis.cc:769
+#: midi_time_axis.cc:692 midi_time_axis.cc:821
msgid "Hide all channels"
msgstr "Gøym alle kanalar"
-#: midi_time_axis.cc:644 midi_time_axis.cc:773
+#: midi_time_axis.cc:696 midi_time_axis.cc:825
msgid "Show all channels"
msgstr "Vis alle kanalar"
-#: midi_time_axis.cc:655 midi_time_axis.cc:784
+#: midi_time_axis.cc:707 midi_time_axis.cc:836
msgid "Channel %1"
msgstr "Kanal %1"
-#: midi_time_axis.cc:910 midi_time_axis.cc:942
+#: midi_time_axis.cc:962 midi_time_axis.cc:994
msgid "Controllers %1-%2"
msgstr "Kontrollarar %1-%2"
-#: midi_time_axis.cc:933 midi_time_axis.cc:936
+#: midi_time_axis.cc:985 midi_time_axis.cc:988
msgid "Controller %1"
msgstr ""
-#: midi_time_axis.cc:959
+#: midi_time_axis.cc:1011
msgid "Sustained"
msgstr "Uthalden"
-#: midi_time_axis.cc:966
+#: midi_time_axis.cc:1018
msgid "Percussive"
msgstr "Perkussiv"
-#: midi_time_axis.cc:986
+#: midi_time_axis.cc:1038
msgid "Meter Colors"
msgstr "Mælarfarger"
-#: midi_time_axis.cc:993
+#: midi_time_axis.cc:1045
msgid "Channel Colors"
msgstr "Kanalfarger"
-#: midi_time_axis.cc:1000
+#: midi_time_axis.cc:1052
msgid "Track Color"
msgstr "Sporfarge"
-#: midi_time_axis.cc:1488 midi_time_axis.cc:1494 midi_time_axis.cc:1504
-#: midi_time_axis.cc:1510
+#: midi_time_axis.cc:1687 midi_time_axis.cc:1693 midi_time_axis.cc:1703
+#: midi_time_axis.cc:1709
msgid "all"
msgstr ""
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1507
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1706
msgid "some"
msgstr ""
-#: midi_tracer.cc:46
+#: midi_tracer.cc:49
msgid "Line history: "
msgstr "Linjehistorie:"
-#: midi_tracer.cc:54
+#: midi_tracer.cc:57
msgid "Auto-Scroll"
msgstr "Auto-rull"
-#: midi_tracer.cc:55
+#: midi_tracer.cc:58
msgid "Decimal"
msgstr "Desimal"
-#: midi_tracer.cc:56 rc_option_editor.cc:657
+#: midi_tracer.cc:59 rc_option_editor.cc:717
msgid "Enabled"
msgstr "PÃ¥"
-#: midi_tracer.cc:57
+#: midi_tracer.cc:60
msgid "Delta times"
msgstr "Deltatider"
-#: midi_tracer.cc:70
+#: midi_tracer.cc:73
msgid "Port:"
msgstr "Port:"
@@ -7093,35 +7216,35 @@ msgstr "Port:"
msgid "New velocity"
msgstr "Nytt anslag"
-#: missing_file_dialog.cc:34
-msgid "Missing File!"
-msgstr "Manglar fil!"
+#: missing_file_dialog.cc:35
+msgid "Missing File"
+msgstr ""
-#: missing_file_dialog.cc:36
+#: missing_file_dialog.cc:37
msgid "Select a folder to search"
msgstr "Vel ei mappe å søkja gjennom"
-#: missing_file_dialog.cc:37
+#: missing_file_dialog.cc:38
msgid "Add chosen folder to search path, and try again"
msgstr "Legg til den mappa du har valt til søkjestigen, og prøv att"
-#: missing_file_dialog.cc:39
+#: missing_file_dialog.cc:40
msgid "Stop loading this session"
msgstr "Ikkje last økta"
-#: missing_file_dialog.cc:40
+#: missing_file_dialog.cc:41
msgid "Skip all missing files"
msgstr "Hopp over manglande filer"
-#: missing_file_dialog.cc:41
+#: missing_file_dialog.cc:42
msgid "Skip this file"
msgstr "Hopp over denne fila"
-#: missing_file_dialog.cc:52
+#: missing_file_dialog.cc:53
msgid "audio"
msgstr "lyd"
-#: missing_file_dialog.cc:65
+#: missing_file_dialog.cc:70
msgid ""
"%1 cannot find the %2 file\n"
"\n"
@@ -7141,7 +7264,7 @@ msgstr ""
"<tt>%4</tt>\n"
"\n"
-#: missing_file_dialog.cc:99
+#: missing_file_dialog.cc:104
msgid "Click to choose an additional folder"
msgstr "Klikk for å velja ei mappe til"
@@ -7149,7 +7272,7 @@ msgstr "Klikk for å velja ei mappe til"
msgid "Missing Plugins"
msgstr "Manglande utvidingar"
-#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:59
+#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:60
msgid "OK"
msgstr "OK"
@@ -7205,6 +7328,10 @@ msgstr "Skru av/på dei valde signalprosessane"
msgid "Toggle Selected Plugins"
msgstr "Skru av/på dei valde utvidingane"
+#: mixer_actor.cc:70
+msgid "Deselect all srips and processors"
+msgstr ""
+
#: mixer_actor.cc:72 mixer_actor.cc:73
msgid "Scroll Mixer Window to the left"
msgstr "Rull miksarvindauga til venstre"
@@ -7221,20 +7348,20 @@ msgstr "Lasta miksarbindingar frå %1"
msgid "Could not find mixer.bindings in search path %1"
msgstr "Fann ikkje mixer.bindings i søkjestigen %1"
-#: mixer_strip.cc:93 mixer_strip.cc:121 mixer_strip.cc:1721
+#: mixer_strip.cc:98 mixer_strip.cc:127
msgid "pre"
msgstr "før"
-#: mixer_strip.cc:95 mixer_strip.cc:123 mixer_strip.cc:354 mixer_strip.cc:1300
-#: rc_option_editor.cc:1868
+#: mixer_strip.cc:100 mixer_strip.cc:129 mixer_strip.cc:376
+#: mixer_strip.cc:1373 rc_option_editor.cc:2203
msgid "Comments"
msgstr "Kommentarar"
-#: mixer_strip.cc:147
+#: mixer_strip.cc:151
msgid "Click to toggle the width of this mixer strip."
msgstr "Klikk for å endra breidd på denne miksarstripa."
-#: mixer_strip.cc:149
+#: mixer_strip.cc:153
msgid ""
"\n"
"%1-%2-click to toggle the width of all strips."
@@ -7242,295 +7369,283 @@ msgstr ""
"\n"
"%1-%2-klikk for å endra breidda på alle stripene."
-#: mixer_strip.cc:156
+#: mixer_strip.cc:160
msgid "Hide this mixer strip"
msgstr "Gøym denne miksarstripa"
-#: mixer_strip.cc:167
+#: mixer_strip.cc:171
msgid "Click to select metering point"
msgstr "Klikk for å velja mælepunkt"
-#: mixer_strip.cc:173
-msgid "tupni"
-msgstr "gnagnni"
-
-#: mixer_strip.cc:192
+#: mixer_strip.cc:191
msgid "Isolate Solo"
msgstr "Isoler solo"
-#: mixer_strip.cc:201
+#: mixer_strip.cc:200
msgid "Lock Solo Status"
msgstr "LÃ¥s solostatus"
-#: mixer_strip.cc:203 mixer_strip.cc:1926
-msgid "lock"
-msgstr "lås"
-
-#: mixer_strip.cc:204 mixer_strip.cc:1925
-msgid "iso"
-msgstr "iso"
+#: mixer_strip.cc:203 mixer_strip.cc:1982
+msgid "Iso"
+msgstr ""
-#: mixer_strip.cc:258
+#: mixer_strip.cc:259
msgid "Mix group"
msgstr "Miksgruppe"
-#: mixer_strip.cc:351 rc_option_editor.cc:1865
+#: mixer_strip.cc:372 rc_option_editor.cc:2199
msgid "Phase Invert"
msgstr "Polaritetsvending"
-#: mixer_strip.cc:352 rc_option_editor.cc:1866 route_ui.cc:1218
-msgid "Solo Safe"
-msgstr "Solo-sikker"
-
-#: mixer_strip.cc:355 mixer_ui.cc:124 route_time_axis.cc:673
-msgid "Group"
-msgstr "Gruppe"
+#: mixer_strip.cc:373 rc_option_editor.cc:2200
+msgid "Record & Monitor"
+msgstr ""
-#: mixer_strip.cc:356 rc_option_editor.cc:1869
-msgid "Meter Point"
-msgstr "Mælepunkt"
+#: mixer_strip.cc:374 rc_option_editor.cc:2201
+msgid "Solo Iso / Lock"
+msgstr ""
-#: mixer_strip.cc:470
+#: mixer_strip.cc:530
msgid "Enable/Disable MIDI input"
msgstr "Slå på/av MIDI-inngang"
-#: mixer_strip.cc:622
-msgid ""
-"Aux\n"
-"Sends"
+#: mixer_strip.cc:694
+msgid "Aux"
msgstr ""
-"Aux\n"
-"send"
-#: mixer_strip.cc:646
+#: mixer_strip.cc:716
msgid "Snd"
msgstr "Snd"
-#: mixer_strip.cc:701 mixer_strip.cc:829 processor_box.cc:2193
+#: mixer_strip.cc:782 mixer_strip.cc:880 processor_box.cc:2426
msgid "Not connected to audio engine - no I/O changes are possible"
msgstr ""
-#: mixer_strip.cc:1096
+#: mixer_strip.cc:1163
msgid "<b>INPUT</b> to %1"
msgstr "<b>INNGANG</b> til %1"
-#: mixer_strip.cc:1099
+#: mixer_strip.cc:1166
msgid "<b>OUTPUT</b> from %1"
msgstr "<b>UTGANG</b> frå %1"
-#: mixer_strip.cc:1174
+#: mixer_strip.cc:1241
msgid "Disconnected"
msgstr "Fråkopla"
-#: mixer_strip.cc:1303
+#: mixer_strip.cc:1376
msgid "*Comments*"
msgstr "*Kommentarar*"
-#: mixer_strip.cc:1310
+#: mixer_strip.cc:1383
msgid "Cmt"
msgstr "Kmt"
-#: mixer_strip.cc:1313
+#: mixer_strip.cc:1386
msgid "*Cmt*"
msgstr "*Kmt*"
-#: mixer_strip.cc:1319
+#: mixer_strip.cc:1392
msgid "Click to Add/Edit Comments"
msgstr "Klikk for å leggja til/redigera kommentarar"
-#: mixer_strip.cc:1358
-msgid ": comment editor"
-msgstr ": rediger kommentarar"
-
-#: mixer_strip.cc:1435
+#: mixer_strip.cc:1436
msgid "Grp"
msgstr "Grp"
-#: mixer_strip.cc:1438
+#: mixer_strip.cc:1439
msgid "~G"
msgstr "~G"
-#: mixer_strip.cc:1467
+#: mixer_strip.cc:1468 route_time_axis.cc:534
+msgid "Color..."
+msgstr "Farge..."
+
+#: mixer_strip.cc:1470 route_time_axis.cc:536
msgid "Comments..."
msgstr "Merknader …"
-#: mixer_strip.cc:1469
+#: mixer_strip.cc:1472 route_time_axis.cc:538
+msgid "Inputs..."
+msgstr ""
+
+#: mixer_strip.cc:1474 route_time_axis.cc:540
+msgid "Outputs..."
+msgstr ""
+
+#: mixer_strip.cc:1479
msgid "Save As Template..."
msgstr "Lagra som mal..."
-#: mixer_strip.cc:1475 route_group_dialog.cc:39 route_time_axis.cc:696
+#: mixer_strip.cc:1485 route_group_dialog.cc:45 route_time_axis.cc:814
msgid "Active"
msgstr "Aktiv"
-#: mixer_strip.cc:1482
+#: mixer_strip.cc:1493
msgid "Adjust Latency..."
msgstr "Juster treigskap..."
-#: mixer_strip.cc:1485
+#: mixer_strip.cc:1496
msgid "Protect Against Denormals"
msgstr "Vern mot unormalar"
-#: mixer_strip.cc:1491 route_time_axis.cc:435
+#: mixer_strip.cc:1502 route_time_axis.cc:553
msgid "Remote Control ID..."
msgstr "Fjernstyrings-ID..."
-#: mixer_strip.cc:1717 mixer_strip.cc:1741
-msgid "in"
-msgstr "inn"
-
-#: mixer_strip.cc:1725
-msgid "post"
-msgstr "etter"
-
-#: mixer_strip.cc:1729
-msgid "out"
-msgstr "ut"
-
-#: mixer_strip.cc:1734
-msgid "custom"
-msgstr "eigen"
+#: mixer_strip.cc:1778
+msgid "Pre"
+msgstr ""
-#: mixer_strip.cc:1745
-msgid "pr"
-msgstr "fø"
+#: mixer_strip.cc:1782
+msgid "Post"
+msgstr ""
-#: mixer_strip.cc:1749
-msgid "po"
-msgstr "et"
+#: mixer_strip.cc:1802
+msgid "Pr"
+msgstr ""
-#: mixer_strip.cc:1753
-msgid "o"
+#: mixer_strip.cc:1806
+msgid "Po"
msgstr ""
-#: mixer_strip.cc:1758
-msgid "c"
+#: mixer_strip.cc:1815
+msgid "C"
msgstr ""
-#: mixer_strip.cc:1906 route_ui.cc:143
+#: mixer_strip.cc:1963 route_ui.cc:164
msgid "Disk"
msgstr "Disk"
-#: mixer_strip.cc:1918 monitor_section.cc:63
+#: mixer_strip.cc:1975 monitor_section.cc:71
msgid "AFL"
msgstr "EL"
-#: mixer_strip.cc:1921 monitor_section.cc:64
+#: mixer_strip.cc:1978 monitor_section.cc:72
msgid "PFL"
msgstr "FL"
-#: mixer_strip.cc:1933
+#: mixer_strip.cc:1989 meter_strip.cc:380
msgid "D"
msgstr "D"
-#: mixer_strip.cc:1953
-msgid "i"
-msgstr ""
-
-#: mixer_strip.cc:2128
-msgid "Pre-fader"
+#: mixer_strip.cc:2196
+msgid "Pre Fader"
msgstr "Før volumkontroll"
-#: mixer_strip.cc:2129
-msgid "Post-fader"
+#: mixer_strip.cc:2197
+msgid "Post Fader"
msgstr "Etter volumkontroll"
-#: mixer_strip.cc:2166 meter_strip.cc:728
+#: mixer_strip.cc:2235 meter_strip.cc:818
msgid "Change all in Group to %1"
msgstr ""
-#: mixer_strip.cc:2168 meter_strip.cc:730
+#: mixer_strip.cc:2237 meter_strip.cc:820
msgid "Change all to %1"
msgstr ""
-#: mixer_strip.cc:2170 meter_strip.cc:732
+#: mixer_strip.cc:2239 meter_strip.cc:822
msgid "Change same track-type to %1"
msgstr ""
-#: mixer_ui.cc:1189
+#: mixer_ui.cc:129 route_time_axis.cc:791
+msgid "Group"
+msgstr "Gruppe"
+
+#: mixer_ui.cc:1209
msgid "track display list item for renamed strip not found!"
msgstr "fann ikkje sporvisingslisteobjekt for omdøypt stripe!"
-#: mixer_ui.cc:1273
+#: mixer_ui.cc:1293
msgid "-all-"
msgstr "-alle-"
-#: mixer_ui.cc:1794
+#: mixer_ui.cc:1829
msgid "Strips"
msgstr "Striper"
-#: meter_strip.cc:764
+#: meter_strip.cc:157
+msgid "Reset Peak"
+msgstr ""
+
+#: meter_strip.cc:854
msgid "Variable height"
msgstr ""
-#: meter_strip.cc:765
+#: meter_strip.cc:855
msgid "Short"
msgstr ""
-#: meter_strip.cc:766
+#: meter_strip.cc:856
msgid "Tall"
msgstr ""
-#: meter_strip.cc:767
+#: meter_strip.cc:857
msgid "Grande"
msgstr ""
-#: meter_strip.cc:768
+#: meter_strip.cc:858
msgid "Venti"
msgstr ""
-#: meter_patterns.cc:81
+#: meter_patterns.cc:82
msgid "Peak"
msgstr ""
-#: meter_patterns.cc:84
+#: meter_patterns.cc:85
msgid "RMS + Peak"
msgstr ""
-#: meter_patterns.cc:87
+#: meter_patterns.cc:88
msgid "IEC1/DIN"
msgstr ""
-#: meter_patterns.cc:90
+#: meter_patterns.cc:91
msgid "IEC1/Nordic"
msgstr ""
-#: meter_patterns.cc:93
+#: meter_patterns.cc:94
msgid "IEC2/BBC"
msgstr ""
-#: meter_patterns.cc:96
+#: meter_patterns.cc:97
msgid "IEC2/EBU"
msgstr ""
-#: meter_patterns.cc:99
+#: meter_patterns.cc:100
msgid "K20"
msgstr ""
-#: meter_patterns.cc:102
+#: meter_patterns.cc:103
msgid "K14"
msgstr ""
-#: meter_patterns.cc:105
+#: meter_patterns.cc:106
+msgid "K12"
+msgstr ""
+
+#: meter_patterns.cc:109
msgid "VU"
msgstr ""
-#: monitor_section.cc:62
+#: monitor_section.cc:70
msgid "SiP"
msgstr "Spp"
-#: monitor_section.cc:86
-msgid "soloing"
-msgstr "soloing"
+#: monitor_section.cc:97 route_group_dialog.cc:49
+msgid "Soloing"
+msgstr "Solo"
-#: monitor_section.cc:90
-msgid "isolated"
-msgstr "isolert"
+#: monitor_section.cc:101
+msgid "Isolated"
+msgstr ""
-#: monitor_section.cc:94
-msgid "auditioning"
-msgstr "lytting"
+#: monitor_section.cc:105
+msgid "Auditioning"
+msgstr ""
-#: monitor_section.cc:104
+#: monitor_section.cc:115
msgid ""
"When active, something is solo-isolated.\n"
"Click to de-isolate everything"
@@ -7538,7 +7653,7 @@ msgstr ""
"NÃ¥r knappen er trykt inn, er noko solo-isolert.\n"
"Klikk for å av-isolera alt."
-#: monitor_section.cc:107
+#: monitor_section.cc:118
msgid ""
"When active, auditioning is active.\n"
"Click to stop the audition"
@@ -7546,27 +7661,27 @@ msgstr ""
"Når knappen er trykt inn, blir noko lytta på.\n"
"Klikk for å slå av lyttinga."
-#: monitor_section.cc:124
+#: monitor_section.cc:135
msgid "Solo controls affect solo-in-place"
msgstr "Solo-kontrollar styrer solo-på-plass"
-#: monitor_section.cc:130
+#: monitor_section.cc:141
msgid "Solo controls toggle after-fader-listen"
msgstr "Solo-kontrollar styrer etterlytting"
-#: monitor_section.cc:136
+#: monitor_section.cc:147
msgid "Solo controls toggle pre-fader-listen"
msgstr "Solo-kontrollar styrer førlytting"
-#: monitor_section.cc:144
+#: monitor_section.cc:157
msgid "Gain increase for soloed signals (0dB is normal)"
msgstr "Volumauke for solo-signal (0dB er vanleg)"
-#: monitor_section.cc:150
+#: monitor_section.cc:171
msgid "Solo Boost"
msgstr "Solo-volumauke"
-#: monitor_section.cc:162
+#: monitor_section.cc:186
msgid ""
"Gain reduction non-soloed signals\n"
"A value above -inf dB causes \"solo-in-front\""
@@ -7574,31 +7689,31 @@ msgstr ""
"Volumreduksjon for signal som ikkje er solo\n"
"Verdiar over -inf dB gjev «solo-i-front»"
-#: monitor_section.cc:164
+#: monitor_section.cc:197
msgid "SiP Cut"
msgstr "Spp-kutt"
-#: monitor_section.cc:176
+#: monitor_section.cc:212
msgid "Gain reduction to use when dimming monitor outputs"
msgstr "Volumreduksjon når me dimmar monitorutgangane"
-#: monitor_section.cc:181
+#: monitor_section.cc:226 monitor_section.cc:284
msgid "Dim"
msgstr "Dim"
-#: monitor_section.cc:190
-msgid "excl. solo"
-msgstr "eksklusiv solo"
+#: monitor_section.cc:236
+msgid "Excl. Solo"
+msgstr ""
-#: monitor_section.cc:192
+#: monitor_section.cc:238
msgid "Exclusive solo means that only 1 solo is active at a time"
msgstr "Eksklusiv solo tyder at berre 1 solo om gongen er aktiv"
-#: monitor_section.cc:199
-msgid "solo » mute"
-msgstr "Solo » demp"
+#: monitor_section.cc:245
+msgid "Solo » Mute"
+msgstr ""
-#: monitor_section.cc:201
+#: monitor_section.cc:247
msgid ""
"If enabled, solo will override mute\n"
"(a soloed & muted track or bus will be audible)"
@@ -7606,71 +7721,63 @@ msgstr ""
"Når skrudd på, vil solo overstyra demping\n"
"(eit dempa solospor eller -buss vil høyrast)"
-#: monitor_section.cc:227
-msgid "mute"
-msgstr "demp"
-
-#: monitor_section.cc:238
-msgid "dim"
-msgstr "dim"
-
-#: monitor_section.cc:245
-msgid "mono"
-msgstr "mono"
-
-#: monitor_section.cc:266
+#: monitor_section.cc:324
msgid "Monitor"
msgstr "Lytting"
-#: monitor_section.cc:678
+#: monitor_section.cc:751
msgid "Switch monitor to mono"
msgstr ""
-#: monitor_section.cc:681
+#: monitor_section.cc:754
msgid "Cut monitor"
msgstr ""
-#: monitor_section.cc:684
+#: monitor_section.cc:757
msgid "Dim monitor"
msgstr ""
-#: monitor_section.cc:687
+#: monitor_section.cc:760
msgid "Toggle exclusive solo mode"
msgstr ""
-#: monitor_section.cc:693
+#: monitor_section.cc:766
msgid "Toggle mute overrides solo mode"
msgstr ""
-#: monitor_section.cc:705
+#: monitor_section.cc:778
msgid "Cut monitor channel %1"
msgstr "Kutt lytting kan %1"
-#: monitor_section.cc:710
+#: monitor_section.cc:783
msgid "Dim monitor channel %1"
msgstr "Dim lytting kan %1"
-#: monitor_section.cc:715
+#: monitor_section.cc:788
msgid "Solo monitor channel %1"
msgstr "Solo lytting kan %1"
-#: monitor_section.cc:720
+#: monitor_section.cc:793
msgid "Invert monitor channel %1"
msgstr "Snu lytting kan %1"
-#: monitor_section.cc:730
+#: monitor_section.cc:803
msgid "In-place solo"
msgstr ""
-#: monitor_section.cc:732
+#: monitor_section.cc:805
msgid "After Fade Listen (AFL) solo"
msgstr ""
-#: monitor_section.cc:734
+#: monitor_section.cc:807
msgid "Pre Fade Listen (PFL) solo"
msgstr ""
-#: mono_panner.cc:101
+#: mono_panner.cc:109 stereo_panner.cc:117
+msgid "bypassed"
+msgstr ""
+
+#: mono_panner.cc:123
#, c-format
msgid "L:%3d R:%3d"
msgstr ""
@@ -7776,7 +7883,7 @@ msgstr "Normaliser bolkane"
msgid "Normalize region"
msgstr "Normaliser bolken"
-#: normalize_dialog.cc:49 strip_silence_dialog.cc:70
+#: normalize_dialog.cc:49 strip_silence_dialog.cc:66
msgid "dbFS"
msgstr "dbFS"
@@ -7888,31 +7995,26 @@ msgstr ""
" -k, --keybindings-filename Namn på snøggtastfil som skal lastast "
"(standard er ~/.ardour3/ardour.bindings)\n"
-#: panner2d.cc:781
+#: panner2d.cc:852
msgid "Panner (2D)"
msgstr "Panorering (2D)"
-#: panner2d.cc:783 panner_ui.cc:383 plugin_ui.cc:448
+#: panner2d.cc:854 panner_ui.cc:399 plugin_ui.cc:449
msgid "Bypass"
msgstr "Forbikopla"
-#: panner2d.cc:787
+#: panner2d.cc:860
msgid "Panner"
msgstr "Panorering"
-#: panner_ui.cc:70
+#: panner_ui.cc:71
msgid "Pan automation mode"
msgstr "pan-automasjonsmodus"
-#: panner_ui.cc:71
+#: panner_ui.cc:72
msgid "Pan automation type"
msgstr "pan-automasjonstype"
-#: panner_ui.cc:294
-msgid ""
-"No panner user interface is currently available for %1-in/2out tracks/busses"
-msgstr "Det finst inga panoreringsflate for spor/bussar med %1 inn/ 2 ut"
-
#: playlist_selector.cc:43
msgid "Playlists"
msgstr "Spelelister"
@@ -7937,39 +8039,39 @@ msgstr "ikkje tildelt"
msgid "Imported"
msgstr "Importert"
-#: plugin_eq_gui.cc:75 plugin_eq_gui.cc:99
+#: plugin_eq_gui.cc:85 plugin_eq_gui.cc:109
msgid "dB scale"
msgstr "db-skala"
-#: plugin_eq_gui.cc:106
+#: plugin_eq_gui.cc:116
msgid "Show phase"
msgstr "Vis fase"
-#: plugin_selector.cc:53 plugin_selector.cc:220
+#: plugin_selector.cc:53 plugin_selector.cc:229
msgid "Name contains"
msgstr "Namnet inneheld"
-#: plugin_selector.cc:54 plugin_selector.cc:224
+#: plugin_selector.cc:54 plugin_selector.cc:233
msgid "Type contains"
msgstr "Typen inneheld"
-#: plugin_selector.cc:55 plugin_selector.cc:222
+#: plugin_selector.cc:55 plugin_selector.cc:231
msgid "Category contains"
msgstr "Kategorien inneheld"
-#: plugin_selector.cc:56 plugin_selector.cc:244
+#: plugin_selector.cc:56 plugin_selector.cc:253
msgid "Author contains"
msgstr "Opphavsperson inneheld"
-#: plugin_selector.cc:57 plugin_selector.cc:246
+#: plugin_selector.cc:57 plugin_selector.cc:255
msgid "Library contains"
msgstr "Biblioteket inneheld"
-#: plugin_selector.cc:58 plugin_selector.cc:210 plugin_selector.cc:521
+#: plugin_selector.cc:58 plugin_selector.cc:219 plugin_selector.cc:537
msgid "Favorites only"
msgstr "Berre favorittar"
-#: plugin_selector.cc:59 plugin_selector.cc:214 plugin_selector.cc:521
+#: plugin_selector.cc:59 plugin_selector.cc:223 plugin_selector.cc:537
msgid "Hidden only"
msgstr "Berre gøymt"
@@ -7977,68 +8079,68 @@ msgstr "Berre gøymt"
msgid "Plugin Manager"
msgstr "Ordna utvidingar"
-#: plugin_selector.cc:84
+#: plugin_selector.cc:85
msgid "Fav"
msgstr "Fav"
-#: plugin_selector.cc:86
+#: plugin_selector.cc:87
msgid "Available Plugins"
msgstr "Tilgjengelege utvidingar"
-#: plugin_selector.cc:87
+#: plugin_selector.cc:88
msgid "Type"
msgstr "Type"
-#: plugin_selector.cc:88
+#: plugin_selector.cc:89
msgid "Category"
msgstr "Kategori"
-#: plugin_selector.cc:89
+#: plugin_selector.cc:90
msgid "Creator"
msgstr "Opphavsperson"
-#: plugin_selector.cc:90
+#: plugin_selector.cc:91
msgid "# Audio In"
msgstr "# Lyd inn"
-#: plugin_selector.cc:91
+#: plugin_selector.cc:92
msgid "# Audio Out"
msgstr "# Lyd ut"
-#: plugin_selector.cc:92
+#: plugin_selector.cc:93
msgid "# MIDI In"
msgstr "# MIDI inn"
-#: plugin_selector.cc:93
+#: plugin_selector.cc:94
msgid "# MIDI Out"
msgstr "# MIDI ut"
-#: plugin_selector.cc:115
+#: plugin_selector.cc:116
msgid "Plugins to be connected"
msgstr "Utvidingar som skal koplast til"
-#: plugin_selector.cc:128
+#: plugin_selector.cc:129
msgid "Add a plugin to the effect list"
msgstr "Legg ei utviding til effektlista"
-#: plugin_selector.cc:132
+#: plugin_selector.cc:133
msgid "Remove a plugin from the effect list"
msgstr "Fjern ei utviding frå effektlista"
-#: plugin_selector.cc:134
+#: plugin_selector.cc:135
msgid "Update available plugins"
msgstr "Oppdater utvidingar"
-#: plugin_selector.cc:171
+#: plugin_selector.cc:172
msgid "Insert Plugin(s)"
msgstr "Set inn utviding(ar)"
-#: plugin_selector.cc:320 plugin_selector.cc:321 plugin_selector.cc:322
-#: plugin_selector.cc:323
+#: plugin_selector.cc:337 plugin_selector.cc:338 plugin_selector.cc:339
+#: plugin_selector.cc:340
msgid "variable"
msgstr "variabel"
-#: plugin_selector.cc:480
+#: plugin_selector.cc:496
msgid ""
"The plugin \"%1\" could not be loaded\n"
"\n"
@@ -8048,59 +8150,59 @@ msgstr ""
"\n"
"Sjå i loggruta etter (kanskje) fleire opplysingar"
-#: plugin_selector.cc:628
+#: plugin_selector.cc:644
msgid "Favorites"
msgstr "Favorittar"
-#: plugin_selector.cc:630
+#: plugin_selector.cc:646
msgid "Plugin Manager..."
msgstr "Ordna utvidingar..."
-#: plugin_selector.cc:634
+#: plugin_selector.cc:650
msgid "By Creator"
msgstr "Etter opphavsperson"
-#: plugin_selector.cc:637
+#: plugin_selector.cc:653
msgid "By Category"
msgstr "Etter kategori"
-#: plugin_ui.cc:114
+#: plugin_ui.cc:113
msgid "Eh? LADSPA plugins don't have editors!"
msgstr "Hm? LADSPA-utvidingar har ikkje redigering!"
-#: plugin_ui.cc:123 plugin_ui.cc:226
+#: plugin_ui.cc:122 plugin_ui.cc:227
msgid ""
"unknown type of editor-supplying plugin (note: no VST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:126
+#: plugin_ui.cc:125
msgid "unknown type of editor-supplying plugin"
msgstr "ukjent redigerbar utvidingstype"
-#: plugin_ui.cc:256
+#: plugin_ui.cc:257
msgid ""
"unknown type of editor-supplying plugin (note: no linuxVST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:328
+#: plugin_ui.cc:329
msgid "create_lv2_editor called on non-LV2 plugin"
msgstr "create_lv2_editor oppkalla på ikkje-LV2-utviding"
-#: plugin_ui.cc:414
+#: plugin_ui.cc:415
msgid "Add"
msgstr "Legg til"
-#: plugin_ui.cc:418
+#: plugin_ui.cc:419
msgid "Description"
msgstr "Skildring"
-#: plugin_ui.cc:419
+#: plugin_ui.cc:420
msgid "Plugin analysis"
msgstr "Analyse av programutvidingar"
-#: plugin_ui.cc:426
+#: plugin_ui.cc:427
msgid ""
"Presets (if any) for this plugin\n"
"(Both factory and user-created)"
@@ -8108,23 +8210,23 @@ msgstr ""
"Førehandsoppsett (viss dei finst) for utvidinga\n"
"(Både frå produsent og brukarar)"
-#: plugin_ui.cc:427
+#: plugin_ui.cc:428
msgid "Save a new preset"
msgstr "Lagra nytt ferdigoppsett"
-#: plugin_ui.cc:428
+#: plugin_ui.cc:429
msgid "Save the current preset"
msgstr "Lagra ferdigoppsettet"
-#: plugin_ui.cc:429
+#: plugin_ui.cc:430
msgid "Delete the current preset"
msgstr "Slett dette ferdigoppsett"
-#: plugin_ui.cc:430
+#: plugin_ui.cc:431
msgid "Disable signal processing by the plugin"
msgstr "Skru av signalhandsaminga åt utvidinga"
-#: plugin_ui.cc:463 plugin_ui.cc:659
+#: plugin_ui.cc:464 plugin_ui.cc:660
msgid ""
"Click to allow the plugin to receive keyboard events that %1 would normally "
"use as a shortcut"
@@ -8132,41 +8234,41 @@ msgstr ""
"Klikk for å gje utvidinga lov til å ta imot tastetrykk som %1 vanlegvis "
"bruker som snøggtastar"
-#: plugin_ui.cc:464
+#: plugin_ui.cc:465
msgid "Click to enable/disable this plugin"
msgstr "Klikk for å skru av/på denne utvidinga"
-#: plugin_ui.cc:503
+#: plugin_ui.cc:504
msgid "latency (%1 sample)"
msgid_plural "latency (%1 samples)"
msgstr[0] "utreigskap (%1 punkt)"
msgstr[1] "treigskap (%1 punkt)"
-#: plugin_ui.cc:505
+#: plugin_ui.cc:506
msgid "latency (%1 ms)"
msgstr "treigskap (%1 ms)"
-#: plugin_ui.cc:516
+#: plugin_ui.cc:517
msgid "Edit Latency"
msgstr "Endra treigskap"
-#: plugin_ui.cc:555
+#: plugin_ui.cc:556
msgid "Plugin preset %1 not found"
msgstr "Fann ikkje ferdiginnstillinga %1"
-#: plugin_ui.cc:592
+#: plugin_ui.cc:593
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"full version"
msgstr ""
-#: plugin_ui.cc:612 plugin_ui.cc:627
+#: plugin_ui.cc:613 plugin_ui.cc:628
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"newer version"
msgstr ""
-#: plugin_ui.cc:666
+#: plugin_ui.cc:667
msgid "Click to allow normal use of %1 keyboard shortcuts"
msgstr "Klikk for å bruka snøggtastane som vanleg i %1"
@@ -8242,66 +8344,66 @@ msgstr "system:"
msgid "alsa_pcm"
msgstr "alsa_pcm"
-#: port_insert_ui.cc:40
+#: port_insert_ui.cc:39
msgid "Measure Latency"
msgstr "Mæl treigskap"
-#: port_insert_ui.cc:51
+#: port_insert_ui.cc:50
msgid "Send/Output"
msgstr "Send/utgang"
-#: port_insert_ui.cc:52
+#: port_insert_ui.cc:51
msgid "Return/Input"
msgstr "Tilbake/inngang"
-#: port_insert_ui.cc:86
+#: port_insert_ui.cc:85
msgid "No signal detected"
msgstr "Fann ikkje noko signal"
-#: port_insert_ui.cc:166
+#: port_insert_ui.cc:165
msgid "Port Insert "
msgstr "Portinnstikk"
-#: port_matrix.cc:331 port_matrix.cc:357
+#: port_matrix.cc:332 port_matrix.cc:358
msgid "<b>Sources</b>"
msgstr "<b>Kjelder</b>"
-#: port_matrix.cc:332 port_matrix.cc:358
+#: port_matrix.cc:333 port_matrix.cc:359
msgid "<b>Destinations</b>"
msgstr "<b>MÃ¥l</b>"
-#: port_matrix.cc:440 port_matrix.cc:448
+#: port_matrix.cc:441 port_matrix.cc:449
#, c-format
msgid "Add %s %s"
msgstr "Legg til %s %s"
-#: port_matrix.cc:456
+#: port_matrix.cc:457
#, c-format
msgid "Rename '%s'..."
msgstr "Døyp om '%s'..."
-#: port_matrix.cc:472
+#: port_matrix.cc:473
msgid "Remove all"
msgstr "Fjern alt"
-#: port_matrix.cc:492 port_matrix.cc:504
+#: port_matrix.cc:493 port_matrix.cc:505
#, c-format
msgid "%s all"
msgstr "%s alt"
-#: port_matrix.cc:527
+#: port_matrix.cc:528
msgid "Rescan"
msgstr "Oppdater"
-#: port_matrix.cc:529
+#: port_matrix.cc:530
msgid "Show individual ports"
msgstr "Vis individuelle portart"
-#: port_matrix.cc:535
+#: port_matrix.cc:536
msgid "Flip"
msgstr "Flipp"
-#: port_matrix.cc:721
+#: port_matrix.cc:722
msgid ""
"It is not possible to add a port here, as the first processor in the track "
"or buss cannot support the new configuration."
@@ -8309,32 +8411,32 @@ msgstr ""
"Du kan ikkje leggja til ein port her, fordi den fyrste signalprosessen på "
"sporet eller bussen ikkje godtek det nye oppsettet."
-#: port_matrix.cc:724
+#: port_matrix.cc:725
msgid "Cannot add port"
msgstr "Kan ikkje leggja til port"
-#: port_matrix.cc:746
+#: port_matrix.cc:747
msgid "Port removal not allowed"
msgstr "Ikkje lov å fjerna portar"
-#: port_matrix.cc:747
+#: port_matrix.cc:748
msgid ""
"This port cannot be removed.\n"
"Either the first plugin in the track or buss cannot accept\n"
"the new number of inputs or the last plugin has more outputs."
msgstr ""
-#: port_matrix.cc:964
+#: port_matrix.cc:965
#, c-format
msgid "Remove '%s'"
msgstr "Fjern '%s'"
-#: port_matrix.cc:979
+#: port_matrix.cc:980
#, c-format
msgid "%s all from '%s'"
msgstr "%s alt frå '%s'"
-#: port_matrix.cc:1045
+#: port_matrix.cc:1046
msgid "channel"
msgstr "kanal"
@@ -8346,36 +8448,59 @@ msgstr "Ingen portar å kopla til."
msgid "There are no %1 ports to connect."
msgstr "Ingen %1-portar å kopla til."
-#: processor_box.cc:256
+#: processor_box.cc:150
+msgid "Send"
+msgstr ""
+
+#: processor_box.cc:152
+msgid "Return"
+msgstr ""
+
+#: processor_box.cc:310
+msgid ""
+"\n"
+"This mono plugin has been replicated %1 times."
+msgstr ""
+
+#: processor_box.cc:314
msgid ""
"<b>%1</b>\n"
"Double-click to show GUI.\n"
-"Alt+double-click to show generic GUI."
+"Alt+double-click to show generic GUI.%2"
msgstr ""
-#: processor_box.cc:259
+#: processor_box.cc:317
msgid ""
"<b>%1</b>\n"
-"Double-click to show generic GUI."
+"Double-click to show generic GUI.%2"
+msgstr ""
+
+#: processor_box.cc:361
+#, c-format
+msgid "(%1x1) "
msgstr ""
-#: processor_box.cc:372
+#: processor_box.cc:437
msgid "Show All Controls"
msgstr "Vis alle kontrollar"
-#: processor_box.cc:376
+#: processor_box.cc:441
msgid "Hide All Controls"
msgstr "Gøym alle kontrollar"
-#: processor_box.cc:465
+#: processor_box.cc:475
+msgid "Link panner controls"
+msgstr ""
+
+#: processor_box.cc:559
msgid "on"
msgstr "på"
-#: processor_box.cc:465 rc_option_editor.cc:1898 rc_option_editor.cc:1912
+#: processor_box.cc:559 rc_option_editor.cc:2232 rc_option_editor.cc:2246
msgid "off"
msgstr "av"
-#: processor_box.cc:742
+#: processor_box.cc:945
msgid ""
"Right-click to add/remove/edit\n"
"plugins,inserts,sends and more"
@@ -8383,15 +8508,15 @@ msgstr ""
"Høgreklikk for å leggja til/fjerna/redigera\n"
"utvidingar, innstikk, send og meir"
-#: processor_box.cc:1197 processor_box.cc:1618
+#: processor_box.cc:1422 processor_box.cc:1848
msgid "Plugin Incompatibility"
msgstr "Utvidinga samsvarar ikkje"
-#: processor_box.cc:1200
+#: processor_box.cc:1425
msgid "You attempted to add the plugin \"%1\" in slot %2.\n"
msgstr "Du prøvde å leggja til utvidinga \"%1\" i skuffen %2.\n"
-#: processor_box.cc:1206
+#: processor_box.cc:1431
msgid ""
"\n"
"This plugin has:\n"
@@ -8399,19 +8524,19 @@ msgstr ""
"\n"
"Denne utvidinga har:\n"
-#: processor_box.cc:1209
+#: processor_box.cc:1434
msgid "\t%1 MIDI input\n"
msgid_plural "\t%1 MIDI inputs\n"
msgstr[0] "\t%1 MIDI-inngang\n"
msgstr[1] "\t%1 MIDI-inngangar\n"
-#: processor_box.cc:1213
+#: processor_box.cc:1438
msgid "\t%1 audio input\n"
msgid_plural "\t%1 audio inputs\n"
msgstr[0] "\t%1 lydinngang\n"
msgstr[1] "\t%1 lydinngangar\n"
-#: processor_box.cc:1216
+#: processor_box.cc:1441
msgid ""
"\n"
"but at the insertion point, there are:\n"
@@ -8419,19 +8544,19 @@ msgstr ""
"\n"
"men på innsetingspunktet er det:\n"
-#: processor_box.cc:1219
+#: processor_box.cc:1444
msgid "\t%1 MIDI channel\n"
msgid_plural "\t%1 MIDI channels\n"
msgstr[0] "\t%1 MIDI-kanal\n"
msgstr[1] "\t%1 MIDI-kanalar\n"
-#: processor_box.cc:1223
+#: processor_box.cc:1448
msgid "\t%1 audio channel\n"
msgid_plural "\t%1 audio channels\n"
msgstr[0] "\t%1 lydkanal\n"
msgstr[1] "\t%1 lydkanalar\n"
-#: processor_box.cc:1226
+#: processor_box.cc:1451
msgid ""
"\n"
"%1 is unable to insert this plugin here.\n"
@@ -8439,11 +8564,11 @@ msgstr ""
"\n"
"%1 greier ikkje setja inn utvidinga her.\n"
-#: processor_box.cc:1262
+#: processor_box.cc:1488
msgid "Cannot set up new send: %1"
msgstr "Greier ikkje setja opp ny send: %1"
-#: processor_box.cc:1621
+#: processor_box.cc:1851
msgid ""
"You cannot reorder these plugins/sends/inserts\n"
"in that way because the inputs and\n"
@@ -8453,19 +8578,19 @@ msgstr ""
"signal-omdirigeringar, fordi inn- og utgangane\n"
"ikkje verkar skikkeleg då."
-#: processor_box.cc:1805
+#: processor_box.cc:2035
msgid "Rename Processor"
msgstr "Døyp om handsaming"
-#: processor_box.cc:1836
+#: processor_box.cc:2066
msgid "At least 100 IO objects exist with a name like %1 - name not changed"
msgstr "Det finst minst 100 IU-objekt med namn som %1 - namnet er ikkje endra"
-#: processor_box.cc:1970
+#: processor_box.cc:2203
msgid "plugin insert constructor failed"
msgstr "greidde ikkje laga instikkpunkt for utvidinga"
-#: processor_box.cc:1981
+#: processor_box.cc:2214
msgid ""
"Copying the set of processors on the clipboard failed,\n"
"probably because the I/O configuration of the plugins\n"
@@ -8475,7 +8600,7 @@ msgstr ""
"tavla, truleg fordi I/U-oppsettet for utvidingane\n"
"ikkje passar med oppsettet for dette sporet."
-#: processor_box.cc:2027
+#: processor_box.cc:2260
msgid ""
"Do you really want to remove all processors from %1?\n"
"(this cannot be undone)"
@@ -8483,15 +8608,15 @@ msgstr ""
"Vil du verkeleg fjerna alle handsamingar frå %1?\n"
"(Du kan ikkje angra)"
-#: processor_box.cc:2031 processor_box.cc:2056
+#: processor_box.cc:2264 processor_box.cc:2289
msgid "Yes, remove them all"
msgstr "Ja, slett alle"
-#: processor_box.cc:2033 processor_box.cc:2058
+#: processor_box.cc:2266 processor_box.cc:2291
msgid "Remove processors"
msgstr "Fjern handsamingar"
-#: processor_box.cc:2048
+#: processor_box.cc:2281
msgid ""
"Do you really want to remove all pre-fader processors from %1?\n"
"(this cannot be undone)"
@@ -8499,7 +8624,7 @@ msgstr ""
"Vil du verkeleg fjerna alle før-dempar-handsamingar frå %1?\n"
"(Du kan ikkje angra)"
-#: processor_box.cc:2051
+#: processor_box.cc:2284
msgid ""
"Do you really want to remove all post-fader processors from %1?\n"
"(this cannot be undone)"
@@ -8507,56 +8632,60 @@ msgstr ""
"Vil du verkeleg fjerna alle før-dempar-handsamingar frå %1?\n"
"(Du kan ikkje angra)"
-#: processor_box.cc:2239
+#: processor_box.cc:2472
msgid "New Plugin"
msgstr "Ny utviding"
-#: processor_box.cc:2242
+#: processor_box.cc:2475
msgid "New Insert"
msgstr "Nytt innstikk"
-#: processor_box.cc:2245
+#: processor_box.cc:2478
msgid "New External Send ..."
msgstr "Ny ekstern send..."
-#: processor_box.cc:2249
+#: processor_box.cc:2482
msgid "New Aux Send ..."
msgstr "Ny aux-send..."
-#: processor_box.cc:2253
+#: processor_box.cc:2485
+msgid "Send Options"
+msgstr ""
+
+#: processor_box.cc:2487
msgid "Clear (all)"
msgstr "Tøm (alt)"
-#: processor_box.cc:2255
+#: processor_box.cc:2489
msgid "Clear (pre-fader)"
msgstr "Fjern (før-dempar)"
-#: processor_box.cc:2257
+#: processor_box.cc:2491
msgid "Clear (post-fader)"
msgstr "Fjern (etter-dempar)"
-#: processor_box.cc:2283
+#: processor_box.cc:2517
msgid "Activate All"
msgstr "Slå på alle"
-#: processor_box.cc:2285
+#: processor_box.cc:2519
msgid "Deactivate All"
msgstr "Slå av alle"
-#: processor_box.cc:2287
+#: processor_box.cc:2521
msgid "A/B Plugins"
msgstr "A/B programutvidingar"
-#: processor_box.cc:2296
+#: processor_box.cc:2530
msgid "Edit with generic controls..."
msgstr ""
-#: processor_box.cc:2599
+#: processor_box.cc:2833
msgid "%1: %2 (by %3)"
msgstr "%1: %2 (av %3)"
-#: processor_box.cc:2601
-msgid "%2 (by %3)"
+#: processor_box.cc:2835
+msgid "%1 (by %2)"
msgstr ""
#: patch_change_dialog.cc:51
@@ -8571,11 +8700,11 @@ msgstr "Laskbank"
msgid "Patch"
msgstr "Lask"
-#: patch_change_dialog.cc:99 step_entry.cc:429
+#: patch_change_dialog.cc:99 step_entry.cc:430
msgid "Program"
msgstr "Program"
-#: patch_change_dialog.cc:107 step_entry.cc:421
+#: patch_change_dialog.cc:107 step_entry.cc:422
msgid "Bank"
msgstr "Bank"
@@ -8607,121 +8736,121 @@ msgstr "Fest notestarten"
msgid "Snap note end"
msgstr "Fest noteslutten"
-#: rc_option_editor.cc:67
+#: rc_option_editor.cc:76
msgid "Click audio file:"
msgstr "Klikk-lydfil:"
-#: rc_option_editor.cc:70 rc_option_editor.cc:77
+#: rc_option_editor.cc:79 rc_option_editor.cc:86
msgid "Browse..."
msgstr "Bla gjennom..."
-#: rc_option_editor.cc:74
+#: rc_option_editor.cc:83
msgid "Click emphasis audio file:"
msgstr "Trykklegging-lydfil:"
-#: rc_option_editor.cc:106
+#: rc_option_editor.cc:115
msgid "Choose Click"
msgstr "Vel klikk"
-#: rc_option_editor.cc:126
+#: rc_option_editor.cc:135
msgid "Choose Click Emphasis"
msgstr "Vel trykklegging for klikk"
-#: rc_option_editor.cc:158
+#: rc_option_editor.cc:167
msgid "Limit undo history to"
msgstr "Øvre grense for angrelogg er"
-#: rc_option_editor.cc:159
+#: rc_option_editor.cc:168
msgid "Save undo history of"
msgstr "Lagra angreloggen for"
-#: rc_option_editor.cc:168 rc_option_editor.cc:175
+#: rc_option_editor.cc:177 rc_option_editor.cc:184
msgid "commands"
msgstr "kommandoar"
-#: rc_option_editor.cc:313
+#: rc_option_editor.cc:322
msgid "Edit using:"
msgstr "Rediger med:"
-#: rc_option_editor.cc:319 rc_option_editor.cc:345 rc_option_editor.cc:372
+#: rc_option_editor.cc:328 rc_option_editor.cc:354 rc_option_editor.cc:381
msgid "+ button"
msgstr "+ museknapp"
-#: rc_option_editor.cc:339
+#: rc_option_editor.cc:348
msgid "Delete using:"
msgstr "Slett med:"
-#: rc_option_editor.cc:366
+#: rc_option_editor.cc:375
msgid "Insert note using:"
msgstr "Set inn note med:"
-#: rc_option_editor.cc:393
+#: rc_option_editor.cc:402
msgid "Ignore snap using:"
msgstr "Sjå bort frå festing med:"
-#: rc_option_editor.cc:409
+#: rc_option_editor.cc:418
msgid "Keyboard layout:"
msgstr "Tastaturutforming:"
-#: rc_option_editor.cc:532
+#: rc_option_editor.cc:541
msgid "Font scaling:"
msgstr "Skriftskalering:"
-#: rc_option_editor.cc:584
+#: rc_option_editor.cc:591
+msgid "Waveform Clip Level (dBFS):"
+msgstr ""
+
+#: rc_option_editor.cc:643
msgid "Playback (seconds of buffering):"
msgstr "Avspeling (sekund bufring):"
-#: rc_option_editor.cc:597
+#: rc_option_editor.cc:656
msgid "Recording (seconds of buffering):"
msgstr "Opptak (sekund bufring):"
-#: rc_option_editor.cc:654
+#: rc_option_editor.cc:714
msgid "Control Surface Protocol"
msgstr ""
-#: rc_option_editor.cc:658
-msgid "Feedback"
-msgstr "Tilbakeføring"
-
-#: rc_option_editor.cc:663
+#: rc_option_editor.cc:723
msgid "Double-click on a name to edit settings for an enabled protocol"
msgstr ""
"Dobbelklikk på eit namn for å redigera innstillingane for ein aktiv protokoll"
-#: rc_option_editor.cc:815
+#: rc_option_editor.cc:886
msgid "Show Video Export Info before export"
msgstr ""
-#: rc_option_editor.cc:816
+#: rc_option_editor.cc:887
msgid "Show Video Server Startup Dialog"
msgstr ""
-#: rc_option_editor.cc:817
+#: rc_option_editor.cc:888
msgid "Advanced Setup (remote video server)"
msgstr ""
-#: rc_option_editor.cc:825
+#: rc_option_editor.cc:896
msgid ""
"<b>When enabled</b> you can speficify a custom video-server URL and docroot. "
"- Do not enable this option unless you know what you are doing."
msgstr ""
-#: rc_option_editor.cc:827
+#: rc_option_editor.cc:898
msgid "Video Server URL:"
msgstr ""
-#: rc_option_editor.cc:832
+#: rc_option_editor.cc:903
msgid ""
"Base URL of the video-server including http prefix. This is usually 'http://"
"hostname.example.org:1554/' and defaults to 'http://localhost:1554/' when "
"the video-server is running locally"
msgstr ""
-#: rc_option_editor.cc:834
+#: rc_option_editor.cc:905
msgid "Video Folder:"
msgstr ""
-#: rc_option_editor.cc:839
+#: rc_option_editor.cc:910
msgid ""
"Local path to the video-server document-root. Only files below this "
"directory will be accessible by the video-server. If the server run on a "
@@ -8730,113 +8859,194 @@ msgid ""
"monitor and file-browsing when opening/adding a video file."
msgstr ""
-#: rc_option_editor.cc:846
+#: rc_option_editor.cc:917
msgid ""
"<b>When enabled</b> an information window with details is displayed before "
"the video-export dialog."
msgstr ""
-#: rc_option_editor.cc:851
+#: rc_option_editor.cc:922
msgid ""
"<b>When enabled</b> the video server is never launched automatically without "
"confirmation"
msgstr ""
-#: rc_option_editor.cc:991
+#: rc_option_editor.cc:1004
+msgid "Always Display Plugin Scan Progress"
+msgstr ""
+
+#: rc_option_editor.cc:1005
+msgid "Scan for new VST Plugins on Application Start"
+msgstr ""
+
+#: rc_option_editor.cc:1016
+msgid "General"
+msgstr ""
+
+#: rc_option_editor.cc:1022
+msgid "Scan for Plugins"
+msgstr ""
+
+#: rc_option_editor.cc:1029
+msgid ""
+"<b>When enabled</b> a popup window showing plugin scan progress is displayed "
+"for indexing (cache load) and discovery (detect new plugins)"
+msgstr ""
+
+#: rc_option_editor.cc:1035
+msgid ""
+"Specify the default timeout for plugin instantiation in 1/10 seconds. "
+"Plugins that require more time to load will be blacklisted. A value of 0 "
+"disables the timeout."
+msgstr ""
+
+#: rc_option_editor.cc:1037
+msgid "Scan Time Out [deciseconds]"
+msgstr ""
+
+#: rc_option_editor.cc:1045
+msgid "VST"
+msgstr ""
+
+#: rc_option_editor.cc:1051
+msgid "Clear VST Cache"
+msgstr ""
+
+#: rc_option_editor.cc:1055
+msgid "Clear VST Blacklist"
+msgstr ""
+
+#: rc_option_editor.cc:1063
+msgid ""
+"<b>When enabled</b> new VST plugins are searched, tested and added to the "
+"cache index on application start. When disabled new plugins will only be "
+"available after triggering a 'Scan' manually"
+msgstr ""
+
+#: rc_option_editor.cc:1066
+msgid "Linux VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1073
+msgid "Windows VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1135
+msgid "Set Windows VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1150
+msgid "Set Linux VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1231
msgid "%1 Preferences"
msgstr "Innstillingar for %1"
-#: rc_option_editor.cc:1002
+#: rc_option_editor.cc:1242
msgid "DSP CPU Utilization"
msgstr "DSP-prosessorbruk"
-#: rc_option_editor.cc:1006
+#: rc_option_editor.cc:1246
msgid "Signal processing uses"
msgstr "Signalhandsaminga brukar"
-#: rc_option_editor.cc:1011
+#: rc_option_editor.cc:1251
msgid "all but one processor"
msgstr "alt bortsett frå ei signalhandsaming"
-#: rc_option_editor.cc:1012
+#: rc_option_editor.cc:1252
msgid "all available processors"
msgstr "alle tilgjengelege signalhandsamingar"
-#: rc_option_editor.cc:1015
+#: rc_option_editor.cc:1255
msgid "%1 processors"
msgstr "%1 signalhandsamingar"
-#: rc_option_editor.cc:1018
+#: rc_option_editor.cc:1258
msgid "This setting will only take effect when %1 is restarted."
msgstr "Dette vil fyrst verka når du startar %s på nytt att."
-#: rc_option_editor.cc:1023
+#: rc_option_editor.cc:1263
msgid "Options|Undo"
msgstr "Val|Angra"
-#: rc_option_editor.cc:1030
+#: rc_option_editor.cc:1270
msgid "Verify removal of last capture"
msgstr "Stadfest når du vil fjerna siste opptak"
-#: rc_option_editor.cc:1038
+#: rc_option_editor.cc:1278
msgid "Make periodic backups of the session file"
msgstr "Tryggingskopier økta med jamne mellomrom"
-#: rc_option_editor.cc:1043
+#: rc_option_editor.cc:1283
msgid "Session Management"
msgstr "Økthandtering"
-#: rc_option_editor.cc:1048
+#: rc_option_editor.cc:1288
msgid "Always copy imported files"
msgstr "Kopier alltid importerte filer"
-#: rc_option_editor.cc:1055
+#: rc_option_editor.cc:1295
msgid "Default folder for new sessions:"
msgstr "Standardmappe for nye økter:"
-#: rc_option_editor.cc:1063
+#: rc_option_editor.cc:1303
msgid "Maximum number of recent sessions"
msgstr "Største tal på samtidige økter"
-#: rc_option_editor.cc:1076
+#: rc_option_editor.cc:1316
msgid "Click gain level"
msgstr "Klikkvolum"
-#: rc_option_editor.cc:1081 route_time_axis.cc:215 route_time_axis.cc:676
+#: rc_option_editor.cc:1321 route_time_axis.cc:266 route_time_axis.cc:794
msgid "Automation"
msgstr "Automasjon"
-#: rc_option_editor.cc:1086
+#: rc_option_editor.cc:1326
msgid "Thinning factor (larger value => less data)"
msgstr "Tynningsfaktor (høgare verdi => mindre data)"
-#: rc_option_editor.cc:1095
+#: rc_option_editor.cc:1335
msgid "Automation sampling interval (milliseconds)"
msgstr "Tid mellom automasjonspunkt (i millisekund)"
-#: rc_option_editor.cc:1107
+#: rc_option_editor.cc:1347
msgid "Keep record-enable engaged on stop"
msgstr "Hald opptaksstatusen på ved stopp"
-#: rc_option_editor.cc:1116
+#: rc_option_editor.cc:1356
msgid "Stop recording when an xrun occurs"
msgstr "Stopp opptak ved xrun-hendingar"
-#: rc_option_editor.cc:1121
+#: rc_option_editor.cc:1361
msgid ""
"<b>When enabled</b> %1 will stop recording if an over- or underrun is "
"detected by the audio engine"
msgstr ""
-#: rc_option_editor.cc:1127
+#: rc_option_editor.cc:1367
+msgid "Play loop is a transport mode"
+msgstr ""
+
+#: rc_option_editor.cc:1372
+msgid ""
+"<b>When enabled</b> the loop button does not start playback but forces "
+"playback to always play the loop\n"
+"\n"
+"<b>When disabled</b> the loop button starts playing the loop, but stop then "
+"cancels loop playback"
+msgstr ""
+
+#: rc_option_editor.cc:1378
msgid "Create markers where xruns occur"
msgstr "Lag markørar ved xrun-hendingar"
-#: rc_option_editor.cc:1136
+#: rc_option_editor.cc:1387
msgid "Stop at the end of the session"
msgstr "Stopp ved slutten av økta"
-#: rc_option_editor.cc:1141
+#: rc_option_editor.cc:1392
msgid ""
"<b>When enabled</b> if %1 is <b>not recording</b>, it will stop the "
"transport when it reaches the current session end marker\n"
@@ -8845,11 +9055,11 @@ msgid ""
"all times"
msgstr ""
-#: rc_option_editor.cc:1149
+#: rc_option_editor.cc:1400
msgid "Do seamless looping (not possible when slaved to MTC, LTC etc)"
msgstr ""
-#: rc_option_editor.cc:1154
+#: rc_option_editor.cc:1405
msgid ""
"<b>When enabled</b> this will loop by reading ahead and wrapping around at "
"the loop point, preventing any need to do a transport locate at the end of "
@@ -8859,11 +9069,11 @@ msgid ""
"loop when %1 reaches the end which will often cause a small click or delay"
msgstr ""
-#: rc_option_editor.cc:1162
+#: rc_option_editor.cc:1413
msgid "Disable per-track record disarm while rolling"
msgstr "Ikkje tillat å skru av opptaksstatusen per spor under avspeling"
-#: rc_option_editor.cc:1166
+#: rc_option_editor.cc:1417
msgid ""
"<b>When enabled</b> this will prevent you from accidentally stopping "
"specific tracks recording during a take"
@@ -8871,11 +9081,11 @@ msgstr ""
"<b>Når dette er på</b>, vil du ikkje kunna slå av opptak for bestemte spor "
"ved eit uhell medan du tek opp"
-#: rc_option_editor.cc:1171
+#: rc_option_editor.cc:1422
msgid "12dB gain reduction during fast-forward and fast-rewind"
msgstr "12dB demping ved spoling"
-#: rc_option_editor.cc:1175
+#: rc_option_editor.cc:1426
msgid ""
"This will reduce the unpleasant increase in perceived volume that occurs "
"when fast-forwarding or rewinding through some kinds of audio"
@@ -8883,19 +9093,19 @@ msgstr ""
"Dette reduserer den ubehagelege auken i oppfatta volum som kjem når du "
"spolar framover eller bakover gjennom nokre typar lyd"
-#: rc_option_editor.cc:1179
+#: rc_option_editor.cc:1430
msgid "Sync/Slave"
msgstr "Synk/slave"
-#: rc_option_editor.cc:1183
+#: rc_option_editor.cc:1434
msgid "External timecode source"
msgstr "Ekstern tidskodekjelde"
-#: rc_option_editor.cc:1193
+#: rc_option_editor.cc:1444
msgid "Match session video frame rate to external timecode"
msgstr "Tilpass raten for videorammene i denne økta til ekstern tidskode"
-#: rc_option_editor.cc:1199
+#: rc_option_editor.cc:1450
msgid ""
"This option controls the value of the video frame rate <i>while chasing</i> "
"an external timecode source.\n"
@@ -8909,11 +9119,11 @@ msgid ""
"external timecode standard and the session standard."
msgstr ""
-#: rc_option_editor.cc:1209
+#: rc_option_editor.cc:1460
msgid "External timecode is sync locked"
msgstr "Ekstern tidskode er låst til synk"
-#: rc_option_editor.cc:1215
+#: rc_option_editor.cc:1466
msgid ""
"<b>When enabled</b> indicates that the selected external timecode source "
"shares sync (Black &amp; Burst, Wordclock, etc) with the audio interface."
@@ -8921,11 +9131,11 @@ msgstr ""
"<b>Når dette er på</b>, viser det at den valde eksterne tidskodekjelda deler "
"synk (Black &amp; burst, Wordclock, osfr.) med lydkortet."
-#: rc_option_editor.cc:1222
+#: rc_option_editor.cc:1473
msgid "Lock to 29.9700 fps instead of 30000/1001"
msgstr "LÃ¥s til 29,9700 fps i staden for 30000/1001"
-#: rc_option_editor.cc:1228
+#: rc_option_editor.cc:1479
msgid ""
"<b>When enabled</b> the external timecode source is assumed to use 29.97 fps "
"instead of 30000/1001.\n"
@@ -8938,37 +9148,37 @@ msgid ""
"variant of using exactly 29.97 fps has zero timecode drift.\n"
msgstr ""
-#: rc_option_editor.cc:1238
+#: rc_option_editor.cc:1489
msgid "LTC Reader"
msgstr "LTC-lesar"
-#: rc_option_editor.cc:1242
+#: rc_option_editor.cc:1493
msgid "LTC incoming port"
msgstr "Innkomande LTC-port"
-#: rc_option_editor.cc:1255
+#: rc_option_editor.cc:1506
msgid "LTC Generator"
msgstr "LTC-generator"
-#: rc_option_editor.cc:1260
+#: rc_option_editor.cc:1511
msgid "Enable LTC generator"
msgstr "Skru på LTC-generator"
-#: rc_option_editor.cc:1267
-msgid "send LTC while stopped"
-msgstr "send LTC når stoppa"
+#: rc_option_editor.cc:1518
+msgid "Send LTC while stopped"
+msgstr ""
-#: rc_option_editor.cc:1273
+#: rc_option_editor.cc:1524
msgid ""
"<b>When enabled</b> %1 will continue to send LTC information even when the "
"transport (playhead) is not moving"
msgstr ""
-#: rc_option_editor.cc:1279
+#: rc_option_editor.cc:1530
msgid "LTC generator level"
msgstr "LTC-generatornivå"
-#: rc_option_editor.cc:1283
+#: rc_option_editor.cc:1534
msgid ""
"Specify the Peak Volume of the generated LTC signal in dbFS. A good value "
"is 0dBu ^= -18dbFS in an EBU calibrated system"
@@ -8976,103 +9186,103 @@ msgstr ""
"Gjev toppvolumet til dei genererte LTC-signala i dbFS. Ein bra verdi er "
"0dBu ^= -18dbFS i eit EBU-kalibrert system"
-#: rc_option_editor.cc:1295
-msgid "Link selection of regions and tracks"
-msgstr "Lenk valet av bolkar og spor"
+#: rc_option_editor.cc:1546
+msgid "Allow dragging of playhead"
+msgstr ""
-#: rc_option_editor.cc:1303
+#: rc_option_editor.cc:1554
msgid "Move relevant automation when audio regions are moved"
msgstr "Flytt relevant automasjon saman med lydbolkane"
-#: rc_option_editor.cc:1311
+#: rc_option_editor.cc:1562
msgid "Show meters on tracks in the editor"
msgstr "Vis mælarar på spor i redigeringa"
-#: rc_option_editor.cc:1319
+#: rc_option_editor.cc:1570
msgid "Display master-meter in the toolbar"
msgstr ""
-#: rc_option_editor.cc:1326
+#: rc_option_editor.cc:1577
+msgid "Default fade shape"
+msgstr ""
+
+#: rc_option_editor.cc:1596
msgid "Regions in active edit groups are edited together"
msgstr ""
-#: rc_option_editor.cc:1327
+#: rc_option_editor.cc:1597
msgid "whenever they overlap in time"
msgstr ""
-#: rc_option_editor.cc:1328
+#: rc_option_editor.cc:1598
msgid "only if they have identical length, position and origin"
msgstr ""
-#: rc_option_editor.cc:1338
+#: rc_option_editor.cc:1608
msgid "Make rubberband selection rectangle snap to the grid"
msgstr "Få gummistrikkval-rektangelet til å festa til gitteret"
-#: rc_option_editor.cc:1346
+#: rc_option_editor.cc:1616
msgid "Show waveforms in regions"
msgstr "Vis bylgjeformer i bolkane"
-#: rc_option_editor.cc:1354
+#: rc_option_editor.cc:1624
msgid "Show gain envelopes in audio regions"
msgstr "Vis lydomhylling i lydbolkane"
-#: rc_option_editor.cc:1355
+#: rc_option_editor.cc:1625
msgid "in all modes"
msgstr "i alle modi"
-#: rc_option_editor.cc:1356
+#: rc_option_editor.cc:1626
msgid "only in region gain mode"
msgstr "berre i bolkvolum-modus"
-#: rc_option_editor.cc:1363
+#: rc_option_editor.cc:1633
msgid "Waveform scale"
msgstr "Bylgjeskala"
-#: rc_option_editor.cc:1368
+#: rc_option_editor.cc:1638
msgid "linear"
msgstr "rettlinja"
-#: rc_option_editor.cc:1369
+#: rc_option_editor.cc:1639
msgid "logarithmic"
msgstr "logaritmisk"
-#: rc_option_editor.cc:1375
+#: rc_option_editor.cc:1645
msgid "Waveform shape"
msgstr "Bylgjeform"
-#: rc_option_editor.cc:1380
+#: rc_option_editor.cc:1650
msgid "traditional"
msgstr "tradisjonell"
-#: rc_option_editor.cc:1381
+#: rc_option_editor.cc:1651
msgid "rectified"
msgstr "innretta"
-#: rc_option_editor.cc:1388
+#: rc_option_editor.cc:1660
msgid "Show waveforms for audio while it is being recorded"
msgstr "Vis bylgjeformer ved opptak"
-#: rc_option_editor.cc:1396
+#: rc_option_editor.cc:1668
msgid "Show zoom toolbar"
msgstr "Vis zoom-verktylina"
-#: rc_option_editor.cc:1404
-msgid "Color regions using their track's color"
-msgstr "Fargelegg bolkar med sporfarga"
-
-#: rc_option_editor.cc:1412
+#: rc_option_editor.cc:1676
msgid "Update editor window during drags of the summary"
msgstr "Oppdater redigeringsvindauga når du dreg samandraget"
-#: rc_option_editor.cc:1420
+#: rc_option_editor.cc:1684
msgid "Synchronise editor and mixer selection"
msgstr "Samkøyr redigeringa og miksarvalet"
-#: rc_option_editor.cc:1427
+#: rc_option_editor.cc:1691
msgid "Name new markers"
msgstr "Døyp nye markørar"
-#: rc_option_editor.cc:1433
+#: rc_option_editor.cc:1697
msgid ""
"If enabled, popup a dialog when a new marker is created to allow its name to "
"be set as it is created.\n"
@@ -9084,516 +9294,541 @@ msgstr ""
"\n"
"Du kan alltid døypa om markørar ved å høgreklikka på dei."
-#: rc_option_editor.cc:1439
+#: rc_option_editor.cc:1703
msgid "Auto-scroll editor window when dragging near its edges"
msgstr "Autorull redigeringsvindauga når du dreg nær kantane"
-#: rc_option_editor.cc:1446
+#: rc_option_editor.cc:1710
msgid "Buffering"
msgstr "Bufring"
-#: rc_option_editor.cc:1454
+#: rc_option_editor.cc:1718
msgid "Record monitoring handled by"
msgstr "Opptakslyttinga blir handtert av"
-#: rc_option_editor.cc:1460
+#: rc_option_editor.cc:1724
msgid "via Audio Driver"
msgstr ""
-#: rc_option_editor.cc:1463
-msgid "ardour"
-msgstr "ardour"
-
-#: rc_option_editor.cc:1464
+#: rc_option_editor.cc:1730
msgid "audio hardware"
msgstr "lydmaskinvare"
-#: rc_option_editor.cc:1471
+#: rc_option_editor.cc:1737
msgid "Tape machine mode"
msgstr "Bandopptakarmodus"
-#: rc_option_editor.cc:1476
+#: rc_option_editor.cc:1742
msgid "Connection of tracks and busses"
msgstr "Tilkopling av spor og bussar"
-#: rc_option_editor.cc:1481
+#: rc_option_editor.cc:1747
msgid "Auto-connect master/monitor busses"
msgstr "Kopla til master- og lyttebussane automatisk"
-#: rc_option_editor.cc:1488
+#: rc_option_editor.cc:1754
msgid "Connect track inputs"
msgstr "Kopla sporinngangane"
-#: rc_option_editor.cc:1493
+#: rc_option_editor.cc:1759
msgid "automatically to physical inputs"
msgstr "automatisk til fysiske inngangar"
-#: rc_option_editor.cc:1494 rc_option_editor.cc:1507
+#: rc_option_editor.cc:1760 rc_option_editor.cc:1773
msgid "manually"
msgstr "manuelt"
-#: rc_option_editor.cc:1500
+#: rc_option_editor.cc:1766
msgid "Connect track and bus outputs"
msgstr "Kopla til spor- og bussutgangar"
-#: rc_option_editor.cc:1505
+#: rc_option_editor.cc:1771
msgid "automatically to physical outputs"
msgstr "automatisk til fysiske inngangar"
-#: rc_option_editor.cc:1506
+#: rc_option_editor.cc:1772
msgid "automatically to master bus"
msgstr "automatisk til masterbussen"
-#: rc_option_editor.cc:1511
+#: rc_option_editor.cc:1777
msgid "Denormals"
msgstr "Unormalar"
-#: rc_option_editor.cc:1516
+#: rc_option_editor.cc:1782
msgid "Use DC bias to protect against denormals"
msgstr "Bruk likestraumsbias for å verna mot unormalar"
-#: rc_option_editor.cc:1523
+#: rc_option_editor.cc:1789
msgid "Processor handling"
msgstr "Prosessorhandtering"
-#: rc_option_editor.cc:1528
+#: rc_option_editor.cc:1794
msgid "no processor handling"
msgstr "inga prosessorhandtering"
-#: rc_option_editor.cc:1533
+#: rc_option_editor.cc:1799
msgid "use FlushToZero"
msgstr "bruk SpylTilNull"
-#: rc_option_editor.cc:1537
+#: rc_option_editor.cc:1803
msgid "use DenormalsAreZero"
msgstr "bruk UnormalarErNull"
-#: rc_option_editor.cc:1541
+#: rc_option_editor.cc:1807
msgid "use FlushToZero and DenormalsAreZero"
msgstr "bruk SpylTilNull og UnormalarErNull"
-#: rc_option_editor.cc:1551
+#: rc_option_editor.cc:1817
msgid "Silence plugins when the transport is stopped"
msgstr "Demp lyden frå utvidingar ved stopp"
-#: rc_option_editor.cc:1559
+#: rc_option_editor.cc:1825
msgid "Make new plugins active"
msgstr "Gjer nye utvidingar aktive"
-#: rc_option_editor.cc:1567
+#: rc_option_editor.cc:1835
msgid "Enable automatic analysis of audio"
msgstr "Skru på automatisk analyse av lyd"
-#: rc_option_editor.cc:1575
+#: rc_option_editor.cc:1843
msgid "Replicate missing region channels"
msgstr "Kopier manglande bolk-kanalar"
-#: rc_option_editor.cc:1582 rc_option_editor.cc:1597 rc_option_editor.cc:1609
-#: rc_option_editor.cc:1621 rc_option_editor.cc:1633 rc_option_editor.cc:1637
-#: rc_option_editor.cc:1645 rc_option_editor.cc:1653 rc_option_editor.cc:1661
-#: rc_option_editor.cc:1663 rc_option_editor.cc:1671 rc_option_editor.cc:1679
-#: rc_option_editor.cc:1687
+#: rc_option_editor.cc:1850 rc_option_editor.cc:1852 rc_option_editor.cc:1867
+#: rc_option_editor.cc:1879 rc_option_editor.cc:1891 rc_option_editor.cc:1903
+#: rc_option_editor.cc:1907 rc_option_editor.cc:1915 rc_option_editor.cc:1923
+#: rc_option_editor.cc:1931 rc_option_editor.cc:1933 rc_option_editor.cc:1941
+#: rc_option_editor.cc:1949 rc_option_editor.cc:1957 rc_option_editor.cc:1965
+#: rc_option_editor.cc:1967
msgid "Solo / mute"
msgstr "Solo / demp"
-#: rc_option_editor.cc:1585
+#: rc_option_editor.cc:1855
msgid "Solo-in-place mute cut (dB)"
msgstr "Demping for solo-på-plass (dB)"
-#: rc_option_editor.cc:1592
+#: rc_option_editor.cc:1862
msgid "Solo controls are Listen controls"
msgstr "Solo-kontrollar er lyttekontrollar"
-#: rc_option_editor.cc:1601
+#: rc_option_editor.cc:1871
msgid "Listen Position"
msgstr "Lytteposisjon"
-#: rc_option_editor.cc:1606
+#: rc_option_editor.cc:1876
msgid "after-fader (AFL)"
msgstr "etterlytting (AFL)"
-#: rc_option_editor.cc:1607
+#: rc_option_editor.cc:1877
msgid "pre-fader (PFL)"
msgstr "førlytting (PFL)"
-#: rc_option_editor.cc:1613
+#: rc_option_editor.cc:1883
msgid "PFL signals come from"
msgstr "Førlyttingssignal kjem frå "
-#: rc_option_editor.cc:1618
+#: rc_option_editor.cc:1888
msgid "before pre-fader processors"
msgstr "før før-volum-handsamingar"
-#: rc_option_editor.cc:1619
+#: rc_option_editor.cc:1889
msgid "pre-fader but after pre-fader processors"
msgstr "før-volum, men etter før-volum-signalhandsaming"
-#: rc_option_editor.cc:1625
+#: rc_option_editor.cc:1895
msgid "AFL signals come from"
msgstr "AFL-signal kjem frå "
-#: rc_option_editor.cc:1630
+#: rc_option_editor.cc:1900
msgid "immediately post-fader"
msgstr "rett etter volum"
-#: rc_option_editor.cc:1631
+#: rc_option_editor.cc:1901
msgid "after post-fader processors (before pan)"
msgstr "etter etter-volum-signalprosessar (før panorering)"
-#: rc_option_editor.cc:1640
+#: rc_option_editor.cc:1910
msgid "Exclusive solo"
msgstr "Eksklusiv solo"
-#: rc_option_editor.cc:1648
+#: rc_option_editor.cc:1918
msgid "Show solo muting"
msgstr "Vis solodemping"
-#: rc_option_editor.cc:1656
+#: rc_option_editor.cc:1926
msgid "Soloing overrides muting"
msgstr "Solo overstyrer demping"
-#: rc_option_editor.cc:1661
+#: rc_option_editor.cc:1931
msgid "Default track / bus muting options"
msgstr "Standard spor- og bussdempeval"
-#: rc_option_editor.cc:1666
+#: rc_option_editor.cc:1936
msgid "Mute affects pre-fader sends"
msgstr "Demping verkar på send før volum"
-#: rc_option_editor.cc:1674
+#: rc_option_editor.cc:1944
msgid "Mute affects post-fader sends"
msgstr "Demping verkar på send etter volum"
-#: rc_option_editor.cc:1682
+#: rc_option_editor.cc:1952
msgid "Mute affects control outputs"
msgstr "Demping påverkar kontrollutgangane"
-#: rc_option_editor.cc:1690
+#: rc_option_editor.cc:1960
msgid "Mute affects main outputs"
msgstr "Demping verkar på hovudutgangar"
-#: rc_option_editor.cc:1706
+#: rc_option_editor.cc:1965
+msgid "Send Routing"
+msgstr ""
+
+#: rc_option_editor.cc:1970
+msgid "Link panners of Aux and External Sends with main panner by default"
+msgstr ""
+
+#: rc_option_editor.cc:1986
msgid "Send MIDI Time Code"
msgstr "Send MIDI-tidskode"
-#: rc_option_editor.cc:1714
+#: rc_option_editor.cc:1994
msgid "Percentage either side of normal transport speed to transmit MTC"
msgstr "Prosentdel til kvar side av normal transportfart for å senda MTC"
-#: rc_option_editor.cc:1723
+#: rc_option_editor.cc:2003
msgid "Obey MIDI Machine Control commands"
msgstr "Lyd MIDI-maskinkontrollkommandoar"
-#: rc_option_editor.cc:1731
+#: rc_option_editor.cc:2011
msgid "Send MIDI Machine Control commands"
msgstr "Send MIDI-maskinkontrollkommandoar"
-#: rc_option_editor.cc:1739
+#: rc_option_editor.cc:2019
msgid "Send MIDI control feedback"
msgstr "Send MIDI-kontrollsvar"
-#: rc_option_editor.cc:1747
+#: rc_option_editor.cc:2027
msgid "Inbound MMC device ID"
msgstr "ID for innkomande MMC-eining"
-#: rc_option_editor.cc:1756
+#: rc_option_editor.cc:2036
msgid "Outbound MMC device ID"
msgstr "ID for utgåande MMC-eining"
-#: rc_option_editor.cc:1765
+#: rc_option_editor.cc:2045
msgid "Initial program change"
msgstr "Tidleg programendring"
-#: rc_option_editor.cc:1774
+#: rc_option_editor.cc:2054
msgid "Display first MIDI bank/program as 0"
msgstr "Vis fyrste MIDI-bank/program som 0"
-#: rc_option_editor.cc:1782
+#: rc_option_editor.cc:2062
msgid "Never display periodic MIDI messages (MTC, MIDI Clock)"
msgstr "Aldri vis periodiske MIDI-meldingar (MTC, MIDI-klokke)"
-#: rc_option_editor.cc:1790
+#: rc_option_editor.cc:2070
msgid "Sound MIDI notes as they are selected"
msgstr "Lytt på MIDI-notar medan du vel dei"
-#: rc_option_editor.cc:1798 rc_option_editor.cc:1808 rc_option_editor.cc:1810
+#: rc_option_editor.cc:2075
+msgid "Midi Audition"
+msgstr ""
+
+#: rc_option_editor.cc:2079
+msgid "Midi Audition Synth (LV2)"
+msgstr ""
+
+#: rc_option_editor.cc:2103 rc_option_editor.cc:2113 rc_option_editor.cc:2115
msgid "User interaction"
msgstr "Brukarsamhandling"
-#: rc_option_editor.cc:1801
+#: rc_option_editor.cc:2106
msgid ""
"Use translations of %1 messages\n"
" <i>(requires a restart of %1 to take effect)</i>\n"
" <i>(if available for your language preferences)</i>"
msgstr ""
-#: rc_option_editor.cc:1808
+#: rc_option_editor.cc:2113
msgid "Keyboard"
msgstr "Tastatur"
-#: rc_option_editor.cc:1818
+#: rc_option_editor.cc:2123
msgid "Control surface remote ID"
msgstr "Fjernstyrings-ID for kontrollflate"
-#: rc_option_editor.cc:1823
+#: rc_option_editor.cc:2128
msgid "assigned by user"
msgstr "fastsett av brukaren"
-#: rc_option_editor.cc:1824
+#: rc_option_editor.cc:2129
msgid "follows order of mixer"
msgstr "fylgjer miksaren"
-#: rc_option_editor.cc:1833 rc_option_editor.cc:1841 rc_option_editor.cc:1851
-#: rc_option_editor.cc:1872 rc_option_editor.cc:1881 rc_option_editor.cc:1889
-#: rc_option_editor.cc:1903 rc_option_editor.cc:1922 rc_option_editor.cc:1938
-#: rc_option_editor.cc:1954 rc_option_editor.cc:1968 rc_option_editor.cc:1982
-#: rc_option_editor.cc:1984
+#: rc_option_editor.cc:2143 rc_option_editor.cc:2151 rc_option_editor.cc:2159
+#: rc_option_editor.cc:2169 rc_option_editor.cc:2193 rc_option_editor.cc:2206
+#: rc_option_editor.cc:2215
msgid "Preferences|GUI"
msgstr ""
-#: rc_option_editor.cc:1836
+#: rc_option_editor.cc:2146
msgid "Graphically indicate mouse pointer hovering over various widgets"
msgstr "Vis musepeikaren grafisk når han er over ulike småprogram"
-#: rc_option_editor.cc:1844
+#: rc_option_editor.cc:2154
msgid "Show tooltips if mouse hovers over a control"
msgstr "Vis verktøytips når peikaren er over ein kontroll"
-#: rc_option_editor.cc:1854
-msgid "GUI"
-msgstr "Brukarflate"
+#: rc_option_editor.cc:2162
+msgid "Use name highlight bars in region displays"
+msgstr ""
+
+#: rc_option_editor.cc:2175
+msgid "update transport clock display at FPS instead of every 100ms"
+msgstr ""
-#: rc_option_editor.cc:1857
-msgid "update transport clock display every 40ms instead of every 100ms"
+#: rc_option_editor.cc:2184
+msgid "Lock timeout (seconds)"
msgstr ""
-#: rc_option_editor.cc:1874
+#: rc_option_editor.cc:2192
+msgid "Lock GUI after this many idle seconds (zero to never lock)"
+msgstr ""
+
+#: rc_option_editor.cc:2208
msgid "Mixer Strip"
msgstr "Miksarstripe"
-#: rc_option_editor.cc:1884
+#: rc_option_editor.cc:2218
msgid "Use narrow strips in the mixer by default"
msgstr "Bruk smale miksarstriper i miksaren som standard"
-#: rc_option_editor.cc:1893
+#: rc_option_editor.cc:2223 rc_option_editor.cc:2237 rc_option_editor.cc:2256
+#: rc_option_editor.cc:2272 rc_option_editor.cc:2288 rc_option_editor.cc:2302
+#: rc_option_editor.cc:2316 rc_option_editor.cc:2318
+msgid "Preferences|Metering"
+msgstr ""
+
+#: rc_option_editor.cc:2227
msgid "Peak hold time"
msgstr ""
-#: rc_option_editor.cc:1899
+#: rc_option_editor.cc:2233
msgid "short"
msgstr "kort"
-#: rc_option_editor.cc:1900
+#: rc_option_editor.cc:2234
msgid "medium"
msgstr "middels"
-#: rc_option_editor.cc:1901
+#: rc_option_editor.cc:2235
msgid "long"
msgstr "lenge"
-#: rc_option_editor.cc:1907
+#: rc_option_editor.cc:2241
msgid "DPM fall-off"
msgstr ""
-#: rc_option_editor.cc:1913
+#: rc_option_editor.cc:2247
msgid "slowest [6.6dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1914
+#: rc_option_editor.cc:2248
msgid "slow [8.6dB/sec] (BBC PPM, EBU PPM)"
msgstr ""
-#: rc_option_editor.cc:1915
+#: rc_option_editor.cc:2249
msgid "slowish [12.0dB/sec] (DIN)"
msgstr ""
-#: rc_option_editor.cc:1916
+#: rc_option_editor.cc:2250
msgid "moderate [13.3dB/sec] (EBU Digi PPM, IRT Digi PPM)"
msgstr ""
-#: rc_option_editor.cc:1917
+#: rc_option_editor.cc:2251
msgid "medium [20dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1918
+#: rc_option_editor.cc:2252
msgid "fast [32dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1919
+#: rc_option_editor.cc:2253
msgid "faster [46dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1920
+#: rc_option_editor.cc:2254
msgid "fastest [70dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1926
+#: rc_option_editor.cc:2260
msgid "Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1931 rc_option_editor.cc:1947
+#: rc_option_editor.cc:2265 rc_option_editor.cc:2281
msgid "-24dBFS (SMPTE US: 4dBu = -20dBFS)"
msgstr ""
-#: rc_option_editor.cc:1932 rc_option_editor.cc:1948
+#: rc_option_editor.cc:2266 rc_option_editor.cc:2282
msgid "-20dBFS (SMPTE RP.0155)"
msgstr ""
-#: rc_option_editor.cc:1933 rc_option_editor.cc:1949
+#: rc_option_editor.cc:2267 rc_option_editor.cc:2283
msgid "-18dBFS (EBU, BBC)"
msgstr ""
-#: rc_option_editor.cc:1934 rc_option_editor.cc:1950
+#: rc_option_editor.cc:2268 rc_option_editor.cc:2284
msgid "-15dBFS (DIN)"
msgstr ""
-#: rc_option_editor.cc:1936
+#: rc_option_editor.cc:2270
msgid ""
"Configure meter-marks and color-knee point for dBFS scale DPM, set reference "
"level for IEC1/Nordic, IEC2 PPM and VU meter."
msgstr ""
-#: rc_option_editor.cc:1942
+#: rc_option_editor.cc:2276
msgid "IEC1/DIN Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1952
+#: rc_option_editor.cc:2286
msgid "Reference level for IEC1/DIN meter."
msgstr ""
-#: rc_option_editor.cc:1958
+#: rc_option_editor.cc:2292
msgid "VU Meter standard"
msgstr ""
-#: rc_option_editor.cc:1963
+#: rc_option_editor.cc:2297
msgid "0VU = -2dBu (France)"
msgstr ""
-#: rc_option_editor.cc:1964
+#: rc_option_editor.cc:2298
msgid "0VU = 0dBu (North America, Australia)"
msgstr ""
-#: rc_option_editor.cc:1965
+#: rc_option_editor.cc:2299
msgid "0VU = +4dBu (standard)"
msgstr ""
-#: rc_option_editor.cc:1966
+#: rc_option_editor.cc:2300
msgid "0VU = +8dBu"
msgstr ""
-#: rc_option_editor.cc:1972
+#: rc_option_editor.cc:2306
msgid "Peak threshold [dBFS]"
msgstr ""
-#: rc_option_editor.cc:1980
+#: rc_option_editor.cc:2314
msgid ""
"Specify the audio signal level in dbFS at and above which the meter-peak "
"indicator will flash red."
msgstr ""
-#: rc_option_editor.cc:1987
+#: rc_option_editor.cc:2321
msgid "LED meter style"
msgstr ""
-#: region_editor.cc:79
+#: region_editor.cc:78
msgid "audition this region"
msgstr "lytt på denne bolken"
-#: region_editor.cc:88 region_layering_order_editor.cc:74
+#: region_editor.cc:87 region_layering_order_editor.cc:75
msgid "Position:"
msgstr "Posisjon:"
-#: region_editor.cc:90 add_video_dialog.cc:170
+#: region_editor.cc:89 add_video_dialog.cc:155
msgid "End:"
msgstr "Slutt:"
-#: region_editor.cc:92 sfdb_ui.cc:139
+#: region_editor.cc:91 sfdb_ui.cc:143
msgid "Length:"
msgstr "Lengd:"
-#: region_editor.cc:94
+#: region_editor.cc:93
msgid "Sync point (relative to region):"
msgstr "Synkpunkt (relativt plassert til bolken):"
-#: region_editor.cc:96
+#: region_editor.cc:95
msgid "Sync point (absolute):"
msgstr "Synkpunkt (absolutt):"
-#: region_editor.cc:98
+#: region_editor.cc:97
msgid "File start:"
msgstr "Filstart:"
-#: region_editor.cc:102
+#: region_editor.cc:101
msgid "Sources:"
msgstr "Kjelder:"
-#: region_editor.cc:104
+#: region_editor.cc:103
msgid "Source:"
msgstr "Kjelde:"
-#: region_editor.cc:166
+#: region_editor.cc:165
msgid "Region '%1'"
msgstr "Bolk '%1'"
-#: region_editor.cc:273
+#: region_editor.cc:272
msgid "change region start position"
msgstr "endre bolkstartposisjon"
-#: region_editor.cc:289
+#: region_editor.cc:288
msgid "change region end position"
msgstr "endre boksluttposisjon"
-#: region_editor.cc:309
+#: region_editor.cc:308
msgid "change region length"
msgstr "endre bolklengd"
-#: region_editor.cc:403 region_editor.cc:415
+#: region_editor.cc:402 region_editor.cc:414
msgid "change region sync point"
msgstr "endre bolksynkposisjon"
-#: region_layering_order_editor.cc:41
+#: region_layering_order_editor.cc:42
msgid "RegionLayeringOrderEditor"
msgstr "RegionLayeringOrderEditor"
-#: region_layering_order_editor.cc:54
+#: region_layering_order_editor.cc:55
msgid "Region Name"
msgstr "Bolknamn"
-#: region_layering_order_editor.cc:71
+#: region_layering_order_editor.cc:72
msgid "Track:"
msgstr "Spor:"
-#: region_layering_order_editor.cc:103
+#: region_layering_order_editor.cc:104
msgid "Choose Top Region"
msgstr "Vel toppbolk"
-#: region_view.cc:274
+#: region_view.cc:282
msgid "SilenceText"
msgstr "StilleTekst"
-#: region_view.cc:290 region_view.cc:309
+#: region_view.cc:297 region_view.cc:316
msgid "minutes"
msgstr "minutt"
-#: region_view.cc:293 region_view.cc:312
+#: region_view.cc:300 region_view.cc:319
msgid "msecs"
msgstr "msek"
-#: region_view.cc:296 region_view.cc:315
+#: region_view.cc:303 region_view.cc:322
msgid "secs"
msgstr "sek"
-#: region_view.cc:299
+#: region_view.cc:306
msgid "%1 silent segment"
msgid_plural "%1 silent segments"
msgstr[0] "%1 stille segment"
msgstr[1] "%1 stille segment"
-#: region_view.cc:301
+#: region_view.cc:308
msgid "shortest = %1 %2"
msgstr "stuttast = %1 %2"
-#: region_view.cc:318
+#: region_view.cc:325
msgid ""
"\n"
" (shortest audible segment = %1 %2)"
@@ -9601,142 +9836,137 @@ msgstr ""
"\n"
" (stuttaste del som kan høyrast = %1 %2)"
-#: return_ui.cc:103
+#: return_ui.cc:102
msgid "Return "
msgstr "Retur"
-#: rhythm_ferret.cc:49
+#: rhythm_ferret.cc:48
msgid "Percussive Onset"
msgstr "Perkusjon kjem inn"
-#: rhythm_ferret.cc:50
+#: rhythm_ferret.cc:49
msgid "Note Onset"
msgstr "Note kjem inn"
-#: rhythm_ferret.cc:55
+#: rhythm_ferret.cc:54
msgid "Energy Based"
msgstr "Energibasert"
-#: rhythm_ferret.cc:56
+#: rhythm_ferret.cc:55
msgid "Spectral Difference"
msgstr "Spektrumskilnad"
-#: rhythm_ferret.cc:57
+#: rhythm_ferret.cc:56
msgid "High-Frequency Content"
msgstr "Høgfrekvensinnhald"
-#: rhythm_ferret.cc:58
+#: rhythm_ferret.cc:57
msgid "Complex Domain"
msgstr "Komplekst område"
-#: rhythm_ferret.cc:59
+#: rhythm_ferret.cc:58
msgid "Phase Deviation"
msgstr "Faseavvik"
-#: rhythm_ferret.cc:60
+#: rhythm_ferret.cc:59
msgid "Kullback-Liebler"
msgstr "Kullback-Liebler"
-#: rhythm_ferret.cc:61
+#: rhythm_ferret.cc:60
msgid "Modified Kullback-Liebler"
msgstr "Modifisert Kullback-Liebler"
-#: rhythm_ferret.cc:66
+#: rhythm_ferret.cc:65
msgid "Split region"
msgstr "Del bolken"
-#: rhythm_ferret.cc:67
+#: rhythm_ferret.cc:66
msgid "Snap regions"
msgstr "Fest bolkar"
-#: rhythm_ferret.cc:68
+#: rhythm_ferret.cc:67
msgid "Conform regions"
msgstr "Einsrett bolkar"
-#: rhythm_ferret.cc:73
+#: rhythm_ferret.cc:72
msgid "Rhythm Ferret"
msgstr "Rytmefinnar"
-#: rhythm_ferret.cc:79
+#: rhythm_ferret.cc:78
msgid "Analyze"
msgstr "Analyser"
-#: rhythm_ferret.cc:114
+#: rhythm_ferret.cc:113
msgid "Detection function"
msgstr "Leitefunksjon"
-#: rhythm_ferret.cc:118
+#: rhythm_ferret.cc:117
msgid "Trigger gap"
msgstr "Brytargap"
-#: rhythm_ferret.cc:123 strip_silence_dialog.cc:68
+#: rhythm_ferret.cc:122 strip_silence_dialog.cc:64
msgid "Threshold"
msgstr "Dørstokk"
-#: rhythm_ferret.cc:128
+#: rhythm_ferret.cc:127
msgid "Peak threshold"
msgstr "Toppterskel"
-#: rhythm_ferret.cc:133
+#: rhythm_ferret.cc:132
msgid "Silence threshold"
msgstr "Stille-terskel (dB)"
-#: rhythm_ferret.cc:138
+#: rhythm_ferret.cc:137
msgid "Sensitivity"
msgstr "Følsemd"
-#: rhythm_ferret.cc:142
+#: rhythm_ferret.cc:141
msgid "Operation"
msgstr "Handling"
-#: rhythm_ferret.cc:356
+#: rhythm_ferret.cc:355
msgid "split regions (rhythm ferret)"
msgstr "del opp bolkane (finn rytmar)"
-#: route_group_dialog.cc:36
+#: route_group_dialog.cc:42
msgid "Track/bus Group"
msgstr "Spor/bussgruppe"
-#: route_group_dialog.cc:41
+#: route_group_dialog.cc:47
msgid "Relative"
msgstr "Relativt"
-#: route_group_dialog.cc:42
+#: route_group_dialog.cc:48
msgid "Muting"
msgstr "Demping"
-#: route_group_dialog.cc:43
-msgid "Soloing"
-msgstr "Solo"
-
-#: route_group_dialog.cc:44
+#: route_group_dialog.cc:50
msgid "Record enable"
msgstr "Skru på/av opptak"
-#: route_group_dialog.cc:45 time_info_box.cc:66
+#: route_group_dialog.cc:51 time_info_box.cc:67
msgid "Selection"
msgstr "Utval"
-#: route_group_dialog.cc:46
+#: route_group_dialog.cc:52
msgid "Active state"
msgstr "Aktiv status"
-#: route_group_dialog.cc:47 route_group_dialog.cc:76 theme_manager.cc:71
+#: route_group_dialog.cc:53 route_group_dialog.cc:82 theme_manager.cc:84
msgid "Color"
msgstr "Farge"
-#: route_group_dialog.cc:53
+#: route_group_dialog.cc:59
msgid "RouteGroupDialog"
msgstr "Rutegruppedialog"
-#: route_group_dialog.cc:92
+#: route_group_dialog.cc:100
msgid "<b>Sharing</b>"
msgstr "<b>Deler</b>"
-#: route_group_dialog.cc:182
-msgid ""
-"A route group of this name already exists. Please use a different name."
-msgstr "Det finst alt ei rutegruppe med det namnet. Vel eit anna namn."
+#: route_group_dialog.cc:200
+msgid "The group name is not unique. Please use a different name."
+msgstr ""
#: route_params_ui.cc:83
msgid "Tracks/Busses"
@@ -9758,298 +9988,282 @@ msgstr "Utvidingar, innstikk og send"
msgid "route display list item for renamed route not found!"
msgstr "fann ikkje rutevisingslisteobjekt for omdøypt rute!"
-#: route_params_ui.cc:255 route_params_ui.cc:283
+#: route_params_ui.cc:278 route_params_ui.cc:306
#, c-format
msgid "Playback delay: %<PRId64> samples"
msgstr "Avspelingsseinking: %<PRId64> punkt"
-#: route_params_ui.cc:475
+#: route_params_ui.cc:498
msgid "NO TRACK"
msgstr "IKKJE NOKO SPOR"
-#: route_params_ui.cc:613 route_params_ui.cc:614
+#: route_params_ui.cc:636 route_params_ui.cc:637
msgid "No Track or Bus Selected"
msgstr "Ingen spor eller bussar valde"
-#: route_time_axis.cc:97
-msgid "g"
-msgstr "g"
-
-#: route_time_axis.cc:98
-msgid "p"
-msgstr "p"
-
-#: route_time_axis.cc:99
-msgid "a"
-msgstr "a"
-
-#: route_time_axis.cc:173
+#: route_time_axis.cc:179
msgid "Record (Right-click for Step Edit)"
msgstr "Ta opp (høgreklikk for stegredigering)"
-#: route_time_axis.cc:176
+#: route_time_axis.cc:182
msgid "Record"
msgstr "Ta opp"
-#: route_time_axis.cc:210
+#: route_time_axis.cc:254
msgid "Route Group"
msgstr "Rut gruppe"
-#: route_time_axis.cc:213
+#: route_time_axis.cc:264
msgid "MIDI Controllers and Automation"
msgstr "MIDI-kontrollar og -automasjon"
-#: route_time_axis.cc:390
+#: route_time_axis.cc:500
msgid "Show All Automation"
msgstr "Vis all automasjon"
-#: route_time_axis.cc:393
+#: route_time_axis.cc:503
msgid "Show Existing Automation"
msgstr "Vis gjeldande automasjon"
-#: route_time_axis.cc:396
+#: route_time_axis.cc:506
msgid "Hide All Automation"
msgstr "Gøym all automasjon"
-#: route_time_axis.cc:405
+#: route_time_axis.cc:515
msgid "Processor automation"
msgstr ""
-#: route_time_axis.cc:424
-msgid "Color..."
-msgstr "Farge..."
-
-#: route_time_axis.cc:481
+#: route_time_axis.cc:599
msgid "Overlaid"
msgstr "Overlagt"
-#: route_time_axis.cc:487
+#: route_time_axis.cc:605
msgid "Stacked"
msgstr "Stabla"
-#: route_time_axis.cc:495
+#: route_time_axis.cc:613
msgid "Layers"
msgstr "Lag"
-#: route_time_axis.cc:564
+#: route_time_axis.cc:682
msgid "Automatic (based on I/O connections)"
msgstr "Automatisk (basert på I/U-tilkoplingar)"
-#: route_time_axis.cc:573
+#: route_time_axis.cc:691
msgid "(Currently: Existing Material)"
msgstr "(No: eksisterande materiale)"
-#: route_time_axis.cc:576
+#: route_time_axis.cc:694
msgid "(Currently: Capture Time)"
msgstr "(No: opptakstidspunkt)"
-#: route_time_axis.cc:584
+#: route_time_axis.cc:702
msgid "Align With Existing Material"
msgstr "Juster til eksisterande materiale"
-#: route_time_axis.cc:589
+#: route_time_axis.cc:707
msgid "Align With Capture Time"
msgstr "Juster til innspelingstid"
-#: route_time_axis.cc:594
+#: route_time_axis.cc:712
msgid "Alignment"
msgstr "Justering"
-#: route_time_axis.cc:629
+#: route_time_axis.cc:747
msgid "Normal Mode"
msgstr "Normalmodus"
-#: route_time_axis.cc:635
+#: route_time_axis.cc:753
msgid "Tape Mode"
msgstr "Bandmodus"
-#: route_time_axis.cc:641
+#: route_time_axis.cc:759
msgid "Non-Layered Mode"
msgstr "Ikkje lagdelt modus"
-#: route_time_axis.cc:654 route_time_axis.cc:1601
+#: route_time_axis.cc:772 route_time_axis.cc:1748
msgid "Playlist"
msgstr "Speleliste"
-#: route_time_axis.cc:979
+#: route_time_axis.cc:1070
msgid "Rename Playlist"
msgstr "Døyp om spelelista"
-#: route_time_axis.cc:980
+#: route_time_axis.cc:1071
msgid "New name for playlist:"
msgstr "Nytt namn på spelelista:"
-#: route_time_axis.cc:1065
+#: route_time_axis.cc:1156
msgid "New Copy Playlist"
msgstr "Ny spelelistekopi"
-#: route_time_axis.cc:1066 route_time_axis.cc:1119
+#: route_time_axis.cc:1157 route_time_axis.cc:1210
msgid "Name for new playlist:"
msgstr "Namn på den nye spelelista:"
-#: route_time_axis.cc:1118
+#: route_time_axis.cc:1209
msgid "New Playlist"
msgstr "Ny speleliste"
-#: route_time_axis.cc:1309
+#: route_time_axis.cc:1400
msgid "You cannot create a track with that name as it is reserved for %1"
msgstr ""
"Du kan ikkje laga eit spor med det namnet, fordi det er halde att for %1"
-#: route_time_axis.cc:1490
+#: route_time_axis.cc:1637
msgid "New Copy..."
msgstr "Ny kopi..."
-#: route_time_axis.cc:1494
+#: route_time_axis.cc:1641
msgid "New Take"
msgstr "Nytt tak"
-#: route_time_axis.cc:1495
+#: route_time_axis.cc:1642
msgid "Copy Take"
msgstr "Kopier tak"
-#: route_time_axis.cc:1500
+#: route_time_axis.cc:1647
msgid "Clear Current"
msgstr "Tøm gjeldande"
-#: route_time_axis.cc:1503
+#: route_time_axis.cc:1650
msgid "Select From All..."
msgstr "Vel frå alt..."
-#: route_time_axis.cc:1591
+#: route_time_axis.cc:1738
msgid "Take: %1.%2"
msgstr "Tak: %1.%2"
-#: route_time_axis.cc:2291
+#: route_time_axis.cc:2024 selection.cc:1002 selection.cc:1056
+msgid "programming error: "
+msgstr "programmeringsfeil: "
+
+#: route_time_axis.cc:2440
msgid "Underlays"
msgstr "Underlag"
-#: route_time_axis.cc:2294
+#: route_time_axis.cc:2443
msgid "Remove \"%1\""
msgstr "Fjern \"%1\""
-#: route_time_axis.cc:2344 route_time_axis.cc:2381
+#: route_time_axis.cc:2493 route_time_axis.cc:2530
msgid "programming error: underlay reference pointer pairs are inconsistent!"
msgstr ""
"Programmeringsfeil: underlags-tilvisingspeikarpar er ikkje samanhengande!"
-#: route_time_axis.cc:2408
+#: route_time_axis.cc:2557
msgid "After-fade listen (AFL)"
msgstr "Etterlytting (AFL)"
-#: route_time_axis.cc:2412
+#: route_time_axis.cc:2561
msgid "Pre-fade listen (PFL)"
msgstr "Førlytting (PFL)"
-#: route_time_axis.cc:2416
-msgid "s"
-msgstr "s"
-
-#: route_time_axis.cc:2419
-msgid "m"
-msgstr "d"
-
-#: route_ui.cc:119
+#: route_ui.cc:138
msgid "Mute this track"
msgstr "Demp dette sporet"
-#: route_ui.cc:123
+#: route_ui.cc:142
msgid "Mute other (non-soloed) tracks"
msgstr "Demp alle andre (ikkje-solo) spor"
-#: route_ui.cc:129
+#: route_ui.cc:148
msgid "Enable recording on this track"
msgstr "Gjer klar til opptak på dette sporet"
-#: route_ui.cc:133
+#: route_ui.cc:154
msgid "make mixer strips show sends to this bus"
msgstr "få miksarstripene til å visa send for denne bussen"
-#: route_ui.cc:138
+#: route_ui.cc:159
msgid "Monitor input"
msgstr "Lytt på inngangen"
-#: route_ui.cc:144
+#: route_ui.cc:165
msgid "Monitor playback"
msgstr "Lytt på avspelinga"
-#: route_ui.cc:591
-msgid "Not connected to JACK - cannot engage record"
-msgstr "Ikkje tilkopla JACK - kan ikkje gjera klar til opptak"
+#: route_ui.cc:668
+msgid "Not connected to AudioEngine - cannot engage record"
+msgstr ""
-#: route_ui.cc:786
+#: route_ui.cc:867
msgid "Step Entry"
msgstr "Steginnskriving"
-#: route_ui.cc:859
+#: route_ui.cc:940
msgid "Assign all tracks (prefader)"
msgstr "Tildel alle spor (før volum)"
-#: route_ui.cc:863
+#: route_ui.cc:944
msgid "Assign all tracks and buses (prefader)"
msgstr "Tildel alle spor og bussar (førvolum)"
-#: route_ui.cc:867
+#: route_ui.cc:948
msgid "Assign all tracks (postfader)"
msgstr "Tildel alle spor (etter volum)"
-#: route_ui.cc:871
+#: route_ui.cc:952
msgid "Assign all tracks and buses (postfader)"
msgstr "Tildel alle spor og bussar (ettervolum)"
-#: route_ui.cc:875
+#: route_ui.cc:956
msgid "Assign selected tracks (prefader)"
msgstr "Tildel dei valde spora (førvolum)"
-#: route_ui.cc:879
+#: route_ui.cc:960
msgid "Assign selected tracks and buses (prefader)"
msgstr "Tildel dei valde spora og bussane (førvolum)"
-#: route_ui.cc:882
+#: route_ui.cc:963
msgid "Assign selected tracks (postfader)"
msgstr "Tildel dei valde spora (ettervolum)"
-#: route_ui.cc:886
+#: route_ui.cc:967
msgid "Assign selected tracks and buses (postfader)"
msgstr "Tildel dei valde spora og bussane (ettervolum)"
-#: route_ui.cc:889
+#: route_ui.cc:970
msgid "Copy track/bus gains to sends"
msgstr "Kopier spor-/bussvolum til send"
-#: route_ui.cc:890
+#: route_ui.cc:971
msgid "Set sends gain to -inf"
msgstr "Set sendvolum til -inf"
-#: route_ui.cc:891
+#: route_ui.cc:972
msgid "Set sends gain to 0dB"
msgstr "Set sendvolum til 0dB"
-#: route_ui.cc:1211
+#: route_ui.cc:1294
msgid "Solo Isolate"
msgstr "Isoler solo"
-#: route_ui.cc:1240
-msgid "Pre Fader"
-msgstr "Før volumkontroll"
+#: route_ui.cc:1301
+msgid "Solo Safe"
+msgstr "Solo-sikker"
-#: route_ui.cc:1246
-msgid "Post Fader"
-msgstr "Etter volumkontroll"
+#: route_ui.cc:1323
+msgid "Pre Fader Sends"
+msgstr ""
+
+#: route_ui.cc:1329
+msgid "Post Fader Sends"
+msgstr ""
-#: route_ui.cc:1252
+#: route_ui.cc:1335
msgid "Control Outs"
msgstr "Kontrollutgangar"
-#: route_ui.cc:1258
+#: route_ui.cc:1341
msgid "Main Outs"
msgstr "Hovudutgangar"
-#: route_ui.cc:1390
+#: route_ui.cc:1473
msgid "Color Selection"
msgstr "Fargeval"
-#: route_ui.cc:1477
+#: route_ui.cc:1558
msgid ""
"Do you really want to remove track \"%1\" ?\n"
"\n"
@@ -10063,7 +10277,7 @@ msgstr ""
"\n"
"(Du kan ikkje angra dette, og øktfila vil bli overskriven)"
-#: route_ui.cc:1479
+#: route_ui.cc:1560
msgid ""
"Do you really want to remove bus \"%1\" ?\n"
"\n"
@@ -10073,15 +10287,15 @@ msgstr ""
"\n"
"(Du kan ikkje angra, og øktfila vil bli overskriven!)"
-#: route_ui.cc:1487
+#: route_ui.cc:1568
msgid "Remove track"
msgstr "Fjern spor"
-#: route_ui.cc:1489
+#: route_ui.cc:1570
msgid "Remove bus"
msgstr "Fjern buss"
-#: route_ui.cc:1516
+#: route_ui.cc:1598
msgid ""
"The use of colons (':') is discouraged in track and bus names.\n"
"Do you want to use this new name?"
@@ -10089,47 +10303,51 @@ msgstr ""
"Me rår ikkje til at du bruker kolon (':') i namn på spor og bussar.\n"
"Vil du bruka dette nye namnet?"
-#: route_ui.cc:1520
+#: route_ui.cc:1602
msgid "Use the new name"
msgstr "Bruk det nye namnet"
-#: route_ui.cc:1521
+#: route_ui.cc:1603
msgid "Re-edit the name"
msgstr "Endra namnet på nytt"
-#: route_ui.cc:1534
+#: route_ui.cc:1616
msgid "Rename Track"
msgstr "Døyp om spor"
-#: route_ui.cc:1536
+#: route_ui.cc:1618
msgid "Rename Bus"
msgstr "Døyp om bussen"
-#: route_ui.cc:1695
+#: route_ui.cc:1686
+msgid ": comment editor"
+msgstr ": rediger kommentarar"
+
+#: route_ui.cc:1852
msgid " latency"
msgstr "treigskap"
-#: route_ui.cc:1708
+#: route_ui.cc:1865
msgid "Cannot create route template directory %1"
msgstr "Greier ikkje laga malmappa for ruter %1"
-#: route_ui.cc:1714
+#: route_ui.cc:1871
msgid "Save As Template"
msgstr "Lagra som mal"
-#: route_ui.cc:1715
+#: route_ui.cc:1872
msgid "Template name:"
msgstr "Namn på malen :"
-#: route_ui.cc:1788
+#: route_ui.cc:1945
msgid "Remote Control ID"
msgstr "Fjernstyrings-ID"
-#: route_ui.cc:1798
+#: route_ui.cc:1955
msgid "Remote control ID:"
msgstr "Fjernstyrings-ID:"
-#: route_ui.cc:1812
+#: route_ui.cc:1969
msgid ""
"The remote control ID of %1 is: %2\n"
"\n"
@@ -10141,27 +10359,26 @@ msgstr ""
"\n"
"Du kan ikkje endra fjernkontroll-IDen for %3."
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the master bus"
msgstr "hovudbussen"
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the monitor bus"
msgstr "lyttebussen"
-#: route_ui.cc:1818
+#: route_ui.cc:1975
msgid ""
"The remote control ID of %5 is: %2\n"
"\n"
"\n"
-"Remote Control IDs are currently determined by track/bus ordering in "
-"Ardour.\n"
+"Remote Control IDs are currently determined by track/bus ordering in %6.\n"
"\n"
"%3Use the User Interaction tab of the Preferences window if you want to "
"change this%4"
msgstr ""
-#: route_ui.cc:1875
+#: route_ui.cc:2032
msgid ""
"Left-click to invert (phase reverse) channel %1 of this track. Right-click "
"to show menu."
@@ -10169,7 +10386,7 @@ msgstr ""
"Venstreklikk for å fasevenda kanal %1 på dette sporet. Høgreklikk for å sjå "
"menyen."
-#: route_ui.cc:1877
+#: route_ui.cc:2034
msgid "Click to show a menu of channels for inversion (phase reverse)"
msgstr "Klikk for å visa ein meny over kanalar å invertera (fasevenda)"
@@ -10185,119 +10402,119 @@ msgstr "Klikk for å leggja til ein ny stad"
msgid "the session folder"
msgstr "øktmappa"
-#: send_ui.cc:126
+#: send_ui.cc:134
msgid "Send "
msgstr "Send"
-#: session_dialog.cc:66
+#: session_dialog.cc:68
msgid "Session Setup"
msgstr ""
-#: session_dialog.cc:71
+#: session_dialog.cc:73
msgid "Advanced options ..."
msgstr ""
-#: session_dialog.cc:267
+#: session_dialog.cc:271
msgid "New Session"
msgstr "Ny økt"
-#: session_dialog.cc:305
+#: session_dialog.cc:309
msgid "Check the website for more..."
msgstr ""
-#: session_dialog.cc:308
+#: session_dialog.cc:312
msgid "Click to open the program website in your web browser"
msgstr ""
-#: session_dialog.cc:328
+#: session_dialog.cc:332
msgid "Sample Rate"
msgstr ""
-#: session_dialog.cc:329
+#: session_dialog.cc:333
msgid "Disk Format"
msgstr ""
-#: session_dialog.cc:347
+#: session_dialog.cc:351
msgid "Select session file"
msgstr "Vel øktfil"
-#: session_dialog.cc:362
+#: session_dialog.cc:366
msgid "Other Sessions"
msgstr ""
-#: session_dialog.cc:388
+#: session_dialog.cc:392
msgid "Open"
msgstr "Opna"
-#: session_dialog.cc:455
+#: session_dialog.cc:459
msgid "Session name:"
msgstr "Namn på økta:"
-#: session_dialog.cc:477
+#: session_dialog.cc:481
msgid "Create session folder in:"
msgstr "Lag øktmappa i :"
-#: session_dialog.cc:500
+#: session_dialog.cc:504
msgid "Select folder for session"
msgstr "Vel mappe for økta"
-#: session_dialog.cc:529
+#: session_dialog.cc:533
msgid "Use this template"
msgstr "Bruk denne malen"
-#: session_dialog.cc:532
+#: session_dialog.cc:536
msgid "no template"
msgstr "ingen mal"
-#: session_dialog.cc:664 session_dialog.cc:696
+#: session_dialog.cc:671 session_dialog.cc:707
msgid "32 bit float"
msgstr ""
-#: session_dialog.cc:667 session_dialog.cc:699
+#: session_dialog.cc:674 session_dialog.cc:710
msgid "24 bit"
msgstr ""
-#: session_dialog.cc:670 session_dialog.cc:702
+#: session_dialog.cc:677 session_dialog.cc:713
msgid "16 bit"
msgstr ""
-#: session_dialog.cc:741 session_dialog.cc:742 session_dialog.cc:743
+#: session_dialog.cc:755 session_dialog.cc:756 session_dialog.cc:757
msgid "channels"
msgstr "kanalar"
-#: session_dialog.cc:757
+#: session_dialog.cc:771
msgid "<b>Busses</b>"
msgstr "<b>Bussar</b>"
-#: session_dialog.cc:758
+#: session_dialog.cc:772
msgid "<b>Inputs</b>"
msgstr "<b>Ingangar</b>"
-#: session_dialog.cc:759
+#: session_dialog.cc:773
msgid "<b>Outputs</b>"
msgstr "<b>Utgangar</b>"
-#: session_dialog.cc:767
+#: session_dialog.cc:781
msgid "Create master bus"
msgstr "Lag hovudbuss"
-#: session_dialog.cc:777
+#: session_dialog.cc:791
msgid "Automatically connect to physical inputs"
msgstr "Kopla automatisk til fysiske inngangar"
-#: session_dialog.cc:784 session_dialog.cc:843
+#: session_dialog.cc:798 session_dialog.cc:857
msgid "Use only"
msgstr "Bruk berre"
-#: session_dialog.cc:837
+#: session_dialog.cc:851
msgid "Automatically connect outputs"
msgstr "Kopla utgangane automatisk"
-#: session_dialog.cc:859
+#: session_dialog.cc:873
msgid "... to master bus"
msgstr "... til hovudbussen"
-#: session_dialog.cc:869
+#: session_dialog.cc:883
msgid "... to physical outputs"
msgstr "... til fysiske utgangar"
@@ -10601,7 +10818,8 @@ msgstr ""
#: session_option_editor.cc:91
msgid ""
-"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless in JACK-sync)."
+"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless using JACK-"
+"sync)."
msgstr ""
#: session_option_editor.cc:96
@@ -10637,103 +10855,173 @@ msgid ""
msgstr ""
"%1 er JACK-tidsstyrar (gjev Takt|taktslag|tikk og andre opplysingar til JACK)"
-#: session_option_editor.cc:137
-msgid "Default crossfade type"
-msgstr "Standard overtoningstype"
-
-#: session_option_editor.cc:142
-msgid "Constant power (-3dB) crossfade"
-msgstr "Konstant kraft-krysstoning (-3dB)"
-
-#: session_option_editor.cc:143
-msgid "Linear (-6dB) crossfade"
-msgstr "Lineær (-6dB) krysstoning"
-
-#: session_option_editor.cc:148
+#: session_option_editor.cc:136
msgid "destructive-xfade-seconds"
msgstr "endeleg-krysston-sekund"
-#: session_option_editor.cc:149
+#: session_option_editor.cc:137
msgid "Destructive crossfade length"
msgstr "Destruktiv overtoningslengd"
-#: session_option_editor.cc:158
+#: session_option_editor.cc:146
msgid "Region fades active"
msgstr "Bolktoningar på"
-#: session_option_editor.cc:165
+#: session_option_editor.cc:153
msgid "Region fades visible"
msgstr "Bolktoningane er synlege"
-#: session_option_editor.cc:172 session_option_editor.cc:185
-#: session_option_editor.cc:199 session_option_editor.cc:201
-#: session_option_editor.cc:207 session_option_editor.cc:214
+#: session_option_editor.cc:160 session_option_editor.cc:173
+#: session_option_editor.cc:187
msgid "Media"
msgstr "Media"
-#: session_option_editor.cc:172
+#: session_option_editor.cc:160
msgid "Audio file format"
msgstr "Lydfilformat"
-#: session_option_editor.cc:176
+#: session_option_editor.cc:164
msgid "Sample format"
msgstr "Punktformat"
-#: session_option_editor.cc:181
+#: session_option_editor.cc:169
msgid "32-bit floating point"
msgstr "32-bit flytpunkt"
-#: session_option_editor.cc:182
+#: session_option_editor.cc:170
msgid "24-bit integer"
msgstr "24-bit heiltal"
-#: session_option_editor.cc:183
+#: session_option_editor.cc:171
msgid "16-bit integer"
msgstr "16-bit heiltal"
-#: session_option_editor.cc:189
+#: session_option_editor.cc:177
msgid "File type"
msgstr "Filtype"
-#: session_option_editor.cc:194
+#: session_option_editor.cc:182
msgid "Broadcast WAVE"
msgstr "Kringkast-WAVE"
-#: session_option_editor.cc:195
+#: session_option_editor.cc:183
msgid "WAVE"
msgstr "WAVE"
-#: session_option_editor.cc:196
+#: session_option_editor.cc:184
msgid "WAVE-64"
msgstr "WAVE-64"
-#: session_option_editor.cc:201
+#: session_option_editor.cc:189
msgid "File locations"
msgstr "Filplasseringar"
-#: session_option_editor.cc:203
+#: session_option_editor.cc:191
msgid "Search for audio files in:"
msgstr "Søk etter lydfiler i:"
-#: session_option_editor.cc:209
+#: session_option_editor.cc:197
msgid "Search for MIDI files in:"
msgstr "Sjå etter MIDI-filer i:"
-#: session_option_editor.cc:220
+#: session_option_editor.cc:206 session_option_editor.cc:218
+#: session_option_editor.cc:228 session_option_editor.cc:239
+msgid "Filenames"
+msgstr ""
+
+#: session_option_editor.cc:206
+msgid "File Naming"
+msgstr ""
+
+#: session_option_editor.cc:212
+msgid "Prefix Track number"
+msgstr ""
+
+#: session_option_editor.cc:217
+msgid ""
+"Adds the current track number to the beginning of the recorded file name."
+msgstr ""
+
+#: session_option_editor.cc:222
+msgid "Prefix Take Name"
+msgstr ""
+
+#: session_option_editor.cc:227
+msgid "Adds the Take Name to the beginning of the recorded file name."
+msgstr ""
+
+#: session_option_editor.cc:232
+msgid "Take Name"
+msgstr ""
+
+#: session_option_editor.cc:245
msgid ""
"Track Input Monitoring automatically follows transport state (\"auto-input\")"
msgstr ""
"Lytting til sporinnngangen fylgjer automatisk transportstatus («autoinngang»)"
-#: session_option_editor.cc:227
+#: session_option_editor.cc:252
msgid "Use monitor section in this session"
msgstr "Bruk lytteavdelinga i denne økta"
-#: session_option_editor.cc:238
+#: session_option_editor.cc:257 session_option_editor.cc:259
+#: session_option_editor.cc:266 session_option_editor.cc:273
+#: session_option_editor.cc:280 session_option_editor.cc:282
+#: session_option_editor.cc:289 session_option_editor.cc:296
+#: session_option_editor.cc:303 session_option_editor.cc:310
+#: session_option_editor.cc:312
+msgid "Meterbridge"
+msgstr ""
+
+#: session_option_editor.cc:257
+msgid "Route Display"
+msgstr ""
+
+#: session_option_editor.cc:261
+msgid "Show Midi Tracks"
+msgstr ""
+
+#: session_option_editor.cc:268
+msgid "Show Busses"
+msgstr ""
+
+#: session_option_editor.cc:275
+msgid "Include Master Bus"
+msgstr ""
+
+#: session_option_editor.cc:280
+msgid "Button Area"
+msgstr ""
+
+#: session_option_editor.cc:284
+msgid "Rec-enable Button"
+msgstr ""
+
+#: session_option_editor.cc:291
+msgid "Mute Button"
+msgstr ""
+
+#: session_option_editor.cc:298
+msgid "Solo Button"
+msgstr ""
+
+#: session_option_editor.cc:305
+msgid "Monitor Buttons"
+msgstr ""
+
+#: session_option_editor.cc:310
+msgid "Name Labels"
+msgstr ""
+
+#: session_option_editor.cc:314
+msgid "Track Name"
+msgstr ""
+
+#: session_option_editor.cc:325
msgid "MIDI region copies are independent"
msgstr "MIDI-bolkkopiar er uavhengige"
-#: session_option_editor.cc:245
+#: session_option_editor.cc:332
msgid ""
"Policy for handling overlapping notes\n"
" on the same MIDI channel"
@@ -10741,325 +11029,285 @@ msgstr ""
"Framgangsmåte for å handtera overlappande\n"
"notar på same MIDI-kanal"
-#: session_option_editor.cc:250
+#: session_option_editor.cc:337
msgid "never allow them"
msgstr "ikkje tillat"
-#: session_option_editor.cc:251
+#: session_option_editor.cc:338
msgid "don't do anything in particular"
msgstr "ikkje gjer noko spesielt"
-#: session_option_editor.cc:252
+#: session_option_editor.cc:339
msgid "replace any overlapped existing note"
msgstr "byt ut alle overlappande notar"
-#: session_option_editor.cc:253
+#: session_option_editor.cc:340
msgid "shorten the overlapped existing note"
msgstr "kort ned den overlappa noten"
-#: session_option_editor.cc:254
+#: session_option_editor.cc:341
msgid "shorten the overlapping new note"
msgstr "kort ned den overlappa nye noten"
-#: session_option_editor.cc:255
+#: session_option_editor.cc:342
msgid "replace both overlapping notes with a single note"
msgstr "byt ut båe dei overlappa med ein enkelt note"
-#: session_option_editor.cc:259
+#: session_option_editor.cc:346
msgid "Glue to bars and beats"
msgstr "Lim til takter og taktslag"
-#: session_option_editor.cc:263
+#: session_option_editor.cc:350
msgid "Glue new markers to bars and beats"
msgstr "Lim nye markørar til takter og taktslag"
-#: session_option_editor.cc:270
+#: session_option_editor.cc:357
msgid "Glue new regions to bars and beats"
msgstr "Lim nye bolkar til takter og taktslag"
-#: session_option_editor.cc:275 session_option_editor.cc:277
-#: session_option_editor.cc:284 session_option_editor.cc:291
-#: session_option_editor.cc:298 session_option_editor.cc:300
-#: session_option_editor.cc:307 session_option_editor.cc:314
-#: session_option_editor.cc:321 session_option_editor.cc:323
-msgid "Meterbridge"
-msgstr ""
-
-#: session_option_editor.cc:275
-msgid "Route Display"
-msgstr ""
-
-#: session_option_editor.cc:279
-msgid "Show Midi Tracks"
-msgstr ""
-
-#: session_option_editor.cc:286
-msgid "Show Busses"
-msgstr ""
-
-#: session_option_editor.cc:293
-msgid "Include Master Bus"
-msgstr ""
-
-#: session_option_editor.cc:298
-msgid "Button Area"
-msgstr ""
-
-#: session_option_editor.cc:302
-msgid "Rec-enable Button"
-msgstr ""
-
-#: session_option_editor.cc:309
-msgid "Mute Button"
-msgstr ""
-
-#: session_option_editor.cc:316
-msgid "Solo Button"
-msgstr ""
-
-#: session_option_editor.cc:321
-msgid "Name Labels"
+#: session_option_editor.cc:362
+msgid "Defaults"
msgstr ""
-#: session_option_editor.cc:325
-msgid "Track Name"
+#: session_option_editor.cc:364
+msgid "Use these settings as defaults"
msgstr ""
-#: sfdb_ui.cc:86 sfdb_ui.cc:106 sfdb_ui.cc:115
+#: sfdb_ui.cc:88 sfdb_ui.cc:108 sfdb_ui.cc:117
msgid "as new tracks"
msgstr "som nytt spor"
-#: sfdb_ui.cc:88 sfdb_ui.cc:108
+#: sfdb_ui.cc:90 sfdb_ui.cc:110
msgid "to selected tracks"
msgstr "til valde spor"
-#: sfdb_ui.cc:90 sfdb_ui.cc:110
+#: sfdb_ui.cc:92 sfdb_ui.cc:112
msgid "to region list"
msgstr "til bolklista"
-#: sfdb_ui.cc:92 sfdb_ui.cc:112
+#: sfdb_ui.cc:94 sfdb_ui.cc:114
msgid "as new tape tracks"
msgstr "som nytt bandspor"
-#: sfdb_ui.cc:96
+#: sfdb_ui.cc:98
msgid "programming error: unknown import mode string %1"
msgstr "programmeringsfeil: ukjend importmodusstreng %1"
-#: sfdb_ui.cc:123
+#: sfdb_ui.cc:125
msgid "Auto-play"
msgstr "Autospel"
-#: sfdb_ui.cc:129 sfdb_ui.cc:236
+#: sfdb_ui.cc:133 sfdb_ui.cc:317
msgid "<b>Sound File Information</b>"
msgstr "<b>Lydfilinformasjon</b>"
-#: sfdb_ui.cc:141
+#: sfdb_ui.cc:145
msgid "Timestamp:"
msgstr "Tidsstempel:"
-#: sfdb_ui.cc:143
+#: sfdb_ui.cc:147
msgid "Format:"
msgstr "Format:"
-#: sfdb_ui.cc:182 sfdb_ui.cc:526
+#: sfdb_ui.cc:186 sfdb_ui.cc:646
msgid "Tags:"
msgstr "Knaggar:"
-#: sfdb_ui.cc:319
-msgid "Auditioning of MIDI files is not yet supported"
-msgstr "Me har ikkje gjort klart for å lytta på MIDI-filer enno"
+#: sfdb_ui.cc:290
+msgid "<b>Midi File Information</b>"
+msgstr ""
-#: sfdb_ui.cc:326
+#: sfdb_ui.cc:402
msgid "Could not read file: %1 (%2)."
msgstr "Greidde ikkje lesa fil: %1 (%2)."
-#: sfdb_ui.cc:349
+#: sfdb_ui.cc:451
msgid "Could not access soundfile: "
msgstr "Fekk ikkje tilgang til lydfil: "
-#: sfdb_ui.cc:403
+#: sfdb_ui.cc:523
msgid "SoundFileBox: Could not tokenize string: "
msgstr "SoundFileBox: Greidde ikkje laga teikn av strengen: "
-#: sfdb_ui.cc:423 sfdb_ui.cc:425
+#: sfdb_ui.cc:543 sfdb_ui.cc:545
msgid "Search"
msgstr "Søk"
-#: sfdb_ui.cc:449
+#: sfdb_ui.cc:569
msgid "Audio and MIDI files"
msgstr "Lyd- og MIDI-filer"
-#: sfdb_ui.cc:452
+#: sfdb_ui.cc:572
msgid "Audio files"
msgstr "Lydfiler"
-#: sfdb_ui.cc:455
+#: sfdb_ui.cc:575
msgid "MIDI files"
msgstr "MIDI-filer"
-#: sfdb_ui.cc:458 add_video_dialog.cc:132
+#: sfdb_ui.cc:578 add_video_dialog.cc:123
msgid "All files"
msgstr "Alle filer"
-#: sfdb_ui.cc:477 add_video_dialog.cc:143
+#: sfdb_ui.cc:597 add_video_dialog.cc:246
msgid "Browse Files"
msgstr "Bla gjennom filer"
-#: sfdb_ui.cc:506
+#: sfdb_ui.cc:626
msgid "Paths"
msgstr "Stigar"
-#: sfdb_ui.cc:515
+#: sfdb_ui.cc:635
msgid "Search Tags"
msgstr "Søk i knaggar"
-#: sfdb_ui.cc:531
+#: sfdb_ui.cc:651
msgid "Sort:"
msgstr "Sorter:"
-#: sfdb_ui.cc:539
+#: sfdb_ui.cc:659
msgid "Longest"
msgstr "Lengst"
-#: sfdb_ui.cc:540
+#: sfdb_ui.cc:660
msgid "Shortest"
msgstr "Kortast"
-#: sfdb_ui.cc:541
+#: sfdb_ui.cc:661
msgid "Newest"
msgstr "Nyast"
-#: sfdb_ui.cc:542
+#: sfdb_ui.cc:662
msgid "Oldest"
msgstr "Eldste"
-#: sfdb_ui.cc:543
+#: sfdb_ui.cc:663
msgid "Most downloaded"
msgstr "Mest nedlasta"
-#: sfdb_ui.cc:544
+#: sfdb_ui.cc:664
msgid "Least downloaded"
msgstr "Minst nedlasta"
-#: sfdb_ui.cc:545
+#: sfdb_ui.cc:665
msgid "Highest rated"
msgstr "Høgst vurderte"
-#: sfdb_ui.cc:546
+#: sfdb_ui.cc:666
msgid "Lowest rated"
msgstr "LÃ¥gast vurderte"
-#: sfdb_ui.cc:551
+#: sfdb_ui.cc:671
msgid "More"
msgstr ""
-#: sfdb_ui.cc:555
+#: sfdb_ui.cc:675
msgid "Similar"
msgstr ""
-#: sfdb_ui.cc:567
+#: sfdb_ui.cc:687
msgid "ID"
msgstr "ID"
-#: sfdb_ui.cc:568 add_video_dialog.cc:84
+#: sfdb_ui.cc:688 add_video_dialog.cc:83
msgid "Filename"
msgstr "Filnamn"
-#: sfdb_ui.cc:570
+#: sfdb_ui.cc:690
msgid "Duration"
msgstr "Lengd"
-#: sfdb_ui.cc:571
+#: sfdb_ui.cc:691
msgid "Size"
msgstr "Storleik"
-#: sfdb_ui.cc:572
+#: sfdb_ui.cc:692
msgid "Samplerate"
msgstr "Punktfrekvens"
-#: sfdb_ui.cc:573
+#: sfdb_ui.cc:693
msgid "License"
msgstr "Lisens"
-#: sfdb_ui.cc:591
+#: sfdb_ui.cc:711
msgid "Search Freesound"
msgstr "Søk på Freesound"
-#: sfdb_ui.cc:611
+#: sfdb_ui.cc:731
msgid "Press to import selected files and close this window"
msgstr "Trykk for å importera filene og lukka dette vindauga"
-#: sfdb_ui.cc:612
+#: sfdb_ui.cc:732
msgid "Press to import selected files and leave this window open"
msgstr "Press for å importera filene og la dette vindauga vera ope"
-#: sfdb_ui.cc:613
+#: sfdb_ui.cc:733
msgid "Press to close this window without importing any files"
msgstr "Press for å lukka dette vindauga utan å importera nokon filer"
-#: sfdb_ui.cc:809
+#: sfdb_ui.cc:929
msgid "SoundFileBrowser: Could not tokenize string: "
msgstr "SoundFileBrowser: Greidde ikkje laga teikn av strengen: "
-#: sfdb_ui.cc:1009
+#: sfdb_ui.cc:1129
msgid "%1 more page of 100 results available"
msgid_plural "%1 more pages of 100 results available"
msgstr[0] ""
msgstr[1] ""
-#: sfdb_ui.cc:1014
+#: sfdb_ui.cc:1134
msgid "No more results available"
msgstr ""
-#: sfdb_ui.cc:1078
+#: sfdb_ui.cc:1198
msgid "B"
msgstr "B"
-#: sfdb_ui.cc:1080
+#: sfdb_ui.cc:1200
msgid "kB"
msgstr "kB"
-#: sfdb_ui.cc:1082 sfdb_ui.cc:1084
+#: sfdb_ui.cc:1202 sfdb_ui.cc:1204
msgid "MB"
msgstr "MB"
-#: sfdb_ui.cc:1086
+#: sfdb_ui.cc:1206
msgid "GB"
msgstr "GB"
-#: sfdb_ui.cc:1298 sfdb_ui.cc:1606 sfdb_ui.cc:1656 sfdb_ui.cc:1674
+#: sfdb_ui.cc:1418 sfdb_ui.cc:1731 sfdb_ui.cc:1782 sfdb_ui.cc:1800
msgid "one track per file"
msgstr "Eitt spor per fil"
-#: sfdb_ui.cc:1301 sfdb_ui.cc:1657 sfdb_ui.cc:1675
+#: sfdb_ui.cc:1421 sfdb_ui.cc:1783 sfdb_ui.cc:1801
msgid "one track per channel"
msgstr "Eitt spor per kanal"
-#: sfdb_ui.cc:1309 sfdb_ui.cc:1659 sfdb_ui.cc:1676
+#: sfdb_ui.cc:1429 sfdb_ui.cc:1785 sfdb_ui.cc:1802
msgid "sequence files"
msgstr "sekvensfiler"
-#: sfdb_ui.cc:1312 sfdb_ui.cc:1664
+#: sfdb_ui.cc:1432 sfdb_ui.cc:1790
msgid "all files in one track"
msgstr "alle filene i eitt spor"
-#: sfdb_ui.cc:1313 sfdb_ui.cc:1658
+#: sfdb_ui.cc:1433 sfdb_ui.cc:1784
msgid "merge files"
msgstr "flett filer"
-#: sfdb_ui.cc:1319 sfdb_ui.cc:1661
+#: sfdb_ui.cc:1439 sfdb_ui.cc:1787
msgid "one region per file"
msgstr "ein bolk per fil"
-#: sfdb_ui.cc:1322 sfdb_ui.cc:1662
+#: sfdb_ui.cc:1442 sfdb_ui.cc:1788
msgid "one region per channel"
msgstr "ein bolk for kvar kanal"
-#: sfdb_ui.cc:1327 sfdb_ui.cc:1663 sfdb_ui.cc:1677
+#: sfdb_ui.cc:1447 sfdb_ui.cc:1789 sfdb_ui.cc:1803
msgid "all files in one region"
msgstr "alle filene i ein bolk"
-#: sfdb_ui.cc:1394
+#: sfdb_ui.cc:1514
msgid ""
"One or more of the selected files\n"
"cannot be used by %1"
@@ -11067,55 +11315,55 @@ msgstr ""
"%1 kan ikkje bruka\n"
"ei eller fleire av desse filene"
-#: sfdb_ui.cc:1534
+#: sfdb_ui.cc:1658
msgid "Copy files to session"
msgstr "Kopier filer til økta"
-#: sfdb_ui.cc:1551 sfdb_ui.cc:1714
+#: sfdb_ui.cc:1675 sfdb_ui.cc:1840
msgid "file timestamp"
msgstr "filtidsstempel"
-#: sfdb_ui.cc:1552 sfdb_ui.cc:1716
+#: sfdb_ui.cc:1676 sfdb_ui.cc:1842
msgid "edit point"
msgstr "redigeringspunkt"
-#: sfdb_ui.cc:1553 sfdb_ui.cc:1718
+#: sfdb_ui.cc:1677 sfdb_ui.cc:1844
msgid "playhead"
msgstr "spelehovud"
-#: sfdb_ui.cc:1554
+#: sfdb_ui.cc:1678
msgid "session start"
msgstr "øktstart"
-#: sfdb_ui.cc:1559
+#: sfdb_ui.cc:1684
msgid "<b>Add files as ...</b>"
msgstr "<b>Legg til filer som ...</b>"
-#: sfdb_ui.cc:1581
+#: sfdb_ui.cc:1706
msgid "<b>Insert at</b>"
msgstr "<b>Set inn ved</b>"
-#: sfdb_ui.cc:1594
+#: sfdb_ui.cc:1719
msgid "<b>Mapping</b>"
msgstr "<b>Punktlegging</b>"
-#: sfdb_ui.cc:1612
+#: sfdb_ui.cc:1737
msgid "<b>Conversion quality</b>"
msgstr "<b>Omkodingskvalitet</b>"
-#: sfdb_ui.cc:1624 sfdb_ui.cc:1730
+#: sfdb_ui.cc:1749 sfdb_ui.cc:1856
msgid "Best"
msgstr "Best"
-#: sfdb_ui.cc:1625 sfdb_ui.cc:1732
+#: sfdb_ui.cc:1750 sfdb_ui.cc:1858
msgid "Good"
msgstr "God"
-#: sfdb_ui.cc:1626 sfdb_ui.cc:1734
+#: sfdb_ui.cc:1751 sfdb_ui.cc:1860
msgid "Quick"
msgstr "Snøgg"
-#: sfdb_ui.cc:1628
+#: sfdb_ui.cc:1753
msgid "Fastest"
msgstr "Fortast"
@@ -11161,6 +11409,30 @@ msgstr ">>> %+d halvtonar"
msgid "Stopped"
msgstr "Stoppa"
+#: soundcloud_export_selector.cc:44
+msgid "User Email"
+msgstr ""
+
+#: soundcloud_export_selector.cc:45
+msgid "Password"
+msgstr ""
+
+#: soundcloud_export_selector.cc:46
+msgid "Make files public"
+msgstr ""
+
+#: soundcloud_export_selector.cc:47
+msgid "Open uploaded files in browser"
+msgstr ""
+
+#: soundcloud_export_selector.cc:48
+msgid "Make files downloadable"
+msgstr ""
+
+#: soundcloud_export_selector.cc:107
+msgid "%1: %2 of %3 bytes uploaded"
+msgstr ""
+
#: splash.cc:73
msgid "%1 loading ..."
msgstr "%1 startar..."
@@ -11177,17 +11449,17 @@ msgstr "Fjern høgtalar"
msgid "Azimuth:"
msgstr "Asimut:"
-#: startup.cc:72
+#: startup.cc:73
msgid ""
"Use an external mixer or the hardware mixer of your audio interface.\n"
"%1 will play NO role in monitoring"
msgstr ""
-#: startup.cc:74
+#: startup.cc:75
msgid "Ask %1 to play back material as it is being recorded"
msgstr "Be %1 om å spela det som blir teke opp"
-#: startup.cc:143
+#: startup.cc:144
msgid ""
"<b>Welcome to this BETA release of Ardour %1</b>\n"
"\n"
@@ -11212,11 +11484,11 @@ msgid ""
" http://ardour.org/support\n"
msgstr ""
-#: startup.cc:167
+#: startup.cc:168
msgid "This is a BETA RELEASE"
msgstr "Dette er ei BETA-utgåve"
-#: startup.cc:176
+#: startup.cc:177
msgid ""
"<span size=\"larger\">%1 is a digital audio workstation. You can use it to "
"record, edit and mix multi-track audio. You can produce your own CDs, mix "
@@ -11232,15 +11504,15 @@ msgstr ""
"\n"
"Me må gjera nokre val før du byrjar å bruka programmet.</span>"
-#: startup.cc:202
+#: startup.cc:203
msgid "Welcome to %1"
msgstr "Velkomen til %1"
-#: startup.cc:225
+#: startup.cc:226
msgid "Default folder for %1 sessions"
msgstr "Standardmappa for %1-økter"
-#: startup.cc:231
+#: startup.cc:232
msgid ""
"Each project that you work on with %1 has its own folder.\n"
"These can require a lot of disk space if you are recording audio.\n"
@@ -11256,11 +11528,11 @@ msgstr ""
"\n"
"<i>(Du kan lagra prosjekt kvar som helst, dette er berre standardvalet)</i>"
-#: startup.cc:254
+#: startup.cc:255
msgid "Default folder for new sessions"
msgstr "Standardmappe for nye økter"
-#: startup.cc:275
+#: startup.cc:276
msgid ""
"While recording instruments or vocals, you probably want to listen to the\n"
"signal as well as record it. This is called \"monitoring\". There are\n"
@@ -11280,15 +11552,15 @@ msgstr ""
"\n"
"<i>(Du kan endra dette i Innstillingar-ruta seinare)</i>"
-#: startup.cc:296
+#: startup.cc:297
msgid "Monitoring Choices"
msgstr "Lyttingsval"
-#: startup.cc:319
+#: startup.cc:320
msgid "Use a Master bus directly"
msgstr "Bruk hovudbuss direkte"
-#: startup.cc:321
+#: startup.cc:322
msgid ""
"Connect the Master bus directly to your hardware outputs. This is preferable "
"for simple usage."
@@ -11296,11 +11568,11 @@ msgstr ""
"Kopla hovudbussen direkte til maskinvareutgangane. Best for grunnleggande "
"bruk."
-#: startup.cc:330
+#: startup.cc:331
msgid "Use an additional Monitor bus"
msgstr "Bruk eigen lyttebuss i tillegg"
-#: startup.cc:333
+#: startup.cc:334
msgid ""
"Use a Monitor bus between Master bus and hardware outputs for \n"
"greater control in monitoring without affecting the mix."
@@ -11308,7 +11580,7 @@ msgstr ""
"Bruk ein lyttebuss mellom hovudbussen og maskinvareutgangane\n"
"for å ha betre kontroll med lyttinga utan å påverka miksen."
-#: startup.cc:355
+#: startup.cc:356
msgid ""
"<i>You can change this preference at any time via the Preferences dialog.\n"
"You can also add or remove the monitor section to/from any session.</i>\n"
@@ -11321,395 +11593,395 @@ msgstr ""
"\n"
"<i>Viss du ikkje skjønar kva dette er til, kan du bruka standardvala.</i>"
-#: startup.cc:366
+#: startup.cc:367
msgid "Monitor Section"
msgstr "Lytteavdeling"
-#: step_entry.cc:59
+#: step_entry.cc:60
msgid "Step Entry: %1"
msgstr "Steginnlegging: %1"
-#: step_entry.cc:64
+#: step_entry.cc:65
msgid ">beat"
msgstr ">slag"
-#: step_entry.cc:65
+#: step_entry.cc:66
msgid ">bar"
msgstr ">takt"
-#: step_entry.cc:66
+#: step_entry.cc:67
msgid ">EP"
msgstr ">EP"
-#: step_entry.cc:67
+#: step_entry.cc:68
msgid "sustain"
msgstr "klanglengd"
-#: step_entry.cc:68
+#: step_entry.cc:69
msgid "rest"
msgstr "pause"
-#: step_entry.cc:69
+#: step_entry.cc:70
msgid "g-rest"
msgstr "g-pause"
-#: step_entry.cc:70
+#: step_entry.cc:71
msgid "back"
msgstr "tilbake"
-#: step_entry.cc:81 step_entry.cc:84
+#: step_entry.cc:82 step_entry.cc:85
msgid "+"
msgstr "+"
-#: step_entry.cc:190
+#: step_entry.cc:191
msgid "Set note length to a whole note"
msgstr "Bruk heilnote som notelengd"
-#: step_entry.cc:191
+#: step_entry.cc:192
msgid "Set note length to a half note"
msgstr "Bruk halvnote som notelengd"
-#: step_entry.cc:192
+#: step_entry.cc:193
msgid "Set note length to a quarter note"
msgstr "Bruk fjerdedelsnote som notelengd"
-#: step_entry.cc:193
+#: step_entry.cc:194
msgid "Set note length to a eighth note"
msgstr "Bruk åttendelsnote som notelengd"
-#: step_entry.cc:194
+#: step_entry.cc:195
msgid "Set note length to a sixteenth note"
msgstr "Bruk sekstandelsnote som notelengd"
-#: step_entry.cc:195
+#: step_entry.cc:196
msgid "Set note length to a thirty-second note"
msgstr "Set notelengda til toogtredvedelsnote"
-#: step_entry.cc:196
+#: step_entry.cc:197
msgid "Set note length to a sixty-fourth note"
msgstr "Bruk fireogsekstiandedelsnote som notelengd"
-#: step_entry.cc:275
+#: step_entry.cc:276
msgid "Set volume (velocity) to pianississimo"
msgstr "Bruk piano pianissimo som volum"
-#: step_entry.cc:276
+#: step_entry.cc:277
msgid "Set volume (velocity) to pianissimo"
msgstr "Bruk pianissimo som volum"
-#: step_entry.cc:277
+#: step_entry.cc:278
msgid "Set volume (velocity) to piano"
msgstr "Bruk piano som volum"
-#: step_entry.cc:278
+#: step_entry.cc:279
msgid "Set volume (velocity) to mezzo-piano"
msgstr "Bruk mezzo piano som volum"
-#: step_entry.cc:279
+#: step_entry.cc:280
msgid "Set volume (velocity) to mezzo-forte"
msgstr "Bruk mezzo forte som volum"
-#: step_entry.cc:280
+#: step_entry.cc:281
msgid "Set volume (velocity) to forte"
msgstr "Bruk forte som volum"
-#: step_entry.cc:281
+#: step_entry.cc:282
msgid "Set volume (velocity) to forteissimo"
msgstr "Bruk fortissimo som volum"
-#: step_entry.cc:282
+#: step_entry.cc:283
msgid "Set volume (velocity) to forteississimo"
msgstr "Bruk forte fortissimo som volum"
-#: step_entry.cc:330
+#: step_entry.cc:331
msgid "Stack inserted notes to form a chord"
msgstr "Stabla dei innsette notane så dei blir ein akkord"
-#: step_entry.cc:331
+#: step_entry.cc:332
msgid "Extend selected notes by note length"
msgstr "Utvid desse notane med notelengda"
-#: step_entry.cc:332
+#: step_entry.cc:333
msgid "Use undotted note lengths"
msgstr "Bruk u-punkterte notelengder"
-#: step_entry.cc:333
+#: step_entry.cc:334
msgid "Use dotted (* 1.5) note lengths"
msgstr "Bruk punkterte (* 1,5) notelengder"
-#: step_entry.cc:334
+#: step_entry.cc:335
msgid "Use double-dotted (* 1.75) note lengths"
msgstr "Bruk dobbelpunktert notelengd (* 1,75)"
-#: step_entry.cc:335
+#: step_entry.cc:336
msgid "Use triple-dotted (* 1.875) note lengths"
msgstr "Bruk trippelpunktert notelengd (* 1,875)"
-#: step_entry.cc:336
+#: step_entry.cc:337
msgid "Insert a note-length's rest"
msgstr "Set inn pause på ei notelengd"
-#: step_entry.cc:337
+#: step_entry.cc:338
msgid "Insert a grid-unit's rest"
msgstr "Set inn ei pause på gitterstorleiken"
-#: step_entry.cc:338
+#: step_entry.cc:339
msgid "Insert a rest until the next beat"
msgstr "Set inn pause til neste slaget"
-#: step_entry.cc:339
+#: step_entry.cc:340
msgid "Insert a rest until the next bar"
msgstr "Set inn pause til neste takta"
-#: step_entry.cc:340
+#: step_entry.cc:341
msgid "Insert a bank change message"
msgstr "Set inn bankendringsmelding"
-#: step_entry.cc:341
+#: step_entry.cc:342
msgid "Insert a program change message"
msgstr "Set inn ei programendringsmelding"
-#: step_entry.cc:342 step_entry.cc:699
+#: step_entry.cc:343 step_entry.cc:700
msgid "Move Insert Position Back by Note Length"
msgstr "Flytt Set inn-posisjonen bakover med ei notelengd"
-#: step_entry.cc:343 step_entry.cc:697
+#: step_entry.cc:344 step_entry.cc:698
msgid "Move Insert Position to Edit Point"
msgstr "Flytt Set inn-posisjonen til redigeringspunktet"
-#: step_entry.cc:400
+#: step_entry.cc:401
msgid "1/Note"
msgstr "1/note"
-#: step_entry.cc:414
+#: step_entry.cc:415
msgid "Octave"
msgstr "Oktav"
-#: step_entry.cc:597
+#: step_entry.cc:598
msgid "Insert Note A"
msgstr "Set inn note A"
-#: step_entry.cc:598
+#: step_entry.cc:599
msgid "Insert Note A-sharp"
msgstr "Set inn aiss"
-#: step_entry.cc:599
+#: step_entry.cc:600
msgid "Insert Note B"
msgstr "Set inn note H"
-#: step_entry.cc:600
+#: step_entry.cc:601
msgid "Insert Note C"
msgstr "Set inn note C"
-#: step_entry.cc:601
+#: step_entry.cc:602
msgid "Insert Note C-sharp"
msgstr "Set inn ciss"
-#: step_entry.cc:602
+#: step_entry.cc:603
msgid "Insert Note D"
msgstr "Set inn note D"
-#: step_entry.cc:603
+#: step_entry.cc:604
msgid "Insert Note D-sharp"
msgstr "Set inn diss"
-#: step_entry.cc:604
+#: step_entry.cc:605
msgid "Insert Note E"
msgstr "Set inn note E"
-#: step_entry.cc:605
+#: step_entry.cc:606
msgid "Insert Note F"
msgstr "Set inn note F"
-#: step_entry.cc:606
+#: step_entry.cc:607
msgid "Insert Note F-sharp"
msgstr "Set inn fiss"
-#: step_entry.cc:607
+#: step_entry.cc:608
msgid "Insert Note G"
msgstr "Set inn note G"
-#: step_entry.cc:608
+#: step_entry.cc:609
msgid "Insert Note G-sharp"
msgstr "Set inn giss"
-#: step_entry.cc:610
+#: step_entry.cc:611
msgid "Insert a Note-length Rest"
msgstr "Set inn pause på ei notelengd"
-#: step_entry.cc:611
+#: step_entry.cc:612
msgid "Insert a Snap-length Rest"
msgstr "Set inn pause på ei festelengd"
-#: step_entry.cc:613 step_entry.cc:614
+#: step_entry.cc:614 step_entry.cc:615
msgid "Move to next octave"
msgstr "Flytt til neste oktav"
-#: step_entry.cc:616
+#: step_entry.cc:617
msgid "Move to Next Note Length"
msgstr "Flytt til neste notelengd"
-#: step_entry.cc:617
+#: step_entry.cc:618
msgid "Move to Previous Note Length"
msgstr "Flytt til førre notelengd"
-#: step_entry.cc:619
+#: step_entry.cc:620
msgid "Increase Note Length"
msgstr "Auk notelengd"
-#: step_entry.cc:620
+#: step_entry.cc:621
msgid "Decrease Note Length"
msgstr "Kort ned notelengd"
-#: step_entry.cc:622
+#: step_entry.cc:623
msgid "Move to Next Note Velocity"
msgstr "Flytt til neste notevolum"
-#: step_entry.cc:623
+#: step_entry.cc:624
msgid "Move to Previous Note Velocity"
msgstr "Flytt til førre notevolum"
-#: step_entry.cc:625
+#: step_entry.cc:626
msgid "Increase Note Velocity"
msgstr "Auk notevolum"
-#: step_entry.cc:626
+#: step_entry.cc:627
msgid "Decrease Note Velocity"
msgstr "Mink notevolum"
-#: step_entry.cc:628
+#: step_entry.cc:629
msgid "Switch to the 1st octave"
msgstr "Byt til fyrste oktaven"
-#: step_entry.cc:629
+#: step_entry.cc:630
msgid "Switch to the 2nd octave"
msgstr "Byt til andre oktaven"
-#: step_entry.cc:630
+#: step_entry.cc:631
msgid "Switch to the 3rd octave"
msgstr "Byt til tredje oktaven"
-#: step_entry.cc:631
+#: step_entry.cc:632
msgid "Switch to the 4th octave"
msgstr "Byt til fjerde oktaven"
-#: step_entry.cc:632
+#: step_entry.cc:633
msgid "Switch to the 5th octave"
msgstr "Byt til femte oktaven"
-#: step_entry.cc:633
+#: step_entry.cc:634
msgid "Switch to the 6th octave"
msgstr "Byt til sjette oktaven"
-#: step_entry.cc:634
+#: step_entry.cc:635
msgid "Switch to the 7th octave"
msgstr "Byt til sjuande oktaven"
-#: step_entry.cc:635
+#: step_entry.cc:636
msgid "Switch to the 8th octave"
msgstr "Byt til åttande oktaven"
-#: step_entry.cc:636
+#: step_entry.cc:637
msgid "Switch to the 9th octave"
msgstr "Byt til niande oktaven"
-#: step_entry.cc:637
+#: step_entry.cc:638
msgid "Switch to the 10th octave"
msgstr "Byt til tiande oktaven"
-#: step_entry.cc:638
+#: step_entry.cc:639
msgid "Switch to the 11th octave"
msgstr "Byt til ellevte oktaven"
-#: step_entry.cc:643
+#: step_entry.cc:644
msgid "Set Note Length to Whole"
msgstr "Bruk heilnote som notelengd"
-#: step_entry.cc:645
+#: step_entry.cc:646
msgid "Set Note Length to 1/2"
msgstr "Set notelengda til 1/2"
-#: step_entry.cc:647
+#: step_entry.cc:648
msgid "Set Note Length to 1/3"
msgstr "Set notelengda til 1/3"
-#: step_entry.cc:649
+#: step_entry.cc:650
msgid "Set Note Length to 1/4"
msgstr "Set notelengda til 1/4"
-#: step_entry.cc:651
+#: step_entry.cc:652
msgid "Set Note Length to 1/8"
msgstr "Set notelengda til 1/8"
-#: step_entry.cc:653
+#: step_entry.cc:654
msgid "Set Note Length to 1/16"
msgstr "Bruk 1/16 som notelengd"
-#: step_entry.cc:655
+#: step_entry.cc:656
msgid "Set Note Length to 1/32"
msgstr "Bruk 1/32 som notelengd"
-#: step_entry.cc:657
+#: step_entry.cc:658
msgid "Set Note Length to 1/64"
msgstr "Bruk 1/64 som notelengd"
-#: step_entry.cc:662
+#: step_entry.cc:663
msgid "Set Note Velocity to Pianississimo"
msgstr "Bruk piano pianissimo som notevolum"
-#: step_entry.cc:664
+#: step_entry.cc:665
msgid "Set Note Velocity to Pianissimo"
msgstr "Bruk pianissimo som notevolum"
-#: step_entry.cc:666
+#: step_entry.cc:667
msgid "Set Note Velocity to Piano"
msgstr "Bruk piano som notevolum"
-#: step_entry.cc:668
+#: step_entry.cc:669
msgid "Set Note Velocity to Mezzo-Piano"
msgstr "Bruk mezzo piano som notevolum"
-#: step_entry.cc:670
+#: step_entry.cc:671
msgid "Set Note Velocity to Mezzo-Forte"
msgstr "Bruk mezzo forte som notevolum"
-#: step_entry.cc:672
+#: step_entry.cc:673
msgid "Set Note Velocity to Forte"
msgstr "Bruk forte som notevolum"
-#: step_entry.cc:674 step_entry.cc:676
+#: step_entry.cc:675 step_entry.cc:677
msgid "Set Note Velocity to Fortississimo"
msgstr "Bruk forte fortissimo som notevolum"
-#: step_entry.cc:678
+#: step_entry.cc:679
msgid "Toggle Triple Notes"
msgstr "Skru på triolar"
-#: step_entry.cc:683
+#: step_entry.cc:684
msgid "No Dotted Notes"
msgstr "Ingen punkteringar"
-#: step_entry.cc:685
+#: step_entry.cc:686
msgid "Toggled Dotted Notes"
msgstr "Skru på punkteringar"
-#: step_entry.cc:687
+#: step_entry.cc:688
msgid "Toggled Double-Dotted Notes"
msgstr "Skru på dobbelpunkteringar"
-#: step_entry.cc:689
+#: step_entry.cc:690
msgid "Toggled Triple-Dotted Notes"
msgstr "Skru på trippelpunkteringar"
-#: step_entry.cc:692
+#: step_entry.cc:693
msgid "Toggle Chord Entry"
msgstr "Skru på akkordskriving"
-#: step_entry.cc:694
+#: step_entry.cc:695
msgid "Sustain Selected Notes by Note Length"
msgstr "Hald desse notane i notelengda"
-#: stereo_panner.cc:108
+#: stereo_panner.cc:131
#, c-format
msgid "L:%3d R:%3d Width:%d%%"
msgstr ""
@@ -11722,140 +11994,164 @@ msgstr "Stereopanorering"
msgid "Width"
msgstr "Breidd"
-#: strip_silence_dialog.cc:48
+#: strip_silence_dialog.cc:44
msgid "Strip Silence"
msgstr "Skjer bort stille"
-#: strip_silence_dialog.cc:79
+#: strip_silence_dialog.cc:75
msgid "Minimum length"
msgstr "Minstelengd"
-#: strip_silence_dialog.cc:87
+#: strip_silence_dialog.cc:83
msgid "Fade length"
msgstr "Toningslengd"
-#: tempo_dialog.cc:43 tempo_dialog.cc:58
+#: tempo_dialog.cc:42 tempo_dialog.cc:58
msgid "bar:"
msgstr "takt:"
-#: tempo_dialog.cc:44 tempo_dialog.cc:59
+#: tempo_dialog.cc:43 tempo_dialog.cc:59
msgid "beat:"
msgstr "slag:"
-#: tempo_dialog.cc:45 tempo_dialog.cc:60
+#: tempo_dialog.cc:44 tempo_dialog.cc:60
msgid "Pulse note"
msgstr "Pulsnote"
+#: tempo_dialog.cc:45 tempo_dialog.cc:61
+msgid "Tap tempo"
+msgstr ""
+
#: tempo_dialog.cc:55
msgid "Edit Tempo"
msgstr "Endra tempo"
-#: tempo_dialog.cc:76 tempo_dialog.cc:77 tempo_dialog.cc:282
-#: tempo_dialog.cc:283
+#: tempo_dialog.cc:77 tempo_dialog.cc:78 tempo_dialog.cc:316
+#: tempo_dialog.cc:317
msgid "whole"
msgstr "heil"
-#: tempo_dialog.cc:78 tempo_dialog.cc:79 tempo_dialog.cc:284
-#: tempo_dialog.cc:285
+#: tempo_dialog.cc:79 tempo_dialog.cc:80 tempo_dialog.cc:318
+#: tempo_dialog.cc:319
msgid "second"
msgstr "andre"
-#: tempo_dialog.cc:80 tempo_dialog.cc:81 tempo_dialog.cc:286
-#: tempo_dialog.cc:287
+#: tempo_dialog.cc:81 tempo_dialog.cc:82 tempo_dialog.cc:320
+#: tempo_dialog.cc:321
msgid "third"
msgstr "tredjedel"
-#: tempo_dialog.cc:82 tempo_dialog.cc:83 tempo_dialog.cc:288
-#: tempo_dialog.cc:289
+#: tempo_dialog.cc:83 tempo_dialog.cc:84 tempo_dialog.cc:322
+#: tempo_dialog.cc:323
msgid "quarter"
msgstr "fjerdedel"
-#: tempo_dialog.cc:84 tempo_dialog.cc:85 tempo_dialog.cc:290
-#: tempo_dialog.cc:291
+#: tempo_dialog.cc:85 tempo_dialog.cc:86 tempo_dialog.cc:324
+#: tempo_dialog.cc:325
msgid "eighth"
msgstr "Ã¥ttendel"
-#: tempo_dialog.cc:86 tempo_dialog.cc:87 tempo_dialog.cc:292
-#: tempo_dialog.cc:293
+#: tempo_dialog.cc:87 tempo_dialog.cc:88 tempo_dialog.cc:326
+#: tempo_dialog.cc:327
msgid "sixteenth"
msgstr "sekstendel"
-#: tempo_dialog.cc:88 tempo_dialog.cc:89 tempo_dialog.cc:294
-#: tempo_dialog.cc:295
+#: tempo_dialog.cc:89 tempo_dialog.cc:90 tempo_dialog.cc:328
+#: tempo_dialog.cc:329
msgid "thirty-second"
msgstr "toogtredvedel"
-#: tempo_dialog.cc:90 tempo_dialog.cc:91 tempo_dialog.cc:296
-#: tempo_dialog.cc:297
+#: tempo_dialog.cc:91 tempo_dialog.cc:92 tempo_dialog.cc:330
+#: tempo_dialog.cc:331
msgid "sixty-fourth"
msgstr "sekstifiredel"
-#: tempo_dialog.cc:92 tempo_dialog.cc:93 tempo_dialog.cc:298
-#: tempo_dialog.cc:299
+#: tempo_dialog.cc:93 tempo_dialog.cc:94 tempo_dialog.cc:332
+#: tempo_dialog.cc:333
msgid "one-hundred-twenty-eighth"
msgstr "hundreogtjueåttedel"
-#: tempo_dialog.cc:120
+#: tempo_dialog.cc:121
msgid "Beats per minute:"
msgstr "Slag per minutt:"
-#: tempo_dialog.cc:152
+#: tempo_dialog.cc:153
msgid "Tempo begins at"
msgstr "Tempoet byrjar på"
-#: tempo_dialog.cc:240
+#: tempo_dialog.cc:244
msgid "incomprehensible pulse note type (%1)"
msgstr "uforståeleg pulsnotetype (%1)"
-#: tempo_dialog.cc:266
+#: tempo_dialog.cc:300
msgid "Edit Meter"
msgstr "Endra taktart"
-#: tempo_dialog.cc:314
+#: tempo_dialog.cc:348
msgid "Note value:"
msgstr "Noteverdi:"
-#: tempo_dialog.cc:315
+#: tempo_dialog.cc:349
msgid "Beats per bar:"
msgstr "Slag per takt:"
-#: tempo_dialog.cc:330
+#: tempo_dialog.cc:364
msgid "Meter begins at bar:"
msgstr "Taktarten byrjar ved takt:"
-#: tempo_dialog.cc:441
+#: tempo_dialog.cc:475
msgid "incomprehensible meter note type (%1)"
msgstr "uforståeleg taktartnotetype (%1)"
-#: theme_manager.cc:57
+#: theme_manager.cc:63
msgid "Dark Theme"
msgstr "Mørk bunad"
-#: theme_manager.cc:58
+#: theme_manager.cc:64
msgid "Light Theme"
msgstr "Lys bunad"
-#: theme_manager.cc:59
+#: theme_manager.cc:65
msgid "Restore Defaults"
msgstr "Nullstill til standard"
-#: theme_manager.cc:60
+#: theme_manager.cc:66
msgid "Draw \"flat\" buttons"
msgstr "Teikna «flate» knappar"
-#: theme_manager.cc:61
+#: theme_manager.cc:67
+msgid "Blink Rec-Arm buttons"
+msgstr ""
+
+#: theme_manager.cc:68
+msgid "Color regions using their track's color"
+msgstr "Fargelegg bolkar med sporfarga"
+
+#: theme_manager.cc:69
+msgid "Show waveform clipping"
+msgstr ""
+
+#: theme_manager.cc:71
+msgid "Waveforms color gradient depth"
+msgstr ""
+
+#: theme_manager.cc:73
+msgid "Timeline item gradient depth"
+msgstr ""
+
+#: theme_manager.cc:74
msgid "All floating windows are dialogs"
msgstr ""
-#: theme_manager.cc:62
-msgid "Draw waveforms with color gradient"
-msgstr "Teikna bylgjeformer med fargeovergangar"
+#: theme_manager.cc:75
+msgid "Icon Set"
+msgstr ""
-#: theme_manager.cc:68
+#: theme_manager.cc:81
msgid "Object"
msgstr "Objekt"
-#: theme_manager.cc:123
+#: theme_manager.cc:180
msgid ""
"Mark all floating windows to be type \"Dialog\" rather than using \"Utility"
"\" for some.\n"
@@ -11863,15 +12159,15 @@ msgid ""
"take effect"
msgstr ""
-#: theme_manager.cc:229
+#: theme_manager.cc:286
msgid "Unable to find UI style file %1 in search path %2. %3 will look strange"
msgstr "Finn ikkje brukarflatefila %1 i søkjestigen %2. %3 vil sjå rar ut"
-#: time_axis_view.cc:114
+#: time_axis_view.cc:141
msgid "Track/Bus name (double click to edit)"
msgstr ""
-#: time_axis_view_item.cc:332
+#: time_axis_view_item.cc:384
msgid "new duration %1 frame is out of bounds for %2"
msgid_plural "new duration of %1 frames is out of bounds for %2"
msgstr[0] "lengda no, %1 ramme, er utanfor rekkjevidda for %2"
@@ -11937,11 +12233,11 @@ msgstr "Strekk/krymp"
msgid "<b>Progress</b>"
msgstr "<b>Framgang</b>"
-#: time_info_box.cc:121
+#: time_info_box.cc:124
msgid "Start recording at auto-punch start"
msgstr "Ta opp frå auto-innslagspunktet"
-#: time_info_box.cc:122
+#: time_info_box.cc:125
msgid "Stop recording at auto-punch end"
msgstr "Stopp opptak ved slutten av innslagsområdet"
@@ -11957,148 +12253,160 @@ msgstr "Transponer MIDI"
msgid "Transpose"
msgstr "Transponer"
-#: ui_config.cc:82 ui_config.cc:113
+#: ui_config.cc:95 ui_config.cc:126
msgid "Loading default ui configuration file %1"
msgstr "Lastar standard brukarflatefil %1"
-#: ui_config.cc:85 ui_config.cc:116
+#: ui_config.cc:98 ui_config.cc:129
msgid "cannot read default ui configuration file \"%1\""
msgstr "greier ikkje lesa standardbrukarflatefila \"%1\""
-#: ui_config.cc:90 ui_config.cc:121
+#: ui_config.cc:103 ui_config.cc:134
msgid "default ui configuration file \"%1\" not loaded successfully."
msgstr "standardbrukarflatefila \"%1\" vart ikkje lasta."
-#: ui_config.cc:134
+#: ui_config.cc:147
msgid "Loading user ui configuration file %1"
msgstr "Lastar eigenvald brukarflatefil %1"
-#: ui_config.cc:137
+#: ui_config.cc:150
msgid "cannot read ui configuration file \"%1\""
msgstr "greier ikkje lesa brukarflatefila \"%1\""
-#: ui_config.cc:142
+#: ui_config.cc:155
msgid "user ui configuration file \"%1\" not loaded successfully."
msgstr "den eigenvalde brukarflatefila \"%1\" vart ikkje lasta."
-#: ui_config.cc:150
+#: ui_config.cc:163
msgid "could not find any ui configuration file, canvas will look broken."
msgstr "finn inga grensesnitt-oppsettsfil, lerretet vil verka øydelagt."
-#: ui_config.cc:169
+#: ui_config.cc:182
msgid "Config file %1 not saved"
msgstr "Oppsettsfila %1 vart ikkje lagra"
-#: utils.cc:111 utils.cc:154
+#: utils.cc:117 utils.cc:160
msgid "bad XPM header %1"
msgstr "Feil med XPM-tittellinja %1"
-#: utils.cc:293 utils.cc:325
+#: utils.cc:313 utils.cc:345
msgid "missing RGBA style for \"%1\""
msgstr "manglar RGBA-stil for \"%1\""
-#: utils.cc:598
+#: utils.cc:640
msgid "cannot find XPM file for %1"
msgstr "greier ikkje finna XPM-fil for %1"
-#: utils.cc:624
+#: utils.cc:660 utils.cc:687 utils.cc:698
+msgid "default"
+msgstr ""
+
+#: utils.cc:699
+msgid "icon \"%1\" not found for icon set \"%2\", fallback to default"
+msgstr ""
+
+#: utils.cc:706
msgid "cannot find icon image for %1 using %2"
msgstr "greier ikkje finna ikonbilete for %1 ved bruk av %2"
-#: utils.cc:639
+#: utils.cc:723 utils.cc:739
msgid "Caught exception while loading icon named %1"
msgstr "Fekk unntak når me lasta ikonet %1"
-#: verbose_cursor.cc:45
-msgid "VerboseCanvasCursor"
-msgstr "VerboseCanvasCursor"
-
-#: add_video_dialog.cc:55
+#: add_video_dialog.cc:54
msgid "Set Video Track"
msgstr ""
-#: add_video_dialog.cc:63
+#: add_video_dialog.cc:62
msgid "Launch External Video Monitor"
msgstr ""
-#: add_video_dialog.cc:64
+#: add_video_dialog.cc:63
msgid "Adjust Session Framerate to Match Video Framerate"
msgstr ""
-#: add_video_dialog.cc:66
+#: add_video_dialog.cc:65
msgid "Reload docroot"
msgstr ""
-#: add_video_dialog.cc:111 add_video_dialog.cc:115
-msgid "VideoServerIndex"
-msgstr ""
-
-#: add_video_dialog.cc:129
+#: add_video_dialog.cc:120
msgid "Video files"
msgstr ""
-#: add_video_dialog.cc:164
+#: add_video_dialog.cc:149
msgid "<b>Video Information</b>"
msgstr ""
-#: add_video_dialog.cc:167
+#: add_video_dialog.cc:152
msgid "Start:"
msgstr ""
-#: add_video_dialog.cc:173
+#: add_video_dialog.cc:158
msgid "Frame rate:"
msgstr ""
-#: add_video_dialog.cc:176
+#: add_video_dialog.cc:161
msgid "Aspect Ratio:"
msgstr ""
-#: add_video_dialog.cc:654
-msgid " %1 fps"
+#: add_video_dialog.cc:244
+msgid "VideoServerIndex"
msgstr ""
-#: editor_videotimeline.cc:146
-msgid "Export Successful: %1"
+#: add_video_dialog.cc:670
+msgid " %1 fps"
msgstr ""
-#: video_timeline.cc:469
+#: video_timeline.cc:473
msgid ""
"Parsing video file info failed. Is the Video Server running? Is the file "
"readable by the Video Server? Does the docroot match? Is it a video file?"
msgstr ""
-#: video_timeline.cc:507
+#: video_timeline.cc:511
msgid ""
"Failed to set session-framerate: '%1' does not have a corresponding option "
"setting in %2."
msgstr ""
-#: video_timeline.cc:515
+#: video_timeline.cc:519
msgid ""
"Video file's framerate is not equal to %1 session timecode's framerate: '%2' "
"vs '%3'"
msgstr ""
-#: video_timeline.cc:588
+#: video_timeline.cc:592
msgid ""
"Video-server docroot mismatch. %1: '%2', video-server: '%3'. This usually "
-"means that the video server was not started by ardour and uses a different "
+"means that the video server was not started by %1 and uses a different "
"document-root."
msgstr ""
-#: video_timeline.cc:737
+#: video_timeline.cc:768
msgid ""
"Video-monitor 'xjadeo' was not found. Please install http://xjadeo.sf.net/ "
"(a custom path to xjadeo can be specified by setting the XJREMOTE "
"environment variable. It should point to an application compatible with "
-"xjadeo's remote-control interface 'xjremote')."
+"xjadeo's remote-control interface 'xjremote').\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
+msgstr ""
+
+#: video_timeline.cc:782
+msgid "Video-monitor 'xjadeo' cannot be launched."
+msgstr ""
+
+#: video_timeline.cc:809
+msgid ""
+"Video-monitor 'xjadeo' is too old. Please install xjadeo version 0.7.7 or "
+"later. http://xjadeo.sf.net/"
msgstr ""
-#: video_monitor.cc:281
+#: video_monitor.cc:285
msgid "Video Monitor: File Not Found."
msgstr ""
-#: transcode_ffmpeg.cc:73
+#: transcode_ffmpeg.cc:126
msgid ""
"No ffprobe or ffmpeg executables could be found on this system.\n"
"Video import and export is not possible until you install those tools.\n"
@@ -12112,168 +12420,181 @@ msgid ""
"If you already have a suitable ffmpeg installation on your system, we "
"recommend creating symbolic links from ffmpeg to ffmpeg_harvid and from "
"ffprobe to ffprobe_harvid.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: transcode_video_dialog.cc:55
+#: transcode_video_dialog.cc:56
msgid "Transcode/Import Video File "
msgstr ""
-#: transcode_video_dialog.cc:57
+#: transcode_video_dialog.cc:58
msgid "Output File:"
msgstr ""
-#: transcode_video_dialog.cc:60 export_video_dialog.cc:72
+#: transcode_video_dialog.cc:61 export_video_dialog.cc:73
msgid "Abort"
msgstr ""
-#: transcode_video_dialog.cc:62
+#: transcode_video_dialog.cc:63
msgid "Height = "
msgstr ""
-#: transcode_video_dialog.cc:65
+#: transcode_video_dialog.cc:66
msgid "Manual Override"
msgstr ""
-#: transcode_video_dialog.cc:69 export_video_dialog.cc:88
+#: transcode_video_dialog.cc:70 export_video_dialog.cc:89
msgid "Debug Mode: Print ffmpeg command and output to stdout."
msgstr ""
-#: transcode_video_dialog.cc:106
+#: transcode_video_dialog.cc:107
msgid "<b>File Information</b>"
msgstr ""
-#: transcode_video_dialog.cc:112
+#: transcode_video_dialog.cc:113
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Import "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: transcode_video_dialog.cc:119
+#: transcode_video_dialog.cc:120
msgid ""
"File-info can not be read. Most likely '%1' is not a valid video-file or an "
"unsupported video codec or format."
msgstr ""
-#: transcode_video_dialog.cc:133
+#: transcode_video_dialog.cc:134
msgid "FPS:"
msgstr ""
-#: transcode_video_dialog.cc:135
+#: transcode_video_dialog.cc:136
msgid "Duration:"
msgstr ""
-#: transcode_video_dialog.cc:137
+#: transcode_video_dialog.cc:138
msgid "Codec:"
msgstr ""
-#: transcode_video_dialog.cc:139
+#: transcode_video_dialog.cc:140
msgid "Geometry:"
msgstr ""
-#: transcode_video_dialog.cc:154
+#: transcode_video_dialog.cc:155
msgid "??"
msgstr ""
-#: transcode_video_dialog.cc:175
+#: transcode_video_dialog.cc:176
msgid "<b>Import Settings</b>"
msgstr ""
-#: transcode_video_dialog.cc:180
-msgid "Do Not Import Video"
-msgstr ""
-
#: transcode_video_dialog.cc:181
-msgid "Reference From Current Location"
+msgid "Reference From Current Location (Previously Transcoded Files Only)"
msgstr ""
#: transcode_video_dialog.cc:183
msgid "Import/Transcode Video to Session"
msgstr ""
-#: transcode_video_dialog.cc:197
+#: transcode_video_dialog.cc:191
+msgid "Do Not Import Video (Audio Import Only)"
+msgstr ""
+
+#: transcode_video_dialog.cc:200
msgid "Scale Video: Width = "
msgstr ""
-#: transcode_video_dialog.cc:204
+#: transcode_video_dialog.cc:207
msgid "Original Width"
msgstr ""
-#: transcode_video_dialog.cc:219
+#: transcode_video_dialog.cc:222
msgid "Bitrate (KBit/s):"
msgstr ""
-#: transcode_video_dialog.cc:224
+#: transcode_video_dialog.cc:227
msgid "Extract Audio:"
msgstr ""
-#: transcode_video_dialog.cc:344
+#: transcode_video_dialog.cc:232
+msgid "No Audio Track Present"
+msgstr ""
+
+#: transcode_video_dialog.cc:235
+msgid "Do Not Extract Audio"
+msgstr ""
+
+#: transcode_video_dialog.cc:350
msgid "Extracting Audio.."
msgstr ""
-#: transcode_video_dialog.cc:347
+#: transcode_video_dialog.cc:353
msgid "Audio Extraction Failed."
msgstr ""
-#: transcode_video_dialog.cc:373
+#: transcode_video_dialog.cc:379
msgid "Transcoding Video.."
msgstr ""
-#: transcode_video_dialog.cc:407
+#: transcode_video_dialog.cc:413
msgid "Transcoding Failed."
msgstr ""
-#: transcode_video_dialog.cc:490
+#: transcode_video_dialog.cc:503
msgid "Save Transcoded Video File"
msgstr ""
-#: video_server_dialog.cc:43
+#: video_server_dialog.cc:57
msgid "Launch Video Server"
msgstr ""
-#: video_server_dialog.cc:44
+#: video_server_dialog.cc:58
msgid "Server Executable:"
msgstr ""
-#: video_server_dialog.cc:46
+#: video_server_dialog.cc:60
msgid "Server Docroot:"
msgstr ""
-#: video_server_dialog.cc:52
+#: video_server_dialog.cc:66
msgid "Don't show this dialog again. (Reset in Edit->Preferences)."
msgstr ""
-#: video_server_dialog.cc:92
+#: video_server_dialog.cc:126
msgid ""
-"The external video server 'harvid' can not be found. The tool is included "
-"with the %1 releases from ardour.org, alternatively you can download it from "
-"http://x42.github.com/harvid/ or acquire it from your distribution."
+"The external video server 'harvid' can not be found.\n"
+"The tool is included with the %1 releases from ardour.org, alternatively you "
+"can download it from http://x42.github.com/harvid/ or acquire it from your "
+"distribution.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: video_server_dialog.cc:120
+#: video_server_dialog.cc:159
msgid "Listen Address:"
msgstr ""
-#: video_server_dialog.cc:125
+#: video_server_dialog.cc:164
msgid "Listen Port:"
msgstr ""
-#: video_server_dialog.cc:130
+#: video_server_dialog.cc:169
msgid "Cache Size:"
msgstr ""
-#: video_server_dialog.cc:136
+#: video_server_dialog.cc:175
msgid ""
"%1 relies on an external video server for the videotimeline.\n"
"The server configured in Edit -> Preferences -> Video is not reachable.\n"
"Do you want %1 to launch 'harvid' on this machine?"
msgstr ""
-#: video_server_dialog.cc:176
+#: video_server_dialog.cc:215
msgid "Set Video Server Executable"
msgstr ""
-#: video_server_dialog.cc:196
+#: video_server_dialog.cc:235
msgid "Server docroot"
msgstr ""
@@ -12303,184 +12624,184 @@ msgstr ""
msgid "Cannot create video folder \"%1\" (%2)"
msgstr ""
-#: export_video_dialog.cc:65
+#: export_video_dialog.cc:66
msgid "Export Video File "
msgstr ""
-#: export_video_dialog.cc:69
+#: export_video_dialog.cc:70
msgid "Video:"
msgstr ""
-#: export_video_dialog.cc:73
+#: export_video_dialog.cc:74
msgid "Scale Video (W x H):"
msgstr ""
-#: export_video_dialog.cc:78
+#: export_video_dialog.cc:79
msgid "Set Aspect Ratio:"
msgstr ""
-#: export_video_dialog.cc:79
+#: export_video_dialog.cc:80
msgid "Normalize Audio"
msgstr ""
-#: export_video_dialog.cc:80
+#: export_video_dialog.cc:81
msgid "2 Pass Encoding"
msgstr ""
-#: export_video_dialog.cc:81
+#: export_video_dialog.cc:82
msgid "Codec Optimizations:"
msgstr ""
-#: export_video_dialog.cc:83
+#: export_video_dialog.cc:84
msgid "Deinterlace"
msgstr ""
-#: export_video_dialog.cc:84
+#: export_video_dialog.cc:85
msgid "Use [2] B-frames (MPEG 2 or 4 only)"
msgstr ""
-#: export_video_dialog.cc:85
+#: export_video_dialog.cc:86
msgid "Override FPS (Default is to retain FPS from the input video file):"
msgstr ""
-#: export_video_dialog.cc:86
+#: export_video_dialog.cc:87
msgid "Include Session Metadata"
msgstr ""
-#: export_video_dialog.cc:106
+#: export_video_dialog.cc:107
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Export "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: export_video_dialog.cc:116
+#: export_video_dialog.cc:117
msgid "<b>Output:</b>"
msgstr ""
-#: export_video_dialog.cc:126
+#: export_video_dialog.cc:127
msgid "<b>Input:</b>"
msgstr ""
-#: export_video_dialog.cc:137
+#: export_video_dialog.cc:138
msgid "Audio:"
msgstr ""
-#: export_video_dialog.cc:139
+#: export_video_dialog.cc:140
msgid "Master Bus"
msgstr ""
-#: export_video_dialog.cc:144
+#: export_video_dialog.cc:145
msgid "from the %1 session's start to the session's end"
msgstr ""
-#: export_video_dialog.cc:148
+#: export_video_dialog.cc:149
msgid "from 00:00:00:00 to the video's end"
msgstr ""
-#: export_video_dialog.cc:150
+#: export_video_dialog.cc:151
msgid "from the video's start to the video's end"
msgstr ""
-#: export_video_dialog.cc:153
+#: export_video_dialog.cc:154
msgid "Selected range"
msgstr ""
-#: export_video_dialog.cc:193
+#: export_video_dialog.cc:194
msgid "<b>Settings:</b>"
msgstr ""
-#: export_video_dialog.cc:201
+#: export_video_dialog.cc:202
msgid "Range:"
msgstr ""
-#: export_video_dialog.cc:204
+#: export_video_dialog.cc:205
msgid "Preset:"
msgstr ""
-#: export_video_dialog.cc:207
+#: export_video_dialog.cc:208
msgid "Video Codec:"
msgstr ""
-#: export_video_dialog.cc:210
+#: export_video_dialog.cc:211
msgid "Video KBit/s:"
msgstr ""
-#: export_video_dialog.cc:213
+#: export_video_dialog.cc:214
msgid "Audio Codec:"
msgstr ""
-#: export_video_dialog.cc:216
+#: export_video_dialog.cc:217
msgid "Audio KBit/s:"
msgstr ""
-#: export_video_dialog.cc:219
+#: export_video_dialog.cc:220
msgid "Audio Samplerate:"
msgstr ""
-#: export_video_dialog.cc:395
+#: export_video_dialog.cc:396
msgid "Normalizing audio"
msgstr ""
-#: export_video_dialog.cc:399
+#: export_video_dialog.cc:400
msgid "Exporting audio"
msgstr ""
-#: export_video_dialog.cc:445
+#: export_video_dialog.cc:446
msgid "Exporting Audio..."
msgstr ""
-#: export_video_dialog.cc:502
+#: export_video_dialog.cc:503
msgid ""
"Export Video: Cannot query duration of video-file, using duration from "
"timeline instead."
msgstr ""
-#: export_video_dialog.cc:532
+#: export_video_dialog.cc:533
msgid "Export Video: export-range does not include video."
msgstr ""
-#: export_video_dialog.cc:544
+#: export_video_dialog.cc:545
msgid "Export Video: No Master Out Ports to Connect for Audio Export"
msgstr ""
-#: export_video_dialog.cc:583
+#: export_video_dialog.cc:585
msgid "Encoding Video..."
msgstr ""
-#: export_video_dialog.cc:602
+#: export_video_dialog.cc:604
msgid "Export Video: Video input file cannot be read."
msgstr ""
-#: export_video_dialog.cc:695
+#: export_video_dialog.cc:698
msgid "Encoding Video.. Pass 1/2"
msgstr ""
-#: export_video_dialog.cc:707
+#: export_video_dialog.cc:710
msgid "Encoding Video.. Pass 2/2"
msgstr ""
-#: export_video_dialog.cc:814
+#: export_video_dialog.cc:813
msgid "Transcoding failed."
msgstr ""
-#: export_video_dialog.cc:983 export_video_dialog.cc:1003
+#: export_video_dialog.cc:982 export_video_dialog.cc:1002
msgid "Save Exported Video File"
msgstr ""
-#: export_video_infobox.cc:30
+#: export_video_infobox.cc:33
msgid "Video Export Info"
msgstr ""
-#: export_video_infobox.cc:31
+#: export_video_infobox.cc:34
msgid "Do Not Show This Dialog Again (Reset in Edit > Preferences > Video)."
msgstr ""
-#: export_video_infobox.cc:43
+#: export_video_infobox.cc:46
msgid "<b>Video Export Info</b>"
msgstr ""
-#: export_video_infobox.cc:48
+#: export_video_infobox.cc:51
msgid ""
"Video encoding is a non-trivial task with many details.\n"
"\n"
@@ -12489,6 +12810,315 @@ msgid ""
"Open Manual in Browser? "
msgstr ""
+#~ msgid "badly formatted UI definition file: %1"
+#~ msgstr "Feilformatert grensesnittdefinisjonsfil: %1"
+
+#~ msgid "%1 will not work without a valid ardour.menus file"
+#~ msgstr "%1 verkar ikkje utan ei gyldig ardour.menus-fil"
+
+#~ msgid "audition"
+#~ msgstr "lytting"
+
+#~ msgid "solo"
+#~ msgstr "solo"
+
+#~ msgid "feedback"
+#~ msgstr "feedback"
+
+#~ msgid "Please wait while %1 cleans up..."
+#~ msgstr "Vent medan %1 ryddar opp..."
+
+#~ msgid ""
+#~ "There are insufficient JACK ports available\n"
+#~ "to create a new track or bus.\n"
+#~ "You should save %1, exit and\n"
+#~ "restart JACK with more ports."
+#~ msgstr ""
+#~ "Det er ikkje nok JACK-portar til\n"
+#~ "Ã¥ laga eit nytt spor eller ein ny buss.\n"
+#~ "Du bør lagra %1, avslutta og starta\n"
+#~ "omatt JACK med fleire portar."
+
+#~ msgid "Timecode Frames"
+#~ msgstr "Tidskoderammer"
+
+#~ msgid "Timecode Seconds"
+#~ msgstr "Tidskodesekund"
+
+#~ msgid "Timecode Minutes"
+#~ msgstr "Tidskodeminutt"
+
+#~ msgid ""
+#~ "programming error: fade in canvas item has no regionview data pointer!"
+#~ msgstr ""
+#~ "Programmeringsfeil: Inntoningslerretet har ingen datapeikarar for "
+#~ "bolkvising!"
+
+#~ msgid "Slowest"
+#~ msgstr "Saktast"
+
+#~ msgid "Finish Add Range"
+#~ msgstr "Slutt å leggja til område"
+
+#~ msgid "Toggle Edit Mode"
+#~ msgstr "Slå av/på redigeringsmodus"
+
+#~ msgid "No Selection = All Tracks?"
+#~ msgstr "Ikkje noko val = alle spor?"
+
+#~ msgid ""
+#~ "Activate this button to operate on all tracks when none are selected."
+#~ msgstr "Slå på denne knappen for å operera på alle spor når ingen er valde."
+
+#~ msgid "insert dragged region"
+#~ msgstr "dra inn bolk"
+
+#~ msgid " objects"
+#~ msgstr " objekt"
+
+#~ msgid "Length of region fade-out (units: secondary clock), () if dsisabled"
+#~ msgstr ""
+#~ "Lengd på uttoninga på bolken (eining: sekundærklokke), () viss avskrudd"
+
+#~ msgid "No edit range defined"
+#~ msgstr "Du har ikkje gjeve noko redigeringsområde"
+
+#~ msgid ""
+#~ "the edit point is Selected Marker\n"
+#~ "but there is no selected marker."
+#~ msgstr ""
+#~ "redigeringspunktet er valt markør,\n"
+#~ "men det er ingen valt markør."
+
+#~ msgid "Time span and channel options"
+#~ msgstr "Tidsspenn- og kanaloppsett"
+
+#~ msgid "Lower limit of ruler"
+#~ msgstr "Lægste grense for linjalen"
+
+#~ msgid "Upper"
+#~ msgstr "Øvste"
+
+#~ msgid "Upper limit of ruler"
+#~ msgstr "Øvste grense for linjalen"
+
+#~ msgid "Position of mark on the ruler"
+#~ msgstr "Posisjon for linjalmerke"
+
+#~ msgid "Max Size"
+#~ msgstr "Største storleik"
+
+#~ msgid "Maximum size of the ruler"
+#~ msgstr "Største linjalstorleik"
+
+#~ msgid "Show Position"
+#~ msgstr "Vis posisjon"
+
+#~ msgid "Draw current ruler position"
+#~ msgstr "Teikna den noverande linjalposisjonen"
+
+#~ msgid "cannot open pango.rc file %1"
+#~ msgstr "greier ikkje opna pango.rc-fila %1"
+
+#~ msgid "Missing File!"
+#~ msgstr "Manglar fil!"
+
+#~ msgid "tupni"
+#~ msgstr "gnagnni"
+
+#~ msgid "lock"
+#~ msgstr "lås"
+
+#~ msgid "iso"
+#~ msgstr "iso"
+
+#~ msgid "Meter Point"
+#~ msgstr "Mælepunkt"
+
+#~ msgid ""
+#~ "Aux\n"
+#~ "Sends"
+#~ msgstr ""
+#~ "Aux\n"
+#~ "send"
+
+#~ msgid "in"
+#~ msgstr "inn"
+
+#~ msgid "post"
+#~ msgstr "etter"
+
+#~ msgid "out"
+#~ msgstr "ut"
+
+#~ msgid "custom"
+#~ msgstr "eigen"
+
+#~ msgid "pr"
+#~ msgstr "fø"
+
+#~ msgid "po"
+#~ msgstr "et"
+
+#~ msgid "Pre-fader"
+#~ msgstr "Før volumkontroll"
+
+#~ msgid "Post-fader"
+#~ msgstr "Etter volumkontroll"
+
+#~ msgid "soloing"
+#~ msgstr "soloing"
+
+#~ msgid "isolated"
+#~ msgstr "isolert"
+
+#~ msgid "auditioning"
+#~ msgstr "lytting"
+
+#~ msgid "excl. solo"
+#~ msgstr "eksklusiv solo"
+
+#~ msgid "solo » mute"
+#~ msgstr "Solo » demp"
+
+#~ msgid "mute"
+#~ msgstr "demp"
+
+#~ msgid "dim"
+#~ msgstr "dim"
+
+#~ msgid "mono"
+#~ msgstr "mono"
+
+#~ msgid "send LTC while stopped"
+#~ msgstr "send LTC når stoppa"
+
+#~ msgid "Link selection of regions and tracks"
+#~ msgstr "Lenk valet av bolkar og spor"
+
+#~ msgid ""
+#~ "A route group of this name already exists. Please use a different name."
+#~ msgstr "Det finst alt ei rutegruppe med det namnet. Vel eit anna namn."
+
+#~ msgid "g"
+#~ msgstr "g"
+
+#~ msgid "p"
+#~ msgstr "p"
+
+#~ msgid "a"
+#~ msgstr "a"
+
+#~ msgid "s"
+#~ msgstr "s"
+
+#~ msgid "m"
+#~ msgstr "d"
+
+#~ msgid "Not connected to JACK - cannot engage record"
+#~ msgstr "Ikkje tilkopla JACK - kan ikkje gjera klar til opptak"
+
+#~ msgid "Default crossfade type"
+#~ msgstr "Standard overtoningstype"
+
+#~ msgid "Constant power (-3dB) crossfade"
+#~ msgstr "Konstant kraft-krysstoning (-3dB)"
+
+#~ msgid "Linear (-6dB) crossfade"
+#~ msgstr "Lineær (-6dB) krysstoning"
+
+#~ msgid "VerboseCanvasCursor"
+#~ msgstr "VerboseCanvasCursor"
+
+#~ msgid "ardour"
+#~ msgstr "ardour"
+
+#~ msgid "x1"
+#~ msgstr "x1"
+
+#~ msgid "x coordinate of upper left corner of rect"
+#~ msgstr "x-koordinaten for det øvste venstre hjørnet av rektanglet"
+
+#~ msgid "y1"
+#~ msgstr "y1"
+
+#~ msgid "y coordinate of upper left corner of rect "
+#~ msgstr "y-koordinaten for det øvste venstre hjørnet av rektanglet"
+
+#~ msgid "x2"
+#~ msgstr "x2"
+
+#~ msgid "x coordinate of lower right corner of rect"
+#~ msgstr "x-koordinaten for det nedste høgre hjørnet til rektanglet"
+
+#~ msgid "y2"
+#~ msgstr "y2"
+
+#~ msgid "y coordinate of lower right corner of rect "
+#~ msgstr "y-koordinaten for det nedste høgre hjørnet til rektanglet"
+
+#~ msgid "color rgba"
+#~ msgstr "RGBA-farge"
+
+#~ msgid "color of line"
+#~ msgstr "linjefarge"
+
+#~ msgid "outline pixels"
+#~ msgstr "kantpunkt"
+
+#~ msgid "width in pixels of outline"
+#~ msgstr "punktbreidd for kanten"
+
+#~ msgid "outline what"
+#~ msgstr "teikne kantpunkt for"
+
+#~ msgid "which boundaries to outline (mask)"
+#~ msgstr "kva grenser som skal kantast (maske)"
+
+#~ msgid "fill"
+#~ msgstr "fyll"
+
+#~ msgid "fill rectangle"
+#~ msgstr "fyll rektangel"
+
+#~ msgid "draw"
+#~ msgstr "teikne"
+
+#~ msgid "draw rectangle"
+#~ msgstr "teikne rektangel"
+
+#~ msgid "outline color rgba"
+#~ msgstr "RGBA-kantfarge"
+
+#~ msgid "color of outline"
+#~ msgstr "kantfarge"
+
+#~ msgid "fill color rgba"
+#~ msgstr "RGBA-fyllfarge"
+
+#~ msgid "color of fill"
+#~ msgstr "fyllfarge"
+
+#~ msgid "malformed URL passed to drag-n-drop code"
+#~ msgstr "feilforma adresse sendt til dra-og-slepp-koden"
+
+#~ msgid "Editor::event_frame() used on unhandled event type %1"
+#~ msgstr "Redigering: event_frame() brukt på uhandtert handlingstype %1"
+
+#~ msgid "delete sysex"
+#~ msgstr "slett sysex"
+
+#~ msgid ""
+#~ "No panner user interface is currently available for %1-in/2out tracks/"
+#~ "busses"
+#~ msgstr "Det finst inga panoreringsflate for spor/bussar med %1 inn/ 2 ut"
+
+#~ msgid "Auditioning of MIDI files is not yet supported"
+#~ msgstr "Me har ikkje gjort klart for å lytta på MIDI-filer enno"
+
+#~ msgid "Draw waveforms with color gradient"
+#~ msgstr "Teikna bylgjeformer med fargeovergangar"
+
#~ msgid "Starting audio engine"
#~ msgstr "Startar lydmaskin"
@@ -12666,9 +13296,6 @@ msgstr ""
#~ msgid "Output device:"
#~ msgstr "Uteining:"
-#~ msgid "Device"
-#~ msgstr "Eining"
-
#~ msgid "Advanced"
#~ msgstr "Avansert"
diff --git a/gtk2_ardour/po/pl.po b/gtk2_ardour/po/pl.po
index 4ea4791d91..78381ef4d0 100644
--- a/gtk2_ardour/po/pl.po
+++ b/gtk2_ardour/po/pl.po
@@ -3,11 +3,12 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Piotr Zaryk <pzaryk@gmail.com>, 2008.
+#: engine_dialog.cc:558
msgid ""
msgstr ""
"Project-Id-Version: gtk2_ardour\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-11-05 11:11-0500\n"
+"POT-Creation-Date: 2014-09-04 19:07-0400\n"
"PO-Revision-Date: 2008-04-10 10:47+0100\n"
"Last-Translator: Piotr Zaryk <pzaryk@gmail.com>\n"
"Language-Team: Polish <pzaryk@gmail.com>\n"
@@ -20,231 +21,235 @@ msgstr ""
"X-Poedit-Language: Polish\n"
"X-Poedit-Country: POLAND\n"
-#: about.cc:122
+#: about.cc:120
msgid "Brian Ahr"
msgstr "Brian Ahr"
-#: about.cc:123
+#: about.cc:121
msgid "John Anderson"
msgstr "John Anderson"
-#: about.cc:124
+#: about.cc:122
msgid "Marcus Andersson"
msgstr "Marcus Andersson"
-#: about.cc:125
+#: about.cc:123
msgid "Nedko Arnaudov"
msgstr "Nedko Arnaudov"
-#: about.cc:126
+#: about.cc:124
msgid "Hans Baier"
msgstr ""
-#: about.cc:127
+#: about.cc:125
msgid "Ben Bell"
msgstr "Ben Bell"
-#: about.cc:128
+#: about.cc:126
msgid "Sakari Bergen"
msgstr ""
-#: about.cc:129
+#: about.cc:127
+msgid "Christian Borss"
+msgstr ""
+
+#: about.cc:128
msgid "Chris Cannam"
msgstr ""
-#: about.cc:130
+#: about.cc:129
msgid "Jesse Chappell"
msgstr "Jesse Chappell"
-#: about.cc:131
+#: about.cc:130
msgid "Thomas Charbonnel"
msgstr "Thomas Charbonnel"
-#: about.cc:132
+#: about.cc:131
msgid "Sam Chessman"
msgstr "Sam Chessman"
-#: about.cc:133
+#: about.cc:132
msgid "André Colomb"
msgstr ""
-#: about.cc:134
+#: about.cc:133
msgid "Paul Davis"
msgstr "Paul Davis"
-#: about.cc:135
+#: about.cc:134
msgid "Gerard van Dongen"
msgstr "Gerard van Dongen"
-#: about.cc:136
+#: about.cc:135
msgid "Colin Fletcher"
msgstr "Colin Fletcher"
-#: about.cc:137
+#: about.cc:136
msgid "Dave Flick"
msgstr ""
-#: about.cc:138
+#: about.cc:137
msgid "Hans Fugal"
msgstr "Hans Fugal"
-#: about.cc:139
+#: about.cc:138
msgid "Robin Gareus"
msgstr ""
-#: about.cc:140
+#: about.cc:139
msgid "Christopher George"
msgstr "Christopher George"
-#: about.cc:141
+#: about.cc:140
msgid "Chris Goddard"
msgstr ""
-#: about.cc:142
+#: about.cc:141
msgid "J. Abelardo Gutierrez"
msgstr ""
-#: about.cc:143
+#: about.cc:142
msgid "Jeremy Hall"
msgstr "Jeremy Hall"
-#: about.cc:144
+#: about.cc:143
msgid "Audun Halland"
msgstr "Audun Halland"
-#: about.cc:145
+#: about.cc:144
msgid "David Halter"
msgstr ""
-#: about.cc:146
+#: about.cc:145
msgid "Steve Harris"
msgstr "Steve Harris"
-#: about.cc:147
+#: about.cc:146
msgid "Melvin Ray Herr"
msgstr ""
-#: about.cc:148
+#: about.cc:147
msgid "Carl Hetherington"
msgstr "Carl Hetherington"
-#: about.cc:149
+#: about.cc:148
msgid "Rob Holland"
msgstr "Rob Holland"
-#: about.cc:150
+#: about.cc:149
msgid "Robert Jordens"
msgstr "Robert Jordens"
-#: about.cc:151
+#: about.cc:150
msgid "Stefan Kersten"
msgstr "Stefan Kersten"
-#: about.cc:152
+#: about.cc:151
msgid "Armand Klenk"
msgstr "Armand Klenk"
-#: about.cc:153
+#: about.cc:152
msgid "Julien de Kozak"
msgstr ""
-#: about.cc:154
+#: about.cc:153
msgid "Matt Krai"
msgstr "Matt Krai"
-#: about.cc:155
+#: about.cc:154
msgid "Nick Lanham"
msgstr ""
-#: about.cc:156
+#: about.cc:155
msgid "Colin Law"
msgstr "Colin Law"
-#: about.cc:157
+#: about.cc:156
msgid "Joshua Leach"
msgstr "Joshua Leach"
-#: about.cc:158
+#: about.cc:157
msgid "Ben Loftis"
msgstr "Ben Loftis"
-#: about.cc:159
+#: about.cc:158
msgid "Nick Mainsbridge"
msgstr "Nick Mainsbridge"
-#: about.cc:160
+#: about.cc:159
msgid "Tim Mayberry"
msgstr "Tim Mayberry"
-#: about.cc:161
+#: about.cc:160
msgid "Doug Mclain"
msgstr "Doug Mclain"
-#: about.cc:162
+#: about.cc:161
msgid "Jack O'Quin"
msgstr "Jack O'Quin"
-#: about.cc:163
+#: about.cc:162
msgid "Nimal Ratnayake"
msgstr "Nimal Ratnayake"
-#: about.cc:164
+#: about.cc:163
msgid "David Robillard"
msgstr "David Robillard"
-#: about.cc:165
+#: about.cc:164
msgid "Taybin Rutkin"
msgstr "Taybin Rutkin"
-#: about.cc:166
+#: about.cc:165
msgid "Andreas Ruge"
msgstr ""
-#: about.cc:167
+#: about.cc:166
msgid "Sampo Savolainen"
msgstr "Sampo Savolainen"
-#: about.cc:168
+#: about.cc:167
msgid "Rodrigo Severo"
msgstr ""
-#: about.cc:169
+#: about.cc:168
msgid "Per Sigmond"
msgstr "Per Sigmond"
-#: about.cc:170
+#: about.cc:169
msgid "Lincoln Spiteri"
msgstr ""
-#: about.cc:171
+#: about.cc:170
msgid "Mike Start"
msgstr ""
-#: about.cc:172
+#: about.cc:171
msgid "Mark Stewart"
msgstr "Mark Stewart"
-#: about.cc:173
+#: about.cc:172
msgid "Roland Stigge"
msgstr "Roland Stigge"
-#: about.cc:174
+#: about.cc:173
msgid "Petter Sundlöf"
msgstr "Petter Sundlöf"
-#: about.cc:175
+#: about.cc:174
msgid "Mike Täht"
msgstr "Mike Täht"
-#: about.cc:176
+#: about.cc:175
msgid "Roy Vegard"
msgstr ""
-#: about.cc:177
+#: about.cc:176
msgid "Thorsten Wilms"
msgstr "Thorsten Wilms"
-#: about.cc:182
+#: about.cc:181
msgid ""
"French:\n"
"\tAlain Fréhel <alain.frehel@free.fr>\n"
@@ -253,7 +258,7 @@ msgid ""
"\tRomain Arnaud <roming22@gmail.com>\n"
msgstr ""
-#: about.cc:183
+#: about.cc:182
msgid ""
"German:\n"
"\tKarsten Petersen <kapet@kapet.de>\n"
@@ -265,14 +270,14 @@ msgid ""
"\tRobin Gloster <robin@loc-com.de>\n"
msgstr ""
-#: about.cc:190
+#: about.cc:189
msgid ""
"Italian:\n"
"\tFilippo Pappalardo <filippo@email.it>\n"
"\tRaffaele Morelli <raffaele.morelli@gmail.com>\n"
msgstr ""
-#: about.cc:191
+#: about.cc:190
msgid ""
"Portuguese:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
@@ -280,7 +285,7 @@ msgstr ""
"Portuguese:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
-#: about.cc:192
+#: about.cc:191
msgid ""
"Brazilian Portuguese:\n"
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
@@ -290,21 +295,21 @@ msgstr ""
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
"\tChris Ross <chris@tebibyte.org>\n"
-#: about.cc:194
+#: about.cc:193
msgid ""
"Spanish:\n"
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
"\tPablo Fernández <pablo.fbus@gmail.com>\n"
msgstr ""
-#: about.cc:195
+#: about.cc:194
msgid ""
"Russian:\n"
"\t Igor Blinov <pitstop@nm.ru>\n"
"\tAlexandre Prokoudine <alexandre.prokoudine@gmail.com>\n"
msgstr ""
-#: about.cc:197
+#: about.cc:196
msgid ""
"Greek:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
@@ -312,45 +317,45 @@ msgstr ""
"Greek:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
-#: about.cc:198
+#: about.cc:197
msgid ""
"Swedish:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
msgstr ""
-#: about.cc:199
+#: about.cc:198
msgid ""
"Polish:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
msgstr ""
-#: about.cc:200
+#: about.cc:199
msgid ""
"Czech:\n"
"\t Pavel Fric <pavelfric@seznam.cz>\n"
msgstr ""
-#: about.cc:201
+#: about.cc:200
msgid ""
"Norwegian:\n"
"\t Eivind Ødegård\n"
msgstr ""
-#: about.cc:202
+#: about.cc:201
msgid ""
"Chinese:\n"
"\t Rui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
msgstr ""
-#: about.cc:580
+#: about.cc:581
msgid "Copyright (C) 1999-2013 Paul Davis\n"
msgstr ""
-#: about.cc:584
+#: about.cc:585
msgid "http://ardour.org/"
msgstr ""
-#: about.cc:585
+#: about.cc:586
msgid ""
"%1\n"
"(built from revision %2)"
@@ -358,105 +363,106 @@ msgstr ""
"%1\n"
"(revision %2)"
-#: about.cc:589
+#: about.cc:590
msgid "Config"
msgstr ""
-#: actions.cc:85
+#: actions.cc:84
msgid "Loading menus from %1"
msgstr ""
-#: actions.cc:88 actions.cc:89
-msgid "badly formatted UI definition file: %1"
-msgstr "niepoprawnie sformatowany plik definicji interfejsu użytkownika: %1"
+#: actions.cc:87 actions.cc:88
+msgid "badly formatted menu definition file: %1"
+msgstr ""
-#: actions.cc:91
+#: actions.cc:90
msgid "%1 menu definition file not found"
msgstr ""
-#: actions.cc:95 actions.cc:96
-msgid "%1 will not work without a valid ardour.menus file"
+#: actions.cc:94 actions.cc:95
+msgid "%1 will not work without a valid menu definition file"
msgstr ""
-#: add_route_dialog.cc:53 route_params_ui.cc:500
+#: add_route_dialog.cc:54 route_params_ui.cc:523
msgid "Add Track or Bus"
msgstr ""
-#: add_route_dialog.cc:56
+#: add_route_dialog.cc:57
msgid "Configuration:"
msgstr ""
-#: add_route_dialog.cc:57
+#: add_route_dialog.cc:58
msgid "Track mode:"
msgstr ""
-#: add_route_dialog.cc:58
+#: add_route_dialog.cc:59
msgid "Instrument:"
msgstr ""
-#: add_route_dialog.cc:76
+#: add_route_dialog.cc:78
msgid "Audio Tracks"
msgstr ""
-#: add_route_dialog.cc:77
+#: add_route_dialog.cc:79
msgid "MIDI Tracks"
msgstr ""
-#: add_route_dialog.cc:78
+#: add_route_dialog.cc:80
msgid "Audio+MIDI Tracks"
msgstr ""
-#: add_route_dialog.cc:79
+#: add_route_dialog.cc:81
msgid "Busses"
msgstr ""
-#: add_route_dialog.cc:101
+#: add_route_dialog.cc:103
msgid "Add:"
msgstr ""
-#: add_route_dialog.cc:114 time_fx_dialog.cc:91 add_video_dialog.cc:150
-#: video_server_dialog.cc:112
+#: add_route_dialog.cc:116 time_fx_dialog.cc:91 add_video_dialog.cc:135
+#: video_server_dialog.cc:151
msgid "<b>Options</b>"
msgstr ""
-#: add_route_dialog.cc:124 bundle_manager.cc:192 region_editor.cc:50
-#: route_group_dialog.cc:65
+#: add_route_dialog.cc:126 bundle_manager.cc:193 region_editor.cc:49
+#: route_group_dialog.cc:71
msgid "Name:"
msgstr ""
-#: add_route_dialog.cc:154
+#: add_route_dialog.cc:156
msgid "Group:"
msgstr ""
-#: add_route_dialog.cc:215 add_route_dialog.cc:224 add_route_dialog.cc:298
-#: ardour_ui_ed.cc:476 engine_dialog.cc:236 rc_option_editor.cc:1446
-#: rc_option_editor.cc:1448 rc_option_editor.cc:1450 rc_option_editor.cc:1466
-#: rc_option_editor.cc:1468 rc_option_editor.cc:1476 rc_option_editor.cc:1478
-#: rc_option_editor.cc:1496 rc_option_editor.cc:1509 rc_option_editor.cc:1511
-#: rc_option_editor.cc:1513 rc_option_editor.cc:1544 rc_option_editor.cc:1546
-#: rc_option_editor.cc:1548 rc_option_editor.cc:1556 rc_option_editor.cc:1564
-#: rc_option_editor.cc:1572
+#: add_route_dialog.cc:217 add_route_dialog.cc:226 add_route_dialog.cc:300
+#: ardour_ui_ed.cc:523 engine_dialog.cc:235 rc_option_editor.cc:1710
+#: rc_option_editor.cc:1712 rc_option_editor.cc:1714 rc_option_editor.cc:1732
+#: rc_option_editor.cc:1734 rc_option_editor.cc:1742 rc_option_editor.cc:1744
+#: rc_option_editor.cc:1762 rc_option_editor.cc:1775 rc_option_editor.cc:1777
+#: rc_option_editor.cc:1779 rc_option_editor.cc:1810 rc_option_editor.cc:1812
+#: rc_option_editor.cc:1814 rc_option_editor.cc:1822 rc_option_editor.cc:1830
+#: rc_option_editor.cc:1832 rc_option_editor.cc:1840
msgid "Audio"
msgstr ""
-#: add_route_dialog.cc:216 add_route_dialog.cc:227 add_route_dialog.cc:299
-#: editor_actions.cc:105 missing_file_dialog.cc:55 rc_option_editor.cc:1695
-#: rc_option_editor.cc:1703 rc_option_editor.cc:1711 rc_option_editor.cc:1720
-#: rc_option_editor.cc:1728 rc_option_editor.cc:1736 rc_option_editor.cc:1744
-#: rc_option_editor.cc:1753 rc_option_editor.cc:1762 rc_option_editor.cc:1771
-#: rc_option_editor.cc:1779 rc_option_editor.cc:1787
+#: add_route_dialog.cc:218 add_route_dialog.cc:229 add_route_dialog.cc:301
+#: editor_actions.cc:109 engine_dialog.cc:237 missing_file_dialog.cc:56
+#: rc_option_editor.cc:1975 rc_option_editor.cc:1983 rc_option_editor.cc:1991
+#: rc_option_editor.cc:2000 rc_option_editor.cc:2008 rc_option_editor.cc:2016
+#: rc_option_editor.cc:2024 rc_option_editor.cc:2033 rc_option_editor.cc:2042
+#: rc_option_editor.cc:2051 rc_option_editor.cc:2059 rc_option_editor.cc:2067
+#: rc_option_editor.cc:2075 rc_option_editor.cc:2098
msgid "MIDI"
msgstr "MIDI"
-#: add_route_dialog.cc:217 add_route_dialog.cc:230 add_route_dialog.cc:300
+#: add_route_dialog.cc:219 add_route_dialog.cc:232 add_route_dialog.cc:302
msgid "Audio+MIDI"
msgstr ""
-#: add_route_dialog.cc:218 add_route_dialog.cc:233 add_route_dialog.cc:301
+#: add_route_dialog.cc:220 add_route_dialog.cc:235 add_route_dialog.cc:303
msgid "Bus"
msgstr ""
-#: add_route_dialog.cc:260
+#: add_route_dialog.cc:262
msgid ""
"Audio+MIDI tracks are intended for use <b>ONLY</b> with plugins that use "
"both audio and MIDI input data\n"
@@ -465,64 +471,64 @@ msgid ""
"track instead."
msgstr ""
-#: add_route_dialog.cc:319 add_route_dialog.cc:338 editor_actions.cc:385
-#: editor_rulers.cc:377 time_axis_view.cc:1305
+#: add_route_dialog.cc:321 add_route_dialog.cc:340 editor_actions.cc:420
+#: editor_rulers.cc:251 time_axis_view.cc:1339
msgid "Normal"
msgstr "Normalny"
-#: add_route_dialog.cc:322 add_route_dialog.cc:340
+#: add_route_dialog.cc:324 add_route_dialog.cc:342
msgid "Non Layered"
msgstr ""
-#: add_route_dialog.cc:323 add_route_dialog.cc:342
+#: add_route_dialog.cc:325 add_route_dialog.cc:344
msgid "Tape"
msgstr "Taśma"
-#: add_route_dialog.cc:423
+#: add_route_dialog.cc:425 monitor_section.cc:291
msgid "Mono"
msgstr "Mono"
-#: add_route_dialog.cc:427
+#: add_route_dialog.cc:429
msgid "Stereo"
msgstr "Stereo"
-#: add_route_dialog.cc:451
+#: add_route_dialog.cc:453
msgid "3 Channel"
msgstr ""
-#: add_route_dialog.cc:455
+#: add_route_dialog.cc:457
msgid "4 Channel"
msgstr ""
-#: add_route_dialog.cc:459
+#: add_route_dialog.cc:461
msgid "5 Channel"
msgstr ""
-#: add_route_dialog.cc:463
+#: add_route_dialog.cc:465
msgid "6 Channel"
msgstr ""
-#: add_route_dialog.cc:467
+#: add_route_dialog.cc:469
msgid "8 Channel"
msgstr ""
-#: add_route_dialog.cc:471
+#: add_route_dialog.cc:473
msgid "12 Channel"
msgstr ""
-#: add_route_dialog.cc:475 mixer_strip.cc:2131
+#: add_route_dialog.cc:477 mixer_strip.cc:1791 mixer_strip.cc:2199
msgid "Custom"
msgstr ""
-#: add_route_dialog.cc:508 add_route_dialog.cc:524 route_group_menu.cc:81
+#: add_route_dialog.cc:510 add_route_dialog.cc:526 route_group_menu.cc:81
msgid "New Group..."
msgstr ""
-#: add_route_dialog.cc:512 route_group_menu.cc:85
+#: add_route_dialog.cc:514 route_group_menu.cc:85
msgid "No Group"
msgstr ""
-#: add_route_dialog.cc:588
+#: add_route_dialog.cc:590
msgid "-none-"
msgstr ""
@@ -543,7 +549,7 @@ msgid ""
"Please select the path that you want to get the file from."
msgstr ""
-#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:45
+#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:46
msgid "Done"
msgstr ""
@@ -583,17 +589,17 @@ msgstr "Normalizacja wartości"
msgid "FFT analysis window"
msgstr "Okno analizy FFT"
-#: analysis_window.cc:60 editor.cc:1857
+#: analysis_window.cc:60 editor.cc:1776
msgid "Spectral Analysis"
msgstr "Analiza spektrum"
-#: analysis_window.cc:67 editor_actions.cc:138 export_channel_selector.cc:557
+#: analysis_window.cc:67 editor_actions.cc:142 export_channel_selector.cc:557
#: session_metadata_dialog.cc:546
msgid "Track"
msgstr "Ścieżka"
-#: analysis_window.cc:68 editor_actions.cc:616 mixer_ui.cc:125
-#: mixer_ui.cc:1795
+#: analysis_window.cc:68 editor_actions.cc:658 mixer_ui.cc:130
+#: mixer_ui.cc:1830
msgid "Show"
msgstr "Wyświetl"
@@ -601,90 +607,96 @@ msgstr "Wyświetl"
msgid "Re-analyze data"
msgstr "Analizuj ponownie"
-#: ardour_button.cc:704
+#: ardour_button.cc:810
msgid "button cannot watch state of non-existing Controllable\n"
msgstr ""
-#: ardour_ui.cc:180
-msgid "audition"
+#: ardour_button.cc:1024
+msgid "ABCDEFGHIJLKMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
msgstr ""
-#: ardour_ui.cc:181
-msgid "solo"
-msgstr ""
+#: ardour_ui.cc:194 editor_actions.cc:652 region_editor.cc:50
+msgid "Audition"
+msgstr "Odsłuch"
-#: ardour_ui.cc:182
-msgid "feedback"
-msgstr ""
+#: ardour_ui.cc:195 editor_actions.cc:136 mixer_strip.cc:1971
+#: rc_option_editor.cc:1850 route_time_axis.cc:252 route_time_axis.cc:2566
+msgid "Solo"
+msgstr "Solo"
+
+#: ardour_ui.cc:196 rc_option_editor.cc:718
+msgid "Feedback"
+msgstr "Sprzężenie zwrotne"
-#: ardour_ui.cc:187 speaker_dialog.cc:36
+#: ardour_ui.cc:201 speaker_dialog.cc:36
msgid "Speaker Configuration"
msgstr ""
-#: ardour_ui.cc:188 theme_manager.cc:56 theme_manager.cc:64
+#: ardour_ui.cc:202 theme_manager.cc:62 theme_manager.cc:77
msgid "Theme Manager"
msgstr "Menedżer motywów"
-#: ardour_ui.cc:189 keyeditor.cc:53
+#: ardour_ui.cc:203 keyeditor.cc:53
msgid "Key Bindings"
msgstr ""
-#: ardour_ui.cc:190
+#: ardour_ui.cc:204
msgid "Preferences"
msgstr "Preferencje"
-#: ardour_ui.cc:191 ardour_ui.cc:197
+#: ardour_ui.cc:205 ardour_ui.cc:211
msgid "Add Tracks/Busses"
msgstr ""
-#: ardour_ui.cc:192
+#: ardour_ui.cc:206
msgid "About"
msgstr "O programie"
-#: ardour_ui.cc:193 location_ui.cc:1146
+#: ardour_ui.cc:207 location_ui.cc:1148 session_option_editor.cc:189
+#: session_option_editor.cc:195 session_option_editor.cc:202
msgid "Locations"
msgstr "Położenia"
-#: ardour_ui.cc:194 route_params_ui.cc:58 route_params_ui.cc:606
+#: ardour_ui.cc:208 route_params_ui.cc:58 route_params_ui.cc:629
msgid "Tracks and Busses"
msgstr ""
-#: ardour_ui.cc:195 engine_dialog.cc:67
+#: ardour_ui.cc:209 engine_dialog.cc:69
msgid "Audio/MIDI Setup"
msgstr ""
-#: ardour_ui.cc:196
+#: ardour_ui.cc:210
msgid "Properties"
msgstr ""
-#: ardour_ui.cc:198 bundle_manager.cc:263
+#: ardour_ui.cc:212 bundle_manager.cc:264
msgid "Bundle Manager"
msgstr ""
-#: ardour_ui.cc:199 big_clock_window.cc:35
+#: ardour_ui.cc:213 big_clock_window.cc:37
msgid "Big Clock"
msgstr "Duży zegar"
-#: ardour_ui.cc:200
+#: ardour_ui.cc:214
msgid "Audio Connections"
msgstr ""
-#: ardour_ui.cc:201
+#: ardour_ui.cc:215
msgid "MIDI Connections"
msgstr ""
-#: ardour_ui.cc:203
+#: ardour_ui.cc:217
msgid "Errors"
msgstr "Błędy"
-#: ardour_ui.cc:436
+#: ardour_ui.cc:461
msgid ""
"The audio backend was shutdown because:\n"
"\n"
"%1"
msgstr ""
-#: ardour_ui.cc:438
+#: ardour_ui.cc:463
msgid ""
"The audio backend has either been shutdown or it\n"
"disconnected %1 because %1\n"
@@ -692,27 +704,27 @@ msgid ""
"the audio backend and save the session."
msgstr ""
-#: ardour_ui.cc:758
+#: ardour_ui.cc:781
msgid "NSM server did not announce itself"
msgstr ""
-#: ardour_ui.cc:771
+#: ardour_ui.cc:794
msgid "NSM: no client ID provided"
msgstr ""
-#: ardour_ui.cc:778
+#: ardour_ui.cc:801
msgid "NSM: no session created"
msgstr ""
-#: ardour_ui.cc:801
+#: ardour_ui.cc:824
msgid "NSM: initialization failed"
msgstr ""
-#: ardour_ui.cc:840 startup.cc:379
+#: ardour_ui.cc:864 startup.cc:380
msgid "%1 is ready for use"
msgstr ""
-#: ardour_ui.cc:882
+#: ardour_ui.cc:906
msgid ""
"WARNING: Your system has a limit for maximum amount of locked memory. This "
"might cause %1 to run out of memory before your system runs out of memory. \n"
@@ -721,23 +733,23 @@ msgid ""
"controlled by %2"
msgstr ""
-#: ardour_ui.cc:899
+#: ardour_ui.cc:923
msgid "Do not show this window again"
msgstr "Nie pokazuj tego okna więcej"
-#: ardour_ui.cc:943
+#: ardour_ui.cc:967
msgid "Don't quit"
msgstr ""
-#: ardour_ui.cc:944
+#: ardour_ui.cc:968
msgid "Just quit"
msgstr ""
-#: ardour_ui.cc:945
+#: ardour_ui.cc:969
msgid "Save and quit"
msgstr ""
-#: ardour_ui.cc:955
+#: ardour_ui.cc:979
msgid ""
"%1 was unable to save your session.\n"
"\n"
@@ -746,15 +758,11 @@ msgid ""
"\"Just quit\" option."
msgstr ""
-#: ardour_ui.cc:986
-msgid "Please wait while %1 cleans up..."
-msgstr ""
-
-#: ardour_ui.cc:1004
+#: ardour_ui.cc:1030
msgid "Unsaved Session"
msgstr ""
-#: ardour_ui.cc:1025
+#: ardour_ui.cc:1051
msgid ""
"The session \"%1\"\n"
"has not been saved.\n"
@@ -765,7 +773,7 @@ msgid ""
"What do you want to do?"
msgstr ""
-#: ardour_ui.cc:1028
+#: ardour_ui.cc:1054
msgid ""
"The snapshot \"%1\"\n"
"has not been saved.\n"
@@ -776,75 +784,75 @@ msgid ""
"What do you want to do?"
msgstr ""
-#: ardour_ui.cc:1042
+#: ardour_ui.cc:1068
msgid "Prompter"
msgstr "Prompter"
-#: ardour_ui.cc:1128 ardour_ui.cc:1136
+#: ardour_ui.cc:1182 ardour_ui.cc:1190
#, c-format
msgid "Audio: <span foreground=\"red\">none</span>"
msgstr ""
-#: ardour_ui.cc:1140
+#: ardour_ui.cc:1194
#, c-format
msgid "Audio: <span foreground=\"green\">%.1f kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1144
+#: ardour_ui.cc:1198
#, c-format
msgid "Audio: <span foreground=\"green\">%<PRId64> kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1162 export_video_dialog.cc:67
+#: ardour_ui.cc:1216 export_video_dialog.cc:68
msgid "File:"
msgstr ""
-#: ardour_ui.cc:1166
+#: ardour_ui.cc:1220
msgid "BWF"
msgstr ""
-#: ardour_ui.cc:1169
+#: ardour_ui.cc:1223
msgid "WAV"
msgstr "WAV"
-#: ardour_ui.cc:1172
+#: ardour_ui.cc:1226
msgid "WAV64"
msgstr ""
-#: ardour_ui.cc:1175 session_option_editor.cc:197
+#: ardour_ui.cc:1229 session_option_editor.cc:185
msgid "CAF"
msgstr ""
-#: ardour_ui.cc:1178
+#: ardour_ui.cc:1232
msgid "AIFF"
msgstr ""
-#: ardour_ui.cc:1181
+#: ardour_ui.cc:1235
msgid "iXML"
msgstr ""
-#: ardour_ui.cc:1184
+#: ardour_ui.cc:1238
msgid "RF64"
msgstr ""
-#: ardour_ui.cc:1192
+#: ardour_ui.cc:1246
msgid "32-float"
msgstr ""
-#: ardour_ui.cc:1195
+#: ardour_ui.cc:1249
msgid "24-int"
msgstr ""
-#: ardour_ui.cc:1198
+#: ardour_ui.cc:1252
msgid "16-int"
msgstr ""
-#: ardour_ui.cc:1217
+#: ardour_ui.cc:1271
#, c-format
msgid "DSP: <span foreground=\"%s\">%5.1f%%</span>"
msgstr ""
-#: ardour_ui.cc:1236
+#: ardour_ui.cc:1290
#, c-format
msgid ""
"Buffers: <span foreground=\"green\">p:</span><span foreground=\"%s\">"
@@ -852,155 +860,159 @@ msgid ""
"\">%<PRIu32>%%</span>"
msgstr ""
-#: ardour_ui.cc:1277
+#: ardour_ui.cc:1331
msgid "Disk: <span foreground=\"green\">Unknown</span>"
msgstr ""
-#: ardour_ui.cc:1279
+#: ardour_ui.cc:1333
msgid "Disk: <span foreground=\"green\">24hrs+</span>"
msgstr ""
-#: ardour_ui.cc:1297
+#: ardour_ui.cc:1351
msgid "Disk: <span foreground=\"green\">&gt;24 hrs</span>"
msgstr ""
-#: ardour_ui.cc:1308
+#: ardour_ui.cc:1362
#, c-format
msgid "Disk: <span foreground=\"%s\">%02dh:%02dm:%02ds</span>"
msgstr ""
-#: ardour_ui.cc:1334
+#: ardour_ui.cc:1388
#, c-format
msgid "Timecode|TC: <span foreground=\"%s\">%s</span>"
msgstr ""
-#: ardour_ui.cc:1451 ardour_ui.cc:1460 session_dialog.cc:322
-#: session_dialog.cc:327
+#: ardour_ui.cc:1509 ardour_ui.cc:1518 session_dialog.cc:326
+#: session_dialog.cc:331
msgid "Recent Sessions"
msgstr "Poprzednie sesje"
-#: ardour_ui.cc:1539
+#: ardour_ui.cc:1597
msgid ""
"%1 is not connected to any audio backend.\n"
"You cannot open or close sessions in this condition"
msgstr ""
-#: ardour_ui.cc:1563
+#: ardour_ui.cc:1621
msgid "Open Session"
msgstr "Otwieranie sesji"
-#: ardour_ui.cc:1588 session_dialog.cc:353 session_import_dialog.cc:169
+#: ardour_ui.cc:1646 session_dialog.cc:357 session_import_dialog.cc:169
#: session_metadata_dialog.cc:729
msgid "%1 sessions"
msgstr ""
-#: ardour_ui.cc:1625
+#: ardour_ui.cc:1683
msgid "You cannot add a track without a session already loaded."
msgstr ""
-#: ardour_ui.cc:1633
+#: ardour_ui.cc:1691
msgid "could not create %1 new mixed track"
msgid_plural "could not create %1 new mixed tracks"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: ardour_ui.cc:1639 ardour_ui.cc:1700
+#: ardour_ui.cc:1697 ardour_ui.cc:1758
msgid ""
-"There are insufficient JACK ports available\n"
+"There are insufficient ports available\n"
"to create a new track or bus.\n"
"You should save %1, exit and\n"
-"restart JACK with more ports."
+"restart with more ports."
msgstr ""
-#: ardour_ui.cc:1674
+#: ardour_ui.cc:1732
msgid "You cannot add a track or bus without a session already loaded."
msgstr "Nie możesz dodać ścieżki lub szyny bez otwierania sesji."
-#: ardour_ui.cc:1683
+#: ardour_ui.cc:1741
msgid "could not create %1 new audio track"
msgid_plural "could not create %1 new audio tracks"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: ardour_ui.cc:1692
+#: ardour_ui.cc:1750
msgid "could not create %1 new audio bus"
msgid_plural "could not create %1 new audio busses"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: ardour_ui.cc:1816
+#: ardour_ui.cc:1903
msgid ""
"Please create one or more tracks before trying to record.\n"
"You can do this with the \"Add Track or Bus\" option in the Session menu."
msgstr ""
-#: ardour_ui.cc:2193
+#: ardour_ui.cc:2312
+msgid "Save as..."
+msgstr ""
+
+#: ardour_ui.cc:2313 ardour_ui.cc:2392
+msgid "New session name"
+msgstr ""
+
+#: ardour_ui.cc:2315
msgid "Take Snapshot"
msgstr ""
-#: ardour_ui.cc:2194
+#: ardour_ui.cc:2316
msgid "Name of new snapshot"
msgstr ""
-#: ardour_ui.cc:2218
+#: ardour_ui.cc:2341
msgid ""
"To ensure compatibility with various systems\n"
"snapshot names may not contain a '%1' character"
msgstr ""
-#: ardour_ui.cc:2230
+#: ardour_ui.cc:2353
msgid "Confirm Snapshot Overwrite"
msgstr ""
-#: ardour_ui.cc:2231
+#: ardour_ui.cc:2354
msgid "A snapshot already exists with that name. Do you want to overwrite it?"
msgstr ""
-#: ardour_ui.cc:2234 utils_videotl.cc:67
+#: ardour_ui.cc:2357 utils_videotl.cc:67
msgid "Overwrite"
msgstr ""
-#: ardour_ui.cc:2268
+#: ardour_ui.cc:2391
msgid "Rename Session"
msgstr ""
-#: ardour_ui.cc:2269
-msgid "New session name"
-msgstr ""
-
-#: ardour_ui.cc:2283 ardour_ui.cc:2684 ardour_ui.cc:2722
+#: ardour_ui.cc:2406 ardour_ui.cc:2814 ardour_ui.cc:2852
msgid ""
"To ensure compatibility with various systems\n"
"session names may not contain a '%1' character"
msgstr ""
-#: ardour_ui.cc:2291
+#: ardour_ui.cc:2414
msgid ""
"That name is already in use by another directory/folder. Please try again."
msgstr ""
-#: ardour_ui.cc:2300
+#: ardour_ui.cc:2423
msgid ""
"Renaming this session failed.\n"
"Things could be seriously messed up at this point"
msgstr ""
-#: ardour_ui.cc:2411
+#: ardour_ui.cc:2534
msgid "Save Template"
msgstr ""
-#: ardour_ui.cc:2412
+#: ardour_ui.cc:2535
msgid "Name for template:"
msgstr ""
-#: ardour_ui.cc:2413
+#: ardour_ui.cc:2536
msgid "-template"
msgstr "-szablon"
-#: ardour_ui.cc:2451
+#: ardour_ui.cc:2574
msgid ""
"This session\n"
"%1\n"
@@ -1010,59 +1022,59 @@ msgstr ""
"%1\n"
"już istnieje. Otworzyć ją?"
-#: ardour_ui.cc:2461
+#: ardour_ui.cc:2584
msgid "Open Existing Session"
msgstr ""
-#: ardour_ui.cc:2712
+#: ardour_ui.cc:2842
msgid "There is no existing session at \"%1\""
msgstr ""
-#: ardour_ui.cc:2804
+#: ardour_ui.cc:2934
msgid "Please wait while %1 loads your session"
msgstr ""
-#: ardour_ui.cc:2819
+#: ardour_ui.cc:2949
msgid "Port Registration Error"
msgstr ""
-#: ardour_ui.cc:2820
+#: ardour_ui.cc:2950
msgid "Click the Close button to try again."
msgstr ""
-#: ardour_ui.cc:2841
+#: ardour_ui.cc:2971
msgid "Session \"%1 (snapshot %2)\" did not load successfully"
msgstr "Sesja \"%1 (zrzut %2)\" nie została załadowana poprawnie"
-#: ardour_ui.cc:2848
+#: ardour_ui.cc:2978
msgid "Loading Error"
msgstr "BÅ‚Ä…d wczytywania"
-#: ardour_ui.cc:2867
+#: ardour_ui.cc:2997
msgid ""
"This session has been opened in read-only mode.\n"
"\n"
"You will not be able to record or save."
msgstr ""
-#: ardour_ui.cc:2873
+#: ardour_ui.cc:3003
msgid "Read-only Session"
msgstr ""
-#: ardour_ui.cc:2931
+#: ardour_ui.cc:3069
msgid "Could not create session in \"%1\""
msgstr "Nie udało się utworzyć sesji w \"%1\""
-#: ardour_ui.cc:3031
+#: ardour_ui.cc:3169
msgid "No files were ready for clean-up"
msgstr ""
-#: ardour_ui.cc:3035 ardour_ui.cc:3045 ardour_ui.cc:3178 ardour_ui.cc:3185
-#: ardour_ui_ed.cc:104
+#: ardour_ui.cc:3173 ardour_ui.cc:3183 ardour_ui.cc:3316 ardour_ui.cc:3323
+#: ardour_ui_ed.cc:103
msgid "Clean-up"
msgstr ""
-#: ardour_ui.cc:3036
+#: ardour_ui.cc:3174
msgid ""
"If this seems suprising, \n"
"check for any existing snapshots.\n"
@@ -1074,19 +1086,19 @@ msgstr ""
"Wciąż mogą zawierać obszary\n"
"wymagające obecności nieużywanych plików."
-#: ardour_ui.cc:3095
+#: ardour_ui.cc:3233
msgid "kilo"
msgstr ""
-#: ardour_ui.cc:3098
+#: ardour_ui.cc:3236
msgid "mega"
msgstr ""
-#: ardour_ui.cc:3101
+#: ardour_ui.cc:3239
msgid "giga"
msgstr ""
-#: ardour_ui.cc:3106
+#: ardour_ui.cc:3244
msgid ""
"The following file was deleted from %2,\n"
"releasing %3 %4bytes of disk space"
@@ -1097,7 +1109,7 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: ardour_ui.cc:3113
+#: ardour_ui.cc:3251
msgid ""
"The following file was not in use and \n"
"has been moved to: %2\n"
@@ -1120,91 +1132,90 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: ardour_ui.cc:3173
+#: ardour_ui.cc:3311
msgid "Are you sure you want to clean-up?"
msgstr ""
-#: ardour_ui.cc:3180
+#: ardour_ui.cc:3318
msgid ""
"Clean-up is a destructive operation.\n"
"ALL undo/redo information will be lost if you clean-up.\n"
"Clean-up will move all unused files to a \"dead\" location."
msgstr ""
-#: ardour_ui.cc:3188
+#: ardour_ui.cc:3326
msgid "CleanupDialog"
msgstr "Okno dialogowe czyszczenia"
-#: ardour_ui.cc:3218
+#: ardour_ui.cc:3356
msgid "Cleaned Files"
msgstr ""
-#: ardour_ui.cc:3235
+#: ardour_ui.cc:3373
msgid "deleted file"
msgstr "usunięty plik"
-#: ardour_ui.cc:3381
-msgid ""
-"Video-Server was not launched by Ardour. The request to stop it is ignored."
+#: ardour_ui.cc:3512
+msgid "Video-Server was not launched by %1. The request to stop it is ignored."
msgstr ""
-#: ardour_ui.cc:3385
+#: ardour_ui.cc:3516
msgid "Stop Video-Server"
msgstr ""
-#: ardour_ui.cc:3386
+#: ardour_ui.cc:3517
msgid "Do you really want to stop the Video Server?"
msgstr ""
-#: ardour_ui.cc:3389
+#: ardour_ui.cc:3520
msgid "Yes, Stop It"
msgstr ""
-#: ardour_ui.cc:3415
+#: ardour_ui.cc:3546
msgid "The Video Server is already started."
msgstr ""
-#: ardour_ui.cc:3417
+#: ardour_ui.cc:3548
msgid ""
"An external Video Server is configured and can be reached. Not starting a "
"new instance."
msgstr ""
-#: ardour_ui.cc:3425 ardour_ui.cc:3515
+#: ardour_ui.cc:3556 ardour_ui.cc:3655
msgid ""
"Could not connect to the Video Server. Start it or configure its access URL "
"in Edit -> Preferences."
msgstr ""
-#: ardour_ui.cc:3449
+#: ardour_ui.cc:3580
msgid "Specified docroot is not an existing directory."
msgstr ""
-#: ardour_ui.cc:3454
+#: ardour_ui.cc:3586 ardour_ui.cc:3592
msgid "Given Video Server is not an executable file."
msgstr ""
-#: ardour_ui.cc:3487
+#: ardour_ui.cc:3626
msgid "Cannot launch the video-server"
msgstr ""
-#: ardour_ui.cc:3496
+#: ardour_ui.cc:3636
msgid "Video-server was started but does not respond to requests..."
msgstr ""
-#: ardour_ui.cc:3541 editor_audio_import.cc:632
+#: ardour_ui.cc:3681 editor_audio_import.cc:628
msgid "could not open %1"
msgstr "nie można otworzyć %1"
-#: ardour_ui.cc:3545
+#: ardour_ui.cc:3685
msgid "no video-file selected"
msgstr ""
-#: ardour_ui.cc:3717
+#: ardour_ui.cc:3858
msgid "Recording was stopped because your system could not keep up."
msgstr ""
-#: ardour_ui.cc:3746
+#: ardour_ui.cc:3887
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1213,7 +1224,23 @@ msgid ""
"quickly enough to keep up with recording.\n"
msgstr ""
-#: ardour_ui.cc:3765
+#: ardour_ui.cc:3957
+msgid "Scanning for plugins"
+msgstr ""
+
+#: ardour_ui.cc:3959
+msgid "Cancel plugin scan"
+msgstr ""
+
+#: ardour_ui.cc:3968
+msgid "Stop Timeout"
+msgstr ""
+
+#: ardour_ui.cc:3975
+msgid "Scan Timeout"
+msgstr ""
+
+#: ardour_ui.cc:4016
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1222,11 +1249,11 @@ msgid ""
"quickly enough to keep up with playback.\n"
msgstr ""
-#: ardour_ui.cc:3805
+#: ardour_ui.cc:4056
msgid "Crash Recovery"
msgstr ""
-#: ardour_ui.cc:3806
+#: ardour_ui.cc:4057
msgid ""
"This session appears to have been in the\n"
"middle of recording when %1 or\n"
@@ -1237,42 +1264,42 @@ msgid ""
"what you would like to do.\n"
msgstr ""
-#: ardour_ui.cc:3818
+#: ardour_ui.cc:4069
msgid "Ignore crash data"
msgstr "Ignorowanie dane z awarii"
-#: ardour_ui.cc:3819
+#: ardour_ui.cc:4070
msgid "Recover from crash"
msgstr "Przywróć dane z awarii"
-#: ardour_ui.cc:3839
+#: ardour_ui.cc:4090
msgid "Sample Rate Mismatch"
msgstr "Błędna częstotliwość próbkowania"
-#: ardour_ui.cc:3840
+#: ardour_ui.cc:4091
msgid ""
"This session was created with a sample rate of %1 Hz, but\n"
"%2 is currently running at %3 Hz. If you load this session,\n"
"audio may be played at the wrong sample rate.\n"
msgstr ""
-#: ardour_ui.cc:3849
+#: ardour_ui.cc:4100
msgid "Do not load session"
msgstr "Nie Å‚aduj sesji"
-#: ardour_ui.cc:3850
+#: ardour_ui.cc:4101
msgid "Load session anyway"
msgstr "Załaduj sesję mimo to"
-#: ardour_ui.cc:3877
+#: ardour_ui.cc:4128
msgid "Could not disconnect from Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:3893 ardour_ui.cc:3896
+#: ardour_ui.cc:4144 ardour_ui.cc:4147
msgid "Could not reconnect to the Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:4172
+#: ardour_ui.cc:4431
msgid ""
"%4This is a session from an older version of %3%5\n"
"\n"
@@ -1287,69 +1314,69 @@ msgid ""
"From now on, use the -2000 version with older versions of %3"
msgstr ""
-#: ardour_ui2.cc:72
+#: ardour_ui2.cc:73
msgid "UI: cannot setup editor"
msgstr "UI: nie można ustawić edytora"
-#: ardour_ui2.cc:77
+#: ardour_ui2.cc:78
msgid "UI: cannot setup mixer"
msgstr "UI: nie można ustawić miksera"
-#: ardour_ui2.cc:82
+#: ardour_ui2.cc:83
msgid "UI: cannot setup meterbridge"
msgstr ""
-#: ardour_ui2.cc:130
+#: ardour_ui2.cc:131
msgid "Play from playhead"
msgstr "Odtwórz od położenia głowicy"
-#: ardour_ui2.cc:131
+#: ardour_ui2.cc:132
msgid "Stop playback"
msgstr "Zatrzymaj odtwarzanie"
-#: ardour_ui2.cc:132
+#: ardour_ui2.cc:133
msgid "Toggle record"
msgstr ""
-#: ardour_ui2.cc:133
+#: ardour_ui2.cc:134
msgid "Play range/selection"
msgstr "Odtwórz zakres/zaznaczenie"
-#: ardour_ui2.cc:134
+#: ardour_ui2.cc:135
msgid "Go to start of session"
msgstr "Przejdź do początku sesji"
-#: ardour_ui2.cc:135
+#: ardour_ui2.cc:136
msgid "Go to end of session"
msgstr "Przejdź do końca sesji"
-#: ardour_ui2.cc:136
+#: ardour_ui2.cc:137
msgid "Play loop range"
msgstr "Zakres pętli"
-#: ardour_ui2.cc:137
+#: ardour_ui2.cc:138
msgid ""
"MIDI Panic\n"
"Send note off and reset controller messages on all MIDI channels"
msgstr ""
-#: ardour_ui2.cc:138
+#: ardour_ui2.cc:139
msgid "Return to last playback start when stopped"
msgstr "Powróć do początku ostatniego odtwarzania przy zatrzymaniu"
-#: ardour_ui2.cc:139
+#: ardour_ui2.cc:140
msgid "Playhead follows Range Selections and Edits"
msgstr ""
-#: ardour_ui2.cc:140
+#: ardour_ui2.cc:141
msgid "Be sensible about input monitoring"
msgstr ""
-#: ardour_ui2.cc:141
+#: ardour_ui2.cc:142
msgid "Enable/Disable audio click"
msgstr "Włącz/wyłącz metronom"
-#: ardour_ui2.cc:142 monitor_section.cc:101
+#: ardour_ui2.cc:143 monitor_section.cc:112
msgid ""
"When active, something is soloed.\n"
"Click to de-solo everything"
@@ -1357,7 +1384,7 @@ msgstr ""
"Gdy aktywne, gdzieś włączone jest solo.\n"
"Kliknij by wyłączyć solo wszędzie."
-#: ardour_ui2.cc:143
+#: ardour_ui2.cc:144
msgid ""
"When active, auditioning is taking place\n"
"Click to stop the audition"
@@ -1365,11 +1392,11 @@ msgstr ""
"Gdy aktywne, odsłuchiwanie jest włączone\n"
"Kliknij, by zatrzymać odsłuchiwanie."
-#: ardour_ui2.cc:144
+#: ardour_ui2.cc:145
msgid "When active, there is a feedback loop."
msgstr ""
-#: ardour_ui2.cc:145
+#: ardour_ui2.cc:146
msgid ""
"<b>Primary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1377,7 +1404,7 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:146
+#: ardour_ui2.cc:147
msgid ""
"<b>Secondary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1385,361 +1412,418 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:147
-msgid "Reset Level Meter"
+#: ardour_ui2.cc:148
+msgid "Reset All Peak Indicators"
msgstr ""
-#: ardour_ui2.cc:179
+#: ardour_ui2.cc:180
msgid "[ERROR]: "
msgstr "[BÅAD]: "
-#: ardour_ui2.cc:181
+#: ardour_ui2.cc:182
msgid "[WARNING]: "
msgstr "[OSTRZEŻENIE]: "
-#: ardour_ui2.cc:183
+#: ardour_ui2.cc:184
msgid "[INFO]: "
msgstr "[INFORMACJA]: "
-#: ardour_ui2.cc:247 ardour_ui_ed.cc:344
+#: ardour_ui2.cc:248 ardour_ui_ed.cc:391
msgid "Auto Return"
msgstr "Autopowracanie"
-#: ardour_ui2.cc:249 ardour_ui_ed.cc:347
+#: ardour_ui2.cc:250 ardour_ui_ed.cc:394
msgid "Follow Edits"
msgstr ""
-#: ardour_ui2.cc:628 rc_option_editor.cc:1002 rc_option_editor.cc:1020
-#: rc_option_editor.cc:1023 rc_option_editor.cc:1025 rc_option_editor.cc:1027
-#: rc_option_editor.cc:1035 rc_option_editor.cc:1043 rc_option_editor.cc:1045
-#: rc_option_editor.cc:1053 rc_option_editor.cc:1060 rc_option_editor.cc:1069
-#: rc_option_editor.cc:1071 rc_option_editor.cc:1073 rc_option_editor.cc:1081
-#: rc_option_editor.cc:1083 rc_option_editor.cc:1092
-#: session_option_editor.cc:234 session_option_editor.cc:236
-#: session_option_editor.cc:257 session_option_editor.cc:259
-#: session_option_editor.cc:261 session_option_editor.cc:268
+#: ardour_ui2.cc:651 rc_option_editor.cc:2172
+msgid "GUI"
+msgstr ""
+
+#: ardour_ui2.cc:668 rc_option_editor.cc:1242 rc_option_editor.cc:1260
+#: rc_option_editor.cc:1263 rc_option_editor.cc:1265 rc_option_editor.cc:1267
+#: rc_option_editor.cc:1275 rc_option_editor.cc:1283 rc_option_editor.cc:1285
+#: rc_option_editor.cc:1293 rc_option_editor.cc:1300 rc_option_editor.cc:1309
+#: rc_option_editor.cc:1311 rc_option_editor.cc:1313 rc_option_editor.cc:1321
+#: rc_option_editor.cc:1323 rc_option_editor.cc:1332
+#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:344 session_option_editor.cc:346
+#: session_option_editor.cc:348 session_option_editor.cc:355
+#: session_option_editor.cc:362 session_option_editor.cc:366
msgid "Misc"
msgstr "Różne"
-#: ardour_ui_dependents.cc:69
+#: ardour_ui_dependents.cc:75
msgid "Setup Editor"
msgstr "Ustawianie edytora"
-#: ardour_ui_dependents.cc:71
+#: ardour_ui_dependents.cc:77
msgid "Setup Mixer"
msgstr "Ustawianie miksera"
-#: ardour_ui_dependents.cc:77
+#: ardour_ui_dependents.cc:83
msgid "Reload Session History"
msgstr "Wczytywanie historii sesji"
-#: ardour_ui_dialogs.cc:238
+#: ardour_ui_dialogs.cc:251
msgid "Don't close"
msgstr ""
-#: ardour_ui_dialogs.cc:239
+#: ardour_ui_dialogs.cc:252
msgid "Just close"
msgstr ""
-#: ardour_ui_dialogs.cc:240
+#: ardour_ui_dialogs.cc:253
msgid "Save and close"
msgstr ""
-#: ardour_ui_dialogs.cc:339
+#: ardour_ui_dialogs.cc:353
msgid "This screen is not tall enough to display the mixer window"
msgstr ""
-#: ardour_ui_ed.cc:103
+#: ardour_ui_ed.cc:102
msgid "Session"
msgstr "Sesja"
-#: ardour_ui_ed.cc:106 editor_actions.cc:134 editor_regions.cc:115
+#: ardour_ui_ed.cc:105 editor_actions.cc:138 editor_regions.cc:116
#: port_group.cc:458 session_option_editor.cc:82 session_option_editor.cc:89
msgid "Sync"
msgstr "Synchronizacja"
-#: ardour_ui_ed.cc:107
+#: ardour_ui_ed.cc:106
msgid "Options"
msgstr "Opcje"
-#: ardour_ui_ed.cc:108
+#: ardour_ui_ed.cc:107
msgid "Window"
msgstr "Okno"
-#: ardour_ui_ed.cc:109
+#: ardour_ui_ed.cc:108
msgid "Help"
msgstr "Pomoc"
-#: ardour_ui_ed.cc:110
+#: ardour_ui_ed.cc:109
msgid "Misc. Shortcuts"
msgstr "Skróty"
-#: ardour_ui_ed.cc:111
+#: ardour_ui_ed.cc:110
msgid "Audio File Format"
msgstr "Format pliku dźwiękowego"
-#: ardour_ui_ed.cc:112
+#: ardour_ui_ed.cc:111
msgid "File Type"
msgstr "Format pliku"
-#: ardour_ui_ed.cc:113 export_format_dialog.cc:65
+#: ardour_ui_ed.cc:112 export_format_dialog.cc:67
msgid "Sample Format"
msgstr "Format próbkowania"
-#: ardour_ui_ed.cc:114 rc_option_editor.cc:1814 rc_option_editor.cc:1826
+#: ardour_ui_ed.cc:113 rc_option_editor.cc:2119 rc_option_editor.cc:2131
msgid "Control Surfaces"
msgstr "UrzÄ…dzenia sterujÄ…ce"
-#: ardour_ui_ed.cc:115 rc_option_editor.cc:1546
+#: ardour_ui_ed.cc:114 rc_option_editor.cc:1812 rc_option_editor.cc:2138
msgid "Plugins"
msgstr "Wtyczki"
-#: ardour_ui_ed.cc:116 rc_option_editor.cc:1889
+#: ardour_ui_ed.cc:115 rc_option_editor.cc:2223
msgid "Metering"
msgstr "Ustawienia metrum"
-#: ardour_ui_ed.cc:117
+#: ardour_ui_ed.cc:116
msgid "Fall Off Rate"
msgstr ""
-#: ardour_ui_ed.cc:118
+#: ardour_ui_ed.cc:117
msgid "Hold Time"
msgstr "Czas przytrzymania"
-#: ardour_ui_ed.cc:119
+#: ardour_ui_ed.cc:118
msgid "Denormal Handling"
msgstr "Obsługa liczb zdenormalizowanych"
-#: ardour_ui_ed.cc:123 route_time_axis.cc:1489
+#: ardour_ui_ed.cc:122 route_time_axis.cc:1636
msgid "New..."
msgstr ""
-#: ardour_ui_ed.cc:125
+#: ardour_ui_ed.cc:124
msgid "Open..."
msgstr ""
-#: ardour_ui_ed.cc:126
+#: ardour_ui_ed.cc:125
msgid "Recent..."
msgstr ""
-#: ardour_ui_ed.cc:127 panner_editor.cc:29 playlist_selector.cc:64
+#: ardour_ui_ed.cc:126 panner_editor.cc:29 playlist_selector.cc:64
msgid "Close"
msgstr "Zamknij"
-#: ardour_ui_ed.cc:130
+#: ardour_ui_ed.cc:129
msgid "Add Track or Bus..."
msgstr ""
-#: ardour_ui_ed.cc:135
+#: ardour_ui_ed.cc:134
msgid "Open Video"
msgstr ""
-#: ardour_ui_ed.cc:138
+#: ardour_ui_ed.cc:137
msgid "Remove Video"
msgstr ""
-#: ardour_ui_ed.cc:141
+#: ardour_ui_ed.cc:140
msgid "Export To Video File"
msgstr ""
-#: ardour_ui_ed.cc:145
+#: ardour_ui_ed.cc:144
msgid "Snapshot..."
msgstr ""
-#: ardour_ui_ed.cc:149
+#: ardour_ui_ed.cc:148
msgid "Save As..."
msgstr ""
-#: ardour_ui_ed.cc:153 editor_actions.cc:1719 editor_markers.cc:858
-#: editor_snapshots.cc:123 mixer_strip.cc:1471 route_time_axis.cc:1485
+#: ardour_ui_ed.cc:152 editor_actions.cc:1767 editor_markers.cc:872
+#: editor_snapshots.cc:124 mixer_strip.cc:1481 route_time_axis.cc:1632
msgid "Rename..."
msgstr ""
-#: ardour_ui_ed.cc:157
+#: ardour_ui_ed.cc:156
msgid "Save Template..."
msgstr "Zapisz szablon"
-#: ardour_ui_ed.cc:160
+#: ardour_ui_ed.cc:159
msgid "Metadata"
msgstr ""
-#: ardour_ui_ed.cc:163
+#: ardour_ui_ed.cc:162
msgid "Edit Metadata..."
msgstr ""
-#: ardour_ui_ed.cc:166
+#: ardour_ui_ed.cc:165
msgid "Import Metadata..."
msgstr ""
-#: ardour_ui_ed.cc:169
+#: ardour_ui_ed.cc:168
msgid "Export To Audio File(s)..."
msgstr ""
-#: ardour_ui_ed.cc:172
+#: ardour_ui_ed.cc:171
msgid "Stem export..."
msgstr ""
-#: ardour_ui_ed.cc:175 editor_export_audio.cc:63 export_dialog.cc:129
-#: export_video_dialog.cc:71
+#: ardour_ui_ed.cc:174 editor_export_audio.cc:65 export_dialog.cc:129
+#: export_video_dialog.cc:72
msgid "Export"
msgstr "Eksportuj"
-#: ardour_ui_ed.cc:178
+#: ardour_ui_ed.cc:177
msgid "Clean-up Unused Sources..."
msgstr ""
-#: ardour_ui_ed.cc:182
+#: ardour_ui_ed.cc:181
msgid "Flush Wastebasket"
msgstr ""
-#: ardour_ui_ed.cc:189
+#: ardour_ui_ed.cc:188
msgid "Quit"
msgstr "Zakończ"
-#: ardour_ui_ed.cc:193
+#: ardour_ui_ed.cc:192
msgid "Maximise Editor Space"
msgstr "Maksymalizacja edytora"
+#: ardour_ui_ed.cc:193
+msgid "Maximise Mixer Space"
+msgstr ""
+
#: ardour_ui_ed.cc:194
msgid "Show Toolbars"
msgstr ""
-#: ardour_ui_ed.cc:197 mixer_ui.cc:1865 mixer_ui.cc:1871
+#: ardour_ui_ed.cc:197
+msgid "Show more UI preferences"
+msgstr ""
+
+#: ardour_ui_ed.cc:199 mixer_ui.cc:1900 mixer_ui.cc:1906
msgid "Window|Mixer"
msgstr ""
-#: ardour_ui_ed.cc:198
+#: ardour_ui_ed.cc:200
msgid "Toggle Editor+Mixer"
msgstr ""
-#: ardour_ui_ed.cc:199 meterbridge.cc:230 meterbridge.cc:236
+#: ardour_ui_ed.cc:201 meterbridge.cc:214 meterbridge.cc:220
msgid "Window|Meterbridge"
msgstr ""
-#: ardour_ui_ed.cc:201 midi_tracer.cc:42
+#: ardour_ui_ed.cc:203 midi_tracer.cc:45
msgid "MIDI Tracer"
msgstr ""
-#: ardour_ui_ed.cc:203
+#: ardour_ui_ed.cc:205
msgid "Chat"
msgstr ""
-#: ardour_ui_ed.cc:205
+#: ardour_ui_ed.cc:207
msgid "Help|Manual"
msgstr ""
-#: ardour_ui_ed.cc:206
+#: ardour_ui_ed.cc:208
msgid "Reference"
msgstr ""
-#: ardour_ui_ed.cc:208 plugin_ui.cc:415
+#: ardour_ui_ed.cc:210 plugin_ui.cc:416
msgid "Save"
msgstr "Zapisz"
-#: ardour_ui_ed.cc:216 rc_option_editor.cc:1112 rc_option_editor.cc:1123
-#: rc_option_editor.cc:1132 rc_option_editor.cc:1145 rc_option_editor.cc:1158
-#: rc_option_editor.cc:1167 rc_option_editor.cc:1177 rc_option_editor.cc:1179
-#: rc_option_editor.cc:1189 rc_option_editor.cc:1205 rc_option_editor.cc:1218
-#: rc_option_editor.cc:1236 rc_option_editor.cc:1238 rc_option_editor.cc:1252
-#: rc_option_editor.cc:1255 rc_option_editor.cc:1257 rc_option_editor.cc:1274
-#: rc_option_editor.cc:1285
+#: ardour_ui_ed.cc:218 rc_option_editor.cc:1352 rc_option_editor.cc:1363
+#: rc_option_editor.cc:1374 rc_option_editor.cc:1383 rc_option_editor.cc:1396
+#: rc_option_editor.cc:1409 rc_option_editor.cc:1418 rc_option_editor.cc:1428
+#: rc_option_editor.cc:1430 rc_option_editor.cc:1440 rc_option_editor.cc:1456
+#: rc_option_editor.cc:1469 rc_option_editor.cc:1487 rc_option_editor.cc:1489
+#: rc_option_editor.cc:1503 rc_option_editor.cc:1506 rc_option_editor.cc:1508
+#: rc_option_editor.cc:1525 rc_option_editor.cc:1536
msgid "Transport"
msgstr "Nagrywanie i odtwarzanie"
-#: ardour_ui_ed.cc:222
+#: ardour_ui_ed.cc:224
msgid "Stop"
msgstr "Zatrzymaj"
-#: ardour_ui_ed.cc:225
+#: ardour_ui_ed.cc:227
msgid "Roll"
msgstr ""
-#: ardour_ui_ed.cc:229
+#: ardour_ui_ed.cc:231 ardour_ui_ed.cc:234
msgid "Start/Stop"
msgstr "Uruchom/Zatrzymaj"
-#: ardour_ui_ed.cc:232
+#: ardour_ui_ed.cc:237
msgid "Start/Continue/Stop"
msgstr ""
-#: ardour_ui_ed.cc:235
+#: ardour_ui_ed.cc:240
msgid "Stop and Forget Capture"
msgstr ""
-#: ardour_ui_ed.cc:245
+#: ardour_ui_ed.cc:250
msgid "Transition To Roll"
msgstr "Do przodu"
-#: ardour_ui_ed.cc:249
+#: ardour_ui_ed.cc:254
msgid "Transition To Reverse"
msgstr "Od tyłu"
-#: ardour_ui_ed.cc:253
+#: ardour_ui_ed.cc:258
msgid "Play Loop Range"
msgstr "Odtwórz zakres pętli"
-#: ardour_ui_ed.cc:256
+#: ardour_ui_ed.cc:261
msgid "Play Selected Range"
msgstr ""
-#: ardour_ui_ed.cc:259
+#: ardour_ui_ed.cc:264
msgid "Play Selection w/Preroll"
msgstr ""
-#: ardour_ui_ed.cc:263
+#: ardour_ui_ed.cc:268
msgid "Enable Record"
msgstr "WÅ‚Ä…cz nagrywanie"
-#: ardour_ui_ed.cc:266
+#: ardour_ui_ed.cc:271 ardour_ui_ed.cc:275
msgid "Start Recording"
msgstr "Rozpocznij nagrywanie"
-#: ardour_ui_ed.cc:270
+#: ardour_ui_ed.cc:279
msgid "Rewind"
msgstr "Przewiń do tyłu"
-#: ardour_ui_ed.cc:273
+#: ardour_ui_ed.cc:282
msgid "Rewind (Slow)"
msgstr "Przewiń do tyłu (powoli)"
-#: ardour_ui_ed.cc:276
+#: ardour_ui_ed.cc:285
msgid "Rewind (Fast)"
msgstr "Przewiń do tyłu (szybko)"
-#: ardour_ui_ed.cc:279
+#: ardour_ui_ed.cc:288
msgid "Forward"
msgstr "Przewiń do przodu"
-#: ardour_ui_ed.cc:282
+#: ardour_ui_ed.cc:291
msgid "Forward (Slow)"
msgstr "Przewiń do przodu (powoli)"
-#: ardour_ui_ed.cc:285
+#: ardour_ui_ed.cc:294
msgid "Forward (Fast)"
msgstr "Przewiń do przodu (szybko)"
-#: ardour_ui_ed.cc:288
+#: ardour_ui_ed.cc:297
msgid "Goto Zero"
msgstr "Do punktu zerowego"
-#: ardour_ui_ed.cc:291
+#: ardour_ui_ed.cc:300 ardour_ui_ed.cc:303
msgid "Goto Start"
msgstr "Do poczÄ…tku"
-#: ardour_ui_ed.cc:294
+#: ardour_ui_ed.cc:306
msgid "Goto End"
msgstr "Do końca"
-#: ardour_ui_ed.cc:297
+#: ardour_ui_ed.cc:309
msgid "Goto Wall Clock"
msgstr ""
-#: ardour_ui_ed.cc:301
+#: ardour_ui_ed.cc:314
+msgid "Numpad Decimal"
+msgstr ""
+
+#: ardour_ui_ed.cc:317
+msgid "Numpad 0"
+msgstr ""
+
+#: ardour_ui_ed.cc:320
+msgid "Numpad 1"
+msgstr ""
+
+#: ardour_ui_ed.cc:323
+msgid "Numpad 2"
+msgstr ""
+
+#: ardour_ui_ed.cc:326
+msgid "Numpad 3"
+msgstr ""
+
+#: ardour_ui_ed.cc:329
+msgid "Numpad 4"
+msgstr ""
+
+#: ardour_ui_ed.cc:332
+msgid "Numpad 5"
+msgstr ""
+
+#: ardour_ui_ed.cc:335
+msgid "Numpad 6"
+msgstr ""
+
+#: ardour_ui_ed.cc:338
+msgid "Numpad 7"
+msgstr ""
+
+#: ardour_ui_ed.cc:341
+msgid "Numpad 8"
+msgstr ""
+
+#: ardour_ui_ed.cc:344
+msgid "Numpad 9"
+msgstr ""
+
+#: ardour_ui_ed.cc:348
msgid "Focus On Clock"
msgstr ""
-#: ardour_ui_ed.cc:305 ardour_ui_ed.cc:314 audio_clock.cc:2046 editor.cc:237
-#: editor_actions.cc:544 editor_actions.cc:553 export_timespan_selector.cc:88
+#: ardour_ui_ed.cc:352 ardour_ui_ed.cc:361 audio_clock.cc:2072 editor.cc:254
+#: editor_actions.cc:579 editor_actions.cc:588 export_timespan_selector.cc:88
#: session_option_editor.cc:41 session_option_editor.cc:61
#: session_option_editor.cc:80 session_option_editor.cc:96
#: session_option_editor.cc:109 session_option_editor.cc:122
@@ -1747,125 +1831,125 @@ msgstr ""
msgid "Timecode"
msgstr "Zegar"
-#: ardour_ui_ed.cc:307 ardour_ui_ed.cc:316 editor_actions.cc:542
+#: ardour_ui_ed.cc:354 ardour_ui_ed.cc:363 editor_actions.cc:577
msgid "Bars & Beats"
msgstr "Takty i uderzenia"
-#: ardour_ui_ed.cc:309 ardour_ui_ed.cc:318
+#: ardour_ui_ed.cc:356 ardour_ui_ed.cc:365
msgid "Minutes & Seconds"
msgstr "Minuty i Sekundy"
-#: ardour_ui_ed.cc:311 ardour_ui_ed.cc:320 audio_clock.cc:2050 editor.cc:238
-#: editor_actions.cc:543
+#: ardour_ui_ed.cc:358 ardour_ui_ed.cc:367 audio_clock.cc:2076 editor.cc:255
+#: editor_actions.cc:578
msgid "Samples"
msgstr "Próbki"
-#: ardour_ui_ed.cc:323
+#: ardour_ui_ed.cc:370
msgid "Punch In"
msgstr "Wejście przełącznika"
-#: ardour_ui_ed.cc:324 mixer_strip.cc:1905 route_ui.cc:137
-#: time_info_box.cc:113
+#: ardour_ui_ed.cc:371 mixer_strip.cc:1774 mixer_strip.cc:1798
+#: mixer_strip.cc:1962 route_ui.cc:158 time_info_box.cc:116
msgid "In"
msgstr "Wejście"
-#: ardour_ui_ed.cc:327
+#: ardour_ui_ed.cc:374
msgid "Punch Out"
msgstr "Wyjście przełącznika"
-#: ardour_ui_ed.cc:328 time_info_box.cc:114
+#: ardour_ui_ed.cc:375 mixer_strip.cc:1786 time_info_box.cc:117
msgid "Out"
msgstr "Wyjście"
-#: ardour_ui_ed.cc:331
+#: ardour_ui_ed.cc:378
msgid "Punch In/Out"
msgstr "We/wy przełącznika"
-#: ardour_ui_ed.cc:332
+#: ardour_ui_ed.cc:379
msgid "In/Out"
msgstr ""
-#: ardour_ui_ed.cc:335 rc_option_editor.cc:1069
+#: ardour_ui_ed.cc:382 rc_option_editor.cc:1309
msgid "Click"
msgstr "Metronom"
-#: ardour_ui_ed.cc:338
+#: ardour_ui_ed.cc:385
msgid "Auto Input"
msgstr "Wejście dźwięku"
-#: ardour_ui_ed.cc:341
+#: ardour_ui_ed.cc:388
msgid "Auto Play"
msgstr "Autoodtwarzanie"
-#: ardour_ui_ed.cc:352
+#: ardour_ui_ed.cc:399
msgid "Sync Startup to Video"
msgstr ""
-#: ardour_ui_ed.cc:354
+#: ardour_ui_ed.cc:401
msgid "Time Master"
msgstr ""
-#: ardour_ui_ed.cc:361
+#: ardour_ui_ed.cc:408
msgid "Toggle Record Enable Track %1"
msgstr ""
-#: ardour_ui_ed.cc:368
+#: ardour_ui_ed.cc:415
msgid "Percentage"
msgstr "Procenty"
-#: ardour_ui_ed.cc:369 shuttle_control.cc:169
+#: ardour_ui_ed.cc:416 shuttle_control.cc:169
msgid "Semitones"
msgstr "Półtony"
-#: ardour_ui_ed.cc:373
+#: ardour_ui_ed.cc:420
msgid "Send MTC"
msgstr "Wysyłanie MTC"
-#: ardour_ui_ed.cc:375
+#: ardour_ui_ed.cc:422
msgid "Send MMC"
msgstr "Wysyłanie MMC"
-#: ardour_ui_ed.cc:377
+#: ardour_ui_ed.cc:424
msgid "Use MMC"
msgstr "Używanie MMC"
-#: ardour_ui_ed.cc:379 rc_option_editor.cc:1698
+#: ardour_ui_ed.cc:426 rc_option_editor.cc:1978
msgid "Send MIDI Clock"
msgstr ""
-#: ardour_ui_ed.cc:381
+#: ardour_ui_ed.cc:428
msgid "Send MIDI Feedback"
msgstr ""
-#: ardour_ui_ed.cc:387
+#: ardour_ui_ed.cc:434
msgid "Panic"
msgstr ""
-#: ardour_ui_ed.cc:472
+#: ardour_ui_ed.cc:519
msgid "Wall Clock"
msgstr ""
-#: ardour_ui_ed.cc:473
+#: ardour_ui_ed.cc:520
msgid "Disk Space"
msgstr ""
-#: ardour_ui_ed.cc:474
+#: ardour_ui_ed.cc:521
msgid "DSP"
msgstr ""
-#: ardour_ui_ed.cc:475
+#: ardour_ui_ed.cc:522
msgid "Buffers"
msgstr ""
-#: ardour_ui_ed.cc:477
+#: ardour_ui_ed.cc:524
msgid "Timecode Format"
msgstr ""
-#: ardour_ui_ed.cc:478
+#: ardour_ui_ed.cc:525
msgid "File Format"
msgstr ""
-#: ardour_ui_options.cc:61
+#: ardour_ui_options.cc:63
msgid ""
"It is not possible to use JACK as the the sync source\n"
"when the pull up/down setting is non-zero."
@@ -1875,331 +1959,249 @@ msgstr ""
msgid "Internal"
msgstr ""
-#: ardour_ui_options.cc:468
+#: ardour_ui_options.cc:496
msgid "Enable/Disable external positional sync"
msgstr ""
-#: ardour_ui_options.cc:470
+#: ardour_ui_options.cc:498
msgid "Sync to JACK is not possible: video pull up/down is set"
msgstr ""
-#: audio_clock.cc:1012 audio_clock.cc:1031
+#: audio_clock.cc:1028 audio_clock.cc:1047
msgid "--pending--"
msgstr ""
-#: audio_clock.cc:1083
+#: audio_clock.cc:1099
msgid "SR"
msgstr ""
-#: audio_clock.cc:1089 audio_clock.cc:1093
+#: audio_clock.cc:1105 audio_clock.cc:1109
msgid "Pull"
msgstr ""
-#: audio_clock.cc:1091
+#: audio_clock.cc:1107
#, c-format
msgid "%+.4f%%"
msgstr ""
-#: audio_clock.cc:1237 editor.cc:239 editor_actions.cc:135
-#: editor_actions.cc:536
+#: audio_clock.cc:1263 editor.cc:256 editor_actions.cc:139
+#: editor_actions.cc:571
msgid "Tempo"
msgstr "Tempo"
-#: audio_clock.cc:1241 editor.cc:240 editor_actions.cc:537
+#: audio_clock.cc:1267 editor.cc:257 editor_actions.cc:572
msgid "Meter"
msgstr "Metrum"
-#: audio_clock.cc:1819 audio_streamview.cc:116 editor_actions.cc:1039
-#: midi_region_view.cc:2991 session_metadata_dialog.cc:331
+#: audio_clock.cc:1845 audio_streamview.cc:115 editor_actions.cc:1085
+#: midi_region_view.cc:2989 session_metadata_dialog.cc:331
#: session_metadata_dialog.cc:379 session_metadata_dialog.cc:435
-#: session_metadata_dialog.cc:716
+#: session_metadata_dialog.cc:716 streamview.cc:433
msgid "programming error: %1"
msgstr "błąd programowania: %1"
-#: audio_clock.cc:1952 audio_clock.cc:1980
+#: audio_clock.cc:1978 audio_clock.cc:2006
msgid "programming error: %1 %2"
msgstr "błąd programowania: %1 %2"
-#: audio_clock.cc:2048 editor.cc:236 export_timespan_selector.cc:98
+#: audio_clock.cc:2074 editor.cc:253 export_timespan_selector.cc:98
msgid "Bars:Beats"
msgstr "Takty:Uderzenia"
-#: audio_clock.cc:2049 export_timespan_selector.cc:93
+#: audio_clock.cc:2075 export_timespan_selector.cc:93
msgid "Minutes:Seconds"
msgstr "Minuty i sekundy"
-#: audio_clock.cc:2054
+#: audio_clock.cc:2080
msgid "Set From Playhead"
msgstr ""
-#: audio_clock.cc:2055
+#: audio_clock.cc:2081
msgid "Locate to This Time"
msgstr ""
-#: audio_region_editor.cc:63 control_point_dialog.cc:49 rhythm_ferret.cc:125
-#: rhythm_ferret.cc:130 rhythm_ferret.cc:135
+#: audio_region_editor.cc:64 control_point_dialog.cc:49 rhythm_ferret.cc:124
+#: rhythm_ferret.cc:129 rhythm_ferret.cc:134
msgid "dB"
msgstr ""
-#: audio_region_editor.cc:66
+#: audio_region_editor.cc:67
msgid "Region gain:"
msgstr ""
-#: audio_region_editor.cc:76 export_format_dialog.cc:43
+#: audio_region_editor.cc:77 export_format_dialog.cc:43
msgid "dBFS"
msgstr ""
-#: audio_region_editor.cc:79
+#: audio_region_editor.cc:80
msgid "Peak amplitude:"
msgstr ""
-#: audio_region_editor.cc:90
+#: audio_region_editor.cc:91
msgid "Calculating..."
msgstr ""
-#: audio_region_view.cc:1001
+#: audio_region_view.cc:1243
msgid "add gain control point"
msgstr "dodaj punkt kontrolny wzmocnienia"
-#: audio_time_axis.cc:389
+#: audio_time_axis.cc:430 midi_time_axis.cc:619
msgid "Fader"
msgstr "Wzmocnienie"
-#: audio_time_axis.cc:396
+#: audio_time_axis.cc:437 editor_actions.cc:1800 mixer_strip.cc:1961
+#: monitor_section.cc:273 route_time_axis.cc:253
+msgid "Mute"
+msgstr "Wyciszenie"
+
+#: audio_time_axis.cc:445 midi_time_axis.cc:627
msgid "Pan"
msgstr "Panorama"
-#: automation_line.cc:252 automation_line.cc:435
+#: automation_line.cc:272 automation_line.cc:453
msgid "automation event move"
msgstr "przesuń zdarzenie automatyki"
-#: automation_line.cc:462 automation_line.cc:483
+#: automation_line.cc:479 automation_line.cc:499
msgid "automation range move"
msgstr ""
-#: automation_line.cc:823 region_gain_line.cc:73
+#: automation_line.cc:854 region_gain_line.cc:72
msgid "remove control point"
msgstr "usuń punkt kontrolny"
-#: automation_line.cc:941
+#: automation_line.cc:971
msgid "Ignoring illegal points on AutomationLine \"%1\""
msgstr ""
-#: automation_region_view.cc:160 automation_time_axis.cc:583
+#: automation_region_view.cc:162 automation_time_axis.cc:627
msgid "add automation event"
msgstr ""
-#: automation_time_axis.cc:146
+#: automation_time_axis.cc:141
msgid "automation state"
msgstr "stan automatyki"
-#: automation_time_axis.cc:147
+#: automation_time_axis.cc:142
msgid "hide track"
msgstr "ukryj ścieżkę"
-#: automation_time_axis.cc:255 automation_time_axis.cc:307
-#: automation_time_axis.cc:496 gain_meter.cc:194 generic_pluginui.cc:454
-#: generic_pluginui.cc:775 panner_ui.cc:149
+#: automation_time_axis.cc:297 automation_time_axis.cc:349
+#: automation_time_axis.cc:540 gain_meter.cc:186 generic_pluginui.cc:452
+#: generic_pluginui.cc:770 panner_ui.cc:150
msgid "Automation|Manual"
msgstr ""
-#: automation_time_axis.cc:257 automation_time_axis.cc:318
-#: automation_time_axis.cc:501 editor.cc:1937 editor.cc:2014
-#: editor_actions.cc:118 editor_actions.cc:1865 gain_meter.cc:197
-#: generic_pluginui.cc:457 generic_pluginui.cc:777 midi_time_axis.cc:1488
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1494 panner_ui.cc:152
+#: automation_time_axis.cc:299 automation_time_axis.cc:360
+#: automation_time_axis.cc:545 editor.cc:1856 editor.cc:1933
+#: editor_actions.cc:122 editor_actions.cc:1916 gain_meter.cc:189
+#: generic_pluginui.cc:455 generic_pluginui.cc:772 midi_time_axis.cc:1687
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1693 panner_ui.cc:153
msgid "Play"
msgstr "Odtwórz"
-#: automation_time_axis.cc:259 automation_time_axis.cc:329
-#: automation_time_axis.cc:506 gain_meter.cc:200 generic_pluginui.cc:460
-#: generic_pluginui.cc:779 panner_ui.cc:155
+#: automation_time_axis.cc:301 automation_time_axis.cc:371
+#: automation_time_axis.cc:550 gain_meter.cc:192 generic_pluginui.cc:458
+#: generic_pluginui.cc:774 panner_ui.cc:156
msgid "Write"
msgstr "Zapisz"
-#: automation_time_axis.cc:261 automation_time_axis.cc:340
-#: automation_time_axis.cc:511 gain_meter.cc:203 generic_pluginui.cc:463
-#: generic_pluginui.cc:781 panner_ui.cc:158
+#: automation_time_axis.cc:303 automation_time_axis.cc:382
+#: automation_time_axis.cc:555 gain_meter.cc:195 generic_pluginui.cc:461
+#: generic_pluginui.cc:776 panner_ui.cc:159
msgid "Touch"
msgstr "Dotyk"
-#: automation_time_axis.cc:351 generic_pluginui.cc:466 meter_patterns.cc:108
+#: automation_time_axis.cc:393 generic_pluginui.cc:464 meter_patterns.cc:112
msgid "???"
msgstr "???"
-#: automation_time_axis.cc:392
+#: automation_time_axis.cc:434
msgid "clear automation"
msgstr "wyczyść automatyzację"
-#: automation_time_axis.cc:485 editor_actions.cc:613 editor_markers.cc:857
-#: location_ui.cc:55 plugin_selector.cc:85 route_time_axis.cc:708
+#: automation_time_axis.cc:529 editor_actions.cc:655 editor_markers.cc:871
+#: location_ui.cc:56 plugin_selector.cc:86 route_time_axis.cc:827
msgid "Hide"
msgstr "Ukryj"
-#: automation_time_axis.cc:487
+#: automation_time_axis.cc:531
msgid "Clear"
msgstr "Wyczyść"
-#: automation_time_axis.cc:516
+#: automation_time_axis.cc:560
msgid "State"
msgstr "Stan"
-#: automation_time_axis.cc:531
+#: automation_time_axis.cc:575
msgid "Discrete"
msgstr ""
-#: automation_time_axis.cc:537 editor.cc:1458 editor.cc:1465 editor.cc:1521
-#: editor.cc:1527 export_format_dialog.cc:476
+#: automation_time_axis.cc:581 export_format_dialog.cc:485
msgid "Linear"
msgstr "Liniowy"
-#: automation_time_axis.cc:543 rhythm_ferret.cc:110 route_time_axis.cc:647
+#: automation_time_axis.cc:587 rhythm_ferret.cc:109 route_time_axis.cc:765
#: shuttle_control.cc:188
msgid "Mode"
msgstr "Tryb"
-#: bundle_manager.cc:181
+#: bundle_manager.cc:182
msgid "Disassociate"
msgstr ""
-#: bundle_manager.cc:185
+#: bundle_manager.cc:186
msgid "Edit Bundle"
msgstr ""
-#: bundle_manager.cc:200
+#: bundle_manager.cc:201
msgid "Direction:"
msgstr ""
-#: bundle_manager.cc:205 bundle_manager.cc:209 mixer_strip.cc:158
-#: mixer_strip.cc:2127
+#: bundle_manager.cc:206 bundle_manager.cc:210 engine_dialog.cc:641
+#: mixer_strip.cc:164 mixer_strip.cc:371 mixer_strip.cc:2195
+#: rc_option_editor.cc:2198
msgid "Input"
msgstr "Wejście"
-#: bundle_manager.cc:206 bundle_manager.cc:211 bundle_manager.cc:245
-#: mixer_strip.cc:163 mixer_strip.cc:2130
+#: bundle_manager.cc:207 bundle_manager.cc:212 bundle_manager.cc:246
+#: engine_dialog.cc:643 mixer_strip.cc:168 mixer_strip.cc:375
+#: mixer_strip.cc:2198 rc_option_editor.cc:2202
msgid "Output"
msgstr "Wyjście"
-#: bundle_manager.cc:264 editor.cc:1978 editor_actions.cc:90
-#: editor_actions.cc:100
+#: bundle_manager.cc:265 editor.cc:1897 editor_actions.cc:94
+#: editor_actions.cc:104 rc_option_editor.cc:1067 rc_option_editor.cc:1074
msgid "Edit"
msgstr "Edycja"
-#: bundle_manager.cc:265 editor.cc:5497 editor_actions.cc:310
-#: editor_actions.cc:368 plugin_ui.cc:416 processor_box.cc:2268
-#: route_time_axis.cc:713
+#: bundle_manager.cc:266 editor.cc:5593 editor_actions.cc:335
+#: editor_actions.cc:336 editor_actions.cc:402 plugin_ui.cc:417
+#: processor_box.cc:2502 route_time_axis.cc:832
msgid "Delete"
msgstr "Usuń"
-#: bundle_manager.cc:271 bundle_manager.cc:439 editor_route_groups.cc:96
-#: editor_routes.cc:202 midi_list_editor.cc:106 session_metadata_dialog.cc:525
+#: bundle_manager.cc:272 bundle_manager.cc:440 editor_route_groups.cc:97
+#: editor_routes.cc:204 midi_list_editor.cc:106 session_metadata_dialog.cc:525
msgid "Name"
msgstr "Nazwa"
-#: bundle_manager.cc:282
+#: bundle_manager.cc:283
msgid "New"
msgstr "Utwórz"
-#: bundle_manager.cc:332
+#: bundle_manager.cc:333
msgid "Bundle"
msgstr ""
-#: bundle_manager.cc:417
+#: bundle_manager.cc:418
msgid "Add Channel"
msgstr ""
-#: bundle_manager.cc:424
+#: bundle_manager.cc:425
msgid "Rename Channel"
msgstr ""
-#: canvas-simpleline.c:111 canvas-simplerect.c:106
-msgid "x1"
-msgstr ""
-
-#: canvas-simpleline.c:112 canvas-simplerect.c:107
-msgid "x coordinate of upper left corner of rect"
-msgstr ""
-
-#: canvas-simpleline.c:121 canvas-simplerect.c:116
-msgid "y1"
-msgstr ""
-
-#: canvas-simpleline.c:122 canvas-simplerect.c:117
-msgid "y coordinate of upper left corner of rect "
-msgstr ""
-
-#: canvas-simpleline.c:132 canvas-simplerect.c:127
-msgid "x2"
-msgstr ""
-
-#: canvas-simpleline.c:133 canvas-simplerect.c:128
-msgid "x coordinate of lower right corner of rect"
-msgstr ""
-
-#: canvas-simpleline.c:142 canvas-simplerect.c:137
-msgid "y2"
-msgstr ""
-
-#: canvas-simpleline.c:143 canvas-simplerect.c:138
-msgid "y coordinate of lower right corner of rect "
-msgstr ""
-
-#: canvas-simpleline.c:151
-msgid "color rgba"
-msgstr "kolor rgba"
-
-#: canvas-simpleline.c:152
-msgid "color of line"
-msgstr "kolor linii"
-
-#: canvas-simplerect.c:148
-msgid "outline pixels"
-msgstr "piksele konturu"
-
-#: canvas-simplerect.c:149
-msgid "width in pixels of outline"
-msgstr "szerokość konturu w pikselach"
-
-#: canvas-simplerect.c:159
-msgid "outline what"
-msgstr "kontur"
-
-#: canvas-simplerect.c:160
-msgid "which boundaries to outline (mask)"
-msgstr "granice do konturu (maska)"
-
-#: canvas-simplerect.c:171
-msgid "fill"
-msgstr "wypełnij"
-
-#: canvas-simplerect.c:172
-msgid "fill rectangle"
-msgstr "wypełnij prostokąt"
-
-#: canvas-simplerect.c:179
-msgid "draw"
-msgstr "rysuj"
-
-#: canvas-simplerect.c:180
-msgid "draw rectangle"
-msgstr "rysuj prostokÄ…t"
-
-#: canvas-simplerect.c:188
-msgid "outline color rgba"
-msgstr "kolor rgba konturu"
-
-#: canvas-simplerect.c:189
-msgid "color of outline"
-msgstr "kolor konturu"
-
-#: canvas-simplerect.c:199
-msgid "fill color rgba"
-msgstr "kolor rgba wypełnienia"
-
-#: canvas-simplerect.c:200
-msgid "color of fill"
-msgstr "kolor wypełnienia"
-
#: configinfo.cc:28
msgid "Build Configuration"
msgstr ""
@@ -2237,7 +2239,7 @@ msgid "Set selected notes to this length"
msgstr ""
#: edit_note_dialog.cc:58 midi_list_editor.cc:104 patch_change_dialog.cc:91
-#: step_entry.cc:393
+#: step_entry.cc:394
msgid "Channel"
msgstr ""
@@ -2245,7 +2247,7 @@ msgstr ""
msgid "Pitch"
msgstr ""
-#: edit_note_dialog.cc:78 step_entry.cc:407
+#: edit_note_dialog.cc:78 step_entry.cc:408
msgid "Velocity"
msgstr ""
@@ -2253,9 +2255,9 @@ msgstr ""
msgid "Time"
msgstr ""
-#: edit_note_dialog.cc:98 editor_regions.cc:114
-#: export_timespan_selector.cc:359 export_timespan_selector.cc:421
-#: location_ui.cc:317 midi_list_editor.cc:114 time_info_box.cc:105
+#: edit_note_dialog.cc:98 editor_regions.cc:115
+#: export_timespan_selector.cc:378 export_timespan_selector.cc:440
+#: location_ui.cc:319 midi_list_editor.cc:114 time_info_box.cc:108
msgid "Length"
msgstr ""
@@ -2263,1991 +2265,2094 @@ msgstr ""
msgid "edit note"
msgstr ""
-#: editor.cc:137 editor.cc:3433
+#: editor.cc:144
msgid "CD Frames"
msgstr "Klatki CD"
-#: editor.cc:138 editor.cc:3435
-msgid "Timecode Frames"
+#: editor.cc:145
+msgid "TC Frames"
msgstr ""
-#: editor.cc:139 editor.cc:3437
-msgid "Timecode Seconds"
+#: editor.cc:146
+msgid "TC Seconds"
msgstr ""
-#: editor.cc:140 editor.cc:3439
-msgid "Timecode Minutes"
+#: editor.cc:147
+msgid "TC Minutes"
msgstr ""
-#: editor.cc:141 editor.cc:3441
+#: editor.cc:148
msgid "Seconds"
msgstr "Sekundy"
-#: editor.cc:142 editor.cc:3443
+#: editor.cc:149
msgid "Minutes"
msgstr "Minuty"
-#: editor.cc:143 editor.cc:3417 quantize_dialog.cc:37 quantize_dialog.cc:141
+#: editor.cc:150 quantize_dialog.cc:37 quantize_dialog.cc:141
msgid "Beats/128"
msgstr ""
-#: editor.cc:144 editor.cc:3415 quantize_dialog.cc:38 quantize_dialog.cc:143
+#: editor.cc:151 quantize_dialog.cc:38 quantize_dialog.cc:143
msgid "Beats/64"
msgstr ""
-#: editor.cc:145 editor.cc:3413 quantize_dialog.cc:39 quantize_dialog.cc:145
+#: editor.cc:152 quantize_dialog.cc:39 quantize_dialog.cc:145
msgid "Beats/32"
msgstr "Uderzenia/32"
-#: editor.cc:146 editor.cc:3411
+#: editor.cc:153
msgid "Beats/28"
msgstr ""
-#: editor.cc:147 editor.cc:3409
+#: editor.cc:154
msgid "Beats/24"
msgstr ""
-#: editor.cc:148 editor.cc:3407
+#: editor.cc:155
msgid "Beats/20"
msgstr ""
-#: editor.cc:149 editor.cc:3405 quantize_dialog.cc:40 quantize_dialog.cc:147
+#: editor.cc:156 quantize_dialog.cc:40 quantize_dialog.cc:147
msgid "Beats/16"
msgstr "Uderzenia/16"
-#: editor.cc:150 editor.cc:3403
+#: editor.cc:157
msgid "Beats/14"
msgstr ""
-#: editor.cc:151 editor.cc:3401
+#: editor.cc:158
msgid "Beats/12"
msgstr ""
-#: editor.cc:152 editor.cc:3399
+#: editor.cc:159
msgid "Beats/10"
msgstr ""
-#: editor.cc:153 editor.cc:3397 quantize_dialog.cc:41 quantize_dialog.cc:149
+#: editor.cc:160 quantize_dialog.cc:41 quantize_dialog.cc:149
msgid "Beats/8"
msgstr "Uderzenia/8"
-#: editor.cc:154 editor.cc:3395
+#: editor.cc:161
msgid "Beats/7"
msgstr ""
-#: editor.cc:155 editor.cc:3393
+#: editor.cc:162
msgid "Beats/6"
msgstr ""
-#: editor.cc:156 editor.cc:3391
+#: editor.cc:163
msgid "Beats/5"
msgstr ""
-#: editor.cc:157 editor.cc:3389 quantize_dialog.cc:42 quantize_dialog.cc:151
+#: editor.cc:164 quantize_dialog.cc:42 quantize_dialog.cc:151
msgid "Beats/4"
msgstr "Uderzenia/4"
-#: editor.cc:158 editor.cc:3387 quantize_dialog.cc:43 quantize_dialog.cc:153
+#: editor.cc:165 quantize_dialog.cc:43 quantize_dialog.cc:153
msgid "Beats/3"
msgstr "Uderzenia/3"
-#: editor.cc:159 editor.cc:3385 quantize_dialog.cc:44 quantize_dialog.cc:155
+#: editor.cc:166 quantize_dialog.cc:44 quantize_dialog.cc:155
msgid "Beats/2"
msgstr ""
-#: editor.cc:160 editor.cc:3419 quantize_dialog.cc:45 quantize_dialog.cc:157
+#: editor.cc:167 quantize_dialog.cc:45 quantize_dialog.cc:157
msgid "Beats"
msgstr "Uderzenia"
-#: editor.cc:161 editor.cc:3421
+#: editor.cc:168
msgid "Bars"
msgstr "Takty"
-#: editor.cc:162 editor.cc:3423
+#: editor.cc:169
msgid "Marks"
msgstr "Znaczniki"
-#: editor.cc:163 editor.cc:3425
+#: editor.cc:170
msgid "Region starts"
msgstr "PoczÄ…tek obszaru"
-#: editor.cc:164 editor.cc:3427
+#: editor.cc:171
msgid "Region ends"
msgstr "Koniec obszaru"
-#: editor.cc:165 editor.cc:3431
+#: editor.cc:172
msgid "Region syncs"
msgstr "Synchronizacja obszaru"
-#: editor.cc:166 editor.cc:3429
+#: editor.cc:173
msgid "Region bounds"
msgstr "Granice obszaru"
-#: editor.cc:171 editor.cc:3459 editor_actions.cc:485
+#: editor.cc:178 editor_actions.cc:520
msgid "No Grid"
msgstr "Bez siatki"
-#: editor.cc:172 editor.cc:3461 editor_actions.cc:486
+#: editor.cc:179 editor_actions.cc:521
msgid "Grid"
msgstr "Siatka"
-#: editor.cc:173 editor.cc:3463 editor_actions.cc:487
+#: editor.cc:180 editor_actions.cc:522
msgid "Magnetic"
msgstr "PrzyciÄ…ganie"
-#: editor.cc:178 editor.cc:188 editor.cc:3502 editor.cc:3527
-#: editor_actions.cc:117 editor_actions.cc:468
+#: editor.cc:185 editor.cc:203 editor_actions.cc:121 editor_actions.cc:503
msgid "Playhead"
msgstr "GÅ‚owica"
-#: editor.cc:179 editor.cc:3500 editor_actions.cc:470
+#: editor.cc:186 editor_actions.cc:505
msgid "Marker"
msgstr "Znacznik"
-#: editor.cc:180 editor.cc:189 editor.cc:3529 editor_actions.cc:469
+#: editor.cc:187 editor.cc:204 editor_actions.cc:504
msgid "Mouse"
msgstr "Wskaźnik myszy"
-#: editor.cc:185 editor.cc:3521 mono_panner_editor.cc:42
+#: editor.cc:192 editor_actions.cc:512
+msgid "Slide"
+msgstr "Åšlizg"
+
+#: editor.cc:193
+msgid "Splice"
+msgstr "Klocek"
+
+#: editor.cc:194 editor_actions.cc:511
+msgid "Ripple"
+msgstr ""
+
+#: editor.cc:195 editor_actions.cc:157 editor_actions.cc:513
+#: editor_actions.cc:1785 editor_markers.cc:874 editor_rulers.cc:260
+#: location_ui.cc:57 mixer_strip.cc:202 mixer_strip.cc:1983
+msgid "Lock"
+msgstr "Zablokuj"
+
+#: editor.cc:200 mono_panner_editor.cc:42
msgid "Left"
msgstr "Lewa"
-#: editor.cc:186 editor.cc:3523 mono_panner_editor.cc:47
+#: editor.cc:201 mono_panner_editor.cc:47
msgid "Right"
msgstr "Prawa"
-#: editor.cc:187 editor.cc:3525
+#: editor.cc:202
msgid "Center"
msgstr "Åšrodek"
-#: editor.cc:190 editor.cc:3094 editor.cc:3531
+#: editor.cc:205 editor.cc:3145
msgid "Edit point"
msgstr "Punkt edycji"
-#: editor.cc:196
+#: editor.cc:211
msgid "Mushy"
msgstr ""
-#: editor.cc:197
+#: editor.cc:212
msgid "Smooth"
msgstr "PÅ‚ynnie"
-#: editor.cc:198
+#: editor.cc:213
msgid "Balanced multitimbral mixture"
msgstr ""
-#: editor.cc:199
+#: editor.cc:214
msgid "Unpitched percussion with stable notes"
msgstr ""
-#: editor.cc:200
+#: editor.cc:215
msgid "Crisp monophonic instrumental"
msgstr ""
-#: editor.cc:201
+#: editor.cc:216
msgid "Unpitched solo percussion"
msgstr ""
-#: editor.cc:202
+#: editor.cc:217
msgid "Resample without preserving pitch"
msgstr ""
-#: editor.cc:235
+#: editor.cc:252
msgid "Mins:Secs"
msgstr "min:s"
-#: editor.cc:241
+#: editor.cc:258
msgid "Location Markers"
msgstr "Znaczniki położenia"
-#: editor.cc:242
+#: editor.cc:259
msgid "Range Markers"
msgstr "Znaczniki zakresu"
-#: editor.cc:243
+#: editor.cc:260
msgid "Loop/Punch Ranges"
msgstr "Zakresy pętli/przełącznika"
-#: editor.cc:244 editor_actions.cc:540
+#: editor.cc:261 editor_actions.cc:575
msgid "CD Markers"
msgstr "Znaczniki CD"
-#: editor.cc:245
+#: editor.cc:262
msgid "Video Timeline"
msgstr ""
-#: editor.cc:260
+#: editor.cc:279
msgid "mode"
msgstr "tryb"
-#: editor.cc:541
+#: editor.cc:447 editor_actions.cc:114 editor_actions.cc:574
+msgid "Markers"
+msgstr "Znaczniki"
+
+#: editor.cc:554 rc_option_editor.cc:1830
msgid "Regions"
msgstr "Obszar"
-#: editor.cc:542
+#: editor.cc:555
msgid "Tracks & Busses"
msgstr ""
-#: editor.cc:543
+#: editor.cc:556
msgid "Snapshots"
msgstr "Zrzuty"
-#: editor.cc:544
+#: editor.cc:557
msgid "Track & Bus Groups"
msgstr ""
-#: editor.cc:545
+#: editor.cc:558
msgid "Ranges & Marks"
msgstr ""
-#: editor.cc:690 editor.cc:5349 rc_option_editor.cc:1292
-#: rc_option_editor.cc:1300 rc_option_editor.cc:1308 rc_option_editor.cc:1316
-#: rc_option_editor.cc:1333 rc_option_editor.cc:1335 rc_option_editor.cc:1343
-#: rc_option_editor.cc:1351 rc_option_editor.cc:1371 rc_option_editor.cc:1383
-#: rc_option_editor.cc:1385 rc_option_editor.cc:1393 rc_option_editor.cc:1401
-#: rc_option_editor.cc:1409 rc_option_editor.cc:1417 rc_option_editor.cc:1432
-#: rc_option_editor.cc:1436
+#: editor.cc:706 editor.cc:5445 rc_option_editor.cc:1543
+#: rc_option_editor.cc:1551 rc_option_editor.cc:1559 rc_option_editor.cc:1567
+#: rc_option_editor.cc:1591 rc_option_editor.cc:1603 rc_option_editor.cc:1605
+#: rc_option_editor.cc:1613 rc_option_editor.cc:1621 rc_option_editor.cc:1641
+#: rc_option_editor.cc:1653 rc_option_editor.cc:1655 rc_option_editor.cc:1657
+#: rc_option_editor.cc:1665 rc_option_editor.cc:1673 rc_option_editor.cc:1681
+#: rc_option_editor.cc:1696 rc_option_editor.cc:1700
msgid "Editor"
msgstr "Edytor"
-#: editor.cc:1215 editor.cc:1225 editor.cc:4444 editor_actions.cc:130
-#: editor_actions.cc:1813
+#: editor.cc:1288 editor.cc:4503 editor_actions.cc:134 editor_actions.cc:1861
msgid "Loop"
msgstr "Pętla"
-#: editor.cc:1231 editor.cc:1241 editor.cc:4471 editor_actions.cc:131
-#: time_info_box.cc:67
+#: editor.cc:1294 editor.cc:4530 editor_actions.cc:135 time_info_box.cc:68
msgid "Punch"
msgstr "Przełącznik"
-#: editor.cc:1353
+#: editor.cc:1406 rc_option_editor.cc:1585
msgid "Linear (for highly correlated material)"
msgstr ""
-#: editor.cc:1363 editor.cc:1500 editor.cc:1562
+#: editor.cc:1416 rc_option_editor.cc:1586
msgid "Constant power"
msgstr ""
-#: editor.cc:1372 editor.cc:1493 editor.cc:1555
+#: editor.cc:1425 rc_option_editor.cc:1587
msgid "Symmetric"
msgstr ""
-#: editor.cc:1382 editor.cc:1475 editor.cc:1537
+#: editor.cc:1435 rc_option_editor.cc:1588
msgid "Slow"
msgstr "Wolno"
-#: editor.cc:1391 editor.cc:1484 editor.cc:1546 sfdb_ui.cc:1627
-#: sfdb_ui.cc:1736
+#: editor.cc:1444 rc_option_editor.cc:1589 sfdb_ui.cc:1752 sfdb_ui.cc:1862
msgid "Fast"
msgstr "Szybko"
-#: editor.cc:1438
-msgid "programming error: fade in canvas item has no regionview data pointer!"
-msgstr ""
-
-#: editor.cc:1449 editor.cc:1513
+#: editor.cc:1464 editor.cc:1487
msgid "Deactivate"
msgstr "Wyłącz"
-#: editor.cc:1451 editor.cc:1515
+#: editor.cc:1466 editor.cc:1489
msgid "Activate"
msgstr "WÅ‚Ä…cz"
-#: editor.cc:1459 editor.cc:1522
-msgid "Slowest"
-msgstr "Najwolniej"
-
-#: editor.cc:1573 route_time_axis.cc:1877 selection.cc:1009 selection.cc:1064
-msgid "programming error: "
-msgstr "błąd programowania:"
-
-#: editor.cc:1674 editor.cc:1682 editor_ops.cc:3522
+#: editor.cc:1590 editor.cc:1598 editor_ops.cc:3635
msgid "Freeze"
msgstr "Zamroź"
-#: editor.cc:1678
+#: editor.cc:1594
msgid "Unfreeze"
msgstr "Odmroź"
-#: editor.cc:1817
+#: editor.cc:1733
msgid "Selected Regions"
msgstr ""
-#: editor.cc:1853 editor_markers.cc:895
+#: editor.cc:1769 editor_markers.cc:909
msgid "Play Range"
msgstr "Odtwórz zakres"
-#: editor.cc:1854 editor_markers.cc:898
+#: editor.cc:1770 editor_markers.cc:912
msgid "Loop Range"
msgstr "Zapętl zakres"
-#: editor.cc:1863 editor_actions.cc:332
+#: editor.cc:1773 editor_actions.cc:266 editor_markers.cc:919
+msgid "Zoom to Range"
+msgstr ""
+
+#: editor.cc:1782 editor_actions.cc:366
msgid "Move Range Start to Previous Region Boundary"
msgstr ""
-#: editor.cc:1870 editor_actions.cc:339
+#: editor.cc:1789 editor_actions.cc:373
msgid "Move Range Start to Next Region Boundary"
msgstr ""
-#: editor.cc:1877 editor_actions.cc:346
+#: editor.cc:1796 editor_actions.cc:380
msgid "Move Range End to Previous Region Boundary"
msgstr ""
-#: editor.cc:1884 editor_actions.cc:353
+#: editor.cc:1803 editor_actions.cc:387
msgid "Move Range End to Next Region Boundary"
msgstr ""
-#: editor.cc:1890
+#: editor.cc:1809
msgid "Convert to Region In-Place"
msgstr ""
-#: editor.cc:1891
+#: editor.cc:1810
msgid "Convert to Region in Region List"
msgstr ""
-#: editor.cc:1894 editor_markers.cc:925
+#: editor.cc:1813 editor_markers.cc:939
msgid "Select All in Range"
msgstr "Wszystko w zakresie"
-#: editor.cc:1897
+#: editor.cc:1816
msgid "Set Loop from Range"
msgstr ""
-#: editor.cc:1898
+#: editor.cc:1817
msgid "Set Punch from Range"
msgstr ""
-#: editor.cc:1901
+#: editor.cc:1820
msgid "Add Range Markers"
msgstr "Dodaj znaczniki zakresu"
-#: editor.cc:1904
+#: editor.cc:1823
msgid "Crop Region to Range"
msgstr ""
-#: editor.cc:1905
+#: editor.cc:1824
msgid "Fill Range with Region"
msgstr ""
-#: editor.cc:1906 editor_actions.cc:289
+#: editor.cc:1825 editor_actions.cc:311
msgid "Duplicate Range"
msgstr "Duplikuj"
-#: editor.cc:1909
+#: editor.cc:1828
msgid "Consolidate Range"
msgstr ""
-#: editor.cc:1910
+#: editor.cc:1829
msgid "Consolidate Range With Processing"
msgstr ""
-#: editor.cc:1911
+#: editor.cc:1830
msgid "Bounce Range to Region List"
msgstr ""
-#: editor.cc:1912
+#: editor.cc:1831
msgid "Bounce Range to Region List With Processing"
msgstr ""
-#: editor.cc:1913 editor_markers.cc:908
+#: editor.cc:1832 editor_markers.cc:922
msgid "Export Range..."
msgstr ""
-#: editor.cc:1915
+#: editor.cc:1834
msgid "Export Video Range..."
msgstr ""
-#: editor.cc:1931 editor.cc:2012 editor_actions.cc:281
+#: editor.cc:1850 editor.cc:1931 editor_actions.cc:303
msgid "Play From Edit Point"
msgstr "Od punktu edycji"
-#: editor.cc:1932 editor.cc:2013
+#: editor.cc:1851 editor.cc:1932
msgid "Play From Start"
msgstr ""
-#: editor.cc:1933
+#: editor.cc:1852
msgid "Play Region"
msgstr ""
-#: editor.cc:1935
+#: editor.cc:1854
msgid "Loop Region"
msgstr "Zapętl obszar"
-#: editor.cc:1945 editor.cc:2022
+#: editor.cc:1864 editor.cc:1941
msgid "Select All in Track"
msgstr ""
-#: editor.cc:1946 editor.cc:2023 editor_actions.cc:185
-#: export_timespan_selector.cc:53 processor_box.cc:2276
-msgid "Select All"
-msgstr "Wszystko"
+#: editor.cc:1865 editor.cc:1942 editor_actions.cc:194
+msgid "Select All Objects"
+msgstr ""
-#: editor.cc:1947 editor.cc:2024
+#: editor.cc:1866 editor.cc:1943
msgid "Invert Selection in Track"
msgstr ""
-#: editor.cc:1948 editor.cc:2025 editor_actions.cc:187
+#: editor.cc:1867 editor.cc:1944 editor_actions.cc:197
msgid "Invert Selection"
msgstr "Odwróć zaznaczenie"
-#: editor.cc:1950
+#: editor.cc:1869
msgid "Set Range to Loop Range"
msgstr ""
-#: editor.cc:1951
+#: editor.cc:1870
msgid "Set Range to Punch Range"
msgstr ""
-#: editor.cc:1953 editor.cc:2027 editor_actions.cc:188
+#: editor.cc:1872 editor.cc:1946 editor_actions.cc:199 editor_actions.cc:200
msgid "Select All After Edit Point"
msgstr "Wszystko za punktem edycji"
-#: editor.cc:1954 editor.cc:2028 editor_actions.cc:189
+#: editor.cc:1873 editor.cc:1947 editor_actions.cc:201 editor_actions.cc:202
msgid "Select All Before Edit Point"
msgstr "Wszystko przed punktem edycji"
-#: editor.cc:1955 editor.cc:2029
+#: editor.cc:1874 editor.cc:1948
msgid "Select All After Playhead"
msgstr "Wszystko za głowicą"
-#: editor.cc:1956 editor.cc:2030
+#: editor.cc:1875 editor.cc:1949
msgid "Select All Before Playhead"
msgstr "Wszystko przed głowicą"
-#: editor.cc:1957
+#: editor.cc:1876
msgid "Select All Between Playhead and Edit Point"
msgstr ""
-#: editor.cc:1958
+#: editor.cc:1877
msgid "Select All Within Playhead and Edit Point"
msgstr ""
-#: editor.cc:1959
+#: editor.cc:1878
msgid "Select Range Between Playhead and Edit Point"
msgstr ""
-#: editor.cc:1961 editor.cc:2032 editor_actions.cc:127 editor_actions.cc:128
+#: editor.cc:1880 editor.cc:1951 editor_actions.cc:131 editor_actions.cc:132
msgid "Select"
msgstr "Zaznacz"
-#: editor.cc:1969 editor.cc:2040 editor_actions.cc:309 processor_box.cc:2261
+#: editor.cc:1888 editor.cc:1959 editor_actions.cc:334 processor_box.cc:2495
msgid "Cut"
msgstr "Wytnij"
-#: editor.cc:1970 editor.cc:2041 editor_actions.cc:312 processor_box.cc:2264
+#: editor.cc:1889 editor.cc:1960 editor_actions.cc:338 processor_box.cc:2498
msgid "Copy"
msgstr "Skopiuj"
-#: editor.cc:1971 editor.cc:2042 editor_actions.cc:313 processor_box.cc:2272
+#: editor.cc:1890 editor.cc:1961 editor_actions.cc:339 processor_box.cc:2506
msgid "Paste"
msgstr "Wklej"
-#: editor.cc:1975 editor_actions.cc:87
+#: editor.cc:1894 editor_actions.cc:91
msgid "Align"
msgstr "Wyrównaj"
-#: editor.cc:1976
+#: editor.cc:1895
msgid "Align Relative"
msgstr "Wyrównaj relatywnie"
-#: editor.cc:1983
+#: editor.cc:1902
msgid "Insert Selected Region"
msgstr "Wstaw zaznaczony obszar"
-#: editor.cc:1984
+#: editor.cc:1903
msgid "Insert Existing Media"
msgstr ""
-#: editor.cc:1993 editor.cc:2049
+#: editor.cc:1912 editor.cc:1968
msgid "Nudge Entire Track Later"
msgstr ""
-#: editor.cc:1994 editor.cc:2050
+#: editor.cc:1913 editor.cc:1969
msgid "Nudge Track After Edit Point Later"
msgstr ""
-#: editor.cc:1995 editor.cc:2051
+#: editor.cc:1914 editor.cc:1970
msgid "Nudge Entire Track Earlier"
msgstr ""
-#: editor.cc:1996 editor.cc:2052
+#: editor.cc:1915 editor.cc:1971
msgid "Nudge Track After Edit Point Earlier"
msgstr ""
-#: editor.cc:1998 editor.cc:2054
+#: editor.cc:1917 editor.cc:1973
msgid "Nudge"
msgstr "Pchnij"
-#: editor.cc:3074
+#: editor.cc:2916 editor.cc:3491 editor.cc:3561 midi_channel_selector.cc:159
+#: midi_channel_selector.cc:397 midi_channel_selector.cc:433
+msgid "All"
+msgstr ""
+
+#: editor.cc:3122
msgid "Smart Mode (add Range functions to Object mode)"
msgstr ""
-#: editor.cc:3075
+#: editor.cc:3123
msgid "Object Mode (select/move Objects)"
msgstr ""
-#: editor.cc:3076
+#: editor.cc:3124
+msgid "Cut Mode (split Regions)"
+msgstr ""
+
+#: editor.cc:3125
msgid "Range Mode (select/move Ranges)"
msgstr ""
-#: editor.cc:3077
+#: editor.cc:3126
msgid "Draw/Edit MIDI Notes"
msgstr ""
-#: editor.cc:3078
+#: editor.cc:3127
msgid "Draw Region Gain"
msgstr ""
-#: editor.cc:3079
+#: editor.cc:3128
msgid "Select Zoom Range"
msgstr "Ustawia zakres powiększania"
-#: editor.cc:3080
+#: editor.cc:3129
msgid "Stretch/Shrink Regions and MIDI Notes"
msgstr ""
-#: editor.cc:3081
+#: editor.cc:3130
msgid "Listen to Specific Regions"
msgstr "Odtwarza określone obszary"
-#: editor.cc:3082
+#: editor.cc:3131
msgid "Note Level Editing"
msgstr ""
-#: editor.cc:3083
+#: editor.cc:3132
msgid ""
"Groups: click to (de)activate\n"
"Context-click for other operations"
msgstr ""
-#: editor.cc:3084
+#: editor.cc:3133
msgid "Nudge Region/Selection Later"
msgstr ""
-#: editor.cc:3085
+#: editor.cc:3134
msgid "Nudge Region/Selection Earlier"
msgstr ""
-#: editor.cc:3086 editor_actions.cc:242
+#: editor.cc:3135 editor_actions.cc:262
msgid "Zoom In"
msgstr "Powiększ"
-#: editor.cc:3087 editor_actions.cc:241
+#: editor.cc:3136 editor_actions.cc:261
msgid "Zoom Out"
msgstr "Pomniejsz"
-#: editor.cc:3088 editor_actions.cc:243
+#: editor.cc:3137
+msgid "Zoom to Time Scale"
+msgstr ""
+
+#: editor.cc:3138 editor.cc:3513 editor_actions.cc:263
msgid "Zoom to Session"
msgstr "Dopasuj do sesji"
-#: editor.cc:3089
+#: editor.cc:3139
msgid "Zoom focus"
msgstr "Powiększanie do"
-#: editor.cc:3090
+#: editor.cc:3140
msgid "Expand Tracks"
msgstr ""
-#: editor.cc:3091
+#: editor.cc:3141
msgid "Shrink Tracks"
msgstr ""
-#: editor.cc:3092
+#: editor.cc:3142
+msgid "Number of visible tracks"
+msgstr ""
+
+#: editor.cc:3143
msgid "Snap/Grid Units"
msgstr ""
-#: editor.cc:3093
+#: editor.cc:3144
msgid "Snap/Grid Mode"
msgstr "Tryb przyciÄ…gania"
-#: editor.cc:3095
+#: editor.cc:3146
msgid "Edit Mode"
msgstr ""
-#: editor.cc:3096
+#: editor.cc:3147
msgid ""
"Nudge Clock\n"
"(controls distance used to nudge regions and selections)"
msgstr ""
-#: editor.cc:3198
-msgid "malformed URL passed to drag-n-drop code"
-msgstr ""
-
-#: editor.cc:3260 editor_actions.cc:291
+#: editor.cc:3285 editor_actions.cc:313
msgid "Command|Undo"
msgstr ""
-#: editor.cc:3262
+#: editor.cc:3287
msgid "Command|Undo (%1)"
msgstr ""
-#: editor.cc:3269 editor_actions.cc:292
+#: editor.cc:3294 editor_actions.cc:315 editor_actions.cc:316
+#: editor_actions.cc:317
msgid "Redo"
msgstr "Powtórz"
-#: editor.cc:3271
+#: editor.cc:3296
msgid "Redo (%1)"
msgstr "Powtórz (%1)"
-#: editor.cc:3290 editor.cc:3314 editor_actions.cc:106 editor_actions.cc:1794
+#: editor.cc:3315 editor.cc:3339 editor_actions.cc:110 editor_actions.cc:1842
msgid "Duplicate"
msgstr "Powiel"
-#: editor.cc:3291
+#: editor.cc:3316
msgid "Number of duplications:"
msgstr ""
-#: editor.cc:3868
+#: editor.cc:3490
+msgid "Selected"
+msgstr ""
+
+#: editor.cc:3493
+msgid "Fit 1 track"
+msgstr ""
+
+#: editor.cc:3494
+msgid "Fit 2 tracks"
+msgstr ""
+
+#: editor.cc:3495
+msgid "Fit 4 tracks"
+msgstr ""
+
+#: editor.cc:3496
+msgid "Fit 8 tracks"
+msgstr ""
+
+#: editor.cc:3497
+msgid "Fit 16 tracks"
+msgstr ""
+
+#: editor.cc:3498
+msgid "Fit 24 tracks"
+msgstr ""
+
+#: editor.cc:3499
+msgid "Fit 32 tracks"
+msgstr ""
+
+#: editor.cc:3500
+msgid "Fit 48 tracks"
+msgstr ""
+
+#: editor.cc:3501
+msgid "Fit All tracks"
+msgstr ""
+
+#: editor.cc:3502
+msgid "Fit Selected tracks"
+msgstr ""
+
+#: editor.cc:3504
+msgid "Zoom to 10 ms"
+msgstr ""
+
+#: editor.cc:3505
+msgid "Zoom to 100 ms"
+msgstr ""
+
+#: editor.cc:3506
+msgid "Zoom to 1 sec"
+msgstr ""
+
+#: editor.cc:3507
+msgid "Zoom to 10 sec"
+msgstr ""
+
+#: editor.cc:3508
+msgid "Zoom to 1 min"
+msgstr ""
+
+#: editor.cc:3509
+msgid "Zoom to 10 min"
+msgstr ""
+
+#: editor.cc:3510
+msgid "Zoom to 1 hour"
+msgstr ""
+
+#: editor.cc:3511
+msgid "Zoom to 8 hours"
+msgstr ""
+
+#: editor.cc:3512
+msgid "Zoom to 24 hours"
+msgstr ""
+
+#: editor.cc:3514
+msgid "Zoom to Range/Region Selection"
+msgstr ""
+
+#: editor.cc:3583
+msgid "*"
+msgstr ""
+
+#: editor.cc:3918
msgid "Playlist Deletion"
msgstr ""
-#: editor.cc:3869
+#: editor.cc:3919
msgid ""
"Playlist %1 is currently unused.\n"
"If it is kept, its audio files will not be cleaned.\n"
"If it is deleted, audio files used by it alone will be cleaned."
msgstr ""
-#: editor.cc:3879
+#: editor.cc:3929
msgid "Delete Playlist"
msgstr ""
-#: editor.cc:3880
+#: editor.cc:3930
msgid "Keep Playlist"
msgstr ""
-#: editor.cc:3881 editor_audio_import.cc:581 editor_ops.cc:5856
-#: engine_dialog.cc:1711 sfdb_freesound_mootcher.cc:69 processor_box.cc:2030
-#: processor_box.cc:2055
+#: editor.cc:3931 editor_audio_import.cc:579 editor_ops.cc:5931
+#: engine_dialog.cc:1985 sfdb_freesound_mootcher.cc:69 processor_box.cc:2263
+#: processor_box.cc:2288
msgid "Cancel"
msgstr "Anuluj"
-#: editor.cc:4025
+#: editor.cc:4065
msgid "new playlists"
msgstr "nowe listy odtwarzania"
-#: editor.cc:4041
+#: editor.cc:4081
msgid "copy playlists"
msgstr "skopiuj listy odtwarzania"
-#: editor.cc:4056
+#: editor.cc:4096
msgid "clear playlists"
msgstr "wyczyść listy odtwarzania"
-#: editor.cc:4691
+#: editor.cc:4771
msgid "Please wait while %1 loads visual data."
msgstr ""
-#: editor.cc:5496 editor_markers.cc:940 panner_ui.cc:392 processor_box.cc:2292
+#: editor.cc:5592 editor_markers.cc:954 panner_ui.cc:409 processor_box.cc:2526
msgid "Edit..."
msgstr ""
-#: editor_actions.cc:88
+#: editor_actions.cc:92
msgid "Autoconnect"
msgstr "Automatyczne Å‚Ä…czenie"
-#: editor_actions.cc:89
+#: editor_actions.cc:93
msgid "Crossfades"
msgstr "Przejścia krzyżowe"
-#: editor_actions.cc:91
+#: editor_actions.cc:95
msgid "Move Selected Marker"
msgstr "PrzenieÅ› znacznik"
-#: editor_actions.cc:92
+#: editor_actions.cc:96
msgid "Select Range Operations"
msgstr "Operacje na zakresach"
-#: editor_actions.cc:93
+#: editor_actions.cc:97
msgid "Select Regions"
msgstr "Zaznacz obszary"
-#: editor_actions.cc:94
+#: editor_actions.cc:98
msgid "Edit Point"
msgstr "Punkt edycji"
-#: editor_actions.cc:95
+#: editor_actions.cc:99
msgid "Fade"
msgstr "Przejścia"
-#: editor_actions.cc:96
+#: editor_actions.cc:100
msgid "Latch"
msgstr ""
-#: editor_actions.cc:97 editor_regions.cc:111 region_editor.cc:46
+#: editor_actions.cc:101 editor_regions.cc:112 region_editor.cc:45
msgid "Region"
msgstr "Obszar"
-#: editor_actions.cc:98
+#: editor_actions.cc:102
msgid "Layering"
msgstr "Warstwy"
-#: editor_actions.cc:99 editor_regions.cc:112 gtk-custom-ruler.c:152
-#: stereo_panner_editor.cc:44
+#: editor_actions.cc:103 editor_regions.cc:113 stereo_panner_editor.cc:44
msgid "Position"
msgstr "Pozycja"
-#: editor_actions.cc:101 gain_meter.cc:120 gain_meter.cc:794 panner_ui.cc:176
-#: panner_ui.cc:585
+#: editor_actions.cc:105 gain_meter.cc:122 gain_meter.cc:800 panner_ui.cc:177
+#: panner_ui.cc:634
msgid "Trim"
msgstr "Przytnij"
-#: editor_actions.cc:102 editor_actions.cc:122 route_group_dialog.cc:40
+#: editor_actions.cc:106 editor_actions.cc:126 route_group_dialog.cc:46
msgid "Gain"
msgstr "Wzmocnienie"
-#: editor_actions.cc:103 editor_actions.cc:538
+#: editor_actions.cc:107 editor_actions.cc:573
msgid "Ranges"
msgstr "Zakresy"
-#: editor_actions.cc:104 editor_actions.cc:1790 session_option_editor.cc:145
-#: session_option_editor.cc:147 session_option_editor.cc:156
-#: session_option_editor.cc:163
+#: editor_actions.cc:108 editor_actions.cc:1838 session_option_editor.cc:135
+#: session_option_editor.cc:144 session_option_editor.cc:151
msgid "Fades"
msgstr ""
-#: editor_actions.cc:107
+#: editor_actions.cc:111
msgid "Link"
msgstr "ÅÄ…cze"
-#: editor_actions.cc:108 editor_actions.cc:141
+#: editor_actions.cc:112 editor_actions.cc:145
msgid "Zoom Focus"
msgstr "Powiększanie do"
-#: editor_actions.cc:109
+#: editor_actions.cc:113
msgid "Locate to Markers"
msgstr ""
-#: editor_actions.cc:110 editor_actions.cc:539
-msgid "Markers"
-msgstr "Znaczniki"
-
-#: editor_actions.cc:111
+#: editor_actions.cc:115
msgid "Meter falloff"
msgstr "Zmniejszanie metrum"
-#: editor_actions.cc:112
+#: editor_actions.cc:116
msgid "Meter hold"
msgstr "Przytrzymanie metrum"
-#: editor_actions.cc:113 session_option_editor.cc:234
+#: editor_actions.cc:117 session_option_editor.cc:321
msgid "MIDI Options"
msgstr ""
-#: editor_actions.cc:114
+#: editor_actions.cc:118
msgid "Misc Options"
msgstr "Różne"
-#: editor_actions.cc:115 rc_option_editor.cc:1450 route_group_dialog.cc:48
-#: session_option_editor.cc:218 session_option_editor.cc:225
+#: editor_actions.cc:119 rc_option_editor.cc:1714 route_group_dialog.cc:54
+#: session_option_editor.cc:243 session_option_editor.cc:250
msgid "Monitoring"
msgstr "Monitorowanie"
-#: editor_actions.cc:116
+#: editor_actions.cc:120
msgid "Active Mark"
msgstr "Wskaźnik"
-#: editor_actions.cc:119
+#: editor_actions.cc:123
msgid "Primary Clock"
msgstr "Zegar podstawowy"
-#: editor_actions.cc:120
+#: editor_actions.cc:124
msgid "Pullup / Pulldown"
msgstr ""
-#: editor_actions.cc:121
+#: editor_actions.cc:125
msgid "Region operations"
msgstr "Operacje na obszarach"
-#: editor_actions.cc:123
+#: editor_actions.cc:127 ruler_dialog.cc:28
msgid "Rulers"
msgstr "Linijki"
-#: editor_actions.cc:124
+#: editor_actions.cc:128
msgid "Views"
msgstr ""
-#: editor_actions.cc:125
+#: editor_actions.cc:129
msgid "Scroll"
msgstr "Przewijanie"
-#: editor_actions.cc:126
+#: editor_actions.cc:130
msgid "Secondary Clock"
msgstr "Zegar dodatkowy"
-#: editor_actions.cc:129 editor_actions.cc:297
+#: editor_actions.cc:133 editor_actions.cc:322
msgid "Separate"
msgstr "Oddziel"
-#: editor_actions.cc:132 mixer_strip.cc:1914 route_time_axis.cc:208
-#: route_time_axis.cc:2417
-msgid "Solo"
-msgstr "Solo"
-
-#: editor_actions.cc:133
+#: editor_actions.cc:137
msgid "Subframes"
msgstr "Podklatki"
-#: editor_actions.cc:136
+#: editor_actions.cc:140
msgid "Timecode fps"
msgstr "Klatek na sekundÄ™ licznika czasu"
-#: editor_actions.cc:137 route_time_axis.cc:430
+#: editor_actions.cc:141 route_time_axis.cc:548
msgid "Height"
msgstr "Rozmiar"
-#: editor_actions.cc:139
+#: editor_actions.cc:143
msgid "Tools"
msgstr "Narzędzia"
-#: editor_actions.cc:140
+#: editor_actions.cc:144
msgid "View"
msgstr "Widok"
-#: editor_actions.cc:142
+#: editor_actions.cc:146
msgid "Zoom"
msgstr "Powiększenie"
-#: editor_actions.cc:148
+#: editor_actions.cc:152
msgid "Break drag or deselect all"
msgstr ""
-#: editor_actions.cc:150
+#: editor_actions.cc:159
msgid "Show Editor Mixer"
msgstr "Mikser obok edytora"
-#: editor_actions.cc:151
+#: editor_actions.cc:160
msgid "Show Editor List"
msgstr ""
-#: editor_actions.cc:153
+#: editor_actions.cc:162
msgid "Playhead to Next Region Boundary"
msgstr "Do granicy następnego obszaru"
-#: editor_actions.cc:154
+#: editor_actions.cc:163
msgid "Playhead to Next Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:155
+#: editor_actions.cc:164
msgid "Playhead to Previous Region Boundary"
msgstr "Do granicy poprzedniego obszaru"
-#: editor_actions.cc:156
+#: editor_actions.cc:165
msgid "Playhead to Previous Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:158
+#: editor_actions.cc:167
msgid "Playhead to Next Region Start"
msgstr "Do początku następnego obszaru"
-#: editor_actions.cc:159
+#: editor_actions.cc:168
msgid "Playhead to Next Region End"
msgstr "Do końca następnego obszaru"
-#: editor_actions.cc:160
+#: editor_actions.cc:169
msgid "Playhead to Next Region Sync"
msgstr "Do następnej synchronizacji obszaru"
-#: editor_actions.cc:162
+#: editor_actions.cc:171
msgid "Playhead to Previous Region Start"
msgstr "Do poczÄ…tku poprzedniego obszaru"
-#: editor_actions.cc:163
+#: editor_actions.cc:172
msgid "Playhead to Previous Region End"
msgstr "Do końca poprzedniego obszaru"
-#: editor_actions.cc:164
+#: editor_actions.cc:173
msgid "Playhead to Previous Region Sync"
msgstr "Do poprzedniej synchronizacji obszaru"
-#: editor_actions.cc:166
+#: editor_actions.cc:175
msgid "To Next Region Boundary"
msgstr ""
-#: editor_actions.cc:167
+#: editor_actions.cc:176
msgid "To Next Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:168
+#: editor_actions.cc:177
msgid "To Previous Region Boundary"
msgstr ""
-#: editor_actions.cc:169
+#: editor_actions.cc:178
msgid "To Previous Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:171
+#: editor_actions.cc:180
msgid "To Next Region Start"
msgstr ""
-#: editor_actions.cc:172
+#: editor_actions.cc:181
msgid "To Next Region End"
msgstr ""
-#: editor_actions.cc:173
+#: editor_actions.cc:182
msgid "To Next Region Sync"
msgstr ""
-#: editor_actions.cc:175
+#: editor_actions.cc:184
msgid "To Previous Region Start"
msgstr ""
-#: editor_actions.cc:176
+#: editor_actions.cc:185
msgid "To Previous Region End"
msgstr ""
-#: editor_actions.cc:177
+#: editor_actions.cc:186
msgid "To Previous Region Sync"
msgstr ""
-#: editor_actions.cc:179
+#: editor_actions.cc:188
msgid "To Range Start"
msgstr ""
-#: editor_actions.cc:180
+#: editor_actions.cc:189
msgid "To Range End"
msgstr ""
-#: editor_actions.cc:182
+#: editor_actions.cc:191
msgid "Playhead to Range Start"
msgstr "GÅ‚owica do poczÄ…tku zakresu"
-#: editor_actions.cc:183
+#: editor_actions.cc:192
msgid "Playhead to Range End"
msgstr "Głowica do końca zakresu"
-#: editor_actions.cc:186 export_timespan_selector.cc:61 processor_box.cc:2278
+#: editor_actions.cc:195
+msgid "Select All Tracks"
+msgstr ""
+
+#: editor_actions.cc:196 export_timespan_selector.cc:61 processor_box.cc:2512
msgid "Deselect All"
msgstr "Nic"
-#: editor_actions.cc:191
+#: editor_actions.cc:204
msgid "Select All Overlapping Edit Range"
msgstr ""
-#: editor_actions.cc:192
+#: editor_actions.cc:205
msgid "Select All Inside Edit Range"
msgstr ""
-#: editor_actions.cc:194
+#: editor_actions.cc:207
msgid "Select Edit Range"
msgstr ""
-#: editor_actions.cc:196
+#: editor_actions.cc:209
msgid "Select All in Punch Range"
msgstr "Wszystko w zakresie przełącznika"
-#: editor_actions.cc:197
+#: editor_actions.cc:210
msgid "Select All in Loop Range"
msgstr "Wszystko w zakresie pętli"
-#: editor_actions.cc:199
+#: editor_actions.cc:212
msgid "Select Next Track or Bus"
msgstr ""
-#: editor_actions.cc:200
+#: editor_actions.cc:213
msgid "Select Previous Track or Bus"
msgstr ""
-#: editor_actions.cc:202
+#: editor_actions.cc:215
msgid "Toggle Record Enable"
msgstr ""
-#: editor_actions.cc:204
+#: editor_actions.cc:217
msgid "Toggle Solo"
msgstr ""
-#: editor_actions.cc:206
+#: editor_actions.cc:219
msgid "Toggle Mute"
msgstr ""
-#: editor_actions.cc:208
+#: editor_actions.cc:221
msgid "Toggle Solo Isolate"
msgstr ""
-#: editor_actions.cc:213
+#: editor_actions.cc:226
msgid "Save View %1"
msgstr ""
-#: editor_actions.cc:219
+#: editor_actions.cc:232
msgid "Goto View %1"
msgstr ""
-#: editor_actions.cc:225
+#: editor_actions.cc:238
msgid "Locate to Mark %1"
msgstr ""
-#: editor_actions.cc:229
+#: editor_actions.cc:242 editor_actions.cc:243
msgid "Jump to Next Mark"
msgstr ""
-#: editor_actions.cc:230
+#: editor_actions.cc:244 editor_actions.cc:245
msgid "Jump to Previous Mark"
msgstr ""
-#: editor_actions.cc:231
+#: editor_actions.cc:247 editor_actions.cc:248
msgid "Add Mark from Playhead"
msgstr "Dodaj znacznik w położeniu głowicy"
-#: editor_actions.cc:233
+#: editor_actions.cc:250 editor_actions.cc:251
+msgid "Remove Mark at Playhead"
+msgstr ""
+
+#: editor_actions.cc:253
msgid "Nudge Next Later"
msgstr ""
-#: editor_actions.cc:234
+#: editor_actions.cc:254
msgid "Nudge Next Earlier"
msgstr ""
-#: editor_actions.cc:236
+#: editor_actions.cc:256
msgid "Nudge Playhead Forward"
msgstr "Do przodu"
-#: editor_actions.cc:237
+#: editor_actions.cc:257
msgid "Nudge Playhead Backward"
msgstr "Do tyłu"
-#: editor_actions.cc:238
+#: editor_actions.cc:258
msgid "Playhead To Next Grid"
msgstr ""
-#: editor_actions.cc:239
+#: editor_actions.cc:259
msgid "Playhead To Previous Grid"
msgstr ""
-#: editor_actions.cc:244
+#: editor_actions.cc:264
msgid "Zoom to Region"
msgstr "Powiększanie do obszaru"
-#: editor_actions.cc:245
+#: editor_actions.cc:265
msgid "Zoom to Region (Width and Height)"
msgstr ""
-#: editor_actions.cc:246
+#: editor_actions.cc:267
+msgid "Zoom to Range (Width and Height)"
+msgstr ""
+
+#: editor_actions.cc:268
msgid "Toggle Zoom State"
msgstr ""
-#: editor_actions.cc:248
+#: editor_actions.cc:270
msgid "Expand Track Height"
msgstr ""
-#: editor_actions.cc:249
+#: editor_actions.cc:271
msgid "Shrink Track Height"
msgstr ""
-#: editor_actions.cc:251
+#: editor_actions.cc:273
msgid "Move Selected Tracks Up"
msgstr ""
-#: editor_actions.cc:253
+#: editor_actions.cc:275
msgid "Move Selected Tracks Down"
msgstr ""
-#: editor_actions.cc:256
+#: editor_actions.cc:278
msgid "Scroll Tracks Up"
msgstr "Przewiń ścieżki do góry"
-#: editor_actions.cc:258
+#: editor_actions.cc:280
msgid "Scroll Tracks Down"
msgstr "Przewiń ścieżki na dół"
-#: editor_actions.cc:260
+#: editor_actions.cc:282
msgid "Step Tracks Up"
msgstr "Przesuń ścieżki w górę"
-#: editor_actions.cc:262
+#: editor_actions.cc:284
msgid "Step Tracks Down"
msgstr "Przesuń ścieżki w dół"
-#: editor_actions.cc:265
+#: editor_actions.cc:287
msgid "Scroll Backward"
msgstr "Przewiń do tyłu"
-#: editor_actions.cc:266
+#: editor_actions.cc:288
msgid "Scroll Forward"
msgstr "Przewiń do przodu"
-#: editor_actions.cc:267
+#: editor_actions.cc:289
msgid "Center Playhead"
msgstr "Wyśrodkuj"
-#: editor_actions.cc:268
+#: editor_actions.cc:290
msgid "Center Edit Point"
msgstr ""
-#: editor_actions.cc:270
+#: editor_actions.cc:292
msgid "Playhead Forward"
msgstr "GÅ‚owica do przodu"
-#: editor_actions.cc:271
+#: editor_actions.cc:293
msgid "Playhead Backward"
msgstr "Głowica do tyłu"
-#: editor_actions.cc:273
+#: editor_actions.cc:295
msgid "Playhead to Active Mark"
msgstr ""
-#: editor_actions.cc:274
+#: editor_actions.cc:296
msgid "Active Mark to Playhead"
msgstr ""
-#: editor_actions.cc:276
+#: editor_actions.cc:298
msgid "Set Loop from Edit Range"
msgstr ""
-#: editor_actions.cc:277
+#: editor_actions.cc:299
msgid "Set Punch from Edit Range"
msgstr ""
-#: editor_actions.cc:280
+#: editor_actions.cc:302
msgid "Play Selected Regions"
msgstr ""
-#: editor_actions.cc:282
+#: editor_actions.cc:304
msgid "Play from Edit Point and Return"
msgstr ""
-#: editor_actions.cc:284
+#: editor_actions.cc:306
msgid "Play Edit Range"
msgstr "Zaznaczenie"
-#: editor_actions.cc:286
+#: editor_actions.cc:308
msgid "Playhead to Mouse"
msgstr "Do kursora myszy"
-#: editor_actions.cc:287
+#: editor_actions.cc:309
msgid "Active Marker to Mouse"
msgstr "Do kursora myszy"
-#: editor_actions.cc:294
+#: editor_actions.cc:319
msgid "Export Audio"
msgstr ""
-#: editor_actions.cc:295 export_dialog.cc:406
+#: editor_actions.cc:320 export_dialog.cc:396
msgid "Export Range"
msgstr "Eksport zakresu"
-#: editor_actions.cc:300
+#: editor_actions.cc:325
msgid "Separate Using Punch Range"
msgstr ""
-#: editor_actions.cc:303
+#: editor_actions.cc:328
msgid "Separate Using Loop Range"
msgstr ""
-#: editor_actions.cc:306 editor_actions.cc:323
+#: editor_actions.cc:331 editor_actions.cc:353
msgid "Crop"
msgstr "Przytnij"
-#: editor_actions.cc:315
+#: editor_actions.cc:341
+msgid "Fade Range Selection"
+msgstr ""
+
+#: editor_actions.cc:343
msgid "Set Tempo from Edit Range = Bar"
msgstr ""
-#: editor_actions.cc:317
+#: editor_actions.cc:345
msgid "Log"
msgstr ""
-#: editor_actions.cc:320
+#: editor_actions.cc:348 editor_actions.cc:349
msgid "Move Later to Transient"
msgstr ""
-#: editor_actions.cc:321
+#: editor_actions.cc:350 editor_actions.cc:351
msgid "Move Earlier to Transient"
msgstr ""
-#: editor_actions.cc:325
+#: editor_actions.cc:355 editor_actions.cc:358
msgid "Start Range"
msgstr "Rozpocznij zakres"
-#: editor_actions.cc:326
+#: editor_actions.cc:356 editor_actions.cc:359
msgid "Finish Range"
msgstr "Zakończ zakres"
-#: editor_actions.cc:327
-msgid "Finish Add Range"
-msgstr ""
-
-#: editor_actions.cc:357
+#: editor_actions.cc:391
msgid "Follow Playhead"
msgstr "Podążanie za głowicą"
-#: editor_actions.cc:358
+#: editor_actions.cc:392
msgid "Remove Last Capture"
msgstr "Usuń ostatnie nagranie"
-#: editor_actions.cc:360
+#: editor_actions.cc:394
msgid "Stationary Playhead"
msgstr ""
-#: editor_actions.cc:362 insert_time_dialog.cc:32
+#: editor_actions.cc:396 insert_time_dialog.cc:32
msgid "Insert Time"
msgstr "Czas wstawienia"
-#: editor_actions.cc:365
+#: editor_actions.cc:399
msgid "Toggle Active"
msgstr "Przełącz aktywność"
-#: editor_actions.cc:370 editor_actions.cc:1716 editor_markers.cc:876
-#: editor_markers.cc:941 editor_snapshots.cc:121 mixer_strip.cc:1495
-#: route_time_axis.cc:710
+#: editor_actions.cc:404 editor_actions.cc:1764 editor_markers.cc:890
+#: editor_markers.cc:955 editor_snapshots.cc:122 mixer_strip.cc:1506
+#: route_time_axis.cc:829
msgid "Remove"
msgstr "Usuń"
-#: editor_actions.cc:374
+#: editor_actions.cc:408
msgid "Fit Selected Tracks"
msgstr ""
-#: editor_actions.cc:376 time_axis_view.cc:1302
+#: editor_actions.cc:411 time_axis_view.cc:1336
msgid "Largest"
msgstr "Największy"
-#: editor_actions.cc:379 time_axis_view.cc:1303
+#: editor_actions.cc:414 time_axis_view.cc:1337
msgid "Larger"
msgstr "Większy"
-#: editor_actions.cc:382 editor_rulers.cc:375 time_axis_view.cc:1304
+#: editor_actions.cc:417 editor_rulers.cc:249 time_axis_view.cc:1338
msgid "Large"
msgstr "Duży"
-#: editor_actions.cc:388 editor_rulers.cc:379 time_axis_view.cc:1306
+#: editor_actions.cc:423 editor_rulers.cc:253 time_axis_view.cc:1340
msgid "Small"
msgstr "Mały"
-#: editor_actions.cc:392
+#: editor_actions.cc:427
msgid "Sound Selected MIDI Notes"
msgstr ""
-#: editor_actions.cc:397
+#: editor_actions.cc:432
msgid "Zoom Focus Left"
msgstr "Do lewej"
-#: editor_actions.cc:398
+#: editor_actions.cc:433
msgid "Zoom Focus Right"
msgstr "Do prawej"
-#: editor_actions.cc:399
+#: editor_actions.cc:434
msgid "Zoom Focus Center"
msgstr "Do środka"
-#: editor_actions.cc:400
+#: editor_actions.cc:435
msgid "Zoom Focus Playhead"
msgstr "Do głowicy"
-#: editor_actions.cc:401
+#: editor_actions.cc:436
msgid "Zoom Focus Mouse"
msgstr "Do kursora myszy"
-#: editor_actions.cc:402
+#: editor_actions.cc:437
msgid "Zoom Focus Edit Point"
msgstr ""
-#: editor_actions.cc:404
+#: editor_actions.cc:439
msgid "Next Zoom Focus"
msgstr ""
-#: editor_actions.cc:410
+#: editor_actions.cc:445
msgid "Smart Object Mode"
msgstr ""
-#: editor_actions.cc:413
+#: editor_actions.cc:448
msgid "Smart"
msgstr ""
-#: editor_actions.cc:417
+#: editor_actions.cc:451
msgid "Object Tool"
msgstr "Narzędzie obiektów"
-#: editor_actions.cc:423
+#: editor_actions.cc:456
msgid "Range Tool"
msgstr "Narzędzie zakresów"
-#: editor_actions.cc:429
+#: editor_actions.cc:461
msgid "Note Drawing Tool"
msgstr ""
-#: editor_actions.cc:435
+#: editor_actions.cc:466
msgid "Gain Tool"
msgstr "Narzędzie wzmocnienia"
-#: editor_actions.cc:441
+#: editor_actions.cc:472
msgid "Zoom Tool"
msgstr "Narzędzie powiększenia"
-#: editor_actions.cc:447
+#: editor_actions.cc:478
msgid "Audition Tool"
msgstr ""
-#: editor_actions.cc:453
+#: editor_actions.cc:483
msgid "Time FX Tool"
msgstr ""
-#: editor_actions.cc:459
+#: editor_actions.cc:489
+msgid "Cut Tool"
+msgstr ""
+
+#: editor_actions.cc:495
msgid "Step Mouse Mode"
msgstr ""
-#: editor_actions.cc:461
+#: editor_actions.cc:497
msgid "Edit MIDI"
msgstr ""
-#: editor_actions.cc:472
+#: editor_actions.cc:507
msgid "Change Edit Point"
msgstr ""
-#: editor_actions.cc:473
+#: editor_actions.cc:508
msgid "Change Edit Point Including Marker"
msgstr ""
-#: editor_actions.cc:475
-msgid "Splice"
-msgstr "Klocek"
-
-#: editor_actions.cc:477
-msgid "Slide"
-msgstr "Åšlizg"
-
-#: editor_actions.cc:478 editor_actions.cc:1737 editor_markers.cc:860
-#: editor_rulers.cc:386 location_ui.cc:56
-msgid "Lock"
-msgstr "Zablokuj"
-
-#: editor_actions.cc:479
-msgid "Toggle Edit Mode"
-msgstr "Przełącz tryb edycji"
+#: editor_actions.cc:514
+msgid "Cycle Edit Mode"
+msgstr ""
-#: editor_actions.cc:481
+#: editor_actions.cc:516
msgid "Snap to"
msgstr ""
-#: editor_actions.cc:482
+#: editor_actions.cc:517
msgid "Snap Mode"
msgstr "Tryb przyciÄ…gania"
-#: editor_actions.cc:489
+#: editor_actions.cc:524
msgid "Next Snap Mode"
msgstr ""
-#: editor_actions.cc:490
+#: editor_actions.cc:525
msgid "Next Snap Choice"
msgstr ""
-#: editor_actions.cc:491
+#: editor_actions.cc:526
msgid "Next Musical Snap Choice"
msgstr ""
-#: editor_actions.cc:492
+#: editor_actions.cc:527
msgid "Previous Snap Choice"
msgstr ""
-#: editor_actions.cc:493
+#: editor_actions.cc:528
msgid "Previous Musical Snap Choice"
msgstr ""
-#: editor_actions.cc:498
+#: editor_actions.cc:533
msgid "Snap to CD Frame"
msgstr ""
-#: editor_actions.cc:499
+#: editor_actions.cc:534
msgid "Snap to Timecode Frame"
msgstr ""
-#: editor_actions.cc:500
+#: editor_actions.cc:535
msgid "Snap to Timecode Seconds"
msgstr ""
-#: editor_actions.cc:501
+#: editor_actions.cc:536
msgid "Snap to Timecode Minutes"
msgstr ""
-#: editor_actions.cc:502
+#: editor_actions.cc:537
msgid "Snap to Seconds"
msgstr ""
-#: editor_actions.cc:503
+#: editor_actions.cc:538
msgid "Snap to Minutes"
msgstr ""
-#: editor_actions.cc:505
+#: editor_actions.cc:540
msgid "Snap to One Twenty Eighths"
msgstr ""
-#: editor_actions.cc:506
+#: editor_actions.cc:541
msgid "Snap to Sixty Fourths"
msgstr ""
-#: editor_actions.cc:507
+#: editor_actions.cc:542
msgid "Snap to Thirty Seconds"
msgstr ""
-#: editor_actions.cc:508
+#: editor_actions.cc:543
msgid "Snap to Twenty Eighths"
msgstr ""
-#: editor_actions.cc:509
+#: editor_actions.cc:544
msgid "Snap to Twenty Fourths"
msgstr ""
-#: editor_actions.cc:510
+#: editor_actions.cc:545
msgid "Snap to Twentieths"
msgstr ""
-#: editor_actions.cc:511
+#: editor_actions.cc:546
msgid "Snap to Sixteenths"
msgstr ""
-#: editor_actions.cc:512
+#: editor_actions.cc:547
msgid "Snap to Fourteenths"
msgstr ""
-#: editor_actions.cc:513
+#: editor_actions.cc:548
msgid "Snap to Twelfths"
msgstr ""
-#: editor_actions.cc:514
+#: editor_actions.cc:549
msgid "Snap to Tenths"
msgstr ""
-#: editor_actions.cc:515
+#: editor_actions.cc:550
msgid "Snap to Eighths"
msgstr ""
-#: editor_actions.cc:516
+#: editor_actions.cc:551
msgid "Snap to Sevenths"
msgstr ""
-#: editor_actions.cc:517
+#: editor_actions.cc:552
msgid "Snap to Sixths"
msgstr ""
-#: editor_actions.cc:518
+#: editor_actions.cc:553
msgid "Snap to Fifths"
msgstr ""
-#: editor_actions.cc:519
+#: editor_actions.cc:554
msgid "Snap to Quarters"
msgstr ""
-#: editor_actions.cc:520
+#: editor_actions.cc:555
msgid "Snap to Thirds"
msgstr ""
-#: editor_actions.cc:521
+#: editor_actions.cc:556
msgid "Snap to Halves"
msgstr ""
-#: editor_actions.cc:523
+#: editor_actions.cc:558
msgid "Snap to Beat"
msgstr ""
-#: editor_actions.cc:524
+#: editor_actions.cc:559
msgid "Snap to Bar"
msgstr ""
-#: editor_actions.cc:525
+#: editor_actions.cc:560
msgid "Snap to Mark"
msgstr ""
-#: editor_actions.cc:526
+#: editor_actions.cc:561
msgid "Snap to Region Start"
msgstr ""
-#: editor_actions.cc:527
+#: editor_actions.cc:562
msgid "Snap to Region End"
msgstr ""
-#: editor_actions.cc:528
+#: editor_actions.cc:563
msgid "Snap to Region Sync"
msgstr ""
-#: editor_actions.cc:529
+#: editor_actions.cc:564
msgid "Snap to Region Boundary"
msgstr ""
-#: editor_actions.cc:531
+#: editor_actions.cc:566
msgid "Show Marker Lines"
msgstr ""
-#: editor_actions.cc:541
+#: editor_actions.cc:576
msgid "Loop/Punch"
msgstr "Pętla/przełącznik"
-#: editor_actions.cc:545
+#: editor_actions.cc:580
msgid "Min:Sec"
msgstr "Minuty i sekundy"
-#: editor_actions.cc:547 editor_actions.cc:550
+#: editor_actions.cc:582 editor_actions.cc:585
msgid "Video Monitor"
msgstr ""
-#: editor_actions.cc:549 rc_option_editor.cc:1829
+#: editor_actions.cc:584 rc_option_editor.cc:2134
msgid "Video"
msgstr ""
-#: editor_actions.cc:552
+#: editor_actions.cc:587
msgid "Always on Top"
msgstr ""
-#: editor_actions.cc:554
+#: editor_actions.cc:589
msgid "Frame number"
msgstr ""
-#: editor_actions.cc:555
+#: editor_actions.cc:590
msgid "Timecode Background"
msgstr ""
-#: editor_actions.cc:556
+#: editor_actions.cc:591
msgid "Fullscreen"
msgstr ""
-#: editor_actions.cc:557
+#: editor_actions.cc:592
msgid "Letterbox"
msgstr ""
-#: editor_actions.cc:558
+#: editor_actions.cc:593
msgid "Original Size"
msgstr ""
-#: editor_actions.cc:608
+#: editor_actions.cc:650
msgid "Sort"
msgstr "Sortuj"
-#: editor_actions.cc:610 region_editor.cc:51
-msgid "Audition"
-msgstr "Odsłuch"
-
-#: editor_actions.cc:619 editor_routes.cc:470 mixer_ui.cc:1161
+#: editor_actions.cc:661 editor_routes.cc:473 mixer_ui.cc:1181
msgid "Show All"
msgstr "Wyświetl wszystko"
-#: editor_actions.cc:620
+#: editor_actions.cc:662
msgid "Show Automatic Regions"
msgstr ""
-#: editor_actions.cc:622
+#: editor_actions.cc:664
msgid "Ascending"
msgstr "RosnÄ…co"
-#: editor_actions.cc:624
+#: editor_actions.cc:666
msgid "Descending"
msgstr "MalejÄ…co"
-#: editor_actions.cc:627
+#: editor_actions.cc:669
msgid "By Region Name"
msgstr "Według nazwy obszaru"
-#: editor_actions.cc:629
+#: editor_actions.cc:671
msgid "By Region Length"
msgstr "Według długości obszaru"
-#: editor_actions.cc:631
+#: editor_actions.cc:673
msgid "By Region Position"
msgstr "Według pozycji obszaru"
-#: editor_actions.cc:633
+#: editor_actions.cc:675
msgid "By Region Timestamp"
msgstr "Według timestamp obszaru"
-#: editor_actions.cc:635
+#: editor_actions.cc:677
msgid "By Region Start in File"
msgstr "Według początku obszaru w pliku"
-#: editor_actions.cc:637
+#: editor_actions.cc:679
msgid "By Region End in File"
msgstr "Według końca obszaru w pliku"
-#: editor_actions.cc:639
+#: editor_actions.cc:681
msgid "By Source File Name"
msgstr "Według nazwy pliku źrodłowego"
-#: editor_actions.cc:641
+#: editor_actions.cc:683
msgid "By Source File Length"
msgstr "Według długości pliku źródłowego"
-#: editor_actions.cc:643
+#: editor_actions.cc:685
msgid "By Source File Creation Date"
msgstr "Według daty utworzenia pliku źródłowego"
-#: editor_actions.cc:645
+#: editor_actions.cc:687
msgid "By Source Filesystem"
msgstr "Według systemu plików źródła"
-#: editor_actions.cc:648
+#: editor_actions.cc:690
msgid "Remove Unused"
msgstr ""
-#: editor_actions.cc:652 editor_audio_import.cc:279
+#: editor_actions.cc:694 editor_audio_import.cc:277
#: session_import_dialog.cc:74 session_import_dialog.cc:94
-#: session_metadata_dialog.cc:297 editor_videotimeline.cc:108
+#: session_metadata_dialog.cc:297 editor_videotimeline.cc:92
msgid "Import"
msgstr "Importuj"
-#: editor_actions.cc:655
+#: editor_actions.cc:697
msgid "Import to Region List..."
msgstr ""
-#: editor_actions.cc:658 session_import_dialog.cc:43
+#: editor_actions.cc:700 session_import_dialog.cc:43
msgid "Import From Session"
msgstr ""
-#: editor_actions.cc:661
+#: editor_actions.cc:704
+msgid "Bring all media into session folder"
+msgstr ""
+
+#: editor_actions.cc:707
msgid "Show Summary"
msgstr ""
-#: editor_actions.cc:663
+#: editor_actions.cc:709
msgid "Show Group Tabs"
msgstr ""
-#: editor_actions.cc:665
+#: editor_actions.cc:711
msgid "Show Measures"
msgstr "Linie"
-#: editor_actions.cc:669
+#: editor_actions.cc:715
msgid "Show Logo"
msgstr "Wyświetlanie logo"
-#: editor_actions.cc:673
+#: editor_actions.cc:719
msgid "Toggle MIDI Input Active for Editor-Selected Tracks/Busses"
msgstr ""
-#: editor_actions.cc:696
+#: editor_actions.cc:742
msgid "Loaded editor bindings from %1"
msgstr ""
-#: editor_actions.cc:698
+#: editor_actions.cc:744
msgid "Could not find editor.bindings in search path %1"
msgstr ""
-#: editor_actions.cc:1028 editor_actions.cc:1424 editor_actions.cc:1435
-#: editor_actions.cc:1488 editor_actions.cc:1499 editor_actions.cc:1546
-#: editor_actions.cc:1556 editor_regions.cc:1561
+#: editor_actions.cc:1074 editor_actions.cc:1470 editor_actions.cc:1481
+#: editor_actions.cc:1534 editor_actions.cc:1545 editor_actions.cc:1592
+#: editor_actions.cc:1602 editor_regions.cc:1562
msgid "programming error: %1: %2"
msgstr "błąd programowania: %1: %2"
-#: editor_actions.cc:1722
+#: editor_actions.cc:1770
msgid "Raise"
msgstr ""
-#: editor_actions.cc:1725
+#: editor_actions.cc:1773
msgid "Raise to Top"
msgstr ""
-#: editor_actions.cc:1728 gtk-custom-ruler.c:132
+#: editor_actions.cc:1776
msgid "Lower"
msgstr ""
-#: editor_actions.cc:1731
+#: editor_actions.cc:1779
msgid "Lower to Bottom"
msgstr ""
-#: editor_actions.cc:1734
+#: editor_actions.cc:1782
msgid "Move to Original Position"
msgstr ""
-#: editor_actions.cc:1739
+#: editor_actions.cc:1787
msgid "Lock to Video"
msgstr ""
-#: editor_actions.cc:1744 editor_markers.cc:867
+#: editor_actions.cc:1792 editor_markers.cc:881
msgid "Glue to Bars and Beats"
msgstr ""
-#: editor_actions.cc:1749
+#: editor_actions.cc:1797
msgid "Remove Sync"
msgstr ""
-#: editor_actions.cc:1752 mixer_strip.cc:1904 route_time_axis.cc:209
-msgid "Mute"
-msgstr "Wyciszenie"
-
-#: editor_actions.cc:1755
+#: editor_actions.cc:1803
msgid "Normalize..."
msgstr ""
-#: editor_actions.cc:1758
+#: editor_actions.cc:1806
msgid "Reverse"
msgstr "Odwróć"
-#: editor_actions.cc:1761
+#: editor_actions.cc:1809
msgid "Make Mono Regions"
msgstr ""
-#: editor_actions.cc:1764
+#: editor_actions.cc:1812
msgid "Boost Gain"
msgstr ""
-#: editor_actions.cc:1767
+#: editor_actions.cc:1815
msgid "Cut Gain"
msgstr ""
-#: editor_actions.cc:1770
+#: editor_actions.cc:1818
msgid "Pitch Shift..."
msgstr ""
-#: editor_actions.cc:1773
+#: editor_actions.cc:1821
msgid "Transpose..."
msgstr ""
-#: editor_actions.cc:1776
+#: editor_actions.cc:1824
msgid "Opaque"
msgstr "Mętna"
-#: editor_actions.cc:1780 editor_regions.cc:116
+#: editor_actions.cc:1828 editor_regions.cc:117
msgid "Fade In"
msgstr "Stopniowe wzmocnienie"
-#: editor_actions.cc:1785 editor_regions.cc:117
+#: editor_actions.cc:1833 editor_regions.cc:118
msgid "Fade Out"
msgstr "Stopniowe wyciszenie"
-#: editor_actions.cc:1800
+#: editor_actions.cc:1848
msgid "Multi-Duplicate..."
msgstr ""
-#: editor_actions.cc:1805
+#: editor_actions.cc:1853
msgid "Fill Track"
msgstr "Wypełnij ścieżkę"
-#: editor_actions.cc:1809 editor_markers.cc:955
+#: editor_actions.cc:1857 editor_markers.cc:969
msgid "Set Loop Range"
msgstr "Ustaw zakres pętli"
-#: editor_actions.cc:1816
+#: editor_actions.cc:1864
msgid "Set Punch"
msgstr ""
-#: editor_actions.cc:1820
+#: editor_actions.cc:1868
msgid "Add Single Range Marker"
msgstr ""
-#: editor_actions.cc:1825
+#: editor_actions.cc:1873
msgid "Add Range Marker Per Region"
msgstr ""
-#: editor_actions.cc:1829
+#: editor_actions.cc:1877
msgid "Snap Position To Grid"
msgstr ""
-#: editor_actions.cc:1832
+#: editor_actions.cc:1880
msgid "Close Gaps"
msgstr ""
-#: editor_actions.cc:1835
+#: editor_actions.cc:1883
msgid "Rhythm Ferret..."
msgstr ""
-#: editor_actions.cc:1838
+#: editor_actions.cc:1886
msgid "Export..."
msgstr ""
-#: editor_actions.cc:1844
+#: editor_actions.cc:1892
msgid "Separate Under"
msgstr ""
-#: editor_actions.cc:1848
+#: editor_actions.cc:1896 editor_actions.cc:1897
msgid "Set Fade In Length"
msgstr "Zmień długość stopniowego wzmocnienia"
-#: editor_actions.cc:1849
+#: editor_actions.cc:1898 editor_actions.cc:1899
msgid "Set Fade Out Length"
msgstr "Zmień długość stopniowego wyciszenia"
-#: editor_actions.cc:1850
+#: editor_actions.cc:1901
msgid "Set Tempo from Region = Bar"
msgstr ""
-#: editor_actions.cc:1855
+#: editor_actions.cc:1906
msgid "Split at Percussion Onsets"
msgstr ""
-#: editor_actions.cc:1860
+#: editor_actions.cc:1911
msgid "List Editor..."
msgstr ""
-#: editor_actions.cc:1863
+#: editor_actions.cc:1914
msgid "Properties..."
msgstr ""
-#: editor_actions.cc:1867
+#: editor_actions.cc:1918
msgid "Bounce (with processing)"
msgstr ""
-#: editor_actions.cc:1868
+#: editor_actions.cc:1919
msgid "Bounce (without processing)"
msgstr ""
-#: editor_actions.cc:1869
+#: editor_actions.cc:1920
msgid "Combine"
msgstr ""
-#: editor_actions.cc:1870
+#: editor_actions.cc:1921
msgid "Uncombine"
msgstr ""
-#: editor_actions.cc:1872
+#: editor_actions.cc:1923
msgid "Spectral Analysis..."
msgstr ""
-#: editor_actions.cc:1874
+#: editor_actions.cc:1925
msgid "Reset Envelope"
msgstr "Resetuj obwiedniÄ™"
-#: editor_actions.cc:1876
+#: editor_actions.cc:1927
msgid "Reset Gain"
msgstr ""
-#: editor_actions.cc:1881
+#: editor_actions.cc:1932
msgid "Envelope Active"
msgstr "WÅ‚Ä…cz obwiedniÄ™"
-#: editor_actions.cc:1885
+#: editor_actions.cc:1936
msgid "Quantize..."
msgstr ""
-#: editor_actions.cc:1886 editor_actions.cc:1887
+#: editor_actions.cc:1937 editor_actions.cc:1938
msgid "Insert Patch Change..."
msgstr ""
-#: editor_actions.cc:1888
+#: editor_actions.cc:1939
msgid "Unlink from other copies"
msgstr ""
-#: editor_actions.cc:1889
+#: editor_actions.cc:1940
msgid "Strip Silence..."
msgstr ""
-#: editor_actions.cc:1890
+#: editor_actions.cc:1941
msgid "Set Range Selection"
msgstr "Ustaw zakres zaznaczenia"
-#: editor_actions.cc:1892
+#: editor_actions.cc:1943 editor_actions.cc:1944
msgid "Nudge Later"
msgstr ""
-#: editor_actions.cc:1893
+#: editor_actions.cc:1945 editor_actions.cc:1946
msgid "Nudge Earlier"
msgstr ""
-#: editor_actions.cc:1898
+#: editor_actions.cc:1948
+msgid "Sequence Regions"
+msgstr ""
+
+#: editor_actions.cc:1953
msgid "Nudge Later by Capture Offset"
msgstr ""
-#: editor_actions.cc:1905
+#: editor_actions.cc:1960
msgid "Nudge Earlier by Capture Offset"
msgstr ""
-#: editor_actions.cc:1909
+#: editor_actions.cc:1964
msgid "Trim to Loop"
msgstr ""
-#: editor_actions.cc:1910
+#: editor_actions.cc:1965
msgid "Trim to Punch"
msgstr ""
-#: editor_actions.cc:1912
+#: editor_actions.cc:1967
msgid "Trim to Previous"
msgstr ""
-#: editor_actions.cc:1913
+#: editor_actions.cc:1968
msgid "Trim to Next"
msgstr ""
-#: editor_actions.cc:1920
+#: editor_actions.cc:1975
msgid "Insert Region From Region List"
msgstr ""
-#: editor_actions.cc:1926
+#: editor_actions.cc:1981
msgid "Set Sync Position"
msgstr ""
-#: editor_actions.cc:1927
+#: editor_actions.cc:1982
msgid "Place Transient"
msgstr ""
-#: editor_actions.cc:1928
+#: editor_actions.cc:1983
msgid "Split"
msgstr "Podziel"
-#: editor_actions.cc:1929
+#: editor_actions.cc:1984
msgid "Trim Start at Edit Point"
msgstr ""
-#: editor_actions.cc:1930
+#: editor_actions.cc:1985
msgid "Trim End at Edit Point"
msgstr ""
-#: editor_actions.cc:1935
+#: editor_actions.cc:1990
msgid "Align Start"
msgstr ""
-#: editor_actions.cc:1942
+#: editor_actions.cc:1997
msgid "Align Start Relative"
msgstr ""
-#: editor_actions.cc:1946
+#: editor_actions.cc:2001
msgid "Align End"
msgstr ""
-#: editor_actions.cc:1951
+#: editor_actions.cc:2006
msgid "Align End Relative"
msgstr ""
-#: editor_actions.cc:1958
+#: editor_actions.cc:2013
msgid "Align Sync"
msgstr ""
-#: editor_actions.cc:1965
+#: editor_actions.cc:2020
msgid "Align Sync Relative"
msgstr ""
-#: editor_actions.cc:1969 editor_actions.cc:1972
+#: editor_actions.cc:2024 editor_actions.cc:2027
msgid "Choose Top..."
msgstr ""
-#: editor_audio_import.cc:77 editor_audio_import.cc:99
+#: editor_audio_import.cc:76 editor_audio_import.cc:98
msgid "You can't import or embed an audiofile until you have a session loaded."
msgstr ""
"Nie możesz importować lub osadzać pliku dźwiękowego dopóki nie wczytasz "
"sesji."
-#: editor_audio_import.cc:83 editor_audio_import.cc:127
+#: editor_audio_import.cc:82 editor_audio_import.cc:126
msgid "Add Existing Media"
msgstr ""
-#: editor_audio_import.cc:177
+#: editor_audio_import.cc:175
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%1 as a new file, or skip it?"
msgstr ""
-#: editor_audio_import.cc:179
+#: editor_audio_import.cc:177
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%2 as a new source, or skip it?"
msgstr ""
-#: editor_audio_import.cc:279 editor_videotimeline.cc:108
+#: editor_audio_import.cc:277 editor_videotimeline.cc:92
msgid "Cancel Import"
msgstr "Anuluj import"
-#: editor_audio_import.cc:543
+#: editor_audio_import.cc:541
msgid "Editor: cannot open file \"%1\", (%2)"
msgstr "Edytor: nie można otworzyć pliku \"%1\", (%2)"
-#: editor_audio_import.cc:551
+#: editor_audio_import.cc:549
msgid "Cancel entire import"
msgstr "Anuluj cały import"
-#: editor_audio_import.cc:552
+#: editor_audio_import.cc:550
msgid "Don't embed it"
msgstr "Nie osadzaj tego"
-#: editor_audio_import.cc:553
+#: editor_audio_import.cc:551
msgid "Embed all without questions"
msgstr "Osadź wszystko bez zadawania pytań"
-#: editor_audio_import.cc:556 editor_audio_import.cc:585
-#: export_format_dialog.cc:58
+#: editor_audio_import.cc:554 editor_audio_import.cc:583
+#: export_format_dialog.cc:60
msgid "Sample rate"
msgstr ""
-#: editor_audio_import.cc:557 editor_audio_import.cc:586
+#: editor_audio_import.cc:555 editor_audio_import.cc:584
msgid ""
"%1\n"
"This audiofile's sample rate doesn't match the session sample rate!"
@@ -4256,304 +4361,300 @@ msgstr ""
"Częstotliwość próbkowania tego pliku nie odpowiada częstotliwości "
"próbkowania sesji!"
-#: editor_audio_import.cc:582
+#: editor_audio_import.cc:580
msgid "Embed it anyway"
msgstr "Osadź mimo to"
-#: editor_drag.cc:1000
+#: editor_drag.cc:994
+msgid "Could not create new track after region placed in the drop zone"
+msgstr ""
+
+#: editor_drag.cc:1100
msgid "fixed time region drag"
msgstr ""
-#: editor_drag.cc:1700
+#: editor_drag.cc:1797
+msgid "Ripple drag"
+msgstr ""
+
+#: editor_drag.cc:2093
msgid "Video Start:"
msgstr ""
-#: editor_drag.cc:1702
+#: editor_drag.cc:2095
msgid "Diff:"
msgstr ""
-#: editor_drag.cc:1722
+#: editor_drag.cc:2114
msgid "Move Video"
msgstr ""
-#: editor_drag.cc:2200
+#: editor_drag.cc:2621
msgid "copy meter mark"
msgstr "skopiuj oznaczenie metrum"
-#: editor_drag.cc:2208
+#: editor_drag.cc:2629
msgid "move meter mark"
msgstr "przesuń oznaczenie metrum"
-#: editor_drag.cc:2320
+#: editor_drag.cc:2752
msgid "copy tempo mark"
msgstr "kopiuj znacznik tempa"
-#: editor_drag.cc:2328
+#: editor_drag.cc:2760
msgid "move tempo mark"
msgstr "przesuń znacznik tempa"
-#: editor_drag.cc:2550
+#: editor_drag.cc:2989
msgid "change fade in length"
msgstr "zmień długość stopniowego wzmocnienia"
-#: editor_drag.cc:2668
+#: editor_drag.cc:3107
msgid "change fade out length"
msgstr ""
-#: editor_drag.cc:3023
+#: editor_drag.cc:3463
msgid "move marker"
msgstr "przesuń znacznik"
-#: editor_drag.cc:3586
+#: editor_drag.cc:4046
msgid "An error occurred while executing time stretch operation"
msgstr ""
-#: editor_drag.cc:4016
+#: editor_drag.cc:4493
msgid "programming_error: %1"
msgstr ""
-#: editor_drag.cc:4086 editor_markers.cc:680
+#: editor_drag.cc:4559 editor_markers.cc:694
msgid "new range marker"
msgstr "nowy znacznik zakresu"
-#: editor_drag.cc:4767
+#: editor_drag.cc:5259
msgid "rubberband selection"
msgstr ""
-#: editor_route_groups.cc:66
-msgid "No Selection = All Tracks?"
-msgstr ""
-
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Col"
msgstr ""
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Group Tab Color"
msgstr ""
-#: editor_route_groups.cc:96
+#: editor_route_groups.cc:97
msgid "Name of Group"
msgstr ""
-#: editor_route_groups.cc:97 editor_routes.cc:203
+#: editor_route_groups.cc:98 editor_routes.cc:205
msgid "V"
msgstr ""
-#: editor_route_groups.cc:97
+#: editor_route_groups.cc:98
msgid "Group is visible?"
msgstr ""
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "On"
msgstr ""
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "Group is enabled?"
msgstr ""
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "group|G"
msgstr ""
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "Sharing Gain?"
msgstr ""
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "relative|Rel"
msgstr ""
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "Relative Gain Changes?"
msgstr ""
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "mute|M"
msgstr ""
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "Sharing Mute?"
msgstr ""
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "solo|S"
msgstr ""
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "Sharing Solo?"
msgstr ""
-#: editor_route_groups.cc:103 midi_time_axis.cc:1504 midi_time_axis.cc:1507
-#: midi_time_axis.cc:1510 mixer_strip.cc:1903
+#: editor_route_groups.cc:104 midi_time_axis.cc:1703 midi_time_axis.cc:1706
+#: midi_time_axis.cc:1709
msgid "Rec"
msgstr "Nagr"
-#: editor_route_groups.cc:103
+#: editor_route_groups.cc:104
msgid "Sharing Record-enable Status?"
msgstr ""
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "monitoring|Mon"
msgstr ""
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "Sharing Monitoring Choice?"
msgstr ""
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "selection|Sel"
msgstr ""
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "Sharing Selected/Editing Status?"
msgstr ""
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "active|A"
msgstr ""
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "Sharing Active Status?"
msgstr ""
-#: editor_route_groups.cc:197
-msgid "Activate this button to operate on all tracks when none are selected."
-msgstr ""
-
-#: editor_route_groups.cc:442 mixer_ui.cc:1449
+#: editor_route_groups.cc:438 mixer_ui.cc:1469
msgid "unnamed"
msgstr "bez nazwy"
-#: editor_export_audio.cc:90 editor_markers.cc:695 editor_markers.cc:782
-#: editor_markers.cc:967 editor_markers.cc:985 editor_markers.cc:1003
-#: editor_markers.cc:1022 editor_markers.cc:1041 editor_markers.cc:1071
-#: editor_markers.cc:1102 editor_markers.cc:1132 editor_markers.cc:1160
-#: editor_markers.cc:1191 editor_markers.cc:1216 editor_markers.cc:1267
-#: editor_markers.cc:1311 editor_markers.cc:1337 editor_markers.cc:1526
-#: editor_mouse.cc:2528
+#: editor_export_audio.cc:92 editor_markers.cc:709 editor_markers.cc:796
+#: editor_markers.cc:981 editor_markers.cc:999 editor_markers.cc:1017
+#: editor_markers.cc:1036 editor_markers.cc:1055 editor_markers.cc:1085
+#: editor_markers.cc:1116 editor_markers.cc:1146 editor_markers.cc:1174
+#: editor_markers.cc:1205 editor_markers.cc:1230 editor_markers.cc:1281
+#: editor_markers.cc:1325 editor_markers.cc:1351 editor_markers.cc:1545
+#: editor_mouse.cc:2290
msgid "programming error: marker canvas item has no marker object pointer!"
msgstr ""
-#: editor_export_audio.cc:143 editor_export_audio.cc:148
+#: editor_export_audio.cc:145 editor_export_audio.cc:150
msgid "File Exists!"
msgstr ""
-#: editor_export_audio.cc:151
+#: editor_export_audio.cc:153
msgid "Overwrite Existing File"
msgstr ""
-#: editor_group_tabs.cc:162
+#: editor_group_tabs.cc:176
msgid "Fit to Window"
msgstr ""
-#: editor_markers.cc:129
+#: editor_markers.cc:139
msgid "start"
msgstr ""
-#: editor_markers.cc:130
+#: editor_markers.cc:140
msgid "end"
msgstr ""
-#: editor_markers.cc:646 editor_ops.cc:1744 editor_ops.cc:1764
-#: editor_ops.cc:1788 editor_ops.cc:1815 location_ui.cc:1017
+#: editor_markers.cc:660 editor_ops.cc:1915 editor_ops.cc:1935
+#: editor_ops.cc:1988 editor_ops.cc:2015 location_ui.cc:1019
msgid "add marker"
msgstr "dodaj znacznik"
-#: editor_markers.cc:677
+#: editor_markers.cc:691
msgid "range"
msgstr ""
-#: editor_markers.cc:713 location_ui.cc:852
+#: editor_markers.cc:727 editor_ops.cc:1955 location_ui.cc:854
msgid "remove marker"
msgstr "usuń znacznik"
-#: editor_markers.cc:849
+#: editor_markers.cc:863
msgid "Locate to Here"
msgstr ""
-#: editor_markers.cc:850
+#: editor_markers.cc:864
msgid "Play from Here"
msgstr ""
-#: editor_markers.cc:851
+#: editor_markers.cc:865
msgid "Move Mark to Playhead"
msgstr "Przesuń znacznik do głowicy"
-#: editor_markers.cc:855
+#: editor_markers.cc:869
msgid "Create Range to Next Marker"
msgstr ""
-#: editor_markers.cc:896
+#: editor_markers.cc:910
msgid "Locate to Marker"
msgstr ""
-#: editor_markers.cc:897
+#: editor_markers.cc:911
msgid "Play from Marker"
msgstr ""
-#: editor_markers.cc:900
+#: editor_markers.cc:914
msgid "Set Marker from Playhead"
msgstr ""
-#: editor_markers.cc:902
+#: editor_markers.cc:916
msgid "Set Range from Selection"
msgstr ""
-#: editor_markers.cc:905
-msgid "Zoom to Range"
-msgstr ""
-
-#: editor_markers.cc:912
+#: editor_markers.cc:926
msgid "Hide Range"
msgstr "Ukryj zakres"
-#: editor_markers.cc:913
+#: editor_markers.cc:927
msgid "Rename Range..."
msgstr ""
-#: editor_markers.cc:917
+#: editor_markers.cc:931
msgid "Remove Range"
msgstr "Usuń zakres"
-#: editor_markers.cc:924
+#: editor_markers.cc:938
msgid "Separate Regions in Range"
msgstr "Oddziel obszar w zakresie"
-#: editor_markers.cc:927
+#: editor_markers.cc:941
msgid "Select Range"
msgstr "Zaznacz zakres"
-#: editor_markers.cc:956
+#: editor_markers.cc:970
msgid "Set Punch Range"
msgstr "Ustaw zakres przełącznika"
-#: editor_markers.cc:1362 editor_ops.cc:1699
+#: editor_markers.cc:1376 editor_ops.cc:1870
msgid "New Name:"
msgstr "Nazwa:"
-#: editor_markers.cc:1365
+#: editor_markers.cc:1379
msgid "Rename Mark"
msgstr "Zmień nazwę znacznika"
-#: editor_markers.cc:1367
+#: editor_markers.cc:1381
msgid "Rename Range"
msgstr "Zmień nazwę zakresu"
-#: editor_markers.cc:1374 editor_mouse.cc:2560 processor_box.cc:1808
-#: processor_box.cc:2274 route_time_axis.cc:982 route_ui.cc:1540
+#: editor_markers.cc:1388 editor_mouse.cc:2319 processor_box.cc:2038
+#: processor_box.cc:2508 route_time_axis.cc:1073 route_ui.cc:1622
msgid "Rename"
msgstr "Zmień nazwę"
-#: editor_markers.cc:1387
+#: editor_markers.cc:1401
msgid "rename marker"
msgstr "zmień nazwę znacznika"
-#: editor_markers.cc:1411
+#: editor_markers.cc:1425
msgid "set loop range"
msgstr "ustaw zakres pętli"
-#: editor_markers.cc:1417
+#: editor_markers.cc:1431
msgid "set punch range"
msgstr "ustaw zakres przełącznika"
@@ -4561,185 +4662,194 @@ msgstr "ustaw zakres przełącznika"
msgid "This screen is not tall enough to display the editor mixer"
msgstr ""
-#: editor_mouse.cc:172
-msgid "Editor::event_frame() used on unhandled event type %1"
+#: editor_mouse.cc:1384 editor_mouse.cc:1402 editor_tempodisplay.cc:273
+msgid ""
+"programming error: tempo marker canvas item has no marker object pointer!"
msgstr ""
-#: editor_mouse.cc:2285 editor_mouse.cc:2310 editor_mouse.cc:2323
+#: editor_mouse.cc:1389 editor_tempodisplay.cc:278
+msgid "programming error: marker for tempo is not a tempo marker!"
+msgstr ""
+
+#: editor_mouse.cc:1407 editor_tempodisplay.cc:382
+msgid "programming error: marker for meter is not a meter marker!"
+msgstr ""
+
+#: editor_mouse.cc:2047 editor_mouse.cc:2072 editor_mouse.cc:2085
msgid ""
"programming error: control point canvas item has no control point object "
"pointer!"
msgstr ""
-#: editor_mouse.cc:2466
+#: editor_mouse.cc:2228
msgid "start point trim"
msgstr ""
-#: editor_mouse.cc:2491
+#: editor_mouse.cc:2253
msgid "End point trim"
msgstr "Punkt końcowy przycięcia"
-#: editor_mouse.cc:2558
+#: editor_mouse.cc:2317
msgid "Name for region:"
msgstr "Nazwa obszaru:"
-#: editor_ops.cc:140
+#: editor_ops.cc:147
msgid "split"
msgstr "podziel"
-#: editor_ops.cc:256
+#: editor_ops.cc:291
msgid "alter selection"
msgstr ""
-#: editor_ops.cc:298
+#: editor_ops.cc:333
msgid "nudge regions forward"
msgstr "pchnij obszary do przodu"
-#: editor_ops.cc:321 editor_ops.cc:406
+#: editor_ops.cc:356 editor_ops.cc:441
msgid "nudge location forward"
msgstr "pchnij pozycjÄ™ do przodu"
-#: editor_ops.cc:379
+#: editor_ops.cc:414
msgid "nudge regions backward"
msgstr "pchnij obszar do tyłu"
-#: editor_ops.cc:468
+#: editor_ops.cc:503
msgid "nudge forward"
msgstr "pchnij do przodu"
-#: editor_ops.cc:492
+#: editor_ops.cc:527
msgid "nudge backward"
msgstr ""
-#: editor_ops.cc:557
+#: editor_ops.cc:570
+msgid "sequence regions"
+msgstr ""
+
+#: editor_ops.cc:646
msgid "build_region_boundary_cache called with snap_type = %1"
msgstr ""
-#: editor_ops.cc:1701
+#: editor_ops.cc:1872
msgid "New Location Marker"
msgstr ""
-#: editor_ops.cc:1788
+#: editor_ops.cc:1988
msgid "add markers"
msgstr ""
-#: editor_ops.cc:1894
+#: editor_ops.cc:2094
msgid "clear markers"
msgstr "wyczyść znaczniki"
-#: editor_ops.cc:1907
+#: editor_ops.cc:2107
msgid "clear ranges"
msgstr "wyczyść zakresy"
-#: editor_ops.cc:1929
+#: editor_ops.cc:2129
msgid "clear locations"
msgstr "wyczyść położenia"
-#: editor_ops.cc:2000
-msgid "insert dragged region"
-msgstr "wstaw przeciągnięty obszar"
-
-#: editor_ops.cc:2078
+#: editor_ops.cc:2191
msgid "insert region"
msgstr "wstaw obszar"
-#: editor_ops.cc:2261
+#: editor_ops.cc:2377
msgid "raise regions"
msgstr ""
-#: editor_ops.cc:2263
+#: editor_ops.cc:2379
msgid "raise region"
msgstr ""
-#: editor_ops.cc:2269
+#: editor_ops.cc:2385
msgid "raise regions to top"
msgstr ""
-#: editor_ops.cc:2271
+#: editor_ops.cc:2387
msgid "raise region to top"
msgstr ""
-#: editor_ops.cc:2277
+#: editor_ops.cc:2393
msgid "lower regions"
msgstr ""
-#: editor_ops.cc:2279 editor_ops.cc:2287
+#: editor_ops.cc:2395 editor_ops.cc:2403
msgid "lower region"
msgstr ""
-#: editor_ops.cc:2285
+#: editor_ops.cc:2401
msgid "lower regions to bottom"
msgstr ""
-#: editor_ops.cc:2370
+#: editor_ops.cc:2486
msgid "Rename Region"
msgstr "Zmień nazwę obszaru"
-#: editor_ops.cc:2372 processor_box.cc:1806 route_ui.cc:1538
+#: editor_ops.cc:2488 processor_box.cc:2036 route_ui.cc:1620
msgid "New name:"
msgstr "Nazwa:"
-#: editor_ops.cc:2682
+#: editor_ops.cc:2798
msgid "separate"
msgstr "oddziel"
-#: editor_ops.cc:2795
+#: editor_ops.cc:2910
msgid "separate region under"
msgstr ""
-#: editor_ops.cc:2916
+#: editor_ops.cc:3031
msgid "trim to selection"
msgstr "przytnij do zaznaczenia"
-#: editor_ops.cc:3052
+#: editor_ops.cc:3167
msgid "set sync point"
msgstr "ustaw punkt synchronizacji"
-#: editor_ops.cc:3076
+#: editor_ops.cc:3191
msgid "remove region sync"
msgstr ""
-#: editor_ops.cc:3098
+#: editor_ops.cc:3213
msgid "move regions to original position"
msgstr ""
-#: editor_ops.cc:3100
+#: editor_ops.cc:3215
msgid "move region to original position"
msgstr ""
-#: editor_ops.cc:3121
+#: editor_ops.cc:3236
msgid "align selection"
msgstr ""
-#: editor_ops.cc:3195
+#: editor_ops.cc:3310
msgid "align selection (relative)"
msgstr ""
-#: editor_ops.cc:3229
+#: editor_ops.cc:3344
msgid "align region"
msgstr ""
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim front"
msgstr "przytnij przód"
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim back"
msgstr "przytnij tył"
-#: editor_ops.cc:3310
+#: editor_ops.cc:3425
msgid "trim to loop"
msgstr "przytnij do pętli"
-#: editor_ops.cc:3320
+#: editor_ops.cc:3435
msgid "trim to punch"
msgstr "przytnij do przełącznika"
-#: editor_ops.cc:3382
+#: editor_ops.cc:3497
msgid "trim to region"
msgstr ""
-#: editor_ops.cc:3492
+#: editor_ops.cc:3605
msgid ""
"This track/bus cannot be frozen because the signal adds or loses channels "
"before reaching the outputs.\n"
@@ -4747,11 +4857,11 @@ msgid ""
"input or vice versa."
msgstr ""
-#: editor_ops.cc:3495
+#: editor_ops.cc:3608
msgid "Cannot freeze"
msgstr ""
-#: editor_ops.cc:3501
+#: editor_ops.cc:3614
msgid ""
"<b>%1</b>\n"
"\n"
@@ -4760,23 +4870,23 @@ msgid ""
"Freezing will only process the signal as far as the first send/insert/return."
msgstr ""
-#: editor_ops.cc:3505
+#: editor_ops.cc:3618
msgid "Freeze anyway"
msgstr ""
-#: editor_ops.cc:3506
+#: editor_ops.cc:3619
msgid "Don't freeze"
msgstr ""
-#: editor_ops.cc:3507
+#: editor_ops.cc:3620
msgid "Freeze Limits"
msgstr ""
-#: editor_ops.cc:3522
+#: editor_ops.cc:3635
msgid "Cancel Freeze"
msgstr "Anuluj zamrożenie"
-#: editor_ops.cc:3553
+#: editor_ops.cc:3666
msgid ""
"You can't perform this operation because the processing of the signal will "
"cause one or more of the tracks to end up with a region with more channels "
@@ -4785,51 +4895,63 @@ msgid ""
"You can do this without processing, which is a different operation."
msgstr ""
-#: editor_ops.cc:3557
+#: editor_ops.cc:3670
msgid "Cannot bounce"
msgstr ""
-#: editor_ops.cc:3568
+#: editor_ops.cc:3681
msgid "bounce range"
msgstr "zgraj zakres"
-#: editor_ops.cc:3678
+#: editor_ops.cc:3783
msgid "delete"
msgstr ""
-#: editor_ops.cc:3681
+#: editor_ops.cc:3786
msgid "cut"
msgstr "wytnij"
-#: editor_ops.cc:3684
+#: editor_ops.cc:3789
msgid "copy"
msgstr "skopiuj"
-#: editor_ops.cc:3687
+#: editor_ops.cc:3792
msgid "clear"
msgstr "wyczyść"
-#: editor_ops.cc:3785
-msgid " objects"
-msgstr "obiekty"
+#: editor_ops.cc:3845
+msgid " points"
+msgstr ""
+
+#: editor_ops.cc:3856
+msgid "points"
+msgstr ""
+
+#: editor_ops.cc:3858
+msgid "regions"
+msgstr ""
+
+#: editor_ops.cc:3860
+msgid "objects"
+msgstr ""
-#: editor_ops.cc:3815
+#: editor_ops.cc:3890
msgid " range"
msgstr " zakres"
-#: editor_ops.cc:3957 editor_ops.cc:3984
+#: editor_ops.cc:4059
msgid "remove region"
msgstr "usuń obszar"
-#: editor_ops.cc:4391
+#: editor_ops.cc:4475
msgid "duplicate selection"
msgstr "duplikuj zaznaczenie"
-#: editor_ops.cc:4469
+#: editor_ops.cc:4553
msgid "nudge track"
msgstr "pchnij ścieżkę"
-#: editor_ops.cc:4506
+#: editor_ops.cc:4590
msgid ""
"Do you really want to destroy the last capture?\n"
"(This is destructive and cannot be undone)"
@@ -4837,132 +4959,140 @@ msgstr ""
"Na pewno usunąć ostatnie nagranie?\n"
"(Ta operacja nie może zostać cofnięta)"
-#: editor_ops.cc:4509 editor_ops.cc:6512 editor_regions.cc:460
-#: editor_snapshots.cc:158 route_ui.cc:1482
+#: editor_ops.cc:4593 editor_ops.cc:6594 editor_regions.cc:461
+#: editor_snapshots.cc:159 route_ui.cc:1563
msgid "No, do nothing."
msgstr "Nie usuwaj niczego"
-#: editor_ops.cc:4510
+#: editor_ops.cc:4594
msgid "Yes, destroy it."
msgstr "Tak, usuń go."
-#: editor_ops.cc:4512
+#: editor_ops.cc:4596
msgid "Destroy last capture"
msgstr ""
-#: editor_ops.cc:4573
+#: editor_ops.cc:4657
msgid "normalize"
msgstr "normalizuj"
-#: editor_ops.cc:4668
+#: editor_ops.cc:4752
msgid "reverse regions"
msgstr "odwróć obszary"
-#: editor_ops.cc:4702
+#: editor_ops.cc:4786
msgid "strip silence"
msgstr ""
-#: editor_ops.cc:4763
+#: editor_ops.cc:4847
msgid "Fork Region(s)"
msgstr ""
-#: editor_ops.cc:4963
+#: editor_ops.cc:4868
+msgid "Could not unlink %1"
+msgstr ""
+
+#: editor_ops.cc:5052
msgid "reset region gain"
msgstr "zresetuj wzmocnienie obszaru"
-#: editor_ops.cc:5016
+#: editor_ops.cc:5105
msgid "region gain envelope active"
msgstr ""
-#: editor_ops.cc:5043
+#: editor_ops.cc:5132
msgid "toggle region lock"
msgstr ""
-#: editor_ops.cc:5067
+#: editor_ops.cc:5156
msgid "Toggle Video Lock"
msgstr ""
-#: editor_ops.cc:5091
+#: editor_ops.cc:5180
msgid "region lock style"
msgstr ""
-#: editor_ops.cc:5116
+#: editor_ops.cc:5205
msgid "change region opacity"
msgstr ""
-#: editor_ops.cc:5231
+#: editor_ops.cc:5298
+msgid "fade range"
+msgstr ""
+
+#: editor_ops.cc:5336
msgid "set fade in length"
msgstr "zmień długość stopniowego wzmocnienia"
-#: editor_ops.cc:5238
+#: editor_ops.cc:5343
msgid "set fade out length"
msgstr "zmień długość stopniowego wyciszenia"
-#: editor_ops.cc:5283
+#: editor_ops.cc:5388
msgid "set fade in shape"
msgstr "ustaw kształt stopniowego wzmocnienia"
-#: editor_ops.cc:5314
+#: editor_ops.cc:5419
msgid "set fade out shape"
msgstr "ustaw kształt stopniowego wyciszenia"
-#: editor_ops.cc:5344
+#: editor_ops.cc:5449
msgid "set fade in active"
msgstr "włącz stopniowe wzmocnienie"
-#: editor_ops.cc:5373
+#: editor_ops.cc:5478
msgid "set fade out active"
msgstr "włącz stopniowe wyciszenie"
-#: editor_ops.cc:5638
+#: editor_ops.cc:5713
msgid "set loop range from selection"
msgstr "ustaw zakres pętli w miejscu zaznaczenia"
-#: editor_ops.cc:5660
+#: editor_ops.cc:5735
msgid "set loop range from edit range"
msgstr "ustaw zakres pętli w zaznaczeniu"
-#: editor_ops.cc:5689
+#: editor_ops.cc:5764
msgid "set loop range from region"
msgstr "ustaw zakres pętli w obszarze"
-#: editor_ops.cc:5707
+#: editor_ops.cc:5782
msgid "set punch range from selection"
msgstr "ustaw zakres przełącznika w miejscu zaznaczenia"
-#: editor_ops.cc:5724
+#: editor_ops.cc:5799
msgid "set punch range from edit range"
msgstr "ustaw zakres przełącznika w zaznaczeniu"
-#: editor_ops.cc:5748
+#: editor_ops.cc:5823
msgid "set punch range from region"
msgstr "ustaw zakres przełącznika w obszarze"
-#: editor_ops.cc:5857
+#: editor_ops.cc:5932
msgid "Add new marker"
msgstr "Dodaj nowy znacznik"
-#: editor_ops.cc:5858
+#: editor_ops.cc:5933
msgid "Set global tempo"
msgstr "Ustaw ogólne tempo"
-#: editor_ops.cc:5861
+#: editor_ops.cc:5936
msgid "Define one bar"
msgstr ""
-#: editor_ops.cc:5862
+#: editor_ops.cc:5937
msgid "Do you want to set the global tempo or add a new tempo marker?"
msgstr ""
-#: editor_ops.cc:5888
+#: editor_ops.cc:5963
msgid "set tempo from region"
msgstr "Ustaw tempo dla obszaru"
-#: editor_ops.cc:5918
+#: editor_ops.cc:5993
msgid "split regions"
msgstr "podziel obszary"
-#: editor_ops.cc:5960
+#: editor_ops.cc:6035
msgid ""
"You are about to split\n"
"%1\n"
@@ -4970,62 +5100,62 @@ msgid ""
"This could take a long time."
msgstr ""
-#: editor_ops.cc:5967
+#: editor_ops.cc:6042
msgid "Call for the Ferret!"
msgstr ""
-#: editor_ops.cc:5968
+#: editor_ops.cc:6043
msgid ""
"Press OK to continue with this split operation\n"
"or ask the Ferret dialog to tune the analysis"
msgstr ""
-#: editor_ops.cc:5970
+#: editor_ops.cc:6045
msgid "Press OK to continue with this split operation"
msgstr ""
-#: editor_ops.cc:5973
+#: editor_ops.cc:6048
msgid "Excessive split?"
msgstr ""
-#: editor_ops.cc:6125
+#: editor_ops.cc:6200
msgid "place transient"
msgstr ""
-#: editor_ops.cc:6160
+#: editor_ops.cc:6235
msgid "snap regions to grid"
msgstr ""
-#: editor_ops.cc:6199
+#: editor_ops.cc:6274
msgid "Close Region Gaps"
msgstr ""
-#: editor_ops.cc:6204
+#: editor_ops.cc:6279
msgid "Crossfade length"
msgstr ""
-#: editor_ops.cc:6213 editor_ops.cc:6224 rhythm_ferret.cc:120
-#: session_option_editor.cc:153
+#: editor_ops.cc:6288 editor_ops.cc:6299 rhythm_ferret.cc:119
+#: session_option_editor.cc:141
msgid "ms"
msgstr ""
-#: editor_ops.cc:6215
+#: editor_ops.cc:6290
msgid "Pull-back length"
msgstr ""
-#: editor_ops.cc:6228
+#: editor_ops.cc:6303
msgid "Ok"
msgstr ""
-#: editor_ops.cc:6243
+#: editor_ops.cc:6318
msgid "close region gaps"
msgstr ""
-#: editor_ops.cc:6461 route_ui.cc:1456
+#: editor_ops.cc:6543 route_ui.cc:1537
msgid "That would be bad news ...."
msgstr ""
-#: editor_ops.cc:6466 route_ui.cc:1461
+#: editor_ops.cc:6548 route_ui.cc:1542
msgid ""
"Removing the master or monitor bus is such a bad idea\n"
"that %1 is not going to allow it.\n"
@@ -5035,23 +5165,23 @@ msgid ""
"\"allow-special-bus-removal\" option to be \"yes\""
msgstr ""
-#: editor_ops.cc:6483
+#: editor_ops.cc:6565
msgid "tracks"
msgstr "ścieżki"
-#: editor_ops.cc:6485 route_ui.cc:1821
+#: editor_ops.cc:6567 route_ui.cc:1978
msgid "track"
msgstr "ścieżka"
-#: editor_ops.cc:6489
+#: editor_ops.cc:6571
msgid "busses"
msgstr "szyny"
-#: editor_ops.cc:6491 route_ui.cc:1821
+#: editor_ops.cc:6573 route_ui.cc:1978
msgid "bus"
msgstr "szyna"
-#: editor_ops.cc:6496
+#: editor_ops.cc:6578
msgid ""
"Do you really want to remove %1 %2 and %3 %4?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5059,7 +5189,7 @@ msgid ""
"This action cannot be undone, and the session file will be overwritten!"
msgstr ""
-#: editor_ops.cc:6501
+#: editor_ops.cc:6583
msgid ""
"Do you really want to remove %1 %2?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5067,408 +5197,402 @@ msgid ""
"This action cannot be undone, and the session file will be overwritten!"
msgstr ""
-#: editor_ops.cc:6507
+#: editor_ops.cc:6589
msgid ""
"Do you really want to remove %1 %2?\n"
"\n"
"This action cannot be undon, and the session file will be overwritten"
msgstr ""
-#: editor_ops.cc:6514
+#: editor_ops.cc:6596
msgid "Yes, remove them."
msgstr "Tak, usuń je."
-#: editor_ops.cc:6516 editor_snapshots.cc:159 route_ui.cc:1483
+#: editor_ops.cc:6598 editor_snapshots.cc:160 route_ui.cc:1564
msgid "Yes, remove it."
msgstr "Tak, usuń."
-#: editor_ops.cc:6521 editor_ops.cc:6523
+#: editor_ops.cc:6603 editor_ops.cc:6605
msgid "Remove %1"
msgstr ""
-#: editor_ops.cc:6582
+#: editor_ops.cc:6668
msgid "insert time"
msgstr "wstaw czas"
-#: editor_ops.cc:6739
+#: editor_ops.cc:6832
msgid "There are too many tracks to fit in the current window"
msgstr ""
-#: editor_ops.cc:6839
+#: editor_ops.cc:6893
+msgid "Sel"
+msgstr ""
+
+#: editor_ops.cc:6932
#, c-format
msgid "Saved view %u"
msgstr ""
-#: editor_ops.cc:6864
+#: editor_ops.cc:6957
msgid "mute regions"
msgstr ""
-#: editor_ops.cc:6866
+#: editor_ops.cc:6959
msgid "mute region"
msgstr "wycisz obszar"
-#: editor_ops.cc:6903
+#: editor_ops.cc:6996
msgid "combine regions"
msgstr ""
-#: editor_ops.cc:6941
+#: editor_ops.cc:7034
msgid "uncombine regions"
msgstr ""
-#: editor_regions.cc:111
-msgid "Region name, with number of channels in []'s"
+#: editor_ops.cc:7071
+msgid "%1: Locked"
+msgstr ""
+
+#: editor_ops.cc:7078
+msgid "Click to unlock"
+msgstr ""
+
+#: editor_ops.cc:7132
+msgid "Moving embedded files into session folder"
msgstr ""
#: editor_regions.cc:112
+msgid "Region name, with number of channels in []'s"
+msgstr ""
+
+#: editor_regions.cc:113
msgid "Position of start of region"
msgstr ""
-#: editor_regions.cc:113 editor_regions.cc:849 time_info_box.cc:98
+#: editor_regions.cc:114 editor_regions.cc:850 time_info_box.cc:101
msgid "End"
msgstr ""
-#: editor_regions.cc:113
+#: editor_regions.cc:114
msgid "Position of end of region"
msgstr ""
-#: editor_regions.cc:114
+#: editor_regions.cc:115
msgid "Length of the region"
msgstr ""
-#: editor_regions.cc:115
+#: editor_regions.cc:116
msgid "Position of region sync point, relative to start of the region"
msgstr ""
-#: editor_regions.cc:116
+#: editor_regions.cc:117
msgid "Length of region fade-in (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:117
-msgid "Length of region fade-out (units: secondary clock), () if dsisabled"
+#: editor_regions.cc:118
+msgid "Length of region fade-out (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:118 mixer_strip.cc:1954 mono_panner.cc:179
-#: stereo_panner.cc:217 stereo_panner.cc:240
+#: editor_regions.cc:119 mixer_strip.cc:2010 mono_panner.cc:204
+#: panner2d.cc:237 stereo_panner.cc:248 stereo_panner.cc:271
msgid "L"
msgstr ""
-#: editor_regions.cc:118
+#: editor_regions.cc:119
msgid "Region position locked?"
msgstr ""
-#: editor_regions.cc:119
+#: editor_regions.cc:120 route_time_axis.cc:99
msgid "G"
msgstr ""
-#: editor_regions.cc:119
+#: editor_regions.cc:120
msgid "Region position glued to Bars|Beats time?"
msgstr ""
-#: editor_regions.cc:120 editor_routes.cc:207 gain_meter.cc:762
-#: mixer_strip.cc:1931 meter_strip.cc:320 panner_ui.cc:553
-#: stereo_panner.cc:237
+#: editor_regions.cc:121 editor_routes.cc:209 gain_meter.cc:768
+#: mixer_strip.cc:1987 meter_strip.cc:359 panner_ui.cc:602
+#: route_time_axis.cc:2568 stereo_panner.cc:268 time_axis_view.cc:1156
msgid "M"
msgstr ""
-#: editor_regions.cc:120
+#: editor_regions.cc:121
msgid "Region muted?"
msgstr ""
-#: editor_regions.cc:121
+#: editor_regions.cc:122 mixer_strip.cc:1810
msgid "O"
msgstr ""
-#: editor_regions.cc:121
+#: editor_regions.cc:122
msgid "Region opaque (blocks regions below it from being heard)?"
msgstr ""
-#: editor_regions.cc:310 editor_regions.cc:315 editor_regions.cc:317
+#: editor_regions.cc:311 editor_regions.cc:316 editor_regions.cc:318
msgid "Hidden"
msgstr "Ukryte"
-#: editor_regions.cc:389
+#: editor_regions.cc:390
msgid "(MISSING) "
msgstr ""
-#: editor_regions.cc:457
+#: editor_regions.cc:458
msgid ""
"Do you really want to remove unused regions?\n"
"(This is destructive and cannot be undone)"
msgstr ""
-#: editor_regions.cc:461
+#: editor_regions.cc:462
msgid "Yes, remove."
msgstr ""
-#: editor_regions.cc:463
+#: editor_regions.cc:464
msgid "Remove unused regions"
msgstr ""
-#: editor_regions.cc:816 editor_regions.cc:830 editor_regions.cc:844
+#: editor_regions.cc:817 editor_regions.cc:831 editor_regions.cc:845
msgid "Mult."
msgstr ""
-#: editor_regions.cc:847 midi_list_editor.cc:103 time_info_box.cc:91
+#: editor_regions.cc:848 midi_list_editor.cc:103 time_info_box.cc:94
msgid "Start"
msgstr ""
-#: editor_regions.cc:865 editor_regions.cc:881
+#: editor_regions.cc:866 editor_regions.cc:882
msgid "Multiple"
msgstr ""
-#: editor_regions.cc:950
+#: editor_regions.cc:951
msgid "MISSING "
msgstr ""
-#: editor_routes.cc:178 editor_routes.cc:210
+#: editor_routes.cc:180 editor_routes.cc:212
msgid "SS"
msgstr ""
-#: editor_routes.cc:202
+#: editor_routes.cc:204
msgid "Track/Bus Name"
msgstr ""
-#: editor_routes.cc:203
+#: editor_routes.cc:205
msgid "Track/Bus visible ?"
msgstr ""
-#: editor_routes.cc:204 mixer_strip.cc:1945 meter_strip.cc:334
-#: route_time_axis.cc:2407
+#: editor_routes.cc:206 mixer_strip.cc:2001 meter_strip.cc:371
+#: route_time_axis.cc:101 route_time_axis.cc:2556
msgid "A"
msgstr ""
-#: editor_routes.cc:204
+#: editor_routes.cc:206
msgid "Track/Bus active ?"
msgstr ""
-#: editor_routes.cc:205 mixer_strip.cc:1932
+#: editor_routes.cc:207 mixer_strip.cc:1988 mixer_strip.cc:2009
+#: meter_strip.cc:379
msgid "I"
msgstr ""
-#: editor_routes.cc:205
+#: editor_routes.cc:207
msgid "MIDI input enabled"
msgstr ""
-#: editor_routes.cc:206 mixer_strip.cc:1930 mono_panner.cc:198
-#: stereo_panner.cc:215 stereo_panner.cc:242
+#: editor_routes.cc:208 mono_panner.cc:221 panner2d.cc:238
+#: stereo_panner.cc:246 stereo_panner.cc:273
msgid "R"
msgstr ""
-#: editor_routes.cc:206
+#: editor_routes.cc:208
msgid "Record enabled"
msgstr ""
-#: editor_routes.cc:207
+#: editor_routes.cc:209
msgid "Muted"
msgstr ""
-#: editor_routes.cc:208 mixer_strip.cc:1941 meter_strip.cc:330
+#: editor_routes.cc:210 mixer_strip.cc:1997 meter_strip.cc:367
+#: route_time_axis.cc:2565
msgid "S"
msgstr ""
-#: editor_routes.cc:208
+#: editor_routes.cc:210
msgid "Soloed"
msgstr ""
-#: editor_routes.cc:209
+#: editor_routes.cc:211
msgid "SI"
msgstr ""
-#: editor_routes.cc:209 mixer_strip.cc:353 rc_option_editor.cc:1867
+#: editor_routes.cc:211
msgid "Solo Isolated"
msgstr ""
-#: editor_routes.cc:210
+#: editor_routes.cc:212
msgid "Solo Safe (Locked)"
msgstr ""
-#: editor_routes.cc:471 mixer_ui.cc:1162
+#: editor_routes.cc:474 mixer_ui.cc:1182
msgid "Hide All"
msgstr "Ukryj wszystko"
-#: editor_routes.cc:472 mixer_ui.cc:1163
+#: editor_routes.cc:475 mixer_ui.cc:1183
msgid "Show All Audio Tracks"
msgstr "Wyświetl wszystkie ścieżki audio"
-#: editor_routes.cc:473 mixer_ui.cc:1164
+#: editor_routes.cc:476 mixer_ui.cc:1184
msgid "Hide All Audio Tracks"
msgstr "Ukryj wszystkie ścieżki audio"
-#: editor_routes.cc:474 mixer_ui.cc:1165
+#: editor_routes.cc:477 mixer_ui.cc:1185
msgid "Show All Audio Busses"
msgstr "Wyświetl wszystkie szyny audio"
-#: editor_routes.cc:475 mixer_ui.cc:1166
+#: editor_routes.cc:478 mixer_ui.cc:1186
msgid "Hide All Audio Busses"
msgstr "Ukryj wszystkie szyny audio"
-#: editor_routes.cc:476
+#: editor_routes.cc:479
msgid "Show All Midi Tracks"
msgstr ""
-#: editor_routes.cc:477
+#: editor_routes.cc:480
msgid "Hide All Midi Tracks"
msgstr ""
-#: editor_routes.cc:478
+#: editor_routes.cc:481
msgid "Show Tracks With Regions Under Playhead"
msgstr ""
-#: editor_rulers.cc:340
+#: editor_rulers.cc:216
msgid "New location marker"
msgstr "Nowy znacznik położenia"
-#: editor_rulers.cc:341
+#: editor_rulers.cc:217
msgid "Clear all locations"
msgstr "Wyczyść wszystkie położenia"
-#: editor_rulers.cc:342
+#: editor_rulers.cc:218
msgid "Unhide locations"
msgstr "Wyświetl położenia"
-#: editor_rulers.cc:346
+#: editor_rulers.cc:222
msgid "New range"
msgstr ""
-#: editor_rulers.cc:347
+#: editor_rulers.cc:223
msgid "Clear all ranges"
msgstr "Wyczyść wszystkie zakresy"
-#: editor_rulers.cc:348
+#: editor_rulers.cc:224
msgid "Unhide ranges"
msgstr "Wyświetl zakresy"
-#: editor_rulers.cc:358
+#: editor_rulers.cc:234
msgid "New CD track marker"
msgstr "Nowy znacznik zakresu (ścieżka CD)"
-#: editor_rulers.cc:363 tempo_dialog.cc:40
+#: editor_rulers.cc:239 tempo_dialog.cc:39
msgid "New Tempo"
msgstr "Nowe tempo"
-#: editor_rulers.cc:368 tempo_dialog.cc:255
+#: editor_rulers.cc:243 tempo_dialog.cc:289
msgid "New Meter"
msgstr "Nowe metrum"
-#: editor_rulers.cc:373
+#: editor_rulers.cc:247
msgid "Timeline height"
msgstr ""
-#: editor_rulers.cc:383
+#: editor_rulers.cc:257
msgid "Align Video Track"
msgstr ""
-#: editor_selection.cc:889 editor_selection.cc:932
+#: editor_selection.cc:895 editor_selection.cc:938
msgid "set selected regions"
msgstr "ustaw zaznaczone obszary"
-#: editor_selection.cc:1414
+#: editor_selection.cc:1417
msgid "select all"
msgstr "Zaznacz wszystko"
-#: editor_selection.cc:1506
+#: editor_selection.cc:1511
msgid "select all within"
msgstr "zaznacz wszystko wewnÄ…trz"
-#: editor_selection.cc:1564
+#: editor_selection.cc:1569
msgid "set selection from range"
msgstr ""
-#: editor_selection.cc:1604
+#: editor_selection.cc:1609
msgid "select all from range"
msgstr ""
-#: editor_selection.cc:1635
+#: editor_selection.cc:1640
msgid "select all from punch"
msgstr ""
-#: editor_selection.cc:1666
+#: editor_selection.cc:1671
msgid "select all from loop"
msgstr ""
-#: editor_selection.cc:1702
+#: editor_selection.cc:1707
msgid "select all after cursor"
msgstr ""
-#: editor_selection.cc:1704
+#: editor_selection.cc:1709
msgid "select all before cursor"
msgstr ""
-#: editor_selection.cc:1753
+#: editor_selection.cc:1758
msgid "select all after edit"
msgstr "Zaznacz wszystko za edycjÄ…"
-#: editor_selection.cc:1755
+#: editor_selection.cc:1760
msgid "select all before edit"
msgstr "Zaznacz wszystko przed edycjÄ…"
-#: editor_selection.cc:1888
-msgid "No edit range defined"
-msgstr ""
-
-#: editor_selection.cc:1894
-msgid ""
-"the edit point is Selected Marker\n"
-"but there is no selected marker."
-msgstr ""
-
-#: editor_snapshots.cc:136
+#: editor_snapshots.cc:137
msgid "Rename Snapshot"
msgstr ""
-#: editor_snapshots.cc:138
+#: editor_snapshots.cc:139
msgid "New name of snapshot"
msgstr "Nazwa zrzutu"
-#: editor_snapshots.cc:156
+#: editor_snapshots.cc:157
msgid ""
"Do you really want to remove snapshot \"%1\" ?\n"
"(which cannot be undone)"
msgstr ""
-#: editor_snapshots.cc:161
+#: editor_snapshots.cc:162
msgid "Remove snapshot"
msgstr ""
-#: editor_tempodisplay.cc:208 editor_tempodisplay.cc:250
+#: editor_tempodisplay.cc:193 editor_tempodisplay.cc:235
msgid "add"
msgstr "dodaj"
-#: editor_tempodisplay.cc:231
+#: editor_tempodisplay.cc:216
msgid "add tempo mark"
msgstr "dodaj znacznik tempa"
-#: editor_tempodisplay.cc:272
+#: editor_tempodisplay.cc:257
msgid "add meter mark"
msgstr "dodaj oznaczenie metrum"
-#: editor_tempodisplay.cc:288 editor_tempodisplay.cc:367
-#: editor_tempodisplay.cc:386
-msgid ""
-"programming error: tempo marker canvas item has no marker object pointer!"
-msgstr ""
-
-#: editor_tempodisplay.cc:293 editor_tempodisplay.cc:372
-msgid "programming error: marker for tempo is not a tempo marker!"
-msgstr ""
-
-#: editor_tempodisplay.cc:305 editor_tempodisplay.cc:335
+#: editor_tempodisplay.cc:290 editor_tempodisplay.cc:320
msgid "done"
msgstr "ukończono"
-#: editor_tempodisplay.cc:324 editor_tempodisplay.cc:352
+#: editor_tempodisplay.cc:309 editor_tempodisplay.cc:337
msgid "replace tempo mark"
msgstr "zamień znacznik tempa"
-#: editor_tempodisplay.cc:391 editor_tempodisplay.cc:423
-msgid "programming error: marker for meter is not a meter marker!"
-msgstr ""
-
-#: editor_tempodisplay.cc:401 editor_tempodisplay.cc:435
+#: editor_tempodisplay.cc:360 editor_tempodisplay.cc:394
msgid "remove tempo mark"
msgstr "usuń znacznik tempa"
-#: editor_tempodisplay.cc:418
+#: editor_tempodisplay.cc:377
msgid ""
"programming error: meter marker canvas item has no marker object pointer!"
msgstr ""
@@ -5485,220 +5609,264 @@ msgstr ""
msgid "timefx cannot be started - thread creation error"
msgstr ""
-#: engine_dialog.cc:79
+#: engine_dialog.cc:81
msgid "Device Control Panel"
msgstr ""
-#: engine_dialog.cc:80 engine_dialog.cc:1725
+#: engine_dialog.cc:82
+msgid "Midi Device Setup"
+msgstr ""
+
+#: engine_dialog.cc:83 engine_dialog.cc:1999
msgid "Measure"
msgstr ""
-#: engine_dialog.cc:81
+#: engine_dialog.cc:84
msgid "Use results"
msgstr ""
-#: engine_dialog.cc:82
+#: engine_dialog.cc:85
msgid "Back to settings ... (ignore results)"
msgstr ""
-#: engine_dialog.cc:83
-msgid "Calibrate..."
+#: engine_dialog.cc:86
+msgid "Calibrate Audio"
msgstr ""
-#: engine_dialog.cc:87
-msgid "Refresh list"
+#: engine_dialog.cc:90
+msgid "Back to settings"
msgstr ""
-#: engine_dialog.cc:107
+#: engine_dialog.cc:108
msgid ""
"No audio/MIDI backends detected. %1 cannot run\n"
"\n"
"(This is a build/packaging/system error. It should never happen.)"
msgstr ""
-#: engine_dialog.cc:136
+#: engine_dialog.cc:135
msgid "Latency Measurement Tool"
msgstr ""
-#: engine_dialog.cc:151
+#: engine_dialog.cc:147 engine_dialog.cc:561
msgid ""
"<span weight=\"bold\">Turn down the volume on your audio equipment to a very "
"low level.</span>"
msgstr ""
-#: engine_dialog.cc:159
+#: engine_dialog.cc:156
msgid "Select two channels below and connect them using a cable."
msgstr ""
-#: engine_dialog.cc:164
+#: engine_dialog.cc:161
msgid "Output channel"
msgstr ""
-#: engine_dialog.cc:172
+#: engine_dialog.cc:169
msgid "Input channel"
msgstr ""
-#: engine_dialog.cc:207
+#: engine_dialog.cc:204
msgid "Once the channels are connected, click the \"Measure\" button."
msgstr ""
-#: engine_dialog.cc:214
+#: engine_dialog.cc:211
msgid "When satisfied with the results, click the \"Use results\" button."
msgstr ""
-#: engine_dialog.cc:229 engine_dialog.cc:1727
+#: engine_dialog.cc:226 engine_dialog.cc:2107 engine_dialog.cc:2117
msgid "No measurement results yet"
msgstr ""
-#: engine_dialog.cc:238 route_params_ui.cc:105
+#: engine_dialog.cc:236 route_params_ui.cc:105
msgid "Latency"
msgstr "Opóźnienie"
-#: engine_dialog.cc:333
+#: engine_dialog.cc:351
msgid "Audio System:"
msgstr ""
-#: engine_dialog.cc:374
+#: engine_dialog.cc:394
msgid "Driver:"
msgstr ""
-#: engine_dialog.cc:380
+#: engine_dialog.cc:400
msgid "Device:"
msgstr ""
-#: engine_dialog.cc:385 engine_dialog.cc:475 sfdb_ui.cc:147 sfdb_ui.cc:260
-#: sfdb_ui.cc:265
+#: engine_dialog.cc:405 engine_dialog.cc:496 sfdb_ui.cc:151 sfdb_ui.cc:341
+#: sfdb_ui.cc:346
msgid "Sample rate:"
msgstr "Częstotliwość próbkowania:"
-#: engine_dialog.cc:391 engine_dialog.cc:482
+#: engine_dialog.cc:411 engine_dialog.cc:503
msgid "Buffer size:"
msgstr ""
-#: engine_dialog.cc:404
+#: engine_dialog.cc:424
msgid "Input Channels:"
msgstr ""
-#: engine_dialog.cc:415
+#: engine_dialog.cc:435
msgid "Output Channels:"
msgstr ""
-#: engine_dialog.cc:426
+#: engine_dialog.cc:446
msgid "Hardware input latency:"
msgstr ""
-#: engine_dialog.cc:429 engine_dialog.cc:442
+#: engine_dialog.cc:449 engine_dialog.cc:462
msgid "samples"
msgstr ""
-#: engine_dialog.cc:439
+#: engine_dialog.cc:459
msgid "Hardware output latency:"
msgstr ""
-#: engine_dialog.cc:450
+#: engine_dialog.cc:470
msgid "MIDI System"
msgstr ""
-#: engine_dialog.cc:467
+#: engine_dialog.cc:488
msgid ""
"The %1 audio backend was configured and started externally.\n"
"This limits your control over it."
msgstr ""
-#: engine_dialog.cc:521
+#: engine_dialog.cc:543
+msgid ""
+"Failed to start or connect to audio-engine.\n"
+"\n"
+"Latency calibration requires a working audio interface."
+msgstr ""
+
+#: engine_dialog.cc:549
msgid ""
"Your selected audio configuration is playback- or capture-only.\n"
"\n"
"Latency calibration requires playback and capture"
msgstr ""
-#: engine_dialog.cc:595
-msgid "MIDI Inputs"
+#: engine_dialog.cc:630
+msgid "MIDI Devices"
+msgstr ""
+
+#: engine_dialog.cc:636
+msgid "Device"
+msgstr "UrzÄ…dzenie"
+
+#: engine_dialog.cc:638
+msgid "Hardware Latencies"
msgstr ""
-#: engine_dialog.cc:612
-msgid "MIDI Outputs"
+#: engine_dialog.cc:679
+msgid "Calibrate"
msgstr ""
-#: engine_dialog.cc:696
+#: engine_dialog.cc:761
msgid "all available channels"
msgstr ""
-#: engine_dialog.cc:890
+#: engine_dialog.cc:954
#, c-format
msgid "%u samples"
msgstr ""
-#: engine_dialog.cc:941
+#: engine_dialog.cc:1001
#, c-format
msgid "(%.1f msecs)"
msgstr ""
-#: engine_dialog.cc:1389
+#: engine_dialog.cc:1510
+msgid "Could not start backend engine %1"
+msgstr ""
+
+#: engine_dialog.cc:1561
msgid "Cannot set driver to %1"
msgstr ""
-#: engine_dialog.cc:1393
+#: engine_dialog.cc:1565
msgid "Cannot set device name to %1"
msgstr ""
-#: engine_dialog.cc:1397
+#: engine_dialog.cc:1569
msgid "Cannot set sample rate to %1"
msgstr ""
-#: engine_dialog.cc:1401
+#: engine_dialog.cc:1573
msgid "Cannot set buffer size to %1"
msgstr ""
-#: engine_dialog.cc:1407
+#: engine_dialog.cc:1579
msgid "Cannot set input channels to %1"
msgstr ""
-#: engine_dialog.cc:1411
+#: engine_dialog.cc:1583
msgid "Cannot set output channels to %1"
msgstr ""
-#: engine_dialog.cc:1417
+#: engine_dialog.cc:1589
msgid "Cannot set input latency to %1"
msgstr ""
-#: engine_dialog.cc:1421
+#: engine_dialog.cc:1593
msgid "Cannot set output latency to %1"
msgstr ""
-#: engine_dialog.cc:1654
+#: engine_dialog.cc:1858 engine_dialog.cc:1917
msgid "No signal detected "
msgstr ""
-#: engine_dialog.cc:1667 port_insert_ui.cc:71 port_insert_ui.cc:99
+#: engine_dialog.cc:1871 engine_dialog.cc:1925 port_insert_ui.cc:70
+#: port_insert_ui.cc:98
msgid "Disconnected from audio engine"
msgstr ""
-#: engine_dialog.cc:1681
+#: engine_dialog.cc:1880 engine_dialog.cc:1933
+msgid "Detected roundtrip latency: "
+msgstr ""
+
+#: engine_dialog.cc:1882 engine_dialog.cc:1935
+msgid "Systemic latency: "
+msgstr ""
+
+#: engine_dialog.cc:1889
msgid "(signal detection error)"
msgstr ""
-#: engine_dialog.cc:1687
+#: engine_dialog.cc:1895
msgid "(inverted - bad wiring)"
msgstr ""
-#: engine_dialog.cc:1697
-msgid "Detected roundtrip latency: %1"
+#: engine_dialog.cc:1942
+msgid "(averaging)"
+msgstr ""
+
+#: engine_dialog.cc:1948
+msgid "(too large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1952
+msgid "(large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1963
+msgid "Timeout - large MIDI jitter."
msgstr ""
-#: engine_dialog.cc:1709 port_insert_ui.cc:135
+#: engine_dialog.cc:1979 port_insert_ui.cc:134
msgid "Detecting ..."
msgstr ""
-#: engine_dialog.cc:1789
+#: engine_dialog.cc:2073
msgid "Disconnect from %1"
msgstr ""
-#: engine_dialog.cc:1801
+#: engine_dialog.cc:2085
msgid "Connect to %1"
msgstr ""
-#: export_channel_selector.cc:45 sfdb_ui.cc:145
+#: export_channel_selector.cc:45 sfdb_ui.cc:149
msgid "Channels:"
msgstr "Kanały:"
@@ -5740,92 +5908,100 @@ msgstr ""
msgid "List files"
msgstr ""
-#: export_dialog.cc:164 export_timespan_selector.cc:355
-#: export_timespan_selector.cc:417
+#: export_dialog.cc:158 export_format_dialog.cc:59
+msgid "File format"
+msgstr ""
+
+#: export_dialog.cc:159 export_timespan_selector.cc:374
+#: export_timespan_selector.cc:436
msgid "Time Span"
msgstr ""
-#: export_dialog.cc:176
+#: export_dialog.cc:160
msgid "Channels"
msgstr "Kanały"
-#: export_dialog.cc:187
-msgid "Time span and channel options"
-msgstr ""
-
-#: export_dialog.cc:221
+#: export_dialog.cc:182
msgid ""
"Export has been aborted due to an error!\n"
"See the Log for details."
msgstr ""
-#: export_dialog.cc:290
+#: export_dialog.cc:251
msgid "Files that will be overwritten"
msgstr ""
-#: export_dialog.cc:316
+#: export_dialog.cc:296
+msgid "Export initialization failed: %1"
+msgstr ""
+
+#: export_dialog.cc:306
msgid "Stop Export"
msgstr "Zatrzymaj eksport"
-#: export_dialog.cc:337
+#: export_dialog.cc:327
msgid "export"
msgstr ""
-#: export_dialog.cc:356
+#: export_dialog.cc:346
msgid "Normalizing '%3' (timespan %1 of %2)"
msgstr ""
-#: export_dialog.cc:360
+#: export_dialog.cc:350
msgid "Exporting '%3' (timespan %1 of %2)"
msgstr ""
-#: export_dialog.cc:383 export_dialog.cc:385
+#: export_dialog.cc:373 export_dialog.cc:375
msgid "<span color=\"#ffa755\">Error: "
msgstr ""
-#: export_dialog.cc:395
+#: export_dialog.cc:385
msgid "<span color=\"#ffa755\">Warning: "
msgstr ""
-#: export_dialog.cc:397
+#: export_dialog.cc:387
msgid ""
"\n"
"<span color=\"#ffa755\">Warning: "
msgstr ""
-#: export_dialog.cc:420
+#: export_dialog.cc:411
msgid "Export Selection"
msgstr ""
-#: export_dialog.cc:433
+#: export_dialog.cc:425
msgid "Export Region"
msgstr "Eksportuj obszar"
-#: export_dialog.cc:443
+#: export_dialog.cc:434
msgid "Source"
msgstr ""
-#: export_dialog.cc:458
+#: export_dialog.cc:450
msgid "Stem Export"
msgstr ""
-#: export_file_notebook.cc:38
+#: export_file_notebook.cc:39
msgid "Add another format"
msgstr ""
-#: export_file_notebook.cc:178
+#: export_file_notebook.cc:193
msgid "Format"
msgstr "Format"
-#: export_file_notebook.cc:179
+#: export_file_notebook.cc:194
msgid "Location"
msgstr "Położenie"
-#: export_file_notebook.cc:255
+#: export_file_notebook.cc:195
+msgid "Upload to Soundcloud"
+msgstr ""
+
+#: export_file_notebook.cc:273
msgid "No format!"
msgstr ""
-#: export_file_notebook.cc:267
+#: export_file_notebook.cc:291
msgid "Format %1: %2"
msgstr ""
@@ -5846,9 +6022,9 @@ msgid "Folder:"
msgstr ""
#: export_filename_selector.cc:37 session_import_dialog.cc:44
-#: transcode_video_dialog.cc:58 video_server_dialog.cc:45
-#: video_server_dialog.cc:47 export_video_dialog.cc:68
-#: export_video_dialog.cc:70
+#: transcode_video_dialog.cc:59 video_server_dialog.cc:59
+#: video_server_dialog.cc:61 export_video_dialog.cc:69
+#: export_video_dialog.cc:71
msgid "Browse"
msgstr "PrzeglÄ…daj"
@@ -5908,67 +6084,69 @@ msgstr ""
msgid "Add silence at end:"
msgstr ""
-#: export_format_dialog.cc:55
-msgid "Compatibility"
+#: export_format_dialog.cc:54
+msgid ""
+"Command to run post-export\n"
+"(%f=full path & filename, %d=directory, %b=basename):"
msgstr ""
-#: export_format_dialog.cc:56
-msgid "Quality"
+#: export_format_dialog.cc:57
+msgid "Compatibility"
msgstr ""
-#: export_format_dialog.cc:57
-msgid "File format"
+#: export_format_dialog.cc:58
+msgid "Quality"
msgstr ""
-#: export_format_dialog.cc:59
+#: export_format_dialog.cc:61
msgid "Sample rate conversion quality:"
msgstr ""
-#: export_format_dialog.cc:66
+#: export_format_dialog.cc:68
msgid "Dithering"
msgstr ""
-#: export_format_dialog.cc:68
+#: export_format_dialog.cc:70
msgid "Create CUE file for disk-at-once CD/DVD creation"
msgstr ""
-#: export_format_dialog.cc:69
+#: export_format_dialog.cc:71
msgid "Create TOC file for disk-at-once CD/DVD creation"
msgstr ""
-#: export_format_dialog.cc:71
+#: export_format_dialog.cc:73
msgid "Tag file with session's metadata"
msgstr ""
-#: export_format_dialog.cc:461
+#: export_format_dialog.cc:470
msgid "Best (sinc)"
msgstr ""
-#: export_format_dialog.cc:466
+#: export_format_dialog.cc:475
msgid "Medium (sinc)"
msgstr ""
-#: export_format_dialog.cc:471
+#: export_format_dialog.cc:480
msgid "Fast (sinc)"
msgstr ""
-#: export_format_dialog.cc:481
+#: export_format_dialog.cc:490
msgid "Zero order hold"
msgstr ""
-#: export_format_dialog.cc:879
+#: export_format_dialog.cc:895
msgid "Linear encoding options"
msgstr ""
-#: export_format_dialog.cc:895
+#: export_format_dialog.cc:911
msgid "Ogg Vorbis options"
msgstr ""
-#: export_format_dialog.cc:908
+#: export_format_dialog.cc:922
msgid "FLAC options"
msgstr ""
-#: export_format_dialog.cc:925
+#: export_format_dialog.cc:939
msgid "Broadcast Wave options"
msgstr ""
@@ -5994,11 +6172,15 @@ msgstr ""
msgid "Show Times as:"
msgstr ""
-#: export_timespan_selector.cc:204
+#: export_timespan_selector.cc:53 processor_box.cc:2510
+msgid "Select All"
+msgstr "Wszystko"
+
+#: export_timespan_selector.cc:223
msgid " to "
msgstr ""
-#: export_timespan_selector.cc:348 export_timespan_selector.cc:407
+#: export_timespan_selector.cc:367 export_timespan_selector.cc:426
msgid "Range"
msgstr ""
@@ -6014,172 +6196,140 @@ msgstr ""
msgid "getSoundResourceFile: root = %1, != response"
msgstr ""
-#: sfdb_freesound_mootcher.cc:410
+#: sfdb_freesound_mootcher.cc:410 rc_option_editor.cc:1729
msgid "%1"
msgstr ""
-#: gain_meter.cc:105 gain_meter.cc:360 gain_meter.cc:465 gain_meter.cc:859
+#: gain_meter.cc:106 gain_meter.cc:366 gain_meter.cc:471 gain_meter.cc:865
msgid "-inf"
msgstr ""
-#: gain_meter.cc:111 gain_meter.cc:916
+#: gain_meter.cc:113 gain_meter.cc:927
msgid "Fader automation mode"
msgstr "Tryb automatyzacji wzmocnienia"
-#: gain_meter.cc:112 gain_meter.cc:917
+#: gain_meter.cc:114 gain_meter.cc:928
msgid "Fader automation type"
msgstr "Rodzaj automatyzacji wzmocnienia"
-#: gain_meter.cc:121 gain_meter.cc:798 panner_ui.cc:177 panner_ui.cc:589
+#: gain_meter.cc:123 gain_meter.cc:804 panner_ui.cc:178 panner_ui.cc:638
msgid "Abs"
msgstr ""
-#: gain_meter.cc:765 mixer_strip.cc:1948 meter_strip.cc:337 panner_ui.cc:556
-#: route_time_axis.cc:2411
+#: gain_meter.cc:771 mixer_strip.cc:2004 meter_strip.cc:374 panner_ui.cc:605
+#: route_time_axis.cc:100 route_time_axis.cc:2560
msgid "P"
msgstr ""
-#: gain_meter.cc:768 panner_ui.cc:559
+#: gain_meter.cc:774 panner_ui.cc:608
msgid "T"
msgstr ""
-#: gain_meter.cc:771 panner_ui.cc:562
+#: gain_meter.cc:777 panner_ui.cc:611
msgid "W"
msgstr ""
-#: generic_pluginui.cc:81
+#: generic_pluginui.cc:79
msgid "<span size=\"large\">Presets</span>"
msgstr ""
-#: generic_pluginui.cc:230
+#: generic_pluginui.cc:228
msgid "Switches"
msgstr ""
-#: generic_pluginui.cc:240 generic_pluginui.cc:374 processor_box.cc:2251
+#: generic_pluginui.cc:238 generic_pluginui.cc:372 processor_box.cc:2484
msgid "Controls"
msgstr "Sterowanie"
-#: generic_pluginui.cc:268
+#: generic_pluginui.cc:266
msgid "Plugin Editor: could not build control element for port %1"
msgstr ""
-#: generic_pluginui.cc:406
+#: generic_pluginui.cc:404
msgid "Meters"
msgstr ""
-#: generic_pluginui.cc:421
+#: generic_pluginui.cc:419
msgid "Automation control"
msgstr "Kontrola automatyzacji"
-#: generic_pluginui.cc:428
+#: generic_pluginui.cc:426
msgid "Mgnual"
msgstr ""
-#: global_port_matrix.cc:157
+#: global_port_matrix.cc:158
msgid "Audio Connection Manager"
msgstr ""
-#: global_port_matrix.cc:160
+#: global_port_matrix.cc:161
msgid "MIDI Connection Manager"
msgstr ""
-#: global_port_matrix.cc:200 io_selector.cc:210 mixer_strip.cc:719
-#: mixer_strip.cc:845
+#: global_port_matrix.cc:201 io_selector.cc:211 mixer_strip.cc:799
+#: mixer_strip.cc:895
msgid "Disconnect"
msgstr "Rozłącz"
-#: global_port_matrix.cc:206 io_selector.cc:216
+#: global_port_matrix.cc:207 io_selector.cc:217
msgid "port"
msgstr ""
-#: group_tabs.cc:308
+#: group_tabs.cc:312
msgid "Selection..."
msgstr ""
-#: group_tabs.cc:309
+#: group_tabs.cc:313
msgid "Record Enabled..."
msgstr ""
-#: group_tabs.cc:310
+#: group_tabs.cc:314
msgid "Soloed..."
msgstr ""
-#: group_tabs.cc:316
+#: group_tabs.cc:320
msgid "Create New Group ..."
msgstr ""
-#: group_tabs.cc:317
+#: group_tabs.cc:321
msgid "Create New Group From"
msgstr ""
-#: group_tabs.cc:320
+#: group_tabs.cc:324
msgid "Edit Group..."
msgstr ""
-#: group_tabs.cc:321
+#: group_tabs.cc:325
msgid "Collect Group"
msgstr ""
-#: group_tabs.cc:322
+#: group_tabs.cc:326
msgid "Remove Group"
msgstr ""
-#: group_tabs.cc:325
+#: group_tabs.cc:329
msgid "Remove Subgroup Bus"
msgstr ""
-#: group_tabs.cc:327
+#: group_tabs.cc:331
msgid "Add New Subgroup Bus"
msgstr ""
-#: group_tabs.cc:329
+#: group_tabs.cc:333
msgid "Add New Aux Bus (pre-fader)"
msgstr ""
-#: group_tabs.cc:330
+#: group_tabs.cc:334
msgid "Add New Aux Bus (post-fader)"
msgstr ""
-#: group_tabs.cc:336
+#: group_tabs.cc:340
msgid "Enable All Groups"
msgstr ""
-#: group_tabs.cc:337
+#: group_tabs.cc:341
msgid "Disable All Groups"
msgstr ""
-#: gtk-custom-ruler.c:133
-msgid "Lower limit of ruler"
-msgstr ""
-
-#: gtk-custom-ruler.c:142
-msgid "Upper"
-msgstr ""
-
-#: gtk-custom-ruler.c:143
-msgid "Upper limit of ruler"
-msgstr ""
-
-#: gtk-custom-ruler.c:153
-msgid "Position of mark on the ruler"
-msgstr ""
-
-#: gtk-custom-ruler.c:162
-msgid "Max Size"
-msgstr "Największy rozmiar"
-
-#: gtk-custom-ruler.c:163
-msgid "Maximum size of the ruler"
-msgstr ""
-
-#: gtk-custom-ruler.c:172
-msgid "Show Position"
-msgstr "Wyświetl pozycję"
-
-#: gtk-custom-ruler.c:173
-msgid "Draw current ruler position"
-msgstr ""
-
#: insert_time_dialog.cc:46
msgid "Time to insert:"
msgstr ""
@@ -6234,27 +6384,27 @@ msgstr ""
msgid "Importing file: %1 of %2"
msgstr ""
-#: io_selector.cc:220
+#: io_selector.cc:221
msgid "I/O selector"
msgstr ""
-#: io_selector.cc:265
+#: io_selector.cc:266
msgid "%1 input"
msgstr "%1 wejście"
-#: io_selector.cc:267
+#: io_selector.cc:268
msgid "%1 output"
msgstr "%1 wyjście"
-#: keyboard.cc:66
+#: keyboard.cc:70
msgid "your own"
msgstr "własny"
-#: keyboard.cc:129 keyboard.cc:153
+#: keyboard.cc:133 keyboard.cc:157
msgid "Default keybindings not found - %1 will be hard to use!"
msgstr ""
-#: keyboard.cc:132 keyboard.cc:156
+#: keyboard.cc:136
msgid "Key bindings file \"%1\" not found. Default bindings used instead"
msgstr ""
@@ -6270,27 +6420,31 @@ msgstr "Czynność"
msgid "Shortcut"
msgstr "Skrót"
-#: keyeditor.cc:86
+#: keyeditor.cc:85
msgid "Select an action, then press the key(s) to (re)set its shortcut"
msgstr ""
-#: keyeditor.cc:251
+#: keyeditor.cc:99
+msgid "Reset Bindings to Defaults"
+msgstr ""
+
+#: keyeditor.cc:260
msgid "Main_menu"
msgstr ""
-#: keyeditor.cc:253
+#: keyeditor.cc:262
msgid "redirectmenu"
msgstr ""
-#: keyeditor.cc:255
+#: keyeditor.cc:264
msgid "Editor_menus"
msgstr ""
-#: keyeditor.cc:257
+#: keyeditor.cc:266
msgid "RegionList"
msgstr ""
-#: keyeditor.cc:259
+#: keyeditor.cc:268
msgid "ProcessorMenu"
msgstr ""
@@ -6313,132 +6467,107 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: latency_gui.cc:72 panner_ui.cc:391
+#: latency_gui.cc:72 panner_ui.cc:408
msgid "Reset"
msgstr "Zresetuj"
-#: latency_gui.cc:151 rhythm_ferret.cc:274 sfdb_ui.cc:1755
+#: latency_gui.cc:149 rhythm_ferret.cc:273 sfdb_ui.cc:1893
msgid "programming error: %1 (%2)"
msgstr ""
-#: location_ui.cc:50 location_ui.cc:52
+#: location_ui.cc:51 location_ui.cc:53
msgid "Use PH"
msgstr ""
-#: location_ui.cc:54
+#: location_ui.cc:55
msgid "CD"
msgstr "CD"
-#: location_ui.cc:57
+#: location_ui.cc:58
msgid "Glue"
msgstr ""
-#: location_ui.cc:85
+#: location_ui.cc:86
msgid "Performer:"
msgstr ""
-#: location_ui.cc:86
+#: location_ui.cc:87
msgid "Composer:"
msgstr ""
-#: location_ui.cc:88
+#: location_ui.cc:89
msgid "Pre-Emphasis"
msgstr "Przed naciskiem"
-#: location_ui.cc:314
+#: location_ui.cc:316
msgid "Remove this range"
msgstr ""
-#: location_ui.cc:315
+#: location_ui.cc:317
msgid "Start time - middle click to locate here"
msgstr ""
-#: location_ui.cc:316
+#: location_ui.cc:318
msgid "End time - middle click to locate here"
msgstr ""
-#: location_ui.cc:319
+#: location_ui.cc:321
msgid "Set range start from playhead location"
msgstr ""
-#: location_ui.cc:320
+#: location_ui.cc:322
msgid "Set range end from playhead location"
msgstr ""
-#: location_ui.cc:324
+#: location_ui.cc:326
msgid "Remove this marker"
msgstr ""
-#: location_ui.cc:325
+#: location_ui.cc:327
msgid "Position - middle click to locate here"
msgstr ""
-#: location_ui.cc:327
+#: location_ui.cc:329
msgid "Set marker time from playhead location"
msgstr ""
-#: location_ui.cc:494
+#: location_ui.cc:496
msgid "You cannot put a CD marker at the start of the session"
msgstr ""
-#: location_ui.cc:720
+#: location_ui.cc:722
msgid "New Marker"
msgstr ""
-#: location_ui.cc:721
+#: location_ui.cc:723
msgid "New Range"
msgstr ""
-#: location_ui.cc:734
+#: location_ui.cc:736
msgid "<b>Loop/Punch Ranges</b>"
msgstr ""
-#: location_ui.cc:759
+#: location_ui.cc:761
msgid "<b>Markers (Including CD Index)</b>"
msgstr ""
-#: location_ui.cc:794
+#: location_ui.cc:796
msgid "<b>Ranges (Including CD Track Ranges)</b>"
msgstr ""
-#: location_ui.cc:1036
+#: location_ui.cc:1038
msgid "add range marker"
msgstr "dodaj znacznik zakresu"
-#: main.cc:81
+#: main.cc:79
msgid "%1 could not connect to the audio backend."
msgstr ""
-#: main.cc:194 main.cc:315
-msgid "cannot create user %3 folder %1 (%2)"
-msgstr ""
-
-#: main.cc:201 main.cc:322
-msgid "cannot open pango.rc file %1"
-msgstr "nie można otworzyć pliku pango.rc %1"
-
-#: main.cc:226 main.cc:349
-msgid "Cannot find ArdourMono TrueType font"
-msgstr ""
-
-#: main.cc:238 main.cc:355
-msgid "Cannot load ArdourMono TrueType font."
-msgstr ""
-
-#: main.cc:303
-msgid ""
-"No fontconfig file found on your system. Things may looked very odd or ugly"
-msgstr ""
-
-#: main.cc:359
-msgid "Failed to set fontconfig configuration."
-msgstr ""
-
-#: main.cc:370 main.cc:386
+#: main.cc:104 main.cc:120
msgid "The audio backend (%1) has failed, or terminated"
msgstr ""
-#: main.cc:373
+#: main.cc:107
msgid ""
"%2 exited unexpectedly, and without notifying %1.\n"
"\n"
@@ -6447,54 +6576,64 @@ msgid ""
"Click OK to exit %1."
msgstr ""
-#: main.cc:387
+#: main.cc:121
msgid "%2 exited unexpectedly, and without notifying %1."
msgstr ""
-#: main.cc:474
+#: main.cc:223
+msgid ""
+"\n"
+" Ardour could not understand your command line "
+msgstr ""
+
+#: main.cc:225
+msgid "An error was encountered while launching Ardour"
+msgstr ""
+
+#: main.cc:233
msgid " (built using "
msgstr " (skompilowany przy użyciu "
-#: main.cc:477
+#: main.cc:236
msgid " and GCC version "
msgstr " oraz GCC w wesji "
-#: main.cc:487
+#: main.cc:246
msgid "Copyright (C) 1999-2012 Paul Davis"
msgstr ""
-#: main.cc:488
+#: main.cc:247
msgid ""
"Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
"Baker, Robin Gareus"
msgstr ""
-#: main.cc:490
+#: main.cc:249
msgid "%1 comes with ABSOLUTELY NO WARRANTY"
msgstr ""
-#: main.cc:491
+#: main.cc:250
msgid "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
msgstr ""
-#: main.cc:492
+#: main.cc:251
msgid "This is free software, and you are welcome to redistribute it "
msgstr "To jest oprogramowanie darmowe i możesz je rozpowszechniać"
-#: main.cc:493
+#: main.cc:252
msgid "under certain conditions; see the source for copying conditions."
msgstr ""
"na ściśle określonych zasadach; zobacz plik COPYING by dowiedzieć się więcej."
-#: main.cc:500
+#: main.cc:259
msgid "could not initialize %1."
msgstr ""
-#: main.cc:509
+#: main.cc:269
msgid "Cannot xinstall SIGPIPE error handler"
msgstr ""
-#: main.cc:515
+#: main.cc:276
msgid "could not create %1 GUI"
msgstr ""
@@ -6502,17 +6641,13 @@ msgstr ""
msgid "Display delta to edit cursor"
msgstr ""
-#: marker.cc:251 video_image_frame.cc:121
+#: marker.cc:265
msgid "MarkerText"
msgstr "Tekst znacznika"
-#: midi_channel_selector.cc:159 midi_channel_selector.cc:397
-#: midi_channel_selector.cc:433
-msgid "All"
-msgstr ""
-
#: midi_channel_selector.cc:163 midi_channel_selector.cc:402
-#: midi_channel_selector.cc:438 rc_option_editor.cc:1248 sfdb_ui.cc:538
+#: midi_channel_selector.cc:438 rc_option_editor.cc:1499
+#: rc_option_editor.cc:2084 sfdb_ui.cc:658
msgid "None"
msgstr "Brak"
@@ -6701,87 +6836,87 @@ msgstr ""
msgid "MidiPortDialog"
msgstr ""
-#: midi_region_view.cc:838
+#: midi_region_view.cc:822
msgid "channel edit"
msgstr ""
-#: midi_region_view.cc:874
+#: midi_region_view.cc:858
msgid "velocity edit"
msgstr ""
-#: midi_region_view.cc:931
+#: midi_region_view.cc:915
msgid "add note"
msgstr ""
-#: midi_region_view.cc:1779
+#: midi_region_view.cc:1766
msgid "step add"
msgstr ""
-#: midi_region_view.cc:1862
+#: midi_region_view.cc:1853
msgid "insane MIDI patch key %1:%2"
msgstr ""
-#: midi_region_view.cc:1870 midi_region_view.cc:1890
+#: midi_region_view.cc:1861 midi_region_view.cc:1881
msgid "alter patch change"
msgstr ""
-#: midi_region_view.cc:1924
+#: midi_region_view.cc:1915
msgid "add patch change"
msgstr ""
-#: midi_region_view.cc:1942
+#: midi_region_view.cc:1933
msgid "move patch change"
msgstr ""
-#: midi_region_view.cc:1953
+#: midi_region_view.cc:1944
msgid "delete patch change"
msgstr ""
-#: midi_region_view.cc:2022
+#: midi_region_view.cc:2013
msgid "delete selection"
msgstr ""
-#: midi_region_view.cc:2038
+#: midi_region_view.cc:2029
msgid "delete note"
msgstr ""
-#: midi_region_view.cc:2425
+#: midi_region_view.cc:2423
msgid "move notes"
msgstr ""
-#: midi_region_view.cc:2647
+#: midi_region_view.cc:2645
msgid "resize notes"
msgstr ""
-#: midi_region_view.cc:2901
+#: midi_region_view.cc:2899
msgid "change velocities"
msgstr ""
-#: midi_region_view.cc:2967
+#: midi_region_view.cc:2965
msgid "transpose"
msgstr ""
-#: midi_region_view.cc:3001
+#: midi_region_view.cc:2999
msgid "change note lengths"
msgstr ""
-#: midi_region_view.cc:3070
+#: midi_region_view.cc:3068
msgid "nudge"
msgstr ""
-#: midi_region_view.cc:3085
+#: midi_region_view.cc:3083
msgid "change channel"
msgstr ""
-#: midi_region_view.cc:3130
+#: midi_region_view.cc:3128
msgid "Bank "
msgstr ""
-#: midi_region_view.cc:3131
+#: midi_region_view.cc:3129
msgid "Program "
msgstr ""
-#: midi_region_view.cc:3132
+#: midi_region_view.cc:3130
msgid "Channel "
msgstr ""
@@ -6789,140 +6924,136 @@ msgstr ""
msgid "paste"
msgstr "wklej"
-#: midi_region_view.cc:3761
-msgid "delete sysex"
-msgstr ""
-
-#: midi_streamview.cc:479
+#: midi_streamview.cc:491
msgid "failed to create MIDI region"
msgstr ""
-#: midi_time_axis.cc:262
+#: midi_time_axis.cc:293
msgid "External MIDI Device"
msgstr ""
-#: midi_time_axis.cc:263
+#: midi_time_axis.cc:294
msgid "External Device Mode"
msgstr ""
-#: midi_time_axis.cc:271
+#: midi_time_axis.cc:302
msgid "Chns"
msgstr ""
-#: midi_time_axis.cc:272
+#: midi_time_axis.cc:303
msgid "Click to edit channel settings"
msgstr ""
-#: midi_time_axis.cc:486
+#: midi_time_axis.cc:517
msgid "Show Full Range"
msgstr ""
-#: midi_time_axis.cc:491
+#: midi_time_axis.cc:522
msgid "Fit Contents"
msgstr ""
-#: midi_time_axis.cc:495
+#: midi_time_axis.cc:526
msgid "Note Range"
msgstr ""
-#: midi_time_axis.cc:496
+#: midi_time_axis.cc:527
msgid "Note Mode"
msgstr ""
-#: midi_time_axis.cc:497
+#: midi_time_axis.cc:528
msgid "Channel Selector"
msgstr ""
-#: midi_time_axis.cc:502
+#: midi_time_axis.cc:533
msgid "Color Mode"
msgstr ""
-#: midi_time_axis.cc:561
+#: midi_time_axis.cc:592
msgid "Bender"
msgstr ""
-#: midi_time_axis.cc:565
+#: midi_time_axis.cc:596
msgid "Pressure"
msgstr ""
-#: midi_time_axis.cc:578
+#: midi_time_axis.cc:609
msgid "Controllers"
msgstr ""
-#: midi_time_axis.cc:583
+#: midi_time_axis.cc:614
msgid "No MIDI Channels selected"
msgstr ""
-#: midi_time_axis.cc:640 midi_time_axis.cc:769
+#: midi_time_axis.cc:692 midi_time_axis.cc:821
msgid "Hide all channels"
msgstr ""
-#: midi_time_axis.cc:644 midi_time_axis.cc:773
+#: midi_time_axis.cc:696 midi_time_axis.cc:825
msgid "Show all channels"
msgstr ""
-#: midi_time_axis.cc:655 midi_time_axis.cc:784
+#: midi_time_axis.cc:707 midi_time_axis.cc:836
msgid "Channel %1"
msgstr ""
-#: midi_time_axis.cc:910 midi_time_axis.cc:942
+#: midi_time_axis.cc:962 midi_time_axis.cc:994
msgid "Controllers %1-%2"
msgstr ""
-#: midi_time_axis.cc:933 midi_time_axis.cc:936
+#: midi_time_axis.cc:985 midi_time_axis.cc:988
msgid "Controller %1"
msgstr ""
-#: midi_time_axis.cc:959
+#: midi_time_axis.cc:1011
msgid "Sustained"
msgstr ""
-#: midi_time_axis.cc:966
+#: midi_time_axis.cc:1018
msgid "Percussive"
msgstr ""
-#: midi_time_axis.cc:986
+#: midi_time_axis.cc:1038
msgid "Meter Colors"
msgstr ""
-#: midi_time_axis.cc:993
+#: midi_time_axis.cc:1045
msgid "Channel Colors"
msgstr ""
-#: midi_time_axis.cc:1000
+#: midi_time_axis.cc:1052
msgid "Track Color"
msgstr ""
-#: midi_time_axis.cc:1488 midi_time_axis.cc:1494 midi_time_axis.cc:1504
-#: midi_time_axis.cc:1510
+#: midi_time_axis.cc:1687 midi_time_axis.cc:1693 midi_time_axis.cc:1703
+#: midi_time_axis.cc:1709
msgid "all"
msgstr ""
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1507
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1706
msgid "some"
msgstr ""
-#: midi_tracer.cc:46
+#: midi_tracer.cc:49
msgid "Line history: "
msgstr ""
-#: midi_tracer.cc:54
+#: midi_tracer.cc:57
msgid "Auto-Scroll"
msgstr ""
-#: midi_tracer.cc:55
+#: midi_tracer.cc:58
msgid "Decimal"
msgstr ""
-#: midi_tracer.cc:56 rc_option_editor.cc:657
+#: midi_tracer.cc:59 rc_option_editor.cc:717
msgid "Enabled"
msgstr ""
-#: midi_tracer.cc:57
+#: midi_tracer.cc:60
msgid "Delta times"
msgstr ""
-#: midi_tracer.cc:70
+#: midi_tracer.cc:73
msgid "Port:"
msgstr ""
@@ -6930,35 +7061,35 @@ msgstr ""
msgid "New velocity"
msgstr ""
-#: missing_file_dialog.cc:34
-msgid "Missing File!"
+#: missing_file_dialog.cc:35
+msgid "Missing File"
msgstr ""
-#: missing_file_dialog.cc:36
+#: missing_file_dialog.cc:37
msgid "Select a folder to search"
msgstr ""
-#: missing_file_dialog.cc:37
+#: missing_file_dialog.cc:38
msgid "Add chosen folder to search path, and try again"
msgstr ""
-#: missing_file_dialog.cc:39
+#: missing_file_dialog.cc:40
msgid "Stop loading this session"
msgstr ""
-#: missing_file_dialog.cc:40
+#: missing_file_dialog.cc:41
msgid "Skip all missing files"
msgstr ""
-#: missing_file_dialog.cc:41
+#: missing_file_dialog.cc:42
msgid "Skip this file"
msgstr ""
-#: missing_file_dialog.cc:52
+#: missing_file_dialog.cc:53
msgid "audio"
msgstr ""
-#: missing_file_dialog.cc:65
+#: missing_file_dialog.cc:70
msgid ""
"%1 cannot find the %2 file\n"
"\n"
@@ -6970,7 +7101,7 @@ msgid ""
"\n"
msgstr ""
-#: missing_file_dialog.cc:99
+#: missing_file_dialog.cc:104
msgid "Click to choose an additional folder"
msgstr ""
@@ -6978,7 +7109,7 @@ msgstr ""
msgid "Missing Plugins"
msgstr ""
-#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:59
+#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:60
msgid "OK"
msgstr "OK"
@@ -7034,6 +7165,10 @@ msgstr ""
msgid "Toggle Selected Plugins"
msgstr ""
+#: mixer_actor.cc:70
+msgid "Deselect all srips and processors"
+msgstr ""
+
#: mixer_actor.cc:72 mixer_actor.cc:73
msgid "Scroll Mixer Window to the left"
msgstr ""
@@ -7050,444 +7185,426 @@ msgstr ""
msgid "Could not find mixer.bindings in search path %1"
msgstr ""
-#: mixer_strip.cc:93 mixer_strip.cc:121 mixer_strip.cc:1721
+#: mixer_strip.cc:98 mixer_strip.cc:127
msgid "pre"
msgstr "przed"
-#: mixer_strip.cc:95 mixer_strip.cc:123 mixer_strip.cc:354 mixer_strip.cc:1300
-#: rc_option_editor.cc:1868
+#: mixer_strip.cc:100 mixer_strip.cc:129 mixer_strip.cc:376
+#: mixer_strip.cc:1373 rc_option_editor.cc:2203
msgid "Comments"
msgstr ""
-#: mixer_strip.cc:147
+#: mixer_strip.cc:151
msgid "Click to toggle the width of this mixer strip."
msgstr ""
-#: mixer_strip.cc:149
+#: mixer_strip.cc:153
msgid ""
"\n"
"%1-%2-click to toggle the width of all strips."
msgstr ""
-#: mixer_strip.cc:156
+#: mixer_strip.cc:160
msgid "Hide this mixer strip"
msgstr ""
-#: mixer_strip.cc:167
+#: mixer_strip.cc:171
msgid "Click to select metering point"
msgstr ""
-#: mixer_strip.cc:173
-msgid "tupni"
-msgstr ""
-
-#: mixer_strip.cc:192
+#: mixer_strip.cc:191
msgid "Isolate Solo"
msgstr ""
-#: mixer_strip.cc:201
+#: mixer_strip.cc:200
msgid "Lock Solo Status"
msgstr ""
-#: mixer_strip.cc:203 mixer_strip.cc:1926
-msgid "lock"
+#: mixer_strip.cc:203 mixer_strip.cc:1982
+msgid "Iso"
msgstr ""
-#: mixer_strip.cc:204 mixer_strip.cc:1925
-msgid "iso"
-msgstr ""
-
-#: mixer_strip.cc:258
+#: mixer_strip.cc:259
msgid "Mix group"
msgstr ""
-#: mixer_strip.cc:351 rc_option_editor.cc:1865
+#: mixer_strip.cc:372 rc_option_editor.cc:2199
msgid "Phase Invert"
msgstr ""
-#: mixer_strip.cc:352 rc_option_editor.cc:1866 route_ui.cc:1218
-msgid "Solo Safe"
+#: mixer_strip.cc:373 rc_option_editor.cc:2200
+msgid "Record & Monitor"
msgstr ""
-#: mixer_strip.cc:355 mixer_ui.cc:124 route_time_axis.cc:673
-msgid "Group"
-msgstr "Grupa"
-
-#: mixer_strip.cc:356 rc_option_editor.cc:1869
-msgid "Meter Point"
+#: mixer_strip.cc:374 rc_option_editor.cc:2201
+msgid "Solo Iso / Lock"
msgstr ""
-#: mixer_strip.cc:470
+#: mixer_strip.cc:530
msgid "Enable/Disable MIDI input"
msgstr ""
-#: mixer_strip.cc:622
-msgid ""
-"Aux\n"
-"Sends"
+#: mixer_strip.cc:694
+msgid "Aux"
msgstr ""
-#: mixer_strip.cc:646
+#: mixer_strip.cc:716
msgid "Snd"
msgstr ""
-#: mixer_strip.cc:701 mixer_strip.cc:829 processor_box.cc:2193
+#: mixer_strip.cc:782 mixer_strip.cc:880 processor_box.cc:2426
msgid "Not connected to audio engine - no I/O changes are possible"
msgstr ""
-#: mixer_strip.cc:1096
+#: mixer_strip.cc:1163
msgid "<b>INPUT</b> to %1"
msgstr ""
-#: mixer_strip.cc:1099
+#: mixer_strip.cc:1166
msgid "<b>OUTPUT</b> from %1"
msgstr ""
-#: mixer_strip.cc:1174
+#: mixer_strip.cc:1241
msgid "Disconnected"
msgstr ""
-#: mixer_strip.cc:1303
+#: mixer_strip.cc:1376
msgid "*Comments*"
msgstr "*Komentarze*"
-#: mixer_strip.cc:1310
+#: mixer_strip.cc:1383
msgid "Cmt"
msgstr ""
-#: mixer_strip.cc:1313
+#: mixer_strip.cc:1386
msgid "*Cmt*"
msgstr ""
-#: mixer_strip.cc:1319
+#: mixer_strip.cc:1392
msgid "Click to Add/Edit Comments"
msgstr "Kliknij by dodać/edytować komentarze"
-#: mixer_strip.cc:1358
-msgid ": comment editor"
-msgstr ": edytor komentarzy"
-
-#: mixer_strip.cc:1435
+#: mixer_strip.cc:1436
msgid "Grp"
msgstr ""
-#: mixer_strip.cc:1438
+#: mixer_strip.cc:1439
msgid "~G"
msgstr ""
-#: mixer_strip.cc:1467
+#: mixer_strip.cc:1468 route_time_axis.cc:534
+msgid "Color..."
+msgstr ""
+
+#: mixer_strip.cc:1470 route_time_axis.cc:536
msgid "Comments..."
msgstr ""
-#: mixer_strip.cc:1469
+#: mixer_strip.cc:1472 route_time_axis.cc:538
+msgid "Inputs..."
+msgstr ""
+
+#: mixer_strip.cc:1474 route_time_axis.cc:540
+msgid "Outputs..."
+msgstr ""
+
+#: mixer_strip.cc:1479
msgid "Save As Template..."
msgstr ""
-#: mixer_strip.cc:1475 route_group_dialog.cc:39 route_time_axis.cc:696
+#: mixer_strip.cc:1485 route_group_dialog.cc:45 route_time_axis.cc:814
msgid "Active"
msgstr "Aktywne"
-#: mixer_strip.cc:1482
+#: mixer_strip.cc:1493
msgid "Adjust Latency..."
msgstr ""
-#: mixer_strip.cc:1485
+#: mixer_strip.cc:1496
msgid "Protect Against Denormals"
msgstr ""
-#: mixer_strip.cc:1491 route_time_axis.cc:435
+#: mixer_strip.cc:1502 route_time_axis.cc:553
msgid "Remote Control ID..."
msgstr ""
-#: mixer_strip.cc:1717 mixer_strip.cc:1741
-msgid "in"
+#: mixer_strip.cc:1778
+msgid "Pre"
msgstr ""
-#: mixer_strip.cc:1725
-msgid "post"
-msgstr "za"
-
-#: mixer_strip.cc:1729
-msgid "out"
+#: mixer_strip.cc:1782
+msgid "Post"
msgstr ""
-#: mixer_strip.cc:1734
-msgid "custom"
+#: mixer_strip.cc:1802
+msgid "Pr"
msgstr ""
-#: mixer_strip.cc:1745
-msgid "pr"
+#: mixer_strip.cc:1806
+msgid "Po"
msgstr ""
-#: mixer_strip.cc:1749
-msgid "po"
+#: mixer_strip.cc:1815
+msgid "C"
msgstr ""
-#: mixer_strip.cc:1753
-msgid "o"
-msgstr ""
-
-#: mixer_strip.cc:1758
-msgid "c"
-msgstr ""
-
-#: mixer_strip.cc:1906 route_ui.cc:143
+#: mixer_strip.cc:1963 route_ui.cc:164
msgid "Disk"
msgstr ""
-#: mixer_strip.cc:1918 monitor_section.cc:63
+#: mixer_strip.cc:1975 monitor_section.cc:71
msgid "AFL"
msgstr ""
-#: mixer_strip.cc:1921 monitor_section.cc:64
+#: mixer_strip.cc:1978 monitor_section.cc:72
msgid "PFL"
msgstr ""
-#: mixer_strip.cc:1933
+#: mixer_strip.cc:1989 meter_strip.cc:380
msgid "D"
msgstr ""
-#: mixer_strip.cc:1953
-msgid "i"
-msgstr ""
-
-#: mixer_strip.cc:2128
-msgid "Pre-fader"
-msgstr ""
+#: mixer_strip.cc:2196
+msgid "Pre Fader"
+msgstr "Przed potencjometrem"
-#: mixer_strip.cc:2129
-msgid "Post-fader"
-msgstr ""
+#: mixer_strip.cc:2197
+msgid "Post Fader"
+msgstr "Za potencjometrem"
-#: mixer_strip.cc:2166 meter_strip.cc:728
+#: mixer_strip.cc:2235 meter_strip.cc:818
msgid "Change all in Group to %1"
msgstr ""
-#: mixer_strip.cc:2168 meter_strip.cc:730
+#: mixer_strip.cc:2237 meter_strip.cc:820
msgid "Change all to %1"
msgstr ""
-#: mixer_strip.cc:2170 meter_strip.cc:732
+#: mixer_strip.cc:2239 meter_strip.cc:822
msgid "Change same track-type to %1"
msgstr ""
-#: mixer_ui.cc:1189
+#: mixer_ui.cc:129 route_time_axis.cc:791
+msgid "Group"
+msgstr "Grupa"
+
+#: mixer_ui.cc:1209
msgid "track display list item for renamed strip not found!"
msgstr ""
-#: mixer_ui.cc:1273
+#: mixer_ui.cc:1293
msgid "-all-"
msgstr "-wszystko-"
-#: mixer_ui.cc:1794
+#: mixer_ui.cc:1829
msgid "Strips"
msgstr "Pas"
-#: meter_strip.cc:764
+#: meter_strip.cc:157
+msgid "Reset Peak"
+msgstr ""
+
+#: meter_strip.cc:854
msgid "Variable height"
msgstr ""
-#: meter_strip.cc:765
+#: meter_strip.cc:855
msgid "Short"
msgstr ""
-#: meter_strip.cc:766
+#: meter_strip.cc:856
msgid "Tall"
msgstr ""
-#: meter_strip.cc:767
+#: meter_strip.cc:857
msgid "Grande"
msgstr ""
-#: meter_strip.cc:768
+#: meter_strip.cc:858
msgid "Venti"
msgstr ""
-#: meter_patterns.cc:81
+#: meter_patterns.cc:82
msgid "Peak"
msgstr ""
-#: meter_patterns.cc:84
+#: meter_patterns.cc:85
msgid "RMS + Peak"
msgstr ""
-#: meter_patterns.cc:87
+#: meter_patterns.cc:88
msgid "IEC1/DIN"
msgstr ""
-#: meter_patterns.cc:90
+#: meter_patterns.cc:91
msgid "IEC1/Nordic"
msgstr ""
-#: meter_patterns.cc:93
+#: meter_patterns.cc:94
msgid "IEC2/BBC"
msgstr ""
-#: meter_patterns.cc:96
+#: meter_patterns.cc:97
msgid "IEC2/EBU"
msgstr ""
-#: meter_patterns.cc:99
+#: meter_patterns.cc:100
msgid "K20"
msgstr ""
-#: meter_patterns.cc:102
+#: meter_patterns.cc:103
msgid "K14"
msgstr ""
-#: meter_patterns.cc:105
+#: meter_patterns.cc:106
+msgid "K12"
+msgstr ""
+
+#: meter_patterns.cc:109
msgid "VU"
msgstr ""
-#: monitor_section.cc:62
+#: monitor_section.cc:70
msgid "SiP"
msgstr ""
-#: monitor_section.cc:86
-msgid "soloing"
+#: monitor_section.cc:97 route_group_dialog.cc:49
+msgid "Soloing"
msgstr ""
-#: monitor_section.cc:90
-msgid "isolated"
+#: monitor_section.cc:101
+msgid "Isolated"
msgstr ""
-#: monitor_section.cc:94
-msgid "auditioning"
+#: monitor_section.cc:105
+msgid "Auditioning"
msgstr ""
-#: monitor_section.cc:104
+#: monitor_section.cc:115
msgid ""
"When active, something is solo-isolated.\n"
"Click to de-isolate everything"
msgstr ""
-#: monitor_section.cc:107
+#: monitor_section.cc:118
msgid ""
"When active, auditioning is active.\n"
"Click to stop the audition"
msgstr ""
-#: monitor_section.cc:124
+#: monitor_section.cc:135
msgid "Solo controls affect solo-in-place"
msgstr ""
-#: monitor_section.cc:130
+#: monitor_section.cc:141
msgid "Solo controls toggle after-fader-listen"
msgstr ""
-#: monitor_section.cc:136
+#: monitor_section.cc:147
msgid "Solo controls toggle pre-fader-listen"
msgstr ""
-#: monitor_section.cc:144
+#: monitor_section.cc:157
msgid "Gain increase for soloed signals (0dB is normal)"
msgstr ""
-#: monitor_section.cc:150
+#: monitor_section.cc:171
msgid "Solo Boost"
msgstr ""
-#: monitor_section.cc:162
+#: monitor_section.cc:186
msgid ""
"Gain reduction non-soloed signals\n"
"A value above -inf dB causes \"solo-in-front\""
msgstr ""
-#: monitor_section.cc:164
+#: monitor_section.cc:197
msgid "SiP Cut"
msgstr ""
-#: monitor_section.cc:176
+#: monitor_section.cc:212
msgid "Gain reduction to use when dimming monitor outputs"
msgstr ""
-#: monitor_section.cc:181
+#: monitor_section.cc:226 monitor_section.cc:284
msgid "Dim"
msgstr ""
-#: monitor_section.cc:190
-msgid "excl. solo"
+#: monitor_section.cc:236
+msgid "Excl. Solo"
msgstr ""
-#: monitor_section.cc:192
+#: monitor_section.cc:238
msgid "Exclusive solo means that only 1 solo is active at a time"
msgstr ""
-#: monitor_section.cc:199
-msgid "solo » mute"
+#: monitor_section.cc:245
+msgid "Solo » Mute"
msgstr ""
-#: monitor_section.cc:201
+#: monitor_section.cc:247
msgid ""
"If enabled, solo will override mute\n"
"(a soloed & muted track or bus will be audible)"
msgstr ""
-#: monitor_section.cc:227
-msgid "mute"
-msgstr ""
-
-#: monitor_section.cc:238
-msgid "dim"
-msgstr ""
-
-#: monitor_section.cc:245
-msgid "mono"
-msgstr "mono"
-
-#: monitor_section.cc:266
+#: monitor_section.cc:324
msgid "Monitor"
msgstr ""
-#: monitor_section.cc:678
+#: monitor_section.cc:751
msgid "Switch monitor to mono"
msgstr ""
-#: monitor_section.cc:681
+#: monitor_section.cc:754
msgid "Cut monitor"
msgstr ""
-#: monitor_section.cc:684
+#: monitor_section.cc:757
msgid "Dim monitor"
msgstr ""
-#: monitor_section.cc:687
+#: monitor_section.cc:760
msgid "Toggle exclusive solo mode"
msgstr ""
-#: monitor_section.cc:693
+#: monitor_section.cc:766
msgid "Toggle mute overrides solo mode"
msgstr ""
-#: monitor_section.cc:705
+#: monitor_section.cc:778
msgid "Cut monitor channel %1"
msgstr ""
-#: monitor_section.cc:710
+#: monitor_section.cc:783
msgid "Dim monitor channel %1"
msgstr ""
-#: monitor_section.cc:715
+#: monitor_section.cc:788
msgid "Solo monitor channel %1"
msgstr ""
-#: monitor_section.cc:720
+#: monitor_section.cc:793
msgid "Invert monitor channel %1"
msgstr ""
-#: monitor_section.cc:730
+#: monitor_section.cc:803
msgid "In-place solo"
msgstr ""
-#: monitor_section.cc:732
+#: monitor_section.cc:805
msgid "After Fade Listen (AFL) solo"
msgstr ""
-#: monitor_section.cc:734
+#: monitor_section.cc:807
msgid "Pre Fade Listen (PFL) solo"
msgstr ""
-#: mono_panner.cc:101
+#: mono_panner.cc:109 stereo_panner.cc:117
+msgid "bypassed"
+msgstr ""
+
+#: mono_panner.cc:123
#, c-format
msgid "L:%3d R:%3d"
msgstr ""
@@ -7572,7 +7689,7 @@ msgstr ""
msgid "Normalize region"
msgstr ""
-#: normalize_dialog.cc:49 strip_silence_dialog.cc:70
+#: normalize_dialog.cc:49 strip_silence_dialog.cc:66
msgid "dbFS"
msgstr ""
@@ -7676,31 +7793,26 @@ msgid ""
"ardour3/ardour.bindings)\n"
msgstr ""
-#: panner2d.cc:781
+#: panner2d.cc:852
msgid "Panner (2D)"
msgstr ""
-#: panner2d.cc:783 panner_ui.cc:383 plugin_ui.cc:448
+#: panner2d.cc:854 panner_ui.cc:399 plugin_ui.cc:449
msgid "Bypass"
msgstr "Pomiń"
-#: panner2d.cc:787
+#: panner2d.cc:860
msgid "Panner"
msgstr ""
-#: panner_ui.cc:70
+#: panner_ui.cc:71
msgid "Pan automation mode"
msgstr "Tryb automatyzacji panoramy"
-#: panner_ui.cc:71
+#: panner_ui.cc:72
msgid "Pan automation type"
msgstr "Rodzaj automatyzacji panoramy"
-#: panner_ui.cc:294
-msgid ""
-"No panner user interface is currently available for %1-in/2out tracks/busses"
-msgstr ""
-
#: playlist_selector.cc:43
msgid "Playlists"
msgstr "Listy odtwarzania"
@@ -7725,39 +7837,39 @@ msgstr "nieokreślono"
msgid "Imported"
msgstr ""
-#: plugin_eq_gui.cc:75 plugin_eq_gui.cc:99
+#: plugin_eq_gui.cc:85 plugin_eq_gui.cc:109
msgid "dB scale"
msgstr ""
-#: plugin_eq_gui.cc:106
+#: plugin_eq_gui.cc:116
msgid "Show phase"
msgstr ""
-#: plugin_selector.cc:53 plugin_selector.cc:220
+#: plugin_selector.cc:53 plugin_selector.cc:229
msgid "Name contains"
msgstr "Nazwa zawiera"
-#: plugin_selector.cc:54 plugin_selector.cc:224
+#: plugin_selector.cc:54 plugin_selector.cc:233
msgid "Type contains"
msgstr "Rodzaj zawiera"
-#: plugin_selector.cc:55 plugin_selector.cc:222
+#: plugin_selector.cc:55 plugin_selector.cc:231
msgid "Category contains"
msgstr ""
-#: plugin_selector.cc:56 plugin_selector.cc:244
+#: plugin_selector.cc:56 plugin_selector.cc:253
msgid "Author contains"
msgstr "Autor zawiera"
-#: plugin_selector.cc:57 plugin_selector.cc:246
+#: plugin_selector.cc:57 plugin_selector.cc:255
msgid "Library contains"
msgstr "Biblioteka zawiera"
-#: plugin_selector.cc:58 plugin_selector.cc:210 plugin_selector.cc:521
+#: plugin_selector.cc:58 plugin_selector.cc:219 plugin_selector.cc:537
msgid "Favorites only"
msgstr ""
-#: plugin_selector.cc:59 plugin_selector.cc:214 plugin_selector.cc:521
+#: plugin_selector.cc:59 plugin_selector.cc:223 plugin_selector.cc:537
msgid "Hidden only"
msgstr ""
@@ -7765,190 +7877,190 @@ msgstr ""
msgid "Plugin Manager"
msgstr ""
-#: plugin_selector.cc:84
+#: plugin_selector.cc:85
msgid "Fav"
msgstr ""
-#: plugin_selector.cc:86
+#: plugin_selector.cc:87
msgid "Available Plugins"
msgstr "Dostępne wtyczki"
-#: plugin_selector.cc:87
+#: plugin_selector.cc:88
msgid "Type"
msgstr "Rodzaj"
-#: plugin_selector.cc:88
+#: plugin_selector.cc:89
msgid "Category"
msgstr "Kategoria"
-#: plugin_selector.cc:89
+#: plugin_selector.cc:90
msgid "Creator"
msgstr "Kreator"
-#: plugin_selector.cc:90
+#: plugin_selector.cc:91
msgid "# Audio In"
msgstr ""
-#: plugin_selector.cc:91
+#: plugin_selector.cc:92
msgid "# Audio Out"
msgstr ""
-#: plugin_selector.cc:92
+#: plugin_selector.cc:93
msgid "# MIDI In"
msgstr ""
-#: plugin_selector.cc:93
+#: plugin_selector.cc:94
msgid "# MIDI Out"
msgstr ""
-#: plugin_selector.cc:115
+#: plugin_selector.cc:116
msgid "Plugins to be connected"
msgstr "Wtyczki do podłączenia"
-#: plugin_selector.cc:128
+#: plugin_selector.cc:129
msgid "Add a plugin to the effect list"
msgstr "Dodaj wtyczke do listy efektów"
-#: plugin_selector.cc:132
+#: plugin_selector.cc:133
msgid "Remove a plugin from the effect list"
msgstr "Usuń wtyczkę z listy efektów"
-#: plugin_selector.cc:134
+#: plugin_selector.cc:135
msgid "Update available plugins"
msgstr "Odśwież listę dostępnych wtyczek"
-#: plugin_selector.cc:171
+#: plugin_selector.cc:172
msgid "Insert Plugin(s)"
msgstr "Wstaw wtyczkÄ™"
-#: plugin_selector.cc:320 plugin_selector.cc:321 plugin_selector.cc:322
-#: plugin_selector.cc:323
+#: plugin_selector.cc:337 plugin_selector.cc:338 plugin_selector.cc:339
+#: plugin_selector.cc:340
msgid "variable"
msgstr ""
-#: plugin_selector.cc:480
+#: plugin_selector.cc:496
msgid ""
"The plugin \"%1\" could not be loaded\n"
"\n"
"See the Log window for more details (maybe)"
msgstr ""
-#: plugin_selector.cc:628
+#: plugin_selector.cc:644
msgid "Favorites"
msgstr ""
-#: plugin_selector.cc:630
+#: plugin_selector.cc:646
msgid "Plugin Manager..."
msgstr ""
-#: plugin_selector.cc:634
+#: plugin_selector.cc:650
msgid "By Creator"
msgstr ""
-#: plugin_selector.cc:637
+#: plugin_selector.cc:653
msgid "By Category"
msgstr ""
-#: plugin_ui.cc:114
+#: plugin_ui.cc:113
msgid "Eh? LADSPA plugins don't have editors!"
msgstr ""
-#: plugin_ui.cc:123 plugin_ui.cc:226
+#: plugin_ui.cc:122 plugin_ui.cc:227
msgid ""
"unknown type of editor-supplying plugin (note: no VST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:126
+#: plugin_ui.cc:125
msgid "unknown type of editor-supplying plugin"
msgstr ""
-#: plugin_ui.cc:256
+#: plugin_ui.cc:257
msgid ""
"unknown type of editor-supplying plugin (note: no linuxVST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:328
+#: plugin_ui.cc:329
msgid "create_lv2_editor called on non-LV2 plugin"
msgstr ""
-#: plugin_ui.cc:414
+#: plugin_ui.cc:415
msgid "Add"
msgstr "Dodaj"
-#: plugin_ui.cc:418
+#: plugin_ui.cc:419
msgid "Description"
msgstr ""
-#: plugin_ui.cc:419
+#: plugin_ui.cc:420
msgid "Plugin analysis"
msgstr ""
-#: plugin_ui.cc:426
+#: plugin_ui.cc:427
msgid ""
"Presets (if any) for this plugin\n"
"(Both factory and user-created)"
msgstr ""
-#: plugin_ui.cc:427
+#: plugin_ui.cc:428
msgid "Save a new preset"
msgstr ""
-#: plugin_ui.cc:428
+#: plugin_ui.cc:429
msgid "Save the current preset"
msgstr ""
-#: plugin_ui.cc:429
+#: plugin_ui.cc:430
msgid "Delete the current preset"
msgstr ""
-#: plugin_ui.cc:430
+#: plugin_ui.cc:431
msgid "Disable signal processing by the plugin"
msgstr ""
-#: plugin_ui.cc:463 plugin_ui.cc:659
+#: plugin_ui.cc:464 plugin_ui.cc:660
msgid ""
"Click to allow the plugin to receive keyboard events that %1 would normally "
"use as a shortcut"
msgstr ""
-#: plugin_ui.cc:464
+#: plugin_ui.cc:465
msgid "Click to enable/disable this plugin"
msgstr ""
-#: plugin_ui.cc:503
+#: plugin_ui.cc:504
msgid "latency (%1 sample)"
msgid_plural "latency (%1 samples)"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: plugin_ui.cc:505
+#: plugin_ui.cc:506
msgid "latency (%1 ms)"
msgstr ""
-#: plugin_ui.cc:516
+#: plugin_ui.cc:517
msgid "Edit Latency"
msgstr ""
-#: plugin_ui.cc:555
+#: plugin_ui.cc:556
msgid "Plugin preset %1 not found"
msgstr ""
-#: plugin_ui.cc:592
+#: plugin_ui.cc:593
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"full version"
msgstr ""
-#: plugin_ui.cc:612 plugin_ui.cc:627
+#: plugin_ui.cc:613 plugin_ui.cc:628
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"newer version"
msgstr ""
-#: plugin_ui.cc:666
+#: plugin_ui.cc:667
msgid "Click to allow normal use of %1 keyboard shortcuts"
msgstr ""
@@ -8024,97 +8136,97 @@ msgstr ""
msgid "alsa_pcm"
msgstr ""
-#: port_insert_ui.cc:40
+#: port_insert_ui.cc:39
msgid "Measure Latency"
msgstr ""
-#: port_insert_ui.cc:51
+#: port_insert_ui.cc:50
msgid "Send/Output"
msgstr ""
-#: port_insert_ui.cc:52
+#: port_insert_ui.cc:51
msgid "Return/Input"
msgstr ""
-#: port_insert_ui.cc:86
+#: port_insert_ui.cc:85
msgid "No signal detected"
msgstr ""
-#: port_insert_ui.cc:166
+#: port_insert_ui.cc:165
msgid "Port Insert "
msgstr ""
-#: port_matrix.cc:331 port_matrix.cc:357
+#: port_matrix.cc:332 port_matrix.cc:358
msgid "<b>Sources</b>"
msgstr ""
-#: port_matrix.cc:332 port_matrix.cc:358
+#: port_matrix.cc:333 port_matrix.cc:359
msgid "<b>Destinations</b>"
msgstr ""
-#: port_matrix.cc:440 port_matrix.cc:448
+#: port_matrix.cc:441 port_matrix.cc:449
#, c-format
msgid "Add %s %s"
msgstr ""
-#: port_matrix.cc:456
+#: port_matrix.cc:457
#, c-format
msgid "Rename '%s'..."
msgstr ""
-#: port_matrix.cc:472
+#: port_matrix.cc:473
msgid "Remove all"
msgstr ""
-#: port_matrix.cc:492 port_matrix.cc:504
+#: port_matrix.cc:493 port_matrix.cc:505
#, c-format
msgid "%s all"
msgstr ""
-#: port_matrix.cc:527
+#: port_matrix.cc:528
msgid "Rescan"
msgstr "Skanuj ponownie"
-#: port_matrix.cc:529
+#: port_matrix.cc:530
msgid "Show individual ports"
msgstr ""
-#: port_matrix.cc:535
+#: port_matrix.cc:536
msgid "Flip"
msgstr ""
-#: port_matrix.cc:721
+#: port_matrix.cc:722
msgid ""
"It is not possible to add a port here, as the first processor in the track "
"or buss cannot support the new configuration."
msgstr ""
-#: port_matrix.cc:724
+#: port_matrix.cc:725
msgid "Cannot add port"
msgstr ""
-#: port_matrix.cc:746
+#: port_matrix.cc:747
msgid "Port removal not allowed"
msgstr ""
-#: port_matrix.cc:747
+#: port_matrix.cc:748
msgid ""
"This port cannot be removed.\n"
"Either the first plugin in the track or buss cannot accept\n"
"the new number of inputs or the last plugin has more outputs."
msgstr ""
-#: port_matrix.cc:964
+#: port_matrix.cc:965
#, c-format
msgid "Remove '%s'"
msgstr ""
-#: port_matrix.cc:979
+#: port_matrix.cc:980
#, c-format
msgid "%s all from '%s'"
msgstr ""
-#: port_matrix.cc:1045
+#: port_matrix.cc:1046
msgid "channel"
msgstr ""
@@ -8126,201 +8238,228 @@ msgstr ""
msgid "There are no %1 ports to connect."
msgstr ""
-#: processor_box.cc:256
+#: processor_box.cc:150
+msgid "Send"
+msgstr ""
+
+#: processor_box.cc:152
+msgid "Return"
+msgstr ""
+
+#: processor_box.cc:310
+msgid ""
+"\n"
+"This mono plugin has been replicated %1 times."
+msgstr ""
+
+#: processor_box.cc:314
msgid ""
"<b>%1</b>\n"
"Double-click to show GUI.\n"
-"Alt+double-click to show generic GUI."
+"Alt+double-click to show generic GUI.%2"
msgstr ""
-#: processor_box.cc:259
+#: processor_box.cc:317
msgid ""
"<b>%1</b>\n"
-"Double-click to show generic GUI."
+"Double-click to show generic GUI.%2"
msgstr ""
-#: processor_box.cc:372
+#: processor_box.cc:361
+#, c-format
+msgid "(%1x1) "
+msgstr ""
+
+#: processor_box.cc:437
msgid "Show All Controls"
msgstr ""
-#: processor_box.cc:376
+#: processor_box.cc:441
msgid "Hide All Controls"
msgstr ""
-#: processor_box.cc:465
+#: processor_box.cc:475
+msgid "Link panner controls"
+msgstr ""
+
+#: processor_box.cc:559
msgid "on"
msgstr ""
-#: processor_box.cc:465 rc_option_editor.cc:1898 rc_option_editor.cc:1912
+#: processor_box.cc:559 rc_option_editor.cc:2232 rc_option_editor.cc:2246
msgid "off"
msgstr "wył"
-#: processor_box.cc:742
+#: processor_box.cc:945
msgid ""
"Right-click to add/remove/edit\n"
"plugins,inserts,sends and more"
msgstr ""
-#: processor_box.cc:1197 processor_box.cc:1618
+#: processor_box.cc:1422 processor_box.cc:1848
msgid "Plugin Incompatibility"
msgstr ""
-#: processor_box.cc:1200
+#: processor_box.cc:1425
msgid "You attempted to add the plugin \"%1\" in slot %2.\n"
msgstr ""
-#: processor_box.cc:1206
+#: processor_box.cc:1431
msgid ""
"\n"
"This plugin has:\n"
msgstr ""
-#: processor_box.cc:1209
+#: processor_box.cc:1434
msgid "\t%1 MIDI input\n"
msgid_plural "\t%1 MIDI inputs\n"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: processor_box.cc:1213
+#: processor_box.cc:1438
msgid "\t%1 audio input\n"
msgid_plural "\t%1 audio inputs\n"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: processor_box.cc:1216
+#: processor_box.cc:1441
msgid ""
"\n"
"but at the insertion point, there are:\n"
msgstr ""
-#: processor_box.cc:1219
+#: processor_box.cc:1444
msgid "\t%1 MIDI channel\n"
msgid_plural "\t%1 MIDI channels\n"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: processor_box.cc:1223
+#: processor_box.cc:1448
msgid "\t%1 audio channel\n"
msgid_plural "\t%1 audio channels\n"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: processor_box.cc:1226
+#: processor_box.cc:1451
msgid ""
"\n"
"%1 is unable to insert this plugin here.\n"
msgstr ""
-#: processor_box.cc:1262
+#: processor_box.cc:1488
msgid "Cannot set up new send: %1"
msgstr ""
-#: processor_box.cc:1621
+#: processor_box.cc:1851
msgid ""
"You cannot reorder these plugins/sends/inserts\n"
"in that way because the inputs and\n"
"outputs will not work correctly."
msgstr ""
-#: processor_box.cc:1805
+#: processor_box.cc:2035
msgid "Rename Processor"
msgstr ""
-#: processor_box.cc:1836
+#: processor_box.cc:2066
msgid "At least 100 IO objects exist with a name like %1 - name not changed"
msgstr ""
-#: processor_box.cc:1970
+#: processor_box.cc:2203
msgid "plugin insert constructor failed"
msgstr ""
-#: processor_box.cc:1981
+#: processor_box.cc:2214
msgid ""
"Copying the set of processors on the clipboard failed,\n"
"probably because the I/O configuration of the plugins\n"
"could not match the configuration of this track."
msgstr ""
-#: processor_box.cc:2027
+#: processor_box.cc:2260
msgid ""
"Do you really want to remove all processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2031 processor_box.cc:2056
+#: processor_box.cc:2264 processor_box.cc:2289
msgid "Yes, remove them all"
msgstr "Tak, usuń je wszystkie"
-#: processor_box.cc:2033 processor_box.cc:2058
+#: processor_box.cc:2266 processor_box.cc:2291
msgid "Remove processors"
msgstr ""
-#: processor_box.cc:2048
+#: processor_box.cc:2281
msgid ""
"Do you really want to remove all pre-fader processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2051
+#: processor_box.cc:2284
msgid ""
"Do you really want to remove all post-fader processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2239
+#: processor_box.cc:2472
msgid "New Plugin"
msgstr ""
-#: processor_box.cc:2242
+#: processor_box.cc:2475
msgid "New Insert"
msgstr "Nowy przysył"
-#: processor_box.cc:2245
+#: processor_box.cc:2478
msgid "New External Send ..."
msgstr ""
-#: processor_box.cc:2249
+#: processor_box.cc:2482
msgid "New Aux Send ..."
msgstr ""
-#: processor_box.cc:2253
+#: processor_box.cc:2485
+msgid "Send Options"
+msgstr ""
+
+#: processor_box.cc:2487
msgid "Clear (all)"
msgstr ""
-#: processor_box.cc:2255
+#: processor_box.cc:2489
msgid "Clear (pre-fader)"
msgstr ""
-#: processor_box.cc:2257
+#: processor_box.cc:2491
msgid "Clear (post-fader)"
msgstr ""
-#: processor_box.cc:2283
+#: processor_box.cc:2517
msgid "Activate All"
msgstr "WÅ‚Ä…cz wszystko"
-#: processor_box.cc:2285
+#: processor_box.cc:2519
msgid "Deactivate All"
msgstr ""
-#: processor_box.cc:2287
+#: processor_box.cc:2521
msgid "A/B Plugins"
msgstr ""
-#: processor_box.cc:2296
+#: processor_box.cc:2530
msgid "Edit with generic controls..."
msgstr ""
-#: processor_box.cc:2599
+#: processor_box.cc:2833
msgid "%1: %2 (by %3)"
msgstr ""
-#: processor_box.cc:2601
-msgid "%2 (by %3)"
+#: processor_box.cc:2835
+msgid "%1 (by %2)"
msgstr ""
#: patch_change_dialog.cc:51
@@ -8335,11 +8474,11 @@ msgstr ""
msgid "Patch"
msgstr ""
-#: patch_change_dialog.cc:99 step_entry.cc:429
+#: patch_change_dialog.cc:99 step_entry.cc:430
msgid "Program"
msgstr ""
-#: patch_change_dialog.cc:107 step_entry.cc:421
+#: patch_change_dialog.cc:107 step_entry.cc:422
msgid "Bank"
msgstr ""
@@ -8371,120 +8510,120 @@ msgstr ""
msgid "Snap note end"
msgstr ""
-#: rc_option_editor.cc:67
+#: rc_option_editor.cc:76
msgid "Click audio file:"
msgstr ""
-#: rc_option_editor.cc:70 rc_option_editor.cc:77
+#: rc_option_editor.cc:79 rc_option_editor.cc:86
msgid "Browse..."
msgstr ""
-#: rc_option_editor.cc:74
+#: rc_option_editor.cc:83
msgid "Click emphasis audio file:"
msgstr ""
-#: rc_option_editor.cc:106
+#: rc_option_editor.cc:115
msgid "Choose Click"
msgstr "Wybór dźwięku"
-#: rc_option_editor.cc:126
+#: rc_option_editor.cc:135
msgid "Choose Click Emphasis"
msgstr "Wybór dźwięku akcentowanego uderzenia"
-#: rc_option_editor.cc:158
+#: rc_option_editor.cc:167
msgid "Limit undo history to"
msgstr ""
-#: rc_option_editor.cc:159
+#: rc_option_editor.cc:168
msgid "Save undo history of"
msgstr ""
-#: rc_option_editor.cc:168 rc_option_editor.cc:175
+#: rc_option_editor.cc:177 rc_option_editor.cc:184
msgid "commands"
msgstr ""
-#: rc_option_editor.cc:313
+#: rc_option_editor.cc:322
msgid "Edit using:"
msgstr ""
-#: rc_option_editor.cc:319 rc_option_editor.cc:345 rc_option_editor.cc:372
+#: rc_option_editor.cc:328 rc_option_editor.cc:354 rc_option_editor.cc:381
msgid "+ button"
msgstr "i przycisk:"
-#: rc_option_editor.cc:339
+#: rc_option_editor.cc:348
msgid "Delete using:"
msgstr ""
-#: rc_option_editor.cc:366
+#: rc_option_editor.cc:375
msgid "Insert note using:"
msgstr ""
-#: rc_option_editor.cc:393
+#: rc_option_editor.cc:402
msgid "Ignore snap using:"
msgstr ""
-#: rc_option_editor.cc:409
+#: rc_option_editor.cc:418
msgid "Keyboard layout:"
msgstr ""
-#: rc_option_editor.cc:532
+#: rc_option_editor.cc:541
msgid "Font scaling:"
msgstr ""
-#: rc_option_editor.cc:584
+#: rc_option_editor.cc:591
+msgid "Waveform Clip Level (dBFS):"
+msgstr ""
+
+#: rc_option_editor.cc:643
msgid "Playback (seconds of buffering):"
msgstr ""
-#: rc_option_editor.cc:597
+#: rc_option_editor.cc:656
msgid "Recording (seconds of buffering):"
msgstr ""
-#: rc_option_editor.cc:654
+#: rc_option_editor.cc:714
msgid "Control Surface Protocol"
msgstr ""
-#: rc_option_editor.cc:658
-msgid "Feedback"
-msgstr "Sprzężenie zwrotne"
-
-#: rc_option_editor.cc:663
+#: rc_option_editor.cc:723
msgid "Double-click on a name to edit settings for an enabled protocol"
msgstr ""
-#: rc_option_editor.cc:815
+#: rc_option_editor.cc:886
msgid "Show Video Export Info before export"
msgstr ""
-#: rc_option_editor.cc:816
+#: rc_option_editor.cc:887
msgid "Show Video Server Startup Dialog"
msgstr ""
-#: rc_option_editor.cc:817
+#: rc_option_editor.cc:888
msgid "Advanced Setup (remote video server)"
msgstr ""
-#: rc_option_editor.cc:825
+#: rc_option_editor.cc:896
msgid ""
"<b>When enabled</b> you can speficify a custom video-server URL and docroot. "
"- Do not enable this option unless you know what you are doing."
msgstr ""
-#: rc_option_editor.cc:827
+#: rc_option_editor.cc:898
msgid "Video Server URL:"
msgstr ""
-#: rc_option_editor.cc:832
+#: rc_option_editor.cc:903
msgid ""
"Base URL of the video-server including http prefix. This is usually 'http://"
"hostname.example.org:1554/' and defaults to 'http://localhost:1554/' when "
"the video-server is running locally"
msgstr ""
-#: rc_option_editor.cc:834
+#: rc_option_editor.cc:905
msgid "Video Folder:"
msgstr ""
-#: rc_option_editor.cc:839
+#: rc_option_editor.cc:910
msgid ""
"Local path to the video-server document-root. Only files below this "
"directory will be accessible by the video-server. If the server run on a "
@@ -8493,113 +8632,194 @@ msgid ""
"monitor and file-browsing when opening/adding a video file."
msgstr ""
-#: rc_option_editor.cc:846
+#: rc_option_editor.cc:917
msgid ""
"<b>When enabled</b> an information window with details is displayed before "
"the video-export dialog."
msgstr ""
-#: rc_option_editor.cc:851
+#: rc_option_editor.cc:922
msgid ""
"<b>When enabled</b> the video server is never launched automatically without "
"confirmation"
msgstr ""
-#: rc_option_editor.cc:991
+#: rc_option_editor.cc:1004
+msgid "Always Display Plugin Scan Progress"
+msgstr ""
+
+#: rc_option_editor.cc:1005
+msgid "Scan for new VST Plugins on Application Start"
+msgstr ""
+
+#: rc_option_editor.cc:1016
+msgid "General"
+msgstr ""
+
+#: rc_option_editor.cc:1022
+msgid "Scan for Plugins"
+msgstr ""
+
+#: rc_option_editor.cc:1029
+msgid ""
+"<b>When enabled</b> a popup window showing plugin scan progress is displayed "
+"for indexing (cache load) and discovery (detect new plugins)"
+msgstr ""
+
+#: rc_option_editor.cc:1035
+msgid ""
+"Specify the default timeout for plugin instantiation in 1/10 seconds. "
+"Plugins that require more time to load will be blacklisted. A value of 0 "
+"disables the timeout."
+msgstr ""
+
+#: rc_option_editor.cc:1037
+msgid "Scan Time Out [deciseconds]"
+msgstr ""
+
+#: rc_option_editor.cc:1045
+msgid "VST"
+msgstr ""
+
+#: rc_option_editor.cc:1051
+msgid "Clear VST Cache"
+msgstr ""
+
+#: rc_option_editor.cc:1055
+msgid "Clear VST Blacklist"
+msgstr ""
+
+#: rc_option_editor.cc:1063
+msgid ""
+"<b>When enabled</b> new VST plugins are searched, tested and added to the "
+"cache index on application start. When disabled new plugins will only be "
+"available after triggering a 'Scan' manually"
+msgstr ""
+
+#: rc_option_editor.cc:1066
+msgid "Linux VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1073
+msgid "Windows VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1135
+msgid "Set Windows VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1150
+msgid "Set Linux VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1231
msgid "%1 Preferences"
msgstr ""
-#: rc_option_editor.cc:1002
+#: rc_option_editor.cc:1242
msgid "DSP CPU Utilization"
msgstr ""
-#: rc_option_editor.cc:1006
+#: rc_option_editor.cc:1246
msgid "Signal processing uses"
msgstr ""
-#: rc_option_editor.cc:1011
+#: rc_option_editor.cc:1251
msgid "all but one processor"
msgstr ""
-#: rc_option_editor.cc:1012
+#: rc_option_editor.cc:1252
msgid "all available processors"
msgstr ""
-#: rc_option_editor.cc:1015
+#: rc_option_editor.cc:1255
msgid "%1 processors"
msgstr ""
-#: rc_option_editor.cc:1018
+#: rc_option_editor.cc:1258
msgid "This setting will only take effect when %1 is restarted."
msgstr ""
-#: rc_option_editor.cc:1023
+#: rc_option_editor.cc:1263
msgid "Options|Undo"
msgstr ""
-#: rc_option_editor.cc:1030
+#: rc_option_editor.cc:1270
msgid "Verify removal of last capture"
msgstr ""
-#: rc_option_editor.cc:1038
+#: rc_option_editor.cc:1278
msgid "Make periodic backups of the session file"
msgstr ""
-#: rc_option_editor.cc:1043
+#: rc_option_editor.cc:1283
msgid "Session Management"
msgstr ""
-#: rc_option_editor.cc:1048
+#: rc_option_editor.cc:1288
msgid "Always copy imported files"
msgstr "Kopiowanie importowanych plików"
-#: rc_option_editor.cc:1055
+#: rc_option_editor.cc:1295
msgid "Default folder for new sessions:"
msgstr ""
-#: rc_option_editor.cc:1063
+#: rc_option_editor.cc:1303
msgid "Maximum number of recent sessions"
msgstr ""
-#: rc_option_editor.cc:1076
+#: rc_option_editor.cc:1316
msgid "Click gain level"
msgstr ""
-#: rc_option_editor.cc:1081 route_time_axis.cc:215 route_time_axis.cc:676
+#: rc_option_editor.cc:1321 route_time_axis.cc:266 route_time_axis.cc:794
msgid "Automation"
msgstr "Automatyka"
-#: rc_option_editor.cc:1086
+#: rc_option_editor.cc:1326
msgid "Thinning factor (larger value => less data)"
msgstr ""
-#: rc_option_editor.cc:1095
+#: rc_option_editor.cc:1335
msgid "Automation sampling interval (milliseconds)"
msgstr ""
-#: rc_option_editor.cc:1107
+#: rc_option_editor.cc:1347
msgid "Keep record-enable engaged on stop"
msgstr ""
-#: rc_option_editor.cc:1116
+#: rc_option_editor.cc:1356
msgid "Stop recording when an xrun occurs"
msgstr ""
-#: rc_option_editor.cc:1121
+#: rc_option_editor.cc:1361
msgid ""
"<b>When enabled</b> %1 will stop recording if an over- or underrun is "
"detected by the audio engine"
msgstr ""
-#: rc_option_editor.cc:1127
+#: rc_option_editor.cc:1367
+msgid "Play loop is a transport mode"
+msgstr ""
+
+#: rc_option_editor.cc:1372
+msgid ""
+"<b>When enabled</b> the loop button does not start playback but forces "
+"playback to always play the loop\n"
+"\n"
+"<b>When disabled</b> the loop button starts playing the loop, but stop then "
+"cancels loop playback"
+msgstr ""
+
+#: rc_option_editor.cc:1378
msgid "Create markers where xruns occur"
msgstr ""
-#: rc_option_editor.cc:1136
+#: rc_option_editor.cc:1387
msgid "Stop at the end of the session"
msgstr ""
-#: rc_option_editor.cc:1141
+#: rc_option_editor.cc:1392
msgid ""
"<b>When enabled</b> if %1 is <b>not recording</b>, it will stop the "
"transport when it reaches the current session end marker\n"
@@ -8608,11 +8828,11 @@ msgid ""
"all times"
msgstr ""
-#: rc_option_editor.cc:1149
+#: rc_option_editor.cc:1400
msgid "Do seamless looping (not possible when slaved to MTC, LTC etc)"
msgstr ""
-#: rc_option_editor.cc:1154
+#: rc_option_editor.cc:1405
msgid ""
"<b>When enabled</b> this will loop by reading ahead and wrapping around at "
"the loop point, preventing any need to do a transport locate at the end of "
@@ -8622,39 +8842,39 @@ msgid ""
"loop when %1 reaches the end which will often cause a small click or delay"
msgstr ""
-#: rc_option_editor.cc:1162
+#: rc_option_editor.cc:1413
msgid "Disable per-track record disarm while rolling"
msgstr ""
-#: rc_option_editor.cc:1166
+#: rc_option_editor.cc:1417
msgid ""
"<b>When enabled</b> this will prevent you from accidentally stopping "
"specific tracks recording during a take"
msgstr ""
-#: rc_option_editor.cc:1171
+#: rc_option_editor.cc:1422
msgid "12dB gain reduction during fast-forward and fast-rewind"
msgstr ""
-#: rc_option_editor.cc:1175
+#: rc_option_editor.cc:1426
msgid ""
"This will reduce the unpleasant increase in perceived volume that occurs "
"when fast-forwarding or rewinding through some kinds of audio"
msgstr ""
-#: rc_option_editor.cc:1179
+#: rc_option_editor.cc:1430
msgid "Sync/Slave"
msgstr ""
-#: rc_option_editor.cc:1183
+#: rc_option_editor.cc:1434
msgid "External timecode source"
msgstr ""
-#: rc_option_editor.cc:1193
+#: rc_option_editor.cc:1444
msgid "Match session video frame rate to external timecode"
msgstr ""
-#: rc_option_editor.cc:1199
+#: rc_option_editor.cc:1450
msgid ""
"This option controls the value of the video frame rate <i>while chasing</i> "
"an external timecode source.\n"
@@ -8668,21 +8888,21 @@ msgid ""
"external timecode standard and the session standard."
msgstr ""
-#: rc_option_editor.cc:1209
+#: rc_option_editor.cc:1460
msgid "External timecode is sync locked"
msgstr ""
-#: rc_option_editor.cc:1215
+#: rc_option_editor.cc:1466
msgid ""
"<b>When enabled</b> indicates that the selected external timecode source "
"shares sync (Black &amp; Burst, Wordclock, etc) with the audio interface."
msgstr ""
-#: rc_option_editor.cc:1222
+#: rc_option_editor.cc:1473
msgid "Lock to 29.9700 fps instead of 30000/1001"
msgstr ""
-#: rc_option_editor.cc:1228
+#: rc_option_editor.cc:1479
msgid ""
"<b>When enabled</b> the external timecode source is assumed to use 29.97 fps "
"instead of 30000/1001.\n"
@@ -8695,139 +8915,139 @@ msgid ""
"variant of using exactly 29.97 fps has zero timecode drift.\n"
msgstr ""
-#: rc_option_editor.cc:1238
+#: rc_option_editor.cc:1489
msgid "LTC Reader"
msgstr ""
-#: rc_option_editor.cc:1242
+#: rc_option_editor.cc:1493
msgid "LTC incoming port"
msgstr ""
-#: rc_option_editor.cc:1255
+#: rc_option_editor.cc:1506
msgid "LTC Generator"
msgstr ""
-#: rc_option_editor.cc:1260
+#: rc_option_editor.cc:1511
msgid "Enable LTC generator"
msgstr ""
-#: rc_option_editor.cc:1267
-msgid "send LTC while stopped"
+#: rc_option_editor.cc:1518
+msgid "Send LTC while stopped"
msgstr ""
-#: rc_option_editor.cc:1273
+#: rc_option_editor.cc:1524
msgid ""
"<b>When enabled</b> %1 will continue to send LTC information even when the "
"transport (playhead) is not moving"
msgstr ""
-#: rc_option_editor.cc:1279
+#: rc_option_editor.cc:1530
msgid "LTC generator level"
msgstr ""
-#: rc_option_editor.cc:1283
+#: rc_option_editor.cc:1534
msgid ""
"Specify the Peak Volume of the generated LTC signal in dbFS. A good value "
"is 0dBu ^= -18dbFS in an EBU calibrated system"
msgstr ""
-#: rc_option_editor.cc:1295
-msgid "Link selection of regions and tracks"
+#: rc_option_editor.cc:1546
+msgid "Allow dragging of playhead"
msgstr ""
-#: rc_option_editor.cc:1303
+#: rc_option_editor.cc:1554
msgid "Move relevant automation when audio regions are moved"
msgstr ""
-#: rc_option_editor.cc:1311
+#: rc_option_editor.cc:1562
msgid "Show meters on tracks in the editor"
msgstr ""
-#: rc_option_editor.cc:1319
+#: rc_option_editor.cc:1570
msgid "Display master-meter in the toolbar"
msgstr ""
-#: rc_option_editor.cc:1326
+#: rc_option_editor.cc:1577
+msgid "Default fade shape"
+msgstr ""
+
+#: rc_option_editor.cc:1596
msgid "Regions in active edit groups are edited together"
msgstr ""
-#: rc_option_editor.cc:1327
+#: rc_option_editor.cc:1597
msgid "whenever they overlap in time"
msgstr ""
-#: rc_option_editor.cc:1328
+#: rc_option_editor.cc:1598
msgid "only if they have identical length, position and origin"
msgstr ""
-#: rc_option_editor.cc:1338
+#: rc_option_editor.cc:1608
msgid "Make rubberband selection rectangle snap to the grid"
msgstr ""
-#: rc_option_editor.cc:1346
+#: rc_option_editor.cc:1616
msgid "Show waveforms in regions"
msgstr ""
-#: rc_option_editor.cc:1354
+#: rc_option_editor.cc:1624
msgid "Show gain envelopes in audio regions"
msgstr ""
-#: rc_option_editor.cc:1355
+#: rc_option_editor.cc:1625
msgid "in all modes"
msgstr ""
-#: rc_option_editor.cc:1356
+#: rc_option_editor.cc:1626
msgid "only in region gain mode"
msgstr ""
-#: rc_option_editor.cc:1363
+#: rc_option_editor.cc:1633
msgid "Waveform scale"
msgstr ""
-#: rc_option_editor.cc:1368
+#: rc_option_editor.cc:1638
msgid "linear"
msgstr "linearna"
-#: rc_option_editor.cc:1369
+#: rc_option_editor.cc:1639
msgid "logarithmic"
msgstr ""
-#: rc_option_editor.cc:1375
+#: rc_option_editor.cc:1645
msgid "Waveform shape"
msgstr ""
-#: rc_option_editor.cc:1380
+#: rc_option_editor.cc:1650
msgid "traditional"
msgstr ""
-#: rc_option_editor.cc:1381
+#: rc_option_editor.cc:1651
msgid "rectified"
msgstr ""
-#: rc_option_editor.cc:1388
+#: rc_option_editor.cc:1660
msgid "Show waveforms for audio while it is being recorded"
msgstr ""
-#: rc_option_editor.cc:1396
+#: rc_option_editor.cc:1668
msgid "Show zoom toolbar"
msgstr ""
-#: rc_option_editor.cc:1404
-msgid "Color regions using their track's color"
-msgstr ""
-
-#: rc_option_editor.cc:1412
+#: rc_option_editor.cc:1676
msgid "Update editor window during drags of the summary"
msgstr ""
-#: rc_option_editor.cc:1420
+#: rc_option_editor.cc:1684
msgid "Synchronise editor and mixer selection"
msgstr ""
-#: rc_option_editor.cc:1427
+#: rc_option_editor.cc:1691
msgid "Name new markers"
msgstr ""
-#: rc_option_editor.cc:1433
+#: rc_option_editor.cc:1697
msgid ""
"If enabled, popup a dialog when a new marker is created to allow its name to "
"be set as it is created.\n"
@@ -8835,657 +9055,677 @@ msgid ""
"You can always rename markers by right-clicking on them"
msgstr ""
-#: rc_option_editor.cc:1439
+#: rc_option_editor.cc:1703
msgid "Auto-scroll editor window when dragging near its edges"
msgstr ""
-#: rc_option_editor.cc:1446
+#: rc_option_editor.cc:1710
msgid "Buffering"
msgstr ""
-#: rc_option_editor.cc:1454
+#: rc_option_editor.cc:1718
msgid "Record monitoring handled by"
msgstr ""
-#: rc_option_editor.cc:1460
+#: rc_option_editor.cc:1724
msgid "via Audio Driver"
msgstr ""
-#: rc_option_editor.cc:1463
-msgid "ardour"
-msgstr ""
-
-#: rc_option_editor.cc:1464
+#: rc_option_editor.cc:1730
msgid "audio hardware"
msgstr ""
-#: rc_option_editor.cc:1471
+#: rc_option_editor.cc:1737
msgid "Tape machine mode"
msgstr ""
-#: rc_option_editor.cc:1476
+#: rc_option_editor.cc:1742
msgid "Connection of tracks and busses"
msgstr ""
-#: rc_option_editor.cc:1481
+#: rc_option_editor.cc:1747
msgid "Auto-connect master/monitor busses"
msgstr ""
-#: rc_option_editor.cc:1488
+#: rc_option_editor.cc:1754
msgid "Connect track inputs"
msgstr ""
-#: rc_option_editor.cc:1493
+#: rc_option_editor.cc:1759
msgid "automatically to physical inputs"
msgstr ""
-#: rc_option_editor.cc:1494 rc_option_editor.cc:1507
+#: rc_option_editor.cc:1760 rc_option_editor.cc:1773
msgid "manually"
msgstr ""
-#: rc_option_editor.cc:1500
+#: rc_option_editor.cc:1766
msgid "Connect track and bus outputs"
msgstr ""
-#: rc_option_editor.cc:1505
+#: rc_option_editor.cc:1771
msgid "automatically to physical outputs"
msgstr ""
-#: rc_option_editor.cc:1506
+#: rc_option_editor.cc:1772
msgid "automatically to master bus"
msgstr ""
-#: rc_option_editor.cc:1511
+#: rc_option_editor.cc:1777
msgid "Denormals"
msgstr ""
-#: rc_option_editor.cc:1516
+#: rc_option_editor.cc:1782
msgid "Use DC bias to protect against denormals"
msgstr ""
-#: rc_option_editor.cc:1523
+#: rc_option_editor.cc:1789
msgid "Processor handling"
msgstr ""
-#: rc_option_editor.cc:1528
+#: rc_option_editor.cc:1794
msgid "no processor handling"
msgstr ""
-#: rc_option_editor.cc:1533
+#: rc_option_editor.cc:1799
msgid "use FlushToZero"
msgstr ""
-#: rc_option_editor.cc:1537
+#: rc_option_editor.cc:1803
msgid "use DenormalsAreZero"
msgstr ""
-#: rc_option_editor.cc:1541
+#: rc_option_editor.cc:1807
msgid "use FlushToZero and DenormalsAreZero"
msgstr ""
-#: rc_option_editor.cc:1551
+#: rc_option_editor.cc:1817
msgid "Silence plugins when the transport is stopped"
msgstr ""
-#: rc_option_editor.cc:1559
+#: rc_option_editor.cc:1825
msgid "Make new plugins active"
msgstr ""
-#: rc_option_editor.cc:1567
+#: rc_option_editor.cc:1835
msgid "Enable automatic analysis of audio"
msgstr ""
-#: rc_option_editor.cc:1575
+#: rc_option_editor.cc:1843
msgid "Replicate missing region channels"
msgstr ""
-#: rc_option_editor.cc:1582 rc_option_editor.cc:1597 rc_option_editor.cc:1609
-#: rc_option_editor.cc:1621 rc_option_editor.cc:1633 rc_option_editor.cc:1637
-#: rc_option_editor.cc:1645 rc_option_editor.cc:1653 rc_option_editor.cc:1661
-#: rc_option_editor.cc:1663 rc_option_editor.cc:1671 rc_option_editor.cc:1679
-#: rc_option_editor.cc:1687
+#: rc_option_editor.cc:1850 rc_option_editor.cc:1852 rc_option_editor.cc:1867
+#: rc_option_editor.cc:1879 rc_option_editor.cc:1891 rc_option_editor.cc:1903
+#: rc_option_editor.cc:1907 rc_option_editor.cc:1915 rc_option_editor.cc:1923
+#: rc_option_editor.cc:1931 rc_option_editor.cc:1933 rc_option_editor.cc:1941
+#: rc_option_editor.cc:1949 rc_option_editor.cc:1957 rc_option_editor.cc:1965
+#: rc_option_editor.cc:1967
msgid "Solo / mute"
msgstr ""
-#: rc_option_editor.cc:1585
+#: rc_option_editor.cc:1855
msgid "Solo-in-place mute cut (dB)"
msgstr ""
-#: rc_option_editor.cc:1592
+#: rc_option_editor.cc:1862
msgid "Solo controls are Listen controls"
msgstr ""
-#: rc_option_editor.cc:1601
+#: rc_option_editor.cc:1871
msgid "Listen Position"
msgstr ""
-#: rc_option_editor.cc:1606
+#: rc_option_editor.cc:1876
msgid "after-fader (AFL)"
msgstr ""
-#: rc_option_editor.cc:1607
+#: rc_option_editor.cc:1877
msgid "pre-fader (PFL)"
msgstr ""
-#: rc_option_editor.cc:1613
+#: rc_option_editor.cc:1883
msgid "PFL signals come from"
msgstr ""
-#: rc_option_editor.cc:1618
+#: rc_option_editor.cc:1888
msgid "before pre-fader processors"
msgstr ""
-#: rc_option_editor.cc:1619
+#: rc_option_editor.cc:1889
msgid "pre-fader but after pre-fader processors"
msgstr ""
-#: rc_option_editor.cc:1625
+#: rc_option_editor.cc:1895
msgid "AFL signals come from"
msgstr ""
-#: rc_option_editor.cc:1630
+#: rc_option_editor.cc:1900
msgid "immediately post-fader"
msgstr ""
-#: rc_option_editor.cc:1631
+#: rc_option_editor.cc:1901
msgid "after post-fader processors (before pan)"
msgstr ""
-#: rc_option_editor.cc:1640
+#: rc_option_editor.cc:1910
msgid "Exclusive solo"
msgstr ""
-#: rc_option_editor.cc:1648
+#: rc_option_editor.cc:1918
msgid "Show solo muting"
msgstr "Wyświetlanie wyciszania solo"
-#: rc_option_editor.cc:1656
+#: rc_option_editor.cc:1926
msgid "Soloing overrides muting"
msgstr ""
-#: rc_option_editor.cc:1661
+#: rc_option_editor.cc:1931
msgid "Default track / bus muting options"
msgstr ""
-#: rc_option_editor.cc:1666
+#: rc_option_editor.cc:1936
msgid "Mute affects pre-fader sends"
msgstr ""
-#: rc_option_editor.cc:1674
+#: rc_option_editor.cc:1944
msgid "Mute affects post-fader sends"
msgstr ""
-#: rc_option_editor.cc:1682
+#: rc_option_editor.cc:1952
msgid "Mute affects control outputs"
msgstr ""
-#: rc_option_editor.cc:1690
+#: rc_option_editor.cc:1960
msgid "Mute affects main outputs"
msgstr ""
-#: rc_option_editor.cc:1706
+#: rc_option_editor.cc:1965
+msgid "Send Routing"
+msgstr ""
+
+#: rc_option_editor.cc:1970
+msgid "Link panners of Aux and External Sends with main panner by default"
+msgstr ""
+
+#: rc_option_editor.cc:1986
msgid "Send MIDI Time Code"
msgstr ""
-#: rc_option_editor.cc:1714
+#: rc_option_editor.cc:1994
msgid "Percentage either side of normal transport speed to transmit MTC"
msgstr ""
-#: rc_option_editor.cc:1723
+#: rc_option_editor.cc:2003
msgid "Obey MIDI Machine Control commands"
msgstr ""
-#: rc_option_editor.cc:1731
+#: rc_option_editor.cc:2011
msgid "Send MIDI Machine Control commands"
msgstr ""
-#: rc_option_editor.cc:1739
+#: rc_option_editor.cc:2019
msgid "Send MIDI control feedback"
msgstr ""
-#: rc_option_editor.cc:1747
+#: rc_option_editor.cc:2027
msgid "Inbound MMC device ID"
msgstr ""
-#: rc_option_editor.cc:1756
+#: rc_option_editor.cc:2036
msgid "Outbound MMC device ID"
msgstr ""
-#: rc_option_editor.cc:1765
+#: rc_option_editor.cc:2045
msgid "Initial program change"
msgstr ""
-#: rc_option_editor.cc:1774
+#: rc_option_editor.cc:2054
msgid "Display first MIDI bank/program as 0"
msgstr ""
-#: rc_option_editor.cc:1782
+#: rc_option_editor.cc:2062
msgid "Never display periodic MIDI messages (MTC, MIDI Clock)"
msgstr ""
-#: rc_option_editor.cc:1790
+#: rc_option_editor.cc:2070
msgid "Sound MIDI notes as they are selected"
msgstr ""
-#: rc_option_editor.cc:1798 rc_option_editor.cc:1808 rc_option_editor.cc:1810
+#: rc_option_editor.cc:2075
+msgid "Midi Audition"
+msgstr ""
+
+#: rc_option_editor.cc:2079
+msgid "Midi Audition Synth (LV2)"
+msgstr ""
+
+#: rc_option_editor.cc:2103 rc_option_editor.cc:2113 rc_option_editor.cc:2115
msgid "User interaction"
msgstr ""
-#: rc_option_editor.cc:1801
+#: rc_option_editor.cc:2106
msgid ""
"Use translations of %1 messages\n"
" <i>(requires a restart of %1 to take effect)</i>\n"
" <i>(if available for your language preferences)</i>"
msgstr ""
-#: rc_option_editor.cc:1808
+#: rc_option_editor.cc:2113
msgid "Keyboard"
msgstr ""
-#: rc_option_editor.cc:1818
+#: rc_option_editor.cc:2123
msgid "Control surface remote ID"
msgstr ""
-#: rc_option_editor.cc:1823
+#: rc_option_editor.cc:2128
msgid "assigned by user"
msgstr ""
-#: rc_option_editor.cc:1824
+#: rc_option_editor.cc:2129
msgid "follows order of mixer"
msgstr ""
-#: rc_option_editor.cc:1833 rc_option_editor.cc:1841 rc_option_editor.cc:1851
-#: rc_option_editor.cc:1872 rc_option_editor.cc:1881 rc_option_editor.cc:1889
-#: rc_option_editor.cc:1903 rc_option_editor.cc:1922 rc_option_editor.cc:1938
-#: rc_option_editor.cc:1954 rc_option_editor.cc:1968 rc_option_editor.cc:1982
-#: rc_option_editor.cc:1984
+#: rc_option_editor.cc:2143 rc_option_editor.cc:2151 rc_option_editor.cc:2159
+#: rc_option_editor.cc:2169 rc_option_editor.cc:2193 rc_option_editor.cc:2206
+#: rc_option_editor.cc:2215
msgid "Preferences|GUI"
msgstr ""
-#: rc_option_editor.cc:1836
+#: rc_option_editor.cc:2146
msgid "Graphically indicate mouse pointer hovering over various widgets"
msgstr ""
-#: rc_option_editor.cc:1844
+#: rc_option_editor.cc:2154
msgid "Show tooltips if mouse hovers over a control"
msgstr ""
-#: rc_option_editor.cc:1854
-msgid "GUI"
+#: rc_option_editor.cc:2162
+msgid "Use name highlight bars in region displays"
+msgstr ""
+
+#: rc_option_editor.cc:2175
+msgid "update transport clock display at FPS instead of every 100ms"
msgstr ""
-#: rc_option_editor.cc:1857
-msgid "update transport clock display every 40ms instead of every 100ms"
+#: rc_option_editor.cc:2184
+msgid "Lock timeout (seconds)"
msgstr ""
-#: rc_option_editor.cc:1874
+#: rc_option_editor.cc:2192
+msgid "Lock GUI after this many idle seconds (zero to never lock)"
+msgstr ""
+
+#: rc_option_editor.cc:2208
msgid "Mixer Strip"
msgstr ""
-#: rc_option_editor.cc:1884
+#: rc_option_editor.cc:2218
msgid "Use narrow strips in the mixer by default"
msgstr ""
-#: rc_option_editor.cc:1893
+#: rc_option_editor.cc:2223 rc_option_editor.cc:2237 rc_option_editor.cc:2256
+#: rc_option_editor.cc:2272 rc_option_editor.cc:2288 rc_option_editor.cc:2302
+#: rc_option_editor.cc:2316 rc_option_editor.cc:2318
+msgid "Preferences|Metering"
+msgstr ""
+
+#: rc_option_editor.cc:2227
msgid "Peak hold time"
msgstr ""
-#: rc_option_editor.cc:1899
+#: rc_option_editor.cc:2233
msgid "short"
msgstr ""
-#: rc_option_editor.cc:1900
+#: rc_option_editor.cc:2234
msgid "medium"
msgstr ""
-#: rc_option_editor.cc:1901
+#: rc_option_editor.cc:2235
msgid "long"
msgstr ""
-#: rc_option_editor.cc:1907
+#: rc_option_editor.cc:2241
msgid "DPM fall-off"
msgstr ""
-#: rc_option_editor.cc:1913
+#: rc_option_editor.cc:2247
msgid "slowest [6.6dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1914
+#: rc_option_editor.cc:2248
msgid "slow [8.6dB/sec] (BBC PPM, EBU PPM)"
msgstr ""
-#: rc_option_editor.cc:1915
+#: rc_option_editor.cc:2249
msgid "slowish [12.0dB/sec] (DIN)"
msgstr ""
-#: rc_option_editor.cc:1916
+#: rc_option_editor.cc:2250
msgid "moderate [13.3dB/sec] (EBU Digi PPM, IRT Digi PPM)"
msgstr ""
-#: rc_option_editor.cc:1917
+#: rc_option_editor.cc:2251
msgid "medium [20dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1918
+#: rc_option_editor.cc:2252
msgid "fast [32dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1919
+#: rc_option_editor.cc:2253
msgid "faster [46dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1920
+#: rc_option_editor.cc:2254
msgid "fastest [70dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1926
+#: rc_option_editor.cc:2260
msgid "Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1931 rc_option_editor.cc:1947
+#: rc_option_editor.cc:2265 rc_option_editor.cc:2281
msgid "-24dBFS (SMPTE US: 4dBu = -20dBFS)"
msgstr ""
-#: rc_option_editor.cc:1932 rc_option_editor.cc:1948
+#: rc_option_editor.cc:2266 rc_option_editor.cc:2282
msgid "-20dBFS (SMPTE RP.0155)"
msgstr ""
-#: rc_option_editor.cc:1933 rc_option_editor.cc:1949
+#: rc_option_editor.cc:2267 rc_option_editor.cc:2283
msgid "-18dBFS (EBU, BBC)"
msgstr ""
-#: rc_option_editor.cc:1934 rc_option_editor.cc:1950
+#: rc_option_editor.cc:2268 rc_option_editor.cc:2284
msgid "-15dBFS (DIN)"
msgstr ""
-#: rc_option_editor.cc:1936
+#: rc_option_editor.cc:2270
msgid ""
"Configure meter-marks and color-knee point for dBFS scale DPM, set reference "
"level for IEC1/Nordic, IEC2 PPM and VU meter."
msgstr ""
-#: rc_option_editor.cc:1942
+#: rc_option_editor.cc:2276
msgid "IEC1/DIN Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1952
+#: rc_option_editor.cc:2286
msgid "Reference level for IEC1/DIN meter."
msgstr ""
-#: rc_option_editor.cc:1958
+#: rc_option_editor.cc:2292
msgid "VU Meter standard"
msgstr ""
-#: rc_option_editor.cc:1963
+#: rc_option_editor.cc:2297
msgid "0VU = -2dBu (France)"
msgstr ""
-#: rc_option_editor.cc:1964
+#: rc_option_editor.cc:2298
msgid "0VU = 0dBu (North America, Australia)"
msgstr ""
-#: rc_option_editor.cc:1965
+#: rc_option_editor.cc:2299
msgid "0VU = +4dBu (standard)"
msgstr ""
-#: rc_option_editor.cc:1966
+#: rc_option_editor.cc:2300
msgid "0VU = +8dBu"
msgstr ""
-#: rc_option_editor.cc:1972
+#: rc_option_editor.cc:2306
msgid "Peak threshold [dBFS]"
msgstr ""
-#: rc_option_editor.cc:1980
+#: rc_option_editor.cc:2314
msgid ""
"Specify the audio signal level in dbFS at and above which the meter-peak "
"indicator will flash red."
msgstr ""
-#: rc_option_editor.cc:1987
+#: rc_option_editor.cc:2321
msgid "LED meter style"
msgstr ""
-#: region_editor.cc:79
+#: region_editor.cc:78
msgid "audition this region"
msgstr "przesłuchaj ten obszar"
-#: region_editor.cc:88 region_layering_order_editor.cc:74
+#: region_editor.cc:87 region_layering_order_editor.cc:75
msgid "Position:"
msgstr ""
-#: region_editor.cc:90 add_video_dialog.cc:170
+#: region_editor.cc:89 add_video_dialog.cc:155
msgid "End:"
msgstr ""
-#: region_editor.cc:92 sfdb_ui.cc:139
+#: region_editor.cc:91 sfdb_ui.cc:143
msgid "Length:"
msgstr "Długość:"
-#: region_editor.cc:94
+#: region_editor.cc:93
msgid "Sync point (relative to region):"
msgstr ""
-#: region_editor.cc:96
+#: region_editor.cc:95
msgid "Sync point (absolute):"
msgstr ""
-#: region_editor.cc:98
+#: region_editor.cc:97
msgid "File start:"
msgstr ""
-#: region_editor.cc:102
+#: region_editor.cc:101
msgid "Sources:"
msgstr ""
-#: region_editor.cc:104
+#: region_editor.cc:103
msgid "Source:"
msgstr ""
-#: region_editor.cc:166
+#: region_editor.cc:165
msgid "Region '%1'"
msgstr ""
-#: region_editor.cc:273
+#: region_editor.cc:272
msgid "change region start position"
msgstr "zmień pozycję początkową obszaru"
-#: region_editor.cc:289
+#: region_editor.cc:288
msgid "change region end position"
msgstr "zmień pozycję końcową obszaru"
-#: region_editor.cc:309
+#: region_editor.cc:308
msgid "change region length"
msgstr "zmień długość obszaru"
-#: region_editor.cc:403 region_editor.cc:415
+#: region_editor.cc:402 region_editor.cc:414
msgid "change region sync point"
msgstr ""
-#: region_layering_order_editor.cc:41
+#: region_layering_order_editor.cc:42
msgid "RegionLayeringOrderEditor"
msgstr ""
-#: region_layering_order_editor.cc:54
+#: region_layering_order_editor.cc:55
msgid "Region Name"
msgstr ""
-#: region_layering_order_editor.cc:71
+#: region_layering_order_editor.cc:72
msgid "Track:"
msgstr ""
-#: region_layering_order_editor.cc:103
+#: region_layering_order_editor.cc:104
msgid "Choose Top Region"
msgstr ""
-#: region_view.cc:274
+#: region_view.cc:282
msgid "SilenceText"
msgstr ""
-#: region_view.cc:290 region_view.cc:309
+#: region_view.cc:297 region_view.cc:316
msgid "minutes"
msgstr ""
-#: region_view.cc:293 region_view.cc:312
+#: region_view.cc:300 region_view.cc:319
msgid "msecs"
msgstr ""
-#: region_view.cc:296 region_view.cc:315
+#: region_view.cc:303 region_view.cc:322
msgid "secs"
msgstr ""
-#: region_view.cc:299
+#: region_view.cc:306
msgid "%1 silent segment"
msgid_plural "%1 silent segments"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: region_view.cc:301
+#: region_view.cc:308
msgid "shortest = %1 %2"
msgstr ""
-#: region_view.cc:318
+#: region_view.cc:325
msgid ""
"\n"
" (shortest audible segment = %1 %2)"
msgstr ""
-#: return_ui.cc:103
+#: return_ui.cc:102
msgid "Return "
msgstr ""
-#: rhythm_ferret.cc:49
+#: rhythm_ferret.cc:48
msgid "Percussive Onset"
msgstr "WystÄ…pienie perkusji"
-#: rhythm_ferret.cc:50
+#: rhythm_ferret.cc:49
msgid "Note Onset"
msgstr "WystÄ…pienie nuty"
-#: rhythm_ferret.cc:55
+#: rhythm_ferret.cc:54
msgid "Energy Based"
msgstr ""
-#: rhythm_ferret.cc:56
+#: rhythm_ferret.cc:55
msgid "Spectral Difference"
msgstr ""
-#: rhythm_ferret.cc:57
+#: rhythm_ferret.cc:56
msgid "High-Frequency Content"
msgstr ""
-#: rhythm_ferret.cc:58
+#: rhythm_ferret.cc:57
msgid "Complex Domain"
msgstr ""
-#: rhythm_ferret.cc:59
+#: rhythm_ferret.cc:58
msgid "Phase Deviation"
msgstr ""
-#: rhythm_ferret.cc:60
+#: rhythm_ferret.cc:59
msgid "Kullback-Liebler"
msgstr ""
-#: rhythm_ferret.cc:61
+#: rhythm_ferret.cc:60
msgid "Modified Kullback-Liebler"
msgstr ""
-#: rhythm_ferret.cc:66
+#: rhythm_ferret.cc:65
msgid "Split region"
msgstr ""
-#: rhythm_ferret.cc:67
+#: rhythm_ferret.cc:66
msgid "Snap regions"
msgstr ""
-#: rhythm_ferret.cc:68
+#: rhythm_ferret.cc:67
msgid "Conform regions"
msgstr ""
-#: rhythm_ferret.cc:73
+#: rhythm_ferret.cc:72
msgid "Rhythm Ferret"
msgstr ""
-#: rhythm_ferret.cc:79
+#: rhythm_ferret.cc:78
msgid "Analyze"
msgstr "Analizuj"
-#: rhythm_ferret.cc:114
+#: rhythm_ferret.cc:113
msgid "Detection function"
msgstr ""
-#: rhythm_ferret.cc:118
+#: rhythm_ferret.cc:117
msgid "Trigger gap"
msgstr ""
-#: rhythm_ferret.cc:123 strip_silence_dialog.cc:68
+#: rhythm_ferret.cc:122 strip_silence_dialog.cc:64
msgid "Threshold"
msgstr "Wartość progowa"
-#: rhythm_ferret.cc:128
+#: rhythm_ferret.cc:127
msgid "Peak threshold"
msgstr ""
-#: rhythm_ferret.cc:133
+#: rhythm_ferret.cc:132
msgid "Silence threshold"
msgstr ""
-#: rhythm_ferret.cc:138
+#: rhythm_ferret.cc:137
msgid "Sensitivity"
msgstr "Czułość"
-#: rhythm_ferret.cc:142
+#: rhythm_ferret.cc:141
msgid "Operation"
msgstr "Operacja"
-#: rhythm_ferret.cc:356
+#: rhythm_ferret.cc:355
msgid "split regions (rhythm ferret)"
msgstr ""
-#: route_group_dialog.cc:36
+#: route_group_dialog.cc:42
msgid "Track/bus Group"
msgstr ""
-#: route_group_dialog.cc:41
+#: route_group_dialog.cc:47
msgid "Relative"
msgstr ""
-#: route_group_dialog.cc:42
+#: route_group_dialog.cc:48
msgid "Muting"
msgstr ""
-#: route_group_dialog.cc:43
-msgid "Soloing"
-msgstr ""
-
-#: route_group_dialog.cc:44
+#: route_group_dialog.cc:50
msgid "Record enable"
msgstr ""
-#: route_group_dialog.cc:45 time_info_box.cc:66
+#: route_group_dialog.cc:51 time_info_box.cc:67
msgid "Selection"
msgstr "Zaznaczenie"
-#: route_group_dialog.cc:46
+#: route_group_dialog.cc:52
msgid "Active state"
msgstr ""
-#: route_group_dialog.cc:47 route_group_dialog.cc:76 theme_manager.cc:71
+#: route_group_dialog.cc:53 route_group_dialog.cc:82 theme_manager.cc:84
msgid "Color"
msgstr "Kolor"
-#: route_group_dialog.cc:53
+#: route_group_dialog.cc:59
msgid "RouteGroupDialog"
msgstr ""
-#: route_group_dialog.cc:92
+#: route_group_dialog.cc:100
msgid "<b>Sharing</b>"
msgstr ""
-#: route_group_dialog.cc:182
-msgid ""
-"A route group of this name already exists. Please use a different name."
+#: route_group_dialog.cc:200
+msgid "The group name is not unique. Please use a different name."
msgstr ""
#: route_params_ui.cc:83
@@ -9508,296 +9748,280 @@ msgstr ""
msgid "route display list item for renamed route not found!"
msgstr ""
-#: route_params_ui.cc:255 route_params_ui.cc:283
+#: route_params_ui.cc:278 route_params_ui.cc:306
#, c-format
msgid "Playback delay: %<PRId64> samples"
msgstr ""
-#: route_params_ui.cc:475
+#: route_params_ui.cc:498
msgid "NO TRACK"
msgstr "BRAK ŚCIEŻKI"
-#: route_params_ui.cc:613 route_params_ui.cc:614
+#: route_params_ui.cc:636 route_params_ui.cc:637
msgid "No Track or Bus Selected"
msgstr ""
-#: route_time_axis.cc:97
-msgid "g"
-msgstr "g"
-
-#: route_time_axis.cc:98
-msgid "p"
-msgstr "L"
-
-#: route_time_axis.cc:99
-msgid "a"
-msgstr "a"
-
-#: route_time_axis.cc:173
+#: route_time_axis.cc:179
msgid "Record (Right-click for Step Edit)"
msgstr ""
-#: route_time_axis.cc:176
+#: route_time_axis.cc:182
msgid "Record"
msgstr "Nagrywanie"
-#: route_time_axis.cc:210
+#: route_time_axis.cc:254
msgid "Route Group"
msgstr ""
-#: route_time_axis.cc:213
+#: route_time_axis.cc:264
msgid "MIDI Controllers and Automation"
msgstr ""
-#: route_time_axis.cc:390
+#: route_time_axis.cc:500
msgid "Show All Automation"
msgstr ""
-#: route_time_axis.cc:393
+#: route_time_axis.cc:503
msgid "Show Existing Automation"
msgstr ""
-#: route_time_axis.cc:396
+#: route_time_axis.cc:506
msgid "Hide All Automation"
msgstr ""
-#: route_time_axis.cc:405
+#: route_time_axis.cc:515
msgid "Processor automation"
msgstr ""
-#: route_time_axis.cc:424
-msgid "Color..."
-msgstr ""
-
-#: route_time_axis.cc:481
+#: route_time_axis.cc:599
msgid "Overlaid"
msgstr ""
-#: route_time_axis.cc:487
+#: route_time_axis.cc:605
msgid "Stacked"
msgstr ""
-#: route_time_axis.cc:495
+#: route_time_axis.cc:613
msgid "Layers"
msgstr ""
-#: route_time_axis.cc:564
+#: route_time_axis.cc:682
msgid "Automatic (based on I/O connections)"
msgstr ""
-#: route_time_axis.cc:573
+#: route_time_axis.cc:691
msgid "(Currently: Existing Material)"
msgstr ""
-#: route_time_axis.cc:576
+#: route_time_axis.cc:694
msgid "(Currently: Capture Time)"
msgstr ""
-#: route_time_axis.cc:584
+#: route_time_axis.cc:702
msgid "Align With Existing Material"
msgstr ""
-#: route_time_axis.cc:589
+#: route_time_axis.cc:707
msgid "Align With Capture Time"
msgstr ""
-#: route_time_axis.cc:594
+#: route_time_axis.cc:712
msgid "Alignment"
msgstr "Wyrównanie"
-#: route_time_axis.cc:629
+#: route_time_axis.cc:747
msgid "Normal Mode"
msgstr ""
-#: route_time_axis.cc:635
+#: route_time_axis.cc:753
msgid "Tape Mode"
msgstr ""
-#: route_time_axis.cc:641
+#: route_time_axis.cc:759
msgid "Non-Layered Mode"
msgstr ""
-#: route_time_axis.cc:654 route_time_axis.cc:1601
+#: route_time_axis.cc:772 route_time_axis.cc:1748
msgid "Playlist"
msgstr "Lista odtwarzania"
-#: route_time_axis.cc:979
+#: route_time_axis.cc:1070
msgid "Rename Playlist"
msgstr ""
-#: route_time_axis.cc:980
+#: route_time_axis.cc:1071
msgid "New name for playlist:"
msgstr ""
-#: route_time_axis.cc:1065
+#: route_time_axis.cc:1156
msgid "New Copy Playlist"
msgstr ""
-#: route_time_axis.cc:1066 route_time_axis.cc:1119
+#: route_time_axis.cc:1157 route_time_axis.cc:1210
msgid "Name for new playlist:"
msgstr ""
-#: route_time_axis.cc:1118
+#: route_time_axis.cc:1209
msgid "New Playlist"
msgstr ""
-#: route_time_axis.cc:1309
+#: route_time_axis.cc:1400
msgid "You cannot create a track with that name as it is reserved for %1"
msgstr ""
-#: route_time_axis.cc:1490
+#: route_time_axis.cc:1637
msgid "New Copy..."
msgstr ""
-#: route_time_axis.cc:1494
+#: route_time_axis.cc:1641
msgid "New Take"
msgstr ""
-#: route_time_axis.cc:1495
+#: route_time_axis.cc:1642
msgid "Copy Take"
msgstr ""
-#: route_time_axis.cc:1500
+#: route_time_axis.cc:1647
msgid "Clear Current"
msgstr "Wyczyść aktualną"
-#: route_time_axis.cc:1503
+#: route_time_axis.cc:1650
msgid "Select From All..."
msgstr ""
-#: route_time_axis.cc:1591
+#: route_time_axis.cc:1738
msgid "Take: %1.%2"
msgstr ""
-#: route_time_axis.cc:2291
+#: route_time_axis.cc:2024 selection.cc:1002 selection.cc:1056
+msgid "programming error: "
+msgstr "błąd programowania:"
+
+#: route_time_axis.cc:2440
msgid "Underlays"
msgstr ""
-#: route_time_axis.cc:2294
+#: route_time_axis.cc:2443
msgid "Remove \"%1\""
msgstr ""
-#: route_time_axis.cc:2344 route_time_axis.cc:2381
+#: route_time_axis.cc:2493 route_time_axis.cc:2530
msgid "programming error: underlay reference pointer pairs are inconsistent!"
msgstr ""
-#: route_time_axis.cc:2408
+#: route_time_axis.cc:2557
msgid "After-fade listen (AFL)"
msgstr ""
-#: route_time_axis.cc:2412
+#: route_time_axis.cc:2561
msgid "Pre-fade listen (PFL)"
msgstr ""
-#: route_time_axis.cc:2416
-msgid "s"
-msgstr "s"
-
-#: route_time_axis.cc:2419
-msgid "m"
-msgstr "w"
-
-#: route_ui.cc:119
+#: route_ui.cc:138
msgid "Mute this track"
msgstr ""
-#: route_ui.cc:123
+#: route_ui.cc:142
msgid "Mute other (non-soloed) tracks"
msgstr ""
-#: route_ui.cc:129
+#: route_ui.cc:148
msgid "Enable recording on this track"
msgstr ""
-#: route_ui.cc:133
+#: route_ui.cc:154
msgid "make mixer strips show sends to this bus"
msgstr ""
-#: route_ui.cc:138
+#: route_ui.cc:159
msgid "Monitor input"
msgstr ""
-#: route_ui.cc:144
+#: route_ui.cc:165
msgid "Monitor playback"
msgstr ""
-#: route_ui.cc:591
-msgid "Not connected to JACK - cannot engage record"
-msgstr "Brak połączenia z JACK - nie można rozpocząć nagrywania"
+#: route_ui.cc:668
+msgid "Not connected to AudioEngine - cannot engage record"
+msgstr ""
-#: route_ui.cc:786
+#: route_ui.cc:867
msgid "Step Entry"
msgstr ""
-#: route_ui.cc:859
+#: route_ui.cc:940
msgid "Assign all tracks (prefader)"
msgstr ""
-#: route_ui.cc:863
+#: route_ui.cc:944
msgid "Assign all tracks and buses (prefader)"
msgstr ""
-#: route_ui.cc:867
+#: route_ui.cc:948
msgid "Assign all tracks (postfader)"
msgstr ""
-#: route_ui.cc:871
+#: route_ui.cc:952
msgid "Assign all tracks and buses (postfader)"
msgstr ""
-#: route_ui.cc:875
+#: route_ui.cc:956
msgid "Assign selected tracks (prefader)"
msgstr ""
-#: route_ui.cc:879
+#: route_ui.cc:960
msgid "Assign selected tracks and buses (prefader)"
msgstr ""
-#: route_ui.cc:882
+#: route_ui.cc:963
msgid "Assign selected tracks (postfader)"
msgstr ""
-#: route_ui.cc:886
+#: route_ui.cc:967
msgid "Assign selected tracks and buses (postfader)"
msgstr ""
-#: route_ui.cc:889
+#: route_ui.cc:970
msgid "Copy track/bus gains to sends"
msgstr ""
-#: route_ui.cc:890
+#: route_ui.cc:971
msgid "Set sends gain to -inf"
msgstr ""
-#: route_ui.cc:891
+#: route_ui.cc:972
msgid "Set sends gain to 0dB"
msgstr ""
-#: route_ui.cc:1211
+#: route_ui.cc:1294
msgid "Solo Isolate"
msgstr ""
-#: route_ui.cc:1240
-msgid "Pre Fader"
-msgstr "Przed potencjometrem"
+#: route_ui.cc:1301
+msgid "Solo Safe"
+msgstr ""
-#: route_ui.cc:1246
-msgid "Post Fader"
-msgstr "Za potencjometrem"
+#: route_ui.cc:1323
+msgid "Pre Fader Sends"
+msgstr ""
+
+#: route_ui.cc:1329
+msgid "Post Fader Sends"
+msgstr ""
-#: route_ui.cc:1252
+#: route_ui.cc:1335
msgid "Control Outs"
msgstr ""
-#: route_ui.cc:1258
+#: route_ui.cc:1341
msgid "Main Outs"
msgstr "Główne wyjścia"
-#: route_ui.cc:1390
+#: route_ui.cc:1473
msgid "Color Selection"
msgstr ""
-#: route_ui.cc:1477
+#: route_ui.cc:1558
msgid ""
"Do you really want to remove track \"%1\" ?\n"
"\n"
@@ -9806,68 +10030,72 @@ msgid ""
"(This action cannot be undone, and the session file will be overwritten)"
msgstr ""
-#: route_ui.cc:1479
+#: route_ui.cc:1560
msgid ""
"Do you really want to remove bus \"%1\" ?\n"
"\n"
"(This action cannot be undone, and the session file will be overwritten)"
msgstr ""
-#: route_ui.cc:1487
+#: route_ui.cc:1568
msgid "Remove track"
msgstr ""
-#: route_ui.cc:1489
+#: route_ui.cc:1570
msgid "Remove bus"
msgstr ""
-#: route_ui.cc:1516
+#: route_ui.cc:1598
msgid ""
"The use of colons (':') is discouraged in track and bus names.\n"
"Do you want to use this new name?"
msgstr ""
-#: route_ui.cc:1520
+#: route_ui.cc:1602
msgid "Use the new name"
msgstr ""
-#: route_ui.cc:1521
+#: route_ui.cc:1603
msgid "Re-edit the name"
msgstr ""
-#: route_ui.cc:1534
+#: route_ui.cc:1616
msgid "Rename Track"
msgstr "Zmień nazwę ścieżki"
-#: route_ui.cc:1536
+#: route_ui.cc:1618
msgid "Rename Bus"
msgstr ""
-#: route_ui.cc:1695
+#: route_ui.cc:1686
+msgid ": comment editor"
+msgstr ": edytor komentarzy"
+
+#: route_ui.cc:1852
msgid " latency"
msgstr ""
-#: route_ui.cc:1708
+#: route_ui.cc:1865
msgid "Cannot create route template directory %1"
msgstr ""
-#: route_ui.cc:1714
+#: route_ui.cc:1871
msgid "Save As Template"
msgstr ""
-#: route_ui.cc:1715
+#: route_ui.cc:1872
msgid "Template name:"
msgstr ""
-#: route_ui.cc:1788
+#: route_ui.cc:1945
msgid "Remote Control ID"
msgstr "ID zdalnego sterowania"
-#: route_ui.cc:1798
+#: route_ui.cc:1955
msgid "Remote control ID:"
msgstr ""
-#: route_ui.cc:1812
+#: route_ui.cc:1969
msgid ""
"The remote control ID of %1 is: %2\n"
"\n"
@@ -9875,33 +10103,32 @@ msgid ""
"The remote control ID of %3 cannot be changed."
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the master bus"
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the monitor bus"
msgstr ""
-#: route_ui.cc:1818
+#: route_ui.cc:1975
msgid ""
"The remote control ID of %5 is: %2\n"
"\n"
"\n"
-"Remote Control IDs are currently determined by track/bus ordering in "
-"Ardour.\n"
+"Remote Control IDs are currently determined by track/bus ordering in %6.\n"
"\n"
"%3Use the User Interaction tab of the Preferences window if you want to "
"change this%4"
msgstr ""
-#: route_ui.cc:1875
+#: route_ui.cc:2032
msgid ""
"Left-click to invert (phase reverse) channel %1 of this track. Right-click "
"to show menu."
msgstr ""
-#: route_ui.cc:1877
+#: route_ui.cc:2034
msgid "Click to show a menu of channels for inversion (phase reverse)"
msgstr ""
@@ -9917,119 +10144,119 @@ msgstr ""
msgid "the session folder"
msgstr ""
-#: send_ui.cc:126
+#: send_ui.cc:134
msgid "Send "
msgstr ""
-#: session_dialog.cc:66
+#: session_dialog.cc:68
msgid "Session Setup"
msgstr ""
-#: session_dialog.cc:71
+#: session_dialog.cc:73
msgid "Advanced options ..."
msgstr ""
-#: session_dialog.cc:267
+#: session_dialog.cc:271
msgid "New Session"
msgstr "Nowa Sesja"
-#: session_dialog.cc:305
+#: session_dialog.cc:309
msgid "Check the website for more..."
msgstr ""
-#: session_dialog.cc:308
+#: session_dialog.cc:312
msgid "Click to open the program website in your web browser"
msgstr ""
-#: session_dialog.cc:328
+#: session_dialog.cc:332
msgid "Sample Rate"
msgstr ""
-#: session_dialog.cc:329
+#: session_dialog.cc:333
msgid "Disk Format"
msgstr ""
-#: session_dialog.cc:347
+#: session_dialog.cc:351
msgid "Select session file"
msgstr ""
-#: session_dialog.cc:362
+#: session_dialog.cc:366
msgid "Other Sessions"
msgstr ""
-#: session_dialog.cc:388
+#: session_dialog.cc:392
msgid "Open"
msgstr ""
-#: session_dialog.cc:455
+#: session_dialog.cc:459
msgid "Session name:"
msgstr ""
-#: session_dialog.cc:477
+#: session_dialog.cc:481
msgid "Create session folder in:"
msgstr ""
-#: session_dialog.cc:500
+#: session_dialog.cc:504
msgid "Select folder for session"
msgstr ""
-#: session_dialog.cc:529
+#: session_dialog.cc:533
msgid "Use this template"
msgstr ""
-#: session_dialog.cc:532
+#: session_dialog.cc:536
msgid "no template"
msgstr ""
-#: session_dialog.cc:664 session_dialog.cc:696
+#: session_dialog.cc:671 session_dialog.cc:707
msgid "32 bit float"
msgstr ""
-#: session_dialog.cc:667 session_dialog.cc:699
+#: session_dialog.cc:674 session_dialog.cc:710
msgid "24 bit"
msgstr ""
-#: session_dialog.cc:670 session_dialog.cc:702
+#: session_dialog.cc:677 session_dialog.cc:713
msgid "16 bit"
msgstr ""
-#: session_dialog.cc:741 session_dialog.cc:742 session_dialog.cc:743
+#: session_dialog.cc:755 session_dialog.cc:756 session_dialog.cc:757
msgid "channels"
msgstr " "
-#: session_dialog.cc:757
+#: session_dialog.cc:771
msgid "<b>Busses</b>"
msgstr "<b>Szyny</b>"
-#: session_dialog.cc:758
+#: session_dialog.cc:772
msgid "<b>Inputs</b>"
msgstr "<b>Wejścia</b>"
-#: session_dialog.cc:759
+#: session_dialog.cc:773
msgid "<b>Outputs</b>"
msgstr "<b>Wyjścia</b>"
-#: session_dialog.cc:767
+#: session_dialog.cc:781
msgid "Create master bus"
msgstr ""
-#: session_dialog.cc:777
+#: session_dialog.cc:791
msgid "Automatically connect to physical inputs"
msgstr ""
-#: session_dialog.cc:784 session_dialog.cc:843
+#: session_dialog.cc:798 session_dialog.cc:857
msgid "Use only"
msgstr "Ilość używanych kanałów:"
-#: session_dialog.cc:837
+#: session_dialog.cc:851
msgid "Automatically connect outputs"
msgstr ""
-#: session_dialog.cc:859
+#: session_dialog.cc:873
msgid "... to master bus"
msgstr ""
-#: session_dialog.cc:869
+#: session_dialog.cc:883
msgid "... to physical outputs"
msgstr ""
@@ -10331,7 +10558,8 @@ msgstr ""
#: session_option_editor.cc:91
msgid ""
-"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless in JACK-sync)."
+"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless using JACK-"
+"sync)."
msgstr ""
#: session_option_editor.cc:96
@@ -10364,481 +10592,511 @@ msgid ""
"%1 is JACK Time Master (provides Bar|Beat|Tick and other information to JACK)"
msgstr ""
-#: session_option_editor.cc:137
-msgid "Default crossfade type"
-msgstr ""
-
-#: session_option_editor.cc:142
-msgid "Constant power (-3dB) crossfade"
-msgstr ""
-
-#: session_option_editor.cc:143
-msgid "Linear (-6dB) crossfade"
-msgstr ""
-
-#: session_option_editor.cc:148
+#: session_option_editor.cc:136
msgid "destructive-xfade-seconds"
msgstr ""
-#: session_option_editor.cc:149
+#: session_option_editor.cc:137
msgid "Destructive crossfade length"
msgstr ""
-#: session_option_editor.cc:158
+#: session_option_editor.cc:146
msgid "Region fades active"
msgstr ""
-#: session_option_editor.cc:165
+#: session_option_editor.cc:153
msgid "Region fades visible"
msgstr ""
-#: session_option_editor.cc:172 session_option_editor.cc:185
-#: session_option_editor.cc:199 session_option_editor.cc:201
-#: session_option_editor.cc:207 session_option_editor.cc:214
+#: session_option_editor.cc:160 session_option_editor.cc:173
+#: session_option_editor.cc:187
msgid "Media"
msgstr ""
-#: session_option_editor.cc:172
+#: session_option_editor.cc:160
msgid "Audio file format"
msgstr ""
-#: session_option_editor.cc:176
+#: session_option_editor.cc:164
msgid "Sample format"
msgstr ""
-#: session_option_editor.cc:181
+#: session_option_editor.cc:169
msgid "32-bit floating point"
msgstr ""
-#: session_option_editor.cc:182
+#: session_option_editor.cc:170
msgid "24-bit integer"
msgstr ""
-#: session_option_editor.cc:183
+#: session_option_editor.cc:171
msgid "16-bit integer"
msgstr ""
-#: session_option_editor.cc:189
+#: session_option_editor.cc:177
msgid "File type"
msgstr ""
-#: session_option_editor.cc:194
+#: session_option_editor.cc:182
msgid "Broadcast WAVE"
msgstr ""
-#: session_option_editor.cc:195
+#: session_option_editor.cc:183
msgid "WAVE"
msgstr ""
-#: session_option_editor.cc:196
+#: session_option_editor.cc:184
msgid "WAVE-64"
msgstr ""
-#: session_option_editor.cc:201
+#: session_option_editor.cc:189
msgid "File locations"
msgstr ""
-#: session_option_editor.cc:203
+#: session_option_editor.cc:191
msgid "Search for audio files in:"
msgstr ""
-#: session_option_editor.cc:209
+#: session_option_editor.cc:197
msgid "Search for MIDI files in:"
msgstr ""
-#: session_option_editor.cc:220
-msgid ""
-"Track Input Monitoring automatically follows transport state (\"auto-input\")"
+#: session_option_editor.cc:206 session_option_editor.cc:218
+#: session_option_editor.cc:228 session_option_editor.cc:239
+msgid "Filenames"
msgstr ""
-#: session_option_editor.cc:227
-msgid "Use monitor section in this session"
+#: session_option_editor.cc:206
+msgid "File Naming"
msgstr ""
-#: session_option_editor.cc:238
-msgid "MIDI region copies are independent"
+#: session_option_editor.cc:212
+msgid "Prefix Track number"
msgstr ""
-#: session_option_editor.cc:245
+#: session_option_editor.cc:217
msgid ""
-"Policy for handling overlapping notes\n"
-" on the same MIDI channel"
-msgstr ""
-
-#: session_option_editor.cc:250
-msgid "never allow them"
-msgstr ""
-
-#: session_option_editor.cc:251
-msgid "don't do anything in particular"
-msgstr ""
-
-#: session_option_editor.cc:252
-msgid "replace any overlapped existing note"
+"Adds the current track number to the beginning of the recorded file name."
msgstr ""
-#: session_option_editor.cc:253
-msgid "shorten the overlapped existing note"
+#: session_option_editor.cc:222
+msgid "Prefix Take Name"
msgstr ""
-#: session_option_editor.cc:254
-msgid "shorten the overlapping new note"
+#: session_option_editor.cc:227
+msgid "Adds the Take Name to the beginning of the recorded file name."
msgstr ""
-#: session_option_editor.cc:255
-msgid "replace both overlapping notes with a single note"
+#: session_option_editor.cc:232
+msgid "Take Name"
msgstr ""
-#: session_option_editor.cc:259
-msgid "Glue to bars and beats"
-msgstr ""
-
-#: session_option_editor.cc:263
-msgid "Glue new markers to bars and beats"
+#: session_option_editor.cc:245
+msgid ""
+"Track Input Monitoring automatically follows transport state (\"auto-input\")"
msgstr ""
-#: session_option_editor.cc:270
-msgid "Glue new regions to bars and beats"
+#: session_option_editor.cc:252
+msgid "Use monitor section in this session"
msgstr ""
-#: session_option_editor.cc:275 session_option_editor.cc:277
-#: session_option_editor.cc:284 session_option_editor.cc:291
-#: session_option_editor.cc:298 session_option_editor.cc:300
-#: session_option_editor.cc:307 session_option_editor.cc:314
-#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:257 session_option_editor.cc:259
+#: session_option_editor.cc:266 session_option_editor.cc:273
+#: session_option_editor.cc:280 session_option_editor.cc:282
+#: session_option_editor.cc:289 session_option_editor.cc:296
+#: session_option_editor.cc:303 session_option_editor.cc:310
+#: session_option_editor.cc:312
msgid "Meterbridge"
msgstr ""
-#: session_option_editor.cc:275
+#: session_option_editor.cc:257
msgid "Route Display"
msgstr ""
-#: session_option_editor.cc:279
+#: session_option_editor.cc:261
msgid "Show Midi Tracks"
msgstr ""
-#: session_option_editor.cc:286
+#: session_option_editor.cc:268
msgid "Show Busses"
msgstr ""
-#: session_option_editor.cc:293
+#: session_option_editor.cc:275
msgid "Include Master Bus"
msgstr ""
-#: session_option_editor.cc:298
+#: session_option_editor.cc:280
msgid "Button Area"
msgstr ""
-#: session_option_editor.cc:302
+#: session_option_editor.cc:284
msgid "Rec-enable Button"
msgstr ""
-#: session_option_editor.cc:309
+#: session_option_editor.cc:291
msgid "Mute Button"
msgstr ""
-#: session_option_editor.cc:316
+#: session_option_editor.cc:298
msgid "Solo Button"
msgstr ""
-#: session_option_editor.cc:321
+#: session_option_editor.cc:305
+msgid "Monitor Buttons"
+msgstr ""
+
+#: session_option_editor.cc:310
msgid "Name Labels"
msgstr ""
-#: session_option_editor.cc:325
+#: session_option_editor.cc:314
msgid "Track Name"
msgstr ""
-#: sfdb_ui.cc:86 sfdb_ui.cc:106 sfdb_ui.cc:115
+#: session_option_editor.cc:325
+msgid "MIDI region copies are independent"
+msgstr ""
+
+#: session_option_editor.cc:332
+msgid ""
+"Policy for handling overlapping notes\n"
+" on the same MIDI channel"
+msgstr ""
+
+#: session_option_editor.cc:337
+msgid "never allow them"
+msgstr ""
+
+#: session_option_editor.cc:338
+msgid "don't do anything in particular"
+msgstr ""
+
+#: session_option_editor.cc:339
+msgid "replace any overlapped existing note"
+msgstr ""
+
+#: session_option_editor.cc:340
+msgid "shorten the overlapped existing note"
+msgstr ""
+
+#: session_option_editor.cc:341
+msgid "shorten the overlapping new note"
+msgstr ""
+
+#: session_option_editor.cc:342
+msgid "replace both overlapping notes with a single note"
+msgstr ""
+
+#: session_option_editor.cc:346
+msgid "Glue to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:350
+msgid "Glue new markers to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:357
+msgid "Glue new regions to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:362
+msgid "Defaults"
+msgstr ""
+
+#: session_option_editor.cc:364
+msgid "Use these settings as defaults"
+msgstr ""
+
+#: sfdb_ui.cc:88 sfdb_ui.cc:108 sfdb_ui.cc:117
msgid "as new tracks"
msgstr "jako nowe ścieżki"
-#: sfdb_ui.cc:88 sfdb_ui.cc:108
+#: sfdb_ui.cc:90 sfdb_ui.cc:110
msgid "to selected tracks"
msgstr "do zaznaczonych ścieżek"
-#: sfdb_ui.cc:90 sfdb_ui.cc:110
+#: sfdb_ui.cc:92 sfdb_ui.cc:112
msgid "to region list"
msgstr ""
-#: sfdb_ui.cc:92 sfdb_ui.cc:112
+#: sfdb_ui.cc:94 sfdb_ui.cc:114
msgid "as new tape tracks"
msgstr "jako nowe ścieżki taśmowe"
-#: sfdb_ui.cc:96
+#: sfdb_ui.cc:98
msgid "programming error: unknown import mode string %1"
msgstr ""
-#: sfdb_ui.cc:123
+#: sfdb_ui.cc:125
msgid "Auto-play"
msgstr "Autoodtwarzanie"
-#: sfdb_ui.cc:129 sfdb_ui.cc:236
+#: sfdb_ui.cc:133 sfdb_ui.cc:317
msgid "<b>Sound File Information</b>"
msgstr ""
-#: sfdb_ui.cc:141
+#: sfdb_ui.cc:145
msgid "Timestamp:"
msgstr ""
-#: sfdb_ui.cc:143
+#: sfdb_ui.cc:147
msgid "Format:"
msgstr "Format:"
-#: sfdb_ui.cc:182 sfdb_ui.cc:526
+#: sfdb_ui.cc:186 sfdb_ui.cc:646
msgid "Tags:"
msgstr "Etykiety:"
-#: sfdb_ui.cc:319
-msgid "Auditioning of MIDI files is not yet supported"
+#: sfdb_ui.cc:290
+msgid "<b>Midi File Information</b>"
msgstr ""
-#: sfdb_ui.cc:326
+#: sfdb_ui.cc:402
msgid "Could not read file: %1 (%2)."
msgstr "Nie można odczytać pliku: %1 (%2)."
-#: sfdb_ui.cc:349
+#: sfdb_ui.cc:451
msgid "Could not access soundfile: "
msgstr "Nie można uzyskać dostępu do pliku:"
-#: sfdb_ui.cc:403
+#: sfdb_ui.cc:523
msgid "SoundFileBox: Could not tokenize string: "
msgstr ""
-#: sfdb_ui.cc:423 sfdb_ui.cc:425
+#: sfdb_ui.cc:543 sfdb_ui.cc:545
msgid "Search"
msgstr "Szukaj"
-#: sfdb_ui.cc:449
+#: sfdb_ui.cc:569
msgid "Audio and MIDI files"
msgstr ""
-#: sfdb_ui.cc:452
+#: sfdb_ui.cc:572
msgid "Audio files"
msgstr "Pliki dźwiękowe"
-#: sfdb_ui.cc:455
+#: sfdb_ui.cc:575
msgid "MIDI files"
msgstr ""
-#: sfdb_ui.cc:458 add_video_dialog.cc:132
+#: sfdb_ui.cc:578 add_video_dialog.cc:123
msgid "All files"
msgstr "Wszystkie pliki"
-#: sfdb_ui.cc:477 add_video_dialog.cc:143
+#: sfdb_ui.cc:597 add_video_dialog.cc:246
msgid "Browse Files"
msgstr "Przeglądanie plików"
-#: sfdb_ui.cc:506
+#: sfdb_ui.cc:626
msgid "Paths"
msgstr "Ścieżki"
-#: sfdb_ui.cc:515
+#: sfdb_ui.cc:635
msgid "Search Tags"
msgstr "Wyszukiwanie etykiet"
-#: sfdb_ui.cc:531
+#: sfdb_ui.cc:651
msgid "Sort:"
msgstr ""
-#: sfdb_ui.cc:539
+#: sfdb_ui.cc:659
msgid "Longest"
msgstr ""
-#: sfdb_ui.cc:540
+#: sfdb_ui.cc:660
msgid "Shortest"
msgstr ""
-#: sfdb_ui.cc:541
+#: sfdb_ui.cc:661
msgid "Newest"
msgstr ""
-#: sfdb_ui.cc:542
+#: sfdb_ui.cc:662
msgid "Oldest"
msgstr ""
-#: sfdb_ui.cc:543
+#: sfdb_ui.cc:663
msgid "Most downloaded"
msgstr ""
-#: sfdb_ui.cc:544
+#: sfdb_ui.cc:664
msgid "Least downloaded"
msgstr ""
-#: sfdb_ui.cc:545
+#: sfdb_ui.cc:665
msgid "Highest rated"
msgstr ""
-#: sfdb_ui.cc:546
+#: sfdb_ui.cc:666
msgid "Lowest rated"
msgstr ""
-#: sfdb_ui.cc:551
+#: sfdb_ui.cc:671
msgid "More"
msgstr ""
-#: sfdb_ui.cc:555
+#: sfdb_ui.cc:675
msgid "Similar"
msgstr ""
-#: sfdb_ui.cc:567
+#: sfdb_ui.cc:687
msgid "ID"
msgstr ""
-#: sfdb_ui.cc:568 add_video_dialog.cc:84
+#: sfdb_ui.cc:688 add_video_dialog.cc:83
msgid "Filename"
msgstr ""
-#: sfdb_ui.cc:570
+#: sfdb_ui.cc:690
msgid "Duration"
msgstr ""
-#: sfdb_ui.cc:571
+#: sfdb_ui.cc:691
msgid "Size"
msgstr ""
-#: sfdb_ui.cc:572
+#: sfdb_ui.cc:692
msgid "Samplerate"
msgstr ""
-#: sfdb_ui.cc:573
+#: sfdb_ui.cc:693
msgid "License"
msgstr ""
-#: sfdb_ui.cc:591
+#: sfdb_ui.cc:711
msgid "Search Freesound"
msgstr ""
-#: sfdb_ui.cc:611
+#: sfdb_ui.cc:731
msgid "Press to import selected files and close this window"
msgstr ""
-#: sfdb_ui.cc:612
+#: sfdb_ui.cc:732
msgid "Press to import selected files and leave this window open"
msgstr ""
-#: sfdb_ui.cc:613
+#: sfdb_ui.cc:733
msgid "Press to close this window without importing any files"
msgstr ""
-#: sfdb_ui.cc:809
+#: sfdb_ui.cc:929
msgid "SoundFileBrowser: Could not tokenize string: "
msgstr ""
-#: sfdb_ui.cc:1009
+#: sfdb_ui.cc:1129
msgid "%1 more page of 100 results available"
msgid_plural "%1 more pages of 100 results available"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: sfdb_ui.cc:1014
+#: sfdb_ui.cc:1134
msgid "No more results available"
msgstr ""
-#: sfdb_ui.cc:1078
+#: sfdb_ui.cc:1198
msgid "B"
msgstr ""
-#: sfdb_ui.cc:1080
+#: sfdb_ui.cc:1200
msgid "kB"
msgstr ""
-#: sfdb_ui.cc:1082 sfdb_ui.cc:1084
+#: sfdb_ui.cc:1202 sfdb_ui.cc:1204
msgid "MB"
msgstr ""
-#: sfdb_ui.cc:1086
+#: sfdb_ui.cc:1206
msgid "GB"
msgstr ""
-#: sfdb_ui.cc:1298 sfdb_ui.cc:1606 sfdb_ui.cc:1656 sfdb_ui.cc:1674
+#: sfdb_ui.cc:1418 sfdb_ui.cc:1731 sfdb_ui.cc:1782 sfdb_ui.cc:1800
msgid "one track per file"
msgstr "jedna ścieżka na plik"
-#: sfdb_ui.cc:1301 sfdb_ui.cc:1657 sfdb_ui.cc:1675
+#: sfdb_ui.cc:1421 sfdb_ui.cc:1783 sfdb_ui.cc:1801
msgid "one track per channel"
msgstr "jedna ścieżka na kanał"
-#: sfdb_ui.cc:1309 sfdb_ui.cc:1659 sfdb_ui.cc:1676
+#: sfdb_ui.cc:1429 sfdb_ui.cc:1785 sfdb_ui.cc:1802
msgid "sequence files"
msgstr ""
-#: sfdb_ui.cc:1312 sfdb_ui.cc:1664
+#: sfdb_ui.cc:1432 sfdb_ui.cc:1790
msgid "all files in one track"
msgstr ""
-#: sfdb_ui.cc:1313 sfdb_ui.cc:1658
+#: sfdb_ui.cc:1433 sfdb_ui.cc:1784
msgid "merge files"
msgstr "połącz pliki"
-#: sfdb_ui.cc:1319 sfdb_ui.cc:1661
+#: sfdb_ui.cc:1439 sfdb_ui.cc:1787
msgid "one region per file"
msgstr ""
-#: sfdb_ui.cc:1322 sfdb_ui.cc:1662
+#: sfdb_ui.cc:1442 sfdb_ui.cc:1788
msgid "one region per channel"
msgstr ""
-#: sfdb_ui.cc:1327 sfdb_ui.cc:1663 sfdb_ui.cc:1677
+#: sfdb_ui.cc:1447 sfdb_ui.cc:1789 sfdb_ui.cc:1803
msgid "all files in one region"
msgstr ""
-#: sfdb_ui.cc:1394
+#: sfdb_ui.cc:1514
msgid ""
"One or more of the selected files\n"
"cannot be used by %1"
msgstr ""
-#: sfdb_ui.cc:1534
+#: sfdb_ui.cc:1658
msgid "Copy files to session"
msgstr "Skopiuj pliki do sesji"
-#: sfdb_ui.cc:1551 sfdb_ui.cc:1714
+#: sfdb_ui.cc:1675 sfdb_ui.cc:1840
msgid "file timestamp"
msgstr ""
-#: sfdb_ui.cc:1552 sfdb_ui.cc:1716
+#: sfdb_ui.cc:1676 sfdb_ui.cc:1842
msgid "edit point"
msgstr ""
-#: sfdb_ui.cc:1553 sfdb_ui.cc:1718
+#: sfdb_ui.cc:1677 sfdb_ui.cc:1844
msgid "playhead"
msgstr ""
-#: sfdb_ui.cc:1554
+#: sfdb_ui.cc:1678
msgid "session start"
msgstr ""
-#: sfdb_ui.cc:1559
+#: sfdb_ui.cc:1684
msgid "<b>Add files as ...</b>"
msgstr ""
-#: sfdb_ui.cc:1581
+#: sfdb_ui.cc:1706
msgid "<b>Insert at</b>"
msgstr ""
-#: sfdb_ui.cc:1594
+#: sfdb_ui.cc:1719
msgid "<b>Mapping</b>"
msgstr ""
-#: sfdb_ui.cc:1612
+#: sfdb_ui.cc:1737
msgid "<b>Conversion quality</b>"
msgstr ""
-#: sfdb_ui.cc:1624 sfdb_ui.cc:1730
+#: sfdb_ui.cc:1749 sfdb_ui.cc:1856
msgid "Best"
msgstr "Najlepsza"
-#: sfdb_ui.cc:1625 sfdb_ui.cc:1732
+#: sfdb_ui.cc:1750 sfdb_ui.cc:1858
msgid "Good"
msgstr "Dobra"
-#: sfdb_ui.cc:1626 sfdb_ui.cc:1734
+#: sfdb_ui.cc:1751 sfdb_ui.cc:1860
msgid "Quick"
msgstr "Szybka"
-#: sfdb_ui.cc:1628
+#: sfdb_ui.cc:1753
msgid "Fastest"
msgstr "Najszybciej"
@@ -10884,6 +11142,30 @@ msgstr ""
msgid "Stopped"
msgstr ""
+#: soundcloud_export_selector.cc:44
+msgid "User Email"
+msgstr ""
+
+#: soundcloud_export_selector.cc:45
+msgid "Password"
+msgstr ""
+
+#: soundcloud_export_selector.cc:46
+msgid "Make files public"
+msgstr ""
+
+#: soundcloud_export_selector.cc:47
+msgid "Open uploaded files in browser"
+msgstr ""
+
+#: soundcloud_export_selector.cc:48
+msgid "Make files downloadable"
+msgstr ""
+
+#: soundcloud_export_selector.cc:107
+msgid "%1: %2 of %3 bytes uploaded"
+msgstr ""
+
#: splash.cc:73
msgid "%1 loading ..."
msgstr ""
@@ -10900,17 +11182,17 @@ msgstr ""
msgid "Azimuth:"
msgstr ""
-#: startup.cc:72
+#: startup.cc:73
msgid ""
"Use an external mixer or the hardware mixer of your audio interface.\n"
"%1 will play NO role in monitoring"
msgstr ""
-#: startup.cc:74
+#: startup.cc:75
msgid "Ask %1 to play back material as it is being recorded"
msgstr ""
-#: startup.cc:143
+#: startup.cc:144
msgid ""
"<b>Welcome to this BETA release of Ardour %1</b>\n"
"\n"
@@ -10935,11 +11217,11 @@ msgid ""
" http://ardour.org/support\n"
msgstr ""
-#: startup.cc:167
+#: startup.cc:168
msgid "This is a BETA RELEASE"
msgstr ""
-#: startup.cc:176
+#: startup.cc:177
msgid ""
"<span size=\"larger\">%1 is a digital audio workstation. You can use it to "
"record, edit and mix multi-track audio. You can produce your own CDs, mix "
@@ -10949,15 +11231,15 @@ msgid ""
"program.</span> "
msgstr ""
-#: startup.cc:202
+#: startup.cc:203
msgid "Welcome to %1"
msgstr ""
-#: startup.cc:225
+#: startup.cc:226
msgid "Default folder for %1 sessions"
msgstr ""
-#: startup.cc:231
+#: startup.cc:232
msgid ""
"Each project that you work on with %1 has its own folder.\n"
"These can require a lot of disk space if you are recording audio.\n"
@@ -10967,11 +11249,11 @@ msgid ""
"<i>(You can put new sessions anywhere, this is just a default)</i>"
msgstr ""
-#: startup.cc:254
+#: startup.cc:255
msgid "Default folder for new sessions"
msgstr ""
-#: startup.cc:275
+#: startup.cc:276
msgid ""
"While recording instruments or vocals, you probably want to listen to the\n"
"signal as well as record it. This is called \"monitoring\". There are\n"
@@ -10985,31 +11267,31 @@ msgid ""
"<i>If you do not understand what this is about, just accept the default.</i>"
msgstr ""
-#: startup.cc:296
+#: startup.cc:297
msgid "Monitoring Choices"
msgstr ""
-#: startup.cc:319
+#: startup.cc:320
msgid "Use a Master bus directly"
msgstr ""
-#: startup.cc:321
+#: startup.cc:322
msgid ""
"Connect the Master bus directly to your hardware outputs. This is preferable "
"for simple usage."
msgstr ""
-#: startup.cc:330
+#: startup.cc:331
msgid "Use an additional Monitor bus"
msgstr ""
-#: startup.cc:333
+#: startup.cc:334
msgid ""
"Use a Monitor bus between Master bus and hardware outputs for \n"
"greater control in monitoring without affecting the mix."
msgstr ""
-#: startup.cc:355
+#: startup.cc:356
msgid ""
"<i>You can change this preference at any time via the Preferences dialog.\n"
"You can also add or remove the monitor section to/from any session.</i>\n"
@@ -11017,395 +11299,395 @@ msgid ""
"<i>If you do not understand what this is about, just accept the default.</i>"
msgstr ""
-#: startup.cc:366
+#: startup.cc:367
msgid "Monitor Section"
msgstr ""
-#: step_entry.cc:59
+#: step_entry.cc:60
msgid "Step Entry: %1"
msgstr ""
-#: step_entry.cc:64
+#: step_entry.cc:65
msgid ">beat"
msgstr ""
-#: step_entry.cc:65
+#: step_entry.cc:66
msgid ">bar"
msgstr ""
-#: step_entry.cc:66
+#: step_entry.cc:67
msgid ">EP"
msgstr ""
-#: step_entry.cc:67
+#: step_entry.cc:68
msgid "sustain"
msgstr ""
-#: step_entry.cc:68
+#: step_entry.cc:69
msgid "rest"
msgstr ""
-#: step_entry.cc:69
+#: step_entry.cc:70
msgid "g-rest"
msgstr ""
-#: step_entry.cc:70
+#: step_entry.cc:71
msgid "back"
msgstr ""
-#: step_entry.cc:81 step_entry.cc:84
+#: step_entry.cc:82 step_entry.cc:85
msgid "+"
msgstr ""
-#: step_entry.cc:190
+#: step_entry.cc:191
msgid "Set note length to a whole note"
msgstr ""
-#: step_entry.cc:191
+#: step_entry.cc:192
msgid "Set note length to a half note"
msgstr ""
-#: step_entry.cc:192
+#: step_entry.cc:193
msgid "Set note length to a quarter note"
msgstr ""
-#: step_entry.cc:193
+#: step_entry.cc:194
msgid "Set note length to a eighth note"
msgstr ""
-#: step_entry.cc:194
+#: step_entry.cc:195
msgid "Set note length to a sixteenth note"
msgstr ""
-#: step_entry.cc:195
+#: step_entry.cc:196
msgid "Set note length to a thirty-second note"
msgstr ""
-#: step_entry.cc:196
+#: step_entry.cc:197
msgid "Set note length to a sixty-fourth note"
msgstr ""
-#: step_entry.cc:275
+#: step_entry.cc:276
msgid "Set volume (velocity) to pianississimo"
msgstr ""
-#: step_entry.cc:276
+#: step_entry.cc:277
msgid "Set volume (velocity) to pianissimo"
msgstr ""
-#: step_entry.cc:277
+#: step_entry.cc:278
msgid "Set volume (velocity) to piano"
msgstr ""
-#: step_entry.cc:278
+#: step_entry.cc:279
msgid "Set volume (velocity) to mezzo-piano"
msgstr ""
-#: step_entry.cc:279
+#: step_entry.cc:280
msgid "Set volume (velocity) to mezzo-forte"
msgstr ""
-#: step_entry.cc:280
+#: step_entry.cc:281
msgid "Set volume (velocity) to forte"
msgstr ""
-#: step_entry.cc:281
+#: step_entry.cc:282
msgid "Set volume (velocity) to forteissimo"
msgstr ""
-#: step_entry.cc:282
+#: step_entry.cc:283
msgid "Set volume (velocity) to forteississimo"
msgstr ""
-#: step_entry.cc:330
+#: step_entry.cc:331
msgid "Stack inserted notes to form a chord"
msgstr ""
-#: step_entry.cc:331
+#: step_entry.cc:332
msgid "Extend selected notes by note length"
msgstr ""
-#: step_entry.cc:332
+#: step_entry.cc:333
msgid "Use undotted note lengths"
msgstr ""
-#: step_entry.cc:333
+#: step_entry.cc:334
msgid "Use dotted (* 1.5) note lengths"
msgstr ""
-#: step_entry.cc:334
+#: step_entry.cc:335
msgid "Use double-dotted (* 1.75) note lengths"
msgstr ""
-#: step_entry.cc:335
+#: step_entry.cc:336
msgid "Use triple-dotted (* 1.875) note lengths"
msgstr ""
-#: step_entry.cc:336
+#: step_entry.cc:337
msgid "Insert a note-length's rest"
msgstr ""
-#: step_entry.cc:337
+#: step_entry.cc:338
msgid "Insert a grid-unit's rest"
msgstr ""
-#: step_entry.cc:338
+#: step_entry.cc:339
msgid "Insert a rest until the next beat"
msgstr ""
-#: step_entry.cc:339
+#: step_entry.cc:340
msgid "Insert a rest until the next bar"
msgstr ""
-#: step_entry.cc:340
+#: step_entry.cc:341
msgid "Insert a bank change message"
msgstr ""
-#: step_entry.cc:341
+#: step_entry.cc:342
msgid "Insert a program change message"
msgstr ""
-#: step_entry.cc:342 step_entry.cc:699
+#: step_entry.cc:343 step_entry.cc:700
msgid "Move Insert Position Back by Note Length"
msgstr ""
-#: step_entry.cc:343 step_entry.cc:697
+#: step_entry.cc:344 step_entry.cc:698
msgid "Move Insert Position to Edit Point"
msgstr ""
-#: step_entry.cc:400
+#: step_entry.cc:401
msgid "1/Note"
msgstr ""
-#: step_entry.cc:414
+#: step_entry.cc:415
msgid "Octave"
msgstr ""
-#: step_entry.cc:597
+#: step_entry.cc:598
msgid "Insert Note A"
msgstr ""
-#: step_entry.cc:598
+#: step_entry.cc:599
msgid "Insert Note A-sharp"
msgstr ""
-#: step_entry.cc:599
+#: step_entry.cc:600
msgid "Insert Note B"
msgstr ""
-#: step_entry.cc:600
+#: step_entry.cc:601
msgid "Insert Note C"
msgstr ""
-#: step_entry.cc:601
+#: step_entry.cc:602
msgid "Insert Note C-sharp"
msgstr ""
-#: step_entry.cc:602
+#: step_entry.cc:603
msgid "Insert Note D"
msgstr ""
-#: step_entry.cc:603
+#: step_entry.cc:604
msgid "Insert Note D-sharp"
msgstr ""
-#: step_entry.cc:604
+#: step_entry.cc:605
msgid "Insert Note E"
msgstr ""
-#: step_entry.cc:605
+#: step_entry.cc:606
msgid "Insert Note F"
msgstr ""
-#: step_entry.cc:606
+#: step_entry.cc:607
msgid "Insert Note F-sharp"
msgstr ""
-#: step_entry.cc:607
+#: step_entry.cc:608
msgid "Insert Note G"
msgstr ""
-#: step_entry.cc:608
+#: step_entry.cc:609
msgid "Insert Note G-sharp"
msgstr ""
-#: step_entry.cc:610
+#: step_entry.cc:611
msgid "Insert a Note-length Rest"
msgstr ""
-#: step_entry.cc:611
+#: step_entry.cc:612
msgid "Insert a Snap-length Rest"
msgstr ""
-#: step_entry.cc:613 step_entry.cc:614
+#: step_entry.cc:614 step_entry.cc:615
msgid "Move to next octave"
msgstr ""
-#: step_entry.cc:616
+#: step_entry.cc:617
msgid "Move to Next Note Length"
msgstr ""
-#: step_entry.cc:617
+#: step_entry.cc:618
msgid "Move to Previous Note Length"
msgstr ""
-#: step_entry.cc:619
+#: step_entry.cc:620
msgid "Increase Note Length"
msgstr ""
-#: step_entry.cc:620
+#: step_entry.cc:621
msgid "Decrease Note Length"
msgstr ""
-#: step_entry.cc:622
+#: step_entry.cc:623
msgid "Move to Next Note Velocity"
msgstr ""
-#: step_entry.cc:623
+#: step_entry.cc:624
msgid "Move to Previous Note Velocity"
msgstr ""
-#: step_entry.cc:625
+#: step_entry.cc:626
msgid "Increase Note Velocity"
msgstr ""
-#: step_entry.cc:626
+#: step_entry.cc:627
msgid "Decrease Note Velocity"
msgstr ""
-#: step_entry.cc:628
+#: step_entry.cc:629
msgid "Switch to the 1st octave"
msgstr ""
-#: step_entry.cc:629
+#: step_entry.cc:630
msgid "Switch to the 2nd octave"
msgstr ""
-#: step_entry.cc:630
+#: step_entry.cc:631
msgid "Switch to the 3rd octave"
msgstr ""
-#: step_entry.cc:631
+#: step_entry.cc:632
msgid "Switch to the 4th octave"
msgstr ""
-#: step_entry.cc:632
+#: step_entry.cc:633
msgid "Switch to the 5th octave"
msgstr ""
-#: step_entry.cc:633
+#: step_entry.cc:634
msgid "Switch to the 6th octave"
msgstr ""
-#: step_entry.cc:634
+#: step_entry.cc:635
msgid "Switch to the 7th octave"
msgstr ""
-#: step_entry.cc:635
+#: step_entry.cc:636
msgid "Switch to the 8th octave"
msgstr ""
-#: step_entry.cc:636
+#: step_entry.cc:637
msgid "Switch to the 9th octave"
msgstr ""
-#: step_entry.cc:637
+#: step_entry.cc:638
msgid "Switch to the 10th octave"
msgstr ""
-#: step_entry.cc:638
+#: step_entry.cc:639
msgid "Switch to the 11th octave"
msgstr ""
-#: step_entry.cc:643
+#: step_entry.cc:644
msgid "Set Note Length to Whole"
msgstr ""
-#: step_entry.cc:645
+#: step_entry.cc:646
msgid "Set Note Length to 1/2"
msgstr ""
-#: step_entry.cc:647
+#: step_entry.cc:648
msgid "Set Note Length to 1/3"
msgstr ""
-#: step_entry.cc:649
+#: step_entry.cc:650
msgid "Set Note Length to 1/4"
msgstr ""
-#: step_entry.cc:651
+#: step_entry.cc:652
msgid "Set Note Length to 1/8"
msgstr ""
-#: step_entry.cc:653
+#: step_entry.cc:654
msgid "Set Note Length to 1/16"
msgstr ""
-#: step_entry.cc:655
+#: step_entry.cc:656
msgid "Set Note Length to 1/32"
msgstr ""
-#: step_entry.cc:657
+#: step_entry.cc:658
msgid "Set Note Length to 1/64"
msgstr ""
-#: step_entry.cc:662
+#: step_entry.cc:663
msgid "Set Note Velocity to Pianississimo"
msgstr ""
-#: step_entry.cc:664
+#: step_entry.cc:665
msgid "Set Note Velocity to Pianissimo"
msgstr ""
-#: step_entry.cc:666
+#: step_entry.cc:667
msgid "Set Note Velocity to Piano"
msgstr ""
-#: step_entry.cc:668
+#: step_entry.cc:669
msgid "Set Note Velocity to Mezzo-Piano"
msgstr ""
-#: step_entry.cc:670
+#: step_entry.cc:671
msgid "Set Note Velocity to Mezzo-Forte"
msgstr ""
-#: step_entry.cc:672
+#: step_entry.cc:673
msgid "Set Note Velocity to Forte"
msgstr ""
-#: step_entry.cc:674 step_entry.cc:676
+#: step_entry.cc:675 step_entry.cc:677
msgid "Set Note Velocity to Fortississimo"
msgstr ""
-#: step_entry.cc:678
+#: step_entry.cc:679
msgid "Toggle Triple Notes"
msgstr ""
-#: step_entry.cc:683
+#: step_entry.cc:684
msgid "No Dotted Notes"
msgstr ""
-#: step_entry.cc:685
+#: step_entry.cc:686
msgid "Toggled Dotted Notes"
msgstr ""
-#: step_entry.cc:687
+#: step_entry.cc:688
msgid "Toggled Double-Dotted Notes"
msgstr ""
-#: step_entry.cc:689
+#: step_entry.cc:690
msgid "Toggled Triple-Dotted Notes"
msgstr ""
-#: step_entry.cc:692
+#: step_entry.cc:693
msgid "Toggle Chord Entry"
msgstr ""
-#: step_entry.cc:694
+#: step_entry.cc:695
msgid "Sustain Selected Notes by Note Length"
msgstr ""
-#: stereo_panner.cc:108
+#: stereo_panner.cc:131
#, c-format
msgid "L:%3d R:%3d Width:%d%%"
msgstr ""
@@ -11418,140 +11700,164 @@ msgstr ""
msgid "Width"
msgstr ""
-#: strip_silence_dialog.cc:48
+#: strip_silence_dialog.cc:44
msgid "Strip Silence"
msgstr ""
-#: strip_silence_dialog.cc:79
+#: strip_silence_dialog.cc:75
msgid "Minimum length"
msgstr ""
-#: strip_silence_dialog.cc:87
+#: strip_silence_dialog.cc:83
msgid "Fade length"
msgstr ""
-#: tempo_dialog.cc:43 tempo_dialog.cc:58
+#: tempo_dialog.cc:42 tempo_dialog.cc:58
msgid "bar:"
msgstr ""
-#: tempo_dialog.cc:44 tempo_dialog.cc:59
+#: tempo_dialog.cc:43 tempo_dialog.cc:59
msgid "beat:"
msgstr ""
-#: tempo_dialog.cc:45 tempo_dialog.cc:60
+#: tempo_dialog.cc:44 tempo_dialog.cc:60
msgid "Pulse note"
msgstr ""
+#: tempo_dialog.cc:45 tempo_dialog.cc:61
+msgid "Tap tempo"
+msgstr ""
+
#: tempo_dialog.cc:55
msgid "Edit Tempo"
msgstr ""
-#: tempo_dialog.cc:76 tempo_dialog.cc:77 tempo_dialog.cc:282
-#: tempo_dialog.cc:283
+#: tempo_dialog.cc:77 tempo_dialog.cc:78 tempo_dialog.cc:316
+#: tempo_dialog.cc:317
msgid "whole"
msgstr ""
-#: tempo_dialog.cc:78 tempo_dialog.cc:79 tempo_dialog.cc:284
-#: tempo_dialog.cc:285
+#: tempo_dialog.cc:79 tempo_dialog.cc:80 tempo_dialog.cc:318
+#: tempo_dialog.cc:319
msgid "second"
msgstr ""
-#: tempo_dialog.cc:80 tempo_dialog.cc:81 tempo_dialog.cc:286
-#: tempo_dialog.cc:287
+#: tempo_dialog.cc:81 tempo_dialog.cc:82 tempo_dialog.cc:320
+#: tempo_dialog.cc:321
msgid "third"
msgstr ""
-#: tempo_dialog.cc:82 tempo_dialog.cc:83 tempo_dialog.cc:288
-#: tempo_dialog.cc:289
+#: tempo_dialog.cc:83 tempo_dialog.cc:84 tempo_dialog.cc:322
+#: tempo_dialog.cc:323
msgid "quarter"
msgstr ""
-#: tempo_dialog.cc:84 tempo_dialog.cc:85 tempo_dialog.cc:290
-#: tempo_dialog.cc:291
+#: tempo_dialog.cc:85 tempo_dialog.cc:86 tempo_dialog.cc:324
+#: tempo_dialog.cc:325
msgid "eighth"
msgstr ""
-#: tempo_dialog.cc:86 tempo_dialog.cc:87 tempo_dialog.cc:292
-#: tempo_dialog.cc:293
+#: tempo_dialog.cc:87 tempo_dialog.cc:88 tempo_dialog.cc:326
+#: tempo_dialog.cc:327
msgid "sixteenth"
msgstr ""
-#: tempo_dialog.cc:88 tempo_dialog.cc:89 tempo_dialog.cc:294
-#: tempo_dialog.cc:295
+#: tempo_dialog.cc:89 tempo_dialog.cc:90 tempo_dialog.cc:328
+#: tempo_dialog.cc:329
msgid "thirty-second"
msgstr ""
-#: tempo_dialog.cc:90 tempo_dialog.cc:91 tempo_dialog.cc:296
-#: tempo_dialog.cc:297
+#: tempo_dialog.cc:91 tempo_dialog.cc:92 tempo_dialog.cc:330
+#: tempo_dialog.cc:331
msgid "sixty-fourth"
msgstr ""
-#: tempo_dialog.cc:92 tempo_dialog.cc:93 tempo_dialog.cc:298
-#: tempo_dialog.cc:299
+#: tempo_dialog.cc:93 tempo_dialog.cc:94 tempo_dialog.cc:332
+#: tempo_dialog.cc:333
msgid "one-hundred-twenty-eighth"
msgstr ""
-#: tempo_dialog.cc:120
+#: tempo_dialog.cc:121
msgid "Beats per minute:"
msgstr ""
-#: tempo_dialog.cc:152
+#: tempo_dialog.cc:153
msgid "Tempo begins at"
msgstr ""
-#: tempo_dialog.cc:240
+#: tempo_dialog.cc:244
msgid "incomprehensible pulse note type (%1)"
msgstr ""
-#: tempo_dialog.cc:266
+#: tempo_dialog.cc:300
msgid "Edit Meter"
msgstr ""
-#: tempo_dialog.cc:314
+#: tempo_dialog.cc:348
msgid "Note value:"
msgstr ""
-#: tempo_dialog.cc:315
+#: tempo_dialog.cc:349
msgid "Beats per bar:"
msgstr ""
-#: tempo_dialog.cc:330
+#: tempo_dialog.cc:364
msgid "Meter begins at bar:"
msgstr ""
-#: tempo_dialog.cc:441
+#: tempo_dialog.cc:475
msgid "incomprehensible meter note type (%1)"
msgstr ""
-#: theme_manager.cc:57
+#: theme_manager.cc:63
msgid "Dark Theme"
msgstr ""
-#: theme_manager.cc:58
+#: theme_manager.cc:64
msgid "Light Theme"
msgstr ""
-#: theme_manager.cc:59
+#: theme_manager.cc:65
msgid "Restore Defaults"
msgstr ""
-#: theme_manager.cc:60
+#: theme_manager.cc:66
msgid "Draw \"flat\" buttons"
msgstr ""
-#: theme_manager.cc:61
+#: theme_manager.cc:67
+msgid "Blink Rec-Arm buttons"
+msgstr ""
+
+#: theme_manager.cc:68
+msgid "Color regions using their track's color"
+msgstr ""
+
+#: theme_manager.cc:69
+msgid "Show waveform clipping"
+msgstr ""
+
+#: theme_manager.cc:71
+msgid "Waveforms color gradient depth"
+msgstr ""
+
+#: theme_manager.cc:73
+msgid "Timeline item gradient depth"
+msgstr ""
+
+#: theme_manager.cc:74
msgid "All floating windows are dialogs"
msgstr ""
-#: theme_manager.cc:62
-msgid "Draw waveforms with color gradient"
+#: theme_manager.cc:75
+msgid "Icon Set"
msgstr ""
-#: theme_manager.cc:68
+#: theme_manager.cc:81
msgid "Object"
msgstr "Obiekt"
-#: theme_manager.cc:123
+#: theme_manager.cc:180
msgid ""
"Mark all floating windows to be type \"Dialog\" rather than using \"Utility"
"\" for some.\n"
@@ -11559,15 +11865,15 @@ msgid ""
"take effect"
msgstr ""
-#: theme_manager.cc:229
+#: theme_manager.cc:286
msgid "Unable to find UI style file %1 in search path %2. %3 will look strange"
msgstr ""
-#: time_axis_view.cc:114
+#: time_axis_view.cc:141
msgid "Track/Bus name (double click to edit)"
msgstr ""
-#: time_axis_view_item.cc:332
+#: time_axis_view_item.cc:384
msgid "new duration %1 frame is out of bounds for %2"
msgid_plural "new duration of %1 frames is out of bounds for %2"
msgstr[0] ""
@@ -11634,11 +11940,11 @@ msgstr "RozciÄ…gnij/skurcz"
msgid "<b>Progress</b>"
msgstr ""
-#: time_info_box.cc:121
+#: time_info_box.cc:124
msgid "Start recording at auto-punch start"
msgstr "Rozpocznij nagrywanie przy napotkaniu przełącznika"
-#: time_info_box.cc:122
+#: time_info_box.cc:125
msgid "Stop recording at auto-punch end"
msgstr "Zatrzymaj nagrywanie na końcu przełącznika"
@@ -11654,148 +11960,160 @@ msgstr ""
msgid "Transpose"
msgstr "Transponuj"
-#: ui_config.cc:82 ui_config.cc:113
+#: ui_config.cc:95 ui_config.cc:126
msgid "Loading default ui configuration file %1"
msgstr ""
-#: ui_config.cc:85 ui_config.cc:116
+#: ui_config.cc:98 ui_config.cc:129
msgid "cannot read default ui configuration file \"%1\""
msgstr ""
-#: ui_config.cc:90 ui_config.cc:121
+#: ui_config.cc:103 ui_config.cc:134
msgid "default ui configuration file \"%1\" not loaded successfully."
msgstr ""
-#: ui_config.cc:134
+#: ui_config.cc:147
msgid "Loading user ui configuration file %1"
msgstr ""
-#: ui_config.cc:137
+#: ui_config.cc:150
msgid "cannot read ui configuration file \"%1\""
msgstr ""
-#: ui_config.cc:142
+#: ui_config.cc:155
msgid "user ui configuration file \"%1\" not loaded successfully."
msgstr ""
-#: ui_config.cc:150
+#: ui_config.cc:163
msgid "could not find any ui configuration file, canvas will look broken."
msgstr ""
-#: ui_config.cc:169
+#: ui_config.cc:182
msgid "Config file %1 not saved"
msgstr ""
-#: utils.cc:111 utils.cc:154
+#: utils.cc:117 utils.cc:160
msgid "bad XPM header %1"
msgstr ""
-#: utils.cc:293 utils.cc:325
+#: utils.cc:313 utils.cc:345
msgid "missing RGBA style for \"%1\""
msgstr ""
-#: utils.cc:598
+#: utils.cc:640
msgid "cannot find XPM file for %1"
msgstr ""
-#: utils.cc:624
-msgid "cannot find icon image for %1 using %2"
+#: utils.cc:660 utils.cc:687 utils.cc:698
+msgid "default"
msgstr ""
-#: utils.cc:639
-msgid "Caught exception while loading icon named %1"
+#: utils.cc:699
+msgid "icon \"%1\" not found for icon set \"%2\", fallback to default"
msgstr ""
-#: verbose_cursor.cc:45
-msgid "VerboseCanvasCursor"
+#: utils.cc:706
+msgid "cannot find icon image for %1 using %2"
+msgstr ""
+
+#: utils.cc:723 utils.cc:739
+msgid "Caught exception while loading icon named %1"
msgstr ""
-#: add_video_dialog.cc:55
+#: add_video_dialog.cc:54
msgid "Set Video Track"
msgstr ""
-#: add_video_dialog.cc:63
+#: add_video_dialog.cc:62
msgid "Launch External Video Monitor"
msgstr ""
-#: add_video_dialog.cc:64
+#: add_video_dialog.cc:63
msgid "Adjust Session Framerate to Match Video Framerate"
msgstr ""
-#: add_video_dialog.cc:66
+#: add_video_dialog.cc:65
msgid "Reload docroot"
msgstr ""
-#: add_video_dialog.cc:111 add_video_dialog.cc:115
-msgid "VideoServerIndex"
-msgstr ""
-
-#: add_video_dialog.cc:129
+#: add_video_dialog.cc:120
msgid "Video files"
msgstr ""
-#: add_video_dialog.cc:164
+#: add_video_dialog.cc:149
msgid "<b>Video Information</b>"
msgstr ""
-#: add_video_dialog.cc:167
+#: add_video_dialog.cc:152
msgid "Start:"
msgstr ""
-#: add_video_dialog.cc:173
+#: add_video_dialog.cc:158
msgid "Frame rate:"
msgstr ""
-#: add_video_dialog.cc:176
+#: add_video_dialog.cc:161
msgid "Aspect Ratio:"
msgstr ""
-#: add_video_dialog.cc:654
-msgid " %1 fps"
+#: add_video_dialog.cc:244
+msgid "VideoServerIndex"
msgstr ""
-#: editor_videotimeline.cc:146
-msgid "Export Successful: %1"
+#: add_video_dialog.cc:670
+msgid " %1 fps"
msgstr ""
-#: video_timeline.cc:469
+#: video_timeline.cc:473
msgid ""
"Parsing video file info failed. Is the Video Server running? Is the file "
"readable by the Video Server? Does the docroot match? Is it a video file?"
msgstr ""
-#: video_timeline.cc:507
+#: video_timeline.cc:511
msgid ""
"Failed to set session-framerate: '%1' does not have a corresponding option "
"setting in %2."
msgstr ""
-#: video_timeline.cc:515
+#: video_timeline.cc:519
msgid ""
"Video file's framerate is not equal to %1 session timecode's framerate: '%2' "
"vs '%3'"
msgstr ""
-#: video_timeline.cc:588
+#: video_timeline.cc:592
msgid ""
"Video-server docroot mismatch. %1: '%2', video-server: '%3'. This usually "
-"means that the video server was not started by ardour and uses a different "
+"means that the video server was not started by %1 and uses a different "
"document-root."
msgstr ""
-#: video_timeline.cc:737
+#: video_timeline.cc:768
msgid ""
"Video-monitor 'xjadeo' was not found. Please install http://xjadeo.sf.net/ "
"(a custom path to xjadeo can be specified by setting the XJREMOTE "
"environment variable. It should point to an application compatible with "
-"xjadeo's remote-control interface 'xjremote')."
+"xjadeo's remote-control interface 'xjremote').\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: video_monitor.cc:281
+#: video_timeline.cc:782
+msgid "Video-monitor 'xjadeo' cannot be launched."
+msgstr ""
+
+#: video_timeline.cc:809
+msgid ""
+"Video-monitor 'xjadeo' is too old. Please install xjadeo version 0.7.7 or "
+"later. http://xjadeo.sf.net/"
+msgstr ""
+
+#: video_monitor.cc:285
msgid "Video Monitor: File Not Found."
msgstr ""
-#: transcode_ffmpeg.cc:73
+#: transcode_ffmpeg.cc:126
msgid ""
"No ffprobe or ffmpeg executables could be found on this system.\n"
"Video import and export is not possible until you install those tools.\n"
@@ -11809,168 +12127,181 @@ msgid ""
"If you already have a suitable ffmpeg installation on your system, we "
"recommend creating symbolic links from ffmpeg to ffmpeg_harvid and from "
"ffprobe to ffprobe_harvid.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: transcode_video_dialog.cc:55
+#: transcode_video_dialog.cc:56
msgid "Transcode/Import Video File "
msgstr ""
-#: transcode_video_dialog.cc:57
+#: transcode_video_dialog.cc:58
msgid "Output File:"
msgstr ""
-#: transcode_video_dialog.cc:60 export_video_dialog.cc:72
+#: transcode_video_dialog.cc:61 export_video_dialog.cc:73
msgid "Abort"
msgstr ""
-#: transcode_video_dialog.cc:62
+#: transcode_video_dialog.cc:63
msgid "Height = "
msgstr ""
-#: transcode_video_dialog.cc:65
+#: transcode_video_dialog.cc:66
msgid "Manual Override"
msgstr ""
-#: transcode_video_dialog.cc:69 export_video_dialog.cc:88
+#: transcode_video_dialog.cc:70 export_video_dialog.cc:89
msgid "Debug Mode: Print ffmpeg command and output to stdout."
msgstr ""
-#: transcode_video_dialog.cc:106
+#: transcode_video_dialog.cc:107
msgid "<b>File Information</b>"
msgstr ""
-#: transcode_video_dialog.cc:112
+#: transcode_video_dialog.cc:113
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Import "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: transcode_video_dialog.cc:119
+#: transcode_video_dialog.cc:120
msgid ""
"File-info can not be read. Most likely '%1' is not a valid video-file or an "
"unsupported video codec or format."
msgstr ""
-#: transcode_video_dialog.cc:133
+#: transcode_video_dialog.cc:134
msgid "FPS:"
msgstr ""
-#: transcode_video_dialog.cc:135
+#: transcode_video_dialog.cc:136
msgid "Duration:"
msgstr ""
-#: transcode_video_dialog.cc:137
+#: transcode_video_dialog.cc:138
msgid "Codec:"
msgstr ""
-#: transcode_video_dialog.cc:139
+#: transcode_video_dialog.cc:140
msgid "Geometry:"
msgstr ""
-#: transcode_video_dialog.cc:154
+#: transcode_video_dialog.cc:155
msgid "??"
msgstr ""
-#: transcode_video_dialog.cc:175
+#: transcode_video_dialog.cc:176
msgid "<b>Import Settings</b>"
msgstr ""
-#: transcode_video_dialog.cc:180
-msgid "Do Not Import Video"
-msgstr ""
-
#: transcode_video_dialog.cc:181
-msgid "Reference From Current Location"
+msgid "Reference From Current Location (Previously Transcoded Files Only)"
msgstr ""
#: transcode_video_dialog.cc:183
msgid "Import/Transcode Video to Session"
msgstr ""
-#: transcode_video_dialog.cc:197
+#: transcode_video_dialog.cc:191
+msgid "Do Not Import Video (Audio Import Only)"
+msgstr ""
+
+#: transcode_video_dialog.cc:200
msgid "Scale Video: Width = "
msgstr ""
-#: transcode_video_dialog.cc:204
+#: transcode_video_dialog.cc:207
msgid "Original Width"
msgstr ""
-#: transcode_video_dialog.cc:219
+#: transcode_video_dialog.cc:222
msgid "Bitrate (KBit/s):"
msgstr ""
-#: transcode_video_dialog.cc:224
+#: transcode_video_dialog.cc:227
msgid "Extract Audio:"
msgstr ""
-#: transcode_video_dialog.cc:344
+#: transcode_video_dialog.cc:232
+msgid "No Audio Track Present"
+msgstr ""
+
+#: transcode_video_dialog.cc:235
+msgid "Do Not Extract Audio"
+msgstr ""
+
+#: transcode_video_dialog.cc:350
msgid "Extracting Audio.."
msgstr ""
-#: transcode_video_dialog.cc:347
+#: transcode_video_dialog.cc:353
msgid "Audio Extraction Failed."
msgstr ""
-#: transcode_video_dialog.cc:373
+#: transcode_video_dialog.cc:379
msgid "Transcoding Video.."
msgstr ""
-#: transcode_video_dialog.cc:407
+#: transcode_video_dialog.cc:413
msgid "Transcoding Failed."
msgstr ""
-#: transcode_video_dialog.cc:490
+#: transcode_video_dialog.cc:503
msgid "Save Transcoded Video File"
msgstr ""
-#: video_server_dialog.cc:43
+#: video_server_dialog.cc:57
msgid "Launch Video Server"
msgstr ""
-#: video_server_dialog.cc:44
+#: video_server_dialog.cc:58
msgid "Server Executable:"
msgstr ""
-#: video_server_dialog.cc:46
+#: video_server_dialog.cc:60
msgid "Server Docroot:"
msgstr ""
-#: video_server_dialog.cc:52
+#: video_server_dialog.cc:66
msgid "Don't show this dialog again. (Reset in Edit->Preferences)."
msgstr ""
-#: video_server_dialog.cc:92
+#: video_server_dialog.cc:126
msgid ""
-"The external video server 'harvid' can not be found. The tool is included "
-"with the %1 releases from ardour.org, alternatively you can download it from "
-"http://x42.github.com/harvid/ or acquire it from your distribution."
+"The external video server 'harvid' can not be found.\n"
+"The tool is included with the %1 releases from ardour.org, alternatively you "
+"can download it from http://x42.github.com/harvid/ or acquire it from your "
+"distribution.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: video_server_dialog.cc:120
+#: video_server_dialog.cc:159
msgid "Listen Address:"
msgstr ""
-#: video_server_dialog.cc:125
+#: video_server_dialog.cc:164
msgid "Listen Port:"
msgstr ""
-#: video_server_dialog.cc:130
+#: video_server_dialog.cc:169
msgid "Cache Size:"
msgstr ""
-#: video_server_dialog.cc:136
+#: video_server_dialog.cc:175
msgid ""
"%1 relies on an external video server for the videotimeline.\n"
"The server configured in Edit -> Preferences -> Video is not reachable.\n"
"Do you want %1 to launch 'harvid' on this machine?"
msgstr ""
-#: video_server_dialog.cc:176
+#: video_server_dialog.cc:215
msgid "Set Video Server Executable"
msgstr ""
-#: video_server_dialog.cc:196
+#: video_server_dialog.cc:235
msgid "Server docroot"
msgstr ""
@@ -12000,184 +12331,184 @@ msgstr ""
msgid "Cannot create video folder \"%1\" (%2)"
msgstr ""
-#: export_video_dialog.cc:65
+#: export_video_dialog.cc:66
msgid "Export Video File "
msgstr ""
-#: export_video_dialog.cc:69
+#: export_video_dialog.cc:70
msgid "Video:"
msgstr ""
-#: export_video_dialog.cc:73
+#: export_video_dialog.cc:74
msgid "Scale Video (W x H):"
msgstr ""
-#: export_video_dialog.cc:78
+#: export_video_dialog.cc:79
msgid "Set Aspect Ratio:"
msgstr ""
-#: export_video_dialog.cc:79
+#: export_video_dialog.cc:80
msgid "Normalize Audio"
msgstr ""
-#: export_video_dialog.cc:80
+#: export_video_dialog.cc:81
msgid "2 Pass Encoding"
msgstr ""
-#: export_video_dialog.cc:81
+#: export_video_dialog.cc:82
msgid "Codec Optimizations:"
msgstr ""
-#: export_video_dialog.cc:83
+#: export_video_dialog.cc:84
msgid "Deinterlace"
msgstr ""
-#: export_video_dialog.cc:84
+#: export_video_dialog.cc:85
msgid "Use [2] B-frames (MPEG 2 or 4 only)"
msgstr ""
-#: export_video_dialog.cc:85
+#: export_video_dialog.cc:86
msgid "Override FPS (Default is to retain FPS from the input video file):"
msgstr ""
-#: export_video_dialog.cc:86
+#: export_video_dialog.cc:87
msgid "Include Session Metadata"
msgstr ""
-#: export_video_dialog.cc:106
+#: export_video_dialog.cc:107
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Export "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: export_video_dialog.cc:116
+#: export_video_dialog.cc:117
msgid "<b>Output:</b>"
msgstr ""
-#: export_video_dialog.cc:126
+#: export_video_dialog.cc:127
msgid "<b>Input:</b>"
msgstr ""
-#: export_video_dialog.cc:137
+#: export_video_dialog.cc:138
msgid "Audio:"
msgstr ""
-#: export_video_dialog.cc:139
+#: export_video_dialog.cc:140
msgid "Master Bus"
msgstr ""
-#: export_video_dialog.cc:144
+#: export_video_dialog.cc:145
msgid "from the %1 session's start to the session's end"
msgstr ""
-#: export_video_dialog.cc:148
+#: export_video_dialog.cc:149
msgid "from 00:00:00:00 to the video's end"
msgstr ""
-#: export_video_dialog.cc:150
+#: export_video_dialog.cc:151
msgid "from the video's start to the video's end"
msgstr ""
-#: export_video_dialog.cc:153
+#: export_video_dialog.cc:154
msgid "Selected range"
msgstr ""
-#: export_video_dialog.cc:193
+#: export_video_dialog.cc:194
msgid "<b>Settings:</b>"
msgstr ""
-#: export_video_dialog.cc:201
+#: export_video_dialog.cc:202
msgid "Range:"
msgstr ""
-#: export_video_dialog.cc:204
+#: export_video_dialog.cc:205
msgid "Preset:"
msgstr ""
-#: export_video_dialog.cc:207
+#: export_video_dialog.cc:208
msgid "Video Codec:"
msgstr ""
-#: export_video_dialog.cc:210
+#: export_video_dialog.cc:211
msgid "Video KBit/s:"
msgstr ""
-#: export_video_dialog.cc:213
+#: export_video_dialog.cc:214
msgid "Audio Codec:"
msgstr ""
-#: export_video_dialog.cc:216
+#: export_video_dialog.cc:217
msgid "Audio KBit/s:"
msgstr ""
-#: export_video_dialog.cc:219
+#: export_video_dialog.cc:220
msgid "Audio Samplerate:"
msgstr ""
-#: export_video_dialog.cc:395
+#: export_video_dialog.cc:396
msgid "Normalizing audio"
msgstr ""
-#: export_video_dialog.cc:399
+#: export_video_dialog.cc:400
msgid "Exporting audio"
msgstr ""
-#: export_video_dialog.cc:445
+#: export_video_dialog.cc:446
msgid "Exporting Audio..."
msgstr ""
-#: export_video_dialog.cc:502
+#: export_video_dialog.cc:503
msgid ""
"Export Video: Cannot query duration of video-file, using duration from "
"timeline instead."
msgstr ""
-#: export_video_dialog.cc:532
+#: export_video_dialog.cc:533
msgid "Export Video: export-range does not include video."
msgstr ""
-#: export_video_dialog.cc:544
+#: export_video_dialog.cc:545
msgid "Export Video: No Master Out Ports to Connect for Audio Export"
msgstr ""
-#: export_video_dialog.cc:583
+#: export_video_dialog.cc:585
msgid "Encoding Video..."
msgstr ""
-#: export_video_dialog.cc:602
+#: export_video_dialog.cc:604
msgid "Export Video: Video input file cannot be read."
msgstr ""
-#: export_video_dialog.cc:695
+#: export_video_dialog.cc:698
msgid "Encoding Video.. Pass 1/2"
msgstr ""
-#: export_video_dialog.cc:707
+#: export_video_dialog.cc:710
msgid "Encoding Video.. Pass 2/2"
msgstr ""
-#: export_video_dialog.cc:814
+#: export_video_dialog.cc:813
msgid "Transcoding failed."
msgstr ""
-#: export_video_dialog.cc:983 export_video_dialog.cc:1003
+#: export_video_dialog.cc:982 export_video_dialog.cc:1002
msgid "Save Exported Video File"
msgstr ""
-#: export_video_infobox.cc:30
+#: export_video_infobox.cc:33
msgid "Video Export Info"
msgstr ""
-#: export_video_infobox.cc:31
+#: export_video_infobox.cc:34
msgid "Do Not Show This Dialog Again (Reset in Edit > Preferences > Video)."
msgstr ""
-#: export_video_infobox.cc:43
+#: export_video_infobox.cc:46
msgid "<b>Video Export Info</b>"
msgstr ""
-#: export_video_infobox.cc:48
+#: export_video_infobox.cc:51
msgid ""
"Video encoding is a non-trivial task with many details.\n"
"\n"
@@ -12186,6 +12517,96 @@ msgid ""
"Open Manual in Browser? "
msgstr ""
+#~ msgid "badly formatted UI definition file: %1"
+#~ msgstr "niepoprawnie sformatowany plik definicji interfejsu użytkownika: %1"
+
+#~ msgid "Slowest"
+#~ msgstr "Najwolniej"
+
+#~ msgid "Toggle Edit Mode"
+#~ msgstr "Przełącz tryb edycji"
+
+#~ msgid "insert dragged region"
+#~ msgstr "wstaw przeciągnięty obszar"
+
+#~ msgid " objects"
+#~ msgstr "obiekty"
+
+#~ msgid "Max Size"
+#~ msgstr "Największy rozmiar"
+
+#~ msgid "Show Position"
+#~ msgstr "Wyświetl pozycję"
+
+#~ msgid "cannot open pango.rc file %1"
+#~ msgstr "nie można otworzyć pliku pango.rc %1"
+
+#~ msgid "post"
+#~ msgstr "za"
+
+#~ msgid "mono"
+#~ msgstr "mono"
+
+#~ msgid "g"
+#~ msgstr "g"
+
+#~ msgid "p"
+#~ msgstr "L"
+
+#~ msgid "a"
+#~ msgstr "a"
+
+#~ msgid "s"
+#~ msgstr "s"
+
+#~ msgid "m"
+#~ msgstr "w"
+
+#~ msgid "Not connected to JACK - cannot engage record"
+#~ msgstr "Brak połączenia z JACK - nie można rozpocząć nagrywania"
+
+#~ msgid "color rgba"
+#~ msgstr "kolor rgba"
+
+#~ msgid "color of line"
+#~ msgstr "kolor linii"
+
+#~ msgid "outline pixels"
+#~ msgstr "piksele konturu"
+
+#~ msgid "width in pixels of outline"
+#~ msgstr "szerokość konturu w pikselach"
+
+#~ msgid "outline what"
+#~ msgstr "kontur"
+
+#~ msgid "which boundaries to outline (mask)"
+#~ msgstr "granice do konturu (maska)"
+
+#~ msgid "fill"
+#~ msgstr "wypełnij"
+
+#~ msgid "fill rectangle"
+#~ msgstr "wypełnij prostokąt"
+
+#~ msgid "draw"
+#~ msgstr "rysuj"
+
+#~ msgid "draw rectangle"
+#~ msgstr "rysuj prostokÄ…t"
+
+#~ msgid "outline color rgba"
+#~ msgstr "kolor rgba konturu"
+
+#~ msgid "color of outline"
+#~ msgstr "kolor konturu"
+
+#~ msgid "fill color rgba"
+#~ msgstr "kolor rgba wypełnienia"
+
+#~ msgid "color of fill"
+#~ msgstr "kolor wypełnienia"
+
#~ msgid "Starting audio engine"
#~ msgstr "Uruchamianie systemu dźwięku"
@@ -12286,9 +12707,6 @@ msgstr ""
#~ msgid "Server:"
#~ msgstr "Serwer:"
-#~ msgid "Device"
-#~ msgstr "UrzÄ…dzenie"
-
#~ msgid "Advanced"
#~ msgstr "Zaawansowane"
diff --git a/gtk2_ardour/po/pt.po b/gtk2_ardour/po/pt.po
index cb492107a2..f4ea86c64a 100644
--- a/gtk2_ardour/po/pt.po
+++ b/gtk2_ardour/po/pt.po
@@ -6,11 +6,12 @@
# Leandro Marco <leandromarco@gmail.com>
#
#
+#: engine_dialog.cc:558
msgid ""
msgstr ""
"Project-Id-Version: ardour 0.688.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-11-05 11:11-0500\n"
+"POT-Creation-Date: 2014-09-04 19:07-0400\n"
"PO-Revision-Date: 2005-08-15 21:50-0000\n"
"Last-Translator: Chris Ross, Alexander Franca & Leandro Marco\n"
"Language-Team: Portuguese\n"
@@ -19,231 +20,235 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: about.cc:122
+#: about.cc:120
msgid "Brian Ahr"
msgstr ""
-#: about.cc:123
+#: about.cc:121
msgid "John Anderson"
msgstr ""
-#: about.cc:124
+#: about.cc:122
msgid "Marcus Andersson"
msgstr ""
-#: about.cc:125
+#: about.cc:123
msgid "Nedko Arnaudov"
msgstr ""
-#: about.cc:126
+#: about.cc:124
msgid "Hans Baier"
msgstr ""
-#: about.cc:127
+#: about.cc:125
msgid "Ben Bell"
msgstr ""
-#: about.cc:128
+#: about.cc:126
msgid "Sakari Bergen"
msgstr ""
-#: about.cc:129
+#: about.cc:127
+msgid "Christian Borss"
+msgstr ""
+
+#: about.cc:128
msgid "Chris Cannam"
msgstr ""
-#: about.cc:130
+#: about.cc:129
msgid "Jesse Chappell"
msgstr ""
-#: about.cc:131
+#: about.cc:130
msgid "Thomas Charbonnel"
msgstr ""
-#: about.cc:132
+#: about.cc:131
msgid "Sam Chessman"
msgstr ""
-#: about.cc:133
+#: about.cc:132
msgid "André Colomb"
msgstr ""
-#: about.cc:134
+#: about.cc:133
msgid "Paul Davis"
msgstr ""
-#: about.cc:135
+#: about.cc:134
msgid "Gerard van Dongen"
msgstr ""
-#: about.cc:136
+#: about.cc:135
msgid "Colin Fletcher"
msgstr ""
-#: about.cc:137
+#: about.cc:136
msgid "Dave Flick"
msgstr ""
-#: about.cc:138
+#: about.cc:137
msgid "Hans Fugal"
msgstr ""
-#: about.cc:139
+#: about.cc:138
msgid "Robin Gareus"
msgstr ""
-#: about.cc:140
+#: about.cc:139
msgid "Christopher George"
msgstr ""
-#: about.cc:141
+#: about.cc:140
msgid "Chris Goddard"
msgstr ""
-#: about.cc:142
+#: about.cc:141
msgid "J. Abelardo Gutierrez"
msgstr ""
-#: about.cc:143
+#: about.cc:142
msgid "Jeremy Hall"
msgstr ""
-#: about.cc:144
+#: about.cc:143
msgid "Audun Halland"
msgstr ""
-#: about.cc:145
+#: about.cc:144
msgid "David Halter"
msgstr ""
-#: about.cc:146
+#: about.cc:145
msgid "Steve Harris"
msgstr ""
-#: about.cc:147
+#: about.cc:146
msgid "Melvin Ray Herr"
msgstr ""
-#: about.cc:148
+#: about.cc:147
msgid "Carl Hetherington"
msgstr ""
-#: about.cc:149
+#: about.cc:148
msgid "Rob Holland"
msgstr ""
-#: about.cc:150
+#: about.cc:149
msgid "Robert Jordens"
msgstr ""
-#: about.cc:151
+#: about.cc:150
msgid "Stefan Kersten"
msgstr ""
-#: about.cc:152
+#: about.cc:151
msgid "Armand Klenk"
msgstr ""
-#: about.cc:153
+#: about.cc:152
msgid "Julien de Kozak"
msgstr ""
-#: about.cc:154
+#: about.cc:153
msgid "Matt Krai"
msgstr ""
-#: about.cc:155
+#: about.cc:154
msgid "Nick Lanham"
msgstr ""
-#: about.cc:156
+#: about.cc:155
msgid "Colin Law"
msgstr ""
-#: about.cc:157
+#: about.cc:156
msgid "Joshua Leach"
msgstr ""
-#: about.cc:158
+#: about.cc:157
msgid "Ben Loftis"
msgstr ""
-#: about.cc:159
+#: about.cc:158
msgid "Nick Mainsbridge"
msgstr ""
-#: about.cc:160
+#: about.cc:159
msgid "Tim Mayberry"
msgstr ""
-#: about.cc:161
+#: about.cc:160
msgid "Doug Mclain"
msgstr ""
-#: about.cc:162
+#: about.cc:161
msgid "Jack O'Quin"
msgstr ""
-#: about.cc:163
+#: about.cc:162
msgid "Nimal Ratnayake"
msgstr ""
-#: about.cc:164
+#: about.cc:163
msgid "David Robillard"
msgstr ""
-#: about.cc:165
+#: about.cc:164
msgid "Taybin Rutkin"
msgstr ""
-#: about.cc:166
+#: about.cc:165
msgid "Andreas Ruge"
msgstr ""
-#: about.cc:167
+#: about.cc:166
msgid "Sampo Savolainen"
msgstr ""
-#: about.cc:168
+#: about.cc:167
msgid "Rodrigo Severo"
msgstr ""
-#: about.cc:169
+#: about.cc:168
msgid "Per Sigmond"
msgstr ""
-#: about.cc:170
+#: about.cc:169
msgid "Lincoln Spiteri"
msgstr ""
-#: about.cc:171
+#: about.cc:170
msgid "Mike Start"
msgstr ""
-#: about.cc:172
+#: about.cc:171
msgid "Mark Stewart"
msgstr ""
-#: about.cc:173
+#: about.cc:172
msgid "Roland Stigge"
msgstr ""
-#: about.cc:174
+#: about.cc:173
msgid "Petter Sundlöf"
msgstr ""
-#: about.cc:175
+#: about.cc:174
msgid "Mike Täht"
msgstr ""
-#: about.cc:176
+#: about.cc:175
msgid "Roy Vegard"
msgstr ""
-#: about.cc:177
+#: about.cc:176
msgid "Thorsten Wilms"
msgstr ""
-#: about.cc:182
+#: about.cc:181
msgid ""
"French:\n"
"\tAlain Fréhel <alain.frehel@free.fr>\n"
@@ -252,7 +257,7 @@ msgid ""
"\tRomain Arnaud <roming22@gmail.com>\n"
msgstr ""
-#: about.cc:183
+#: about.cc:182
msgid ""
"German:\n"
"\tKarsten Petersen <kapet@kapet.de>\n"
@@ -264,189 +269,190 @@ msgid ""
"\tRobin Gloster <robin@loc-com.de>\n"
msgstr ""
-#: about.cc:190
+#: about.cc:189
msgid ""
"Italian:\n"
"\tFilippo Pappalardo <filippo@email.it>\n"
"\tRaffaele Morelli <raffaele.morelli@gmail.com>\n"
msgstr ""
-#: about.cc:191
+#: about.cc:190
msgid ""
"Portuguese:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
msgstr ""
-#: about.cc:192
+#: about.cc:191
msgid ""
"Brazilian Portuguese:\n"
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
"\tChris Ross <chris@tebibyte.org>\n"
msgstr ""
-#: about.cc:194
+#: about.cc:193
msgid ""
"Spanish:\n"
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
"\tPablo Fernández <pablo.fbus@gmail.com>\n"
msgstr ""
-#: about.cc:195
+#: about.cc:194
msgid ""
"Russian:\n"
"\t Igor Blinov <pitstop@nm.ru>\n"
"\tAlexandre Prokoudine <alexandre.prokoudine@gmail.com>\n"
msgstr ""
-#: about.cc:197
+#: about.cc:196
msgid ""
"Greek:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
msgstr ""
-#: about.cc:198
+#: about.cc:197
msgid ""
"Swedish:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
msgstr ""
-#: about.cc:199
+#: about.cc:198
msgid ""
"Polish:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
msgstr ""
-#: about.cc:200
+#: about.cc:199
msgid ""
"Czech:\n"
"\t Pavel Fric <pavelfric@seznam.cz>\n"
msgstr ""
-#: about.cc:201
+#: about.cc:200
msgid ""
"Norwegian:\n"
"\t Eivind Ødegård\n"
msgstr ""
-#: about.cc:202
+#: about.cc:201
msgid ""
"Chinese:\n"
"\t Rui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
msgstr ""
-#: about.cc:580
+#: about.cc:581
msgid "Copyright (C) 1999-2013 Paul Davis\n"
msgstr ""
-#: about.cc:584
+#: about.cc:585
msgid "http://ardour.org/"
msgstr ""
-#: about.cc:585
+#: about.cc:586
msgid ""
"%1\n"
"(built from revision %2)"
msgstr ""
-#: about.cc:589
+#: about.cc:590
msgid "Config"
msgstr ""
-#: actions.cc:85
+#: actions.cc:84
msgid "Loading menus from %1"
msgstr ""
-#: actions.cc:88 actions.cc:89
-msgid "badly formatted UI definition file: %1"
+#: actions.cc:87 actions.cc:88
+msgid "badly formatted menu definition file: %1"
msgstr ""
-#: actions.cc:91
+#: actions.cc:90
msgid "%1 menu definition file not found"
msgstr ""
-#: actions.cc:95 actions.cc:96
-msgid "%1 will not work without a valid ardour.menus file"
+#: actions.cc:94 actions.cc:95
+msgid "%1 will not work without a valid menu definition file"
msgstr ""
-#: add_route_dialog.cc:53 route_params_ui.cc:500
+#: add_route_dialog.cc:54 route_params_ui.cc:523
msgid "Add Track or Bus"
msgstr ""
-#: add_route_dialog.cc:56
+#: add_route_dialog.cc:57
msgid "Configuration:"
msgstr ""
-#: add_route_dialog.cc:57
+#: add_route_dialog.cc:58
msgid "Track mode:"
msgstr ""
-#: add_route_dialog.cc:58
+#: add_route_dialog.cc:59
msgid "Instrument:"
msgstr ""
-#: add_route_dialog.cc:76
+#: add_route_dialog.cc:78
msgid "Audio Tracks"
msgstr ""
-#: add_route_dialog.cc:77
+#: add_route_dialog.cc:79
msgid "MIDI Tracks"
msgstr ""
-#: add_route_dialog.cc:78
+#: add_route_dialog.cc:80
msgid "Audio+MIDI Tracks"
msgstr ""
-#: add_route_dialog.cc:79
+#: add_route_dialog.cc:81
msgid "Busses"
msgstr ""
-#: add_route_dialog.cc:101
+#: add_route_dialog.cc:103
msgid "Add:"
msgstr ""
-#: add_route_dialog.cc:114 time_fx_dialog.cc:91 add_video_dialog.cc:150
-#: video_server_dialog.cc:112
+#: add_route_dialog.cc:116 time_fx_dialog.cc:91 add_video_dialog.cc:135
+#: video_server_dialog.cc:151
msgid "<b>Options</b>"
msgstr ""
-#: add_route_dialog.cc:124 bundle_manager.cc:192 region_editor.cc:50
-#: route_group_dialog.cc:65
+#: add_route_dialog.cc:126 bundle_manager.cc:193 region_editor.cc:49
+#: route_group_dialog.cc:71
msgid "Name:"
msgstr ""
-#: add_route_dialog.cc:154
+#: add_route_dialog.cc:156
msgid "Group:"
msgstr ""
-#: add_route_dialog.cc:215 add_route_dialog.cc:224 add_route_dialog.cc:298
-#: ardour_ui_ed.cc:476 engine_dialog.cc:236 rc_option_editor.cc:1446
-#: rc_option_editor.cc:1448 rc_option_editor.cc:1450 rc_option_editor.cc:1466
-#: rc_option_editor.cc:1468 rc_option_editor.cc:1476 rc_option_editor.cc:1478
-#: rc_option_editor.cc:1496 rc_option_editor.cc:1509 rc_option_editor.cc:1511
-#: rc_option_editor.cc:1513 rc_option_editor.cc:1544 rc_option_editor.cc:1546
-#: rc_option_editor.cc:1548 rc_option_editor.cc:1556 rc_option_editor.cc:1564
-#: rc_option_editor.cc:1572
+#: add_route_dialog.cc:217 add_route_dialog.cc:226 add_route_dialog.cc:300
+#: ardour_ui_ed.cc:523 engine_dialog.cc:235 rc_option_editor.cc:1710
+#: rc_option_editor.cc:1712 rc_option_editor.cc:1714 rc_option_editor.cc:1732
+#: rc_option_editor.cc:1734 rc_option_editor.cc:1742 rc_option_editor.cc:1744
+#: rc_option_editor.cc:1762 rc_option_editor.cc:1775 rc_option_editor.cc:1777
+#: rc_option_editor.cc:1779 rc_option_editor.cc:1810 rc_option_editor.cc:1812
+#: rc_option_editor.cc:1814 rc_option_editor.cc:1822 rc_option_editor.cc:1830
+#: rc_option_editor.cc:1832 rc_option_editor.cc:1840
msgid "Audio"
msgstr ""
-#: add_route_dialog.cc:216 add_route_dialog.cc:227 add_route_dialog.cc:299
-#: editor_actions.cc:105 missing_file_dialog.cc:55 rc_option_editor.cc:1695
-#: rc_option_editor.cc:1703 rc_option_editor.cc:1711 rc_option_editor.cc:1720
-#: rc_option_editor.cc:1728 rc_option_editor.cc:1736 rc_option_editor.cc:1744
-#: rc_option_editor.cc:1753 rc_option_editor.cc:1762 rc_option_editor.cc:1771
-#: rc_option_editor.cc:1779 rc_option_editor.cc:1787
+#: add_route_dialog.cc:218 add_route_dialog.cc:229 add_route_dialog.cc:301
+#: editor_actions.cc:109 engine_dialog.cc:237 missing_file_dialog.cc:56
+#: rc_option_editor.cc:1975 rc_option_editor.cc:1983 rc_option_editor.cc:1991
+#: rc_option_editor.cc:2000 rc_option_editor.cc:2008 rc_option_editor.cc:2016
+#: rc_option_editor.cc:2024 rc_option_editor.cc:2033 rc_option_editor.cc:2042
+#: rc_option_editor.cc:2051 rc_option_editor.cc:2059 rc_option_editor.cc:2067
+#: rc_option_editor.cc:2075 rc_option_editor.cc:2098
msgid "MIDI"
msgstr "MIDI"
-#: add_route_dialog.cc:217 add_route_dialog.cc:230 add_route_dialog.cc:300
+#: add_route_dialog.cc:219 add_route_dialog.cc:232 add_route_dialog.cc:302
msgid "Audio+MIDI"
msgstr ""
-#: add_route_dialog.cc:218 add_route_dialog.cc:233 add_route_dialog.cc:301
+#: add_route_dialog.cc:220 add_route_dialog.cc:235 add_route_dialog.cc:303
msgid "Bus"
msgstr ""
-#: add_route_dialog.cc:260
+#: add_route_dialog.cc:262
msgid ""
"Audio+MIDI tracks are intended for use <b>ONLY</b> with plugins that use "
"both audio and MIDI input data\n"
@@ -455,64 +461,64 @@ msgid ""
"track instead."
msgstr ""
-#: add_route_dialog.cc:319 add_route_dialog.cc:338 editor_actions.cc:385
-#: editor_rulers.cc:377 time_axis_view.cc:1305
+#: add_route_dialog.cc:321 add_route_dialog.cc:340 editor_actions.cc:420
+#: editor_rulers.cc:251 time_axis_view.cc:1339
msgid "Normal"
msgstr "Normal"
-#: add_route_dialog.cc:322 add_route_dialog.cc:340
+#: add_route_dialog.cc:324 add_route_dialog.cc:342
msgid "Non Layered"
msgstr ""
-#: add_route_dialog.cc:323 add_route_dialog.cc:342
+#: add_route_dialog.cc:325 add_route_dialog.cc:344
msgid "Tape"
msgstr ""
-#: add_route_dialog.cc:423
+#: add_route_dialog.cc:425 monitor_section.cc:291
msgid "Mono"
msgstr ""
-#: add_route_dialog.cc:427
+#: add_route_dialog.cc:429
msgid "Stereo"
msgstr ""
-#: add_route_dialog.cc:451
+#: add_route_dialog.cc:453
msgid "3 Channel"
msgstr ""
-#: add_route_dialog.cc:455
+#: add_route_dialog.cc:457
msgid "4 Channel"
msgstr ""
-#: add_route_dialog.cc:459
+#: add_route_dialog.cc:461
msgid "5 Channel"
msgstr ""
-#: add_route_dialog.cc:463
+#: add_route_dialog.cc:465
msgid "6 Channel"
msgstr ""
-#: add_route_dialog.cc:467
+#: add_route_dialog.cc:469
msgid "8 Channel"
msgstr ""
-#: add_route_dialog.cc:471
+#: add_route_dialog.cc:473
msgid "12 Channel"
msgstr ""
-#: add_route_dialog.cc:475 mixer_strip.cc:2131
+#: add_route_dialog.cc:477 mixer_strip.cc:1791 mixer_strip.cc:2199
msgid "Custom"
msgstr ""
-#: add_route_dialog.cc:508 add_route_dialog.cc:524 route_group_menu.cc:81
+#: add_route_dialog.cc:510 add_route_dialog.cc:526 route_group_menu.cc:81
msgid "New Group..."
msgstr ""
-#: add_route_dialog.cc:512 route_group_menu.cc:85
+#: add_route_dialog.cc:514 route_group_menu.cc:85
msgid "No Group"
msgstr ""
-#: add_route_dialog.cc:588
+#: add_route_dialog.cc:590
msgid "-none-"
msgstr ""
@@ -533,7 +539,7 @@ msgid ""
"Please select the path that you want to get the file from."
msgstr ""
-#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:45
+#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:46
msgid "Done"
msgstr ""
@@ -573,17 +579,17 @@ msgstr ""
msgid "FFT analysis window"
msgstr ""
-#: analysis_window.cc:60 editor.cc:1857
+#: analysis_window.cc:60 editor.cc:1776
msgid "Spectral Analysis"
msgstr ""
-#: analysis_window.cc:67 editor_actions.cc:138 export_channel_selector.cc:557
+#: analysis_window.cc:67 editor_actions.cc:142 export_channel_selector.cc:557
#: session_metadata_dialog.cc:546
msgid "Track"
msgstr "Trilha"
-#: analysis_window.cc:68 editor_actions.cc:616 mixer_ui.cc:125
-#: mixer_ui.cc:1795
+#: analysis_window.cc:68 editor_actions.cc:658 mixer_ui.cc:130
+#: mixer_ui.cc:1830
msgid "Show"
msgstr ""
@@ -591,90 +597,96 @@ msgstr ""
msgid "Re-analyze data"
msgstr ""
-#: ardour_button.cc:704
+#: ardour_button.cc:810
msgid "button cannot watch state of non-existing Controllable\n"
msgstr ""
-#: ardour_ui.cc:180
-msgid "audition"
+#: ardour_button.cc:1024
+msgid "ABCDEFGHIJLKMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
msgstr ""
-#: ardour_ui.cc:181
-msgid "solo"
-msgstr ""
+#: ardour_ui.cc:194 editor_actions.cc:652 region_editor.cc:50
+msgid "Audition"
+msgstr "Audição"
-#: ardour_ui.cc:182
-msgid "feedback"
+#: ardour_ui.cc:195 editor_actions.cc:136 mixer_strip.cc:1971
+#: rc_option_editor.cc:1850 route_time_axis.cc:252 route_time_axis.cc:2566
+msgid "Solo"
+msgstr "Solo"
+
+#: ardour_ui.cc:196 rc_option_editor.cc:718
+msgid "Feedback"
msgstr ""
-#: ardour_ui.cc:187 speaker_dialog.cc:36
+#: ardour_ui.cc:201 speaker_dialog.cc:36
msgid "Speaker Configuration"
msgstr ""
-#: ardour_ui.cc:188 theme_manager.cc:56 theme_manager.cc:64
+#: ardour_ui.cc:202 theme_manager.cc:62 theme_manager.cc:77
msgid "Theme Manager"
msgstr ""
-#: ardour_ui.cc:189 keyeditor.cc:53
+#: ardour_ui.cc:203 keyeditor.cc:53
msgid "Key Bindings"
msgstr ""
-#: ardour_ui.cc:190
+#: ardour_ui.cc:204
msgid "Preferences"
msgstr ""
-#: ardour_ui.cc:191 ardour_ui.cc:197
+#: ardour_ui.cc:205 ardour_ui.cc:211
msgid "Add Tracks/Busses"
msgstr ""
-#: ardour_ui.cc:192
+#: ardour_ui.cc:206
msgid "About"
msgstr "Sobre"
-#: ardour_ui.cc:193 location_ui.cc:1146
+#: ardour_ui.cc:207 location_ui.cc:1148 session_option_editor.cc:189
+#: session_option_editor.cc:195 session_option_editor.cc:202
msgid "Locations"
msgstr "Localizações"
-#: ardour_ui.cc:194 route_params_ui.cc:58 route_params_ui.cc:606
+#: ardour_ui.cc:208 route_params_ui.cc:58 route_params_ui.cc:629
msgid "Tracks and Busses"
msgstr ""
-#: ardour_ui.cc:195 engine_dialog.cc:67
+#: ardour_ui.cc:209 engine_dialog.cc:69
msgid "Audio/MIDI Setup"
msgstr ""
-#: ardour_ui.cc:196
+#: ardour_ui.cc:210
msgid "Properties"
msgstr ""
-#: ardour_ui.cc:198 bundle_manager.cc:263
+#: ardour_ui.cc:212 bundle_manager.cc:264
msgid "Bundle Manager"
msgstr ""
-#: ardour_ui.cc:199 big_clock_window.cc:35
+#: ardour_ui.cc:213 big_clock_window.cc:37
msgid "Big Clock"
msgstr "Metrônomo"
-#: ardour_ui.cc:200
+#: ardour_ui.cc:214
msgid "Audio Connections"
msgstr ""
-#: ardour_ui.cc:201
+#: ardour_ui.cc:215
msgid "MIDI Connections"
msgstr ""
-#: ardour_ui.cc:203
+#: ardour_ui.cc:217
msgid "Errors"
msgstr ""
-#: ardour_ui.cc:436
+#: ardour_ui.cc:461
msgid ""
"The audio backend was shutdown because:\n"
"\n"
"%1"
msgstr ""
-#: ardour_ui.cc:438
+#: ardour_ui.cc:463
msgid ""
"The audio backend has either been shutdown or it\n"
"disconnected %1 because %1\n"
@@ -682,27 +694,27 @@ msgid ""
"the audio backend and save the session."
msgstr ""
-#: ardour_ui.cc:758
+#: ardour_ui.cc:781
msgid "NSM server did not announce itself"
msgstr ""
-#: ardour_ui.cc:771
+#: ardour_ui.cc:794
msgid "NSM: no client ID provided"
msgstr ""
-#: ardour_ui.cc:778
+#: ardour_ui.cc:801
msgid "NSM: no session created"
msgstr ""
-#: ardour_ui.cc:801
+#: ardour_ui.cc:824
msgid "NSM: initialization failed"
msgstr ""
-#: ardour_ui.cc:840 startup.cc:379
+#: ardour_ui.cc:864 startup.cc:380
msgid "%1 is ready for use"
msgstr ""
-#: ardour_ui.cc:882
+#: ardour_ui.cc:906
msgid ""
"WARNING: Your system has a limit for maximum amount of locked memory. This "
"might cause %1 to run out of memory before your system runs out of memory. \n"
@@ -711,23 +723,23 @@ msgid ""
"controlled by %2"
msgstr ""
-#: ardour_ui.cc:899
+#: ardour_ui.cc:923
msgid "Do not show this window again"
msgstr ""
-#: ardour_ui.cc:943
+#: ardour_ui.cc:967
msgid "Don't quit"
msgstr ""
-#: ardour_ui.cc:944
+#: ardour_ui.cc:968
msgid "Just quit"
msgstr ""
-#: ardour_ui.cc:945
+#: ardour_ui.cc:969
msgid "Save and quit"
msgstr ""
-#: ardour_ui.cc:955
+#: ardour_ui.cc:979
msgid ""
"%1 was unable to save your session.\n"
"\n"
@@ -736,15 +748,11 @@ msgid ""
"\"Just quit\" option."
msgstr ""
-#: ardour_ui.cc:986
-msgid "Please wait while %1 cleans up..."
-msgstr ""
-
-#: ardour_ui.cc:1004
+#: ardour_ui.cc:1030
msgid "Unsaved Session"
msgstr ""
-#: ardour_ui.cc:1025
+#: ardour_ui.cc:1051
msgid ""
"The session \"%1\"\n"
"has not been saved.\n"
@@ -755,7 +763,7 @@ msgid ""
"What do you want to do?"
msgstr ""
-#: ardour_ui.cc:1028
+#: ardour_ui.cc:1054
msgid ""
"The snapshot \"%1\"\n"
"has not been saved.\n"
@@ -766,75 +774,75 @@ msgid ""
"What do you want to do?"
msgstr ""
-#: ardour_ui.cc:1042
+#: ardour_ui.cc:1068
msgid "Prompter"
msgstr ""
-#: ardour_ui.cc:1128 ardour_ui.cc:1136
+#: ardour_ui.cc:1182 ardour_ui.cc:1190
#, c-format
msgid "Audio: <span foreground=\"red\">none</span>"
msgstr ""
-#: ardour_ui.cc:1140
+#: ardour_ui.cc:1194
#, c-format
msgid "Audio: <span foreground=\"green\">%.1f kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1144
+#: ardour_ui.cc:1198
#, c-format
msgid "Audio: <span foreground=\"green\">%<PRId64> kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1162 export_video_dialog.cc:67
+#: ardour_ui.cc:1216 export_video_dialog.cc:68
msgid "File:"
msgstr ""
-#: ardour_ui.cc:1166
+#: ardour_ui.cc:1220
msgid "BWF"
msgstr ""
-#: ardour_ui.cc:1169
+#: ardour_ui.cc:1223
msgid "WAV"
msgstr ""
-#: ardour_ui.cc:1172
+#: ardour_ui.cc:1226
msgid "WAV64"
msgstr ""
-#: ardour_ui.cc:1175 session_option_editor.cc:197
+#: ardour_ui.cc:1229 session_option_editor.cc:185
msgid "CAF"
msgstr ""
-#: ardour_ui.cc:1178
+#: ardour_ui.cc:1232
msgid "AIFF"
msgstr ""
-#: ardour_ui.cc:1181
+#: ardour_ui.cc:1235
msgid "iXML"
msgstr ""
-#: ardour_ui.cc:1184
+#: ardour_ui.cc:1238
msgid "RF64"
msgstr ""
-#: ardour_ui.cc:1192
+#: ardour_ui.cc:1246
msgid "32-float"
msgstr ""
-#: ardour_ui.cc:1195
+#: ardour_ui.cc:1249
msgid "24-int"
msgstr ""
-#: ardour_ui.cc:1198
+#: ardour_ui.cc:1252
msgid "16-int"
msgstr ""
-#: ardour_ui.cc:1217
+#: ardour_ui.cc:1271
#, c-format
msgid "DSP: <span foreground=\"%s\">%5.1f%%</span>"
msgstr ""
-#: ardour_ui.cc:1236
+#: ardour_ui.cc:1290
#, c-format
msgid ""
"Buffers: <span foreground=\"green\">p:</span><span foreground=\"%s\">"
@@ -842,212 +850,216 @@ msgid ""
"\">%<PRIu32>%%</span>"
msgstr ""
-#: ardour_ui.cc:1277
+#: ardour_ui.cc:1331
msgid "Disk: <span foreground=\"green\">Unknown</span>"
msgstr ""
-#: ardour_ui.cc:1279
+#: ardour_ui.cc:1333
msgid "Disk: <span foreground=\"green\">24hrs+</span>"
msgstr ""
-#: ardour_ui.cc:1297
+#: ardour_ui.cc:1351
msgid "Disk: <span foreground=\"green\">&gt;24 hrs</span>"
msgstr ""
-#: ardour_ui.cc:1308
+#: ardour_ui.cc:1362
#, c-format
msgid "Disk: <span foreground=\"%s\">%02dh:%02dm:%02ds</span>"
msgstr ""
-#: ardour_ui.cc:1334
+#: ardour_ui.cc:1388
#, c-format
msgid "Timecode|TC: <span foreground=\"%s\">%s</span>"
msgstr ""
-#: ardour_ui.cc:1451 ardour_ui.cc:1460 session_dialog.cc:322
-#: session_dialog.cc:327
+#: ardour_ui.cc:1509 ardour_ui.cc:1518 session_dialog.cc:326
+#: session_dialog.cc:331
msgid "Recent Sessions"
msgstr ""
-#: ardour_ui.cc:1539
+#: ardour_ui.cc:1597
msgid ""
"%1 is not connected to any audio backend.\n"
"You cannot open or close sessions in this condition"
msgstr ""
-#: ardour_ui.cc:1563
+#: ardour_ui.cc:1621
msgid "Open Session"
msgstr ""
-#: ardour_ui.cc:1588 session_dialog.cc:353 session_import_dialog.cc:169
+#: ardour_ui.cc:1646 session_dialog.cc:357 session_import_dialog.cc:169
#: session_metadata_dialog.cc:729
msgid "%1 sessions"
msgstr ""
-#: ardour_ui.cc:1625
+#: ardour_ui.cc:1683
msgid "You cannot add a track without a session already loaded."
msgstr ""
"Você não pode adicionar uma trilha se uma sessão não estiver carregada."
-#: ardour_ui.cc:1633
+#: ardour_ui.cc:1691
msgid "could not create %1 new mixed track"
msgid_plural "could not create %1 new mixed tracks"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1639 ardour_ui.cc:1700
+#: ardour_ui.cc:1697 ardour_ui.cc:1758
msgid ""
-"There are insufficient JACK ports available\n"
+"There are insufficient ports available\n"
"to create a new track or bus.\n"
"You should save %1, exit and\n"
-"restart JACK with more ports."
+"restart with more ports."
msgstr ""
-#: ardour_ui.cc:1674
+#: ardour_ui.cc:1732
msgid "You cannot add a track or bus without a session already loaded."
msgstr ""
-#: ardour_ui.cc:1683
+#: ardour_ui.cc:1741
msgid "could not create %1 new audio track"
msgid_plural "could not create %1 new audio tracks"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1692
+#: ardour_ui.cc:1750
msgid "could not create %1 new audio bus"
msgid_plural "could not create %1 new audio busses"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1816
+#: ardour_ui.cc:1903
msgid ""
"Please create one or more tracks before trying to record.\n"
"You can do this with the \"Add Track or Bus\" option in the Session menu."
msgstr ""
-#: ardour_ui.cc:2193
+#: ardour_ui.cc:2312
+msgid "Save as..."
+msgstr ""
+
+#: ardour_ui.cc:2313 ardour_ui.cc:2392
+msgid "New session name"
+msgstr ""
+
+#: ardour_ui.cc:2315
msgid "Take Snapshot"
msgstr ""
-#: ardour_ui.cc:2194
+#: ardour_ui.cc:2316
msgid "Name of new snapshot"
msgstr ""
-#: ardour_ui.cc:2218
+#: ardour_ui.cc:2341
msgid ""
"To ensure compatibility with various systems\n"
"snapshot names may not contain a '%1' character"
msgstr ""
-#: ardour_ui.cc:2230
+#: ardour_ui.cc:2353
msgid "Confirm Snapshot Overwrite"
msgstr ""
-#: ardour_ui.cc:2231
+#: ardour_ui.cc:2354
msgid "A snapshot already exists with that name. Do you want to overwrite it?"
msgstr ""
-#: ardour_ui.cc:2234 utils_videotl.cc:67
+#: ardour_ui.cc:2357 utils_videotl.cc:67
msgid "Overwrite"
msgstr ""
-#: ardour_ui.cc:2268
+#: ardour_ui.cc:2391
msgid "Rename Session"
msgstr ""
-#: ardour_ui.cc:2269
-msgid "New session name"
-msgstr ""
-
-#: ardour_ui.cc:2283 ardour_ui.cc:2684 ardour_ui.cc:2722
+#: ardour_ui.cc:2406 ardour_ui.cc:2814 ardour_ui.cc:2852
msgid ""
"To ensure compatibility with various systems\n"
"session names may not contain a '%1' character"
msgstr ""
-#: ardour_ui.cc:2291
+#: ardour_ui.cc:2414
msgid ""
"That name is already in use by another directory/folder. Please try again."
msgstr ""
-#: ardour_ui.cc:2300
+#: ardour_ui.cc:2423
msgid ""
"Renaming this session failed.\n"
"Things could be seriously messed up at this point"
msgstr ""
-#: ardour_ui.cc:2411
+#: ardour_ui.cc:2534
msgid "Save Template"
msgstr ""
-#: ardour_ui.cc:2412
+#: ardour_ui.cc:2535
msgid "Name for template:"
msgstr ""
-#: ardour_ui.cc:2413
+#: ardour_ui.cc:2536
msgid "-template"
msgstr "-esquema/template"
-#: ardour_ui.cc:2451
+#: ardour_ui.cc:2574
msgid ""
"This session\n"
"%1\n"
"already exists. Do you want to open it?"
msgstr ""
-#: ardour_ui.cc:2461
+#: ardour_ui.cc:2584
msgid "Open Existing Session"
msgstr ""
-#: ardour_ui.cc:2712
+#: ardour_ui.cc:2842
msgid "There is no existing session at \"%1\""
msgstr ""
-#: ardour_ui.cc:2804
+#: ardour_ui.cc:2934
msgid "Please wait while %1 loads your session"
msgstr ""
-#: ardour_ui.cc:2819
+#: ardour_ui.cc:2949
msgid "Port Registration Error"
msgstr ""
-#: ardour_ui.cc:2820
+#: ardour_ui.cc:2950
msgid "Click the Close button to try again."
msgstr ""
-#: ardour_ui.cc:2841
+#: ardour_ui.cc:2971
msgid "Session \"%1 (snapshot %2)\" did not load successfully"
msgstr "A sessão \"%1 (instantâneo %2)\" não pôde ser carregada"
-#: ardour_ui.cc:2848
+#: ardour_ui.cc:2978
msgid "Loading Error"
msgstr ""
-#: ardour_ui.cc:2867
+#: ardour_ui.cc:2997
msgid ""
"This session has been opened in read-only mode.\n"
"\n"
"You will not be able to record or save."
msgstr ""
-#: ardour_ui.cc:2873
+#: ardour_ui.cc:3003
msgid "Read-only Session"
msgstr ""
-#: ardour_ui.cc:2931
+#: ardour_ui.cc:3069
msgid "Could not create session in \"%1\""
msgstr ""
-#: ardour_ui.cc:3031
+#: ardour_ui.cc:3169
msgid "No files were ready for clean-up"
msgstr ""
-#: ardour_ui.cc:3035 ardour_ui.cc:3045 ardour_ui.cc:3178 ardour_ui.cc:3185
-#: ardour_ui_ed.cc:104
+#: ardour_ui.cc:3173 ardour_ui.cc:3183 ardour_ui.cc:3316 ardour_ui.cc:3323
+#: ardour_ui_ed.cc:103
msgid "Clean-up"
msgstr ""
-#: ardour_ui.cc:3036
+#: ardour_ui.cc:3174
msgid ""
"If this seems suprising, \n"
"check for any existing snapshots.\n"
@@ -1055,19 +1067,19 @@ msgid ""
"require some unused files to continue to exist."
msgstr ""
-#: ardour_ui.cc:3095
+#: ardour_ui.cc:3233
msgid "kilo"
msgstr ""
-#: ardour_ui.cc:3098
+#: ardour_ui.cc:3236
msgid "mega"
msgstr ""
-#: ardour_ui.cc:3101
+#: ardour_ui.cc:3239
msgid "giga"
msgstr ""
-#: ardour_ui.cc:3106
+#: ardour_ui.cc:3244
msgid ""
"The following file was deleted from %2,\n"
"releasing %3 %4bytes of disk space"
@@ -1077,7 +1089,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:3113
+#: ardour_ui.cc:3251
msgid ""
"The following file was not in use and \n"
"has been moved to: %2\n"
@@ -1099,91 +1111,90 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:3173
+#: ardour_ui.cc:3311
msgid "Are you sure you want to clean-up?"
msgstr ""
-#: ardour_ui.cc:3180
+#: ardour_ui.cc:3318
msgid ""
"Clean-up is a destructive operation.\n"
"ALL undo/redo information will be lost if you clean-up.\n"
"Clean-up will move all unused files to a \"dead\" location."
msgstr ""
-#: ardour_ui.cc:3188
+#: ardour_ui.cc:3326
msgid "CleanupDialog"
msgstr "Limpar"
-#: ardour_ui.cc:3218
+#: ardour_ui.cc:3356
msgid "Cleaned Files"
msgstr ""
-#: ardour_ui.cc:3235
+#: ardour_ui.cc:3373
msgid "deleted file"
msgstr "arquivo removido"
-#: ardour_ui.cc:3381
-msgid ""
-"Video-Server was not launched by Ardour. The request to stop it is ignored."
+#: ardour_ui.cc:3512
+msgid "Video-Server was not launched by %1. The request to stop it is ignored."
msgstr ""
-#: ardour_ui.cc:3385
+#: ardour_ui.cc:3516
msgid "Stop Video-Server"
msgstr ""
-#: ardour_ui.cc:3386
+#: ardour_ui.cc:3517
msgid "Do you really want to stop the Video Server?"
msgstr ""
-#: ardour_ui.cc:3389
+#: ardour_ui.cc:3520
msgid "Yes, Stop It"
msgstr ""
-#: ardour_ui.cc:3415
+#: ardour_ui.cc:3546
msgid "The Video Server is already started."
msgstr ""
-#: ardour_ui.cc:3417
+#: ardour_ui.cc:3548
msgid ""
"An external Video Server is configured and can be reached. Not starting a "
"new instance."
msgstr ""
-#: ardour_ui.cc:3425 ardour_ui.cc:3515
+#: ardour_ui.cc:3556 ardour_ui.cc:3655
msgid ""
"Could not connect to the Video Server. Start it or configure its access URL "
"in Edit -> Preferences."
msgstr ""
-#: ardour_ui.cc:3449
+#: ardour_ui.cc:3580
msgid "Specified docroot is not an existing directory."
msgstr ""
-#: ardour_ui.cc:3454
+#: ardour_ui.cc:3586 ardour_ui.cc:3592
msgid "Given Video Server is not an executable file."
msgstr ""
-#: ardour_ui.cc:3487
+#: ardour_ui.cc:3626
msgid "Cannot launch the video-server"
msgstr ""
-#: ardour_ui.cc:3496
+#: ardour_ui.cc:3636
msgid "Video-server was started but does not respond to requests..."
msgstr ""
-#: ardour_ui.cc:3541 editor_audio_import.cc:632
+#: ardour_ui.cc:3681 editor_audio_import.cc:628
msgid "could not open %1"
msgstr "não foi possível abrir %1"
-#: ardour_ui.cc:3545
+#: ardour_ui.cc:3685
msgid "no video-file selected"
msgstr ""
-#: ardour_ui.cc:3717
+#: ardour_ui.cc:3858
msgid "Recording was stopped because your system could not keep up."
msgstr "A gravação foi encerrada porque seu sistema não consegue acompanhar"
-#: ardour_ui.cc:3746
+#: ardour_ui.cc:3887
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1192,7 +1203,23 @@ msgid ""
"quickly enough to keep up with recording.\n"
msgstr ""
-#: ardour_ui.cc:3765
+#: ardour_ui.cc:3957
+msgid "Scanning for plugins"
+msgstr ""
+
+#: ardour_ui.cc:3959
+msgid "Cancel plugin scan"
+msgstr ""
+
+#: ardour_ui.cc:3968
+msgid "Stop Timeout"
+msgstr ""
+
+#: ardour_ui.cc:3975
+msgid "Scan Timeout"
+msgstr ""
+
+#: ardour_ui.cc:4016
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1201,11 +1228,11 @@ msgid ""
"quickly enough to keep up with playback.\n"
msgstr ""
-#: ardour_ui.cc:3805
+#: ardour_ui.cc:4056
msgid "Crash Recovery"
msgstr ""
-#: ardour_ui.cc:3806
+#: ardour_ui.cc:4057
msgid ""
"This session appears to have been in the\n"
"middle of recording when %1 or\n"
@@ -1216,42 +1243,42 @@ msgid ""
"what you would like to do.\n"
msgstr ""
-#: ardour_ui.cc:3818
+#: ardour_ui.cc:4069
msgid "Ignore crash data"
msgstr ""
-#: ardour_ui.cc:3819
+#: ardour_ui.cc:4070
msgid "Recover from crash"
msgstr ""
-#: ardour_ui.cc:3839
+#: ardour_ui.cc:4090
msgid "Sample Rate Mismatch"
msgstr ""
-#: ardour_ui.cc:3840
+#: ardour_ui.cc:4091
msgid ""
"This session was created with a sample rate of %1 Hz, but\n"
"%2 is currently running at %3 Hz. If you load this session,\n"
"audio may be played at the wrong sample rate.\n"
msgstr ""
-#: ardour_ui.cc:3849
+#: ardour_ui.cc:4100
msgid "Do not load session"
msgstr ""
-#: ardour_ui.cc:3850
+#: ardour_ui.cc:4101
msgid "Load session anyway"
msgstr ""
-#: ardour_ui.cc:3877
+#: ardour_ui.cc:4128
msgid "Could not disconnect from Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:3893 ardour_ui.cc:3896
+#: ardour_ui.cc:4144 ardour_ui.cc:4147
msgid "Could not reconnect to the Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:4172
+#: ardour_ui.cc:4431
msgid ""
"%4This is a session from an older version of %3%5\n"
"\n"
@@ -1266,85 +1293,85 @@ msgid ""
"From now on, use the -2000 version with older versions of %3"
msgstr ""
-#: ardour_ui2.cc:72
+#: ardour_ui2.cc:73
msgid "UI: cannot setup editor"
msgstr "não foi possível iniciar o editor"
-#: ardour_ui2.cc:77
+#: ardour_ui2.cc:78
msgid "UI: cannot setup mixer"
msgstr "não foi possível iniciar o mixer"
-#: ardour_ui2.cc:82
+#: ardour_ui2.cc:83
msgid "UI: cannot setup meterbridge"
msgstr ""
-#: ardour_ui2.cc:130
+#: ardour_ui2.cc:131
msgid "Play from playhead"
msgstr "Reproduzir a partir do início"
-#: ardour_ui2.cc:131
+#: ardour_ui2.cc:132
msgid "Stop playback"
msgstr "Parar reprodução"
-#: ardour_ui2.cc:132
+#: ardour_ui2.cc:133
msgid "Toggle record"
msgstr ""
-#: ardour_ui2.cc:133
+#: ardour_ui2.cc:134
msgid "Play range/selection"
msgstr "Reproduzir intervalo/seleção"
-#: ardour_ui2.cc:134
+#: ardour_ui2.cc:135
msgid "Go to start of session"
msgstr "Ir para o início da sessão"
-#: ardour_ui2.cc:135
+#: ardour_ui2.cc:136
msgid "Go to end of session"
msgstr "Ir para o fim da sessão"
-#: ardour_ui2.cc:136
+#: ardour_ui2.cc:137
msgid "Play loop range"
msgstr "Reproduzir intervalo"
-#: ardour_ui2.cc:137
+#: ardour_ui2.cc:138
msgid ""
"MIDI Panic\n"
"Send note off and reset controller messages on all MIDI channels"
msgstr ""
-#: ardour_ui2.cc:138
+#: ardour_ui2.cc:139
msgid "Return to last playback start when stopped"
msgstr "Ir para o início da última reprodução quando parar"
-#: ardour_ui2.cc:139
+#: ardour_ui2.cc:140
msgid "Playhead follows Range Selections and Edits"
msgstr ""
-#: ardour_ui2.cc:140
+#: ardour_ui2.cc:141
msgid "Be sensible about input monitoring"
msgstr "Sensível à monitoração na entrada"
-#: ardour_ui2.cc:141
+#: ardour_ui2.cc:142
msgid "Enable/Disable audio click"
msgstr "Habilitar/desabilitar metrônomo"
-#: ardour_ui2.cc:142 monitor_section.cc:101
+#: ardour_ui2.cc:143 monitor_section.cc:112
msgid ""
"When active, something is soloed.\n"
"Click to de-solo everything"
msgstr ""
-#: ardour_ui2.cc:143
+#: ardour_ui2.cc:144
msgid ""
"When active, auditioning is taking place\n"
"Click to stop the audition"
msgstr ""
-#: ardour_ui2.cc:144
+#: ardour_ui2.cc:145
msgid "When active, there is a feedback loop."
msgstr ""
-#: ardour_ui2.cc:145
+#: ardour_ui2.cc:146
msgid ""
"<b>Primary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1352,7 +1379,7 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:146
+#: ardour_ui2.cc:147
msgid ""
"<b>Secondary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1360,361 +1387,418 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:147
-msgid "Reset Level Meter"
+#: ardour_ui2.cc:148
+msgid "Reset All Peak Indicators"
msgstr ""
-#: ardour_ui2.cc:179
+#: ardour_ui2.cc:180
msgid "[ERROR]: "
msgstr ""
-#: ardour_ui2.cc:181
+#: ardour_ui2.cc:182
msgid "[WARNING]: "
msgstr ""
-#: ardour_ui2.cc:183
+#: ardour_ui2.cc:184
msgid "[INFO]: "
msgstr ""
-#: ardour_ui2.cc:247 ardour_ui_ed.cc:344
+#: ardour_ui2.cc:248 ardour_ui_ed.cc:391
msgid "Auto Return"
msgstr ""
-#: ardour_ui2.cc:249 ardour_ui_ed.cc:347
+#: ardour_ui2.cc:250 ardour_ui_ed.cc:394
msgid "Follow Edits"
msgstr ""
-#: ardour_ui2.cc:628 rc_option_editor.cc:1002 rc_option_editor.cc:1020
-#: rc_option_editor.cc:1023 rc_option_editor.cc:1025 rc_option_editor.cc:1027
-#: rc_option_editor.cc:1035 rc_option_editor.cc:1043 rc_option_editor.cc:1045
-#: rc_option_editor.cc:1053 rc_option_editor.cc:1060 rc_option_editor.cc:1069
-#: rc_option_editor.cc:1071 rc_option_editor.cc:1073 rc_option_editor.cc:1081
-#: rc_option_editor.cc:1083 rc_option_editor.cc:1092
-#: session_option_editor.cc:234 session_option_editor.cc:236
-#: session_option_editor.cc:257 session_option_editor.cc:259
-#: session_option_editor.cc:261 session_option_editor.cc:268
+#: ardour_ui2.cc:651 rc_option_editor.cc:2172
+msgid "GUI"
+msgstr ""
+
+#: ardour_ui2.cc:668 rc_option_editor.cc:1242 rc_option_editor.cc:1260
+#: rc_option_editor.cc:1263 rc_option_editor.cc:1265 rc_option_editor.cc:1267
+#: rc_option_editor.cc:1275 rc_option_editor.cc:1283 rc_option_editor.cc:1285
+#: rc_option_editor.cc:1293 rc_option_editor.cc:1300 rc_option_editor.cc:1309
+#: rc_option_editor.cc:1311 rc_option_editor.cc:1313 rc_option_editor.cc:1321
+#: rc_option_editor.cc:1323 rc_option_editor.cc:1332
+#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:344 session_option_editor.cc:346
+#: session_option_editor.cc:348 session_option_editor.cc:355
+#: session_option_editor.cc:362 session_option_editor.cc:366
msgid "Misc"
msgstr "Miscelânea"
-#: ardour_ui_dependents.cc:69
+#: ardour_ui_dependents.cc:75
msgid "Setup Editor"
msgstr ""
-#: ardour_ui_dependents.cc:71
+#: ardour_ui_dependents.cc:77
msgid "Setup Mixer"
msgstr ""
-#: ardour_ui_dependents.cc:77
+#: ardour_ui_dependents.cc:83
msgid "Reload Session History"
msgstr ""
-#: ardour_ui_dialogs.cc:238
+#: ardour_ui_dialogs.cc:251
msgid "Don't close"
msgstr ""
-#: ardour_ui_dialogs.cc:239
+#: ardour_ui_dialogs.cc:252
msgid "Just close"
msgstr ""
-#: ardour_ui_dialogs.cc:240
+#: ardour_ui_dialogs.cc:253
msgid "Save and close"
msgstr ""
-#: ardour_ui_dialogs.cc:339
+#: ardour_ui_dialogs.cc:353
msgid "This screen is not tall enough to display the mixer window"
msgstr ""
-#: ardour_ui_ed.cc:103
+#: ardour_ui_ed.cc:102
msgid "Session"
msgstr "Sessão"
-#: ardour_ui_ed.cc:106 editor_actions.cc:134 editor_regions.cc:115
+#: ardour_ui_ed.cc:105 editor_actions.cc:138 editor_regions.cc:116
#: port_group.cc:458 session_option_editor.cc:82 session_option_editor.cc:89
msgid "Sync"
msgstr "Sincronia"
-#: ardour_ui_ed.cc:107
+#: ardour_ui_ed.cc:106
msgid "Options"
msgstr ""
-#: ardour_ui_ed.cc:108
+#: ardour_ui_ed.cc:107
msgid "Window"
msgstr ""
-#: ardour_ui_ed.cc:109
+#: ardour_ui_ed.cc:108
msgid "Help"
msgstr ""
-#: ardour_ui_ed.cc:110
+#: ardour_ui_ed.cc:109
msgid "Misc. Shortcuts"
msgstr ""
-#: ardour_ui_ed.cc:111
+#: ardour_ui_ed.cc:110
msgid "Audio File Format"
msgstr ""
-#: ardour_ui_ed.cc:112
+#: ardour_ui_ed.cc:111
msgid "File Type"
msgstr ""
-#: ardour_ui_ed.cc:113 export_format_dialog.cc:65
+#: ardour_ui_ed.cc:112 export_format_dialog.cc:67
msgid "Sample Format"
msgstr ""
-#: ardour_ui_ed.cc:114 rc_option_editor.cc:1814 rc_option_editor.cc:1826
+#: ardour_ui_ed.cc:113 rc_option_editor.cc:2119 rc_option_editor.cc:2131
msgid "Control Surfaces"
msgstr ""
-#: ardour_ui_ed.cc:115 rc_option_editor.cc:1546
+#: ardour_ui_ed.cc:114 rc_option_editor.cc:1812 rc_option_editor.cc:2138
msgid "Plugins"
msgstr "Entradas"
-#: ardour_ui_ed.cc:116 rc_option_editor.cc:1889
+#: ardour_ui_ed.cc:115 rc_option_editor.cc:2223
msgid "Metering"
msgstr ""
-#: ardour_ui_ed.cc:117
+#: ardour_ui_ed.cc:116
msgid "Fall Off Rate"
msgstr ""
-#: ardour_ui_ed.cc:118
+#: ardour_ui_ed.cc:117
msgid "Hold Time"
msgstr ""
-#: ardour_ui_ed.cc:119
+#: ardour_ui_ed.cc:118
msgid "Denormal Handling"
msgstr ""
-#: ardour_ui_ed.cc:123 route_time_axis.cc:1489
+#: ardour_ui_ed.cc:122 route_time_axis.cc:1636
msgid "New..."
msgstr ""
-#: ardour_ui_ed.cc:125
+#: ardour_ui_ed.cc:124
msgid "Open..."
msgstr ""
-#: ardour_ui_ed.cc:126
+#: ardour_ui_ed.cc:125
msgid "Recent..."
msgstr ""
-#: ardour_ui_ed.cc:127 panner_editor.cc:29 playlist_selector.cc:64
+#: ardour_ui_ed.cc:126 panner_editor.cc:29 playlist_selector.cc:64
msgid "Close"
msgstr "Fechar"
-#: ardour_ui_ed.cc:130
+#: ardour_ui_ed.cc:129
msgid "Add Track or Bus..."
msgstr ""
-#: ardour_ui_ed.cc:135
+#: ardour_ui_ed.cc:134
msgid "Open Video"
msgstr ""
-#: ardour_ui_ed.cc:138
+#: ardour_ui_ed.cc:137
msgid "Remove Video"
msgstr ""
-#: ardour_ui_ed.cc:141
+#: ardour_ui_ed.cc:140
msgid "Export To Video File"
msgstr ""
-#: ardour_ui_ed.cc:145
+#: ardour_ui_ed.cc:144
msgid "Snapshot..."
msgstr ""
-#: ardour_ui_ed.cc:149
+#: ardour_ui_ed.cc:148
msgid "Save As..."
msgstr ""
-#: ardour_ui_ed.cc:153 editor_actions.cc:1719 editor_markers.cc:858
-#: editor_snapshots.cc:123 mixer_strip.cc:1471 route_time_axis.cc:1485
+#: ardour_ui_ed.cc:152 editor_actions.cc:1767 editor_markers.cc:872
+#: editor_snapshots.cc:124 mixer_strip.cc:1481 route_time_axis.cc:1632
msgid "Rename..."
msgstr ""
-#: ardour_ui_ed.cc:157
+#: ardour_ui_ed.cc:156
msgid "Save Template..."
msgstr "Salvar Esquema..."
-#: ardour_ui_ed.cc:160
+#: ardour_ui_ed.cc:159
msgid "Metadata"
msgstr ""
-#: ardour_ui_ed.cc:163
+#: ardour_ui_ed.cc:162
msgid "Edit Metadata..."
msgstr ""
-#: ardour_ui_ed.cc:166
+#: ardour_ui_ed.cc:165
msgid "Import Metadata..."
msgstr ""
-#: ardour_ui_ed.cc:169
+#: ardour_ui_ed.cc:168
msgid "Export To Audio File(s)..."
msgstr ""
-#: ardour_ui_ed.cc:172
+#: ardour_ui_ed.cc:171
msgid "Stem export..."
msgstr ""
-#: ardour_ui_ed.cc:175 editor_export_audio.cc:63 export_dialog.cc:129
-#: export_video_dialog.cc:71
+#: ardour_ui_ed.cc:174 editor_export_audio.cc:65 export_dialog.cc:129
+#: export_video_dialog.cc:72
msgid "Export"
msgstr "Exportar"
-#: ardour_ui_ed.cc:178
+#: ardour_ui_ed.cc:177
msgid "Clean-up Unused Sources..."
msgstr ""
-#: ardour_ui_ed.cc:182
+#: ardour_ui_ed.cc:181
msgid "Flush Wastebasket"
msgstr ""
-#: ardour_ui_ed.cc:189
+#: ardour_ui_ed.cc:188
msgid "Quit"
msgstr "Sair"
-#: ardour_ui_ed.cc:193
+#: ardour_ui_ed.cc:192
msgid "Maximise Editor Space"
msgstr ""
+#: ardour_ui_ed.cc:193
+msgid "Maximise Mixer Space"
+msgstr ""
+
#: ardour_ui_ed.cc:194
msgid "Show Toolbars"
msgstr ""
-#: ardour_ui_ed.cc:197 mixer_ui.cc:1865 mixer_ui.cc:1871
+#: ardour_ui_ed.cc:197
+msgid "Show more UI preferences"
+msgstr ""
+
+#: ardour_ui_ed.cc:199 mixer_ui.cc:1900 mixer_ui.cc:1906
msgid "Window|Mixer"
msgstr ""
-#: ardour_ui_ed.cc:198
+#: ardour_ui_ed.cc:200
msgid "Toggle Editor+Mixer"
msgstr ""
-#: ardour_ui_ed.cc:199 meterbridge.cc:230 meterbridge.cc:236
+#: ardour_ui_ed.cc:201 meterbridge.cc:214 meterbridge.cc:220
msgid "Window|Meterbridge"
msgstr ""
-#: ardour_ui_ed.cc:201 midi_tracer.cc:42
+#: ardour_ui_ed.cc:203 midi_tracer.cc:45
msgid "MIDI Tracer"
msgstr ""
-#: ardour_ui_ed.cc:203
+#: ardour_ui_ed.cc:205
msgid "Chat"
msgstr ""
-#: ardour_ui_ed.cc:205
+#: ardour_ui_ed.cc:207
msgid "Help|Manual"
msgstr ""
-#: ardour_ui_ed.cc:206
+#: ardour_ui_ed.cc:208
msgid "Reference"
msgstr ""
-#: ardour_ui_ed.cc:208 plugin_ui.cc:415
+#: ardour_ui_ed.cc:210 plugin_ui.cc:416
msgid "Save"
msgstr "Salvar"
-#: ardour_ui_ed.cc:216 rc_option_editor.cc:1112 rc_option_editor.cc:1123
-#: rc_option_editor.cc:1132 rc_option_editor.cc:1145 rc_option_editor.cc:1158
-#: rc_option_editor.cc:1167 rc_option_editor.cc:1177 rc_option_editor.cc:1179
-#: rc_option_editor.cc:1189 rc_option_editor.cc:1205 rc_option_editor.cc:1218
-#: rc_option_editor.cc:1236 rc_option_editor.cc:1238 rc_option_editor.cc:1252
-#: rc_option_editor.cc:1255 rc_option_editor.cc:1257 rc_option_editor.cc:1274
-#: rc_option_editor.cc:1285
+#: ardour_ui_ed.cc:218 rc_option_editor.cc:1352 rc_option_editor.cc:1363
+#: rc_option_editor.cc:1374 rc_option_editor.cc:1383 rc_option_editor.cc:1396
+#: rc_option_editor.cc:1409 rc_option_editor.cc:1418 rc_option_editor.cc:1428
+#: rc_option_editor.cc:1430 rc_option_editor.cc:1440 rc_option_editor.cc:1456
+#: rc_option_editor.cc:1469 rc_option_editor.cc:1487 rc_option_editor.cc:1489
+#: rc_option_editor.cc:1503 rc_option_editor.cc:1506 rc_option_editor.cc:1508
+#: rc_option_editor.cc:1525 rc_option_editor.cc:1536
msgid "Transport"
msgstr ""
-#: ardour_ui_ed.cc:222
+#: ardour_ui_ed.cc:224
msgid "Stop"
msgstr "Parar"
-#: ardour_ui_ed.cc:225
+#: ardour_ui_ed.cc:227
msgid "Roll"
msgstr ""
-#: ardour_ui_ed.cc:229
+#: ardour_ui_ed.cc:231 ardour_ui_ed.cc:234
msgid "Start/Stop"
msgstr ""
-#: ardour_ui_ed.cc:232
+#: ardour_ui_ed.cc:237
msgid "Start/Continue/Stop"
msgstr ""
-#: ardour_ui_ed.cc:235
+#: ardour_ui_ed.cc:240
msgid "Stop and Forget Capture"
msgstr ""
-#: ardour_ui_ed.cc:245
+#: ardour_ui_ed.cc:250
msgid "Transition To Roll"
msgstr ""
-#: ardour_ui_ed.cc:249
+#: ardour_ui_ed.cc:254
msgid "Transition To Reverse"
msgstr ""
-#: ardour_ui_ed.cc:253
+#: ardour_ui_ed.cc:258
msgid "Play Loop Range"
msgstr ""
-#: ardour_ui_ed.cc:256
+#: ardour_ui_ed.cc:261
msgid "Play Selected Range"
msgstr ""
-#: ardour_ui_ed.cc:259
+#: ardour_ui_ed.cc:264
msgid "Play Selection w/Preroll"
msgstr ""
-#: ardour_ui_ed.cc:263
+#: ardour_ui_ed.cc:268
msgid "Enable Record"
msgstr ""
-#: ardour_ui_ed.cc:266
+#: ardour_ui_ed.cc:271 ardour_ui_ed.cc:275
msgid "Start Recording"
msgstr ""
-#: ardour_ui_ed.cc:270
+#: ardour_ui_ed.cc:279
msgid "Rewind"
msgstr ""
-#: ardour_ui_ed.cc:273
+#: ardour_ui_ed.cc:282
msgid "Rewind (Slow)"
msgstr ""
-#: ardour_ui_ed.cc:276
+#: ardour_ui_ed.cc:285
msgid "Rewind (Fast)"
msgstr ""
-#: ardour_ui_ed.cc:279
+#: ardour_ui_ed.cc:288
msgid "Forward"
msgstr ""
-#: ardour_ui_ed.cc:282
+#: ardour_ui_ed.cc:291
msgid "Forward (Slow)"
msgstr ""
-#: ardour_ui_ed.cc:285
+#: ardour_ui_ed.cc:294
msgid "Forward (Fast)"
msgstr ""
-#: ardour_ui_ed.cc:288
+#: ardour_ui_ed.cc:297
msgid "Goto Zero"
msgstr ""
-#: ardour_ui_ed.cc:291
+#: ardour_ui_ed.cc:300 ardour_ui_ed.cc:303
msgid "Goto Start"
msgstr ""
-#: ardour_ui_ed.cc:294
+#: ardour_ui_ed.cc:306
msgid "Goto End"
msgstr ""
-#: ardour_ui_ed.cc:297
+#: ardour_ui_ed.cc:309
msgid "Goto Wall Clock"
msgstr ""
-#: ardour_ui_ed.cc:301
+#: ardour_ui_ed.cc:314
+msgid "Numpad Decimal"
+msgstr ""
+
+#: ardour_ui_ed.cc:317
+msgid "Numpad 0"
+msgstr ""
+
+#: ardour_ui_ed.cc:320
+msgid "Numpad 1"
+msgstr ""
+
+#: ardour_ui_ed.cc:323
+msgid "Numpad 2"
+msgstr ""
+
+#: ardour_ui_ed.cc:326
+msgid "Numpad 3"
+msgstr ""
+
+#: ardour_ui_ed.cc:329
+msgid "Numpad 4"
+msgstr ""
+
+#: ardour_ui_ed.cc:332
+msgid "Numpad 5"
+msgstr ""
+
+#: ardour_ui_ed.cc:335
+msgid "Numpad 6"
+msgstr ""
+
+#: ardour_ui_ed.cc:338
+msgid "Numpad 7"
+msgstr ""
+
+#: ardour_ui_ed.cc:341
+msgid "Numpad 8"
+msgstr ""
+
+#: ardour_ui_ed.cc:344
+msgid "Numpad 9"
+msgstr ""
+
+#: ardour_ui_ed.cc:348
msgid "Focus On Clock"
msgstr ""
-#: ardour_ui_ed.cc:305 ardour_ui_ed.cc:314 audio_clock.cc:2046 editor.cc:237
-#: editor_actions.cc:544 editor_actions.cc:553 export_timespan_selector.cc:88
+#: ardour_ui_ed.cc:352 ardour_ui_ed.cc:361 audio_clock.cc:2072 editor.cc:254
+#: editor_actions.cc:579 editor_actions.cc:588 export_timespan_selector.cc:88
#: session_option_editor.cc:41 session_option_editor.cc:61
#: session_option_editor.cc:80 session_option_editor.cc:96
#: session_option_editor.cc:109 session_option_editor.cc:122
@@ -1722,125 +1806,125 @@ msgstr ""
msgid "Timecode"
msgstr ""
-#: ardour_ui_ed.cc:307 ardour_ui_ed.cc:316 editor_actions.cc:542
+#: ardour_ui_ed.cc:354 ardour_ui_ed.cc:363 editor_actions.cc:577
msgid "Bars & Beats"
msgstr ""
-#: ardour_ui_ed.cc:309 ardour_ui_ed.cc:318
+#: ardour_ui_ed.cc:356 ardour_ui_ed.cc:365
msgid "Minutes & Seconds"
msgstr ""
-#: ardour_ui_ed.cc:311 ardour_ui_ed.cc:320 audio_clock.cc:2050 editor.cc:238
-#: editor_actions.cc:543
+#: ardour_ui_ed.cc:358 ardour_ui_ed.cc:367 audio_clock.cc:2076 editor.cc:255
+#: editor_actions.cc:578
msgid "Samples"
msgstr ""
-#: ardour_ui_ed.cc:323
+#: ardour_ui_ed.cc:370
msgid "Punch In"
msgstr ""
-#: ardour_ui_ed.cc:324 mixer_strip.cc:1905 route_ui.cc:137
-#: time_info_box.cc:113
+#: ardour_ui_ed.cc:371 mixer_strip.cc:1774 mixer_strip.cc:1798
+#: mixer_strip.cc:1962 route_ui.cc:158 time_info_box.cc:116
msgid "In"
msgstr "Entrada"
-#: ardour_ui_ed.cc:327
+#: ardour_ui_ed.cc:374
msgid "Punch Out"
msgstr ""
-#: ardour_ui_ed.cc:328 time_info_box.cc:114
+#: ardour_ui_ed.cc:375 mixer_strip.cc:1786 time_info_box.cc:117
msgid "Out"
msgstr "Saídas"
-#: ardour_ui_ed.cc:331
+#: ardour_ui_ed.cc:378
msgid "Punch In/Out"
msgstr ""
-#: ardour_ui_ed.cc:332
+#: ardour_ui_ed.cc:379
msgid "In/Out"
msgstr ""
-#: ardour_ui_ed.cc:335 rc_option_editor.cc:1069
+#: ardour_ui_ed.cc:382 rc_option_editor.cc:1309
msgid "Click"
msgstr "Metrônomo"
-#: ardour_ui_ed.cc:338
+#: ardour_ui_ed.cc:385
msgid "Auto Input"
msgstr ""
-#: ardour_ui_ed.cc:341
+#: ardour_ui_ed.cc:388
msgid "Auto Play"
msgstr ""
-#: ardour_ui_ed.cc:352
+#: ardour_ui_ed.cc:399
msgid "Sync Startup to Video"
msgstr ""
-#: ardour_ui_ed.cc:354
+#: ardour_ui_ed.cc:401
msgid "Time Master"
msgstr ""
-#: ardour_ui_ed.cc:361
+#: ardour_ui_ed.cc:408
msgid "Toggle Record Enable Track %1"
msgstr ""
-#: ardour_ui_ed.cc:368
+#: ardour_ui_ed.cc:415
msgid "Percentage"
msgstr "Percentual"
-#: ardour_ui_ed.cc:369 shuttle_control.cc:169
+#: ardour_ui_ed.cc:416 shuttle_control.cc:169
msgid "Semitones"
msgstr "Semitons"
-#: ardour_ui_ed.cc:373
+#: ardour_ui_ed.cc:420
msgid "Send MTC"
msgstr "Enviar MTC"
-#: ardour_ui_ed.cc:375
+#: ardour_ui_ed.cc:422
msgid "Send MMC"
msgstr "Enviar MMC"
-#: ardour_ui_ed.cc:377
+#: ardour_ui_ed.cc:424
msgid "Use MMC"
msgstr ""
-#: ardour_ui_ed.cc:379 rc_option_editor.cc:1698
+#: ardour_ui_ed.cc:426 rc_option_editor.cc:1978
msgid "Send MIDI Clock"
msgstr ""
-#: ardour_ui_ed.cc:381
+#: ardour_ui_ed.cc:428
msgid "Send MIDI Feedback"
msgstr ""
-#: ardour_ui_ed.cc:387
+#: ardour_ui_ed.cc:434
msgid "Panic"
msgstr ""
-#: ardour_ui_ed.cc:472
+#: ardour_ui_ed.cc:519
msgid "Wall Clock"
msgstr ""
-#: ardour_ui_ed.cc:473
+#: ardour_ui_ed.cc:520
msgid "Disk Space"
msgstr ""
-#: ardour_ui_ed.cc:474
+#: ardour_ui_ed.cc:521
msgid "DSP"
msgstr ""
-#: ardour_ui_ed.cc:475
+#: ardour_ui_ed.cc:522
msgid "Buffers"
msgstr ""
-#: ardour_ui_ed.cc:477
+#: ardour_ui_ed.cc:524
msgid "Timecode Format"
msgstr ""
-#: ardour_ui_ed.cc:478
+#: ardour_ui_ed.cc:525
msgid "File Format"
msgstr ""
-#: ardour_ui_options.cc:61
+#: ardour_ui_options.cc:63
msgid ""
"It is not possible to use JACK as the the sync source\n"
"when the pull up/down setting is non-zero."
@@ -1850,331 +1934,249 @@ msgstr ""
msgid "Internal"
msgstr ""
-#: ardour_ui_options.cc:468
+#: ardour_ui_options.cc:496
msgid "Enable/Disable external positional sync"
msgstr ""
-#: ardour_ui_options.cc:470
+#: ardour_ui_options.cc:498
msgid "Sync to JACK is not possible: video pull up/down is set"
msgstr ""
-#: audio_clock.cc:1012 audio_clock.cc:1031
+#: audio_clock.cc:1028 audio_clock.cc:1047
msgid "--pending--"
msgstr ""
-#: audio_clock.cc:1083
+#: audio_clock.cc:1099
msgid "SR"
msgstr ""
-#: audio_clock.cc:1089 audio_clock.cc:1093
+#: audio_clock.cc:1105 audio_clock.cc:1109
msgid "Pull"
msgstr ""
-#: audio_clock.cc:1091
+#: audio_clock.cc:1107
#, c-format
msgid "%+.4f%%"
msgstr ""
-#: audio_clock.cc:1237 editor.cc:239 editor_actions.cc:135
-#: editor_actions.cc:536
+#: audio_clock.cc:1263 editor.cc:256 editor_actions.cc:139
+#: editor_actions.cc:571
msgid "Tempo"
msgstr "Tempo"
-#: audio_clock.cc:1241 editor.cc:240 editor_actions.cc:537
+#: audio_clock.cc:1267 editor.cc:257 editor_actions.cc:572
msgid "Meter"
msgstr "VU (medidor volumétrico)"
-#: audio_clock.cc:1819 audio_streamview.cc:116 editor_actions.cc:1039
-#: midi_region_view.cc:2991 session_metadata_dialog.cc:331
+#: audio_clock.cc:1845 audio_streamview.cc:115 editor_actions.cc:1085
+#: midi_region_view.cc:2989 session_metadata_dialog.cc:331
#: session_metadata_dialog.cc:379 session_metadata_dialog.cc:435
-#: session_metadata_dialog.cc:716
+#: session_metadata_dialog.cc:716 streamview.cc:433
msgid "programming error: %1"
msgstr ""
-#: audio_clock.cc:1952 audio_clock.cc:1980
+#: audio_clock.cc:1978 audio_clock.cc:2006
msgid "programming error: %1 %2"
msgstr ""
-#: audio_clock.cc:2048 editor.cc:236 export_timespan_selector.cc:98
+#: audio_clock.cc:2074 editor.cc:253 export_timespan_selector.cc:98
msgid "Bars:Beats"
msgstr "Compassos:Batimentos"
-#: audio_clock.cc:2049 export_timespan_selector.cc:93
+#: audio_clock.cc:2075 export_timespan_selector.cc:93
msgid "Minutes:Seconds"
msgstr "Minutos:Segundos"
-#: audio_clock.cc:2054
+#: audio_clock.cc:2080
msgid "Set From Playhead"
msgstr ""
-#: audio_clock.cc:2055
+#: audio_clock.cc:2081
msgid "Locate to This Time"
msgstr ""
-#: audio_region_editor.cc:63 control_point_dialog.cc:49 rhythm_ferret.cc:125
-#: rhythm_ferret.cc:130 rhythm_ferret.cc:135
+#: audio_region_editor.cc:64 control_point_dialog.cc:49 rhythm_ferret.cc:124
+#: rhythm_ferret.cc:129 rhythm_ferret.cc:134
msgid "dB"
msgstr ""
-#: audio_region_editor.cc:66
+#: audio_region_editor.cc:67
msgid "Region gain:"
msgstr ""
-#: audio_region_editor.cc:76 export_format_dialog.cc:43
+#: audio_region_editor.cc:77 export_format_dialog.cc:43
msgid "dBFS"
msgstr ""
-#: audio_region_editor.cc:79
+#: audio_region_editor.cc:80
msgid "Peak amplitude:"
msgstr ""
-#: audio_region_editor.cc:90
+#: audio_region_editor.cc:91
msgid "Calculating..."
msgstr ""
-#: audio_region_view.cc:1001
+#: audio_region_view.cc:1243
msgid "add gain control point"
msgstr ""
-#: audio_time_axis.cc:389
+#: audio_time_axis.cc:430 midi_time_axis.cc:619
msgid "Fader"
msgstr ""
-#: audio_time_axis.cc:396
+#: audio_time_axis.cc:437 editor_actions.cc:1800 mixer_strip.cc:1961
+#: monitor_section.cc:273 route_time_axis.cc:253
+msgid "Mute"
+msgstr "Mutar"
+
+#: audio_time_axis.cc:445 midi_time_axis.cc:627
msgid "Pan"
msgstr ""
-#: automation_line.cc:252 automation_line.cc:435
+#: automation_line.cc:272 automation_line.cc:453
msgid "automation event move"
msgstr "mover evento de automação"
-#: automation_line.cc:462 automation_line.cc:483
+#: automation_line.cc:479 automation_line.cc:499
msgid "automation range move"
msgstr ""
-#: automation_line.cc:823 region_gain_line.cc:73
+#: automation_line.cc:854 region_gain_line.cc:72
msgid "remove control point"
msgstr "Remover ponto de controlo"
-#: automation_line.cc:941
+#: automation_line.cc:971
msgid "Ignoring illegal points on AutomationLine \"%1\""
msgstr ""
-#: automation_region_view.cc:160 automation_time_axis.cc:583
+#: automation_region_view.cc:162 automation_time_axis.cc:627
msgid "add automation event"
msgstr ""
-#: automation_time_axis.cc:146
+#: automation_time_axis.cc:141
msgid "automation state"
msgstr "estado do automação"
-#: automation_time_axis.cc:147
+#: automation_time_axis.cc:142
msgid "hide track"
msgstr "ocultar esta trilha"
-#: automation_time_axis.cc:255 automation_time_axis.cc:307
-#: automation_time_axis.cc:496 gain_meter.cc:194 generic_pluginui.cc:454
-#: generic_pluginui.cc:775 panner_ui.cc:149
+#: automation_time_axis.cc:297 automation_time_axis.cc:349
+#: automation_time_axis.cc:540 gain_meter.cc:186 generic_pluginui.cc:452
+#: generic_pluginui.cc:770 panner_ui.cc:150
msgid "Automation|Manual"
msgstr ""
-#: automation_time_axis.cc:257 automation_time_axis.cc:318
-#: automation_time_axis.cc:501 editor.cc:1937 editor.cc:2014
-#: editor_actions.cc:118 editor_actions.cc:1865 gain_meter.cc:197
-#: generic_pluginui.cc:457 generic_pluginui.cc:777 midi_time_axis.cc:1488
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1494 panner_ui.cc:152
+#: automation_time_axis.cc:299 automation_time_axis.cc:360
+#: automation_time_axis.cc:545 editor.cc:1856 editor.cc:1933
+#: editor_actions.cc:122 editor_actions.cc:1916 gain_meter.cc:189
+#: generic_pluginui.cc:455 generic_pluginui.cc:772 midi_time_axis.cc:1687
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1693 panner_ui.cc:153
msgid "Play"
msgstr "Reproduzir"
-#: automation_time_axis.cc:259 automation_time_axis.cc:329
-#: automation_time_axis.cc:506 gain_meter.cc:200 generic_pluginui.cc:460
-#: generic_pluginui.cc:779 panner_ui.cc:155
+#: automation_time_axis.cc:301 automation_time_axis.cc:371
+#: automation_time_axis.cc:550 gain_meter.cc:192 generic_pluginui.cc:458
+#: generic_pluginui.cc:774 panner_ui.cc:156
msgid "Write"
msgstr ""
-#: automation_time_axis.cc:261 automation_time_axis.cc:340
-#: automation_time_axis.cc:511 gain_meter.cc:203 generic_pluginui.cc:463
-#: generic_pluginui.cc:781 panner_ui.cc:158
+#: automation_time_axis.cc:303 automation_time_axis.cc:382
+#: automation_time_axis.cc:555 gain_meter.cc:195 generic_pluginui.cc:461
+#: generic_pluginui.cc:776 panner_ui.cc:159
msgid "Touch"
msgstr ""
-#: automation_time_axis.cc:351 generic_pluginui.cc:466 meter_patterns.cc:108
+#: automation_time_axis.cc:393 generic_pluginui.cc:464 meter_patterns.cc:112
msgid "???"
msgstr ""
-#: automation_time_axis.cc:392
+#: automation_time_axis.cc:434
msgid "clear automation"
msgstr "limpar automação"
-#: automation_time_axis.cc:485 editor_actions.cc:613 editor_markers.cc:857
-#: location_ui.cc:55 plugin_selector.cc:85 route_time_axis.cc:708
+#: automation_time_axis.cc:529 editor_actions.cc:655 editor_markers.cc:871
+#: location_ui.cc:56 plugin_selector.cc:86 route_time_axis.cc:827
msgid "Hide"
msgstr "Ocultar"
-#: automation_time_axis.cc:487
+#: automation_time_axis.cc:531
msgid "Clear"
msgstr "Limpar"
-#: automation_time_axis.cc:516
+#: automation_time_axis.cc:560
msgid "State"
msgstr "Estado"
-#: automation_time_axis.cc:531
+#: automation_time_axis.cc:575
msgid "Discrete"
msgstr ""
-#: automation_time_axis.cc:537 editor.cc:1458 editor.cc:1465 editor.cc:1521
-#: editor.cc:1527 export_format_dialog.cc:476
+#: automation_time_axis.cc:581 export_format_dialog.cc:485
msgid "Linear"
msgstr "Linear"
-#: automation_time_axis.cc:543 rhythm_ferret.cc:110 route_time_axis.cc:647
+#: automation_time_axis.cc:587 rhythm_ferret.cc:109 route_time_axis.cc:765
#: shuttle_control.cc:188
msgid "Mode"
msgstr "Modo"
-#: bundle_manager.cc:181
+#: bundle_manager.cc:182
msgid "Disassociate"
msgstr ""
-#: bundle_manager.cc:185
+#: bundle_manager.cc:186
msgid "Edit Bundle"
msgstr ""
-#: bundle_manager.cc:200
+#: bundle_manager.cc:201
msgid "Direction:"
msgstr ""
-#: bundle_manager.cc:205 bundle_manager.cc:209 mixer_strip.cc:158
-#: mixer_strip.cc:2127
+#: bundle_manager.cc:206 bundle_manager.cc:210 engine_dialog.cc:641
+#: mixer_strip.cc:164 mixer_strip.cc:371 mixer_strip.cc:2195
+#: rc_option_editor.cc:2198
msgid "Input"
msgstr ""
-#: bundle_manager.cc:206 bundle_manager.cc:211 bundle_manager.cc:245
-#: mixer_strip.cc:163 mixer_strip.cc:2130
+#: bundle_manager.cc:207 bundle_manager.cc:212 bundle_manager.cc:246
+#: engine_dialog.cc:643 mixer_strip.cc:168 mixer_strip.cc:375
+#: mixer_strip.cc:2198 rc_option_editor.cc:2202
msgid "Output"
msgstr ""
-#: bundle_manager.cc:264 editor.cc:1978 editor_actions.cc:90
-#: editor_actions.cc:100
+#: bundle_manager.cc:265 editor.cc:1897 editor_actions.cc:94
+#: editor_actions.cc:104 rc_option_editor.cc:1067 rc_option_editor.cc:1074
msgid "Edit"
msgstr "Editar"
-#: bundle_manager.cc:265 editor.cc:5497 editor_actions.cc:310
-#: editor_actions.cc:368 plugin_ui.cc:416 processor_box.cc:2268
-#: route_time_axis.cc:713
+#: bundle_manager.cc:266 editor.cc:5593 editor_actions.cc:335
+#: editor_actions.cc:336 editor_actions.cc:402 plugin_ui.cc:417
+#: processor_box.cc:2502 route_time_axis.cc:832
msgid "Delete"
msgstr "Apagar"
-#: bundle_manager.cc:271 bundle_manager.cc:439 editor_route_groups.cc:96
-#: editor_routes.cc:202 midi_list_editor.cc:106 session_metadata_dialog.cc:525
+#: bundle_manager.cc:272 bundle_manager.cc:440 editor_route_groups.cc:97
+#: editor_routes.cc:204 midi_list_editor.cc:106 session_metadata_dialog.cc:525
msgid "Name"
msgstr ""
-#: bundle_manager.cc:282
+#: bundle_manager.cc:283
msgid "New"
msgstr "Novo"
-#: bundle_manager.cc:332
+#: bundle_manager.cc:333
msgid "Bundle"
msgstr ""
-#: bundle_manager.cc:417
+#: bundle_manager.cc:418
msgid "Add Channel"
msgstr ""
-#: bundle_manager.cc:424
+#: bundle_manager.cc:425
msgid "Rename Channel"
msgstr ""
-#: canvas-simpleline.c:111 canvas-simplerect.c:106
-msgid "x1"
-msgstr ""
-
-#: canvas-simpleline.c:112 canvas-simplerect.c:107
-msgid "x coordinate of upper left corner of rect"
-msgstr ""
-
-#: canvas-simpleline.c:121 canvas-simplerect.c:116
-msgid "y1"
-msgstr ""
-
-#: canvas-simpleline.c:122 canvas-simplerect.c:117
-msgid "y coordinate of upper left corner of rect "
-msgstr ""
-
-#: canvas-simpleline.c:132 canvas-simplerect.c:127
-msgid "x2"
-msgstr ""
-
-#: canvas-simpleline.c:133 canvas-simplerect.c:128
-msgid "x coordinate of lower right corner of rect"
-msgstr ""
-
-#: canvas-simpleline.c:142 canvas-simplerect.c:137
-msgid "y2"
-msgstr ""
-
-#: canvas-simpleline.c:143 canvas-simplerect.c:138
-msgid "y coordinate of lower right corner of rect "
-msgstr ""
-
-#: canvas-simpleline.c:151
-msgid "color rgba"
-msgstr ""
-
-#: canvas-simpleline.c:152
-msgid "color of line"
-msgstr ""
-
-#: canvas-simplerect.c:148
-msgid "outline pixels"
-msgstr ""
-
-#: canvas-simplerect.c:149
-msgid "width in pixels of outline"
-msgstr ""
-
-#: canvas-simplerect.c:159
-msgid "outline what"
-msgstr ""
-
-#: canvas-simplerect.c:160
-msgid "which boundaries to outline (mask)"
-msgstr ""
-
-#: canvas-simplerect.c:171
-msgid "fill"
-msgstr ""
-
-#: canvas-simplerect.c:172
-msgid "fill rectangle"
-msgstr ""
-
-#: canvas-simplerect.c:179
-msgid "draw"
-msgstr ""
-
-#: canvas-simplerect.c:180
-msgid "draw rectangle"
-msgstr ""
-
-#: canvas-simplerect.c:188
-msgid "outline color rgba"
-msgstr ""
-
-#: canvas-simplerect.c:189
-msgid "color of outline"
-msgstr ""
-
-#: canvas-simplerect.c:199
-msgid "fill color rgba"
-msgstr ""
-
-#: canvas-simplerect.c:200
-msgid "color of fill"
-msgstr ""
-
#: configinfo.cc:28
msgid "Build Configuration"
msgstr ""
@@ -2212,7 +2214,7 @@ msgid "Set selected notes to this length"
msgstr ""
#: edit_note_dialog.cc:58 midi_list_editor.cc:104 patch_change_dialog.cc:91
-#: step_entry.cc:393
+#: step_entry.cc:394
msgid "Channel"
msgstr ""
@@ -2220,7 +2222,7 @@ msgstr ""
msgid "Pitch"
msgstr ""
-#: edit_note_dialog.cc:78 step_entry.cc:407
+#: edit_note_dialog.cc:78 step_entry.cc:408
msgid "Velocity"
msgstr ""
@@ -2228,9 +2230,9 @@ msgstr ""
msgid "Time"
msgstr ""
-#: edit_note_dialog.cc:98 editor_regions.cc:114
-#: export_timespan_selector.cc:359 export_timespan_selector.cc:421
-#: location_ui.cc:317 midi_list_editor.cc:114 time_info_box.cc:105
+#: edit_note_dialog.cc:98 editor_regions.cc:115
+#: export_timespan_selector.cc:378 export_timespan_selector.cc:440
+#: location_ui.cc:319 midi_list_editor.cc:114 time_info_box.cc:108
msgid "Length"
msgstr ""
@@ -2238,2293 +2240,2392 @@ msgstr ""
msgid "edit note"
msgstr ""
-#: editor.cc:137 editor.cc:3433
+#: editor.cc:144
msgid "CD Frames"
msgstr "Quadros de CD"
-#: editor.cc:138 editor.cc:3435
-msgid "Timecode Frames"
+#: editor.cc:145
+msgid "TC Frames"
msgstr ""
-#: editor.cc:139 editor.cc:3437
-msgid "Timecode Seconds"
+#: editor.cc:146
+msgid "TC Seconds"
msgstr ""
-#: editor.cc:140 editor.cc:3439
-msgid "Timecode Minutes"
+#: editor.cc:147
+msgid "TC Minutes"
msgstr ""
-#: editor.cc:141 editor.cc:3441
+#: editor.cc:148
msgid "Seconds"
msgstr "Segundos"
-#: editor.cc:142 editor.cc:3443
+#: editor.cc:149
msgid "Minutes"
msgstr "Minutos"
-#: editor.cc:143 editor.cc:3417 quantize_dialog.cc:37 quantize_dialog.cc:141
+#: editor.cc:150 quantize_dialog.cc:37 quantize_dialog.cc:141
msgid "Beats/128"
msgstr ""
-#: editor.cc:144 editor.cc:3415 quantize_dialog.cc:38 quantize_dialog.cc:143
+#: editor.cc:151 quantize_dialog.cc:38 quantize_dialog.cc:143
msgid "Beats/64"
msgstr ""
# ## msgstr "Saídas Principais"
-#: editor.cc:145 editor.cc:3413 quantize_dialog.cc:39 quantize_dialog.cc:145
+#: editor.cc:152 quantize_dialog.cc:39 quantize_dialog.cc:145
msgid "Beats/32"
msgstr "Batimentos/32"
-#: editor.cc:146 editor.cc:3411
+#: editor.cc:153
msgid "Beats/28"
msgstr ""
-#: editor.cc:147 editor.cc:3409
+#: editor.cc:154
msgid "Beats/24"
msgstr ""
-#: editor.cc:148 editor.cc:3407
+#: editor.cc:155
msgid "Beats/20"
msgstr ""
-#: editor.cc:149 editor.cc:3405 quantize_dialog.cc:40 quantize_dialog.cc:147
+#: editor.cc:156 quantize_dialog.cc:40 quantize_dialog.cc:147
msgid "Beats/16"
msgstr "Batimentos/16"
-#: editor.cc:150 editor.cc:3403
+#: editor.cc:157
msgid "Beats/14"
msgstr ""
-#: editor.cc:151 editor.cc:3401
+#: editor.cc:158
msgid "Beats/12"
msgstr ""
-#: editor.cc:152 editor.cc:3399
+#: editor.cc:159
msgid "Beats/10"
msgstr ""
-#: editor.cc:153 editor.cc:3397 quantize_dialog.cc:41 quantize_dialog.cc:149
+#: editor.cc:160 quantize_dialog.cc:41 quantize_dialog.cc:149
msgid "Beats/8"
msgstr "Batimentos/8"
-#: editor.cc:154 editor.cc:3395
+#: editor.cc:161
msgid "Beats/7"
msgstr ""
-#: editor.cc:155 editor.cc:3393
+#: editor.cc:162
msgid "Beats/6"
msgstr ""
-#: editor.cc:156 editor.cc:3391
+#: editor.cc:163
msgid "Beats/5"
msgstr ""
-#: editor.cc:157 editor.cc:3389 quantize_dialog.cc:42 quantize_dialog.cc:151
+#: editor.cc:164 quantize_dialog.cc:42 quantize_dialog.cc:151
msgid "Beats/4"
msgstr "Batimentos/4"
-#: editor.cc:158 editor.cc:3387 quantize_dialog.cc:43 quantize_dialog.cc:153
+#: editor.cc:165 quantize_dialog.cc:43 quantize_dialog.cc:153
msgid "Beats/3"
msgstr "Batimentos/3"
-#: editor.cc:159 editor.cc:3385 quantize_dialog.cc:44 quantize_dialog.cc:155
+#: editor.cc:166 quantize_dialog.cc:44 quantize_dialog.cc:155
msgid "Beats/2"
msgstr ""
-#: editor.cc:160 editor.cc:3419 quantize_dialog.cc:45 quantize_dialog.cc:157
+#: editor.cc:167 quantize_dialog.cc:45 quantize_dialog.cc:157
msgid "Beats"
msgstr "Batimentos"
-#: editor.cc:161 editor.cc:3421
+#: editor.cc:168
msgid "Bars"
msgstr "Compassos"
-#: editor.cc:162 editor.cc:3423
+#: editor.cc:169
msgid "Marks"
msgstr "Marcas"
-#: editor.cc:163 editor.cc:3425
+#: editor.cc:170
msgid "Region starts"
msgstr "Começo de regiões"
-#: editor.cc:164 editor.cc:3427
+#: editor.cc:171
msgid "Region ends"
msgstr "Fim de regiões"
-#: editor.cc:165 editor.cc:3431
+#: editor.cc:172
msgid "Region syncs"
msgstr "Sincronizações de região"
-#: editor.cc:166 editor.cc:3429
+#: editor.cc:173
msgid "Region bounds"
msgstr "Divisas de região"
-#: editor.cc:171 editor.cc:3459 editor_actions.cc:485
+#: editor.cc:178 editor_actions.cc:520
msgid "No Grid"
msgstr ""
-#: editor.cc:172 editor.cc:3461 editor_actions.cc:486
+#: editor.cc:179 editor_actions.cc:521
msgid "Grid"
msgstr ""
-#: editor.cc:173 editor.cc:3463 editor_actions.cc:487
+#: editor.cc:180 editor_actions.cc:522
msgid "Magnetic"
msgstr "Magnético"
-#: editor.cc:178 editor.cc:188 editor.cc:3502 editor.cc:3527
-#: editor_actions.cc:117 editor_actions.cc:468
+#: editor.cc:185 editor.cc:203 editor_actions.cc:121 editor_actions.cc:503
msgid "Playhead"
msgstr "Início"
-#: editor.cc:179 editor.cc:3500 editor_actions.cc:470
+#: editor.cc:186 editor_actions.cc:505
msgid "Marker"
msgstr "Marca"
-#: editor.cc:180 editor.cc:189 editor.cc:3529 editor_actions.cc:469
+#: editor.cc:187 editor.cc:204 editor_actions.cc:504
msgid "Mouse"
msgstr ""
-#: editor.cc:185 editor.cc:3521 mono_panner_editor.cc:42
+#: editor.cc:192 editor_actions.cc:512
+msgid "Slide"
+msgstr "Deslizar"
+
+#: editor.cc:193
+msgid "Splice"
+msgstr "Reunir"
+
+#: editor.cc:194 editor_actions.cc:511
+msgid "Ripple"
+msgstr ""
+
+#: editor.cc:195 editor_actions.cc:157 editor_actions.cc:513
+#: editor_actions.cc:1785 editor_markers.cc:874 editor_rulers.cc:260
+#: location_ui.cc:57 mixer_strip.cc:202 mixer_strip.cc:1983
+msgid "Lock"
+msgstr "Trancar"
+
+#: editor.cc:200 mono_panner_editor.cc:42
msgid "Left"
msgstr "Esquerdo"
-#: editor.cc:186 editor.cc:3523 mono_panner_editor.cc:47
+#: editor.cc:201 mono_panner_editor.cc:47
msgid "Right"
msgstr "Direito"
-#: editor.cc:187 editor.cc:3525
+#: editor.cc:202
msgid "Center"
msgstr "Centro"
-#: editor.cc:190 editor.cc:3094 editor.cc:3531
+#: editor.cc:205 editor.cc:3145
msgid "Edit point"
msgstr ""
-#: editor.cc:196
+#: editor.cc:211
msgid "Mushy"
msgstr ""
-#: editor.cc:197
+#: editor.cc:212
msgid "Smooth"
msgstr ""
-#: editor.cc:198
+#: editor.cc:213
msgid "Balanced multitimbral mixture"
msgstr ""
-#: editor.cc:199
+#: editor.cc:214
msgid "Unpitched percussion with stable notes"
msgstr ""
-#: editor.cc:200
+#: editor.cc:215
msgid "Crisp monophonic instrumental"
msgstr ""
-#: editor.cc:201
+#: editor.cc:216
msgid "Unpitched solo percussion"
msgstr ""
-#: editor.cc:202
+#: editor.cc:217
msgid "Resample without preserving pitch"
msgstr ""
-#: editor.cc:235
+#: editor.cc:252
msgid "Mins:Secs"
msgstr "Mins:Segs"
-#: editor.cc:241
+#: editor.cc:258
msgid "Location Markers"
msgstr "Marcas de Localização"
-#: editor.cc:242
+#: editor.cc:259
msgid "Range Markers"
msgstr "Marcas de Intervalos"
-#: editor.cc:243
+#: editor.cc:260
msgid "Loop/Punch Ranges"
msgstr "Intervalos Loop/Insersão"
-#: editor.cc:244 editor_actions.cc:540
+#: editor.cc:261 editor_actions.cc:575
msgid "CD Markers"
msgstr ""
-#: editor.cc:245
+#: editor.cc:262
msgid "Video Timeline"
msgstr ""
-#: editor.cc:260
+#: editor.cc:279
msgid "mode"
msgstr "modo"
-#: editor.cc:541
+#: editor.cc:447 editor_actions.cc:114 editor_actions.cc:574
+msgid "Markers"
+msgstr ""
+
+#: editor.cc:554 rc_option_editor.cc:1830
msgid "Regions"
msgstr ""
-#: editor.cc:542
+#: editor.cc:555
msgid "Tracks & Busses"
msgstr ""
-#: editor.cc:543
+#: editor.cc:556
msgid "Snapshots"
msgstr "Capturas"
-#: editor.cc:544
+#: editor.cc:557
msgid "Track & Bus Groups"
msgstr ""
-#: editor.cc:545
+#: editor.cc:558
msgid "Ranges & Marks"
msgstr ""
-#: editor.cc:690 editor.cc:5349 rc_option_editor.cc:1292
-#: rc_option_editor.cc:1300 rc_option_editor.cc:1308 rc_option_editor.cc:1316
-#: rc_option_editor.cc:1333 rc_option_editor.cc:1335 rc_option_editor.cc:1343
-#: rc_option_editor.cc:1351 rc_option_editor.cc:1371 rc_option_editor.cc:1383
-#: rc_option_editor.cc:1385 rc_option_editor.cc:1393 rc_option_editor.cc:1401
-#: rc_option_editor.cc:1409 rc_option_editor.cc:1417 rc_option_editor.cc:1432
-#: rc_option_editor.cc:1436
+#: editor.cc:706 editor.cc:5445 rc_option_editor.cc:1543
+#: rc_option_editor.cc:1551 rc_option_editor.cc:1559 rc_option_editor.cc:1567
+#: rc_option_editor.cc:1591 rc_option_editor.cc:1603 rc_option_editor.cc:1605
+#: rc_option_editor.cc:1613 rc_option_editor.cc:1621 rc_option_editor.cc:1641
+#: rc_option_editor.cc:1653 rc_option_editor.cc:1655 rc_option_editor.cc:1657
+#: rc_option_editor.cc:1665 rc_option_editor.cc:1673 rc_option_editor.cc:1681
+#: rc_option_editor.cc:1696 rc_option_editor.cc:1700
msgid "Editor"
msgstr ""
-#: editor.cc:1215 editor.cc:1225 editor.cc:4444 editor_actions.cc:130
-#: editor_actions.cc:1813
+#: editor.cc:1288 editor.cc:4503 editor_actions.cc:134 editor_actions.cc:1861
msgid "Loop"
msgstr "Ciclo"
-#: editor.cc:1231 editor.cc:1241 editor.cc:4471 editor_actions.cc:131
-#: time_info_box.cc:67
+#: editor.cc:1294 editor.cc:4530 editor_actions.cc:135 time_info_box.cc:68
msgid "Punch"
msgstr "Inserção"
-#: editor.cc:1353
+#: editor.cc:1406 rc_option_editor.cc:1585
msgid "Linear (for highly correlated material)"
msgstr ""
-#: editor.cc:1363 editor.cc:1500 editor.cc:1562
+#: editor.cc:1416 rc_option_editor.cc:1586
msgid "Constant power"
msgstr ""
-#: editor.cc:1372 editor.cc:1493 editor.cc:1555
+#: editor.cc:1425 rc_option_editor.cc:1587
msgid "Symmetric"
msgstr ""
-#: editor.cc:1382 editor.cc:1475 editor.cc:1537
+#: editor.cc:1435 rc_option_editor.cc:1588
msgid "Slow"
msgstr "Devegar"
-#: editor.cc:1391 editor.cc:1484 editor.cc:1546 sfdb_ui.cc:1627
-#: sfdb_ui.cc:1736
+#: editor.cc:1444 rc_option_editor.cc:1589 sfdb_ui.cc:1752 sfdb_ui.cc:1862
msgid "Fast"
msgstr "Rapido"
-#: editor.cc:1438
-msgid "programming error: fade in canvas item has no regionview data pointer!"
-msgstr ""
-
-#: editor.cc:1449 editor.cc:1513
+#: editor.cc:1464 editor.cc:1487
msgid "Deactivate"
msgstr "Desativar"
-#: editor.cc:1451 editor.cc:1515
+#: editor.cc:1466 editor.cc:1489
msgid "Activate"
msgstr "Ativar"
-#: editor.cc:1459 editor.cc:1522
-msgid "Slowest"
-msgstr "Menor"
-
-#: editor.cc:1573 route_time_axis.cc:1877 selection.cc:1009 selection.cc:1064
-msgid "programming error: "
-msgstr ""
-
-#: editor.cc:1674 editor.cc:1682 editor_ops.cc:3522
+#: editor.cc:1590 editor.cc:1598 editor_ops.cc:3635
msgid "Freeze"
msgstr "Congelar"
-#: editor.cc:1678
+#: editor.cc:1594
msgid "Unfreeze"
msgstr "Descongelar"
-#: editor.cc:1817
+#: editor.cc:1733
msgid "Selected Regions"
msgstr ""
-#: editor.cc:1853 editor_markers.cc:895
+#: editor.cc:1769 editor_markers.cc:909
msgid "Play Range"
msgstr ""
-#: editor.cc:1854 editor_markers.cc:898
+#: editor.cc:1770 editor_markers.cc:912
msgid "Loop Range"
msgstr ""
-#: editor.cc:1863 editor_actions.cc:332
+#: editor.cc:1773 editor_actions.cc:266 editor_markers.cc:919
+msgid "Zoom to Range"
+msgstr ""
+
+#: editor.cc:1782 editor_actions.cc:366
msgid "Move Range Start to Previous Region Boundary"
msgstr ""
-#: editor.cc:1870 editor_actions.cc:339
+#: editor.cc:1789 editor_actions.cc:373
msgid "Move Range Start to Next Region Boundary"
msgstr ""
-#: editor.cc:1877 editor_actions.cc:346
+#: editor.cc:1796 editor_actions.cc:380
msgid "Move Range End to Previous Region Boundary"
msgstr ""
-#: editor.cc:1884 editor_actions.cc:353
+#: editor.cc:1803 editor_actions.cc:387
msgid "Move Range End to Next Region Boundary"
msgstr ""
-#: editor.cc:1890
+#: editor.cc:1809
msgid "Convert to Region In-Place"
msgstr ""
-#: editor.cc:1891
+#: editor.cc:1810
msgid "Convert to Region in Region List"
msgstr ""
-#: editor.cc:1894 editor_markers.cc:925
+#: editor.cc:1813 editor_markers.cc:939
msgid "Select All in Range"
msgstr ""
-#: editor.cc:1897
+#: editor.cc:1816
msgid "Set Loop from Range"
msgstr ""
-#: editor.cc:1898
+#: editor.cc:1817
msgid "Set Punch from Range"
msgstr ""
-#: editor.cc:1901
+#: editor.cc:1820
msgid "Add Range Markers"
msgstr ""
-#: editor.cc:1904
+#: editor.cc:1823
msgid "Crop Region to Range"
msgstr ""
-#: editor.cc:1905
+#: editor.cc:1824
msgid "Fill Range with Region"
msgstr ""
-#: editor.cc:1906 editor_actions.cc:289
+#: editor.cc:1825 editor_actions.cc:311
msgid "Duplicate Range"
msgstr ""
-#: editor.cc:1909
+#: editor.cc:1828
msgid "Consolidate Range"
msgstr ""
-#: editor.cc:1910
+#: editor.cc:1829
msgid "Consolidate Range With Processing"
msgstr ""
-#: editor.cc:1911
+#: editor.cc:1830
msgid "Bounce Range to Region List"
msgstr ""
-#: editor.cc:1912
+#: editor.cc:1831
msgid "Bounce Range to Region List With Processing"
msgstr ""
-#: editor.cc:1913 editor_markers.cc:908
+#: editor.cc:1832 editor_markers.cc:922
msgid "Export Range..."
msgstr ""
-#: editor.cc:1915
+#: editor.cc:1834
msgid "Export Video Range..."
msgstr ""
-#: editor.cc:1931 editor.cc:2012 editor_actions.cc:281
+#: editor.cc:1850 editor.cc:1931 editor_actions.cc:303
msgid "Play From Edit Point"
msgstr ""
-#: editor.cc:1932 editor.cc:2013
+#: editor.cc:1851 editor.cc:1932
msgid "Play From Start"
msgstr ""
-#: editor.cc:1933
+#: editor.cc:1852
msgid "Play Region"
msgstr ""
-#: editor.cc:1935
+#: editor.cc:1854
msgid "Loop Region"
msgstr "Região de loop"
-#: editor.cc:1945 editor.cc:2022
+#: editor.cc:1864 editor.cc:1941
msgid "Select All in Track"
msgstr ""
-#: editor.cc:1946 editor.cc:2023 editor_actions.cc:185
-#: export_timespan_selector.cc:53 processor_box.cc:2276
-msgid "Select All"
-msgstr "Selecionar Tudo"
+#: editor.cc:1865 editor.cc:1942 editor_actions.cc:194
+msgid "Select All Objects"
+msgstr ""
-#: editor.cc:1947 editor.cc:2024
+#: editor.cc:1866 editor.cc:1943
msgid "Invert Selection in Track"
msgstr ""
-#: editor.cc:1948 editor.cc:2025 editor_actions.cc:187
+#: editor.cc:1867 editor.cc:1944 editor_actions.cc:197
msgid "Invert Selection"
msgstr ""
-#: editor.cc:1950
+#: editor.cc:1869
msgid "Set Range to Loop Range"
msgstr ""
-#: editor.cc:1951
+#: editor.cc:1870
msgid "Set Range to Punch Range"
msgstr ""
-#: editor.cc:1953 editor.cc:2027 editor_actions.cc:188
+#: editor.cc:1872 editor.cc:1946 editor_actions.cc:199 editor_actions.cc:200
msgid "Select All After Edit Point"
msgstr ""
-#: editor.cc:1954 editor.cc:2028 editor_actions.cc:189
+#: editor.cc:1873 editor.cc:1947 editor_actions.cc:201 editor_actions.cc:202
msgid "Select All Before Edit Point"
msgstr ""
-#: editor.cc:1955 editor.cc:2029
+#: editor.cc:1874 editor.cc:1948
msgid "Select All After Playhead"
msgstr ""
-#: editor.cc:1956 editor.cc:2030
+#: editor.cc:1875 editor.cc:1949
msgid "Select All Before Playhead"
msgstr ""
-#: editor.cc:1957
+#: editor.cc:1876
msgid "Select All Between Playhead and Edit Point"
msgstr ""
-#: editor.cc:1958
+#: editor.cc:1877
msgid "Select All Within Playhead and Edit Point"
msgstr ""
-#: editor.cc:1959
+#: editor.cc:1878
msgid "Select Range Between Playhead and Edit Point"
msgstr ""
-#: editor.cc:1961 editor.cc:2032 editor_actions.cc:127 editor_actions.cc:128
+#: editor.cc:1880 editor.cc:1951 editor_actions.cc:131 editor_actions.cc:132
msgid "Select"
msgstr "Selecionar"
-#: editor.cc:1969 editor.cc:2040 editor_actions.cc:309 processor_box.cc:2261
+#: editor.cc:1888 editor.cc:1959 editor_actions.cc:334 processor_box.cc:2495
msgid "Cut"
msgstr "Cortar"
-#: editor.cc:1970 editor.cc:2041 editor_actions.cc:312 processor_box.cc:2264
+#: editor.cc:1889 editor.cc:1960 editor_actions.cc:338 processor_box.cc:2498
msgid "Copy"
msgstr "Copiar"
-#: editor.cc:1971 editor.cc:2042 editor_actions.cc:313 processor_box.cc:2272
+#: editor.cc:1890 editor.cc:1961 editor_actions.cc:339 processor_box.cc:2506
msgid "Paste"
msgstr "Colar"
-#: editor.cc:1975 editor_actions.cc:87
+#: editor.cc:1894 editor_actions.cc:91
msgid "Align"
msgstr "Alinhamento"
-#: editor.cc:1976
+#: editor.cc:1895
msgid "Align Relative"
msgstr "Alinhamento Relativo"
-#: editor.cc:1983
+#: editor.cc:1902
msgid "Insert Selected Region"
msgstr ""
-#: editor.cc:1984
+#: editor.cc:1903
msgid "Insert Existing Media"
msgstr ""
-#: editor.cc:1993 editor.cc:2049
+#: editor.cc:1912 editor.cc:1968
msgid "Nudge Entire Track Later"
msgstr ""
-#: editor.cc:1994 editor.cc:2050
+#: editor.cc:1913 editor.cc:1969
msgid "Nudge Track After Edit Point Later"
msgstr ""
-#: editor.cc:1995 editor.cc:2051
+#: editor.cc:1914 editor.cc:1970
msgid "Nudge Entire Track Earlier"
msgstr ""
-#: editor.cc:1996 editor.cc:2052
+#: editor.cc:1915 editor.cc:1971
msgid "Nudge Track After Edit Point Earlier"
msgstr ""
-#: editor.cc:1998 editor.cc:2054
+#: editor.cc:1917 editor.cc:1973
msgid "Nudge"
msgstr "Retocar"
-#: editor.cc:3074
+#: editor.cc:2916 editor.cc:3491 editor.cc:3561 midi_channel_selector.cc:159
+#: midi_channel_selector.cc:397 midi_channel_selector.cc:433
+msgid "All"
+msgstr ""
+
+#: editor.cc:3122
msgid "Smart Mode (add Range functions to Object mode)"
msgstr ""
-#: editor.cc:3075
+#: editor.cc:3123
msgid "Object Mode (select/move Objects)"
msgstr ""
-#: editor.cc:3076
+#: editor.cc:3124
+msgid "Cut Mode (split Regions)"
+msgstr ""
+
+#: editor.cc:3125
msgid "Range Mode (select/move Ranges)"
msgstr ""
-#: editor.cc:3077
+#: editor.cc:3126
msgid "Draw/Edit MIDI Notes"
msgstr ""
-#: editor.cc:3078
+#: editor.cc:3127
msgid "Draw Region Gain"
msgstr ""
-#: editor.cc:3079
+#: editor.cc:3128
msgid "Select Zoom Range"
msgstr ""
-#: editor.cc:3080
+#: editor.cc:3129
msgid "Stretch/Shrink Regions and MIDI Notes"
msgstr ""
-#: editor.cc:3081
+#: editor.cc:3130
msgid "Listen to Specific Regions"
msgstr ""
-#: editor.cc:3082
+#: editor.cc:3131
msgid "Note Level Editing"
msgstr ""
-#: editor.cc:3083
+#: editor.cc:3132
msgid ""
"Groups: click to (de)activate\n"
"Context-click for other operations"
msgstr ""
-#: editor.cc:3084
+#: editor.cc:3133
msgid "Nudge Region/Selection Later"
msgstr ""
-#: editor.cc:3085
+#: editor.cc:3134
msgid "Nudge Region/Selection Earlier"
msgstr ""
-#: editor.cc:3086 editor_actions.cc:242
+#: editor.cc:3135 editor_actions.cc:262
msgid "Zoom In"
msgstr ""
-#: editor.cc:3087 editor_actions.cc:241
+#: editor.cc:3136 editor_actions.cc:261
msgid "Zoom Out"
msgstr ""
-#: editor.cc:3088 editor_actions.cc:243
+#: editor.cc:3137
+msgid "Zoom to Time Scale"
+msgstr ""
+
+#: editor.cc:3138 editor.cc:3513 editor_actions.cc:263
msgid "Zoom to Session"
msgstr ""
-#: editor.cc:3089
+#: editor.cc:3139
msgid "Zoom focus"
msgstr ""
-#: editor.cc:3090
+#: editor.cc:3140
msgid "Expand Tracks"
msgstr ""
-#: editor.cc:3091
+#: editor.cc:3141
msgid "Shrink Tracks"
msgstr ""
-#: editor.cc:3092
+#: editor.cc:3142
+msgid "Number of visible tracks"
+msgstr ""
+
+#: editor.cc:3143
msgid "Snap/Grid Units"
msgstr ""
-#: editor.cc:3093
+#: editor.cc:3144
msgid "Snap/Grid Mode"
msgstr ""
-#: editor.cc:3095
+#: editor.cc:3146
msgid "Edit Mode"
msgstr "Modo de edição"
-#: editor.cc:3096
+#: editor.cc:3147
msgid ""
"Nudge Clock\n"
"(controls distance used to nudge regions and selections)"
msgstr ""
-#: editor.cc:3198
-msgid "malformed URL passed to drag-n-drop code"
-msgstr ""
-
-#: editor.cc:3260 editor_actions.cc:291
+#: editor.cc:3285 editor_actions.cc:313
msgid "Command|Undo"
msgstr ""
-#: editor.cc:3262
+#: editor.cc:3287
msgid "Command|Undo (%1)"
msgstr ""
-#: editor.cc:3269 editor_actions.cc:292
+#: editor.cc:3294 editor_actions.cc:315 editor_actions.cc:316
+#: editor_actions.cc:317
msgid "Redo"
msgstr "Refazer"
-#: editor.cc:3271
+#: editor.cc:3296
msgid "Redo (%1)"
msgstr "Refazer (%1)"
-#: editor.cc:3290 editor.cc:3314 editor_actions.cc:106 editor_actions.cc:1794
+#: editor.cc:3315 editor.cc:3339 editor_actions.cc:110 editor_actions.cc:1842
msgid "Duplicate"
msgstr "Duplicar"
-#: editor.cc:3291
+#: editor.cc:3316
msgid "Number of duplications:"
msgstr ""
-#: editor.cc:3868
+#: editor.cc:3490
+msgid "Selected"
+msgstr ""
+
+#: editor.cc:3493
+msgid "Fit 1 track"
+msgstr ""
+
+#: editor.cc:3494
+msgid "Fit 2 tracks"
+msgstr ""
+
+#: editor.cc:3495
+msgid "Fit 4 tracks"
+msgstr ""
+
+#: editor.cc:3496
+msgid "Fit 8 tracks"
+msgstr ""
+
+#: editor.cc:3497
+msgid "Fit 16 tracks"
+msgstr ""
+
+#: editor.cc:3498
+msgid "Fit 24 tracks"
+msgstr ""
+
+#: editor.cc:3499
+msgid "Fit 32 tracks"
+msgstr ""
+
+#: editor.cc:3500
+msgid "Fit 48 tracks"
+msgstr ""
+
+#: editor.cc:3501
+msgid "Fit All tracks"
+msgstr ""
+
+#: editor.cc:3502
+msgid "Fit Selected tracks"
+msgstr ""
+
+#: editor.cc:3504
+msgid "Zoom to 10 ms"
+msgstr ""
+
+#: editor.cc:3505
+msgid "Zoom to 100 ms"
+msgstr ""
+
+#: editor.cc:3506
+msgid "Zoom to 1 sec"
+msgstr ""
+
+#: editor.cc:3507
+msgid "Zoom to 10 sec"
+msgstr ""
+
+#: editor.cc:3508
+msgid "Zoom to 1 min"
+msgstr ""
+
+#: editor.cc:3509
+msgid "Zoom to 10 min"
+msgstr ""
+
+#: editor.cc:3510
+msgid "Zoom to 1 hour"
+msgstr ""
+
+#: editor.cc:3511
+msgid "Zoom to 8 hours"
+msgstr ""
+
+#: editor.cc:3512
+msgid "Zoom to 24 hours"
+msgstr ""
+
+#: editor.cc:3514
+msgid "Zoom to Range/Region Selection"
+msgstr ""
+
+#: editor.cc:3583
+msgid "*"
+msgstr ""
+
+#: editor.cc:3918
msgid "Playlist Deletion"
msgstr ""
-#: editor.cc:3869
+#: editor.cc:3919
msgid ""
"Playlist %1 is currently unused.\n"
"If it is kept, its audio files will not be cleaned.\n"
"If it is deleted, audio files used by it alone will be cleaned."
msgstr ""
-#: editor.cc:3879
+#: editor.cc:3929
msgid "Delete Playlist"
msgstr ""
-#: editor.cc:3880
+#: editor.cc:3930
msgid "Keep Playlist"
msgstr ""
-#: editor.cc:3881 editor_audio_import.cc:581 editor_ops.cc:5856
-#: engine_dialog.cc:1711 sfdb_freesound_mootcher.cc:69 processor_box.cc:2030
-#: processor_box.cc:2055
+#: editor.cc:3931 editor_audio_import.cc:579 editor_ops.cc:5931
+#: engine_dialog.cc:1985 sfdb_freesound_mootcher.cc:69 processor_box.cc:2263
+#: processor_box.cc:2288
msgid "Cancel"
msgstr "Cancelar"
-#: editor.cc:4025
+#: editor.cc:4065
msgid "new playlists"
msgstr ""
-#: editor.cc:4041
+#: editor.cc:4081
msgid "copy playlists"
msgstr ""
-#: editor.cc:4056
+#: editor.cc:4096
msgid "clear playlists"
msgstr ""
-#: editor.cc:4691
+#: editor.cc:4771
msgid "Please wait while %1 loads visual data."
msgstr ""
-#: editor.cc:5496 editor_markers.cc:940 panner_ui.cc:392 processor_box.cc:2292
+#: editor.cc:5592 editor_markers.cc:954 panner_ui.cc:409 processor_box.cc:2526
msgid "Edit..."
msgstr ""
-#: editor_actions.cc:88
+#: editor_actions.cc:92
msgid "Autoconnect"
msgstr ""
-#: editor_actions.cc:89
+#: editor_actions.cc:93
msgid "Crossfades"
msgstr ""
-#: editor_actions.cc:91
+#: editor_actions.cc:95
msgid "Move Selected Marker"
msgstr ""
-#: editor_actions.cc:92
+#: editor_actions.cc:96
msgid "Select Range Operations"
msgstr ""
-#: editor_actions.cc:93
+#: editor_actions.cc:97
msgid "Select Regions"
msgstr ""
-#: editor_actions.cc:94
+#: editor_actions.cc:98
msgid "Edit Point"
msgstr ""
-#: editor_actions.cc:95
+#: editor_actions.cc:99
msgid "Fade"
msgstr "Fade"
-#: editor_actions.cc:96
+#: editor_actions.cc:100
msgid "Latch"
msgstr ""
-#: editor_actions.cc:97 editor_regions.cc:111 region_editor.cc:46
+#: editor_actions.cc:101 editor_regions.cc:112 region_editor.cc:45
msgid "Region"
msgstr ""
-#: editor_actions.cc:98
+#: editor_actions.cc:102
msgid "Layering"
msgstr ""
-#: editor_actions.cc:99 editor_regions.cc:112 gtk-custom-ruler.c:152
-#: stereo_panner_editor.cc:44
+#: editor_actions.cc:103 editor_regions.cc:113 stereo_panner_editor.cc:44
msgid "Position"
msgstr ""
-#: editor_actions.cc:101 gain_meter.cc:120 gain_meter.cc:794 panner_ui.cc:176
-#: panner_ui.cc:585
+#: editor_actions.cc:105 gain_meter.cc:122 gain_meter.cc:800 panner_ui.cc:177
+#: panner_ui.cc:634
msgid "Trim"
msgstr "Cortar"
-#: editor_actions.cc:102 editor_actions.cc:122 route_group_dialog.cc:40
+#: editor_actions.cc:106 editor_actions.cc:126 route_group_dialog.cc:46
msgid "Gain"
msgstr ""
-#: editor_actions.cc:103 editor_actions.cc:538
+#: editor_actions.cc:107 editor_actions.cc:573
msgid "Ranges"
msgstr ""
-#: editor_actions.cc:104 editor_actions.cc:1790 session_option_editor.cc:145
-#: session_option_editor.cc:147 session_option_editor.cc:156
-#: session_option_editor.cc:163
+#: editor_actions.cc:108 editor_actions.cc:1838 session_option_editor.cc:135
+#: session_option_editor.cc:144 session_option_editor.cc:151
msgid "Fades"
msgstr ""
-#: editor_actions.cc:107
+#: editor_actions.cc:111
msgid "Link"
msgstr ""
-#: editor_actions.cc:108 editor_actions.cc:141
+#: editor_actions.cc:112 editor_actions.cc:145
msgid "Zoom Focus"
msgstr "Foco de Zoom"
-#: editor_actions.cc:109
+#: editor_actions.cc:113
msgid "Locate to Markers"
msgstr ""
-#: editor_actions.cc:110 editor_actions.cc:539
-msgid "Markers"
-msgstr ""
-
-#: editor_actions.cc:111
+#: editor_actions.cc:115
msgid "Meter falloff"
msgstr ""
-#: editor_actions.cc:112
+#: editor_actions.cc:116
msgid "Meter hold"
msgstr ""
-#: editor_actions.cc:113 session_option_editor.cc:234
+#: editor_actions.cc:117 session_option_editor.cc:321
msgid "MIDI Options"
msgstr ""
-#: editor_actions.cc:114
+#: editor_actions.cc:118
msgid "Misc Options"
msgstr ""
-#: editor_actions.cc:115 rc_option_editor.cc:1450 route_group_dialog.cc:48
-#: session_option_editor.cc:218 session_option_editor.cc:225
+#: editor_actions.cc:119 rc_option_editor.cc:1714 route_group_dialog.cc:54
+#: session_option_editor.cc:243 session_option_editor.cc:250
msgid "Monitoring"
msgstr ""
-#: editor_actions.cc:116
+#: editor_actions.cc:120
msgid "Active Mark"
msgstr ""
-#: editor_actions.cc:119
+#: editor_actions.cc:123
msgid "Primary Clock"
msgstr ""
-#: editor_actions.cc:120
+#: editor_actions.cc:124
msgid "Pullup / Pulldown"
msgstr ""
-#: editor_actions.cc:121
+#: editor_actions.cc:125
msgid "Region operations"
msgstr ""
-#: editor_actions.cc:123
+#: editor_actions.cc:127 ruler_dialog.cc:28
msgid "Rulers"
msgstr ""
-#: editor_actions.cc:124
+#: editor_actions.cc:128
msgid "Views"
msgstr ""
-#: editor_actions.cc:125
+#: editor_actions.cc:129
msgid "Scroll"
msgstr ""
-#: editor_actions.cc:126
+#: editor_actions.cc:130
msgid "Secondary Clock"
msgstr ""
-#: editor_actions.cc:129 editor_actions.cc:297
+#: editor_actions.cc:133 editor_actions.cc:322
msgid "Separate"
msgstr ""
-#: editor_actions.cc:132 mixer_strip.cc:1914 route_time_axis.cc:208
-#: route_time_axis.cc:2417
-msgid "Solo"
-msgstr "Solo"
-
-#: editor_actions.cc:133
+#: editor_actions.cc:137
msgid "Subframes"
msgstr ""
-#: editor_actions.cc:136
+#: editor_actions.cc:140
msgid "Timecode fps"
msgstr ""
-#: editor_actions.cc:137 route_time_axis.cc:430
+#: editor_actions.cc:141 route_time_axis.cc:548
msgid "Height"
msgstr "Altura"
-#: editor_actions.cc:139
+#: editor_actions.cc:143
msgid "Tools"
msgstr ""
-#: editor_actions.cc:140
+#: editor_actions.cc:144
msgid "View"
msgstr ""
-#: editor_actions.cc:142
+#: editor_actions.cc:146
msgid "Zoom"
msgstr ""
-#: editor_actions.cc:148
+#: editor_actions.cc:152
msgid "Break drag or deselect all"
msgstr ""
-#: editor_actions.cc:150
+#: editor_actions.cc:159
msgid "Show Editor Mixer"
msgstr ""
-#: editor_actions.cc:151
+#: editor_actions.cc:160
msgid "Show Editor List"
msgstr ""
-#: editor_actions.cc:153
+#: editor_actions.cc:162
msgid "Playhead to Next Region Boundary"
msgstr ""
-#: editor_actions.cc:154
+#: editor_actions.cc:163
msgid "Playhead to Next Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:155
+#: editor_actions.cc:164
msgid "Playhead to Previous Region Boundary"
msgstr ""
-#: editor_actions.cc:156
+#: editor_actions.cc:165
msgid "Playhead to Previous Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:158
+#: editor_actions.cc:167
msgid "Playhead to Next Region Start"
msgstr ""
-#: editor_actions.cc:159
+#: editor_actions.cc:168
msgid "Playhead to Next Region End"
msgstr ""
-#: editor_actions.cc:160
+#: editor_actions.cc:169
msgid "Playhead to Next Region Sync"
msgstr ""
-#: editor_actions.cc:162
+#: editor_actions.cc:171
msgid "Playhead to Previous Region Start"
msgstr ""
-#: editor_actions.cc:163
+#: editor_actions.cc:172
msgid "Playhead to Previous Region End"
msgstr ""
-#: editor_actions.cc:164
+#: editor_actions.cc:173
msgid "Playhead to Previous Region Sync"
msgstr ""
-#: editor_actions.cc:166
+#: editor_actions.cc:175
msgid "To Next Region Boundary"
msgstr ""
-#: editor_actions.cc:167
+#: editor_actions.cc:176
msgid "To Next Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:168
+#: editor_actions.cc:177
msgid "To Previous Region Boundary"
msgstr ""
-#: editor_actions.cc:169
+#: editor_actions.cc:178
msgid "To Previous Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:171
+#: editor_actions.cc:180
msgid "To Next Region Start"
msgstr ""
-#: editor_actions.cc:172
+#: editor_actions.cc:181
msgid "To Next Region End"
msgstr ""
-#: editor_actions.cc:173
+#: editor_actions.cc:182
msgid "To Next Region Sync"
msgstr ""
-#: editor_actions.cc:175
+#: editor_actions.cc:184
msgid "To Previous Region Start"
msgstr ""
-#: editor_actions.cc:176
+#: editor_actions.cc:185
msgid "To Previous Region End"
msgstr ""
-#: editor_actions.cc:177
+#: editor_actions.cc:186
msgid "To Previous Region Sync"
msgstr ""
-#: editor_actions.cc:179
+#: editor_actions.cc:188
msgid "To Range Start"
msgstr ""
-#: editor_actions.cc:180
+#: editor_actions.cc:189
msgid "To Range End"
msgstr ""
-#: editor_actions.cc:182
+#: editor_actions.cc:191
msgid "Playhead to Range Start"
msgstr ""
-#: editor_actions.cc:183
+#: editor_actions.cc:192
msgid "Playhead to Range End"
msgstr ""
-#: editor_actions.cc:186 export_timespan_selector.cc:61 processor_box.cc:2278
+#: editor_actions.cc:195
+msgid "Select All Tracks"
+msgstr ""
+
+#: editor_actions.cc:196 export_timespan_selector.cc:61 processor_box.cc:2512
msgid "Deselect All"
msgstr ""
-#: editor_actions.cc:191
+#: editor_actions.cc:204
msgid "Select All Overlapping Edit Range"
msgstr ""
-#: editor_actions.cc:192
+#: editor_actions.cc:205
msgid "Select All Inside Edit Range"
msgstr ""
-#: editor_actions.cc:194
+#: editor_actions.cc:207
msgid "Select Edit Range"
msgstr ""
-#: editor_actions.cc:196
+#: editor_actions.cc:209
msgid "Select All in Punch Range"
msgstr ""
-#: editor_actions.cc:197
+#: editor_actions.cc:210
msgid "Select All in Loop Range"
msgstr ""
-#: editor_actions.cc:199
+#: editor_actions.cc:212
msgid "Select Next Track or Bus"
msgstr ""
-#: editor_actions.cc:200
+#: editor_actions.cc:213
msgid "Select Previous Track or Bus"
msgstr ""
-#: editor_actions.cc:202
+#: editor_actions.cc:215
msgid "Toggle Record Enable"
msgstr ""
-#: editor_actions.cc:204
+#: editor_actions.cc:217
msgid "Toggle Solo"
msgstr ""
-#: editor_actions.cc:206
+#: editor_actions.cc:219
msgid "Toggle Mute"
msgstr ""
-#: editor_actions.cc:208
+#: editor_actions.cc:221
msgid "Toggle Solo Isolate"
msgstr ""
-#: editor_actions.cc:213
+#: editor_actions.cc:226
msgid "Save View %1"
msgstr ""
-#: editor_actions.cc:219
+#: editor_actions.cc:232
msgid "Goto View %1"
msgstr ""
-#: editor_actions.cc:225
+#: editor_actions.cc:238
msgid "Locate to Mark %1"
msgstr ""
-#: editor_actions.cc:229
+#: editor_actions.cc:242 editor_actions.cc:243
msgid "Jump to Next Mark"
msgstr ""
-#: editor_actions.cc:230
+#: editor_actions.cc:244 editor_actions.cc:245
msgid "Jump to Previous Mark"
msgstr ""
-#: editor_actions.cc:231
+#: editor_actions.cc:247 editor_actions.cc:248
msgid "Add Mark from Playhead"
msgstr ""
-#: editor_actions.cc:233
+#: editor_actions.cc:250 editor_actions.cc:251
+msgid "Remove Mark at Playhead"
+msgstr ""
+
+#: editor_actions.cc:253
msgid "Nudge Next Later"
msgstr ""
-#: editor_actions.cc:234
+#: editor_actions.cc:254
msgid "Nudge Next Earlier"
msgstr ""
-#: editor_actions.cc:236
+#: editor_actions.cc:256
msgid "Nudge Playhead Forward"
msgstr ""
-#: editor_actions.cc:237
+#: editor_actions.cc:257
msgid "Nudge Playhead Backward"
msgstr ""
-#: editor_actions.cc:238
+#: editor_actions.cc:258
msgid "Playhead To Next Grid"
msgstr ""
-#: editor_actions.cc:239
+#: editor_actions.cc:259
msgid "Playhead To Previous Grid"
msgstr ""
-#: editor_actions.cc:244
+#: editor_actions.cc:264
msgid "Zoom to Region"
msgstr ""
-#: editor_actions.cc:245
+#: editor_actions.cc:265
msgid "Zoom to Region (Width and Height)"
msgstr ""
-#: editor_actions.cc:246
+#: editor_actions.cc:267
+msgid "Zoom to Range (Width and Height)"
+msgstr ""
+
+#: editor_actions.cc:268
msgid "Toggle Zoom State"
msgstr ""
-#: editor_actions.cc:248
+#: editor_actions.cc:270
msgid "Expand Track Height"
msgstr ""
-#: editor_actions.cc:249
+#: editor_actions.cc:271
msgid "Shrink Track Height"
msgstr ""
-#: editor_actions.cc:251
+#: editor_actions.cc:273
msgid "Move Selected Tracks Up"
msgstr ""
-#: editor_actions.cc:253
+#: editor_actions.cc:275
msgid "Move Selected Tracks Down"
msgstr ""
-#: editor_actions.cc:256
+#: editor_actions.cc:278
msgid "Scroll Tracks Up"
msgstr ""
-#: editor_actions.cc:258
+#: editor_actions.cc:280
msgid "Scroll Tracks Down"
msgstr ""
-#: editor_actions.cc:260
+#: editor_actions.cc:282
msgid "Step Tracks Up"
msgstr ""
-#: editor_actions.cc:262
+#: editor_actions.cc:284
msgid "Step Tracks Down"
msgstr ""
-#: editor_actions.cc:265
+#: editor_actions.cc:287
msgid "Scroll Backward"
msgstr ""
-#: editor_actions.cc:266
+#: editor_actions.cc:288
msgid "Scroll Forward"
msgstr ""
-#: editor_actions.cc:267
+#: editor_actions.cc:289
msgid "Center Playhead"
msgstr ""
-#: editor_actions.cc:268
+#: editor_actions.cc:290
msgid "Center Edit Point"
msgstr ""
-#: editor_actions.cc:270
+#: editor_actions.cc:292
msgid "Playhead Forward"
msgstr ""
-#: editor_actions.cc:271
+#: editor_actions.cc:293
msgid "Playhead Backward"
msgstr ""
-#: editor_actions.cc:273
+#: editor_actions.cc:295
msgid "Playhead to Active Mark"
msgstr ""
-#: editor_actions.cc:274
+#: editor_actions.cc:296
msgid "Active Mark to Playhead"
msgstr ""
-#: editor_actions.cc:276
+#: editor_actions.cc:298
msgid "Set Loop from Edit Range"
msgstr ""
-#: editor_actions.cc:277
+#: editor_actions.cc:299
msgid "Set Punch from Edit Range"
msgstr ""
-#: editor_actions.cc:280
+#: editor_actions.cc:302
msgid "Play Selected Regions"
msgstr ""
-#: editor_actions.cc:282
+#: editor_actions.cc:304
msgid "Play from Edit Point and Return"
msgstr ""
-#: editor_actions.cc:284
+#: editor_actions.cc:306
msgid "Play Edit Range"
msgstr ""
-#: editor_actions.cc:286
+#: editor_actions.cc:308
msgid "Playhead to Mouse"
msgstr ""
-#: editor_actions.cc:287
+#: editor_actions.cc:309
msgid "Active Marker to Mouse"
msgstr ""
-#: editor_actions.cc:294
+#: editor_actions.cc:319
msgid "Export Audio"
msgstr ""
-#: editor_actions.cc:295 export_dialog.cc:406
+#: editor_actions.cc:320 export_dialog.cc:396
msgid "Export Range"
msgstr ""
-#: editor_actions.cc:300
+#: editor_actions.cc:325
msgid "Separate Using Punch Range"
msgstr ""
-#: editor_actions.cc:303
+#: editor_actions.cc:328
msgid "Separate Using Loop Range"
msgstr ""
-#: editor_actions.cc:306 editor_actions.cc:323
+#: editor_actions.cc:331 editor_actions.cc:353
msgid "Crop"
msgstr ""
-#: editor_actions.cc:315
+#: editor_actions.cc:341
+msgid "Fade Range Selection"
+msgstr ""
+
+#: editor_actions.cc:343
msgid "Set Tempo from Edit Range = Bar"
msgstr ""
-#: editor_actions.cc:317
+#: editor_actions.cc:345
msgid "Log"
msgstr ""
-#: editor_actions.cc:320
+#: editor_actions.cc:348 editor_actions.cc:349
msgid "Move Later to Transient"
msgstr ""
-#: editor_actions.cc:321
+#: editor_actions.cc:350 editor_actions.cc:351
msgid "Move Earlier to Transient"
msgstr ""
-#: editor_actions.cc:325
+#: editor_actions.cc:355 editor_actions.cc:358
msgid "Start Range"
msgstr ""
-#: editor_actions.cc:326
+#: editor_actions.cc:356 editor_actions.cc:359
msgid "Finish Range"
msgstr ""
-#: editor_actions.cc:327
-msgid "Finish Add Range"
-msgstr ""
-
-#: editor_actions.cc:357
+#: editor_actions.cc:391
msgid "Follow Playhead"
msgstr ""
-#: editor_actions.cc:358
+#: editor_actions.cc:392
msgid "Remove Last Capture"
msgstr ""
-#: editor_actions.cc:360
+#: editor_actions.cc:394
msgid "Stationary Playhead"
msgstr ""
-#: editor_actions.cc:362 insert_time_dialog.cc:32
+#: editor_actions.cc:396 insert_time_dialog.cc:32
msgid "Insert Time"
msgstr ""
-#: editor_actions.cc:365
+#: editor_actions.cc:399
msgid "Toggle Active"
msgstr ""
-#: editor_actions.cc:370 editor_actions.cc:1716 editor_markers.cc:876
-#: editor_markers.cc:941 editor_snapshots.cc:121 mixer_strip.cc:1495
-#: route_time_axis.cc:710
+#: editor_actions.cc:404 editor_actions.cc:1764 editor_markers.cc:890
+#: editor_markers.cc:955 editor_snapshots.cc:122 mixer_strip.cc:1506
+#: route_time_axis.cc:829
msgid "Remove"
msgstr "Remover"
-#: editor_actions.cc:374
+#: editor_actions.cc:408
msgid "Fit Selected Tracks"
msgstr ""
-#: editor_actions.cc:376 time_axis_view.cc:1302
+#: editor_actions.cc:411 time_axis_view.cc:1336
msgid "Largest"
msgstr "Enorme"
-#: editor_actions.cc:379 time_axis_view.cc:1303
+#: editor_actions.cc:414 time_axis_view.cc:1337
msgid "Larger"
msgstr "Maior"
-#: editor_actions.cc:382 editor_rulers.cc:375 time_axis_view.cc:1304
+#: editor_actions.cc:417 editor_rulers.cc:249 time_axis_view.cc:1338
msgid "Large"
msgstr "Grande"
-#: editor_actions.cc:388 editor_rulers.cc:379 time_axis_view.cc:1306
+#: editor_actions.cc:423 editor_rulers.cc:253 time_axis_view.cc:1340
msgid "Small"
msgstr "Pequeno"
-#: editor_actions.cc:392
+#: editor_actions.cc:427
msgid "Sound Selected MIDI Notes"
msgstr ""
-#: editor_actions.cc:397
+#: editor_actions.cc:432
msgid "Zoom Focus Left"
msgstr ""
-#: editor_actions.cc:398
+#: editor_actions.cc:433
msgid "Zoom Focus Right"
msgstr ""
-#: editor_actions.cc:399
+#: editor_actions.cc:434
msgid "Zoom Focus Center"
msgstr ""
-#: editor_actions.cc:400
+#: editor_actions.cc:435
msgid "Zoom Focus Playhead"
msgstr ""
-#: editor_actions.cc:401
+#: editor_actions.cc:436
msgid "Zoom Focus Mouse"
msgstr ""
-#: editor_actions.cc:402
+#: editor_actions.cc:437
msgid "Zoom Focus Edit Point"
msgstr ""
-#: editor_actions.cc:404
+#: editor_actions.cc:439
msgid "Next Zoom Focus"
msgstr ""
-#: editor_actions.cc:410
+#: editor_actions.cc:445
msgid "Smart Object Mode"
msgstr ""
-#: editor_actions.cc:413
+#: editor_actions.cc:448
msgid "Smart"
msgstr ""
-#: editor_actions.cc:417
+#: editor_actions.cc:451
msgid "Object Tool"
msgstr ""
-#: editor_actions.cc:423
+#: editor_actions.cc:456
msgid "Range Tool"
msgstr ""
-#: editor_actions.cc:429
+#: editor_actions.cc:461
msgid "Note Drawing Tool"
msgstr ""
-#: editor_actions.cc:435
+#: editor_actions.cc:466
msgid "Gain Tool"
msgstr ""
-#: editor_actions.cc:441
+#: editor_actions.cc:472
msgid "Zoom Tool"
msgstr ""
-#: editor_actions.cc:447
+#: editor_actions.cc:478
msgid "Audition Tool"
msgstr ""
-#: editor_actions.cc:453
+#: editor_actions.cc:483
msgid "Time FX Tool"
msgstr ""
-#: editor_actions.cc:459
+#: editor_actions.cc:489
+msgid "Cut Tool"
+msgstr ""
+
+#: editor_actions.cc:495
msgid "Step Mouse Mode"
msgstr ""
-#: editor_actions.cc:461
+#: editor_actions.cc:497
msgid "Edit MIDI"
msgstr ""
-#: editor_actions.cc:472
+#: editor_actions.cc:507
msgid "Change Edit Point"
msgstr ""
-#: editor_actions.cc:473
+#: editor_actions.cc:508
msgid "Change Edit Point Including Marker"
msgstr ""
-#: editor_actions.cc:475
-msgid "Splice"
-msgstr "Reunir"
-
-#: editor_actions.cc:477
-msgid "Slide"
-msgstr "Deslizar"
-
-#: editor_actions.cc:478 editor_actions.cc:1737 editor_markers.cc:860
-#: editor_rulers.cc:386 location_ui.cc:56
-msgid "Lock"
-msgstr "Trancar"
-
-#: editor_actions.cc:479
-msgid "Toggle Edit Mode"
+#: editor_actions.cc:514
+msgid "Cycle Edit Mode"
msgstr ""
-#: editor_actions.cc:481
+#: editor_actions.cc:516
msgid "Snap to"
msgstr ""
-#: editor_actions.cc:482
+#: editor_actions.cc:517
msgid "Snap Mode"
msgstr "Modo de Ajuste"
-#: editor_actions.cc:489
+#: editor_actions.cc:524
msgid "Next Snap Mode"
msgstr ""
-#: editor_actions.cc:490
+#: editor_actions.cc:525
msgid "Next Snap Choice"
msgstr ""
-#: editor_actions.cc:491
+#: editor_actions.cc:526
msgid "Next Musical Snap Choice"
msgstr ""
-#: editor_actions.cc:492
+#: editor_actions.cc:527
msgid "Previous Snap Choice"
msgstr ""
-#: editor_actions.cc:493
+#: editor_actions.cc:528
msgid "Previous Musical Snap Choice"
msgstr ""
-#: editor_actions.cc:498
+#: editor_actions.cc:533
msgid "Snap to CD Frame"
msgstr ""
-#: editor_actions.cc:499
+#: editor_actions.cc:534
msgid "Snap to Timecode Frame"
msgstr ""
-#: editor_actions.cc:500
+#: editor_actions.cc:535
msgid "Snap to Timecode Seconds"
msgstr ""
-#: editor_actions.cc:501
+#: editor_actions.cc:536
msgid "Snap to Timecode Minutes"
msgstr ""
-#: editor_actions.cc:502
+#: editor_actions.cc:537
msgid "Snap to Seconds"
msgstr ""
-#: editor_actions.cc:503
+#: editor_actions.cc:538
msgid "Snap to Minutes"
msgstr ""
-#: editor_actions.cc:505
+#: editor_actions.cc:540
msgid "Snap to One Twenty Eighths"
msgstr ""
-#: editor_actions.cc:506
+#: editor_actions.cc:541
msgid "Snap to Sixty Fourths"
msgstr ""
-#: editor_actions.cc:507
+#: editor_actions.cc:542
msgid "Snap to Thirty Seconds"
msgstr ""
-#: editor_actions.cc:508
+#: editor_actions.cc:543
msgid "Snap to Twenty Eighths"
msgstr ""
-#: editor_actions.cc:509
+#: editor_actions.cc:544
msgid "Snap to Twenty Fourths"
msgstr ""
-#: editor_actions.cc:510
+#: editor_actions.cc:545
msgid "Snap to Twentieths"
msgstr ""
-#: editor_actions.cc:511
+#: editor_actions.cc:546
msgid "Snap to Sixteenths"
msgstr ""
-#: editor_actions.cc:512
+#: editor_actions.cc:547
msgid "Snap to Fourteenths"
msgstr ""
-#: editor_actions.cc:513
+#: editor_actions.cc:548
msgid "Snap to Twelfths"
msgstr ""
-#: editor_actions.cc:514
+#: editor_actions.cc:549
msgid "Snap to Tenths"
msgstr ""
-#: editor_actions.cc:515
+#: editor_actions.cc:550
msgid "Snap to Eighths"
msgstr ""
-#: editor_actions.cc:516
+#: editor_actions.cc:551
msgid "Snap to Sevenths"
msgstr ""
-#: editor_actions.cc:517
+#: editor_actions.cc:552
msgid "Snap to Sixths"
msgstr ""
-#: editor_actions.cc:518
+#: editor_actions.cc:553
msgid "Snap to Fifths"
msgstr ""
-#: editor_actions.cc:519
+#: editor_actions.cc:554
msgid "Snap to Quarters"
msgstr ""
-#: editor_actions.cc:520
+#: editor_actions.cc:555
msgid "Snap to Thirds"
msgstr ""
-#: editor_actions.cc:521
+#: editor_actions.cc:556
msgid "Snap to Halves"
msgstr ""
-#: editor_actions.cc:523
+#: editor_actions.cc:558
msgid "Snap to Beat"
msgstr ""
-#: editor_actions.cc:524
+#: editor_actions.cc:559
msgid "Snap to Bar"
msgstr ""
-#: editor_actions.cc:525
+#: editor_actions.cc:560
msgid "Snap to Mark"
msgstr ""
-#: editor_actions.cc:526
+#: editor_actions.cc:561
msgid "Snap to Region Start"
msgstr ""
-#: editor_actions.cc:527
+#: editor_actions.cc:562
msgid "Snap to Region End"
msgstr ""
-#: editor_actions.cc:528
+#: editor_actions.cc:563
msgid "Snap to Region Sync"
msgstr ""
-#: editor_actions.cc:529
+#: editor_actions.cc:564
msgid "Snap to Region Boundary"
msgstr ""
-#: editor_actions.cc:531
+#: editor_actions.cc:566
msgid "Show Marker Lines"
msgstr ""
-#: editor_actions.cc:541
+#: editor_actions.cc:576
msgid "Loop/Punch"
msgstr ""
-#: editor_actions.cc:545
+#: editor_actions.cc:580
msgid "Min:Sec"
msgstr ""
-#: editor_actions.cc:547 editor_actions.cc:550
+#: editor_actions.cc:582 editor_actions.cc:585
msgid "Video Monitor"
msgstr ""
-#: editor_actions.cc:549 rc_option_editor.cc:1829
+#: editor_actions.cc:584 rc_option_editor.cc:2134
msgid "Video"
msgstr ""
-#: editor_actions.cc:552
+#: editor_actions.cc:587
msgid "Always on Top"
msgstr ""
-#: editor_actions.cc:554
+#: editor_actions.cc:589
msgid "Frame number"
msgstr ""
-#: editor_actions.cc:555
+#: editor_actions.cc:590
msgid "Timecode Background"
msgstr ""
-#: editor_actions.cc:556
+#: editor_actions.cc:591
msgid "Fullscreen"
msgstr ""
-#: editor_actions.cc:557
+#: editor_actions.cc:592
msgid "Letterbox"
msgstr ""
-#: editor_actions.cc:558
+#: editor_actions.cc:593
msgid "Original Size"
msgstr ""
-#: editor_actions.cc:608
+#: editor_actions.cc:650
msgid "Sort"
msgstr ""
-#: editor_actions.cc:610 region_editor.cc:51
-msgid "Audition"
-msgstr "Audição"
-
-#: editor_actions.cc:619 editor_routes.cc:470 mixer_ui.cc:1161
+#: editor_actions.cc:661 editor_routes.cc:473 mixer_ui.cc:1181
msgid "Show All"
msgstr "Mostrar Tudo"
-#: editor_actions.cc:620
+#: editor_actions.cc:662
msgid "Show Automatic Regions"
msgstr ""
-#: editor_actions.cc:622
+#: editor_actions.cc:664
msgid "Ascending"
msgstr "Ascendente"
-#: editor_actions.cc:624
+#: editor_actions.cc:666
msgid "Descending"
msgstr "Descendente"
-#: editor_actions.cc:627
+#: editor_actions.cc:669
msgid "By Region Name"
msgstr "Por Nome da Região"
-#: editor_actions.cc:629
+#: editor_actions.cc:671
msgid "By Region Length"
msgstr "Por Tamanho da Região"
-#: editor_actions.cc:631
+#: editor_actions.cc:673
msgid "By Region Position"
msgstr "Por Posição da Região"
-#: editor_actions.cc:633
+#: editor_actions.cc:675
msgid "By Region Timestamp"
msgstr "Por tempo data/hora da Região"
-#: editor_actions.cc:635
+#: editor_actions.cc:677
msgid "By Region Start in File"
msgstr "Por posição inicial da Região no arquivo"
-#: editor_actions.cc:637
+#: editor_actions.cc:679
msgid "By Region End in File"
msgstr "Por posição final da Região no arquivo"
-#: editor_actions.cc:639
+#: editor_actions.cc:681
msgid "By Source File Name"
msgstr "Por nome original do arquivo"
-#: editor_actions.cc:641
+#: editor_actions.cc:683
msgid "By Source File Length"
msgstr "Por tamanho do arquivo original"
-#: editor_actions.cc:643
+#: editor_actions.cc:685
msgid "By Source File Creation Date"
msgstr "Por data de criação do arquivo original"
-#: editor_actions.cc:645
+#: editor_actions.cc:687
msgid "By Source Filesystem"
msgstr "Por sistema de arquivos original"
-#: editor_actions.cc:648
+#: editor_actions.cc:690
msgid "Remove Unused"
msgstr ""
-#: editor_actions.cc:652 editor_audio_import.cc:279
+#: editor_actions.cc:694 editor_audio_import.cc:277
#: session_import_dialog.cc:74 session_import_dialog.cc:94
-#: session_metadata_dialog.cc:297 editor_videotimeline.cc:108
+#: session_metadata_dialog.cc:297 editor_videotimeline.cc:92
msgid "Import"
msgstr "Importar"
-#: editor_actions.cc:655
+#: editor_actions.cc:697
msgid "Import to Region List..."
msgstr ""
-#: editor_actions.cc:658 session_import_dialog.cc:43
+#: editor_actions.cc:700 session_import_dialog.cc:43
msgid "Import From Session"
msgstr ""
-#: editor_actions.cc:661
+#: editor_actions.cc:704
+msgid "Bring all media into session folder"
+msgstr ""
+
+#: editor_actions.cc:707
msgid "Show Summary"
msgstr ""
-#: editor_actions.cc:663
+#: editor_actions.cc:709
msgid "Show Group Tabs"
msgstr ""
-#: editor_actions.cc:665
+#: editor_actions.cc:711
msgid "Show Measures"
msgstr ""
-#: editor_actions.cc:669
+#: editor_actions.cc:715
msgid "Show Logo"
msgstr ""
-#: editor_actions.cc:673
+#: editor_actions.cc:719
msgid "Toggle MIDI Input Active for Editor-Selected Tracks/Busses"
msgstr ""
-#: editor_actions.cc:696
+#: editor_actions.cc:742
msgid "Loaded editor bindings from %1"
msgstr ""
-#: editor_actions.cc:698
+#: editor_actions.cc:744
msgid "Could not find editor.bindings in search path %1"
msgstr ""
-#: editor_actions.cc:1028 editor_actions.cc:1424 editor_actions.cc:1435
-#: editor_actions.cc:1488 editor_actions.cc:1499 editor_actions.cc:1546
-#: editor_actions.cc:1556 editor_regions.cc:1561
+#: editor_actions.cc:1074 editor_actions.cc:1470 editor_actions.cc:1481
+#: editor_actions.cc:1534 editor_actions.cc:1545 editor_actions.cc:1592
+#: editor_actions.cc:1602 editor_regions.cc:1562
msgid "programming error: %1: %2"
msgstr ""
-#: editor_actions.cc:1722
+#: editor_actions.cc:1770
msgid "Raise"
msgstr ""
-#: editor_actions.cc:1725
+#: editor_actions.cc:1773
msgid "Raise to Top"
msgstr ""
-#: editor_actions.cc:1728 gtk-custom-ruler.c:132
+#: editor_actions.cc:1776
msgid "Lower"
msgstr ""
-#: editor_actions.cc:1731
+#: editor_actions.cc:1779
msgid "Lower to Bottom"
msgstr ""
-#: editor_actions.cc:1734
+#: editor_actions.cc:1782
msgid "Move to Original Position"
msgstr ""
-#: editor_actions.cc:1739
+#: editor_actions.cc:1787
msgid "Lock to Video"
msgstr ""
-#: editor_actions.cc:1744 editor_markers.cc:867
+#: editor_actions.cc:1792 editor_markers.cc:881
msgid "Glue to Bars and Beats"
msgstr ""
-#: editor_actions.cc:1749
+#: editor_actions.cc:1797
msgid "Remove Sync"
msgstr ""
-#: editor_actions.cc:1752 mixer_strip.cc:1904 route_time_axis.cc:209
-msgid "Mute"
-msgstr "Mutar"
-
-#: editor_actions.cc:1755
+#: editor_actions.cc:1803
msgid "Normalize..."
msgstr ""
-#: editor_actions.cc:1758
+#: editor_actions.cc:1806
msgid "Reverse"
msgstr "Inverter horizontalmente"
-#: editor_actions.cc:1761
+#: editor_actions.cc:1809
msgid "Make Mono Regions"
msgstr ""
-#: editor_actions.cc:1764
+#: editor_actions.cc:1812
msgid "Boost Gain"
msgstr ""
-#: editor_actions.cc:1767
+#: editor_actions.cc:1815
msgid "Cut Gain"
msgstr ""
-#: editor_actions.cc:1770
+#: editor_actions.cc:1818
msgid "Pitch Shift..."
msgstr ""
-#: editor_actions.cc:1773
+#: editor_actions.cc:1821
msgid "Transpose..."
msgstr ""
-#: editor_actions.cc:1776
+#: editor_actions.cc:1824
msgid "Opaque"
msgstr ""
-#: editor_actions.cc:1780 editor_regions.cc:116
+#: editor_actions.cc:1828 editor_regions.cc:117
msgid "Fade In"
msgstr "Fade In"
-#: editor_actions.cc:1785 editor_regions.cc:117
+#: editor_actions.cc:1833 editor_regions.cc:118
msgid "Fade Out"
msgstr "Fade Out"
-#: editor_actions.cc:1800
+#: editor_actions.cc:1848
msgid "Multi-Duplicate..."
msgstr ""
-#: editor_actions.cc:1805
+#: editor_actions.cc:1853
msgid "Fill Track"
msgstr "Preencher Trilha"
-#: editor_actions.cc:1809 editor_markers.cc:955
+#: editor_actions.cc:1857 editor_markers.cc:969
msgid "Set Loop Range"
msgstr "Marcar um intervalo de loop"
-#: editor_actions.cc:1816
+#: editor_actions.cc:1864
msgid "Set Punch"
msgstr ""
-#: editor_actions.cc:1820
+#: editor_actions.cc:1868
msgid "Add Single Range Marker"
msgstr ""
-#: editor_actions.cc:1825
+#: editor_actions.cc:1873
msgid "Add Range Marker Per Region"
msgstr ""
-#: editor_actions.cc:1829
+#: editor_actions.cc:1877
msgid "Snap Position To Grid"
msgstr ""
-#: editor_actions.cc:1832
+#: editor_actions.cc:1880
msgid "Close Gaps"
msgstr ""
-#: editor_actions.cc:1835
+#: editor_actions.cc:1883
msgid "Rhythm Ferret..."
msgstr ""
-#: editor_actions.cc:1838
+#: editor_actions.cc:1886
msgid "Export..."
msgstr ""
-#: editor_actions.cc:1844
+#: editor_actions.cc:1892
msgid "Separate Under"
msgstr ""
-#: editor_actions.cc:1848
+#: editor_actions.cc:1896 editor_actions.cc:1897
msgid "Set Fade In Length"
msgstr ""
-#: editor_actions.cc:1849
+#: editor_actions.cc:1898 editor_actions.cc:1899
msgid "Set Fade Out Length"
msgstr ""
-#: editor_actions.cc:1850
+#: editor_actions.cc:1901
msgid "Set Tempo from Region = Bar"
msgstr ""
-#: editor_actions.cc:1855
+#: editor_actions.cc:1906
msgid "Split at Percussion Onsets"
msgstr ""
-#: editor_actions.cc:1860
+#: editor_actions.cc:1911
msgid "List Editor..."
msgstr ""
-#: editor_actions.cc:1863
+#: editor_actions.cc:1914
msgid "Properties..."
msgstr ""
-#: editor_actions.cc:1867
+#: editor_actions.cc:1918
msgid "Bounce (with processing)"
msgstr ""
-#: editor_actions.cc:1868
+#: editor_actions.cc:1919
msgid "Bounce (without processing)"
msgstr ""
-#: editor_actions.cc:1869
+#: editor_actions.cc:1920
msgid "Combine"
msgstr ""
-#: editor_actions.cc:1870
+#: editor_actions.cc:1921
msgid "Uncombine"
msgstr ""
-#: editor_actions.cc:1872
+#: editor_actions.cc:1923
msgid "Spectral Analysis..."
msgstr ""
-#: editor_actions.cc:1874
+#: editor_actions.cc:1925
msgid "Reset Envelope"
msgstr ""
-#: editor_actions.cc:1876
+#: editor_actions.cc:1927
msgid "Reset Gain"
msgstr ""
-#: editor_actions.cc:1881
+#: editor_actions.cc:1932
msgid "Envelope Active"
msgstr ""
-#: editor_actions.cc:1885
+#: editor_actions.cc:1936
msgid "Quantize..."
msgstr ""
-#: editor_actions.cc:1886 editor_actions.cc:1887
+#: editor_actions.cc:1937 editor_actions.cc:1938
msgid "Insert Patch Change..."
msgstr ""
-#: editor_actions.cc:1888
+#: editor_actions.cc:1939
msgid "Unlink from other copies"
msgstr ""
-#: editor_actions.cc:1889
+#: editor_actions.cc:1940
msgid "Strip Silence..."
msgstr ""
-#: editor_actions.cc:1890
+#: editor_actions.cc:1941
msgid "Set Range Selection"
msgstr ""
-#: editor_actions.cc:1892
+#: editor_actions.cc:1943 editor_actions.cc:1944
msgid "Nudge Later"
msgstr ""
-#: editor_actions.cc:1893
+#: editor_actions.cc:1945 editor_actions.cc:1946
msgid "Nudge Earlier"
msgstr ""
-#: editor_actions.cc:1898
+#: editor_actions.cc:1948
+msgid "Sequence Regions"
+msgstr ""
+
+#: editor_actions.cc:1953
msgid "Nudge Later by Capture Offset"
msgstr ""
-#: editor_actions.cc:1905
+#: editor_actions.cc:1960
msgid "Nudge Earlier by Capture Offset"
msgstr ""
-#: editor_actions.cc:1909
+#: editor_actions.cc:1964
msgid "Trim to Loop"
msgstr ""
-#: editor_actions.cc:1910
+#: editor_actions.cc:1965
msgid "Trim to Punch"
msgstr ""
-#: editor_actions.cc:1912
+#: editor_actions.cc:1967
msgid "Trim to Previous"
msgstr ""
-#: editor_actions.cc:1913
+#: editor_actions.cc:1968
msgid "Trim to Next"
msgstr ""
-#: editor_actions.cc:1920
+#: editor_actions.cc:1975
msgid "Insert Region From Region List"
msgstr ""
-#: editor_actions.cc:1926
+#: editor_actions.cc:1981
msgid "Set Sync Position"
msgstr ""
-#: editor_actions.cc:1927
+#: editor_actions.cc:1982
msgid "Place Transient"
msgstr ""
-#: editor_actions.cc:1928
+#: editor_actions.cc:1983
msgid "Split"
msgstr "Separar"
-#: editor_actions.cc:1929
+#: editor_actions.cc:1984
msgid "Trim Start at Edit Point"
msgstr ""
-#: editor_actions.cc:1930
+#: editor_actions.cc:1985
msgid "Trim End at Edit Point"
msgstr ""
-#: editor_actions.cc:1935
+#: editor_actions.cc:1990
msgid "Align Start"
msgstr ""
-#: editor_actions.cc:1942
+#: editor_actions.cc:1997
msgid "Align Start Relative"
msgstr ""
-#: editor_actions.cc:1946
+#: editor_actions.cc:2001
msgid "Align End"
msgstr ""
-#: editor_actions.cc:1951
+#: editor_actions.cc:2006
msgid "Align End Relative"
msgstr ""
-#: editor_actions.cc:1958
+#: editor_actions.cc:2013
msgid "Align Sync"
msgstr ""
-#: editor_actions.cc:1965
+#: editor_actions.cc:2020
msgid "Align Sync Relative"
msgstr ""
-#: editor_actions.cc:1969 editor_actions.cc:1972
+#: editor_actions.cc:2024 editor_actions.cc:2027
msgid "Choose Top..."
msgstr ""
-#: editor_audio_import.cc:77 editor_audio_import.cc:99
+#: editor_audio_import.cc:76 editor_audio_import.cc:98
msgid "You can't import or embed an audiofile until you have a session loaded."
msgstr ""
-#: editor_audio_import.cc:83 editor_audio_import.cc:127
+#: editor_audio_import.cc:82 editor_audio_import.cc:126
msgid "Add Existing Media"
msgstr ""
-#: editor_audio_import.cc:177
+#: editor_audio_import.cc:175
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%1 as a new file, or skip it?"
msgstr ""
-#: editor_audio_import.cc:179
+#: editor_audio_import.cc:177
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%2 as a new source, or skip it?"
msgstr ""
-#: editor_audio_import.cc:279 editor_videotimeline.cc:108
+#: editor_audio_import.cc:277 editor_videotimeline.cc:92
msgid "Cancel Import"
msgstr "Cancelar importação"
-#: editor_audio_import.cc:543
+#: editor_audio_import.cc:541
msgid "Editor: cannot open file \"%1\", (%2)"
msgstr ""
-#: editor_audio_import.cc:551
+#: editor_audio_import.cc:549
msgid "Cancel entire import"
msgstr ""
-#: editor_audio_import.cc:552
+#: editor_audio_import.cc:550
msgid "Don't embed it"
msgstr ""
-#: editor_audio_import.cc:553
+#: editor_audio_import.cc:551
msgid "Embed all without questions"
msgstr ""
-#: editor_audio_import.cc:556 editor_audio_import.cc:585
-#: export_format_dialog.cc:58
+#: editor_audio_import.cc:554 editor_audio_import.cc:583
+#: export_format_dialog.cc:60
msgid "Sample rate"
msgstr ""
-#: editor_audio_import.cc:557 editor_audio_import.cc:586
+#: editor_audio_import.cc:555 editor_audio_import.cc:584
msgid ""
"%1\n"
"This audiofile's sample rate doesn't match the session sample rate!"
msgstr ""
-#: editor_audio_import.cc:582
+#: editor_audio_import.cc:580
msgid "Embed it anyway"
msgstr ""
-#: editor_drag.cc:1000
+#: editor_drag.cc:994
+msgid "Could not create new track after region placed in the drop zone"
+msgstr ""
+
+#: editor_drag.cc:1100
msgid "fixed time region drag"
msgstr ""
-#: editor_drag.cc:1700
+#: editor_drag.cc:1797
+msgid "Ripple drag"
+msgstr ""
+
+#: editor_drag.cc:2093
msgid "Video Start:"
msgstr ""
-#: editor_drag.cc:1702
+#: editor_drag.cc:2095
msgid "Diff:"
msgstr ""
-#: editor_drag.cc:1722
+#: editor_drag.cc:2114
msgid "Move Video"
msgstr ""
-#: editor_drag.cc:2200
+#: editor_drag.cc:2621
msgid "copy meter mark"
msgstr ""
-#: editor_drag.cc:2208
+#: editor_drag.cc:2629
msgid "move meter mark"
msgstr ""
-#: editor_drag.cc:2320
+#: editor_drag.cc:2752
msgid "copy tempo mark"
msgstr ""
-#: editor_drag.cc:2328
+#: editor_drag.cc:2760
msgid "move tempo mark"
msgstr ""
-#: editor_drag.cc:2550
+#: editor_drag.cc:2989
msgid "change fade in length"
msgstr ""
-#: editor_drag.cc:2668
+#: editor_drag.cc:3107
msgid "change fade out length"
msgstr ""
-#: editor_drag.cc:3023
+#: editor_drag.cc:3463
msgid "move marker"
msgstr ""
-#: editor_drag.cc:3586
+#: editor_drag.cc:4046
msgid "An error occurred while executing time stretch operation"
msgstr ""
-#: editor_drag.cc:4016
+#: editor_drag.cc:4493
msgid "programming_error: %1"
msgstr ""
-#: editor_drag.cc:4086 editor_markers.cc:680
+#: editor_drag.cc:4559 editor_markers.cc:694
msgid "new range marker"
msgstr ""
-#: editor_drag.cc:4767
+#: editor_drag.cc:5259
msgid "rubberband selection"
msgstr ""
-#: editor_route_groups.cc:66
-msgid "No Selection = All Tracks?"
-msgstr ""
-
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Col"
msgstr ""
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Group Tab Color"
msgstr ""
-#: editor_route_groups.cc:96
+#: editor_route_groups.cc:97
msgid "Name of Group"
msgstr ""
-#: editor_route_groups.cc:97 editor_routes.cc:203
+#: editor_route_groups.cc:98 editor_routes.cc:205
msgid "V"
msgstr ""
-#: editor_route_groups.cc:97
+#: editor_route_groups.cc:98
msgid "Group is visible?"
msgstr ""
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "On"
msgstr ""
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "Group is enabled?"
msgstr ""
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "group|G"
msgstr ""
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "Sharing Gain?"
msgstr ""
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "relative|Rel"
msgstr ""
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "Relative Gain Changes?"
msgstr ""
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "mute|M"
msgstr ""
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "Sharing Mute?"
msgstr ""
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "solo|S"
msgstr ""
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "Sharing Solo?"
msgstr ""
-#: editor_route_groups.cc:103 midi_time_axis.cc:1504 midi_time_axis.cc:1507
-#: midi_time_axis.cc:1510 mixer_strip.cc:1903
+#: editor_route_groups.cc:104 midi_time_axis.cc:1703 midi_time_axis.cc:1706
+#: midi_time_axis.cc:1709
msgid "Rec"
msgstr ""
-#: editor_route_groups.cc:103
+#: editor_route_groups.cc:104
msgid "Sharing Record-enable Status?"
msgstr ""
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "monitoring|Mon"
msgstr ""
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "Sharing Monitoring Choice?"
msgstr ""
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "selection|Sel"
msgstr ""
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "Sharing Selected/Editing Status?"
msgstr ""
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "active|A"
msgstr ""
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "Sharing Active Status?"
msgstr ""
-#: editor_route_groups.cc:197
-msgid "Activate this button to operate on all tracks when none are selected."
-msgstr ""
-
-#: editor_route_groups.cc:442 mixer_ui.cc:1449
+#: editor_route_groups.cc:438 mixer_ui.cc:1469
msgid "unnamed"
msgstr ""
-#: editor_export_audio.cc:90 editor_markers.cc:695 editor_markers.cc:782
-#: editor_markers.cc:967 editor_markers.cc:985 editor_markers.cc:1003
-#: editor_markers.cc:1022 editor_markers.cc:1041 editor_markers.cc:1071
-#: editor_markers.cc:1102 editor_markers.cc:1132 editor_markers.cc:1160
-#: editor_markers.cc:1191 editor_markers.cc:1216 editor_markers.cc:1267
-#: editor_markers.cc:1311 editor_markers.cc:1337 editor_markers.cc:1526
-#: editor_mouse.cc:2528
+#: editor_export_audio.cc:92 editor_markers.cc:709 editor_markers.cc:796
+#: editor_markers.cc:981 editor_markers.cc:999 editor_markers.cc:1017
+#: editor_markers.cc:1036 editor_markers.cc:1055 editor_markers.cc:1085
+#: editor_markers.cc:1116 editor_markers.cc:1146 editor_markers.cc:1174
+#: editor_markers.cc:1205 editor_markers.cc:1230 editor_markers.cc:1281
+#: editor_markers.cc:1325 editor_markers.cc:1351 editor_markers.cc:1545
+#: editor_mouse.cc:2290
msgid "programming error: marker canvas item has no marker object pointer!"
msgstr ""
-#: editor_export_audio.cc:143 editor_export_audio.cc:148
+#: editor_export_audio.cc:145 editor_export_audio.cc:150
msgid "File Exists!"
msgstr ""
-#: editor_export_audio.cc:151
+#: editor_export_audio.cc:153
msgid "Overwrite Existing File"
msgstr ""
-#: editor_group_tabs.cc:162
+#: editor_group_tabs.cc:176
msgid "Fit to Window"
msgstr ""
-#: editor_markers.cc:129
+#: editor_markers.cc:139
msgid "start"
msgstr ""
-#: editor_markers.cc:130
+#: editor_markers.cc:140
msgid "end"
msgstr ""
-#: editor_markers.cc:646 editor_ops.cc:1744 editor_ops.cc:1764
-#: editor_ops.cc:1788 editor_ops.cc:1815 location_ui.cc:1017
+#: editor_markers.cc:660 editor_ops.cc:1915 editor_ops.cc:1935
+#: editor_ops.cc:1988 editor_ops.cc:2015 location_ui.cc:1019
msgid "add marker"
msgstr "adicionar marca"
-#: editor_markers.cc:677
+#: editor_markers.cc:691
msgid "range"
msgstr ""
-#: editor_markers.cc:713 location_ui.cc:852
+#: editor_markers.cc:727 editor_ops.cc:1955 location_ui.cc:854
msgid "remove marker"
msgstr "remover marca"
-#: editor_markers.cc:849
+#: editor_markers.cc:863
msgid "Locate to Here"
msgstr ""
-#: editor_markers.cc:850
+#: editor_markers.cc:864
msgid "Play from Here"
msgstr ""
-#: editor_markers.cc:851
+#: editor_markers.cc:865
msgid "Move Mark to Playhead"
msgstr ""
-#: editor_markers.cc:855
+#: editor_markers.cc:869
msgid "Create Range to Next Marker"
msgstr ""
-#: editor_markers.cc:896
+#: editor_markers.cc:910
msgid "Locate to Marker"
msgstr ""
-#: editor_markers.cc:897
+#: editor_markers.cc:911
msgid "Play from Marker"
msgstr ""
-#: editor_markers.cc:900
+#: editor_markers.cc:914
msgid "Set Marker from Playhead"
msgstr ""
-#: editor_markers.cc:902
+#: editor_markers.cc:916
msgid "Set Range from Selection"
msgstr ""
-#: editor_markers.cc:905
-msgid "Zoom to Range"
-msgstr ""
-
-#: editor_markers.cc:912
+#: editor_markers.cc:926
msgid "Hide Range"
msgstr ""
-#: editor_markers.cc:913
+#: editor_markers.cc:927
msgid "Rename Range..."
msgstr ""
-#: editor_markers.cc:917
+#: editor_markers.cc:931
msgid "Remove Range"
msgstr ""
-#: editor_markers.cc:924
+#: editor_markers.cc:938
msgid "Separate Regions in Range"
msgstr ""
-#: editor_markers.cc:927
+#: editor_markers.cc:941
msgid "Select Range"
msgstr ""
-#: editor_markers.cc:956
+#: editor_markers.cc:970
msgid "Set Punch Range"
msgstr "Fazer intervalo de inserção"
-#: editor_markers.cc:1362 editor_ops.cc:1699
+#: editor_markers.cc:1376 editor_ops.cc:1870
msgid "New Name:"
msgstr ""
-#: editor_markers.cc:1365
+#: editor_markers.cc:1379
msgid "Rename Mark"
msgstr ""
-#: editor_markers.cc:1367
+#: editor_markers.cc:1381
msgid "Rename Range"
msgstr ""
-#: editor_markers.cc:1374 editor_mouse.cc:2560 processor_box.cc:1808
-#: processor_box.cc:2274 route_time_axis.cc:982 route_ui.cc:1540
+#: editor_markers.cc:1388 editor_mouse.cc:2319 processor_box.cc:2038
+#: processor_box.cc:2508 route_time_axis.cc:1073 route_ui.cc:1622
msgid "Rename"
msgstr "Renomear"
-#: editor_markers.cc:1387
+#: editor_markers.cc:1401
msgid "rename marker"
msgstr ""
-#: editor_markers.cc:1411
+#: editor_markers.cc:1425
msgid "set loop range"
msgstr ""
-#: editor_markers.cc:1417
+#: editor_markers.cc:1431
msgid "set punch range"
msgstr ""
@@ -4532,185 +4633,194 @@ msgstr ""
msgid "This screen is not tall enough to display the editor mixer"
msgstr ""
-#: editor_mouse.cc:172
-msgid "Editor::event_frame() used on unhandled event type %1"
+#: editor_mouse.cc:1384 editor_mouse.cc:1402 editor_tempodisplay.cc:273
+msgid ""
+"programming error: tempo marker canvas item has no marker object pointer!"
+msgstr ""
+
+#: editor_mouse.cc:1389 editor_tempodisplay.cc:278
+msgid "programming error: marker for tempo is not a tempo marker!"
+msgstr ""
+
+#: editor_mouse.cc:1407 editor_tempodisplay.cc:382
+msgid "programming error: marker for meter is not a meter marker!"
msgstr ""
-#: editor_mouse.cc:2285 editor_mouse.cc:2310 editor_mouse.cc:2323
+#: editor_mouse.cc:2047 editor_mouse.cc:2072 editor_mouse.cc:2085
msgid ""
"programming error: control point canvas item has no control point object "
"pointer!"
msgstr ""
-#: editor_mouse.cc:2466
+#: editor_mouse.cc:2228
msgid "start point trim"
msgstr ""
-#: editor_mouse.cc:2491
+#: editor_mouse.cc:2253
msgid "End point trim"
msgstr ""
-#: editor_mouse.cc:2558
+#: editor_mouse.cc:2317
msgid "Name for region:"
msgstr "Nome para a região:"
-#: editor_ops.cc:140
+#: editor_ops.cc:147
msgid "split"
msgstr ""
-#: editor_ops.cc:256
+#: editor_ops.cc:291
msgid "alter selection"
msgstr ""
-#: editor_ops.cc:298
+#: editor_ops.cc:333
msgid "nudge regions forward"
msgstr ""
-#: editor_ops.cc:321 editor_ops.cc:406
+#: editor_ops.cc:356 editor_ops.cc:441
msgid "nudge location forward"
msgstr ""
-#: editor_ops.cc:379
+#: editor_ops.cc:414
msgid "nudge regions backward"
msgstr ""
-#: editor_ops.cc:468
+#: editor_ops.cc:503
msgid "nudge forward"
msgstr ""
-#: editor_ops.cc:492
+#: editor_ops.cc:527
msgid "nudge backward"
msgstr ""
-#: editor_ops.cc:557
+#: editor_ops.cc:570
+msgid "sequence regions"
+msgstr ""
+
+#: editor_ops.cc:646
msgid "build_region_boundary_cache called with snap_type = %1"
msgstr ""
-#: editor_ops.cc:1701
+#: editor_ops.cc:1872
msgid "New Location Marker"
msgstr ""
-#: editor_ops.cc:1788
+#: editor_ops.cc:1988
msgid "add markers"
msgstr ""
-#: editor_ops.cc:1894
+#: editor_ops.cc:2094
msgid "clear markers"
msgstr "limpar marcas"
-#: editor_ops.cc:1907
+#: editor_ops.cc:2107
msgid "clear ranges"
msgstr "limpar intervalos"
-#: editor_ops.cc:1929
+#: editor_ops.cc:2129
msgid "clear locations"
msgstr "limpar localizações"
-#: editor_ops.cc:2000
-msgid "insert dragged region"
-msgstr ""
-
-#: editor_ops.cc:2078
+#: editor_ops.cc:2191
msgid "insert region"
msgstr ""
-#: editor_ops.cc:2261
+#: editor_ops.cc:2377
msgid "raise regions"
msgstr ""
-#: editor_ops.cc:2263
+#: editor_ops.cc:2379
msgid "raise region"
msgstr ""
-#: editor_ops.cc:2269
+#: editor_ops.cc:2385
msgid "raise regions to top"
msgstr ""
-#: editor_ops.cc:2271
+#: editor_ops.cc:2387
msgid "raise region to top"
msgstr ""
-#: editor_ops.cc:2277
+#: editor_ops.cc:2393
msgid "lower regions"
msgstr ""
-#: editor_ops.cc:2279 editor_ops.cc:2287
+#: editor_ops.cc:2395 editor_ops.cc:2403
msgid "lower region"
msgstr ""
-#: editor_ops.cc:2285
+#: editor_ops.cc:2401
msgid "lower regions to bottom"
msgstr ""
-#: editor_ops.cc:2370
+#: editor_ops.cc:2486
msgid "Rename Region"
msgstr ""
-#: editor_ops.cc:2372 processor_box.cc:1806 route_ui.cc:1538
+#: editor_ops.cc:2488 processor_box.cc:2036 route_ui.cc:1620
msgid "New name:"
msgstr ""
-#: editor_ops.cc:2682
+#: editor_ops.cc:2798
msgid "separate"
msgstr ""
-#: editor_ops.cc:2795
+#: editor_ops.cc:2910
msgid "separate region under"
msgstr ""
-#: editor_ops.cc:2916
+#: editor_ops.cc:3031
msgid "trim to selection"
msgstr ""
-#: editor_ops.cc:3052
+#: editor_ops.cc:3167
msgid "set sync point"
msgstr ""
-#: editor_ops.cc:3076
+#: editor_ops.cc:3191
msgid "remove region sync"
msgstr ""
-#: editor_ops.cc:3098
+#: editor_ops.cc:3213
msgid "move regions to original position"
msgstr ""
-#: editor_ops.cc:3100
+#: editor_ops.cc:3215
msgid "move region to original position"
msgstr ""
-#: editor_ops.cc:3121
+#: editor_ops.cc:3236
msgid "align selection"
msgstr ""
-#: editor_ops.cc:3195
+#: editor_ops.cc:3310
msgid "align selection (relative)"
msgstr ""
-#: editor_ops.cc:3229
+#: editor_ops.cc:3344
msgid "align region"
msgstr ""
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim front"
msgstr ""
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim back"
msgstr ""
-#: editor_ops.cc:3310
+#: editor_ops.cc:3425
msgid "trim to loop"
msgstr ""
-#: editor_ops.cc:3320
+#: editor_ops.cc:3435
msgid "trim to punch"
msgstr ""
-#: editor_ops.cc:3382
+#: editor_ops.cc:3497
msgid "trim to region"
msgstr ""
-#: editor_ops.cc:3492
+#: editor_ops.cc:3605
msgid ""
"This track/bus cannot be frozen because the signal adds or loses channels "
"before reaching the outputs.\n"
@@ -4718,11 +4828,11 @@ msgid ""
"input or vice versa."
msgstr ""
-#: editor_ops.cc:3495
+#: editor_ops.cc:3608
msgid "Cannot freeze"
msgstr ""
-#: editor_ops.cc:3501
+#: editor_ops.cc:3614
msgid ""
"<b>%1</b>\n"
"\n"
@@ -4731,23 +4841,23 @@ msgid ""
"Freezing will only process the signal as far as the first send/insert/return."
msgstr ""
-#: editor_ops.cc:3505
+#: editor_ops.cc:3618
msgid "Freeze anyway"
msgstr ""
-#: editor_ops.cc:3506
+#: editor_ops.cc:3619
msgid "Don't freeze"
msgstr ""
-#: editor_ops.cc:3507
+#: editor_ops.cc:3620
msgid "Freeze Limits"
msgstr ""
-#: editor_ops.cc:3522
+#: editor_ops.cc:3635
msgid "Cancel Freeze"
msgstr ""
-#: editor_ops.cc:3553
+#: editor_ops.cc:3666
msgid ""
"You can't perform this operation because the processing of the signal will "
"cause one or more of the tracks to end up with a region with more channels "
@@ -4756,51 +4866,63 @@ msgid ""
"You can do this without processing, which is a different operation."
msgstr ""
-#: editor_ops.cc:3557
+#: editor_ops.cc:3670
msgid "Cannot bounce"
msgstr ""
-#: editor_ops.cc:3568
+#: editor_ops.cc:3681
msgid "bounce range"
msgstr ""
-#: editor_ops.cc:3678
+#: editor_ops.cc:3783
msgid "delete"
msgstr ""
-#: editor_ops.cc:3681
+#: editor_ops.cc:3786
msgid "cut"
msgstr "cortar"
-#: editor_ops.cc:3684
+#: editor_ops.cc:3789
msgid "copy"
msgstr "copiar"
-#: editor_ops.cc:3687
+#: editor_ops.cc:3792
msgid "clear"
msgstr "limpar"
-#: editor_ops.cc:3785
-msgid " objects"
-msgstr "objetos"
+#: editor_ops.cc:3845
+msgid " points"
+msgstr ""
-#: editor_ops.cc:3815
+#: editor_ops.cc:3856
+msgid "points"
+msgstr ""
+
+#: editor_ops.cc:3858
+msgid "regions"
+msgstr ""
+
+#: editor_ops.cc:3860
+msgid "objects"
+msgstr ""
+
+#: editor_ops.cc:3890
msgid " range"
msgstr "intervalo"
-#: editor_ops.cc:3957 editor_ops.cc:3984
+#: editor_ops.cc:4059
msgid "remove region"
msgstr ""
-#: editor_ops.cc:4391
+#: editor_ops.cc:4475
msgid "duplicate selection"
msgstr ""
-#: editor_ops.cc:4469
+#: editor_ops.cc:4553
msgid "nudge track"
msgstr ""
-#: editor_ops.cc:4506
+#: editor_ops.cc:4590
msgid ""
"Do you really want to destroy the last capture?\n"
"(This is destructive and cannot be undone)"
@@ -4808,132 +4930,140 @@ msgstr ""
"Você quer realmente remover definitivamente a última captura?\n"
"(Isto não poderá ser desfeito)"
-#: editor_ops.cc:4509 editor_ops.cc:6512 editor_regions.cc:460
-#: editor_snapshots.cc:158 route_ui.cc:1482
+#: editor_ops.cc:4593 editor_ops.cc:6594 editor_regions.cc:461
+#: editor_snapshots.cc:159 route_ui.cc:1563
msgid "No, do nothing."
msgstr "Não, não faça nada."
-#: editor_ops.cc:4510
+#: editor_ops.cc:4594
msgid "Yes, destroy it."
msgstr "Sim, remova definitivamente isto."
-#: editor_ops.cc:4512
+#: editor_ops.cc:4596
msgid "Destroy last capture"
msgstr ""
-#: editor_ops.cc:4573
+#: editor_ops.cc:4657
msgid "normalize"
msgstr ""
-#: editor_ops.cc:4668
+#: editor_ops.cc:4752
msgid "reverse regions"
msgstr "inverter horizontalmente as regiões"
-#: editor_ops.cc:4702
+#: editor_ops.cc:4786
msgid "strip silence"
msgstr ""
-#: editor_ops.cc:4763
+#: editor_ops.cc:4847
msgid "Fork Region(s)"
msgstr ""
-#: editor_ops.cc:4963
+#: editor_ops.cc:4868
+msgid "Could not unlink %1"
+msgstr ""
+
+#: editor_ops.cc:5052
msgid "reset region gain"
msgstr ""
-#: editor_ops.cc:5016
+#: editor_ops.cc:5105
msgid "region gain envelope active"
msgstr ""
-#: editor_ops.cc:5043
+#: editor_ops.cc:5132
msgid "toggle region lock"
msgstr ""
-#: editor_ops.cc:5067
+#: editor_ops.cc:5156
msgid "Toggle Video Lock"
msgstr ""
-#: editor_ops.cc:5091
+#: editor_ops.cc:5180
msgid "region lock style"
msgstr ""
-#: editor_ops.cc:5116
+#: editor_ops.cc:5205
msgid "change region opacity"
msgstr ""
-#: editor_ops.cc:5231
+#: editor_ops.cc:5298
+msgid "fade range"
+msgstr ""
+
+#: editor_ops.cc:5336
msgid "set fade in length"
msgstr ""
-#: editor_ops.cc:5238
+#: editor_ops.cc:5343
msgid "set fade out length"
msgstr ""
-#: editor_ops.cc:5283
+#: editor_ops.cc:5388
msgid "set fade in shape"
msgstr ""
-#: editor_ops.cc:5314
+#: editor_ops.cc:5419
msgid "set fade out shape"
msgstr ""
-#: editor_ops.cc:5344
+#: editor_ops.cc:5449
msgid "set fade in active"
msgstr ""
-#: editor_ops.cc:5373
+#: editor_ops.cc:5478
msgid "set fade out active"
msgstr ""
-#: editor_ops.cc:5638
+#: editor_ops.cc:5713
msgid "set loop range from selection"
msgstr ""
-#: editor_ops.cc:5660
+#: editor_ops.cc:5735
msgid "set loop range from edit range"
msgstr ""
-#: editor_ops.cc:5689
+#: editor_ops.cc:5764
msgid "set loop range from region"
msgstr ""
-#: editor_ops.cc:5707
+#: editor_ops.cc:5782
msgid "set punch range from selection"
msgstr ""
-#: editor_ops.cc:5724
+#: editor_ops.cc:5799
msgid "set punch range from edit range"
msgstr ""
-#: editor_ops.cc:5748
+#: editor_ops.cc:5823
msgid "set punch range from region"
msgstr ""
-#: editor_ops.cc:5857
+#: editor_ops.cc:5932
msgid "Add new marker"
msgstr ""
-#: editor_ops.cc:5858
+#: editor_ops.cc:5933
msgid "Set global tempo"
msgstr ""
-#: editor_ops.cc:5861
+#: editor_ops.cc:5936
msgid "Define one bar"
msgstr ""
-#: editor_ops.cc:5862
+#: editor_ops.cc:5937
msgid "Do you want to set the global tempo or add a new tempo marker?"
msgstr ""
-#: editor_ops.cc:5888
+#: editor_ops.cc:5963
msgid "set tempo from region"
msgstr ""
-#: editor_ops.cc:5918
+#: editor_ops.cc:5993
msgid "split regions"
msgstr ""
-#: editor_ops.cc:5960
+#: editor_ops.cc:6035
msgid ""
"You are about to split\n"
"%1\n"
@@ -4941,62 +5071,62 @@ msgid ""
"This could take a long time."
msgstr ""
-#: editor_ops.cc:5967
+#: editor_ops.cc:6042
msgid "Call for the Ferret!"
msgstr ""
-#: editor_ops.cc:5968
+#: editor_ops.cc:6043
msgid ""
"Press OK to continue with this split operation\n"
"or ask the Ferret dialog to tune the analysis"
msgstr ""
-#: editor_ops.cc:5970
+#: editor_ops.cc:6045
msgid "Press OK to continue with this split operation"
msgstr ""
-#: editor_ops.cc:5973
+#: editor_ops.cc:6048
msgid "Excessive split?"
msgstr ""
-#: editor_ops.cc:6125
+#: editor_ops.cc:6200
msgid "place transient"
msgstr ""
-#: editor_ops.cc:6160
+#: editor_ops.cc:6235
msgid "snap regions to grid"
msgstr ""
-#: editor_ops.cc:6199
+#: editor_ops.cc:6274
msgid "Close Region Gaps"
msgstr ""
-#: editor_ops.cc:6204
+#: editor_ops.cc:6279
msgid "Crossfade length"
msgstr ""
-#: editor_ops.cc:6213 editor_ops.cc:6224 rhythm_ferret.cc:120
-#: session_option_editor.cc:153
+#: editor_ops.cc:6288 editor_ops.cc:6299 rhythm_ferret.cc:119
+#: session_option_editor.cc:141
msgid "ms"
msgstr ""
-#: editor_ops.cc:6215
+#: editor_ops.cc:6290
msgid "Pull-back length"
msgstr ""
-#: editor_ops.cc:6228
+#: editor_ops.cc:6303
msgid "Ok"
msgstr ""
-#: editor_ops.cc:6243
+#: editor_ops.cc:6318
msgid "close region gaps"
msgstr ""
-#: editor_ops.cc:6461 route_ui.cc:1456
+#: editor_ops.cc:6543 route_ui.cc:1537
msgid "That would be bad news ...."
msgstr ""
-#: editor_ops.cc:6466 route_ui.cc:1461
+#: editor_ops.cc:6548 route_ui.cc:1542
msgid ""
"Removing the master or monitor bus is such a bad idea\n"
"that %1 is not going to allow it.\n"
@@ -5006,23 +5136,23 @@ msgid ""
"\"allow-special-bus-removal\" option to be \"yes\""
msgstr ""
-#: editor_ops.cc:6483
+#: editor_ops.cc:6565
msgid "tracks"
msgstr ""
-#: editor_ops.cc:6485 route_ui.cc:1821
+#: editor_ops.cc:6567 route_ui.cc:1978
msgid "track"
msgstr ""
-#: editor_ops.cc:6489
+#: editor_ops.cc:6571
msgid "busses"
msgstr ""
-#: editor_ops.cc:6491 route_ui.cc:1821
+#: editor_ops.cc:6573 route_ui.cc:1978
msgid "bus"
msgstr ""
-#: editor_ops.cc:6496
+#: editor_ops.cc:6578
msgid ""
"Do you really want to remove %1 %2 and %3 %4?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5030,7 +5160,7 @@ msgid ""
"This action cannot be undone, and the session file will be overwritten!"
msgstr ""
-#: editor_ops.cc:6501
+#: editor_ops.cc:6583
msgid ""
"Do you really want to remove %1 %2?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5038,408 +5168,402 @@ msgid ""
"This action cannot be undone, and the session file will be overwritten!"
msgstr ""
-#: editor_ops.cc:6507
+#: editor_ops.cc:6589
msgid ""
"Do you really want to remove %1 %2?\n"
"\n"
"This action cannot be undon, and the session file will be overwritten"
msgstr ""
-#: editor_ops.cc:6514
+#: editor_ops.cc:6596
msgid "Yes, remove them."
msgstr ""
-#: editor_ops.cc:6516 editor_snapshots.cc:159 route_ui.cc:1483
+#: editor_ops.cc:6598 editor_snapshots.cc:160 route_ui.cc:1564
msgid "Yes, remove it."
msgstr "Sim, remova isto."
-#: editor_ops.cc:6521 editor_ops.cc:6523
+#: editor_ops.cc:6603 editor_ops.cc:6605
msgid "Remove %1"
msgstr ""
-#: editor_ops.cc:6582
+#: editor_ops.cc:6668
msgid "insert time"
msgstr ""
-#: editor_ops.cc:6739
+#: editor_ops.cc:6832
msgid "There are too many tracks to fit in the current window"
msgstr ""
-#: editor_ops.cc:6839
+#: editor_ops.cc:6893
+msgid "Sel"
+msgstr ""
+
+#: editor_ops.cc:6932
#, c-format
msgid "Saved view %u"
msgstr ""
-#: editor_ops.cc:6864
+#: editor_ops.cc:6957
msgid "mute regions"
msgstr ""
-#: editor_ops.cc:6866
+#: editor_ops.cc:6959
msgid "mute region"
msgstr ""
-#: editor_ops.cc:6903
+#: editor_ops.cc:6996
msgid "combine regions"
msgstr ""
-#: editor_ops.cc:6941
+#: editor_ops.cc:7034
msgid "uncombine regions"
msgstr ""
-#: editor_regions.cc:111
-msgid "Region name, with number of channels in []'s"
+#: editor_ops.cc:7071
+msgid "%1: Locked"
+msgstr ""
+
+#: editor_ops.cc:7078
+msgid "Click to unlock"
+msgstr ""
+
+#: editor_ops.cc:7132
+msgid "Moving embedded files into session folder"
msgstr ""
#: editor_regions.cc:112
+msgid "Region name, with number of channels in []'s"
+msgstr ""
+
+#: editor_regions.cc:113
msgid "Position of start of region"
msgstr ""
-#: editor_regions.cc:113 editor_regions.cc:849 time_info_box.cc:98
+#: editor_regions.cc:114 editor_regions.cc:850 time_info_box.cc:101
msgid "End"
msgstr ""
-#: editor_regions.cc:113
+#: editor_regions.cc:114
msgid "Position of end of region"
msgstr ""
-#: editor_regions.cc:114
+#: editor_regions.cc:115
msgid "Length of the region"
msgstr ""
-#: editor_regions.cc:115
+#: editor_regions.cc:116
msgid "Position of region sync point, relative to start of the region"
msgstr ""
-#: editor_regions.cc:116
+#: editor_regions.cc:117
msgid "Length of region fade-in (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:117
-msgid "Length of region fade-out (units: secondary clock), () if dsisabled"
+#: editor_regions.cc:118
+msgid "Length of region fade-out (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:118 mixer_strip.cc:1954 mono_panner.cc:179
-#: stereo_panner.cc:217 stereo_panner.cc:240
+#: editor_regions.cc:119 mixer_strip.cc:2010 mono_panner.cc:204
+#: panner2d.cc:237 stereo_panner.cc:248 stereo_panner.cc:271
msgid "L"
msgstr ""
-#: editor_regions.cc:118
+#: editor_regions.cc:119
msgid "Region position locked?"
msgstr ""
-#: editor_regions.cc:119
+#: editor_regions.cc:120 route_time_axis.cc:99
msgid "G"
msgstr ""
-#: editor_regions.cc:119
+#: editor_regions.cc:120
msgid "Region position glued to Bars|Beats time?"
msgstr ""
-#: editor_regions.cc:120 editor_routes.cc:207 gain_meter.cc:762
-#: mixer_strip.cc:1931 meter_strip.cc:320 panner_ui.cc:553
-#: stereo_panner.cc:237
+#: editor_regions.cc:121 editor_routes.cc:209 gain_meter.cc:768
+#: mixer_strip.cc:1987 meter_strip.cc:359 panner_ui.cc:602
+#: route_time_axis.cc:2568 stereo_panner.cc:268 time_axis_view.cc:1156
msgid "M"
msgstr ""
-#: editor_regions.cc:120
+#: editor_regions.cc:121
msgid "Region muted?"
msgstr ""
-#: editor_regions.cc:121
+#: editor_regions.cc:122 mixer_strip.cc:1810
msgid "O"
msgstr ""
-#: editor_regions.cc:121
+#: editor_regions.cc:122
msgid "Region opaque (blocks regions below it from being heard)?"
msgstr ""
-#: editor_regions.cc:310 editor_regions.cc:315 editor_regions.cc:317
+#: editor_regions.cc:311 editor_regions.cc:316 editor_regions.cc:318
msgid "Hidden"
msgstr "Oculto"
-#: editor_regions.cc:389
+#: editor_regions.cc:390
msgid "(MISSING) "
msgstr ""
-#: editor_regions.cc:457
+#: editor_regions.cc:458
msgid ""
"Do you really want to remove unused regions?\n"
"(This is destructive and cannot be undone)"
msgstr ""
-#: editor_regions.cc:461
+#: editor_regions.cc:462
msgid "Yes, remove."
msgstr ""
-#: editor_regions.cc:463
+#: editor_regions.cc:464
msgid "Remove unused regions"
msgstr ""
-#: editor_regions.cc:816 editor_regions.cc:830 editor_regions.cc:844
+#: editor_regions.cc:817 editor_regions.cc:831 editor_regions.cc:845
msgid "Mult."
msgstr ""
-#: editor_regions.cc:847 midi_list_editor.cc:103 time_info_box.cc:91
+#: editor_regions.cc:848 midi_list_editor.cc:103 time_info_box.cc:94
msgid "Start"
msgstr ""
-#: editor_regions.cc:865 editor_regions.cc:881
+#: editor_regions.cc:866 editor_regions.cc:882
msgid "Multiple"
msgstr ""
-#: editor_regions.cc:950
+#: editor_regions.cc:951
msgid "MISSING "
msgstr ""
-#: editor_routes.cc:178 editor_routes.cc:210
+#: editor_routes.cc:180 editor_routes.cc:212
msgid "SS"
msgstr ""
-#: editor_routes.cc:202
+#: editor_routes.cc:204
msgid "Track/Bus Name"
msgstr ""
-#: editor_routes.cc:203
+#: editor_routes.cc:205
msgid "Track/Bus visible ?"
msgstr ""
-#: editor_routes.cc:204 mixer_strip.cc:1945 meter_strip.cc:334
-#: route_time_axis.cc:2407
+#: editor_routes.cc:206 mixer_strip.cc:2001 meter_strip.cc:371
+#: route_time_axis.cc:101 route_time_axis.cc:2556
msgid "A"
msgstr ""
-#: editor_routes.cc:204
+#: editor_routes.cc:206
msgid "Track/Bus active ?"
msgstr ""
-#: editor_routes.cc:205 mixer_strip.cc:1932
+#: editor_routes.cc:207 mixer_strip.cc:1988 mixer_strip.cc:2009
+#: meter_strip.cc:379
msgid "I"
msgstr ""
-#: editor_routes.cc:205
+#: editor_routes.cc:207
msgid "MIDI input enabled"
msgstr ""
-#: editor_routes.cc:206 mixer_strip.cc:1930 mono_panner.cc:198
-#: stereo_panner.cc:215 stereo_panner.cc:242
+#: editor_routes.cc:208 mono_panner.cc:221 panner2d.cc:238
+#: stereo_panner.cc:246 stereo_panner.cc:273
msgid "R"
msgstr ""
-#: editor_routes.cc:206
+#: editor_routes.cc:208
msgid "Record enabled"
msgstr ""
-#: editor_routes.cc:207
+#: editor_routes.cc:209
msgid "Muted"
msgstr ""
-#: editor_routes.cc:208 mixer_strip.cc:1941 meter_strip.cc:330
+#: editor_routes.cc:210 mixer_strip.cc:1997 meter_strip.cc:367
+#: route_time_axis.cc:2565
msgid "S"
msgstr ""
-#: editor_routes.cc:208
+#: editor_routes.cc:210
msgid "Soloed"
msgstr ""
-#: editor_routes.cc:209
+#: editor_routes.cc:211
msgid "SI"
msgstr ""
-#: editor_routes.cc:209 mixer_strip.cc:353 rc_option_editor.cc:1867
+#: editor_routes.cc:211
msgid "Solo Isolated"
msgstr ""
-#: editor_routes.cc:210
+#: editor_routes.cc:212
msgid "Solo Safe (Locked)"
msgstr ""
-#: editor_routes.cc:471 mixer_ui.cc:1162
+#: editor_routes.cc:474 mixer_ui.cc:1182
msgid "Hide All"
msgstr "Ocultar Tudo"
-#: editor_routes.cc:472 mixer_ui.cc:1163
+#: editor_routes.cc:475 mixer_ui.cc:1183
msgid "Show All Audio Tracks"
msgstr ""
-#: editor_routes.cc:473 mixer_ui.cc:1164
+#: editor_routes.cc:476 mixer_ui.cc:1184
msgid "Hide All Audio Tracks"
msgstr ""
-#: editor_routes.cc:474 mixer_ui.cc:1165
+#: editor_routes.cc:477 mixer_ui.cc:1185
msgid "Show All Audio Busses"
msgstr ""
-#: editor_routes.cc:475 mixer_ui.cc:1166
+#: editor_routes.cc:478 mixer_ui.cc:1186
msgid "Hide All Audio Busses"
msgstr ""
-#: editor_routes.cc:476
+#: editor_routes.cc:479
msgid "Show All Midi Tracks"
msgstr ""
-#: editor_routes.cc:477
+#: editor_routes.cc:480
msgid "Hide All Midi Tracks"
msgstr ""
-#: editor_routes.cc:478
+#: editor_routes.cc:481
msgid "Show Tracks With Regions Under Playhead"
msgstr ""
-#: editor_rulers.cc:340
+#: editor_rulers.cc:216
msgid "New location marker"
msgstr "Nova marca de localização"
-#: editor_rulers.cc:341
+#: editor_rulers.cc:217
msgid "Clear all locations"
msgstr "Apagar todas as localizações"
-#: editor_rulers.cc:342
+#: editor_rulers.cc:218
msgid "Unhide locations"
msgstr ""
-#: editor_rulers.cc:346
+#: editor_rulers.cc:222
msgid "New range"
msgstr ""
-#: editor_rulers.cc:347
+#: editor_rulers.cc:223
msgid "Clear all ranges"
msgstr "Remover todos os intervalos"
-#: editor_rulers.cc:348
+#: editor_rulers.cc:224
msgid "Unhide ranges"
msgstr ""
-#: editor_rulers.cc:358
+#: editor_rulers.cc:234
msgid "New CD track marker"
msgstr ""
-#: editor_rulers.cc:363 tempo_dialog.cc:40
+#: editor_rulers.cc:239 tempo_dialog.cc:39
msgid "New Tempo"
msgstr "Novo Andamento"
-#: editor_rulers.cc:368 tempo_dialog.cc:255
+#: editor_rulers.cc:243 tempo_dialog.cc:289
msgid "New Meter"
msgstr "Novo Meter"
-#: editor_rulers.cc:373
+#: editor_rulers.cc:247
msgid "Timeline height"
msgstr ""
-#: editor_rulers.cc:383
+#: editor_rulers.cc:257
msgid "Align Video Track"
msgstr ""
-#: editor_selection.cc:889 editor_selection.cc:932
+#: editor_selection.cc:895 editor_selection.cc:938
msgid "set selected regions"
msgstr ""
-#: editor_selection.cc:1414
+#: editor_selection.cc:1417
msgid "select all"
msgstr ""
-#: editor_selection.cc:1506
+#: editor_selection.cc:1511
msgid "select all within"
msgstr ""
-#: editor_selection.cc:1564
+#: editor_selection.cc:1569
msgid "set selection from range"
msgstr ""
-#: editor_selection.cc:1604
+#: editor_selection.cc:1609
msgid "select all from range"
msgstr ""
-#: editor_selection.cc:1635
+#: editor_selection.cc:1640
msgid "select all from punch"
msgstr ""
-#: editor_selection.cc:1666
+#: editor_selection.cc:1671
msgid "select all from loop"
msgstr ""
-#: editor_selection.cc:1702
+#: editor_selection.cc:1707
msgid "select all after cursor"
msgstr ""
-#: editor_selection.cc:1704
+#: editor_selection.cc:1709
msgid "select all before cursor"
msgstr ""
-#: editor_selection.cc:1753
+#: editor_selection.cc:1758
msgid "select all after edit"
msgstr ""
-#: editor_selection.cc:1755
+#: editor_selection.cc:1760
msgid "select all before edit"
msgstr ""
-#: editor_selection.cc:1888
-msgid "No edit range defined"
-msgstr ""
-
-#: editor_selection.cc:1894
-msgid ""
-"the edit point is Selected Marker\n"
-"but there is no selected marker."
-msgstr ""
-
-#: editor_snapshots.cc:136
+#: editor_snapshots.cc:137
msgid "Rename Snapshot"
msgstr ""
-#: editor_snapshots.cc:138
+#: editor_snapshots.cc:139
msgid "New name of snapshot"
msgstr ""
-#: editor_snapshots.cc:156
+#: editor_snapshots.cc:157
msgid ""
"Do you really want to remove snapshot \"%1\" ?\n"
"(which cannot be undone)"
msgstr ""
-#: editor_snapshots.cc:161
+#: editor_snapshots.cc:162
msgid "Remove snapshot"
msgstr ""
-#: editor_tempodisplay.cc:208 editor_tempodisplay.cc:250
+#: editor_tempodisplay.cc:193 editor_tempodisplay.cc:235
msgid "add"
msgstr "adicionar"
-#: editor_tempodisplay.cc:231
+#: editor_tempodisplay.cc:216
msgid "add tempo mark"
msgstr ""
-#: editor_tempodisplay.cc:272
+#: editor_tempodisplay.cc:257
msgid "add meter mark"
msgstr ""
-#: editor_tempodisplay.cc:288 editor_tempodisplay.cc:367
-#: editor_tempodisplay.cc:386
-msgid ""
-"programming error: tempo marker canvas item has no marker object pointer!"
-msgstr ""
-
-#: editor_tempodisplay.cc:293 editor_tempodisplay.cc:372
-msgid "programming error: marker for tempo is not a tempo marker!"
-msgstr ""
-
-#: editor_tempodisplay.cc:305 editor_tempodisplay.cc:335
+#: editor_tempodisplay.cc:290 editor_tempodisplay.cc:320
msgid "done"
msgstr "pronto"
-#: editor_tempodisplay.cc:324 editor_tempodisplay.cc:352
+#: editor_tempodisplay.cc:309 editor_tempodisplay.cc:337
msgid "replace tempo mark"
msgstr ""
-#: editor_tempodisplay.cc:391 editor_tempodisplay.cc:423
-msgid "programming error: marker for meter is not a meter marker!"
-msgstr ""
-
-#: editor_tempodisplay.cc:401 editor_tempodisplay.cc:435
+#: editor_tempodisplay.cc:360 editor_tempodisplay.cc:394
msgid "remove tempo mark"
msgstr ""
-#: editor_tempodisplay.cc:418
+#: editor_tempodisplay.cc:377
msgid ""
"programming error: meter marker canvas item has no marker object pointer!"
msgstr ""
@@ -5456,220 +5580,264 @@ msgstr ""
msgid "timefx cannot be started - thread creation error"
msgstr ""
-#: engine_dialog.cc:79
+#: engine_dialog.cc:81
msgid "Device Control Panel"
msgstr ""
-#: engine_dialog.cc:80 engine_dialog.cc:1725
+#: engine_dialog.cc:82
+msgid "Midi Device Setup"
+msgstr ""
+
+#: engine_dialog.cc:83 engine_dialog.cc:1999
msgid "Measure"
msgstr ""
-#: engine_dialog.cc:81
+#: engine_dialog.cc:84
msgid "Use results"
msgstr ""
-#: engine_dialog.cc:82
+#: engine_dialog.cc:85
msgid "Back to settings ... (ignore results)"
msgstr ""
-#: engine_dialog.cc:83
-msgid "Calibrate..."
+#: engine_dialog.cc:86
+msgid "Calibrate Audio"
msgstr ""
-#: engine_dialog.cc:87
-msgid "Refresh list"
+#: engine_dialog.cc:90
+msgid "Back to settings"
msgstr ""
-#: engine_dialog.cc:107
+#: engine_dialog.cc:108
msgid ""
"No audio/MIDI backends detected. %1 cannot run\n"
"\n"
"(This is a build/packaging/system error. It should never happen.)"
msgstr ""
-#: engine_dialog.cc:136
+#: engine_dialog.cc:135
msgid "Latency Measurement Tool"
msgstr ""
-#: engine_dialog.cc:151
+#: engine_dialog.cc:147 engine_dialog.cc:561
msgid ""
"<span weight=\"bold\">Turn down the volume on your audio equipment to a very "
"low level.</span>"
msgstr ""
-#: engine_dialog.cc:159
+#: engine_dialog.cc:156
msgid "Select two channels below and connect them using a cable."
msgstr ""
-#: engine_dialog.cc:164
+#: engine_dialog.cc:161
msgid "Output channel"
msgstr ""
-#: engine_dialog.cc:172
+#: engine_dialog.cc:169
msgid "Input channel"
msgstr ""
-#: engine_dialog.cc:207
+#: engine_dialog.cc:204
msgid "Once the channels are connected, click the \"Measure\" button."
msgstr ""
-#: engine_dialog.cc:214
+#: engine_dialog.cc:211
msgid "When satisfied with the results, click the \"Use results\" button."
msgstr ""
-#: engine_dialog.cc:229 engine_dialog.cc:1727
+#: engine_dialog.cc:226 engine_dialog.cc:2107 engine_dialog.cc:2117
msgid "No measurement results yet"
msgstr ""
-#: engine_dialog.cc:238 route_params_ui.cc:105
+#: engine_dialog.cc:236 route_params_ui.cc:105
msgid "Latency"
msgstr ""
-#: engine_dialog.cc:333
+#: engine_dialog.cc:351
msgid "Audio System:"
msgstr ""
-#: engine_dialog.cc:374
+#: engine_dialog.cc:394
msgid "Driver:"
msgstr ""
-#: engine_dialog.cc:380
+#: engine_dialog.cc:400
msgid "Device:"
msgstr ""
-#: engine_dialog.cc:385 engine_dialog.cc:475 sfdb_ui.cc:147 sfdb_ui.cc:260
-#: sfdb_ui.cc:265
+#: engine_dialog.cc:405 engine_dialog.cc:496 sfdb_ui.cc:151 sfdb_ui.cc:341
+#: sfdb_ui.cc:346
msgid "Sample rate:"
msgstr ""
-#: engine_dialog.cc:391 engine_dialog.cc:482
+#: engine_dialog.cc:411 engine_dialog.cc:503
msgid "Buffer size:"
msgstr ""
-#: engine_dialog.cc:404
+#: engine_dialog.cc:424
msgid "Input Channels:"
msgstr ""
-#: engine_dialog.cc:415
+#: engine_dialog.cc:435
msgid "Output Channels:"
msgstr ""
-#: engine_dialog.cc:426
+#: engine_dialog.cc:446
msgid "Hardware input latency:"
msgstr ""
-#: engine_dialog.cc:429 engine_dialog.cc:442
+#: engine_dialog.cc:449 engine_dialog.cc:462
msgid "samples"
msgstr ""
-#: engine_dialog.cc:439
+#: engine_dialog.cc:459
msgid "Hardware output latency:"
msgstr ""
-#: engine_dialog.cc:450
+#: engine_dialog.cc:470
msgid "MIDI System"
msgstr ""
-#: engine_dialog.cc:467
+#: engine_dialog.cc:488
msgid ""
"The %1 audio backend was configured and started externally.\n"
"This limits your control over it."
msgstr ""
-#: engine_dialog.cc:521
+#: engine_dialog.cc:543
+msgid ""
+"Failed to start or connect to audio-engine.\n"
+"\n"
+"Latency calibration requires a working audio interface."
+msgstr ""
+
+#: engine_dialog.cc:549
msgid ""
"Your selected audio configuration is playback- or capture-only.\n"
"\n"
"Latency calibration requires playback and capture"
msgstr ""
-#: engine_dialog.cc:595
-msgid "MIDI Inputs"
+#: engine_dialog.cc:630
+msgid "MIDI Devices"
+msgstr ""
+
+#: engine_dialog.cc:636
+msgid "Device"
msgstr ""
-#: engine_dialog.cc:612
-msgid "MIDI Outputs"
+#: engine_dialog.cc:638
+msgid "Hardware Latencies"
msgstr ""
-#: engine_dialog.cc:696
+#: engine_dialog.cc:679
+msgid "Calibrate"
+msgstr ""
+
+#: engine_dialog.cc:761
msgid "all available channels"
msgstr ""
-#: engine_dialog.cc:890
+#: engine_dialog.cc:954
#, c-format
msgid "%u samples"
msgstr ""
-#: engine_dialog.cc:941
+#: engine_dialog.cc:1001
#, c-format
msgid "(%.1f msecs)"
msgstr ""
-#: engine_dialog.cc:1389
+#: engine_dialog.cc:1510
+msgid "Could not start backend engine %1"
+msgstr ""
+
+#: engine_dialog.cc:1561
msgid "Cannot set driver to %1"
msgstr ""
-#: engine_dialog.cc:1393
+#: engine_dialog.cc:1565
msgid "Cannot set device name to %1"
msgstr ""
-#: engine_dialog.cc:1397
+#: engine_dialog.cc:1569
msgid "Cannot set sample rate to %1"
msgstr ""
-#: engine_dialog.cc:1401
+#: engine_dialog.cc:1573
msgid "Cannot set buffer size to %1"
msgstr ""
-#: engine_dialog.cc:1407
+#: engine_dialog.cc:1579
msgid "Cannot set input channels to %1"
msgstr ""
-#: engine_dialog.cc:1411
+#: engine_dialog.cc:1583
msgid "Cannot set output channels to %1"
msgstr ""
-#: engine_dialog.cc:1417
+#: engine_dialog.cc:1589
msgid "Cannot set input latency to %1"
msgstr ""
-#: engine_dialog.cc:1421
+#: engine_dialog.cc:1593
msgid "Cannot set output latency to %1"
msgstr ""
-#: engine_dialog.cc:1654
+#: engine_dialog.cc:1858 engine_dialog.cc:1917
msgid "No signal detected "
msgstr ""
-#: engine_dialog.cc:1667 port_insert_ui.cc:71 port_insert_ui.cc:99
+#: engine_dialog.cc:1871 engine_dialog.cc:1925 port_insert_ui.cc:70
+#: port_insert_ui.cc:98
msgid "Disconnected from audio engine"
msgstr ""
-#: engine_dialog.cc:1681
+#: engine_dialog.cc:1880 engine_dialog.cc:1933
+msgid "Detected roundtrip latency: "
+msgstr ""
+
+#: engine_dialog.cc:1882 engine_dialog.cc:1935
+msgid "Systemic latency: "
+msgstr ""
+
+#: engine_dialog.cc:1889
msgid "(signal detection error)"
msgstr ""
-#: engine_dialog.cc:1687
+#: engine_dialog.cc:1895
msgid "(inverted - bad wiring)"
msgstr ""
-#: engine_dialog.cc:1697
-msgid "Detected roundtrip latency: %1"
+#: engine_dialog.cc:1942
+msgid "(averaging)"
+msgstr ""
+
+#: engine_dialog.cc:1948
+msgid "(too large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1952
+msgid "(large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1963
+msgid "Timeout - large MIDI jitter."
msgstr ""
-#: engine_dialog.cc:1709 port_insert_ui.cc:135
+#: engine_dialog.cc:1979 port_insert_ui.cc:134
msgid "Detecting ..."
msgstr ""
-#: engine_dialog.cc:1789
+#: engine_dialog.cc:2073
msgid "Disconnect from %1"
msgstr ""
-#: engine_dialog.cc:1801
+#: engine_dialog.cc:2085
msgid "Connect to %1"
msgstr ""
-#: export_channel_selector.cc:45 sfdb_ui.cc:145
+#: export_channel_selector.cc:45 sfdb_ui.cc:149
msgid "Channels:"
msgstr ""
@@ -5711,92 +5879,100 @@ msgstr ""
msgid "List files"
msgstr ""
-#: export_dialog.cc:164 export_timespan_selector.cc:355
-#: export_timespan_selector.cc:417
-msgid "Time Span"
+#: export_dialog.cc:158 export_format_dialog.cc:59
+msgid "File format"
msgstr ""
-#: export_dialog.cc:176
-msgid "Channels"
+#: export_dialog.cc:159 export_timespan_selector.cc:374
+#: export_timespan_selector.cc:436
+msgid "Time Span"
msgstr ""
-#: export_dialog.cc:187
-msgid "Time span and channel options"
+#: export_dialog.cc:160
+msgid "Channels"
msgstr ""
-#: export_dialog.cc:221
+#: export_dialog.cc:182
msgid ""
"Export has been aborted due to an error!\n"
"See the Log for details."
msgstr ""
-#: export_dialog.cc:290
+#: export_dialog.cc:251
msgid "Files that will be overwritten"
msgstr ""
-#: export_dialog.cc:316
+#: export_dialog.cc:296
+msgid "Export initialization failed: %1"
+msgstr ""
+
+#: export_dialog.cc:306
msgid "Stop Export"
msgstr "Cancelar Exportação"
-#: export_dialog.cc:337
+#: export_dialog.cc:327
msgid "export"
msgstr ""
-#: export_dialog.cc:356
+#: export_dialog.cc:346
msgid "Normalizing '%3' (timespan %1 of %2)"
msgstr ""
-#: export_dialog.cc:360
+#: export_dialog.cc:350
msgid "Exporting '%3' (timespan %1 of %2)"
msgstr ""
-#: export_dialog.cc:383 export_dialog.cc:385
+#: export_dialog.cc:373 export_dialog.cc:375
msgid "<span color=\"#ffa755\">Error: "
msgstr ""
-#: export_dialog.cc:395
+#: export_dialog.cc:385
msgid "<span color=\"#ffa755\">Warning: "
msgstr ""
-#: export_dialog.cc:397
+#: export_dialog.cc:387
msgid ""
"\n"
"<span color=\"#ffa755\">Warning: "
msgstr ""
-#: export_dialog.cc:420
+#: export_dialog.cc:411
msgid "Export Selection"
msgstr ""
-#: export_dialog.cc:433
+#: export_dialog.cc:425
msgid "Export Region"
msgstr ""
-#: export_dialog.cc:443
+#: export_dialog.cc:434
msgid "Source"
msgstr ""
-#: export_dialog.cc:458
+#: export_dialog.cc:450
msgid "Stem Export"
msgstr ""
-#: export_file_notebook.cc:38
+#: export_file_notebook.cc:39
msgid "Add another format"
msgstr ""
-#: export_file_notebook.cc:178
+#: export_file_notebook.cc:193
msgid "Format"
msgstr ""
-#: export_file_notebook.cc:179
+#: export_file_notebook.cc:194
msgid "Location"
msgstr "Localização"
-#: export_file_notebook.cc:255
+#: export_file_notebook.cc:195
+msgid "Upload to Soundcloud"
+msgstr ""
+
+#: export_file_notebook.cc:273
msgid "No format!"
msgstr ""
-#: export_file_notebook.cc:267
+#: export_file_notebook.cc:291
msgid "Format %1: %2"
msgstr ""
@@ -5817,9 +5993,9 @@ msgid "Folder:"
msgstr ""
#: export_filename_selector.cc:37 session_import_dialog.cc:44
-#: transcode_video_dialog.cc:58 video_server_dialog.cc:45
-#: video_server_dialog.cc:47 export_video_dialog.cc:68
-#: export_video_dialog.cc:70
+#: transcode_video_dialog.cc:59 video_server_dialog.cc:59
+#: video_server_dialog.cc:61 export_video_dialog.cc:69
+#: export_video_dialog.cc:71
msgid "Browse"
msgstr "Localizar"
@@ -5879,67 +6055,69 @@ msgstr ""
msgid "Add silence at end:"
msgstr ""
-#: export_format_dialog.cc:55
-msgid "Compatibility"
+#: export_format_dialog.cc:54
+msgid ""
+"Command to run post-export\n"
+"(%f=full path & filename, %d=directory, %b=basename):"
msgstr ""
-#: export_format_dialog.cc:56
-msgid "Quality"
+#: export_format_dialog.cc:57
+msgid "Compatibility"
msgstr ""
-#: export_format_dialog.cc:57
-msgid "File format"
+#: export_format_dialog.cc:58
+msgid "Quality"
msgstr ""
-#: export_format_dialog.cc:59
+#: export_format_dialog.cc:61
msgid "Sample rate conversion quality:"
msgstr ""
-#: export_format_dialog.cc:66
+#: export_format_dialog.cc:68
msgid "Dithering"
msgstr ""
-#: export_format_dialog.cc:68
+#: export_format_dialog.cc:70
msgid "Create CUE file for disk-at-once CD/DVD creation"
msgstr ""
-#: export_format_dialog.cc:69
+#: export_format_dialog.cc:71
msgid "Create TOC file for disk-at-once CD/DVD creation"
msgstr ""
-#: export_format_dialog.cc:71
+#: export_format_dialog.cc:73
msgid "Tag file with session's metadata"
msgstr ""
-#: export_format_dialog.cc:461
+#: export_format_dialog.cc:470
msgid "Best (sinc)"
msgstr ""
-#: export_format_dialog.cc:466
+#: export_format_dialog.cc:475
msgid "Medium (sinc)"
msgstr ""
-#: export_format_dialog.cc:471
+#: export_format_dialog.cc:480
msgid "Fast (sinc)"
msgstr ""
-#: export_format_dialog.cc:481
+#: export_format_dialog.cc:490
msgid "Zero order hold"
msgstr ""
-#: export_format_dialog.cc:879
+#: export_format_dialog.cc:895
msgid "Linear encoding options"
msgstr ""
-#: export_format_dialog.cc:895
+#: export_format_dialog.cc:911
msgid "Ogg Vorbis options"
msgstr ""
-#: export_format_dialog.cc:908
+#: export_format_dialog.cc:922
msgid "FLAC options"
msgstr ""
-#: export_format_dialog.cc:925
+#: export_format_dialog.cc:939
msgid "Broadcast Wave options"
msgstr ""
@@ -5965,11 +6143,15 @@ msgstr ""
msgid "Show Times as:"
msgstr ""
-#: export_timespan_selector.cc:204
+#: export_timespan_selector.cc:53 processor_box.cc:2510
+msgid "Select All"
+msgstr "Selecionar Tudo"
+
+#: export_timespan_selector.cc:223
msgid " to "
msgstr ""
-#: export_timespan_selector.cc:348 export_timespan_selector.cc:407
+#: export_timespan_selector.cc:367 export_timespan_selector.cc:426
msgid "Range"
msgstr ""
@@ -5985,174 +6167,142 @@ msgstr ""
msgid "getSoundResourceFile: root = %1, != response"
msgstr ""
-#: sfdb_freesound_mootcher.cc:410
+#: sfdb_freesound_mootcher.cc:410 rc_option_editor.cc:1729
msgid "%1"
msgstr ""
-#: gain_meter.cc:105 gain_meter.cc:360 gain_meter.cc:465 gain_meter.cc:859
+#: gain_meter.cc:106 gain_meter.cc:366 gain_meter.cc:471 gain_meter.cc:865
msgid "-inf"
msgstr ""
-#: gain_meter.cc:111 gain_meter.cc:916
+#: gain_meter.cc:113 gain_meter.cc:927
msgid "Fader automation mode"
msgstr ""
-#: gain_meter.cc:112 gain_meter.cc:917
+#: gain_meter.cc:114 gain_meter.cc:928
msgid "Fader automation type"
msgstr ""
-#: gain_meter.cc:121 gain_meter.cc:798 panner_ui.cc:177 panner_ui.cc:589
+#: gain_meter.cc:123 gain_meter.cc:804 panner_ui.cc:178 panner_ui.cc:638
msgid "Abs"
msgstr ""
-#: gain_meter.cc:765 mixer_strip.cc:1948 meter_strip.cc:337 panner_ui.cc:556
-#: route_time_axis.cc:2411
+#: gain_meter.cc:771 mixer_strip.cc:2004 meter_strip.cc:374 panner_ui.cc:605
+#: route_time_axis.cc:100 route_time_axis.cc:2560
msgid "P"
msgstr ""
-#: gain_meter.cc:768 panner_ui.cc:559
+#: gain_meter.cc:774 panner_ui.cc:608
msgid "T"
msgstr ""
-#: gain_meter.cc:771 panner_ui.cc:562
+#: gain_meter.cc:777 panner_ui.cc:611
msgid "W"
msgstr ""
-#: generic_pluginui.cc:81
+#: generic_pluginui.cc:79
msgid "<span size=\"large\">Presets</span>"
msgstr ""
-#: generic_pluginui.cc:230
+#: generic_pluginui.cc:228
msgid "Switches"
msgstr ""
-#: generic_pluginui.cc:240 generic_pluginui.cc:374 processor_box.cc:2251
+#: generic_pluginui.cc:238 generic_pluginui.cc:372 processor_box.cc:2484
msgid "Controls"
msgstr ""
-#: generic_pluginui.cc:268
+#: generic_pluginui.cc:266
msgid "Plugin Editor: could not build control element for port %1"
msgstr ""
"Plugin Editor: não foi possível construir elemento de controle para a porta "
"%1"
-#: generic_pluginui.cc:406
+#: generic_pluginui.cc:404
msgid "Meters"
msgstr ""
-#: generic_pluginui.cc:421
+#: generic_pluginui.cc:419
msgid "Automation control"
msgstr ""
-#: generic_pluginui.cc:428
+#: generic_pluginui.cc:426
msgid "Mgnual"
msgstr ""
-#: global_port_matrix.cc:157
+#: global_port_matrix.cc:158
msgid "Audio Connection Manager"
msgstr ""
-#: global_port_matrix.cc:160
+#: global_port_matrix.cc:161
msgid "MIDI Connection Manager"
msgstr ""
-#: global_port_matrix.cc:200 io_selector.cc:210 mixer_strip.cc:719
-#: mixer_strip.cc:845
+#: global_port_matrix.cc:201 io_selector.cc:211 mixer_strip.cc:799
+#: mixer_strip.cc:895
msgid "Disconnect"
msgstr "Desconectar"
-#: global_port_matrix.cc:206 io_selector.cc:216
+#: global_port_matrix.cc:207 io_selector.cc:217
msgid "port"
msgstr "porta"
-#: group_tabs.cc:308
+#: group_tabs.cc:312
msgid "Selection..."
msgstr ""
-#: group_tabs.cc:309
+#: group_tabs.cc:313
msgid "Record Enabled..."
msgstr ""
-#: group_tabs.cc:310
+#: group_tabs.cc:314
msgid "Soloed..."
msgstr ""
-#: group_tabs.cc:316
+#: group_tabs.cc:320
msgid "Create New Group ..."
msgstr ""
-#: group_tabs.cc:317
+#: group_tabs.cc:321
msgid "Create New Group From"
msgstr ""
-#: group_tabs.cc:320
+#: group_tabs.cc:324
msgid "Edit Group..."
msgstr ""
-#: group_tabs.cc:321
+#: group_tabs.cc:325
msgid "Collect Group"
msgstr ""
-#: group_tabs.cc:322
+#: group_tabs.cc:326
msgid "Remove Group"
msgstr ""
-#: group_tabs.cc:325
+#: group_tabs.cc:329
msgid "Remove Subgroup Bus"
msgstr ""
-#: group_tabs.cc:327
+#: group_tabs.cc:331
msgid "Add New Subgroup Bus"
msgstr ""
-#: group_tabs.cc:329
+#: group_tabs.cc:333
msgid "Add New Aux Bus (pre-fader)"
msgstr ""
-#: group_tabs.cc:330
+#: group_tabs.cc:334
msgid "Add New Aux Bus (post-fader)"
msgstr ""
-#: group_tabs.cc:336
+#: group_tabs.cc:340
msgid "Enable All Groups"
msgstr ""
-#: group_tabs.cc:337
+#: group_tabs.cc:341
msgid "Disable All Groups"
msgstr ""
-#: gtk-custom-ruler.c:133
-msgid "Lower limit of ruler"
-msgstr ""
-
-#: gtk-custom-ruler.c:142
-msgid "Upper"
-msgstr ""
-
-#: gtk-custom-ruler.c:143
-msgid "Upper limit of ruler"
-msgstr ""
-
-#: gtk-custom-ruler.c:153
-msgid "Position of mark on the ruler"
-msgstr ""
-
-#: gtk-custom-ruler.c:162
-msgid "Max Size"
-msgstr ""
-
-#: gtk-custom-ruler.c:163
-msgid "Maximum size of the ruler"
-msgstr ""
-
-#: gtk-custom-ruler.c:172
-msgid "Show Position"
-msgstr ""
-
-#: gtk-custom-ruler.c:173
-msgid "Draw current ruler position"
-msgstr ""
-
#: insert_time_dialog.cc:46
msgid "Time to insert:"
msgstr ""
@@ -6207,27 +6357,27 @@ msgstr ""
msgid "Importing file: %1 of %2"
msgstr ""
-#: io_selector.cc:220
+#: io_selector.cc:221
msgid "I/O selector"
msgstr ""
-#: io_selector.cc:265
+#: io_selector.cc:266
msgid "%1 input"
msgstr "%1 entrada"
-#: io_selector.cc:267
+#: io_selector.cc:268
msgid "%1 output"
msgstr "%1 saída"
-#: keyboard.cc:66
+#: keyboard.cc:70
msgid "your own"
msgstr ""
-#: keyboard.cc:129 keyboard.cc:153
+#: keyboard.cc:133 keyboard.cc:157
msgid "Default keybindings not found - %1 will be hard to use!"
msgstr ""
-#: keyboard.cc:132 keyboard.cc:156
+#: keyboard.cc:136
msgid "Key bindings file \"%1\" not found. Default bindings used instead"
msgstr ""
@@ -6243,27 +6393,31 @@ msgstr ""
msgid "Shortcut"
msgstr ""
-#: keyeditor.cc:86
+#: keyeditor.cc:85
msgid "Select an action, then press the key(s) to (re)set its shortcut"
msgstr ""
-#: keyeditor.cc:251
+#: keyeditor.cc:99
+msgid "Reset Bindings to Defaults"
+msgstr ""
+
+#: keyeditor.cc:260
msgid "Main_menu"
msgstr ""
-#: keyeditor.cc:253
+#: keyeditor.cc:262
msgid "redirectmenu"
msgstr ""
-#: keyeditor.cc:255
+#: keyeditor.cc:264
msgid "Editor_menus"
msgstr ""
-#: keyeditor.cc:257
+#: keyeditor.cc:266
msgid "RegionList"
msgstr ""
-#: keyeditor.cc:259
+#: keyeditor.cc:268
msgid "ProcessorMenu"
msgstr ""
@@ -6285,132 +6439,107 @@ msgid_plural "%1 samples"
msgstr[0] ""
msgstr[1] ""
-#: latency_gui.cc:72 panner_ui.cc:391
+#: latency_gui.cc:72 panner_ui.cc:408
msgid "Reset"
msgstr "Reiniciar"
-#: latency_gui.cc:151 rhythm_ferret.cc:274 sfdb_ui.cc:1755
+#: latency_gui.cc:149 rhythm_ferret.cc:273 sfdb_ui.cc:1893
msgid "programming error: %1 (%2)"
msgstr ""
-#: location_ui.cc:50 location_ui.cc:52
+#: location_ui.cc:51 location_ui.cc:53
msgid "Use PH"
msgstr ""
-#: location_ui.cc:54
+#: location_ui.cc:55
msgid "CD"
msgstr "CD"
-#: location_ui.cc:57
+#: location_ui.cc:58
msgid "Glue"
msgstr ""
-#: location_ui.cc:85
+#: location_ui.cc:86
msgid "Performer:"
msgstr ""
-#: location_ui.cc:86
+#: location_ui.cc:87
msgid "Composer:"
msgstr ""
-#: location_ui.cc:88
+#: location_ui.cc:89
msgid "Pre-Emphasis"
msgstr ""
-#: location_ui.cc:314
+#: location_ui.cc:316
msgid "Remove this range"
msgstr ""
-#: location_ui.cc:315
+#: location_ui.cc:317
msgid "Start time - middle click to locate here"
msgstr ""
-#: location_ui.cc:316
+#: location_ui.cc:318
msgid "End time - middle click to locate here"
msgstr ""
-#: location_ui.cc:319
+#: location_ui.cc:321
msgid "Set range start from playhead location"
msgstr ""
-#: location_ui.cc:320
+#: location_ui.cc:322
msgid "Set range end from playhead location"
msgstr ""
-#: location_ui.cc:324
+#: location_ui.cc:326
msgid "Remove this marker"
msgstr ""
-#: location_ui.cc:325
+#: location_ui.cc:327
msgid "Position - middle click to locate here"
msgstr ""
-#: location_ui.cc:327
+#: location_ui.cc:329
msgid "Set marker time from playhead location"
msgstr ""
-#: location_ui.cc:494
+#: location_ui.cc:496
msgid "You cannot put a CD marker at the start of the session"
msgstr ""
-#: location_ui.cc:720
+#: location_ui.cc:722
msgid "New Marker"
msgstr ""
-#: location_ui.cc:721
+#: location_ui.cc:723
msgid "New Range"
msgstr ""
-#: location_ui.cc:734
+#: location_ui.cc:736
msgid "<b>Loop/Punch Ranges</b>"
msgstr ""
-#: location_ui.cc:759
+#: location_ui.cc:761
msgid "<b>Markers (Including CD Index)</b>"
msgstr ""
-#: location_ui.cc:794
+#: location_ui.cc:796
msgid "<b>Ranges (Including CD Track Ranges)</b>"
msgstr ""
-#: location_ui.cc:1036
+#: location_ui.cc:1038
msgid "add range marker"
msgstr "adicionar marca de intervalo"
-#: main.cc:81
+#: main.cc:79
msgid "%1 could not connect to the audio backend."
msgstr ""
-#: main.cc:194 main.cc:315
-msgid "cannot create user %3 folder %1 (%2)"
-msgstr ""
-
-#: main.cc:201 main.cc:322
-msgid "cannot open pango.rc file %1"
-msgstr ""
-
-#: main.cc:226 main.cc:349
-msgid "Cannot find ArdourMono TrueType font"
-msgstr ""
-
-#: main.cc:238 main.cc:355
-msgid "Cannot load ArdourMono TrueType font."
-msgstr ""
-
-#: main.cc:303
-msgid ""
-"No fontconfig file found on your system. Things may looked very odd or ugly"
-msgstr ""
-
-#: main.cc:359
-msgid "Failed to set fontconfig configuration."
-msgstr ""
-
-#: main.cc:370 main.cc:386
+#: main.cc:104 main.cc:120
msgid "The audio backend (%1) has failed, or terminated"
msgstr ""
-#: main.cc:373
+#: main.cc:107
msgid ""
"%2 exited unexpectedly, and without notifying %1.\n"
"\n"
@@ -6419,53 +6548,63 @@ msgid ""
"Click OK to exit %1."
msgstr ""
-#: main.cc:387
+#: main.cc:121
msgid "%2 exited unexpectedly, and without notifying %1."
msgstr ""
-#: main.cc:474
+#: main.cc:223
+msgid ""
+"\n"
+" Ardour could not understand your command line "
+msgstr ""
+
+#: main.cc:225
+msgid "An error was encountered while launching Ardour"
+msgstr ""
+
+#: main.cc:233
msgid " (built using "
msgstr ""
-#: main.cc:477
+#: main.cc:236
msgid " and GCC version "
msgstr ""
-#: main.cc:487
+#: main.cc:246
msgid "Copyright (C) 1999-2012 Paul Davis"
msgstr ""
-#: main.cc:488
+#: main.cc:247
msgid ""
"Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
"Baker, Robin Gareus"
msgstr ""
-#: main.cc:490
+#: main.cc:249
msgid "%1 comes with ABSOLUTELY NO WARRANTY"
msgstr ""
-#: main.cc:491
+#: main.cc:250
msgid "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
msgstr ""
-#: main.cc:492
+#: main.cc:251
msgid "This is free software, and you are welcome to redistribute it "
msgstr "Isto é um Software Livre. Fique à vontade para redistribuí-lo "
-#: main.cc:493
+#: main.cc:252
msgid "under certain conditions; see the source for copying conditions."
msgstr "com algumas condições; veja o fonte para mais detalhes"
-#: main.cc:500
+#: main.cc:259
msgid "could not initialize %1."
msgstr ""
-#: main.cc:509
+#: main.cc:269
msgid "Cannot xinstall SIGPIPE error handler"
msgstr ""
-#: main.cc:515
+#: main.cc:276
msgid "could not create %1 GUI"
msgstr ""
@@ -6473,17 +6612,13 @@ msgstr ""
msgid "Display delta to edit cursor"
msgstr ""
-#: marker.cc:251 video_image_frame.cc:121
+#: marker.cc:265
msgid "MarkerText"
msgstr ""
-#: midi_channel_selector.cc:159 midi_channel_selector.cc:397
-#: midi_channel_selector.cc:433
-msgid "All"
-msgstr ""
-
#: midi_channel_selector.cc:163 midi_channel_selector.cc:402
-#: midi_channel_selector.cc:438 rc_option_editor.cc:1248 sfdb_ui.cc:538
+#: midi_channel_selector.cc:438 rc_option_editor.cc:1499
+#: rc_option_editor.cc:2084 sfdb_ui.cc:658
msgid "None"
msgstr "Nenhum"
@@ -6672,87 +6807,87 @@ msgstr ""
msgid "MidiPortDialog"
msgstr ""
-#: midi_region_view.cc:838
+#: midi_region_view.cc:822
msgid "channel edit"
msgstr ""
-#: midi_region_view.cc:874
+#: midi_region_view.cc:858
msgid "velocity edit"
msgstr ""
-#: midi_region_view.cc:931
+#: midi_region_view.cc:915
msgid "add note"
msgstr ""
-#: midi_region_view.cc:1779
+#: midi_region_view.cc:1766
msgid "step add"
msgstr ""
-#: midi_region_view.cc:1862
+#: midi_region_view.cc:1853
msgid "insane MIDI patch key %1:%2"
msgstr ""
-#: midi_region_view.cc:1870 midi_region_view.cc:1890
+#: midi_region_view.cc:1861 midi_region_view.cc:1881
msgid "alter patch change"
msgstr ""
-#: midi_region_view.cc:1924
+#: midi_region_view.cc:1915
msgid "add patch change"
msgstr ""
-#: midi_region_view.cc:1942
+#: midi_region_view.cc:1933
msgid "move patch change"
msgstr ""
-#: midi_region_view.cc:1953
+#: midi_region_view.cc:1944
msgid "delete patch change"
msgstr ""
-#: midi_region_view.cc:2022
+#: midi_region_view.cc:2013
msgid "delete selection"
msgstr ""
-#: midi_region_view.cc:2038
+#: midi_region_view.cc:2029
msgid "delete note"
msgstr ""
-#: midi_region_view.cc:2425
+#: midi_region_view.cc:2423
msgid "move notes"
msgstr ""
-#: midi_region_view.cc:2647
+#: midi_region_view.cc:2645
msgid "resize notes"
msgstr ""
-#: midi_region_view.cc:2901
+#: midi_region_view.cc:2899
msgid "change velocities"
msgstr ""
-#: midi_region_view.cc:2967
+#: midi_region_view.cc:2965
msgid "transpose"
msgstr ""
-#: midi_region_view.cc:3001
+#: midi_region_view.cc:2999
msgid "change note lengths"
msgstr ""
-#: midi_region_view.cc:3070
+#: midi_region_view.cc:3068
msgid "nudge"
msgstr ""
-#: midi_region_view.cc:3085
+#: midi_region_view.cc:3083
msgid "change channel"
msgstr ""
-#: midi_region_view.cc:3130
+#: midi_region_view.cc:3128
msgid "Bank "
msgstr ""
-#: midi_region_view.cc:3131
+#: midi_region_view.cc:3129
msgid "Program "
msgstr ""
-#: midi_region_view.cc:3132
+#: midi_region_view.cc:3130
msgid "Channel "
msgstr ""
@@ -6760,140 +6895,136 @@ msgstr ""
msgid "paste"
msgstr ""
-#: midi_region_view.cc:3761
-msgid "delete sysex"
-msgstr ""
-
-#: midi_streamview.cc:479
+#: midi_streamview.cc:491
msgid "failed to create MIDI region"
msgstr ""
-#: midi_time_axis.cc:262
+#: midi_time_axis.cc:293
msgid "External MIDI Device"
msgstr ""
-#: midi_time_axis.cc:263
+#: midi_time_axis.cc:294
msgid "External Device Mode"
msgstr ""
-#: midi_time_axis.cc:271
+#: midi_time_axis.cc:302
msgid "Chns"
msgstr ""
-#: midi_time_axis.cc:272
+#: midi_time_axis.cc:303
msgid "Click to edit channel settings"
msgstr ""
-#: midi_time_axis.cc:486
+#: midi_time_axis.cc:517
msgid "Show Full Range"
msgstr ""
-#: midi_time_axis.cc:491
+#: midi_time_axis.cc:522
msgid "Fit Contents"
msgstr ""
-#: midi_time_axis.cc:495
+#: midi_time_axis.cc:526
msgid "Note Range"
msgstr ""
-#: midi_time_axis.cc:496
+#: midi_time_axis.cc:527
msgid "Note Mode"
msgstr ""
-#: midi_time_axis.cc:497
+#: midi_time_axis.cc:528
msgid "Channel Selector"
msgstr ""
-#: midi_time_axis.cc:502
+#: midi_time_axis.cc:533
msgid "Color Mode"
msgstr ""
-#: midi_time_axis.cc:561
+#: midi_time_axis.cc:592
msgid "Bender"
msgstr ""
-#: midi_time_axis.cc:565
+#: midi_time_axis.cc:596
msgid "Pressure"
msgstr ""
-#: midi_time_axis.cc:578
+#: midi_time_axis.cc:609
msgid "Controllers"
msgstr ""
-#: midi_time_axis.cc:583
+#: midi_time_axis.cc:614
msgid "No MIDI Channels selected"
msgstr ""
-#: midi_time_axis.cc:640 midi_time_axis.cc:769
+#: midi_time_axis.cc:692 midi_time_axis.cc:821
msgid "Hide all channels"
msgstr ""
-#: midi_time_axis.cc:644 midi_time_axis.cc:773
+#: midi_time_axis.cc:696 midi_time_axis.cc:825
msgid "Show all channels"
msgstr ""
-#: midi_time_axis.cc:655 midi_time_axis.cc:784
+#: midi_time_axis.cc:707 midi_time_axis.cc:836
msgid "Channel %1"
msgstr ""
-#: midi_time_axis.cc:910 midi_time_axis.cc:942
+#: midi_time_axis.cc:962 midi_time_axis.cc:994
msgid "Controllers %1-%2"
msgstr ""
-#: midi_time_axis.cc:933 midi_time_axis.cc:936
+#: midi_time_axis.cc:985 midi_time_axis.cc:988
msgid "Controller %1"
msgstr ""
-#: midi_time_axis.cc:959
+#: midi_time_axis.cc:1011
msgid "Sustained"
msgstr ""
-#: midi_time_axis.cc:966
+#: midi_time_axis.cc:1018
msgid "Percussive"
msgstr ""
-#: midi_time_axis.cc:986
+#: midi_time_axis.cc:1038
msgid "Meter Colors"
msgstr ""
-#: midi_time_axis.cc:993
+#: midi_time_axis.cc:1045
msgid "Channel Colors"
msgstr ""
-#: midi_time_axis.cc:1000
+#: midi_time_axis.cc:1052
msgid "Track Color"
msgstr ""
-#: midi_time_axis.cc:1488 midi_time_axis.cc:1494 midi_time_axis.cc:1504
-#: midi_time_axis.cc:1510
+#: midi_time_axis.cc:1687 midi_time_axis.cc:1693 midi_time_axis.cc:1703
+#: midi_time_axis.cc:1709
msgid "all"
msgstr ""
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1507
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1706
msgid "some"
msgstr ""
-#: midi_tracer.cc:46
+#: midi_tracer.cc:49
msgid "Line history: "
msgstr ""
-#: midi_tracer.cc:54
+#: midi_tracer.cc:57
msgid "Auto-Scroll"
msgstr ""
-#: midi_tracer.cc:55
+#: midi_tracer.cc:58
msgid "Decimal"
msgstr ""
-#: midi_tracer.cc:56 rc_option_editor.cc:657
+#: midi_tracer.cc:59 rc_option_editor.cc:717
msgid "Enabled"
msgstr ""
-#: midi_tracer.cc:57
+#: midi_tracer.cc:60
msgid "Delta times"
msgstr ""
-#: midi_tracer.cc:70
+#: midi_tracer.cc:73
msgid "Port:"
msgstr ""
@@ -6901,35 +7032,35 @@ msgstr ""
msgid "New velocity"
msgstr ""
-#: missing_file_dialog.cc:34
-msgid "Missing File!"
+#: missing_file_dialog.cc:35
+msgid "Missing File"
msgstr ""
-#: missing_file_dialog.cc:36
+#: missing_file_dialog.cc:37
msgid "Select a folder to search"
msgstr ""
-#: missing_file_dialog.cc:37
+#: missing_file_dialog.cc:38
msgid "Add chosen folder to search path, and try again"
msgstr ""
-#: missing_file_dialog.cc:39
+#: missing_file_dialog.cc:40
msgid "Stop loading this session"
msgstr ""
-#: missing_file_dialog.cc:40
+#: missing_file_dialog.cc:41
msgid "Skip all missing files"
msgstr ""
-#: missing_file_dialog.cc:41
+#: missing_file_dialog.cc:42
msgid "Skip this file"
msgstr ""
-#: missing_file_dialog.cc:52
+#: missing_file_dialog.cc:53
msgid "audio"
msgstr ""
-#: missing_file_dialog.cc:65
+#: missing_file_dialog.cc:70
msgid ""
"%1 cannot find the %2 file\n"
"\n"
@@ -6941,7 +7072,7 @@ msgid ""
"\n"
msgstr ""
-#: missing_file_dialog.cc:99
+#: missing_file_dialog.cc:104
msgid "Click to choose an additional folder"
msgstr ""
@@ -6949,7 +7080,7 @@ msgstr ""
msgid "Missing Plugins"
msgstr ""
-#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:59
+#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:60
msgid "OK"
msgstr "OK"
@@ -7005,6 +7136,10 @@ msgstr ""
msgid "Toggle Selected Plugins"
msgstr ""
+#: mixer_actor.cc:70
+msgid "Deselect all srips and processors"
+msgstr ""
+
#: mixer_actor.cc:72 mixer_actor.cc:73
msgid "Scroll Mixer Window to the left"
msgstr ""
@@ -7021,444 +7156,426 @@ msgstr ""
msgid "Could not find mixer.bindings in search path %1"
msgstr ""
-#: mixer_strip.cc:93 mixer_strip.cc:121 mixer_strip.cc:1721
+#: mixer_strip.cc:98 mixer_strip.cc:127
msgid "pre"
msgstr ""
-#: mixer_strip.cc:95 mixer_strip.cc:123 mixer_strip.cc:354 mixer_strip.cc:1300
-#: rc_option_editor.cc:1868
+#: mixer_strip.cc:100 mixer_strip.cc:129 mixer_strip.cc:376
+#: mixer_strip.cc:1373 rc_option_editor.cc:2203
msgid "Comments"
msgstr ""
-#: mixer_strip.cc:147
+#: mixer_strip.cc:151
msgid "Click to toggle the width of this mixer strip."
msgstr ""
-#: mixer_strip.cc:149
+#: mixer_strip.cc:153
msgid ""
"\n"
"%1-%2-click to toggle the width of all strips."
msgstr ""
-#: mixer_strip.cc:156
+#: mixer_strip.cc:160
msgid "Hide this mixer strip"
msgstr ""
-#: mixer_strip.cc:167
+#: mixer_strip.cc:171
msgid "Click to select metering point"
msgstr ""
-#: mixer_strip.cc:173
-msgid "tupni"
-msgstr ""
-
-#: mixer_strip.cc:192
+#: mixer_strip.cc:191
msgid "Isolate Solo"
msgstr ""
-#: mixer_strip.cc:201
+#: mixer_strip.cc:200
msgid "Lock Solo Status"
msgstr ""
-#: mixer_strip.cc:203 mixer_strip.cc:1926
-msgid "lock"
-msgstr "bloquear"
-
-#: mixer_strip.cc:204 mixer_strip.cc:1925
-msgid "iso"
+#: mixer_strip.cc:203 mixer_strip.cc:1982
+msgid "Iso"
msgstr ""
-#: mixer_strip.cc:258
+#: mixer_strip.cc:259
msgid "Mix group"
msgstr ""
-#: mixer_strip.cc:351 rc_option_editor.cc:1865
+#: mixer_strip.cc:372 rc_option_editor.cc:2199
msgid "Phase Invert"
msgstr ""
-#: mixer_strip.cc:352 rc_option_editor.cc:1866 route_ui.cc:1218
-msgid "Solo Safe"
-msgstr ""
-
-#: mixer_strip.cc:355 mixer_ui.cc:124 route_time_axis.cc:673
-msgid "Group"
+#: mixer_strip.cc:373 rc_option_editor.cc:2200
+msgid "Record & Monitor"
msgstr ""
-#: mixer_strip.cc:356 rc_option_editor.cc:1869
-msgid "Meter Point"
+#: mixer_strip.cc:374 rc_option_editor.cc:2201
+msgid "Solo Iso / Lock"
msgstr ""
-#: mixer_strip.cc:470
+#: mixer_strip.cc:530
msgid "Enable/Disable MIDI input"
msgstr ""
-#: mixer_strip.cc:622
-msgid ""
-"Aux\n"
-"Sends"
+#: mixer_strip.cc:694
+msgid "Aux"
msgstr ""
-#: mixer_strip.cc:646
+#: mixer_strip.cc:716
msgid "Snd"
msgstr ""
-#: mixer_strip.cc:701 mixer_strip.cc:829 processor_box.cc:2193
+#: mixer_strip.cc:782 mixer_strip.cc:880 processor_box.cc:2426
msgid "Not connected to audio engine - no I/O changes are possible"
msgstr ""
-#: mixer_strip.cc:1096
+#: mixer_strip.cc:1163
msgid "<b>INPUT</b> to %1"
msgstr ""
-#: mixer_strip.cc:1099
+#: mixer_strip.cc:1166
msgid "<b>OUTPUT</b> from %1"
msgstr ""
-#: mixer_strip.cc:1174
+#: mixer_strip.cc:1241
msgid "Disconnected"
msgstr ""
-#: mixer_strip.cc:1303
+#: mixer_strip.cc:1376
msgid "*Comments*"
msgstr ""
-#: mixer_strip.cc:1310
+#: mixer_strip.cc:1383
msgid "Cmt"
msgstr ""
-#: mixer_strip.cc:1313
+#: mixer_strip.cc:1386
msgid "*Cmt*"
msgstr ""
-#: mixer_strip.cc:1319
+#: mixer_strip.cc:1392
msgid "Click to Add/Edit Comments"
msgstr ""
-#: mixer_strip.cc:1358
-msgid ": comment editor"
-msgstr ""
-
-#: mixer_strip.cc:1435
+#: mixer_strip.cc:1436
msgid "Grp"
msgstr ""
-#: mixer_strip.cc:1438
+#: mixer_strip.cc:1439
msgid "~G"
msgstr ""
-#: mixer_strip.cc:1467
+#: mixer_strip.cc:1468 route_time_axis.cc:534
+msgid "Color..."
+msgstr ""
+
+#: mixer_strip.cc:1470 route_time_axis.cc:536
msgid "Comments..."
msgstr ""
-#: mixer_strip.cc:1469
+#: mixer_strip.cc:1472 route_time_axis.cc:538
+msgid "Inputs..."
+msgstr ""
+
+#: mixer_strip.cc:1474 route_time_axis.cc:540
+msgid "Outputs..."
+msgstr ""
+
+#: mixer_strip.cc:1479
msgid "Save As Template..."
msgstr ""
-#: mixer_strip.cc:1475 route_group_dialog.cc:39 route_time_axis.cc:696
+#: mixer_strip.cc:1485 route_group_dialog.cc:45 route_time_axis.cc:814
msgid "Active"
msgstr "Ativar"
-#: mixer_strip.cc:1482
+#: mixer_strip.cc:1493
msgid "Adjust Latency..."
msgstr ""
-#: mixer_strip.cc:1485
+#: mixer_strip.cc:1496
msgid "Protect Against Denormals"
msgstr ""
-#: mixer_strip.cc:1491 route_time_axis.cc:435
+#: mixer_strip.cc:1502 route_time_axis.cc:553
msgid "Remote Control ID..."
msgstr ""
-#: mixer_strip.cc:1717 mixer_strip.cc:1741
-msgid "in"
-msgstr "entrada"
-
-#: mixer_strip.cc:1725
-msgid "post"
-msgstr ""
-
-#: mixer_strip.cc:1729
-msgid "out"
-msgstr "saída"
-
-#: mixer_strip.cc:1734
-msgid "custom"
+#: mixer_strip.cc:1778
+msgid "Pre"
msgstr ""
-#: mixer_strip.cc:1745
-msgid "pr"
+#: mixer_strip.cc:1782
+msgid "Post"
msgstr ""
-#: mixer_strip.cc:1749
-msgid "po"
+#: mixer_strip.cc:1802
+msgid "Pr"
msgstr ""
-#: mixer_strip.cc:1753
-msgid "o"
+#: mixer_strip.cc:1806
+msgid "Po"
msgstr ""
-#: mixer_strip.cc:1758
-msgid "c"
+#: mixer_strip.cc:1815
+msgid "C"
msgstr ""
-#: mixer_strip.cc:1906 route_ui.cc:143
+#: mixer_strip.cc:1963 route_ui.cc:164
msgid "Disk"
msgstr ""
-#: mixer_strip.cc:1918 monitor_section.cc:63
+#: mixer_strip.cc:1975 monitor_section.cc:71
msgid "AFL"
msgstr ""
-#: mixer_strip.cc:1921 monitor_section.cc:64
+#: mixer_strip.cc:1978 monitor_section.cc:72
msgid "PFL"
msgstr ""
-#: mixer_strip.cc:1933
+#: mixer_strip.cc:1989 meter_strip.cc:380
msgid "D"
msgstr ""
-#: mixer_strip.cc:1953
-msgid "i"
-msgstr ""
-
-#: mixer_strip.cc:2128
-msgid "Pre-fader"
-msgstr ""
+#: mixer_strip.cc:2196
+msgid "Pre Fader"
+msgstr "Pré Fade"
-#: mixer_strip.cc:2129
-msgid "Post-fader"
-msgstr ""
+#: mixer_strip.cc:2197
+msgid "Post Fader"
+msgstr "Pós Fade"
-#: mixer_strip.cc:2166 meter_strip.cc:728
+#: mixer_strip.cc:2235 meter_strip.cc:818
msgid "Change all in Group to %1"
msgstr ""
-#: mixer_strip.cc:2168 meter_strip.cc:730
+#: mixer_strip.cc:2237 meter_strip.cc:820
msgid "Change all to %1"
msgstr ""
-#: mixer_strip.cc:2170 meter_strip.cc:732
+#: mixer_strip.cc:2239 meter_strip.cc:822
msgid "Change same track-type to %1"
msgstr ""
-#: mixer_ui.cc:1189
+#: mixer_ui.cc:129 route_time_axis.cc:791
+msgid "Group"
+msgstr ""
+
+#: mixer_ui.cc:1209
msgid "track display list item for renamed strip not found!"
msgstr "não foi encontrada qualquer trilha para o painel de mixer"
-#: mixer_ui.cc:1273
+#: mixer_ui.cc:1293
msgid "-all-"
msgstr "-tudo-"
-#: mixer_ui.cc:1794
+#: mixer_ui.cc:1829
msgid "Strips"
msgstr "Painéis"
-#: meter_strip.cc:764
+#: meter_strip.cc:157
+msgid "Reset Peak"
+msgstr ""
+
+#: meter_strip.cc:854
msgid "Variable height"
msgstr ""
-#: meter_strip.cc:765
+#: meter_strip.cc:855
msgid "Short"
msgstr ""
-#: meter_strip.cc:766
+#: meter_strip.cc:856
msgid "Tall"
msgstr ""
-#: meter_strip.cc:767
+#: meter_strip.cc:857
msgid "Grande"
msgstr ""
-#: meter_strip.cc:768
+#: meter_strip.cc:858
msgid "Venti"
msgstr ""
-#: meter_patterns.cc:81
+#: meter_patterns.cc:82
msgid "Peak"
msgstr ""
-#: meter_patterns.cc:84
+#: meter_patterns.cc:85
msgid "RMS + Peak"
msgstr ""
-#: meter_patterns.cc:87
+#: meter_patterns.cc:88
msgid "IEC1/DIN"
msgstr ""
-#: meter_patterns.cc:90
+#: meter_patterns.cc:91
msgid "IEC1/Nordic"
msgstr ""
-#: meter_patterns.cc:93
+#: meter_patterns.cc:94
msgid "IEC2/BBC"
msgstr ""
-#: meter_patterns.cc:96
+#: meter_patterns.cc:97
msgid "IEC2/EBU"
msgstr ""
-#: meter_patterns.cc:99
+#: meter_patterns.cc:100
msgid "K20"
msgstr ""
-#: meter_patterns.cc:102
+#: meter_patterns.cc:103
msgid "K14"
msgstr ""
-#: meter_patterns.cc:105
+#: meter_patterns.cc:106
+msgid "K12"
+msgstr ""
+
+#: meter_patterns.cc:109
msgid "VU"
msgstr ""
-#: monitor_section.cc:62
+#: monitor_section.cc:70
msgid "SiP"
msgstr ""
-#: monitor_section.cc:86
-msgid "soloing"
+#: monitor_section.cc:97 route_group_dialog.cc:49
+msgid "Soloing"
msgstr ""
-#: monitor_section.cc:90
-msgid "isolated"
+#: monitor_section.cc:101
+msgid "Isolated"
msgstr ""
-#: monitor_section.cc:94
-msgid "auditioning"
+#: monitor_section.cc:105
+msgid "Auditioning"
msgstr ""
-#: monitor_section.cc:104
+#: monitor_section.cc:115
msgid ""
"When active, something is solo-isolated.\n"
"Click to de-isolate everything"
msgstr ""
-#: monitor_section.cc:107
+#: monitor_section.cc:118
msgid ""
"When active, auditioning is active.\n"
"Click to stop the audition"
msgstr ""
-#: monitor_section.cc:124
+#: monitor_section.cc:135
msgid "Solo controls affect solo-in-place"
msgstr ""
-#: monitor_section.cc:130
+#: monitor_section.cc:141
msgid "Solo controls toggle after-fader-listen"
msgstr ""
-#: monitor_section.cc:136
+#: monitor_section.cc:147
msgid "Solo controls toggle pre-fader-listen"
msgstr ""
-#: monitor_section.cc:144
+#: monitor_section.cc:157
msgid "Gain increase for soloed signals (0dB is normal)"
msgstr ""
-#: monitor_section.cc:150
+#: monitor_section.cc:171
msgid "Solo Boost"
msgstr ""
-#: monitor_section.cc:162
+#: monitor_section.cc:186
msgid ""
"Gain reduction non-soloed signals\n"
"A value above -inf dB causes \"solo-in-front\""
msgstr ""
-#: monitor_section.cc:164
+#: monitor_section.cc:197
msgid "SiP Cut"
msgstr ""
-#: monitor_section.cc:176
+#: monitor_section.cc:212
msgid "Gain reduction to use when dimming monitor outputs"
msgstr ""
-#: monitor_section.cc:181
+#: monitor_section.cc:226 monitor_section.cc:284
msgid "Dim"
msgstr ""
-#: monitor_section.cc:190
-msgid "excl. solo"
+#: monitor_section.cc:236
+msgid "Excl. Solo"
msgstr ""
-#: monitor_section.cc:192
+#: monitor_section.cc:238
msgid "Exclusive solo means that only 1 solo is active at a time"
msgstr ""
-#: monitor_section.cc:199
-msgid "solo » mute"
+#: monitor_section.cc:245
+msgid "Solo » Mute"
msgstr ""
-#: monitor_section.cc:201
+#: monitor_section.cc:247
msgid ""
"If enabled, solo will override mute\n"
"(a soloed & muted track or bus will be audible)"
msgstr ""
-#: monitor_section.cc:227
-msgid "mute"
-msgstr "mudo"
-
-#: monitor_section.cc:238
-msgid "dim"
-msgstr ""
-
-#: monitor_section.cc:245
-msgid "mono"
-msgstr "mono"
-
-#: monitor_section.cc:266
+#: monitor_section.cc:324
msgid "Monitor"
msgstr ""
-#: monitor_section.cc:678
+#: monitor_section.cc:751
msgid "Switch monitor to mono"
msgstr ""
-#: monitor_section.cc:681
+#: monitor_section.cc:754
msgid "Cut monitor"
msgstr ""
-#: monitor_section.cc:684
+#: monitor_section.cc:757
msgid "Dim monitor"
msgstr ""
-#: monitor_section.cc:687
+#: monitor_section.cc:760
msgid "Toggle exclusive solo mode"
msgstr ""
-#: monitor_section.cc:693
+#: monitor_section.cc:766
msgid "Toggle mute overrides solo mode"
msgstr ""
-#: monitor_section.cc:705
+#: monitor_section.cc:778
msgid "Cut monitor channel %1"
msgstr ""
-#: monitor_section.cc:710
+#: monitor_section.cc:783
msgid "Dim monitor channel %1"
msgstr ""
-#: monitor_section.cc:715
+#: monitor_section.cc:788
msgid "Solo monitor channel %1"
msgstr ""
-#: monitor_section.cc:720
+#: monitor_section.cc:793
msgid "Invert monitor channel %1"
msgstr ""
-#: monitor_section.cc:730
+#: monitor_section.cc:803
msgid "In-place solo"
msgstr ""
-#: monitor_section.cc:732
+#: monitor_section.cc:805
msgid "After Fade Listen (AFL) solo"
msgstr ""
-#: monitor_section.cc:734
+#: monitor_section.cc:807
msgid "Pre Fade Listen (PFL) solo"
msgstr ""
-#: mono_panner.cc:101
+#: mono_panner.cc:109 stereo_panner.cc:117
+msgid "bypassed"
+msgstr ""
+
+#: mono_panner.cc:123
#, c-format
msgid "L:%3d R:%3d"
msgstr ""
@@ -7543,7 +7660,7 @@ msgstr ""
msgid "Normalize region"
msgstr ""
-#: normalize_dialog.cc:49 strip_silence_dialog.cc:70
+#: normalize_dialog.cc:49 strip_silence_dialog.cc:66
msgid "dbFS"
msgstr ""
@@ -7647,31 +7764,26 @@ msgid ""
"ardour3/ardour.bindings)\n"
msgstr ""
-#: panner2d.cc:781
+#: panner2d.cc:852
msgid "Panner (2D)"
msgstr ""
-#: panner2d.cc:783 panner_ui.cc:383 plugin_ui.cc:448
+#: panner2d.cc:854 panner_ui.cc:399 plugin_ui.cc:449
msgid "Bypass"
msgstr "Ignorar"
-#: panner2d.cc:787
+#: panner2d.cc:860
msgid "Panner"
msgstr ""
-#: panner_ui.cc:70
+#: panner_ui.cc:71
msgid "Pan automation mode"
msgstr "modo automático de pan"
-#: panner_ui.cc:71
+#: panner_ui.cc:72
msgid "Pan automation type"
msgstr "Tipo do pan automático"
-#: panner_ui.cc:294
-msgid ""
-"No panner user interface is currently available for %1-in/2out tracks/busses"
-msgstr ""
-
#: playlist_selector.cc:43
msgid "Playlists"
msgstr ""
@@ -7697,39 +7809,39 @@ msgstr ""
msgid "Imported"
msgstr ""
-#: plugin_eq_gui.cc:75 plugin_eq_gui.cc:99
+#: plugin_eq_gui.cc:85 plugin_eq_gui.cc:109
msgid "dB scale"
msgstr ""
-#: plugin_eq_gui.cc:106
+#: plugin_eq_gui.cc:116
msgid "Show phase"
msgstr ""
-#: plugin_selector.cc:53 plugin_selector.cc:220
+#: plugin_selector.cc:53 plugin_selector.cc:229
msgid "Name contains"
msgstr ""
-#: plugin_selector.cc:54 plugin_selector.cc:224
+#: plugin_selector.cc:54 plugin_selector.cc:233
msgid "Type contains"
msgstr ""
-#: plugin_selector.cc:55 plugin_selector.cc:222
+#: plugin_selector.cc:55 plugin_selector.cc:231
msgid "Category contains"
msgstr ""
-#: plugin_selector.cc:56 plugin_selector.cc:244
+#: plugin_selector.cc:56 plugin_selector.cc:253
msgid "Author contains"
msgstr ""
-#: plugin_selector.cc:57 plugin_selector.cc:246
+#: plugin_selector.cc:57 plugin_selector.cc:255
msgid "Library contains"
msgstr ""
-#: plugin_selector.cc:58 plugin_selector.cc:210 plugin_selector.cc:521
+#: plugin_selector.cc:58 plugin_selector.cc:219 plugin_selector.cc:537
msgid "Favorites only"
msgstr ""
-#: plugin_selector.cc:59 plugin_selector.cc:214 plugin_selector.cc:521
+#: plugin_selector.cc:59 plugin_selector.cc:223 plugin_selector.cc:537
msgid "Hidden only"
msgstr ""
@@ -7737,189 +7849,189 @@ msgstr ""
msgid "Plugin Manager"
msgstr ""
-#: plugin_selector.cc:84
+#: plugin_selector.cc:85
msgid "Fav"
msgstr ""
-#: plugin_selector.cc:86
+#: plugin_selector.cc:87
msgid "Available Plugins"
msgstr ""
-#: plugin_selector.cc:87
+#: plugin_selector.cc:88
msgid "Type"
msgstr "Tipo"
-#: plugin_selector.cc:88
+#: plugin_selector.cc:89
msgid "Category"
msgstr ""
-#: plugin_selector.cc:89
+#: plugin_selector.cc:90
msgid "Creator"
msgstr ""
-#: plugin_selector.cc:90
+#: plugin_selector.cc:91
msgid "# Audio In"
msgstr ""
-#: plugin_selector.cc:91
+#: plugin_selector.cc:92
msgid "# Audio Out"
msgstr ""
-#: plugin_selector.cc:92
+#: plugin_selector.cc:93
msgid "# MIDI In"
msgstr ""
-#: plugin_selector.cc:93
+#: plugin_selector.cc:94
msgid "# MIDI Out"
msgstr ""
-#: plugin_selector.cc:115
+#: plugin_selector.cc:116
msgid "Plugins to be connected"
msgstr ""
-#: plugin_selector.cc:128
+#: plugin_selector.cc:129
msgid "Add a plugin to the effect list"
msgstr "Adicionar plugin na lista de efeitos"
-#: plugin_selector.cc:132
+#: plugin_selector.cc:133
msgid "Remove a plugin from the effect list"
msgstr "Remover plugin da lista de efeitos"
-#: plugin_selector.cc:134
+#: plugin_selector.cc:135
msgid "Update available plugins"
msgstr "Atualizar plugins disponíveis"
-#: plugin_selector.cc:171
+#: plugin_selector.cc:172
msgid "Insert Plugin(s)"
msgstr ""
-#: plugin_selector.cc:320 plugin_selector.cc:321 plugin_selector.cc:322
-#: plugin_selector.cc:323
+#: plugin_selector.cc:337 plugin_selector.cc:338 plugin_selector.cc:339
+#: plugin_selector.cc:340
msgid "variable"
msgstr ""
-#: plugin_selector.cc:480
+#: plugin_selector.cc:496
msgid ""
"The plugin \"%1\" could not be loaded\n"
"\n"
"See the Log window for more details (maybe)"
msgstr ""
-#: plugin_selector.cc:628
+#: plugin_selector.cc:644
msgid "Favorites"
msgstr ""
-#: plugin_selector.cc:630
+#: plugin_selector.cc:646
msgid "Plugin Manager..."
msgstr ""
-#: plugin_selector.cc:634
+#: plugin_selector.cc:650
msgid "By Creator"
msgstr ""
-#: plugin_selector.cc:637
+#: plugin_selector.cc:653
msgid "By Category"
msgstr ""
-#: plugin_ui.cc:114
+#: plugin_ui.cc:113
msgid "Eh? LADSPA plugins don't have editors!"
msgstr ""
-#: plugin_ui.cc:123 plugin_ui.cc:226
+#: plugin_ui.cc:122 plugin_ui.cc:227
msgid ""
"unknown type of editor-supplying plugin (note: no VST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:126
+#: plugin_ui.cc:125
msgid "unknown type of editor-supplying plugin"
msgstr ""
-#: plugin_ui.cc:256
+#: plugin_ui.cc:257
msgid ""
"unknown type of editor-supplying plugin (note: no linuxVST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:328
+#: plugin_ui.cc:329
msgid "create_lv2_editor called on non-LV2 plugin"
msgstr ""
-#: plugin_ui.cc:414
+#: plugin_ui.cc:415
msgid "Add"
msgstr "Adicionar"
-#: plugin_ui.cc:418
+#: plugin_ui.cc:419
msgid "Description"
msgstr ""
-#: plugin_ui.cc:419
+#: plugin_ui.cc:420
msgid "Plugin analysis"
msgstr ""
-#: plugin_ui.cc:426
+#: plugin_ui.cc:427
msgid ""
"Presets (if any) for this plugin\n"
"(Both factory and user-created)"
msgstr ""
-#: plugin_ui.cc:427
+#: plugin_ui.cc:428
msgid "Save a new preset"
msgstr ""
-#: plugin_ui.cc:428
+#: plugin_ui.cc:429
msgid "Save the current preset"
msgstr ""
-#: plugin_ui.cc:429
+#: plugin_ui.cc:430
msgid "Delete the current preset"
msgstr ""
-#: plugin_ui.cc:430
+#: plugin_ui.cc:431
msgid "Disable signal processing by the plugin"
msgstr ""
-#: plugin_ui.cc:463 plugin_ui.cc:659
+#: plugin_ui.cc:464 plugin_ui.cc:660
msgid ""
"Click to allow the plugin to receive keyboard events that %1 would normally "
"use as a shortcut"
msgstr ""
-#: plugin_ui.cc:464
+#: plugin_ui.cc:465
msgid "Click to enable/disable this plugin"
msgstr ""
-#: plugin_ui.cc:503
+#: plugin_ui.cc:504
msgid "latency (%1 sample)"
msgid_plural "latency (%1 samples)"
msgstr[0] ""
msgstr[1] ""
-#: plugin_ui.cc:505
+#: plugin_ui.cc:506
msgid "latency (%1 ms)"
msgstr ""
-#: plugin_ui.cc:516
+#: plugin_ui.cc:517
msgid "Edit Latency"
msgstr ""
-#: plugin_ui.cc:555
+#: plugin_ui.cc:556
msgid "Plugin preset %1 not found"
msgstr "Pré-seleção do plugin %1 não encontrada"
-#: plugin_ui.cc:592
+#: plugin_ui.cc:593
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"full version"
msgstr ""
-#: plugin_ui.cc:612 plugin_ui.cc:627
+#: plugin_ui.cc:613 plugin_ui.cc:628
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"newer version"
msgstr ""
-#: plugin_ui.cc:666
+#: plugin_ui.cc:667
msgid "Click to allow normal use of %1 keyboard shortcuts"
msgstr ""
@@ -7995,97 +8107,97 @@ msgstr ""
msgid "alsa_pcm"
msgstr ""
-#: port_insert_ui.cc:40
+#: port_insert_ui.cc:39
msgid "Measure Latency"
msgstr ""
-#: port_insert_ui.cc:51
+#: port_insert_ui.cc:50
msgid "Send/Output"
msgstr ""
-#: port_insert_ui.cc:52
+#: port_insert_ui.cc:51
msgid "Return/Input"
msgstr ""
-#: port_insert_ui.cc:86
+#: port_insert_ui.cc:85
msgid "No signal detected"
msgstr ""
-#: port_insert_ui.cc:166
+#: port_insert_ui.cc:165
msgid "Port Insert "
msgstr ""
-#: port_matrix.cc:331 port_matrix.cc:357
+#: port_matrix.cc:332 port_matrix.cc:358
msgid "<b>Sources</b>"
msgstr ""
-#: port_matrix.cc:332 port_matrix.cc:358
+#: port_matrix.cc:333 port_matrix.cc:359
msgid "<b>Destinations</b>"
msgstr ""
-#: port_matrix.cc:440 port_matrix.cc:448
+#: port_matrix.cc:441 port_matrix.cc:449
#, c-format
msgid "Add %s %s"
msgstr ""
-#: port_matrix.cc:456
+#: port_matrix.cc:457
#, c-format
msgid "Rename '%s'..."
msgstr ""
-#: port_matrix.cc:472
+#: port_matrix.cc:473
msgid "Remove all"
msgstr ""
-#: port_matrix.cc:492 port_matrix.cc:504
+#: port_matrix.cc:493 port_matrix.cc:505
#, c-format
msgid "%s all"
msgstr ""
-#: port_matrix.cc:527
+#: port_matrix.cc:528
msgid "Rescan"
msgstr "Rescanear"
-#: port_matrix.cc:529
+#: port_matrix.cc:530
msgid "Show individual ports"
msgstr ""
-#: port_matrix.cc:535
+#: port_matrix.cc:536
msgid "Flip"
msgstr ""
-#: port_matrix.cc:721
+#: port_matrix.cc:722
msgid ""
"It is not possible to add a port here, as the first processor in the track "
"or buss cannot support the new configuration."
msgstr ""
-#: port_matrix.cc:724
+#: port_matrix.cc:725
msgid "Cannot add port"
msgstr ""
-#: port_matrix.cc:746
+#: port_matrix.cc:747
msgid "Port removal not allowed"
msgstr ""
-#: port_matrix.cc:747
+#: port_matrix.cc:748
msgid ""
"This port cannot be removed.\n"
"Either the first plugin in the track or buss cannot accept\n"
"the new number of inputs or the last plugin has more outputs."
msgstr ""
-#: port_matrix.cc:964
+#: port_matrix.cc:965
#, c-format
msgid "Remove '%s'"
msgstr ""
-#: port_matrix.cc:979
+#: port_matrix.cc:980
#, c-format
msgid "%s all from '%s'"
msgstr ""
-#: port_matrix.cc:1045
+#: port_matrix.cc:1046
msgid "channel"
msgstr ""
@@ -8097,197 +8209,224 @@ msgstr ""
msgid "There are no %1 ports to connect."
msgstr ""
-#: processor_box.cc:256
+#: processor_box.cc:150
+msgid "Send"
+msgstr ""
+
+#: processor_box.cc:152
+msgid "Return"
+msgstr ""
+
+#: processor_box.cc:310
+msgid ""
+"\n"
+"This mono plugin has been replicated %1 times."
+msgstr ""
+
+#: processor_box.cc:314
msgid ""
"<b>%1</b>\n"
"Double-click to show GUI.\n"
-"Alt+double-click to show generic GUI."
+"Alt+double-click to show generic GUI.%2"
msgstr ""
-#: processor_box.cc:259
+#: processor_box.cc:317
msgid ""
"<b>%1</b>\n"
-"Double-click to show generic GUI."
+"Double-click to show generic GUI.%2"
msgstr ""
-#: processor_box.cc:372
+#: processor_box.cc:361
+#, c-format
+msgid "(%1x1) "
+msgstr ""
+
+#: processor_box.cc:437
msgid "Show All Controls"
msgstr ""
-#: processor_box.cc:376
+#: processor_box.cc:441
msgid "Hide All Controls"
msgstr ""
-#: processor_box.cc:465
+#: processor_box.cc:475
+msgid "Link panner controls"
+msgstr ""
+
+#: processor_box.cc:559
msgid "on"
msgstr ""
-#: processor_box.cc:465 rc_option_editor.cc:1898 rc_option_editor.cc:1912
+#: processor_box.cc:559 rc_option_editor.cc:2232 rc_option_editor.cc:2246
msgid "off"
msgstr "desligado"
-#: processor_box.cc:742
+#: processor_box.cc:945
msgid ""
"Right-click to add/remove/edit\n"
"plugins,inserts,sends and more"
msgstr ""
-#: processor_box.cc:1197 processor_box.cc:1618
+#: processor_box.cc:1422 processor_box.cc:1848
msgid "Plugin Incompatibility"
msgstr ""
-#: processor_box.cc:1200
+#: processor_box.cc:1425
msgid "You attempted to add the plugin \"%1\" in slot %2.\n"
msgstr ""
-#: processor_box.cc:1206
+#: processor_box.cc:1431
msgid ""
"\n"
"This plugin has:\n"
msgstr ""
-#: processor_box.cc:1209
+#: processor_box.cc:1434
msgid "\t%1 MIDI input\n"
msgid_plural "\t%1 MIDI inputs\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1213
+#: processor_box.cc:1438
msgid "\t%1 audio input\n"
msgid_plural "\t%1 audio inputs\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1216
+#: processor_box.cc:1441
msgid ""
"\n"
"but at the insertion point, there are:\n"
msgstr ""
-#: processor_box.cc:1219
+#: processor_box.cc:1444
msgid "\t%1 MIDI channel\n"
msgid_plural "\t%1 MIDI channels\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1223
+#: processor_box.cc:1448
msgid "\t%1 audio channel\n"
msgid_plural "\t%1 audio channels\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1226
+#: processor_box.cc:1451
msgid ""
"\n"
"%1 is unable to insert this plugin here.\n"
msgstr ""
-#: processor_box.cc:1262
+#: processor_box.cc:1488
msgid "Cannot set up new send: %1"
msgstr ""
-#: processor_box.cc:1621
+#: processor_box.cc:1851
msgid ""
"You cannot reorder these plugins/sends/inserts\n"
"in that way because the inputs and\n"
"outputs will not work correctly."
msgstr ""
-#: processor_box.cc:1805
+#: processor_box.cc:2035
msgid "Rename Processor"
msgstr ""
-#: processor_box.cc:1836
+#: processor_box.cc:2066
msgid "At least 100 IO objects exist with a name like %1 - name not changed"
msgstr ""
-#: processor_box.cc:1970
+#: processor_box.cc:2203
msgid "plugin insert constructor failed"
msgstr ""
-#: processor_box.cc:1981
+#: processor_box.cc:2214
msgid ""
"Copying the set of processors on the clipboard failed,\n"
"probably because the I/O configuration of the plugins\n"
"could not match the configuration of this track."
msgstr ""
-#: processor_box.cc:2027
+#: processor_box.cc:2260
msgid ""
"Do you really want to remove all processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2031 processor_box.cc:2056
+#: processor_box.cc:2264 processor_box.cc:2289
msgid "Yes, remove them all"
msgstr ""
-#: processor_box.cc:2033 processor_box.cc:2058
+#: processor_box.cc:2266 processor_box.cc:2291
msgid "Remove processors"
msgstr ""
-#: processor_box.cc:2048
+#: processor_box.cc:2281
msgid ""
"Do you really want to remove all pre-fader processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2051
+#: processor_box.cc:2284
msgid ""
"Do you really want to remove all post-fader processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2239
+#: processor_box.cc:2472
msgid "New Plugin"
msgstr ""
-#: processor_box.cc:2242
+#: processor_box.cc:2475
msgid "New Insert"
msgstr ""
-#: processor_box.cc:2245
+#: processor_box.cc:2478
msgid "New External Send ..."
msgstr ""
-#: processor_box.cc:2249
+#: processor_box.cc:2482
msgid "New Aux Send ..."
msgstr ""
-#: processor_box.cc:2253
+#: processor_box.cc:2485
+msgid "Send Options"
+msgstr ""
+
+#: processor_box.cc:2487
msgid "Clear (all)"
msgstr ""
-#: processor_box.cc:2255
+#: processor_box.cc:2489
msgid "Clear (pre-fader)"
msgstr ""
-#: processor_box.cc:2257
+#: processor_box.cc:2491
msgid "Clear (post-fader)"
msgstr ""
-#: processor_box.cc:2283
+#: processor_box.cc:2517
msgid "Activate All"
msgstr ""
-#: processor_box.cc:2285
+#: processor_box.cc:2519
msgid "Deactivate All"
msgstr ""
-#: processor_box.cc:2287
+#: processor_box.cc:2521
msgid "A/B Plugins"
msgstr ""
-#: processor_box.cc:2296
+#: processor_box.cc:2530
msgid "Edit with generic controls..."
msgstr ""
-#: processor_box.cc:2599
+#: processor_box.cc:2833
msgid "%1: %2 (by %3)"
msgstr ""
-#: processor_box.cc:2601
-msgid "%2 (by %3)"
+#: processor_box.cc:2835
+msgid "%1 (by %2)"
msgstr ""
#: patch_change_dialog.cc:51
@@ -8302,11 +8441,11 @@ msgstr ""
msgid "Patch"
msgstr ""
-#: patch_change_dialog.cc:99 step_entry.cc:429
+#: patch_change_dialog.cc:99 step_entry.cc:430
msgid "Program"
msgstr ""
-#: patch_change_dialog.cc:107 step_entry.cc:421
+#: patch_change_dialog.cc:107 step_entry.cc:422
msgid "Bank"
msgstr ""
@@ -8338,120 +8477,120 @@ msgstr ""
msgid "Snap note end"
msgstr ""
-#: rc_option_editor.cc:67
+#: rc_option_editor.cc:76
msgid "Click audio file:"
msgstr ""
-#: rc_option_editor.cc:70 rc_option_editor.cc:77
+#: rc_option_editor.cc:79 rc_option_editor.cc:86
msgid "Browse..."
msgstr ""
-#: rc_option_editor.cc:74
+#: rc_option_editor.cc:83
msgid "Click emphasis audio file:"
msgstr ""
-#: rc_option_editor.cc:106
+#: rc_option_editor.cc:115
msgid "Choose Click"
msgstr ""
-#: rc_option_editor.cc:126
+#: rc_option_editor.cc:135
msgid "Choose Click Emphasis"
msgstr ""
-#: rc_option_editor.cc:158
+#: rc_option_editor.cc:167
msgid "Limit undo history to"
msgstr ""
-#: rc_option_editor.cc:159
+#: rc_option_editor.cc:168
msgid "Save undo history of"
msgstr ""
-#: rc_option_editor.cc:168 rc_option_editor.cc:175
+#: rc_option_editor.cc:177 rc_option_editor.cc:184
msgid "commands"
msgstr ""
-#: rc_option_editor.cc:313
+#: rc_option_editor.cc:322
msgid "Edit using:"
msgstr ""
-#: rc_option_editor.cc:319 rc_option_editor.cc:345 rc_option_editor.cc:372
+#: rc_option_editor.cc:328 rc_option_editor.cc:354 rc_option_editor.cc:381
msgid "+ button"
msgstr "+ button"
-#: rc_option_editor.cc:339
+#: rc_option_editor.cc:348
msgid "Delete using:"
msgstr ""
-#: rc_option_editor.cc:366
+#: rc_option_editor.cc:375
msgid "Insert note using:"
msgstr ""
-#: rc_option_editor.cc:393
+#: rc_option_editor.cc:402
msgid "Ignore snap using:"
msgstr ""
-#: rc_option_editor.cc:409
+#: rc_option_editor.cc:418
msgid "Keyboard layout:"
msgstr ""
-#: rc_option_editor.cc:532
+#: rc_option_editor.cc:541
msgid "Font scaling:"
msgstr ""
-#: rc_option_editor.cc:584
+#: rc_option_editor.cc:591
+msgid "Waveform Clip Level (dBFS):"
+msgstr ""
+
+#: rc_option_editor.cc:643
msgid "Playback (seconds of buffering):"
msgstr ""
-#: rc_option_editor.cc:597
+#: rc_option_editor.cc:656
msgid "Recording (seconds of buffering):"
msgstr ""
-#: rc_option_editor.cc:654
+#: rc_option_editor.cc:714
msgid "Control Surface Protocol"
msgstr ""
-#: rc_option_editor.cc:658
-msgid "Feedback"
-msgstr ""
-
-#: rc_option_editor.cc:663
+#: rc_option_editor.cc:723
msgid "Double-click on a name to edit settings for an enabled protocol"
msgstr ""
-#: rc_option_editor.cc:815
+#: rc_option_editor.cc:886
msgid "Show Video Export Info before export"
msgstr ""
-#: rc_option_editor.cc:816
+#: rc_option_editor.cc:887
msgid "Show Video Server Startup Dialog"
msgstr ""
-#: rc_option_editor.cc:817
+#: rc_option_editor.cc:888
msgid "Advanced Setup (remote video server)"
msgstr ""
-#: rc_option_editor.cc:825
+#: rc_option_editor.cc:896
msgid ""
"<b>When enabled</b> you can speficify a custom video-server URL and docroot. "
"- Do not enable this option unless you know what you are doing."
msgstr ""
-#: rc_option_editor.cc:827
+#: rc_option_editor.cc:898
msgid "Video Server URL:"
msgstr ""
-#: rc_option_editor.cc:832
+#: rc_option_editor.cc:903
msgid ""
"Base URL of the video-server including http prefix. This is usually 'http://"
"hostname.example.org:1554/' and defaults to 'http://localhost:1554/' when "
"the video-server is running locally"
msgstr ""
-#: rc_option_editor.cc:834
+#: rc_option_editor.cc:905
msgid "Video Folder:"
msgstr ""
-#: rc_option_editor.cc:839
+#: rc_option_editor.cc:910
msgid ""
"Local path to the video-server document-root. Only files below this "
"directory will be accessible by the video-server. If the server run on a "
@@ -8460,113 +8599,194 @@ msgid ""
"monitor and file-browsing when opening/adding a video file."
msgstr ""
-#: rc_option_editor.cc:846
+#: rc_option_editor.cc:917
msgid ""
"<b>When enabled</b> an information window with details is displayed before "
"the video-export dialog."
msgstr ""
-#: rc_option_editor.cc:851
+#: rc_option_editor.cc:922
msgid ""
"<b>When enabled</b> the video server is never launched automatically without "
"confirmation"
msgstr ""
-#: rc_option_editor.cc:991
+#: rc_option_editor.cc:1004
+msgid "Always Display Plugin Scan Progress"
+msgstr ""
+
+#: rc_option_editor.cc:1005
+msgid "Scan for new VST Plugins on Application Start"
+msgstr ""
+
+#: rc_option_editor.cc:1016
+msgid "General"
+msgstr ""
+
+#: rc_option_editor.cc:1022
+msgid "Scan for Plugins"
+msgstr ""
+
+#: rc_option_editor.cc:1029
+msgid ""
+"<b>When enabled</b> a popup window showing plugin scan progress is displayed "
+"for indexing (cache load) and discovery (detect new plugins)"
+msgstr ""
+
+#: rc_option_editor.cc:1035
+msgid ""
+"Specify the default timeout for plugin instantiation in 1/10 seconds. "
+"Plugins that require more time to load will be blacklisted. A value of 0 "
+"disables the timeout."
+msgstr ""
+
+#: rc_option_editor.cc:1037
+msgid "Scan Time Out [deciseconds]"
+msgstr ""
+
+#: rc_option_editor.cc:1045
+msgid "VST"
+msgstr ""
+
+#: rc_option_editor.cc:1051
+msgid "Clear VST Cache"
+msgstr ""
+
+#: rc_option_editor.cc:1055
+msgid "Clear VST Blacklist"
+msgstr ""
+
+#: rc_option_editor.cc:1063
+msgid ""
+"<b>When enabled</b> new VST plugins are searched, tested and added to the "
+"cache index on application start. When disabled new plugins will only be "
+"available after triggering a 'Scan' manually"
+msgstr ""
+
+#: rc_option_editor.cc:1066
+msgid "Linux VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1073
+msgid "Windows VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1135
+msgid "Set Windows VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1150
+msgid "Set Linux VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1231
msgid "%1 Preferences"
msgstr ""
-#: rc_option_editor.cc:1002
+#: rc_option_editor.cc:1242
msgid "DSP CPU Utilization"
msgstr ""
-#: rc_option_editor.cc:1006
+#: rc_option_editor.cc:1246
msgid "Signal processing uses"
msgstr ""
-#: rc_option_editor.cc:1011
+#: rc_option_editor.cc:1251
msgid "all but one processor"
msgstr ""
-#: rc_option_editor.cc:1012
+#: rc_option_editor.cc:1252
msgid "all available processors"
msgstr ""
-#: rc_option_editor.cc:1015
+#: rc_option_editor.cc:1255
msgid "%1 processors"
msgstr ""
-#: rc_option_editor.cc:1018
+#: rc_option_editor.cc:1258
msgid "This setting will only take effect when %1 is restarted."
msgstr ""
-#: rc_option_editor.cc:1023
+#: rc_option_editor.cc:1263
msgid "Options|Undo"
msgstr ""
-#: rc_option_editor.cc:1030
+#: rc_option_editor.cc:1270
msgid "Verify removal of last capture"
msgstr ""
-#: rc_option_editor.cc:1038
+#: rc_option_editor.cc:1278
msgid "Make periodic backups of the session file"
msgstr ""
-#: rc_option_editor.cc:1043
+#: rc_option_editor.cc:1283
msgid "Session Management"
msgstr ""
-#: rc_option_editor.cc:1048
+#: rc_option_editor.cc:1288
msgid "Always copy imported files"
msgstr ""
-#: rc_option_editor.cc:1055
+#: rc_option_editor.cc:1295
msgid "Default folder for new sessions:"
msgstr ""
-#: rc_option_editor.cc:1063
+#: rc_option_editor.cc:1303
msgid "Maximum number of recent sessions"
msgstr ""
-#: rc_option_editor.cc:1076
+#: rc_option_editor.cc:1316
msgid "Click gain level"
msgstr ""
-#: rc_option_editor.cc:1081 route_time_axis.cc:215 route_time_axis.cc:676
+#: rc_option_editor.cc:1321 route_time_axis.cc:266 route_time_axis.cc:794
msgid "Automation"
msgstr "Automação"
-#: rc_option_editor.cc:1086
+#: rc_option_editor.cc:1326
msgid "Thinning factor (larger value => less data)"
msgstr ""
-#: rc_option_editor.cc:1095
+#: rc_option_editor.cc:1335
msgid "Automation sampling interval (milliseconds)"
msgstr ""
-#: rc_option_editor.cc:1107
+#: rc_option_editor.cc:1347
msgid "Keep record-enable engaged on stop"
msgstr ""
-#: rc_option_editor.cc:1116
+#: rc_option_editor.cc:1356
msgid "Stop recording when an xrun occurs"
msgstr ""
-#: rc_option_editor.cc:1121
+#: rc_option_editor.cc:1361
msgid ""
"<b>When enabled</b> %1 will stop recording if an over- or underrun is "
"detected by the audio engine"
msgstr ""
-#: rc_option_editor.cc:1127
+#: rc_option_editor.cc:1367
+msgid "Play loop is a transport mode"
+msgstr ""
+
+#: rc_option_editor.cc:1372
+msgid ""
+"<b>When enabled</b> the loop button does not start playback but forces "
+"playback to always play the loop\n"
+"\n"
+"<b>When disabled</b> the loop button starts playing the loop, but stop then "
+"cancels loop playback"
+msgstr ""
+
+#: rc_option_editor.cc:1378
msgid "Create markers where xruns occur"
msgstr ""
-#: rc_option_editor.cc:1136
+#: rc_option_editor.cc:1387
msgid "Stop at the end of the session"
msgstr ""
-#: rc_option_editor.cc:1141
+#: rc_option_editor.cc:1392
msgid ""
"<b>When enabled</b> if %1 is <b>not recording</b>, it will stop the "
"transport when it reaches the current session end marker\n"
@@ -8575,11 +8795,11 @@ msgid ""
"all times"
msgstr ""
-#: rc_option_editor.cc:1149
+#: rc_option_editor.cc:1400
msgid "Do seamless looping (not possible when slaved to MTC, LTC etc)"
msgstr ""
-#: rc_option_editor.cc:1154
+#: rc_option_editor.cc:1405
msgid ""
"<b>When enabled</b> this will loop by reading ahead and wrapping around at "
"the loop point, preventing any need to do a transport locate at the end of "
@@ -8589,39 +8809,39 @@ msgid ""
"loop when %1 reaches the end which will often cause a small click or delay"
msgstr ""
-#: rc_option_editor.cc:1162
+#: rc_option_editor.cc:1413
msgid "Disable per-track record disarm while rolling"
msgstr ""
-#: rc_option_editor.cc:1166
+#: rc_option_editor.cc:1417
msgid ""
"<b>When enabled</b> this will prevent you from accidentally stopping "
"specific tracks recording during a take"
msgstr ""
-#: rc_option_editor.cc:1171
+#: rc_option_editor.cc:1422
msgid "12dB gain reduction during fast-forward and fast-rewind"
msgstr ""
-#: rc_option_editor.cc:1175
+#: rc_option_editor.cc:1426
msgid ""
"This will reduce the unpleasant increase in perceived volume that occurs "
"when fast-forwarding or rewinding through some kinds of audio"
msgstr ""
-#: rc_option_editor.cc:1179
+#: rc_option_editor.cc:1430
msgid "Sync/Slave"
msgstr ""
-#: rc_option_editor.cc:1183
+#: rc_option_editor.cc:1434
msgid "External timecode source"
msgstr ""
-#: rc_option_editor.cc:1193
+#: rc_option_editor.cc:1444
msgid "Match session video frame rate to external timecode"
msgstr ""
-#: rc_option_editor.cc:1199
+#: rc_option_editor.cc:1450
msgid ""
"This option controls the value of the video frame rate <i>while chasing</i> "
"an external timecode source.\n"
@@ -8635,21 +8855,21 @@ msgid ""
"external timecode standard and the session standard."
msgstr ""
-#: rc_option_editor.cc:1209
+#: rc_option_editor.cc:1460
msgid "External timecode is sync locked"
msgstr ""
-#: rc_option_editor.cc:1215
+#: rc_option_editor.cc:1466
msgid ""
"<b>When enabled</b> indicates that the selected external timecode source "
"shares sync (Black &amp; Burst, Wordclock, etc) with the audio interface."
msgstr ""
-#: rc_option_editor.cc:1222
+#: rc_option_editor.cc:1473
msgid "Lock to 29.9700 fps instead of 30000/1001"
msgstr ""
-#: rc_option_editor.cc:1228
+#: rc_option_editor.cc:1479
msgid ""
"<b>When enabled</b> the external timecode source is assumed to use 29.97 fps "
"instead of 30000/1001.\n"
@@ -8662,139 +8882,139 @@ msgid ""
"variant of using exactly 29.97 fps has zero timecode drift.\n"
msgstr ""
-#: rc_option_editor.cc:1238
+#: rc_option_editor.cc:1489
msgid "LTC Reader"
msgstr ""
-#: rc_option_editor.cc:1242
+#: rc_option_editor.cc:1493
msgid "LTC incoming port"
msgstr ""
-#: rc_option_editor.cc:1255
+#: rc_option_editor.cc:1506
msgid "LTC Generator"
msgstr ""
-#: rc_option_editor.cc:1260
+#: rc_option_editor.cc:1511
msgid "Enable LTC generator"
msgstr ""
-#: rc_option_editor.cc:1267
-msgid "send LTC while stopped"
+#: rc_option_editor.cc:1518
+msgid "Send LTC while stopped"
msgstr ""
-#: rc_option_editor.cc:1273
+#: rc_option_editor.cc:1524
msgid ""
"<b>When enabled</b> %1 will continue to send LTC information even when the "
"transport (playhead) is not moving"
msgstr ""
-#: rc_option_editor.cc:1279
+#: rc_option_editor.cc:1530
msgid "LTC generator level"
msgstr ""
-#: rc_option_editor.cc:1283
+#: rc_option_editor.cc:1534
msgid ""
"Specify the Peak Volume of the generated LTC signal in dbFS. A good value "
"is 0dBu ^= -18dbFS in an EBU calibrated system"
msgstr ""
-#: rc_option_editor.cc:1295
-msgid "Link selection of regions and tracks"
+#: rc_option_editor.cc:1546
+msgid "Allow dragging of playhead"
msgstr ""
-#: rc_option_editor.cc:1303
+#: rc_option_editor.cc:1554
msgid "Move relevant automation when audio regions are moved"
msgstr ""
-#: rc_option_editor.cc:1311
+#: rc_option_editor.cc:1562
msgid "Show meters on tracks in the editor"
msgstr ""
-#: rc_option_editor.cc:1319
+#: rc_option_editor.cc:1570
msgid "Display master-meter in the toolbar"
msgstr ""
-#: rc_option_editor.cc:1326
+#: rc_option_editor.cc:1577
+msgid "Default fade shape"
+msgstr ""
+
+#: rc_option_editor.cc:1596
msgid "Regions in active edit groups are edited together"
msgstr ""
-#: rc_option_editor.cc:1327
+#: rc_option_editor.cc:1597
msgid "whenever they overlap in time"
msgstr ""
-#: rc_option_editor.cc:1328
+#: rc_option_editor.cc:1598
msgid "only if they have identical length, position and origin"
msgstr ""
-#: rc_option_editor.cc:1338
+#: rc_option_editor.cc:1608
msgid "Make rubberband selection rectangle snap to the grid"
msgstr ""
-#: rc_option_editor.cc:1346
+#: rc_option_editor.cc:1616
msgid "Show waveforms in regions"
msgstr ""
-#: rc_option_editor.cc:1354
+#: rc_option_editor.cc:1624
msgid "Show gain envelopes in audio regions"
msgstr ""
-#: rc_option_editor.cc:1355
+#: rc_option_editor.cc:1625
msgid "in all modes"
msgstr ""
-#: rc_option_editor.cc:1356
+#: rc_option_editor.cc:1626
msgid "only in region gain mode"
msgstr ""
-#: rc_option_editor.cc:1363
+#: rc_option_editor.cc:1633
msgid "Waveform scale"
msgstr ""
-#: rc_option_editor.cc:1368
+#: rc_option_editor.cc:1638
msgid "linear"
msgstr "linear"
-#: rc_option_editor.cc:1369
+#: rc_option_editor.cc:1639
msgid "logarithmic"
msgstr ""
-#: rc_option_editor.cc:1375
+#: rc_option_editor.cc:1645
msgid "Waveform shape"
msgstr ""
-#: rc_option_editor.cc:1380
+#: rc_option_editor.cc:1650
msgid "traditional"
msgstr ""
-#: rc_option_editor.cc:1381
+#: rc_option_editor.cc:1651
msgid "rectified"
msgstr ""
-#: rc_option_editor.cc:1388
+#: rc_option_editor.cc:1660
msgid "Show waveforms for audio while it is being recorded"
msgstr ""
-#: rc_option_editor.cc:1396
+#: rc_option_editor.cc:1668
msgid "Show zoom toolbar"
msgstr ""
-#: rc_option_editor.cc:1404
-msgid "Color regions using their track's color"
-msgstr ""
-
-#: rc_option_editor.cc:1412
+#: rc_option_editor.cc:1676
msgid "Update editor window during drags of the summary"
msgstr ""
-#: rc_option_editor.cc:1420
+#: rc_option_editor.cc:1684
msgid "Synchronise editor and mixer selection"
msgstr ""
-#: rc_option_editor.cc:1427
+#: rc_option_editor.cc:1691
msgid "Name new markers"
msgstr ""
-#: rc_option_editor.cc:1433
+#: rc_option_editor.cc:1697
msgid ""
"If enabled, popup a dialog when a new marker is created to allow its name to "
"be set as it is created.\n"
@@ -8802,656 +9022,676 @@ msgid ""
"You can always rename markers by right-clicking on them"
msgstr ""
-#: rc_option_editor.cc:1439
+#: rc_option_editor.cc:1703
msgid "Auto-scroll editor window when dragging near its edges"
msgstr ""
-#: rc_option_editor.cc:1446
+#: rc_option_editor.cc:1710
msgid "Buffering"
msgstr ""
-#: rc_option_editor.cc:1454
+#: rc_option_editor.cc:1718
msgid "Record monitoring handled by"
msgstr ""
-#: rc_option_editor.cc:1460
+#: rc_option_editor.cc:1724
msgid "via Audio Driver"
msgstr ""
-#: rc_option_editor.cc:1463
-msgid "ardour"
-msgstr ""
-
-#: rc_option_editor.cc:1464
+#: rc_option_editor.cc:1730
msgid "audio hardware"
msgstr ""
-#: rc_option_editor.cc:1471
+#: rc_option_editor.cc:1737
msgid "Tape machine mode"
msgstr ""
-#: rc_option_editor.cc:1476
+#: rc_option_editor.cc:1742
msgid "Connection of tracks and busses"
msgstr ""
-#: rc_option_editor.cc:1481
+#: rc_option_editor.cc:1747
msgid "Auto-connect master/monitor busses"
msgstr ""
-#: rc_option_editor.cc:1488
+#: rc_option_editor.cc:1754
msgid "Connect track inputs"
msgstr ""
-#: rc_option_editor.cc:1493
+#: rc_option_editor.cc:1759
msgid "automatically to physical inputs"
msgstr ""
-#: rc_option_editor.cc:1494 rc_option_editor.cc:1507
+#: rc_option_editor.cc:1760 rc_option_editor.cc:1773
msgid "manually"
msgstr ""
-#: rc_option_editor.cc:1500
+#: rc_option_editor.cc:1766
msgid "Connect track and bus outputs"
msgstr ""
-#: rc_option_editor.cc:1505
+#: rc_option_editor.cc:1771
msgid "automatically to physical outputs"
msgstr ""
-#: rc_option_editor.cc:1506
+#: rc_option_editor.cc:1772
msgid "automatically to master bus"
msgstr ""
-#: rc_option_editor.cc:1511
+#: rc_option_editor.cc:1777
msgid "Denormals"
msgstr ""
-#: rc_option_editor.cc:1516
+#: rc_option_editor.cc:1782
msgid "Use DC bias to protect against denormals"
msgstr ""
-#: rc_option_editor.cc:1523
+#: rc_option_editor.cc:1789
msgid "Processor handling"
msgstr ""
-#: rc_option_editor.cc:1528
+#: rc_option_editor.cc:1794
msgid "no processor handling"
msgstr ""
-#: rc_option_editor.cc:1533
+#: rc_option_editor.cc:1799
msgid "use FlushToZero"
msgstr ""
-#: rc_option_editor.cc:1537
+#: rc_option_editor.cc:1803
msgid "use DenormalsAreZero"
msgstr ""
-#: rc_option_editor.cc:1541
+#: rc_option_editor.cc:1807
msgid "use FlushToZero and DenormalsAreZero"
msgstr ""
-#: rc_option_editor.cc:1551
+#: rc_option_editor.cc:1817
msgid "Silence plugins when the transport is stopped"
msgstr ""
-#: rc_option_editor.cc:1559
+#: rc_option_editor.cc:1825
msgid "Make new plugins active"
msgstr ""
-#: rc_option_editor.cc:1567
+#: rc_option_editor.cc:1835
msgid "Enable automatic analysis of audio"
msgstr ""
-#: rc_option_editor.cc:1575
+#: rc_option_editor.cc:1843
msgid "Replicate missing region channels"
msgstr ""
-#: rc_option_editor.cc:1582 rc_option_editor.cc:1597 rc_option_editor.cc:1609
-#: rc_option_editor.cc:1621 rc_option_editor.cc:1633 rc_option_editor.cc:1637
-#: rc_option_editor.cc:1645 rc_option_editor.cc:1653 rc_option_editor.cc:1661
-#: rc_option_editor.cc:1663 rc_option_editor.cc:1671 rc_option_editor.cc:1679
-#: rc_option_editor.cc:1687
+#: rc_option_editor.cc:1850 rc_option_editor.cc:1852 rc_option_editor.cc:1867
+#: rc_option_editor.cc:1879 rc_option_editor.cc:1891 rc_option_editor.cc:1903
+#: rc_option_editor.cc:1907 rc_option_editor.cc:1915 rc_option_editor.cc:1923
+#: rc_option_editor.cc:1931 rc_option_editor.cc:1933 rc_option_editor.cc:1941
+#: rc_option_editor.cc:1949 rc_option_editor.cc:1957 rc_option_editor.cc:1965
+#: rc_option_editor.cc:1967
msgid "Solo / mute"
msgstr ""
-#: rc_option_editor.cc:1585
+#: rc_option_editor.cc:1855
msgid "Solo-in-place mute cut (dB)"
msgstr ""
-#: rc_option_editor.cc:1592
+#: rc_option_editor.cc:1862
msgid "Solo controls are Listen controls"
msgstr ""
-#: rc_option_editor.cc:1601
+#: rc_option_editor.cc:1871
msgid "Listen Position"
msgstr ""
-#: rc_option_editor.cc:1606
+#: rc_option_editor.cc:1876
msgid "after-fader (AFL)"
msgstr ""
-#: rc_option_editor.cc:1607
+#: rc_option_editor.cc:1877
msgid "pre-fader (PFL)"
msgstr ""
-#: rc_option_editor.cc:1613
+#: rc_option_editor.cc:1883
msgid "PFL signals come from"
msgstr ""
-#: rc_option_editor.cc:1618
+#: rc_option_editor.cc:1888
msgid "before pre-fader processors"
msgstr ""
-#: rc_option_editor.cc:1619
+#: rc_option_editor.cc:1889
msgid "pre-fader but after pre-fader processors"
msgstr ""
-#: rc_option_editor.cc:1625
+#: rc_option_editor.cc:1895
msgid "AFL signals come from"
msgstr ""
-#: rc_option_editor.cc:1630
+#: rc_option_editor.cc:1900
msgid "immediately post-fader"
msgstr ""
-#: rc_option_editor.cc:1631
+#: rc_option_editor.cc:1901
msgid "after post-fader processors (before pan)"
msgstr ""
-#: rc_option_editor.cc:1640
+#: rc_option_editor.cc:1910
msgid "Exclusive solo"
msgstr ""
-#: rc_option_editor.cc:1648
+#: rc_option_editor.cc:1918
msgid "Show solo muting"
msgstr ""
-#: rc_option_editor.cc:1656
+#: rc_option_editor.cc:1926
msgid "Soloing overrides muting"
msgstr ""
-#: rc_option_editor.cc:1661
+#: rc_option_editor.cc:1931
msgid "Default track / bus muting options"
msgstr ""
-#: rc_option_editor.cc:1666
+#: rc_option_editor.cc:1936
msgid "Mute affects pre-fader sends"
msgstr ""
-#: rc_option_editor.cc:1674
+#: rc_option_editor.cc:1944
msgid "Mute affects post-fader sends"
msgstr ""
-#: rc_option_editor.cc:1682
+#: rc_option_editor.cc:1952
msgid "Mute affects control outputs"
msgstr ""
-#: rc_option_editor.cc:1690
+#: rc_option_editor.cc:1960
msgid "Mute affects main outputs"
msgstr ""
-#: rc_option_editor.cc:1706
+#: rc_option_editor.cc:1965
+msgid "Send Routing"
+msgstr ""
+
+#: rc_option_editor.cc:1970
+msgid "Link panners of Aux and External Sends with main panner by default"
+msgstr ""
+
+#: rc_option_editor.cc:1986
msgid "Send MIDI Time Code"
msgstr ""
-#: rc_option_editor.cc:1714
+#: rc_option_editor.cc:1994
msgid "Percentage either side of normal transport speed to transmit MTC"
msgstr ""
-#: rc_option_editor.cc:1723
+#: rc_option_editor.cc:2003
msgid "Obey MIDI Machine Control commands"
msgstr ""
-#: rc_option_editor.cc:1731
+#: rc_option_editor.cc:2011
msgid "Send MIDI Machine Control commands"
msgstr ""
-#: rc_option_editor.cc:1739
+#: rc_option_editor.cc:2019
msgid "Send MIDI control feedback"
msgstr ""
-#: rc_option_editor.cc:1747
+#: rc_option_editor.cc:2027
msgid "Inbound MMC device ID"
msgstr ""
-#: rc_option_editor.cc:1756
+#: rc_option_editor.cc:2036
msgid "Outbound MMC device ID"
msgstr ""
-#: rc_option_editor.cc:1765
+#: rc_option_editor.cc:2045
msgid "Initial program change"
msgstr ""
-#: rc_option_editor.cc:1774
+#: rc_option_editor.cc:2054
msgid "Display first MIDI bank/program as 0"
msgstr ""
-#: rc_option_editor.cc:1782
+#: rc_option_editor.cc:2062
msgid "Never display periodic MIDI messages (MTC, MIDI Clock)"
msgstr ""
-#: rc_option_editor.cc:1790
+#: rc_option_editor.cc:2070
msgid "Sound MIDI notes as they are selected"
msgstr ""
-#: rc_option_editor.cc:1798 rc_option_editor.cc:1808 rc_option_editor.cc:1810
+#: rc_option_editor.cc:2075
+msgid "Midi Audition"
+msgstr ""
+
+#: rc_option_editor.cc:2079
+msgid "Midi Audition Synth (LV2)"
+msgstr ""
+
+#: rc_option_editor.cc:2103 rc_option_editor.cc:2113 rc_option_editor.cc:2115
msgid "User interaction"
msgstr ""
-#: rc_option_editor.cc:1801
+#: rc_option_editor.cc:2106
msgid ""
"Use translations of %1 messages\n"
" <i>(requires a restart of %1 to take effect)</i>\n"
" <i>(if available for your language preferences)</i>"
msgstr ""
-#: rc_option_editor.cc:1808
+#: rc_option_editor.cc:2113
msgid "Keyboard"
msgstr ""
-#: rc_option_editor.cc:1818
+#: rc_option_editor.cc:2123
msgid "Control surface remote ID"
msgstr ""
-#: rc_option_editor.cc:1823
+#: rc_option_editor.cc:2128
msgid "assigned by user"
msgstr ""
-#: rc_option_editor.cc:1824
+#: rc_option_editor.cc:2129
msgid "follows order of mixer"
msgstr ""
-#: rc_option_editor.cc:1833 rc_option_editor.cc:1841 rc_option_editor.cc:1851
-#: rc_option_editor.cc:1872 rc_option_editor.cc:1881 rc_option_editor.cc:1889
-#: rc_option_editor.cc:1903 rc_option_editor.cc:1922 rc_option_editor.cc:1938
-#: rc_option_editor.cc:1954 rc_option_editor.cc:1968 rc_option_editor.cc:1982
-#: rc_option_editor.cc:1984
+#: rc_option_editor.cc:2143 rc_option_editor.cc:2151 rc_option_editor.cc:2159
+#: rc_option_editor.cc:2169 rc_option_editor.cc:2193 rc_option_editor.cc:2206
+#: rc_option_editor.cc:2215
msgid "Preferences|GUI"
msgstr ""
-#: rc_option_editor.cc:1836
+#: rc_option_editor.cc:2146
msgid "Graphically indicate mouse pointer hovering over various widgets"
msgstr ""
-#: rc_option_editor.cc:1844
+#: rc_option_editor.cc:2154
msgid "Show tooltips if mouse hovers over a control"
msgstr ""
-#: rc_option_editor.cc:1854
-msgid "GUI"
+#: rc_option_editor.cc:2162
+msgid "Use name highlight bars in region displays"
msgstr ""
-#: rc_option_editor.cc:1857
-msgid "update transport clock display every 40ms instead of every 100ms"
+#: rc_option_editor.cc:2175
+msgid "update transport clock display at FPS instead of every 100ms"
msgstr ""
-#: rc_option_editor.cc:1874
+#: rc_option_editor.cc:2184
+msgid "Lock timeout (seconds)"
+msgstr ""
+
+#: rc_option_editor.cc:2192
+msgid "Lock GUI after this many idle seconds (zero to never lock)"
+msgstr ""
+
+#: rc_option_editor.cc:2208
msgid "Mixer Strip"
msgstr ""
-#: rc_option_editor.cc:1884
+#: rc_option_editor.cc:2218
msgid "Use narrow strips in the mixer by default"
msgstr ""
-#: rc_option_editor.cc:1893
+#: rc_option_editor.cc:2223 rc_option_editor.cc:2237 rc_option_editor.cc:2256
+#: rc_option_editor.cc:2272 rc_option_editor.cc:2288 rc_option_editor.cc:2302
+#: rc_option_editor.cc:2316 rc_option_editor.cc:2318
+msgid "Preferences|Metering"
+msgstr ""
+
+#: rc_option_editor.cc:2227
msgid "Peak hold time"
msgstr ""
-#: rc_option_editor.cc:1899
+#: rc_option_editor.cc:2233
msgid "short"
msgstr ""
-#: rc_option_editor.cc:1900
+#: rc_option_editor.cc:2234
msgid "medium"
msgstr ""
-#: rc_option_editor.cc:1901
+#: rc_option_editor.cc:2235
msgid "long"
msgstr ""
-#: rc_option_editor.cc:1907
+#: rc_option_editor.cc:2241
msgid "DPM fall-off"
msgstr ""
-#: rc_option_editor.cc:1913
+#: rc_option_editor.cc:2247
msgid "slowest [6.6dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1914
+#: rc_option_editor.cc:2248
msgid "slow [8.6dB/sec] (BBC PPM, EBU PPM)"
msgstr ""
-#: rc_option_editor.cc:1915
+#: rc_option_editor.cc:2249
msgid "slowish [12.0dB/sec] (DIN)"
msgstr ""
-#: rc_option_editor.cc:1916
+#: rc_option_editor.cc:2250
msgid "moderate [13.3dB/sec] (EBU Digi PPM, IRT Digi PPM)"
msgstr ""
-#: rc_option_editor.cc:1917
+#: rc_option_editor.cc:2251
msgid "medium [20dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1918
+#: rc_option_editor.cc:2252
msgid "fast [32dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1919
+#: rc_option_editor.cc:2253
msgid "faster [46dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1920
+#: rc_option_editor.cc:2254
msgid "fastest [70dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1926
+#: rc_option_editor.cc:2260
msgid "Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1931 rc_option_editor.cc:1947
+#: rc_option_editor.cc:2265 rc_option_editor.cc:2281
msgid "-24dBFS (SMPTE US: 4dBu = -20dBFS)"
msgstr ""
-#: rc_option_editor.cc:1932 rc_option_editor.cc:1948
+#: rc_option_editor.cc:2266 rc_option_editor.cc:2282
msgid "-20dBFS (SMPTE RP.0155)"
msgstr ""
-#: rc_option_editor.cc:1933 rc_option_editor.cc:1949
+#: rc_option_editor.cc:2267 rc_option_editor.cc:2283
msgid "-18dBFS (EBU, BBC)"
msgstr ""
-#: rc_option_editor.cc:1934 rc_option_editor.cc:1950
+#: rc_option_editor.cc:2268 rc_option_editor.cc:2284
msgid "-15dBFS (DIN)"
msgstr ""
-#: rc_option_editor.cc:1936
+#: rc_option_editor.cc:2270
msgid ""
"Configure meter-marks and color-knee point for dBFS scale DPM, set reference "
"level for IEC1/Nordic, IEC2 PPM and VU meter."
msgstr ""
-#: rc_option_editor.cc:1942
+#: rc_option_editor.cc:2276
msgid "IEC1/DIN Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1952
+#: rc_option_editor.cc:2286
msgid "Reference level for IEC1/DIN meter."
msgstr ""
-#: rc_option_editor.cc:1958
+#: rc_option_editor.cc:2292
msgid "VU Meter standard"
msgstr ""
-#: rc_option_editor.cc:1963
+#: rc_option_editor.cc:2297
msgid "0VU = -2dBu (France)"
msgstr ""
-#: rc_option_editor.cc:1964
+#: rc_option_editor.cc:2298
msgid "0VU = 0dBu (North America, Australia)"
msgstr ""
-#: rc_option_editor.cc:1965
+#: rc_option_editor.cc:2299
msgid "0VU = +4dBu (standard)"
msgstr ""
-#: rc_option_editor.cc:1966
+#: rc_option_editor.cc:2300
msgid "0VU = +8dBu"
msgstr ""
-#: rc_option_editor.cc:1972
+#: rc_option_editor.cc:2306
msgid "Peak threshold [dBFS]"
msgstr ""
-#: rc_option_editor.cc:1980
+#: rc_option_editor.cc:2314
msgid ""
"Specify the audio signal level in dbFS at and above which the meter-peak "
"indicator will flash red."
msgstr ""
-#: rc_option_editor.cc:1987
+#: rc_option_editor.cc:2321
msgid "LED meter style"
msgstr ""
-#: region_editor.cc:79
+#: region_editor.cc:78
msgid "audition this region"
msgstr "ouvir esta região"
-#: region_editor.cc:88 region_layering_order_editor.cc:74
+#: region_editor.cc:87 region_layering_order_editor.cc:75
msgid "Position:"
msgstr ""
-#: region_editor.cc:90 add_video_dialog.cc:170
+#: region_editor.cc:89 add_video_dialog.cc:155
msgid "End:"
msgstr "Final:"
-#: region_editor.cc:92 sfdb_ui.cc:139
+#: region_editor.cc:91 sfdb_ui.cc:143
msgid "Length:"
msgstr ""
-#: region_editor.cc:94
+#: region_editor.cc:93
msgid "Sync point (relative to region):"
msgstr ""
-#: region_editor.cc:96
+#: region_editor.cc:95
msgid "Sync point (absolute):"
msgstr ""
-#: region_editor.cc:98
+#: region_editor.cc:97
msgid "File start:"
msgstr ""
-#: region_editor.cc:102
+#: region_editor.cc:101
msgid "Sources:"
msgstr ""
-#: region_editor.cc:104
+#: region_editor.cc:103
msgid "Source:"
msgstr ""
-#: region_editor.cc:166
+#: region_editor.cc:165
msgid "Region '%1'"
msgstr ""
-#: region_editor.cc:273
+#: region_editor.cc:272
msgid "change region start position"
msgstr ""
-#: region_editor.cc:289
+#: region_editor.cc:288
msgid "change region end position"
msgstr ""
-#: region_editor.cc:309
+#: region_editor.cc:308
msgid "change region length"
msgstr ""
-#: region_editor.cc:403 region_editor.cc:415
+#: region_editor.cc:402 region_editor.cc:414
msgid "change region sync point"
msgstr ""
-#: region_layering_order_editor.cc:41
+#: region_layering_order_editor.cc:42
msgid "RegionLayeringOrderEditor"
msgstr ""
-#: region_layering_order_editor.cc:54
+#: region_layering_order_editor.cc:55
msgid "Region Name"
msgstr ""
-#: region_layering_order_editor.cc:71
+#: region_layering_order_editor.cc:72
msgid "Track:"
msgstr ""
-#: region_layering_order_editor.cc:103
+#: region_layering_order_editor.cc:104
msgid "Choose Top Region"
msgstr ""
-#: region_view.cc:274
+#: region_view.cc:282
msgid "SilenceText"
msgstr ""
-#: region_view.cc:290 region_view.cc:309
+#: region_view.cc:297 region_view.cc:316
msgid "minutes"
msgstr ""
-#: region_view.cc:293 region_view.cc:312
+#: region_view.cc:300 region_view.cc:319
msgid "msecs"
msgstr ""
-#: region_view.cc:296 region_view.cc:315
+#: region_view.cc:303 region_view.cc:322
msgid "secs"
msgstr ""
-#: region_view.cc:299
+#: region_view.cc:306
msgid "%1 silent segment"
msgid_plural "%1 silent segments"
msgstr[0] ""
msgstr[1] ""
-#: region_view.cc:301
+#: region_view.cc:308
msgid "shortest = %1 %2"
msgstr ""
-#: region_view.cc:318
+#: region_view.cc:325
msgid ""
"\n"
" (shortest audible segment = %1 %2)"
msgstr ""
-#: return_ui.cc:103
+#: return_ui.cc:102
msgid "Return "
msgstr ""
-#: rhythm_ferret.cc:49
+#: rhythm_ferret.cc:48
msgid "Percussive Onset"
msgstr ""
-#: rhythm_ferret.cc:50
+#: rhythm_ferret.cc:49
msgid "Note Onset"
msgstr ""
-#: rhythm_ferret.cc:55
+#: rhythm_ferret.cc:54
msgid "Energy Based"
msgstr ""
-#: rhythm_ferret.cc:56
+#: rhythm_ferret.cc:55
msgid "Spectral Difference"
msgstr ""
-#: rhythm_ferret.cc:57
+#: rhythm_ferret.cc:56
msgid "High-Frequency Content"
msgstr ""
-#: rhythm_ferret.cc:58
+#: rhythm_ferret.cc:57
msgid "Complex Domain"
msgstr ""
-#: rhythm_ferret.cc:59
+#: rhythm_ferret.cc:58
msgid "Phase Deviation"
msgstr ""
-#: rhythm_ferret.cc:60
+#: rhythm_ferret.cc:59
msgid "Kullback-Liebler"
msgstr ""
-#: rhythm_ferret.cc:61
+#: rhythm_ferret.cc:60
msgid "Modified Kullback-Liebler"
msgstr ""
-#: rhythm_ferret.cc:66
+#: rhythm_ferret.cc:65
msgid "Split region"
msgstr ""
-#: rhythm_ferret.cc:67
+#: rhythm_ferret.cc:66
msgid "Snap regions"
msgstr ""
-#: rhythm_ferret.cc:68
+#: rhythm_ferret.cc:67
msgid "Conform regions"
msgstr ""
-#: rhythm_ferret.cc:73
+#: rhythm_ferret.cc:72
msgid "Rhythm Ferret"
msgstr ""
-#: rhythm_ferret.cc:79
+#: rhythm_ferret.cc:78
msgid "Analyze"
msgstr ""
-#: rhythm_ferret.cc:114
+#: rhythm_ferret.cc:113
msgid "Detection function"
msgstr ""
-#: rhythm_ferret.cc:118
+#: rhythm_ferret.cc:117
msgid "Trigger gap"
msgstr ""
-#: rhythm_ferret.cc:123 strip_silence_dialog.cc:68
+#: rhythm_ferret.cc:122 strip_silence_dialog.cc:64
msgid "Threshold"
msgstr ""
-#: rhythm_ferret.cc:128
+#: rhythm_ferret.cc:127
msgid "Peak threshold"
msgstr ""
-#: rhythm_ferret.cc:133
+#: rhythm_ferret.cc:132
msgid "Silence threshold"
msgstr ""
-#: rhythm_ferret.cc:138
+#: rhythm_ferret.cc:137
msgid "Sensitivity"
msgstr ""
-#: rhythm_ferret.cc:142
+#: rhythm_ferret.cc:141
msgid "Operation"
msgstr ""
-#: rhythm_ferret.cc:356
+#: rhythm_ferret.cc:355
msgid "split regions (rhythm ferret)"
msgstr ""
-#: route_group_dialog.cc:36
+#: route_group_dialog.cc:42
msgid "Track/bus Group"
msgstr ""
-#: route_group_dialog.cc:41
+#: route_group_dialog.cc:47
msgid "Relative"
msgstr ""
-#: route_group_dialog.cc:42
+#: route_group_dialog.cc:48
msgid "Muting"
msgstr ""
-#: route_group_dialog.cc:43
-msgid "Soloing"
-msgstr ""
-
-#: route_group_dialog.cc:44
+#: route_group_dialog.cc:50
msgid "Record enable"
msgstr ""
-#: route_group_dialog.cc:45 time_info_box.cc:66
+#: route_group_dialog.cc:51 time_info_box.cc:67
msgid "Selection"
msgstr ""
-#: route_group_dialog.cc:46
+#: route_group_dialog.cc:52
msgid "Active state"
msgstr ""
-#: route_group_dialog.cc:47 route_group_dialog.cc:76 theme_manager.cc:71
+#: route_group_dialog.cc:53 route_group_dialog.cc:82 theme_manager.cc:84
msgid "Color"
msgstr "Cor"
-#: route_group_dialog.cc:53
+#: route_group_dialog.cc:59
msgid "RouteGroupDialog"
msgstr ""
-#: route_group_dialog.cc:92
+#: route_group_dialog.cc:100
msgid "<b>Sharing</b>"
msgstr ""
-#: route_group_dialog.cc:182
-msgid ""
-"A route group of this name already exists. Please use a different name."
+#: route_group_dialog.cc:200
+msgid "The group name is not unique. Please use a different name."
msgstr ""
#: route_params_ui.cc:83
@@ -9474,296 +9714,280 @@ msgstr ""
msgid "route display list item for renamed route not found!"
msgstr "não foi encontrada qualquer elemento para encaminhamento"
-#: route_params_ui.cc:255 route_params_ui.cc:283
+#: route_params_ui.cc:278 route_params_ui.cc:306
#, c-format
msgid "Playback delay: %<PRId64> samples"
msgstr ""
-#: route_params_ui.cc:475
+#: route_params_ui.cc:498
msgid "NO TRACK"
msgstr "NENHUMA TRILHA"
-#: route_params_ui.cc:613 route_params_ui.cc:614
+#: route_params_ui.cc:636 route_params_ui.cc:637
msgid "No Track or Bus Selected"
msgstr ""
-#: route_time_axis.cc:97
-msgid "g"
-msgstr ""
-
-#: route_time_axis.cc:98
-msgid "p"
-msgstr ""
-
-#: route_time_axis.cc:99
-msgid "a"
-msgstr ""
-
-#: route_time_axis.cc:173
+#: route_time_axis.cc:179
msgid "Record (Right-click for Step Edit)"
msgstr ""
-#: route_time_axis.cc:176
+#: route_time_axis.cc:182
msgid "Record"
msgstr "Gravar"
-#: route_time_axis.cc:210
+#: route_time_axis.cc:254
msgid "Route Group"
msgstr ""
-#: route_time_axis.cc:213
+#: route_time_axis.cc:264
msgid "MIDI Controllers and Automation"
msgstr ""
-#: route_time_axis.cc:390
+#: route_time_axis.cc:500
msgid "Show All Automation"
msgstr ""
-#: route_time_axis.cc:393
+#: route_time_axis.cc:503
msgid "Show Existing Automation"
msgstr ""
-#: route_time_axis.cc:396
+#: route_time_axis.cc:506
msgid "Hide All Automation"
msgstr ""
-#: route_time_axis.cc:405
+#: route_time_axis.cc:515
msgid "Processor automation"
msgstr ""
-#: route_time_axis.cc:424
-msgid "Color..."
-msgstr ""
-
-#: route_time_axis.cc:481
+#: route_time_axis.cc:599
msgid "Overlaid"
msgstr ""
-#: route_time_axis.cc:487
+#: route_time_axis.cc:605
msgid "Stacked"
msgstr ""
-#: route_time_axis.cc:495
+#: route_time_axis.cc:613
msgid "Layers"
msgstr ""
-#: route_time_axis.cc:564
+#: route_time_axis.cc:682
msgid "Automatic (based on I/O connections)"
msgstr ""
-#: route_time_axis.cc:573
+#: route_time_axis.cc:691
msgid "(Currently: Existing Material)"
msgstr ""
-#: route_time_axis.cc:576
+#: route_time_axis.cc:694
msgid "(Currently: Capture Time)"
msgstr ""
-#: route_time_axis.cc:584
+#: route_time_axis.cc:702
msgid "Align With Existing Material"
msgstr ""
-#: route_time_axis.cc:589
+#: route_time_axis.cc:707
msgid "Align With Capture Time"
msgstr ""
-#: route_time_axis.cc:594
+#: route_time_axis.cc:712
msgid "Alignment"
msgstr ""
-#: route_time_axis.cc:629
+#: route_time_axis.cc:747
msgid "Normal Mode"
msgstr ""
-#: route_time_axis.cc:635
+#: route_time_axis.cc:753
msgid "Tape Mode"
msgstr ""
-#: route_time_axis.cc:641
+#: route_time_axis.cc:759
msgid "Non-Layered Mode"
msgstr ""
-#: route_time_axis.cc:654 route_time_axis.cc:1601
+#: route_time_axis.cc:772 route_time_axis.cc:1748
msgid "Playlist"
msgstr "Lista de reprodução"
-#: route_time_axis.cc:979
+#: route_time_axis.cc:1070
msgid "Rename Playlist"
msgstr ""
-#: route_time_axis.cc:980
+#: route_time_axis.cc:1071
msgid "New name for playlist:"
msgstr ""
-#: route_time_axis.cc:1065
+#: route_time_axis.cc:1156
msgid "New Copy Playlist"
msgstr ""
-#: route_time_axis.cc:1066 route_time_axis.cc:1119
+#: route_time_axis.cc:1157 route_time_axis.cc:1210
msgid "Name for new playlist:"
msgstr ""
-#: route_time_axis.cc:1118
+#: route_time_axis.cc:1209
msgid "New Playlist"
msgstr ""
-#: route_time_axis.cc:1309
+#: route_time_axis.cc:1400
msgid "You cannot create a track with that name as it is reserved for %1"
msgstr ""
-#: route_time_axis.cc:1490
+#: route_time_axis.cc:1637
msgid "New Copy..."
msgstr ""
-#: route_time_axis.cc:1494
+#: route_time_axis.cc:1641
msgid "New Take"
msgstr ""
-#: route_time_axis.cc:1495
+#: route_time_axis.cc:1642
msgid "Copy Take"
msgstr ""
-#: route_time_axis.cc:1500
+#: route_time_axis.cc:1647
msgid "Clear Current"
msgstr "Limpar Atual"
-#: route_time_axis.cc:1503
+#: route_time_axis.cc:1650
msgid "Select From All..."
msgstr ""
-#: route_time_axis.cc:1591
+#: route_time_axis.cc:1738
msgid "Take: %1.%2"
msgstr ""
-#: route_time_axis.cc:2291
+#: route_time_axis.cc:2024 selection.cc:1002 selection.cc:1056
+msgid "programming error: "
+msgstr ""
+
+#: route_time_axis.cc:2440
msgid "Underlays"
msgstr ""
-#: route_time_axis.cc:2294
+#: route_time_axis.cc:2443
msgid "Remove \"%1\""
msgstr ""
-#: route_time_axis.cc:2344 route_time_axis.cc:2381
+#: route_time_axis.cc:2493 route_time_axis.cc:2530
msgid "programming error: underlay reference pointer pairs are inconsistent!"
msgstr ""
-#: route_time_axis.cc:2408
+#: route_time_axis.cc:2557
msgid "After-fade listen (AFL)"
msgstr ""
-#: route_time_axis.cc:2412
+#: route_time_axis.cc:2561
msgid "Pre-fade listen (PFL)"
msgstr ""
-#: route_time_axis.cc:2416
-msgid "s"
-msgstr ""
-
-#: route_time_axis.cc:2419
-msgid "m"
-msgstr ""
-
-#: route_ui.cc:119
+#: route_ui.cc:138
msgid "Mute this track"
msgstr ""
-#: route_ui.cc:123
+#: route_ui.cc:142
msgid "Mute other (non-soloed) tracks"
msgstr ""
-#: route_ui.cc:129
+#: route_ui.cc:148
msgid "Enable recording on this track"
msgstr ""
-#: route_ui.cc:133
+#: route_ui.cc:154
msgid "make mixer strips show sends to this bus"
msgstr ""
-#: route_ui.cc:138
+#: route_ui.cc:159
msgid "Monitor input"
msgstr ""
-#: route_ui.cc:144
+#: route_ui.cc:165
msgid "Monitor playback"
msgstr ""
-#: route_ui.cc:591
-msgid "Not connected to JACK - cannot engage record"
+#: route_ui.cc:668
+msgid "Not connected to AudioEngine - cannot engage record"
msgstr ""
-#: route_ui.cc:786
+#: route_ui.cc:867
msgid "Step Entry"
msgstr ""
-#: route_ui.cc:859
+#: route_ui.cc:940
msgid "Assign all tracks (prefader)"
msgstr ""
-#: route_ui.cc:863
+#: route_ui.cc:944
msgid "Assign all tracks and buses (prefader)"
msgstr ""
-#: route_ui.cc:867
+#: route_ui.cc:948
msgid "Assign all tracks (postfader)"
msgstr ""
-#: route_ui.cc:871
+#: route_ui.cc:952
msgid "Assign all tracks and buses (postfader)"
msgstr ""
-#: route_ui.cc:875
+#: route_ui.cc:956
msgid "Assign selected tracks (prefader)"
msgstr ""
-#: route_ui.cc:879
+#: route_ui.cc:960
msgid "Assign selected tracks and buses (prefader)"
msgstr ""
-#: route_ui.cc:882
+#: route_ui.cc:963
msgid "Assign selected tracks (postfader)"
msgstr ""
-#: route_ui.cc:886
+#: route_ui.cc:967
msgid "Assign selected tracks and buses (postfader)"
msgstr ""
-#: route_ui.cc:889
+#: route_ui.cc:970
msgid "Copy track/bus gains to sends"
msgstr ""
-#: route_ui.cc:890
+#: route_ui.cc:971
msgid "Set sends gain to -inf"
msgstr ""
-#: route_ui.cc:891
+#: route_ui.cc:972
msgid "Set sends gain to 0dB"
msgstr ""
-#: route_ui.cc:1211
+#: route_ui.cc:1294
msgid "Solo Isolate"
msgstr ""
-#: route_ui.cc:1240
-msgid "Pre Fader"
-msgstr "Pré Fade"
+#: route_ui.cc:1301
+msgid "Solo Safe"
+msgstr ""
-#: route_ui.cc:1246
-msgid "Post Fader"
-msgstr "Pós Fade"
+#: route_ui.cc:1323
+msgid "Pre Fader Sends"
+msgstr ""
-#: route_ui.cc:1252
+#: route_ui.cc:1329
+msgid "Post Fader Sends"
+msgstr ""
+
+#: route_ui.cc:1335
msgid "Control Outs"
msgstr "Controle de Saídas"
-#: route_ui.cc:1258
+#: route_ui.cc:1341
msgid "Main Outs"
msgstr "Saídas Principais"
-#: route_ui.cc:1390
+#: route_ui.cc:1473
msgid "Color Selection"
msgstr ""
-#: route_ui.cc:1477
+#: route_ui.cc:1558
msgid ""
"Do you really want to remove track \"%1\" ?\n"
"\n"
@@ -9772,68 +9996,72 @@ msgid ""
"(This action cannot be undone, and the session file will be overwritten)"
msgstr ""
-#: route_ui.cc:1479
+#: route_ui.cc:1560
msgid ""
"Do you really want to remove bus \"%1\" ?\n"
"\n"
"(This action cannot be undone, and the session file will be overwritten)"
msgstr ""
-#: route_ui.cc:1487
+#: route_ui.cc:1568
msgid "Remove track"
msgstr ""
-#: route_ui.cc:1489
+#: route_ui.cc:1570
msgid "Remove bus"
msgstr ""
-#: route_ui.cc:1516
+#: route_ui.cc:1598
msgid ""
"The use of colons (':') is discouraged in track and bus names.\n"
"Do you want to use this new name?"
msgstr ""
-#: route_ui.cc:1520
+#: route_ui.cc:1602
msgid "Use the new name"
msgstr ""
-#: route_ui.cc:1521
+#: route_ui.cc:1603
msgid "Re-edit the name"
msgstr ""
-#: route_ui.cc:1534
+#: route_ui.cc:1616
msgid "Rename Track"
msgstr ""
-#: route_ui.cc:1536
+#: route_ui.cc:1618
msgid "Rename Bus"
msgstr ""
-#: route_ui.cc:1695
+#: route_ui.cc:1686
+msgid ": comment editor"
+msgstr ""
+
+#: route_ui.cc:1852
msgid " latency"
msgstr ""
-#: route_ui.cc:1708
+#: route_ui.cc:1865
msgid "Cannot create route template directory %1"
msgstr ""
-#: route_ui.cc:1714
+#: route_ui.cc:1871
msgid "Save As Template"
msgstr ""
-#: route_ui.cc:1715
+#: route_ui.cc:1872
msgid "Template name:"
msgstr ""
-#: route_ui.cc:1788
+#: route_ui.cc:1945
msgid "Remote Control ID"
msgstr ""
-#: route_ui.cc:1798
+#: route_ui.cc:1955
msgid "Remote control ID:"
msgstr ""
-#: route_ui.cc:1812
+#: route_ui.cc:1969
msgid ""
"The remote control ID of %1 is: %2\n"
"\n"
@@ -9841,33 +10069,32 @@ msgid ""
"The remote control ID of %3 cannot be changed."
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the master bus"
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the monitor bus"
msgstr ""
-#: route_ui.cc:1818
+#: route_ui.cc:1975
msgid ""
"The remote control ID of %5 is: %2\n"
"\n"
"\n"
-"Remote Control IDs are currently determined by track/bus ordering in "
-"Ardour.\n"
+"Remote Control IDs are currently determined by track/bus ordering in %6.\n"
"\n"
"%3Use the User Interaction tab of the Preferences window if you want to "
"change this%4"
msgstr ""
-#: route_ui.cc:1875
+#: route_ui.cc:2032
msgid ""
"Left-click to invert (phase reverse) channel %1 of this track. Right-click "
"to show menu."
msgstr ""
-#: route_ui.cc:1877
+#: route_ui.cc:2034
msgid "Click to show a menu of channels for inversion (phase reverse)"
msgstr ""
@@ -9883,119 +10110,119 @@ msgstr ""
msgid "the session folder"
msgstr ""
-#: send_ui.cc:126
+#: send_ui.cc:134
msgid "Send "
msgstr ""
-#: session_dialog.cc:66
+#: session_dialog.cc:68
msgid "Session Setup"
msgstr ""
-#: session_dialog.cc:71
+#: session_dialog.cc:73
msgid "Advanced options ..."
msgstr ""
-#: session_dialog.cc:267
+#: session_dialog.cc:271
msgid "New Session"
msgstr ""
-#: session_dialog.cc:305
+#: session_dialog.cc:309
msgid "Check the website for more..."
msgstr ""
-#: session_dialog.cc:308
+#: session_dialog.cc:312
msgid "Click to open the program website in your web browser"
msgstr ""
-#: session_dialog.cc:328
+#: session_dialog.cc:332
msgid "Sample Rate"
msgstr ""
-#: session_dialog.cc:329
+#: session_dialog.cc:333
msgid "Disk Format"
msgstr ""
-#: session_dialog.cc:347
+#: session_dialog.cc:351
msgid "Select session file"
msgstr ""
-#: session_dialog.cc:362
+#: session_dialog.cc:366
msgid "Other Sessions"
msgstr ""
-#: session_dialog.cc:388
+#: session_dialog.cc:392
msgid "Open"
msgstr ""
-#: session_dialog.cc:455
+#: session_dialog.cc:459
msgid "Session name:"
msgstr ""
-#: session_dialog.cc:477
+#: session_dialog.cc:481
msgid "Create session folder in:"
msgstr ""
-#: session_dialog.cc:500
+#: session_dialog.cc:504
msgid "Select folder for session"
msgstr ""
-#: session_dialog.cc:529
+#: session_dialog.cc:533
msgid "Use this template"
msgstr ""
-#: session_dialog.cc:532
+#: session_dialog.cc:536
msgid "no template"
msgstr ""
-#: session_dialog.cc:664 session_dialog.cc:696
+#: session_dialog.cc:671 session_dialog.cc:707
msgid "32 bit float"
msgstr ""
-#: session_dialog.cc:667 session_dialog.cc:699
+#: session_dialog.cc:674 session_dialog.cc:710
msgid "24 bit"
msgstr ""
-#: session_dialog.cc:670 session_dialog.cc:702
+#: session_dialog.cc:677 session_dialog.cc:713
msgid "16 bit"
msgstr ""
-#: session_dialog.cc:741 session_dialog.cc:742 session_dialog.cc:743
+#: session_dialog.cc:755 session_dialog.cc:756 session_dialog.cc:757
msgid "channels"
msgstr ""
-#: session_dialog.cc:757
+#: session_dialog.cc:771
msgid "<b>Busses</b>"
msgstr ""
-#: session_dialog.cc:758
+#: session_dialog.cc:772
msgid "<b>Inputs</b>"
msgstr ""
-#: session_dialog.cc:759
+#: session_dialog.cc:773
msgid "<b>Outputs</b>"
msgstr ""
-#: session_dialog.cc:767
+#: session_dialog.cc:781
msgid "Create master bus"
msgstr ""
-#: session_dialog.cc:777
+#: session_dialog.cc:791
msgid "Automatically connect to physical inputs"
msgstr ""
-#: session_dialog.cc:784 session_dialog.cc:843
+#: session_dialog.cc:798 session_dialog.cc:857
msgid "Use only"
msgstr ""
-#: session_dialog.cc:837
+#: session_dialog.cc:851
msgid "Automatically connect outputs"
msgstr ""
-#: session_dialog.cc:859
+#: session_dialog.cc:873
msgid "... to master bus"
msgstr ""
-#: session_dialog.cc:869
+#: session_dialog.cc:883
msgid "... to physical outputs"
msgstr ""
@@ -10297,7 +10524,8 @@ msgstr ""
#: session_option_editor.cc:91
msgid ""
-"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless in JACK-sync)."
+"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless using JACK-"
+"sync)."
msgstr ""
#: session_option_editor.cc:96
@@ -10330,480 +10558,510 @@ msgid ""
"%1 is JACK Time Master (provides Bar|Beat|Tick and other information to JACK)"
msgstr ""
-#: session_option_editor.cc:137
-msgid "Default crossfade type"
-msgstr ""
-
-#: session_option_editor.cc:142
-msgid "Constant power (-3dB) crossfade"
-msgstr ""
-
-#: session_option_editor.cc:143
-msgid "Linear (-6dB) crossfade"
-msgstr ""
-
-#: session_option_editor.cc:148
+#: session_option_editor.cc:136
msgid "destructive-xfade-seconds"
msgstr ""
-#: session_option_editor.cc:149
+#: session_option_editor.cc:137
msgid "Destructive crossfade length"
msgstr ""
-#: session_option_editor.cc:158
+#: session_option_editor.cc:146
msgid "Region fades active"
msgstr ""
-#: session_option_editor.cc:165
+#: session_option_editor.cc:153
msgid "Region fades visible"
msgstr ""
-#: session_option_editor.cc:172 session_option_editor.cc:185
-#: session_option_editor.cc:199 session_option_editor.cc:201
-#: session_option_editor.cc:207 session_option_editor.cc:214
+#: session_option_editor.cc:160 session_option_editor.cc:173
+#: session_option_editor.cc:187
msgid "Media"
msgstr ""
-#: session_option_editor.cc:172
+#: session_option_editor.cc:160
msgid "Audio file format"
msgstr ""
-#: session_option_editor.cc:176
+#: session_option_editor.cc:164
msgid "Sample format"
msgstr ""
-#: session_option_editor.cc:181
+#: session_option_editor.cc:169
msgid "32-bit floating point"
msgstr ""
-#: session_option_editor.cc:182
+#: session_option_editor.cc:170
msgid "24-bit integer"
msgstr ""
-#: session_option_editor.cc:183
+#: session_option_editor.cc:171
msgid "16-bit integer"
msgstr ""
-#: session_option_editor.cc:189
+#: session_option_editor.cc:177
msgid "File type"
msgstr ""
-#: session_option_editor.cc:194
+#: session_option_editor.cc:182
msgid "Broadcast WAVE"
msgstr ""
-#: session_option_editor.cc:195
+#: session_option_editor.cc:183
msgid "WAVE"
msgstr ""
-#: session_option_editor.cc:196
+#: session_option_editor.cc:184
msgid "WAVE-64"
msgstr ""
-#: session_option_editor.cc:201
+#: session_option_editor.cc:189
msgid "File locations"
msgstr ""
-#: session_option_editor.cc:203
+#: session_option_editor.cc:191
msgid "Search for audio files in:"
msgstr ""
-#: session_option_editor.cc:209
+#: session_option_editor.cc:197
msgid "Search for MIDI files in:"
msgstr ""
-#: session_option_editor.cc:220
-msgid ""
-"Track Input Monitoring automatically follows transport state (\"auto-input\")"
+#: session_option_editor.cc:206 session_option_editor.cc:218
+#: session_option_editor.cc:228 session_option_editor.cc:239
+msgid "Filenames"
msgstr ""
-#: session_option_editor.cc:227
-msgid "Use monitor section in this session"
+#: session_option_editor.cc:206
+msgid "File Naming"
msgstr ""
-#: session_option_editor.cc:238
-msgid "MIDI region copies are independent"
+#: session_option_editor.cc:212
+msgid "Prefix Track number"
msgstr ""
-#: session_option_editor.cc:245
+#: session_option_editor.cc:217
msgid ""
-"Policy for handling overlapping notes\n"
-" on the same MIDI channel"
-msgstr ""
-
-#: session_option_editor.cc:250
-msgid "never allow them"
-msgstr ""
-
-#: session_option_editor.cc:251
-msgid "don't do anything in particular"
-msgstr ""
-
-#: session_option_editor.cc:252
-msgid "replace any overlapped existing note"
+"Adds the current track number to the beginning of the recorded file name."
msgstr ""
-#: session_option_editor.cc:253
-msgid "shorten the overlapped existing note"
+#: session_option_editor.cc:222
+msgid "Prefix Take Name"
msgstr ""
-#: session_option_editor.cc:254
-msgid "shorten the overlapping new note"
-msgstr ""
-
-#: session_option_editor.cc:255
-msgid "replace both overlapping notes with a single note"
+#: session_option_editor.cc:227
+msgid "Adds the Take Name to the beginning of the recorded file name."
msgstr ""
-#: session_option_editor.cc:259
-msgid "Glue to bars and beats"
+#: session_option_editor.cc:232
+msgid "Take Name"
msgstr ""
-#: session_option_editor.cc:263
-msgid "Glue new markers to bars and beats"
+#: session_option_editor.cc:245
+msgid ""
+"Track Input Monitoring automatically follows transport state (\"auto-input\")"
msgstr ""
-#: session_option_editor.cc:270
-msgid "Glue new regions to bars and beats"
+#: session_option_editor.cc:252
+msgid "Use monitor section in this session"
msgstr ""
-#: session_option_editor.cc:275 session_option_editor.cc:277
-#: session_option_editor.cc:284 session_option_editor.cc:291
-#: session_option_editor.cc:298 session_option_editor.cc:300
-#: session_option_editor.cc:307 session_option_editor.cc:314
-#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:257 session_option_editor.cc:259
+#: session_option_editor.cc:266 session_option_editor.cc:273
+#: session_option_editor.cc:280 session_option_editor.cc:282
+#: session_option_editor.cc:289 session_option_editor.cc:296
+#: session_option_editor.cc:303 session_option_editor.cc:310
+#: session_option_editor.cc:312
msgid "Meterbridge"
msgstr ""
-#: session_option_editor.cc:275
+#: session_option_editor.cc:257
msgid "Route Display"
msgstr ""
-#: session_option_editor.cc:279
+#: session_option_editor.cc:261
msgid "Show Midi Tracks"
msgstr ""
-#: session_option_editor.cc:286
+#: session_option_editor.cc:268
msgid "Show Busses"
msgstr ""
-#: session_option_editor.cc:293
+#: session_option_editor.cc:275
msgid "Include Master Bus"
msgstr ""
-#: session_option_editor.cc:298
+#: session_option_editor.cc:280
msgid "Button Area"
msgstr ""
-#: session_option_editor.cc:302
+#: session_option_editor.cc:284
msgid "Rec-enable Button"
msgstr ""
-#: session_option_editor.cc:309
+#: session_option_editor.cc:291
msgid "Mute Button"
msgstr ""
-#: session_option_editor.cc:316
+#: session_option_editor.cc:298
msgid "Solo Button"
msgstr ""
-#: session_option_editor.cc:321
+#: session_option_editor.cc:305
+msgid "Monitor Buttons"
+msgstr ""
+
+#: session_option_editor.cc:310
msgid "Name Labels"
msgstr ""
-#: session_option_editor.cc:325
+#: session_option_editor.cc:314
msgid "Track Name"
msgstr ""
-#: sfdb_ui.cc:86 sfdb_ui.cc:106 sfdb_ui.cc:115
+#: session_option_editor.cc:325
+msgid "MIDI region copies are independent"
+msgstr ""
+
+#: session_option_editor.cc:332
+msgid ""
+"Policy for handling overlapping notes\n"
+" on the same MIDI channel"
+msgstr ""
+
+#: session_option_editor.cc:337
+msgid "never allow them"
+msgstr ""
+
+#: session_option_editor.cc:338
+msgid "don't do anything in particular"
+msgstr ""
+
+#: session_option_editor.cc:339
+msgid "replace any overlapped existing note"
+msgstr ""
+
+#: session_option_editor.cc:340
+msgid "shorten the overlapped existing note"
+msgstr ""
+
+#: session_option_editor.cc:341
+msgid "shorten the overlapping new note"
+msgstr ""
+
+#: session_option_editor.cc:342
+msgid "replace both overlapping notes with a single note"
+msgstr ""
+
+#: session_option_editor.cc:346
+msgid "Glue to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:350
+msgid "Glue new markers to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:357
+msgid "Glue new regions to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:362
+msgid "Defaults"
+msgstr ""
+
+#: session_option_editor.cc:364
+msgid "Use these settings as defaults"
+msgstr ""
+
+#: sfdb_ui.cc:88 sfdb_ui.cc:108 sfdb_ui.cc:117
msgid "as new tracks"
msgstr ""
-#: sfdb_ui.cc:88 sfdb_ui.cc:108
+#: sfdb_ui.cc:90 sfdb_ui.cc:110
msgid "to selected tracks"
msgstr ""
-#: sfdb_ui.cc:90 sfdb_ui.cc:110
+#: sfdb_ui.cc:92 sfdb_ui.cc:112
msgid "to region list"
msgstr ""
-#: sfdb_ui.cc:92 sfdb_ui.cc:112
+#: sfdb_ui.cc:94 sfdb_ui.cc:114
msgid "as new tape tracks"
msgstr ""
-#: sfdb_ui.cc:96
+#: sfdb_ui.cc:98
msgid "programming error: unknown import mode string %1"
msgstr ""
-#: sfdb_ui.cc:123
+#: sfdb_ui.cc:125
msgid "Auto-play"
msgstr ""
-#: sfdb_ui.cc:129 sfdb_ui.cc:236
+#: sfdb_ui.cc:133 sfdb_ui.cc:317
msgid "<b>Sound File Information</b>"
msgstr ""
-#: sfdb_ui.cc:141
+#: sfdb_ui.cc:145
msgid "Timestamp:"
msgstr ""
-#: sfdb_ui.cc:143
+#: sfdb_ui.cc:147
msgid "Format:"
msgstr ""
-#: sfdb_ui.cc:182 sfdb_ui.cc:526
+#: sfdb_ui.cc:186 sfdb_ui.cc:646
msgid "Tags:"
msgstr ""
-#: sfdb_ui.cc:319
-msgid "Auditioning of MIDI files is not yet supported"
+#: sfdb_ui.cc:290
+msgid "<b>Midi File Information</b>"
msgstr ""
-#: sfdb_ui.cc:326
+#: sfdb_ui.cc:402
msgid "Could not read file: %1 (%2)."
msgstr "Não foi possível ler o arquivo: %1 (%2)."
-#: sfdb_ui.cc:349
+#: sfdb_ui.cc:451
msgid "Could not access soundfile: "
msgstr "não foi possível acessar arquivo de áudio"
-#: sfdb_ui.cc:403
+#: sfdb_ui.cc:523
msgid "SoundFileBox: Could not tokenize string: "
msgstr ""
-#: sfdb_ui.cc:423 sfdb_ui.cc:425
+#: sfdb_ui.cc:543 sfdb_ui.cc:545
msgid "Search"
msgstr ""
-#: sfdb_ui.cc:449
+#: sfdb_ui.cc:569
msgid "Audio and MIDI files"
msgstr ""
-#: sfdb_ui.cc:452
+#: sfdb_ui.cc:572
msgid "Audio files"
msgstr ""
-#: sfdb_ui.cc:455
+#: sfdb_ui.cc:575
msgid "MIDI files"
msgstr ""
-#: sfdb_ui.cc:458 add_video_dialog.cc:132
+#: sfdb_ui.cc:578 add_video_dialog.cc:123
msgid "All files"
msgstr ""
-#: sfdb_ui.cc:477 add_video_dialog.cc:143
+#: sfdb_ui.cc:597 add_video_dialog.cc:246
msgid "Browse Files"
msgstr ""
-#: sfdb_ui.cc:506
+#: sfdb_ui.cc:626
msgid "Paths"
msgstr ""
-#: sfdb_ui.cc:515
+#: sfdb_ui.cc:635
msgid "Search Tags"
msgstr ""
-#: sfdb_ui.cc:531
+#: sfdb_ui.cc:651
msgid "Sort:"
msgstr ""
-#: sfdb_ui.cc:539
+#: sfdb_ui.cc:659
msgid "Longest"
msgstr ""
-#: sfdb_ui.cc:540
+#: sfdb_ui.cc:660
msgid "Shortest"
msgstr ""
-#: sfdb_ui.cc:541
+#: sfdb_ui.cc:661
msgid "Newest"
msgstr ""
-#: sfdb_ui.cc:542
+#: sfdb_ui.cc:662
msgid "Oldest"
msgstr ""
-#: sfdb_ui.cc:543
+#: sfdb_ui.cc:663
msgid "Most downloaded"
msgstr ""
-#: sfdb_ui.cc:544
+#: sfdb_ui.cc:664
msgid "Least downloaded"
msgstr ""
-#: sfdb_ui.cc:545
+#: sfdb_ui.cc:665
msgid "Highest rated"
msgstr ""
-#: sfdb_ui.cc:546
+#: sfdb_ui.cc:666
msgid "Lowest rated"
msgstr ""
-#: sfdb_ui.cc:551
+#: sfdb_ui.cc:671
msgid "More"
msgstr ""
-#: sfdb_ui.cc:555
+#: sfdb_ui.cc:675
msgid "Similar"
msgstr ""
-#: sfdb_ui.cc:567
+#: sfdb_ui.cc:687
msgid "ID"
msgstr ""
-#: sfdb_ui.cc:568 add_video_dialog.cc:84
+#: sfdb_ui.cc:688 add_video_dialog.cc:83
msgid "Filename"
msgstr ""
-#: sfdb_ui.cc:570
+#: sfdb_ui.cc:690
msgid "Duration"
msgstr ""
-#: sfdb_ui.cc:571
+#: sfdb_ui.cc:691
msgid "Size"
msgstr ""
-#: sfdb_ui.cc:572
+#: sfdb_ui.cc:692
msgid "Samplerate"
msgstr ""
-#: sfdb_ui.cc:573
+#: sfdb_ui.cc:693
msgid "License"
msgstr ""
-#: sfdb_ui.cc:591
+#: sfdb_ui.cc:711
msgid "Search Freesound"
msgstr ""
-#: sfdb_ui.cc:611
+#: sfdb_ui.cc:731
msgid "Press to import selected files and close this window"
msgstr ""
-#: sfdb_ui.cc:612
+#: sfdb_ui.cc:732
msgid "Press to import selected files and leave this window open"
msgstr ""
-#: sfdb_ui.cc:613
+#: sfdb_ui.cc:733
msgid "Press to close this window without importing any files"
msgstr ""
-#: sfdb_ui.cc:809
+#: sfdb_ui.cc:929
msgid "SoundFileBrowser: Could not tokenize string: "
msgstr ""
-#: sfdb_ui.cc:1009
+#: sfdb_ui.cc:1129
msgid "%1 more page of 100 results available"
msgid_plural "%1 more pages of 100 results available"
msgstr[0] ""
msgstr[1] ""
-#: sfdb_ui.cc:1014
+#: sfdb_ui.cc:1134
msgid "No more results available"
msgstr ""
-#: sfdb_ui.cc:1078
+#: sfdb_ui.cc:1198
msgid "B"
msgstr ""
-#: sfdb_ui.cc:1080
+#: sfdb_ui.cc:1200
msgid "kB"
msgstr ""
-#: sfdb_ui.cc:1082 sfdb_ui.cc:1084
+#: sfdb_ui.cc:1202 sfdb_ui.cc:1204
msgid "MB"
msgstr ""
-#: sfdb_ui.cc:1086
+#: sfdb_ui.cc:1206
msgid "GB"
msgstr ""
-#: sfdb_ui.cc:1298 sfdb_ui.cc:1606 sfdb_ui.cc:1656 sfdb_ui.cc:1674
+#: sfdb_ui.cc:1418 sfdb_ui.cc:1731 sfdb_ui.cc:1782 sfdb_ui.cc:1800
msgid "one track per file"
msgstr ""
-#: sfdb_ui.cc:1301 sfdb_ui.cc:1657 sfdb_ui.cc:1675
+#: sfdb_ui.cc:1421 sfdb_ui.cc:1783 sfdb_ui.cc:1801
msgid "one track per channel"
msgstr ""
-#: sfdb_ui.cc:1309 sfdb_ui.cc:1659 sfdb_ui.cc:1676
+#: sfdb_ui.cc:1429 sfdb_ui.cc:1785 sfdb_ui.cc:1802
msgid "sequence files"
msgstr ""
-#: sfdb_ui.cc:1312 sfdb_ui.cc:1664
+#: sfdb_ui.cc:1432 sfdb_ui.cc:1790
msgid "all files in one track"
msgstr ""
-#: sfdb_ui.cc:1313 sfdb_ui.cc:1658
+#: sfdb_ui.cc:1433 sfdb_ui.cc:1784
msgid "merge files"
msgstr ""
-#: sfdb_ui.cc:1319 sfdb_ui.cc:1661
+#: sfdb_ui.cc:1439 sfdb_ui.cc:1787
msgid "one region per file"
msgstr ""
-#: sfdb_ui.cc:1322 sfdb_ui.cc:1662
+#: sfdb_ui.cc:1442 sfdb_ui.cc:1788
msgid "one region per channel"
msgstr ""
-#: sfdb_ui.cc:1327 sfdb_ui.cc:1663 sfdb_ui.cc:1677
+#: sfdb_ui.cc:1447 sfdb_ui.cc:1789 sfdb_ui.cc:1803
msgid "all files in one region"
msgstr ""
-#: sfdb_ui.cc:1394
+#: sfdb_ui.cc:1514
msgid ""
"One or more of the selected files\n"
"cannot be used by %1"
msgstr ""
-#: sfdb_ui.cc:1534
+#: sfdb_ui.cc:1658
msgid "Copy files to session"
msgstr ""
-#: sfdb_ui.cc:1551 sfdb_ui.cc:1714
+#: sfdb_ui.cc:1675 sfdb_ui.cc:1840
msgid "file timestamp"
msgstr ""
-#: sfdb_ui.cc:1552 sfdb_ui.cc:1716
+#: sfdb_ui.cc:1676 sfdb_ui.cc:1842
msgid "edit point"
msgstr ""
-#: sfdb_ui.cc:1553 sfdb_ui.cc:1718
+#: sfdb_ui.cc:1677 sfdb_ui.cc:1844
msgid "playhead"
msgstr ""
-#: sfdb_ui.cc:1554
+#: sfdb_ui.cc:1678
msgid "session start"
msgstr ""
-#: sfdb_ui.cc:1559
+#: sfdb_ui.cc:1684
msgid "<b>Add files as ...</b>"
msgstr ""
-#: sfdb_ui.cc:1581
+#: sfdb_ui.cc:1706
msgid "<b>Insert at</b>"
msgstr ""
-#: sfdb_ui.cc:1594
+#: sfdb_ui.cc:1719
msgid "<b>Mapping</b>"
msgstr ""
-#: sfdb_ui.cc:1612
+#: sfdb_ui.cc:1737
msgid "<b>Conversion quality</b>"
msgstr ""
-#: sfdb_ui.cc:1624 sfdb_ui.cc:1730
+#: sfdb_ui.cc:1749 sfdb_ui.cc:1856
msgid "Best"
msgstr ""
-#: sfdb_ui.cc:1625 sfdb_ui.cc:1732
+#: sfdb_ui.cc:1750 sfdb_ui.cc:1858
msgid "Good"
msgstr ""
-#: sfdb_ui.cc:1626 sfdb_ui.cc:1734
+#: sfdb_ui.cc:1751 sfdb_ui.cc:1860
msgid "Quick"
msgstr ""
-#: sfdb_ui.cc:1628
+#: sfdb_ui.cc:1753
msgid "Fastest"
msgstr "Rapidamente"
@@ -10849,6 +11107,30 @@ msgstr ""
msgid "Stopped"
msgstr ""
+#: soundcloud_export_selector.cc:44
+msgid "User Email"
+msgstr ""
+
+#: soundcloud_export_selector.cc:45
+msgid "Password"
+msgstr ""
+
+#: soundcloud_export_selector.cc:46
+msgid "Make files public"
+msgstr ""
+
+#: soundcloud_export_selector.cc:47
+msgid "Open uploaded files in browser"
+msgstr ""
+
+#: soundcloud_export_selector.cc:48
+msgid "Make files downloadable"
+msgstr ""
+
+#: soundcloud_export_selector.cc:107
+msgid "%1: %2 of %3 bytes uploaded"
+msgstr ""
+
#: splash.cc:73
msgid "%1 loading ..."
msgstr ""
@@ -10865,17 +11147,17 @@ msgstr ""
msgid "Azimuth:"
msgstr ""
-#: startup.cc:72
+#: startup.cc:73
msgid ""
"Use an external mixer or the hardware mixer of your audio interface.\n"
"%1 will play NO role in monitoring"
msgstr ""
-#: startup.cc:74
+#: startup.cc:75
msgid "Ask %1 to play back material as it is being recorded"
msgstr ""
-#: startup.cc:143
+#: startup.cc:144
msgid ""
"<b>Welcome to this BETA release of Ardour %1</b>\n"
"\n"
@@ -10900,11 +11182,11 @@ msgid ""
" http://ardour.org/support\n"
msgstr ""
-#: startup.cc:167
+#: startup.cc:168
msgid "This is a BETA RELEASE"
msgstr ""
-#: startup.cc:176
+#: startup.cc:177
msgid ""
"<span size=\"larger\">%1 is a digital audio workstation. You can use it to "
"record, edit and mix multi-track audio. You can produce your own CDs, mix "
@@ -10914,15 +11196,15 @@ msgid ""
"program.</span> "
msgstr ""
-#: startup.cc:202
+#: startup.cc:203
msgid "Welcome to %1"
msgstr ""
-#: startup.cc:225
+#: startup.cc:226
msgid "Default folder for %1 sessions"
msgstr ""
-#: startup.cc:231
+#: startup.cc:232
msgid ""
"Each project that you work on with %1 has its own folder.\n"
"These can require a lot of disk space if you are recording audio.\n"
@@ -10932,11 +11214,11 @@ msgid ""
"<i>(You can put new sessions anywhere, this is just a default)</i>"
msgstr ""
-#: startup.cc:254
+#: startup.cc:255
msgid "Default folder for new sessions"
msgstr ""
-#: startup.cc:275
+#: startup.cc:276
msgid ""
"While recording instruments or vocals, you probably want to listen to the\n"
"signal as well as record it. This is called \"monitoring\". There are\n"
@@ -10950,31 +11232,31 @@ msgid ""
"<i>If you do not understand what this is about, just accept the default.</i>"
msgstr ""
-#: startup.cc:296
+#: startup.cc:297
msgid "Monitoring Choices"
msgstr ""
-#: startup.cc:319
+#: startup.cc:320
msgid "Use a Master bus directly"
msgstr ""
-#: startup.cc:321
+#: startup.cc:322
msgid ""
"Connect the Master bus directly to your hardware outputs. This is preferable "
"for simple usage."
msgstr ""
-#: startup.cc:330
+#: startup.cc:331
msgid "Use an additional Monitor bus"
msgstr ""
-#: startup.cc:333
+#: startup.cc:334
msgid ""
"Use a Monitor bus between Master bus and hardware outputs for \n"
"greater control in monitoring without affecting the mix."
msgstr ""
-#: startup.cc:355
+#: startup.cc:356
msgid ""
"<i>You can change this preference at any time via the Preferences dialog.\n"
"You can also add or remove the monitor section to/from any session.</i>\n"
@@ -10982,395 +11264,395 @@ msgid ""
"<i>If you do not understand what this is about, just accept the default.</i>"
msgstr ""
-#: startup.cc:366
+#: startup.cc:367
msgid "Monitor Section"
msgstr ""
-#: step_entry.cc:59
+#: step_entry.cc:60
msgid "Step Entry: %1"
msgstr ""
-#: step_entry.cc:64
+#: step_entry.cc:65
msgid ">beat"
msgstr ""
-#: step_entry.cc:65
+#: step_entry.cc:66
msgid ">bar"
msgstr ""
-#: step_entry.cc:66
+#: step_entry.cc:67
msgid ">EP"
msgstr ""
-#: step_entry.cc:67
+#: step_entry.cc:68
msgid "sustain"
msgstr ""
-#: step_entry.cc:68
+#: step_entry.cc:69
msgid "rest"
msgstr ""
-#: step_entry.cc:69
+#: step_entry.cc:70
msgid "g-rest"
msgstr ""
-#: step_entry.cc:70
+#: step_entry.cc:71
msgid "back"
msgstr ""
-#: step_entry.cc:81 step_entry.cc:84
+#: step_entry.cc:82 step_entry.cc:85
msgid "+"
msgstr ""
-#: step_entry.cc:190
+#: step_entry.cc:191
msgid "Set note length to a whole note"
msgstr ""
-#: step_entry.cc:191
+#: step_entry.cc:192
msgid "Set note length to a half note"
msgstr ""
-#: step_entry.cc:192
+#: step_entry.cc:193
msgid "Set note length to a quarter note"
msgstr ""
-#: step_entry.cc:193
+#: step_entry.cc:194
msgid "Set note length to a eighth note"
msgstr ""
-#: step_entry.cc:194
+#: step_entry.cc:195
msgid "Set note length to a sixteenth note"
msgstr ""
-#: step_entry.cc:195
+#: step_entry.cc:196
msgid "Set note length to a thirty-second note"
msgstr ""
-#: step_entry.cc:196
+#: step_entry.cc:197
msgid "Set note length to a sixty-fourth note"
msgstr ""
-#: step_entry.cc:275
+#: step_entry.cc:276
msgid "Set volume (velocity) to pianississimo"
msgstr ""
-#: step_entry.cc:276
+#: step_entry.cc:277
msgid "Set volume (velocity) to pianissimo"
msgstr ""
-#: step_entry.cc:277
+#: step_entry.cc:278
msgid "Set volume (velocity) to piano"
msgstr ""
-#: step_entry.cc:278
+#: step_entry.cc:279
msgid "Set volume (velocity) to mezzo-piano"
msgstr ""
-#: step_entry.cc:279
+#: step_entry.cc:280
msgid "Set volume (velocity) to mezzo-forte"
msgstr ""
-#: step_entry.cc:280
+#: step_entry.cc:281
msgid "Set volume (velocity) to forte"
msgstr ""
-#: step_entry.cc:281
+#: step_entry.cc:282
msgid "Set volume (velocity) to forteissimo"
msgstr ""
-#: step_entry.cc:282
+#: step_entry.cc:283
msgid "Set volume (velocity) to forteississimo"
msgstr ""
-#: step_entry.cc:330
+#: step_entry.cc:331
msgid "Stack inserted notes to form a chord"
msgstr ""
-#: step_entry.cc:331
+#: step_entry.cc:332
msgid "Extend selected notes by note length"
msgstr ""
-#: step_entry.cc:332
+#: step_entry.cc:333
msgid "Use undotted note lengths"
msgstr ""
-#: step_entry.cc:333
+#: step_entry.cc:334
msgid "Use dotted (* 1.5) note lengths"
msgstr ""
-#: step_entry.cc:334
+#: step_entry.cc:335
msgid "Use double-dotted (* 1.75) note lengths"
msgstr ""
-#: step_entry.cc:335
+#: step_entry.cc:336
msgid "Use triple-dotted (* 1.875) note lengths"
msgstr ""
-#: step_entry.cc:336
+#: step_entry.cc:337
msgid "Insert a note-length's rest"
msgstr ""
-#: step_entry.cc:337
+#: step_entry.cc:338
msgid "Insert a grid-unit's rest"
msgstr ""
-#: step_entry.cc:338
+#: step_entry.cc:339
msgid "Insert a rest until the next beat"
msgstr ""
-#: step_entry.cc:339
+#: step_entry.cc:340
msgid "Insert a rest until the next bar"
msgstr ""
-#: step_entry.cc:340
+#: step_entry.cc:341
msgid "Insert a bank change message"
msgstr ""
-#: step_entry.cc:341
+#: step_entry.cc:342
msgid "Insert a program change message"
msgstr ""
-#: step_entry.cc:342 step_entry.cc:699
+#: step_entry.cc:343 step_entry.cc:700
msgid "Move Insert Position Back by Note Length"
msgstr ""
-#: step_entry.cc:343 step_entry.cc:697
+#: step_entry.cc:344 step_entry.cc:698
msgid "Move Insert Position to Edit Point"
msgstr ""
-#: step_entry.cc:400
+#: step_entry.cc:401
msgid "1/Note"
msgstr ""
-#: step_entry.cc:414
+#: step_entry.cc:415
msgid "Octave"
msgstr ""
-#: step_entry.cc:597
+#: step_entry.cc:598
msgid "Insert Note A"
msgstr ""
-#: step_entry.cc:598
+#: step_entry.cc:599
msgid "Insert Note A-sharp"
msgstr ""
-#: step_entry.cc:599
+#: step_entry.cc:600
msgid "Insert Note B"
msgstr ""
-#: step_entry.cc:600
+#: step_entry.cc:601
msgid "Insert Note C"
msgstr ""
-#: step_entry.cc:601
+#: step_entry.cc:602
msgid "Insert Note C-sharp"
msgstr ""
-#: step_entry.cc:602
+#: step_entry.cc:603
msgid "Insert Note D"
msgstr ""
-#: step_entry.cc:603
+#: step_entry.cc:604
msgid "Insert Note D-sharp"
msgstr ""
-#: step_entry.cc:604
+#: step_entry.cc:605
msgid "Insert Note E"
msgstr ""
-#: step_entry.cc:605
+#: step_entry.cc:606
msgid "Insert Note F"
msgstr ""
-#: step_entry.cc:606
+#: step_entry.cc:607
msgid "Insert Note F-sharp"
msgstr ""
-#: step_entry.cc:607
+#: step_entry.cc:608
msgid "Insert Note G"
msgstr ""
-#: step_entry.cc:608
+#: step_entry.cc:609
msgid "Insert Note G-sharp"
msgstr ""
-#: step_entry.cc:610
+#: step_entry.cc:611
msgid "Insert a Note-length Rest"
msgstr ""
-#: step_entry.cc:611
+#: step_entry.cc:612
msgid "Insert a Snap-length Rest"
msgstr ""
-#: step_entry.cc:613 step_entry.cc:614
+#: step_entry.cc:614 step_entry.cc:615
msgid "Move to next octave"
msgstr ""
-#: step_entry.cc:616
+#: step_entry.cc:617
msgid "Move to Next Note Length"
msgstr ""
-#: step_entry.cc:617
+#: step_entry.cc:618
msgid "Move to Previous Note Length"
msgstr ""
-#: step_entry.cc:619
+#: step_entry.cc:620
msgid "Increase Note Length"
msgstr ""
-#: step_entry.cc:620
+#: step_entry.cc:621
msgid "Decrease Note Length"
msgstr ""
-#: step_entry.cc:622
+#: step_entry.cc:623
msgid "Move to Next Note Velocity"
msgstr ""
-#: step_entry.cc:623
+#: step_entry.cc:624
msgid "Move to Previous Note Velocity"
msgstr ""
-#: step_entry.cc:625
+#: step_entry.cc:626
msgid "Increase Note Velocity"
msgstr ""
-#: step_entry.cc:626
+#: step_entry.cc:627
msgid "Decrease Note Velocity"
msgstr ""
-#: step_entry.cc:628
+#: step_entry.cc:629
msgid "Switch to the 1st octave"
msgstr ""
-#: step_entry.cc:629
+#: step_entry.cc:630
msgid "Switch to the 2nd octave"
msgstr ""
-#: step_entry.cc:630
+#: step_entry.cc:631
msgid "Switch to the 3rd octave"
msgstr ""
-#: step_entry.cc:631
+#: step_entry.cc:632
msgid "Switch to the 4th octave"
msgstr ""
-#: step_entry.cc:632
+#: step_entry.cc:633
msgid "Switch to the 5th octave"
msgstr ""
-#: step_entry.cc:633
+#: step_entry.cc:634
msgid "Switch to the 6th octave"
msgstr ""
-#: step_entry.cc:634
+#: step_entry.cc:635
msgid "Switch to the 7th octave"
msgstr ""
-#: step_entry.cc:635
+#: step_entry.cc:636
msgid "Switch to the 8th octave"
msgstr ""
-#: step_entry.cc:636
+#: step_entry.cc:637
msgid "Switch to the 9th octave"
msgstr ""
-#: step_entry.cc:637
+#: step_entry.cc:638
msgid "Switch to the 10th octave"
msgstr ""
-#: step_entry.cc:638
+#: step_entry.cc:639
msgid "Switch to the 11th octave"
msgstr ""
-#: step_entry.cc:643
+#: step_entry.cc:644
msgid "Set Note Length to Whole"
msgstr ""
-#: step_entry.cc:645
+#: step_entry.cc:646
msgid "Set Note Length to 1/2"
msgstr ""
-#: step_entry.cc:647
+#: step_entry.cc:648
msgid "Set Note Length to 1/3"
msgstr ""
-#: step_entry.cc:649
+#: step_entry.cc:650
msgid "Set Note Length to 1/4"
msgstr ""
-#: step_entry.cc:651
+#: step_entry.cc:652
msgid "Set Note Length to 1/8"
msgstr ""
-#: step_entry.cc:653
+#: step_entry.cc:654
msgid "Set Note Length to 1/16"
msgstr ""
-#: step_entry.cc:655
+#: step_entry.cc:656
msgid "Set Note Length to 1/32"
msgstr ""
-#: step_entry.cc:657
+#: step_entry.cc:658
msgid "Set Note Length to 1/64"
msgstr ""
-#: step_entry.cc:662
+#: step_entry.cc:663
msgid "Set Note Velocity to Pianississimo"
msgstr ""
-#: step_entry.cc:664
+#: step_entry.cc:665
msgid "Set Note Velocity to Pianissimo"
msgstr ""
-#: step_entry.cc:666
+#: step_entry.cc:667
msgid "Set Note Velocity to Piano"
msgstr ""
-#: step_entry.cc:668
+#: step_entry.cc:669
msgid "Set Note Velocity to Mezzo-Piano"
msgstr ""
-#: step_entry.cc:670
+#: step_entry.cc:671
msgid "Set Note Velocity to Mezzo-Forte"
msgstr ""
-#: step_entry.cc:672
+#: step_entry.cc:673
msgid "Set Note Velocity to Forte"
msgstr ""
-#: step_entry.cc:674 step_entry.cc:676
+#: step_entry.cc:675 step_entry.cc:677
msgid "Set Note Velocity to Fortississimo"
msgstr ""
-#: step_entry.cc:678
+#: step_entry.cc:679
msgid "Toggle Triple Notes"
msgstr ""
-#: step_entry.cc:683
+#: step_entry.cc:684
msgid "No Dotted Notes"
msgstr ""
-#: step_entry.cc:685
+#: step_entry.cc:686
msgid "Toggled Dotted Notes"
msgstr ""
-#: step_entry.cc:687
+#: step_entry.cc:688
msgid "Toggled Double-Dotted Notes"
msgstr ""
-#: step_entry.cc:689
+#: step_entry.cc:690
msgid "Toggled Triple-Dotted Notes"
msgstr ""
-#: step_entry.cc:692
+#: step_entry.cc:693
msgid "Toggle Chord Entry"
msgstr ""
-#: step_entry.cc:694
+#: step_entry.cc:695
msgid "Sustain Selected Notes by Note Length"
msgstr ""
-#: stereo_panner.cc:108
+#: stereo_panner.cc:131
#, c-format
msgid "L:%3d R:%3d Width:%d%%"
msgstr ""
@@ -11383,140 +11665,164 @@ msgstr ""
msgid "Width"
msgstr ""
-#: strip_silence_dialog.cc:48
+#: strip_silence_dialog.cc:44
msgid "Strip Silence"
msgstr ""
-#: strip_silence_dialog.cc:79
+#: strip_silence_dialog.cc:75
msgid "Minimum length"
msgstr ""
-#: strip_silence_dialog.cc:87
+#: strip_silence_dialog.cc:83
msgid "Fade length"
msgstr ""
-#: tempo_dialog.cc:43 tempo_dialog.cc:58
+#: tempo_dialog.cc:42 tempo_dialog.cc:58
msgid "bar:"
msgstr ""
-#: tempo_dialog.cc:44 tempo_dialog.cc:59
+#: tempo_dialog.cc:43 tempo_dialog.cc:59
msgid "beat:"
msgstr ""
-#: tempo_dialog.cc:45 tempo_dialog.cc:60
+#: tempo_dialog.cc:44 tempo_dialog.cc:60
msgid "Pulse note"
msgstr ""
+#: tempo_dialog.cc:45 tempo_dialog.cc:61
+msgid "Tap tempo"
+msgstr ""
+
#: tempo_dialog.cc:55
msgid "Edit Tempo"
msgstr ""
-#: tempo_dialog.cc:76 tempo_dialog.cc:77 tempo_dialog.cc:282
-#: tempo_dialog.cc:283
+#: tempo_dialog.cc:77 tempo_dialog.cc:78 tempo_dialog.cc:316
+#: tempo_dialog.cc:317
msgid "whole"
msgstr ""
-#: tempo_dialog.cc:78 tempo_dialog.cc:79 tempo_dialog.cc:284
-#: tempo_dialog.cc:285
+#: tempo_dialog.cc:79 tempo_dialog.cc:80 tempo_dialog.cc:318
+#: tempo_dialog.cc:319
msgid "second"
msgstr ""
-#: tempo_dialog.cc:80 tempo_dialog.cc:81 tempo_dialog.cc:286
-#: tempo_dialog.cc:287
+#: tempo_dialog.cc:81 tempo_dialog.cc:82 tempo_dialog.cc:320
+#: tempo_dialog.cc:321
msgid "third"
msgstr ""
-#: tempo_dialog.cc:82 tempo_dialog.cc:83 tempo_dialog.cc:288
-#: tempo_dialog.cc:289
+#: tempo_dialog.cc:83 tempo_dialog.cc:84 tempo_dialog.cc:322
+#: tempo_dialog.cc:323
msgid "quarter"
msgstr ""
-#: tempo_dialog.cc:84 tempo_dialog.cc:85 tempo_dialog.cc:290
-#: tempo_dialog.cc:291
+#: tempo_dialog.cc:85 tempo_dialog.cc:86 tempo_dialog.cc:324
+#: tempo_dialog.cc:325
msgid "eighth"
msgstr ""
-#: tempo_dialog.cc:86 tempo_dialog.cc:87 tempo_dialog.cc:292
-#: tempo_dialog.cc:293
+#: tempo_dialog.cc:87 tempo_dialog.cc:88 tempo_dialog.cc:326
+#: tempo_dialog.cc:327
msgid "sixteenth"
msgstr ""
-#: tempo_dialog.cc:88 tempo_dialog.cc:89 tempo_dialog.cc:294
-#: tempo_dialog.cc:295
+#: tempo_dialog.cc:89 tempo_dialog.cc:90 tempo_dialog.cc:328
+#: tempo_dialog.cc:329
msgid "thirty-second"
msgstr ""
-#: tempo_dialog.cc:90 tempo_dialog.cc:91 tempo_dialog.cc:296
-#: tempo_dialog.cc:297
+#: tempo_dialog.cc:91 tempo_dialog.cc:92 tempo_dialog.cc:330
+#: tempo_dialog.cc:331
msgid "sixty-fourth"
msgstr ""
-#: tempo_dialog.cc:92 tempo_dialog.cc:93 tempo_dialog.cc:298
-#: tempo_dialog.cc:299
+#: tempo_dialog.cc:93 tempo_dialog.cc:94 tempo_dialog.cc:332
+#: tempo_dialog.cc:333
msgid "one-hundred-twenty-eighth"
msgstr ""
-#: tempo_dialog.cc:120
+#: tempo_dialog.cc:121
msgid "Beats per minute:"
msgstr ""
-#: tempo_dialog.cc:152
+#: tempo_dialog.cc:153
msgid "Tempo begins at"
msgstr ""
-#: tempo_dialog.cc:240
+#: tempo_dialog.cc:244
msgid "incomprehensible pulse note type (%1)"
msgstr ""
-#: tempo_dialog.cc:266
+#: tempo_dialog.cc:300
msgid "Edit Meter"
msgstr ""
-#: tempo_dialog.cc:314
+#: tempo_dialog.cc:348
msgid "Note value:"
msgstr ""
-#: tempo_dialog.cc:315
+#: tempo_dialog.cc:349
msgid "Beats per bar:"
msgstr ""
-#: tempo_dialog.cc:330
+#: tempo_dialog.cc:364
msgid "Meter begins at bar:"
msgstr ""
-#: tempo_dialog.cc:441
+#: tempo_dialog.cc:475
msgid "incomprehensible meter note type (%1)"
msgstr ""
-#: theme_manager.cc:57
+#: theme_manager.cc:63
msgid "Dark Theme"
msgstr ""
-#: theme_manager.cc:58
+#: theme_manager.cc:64
msgid "Light Theme"
msgstr ""
-#: theme_manager.cc:59
+#: theme_manager.cc:65
msgid "Restore Defaults"
msgstr ""
-#: theme_manager.cc:60
+#: theme_manager.cc:66
msgid "Draw \"flat\" buttons"
msgstr ""
-#: theme_manager.cc:61
+#: theme_manager.cc:67
+msgid "Blink Rec-Arm buttons"
+msgstr ""
+
+#: theme_manager.cc:68
+msgid "Color regions using their track's color"
+msgstr ""
+
+#: theme_manager.cc:69
+msgid "Show waveform clipping"
+msgstr ""
+
+#: theme_manager.cc:71
+msgid "Waveforms color gradient depth"
+msgstr ""
+
+#: theme_manager.cc:73
+msgid "Timeline item gradient depth"
+msgstr ""
+
+#: theme_manager.cc:74
msgid "All floating windows are dialogs"
msgstr ""
-#: theme_manager.cc:62
-msgid "Draw waveforms with color gradient"
+#: theme_manager.cc:75
+msgid "Icon Set"
msgstr ""
-#: theme_manager.cc:68
+#: theme_manager.cc:81
msgid "Object"
msgstr ""
-#: theme_manager.cc:123
+#: theme_manager.cc:180
msgid ""
"Mark all floating windows to be type \"Dialog\" rather than using \"Utility"
"\" for some.\n"
@@ -11524,15 +11830,15 @@ msgid ""
"take effect"
msgstr ""
-#: theme_manager.cc:229
+#: theme_manager.cc:286
msgid "Unable to find UI style file %1 in search path %2. %3 will look strange"
msgstr ""
-#: time_axis_view.cc:114
+#: time_axis_view.cc:141
msgid "Track/Bus name (double click to edit)"
msgstr ""
-#: time_axis_view_item.cc:332
+#: time_axis_view_item.cc:384
msgid "new duration %1 frame is out of bounds for %2"
msgid_plural "new duration of %1 frames is out of bounds for %2"
msgstr[0] ""
@@ -11598,11 +11904,11 @@ msgstr ""
msgid "<b>Progress</b>"
msgstr ""
-#: time_info_box.cc:121
+#: time_info_box.cc:124
msgid "Start recording at auto-punch start"
msgstr "Iniciar gravação no início do ponto-automático"
-#: time_info_box.cc:122
+#: time_info_box.cc:125
msgid "Stop recording at auto-punch end"
msgstr "Parar gravação no final do ponto-automático"
@@ -11618,148 +11924,160 @@ msgstr ""
msgid "Transpose"
msgstr ""
-#: ui_config.cc:82 ui_config.cc:113
+#: ui_config.cc:95 ui_config.cc:126
msgid "Loading default ui configuration file %1"
msgstr ""
-#: ui_config.cc:85 ui_config.cc:116
+#: ui_config.cc:98 ui_config.cc:129
msgid "cannot read default ui configuration file \"%1\""
msgstr ""
-#: ui_config.cc:90 ui_config.cc:121
+#: ui_config.cc:103 ui_config.cc:134
msgid "default ui configuration file \"%1\" not loaded successfully."
msgstr ""
-#: ui_config.cc:134
+#: ui_config.cc:147
msgid "Loading user ui configuration file %1"
msgstr ""
-#: ui_config.cc:137
+#: ui_config.cc:150
msgid "cannot read ui configuration file \"%1\""
msgstr ""
-#: ui_config.cc:142
+#: ui_config.cc:155
msgid "user ui configuration file \"%1\" not loaded successfully."
msgstr ""
-#: ui_config.cc:150
+#: ui_config.cc:163
msgid "could not find any ui configuration file, canvas will look broken."
msgstr ""
-#: ui_config.cc:169
+#: ui_config.cc:182
msgid "Config file %1 not saved"
msgstr ""
-#: utils.cc:111 utils.cc:154
+#: utils.cc:117 utils.cc:160
msgid "bad XPM header %1"
msgstr ""
-#: utils.cc:293 utils.cc:325
+#: utils.cc:313 utils.cc:345
msgid "missing RGBA style for \"%1\""
msgstr ""
-#: utils.cc:598
+#: utils.cc:640
msgid "cannot find XPM file for %1"
msgstr ""
-#: utils.cc:624
-msgid "cannot find icon image for %1 using %2"
+#: utils.cc:660 utils.cc:687 utils.cc:698
+msgid "default"
msgstr ""
-#: utils.cc:639
-msgid "Caught exception while loading icon named %1"
+#: utils.cc:699
+msgid "icon \"%1\" not found for icon set \"%2\", fallback to default"
+msgstr ""
+
+#: utils.cc:706
+msgid "cannot find icon image for %1 using %2"
msgstr ""
-#: verbose_cursor.cc:45
-msgid "VerboseCanvasCursor"
+#: utils.cc:723 utils.cc:739
+msgid "Caught exception while loading icon named %1"
msgstr ""
-#: add_video_dialog.cc:55
+#: add_video_dialog.cc:54
msgid "Set Video Track"
msgstr ""
-#: add_video_dialog.cc:63
+#: add_video_dialog.cc:62
msgid "Launch External Video Monitor"
msgstr ""
-#: add_video_dialog.cc:64
+#: add_video_dialog.cc:63
msgid "Adjust Session Framerate to Match Video Framerate"
msgstr ""
-#: add_video_dialog.cc:66
+#: add_video_dialog.cc:65
msgid "Reload docroot"
msgstr ""
-#: add_video_dialog.cc:111 add_video_dialog.cc:115
-msgid "VideoServerIndex"
-msgstr ""
-
-#: add_video_dialog.cc:129
+#: add_video_dialog.cc:120
msgid "Video files"
msgstr ""
-#: add_video_dialog.cc:164
+#: add_video_dialog.cc:149
msgid "<b>Video Information</b>"
msgstr ""
-#: add_video_dialog.cc:167
+#: add_video_dialog.cc:152
msgid "Start:"
msgstr ""
-#: add_video_dialog.cc:173
+#: add_video_dialog.cc:158
msgid "Frame rate:"
msgstr ""
-#: add_video_dialog.cc:176
+#: add_video_dialog.cc:161
msgid "Aspect Ratio:"
msgstr ""
-#: add_video_dialog.cc:654
-msgid " %1 fps"
+#: add_video_dialog.cc:244
+msgid "VideoServerIndex"
msgstr ""
-#: editor_videotimeline.cc:146
-msgid "Export Successful: %1"
+#: add_video_dialog.cc:670
+msgid " %1 fps"
msgstr ""
-#: video_timeline.cc:469
+#: video_timeline.cc:473
msgid ""
"Parsing video file info failed. Is the Video Server running? Is the file "
"readable by the Video Server? Does the docroot match? Is it a video file?"
msgstr ""
-#: video_timeline.cc:507
+#: video_timeline.cc:511
msgid ""
"Failed to set session-framerate: '%1' does not have a corresponding option "
"setting in %2."
msgstr ""
-#: video_timeline.cc:515
+#: video_timeline.cc:519
msgid ""
"Video file's framerate is not equal to %1 session timecode's framerate: '%2' "
"vs '%3'"
msgstr ""
-#: video_timeline.cc:588
+#: video_timeline.cc:592
msgid ""
"Video-server docroot mismatch. %1: '%2', video-server: '%3'. This usually "
-"means that the video server was not started by ardour and uses a different "
+"means that the video server was not started by %1 and uses a different "
"document-root."
msgstr ""
-#: video_timeline.cc:737
+#: video_timeline.cc:768
msgid ""
"Video-monitor 'xjadeo' was not found. Please install http://xjadeo.sf.net/ "
"(a custom path to xjadeo can be specified by setting the XJREMOTE "
"environment variable. It should point to an application compatible with "
-"xjadeo's remote-control interface 'xjremote')."
+"xjadeo's remote-control interface 'xjremote').\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
+msgstr ""
+
+#: video_timeline.cc:782
+msgid "Video-monitor 'xjadeo' cannot be launched."
msgstr ""
-#: video_monitor.cc:281
+#: video_timeline.cc:809
+msgid ""
+"Video-monitor 'xjadeo' is too old. Please install xjadeo version 0.7.7 or "
+"later. http://xjadeo.sf.net/"
+msgstr ""
+
+#: video_monitor.cc:285
msgid "Video Monitor: File Not Found."
msgstr ""
-#: transcode_ffmpeg.cc:73
+#: transcode_ffmpeg.cc:126
msgid ""
"No ffprobe or ffmpeg executables could be found on this system.\n"
"Video import and export is not possible until you install those tools.\n"
@@ -11773,168 +12091,181 @@ msgid ""
"If you already have a suitable ffmpeg installation on your system, we "
"recommend creating symbolic links from ffmpeg to ffmpeg_harvid and from "
"ffprobe to ffprobe_harvid.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: transcode_video_dialog.cc:55
+#: transcode_video_dialog.cc:56
msgid "Transcode/Import Video File "
msgstr ""
-#: transcode_video_dialog.cc:57
+#: transcode_video_dialog.cc:58
msgid "Output File:"
msgstr ""
-#: transcode_video_dialog.cc:60 export_video_dialog.cc:72
+#: transcode_video_dialog.cc:61 export_video_dialog.cc:73
msgid "Abort"
msgstr ""
-#: transcode_video_dialog.cc:62
+#: transcode_video_dialog.cc:63
msgid "Height = "
msgstr ""
-#: transcode_video_dialog.cc:65
+#: transcode_video_dialog.cc:66
msgid "Manual Override"
msgstr ""
-#: transcode_video_dialog.cc:69 export_video_dialog.cc:88
+#: transcode_video_dialog.cc:70 export_video_dialog.cc:89
msgid "Debug Mode: Print ffmpeg command and output to stdout."
msgstr ""
-#: transcode_video_dialog.cc:106
+#: transcode_video_dialog.cc:107
msgid "<b>File Information</b>"
msgstr ""
-#: transcode_video_dialog.cc:112
+#: transcode_video_dialog.cc:113
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Import "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: transcode_video_dialog.cc:119
+#: transcode_video_dialog.cc:120
msgid ""
"File-info can not be read. Most likely '%1' is not a valid video-file or an "
"unsupported video codec or format."
msgstr ""
-#: transcode_video_dialog.cc:133
+#: transcode_video_dialog.cc:134
msgid "FPS:"
msgstr ""
-#: transcode_video_dialog.cc:135
+#: transcode_video_dialog.cc:136
msgid "Duration:"
msgstr ""
-#: transcode_video_dialog.cc:137
+#: transcode_video_dialog.cc:138
msgid "Codec:"
msgstr ""
-#: transcode_video_dialog.cc:139
+#: transcode_video_dialog.cc:140
msgid "Geometry:"
msgstr ""
-#: transcode_video_dialog.cc:154
+#: transcode_video_dialog.cc:155
msgid "??"
msgstr ""
-#: transcode_video_dialog.cc:175
+#: transcode_video_dialog.cc:176
msgid "<b>Import Settings</b>"
msgstr ""
-#: transcode_video_dialog.cc:180
-msgid "Do Not Import Video"
-msgstr ""
-
#: transcode_video_dialog.cc:181
-msgid "Reference From Current Location"
+msgid "Reference From Current Location (Previously Transcoded Files Only)"
msgstr ""
#: transcode_video_dialog.cc:183
msgid "Import/Transcode Video to Session"
msgstr ""
-#: transcode_video_dialog.cc:197
+#: transcode_video_dialog.cc:191
+msgid "Do Not Import Video (Audio Import Only)"
+msgstr ""
+
+#: transcode_video_dialog.cc:200
msgid "Scale Video: Width = "
msgstr ""
-#: transcode_video_dialog.cc:204
+#: transcode_video_dialog.cc:207
msgid "Original Width"
msgstr ""
-#: transcode_video_dialog.cc:219
+#: transcode_video_dialog.cc:222
msgid "Bitrate (KBit/s):"
msgstr ""
-#: transcode_video_dialog.cc:224
+#: transcode_video_dialog.cc:227
msgid "Extract Audio:"
msgstr ""
-#: transcode_video_dialog.cc:344
+#: transcode_video_dialog.cc:232
+msgid "No Audio Track Present"
+msgstr ""
+
+#: transcode_video_dialog.cc:235
+msgid "Do Not Extract Audio"
+msgstr ""
+
+#: transcode_video_dialog.cc:350
msgid "Extracting Audio.."
msgstr ""
-#: transcode_video_dialog.cc:347
+#: transcode_video_dialog.cc:353
msgid "Audio Extraction Failed."
msgstr ""
-#: transcode_video_dialog.cc:373
+#: transcode_video_dialog.cc:379
msgid "Transcoding Video.."
msgstr ""
-#: transcode_video_dialog.cc:407
+#: transcode_video_dialog.cc:413
msgid "Transcoding Failed."
msgstr ""
-#: transcode_video_dialog.cc:490
+#: transcode_video_dialog.cc:503
msgid "Save Transcoded Video File"
msgstr ""
-#: video_server_dialog.cc:43
+#: video_server_dialog.cc:57
msgid "Launch Video Server"
msgstr ""
-#: video_server_dialog.cc:44
+#: video_server_dialog.cc:58
msgid "Server Executable:"
msgstr ""
-#: video_server_dialog.cc:46
+#: video_server_dialog.cc:60
msgid "Server Docroot:"
msgstr ""
-#: video_server_dialog.cc:52
+#: video_server_dialog.cc:66
msgid "Don't show this dialog again. (Reset in Edit->Preferences)."
msgstr ""
-#: video_server_dialog.cc:92
+#: video_server_dialog.cc:126
msgid ""
-"The external video server 'harvid' can not be found. The tool is included "
-"with the %1 releases from ardour.org, alternatively you can download it from "
-"http://x42.github.com/harvid/ or acquire it from your distribution."
+"The external video server 'harvid' can not be found.\n"
+"The tool is included with the %1 releases from ardour.org, alternatively you "
+"can download it from http://x42.github.com/harvid/ or acquire it from your "
+"distribution.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: video_server_dialog.cc:120
+#: video_server_dialog.cc:159
msgid "Listen Address:"
msgstr ""
-#: video_server_dialog.cc:125
+#: video_server_dialog.cc:164
msgid "Listen Port:"
msgstr ""
-#: video_server_dialog.cc:130
+#: video_server_dialog.cc:169
msgid "Cache Size:"
msgstr ""
-#: video_server_dialog.cc:136
+#: video_server_dialog.cc:175
msgid ""
"%1 relies on an external video server for the videotimeline.\n"
"The server configured in Edit -> Preferences -> Video is not reachable.\n"
"Do you want %1 to launch 'harvid' on this machine?"
msgstr ""
-#: video_server_dialog.cc:176
+#: video_server_dialog.cc:215
msgid "Set Video Server Executable"
msgstr ""
-#: video_server_dialog.cc:196
+#: video_server_dialog.cc:235
msgid "Server docroot"
msgstr ""
@@ -11964,184 +12295,184 @@ msgstr ""
msgid "Cannot create video folder \"%1\" (%2)"
msgstr ""
-#: export_video_dialog.cc:65
+#: export_video_dialog.cc:66
msgid "Export Video File "
msgstr ""
-#: export_video_dialog.cc:69
+#: export_video_dialog.cc:70
msgid "Video:"
msgstr ""
-#: export_video_dialog.cc:73
+#: export_video_dialog.cc:74
msgid "Scale Video (W x H):"
msgstr ""
-#: export_video_dialog.cc:78
+#: export_video_dialog.cc:79
msgid "Set Aspect Ratio:"
msgstr ""
-#: export_video_dialog.cc:79
+#: export_video_dialog.cc:80
msgid "Normalize Audio"
msgstr ""
-#: export_video_dialog.cc:80
+#: export_video_dialog.cc:81
msgid "2 Pass Encoding"
msgstr ""
-#: export_video_dialog.cc:81
+#: export_video_dialog.cc:82
msgid "Codec Optimizations:"
msgstr ""
-#: export_video_dialog.cc:83
+#: export_video_dialog.cc:84
msgid "Deinterlace"
msgstr ""
-#: export_video_dialog.cc:84
+#: export_video_dialog.cc:85
msgid "Use [2] B-frames (MPEG 2 or 4 only)"
msgstr ""
-#: export_video_dialog.cc:85
+#: export_video_dialog.cc:86
msgid "Override FPS (Default is to retain FPS from the input video file):"
msgstr ""
-#: export_video_dialog.cc:86
+#: export_video_dialog.cc:87
msgid "Include Session Metadata"
msgstr ""
-#: export_video_dialog.cc:106
+#: export_video_dialog.cc:107
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Export "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: export_video_dialog.cc:116
+#: export_video_dialog.cc:117
msgid "<b>Output:</b>"
msgstr ""
-#: export_video_dialog.cc:126
+#: export_video_dialog.cc:127
msgid "<b>Input:</b>"
msgstr ""
-#: export_video_dialog.cc:137
+#: export_video_dialog.cc:138
msgid "Audio:"
msgstr ""
-#: export_video_dialog.cc:139
+#: export_video_dialog.cc:140
msgid "Master Bus"
msgstr ""
-#: export_video_dialog.cc:144
+#: export_video_dialog.cc:145
msgid "from the %1 session's start to the session's end"
msgstr ""
-#: export_video_dialog.cc:148
+#: export_video_dialog.cc:149
msgid "from 00:00:00:00 to the video's end"
msgstr ""
-#: export_video_dialog.cc:150
+#: export_video_dialog.cc:151
msgid "from the video's start to the video's end"
msgstr ""
-#: export_video_dialog.cc:153
+#: export_video_dialog.cc:154
msgid "Selected range"
msgstr ""
-#: export_video_dialog.cc:193
+#: export_video_dialog.cc:194
msgid "<b>Settings:</b>"
msgstr ""
-#: export_video_dialog.cc:201
+#: export_video_dialog.cc:202
msgid "Range:"
msgstr ""
-#: export_video_dialog.cc:204
+#: export_video_dialog.cc:205
msgid "Preset:"
msgstr ""
-#: export_video_dialog.cc:207
+#: export_video_dialog.cc:208
msgid "Video Codec:"
msgstr ""
-#: export_video_dialog.cc:210
+#: export_video_dialog.cc:211
msgid "Video KBit/s:"
msgstr ""
-#: export_video_dialog.cc:213
+#: export_video_dialog.cc:214
msgid "Audio Codec:"
msgstr ""
-#: export_video_dialog.cc:216
+#: export_video_dialog.cc:217
msgid "Audio KBit/s:"
msgstr ""
-#: export_video_dialog.cc:219
+#: export_video_dialog.cc:220
msgid "Audio Samplerate:"
msgstr ""
-#: export_video_dialog.cc:395
+#: export_video_dialog.cc:396
msgid "Normalizing audio"
msgstr ""
-#: export_video_dialog.cc:399
+#: export_video_dialog.cc:400
msgid "Exporting audio"
msgstr ""
-#: export_video_dialog.cc:445
+#: export_video_dialog.cc:446
msgid "Exporting Audio..."
msgstr ""
-#: export_video_dialog.cc:502
+#: export_video_dialog.cc:503
msgid ""
"Export Video: Cannot query duration of video-file, using duration from "
"timeline instead."
msgstr ""
-#: export_video_dialog.cc:532
+#: export_video_dialog.cc:533
msgid "Export Video: export-range does not include video."
msgstr ""
-#: export_video_dialog.cc:544
+#: export_video_dialog.cc:545
msgid "Export Video: No Master Out Ports to Connect for Audio Export"
msgstr ""
-#: export_video_dialog.cc:583
+#: export_video_dialog.cc:585
msgid "Encoding Video..."
msgstr ""
-#: export_video_dialog.cc:602
+#: export_video_dialog.cc:604
msgid "Export Video: Video input file cannot be read."
msgstr ""
-#: export_video_dialog.cc:695
+#: export_video_dialog.cc:698
msgid "Encoding Video.. Pass 1/2"
msgstr ""
-#: export_video_dialog.cc:707
+#: export_video_dialog.cc:710
msgid "Encoding Video.. Pass 2/2"
msgstr ""
-#: export_video_dialog.cc:814
+#: export_video_dialog.cc:813
msgid "Transcoding failed."
msgstr ""
-#: export_video_dialog.cc:983 export_video_dialog.cc:1003
+#: export_video_dialog.cc:982 export_video_dialog.cc:1002
msgid "Save Exported Video File"
msgstr ""
-#: export_video_infobox.cc:30
+#: export_video_infobox.cc:33
msgid "Video Export Info"
msgstr ""
-#: export_video_infobox.cc:31
+#: export_video_infobox.cc:34
msgid "Do Not Show This Dialog Again (Reset in Edit > Preferences > Video)."
msgstr ""
-#: export_video_infobox.cc:43
+#: export_video_infobox.cc:46
msgid "<b>Video Export Info</b>"
msgstr ""
-#: export_video_infobox.cc:48
+#: export_video_infobox.cc:51
msgid ""
"Video encoding is a non-trivial task with many details.\n"
"\n"
@@ -12150,6 +12481,27 @@ msgid ""
"Open Manual in Browser? "
msgstr ""
+#~ msgid "Slowest"
+#~ msgstr "Menor"
+
+#~ msgid " objects"
+#~ msgstr "objetos"
+
+#~ msgid "lock"
+#~ msgstr "bloquear"
+
+#~ msgid "in"
+#~ msgstr "entrada"
+
+#~ msgid "out"
+#~ msgstr "saída"
+
+#~ msgid "mute"
+#~ msgstr "mudo"
+
+#~ msgid "mono"
+#~ msgstr "mono"
+
#~ msgid "disconnected"
#~ msgstr "desconectado"
diff --git a/gtk2_ardour/po/pt_PT.po b/gtk2_ardour/po/pt_PT.po
index 9887a750d8..e18b9ed925 100644
--- a/gtk2_ardour/po/pt_PT.po
+++ b/gtk2_ardour/po/pt_PT.po
@@ -3,11 +3,12 @@
# This file is distributed under the same license as the ardour3 package.
# Rui Nuno Capela <rncbc@rncbc.org>, 2004-2007.
#
+#: engine_dialog.cc:558
msgid ""
msgstr ""
"Project-Id-Version: gtk2_ardour rev.1702\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-11-05 11:11-0500\n"
+"POT-Creation-Date: 2014-09-04 19:07-0400\n"
"PO-Revision-Date: 2007-04-15 19:00+0100\n"
"Last-Translator: Rui Nuno Capela <rncbc@rncbc.org>\n"
"Language-Team: Portuguese\n"
@@ -16,231 +17,235 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: about.cc:122
+#: about.cc:120
msgid "Brian Ahr"
msgstr ""
-#: about.cc:123
+#: about.cc:121
msgid "John Anderson"
msgstr ""
-#: about.cc:124
+#: about.cc:122
msgid "Marcus Andersson"
msgstr ""
-#: about.cc:125
+#: about.cc:123
msgid "Nedko Arnaudov"
msgstr ""
-#: about.cc:126
+#: about.cc:124
msgid "Hans Baier"
msgstr ""
-#: about.cc:127
+#: about.cc:125
msgid "Ben Bell"
msgstr ""
-#: about.cc:128
+#: about.cc:126
msgid "Sakari Bergen"
msgstr ""
-#: about.cc:129
+#: about.cc:127
+msgid "Christian Borss"
+msgstr ""
+
+#: about.cc:128
msgid "Chris Cannam"
msgstr ""
-#: about.cc:130
+#: about.cc:129
msgid "Jesse Chappell"
msgstr ""
-#: about.cc:131
+#: about.cc:130
msgid "Thomas Charbonnel"
msgstr ""
-#: about.cc:132
+#: about.cc:131
msgid "Sam Chessman"
msgstr ""
-#: about.cc:133
+#: about.cc:132
msgid "André Colomb"
msgstr ""
-#: about.cc:134
+#: about.cc:133
msgid "Paul Davis"
msgstr ""
-#: about.cc:135
+#: about.cc:134
msgid "Gerard van Dongen"
msgstr ""
-#: about.cc:136
+#: about.cc:135
msgid "Colin Fletcher"
msgstr ""
-#: about.cc:137
+#: about.cc:136
msgid "Dave Flick"
msgstr ""
-#: about.cc:138
+#: about.cc:137
msgid "Hans Fugal"
msgstr ""
-#: about.cc:139
+#: about.cc:138
msgid "Robin Gareus"
msgstr ""
-#: about.cc:140
+#: about.cc:139
msgid "Christopher George"
msgstr ""
-#: about.cc:141
+#: about.cc:140
msgid "Chris Goddard"
msgstr ""
-#: about.cc:142
+#: about.cc:141
msgid "J. Abelardo Gutierrez"
msgstr ""
-#: about.cc:143
+#: about.cc:142
msgid "Jeremy Hall"
msgstr ""
-#: about.cc:144
+#: about.cc:143
msgid "Audun Halland"
msgstr ""
-#: about.cc:145
+#: about.cc:144
msgid "David Halter"
msgstr ""
-#: about.cc:146
+#: about.cc:145
msgid "Steve Harris"
msgstr ""
-#: about.cc:147
+#: about.cc:146
msgid "Melvin Ray Herr"
msgstr ""
-#: about.cc:148
+#: about.cc:147
msgid "Carl Hetherington"
msgstr ""
-#: about.cc:149
+#: about.cc:148
msgid "Rob Holland"
msgstr ""
-#: about.cc:150
+#: about.cc:149
msgid "Robert Jordens"
msgstr ""
-#: about.cc:151
+#: about.cc:150
msgid "Stefan Kersten"
msgstr ""
-#: about.cc:152
+#: about.cc:151
msgid "Armand Klenk"
msgstr ""
-#: about.cc:153
+#: about.cc:152
msgid "Julien de Kozak"
msgstr ""
-#: about.cc:154
+#: about.cc:153
msgid "Matt Krai"
msgstr ""
-#: about.cc:155
+#: about.cc:154
msgid "Nick Lanham"
msgstr ""
-#: about.cc:156
+#: about.cc:155
msgid "Colin Law"
msgstr ""
-#: about.cc:157
+#: about.cc:156
msgid "Joshua Leach"
msgstr ""
-#: about.cc:158
+#: about.cc:157
msgid "Ben Loftis"
msgstr ""
-#: about.cc:159
+#: about.cc:158
msgid "Nick Mainsbridge"
msgstr ""
-#: about.cc:160
+#: about.cc:159
msgid "Tim Mayberry"
msgstr ""
-#: about.cc:161
+#: about.cc:160
msgid "Doug Mclain"
msgstr ""
-#: about.cc:162
+#: about.cc:161
msgid "Jack O'Quin"
msgstr ""
-#: about.cc:163
+#: about.cc:162
msgid "Nimal Ratnayake"
msgstr ""
-#: about.cc:164
+#: about.cc:163
msgid "David Robillard"
msgstr ""
-#: about.cc:165
+#: about.cc:164
msgid "Taybin Rutkin"
msgstr ""
-#: about.cc:166
+#: about.cc:165
msgid "Andreas Ruge"
msgstr ""
-#: about.cc:167
+#: about.cc:166
msgid "Sampo Savolainen"
msgstr ""
-#: about.cc:168
+#: about.cc:167
msgid "Rodrigo Severo"
msgstr ""
-#: about.cc:169
+#: about.cc:168
msgid "Per Sigmond"
msgstr ""
-#: about.cc:170
+#: about.cc:169
msgid "Lincoln Spiteri"
msgstr ""
-#: about.cc:171
+#: about.cc:170
msgid "Mike Start"
msgstr ""
-#: about.cc:172
+#: about.cc:171
msgid "Mark Stewart"
msgstr ""
-#: about.cc:173
+#: about.cc:172
msgid "Roland Stigge"
msgstr ""
-#: about.cc:174
+#: about.cc:173
msgid "Petter Sundlöf"
msgstr ""
-#: about.cc:175
+#: about.cc:174
msgid "Mike Täht"
msgstr ""
-#: about.cc:176
+#: about.cc:175
msgid "Roy Vegard"
msgstr ""
-#: about.cc:177
+#: about.cc:176
msgid "Thorsten Wilms"
msgstr ""
-#: about.cc:182
+#: about.cc:181
msgid ""
"French:\n"
"\tAlain Fréhel <alain.frehel@free.fr>\n"
@@ -249,7 +254,7 @@ msgid ""
"\tRomain Arnaud <roming22@gmail.com>\n"
msgstr ""
-#: about.cc:183
+#: about.cc:182
msgid ""
"German:\n"
"\tKarsten Petersen <kapet@kapet.de>\n"
@@ -261,189 +266,190 @@ msgid ""
"\tRobin Gloster <robin@loc-com.de>\n"
msgstr ""
-#: about.cc:190
+#: about.cc:189
msgid ""
"Italian:\n"
"\tFilippo Pappalardo <filippo@email.it>\n"
"\tRaffaele Morelli <raffaele.morelli@gmail.com>\n"
msgstr ""
-#: about.cc:191
+#: about.cc:190
msgid ""
"Portuguese:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
msgstr ""
-#: about.cc:192
+#: about.cc:191
msgid ""
"Brazilian Portuguese:\n"
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
"\tChris Ross <chris@tebibyte.org>\n"
msgstr ""
-#: about.cc:194
+#: about.cc:193
msgid ""
"Spanish:\n"
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
"\tPablo Fernández <pablo.fbus@gmail.com>\n"
msgstr ""
-#: about.cc:195
+#: about.cc:194
msgid ""
"Russian:\n"
"\t Igor Blinov <pitstop@nm.ru>\n"
"\tAlexandre Prokoudine <alexandre.prokoudine@gmail.com>\n"
msgstr ""
-#: about.cc:197
+#: about.cc:196
msgid ""
"Greek:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
msgstr ""
-#: about.cc:198
+#: about.cc:197
msgid ""
"Swedish:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
msgstr ""
-#: about.cc:199
+#: about.cc:198
msgid ""
"Polish:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
msgstr ""
-#: about.cc:200
+#: about.cc:199
msgid ""
"Czech:\n"
"\t Pavel Fric <pavelfric@seznam.cz>\n"
msgstr ""
-#: about.cc:201
+#: about.cc:200
msgid ""
"Norwegian:\n"
"\t Eivind Ødegård\n"
msgstr ""
-#: about.cc:202
+#: about.cc:201
msgid ""
"Chinese:\n"
"\t Rui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
msgstr ""
-#: about.cc:580
+#: about.cc:581
msgid "Copyright (C) 1999-2013 Paul Davis\n"
msgstr ""
-#: about.cc:584
+#: about.cc:585
msgid "http://ardour.org/"
msgstr ""
-#: about.cc:585
+#: about.cc:586
msgid ""
"%1\n"
"(built from revision %2)"
msgstr ""
-#: about.cc:589
+#: about.cc:590
msgid "Config"
msgstr ""
-#: actions.cc:85
+#: actions.cc:84
msgid "Loading menus from %1"
msgstr ""
-#: actions.cc:88 actions.cc:89
-msgid "badly formatted UI definition file: %1"
+#: actions.cc:87 actions.cc:88
+msgid "badly formatted menu definition file: %1"
msgstr ""
-#: actions.cc:91
+#: actions.cc:90
msgid "%1 menu definition file not found"
msgstr ""
-#: actions.cc:95 actions.cc:96
-msgid "%1 will not work without a valid ardour.menus file"
+#: actions.cc:94 actions.cc:95
+msgid "%1 will not work without a valid menu definition file"
msgstr ""
-#: add_route_dialog.cc:53 route_params_ui.cc:500
+#: add_route_dialog.cc:54 route_params_ui.cc:523
msgid "Add Track or Bus"
msgstr ""
-#: add_route_dialog.cc:56
+#: add_route_dialog.cc:57
msgid "Configuration:"
msgstr ""
-#: add_route_dialog.cc:57
+#: add_route_dialog.cc:58
msgid "Track mode:"
msgstr ""
-#: add_route_dialog.cc:58
+#: add_route_dialog.cc:59
msgid "Instrument:"
msgstr ""
-#: add_route_dialog.cc:76
+#: add_route_dialog.cc:78
msgid "Audio Tracks"
msgstr ""
-#: add_route_dialog.cc:77
+#: add_route_dialog.cc:79
msgid "MIDI Tracks"
msgstr ""
-#: add_route_dialog.cc:78
+#: add_route_dialog.cc:80
msgid "Audio+MIDI Tracks"
msgstr ""
-#: add_route_dialog.cc:79
+#: add_route_dialog.cc:81
msgid "Busses"
msgstr ""
-#: add_route_dialog.cc:101
+#: add_route_dialog.cc:103
msgid "Add:"
msgstr ""
-#: add_route_dialog.cc:114 time_fx_dialog.cc:91 add_video_dialog.cc:150
-#: video_server_dialog.cc:112
+#: add_route_dialog.cc:116 time_fx_dialog.cc:91 add_video_dialog.cc:135
+#: video_server_dialog.cc:151
msgid "<b>Options</b>"
msgstr ""
-#: add_route_dialog.cc:124 bundle_manager.cc:192 region_editor.cc:50
-#: route_group_dialog.cc:65
+#: add_route_dialog.cc:126 bundle_manager.cc:193 region_editor.cc:49
+#: route_group_dialog.cc:71
msgid "Name:"
msgstr ""
-#: add_route_dialog.cc:154
+#: add_route_dialog.cc:156
msgid "Group:"
msgstr ""
-#: add_route_dialog.cc:215 add_route_dialog.cc:224 add_route_dialog.cc:298
-#: ardour_ui_ed.cc:476 engine_dialog.cc:236 rc_option_editor.cc:1446
-#: rc_option_editor.cc:1448 rc_option_editor.cc:1450 rc_option_editor.cc:1466
-#: rc_option_editor.cc:1468 rc_option_editor.cc:1476 rc_option_editor.cc:1478
-#: rc_option_editor.cc:1496 rc_option_editor.cc:1509 rc_option_editor.cc:1511
-#: rc_option_editor.cc:1513 rc_option_editor.cc:1544 rc_option_editor.cc:1546
-#: rc_option_editor.cc:1548 rc_option_editor.cc:1556 rc_option_editor.cc:1564
-#: rc_option_editor.cc:1572
+#: add_route_dialog.cc:217 add_route_dialog.cc:226 add_route_dialog.cc:300
+#: ardour_ui_ed.cc:523 engine_dialog.cc:235 rc_option_editor.cc:1710
+#: rc_option_editor.cc:1712 rc_option_editor.cc:1714 rc_option_editor.cc:1732
+#: rc_option_editor.cc:1734 rc_option_editor.cc:1742 rc_option_editor.cc:1744
+#: rc_option_editor.cc:1762 rc_option_editor.cc:1775 rc_option_editor.cc:1777
+#: rc_option_editor.cc:1779 rc_option_editor.cc:1810 rc_option_editor.cc:1812
+#: rc_option_editor.cc:1814 rc_option_editor.cc:1822 rc_option_editor.cc:1830
+#: rc_option_editor.cc:1832 rc_option_editor.cc:1840
msgid "Audio"
msgstr ""
-#: add_route_dialog.cc:216 add_route_dialog.cc:227 add_route_dialog.cc:299
-#: editor_actions.cc:105 missing_file_dialog.cc:55 rc_option_editor.cc:1695
-#: rc_option_editor.cc:1703 rc_option_editor.cc:1711 rc_option_editor.cc:1720
-#: rc_option_editor.cc:1728 rc_option_editor.cc:1736 rc_option_editor.cc:1744
-#: rc_option_editor.cc:1753 rc_option_editor.cc:1762 rc_option_editor.cc:1771
-#: rc_option_editor.cc:1779 rc_option_editor.cc:1787
+#: add_route_dialog.cc:218 add_route_dialog.cc:229 add_route_dialog.cc:301
+#: editor_actions.cc:109 engine_dialog.cc:237 missing_file_dialog.cc:56
+#: rc_option_editor.cc:1975 rc_option_editor.cc:1983 rc_option_editor.cc:1991
+#: rc_option_editor.cc:2000 rc_option_editor.cc:2008 rc_option_editor.cc:2016
+#: rc_option_editor.cc:2024 rc_option_editor.cc:2033 rc_option_editor.cc:2042
+#: rc_option_editor.cc:2051 rc_option_editor.cc:2059 rc_option_editor.cc:2067
+#: rc_option_editor.cc:2075 rc_option_editor.cc:2098
msgid "MIDI"
msgstr ""
-#: add_route_dialog.cc:217 add_route_dialog.cc:230 add_route_dialog.cc:300
+#: add_route_dialog.cc:219 add_route_dialog.cc:232 add_route_dialog.cc:302
msgid "Audio+MIDI"
msgstr ""
-#: add_route_dialog.cc:218 add_route_dialog.cc:233 add_route_dialog.cc:301
+#: add_route_dialog.cc:220 add_route_dialog.cc:235 add_route_dialog.cc:303
msgid "Bus"
msgstr ""
-#: add_route_dialog.cc:260
+#: add_route_dialog.cc:262
msgid ""
"Audio+MIDI tracks are intended for use <b>ONLY</b> with plugins that use "
"both audio and MIDI input data\n"
@@ -452,64 +458,64 @@ msgid ""
"track instead."
msgstr ""
-#: add_route_dialog.cc:319 add_route_dialog.cc:338 editor_actions.cc:385
-#: editor_rulers.cc:377 time_axis_view.cc:1305
+#: add_route_dialog.cc:321 add_route_dialog.cc:340 editor_actions.cc:420
+#: editor_rulers.cc:251 time_axis_view.cc:1339
msgid "Normal"
msgstr "Normal"
-#: add_route_dialog.cc:322 add_route_dialog.cc:340
+#: add_route_dialog.cc:324 add_route_dialog.cc:342
msgid "Non Layered"
msgstr ""
-#: add_route_dialog.cc:323 add_route_dialog.cc:342
+#: add_route_dialog.cc:325 add_route_dialog.cc:344
msgid "Tape"
msgstr "Fita"
-#: add_route_dialog.cc:423
+#: add_route_dialog.cc:425 monitor_section.cc:291
msgid "Mono"
msgstr ""
-#: add_route_dialog.cc:427
+#: add_route_dialog.cc:429
msgid "Stereo"
msgstr ""
-#: add_route_dialog.cc:451
+#: add_route_dialog.cc:453
msgid "3 Channel"
msgstr ""
-#: add_route_dialog.cc:455
+#: add_route_dialog.cc:457
msgid "4 Channel"
msgstr ""
-#: add_route_dialog.cc:459
+#: add_route_dialog.cc:461
msgid "5 Channel"
msgstr ""
-#: add_route_dialog.cc:463
+#: add_route_dialog.cc:465
msgid "6 Channel"
msgstr ""
-#: add_route_dialog.cc:467
+#: add_route_dialog.cc:469
msgid "8 Channel"
msgstr ""
-#: add_route_dialog.cc:471
+#: add_route_dialog.cc:473
msgid "12 Channel"
msgstr ""
-#: add_route_dialog.cc:475 mixer_strip.cc:2131
+#: add_route_dialog.cc:477 mixer_strip.cc:1791 mixer_strip.cc:2199
msgid "Custom"
msgstr ""
-#: add_route_dialog.cc:508 add_route_dialog.cc:524 route_group_menu.cc:81
+#: add_route_dialog.cc:510 add_route_dialog.cc:526 route_group_menu.cc:81
msgid "New Group..."
msgstr ""
-#: add_route_dialog.cc:512 route_group_menu.cc:85
+#: add_route_dialog.cc:514 route_group_menu.cc:85
msgid "No Group"
msgstr ""
-#: add_route_dialog.cc:588
+#: add_route_dialog.cc:590
msgid "-none-"
msgstr ""
@@ -530,7 +536,7 @@ msgid ""
"Please select the path that you want to get the file from."
msgstr ""
-#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:45
+#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:46
msgid "Done"
msgstr ""
@@ -570,17 +576,17 @@ msgstr ""
msgid "FFT analysis window"
msgstr ""
-#: analysis_window.cc:60 editor.cc:1857
+#: analysis_window.cc:60 editor.cc:1776
msgid "Spectral Analysis"
msgstr ""
-#: analysis_window.cc:67 editor_actions.cc:138 export_channel_selector.cc:557
+#: analysis_window.cc:67 editor_actions.cc:142 export_channel_selector.cc:557
#: session_metadata_dialog.cc:546
msgid "Track"
msgstr "Faixa"
-#: analysis_window.cc:68 editor_actions.cc:616 mixer_ui.cc:125
-#: mixer_ui.cc:1795
+#: analysis_window.cc:68 editor_actions.cc:658 mixer_ui.cc:130
+#: mixer_ui.cc:1830
msgid "Show"
msgstr ""
@@ -588,90 +594,96 @@ msgstr ""
msgid "Re-analyze data"
msgstr ""
-#: ardour_button.cc:704
+#: ardour_button.cc:810
msgid "button cannot watch state of non-existing Controllable\n"
msgstr ""
-#: ardour_ui.cc:180
-msgid "audition"
+#: ardour_button.cc:1024
+msgid "ABCDEFGHIJLKMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
msgstr ""
-#: ardour_ui.cc:181
-msgid "solo"
+#: ardour_ui.cc:194 editor_actions.cc:652 region_editor.cc:50
+msgid "Audition"
+msgstr "Audição"
+
+#: ardour_ui.cc:195 editor_actions.cc:136 mixer_strip.cc:1971
+#: rc_option_editor.cc:1850 route_time_axis.cc:252 route_time_axis.cc:2566
+msgid "Solo"
msgstr ""
-#: ardour_ui.cc:182
-msgid "feedback"
+#: ardour_ui.cc:196 rc_option_editor.cc:718
+msgid "Feedback"
msgstr ""
-#: ardour_ui.cc:187 speaker_dialog.cc:36
+#: ardour_ui.cc:201 speaker_dialog.cc:36
msgid "Speaker Configuration"
msgstr ""
-#: ardour_ui.cc:188 theme_manager.cc:56 theme_manager.cc:64
+#: ardour_ui.cc:202 theme_manager.cc:62 theme_manager.cc:77
msgid "Theme Manager"
msgstr ""
-#: ardour_ui.cc:189 keyeditor.cc:53
+#: ardour_ui.cc:203 keyeditor.cc:53
msgid "Key Bindings"
msgstr ""
-#: ardour_ui.cc:190
+#: ardour_ui.cc:204
msgid "Preferences"
msgstr ""
-#: ardour_ui.cc:191 ardour_ui.cc:197
+#: ardour_ui.cc:205 ardour_ui.cc:211
msgid "Add Tracks/Busses"
msgstr ""
-#: ardour_ui.cc:192
+#: ardour_ui.cc:206
msgid "About"
msgstr "Acerca de"
-#: ardour_ui.cc:193 location_ui.cc:1146
+#: ardour_ui.cc:207 location_ui.cc:1148 session_option_editor.cc:189
+#: session_option_editor.cc:195 session_option_editor.cc:202
msgid "Locations"
msgstr "Localizações"
-#: ardour_ui.cc:194 route_params_ui.cc:58 route_params_ui.cc:606
+#: ardour_ui.cc:208 route_params_ui.cc:58 route_params_ui.cc:629
msgid "Tracks and Busses"
msgstr ""
-#: ardour_ui.cc:195 engine_dialog.cc:67
+#: ardour_ui.cc:209 engine_dialog.cc:69
msgid "Audio/MIDI Setup"
msgstr ""
-#: ardour_ui.cc:196
+#: ardour_ui.cc:210
msgid "Properties"
msgstr ""
-#: ardour_ui.cc:198 bundle_manager.cc:263
+#: ardour_ui.cc:212 bundle_manager.cc:264
msgid "Bundle Manager"
msgstr ""
-#: ardour_ui.cc:199 big_clock_window.cc:35
+#: ardour_ui.cc:213 big_clock_window.cc:37
msgid "Big Clock"
msgstr "Cronómetro principal"
-#: ardour_ui.cc:200
+#: ardour_ui.cc:214
msgid "Audio Connections"
msgstr ""
-#: ardour_ui.cc:201
+#: ardour_ui.cc:215
msgid "MIDI Connections"
msgstr ""
-#: ardour_ui.cc:203
+#: ardour_ui.cc:217
msgid "Errors"
msgstr ""
-#: ardour_ui.cc:436
+#: ardour_ui.cc:461
msgid ""
"The audio backend was shutdown because:\n"
"\n"
"%1"
msgstr ""
-#: ardour_ui.cc:438
+#: ardour_ui.cc:463
msgid ""
"The audio backend has either been shutdown or it\n"
"disconnected %1 because %1\n"
@@ -679,27 +691,27 @@ msgid ""
"the audio backend and save the session."
msgstr ""
-#: ardour_ui.cc:758
+#: ardour_ui.cc:781
msgid "NSM server did not announce itself"
msgstr ""
-#: ardour_ui.cc:771
+#: ardour_ui.cc:794
msgid "NSM: no client ID provided"
msgstr ""
-#: ardour_ui.cc:778
+#: ardour_ui.cc:801
msgid "NSM: no session created"
msgstr ""
-#: ardour_ui.cc:801
+#: ardour_ui.cc:824
msgid "NSM: initialization failed"
msgstr ""
-#: ardour_ui.cc:840 startup.cc:379
+#: ardour_ui.cc:864 startup.cc:380
msgid "%1 is ready for use"
msgstr ""
-#: ardour_ui.cc:882
+#: ardour_ui.cc:906
msgid ""
"WARNING: Your system has a limit for maximum amount of locked memory. This "
"might cause %1 to run out of memory before your system runs out of memory. \n"
@@ -708,23 +720,23 @@ msgid ""
"controlled by %2"
msgstr ""
-#: ardour_ui.cc:899
+#: ardour_ui.cc:923
msgid "Do not show this window again"
msgstr ""
-#: ardour_ui.cc:943
+#: ardour_ui.cc:967
msgid "Don't quit"
msgstr ""
-#: ardour_ui.cc:944
+#: ardour_ui.cc:968
msgid "Just quit"
msgstr ""
-#: ardour_ui.cc:945
+#: ardour_ui.cc:969
msgid "Save and quit"
msgstr ""
-#: ardour_ui.cc:955
+#: ardour_ui.cc:979
msgid ""
"%1 was unable to save your session.\n"
"\n"
@@ -733,15 +745,11 @@ msgid ""
"\"Just quit\" option."
msgstr ""
-#: ardour_ui.cc:986
-msgid "Please wait while %1 cleans up..."
-msgstr ""
-
-#: ardour_ui.cc:1004
+#: ardour_ui.cc:1030
msgid "Unsaved Session"
msgstr ""
-#: ardour_ui.cc:1025
+#: ardour_ui.cc:1051
msgid ""
"The session \"%1\"\n"
"has not been saved.\n"
@@ -752,7 +760,7 @@ msgid ""
"What do you want to do?"
msgstr ""
-#: ardour_ui.cc:1028
+#: ardour_ui.cc:1054
msgid ""
"The snapshot \"%1\"\n"
"has not been saved.\n"
@@ -763,75 +771,75 @@ msgid ""
"What do you want to do?"
msgstr ""
-#: ardour_ui.cc:1042
+#: ardour_ui.cc:1068
msgid "Prompter"
msgstr "Alerta"
-#: ardour_ui.cc:1128 ardour_ui.cc:1136
+#: ardour_ui.cc:1182 ardour_ui.cc:1190
#, c-format
msgid "Audio: <span foreground=\"red\">none</span>"
msgstr ""
-#: ardour_ui.cc:1140
+#: ardour_ui.cc:1194
#, c-format
msgid "Audio: <span foreground=\"green\">%.1f kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1144
+#: ardour_ui.cc:1198
#, c-format
msgid "Audio: <span foreground=\"green\">%<PRId64> kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1162 export_video_dialog.cc:67
+#: ardour_ui.cc:1216 export_video_dialog.cc:68
msgid "File:"
msgstr ""
-#: ardour_ui.cc:1166
+#: ardour_ui.cc:1220
msgid "BWF"
msgstr ""
-#: ardour_ui.cc:1169
+#: ardour_ui.cc:1223
msgid "WAV"
msgstr ""
-#: ardour_ui.cc:1172
+#: ardour_ui.cc:1226
msgid "WAV64"
msgstr ""
-#: ardour_ui.cc:1175 session_option_editor.cc:197
+#: ardour_ui.cc:1229 session_option_editor.cc:185
msgid "CAF"
msgstr ""
-#: ardour_ui.cc:1178
+#: ardour_ui.cc:1232
msgid "AIFF"
msgstr ""
-#: ardour_ui.cc:1181
+#: ardour_ui.cc:1235
msgid "iXML"
msgstr ""
-#: ardour_ui.cc:1184
+#: ardour_ui.cc:1238
msgid "RF64"
msgstr ""
-#: ardour_ui.cc:1192
+#: ardour_ui.cc:1246
msgid "32-float"
msgstr ""
-#: ardour_ui.cc:1195
+#: ardour_ui.cc:1249
msgid "24-int"
msgstr ""
-#: ardour_ui.cc:1198
+#: ardour_ui.cc:1252
msgid "16-int"
msgstr ""
-#: ardour_ui.cc:1217
+#: ardour_ui.cc:1271
#, c-format
msgid "DSP: <span foreground=\"%s\">%5.1f%%</span>"
msgstr ""
-#: ardour_ui.cc:1236
+#: ardour_ui.cc:1290
#, c-format
msgid ""
"Buffers: <span foreground=\"green\">p:</span><span foreground=\"%s\">"
@@ -839,213 +847,217 @@ msgid ""
"\">%<PRIu32>%%</span>"
msgstr ""
-#: ardour_ui.cc:1277
+#: ardour_ui.cc:1331
msgid "Disk: <span foreground=\"green\">Unknown</span>"
msgstr ""
-#: ardour_ui.cc:1279
+#: ardour_ui.cc:1333
msgid "Disk: <span foreground=\"green\">24hrs+</span>"
msgstr ""
-#: ardour_ui.cc:1297
+#: ardour_ui.cc:1351
msgid "Disk: <span foreground=\"green\">&gt;24 hrs</span>"
msgstr ""
-#: ardour_ui.cc:1308
+#: ardour_ui.cc:1362
#, c-format
msgid "Disk: <span foreground=\"%s\">%02dh:%02dm:%02ds</span>"
msgstr ""
-#: ardour_ui.cc:1334
+#: ardour_ui.cc:1388
#, c-format
msgid "Timecode|TC: <span foreground=\"%s\">%s</span>"
msgstr ""
-#: ardour_ui.cc:1451 ardour_ui.cc:1460 session_dialog.cc:322
-#: session_dialog.cc:327
+#: ardour_ui.cc:1509 ardour_ui.cc:1518 session_dialog.cc:326
+#: session_dialog.cc:331
msgid "Recent Sessions"
msgstr "Sessões recentes"
-#: ardour_ui.cc:1539
+#: ardour_ui.cc:1597
msgid ""
"%1 is not connected to any audio backend.\n"
"You cannot open or close sessions in this condition"
msgstr ""
-#: ardour_ui.cc:1563
+#: ardour_ui.cc:1621
msgid "Open Session"
msgstr "Abrir sessão"
-#: ardour_ui.cc:1588 session_dialog.cc:353 session_import_dialog.cc:169
+#: ardour_ui.cc:1646 session_dialog.cc:357 session_import_dialog.cc:169
#: session_metadata_dialog.cc:729
msgid "%1 sessions"
msgstr ""
-#: ardour_ui.cc:1625
+#: ardour_ui.cc:1683
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."
-#: ardour_ui.cc:1633
+#: ardour_ui.cc:1691
msgid "could not create %1 new mixed track"
msgid_plural "could not create %1 new mixed tracks"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1639 ardour_ui.cc:1700
+#: ardour_ui.cc:1697 ardour_ui.cc:1758
msgid ""
-"There are insufficient JACK ports available\n"
+"There are insufficient ports available\n"
"to create a new track or bus.\n"
"You should save %1, exit and\n"
-"restart JACK with more ports."
+"restart with more ports."
msgstr ""
-#: ardour_ui.cc:1674
+#: ardour_ui.cc:1732
msgid "You cannot add a track or bus without a session already loaded."
msgstr ""
-#: ardour_ui.cc:1683
+#: ardour_ui.cc:1741
msgid "could not create %1 new audio track"
msgid_plural "could not create %1 new audio tracks"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1692
+#: ardour_ui.cc:1750
msgid "could not create %1 new audio bus"
msgid_plural "could not create %1 new audio busses"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1816
+#: ardour_ui.cc:1903
msgid ""
"Please create one or more tracks before trying to record.\n"
"You can do this with the \"Add Track or Bus\" option in the Session menu."
msgstr ""
-#: ardour_ui.cc:2193
+#: ardour_ui.cc:2312
+msgid "Save as..."
+msgstr ""
+
+#: ardour_ui.cc:2313 ardour_ui.cc:2392
+msgid "New session name"
+msgstr ""
+
+#: ardour_ui.cc:2315
msgid "Take Snapshot"
msgstr ""
-#: ardour_ui.cc:2194
+#: ardour_ui.cc:2316
msgid "Name of new snapshot"
msgstr ""
-#: ardour_ui.cc:2218
+#: ardour_ui.cc:2341
msgid ""
"To ensure compatibility with various systems\n"
"snapshot names may not contain a '%1' character"
msgstr ""
-#: ardour_ui.cc:2230
+#: ardour_ui.cc:2353
msgid "Confirm Snapshot Overwrite"
msgstr ""
-#: ardour_ui.cc:2231
+#: ardour_ui.cc:2354
msgid "A snapshot already exists with that name. Do you want to overwrite it?"
msgstr ""
-#: ardour_ui.cc:2234 utils_videotl.cc:67
+#: ardour_ui.cc:2357 utils_videotl.cc:67
msgid "Overwrite"
msgstr ""
-#: ardour_ui.cc:2268
+#: ardour_ui.cc:2391
msgid "Rename Session"
msgstr ""
-#: ardour_ui.cc:2269
-msgid "New session name"
-msgstr ""
-
-#: ardour_ui.cc:2283 ardour_ui.cc:2684 ardour_ui.cc:2722
+#: ardour_ui.cc:2406 ardour_ui.cc:2814 ardour_ui.cc:2852
msgid ""
"To ensure compatibility with various systems\n"
"session names may not contain a '%1' character"
msgstr ""
-#: ardour_ui.cc:2291
+#: ardour_ui.cc:2414
msgid ""
"That name is already in use by another directory/folder. Please try again."
msgstr ""
-#: ardour_ui.cc:2300
+#: ardour_ui.cc:2423
msgid ""
"Renaming this session failed.\n"
"Things could be seriously messed up at this point"
msgstr ""
-#: ardour_ui.cc:2411
+#: ardour_ui.cc:2534
msgid "Save Template"
msgstr ""
-#: ardour_ui.cc:2412
+#: ardour_ui.cc:2535
msgid "Name for template:"
msgstr ""
-#: ardour_ui.cc:2413
+#: ardour_ui.cc:2536
msgid "-template"
msgstr "-modelo"
-#: ardour_ui.cc:2451
+#: ardour_ui.cc:2574
msgid ""
"This session\n"
"%1\n"
"already exists. Do you want to open it?"
msgstr ""
-#: ardour_ui.cc:2461
+#: ardour_ui.cc:2584
msgid "Open Existing Session"
msgstr ""
-#: ardour_ui.cc:2712
+#: ardour_ui.cc:2842
msgid "There is no existing session at \"%1\""
msgstr ""
-#: ardour_ui.cc:2804
+#: ardour_ui.cc:2934
msgid "Please wait while %1 loads your session"
msgstr ""
-#: ardour_ui.cc:2819
+#: ardour_ui.cc:2949
msgid "Port Registration Error"
msgstr ""
-#: ardour_ui.cc:2820
+#: ardour_ui.cc:2950
msgid "Click the Close button to try again."
msgstr ""
-#: ardour_ui.cc:2841
+#: ardour_ui.cc:2971
msgid "Session \"%1 (snapshot %2)\" did not load successfully"
msgstr "Não foi possível carregar a sessão \"%1 (captura %2)\" com sucesso"
-#: ardour_ui.cc:2848
+#: ardour_ui.cc:2978
msgid "Loading Error"
msgstr ""
-#: ardour_ui.cc:2867
+#: ardour_ui.cc:2997
msgid ""
"This session has been opened in read-only mode.\n"
"\n"
"You will not be able to record or save."
msgstr ""
-#: ardour_ui.cc:2873
+#: ardour_ui.cc:3003
msgid "Read-only Session"
msgstr ""
-#: ardour_ui.cc:2931
+#: ardour_ui.cc:3069
msgid "Could not create session in \"%1\""
msgstr ""
-#: ardour_ui.cc:3031
+#: ardour_ui.cc:3169
msgid "No files were ready for clean-up"
msgstr ""
-#: ardour_ui.cc:3035 ardour_ui.cc:3045 ardour_ui.cc:3178 ardour_ui.cc:3185
-#: ardour_ui_ed.cc:104
+#: ardour_ui.cc:3173 ardour_ui.cc:3183 ardour_ui.cc:3316 ardour_ui.cc:3323
+#: ardour_ui_ed.cc:103
msgid "Clean-up"
msgstr ""
-#: ardour_ui.cc:3036
+#: ardour_ui.cc:3174
msgid ""
"If this seems suprising, \n"
"check for any existing snapshots.\n"
@@ -1057,19 +1069,19 @@ msgstr ""
"Estas podem ainda incluir regiões que necessitem\n"
"da existência de alguns ficheiros já em desuso."
-#: ardour_ui.cc:3095
+#: ardour_ui.cc:3233
msgid "kilo"
msgstr ""
-#: ardour_ui.cc:3098
+#: ardour_ui.cc:3236
msgid "mega"
msgstr ""
-#: ardour_ui.cc:3101
+#: ardour_ui.cc:3239
msgid "giga"
msgstr ""
-#: ardour_ui.cc:3106
+#: ardour_ui.cc:3244
msgid ""
"The following file was deleted from %2,\n"
"releasing %3 %4bytes of disk space"
@@ -1079,7 +1091,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:3113
+#: ardour_ui.cc:3251
msgid ""
"The following file was not in use and \n"
"has been moved to: %2\n"
@@ -1101,93 +1113,92 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:3173
+#: ardour_ui.cc:3311
msgid "Are you sure you want to clean-up?"
msgstr ""
-#: ardour_ui.cc:3180
+#: ardour_ui.cc:3318
msgid ""
"Clean-up is a destructive operation.\n"
"ALL undo/redo information will be lost if you clean-up.\n"
"Clean-up will move all unused files to a \"dead\" location."
msgstr ""
-#: ardour_ui.cc:3188
+#: ardour_ui.cc:3326
msgid "CleanupDialog"
msgstr ""
-#: ardour_ui.cc:3218
+#: ardour_ui.cc:3356
msgid "Cleaned Files"
msgstr ""
-#: ardour_ui.cc:3235
+#: ardour_ui.cc:3373
msgid "deleted file"
msgstr "ficheiro eliminado"
-#: ardour_ui.cc:3381
-msgid ""
-"Video-Server was not launched by Ardour. The request to stop it is ignored."
+#: ardour_ui.cc:3512
+msgid "Video-Server was not launched by %1. The request to stop it is ignored."
msgstr ""
-#: ardour_ui.cc:3385
+#: ardour_ui.cc:3516
msgid "Stop Video-Server"
msgstr ""
-#: ardour_ui.cc:3386
+#: ardour_ui.cc:3517
msgid "Do you really want to stop the Video Server?"
msgstr ""
-#: ardour_ui.cc:3389
+#: ardour_ui.cc:3520
msgid "Yes, Stop It"
msgstr ""
-#: ardour_ui.cc:3415
+#: ardour_ui.cc:3546
msgid "The Video Server is already started."
msgstr ""
-#: ardour_ui.cc:3417
+#: ardour_ui.cc:3548
msgid ""
"An external Video Server is configured and can be reached. Not starting a "
"new instance."
msgstr ""
-#: ardour_ui.cc:3425 ardour_ui.cc:3515
+#: ardour_ui.cc:3556 ardour_ui.cc:3655
msgid ""
"Could not connect to the Video Server. Start it or configure its access URL "
"in Edit -> Preferences."
msgstr ""
-#: ardour_ui.cc:3449
+#: ardour_ui.cc:3580
msgid "Specified docroot is not an existing directory."
msgstr ""
-#: ardour_ui.cc:3454
+#: ardour_ui.cc:3586 ardour_ui.cc:3592
msgid "Given Video Server is not an executable file."
msgstr ""
-#: ardour_ui.cc:3487
+#: ardour_ui.cc:3626
msgid "Cannot launch the video-server"
msgstr ""
-#: ardour_ui.cc:3496
+#: ardour_ui.cc:3636
msgid "Video-server was started but does not respond to requests..."
msgstr ""
-#: ardour_ui.cc:3541 editor_audio_import.cc:632
+#: ardour_ui.cc:3681 editor_audio_import.cc:628
msgid "could not open %1"
msgstr "não foi possível abrir %1"
-#: ardour_ui.cc:3545
+#: ardour_ui.cc:3685
msgid "no video-file selected"
msgstr ""
-#: ardour_ui.cc:3717
+#: ardour_ui.cc:3858
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 adequadamente."
-#: ardour_ui.cc:3746
+#: ardour_ui.cc:3887
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1196,7 +1207,23 @@ msgid ""
"quickly enough to keep up with recording.\n"
msgstr ""
-#: ardour_ui.cc:3765
+#: ardour_ui.cc:3957
+msgid "Scanning for plugins"
+msgstr ""
+
+#: ardour_ui.cc:3959
+msgid "Cancel plugin scan"
+msgstr ""
+
+#: ardour_ui.cc:3968
+msgid "Stop Timeout"
+msgstr ""
+
+#: ardour_ui.cc:3975
+msgid "Scan Timeout"
+msgstr ""
+
+#: ardour_ui.cc:4016
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1205,11 +1232,11 @@ msgid ""
"quickly enough to keep up with playback.\n"
msgstr ""
-#: ardour_ui.cc:3805
+#: ardour_ui.cc:4056
msgid "Crash Recovery"
msgstr ""
-#: ardour_ui.cc:3806
+#: ardour_ui.cc:4057
msgid ""
"This session appears to have been in the\n"
"middle of recording when %1 or\n"
@@ -1220,42 +1247,42 @@ msgid ""
"what you would like to do.\n"
msgstr ""
-#: ardour_ui.cc:3818
+#: ardour_ui.cc:4069
msgid "Ignore crash data"
msgstr "Ignorar"
-#: ardour_ui.cc:3819
+#: ardour_ui.cc:4070
msgid "Recover from crash"
msgstr "Recuperar"
-#: ardour_ui.cc:3839
+#: ardour_ui.cc:4090
msgid "Sample Rate Mismatch"
msgstr ""
-#: ardour_ui.cc:3840
+#: ardour_ui.cc:4091
msgid ""
"This session was created with a sample rate of %1 Hz, but\n"
"%2 is currently running at %3 Hz. If you load this session,\n"
"audio may be played at the wrong sample rate.\n"
msgstr ""
-#: ardour_ui.cc:3849
+#: ardour_ui.cc:4100
msgid "Do not load session"
msgstr ""
-#: ardour_ui.cc:3850
+#: ardour_ui.cc:4101
msgid "Load session anyway"
msgstr ""
-#: ardour_ui.cc:3877
+#: ardour_ui.cc:4128
msgid "Could not disconnect from Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:3893 ardour_ui.cc:3896
+#: ardour_ui.cc:4144 ardour_ui.cc:4147
msgid "Could not reconnect to the Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:4172
+#: ardour_ui.cc:4431
msgid ""
"%4This is a session from an older version of %3%5\n"
"\n"
@@ -1270,85 +1297,85 @@ msgid ""
"From now on, use the -2000 version with older versions of %3"
msgstr ""
-#: ardour_ui2.cc:72
+#: ardour_ui2.cc:73
msgid "UI: cannot setup editor"
msgstr "Não foi possível iniciar o painel de edição"
-#: ardour_ui2.cc:77
+#: ardour_ui2.cc:78
msgid "UI: cannot setup mixer"
msgstr "Não foi posivel iniciar o painel de mistura"
-#: ardour_ui2.cc:82
+#: ardour_ui2.cc:83
msgid "UI: cannot setup meterbridge"
msgstr ""
-#: ardour_ui2.cc:130
+#: ardour_ui2.cc:131
msgid "Play from playhead"
msgstr "Reproduzir desde o cursor de reprodução"
-#: ardour_ui2.cc:131
+#: ardour_ui2.cc:132
msgid "Stop playback"
msgstr "Parar reprodução"
-#: ardour_ui2.cc:132
+#: ardour_ui2.cc:133
msgid "Toggle record"
msgstr ""
-#: ardour_ui2.cc:133
+#: ardour_ui2.cc:134
msgid "Play range/selection"
msgstr "Reproduzir selecção"
-#: ardour_ui2.cc:134
+#: ardour_ui2.cc:135
msgid "Go to start of session"
msgstr "Ir para o início da sessão"
-#: ardour_ui2.cc:135
+#: ardour_ui2.cc:136
msgid "Go to end of session"
msgstr "Ir para o final da sessão"
-#: ardour_ui2.cc:136
+#: ardour_ui2.cc:137
msgid "Play loop range"
msgstr "Reproduzir intervalo cíclico"
-#: ardour_ui2.cc:137
+#: ardour_ui2.cc:138
msgid ""
"MIDI Panic\n"
"Send note off and reset controller messages on all MIDI channels"
msgstr ""
-#: ardour_ui2.cc:138
+#: ardour_ui2.cc:139
msgid "Return to last playback start when stopped"
msgstr "Ir para a última posição inicial do cursor de reprodução quando parar"
-#: ardour_ui2.cc:139
+#: ardour_ui2.cc:140
msgid "Playhead follows Range Selections and Edits"
msgstr ""
-#: ardour_ui2.cc:140
+#: ardour_ui2.cc:141
msgid "Be sensible about input monitoring"
msgstr "Seja sensível acerca da monitorização de entradas"
-#: ardour_ui2.cc:141
+#: ardour_ui2.cc:142
msgid "Enable/Disable audio click"
msgstr "Ligar/Desligar o metrónomo"
-#: ardour_ui2.cc:142 monitor_section.cc:101
+#: ardour_ui2.cc:143 monitor_section.cc:112
msgid ""
"When active, something is soloed.\n"
"Click to de-solo everything"
msgstr ""
-#: ardour_ui2.cc:143
+#: ardour_ui2.cc:144
msgid ""
"When active, auditioning is taking place\n"
"Click to stop the audition"
msgstr ""
-#: ardour_ui2.cc:144
+#: ardour_ui2.cc:145
msgid "When active, there is a feedback loop."
msgstr ""
-#: ardour_ui2.cc:145
+#: ardour_ui2.cc:146
msgid ""
"<b>Primary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1356,7 +1383,7 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:146
+#: ardour_ui2.cc:147
msgid ""
"<b>Secondary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1364,361 +1391,418 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:147
-msgid "Reset Level Meter"
+#: ardour_ui2.cc:148
+msgid "Reset All Peak Indicators"
msgstr ""
-#: ardour_ui2.cc:179
+#: ardour_ui2.cc:180
msgid "[ERROR]: "
msgstr ""
-#: ardour_ui2.cc:181
+#: ardour_ui2.cc:182
msgid "[WARNING]: "
msgstr ""
-#: ardour_ui2.cc:183
+#: ardour_ui2.cc:184
msgid "[INFO]: "
msgstr ""
-#: ardour_ui2.cc:247 ardour_ui_ed.cc:344
+#: ardour_ui2.cc:248 ardour_ui_ed.cc:391
msgid "Auto Return"
msgstr ""
-#: ardour_ui2.cc:249 ardour_ui_ed.cc:347
+#: ardour_ui2.cc:250 ardour_ui_ed.cc:394
msgid "Follow Edits"
msgstr ""
-#: ardour_ui2.cc:628 rc_option_editor.cc:1002 rc_option_editor.cc:1020
-#: rc_option_editor.cc:1023 rc_option_editor.cc:1025 rc_option_editor.cc:1027
-#: rc_option_editor.cc:1035 rc_option_editor.cc:1043 rc_option_editor.cc:1045
-#: rc_option_editor.cc:1053 rc_option_editor.cc:1060 rc_option_editor.cc:1069
-#: rc_option_editor.cc:1071 rc_option_editor.cc:1073 rc_option_editor.cc:1081
-#: rc_option_editor.cc:1083 rc_option_editor.cc:1092
-#: session_option_editor.cc:234 session_option_editor.cc:236
-#: session_option_editor.cc:257 session_option_editor.cc:259
-#: session_option_editor.cc:261 session_option_editor.cc:268
+#: ardour_ui2.cc:651 rc_option_editor.cc:2172
+msgid "GUI"
+msgstr ""
+
+#: ardour_ui2.cc:668 rc_option_editor.cc:1242 rc_option_editor.cc:1260
+#: rc_option_editor.cc:1263 rc_option_editor.cc:1265 rc_option_editor.cc:1267
+#: rc_option_editor.cc:1275 rc_option_editor.cc:1283 rc_option_editor.cc:1285
+#: rc_option_editor.cc:1293 rc_option_editor.cc:1300 rc_option_editor.cc:1309
+#: rc_option_editor.cc:1311 rc_option_editor.cc:1313 rc_option_editor.cc:1321
+#: rc_option_editor.cc:1323 rc_option_editor.cc:1332
+#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:344 session_option_editor.cc:346
+#: session_option_editor.cc:348 session_option_editor.cc:355
+#: session_option_editor.cc:362 session_option_editor.cc:366
msgid "Misc"
msgstr "Miscelânea"
-#: ardour_ui_dependents.cc:69
+#: ardour_ui_dependents.cc:75
msgid "Setup Editor"
msgstr ""
-#: ardour_ui_dependents.cc:71
+#: ardour_ui_dependents.cc:77
msgid "Setup Mixer"
msgstr ""
-#: ardour_ui_dependents.cc:77
+#: ardour_ui_dependents.cc:83
msgid "Reload Session History"
msgstr ""
-#: ardour_ui_dialogs.cc:238
+#: ardour_ui_dialogs.cc:251
msgid "Don't close"
msgstr ""
-#: ardour_ui_dialogs.cc:239
+#: ardour_ui_dialogs.cc:252
msgid "Just close"
msgstr ""
-#: ardour_ui_dialogs.cc:240
+#: ardour_ui_dialogs.cc:253
msgid "Save and close"
msgstr ""
-#: ardour_ui_dialogs.cc:339
+#: ardour_ui_dialogs.cc:353
msgid "This screen is not tall enough to display the mixer window"
msgstr ""
-#: ardour_ui_ed.cc:103
+#: ardour_ui_ed.cc:102
msgid "Session"
msgstr "Sessão"
-#: ardour_ui_ed.cc:106 editor_actions.cc:134 editor_regions.cc:115
+#: ardour_ui_ed.cc:105 editor_actions.cc:138 editor_regions.cc:116
#: port_group.cc:458 session_option_editor.cc:82 session_option_editor.cc:89
msgid "Sync"
msgstr "Sincronia"
-#: ardour_ui_ed.cc:107
+#: ardour_ui_ed.cc:106
msgid "Options"
msgstr "Opções"
-#: ardour_ui_ed.cc:108
+#: ardour_ui_ed.cc:107
msgid "Window"
msgstr ""
-#: ardour_ui_ed.cc:109
+#: ardour_ui_ed.cc:108
msgid "Help"
msgstr "Ajuda"
-#: ardour_ui_ed.cc:110
+#: ardour_ui_ed.cc:109
msgid "Misc. Shortcuts"
msgstr ""
-#: ardour_ui_ed.cc:111
+#: ardour_ui_ed.cc:110
msgid "Audio File Format"
msgstr "Formato de ficheiro audio"
-#: ardour_ui_ed.cc:112
+#: ardour_ui_ed.cc:111
msgid "File Type"
msgstr "Tipo de ficheiro"
-#: ardour_ui_ed.cc:113 export_format_dialog.cc:65
+#: ardour_ui_ed.cc:112 export_format_dialog.cc:67
msgid "Sample Format"
msgstr "Formato de amostra"
-#: ardour_ui_ed.cc:114 rc_option_editor.cc:1814 rc_option_editor.cc:1826
+#: ardour_ui_ed.cc:113 rc_option_editor.cc:2119 rc_option_editor.cc:2131
msgid "Control Surfaces"
msgstr "Mesas de controlo"
-#: ardour_ui_ed.cc:115 rc_option_editor.cc:1546
+#: ardour_ui_ed.cc:114 rc_option_editor.cc:1812 rc_option_editor.cc:2138
msgid "Plugins"
msgstr "Efeitos/plug-ins"
-#: ardour_ui_ed.cc:116 rc_option_editor.cc:1889
+#: ardour_ui_ed.cc:115 rc_option_editor.cc:2223
msgid "Metering"
msgstr "VUímetro"
-#: ardour_ui_ed.cc:117
+#: ardour_ui_ed.cc:116
msgid "Fall Off Rate"
msgstr ""
-#: ardour_ui_ed.cc:118
+#: ardour_ui_ed.cc:117
msgid "Hold Time"
msgstr "Tempo de persistência"
-#: ardour_ui_ed.cc:119
+#: ardour_ui_ed.cc:118
msgid "Denormal Handling"
msgstr ""
-#: ardour_ui_ed.cc:123 route_time_axis.cc:1489
+#: ardour_ui_ed.cc:122 route_time_axis.cc:1636
msgid "New..."
msgstr ""
-#: ardour_ui_ed.cc:125
+#: ardour_ui_ed.cc:124
msgid "Open..."
msgstr ""
-#: ardour_ui_ed.cc:126
+#: ardour_ui_ed.cc:125
msgid "Recent..."
msgstr ""
-#: ardour_ui_ed.cc:127 panner_editor.cc:29 playlist_selector.cc:64
+#: ardour_ui_ed.cc:126 panner_editor.cc:29 playlist_selector.cc:64
msgid "Close"
msgstr "Fechar"
-#: ardour_ui_ed.cc:130
+#: ardour_ui_ed.cc:129
msgid "Add Track or Bus..."
msgstr ""
-#: ardour_ui_ed.cc:135
+#: ardour_ui_ed.cc:134
msgid "Open Video"
msgstr ""
-#: ardour_ui_ed.cc:138
+#: ardour_ui_ed.cc:137
msgid "Remove Video"
msgstr ""
-#: ardour_ui_ed.cc:141
+#: ardour_ui_ed.cc:140
msgid "Export To Video File"
msgstr ""
-#: ardour_ui_ed.cc:145
+#: ardour_ui_ed.cc:144
msgid "Snapshot..."
msgstr ""
-#: ardour_ui_ed.cc:149
+#: ardour_ui_ed.cc:148
msgid "Save As..."
msgstr ""
-#: ardour_ui_ed.cc:153 editor_actions.cc:1719 editor_markers.cc:858
-#: editor_snapshots.cc:123 mixer_strip.cc:1471 route_time_axis.cc:1485
+#: ardour_ui_ed.cc:152 editor_actions.cc:1767 editor_markers.cc:872
+#: editor_snapshots.cc:124 mixer_strip.cc:1481 route_time_axis.cc:1632
msgid "Rename..."
msgstr ""
-#: ardour_ui_ed.cc:157
+#: ardour_ui_ed.cc:156
msgid "Save Template..."
msgstr "Guardar modelo..."
-#: ardour_ui_ed.cc:160
+#: ardour_ui_ed.cc:159
msgid "Metadata"
msgstr ""
-#: ardour_ui_ed.cc:163
+#: ardour_ui_ed.cc:162
msgid "Edit Metadata..."
msgstr ""
-#: ardour_ui_ed.cc:166
+#: ardour_ui_ed.cc:165
msgid "Import Metadata..."
msgstr ""
-#: ardour_ui_ed.cc:169
+#: ardour_ui_ed.cc:168
msgid "Export To Audio File(s)..."
msgstr ""
-#: ardour_ui_ed.cc:172
+#: ardour_ui_ed.cc:171
msgid "Stem export..."
msgstr ""
-#: ardour_ui_ed.cc:175 editor_export_audio.cc:63 export_dialog.cc:129
-#: export_video_dialog.cc:71
+#: ardour_ui_ed.cc:174 editor_export_audio.cc:65 export_dialog.cc:129
+#: export_video_dialog.cc:72
msgid "Export"
msgstr "Exportar"
-#: ardour_ui_ed.cc:178
+#: ardour_ui_ed.cc:177
msgid "Clean-up Unused Sources..."
msgstr ""
-#: ardour_ui_ed.cc:182
+#: ardour_ui_ed.cc:181
msgid "Flush Wastebasket"
msgstr ""
-#: ardour_ui_ed.cc:189
+#: ardour_ui_ed.cc:188
msgid "Quit"
msgstr "Sair"
-#: ardour_ui_ed.cc:193
+#: ardour_ui_ed.cc:192
msgid "Maximise Editor Space"
msgstr "Maximizar o painel de edição"
+#: ardour_ui_ed.cc:193
+msgid "Maximise Mixer Space"
+msgstr ""
+
#: ardour_ui_ed.cc:194
msgid "Show Toolbars"
msgstr ""
-#: ardour_ui_ed.cc:197 mixer_ui.cc:1865 mixer_ui.cc:1871
+#: ardour_ui_ed.cc:197
+msgid "Show more UI preferences"
+msgstr ""
+
+#: ardour_ui_ed.cc:199 mixer_ui.cc:1900 mixer_ui.cc:1906
msgid "Window|Mixer"
msgstr ""
-#: ardour_ui_ed.cc:198
+#: ardour_ui_ed.cc:200
msgid "Toggle Editor+Mixer"
msgstr ""
-#: ardour_ui_ed.cc:199 meterbridge.cc:230 meterbridge.cc:236
+#: ardour_ui_ed.cc:201 meterbridge.cc:214 meterbridge.cc:220
msgid "Window|Meterbridge"
msgstr ""
-#: ardour_ui_ed.cc:201 midi_tracer.cc:42
+#: ardour_ui_ed.cc:203 midi_tracer.cc:45
msgid "MIDI Tracer"
msgstr ""
-#: ardour_ui_ed.cc:203
+#: ardour_ui_ed.cc:205
msgid "Chat"
msgstr ""
-#: ardour_ui_ed.cc:205
+#: ardour_ui_ed.cc:207
msgid "Help|Manual"
msgstr ""
-#: ardour_ui_ed.cc:206
+#: ardour_ui_ed.cc:208
msgid "Reference"
msgstr ""
-#: ardour_ui_ed.cc:208 plugin_ui.cc:415
+#: ardour_ui_ed.cc:210 plugin_ui.cc:416
msgid "Save"
msgstr "Guardar"
-#: ardour_ui_ed.cc:216 rc_option_editor.cc:1112 rc_option_editor.cc:1123
-#: rc_option_editor.cc:1132 rc_option_editor.cc:1145 rc_option_editor.cc:1158
-#: rc_option_editor.cc:1167 rc_option_editor.cc:1177 rc_option_editor.cc:1179
-#: rc_option_editor.cc:1189 rc_option_editor.cc:1205 rc_option_editor.cc:1218
-#: rc_option_editor.cc:1236 rc_option_editor.cc:1238 rc_option_editor.cc:1252
-#: rc_option_editor.cc:1255 rc_option_editor.cc:1257 rc_option_editor.cc:1274
-#: rc_option_editor.cc:1285
+#: ardour_ui_ed.cc:218 rc_option_editor.cc:1352 rc_option_editor.cc:1363
+#: rc_option_editor.cc:1374 rc_option_editor.cc:1383 rc_option_editor.cc:1396
+#: rc_option_editor.cc:1409 rc_option_editor.cc:1418 rc_option_editor.cc:1428
+#: rc_option_editor.cc:1430 rc_option_editor.cc:1440 rc_option_editor.cc:1456
+#: rc_option_editor.cc:1469 rc_option_editor.cc:1487 rc_option_editor.cc:1489
+#: rc_option_editor.cc:1503 rc_option_editor.cc:1506 rc_option_editor.cc:1508
+#: rc_option_editor.cc:1525 rc_option_editor.cc:1536
msgid "Transport"
msgstr "Transporte"
-#: ardour_ui_ed.cc:222
+#: ardour_ui_ed.cc:224
msgid "Stop"
msgstr "Parar"
-#: ardour_ui_ed.cc:225
+#: ardour_ui_ed.cc:227
msgid "Roll"
msgstr "Rolar"
-#: ardour_ui_ed.cc:229
+#: ardour_ui_ed.cc:231 ardour_ui_ed.cc:234
msgid "Start/Stop"
msgstr "Iniciar/Parar"
-#: ardour_ui_ed.cc:232
+#: ardour_ui_ed.cc:237
msgid "Start/Continue/Stop"
msgstr ""
-#: ardour_ui_ed.cc:235
+#: ardour_ui_ed.cc:240
msgid "Stop and Forget Capture"
msgstr ""
-#: ardour_ui_ed.cc:245
+#: ardour_ui_ed.cc:250
msgid "Transition To Roll"
msgstr ""
-#: ardour_ui_ed.cc:249
+#: ardour_ui_ed.cc:254
msgid "Transition To Reverse"
msgstr ""
-#: ardour_ui_ed.cc:253
+#: ardour_ui_ed.cc:258
msgid "Play Loop Range"
msgstr "Reproduzir intervalo cíclico"
-#: ardour_ui_ed.cc:256
+#: ardour_ui_ed.cc:261
msgid "Play Selected Range"
msgstr ""
-#: ardour_ui_ed.cc:259
+#: ardour_ui_ed.cc:264
msgid "Play Selection w/Preroll"
msgstr ""
-#: ardour_ui_ed.cc:263
+#: ardour_ui_ed.cc:268
msgid "Enable Record"
msgstr "Gravar"
-#: ardour_ui_ed.cc:266
+#: ardour_ui_ed.cc:271 ardour_ui_ed.cc:275
msgid "Start Recording"
msgstr ""
-#: ardour_ui_ed.cc:270
+#: ardour_ui_ed.cc:279
msgid "Rewind"
msgstr "Rebobinar"
-#: ardour_ui_ed.cc:273
+#: ardour_ui_ed.cc:282
msgid "Rewind (Slow)"
msgstr "Rebobinar (devagar)"
-#: ardour_ui_ed.cc:276
+#: ardour_ui_ed.cc:285
msgid "Rewind (Fast)"
msgstr "Rebobinar (rápido)"
-#: ardour_ui_ed.cc:279
+#: ardour_ui_ed.cc:288
msgid "Forward"
msgstr "Avançar"
-#: ardour_ui_ed.cc:282
+#: ardour_ui_ed.cc:291
msgid "Forward (Slow)"
msgstr "Avançar (devagar)"
-#: ardour_ui_ed.cc:285
+#: ardour_ui_ed.cc:294
msgid "Forward (Fast)"
msgstr "Avançar (rápido)"
-#: ardour_ui_ed.cc:288
+#: ardour_ui_ed.cc:297
msgid "Goto Zero"
msgstr "Ir para o zero"
-#: ardour_ui_ed.cc:291
+#: ardour_ui_ed.cc:300 ardour_ui_ed.cc:303
msgid "Goto Start"
msgstr "Ir para o início"
-#: ardour_ui_ed.cc:294
+#: ardour_ui_ed.cc:306
msgid "Goto End"
msgstr "Ir para o final"
-#: ardour_ui_ed.cc:297
+#: ardour_ui_ed.cc:309
msgid "Goto Wall Clock"
msgstr ""
-#: ardour_ui_ed.cc:301
+#: ardour_ui_ed.cc:314
+msgid "Numpad Decimal"
+msgstr ""
+
+#: ardour_ui_ed.cc:317
+msgid "Numpad 0"
+msgstr ""
+
+#: ardour_ui_ed.cc:320
+msgid "Numpad 1"
+msgstr ""
+
+#: ardour_ui_ed.cc:323
+msgid "Numpad 2"
+msgstr ""
+
+#: ardour_ui_ed.cc:326
+msgid "Numpad 3"
+msgstr ""
+
+#: ardour_ui_ed.cc:329
+msgid "Numpad 4"
+msgstr ""
+
+#: ardour_ui_ed.cc:332
+msgid "Numpad 5"
+msgstr ""
+
+#: ardour_ui_ed.cc:335
+msgid "Numpad 6"
+msgstr ""
+
+#: ardour_ui_ed.cc:338
+msgid "Numpad 7"
+msgstr ""
+
+#: ardour_ui_ed.cc:341
+msgid "Numpad 8"
+msgstr ""
+
+#: ardour_ui_ed.cc:344
+msgid "Numpad 9"
+msgstr ""
+
+#: ardour_ui_ed.cc:348
msgid "Focus On Clock"
msgstr ""
-#: ardour_ui_ed.cc:305 ardour_ui_ed.cc:314 audio_clock.cc:2046 editor.cc:237
-#: editor_actions.cc:544 editor_actions.cc:553 export_timespan_selector.cc:88
+#: ardour_ui_ed.cc:352 ardour_ui_ed.cc:361 audio_clock.cc:2072 editor.cc:254
+#: editor_actions.cc:579 editor_actions.cc:588 export_timespan_selector.cc:88
#: session_option_editor.cc:41 session_option_editor.cc:61
#: session_option_editor.cc:80 session_option_editor.cc:96
#: session_option_editor.cc:109 session_option_editor.cc:122
@@ -1726,125 +1810,125 @@ msgstr ""
msgid "Timecode"
msgstr ""
-#: ardour_ui_ed.cc:307 ardour_ui_ed.cc:316 editor_actions.cc:542
+#: ardour_ui_ed.cc:354 ardour_ui_ed.cc:363 editor_actions.cc:577
msgid "Bars & Beats"
msgstr ""
-#: ardour_ui_ed.cc:309 ardour_ui_ed.cc:318
+#: ardour_ui_ed.cc:356 ardour_ui_ed.cc:365
msgid "Minutes & Seconds"
msgstr ""
-#: ardour_ui_ed.cc:311 ardour_ui_ed.cc:320 audio_clock.cc:2050 editor.cc:238
-#: editor_actions.cc:543
+#: ardour_ui_ed.cc:358 ardour_ui_ed.cc:367 audio_clock.cc:2076 editor.cc:255
+#: editor_actions.cc:578
msgid "Samples"
msgstr ""
-#: ardour_ui_ed.cc:323
+#: ardour_ui_ed.cc:370
msgid "Punch In"
msgstr ""
-#: ardour_ui_ed.cc:324 mixer_strip.cc:1905 route_ui.cc:137
-#: time_info_box.cc:113
+#: ardour_ui_ed.cc:371 mixer_strip.cc:1774 mixer_strip.cc:1798
+#: mixer_strip.cc:1962 route_ui.cc:158 time_info_box.cc:116
msgid "In"
msgstr "Entrada"
-#: ardour_ui_ed.cc:327
+#: ardour_ui_ed.cc:374
msgid "Punch Out"
msgstr ""
-#: ardour_ui_ed.cc:328 time_info_box.cc:114
+#: ardour_ui_ed.cc:375 mixer_strip.cc:1786 time_info_box.cc:117
msgid "Out"
msgstr "Saída"
-#: ardour_ui_ed.cc:331
+#: ardour_ui_ed.cc:378
msgid "Punch In/Out"
msgstr ""
-#: ardour_ui_ed.cc:332
+#: ardour_ui_ed.cc:379
msgid "In/Out"
msgstr ""
-#: ardour_ui_ed.cc:335 rc_option_editor.cc:1069
+#: ardour_ui_ed.cc:382 rc_option_editor.cc:1309
msgid "Click"
msgstr "Metrónomo"
-#: ardour_ui_ed.cc:338
+#: ardour_ui_ed.cc:385
msgid "Auto Input"
msgstr ""
-#: ardour_ui_ed.cc:341
+#: ardour_ui_ed.cc:388
msgid "Auto Play"
msgstr ""
-#: ardour_ui_ed.cc:352
+#: ardour_ui_ed.cc:399
msgid "Sync Startup to Video"
msgstr ""
-#: ardour_ui_ed.cc:354
+#: ardour_ui_ed.cc:401
msgid "Time Master"
msgstr ""
-#: ardour_ui_ed.cc:361
+#: ardour_ui_ed.cc:408
msgid "Toggle Record Enable Track %1"
msgstr ""
-#: ardour_ui_ed.cc:368
+#: ardour_ui_ed.cc:415
msgid "Percentage"
msgstr "Percentagem"
-#: ardour_ui_ed.cc:369 shuttle_control.cc:169
+#: ardour_ui_ed.cc:416 shuttle_control.cc:169
msgid "Semitones"
msgstr "Semi-tons"
-#: ardour_ui_ed.cc:373
+#: ardour_ui_ed.cc:420
msgid "Send MTC"
msgstr "Enviar MTC"
-#: ardour_ui_ed.cc:375
+#: ardour_ui_ed.cc:422
msgid "Send MMC"
msgstr "Enviar MMC"
-#: ardour_ui_ed.cc:377
+#: ardour_ui_ed.cc:424
msgid "Use MMC"
msgstr "Usar MMC"
-#: ardour_ui_ed.cc:379 rc_option_editor.cc:1698
+#: ardour_ui_ed.cc:426 rc_option_editor.cc:1978
msgid "Send MIDI Clock"
msgstr ""
-#: ardour_ui_ed.cc:381
+#: ardour_ui_ed.cc:428
msgid "Send MIDI Feedback"
msgstr ""
-#: ardour_ui_ed.cc:387
+#: ardour_ui_ed.cc:434
msgid "Panic"
msgstr ""
-#: ardour_ui_ed.cc:472
+#: ardour_ui_ed.cc:519
msgid "Wall Clock"
msgstr ""
-#: ardour_ui_ed.cc:473
+#: ardour_ui_ed.cc:520
msgid "Disk Space"
msgstr ""
-#: ardour_ui_ed.cc:474
+#: ardour_ui_ed.cc:521
msgid "DSP"
msgstr ""
-#: ardour_ui_ed.cc:475
+#: ardour_ui_ed.cc:522
msgid "Buffers"
msgstr ""
-#: ardour_ui_ed.cc:477
+#: ardour_ui_ed.cc:524
msgid "Timecode Format"
msgstr ""
-#: ardour_ui_ed.cc:478
+#: ardour_ui_ed.cc:525
msgid "File Format"
msgstr ""
-#: ardour_ui_options.cc:61
+#: ardour_ui_options.cc:63
msgid ""
"It is not possible to use JACK as the the sync source\n"
"when the pull up/down setting is non-zero."
@@ -1854,331 +1938,249 @@ msgstr ""
msgid "Internal"
msgstr "Interno"
-#: ardour_ui_options.cc:468
+#: ardour_ui_options.cc:496
msgid "Enable/Disable external positional sync"
msgstr ""
-#: ardour_ui_options.cc:470
+#: ardour_ui_options.cc:498
msgid "Sync to JACK is not possible: video pull up/down is set"
msgstr ""
-#: audio_clock.cc:1012 audio_clock.cc:1031
+#: audio_clock.cc:1028 audio_clock.cc:1047
msgid "--pending--"
msgstr ""
-#: audio_clock.cc:1083
+#: audio_clock.cc:1099
msgid "SR"
msgstr ""
-#: audio_clock.cc:1089 audio_clock.cc:1093
+#: audio_clock.cc:1105 audio_clock.cc:1109
msgid "Pull"
msgstr ""
-#: audio_clock.cc:1091
+#: audio_clock.cc:1107
#, c-format
msgid "%+.4f%%"
msgstr ""
-#: audio_clock.cc:1237 editor.cc:239 editor_actions.cc:135
-#: editor_actions.cc:536
+#: audio_clock.cc:1263 editor.cc:256 editor_actions.cc:139
+#: editor_actions.cc:571
msgid "Tempo"
msgstr ""
-#: audio_clock.cc:1241 editor.cc:240 editor_actions.cc:537
+#: audio_clock.cc:1267 editor.cc:257 editor_actions.cc:572
msgid "Meter"
msgstr "VUímetro"
-#: audio_clock.cc:1819 audio_streamview.cc:116 editor_actions.cc:1039
-#: midi_region_view.cc:2991 session_metadata_dialog.cc:331
+#: audio_clock.cc:1845 audio_streamview.cc:115 editor_actions.cc:1085
+#: midi_region_view.cc:2989 session_metadata_dialog.cc:331
#: session_metadata_dialog.cc:379 session_metadata_dialog.cc:435
-#: session_metadata_dialog.cc:716
+#: session_metadata_dialog.cc:716 streamview.cc:433
msgid "programming error: %1"
msgstr ""
-#: audio_clock.cc:1952 audio_clock.cc:1980
+#: audio_clock.cc:1978 audio_clock.cc:2006
msgid "programming error: %1 %2"
msgstr ""
-#: audio_clock.cc:2048 editor.cc:236 export_timespan_selector.cc:98
+#: audio_clock.cc:2074 editor.cc:253 export_timespan_selector.cc:98
msgid "Bars:Beats"
msgstr "Comp:Bat"
-#: audio_clock.cc:2049 export_timespan_selector.cc:93
+#: audio_clock.cc:2075 export_timespan_selector.cc:93
msgid "Minutes:Seconds"
msgstr "Mins:Segs"
-#: audio_clock.cc:2054
+#: audio_clock.cc:2080
msgid "Set From Playhead"
msgstr ""
-#: audio_clock.cc:2055
+#: audio_clock.cc:2081
msgid "Locate to This Time"
msgstr ""
-#: audio_region_editor.cc:63 control_point_dialog.cc:49 rhythm_ferret.cc:125
-#: rhythm_ferret.cc:130 rhythm_ferret.cc:135
+#: audio_region_editor.cc:64 control_point_dialog.cc:49 rhythm_ferret.cc:124
+#: rhythm_ferret.cc:129 rhythm_ferret.cc:134
msgid "dB"
msgstr ""
-#: audio_region_editor.cc:66
+#: audio_region_editor.cc:67
msgid "Region gain:"
msgstr ""
-#: audio_region_editor.cc:76 export_format_dialog.cc:43
+#: audio_region_editor.cc:77 export_format_dialog.cc:43
msgid "dBFS"
msgstr ""
-#: audio_region_editor.cc:79
+#: audio_region_editor.cc:80
msgid "Peak amplitude:"
msgstr ""
-#: audio_region_editor.cc:90
+#: audio_region_editor.cc:91
msgid "Calculating..."
msgstr ""
-#: audio_region_view.cc:1001
+#: audio_region_view.cc:1243
msgid "add gain control point"
msgstr "acrescentar ponto de controlo"
-#: audio_time_axis.cc:389
+#: audio_time_axis.cc:430 midi_time_axis.cc:619
msgid "Fader"
msgstr "Desvanecimento"
-#: audio_time_axis.cc:396
+#: audio_time_axis.cc:437 editor_actions.cc:1800 mixer_strip.cc:1961
+#: monitor_section.cc:273 route_time_axis.cc:253
+msgid "Mute"
+msgstr "Mudo"
+
+#: audio_time_axis.cc:445 midi_time_axis.cc:627
msgid "Pan"
msgstr "Panorama"
-#: automation_line.cc:252 automation_line.cc:435
+#: automation_line.cc:272 automation_line.cc:453
msgid "automation event move"
msgstr "mover evento de automatização"
-#: automation_line.cc:462 automation_line.cc:483
+#: automation_line.cc:479 automation_line.cc:499
msgid "automation range move"
msgstr ""
-#: automation_line.cc:823 region_gain_line.cc:73
+#: automation_line.cc:854 region_gain_line.cc:72
msgid "remove control point"
msgstr "remover ponto de controlo"
-#: automation_line.cc:941
+#: automation_line.cc:971
msgid "Ignoring illegal points on AutomationLine \"%1\""
msgstr ""
-#: automation_region_view.cc:160 automation_time_axis.cc:583
+#: automation_region_view.cc:162 automation_time_axis.cc:627
msgid "add automation event"
msgstr ""
-#: automation_time_axis.cc:146
+#: automation_time_axis.cc:141
msgid "automation state"
msgstr "estado de automatização"
-#: automation_time_axis.cc:147
+#: automation_time_axis.cc:142
msgid "hide track"
msgstr "esconder faixa"
-#: automation_time_axis.cc:255 automation_time_axis.cc:307
-#: automation_time_axis.cc:496 gain_meter.cc:194 generic_pluginui.cc:454
-#: generic_pluginui.cc:775 panner_ui.cc:149
+#: automation_time_axis.cc:297 automation_time_axis.cc:349
+#: automation_time_axis.cc:540 gain_meter.cc:186 generic_pluginui.cc:452
+#: generic_pluginui.cc:770 panner_ui.cc:150
msgid "Automation|Manual"
msgstr ""
-#: automation_time_axis.cc:257 automation_time_axis.cc:318
-#: automation_time_axis.cc:501 editor.cc:1937 editor.cc:2014
-#: editor_actions.cc:118 editor_actions.cc:1865 gain_meter.cc:197
-#: generic_pluginui.cc:457 generic_pluginui.cc:777 midi_time_axis.cc:1488
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1494 panner_ui.cc:152
+#: automation_time_axis.cc:299 automation_time_axis.cc:360
+#: automation_time_axis.cc:545 editor.cc:1856 editor.cc:1933
+#: editor_actions.cc:122 editor_actions.cc:1916 gain_meter.cc:189
+#: generic_pluginui.cc:455 generic_pluginui.cc:772 midi_time_axis.cc:1687
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1693 panner_ui.cc:153
msgid "Play"
msgstr "Reprodução"
-#: automation_time_axis.cc:259 automation_time_axis.cc:329
-#: automation_time_axis.cc:506 gain_meter.cc:200 generic_pluginui.cc:460
-#: generic_pluginui.cc:779 panner_ui.cc:155
+#: automation_time_axis.cc:301 automation_time_axis.cc:371
+#: automation_time_axis.cc:550 gain_meter.cc:192 generic_pluginui.cc:458
+#: generic_pluginui.cc:774 panner_ui.cc:156
msgid "Write"
msgstr "Escrita"
-#: automation_time_axis.cc:261 automation_time_axis.cc:340
-#: automation_time_axis.cc:511 gain_meter.cc:203 generic_pluginui.cc:463
-#: generic_pluginui.cc:781 panner_ui.cc:158
+#: automation_time_axis.cc:303 automation_time_axis.cc:382
+#: automation_time_axis.cc:555 gain_meter.cc:195 generic_pluginui.cc:461
+#: generic_pluginui.cc:776 panner_ui.cc:159
msgid "Touch"
msgstr "Tocar"
-#: automation_time_axis.cc:351 generic_pluginui.cc:466 meter_patterns.cc:108
+#: automation_time_axis.cc:393 generic_pluginui.cc:464 meter_patterns.cc:112
msgid "???"
msgstr ""
-#: automation_time_axis.cc:392
+#: automation_time_axis.cc:434
msgid "clear automation"
msgstr "apagar automatizações"
-#: automation_time_axis.cc:485 editor_actions.cc:613 editor_markers.cc:857
-#: location_ui.cc:55 plugin_selector.cc:85 route_time_axis.cc:708
+#: automation_time_axis.cc:529 editor_actions.cc:655 editor_markers.cc:871
+#: location_ui.cc:56 plugin_selector.cc:86 route_time_axis.cc:827
msgid "Hide"
msgstr "Esconder"
-#: automation_time_axis.cc:487
+#: automation_time_axis.cc:531
msgid "Clear"
msgstr "Apagar"
-#: automation_time_axis.cc:516
+#: automation_time_axis.cc:560
msgid "State"
msgstr "Estado"
-#: automation_time_axis.cc:531
+#: automation_time_axis.cc:575
msgid "Discrete"
msgstr ""
-#: automation_time_axis.cc:537 editor.cc:1458 editor.cc:1465 editor.cc:1521
-#: editor.cc:1527 export_format_dialog.cc:476
+#: automation_time_axis.cc:581 export_format_dialog.cc:485
msgid "Linear"
msgstr ""
-#: automation_time_axis.cc:543 rhythm_ferret.cc:110 route_time_axis.cc:647
+#: automation_time_axis.cc:587 rhythm_ferret.cc:109 route_time_axis.cc:765
#: shuttle_control.cc:188
msgid "Mode"
msgstr "Modo"
-#: bundle_manager.cc:181
+#: bundle_manager.cc:182
msgid "Disassociate"
msgstr ""
-#: bundle_manager.cc:185
+#: bundle_manager.cc:186
msgid "Edit Bundle"
msgstr ""
-#: bundle_manager.cc:200
+#: bundle_manager.cc:201
msgid "Direction:"
msgstr ""
-#: bundle_manager.cc:205 bundle_manager.cc:209 mixer_strip.cc:158
-#: mixer_strip.cc:2127
+#: bundle_manager.cc:206 bundle_manager.cc:210 engine_dialog.cc:641
+#: mixer_strip.cc:164 mixer_strip.cc:371 mixer_strip.cc:2195
+#: rc_option_editor.cc:2198
msgid "Input"
msgstr "Entradas"
-#: bundle_manager.cc:206 bundle_manager.cc:211 bundle_manager.cc:245
-#: mixer_strip.cc:163 mixer_strip.cc:2130
+#: bundle_manager.cc:207 bundle_manager.cc:212 bundle_manager.cc:246
+#: engine_dialog.cc:643 mixer_strip.cc:168 mixer_strip.cc:375
+#: mixer_strip.cc:2198 rc_option_editor.cc:2202
msgid "Output"
msgstr "Saída"
-#: bundle_manager.cc:264 editor.cc:1978 editor_actions.cc:90
-#: editor_actions.cc:100
+#: bundle_manager.cc:265 editor.cc:1897 editor_actions.cc:94
+#: editor_actions.cc:104 rc_option_editor.cc:1067 rc_option_editor.cc:1074
msgid "Edit"
msgstr "Editar"
-#: bundle_manager.cc:265 editor.cc:5497 editor_actions.cc:310
-#: editor_actions.cc:368 plugin_ui.cc:416 processor_box.cc:2268
-#: route_time_axis.cc:713
+#: bundle_manager.cc:266 editor.cc:5593 editor_actions.cc:335
+#: editor_actions.cc:336 editor_actions.cc:402 plugin_ui.cc:417
+#: processor_box.cc:2502 route_time_axis.cc:832
msgid "Delete"
msgstr "Eliminar"
-#: bundle_manager.cc:271 bundle_manager.cc:439 editor_route_groups.cc:96
-#: editor_routes.cc:202 midi_list_editor.cc:106 session_metadata_dialog.cc:525
+#: bundle_manager.cc:272 bundle_manager.cc:440 editor_route_groups.cc:97
+#: editor_routes.cc:204 midi_list_editor.cc:106 session_metadata_dialog.cc:525
msgid "Name"
msgstr "Nome"
-#: bundle_manager.cc:282
+#: bundle_manager.cc:283
msgid "New"
msgstr "Novo"
-#: bundle_manager.cc:332
+#: bundle_manager.cc:333
msgid "Bundle"
msgstr ""
-#: bundle_manager.cc:417
+#: bundle_manager.cc:418
msgid "Add Channel"
msgstr ""
-#: bundle_manager.cc:424
+#: bundle_manager.cc:425
msgid "Rename Channel"
msgstr ""
-#: canvas-simpleline.c:111 canvas-simplerect.c:106
-msgid "x1"
-msgstr ""
-
-#: canvas-simpleline.c:112 canvas-simplerect.c:107
-msgid "x coordinate of upper left corner of rect"
-msgstr "coordenada x do canto superior esquerdo do rectângulo"
-
-#: canvas-simpleline.c:121 canvas-simplerect.c:116
-msgid "y1"
-msgstr ""
-
-#: canvas-simpleline.c:122 canvas-simplerect.c:117
-msgid "y coordinate of upper left corner of rect "
-msgstr "coordenada y do canto superior esquerdo do rectângulo"
-
-#: canvas-simpleline.c:132 canvas-simplerect.c:127
-msgid "x2"
-msgstr ""
-
-#: canvas-simpleline.c:133 canvas-simplerect.c:128
-msgid "x coordinate of lower right corner of rect"
-msgstr "coordenada x do canto inferior direito do rectângulo"
-
-#: canvas-simpleline.c:142 canvas-simplerect.c:137
-msgid "y2"
-msgstr ""
-
-#: canvas-simpleline.c:143 canvas-simplerect.c:138
-msgid "y coordinate of lower right corner of rect "
-msgstr "coordenada x do canto inferior direito do rectângulo"
-
-#: canvas-simpleline.c:151
-msgid "color rgba"
-msgstr "cor (rgba)"
-
-#: canvas-simpleline.c:152
-msgid "color of line"
-msgstr "cor da linha"
-
-#: canvas-simplerect.c:148
-msgid "outline pixels"
-msgstr "contorno"
-
-#: canvas-simplerect.c:149
-msgid "width in pixels of outline"
-msgstr "largura do contorno"
-
-#: canvas-simplerect.c:159
-msgid "outline what"
-msgstr "contornar"
-
-#: canvas-simplerect.c:160
-msgid "which boundaries to outline (mask)"
-msgstr "contornos"
-
-#: canvas-simplerect.c:171
-msgid "fill"
-msgstr "preencher"
-
-#: canvas-simplerect.c:172
-msgid "fill rectangle"
-msgstr "preencher rectângulo"
-
-#: canvas-simplerect.c:179
-msgid "draw"
-msgstr "desenhar"
-
-#: canvas-simplerect.c:180
-msgid "draw rectangle"
-msgstr "desenhar rectângulo"
-
-#: canvas-simplerect.c:188
-msgid "outline color rgba"
-msgstr "cor de contorno (rgba)"
-
-#: canvas-simplerect.c:189
-msgid "color of outline"
-msgstr "cor de contorno"
-
-#: canvas-simplerect.c:199
-msgid "fill color rgba"
-msgstr "cor de preenchimento (rgba)"
-
-#: canvas-simplerect.c:200
-msgid "color of fill"
-msgstr "cor de preenchimento"
-
#: configinfo.cc:28
msgid "Build Configuration"
msgstr ""
@@ -2216,7 +2218,7 @@ msgid "Set selected notes to this length"
msgstr ""
#: edit_note_dialog.cc:58 midi_list_editor.cc:104 patch_change_dialog.cc:91
-#: step_entry.cc:393
+#: step_entry.cc:394
msgid "Channel"
msgstr ""
@@ -2224,7 +2226,7 @@ msgstr ""
msgid "Pitch"
msgstr ""
-#: edit_note_dialog.cc:78 step_entry.cc:407
+#: edit_note_dialog.cc:78 step_entry.cc:408
msgid "Velocity"
msgstr ""
@@ -2232,9 +2234,9 @@ msgstr ""
msgid "Time"
msgstr ""
-#: edit_note_dialog.cc:98 editor_regions.cc:114
-#: export_timespan_selector.cc:359 export_timespan_selector.cc:421
-#: location_ui.cc:317 midi_list_editor.cc:114 time_info_box.cc:105
+#: edit_note_dialog.cc:98 editor_regions.cc:115
+#: export_timespan_selector.cc:378 export_timespan_selector.cc:440
+#: location_ui.cc:319 midi_list_editor.cc:114 time_info_box.cc:108
msgid "Length"
msgstr ""
@@ -2242,1990 +2244,2093 @@ msgstr ""
msgid "edit note"
msgstr ""
-#: editor.cc:137 editor.cc:3433
+#: editor.cc:144
msgid "CD Frames"
msgstr "Quadros CD"
-#: editor.cc:138 editor.cc:3435
-msgid "Timecode Frames"
+#: editor.cc:145
+msgid "TC Frames"
msgstr ""
-#: editor.cc:139 editor.cc:3437
-msgid "Timecode Seconds"
+#: editor.cc:146
+msgid "TC Seconds"
msgstr ""
-#: editor.cc:140 editor.cc:3439
-msgid "Timecode Minutes"
+#: editor.cc:147
+msgid "TC Minutes"
msgstr ""
-#: editor.cc:141 editor.cc:3441
+#: editor.cc:148
msgid "Seconds"
msgstr "Segundos"
-#: editor.cc:142 editor.cc:3443
+#: editor.cc:149
msgid "Minutes"
msgstr "Minutos"
-#: editor.cc:143 editor.cc:3417 quantize_dialog.cc:37 quantize_dialog.cc:141
+#: editor.cc:150 quantize_dialog.cc:37 quantize_dialog.cc:141
msgid "Beats/128"
msgstr ""
-#: editor.cc:144 editor.cc:3415 quantize_dialog.cc:38 quantize_dialog.cc:143
+#: editor.cc:151 quantize_dialog.cc:38 quantize_dialog.cc:143
msgid "Beats/64"
msgstr ""
-#: editor.cc:145 editor.cc:3413 quantize_dialog.cc:39 quantize_dialog.cc:145
+#: editor.cc:152 quantize_dialog.cc:39 quantize_dialog.cc:145
msgid "Beats/32"
msgstr "Batimentos/32"
-#: editor.cc:146 editor.cc:3411
+#: editor.cc:153
msgid "Beats/28"
msgstr ""
-#: editor.cc:147 editor.cc:3409
+#: editor.cc:154
msgid "Beats/24"
msgstr ""
-#: editor.cc:148 editor.cc:3407
+#: editor.cc:155
msgid "Beats/20"
msgstr ""
-#: editor.cc:149 editor.cc:3405 quantize_dialog.cc:40 quantize_dialog.cc:147
+#: editor.cc:156 quantize_dialog.cc:40 quantize_dialog.cc:147
msgid "Beats/16"
msgstr "Batimentos/16"
-#: editor.cc:150 editor.cc:3403
+#: editor.cc:157
msgid "Beats/14"
msgstr ""
-#: editor.cc:151 editor.cc:3401
+#: editor.cc:158
msgid "Beats/12"
msgstr ""
-#: editor.cc:152 editor.cc:3399
+#: editor.cc:159
msgid "Beats/10"
msgstr ""
-#: editor.cc:153 editor.cc:3397 quantize_dialog.cc:41 quantize_dialog.cc:149
+#: editor.cc:160 quantize_dialog.cc:41 quantize_dialog.cc:149
msgid "Beats/8"
msgstr "Batimentos/8"
-#: editor.cc:154 editor.cc:3395
+#: editor.cc:161
msgid "Beats/7"
msgstr ""
-#: editor.cc:155 editor.cc:3393
+#: editor.cc:162
msgid "Beats/6"
msgstr ""
-#: editor.cc:156 editor.cc:3391
+#: editor.cc:163
msgid "Beats/5"
msgstr ""
-#: editor.cc:157 editor.cc:3389 quantize_dialog.cc:42 quantize_dialog.cc:151
+#: editor.cc:164 quantize_dialog.cc:42 quantize_dialog.cc:151
msgid "Beats/4"
msgstr "Batimentos/4"
-#: editor.cc:158 editor.cc:3387 quantize_dialog.cc:43 quantize_dialog.cc:153
+#: editor.cc:165 quantize_dialog.cc:43 quantize_dialog.cc:153
msgid "Beats/3"
msgstr "Batimentos/3"
-#: editor.cc:159 editor.cc:3385 quantize_dialog.cc:44 quantize_dialog.cc:155
+#: editor.cc:166 quantize_dialog.cc:44 quantize_dialog.cc:155
msgid "Beats/2"
msgstr ""
-#: editor.cc:160 editor.cc:3419 quantize_dialog.cc:45 quantize_dialog.cc:157
+#: editor.cc:167 quantize_dialog.cc:45 quantize_dialog.cc:157
msgid "Beats"
msgstr "Batimentos"
-#: editor.cc:161 editor.cc:3421
+#: editor.cc:168
msgid "Bars"
msgstr "Compassos"
-#: editor.cc:162 editor.cc:3423
+#: editor.cc:169
msgid "Marks"
msgstr "Marcadores"
-#: editor.cc:163 editor.cc:3425
+#: editor.cc:170
msgid "Region starts"
msgstr "Inícios de região"
-#: editor.cc:164 editor.cc:3427
+#: editor.cc:171
msgid "Region ends"
msgstr "Finais de região"
-#: editor.cc:165 editor.cc:3431
+#: editor.cc:172
msgid "Region syncs"
msgstr "Sincronismos de região"
-#: editor.cc:166 editor.cc:3429
+#: editor.cc:173
msgid "Region bounds"
msgstr "Extremos de região"
-#: editor.cc:171 editor.cc:3459 editor_actions.cc:485
+#: editor.cc:178 editor_actions.cc:520
msgid "No Grid"
msgstr ""
-#: editor.cc:172 editor.cc:3461 editor_actions.cc:486
+#: editor.cc:179 editor_actions.cc:521
msgid "Grid"
msgstr ""
-#: editor.cc:173 editor.cc:3463 editor_actions.cc:487
+#: editor.cc:180 editor_actions.cc:522
msgid "Magnetic"
msgstr "Magnético"
-#: editor.cc:178 editor.cc:188 editor.cc:3502 editor.cc:3527
-#: editor_actions.cc:117 editor_actions.cc:468
+#: editor.cc:185 editor.cc:203 editor_actions.cc:121 editor_actions.cc:503
msgid "Playhead"
msgstr "Cursor de reprodução"
-#: editor.cc:179 editor.cc:3500 editor_actions.cc:470
+#: editor.cc:186 editor_actions.cc:505
msgid "Marker"
msgstr "Marcador"
-#: editor.cc:180 editor.cc:189 editor.cc:3529 editor_actions.cc:469
+#: editor.cc:187 editor.cc:204 editor_actions.cc:504
msgid "Mouse"
msgstr ""
-#: editor.cc:185 editor.cc:3521 mono_panner_editor.cc:42
+#: editor.cc:192 editor_actions.cc:512
+msgid "Slide"
+msgstr "Deslizar"
+
+#: editor.cc:193
+msgid "Splice"
+msgstr "Reunir"
+
+#: editor.cc:194 editor_actions.cc:511
+msgid "Ripple"
+msgstr ""
+
+#: editor.cc:195 editor_actions.cc:157 editor_actions.cc:513
+#: editor_actions.cc:1785 editor_markers.cc:874 editor_rulers.cc:260
+#: location_ui.cc:57 mixer_strip.cc:202 mixer_strip.cc:1983
+msgid "Lock"
+msgstr "Bloquear"
+
+#: editor.cc:200 mono_panner_editor.cc:42
msgid "Left"
msgstr "Esquerda"
-#: editor.cc:186 editor.cc:3523 mono_panner_editor.cc:47
+#: editor.cc:201 mono_panner_editor.cc:47
msgid "Right"
msgstr "Direita"
-#: editor.cc:187 editor.cc:3525
+#: editor.cc:202
msgid "Center"
msgstr "Centro"
-#: editor.cc:190 editor.cc:3094 editor.cc:3531
+#: editor.cc:205 editor.cc:3145
msgid "Edit point"
msgstr ""
-#: editor.cc:196
+#: editor.cc:211
msgid "Mushy"
msgstr ""
-#: editor.cc:197
+#: editor.cc:212
msgid "Smooth"
msgstr ""
-#: editor.cc:198
+#: editor.cc:213
msgid "Balanced multitimbral mixture"
msgstr ""
-#: editor.cc:199
+#: editor.cc:214
msgid "Unpitched percussion with stable notes"
msgstr ""
-#: editor.cc:200
+#: editor.cc:215
msgid "Crisp monophonic instrumental"
msgstr ""
-#: editor.cc:201
+#: editor.cc:216
msgid "Unpitched solo percussion"
msgstr ""
-#: editor.cc:202
+#: editor.cc:217
msgid "Resample without preserving pitch"
msgstr ""
-#: editor.cc:235
+#: editor.cc:252
msgid "Mins:Secs"
msgstr "Mins:Segs"
-#: editor.cc:241
+#: editor.cc:258
msgid "Location Markers"
msgstr "Marcadores de localização"
-#: editor.cc:242
+#: editor.cc:259
msgid "Range Markers"
msgstr "Marcadores de intervalo"
-#: editor.cc:243
+#: editor.cc:260
msgid "Loop/Punch Ranges"
msgstr "Ciclos/inserção"
-#: editor.cc:244 editor_actions.cc:540
+#: editor.cc:261 editor_actions.cc:575
msgid "CD Markers"
msgstr ""
-#: editor.cc:245
+#: editor.cc:262
msgid "Video Timeline"
msgstr ""
-#: editor.cc:260
+#: editor.cc:279
msgid "mode"
msgstr "modo"
-#: editor.cc:541
+#: editor.cc:447 editor_actions.cc:114 editor_actions.cc:574
+msgid "Markers"
+msgstr ""
+
+#: editor.cc:554 rc_option_editor.cc:1830
msgid "Regions"
msgstr "Regiões"
-#: editor.cc:542
+#: editor.cc:555
msgid "Tracks & Busses"
msgstr ""
-#: editor.cc:543
+#: editor.cc:556
msgid "Snapshots"
msgstr "Capturas"
-#: editor.cc:544
+#: editor.cc:557
msgid "Track & Bus Groups"
msgstr ""
-#: editor.cc:545
+#: editor.cc:558
msgid "Ranges & Marks"
msgstr ""
-#: editor.cc:690 editor.cc:5349 rc_option_editor.cc:1292
-#: rc_option_editor.cc:1300 rc_option_editor.cc:1308 rc_option_editor.cc:1316
-#: rc_option_editor.cc:1333 rc_option_editor.cc:1335 rc_option_editor.cc:1343
-#: rc_option_editor.cc:1351 rc_option_editor.cc:1371 rc_option_editor.cc:1383
-#: rc_option_editor.cc:1385 rc_option_editor.cc:1393 rc_option_editor.cc:1401
-#: rc_option_editor.cc:1409 rc_option_editor.cc:1417 rc_option_editor.cc:1432
-#: rc_option_editor.cc:1436
+#: editor.cc:706 editor.cc:5445 rc_option_editor.cc:1543
+#: rc_option_editor.cc:1551 rc_option_editor.cc:1559 rc_option_editor.cc:1567
+#: rc_option_editor.cc:1591 rc_option_editor.cc:1603 rc_option_editor.cc:1605
+#: rc_option_editor.cc:1613 rc_option_editor.cc:1621 rc_option_editor.cc:1641
+#: rc_option_editor.cc:1653 rc_option_editor.cc:1655 rc_option_editor.cc:1657
+#: rc_option_editor.cc:1665 rc_option_editor.cc:1673 rc_option_editor.cc:1681
+#: rc_option_editor.cc:1696 rc_option_editor.cc:1700
msgid "Editor"
msgstr ""
-#: editor.cc:1215 editor.cc:1225 editor.cc:4444 editor_actions.cc:130
-#: editor_actions.cc:1813
+#: editor.cc:1288 editor.cc:4503 editor_actions.cc:134 editor_actions.cc:1861
msgid "Loop"
msgstr "Ciclo"
-#: editor.cc:1231 editor.cc:1241 editor.cc:4471 editor_actions.cc:131
-#: time_info_box.cc:67
+#: editor.cc:1294 editor.cc:4530 editor_actions.cc:135 time_info_box.cc:68
msgid "Punch"
msgstr "Inserção"
-#: editor.cc:1353
+#: editor.cc:1406 rc_option_editor.cc:1585
msgid "Linear (for highly correlated material)"
msgstr ""
-#: editor.cc:1363 editor.cc:1500 editor.cc:1562
+#: editor.cc:1416 rc_option_editor.cc:1586
msgid "Constant power"
msgstr ""
-#: editor.cc:1372 editor.cc:1493 editor.cc:1555
+#: editor.cc:1425 rc_option_editor.cc:1587
msgid "Symmetric"
msgstr ""
-#: editor.cc:1382 editor.cc:1475 editor.cc:1537
+#: editor.cc:1435 rc_option_editor.cc:1588
msgid "Slow"
msgstr "Lento"
-#: editor.cc:1391 editor.cc:1484 editor.cc:1546 sfdb_ui.cc:1627
-#: sfdb_ui.cc:1736
+#: editor.cc:1444 rc_option_editor.cc:1589 sfdb_ui.cc:1752 sfdb_ui.cc:1862
msgid "Fast"
msgstr "Rápido"
-#: editor.cc:1438
-msgid "programming error: fade in canvas item has no regionview data pointer!"
-msgstr ""
-
-#: editor.cc:1449 editor.cc:1513
+#: editor.cc:1464 editor.cc:1487
msgid "Deactivate"
msgstr "Desactivar"
-#: editor.cc:1451 editor.cc:1515
+#: editor.cc:1466 editor.cc:1489
msgid "Activate"
msgstr "Activar"
-#: editor.cc:1459 editor.cc:1522
-msgid "Slowest"
-msgstr "Mais lento"
-
-#: editor.cc:1573 route_time_axis.cc:1877 selection.cc:1009 selection.cc:1064
-msgid "programming error: "
-msgstr ""
-
-#: editor.cc:1674 editor.cc:1682 editor_ops.cc:3522
+#: editor.cc:1590 editor.cc:1598 editor_ops.cc:3635
msgid "Freeze"
msgstr "Congelar"
-#: editor.cc:1678
+#: editor.cc:1594
msgid "Unfreeze"
msgstr "Descongelar"
-#: editor.cc:1817
+#: editor.cc:1733
msgid "Selected Regions"
msgstr ""
-#: editor.cc:1853 editor_markers.cc:895
+#: editor.cc:1769 editor_markers.cc:909
msgid "Play Range"
msgstr ""
-#: editor.cc:1854 editor_markers.cc:898
+#: editor.cc:1770 editor_markers.cc:912
msgid "Loop Range"
msgstr "Intervalo cíclico"
-#: editor.cc:1863 editor_actions.cc:332
+#: editor.cc:1773 editor_actions.cc:266 editor_markers.cc:919
+msgid "Zoom to Range"
+msgstr ""
+
+#: editor.cc:1782 editor_actions.cc:366
msgid "Move Range Start to Previous Region Boundary"
msgstr ""
-#: editor.cc:1870 editor_actions.cc:339
+#: editor.cc:1789 editor_actions.cc:373
msgid "Move Range Start to Next Region Boundary"
msgstr ""
-#: editor.cc:1877 editor_actions.cc:346
+#: editor.cc:1796 editor_actions.cc:380
msgid "Move Range End to Previous Region Boundary"
msgstr ""
-#: editor.cc:1884 editor_actions.cc:353
+#: editor.cc:1803 editor_actions.cc:387
msgid "Move Range End to Next Region Boundary"
msgstr ""
-#: editor.cc:1890
+#: editor.cc:1809
msgid "Convert to Region In-Place"
msgstr ""
-#: editor.cc:1891
+#: editor.cc:1810
msgid "Convert to Region in Region List"
msgstr ""
-#: editor.cc:1894 editor_markers.cc:925
+#: editor.cc:1813 editor_markers.cc:939
msgid "Select All in Range"
msgstr "Seleccionar tudo no intervalo"
-#: editor.cc:1897
+#: editor.cc:1816
msgid "Set Loop from Range"
msgstr ""
-#: editor.cc:1898
+#: editor.cc:1817
msgid "Set Punch from Range"
msgstr ""
-#: editor.cc:1901
+#: editor.cc:1820
msgid "Add Range Markers"
msgstr "Acrescentar marcadores de intervalo"
-#: editor.cc:1904
+#: editor.cc:1823
msgid "Crop Region to Range"
msgstr ""
-#: editor.cc:1905
+#: editor.cc:1824
msgid "Fill Range with Region"
msgstr ""
-#: editor.cc:1906 editor_actions.cc:289
+#: editor.cc:1825 editor_actions.cc:311
msgid "Duplicate Range"
msgstr "Duplicar intervalo"
-#: editor.cc:1909
+#: editor.cc:1828
msgid "Consolidate Range"
msgstr ""
-#: editor.cc:1910
+#: editor.cc:1829
msgid "Consolidate Range With Processing"
msgstr ""
-#: editor.cc:1911
+#: editor.cc:1830
msgid "Bounce Range to Region List"
msgstr ""
-#: editor.cc:1912
+#: editor.cc:1831
msgid "Bounce Range to Region List With Processing"
msgstr ""
-#: editor.cc:1913 editor_markers.cc:908
+#: editor.cc:1832 editor_markers.cc:922
msgid "Export Range..."
msgstr ""
-#: editor.cc:1915
+#: editor.cc:1834
msgid "Export Video Range..."
msgstr ""
-#: editor.cc:1931 editor.cc:2012 editor_actions.cc:281
+#: editor.cc:1850 editor.cc:1931 editor_actions.cc:303
msgid "Play From Edit Point"
msgstr ""
-#: editor.cc:1932 editor.cc:2013
+#: editor.cc:1851 editor.cc:1932
msgid "Play From Start"
msgstr ""
-#: editor.cc:1933
+#: editor.cc:1852
msgid "Play Region"
msgstr ""
-#: editor.cc:1935
+#: editor.cc:1854
msgid "Loop Region"
msgstr "Reproduzir região em ciclo"
-#: editor.cc:1945 editor.cc:2022
+#: editor.cc:1864 editor.cc:1941
msgid "Select All in Track"
msgstr ""
-#: editor.cc:1946 editor.cc:2023 editor_actions.cc:185
-#: export_timespan_selector.cc:53 processor_box.cc:2276
-msgid "Select All"
-msgstr "Seleccionar tudo"
+#: editor.cc:1865 editor.cc:1942 editor_actions.cc:194
+msgid "Select All Objects"
+msgstr ""
-#: editor.cc:1947 editor.cc:2024
+#: editor.cc:1866 editor.cc:1943
msgid "Invert Selection in Track"
msgstr ""
-#: editor.cc:1948 editor.cc:2025 editor_actions.cc:187
+#: editor.cc:1867 editor.cc:1944 editor_actions.cc:197
msgid "Invert Selection"
msgstr ""
-#: editor.cc:1950
+#: editor.cc:1869
msgid "Set Range to Loop Range"
msgstr ""
-#: editor.cc:1951
+#: editor.cc:1870
msgid "Set Range to Punch Range"
msgstr ""
-#: editor.cc:1953 editor.cc:2027 editor_actions.cc:188
+#: editor.cc:1872 editor.cc:1946 editor_actions.cc:199 editor_actions.cc:200
msgid "Select All After Edit Point"
msgstr ""
-#: editor.cc:1954 editor.cc:2028 editor_actions.cc:189
+#: editor.cc:1873 editor.cc:1947 editor_actions.cc:201 editor_actions.cc:202
msgid "Select All Before Edit Point"
msgstr ""
-#: editor.cc:1955 editor.cc:2029
+#: editor.cc:1874 editor.cc:1948
msgid "Select All After Playhead"
msgstr "Seleccionar tudo após o cursor de reprodução"
-#: editor.cc:1956 editor.cc:2030
+#: editor.cc:1875 editor.cc:1949
msgid "Select All Before Playhead"
msgstr "Seleccionar tudo antes do cursor de reprodução"
-#: editor.cc:1957
+#: editor.cc:1876
msgid "Select All Between Playhead and Edit Point"
msgstr ""
-#: editor.cc:1958
+#: editor.cc:1877
msgid "Select All Within Playhead and Edit Point"
msgstr ""
-#: editor.cc:1959
+#: editor.cc:1878
msgid "Select Range Between Playhead and Edit Point"
msgstr ""
-#: editor.cc:1961 editor.cc:2032 editor_actions.cc:127 editor_actions.cc:128
+#: editor.cc:1880 editor.cc:1951 editor_actions.cc:131 editor_actions.cc:132
msgid "Select"
msgstr "Seleccionar"
-#: editor.cc:1969 editor.cc:2040 editor_actions.cc:309 processor_box.cc:2261
+#: editor.cc:1888 editor.cc:1959 editor_actions.cc:334 processor_box.cc:2495
msgid "Cut"
msgstr "Cortar"
-#: editor.cc:1970 editor.cc:2041 editor_actions.cc:312 processor_box.cc:2264
+#: editor.cc:1889 editor.cc:1960 editor_actions.cc:338 processor_box.cc:2498
msgid "Copy"
msgstr "Copiar"
-#: editor.cc:1971 editor.cc:2042 editor_actions.cc:313 processor_box.cc:2272
+#: editor.cc:1890 editor.cc:1961 editor_actions.cc:339 processor_box.cc:2506
msgid "Paste"
msgstr "Colar"
-#: editor.cc:1975 editor_actions.cc:87
+#: editor.cc:1894 editor_actions.cc:91
msgid "Align"
msgstr "Alinhar"
-#: editor.cc:1976
+#: editor.cc:1895
msgid "Align Relative"
msgstr "Alinhar relativamente"
-#: editor.cc:1983
+#: editor.cc:1902
msgid "Insert Selected Region"
msgstr "Inserir regiões seleccionadas"
-#: editor.cc:1984
+#: editor.cc:1903
msgid "Insert Existing Media"
msgstr ""
-#: editor.cc:1993 editor.cc:2049
+#: editor.cc:1912 editor.cc:1968
msgid "Nudge Entire Track Later"
msgstr ""
-#: editor.cc:1994 editor.cc:2050
+#: editor.cc:1913 editor.cc:1969
msgid "Nudge Track After Edit Point Later"
msgstr ""
-#: editor.cc:1995 editor.cc:2051
+#: editor.cc:1914 editor.cc:1970
msgid "Nudge Entire Track Earlier"
msgstr ""
-#: editor.cc:1996 editor.cc:2052
+#: editor.cc:1915 editor.cc:1971
msgid "Nudge Track After Edit Point Earlier"
msgstr ""
-#: editor.cc:1998 editor.cc:2054
+#: editor.cc:1917 editor.cc:1973
msgid "Nudge"
msgstr "Retocar"
-#: editor.cc:3074
+#: editor.cc:2916 editor.cc:3491 editor.cc:3561 midi_channel_selector.cc:159
+#: midi_channel_selector.cc:397 midi_channel_selector.cc:433
+msgid "All"
+msgstr ""
+
+#: editor.cc:3122
msgid "Smart Mode (add Range functions to Object mode)"
msgstr ""
-#: editor.cc:3075
+#: editor.cc:3123
msgid "Object Mode (select/move Objects)"
msgstr ""
-#: editor.cc:3076
+#: editor.cc:3124
+msgid "Cut Mode (split Regions)"
+msgstr ""
+
+#: editor.cc:3125
msgid "Range Mode (select/move Ranges)"
msgstr ""
-#: editor.cc:3077
+#: editor.cc:3126
msgid "Draw/Edit MIDI Notes"
msgstr ""
-#: editor.cc:3078
+#: editor.cc:3127
msgid "Draw Region Gain"
msgstr ""
-#: editor.cc:3079
+#: editor.cc:3128
msgid "Select Zoom Range"
msgstr ""
-#: editor.cc:3080
+#: editor.cc:3129
msgid "Stretch/Shrink Regions and MIDI Notes"
msgstr ""
-#: editor.cc:3081
+#: editor.cc:3130
msgid "Listen to Specific Regions"
msgstr ""
-#: editor.cc:3082
+#: editor.cc:3131
msgid "Note Level Editing"
msgstr ""
-#: editor.cc:3083
+#: editor.cc:3132
msgid ""
"Groups: click to (de)activate\n"
"Context-click for other operations"
msgstr ""
-#: editor.cc:3084
+#: editor.cc:3133
msgid "Nudge Region/Selection Later"
msgstr ""
-#: editor.cc:3085
+#: editor.cc:3134
msgid "Nudge Region/Selection Earlier"
msgstr ""
-#: editor.cc:3086 editor_actions.cc:242
+#: editor.cc:3135 editor_actions.cc:262
msgid "Zoom In"
msgstr "Zoom (+)"
-#: editor.cc:3087 editor_actions.cc:241
+#: editor.cc:3136 editor_actions.cc:261
msgid "Zoom Out"
msgstr "Zoom (-)"
-#: editor.cc:3088 editor_actions.cc:243
+#: editor.cc:3137
+msgid "Zoom to Time Scale"
+msgstr ""
+
+#: editor.cc:3138 editor.cc:3513 editor_actions.cc:263
msgid "Zoom to Session"
msgstr "Zoom (sessão)"
-#: editor.cc:3089
+#: editor.cc:3139
msgid "Zoom focus"
msgstr ""
-#: editor.cc:3090
+#: editor.cc:3140
msgid "Expand Tracks"
msgstr ""
-#: editor.cc:3091
+#: editor.cc:3141
msgid "Shrink Tracks"
msgstr ""
-#: editor.cc:3092
+#: editor.cc:3142
+msgid "Number of visible tracks"
+msgstr ""
+
+#: editor.cc:3143
msgid "Snap/Grid Units"
msgstr ""
-#: editor.cc:3093
+#: editor.cc:3144
msgid "Snap/Grid Mode"
msgstr ""
-#: editor.cc:3095
+#: editor.cc:3146
msgid "Edit Mode"
msgstr "Modo de edição"
-#: editor.cc:3096
+#: editor.cc:3147
msgid ""
"Nudge Clock\n"
"(controls distance used to nudge regions and selections)"
msgstr ""
-#: editor.cc:3198
-msgid "malformed URL passed to drag-n-drop code"
-msgstr ""
-
-#: editor.cc:3260 editor_actions.cc:291
+#: editor.cc:3285 editor_actions.cc:313
msgid "Command|Undo"
msgstr ""
-#: editor.cc:3262
+#: editor.cc:3287
msgid "Command|Undo (%1)"
msgstr ""
-#: editor.cc:3269 editor_actions.cc:292
+#: editor.cc:3294 editor_actions.cc:315 editor_actions.cc:316
+#: editor_actions.cc:317
msgid "Redo"
msgstr "Refazer"
-#: editor.cc:3271
+#: editor.cc:3296
msgid "Redo (%1)"
msgstr "Refazer (%1)"
-#: editor.cc:3290 editor.cc:3314 editor_actions.cc:106 editor_actions.cc:1794
+#: editor.cc:3315 editor.cc:3339 editor_actions.cc:110 editor_actions.cc:1842
msgid "Duplicate"
msgstr "Duplicar"
-#: editor.cc:3291
+#: editor.cc:3316
msgid "Number of duplications:"
msgstr ""
-#: editor.cc:3868
+#: editor.cc:3490
+msgid "Selected"
+msgstr ""
+
+#: editor.cc:3493
+msgid "Fit 1 track"
+msgstr ""
+
+#: editor.cc:3494
+msgid "Fit 2 tracks"
+msgstr ""
+
+#: editor.cc:3495
+msgid "Fit 4 tracks"
+msgstr ""
+
+#: editor.cc:3496
+msgid "Fit 8 tracks"
+msgstr ""
+
+#: editor.cc:3497
+msgid "Fit 16 tracks"
+msgstr ""
+
+#: editor.cc:3498
+msgid "Fit 24 tracks"
+msgstr ""
+
+#: editor.cc:3499
+msgid "Fit 32 tracks"
+msgstr ""
+
+#: editor.cc:3500
+msgid "Fit 48 tracks"
+msgstr ""
+
+#: editor.cc:3501
+msgid "Fit All tracks"
+msgstr ""
+
+#: editor.cc:3502
+msgid "Fit Selected tracks"
+msgstr ""
+
+#: editor.cc:3504
+msgid "Zoom to 10 ms"
+msgstr ""
+
+#: editor.cc:3505
+msgid "Zoom to 100 ms"
+msgstr ""
+
+#: editor.cc:3506
+msgid "Zoom to 1 sec"
+msgstr ""
+
+#: editor.cc:3507
+msgid "Zoom to 10 sec"
+msgstr ""
+
+#: editor.cc:3508
+msgid "Zoom to 1 min"
+msgstr ""
+
+#: editor.cc:3509
+msgid "Zoom to 10 min"
+msgstr ""
+
+#: editor.cc:3510
+msgid "Zoom to 1 hour"
+msgstr ""
+
+#: editor.cc:3511
+msgid "Zoom to 8 hours"
+msgstr ""
+
+#: editor.cc:3512
+msgid "Zoom to 24 hours"
+msgstr ""
+
+#: editor.cc:3514
+msgid "Zoom to Range/Region Selection"
+msgstr ""
+
+#: editor.cc:3583
+msgid "*"
+msgstr ""
+
+#: editor.cc:3918
msgid "Playlist Deletion"
msgstr ""
-#: editor.cc:3869
+#: editor.cc:3919
msgid ""
"Playlist %1 is currently unused.\n"
"If it is kept, its audio files will not be cleaned.\n"
"If it is deleted, audio files used by it alone will be cleaned."
msgstr ""
-#: editor.cc:3879
+#: editor.cc:3929
msgid "Delete Playlist"
msgstr ""
-#: editor.cc:3880
+#: editor.cc:3930
msgid "Keep Playlist"
msgstr ""
-#: editor.cc:3881 editor_audio_import.cc:581 editor_ops.cc:5856
-#: engine_dialog.cc:1711 sfdb_freesound_mootcher.cc:69 processor_box.cc:2030
-#: processor_box.cc:2055
+#: editor.cc:3931 editor_audio_import.cc:579 editor_ops.cc:5931
+#: engine_dialog.cc:1985 sfdb_freesound_mootcher.cc:69 processor_box.cc:2263
+#: processor_box.cc:2288
msgid "Cancel"
msgstr "Cancelar"
-#: editor.cc:4025
+#: editor.cc:4065
msgid "new playlists"
msgstr "nova lista de reprodução"
-#: editor.cc:4041
+#: editor.cc:4081
msgid "copy playlists"
msgstr "copiar lista de reprodução"
-#: editor.cc:4056
+#: editor.cc:4096
msgid "clear playlists"
msgstr "apagar lista de reprodução"
-#: editor.cc:4691
+#: editor.cc:4771
msgid "Please wait while %1 loads visual data."
msgstr ""
-#: editor.cc:5496 editor_markers.cc:940 panner_ui.cc:392 processor_box.cc:2292
+#: editor.cc:5592 editor_markers.cc:954 panner_ui.cc:409 processor_box.cc:2526
msgid "Edit..."
msgstr ""
-#: editor_actions.cc:88
+#: editor_actions.cc:92
msgid "Autoconnect"
msgstr "Auto-ligar"
-#: editor_actions.cc:89
+#: editor_actions.cc:93
msgid "Crossfades"
msgstr "Desvanecimentos cruzados"
-#: editor_actions.cc:91
+#: editor_actions.cc:95
msgid "Move Selected Marker"
msgstr ""
-#: editor_actions.cc:92
+#: editor_actions.cc:96
msgid "Select Range Operations"
msgstr ""
-#: editor_actions.cc:93
+#: editor_actions.cc:97
msgid "Select Regions"
msgstr ""
-#: editor_actions.cc:94
+#: editor_actions.cc:98
msgid "Edit Point"
msgstr ""
-#: editor_actions.cc:95
+#: editor_actions.cc:99
msgid "Fade"
msgstr "Desvanecimento"
-#: editor_actions.cc:96
+#: editor_actions.cc:100
msgid "Latch"
msgstr ""
-#: editor_actions.cc:97 editor_regions.cc:111 region_editor.cc:46
+#: editor_actions.cc:101 editor_regions.cc:112 region_editor.cc:45
msgid "Region"
msgstr ""
-#: editor_actions.cc:98
+#: editor_actions.cc:102
msgid "Layering"
msgstr "Nivelar"
-#: editor_actions.cc:99 editor_regions.cc:112 gtk-custom-ruler.c:152
-#: stereo_panner_editor.cc:44
+#: editor_actions.cc:103 editor_regions.cc:113 stereo_panner_editor.cc:44
msgid "Position"
msgstr "Posição"
-#: editor_actions.cc:101 gain_meter.cc:120 gain_meter.cc:794 panner_ui.cc:176
-#: panner_ui.cc:585
+#: editor_actions.cc:105 gain_meter.cc:122 gain_meter.cc:800 panner_ui.cc:177
+#: panner_ui.cc:634
msgid "Trim"
msgstr "Cortar"
-#: editor_actions.cc:102 editor_actions.cc:122 route_group_dialog.cc:40
+#: editor_actions.cc:106 editor_actions.cc:126 route_group_dialog.cc:46
msgid "Gain"
msgstr ""
-#: editor_actions.cc:103 editor_actions.cc:538
+#: editor_actions.cc:107 editor_actions.cc:573
msgid "Ranges"
msgstr ""
-#: editor_actions.cc:104 editor_actions.cc:1790 session_option_editor.cc:145
-#: session_option_editor.cc:147 session_option_editor.cc:156
-#: session_option_editor.cc:163
+#: editor_actions.cc:108 editor_actions.cc:1838 session_option_editor.cc:135
+#: session_option_editor.cc:144 session_option_editor.cc:151
msgid "Fades"
msgstr ""
-#: editor_actions.cc:107
+#: editor_actions.cc:111
msgid "Link"
msgstr ""
-#: editor_actions.cc:108 editor_actions.cc:141
+#: editor_actions.cc:112 editor_actions.cc:145
msgid "Zoom Focus"
msgstr "Zoom (focagem)"
-#: editor_actions.cc:109
+#: editor_actions.cc:113
msgid "Locate to Markers"
msgstr ""
-#: editor_actions.cc:110 editor_actions.cc:539
-msgid "Markers"
-msgstr ""
-
-#: editor_actions.cc:111
+#: editor_actions.cc:115
msgid "Meter falloff"
msgstr "VUímetro (decaimento)"
-#: editor_actions.cc:112
+#: editor_actions.cc:116
msgid "Meter hold"
msgstr "VUímetro (persistência)"
-#: editor_actions.cc:113 session_option_editor.cc:234
+#: editor_actions.cc:117 session_option_editor.cc:321
msgid "MIDI Options"
msgstr ""
-#: editor_actions.cc:114
+#: editor_actions.cc:118
msgid "Misc Options"
msgstr ""
-#: editor_actions.cc:115 rc_option_editor.cc:1450 route_group_dialog.cc:48
-#: session_option_editor.cc:218 session_option_editor.cc:225
+#: editor_actions.cc:119 rc_option_editor.cc:1714 route_group_dialog.cc:54
+#: session_option_editor.cc:243 session_option_editor.cc:250
msgid "Monitoring"
msgstr "Monitorização"
-#: editor_actions.cc:116
+#: editor_actions.cc:120
msgid "Active Mark"
msgstr ""
-#: editor_actions.cc:119
+#: editor_actions.cc:123
msgid "Primary Clock"
msgstr ""
-#: editor_actions.cc:120
+#: editor_actions.cc:124
msgid "Pullup / Pulldown"
msgstr ""
-#: editor_actions.cc:121
+#: editor_actions.cc:125
msgid "Region operations"
msgstr "Operações em regiões"
-#: editor_actions.cc:123
+#: editor_actions.cc:127 ruler_dialog.cc:28
msgid "Rulers"
msgstr ""
-#: editor_actions.cc:124
+#: editor_actions.cc:128
msgid "Views"
msgstr ""
-#: editor_actions.cc:125
+#: editor_actions.cc:129
msgid "Scroll"
msgstr ""
-#: editor_actions.cc:126
+#: editor_actions.cc:130
msgid "Secondary Clock"
msgstr ""
-#: editor_actions.cc:129 editor_actions.cc:297
+#: editor_actions.cc:133 editor_actions.cc:322
msgid "Separate"
msgstr ""
-#: editor_actions.cc:132 mixer_strip.cc:1914 route_time_axis.cc:208
-#: route_time_axis.cc:2417
-msgid "Solo"
-msgstr ""
-
-#: editor_actions.cc:133
+#: editor_actions.cc:137
msgid "Subframes"
msgstr ""
-#: editor_actions.cc:136
+#: editor_actions.cc:140
msgid "Timecode fps"
msgstr ""
-#: editor_actions.cc:137 route_time_axis.cc:430
+#: editor_actions.cc:141 route_time_axis.cc:548
msgid "Height"
msgstr "Altura"
-#: editor_actions.cc:139
+#: editor_actions.cc:143
msgid "Tools"
msgstr "Ferramentas"
-#: editor_actions.cc:140
+#: editor_actions.cc:144
msgid "View"
msgstr "Ver"
-#: editor_actions.cc:142
+#: editor_actions.cc:146
msgid "Zoom"
msgstr ""
-#: editor_actions.cc:148
+#: editor_actions.cc:152
msgid "Break drag or deselect all"
msgstr ""
-#: editor_actions.cc:150
+#: editor_actions.cc:159
msgid "Show Editor Mixer"
msgstr "Mostrar painel de mistura"
-#: editor_actions.cc:151
+#: editor_actions.cc:160
msgid "Show Editor List"
msgstr ""
-#: editor_actions.cc:153
+#: editor_actions.cc:162
msgid "Playhead to Next Region Boundary"
msgstr ""
-#: editor_actions.cc:154
+#: editor_actions.cc:163
msgid "Playhead to Next Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:155
+#: editor_actions.cc:164
msgid "Playhead to Previous Region Boundary"
msgstr ""
-#: editor_actions.cc:156
+#: editor_actions.cc:165
msgid "Playhead to Previous Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:158
+#: editor_actions.cc:167
msgid "Playhead to Next Region Start"
msgstr "Reprodução ao início da próxima região"
-#: editor_actions.cc:159
+#: editor_actions.cc:168
msgid "Playhead to Next Region End"
msgstr "Reprodução ao final da próxima região"
-#: editor_actions.cc:160
+#: editor_actions.cc:169
msgid "Playhead to Next Region Sync"
msgstr "Reprodução síncrona com a próxima região"
-#: editor_actions.cc:162
+#: editor_actions.cc:171
msgid "Playhead to Previous Region Start"
msgstr "Reprodução ao início da região anterior"
-#: editor_actions.cc:163
+#: editor_actions.cc:172
msgid "Playhead to Previous Region End"
msgstr "Reprodução ao final da região anterior"
-#: editor_actions.cc:164
+#: editor_actions.cc:173
msgid "Playhead to Previous Region Sync"
msgstr "Reprodução sincronizada com a região anterior"
-#: editor_actions.cc:166
+#: editor_actions.cc:175
msgid "To Next Region Boundary"
msgstr ""
-#: editor_actions.cc:167
+#: editor_actions.cc:176
msgid "To Next Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:168
+#: editor_actions.cc:177
msgid "To Previous Region Boundary"
msgstr ""
-#: editor_actions.cc:169
+#: editor_actions.cc:178
msgid "To Previous Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:171
+#: editor_actions.cc:180
msgid "To Next Region Start"
msgstr ""
-#: editor_actions.cc:172
+#: editor_actions.cc:181
msgid "To Next Region End"
msgstr ""
-#: editor_actions.cc:173
+#: editor_actions.cc:182
msgid "To Next Region Sync"
msgstr ""
-#: editor_actions.cc:175
+#: editor_actions.cc:184
msgid "To Previous Region Start"
msgstr ""
-#: editor_actions.cc:176
+#: editor_actions.cc:185
msgid "To Previous Region End"
msgstr ""
-#: editor_actions.cc:177
+#: editor_actions.cc:186
msgid "To Previous Region Sync"
msgstr ""
-#: editor_actions.cc:179
+#: editor_actions.cc:188
msgid "To Range Start"
msgstr ""
-#: editor_actions.cc:180
+#: editor_actions.cc:189
msgid "To Range End"
msgstr ""
-#: editor_actions.cc:182
+#: editor_actions.cc:191
msgid "Playhead to Range Start"
msgstr "Reprodução no início do intervalo"
-#: editor_actions.cc:183
+#: editor_actions.cc:192
msgid "Playhead to Range End"
msgstr "Reprodução no final do intervalo"
-#: editor_actions.cc:186 export_timespan_selector.cc:61 processor_box.cc:2278
+#: editor_actions.cc:195
+msgid "Select All Tracks"
+msgstr ""
+
+#: editor_actions.cc:196 export_timespan_selector.cc:61 processor_box.cc:2512
msgid "Deselect All"
msgstr "Seleccionar nenhum"
-#: editor_actions.cc:191
+#: editor_actions.cc:204
msgid "Select All Overlapping Edit Range"
msgstr ""
-#: editor_actions.cc:192
+#: editor_actions.cc:205
msgid "Select All Inside Edit Range"
msgstr ""
-#: editor_actions.cc:194
+#: editor_actions.cc:207
msgid "Select Edit Range"
msgstr ""
-#: editor_actions.cc:196
+#: editor_actions.cc:209
msgid "Select All in Punch Range"
msgstr "Seleccionar tudo no intervalo de inserção"
-#: editor_actions.cc:197
+#: editor_actions.cc:210
msgid "Select All in Loop Range"
msgstr "Seleccionar tudo no intervalo de ciclo"
-#: editor_actions.cc:199
+#: editor_actions.cc:212
msgid "Select Next Track or Bus"
msgstr ""
-#: editor_actions.cc:200
+#: editor_actions.cc:213
msgid "Select Previous Track or Bus"
msgstr ""
-#: editor_actions.cc:202
+#: editor_actions.cc:215
msgid "Toggle Record Enable"
msgstr ""
-#: editor_actions.cc:204
+#: editor_actions.cc:217
msgid "Toggle Solo"
msgstr ""
-#: editor_actions.cc:206
+#: editor_actions.cc:219
msgid "Toggle Mute"
msgstr ""
-#: editor_actions.cc:208
+#: editor_actions.cc:221
msgid "Toggle Solo Isolate"
msgstr ""
-#: editor_actions.cc:213
+#: editor_actions.cc:226
msgid "Save View %1"
msgstr ""
-#: editor_actions.cc:219
+#: editor_actions.cc:232
msgid "Goto View %1"
msgstr ""
-#: editor_actions.cc:225
+#: editor_actions.cc:238
msgid "Locate to Mark %1"
msgstr ""
-#: editor_actions.cc:229
+#: editor_actions.cc:242 editor_actions.cc:243
msgid "Jump to Next Mark"
msgstr ""
-#: editor_actions.cc:230
+#: editor_actions.cc:244 editor_actions.cc:245
msgid "Jump to Previous Mark"
msgstr ""
-#: editor_actions.cc:231
+#: editor_actions.cc:247 editor_actions.cc:248
msgid "Add Mark from Playhead"
msgstr ""
-#: editor_actions.cc:233
+#: editor_actions.cc:250 editor_actions.cc:251
+msgid "Remove Mark at Playhead"
+msgstr ""
+
+#: editor_actions.cc:253
msgid "Nudge Next Later"
msgstr ""
-#: editor_actions.cc:234
+#: editor_actions.cc:254
msgid "Nudge Next Earlier"
msgstr ""
-#: editor_actions.cc:236
+#: editor_actions.cc:256
msgid "Nudge Playhead Forward"
msgstr ""
-#: editor_actions.cc:237
+#: editor_actions.cc:257
msgid "Nudge Playhead Backward"
msgstr ""
-#: editor_actions.cc:238
+#: editor_actions.cc:258
msgid "Playhead To Next Grid"
msgstr ""
-#: editor_actions.cc:239
+#: editor_actions.cc:259
msgid "Playhead To Previous Grid"
msgstr ""
-#: editor_actions.cc:244
+#: editor_actions.cc:264
msgid "Zoom to Region"
msgstr ""
-#: editor_actions.cc:245
+#: editor_actions.cc:265
msgid "Zoom to Region (Width and Height)"
msgstr ""
-#: editor_actions.cc:246
+#: editor_actions.cc:267
+msgid "Zoom to Range (Width and Height)"
+msgstr ""
+
+#: editor_actions.cc:268
msgid "Toggle Zoom State"
msgstr ""
-#: editor_actions.cc:248
+#: editor_actions.cc:270
msgid "Expand Track Height"
msgstr ""
-#: editor_actions.cc:249
+#: editor_actions.cc:271
msgid "Shrink Track Height"
msgstr ""
-#: editor_actions.cc:251
+#: editor_actions.cc:273
msgid "Move Selected Tracks Up"
msgstr ""
-#: editor_actions.cc:253
+#: editor_actions.cc:275
msgid "Move Selected Tracks Down"
msgstr ""
-#: editor_actions.cc:256
+#: editor_actions.cc:278
msgid "Scroll Tracks Up"
msgstr "Rolar faixas p/cima"
-#: editor_actions.cc:258
+#: editor_actions.cc:280
msgid "Scroll Tracks Down"
msgstr "Rolar faixas p/baixo"
-#: editor_actions.cc:260
+#: editor_actions.cc:282
msgid "Step Tracks Up"
msgstr "Passar faixas p/cima"
-#: editor_actions.cc:262
+#: editor_actions.cc:284
msgid "Step Tracks Down"
msgstr "Passar faixas p/baixo"
-#: editor_actions.cc:265
+#: editor_actions.cc:287
msgid "Scroll Backward"
msgstr "Rolar p/trás"
-#: editor_actions.cc:266
+#: editor_actions.cc:288
msgid "Scroll Forward"
msgstr "Rolar p/frente"
-#: editor_actions.cc:267
+#: editor_actions.cc:289
msgid "Center Playhead"
msgstr "Centrar cursor de reprodução"
-#: editor_actions.cc:268
+#: editor_actions.cc:290
msgid "Center Edit Point"
msgstr ""
-#: editor_actions.cc:270
+#: editor_actions.cc:292
msgid "Playhead Forward"
msgstr "Cursor de reprodução p/frente"
-#: editor_actions.cc:271
+#: editor_actions.cc:293
msgid "Playhead Backward"
msgstr "Cursor de reprodução p/trás"
-#: editor_actions.cc:273
+#: editor_actions.cc:295
msgid "Playhead to Active Mark"
msgstr ""
-#: editor_actions.cc:274
+#: editor_actions.cc:296
msgid "Active Mark to Playhead"
msgstr ""
-#: editor_actions.cc:276
+#: editor_actions.cc:298
msgid "Set Loop from Edit Range"
msgstr ""
-#: editor_actions.cc:277
+#: editor_actions.cc:299
msgid "Set Punch from Edit Range"
msgstr ""
-#: editor_actions.cc:280
+#: editor_actions.cc:302
msgid "Play Selected Regions"
msgstr ""
-#: editor_actions.cc:282
+#: editor_actions.cc:304
msgid "Play from Edit Point and Return"
msgstr ""
-#: editor_actions.cc:284
+#: editor_actions.cc:306
msgid "Play Edit Range"
msgstr ""
-#: editor_actions.cc:286
+#: editor_actions.cc:308
msgid "Playhead to Mouse"
msgstr ""
-#: editor_actions.cc:287
+#: editor_actions.cc:309
msgid "Active Marker to Mouse"
msgstr ""
-#: editor_actions.cc:294
+#: editor_actions.cc:319
msgid "Export Audio"
msgstr ""
-#: editor_actions.cc:295 export_dialog.cc:406
+#: editor_actions.cc:320 export_dialog.cc:396
msgid "Export Range"
msgstr "Exportar intervalo"
-#: editor_actions.cc:300
+#: editor_actions.cc:325
msgid "Separate Using Punch Range"
msgstr ""
-#: editor_actions.cc:303
+#: editor_actions.cc:328
msgid "Separate Using Loop Range"
msgstr ""
-#: editor_actions.cc:306 editor_actions.cc:323
+#: editor_actions.cc:331 editor_actions.cc:353
msgid "Crop"
msgstr ""
-#: editor_actions.cc:315
+#: editor_actions.cc:341
+msgid "Fade Range Selection"
+msgstr ""
+
+#: editor_actions.cc:343
msgid "Set Tempo from Edit Range = Bar"
msgstr ""
-#: editor_actions.cc:317
+#: editor_actions.cc:345
msgid "Log"
msgstr ""
-#: editor_actions.cc:320
+#: editor_actions.cc:348 editor_actions.cc:349
msgid "Move Later to Transient"
msgstr ""
-#: editor_actions.cc:321
+#: editor_actions.cc:350 editor_actions.cc:351
msgid "Move Earlier to Transient"
msgstr ""
-#: editor_actions.cc:325
+#: editor_actions.cc:355 editor_actions.cc:358
msgid "Start Range"
msgstr "Iniciar intervalo"
-#: editor_actions.cc:326
+#: editor_actions.cc:356 editor_actions.cc:359
msgid "Finish Range"
msgstr "Finalizar intervalo"
-#: editor_actions.cc:327
-msgid "Finish Add Range"
-msgstr ""
-
-#: editor_actions.cc:357
+#: editor_actions.cc:391
msgid "Follow Playhead"
msgstr "Seguir o cursor de reprodução"
-#: editor_actions.cc:358
+#: editor_actions.cc:392
msgid "Remove Last Capture"
msgstr "Remover a última captura"
-#: editor_actions.cc:360
+#: editor_actions.cc:394
msgid "Stationary Playhead"
msgstr ""
-#: editor_actions.cc:362 insert_time_dialog.cc:32
+#: editor_actions.cc:396 insert_time_dialog.cc:32
msgid "Insert Time"
msgstr ""
-#: editor_actions.cc:365
+#: editor_actions.cc:399
msgid "Toggle Active"
msgstr ""
-#: editor_actions.cc:370 editor_actions.cc:1716 editor_markers.cc:876
-#: editor_markers.cc:941 editor_snapshots.cc:121 mixer_strip.cc:1495
-#: route_time_axis.cc:710
+#: editor_actions.cc:404 editor_actions.cc:1764 editor_markers.cc:890
+#: editor_markers.cc:955 editor_snapshots.cc:122 mixer_strip.cc:1506
+#: route_time_axis.cc:829
msgid "Remove"
msgstr "Remover"
-#: editor_actions.cc:374
+#: editor_actions.cc:408
msgid "Fit Selected Tracks"
msgstr ""
-#: editor_actions.cc:376 time_axis_view.cc:1302
+#: editor_actions.cc:411 time_axis_view.cc:1336
msgid "Largest"
msgstr "Enorme"
-#: editor_actions.cc:379 time_axis_view.cc:1303
+#: editor_actions.cc:414 time_axis_view.cc:1337
msgid "Larger"
msgstr "Maior"
-#: editor_actions.cc:382 editor_rulers.cc:375 time_axis_view.cc:1304
+#: editor_actions.cc:417 editor_rulers.cc:249 time_axis_view.cc:1338
msgid "Large"
msgstr "Grande"
-#: editor_actions.cc:388 editor_rulers.cc:379 time_axis_view.cc:1306
+#: editor_actions.cc:423 editor_rulers.cc:253 time_axis_view.cc:1340
msgid "Small"
msgstr "Pequeno"
-#: editor_actions.cc:392
+#: editor_actions.cc:427
msgid "Sound Selected MIDI Notes"
msgstr ""
-#: editor_actions.cc:397
+#: editor_actions.cc:432
msgid "Zoom Focus Left"
msgstr "Zoom (focagem/esquerda)"
-#: editor_actions.cc:398
+#: editor_actions.cc:433
msgid "Zoom Focus Right"
msgstr "Zoom (focagem/direita)"
-#: editor_actions.cc:399
+#: editor_actions.cc:434
msgid "Zoom Focus Center"
msgstr "Zoom (focagem/centro)"
-#: editor_actions.cc:400
+#: editor_actions.cc:435
msgid "Zoom Focus Playhead"
msgstr "Zoom (focagem/reprodução)"
-#: editor_actions.cc:401
+#: editor_actions.cc:436
msgid "Zoom Focus Mouse"
msgstr ""
-#: editor_actions.cc:402
+#: editor_actions.cc:437
msgid "Zoom Focus Edit Point"
msgstr ""
-#: editor_actions.cc:404
+#: editor_actions.cc:439
msgid "Next Zoom Focus"
msgstr ""
-#: editor_actions.cc:410
+#: editor_actions.cc:445
msgid "Smart Object Mode"
msgstr ""
-#: editor_actions.cc:413
+#: editor_actions.cc:448
msgid "Smart"
msgstr ""
-#: editor_actions.cc:417
+#: editor_actions.cc:451
msgid "Object Tool"
msgstr "Ferramenta/objecto"
-#: editor_actions.cc:423
+#: editor_actions.cc:456
msgid "Range Tool"
msgstr "Ferramenta/intervalo"
-#: editor_actions.cc:429
+#: editor_actions.cc:461
msgid "Note Drawing Tool"
msgstr ""
-#: editor_actions.cc:435
+#: editor_actions.cc:466
msgid "Gain Tool"
msgstr "Ferramenta/ganho"
-#: editor_actions.cc:441
+#: editor_actions.cc:472
msgid "Zoom Tool"
msgstr "Ferramenta/zoom"
-#: editor_actions.cc:447
+#: editor_actions.cc:478
msgid "Audition Tool"
msgstr ""
-#: editor_actions.cc:453
+#: editor_actions.cc:483
msgid "Time FX Tool"
msgstr ""
-#: editor_actions.cc:459
+#: editor_actions.cc:489
+msgid "Cut Tool"
+msgstr ""
+
+#: editor_actions.cc:495
msgid "Step Mouse Mode"
msgstr ""
-#: editor_actions.cc:461
+#: editor_actions.cc:497
msgid "Edit MIDI"
msgstr ""
-#: editor_actions.cc:472
+#: editor_actions.cc:507
msgid "Change Edit Point"
msgstr ""
-#: editor_actions.cc:473
+#: editor_actions.cc:508
msgid "Change Edit Point Including Marker"
msgstr ""
-#: editor_actions.cc:475
-msgid "Splice"
-msgstr "Reunir"
-
-#: editor_actions.cc:477
-msgid "Slide"
-msgstr "Deslizar"
-
-#: editor_actions.cc:478 editor_actions.cc:1737 editor_markers.cc:860
-#: editor_rulers.cc:386 location_ui.cc:56
-msgid "Lock"
-msgstr "Bloquear"
-
-#: editor_actions.cc:479
-msgid "Toggle Edit Mode"
+#: editor_actions.cc:514
+msgid "Cycle Edit Mode"
msgstr ""
-#: editor_actions.cc:481
+#: editor_actions.cc:516
msgid "Snap to"
msgstr ""
-#: editor_actions.cc:482
+#: editor_actions.cc:517
msgid "Snap Mode"
msgstr "Modo de ajuste"
-#: editor_actions.cc:489
+#: editor_actions.cc:524
msgid "Next Snap Mode"
msgstr ""
-#: editor_actions.cc:490
+#: editor_actions.cc:525
msgid "Next Snap Choice"
msgstr ""
-#: editor_actions.cc:491
+#: editor_actions.cc:526
msgid "Next Musical Snap Choice"
msgstr ""
-#: editor_actions.cc:492
+#: editor_actions.cc:527
msgid "Previous Snap Choice"
msgstr ""
-#: editor_actions.cc:493
+#: editor_actions.cc:528
msgid "Previous Musical Snap Choice"
msgstr ""
-#: editor_actions.cc:498
+#: editor_actions.cc:533
msgid "Snap to CD Frame"
msgstr ""
-#: editor_actions.cc:499
+#: editor_actions.cc:534
msgid "Snap to Timecode Frame"
msgstr ""
-#: editor_actions.cc:500
+#: editor_actions.cc:535
msgid "Snap to Timecode Seconds"
msgstr ""
-#: editor_actions.cc:501
+#: editor_actions.cc:536
msgid "Snap to Timecode Minutes"
msgstr ""
-#: editor_actions.cc:502
+#: editor_actions.cc:537
msgid "Snap to Seconds"
msgstr ""
-#: editor_actions.cc:503
+#: editor_actions.cc:538
msgid "Snap to Minutes"
msgstr ""
-#: editor_actions.cc:505
+#: editor_actions.cc:540
msgid "Snap to One Twenty Eighths"
msgstr ""
-#: editor_actions.cc:506
+#: editor_actions.cc:541
msgid "Snap to Sixty Fourths"
msgstr ""
-#: editor_actions.cc:507
+#: editor_actions.cc:542
msgid "Snap to Thirty Seconds"
msgstr ""
-#: editor_actions.cc:508
+#: editor_actions.cc:543
msgid "Snap to Twenty Eighths"
msgstr ""
-#: editor_actions.cc:509
+#: editor_actions.cc:544
msgid "Snap to Twenty Fourths"
msgstr ""
-#: editor_actions.cc:510
+#: editor_actions.cc:545
msgid "Snap to Twentieths"
msgstr ""
-#: editor_actions.cc:511
+#: editor_actions.cc:546
msgid "Snap to Sixteenths"
msgstr ""
-#: editor_actions.cc:512
+#: editor_actions.cc:547
msgid "Snap to Fourteenths"
msgstr ""
-#: editor_actions.cc:513
+#: editor_actions.cc:548
msgid "Snap to Twelfths"
msgstr ""
-#: editor_actions.cc:514
+#: editor_actions.cc:549
msgid "Snap to Tenths"
msgstr ""
-#: editor_actions.cc:515
+#: editor_actions.cc:550
msgid "Snap to Eighths"
msgstr ""
-#: editor_actions.cc:516
+#: editor_actions.cc:551
msgid "Snap to Sevenths"
msgstr ""
-#: editor_actions.cc:517
+#: editor_actions.cc:552
msgid "Snap to Sixths"
msgstr ""
-#: editor_actions.cc:518
+#: editor_actions.cc:553
msgid "Snap to Fifths"
msgstr ""
-#: editor_actions.cc:519
+#: editor_actions.cc:554
msgid "Snap to Quarters"
msgstr ""
-#: editor_actions.cc:520
+#: editor_actions.cc:555
msgid "Snap to Thirds"
msgstr ""
-#: editor_actions.cc:521
+#: editor_actions.cc:556
msgid "Snap to Halves"
msgstr ""
-#: editor_actions.cc:523
+#: editor_actions.cc:558
msgid "Snap to Beat"
msgstr ""
-#: editor_actions.cc:524
+#: editor_actions.cc:559
msgid "Snap to Bar"
msgstr ""
-#: editor_actions.cc:525
+#: editor_actions.cc:560
msgid "Snap to Mark"
msgstr ""
-#: editor_actions.cc:526
+#: editor_actions.cc:561
msgid "Snap to Region Start"
msgstr ""
-#: editor_actions.cc:527
+#: editor_actions.cc:562
msgid "Snap to Region End"
msgstr ""
-#: editor_actions.cc:528
+#: editor_actions.cc:563
msgid "Snap to Region Sync"
msgstr ""
-#: editor_actions.cc:529
+#: editor_actions.cc:564
msgid "Snap to Region Boundary"
msgstr ""
-#: editor_actions.cc:531
+#: editor_actions.cc:566
msgid "Show Marker Lines"
msgstr ""
-#: editor_actions.cc:541
+#: editor_actions.cc:576
msgid "Loop/Punch"
msgstr ""
-#: editor_actions.cc:545
+#: editor_actions.cc:580
msgid "Min:Sec"
msgstr ""
-#: editor_actions.cc:547 editor_actions.cc:550
+#: editor_actions.cc:582 editor_actions.cc:585
msgid "Video Monitor"
msgstr ""
-#: editor_actions.cc:549 rc_option_editor.cc:1829
+#: editor_actions.cc:584 rc_option_editor.cc:2134
msgid "Video"
msgstr ""
-#: editor_actions.cc:552
+#: editor_actions.cc:587
msgid "Always on Top"
msgstr ""
-#: editor_actions.cc:554
+#: editor_actions.cc:589
msgid "Frame number"
msgstr ""
-#: editor_actions.cc:555
+#: editor_actions.cc:590
msgid "Timecode Background"
msgstr ""
-#: editor_actions.cc:556
+#: editor_actions.cc:591
msgid "Fullscreen"
msgstr ""
-#: editor_actions.cc:557
+#: editor_actions.cc:592
msgid "Letterbox"
msgstr ""
-#: editor_actions.cc:558
+#: editor_actions.cc:593
msgid "Original Size"
msgstr ""
-#: editor_actions.cc:608
+#: editor_actions.cc:650
msgid "Sort"
msgstr "Ordenar"
-#: editor_actions.cc:610 region_editor.cc:51
-msgid "Audition"
-msgstr "Audição"
-
-#: editor_actions.cc:619 editor_routes.cc:470 mixer_ui.cc:1161
+#: editor_actions.cc:661 editor_routes.cc:473 mixer_ui.cc:1181
msgid "Show All"
msgstr "Mostrar tudo"
-#: editor_actions.cc:620
+#: editor_actions.cc:662
msgid "Show Automatic Regions"
msgstr ""
-#: editor_actions.cc:622
+#: editor_actions.cc:664
msgid "Ascending"
msgstr "Crescente"
-#: editor_actions.cc:624
+#: editor_actions.cc:666
msgid "Descending"
msgstr "Decrescente"
-#: editor_actions.cc:627
+#: editor_actions.cc:669
msgid "By Region Name"
msgstr "Por nome de região"
-#: editor_actions.cc:629
+#: editor_actions.cc:671
msgid "By Region Length"
msgstr "Por comprimento de região"
-#: editor_actions.cc:631
+#: editor_actions.cc:673
msgid "By Region Position"
msgstr "Por posição de região"
-#: editor_actions.cc:633
+#: editor_actions.cc:675
msgid "By Region Timestamp"
msgstr "Por instante de região"
-#: editor_actions.cc:635
+#: editor_actions.cc:677
msgid "By Region Start in File"
msgstr "Por posição inicial da região no ficheiro"
-#: editor_actions.cc:637
+#: editor_actions.cc:679
msgid "By Region End in File"
msgstr "Por posição final da região no ficheiro"
-#: editor_actions.cc:639
+#: editor_actions.cc:681
msgid "By Source File Name"
msgstr "Por nome do ficheiro original"
-#: editor_actions.cc:641
+#: editor_actions.cc:683
msgid "By Source File Length"
msgstr "Por comprimento do ficheiro original"
-#: editor_actions.cc:643
+#: editor_actions.cc:685
msgid "By Source File Creation Date"
msgstr "Por data de criação do ficheiro original"
-#: editor_actions.cc:645
+#: editor_actions.cc:687
msgid "By Source Filesystem"
msgstr "Por sistema de ficheiros original"
-#: editor_actions.cc:648
+#: editor_actions.cc:690
msgid "Remove Unused"
msgstr ""
-#: editor_actions.cc:652 editor_audio_import.cc:279
+#: editor_actions.cc:694 editor_audio_import.cc:277
#: session_import_dialog.cc:74 session_import_dialog.cc:94
-#: session_metadata_dialog.cc:297 editor_videotimeline.cc:108
+#: session_metadata_dialog.cc:297 editor_videotimeline.cc:92
msgid "Import"
msgstr "Importar"
-#: editor_actions.cc:655
+#: editor_actions.cc:697
msgid "Import to Region List..."
msgstr ""
-#: editor_actions.cc:658 session_import_dialog.cc:43
+#: editor_actions.cc:700 session_import_dialog.cc:43
msgid "Import From Session"
msgstr ""
-#: editor_actions.cc:661
+#: editor_actions.cc:704
+msgid "Bring all media into session folder"
+msgstr ""
+
+#: editor_actions.cc:707
msgid "Show Summary"
msgstr ""
-#: editor_actions.cc:663
+#: editor_actions.cc:709
msgid "Show Group Tabs"
msgstr ""
-#: editor_actions.cc:665
+#: editor_actions.cc:711
msgid "Show Measures"
msgstr "Mostrar linhas de tempo"
-#: editor_actions.cc:669
+#: editor_actions.cc:715
msgid "Show Logo"
msgstr ""
-#: editor_actions.cc:673
+#: editor_actions.cc:719
msgid "Toggle MIDI Input Active for Editor-Selected Tracks/Busses"
msgstr ""
-#: editor_actions.cc:696
+#: editor_actions.cc:742
msgid "Loaded editor bindings from %1"
msgstr ""
-#: editor_actions.cc:698
+#: editor_actions.cc:744
msgid "Could not find editor.bindings in search path %1"
msgstr ""
-#: editor_actions.cc:1028 editor_actions.cc:1424 editor_actions.cc:1435
-#: editor_actions.cc:1488 editor_actions.cc:1499 editor_actions.cc:1546
-#: editor_actions.cc:1556 editor_regions.cc:1561
+#: editor_actions.cc:1074 editor_actions.cc:1470 editor_actions.cc:1481
+#: editor_actions.cc:1534 editor_actions.cc:1545 editor_actions.cc:1592
+#: editor_actions.cc:1602 editor_regions.cc:1562
msgid "programming error: %1: %2"
msgstr ""
-#: editor_actions.cc:1722
+#: editor_actions.cc:1770
msgid "Raise"
msgstr ""
-#: editor_actions.cc:1725
+#: editor_actions.cc:1773
msgid "Raise to Top"
msgstr ""
-#: editor_actions.cc:1728 gtk-custom-ruler.c:132
+#: editor_actions.cc:1776
msgid "Lower"
msgstr "Inferior"
-#: editor_actions.cc:1731
+#: editor_actions.cc:1779
msgid "Lower to Bottom"
msgstr ""
-#: editor_actions.cc:1734
+#: editor_actions.cc:1782
msgid "Move to Original Position"
msgstr ""
-#: editor_actions.cc:1739
+#: editor_actions.cc:1787
msgid "Lock to Video"
msgstr ""
-#: editor_actions.cc:1744 editor_markers.cc:867
+#: editor_actions.cc:1792 editor_markers.cc:881
msgid "Glue to Bars and Beats"
msgstr ""
-#: editor_actions.cc:1749
+#: editor_actions.cc:1797
msgid "Remove Sync"
msgstr ""
-#: editor_actions.cc:1752 mixer_strip.cc:1904 route_time_axis.cc:209
-msgid "Mute"
-msgstr "Mudo"
-
-#: editor_actions.cc:1755
+#: editor_actions.cc:1803
msgid "Normalize..."
msgstr ""
-#: editor_actions.cc:1758
+#: editor_actions.cc:1806
msgid "Reverse"
msgstr "Inverter"
-#: editor_actions.cc:1761
+#: editor_actions.cc:1809
msgid "Make Mono Regions"
msgstr ""
-#: editor_actions.cc:1764
+#: editor_actions.cc:1812
msgid "Boost Gain"
msgstr ""
-#: editor_actions.cc:1767
+#: editor_actions.cc:1815
msgid "Cut Gain"
msgstr ""
-#: editor_actions.cc:1770
+#: editor_actions.cc:1818
msgid "Pitch Shift..."
msgstr ""
-#: editor_actions.cc:1773
+#: editor_actions.cc:1821
msgid "Transpose..."
msgstr ""
-#: editor_actions.cc:1776
+#: editor_actions.cc:1824
msgid "Opaque"
msgstr ""
-#: editor_actions.cc:1780 editor_regions.cc:116
+#: editor_actions.cc:1828 editor_regions.cc:117
msgid "Fade In"
msgstr "Evanescimento"
-#: editor_actions.cc:1785 editor_regions.cc:117
+#: editor_actions.cc:1833 editor_regions.cc:118
msgid "Fade Out"
msgstr "Desvanecimento"
-#: editor_actions.cc:1800
+#: editor_actions.cc:1848
msgid "Multi-Duplicate..."
msgstr ""
-#: editor_actions.cc:1805
+#: editor_actions.cc:1853
msgid "Fill Track"
msgstr "Preencher faixa"
-#: editor_actions.cc:1809 editor_markers.cc:955
+#: editor_actions.cc:1857 editor_markers.cc:969
msgid "Set Loop Range"
msgstr "Estabelecer intervalo cíclico"
-#: editor_actions.cc:1816
+#: editor_actions.cc:1864
msgid "Set Punch"
msgstr ""
-#: editor_actions.cc:1820
+#: editor_actions.cc:1868
msgid "Add Single Range Marker"
msgstr ""
-#: editor_actions.cc:1825
+#: editor_actions.cc:1873
msgid "Add Range Marker Per Region"
msgstr ""
-#: editor_actions.cc:1829
+#: editor_actions.cc:1877
msgid "Snap Position To Grid"
msgstr ""
-#: editor_actions.cc:1832
+#: editor_actions.cc:1880
msgid "Close Gaps"
msgstr ""
-#: editor_actions.cc:1835
+#: editor_actions.cc:1883
msgid "Rhythm Ferret..."
msgstr ""
-#: editor_actions.cc:1838
+#: editor_actions.cc:1886
msgid "Export..."
msgstr ""
-#: editor_actions.cc:1844
+#: editor_actions.cc:1892
msgid "Separate Under"
msgstr ""
-#: editor_actions.cc:1848
+#: editor_actions.cc:1896 editor_actions.cc:1897
msgid "Set Fade In Length"
msgstr ""
-#: editor_actions.cc:1849
+#: editor_actions.cc:1898 editor_actions.cc:1899
msgid "Set Fade Out Length"
msgstr ""
-#: editor_actions.cc:1850
+#: editor_actions.cc:1901
msgid "Set Tempo from Region = Bar"
msgstr ""
-#: editor_actions.cc:1855
+#: editor_actions.cc:1906
msgid "Split at Percussion Onsets"
msgstr ""
-#: editor_actions.cc:1860
+#: editor_actions.cc:1911
msgid "List Editor..."
msgstr ""
-#: editor_actions.cc:1863
+#: editor_actions.cc:1914
msgid "Properties..."
msgstr ""
-#: editor_actions.cc:1867
+#: editor_actions.cc:1918
msgid "Bounce (with processing)"
msgstr ""
-#: editor_actions.cc:1868
+#: editor_actions.cc:1919
msgid "Bounce (without processing)"
msgstr ""
-#: editor_actions.cc:1869
+#: editor_actions.cc:1920
msgid "Combine"
msgstr ""
-#: editor_actions.cc:1870
+#: editor_actions.cc:1921
msgid "Uncombine"
msgstr ""
-#: editor_actions.cc:1872
+#: editor_actions.cc:1923
msgid "Spectral Analysis..."
msgstr ""
-#: editor_actions.cc:1874
+#: editor_actions.cc:1925
msgid "Reset Envelope"
msgstr ""
-#: editor_actions.cc:1876
+#: editor_actions.cc:1927
msgid "Reset Gain"
msgstr ""
-#: editor_actions.cc:1881
+#: editor_actions.cc:1932
msgid "Envelope Active"
msgstr ""
-#: editor_actions.cc:1885
+#: editor_actions.cc:1936
msgid "Quantize..."
msgstr ""
-#: editor_actions.cc:1886 editor_actions.cc:1887
+#: editor_actions.cc:1937 editor_actions.cc:1938
msgid "Insert Patch Change..."
msgstr ""
-#: editor_actions.cc:1888
+#: editor_actions.cc:1939
msgid "Unlink from other copies"
msgstr ""
-#: editor_actions.cc:1889
+#: editor_actions.cc:1940
msgid "Strip Silence..."
msgstr ""
-#: editor_actions.cc:1890
+#: editor_actions.cc:1941
msgid "Set Range Selection"
msgstr ""
-#: editor_actions.cc:1892
+#: editor_actions.cc:1943 editor_actions.cc:1944
msgid "Nudge Later"
msgstr ""
-#: editor_actions.cc:1893
+#: editor_actions.cc:1945 editor_actions.cc:1946
msgid "Nudge Earlier"
msgstr ""
-#: editor_actions.cc:1898
+#: editor_actions.cc:1948
+msgid "Sequence Regions"
+msgstr ""
+
+#: editor_actions.cc:1953
msgid "Nudge Later by Capture Offset"
msgstr ""
-#: editor_actions.cc:1905
+#: editor_actions.cc:1960
msgid "Nudge Earlier by Capture Offset"
msgstr ""
-#: editor_actions.cc:1909
+#: editor_actions.cc:1964
msgid "Trim to Loop"
msgstr ""
-#: editor_actions.cc:1910
+#: editor_actions.cc:1965
msgid "Trim to Punch"
msgstr ""
-#: editor_actions.cc:1912
+#: editor_actions.cc:1967
msgid "Trim to Previous"
msgstr ""
-#: editor_actions.cc:1913
+#: editor_actions.cc:1968
msgid "Trim to Next"
msgstr ""
-#: editor_actions.cc:1920
+#: editor_actions.cc:1975
msgid "Insert Region From Region List"
msgstr ""
-#: editor_actions.cc:1926
+#: editor_actions.cc:1981
msgid "Set Sync Position"
msgstr ""
-#: editor_actions.cc:1927
+#: editor_actions.cc:1982
msgid "Place Transient"
msgstr ""
-#: editor_actions.cc:1928
+#: editor_actions.cc:1983
msgid "Split"
msgstr "Separar"
-#: editor_actions.cc:1929
+#: editor_actions.cc:1984
msgid "Trim Start at Edit Point"
msgstr ""
-#: editor_actions.cc:1930
+#: editor_actions.cc:1985
msgid "Trim End at Edit Point"
msgstr ""
-#: editor_actions.cc:1935
+#: editor_actions.cc:1990
msgid "Align Start"
msgstr ""
-#: editor_actions.cc:1942
+#: editor_actions.cc:1997
msgid "Align Start Relative"
msgstr ""
-#: editor_actions.cc:1946
+#: editor_actions.cc:2001
msgid "Align End"
msgstr ""
-#: editor_actions.cc:1951
+#: editor_actions.cc:2006
msgid "Align End Relative"
msgstr ""
-#: editor_actions.cc:1958
+#: editor_actions.cc:2013
msgid "Align Sync"
msgstr ""
-#: editor_actions.cc:1965
+#: editor_actions.cc:2020
msgid "Align Sync Relative"
msgstr ""
-#: editor_actions.cc:1969 editor_actions.cc:1972
+#: editor_actions.cc:2024 editor_actions.cc:2027
msgid "Choose Top..."
msgstr ""
-#: editor_audio_import.cc:77 editor_audio_import.cc:99
+#: editor_audio_import.cc:76 editor_audio_import.cc:98
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"
-#: editor_audio_import.cc:83 editor_audio_import.cc:127
+#: editor_audio_import.cc:82 editor_audio_import.cc:126
msgid "Add Existing Media"
msgstr ""
-#: editor_audio_import.cc:177
+#: editor_audio_import.cc:175
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%1 as a new file, or skip it?"
msgstr ""
-#: editor_audio_import.cc:179
+#: editor_audio_import.cc:177
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%2 as a new source, or skip it?"
msgstr ""
-#: editor_audio_import.cc:279 editor_videotimeline.cc:108
+#: editor_audio_import.cc:277 editor_videotimeline.cc:92
msgid "Cancel Import"
msgstr "Cancelar importação"
-#: editor_audio_import.cc:543
+#: editor_audio_import.cc:541
msgid "Editor: cannot open file \"%1\", (%2)"
msgstr "Editor: não foi possível abrir o ficheiro \"%1\", (%2)"
-#: editor_audio_import.cc:551
+#: editor_audio_import.cc:549
msgid "Cancel entire import"
msgstr "Cancelar importação inteira"
-#: editor_audio_import.cc:552
+#: editor_audio_import.cc:550
msgid "Don't embed it"
msgstr "Não acrescentar"
-#: editor_audio_import.cc:553
+#: editor_audio_import.cc:551
msgid "Embed all without questions"
msgstr "Acrescentar sem qualquer questão"
-#: editor_audio_import.cc:556 editor_audio_import.cc:585
-#: export_format_dialog.cc:58
+#: editor_audio_import.cc:554 editor_audio_import.cc:583
+#: export_format_dialog.cc:60
msgid "Sample rate"
msgstr ""
-#: editor_audio_import.cc:557 editor_audio_import.cc:586
+#: editor_audio_import.cc:555 editor_audio_import.cc:584
msgid ""
"%1\n"
"This audiofile's sample rate doesn't match the session sample rate!"
@@ -4233,304 +4338,300 @@ msgstr ""
"%1\n"
"A frequência de amostragem deste ficheiro audio não é igual à de sessão!"
-#: editor_audio_import.cc:582
+#: editor_audio_import.cc:580
msgid "Embed it anyway"
msgstr "Acrescentar de qualquer forma"
-#: editor_drag.cc:1000
+#: editor_drag.cc:994
+msgid "Could not create new track after region placed in the drop zone"
+msgstr ""
+
+#: editor_drag.cc:1100
msgid "fixed time region drag"
msgstr ""
-#: editor_drag.cc:1700
+#: editor_drag.cc:1797
+msgid "Ripple drag"
+msgstr ""
+
+#: editor_drag.cc:2093
msgid "Video Start:"
msgstr ""
-#: editor_drag.cc:1702
+#: editor_drag.cc:2095
msgid "Diff:"
msgstr ""
-#: editor_drag.cc:1722
+#: editor_drag.cc:2114
msgid "Move Video"
msgstr ""
-#: editor_drag.cc:2200
+#: editor_drag.cc:2621
msgid "copy meter mark"
msgstr "copiar marcador métrico"
-#: editor_drag.cc:2208
+#: editor_drag.cc:2629
msgid "move meter mark"
msgstr "mover marccador métrico"
-#: editor_drag.cc:2320
+#: editor_drag.cc:2752
msgid "copy tempo mark"
msgstr "copiar marcador de tempo"
-#: editor_drag.cc:2328
+#: editor_drag.cc:2760
msgid "move tempo mark"
msgstr "mover marcador de tempo"
-#: editor_drag.cc:2550
+#: editor_drag.cc:2989
msgid "change fade in length"
msgstr "alterar duração de evanescimento"
-#: editor_drag.cc:2668
+#: editor_drag.cc:3107
msgid "change fade out length"
msgstr "alterar duração de desvanecimento"
-#: editor_drag.cc:3023
+#: editor_drag.cc:3463
msgid "move marker"
msgstr "mover marcador"
-#: editor_drag.cc:3586
+#: editor_drag.cc:4046
msgid "An error occurred while executing time stretch operation"
msgstr ""
-#: editor_drag.cc:4016
+#: editor_drag.cc:4493
msgid "programming_error: %1"
msgstr ""
-#: editor_drag.cc:4086 editor_markers.cc:680
+#: editor_drag.cc:4559 editor_markers.cc:694
msgid "new range marker"
msgstr "novo marcador de região"
-#: editor_drag.cc:4767
+#: editor_drag.cc:5259
msgid "rubberband selection"
msgstr ""
-#: editor_route_groups.cc:66
-msgid "No Selection = All Tracks?"
-msgstr ""
-
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Col"
msgstr ""
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Group Tab Color"
msgstr ""
-#: editor_route_groups.cc:96
+#: editor_route_groups.cc:97
msgid "Name of Group"
msgstr ""
-#: editor_route_groups.cc:97 editor_routes.cc:203
+#: editor_route_groups.cc:98 editor_routes.cc:205
msgid "V"
msgstr ""
-#: editor_route_groups.cc:97
+#: editor_route_groups.cc:98
msgid "Group is visible?"
msgstr ""
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "On"
msgstr ""
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "Group is enabled?"
msgstr ""
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "group|G"
msgstr ""
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "Sharing Gain?"
msgstr ""
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "relative|Rel"
msgstr ""
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "Relative Gain Changes?"
msgstr ""
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "mute|M"
msgstr ""
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "Sharing Mute?"
msgstr ""
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "solo|S"
msgstr ""
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "Sharing Solo?"
msgstr ""
-#: editor_route_groups.cc:103 midi_time_axis.cc:1504 midi_time_axis.cc:1507
-#: midi_time_axis.cc:1510 mixer_strip.cc:1903
+#: editor_route_groups.cc:104 midi_time_axis.cc:1703 midi_time_axis.cc:1706
+#: midi_time_axis.cc:1709
msgid "Rec"
msgstr ""
-#: editor_route_groups.cc:103
+#: editor_route_groups.cc:104
msgid "Sharing Record-enable Status?"
msgstr ""
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "monitoring|Mon"
msgstr ""
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "Sharing Monitoring Choice?"
msgstr ""
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "selection|Sel"
msgstr ""
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "Sharing Selected/Editing Status?"
msgstr ""
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "active|A"
msgstr ""
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "Sharing Active Status?"
msgstr ""
-#: editor_route_groups.cc:197
-msgid "Activate this button to operate on all tracks when none are selected."
-msgstr ""
-
-#: editor_route_groups.cc:442 mixer_ui.cc:1449
+#: editor_route_groups.cc:438 mixer_ui.cc:1469
msgid "unnamed"
msgstr "sem nome"
-#: editor_export_audio.cc:90 editor_markers.cc:695 editor_markers.cc:782
-#: editor_markers.cc:967 editor_markers.cc:985 editor_markers.cc:1003
-#: editor_markers.cc:1022 editor_markers.cc:1041 editor_markers.cc:1071
-#: editor_markers.cc:1102 editor_markers.cc:1132 editor_markers.cc:1160
-#: editor_markers.cc:1191 editor_markers.cc:1216 editor_markers.cc:1267
-#: editor_markers.cc:1311 editor_markers.cc:1337 editor_markers.cc:1526
-#: editor_mouse.cc:2528
+#: editor_export_audio.cc:92 editor_markers.cc:709 editor_markers.cc:796
+#: editor_markers.cc:981 editor_markers.cc:999 editor_markers.cc:1017
+#: editor_markers.cc:1036 editor_markers.cc:1055 editor_markers.cc:1085
+#: editor_markers.cc:1116 editor_markers.cc:1146 editor_markers.cc:1174
+#: editor_markers.cc:1205 editor_markers.cc:1230 editor_markers.cc:1281
+#: editor_markers.cc:1325 editor_markers.cc:1351 editor_markers.cc:1545
+#: editor_mouse.cc:2290
msgid "programming error: marker canvas item has no marker object pointer!"
msgstr ""
-#: editor_export_audio.cc:143 editor_export_audio.cc:148
+#: editor_export_audio.cc:145 editor_export_audio.cc:150
msgid "File Exists!"
msgstr ""
-#: editor_export_audio.cc:151
+#: editor_export_audio.cc:153
msgid "Overwrite Existing File"
msgstr ""
-#: editor_group_tabs.cc:162
+#: editor_group_tabs.cc:176
msgid "Fit to Window"
msgstr ""
-#: editor_markers.cc:129
+#: editor_markers.cc:139
msgid "start"
msgstr ""
-#: editor_markers.cc:130
+#: editor_markers.cc:140
msgid "end"
msgstr ""
-#: editor_markers.cc:646 editor_ops.cc:1744 editor_ops.cc:1764
-#: editor_ops.cc:1788 editor_ops.cc:1815 location_ui.cc:1017
+#: editor_markers.cc:660 editor_ops.cc:1915 editor_ops.cc:1935
+#: editor_ops.cc:1988 editor_ops.cc:2015 location_ui.cc:1019
msgid "add marker"
msgstr "acrescentar marcador"
-#: editor_markers.cc:677
+#: editor_markers.cc:691
msgid "range"
msgstr ""
-#: editor_markers.cc:713 location_ui.cc:852
+#: editor_markers.cc:727 editor_ops.cc:1955 location_ui.cc:854
msgid "remove marker"
msgstr "remover marcador"
-#: editor_markers.cc:849
+#: editor_markers.cc:863
msgid "Locate to Here"
msgstr ""
-#: editor_markers.cc:850
+#: editor_markers.cc:864
msgid "Play from Here"
msgstr ""
-#: editor_markers.cc:851
+#: editor_markers.cc:865
msgid "Move Mark to Playhead"
msgstr ""
-#: editor_markers.cc:855
+#: editor_markers.cc:869
msgid "Create Range to Next Marker"
msgstr ""
-#: editor_markers.cc:896
+#: editor_markers.cc:910
msgid "Locate to Marker"
msgstr ""
-#: editor_markers.cc:897
+#: editor_markers.cc:911
msgid "Play from Marker"
msgstr ""
-#: editor_markers.cc:900
+#: editor_markers.cc:914
msgid "Set Marker from Playhead"
msgstr ""
-#: editor_markers.cc:902
+#: editor_markers.cc:916
msgid "Set Range from Selection"
msgstr ""
-#: editor_markers.cc:905
-msgid "Zoom to Range"
-msgstr ""
-
-#: editor_markers.cc:912
+#: editor_markers.cc:926
msgid "Hide Range"
msgstr "Esconder intervalo"
-#: editor_markers.cc:913
+#: editor_markers.cc:927
msgid "Rename Range..."
msgstr ""
-#: editor_markers.cc:917
+#: editor_markers.cc:931
msgid "Remove Range"
msgstr "Remover intervalo"
-#: editor_markers.cc:924
+#: editor_markers.cc:938
msgid "Separate Regions in Range"
msgstr "Separar regiões no intervalo"
-#: editor_markers.cc:927
+#: editor_markers.cc:941
msgid "Select Range"
msgstr ""
-#: editor_markers.cc:956
+#: editor_markers.cc:970
msgid "Set Punch Range"
msgstr "Estabelecer intervalo de inserção"
-#: editor_markers.cc:1362 editor_ops.cc:1699
+#: editor_markers.cc:1376 editor_ops.cc:1870
msgid "New Name:"
msgstr "Novo nome: "
-#: editor_markers.cc:1365
+#: editor_markers.cc:1379
msgid "Rename Mark"
msgstr "Renomear marcador"
-#: editor_markers.cc:1367
+#: editor_markers.cc:1381
msgid "Rename Range"
msgstr "Renomear intervalo"
-#: editor_markers.cc:1374 editor_mouse.cc:2560 processor_box.cc:1808
-#: processor_box.cc:2274 route_time_axis.cc:982 route_ui.cc:1540
+#: editor_markers.cc:1388 editor_mouse.cc:2319 processor_box.cc:2038
+#: processor_box.cc:2508 route_time_axis.cc:1073 route_ui.cc:1622
msgid "Rename"
msgstr "Renomear"
-#: editor_markers.cc:1387
+#: editor_markers.cc:1401
msgid "rename marker"
msgstr "remover marcador"
-#: editor_markers.cc:1411
+#: editor_markers.cc:1425
msgid "set loop range"
msgstr "estabelcer intervalo cíclico"
-#: editor_markers.cc:1417
+#: editor_markers.cc:1431
msgid "set punch range"
msgstr "estabelecer intervalo de inserção"
@@ -4538,185 +4639,194 @@ msgstr "estabelecer intervalo de inserção"
msgid "This screen is not tall enough to display the editor mixer"
msgstr ""
-#: editor_mouse.cc:172
-msgid "Editor::event_frame() used on unhandled event type %1"
+#: editor_mouse.cc:1384 editor_mouse.cc:1402 editor_tempodisplay.cc:273
+msgid ""
+"programming error: tempo marker canvas item has no marker object pointer!"
+msgstr ""
+
+#: editor_mouse.cc:1389 editor_tempodisplay.cc:278
+msgid "programming error: marker for tempo is not a tempo marker!"
+msgstr ""
+
+#: editor_mouse.cc:1407 editor_tempodisplay.cc:382
+msgid "programming error: marker for meter is not a meter marker!"
msgstr ""
-#: editor_mouse.cc:2285 editor_mouse.cc:2310 editor_mouse.cc:2323
+#: editor_mouse.cc:2047 editor_mouse.cc:2072 editor_mouse.cc:2085
msgid ""
"programming error: control point canvas item has no control point object "
"pointer!"
msgstr ""
-#: editor_mouse.cc:2466
+#: editor_mouse.cc:2228
msgid "start point trim"
msgstr ""
-#: editor_mouse.cc:2491
+#: editor_mouse.cc:2253
msgid "End point trim"
msgstr "Ponto final de corte"
-#: editor_mouse.cc:2558
+#: editor_mouse.cc:2317
msgid "Name for region:"
msgstr "Nome para a região:"
-#: editor_ops.cc:140
+#: editor_ops.cc:147
msgid "split"
msgstr "separar"
-#: editor_ops.cc:256
+#: editor_ops.cc:291
msgid "alter selection"
msgstr ""
-#: editor_ops.cc:298
+#: editor_ops.cc:333
msgid "nudge regions forward"
msgstr ""
-#: editor_ops.cc:321 editor_ops.cc:406
+#: editor_ops.cc:356 editor_ops.cc:441
msgid "nudge location forward"
msgstr ""
-#: editor_ops.cc:379
+#: editor_ops.cc:414
msgid "nudge regions backward"
msgstr ""
-#: editor_ops.cc:468
+#: editor_ops.cc:503
msgid "nudge forward"
msgstr "retocar p/frente"
-#: editor_ops.cc:492
+#: editor_ops.cc:527
msgid "nudge backward"
msgstr ""
-#: editor_ops.cc:557
+#: editor_ops.cc:570
+msgid "sequence regions"
+msgstr ""
+
+#: editor_ops.cc:646
msgid "build_region_boundary_cache called with snap_type = %1"
msgstr ""
-#: editor_ops.cc:1701
+#: editor_ops.cc:1872
msgid "New Location Marker"
msgstr ""
-#: editor_ops.cc:1788
+#: editor_ops.cc:1988
msgid "add markers"
msgstr ""
-#: editor_ops.cc:1894
+#: editor_ops.cc:2094
msgid "clear markers"
msgstr "apagar marcadores"
-#: editor_ops.cc:1907
+#: editor_ops.cc:2107
msgid "clear ranges"
msgstr "apagar intervalos"
-#: editor_ops.cc:1929
+#: editor_ops.cc:2129
msgid "clear locations"
msgstr "apagar localizações"
-#: editor_ops.cc:2000
-msgid "insert dragged region"
-msgstr "inserir região arrastada"
-
-#: editor_ops.cc:2078
+#: editor_ops.cc:2191
msgid "insert region"
msgstr "inserir região"
-#: editor_ops.cc:2261
+#: editor_ops.cc:2377
msgid "raise regions"
msgstr ""
-#: editor_ops.cc:2263
+#: editor_ops.cc:2379
msgid "raise region"
msgstr ""
-#: editor_ops.cc:2269
+#: editor_ops.cc:2385
msgid "raise regions to top"
msgstr ""
-#: editor_ops.cc:2271
+#: editor_ops.cc:2387
msgid "raise region to top"
msgstr ""
-#: editor_ops.cc:2277
+#: editor_ops.cc:2393
msgid "lower regions"
msgstr ""
-#: editor_ops.cc:2279 editor_ops.cc:2287
+#: editor_ops.cc:2395 editor_ops.cc:2403
msgid "lower region"
msgstr ""
-#: editor_ops.cc:2285
+#: editor_ops.cc:2401
msgid "lower regions to bottom"
msgstr ""
-#: editor_ops.cc:2370
+#: editor_ops.cc:2486
msgid "Rename Region"
msgstr ""
-#: editor_ops.cc:2372 processor_box.cc:1806 route_ui.cc:1538
+#: editor_ops.cc:2488 processor_box.cc:2036 route_ui.cc:1620
msgid "New name:"
msgstr ""
-#: editor_ops.cc:2682
+#: editor_ops.cc:2798
msgid "separate"
msgstr "separar"
-#: editor_ops.cc:2795
+#: editor_ops.cc:2910
msgid "separate region under"
msgstr ""
-#: editor_ops.cc:2916
+#: editor_ops.cc:3031
msgid "trim to selection"
msgstr "cortar pela selecção"
-#: editor_ops.cc:3052
+#: editor_ops.cc:3167
msgid "set sync point"
msgstr ""
-#: editor_ops.cc:3076
+#: editor_ops.cc:3191
msgid "remove region sync"
msgstr ""
-#: editor_ops.cc:3098
+#: editor_ops.cc:3213
msgid "move regions to original position"
msgstr ""
-#: editor_ops.cc:3100
+#: editor_ops.cc:3215
msgid "move region to original position"
msgstr ""
-#: editor_ops.cc:3121
+#: editor_ops.cc:3236
msgid "align selection"
msgstr "alinhar selecção"
-#: editor_ops.cc:3195
+#: editor_ops.cc:3310
msgid "align selection (relative)"
msgstr "alinhar selecção (relativamente)"
-#: editor_ops.cc:3229
+#: editor_ops.cc:3344
msgid "align region"
msgstr "alinhar região"
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim front"
msgstr ""
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim back"
msgstr ""
-#: editor_ops.cc:3310
+#: editor_ops.cc:3425
msgid "trim to loop"
msgstr ""
-#: editor_ops.cc:3320
+#: editor_ops.cc:3435
msgid "trim to punch"
msgstr ""
-#: editor_ops.cc:3382
+#: editor_ops.cc:3497
msgid "trim to region"
msgstr ""
-#: editor_ops.cc:3492
+#: editor_ops.cc:3605
msgid ""
"This track/bus cannot be frozen because the signal adds or loses channels "
"before reaching the outputs.\n"
@@ -4724,11 +4834,11 @@ msgid ""
"input or vice versa."
msgstr ""
-#: editor_ops.cc:3495
+#: editor_ops.cc:3608
msgid "Cannot freeze"
msgstr ""
-#: editor_ops.cc:3501
+#: editor_ops.cc:3614
msgid ""
"<b>%1</b>\n"
"\n"
@@ -4737,23 +4847,23 @@ msgid ""
"Freezing will only process the signal as far as the first send/insert/return."
msgstr ""
-#: editor_ops.cc:3505
+#: editor_ops.cc:3618
msgid "Freeze anyway"
msgstr ""
-#: editor_ops.cc:3506
+#: editor_ops.cc:3619
msgid "Don't freeze"
msgstr ""
-#: editor_ops.cc:3507
+#: editor_ops.cc:3620
msgid "Freeze Limits"
msgstr ""
-#: editor_ops.cc:3522
+#: editor_ops.cc:3635
msgid "Cancel Freeze"
msgstr "Cancelar congelamento"
-#: editor_ops.cc:3553
+#: editor_ops.cc:3666
msgid ""
"You can't perform this operation because the processing of the signal will "
"cause one or more of the tracks to end up with a region with more channels "
@@ -4762,51 +4872,63 @@ msgid ""
"You can do this without processing, which is a different operation."
msgstr ""
-#: editor_ops.cc:3557
+#: editor_ops.cc:3670
msgid "Cannot bounce"
msgstr ""
-#: editor_ops.cc:3568
+#: editor_ops.cc:3681
msgid "bounce range"
msgstr "regravar região"
-#: editor_ops.cc:3678
+#: editor_ops.cc:3783
msgid "delete"
msgstr ""
-#: editor_ops.cc:3681
+#: editor_ops.cc:3786
msgid "cut"
msgstr "corte"
-#: editor_ops.cc:3684
+#: editor_ops.cc:3789
msgid "copy"
msgstr "cópia"
-#: editor_ops.cc:3687
+#: editor_ops.cc:3792
msgid "clear"
msgstr "apagar"
-#: editor_ops.cc:3785
-msgid " objects"
-msgstr " objectos"
+#: editor_ops.cc:3845
+msgid " points"
+msgstr ""
+
+#: editor_ops.cc:3856
+msgid "points"
+msgstr ""
+
+#: editor_ops.cc:3858
+msgid "regions"
+msgstr ""
+
+#: editor_ops.cc:3860
+msgid "objects"
+msgstr ""
-#: editor_ops.cc:3815
+#: editor_ops.cc:3890
msgid " range"
msgstr " intervalo"
-#: editor_ops.cc:3957 editor_ops.cc:3984
+#: editor_ops.cc:4059
msgid "remove region"
msgstr "remover região"
-#: editor_ops.cc:4391
+#: editor_ops.cc:4475
msgid "duplicate selection"
msgstr "duplicar selecção"
-#: editor_ops.cc:4469
+#: editor_ops.cc:4553
msgid "nudge track"
msgstr "retocar faixa"
-#: editor_ops.cc:4506
+#: editor_ops.cc:4590
msgid ""
"Do you really want to destroy the last capture?\n"
"(This is destructive and cannot be undone)"
@@ -4814,132 +4936,140 @@ msgstr ""
"Deseja realmente eliminar a última captura?\n"
"(esta operação é destrutiva e não pode ser desfeita)"
-#: editor_ops.cc:4509 editor_ops.cc:6512 editor_regions.cc:460
-#: editor_snapshots.cc:158 route_ui.cc:1482
+#: editor_ops.cc:4593 editor_ops.cc:6594 editor_regions.cc:461
+#: editor_snapshots.cc:159 route_ui.cc:1563
msgid "No, do nothing."
msgstr "Não, não fazer nada."
-#: editor_ops.cc:4510
+#: editor_ops.cc:4594
msgid "Yes, destroy it."
msgstr "Sim, elimine-a."
-#: editor_ops.cc:4512
+#: editor_ops.cc:4596
msgid "Destroy last capture"
msgstr ""
-#: editor_ops.cc:4573
+#: editor_ops.cc:4657
msgid "normalize"
msgstr "normalizar"
-#: editor_ops.cc:4668
+#: editor_ops.cc:4752
msgid "reverse regions"
msgstr "inverter regiões"
-#: editor_ops.cc:4702
+#: editor_ops.cc:4786
msgid "strip silence"
msgstr ""
-#: editor_ops.cc:4763
+#: editor_ops.cc:4847
msgid "Fork Region(s)"
msgstr ""
-#: editor_ops.cc:4963
+#: editor_ops.cc:4868
+msgid "Could not unlink %1"
+msgstr ""
+
+#: editor_ops.cc:5052
msgid "reset region gain"
msgstr ""
-#: editor_ops.cc:5016
+#: editor_ops.cc:5105
msgid "region gain envelope active"
msgstr ""
-#: editor_ops.cc:5043
+#: editor_ops.cc:5132
msgid "toggle region lock"
msgstr ""
-#: editor_ops.cc:5067
+#: editor_ops.cc:5156
msgid "Toggle Video Lock"
msgstr ""
-#: editor_ops.cc:5091
+#: editor_ops.cc:5180
msgid "region lock style"
msgstr ""
-#: editor_ops.cc:5116
+#: editor_ops.cc:5205
msgid "change region opacity"
msgstr ""
-#: editor_ops.cc:5231
+#: editor_ops.cc:5298
+msgid "fade range"
+msgstr ""
+
+#: editor_ops.cc:5336
msgid "set fade in length"
msgstr ""
-#: editor_ops.cc:5238
+#: editor_ops.cc:5343
msgid "set fade out length"
msgstr ""
-#: editor_ops.cc:5283
+#: editor_ops.cc:5388
msgid "set fade in shape"
msgstr ""
-#: editor_ops.cc:5314
+#: editor_ops.cc:5419
msgid "set fade out shape"
msgstr ""
-#: editor_ops.cc:5344
+#: editor_ops.cc:5449
msgid "set fade in active"
msgstr ""
-#: editor_ops.cc:5373
+#: editor_ops.cc:5478
msgid "set fade out active"
msgstr ""
-#: editor_ops.cc:5638
+#: editor_ops.cc:5713
msgid "set loop range from selection"
msgstr ""
-#: editor_ops.cc:5660
+#: editor_ops.cc:5735
msgid "set loop range from edit range"
msgstr ""
-#: editor_ops.cc:5689
+#: editor_ops.cc:5764
msgid "set loop range from region"
msgstr ""
-#: editor_ops.cc:5707
+#: editor_ops.cc:5782
msgid "set punch range from selection"
msgstr ""
-#: editor_ops.cc:5724
+#: editor_ops.cc:5799
msgid "set punch range from edit range"
msgstr ""
-#: editor_ops.cc:5748
+#: editor_ops.cc:5823
msgid "set punch range from region"
msgstr ""
-#: editor_ops.cc:5857
+#: editor_ops.cc:5932
msgid "Add new marker"
msgstr ""
-#: editor_ops.cc:5858
+#: editor_ops.cc:5933
msgid "Set global tempo"
msgstr ""
-#: editor_ops.cc:5861
+#: editor_ops.cc:5936
msgid "Define one bar"
msgstr ""
-#: editor_ops.cc:5862
+#: editor_ops.cc:5937
msgid "Do you want to set the global tempo or add a new tempo marker?"
msgstr ""
-#: editor_ops.cc:5888
+#: editor_ops.cc:5963
msgid "set tempo from region"
msgstr ""
-#: editor_ops.cc:5918
+#: editor_ops.cc:5993
msgid "split regions"
msgstr ""
-#: editor_ops.cc:5960
+#: editor_ops.cc:6035
msgid ""
"You are about to split\n"
"%1\n"
@@ -4947,62 +5077,62 @@ msgid ""
"This could take a long time."
msgstr ""
-#: editor_ops.cc:5967
+#: editor_ops.cc:6042
msgid "Call for the Ferret!"
msgstr ""
-#: editor_ops.cc:5968
+#: editor_ops.cc:6043
msgid ""
"Press OK to continue with this split operation\n"
"or ask the Ferret dialog to tune the analysis"
msgstr ""
-#: editor_ops.cc:5970
+#: editor_ops.cc:6045
msgid "Press OK to continue with this split operation"
msgstr ""
-#: editor_ops.cc:5973
+#: editor_ops.cc:6048
msgid "Excessive split?"
msgstr ""
-#: editor_ops.cc:6125
+#: editor_ops.cc:6200
msgid "place transient"
msgstr ""
-#: editor_ops.cc:6160
+#: editor_ops.cc:6235
msgid "snap regions to grid"
msgstr ""
-#: editor_ops.cc:6199
+#: editor_ops.cc:6274
msgid "Close Region Gaps"
msgstr ""
-#: editor_ops.cc:6204
+#: editor_ops.cc:6279
msgid "Crossfade length"
msgstr ""
-#: editor_ops.cc:6213 editor_ops.cc:6224 rhythm_ferret.cc:120
-#: session_option_editor.cc:153
+#: editor_ops.cc:6288 editor_ops.cc:6299 rhythm_ferret.cc:119
+#: session_option_editor.cc:141
msgid "ms"
msgstr ""
-#: editor_ops.cc:6215
+#: editor_ops.cc:6290
msgid "Pull-back length"
msgstr ""
-#: editor_ops.cc:6228
+#: editor_ops.cc:6303
msgid "Ok"
msgstr ""
-#: editor_ops.cc:6243
+#: editor_ops.cc:6318
msgid "close region gaps"
msgstr ""
-#: editor_ops.cc:6461 route_ui.cc:1456
+#: editor_ops.cc:6543 route_ui.cc:1537
msgid "That would be bad news ...."
msgstr ""
-#: editor_ops.cc:6466 route_ui.cc:1461
+#: editor_ops.cc:6548 route_ui.cc:1542
msgid ""
"Removing the master or monitor bus is such a bad idea\n"
"that %1 is not going to allow it.\n"
@@ -5012,23 +5142,23 @@ msgid ""
"\"allow-special-bus-removal\" option to be \"yes\""
msgstr ""
-#: editor_ops.cc:6483
+#: editor_ops.cc:6565
msgid "tracks"
msgstr ""
-#: editor_ops.cc:6485 route_ui.cc:1821
+#: editor_ops.cc:6567 route_ui.cc:1978
msgid "track"
msgstr ""
-#: editor_ops.cc:6489
+#: editor_ops.cc:6571
msgid "busses"
msgstr ""
-#: editor_ops.cc:6491 route_ui.cc:1821
+#: editor_ops.cc:6573 route_ui.cc:1978
msgid "bus"
msgstr ""
-#: editor_ops.cc:6496
+#: editor_ops.cc:6578
msgid ""
"Do you really want to remove %1 %2 and %3 %4?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5036,7 +5166,7 @@ msgid ""
"This action cannot be undone, and the session file will be overwritten!"
msgstr ""
-#: editor_ops.cc:6501
+#: editor_ops.cc:6583
msgid ""
"Do you really want to remove %1 %2?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5044,408 +5174,402 @@ msgid ""
"This action cannot be undone, and the session file will be overwritten!"
msgstr ""
-#: editor_ops.cc:6507
+#: editor_ops.cc:6589
msgid ""
"Do you really want to remove %1 %2?\n"
"\n"
"This action cannot be undon, and the session file will be overwritten"
msgstr ""
-#: editor_ops.cc:6514
+#: editor_ops.cc:6596
msgid "Yes, remove them."
msgstr ""
-#: editor_ops.cc:6516 editor_snapshots.cc:159 route_ui.cc:1483
+#: editor_ops.cc:6598 editor_snapshots.cc:160 route_ui.cc:1564
msgid "Yes, remove it."
msgstr "Sim, remover."
-#: editor_ops.cc:6521 editor_ops.cc:6523
+#: editor_ops.cc:6603 editor_ops.cc:6605
msgid "Remove %1"
msgstr ""
-#: editor_ops.cc:6582
+#: editor_ops.cc:6668
msgid "insert time"
msgstr ""
-#: editor_ops.cc:6739
+#: editor_ops.cc:6832
msgid "There are too many tracks to fit in the current window"
msgstr ""
-#: editor_ops.cc:6839
+#: editor_ops.cc:6893
+msgid "Sel"
+msgstr ""
+
+#: editor_ops.cc:6932
#, c-format
msgid "Saved view %u"
msgstr ""
-#: editor_ops.cc:6864
+#: editor_ops.cc:6957
msgid "mute regions"
msgstr ""
-#: editor_ops.cc:6866
+#: editor_ops.cc:6959
msgid "mute region"
msgstr "emudecer região"
-#: editor_ops.cc:6903
+#: editor_ops.cc:6996
msgid "combine regions"
msgstr ""
-#: editor_ops.cc:6941
+#: editor_ops.cc:7034
msgid "uncombine regions"
msgstr ""
-#: editor_regions.cc:111
-msgid "Region name, with number of channels in []'s"
+#: editor_ops.cc:7071
+msgid "%1: Locked"
+msgstr ""
+
+#: editor_ops.cc:7078
+msgid "Click to unlock"
+msgstr ""
+
+#: editor_ops.cc:7132
+msgid "Moving embedded files into session folder"
msgstr ""
#: editor_regions.cc:112
+msgid "Region name, with number of channels in []'s"
+msgstr ""
+
+#: editor_regions.cc:113
msgid "Position of start of region"
msgstr ""
-#: editor_regions.cc:113 editor_regions.cc:849 time_info_box.cc:98
+#: editor_regions.cc:114 editor_regions.cc:850 time_info_box.cc:101
msgid "End"
msgstr ""
-#: editor_regions.cc:113
+#: editor_regions.cc:114
msgid "Position of end of region"
msgstr ""
-#: editor_regions.cc:114
+#: editor_regions.cc:115
msgid "Length of the region"
msgstr ""
-#: editor_regions.cc:115
+#: editor_regions.cc:116
msgid "Position of region sync point, relative to start of the region"
msgstr ""
-#: editor_regions.cc:116
+#: editor_regions.cc:117
msgid "Length of region fade-in (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:117
-msgid "Length of region fade-out (units: secondary clock), () if dsisabled"
+#: editor_regions.cc:118
+msgid "Length of region fade-out (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:118 mixer_strip.cc:1954 mono_panner.cc:179
-#: stereo_panner.cc:217 stereo_panner.cc:240
+#: editor_regions.cc:119 mixer_strip.cc:2010 mono_panner.cc:204
+#: panner2d.cc:237 stereo_panner.cc:248 stereo_panner.cc:271
msgid "L"
msgstr ""
-#: editor_regions.cc:118
+#: editor_regions.cc:119
msgid "Region position locked?"
msgstr ""
-#: editor_regions.cc:119
+#: editor_regions.cc:120 route_time_axis.cc:99
msgid "G"
msgstr ""
-#: editor_regions.cc:119
+#: editor_regions.cc:120
msgid "Region position glued to Bars|Beats time?"
msgstr ""
-#: editor_regions.cc:120 editor_routes.cc:207 gain_meter.cc:762
-#: mixer_strip.cc:1931 meter_strip.cc:320 panner_ui.cc:553
-#: stereo_panner.cc:237
+#: editor_regions.cc:121 editor_routes.cc:209 gain_meter.cc:768
+#: mixer_strip.cc:1987 meter_strip.cc:359 panner_ui.cc:602
+#: route_time_axis.cc:2568 stereo_panner.cc:268 time_axis_view.cc:1156
msgid "M"
msgstr ""
-#: editor_regions.cc:120
+#: editor_regions.cc:121
msgid "Region muted?"
msgstr ""
-#: editor_regions.cc:121
+#: editor_regions.cc:122 mixer_strip.cc:1810
msgid "O"
msgstr ""
-#: editor_regions.cc:121
+#: editor_regions.cc:122
msgid "Region opaque (blocks regions below it from being heard)?"
msgstr ""
-#: editor_regions.cc:310 editor_regions.cc:315 editor_regions.cc:317
+#: editor_regions.cc:311 editor_regions.cc:316 editor_regions.cc:318
msgid "Hidden"
msgstr "Escondida"
-#: editor_regions.cc:389
+#: editor_regions.cc:390
msgid "(MISSING) "
msgstr ""
-#: editor_regions.cc:457
+#: editor_regions.cc:458
msgid ""
"Do you really want to remove unused regions?\n"
"(This is destructive and cannot be undone)"
msgstr ""
-#: editor_regions.cc:461
+#: editor_regions.cc:462
msgid "Yes, remove."
msgstr ""
-#: editor_regions.cc:463
+#: editor_regions.cc:464
msgid "Remove unused regions"
msgstr ""
-#: editor_regions.cc:816 editor_regions.cc:830 editor_regions.cc:844
+#: editor_regions.cc:817 editor_regions.cc:831 editor_regions.cc:845
msgid "Mult."
msgstr ""
-#: editor_regions.cc:847 midi_list_editor.cc:103 time_info_box.cc:91
+#: editor_regions.cc:848 midi_list_editor.cc:103 time_info_box.cc:94
msgid "Start"
msgstr ""
-#: editor_regions.cc:865 editor_regions.cc:881
+#: editor_regions.cc:866 editor_regions.cc:882
msgid "Multiple"
msgstr ""
-#: editor_regions.cc:950
+#: editor_regions.cc:951
msgid "MISSING "
msgstr ""
-#: editor_routes.cc:178 editor_routes.cc:210
+#: editor_routes.cc:180 editor_routes.cc:212
msgid "SS"
msgstr ""
-#: editor_routes.cc:202
+#: editor_routes.cc:204
msgid "Track/Bus Name"
msgstr ""
-#: editor_routes.cc:203
+#: editor_routes.cc:205
msgid "Track/Bus visible ?"
msgstr ""
-#: editor_routes.cc:204 mixer_strip.cc:1945 meter_strip.cc:334
-#: route_time_axis.cc:2407
+#: editor_routes.cc:206 mixer_strip.cc:2001 meter_strip.cc:371
+#: route_time_axis.cc:101 route_time_axis.cc:2556
msgid "A"
msgstr ""
-#: editor_routes.cc:204
+#: editor_routes.cc:206
msgid "Track/Bus active ?"
msgstr ""
-#: editor_routes.cc:205 mixer_strip.cc:1932
+#: editor_routes.cc:207 mixer_strip.cc:1988 mixer_strip.cc:2009
+#: meter_strip.cc:379
msgid "I"
msgstr "E"
-#: editor_routes.cc:205
+#: editor_routes.cc:207
msgid "MIDI input enabled"
msgstr ""
-#: editor_routes.cc:206 mixer_strip.cc:1930 mono_panner.cc:198
-#: stereo_panner.cc:215 stereo_panner.cc:242
+#: editor_routes.cc:208 mono_panner.cc:221 panner2d.cc:238
+#: stereo_panner.cc:246 stereo_panner.cc:273
msgid "R"
msgstr ""
-#: editor_routes.cc:206
+#: editor_routes.cc:208
msgid "Record enabled"
msgstr ""
-#: editor_routes.cc:207
+#: editor_routes.cc:209
msgid "Muted"
msgstr ""
-#: editor_routes.cc:208 mixer_strip.cc:1941 meter_strip.cc:330
+#: editor_routes.cc:210 mixer_strip.cc:1997 meter_strip.cc:367
+#: route_time_axis.cc:2565
msgid "S"
msgstr ""
-#: editor_routes.cc:208
+#: editor_routes.cc:210
msgid "Soloed"
msgstr ""
-#: editor_routes.cc:209
+#: editor_routes.cc:211
msgid "SI"
msgstr ""
-#: editor_routes.cc:209 mixer_strip.cc:353 rc_option_editor.cc:1867
+#: editor_routes.cc:211
msgid "Solo Isolated"
msgstr ""
-#: editor_routes.cc:210
+#: editor_routes.cc:212
msgid "Solo Safe (Locked)"
msgstr ""
-#: editor_routes.cc:471 mixer_ui.cc:1162
+#: editor_routes.cc:474 mixer_ui.cc:1182
msgid "Hide All"
msgstr "Esconder tudo"
-#: editor_routes.cc:472 mixer_ui.cc:1163
+#: editor_routes.cc:475 mixer_ui.cc:1183
msgid "Show All Audio Tracks"
msgstr "Mostrar todos as faixas audio"
-#: editor_routes.cc:473 mixer_ui.cc:1164
+#: editor_routes.cc:476 mixer_ui.cc:1184
msgid "Hide All Audio Tracks"
msgstr "Esconder todos as faixas audio"
-#: editor_routes.cc:474 mixer_ui.cc:1165
+#: editor_routes.cc:477 mixer_ui.cc:1185
msgid "Show All Audio Busses"
msgstr "Mostrar todos os barramentos audio"
-#: editor_routes.cc:475 mixer_ui.cc:1166
+#: editor_routes.cc:478 mixer_ui.cc:1186
msgid "Hide All Audio Busses"
msgstr "Esconder todos os barramentos audio"
-#: editor_routes.cc:476
+#: editor_routes.cc:479
msgid "Show All Midi Tracks"
msgstr ""
-#: editor_routes.cc:477
+#: editor_routes.cc:480
msgid "Hide All Midi Tracks"
msgstr ""
-#: editor_routes.cc:478
+#: editor_routes.cc:481
msgid "Show Tracks With Regions Under Playhead"
msgstr ""
-#: editor_rulers.cc:340
+#: editor_rulers.cc:216
msgid "New location marker"
msgstr "Novo marcador de localização"
-#: editor_rulers.cc:341
+#: editor_rulers.cc:217
msgid "Clear all locations"
msgstr "Apagar todas as localizações"
-#: editor_rulers.cc:342
+#: editor_rulers.cc:218
msgid "Unhide locations"
msgstr ""
-#: editor_rulers.cc:346
+#: editor_rulers.cc:222
msgid "New range"
msgstr ""
-#: editor_rulers.cc:347
+#: editor_rulers.cc:223
msgid "Clear all ranges"
msgstr "Apagar todos os intervalos"
-#: editor_rulers.cc:348
+#: editor_rulers.cc:224
msgid "Unhide ranges"
msgstr ""
-#: editor_rulers.cc:358
+#: editor_rulers.cc:234
msgid "New CD track marker"
msgstr ""
-#: editor_rulers.cc:363 tempo_dialog.cc:40
+#: editor_rulers.cc:239 tempo_dialog.cc:39
msgid "New Tempo"
msgstr "Novo tempo"
-#: editor_rulers.cc:368 tempo_dialog.cc:255
+#: editor_rulers.cc:243 tempo_dialog.cc:289
msgid "New Meter"
msgstr "Novo VUímetro"
-#: editor_rulers.cc:373
+#: editor_rulers.cc:247
msgid "Timeline height"
msgstr ""
-#: editor_rulers.cc:383
+#: editor_rulers.cc:257
msgid "Align Video Track"
msgstr ""
-#: editor_selection.cc:889 editor_selection.cc:932
+#: editor_selection.cc:895 editor_selection.cc:938
msgid "set selected regions"
msgstr "seleccionar regiões"
-#: editor_selection.cc:1414
+#: editor_selection.cc:1417
msgid "select all"
msgstr "seleccionar tudo"
-#: editor_selection.cc:1506
+#: editor_selection.cc:1511
msgid "select all within"
msgstr "seleccionar tudo entre"
-#: editor_selection.cc:1564
+#: editor_selection.cc:1569
msgid "set selection from range"
msgstr "estabelecer selecção desde o intervalo"
-#: editor_selection.cc:1604
+#: editor_selection.cc:1609
msgid "select all from range"
msgstr "seleccionar tudo desde o intervalo"
-#: editor_selection.cc:1635
+#: editor_selection.cc:1640
msgid "select all from punch"
msgstr "seleccionar tudo desde a inserção"
-#: editor_selection.cc:1666
+#: editor_selection.cc:1671
msgid "select all from loop"
msgstr "seleccionar tudo desde o ciclo"
-#: editor_selection.cc:1702
+#: editor_selection.cc:1707
msgid "select all after cursor"
msgstr "seleccionar tudo após o cursor"
-#: editor_selection.cc:1704
+#: editor_selection.cc:1709
msgid "select all before cursor"
msgstr "seleccionar tudo anterior ao cursor"
-#: editor_selection.cc:1753
+#: editor_selection.cc:1758
msgid "select all after edit"
msgstr ""
-#: editor_selection.cc:1755
+#: editor_selection.cc:1760
msgid "select all before edit"
msgstr ""
-#: editor_selection.cc:1888
-msgid "No edit range defined"
-msgstr ""
-
-#: editor_selection.cc:1894
-msgid ""
-"the edit point is Selected Marker\n"
-"but there is no selected marker."
-msgstr ""
-
-#: editor_snapshots.cc:136
+#: editor_snapshots.cc:137
msgid "Rename Snapshot"
msgstr ""
-#: editor_snapshots.cc:138
+#: editor_snapshots.cc:139
msgid "New name of snapshot"
msgstr ""
-#: editor_snapshots.cc:156
+#: editor_snapshots.cc:157
msgid ""
"Do you really want to remove snapshot \"%1\" ?\n"
"(which cannot be undone)"
msgstr ""
-#: editor_snapshots.cc:161
+#: editor_snapshots.cc:162
msgid "Remove snapshot"
msgstr ""
-#: editor_tempodisplay.cc:208 editor_tempodisplay.cc:250
+#: editor_tempodisplay.cc:193 editor_tempodisplay.cc:235
msgid "add"
msgstr "acrescentar"
-#: editor_tempodisplay.cc:231
+#: editor_tempodisplay.cc:216
msgid "add tempo mark"
msgstr "acrescentar marcador de tempo"
-#: editor_tempodisplay.cc:272
+#: editor_tempodisplay.cc:257
msgid "add meter mark"
msgstr "acrescentar marcador métrico"
-#: editor_tempodisplay.cc:288 editor_tempodisplay.cc:367
-#: editor_tempodisplay.cc:386
-msgid ""
-"programming error: tempo marker canvas item has no marker object pointer!"
-msgstr ""
-
-#: editor_tempodisplay.cc:293 editor_tempodisplay.cc:372
-msgid "programming error: marker for tempo is not a tempo marker!"
-msgstr ""
-
-#: editor_tempodisplay.cc:305 editor_tempodisplay.cc:335
+#: editor_tempodisplay.cc:290 editor_tempodisplay.cc:320
msgid "done"
msgstr "pronto"
-#: editor_tempodisplay.cc:324 editor_tempodisplay.cc:352
+#: editor_tempodisplay.cc:309 editor_tempodisplay.cc:337
msgid "replace tempo mark"
msgstr "substituir marcador de tempo"
-#: editor_tempodisplay.cc:391 editor_tempodisplay.cc:423
-msgid "programming error: marker for meter is not a meter marker!"
-msgstr ""
-
-#: editor_tempodisplay.cc:401 editor_tempodisplay.cc:435
+#: editor_tempodisplay.cc:360 editor_tempodisplay.cc:394
msgid "remove tempo mark"
msgstr "remover marcador de tempo"
-#: editor_tempodisplay.cc:418
+#: editor_tempodisplay.cc:377
msgid ""
"programming error: meter marker canvas item has no marker object pointer!"
msgstr ""
@@ -5462,220 +5586,264 @@ msgstr ""
msgid "timefx cannot be started - thread creation error"
msgstr ""
-#: engine_dialog.cc:79
+#: engine_dialog.cc:81
msgid "Device Control Panel"
msgstr ""
-#: engine_dialog.cc:80 engine_dialog.cc:1725
+#: engine_dialog.cc:82
+msgid "Midi Device Setup"
+msgstr ""
+
+#: engine_dialog.cc:83 engine_dialog.cc:1999
msgid "Measure"
msgstr ""
-#: engine_dialog.cc:81
+#: engine_dialog.cc:84
msgid "Use results"
msgstr ""
-#: engine_dialog.cc:82
+#: engine_dialog.cc:85
msgid "Back to settings ... (ignore results)"
msgstr ""
-#: engine_dialog.cc:83
-msgid "Calibrate..."
+#: engine_dialog.cc:86
+msgid "Calibrate Audio"
msgstr ""
-#: engine_dialog.cc:87
-msgid "Refresh list"
+#: engine_dialog.cc:90
+msgid "Back to settings"
msgstr ""
-#: engine_dialog.cc:107
+#: engine_dialog.cc:108
msgid ""
"No audio/MIDI backends detected. %1 cannot run\n"
"\n"
"(This is a build/packaging/system error. It should never happen.)"
msgstr ""
-#: engine_dialog.cc:136
+#: engine_dialog.cc:135
msgid "Latency Measurement Tool"
msgstr ""
-#: engine_dialog.cc:151
+#: engine_dialog.cc:147 engine_dialog.cc:561
msgid ""
"<span weight=\"bold\">Turn down the volume on your audio equipment to a very "
"low level.</span>"
msgstr ""
-#: engine_dialog.cc:159
+#: engine_dialog.cc:156
msgid "Select two channels below and connect them using a cable."
msgstr ""
-#: engine_dialog.cc:164
+#: engine_dialog.cc:161
msgid "Output channel"
msgstr ""
-#: engine_dialog.cc:172
+#: engine_dialog.cc:169
msgid "Input channel"
msgstr ""
-#: engine_dialog.cc:207
+#: engine_dialog.cc:204
msgid "Once the channels are connected, click the \"Measure\" button."
msgstr ""
-#: engine_dialog.cc:214
+#: engine_dialog.cc:211
msgid "When satisfied with the results, click the \"Use results\" button."
msgstr ""
-#: engine_dialog.cc:229 engine_dialog.cc:1727
+#: engine_dialog.cc:226 engine_dialog.cc:2107 engine_dialog.cc:2117
msgid "No measurement results yet"
msgstr ""
-#: engine_dialog.cc:238 route_params_ui.cc:105
+#: engine_dialog.cc:236 route_params_ui.cc:105
msgid "Latency"
msgstr "Latência"
-#: engine_dialog.cc:333
+#: engine_dialog.cc:351
msgid "Audio System:"
msgstr ""
-#: engine_dialog.cc:374
+#: engine_dialog.cc:394
msgid "Driver:"
msgstr ""
-#: engine_dialog.cc:380
+#: engine_dialog.cc:400
msgid "Device:"
msgstr ""
-#: engine_dialog.cc:385 engine_dialog.cc:475 sfdb_ui.cc:147 sfdb_ui.cc:260
-#: sfdb_ui.cc:265
+#: engine_dialog.cc:405 engine_dialog.cc:496 sfdb_ui.cc:151 sfdb_ui.cc:341
+#: sfdb_ui.cc:346
msgid "Sample rate:"
msgstr ""
-#: engine_dialog.cc:391 engine_dialog.cc:482
+#: engine_dialog.cc:411 engine_dialog.cc:503
msgid "Buffer size:"
msgstr ""
-#: engine_dialog.cc:404
+#: engine_dialog.cc:424
msgid "Input Channels:"
msgstr ""
-#: engine_dialog.cc:415
+#: engine_dialog.cc:435
msgid "Output Channels:"
msgstr ""
-#: engine_dialog.cc:426
+#: engine_dialog.cc:446
msgid "Hardware input latency:"
msgstr ""
-#: engine_dialog.cc:429 engine_dialog.cc:442
+#: engine_dialog.cc:449 engine_dialog.cc:462
msgid "samples"
msgstr ""
-#: engine_dialog.cc:439
+#: engine_dialog.cc:459
msgid "Hardware output latency:"
msgstr ""
-#: engine_dialog.cc:450
+#: engine_dialog.cc:470
msgid "MIDI System"
msgstr ""
-#: engine_dialog.cc:467
+#: engine_dialog.cc:488
msgid ""
"The %1 audio backend was configured and started externally.\n"
"This limits your control over it."
msgstr ""
-#: engine_dialog.cc:521
+#: engine_dialog.cc:543
+msgid ""
+"Failed to start or connect to audio-engine.\n"
+"\n"
+"Latency calibration requires a working audio interface."
+msgstr ""
+
+#: engine_dialog.cc:549
msgid ""
"Your selected audio configuration is playback- or capture-only.\n"
"\n"
"Latency calibration requires playback and capture"
msgstr ""
-#: engine_dialog.cc:595
-msgid "MIDI Inputs"
+#: engine_dialog.cc:630
+msgid "MIDI Devices"
+msgstr ""
+
+#: engine_dialog.cc:636
+msgid "Device"
msgstr ""
-#: engine_dialog.cc:612
-msgid "MIDI Outputs"
+#: engine_dialog.cc:638
+msgid "Hardware Latencies"
msgstr ""
-#: engine_dialog.cc:696
+#: engine_dialog.cc:679
+msgid "Calibrate"
+msgstr ""
+
+#: engine_dialog.cc:761
msgid "all available channels"
msgstr ""
-#: engine_dialog.cc:890
+#: engine_dialog.cc:954
#, c-format
msgid "%u samples"
msgstr ""
-#: engine_dialog.cc:941
+#: engine_dialog.cc:1001
#, c-format
msgid "(%.1f msecs)"
msgstr ""
-#: engine_dialog.cc:1389
+#: engine_dialog.cc:1510
+msgid "Could not start backend engine %1"
+msgstr ""
+
+#: engine_dialog.cc:1561
msgid "Cannot set driver to %1"
msgstr ""
-#: engine_dialog.cc:1393
+#: engine_dialog.cc:1565
msgid "Cannot set device name to %1"
msgstr ""
-#: engine_dialog.cc:1397
+#: engine_dialog.cc:1569
msgid "Cannot set sample rate to %1"
msgstr ""
-#: engine_dialog.cc:1401
+#: engine_dialog.cc:1573
msgid "Cannot set buffer size to %1"
msgstr ""
-#: engine_dialog.cc:1407
+#: engine_dialog.cc:1579
msgid "Cannot set input channels to %1"
msgstr ""
-#: engine_dialog.cc:1411
+#: engine_dialog.cc:1583
msgid "Cannot set output channels to %1"
msgstr ""
-#: engine_dialog.cc:1417
+#: engine_dialog.cc:1589
msgid "Cannot set input latency to %1"
msgstr ""
-#: engine_dialog.cc:1421
+#: engine_dialog.cc:1593
msgid "Cannot set output latency to %1"
msgstr ""
-#: engine_dialog.cc:1654
+#: engine_dialog.cc:1858 engine_dialog.cc:1917
msgid "No signal detected "
msgstr ""
-#: engine_dialog.cc:1667 port_insert_ui.cc:71 port_insert_ui.cc:99
+#: engine_dialog.cc:1871 engine_dialog.cc:1925 port_insert_ui.cc:70
+#: port_insert_ui.cc:98
msgid "Disconnected from audio engine"
msgstr ""
-#: engine_dialog.cc:1681
+#: engine_dialog.cc:1880 engine_dialog.cc:1933
+msgid "Detected roundtrip latency: "
+msgstr ""
+
+#: engine_dialog.cc:1882 engine_dialog.cc:1935
+msgid "Systemic latency: "
+msgstr ""
+
+#: engine_dialog.cc:1889
msgid "(signal detection error)"
msgstr ""
-#: engine_dialog.cc:1687
+#: engine_dialog.cc:1895
msgid "(inverted - bad wiring)"
msgstr ""
-#: engine_dialog.cc:1697
-msgid "Detected roundtrip latency: %1"
+#: engine_dialog.cc:1942
+msgid "(averaging)"
msgstr ""
-#: engine_dialog.cc:1709 port_insert_ui.cc:135
+#: engine_dialog.cc:1948
+msgid "(too large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1952
+msgid "(large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1963
+msgid "Timeout - large MIDI jitter."
+msgstr ""
+
+#: engine_dialog.cc:1979 port_insert_ui.cc:134
msgid "Detecting ..."
msgstr ""
-#: engine_dialog.cc:1789
+#: engine_dialog.cc:2073
msgid "Disconnect from %1"
msgstr ""
-#: engine_dialog.cc:1801
+#: engine_dialog.cc:2085
msgid "Connect to %1"
msgstr ""
-#: export_channel_selector.cc:45 sfdb_ui.cc:145
+#: export_channel_selector.cc:45 sfdb_ui.cc:149
msgid "Channels:"
msgstr ""
@@ -5717,92 +5885,100 @@ msgstr ""
msgid "List files"
msgstr ""
-#: export_dialog.cc:164 export_timespan_selector.cc:355
-#: export_timespan_selector.cc:417
+#: export_dialog.cc:158 export_format_dialog.cc:59
+msgid "File format"
+msgstr ""
+
+#: export_dialog.cc:159 export_timespan_selector.cc:374
+#: export_timespan_selector.cc:436
msgid "Time Span"
msgstr ""
-#: export_dialog.cc:176
+#: export_dialog.cc:160
msgid "Channels"
msgstr "Canais"
-#: export_dialog.cc:187
-msgid "Time span and channel options"
-msgstr ""
-
-#: export_dialog.cc:221
+#: export_dialog.cc:182
msgid ""
"Export has been aborted due to an error!\n"
"See the Log for details."
msgstr ""
-#: export_dialog.cc:290
+#: export_dialog.cc:251
msgid "Files that will be overwritten"
msgstr ""
-#: export_dialog.cc:316
+#: export_dialog.cc:296
+msgid "Export initialization failed: %1"
+msgstr ""
+
+#: export_dialog.cc:306
msgid "Stop Export"
msgstr "Cancelar exportação"
-#: export_dialog.cc:337
+#: export_dialog.cc:327
msgid "export"
msgstr ""
-#: export_dialog.cc:356
+#: export_dialog.cc:346
msgid "Normalizing '%3' (timespan %1 of %2)"
msgstr ""
-#: export_dialog.cc:360
+#: export_dialog.cc:350
msgid "Exporting '%3' (timespan %1 of %2)"
msgstr ""
-#: export_dialog.cc:383 export_dialog.cc:385
+#: export_dialog.cc:373 export_dialog.cc:375
msgid "<span color=\"#ffa755\">Error: "
msgstr ""
-#: export_dialog.cc:395
+#: export_dialog.cc:385
msgid "<span color=\"#ffa755\">Warning: "
msgstr ""
-#: export_dialog.cc:397
+#: export_dialog.cc:387
msgid ""
"\n"
"<span color=\"#ffa755\">Warning: "
msgstr ""
-#: export_dialog.cc:420
+#: export_dialog.cc:411
msgid "Export Selection"
msgstr ""
-#: export_dialog.cc:433
+#: export_dialog.cc:425
msgid "Export Region"
msgstr ""
-#: export_dialog.cc:443
+#: export_dialog.cc:434
msgid "Source"
msgstr ""
-#: export_dialog.cc:458
+#: export_dialog.cc:450
msgid "Stem Export"
msgstr ""
-#: export_file_notebook.cc:38
+#: export_file_notebook.cc:39
msgid "Add another format"
msgstr ""
-#: export_file_notebook.cc:178
+#: export_file_notebook.cc:193
msgid "Format"
msgstr "Formato"
-#: export_file_notebook.cc:179
+#: export_file_notebook.cc:194
msgid "Location"
msgstr "Localização"
-#: export_file_notebook.cc:255
+#: export_file_notebook.cc:195
+msgid "Upload to Soundcloud"
+msgstr ""
+
+#: export_file_notebook.cc:273
msgid "No format!"
msgstr ""
-#: export_file_notebook.cc:267
+#: export_file_notebook.cc:291
msgid "Format %1: %2"
msgstr ""
@@ -5823,9 +5999,9 @@ msgid "Folder:"
msgstr ""
#: export_filename_selector.cc:37 session_import_dialog.cc:44
-#: transcode_video_dialog.cc:58 video_server_dialog.cc:45
-#: video_server_dialog.cc:47 export_video_dialog.cc:68
-#: export_video_dialog.cc:70
+#: transcode_video_dialog.cc:59 video_server_dialog.cc:59
+#: video_server_dialog.cc:61 export_video_dialog.cc:69
+#: export_video_dialog.cc:71
msgid "Browse"
msgstr "Pesquisar"
@@ -5885,67 +6061,69 @@ msgstr ""
msgid "Add silence at end:"
msgstr ""
-#: export_format_dialog.cc:55
-msgid "Compatibility"
+#: export_format_dialog.cc:54
+msgid ""
+"Command to run post-export\n"
+"(%f=full path & filename, %d=directory, %b=basename):"
msgstr ""
-#: export_format_dialog.cc:56
-msgid "Quality"
+#: export_format_dialog.cc:57
+msgid "Compatibility"
msgstr ""
-#: export_format_dialog.cc:57
-msgid "File format"
+#: export_format_dialog.cc:58
+msgid "Quality"
msgstr ""
-#: export_format_dialog.cc:59
+#: export_format_dialog.cc:61
msgid "Sample rate conversion quality:"
msgstr ""
-#: export_format_dialog.cc:66
+#: export_format_dialog.cc:68
msgid "Dithering"
msgstr ""
-#: export_format_dialog.cc:68
+#: export_format_dialog.cc:70
msgid "Create CUE file for disk-at-once CD/DVD creation"
msgstr ""
-#: export_format_dialog.cc:69
+#: export_format_dialog.cc:71
msgid "Create TOC file for disk-at-once CD/DVD creation"
msgstr ""
-#: export_format_dialog.cc:71
+#: export_format_dialog.cc:73
msgid "Tag file with session's metadata"
msgstr ""
-#: export_format_dialog.cc:461
+#: export_format_dialog.cc:470
msgid "Best (sinc)"
msgstr ""
-#: export_format_dialog.cc:466
+#: export_format_dialog.cc:475
msgid "Medium (sinc)"
msgstr ""
-#: export_format_dialog.cc:471
+#: export_format_dialog.cc:480
msgid "Fast (sinc)"
msgstr ""
-#: export_format_dialog.cc:481
+#: export_format_dialog.cc:490
msgid "Zero order hold"
msgstr ""
-#: export_format_dialog.cc:879
+#: export_format_dialog.cc:895
msgid "Linear encoding options"
msgstr ""
-#: export_format_dialog.cc:895
+#: export_format_dialog.cc:911
msgid "Ogg Vorbis options"
msgstr ""
-#: export_format_dialog.cc:908
+#: export_format_dialog.cc:922
msgid "FLAC options"
msgstr ""
-#: export_format_dialog.cc:925
+#: export_format_dialog.cc:939
msgid "Broadcast Wave options"
msgstr ""
@@ -5971,11 +6149,15 @@ msgstr ""
msgid "Show Times as:"
msgstr ""
-#: export_timespan_selector.cc:204
+#: export_timespan_selector.cc:53 processor_box.cc:2510
+msgid "Select All"
+msgstr "Seleccionar tudo"
+
+#: export_timespan_selector.cc:223
msgid " to "
msgstr ""
-#: export_timespan_selector.cc:348 export_timespan_selector.cc:407
+#: export_timespan_selector.cc:367 export_timespan_selector.cc:426
msgid "Range"
msgstr ""
@@ -5991,174 +6173,142 @@ msgstr ""
msgid "getSoundResourceFile: root = %1, != response"
msgstr ""
-#: sfdb_freesound_mootcher.cc:410
+#: sfdb_freesound_mootcher.cc:410 rc_option_editor.cc:1729
msgid "%1"
msgstr ""
-#: gain_meter.cc:105 gain_meter.cc:360 gain_meter.cc:465 gain_meter.cc:859
+#: gain_meter.cc:106 gain_meter.cc:366 gain_meter.cc:471 gain_meter.cc:865
msgid "-inf"
msgstr ""
-#: gain_meter.cc:111 gain_meter.cc:916
+#: gain_meter.cc:113 gain_meter.cc:927
msgid "Fader automation mode"
msgstr "Modo de automatizaçã"
-#: gain_meter.cc:112 gain_meter.cc:917
+#: gain_meter.cc:114 gain_meter.cc:928
msgid "Fader automation type"
msgstr "Tipo de automatização"
-#: gain_meter.cc:121 gain_meter.cc:798 panner_ui.cc:177 panner_ui.cc:589
+#: gain_meter.cc:123 gain_meter.cc:804 panner_ui.cc:178 panner_ui.cc:638
msgid "Abs"
msgstr ""
-#: gain_meter.cc:765 mixer_strip.cc:1948 meter_strip.cc:337 panner_ui.cc:556
-#: route_time_axis.cc:2411
+#: gain_meter.cc:771 mixer_strip.cc:2004 meter_strip.cc:374 panner_ui.cc:605
+#: route_time_axis.cc:100 route_time_axis.cc:2560
msgid "P"
msgstr ""
-#: gain_meter.cc:768 panner_ui.cc:559
+#: gain_meter.cc:774 panner_ui.cc:608
msgid "T"
msgstr ""
-#: gain_meter.cc:771 panner_ui.cc:562
+#: gain_meter.cc:777 panner_ui.cc:611
msgid "W"
msgstr ""
-#: generic_pluginui.cc:81
+#: generic_pluginui.cc:79
msgid "<span size=\"large\">Presets</span>"
msgstr "<span size=\"large\">Parametrizações</span>"
-#: generic_pluginui.cc:230
+#: generic_pluginui.cc:228
msgid "Switches"
msgstr ""
-#: generic_pluginui.cc:240 generic_pluginui.cc:374 processor_box.cc:2251
+#: generic_pluginui.cc:238 generic_pluginui.cc:372 processor_box.cc:2484
msgid "Controls"
msgstr "Controlos"
-#: generic_pluginui.cc:268
+#: generic_pluginui.cc:266
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"
-#: generic_pluginui.cc:406
+#: generic_pluginui.cc:404
msgid "Meters"
msgstr ""
-#: generic_pluginui.cc:421
+#: generic_pluginui.cc:419
msgid "Automation control"
msgstr "Controlo de automatização"
-#: generic_pluginui.cc:428
+#: generic_pluginui.cc:426
msgid "Mgnual"
msgstr ""
-#: global_port_matrix.cc:157
+#: global_port_matrix.cc:158
msgid "Audio Connection Manager"
msgstr ""
-#: global_port_matrix.cc:160
+#: global_port_matrix.cc:161
msgid "MIDI Connection Manager"
msgstr ""
-#: global_port_matrix.cc:200 io_selector.cc:210 mixer_strip.cc:719
-#: mixer_strip.cc:845
+#: global_port_matrix.cc:201 io_selector.cc:211 mixer_strip.cc:799
+#: mixer_strip.cc:895
msgid "Disconnect"
msgstr "Desligar"
-#: global_port_matrix.cc:206 io_selector.cc:216
+#: global_port_matrix.cc:207 io_selector.cc:217
msgid "port"
msgstr "porto"
-#: group_tabs.cc:308
+#: group_tabs.cc:312
msgid "Selection..."
msgstr ""
-#: group_tabs.cc:309
+#: group_tabs.cc:313
msgid "Record Enabled..."
msgstr ""
-#: group_tabs.cc:310
+#: group_tabs.cc:314
msgid "Soloed..."
msgstr ""
-#: group_tabs.cc:316
+#: group_tabs.cc:320
msgid "Create New Group ..."
msgstr ""
-#: group_tabs.cc:317
+#: group_tabs.cc:321
msgid "Create New Group From"
msgstr ""
-#: group_tabs.cc:320
+#: group_tabs.cc:324
msgid "Edit Group..."
msgstr ""
-#: group_tabs.cc:321
+#: group_tabs.cc:325
msgid "Collect Group"
msgstr ""
-#: group_tabs.cc:322
+#: group_tabs.cc:326
msgid "Remove Group"
msgstr ""
-#: group_tabs.cc:325
+#: group_tabs.cc:329
msgid "Remove Subgroup Bus"
msgstr ""
-#: group_tabs.cc:327
+#: group_tabs.cc:331
msgid "Add New Subgroup Bus"
msgstr ""
-#: group_tabs.cc:329
+#: group_tabs.cc:333
msgid "Add New Aux Bus (pre-fader)"
msgstr ""
-#: group_tabs.cc:330
+#: group_tabs.cc:334
msgid "Add New Aux Bus (post-fader)"
msgstr ""
-#: group_tabs.cc:336
+#: group_tabs.cc:340
msgid "Enable All Groups"
msgstr ""
-#: group_tabs.cc:337
+#: group_tabs.cc:341
msgid "Disable All Groups"
msgstr ""
-#: gtk-custom-ruler.c:133
-msgid "Lower limit of ruler"
-msgstr "Limite inferior da régua"
-
-#: gtk-custom-ruler.c:142
-msgid "Upper"
-msgstr "Superior"
-
-#: gtk-custom-ruler.c:143
-msgid "Upper limit of ruler"
-msgstr "Limite superior da régua"
-
-#: gtk-custom-ruler.c:153
-msgid "Position of mark on the ruler"
-msgstr "Posição do marcador na régua"
-
-#: gtk-custom-ruler.c:162
-msgid "Max Size"
-msgstr "Tamanho máximo"
-
-#: gtk-custom-ruler.c:163
-msgid "Maximum size of the ruler"
-msgstr "Tamanho máximo da régua"
-
-#: gtk-custom-ruler.c:172
-msgid "Show Position"
-msgstr "Mostrar posição"
-
-#: gtk-custom-ruler.c:173
-msgid "Draw current ruler position"
-msgstr "Visualizar posição corrente da régua"
-
#: insert_time_dialog.cc:46
msgid "Time to insert:"
msgstr ""
@@ -6213,27 +6363,27 @@ msgstr ""
msgid "Importing file: %1 of %2"
msgstr ""
-#: io_selector.cc:220
+#: io_selector.cc:221
msgid "I/O selector"
msgstr ""
-#: io_selector.cc:265
+#: io_selector.cc:266
msgid "%1 input"
msgstr "%1 entrada"
-#: io_selector.cc:267
+#: io_selector.cc:268
msgid "%1 output"
msgstr "%1 saída"
-#: keyboard.cc:66
+#: keyboard.cc:70
msgid "your own"
msgstr ""
-#: keyboard.cc:129 keyboard.cc:153
+#: keyboard.cc:133 keyboard.cc:157
msgid "Default keybindings not found - %1 will be hard to use!"
msgstr ""
-#: keyboard.cc:132 keyboard.cc:156
+#: keyboard.cc:136
msgid "Key bindings file \"%1\" not found. Default bindings used instead"
msgstr ""
@@ -6249,27 +6399,31 @@ msgstr ""
msgid "Shortcut"
msgstr ""
-#: keyeditor.cc:86
+#: keyeditor.cc:85
msgid "Select an action, then press the key(s) to (re)set its shortcut"
msgstr ""
-#: keyeditor.cc:251
+#: keyeditor.cc:99
+msgid "Reset Bindings to Defaults"
+msgstr ""
+
+#: keyeditor.cc:260
msgid "Main_menu"
msgstr ""
-#: keyeditor.cc:253
+#: keyeditor.cc:262
msgid "redirectmenu"
msgstr ""
-#: keyeditor.cc:255
+#: keyeditor.cc:264
msgid "Editor_menus"
msgstr ""
-#: keyeditor.cc:257
+#: keyeditor.cc:266
msgid "RegionList"
msgstr ""
-#: keyeditor.cc:259
+#: keyeditor.cc:268
msgid "ProcessorMenu"
msgstr ""
@@ -6291,132 +6445,107 @@ msgid_plural "%1 samples"
msgstr[0] ""
msgstr[1] ""
-#: latency_gui.cc:72 panner_ui.cc:391
+#: latency_gui.cc:72 panner_ui.cc:408
msgid "Reset"
msgstr "Reiniciar"
-#: latency_gui.cc:151 rhythm_ferret.cc:274 sfdb_ui.cc:1755
+#: latency_gui.cc:149 rhythm_ferret.cc:273 sfdb_ui.cc:1893
msgid "programming error: %1 (%2)"
msgstr ""
-#: location_ui.cc:50 location_ui.cc:52
+#: location_ui.cc:51 location_ui.cc:53
msgid "Use PH"
msgstr ""
-#: location_ui.cc:54
+#: location_ui.cc:55
msgid "CD"
msgstr ""
-#: location_ui.cc:57
+#: location_ui.cc:58
msgid "Glue"
msgstr ""
-#: location_ui.cc:85
+#: location_ui.cc:86
msgid "Performer:"
msgstr ""
-#: location_ui.cc:86
+#: location_ui.cc:87
msgid "Composer:"
msgstr ""
-#: location_ui.cc:88
+#: location_ui.cc:89
msgid "Pre-Emphasis"
msgstr "Pré-êmfase"
-#: location_ui.cc:314
+#: location_ui.cc:316
msgid "Remove this range"
msgstr ""
-#: location_ui.cc:315
+#: location_ui.cc:317
msgid "Start time - middle click to locate here"
msgstr ""
-#: location_ui.cc:316
+#: location_ui.cc:318
msgid "End time - middle click to locate here"
msgstr ""
-#: location_ui.cc:319
+#: location_ui.cc:321
msgid "Set range start from playhead location"
msgstr ""
-#: location_ui.cc:320
+#: location_ui.cc:322
msgid "Set range end from playhead location"
msgstr ""
-#: location_ui.cc:324
+#: location_ui.cc:326
msgid "Remove this marker"
msgstr ""
-#: location_ui.cc:325
+#: location_ui.cc:327
msgid "Position - middle click to locate here"
msgstr ""
-#: location_ui.cc:327
+#: location_ui.cc:329
msgid "Set marker time from playhead location"
msgstr ""
-#: location_ui.cc:494
+#: location_ui.cc:496
msgid "You cannot put a CD marker at the start of the session"
msgstr ""
-#: location_ui.cc:720
+#: location_ui.cc:722
msgid "New Marker"
msgstr ""
-#: location_ui.cc:721
+#: location_ui.cc:723
msgid "New Range"
msgstr ""
-#: location_ui.cc:734
+#: location_ui.cc:736
msgid "<b>Loop/Punch Ranges</b>"
msgstr ""
-#: location_ui.cc:759
+#: location_ui.cc:761
msgid "<b>Markers (Including CD Index)</b>"
msgstr ""
-#: location_ui.cc:794
+#: location_ui.cc:796
msgid "<b>Ranges (Including CD Track Ranges)</b>"
msgstr ""
-#: location_ui.cc:1036
+#: location_ui.cc:1038
msgid "add range marker"
msgstr "acrescentar marcador de região"
-#: main.cc:81
+#: main.cc:79
msgid "%1 could not connect to the audio backend."
msgstr ""
-#: main.cc:194 main.cc:315
-msgid "cannot create user %3 folder %1 (%2)"
-msgstr ""
-
-#: main.cc:201 main.cc:322
-msgid "cannot open pango.rc file %1"
-msgstr ""
-
-#: main.cc:226 main.cc:349
-msgid "Cannot find ArdourMono TrueType font"
-msgstr ""
-
-#: main.cc:238 main.cc:355
-msgid "Cannot load ArdourMono TrueType font."
-msgstr ""
-
-#: main.cc:303
-msgid ""
-"No fontconfig file found on your system. Things may looked very odd or ugly"
-msgstr ""
-
-#: main.cc:359
-msgid "Failed to set fontconfig configuration."
-msgstr ""
-
-#: main.cc:370 main.cc:386
+#: main.cc:104 main.cc:120
msgid "The audio backend (%1) has failed, or terminated"
msgstr ""
-#: main.cc:373
+#: main.cc:107
msgid ""
"%2 exited unexpectedly, and without notifying %1.\n"
"\n"
@@ -6425,55 +6554,65 @@ msgid ""
"Click OK to exit %1."
msgstr ""
-#: main.cc:387
+#: main.cc:121
msgid "%2 exited unexpectedly, and without notifying %1."
msgstr ""
-#: main.cc:474
+#: main.cc:223
+msgid ""
+"\n"
+" Ardour could not understand your command line "
+msgstr ""
+
+#: main.cc:225
+msgid "An error was encountered while launching Ardour"
+msgstr ""
+
+#: main.cc:233
msgid " (built using "
msgstr " (compilado "
-#: main.cc:477
+#: main.cc:236
msgid " and GCC version "
msgstr " e versão GCC "
-#: main.cc:487
+#: main.cc:246
msgid "Copyright (C) 1999-2012 Paul Davis"
msgstr ""
-#: main.cc:488
+#: main.cc:247
msgid ""
"Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
"Baker, Robin Gareus"
msgstr ""
-#: main.cc:490
+#: main.cc:249
msgid "%1 comes with ABSOLUTELY NO WARRANTY"
msgstr ""
-#: main.cc:491
+#: main.cc:250
msgid "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
msgstr "nem mesmo para COMERCIALIZAÇÃO ou INDICADO PARA UM FIM PARTICULAR."
-#: main.cc:492
+#: main.cc:251
msgid "This is free software, and you are welcome to redistribute it "
msgstr "Sendo software livre, é permitida e até encorajada a sua distribuição "
-#: main.cc:493
+#: main.cc:252
msgid "under certain conditions; see the source for copying conditions."
msgstr ""
"desde que sejam respeitadas algumas condições; para mais informações, por "
"favor leia o ficheiro COPYING."
-#: main.cc:500
+#: main.cc:259
msgid "could not initialize %1."
msgstr ""
-#: main.cc:509
+#: main.cc:269
msgid "Cannot xinstall SIGPIPE error handler"
msgstr ""
-#: main.cc:515
+#: main.cc:276
msgid "could not create %1 GUI"
msgstr ""
@@ -6481,17 +6620,13 @@ msgstr ""
msgid "Display delta to edit cursor"
msgstr ""
-#: marker.cc:251 video_image_frame.cc:121
+#: marker.cc:265
msgid "MarkerText"
msgstr "Marcadores"
-#: midi_channel_selector.cc:159 midi_channel_selector.cc:397
-#: midi_channel_selector.cc:433
-msgid "All"
-msgstr ""
-
#: midi_channel_selector.cc:163 midi_channel_selector.cc:402
-#: midi_channel_selector.cc:438 rc_option_editor.cc:1248 sfdb_ui.cc:538
+#: midi_channel_selector.cc:438 rc_option_editor.cc:1499
+#: rc_option_editor.cc:2084 sfdb_ui.cc:658
msgid "None"
msgstr "Nenhum"
@@ -6680,87 +6815,87 @@ msgstr ""
msgid "MidiPortDialog"
msgstr ""
-#: midi_region_view.cc:838
+#: midi_region_view.cc:822
msgid "channel edit"
msgstr ""
-#: midi_region_view.cc:874
+#: midi_region_view.cc:858
msgid "velocity edit"
msgstr ""
-#: midi_region_view.cc:931
+#: midi_region_view.cc:915
msgid "add note"
msgstr ""
-#: midi_region_view.cc:1779
+#: midi_region_view.cc:1766
msgid "step add"
msgstr ""
-#: midi_region_view.cc:1862
+#: midi_region_view.cc:1853
msgid "insane MIDI patch key %1:%2"
msgstr ""
-#: midi_region_view.cc:1870 midi_region_view.cc:1890
+#: midi_region_view.cc:1861 midi_region_view.cc:1881
msgid "alter patch change"
msgstr ""
-#: midi_region_view.cc:1924
+#: midi_region_view.cc:1915
msgid "add patch change"
msgstr ""
-#: midi_region_view.cc:1942
+#: midi_region_view.cc:1933
msgid "move patch change"
msgstr ""
-#: midi_region_view.cc:1953
+#: midi_region_view.cc:1944
msgid "delete patch change"
msgstr ""
-#: midi_region_view.cc:2022
+#: midi_region_view.cc:2013
msgid "delete selection"
msgstr ""
-#: midi_region_view.cc:2038
+#: midi_region_view.cc:2029
msgid "delete note"
msgstr ""
-#: midi_region_view.cc:2425
+#: midi_region_view.cc:2423
msgid "move notes"
msgstr ""
-#: midi_region_view.cc:2647
+#: midi_region_view.cc:2645
msgid "resize notes"
msgstr ""
-#: midi_region_view.cc:2901
+#: midi_region_view.cc:2899
msgid "change velocities"
msgstr ""
-#: midi_region_view.cc:2967
+#: midi_region_view.cc:2965
msgid "transpose"
msgstr ""
-#: midi_region_view.cc:3001
+#: midi_region_view.cc:2999
msgid "change note lengths"
msgstr ""
-#: midi_region_view.cc:3070
+#: midi_region_view.cc:3068
msgid "nudge"
msgstr ""
-#: midi_region_view.cc:3085
+#: midi_region_view.cc:3083
msgid "change channel"
msgstr ""
-#: midi_region_view.cc:3130
+#: midi_region_view.cc:3128
msgid "Bank "
msgstr ""
-#: midi_region_view.cc:3131
+#: midi_region_view.cc:3129
msgid "Program "
msgstr ""
-#: midi_region_view.cc:3132
+#: midi_region_view.cc:3130
msgid "Channel "
msgstr ""
@@ -6768,140 +6903,136 @@ msgstr ""
msgid "paste"
msgstr "colar"
-#: midi_region_view.cc:3761
-msgid "delete sysex"
-msgstr ""
-
-#: midi_streamview.cc:479
+#: midi_streamview.cc:491
msgid "failed to create MIDI region"
msgstr ""
-#: midi_time_axis.cc:262
+#: midi_time_axis.cc:293
msgid "External MIDI Device"
msgstr ""
-#: midi_time_axis.cc:263
+#: midi_time_axis.cc:294
msgid "External Device Mode"
msgstr ""
-#: midi_time_axis.cc:271
+#: midi_time_axis.cc:302
msgid "Chns"
msgstr ""
-#: midi_time_axis.cc:272
+#: midi_time_axis.cc:303
msgid "Click to edit channel settings"
msgstr ""
-#: midi_time_axis.cc:486
+#: midi_time_axis.cc:517
msgid "Show Full Range"
msgstr ""
-#: midi_time_axis.cc:491
+#: midi_time_axis.cc:522
msgid "Fit Contents"
msgstr ""
-#: midi_time_axis.cc:495
+#: midi_time_axis.cc:526
msgid "Note Range"
msgstr ""
-#: midi_time_axis.cc:496
+#: midi_time_axis.cc:527
msgid "Note Mode"
msgstr ""
-#: midi_time_axis.cc:497
+#: midi_time_axis.cc:528
msgid "Channel Selector"
msgstr ""
-#: midi_time_axis.cc:502
+#: midi_time_axis.cc:533
msgid "Color Mode"
msgstr ""
-#: midi_time_axis.cc:561
+#: midi_time_axis.cc:592
msgid "Bender"
msgstr ""
-#: midi_time_axis.cc:565
+#: midi_time_axis.cc:596
msgid "Pressure"
msgstr ""
-#: midi_time_axis.cc:578
+#: midi_time_axis.cc:609
msgid "Controllers"
msgstr ""
-#: midi_time_axis.cc:583
+#: midi_time_axis.cc:614
msgid "No MIDI Channels selected"
msgstr ""
-#: midi_time_axis.cc:640 midi_time_axis.cc:769
+#: midi_time_axis.cc:692 midi_time_axis.cc:821
msgid "Hide all channels"
msgstr ""
-#: midi_time_axis.cc:644 midi_time_axis.cc:773
+#: midi_time_axis.cc:696 midi_time_axis.cc:825
msgid "Show all channels"
msgstr ""
-#: midi_time_axis.cc:655 midi_time_axis.cc:784
+#: midi_time_axis.cc:707 midi_time_axis.cc:836
msgid "Channel %1"
msgstr ""
-#: midi_time_axis.cc:910 midi_time_axis.cc:942
+#: midi_time_axis.cc:962 midi_time_axis.cc:994
msgid "Controllers %1-%2"
msgstr ""
-#: midi_time_axis.cc:933 midi_time_axis.cc:936
+#: midi_time_axis.cc:985 midi_time_axis.cc:988
msgid "Controller %1"
msgstr ""
-#: midi_time_axis.cc:959
+#: midi_time_axis.cc:1011
msgid "Sustained"
msgstr ""
-#: midi_time_axis.cc:966
+#: midi_time_axis.cc:1018
msgid "Percussive"
msgstr ""
-#: midi_time_axis.cc:986
+#: midi_time_axis.cc:1038
msgid "Meter Colors"
msgstr ""
-#: midi_time_axis.cc:993
+#: midi_time_axis.cc:1045
msgid "Channel Colors"
msgstr ""
-#: midi_time_axis.cc:1000
+#: midi_time_axis.cc:1052
msgid "Track Color"
msgstr ""
-#: midi_time_axis.cc:1488 midi_time_axis.cc:1494 midi_time_axis.cc:1504
-#: midi_time_axis.cc:1510
+#: midi_time_axis.cc:1687 midi_time_axis.cc:1693 midi_time_axis.cc:1703
+#: midi_time_axis.cc:1709
msgid "all"
msgstr ""
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1507
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1706
msgid "some"
msgstr ""
-#: midi_tracer.cc:46
+#: midi_tracer.cc:49
msgid "Line history: "
msgstr ""
-#: midi_tracer.cc:54
+#: midi_tracer.cc:57
msgid "Auto-Scroll"
msgstr ""
-#: midi_tracer.cc:55
+#: midi_tracer.cc:58
msgid "Decimal"
msgstr ""
-#: midi_tracer.cc:56 rc_option_editor.cc:657
+#: midi_tracer.cc:59 rc_option_editor.cc:717
msgid "Enabled"
msgstr ""
-#: midi_tracer.cc:57
+#: midi_tracer.cc:60
msgid "Delta times"
msgstr ""
-#: midi_tracer.cc:70
+#: midi_tracer.cc:73
msgid "Port:"
msgstr ""
@@ -6909,35 +7040,35 @@ msgstr ""
msgid "New velocity"
msgstr ""
-#: missing_file_dialog.cc:34
-msgid "Missing File!"
+#: missing_file_dialog.cc:35
+msgid "Missing File"
msgstr ""
-#: missing_file_dialog.cc:36
+#: missing_file_dialog.cc:37
msgid "Select a folder to search"
msgstr ""
-#: missing_file_dialog.cc:37
+#: missing_file_dialog.cc:38
msgid "Add chosen folder to search path, and try again"
msgstr ""
-#: missing_file_dialog.cc:39
+#: missing_file_dialog.cc:40
msgid "Stop loading this session"
msgstr ""
-#: missing_file_dialog.cc:40
+#: missing_file_dialog.cc:41
msgid "Skip all missing files"
msgstr ""
-#: missing_file_dialog.cc:41
+#: missing_file_dialog.cc:42
msgid "Skip this file"
msgstr ""
-#: missing_file_dialog.cc:52
+#: missing_file_dialog.cc:53
msgid "audio"
msgstr ""
-#: missing_file_dialog.cc:65
+#: missing_file_dialog.cc:70
msgid ""
"%1 cannot find the %2 file\n"
"\n"
@@ -6949,7 +7080,7 @@ msgid ""
"\n"
msgstr ""
-#: missing_file_dialog.cc:99
+#: missing_file_dialog.cc:104
msgid "Click to choose an additional folder"
msgstr ""
@@ -6957,7 +7088,7 @@ msgstr ""
msgid "Missing Plugins"
msgstr ""
-#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:59
+#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:60
msgid "OK"
msgstr ""
@@ -7013,6 +7144,10 @@ msgstr ""
msgid "Toggle Selected Plugins"
msgstr ""
+#: mixer_actor.cc:70
+msgid "Deselect all srips and processors"
+msgstr ""
+
#: mixer_actor.cc:72 mixer_actor.cc:73
msgid "Scroll Mixer Window to the left"
msgstr ""
@@ -7029,444 +7164,426 @@ msgstr ""
msgid "Could not find mixer.bindings in search path %1"
msgstr ""
-#: mixer_strip.cc:93 mixer_strip.cc:121 mixer_strip.cc:1721
+#: mixer_strip.cc:98 mixer_strip.cc:127
msgid "pre"
msgstr ""
-#: mixer_strip.cc:95 mixer_strip.cc:123 mixer_strip.cc:354 mixer_strip.cc:1300
-#: rc_option_editor.cc:1868
+#: mixer_strip.cc:100 mixer_strip.cc:129 mixer_strip.cc:376
+#: mixer_strip.cc:1373 rc_option_editor.cc:2203
msgid "Comments"
msgstr ""
-#: mixer_strip.cc:147
+#: mixer_strip.cc:151
msgid "Click to toggle the width of this mixer strip."
msgstr ""
-#: mixer_strip.cc:149
+#: mixer_strip.cc:153
msgid ""
"\n"
"%1-%2-click to toggle the width of all strips."
msgstr ""
-#: mixer_strip.cc:156
+#: mixer_strip.cc:160
msgid "Hide this mixer strip"
msgstr ""
-#: mixer_strip.cc:167
+#: mixer_strip.cc:171
msgid "Click to select metering point"
msgstr ""
-#: mixer_strip.cc:173
-msgid "tupni"
-msgstr "adartne"
-
-#: mixer_strip.cc:192
+#: mixer_strip.cc:191
msgid "Isolate Solo"
msgstr ""
-#: mixer_strip.cc:201
+#: mixer_strip.cc:200
msgid "Lock Solo Status"
msgstr ""
-#: mixer_strip.cc:203 mixer_strip.cc:1926
-msgid "lock"
-msgstr "bloquear"
-
-#: mixer_strip.cc:204 mixer_strip.cc:1925
-msgid "iso"
+#: mixer_strip.cc:203 mixer_strip.cc:1982
+msgid "Iso"
msgstr ""
-#: mixer_strip.cc:258
+#: mixer_strip.cc:259
msgid "Mix group"
msgstr ""
-#: mixer_strip.cc:351 rc_option_editor.cc:1865
+#: mixer_strip.cc:372 rc_option_editor.cc:2199
msgid "Phase Invert"
msgstr ""
-#: mixer_strip.cc:352 rc_option_editor.cc:1866 route_ui.cc:1218
-msgid "Solo Safe"
+#: mixer_strip.cc:373 rc_option_editor.cc:2200
+msgid "Record & Monitor"
msgstr ""
-#: mixer_strip.cc:355 mixer_ui.cc:124 route_time_axis.cc:673
-msgid "Group"
-msgstr "Grupo"
-
-#: mixer_strip.cc:356 rc_option_editor.cc:1869
-msgid "Meter Point"
+#: mixer_strip.cc:374 rc_option_editor.cc:2201
+msgid "Solo Iso / Lock"
msgstr ""
-#: mixer_strip.cc:470
+#: mixer_strip.cc:530
msgid "Enable/Disable MIDI input"
msgstr ""
-#: mixer_strip.cc:622
-msgid ""
-"Aux\n"
-"Sends"
+#: mixer_strip.cc:694
+msgid "Aux"
msgstr ""
-#: mixer_strip.cc:646
+#: mixer_strip.cc:716
msgid "Snd"
msgstr ""
-#: mixer_strip.cc:701 mixer_strip.cc:829 processor_box.cc:2193
+#: mixer_strip.cc:782 mixer_strip.cc:880 processor_box.cc:2426
msgid "Not connected to audio engine - no I/O changes are possible"
msgstr ""
-#: mixer_strip.cc:1096
+#: mixer_strip.cc:1163
msgid "<b>INPUT</b> to %1"
msgstr ""
-#: mixer_strip.cc:1099
+#: mixer_strip.cc:1166
msgid "<b>OUTPUT</b> from %1"
msgstr ""
-#: mixer_strip.cc:1174
+#: mixer_strip.cc:1241
msgid "Disconnected"
msgstr ""
-#: mixer_strip.cc:1303
+#: mixer_strip.cc:1376
msgid "*Comments*"
msgstr "*Comentários*"
-#: mixer_strip.cc:1310
+#: mixer_strip.cc:1383
msgid "Cmt"
msgstr ""
-#: mixer_strip.cc:1313
+#: mixer_strip.cc:1386
msgid "*Cmt*"
msgstr ""
-#: mixer_strip.cc:1319
+#: mixer_strip.cc:1392
msgid "Click to Add/Edit Comments"
msgstr "Clicar para acrescentar/editar comentários"
-#: mixer_strip.cc:1358
-msgid ": comment editor"
-msgstr ": editor de comentários"
-
-#: mixer_strip.cc:1435
+#: mixer_strip.cc:1436
msgid "Grp"
msgstr ""
-#: mixer_strip.cc:1438
+#: mixer_strip.cc:1439
msgid "~G"
msgstr ""
-#: mixer_strip.cc:1467
+#: mixer_strip.cc:1468 route_time_axis.cc:534
+msgid "Color..."
+msgstr ""
+
+#: mixer_strip.cc:1470 route_time_axis.cc:536
msgid "Comments..."
msgstr ""
-#: mixer_strip.cc:1469
+#: mixer_strip.cc:1472 route_time_axis.cc:538
+msgid "Inputs..."
+msgstr ""
+
+#: mixer_strip.cc:1474 route_time_axis.cc:540
+msgid "Outputs..."
+msgstr ""
+
+#: mixer_strip.cc:1479
msgid "Save As Template..."
msgstr ""
-#: mixer_strip.cc:1475 route_group_dialog.cc:39 route_time_axis.cc:696
+#: mixer_strip.cc:1485 route_group_dialog.cc:45 route_time_axis.cc:814
msgid "Active"
msgstr "Activo"
-#: mixer_strip.cc:1482
+#: mixer_strip.cc:1493
msgid "Adjust Latency..."
msgstr ""
-#: mixer_strip.cc:1485
+#: mixer_strip.cc:1496
msgid "Protect Against Denormals"
msgstr ""
-#: mixer_strip.cc:1491 route_time_axis.cc:435
+#: mixer_strip.cc:1502 route_time_axis.cc:553
msgid "Remote Control ID..."
msgstr ""
-#: mixer_strip.cc:1717 mixer_strip.cc:1741
-msgid "in"
-msgstr "entrada"
-
-#: mixer_strip.cc:1725
-msgid "post"
-msgstr "pós"
-
-#: mixer_strip.cc:1729
-msgid "out"
-msgstr "saída"
-
-#: mixer_strip.cc:1734
-msgid "custom"
+#: mixer_strip.cc:1778
+msgid "Pre"
msgstr ""
-#: mixer_strip.cc:1745
-msgid "pr"
+#: mixer_strip.cc:1782
+msgid "Post"
msgstr ""
-#: mixer_strip.cc:1749
-msgid "po"
+#: mixer_strip.cc:1802
+msgid "Pr"
msgstr ""
-#: mixer_strip.cc:1753
-msgid "o"
+#: mixer_strip.cc:1806
+msgid "Po"
msgstr ""
-#: mixer_strip.cc:1758
-msgid "c"
+#: mixer_strip.cc:1815
+msgid "C"
msgstr ""
-#: mixer_strip.cc:1906 route_ui.cc:143
+#: mixer_strip.cc:1963 route_ui.cc:164
msgid "Disk"
msgstr ""
-#: mixer_strip.cc:1918 monitor_section.cc:63
+#: mixer_strip.cc:1975 monitor_section.cc:71
msgid "AFL"
msgstr ""
-#: mixer_strip.cc:1921 monitor_section.cc:64
+#: mixer_strip.cc:1978 monitor_section.cc:72
msgid "PFL"
msgstr ""
-#: mixer_strip.cc:1933
+#: mixer_strip.cc:1989 meter_strip.cc:380
msgid "D"
msgstr ""
-#: mixer_strip.cc:1953
-msgid "i"
-msgstr ""
-
-#: mixer_strip.cc:2128
-msgid "Pre-fader"
-msgstr ""
+#: mixer_strip.cc:2196
+msgid "Pre Fader"
+msgstr "Pré-atenuador"
-#: mixer_strip.cc:2129
-msgid "Post-fader"
-msgstr ""
+#: mixer_strip.cc:2197
+msgid "Post Fader"
+msgstr "Pós-atenuador"
-#: mixer_strip.cc:2166 meter_strip.cc:728
+#: mixer_strip.cc:2235 meter_strip.cc:818
msgid "Change all in Group to %1"
msgstr ""
-#: mixer_strip.cc:2168 meter_strip.cc:730
+#: mixer_strip.cc:2237 meter_strip.cc:820
msgid "Change all to %1"
msgstr ""
-#: mixer_strip.cc:2170 meter_strip.cc:732
+#: mixer_strip.cc:2239 meter_strip.cc:822
msgid "Change same track-type to %1"
msgstr ""
-#: mixer_ui.cc:1189
+#: mixer_ui.cc:129 route_time_axis.cc:791
+msgid "Group"
+msgstr "Grupo"
+
+#: mixer_ui.cc:1209
msgid "track display list item for renamed strip not found!"
msgstr "não foi encontrada qualquer faixa para o painel de mistura"
-#: mixer_ui.cc:1273
+#: mixer_ui.cc:1293
msgid "-all-"
msgstr "-tudo-"
-#: mixer_ui.cc:1794
+#: mixer_ui.cc:1829
msgid "Strips"
msgstr "Painéis"
-#: meter_strip.cc:764
+#: meter_strip.cc:157
+msgid "Reset Peak"
+msgstr ""
+
+#: meter_strip.cc:854
msgid "Variable height"
msgstr ""
-#: meter_strip.cc:765
+#: meter_strip.cc:855
msgid "Short"
msgstr ""
-#: meter_strip.cc:766
+#: meter_strip.cc:856
msgid "Tall"
msgstr ""
-#: meter_strip.cc:767
+#: meter_strip.cc:857
msgid "Grande"
msgstr ""
-#: meter_strip.cc:768
+#: meter_strip.cc:858
msgid "Venti"
msgstr ""
-#: meter_patterns.cc:81
+#: meter_patterns.cc:82
msgid "Peak"
msgstr ""
-#: meter_patterns.cc:84
+#: meter_patterns.cc:85
msgid "RMS + Peak"
msgstr ""
-#: meter_patterns.cc:87
+#: meter_patterns.cc:88
msgid "IEC1/DIN"
msgstr ""
-#: meter_patterns.cc:90
+#: meter_patterns.cc:91
msgid "IEC1/Nordic"
msgstr ""
-#: meter_patterns.cc:93
+#: meter_patterns.cc:94
msgid "IEC2/BBC"
msgstr ""
-#: meter_patterns.cc:96
+#: meter_patterns.cc:97
msgid "IEC2/EBU"
msgstr ""
-#: meter_patterns.cc:99
+#: meter_patterns.cc:100
msgid "K20"
msgstr ""
-#: meter_patterns.cc:102
+#: meter_patterns.cc:103
msgid "K14"
msgstr ""
-#: meter_patterns.cc:105
+#: meter_patterns.cc:106
+msgid "K12"
+msgstr ""
+
+#: meter_patterns.cc:109
msgid "VU"
msgstr ""
-#: monitor_section.cc:62
+#: monitor_section.cc:70
msgid "SiP"
msgstr ""
-#: monitor_section.cc:86
-msgid "soloing"
+#: monitor_section.cc:97 route_group_dialog.cc:49
+msgid "Soloing"
msgstr ""
-#: monitor_section.cc:90
-msgid "isolated"
+#: monitor_section.cc:101
+msgid "Isolated"
msgstr ""
-#: monitor_section.cc:94
-msgid "auditioning"
+#: monitor_section.cc:105
+msgid "Auditioning"
msgstr ""
-#: monitor_section.cc:104
+#: monitor_section.cc:115
msgid ""
"When active, something is solo-isolated.\n"
"Click to de-isolate everything"
msgstr ""
-#: monitor_section.cc:107
+#: monitor_section.cc:118
msgid ""
"When active, auditioning is active.\n"
"Click to stop the audition"
msgstr ""
-#: monitor_section.cc:124
+#: monitor_section.cc:135
msgid "Solo controls affect solo-in-place"
msgstr ""
-#: monitor_section.cc:130
+#: monitor_section.cc:141
msgid "Solo controls toggle after-fader-listen"
msgstr ""
-#: monitor_section.cc:136
+#: monitor_section.cc:147
msgid "Solo controls toggle pre-fader-listen"
msgstr ""
-#: monitor_section.cc:144
+#: monitor_section.cc:157
msgid "Gain increase for soloed signals (0dB is normal)"
msgstr ""
-#: monitor_section.cc:150
+#: monitor_section.cc:171
msgid "Solo Boost"
msgstr ""
-#: monitor_section.cc:162
+#: monitor_section.cc:186
msgid ""
"Gain reduction non-soloed signals\n"
"A value above -inf dB causes \"solo-in-front\""
msgstr ""
-#: monitor_section.cc:164
+#: monitor_section.cc:197
msgid "SiP Cut"
msgstr ""
-#: monitor_section.cc:176
+#: monitor_section.cc:212
msgid "Gain reduction to use when dimming monitor outputs"
msgstr ""
-#: monitor_section.cc:181
+#: monitor_section.cc:226 monitor_section.cc:284
msgid "Dim"
msgstr ""
-#: monitor_section.cc:190
-msgid "excl. solo"
+#: monitor_section.cc:236
+msgid "Excl. Solo"
msgstr ""
-#: monitor_section.cc:192
+#: monitor_section.cc:238
msgid "Exclusive solo means that only 1 solo is active at a time"
msgstr ""
-#: monitor_section.cc:199
-msgid "solo » mute"
+#: monitor_section.cc:245
+msgid "Solo » Mute"
msgstr ""
-#: monitor_section.cc:201
+#: monitor_section.cc:247
msgid ""
"If enabled, solo will override mute\n"
"(a soloed & muted track or bus will be audible)"
msgstr ""
-#: monitor_section.cc:227
-msgid "mute"
-msgstr "mudo"
-
-#: monitor_section.cc:238
-msgid "dim"
-msgstr ""
-
-#: monitor_section.cc:245
-msgid "mono"
-msgstr ""
-
-#: monitor_section.cc:266
+#: monitor_section.cc:324
msgid "Monitor"
msgstr ""
-#: monitor_section.cc:678
+#: monitor_section.cc:751
msgid "Switch monitor to mono"
msgstr ""
-#: monitor_section.cc:681
+#: monitor_section.cc:754
msgid "Cut monitor"
msgstr ""
-#: monitor_section.cc:684
+#: monitor_section.cc:757
msgid "Dim monitor"
msgstr ""
-#: monitor_section.cc:687
+#: monitor_section.cc:760
msgid "Toggle exclusive solo mode"
msgstr ""
-#: monitor_section.cc:693
+#: monitor_section.cc:766
msgid "Toggle mute overrides solo mode"
msgstr ""
-#: monitor_section.cc:705
+#: monitor_section.cc:778
msgid "Cut monitor channel %1"
msgstr ""
-#: monitor_section.cc:710
+#: monitor_section.cc:783
msgid "Dim monitor channel %1"
msgstr ""
-#: monitor_section.cc:715
+#: monitor_section.cc:788
msgid "Solo monitor channel %1"
msgstr ""
-#: monitor_section.cc:720
+#: monitor_section.cc:793
msgid "Invert monitor channel %1"
msgstr ""
-#: monitor_section.cc:730
+#: monitor_section.cc:803
msgid "In-place solo"
msgstr ""
-#: monitor_section.cc:732
+#: monitor_section.cc:805
msgid "After Fade Listen (AFL) solo"
msgstr ""
-#: monitor_section.cc:734
+#: monitor_section.cc:807
msgid "Pre Fade Listen (PFL) solo"
msgstr ""
-#: mono_panner.cc:101
+#: mono_panner.cc:109 stereo_panner.cc:117
+msgid "bypassed"
+msgstr ""
+
+#: mono_panner.cc:123
#, c-format
msgid "L:%3d R:%3d"
msgstr ""
@@ -7551,7 +7668,7 @@ msgstr ""
msgid "Normalize region"
msgstr ""
-#: normalize_dialog.cc:49 strip_silence_dialog.cc:70
+#: normalize_dialog.cc:49 strip_silence_dialog.cc:66
msgid "dbFS"
msgstr ""
@@ -7655,31 +7772,26 @@ msgid ""
"ardour3/ardour.bindings)\n"
msgstr ""
-#: panner2d.cc:781
+#: panner2d.cc:852
msgid "Panner (2D)"
msgstr ""
-#: panner2d.cc:783 panner_ui.cc:383 plugin_ui.cc:448
+#: panner2d.cc:854 panner_ui.cc:399 plugin_ui.cc:449
msgid "Bypass"
msgstr "Ignorar"
-#: panner2d.cc:787
+#: panner2d.cc:860
msgid "Panner"
msgstr ""
-#: panner_ui.cc:70
+#: panner_ui.cc:71
msgid "Pan automation mode"
msgstr "Modo de automatização de panorâmica"
-#: panner_ui.cc:71
+#: panner_ui.cc:72
msgid "Pan automation type"
msgstr "Tipo de automatização de panorâmica"
-#: panner_ui.cc:294
-msgid ""
-"No panner user interface is currently available for %1-in/2out tracks/busses"
-msgstr ""
-
#: playlist_selector.cc:43
msgid "Playlists"
msgstr ""
@@ -7704,39 +7816,39 @@ msgstr "não atribuidas"
msgid "Imported"
msgstr ""
-#: plugin_eq_gui.cc:75 plugin_eq_gui.cc:99
+#: plugin_eq_gui.cc:85 plugin_eq_gui.cc:109
msgid "dB scale"
msgstr ""
-#: plugin_eq_gui.cc:106
+#: plugin_eq_gui.cc:116
msgid "Show phase"
msgstr ""
-#: plugin_selector.cc:53 plugin_selector.cc:220
+#: plugin_selector.cc:53 plugin_selector.cc:229
msgid "Name contains"
msgstr ""
-#: plugin_selector.cc:54 plugin_selector.cc:224
+#: plugin_selector.cc:54 plugin_selector.cc:233
msgid "Type contains"
msgstr ""
-#: plugin_selector.cc:55 plugin_selector.cc:222
+#: plugin_selector.cc:55 plugin_selector.cc:231
msgid "Category contains"
msgstr ""
-#: plugin_selector.cc:56 plugin_selector.cc:244
+#: plugin_selector.cc:56 plugin_selector.cc:253
msgid "Author contains"
msgstr ""
-#: plugin_selector.cc:57 plugin_selector.cc:246
+#: plugin_selector.cc:57 plugin_selector.cc:255
msgid "Library contains"
msgstr ""
-#: plugin_selector.cc:58 plugin_selector.cc:210 plugin_selector.cc:521
+#: plugin_selector.cc:58 plugin_selector.cc:219 plugin_selector.cc:537
msgid "Favorites only"
msgstr ""
-#: plugin_selector.cc:59 plugin_selector.cc:214 plugin_selector.cc:521
+#: plugin_selector.cc:59 plugin_selector.cc:223 plugin_selector.cc:537
msgid "Hidden only"
msgstr ""
@@ -7744,189 +7856,189 @@ msgstr ""
msgid "Plugin Manager"
msgstr ""
-#: plugin_selector.cc:84
+#: plugin_selector.cc:85
msgid "Fav"
msgstr ""
-#: plugin_selector.cc:86
+#: plugin_selector.cc:87
msgid "Available Plugins"
msgstr ""
-#: plugin_selector.cc:87
+#: plugin_selector.cc:88
msgid "Type"
msgstr "Tipo"
-#: plugin_selector.cc:88
+#: plugin_selector.cc:89
msgid "Category"
msgstr ""
-#: plugin_selector.cc:89
+#: plugin_selector.cc:90
msgid "Creator"
msgstr ""
-#: plugin_selector.cc:90
+#: plugin_selector.cc:91
msgid "# Audio In"
msgstr ""
-#: plugin_selector.cc:91
+#: plugin_selector.cc:92
msgid "# Audio Out"
msgstr ""
-#: plugin_selector.cc:92
+#: plugin_selector.cc:93
msgid "# MIDI In"
msgstr ""
-#: plugin_selector.cc:93
+#: plugin_selector.cc:94
msgid "# MIDI Out"
msgstr ""
-#: plugin_selector.cc:115
+#: plugin_selector.cc:116
msgid "Plugins to be connected"
msgstr ""
-#: plugin_selector.cc:128
+#: plugin_selector.cc:129
msgid "Add a plugin to the effect list"
msgstr "Acrescentar à lista de efeitos/plug-ins"
-#: plugin_selector.cc:132
+#: plugin_selector.cc:133
msgid "Remove a plugin from the effect list"
msgstr "Remover da lista de efeitos/plug-ins"
-#: plugin_selector.cc:134
+#: plugin_selector.cc:135
msgid "Update available plugins"
msgstr "Actualizar efeitos/plug-ins disponíveis"
-#: plugin_selector.cc:171
+#: plugin_selector.cc:172
msgid "Insert Plugin(s)"
msgstr ""
-#: plugin_selector.cc:320 plugin_selector.cc:321 plugin_selector.cc:322
-#: plugin_selector.cc:323
+#: plugin_selector.cc:337 plugin_selector.cc:338 plugin_selector.cc:339
+#: plugin_selector.cc:340
msgid "variable"
msgstr ""
-#: plugin_selector.cc:480
+#: plugin_selector.cc:496
msgid ""
"The plugin \"%1\" could not be loaded\n"
"\n"
"See the Log window for more details (maybe)"
msgstr ""
-#: plugin_selector.cc:628
+#: plugin_selector.cc:644
msgid "Favorites"
msgstr ""
-#: plugin_selector.cc:630
+#: plugin_selector.cc:646
msgid "Plugin Manager..."
msgstr ""
-#: plugin_selector.cc:634
+#: plugin_selector.cc:650
msgid "By Creator"
msgstr ""
-#: plugin_selector.cc:637
+#: plugin_selector.cc:653
msgid "By Category"
msgstr ""
-#: plugin_ui.cc:114
+#: plugin_ui.cc:113
msgid "Eh? LADSPA plugins don't have editors!"
msgstr ""
-#: plugin_ui.cc:123 plugin_ui.cc:226
+#: plugin_ui.cc:122 plugin_ui.cc:227
msgid ""
"unknown type of editor-supplying plugin (note: no VST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:126
+#: plugin_ui.cc:125
msgid "unknown type of editor-supplying plugin"
msgstr ""
-#: plugin_ui.cc:256
+#: plugin_ui.cc:257
msgid ""
"unknown type of editor-supplying plugin (note: no linuxVST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:328
+#: plugin_ui.cc:329
msgid "create_lv2_editor called on non-LV2 plugin"
msgstr ""
-#: plugin_ui.cc:414
+#: plugin_ui.cc:415
msgid "Add"
msgstr "Acrescentar"
-#: plugin_ui.cc:418
+#: plugin_ui.cc:419
msgid "Description"
msgstr ""
-#: plugin_ui.cc:419
+#: plugin_ui.cc:420
msgid "Plugin analysis"
msgstr ""
-#: plugin_ui.cc:426
+#: plugin_ui.cc:427
msgid ""
"Presets (if any) for this plugin\n"
"(Both factory and user-created)"
msgstr ""
-#: plugin_ui.cc:427
+#: plugin_ui.cc:428
msgid "Save a new preset"
msgstr ""
-#: plugin_ui.cc:428
+#: plugin_ui.cc:429
msgid "Save the current preset"
msgstr ""
-#: plugin_ui.cc:429
+#: plugin_ui.cc:430
msgid "Delete the current preset"
msgstr ""
-#: plugin_ui.cc:430
+#: plugin_ui.cc:431
msgid "Disable signal processing by the plugin"
msgstr ""
-#: plugin_ui.cc:463 plugin_ui.cc:659
+#: plugin_ui.cc:464 plugin_ui.cc:660
msgid ""
"Click to allow the plugin to receive keyboard events that %1 would normally "
"use as a shortcut"
msgstr ""
-#: plugin_ui.cc:464
+#: plugin_ui.cc:465
msgid "Click to enable/disable this plugin"
msgstr ""
-#: plugin_ui.cc:503
+#: plugin_ui.cc:504
msgid "latency (%1 sample)"
msgid_plural "latency (%1 samples)"
msgstr[0] ""
msgstr[1] ""
-#: plugin_ui.cc:505
+#: plugin_ui.cc:506
msgid "latency (%1 ms)"
msgstr ""
-#: plugin_ui.cc:516
+#: plugin_ui.cc:517
msgid "Edit Latency"
msgstr ""
-#: plugin_ui.cc:555
+#: plugin_ui.cc:556
msgid "Plugin preset %1 not found"
msgstr "Parametrização de efeito/plug-in %1 inexistente"
-#: plugin_ui.cc:592
+#: plugin_ui.cc:593
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"full version"
msgstr ""
-#: plugin_ui.cc:612 plugin_ui.cc:627
+#: plugin_ui.cc:613 plugin_ui.cc:628
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"newer version"
msgstr ""
-#: plugin_ui.cc:666
+#: plugin_ui.cc:667
msgid "Click to allow normal use of %1 keyboard shortcuts"
msgstr ""
@@ -8002,97 +8114,97 @@ msgstr ""
msgid "alsa_pcm"
msgstr ""
-#: port_insert_ui.cc:40
+#: port_insert_ui.cc:39
msgid "Measure Latency"
msgstr ""
-#: port_insert_ui.cc:51
+#: port_insert_ui.cc:50
msgid "Send/Output"
msgstr ""
-#: port_insert_ui.cc:52
+#: port_insert_ui.cc:51
msgid "Return/Input"
msgstr ""
-#: port_insert_ui.cc:86
+#: port_insert_ui.cc:85
msgid "No signal detected"
msgstr ""
-#: port_insert_ui.cc:166
+#: port_insert_ui.cc:165
msgid "Port Insert "
msgstr ""
-#: port_matrix.cc:331 port_matrix.cc:357
+#: port_matrix.cc:332 port_matrix.cc:358
msgid "<b>Sources</b>"
msgstr ""
-#: port_matrix.cc:332 port_matrix.cc:358
+#: port_matrix.cc:333 port_matrix.cc:359
msgid "<b>Destinations</b>"
msgstr ""
-#: port_matrix.cc:440 port_matrix.cc:448
+#: port_matrix.cc:441 port_matrix.cc:449
#, c-format
msgid "Add %s %s"
msgstr ""
-#: port_matrix.cc:456
+#: port_matrix.cc:457
#, c-format
msgid "Rename '%s'..."
msgstr ""
-#: port_matrix.cc:472
+#: port_matrix.cc:473
msgid "Remove all"
msgstr ""
-#: port_matrix.cc:492 port_matrix.cc:504
+#: port_matrix.cc:493 port_matrix.cc:505
#, c-format
msgid "%s all"
msgstr ""
-#: port_matrix.cc:527
+#: port_matrix.cc:528
msgid "Rescan"
msgstr "Refrescar"
-#: port_matrix.cc:529
+#: port_matrix.cc:530
msgid "Show individual ports"
msgstr ""
-#: port_matrix.cc:535
+#: port_matrix.cc:536
msgid "Flip"
msgstr ""
-#: port_matrix.cc:721
+#: port_matrix.cc:722
msgid ""
"It is not possible to add a port here, as the first processor in the track "
"or buss cannot support the new configuration."
msgstr ""
-#: port_matrix.cc:724
+#: port_matrix.cc:725
msgid "Cannot add port"
msgstr ""
-#: port_matrix.cc:746
+#: port_matrix.cc:747
msgid "Port removal not allowed"
msgstr ""
-#: port_matrix.cc:747
+#: port_matrix.cc:748
msgid ""
"This port cannot be removed.\n"
"Either the first plugin in the track or buss cannot accept\n"
"the new number of inputs or the last plugin has more outputs."
msgstr ""
-#: port_matrix.cc:964
+#: port_matrix.cc:965
#, c-format
msgid "Remove '%s'"
msgstr ""
-#: port_matrix.cc:979
+#: port_matrix.cc:980
#, c-format
msgid "%s all from '%s'"
msgstr ""
-#: port_matrix.cc:1045
+#: port_matrix.cc:1046
msgid "channel"
msgstr ""
@@ -8104,197 +8216,224 @@ msgstr ""
msgid "There are no %1 ports to connect."
msgstr ""
-#: processor_box.cc:256
+#: processor_box.cc:150
+msgid "Send"
+msgstr ""
+
+#: processor_box.cc:152
+msgid "Return"
+msgstr ""
+
+#: processor_box.cc:310
+msgid ""
+"\n"
+"This mono plugin has been replicated %1 times."
+msgstr ""
+
+#: processor_box.cc:314
msgid ""
"<b>%1</b>\n"
"Double-click to show GUI.\n"
-"Alt+double-click to show generic GUI."
+"Alt+double-click to show generic GUI.%2"
msgstr ""
-#: processor_box.cc:259
+#: processor_box.cc:317
msgid ""
"<b>%1</b>\n"
-"Double-click to show generic GUI."
+"Double-click to show generic GUI.%2"
+msgstr ""
+
+#: processor_box.cc:361
+#, c-format
+msgid "(%1x1) "
msgstr ""
-#: processor_box.cc:372
+#: processor_box.cc:437
msgid "Show All Controls"
msgstr ""
-#: processor_box.cc:376
+#: processor_box.cc:441
msgid "Hide All Controls"
msgstr ""
-#: processor_box.cc:465
+#: processor_box.cc:475
+msgid "Link panner controls"
+msgstr ""
+
+#: processor_box.cc:559
msgid "on"
msgstr ""
-#: processor_box.cc:465 rc_option_editor.cc:1898 rc_option_editor.cc:1912
+#: processor_box.cc:559 rc_option_editor.cc:2232 rc_option_editor.cc:2246
msgid "off"
msgstr "desligado"
-#: processor_box.cc:742
+#: processor_box.cc:945
msgid ""
"Right-click to add/remove/edit\n"
"plugins,inserts,sends and more"
msgstr ""
-#: processor_box.cc:1197 processor_box.cc:1618
+#: processor_box.cc:1422 processor_box.cc:1848
msgid "Plugin Incompatibility"
msgstr ""
-#: processor_box.cc:1200
+#: processor_box.cc:1425
msgid "You attempted to add the plugin \"%1\" in slot %2.\n"
msgstr ""
-#: processor_box.cc:1206
+#: processor_box.cc:1431
msgid ""
"\n"
"This plugin has:\n"
msgstr ""
-#: processor_box.cc:1209
+#: processor_box.cc:1434
msgid "\t%1 MIDI input\n"
msgid_plural "\t%1 MIDI inputs\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1213
+#: processor_box.cc:1438
msgid "\t%1 audio input\n"
msgid_plural "\t%1 audio inputs\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1216
+#: processor_box.cc:1441
msgid ""
"\n"
"but at the insertion point, there are:\n"
msgstr ""
-#: processor_box.cc:1219
+#: processor_box.cc:1444
msgid "\t%1 MIDI channel\n"
msgid_plural "\t%1 MIDI channels\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1223
+#: processor_box.cc:1448
msgid "\t%1 audio channel\n"
msgid_plural "\t%1 audio channels\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1226
+#: processor_box.cc:1451
msgid ""
"\n"
"%1 is unable to insert this plugin here.\n"
msgstr ""
-#: processor_box.cc:1262
+#: processor_box.cc:1488
msgid "Cannot set up new send: %1"
msgstr ""
-#: processor_box.cc:1621
+#: processor_box.cc:1851
msgid ""
"You cannot reorder these plugins/sends/inserts\n"
"in that way because the inputs and\n"
"outputs will not work correctly."
msgstr ""
-#: processor_box.cc:1805
+#: processor_box.cc:2035
msgid "Rename Processor"
msgstr ""
-#: processor_box.cc:1836
+#: processor_box.cc:2066
msgid "At least 100 IO objects exist with a name like %1 - name not changed"
msgstr ""
-#: processor_box.cc:1970
+#: processor_box.cc:2203
msgid "plugin insert constructor failed"
msgstr ""
-#: processor_box.cc:1981
+#: processor_box.cc:2214
msgid ""
"Copying the set of processors on the clipboard failed,\n"
"probably because the I/O configuration of the plugins\n"
"could not match the configuration of this track."
msgstr ""
-#: processor_box.cc:2027
+#: processor_box.cc:2260
msgid ""
"Do you really want to remove all processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2031 processor_box.cc:2056
+#: processor_box.cc:2264 processor_box.cc:2289
msgid "Yes, remove them all"
msgstr "Sim, remover todos"
-#: processor_box.cc:2033 processor_box.cc:2058
+#: processor_box.cc:2266 processor_box.cc:2291
msgid "Remove processors"
msgstr ""
-#: processor_box.cc:2048
+#: processor_box.cc:2281
msgid ""
"Do you really want to remove all pre-fader processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2051
+#: processor_box.cc:2284
msgid ""
"Do you really want to remove all post-fader processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2239
+#: processor_box.cc:2472
msgid "New Plugin"
msgstr ""
-#: processor_box.cc:2242
+#: processor_box.cc:2475
msgid "New Insert"
msgstr "Nova inserção"
-#: processor_box.cc:2245
+#: processor_box.cc:2478
msgid "New External Send ..."
msgstr ""
-#: processor_box.cc:2249
+#: processor_box.cc:2482
msgid "New Aux Send ..."
msgstr ""
-#: processor_box.cc:2253
+#: processor_box.cc:2485
+msgid "Send Options"
+msgstr ""
+
+#: processor_box.cc:2487
msgid "Clear (all)"
msgstr ""
-#: processor_box.cc:2255
+#: processor_box.cc:2489
msgid "Clear (pre-fader)"
msgstr ""
-#: processor_box.cc:2257
+#: processor_box.cc:2491
msgid "Clear (post-fader)"
msgstr ""
-#: processor_box.cc:2283
+#: processor_box.cc:2517
msgid "Activate All"
msgstr "Activar tudo"
-#: processor_box.cc:2285
+#: processor_box.cc:2519
msgid "Deactivate All"
msgstr ""
-#: processor_box.cc:2287
+#: processor_box.cc:2521
msgid "A/B Plugins"
msgstr ""
-#: processor_box.cc:2296
+#: processor_box.cc:2530
msgid "Edit with generic controls..."
msgstr ""
-#: processor_box.cc:2599
+#: processor_box.cc:2833
msgid "%1: %2 (by %3)"
msgstr ""
-#: processor_box.cc:2601
-msgid "%2 (by %3)"
+#: processor_box.cc:2835
+msgid "%1 (by %2)"
msgstr ""
#: patch_change_dialog.cc:51
@@ -8309,11 +8448,11 @@ msgstr ""
msgid "Patch"
msgstr ""
-#: patch_change_dialog.cc:99 step_entry.cc:429
+#: patch_change_dialog.cc:99 step_entry.cc:430
msgid "Program"
msgstr ""
-#: patch_change_dialog.cc:107 step_entry.cc:421
+#: patch_change_dialog.cc:107 step_entry.cc:422
msgid "Bank"
msgstr ""
@@ -8345,120 +8484,120 @@ msgstr ""
msgid "Snap note end"
msgstr ""
-#: rc_option_editor.cc:67
+#: rc_option_editor.cc:76
msgid "Click audio file:"
msgstr ""
-#: rc_option_editor.cc:70 rc_option_editor.cc:77
+#: rc_option_editor.cc:79 rc_option_editor.cc:86
msgid "Browse..."
msgstr ""
-#: rc_option_editor.cc:74
+#: rc_option_editor.cc:83
msgid "Click emphasis audio file:"
msgstr ""
-#: rc_option_editor.cc:106
+#: rc_option_editor.cc:115
msgid "Choose Click"
msgstr "Metrónomo"
-#: rc_option_editor.cc:126
+#: rc_option_editor.cc:135
msgid "Choose Click Emphasis"
msgstr "Usar metrónomo acentuado"
-#: rc_option_editor.cc:158
+#: rc_option_editor.cc:167
msgid "Limit undo history to"
msgstr ""
-#: rc_option_editor.cc:159
+#: rc_option_editor.cc:168
msgid "Save undo history of"
msgstr ""
-#: rc_option_editor.cc:168 rc_option_editor.cc:175
+#: rc_option_editor.cc:177 rc_option_editor.cc:184
msgid "commands"
msgstr ""
-#: rc_option_editor.cc:313
+#: rc_option_editor.cc:322
msgid "Edit using:"
msgstr ""
-#: rc_option_editor.cc:319 rc_option_editor.cc:345 rc_option_editor.cc:372
+#: rc_option_editor.cc:328 rc_option_editor.cc:354 rc_option_editor.cc:381
msgid "+ button"
msgstr "+ botão"
-#: rc_option_editor.cc:339
+#: rc_option_editor.cc:348
msgid "Delete using:"
msgstr ""
-#: rc_option_editor.cc:366
+#: rc_option_editor.cc:375
msgid "Insert note using:"
msgstr ""
-#: rc_option_editor.cc:393
+#: rc_option_editor.cc:402
msgid "Ignore snap using:"
msgstr ""
-#: rc_option_editor.cc:409
+#: rc_option_editor.cc:418
msgid "Keyboard layout:"
msgstr ""
-#: rc_option_editor.cc:532
+#: rc_option_editor.cc:541
msgid "Font scaling:"
msgstr ""
-#: rc_option_editor.cc:584
+#: rc_option_editor.cc:591
+msgid "Waveform Clip Level (dBFS):"
+msgstr ""
+
+#: rc_option_editor.cc:643
msgid "Playback (seconds of buffering):"
msgstr ""
-#: rc_option_editor.cc:597
+#: rc_option_editor.cc:656
msgid "Recording (seconds of buffering):"
msgstr ""
-#: rc_option_editor.cc:654
+#: rc_option_editor.cc:714
msgid "Control Surface Protocol"
msgstr ""
-#: rc_option_editor.cc:658
-msgid "Feedback"
-msgstr ""
-
-#: rc_option_editor.cc:663
+#: rc_option_editor.cc:723
msgid "Double-click on a name to edit settings for an enabled protocol"
msgstr ""
-#: rc_option_editor.cc:815
+#: rc_option_editor.cc:886
msgid "Show Video Export Info before export"
msgstr ""
-#: rc_option_editor.cc:816
+#: rc_option_editor.cc:887
msgid "Show Video Server Startup Dialog"
msgstr ""
-#: rc_option_editor.cc:817
+#: rc_option_editor.cc:888
msgid "Advanced Setup (remote video server)"
msgstr ""
-#: rc_option_editor.cc:825
+#: rc_option_editor.cc:896
msgid ""
"<b>When enabled</b> you can speficify a custom video-server URL and docroot. "
"- Do not enable this option unless you know what you are doing."
msgstr ""
-#: rc_option_editor.cc:827
+#: rc_option_editor.cc:898
msgid "Video Server URL:"
msgstr ""
-#: rc_option_editor.cc:832
+#: rc_option_editor.cc:903
msgid ""
"Base URL of the video-server including http prefix. This is usually 'http://"
"hostname.example.org:1554/' and defaults to 'http://localhost:1554/' when "
"the video-server is running locally"
msgstr ""
-#: rc_option_editor.cc:834
+#: rc_option_editor.cc:905
msgid "Video Folder:"
msgstr ""
-#: rc_option_editor.cc:839
+#: rc_option_editor.cc:910
msgid ""
"Local path to the video-server document-root. Only files below this "
"directory will be accessible by the video-server. If the server run on a "
@@ -8467,113 +8606,194 @@ msgid ""
"monitor and file-browsing when opening/adding a video file."
msgstr ""
-#: rc_option_editor.cc:846
+#: rc_option_editor.cc:917
msgid ""
"<b>When enabled</b> an information window with details is displayed before "
"the video-export dialog."
msgstr ""
-#: rc_option_editor.cc:851
+#: rc_option_editor.cc:922
msgid ""
"<b>When enabled</b> the video server is never launched automatically without "
"confirmation"
msgstr ""
-#: rc_option_editor.cc:991
+#: rc_option_editor.cc:1004
+msgid "Always Display Plugin Scan Progress"
+msgstr ""
+
+#: rc_option_editor.cc:1005
+msgid "Scan for new VST Plugins on Application Start"
+msgstr ""
+
+#: rc_option_editor.cc:1016
+msgid "General"
+msgstr ""
+
+#: rc_option_editor.cc:1022
+msgid "Scan for Plugins"
+msgstr ""
+
+#: rc_option_editor.cc:1029
+msgid ""
+"<b>When enabled</b> a popup window showing plugin scan progress is displayed "
+"for indexing (cache load) and discovery (detect new plugins)"
+msgstr ""
+
+#: rc_option_editor.cc:1035
+msgid ""
+"Specify the default timeout for plugin instantiation in 1/10 seconds. "
+"Plugins that require more time to load will be blacklisted. A value of 0 "
+"disables the timeout."
+msgstr ""
+
+#: rc_option_editor.cc:1037
+msgid "Scan Time Out [deciseconds]"
+msgstr ""
+
+#: rc_option_editor.cc:1045
+msgid "VST"
+msgstr ""
+
+#: rc_option_editor.cc:1051
+msgid "Clear VST Cache"
+msgstr ""
+
+#: rc_option_editor.cc:1055
+msgid "Clear VST Blacklist"
+msgstr ""
+
+#: rc_option_editor.cc:1063
+msgid ""
+"<b>When enabled</b> new VST plugins are searched, tested and added to the "
+"cache index on application start. When disabled new plugins will only be "
+"available after triggering a 'Scan' manually"
+msgstr ""
+
+#: rc_option_editor.cc:1066
+msgid "Linux VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1073
+msgid "Windows VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1135
+msgid "Set Windows VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1150
+msgid "Set Linux VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1231
msgid "%1 Preferences"
msgstr ""
-#: rc_option_editor.cc:1002
+#: rc_option_editor.cc:1242
msgid "DSP CPU Utilization"
msgstr ""
-#: rc_option_editor.cc:1006
+#: rc_option_editor.cc:1246
msgid "Signal processing uses"
msgstr ""
-#: rc_option_editor.cc:1011
+#: rc_option_editor.cc:1251
msgid "all but one processor"
msgstr ""
-#: rc_option_editor.cc:1012
+#: rc_option_editor.cc:1252
msgid "all available processors"
msgstr ""
-#: rc_option_editor.cc:1015
+#: rc_option_editor.cc:1255
msgid "%1 processors"
msgstr ""
-#: rc_option_editor.cc:1018
+#: rc_option_editor.cc:1258
msgid "This setting will only take effect when %1 is restarted."
msgstr ""
-#: rc_option_editor.cc:1023
+#: rc_option_editor.cc:1263
msgid "Options|Undo"
msgstr ""
-#: rc_option_editor.cc:1030
+#: rc_option_editor.cc:1270
msgid "Verify removal of last capture"
msgstr ""
-#: rc_option_editor.cc:1038
+#: rc_option_editor.cc:1278
msgid "Make periodic backups of the session file"
msgstr ""
-#: rc_option_editor.cc:1043
+#: rc_option_editor.cc:1283
msgid "Session Management"
msgstr ""
-#: rc_option_editor.cc:1048
+#: rc_option_editor.cc:1288
msgid "Always copy imported files"
msgstr ""
-#: rc_option_editor.cc:1055
+#: rc_option_editor.cc:1295
msgid "Default folder for new sessions:"
msgstr ""
-#: rc_option_editor.cc:1063
+#: rc_option_editor.cc:1303
msgid "Maximum number of recent sessions"
msgstr ""
-#: rc_option_editor.cc:1076
+#: rc_option_editor.cc:1316
msgid "Click gain level"
msgstr ""
-#: rc_option_editor.cc:1081 route_time_axis.cc:215 route_time_axis.cc:676
+#: rc_option_editor.cc:1321 route_time_axis.cc:266 route_time_axis.cc:794
msgid "Automation"
msgstr "Automatização"
-#: rc_option_editor.cc:1086
+#: rc_option_editor.cc:1326
msgid "Thinning factor (larger value => less data)"
msgstr ""
-#: rc_option_editor.cc:1095
+#: rc_option_editor.cc:1335
msgid "Automation sampling interval (milliseconds)"
msgstr ""
-#: rc_option_editor.cc:1107
+#: rc_option_editor.cc:1347
msgid "Keep record-enable engaged on stop"
msgstr ""
-#: rc_option_editor.cc:1116
+#: rc_option_editor.cc:1356
msgid "Stop recording when an xrun occurs"
msgstr ""
-#: rc_option_editor.cc:1121
+#: rc_option_editor.cc:1361
msgid ""
"<b>When enabled</b> %1 will stop recording if an over- or underrun is "
"detected by the audio engine"
msgstr ""
-#: rc_option_editor.cc:1127
+#: rc_option_editor.cc:1367
+msgid "Play loop is a transport mode"
+msgstr ""
+
+#: rc_option_editor.cc:1372
+msgid ""
+"<b>When enabled</b> the loop button does not start playback but forces "
+"playback to always play the loop\n"
+"\n"
+"<b>When disabled</b> the loop button starts playing the loop, but stop then "
+"cancels loop playback"
+msgstr ""
+
+#: rc_option_editor.cc:1378
msgid "Create markers where xruns occur"
msgstr ""
-#: rc_option_editor.cc:1136
+#: rc_option_editor.cc:1387
msgid "Stop at the end of the session"
msgstr ""
-#: rc_option_editor.cc:1141
+#: rc_option_editor.cc:1392
msgid ""
"<b>When enabled</b> if %1 is <b>not recording</b>, it will stop the "
"transport when it reaches the current session end marker\n"
@@ -8582,11 +8802,11 @@ msgid ""
"all times"
msgstr ""
-#: rc_option_editor.cc:1149
+#: rc_option_editor.cc:1400
msgid "Do seamless looping (not possible when slaved to MTC, LTC etc)"
msgstr ""
-#: rc_option_editor.cc:1154
+#: rc_option_editor.cc:1405
msgid ""
"<b>When enabled</b> this will loop by reading ahead and wrapping around at "
"the loop point, preventing any need to do a transport locate at the end of "
@@ -8596,39 +8816,39 @@ msgid ""
"loop when %1 reaches the end which will often cause a small click or delay"
msgstr ""
-#: rc_option_editor.cc:1162
+#: rc_option_editor.cc:1413
msgid "Disable per-track record disarm while rolling"
msgstr ""
-#: rc_option_editor.cc:1166
+#: rc_option_editor.cc:1417
msgid ""
"<b>When enabled</b> this will prevent you from accidentally stopping "
"specific tracks recording during a take"
msgstr ""
-#: rc_option_editor.cc:1171
+#: rc_option_editor.cc:1422
msgid "12dB gain reduction during fast-forward and fast-rewind"
msgstr ""
-#: rc_option_editor.cc:1175
+#: rc_option_editor.cc:1426
msgid ""
"This will reduce the unpleasant increase in perceived volume that occurs "
"when fast-forwarding or rewinding through some kinds of audio"
msgstr ""
-#: rc_option_editor.cc:1179
+#: rc_option_editor.cc:1430
msgid "Sync/Slave"
msgstr ""
-#: rc_option_editor.cc:1183
+#: rc_option_editor.cc:1434
msgid "External timecode source"
msgstr ""
-#: rc_option_editor.cc:1193
+#: rc_option_editor.cc:1444
msgid "Match session video frame rate to external timecode"
msgstr ""
-#: rc_option_editor.cc:1199
+#: rc_option_editor.cc:1450
msgid ""
"This option controls the value of the video frame rate <i>while chasing</i> "
"an external timecode source.\n"
@@ -8642,21 +8862,21 @@ msgid ""
"external timecode standard and the session standard."
msgstr ""
-#: rc_option_editor.cc:1209
+#: rc_option_editor.cc:1460
msgid "External timecode is sync locked"
msgstr ""
-#: rc_option_editor.cc:1215
+#: rc_option_editor.cc:1466
msgid ""
"<b>When enabled</b> indicates that the selected external timecode source "
"shares sync (Black &amp; Burst, Wordclock, etc) with the audio interface."
msgstr ""
-#: rc_option_editor.cc:1222
+#: rc_option_editor.cc:1473
msgid "Lock to 29.9700 fps instead of 30000/1001"
msgstr ""
-#: rc_option_editor.cc:1228
+#: rc_option_editor.cc:1479
msgid ""
"<b>When enabled</b> the external timecode source is assumed to use 29.97 fps "
"instead of 30000/1001.\n"
@@ -8669,139 +8889,139 @@ msgid ""
"variant of using exactly 29.97 fps has zero timecode drift.\n"
msgstr ""
-#: rc_option_editor.cc:1238
+#: rc_option_editor.cc:1489
msgid "LTC Reader"
msgstr ""
-#: rc_option_editor.cc:1242
+#: rc_option_editor.cc:1493
msgid "LTC incoming port"
msgstr ""
-#: rc_option_editor.cc:1255
+#: rc_option_editor.cc:1506
msgid "LTC Generator"
msgstr ""
-#: rc_option_editor.cc:1260
+#: rc_option_editor.cc:1511
msgid "Enable LTC generator"
msgstr ""
-#: rc_option_editor.cc:1267
-msgid "send LTC while stopped"
+#: rc_option_editor.cc:1518
+msgid "Send LTC while stopped"
msgstr ""
-#: rc_option_editor.cc:1273
+#: rc_option_editor.cc:1524
msgid ""
"<b>When enabled</b> %1 will continue to send LTC information even when the "
"transport (playhead) is not moving"
msgstr ""
-#: rc_option_editor.cc:1279
+#: rc_option_editor.cc:1530
msgid "LTC generator level"
msgstr ""
-#: rc_option_editor.cc:1283
+#: rc_option_editor.cc:1534
msgid ""
"Specify the Peak Volume of the generated LTC signal in dbFS. A good value "
"is 0dBu ^= -18dbFS in an EBU calibrated system"
msgstr ""
-#: rc_option_editor.cc:1295
-msgid "Link selection of regions and tracks"
+#: rc_option_editor.cc:1546
+msgid "Allow dragging of playhead"
msgstr ""
-#: rc_option_editor.cc:1303
+#: rc_option_editor.cc:1554
msgid "Move relevant automation when audio regions are moved"
msgstr ""
-#: rc_option_editor.cc:1311
+#: rc_option_editor.cc:1562
msgid "Show meters on tracks in the editor"
msgstr ""
-#: rc_option_editor.cc:1319
+#: rc_option_editor.cc:1570
msgid "Display master-meter in the toolbar"
msgstr ""
-#: rc_option_editor.cc:1326
+#: rc_option_editor.cc:1577
+msgid "Default fade shape"
+msgstr ""
+
+#: rc_option_editor.cc:1596
msgid "Regions in active edit groups are edited together"
msgstr ""
-#: rc_option_editor.cc:1327
+#: rc_option_editor.cc:1597
msgid "whenever they overlap in time"
msgstr ""
-#: rc_option_editor.cc:1328
+#: rc_option_editor.cc:1598
msgid "only if they have identical length, position and origin"
msgstr ""
-#: rc_option_editor.cc:1338
+#: rc_option_editor.cc:1608
msgid "Make rubberband selection rectangle snap to the grid"
msgstr ""
-#: rc_option_editor.cc:1346
+#: rc_option_editor.cc:1616
msgid "Show waveforms in regions"
msgstr ""
-#: rc_option_editor.cc:1354
+#: rc_option_editor.cc:1624
msgid "Show gain envelopes in audio regions"
msgstr ""
-#: rc_option_editor.cc:1355
+#: rc_option_editor.cc:1625
msgid "in all modes"
msgstr ""
-#: rc_option_editor.cc:1356
+#: rc_option_editor.cc:1626
msgid "only in region gain mode"
msgstr ""
-#: rc_option_editor.cc:1363
+#: rc_option_editor.cc:1633
msgid "Waveform scale"
msgstr ""
-#: rc_option_editor.cc:1368
+#: rc_option_editor.cc:1638
msgid "linear"
msgstr "linear"
-#: rc_option_editor.cc:1369
+#: rc_option_editor.cc:1639
msgid "logarithmic"
msgstr ""
-#: rc_option_editor.cc:1375
+#: rc_option_editor.cc:1645
msgid "Waveform shape"
msgstr ""
-#: rc_option_editor.cc:1380
+#: rc_option_editor.cc:1650
msgid "traditional"
msgstr ""
-#: rc_option_editor.cc:1381
+#: rc_option_editor.cc:1651
msgid "rectified"
msgstr ""
-#: rc_option_editor.cc:1388
+#: rc_option_editor.cc:1660
msgid "Show waveforms for audio while it is being recorded"
msgstr ""
-#: rc_option_editor.cc:1396
+#: rc_option_editor.cc:1668
msgid "Show zoom toolbar"
msgstr ""
-#: rc_option_editor.cc:1404
-msgid "Color regions using their track's color"
-msgstr ""
-
-#: rc_option_editor.cc:1412
+#: rc_option_editor.cc:1676
msgid "Update editor window during drags of the summary"
msgstr ""
-#: rc_option_editor.cc:1420
+#: rc_option_editor.cc:1684
msgid "Synchronise editor and mixer selection"
msgstr ""
-#: rc_option_editor.cc:1427
+#: rc_option_editor.cc:1691
msgid "Name new markers"
msgstr ""
-#: rc_option_editor.cc:1433
+#: rc_option_editor.cc:1697
msgid ""
"If enabled, popup a dialog when a new marker is created to allow its name to "
"be set as it is created.\n"
@@ -8809,656 +9029,676 @@ msgid ""
"You can always rename markers by right-clicking on them"
msgstr ""
-#: rc_option_editor.cc:1439
+#: rc_option_editor.cc:1703
msgid "Auto-scroll editor window when dragging near its edges"
msgstr ""
-#: rc_option_editor.cc:1446
+#: rc_option_editor.cc:1710
msgid "Buffering"
msgstr ""
-#: rc_option_editor.cc:1454
+#: rc_option_editor.cc:1718
msgid "Record monitoring handled by"
msgstr ""
-#: rc_option_editor.cc:1460
+#: rc_option_editor.cc:1724
msgid "via Audio Driver"
msgstr ""
-#: rc_option_editor.cc:1463
-msgid "ardour"
-msgstr ""
-
-#: rc_option_editor.cc:1464
+#: rc_option_editor.cc:1730
msgid "audio hardware"
msgstr ""
-#: rc_option_editor.cc:1471
+#: rc_option_editor.cc:1737
msgid "Tape machine mode"
msgstr ""
-#: rc_option_editor.cc:1476
+#: rc_option_editor.cc:1742
msgid "Connection of tracks and busses"
msgstr ""
-#: rc_option_editor.cc:1481
+#: rc_option_editor.cc:1747
msgid "Auto-connect master/monitor busses"
msgstr ""
-#: rc_option_editor.cc:1488
+#: rc_option_editor.cc:1754
msgid "Connect track inputs"
msgstr ""
-#: rc_option_editor.cc:1493
+#: rc_option_editor.cc:1759
msgid "automatically to physical inputs"
msgstr ""
-#: rc_option_editor.cc:1494 rc_option_editor.cc:1507
+#: rc_option_editor.cc:1760 rc_option_editor.cc:1773
msgid "manually"
msgstr ""
-#: rc_option_editor.cc:1500
+#: rc_option_editor.cc:1766
msgid "Connect track and bus outputs"
msgstr ""
-#: rc_option_editor.cc:1505
+#: rc_option_editor.cc:1771
msgid "automatically to physical outputs"
msgstr ""
-#: rc_option_editor.cc:1506
+#: rc_option_editor.cc:1772
msgid "automatically to master bus"
msgstr ""
-#: rc_option_editor.cc:1511
+#: rc_option_editor.cc:1777
msgid "Denormals"
msgstr ""
-#: rc_option_editor.cc:1516
+#: rc_option_editor.cc:1782
msgid "Use DC bias to protect against denormals"
msgstr ""
-#: rc_option_editor.cc:1523
+#: rc_option_editor.cc:1789
msgid "Processor handling"
msgstr ""
-#: rc_option_editor.cc:1528
+#: rc_option_editor.cc:1794
msgid "no processor handling"
msgstr ""
-#: rc_option_editor.cc:1533
+#: rc_option_editor.cc:1799
msgid "use FlushToZero"
msgstr ""
-#: rc_option_editor.cc:1537
+#: rc_option_editor.cc:1803
msgid "use DenormalsAreZero"
msgstr ""
-#: rc_option_editor.cc:1541
+#: rc_option_editor.cc:1807
msgid "use FlushToZero and DenormalsAreZero"
msgstr ""
-#: rc_option_editor.cc:1551
+#: rc_option_editor.cc:1817
msgid "Silence plugins when the transport is stopped"
msgstr ""
-#: rc_option_editor.cc:1559
+#: rc_option_editor.cc:1825
msgid "Make new plugins active"
msgstr ""
-#: rc_option_editor.cc:1567
+#: rc_option_editor.cc:1835
msgid "Enable automatic analysis of audio"
msgstr ""
-#: rc_option_editor.cc:1575
+#: rc_option_editor.cc:1843
msgid "Replicate missing region channels"
msgstr ""
-#: rc_option_editor.cc:1582 rc_option_editor.cc:1597 rc_option_editor.cc:1609
-#: rc_option_editor.cc:1621 rc_option_editor.cc:1633 rc_option_editor.cc:1637
-#: rc_option_editor.cc:1645 rc_option_editor.cc:1653 rc_option_editor.cc:1661
-#: rc_option_editor.cc:1663 rc_option_editor.cc:1671 rc_option_editor.cc:1679
-#: rc_option_editor.cc:1687
+#: rc_option_editor.cc:1850 rc_option_editor.cc:1852 rc_option_editor.cc:1867
+#: rc_option_editor.cc:1879 rc_option_editor.cc:1891 rc_option_editor.cc:1903
+#: rc_option_editor.cc:1907 rc_option_editor.cc:1915 rc_option_editor.cc:1923
+#: rc_option_editor.cc:1931 rc_option_editor.cc:1933 rc_option_editor.cc:1941
+#: rc_option_editor.cc:1949 rc_option_editor.cc:1957 rc_option_editor.cc:1965
+#: rc_option_editor.cc:1967
msgid "Solo / mute"
msgstr ""
-#: rc_option_editor.cc:1585
+#: rc_option_editor.cc:1855
msgid "Solo-in-place mute cut (dB)"
msgstr ""
-#: rc_option_editor.cc:1592
+#: rc_option_editor.cc:1862
msgid "Solo controls are Listen controls"
msgstr ""
-#: rc_option_editor.cc:1601
+#: rc_option_editor.cc:1871
msgid "Listen Position"
msgstr ""
-#: rc_option_editor.cc:1606
+#: rc_option_editor.cc:1876
msgid "after-fader (AFL)"
msgstr ""
-#: rc_option_editor.cc:1607
+#: rc_option_editor.cc:1877
msgid "pre-fader (PFL)"
msgstr ""
-#: rc_option_editor.cc:1613
+#: rc_option_editor.cc:1883
msgid "PFL signals come from"
msgstr ""
-#: rc_option_editor.cc:1618
+#: rc_option_editor.cc:1888
msgid "before pre-fader processors"
msgstr ""
-#: rc_option_editor.cc:1619
+#: rc_option_editor.cc:1889
msgid "pre-fader but after pre-fader processors"
msgstr ""
-#: rc_option_editor.cc:1625
+#: rc_option_editor.cc:1895
msgid "AFL signals come from"
msgstr ""
-#: rc_option_editor.cc:1630
+#: rc_option_editor.cc:1900
msgid "immediately post-fader"
msgstr ""
-#: rc_option_editor.cc:1631
+#: rc_option_editor.cc:1901
msgid "after post-fader processors (before pan)"
msgstr ""
-#: rc_option_editor.cc:1640
+#: rc_option_editor.cc:1910
msgid "Exclusive solo"
msgstr ""
-#: rc_option_editor.cc:1648
+#: rc_option_editor.cc:1918
msgid "Show solo muting"
msgstr ""
-#: rc_option_editor.cc:1656
+#: rc_option_editor.cc:1926
msgid "Soloing overrides muting"
msgstr ""
-#: rc_option_editor.cc:1661
+#: rc_option_editor.cc:1931
msgid "Default track / bus muting options"
msgstr ""
-#: rc_option_editor.cc:1666
+#: rc_option_editor.cc:1936
msgid "Mute affects pre-fader sends"
msgstr ""
-#: rc_option_editor.cc:1674
+#: rc_option_editor.cc:1944
msgid "Mute affects post-fader sends"
msgstr ""
-#: rc_option_editor.cc:1682
+#: rc_option_editor.cc:1952
msgid "Mute affects control outputs"
msgstr ""
-#: rc_option_editor.cc:1690
+#: rc_option_editor.cc:1960
msgid "Mute affects main outputs"
msgstr ""
-#: rc_option_editor.cc:1706
+#: rc_option_editor.cc:1965
+msgid "Send Routing"
+msgstr ""
+
+#: rc_option_editor.cc:1970
+msgid "Link panners of Aux and External Sends with main panner by default"
+msgstr ""
+
+#: rc_option_editor.cc:1986
msgid "Send MIDI Time Code"
msgstr ""
-#: rc_option_editor.cc:1714
+#: rc_option_editor.cc:1994
msgid "Percentage either side of normal transport speed to transmit MTC"
msgstr ""
-#: rc_option_editor.cc:1723
+#: rc_option_editor.cc:2003
msgid "Obey MIDI Machine Control commands"
msgstr ""
-#: rc_option_editor.cc:1731
+#: rc_option_editor.cc:2011
msgid "Send MIDI Machine Control commands"
msgstr ""
-#: rc_option_editor.cc:1739
+#: rc_option_editor.cc:2019
msgid "Send MIDI control feedback"
msgstr ""
-#: rc_option_editor.cc:1747
+#: rc_option_editor.cc:2027
msgid "Inbound MMC device ID"
msgstr ""
-#: rc_option_editor.cc:1756
+#: rc_option_editor.cc:2036
msgid "Outbound MMC device ID"
msgstr ""
-#: rc_option_editor.cc:1765
+#: rc_option_editor.cc:2045
msgid "Initial program change"
msgstr ""
-#: rc_option_editor.cc:1774
+#: rc_option_editor.cc:2054
msgid "Display first MIDI bank/program as 0"
msgstr ""
-#: rc_option_editor.cc:1782
+#: rc_option_editor.cc:2062
msgid "Never display periodic MIDI messages (MTC, MIDI Clock)"
msgstr ""
-#: rc_option_editor.cc:1790
+#: rc_option_editor.cc:2070
msgid "Sound MIDI notes as they are selected"
msgstr ""
-#: rc_option_editor.cc:1798 rc_option_editor.cc:1808 rc_option_editor.cc:1810
+#: rc_option_editor.cc:2075
+msgid "Midi Audition"
+msgstr ""
+
+#: rc_option_editor.cc:2079
+msgid "Midi Audition Synth (LV2)"
+msgstr ""
+
+#: rc_option_editor.cc:2103 rc_option_editor.cc:2113 rc_option_editor.cc:2115
msgid "User interaction"
msgstr ""
-#: rc_option_editor.cc:1801
+#: rc_option_editor.cc:2106
msgid ""
"Use translations of %1 messages\n"
" <i>(requires a restart of %1 to take effect)</i>\n"
" <i>(if available for your language preferences)</i>"
msgstr ""
-#: rc_option_editor.cc:1808
+#: rc_option_editor.cc:2113
msgid "Keyboard"
msgstr ""
-#: rc_option_editor.cc:1818
+#: rc_option_editor.cc:2123
msgid "Control surface remote ID"
msgstr ""
-#: rc_option_editor.cc:1823
+#: rc_option_editor.cc:2128
msgid "assigned by user"
msgstr ""
-#: rc_option_editor.cc:1824
+#: rc_option_editor.cc:2129
msgid "follows order of mixer"
msgstr ""
-#: rc_option_editor.cc:1833 rc_option_editor.cc:1841 rc_option_editor.cc:1851
-#: rc_option_editor.cc:1872 rc_option_editor.cc:1881 rc_option_editor.cc:1889
-#: rc_option_editor.cc:1903 rc_option_editor.cc:1922 rc_option_editor.cc:1938
-#: rc_option_editor.cc:1954 rc_option_editor.cc:1968 rc_option_editor.cc:1982
-#: rc_option_editor.cc:1984
+#: rc_option_editor.cc:2143 rc_option_editor.cc:2151 rc_option_editor.cc:2159
+#: rc_option_editor.cc:2169 rc_option_editor.cc:2193 rc_option_editor.cc:2206
+#: rc_option_editor.cc:2215
msgid "Preferences|GUI"
msgstr ""
-#: rc_option_editor.cc:1836
+#: rc_option_editor.cc:2146
msgid "Graphically indicate mouse pointer hovering over various widgets"
msgstr ""
-#: rc_option_editor.cc:1844
+#: rc_option_editor.cc:2154
msgid "Show tooltips if mouse hovers over a control"
msgstr ""
-#: rc_option_editor.cc:1854
-msgid "GUI"
+#: rc_option_editor.cc:2162
+msgid "Use name highlight bars in region displays"
msgstr ""
-#: rc_option_editor.cc:1857
-msgid "update transport clock display every 40ms instead of every 100ms"
+#: rc_option_editor.cc:2175
+msgid "update transport clock display at FPS instead of every 100ms"
msgstr ""
-#: rc_option_editor.cc:1874
+#: rc_option_editor.cc:2184
+msgid "Lock timeout (seconds)"
+msgstr ""
+
+#: rc_option_editor.cc:2192
+msgid "Lock GUI after this many idle seconds (zero to never lock)"
+msgstr ""
+
+#: rc_option_editor.cc:2208
msgid "Mixer Strip"
msgstr ""
-#: rc_option_editor.cc:1884
+#: rc_option_editor.cc:2218
msgid "Use narrow strips in the mixer by default"
msgstr ""
-#: rc_option_editor.cc:1893
+#: rc_option_editor.cc:2223 rc_option_editor.cc:2237 rc_option_editor.cc:2256
+#: rc_option_editor.cc:2272 rc_option_editor.cc:2288 rc_option_editor.cc:2302
+#: rc_option_editor.cc:2316 rc_option_editor.cc:2318
+msgid "Preferences|Metering"
+msgstr ""
+
+#: rc_option_editor.cc:2227
msgid "Peak hold time"
msgstr ""
-#: rc_option_editor.cc:1899
+#: rc_option_editor.cc:2233
msgid "short"
msgstr ""
-#: rc_option_editor.cc:1900
+#: rc_option_editor.cc:2234
msgid "medium"
msgstr ""
-#: rc_option_editor.cc:1901
+#: rc_option_editor.cc:2235
msgid "long"
msgstr ""
-#: rc_option_editor.cc:1907
+#: rc_option_editor.cc:2241
msgid "DPM fall-off"
msgstr ""
-#: rc_option_editor.cc:1913
+#: rc_option_editor.cc:2247
msgid "slowest [6.6dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1914
+#: rc_option_editor.cc:2248
msgid "slow [8.6dB/sec] (BBC PPM, EBU PPM)"
msgstr ""
-#: rc_option_editor.cc:1915
+#: rc_option_editor.cc:2249
msgid "slowish [12.0dB/sec] (DIN)"
msgstr ""
-#: rc_option_editor.cc:1916
+#: rc_option_editor.cc:2250
msgid "moderate [13.3dB/sec] (EBU Digi PPM, IRT Digi PPM)"
msgstr ""
-#: rc_option_editor.cc:1917
+#: rc_option_editor.cc:2251
msgid "medium [20dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1918
+#: rc_option_editor.cc:2252
msgid "fast [32dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1919
+#: rc_option_editor.cc:2253
msgid "faster [46dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1920
+#: rc_option_editor.cc:2254
msgid "fastest [70dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1926
+#: rc_option_editor.cc:2260
msgid "Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1931 rc_option_editor.cc:1947
+#: rc_option_editor.cc:2265 rc_option_editor.cc:2281
msgid "-24dBFS (SMPTE US: 4dBu = -20dBFS)"
msgstr ""
-#: rc_option_editor.cc:1932 rc_option_editor.cc:1948
+#: rc_option_editor.cc:2266 rc_option_editor.cc:2282
msgid "-20dBFS (SMPTE RP.0155)"
msgstr ""
-#: rc_option_editor.cc:1933 rc_option_editor.cc:1949
+#: rc_option_editor.cc:2267 rc_option_editor.cc:2283
msgid "-18dBFS (EBU, BBC)"
msgstr ""
-#: rc_option_editor.cc:1934 rc_option_editor.cc:1950
+#: rc_option_editor.cc:2268 rc_option_editor.cc:2284
msgid "-15dBFS (DIN)"
msgstr ""
-#: rc_option_editor.cc:1936
+#: rc_option_editor.cc:2270
msgid ""
"Configure meter-marks and color-knee point for dBFS scale DPM, set reference "
"level for IEC1/Nordic, IEC2 PPM and VU meter."
msgstr ""
-#: rc_option_editor.cc:1942
+#: rc_option_editor.cc:2276
msgid "IEC1/DIN Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1952
+#: rc_option_editor.cc:2286
msgid "Reference level for IEC1/DIN meter."
msgstr ""
-#: rc_option_editor.cc:1958
+#: rc_option_editor.cc:2292
msgid "VU Meter standard"
msgstr ""
-#: rc_option_editor.cc:1963
+#: rc_option_editor.cc:2297
msgid "0VU = -2dBu (France)"
msgstr ""
-#: rc_option_editor.cc:1964
+#: rc_option_editor.cc:2298
msgid "0VU = 0dBu (North America, Australia)"
msgstr ""
-#: rc_option_editor.cc:1965
+#: rc_option_editor.cc:2299
msgid "0VU = +4dBu (standard)"
msgstr ""
-#: rc_option_editor.cc:1966
+#: rc_option_editor.cc:2300
msgid "0VU = +8dBu"
msgstr ""
-#: rc_option_editor.cc:1972
+#: rc_option_editor.cc:2306
msgid "Peak threshold [dBFS]"
msgstr ""
-#: rc_option_editor.cc:1980
+#: rc_option_editor.cc:2314
msgid ""
"Specify the audio signal level in dbFS at and above which the meter-peak "
"indicator will flash red."
msgstr ""
-#: rc_option_editor.cc:1987
+#: rc_option_editor.cc:2321
msgid "LED meter style"
msgstr ""
-#: region_editor.cc:79
+#: region_editor.cc:78
msgid "audition this region"
msgstr "ouvir esta região"
-#: region_editor.cc:88 region_layering_order_editor.cc:74
+#: region_editor.cc:87 region_layering_order_editor.cc:75
msgid "Position:"
msgstr ""
-#: region_editor.cc:90 add_video_dialog.cc:170
+#: region_editor.cc:89 add_video_dialog.cc:155
msgid "End:"
msgstr "Final:"
-#: region_editor.cc:92 sfdb_ui.cc:139
+#: region_editor.cc:91 sfdb_ui.cc:143
msgid "Length:"
msgstr ""
-#: region_editor.cc:94
+#: region_editor.cc:93
msgid "Sync point (relative to region):"
msgstr ""
-#: region_editor.cc:96
+#: region_editor.cc:95
msgid "Sync point (absolute):"
msgstr ""
-#: region_editor.cc:98
+#: region_editor.cc:97
msgid "File start:"
msgstr ""
-#: region_editor.cc:102
+#: region_editor.cc:101
msgid "Sources:"
msgstr ""
-#: region_editor.cc:104
+#: region_editor.cc:103
msgid "Source:"
msgstr ""
-#: region_editor.cc:166
+#: region_editor.cc:165
msgid "Region '%1'"
msgstr ""
-#: region_editor.cc:273
+#: region_editor.cc:272
msgid "change region start position"
msgstr ""
-#: region_editor.cc:289
+#: region_editor.cc:288
msgid "change region end position"
msgstr ""
-#: region_editor.cc:309
+#: region_editor.cc:308
msgid "change region length"
msgstr ""
-#: region_editor.cc:403 region_editor.cc:415
+#: region_editor.cc:402 region_editor.cc:414
msgid "change region sync point"
msgstr ""
-#: region_layering_order_editor.cc:41
+#: region_layering_order_editor.cc:42
msgid "RegionLayeringOrderEditor"
msgstr ""
-#: region_layering_order_editor.cc:54
+#: region_layering_order_editor.cc:55
msgid "Region Name"
msgstr ""
-#: region_layering_order_editor.cc:71
+#: region_layering_order_editor.cc:72
msgid "Track:"
msgstr ""
-#: region_layering_order_editor.cc:103
+#: region_layering_order_editor.cc:104
msgid "Choose Top Region"
msgstr ""
-#: region_view.cc:274
+#: region_view.cc:282
msgid "SilenceText"
msgstr ""
-#: region_view.cc:290 region_view.cc:309
+#: region_view.cc:297 region_view.cc:316
msgid "minutes"
msgstr ""
-#: region_view.cc:293 region_view.cc:312
+#: region_view.cc:300 region_view.cc:319
msgid "msecs"
msgstr ""
-#: region_view.cc:296 region_view.cc:315
+#: region_view.cc:303 region_view.cc:322
msgid "secs"
msgstr ""
-#: region_view.cc:299
+#: region_view.cc:306
msgid "%1 silent segment"
msgid_plural "%1 silent segments"
msgstr[0] ""
msgstr[1] ""
-#: region_view.cc:301
+#: region_view.cc:308
msgid "shortest = %1 %2"
msgstr ""
-#: region_view.cc:318
+#: region_view.cc:325
msgid ""
"\n"
" (shortest audible segment = %1 %2)"
msgstr ""
-#: return_ui.cc:103
+#: return_ui.cc:102
msgid "Return "
msgstr ""
-#: rhythm_ferret.cc:49
+#: rhythm_ferret.cc:48
msgid "Percussive Onset"
msgstr ""
-#: rhythm_ferret.cc:50
+#: rhythm_ferret.cc:49
msgid "Note Onset"
msgstr ""
-#: rhythm_ferret.cc:55
+#: rhythm_ferret.cc:54
msgid "Energy Based"
msgstr ""
-#: rhythm_ferret.cc:56
+#: rhythm_ferret.cc:55
msgid "Spectral Difference"
msgstr ""
-#: rhythm_ferret.cc:57
+#: rhythm_ferret.cc:56
msgid "High-Frequency Content"
msgstr ""
-#: rhythm_ferret.cc:58
+#: rhythm_ferret.cc:57
msgid "Complex Domain"
msgstr ""
-#: rhythm_ferret.cc:59
+#: rhythm_ferret.cc:58
msgid "Phase Deviation"
msgstr ""
-#: rhythm_ferret.cc:60
+#: rhythm_ferret.cc:59
msgid "Kullback-Liebler"
msgstr ""
-#: rhythm_ferret.cc:61
+#: rhythm_ferret.cc:60
msgid "Modified Kullback-Liebler"
msgstr ""
-#: rhythm_ferret.cc:66
+#: rhythm_ferret.cc:65
msgid "Split region"
msgstr ""
-#: rhythm_ferret.cc:67
+#: rhythm_ferret.cc:66
msgid "Snap regions"
msgstr ""
-#: rhythm_ferret.cc:68
+#: rhythm_ferret.cc:67
msgid "Conform regions"
msgstr ""
-#: rhythm_ferret.cc:73
+#: rhythm_ferret.cc:72
msgid "Rhythm Ferret"
msgstr ""
-#: rhythm_ferret.cc:79
+#: rhythm_ferret.cc:78
msgid "Analyze"
msgstr ""
-#: rhythm_ferret.cc:114
+#: rhythm_ferret.cc:113
msgid "Detection function"
msgstr ""
-#: rhythm_ferret.cc:118
+#: rhythm_ferret.cc:117
msgid "Trigger gap"
msgstr ""
-#: rhythm_ferret.cc:123 strip_silence_dialog.cc:68
+#: rhythm_ferret.cc:122 strip_silence_dialog.cc:64
msgid "Threshold"
msgstr ""
-#: rhythm_ferret.cc:128
+#: rhythm_ferret.cc:127
msgid "Peak threshold"
msgstr ""
-#: rhythm_ferret.cc:133
+#: rhythm_ferret.cc:132
msgid "Silence threshold"
msgstr ""
-#: rhythm_ferret.cc:138
+#: rhythm_ferret.cc:137
msgid "Sensitivity"
msgstr ""
-#: rhythm_ferret.cc:142
+#: rhythm_ferret.cc:141
msgid "Operation"
msgstr ""
-#: rhythm_ferret.cc:356
+#: rhythm_ferret.cc:355
msgid "split regions (rhythm ferret)"
msgstr ""
-#: route_group_dialog.cc:36
+#: route_group_dialog.cc:42
msgid "Track/bus Group"
msgstr ""
-#: route_group_dialog.cc:41
+#: route_group_dialog.cc:47
msgid "Relative"
msgstr ""
-#: route_group_dialog.cc:42
+#: route_group_dialog.cc:48
msgid "Muting"
msgstr ""
-#: route_group_dialog.cc:43
-msgid "Soloing"
-msgstr ""
-
-#: route_group_dialog.cc:44
+#: route_group_dialog.cc:50
msgid "Record enable"
msgstr ""
-#: route_group_dialog.cc:45 time_info_box.cc:66
+#: route_group_dialog.cc:51 time_info_box.cc:67
msgid "Selection"
msgstr ""
-#: route_group_dialog.cc:46
+#: route_group_dialog.cc:52
msgid "Active state"
msgstr ""
-#: route_group_dialog.cc:47 route_group_dialog.cc:76 theme_manager.cc:71
+#: route_group_dialog.cc:53 route_group_dialog.cc:82 theme_manager.cc:84
msgid "Color"
msgstr "Cor"
-#: route_group_dialog.cc:53
+#: route_group_dialog.cc:59
msgid "RouteGroupDialog"
msgstr ""
-#: route_group_dialog.cc:92
+#: route_group_dialog.cc:100
msgid "<b>Sharing</b>"
msgstr ""
-#: route_group_dialog.cc:182
-msgid ""
-"A route group of this name already exists. Please use a different name."
+#: route_group_dialog.cc:200
+msgid "The group name is not unique. Please use a different name."
msgstr ""
#: route_params_ui.cc:83
@@ -9481,296 +9721,280 @@ msgstr ""
msgid "route display list item for renamed route not found!"
msgstr "não foi encontrado qualquer encaminhamento"
-#: route_params_ui.cc:255 route_params_ui.cc:283
+#: route_params_ui.cc:278 route_params_ui.cc:306
#, c-format
msgid "Playback delay: %<PRId64> samples"
msgstr ""
-#: route_params_ui.cc:475
+#: route_params_ui.cc:498
msgid "NO TRACK"
msgstr "Nenhuma faixa"
-#: route_params_ui.cc:613 route_params_ui.cc:614
+#: route_params_ui.cc:636 route_params_ui.cc:637
msgid "No Track or Bus Selected"
msgstr ""
-#: route_time_axis.cc:97
-msgid "g"
-msgstr ""
-
-#: route_time_axis.cc:98
-msgid "p"
-msgstr ""
-
-#: route_time_axis.cc:99
-msgid "a"
-msgstr ""
-
-#: route_time_axis.cc:173
+#: route_time_axis.cc:179
msgid "Record (Right-click for Step Edit)"
msgstr ""
-#: route_time_axis.cc:176
+#: route_time_axis.cc:182
msgid "Record"
msgstr "Gravar"
-#: route_time_axis.cc:210
+#: route_time_axis.cc:254
msgid "Route Group"
msgstr ""
-#: route_time_axis.cc:213
+#: route_time_axis.cc:264
msgid "MIDI Controllers and Automation"
msgstr ""
-#: route_time_axis.cc:390
+#: route_time_axis.cc:500
msgid "Show All Automation"
msgstr ""
-#: route_time_axis.cc:393
+#: route_time_axis.cc:503
msgid "Show Existing Automation"
msgstr ""
-#: route_time_axis.cc:396
+#: route_time_axis.cc:506
msgid "Hide All Automation"
msgstr ""
-#: route_time_axis.cc:405
+#: route_time_axis.cc:515
msgid "Processor automation"
msgstr ""
-#: route_time_axis.cc:424
-msgid "Color..."
-msgstr ""
-
-#: route_time_axis.cc:481
+#: route_time_axis.cc:599
msgid "Overlaid"
msgstr ""
-#: route_time_axis.cc:487
+#: route_time_axis.cc:605
msgid "Stacked"
msgstr ""
-#: route_time_axis.cc:495
+#: route_time_axis.cc:613
msgid "Layers"
msgstr ""
-#: route_time_axis.cc:564
+#: route_time_axis.cc:682
msgid "Automatic (based on I/O connections)"
msgstr ""
-#: route_time_axis.cc:573
+#: route_time_axis.cc:691
msgid "(Currently: Existing Material)"
msgstr ""
-#: route_time_axis.cc:576
+#: route_time_axis.cc:694
msgid "(Currently: Capture Time)"
msgstr ""
-#: route_time_axis.cc:584
+#: route_time_axis.cc:702
msgid "Align With Existing Material"
msgstr ""
-#: route_time_axis.cc:589
+#: route_time_axis.cc:707
msgid "Align With Capture Time"
msgstr ""
-#: route_time_axis.cc:594
+#: route_time_axis.cc:712
msgid "Alignment"
msgstr "Alinhamento"
-#: route_time_axis.cc:629
+#: route_time_axis.cc:747
msgid "Normal Mode"
msgstr ""
-#: route_time_axis.cc:635
+#: route_time_axis.cc:753
msgid "Tape Mode"
msgstr ""
-#: route_time_axis.cc:641
+#: route_time_axis.cc:759
msgid "Non-Layered Mode"
msgstr ""
-#: route_time_axis.cc:654 route_time_axis.cc:1601
+#: route_time_axis.cc:772 route_time_axis.cc:1748
msgid "Playlist"
msgstr "Lista de reprodução"
-#: route_time_axis.cc:979
+#: route_time_axis.cc:1070
msgid "Rename Playlist"
msgstr ""
-#: route_time_axis.cc:980
+#: route_time_axis.cc:1071
msgid "New name for playlist:"
msgstr ""
-#: route_time_axis.cc:1065
+#: route_time_axis.cc:1156
msgid "New Copy Playlist"
msgstr ""
-#: route_time_axis.cc:1066 route_time_axis.cc:1119
+#: route_time_axis.cc:1157 route_time_axis.cc:1210
msgid "Name for new playlist:"
msgstr ""
-#: route_time_axis.cc:1118
+#: route_time_axis.cc:1209
msgid "New Playlist"
msgstr ""
-#: route_time_axis.cc:1309
+#: route_time_axis.cc:1400
msgid "You cannot create a track with that name as it is reserved for %1"
msgstr ""
-#: route_time_axis.cc:1490
+#: route_time_axis.cc:1637
msgid "New Copy..."
msgstr ""
-#: route_time_axis.cc:1494
+#: route_time_axis.cc:1641
msgid "New Take"
msgstr ""
-#: route_time_axis.cc:1495
+#: route_time_axis.cc:1642
msgid "Copy Take"
msgstr ""
-#: route_time_axis.cc:1500
+#: route_time_axis.cc:1647
msgid "Clear Current"
msgstr "Apagar actual"
-#: route_time_axis.cc:1503
+#: route_time_axis.cc:1650
msgid "Select From All..."
msgstr ""
-#: route_time_axis.cc:1591
+#: route_time_axis.cc:1738
msgid "Take: %1.%2"
msgstr ""
-#: route_time_axis.cc:2291
+#: route_time_axis.cc:2024 selection.cc:1002 selection.cc:1056
+msgid "programming error: "
+msgstr ""
+
+#: route_time_axis.cc:2440
msgid "Underlays"
msgstr ""
-#: route_time_axis.cc:2294
+#: route_time_axis.cc:2443
msgid "Remove \"%1\""
msgstr ""
-#: route_time_axis.cc:2344 route_time_axis.cc:2381
+#: route_time_axis.cc:2493 route_time_axis.cc:2530
msgid "programming error: underlay reference pointer pairs are inconsistent!"
msgstr ""
-#: route_time_axis.cc:2408
+#: route_time_axis.cc:2557
msgid "After-fade listen (AFL)"
msgstr ""
-#: route_time_axis.cc:2412
+#: route_time_axis.cc:2561
msgid "Pre-fade listen (PFL)"
msgstr ""
-#: route_time_axis.cc:2416
-msgid "s"
-msgstr ""
-
-#: route_time_axis.cc:2419
-msgid "m"
-msgstr ""
-
-#: route_ui.cc:119
+#: route_ui.cc:138
msgid "Mute this track"
msgstr ""
-#: route_ui.cc:123
+#: route_ui.cc:142
msgid "Mute other (non-soloed) tracks"
msgstr ""
-#: route_ui.cc:129
+#: route_ui.cc:148
msgid "Enable recording on this track"
msgstr ""
-#: route_ui.cc:133
+#: route_ui.cc:154
msgid "make mixer strips show sends to this bus"
msgstr ""
-#: route_ui.cc:138
+#: route_ui.cc:159
msgid "Monitor input"
msgstr ""
-#: route_ui.cc:144
+#: route_ui.cc:165
msgid "Monitor playback"
msgstr ""
-#: route_ui.cc:591
-msgid "Not connected to JACK - cannot engage record"
+#: route_ui.cc:668
+msgid "Not connected to AudioEngine - cannot engage record"
msgstr ""
-#: route_ui.cc:786
+#: route_ui.cc:867
msgid "Step Entry"
msgstr ""
-#: route_ui.cc:859
+#: route_ui.cc:940
msgid "Assign all tracks (prefader)"
msgstr ""
-#: route_ui.cc:863
+#: route_ui.cc:944
msgid "Assign all tracks and buses (prefader)"
msgstr ""
-#: route_ui.cc:867
+#: route_ui.cc:948
msgid "Assign all tracks (postfader)"
msgstr ""
-#: route_ui.cc:871
+#: route_ui.cc:952
msgid "Assign all tracks and buses (postfader)"
msgstr ""
-#: route_ui.cc:875
+#: route_ui.cc:956
msgid "Assign selected tracks (prefader)"
msgstr ""
-#: route_ui.cc:879
+#: route_ui.cc:960
msgid "Assign selected tracks and buses (prefader)"
msgstr ""
-#: route_ui.cc:882
+#: route_ui.cc:963
msgid "Assign selected tracks (postfader)"
msgstr ""
-#: route_ui.cc:886
+#: route_ui.cc:967
msgid "Assign selected tracks and buses (postfader)"
msgstr ""
-#: route_ui.cc:889
+#: route_ui.cc:970
msgid "Copy track/bus gains to sends"
msgstr ""
-#: route_ui.cc:890
+#: route_ui.cc:971
msgid "Set sends gain to -inf"
msgstr ""
-#: route_ui.cc:891
+#: route_ui.cc:972
msgid "Set sends gain to 0dB"
msgstr ""
-#: route_ui.cc:1211
+#: route_ui.cc:1294
msgid "Solo Isolate"
msgstr ""
-#: route_ui.cc:1240
-msgid "Pre Fader"
-msgstr "Pré-atenuador"
+#: route_ui.cc:1301
+msgid "Solo Safe"
+msgstr ""
-#: route_ui.cc:1246
-msgid "Post Fader"
-msgstr "Pós-atenuador"
+#: route_ui.cc:1323
+msgid "Pre Fader Sends"
+msgstr ""
+
+#: route_ui.cc:1329
+msgid "Post Fader Sends"
+msgstr ""
-#: route_ui.cc:1252
+#: route_ui.cc:1335
msgid "Control Outs"
msgstr "Saídas de controlo"
-#: route_ui.cc:1258
+#: route_ui.cc:1341
msgid "Main Outs"
msgstr "Saídas principais"
-#: route_ui.cc:1390
+#: route_ui.cc:1473
msgid "Color Selection"
msgstr ""
-#: route_ui.cc:1477
+#: route_ui.cc:1558
msgid ""
"Do you really want to remove track \"%1\" ?\n"
"\n"
@@ -9779,68 +10003,72 @@ msgid ""
"(This action cannot be undone, and the session file will be overwritten)"
msgstr ""
-#: route_ui.cc:1479
+#: route_ui.cc:1560
msgid ""
"Do you really want to remove bus \"%1\" ?\n"
"\n"
"(This action cannot be undone, and the session file will be overwritten)"
msgstr ""
-#: route_ui.cc:1487
+#: route_ui.cc:1568
msgid "Remove track"
msgstr ""
-#: route_ui.cc:1489
+#: route_ui.cc:1570
msgid "Remove bus"
msgstr ""
-#: route_ui.cc:1516
+#: route_ui.cc:1598
msgid ""
"The use of colons (':') is discouraged in track and bus names.\n"
"Do you want to use this new name?"
msgstr ""
-#: route_ui.cc:1520
+#: route_ui.cc:1602
msgid "Use the new name"
msgstr ""
-#: route_ui.cc:1521
+#: route_ui.cc:1603
msgid "Re-edit the name"
msgstr ""
-#: route_ui.cc:1534
+#: route_ui.cc:1616
msgid "Rename Track"
msgstr "Renomear faixa"
-#: route_ui.cc:1536
+#: route_ui.cc:1618
msgid "Rename Bus"
msgstr ""
-#: route_ui.cc:1695
+#: route_ui.cc:1686
+msgid ": comment editor"
+msgstr ": editor de comentários"
+
+#: route_ui.cc:1852
msgid " latency"
msgstr ""
-#: route_ui.cc:1708
+#: route_ui.cc:1865
msgid "Cannot create route template directory %1"
msgstr ""
-#: route_ui.cc:1714
+#: route_ui.cc:1871
msgid "Save As Template"
msgstr ""
-#: route_ui.cc:1715
+#: route_ui.cc:1872
msgid "Template name:"
msgstr ""
-#: route_ui.cc:1788
+#: route_ui.cc:1945
msgid "Remote Control ID"
msgstr "ID controlo remoto"
-#: route_ui.cc:1798
+#: route_ui.cc:1955
msgid "Remote control ID:"
msgstr ""
-#: route_ui.cc:1812
+#: route_ui.cc:1969
msgid ""
"The remote control ID of %1 is: %2\n"
"\n"
@@ -9848,33 +10076,32 @@ msgid ""
"The remote control ID of %3 cannot be changed."
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the master bus"
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the monitor bus"
msgstr ""
-#: route_ui.cc:1818
+#: route_ui.cc:1975
msgid ""
"The remote control ID of %5 is: %2\n"
"\n"
"\n"
-"Remote Control IDs are currently determined by track/bus ordering in "
-"Ardour.\n"
+"Remote Control IDs are currently determined by track/bus ordering in %6.\n"
"\n"
"%3Use the User Interaction tab of the Preferences window if you want to "
"change this%4"
msgstr ""
-#: route_ui.cc:1875
+#: route_ui.cc:2032
msgid ""
"Left-click to invert (phase reverse) channel %1 of this track. Right-click "
"to show menu."
msgstr ""
-#: route_ui.cc:1877
+#: route_ui.cc:2034
msgid "Click to show a menu of channels for inversion (phase reverse)"
msgstr ""
@@ -9890,119 +10117,119 @@ msgstr ""
msgid "the session folder"
msgstr ""
-#: send_ui.cc:126
+#: send_ui.cc:134
msgid "Send "
msgstr ""
-#: session_dialog.cc:66
+#: session_dialog.cc:68
msgid "Session Setup"
msgstr ""
-#: session_dialog.cc:71
+#: session_dialog.cc:73
msgid "Advanced options ..."
msgstr ""
-#: session_dialog.cc:267
+#: session_dialog.cc:271
msgid "New Session"
msgstr "Nova sessão"
-#: session_dialog.cc:305
+#: session_dialog.cc:309
msgid "Check the website for more..."
msgstr ""
-#: session_dialog.cc:308
+#: session_dialog.cc:312
msgid "Click to open the program website in your web browser"
msgstr ""
-#: session_dialog.cc:328
+#: session_dialog.cc:332
msgid "Sample Rate"
msgstr ""
-#: session_dialog.cc:329
+#: session_dialog.cc:333
msgid "Disk Format"
msgstr ""
-#: session_dialog.cc:347
+#: session_dialog.cc:351
msgid "Select session file"
msgstr ""
-#: session_dialog.cc:362
+#: session_dialog.cc:366
msgid "Other Sessions"
msgstr ""
-#: session_dialog.cc:388
+#: session_dialog.cc:392
msgid "Open"
msgstr ""
-#: session_dialog.cc:455
+#: session_dialog.cc:459
msgid "Session name:"
msgstr ""
-#: session_dialog.cc:477
+#: session_dialog.cc:481
msgid "Create session folder in:"
msgstr ""
-#: session_dialog.cc:500
+#: session_dialog.cc:504
msgid "Select folder for session"
msgstr ""
-#: session_dialog.cc:529
+#: session_dialog.cc:533
msgid "Use this template"
msgstr ""
-#: session_dialog.cc:532
+#: session_dialog.cc:536
msgid "no template"
msgstr ""
-#: session_dialog.cc:664 session_dialog.cc:696
+#: session_dialog.cc:671 session_dialog.cc:707
msgid "32 bit float"
msgstr ""
-#: session_dialog.cc:667 session_dialog.cc:699
+#: session_dialog.cc:674 session_dialog.cc:710
msgid "24 bit"
msgstr ""
-#: session_dialog.cc:670 session_dialog.cc:702
+#: session_dialog.cc:677 session_dialog.cc:713
msgid "16 bit"
msgstr ""
-#: session_dialog.cc:741 session_dialog.cc:742 session_dialog.cc:743
+#: session_dialog.cc:755 session_dialog.cc:756 session_dialog.cc:757
msgid "channels"
msgstr "canais"
-#: session_dialog.cc:757
+#: session_dialog.cc:771
msgid "<b>Busses</b>"
msgstr ""
-#: session_dialog.cc:758
+#: session_dialog.cc:772
msgid "<b>Inputs</b>"
msgstr ""
-#: session_dialog.cc:759
+#: session_dialog.cc:773
msgid "<b>Outputs</b>"
msgstr ""
-#: session_dialog.cc:767
+#: session_dialog.cc:781
msgid "Create master bus"
msgstr ""
-#: session_dialog.cc:777
+#: session_dialog.cc:791
msgid "Automatically connect to physical inputs"
msgstr ""
-#: session_dialog.cc:784 session_dialog.cc:843
+#: session_dialog.cc:798 session_dialog.cc:857
msgid "Use only"
msgstr ""
-#: session_dialog.cc:837
+#: session_dialog.cc:851
msgid "Automatically connect outputs"
msgstr ""
-#: session_dialog.cc:859
+#: session_dialog.cc:873
msgid "... to master bus"
msgstr ""
-#: session_dialog.cc:869
+#: session_dialog.cc:883
msgid "... to physical outputs"
msgstr ""
@@ -10304,7 +10531,8 @@ msgstr ""
#: session_option_editor.cc:91
msgid ""
-"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless in JACK-sync)."
+"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless using JACK-"
+"sync)."
msgstr ""
#: session_option_editor.cc:96
@@ -10337,480 +10565,510 @@ msgid ""
"%1 is JACK Time Master (provides Bar|Beat|Tick and other information to JACK)"
msgstr ""
-#: session_option_editor.cc:137
-msgid "Default crossfade type"
-msgstr ""
-
-#: session_option_editor.cc:142
-msgid "Constant power (-3dB) crossfade"
-msgstr ""
-
-#: session_option_editor.cc:143
-msgid "Linear (-6dB) crossfade"
-msgstr ""
-
-#: session_option_editor.cc:148
+#: session_option_editor.cc:136
msgid "destructive-xfade-seconds"
msgstr ""
-#: session_option_editor.cc:149
+#: session_option_editor.cc:137
msgid "Destructive crossfade length"
msgstr ""
-#: session_option_editor.cc:158
+#: session_option_editor.cc:146
msgid "Region fades active"
msgstr ""
-#: session_option_editor.cc:165
+#: session_option_editor.cc:153
msgid "Region fades visible"
msgstr ""
-#: session_option_editor.cc:172 session_option_editor.cc:185
-#: session_option_editor.cc:199 session_option_editor.cc:201
-#: session_option_editor.cc:207 session_option_editor.cc:214
+#: session_option_editor.cc:160 session_option_editor.cc:173
+#: session_option_editor.cc:187
msgid "Media"
msgstr ""
-#: session_option_editor.cc:172
+#: session_option_editor.cc:160
msgid "Audio file format"
msgstr ""
-#: session_option_editor.cc:176
+#: session_option_editor.cc:164
msgid "Sample format"
msgstr ""
-#: session_option_editor.cc:181
+#: session_option_editor.cc:169
msgid "32-bit floating point"
msgstr ""
-#: session_option_editor.cc:182
+#: session_option_editor.cc:170
msgid "24-bit integer"
msgstr ""
-#: session_option_editor.cc:183
+#: session_option_editor.cc:171
msgid "16-bit integer"
msgstr ""
-#: session_option_editor.cc:189
+#: session_option_editor.cc:177
msgid "File type"
msgstr ""
-#: session_option_editor.cc:194
+#: session_option_editor.cc:182
msgid "Broadcast WAVE"
msgstr ""
-#: session_option_editor.cc:195
+#: session_option_editor.cc:183
msgid "WAVE"
msgstr ""
-#: session_option_editor.cc:196
+#: session_option_editor.cc:184
msgid "WAVE-64"
msgstr ""
-#: session_option_editor.cc:201
+#: session_option_editor.cc:189
msgid "File locations"
msgstr ""
-#: session_option_editor.cc:203
+#: session_option_editor.cc:191
msgid "Search for audio files in:"
msgstr ""
-#: session_option_editor.cc:209
+#: session_option_editor.cc:197
msgid "Search for MIDI files in:"
msgstr ""
-#: session_option_editor.cc:220
-msgid ""
-"Track Input Monitoring automatically follows transport state (\"auto-input\")"
+#: session_option_editor.cc:206 session_option_editor.cc:218
+#: session_option_editor.cc:228 session_option_editor.cc:239
+msgid "Filenames"
msgstr ""
-#: session_option_editor.cc:227
-msgid "Use monitor section in this session"
+#: session_option_editor.cc:206
+msgid "File Naming"
msgstr ""
-#: session_option_editor.cc:238
-msgid "MIDI region copies are independent"
+#: session_option_editor.cc:212
+msgid "Prefix Track number"
msgstr ""
-#: session_option_editor.cc:245
+#: session_option_editor.cc:217
msgid ""
-"Policy for handling overlapping notes\n"
-" on the same MIDI channel"
+"Adds the current track number to the beginning of the recorded file name."
msgstr ""
-#: session_option_editor.cc:250
-msgid "never allow them"
+#: session_option_editor.cc:222
+msgid "Prefix Take Name"
msgstr ""
-#: session_option_editor.cc:251
-msgid "don't do anything in particular"
-msgstr ""
-
-#: session_option_editor.cc:252
-msgid "replace any overlapped existing note"
-msgstr ""
-
-#: session_option_editor.cc:253
-msgid "shorten the overlapped existing note"
-msgstr ""
-
-#: session_option_editor.cc:254
-msgid "shorten the overlapping new note"
-msgstr ""
-
-#: session_option_editor.cc:255
-msgid "replace both overlapping notes with a single note"
+#: session_option_editor.cc:227
+msgid "Adds the Take Name to the beginning of the recorded file name."
msgstr ""
-#: session_option_editor.cc:259
-msgid "Glue to bars and beats"
+#: session_option_editor.cc:232
+msgid "Take Name"
msgstr ""
-#: session_option_editor.cc:263
-msgid "Glue new markers to bars and beats"
+#: session_option_editor.cc:245
+msgid ""
+"Track Input Monitoring automatically follows transport state (\"auto-input\")"
msgstr ""
-#: session_option_editor.cc:270
-msgid "Glue new regions to bars and beats"
+#: session_option_editor.cc:252
+msgid "Use monitor section in this session"
msgstr ""
-#: session_option_editor.cc:275 session_option_editor.cc:277
-#: session_option_editor.cc:284 session_option_editor.cc:291
-#: session_option_editor.cc:298 session_option_editor.cc:300
-#: session_option_editor.cc:307 session_option_editor.cc:314
-#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:257 session_option_editor.cc:259
+#: session_option_editor.cc:266 session_option_editor.cc:273
+#: session_option_editor.cc:280 session_option_editor.cc:282
+#: session_option_editor.cc:289 session_option_editor.cc:296
+#: session_option_editor.cc:303 session_option_editor.cc:310
+#: session_option_editor.cc:312
msgid "Meterbridge"
msgstr ""
-#: session_option_editor.cc:275
+#: session_option_editor.cc:257
msgid "Route Display"
msgstr ""
-#: session_option_editor.cc:279
+#: session_option_editor.cc:261
msgid "Show Midi Tracks"
msgstr ""
-#: session_option_editor.cc:286
+#: session_option_editor.cc:268
msgid "Show Busses"
msgstr ""
-#: session_option_editor.cc:293
+#: session_option_editor.cc:275
msgid "Include Master Bus"
msgstr ""
-#: session_option_editor.cc:298
+#: session_option_editor.cc:280
msgid "Button Area"
msgstr ""
-#: session_option_editor.cc:302
+#: session_option_editor.cc:284
msgid "Rec-enable Button"
msgstr ""
-#: session_option_editor.cc:309
+#: session_option_editor.cc:291
msgid "Mute Button"
msgstr ""
-#: session_option_editor.cc:316
+#: session_option_editor.cc:298
msgid "Solo Button"
msgstr ""
-#: session_option_editor.cc:321
+#: session_option_editor.cc:305
+msgid "Monitor Buttons"
+msgstr ""
+
+#: session_option_editor.cc:310
msgid "Name Labels"
msgstr ""
-#: session_option_editor.cc:325
+#: session_option_editor.cc:314
msgid "Track Name"
msgstr ""
-#: sfdb_ui.cc:86 sfdb_ui.cc:106 sfdb_ui.cc:115
+#: session_option_editor.cc:325
+msgid "MIDI region copies are independent"
+msgstr ""
+
+#: session_option_editor.cc:332
+msgid ""
+"Policy for handling overlapping notes\n"
+" on the same MIDI channel"
+msgstr ""
+
+#: session_option_editor.cc:337
+msgid "never allow them"
+msgstr ""
+
+#: session_option_editor.cc:338
+msgid "don't do anything in particular"
+msgstr ""
+
+#: session_option_editor.cc:339
+msgid "replace any overlapped existing note"
+msgstr ""
+
+#: session_option_editor.cc:340
+msgid "shorten the overlapped existing note"
+msgstr ""
+
+#: session_option_editor.cc:341
+msgid "shorten the overlapping new note"
+msgstr ""
+
+#: session_option_editor.cc:342
+msgid "replace both overlapping notes with a single note"
+msgstr ""
+
+#: session_option_editor.cc:346
+msgid "Glue to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:350
+msgid "Glue new markers to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:357
+msgid "Glue new regions to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:362
+msgid "Defaults"
+msgstr ""
+
+#: session_option_editor.cc:364
+msgid "Use these settings as defaults"
+msgstr ""
+
+#: sfdb_ui.cc:88 sfdb_ui.cc:108 sfdb_ui.cc:117
msgid "as new tracks"
msgstr ""
-#: sfdb_ui.cc:88 sfdb_ui.cc:108
+#: sfdb_ui.cc:90 sfdb_ui.cc:110
msgid "to selected tracks"
msgstr ""
-#: sfdb_ui.cc:90 sfdb_ui.cc:110
+#: sfdb_ui.cc:92 sfdb_ui.cc:112
msgid "to region list"
msgstr ""
-#: sfdb_ui.cc:92 sfdb_ui.cc:112
+#: sfdb_ui.cc:94 sfdb_ui.cc:114
msgid "as new tape tracks"
msgstr ""
-#: sfdb_ui.cc:96
+#: sfdb_ui.cc:98
msgid "programming error: unknown import mode string %1"
msgstr ""
-#: sfdb_ui.cc:123
+#: sfdb_ui.cc:125
msgid "Auto-play"
msgstr ""
-#: sfdb_ui.cc:129 sfdb_ui.cc:236
+#: sfdb_ui.cc:133 sfdb_ui.cc:317
msgid "<b>Sound File Information</b>"
msgstr ""
-#: sfdb_ui.cc:141
+#: sfdb_ui.cc:145
msgid "Timestamp:"
msgstr ""
-#: sfdb_ui.cc:143
+#: sfdb_ui.cc:147
msgid "Format:"
msgstr ""
-#: sfdb_ui.cc:182 sfdb_ui.cc:526
+#: sfdb_ui.cc:186 sfdb_ui.cc:646
msgid "Tags:"
msgstr ""
-#: sfdb_ui.cc:319
-msgid "Auditioning of MIDI files is not yet supported"
+#: sfdb_ui.cc:290
+msgid "<b>Midi File Information</b>"
msgstr ""
-#: sfdb_ui.cc:326
+#: sfdb_ui.cc:402
msgid "Could not read file: %1 (%2)."
msgstr "Não foi possível ler o ficheiro: %1 (%2)."
-#: sfdb_ui.cc:349
+#: sfdb_ui.cc:451
msgid "Could not access soundfile: "
msgstr "Não foi possível aceder ao ficheiros audio: "
-#: sfdb_ui.cc:403
+#: sfdb_ui.cc:523
msgid "SoundFileBox: Could not tokenize string: "
msgstr ""
-#: sfdb_ui.cc:423 sfdb_ui.cc:425
+#: sfdb_ui.cc:543 sfdb_ui.cc:545
msgid "Search"
msgstr ""
-#: sfdb_ui.cc:449
+#: sfdb_ui.cc:569
msgid "Audio and MIDI files"
msgstr ""
-#: sfdb_ui.cc:452
+#: sfdb_ui.cc:572
msgid "Audio files"
msgstr ""
-#: sfdb_ui.cc:455
+#: sfdb_ui.cc:575
msgid "MIDI files"
msgstr ""
-#: sfdb_ui.cc:458 add_video_dialog.cc:132
+#: sfdb_ui.cc:578 add_video_dialog.cc:123
msgid "All files"
msgstr ""
-#: sfdb_ui.cc:477 add_video_dialog.cc:143
+#: sfdb_ui.cc:597 add_video_dialog.cc:246
msgid "Browse Files"
msgstr ""
-#: sfdb_ui.cc:506
+#: sfdb_ui.cc:626
msgid "Paths"
msgstr "Directórios"
-#: sfdb_ui.cc:515
+#: sfdb_ui.cc:635
msgid "Search Tags"
msgstr ""
-#: sfdb_ui.cc:531
+#: sfdb_ui.cc:651
msgid "Sort:"
msgstr ""
-#: sfdb_ui.cc:539
+#: sfdb_ui.cc:659
msgid "Longest"
msgstr ""
-#: sfdb_ui.cc:540
+#: sfdb_ui.cc:660
msgid "Shortest"
msgstr ""
-#: sfdb_ui.cc:541
+#: sfdb_ui.cc:661
msgid "Newest"
msgstr ""
-#: sfdb_ui.cc:542
+#: sfdb_ui.cc:662
msgid "Oldest"
msgstr ""
-#: sfdb_ui.cc:543
+#: sfdb_ui.cc:663
msgid "Most downloaded"
msgstr ""
-#: sfdb_ui.cc:544
+#: sfdb_ui.cc:664
msgid "Least downloaded"
msgstr ""
-#: sfdb_ui.cc:545
+#: sfdb_ui.cc:665
msgid "Highest rated"
msgstr ""
-#: sfdb_ui.cc:546
+#: sfdb_ui.cc:666
msgid "Lowest rated"
msgstr ""
-#: sfdb_ui.cc:551
+#: sfdb_ui.cc:671
msgid "More"
msgstr ""
-#: sfdb_ui.cc:555
+#: sfdb_ui.cc:675
msgid "Similar"
msgstr ""
-#: sfdb_ui.cc:567
+#: sfdb_ui.cc:687
msgid "ID"
msgstr ""
-#: sfdb_ui.cc:568 add_video_dialog.cc:84
+#: sfdb_ui.cc:688 add_video_dialog.cc:83
msgid "Filename"
msgstr ""
-#: sfdb_ui.cc:570
+#: sfdb_ui.cc:690
msgid "Duration"
msgstr ""
-#: sfdb_ui.cc:571
+#: sfdb_ui.cc:691
msgid "Size"
msgstr ""
-#: sfdb_ui.cc:572
+#: sfdb_ui.cc:692
msgid "Samplerate"
msgstr ""
-#: sfdb_ui.cc:573
+#: sfdb_ui.cc:693
msgid "License"
msgstr ""
-#: sfdb_ui.cc:591
+#: sfdb_ui.cc:711
msgid "Search Freesound"
msgstr ""
-#: sfdb_ui.cc:611
+#: sfdb_ui.cc:731
msgid "Press to import selected files and close this window"
msgstr ""
-#: sfdb_ui.cc:612
+#: sfdb_ui.cc:732
msgid "Press to import selected files and leave this window open"
msgstr ""
-#: sfdb_ui.cc:613
+#: sfdb_ui.cc:733
msgid "Press to close this window without importing any files"
msgstr ""
-#: sfdb_ui.cc:809
+#: sfdb_ui.cc:929
msgid "SoundFileBrowser: Could not tokenize string: "
msgstr ""
-#: sfdb_ui.cc:1009
+#: sfdb_ui.cc:1129
msgid "%1 more page of 100 results available"
msgid_plural "%1 more pages of 100 results available"
msgstr[0] ""
msgstr[1] ""
-#: sfdb_ui.cc:1014
+#: sfdb_ui.cc:1134
msgid "No more results available"
msgstr ""
-#: sfdb_ui.cc:1078
+#: sfdb_ui.cc:1198
msgid "B"
msgstr ""
-#: sfdb_ui.cc:1080
+#: sfdb_ui.cc:1200
msgid "kB"
msgstr ""
-#: sfdb_ui.cc:1082 sfdb_ui.cc:1084
+#: sfdb_ui.cc:1202 sfdb_ui.cc:1204
msgid "MB"
msgstr ""
-#: sfdb_ui.cc:1086
+#: sfdb_ui.cc:1206
msgid "GB"
msgstr ""
-#: sfdb_ui.cc:1298 sfdb_ui.cc:1606 sfdb_ui.cc:1656 sfdb_ui.cc:1674
+#: sfdb_ui.cc:1418 sfdb_ui.cc:1731 sfdb_ui.cc:1782 sfdb_ui.cc:1800
msgid "one track per file"
msgstr ""
-#: sfdb_ui.cc:1301 sfdb_ui.cc:1657 sfdb_ui.cc:1675
+#: sfdb_ui.cc:1421 sfdb_ui.cc:1783 sfdb_ui.cc:1801
msgid "one track per channel"
msgstr ""
-#: sfdb_ui.cc:1309 sfdb_ui.cc:1659 sfdb_ui.cc:1676
+#: sfdb_ui.cc:1429 sfdb_ui.cc:1785 sfdb_ui.cc:1802
msgid "sequence files"
msgstr ""
-#: sfdb_ui.cc:1312 sfdb_ui.cc:1664
+#: sfdb_ui.cc:1432 sfdb_ui.cc:1790
msgid "all files in one track"
msgstr ""
-#: sfdb_ui.cc:1313 sfdb_ui.cc:1658
+#: sfdb_ui.cc:1433 sfdb_ui.cc:1784
msgid "merge files"
msgstr ""
-#: sfdb_ui.cc:1319 sfdb_ui.cc:1661
+#: sfdb_ui.cc:1439 sfdb_ui.cc:1787
msgid "one region per file"
msgstr ""
-#: sfdb_ui.cc:1322 sfdb_ui.cc:1662
+#: sfdb_ui.cc:1442 sfdb_ui.cc:1788
msgid "one region per channel"
msgstr ""
-#: sfdb_ui.cc:1327 sfdb_ui.cc:1663 sfdb_ui.cc:1677
+#: sfdb_ui.cc:1447 sfdb_ui.cc:1789 sfdb_ui.cc:1803
msgid "all files in one region"
msgstr ""
-#: sfdb_ui.cc:1394
+#: sfdb_ui.cc:1514
msgid ""
"One or more of the selected files\n"
"cannot be used by %1"
msgstr ""
-#: sfdb_ui.cc:1534
+#: sfdb_ui.cc:1658
msgid "Copy files to session"
msgstr ""
-#: sfdb_ui.cc:1551 sfdb_ui.cc:1714
+#: sfdb_ui.cc:1675 sfdb_ui.cc:1840
msgid "file timestamp"
msgstr ""
-#: sfdb_ui.cc:1552 sfdb_ui.cc:1716
+#: sfdb_ui.cc:1676 sfdb_ui.cc:1842
msgid "edit point"
msgstr ""
-#: sfdb_ui.cc:1553 sfdb_ui.cc:1718
+#: sfdb_ui.cc:1677 sfdb_ui.cc:1844
msgid "playhead"
msgstr ""
-#: sfdb_ui.cc:1554
+#: sfdb_ui.cc:1678
msgid "session start"
msgstr ""
-#: sfdb_ui.cc:1559
+#: sfdb_ui.cc:1684
msgid "<b>Add files as ...</b>"
msgstr ""
-#: sfdb_ui.cc:1581
+#: sfdb_ui.cc:1706
msgid "<b>Insert at</b>"
msgstr ""
-#: sfdb_ui.cc:1594
+#: sfdb_ui.cc:1719
msgid "<b>Mapping</b>"
msgstr ""
-#: sfdb_ui.cc:1612
+#: sfdb_ui.cc:1737
msgid "<b>Conversion quality</b>"
msgstr ""
-#: sfdb_ui.cc:1624 sfdb_ui.cc:1730
+#: sfdb_ui.cc:1749 sfdb_ui.cc:1856
msgid "Best"
msgstr ""
-#: sfdb_ui.cc:1625 sfdb_ui.cc:1732
+#: sfdb_ui.cc:1750 sfdb_ui.cc:1858
msgid "Good"
msgstr ""
-#: sfdb_ui.cc:1626 sfdb_ui.cc:1734
+#: sfdb_ui.cc:1751 sfdb_ui.cc:1860
msgid "Quick"
msgstr ""
-#: sfdb_ui.cc:1628
+#: sfdb_ui.cc:1753
msgid "Fastest"
msgstr "Mais rápido"
@@ -10856,6 +11114,30 @@ msgstr ""
msgid "Stopped"
msgstr ""
+#: soundcloud_export_selector.cc:44
+msgid "User Email"
+msgstr ""
+
+#: soundcloud_export_selector.cc:45
+msgid "Password"
+msgstr ""
+
+#: soundcloud_export_selector.cc:46
+msgid "Make files public"
+msgstr ""
+
+#: soundcloud_export_selector.cc:47
+msgid "Open uploaded files in browser"
+msgstr ""
+
+#: soundcloud_export_selector.cc:48
+msgid "Make files downloadable"
+msgstr ""
+
+#: soundcloud_export_selector.cc:107
+msgid "%1: %2 of %3 bytes uploaded"
+msgstr ""
+
#: splash.cc:73
msgid "%1 loading ..."
msgstr ""
@@ -10872,17 +11154,17 @@ msgstr ""
msgid "Azimuth:"
msgstr ""
-#: startup.cc:72
+#: startup.cc:73
msgid ""
"Use an external mixer or the hardware mixer of your audio interface.\n"
"%1 will play NO role in monitoring"
msgstr ""
-#: startup.cc:74
+#: startup.cc:75
msgid "Ask %1 to play back material as it is being recorded"
msgstr ""
-#: startup.cc:143
+#: startup.cc:144
msgid ""
"<b>Welcome to this BETA release of Ardour %1</b>\n"
"\n"
@@ -10907,11 +11189,11 @@ msgid ""
" http://ardour.org/support\n"
msgstr ""
-#: startup.cc:167
+#: startup.cc:168
msgid "This is a BETA RELEASE"
msgstr ""
-#: startup.cc:176
+#: startup.cc:177
msgid ""
"<span size=\"larger\">%1 is a digital audio workstation. You can use it to "
"record, edit and mix multi-track audio. You can produce your own CDs, mix "
@@ -10921,15 +11203,15 @@ msgid ""
"program.</span> "
msgstr ""
-#: startup.cc:202
+#: startup.cc:203
msgid "Welcome to %1"
msgstr ""
-#: startup.cc:225
+#: startup.cc:226
msgid "Default folder for %1 sessions"
msgstr ""
-#: startup.cc:231
+#: startup.cc:232
msgid ""
"Each project that you work on with %1 has its own folder.\n"
"These can require a lot of disk space if you are recording audio.\n"
@@ -10939,11 +11221,11 @@ msgid ""
"<i>(You can put new sessions anywhere, this is just a default)</i>"
msgstr ""
-#: startup.cc:254
+#: startup.cc:255
msgid "Default folder for new sessions"
msgstr ""
-#: startup.cc:275
+#: startup.cc:276
msgid ""
"While recording instruments or vocals, you probably want to listen to the\n"
"signal as well as record it. This is called \"monitoring\". There are\n"
@@ -10957,31 +11239,31 @@ msgid ""
"<i>If you do not understand what this is about, just accept the default.</i>"
msgstr ""
-#: startup.cc:296
+#: startup.cc:297
msgid "Monitoring Choices"
msgstr ""
-#: startup.cc:319
+#: startup.cc:320
msgid "Use a Master bus directly"
msgstr ""
-#: startup.cc:321
+#: startup.cc:322
msgid ""
"Connect the Master bus directly to your hardware outputs. This is preferable "
"for simple usage."
msgstr ""
-#: startup.cc:330
+#: startup.cc:331
msgid "Use an additional Monitor bus"
msgstr ""
-#: startup.cc:333
+#: startup.cc:334
msgid ""
"Use a Monitor bus between Master bus and hardware outputs for \n"
"greater control in monitoring without affecting the mix."
msgstr ""
-#: startup.cc:355
+#: startup.cc:356
msgid ""
"<i>You can change this preference at any time via the Preferences dialog.\n"
"You can also add or remove the monitor section to/from any session.</i>\n"
@@ -10989,395 +11271,395 @@ msgid ""
"<i>If you do not understand what this is about, just accept the default.</i>"
msgstr ""
-#: startup.cc:366
+#: startup.cc:367
msgid "Monitor Section"
msgstr ""
-#: step_entry.cc:59
+#: step_entry.cc:60
msgid "Step Entry: %1"
msgstr ""
-#: step_entry.cc:64
+#: step_entry.cc:65
msgid ">beat"
msgstr ""
-#: step_entry.cc:65
+#: step_entry.cc:66
msgid ">bar"
msgstr ""
-#: step_entry.cc:66
+#: step_entry.cc:67
msgid ">EP"
msgstr ""
-#: step_entry.cc:67
+#: step_entry.cc:68
msgid "sustain"
msgstr ""
-#: step_entry.cc:68
+#: step_entry.cc:69
msgid "rest"
msgstr ""
-#: step_entry.cc:69
+#: step_entry.cc:70
msgid "g-rest"
msgstr ""
-#: step_entry.cc:70
+#: step_entry.cc:71
msgid "back"
msgstr ""
-#: step_entry.cc:81 step_entry.cc:84
+#: step_entry.cc:82 step_entry.cc:85
msgid "+"
msgstr ""
-#: step_entry.cc:190
+#: step_entry.cc:191
msgid "Set note length to a whole note"
msgstr ""
-#: step_entry.cc:191
+#: step_entry.cc:192
msgid "Set note length to a half note"
msgstr ""
-#: step_entry.cc:192
+#: step_entry.cc:193
msgid "Set note length to a quarter note"
msgstr ""
-#: step_entry.cc:193
+#: step_entry.cc:194
msgid "Set note length to a eighth note"
msgstr ""
-#: step_entry.cc:194
+#: step_entry.cc:195
msgid "Set note length to a sixteenth note"
msgstr ""
-#: step_entry.cc:195
+#: step_entry.cc:196
msgid "Set note length to a thirty-second note"
msgstr ""
-#: step_entry.cc:196
+#: step_entry.cc:197
msgid "Set note length to a sixty-fourth note"
msgstr ""
-#: step_entry.cc:275
+#: step_entry.cc:276
msgid "Set volume (velocity) to pianississimo"
msgstr ""
-#: step_entry.cc:276
+#: step_entry.cc:277
msgid "Set volume (velocity) to pianissimo"
msgstr ""
-#: step_entry.cc:277
+#: step_entry.cc:278
msgid "Set volume (velocity) to piano"
msgstr ""
-#: step_entry.cc:278
+#: step_entry.cc:279
msgid "Set volume (velocity) to mezzo-piano"
msgstr ""
-#: step_entry.cc:279
+#: step_entry.cc:280
msgid "Set volume (velocity) to mezzo-forte"
msgstr ""
-#: step_entry.cc:280
+#: step_entry.cc:281
msgid "Set volume (velocity) to forte"
msgstr ""
-#: step_entry.cc:281
+#: step_entry.cc:282
msgid "Set volume (velocity) to forteissimo"
msgstr ""
-#: step_entry.cc:282
+#: step_entry.cc:283
msgid "Set volume (velocity) to forteississimo"
msgstr ""
-#: step_entry.cc:330
+#: step_entry.cc:331
msgid "Stack inserted notes to form a chord"
msgstr ""
-#: step_entry.cc:331
+#: step_entry.cc:332
msgid "Extend selected notes by note length"
msgstr ""
-#: step_entry.cc:332
+#: step_entry.cc:333
msgid "Use undotted note lengths"
msgstr ""
-#: step_entry.cc:333
+#: step_entry.cc:334
msgid "Use dotted (* 1.5) note lengths"
msgstr ""
-#: step_entry.cc:334
+#: step_entry.cc:335
msgid "Use double-dotted (* 1.75) note lengths"
msgstr ""
-#: step_entry.cc:335
+#: step_entry.cc:336
msgid "Use triple-dotted (* 1.875) note lengths"
msgstr ""
-#: step_entry.cc:336
+#: step_entry.cc:337
msgid "Insert a note-length's rest"
msgstr ""
-#: step_entry.cc:337
+#: step_entry.cc:338
msgid "Insert a grid-unit's rest"
msgstr ""
-#: step_entry.cc:338
+#: step_entry.cc:339
msgid "Insert a rest until the next beat"
msgstr ""
-#: step_entry.cc:339
+#: step_entry.cc:340
msgid "Insert a rest until the next bar"
msgstr ""
-#: step_entry.cc:340
+#: step_entry.cc:341
msgid "Insert a bank change message"
msgstr ""
-#: step_entry.cc:341
+#: step_entry.cc:342
msgid "Insert a program change message"
msgstr ""
-#: step_entry.cc:342 step_entry.cc:699
+#: step_entry.cc:343 step_entry.cc:700
msgid "Move Insert Position Back by Note Length"
msgstr ""
-#: step_entry.cc:343 step_entry.cc:697
+#: step_entry.cc:344 step_entry.cc:698
msgid "Move Insert Position to Edit Point"
msgstr ""
-#: step_entry.cc:400
+#: step_entry.cc:401
msgid "1/Note"
msgstr ""
-#: step_entry.cc:414
+#: step_entry.cc:415
msgid "Octave"
msgstr ""
-#: step_entry.cc:597
+#: step_entry.cc:598
msgid "Insert Note A"
msgstr ""
-#: step_entry.cc:598
+#: step_entry.cc:599
msgid "Insert Note A-sharp"
msgstr ""
-#: step_entry.cc:599
+#: step_entry.cc:600
msgid "Insert Note B"
msgstr ""
-#: step_entry.cc:600
+#: step_entry.cc:601
msgid "Insert Note C"
msgstr ""
-#: step_entry.cc:601
+#: step_entry.cc:602
msgid "Insert Note C-sharp"
msgstr ""
-#: step_entry.cc:602
+#: step_entry.cc:603
msgid "Insert Note D"
msgstr ""
-#: step_entry.cc:603
+#: step_entry.cc:604
msgid "Insert Note D-sharp"
msgstr ""
-#: step_entry.cc:604
+#: step_entry.cc:605
msgid "Insert Note E"
msgstr ""
-#: step_entry.cc:605
+#: step_entry.cc:606
msgid "Insert Note F"
msgstr ""
-#: step_entry.cc:606
+#: step_entry.cc:607
msgid "Insert Note F-sharp"
msgstr ""
-#: step_entry.cc:607
+#: step_entry.cc:608
msgid "Insert Note G"
msgstr ""
-#: step_entry.cc:608
+#: step_entry.cc:609
msgid "Insert Note G-sharp"
msgstr ""
-#: step_entry.cc:610
+#: step_entry.cc:611
msgid "Insert a Note-length Rest"
msgstr ""
-#: step_entry.cc:611
+#: step_entry.cc:612
msgid "Insert a Snap-length Rest"
msgstr ""
-#: step_entry.cc:613 step_entry.cc:614
+#: step_entry.cc:614 step_entry.cc:615
msgid "Move to next octave"
msgstr ""
-#: step_entry.cc:616
+#: step_entry.cc:617
msgid "Move to Next Note Length"
msgstr ""
-#: step_entry.cc:617
+#: step_entry.cc:618
msgid "Move to Previous Note Length"
msgstr ""
-#: step_entry.cc:619
+#: step_entry.cc:620
msgid "Increase Note Length"
msgstr ""
-#: step_entry.cc:620
+#: step_entry.cc:621
msgid "Decrease Note Length"
msgstr ""
-#: step_entry.cc:622
+#: step_entry.cc:623
msgid "Move to Next Note Velocity"
msgstr ""
-#: step_entry.cc:623
+#: step_entry.cc:624
msgid "Move to Previous Note Velocity"
msgstr ""
-#: step_entry.cc:625
+#: step_entry.cc:626
msgid "Increase Note Velocity"
msgstr ""
-#: step_entry.cc:626
+#: step_entry.cc:627
msgid "Decrease Note Velocity"
msgstr ""
-#: step_entry.cc:628
+#: step_entry.cc:629
msgid "Switch to the 1st octave"
msgstr ""
-#: step_entry.cc:629
+#: step_entry.cc:630
msgid "Switch to the 2nd octave"
msgstr ""
-#: step_entry.cc:630
+#: step_entry.cc:631
msgid "Switch to the 3rd octave"
msgstr ""
-#: step_entry.cc:631
+#: step_entry.cc:632
msgid "Switch to the 4th octave"
msgstr ""
-#: step_entry.cc:632
+#: step_entry.cc:633
msgid "Switch to the 5th octave"
msgstr ""
-#: step_entry.cc:633
+#: step_entry.cc:634
msgid "Switch to the 6th octave"
msgstr ""
-#: step_entry.cc:634
+#: step_entry.cc:635
msgid "Switch to the 7th octave"
msgstr ""
-#: step_entry.cc:635
+#: step_entry.cc:636
msgid "Switch to the 8th octave"
msgstr ""
-#: step_entry.cc:636
+#: step_entry.cc:637
msgid "Switch to the 9th octave"
msgstr ""
-#: step_entry.cc:637
+#: step_entry.cc:638
msgid "Switch to the 10th octave"
msgstr ""
-#: step_entry.cc:638
+#: step_entry.cc:639
msgid "Switch to the 11th octave"
msgstr ""
-#: step_entry.cc:643
+#: step_entry.cc:644
msgid "Set Note Length to Whole"
msgstr ""
-#: step_entry.cc:645
+#: step_entry.cc:646
msgid "Set Note Length to 1/2"
msgstr ""
-#: step_entry.cc:647
+#: step_entry.cc:648
msgid "Set Note Length to 1/3"
msgstr ""
-#: step_entry.cc:649
+#: step_entry.cc:650
msgid "Set Note Length to 1/4"
msgstr ""
-#: step_entry.cc:651
+#: step_entry.cc:652
msgid "Set Note Length to 1/8"
msgstr ""
-#: step_entry.cc:653
+#: step_entry.cc:654
msgid "Set Note Length to 1/16"
msgstr ""
-#: step_entry.cc:655
+#: step_entry.cc:656
msgid "Set Note Length to 1/32"
msgstr ""
-#: step_entry.cc:657
+#: step_entry.cc:658
msgid "Set Note Length to 1/64"
msgstr ""
-#: step_entry.cc:662
+#: step_entry.cc:663
msgid "Set Note Velocity to Pianississimo"
msgstr ""
-#: step_entry.cc:664
+#: step_entry.cc:665
msgid "Set Note Velocity to Pianissimo"
msgstr ""
-#: step_entry.cc:666
+#: step_entry.cc:667
msgid "Set Note Velocity to Piano"
msgstr ""
-#: step_entry.cc:668
+#: step_entry.cc:669
msgid "Set Note Velocity to Mezzo-Piano"
msgstr ""
-#: step_entry.cc:670
+#: step_entry.cc:671
msgid "Set Note Velocity to Mezzo-Forte"
msgstr ""
-#: step_entry.cc:672
+#: step_entry.cc:673
msgid "Set Note Velocity to Forte"
msgstr ""
-#: step_entry.cc:674 step_entry.cc:676
+#: step_entry.cc:675 step_entry.cc:677
msgid "Set Note Velocity to Fortississimo"
msgstr ""
-#: step_entry.cc:678
+#: step_entry.cc:679
msgid "Toggle Triple Notes"
msgstr ""
-#: step_entry.cc:683
+#: step_entry.cc:684
msgid "No Dotted Notes"
msgstr ""
-#: step_entry.cc:685
+#: step_entry.cc:686
msgid "Toggled Dotted Notes"
msgstr ""
-#: step_entry.cc:687
+#: step_entry.cc:688
msgid "Toggled Double-Dotted Notes"
msgstr ""
-#: step_entry.cc:689
+#: step_entry.cc:690
msgid "Toggled Triple-Dotted Notes"
msgstr ""
-#: step_entry.cc:692
+#: step_entry.cc:693
msgid "Toggle Chord Entry"
msgstr ""
-#: step_entry.cc:694
+#: step_entry.cc:695
msgid "Sustain Selected Notes by Note Length"
msgstr ""
-#: stereo_panner.cc:108
+#: stereo_panner.cc:131
#, c-format
msgid "L:%3d R:%3d Width:%d%%"
msgstr ""
@@ -11390,140 +11672,164 @@ msgstr ""
msgid "Width"
msgstr ""
-#: strip_silence_dialog.cc:48
+#: strip_silence_dialog.cc:44
msgid "Strip Silence"
msgstr ""
-#: strip_silence_dialog.cc:79
+#: strip_silence_dialog.cc:75
msgid "Minimum length"
msgstr ""
-#: strip_silence_dialog.cc:87
+#: strip_silence_dialog.cc:83
msgid "Fade length"
msgstr ""
-#: tempo_dialog.cc:43 tempo_dialog.cc:58
+#: tempo_dialog.cc:42 tempo_dialog.cc:58
msgid "bar:"
msgstr ""
-#: tempo_dialog.cc:44 tempo_dialog.cc:59
+#: tempo_dialog.cc:43 tempo_dialog.cc:59
msgid "beat:"
msgstr ""
-#: tempo_dialog.cc:45 tempo_dialog.cc:60
+#: tempo_dialog.cc:44 tempo_dialog.cc:60
msgid "Pulse note"
msgstr ""
+#: tempo_dialog.cc:45 tempo_dialog.cc:61
+msgid "Tap tempo"
+msgstr ""
+
#: tempo_dialog.cc:55
msgid "Edit Tempo"
msgstr ""
-#: tempo_dialog.cc:76 tempo_dialog.cc:77 tempo_dialog.cc:282
-#: tempo_dialog.cc:283
+#: tempo_dialog.cc:77 tempo_dialog.cc:78 tempo_dialog.cc:316
+#: tempo_dialog.cc:317
msgid "whole"
msgstr ""
-#: tempo_dialog.cc:78 tempo_dialog.cc:79 tempo_dialog.cc:284
-#: tempo_dialog.cc:285
+#: tempo_dialog.cc:79 tempo_dialog.cc:80 tempo_dialog.cc:318
+#: tempo_dialog.cc:319
msgid "second"
msgstr ""
-#: tempo_dialog.cc:80 tempo_dialog.cc:81 tempo_dialog.cc:286
-#: tempo_dialog.cc:287
+#: tempo_dialog.cc:81 tempo_dialog.cc:82 tempo_dialog.cc:320
+#: tempo_dialog.cc:321
msgid "third"
msgstr ""
-#: tempo_dialog.cc:82 tempo_dialog.cc:83 tempo_dialog.cc:288
-#: tempo_dialog.cc:289
+#: tempo_dialog.cc:83 tempo_dialog.cc:84 tempo_dialog.cc:322
+#: tempo_dialog.cc:323
msgid "quarter"
msgstr ""
-#: tempo_dialog.cc:84 tempo_dialog.cc:85 tempo_dialog.cc:290
-#: tempo_dialog.cc:291
+#: tempo_dialog.cc:85 tempo_dialog.cc:86 tempo_dialog.cc:324
+#: tempo_dialog.cc:325
msgid "eighth"
msgstr ""
-#: tempo_dialog.cc:86 tempo_dialog.cc:87 tempo_dialog.cc:292
-#: tempo_dialog.cc:293
+#: tempo_dialog.cc:87 tempo_dialog.cc:88 tempo_dialog.cc:326
+#: tempo_dialog.cc:327
msgid "sixteenth"
msgstr ""
-#: tempo_dialog.cc:88 tempo_dialog.cc:89 tempo_dialog.cc:294
-#: tempo_dialog.cc:295
+#: tempo_dialog.cc:89 tempo_dialog.cc:90 tempo_dialog.cc:328
+#: tempo_dialog.cc:329
msgid "thirty-second"
msgstr ""
-#: tempo_dialog.cc:90 tempo_dialog.cc:91 tempo_dialog.cc:296
-#: tempo_dialog.cc:297
+#: tempo_dialog.cc:91 tempo_dialog.cc:92 tempo_dialog.cc:330
+#: tempo_dialog.cc:331
msgid "sixty-fourth"
msgstr ""
-#: tempo_dialog.cc:92 tempo_dialog.cc:93 tempo_dialog.cc:298
-#: tempo_dialog.cc:299
+#: tempo_dialog.cc:93 tempo_dialog.cc:94 tempo_dialog.cc:332
+#: tempo_dialog.cc:333
msgid "one-hundred-twenty-eighth"
msgstr ""
-#: tempo_dialog.cc:120
+#: tempo_dialog.cc:121
msgid "Beats per minute:"
msgstr ""
-#: tempo_dialog.cc:152
+#: tempo_dialog.cc:153
msgid "Tempo begins at"
msgstr ""
-#: tempo_dialog.cc:240
+#: tempo_dialog.cc:244
msgid "incomprehensible pulse note type (%1)"
msgstr ""
-#: tempo_dialog.cc:266
+#: tempo_dialog.cc:300
msgid "Edit Meter"
msgstr ""
-#: tempo_dialog.cc:314
+#: tempo_dialog.cc:348
msgid "Note value:"
msgstr ""
-#: tempo_dialog.cc:315
+#: tempo_dialog.cc:349
msgid "Beats per bar:"
msgstr ""
-#: tempo_dialog.cc:330
+#: tempo_dialog.cc:364
msgid "Meter begins at bar:"
msgstr ""
-#: tempo_dialog.cc:441
+#: tempo_dialog.cc:475
msgid "incomprehensible meter note type (%1)"
msgstr ""
-#: theme_manager.cc:57
+#: theme_manager.cc:63
msgid "Dark Theme"
msgstr ""
-#: theme_manager.cc:58
+#: theme_manager.cc:64
msgid "Light Theme"
msgstr ""
-#: theme_manager.cc:59
+#: theme_manager.cc:65
msgid "Restore Defaults"
msgstr ""
-#: theme_manager.cc:60
+#: theme_manager.cc:66
msgid "Draw \"flat\" buttons"
msgstr ""
-#: theme_manager.cc:61
+#: theme_manager.cc:67
+msgid "Blink Rec-Arm buttons"
+msgstr ""
+
+#: theme_manager.cc:68
+msgid "Color regions using their track's color"
+msgstr ""
+
+#: theme_manager.cc:69
+msgid "Show waveform clipping"
+msgstr ""
+
+#: theme_manager.cc:71
+msgid "Waveforms color gradient depth"
+msgstr ""
+
+#: theme_manager.cc:73
+msgid "Timeline item gradient depth"
+msgstr ""
+
+#: theme_manager.cc:74
msgid "All floating windows are dialogs"
msgstr ""
-#: theme_manager.cc:62
-msgid "Draw waveforms with color gradient"
+#: theme_manager.cc:75
+msgid "Icon Set"
msgstr ""
-#: theme_manager.cc:68
+#: theme_manager.cc:81
msgid "Object"
msgstr "Objecto"
-#: theme_manager.cc:123
+#: theme_manager.cc:180
msgid ""
"Mark all floating windows to be type \"Dialog\" rather than using \"Utility"
"\" for some.\n"
@@ -11531,15 +11837,15 @@ msgid ""
"take effect"
msgstr ""
-#: theme_manager.cc:229
+#: theme_manager.cc:286
msgid "Unable to find UI style file %1 in search path %2. %3 will look strange"
msgstr ""
-#: time_axis_view.cc:114
+#: time_axis_view.cc:141
msgid "Track/Bus name (double click to edit)"
msgstr ""
-#: time_axis_view_item.cc:332
+#: time_axis_view_item.cc:384
msgid "new duration %1 frame is out of bounds for %2"
msgid_plural "new duration of %1 frames is out of bounds for %2"
msgstr[0] ""
@@ -11605,11 +11911,11 @@ msgstr ""
msgid "<b>Progress</b>"
msgstr ""
-#: time_info_box.cc:121
+#: time_info_box.cc:124
msgid "Start recording at auto-punch start"
msgstr "Iniciar gravação na posição inicial de inserção automática"
-#: time_info_box.cc:122
+#: time_info_box.cc:125
msgid "Stop recording at auto-punch end"
msgstr "Parar gravação na posição final de inserção automática"
@@ -11625,148 +11931,160 @@ msgstr ""
msgid "Transpose"
msgstr ""
-#: ui_config.cc:82 ui_config.cc:113
+#: ui_config.cc:95 ui_config.cc:126
msgid "Loading default ui configuration file %1"
msgstr ""
-#: ui_config.cc:85 ui_config.cc:116
+#: ui_config.cc:98 ui_config.cc:129
msgid "cannot read default ui configuration file \"%1\""
msgstr ""
-#: ui_config.cc:90 ui_config.cc:121
+#: ui_config.cc:103 ui_config.cc:134
msgid "default ui configuration file \"%1\" not loaded successfully."
msgstr ""
-#: ui_config.cc:134
+#: ui_config.cc:147
msgid "Loading user ui configuration file %1"
msgstr ""
-#: ui_config.cc:137
+#: ui_config.cc:150
msgid "cannot read ui configuration file \"%1\""
msgstr ""
-#: ui_config.cc:142
+#: ui_config.cc:155
msgid "user ui configuration file \"%1\" not loaded successfully."
msgstr ""
-#: ui_config.cc:150
+#: ui_config.cc:163
msgid "could not find any ui configuration file, canvas will look broken."
msgstr ""
-#: ui_config.cc:169
+#: ui_config.cc:182
msgid "Config file %1 not saved"
msgstr ""
-#: utils.cc:111 utils.cc:154
+#: utils.cc:117 utils.cc:160
msgid "bad XPM header %1"
msgstr ""
-#: utils.cc:293 utils.cc:325
+#: utils.cc:313 utils.cc:345
msgid "missing RGBA style for \"%1\""
msgstr ""
-#: utils.cc:598
+#: utils.cc:640
msgid "cannot find XPM file for %1"
msgstr ""
-#: utils.cc:624
-msgid "cannot find icon image for %1 using %2"
+#: utils.cc:660 utils.cc:687 utils.cc:698
+msgid "default"
msgstr ""
-#: utils.cc:639
-msgid "Caught exception while loading icon named %1"
+#: utils.cc:699
+msgid "icon \"%1\" not found for icon set \"%2\", fallback to default"
+msgstr ""
+
+#: utils.cc:706
+msgid "cannot find icon image for %1 using %2"
msgstr ""
-#: verbose_cursor.cc:45
-msgid "VerboseCanvasCursor"
+#: utils.cc:723 utils.cc:739
+msgid "Caught exception while loading icon named %1"
msgstr ""
-#: add_video_dialog.cc:55
+#: add_video_dialog.cc:54
msgid "Set Video Track"
msgstr ""
-#: add_video_dialog.cc:63
+#: add_video_dialog.cc:62
msgid "Launch External Video Monitor"
msgstr ""
-#: add_video_dialog.cc:64
+#: add_video_dialog.cc:63
msgid "Adjust Session Framerate to Match Video Framerate"
msgstr ""
-#: add_video_dialog.cc:66
+#: add_video_dialog.cc:65
msgid "Reload docroot"
msgstr ""
-#: add_video_dialog.cc:111 add_video_dialog.cc:115
-msgid "VideoServerIndex"
-msgstr ""
-
-#: add_video_dialog.cc:129
+#: add_video_dialog.cc:120
msgid "Video files"
msgstr ""
-#: add_video_dialog.cc:164
+#: add_video_dialog.cc:149
msgid "<b>Video Information</b>"
msgstr ""
-#: add_video_dialog.cc:167
+#: add_video_dialog.cc:152
msgid "Start:"
msgstr ""
-#: add_video_dialog.cc:173
+#: add_video_dialog.cc:158
msgid "Frame rate:"
msgstr ""
-#: add_video_dialog.cc:176
+#: add_video_dialog.cc:161
msgid "Aspect Ratio:"
msgstr ""
-#: add_video_dialog.cc:654
-msgid " %1 fps"
+#: add_video_dialog.cc:244
+msgid "VideoServerIndex"
msgstr ""
-#: editor_videotimeline.cc:146
-msgid "Export Successful: %1"
+#: add_video_dialog.cc:670
+msgid " %1 fps"
msgstr ""
-#: video_timeline.cc:469
+#: video_timeline.cc:473
msgid ""
"Parsing video file info failed. Is the Video Server running? Is the file "
"readable by the Video Server? Does the docroot match? Is it a video file?"
msgstr ""
-#: video_timeline.cc:507
+#: video_timeline.cc:511
msgid ""
"Failed to set session-framerate: '%1' does not have a corresponding option "
"setting in %2."
msgstr ""
-#: video_timeline.cc:515
+#: video_timeline.cc:519
msgid ""
"Video file's framerate is not equal to %1 session timecode's framerate: '%2' "
"vs '%3'"
msgstr ""
-#: video_timeline.cc:588
+#: video_timeline.cc:592
msgid ""
"Video-server docroot mismatch. %1: '%2', video-server: '%3'. This usually "
-"means that the video server was not started by ardour and uses a different "
+"means that the video server was not started by %1 and uses a different "
"document-root."
msgstr ""
-#: video_timeline.cc:737
+#: video_timeline.cc:768
msgid ""
"Video-monitor 'xjadeo' was not found. Please install http://xjadeo.sf.net/ "
"(a custom path to xjadeo can be specified by setting the XJREMOTE "
"environment variable. It should point to an application compatible with "
-"xjadeo's remote-control interface 'xjremote')."
+"xjadeo's remote-control interface 'xjremote').\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
+msgstr ""
+
+#: video_timeline.cc:782
+msgid "Video-monitor 'xjadeo' cannot be launched."
msgstr ""
-#: video_monitor.cc:281
+#: video_timeline.cc:809
+msgid ""
+"Video-monitor 'xjadeo' is too old. Please install xjadeo version 0.7.7 or "
+"later. http://xjadeo.sf.net/"
+msgstr ""
+
+#: video_monitor.cc:285
msgid "Video Monitor: File Not Found."
msgstr ""
-#: transcode_ffmpeg.cc:73
+#: transcode_ffmpeg.cc:126
msgid ""
"No ffprobe or ffmpeg executables could be found on this system.\n"
"Video import and export is not possible until you install those tools.\n"
@@ -11780,168 +12098,181 @@ msgid ""
"If you already have a suitable ffmpeg installation on your system, we "
"recommend creating symbolic links from ffmpeg to ffmpeg_harvid and from "
"ffprobe to ffprobe_harvid.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: transcode_video_dialog.cc:55
+#: transcode_video_dialog.cc:56
msgid "Transcode/Import Video File "
msgstr ""
-#: transcode_video_dialog.cc:57
+#: transcode_video_dialog.cc:58
msgid "Output File:"
msgstr ""
-#: transcode_video_dialog.cc:60 export_video_dialog.cc:72
+#: transcode_video_dialog.cc:61 export_video_dialog.cc:73
msgid "Abort"
msgstr ""
-#: transcode_video_dialog.cc:62
+#: transcode_video_dialog.cc:63
msgid "Height = "
msgstr ""
-#: transcode_video_dialog.cc:65
+#: transcode_video_dialog.cc:66
msgid "Manual Override"
msgstr ""
-#: transcode_video_dialog.cc:69 export_video_dialog.cc:88
+#: transcode_video_dialog.cc:70 export_video_dialog.cc:89
msgid "Debug Mode: Print ffmpeg command and output to stdout."
msgstr ""
-#: transcode_video_dialog.cc:106
+#: transcode_video_dialog.cc:107
msgid "<b>File Information</b>"
msgstr ""
-#: transcode_video_dialog.cc:112
+#: transcode_video_dialog.cc:113
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Import "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: transcode_video_dialog.cc:119
+#: transcode_video_dialog.cc:120
msgid ""
"File-info can not be read. Most likely '%1' is not a valid video-file or an "
"unsupported video codec or format."
msgstr ""
-#: transcode_video_dialog.cc:133
+#: transcode_video_dialog.cc:134
msgid "FPS:"
msgstr ""
-#: transcode_video_dialog.cc:135
+#: transcode_video_dialog.cc:136
msgid "Duration:"
msgstr ""
-#: transcode_video_dialog.cc:137
+#: transcode_video_dialog.cc:138
msgid "Codec:"
msgstr ""
-#: transcode_video_dialog.cc:139
+#: transcode_video_dialog.cc:140
msgid "Geometry:"
msgstr ""
-#: transcode_video_dialog.cc:154
+#: transcode_video_dialog.cc:155
msgid "??"
msgstr ""
-#: transcode_video_dialog.cc:175
+#: transcode_video_dialog.cc:176
msgid "<b>Import Settings</b>"
msgstr ""
-#: transcode_video_dialog.cc:180
-msgid "Do Not Import Video"
-msgstr ""
-
#: transcode_video_dialog.cc:181
-msgid "Reference From Current Location"
+msgid "Reference From Current Location (Previously Transcoded Files Only)"
msgstr ""
#: transcode_video_dialog.cc:183
msgid "Import/Transcode Video to Session"
msgstr ""
-#: transcode_video_dialog.cc:197
+#: transcode_video_dialog.cc:191
+msgid "Do Not Import Video (Audio Import Only)"
+msgstr ""
+
+#: transcode_video_dialog.cc:200
msgid "Scale Video: Width = "
msgstr ""
-#: transcode_video_dialog.cc:204
+#: transcode_video_dialog.cc:207
msgid "Original Width"
msgstr ""
-#: transcode_video_dialog.cc:219
+#: transcode_video_dialog.cc:222
msgid "Bitrate (KBit/s):"
msgstr ""
-#: transcode_video_dialog.cc:224
+#: transcode_video_dialog.cc:227
msgid "Extract Audio:"
msgstr ""
-#: transcode_video_dialog.cc:344
+#: transcode_video_dialog.cc:232
+msgid "No Audio Track Present"
+msgstr ""
+
+#: transcode_video_dialog.cc:235
+msgid "Do Not Extract Audio"
+msgstr ""
+
+#: transcode_video_dialog.cc:350
msgid "Extracting Audio.."
msgstr ""
-#: transcode_video_dialog.cc:347
+#: transcode_video_dialog.cc:353
msgid "Audio Extraction Failed."
msgstr ""
-#: transcode_video_dialog.cc:373
+#: transcode_video_dialog.cc:379
msgid "Transcoding Video.."
msgstr ""
-#: transcode_video_dialog.cc:407
+#: transcode_video_dialog.cc:413
msgid "Transcoding Failed."
msgstr ""
-#: transcode_video_dialog.cc:490
+#: transcode_video_dialog.cc:503
msgid "Save Transcoded Video File"
msgstr ""
-#: video_server_dialog.cc:43
+#: video_server_dialog.cc:57
msgid "Launch Video Server"
msgstr ""
-#: video_server_dialog.cc:44
+#: video_server_dialog.cc:58
msgid "Server Executable:"
msgstr ""
-#: video_server_dialog.cc:46
+#: video_server_dialog.cc:60
msgid "Server Docroot:"
msgstr ""
-#: video_server_dialog.cc:52
+#: video_server_dialog.cc:66
msgid "Don't show this dialog again. (Reset in Edit->Preferences)."
msgstr ""
-#: video_server_dialog.cc:92
+#: video_server_dialog.cc:126
msgid ""
-"The external video server 'harvid' can not be found. The tool is included "
-"with the %1 releases from ardour.org, alternatively you can download it from "
-"http://x42.github.com/harvid/ or acquire it from your distribution."
+"The external video server 'harvid' can not be found.\n"
+"The tool is included with the %1 releases from ardour.org, alternatively you "
+"can download it from http://x42.github.com/harvid/ or acquire it from your "
+"distribution.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: video_server_dialog.cc:120
+#: video_server_dialog.cc:159
msgid "Listen Address:"
msgstr ""
-#: video_server_dialog.cc:125
+#: video_server_dialog.cc:164
msgid "Listen Port:"
msgstr ""
-#: video_server_dialog.cc:130
+#: video_server_dialog.cc:169
msgid "Cache Size:"
msgstr ""
-#: video_server_dialog.cc:136
+#: video_server_dialog.cc:175
msgid ""
"%1 relies on an external video server for the videotimeline.\n"
"The server configured in Edit -> Preferences -> Video is not reachable.\n"
"Do you want %1 to launch 'harvid' on this machine?"
msgstr ""
-#: video_server_dialog.cc:176
+#: video_server_dialog.cc:215
msgid "Set Video Server Executable"
msgstr ""
-#: video_server_dialog.cc:196
+#: video_server_dialog.cc:235
msgid "Server docroot"
msgstr ""
@@ -11971,184 +12302,184 @@ msgstr ""
msgid "Cannot create video folder \"%1\" (%2)"
msgstr ""
-#: export_video_dialog.cc:65
+#: export_video_dialog.cc:66
msgid "Export Video File "
msgstr ""
-#: export_video_dialog.cc:69
+#: export_video_dialog.cc:70
msgid "Video:"
msgstr ""
-#: export_video_dialog.cc:73
+#: export_video_dialog.cc:74
msgid "Scale Video (W x H):"
msgstr ""
-#: export_video_dialog.cc:78
+#: export_video_dialog.cc:79
msgid "Set Aspect Ratio:"
msgstr ""
-#: export_video_dialog.cc:79
+#: export_video_dialog.cc:80
msgid "Normalize Audio"
msgstr ""
-#: export_video_dialog.cc:80
+#: export_video_dialog.cc:81
msgid "2 Pass Encoding"
msgstr ""
-#: export_video_dialog.cc:81
+#: export_video_dialog.cc:82
msgid "Codec Optimizations:"
msgstr ""
-#: export_video_dialog.cc:83
+#: export_video_dialog.cc:84
msgid "Deinterlace"
msgstr ""
-#: export_video_dialog.cc:84
+#: export_video_dialog.cc:85
msgid "Use [2] B-frames (MPEG 2 or 4 only)"
msgstr ""
-#: export_video_dialog.cc:85
+#: export_video_dialog.cc:86
msgid "Override FPS (Default is to retain FPS from the input video file):"
msgstr ""
-#: export_video_dialog.cc:86
+#: export_video_dialog.cc:87
msgid "Include Session Metadata"
msgstr ""
-#: export_video_dialog.cc:106
+#: export_video_dialog.cc:107
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Export "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: export_video_dialog.cc:116
+#: export_video_dialog.cc:117
msgid "<b>Output:</b>"
msgstr ""
-#: export_video_dialog.cc:126
+#: export_video_dialog.cc:127
msgid "<b>Input:</b>"
msgstr ""
-#: export_video_dialog.cc:137
+#: export_video_dialog.cc:138
msgid "Audio:"
msgstr ""
-#: export_video_dialog.cc:139
+#: export_video_dialog.cc:140
msgid "Master Bus"
msgstr ""
-#: export_video_dialog.cc:144
+#: export_video_dialog.cc:145
msgid "from the %1 session's start to the session's end"
msgstr ""
-#: export_video_dialog.cc:148
+#: export_video_dialog.cc:149
msgid "from 00:00:00:00 to the video's end"
msgstr ""
-#: export_video_dialog.cc:150
+#: export_video_dialog.cc:151
msgid "from the video's start to the video's end"
msgstr ""
-#: export_video_dialog.cc:153
+#: export_video_dialog.cc:154
msgid "Selected range"
msgstr ""
-#: export_video_dialog.cc:193
+#: export_video_dialog.cc:194
msgid "<b>Settings:</b>"
msgstr ""
-#: export_video_dialog.cc:201
+#: export_video_dialog.cc:202
msgid "Range:"
msgstr ""
-#: export_video_dialog.cc:204
+#: export_video_dialog.cc:205
msgid "Preset:"
msgstr ""
-#: export_video_dialog.cc:207
+#: export_video_dialog.cc:208
msgid "Video Codec:"
msgstr ""
-#: export_video_dialog.cc:210
+#: export_video_dialog.cc:211
msgid "Video KBit/s:"
msgstr ""
-#: export_video_dialog.cc:213
+#: export_video_dialog.cc:214
msgid "Audio Codec:"
msgstr ""
-#: export_video_dialog.cc:216
+#: export_video_dialog.cc:217
msgid "Audio KBit/s:"
msgstr ""
-#: export_video_dialog.cc:219
+#: export_video_dialog.cc:220
msgid "Audio Samplerate:"
msgstr ""
-#: export_video_dialog.cc:395
+#: export_video_dialog.cc:396
msgid "Normalizing audio"
msgstr ""
-#: export_video_dialog.cc:399
+#: export_video_dialog.cc:400
msgid "Exporting audio"
msgstr ""
-#: export_video_dialog.cc:445
+#: export_video_dialog.cc:446
msgid "Exporting Audio..."
msgstr ""
-#: export_video_dialog.cc:502
+#: export_video_dialog.cc:503
msgid ""
"Export Video: Cannot query duration of video-file, using duration from "
"timeline instead."
msgstr ""
-#: export_video_dialog.cc:532
+#: export_video_dialog.cc:533
msgid "Export Video: export-range does not include video."
msgstr ""
-#: export_video_dialog.cc:544
+#: export_video_dialog.cc:545
msgid "Export Video: No Master Out Ports to Connect for Audio Export"
msgstr ""
-#: export_video_dialog.cc:583
+#: export_video_dialog.cc:585
msgid "Encoding Video..."
msgstr ""
-#: export_video_dialog.cc:602
+#: export_video_dialog.cc:604
msgid "Export Video: Video input file cannot be read."
msgstr ""
-#: export_video_dialog.cc:695
+#: export_video_dialog.cc:698
msgid "Encoding Video.. Pass 1/2"
msgstr ""
-#: export_video_dialog.cc:707
+#: export_video_dialog.cc:710
msgid "Encoding Video.. Pass 2/2"
msgstr ""
-#: export_video_dialog.cc:814
+#: export_video_dialog.cc:813
msgid "Transcoding failed."
msgstr ""
-#: export_video_dialog.cc:983 export_video_dialog.cc:1003
+#: export_video_dialog.cc:982 export_video_dialog.cc:1002
msgid "Save Exported Video File"
msgstr ""
-#: export_video_infobox.cc:30
+#: export_video_infobox.cc:33
msgid "Video Export Info"
msgstr ""
-#: export_video_infobox.cc:31
+#: export_video_infobox.cc:34
msgid "Do Not Show This Dialog Again (Reset in Edit > Preferences > Video)."
msgstr ""
-#: export_video_infobox.cc:43
+#: export_video_infobox.cc:46
msgid "<b>Video Export Info</b>"
msgstr ""
-#: export_video_infobox.cc:48
+#: export_video_infobox.cc:51
msgid ""
"Video encoding is a non-trivial task with many details.\n"
"\n"
@@ -12157,6 +12488,111 @@ msgid ""
"Open Manual in Browser? "
msgstr ""
+#~ msgid "Slowest"
+#~ msgstr "Mais lento"
+
+#~ msgid "insert dragged region"
+#~ msgstr "inserir região arrastada"
+
+#~ msgid " objects"
+#~ msgstr " objectos"
+
+#~ msgid "Lower limit of ruler"
+#~ msgstr "Limite inferior da régua"
+
+#~ msgid "Upper"
+#~ msgstr "Superior"
+
+#~ msgid "Upper limit of ruler"
+#~ msgstr "Limite superior da régua"
+
+#~ msgid "Position of mark on the ruler"
+#~ msgstr "Posição do marcador na régua"
+
+#~ msgid "Max Size"
+#~ msgstr "Tamanho máximo"
+
+#~ msgid "Maximum size of the ruler"
+#~ msgstr "Tamanho máximo da régua"
+
+#~ msgid "Show Position"
+#~ msgstr "Mostrar posição"
+
+#~ msgid "Draw current ruler position"
+#~ msgstr "Visualizar posição corrente da régua"
+
+#~ msgid "tupni"
+#~ msgstr "adartne"
+
+#~ msgid "lock"
+#~ msgstr "bloquear"
+
+#~ msgid "in"
+#~ msgstr "entrada"
+
+#~ msgid "post"
+#~ msgstr "pós"
+
+#~ msgid "out"
+#~ msgstr "saída"
+
+#~ msgid "mute"
+#~ msgstr "mudo"
+
+#~ msgid "x coordinate of upper left corner of rect"
+#~ msgstr "coordenada x do canto superior esquerdo do rectângulo"
+
+#~ msgid "y coordinate of upper left corner of rect "
+#~ msgstr "coordenada y do canto superior esquerdo do rectângulo"
+
+#~ msgid "x coordinate of lower right corner of rect"
+#~ msgstr "coordenada x do canto inferior direito do rectângulo"
+
+#~ msgid "y coordinate of lower right corner of rect "
+#~ msgstr "coordenada x do canto inferior direito do rectângulo"
+
+#~ msgid "color rgba"
+#~ msgstr "cor (rgba)"
+
+#~ msgid "color of line"
+#~ msgstr "cor da linha"
+
+#~ msgid "outline pixels"
+#~ msgstr "contorno"
+
+#~ msgid "width in pixels of outline"
+#~ msgstr "largura do contorno"
+
+#~ msgid "outline what"
+#~ msgstr "contornar"
+
+#~ msgid "which boundaries to outline (mask)"
+#~ msgstr "contornos"
+
+#~ msgid "fill"
+#~ msgstr "preencher"
+
+#~ msgid "fill rectangle"
+#~ msgstr "preencher rectângulo"
+
+#~ msgid "draw"
+#~ msgstr "desenhar"
+
+#~ msgid "draw rectangle"
+#~ msgstr "desenhar rectângulo"
+
+#~ msgid "outline color rgba"
+#~ msgstr "cor de contorno (rgba)"
+
+#~ msgid "color of outline"
+#~ msgstr "cor de contorno"
+
+#~ msgid "fill color rgba"
+#~ msgstr "cor de preenchimento (rgba)"
+
+#~ msgid "color of fill"
+#~ msgstr "cor de preenchimento"
+
#~ msgid "disconnected"
#~ msgstr "desligado"
diff --git a/gtk2_ardour/po/ru.po b/gtk2_ardour/po/ru.po
index b3e0a8a1b4..87e311c3cd 100644
--- a/gtk2_ardour/po/ru.po
+++ b/gtk2_ardour/po/ru.po
@@ -6,11 +6,12 @@
# Alexandre Prokoudine <alexandre.prokoudine@gmail.com>, 2006, 2007, 2009
# ÐлекÑандр Прокудин <alexandre.prokoudine@gmail.com>, 2010, 2011, 2012.
#
+#: engine_dialog.cc:558
msgid ""
msgstr ""
"Project-Id-Version: Ardour 3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-19 18:56+0400\n"
+"POT-Creation-Date: 2014-09-04 19:07-0400\n"
"PO-Revision-Date: 2014-01-19 22:56+0300\n"
"Last-Translator: ÐлекÑандр Прокудин <alexandre.prokoudine@gmail.com>\n"
"Language-Team: руÑÑкий <>\n"
@@ -23,235 +24,235 @@ msgstr ""
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"%100>=20) ? 1: 2);\n"
-#: about.cc:122
+#: about.cc:120
msgid "Brian Ahr"
msgstr "Brian Ahr"
-#: about.cc:123
+#: about.cc:121
msgid "John Anderson"
msgstr "John Anderson"
-#: about.cc:124
+#: about.cc:122
msgid "Marcus Andersson"
msgstr "Marcus Andersson"
-#: about.cc:125
+#: about.cc:123
msgid "Nedko Arnaudov"
msgstr "Nedko Arnaudov"
-#: about.cc:126
+#: about.cc:124
msgid "Hans Baier"
msgstr "Hans Baier"
-#: about.cc:127
+#: about.cc:125
msgid "Ben Bell"
msgstr "Ben Bell"
-#: about.cc:128
+#: about.cc:126
msgid "Sakari Bergen"
msgstr "Sakari Bergen"
-#: about.cc:129
+#: about.cc:127
msgid "Christian Borss"
msgstr "Christian Borss"
-#: about.cc:130
+#: about.cc:128
msgid "Chris Cannam"
msgstr "Chris Cannam"
-#: about.cc:131
+#: about.cc:129
msgid "Jesse Chappell"
msgstr "Jesse Chappell"
-#: about.cc:132
+#: about.cc:130
msgid "Thomas Charbonnel"
msgstr "Thomas Charbonnel"
-#: about.cc:133
+#: about.cc:131
msgid "Sam Chessman"
msgstr "Sam Chessman"
-#: about.cc:134
+#: about.cc:132
msgid "André Colomb"
msgstr "André Colomb"
-#: about.cc:135
+#: about.cc:133
msgid "Paul Davis"
msgstr "Paul Davis"
-#: about.cc:136
+#: about.cc:134
msgid "Gerard van Dongen"
msgstr "Gerard van Dongen"
-#: about.cc:137
+#: about.cc:135
msgid "Colin Fletcher"
msgstr "Colin Fletcher"
-#: about.cc:138
+#: about.cc:136
msgid "Dave Flick"
msgstr "Dave Flick"
-#: about.cc:139
+#: about.cc:137
msgid "Hans Fugal"
msgstr "Hans Fugal"
-#: about.cc:140
+#: about.cc:138
msgid "Robin Gareus"
msgstr "Robin Gareus"
-#: about.cc:141
+#: about.cc:139
msgid "Christopher George"
msgstr "Christopher George"
-#: about.cc:142
+#: about.cc:140
msgid "Chris Goddard"
msgstr "Chris Goddard"
-#: about.cc:143
+#: about.cc:141
msgid "J. Abelardo Gutierrez"
msgstr "J. Abelardo Gutierrez"
-#: about.cc:144
+#: about.cc:142
msgid "Jeremy Hall"
msgstr "Jeremy Hall"
-#: about.cc:145
+#: about.cc:143
msgid "Audun Halland"
msgstr "Audun Halland"
-#: about.cc:146
+#: about.cc:144
msgid "David Halter"
msgstr "David Halter"
-#: about.cc:147
+#: about.cc:145
msgid "Steve Harris"
msgstr "Steve Harris"
-#: about.cc:148
+#: about.cc:146
msgid "Melvin Ray Herr"
msgstr "Melvin Ray Herr"
-#: about.cc:149
+#: about.cc:147
msgid "Carl Hetherington"
msgstr "Carl Hetherington"
-#: about.cc:150
+#: about.cc:148
msgid "Rob Holland"
msgstr "Rob Holland"
-#: about.cc:151
+#: about.cc:149
msgid "Robert Jordens"
msgstr "Robert Jordens"
-#: about.cc:152
+#: about.cc:150
msgid "Stefan Kersten"
msgstr "Stefan Kersten"
-#: about.cc:153
+#: about.cc:151
msgid "Armand Klenk"
msgstr "Armand Klenk"
-#: about.cc:154
+#: about.cc:152
msgid "Julien de Kozak"
msgstr "Julien de Kozak"
-#: about.cc:155
+#: about.cc:153
msgid "Matt Krai"
msgstr "Matt Krai"
-#: about.cc:156
+#: about.cc:154
msgid "Nick Lanham"
msgstr "Nick Lanham"
-#: about.cc:157
+#: about.cc:155
msgid "Colin Law"
msgstr "Colin Law"
-#: about.cc:158
+#: about.cc:156
msgid "Joshua Leach"
msgstr "Joshua Leach"
-#: about.cc:159
+#: about.cc:157
msgid "Ben Loftis"
msgstr "Ben Loftis"
-#: about.cc:160
+#: about.cc:158
msgid "Nick Mainsbridge"
msgstr "Nick Mainsbridge"
-#: about.cc:161
+#: about.cc:159
msgid "Tim Mayberry"
msgstr "Tim Mayberry"
-#: about.cc:162
+#: about.cc:160
msgid "Doug Mclain"
msgstr "Doug Mclain"
-#: about.cc:163
+#: about.cc:161
msgid "Jack O'Quin"
msgstr "Jack O'Quin"
-#: about.cc:164
+#: about.cc:162
msgid "Nimal Ratnayake"
msgstr "Nimal Ratnayake"
-#: about.cc:165
+#: about.cc:163
msgid "David Robillard"
msgstr "David Robillard"
-#: about.cc:166
+#: about.cc:164
msgid "Taybin Rutkin"
msgstr "Taybin Rutkin"
-#: about.cc:167
+#: about.cc:165
msgid "Andreas Ruge"
msgstr "Andreas Ruge"
-#: about.cc:168
+#: about.cc:166
msgid "Sampo Savolainen"
msgstr "Sampo Savolainen"
-#: about.cc:169
+#: about.cc:167
msgid "Rodrigo Severo"
msgstr "Rodrigo Severo"
-#: about.cc:170
+#: about.cc:168
msgid "Per Sigmond"
msgstr "Per Sigmond"
-#: about.cc:171
+#: about.cc:169
msgid "Lincoln Spiteri"
msgstr "Lincoln Spiteri"
-#: about.cc:172
+#: about.cc:170
msgid "Mike Start"
msgstr "Mike Start"
-#: about.cc:173
+#: about.cc:171
msgid "Mark Stewart"
msgstr "Mark Stewart"
-#: about.cc:174
+#: about.cc:172
msgid "Roland Stigge"
msgstr "Roland Stigge"
-#: about.cc:175
+#: about.cc:173
msgid "Petter Sundlöf"
msgstr "Petter Sundlöf"
-#: about.cc:176
+#: about.cc:174
msgid "Mike Täht"
msgstr "Mike Täht"
-#: about.cc:177
+#: about.cc:175
msgid "Roy Vegard"
msgstr "Roy Vegard"
-#: about.cc:178
+#: about.cc:176
msgid "Thorsten Wilms"
msgstr "Thorsten Wilms"
-#: about.cc:183
+#: about.cc:181
msgid ""
"French:\n"
"\tAlain Fréhel <alain.frehel@free.fr>\n"
@@ -265,7 +266,7 @@ msgstr ""
"\tMartin Blanchard\n"
"\tRomain Arnaud <roming22@gmail.com>\n"
-#: about.cc:184
+#: about.cc:182
msgid ""
"German:\n"
"\tKarsten Petersen <kapet@kapet.de>\n"
@@ -285,7 +286,7 @@ msgstr ""
"\tRichard Oax <richard@pagliacciempire.de>\n"
"\tRobin Gloster <robin@loc-com.de>\n"
-#: about.cc:191
+#: about.cc:189
msgid ""
"Italian:\n"
"\tFilippo Pappalardo <filippo@email.it>\n"
@@ -295,7 +296,7 @@ msgstr ""
"\tFilippo Pappalardo <filippo@email.it>\n"
"\tRaffaele Morelli <raffaele.morelli@gmail.com>\n"
-#: about.cc:192
+#: about.cc:190
msgid ""
"Portuguese:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
@@ -303,7 +304,7 @@ msgstr ""
"ПортугальÑкий:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
-#: about.cc:193
+#: about.cc:191
msgid ""
"Brazilian Portuguese:\n"
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
@@ -313,7 +314,7 @@ msgstr ""
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
"\tChris Ross <chris@tebibyte.org>\n"
-#: about.cc:195
+#: about.cc:193
msgid ""
"Spanish:\n"
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
@@ -323,7 +324,7 @@ msgstr ""
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
"\tPablo Fernández <pablo.fbus@gmail.com>\n"
-#: about.cc:196
+#: about.cc:194
msgid ""
"Russian:\n"
"\t Igor Blinov <pitstop@nm.ru>\n"
@@ -333,7 +334,7 @@ msgstr ""
"\tИгорь Блинов <pitstop@nm.ru>\n"
"\tÐлекÑандр Прокудин <alexandre.prokoudine@gmail.com>\n"
-#: about.cc:198
+#: about.cc:196
msgid ""
"Greek:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
@@ -341,7 +342,7 @@ msgstr ""
"ГречеÑкий:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
-#: about.cc:199
+#: about.cc:197
msgid ""
"Swedish:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
@@ -349,7 +350,7 @@ msgstr ""
"ШведÑкий:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
-#: about.cc:200
+#: about.cc:198
msgid ""
"Polish:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
@@ -357,7 +358,7 @@ msgstr ""
"ПольÑкий:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
-#: about.cc:201
+#: about.cc:199
msgid ""
"Czech:\n"
"\t Pavel Fric <pavelfric@seznam.cz>\n"
@@ -365,7 +366,7 @@ msgstr ""
"ЧешÑкий:\n"
"\t Pavel Fric <pavelfric@seznam.cz>\n"
-#: about.cc:202
+#: about.cc:200
msgid ""
"Norwegian:\n"
"\t Eivind Ødegård\n"
@@ -373,7 +374,7 @@ msgstr ""
"ÐорвежÑкий:\n"
"\t Eivind Ødegård\n"
-#: about.cc:203
+#: about.cc:201
msgid ""
"Chinese:\n"
"\t Rui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
@@ -401,101 +402,102 @@ msgstr ""
msgid "Config"
msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñборки"
-#: actions.cc:85
+#: actions.cc:84
msgid "Loading menus from %1"
msgstr "Loading menus from %1"
-#: actions.cc:88 actions.cc:89
-msgid "badly formatted UI definition file: %1"
-msgstr "badly formatted UI definition file: %1"
+#: actions.cc:87 actions.cc:88
+msgid "badly formatted menu definition file: %1"
+msgstr ""
-#: actions.cc:91
+#: actions.cc:90
msgid "%1 menu definition file not found"
msgstr "%1 menu definition file not found"
-#: actions.cc:95 actions.cc:96
-msgid "%1 will not work without a valid ardour.menus file"
-msgstr "%1 will not work without a valid ardour.menus file"
+#: actions.cc:94 actions.cc:95
+msgid "%1 will not work without a valid menu definition file"
+msgstr ""
-#: add_route_dialog.cc:53 route_params_ui.cc:500
+#: add_route_dialog.cc:54 route_params_ui.cc:523
msgid "Add Track or Bus"
msgstr "Добавить дорожку или шину"
-#: add_route_dialog.cc:56
+#: add_route_dialog.cc:57
msgid "Configuration:"
msgstr "КонфигурациÑ:"
-#: add_route_dialog.cc:57
+#: add_route_dialog.cc:58
msgid "Track mode:"
msgstr "Режим дорожки:"
-#: add_route_dialog.cc:58
+#: add_route_dialog.cc:59
msgid "Instrument:"
msgstr "ИнÑтрумент:"
-#: add_route_dialog.cc:77
+#: add_route_dialog.cc:78
msgid "Audio Tracks"
msgstr "Звуковые дорожки"
-#: add_route_dialog.cc:78
+#: add_route_dialog.cc:79
msgid "MIDI Tracks"
msgstr "MIDI-дорожки"
-#: add_route_dialog.cc:79
+#: add_route_dialog.cc:80
msgid "Audio+MIDI Tracks"
msgstr "Смешанные дорожки (Звук+MIDI)"
-#: add_route_dialog.cc:80
+#: add_route_dialog.cc:81
msgid "Busses"
msgstr "Шины"
-#: add_route_dialog.cc:102
+#: add_route_dialog.cc:103
msgid "Add:"
msgstr "Добавить:"
-#: add_route_dialog.cc:115 time_fx_dialog.cc:91 add_video_dialog.cc:150
-#: video_server_dialog.cc:112
+#: add_route_dialog.cc:116 time_fx_dialog.cc:91 add_video_dialog.cc:135
+#: video_server_dialog.cc:151
msgid "<b>Options</b>"
msgstr "<b>Параметры</b>"
-#: add_route_dialog.cc:125 bundle_manager.cc:192 region_editor.cc:50
-#: route_group_dialog.cc:65
+#: add_route_dialog.cc:126 bundle_manager.cc:193 region_editor.cc:49
+#: route_group_dialog.cc:71
msgid "Name:"
msgstr "ИмÑ:"
-#: add_route_dialog.cc:155
+#: add_route_dialog.cc:156
msgid "Group:"
msgstr "Группа:"
-#: add_route_dialog.cc:216 add_route_dialog.cc:225 add_route_dialog.cc:299
-#: ardour_ui_ed.cc:476 engine_dialog.cc:235 rc_option_editor.cc:1458
-#: rc_option_editor.cc:1460 rc_option_editor.cc:1462 rc_option_editor.cc:1478
-#: rc_option_editor.cc:1480 rc_option_editor.cc:1488 rc_option_editor.cc:1490
-#: rc_option_editor.cc:1508 rc_option_editor.cc:1521 rc_option_editor.cc:1523
-#: rc_option_editor.cc:1525 rc_option_editor.cc:1556 rc_option_editor.cc:1558
-#: rc_option_editor.cc:1560 rc_option_editor.cc:1568 rc_option_editor.cc:1576
-#: rc_option_editor.cc:1584
+#: add_route_dialog.cc:217 add_route_dialog.cc:226 add_route_dialog.cc:300
+#: ardour_ui_ed.cc:523 engine_dialog.cc:235 rc_option_editor.cc:1710
+#: rc_option_editor.cc:1712 rc_option_editor.cc:1714 rc_option_editor.cc:1732
+#: rc_option_editor.cc:1734 rc_option_editor.cc:1742 rc_option_editor.cc:1744
+#: rc_option_editor.cc:1762 rc_option_editor.cc:1775 rc_option_editor.cc:1777
+#: rc_option_editor.cc:1779 rc_option_editor.cc:1810 rc_option_editor.cc:1812
+#: rc_option_editor.cc:1814 rc_option_editor.cc:1822 rc_option_editor.cc:1830
+#: rc_option_editor.cc:1832 rc_option_editor.cc:1840
msgid "Audio"
msgstr "Audio"
-#: add_route_dialog.cc:217 add_route_dialog.cc:228 add_route_dialog.cc:300
-#: editor_actions.cc:105 missing_file_dialog.cc:55 rc_option_editor.cc:1719
-#: rc_option_editor.cc:1727 rc_option_editor.cc:1735 rc_option_editor.cc:1744
-#: rc_option_editor.cc:1752 rc_option_editor.cc:1760 rc_option_editor.cc:1768
-#: rc_option_editor.cc:1777 rc_option_editor.cc:1786 rc_option_editor.cc:1795
-#: rc_option_editor.cc:1803 rc_option_editor.cc:1811
+#: add_route_dialog.cc:218 add_route_dialog.cc:229 add_route_dialog.cc:301
+#: editor_actions.cc:109 engine_dialog.cc:237 missing_file_dialog.cc:56
+#: rc_option_editor.cc:1975 rc_option_editor.cc:1983 rc_option_editor.cc:1991
+#: rc_option_editor.cc:2000 rc_option_editor.cc:2008 rc_option_editor.cc:2016
+#: rc_option_editor.cc:2024 rc_option_editor.cc:2033 rc_option_editor.cc:2042
+#: rc_option_editor.cc:2051 rc_option_editor.cc:2059 rc_option_editor.cc:2067
+#: rc_option_editor.cc:2075 rc_option_editor.cc:2098
msgid "MIDI"
msgstr "MIDI"
-#: add_route_dialog.cc:218 add_route_dialog.cc:231 add_route_dialog.cc:301
+#: add_route_dialog.cc:219 add_route_dialog.cc:232 add_route_dialog.cc:302
msgid "Audio+MIDI"
msgstr "Audio+MIDI"
-#: add_route_dialog.cc:219 add_route_dialog.cc:234 add_route_dialog.cc:302
+#: add_route_dialog.cc:220 add_route_dialog.cc:235 add_route_dialog.cc:303
msgid "Bus"
msgstr "Шина"
-#: add_route_dialog.cc:261
+#: add_route_dialog.cc:262
msgid ""
"Audio+MIDI tracks are intended for use <b>ONLY</b> with plugins that use "
"both audio and MIDI input data\n"
@@ -510,64 +512,64 @@ msgstr ""
"ЕÑли вы не ÑобираетеÑÑŒ иÑпользовать такие модули, иÑпользуйте обычные "
"звуковые и MIDI-дорожки."
-#: add_route_dialog.cc:320 add_route_dialog.cc:339 editor_actions.cc:385
-#: editor_rulers.cc:377 time_axis_view.cc:1305
+#: add_route_dialog.cc:321 add_route_dialog.cc:340 editor_actions.cc:420
+#: editor_rulers.cc:251 time_axis_view.cc:1339
msgid "Normal"
msgstr "ÐормальнаÑ"
-#: add_route_dialog.cc:323 add_route_dialog.cc:341
+#: add_route_dialog.cc:324 add_route_dialog.cc:342
msgid "Non Layered"
msgstr ""
-#: add_route_dialog.cc:324 add_route_dialog.cc:343
+#: add_route_dialog.cc:325 add_route_dialog.cc:344
msgid "Tape"
msgstr "ПленочнаÑ"
-#: add_route_dialog.cc:424
+#: add_route_dialog.cc:425 monitor_section.cc:291
msgid "Mono"
msgstr "Моно"
-#: add_route_dialog.cc:428
+#: add_route_dialog.cc:429
msgid "Stereo"
msgstr "Стерео"
-#: add_route_dialog.cc:452
+#: add_route_dialog.cc:453
msgid "3 Channel"
msgstr "3 канала"
-#: add_route_dialog.cc:456
+#: add_route_dialog.cc:457
msgid "4 Channel"
msgstr "4 канала"
-#: add_route_dialog.cc:460
+#: add_route_dialog.cc:461
msgid "5 Channel"
msgstr "5 каналов"
-#: add_route_dialog.cc:464
+#: add_route_dialog.cc:465
msgid "6 Channel"
msgstr "6 каналов"
-#: add_route_dialog.cc:468
+#: add_route_dialog.cc:469
msgid "8 Channel"
msgstr "8 каналов"
-#: add_route_dialog.cc:472
+#: add_route_dialog.cc:473
msgid "12 Channel"
msgstr "3 канала"
-#: add_route_dialog.cc:476 mixer_strip.cc:2165
+#: add_route_dialog.cc:477 mixer_strip.cc:1791 mixer_strip.cc:2199
msgid "Custom"
msgstr "Ðа заказ"
-#: add_route_dialog.cc:509 add_route_dialog.cc:525 route_group_menu.cc:81
+#: add_route_dialog.cc:510 add_route_dialog.cc:526 route_group_menu.cc:81
msgid "New Group..."
msgstr "Создать группу..."
-#: add_route_dialog.cc:513 route_group_menu.cc:85
+#: add_route_dialog.cc:514 route_group_menu.cc:85
msgid "No Group"
msgstr "Ðет группы"
-#: add_route_dialog.cc:589
+#: add_route_dialog.cc:590
msgid "-none-"
msgstr "-нет-"
@@ -593,7 +595,7 @@ msgstr ""
"\n"
"Выберите, из какой папки загрузить Ñтот файл."
-#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:45
+#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:46
msgid "Done"
msgstr "Готово"
@@ -633,17 +635,17 @@ msgstr "Ðормировать значениÑ"
msgid "FFT analysis window"
msgstr "Спектральный анализ"
-#: analysis_window.cc:60 editor.cc:1858
+#: analysis_window.cc:60 editor.cc:1776
msgid "Spectral Analysis"
msgstr "Спектральный анализ"
-#: analysis_window.cc:67 editor_actions.cc:138 export_channel_selector.cc:557
+#: analysis_window.cc:67 editor_actions.cc:142 export_channel_selector.cc:557
#: session_metadata_dialog.cc:546
msgid "Track"
msgstr "Дорожка"
-#: analysis_window.cc:68 editor_actions.cc:616 mixer_ui.cc:125
-#: mixer_ui.cc:1795
+#: analysis_window.cc:68 editor_actions.cc:658 mixer_ui.cc:130
+#: mixer_ui.cc:1830
msgid "Show"
msgstr "Показать"
@@ -651,90 +653,96 @@ msgstr "Показать"
msgid "Re-analyze data"
msgstr "Повторно проанализировать данные"
-#: ardour_button.cc:708
+#: ardour_button.cc:810
msgid "button cannot watch state of non-existing Controllable\n"
msgstr ""
-#: ardour_ui.cc:180
-msgid "audition"
-msgstr "проÑлушивание"
+#: ardour_button.cc:1024
+msgid "ABCDEFGHIJLKMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
+msgstr ""
-#: ardour_ui.cc:181
-msgid "solo"
-msgstr "Ñолирование"
+#: ardour_ui.cc:194 editor_actions.cc:652 region_editor.cc:50
+msgid "Audition"
+msgstr "Контроль"
-#: ardour_ui.cc:182
-msgid "feedback"
-msgstr "отклик"
+#: ardour_ui.cc:195 editor_actions.cc:136 mixer_strip.cc:1971
+#: rc_option_editor.cc:1850 route_time_axis.cc:252 route_time_axis.cc:2566
+msgid "Solo"
+msgstr "Соло"
+
+#: ardour_ui.cc:196 rc_option_editor.cc:718
+msgid "Feedback"
+msgstr "Отклик"
-#: ardour_ui.cc:187 speaker_dialog.cc:36
+#: ardour_ui.cc:201 speaker_dialog.cc:36
msgid "Speaker Configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð³Ñ€Ð¾Ð¼ÐºÐ¾Ð³Ð¾Ð²Ð¾Ñ€Ð¸Ñ‚ÐµÐ»ÐµÐ¹"
-#: ardour_ui.cc:188 theme_manager.cc:56 theme_manager.cc:64
+#: ardour_ui.cc:202 theme_manager.cc:62 theme_manager.cc:77
msgid "Theme Manager"
msgstr "Стиль оформлениÑ"
-#: ardour_ui.cc:189 keyeditor.cc:53
+#: ardour_ui.cc:203 keyeditor.cc:53
msgid "Key Bindings"
msgstr "Клавиатурные комбинации"
-#: ardour_ui.cc:190
+#: ardour_ui.cc:204
msgid "Preferences"
msgstr "Параметры"
-#: ardour_ui.cc:191 ardour_ui.cc:197
+#: ardour_ui.cc:205 ardour_ui.cc:211
msgid "Add Tracks/Busses"
msgstr "Добавить дорожки/шины"
-#: ardour_ui.cc:192
+#: ardour_ui.cc:206
msgid "About"
msgstr "О программе"
-#: ardour_ui.cc:193 location_ui.cc:1146
+#: ardour_ui.cc:207 location_ui.cc:1148 session_option_editor.cc:189
+#: session_option_editor.cc:195 session_option_editor.cc:202
msgid "Locations"
msgstr "Позиции"
-#: ardour_ui.cc:194 route_params_ui.cc:58 route_params_ui.cc:606
+#: ardour_ui.cc:208 route_params_ui.cc:58 route_params_ui.cc:629
msgid "Tracks and Busses"
msgstr "Дорожки и шины"
-#: ardour_ui.cc:195 engine_dialog.cc:67
+#: ardour_ui.cc:209 engine_dialog.cc:69
msgid "Audio/MIDI Setup"
msgstr "ÐаÑтройка звука и MIDI"
-#: ardour_ui.cc:196
+#: ardour_ui.cc:210
msgid "Properties"
msgstr "СвойÑтва"
-#: ardour_ui.cc:198 bundle_manager.cc:263
+#: ardour_ui.cc:212 bundle_manager.cc:264
msgid "Bundle Manager"
msgstr "Управление пакетами"
-#: ardour_ui.cc:199 big_clock_window.cc:35
+#: ardour_ui.cc:213 big_clock_window.cc:37
msgid "Big Clock"
msgstr "Большой Ñчётчик"
-#: ardour_ui.cc:200
+#: ardour_ui.cc:214
msgid "Audio Connections"
msgstr "Звуковые ÑоединениÑ"
-#: ardour_ui.cc:201
+#: ardour_ui.cc:215
msgid "MIDI Connections"
msgstr "Ð¡Ð¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ MIDI"
-#: ardour_ui.cc:203
+#: ardour_ui.cc:217
msgid "Errors"
msgstr "Ошибки"
-#: ardour_ui.cc:436
+#: ardour_ui.cc:461
msgid ""
"The audio backend was shutdown because:\n"
"\n"
"%1"
msgstr ""
-#: ardour_ui.cc:438
+#: ardour_ui.cc:463
msgid ""
"The audio backend has either been shutdown or it\n"
"disconnected %1 because %1\n"
@@ -746,27 +754,27 @@ msgstr ""
"работал недоÑтаточно быÑтро. Попробуйте Ñнова\n"
"запуÑтить подÑиÑтему и Ñохранить ÑеÑÑию."
-#: ardour_ui.cc:758
+#: ardour_ui.cc:781
msgid "NSM server did not announce itself"
msgstr ""
-#: ardour_ui.cc:771
+#: ardour_ui.cc:794
msgid "NSM: no client ID provided"
msgstr ""
-#: ardour_ui.cc:778
+#: ardour_ui.cc:801
msgid "NSM: no session created"
msgstr ""
-#: ardour_ui.cc:801
+#: ardour_ui.cc:824
msgid "NSM: initialization failed"
msgstr ""
-#: ardour_ui.cc:840 startup.cc:379
+#: ardour_ui.cc:864 startup.cc:380
msgid "%1 is ready for use"
msgstr "%1 готов к работе"
-#: ardour_ui.cc:882
+#: ardour_ui.cc:906
msgid ""
"WARNING: Your system has a limit for maximum amount of locked memory. This "
"might cause %1 to run out of memory before your system runs out of memory. \n"
@@ -781,23 +789,23 @@ msgstr ""
"Ð’Ñ‹ можете узнать уÑтановленный предел при помощи команды 'ulimit -l'. Обычно "
"Ñто контролируетÑÑ Ð² %2."
-#: ardour_ui.cc:899
+#: ardour_ui.cc:923
msgid "Do not show this window again"
msgstr "Больше не показывать Ñто окно"
-#: ardour_ui.cc:943
+#: ardour_ui.cc:967
msgid "Don't quit"
msgstr "Ðе выходить"
-#: ardour_ui.cc:944
+#: ardour_ui.cc:968
msgid "Just quit"
msgstr "ПроÑто выйти"
-#: ardour_ui.cc:945
+#: ardour_ui.cc:969
msgid "Save and quit"
msgstr "Сохранить и выйти"
-#: ardour_ui.cc:955
+#: ardour_ui.cc:979
msgid ""
"%1 was unable to save your session.\n"
"\n"
@@ -812,15 +820,11 @@ msgstr ""
"\n"
"«ПроÑто выйти»."
-#: ardour_ui.cc:986
-msgid "Please wait while %1 cleans up..."
-msgstr "ДождитеÑÑŒ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ñ‡Ð¸Ñтки ÑеÑÑии в %1..."
-
-#: ardour_ui.cc:1004
+#: ardour_ui.cc:1030
msgid "Unsaved Session"
msgstr "СеÑÑÐ¸Ñ Ð½Ðµ Ñохранена"
-#: ardour_ui.cc:1025
+#: ardour_ui.cc:1051
msgid ""
"The session \"%1\"\n"
"has not been saved.\n"
@@ -838,7 +842,7 @@ msgstr ""
"\n"
"Что вы хотите Ñделать?"
-#: ardour_ui.cc:1028
+#: ardour_ui.cc:1054
msgid ""
"The snapshot \"%1\"\n"
"has not been saved.\n"
@@ -856,75 +860,75 @@ msgstr ""
"\n"
"Что вы хотите Ñделать?"
-#: ardour_ui.cc:1042
+#: ardour_ui.cc:1068
msgid "Prompter"
msgstr ""
-#: ardour_ui.cc:1128 ardour_ui.cc:1136
+#: ardour_ui.cc:1182 ardour_ui.cc:1190
#, c-format
msgid "Audio: <span foreground=\"red\">none</span>"
msgstr "Звук: <span foreground=\"red\">нет</span>"
-#: ardour_ui.cc:1140
+#: ardour_ui.cc:1194
#, c-format
msgid "Audio: <span foreground=\"green\">%.1f kHz / %4.1f ms</span>"
msgstr "Звук: <span foreground=\"green\">%.1f КГц / %4.1f мÑ</span>"
-#: ardour_ui.cc:1144
+#: ardour_ui.cc:1198
#, c-format
msgid "Audio: <span foreground=\"green\">%<PRId64> kHz / %4.1f ms</span>"
msgstr "Звук: <span foreground=\"green\">%<PRId64> КГц / %4.1f мÑ</span>"
-#: ardour_ui.cc:1162 export_video_dialog.cc:67
+#: ardour_ui.cc:1216 export_video_dialog.cc:68
msgid "File:"
msgstr "Файл:"
-#: ardour_ui.cc:1166
+#: ardour_ui.cc:1220
msgid "BWF"
msgstr "BWF"
-#: ardour_ui.cc:1169
+#: ardour_ui.cc:1223
msgid "WAV"
msgstr "WAV"
-#: ardour_ui.cc:1172
+#: ardour_ui.cc:1226
msgid "WAV64"
msgstr "WAV64"
-#: ardour_ui.cc:1175 session_option_editor.cc:197
+#: ardour_ui.cc:1229 session_option_editor.cc:185
msgid "CAF"
msgstr "CAF"
-#: ardour_ui.cc:1178
+#: ardour_ui.cc:1232
msgid "AIFF"
msgstr "AIFF"
-#: ardour_ui.cc:1181
+#: ardour_ui.cc:1235
msgid "iXML"
msgstr "iXML"
-#: ardour_ui.cc:1184
+#: ardour_ui.cc:1238
msgid "RF64"
msgstr "RF64"
-#: ardour_ui.cc:1192
+#: ardour_ui.cc:1246
msgid "32-float"
msgstr "32-float"
-#: ardour_ui.cc:1195
+#: ardour_ui.cc:1249
msgid "24-int"
msgstr "24-int"
-#: ardour_ui.cc:1198
+#: ardour_ui.cc:1252
msgid "16-int"
msgstr "16-int"
-#: ardour_ui.cc:1217
+#: ardour_ui.cc:1271
#, c-format
msgid "DSP: <span foreground=\"%s\">%5.1f%%</span>"
msgstr "ЦП: <span foreground=\"%s\">%5.1f%%</span>"
-#: ardour_ui.cc:1236
+#: ardour_ui.cc:1290
#, c-format
msgid ""
"Buffers: <span foreground=\"green\">p:</span><span foreground=\"%s\">"
@@ -935,34 +939,34 @@ msgstr ""
"%%</span> <span foreground=\"green\">c:</span><span foreground=\"%s\">"
"%<PRIu32>%%</span>"
-#: ardour_ui.cc:1277
+#: ardour_ui.cc:1331
msgid "Disk: <span foreground=\"green\">Unknown</span>"
msgstr "Ðа диÑке: <span foreground=\"green\">неизвеÑтно</span>"
-#: ardour_ui.cc:1279
+#: ardour_ui.cc:1333
msgid "Disk: <span foreground=\"green\">24hrs+</span>"
msgstr "Ðа диÑке: <span foreground=\"green\">24ч+</span>"
-#: ardour_ui.cc:1297
+#: ardour_ui.cc:1351
msgid "Disk: <span foreground=\"green\">&gt;24 hrs</span>"
msgstr "Ðа диÑке: <span foreground=\"green\">&gt;24ч</span>"
-#: ardour_ui.cc:1308
+#: ardour_ui.cc:1362
#, c-format
msgid "Disk: <span foreground=\"%s\">%02dh:%02dm:%02ds</span>"
msgstr "Ðа диÑке: <span foreground=\"%s\">%02dч:%02dм:%02dÑ</span>"
-#: ardour_ui.cc:1334
+#: ardour_ui.cc:1388
#, c-format
msgid "Timecode|TC: <span foreground=\"%s\">%s</span>"
msgstr "ТК: <span foreground=\"%s\">%s</span>"
-#: ardour_ui.cc:1451 ardour_ui.cc:1460 session_dialog.cc:322
-#: session_dialog.cc:327
+#: ardour_ui.cc:1509 ardour_ui.cc:1518 session_dialog.cc:326
+#: session_dialog.cc:331
msgid "Recent Sessions"
msgstr "Ðедавние ÑеÑÑии"
-#: ardour_ui.cc:1539
+#: ardour_ui.cc:1597
msgid ""
"%1 is not connected to any audio backend.\n"
"You cannot open or close sessions in this condition"
@@ -970,57 +974,53 @@ msgstr ""
"%1 не Ñоединен Ñ ÐºÐ°ÐºÐ¾Ð¹-либо звуковой подÑиÑтемой.\n"
"Открытие и закрытие ÑеÑÑий невозможно."
-#: ardour_ui.cc:1563
+#: ardour_ui.cc:1621
msgid "Open Session"
msgstr "Открыть ÑеÑÑию"
-#: ardour_ui.cc:1588 session_dialog.cc:353 session_import_dialog.cc:169
+#: ardour_ui.cc:1646 session_dialog.cc:357 session_import_dialog.cc:169
#: session_metadata_dialog.cc:729
msgid "%1 sessions"
msgstr "CеанÑÑ‹ %1"
-#: ardour_ui.cc:1625
+#: ardour_ui.cc:1683
msgid "You cannot add a track without a session already loaded."
msgstr "Ð’Ñ‹ не можете добавить дорожку без загруженной ÑеÑÑии."
-#: ardour_ui.cc:1633
+#: ardour_ui.cc:1691
msgid "could not create %1 new mixed track"
msgid_plural "could not create %1 new mixed tracks"
msgstr[0] "Ðе удалоÑÑŒ Ñоздать %1 новую Ñмешанную дорожку"
msgstr[1] "Ðе удалоÑÑŒ Ñоздать %1 новых Ñмешанных дорожки"
msgstr[2] "Ðе удалоÑÑŒ Ñоздать %1 новых Ñмешанных дорожек"
-#: ardour_ui.cc:1639 ardour_ui.cc:1700
+#: ardour_ui.cc:1697 ardour_ui.cc:1758
msgid ""
-"There are insufficient JACK ports available\n"
+"There are insufficient ports available\n"
"to create a new track or bus.\n"
"You should save %1, exit and\n"
-"restart JACK with more ports."
+"restart with more ports."
msgstr ""
-"ДоÑтупных портов JACK недоÑтаточно длÑ\n"
-"ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð¹ дорожки или шины.\n"
-"Ðеобходимо Ñохранить %1, выйти и запуÑтить\n"
-"JACK Ñ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð½Ñ‹Ð¼ количеÑтвом портов."
-#: ardour_ui.cc:1674
+#: ardour_ui.cc:1732
msgid "You cannot add a track or bus without a session already loaded."
msgstr "Ð’Ñ‹ не можете добавить дорожку или шину без открытой ÑеÑÑии."
-#: ardour_ui.cc:1683
+#: ardour_ui.cc:1741
msgid "could not create %1 new audio track"
msgid_plural "could not create %1 new audio tracks"
msgstr[0] "Ðе удалоÑÑŒ Ñоздать %1 новую звуковую дорожку"
msgstr[1] "Ðе удалоÑÑŒ Ñоздать %2 новых звуковых дорожки"
msgstr[2] "Ðе удалоÑÑŒ Ñоздать %2 новых звуковых дорожек"
-#: ardour_ui.cc:1692
+#: ardour_ui.cc:1750
msgid "could not create %1 new audio bus"
msgid_plural "could not create %1 new audio busses"
msgstr[0] "Ðе удалоÑÑŒ Ñоздать %1 новую звуковую шину"
msgstr[1] "Ðе удалоÑÑŒ Ñоздать %1 новых звуковых шины"
msgstr[2] "Ðе удалоÑÑŒ Ñоздать %1 новых звуковых шин"
-#: ardour_ui.cc:1816
+#: ardour_ui.cc:1903
msgid ""
"Please create one or more tracks before trying to record.\n"
"You can do this with the \"Add Track or Bus\" option in the Session menu."
@@ -1029,23 +1029,23 @@ msgstr ""
"как пытатьÑÑ Ñ‡Ñ‚Ð¾-либо запиÑать.\n"
"ИÑпользуйте меню «СеÑÑÐ¸Ñ > Добавить дорожку/шину»."
-#: ardour_ui.cc:2194
+#: ardour_ui.cc:2312
msgid "Save as..."
msgstr "Сохранить как..."
-#: ardour_ui.cc:2195 ardour_ui.cc:2274
+#: ardour_ui.cc:2313 ardour_ui.cc:2392
msgid "New session name"
msgstr "Ðовое название ÑеÑÑии"
-#: ardour_ui.cc:2197
+#: ardour_ui.cc:2315
msgid "Take Snapshot"
msgstr "Создать Ñнимок"
-#: ardour_ui.cc:2198
+#: ardour_ui.cc:2316
msgid "Name of new snapshot"
msgstr "Ðазвание нового Ñнимка"
-#: ardour_ui.cc:2223
+#: ardour_ui.cc:2341
msgid ""
"To ensure compatibility with various systems\n"
"snapshot names may not contain a '%1' character"
@@ -1053,23 +1053,23 @@ msgstr ""
"Ð”Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ ÑовмеÑтимоÑти Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ ÑиÑтемами\n"
"Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñнимков не могут Ñодержать Ñимвол '%1'."
-#: ardour_ui.cc:2235
+#: ardour_ui.cc:2353
msgid "Confirm Snapshot Overwrite"
msgstr "Подтвердите перезапиÑÑŒ Ñнимка"
-#: ardour_ui.cc:2236
+#: ardour_ui.cc:2354
msgid "A snapshot already exists with that name. Do you want to overwrite it?"
msgstr "Снимок Ñ Ñ‚Ð°ÐºÐ¸Ð¼ названием уже еÑÑ‚ÑŒ. ПерезапиÑать его?"
-#: ardour_ui.cc:2239 utils_videotl.cc:67
+#: ardour_ui.cc:2357 utils_videotl.cc:67
msgid "Overwrite"
msgstr "ПерезапиÑать"
-#: ardour_ui.cc:2273
+#: ardour_ui.cc:2391
msgid "Rename Session"
msgstr "Переименовать ÑеÑÑию"
-#: ardour_ui.cc:2288 ardour_ui.cc:2689 ardour_ui.cc:2727
+#: ardour_ui.cc:2406 ardour_ui.cc:2814 ardour_ui.cc:2852
msgid ""
"To ensure compatibility with various systems\n"
"session names may not contain a '%1' character"
@@ -1077,12 +1077,12 @@ msgstr ""
"Ð”Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ ÑовмеÑтимоÑти Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ ÑиÑтемами\n"
"Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ ÑеÑÑий не могут Ñодержать Ñимвол '%1'."
-#: ardour_ui.cc:2296
+#: ardour_ui.cc:2414
msgid ""
"That name is already in use by another directory/folder. Please try again."
msgstr "Папка Ñ Ñ‚Ð°ÐºÐ¸Ð¼ названием уже еÑÑ‚ÑŒ. Укажите другое."
-#: ardour_ui.cc:2305
+#: ardour_ui.cc:2423
msgid ""
"Renaming this session failed.\n"
"Things could be seriously messed up at this point"
@@ -1090,19 +1090,19 @@ msgstr ""
"Ðе удалоÑÑŒ переименовать Ñту ÑеÑÑию.\n"
"Ð’ÑÑ‘ может быть очень, очень плохо."
-#: ardour_ui.cc:2416
+#: ardour_ui.cc:2534
msgid "Save Template"
msgstr "Сохранить шаблон"
-#: ardour_ui.cc:2417
+#: ardour_ui.cc:2535
msgid "Name for template:"
msgstr "Ðазвание шаблона:"
-#: ardour_ui.cc:2418
+#: ardour_ui.cc:2536
msgid "-template"
msgstr "-шаблон"
-#: ardour_ui.cc:2456
+#: ardour_ui.cc:2574
msgid ""
"This session\n"
"%1\n"
@@ -1112,35 +1112,35 @@ msgstr ""
"%1\n"
"уже ÑущеÑтвует. Открыть её?"
-#: ardour_ui.cc:2466
+#: ardour_ui.cc:2584
msgid "Open Existing Session"
msgstr "Открыть ÑущеÑтвующую ÑеÑÑÑŽ"
-#: ardour_ui.cc:2717
+#: ardour_ui.cc:2842
msgid "There is no existing session at \"%1\""
msgstr "По адреÑу \"%1\" не ÑущеÑтвующей ÑеÑÑии"
-#: ardour_ui.cc:2809
+#: ardour_ui.cc:2934
msgid "Please wait while %1 loads your session"
msgstr "ДождитеÑÑŒ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ ÑеÑÑии в %1"
-#: ardour_ui.cc:2824
+#: ardour_ui.cc:2949
msgid "Port Registration Error"
msgstr "Ошибка региÑтрации порта"
-#: ardour_ui.cc:2825
+#: ardour_ui.cc:2950
msgid "Click the Close button to try again."
msgstr "Щелкните кнопку «Закрыть» Ð´Ð»Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚Ð° к предыдущему диалогу."
-#: ardour_ui.cc:2846
+#: ardour_ui.cc:2971
msgid "Session \"%1 (snapshot %2)\" did not load successfully"
msgstr "Ðе удалоÑÑŒ загрузить ÑеÑÑию \"%1 (Ñнимок %2)\""
-#: ardour_ui.cc:2853
+#: ardour_ui.cc:2978
msgid "Loading Error"
msgstr "Ошибка при загрузке"
-#: ardour_ui.cc:2872
+#: ardour_ui.cc:2997
msgid ""
"This session has been opened in read-only mode.\n"
"\n"
@@ -1150,24 +1150,24 @@ msgstr ""
"\n"
"Ð’Ñ‹ не Ñможете запиÑывать или ÑохранÑÑ‚ÑŒ."
-#: ardour_ui.cc:2878
+#: ardour_ui.cc:3003
msgid "Read-only Session"
msgstr "СеÑÑÐ¸Ñ Ð² режиме чтениÑ"
-#: ardour_ui.cc:2936
+#: ardour_ui.cc:3069
msgid "Could not create session in \"%1\""
msgstr "Ðе удалоÑÑŒ Ñоздать ÑеÑÑию «%1»"
-#: ardour_ui.cc:3036
+#: ardour_ui.cc:3169
msgid "No files were ready for clean-up"
msgstr "Ðет готовых к удалению звуковых файлов"
-#: ardour_ui.cc:3040 ardour_ui.cc:3050 ardour_ui.cc:3183 ardour_ui.cc:3190
-#: ardour_ui_ed.cc:104
+#: ardour_ui.cc:3173 ardour_ui.cc:3183 ardour_ui.cc:3316 ardour_ui.cc:3323
+#: ardour_ui_ed.cc:103
msgid "Clean-up"
msgstr "ОчиÑтить"
-#: ardour_ui.cc:3041
+#: ardour_ui.cc:3174
msgid ""
"If this seems suprising, \n"
"check for any existing snapshots.\n"
@@ -1179,19 +1179,19 @@ msgstr ""
"Они могут включать облаÑти, которым\n"
"нужны неиÑпользуемые файлы."
-#: ardour_ui.cc:3100
+#: ardour_ui.cc:3233
msgid "kilo"
msgstr "кило"
-#: ardour_ui.cc:3103
+#: ardour_ui.cc:3236
msgid "mega"
msgstr "мега"
-#: ardour_ui.cc:3106
+#: ardour_ui.cc:3239
msgid "giga"
msgstr "гига"
-#: ardour_ui.cc:3111
+#: ardour_ui.cc:3244
msgid ""
"The following file was deleted from %2,\n"
"releasing %3 %4bytes of disk space"
@@ -1211,7 +1211,7 @@ msgstr[2] ""
"оÑвободив при Ñтом %3 %4байт\n"
"диÑкового проÑтранÑтва."
-#: ardour_ui.cc:3118
+#: ardour_ui.cc:3251
msgid ""
"The following file was not in use and \n"
"has been moved to: %2\n"
@@ -1258,11 +1258,11 @@ msgstr[2] ""
"\n"
"дополнительно оÑвободит %3 %4байт диÑкового проÑтранÑтва.\n"
-#: ardour_ui.cc:3178
+#: ardour_ui.cc:3311
msgid "Are you sure you want to clean-up?"
msgstr "Ð’Ñ‹ уверены, что хотите выполнить очиÑтку?"
-#: ardour_ui.cc:3185
+#: ardour_ui.cc:3318
msgid ""
"Clean-up is a destructive operation.\n"
"ALL undo/redo information will be lost if you clean-up.\n"
@@ -1273,81 +1273,79 @@ msgstr ""
"неиÑпользуемые звуковые файлы\n"
"будут перемещены в «мертвую» зону."
-#: ardour_ui.cc:3193
+#: ardour_ui.cc:3326
msgid "CleanupDialog"
msgstr "ОчиÑтка"
-#: ardour_ui.cc:3223
+#: ardour_ui.cc:3356
msgid "Cleaned Files"
msgstr "Очищенные файлы"
-#: ardour_ui.cc:3240
+#: ardour_ui.cc:3373
msgid "deleted file"
msgstr "удалён файл"
-#: ardour_ui.cc:3386
-msgid ""
-"Video-Server was not launched by Ardour. The request to stop it is ignored."
+#: ardour_ui.cc:3512
+msgid "Video-Server was not launched by %1. The request to stop it is ignored."
msgstr ""
-"ВидеоÑервер не был запущен Ardour. Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° его оÑтановку проигнорирован."
-#: ardour_ui.cc:3390
+#: ardour_ui.cc:3516
msgid "Stop Video-Server"
msgstr "ОÑтановить видеоÑервер"
-#: ardour_ui.cc:3391
+#: ardour_ui.cc:3517
msgid "Do you really want to stop the Video Server?"
msgstr "Ð’Ñ‹ дейÑтвительно хотите оÑтановить видеоÑервер?"
-#: ardour_ui.cc:3394
+#: ardour_ui.cc:3520
msgid "Yes, Stop It"
msgstr "Да, оÑтановить"
-#: ardour_ui.cc:3420
+#: ardour_ui.cc:3546
msgid "The Video Server is already started."
msgstr "ВидеоÑервер уже запущен."
-#: ardour_ui.cc:3422
+#: ardour_ui.cc:3548
msgid ""
"An external Video Server is configured and can be reached. Not starting a "
"new instance."
msgstr ""
-#: ardour_ui.cc:3430 ardour_ui.cc:3520
+#: ardour_ui.cc:3556 ardour_ui.cc:3655
msgid ""
"Could not connect to the Video Server. Start it or configure its access URL "
"in Edit -> Preferences."
msgstr ""
-#: ardour_ui.cc:3454
+#: ardour_ui.cc:3580
msgid "Specified docroot is not an existing directory."
msgstr ""
-#: ardour_ui.cc:3459
+#: ardour_ui.cc:3586 ardour_ui.cc:3592
msgid "Given Video Server is not an executable file."
msgstr ""
-#: ardour_ui.cc:3492
+#: ardour_ui.cc:3626
msgid "Cannot launch the video-server"
msgstr "Ðе удалоÑÑŒ запуÑтить видеоÑервер"
-#: ardour_ui.cc:3501
+#: ardour_ui.cc:3636
msgid "Video-server was started but does not respond to requests..."
msgstr "ВидеоÑервер запущен, но не откликаетÑÑ."
-#: ardour_ui.cc:3546 editor_audio_import.cc:632
+#: ardour_ui.cc:3681 editor_audio_import.cc:628
msgid "could not open %1"
msgstr "не удалоÑÑŒ открыть %1"
-#: ardour_ui.cc:3550
+#: ardour_ui.cc:3685
msgid "no video-file selected"
msgstr ""
-#: ardour_ui.cc:3723
+#: ardour_ui.cc:3858
msgid "Recording was stopped because your system could not keep up."
msgstr "ЗапиÑÑŒ оÑтановлена из-за недоÑтаточного быÑтродейÑÑ‚Ð²Ð¸Ñ ÑиÑтемы"
-#: ardour_ui.cc:3752
+#: ardour_ui.cc:3887
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1361,7 +1359,23 @@ msgstr ""
"Ð’ чаÑтноÑти ей не удалоÑÑŒ запиÑать данные на диÑк\n"
"доÑтаточно быÑтро Ð´Ð»Ñ Ñ„Ð¸ÐºÑации захваченных данных.\n"
-#: ardour_ui.cc:3771
+#: ardour_ui.cc:3957
+msgid "Scanning for plugins"
+msgstr ""
+
+#: ardour_ui.cc:3959
+msgid "Cancel plugin scan"
+msgstr ""
+
+#: ardour_ui.cc:3968
+msgid "Stop Timeout"
+msgstr ""
+
+#: ardour_ui.cc:3975
+msgid "Scan Timeout"
+msgstr ""
+
+#: ardour_ui.cc:4016
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1375,11 +1389,11 @@ msgstr ""
"Ð’ чаÑтноÑти ей не удалоÑÑŒ прочитать данные\n"
"Ñ Ð´Ð¸Ñка доÑтаточно быÑтро Ð´Ð»Ñ Ð²Ð¾ÑпроизведениÑ.\n"
-#: ardour_ui.cc:3811
+#: ardour_ui.cc:4056
msgid "Crash Recovery"
msgstr "ВоÑÑтановление данных"
-#: ardour_ui.cc:3812
+#: ardour_ui.cc:4057
msgid ""
"This session appears to have been in the\n"
"middle of recording when %1 or\n"
@@ -1395,19 +1409,19 @@ msgstr ""
"%1 может воÑÑтановить запиÑанные данные,\n"
"либо проигнорировать их. Примите решение.\n"
-#: ardour_ui.cc:3824
+#: ardour_ui.cc:4069
msgid "Ignore crash data"
msgstr "Проигнорировать"
-#: ardour_ui.cc:3825
+#: ardour_ui.cc:4070
msgid "Recover from crash"
msgstr "ВоÑÑтановить данные"
-#: ardour_ui.cc:3845
+#: ardour_ui.cc:4090
msgid "Sample Rate Mismatch"
msgstr "ÐеÑовпадение чаÑтот ÑÑмплированиÑ"
-#: ardour_ui.cc:3846
+#: ardour_ui.cc:4091
msgid ""
"This session was created with a sample rate of %1 Hz, but\n"
"%2 is currently running at %3 Hz. If you load this session,\n"
@@ -1419,23 +1433,23 @@ msgstr ""
"ЕÑли вы загрузите Ñту ÑеÑÑию, звуковые данные могут быть\n"
"воÑпроизведены Ñ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ð¹ чаÑтотой ÑÑмплированиÑ.\n"
-#: ardour_ui.cc:3855
+#: ardour_ui.cc:4100
msgid "Do not load session"
msgstr "Ðе загружать ÑеÑÑию"
-#: ardour_ui.cc:3856
+#: ardour_ui.cc:4101
msgid "Load session anyway"
msgstr "Ð’Ñе равно загрузить"
-#: ardour_ui.cc:3883
+#: ardour_ui.cc:4128
msgid "Could not disconnect from Audio/MIDI engine"
msgstr "Ðе удалоÑÑŒ отÑоединитьÑÑ Ð¾Ñ‚ аудио/MIDI-подÑиÑтемы."
-#: ardour_ui.cc:3899 ardour_ui.cc:3902
+#: ardour_ui.cc:4144 ardour_ui.cc:4147
msgid "Could not reconnect to the Audio/MIDI engine"
msgstr "Ðе удалоÑÑŒ повторно ÑоединитьÑÑ Ñ Ð°ÑƒÐ´Ð¸Ð¾/MIDI-подÑиÑтемой."
-#: ardour_ui.cc:4178
+#: ardour_ui.cc:4431
msgid ""
"%4This is a session from an older version of %3%5\n"
"\n"
@@ -1450,69 +1464,69 @@ msgid ""
"From now on, use the -2000 version with older versions of %3"
msgstr ""
-#: ardour_ui2.cc:72
+#: ardour_ui2.cc:73
msgid "UI: cannot setup editor"
msgstr "ИнтерфейÑ: не удалоÑÑŒ инициализировать редактор"
-#: ardour_ui2.cc:77
+#: ardour_ui2.cc:78
msgid "UI: cannot setup mixer"
msgstr "ИнтерфейÑ: не удалоÑÑŒ инициализировать микшер"
-#: ardour_ui2.cc:82
+#: ardour_ui2.cc:83
msgid "UI: cannot setup meterbridge"
msgstr "ИнтерфейÑ: не удалоÑÑŒ наÑтроить панель индикаторов"
-#: ardour_ui2.cc:130
+#: ardour_ui2.cc:131
msgid "Play from playhead"
msgstr "ВоÑпроизвеÑти от указателÑ"
-#: ardour_ui2.cc:131
+#: ardour_ui2.cc:132
msgid "Stop playback"
msgstr "Стоп"
-#: ardour_ui2.cc:132
+#: ardour_ui2.cc:133
msgid "Toggle record"
msgstr "Переключить готовноÑÑ‚ÑŒ к запиÑи"
-#: ardour_ui2.cc:133
+#: ardour_ui2.cc:134
msgid "Play range/selection"
msgstr "ВоÑпроизвеÑти выделение"
-#: ardour_ui2.cc:134
+#: ardour_ui2.cc:135
msgid "Go to start of session"
msgstr "Ð’ начало ÑеÑÑии"
-#: ardour_ui2.cc:135
+#: ardour_ui2.cc:136
msgid "Go to end of session"
msgstr "Ð’ конец ÑеÑÑии"
-#: ardour_ui2.cc:136
+#: ardour_ui2.cc:137
msgid "Play loop range"
msgstr "ВоÑпроизвеÑти выделение в петле"
-#: ardour_ui2.cc:137
+#: ardour_ui2.cc:138
msgid ""
"MIDI Panic\n"
"Send note off and reset controller messages on all MIDI channels"
msgstr ""
-#: ardour_ui2.cc:138
+#: ardour_ui2.cc:139
msgid "Return to last playback start when stopped"
msgstr "ВернутьÑÑ Ðº точке начала воÑпроизведениÑ"
-#: ardour_ui2.cc:139
+#: ardour_ui2.cc:140
msgid "Playhead follows Range Selections and Edits"
msgstr "Указатель воÑÐ¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñледует за выделением облаÑтей и правкам"
-#: ardour_ui2.cc:140
+#: ardour_ui2.cc:141
msgid "Be sensible about input monitoring"
msgstr ""
-#: ardour_ui2.cc:141
+#: ardour_ui2.cc:142
msgid "Enable/Disable audio click"
msgstr "Включить или выключить метроном"
-#: ardour_ui2.cc:142 monitor_section.cc:101
+#: ardour_ui2.cc:143 monitor_section.cc:112
msgid ""
"When active, something is soloed.\n"
"Click to de-solo everything"
@@ -1520,7 +1534,7 @@ msgstr ""
"Включено, еÑли какие-то дорожки Ñолируют.\n"
"Щёлкните, чтобы ÑнÑÑ‚ÑŒ Ñолирование везде."
-#: ardour_ui2.cc:143
+#: ardour_ui2.cc:144
msgid ""
"When active, auditioning is taking place\n"
"Click to stop the audition"
@@ -1528,11 +1542,11 @@ msgstr ""
"Включено, еÑли выполнÑетÑÑ Ð¿Ñ€Ð¾Ñлушивание.\n"
"Щёлкните, чтобы прекратить его."
-#: ardour_ui2.cc:144
+#: ardour_ui2.cc:145
msgid "When active, there is a feedback loop."
msgstr "Включена, когда еÑÑ‚ÑŒ Ð¿ÐµÑ‚Ð»Ñ Ð¾Ñ‚ÐºÐ»Ð¸ÐºÐ° (feedback loop)"
-#: ardour_ui2.cc:145
+#: ardour_ui2.cc:146
msgid ""
"<b>Primary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1545,7 +1559,7 @@ msgstr ""
"ПрÑмой ввод: <tt>Esc</tt>: отмена; <tt>Enter</tt>: подтверждение; поÑÑ‚Ñ„Ð¸ÐºÑ "
"'+' или '-' вводит разницу во времени.\n"
-#: ardour_ui2.cc:146
+#: ardour_ui2.cc:147
msgid ""
"<b>Secondary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1558,361 +1572,418 @@ msgstr ""
"ПрÑмой ввод: <tt>Esc</tt>: отмена; <tt>Enter</tt>: подтверждение; поÑÑ‚Ñ„Ð¸ÐºÑ "
"'+' или '-' вводит разницу во времени.\n"
-#: ardour_ui2.cc:147
-msgid "Reset Level Meter"
-msgstr "СброÑить индикатор громкоÑти"
+#: ardour_ui2.cc:148
+msgid "Reset All Peak Indicators"
+msgstr ""
-#: ardour_ui2.cc:179
+#: ardour_ui2.cc:180
msgid "[ERROR]: "
msgstr "[ОШИБКÐ]: "
-#: ardour_ui2.cc:181
+#: ardour_ui2.cc:182
msgid "[WARNING]: "
msgstr "[ПРЕДУПРЕЖДЕÐИЕ]:"
-#: ardour_ui2.cc:183
+#: ardour_ui2.cc:184
msgid "[INFO]: "
msgstr "[СПРÐВКÐ]:"
-#: ardour_ui2.cc:247 ardour_ui_ed.cc:344
+#: ardour_ui2.cc:248 ardour_ui_ed.cc:391
msgid "Auto Return"
msgstr "Ðвтовозврат"
-#: ardour_ui2.cc:249 ardour_ui_ed.cc:347
+#: ardour_ui2.cc:250 ardour_ui_ed.cc:394
msgid "Follow Edits"
msgstr "Следовать правкам"
-#: ardour_ui2.cc:628 rc_option_editor.cc:1014 rc_option_editor.cc:1032
-#: rc_option_editor.cc:1035 rc_option_editor.cc:1037 rc_option_editor.cc:1039
-#: rc_option_editor.cc:1047 rc_option_editor.cc:1055 rc_option_editor.cc:1057
-#: rc_option_editor.cc:1065 rc_option_editor.cc:1072 rc_option_editor.cc:1081
-#: rc_option_editor.cc:1083 rc_option_editor.cc:1085 rc_option_editor.cc:1093
-#: rc_option_editor.cc:1095 rc_option_editor.cc:1104
-#: session_option_editor.cc:234 session_option_editor.cc:236
-#: session_option_editor.cc:257 session_option_editor.cc:259
-#: session_option_editor.cc:261 session_option_editor.cc:268
+#: ardour_ui2.cc:651 rc_option_editor.cc:2172
+msgid "GUI"
+msgstr "ИнтерфейÑ"
+
+#: ardour_ui2.cc:668 rc_option_editor.cc:1242 rc_option_editor.cc:1260
+#: rc_option_editor.cc:1263 rc_option_editor.cc:1265 rc_option_editor.cc:1267
+#: rc_option_editor.cc:1275 rc_option_editor.cc:1283 rc_option_editor.cc:1285
+#: rc_option_editor.cc:1293 rc_option_editor.cc:1300 rc_option_editor.cc:1309
+#: rc_option_editor.cc:1311 rc_option_editor.cc:1313 rc_option_editor.cc:1321
+#: rc_option_editor.cc:1323 rc_option_editor.cc:1332
+#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:344 session_option_editor.cc:346
+#: session_option_editor.cc:348 session_option_editor.cc:355
+#: session_option_editor.cc:362 session_option_editor.cc:366
msgid "Misc"
msgstr "Прочее"
-#: ardour_ui_dependents.cc:69
+#: ardour_ui_dependents.cc:75
msgid "Setup Editor"
msgstr "ÐаÑтройка редактора"
-#: ardour_ui_dependents.cc:71
+#: ardour_ui_dependents.cc:77
msgid "Setup Mixer"
msgstr "ÐаÑтройка микшера"
-#: ardour_ui_dependents.cc:77
+#: ardour_ui_dependents.cc:83
msgid "Reload Session History"
msgstr "ÐŸÐ¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° иÑтории ÑеÑÑий"
-#: ardour_ui_dialogs.cc:243
+#: ardour_ui_dialogs.cc:251
msgid "Don't close"
msgstr "Ðе закрывать"
-#: ardour_ui_dialogs.cc:244
+#: ardour_ui_dialogs.cc:252
msgid "Just close"
msgstr "ПроÑто закрыть"
-#: ardour_ui_dialogs.cc:245
+#: ardour_ui_dialogs.cc:253
msgid "Save and close"
msgstr "Сохранить и закрыть"
-#: ardour_ui_dialogs.cc:344
+#: ardour_ui_dialogs.cc:353
msgid "This screen is not tall enough to display the mixer window"
msgstr "Размеров Ñкрана недоÑтаточно, чтобы показать окно микшера"
-#: ardour_ui_ed.cc:103
+#: ardour_ui_ed.cc:102
msgid "Session"
msgstr "СеÑÑиÑ"
-#: ardour_ui_ed.cc:106 editor_actions.cc:134 editor_regions.cc:115
+#: ardour_ui_ed.cc:105 editor_actions.cc:138 editor_regions.cc:116
#: port_group.cc:458 session_option_editor.cc:82 session_option_editor.cc:89
msgid "Sync"
msgstr "СинхронизациÑ"
-#: ardour_ui_ed.cc:107
+#: ardour_ui_ed.cc:106
msgid "Options"
msgstr "Параметры"
-#: ardour_ui_ed.cc:108
+#: ardour_ui_ed.cc:107
msgid "Window"
msgstr "Окна"
-#: ardour_ui_ed.cc:109
+#: ardour_ui_ed.cc:108
msgid "Help"
msgstr "Справка"
-#: ardour_ui_ed.cc:110
+#: ardour_ui_ed.cc:109
msgid "Misc. Shortcuts"
msgstr "Прочие дейÑтвиÑ"
-#: ardour_ui_ed.cc:111
+#: ardour_ui_ed.cc:110
msgid "Audio File Format"
msgstr "Формат звуковых файлов"
-#: ardour_ui_ed.cc:112
+#: ardour_ui_ed.cc:111
msgid "File Type"
msgstr "Тип файла"
-#: ardour_ui_ed.cc:113 export_format_dialog.cc:65
+#: ardour_ui_ed.cc:112 export_format_dialog.cc:67
msgid "Sample Format"
msgstr "Формат ÑÑмпла"
-#: ardour_ui_ed.cc:114 rc_option_editor.cc:1838 rc_option_editor.cc:1850
+#: ardour_ui_ed.cc:113 rc_option_editor.cc:2119 rc_option_editor.cc:2131
msgid "Control Surfaces"
msgstr "УÑтройÑтва управлениÑ"
-#: ardour_ui_ed.cc:115 rc_option_editor.cc:1558
+#: ardour_ui_ed.cc:114 rc_option_editor.cc:1812 rc_option_editor.cc:2138
msgid "Plugins"
msgstr "Модули"
-#: ardour_ui_ed.cc:116 rc_option_editor.cc:1913
+#: ardour_ui_ed.cc:115 rc_option_editor.cc:2223
msgid "Metering"
msgstr "Индикаторы"
-#: ardour_ui_ed.cc:117
+#: ardour_ui_ed.cc:116
msgid "Fall Off Rate"
msgstr "ЧаÑтота Ñпада"
-#: ardour_ui_ed.cc:118
+#: ardour_ui_ed.cc:117
msgid "Hold Time"
msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð·Ð°Ð´ÐµÑ€Ð¶ÐºÐ¸"
-#: ardour_ui_ed.cc:119
+#: ardour_ui_ed.cc:118
msgid "Denormal Handling"
msgstr "Обработка отклонений"
-#: ardour_ui_ed.cc:123 route_time_axis.cc:1489
+#: ardour_ui_ed.cc:122 route_time_axis.cc:1636
msgid "New..."
msgstr "Создать..."
-#: ardour_ui_ed.cc:125
+#: ardour_ui_ed.cc:124
msgid "Open..."
msgstr "Открыть..."
-#: ardour_ui_ed.cc:126
+#: ardour_ui_ed.cc:125
msgid "Recent..."
msgstr "Ðедавние ÑеÑÑии..."
-#: ardour_ui_ed.cc:127 panner_editor.cc:29 playlist_selector.cc:64
+#: ardour_ui_ed.cc:126 panner_editor.cc:29 playlist_selector.cc:64
msgid "Close"
msgstr "Закрыть"
-#: ardour_ui_ed.cc:130
+#: ardour_ui_ed.cc:129
msgid "Add Track or Bus..."
msgstr "Добавить дорожку или шину..."
-#: ardour_ui_ed.cc:135
+#: ardour_ui_ed.cc:134
msgid "Open Video"
msgstr "Добавить видео"
-#: ardour_ui_ed.cc:138
+#: ardour_ui_ed.cc:137
msgid "Remove Video"
msgstr "Удалить видео"
-#: ardour_ui_ed.cc:141
+#: ardour_ui_ed.cc:140
msgid "Export To Video File"
msgstr "Видеофайл"
-#: ardour_ui_ed.cc:145
+#: ardour_ui_ed.cc:144
msgid "Snapshot..."
msgstr "Создать Ñнимок..."
-#: ardour_ui_ed.cc:149
+#: ardour_ui_ed.cc:148
msgid "Save As..."
msgstr "Сохранить как..."
-#: ardour_ui_ed.cc:153 editor_actions.cc:1719 editor_markers.cc:858
-#: editor_snapshots.cc:123 mixer_strip.cc:1504 route_time_axis.cc:1485
+#: ardour_ui_ed.cc:152 editor_actions.cc:1767 editor_markers.cc:872
+#: editor_snapshots.cc:124 mixer_strip.cc:1481 route_time_axis.cc:1632
msgid "Rename..."
msgstr "Переименовать..."
-#: ardour_ui_ed.cc:157
+#: ardour_ui_ed.cc:156
msgid "Save Template..."
msgstr "Сохранить шаблон..."
-#: ardour_ui_ed.cc:160
+#: ardour_ui_ed.cc:159
msgid "Metadata"
msgstr "Метаданные"
-#: ardour_ui_ed.cc:163
+#: ardour_ui_ed.cc:162
msgid "Edit Metadata..."
msgstr "Изменить метаданные..."
-#: ardour_ui_ed.cc:166
+#: ardour_ui_ed.cc:165
msgid "Import Metadata..."
msgstr "Импортировать метаданные..."
-#: ardour_ui_ed.cc:169
+#: ardour_ui_ed.cc:168
msgid "Export To Audio File(s)..."
msgstr "В звуковые файлы..."
-#: ardour_ui_ed.cc:172
+#: ardour_ui_ed.cc:171
msgid "Stem export..."
msgstr "Каждую дорожку в Ñвой файл..."
-#: ardour_ui_ed.cc:175 editor_export_audio.cc:63 export_dialog.cc:129
-#: export_video_dialog.cc:71
+#: ardour_ui_ed.cc:174 editor_export_audio.cc:65 export_dialog.cc:129
+#: export_video_dialog.cc:72
msgid "Export"
msgstr "ЭкÑпортировать"
-#: ardour_ui_ed.cc:178
+#: ardour_ui_ed.cc:177
msgid "Clean-up Unused Sources..."
msgstr "ОчиÑтить неиÑпользуемые иÑточники..."
-#: ardour_ui_ed.cc:182
+#: ardour_ui_ed.cc:181
msgid "Flush Wastebasket"
msgstr "ОчиÑтить корзину"
-#: ardour_ui_ed.cc:189
+#: ardour_ui_ed.cc:188
msgid "Quit"
msgstr "Выход"
-#: ardour_ui_ed.cc:193
+#: ardour_ui_ed.cc:192
msgid "Maximise Editor Space"
msgstr "Редактор на полный Ñкран"
+#: ardour_ui_ed.cc:193
+msgid "Maximise Mixer Space"
+msgstr ""
+
#: ardour_ui_ed.cc:194
msgid "Show Toolbars"
msgstr "Показывать панели"
-#: ardour_ui_ed.cc:197 mixer_ui.cc:1865 mixer_ui.cc:1871
+#: ardour_ui_ed.cc:197
+msgid "Show more UI preferences"
+msgstr ""
+
+#: ardour_ui_ed.cc:199 mixer_ui.cc:1900 mixer_ui.cc:1906
msgid "Window|Mixer"
msgstr "Микшер"
-#: ardour_ui_ed.cc:198
+#: ardour_ui_ed.cc:200
msgid "Toggle Editor+Mixer"
msgstr "Редактор или микшер на переднем плане"
-#: ardour_ui_ed.cc:199 meterbridge.cc:230 meterbridge.cc:236
+#: ardour_ui_ed.cc:201 meterbridge.cc:214 meterbridge.cc:220
msgid "Window|Meterbridge"
msgstr "Панель индикаторов"
-#: ardour_ui_ed.cc:201 midi_tracer.cc:42
+#: ardour_ui_ed.cc:203 midi_tracer.cc:45
msgid "MIDI Tracer"
msgstr "Журнал MIDI-Ñобытий"
-#: ardour_ui_ed.cc:203
+#: ardour_ui_ed.cc:205
msgid "Chat"
msgstr "ПообщатьÑÑ"
-#: ardour_ui_ed.cc:205
+#: ardour_ui_ed.cc:207
msgid "Help|Manual"
msgstr "Справка"
-#: ardour_ui_ed.cc:206
+#: ardour_ui_ed.cc:208
msgid "Reference"
msgstr "Справка в Интернете"
-#: ardour_ui_ed.cc:208 plugin_ui.cc:415
+#: ardour_ui_ed.cc:210 plugin_ui.cc:416
msgid "Save"
msgstr "Сохранить"
-#: ardour_ui_ed.cc:216 rc_option_editor.cc:1124 rc_option_editor.cc:1135
-#: rc_option_editor.cc:1144 rc_option_editor.cc:1157 rc_option_editor.cc:1170
-#: rc_option_editor.cc:1179 rc_option_editor.cc:1189 rc_option_editor.cc:1191
-#: rc_option_editor.cc:1201 rc_option_editor.cc:1217 rc_option_editor.cc:1230
-#: rc_option_editor.cc:1248 rc_option_editor.cc:1250 rc_option_editor.cc:1264
-#: rc_option_editor.cc:1267 rc_option_editor.cc:1269 rc_option_editor.cc:1286
-#: rc_option_editor.cc:1297
+#: ardour_ui_ed.cc:218 rc_option_editor.cc:1352 rc_option_editor.cc:1363
+#: rc_option_editor.cc:1374 rc_option_editor.cc:1383 rc_option_editor.cc:1396
+#: rc_option_editor.cc:1409 rc_option_editor.cc:1418 rc_option_editor.cc:1428
+#: rc_option_editor.cc:1430 rc_option_editor.cc:1440 rc_option_editor.cc:1456
+#: rc_option_editor.cc:1469 rc_option_editor.cc:1487 rc_option_editor.cc:1489
+#: rc_option_editor.cc:1503 rc_option_editor.cc:1506 rc_option_editor.cc:1508
+#: rc_option_editor.cc:1525 rc_option_editor.cc:1536
msgid "Transport"
msgstr "ТранÑпорт"
-#: ardour_ui_ed.cc:222
+#: ardour_ui_ed.cc:224
msgid "Stop"
msgstr "Стоп"
-#: ardour_ui_ed.cc:225
+#: ardour_ui_ed.cc:227
msgid "Roll"
msgstr ""
-#: ardour_ui_ed.cc:229
+#: ardour_ui_ed.cc:231 ardour_ui_ed.cc:234
msgid "Start/Stop"
msgstr "Старт/Стоп"
-#: ardour_ui_ed.cc:232
+#: ardour_ui_ed.cc:237
msgid "Start/Continue/Stop"
msgstr "Старт/Продолжить/Стоп"
-#: ardour_ui_ed.cc:235
+#: ardour_ui_ed.cc:240
msgid "Stop and Forget Capture"
msgstr "ОÑтановитьÑÑ Ð¸ забыть захват"
-#: ardour_ui_ed.cc:245
+#: ardour_ui_ed.cc:250
msgid "Transition To Roll"
msgstr "В обычном направлении"
-#: ardour_ui_ed.cc:249
+#: ardour_ui_ed.cc:254
msgid "Transition To Reverse"
msgstr "В обратном направлении"
-#: ardour_ui_ed.cc:253
+#: ardour_ui_ed.cc:258
msgid "Play Loop Range"
msgstr "ВоÑпроизвеÑти петлю"
-#: ardour_ui_ed.cc:256
+#: ardour_ui_ed.cc:261
msgid "Play Selected Range"
msgstr ""
-#: ardour_ui_ed.cc:259
+#: ardour_ui_ed.cc:264
msgid "Play Selection w/Preroll"
msgstr ""
-#: ardour_ui_ed.cc:263
+#: ardour_ui_ed.cc:268
msgid "Enable Record"
msgstr "Разрешить запиÑÑŒ"
-#: ardour_ui_ed.cc:266
+#: ardour_ui_ed.cc:271 ardour_ui_ed.cc:275
msgid "Start Recording"
msgstr "Ðачать запиÑÑŒ"
-#: ardour_ui_ed.cc:270
+#: ardour_ui_ed.cc:279
msgid "Rewind"
msgstr "Перемотать назад"
-#: ardour_ui_ed.cc:273
+#: ardour_ui_ed.cc:282
msgid "Rewind (Slow)"
msgstr "Перемотать назад (медленно)"
-#: ardour_ui_ed.cc:276
+#: ardour_ui_ed.cc:285
msgid "Rewind (Fast)"
msgstr "Перемотать назад (быÑтро)"
-#: ardour_ui_ed.cc:279
+#: ardour_ui_ed.cc:288
msgid "Forward"
msgstr "Перемотать вперёд"
-#: ardour_ui_ed.cc:282
+#: ardour_ui_ed.cc:291
msgid "Forward (Slow)"
msgstr "Перемотать вперёд (медленно)"
-#: ardour_ui_ed.cc:285
+#: ardour_ui_ed.cc:294
msgid "Forward (Fast)"
msgstr "Перемотать вперёд (быÑтро)"
-#: ardour_ui_ed.cc:288
+#: ardour_ui_ed.cc:297
msgid "Goto Zero"
msgstr "К нулевой отметке"
-#: ardour_ui_ed.cc:291
+#: ardour_ui_ed.cc:300 ardour_ui_ed.cc:303
msgid "Goto Start"
msgstr "К началу"
-#: ardour_ui_ed.cc:294
+#: ardour_ui_ed.cc:306
msgid "Goto End"
msgstr "В конец"
-#: ardour_ui_ed.cc:297
+#: ardour_ui_ed.cc:309
msgid "Goto Wall Clock"
msgstr "К текущему времени"
-#: ardour_ui_ed.cc:301
+#: ardour_ui_ed.cc:314
+msgid "Numpad Decimal"
+msgstr ""
+
+#: ardour_ui_ed.cc:317
+msgid "Numpad 0"
+msgstr ""
+
+#: ardour_ui_ed.cc:320
+msgid "Numpad 1"
+msgstr ""
+
+#: ardour_ui_ed.cc:323
+msgid "Numpad 2"
+msgstr ""
+
+#: ardour_ui_ed.cc:326
+msgid "Numpad 3"
+msgstr ""
+
+#: ardour_ui_ed.cc:329
+msgid "Numpad 4"
+msgstr ""
+
+#: ardour_ui_ed.cc:332
+msgid "Numpad 5"
+msgstr ""
+
+#: ardour_ui_ed.cc:335
+msgid "Numpad 6"
+msgstr ""
+
+#: ardour_ui_ed.cc:338
+msgid "Numpad 7"
+msgstr ""
+
+#: ardour_ui_ed.cc:341
+msgid "Numpad 8"
+msgstr ""
+
+#: ardour_ui_ed.cc:344
+msgid "Numpad 9"
+msgstr ""
+
+#: ardour_ui_ed.cc:348
msgid "Focus On Clock"
msgstr ""
-#: ardour_ui_ed.cc:305 ardour_ui_ed.cc:314 audio_clock.cc:2049 editor.cc:238
-#: editor_actions.cc:544 editor_actions.cc:553 export_timespan_selector.cc:88
+#: ardour_ui_ed.cc:352 ardour_ui_ed.cc:361 audio_clock.cc:2072 editor.cc:254
+#: editor_actions.cc:579 editor_actions.cc:588 export_timespan_selector.cc:88
#: session_option_editor.cc:41 session_option_editor.cc:61
#: session_option_editor.cc:80 session_option_editor.cc:96
#: session_option_editor.cc:109 session_option_editor.cc:122
@@ -1920,125 +1991,125 @@ msgstr ""
msgid "Timecode"
msgstr "Тайм-код"
-#: ardour_ui_ed.cc:307 ardour_ui_ed.cc:316 editor_actions.cc:542
+#: ardour_ui_ed.cc:354 ardour_ui_ed.cc:363 editor_actions.cc:577
msgid "Bars & Beats"
msgstr "Такты и доли"
-#: ardour_ui_ed.cc:309 ardour_ui_ed.cc:318
+#: ardour_ui_ed.cc:356 ardour_ui_ed.cc:365
msgid "Minutes & Seconds"
msgstr "Минуты и Ñекунды"
-#: ardour_ui_ed.cc:311 ardour_ui_ed.cc:320 audio_clock.cc:2053 editor.cc:239
-#: editor_actions.cc:543
+#: ardour_ui_ed.cc:358 ardour_ui_ed.cc:367 audio_clock.cc:2076 editor.cc:255
+#: editor_actions.cc:578
msgid "Samples"
msgstr "СÑмплы"
-#: ardour_ui_ed.cc:323
+#: ardour_ui_ed.cc:370
msgid "Punch In"
msgstr "Ðачало врезки"
-#: ardour_ui_ed.cc:324 mixer_strip.cc:1936 route_ui.cc:137
-#: time_info_box.cc:113
+#: ardour_ui_ed.cc:371 mixer_strip.cc:1774 mixer_strip.cc:1798
+#: mixer_strip.cc:1962 route_ui.cc:158 time_info_box.cc:116
msgid "In"
msgstr "Вход"
-#: ardour_ui_ed.cc:327
+#: ardour_ui_ed.cc:374
msgid "Punch Out"
msgstr "Конец врезки"
-#: ardour_ui_ed.cc:328 time_info_box.cc:114
+#: ardour_ui_ed.cc:375 mixer_strip.cc:1786 time_info_box.cc:117
msgid "Out"
msgstr "Выход"
-#: ardour_ui_ed.cc:331
+#: ardour_ui_ed.cc:378
msgid "Punch In/Out"
msgstr "Врезка"
-#: ardour_ui_ed.cc:332
+#: ardour_ui_ed.cc:379
msgid "In/Out"
msgstr "Ð’Ñ…/Ð’Ñ‹Ñ…"
-#: ardour_ui_ed.cc:335 rc_option_editor.cc:1081
+#: ardour_ui_ed.cc:382 rc_option_editor.cc:1309
msgid "Click"
msgstr "Метроном"
-#: ardour_ui_ed.cc:338
+#: ardour_ui_ed.cc:385
msgid "Auto Input"
msgstr "Ðвтовход"
-#: ardour_ui_ed.cc:341
+#: ardour_ui_ed.cc:388
msgid "Auto Play"
msgstr "ÐвтовоÑпр."
-#: ardour_ui_ed.cc:352
+#: ardour_ui_ed.cc:399
msgid "Sync Startup to Video"
msgstr "Синхронизировать начало Ñ Ð²Ð¸Ð´ÐµÐ¾"
-#: ardour_ui_ed.cc:354
+#: ardour_ui_ed.cc:401
msgid "Time Master"
msgstr "Ведущий времени"
-#: ardour_ui_ed.cc:361
+#: ardour_ui_ed.cc:408
msgid "Toggle Record Enable Track %1"
msgstr "Переключить запиÑываемоÑÑ‚ÑŒ дорожки %1"
-#: ardour_ui_ed.cc:368
+#: ardour_ui_ed.cc:415
msgid "Percentage"
msgstr "Проценты"
-#: ardour_ui_ed.cc:369 shuttle_control.cc:169
+#: ardour_ui_ed.cc:416 shuttle_control.cc:169
msgid "Semitones"
msgstr "Полутона"
-#: ardour_ui_ed.cc:373
+#: ardour_ui_ed.cc:420
msgid "Send MTC"
msgstr "Передавать MTC"
-#: ardour_ui_ed.cc:375
+#: ardour_ui_ed.cc:422
msgid "Send MMC"
msgstr "Передавать MMC"
-#: ardour_ui_ed.cc:377
+#: ardour_ui_ed.cc:424
msgid "Use MMC"
msgstr "ИÑпользовать MMC"
-#: ardour_ui_ed.cc:379 rc_option_editor.cc:1722
+#: ardour_ui_ed.cc:426 rc_option_editor.cc:1978
msgid "Send MIDI Clock"
msgstr "ОтправлÑÑ‚ÑŒ MIDI Clock"
-#: ardour_ui_ed.cc:381
+#: ardour_ui_ed.cc:428
msgid "Send MIDI Feedback"
msgstr "ОтправлÑÑ‚ÑŒ MIDI Feedback"
-#: ardour_ui_ed.cc:387
+#: ardour_ui_ed.cc:434
msgid "Panic"
msgstr ""
-#: ardour_ui_ed.cc:472
+#: ardour_ui_ed.cc:519
msgid "Wall Clock"
msgstr "Текущее времÑ"
-#: ardour_ui_ed.cc:473
+#: ardour_ui_ed.cc:520
msgid "Disk Space"
msgstr "ДиÑк. проÑтранÑтво"
-#: ardour_ui_ed.cc:474
+#: ardour_ui_ed.cc:521
msgid "DSP"
msgstr "DSP"
-#: ardour_ui_ed.cc:475
+#: ardour_ui_ed.cc:522
msgid "Buffers"
msgstr "Буферы"
-#: ardour_ui_ed.cc:477
+#: ardour_ui_ed.cc:524
msgid "Timecode Format"
msgstr "Формат тайм-кода"
-#: ardour_ui_ed.cc:478
+#: ardour_ui_ed.cc:525
msgid "File Format"
msgstr "Формат файлов"
-#: ardour_ui_options.cc:61
+#: ardour_ui_options.cc:63
msgid ""
"It is not possible to use JACK as the the sync source\n"
"when the pull up/down setting is non-zero."
@@ -2048,331 +2119,249 @@ msgstr ""
msgid "Internal"
msgstr "Внутр. ÑинхронизациÑ"
-#: ardour_ui_options.cc:475
+#: ardour_ui_options.cc:496
msgid "Enable/Disable external positional sync"
msgstr "Включить или выключить внешнюю Ñинхронизацию позиционированиÑ"
-#: ardour_ui_options.cc:477
+#: ardour_ui_options.cc:498
msgid "Sync to JACK is not possible: video pull up/down is set"
msgstr ""
-#: audio_clock.cc:1015 audio_clock.cc:1034
+#: audio_clock.cc:1028 audio_clock.cc:1047
msgid "--pending--"
msgstr ""
-#: audio_clock.cc:1086
+#: audio_clock.cc:1099
msgid "SR"
msgstr ""
-#: audio_clock.cc:1092 audio_clock.cc:1096
+#: audio_clock.cc:1105 audio_clock.cc:1109
msgid "Pull"
msgstr ""
-#: audio_clock.cc:1094
+#: audio_clock.cc:1107
#, c-format
msgid "%+.4f%%"
msgstr "%+.4f%%"
-#: audio_clock.cc:1240 editor.cc:240 editor_actions.cc:135
-#: editor_actions.cc:536
+#: audio_clock.cc:1263 editor.cc:256 editor_actions.cc:139
+#: editor_actions.cc:571
msgid "Tempo"
msgstr "Темп"
-#: audio_clock.cc:1244 editor.cc:241 editor_actions.cc:537
+#: audio_clock.cc:1267 editor.cc:257 editor_actions.cc:572
msgid "Meter"
msgstr "Размер"
-#: audio_clock.cc:1822 audio_streamview.cc:116 editor_actions.cc:1039
-#: midi_region_view.cc:2991 session_metadata_dialog.cc:331
+#: audio_clock.cc:1845 audio_streamview.cc:115 editor_actions.cc:1085
+#: midi_region_view.cc:2989 session_metadata_dialog.cc:331
#: session_metadata_dialog.cc:379 session_metadata_dialog.cc:435
-#: session_metadata_dialog.cc:716
+#: session_metadata_dialog.cc:716 streamview.cc:433
msgid "programming error: %1"
msgstr "Ошибка в программе: %1"
-#: audio_clock.cc:1955 audio_clock.cc:1983
+#: audio_clock.cc:1978 audio_clock.cc:2006
msgid "programming error: %1 %2"
msgstr "ошибка в программе: %1 %2"
-#: audio_clock.cc:2051 editor.cc:237 export_timespan_selector.cc:98
+#: audio_clock.cc:2074 editor.cc:253 export_timespan_selector.cc:98
msgid "Bars:Beats"
msgstr "Такты : Доли"
-#: audio_clock.cc:2052 export_timespan_selector.cc:93
+#: audio_clock.cc:2075 export_timespan_selector.cc:93
msgid "Minutes:Seconds"
msgstr "Минуты : Секунды"
-#: audio_clock.cc:2057
+#: audio_clock.cc:2080
msgid "Set From Playhead"
msgstr "По указателю воÑпроизведениÑ"
-#: audio_clock.cc:2058
+#: audio_clock.cc:2081
msgid "Locate to This Time"
msgstr "Перейти к Ñтой позиции"
-#: audio_region_editor.cc:63 control_point_dialog.cc:49 rhythm_ferret.cc:125
-#: rhythm_ferret.cc:130 rhythm_ferret.cc:135
+#: audio_region_editor.cc:64 control_point_dialog.cc:49 rhythm_ferret.cc:124
+#: rhythm_ferret.cc:129 rhythm_ferret.cc:134
msgid "dB"
msgstr "Дб"
-#: audio_region_editor.cc:66
+#: audio_region_editor.cc:67
msgid "Region gain:"
msgstr "УÑиление облаÑти:"
-#: audio_region_editor.cc:76 export_format_dialog.cc:43
+#: audio_region_editor.cc:77 export_format_dialog.cc:43
msgid "dBFS"
msgstr "dBFS"
-#: audio_region_editor.cc:79
+#: audio_region_editor.cc:80
msgid "Peak amplitude:"
msgstr "ÐŸÐ¸ÐºÐ¾Ð²Ð°Ñ Ð°Ð¼Ð¿Ð»Ð¸Ñ‚ÑƒÐ´Ð°:"
-#: audio_region_editor.cc:90
+#: audio_region_editor.cc:91
msgid "Calculating..."
msgstr "ПроизводитÑÑ Ð²Ñ‹Ñ‡Ð¸Ñление..."
-#: audio_region_view.cc:1001
+#: audio_region_view.cc:1243
msgid "add gain control point"
msgstr "добавление точки уÑилениÑ"
-#: audio_time_axis.cc:401 midi_time_axis.cc:601
+#: audio_time_axis.cc:430 midi_time_axis.cc:619
msgid "Fader"
msgstr "Фейдер"
-#: audio_time_axis.cc:409 midi_time_axis.cc:609
+#: audio_time_axis.cc:437 editor_actions.cc:1800 mixer_strip.cc:1961
+#: monitor_section.cc:273 route_time_axis.cc:253
+msgid "Mute"
+msgstr "Молча"
+
+#: audio_time_axis.cc:445 midi_time_axis.cc:627
msgid "Pan"
msgstr "Панорама"
-#: automation_line.cc:252 automation_line.cc:433
+#: automation_line.cc:272 automation_line.cc:453
msgid "automation event move"
msgstr "Ñмещение ÑÐ¾Ð±Ñ‹Ñ‚Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ð·Ð°Ñ†Ð¸Ð¸"
-#: automation_line.cc:459 automation_line.cc:479
+#: automation_line.cc:479 automation_line.cc:499
msgid "automation range move"
msgstr "Ñмещение Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ð·Ð°Ñ†Ð¸Ð¸"
-#: automation_line.cc:817 region_gain_line.cc:73
+#: automation_line.cc:854 region_gain_line.cc:72
msgid "remove control point"
msgstr "удаление контрольной точки"
-#: automation_line.cc:934
+#: automation_line.cc:971
msgid "Ignoring illegal points on AutomationLine \"%1\""
msgstr ""
-#: automation_region_view.cc:160 automation_time_axis.cc:583
+#: automation_region_view.cc:162 automation_time_axis.cc:627
msgid "add automation event"
msgstr "новое Ñобытие автоматизации"
-#: automation_time_axis.cc:146
+#: automation_time_axis.cc:141
msgid "automation state"
msgstr "СоÑтоÑние автоматизации"
-#: automation_time_axis.cc:147
+#: automation_time_axis.cc:142
msgid "hide track"
msgstr "Скрыть дорожку"
-#: automation_time_axis.cc:255 automation_time_axis.cc:307
-#: automation_time_axis.cc:496 gain_meter.cc:194 generic_pluginui.cc:454
-#: generic_pluginui.cc:775 panner_ui.cc:150
+#: automation_time_axis.cc:297 automation_time_axis.cc:349
+#: automation_time_axis.cc:540 gain_meter.cc:186 generic_pluginui.cc:452
+#: generic_pluginui.cc:770 panner_ui.cc:150
msgid "Automation|Manual"
msgstr "Вручную"
-#: automation_time_axis.cc:257 automation_time_axis.cc:318
-#: automation_time_axis.cc:501 editor.cc:1938 editor.cc:2015
-#: editor_actions.cc:118 editor_actions.cc:1865 gain_meter.cc:197
-#: generic_pluginui.cc:457 generic_pluginui.cc:777 midi_time_axis.cc:1616
-#: midi_time_axis.cc:1619 midi_time_axis.cc:1622 panner_ui.cc:153
+#: automation_time_axis.cc:299 automation_time_axis.cc:360
+#: automation_time_axis.cc:545 editor.cc:1856 editor.cc:1933
+#: editor_actions.cc:122 editor_actions.cc:1916 gain_meter.cc:189
+#: generic_pluginui.cc:455 generic_pluginui.cc:772 midi_time_axis.cc:1687
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1693 panner_ui.cc:153
msgid "Play"
msgstr "ВоÑпр."
-#: automation_time_axis.cc:259 automation_time_axis.cc:329
-#: automation_time_axis.cc:506 gain_meter.cc:200 generic_pluginui.cc:460
-#: generic_pluginui.cc:779 panner_ui.cc:156
+#: automation_time_axis.cc:301 automation_time_axis.cc:371
+#: automation_time_axis.cc:550 gain_meter.cc:192 generic_pluginui.cc:458
+#: generic_pluginui.cc:774 panner_ui.cc:156
msgid "Write"
msgstr "ЗапиÑÑŒ"
-#: automation_time_axis.cc:261 automation_time_axis.cc:340
-#: automation_time_axis.cc:511 gain_meter.cc:203 generic_pluginui.cc:463
-#: generic_pluginui.cc:781 panner_ui.cc:159
+#: automation_time_axis.cc:303 automation_time_axis.cc:382
+#: automation_time_axis.cc:555 gain_meter.cc:195 generic_pluginui.cc:461
+#: generic_pluginui.cc:776 panner_ui.cc:159
msgid "Touch"
msgstr "КаÑание"
-#: automation_time_axis.cc:351 generic_pluginui.cc:466 meter_patterns.cc:111
+#: automation_time_axis.cc:393 generic_pluginui.cc:464 meter_patterns.cc:112
msgid "???"
msgstr "???"
-#: automation_time_axis.cc:392
+#: automation_time_axis.cc:434
msgid "clear automation"
msgstr "ОчиÑтить автоматизацию"
-#: automation_time_axis.cc:485 editor_actions.cc:613 editor_markers.cc:857
-#: location_ui.cc:55 plugin_selector.cc:86 route_time_axis.cc:708
+#: automation_time_axis.cc:529 editor_actions.cc:655 editor_markers.cc:871
+#: location_ui.cc:56 plugin_selector.cc:86 route_time_axis.cc:827
msgid "Hide"
msgstr "Скрыть"
-#: automation_time_axis.cc:487
+#: automation_time_axis.cc:531
msgid "Clear"
msgstr "ОчиÑтить"
-#: automation_time_axis.cc:516
+#: automation_time_axis.cc:560
msgid "State"
msgstr "СоÑтоÑние"
-#: automation_time_axis.cc:531
+#: automation_time_axis.cc:575
msgid "Discrete"
msgstr "ДиÑкретный"
-#: automation_time_axis.cc:537 editor.cc:1459 editor.cc:1466 editor.cc:1522
-#: editor.cc:1528 export_format_dialog.cc:476
+#: automation_time_axis.cc:581 export_format_dialog.cc:485
msgid "Linear"
msgstr "ЛинейнаÑ"
-#: automation_time_axis.cc:543 rhythm_ferret.cc:110 route_time_axis.cc:647
+#: automation_time_axis.cc:587 rhythm_ferret.cc:109 route_time_axis.cc:765
#: shuttle_control.cc:188
msgid "Mode"
msgstr "Режим"
-#: bundle_manager.cc:181
+#: bundle_manager.cc:182
msgid "Disassociate"
msgstr "Разорвать ÑвÑзь"
-#: bundle_manager.cc:185
+#: bundle_manager.cc:186
msgid "Edit Bundle"
msgstr "Изменение пакета"
-#: bundle_manager.cc:200
+#: bundle_manager.cc:201
msgid "Direction:"
msgstr "Ðаправление:"
-#: bundle_manager.cc:205 bundle_manager.cc:209 mixer_strip.cc:159
-#: mixer_strip.cc:2161
+#: bundle_manager.cc:206 bundle_manager.cc:210 engine_dialog.cc:641
+#: mixer_strip.cc:164 mixer_strip.cc:371 mixer_strip.cc:2195
+#: rc_option_editor.cc:2198
msgid "Input"
msgstr "Вход"
-#: bundle_manager.cc:206 bundle_manager.cc:211 bundle_manager.cc:245
-#: mixer_strip.cc:164 mixer_strip.cc:2164
+#: bundle_manager.cc:207 bundle_manager.cc:212 bundle_manager.cc:246
+#: engine_dialog.cc:643 mixer_strip.cc:168 mixer_strip.cc:375
+#: mixer_strip.cc:2198 rc_option_editor.cc:2202
msgid "Output"
msgstr "Выход"
-#: bundle_manager.cc:264 editor.cc:1979 editor_actions.cc:90
-#: editor_actions.cc:100
+#: bundle_manager.cc:265 editor.cc:1897 editor_actions.cc:94
+#: editor_actions.cc:104 rc_option_editor.cc:1067 rc_option_editor.cc:1074
msgid "Edit"
msgstr "Правка"
-#: bundle_manager.cc:265 editor.cc:5474 editor_actions.cc:310
-#: editor_actions.cc:368 plugin_ui.cc:416 processor_box.cc:2463
-#: route_time_axis.cc:713
+#: bundle_manager.cc:266 editor.cc:5593 editor_actions.cc:335
+#: editor_actions.cc:336 editor_actions.cc:402 plugin_ui.cc:417
+#: processor_box.cc:2502 route_time_axis.cc:832
msgid "Delete"
msgstr "Удалить"
-#: bundle_manager.cc:271 bundle_manager.cc:439 editor_route_groups.cc:96
-#: editor_routes.cc:202 midi_list_editor.cc:106 session_metadata_dialog.cc:525
+#: bundle_manager.cc:272 bundle_manager.cc:440 editor_route_groups.cc:97
+#: editor_routes.cc:204 midi_list_editor.cc:106 session_metadata_dialog.cc:525
msgid "Name"
msgstr "ИмÑ"
-#: bundle_manager.cc:282
+#: bundle_manager.cc:283
msgid "New"
msgstr "Создать"
-#: bundle_manager.cc:332
+#: bundle_manager.cc:333
msgid "Bundle"
msgstr "Пакет"
-#: bundle_manager.cc:417
+#: bundle_manager.cc:418
msgid "Add Channel"
msgstr "Добавить канал"
-#: bundle_manager.cc:424
+#: bundle_manager.cc:425
msgid "Rename Channel"
msgstr "Переименовать канал"
-#: canvas-simpleline.c:111 canvas-simplerect.c:106
-msgid "x1"
-msgstr "x1"
-
-#: canvas-simpleline.c:112 canvas-simplerect.c:107
-msgid "x coordinate of upper left corner of rect"
-msgstr "Координата по оÑи X Ð´Ð»Ñ Ð²ÐµÑ€Ñ…Ð½ÐµÐ³Ð¾ левого угла прÑмоугольника"
-
-#: canvas-simpleline.c:121 canvas-simplerect.c:116
-msgid "y1"
-msgstr "y1"
-
-#: canvas-simpleline.c:122 canvas-simplerect.c:117
-msgid "y coordinate of upper left corner of rect "
-msgstr "Координата по оÑи Y Ð´Ð»Ñ Ð²ÐµÑ€Ñ…Ð½ÐµÐ³Ð¾ левого угла прÑмоугольника"
-
-#: canvas-simpleline.c:132 canvas-simplerect.c:127
-msgid "x2"
-msgstr "x2"
-
-#: canvas-simpleline.c:133 canvas-simplerect.c:128
-msgid "x coordinate of lower right corner of rect"
-msgstr "Координата по оÑи X Ð´Ð»Ñ Ð½Ð¸Ð¶Ð½ÐµÐ³Ð¾ правого угла прÑмоугольника"
-
-#: canvas-simpleline.c:142 canvas-simplerect.c:137
-msgid "y2"
-msgstr "y2"
-
-#: canvas-simpleline.c:143 canvas-simplerect.c:138
-msgid "y coordinate of lower right corner of rect "
-msgstr "Координата по оÑи Y Ð´Ð»Ñ Ð½Ð¸Ð¶Ð½ÐµÐ³Ð¾ правого угла прÑмоугольника"
-
-#: canvas-simpleline.c:151
-msgid "color rgba"
-msgstr ""
-
-#: canvas-simpleline.c:152
-msgid "color of line"
-msgstr "Цвет линии"
-
-#: canvas-simplerect.c:148
-msgid "outline pixels"
-msgstr ""
-
-#: canvas-simplerect.c:149
-msgid "width in pixels of outline"
-msgstr ""
-
-#: canvas-simplerect.c:159
-msgid "outline what"
-msgstr ""
-
-#: canvas-simplerect.c:160
-msgid "which boundaries to outline (mask)"
-msgstr ""
-
-#: canvas-simplerect.c:171
-msgid "fill"
-msgstr ""
-
-#: canvas-simplerect.c:172
-msgid "fill rectangle"
-msgstr ""
-
-#: canvas-simplerect.c:179
-msgid "draw"
-msgstr ""
-
-#: canvas-simplerect.c:180
-msgid "draw rectangle"
-msgstr ""
-
-#: canvas-simplerect.c:188
-msgid "outline color rgba"
-msgstr ""
-
-#: canvas-simplerect.c:189
-msgid "color of outline"
-msgstr ""
-
-#: canvas-simplerect.c:199
-msgid "fill color rgba"
-msgstr "Цвет заливки в RGBA"
-
-#: canvas-simplerect.c:200
-msgid "color of fill"
-msgstr "Цвет заливки"
-
#: configinfo.cc:28
msgid "Build Configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñборки"
@@ -2410,7 +2399,7 @@ msgid "Set selected notes to this length"
msgstr "Ðазначить Ñту длительноÑÑ‚ÑŒ вÑем выбранным нотам"
#: edit_note_dialog.cc:58 midi_list_editor.cc:104 patch_change_dialog.cc:91
-#: step_entry.cc:393
+#: step_entry.cc:394
msgid "Channel"
msgstr "Канал"
@@ -2418,7 +2407,7 @@ msgstr "Канал"
msgid "Pitch"
msgstr "Ð’Ñ‹Ñота тона"
-#: edit_note_dialog.cc:78 step_entry.cc:407
+#: edit_note_dialog.cc:78 step_entry.cc:408
msgid "Velocity"
msgstr "Сила нажатиÑ"
@@ -2426,9 +2415,9 @@ msgstr "Сила нажатиÑ"
msgid "Time"
msgstr "ВремÑ"
-#: edit_note_dialog.cc:98 editor_regions.cc:114
-#: export_timespan_selector.cc:359 export_timespan_selector.cc:421
-#: location_ui.cc:317 midi_list_editor.cc:114 time_info_box.cc:105
+#: edit_note_dialog.cc:98 editor_regions.cc:115
+#: export_timespan_selector.cc:378 export_timespan_selector.cc:440
+#: location_ui.cc:319 midi_list_editor.cc:114 time_info_box.cc:108
msgid "Length"
msgstr "ДлительноÑÑ‚ÑŒ"
@@ -2436,558 +2425,576 @@ msgstr "ДлительноÑÑ‚ÑŒ"
msgid "edit note"
msgstr "правка ноты"
-#: editor.cc:138 editor.cc:3408
+#: editor.cc:144
msgid "CD Frames"
msgstr "Выборки CD"
-#: editor.cc:139 editor.cc:3410
-msgid "Timecode Frames"
+#: editor.cc:145
+msgid "TC Frames"
msgstr ""
-#: editor.cc:140 editor.cc:3412
-msgid "Timecode Seconds"
+#: editor.cc:146
+msgid "TC Seconds"
msgstr ""
-#: editor.cc:141 editor.cc:3414
-msgid "Timecode Minutes"
+#: editor.cc:147
+msgid "TC Minutes"
msgstr ""
-#: editor.cc:142 editor.cc:3416
+#: editor.cc:148
msgid "Seconds"
msgstr "Секунды"
-#: editor.cc:143 editor.cc:3418
+#: editor.cc:149
msgid "Minutes"
msgstr "Минуты"
-#: editor.cc:144 editor.cc:3392 quantize_dialog.cc:37 quantize_dialog.cc:141
+#: editor.cc:150 quantize_dialog.cc:37 quantize_dialog.cc:141
msgid "Beats/128"
msgstr "Доли/128"
-#: editor.cc:145 editor.cc:3390 quantize_dialog.cc:38 quantize_dialog.cc:143
+#: editor.cc:151 quantize_dialog.cc:38 quantize_dialog.cc:143
msgid "Beats/64"
msgstr "Доли/64"
-#: editor.cc:146 editor.cc:3388 quantize_dialog.cc:39 quantize_dialog.cc:145
+#: editor.cc:152 quantize_dialog.cc:39 quantize_dialog.cc:145
msgid "Beats/32"
msgstr "Доли/32"
-#: editor.cc:147 editor.cc:3386
+#: editor.cc:153
msgid "Beats/28"
msgstr "Доли/28"
-#: editor.cc:148 editor.cc:3384
+#: editor.cc:154
msgid "Beats/24"
msgstr "Доли/24"
-#: editor.cc:149 editor.cc:3382
+#: editor.cc:155
msgid "Beats/20"
msgstr "Доли/20"
-#: editor.cc:150 editor.cc:3380 quantize_dialog.cc:40 quantize_dialog.cc:147
+#: editor.cc:156 quantize_dialog.cc:40 quantize_dialog.cc:147
msgid "Beats/16"
msgstr "Доли/16"
-#: editor.cc:151 editor.cc:3378
+#: editor.cc:157
msgid "Beats/14"
msgstr "Доли/14"
-#: editor.cc:152 editor.cc:3376
+#: editor.cc:158
msgid "Beats/12"
msgstr "Доли/12"
-#: editor.cc:153 editor.cc:3374
+#: editor.cc:159
msgid "Beats/10"
msgstr "Доли/10"
-#: editor.cc:154 editor.cc:3372 quantize_dialog.cc:41 quantize_dialog.cc:149
+#: editor.cc:160 quantize_dialog.cc:41 quantize_dialog.cc:149
msgid "Beats/8"
msgstr "Доли/8"
-#: editor.cc:155 editor.cc:3370
+#: editor.cc:161
msgid "Beats/7"
msgstr "Доли/7"
-#: editor.cc:156 editor.cc:3368
+#: editor.cc:162
msgid "Beats/6"
msgstr "Доли/6"
-#: editor.cc:157 editor.cc:3366
+#: editor.cc:163
msgid "Beats/5"
msgstr "Доли/5"
-#: editor.cc:158 editor.cc:3364 quantize_dialog.cc:42 quantize_dialog.cc:151
+#: editor.cc:164 quantize_dialog.cc:42 quantize_dialog.cc:151
msgid "Beats/4"
msgstr "Доли/4"
-#: editor.cc:159 editor.cc:3362 quantize_dialog.cc:43 quantize_dialog.cc:153
+#: editor.cc:165 quantize_dialog.cc:43 quantize_dialog.cc:153
msgid "Beats/3"
msgstr "Доли/3"
-#: editor.cc:160 editor.cc:3360 quantize_dialog.cc:44 quantize_dialog.cc:155
+#: editor.cc:166 quantize_dialog.cc:44 quantize_dialog.cc:155
msgid "Beats/2"
msgstr "Доли/2"
-#: editor.cc:161 editor.cc:3394 quantize_dialog.cc:45 quantize_dialog.cc:157
+#: editor.cc:167 quantize_dialog.cc:45 quantize_dialog.cc:157
msgid "Beats"
msgstr "Доли"
-#: editor.cc:162 editor.cc:3396
+#: editor.cc:168
msgid "Bars"
msgstr "Такты"
-#: editor.cc:163 editor.cc:3398
+#: editor.cc:169
msgid "Marks"
msgstr "Маркеры"
-#: editor.cc:164 editor.cc:3400
+#: editor.cc:170
msgid "Region starts"
msgstr "Ðачала облаÑтей"
-#: editor.cc:165 editor.cc:3402
+#: editor.cc:171
msgid "Region ends"
msgstr "Концы облаÑтей"
-#: editor.cc:166 editor.cc:3406
+#: editor.cc:172
msgid "Region syncs"
msgstr "Синхр. облаÑтей"
-#: editor.cc:167 editor.cc:3404
+#: editor.cc:173
msgid "Region bounds"
msgstr "Границы облаÑтей"
-#: editor.cc:172 editor.cc:3434 editor_actions.cc:485
+#: editor.cc:178 editor_actions.cc:520
msgid "No Grid"
msgstr "Без Ñетки"
-#: editor.cc:173 editor.cc:3436 editor_actions.cc:486
+#: editor.cc:179 editor_actions.cc:521
msgid "Grid"
msgstr "По Ñетке"
-#: editor.cc:174 editor.cc:3438 editor_actions.cc:487
+#: editor.cc:180 editor_actions.cc:522
msgid "Magnetic"
msgstr "Магнит"
-#: editor.cc:179 editor.cc:189 editor.cc:3477 editor.cc:3502
-#: editor_actions.cc:117 editor_actions.cc:468
+#: editor.cc:185 editor.cc:203 editor_actions.cc:121 editor_actions.cc:503
msgid "Playhead"
msgstr "Указатель воÑпроизведениÑ"
-#: editor.cc:180 editor.cc:3475 editor_actions.cc:470
+#: editor.cc:186 editor_actions.cc:505
msgid "Marker"
msgstr "Маркер"
-#: editor.cc:181 editor.cc:190 editor.cc:3504 editor_actions.cc:469
+#: editor.cc:187 editor.cc:204 editor_actions.cc:504
msgid "Mouse"
msgstr "Мышь"
-#: editor.cc:186 editor.cc:3496 mono_panner_editor.cc:42
+#: editor.cc:192 editor_actions.cc:512
+msgid "Slide"
+msgstr "Скольжение"
+
+#: editor.cc:193
+msgid "Splice"
+msgstr "Стыковка"
+
+#: editor.cc:194 editor_actions.cc:511
+msgid "Ripple"
+msgstr ""
+
+#: editor.cc:195 editor_actions.cc:157 editor_actions.cc:513
+#: editor_actions.cc:1785 editor_markers.cc:874 editor_rulers.cc:260
+#: location_ui.cc:57 mixer_strip.cc:202 mixer_strip.cc:1983
+msgid "Lock"
+msgstr "Блок"
+
+#: editor.cc:200 mono_panner_editor.cc:42
msgid "Left"
msgstr "Влево"
-#: editor.cc:187 editor.cc:3498 mono_panner_editor.cc:47
+#: editor.cc:201 mono_panner_editor.cc:47
msgid "Right"
msgstr "Вправо"
-#: editor.cc:188 editor.cc:3500
+#: editor.cc:202
msgid "Center"
msgstr "По центру"
-#: editor.cc:191 editor.cc:3095 editor.cc:3506
+#: editor.cc:205 editor.cc:3145
msgid "Edit point"
msgstr "КурÑор редактора"
-#: editor.cc:197
+#: editor.cc:211
msgid "Mushy"
msgstr ""
-#: editor.cc:198
+#: editor.cc:212
msgid "Smooth"
msgstr ""
-#: editor.cc:199
+#: editor.cc:213
msgid "Balanced multitimbral mixture"
msgstr "СбаланÑированный многотембральный микÑ"
-#: editor.cc:200
+#: editor.cc:214
msgid "Unpitched percussion with stable notes"
msgstr "ПеркуÑÑионное Ñоло без коррекции выÑоты тона Ñ Ð²Ñ‹Ð´ÐµÐ»ÑющимиÑÑ Ð½Ð¾Ñ‚Ð°Ð¼Ð¸"
-#: editor.cc:201
+#: editor.cc:215
msgid "Crisp monophonic instrumental"
msgstr "ЧиÑтое монофоничеÑкое инÑтрументальное Ñоло"
-#: editor.cc:202
+#: editor.cc:216
msgid "Unpitched solo percussion"
msgstr "ПеркуÑÑионное Ñоло без коррекции выÑоты тона"
-#: editor.cc:203
+#: editor.cc:217
msgid "Resample without preserving pitch"
msgstr "РеÑÑмплировать, не ÑохранÑÑ Ð²Ñ‹Ñоту тона"
-#: editor.cc:236
+#: editor.cc:252
msgid "Mins:Secs"
msgstr "Минуты : Секунды"
-#: editor.cc:242
+#: editor.cc:258
msgid "Location Markers"
msgstr "Маркеры позиций"
-#: editor.cc:243
+#: editor.cc:259
msgid "Range Markers"
msgstr "Маркеры выделений"
-#: editor.cc:244
+#: editor.cc:260
msgid "Loop/Punch Ranges"
msgstr "Диапазоны петель/врезок"
-#: editor.cc:245 editor_actions.cc:540
+#: editor.cc:261 editor_actions.cc:575
msgid "CD Markers"
msgstr "Маркеры CD"
-#: editor.cc:246
+#: editor.cc:262
msgid "Video Timeline"
msgstr "Видеолинейка"
-#: editor.cc:261
+#: editor.cc:279
msgid "mode"
msgstr "Режим"
-#: editor.cc:542
+#: editor.cc:447 editor_actions.cc:114 editor_actions.cc:574
+msgid "Markers"
+msgstr "Маркеры"
+
+#: editor.cc:554 rc_option_editor.cc:1830
msgid "Regions"
msgstr "ОблаÑти"
-#: editor.cc:543
+#: editor.cc:555
msgid "Tracks & Busses"
msgstr "Дорожки и шины"
-#: editor.cc:544
+#: editor.cc:556
msgid "Snapshots"
msgstr "Снимки"
-#: editor.cc:545
+#: editor.cc:557
msgid "Track & Bus Groups"
msgstr "Группы дорожек и шин"
-#: editor.cc:546
+#: editor.cc:558
msgid "Ranges & Marks"
msgstr "ОблаÑти и маркеры"
-#: editor.cc:691 editor.cc:5326 rc_option_editor.cc:1304
-#: rc_option_editor.cc:1312 rc_option_editor.cc:1320 rc_option_editor.cc:1328
-#: rc_option_editor.cc:1345 rc_option_editor.cc:1347 rc_option_editor.cc:1355
-#: rc_option_editor.cc:1363 rc_option_editor.cc:1383 rc_option_editor.cc:1395
-#: rc_option_editor.cc:1397 rc_option_editor.cc:1405 rc_option_editor.cc:1413
-#: rc_option_editor.cc:1421 rc_option_editor.cc:1429 rc_option_editor.cc:1444
-#: rc_option_editor.cc:1448
+#: editor.cc:706 editor.cc:5445 rc_option_editor.cc:1543
+#: rc_option_editor.cc:1551 rc_option_editor.cc:1559 rc_option_editor.cc:1567
+#: rc_option_editor.cc:1591 rc_option_editor.cc:1603 rc_option_editor.cc:1605
+#: rc_option_editor.cc:1613 rc_option_editor.cc:1621 rc_option_editor.cc:1641
+#: rc_option_editor.cc:1653 rc_option_editor.cc:1655 rc_option_editor.cc:1657
+#: rc_option_editor.cc:1665 rc_option_editor.cc:1673 rc_option_editor.cc:1681
+#: rc_option_editor.cc:1696 rc_option_editor.cc:1700
msgid "Editor"
msgstr "Редактор"
-#: editor.cc:1216 editor.cc:1226 editor.cc:4419 editor_actions.cc:130
-#: editor_actions.cc:1813
+#: editor.cc:1288 editor.cc:4503 editor_actions.cc:134 editor_actions.cc:1861
msgid "Loop"
msgstr "ПетлÑ"
-#: editor.cc:1232 editor.cc:1242 editor.cc:4446 editor_actions.cc:131
-#: time_info_box.cc:67
+#: editor.cc:1294 editor.cc:4530 editor_actions.cc:135 time_info_box.cc:68
msgid "Punch"
msgstr "Врезка"
-#: editor.cc:1354
+#: editor.cc:1406 rc_option_editor.cc:1585
msgid "Linear (for highly correlated material)"
msgstr "Линейно (Ð´Ð»Ñ Ñхожего материала)"
-#: editor.cc:1364 editor.cc:1501 editor.cc:1563
+#: editor.cc:1416 rc_option_editor.cc:1586
msgid "Constant power"
msgstr "С поÑтоÑнной Ñилой"
-#: editor.cc:1373 editor.cc:1494 editor.cc:1556
+#: editor.cc:1425 rc_option_editor.cc:1587
msgid "Symmetric"
msgstr "Симметрично"
-#: editor.cc:1383 editor.cc:1476 editor.cc:1538
+#: editor.cc:1435 rc_option_editor.cc:1588
msgid "Slow"
msgstr "Медленно"
-#: editor.cc:1392 editor.cc:1485 editor.cc:1547 sfdb_ui.cc:1679
-#: sfdb_ui.cc:1789
+#: editor.cc:1444 rc_option_editor.cc:1589 sfdb_ui.cc:1752 sfdb_ui.cc:1862
msgid "Fast"
msgstr "БыÑтро"
-#: editor.cc:1439
-msgid "programming error: fade in canvas item has no regionview data pointer!"
-msgstr "programming error: fade in canvas item has no regionview data pointer!"
-
-#: editor.cc:1450 editor.cc:1514
+#: editor.cc:1464 editor.cc:1487
msgid "Deactivate"
msgstr "Деактивировать"
-#: editor.cc:1452 editor.cc:1516
+#: editor.cc:1466 editor.cc:1489
msgid "Activate"
msgstr "Ðктивировать"
-#: editor.cc:1460 editor.cc:1523
-msgid "Slowest"
-msgstr "Медленнее вÑего"
-
-#: editor.cc:1574 route_time_axis.cc:1877 selection.cc:1009 selection.cc:1064
-msgid "programming error: "
-msgstr "Ошибка в программе: "
-
-#: editor.cc:1675 editor.cc:1683 editor_ops.cc:3522
+#: editor.cc:1590 editor.cc:1598 editor_ops.cc:3635
msgid "Freeze"
msgstr "Заморозить"
-#: editor.cc:1679
+#: editor.cc:1594
msgid "Unfreeze"
msgstr "Разморозить"
-#: editor.cc:1818
+#: editor.cc:1733
msgid "Selected Regions"
msgstr "Выделенные облаÑти"
-#: editor.cc:1854 editor_markers.cc:895
+#: editor.cc:1769 editor_markers.cc:909
msgid "Play Range"
msgstr "ВоÑпроизвеÑти выделение"
-#: editor.cc:1855 editor_markers.cc:898
+#: editor.cc:1770 editor_markers.cc:912
msgid "Loop Range"
msgstr "Создать петлю из выделениÑ"
-#: editor.cc:1864 editor_actions.cc:332
+#: editor.cc:1773 editor_actions.cc:266 editor_markers.cc:919
+msgid "Zoom to Range"
+msgstr "МаÑштабировать в выделение"
+
+#: editor.cc:1782 editor_actions.cc:366
msgid "Move Range Start to Previous Region Boundary"
msgstr "ПеремеÑтить начало Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ðº границе предыдущей облаÑти"
-#: editor.cc:1871 editor_actions.cc:339
+#: editor.cc:1789 editor_actions.cc:373
msgid "Move Range Start to Next Region Boundary"
msgstr "ПеремеÑтить начало Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ðº границе Ñледующей облаÑти"
-#: editor.cc:1878 editor_actions.cc:346
+#: editor.cc:1796 editor_actions.cc:380
msgid "Move Range End to Previous Region Boundary"
msgstr "ПеремеÑтить конец Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ðº границе предыдущей облаÑти"
-#: editor.cc:1885 editor_actions.cc:353
+#: editor.cc:1803 editor_actions.cc:387
msgid "Move Range End to Next Region Boundary"
msgstr "ПеремеÑтить конец Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ðº границе Ñледующей облаÑти"
-#: editor.cc:1891
+#: editor.cc:1809
msgid "Convert to Region In-Place"
msgstr "Преобразовать в облаÑÑ‚ÑŒ на меÑте"
-#: editor.cc:1892
+#: editor.cc:1810
msgid "Convert to Region in Region List"
msgstr "Преобразовать в облаÑÑ‚ÑŒ в ÑпиÑке облаÑтей"
-#: editor.cc:1895 editor_markers.cc:925
+#: editor.cc:1813 editor_markers.cc:939
msgid "Select All in Range"
msgstr "Выбрать вÑÑ‘ в выделении"
-#: editor.cc:1898
+#: editor.cc:1816
msgid "Set Loop from Range"
msgstr "Создать петлю из выделениÑ"
-#: editor.cc:1899
+#: editor.cc:1817
msgid "Set Punch from Range"
msgstr "Создать врезку из выделениÑ"
-#: editor.cc:1902
+#: editor.cc:1820
msgid "Add Range Markers"
msgstr "Добавить маркеры облаÑтей"
-#: editor.cc:1905
+#: editor.cc:1823
msgid "Crop Region to Range"
msgstr "Обрезать облаÑÑ‚ÑŒ по выделению"
-#: editor.cc:1906
+#: editor.cc:1824
msgid "Fill Range with Region"
msgstr "Заполнить диапазон облаÑтью"
-#: editor.cc:1907 editor_actions.cc:289
+#: editor.cc:1825 editor_actions.cc:311
msgid "Duplicate Range"
msgstr "Продублировать диапазон"
-#: editor.cc:1910
+#: editor.cc:1828
msgid "Consolidate Range"
msgstr "Объединить диапазон"
-#: editor.cc:1911
+#: editor.cc:1829
msgid "Consolidate Range With Processing"
msgstr "Объединить диапазон Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¾Ð¹"
-#: editor.cc:1912
+#: editor.cc:1830
msgid "Bounce Range to Region List"
msgstr "СвеÑти диапазон в ÑпиÑок облаÑтей"
-#: editor.cc:1913
+#: editor.cc:1831
msgid "Bounce Range to Region List With Processing"
msgstr "СвеÑти выделение в ÑпиÑок облаÑтей Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¾Ð¹"
-#: editor.cc:1914 editor_markers.cc:908
+#: editor.cc:1832 editor_markers.cc:922
msgid "Export Range..."
msgstr "ЭкÑпортировать выделение…"
-#: editor.cc:1916
+#: editor.cc:1834
msgid "Export Video Range..."
msgstr "ЭкÑпортировать фрагмент видео..."
-#: editor.cc:1932 editor.cc:2013 editor_actions.cc:281
+#: editor.cc:1850 editor.cc:1931 editor_actions.cc:303
msgid "Play From Edit Point"
msgstr "ВоÑпроизвеÑти от курÑора редактора"
-#: editor.cc:1933 editor.cc:2014
+#: editor.cc:1851 editor.cc:1932
msgid "Play From Start"
msgstr "ВоÑпроизвеÑти Ñ Ð½Ð°Ñ‡Ð°Ð»Ð°"
-#: editor.cc:1934
+#: editor.cc:1852
msgid "Play Region"
msgstr "ВоÑпроизвеÑти облаÑÑ‚ÑŒ"
-#: editor.cc:1936
+#: editor.cc:1854
msgid "Loop Region"
msgstr "Создать петлю из облаÑти"
-#: editor.cc:1946 editor.cc:2023
+#: editor.cc:1864 editor.cc:1941
msgid "Select All in Track"
msgstr "Выделить вÑÑ‘ на дорожке"
-#: editor.cc:1947 editor.cc:2024 editor_actions.cc:185
-#: export_timespan_selector.cc:53 processor_box.cc:2471
-msgid "Select All"
-msgstr "Выделить вÑÑ‘"
+#: editor.cc:1865 editor.cc:1942 editor_actions.cc:194
+msgid "Select All Objects"
+msgstr ""
-#: editor.cc:1948 editor.cc:2025
+#: editor.cc:1866 editor.cc:1943
msgid "Invert Selection in Track"
msgstr "Обратить выделение на дорожке"
-#: editor.cc:1949 editor.cc:2026 editor_actions.cc:187
+#: editor.cc:1867 editor.cc:1944 editor_actions.cc:197
msgid "Invert Selection"
msgstr "Обратить выделение"
-#: editor.cc:1951
+#: editor.cc:1869
msgid "Set Range to Loop Range"
msgstr "УÑтановить диапазон по диапазону петли"
-#: editor.cc:1952
+#: editor.cc:1870
msgid "Set Range to Punch Range"
msgstr "УÑтановить диапазон по диапазону врезки"
-#: editor.cc:1954 editor.cc:2028 editor_actions.cc:188
+#: editor.cc:1872 editor.cc:1946 editor_actions.cc:199 editor_actions.cc:200
msgid "Select All After Edit Point"
msgstr "Выделить вÑÑ‘ поÑле курÑора редактора"
-#: editor.cc:1955 editor.cc:2029 editor_actions.cc:189
+#: editor.cc:1873 editor.cc:1947 editor_actions.cc:201 editor_actions.cc:202
msgid "Select All Before Edit Point"
msgstr "Выделить вÑÑ‘ до курÑора редактора"
-#: editor.cc:1956 editor.cc:2030
+#: editor.cc:1874 editor.cc:1948
msgid "Select All After Playhead"
msgstr "Выделить вÑÑ‘ поÑле указателÑ"
-#: editor.cc:1957 editor.cc:2031
+#: editor.cc:1875 editor.cc:1949
msgid "Select All Before Playhead"
msgstr "Выделить вÑÑ‘ до указателÑ"
-#: editor.cc:1958
+#: editor.cc:1876
msgid "Select All Between Playhead and Edit Point"
msgstr "Выделить вÑÑ‘ между указателем и курÑором редактора"
-#: editor.cc:1959
+#: editor.cc:1877
msgid "Select All Within Playhead and Edit Point"
msgstr "Выделить вÑÑ‘ между указателем и точкой редактированиÑ"
-#: editor.cc:1960
+#: editor.cc:1878
msgid "Select Range Between Playhead and Edit Point"
msgstr "Создать выделение между указателем и курÑором редактора"
-#: editor.cc:1962 editor.cc:2033 editor_actions.cc:127 editor_actions.cc:128
+#: editor.cc:1880 editor.cc:1951 editor_actions.cc:131 editor_actions.cc:132
msgid "Select"
msgstr "Выделить"
-#: editor.cc:1970 editor.cc:2041 editor_actions.cc:309 processor_box.cc:2456
+#: editor.cc:1888 editor.cc:1959 editor_actions.cc:334 processor_box.cc:2495
msgid "Cut"
msgstr "Вырезать"
-#: editor.cc:1971 editor.cc:2042 editor_actions.cc:312 processor_box.cc:2459
+#: editor.cc:1889 editor.cc:1960 editor_actions.cc:338 processor_box.cc:2498
msgid "Copy"
msgstr "Копировать"
-#: editor.cc:1972 editor.cc:2043 editor_actions.cc:313 processor_box.cc:2467
+#: editor.cc:1890 editor.cc:1961 editor_actions.cc:339 processor_box.cc:2506
msgid "Paste"
msgstr "Ð’Ñтавить"
-#: editor.cc:1976 editor_actions.cc:87
+#: editor.cc:1894 editor_actions.cc:91
msgid "Align"
msgstr "ВыровнÑÑ‚ÑŒ"
-#: editor.cc:1977
+#: editor.cc:1895
msgid "Align Relative"
msgstr "ВыровнÑÑ‚ÑŒ отноÑительно"
-#: editor.cc:1984
+#: editor.cc:1902
msgid "Insert Selected Region"
msgstr "Ð’Ñтавить выделенную облаÑÑ‚ÑŒ"
-#: editor.cc:1985
+#: editor.cc:1903
msgid "Insert Existing Media"
msgstr "Ð’Ñтавить ÑущеÑтвующие данные"
-#: editor.cc:1994 editor.cc:2050
+#: editor.cc:1912 editor.cc:1968
msgid "Nudge Entire Track Later"
msgstr "Толкнуть вÑÑŽ дорожку вперёд"
-#: editor.cc:1995 editor.cc:2051
+#: editor.cc:1913 editor.cc:1969
msgid "Nudge Track After Edit Point Later"
msgstr "Толкнуть дорожку вперёд поÑле курÑора редактора"
-#: editor.cc:1996 editor.cc:2052
+#: editor.cc:1914 editor.cc:1970
msgid "Nudge Entire Track Earlier"
msgstr "Толкнуть вÑÑŽ дорожку назад"
-#: editor.cc:1997 editor.cc:2053
+#: editor.cc:1915 editor.cc:1971
msgid "Nudge Track After Edit Point Earlier"
msgstr "Толкнуть дорожку назад поÑле курÑора редактора"
-#: editor.cc:1999 editor.cc:2055
+#: editor.cc:1917 editor.cc:1973
msgid "Nudge"
msgstr "Толкнуть"
-#: editor.cc:3075
+#: editor.cc:2916 editor.cc:3491 editor.cc:3561 midi_channel_selector.cc:159
+#: midi_channel_selector.cc:397 midi_channel_selector.cc:433
+msgid "All"
+msgstr "Ð’Ñе"
+
+#: editor.cc:3122
msgid "Smart Mode (add Range functions to Object mode)"
msgstr "УниверÑальный режим, Ñовмещает функции работы Ñ Ð¾Ð±Ð»Ð°ÑÑ‚Ñми и объектами"
-#: editor.cc:3076
+#: editor.cc:3123
msgid "Object Mode (select/move Objects)"
msgstr "Объектный режим (выделение и перемещение объектов)"
-#: editor.cc:3077
+#: editor.cc:3124
+msgid "Cut Mode (split Regions)"
+msgstr ""
+
+#: editor.cc:3125
msgid "Range Mode (select/move Ranges)"
msgstr "Режим Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ (Ñоздание и перемещение выделений)"
-#: editor.cc:3078
+#: editor.cc:3126
msgid "Draw/Edit MIDI Notes"
msgstr "РиÑовать или редактировать ноты MIDI"
-#: editor.cc:3079
+#: editor.cc:3127
msgid "Draw Region Gain"
msgstr "ÐариÑовать линию уÑÐ¸Ð»ÐµÐ½Ð¸Ñ Ð¾Ð±Ð»Ð°Ñти"
-#: editor.cc:3080
+#: editor.cc:3128
msgid "Select Zoom Range"
msgstr "МенÑÑ‚ÑŒ маÑштаб проÑмотра"
-#: editor.cc:3081
+#: editor.cc:3129
msgid "Stretch/Shrink Regions and MIDI Notes"
msgstr "РаÑÑ‚Ñнуть или Ñжать облаÑти и ноты MIDI"
-#: editor.cc:3082
+#: editor.cc:3130
msgid "Listen to Specific Regions"
msgstr "ВоÑпроизводить отдельные облаÑти"
-#: editor.cc:3083
+#: editor.cc:3131
msgid "Note Level Editing"
msgstr "Редактировать MIDI-дорожки"
-#: editor.cc:3084
+#: editor.cc:3132
msgid ""
"Groups: click to (de)activate\n"
"Context-click for other operations"
@@ -2995,85 +3002,182 @@ msgstr ""
"Группы: щёлкните Ð´Ð»Ñ (де)активации\n"
"Щелчок другой клавишей вызывает контекÑтное меню"
-#: editor.cc:3085
+#: editor.cc:3133
msgid "Nudge Region/Selection Later"
msgstr "Толкнуть облаÑÑ‚ÑŒ или выделение вперёд"
-#: editor.cc:3086
+#: editor.cc:3134
msgid "Nudge Region/Selection Earlier"
msgstr "Толкнуть облаÑÑ‚ÑŒ или выделение назад"
-#: editor.cc:3087 editor_actions.cc:242
+#: editor.cc:3135 editor_actions.cc:262
msgid "Zoom In"
msgstr "Увеличить"
-#: editor.cc:3088 editor_actions.cc:241
+#: editor.cc:3136 editor_actions.cc:261
msgid "Zoom Out"
msgstr "Уменьшить"
-#: editor.cc:3089 editor_actions.cc:243
+#: editor.cc:3137
+msgid "Zoom to Time Scale"
+msgstr ""
+
+#: editor.cc:3138 editor.cc:3513 editor_actions.cc:263
msgid "Zoom to Session"
msgstr "Показать вÑÑ‘"
-#: editor.cc:3090
+#: editor.cc:3139
msgid "Zoom focus"
msgstr "Ð¤Ð¾ÐºÑƒÑ Ð¿Ñ€Ð¸ маÑштабировании"
-#: editor.cc:3091
+#: editor.cc:3140
msgid "Expand Tracks"
msgstr "Увеличить дорожки по выÑоте"
-#: editor.cc:3092
+#: editor.cc:3141
msgid "Shrink Tracks"
msgstr "Уменьшить дорожки по выÑоте"
-#: editor.cc:3093
+#: editor.cc:3142
+msgid "Number of visible tracks"
+msgstr ""
+
+#: editor.cc:3143
msgid "Snap/Grid Units"
msgstr "Единица привÑзки/Ñетки"
-#: editor.cc:3094
+#: editor.cc:3144
msgid "Snap/Grid Mode"
msgstr "Режим привÑзки/Ñетки"
-#: editor.cc:3096
+#: editor.cc:3146
msgid "Edit Mode"
msgstr "Режим редактированиÑ"
-#: editor.cc:3097
+#: editor.cc:3147
msgid ""
"Nudge Clock\n"
"(controls distance used to nudge regions and selections)"
msgstr ""
-#: editor.cc:3235 editor_actions.cc:291
+#: editor.cc:3285 editor_actions.cc:313
msgid "Command|Undo"
msgstr "Отменить"
-#: editor.cc:3237
+#: editor.cc:3287
msgid "Command|Undo (%1)"
msgstr "Отменить (%1)"
-#: editor.cc:3244 editor_actions.cc:292
+#: editor.cc:3294 editor_actions.cc:315 editor_actions.cc:316
+#: editor_actions.cc:317
msgid "Redo"
msgstr "Вернуть"
-#: editor.cc:3246
+#: editor.cc:3296
msgid "Redo (%1)"
msgstr "Вернуть (%1)"
-#: editor.cc:3265 editor.cc:3289 editor_actions.cc:106 editor_actions.cc:1794
+#: editor.cc:3315 editor.cc:3339 editor_actions.cc:110 editor_actions.cc:1842
msgid "Duplicate"
msgstr "Продублировать"
-#: editor.cc:3266
+#: editor.cc:3316
msgid "Number of duplications:"
msgstr "КоличеÑтво копий:"
-#: editor.cc:3843
+#: editor.cc:3490
+msgid "Selected"
+msgstr ""
+
+#: editor.cc:3493
+msgid "Fit 1 track"
+msgstr ""
+
+#: editor.cc:3494
+msgid "Fit 2 tracks"
+msgstr ""
+
+#: editor.cc:3495
+msgid "Fit 4 tracks"
+msgstr ""
+
+#: editor.cc:3496
+msgid "Fit 8 tracks"
+msgstr ""
+
+#: editor.cc:3497
+msgid "Fit 16 tracks"
+msgstr ""
+
+#: editor.cc:3498
+msgid "Fit 24 tracks"
+msgstr ""
+
+#: editor.cc:3499
+msgid "Fit 32 tracks"
+msgstr ""
+
+#: editor.cc:3500
+msgid "Fit 48 tracks"
+msgstr ""
+
+#: editor.cc:3501
+msgid "Fit All tracks"
+msgstr ""
+
+#: editor.cc:3502
+msgid "Fit Selected tracks"
+msgstr ""
+
+#: editor.cc:3504
+msgid "Zoom to 10 ms"
+msgstr ""
+
+#: editor.cc:3505
+msgid "Zoom to 100 ms"
+msgstr ""
+
+#: editor.cc:3506
+msgid "Zoom to 1 sec"
+msgstr ""
+
+#: editor.cc:3507
+msgid "Zoom to 10 sec"
+msgstr ""
+
+#: editor.cc:3508
+msgid "Zoom to 1 min"
+msgstr ""
+
+#: editor.cc:3509
+msgid "Zoom to 10 min"
+msgstr ""
+
+#: editor.cc:3510
+msgid "Zoom to 1 hour"
+msgstr ""
+
+#: editor.cc:3511
+msgid "Zoom to 8 hours"
+msgstr ""
+
+#: editor.cc:3512
+msgid "Zoom to 24 hours"
+msgstr ""
+
+#: editor.cc:3514
+msgid "Zoom to Range/Region Selection"
+msgstr ""
+
+#: editor.cc:3583
+msgid "*"
+msgstr ""
+
+#: editor.cc:3918
msgid "Playlist Deletion"
msgstr "Удаление ÑпиÑка воÑпроизведениÑ"
-#: editor.cc:3844
+#: editor.cc:3919
msgid ""
"Playlist %1 is currently unused.\n"
"If it is kept, its audio files will not be cleaned.\n"
@@ -3083,1307 +3187,1299 @@ msgstr ""
"ЕÑли его оÑтавить, ÑвÑзанные звуковые файлы не будут подчищены.\n"
"ЕÑли его удалить, будут подчищены и ÑвÑзанные звуковые файлы."
-#: editor.cc:3854
+#: editor.cc:3929
msgid "Delete Playlist"
msgstr "Удалить ÑпиÑок"
-#: editor.cc:3855
+#: editor.cc:3930
msgid "Keep Playlist"
msgstr "Сохранить ÑпиÑок"
-#: editor.cc:3856 editor_audio_import.cc:581 editor_ops.cc:5856
-#: engine_dialog.cc:1703 sfdb_freesound_mootcher.cc:69 processor_box.cc:2224
-#: processor_box.cc:2249
+#: editor.cc:3931 editor_audio_import.cc:579 editor_ops.cc:5931
+#: engine_dialog.cc:1985 sfdb_freesound_mootcher.cc:69 processor_box.cc:2263
+#: processor_box.cc:2288
msgid "Cancel"
msgstr "Отмена"
-#: editor.cc:4000
+#: editor.cc:4065
msgid "new playlists"
msgstr "Создать ÑпиÑки воÑпроизведениÑ"
-#: editor.cc:4016
+#: editor.cc:4081
msgid "copy playlists"
msgstr "Скопировать ÑпиÑки воÑпроизведениÑ"
-#: editor.cc:4031
+#: editor.cc:4096
msgid "clear playlists"
msgstr "ОчиÑтить ÑпиÑки воÑпроизведениÑ"
-#: editor.cc:4666
+#: editor.cc:4771
msgid "Please wait while %1 loads visual data."
msgstr "ДождитеÑÑŒ загрузки визуальных данных в %1."
-#: editor.cc:5473 editor_markers.cc:940 panner_ui.cc:388 processor_box.cc:2487
+#: editor.cc:5592 editor_markers.cc:954 panner_ui.cc:409 processor_box.cc:2526
msgid "Edit..."
msgstr "Изменить"
-#: editor_actions.cc:88
+#: editor_actions.cc:92
msgid "Autoconnect"
msgstr "ÐвтоÑоединение"
-#: editor_actions.cc:89
+#: editor_actions.cc:93
msgid "Crossfades"
msgstr "КроÑÑфейды"
-#: editor_actions.cc:91
+#: editor_actions.cc:95
msgid "Move Selected Marker"
msgstr "ПеремеÑтить выделенный маркер"
-#: editor_actions.cc:92
+#: editor_actions.cc:96
msgid "Select Range Operations"
msgstr ""
-#: editor_actions.cc:93
+#: editor_actions.cc:97
msgid "Select Regions"
msgstr ""
-#: editor_actions.cc:94
+#: editor_actions.cc:98
msgid "Edit Point"
msgstr "Точка редактированиÑ"
-#: editor_actions.cc:95
+#: editor_actions.cc:99
msgid "Fade"
msgstr "Фейд"
-#: editor_actions.cc:96
+#: editor_actions.cc:100
msgid "Latch"
msgstr ""
-#: editor_actions.cc:97 editor_regions.cc:111 region_editor.cc:46
+#: editor_actions.cc:101 editor_regions.cc:112 region_editor.cc:45
msgid "Region"
msgstr "ОблаÑÑ‚ÑŒ"
-#: editor_actions.cc:98
+#: editor_actions.cc:102
msgid "Layering"
msgstr "Слои"
-#: editor_actions.cc:99 editor_regions.cc:112 gtk-custom-ruler.c:152
-#: stereo_panner_editor.cc:44
+#: editor_actions.cc:103 editor_regions.cc:113 stereo_panner_editor.cc:44
msgid "Position"
msgstr "Положение"
-#: editor_actions.cc:101 gain_meter.cc:121 gain_meter.cc:794 panner_ui.cc:177
-#: panner_ui.cc:616
+#: editor_actions.cc:105 gain_meter.cc:122 gain_meter.cc:800 panner_ui.cc:177
+#: panner_ui.cc:634
msgid "Trim"
msgstr "Обрезать"
-#: editor_actions.cc:102 editor_actions.cc:122 route_group_dialog.cc:40
+#: editor_actions.cc:106 editor_actions.cc:126 route_group_dialog.cc:46
msgid "Gain"
msgstr "УÑиление"
-#: editor_actions.cc:103 editor_actions.cc:538
+#: editor_actions.cc:107 editor_actions.cc:573
msgid "Ranges"
msgstr "ВыделениÑ"
-#: editor_actions.cc:104 editor_actions.cc:1790 session_option_editor.cc:145
-#: session_option_editor.cc:147 session_option_editor.cc:156
-#: session_option_editor.cc:163
+#: editor_actions.cc:108 editor_actions.cc:1838 session_option_editor.cc:135
+#: session_option_editor.cc:144 session_option_editor.cc:151
msgid "Fades"
msgstr "Фейды"
-#: editor_actions.cc:107
+#: editor_actions.cc:111
msgid "Link"
msgstr "СвÑзь"
-#: editor_actions.cc:108 editor_actions.cc:141
+#: editor_actions.cc:112 editor_actions.cc:145
msgid "Zoom Focus"
msgstr "Ð¤Ð¾ÐºÑƒÑ Ð¿Ñ€Ð¸ маÑштабировании"
-#: editor_actions.cc:109
+#: editor_actions.cc:113
msgid "Locate to Markers"
msgstr "Перейти к маркерам"
-#: editor_actions.cc:110 editor_actions.cc:539
-msgid "Markers"
-msgstr "Маркеры"
-
-#: editor_actions.cc:111
+#: editor_actions.cc:115
msgid "Meter falloff"
msgstr "Спад индикатора"
-#: editor_actions.cc:112
+#: editor_actions.cc:116
msgid "Meter hold"
msgstr "Задержка индикатора"
-#: editor_actions.cc:113 session_option_editor.cc:234
+#: editor_actions.cc:117 session_option_editor.cc:321
msgid "MIDI Options"
msgstr "Параметры MIDI"
-#: editor_actions.cc:114
+#: editor_actions.cc:118
msgid "Misc Options"
msgstr "Прочие параметры"
-#: editor_actions.cc:115 rc_option_editor.cc:1462 route_group_dialog.cc:48
-#: session_option_editor.cc:218 session_option_editor.cc:225
+#: editor_actions.cc:119 rc_option_editor.cc:1714 route_group_dialog.cc:54
+#: session_option_editor.cc:243 session_option_editor.cc:250
msgid "Monitoring"
msgstr "Мониторинг"
-#: editor_actions.cc:116
+#: editor_actions.cc:120
msgid "Active Mark"
msgstr "Ðктивный маркер"
-#: editor_actions.cc:119
+#: editor_actions.cc:123
msgid "Primary Clock"
msgstr "ОÑновной Ñчётчик"
-#: editor_actions.cc:120
+#: editor_actions.cc:124
msgid "Pullup / Pulldown"
msgstr ""
-#: editor_actions.cc:121
+#: editor_actions.cc:125
msgid "Region operations"
msgstr "ДейÑÑ‚Ð²Ð¸Ñ Ñ Ð¾Ð±Ð»Ð°ÑÑ‚Ñми"
-#: editor_actions.cc:123
+#: editor_actions.cc:127 ruler_dialog.cc:28
msgid "Rulers"
msgstr "Линейки"
-#: editor_actions.cc:124
+#: editor_actions.cc:128
msgid "Views"
msgstr "Виды"
-#: editor_actions.cc:125
+#: editor_actions.cc:129
msgid "Scroll"
msgstr "Прокрутка"
-#: editor_actions.cc:126
+#: editor_actions.cc:130
msgid "Secondary Clock"
msgstr "Дополнительный Ñчётчик"
-#: editor_actions.cc:129 editor_actions.cc:297
+#: editor_actions.cc:133 editor_actions.cc:322
msgid "Separate"
msgstr "Разделить"
-#: editor_actions.cc:132 mixer_strip.cc:1945 rc_option_editor.cc:1594
-#: route_time_axis.cc:208 route_time_axis.cc:2419
-msgid "Solo"
-msgstr "Соло"
-
-#: editor_actions.cc:133
+#: editor_actions.cc:137
msgid "Subframes"
msgstr "Подвыборки"
-#: editor_actions.cc:136
+#: editor_actions.cc:140
msgid "Timecode fps"
msgstr "СкороÑÑ‚ÑŒ (FPS) тайм-кода"
-#: editor_actions.cc:137 route_time_axis.cc:430
+#: editor_actions.cc:141 route_time_axis.cc:548
msgid "Height"
msgstr "Ð’Ñ‹Ñота"
-#: editor_actions.cc:139
+#: editor_actions.cc:143
msgid "Tools"
msgstr "ИнÑтрументы"
-#: editor_actions.cc:140
+#: editor_actions.cc:144
msgid "View"
msgstr "Вид"
-#: editor_actions.cc:142
+#: editor_actions.cc:146
msgid "Zoom"
msgstr "МаÑштаб"
-#: editor_actions.cc:148
+#: editor_actions.cc:152
msgid "Break drag or deselect all"
msgstr ""
-#: editor_actions.cc:150
+#: editor_actions.cc:159
msgid "Show Editor Mixer"
msgstr "Показывать микшер редактора"
-#: editor_actions.cc:151
+#: editor_actions.cc:160
msgid "Show Editor List"
msgstr "Показывать ÑпиÑок редактированиÑ"
-#: editor_actions.cc:153
+#: editor_actions.cc:162
msgid "Playhead to Next Region Boundary"
msgstr "К Ñледующей границе облаÑти"
-#: editor_actions.cc:154
+#: editor_actions.cc:163
msgid "Playhead to Next Region Boundary (No Track Selection)"
msgstr "К Ñледующей границе облаÑти (без Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð¾Ñ€Ð¾Ð¶ÐºÐ¸)"
-#: editor_actions.cc:155
+#: editor_actions.cc:164
msgid "Playhead to Previous Region Boundary"
msgstr "К предыдущей границе облаÑти"
-#: editor_actions.cc:156
+#: editor_actions.cc:165
msgid "Playhead to Previous Region Boundary (No Track Selection)"
msgstr "К предыдущей границе облаÑти (без Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð¾Ñ€Ð¾Ð¶ÐºÐ¸)"
-#: editor_actions.cc:158
+#: editor_actions.cc:167
msgid "Playhead to Next Region Start"
msgstr "К началу Ñледующей облаÑти"
-#: editor_actions.cc:159
+#: editor_actions.cc:168
msgid "Playhead to Next Region End"
msgstr "К концу Ñледующей облаÑти"
-#: editor_actions.cc:160
+#: editor_actions.cc:169
msgid "Playhead to Next Region Sync"
msgstr "К Ñледующему Ñинхронизатору облаÑтей"
-#: editor_actions.cc:162
+#: editor_actions.cc:171
msgid "Playhead to Previous Region Start"
msgstr "К началу предыдущей облаÑти"
-#: editor_actions.cc:163
+#: editor_actions.cc:172
msgid "Playhead to Previous Region End"
msgstr "К концу предыдущей облаÑти"
-#: editor_actions.cc:164
+#: editor_actions.cc:173
msgid "Playhead to Previous Region Sync"
msgstr "К предыдущему Ñинхронизатору облаÑтей"
-#: editor_actions.cc:166
+#: editor_actions.cc:175
msgid "To Next Region Boundary"
msgstr "К Ñледующей границе облаÑти"
-#: editor_actions.cc:167
+#: editor_actions.cc:176
msgid "To Next Region Boundary (No Track Selection)"
msgstr "К Ñледующей границе облаÑти (без Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð¾Ñ€Ð¾Ð¶ÐºÐ¸)"
-#: editor_actions.cc:168
+#: editor_actions.cc:177
msgid "To Previous Region Boundary"
msgstr "К предыдущей границе облаÑти"
-#: editor_actions.cc:169
+#: editor_actions.cc:178
msgid "To Previous Region Boundary (No Track Selection)"
msgstr "К предыдущей границе облаÑти (без Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð¾Ñ€Ð¾Ð¶ÐºÐ¸)"
-#: editor_actions.cc:171
+#: editor_actions.cc:180
msgid "To Next Region Start"
msgstr "К началу Ñледующей облаÑти"
-#: editor_actions.cc:172
+#: editor_actions.cc:181
msgid "To Next Region End"
msgstr "К концу Ñледующей облаÑти"
-#: editor_actions.cc:173
+#: editor_actions.cc:182
msgid "To Next Region Sync"
msgstr "К Ñледующему Ñинхронизатору облаÑти"
-#: editor_actions.cc:175
+#: editor_actions.cc:184
msgid "To Previous Region Start"
msgstr "К началу предыдущей облаÑти"
-#: editor_actions.cc:176
+#: editor_actions.cc:185
msgid "To Previous Region End"
msgstr "К концу предыдущей облаÑти"
-#: editor_actions.cc:177
+#: editor_actions.cc:186
msgid "To Previous Region Sync"
msgstr "К предыдущему Ñинхронизатору облаÑти"
-#: editor_actions.cc:179
+#: editor_actions.cc:188
msgid "To Range Start"
msgstr "К началу облаÑти"
-#: editor_actions.cc:180
+#: editor_actions.cc:189
msgid "To Range End"
msgstr "К концу облаÑти"
-#: editor_actions.cc:182
+#: editor_actions.cc:191
msgid "Playhead to Range Start"
msgstr "К началу облаÑти"
-#: editor_actions.cc:183
+#: editor_actions.cc:192
msgid "Playhead to Range End"
msgstr "К концу облаÑти"
-#: editor_actions.cc:186 export_timespan_selector.cc:61 processor_box.cc:2473
+#: editor_actions.cc:195
+msgid "Select All Tracks"
+msgstr ""
+
+#: editor_actions.cc:196 export_timespan_selector.cc:61 processor_box.cc:2512
msgid "Deselect All"
msgstr "СнÑÑ‚ÑŒ вÑе выделениÑ"
-#: editor_actions.cc:191
+#: editor_actions.cc:204
msgid "Select All Overlapping Edit Range"
msgstr "Выделить вÑÑŽ переÑекающуюÑÑ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ правки"
-#: editor_actions.cc:192
+#: editor_actions.cc:205
msgid "Select All Inside Edit Range"
msgstr "Выделить вÑÑ‘ внутри облаÑти правки"
-#: editor_actions.cc:194
+#: editor_actions.cc:207
msgid "Select Edit Range"
msgstr "Выделить облаÑÑ‚ÑŒ правки"
-#: editor_actions.cc:196
+#: editor_actions.cc:209
msgid "Select All in Punch Range"
msgstr "Выделить вÑе в облаÑти врезки"
-#: editor_actions.cc:197
+#: editor_actions.cc:210
msgid "Select All in Loop Range"
msgstr "Выделить вÑÑ‘ в закольцованной облаÑти"
-#: editor_actions.cc:199
+#: editor_actions.cc:212
msgid "Select Next Track or Bus"
msgstr "Выбрать Ñледующую дорожку или шину"
-#: editor_actions.cc:200
+#: editor_actions.cc:213
msgid "Select Previous Track or Bus"
msgstr "Выбрать предыдущую дорожку или шину"
-#: editor_actions.cc:202
+#: editor_actions.cc:215
msgid "Toggle Record Enable"
msgstr "Переключить готовноÑÑ‚ÑŒ к запиÑи"
-#: editor_actions.cc:204
+#: editor_actions.cc:217
msgid "Toggle Solo"
msgstr "Переключить Ñоло"
-#: editor_actions.cc:206
+#: editor_actions.cc:219
msgid "Toggle Mute"
msgstr "Переключить приглушение"
-#: editor_actions.cc:208
+#: editor_actions.cc:221
msgid "Toggle Solo Isolate"
msgstr "Переключить изолирование ÑолированиÑ"
-#: editor_actions.cc:213
+#: editor_actions.cc:226
msgid "Save View %1"
msgstr "Сохранить вид %1"
-#: editor_actions.cc:219
+#: editor_actions.cc:232
msgid "Goto View %1"
msgstr "Перейти к виду %1"
-#: editor_actions.cc:225
+#: editor_actions.cc:238
msgid "Locate to Mark %1"
msgstr "Перейти к маркеру %1"
-#: editor_actions.cc:229
+#: editor_actions.cc:242 editor_actions.cc:243
msgid "Jump to Next Mark"
msgstr "К Ñледующему маркеру"
-#: editor_actions.cc:230
+#: editor_actions.cc:244 editor_actions.cc:245
msgid "Jump to Previous Mark"
msgstr "К предыдущему маркеру"
-#: editor_actions.cc:231
+#: editor_actions.cc:247 editor_actions.cc:248
msgid "Add Mark from Playhead"
msgstr "Добавить маркер по указателю"
-#: editor_actions.cc:233
+#: editor_actions.cc:250 editor_actions.cc:251
+msgid "Remove Mark at Playhead"
+msgstr ""
+
+#: editor_actions.cc:253
msgid "Nudge Next Later"
msgstr ""
-#: editor_actions.cc:234
+#: editor_actions.cc:254
msgid "Nudge Next Earlier"
msgstr ""
-#: editor_actions.cc:236
+#: editor_actions.cc:256
msgid "Nudge Playhead Forward"
msgstr "Толкнуть указатель вперёд"
-#: editor_actions.cc:237
+#: editor_actions.cc:257
msgid "Nudge Playhead Backward"
msgstr "Толкнуть указатель назад"
-#: editor_actions.cc:238
+#: editor_actions.cc:258
msgid "Playhead To Next Grid"
msgstr "К Ñледующему делению Ñетки"
-#: editor_actions.cc:239
+#: editor_actions.cc:259
msgid "Playhead To Previous Grid"
msgstr "К предыдущему делению Ñетки"
-#: editor_actions.cc:244
+#: editor_actions.cc:264
msgid "Zoom to Region"
msgstr "МаÑштабировать в облаÑÑ‚ÑŒ"
-#: editor_actions.cc:245
+#: editor_actions.cc:265
msgid "Zoom to Region (Width and Height)"
msgstr "МаÑштабировать в облаÑÑ‚ÑŒ (в ширину и выÑоту)"
-#: editor_actions.cc:246
+#: editor_actions.cc:267
+msgid "Zoom to Range (Width and Height)"
+msgstr ""
+
+#: editor_actions.cc:268
msgid "Toggle Zoom State"
msgstr "Переключить ÑоÑтоÑÐ½Ð¸Ñ Ð¼Ð°Ñштаба"
-#: editor_actions.cc:248
+#: editor_actions.cc:270
msgid "Expand Track Height"
msgstr "Увеличить выÑоту дорожки"
-#: editor_actions.cc:249
+#: editor_actions.cc:271
msgid "Shrink Track Height"
msgstr "Уменьшить выÑоту дорожки"
-#: editor_actions.cc:251
+#: editor_actions.cc:273
msgid "Move Selected Tracks Up"
msgstr "ПоднÑÑ‚ÑŒ выбранные дорожки"
-#: editor_actions.cc:253
+#: editor_actions.cc:275
msgid "Move Selected Tracks Down"
msgstr "ОпуÑтить выбранные дорожки"
-#: editor_actions.cc:256
+#: editor_actions.cc:278
msgid "Scroll Tracks Up"
msgstr "Прокрутить дорожки вверх"
-#: editor_actions.cc:258
+#: editor_actions.cc:280
msgid "Scroll Tracks Down"
msgstr "Прокрутить дорожки вниз"
-#: editor_actions.cc:260
+#: editor_actions.cc:282
msgid "Step Tracks Up"
msgstr ""
-#: editor_actions.cc:262
+#: editor_actions.cc:284
msgid "Step Tracks Down"
msgstr ""
-#: editor_actions.cc:265
+#: editor_actions.cc:287
msgid "Scroll Backward"
msgstr "Прокрутить назад"
-#: editor_actions.cc:266
+#: editor_actions.cc:288
msgid "Scroll Forward"
msgstr "Прокрутить вперёд"
-#: editor_actions.cc:267
+#: editor_actions.cc:289
msgid "Center Playhead"
msgstr "Указатель по центру"
-#: editor_actions.cc:268
+#: editor_actions.cc:290
msgid "Center Edit Point"
msgstr "Центрировать точку редактированиÑ"
-#: editor_actions.cc:270
+#: editor_actions.cc:292
msgid "Playhead Forward"
msgstr "Указатель вперёд"
-#: editor_actions.cc:271
+#: editor_actions.cc:293
msgid "Playhead Backward"
msgstr "Указатель назад"
-#: editor_actions.cc:273
+#: editor_actions.cc:295
msgid "Playhead to Active Mark"
msgstr "Указатель к активному маркеру"
-#: editor_actions.cc:274
+#: editor_actions.cc:296
msgid "Active Mark to Playhead"
msgstr "Ðктивный маркер к указателю"
-#: editor_actions.cc:276
+#: editor_actions.cc:298
msgid "Set Loop from Edit Range"
msgstr "Создать петлю из редактируемого выделениÑ"
-#: editor_actions.cc:277
+#: editor_actions.cc:299
msgid "Set Punch from Edit Range"
msgstr "Создать врезку из редактируемого выделениÑ"
-#: editor_actions.cc:280
+#: editor_actions.cc:302
msgid "Play Selected Regions"
msgstr "ВоÑпроизвеÑти выбранные облаÑти"
-#: editor_actions.cc:282
+#: editor_actions.cc:304
msgid "Play from Edit Point and Return"
msgstr "ВоÑпроизвеÑти от курÑора редактора и вернутьÑÑ"
-#: editor_actions.cc:284
+#: editor_actions.cc:306
msgid "Play Edit Range"
msgstr "ВоÑпроизвеÑти изменÑемое выделение"
-#: editor_actions.cc:286
+#: editor_actions.cc:308
msgid "Playhead to Mouse"
msgstr "Указатель к курÑору мыши"
-#: editor_actions.cc:287
+#: editor_actions.cc:309
msgid "Active Marker to Mouse"
msgstr "Ðктивный маркер к указателю мыши"
-#: editor_actions.cc:294
+#: editor_actions.cc:319
msgid "Export Audio"
msgstr "ЭкÑпортировать звук"
-#: editor_actions.cc:295 export_dialog.cc:411
+#: editor_actions.cc:320 export_dialog.cc:396
msgid "Export Range"
msgstr "ЭкÑпортировать облаÑÑ‚ÑŒ"
-#: editor_actions.cc:300
+#: editor_actions.cc:325
msgid "Separate Using Punch Range"
msgstr "Разделить по выделению врезки"
-#: editor_actions.cc:303
+#: editor_actions.cc:328
msgid "Separate Using Loop Range"
msgstr "Разделить по выделению петли"
-#: editor_actions.cc:306 editor_actions.cc:323
+#: editor_actions.cc:331 editor_actions.cc:353
msgid "Crop"
msgstr "Обрезать"
-#: editor_actions.cc:315
+#: editor_actions.cc:341
+msgid "Fade Range Selection"
+msgstr ""
+
+#: editor_actions.cc:343
msgid "Set Tempo from Edit Range = Bar"
msgstr "УÑтановить темп, ÑÑ‡Ð¸Ñ‚Ð°Ñ Ñ‡Ñ‚Ð¾ диапазон Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ = такт"
-#: editor_actions.cc:317
+#: editor_actions.cc:345
msgid "Log"
msgstr "Журнал"
-#: editor_actions.cc:320
+#: editor_actions.cc:348 editor_actions.cc:349
msgid "Move Later to Transient"
msgstr "К Ñледующему транзиенту"
-#: editor_actions.cc:321
+#: editor_actions.cc:350 editor_actions.cc:351
msgid "Move Earlier to Transient"
msgstr "К предыдущему транзиенту"
-#: editor_actions.cc:325
+#: editor_actions.cc:355 editor_actions.cc:358
msgid "Start Range"
msgstr "Ðачать выделение"
-#: editor_actions.cc:326
+#: editor_actions.cc:356 editor_actions.cc:359
msgid "Finish Range"
msgstr "Закончить выделение"
-#: editor_actions.cc:327
-msgid "Finish Add Range"
-msgstr "Закончить добавку выделениÑ"
-
-#: editor_actions.cc:357
+#: editor_actions.cc:391
msgid "Follow Playhead"
msgstr "Следовать за указателем"
-#: editor_actions.cc:358
+#: editor_actions.cc:392
msgid "Remove Last Capture"
msgstr "Удалить поÑледнюю запиÑÑŒ"
-#: editor_actions.cc:360
+#: editor_actions.cc:394
msgid "Stationary Playhead"
msgstr "Ðеподвижный указатель"
-#: editor_actions.cc:362 insert_time_dialog.cc:32
+#: editor_actions.cc:396 insert_time_dialog.cc:32
msgid "Insert Time"
msgstr "Ð’Ñтавить промежуток времени"
-#: editor_actions.cc:365
+#: editor_actions.cc:399
msgid "Toggle Active"
msgstr "Переключить активноÑÑ‚ÑŒ"
-#: editor_actions.cc:370 editor_actions.cc:1716 editor_markers.cc:876
-#: editor_markers.cc:941 editor_snapshots.cc:121 mixer_strip.cc:1528
-#: route_time_axis.cc:710
+#: editor_actions.cc:404 editor_actions.cc:1764 editor_markers.cc:890
+#: editor_markers.cc:955 editor_snapshots.cc:122 mixer_strip.cc:1506
+#: route_time_axis.cc:829
msgid "Remove"
msgstr "Удалить"
-#: editor_actions.cc:374
+#: editor_actions.cc:408
msgid "Fit Selected Tracks"
msgstr "Только выделенные дорожки"
-#: editor_actions.cc:376 time_axis_view.cc:1302
+#: editor_actions.cc:411 time_axis_view.cc:1336
msgid "Largest"
msgstr "ОгромнаÑ"
-#: editor_actions.cc:379 time_axis_view.cc:1303
+#: editor_actions.cc:414 time_axis_view.cc:1337
msgid "Larger"
msgstr "Больше"
-#: editor_actions.cc:382 editor_rulers.cc:375 time_axis_view.cc:1304
+#: editor_actions.cc:417 editor_rulers.cc:249 time_axis_view.cc:1338
msgid "Large"
msgstr "БольшаÑ"
-#: editor_actions.cc:388 editor_rulers.cc:379 time_axis_view.cc:1306
+#: editor_actions.cc:423 editor_rulers.cc:253 time_axis_view.cc:1340
msgid "Small"
msgstr "МаленькаÑ"
-#: editor_actions.cc:392
+#: editor_actions.cc:427
msgid "Sound Selected MIDI Notes"
msgstr "ВоÑпроизводить выделÑемые MIDI-ноты"
-#: editor_actions.cc:397
+#: editor_actions.cc:432
msgid "Zoom Focus Left"
msgstr "Влево"
-#: editor_actions.cc:398
+#: editor_actions.cc:433
msgid "Zoom Focus Right"
msgstr "Вправо"
-#: editor_actions.cc:399
+#: editor_actions.cc:434
msgid "Zoom Focus Center"
msgstr "По центру"
-#: editor_actions.cc:400
+#: editor_actions.cc:435
msgid "Zoom Focus Playhead"
msgstr "По указателю"
-#: editor_actions.cc:401
+#: editor_actions.cc:436
msgid "Zoom Focus Mouse"
msgstr "По курÑору мыши"
-#: editor_actions.cc:402
+#: editor_actions.cc:437
msgid "Zoom Focus Edit Point"
msgstr "По точке редактированиÑ"
-#: editor_actions.cc:404
+#: editor_actions.cc:439
msgid "Next Zoom Focus"
msgstr "Следующий вариант фокуÑа"
-#: editor_actions.cc:410
+#: editor_actions.cc:445
msgid "Smart Object Mode"
msgstr "УниверÑальный режим"
-#: editor_actions.cc:413
+#: editor_actions.cc:448
msgid "Smart"
msgstr "УниверÑальный"
-#: editor_actions.cc:417
+#: editor_actions.cc:451
msgid "Object Tool"
msgstr "Объект"
-#: editor_actions.cc:423
+#: editor_actions.cc:456
msgid "Range Tool"
msgstr "Выделение"
-#: editor_actions.cc:429
+#: editor_actions.cc:461
msgid "Note Drawing Tool"
msgstr "ИнÑтрумент риÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð¾Ñ‚"
-#: editor_actions.cc:435
+#: editor_actions.cc:466
msgid "Gain Tool"
msgstr "УÑиление"
-#: editor_actions.cc:441
+#: editor_actions.cc:472
msgid "Zoom Tool"
msgstr "Лупа"
-#: editor_actions.cc:447
+#: editor_actions.cc:478
msgid "Audition Tool"
msgstr "ИнÑтрумент проÑлушиваниÑ"
-#: editor_actions.cc:453
+#: editor_actions.cc:483
msgid "Time FX Tool"
msgstr "ИнÑтрумент раÑÑ‚ÑÐ¶ÐµÐ½Ð¸Ñ Ð²Ð¾ времени"
-#: editor_actions.cc:459
+#: editor_actions.cc:489
+msgid "Cut Tool"
+msgstr ""
+
+#: editor_actions.cc:495
msgid "Step Mouse Mode"
msgstr ""
-#: editor_actions.cc:461
+#: editor_actions.cc:497
msgid "Edit MIDI"
msgstr "Изменить MIDI"
-#: editor_actions.cc:472
+#: editor_actions.cc:507
msgid "Change Edit Point"
msgstr "Изменить точку редактированиÑ"
-#: editor_actions.cc:473
+#: editor_actions.cc:508
msgid "Change Edit Point Including Marker"
msgstr "Изменить точку редактированиÑ, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð¼Ð°Ñ€ÐºÐµÑ€"
-#: editor_actions.cc:475
-msgid "Splice"
-msgstr "Стыковка"
-
-#: editor_actions.cc:477
-msgid "Slide"
-msgstr "Скольжение"
-
-#: editor_actions.cc:478 editor_actions.cc:1737 editor_markers.cc:860
-#: editor_rulers.cc:386 location_ui.cc:56
-msgid "Lock"
-msgstr "Блок"
-
-#: editor_actions.cc:479
-msgid "Toggle Edit Mode"
-msgstr "Переключить режим редактированиÑ"
+#: editor_actions.cc:514
+msgid "Cycle Edit Mode"
+msgstr ""
-#: editor_actions.cc:481
+#: editor_actions.cc:516
msgid "Snap to"
msgstr "ПривÑзка"
-#: editor_actions.cc:482
+#: editor_actions.cc:517
msgid "Snap Mode"
msgstr "Режим привÑзки"
-#: editor_actions.cc:489
+#: editor_actions.cc:524
msgid "Next Snap Mode"
msgstr "Следующий режим привÑзки"
-#: editor_actions.cc:490
+#: editor_actions.cc:525
msgid "Next Snap Choice"
msgstr "Следующий выбор привÑзки"
-#: editor_actions.cc:491
+#: editor_actions.cc:526
msgid "Next Musical Snap Choice"
msgstr "Следующий вариант привÑзки (такты, доли)"
-#: editor_actions.cc:492
+#: editor_actions.cc:527
msgid "Previous Snap Choice"
msgstr "Предыдущий вариант привÑзки"
-#: editor_actions.cc:493
+#: editor_actions.cc:528
msgid "Previous Musical Snap Choice"
msgstr "Предыдущий вариант привÑзки (такты, доли)"
-#: editor_actions.cc:498
+#: editor_actions.cc:533
msgid "Snap to CD Frame"
msgstr "К выборкам CD"
-#: editor_actions.cc:499
+#: editor_actions.cc:534
msgid "Snap to Timecode Frame"
msgstr "К кадрам таймкода"
-#: editor_actions.cc:500
+#: editor_actions.cc:535
msgid "Snap to Timecode Seconds"
msgstr "К Ñекундам таймкода"
-#: editor_actions.cc:501
+#: editor_actions.cc:536
msgid "Snap to Timecode Minutes"
msgstr "К минутам таймкода"
-#: editor_actions.cc:502
+#: editor_actions.cc:537
msgid "Snap to Seconds"
msgstr "К Ñекундам"
-#: editor_actions.cc:503
+#: editor_actions.cc:538
msgid "Snap to Minutes"
msgstr "К минутам"
-#: editor_actions.cc:505
+#: editor_actions.cc:540
msgid "Snap to One Twenty Eighths"
msgstr "К 1/28"
-#: editor_actions.cc:506
+#: editor_actions.cc:541
msgid "Snap to Sixty Fourths"
msgstr "К 1/24"
-#: editor_actions.cc:507
+#: editor_actions.cc:542
msgid "Snap to Thirty Seconds"
msgstr "К 30 Ñекундам"
-#: editor_actions.cc:508
+#: editor_actions.cc:543
msgid "Snap to Twenty Eighths"
msgstr "К 1/28"
-#: editor_actions.cc:509
+#: editor_actions.cc:544
msgid "Snap to Twenty Fourths"
msgstr "К 1/24"
-#: editor_actions.cc:510
+#: editor_actions.cc:545
msgid "Snap to Twentieths"
msgstr "К 1/20"
-#: editor_actions.cc:511
+#: editor_actions.cc:546
msgid "Snap to Sixteenths"
msgstr "К 1/16"
-#: editor_actions.cc:512
+#: editor_actions.cc:547
msgid "Snap to Fourteenths"
msgstr "К 1/14"
-#: editor_actions.cc:513
+#: editor_actions.cc:548
msgid "Snap to Twelfths"
msgstr "К 1/12"
-#: editor_actions.cc:514
+#: editor_actions.cc:549
msgid "Snap to Tenths"
msgstr "К 1/10"
-#: editor_actions.cc:515
+#: editor_actions.cc:550
msgid "Snap to Eighths"
msgstr "К 1/8"
-#: editor_actions.cc:516
+#: editor_actions.cc:551
msgid "Snap to Sevenths"
msgstr "К 1/7"
-#: editor_actions.cc:517
+#: editor_actions.cc:552
msgid "Snap to Sixths"
msgstr "К 1/6"
-#: editor_actions.cc:518
+#: editor_actions.cc:553
msgid "Snap to Fifths"
msgstr "К 1/5"
-#: editor_actions.cc:519
+#: editor_actions.cc:554
msgid "Snap to Quarters"
msgstr "К 1/4"
-#: editor_actions.cc:520
+#: editor_actions.cc:555
msgid "Snap to Thirds"
msgstr "К 1/3"
-#: editor_actions.cc:521
+#: editor_actions.cc:556
msgid "Snap to Halves"
msgstr "К 1/2"
-#: editor_actions.cc:523
+#: editor_actions.cc:558
msgid "Snap to Beat"
msgstr "К долÑм"
-#: editor_actions.cc:524
+#: editor_actions.cc:559
msgid "Snap to Bar"
msgstr "К тактам"
-#: editor_actions.cc:525
+#: editor_actions.cc:560
msgid "Snap to Mark"
msgstr "К маркерам"
-#: editor_actions.cc:526
+#: editor_actions.cc:561
msgid "Snap to Region Start"
msgstr "К началам облаÑтей"
-#: editor_actions.cc:527
+#: editor_actions.cc:562
msgid "Snap to Region End"
msgstr "К концам облаÑтей"
-#: editor_actions.cc:528
+#: editor_actions.cc:563
msgid "Snap to Region Sync"
msgstr "К Ñинхронизаторам облаÑтей"
-#: editor_actions.cc:529
+#: editor_actions.cc:564
msgid "Snap to Region Boundary"
msgstr "К границам облаÑтей"
-#: editor_actions.cc:531
+#: editor_actions.cc:566
msgid "Show Marker Lines"
msgstr "Показывать линии маркеров"
-#: editor_actions.cc:541
+#: editor_actions.cc:576
msgid "Loop/Punch"
msgstr "Петли/Врезки"
-#: editor_actions.cc:545
+#: editor_actions.cc:580
msgid "Min:Sec"
msgstr "Мин:С"
-#: editor_actions.cc:547 editor_actions.cc:550
+#: editor_actions.cc:582 editor_actions.cc:585
msgid "Video Monitor"
msgstr "Видеомонитор"
-#: editor_actions.cc:549 rc_option_editor.cc:1853
+#: editor_actions.cc:584 rc_option_editor.cc:2134
msgid "Video"
msgstr "Видео"
-#: editor_actions.cc:552
+#: editor_actions.cc:587
msgid "Always on Top"
msgstr "Ð’Ñегда Ñверху"
-#: editor_actions.cc:554
+#: editor_actions.cc:589
msgid "Frame number"
msgstr "Ðомер кадра"
-#: editor_actions.cc:555
+#: editor_actions.cc:590
msgid "Timecode Background"
msgstr "Фон тайм-кода"
-#: editor_actions.cc:556
+#: editor_actions.cc:591
msgid "Fullscreen"
msgstr "Во веÑÑŒ Ñкран"
-#: editor_actions.cc:557
+#: editor_actions.cc:592
msgid "Letterbox"
msgstr "УмеÑтить в окно"
-#: editor_actions.cc:558
+#: editor_actions.cc:593
msgid "Original Size"
msgstr "ИÑходный размер"
-#: editor_actions.cc:608
+#: editor_actions.cc:650
msgid "Sort"
msgstr "Сортировать"
-#: editor_actions.cc:610 region_editor.cc:51
-msgid "Audition"
-msgstr "Контроль"
-
-#: editor_actions.cc:619 editor_routes.cc:470 mixer_ui.cc:1161
+#: editor_actions.cc:661 editor_routes.cc:473 mixer_ui.cc:1181
msgid "Show All"
msgstr "Показать вÑÑ‘"
-#: editor_actions.cc:620
+#: editor_actions.cc:662
msgid "Show Automatic Regions"
msgstr "Показать автомат. облаÑти"
-#: editor_actions.cc:622
+#: editor_actions.cc:664
msgid "Ascending"
msgstr "По возраÑтанию"
-#: editor_actions.cc:624
+#: editor_actions.cc:666
msgid "Descending"
msgstr "По убыванию"
-#: editor_actions.cc:627
+#: editor_actions.cc:669
msgid "By Region Name"
msgstr "По имени облаÑти"
-#: editor_actions.cc:629
+#: editor_actions.cc:671
msgid "By Region Length"
msgstr "По длительноÑти облаÑти"
-#: editor_actions.cc:631
+#: editor_actions.cc:673
msgid "By Region Position"
msgstr "По раÑположению облаÑти"
-#: editor_actions.cc:633
+#: editor_actions.cc:675
msgid "By Region Timestamp"
msgstr "По времени ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ð±Ð»Ð°Ñти"
-#: editor_actions.cc:635
+#: editor_actions.cc:677
msgid "By Region Start in File"
msgstr "По началу облаÑти в файле"
-#: editor_actions.cc:637
+#: editor_actions.cc:679
msgid "By Region End in File"
msgstr "По концу облаÑти в файле"
-#: editor_actions.cc:639
+#: editor_actions.cc:681
msgid "By Source File Name"
msgstr "По имени иÑходного файла"
-#: editor_actions.cc:641
+#: editor_actions.cc:683
msgid "By Source File Length"
msgstr "По длительноÑти иÑходного файла"
-#: editor_actions.cc:643
+#: editor_actions.cc:685
msgid "By Source File Creation Date"
msgstr "По дате ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¸Ñходного файла"
-#: editor_actions.cc:645
+#: editor_actions.cc:687
msgid "By Source Filesystem"
msgstr "По иÑходной файловой ÑиÑтеме"
-#: editor_actions.cc:648
+#: editor_actions.cc:690
msgid "Remove Unused"
msgstr ""
-#: editor_actions.cc:652 editor_audio_import.cc:279
+#: editor_actions.cc:694 editor_audio_import.cc:277
#: session_import_dialog.cc:74 session_import_dialog.cc:94
-#: session_metadata_dialog.cc:297 editor_videotimeline.cc:105
+#: session_metadata_dialog.cc:297 editor_videotimeline.cc:92
msgid "Import"
msgstr "Импортировать"
-#: editor_actions.cc:655
+#: editor_actions.cc:697
msgid "Import to Region List..."
msgstr "Импортировать в ÑпиÑок облаÑтей…"
-#: editor_actions.cc:658 session_import_dialog.cc:43
+#: editor_actions.cc:700 session_import_dialog.cc:43
msgid "Import From Session"
msgstr "Импортировать из ÑеÑÑии"
-#: editor_actions.cc:661
+#: editor_actions.cc:704
+msgid "Bring all media into session folder"
+msgstr ""
+
+#: editor_actions.cc:707
msgid "Show Summary"
msgstr "Показывать Ñводку"
-#: editor_actions.cc:663
+#: editor_actions.cc:709
msgid "Show Group Tabs"
msgstr "Показывать вкладки групп"
-#: editor_actions.cc:665
+#: editor_actions.cc:711
msgid "Show Measures"
msgstr "Показывать линии тактов"
-#: editor_actions.cc:669
+#: editor_actions.cc:715
msgid "Show Logo"
msgstr "Показать логотип"
-#: editor_actions.cc:673
+#: editor_actions.cc:719
msgid "Toggle MIDI Input Active for Editor-Selected Tracks/Busses"
msgstr ""
-#: editor_actions.cc:696
+#: editor_actions.cc:742
msgid "Loaded editor bindings from %1"
msgstr ""
-#: editor_actions.cc:698
+#: editor_actions.cc:744
msgid "Could not find editor.bindings in search path %1"
msgstr ""
-#: editor_actions.cc:1028 editor_actions.cc:1424 editor_actions.cc:1435
-#: editor_actions.cc:1488 editor_actions.cc:1499 editor_actions.cc:1546
-#: editor_actions.cc:1556 editor_regions.cc:1561
+#: editor_actions.cc:1074 editor_actions.cc:1470 editor_actions.cc:1481
+#: editor_actions.cc:1534 editor_actions.cc:1545 editor_actions.cc:1592
+#: editor_actions.cc:1602 editor_regions.cc:1562
msgid "programming error: %1: %2"
msgstr "Ошибка в программе: %1: %2"
-#: editor_actions.cc:1722
+#: editor_actions.cc:1770
msgid "Raise"
msgstr "ПоднÑÑ‚ÑŒ"
-#: editor_actions.cc:1725
+#: editor_actions.cc:1773
msgid "Raise to Top"
msgstr "Ðа Ñамый верх"
-#: editor_actions.cc:1728 gtk-custom-ruler.c:132
+#: editor_actions.cc:1776
msgid "Lower"
msgstr "ОпуÑтить"
-#: editor_actions.cc:1731
+#: editor_actions.cc:1779
msgid "Lower to Bottom"
msgstr "Ð’ Ñамый низ"
-#: editor_actions.cc:1734
+#: editor_actions.cc:1782
msgid "Move to Original Position"
msgstr "К иÑходной позиции"
-#: editor_actions.cc:1739
+#: editor_actions.cc:1787
msgid "Lock to Video"
msgstr ""
-#: editor_actions.cc:1744 editor_markers.cc:867
+#: editor_actions.cc:1792 editor_markers.cc:881
msgid "Glue to Bars and Beats"
msgstr "Приклеить к тактам и долÑм"
-#: editor_actions.cc:1749
+#: editor_actions.cc:1797
msgid "Remove Sync"
msgstr "Удалить Ñинхронизатор"
-#: editor_actions.cc:1752 mixer_strip.cc:1935 route_time_axis.cc:209
-msgid "Mute"
-msgstr "Молча"
-
-#: editor_actions.cc:1755
+#: editor_actions.cc:1803
msgid "Normalize..."
msgstr "Ðормировать Ñигнал..."
-#: editor_actions.cc:1758
+#: editor_actions.cc:1806
msgid "Reverse"
msgstr "Развернуть"
-#: editor_actions.cc:1761
+#: editor_actions.cc:1809
msgid "Make Mono Regions"
msgstr "Создать моно-облаÑти"
-#: editor_actions.cc:1764
+#: editor_actions.cc:1812
msgid "Boost Gain"
msgstr "ПовыÑить громкоÑÑ‚ÑŒ облаÑти"
-#: editor_actions.cc:1767
+#: editor_actions.cc:1815
msgid "Cut Gain"
msgstr "Понизить громкоÑÑ‚ÑŒ облаÑти"
-#: editor_actions.cc:1770
+#: editor_actions.cc:1818
msgid "Pitch Shift..."
msgstr "Смена выÑоты тона…"
-#: editor_actions.cc:1773
+#: editor_actions.cc:1821
msgid "Transpose..."
msgstr "ТранÑпозициÑ…"
-#: editor_actions.cc:1776
+#: editor_actions.cc:1824
msgid "Opaque"
msgstr "Ðепрозрачно"
-#: editor_actions.cc:1780 editor_regions.cc:116
+#: editor_actions.cc:1828 editor_regions.cc:117
msgid "Fade In"
msgstr "ÐараÑтание"
-#: editor_actions.cc:1785 editor_regions.cc:117
+#: editor_actions.cc:1833 editor_regions.cc:118
msgid "Fade Out"
msgstr "Затухание"
-#: editor_actions.cc:1800
+#: editor_actions.cc:1848
msgid "Multi-Duplicate..."
msgstr "Продублировать многократно..."
-#: editor_actions.cc:1805
+#: editor_actions.cc:1853
msgid "Fill Track"
msgstr "Заполнить дорожку"
-#: editor_actions.cc:1809 editor_markers.cc:955
+#: editor_actions.cc:1857 editor_markers.cc:969
msgid "Set Loop Range"
msgstr "УÑтановить облаÑÑ‚ÑŒ петли"
-#: editor_actions.cc:1816
+#: editor_actions.cc:1864
msgid "Set Punch"
msgstr "УÑтановить врезку"
-#: editor_actions.cc:1820
+#: editor_actions.cc:1868
msgid "Add Single Range Marker"
msgstr "Добавить маркер текущей облаÑти"
-#: editor_actions.cc:1825
+#: editor_actions.cc:1873
msgid "Add Range Marker Per Region"
msgstr "Добавить по маркеру на каждую облаÑÑ‚ÑŒ"
-#: editor_actions.cc:1829
+#: editor_actions.cc:1877
msgid "Snap Position To Grid"
msgstr ""
-#: editor_actions.cc:1832
+#: editor_actions.cc:1880
msgid "Close Gaps"
msgstr "Закрыть интервалы"
-#: editor_actions.cc:1835
+#: editor_actions.cc:1883
msgid "Rhythm Ferret..."
msgstr "РитмичеÑкий хорёк..."
-#: editor_actions.cc:1838
+#: editor_actions.cc:1886
msgid "Export..."
msgstr "ЭкÑпортировать..."
-#: editor_actions.cc:1844
+#: editor_actions.cc:1892
msgid "Separate Under"
msgstr "Разделить под"
-#: editor_actions.cc:1848
+#: editor_actions.cc:1896 editor_actions.cc:1897
msgid "Set Fade In Length"
msgstr "УÑтановить длину фейда нараÑтаниÑ"
-#: editor_actions.cc:1849
+#: editor_actions.cc:1898 editor_actions.cc:1899
msgid "Set Fade Out Length"
msgstr "УÑтановить длину фейда затуханиÑ"
-#: editor_actions.cc:1850
+#: editor_actions.cc:1901
msgid "Set Tempo from Region = Bar"
msgstr "УÑтановить темп, ÑÑ‡Ð¸Ñ‚Ð°Ñ Ñ‡Ñ‚Ð¾ облаÑÑ‚ÑŒ = такт"
-#: editor_actions.cc:1855
+#: editor_actions.cc:1906
msgid "Split at Percussion Onsets"
msgstr "Разделить по атакам перкуÑÑии"
-#: editor_actions.cc:1860
+#: editor_actions.cc:1911
msgid "List Editor..."
msgstr "Редактор ÑпиÑка Ñобытий"
-#: editor_actions.cc:1863
+#: editor_actions.cc:1914
msgid "Properties..."
msgstr "СвойÑтва..."
-#: editor_actions.cc:1867
+#: editor_actions.cc:1918
msgid "Bounce (with processing)"
msgstr "СвеÑти (Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¾Ð¹)"
-#: editor_actions.cc:1868
+#: editor_actions.cc:1919
msgid "Bounce (without processing)"
msgstr "СвеÑти (без обработки)"
-#: editor_actions.cc:1869
+#: editor_actions.cc:1920
msgid "Combine"
msgstr "Объединить"
-#: editor_actions.cc:1870
+#: editor_actions.cc:1921
msgid "Uncombine"
msgstr "СнÑÑ‚ÑŒ объединение"
-#: editor_actions.cc:1872
+#: editor_actions.cc:1923
msgid "Spectral Analysis..."
msgstr "Спектральный анализ..."
-#: editor_actions.cc:1874
+#: editor_actions.cc:1925
msgid "Reset Envelope"
msgstr "СброÑить огибающую"
-#: editor_actions.cc:1876
+#: editor_actions.cc:1927
msgid "Reset Gain"
msgstr "СброÑить уÑиление"
-#: editor_actions.cc:1881
+#: editor_actions.cc:1932
msgid "Envelope Active"
msgstr "ÐžÐ³Ð¸Ð±Ð°ÑŽÑ‰Ð°Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð°"
-#: editor_actions.cc:1885
+#: editor_actions.cc:1936
msgid "Quantize..."
msgstr "Квантование..."
-#: editor_actions.cc:1886 editor_actions.cc:1887
+#: editor_actions.cc:1937 editor_actions.cc:1938
msgid "Insert Patch Change..."
msgstr "Ð’Ñтавить Ñмену программы..."
-#: editor_actions.cc:1888
+#: editor_actions.cc:1939
msgid "Unlink from other copies"
msgstr "ОтÑоединить от других копий"
-#: editor_actions.cc:1889
+#: editor_actions.cc:1940
msgid "Strip Silence..."
msgstr "Вырезать тишину..."
-#: editor_actions.cc:1890
+#: editor_actions.cc:1941
msgid "Set Range Selection"
msgstr "Создать выделение из облаÑти"
-#: editor_actions.cc:1892
+#: editor_actions.cc:1943 editor_actions.cc:1944
msgid "Nudge Later"
msgstr "Толкнуть вперёд"
-#: editor_actions.cc:1893
+#: editor_actions.cc:1945 editor_actions.cc:1946
msgid "Nudge Earlier"
msgstr "Толкнуть назад"
-#: editor_actions.cc:1898
+#: editor_actions.cc:1948
+msgid "Sequence Regions"
+msgstr ""
+
+#: editor_actions.cc:1953
msgid "Nudge Later by Capture Offset"
msgstr "Толкнуть вперёд на Ñмещение захвата"
-#: editor_actions.cc:1905
+#: editor_actions.cc:1960
msgid "Nudge Earlier by Capture Offset"
msgstr "Толкнуть назад на Ñмещение захвата"
-#: editor_actions.cc:1909
+#: editor_actions.cc:1964
msgid "Trim to Loop"
msgstr "В петлю"
-#: editor_actions.cc:1910
+#: editor_actions.cc:1965
msgid "Trim to Punch"
msgstr "Во врезку"
-#: editor_actions.cc:1912
+#: editor_actions.cc:1967
msgid "Trim to Previous"
msgstr "До предыдущей облаÑти"
-#: editor_actions.cc:1913
+#: editor_actions.cc:1968
msgid "Trim to Next"
msgstr "До Ñледующей облаÑти"
-#: editor_actions.cc:1920
+#: editor_actions.cc:1975
msgid "Insert Region From Region List"
msgstr "Ð’Ñтавить облаÑÑ‚ÑŒ из ÑпиÑка облаÑтей"
-#: editor_actions.cc:1926
+#: editor_actions.cc:1981
msgid "Set Sync Position"
msgstr "УÑтановить Ñинхронизатор облаÑти"
-#: editor_actions.cc:1927
+#: editor_actions.cc:1982
msgid "Place Transient"
msgstr ""
-#: editor_actions.cc:1928
+#: editor_actions.cc:1983
msgid "Split"
msgstr "Разделить"
-#: editor_actions.cc:1929
+#: editor_actions.cc:1984
msgid "Trim Start at Edit Point"
msgstr "Ðачало по курÑору редактора"
-#: editor_actions.cc:1930
+#: editor_actions.cc:1985
msgid "Trim End at Edit Point"
msgstr "Конец по курÑору редактора"
-#: editor_actions.cc:1935
+#: editor_actions.cc:1990
msgid "Align Start"
msgstr "ВыровнÑÑ‚ÑŒ начала облаÑтей"
-#: editor_actions.cc:1942
+#: editor_actions.cc:1997
msgid "Align Start Relative"
msgstr "ВыровнÑÑ‚ÑŒ отноÑительно начал облаÑтей"
-#: editor_actions.cc:1946
+#: editor_actions.cc:2001
msgid "Align End"
msgstr "ВыровнÑÑ‚ÑŒ концы облаÑтей"
-#: editor_actions.cc:1951
+#: editor_actions.cc:2006
msgid "Align End Relative"
msgstr "ВыровнÑÑ‚ÑŒ отноÑительно концов облаÑтей"
-#: editor_actions.cc:1958
+#: editor_actions.cc:2013
msgid "Align Sync"
msgstr "ВыровнÑÑ‚ÑŒ по Ñинхронизаторам облаÑтей"
-#: editor_actions.cc:1965
+#: editor_actions.cc:2020
msgid "Align Sync Relative"
msgstr "ВыровнÑÑ‚ÑŒ отноÑительно Ñинхронизаторов облаÑтей"
-#: editor_actions.cc:1969 editor_actions.cc:1972
+#: editor_actions.cc:2024 editor_actions.cc:2027
msgid "Choose Top..."
msgstr "Выбрать верхнюю облаÑÑ‚ÑŒ..."
-#: editor_audio_import.cc:77 editor_audio_import.cc:99
+#: editor_audio_import.cc:76 editor_audio_import.cc:98
msgid "You can't import or embed an audiofile until you have a session loaded."
msgstr ""
"Ð’Ñ‹ не можете импортировать или внедрить звуковой файл без открытой ÑеÑÑии."
-#: editor_audio_import.cc:83 editor_audio_import.cc:127
+#: editor_audio_import.cc:82 editor_audio_import.cc:126
msgid "Add Existing Media"
msgstr "Добавить ÑущеÑтвующие данные"
-#: editor_audio_import.cc:177
+#: editor_audio_import.cc:175
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%1 as a new file, or skip it?"
@@ -4391,7 +4487,7 @@ msgstr ""
"Ð’ Ñтой ÑеÑÑии уже еÑÑ‚ÑŒ иÑходный файл Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %1. Ð’Ñ‹ хотите импортировать %1 "
"как новый файл или пропуÑтить его?"
-#: editor_audio_import.cc:179
+#: editor_audio_import.cc:177
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%2 as a new source, or skip it?"
@@ -4399,32 +4495,32 @@ msgstr ""
"Ð’ Ñтой ÑеÑÑии уже еÑÑ‚ÑŒ иÑходный файл Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %1. Ð’Ñ‹ хотите импортировать %2 "
"как новый иÑточник или пропуÑтить его?"
-#: editor_audio_import.cc:279 editor_videotimeline.cc:105
+#: editor_audio_import.cc:277 editor_videotimeline.cc:92
msgid "Cancel Import"
msgstr "Отменить импорт"
-#: editor_audio_import.cc:543
+#: editor_audio_import.cc:541
msgid "Editor: cannot open file \"%1\", (%2)"
msgstr "Редактор: не удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл \"%1\", (%2)"
-#: editor_audio_import.cc:551
+#: editor_audio_import.cc:549
msgid "Cancel entire import"
msgstr "Отменить веÑÑŒ импорт"
-#: editor_audio_import.cc:552
+#: editor_audio_import.cc:550
msgid "Don't embed it"
msgstr "Ðе вÑтраивать"
-#: editor_audio_import.cc:553
+#: editor_audio_import.cc:551
msgid "Embed all without questions"
msgstr "Ð’Ñтроить без лишних вопроÑов"
-#: editor_audio_import.cc:556 editor_audio_import.cc:585
-#: export_format_dialog.cc:58
+#: editor_audio_import.cc:554 editor_audio_import.cc:583
+#: export_format_dialog.cc:60
msgid "Sample rate"
msgstr "ЧаÑтота ÑÑмплированиÑ"
-#: editor_audio_import.cc:557 editor_audio_import.cc:586
+#: editor_audio_import.cc:555 editor_audio_import.cc:584
msgid ""
"%1\n"
"This audiofile's sample rate doesn't match the session sample rate!"
@@ -4433,304 +4529,300 @@ msgstr ""
"Выбранный звуковой файл имеет чаÑтоту ÑÑмплированиÑ,\n"
"отличную от чаÑтоты активной ÑеÑÑии!"
-#: editor_audio_import.cc:582
+#: editor_audio_import.cc:580
msgid "Embed it anyway"
msgstr "Ð’ÑÑ‘ равно вÑтроить"
-#: editor_drag.cc:1000
+#: editor_drag.cc:994
+msgid "Could not create new track after region placed in the drop zone"
+msgstr ""
+
+#: editor_drag.cc:1100
msgid "fixed time region drag"
msgstr ""
-#: editor_drag.cc:1700
+#: editor_drag.cc:1797
+msgid "Ripple drag"
+msgstr ""
+
+#: editor_drag.cc:2093
msgid "Video Start:"
msgstr "Ðачало видеофайла"
-#: editor_drag.cc:1702
+#: editor_drag.cc:2095
msgid "Diff:"
msgstr "Разница:"
-#: editor_drag.cc:1722
+#: editor_drag.cc:2114
msgid "Move Video"
msgstr "ПеремеÑтить видео"
-#: editor_drag.cc:2200
+#: editor_drag.cc:2621
msgid "copy meter mark"
msgstr "Ñкопировать маркер Ñчетчика"
-#: editor_drag.cc:2208
+#: editor_drag.cc:2629
msgid "move meter mark"
msgstr "перемеÑтить маркер Ñчетчика"
-#: editor_drag.cc:2320
+#: editor_drag.cc:2752
msgid "copy tempo mark"
msgstr "Ñкопировать маркер темпа"
-#: editor_drag.cc:2328
+#: editor_drag.cc:2760
msgid "move tempo mark"
msgstr "перемеÑтить маркер темпа"
-#: editor_drag.cc:2550
+#: editor_drag.cc:2989
msgid "change fade in length"
msgstr "Ñмена длительноÑти фейда нараÑтаниÑ"
-#: editor_drag.cc:2668
+#: editor_drag.cc:3107
msgid "change fade out length"
msgstr "Ñмена длительноÑти фейда затуханиÑ"
-#: editor_drag.cc:3023
+#: editor_drag.cc:3463
msgid "move marker"
msgstr "Ñмещение маркера"
-#: editor_drag.cc:3586
+#: editor_drag.cc:4046
msgid "An error occurred while executing time stretch operation"
msgstr ""
-#: editor_drag.cc:4016
+#: editor_drag.cc:4493
msgid "programming_error: %1"
msgstr "Ошибка в программе: %1"
-#: editor_drag.cc:4086 editor_markers.cc:680
+#: editor_drag.cc:4559 editor_markers.cc:694
msgid "new range marker"
msgstr "новый маркер выделениÑ"
-#: editor_drag.cc:4767
+#: editor_drag.cc:5259
msgid "rubberband selection"
msgstr "прÑмоугольное выделение"
-#: editor_route_groups.cc:66
-msgid "No Selection = All Tracks?"
-msgstr "Ðет Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ = вÑе дорожки"
-
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Col"
msgstr "Цвет:"
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Group Tab Color"
msgstr "Цвет вкладки группы"
-#: editor_route_groups.cc:96
+#: editor_route_groups.cc:97
msgid "Name of Group"
msgstr "Ðазвание группы"
-#: editor_route_groups.cc:97 editor_routes.cc:203
+#: editor_route_groups.cc:98 editor_routes.cc:205
msgid "V"
msgstr ""
-#: editor_route_groups.cc:97
+#: editor_route_groups.cc:98
msgid "Group is visible?"
msgstr "Группа видима"
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "On"
msgstr "Вкл"
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "Group is enabled?"
msgstr "Группа включена"
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "group|G"
msgstr "Г"
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "Sharing Gain?"
msgstr "РазделÑетÑÑ Ð»Ð¸ уÑиление"
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "relative|Rel"
msgstr "Отн."
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "Relative Gain Changes?"
msgstr "ОтноÑительны ли Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² уÑилении"
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "mute|M"
msgstr "М"
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "Sharing Mute?"
msgstr "РазделÑетÑÑ Ð»Ð¸ приглушение"
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "solo|S"
msgstr "С"
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "Sharing Solo?"
msgstr "РазделÑетÑÑ Ð»Ð¸ Ñолирование"
-#: editor_route_groups.cc:103 midi_time_axis.cc:1632 midi_time_axis.cc:1635
-#: midi_time_axis.cc:1638 mixer_strip.cc:1934
+#: editor_route_groups.cc:104 midi_time_axis.cc:1703 midi_time_axis.cc:1706
+#: midi_time_axis.cc:1709
msgid "Rec"
msgstr "Зап"
-#: editor_route_groups.cc:103
+#: editor_route_groups.cc:104
msgid "Sharing Record-enable Status?"
msgstr "РазделÑетÑÑ Ð»Ð¸ готовноÑÑ‚ÑŒ к запиÑи"
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "monitoring|Mon"
msgstr "Мон"
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "Sharing Monitoring Choice?"
msgstr "РазделÑÑ‚ÑŒ ÑпоÑоб мониторинга"
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "selection|Sel"
msgstr "Выб"
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "Sharing Selected/Editing Status?"
msgstr "РазделÑÑ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ð¾Ñти"
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "active|A"
msgstr "Ð"
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "Sharing Active Status?"
msgstr "РазделÑетÑÑ Ð»Ð¸ активный ÑтатуÑ"
-#: editor_route_groups.cc:197
-msgid "Activate this button to operate on all tracks when none are selected."
-msgstr ""
-
-#: editor_route_groups.cc:442 mixer_ui.cc:1449
+#: editor_route_groups.cc:438 mixer_ui.cc:1469
msgid "unnamed"
msgstr "безымÑнный"
-#: editor_export_audio.cc:90 editor_markers.cc:695 editor_markers.cc:782
-#: editor_markers.cc:967 editor_markers.cc:985 editor_markers.cc:1003
-#: editor_markers.cc:1022 editor_markers.cc:1041 editor_markers.cc:1071
-#: editor_markers.cc:1102 editor_markers.cc:1132 editor_markers.cc:1160
-#: editor_markers.cc:1191 editor_markers.cc:1216 editor_markers.cc:1267
-#: editor_markers.cc:1311 editor_markers.cc:1337 editor_markers.cc:1526
-#: editor_mouse.cc:2528
+#: editor_export_audio.cc:92 editor_markers.cc:709 editor_markers.cc:796
+#: editor_markers.cc:981 editor_markers.cc:999 editor_markers.cc:1017
+#: editor_markers.cc:1036 editor_markers.cc:1055 editor_markers.cc:1085
+#: editor_markers.cc:1116 editor_markers.cc:1146 editor_markers.cc:1174
+#: editor_markers.cc:1205 editor_markers.cc:1230 editor_markers.cc:1281
+#: editor_markers.cc:1325 editor_markers.cc:1351 editor_markers.cc:1545
+#: editor_mouse.cc:2290
msgid "programming error: marker canvas item has no marker object pointer!"
msgstr "Ошибка в программе: marker canvas item has no marker object pointer!"
-#: editor_export_audio.cc:143 editor_export_audio.cc:148
+#: editor_export_audio.cc:145 editor_export_audio.cc:150
msgid "File Exists!"
msgstr "Файл уже ÑущеÑтвует!"
-#: editor_export_audio.cc:151
+#: editor_export_audio.cc:153
msgid "Overwrite Existing File"
msgstr "ПерезапиÑÑŒ ÑущеÑтвующего файла"
-#: editor_group_tabs.cc:162
+#: editor_group_tabs.cc:176
msgid "Fit to Window"
msgstr "УмеÑтить в окне"
-#: editor_markers.cc:129
+#: editor_markers.cc:139
msgid "start"
msgstr "Ðачало"
-#: editor_markers.cc:130
+#: editor_markers.cc:140
msgid "end"
msgstr "Конец"
-#: editor_markers.cc:646 editor_ops.cc:1744 editor_ops.cc:1764
-#: editor_ops.cc:1788 editor_ops.cc:1815 location_ui.cc:1017
+#: editor_markers.cc:660 editor_ops.cc:1915 editor_ops.cc:1935
+#: editor_ops.cc:1988 editor_ops.cc:2015 location_ui.cc:1019
msgid "add marker"
msgstr "добавка маркера"
-#: editor_markers.cc:677
+#: editor_markers.cc:691
msgid "range"
msgstr "облаÑÑ‚ÑŒ"
-#: editor_markers.cc:713 location_ui.cc:852
+#: editor_markers.cc:727 editor_ops.cc:1955 location_ui.cc:854
msgid "remove marker"
msgstr "удаление маркера"
-#: editor_markers.cc:849
+#: editor_markers.cc:863
msgid "Locate to Here"
msgstr "ПеремеÑтить Ñюда указатель"
-#: editor_markers.cc:850
+#: editor_markers.cc:864
msgid "Play from Here"
msgstr "ВоÑпроизвеÑти отÑюда"
-#: editor_markers.cc:851
+#: editor_markers.cc:865
msgid "Move Mark to Playhead"
msgstr "Маркер к указателю воÑпроизведениÑ"
-#: editor_markers.cc:855
+#: editor_markers.cc:869
msgid "Create Range to Next Marker"
msgstr "Создать выделение до Ñлед. маркера"
-#: editor_markers.cc:896
+#: editor_markers.cc:910
msgid "Locate to Marker"
msgstr "Перейти к маркеру"
-#: editor_markers.cc:897
+#: editor_markers.cc:911
msgid "Play from Marker"
msgstr "ВоÑпроизвеÑти от маркера"
-#: editor_markers.cc:900
+#: editor_markers.cc:914
msgid "Set Marker from Playhead"
msgstr "УÑтановить маркер по указателю"
-#: editor_markers.cc:902
+#: editor_markers.cc:916
msgid "Set Range from Selection"
msgstr "УÑтановить диапазон по выделению"
-#: editor_markers.cc:905
-msgid "Zoom to Range"
-msgstr "МаÑштабировать в выделение"
-
-#: editor_markers.cc:912
+#: editor_markers.cc:926
msgid "Hide Range"
msgstr "Скрыть выделение"
-#: editor_markers.cc:913
+#: editor_markers.cc:927
msgid "Rename Range..."
msgstr "Переименовать облаÑть…"
-#: editor_markers.cc:917
+#: editor_markers.cc:931
msgid "Remove Range"
msgstr "Удалить выделение"
-#: editor_markers.cc:924
+#: editor_markers.cc:938
msgid "Separate Regions in Range"
msgstr "Разделить облаÑти в выделении"
-#: editor_markers.cc:927
+#: editor_markers.cc:941
msgid "Select Range"
msgstr "Выбрать выделение"
-#: editor_markers.cc:956
+#: editor_markers.cc:970
msgid "Set Punch Range"
msgstr "УÑтановить облаÑÑ‚ÑŒ врезки"
-#: editor_markers.cc:1362 editor_ops.cc:1699
+#: editor_markers.cc:1376 editor_ops.cc:1870
msgid "New Name:"
msgstr "Ðовое название:"
-#: editor_markers.cc:1365
+#: editor_markers.cc:1379
msgid "Rename Mark"
msgstr "Переименовать маркер"
-#: editor_markers.cc:1367
+#: editor_markers.cc:1381
msgid "Rename Range"
msgstr "Переименовать выделение"
-#: editor_markers.cc:1374 editor_mouse.cc:2560 processor_box.cc:2002
-#: processor_box.cc:2469 route_time_axis.cc:982 route_ui.cc:1540
+#: editor_markers.cc:1388 editor_mouse.cc:2319 processor_box.cc:2038
+#: processor_box.cc:2508 route_time_axis.cc:1073 route_ui.cc:1622
msgid "Rename"
msgstr "Переименовать"
-#: editor_markers.cc:1387
+#: editor_markers.cc:1401
msgid "rename marker"
msgstr "переименование маркера"
-#: editor_markers.cc:1411
+#: editor_markers.cc:1425
msgid "set loop range"
msgstr "Создать петлю из облаÑти"
-#: editor_markers.cc:1417
+#: editor_markers.cc:1431
msgid "set punch range"
msgstr "Ñоздание Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð²Ñ€ÐµÐ·ÐºÐ¸"
@@ -4738,11 +4830,21 @@ msgstr "Ñоздание Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð²Ñ€ÐµÐ·ÐºÐ¸"
msgid "This screen is not tall enough to display the editor mixer"
msgstr ""
-#: editor_mouse.cc:172
-msgid "Editor::event_frame() used on unhandled event type %1"
+#: editor_mouse.cc:1384 editor_mouse.cc:1402 editor_tempodisplay.cc:273
+msgid ""
+"programming error: tempo marker canvas item has no marker object pointer!"
msgstr ""
+"ошибка в программе: tempo marker canvas item has no marker object pointer!"
+
+#: editor_mouse.cc:1389 editor_tempodisplay.cc:278
+msgid "programming error: marker for tempo is not a tempo marker!"
+msgstr "ошибка в программе: marker for tempo is not a tempo marker!"
+
+#: editor_mouse.cc:1407 editor_tempodisplay.cc:382
+msgid "programming error: marker for meter is not a meter marker!"
+msgstr "Ошибка в программе: маркер размера таковым не ÑвлÑетÑÑ!"
-#: editor_mouse.cc:2285 editor_mouse.cc:2310 editor_mouse.cc:2323
+#: editor_mouse.cc:2047 editor_mouse.cc:2072 editor_mouse.cc:2085
msgid ""
"programming error: control point canvas item has no control point object "
"pointer!"
@@ -4750,175 +4852,175 @@ msgstr ""
"ошибка в программе: control point canvas item has no control point object "
"pointer!"
-#: editor_mouse.cc:2466
+#: editor_mouse.cc:2228
msgid "start point trim"
msgstr "обрезка начальной точки"
-#: editor_mouse.cc:2491
+#: editor_mouse.cc:2253
msgid "End point trim"
msgstr ""
-#: editor_mouse.cc:2558
+#: editor_mouse.cc:2317
msgid "Name for region:"
msgstr "Ðазвание облаÑти: "
-#: editor_ops.cc:140
+#: editor_ops.cc:147
msgid "split"
msgstr "разделение"
-#: editor_ops.cc:256
+#: editor_ops.cc:291
msgid "alter selection"
msgstr "изменение выделениÑ"
-#: editor_ops.cc:298
+#: editor_ops.cc:333
msgid "nudge regions forward"
msgstr "толчок облаÑтей вперед"
-#: editor_ops.cc:321 editor_ops.cc:406
+#: editor_ops.cc:356 editor_ops.cc:441
msgid "nudge location forward"
msgstr "толчок позиции вперед"
-#: editor_ops.cc:379
+#: editor_ops.cc:414
msgid "nudge regions backward"
msgstr "толчок облаÑтей назад"
-#: editor_ops.cc:468
+#: editor_ops.cc:503
msgid "nudge forward"
msgstr "толчок вперед"
-#: editor_ops.cc:492
+#: editor_ops.cc:527
msgid "nudge backward"
msgstr "толчок назад"
-#: editor_ops.cc:557
+#: editor_ops.cc:570
+msgid "sequence regions"
+msgstr ""
+
+#: editor_ops.cc:646
msgid "build_region_boundary_cache called with snap_type = %1"
msgstr "build_region_boundary_cache called with snap_type = %1"
-#: editor_ops.cc:1701
+#: editor_ops.cc:1872
msgid "New Location Marker"
msgstr "Ðовый маркер позиции"
-#: editor_ops.cc:1788
+#: editor_ops.cc:1988
msgid "add markers"
msgstr "добавка маркера"
-#: editor_ops.cc:1894
+#: editor_ops.cc:2094
msgid "clear markers"
msgstr "очиÑтка маркеров"
-#: editor_ops.cc:1907
+#: editor_ops.cc:2107
msgid "clear ranges"
msgstr "очиÑтка диапазонов"
-#: editor_ops.cc:1929
+#: editor_ops.cc:2129
msgid "clear locations"
msgstr "очиÑтка позиций"
-#: editor_ops.cc:2000
-msgid "insert dragged region"
-msgstr "вÑтавка перетащенной облаÑти"
-
-#: editor_ops.cc:2078
+#: editor_ops.cc:2191
msgid "insert region"
msgstr "вÑтавка облаÑти"
-#: editor_ops.cc:2261
+#: editor_ops.cc:2377
msgid "raise regions"
msgstr "поднÑтие облаÑтей"
-#: editor_ops.cc:2263
+#: editor_ops.cc:2379
msgid "raise region"
msgstr "поднÑтие облаÑти"
-#: editor_ops.cc:2269
+#: editor_ops.cc:2385
msgid "raise regions to top"
msgstr "поднÑтие облаÑтей наверх"
-#: editor_ops.cc:2271
+#: editor_ops.cc:2387
msgid "raise region to top"
msgstr "поднÑтие облаÑти наверх"
-#: editor_ops.cc:2277
+#: editor_ops.cc:2393
msgid "lower regions"
msgstr "опуÑкание облаÑтей"
-#: editor_ops.cc:2279 editor_ops.cc:2287
+#: editor_ops.cc:2395 editor_ops.cc:2403
msgid "lower region"
msgstr "опуÑкание облаÑти"
-#: editor_ops.cc:2285
+#: editor_ops.cc:2401
msgid "lower regions to bottom"
msgstr "опуÑкание облаÑтей вниз"
-#: editor_ops.cc:2370
+#: editor_ops.cc:2486
msgid "Rename Region"
msgstr "Переименовать облаÑÑ‚ÑŒ..."
-#: editor_ops.cc:2372 processor_box.cc:2000 route_ui.cc:1538
+#: editor_ops.cc:2488 processor_box.cc:2036 route_ui.cc:1620
msgid "New name:"
msgstr "Ðовое название:"
-#: editor_ops.cc:2682
+#: editor_ops.cc:2798
msgid "separate"
msgstr "отделение"
-#: editor_ops.cc:2795
+#: editor_ops.cc:2910
msgid "separate region under"
msgstr ""
-#: editor_ops.cc:2916
+#: editor_ops.cc:3031
msgid "trim to selection"
msgstr "обрезание по выделению"
-#: editor_ops.cc:3052
+#: editor_ops.cc:3167
msgid "set sync point"
msgstr "уÑтановка точки Ñинхронизации"
-#: editor_ops.cc:3076
+#: editor_ops.cc:3191
msgid "remove region sync"
msgstr "удаление Ñинхронизатора облаÑти"
-#: editor_ops.cc:3098
+#: editor_ops.cc:3213
msgid "move regions to original position"
msgstr "перемещение облаÑтей в иÑходную позицию"
-#: editor_ops.cc:3100
+#: editor_ops.cc:3215
msgid "move region to original position"
msgstr "перемещение облаÑти в иÑходную позицию"
-#: editor_ops.cc:3121
+#: editor_ops.cc:3236
msgid "align selection"
msgstr "выравнивание выделениÑ"
-#: editor_ops.cc:3195
+#: editor_ops.cc:3310
msgid "align selection (relative)"
msgstr "выравнивание Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ (отноÑительное)"
-#: editor_ops.cc:3229
+#: editor_ops.cc:3344
msgid "align region"
msgstr "выравнивание облаÑти"
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim front"
msgstr "обрезка впереди"
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim back"
msgstr "обрезка Ñзади"
-#: editor_ops.cc:3310
+#: editor_ops.cc:3425
msgid "trim to loop"
msgstr "обрезка в петлю"
-#: editor_ops.cc:3320
+#: editor_ops.cc:3435
msgid "trim to punch"
msgstr "обрезка во врезку"
-#: editor_ops.cc:3382
+#: editor_ops.cc:3497
msgid "trim to region"
msgstr "обрезка в облаÑÑ‚ÑŒ"
-#: editor_ops.cc:3492
+#: editor_ops.cc:3605
msgid ""
"This track/bus cannot be frozen because the signal adds or loses channels "
"before reaching the outputs.\n"
@@ -4926,11 +5028,11 @@ msgid ""
"input or vice versa."
msgstr ""
-#: editor_ops.cc:3495
+#: editor_ops.cc:3608
msgid "Cannot freeze"
msgstr "Ðевозможно заморозить"
-#: editor_ops.cc:3501
+#: editor_ops.cc:3614
msgid ""
"<b>%1</b>\n"
"\n"
@@ -4939,23 +5041,23 @@ msgid ""
"Freezing will only process the signal as far as the first send/insert/return."
msgstr ""
-#: editor_ops.cc:3505
+#: editor_ops.cc:3618
msgid "Freeze anyway"
msgstr "Ð’ÑÑ‘ равно заморозить"
-#: editor_ops.cc:3506
+#: editor_ops.cc:3619
msgid "Don't freeze"
msgstr "Ðе замораживать"
-#: editor_ops.cc:3507
+#: editor_ops.cc:3620
msgid "Freeze Limits"
msgstr "Пределы заморозки"
-#: editor_ops.cc:3522
+#: editor_ops.cc:3635
msgid "Cancel Freeze"
msgstr "Отменить замораживание"
-#: editor_ops.cc:3553
+#: editor_ops.cc:3666
msgid ""
"You can't perform this operation because the processing of the signal will "
"cause one or more of the tracks to end up with a region with more channels "
@@ -4964,51 +5066,63 @@ msgid ""
"You can do this without processing, which is a different operation."
msgstr ""
-#: editor_ops.cc:3557
+#: editor_ops.cc:3670
msgid "Cannot bounce"
msgstr "Ðевозможно выполнить Ñведение"
-#: editor_ops.cc:3568
+#: editor_ops.cc:3681
msgid "bounce range"
msgstr "Ñведение облаÑти"
-#: editor_ops.cc:3678
+#: editor_ops.cc:3783
msgid "delete"
msgstr "удаление"
-#: editor_ops.cc:3681
+#: editor_ops.cc:3786
msgid "cut"
msgstr "вырезать"
-#: editor_ops.cc:3684
+#: editor_ops.cc:3789
msgid "copy"
msgstr "копировать"
-#: editor_ops.cc:3687
+#: editor_ops.cc:3792
msgid "clear"
msgstr "ОчиÑтить"
-#: editor_ops.cc:3785
-msgid " objects"
-msgstr " объекты"
+#: editor_ops.cc:3845
+msgid " points"
+msgstr ""
+
+#: editor_ops.cc:3856
+msgid "points"
+msgstr ""
+
+#: editor_ops.cc:3858
+msgid "regions"
+msgstr ""
+
+#: editor_ops.cc:3860
+msgid "objects"
+msgstr ""
-#: editor_ops.cc:3815
+#: editor_ops.cc:3890
msgid " range"
msgstr "диапазон"
-#: editor_ops.cc:3957 editor_ops.cc:3984
+#: editor_ops.cc:4059
msgid "remove region"
msgstr "удаление облаÑти"
-#: editor_ops.cc:4391
+#: editor_ops.cc:4475
msgid "duplicate selection"
msgstr "дублирование выделениÑ"
-#: editor_ops.cc:4469
+#: editor_ops.cc:4553
msgid "nudge track"
msgstr "Ñмещение дорожки"
-#: editor_ops.cc:4506
+#: editor_ops.cc:4590
msgid ""
"Do you really want to destroy the last capture?\n"
"(This is destructive and cannot be undone)"
@@ -5016,132 +5130,140 @@ msgstr ""
"ПоÑледнюю запиÑÑŒ будет удалена. Ð’Ñ‹ уверены?\n"
"(отмена операции невозможна)"
-#: editor_ops.cc:4509 editor_ops.cc:6512 editor_regions.cc:460
-#: editor_snapshots.cc:158 route_ui.cc:1482
+#: editor_ops.cc:4593 editor_ops.cc:6594 editor_regions.cc:461
+#: editor_snapshots.cc:159 route_ui.cc:1563
msgid "No, do nothing."
msgstr "Ðет"
-#: editor_ops.cc:4510
+#: editor_ops.cc:4594
msgid "Yes, destroy it."
msgstr "Да"
-#: editor_ops.cc:4512
+#: editor_ops.cc:4596
msgid "Destroy last capture"
msgstr ""
-#: editor_ops.cc:4573
+#: editor_ops.cc:4657
msgid "normalize"
msgstr "нормализациÑ"
-#: editor_ops.cc:4668
+#: editor_ops.cc:4752
msgid "reverse regions"
msgstr "разворот облаÑтей"
-#: editor_ops.cc:4702
+#: editor_ops.cc:4786
msgid "strip silence"
msgstr "удаление тишины"
-#: editor_ops.cc:4763
+#: editor_ops.cc:4847
msgid "Fork Region(s)"
msgstr ""
-#: editor_ops.cc:4963
+#: editor_ops.cc:4868
+msgid "Could not unlink %1"
+msgstr ""
+
+#: editor_ops.cc:5052
msgid "reset region gain"
msgstr "ÑÐ±Ñ€Ð¾Ñ ÑƒÑÐ¸Ð»ÐµÐ½Ð¸Ñ Ð¾Ð±Ð»Ð°Ñти"
-#: editor_ops.cc:5016
+#: editor_ops.cc:5105
msgid "region gain envelope active"
msgstr "Ð¾Ð³Ð¸Ð±Ð°ÑŽÑ‰Ð°Ñ Ð¾Ð±Ð»Ð°Ñти активна"
-#: editor_ops.cc:5043
+#: editor_ops.cc:5132
msgid "toggle region lock"
msgstr "переключение блокировки облаÑти"
-#: editor_ops.cc:5067
+#: editor_ops.cc:5156
msgid "Toggle Video Lock"
msgstr ""
-#: editor_ops.cc:5091
+#: editor_ops.cc:5180
msgid "region lock style"
msgstr "ÑпоÑоб блокировки облаÑти"
-#: editor_ops.cc:5116
+#: editor_ops.cc:5205
msgid "change region opacity"
msgstr "Ñмена прозрачноÑти облаÑти"
-#: editor_ops.cc:5231
+#: editor_ops.cc:5298
+msgid "fade range"
+msgstr ""
+
+#: editor_ops.cc:5336
msgid "set fade in length"
msgstr "уÑтановка длины фейда нараÑтаниÑ"
-#: editor_ops.cc:5238
+#: editor_ops.cc:5343
msgid "set fade out length"
msgstr "уÑтановка длины фейда затуханиÑ"
-#: editor_ops.cc:5283
+#: editor_ops.cc:5388
msgid "set fade in shape"
msgstr "уÑтановка формы фейда нараÑтаниÑ"
-#: editor_ops.cc:5314
+#: editor_ops.cc:5419
msgid "set fade out shape"
msgstr "уÑтановка формы фейда затуханиÑ"
-#: editor_ops.cc:5344
+#: editor_ops.cc:5449
msgid "set fade in active"
msgstr "уÑтановка активноÑти фейда нараÑтаниÑ"
-#: editor_ops.cc:5373
+#: editor_ops.cc:5478
msgid "set fade out active"
msgstr "уÑтановка активноÑти фейда затуханиÑ"
-#: editor_ops.cc:5638
+#: editor_ops.cc:5713
msgid "set loop range from selection"
msgstr "уÑтановка петли из выделениÑ"
-#: editor_ops.cc:5660
+#: editor_ops.cc:5735
msgid "set loop range from edit range"
msgstr "Ð¿ÐµÑ‚Ð»Ñ Ð¸Ð· редактируемого выделениÑ"
-#: editor_ops.cc:5689
+#: editor_ops.cc:5764
msgid "set loop range from region"
msgstr "уÑтановка петли из облаÑти"
-#: editor_ops.cc:5707
+#: editor_ops.cc:5782
msgid "set punch range from selection"
msgstr "уÑтановка врезки из выделениÑ"
-#: editor_ops.cc:5724
+#: editor_ops.cc:5799
msgid "set punch range from edit range"
msgstr "врезка из редактируемого выделениÑ"
-#: editor_ops.cc:5748
+#: editor_ops.cc:5823
msgid "set punch range from region"
msgstr "уÑтановка врезки из облаÑти"
-#: editor_ops.cc:5857
+#: editor_ops.cc:5932
msgid "Add new marker"
msgstr "Создать маркер"
-#: editor_ops.cc:5858
+#: editor_ops.cc:5933
msgid "Set global tempo"
msgstr "УÑтановить общий темп"
-#: editor_ops.cc:5861
+#: editor_ops.cc:5936
msgid "Define one bar"
msgstr "Определение такта"
-#: editor_ops.cc:5862
+#: editor_ops.cc:5937
msgid "Do you want to set the global tempo or add a new tempo marker?"
msgstr "Ð’Ñ‹ хотите уÑтановить общий темп или добавить новый маркер темпа?"
-#: editor_ops.cc:5888
+#: editor_ops.cc:5963
msgid "set tempo from region"
msgstr "уÑтановка темпа из облаÑти"
-#: editor_ops.cc:5918
+#: editor_ops.cc:5993
msgid "split regions"
msgstr "разделение выделений"
-#: editor_ops.cc:5960
+#: editor_ops.cc:6035
msgid ""
"You are about to split\n"
"%1\n"
@@ -5153,11 +5275,11 @@ msgstr ""
"на %2 чаÑтей.\n"
"Это может занÑÑ‚ÑŒ много времени."
-#: editor_ops.cc:5967
+#: editor_ops.cc:6042
msgid "Call for the Ferret!"
msgstr "Вызвать хорька!"
-#: editor_ops.cc:5968
+#: editor_ops.cc:6043
msgid ""
"Press OK to continue with this split operation\n"
"or ask the Ferret dialog to tune the analysis"
@@ -5165,52 +5287,52 @@ msgstr ""
"Ðажмите OK Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ\n"
"или попроÑите Хорька Ñкорректировать анализ."
-#: editor_ops.cc:5970
+#: editor_ops.cc:6045
msgid "Press OK to continue with this split operation"
msgstr "Ðажмите OK Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ"
-#: editor_ops.cc:5973
+#: editor_ops.cc:6048
msgid "Excessive split?"
msgstr "МаÑÑовое разделение?"
-#: editor_ops.cc:6125
+#: editor_ops.cc:6200
msgid "place transient"
msgstr ""
-#: editor_ops.cc:6160
+#: editor_ops.cc:6235
msgid "snap regions to grid"
msgstr ""
-#: editor_ops.cc:6199
+#: editor_ops.cc:6274
msgid "Close Region Gaps"
msgstr "Закрытие интервалов между облаÑÑ‚Ñми"
-#: editor_ops.cc:6204
+#: editor_ops.cc:6279
msgid "Crossfade length"
msgstr "ДлительноÑÑ‚ÑŒ кроÑÑфейда"
-#: editor_ops.cc:6213 editor_ops.cc:6224 rhythm_ferret.cc:120
-#: session_option_editor.cc:153
+#: editor_ops.cc:6288 editor_ops.cc:6299 rhythm_ferret.cc:119
+#: session_option_editor.cc:141
msgid "ms"
msgstr "мÑ"
-#: editor_ops.cc:6215
+#: editor_ops.cc:6290
msgid "Pull-back length"
msgstr ""
-#: editor_ops.cc:6228
+#: editor_ops.cc:6303
msgid "Ok"
msgstr "ОК"
-#: editor_ops.cc:6243
+#: editor_ops.cc:6318
msgid "close region gaps"
msgstr ""
-#: editor_ops.cc:6461 route_ui.cc:1456
+#: editor_ops.cc:6543 route_ui.cc:1537
msgid "That would be bad news ...."
msgstr ""
-#: editor_ops.cc:6466 route_ui.cc:1461
+#: editor_ops.cc:6548 route_ui.cc:1542
msgid ""
"Removing the master or monitor bus is such a bad idea\n"
"that %1 is not going to allow it.\n"
@@ -5226,23 +5348,23 @@ msgstr ""
"подобные вещи, в файле ardour.rc измените значение параметра\n"
"\"allow-special-bus-removal\" на \"yes\""
-#: editor_ops.cc:6483
+#: editor_ops.cc:6565
msgid "tracks"
msgstr "дорожек"
-#: editor_ops.cc:6485 route_ui.cc:1821
+#: editor_ops.cc:6567 route_ui.cc:1978
msgid "track"
msgstr "дорожка"
-#: editor_ops.cc:6489
+#: editor_ops.cc:6571
msgid "busses"
msgstr "шин"
-#: editor_ops.cc:6491 route_ui.cc:1821
+#: editor_ops.cc:6573 route_ui.cc:1978
msgid "bus"
msgstr "шина"
-#: editor_ops.cc:6496
+#: editor_ops.cc:6578
msgid ""
"Do you really want to remove %1 %2 and %3 %4?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5254,7 +5376,7 @@ msgstr ""
"\n"
"Это дейÑтвие невозможно отменить, файл ÑеÑÑии будет перезапиÑан."
-#: editor_ops.cc:6501
+#: editor_ops.cc:6583
msgid ""
"Do you really want to remove %1 %2?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5266,7 +5388,7 @@ msgstr ""
"\n"
"Это дейÑтвие невозможно отменить, файл ÑеÑÑии будет перезапиÑан."
-#: editor_ops.cc:6507
+#: editor_ops.cc:6589
msgid ""
"Do you really want to remove %1 %2?\n"
"\n"
@@ -5276,123 +5398,139 @@ msgstr ""
"\n"
"Это дейÑтвие невозможно отменить, файл ÑеÑÑии будет перезапиÑан."
-#: editor_ops.cc:6514
+#: editor_ops.cc:6596
msgid "Yes, remove them."
msgstr "Да, удалить их."
-#: editor_ops.cc:6516 editor_snapshots.cc:159 route_ui.cc:1483
+#: editor_ops.cc:6598 editor_snapshots.cc:160 route_ui.cc:1564
msgid "Yes, remove it."
msgstr "Да, удалить"
-#: editor_ops.cc:6521 editor_ops.cc:6523
+#: editor_ops.cc:6603 editor_ops.cc:6605
msgid "Remove %1"
msgstr "Удалить %1"
-#: editor_ops.cc:6582
+#: editor_ops.cc:6668
msgid "insert time"
msgstr "вÑтавка времени"
-#: editor_ops.cc:6739
+#: editor_ops.cc:6832
msgid "There are too many tracks to fit in the current window"
msgstr "Такое количеÑтво дорожек в окне не помеÑтитÑÑ"
-#: editor_ops.cc:6839
+#: editor_ops.cc:6893
+msgid "Sel"
+msgstr ""
+
+#: editor_ops.cc:6932
#, c-format
msgid "Saved view %u"
msgstr "Сохраненный вид %u"
-#: editor_ops.cc:6864
+#: editor_ops.cc:6957
msgid "mute regions"
msgstr "приглушение облаÑтей"
-#: editor_ops.cc:6866
+#: editor_ops.cc:6959
msgid "mute region"
msgstr "приглушение облаÑти"
-#: editor_ops.cc:6903
+#: editor_ops.cc:6996
msgid "combine regions"
msgstr "объединение облаÑтей"
-#: editor_ops.cc:6941
+#: editor_ops.cc:7034
msgid "uncombine regions"
msgstr "разъединение облаÑтей"
-#: editor_regions.cc:111
-msgid "Region name, with number of channels in []'s"
+#: editor_ops.cc:7071
+msgid "%1: Locked"
+msgstr ""
+
+#: editor_ops.cc:7078
+msgid "Click to unlock"
+msgstr ""
+
+#: editor_ops.cc:7132
+msgid "Moving embedded files into session folder"
msgstr ""
#: editor_regions.cc:112
+msgid "Region name, with number of channels in []'s"
+msgstr ""
+
+#: editor_regions.cc:113
msgid "Position of start of region"
msgstr "Положение начала облаÑти"
-#: editor_regions.cc:113 editor_regions.cc:849 time_info_box.cc:98
+#: editor_regions.cc:114 editor_regions.cc:850 time_info_box.cc:101
msgid "End"
msgstr "Конец"
-#: editor_regions.cc:113
+#: editor_regions.cc:114
msgid "Position of end of region"
msgstr "Положение конца облаÑти"
-#: editor_regions.cc:114
+#: editor_regions.cc:115
msgid "Length of the region"
msgstr "ДлительноÑÑ‚ÑŒ облаÑти"
-#: editor_regions.cc:115
+#: editor_regions.cc:116
msgid "Position of region sync point, relative to start of the region"
msgstr ""
-#: editor_regions.cc:116
+#: editor_regions.cc:117
msgid "Length of region fade-in (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:117
-msgid "Length of region fade-out (units: secondary clock), () if dsisabled"
+#: editor_regions.cc:118
+msgid "Length of region fade-out (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:118 mixer_strip.cc:1985 mono_panner.cc:201
-#: panner2d.cc:235 stereo_panner.cc:243 stereo_panner.cc:266
+#: editor_regions.cc:119 mixer_strip.cc:2010 mono_panner.cc:204
+#: panner2d.cc:237 stereo_panner.cc:248 stereo_panner.cc:271
msgid "L"
msgstr "Л"
-#: editor_regions.cc:118
+#: editor_regions.cc:119
msgid "Region position locked?"
msgstr "ÐŸÐ¾Ð·Ð¸Ñ†Ð¸Ñ Ð¾Ð±Ð»Ð°Ñти заблокирована?"
-#: editor_regions.cc:119
+#: editor_regions.cc:120 route_time_axis.cc:99
msgid "G"
msgstr ""
-#: editor_regions.cc:119
+#: editor_regions.cc:120
msgid "Region position glued to Bars|Beats time?"
msgstr ""
-#: editor_regions.cc:120 editor_routes.cc:207 gain_meter.cc:762
-#: mixer_strip.cc:1962 meter_strip.cc:335 panner_ui.cc:584
-#: stereo_panner.cc:263
+#: editor_regions.cc:121 editor_routes.cc:209 gain_meter.cc:768
+#: mixer_strip.cc:1987 meter_strip.cc:359 panner_ui.cc:602
+#: route_time_axis.cc:2568 stereo_panner.cc:268 time_axis_view.cc:1156
msgid "M"
msgstr "Ð’"
-#: editor_regions.cc:120
+#: editor_regions.cc:121
msgid "Region muted?"
msgstr "ОблаÑÑ‚ÑŒ приглушена?"
-#: editor_regions.cc:121
+#: editor_regions.cc:122 mixer_strip.cc:1810
msgid "O"
msgstr "O"
-#: editor_regions.cc:121
+#: editor_regions.cc:122
msgid "Region opaque (blocks regions below it from being heard)?"
msgstr ""
-#: editor_regions.cc:310 editor_regions.cc:315 editor_regions.cc:317
+#: editor_regions.cc:311 editor_regions.cc:316 editor_regions.cc:318
msgid "Hidden"
msgstr "Скрытый"
-#: editor_regions.cc:389
+#: editor_regions.cc:390
msgid "(MISSING) "
msgstr ""
-#: editor_regions.cc:457
+#: editor_regions.cc:458
msgid ""
"Do you really want to remove unused regions?\n"
"(This is destructive and cannot be undone)"
@@ -5400,231 +5538,223 @@ msgstr ""
"Ð’Ñ‹ дейÑтвительно хотите удалить неиÑпользуемые облаÑти?\n"
"Отменить Ñто дейÑтвие будет невозможно."
-#: editor_regions.cc:461
+#: editor_regions.cc:462
msgid "Yes, remove."
msgstr "Да, удалить"
-#: editor_regions.cc:463
+#: editor_regions.cc:464
msgid "Remove unused regions"
msgstr "Удалить неиÑпользуемые облаÑти"
-#: editor_regions.cc:816 editor_regions.cc:830 editor_regions.cc:844
+#: editor_regions.cc:817 editor_regions.cc:831 editor_regions.cc:845
msgid "Mult."
msgstr ""
-#: editor_regions.cc:847 midi_list_editor.cc:103 time_info_box.cc:91
+#: editor_regions.cc:848 midi_list_editor.cc:103 time_info_box.cc:94
msgid "Start"
msgstr "Ðачало"
-#: editor_regions.cc:865 editor_regions.cc:881
+#: editor_regions.cc:866 editor_regions.cc:882
msgid "Multiple"
msgstr "ÐеÑколько"
-#: editor_regions.cc:950
+#: editor_regions.cc:951
msgid "MISSING "
msgstr ""
-#: editor_routes.cc:178 editor_routes.cc:210
+#: editor_routes.cc:180 editor_routes.cc:212
msgid "SS"
msgstr ""
-#: editor_routes.cc:202
+#: editor_routes.cc:204
msgid "Track/Bus Name"
msgstr "Ðазвание дорожи/шины"
-#: editor_routes.cc:203
+#: editor_routes.cc:205
msgid "Track/Bus visible ?"
msgstr "Дорожка или шина видима?"
-#: editor_routes.cc:204 mixer_strip.cc:1976 meter_strip.cc:349
-#: route_time_axis.cc:2409
+#: editor_routes.cc:206 mixer_strip.cc:2001 meter_strip.cc:371
+#: route_time_axis.cc:101 route_time_axis.cc:2556
msgid "A"
msgstr "A"
-#: editor_routes.cc:204
+#: editor_routes.cc:206
msgid "Track/Bus active ?"
msgstr "Дорожка или шина активна?"
-#: editor_routes.cc:205 mixer_strip.cc:1963 meter_strip.cc:357
+#: editor_routes.cc:207 mixer_strip.cc:1988 mixer_strip.cc:2009
+#: meter_strip.cc:379
msgid "I"
msgstr "Ð’Ð¥"
-#: editor_routes.cc:205
+#: editor_routes.cc:207
msgid "MIDI input enabled"
msgstr "Вход MIDI включен"
-#: editor_routes.cc:206 mixer_strip.cc:1961 mono_panner.cc:218 panner2d.cc:236
-#: stereo_panner.cc:241 stereo_panner.cc:268
+#: editor_routes.cc:208 mono_panner.cc:221 panner2d.cc:238
+#: stereo_panner.cc:246 stereo_panner.cc:273
msgid "R"
msgstr "П"
-#: editor_routes.cc:206
+#: editor_routes.cc:208
msgid "Record enabled"
msgstr "ГотовноÑÑ‚ÑŒ к запиÑи"
-#: editor_routes.cc:207
+#: editor_routes.cc:209
msgid "Muted"
msgstr ""
-#: editor_routes.cc:208 mixer_strip.cc:1972 meter_strip.cc:345
+#: editor_routes.cc:210 mixer_strip.cc:1997 meter_strip.cc:367
+#: route_time_axis.cc:2565
msgid "S"
msgstr "S"
-#: editor_routes.cc:208
+#: editor_routes.cc:210
msgid "Soloed"
msgstr "..."
-#: editor_routes.cc:209
+#: editor_routes.cc:211
msgid "SI"
msgstr ""
-#: editor_routes.cc:209 mixer_strip.cc:354 rc_option_editor.cc:1891
+#: editor_routes.cc:211
msgid "Solo Isolated"
msgstr "Изолирование Ñоло"
-#: editor_routes.cc:210
+#: editor_routes.cc:212
msgid "Solo Safe (Locked)"
msgstr ""
-#: editor_routes.cc:471 mixer_ui.cc:1162
+#: editor_routes.cc:474 mixer_ui.cc:1182
msgid "Hide All"
msgstr "Скрыть вÑÑ‘"
-#: editor_routes.cc:472 mixer_ui.cc:1163
+#: editor_routes.cc:475 mixer_ui.cc:1183
msgid "Show All Audio Tracks"
msgstr "Показать вÑе звуковые дорожки"
-#: editor_routes.cc:473 mixer_ui.cc:1164
+#: editor_routes.cc:476 mixer_ui.cc:1184
msgid "Hide All Audio Tracks"
msgstr "Скрыть вÑе звуковые дорожки"
-#: editor_routes.cc:474 mixer_ui.cc:1165
+#: editor_routes.cc:477 mixer_ui.cc:1185
msgid "Show All Audio Busses"
msgstr "Показать вÑе звуковые шины"
-#: editor_routes.cc:475 mixer_ui.cc:1166
+#: editor_routes.cc:478 mixer_ui.cc:1186
msgid "Hide All Audio Busses"
msgstr "Скрыть вÑе звуковые шины"
-#: editor_routes.cc:476
+#: editor_routes.cc:479
msgid "Show All Midi Tracks"
msgstr "Показать вÑе MIDI-дорожки"
-#: editor_routes.cc:477
+#: editor_routes.cc:480
msgid "Hide All Midi Tracks"
msgstr "Скрыть вÑе MIDI-дорожки"
-#: editor_routes.cc:478
+#: editor_routes.cc:481
msgid "Show Tracks With Regions Under Playhead"
msgstr ""
-#: editor_rulers.cc:340
+#: editor_rulers.cc:216
msgid "New location marker"
msgstr "Создать маркер позиции"
-#: editor_rulers.cc:341
+#: editor_rulers.cc:217
msgid "Clear all locations"
msgstr "Стереть вÑе маркеры позиций"
-#: editor_rulers.cc:342
+#: editor_rulers.cc:218
msgid "Unhide locations"
msgstr "РаÑкрыть позиции"
-#: editor_rulers.cc:346
+#: editor_rulers.cc:222
msgid "New range"
msgstr "Создать маркеры выделениÑ"
-#: editor_rulers.cc:347
+#: editor_rulers.cc:223
msgid "Clear all ranges"
msgstr "Стереть вÑе маркеры выделениÑ"
-#: editor_rulers.cc:348
+#: editor_rulers.cc:224
msgid "Unhide ranges"
msgstr "РаÑкрыть маркеры выделениÑ"
-#: editor_rulers.cc:358
+#: editor_rulers.cc:234
msgid "New CD track marker"
msgstr "Создать маркер дорожки CD"
-#: editor_rulers.cc:363 tempo_dialog.cc:40
+#: editor_rulers.cc:239 tempo_dialog.cc:39
msgid "New Tempo"
msgstr "Ð’Ñтавить новый темп"
-#: editor_rulers.cc:368 tempo_dialog.cc:255
+#: editor_rulers.cc:243 tempo_dialog.cc:289
msgid "New Meter"
msgstr "Ð’Ñтавить новый размер"
-#: editor_rulers.cc:373
+#: editor_rulers.cc:247
msgid "Timeline height"
msgstr "Ð’Ñ‹Ñота видеолинейки"
-#: editor_rulers.cc:383
+#: editor_rulers.cc:257
msgid "Align Video Track"
msgstr "ВыровнÑÑ‚ÑŒ видеодорожку"
-#: editor_selection.cc:889 editor_selection.cc:932
+#: editor_selection.cc:895 editor_selection.cc:938
msgid "set selected regions"
msgstr ""
-#: editor_selection.cc:1414
+#: editor_selection.cc:1417
msgid "select all"
msgstr "Выделить вÑÑ‘"
-#: editor_selection.cc:1506
+#: editor_selection.cc:1511
msgid "select all within"
msgstr ""
-#: editor_selection.cc:1564
+#: editor_selection.cc:1569
msgid "set selection from range"
msgstr "Ñоздание Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ð· облаÑти"
-#: editor_selection.cc:1604
+#: editor_selection.cc:1609
msgid "select all from range"
msgstr "выделение вÑего в облаÑти"
-#: editor_selection.cc:1635
+#: editor_selection.cc:1640
msgid "select all from punch"
msgstr "выделение вÑего во врезке"
-#: editor_selection.cc:1666
+#: editor_selection.cc:1671
msgid "select all from loop"
msgstr "выделение вÑего в петле"
-#: editor_selection.cc:1702
+#: editor_selection.cc:1707
msgid "select all after cursor"
msgstr "выделение вÑего поÑле указателÑ"
-#: editor_selection.cc:1704
+#: editor_selection.cc:1709
msgid "select all before cursor"
msgstr "выделение вÑего перед указателем"
-#: editor_selection.cc:1753
+#: editor_selection.cc:1758
msgid "select all after edit"
msgstr "выделение вÑего поÑле курÑора"
-#: editor_selection.cc:1755
+#: editor_selection.cc:1760
msgid "select all before edit"
msgstr "выделение вÑего до курÑора"
-#: editor_selection.cc:1888
-msgid "No edit range defined"
-msgstr ""
-
-#: editor_selection.cc:1894
-msgid ""
-"the edit point is Selected Marker\n"
-"but there is no selected marker."
-msgstr ""
-
-#: editor_snapshots.cc:136
+#: editor_snapshots.cc:137
msgid "Rename Snapshot"
msgstr "Переименовать Ñнимок"
-#: editor_snapshots.cc:138
+#: editor_snapshots.cc:139
msgid "New name of snapshot"
msgstr "Ðовое название Ñнимка"
-#: editor_snapshots.cc:156
+#: editor_snapshots.cc:157
msgid ""
"Do you really want to remove snapshot \"%1\" ?\n"
"(which cannot be undone)"
@@ -5632,50 +5762,35 @@ msgstr ""
"Ð’Ñ‹ дейÑтвительно хотите удалить Ñнимок «%1»?\n"
"Это дейÑтвие невозможно отменить."
-#: editor_snapshots.cc:161
+#: editor_snapshots.cc:162
msgid "Remove snapshot"
msgstr "Удалить Ñнимок"
-#: editor_tempodisplay.cc:208 editor_tempodisplay.cc:250
+#: editor_tempodisplay.cc:193 editor_tempodisplay.cc:235
msgid "add"
msgstr "добавить"
-#: editor_tempodisplay.cc:231
+#: editor_tempodisplay.cc:216
msgid "add tempo mark"
msgstr "добавка маркер темпа"
-#: editor_tempodisplay.cc:272
+#: editor_tempodisplay.cc:257
msgid "add meter mark"
msgstr "добавка маркера размера"
-#: editor_tempodisplay.cc:288 editor_tempodisplay.cc:367
-#: editor_tempodisplay.cc:386
-msgid ""
-"programming error: tempo marker canvas item has no marker object pointer!"
-msgstr ""
-"ошибка в программе: tempo marker canvas item has no marker object pointer!"
-
-#: editor_tempodisplay.cc:293 editor_tempodisplay.cc:372
-msgid "programming error: marker for tempo is not a tempo marker!"
-msgstr "ошибка в программе: marker for tempo is not a tempo marker!"
-
-#: editor_tempodisplay.cc:305 editor_tempodisplay.cc:335
+#: editor_tempodisplay.cc:290 editor_tempodisplay.cc:320
msgid "done"
msgstr "готово"
-#: editor_tempodisplay.cc:324 editor_tempodisplay.cc:352
+#: editor_tempodisplay.cc:309 editor_tempodisplay.cc:337
msgid "replace tempo mark"
msgstr "замена маркера темпа"
-#: editor_tempodisplay.cc:391 editor_tempodisplay.cc:423
-msgid "programming error: marker for meter is not a meter marker!"
-msgstr "Ошибка в программе: маркер размера таковым не ÑвлÑетÑÑ!"
-
-#: editor_tempodisplay.cc:401 editor_tempodisplay.cc:435
+#: editor_tempodisplay.cc:360 editor_tempodisplay.cc:394
msgid "remove tempo mark"
msgstr "удаление маркера темпа"
-#: editor_tempodisplay.cc:418
+#: editor_tempodisplay.cc:377
msgid ""
"programming error: meter marker canvas item has no marker object pointer!"
msgstr ""
@@ -5693,31 +5808,35 @@ msgstr "Ñмена выÑоты тона"
msgid "timefx cannot be started - thread creation error"
msgstr ""
-#: engine_dialog.cc:79
+#: engine_dialog.cc:81
msgid "Device Control Panel"
msgstr "Панель ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑƒÑтройÑтвом"
-#: engine_dialog.cc:80 engine_dialog.cc:1717
+#: engine_dialog.cc:82
+msgid "Midi Device Setup"
+msgstr ""
+
+#: engine_dialog.cc:83 engine_dialog.cc:1999
msgid "Measure"
msgstr "Измерить"
-#: engine_dialog.cc:81
+#: engine_dialog.cc:84
msgid "Use results"
msgstr "ИÑпользовать результаты"
-#: engine_dialog.cc:82
+#: engine_dialog.cc:85
msgid "Back to settings ... (ignore results)"
msgstr "Закрыть и не иÑпользовать"
-#: engine_dialog.cc:83
-msgid "Calibrate..."
-msgstr "Откалибровать..."
+#: engine_dialog.cc:86
+msgid "Calibrate Audio"
+msgstr ""
-#: engine_dialog.cc:87
-msgid "Refresh list"
-msgstr "Обновить ÑпиÑок"
+#: engine_dialog.cc:90
+msgid "Back to settings"
+msgstr ""
-#: engine_dialog.cc:106
+#: engine_dialog.cc:108
msgid ""
"No audio/MIDI backends detected. %1 cannot run\n"
"\n"
@@ -5728,7 +5847,7 @@ msgstr ""
msgid "Latency Measurement Tool"
msgstr "ТеÑтирование задержки отклика"
-#: engine_dialog.cc:150
+#: engine_dialog.cc:147 engine_dialog.cc:561
msgid ""
"<span weight=\"bold\">Turn down the volume on your audio equipment to a very "
"low level.</span>"
@@ -5736,81 +5855,81 @@ msgstr ""
"<span weight=\"bold\">Уберите громкоÑÑ‚ÑŒ выхода звуковой карты до минимума.</"
"span>"
-#: engine_dialog.cc:158
+#: engine_dialog.cc:156
msgid "Select two channels below and connect them using a cable."
msgstr "Выберите ниже два канала и Ñоедините их кабелем."
-#: engine_dialog.cc:163
+#: engine_dialog.cc:161
msgid "Output channel"
msgstr "Канал выхода"
-#: engine_dialog.cc:171
+#: engine_dialog.cc:169
msgid "Input channel"
msgstr "Канал входа"
-#: engine_dialog.cc:206
+#: engine_dialog.cc:204
msgid "Once the channels are connected, click the \"Measure\" button."
msgstr "Соединив каналы, нажмите кнопку «Измерить»."
-#: engine_dialog.cc:213
+#: engine_dialog.cc:211
msgid "When satisfied with the results, click the \"Use results\" button."
msgstr ""
"ЕÑли результат Ð²Ð°Ñ ÑƒÑтраивает, нажмите кнопку «ИÑпользовать результаты»."
-#: engine_dialog.cc:228 engine_dialog.cc:1719
+#: engine_dialog.cc:226 engine_dialog.cc:2107 engine_dialog.cc:2117
msgid "No measurement results yet"
msgstr "Пока нет результатов измерениÑ"
-#: engine_dialog.cc:237 route_params_ui.cc:105
+#: engine_dialog.cc:236 route_params_ui.cc:105
msgid "Latency"
msgstr "Задержка отклика"
-#: engine_dialog.cc:334
+#: engine_dialog.cc:351
msgid "Audio System:"
msgstr "Ð—Ð²ÑƒÐºÐ¾Ð²Ð°Ñ Ð¿Ð¾Ð´ÑиÑтема:"
-#: engine_dialog.cc:375
+#: engine_dialog.cc:394
msgid "Driver:"
msgstr "Драйвер:"
-#: engine_dialog.cc:381
+#: engine_dialog.cc:400
msgid "Device:"
msgstr "УÑтройÑтво:"
-#: engine_dialog.cc:386 engine_dialog.cc:476 sfdb_ui.cc:150 sfdb_ui.cc:308
-#: sfdb_ui.cc:313
+#: engine_dialog.cc:405 engine_dialog.cc:496 sfdb_ui.cc:151 sfdb_ui.cc:341
+#: sfdb_ui.cc:346
msgid "Sample rate:"
msgstr "ЧаÑтота ÑÑмплированиÑ:"
-#: engine_dialog.cc:392 engine_dialog.cc:483
+#: engine_dialog.cc:411 engine_dialog.cc:503
msgid "Buffer size:"
msgstr "Размер буфера:"
-#: engine_dialog.cc:405
+#: engine_dialog.cc:424
msgid "Input Channels:"
msgstr "Каналов входа:"
-#: engine_dialog.cc:416
+#: engine_dialog.cc:435
msgid "Output Channels:"
msgstr "Каналов выхода:"
-#: engine_dialog.cc:427
+#: engine_dialog.cc:446
msgid "Hardware input latency:"
msgstr "Задержка аппаратных входов:"
-#: engine_dialog.cc:430 engine_dialog.cc:443
+#: engine_dialog.cc:449 engine_dialog.cc:462
msgid "samples"
msgstr "ÑÑмплов"
-#: engine_dialog.cc:440
+#: engine_dialog.cc:459
msgid "Hardware output latency:"
msgstr "Задержка аппаратных выходов:"
-#: engine_dialog.cc:451
+#: engine_dialog.cc:470
msgid "MIDI System"
msgstr "ПодÑиÑтема MIDI"
-#: engine_dialog.cc:468
+#: engine_dialog.cc:488
msgid ""
"The %1 audio backend was configured and started externally.\n"
"This limits your control over it."
@@ -5818,100 +5937,140 @@ msgstr ""
"Ð—Ð²ÑƒÐºÐ¾Ð²Ð°Ñ Ð¿Ð¾Ð´ÑиÑтема %1 была наÑтроена и запущена извне.\n"
"Ð’Ñ‹ не Ñможете полноÑтью контролировать её."
-#: engine_dialog.cc:522
+#: engine_dialog.cc:543
+msgid ""
+"Failed to start or connect to audio-engine.\n"
+"\n"
+"Latency calibration requires a working audio interface."
+msgstr ""
+
+#: engine_dialog.cc:549
msgid ""
"Your selected audio configuration is playback- or capture-only.\n"
"\n"
"Latency calibration requires playback and capture"
msgstr ""
-#: engine_dialog.cc:596
-msgid "MIDI Inputs"
-msgstr "MIDI-входы"
+#: engine_dialog.cc:630
+msgid "MIDI Devices"
+msgstr ""
+
+#: engine_dialog.cc:636
+msgid "Device"
+msgstr ""
+
+#: engine_dialog.cc:638
+msgid "Hardware Latencies"
+msgstr ""
-#: engine_dialog.cc:613
-msgid "MIDI Outputs"
-msgstr "MIDI-выходы"
+#: engine_dialog.cc:679
+msgid "Calibrate"
+msgstr ""
-#: engine_dialog.cc:697
+#: engine_dialog.cc:761
msgid "all available channels"
msgstr "вÑе доÑтупные каналы"
-#: engine_dialog.cc:887
+#: engine_dialog.cc:954
#, c-format
msgid "%u samples"
msgstr "%u ÑÑмплов"
-#: engine_dialog.cc:938
+#: engine_dialog.cc:1001
#, c-format
msgid "(%.1f msecs)"
msgstr "(%.1f мÑ)"
-#: engine_dialog.cc:1381
+#: engine_dialog.cc:1510
+msgid "Could not start backend engine %1"
+msgstr ""
+
+#: engine_dialog.cc:1561
msgid "Cannot set driver to %1"
msgstr "Ðевозможно иÑпользовать %1 в качеÑтве драйвера."
-#: engine_dialog.cc:1385
+#: engine_dialog.cc:1565
msgid "Cannot set device name to %1"
msgstr "Ðевозможно %1 в имени уÑтройÑтва."
-#: engine_dialog.cc:1389
+#: engine_dialog.cc:1569
msgid "Cannot set sample rate to %1"
msgstr "Ðевозможно иÑпользовать %1 в чаÑтоты ÑÑмплированиÑ."
-#: engine_dialog.cc:1393
+#: engine_dialog.cc:1573
msgid "Cannot set buffer size to %1"
msgstr "Ðевозможно иÑпользовать %1 в размера буфера."
-#: engine_dialog.cc:1399
+#: engine_dialog.cc:1579
msgid "Cannot set input channels to %1"
msgstr ""
-#: engine_dialog.cc:1403
+#: engine_dialog.cc:1583
msgid "Cannot set output channels to %1"
msgstr ""
-#: engine_dialog.cc:1409
+#: engine_dialog.cc:1589
msgid "Cannot set input latency to %1"
msgstr ""
-#: engine_dialog.cc:1413
+#: engine_dialog.cc:1593
msgid "Cannot set output latency to %1"
msgstr ""
-#: engine_dialog.cc:1646
+#: engine_dialog.cc:1858 engine_dialog.cc:1917
msgid "No signal detected "
msgstr "Сигнал не обнаружен"
-#: engine_dialog.cc:1659 port_insert_ui.cc:71 port_insert_ui.cc:99
+#: engine_dialog.cc:1871 engine_dialog.cc:1925 port_insert_ui.cc:70
+#: port_insert_ui.cc:98
msgid "Disconnected from audio engine"
msgstr "Выполнено отÑоединение от звукового движка"
-#: engine_dialog.cc:1673
+#: engine_dialog.cc:1880 engine_dialog.cc:1933
+msgid "Detected roundtrip latency: "
+msgstr ""
+
+#: engine_dialog.cc:1882 engine_dialog.cc:1935
+msgid "Systemic latency: "
+msgstr ""
+
+#: engine_dialog.cc:1889
msgid "(signal detection error)"
msgstr "(ошибка Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ñигнала)"
-#: engine_dialog.cc:1679
+#: engine_dialog.cc:1895
msgid "(inverted - bad wiring)"
msgstr ""
-#: engine_dialog.cc:1689
-msgid "Detected roundtrip latency: %1"
-msgstr "Обнаружена цикличеÑÐºÐ°Ñ Ð·Ð°Ð´ÐµÑ€Ð¶ÐºÐ° отклика: %1"
+#: engine_dialog.cc:1942
+msgid "(averaging)"
+msgstr ""
+
+#: engine_dialog.cc:1948
+msgid "(too large jitter)"
+msgstr ""
-#: engine_dialog.cc:1701 port_insert_ui.cc:135
+#: engine_dialog.cc:1952
+msgid "(large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1963
+msgid "Timeout - large MIDI jitter."
+msgstr ""
+
+#: engine_dialog.cc:1979 port_insert_ui.cc:134
msgid "Detecting ..."
msgstr "ВыполнÑетÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ..."
-#: engine_dialog.cc:1781
+#: engine_dialog.cc:2073
msgid "Disconnect from %1"
msgstr "ОтÑоединить от %1"
-#: engine_dialog.cc:1793
+#: engine_dialog.cc:2085
msgid "Connect to %1"
msgstr "Соединить Ñ %1"
-#: export_channel_selector.cc:45 sfdb_ui.cc:148
+#: export_channel_selector.cc:45 sfdb_ui.cc:149
msgid "Channels:"
msgstr "Каналов:"
@@ -5953,58 +6112,58 @@ msgstr ""
msgid "List files"
msgstr ""
-#: export_dialog.cc:164 export_timespan_selector.cc:355
-#: export_timespan_selector.cc:417
+#: export_dialog.cc:158 export_format_dialog.cc:59
+msgid "File format"
+msgstr "Формат"
+
+#: export_dialog.cc:159 export_timespan_selector.cc:374
+#: export_timespan_selector.cc:436
msgid "Time Span"
msgstr "Отрезок времени"
-#: export_dialog.cc:176
+#: export_dialog.cc:160
msgid "Channels"
msgstr "Каналы"
-#: export_dialog.cc:187
-msgid "Time span and channel options"
-msgstr "Параметры отрезка времени и каналов"
-
-#: export_dialog.cc:221
+#: export_dialog.cc:182
msgid ""
"Export has been aborted due to an error!\n"
"See the Log for details."
msgstr ""
-#: export_dialog.cc:290
+#: export_dialog.cc:251
msgid "Files that will be overwritten"
msgstr "Файлы будут перезапиÑаны"
-#: export_dialog.cc:311
+#: export_dialog.cc:296
msgid "Export initialization failed: %1"
msgstr ""
-#: export_dialog.cc:321
+#: export_dialog.cc:306
msgid "Stop Export"
msgstr "ОÑтановить ÑкÑпорт"
-#: export_dialog.cc:342
+#: export_dialog.cc:327
msgid "export"
msgstr "ÑкÑпорт"
-#: export_dialog.cc:361
+#: export_dialog.cc:346
msgid "Normalizing '%3' (timespan %1 of %2)"
msgstr "ВыполнÑетÑÑ Ð½Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²ÐºÐ° '%3' (временной отрезок %1 из %2)"
-#: export_dialog.cc:365
+#: export_dialog.cc:350
msgid "Exporting '%3' (timespan %1 of %2)"
msgstr "ЭкÑпортируетÑÑ '%3' (отрезок времени %1 из %2)"
-#: export_dialog.cc:388 export_dialog.cc:390
+#: export_dialog.cc:373 export_dialog.cc:375
msgid "<span color=\"#ffa755\">Error: "
msgstr "<span color=\"#ffa755\">Ошибка: "
-#: export_dialog.cc:400
+#: export_dialog.cc:385
msgid "<span color=\"#ffa755\">Warning: "
msgstr "<span color=\"#ffa755\">Предупреждение: "
-#: export_dialog.cc:402
+#: export_dialog.cc:387
msgid ""
"\n"
"<span color=\"#ffa755\">Warning: "
@@ -6012,39 +6171,43 @@ msgstr ""
"\n"
"<span color=\"#ffa755\">Предупреждение: "
-#: export_dialog.cc:425
+#: export_dialog.cc:411
msgid "Export Selection"
msgstr "ЭкÑпортировать выделение"
-#: export_dialog.cc:438
+#: export_dialog.cc:425
msgid "Export Region"
msgstr "ЭкÑпортировать облаÑÑ‚ÑŒ"
-#: export_dialog.cc:448
+#: export_dialog.cc:434
msgid "Source"
msgstr "ИÑточник"
-#: export_dialog.cc:463
+#: export_dialog.cc:450
msgid "Stem Export"
msgstr "ЭкÑпортировать каждую дорожку в Ñвой файл"
-#: export_file_notebook.cc:38
+#: export_file_notebook.cc:39
msgid "Add another format"
msgstr "Добавить другой формат"
-#: export_file_notebook.cc:178
+#: export_file_notebook.cc:193
msgid "Format"
msgstr "Формат"
-#: export_file_notebook.cc:179
+#: export_file_notebook.cc:194
msgid "Location"
msgstr "РаÑположение"
-#: export_file_notebook.cc:255
+#: export_file_notebook.cc:195
+msgid "Upload to Soundcloud"
+msgstr ""
+
+#: export_file_notebook.cc:273
msgid "No format!"
msgstr "формат не выбран!"
-#: export_file_notebook.cc:267
+#: export_file_notebook.cc:291
msgid "Format %1: %2"
msgstr "Формат %1: %2"
@@ -6065,9 +6228,9 @@ msgid "Folder:"
msgstr "Папка:"
#: export_filename_selector.cc:37 session_import_dialog.cc:44
-#: transcode_video_dialog.cc:58 video_server_dialog.cc:45
-#: video_server_dialog.cc:47 export_video_dialog.cc:68
-#: export_video_dialog.cc:70
+#: transcode_video_dialog.cc:59 video_server_dialog.cc:59
+#: video_server_dialog.cc:61 export_video_dialog.cc:69
+#: export_video_dialog.cc:71
msgid "Browse"
msgstr "Указать"
@@ -6128,67 +6291,69 @@ msgstr "Отрезать тишину в начале"
msgid "Add silence at end:"
msgstr "Добавить тишину в конец:"
-#: export_format_dialog.cc:55
+#: export_format_dialog.cc:54
+msgid ""
+"Command to run post-export\n"
+"(%f=full path & filename, %d=directory, %b=basename):"
+msgstr ""
+
+#: export_format_dialog.cc:57
msgid "Compatibility"
msgstr "СовмеÑтимоÑÑ‚ÑŒ"
-#: export_format_dialog.cc:56
+#: export_format_dialog.cc:58
msgid "Quality"
msgstr "КачеÑтво"
-#: export_format_dialog.cc:57
-msgid "File format"
-msgstr "Формат"
-
-#: export_format_dialog.cc:59
+#: export_format_dialog.cc:61
msgid "Sample rate conversion quality:"
msgstr "КачеÑтво Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‡Ð°Ñтоты ÑÑмплированиÑ:"
-#: export_format_dialog.cc:66
+#: export_format_dialog.cc:68
msgid "Dithering"
msgstr "Подмешивание шума"
-#: export_format_dialog.cc:68
+#: export_format_dialog.cc:70
msgid "Create CUE file for disk-at-once CD/DVD creation"
msgstr "ЗапиÑать файл CUE Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ CD/DVD"
-#: export_format_dialog.cc:69
+#: export_format_dialog.cc:71
msgid "Create TOC file for disk-at-once CD/DVD creation"
msgstr "ЗапиÑать файл TOC Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ CD/DVD"
-#: export_format_dialog.cc:71
+#: export_format_dialog.cc:73
msgid "Tag file with session's metadata"
msgstr "Добавить в файла метаданные ÑеÑÑии"
-#: export_format_dialog.cc:461
+#: export_format_dialog.cc:470
msgid "Best (sinc)"
msgstr "Ðаилучшее (sinc)"
-#: export_format_dialog.cc:466
+#: export_format_dialog.cc:475
msgid "Medium (sinc)"
msgstr "Среднее (sinc)"
-#: export_format_dialog.cc:471
+#: export_format_dialog.cc:480
msgid "Fast (sinc)"
msgstr "БыÑтро (sinc)"
-#: export_format_dialog.cc:481
+#: export_format_dialog.cc:490
msgid "Zero order hold"
msgstr ""
-#: export_format_dialog.cc:879
+#: export_format_dialog.cc:895
msgid "Linear encoding options"
msgstr "Параметры линейного кодированиÑ"
-#: export_format_dialog.cc:895
+#: export_format_dialog.cc:911
msgid "Ogg Vorbis options"
msgstr "Параметры Ogg Vorbis"
-#: export_format_dialog.cc:906
+#: export_format_dialog.cc:922
msgid "FLAC options"
msgstr "Параметры FLAC"
-#: export_format_dialog.cc:923
+#: export_format_dialog.cc:939
msgid "Broadcast Wave options"
msgstr "Параметры Broadcast Wave"
@@ -6214,11 +6379,15 @@ msgstr "Ð’Ñ‹ дейÑтвительно хотите удалить Ñтот пÑ
msgid "Show Times as:"
msgstr "Показать Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº:"
-#: export_timespan_selector.cc:204
+#: export_timespan_selector.cc:53 processor_box.cc:2510
+msgid "Select All"
+msgstr "Выделить вÑÑ‘"
+
+#: export_timespan_selector.cc:223
msgid " to "
msgstr " до "
-#: export_timespan_selector.cc:348 export_timespan_selector.cc:407
+#: export_timespan_selector.cc:367 export_timespan_selector.cc:426
msgid "Range"
msgstr "Диапазон"
@@ -6234,172 +6403,140 @@ msgstr ""
msgid "getSoundResourceFile: root = %1, != response"
msgstr ""
-#: sfdb_freesound_mootcher.cc:410
+#: sfdb_freesound_mootcher.cc:410 rc_option_editor.cc:1729
msgid "%1"
msgstr "%1"
-#: gain_meter.cc:106 gain_meter.cc:360 gain_meter.cc:465 gain_meter.cc:859
+#: gain_meter.cc:106 gain_meter.cc:366 gain_meter.cc:471 gain_meter.cc:865
msgid "-inf"
msgstr "-inf"
-#: gain_meter.cc:112 gain_meter.cc:921
+#: gain_meter.cc:113 gain_meter.cc:927
msgid "Fader automation mode"
msgstr "Режим автоматизации фейдера"
-#: gain_meter.cc:113 gain_meter.cc:922
+#: gain_meter.cc:114 gain_meter.cc:928
msgid "Fader automation type"
msgstr "Тип автоматизации фейдера"
-#: gain_meter.cc:122 gain_meter.cc:798 panner_ui.cc:178 panner_ui.cc:620
+#: gain_meter.cc:123 gain_meter.cc:804 panner_ui.cc:178 panner_ui.cc:638
msgid "Abs"
msgstr "ÐбÑ"
-#: gain_meter.cc:765 mixer_strip.cc:1979 meter_strip.cc:352 panner_ui.cc:587
-#: route_time_axis.cc:2413
+#: gain_meter.cc:771 mixer_strip.cc:2004 meter_strip.cc:374 panner_ui.cc:605
+#: route_time_axis.cc:100 route_time_axis.cc:2560
msgid "P"
msgstr "P"
-#: gain_meter.cc:768 panner_ui.cc:590
+#: gain_meter.cc:774 panner_ui.cc:608
msgid "T"
msgstr "К"
-#: gain_meter.cc:771 panner_ui.cc:593
+#: gain_meter.cc:777 panner_ui.cc:611
msgid "W"
msgstr "З"
-#: generic_pluginui.cc:81
+#: generic_pluginui.cc:79
msgid "<span size=\"large\">Presets</span>"
msgstr "<span size=\"large\">Профили</span>"
-#: generic_pluginui.cc:230
+#: generic_pluginui.cc:228
msgid "Switches"
msgstr "Переключатели"
-#: generic_pluginui.cc:240 generic_pluginui.cc:374 processor_box.cc:2445
+#: generic_pluginui.cc:238 generic_pluginui.cc:372 processor_box.cc:2484
msgid "Controls"
msgstr "Управление"
-#: generic_pluginui.cc:268
+#: generic_pluginui.cc:266
msgid "Plugin Editor: could not build control element for port %1"
msgstr "Редактор модулей: невозможно Ñоздать управлÑющий Ñлемент Ð´Ð»Ñ Ð¿Ð¾Ñ€Ñ‚Ð° %1"
-#: generic_pluginui.cc:406
+#: generic_pluginui.cc:404
msgid "Meters"
msgstr "Индикаторы уровнÑ"
-#: generic_pluginui.cc:421
+#: generic_pluginui.cc:419
msgid "Automation control"
msgstr "Контроль автоматизации"
-#: generic_pluginui.cc:428
+#: generic_pluginui.cc:426
msgid "Mgnual"
msgstr ""
-#: global_port_matrix.cc:157
+#: global_port_matrix.cc:158
msgid "Audio Connection Manager"
msgstr "Управление звуковыми ÑоединениÑми"
-#: global_port_matrix.cc:160
+#: global_port_matrix.cc:161
msgid "MIDI Connection Manager"
msgstr "Управление MIDI-ÑоединениÑми"
-#: global_port_matrix.cc:200 io_selector.cc:210 mixer_strip.cc:723
-#: mixer_strip.cc:849
+#: global_port_matrix.cc:201 io_selector.cc:211 mixer_strip.cc:799
+#: mixer_strip.cc:895
msgid "Disconnect"
msgstr "ОтÑоединить"
-#: global_port_matrix.cc:206 io_selector.cc:216
+#: global_port_matrix.cc:207 io_selector.cc:217
msgid "port"
msgstr "порт"
-#: group_tabs.cc:308
+#: group_tabs.cc:312
msgid "Selection..."
msgstr "ВыделениÑ..."
-#: group_tabs.cc:309
+#: group_tabs.cc:313
msgid "Record Enabled..."
msgstr "Готовых к запиÑи..."
-#: group_tabs.cc:310
+#: group_tabs.cc:314
msgid "Soloed..."
msgstr "Солирующих..."
-#: group_tabs.cc:316
+#: group_tabs.cc:320
msgid "Create New Group ..."
msgstr "Создать группу..."
-#: group_tabs.cc:317
+#: group_tabs.cc:321
msgid "Create New Group From"
msgstr "Создать группу из"
-#: group_tabs.cc:320
+#: group_tabs.cc:324
msgid "Edit Group..."
msgstr "Изменить группу..."
-#: group_tabs.cc:321
+#: group_tabs.cc:325
msgid "Collect Group"
msgstr "Собрать группу"
-#: group_tabs.cc:322
+#: group_tabs.cc:326
msgid "Remove Group"
msgstr "Удалить группу"
-#: group_tabs.cc:325
+#: group_tabs.cc:329
msgid "Remove Subgroup Bus"
msgstr "Удалить шину подгруппы"
-#: group_tabs.cc:327
+#: group_tabs.cc:331
msgid "Add New Subgroup Bus"
msgstr "Добавить новую шину подгруппы"
-#: group_tabs.cc:329
+#: group_tabs.cc:333
msgid "Add New Aux Bus (pre-fader)"
msgstr "Добавить новую внешнюю шину (до фейдера)"
-#: group_tabs.cc:330
+#: group_tabs.cc:334
msgid "Add New Aux Bus (post-fader)"
msgstr "Добавить новую внешнюю шину (поÑле фейдера)"
-#: group_tabs.cc:336
+#: group_tabs.cc:340
msgid "Enable All Groups"
msgstr "Включить вÑе группы"
-#: group_tabs.cc:337
+#: group_tabs.cc:341
msgid "Disable All Groups"
msgstr "Отключить вÑе группы"
-#: gtk-custom-ruler.c:133
-msgid "Lower limit of ruler"
-msgstr "Ðижний предел линейки"
-
-#: gtk-custom-ruler.c:142
-msgid "Upper"
-msgstr "Выше"
-
-#: gtk-custom-ruler.c:143
-msgid "Upper limit of ruler"
-msgstr "Верхний предел линейки"
-
-#: gtk-custom-ruler.c:153
-msgid "Position of mark on the ruler"
-msgstr "Положение маркера на линейке"
-
-#: gtk-custom-ruler.c:162
-msgid "Max Size"
-msgstr "МакÑ. размер"
-
-#: gtk-custom-ruler.c:163
-msgid "Maximum size of the ruler"
-msgstr "МакÑ. размер линейки"
-
-#: gtk-custom-ruler.c:172
-msgid "Show Position"
-msgstr "Показать положение"
-
-#: gtk-custom-ruler.c:173
-msgid "Draw current ruler position"
-msgstr "ÐариÑовать текущее положение на линейке"
-
#: insert_time_dialog.cc:46
msgid "Time to insert:"
msgstr "Ð’ÑтавлÑемый промежуток времени:"
@@ -6456,28 +6593,28 @@ msgstr "Ð’Ñтавить"
msgid "Importing file: %1 of %2"
msgstr "ИмпортируетÑÑ Ñ„Ð°Ð¹Ð»: %1 из %2"
-#: io_selector.cc:220
+#: io_selector.cc:221
msgid "I/O selector"
msgstr "Выбор входов и выходов"
-#: io_selector.cc:265
+#: io_selector.cc:266
msgid "%1 input"
msgstr "%1 вход"
-#: io_selector.cc:267
+#: io_selector.cc:268
msgid "%1 output"
msgstr "%1 выход"
-#: keyboard.cc:66
+#: keyboard.cc:70
msgid "your own"
msgstr ""
-#: keyboard.cc:129 keyboard.cc:153
+#: keyboard.cc:133 keyboard.cc:157
msgid "Default keybindings not found - %1 will be hard to use!"
msgstr ""
"ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ð¹ клавиш недоÑтупна, работать Ñ %1 будет непроÑто!"
-#: keyboard.cc:132 keyboard.cc:156
+#: keyboard.cc:136
msgid "Key bindings file \"%1\" not found. Default bindings used instead"
msgstr ""
@@ -6493,27 +6630,31 @@ msgstr "ДейÑтвие"
msgid "Shortcut"
msgstr "ÐšÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñˆ"
-#: keyeditor.cc:86
+#: keyeditor.cc:85
msgid "Select an action, then press the key(s) to (re)set its shortcut"
msgstr "Выберите дейÑтвие и нажмите комбинацию клавиш Ð´Ð»Ñ Ð½ÐµÐ³Ð¾"
-#: keyeditor.cc:251
+#: keyeditor.cc:99
+msgid "Reset Bindings to Defaults"
+msgstr ""
+
+#: keyeditor.cc:260
msgid "Main_menu"
msgstr ""
-#: keyeditor.cc:253
+#: keyeditor.cc:262
msgid "redirectmenu"
msgstr ""
-#: keyeditor.cc:255
+#: keyeditor.cc:264
msgid "Editor_menus"
msgstr ""
-#: keyeditor.cc:257
+#: keyeditor.cc:266
msgid "RegionList"
msgstr ""
-#: keyeditor.cc:259
+#: keyeditor.cc:268
msgid "ProcessorMenu"
msgstr ""
@@ -6536,132 +6677,107 @@ msgstr[0] "%1 ÑÑмпл"
msgstr[1] "%1 ÑÑмпла"
msgstr[2] "%1 ÑÑмплов"
-#: latency_gui.cc:72 panner_ui.cc:387
+#: latency_gui.cc:72 panner_ui.cc:408
msgid "Reset"
msgstr "СброÑить"
-#: latency_gui.cc:151 rhythm_ferret.cc:274 sfdb_ui.cc:1814
+#: latency_gui.cc:149 rhythm_ferret.cc:273 sfdb_ui.cc:1893
msgid "programming error: %1 (%2)"
msgstr "Ошибка в программе: %1 (%2)"
-#: location_ui.cc:50 location_ui.cc:52
+#: location_ui.cc:51 location_ui.cc:53
msgid "Use PH"
msgstr "По указателю"
-#: location_ui.cc:54
+#: location_ui.cc:55
msgid "CD"
msgstr "CD"
-#: location_ui.cc:57
+#: location_ui.cc:58
msgid "Glue"
msgstr "Приклеить"
-#: location_ui.cc:85
+#: location_ui.cc:86
msgid "Performer:"
msgstr "ИÑполнитель:"
-#: location_ui.cc:86
+#: location_ui.cc:87
msgid "Composer:"
msgstr "Композитор:"
-#: location_ui.cc:88
+#: location_ui.cc:89
msgid "Pre-Emphasis"
msgstr ""
-#: location_ui.cc:314
+#: location_ui.cc:316
msgid "Remove this range"
msgstr "Удалить Ñту облаÑÑ‚ÑŒ"
-#: location_ui.cc:315
+#: location_ui.cc:317
msgid "Start time - middle click to locate here"
msgstr ""
-#: location_ui.cc:316
+#: location_ui.cc:318
msgid "End time - middle click to locate here"
msgstr ""
-#: location_ui.cc:319
+#: location_ui.cc:321
msgid "Set range start from playhead location"
msgstr "УÑтановить начало диапазона по указателю воÑпроизведениÑ"
-#: location_ui.cc:320
+#: location_ui.cc:322
msgid "Set range end from playhead location"
msgstr "УÑтановить конец диапазона по указателю воÑпроизведениÑ"
-#: location_ui.cc:324
+#: location_ui.cc:326
msgid "Remove this marker"
msgstr "Удалить Ñтот маркер"
-#: location_ui.cc:325
+#: location_ui.cc:327
msgid "Position - middle click to locate here"
msgstr ""
-#: location_ui.cc:327
+#: location_ui.cc:329
msgid "Set marker time from playhead location"
msgstr ""
-#: location_ui.cc:494
+#: location_ui.cc:496
msgid "You cannot put a CD marker at the start of the session"
msgstr "Размещение маркера CD в начале ÑеÑÑии невозможно"
-#: location_ui.cc:720
+#: location_ui.cc:722
msgid "New Marker"
msgstr "Создать маркер"
-#: location_ui.cc:721
+#: location_ui.cc:723
msgid "New Range"
msgstr "Создать облаÑÑ‚ÑŒ"
-#: location_ui.cc:734
+#: location_ui.cc:736
msgid "<b>Loop/Punch Ranges</b>"
msgstr "<b>Диапазоны петель/врезок</b>"
-#: location_ui.cc:759
+#: location_ui.cc:761
msgid "<b>Markers (Including CD Index)</b>"
msgstr "<b>Маркеры (Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð¸Ð½Ð´ÐµÐºÑ CD)</b>"
-#: location_ui.cc:794
+#: location_ui.cc:796
msgid "<b>Ranges (Including CD Track Ranges)</b>"
msgstr "<b>Диапазоны (Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ‹ дорожек CD)</b>"
-#: location_ui.cc:1036
+#: location_ui.cc:1038
msgid "add range marker"
msgstr "добавка маркера выделениÑ"
-#: main.cc:81
+#: main.cc:79
msgid "%1 could not connect to the audio backend."
msgstr "%1 не удалоÑÑŒ ÑоединитьÑÑ Ñо звуковой подÑиÑтемой."
-#: main.cc:194 main.cc:315
-msgid "cannot create user %3 folder %1 (%2)"
-msgstr "Ðе удалоÑÑŒ Ñоздать пользовательÑкую папку %3: %1 (%2)"
-
-#: main.cc:201 main.cc:322
-msgid "cannot open pango.rc file %1"
-msgstr ""
-
-#: main.cc:226 main.cc:349
-msgid "Cannot find ArdourMono TrueType font"
-msgstr ""
-
-#: main.cc:238 main.cc:355
-msgid "Cannot load ArdourMono TrueType font."
-msgstr ""
-
-#: main.cc:303
-msgid ""
-"No fontconfig file found on your system. Things may looked very odd or ugly"
-msgstr ""
-
-#: main.cc:359
-msgid "Failed to set fontconfig configuration."
-msgstr ""
-
-#: main.cc:370 main.cc:386
+#: main.cc:104 main.cc:120
msgid "The audio backend (%1) has failed, or terminated"
msgstr ""
-#: main.cc:373
+#: main.cc:107
msgid ""
"%2 exited unexpectedly, and without notifying %1.\n"
"\n"
@@ -6670,23 +6786,33 @@ msgid ""
"Click OK to exit %1."
msgstr ""
-#: main.cc:387
+#: main.cc:121
msgid "%2 exited unexpectedly, and without notifying %1."
msgstr ""
-#: main.cc:474
+#: main.cc:223
+msgid ""
+"\n"
+" Ardour could not understand your command line "
+msgstr ""
+
+#: main.cc:225
+msgid "An error was encountered while launching Ardour"
+msgstr ""
+
+#: main.cc:233
msgid " (built using "
msgstr ""
-#: main.cc:477
+#: main.cc:236
msgid " and GCC version "
msgstr ", при помощи GCC верÑии "
-#: main.cc:487
+#: main.cc:246
msgid "Copyright (C) 1999-2012 Paul Davis"
msgstr "ÐвторÑкие права © 1999-2012 Paul Davis"
-#: main.cc:488
+#: main.cc:247
msgid ""
"Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
"Baker, Robin Gareus"
@@ -6694,31 +6820,31 @@ msgstr ""
"ЧаÑтичные авторÑкие права © Steve Harris, Ari Johnson, Brett Viren, Joel "
"Baker, Robin Gareus"
-#: main.cc:490
+#: main.cc:249
msgid "%1 comes with ABSOLUTELY NO WARRANTY"
msgstr "%1 раÑпроÑтранÑетÑÑ Ð‘Ð•Ð—Ðž ВСЯКИХ ГÐРÐÐТИЙ"
-#: main.cc:491
+#: main.cc:250
msgid "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
msgstr ""
-#: main.cc:492
+#: main.cc:251
msgid "This is free software, and you are welcome to redistribute it "
msgstr "Это Ñвободное программное обеÑпечение, Ð’Ñ‹ можете раÑпроÑтранÑÑ‚ÑŒ его"
-#: main.cc:493
+#: main.cc:252
msgid "under certain conditions; see the source for copying conditions."
msgstr "на определённых уÑловиÑÑ…; подробнее об Ñтом читайте в файле COPYING."
-#: main.cc:500
+#: main.cc:259
msgid "could not initialize %1."
msgstr "Ðе удалоÑÑŒ инициализировать %1."
-#: main.cc:509
+#: main.cc:269
msgid "Cannot xinstall SIGPIPE error handler"
msgstr ""
-#: main.cc:515
+#: main.cc:276
msgid "could not create %1 GUI"
msgstr "не удалоÑÑŒ Ñоздать графичеÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ %1"
@@ -6726,17 +6852,13 @@ msgstr "не удалоÑÑŒ Ñоздать графичеÑкий интерфе
msgid "Display delta to edit cursor"
msgstr "Показывать разницу Ñ ÐºÑƒÑ€Ñором редактора"
-#: marker.cc:251 video_image_frame.cc:121
+#: marker.cc:265
msgid "MarkerText"
msgstr ""
-#: midi_channel_selector.cc:159 midi_channel_selector.cc:397
-#: midi_channel_selector.cc:433
-msgid "All"
-msgstr "Ð’Ñе"
-
#: midi_channel_selector.cc:163 midi_channel_selector.cc:402
-#: midi_channel_selector.cc:438 rc_option_editor.cc:1260 sfdb_ui.cc:590
+#: midi_channel_selector.cc:438 rc_option_editor.cc:1499
+#: rc_option_editor.cc:2084 sfdb_ui.cc:658
msgid "None"
msgstr "Ðет"
@@ -6925,87 +7047,87 @@ msgstr "Ðазвание порта:"
msgid "MidiPortDialog"
msgstr ""
-#: midi_region_view.cc:838
+#: midi_region_view.cc:822
msgid "channel edit"
msgstr "правка канала"
-#: midi_region_view.cc:874
+#: midi_region_view.cc:858
msgid "velocity edit"
msgstr "правка Ñилы нажатиÑ"
-#: midi_region_view.cc:931
+#: midi_region_view.cc:915
msgid "add note"
msgstr "добавка ноты"
-#: midi_region_view.cc:1779
+#: midi_region_view.cc:1766
msgid "step add"
msgstr ""
-#: midi_region_view.cc:1862
+#: midi_region_view.cc:1853
msgid "insane MIDI patch key %1:%2"
msgstr ""
-#: midi_region_view.cc:1870 midi_region_view.cc:1890
+#: midi_region_view.cc:1861 midi_region_view.cc:1881
msgid "alter patch change"
msgstr ""
-#: midi_region_view.cc:1924
+#: midi_region_view.cc:1915
msgid "add patch change"
msgstr "добавка Ñмены программы"
-#: midi_region_view.cc:1942
+#: midi_region_view.cc:1933
msgid "move patch change"
msgstr "перемещение Ñмены программы"
-#: midi_region_view.cc:1953
+#: midi_region_view.cc:1944
msgid "delete patch change"
msgstr "удаление Ñмены программы"
-#: midi_region_view.cc:2022
+#: midi_region_view.cc:2013
msgid "delete selection"
msgstr "удаление выделениÑ"
-#: midi_region_view.cc:2038
+#: midi_region_view.cc:2029
msgid "delete note"
msgstr "удаление ноты"
-#: midi_region_view.cc:2425
+#: midi_region_view.cc:2423
msgid "move notes"
msgstr "перемещение ноты"
-#: midi_region_view.cc:2647
+#: midi_region_view.cc:2645
msgid "resize notes"
msgstr "Ñмена размера ноты"
-#: midi_region_view.cc:2901
+#: midi_region_view.cc:2899
msgid "change velocities"
msgstr "Ñмена Ñилы нажатиÑ"
-#: midi_region_view.cc:2967
+#: midi_region_view.cc:2965
msgid "transpose"
msgstr "транÑпозициÑ"
-#: midi_region_view.cc:3001
+#: midi_region_view.cc:2999
msgid "change note lengths"
msgstr "Ñмена длительноÑти нот"
-#: midi_region_view.cc:3070
+#: midi_region_view.cc:3068
msgid "nudge"
msgstr "толчок"
-#: midi_region_view.cc:3085
+#: midi_region_view.cc:3083
msgid "change channel"
msgstr "Ñмена канала"
-#: midi_region_view.cc:3130
+#: midi_region_view.cc:3128
msgid "Bank "
msgstr "Банк"
-#: midi_region_view.cc:3131
+#: midi_region_view.cc:3129
msgid "Program "
msgstr "Программа"
-#: midi_region_view.cc:3132
+#: midi_region_view.cc:3130
msgid "Channel "
msgstr "Канал"
@@ -7013,140 +7135,136 @@ msgstr "Канал"
msgid "paste"
msgstr "вÑтавка"
-#: midi_region_view.cc:3761
-msgid "delete sysex"
-msgstr "удаление sysex"
-
-#: midi_streamview.cc:479
+#: midi_streamview.cc:491
msgid "failed to create MIDI region"
msgstr "Ðе удалоÑÑŒ Ñоздать MIDI-облаÑÑ‚ÑŒ"
-#: midi_time_axis.cc:275
+#: midi_time_axis.cc:293
msgid "External MIDI Device"
msgstr "Внешнее MIDI-уÑтройÑтво"
-#: midi_time_axis.cc:276
+#: midi_time_axis.cc:294
msgid "External Device Mode"
msgstr "Режим внешнего уÑтройÑтва"
-#: midi_time_axis.cc:284
+#: midi_time_axis.cc:302
msgid "Chns"
msgstr "Кнл"
-#: midi_time_axis.cc:285
+#: midi_time_axis.cc:303
msgid "Click to edit channel settings"
msgstr "Щёлкните Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² каналов"
-#: midi_time_axis.cc:499
+#: midi_time_axis.cc:517
msgid "Show Full Range"
msgstr "Показать вÑе октавы"
-#: midi_time_axis.cc:504
+#: midi_time_axis.cc:522
msgid "Fit Contents"
msgstr "УмеÑтить Ñодержимое"
-#: midi_time_axis.cc:508
+#: midi_time_axis.cc:526
msgid "Note Range"
msgstr "Ðотный диапазон"
-#: midi_time_axis.cc:509
+#: midi_time_axis.cc:527
msgid "Note Mode"
msgstr "Режим предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ñ‚"
-#: midi_time_axis.cc:510
+#: midi_time_axis.cc:528
msgid "Channel Selector"
msgstr "Выбор каналов"
-#: midi_time_axis.cc:515
+#: midi_time_axis.cc:533
msgid "Color Mode"
msgstr "Режим раÑкрашиваниÑ"
-#: midi_time_axis.cc:574
+#: midi_time_axis.cc:592
msgid "Bender"
msgstr "Bender"
-#: midi_time_axis.cc:578
+#: midi_time_axis.cc:596
msgid "Pressure"
msgstr "Сила нажатиÑ"
-#: midi_time_axis.cc:591
+#: midi_time_axis.cc:609
msgid "Controllers"
msgstr "Контроллеры"
-#: midi_time_axis.cc:596
+#: midi_time_axis.cc:614
msgid "No MIDI Channels selected"
msgstr "Ðет выбранных каналов MIDI"
-#: midi_time_axis.cc:674 midi_time_axis.cc:803
+#: midi_time_axis.cc:692 midi_time_axis.cc:821
msgid "Hide all channels"
msgstr "Скрыть вÑе каналы"
-#: midi_time_axis.cc:678 midi_time_axis.cc:807
+#: midi_time_axis.cc:696 midi_time_axis.cc:825
msgid "Show all channels"
msgstr "Показать вÑе каналы"
-#: midi_time_axis.cc:689 midi_time_axis.cc:818
+#: midi_time_axis.cc:707 midi_time_axis.cc:836
msgid "Channel %1"
msgstr "Канал %1"
-#: midi_time_axis.cc:944 midi_time_axis.cc:976
+#: midi_time_axis.cc:962 midi_time_axis.cc:994
msgid "Controllers %1-%2"
msgstr "Контроллеры %1-%2"
-#: midi_time_axis.cc:967 midi_time_axis.cc:970
+#: midi_time_axis.cc:985 midi_time_axis.cc:988
msgid "Controller %1"
msgstr "Контроллер %1"
-#: midi_time_axis.cc:993
+#: midi_time_axis.cc:1011
msgid "Sustained"
msgstr "ХроматичеÑкие"
-#: midi_time_axis.cc:1000
+#: midi_time_axis.cc:1018
msgid "Percussive"
msgstr "ПеркуÑÑиÑ"
-#: midi_time_axis.cc:1020
+#: midi_time_axis.cc:1038
msgid "Meter Colors"
msgstr "Цвета индикатора"
-#: midi_time_axis.cc:1027
+#: midi_time_axis.cc:1045
msgid "Channel Colors"
msgstr "Цвета канала"
-#: midi_time_axis.cc:1034
+#: midi_time_axis.cc:1052
msgid "Track Color"
msgstr "Цвет дорожки"
-#: midi_time_axis.cc:1616 midi_time_axis.cc:1622 midi_time_axis.cc:1632
-#: midi_time_axis.cc:1638
+#: midi_time_axis.cc:1687 midi_time_axis.cc:1693 midi_time_axis.cc:1703
+#: midi_time_axis.cc:1709
msgid "all"
msgstr "вÑе"
-#: midi_time_axis.cc:1619 midi_time_axis.cc:1635
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1706
msgid "some"
msgstr "не вÑе"
-#: midi_tracer.cc:46
+#: midi_tracer.cc:49
msgid "Line history: "
msgstr "Запоминать Ñтрок:"
-#: midi_tracer.cc:54
+#: midi_tracer.cc:57
msgid "Auto-Scroll"
msgstr "Ðвтопрокрутка"
-#: midi_tracer.cc:55
+#: midi_tracer.cc:58
msgid "Decimal"
msgstr "ДеÑÑтичный"
-#: midi_tracer.cc:56 rc_option_editor.cc:658
+#: midi_tracer.cc:59 rc_option_editor.cc:717
msgid "Enabled"
msgstr "Включено"
-#: midi_tracer.cc:57
+#: midi_tracer.cc:60
msgid "Delta times"
msgstr "Разница во времени"
-#: midi_tracer.cc:70
+#: midi_tracer.cc:73
msgid "Port:"
msgstr "Порт:"
@@ -7154,35 +7272,35 @@ msgstr "Порт:"
msgid "New velocity"
msgstr "ÐÐ¾Ð²Ð°Ñ Ñила нажатиÑ"
-#: missing_file_dialog.cc:34
-msgid "Missing File!"
-msgstr "Файл отÑутÑтвует!"
+#: missing_file_dialog.cc:35
+msgid "Missing File"
+msgstr ""
-#: missing_file_dialog.cc:36
+#: missing_file_dialog.cc:37
msgid "Select a folder to search"
msgstr "Выберите папку Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка"
-#: missing_file_dialog.cc:37
+#: missing_file_dialog.cc:38
msgid "Add chosen folder to search path, and try again"
msgstr "Добавить выбранную папку в путь поиÑка и попробовать Ñнова"
-#: missing_file_dialog.cc:39
+#: missing_file_dialog.cc:40
msgid "Stop loading this session"
msgstr "Прекратить загрузку Ñтой ÑеÑÑии"
-#: missing_file_dialog.cc:40
+#: missing_file_dialog.cc:41
msgid "Skip all missing files"
msgstr "ПропуÑтить вÑе отÑутÑтвующие файлы"
-#: missing_file_dialog.cc:41
+#: missing_file_dialog.cc:42
msgid "Skip this file"
msgstr "ПропуÑтить Ñтот файл"
-#: missing_file_dialog.cc:52
+#: missing_file_dialog.cc:53
msgid "audio"
msgstr "звуковой"
-#: missing_file_dialog.cc:65
+#: missing_file_dialog.cc:70
msgid ""
"%1 cannot find the %2 file\n"
"\n"
@@ -7202,7 +7320,7 @@ msgstr ""
"<tt>%3</tt>\n"
"\n"
-#: missing_file_dialog.cc:99
+#: missing_file_dialog.cc:104
msgid "Click to choose an additional folder"
msgstr "Выберите дополнительную папку:"
@@ -7210,7 +7328,7 @@ msgstr "Выберите дополнительную папку:"
msgid "Missing Plugins"
msgstr "ОтÑутÑтвующие модули"
-#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:59
+#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:60
msgid "OK"
msgstr "ОК"
@@ -7266,6 +7384,10 @@ msgstr "Переключить выбранные обработчики"
msgid "Toggle Selected Plugins"
msgstr "Переключить выбранные модули"
+#: mixer_actor.cc:70
+msgid "Deselect all srips and processors"
+msgstr ""
+
#: mixer_actor.cc:72 mixer_actor.cc:73
msgid "Scroll Mixer Window to the left"
msgstr ""
@@ -7282,324 +7404,310 @@ msgstr ""
msgid "Could not find mixer.bindings in search path %1"
msgstr ""
-#: mixer_strip.cc:94 mixer_strip.cc:122 mixer_strip.cc:1754
+#: mixer_strip.cc:98 mixer_strip.cc:127
msgid "pre"
msgstr "lj"
-#: mixer_strip.cc:96 mixer_strip.cc:124 mixer_strip.cc:355 mixer_strip.cc:1333
-#: rc_option_editor.cc:1892
+#: mixer_strip.cc:100 mixer_strip.cc:129 mixer_strip.cc:376
+#: mixer_strip.cc:1373 rc_option_editor.cc:2203
msgid "Comments"
msgstr "Комментарии"
-#: mixer_strip.cc:148
+#: mixer_strip.cc:151
msgid "Click to toggle the width of this mixer strip."
msgstr "Щёлкните Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ñ‹ полоÑки микшера"
-#: mixer_strip.cc:150
+#: mixer_strip.cc:153
msgid ""
"\n"
"%1-%2-click to toggle the width of all strips."
msgstr ""
-#: mixer_strip.cc:157
+#: mixer_strip.cc:160
msgid "Hide this mixer strip"
msgstr "Скрыть полоÑку микшера"
-#: mixer_strip.cc:168
+#: mixer_strip.cc:171
msgid "Click to select metering point"
msgstr "Щёлкните Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° точка замера"
-#: mixer_strip.cc:174
-msgid "tupni"
-msgstr ""
-
-#: mixer_strip.cc:193
+#: mixer_strip.cc:191
msgid "Isolate Solo"
msgstr "Изолировать Ñоло"
-#: mixer_strip.cc:202
+#: mixer_strip.cc:200
msgid "Lock Solo Status"
msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²ÐºÐ¸ ÑолированиÑ"
-#: mixer_strip.cc:204 mixer_strip.cc:1957
-msgid "lock"
-msgstr "Блок"
-
-#: mixer_strip.cc:205 mixer_strip.cc:1956
-msgid "iso"
-msgstr "Изол"
+#: mixer_strip.cc:203 mixer_strip.cc:1982
+msgid "Iso"
+msgstr ""
#: mixer_strip.cc:259
msgid "Mix group"
msgstr "Группа микÑа"
-#: mixer_strip.cc:352 rc_option_editor.cc:1889
+#: mixer_strip.cc:372 rc_option_editor.cc:2199
msgid "Phase Invert"
msgstr "ИнверÑÐ¸Ñ Ñ„Ð°Ð·Ñ‹"
-#: mixer_strip.cc:353 rc_option_editor.cc:1890 route_ui.cc:1218
-msgid "Solo Safe"
-msgstr "Блокировка ÑолированиÑ"
-
-#: mixer_strip.cc:356 mixer_ui.cc:124 route_time_axis.cc:673
-msgid "Group"
-msgstr "Группа"
+#: mixer_strip.cc:373 rc_option_editor.cc:2200
+msgid "Record & Monitor"
+msgstr ""
-#: mixer_strip.cc:357 rc_option_editor.cc:1893
-msgid "Meter Point"
-msgstr "Точка измерениÑ"
+#: mixer_strip.cc:374 rc_option_editor.cc:2201
+msgid "Solo Iso / Lock"
+msgstr ""
-#: mixer_strip.cc:471
+#: mixer_strip.cc:530
msgid "Enable/Disable MIDI input"
msgstr "Включить или выключить MIDI-вход"
-#: mixer_strip.cc:626
-msgid ""
-"Aux\n"
-"Sends"
+#: mixer_strip.cc:694
+msgid "Aux"
msgstr ""
-#: mixer_strip.cc:650
+#: mixer_strip.cc:716
msgid "Snd"
msgstr "ПÑл"
-#: mixer_strip.cc:705 mixer_strip.cc:833 processor_box.cc:2387
+#: mixer_strip.cc:782 mixer_strip.cc:880 processor_box.cc:2426
msgid "Not connected to audio engine - no I/O changes are possible"
msgstr ""
"Ðет ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñо звуковой подÑиÑтемой, любые Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ñ…Ð¾Ð´Ð°-выхода "
"невозможны."
-#: mixer_strip.cc:1123
+#: mixer_strip.cc:1163
msgid "<b>INPUT</b> to %1"
msgstr "<b>ВХОД</b> в %1"
-#: mixer_strip.cc:1126
+#: mixer_strip.cc:1166
msgid "<b>OUTPUT</b> from %1"
msgstr "<b>ВЫХОД</b> из %1"
-#: mixer_strip.cc:1201
+#: mixer_strip.cc:1241
msgid "Disconnected"
msgstr "Ðет ÑоединениÑ"
-#: mixer_strip.cc:1336
+#: mixer_strip.cc:1376
msgid "*Comments*"
msgstr "*Кмт*"
-#: mixer_strip.cc:1343
+#: mixer_strip.cc:1383
msgid "Cmt"
msgstr "Кмт"
-#: mixer_strip.cc:1346
+#: mixer_strip.cc:1386
msgid "*Cmt*"
msgstr "*Кмт*"
-#: mixer_strip.cc:1352
+#: mixer_strip.cc:1392
msgid "Click to Add/Edit Comments"
msgstr "Ðажмите Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ/правки комментариев"
-#: mixer_strip.cc:1391
-msgid ": comment editor"
-msgstr ": редактор комментариев"
-
-#: mixer_strip.cc:1468
+#: mixer_strip.cc:1436
msgid "Grp"
msgstr "Грп"
-#: mixer_strip.cc:1471
+#: mixer_strip.cc:1439
msgid "~G"
msgstr "нГр"
-#: mixer_strip.cc:1500
+#: mixer_strip.cc:1468 route_time_axis.cc:534
+msgid "Color..."
+msgstr "Цвет..."
+
+#: mixer_strip.cc:1470 route_time_axis.cc:536
msgid "Comments..."
msgstr "Комментарии..."
-#: mixer_strip.cc:1502
+#: mixer_strip.cc:1472 route_time_axis.cc:538
+msgid "Inputs..."
+msgstr ""
+
+#: mixer_strip.cc:1474 route_time_axis.cc:540
+msgid "Outputs..."
+msgstr ""
+
+#: mixer_strip.cc:1479
msgid "Save As Template..."
msgstr "Сохранить как шаблон..."
-#: mixer_strip.cc:1508 route_group_dialog.cc:39 route_time_axis.cc:696
+#: mixer_strip.cc:1485 route_group_dialog.cc:45 route_time_axis.cc:814
msgid "Active"
msgstr "ÐктивноÑÑ‚ÑŒ"
-#: mixer_strip.cc:1515
+#: mixer_strip.cc:1493
msgid "Adjust Latency..."
msgstr "Скорректировать задержку..."
-#: mixer_strip.cc:1518
+#: mixer_strip.cc:1496
msgid "Protect Against Denormals"
msgstr "Защищать от отклонений"
-#: mixer_strip.cc:1524 route_time_axis.cc:435
+#: mixer_strip.cc:1502 route_time_axis.cc:553
msgid "Remote Control ID..."
msgstr "ID Ð´Ð»Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ управлениÑ..."
-#: mixer_strip.cc:1750 mixer_strip.cc:1774
-msgid "in"
-msgstr "вх"
-
-#: mixer_strip.cc:1758
-msgid "post"
-msgstr "поÑле"
-
-#: mixer_strip.cc:1762
-msgid "out"
-msgstr "вых"
-
-#: mixer_strip.cc:1767
-msgid "custom"
-msgstr ""
-
#: mixer_strip.cc:1778
-msgid "pr"
+msgid "Pre"
msgstr ""
#: mixer_strip.cc:1782
-msgid "po"
+msgid "Post"
+msgstr ""
+
+#: mixer_strip.cc:1802
+msgid "Pr"
msgstr ""
-#: mixer_strip.cc:1786
-msgid "o"
+#: mixer_strip.cc:1806
+msgid "Po"
msgstr ""
-#: mixer_strip.cc:1791
-msgid "c"
+#: mixer_strip.cc:1815
+msgid "C"
msgstr ""
-#: mixer_strip.cc:1937 route_ui.cc:143
+#: mixer_strip.cc:1963 route_ui.cc:164
msgid "Disk"
msgstr "ДиÑк"
-#: mixer_strip.cc:1949 monitor_section.cc:63
+#: mixer_strip.cc:1975 monitor_section.cc:71
msgid "AFL"
msgstr "AFL"
-#: mixer_strip.cc:1952 monitor_section.cc:64
+#: mixer_strip.cc:1978 monitor_section.cc:72
msgid "PFL"
msgstr "PFL"
-#: mixer_strip.cc:1964 meter_strip.cc:358
+#: mixer_strip.cc:1989 meter_strip.cc:380
msgid "D"
msgstr ""
-#: mixer_strip.cc:1984
-msgid "i"
-msgstr "и"
-
-#: mixer_strip.cc:2162
-msgid "Pre-fader"
-msgstr "До фейдера"
+#: mixer_strip.cc:2196
+msgid "Pre Fader"
+msgstr "Предфейдер"
-#: mixer_strip.cc:2163
-msgid "Post-fader"
-msgstr "ПоÑле фейдера"
+#: mixer_strip.cc:2197
+msgid "Post Fader"
+msgstr "ПоÑлефейдер"
-#: mixer_strip.cc:2201 meter_strip.cc:758
+#: mixer_strip.cc:2235 meter_strip.cc:818
msgid "Change all in Group to %1"
msgstr "ПоменÑÑ‚ÑŒ вÑе в группе на %1"
-#: mixer_strip.cc:2203 meter_strip.cc:760
+#: mixer_strip.cc:2237 meter_strip.cc:820
msgid "Change all to %1"
msgstr "ПоменÑÑ‚ÑŒ вÑе на %1"
-#: mixer_strip.cc:2205 meter_strip.cc:762
+#: mixer_strip.cc:2239 meter_strip.cc:822
msgid "Change same track-type to %1"
msgstr "ПоменÑÑ‚ÑŒ дорожки одного типа на %1"
-#: mixer_ui.cc:1189
+#: mixer_ui.cc:129 route_time_axis.cc:791
+msgid "Group"
+msgstr "Группа"
+
+#: mixer_ui.cc:1209
msgid "track display list item for renamed strip not found!"
msgstr ""
-#: mixer_ui.cc:1273
+#: mixer_ui.cc:1293
msgid "-all-"
msgstr "-вÑе-"
-#: mixer_ui.cc:1794
+#: mixer_ui.cc:1829
msgid "Strips"
msgstr "Каналы"
-#: meter_strip.cc:794
+#: meter_strip.cc:157
+msgid "Reset Peak"
+msgstr ""
+
+#: meter_strip.cc:854
msgid "Variable height"
msgstr "ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð²Ñ‹Ñота"
-#: meter_strip.cc:795
+#: meter_strip.cc:855
msgid "Short"
msgstr ""
-#: meter_strip.cc:796
+#: meter_strip.cc:856
msgid "Tall"
msgstr ""
-#: meter_strip.cc:797
+#: meter_strip.cc:857
msgid "Grande"
msgstr ""
-#: meter_strip.cc:798
+#: meter_strip.cc:858
msgid "Venti"
msgstr ""
-#: meter_patterns.cc:81
+#: meter_patterns.cc:82
msgid "Peak"
msgstr "Пиковое значение"
-#: meter_patterns.cc:84
+#: meter_patterns.cc:85
msgid "RMS + Peak"
msgstr "Среднеквадратичное + пиковое значение"
-#: meter_patterns.cc:87
+#: meter_patterns.cc:88
msgid "IEC1/DIN"
msgstr "IEC1/DIN"
-#: meter_patterns.cc:90
+#: meter_patterns.cc:91
msgid "IEC1/Nordic"
msgstr "IEC1/Nordic"
-#: meter_patterns.cc:93
+#: meter_patterns.cc:94
msgid "IEC2/BBC"
msgstr "IEC2/BBC"
-#: meter_patterns.cc:96
+#: meter_patterns.cc:97
msgid "IEC2/EBU"
msgstr "IEC2/EBU"
-#: meter_patterns.cc:99
+#: meter_patterns.cc:100
msgid "K20"
msgstr "K20"
-#: meter_patterns.cc:102
+#: meter_patterns.cc:103
msgid "K14"
msgstr "K14"
-#: meter_patterns.cc:105
+#: meter_patterns.cc:106
msgid "K12"
msgstr ""
-#: meter_patterns.cc:108
+#: meter_patterns.cc:109
msgid "VU"
msgstr "VU"
-#: monitor_section.cc:62
+#: monitor_section.cc:70
msgid "SiP"
msgstr ""
-#: monitor_section.cc:86
-msgid "soloing"
+#: monitor_section.cc:97 route_group_dialog.cc:49
+msgid "Soloing"
msgstr "Солирование"
-#: monitor_section.cc:90
-msgid "isolated"
-msgstr "изолировано"
+#: monitor_section.cc:101
+msgid "Isolated"
+msgstr ""
-#: monitor_section.cc:94
-msgid "auditioning"
-msgstr "ПроÑлушивание"
+#: monitor_section.cc:105
+msgid "Auditioning"
+msgstr ""
-#: monitor_section.cc:104
+#: monitor_section.cc:115
msgid ""
"When active, something is solo-isolated.\n"
"Click to de-isolate everything"
msgstr ""
-#: monitor_section.cc:107
+#: monitor_section.cc:118
msgid ""
"When active, auditioning is active.\n"
"Click to stop the audition"
@@ -7607,131 +7715,119 @@ msgstr ""
"ЕÑли включено, выполнÑетÑÑ Ð¿Ñ€Ð¾Ñлушивание.\n"
"Щёлкните, чтобы прекратить его."
-#: monitor_section.cc:124
+#: monitor_section.cc:135
msgid "Solo controls affect solo-in-place"
msgstr "Управление Ñолированием затрагивает Ñолирование на меÑте"
-#: monitor_section.cc:130
+#: monitor_section.cc:141
msgid "Solo controls toggle after-fader-listen"
msgstr "Управление Ñолированием переключает поÑлефейдерное проÑлушивание"
-#: monitor_section.cc:136
+#: monitor_section.cc:147
msgid "Solo controls toggle pre-fader-listen"
msgstr "Управление Ñолированием переключает предфейдерное проÑлушивание"
-#: monitor_section.cc:144
+#: monitor_section.cc:157
msgid "Gain increase for soloed signals (0dB is normal)"
msgstr "УÑиление Ñолируемого Ñигнала (0dB ÑвлÑетÑÑ Ð½Ð¾Ñ€Ð¼Ð¾Ð¹)"
-#: monitor_section.cc:150
+#: monitor_section.cc:171
msgid "Solo Boost"
msgstr "УÑиление Ñоло"
-#: monitor_section.cc:162
+#: monitor_section.cc:186
msgid ""
"Gain reduction non-soloed signals\n"
"A value above -inf dB causes \"solo-in-front\""
msgstr ""
-#: monitor_section.cc:164
+#: monitor_section.cc:197
msgid "SiP Cut"
msgstr ""
-#: monitor_section.cc:176
+#: monitor_section.cc:212
msgid "Gain reduction to use when dimming monitor outputs"
msgstr ""
-#: monitor_section.cc:181
+#: monitor_section.cc:226 monitor_section.cc:284
msgid "Dim"
msgstr "Приглушение"
-#: monitor_section.cc:190
-msgid "excl. solo"
-msgstr "ÑкÑкл. Ñоло"
+#: monitor_section.cc:236
+msgid "Excl. Solo"
+msgstr ""
-#: monitor_section.cc:192
+#: monitor_section.cc:238
msgid "Exclusive solo means that only 1 solo is active at a time"
msgstr "Одновременно может быть активным только одно Ñоло"
-#: monitor_section.cc:199
-msgid "solo » mute"
-msgstr "Ñоло » молча"
+#: monitor_section.cc:245
+msgid "Solo » Mute"
+msgstr ""
-#: monitor_section.cc:201
+#: monitor_section.cc:247
msgid ""
"If enabled, solo will override mute\n"
"(a soloed & muted track or bus will be audible)"
msgstr ""
-#: monitor_section.cc:227
-msgid "mute"
-msgstr "Молча"
-
-#: monitor_section.cc:238
-msgid "dim"
-msgstr "Приглушить"
-
-#: monitor_section.cc:245
-msgid "mono"
-msgstr "Моно"
-
-#: monitor_section.cc:266
+#: monitor_section.cc:324
msgid "Monitor"
msgstr "Монитор"
-#: monitor_section.cc:678
+#: monitor_section.cc:751
msgid "Switch monitor to mono"
msgstr "Переключить мониторинг в монофоничеÑкий режим"
-#: monitor_section.cc:681
+#: monitor_section.cc:754
msgid "Cut monitor"
msgstr "Выключить мониторинг"
-#: monitor_section.cc:684
+#: monitor_section.cc:757
msgid "Dim monitor"
msgstr "Приглушить мониторинг"
-#: monitor_section.cc:687
+#: monitor_section.cc:760
msgid "Toggle exclusive solo mode"
msgstr "Переключить ÑкÑклюзивное Ñолирование"
-#: monitor_section.cc:693
+#: monitor_section.cc:766
msgid "Toggle mute overrides solo mode"
msgstr ""
-#: monitor_section.cc:705
+#: monitor_section.cc:778
msgid "Cut monitor channel %1"
msgstr "Вырезать канал %1 мониторинга"
-#: monitor_section.cc:710
+#: monitor_section.cc:783
msgid "Dim monitor channel %1"
msgstr "Приглушить канал %1 мониторинга"
-#: monitor_section.cc:715
+#: monitor_section.cc:788
msgid "Solo monitor channel %1"
msgstr "Солировать каналом %1 мониторинга"
-#: monitor_section.cc:720
+#: monitor_section.cc:793
msgid "Invert monitor channel %1"
msgstr "Инвертировать канал %1 мониторинга"
-#: monitor_section.cc:730
+#: monitor_section.cc:803
msgid "In-place solo"
msgstr ""
-#: monitor_section.cc:732
+#: monitor_section.cc:805
msgid "After Fade Listen (AFL) solo"
msgstr "ПроÑлушивание ÑÐ¾Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñле фейдера (AFL)"
-#: monitor_section.cc:734
+#: monitor_section.cc:807
msgid "Pre Fade Listen (PFL) solo"
msgstr "ПроÑлушивание ÑÐ¾Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð¾ фейдера (PFL)"
-#: mono_panner.cc:110 stereo_panner.cc:117
+#: mono_panner.cc:109 stereo_panner.cc:117
msgid "bypassed"
msgstr ""
-#: mono_panner.cc:124
+#: mono_panner.cc:123
#, c-format
msgid "L:%3d R:%3d"
msgstr "Левый:%3d, Правый:%3d"
@@ -7838,7 +7934,7 @@ msgstr "Ðормировка облаÑтей"
msgid "Normalize region"
msgstr "Ðормировка облаÑти"
-#: normalize_dialog.cc:49 strip_silence_dialog.cc:70
+#: normalize_dialog.cc:49 strip_silence_dialog.cc:66
msgid "dbFS"
msgstr "dbFS"
@@ -7957,15 +8053,15 @@ msgstr ""
" -k, --keybindings имÑ-файла Ð˜Ð¼Ñ ÑобÑтвенного файла Ñ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñми "
"клавиш (по умолчанию Ñто ~/.ardour3/ardour.bindings)\n"
-#: panner2d.cc:835
+#: panner2d.cc:852
msgid "Panner (2D)"
msgstr "Панорамирование (2D)"
-#: panner2d.cc:837 panner_ui.cc:378 plugin_ui.cc:448
+#: panner2d.cc:854 panner_ui.cc:399 plugin_ui.cc:449
msgid "Bypass"
msgstr "Обход"
-#: panner2d.cc:843
+#: panner2d.cc:860
msgid "Panner"
msgstr "Панорамирование"
@@ -8001,43 +8097,43 @@ msgstr ""
msgid "Imported"
msgstr "Импортировано"
-#: plugin_eq_gui.cc:75 plugin_eq_gui.cc:99
+#: plugin_eq_gui.cc:85 plugin_eq_gui.cc:109
msgid "dB scale"
msgstr "МаÑштаб в Дб"
-#: plugin_eq_gui.cc:106
+#: plugin_eq_gui.cc:116
msgid "Show phase"
msgstr "Показывать фазу"
-#: plugin_selector.cc:54 plugin_selector.cc:221
+#: plugin_selector.cc:53 plugin_selector.cc:229
msgid "Name contains"
msgstr "Ðазвание Ñодержит"
-#: plugin_selector.cc:55 plugin_selector.cc:225
+#: plugin_selector.cc:54 plugin_selector.cc:233
msgid "Type contains"
msgstr "Тип Ñодержит"
-#: plugin_selector.cc:56 plugin_selector.cc:223
+#: plugin_selector.cc:55 plugin_selector.cc:231
msgid "Category contains"
msgstr "Ðазвание категории Ñодержит"
-#: plugin_selector.cc:57 plugin_selector.cc:245
+#: plugin_selector.cc:56 plugin_selector.cc:253
msgid "Author contains"
msgstr "Ð˜Ð¼Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð° Ñодержит"
-#: plugin_selector.cc:58 plugin_selector.cc:247
+#: plugin_selector.cc:57 plugin_selector.cc:255
msgid "Library contains"
msgstr "Библиотека Ñодержит"
-#: plugin_selector.cc:59 plugin_selector.cc:211 plugin_selector.cc:522
+#: plugin_selector.cc:58 plugin_selector.cc:219 plugin_selector.cc:537
msgid "Favorites only"
msgstr "Только любимые"
-#: plugin_selector.cc:60 plugin_selector.cc:215 plugin_selector.cc:522
+#: plugin_selector.cc:59 plugin_selector.cc:223 plugin_selector.cc:537
msgid "Hidden only"
msgstr "Только Ñкрытые"
-#: plugin_selector.cc:65
+#: plugin_selector.cc:64
msgid "Plugin Manager"
msgstr "Управление модулÑми"
@@ -8097,93 +8193,93 @@ msgstr "Обновить ÑпиÑок доÑтупных модулей"
msgid "Insert Plugin(s)"
msgstr "Ð’Ñтавить модули"
-#: plugin_selector.cc:321 plugin_selector.cc:322 plugin_selector.cc:323
-#: plugin_selector.cc:324
+#: plugin_selector.cc:337 plugin_selector.cc:338 plugin_selector.cc:339
+#: plugin_selector.cc:340
msgid "variable"
msgstr ""
-#: plugin_selector.cc:481
+#: plugin_selector.cc:496
msgid ""
"The plugin \"%1\" could not be loaded\n"
"\n"
"See the Log window for more details (maybe)"
msgstr ""
-#: plugin_selector.cc:629
+#: plugin_selector.cc:644
msgid "Favorites"
msgstr "Избранные"
-#: plugin_selector.cc:631
+#: plugin_selector.cc:646
msgid "Plugin Manager..."
msgstr "Управление модулÑми..."
-#: plugin_selector.cc:635
+#: plugin_selector.cc:650
msgid "By Creator"
msgstr "По Ñоздателю"
-#: plugin_selector.cc:638
+#: plugin_selector.cc:653
msgid "By Category"
msgstr "По категории"
-#: plugin_ui.cc:114
+#: plugin_ui.cc:113
msgid "Eh? LADSPA plugins don't have editors!"
msgstr "Что? У Ñффектов LADSPA нет Ñвоих редакторов!"
-#: plugin_ui.cc:123 plugin_ui.cc:226
+#: plugin_ui.cc:122 plugin_ui.cc:227
msgid ""
"unknown type of editor-supplying plugin (note: no VST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:126
+#: plugin_ui.cc:125
msgid "unknown type of editor-supplying plugin"
msgstr ""
-#: plugin_ui.cc:256
+#: plugin_ui.cc:257
msgid ""
"unknown type of editor-supplying plugin (note: no linuxVST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:328
+#: plugin_ui.cc:329
msgid "create_lv2_editor called on non-LV2 plugin"
msgstr ""
-#: plugin_ui.cc:414
+#: plugin_ui.cc:415
msgid "Add"
msgstr "Добавить"
-#: plugin_ui.cc:418
+#: plugin_ui.cc:419
msgid "Description"
msgstr "ОпиÑание"
-#: plugin_ui.cc:419
+#: plugin_ui.cc:420
msgid "Plugin analysis"
msgstr "ЧаÑтотный анализ модулÑ"
-#: plugin_ui.cc:426
+#: plugin_ui.cc:427
msgid ""
"Presets (if any) for this plugin\n"
"(Both factory and user-created)"
msgstr "Ð’Ñе доÑтупные профили Ñтого модулÑ,как «заводÑкие», так и ÑобÑтвенные"
-#: plugin_ui.cc:427
+#: plugin_ui.cc:428
msgid "Save a new preset"
msgstr "Сохранить новый профиль"
-#: plugin_ui.cc:428
+#: plugin_ui.cc:429
msgid "Save the current preset"
msgstr "Сохранить текущий профиль"
-#: plugin_ui.cc:429
+#: plugin_ui.cc:430
msgid "Delete the current preset"
msgstr "Удалить текущий профиль"
-#: plugin_ui.cc:430
+#: plugin_ui.cc:431
msgid "Disable signal processing by the plugin"
msgstr "Выключить обработку Ñигнала Ñтим модулем"
-#: plugin_ui.cc:463 plugin_ui.cc:659
+#: plugin_ui.cc:464 plugin_ui.cc:660
msgid ""
"Click to allow the plugin to receive keyboard events that %1 would normally "
"use as a shortcut"
@@ -8191,42 +8287,42 @@ msgstr ""
"Щёлкните, чтобы разрешить Ñтому модулю получать клавиатурные ÑобытиÑ, "
"которые %1 обычно иÑпользует как горÑчие клавиши"
-#: plugin_ui.cc:464
+#: plugin_ui.cc:465
msgid "Click to enable/disable this plugin"
msgstr "Щелкните, чтобы включить или отключить Ñтот модуль"
-#: plugin_ui.cc:503
+#: plugin_ui.cc:504
msgid "latency (%1 sample)"
msgid_plural "latency (%1 samples)"
msgstr[0] "Задержка (%1 ÑÑмпл)"
msgstr[1] "Задержка (%1 ÑÑмпла)"
msgstr[2] "Задержка (%1 ÑÑмплов)"
-#: plugin_ui.cc:505
+#: plugin_ui.cc:506
msgid "latency (%1 ms)"
msgstr "Задержка (%1 мÑ)"
-#: plugin_ui.cc:516
+#: plugin_ui.cc:517
msgid "Edit Latency"
msgstr "Изменить задержку"
-#: plugin_ui.cc:555
+#: plugin_ui.cc:556
msgid "Plugin preset %1 not found"
msgstr "ПредуÑтановка Ð¼Ð¾Ð´ÑƒÐ»Ñ %1 не обнаружена"
-#: plugin_ui.cc:592
+#: plugin_ui.cc:593
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"full version"
msgstr ""
-#: plugin_ui.cc:612 plugin_ui.cc:627
+#: plugin_ui.cc:613 plugin_ui.cc:628
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"newer version"
msgstr ""
-#: plugin_ui.cc:666
+#: plugin_ui.cc:667
msgid "Click to allow normal use of %1 keyboard shortcuts"
msgstr ""
"Щёлкните, чтобы переключитьÑÑ Ð½Ð° обычное иÑпользование горÑчих клавиш %1"
@@ -8303,66 +8399,66 @@ msgstr ""
msgid "alsa_pcm"
msgstr "alsa_pcm"
-#: port_insert_ui.cc:40
+#: port_insert_ui.cc:39
msgid "Measure Latency"
msgstr "Измерить задержку"
-#: port_insert_ui.cc:51
+#: port_insert_ui.cc:50
msgid "Send/Output"
msgstr "ПоÑыл/Выход"
-#: port_insert_ui.cc:52
+#: port_insert_ui.cc:51
msgid "Return/Input"
msgstr "Возврат/Вход"
-#: port_insert_ui.cc:86
+#: port_insert_ui.cc:85
msgid "No signal detected"
msgstr ""
-#: port_insert_ui.cc:166
+#: port_insert_ui.cc:165
msgid "Port Insert "
msgstr "Ð’Ñтавка порта"
-#: port_matrix.cc:331 port_matrix.cc:357
+#: port_matrix.cc:332 port_matrix.cc:358
msgid "<b>Sources</b>"
msgstr "<b>ИÑточники</b>"
-#: port_matrix.cc:332 port_matrix.cc:358
+#: port_matrix.cc:333 port_matrix.cc:359
msgid "<b>Destinations</b>"
msgstr "<b>ÐазначениÑ</b>"
-#: port_matrix.cc:440 port_matrix.cc:448
+#: port_matrix.cc:441 port_matrix.cc:449
#, c-format
msgid "Add %s %s"
msgstr "Добавить %s %s"
-#: port_matrix.cc:456
+#: port_matrix.cc:457
#, c-format
msgid "Rename '%s'..."
msgstr "Переименовать '%s'..."
-#: port_matrix.cc:472
+#: port_matrix.cc:473
msgid "Remove all"
msgstr "Удалить вÑе"
-#: port_matrix.cc:492 port_matrix.cc:504
+#: port_matrix.cc:493 port_matrix.cc:505
#, c-format
msgid "%s all"
msgstr "%s вÑе"
-#: port_matrix.cc:527
+#: port_matrix.cc:528
msgid "Rescan"
msgstr "ПроÑканировать заново"
-#: port_matrix.cc:529
+#: port_matrix.cc:530
msgid "Show individual ports"
msgstr "Показывать порты раздельно"
-#: port_matrix.cc:535
+#: port_matrix.cc:536
msgid "Flip"
msgstr "Повернуть матрицу"
-#: port_matrix.cc:721
+#: port_matrix.cc:722
msgid ""
"It is not possible to add a port here, as the first processor in the track "
"or buss cannot support the new configuration."
@@ -8370,32 +8466,32 @@ msgstr ""
"Ðевозможно добавить Ñюда порт, поÑкольку первый обработчик дорожки или шины "
"не может поддерживать новую конфигурацию."
-#: port_matrix.cc:724
+#: port_matrix.cc:725
msgid "Cannot add port"
msgstr "Ðевозможно добавить порт"
-#: port_matrix.cc:746
+#: port_matrix.cc:747
msgid "Port removal not allowed"
msgstr "Удаление портов не разрешено"
-#: port_matrix.cc:747
+#: port_matrix.cc:748
msgid ""
"This port cannot be removed.\n"
"Either the first plugin in the track or buss cannot accept\n"
"the new number of inputs or the last plugin has more outputs."
msgstr ""
-#: port_matrix.cc:964
+#: port_matrix.cc:965
#, c-format
msgid "Remove '%s'"
msgstr "Удалить '%s'"
-#: port_matrix.cc:979
+#: port_matrix.cc:980
#, c-format
msgid "%s all from '%s'"
msgstr "%s вÑе из '%s'"
-#: port_matrix.cc:1045
+#: port_matrix.cc:1046
msgid "channel"
msgstr "канал"
@@ -8407,59 +8503,59 @@ msgstr "Ðет доÑтупных портов."
msgid "There are no %1 ports to connect."
msgstr "нет ÑоединÑемых портов %1."
-#: processor_box.cc:144
+#: processor_box.cc:150
msgid "Send"
msgstr ""
-#: processor_box.cc:146
+#: processor_box.cc:152
msgid "Return"
msgstr ""
-#: processor_box.cc:304
+#: processor_box.cc:310
msgid ""
"\n"
"This mono plugin has been replicated %1 times."
msgstr ""
-#: processor_box.cc:308
+#: processor_box.cc:314
msgid ""
"<b>%1</b>\n"
"Double-click to show GUI.\n"
"Alt+double-click to show generic GUI.%2"
msgstr ""
-#: processor_box.cc:311
+#: processor_box.cc:317
msgid ""
"<b>%1</b>\n"
"Double-click to show generic GUI.%2"
msgstr ""
-#: processor_box.cc:355
+#: processor_box.cc:361
#, c-format
msgid "(%1x1) "
msgstr ""
-#: processor_box.cc:431
+#: processor_box.cc:437
msgid "Show All Controls"
msgstr "Показать вÑе регулÑторы"
-#: processor_box.cc:435
+#: processor_box.cc:441
msgid "Hide All Controls"
msgstr "Скрыть вÑе регулÑторы"
-#: processor_box.cc:469
+#: processor_box.cc:475
msgid "Link panner controls"
msgstr ""
-#: processor_box.cc:553
+#: processor_box.cc:559
msgid "on"
msgstr "Вкл"
-#: processor_box.cc:553 rc_option_editor.cc:1922 rc_option_editor.cc:1936
+#: processor_box.cc:559 rc_option_editor.cc:2232 rc_option_editor.cc:2246
msgid "off"
msgstr "Выкл"
-#: processor_box.cc:930
+#: processor_box.cc:945
msgid ""
"Right-click to add/remove/edit\n"
"plugins,inserts,sends and more"
@@ -8467,15 +8563,15 @@ msgstr ""
"Щелчком правой клавишей мыши можно добавлÑÑ‚ÑŒ, \n"
"изменÑÑ‚ÑŒ и удалÑÑ‚ÑŒ модули, поÑылы, возвраты и прочее."
-#: processor_box.cc:1395 processor_box.cc:1812
+#: processor_box.cc:1422 processor_box.cc:1848
msgid "Plugin Incompatibility"
msgstr "ÐеÑовмеÑтимоÑÑ‚ÑŒ модулей"
-#: processor_box.cc:1398
+#: processor_box.cc:1425
msgid "You attempted to add the plugin \"%1\" in slot %2.\n"
msgstr "Ð’Ñ‹ пыталиÑÑŒ добавить модуль \"%1\" в Ñлот %2.\n"
-#: processor_box.cc:1404
+#: processor_box.cc:1431
msgid ""
"\n"
"This plugin has:\n"
@@ -8483,21 +8579,21 @@ msgstr ""
"\n"
"У Ñтого модулÑ:\n"
-#: processor_box.cc:1407
+#: processor_box.cc:1434
msgid "\t%1 MIDI input\n"
msgid_plural "\t%1 MIDI inputs\n"
msgstr[0] "\t%1 MIDI-вход\n"
msgstr[1] "\t%1 MIDI-входа\n"
msgstr[2] "\t%1 MIDI-входов\n"
-#: processor_box.cc:1411
+#: processor_box.cc:1438
msgid "\t%1 audio input\n"
msgid_plural "\t%1 audio inputs\n"
msgstr[0] "\t%1 звуковой вход\n"
msgstr[1] "\t%1 звуковых входа\n"
msgstr[2] "\t%1 звуковых входов\n"
-#: processor_box.cc:1414
+#: processor_box.cc:1441
msgid ""
"\n"
"but at the insertion point, there are:\n"
@@ -8505,21 +8601,21 @@ msgstr ""
"\n"
"но в точке вÑтавки ÑейчаÑ:\n"
-#: processor_box.cc:1417
+#: processor_box.cc:1444
msgid "\t%1 MIDI channel\n"
msgid_plural "\t%1 MIDI channels\n"
msgstr[0] "\t%1 MIDI-канал\n"
msgstr[1] "\t%1 MIDI-канала\n"
msgstr[2] "\t%1 MIDI-каналов\n"
-#: processor_box.cc:1421
+#: processor_box.cc:1448
msgid "\t%1 audio channel\n"
msgid_plural "\t%1 audio channels\n"
msgstr[0] "\t%1 звуковой канал\n"
msgstr[1] "\t%1 звуковых канала\n"
msgstr[2] "\t%1 звуковых каналов\n"
-#: processor_box.cc:1424
+#: processor_box.cc:1451
msgid ""
"\n"
"%1 is unable to insert this plugin here.\n"
@@ -8527,11 +8623,11 @@ msgstr ""
"\n"
"%1 не может вÑтавить Ñюда Ñтот модуль.\n"
-#: processor_box.cc:1460
+#: processor_box.cc:1488
msgid "Cannot set up new send: %1"
msgstr "Ðевозможно наÑтроить новый поÑыл: %1"
-#: processor_box.cc:1815
+#: processor_box.cc:1851
msgid ""
"You cannot reorder these plugins/sends/inserts\n"
"in that way because the inputs and\n"
@@ -8541,19 +8637,19 @@ msgstr ""
"поÑылы и возвраты подобным образом, поÑкольку \n"
"входы и выходы переÑтанут корректно работать."
-#: processor_box.cc:1999
+#: processor_box.cc:2035
msgid "Rename Processor"
msgstr "Переименовать обработчик"
-#: processor_box.cc:2030
+#: processor_box.cc:2066
msgid "At least 100 IO objects exist with a name like %1 - name not changed"
msgstr ""
-#: processor_box.cc:2164
+#: processor_box.cc:2203
msgid "plugin insert constructor failed"
msgstr ""
-#: processor_box.cc:2175
+#: processor_box.cc:2214
msgid ""
"Copying the set of processors on the clipboard failed,\n"
"probably because the I/O configuration of the plugins\n"
@@ -8563,7 +8659,7 @@ msgstr ""
"буфер обмена. ВероÑтно, ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð²Ñ…Ð¾Ð´Ð° и выхода\n"
"модулей не Ñовпала Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸ÐµÐ¹ Ñтой дорожки."
-#: processor_box.cc:2221
+#: processor_box.cc:2260
msgid ""
"Do you really want to remove all processors from %1?\n"
"(this cannot be undone)"
@@ -8572,15 +8668,15 @@ msgstr ""
"обработчики из \"%1\" ?\n"
"(отмена невозможна)"
-#: processor_box.cc:2225 processor_box.cc:2250
+#: processor_box.cc:2264 processor_box.cc:2289
msgid "Yes, remove them all"
msgstr "Да, удалить их вÑе"
-#: processor_box.cc:2227 processor_box.cc:2252
+#: processor_box.cc:2266 processor_box.cc:2291
msgid "Remove processors"
msgstr "Удалить обработчики"
-#: processor_box.cc:2242
+#: processor_box.cc:2281
msgid ""
"Do you really want to remove all pre-fader processors from %1?\n"
"(this cannot be undone)"
@@ -8589,7 +8685,7 @@ msgstr ""
"предфейдерные обработчики из \"%1\" ?\n"
"(отмена невозможна)"
-#: processor_box.cc:2245
+#: processor_box.cc:2284
msgid ""
"Do you really want to remove all post-fader processors from %1?\n"
"(this cannot be undone)"
@@ -8598,59 +8694,59 @@ msgstr ""
"поÑлефейдерные обработчики из \"%1\" ?\n"
"(отмена невозможна)"
-#: processor_box.cc:2433
+#: processor_box.cc:2472
msgid "New Plugin"
msgstr "Добавить модуль"
-#: processor_box.cc:2436
+#: processor_box.cc:2475
msgid "New Insert"
msgstr "Добавить возврат"
-#: processor_box.cc:2439
+#: processor_box.cc:2478
msgid "New External Send ..."
msgstr "Добавить внешний поÑыл Ñ Ð¿Ð¾Ñ€Ñ‚Ð¾Ð¼ JACK..."
-#: processor_box.cc:2443
+#: processor_box.cc:2482
msgid "New Aux Send ..."
msgstr "Добавить внешний поÑыл без порта JACK..."
-#: processor_box.cc:2446
+#: processor_box.cc:2485
msgid "Send Options"
msgstr ""
-#: processor_box.cc:2448
+#: processor_box.cc:2487
msgid "Clear (all)"
msgstr "ОчиÑтить (вÑÑ‘)"
-#: processor_box.cc:2450
+#: processor_box.cc:2489
msgid "Clear (pre-fader)"
msgstr "ОчиÑтить (до фейдера)"
-#: processor_box.cc:2452
+#: processor_box.cc:2491
msgid "Clear (post-fader)"
msgstr "ОчиÑтить (поÑле фейдера)"
-#: processor_box.cc:2478
+#: processor_box.cc:2517
msgid "Activate All"
msgstr "Ðктивировать вÑе"
-#: processor_box.cc:2480
+#: processor_box.cc:2519
msgid "Deactivate All"
msgstr "Деактивировать вÑе"
-#: processor_box.cc:2482
+#: processor_box.cc:2521
msgid "A/B Plugins"
msgstr "Отключить вÑе"
-#: processor_box.cc:2491
+#: processor_box.cc:2530
msgid "Edit with generic controls..."
msgstr "Изменить Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñом хоÑта..."
-#: processor_box.cc:2794
+#: processor_box.cc:2833
msgid "%1: %2 (by %3)"
msgstr "%1: %2 (автор — %3)"
-#: processor_box.cc:2796
+#: processor_box.cc:2835
msgid "%1 (by %2)"
msgstr ""
@@ -8666,11 +8762,11 @@ msgstr "Банк патчей"
msgid "Patch"
msgstr "Патч"
-#: patch_change_dialog.cc:99 step_entry.cc:429
+#: patch_change_dialog.cc:99 step_entry.cc:430
msgid "Program"
msgstr "Программа"
-#: patch_change_dialog.cc:107 step_entry.cc:421
+#: patch_change_dialog.cc:107 step_entry.cc:422
msgid "Bank"
msgstr "Банк"
@@ -8702,122 +8798,122 @@ msgstr "Ðачало привÑзки ноты"
msgid "Snap note end"
msgstr "Конец привÑзки ноты"
-#: rc_option_editor.cc:67
+#: rc_option_editor.cc:76
msgid "Click audio file:"
msgstr "Файл щелчка доли:"
-#: rc_option_editor.cc:70 rc_option_editor.cc:77
+#: rc_option_editor.cc:79 rc_option_editor.cc:86
msgid "Browse..."
msgstr "ПроÑмотр..."
-#: rc_option_editor.cc:74
+#: rc_option_editor.cc:83
msgid "Click emphasis audio file:"
msgstr "Файл щелчка Ñильной доли:"
-#: rc_option_editor.cc:106
+#: rc_option_editor.cc:115
msgid "Choose Click"
msgstr "Выберите щелчок метронома"
-#: rc_option_editor.cc:126
+#: rc_option_editor.cc:135
msgid "Choose Click Emphasis"
msgstr "Выберите акцентирующий щелчок метронома"
-#: rc_option_editor.cc:158
+#: rc_option_editor.cc:167
msgid "Limit undo history to"
msgstr "Ограничивать иÑторию дейÑтвий"
-#: rc_option_editor.cc:159
+#: rc_option_editor.cc:168
msgid "Save undo history of"
msgstr "Ограничивать Ñохранение иÑтории дейÑтвий"
-#: rc_option_editor.cc:168 rc_option_editor.cc:175
+#: rc_option_editor.cc:177 rc_option_editor.cc:184
msgid "commands"
msgstr "командами"
-#: rc_option_editor.cc:313
+#: rc_option_editor.cc:322
msgid "Edit using:"
msgstr "Редактировать Ñ:"
-#: rc_option_editor.cc:319 rc_option_editor.cc:345 rc_option_editor.cc:372
+#: rc_option_editor.cc:328 rc_option_editor.cc:354 rc_option_editor.cc:381
msgid "+ button"
msgstr "+ клавиша"
-#: rc_option_editor.cc:339
+#: rc_option_editor.cc:348
msgid "Delete using:"
msgstr "УдалÑÑ‚ÑŒ Ñ:"
-#: rc_option_editor.cc:366
+#: rc_option_editor.cc:375
msgid "Insert note using:"
msgstr "Ð’ÑтавлÑÑ‚ÑŒ ноты Ñ:"
-#: rc_option_editor.cc:393
+#: rc_option_editor.cc:402
msgid "Ignore snap using:"
msgstr "Игнорировать привÑзку Ñ:"
-#: rc_option_editor.cc:409
+#: rc_option_editor.cc:418
msgid "Keyboard layout:"
msgstr "РаÑкладка клавиатуры:"
-#: rc_option_editor.cc:532
+#: rc_option_editor.cc:541
msgid "Font scaling:"
msgstr "МаÑштаб шрифта:"
-#: rc_option_editor.cc:584
+#: rc_option_editor.cc:591
+msgid "Waveform Clip Level (dBFS):"
+msgstr ""
+
+#: rc_option_editor.cc:643
msgid "Playback (seconds of buffering):"
msgstr "ВоÑпроизведение (в Ñекундах):"
-#: rc_option_editor.cc:597
+#: rc_option_editor.cc:656
msgid "Recording (seconds of buffering):"
msgstr "ЗапиÑÑŒ (в Ñекундах):"
-#: rc_option_editor.cc:655
+#: rc_option_editor.cc:714
msgid "Control Surface Protocol"
msgstr "УÑтройÑтва управлениÑ"
-#: rc_option_editor.cc:659
-msgid "Feedback"
-msgstr "Отклик"
-
-#: rc_option_editor.cc:664
+#: rc_option_editor.cc:723
msgid "Double-click on a name to edit settings for an enabled protocol"
msgstr ""
"Двойной щелчок по названию открывает редактор параметров включённого "
"протокола"
-#: rc_option_editor.cc:827
+#: rc_option_editor.cc:886
msgid "Show Video Export Info before export"
msgstr "Показывать диалог Ñ Ð²Ð²Ð¾Ð´Ð½Ð¾Ð¹ информацией об ÑкÑпорте видео"
-#: rc_option_editor.cc:828
+#: rc_option_editor.cc:887
msgid "Show Video Server Startup Dialog"
msgstr "Показывать диалог Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ видеоÑервера"
-#: rc_option_editor.cc:829
+#: rc_option_editor.cc:888
msgid "Advanced Setup (remote video server)"
msgstr "Дополнительные параметры (удалённого видеоÑервера)"
-#: rc_option_editor.cc:837
+#: rc_option_editor.cc:896
msgid ""
"<b>When enabled</b> you can speficify a custom video-server URL and docroot. "
"- Do not enable this option unless you know what you are doing."
msgstr ""
-#: rc_option_editor.cc:839
+#: rc_option_editor.cc:898
msgid "Video Server URL:"
msgstr "URL видеоÑервера:"
-#: rc_option_editor.cc:844
+#: rc_option_editor.cc:903
msgid ""
"Base URL of the video-server including http prefix. This is usually 'http://"
"hostname.example.org:1554/' and defaults to 'http://localhost:1554/' when "
"the video-server is running locally"
msgstr ""
-#: rc_option_editor.cc:846
+#: rc_option_editor.cc:905
msgid "Video Folder:"
msgstr "Папка Ñ Ð²Ð¸Ð´ÐµÐ¾:"
-#: rc_option_editor.cc:851
+#: rc_option_editor.cc:910
msgid ""
"Local path to the video-server document-root. Only files below this "
"directory will be accessible by the video-server. If the server run on a "
@@ -8826,7 +8922,7 @@ msgid ""
"monitor and file-browsing when opening/adding a video file."
msgstr ""
-#: rc_option_editor.cc:858
+#: rc_option_editor.cc:917
msgid ""
"<b>When enabled</b> an information window with details is displayed before "
"the video-export dialog."
@@ -8834,7 +8930,7 @@ msgstr ""
"<b>ЕÑли включено,</b> перед ÑкÑпортом видео показываетÑÑ Ð¾ÐºÐ½Ð¾ Ñо Ñправочной "
"информацией"
-#: rc_option_editor.cc:863
+#: rc_option_editor.cc:922
msgid ""
"<b>When enabled</b> the video server is never launched automatically without "
"confirmation"
@@ -8842,101 +8938,182 @@ msgstr ""
"<b>ЕÑли включено,</b> видеоÑервер никогда автоматичеÑки не запуÑкаетÑÑ Ð±ÐµÐ· "
"подтверждениÑ"
-#: rc_option_editor.cc:1003
+#: rc_option_editor.cc:1004
+msgid "Always Display Plugin Scan Progress"
+msgstr ""
+
+#: rc_option_editor.cc:1005
+msgid "Scan for new VST Plugins on Application Start"
+msgstr ""
+
+#: rc_option_editor.cc:1016
+msgid "General"
+msgstr ""
+
+#: rc_option_editor.cc:1022
+msgid "Scan for Plugins"
+msgstr ""
+
+#: rc_option_editor.cc:1029
+msgid ""
+"<b>When enabled</b> a popup window showing plugin scan progress is displayed "
+"for indexing (cache load) and discovery (detect new plugins)"
+msgstr ""
+
+#: rc_option_editor.cc:1035
+msgid ""
+"Specify the default timeout for plugin instantiation in 1/10 seconds. "
+"Plugins that require more time to load will be blacklisted. A value of 0 "
+"disables the timeout."
+msgstr ""
+
+#: rc_option_editor.cc:1037
+msgid "Scan Time Out [deciseconds]"
+msgstr ""
+
+#: rc_option_editor.cc:1045
+msgid "VST"
+msgstr ""
+
+#: rc_option_editor.cc:1051
+msgid "Clear VST Cache"
+msgstr ""
+
+#: rc_option_editor.cc:1055
+msgid "Clear VST Blacklist"
+msgstr ""
+
+#: rc_option_editor.cc:1063
+msgid ""
+"<b>When enabled</b> new VST plugins are searched, tested and added to the "
+"cache index on application start. When disabled new plugins will only be "
+"available after triggering a 'Scan' manually"
+msgstr ""
+
+#: rc_option_editor.cc:1066
+msgid "Linux VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1073
+msgid "Windows VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1135
+msgid "Set Windows VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1150
+msgid "Set Linux VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1231
msgid "%1 Preferences"
msgstr "Параметры %1"
-#: rc_option_editor.cc:1014
+#: rc_option_editor.cc:1242
msgid "DSP CPU Utilization"
msgstr "ИÑпользование центрального процеÑÑора"
-#: rc_option_editor.cc:1018
+#: rc_option_editor.cc:1246
msgid "Signal processing uses"
msgstr "При обработке иÑпользуютÑÑ"
-#: rc_option_editor.cc:1023
+#: rc_option_editor.cc:1251
msgid "all but one processor"
msgstr "Ð’Ñе процеÑÑоры кроме одного"
-#: rc_option_editor.cc:1024
+#: rc_option_editor.cc:1252
msgid "all available processors"
msgstr "Ð’Ñе доÑтупные процеÑÑоры"
-#: rc_option_editor.cc:1027
+#: rc_option_editor.cc:1255
msgid "%1 processors"
msgstr "%1 процеÑÑора"
-#: rc_option_editor.cc:1030
+#: rc_option_editor.cc:1258
msgid "This setting will only take effect when %1 is restarted."
msgstr "Это изменение вÑтупит в Ñилу при Ñледующем запуÑке %1."
-#: rc_option_editor.cc:1035
+#: rc_option_editor.cc:1263
msgid "Options|Undo"
msgstr "ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ð´ÐµÐ¹Ñтвий"
-#: rc_option_editor.cc:1042
+#: rc_option_editor.cc:1270
msgid "Verify removal of last capture"
msgstr "ПроверÑÑ‚ÑŒ удаление поÑледней запиÑи"
-#: rc_option_editor.cc:1050
+#: rc_option_editor.cc:1278
msgid "Make periodic backups of the session file"
msgstr "ПериодичеÑки Ñоздавать резервные копии файла ÑеÑÑии"
-#: rc_option_editor.cc:1055
+#: rc_option_editor.cc:1283
msgid "Session Management"
msgstr "Управление ÑеÑÑиÑми"
-#: rc_option_editor.cc:1060
+#: rc_option_editor.cc:1288
msgid "Always copy imported files"
msgstr "Ð’Ñегда копировать импортируемые файлы"
-#: rc_option_editor.cc:1067
+#: rc_option_editor.cc:1295
msgid "Default folder for new sessions:"
msgstr "Папка Ð´Ð»Ñ Ð½Ð¾Ð²Ñ‹Ñ… ÑеÑÑий по умолчанию:"
-#: rc_option_editor.cc:1075
+#: rc_option_editor.cc:1303
msgid "Maximum number of recent sessions"
msgstr "МакÑимальное чиÑло недавних ÑеÑÑий"
-#: rc_option_editor.cc:1088
+#: rc_option_editor.cc:1316
msgid "Click gain level"
msgstr "Уровень щелчка метронома"
-#: rc_option_editor.cc:1093 route_time_axis.cc:215 route_time_axis.cc:676
+#: rc_option_editor.cc:1321 route_time_axis.cc:266 route_time_axis.cc:794
msgid "Automation"
msgstr "ÐвтоматизациÑ"
-#: rc_option_editor.cc:1098
+#: rc_option_editor.cc:1326
msgid "Thinning factor (larger value => less data)"
msgstr ""
-#: rc_option_editor.cc:1107
+#: rc_option_editor.cc:1335
msgid "Automation sampling interval (milliseconds)"
msgstr "Интервал ÑÑÐ¼Ð¿Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ð·Ð°Ñ†Ð¸Ð¸ (мÑ)"
-#: rc_option_editor.cc:1119
+#: rc_option_editor.cc:1347
msgid "Keep record-enable engaged on stop"
msgstr "ГотовноÑÑ‚ÑŒ к запиÑи ÑохранÑетÑÑ Ð¿Ð¾Ñле оÑтановки"
-#: rc_option_editor.cc:1128
+#: rc_option_editor.cc:1356
msgid "Stop recording when an xrun occurs"
msgstr "ОÑтанавливать запиÑÑŒ при раÑÑинхронизации"
-#: rc_option_editor.cc:1133
+#: rc_option_editor.cc:1361
msgid ""
"<b>When enabled</b> %1 will stop recording if an over- or underrun is "
"detected by the audio engine"
msgstr ""
-#: rc_option_editor.cc:1139
+#: rc_option_editor.cc:1367
+msgid "Play loop is a transport mode"
+msgstr ""
+
+#: rc_option_editor.cc:1372
+msgid ""
+"<b>When enabled</b> the loop button does not start playback but forces "
+"playback to always play the loop\n"
+"\n"
+"<b>When disabled</b> the loop button starts playing the loop, but stop then "
+"cancels loop playback"
+msgstr ""
+
+#: rc_option_editor.cc:1378
msgid "Create markers where xruns occur"
msgstr "Создавать маркеры в точках раÑÑинхронизации"
-#: rc_option_editor.cc:1148
+#: rc_option_editor.cc:1387
msgid "Stop at the end of the session"
msgstr "ОÑтанавливатьÑÑ Ð² конце ÑеÑÑии"
-#: rc_option_editor.cc:1153
+#: rc_option_editor.cc:1392
msgid ""
"<b>When enabled</b> if %1 is <b>not recording</b>, it will stop the "
"transport when it reaches the current session end marker\n"
@@ -8949,13 +9126,13 @@ msgstr ""
"\n"
"<b>ЕÑли выключено</b>, %1 будет воÑпроизводить дальше маркера конца ÑеÑÑии."
-#: rc_option_editor.cc:1161
+#: rc_option_editor.cc:1400
msgid "Do seamless looping (not possible when slaved to MTC, LTC etc)"
msgstr ""
"БеÑшовное цикличеÑкое воÑпроизведение (невозможно, когда Ardour ведом по "
"MTC, LTC и т.д.)"
-#: rc_option_editor.cc:1166
+#: rc_option_editor.cc:1405
msgid ""
"<b>When enabled</b> this will loop by reading ahead and wrapping around at "
"the loop point, preventing any need to do a transport locate at the end of "
@@ -8965,11 +9142,11 @@ msgid ""
"loop when %1 reaches the end which will often cause a small click or delay"
msgstr ""
-#: rc_option_editor.cc:1174
+#: rc_option_editor.cc:1413
msgid "Disable per-track record disarm while rolling"
msgstr "Сделать невозможным отключение готовноÑти к запиÑи при захвате"
-#: rc_option_editor.cc:1178
+#: rc_option_editor.cc:1417
msgid ""
"<b>When enabled</b> this will prevent you from accidentally stopping "
"specific tracks recording during a take"
@@ -8977,11 +9154,11 @@ msgstr ""
"<b>ЕÑли включено</b>, вы не Ñможете нечаÑнно выключить готовноÑÑ‚ÑŒ к запиÑи "
"во Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ñ…Ð²Ð°Ñ‚Ð° Ñигнала"
-#: rc_option_editor.cc:1183
+#: rc_option_editor.cc:1422
msgid "12dB gain reduction during fast-forward and fast-rewind"
msgstr "Приглушение громкоÑти на 12Дб при перемотке"
-#: rc_option_editor.cc:1187
+#: rc_option_editor.cc:1426
msgid ""
"This will reduce the unpleasant increase in perceived volume that occurs "
"when fast-forwarding or rewinding through some kinds of audio"
@@ -8989,19 +9166,19 @@ msgstr ""
"При перемотке воÑпринимаемое на Ñлух резкое увеличение громкоÑти будет "
"нивелировано"
-#: rc_option_editor.cc:1191
+#: rc_option_editor.cc:1430
msgid "Sync/Slave"
msgstr "Ð¡Ð¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¸ ведомый режим"
-#: rc_option_editor.cc:1195
+#: rc_option_editor.cc:1434
msgid "External timecode source"
msgstr "Внешний иÑточник ÑинхроÑигнала"
-#: rc_option_editor.cc:1205
+#: rc_option_editor.cc:1444
msgid "Match session video frame rate to external timecode"
msgstr "Ðдаптировать чаÑтоту кадров видео в ÑеÑÑии к внешнему тайм-коду"
-#: rc_option_editor.cc:1211
+#: rc_option_editor.cc:1450
msgid ""
"This option controls the value of the video frame rate <i>while chasing</i> "
"an external timecode source.\n"
@@ -9024,21 +9201,21 @@ msgstr ""
"Ñтого индикатор чаÑтоты кадров в оÑновном Ñчётчике будет мерцать краÑным, а "
"%1 будет конвертировать внешний тайм-код в тайм-код ÑеÑÑии."
-#: rc_option_editor.cc:1221
+#: rc_option_editor.cc:1460
msgid "External timecode is sync locked"
msgstr "Внешний иÑточник ÑинхроÑигнала заблокировн"
-#: rc_option_editor.cc:1227
+#: rc_option_editor.cc:1466
msgid ""
"<b>When enabled</b> indicates that the selected external timecode source "
"shares sync (Black &amp; Burst, Wordclock, etc) with the audio interface."
msgstr ""
-#: rc_option_editor.cc:1234
+#: rc_option_editor.cc:1473
msgid "Lock to 29.9700 fps instead of 30000/1001"
msgstr "Принудительно иÑпользовать 29,9700 к/Ñ Ð²Ð¼ÐµÑто 30000/1001"
-#: rc_option_editor.cc:1240
+#: rc_option_editor.cc:1479
msgid ""
"<b>When enabled</b> the external timecode source is assumed to use 29.97 fps "
"instead of 30000/1001.\n"
@@ -9051,139 +9228,139 @@ msgid ""
"variant of using exactly 29.97 fps has zero timecode drift.\n"
msgstr ""
-#: rc_option_editor.cc:1250
+#: rc_option_editor.cc:1489
msgid "LTC Reader"
msgstr "Чтение LTC"
-#: rc_option_editor.cc:1254
+#: rc_option_editor.cc:1493
msgid "LTC incoming port"
msgstr "ВходÑщий порт LTC"
-#: rc_option_editor.cc:1267
+#: rc_option_editor.cc:1506
msgid "LTC Generator"
msgstr "Генератор LTC"
-#: rc_option_editor.cc:1272
+#: rc_option_editor.cc:1511
msgid "Enable LTC generator"
msgstr "Включить генератор LTC"
-#: rc_option_editor.cc:1279
-msgid "send LTC while stopped"
-msgstr "ПоÑылать LTC во Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñтановки"
+#: rc_option_editor.cc:1518
+msgid "Send LTC while stopped"
+msgstr ""
-#: rc_option_editor.cc:1285
+#: rc_option_editor.cc:1524
msgid ""
"<b>When enabled</b> %1 will continue to send LTC information even when the "
"transport (playhead) is not moving"
msgstr ""
-#: rc_option_editor.cc:1291
+#: rc_option_editor.cc:1530
msgid "LTC generator level"
msgstr "Уровень генератора LTC"
-#: rc_option_editor.cc:1295
+#: rc_option_editor.cc:1534
msgid ""
"Specify the Peak Volume of the generated LTC signal in dbFS. A good value "
"is 0dBu ^= -18dbFS in an EBU calibrated system"
msgstr ""
-#: rc_option_editor.cc:1307
-msgid "Link selection of regions and tracks"
-msgstr "СвÑзывать выделение облаÑтей и дорожек"
+#: rc_option_editor.cc:1546
+msgid "Allow dragging of playhead"
+msgstr ""
-#: rc_option_editor.cc:1315
+#: rc_option_editor.cc:1554
msgid "Move relevant automation when audio regions are moved"
msgstr "Перемещать автоматизацию вмеÑте Ñ Ð¾Ð±Ð»Ð°ÑÑ‚Ñми"
-#: rc_option_editor.cc:1323
+#: rc_option_editor.cc:1562
msgid "Show meters on tracks in the editor"
msgstr "Показывать индикаторы громкоÑти в дорожках"
-#: rc_option_editor.cc:1331
+#: rc_option_editor.cc:1570
msgid "Display master-meter in the toolbar"
msgstr "Показывать индикатор громкоÑти маÑтер-шины в панели"
-#: rc_option_editor.cc:1338
+#: rc_option_editor.cc:1577
+msgid "Default fade shape"
+msgstr ""
+
+#: rc_option_editor.cc:1596
msgid "Regions in active edit groups are edited together"
msgstr "ОблаÑти в активных редактируемых группах менÑÑŽÑ‚ÑÑ Ð²Ð¼ÐµÑте"
-#: rc_option_editor.cc:1339
+#: rc_option_editor.cc:1597
msgid "whenever they overlap in time"
msgstr "Когда переÑекаютÑÑ Ð¿Ð¾ времени"
-#: rc_option_editor.cc:1340
+#: rc_option_editor.cc:1598
msgid "only if they have identical length, position and origin"
msgstr "При одинаковой длительноÑти, позиции и проиÑхождении"
-#: rc_option_editor.cc:1350
+#: rc_option_editor.cc:1608
msgid "Make rubberband selection rectangle snap to the grid"
msgstr "ПрÑмоугольное выделение привÑзываетÑÑ Ðº Ñетке"
-#: rc_option_editor.cc:1358
+#: rc_option_editor.cc:1616
msgid "Show waveforms in regions"
msgstr "Показывать форму волны в облаÑÑ‚ÑÑ…"
-#: rc_option_editor.cc:1366
+#: rc_option_editor.cc:1624
msgid "Show gain envelopes in audio regions"
msgstr "Показывать огибающие уÑилениÑ"
-#: rc_option_editor.cc:1367
+#: rc_option_editor.cc:1625
msgid "in all modes"
msgstr "Во вÑех режимах"
-#: rc_option_editor.cc:1368
+#: rc_option_editor.cc:1626
msgid "only in region gain mode"
msgstr "Только в режиме правки огибающей"
-#: rc_option_editor.cc:1375
+#: rc_option_editor.cc:1633
msgid "Waveform scale"
msgstr "МаÑштаб Ñигнала"
-#: rc_option_editor.cc:1380
+#: rc_option_editor.cc:1638
msgid "linear"
msgstr "Линейный"
-#: rc_option_editor.cc:1381
+#: rc_option_editor.cc:1639
msgid "logarithmic"
msgstr "ЛогарифмичеÑкий"
-#: rc_option_editor.cc:1387
+#: rc_option_editor.cc:1645
msgid "Waveform shape"
msgstr "Форма Ñигнала"
-#: rc_option_editor.cc:1392
+#: rc_option_editor.cc:1650
msgid "traditional"
msgstr "ОбычнаÑ"
-#: rc_option_editor.cc:1393
+#: rc_option_editor.cc:1651
msgid "rectified"
msgstr "От низа"
-#: rc_option_editor.cc:1400
+#: rc_option_editor.cc:1660
msgid "Show waveforms for audio while it is being recorded"
msgstr "Показывать форму Ñигнала при запиÑи"
-#: rc_option_editor.cc:1408
+#: rc_option_editor.cc:1668
msgid "Show zoom toolbar"
msgstr "Показывать панель Ð´Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð°Ñштабом"
-#: rc_option_editor.cc:1416
-msgid "Color regions using their track's color"
-msgstr "РаÑкрашивать облаÑти цветом дорожки"
-
-#: rc_option_editor.cc:1424
+#: rc_option_editor.cc:1676
msgid "Update editor window during drags of the summary"
msgstr "ОбновлÑÑ‚ÑŒ окно редактора при изменениÑÑ… в панели Ñводки"
-#: rc_option_editor.cc:1432
+#: rc_option_editor.cc:1684
msgid "Synchronise editor and mixer selection"
msgstr "Синхронизировать выделение в редакторе и микшере"
-#: rc_option_editor.cc:1439
+#: rc_option_editor.cc:1691
msgid "Name new markers"
msgstr "Спрашивать об имени каждого нового маркера"
-#: rc_option_editor.cc:1445
+#: rc_option_editor.cc:1697
msgid ""
"If enabled, popup a dialog when a new marker is created to allow its name to "
"be set as it is created.\n"
@@ -9191,253 +9368,257 @@ msgid ""
"You can always rename markers by right-clicking on them"
msgstr ""
-#: rc_option_editor.cc:1451
+#: rc_option_editor.cc:1703
msgid "Auto-scroll editor window when dragging near its edges"
msgstr ""
"ÐвтоматичеÑки прокручивать окно редактора при перетаÑкивании близко к краÑм"
-#: rc_option_editor.cc:1458
+#: rc_option_editor.cc:1710
msgid "Buffering"
msgstr "БуферизациÑ"
-#: rc_option_editor.cc:1466
+#: rc_option_editor.cc:1718
msgid "Record monitoring handled by"
msgstr "Мониторинг запиÑи выполнÑет"
-#: rc_option_editor.cc:1472
+#: rc_option_editor.cc:1724
msgid "via Audio Driver"
msgstr ""
-#: rc_option_editor.cc:1475
-msgid "ardour"
-msgstr "Ardour"
-
-#: rc_option_editor.cc:1476
+#: rc_option_editor.cc:1730
msgid "audio hardware"
msgstr "Ðппаратное обеÑпечение"
-#: rc_option_editor.cc:1483
+#: rc_option_editor.cc:1737
msgid "Tape machine mode"
msgstr "Режим плёночного магнитофона"
-#: rc_option_editor.cc:1488
+#: rc_option_editor.cc:1742
msgid "Connection of tracks and busses"
msgstr "Соединение дорожек и шин"
-#: rc_option_editor.cc:1493
+#: rc_option_editor.cc:1747
msgid "Auto-connect master/monitor busses"
msgstr "ÐвтоматичеÑки ÑоединÑÑ‚ÑŒ шины master/monitor"
-#: rc_option_editor.cc:1500
+#: rc_option_editor.cc:1754
msgid "Connect track inputs"
msgstr "СоединÑÑ‚ÑŒ входы дорожек"
-#: rc_option_editor.cc:1505
+#: rc_option_editor.cc:1759
msgid "automatically to physical inputs"
msgstr "ÐвтоматичеÑки Ñ Ñ„Ð¸Ð·Ð¸Ñ‡ÐµÑкими входами"
-#: rc_option_editor.cc:1506 rc_option_editor.cc:1519
+#: rc_option_editor.cc:1760 rc_option_editor.cc:1773
msgid "manually"
msgstr "Вручную"
-#: rc_option_editor.cc:1512
+#: rc_option_editor.cc:1766
msgid "Connect track and bus outputs"
msgstr "СоединÑÑ‚ÑŒ выходы дорожек и шин"
-#: rc_option_editor.cc:1517
+#: rc_option_editor.cc:1771
msgid "automatically to physical outputs"
msgstr "ÐвтоматичеÑки Ñ Ñ„Ð¸Ð·Ð¸Ñ‡ÐµÑкими выходами"
-#: rc_option_editor.cc:1518
+#: rc_option_editor.cc:1772
msgid "automatically to master bus"
msgstr "ÐвтоматичеÑки Ñ Ð¾Ð±Ñ‰ÐµÐ¹ шиной"
-#: rc_option_editor.cc:1523
+#: rc_option_editor.cc:1777
msgid "Denormals"
msgstr "ÐžÑ‚ÐºÐ»Ð¾Ð½ÐµÐ½Ð¸Ñ Ñигнала"
-#: rc_option_editor.cc:1528
+#: rc_option_editor.cc:1782
msgid "Use DC bias to protect against denormals"
msgstr ""
-#: rc_option_editor.cc:1535
+#: rc_option_editor.cc:1789
msgid "Processor handling"
msgstr "Что делать Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ°Ð¼Ð¸"
-#: rc_option_editor.cc:1540
+#: rc_option_editor.cc:1794
msgid "no processor handling"
msgstr "Ðичего не делать"
-#: rc_option_editor.cc:1545
+#: rc_option_editor.cc:1799
msgid "use FlushToZero"
msgstr "ИÑпользовать FlushToZero"
-#: rc_option_editor.cc:1549
+#: rc_option_editor.cc:1803
msgid "use DenormalsAreZero"
msgstr "ИÑпользовать DenormalsAreZero"
-#: rc_option_editor.cc:1553
+#: rc_option_editor.cc:1807
msgid "use FlushToZero and DenormalsAreZero"
msgstr "ИÑпользовать FlushToZero и DenormalsAreZero"
-#: rc_option_editor.cc:1563
+#: rc_option_editor.cc:1817
msgid "Silence plugins when the transport is stopped"
msgstr "Приглушать модули при оÑтановке транÑпорта"
-#: rc_option_editor.cc:1571
+#: rc_option_editor.cc:1825
msgid "Make new plugins active"
msgstr "Делать новые Ñффекты/инÑтрументы активными"
-#: rc_option_editor.cc:1579
+#: rc_option_editor.cc:1835
msgid "Enable automatic analysis of audio"
msgstr "Включить автоматичеÑкий анализ звука"
-#: rc_option_editor.cc:1587
+#: rc_option_editor.cc:1843
msgid "Replicate missing region channels"
msgstr "ВоÑÑоздавать отÑутÑтвующие каналы облаÑти"
-#: rc_option_editor.cc:1594 rc_option_editor.cc:1596 rc_option_editor.cc:1611
-#: rc_option_editor.cc:1623 rc_option_editor.cc:1635 rc_option_editor.cc:1647
-#: rc_option_editor.cc:1651 rc_option_editor.cc:1659 rc_option_editor.cc:1667
-#: rc_option_editor.cc:1675 rc_option_editor.cc:1677 rc_option_editor.cc:1685
-#: rc_option_editor.cc:1693 rc_option_editor.cc:1701 rc_option_editor.cc:1709
-#: rc_option_editor.cc:1711
+#: rc_option_editor.cc:1850 rc_option_editor.cc:1852 rc_option_editor.cc:1867
+#: rc_option_editor.cc:1879 rc_option_editor.cc:1891 rc_option_editor.cc:1903
+#: rc_option_editor.cc:1907 rc_option_editor.cc:1915 rc_option_editor.cc:1923
+#: rc_option_editor.cc:1931 rc_option_editor.cc:1933 rc_option_editor.cc:1941
+#: rc_option_editor.cc:1949 rc_option_editor.cc:1957 rc_option_editor.cc:1965
+#: rc_option_editor.cc:1967
msgid "Solo / mute"
msgstr "Соло/Приглушение"
-#: rc_option_editor.cc:1599
+#: rc_option_editor.cc:1855
msgid "Solo-in-place mute cut (dB)"
msgstr "Приглушение Ñигнала при Ñолировании (dB)"
-#: rc_option_editor.cc:1606
+#: rc_option_editor.cc:1862
msgid "Solo controls are Listen controls"
msgstr "Управление Ñолированием работает как управление проÑлушиванием"
-#: rc_option_editor.cc:1615
+#: rc_option_editor.cc:1871
msgid "Listen Position"
msgstr "Положение проÑлушиваниÑ"
-#: rc_option_editor.cc:1620
+#: rc_option_editor.cc:1876
msgid "after-fader (AFL)"
msgstr "ПоÑле фейдера (AFL)"
-#: rc_option_editor.cc:1621
+#: rc_option_editor.cc:1877
msgid "pre-fader (PFL)"
msgstr "До фейдера (PFL)"
-#: rc_option_editor.cc:1627
+#: rc_option_editor.cc:1883
msgid "PFL signals come from"
msgstr "ИÑточник Ñигнала PFL"
-#: rc_option_editor.cc:1632
+#: rc_option_editor.cc:1888
msgid "before pre-fader processors"
msgstr "До поÑлефейдерных обработчиков"
-#: rc_option_editor.cc:1633
+#: rc_option_editor.cc:1889
msgid "pre-fader but after pre-fader processors"
msgstr "До фейдера, но поÑле предфейдерных обработчиков"
-#: rc_option_editor.cc:1639
+#: rc_option_editor.cc:1895
msgid "AFL signals come from"
msgstr "ИÑточник Ñигнала AFL"
-#: rc_option_editor.cc:1644
+#: rc_option_editor.cc:1900
msgid "immediately post-fader"
msgstr "Сразу поÑле фейдера"
-#: rc_option_editor.cc:1645
+#: rc_option_editor.cc:1901
msgid "after post-fader processors (before pan)"
msgstr "За поÑлефейдерными обработчиками и до панорамированиÑ"
-#: rc_option_editor.cc:1654
+#: rc_option_editor.cc:1910
msgid "Exclusive solo"
msgstr "ЭкÑклюзивное Ñолирование"
-#: rc_option_editor.cc:1662
+#: rc_option_editor.cc:1918
msgid "Show solo muting"
msgstr "Показывать приглушение при Ñолировании"
-#: rc_option_editor.cc:1670
+#: rc_option_editor.cc:1926
msgid "Soloing overrides muting"
msgstr "Солирование приоритетнее приглушениÑ"
-#: rc_option_editor.cc:1675
+#: rc_option_editor.cc:1931
msgid "Default track / bus muting options"
msgstr "Приглушение дорожек и шин по умолчанию затрагивает"
-#: rc_option_editor.cc:1680
+#: rc_option_editor.cc:1936
msgid "Mute affects pre-fader sends"
msgstr "Предфейдерные поÑылы"
-#: rc_option_editor.cc:1688
+#: rc_option_editor.cc:1944
msgid "Mute affects post-fader sends"
msgstr "ПоÑлефейдерные поÑылы"
-#: rc_option_editor.cc:1696
+#: rc_option_editor.cc:1952
msgid "Mute affects control outputs"
msgstr "Выходы мониторинга"
-#: rc_option_editor.cc:1704
+#: rc_option_editor.cc:1960
msgid "Mute affects main outputs"
msgstr "ОÑновные выходы"
-#: rc_option_editor.cc:1709
+#: rc_option_editor.cc:1965
msgid "Send Routing"
msgstr "ÐœÐ°Ñ€ÑˆÑ€ÑƒÑ‚Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ñылов"
-#: rc_option_editor.cc:1714
+#: rc_option_editor.cc:1970
msgid "Link panners of Aux and External Sends with main panner by default"
msgstr "По умолчанию ÑвÑзывать внешние поÑылы Ñ Ð¾Ñновным регулÑтором панорамы"
-#: rc_option_editor.cc:1730
+#: rc_option_editor.cc:1986
msgid "Send MIDI Time Code"
msgstr "Передавать MIDI Time Code"
-#: rc_option_editor.cc:1738
+#: rc_option_editor.cc:1994
msgid "Percentage either side of normal transport speed to transmit MTC"
msgstr ""
-#: rc_option_editor.cc:1747
+#: rc_option_editor.cc:2003
msgid "Obey MIDI Machine Control commands"
msgstr "ВыполнÑÑ‚ÑŒ команды MIDI Machine Control"
-#: rc_option_editor.cc:1755
+#: rc_option_editor.cc:2011
msgid "Send MIDI Machine Control commands"
msgstr "ОтправлÑÑ‚ÑŒ команды MIDI Machine Control"
-#: rc_option_editor.cc:1763
+#: rc_option_editor.cc:2019
msgid "Send MIDI control feedback"
msgstr "ОтправлÑÑ‚ÑŒ отклик на контрольные ÑÐ¾Ð±Ñ‹Ñ‚Ð¸Ñ MIDI"
-#: rc_option_editor.cc:1771
+#: rc_option_editor.cc:2027
msgid "Inbound MMC device ID"
msgstr "Идентификатор входÑщего уÑтройÑтва MMC"
-#: rc_option_editor.cc:1780
+#: rc_option_editor.cc:2036
msgid "Outbound MMC device ID"
msgstr "Идентификатор выходÑщего уÑтройÑтва MMC"
-#: rc_option_editor.cc:1789
+#: rc_option_editor.cc:2045
msgid "Initial program change"
msgstr "ИÑÑ…Ð¾Ð´Ð½Ð°Ñ Ñмена программы"
-#: rc_option_editor.cc:1798
+#: rc_option_editor.cc:2054
msgid "Display first MIDI bank/program as 0"
msgstr "Показывать первый банк/программу MIDI как 0"
-#: rc_option_editor.cc:1806
+#: rc_option_editor.cc:2062
msgid "Never display periodic MIDI messages (MTC, MIDI Clock)"
msgstr "Ðикогда не показывать периодичеÑкие ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ MIDI (MTC, MIDI Clock)"
-#: rc_option_editor.cc:1814
+#: rc_option_editor.cc:2070
msgid "Sound MIDI notes as they are selected"
msgstr "ВоÑпроизводить ноты MIDI при их выделении"
-#: rc_option_editor.cc:1822 rc_option_editor.cc:1832 rc_option_editor.cc:1834
+#: rc_option_editor.cc:2075
+msgid "Midi Audition"
+msgstr ""
+
+#: rc_option_editor.cc:2079
+msgid "Midi Audition Synth (LV2)"
+msgstr ""
+
+#: rc_option_editor.cc:2103 rc_option_editor.cc:2113 rc_option_editor.cc:2115
msgid "User interaction"
msgstr "ВзаимодейÑтвие Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¼"
-#: rc_option_editor.cc:1825
+#: rc_option_editor.cc:2106
msgid ""
"Use translations of %1 messages\n"
" <i>(requires a restart of %1 to take effect)</i>\n"
@@ -9447,274 +9628,286 @@ msgstr ""
" <i>(вÑтупает в Ñилу поÑле перезапуÑка %1)</i>\n"
" <i>(еÑли Ð»Ð¾ÐºÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ñзыка доÑтупна)</i>"
-#: rc_option_editor.cc:1832
+#: rc_option_editor.cc:2113
msgid "Keyboard"
msgstr "Клавиатура"
-#: rc_option_editor.cc:1842
+#: rc_option_editor.cc:2123
msgid "Control surface remote ID"
msgstr "ID Ð´Ð»Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ управлениÑ"
-#: rc_option_editor.cc:1847
+#: rc_option_editor.cc:2128
msgid "assigned by user"
msgstr "Ðазначенные пользователем"
-#: rc_option_editor.cc:1848
+#: rc_option_editor.cc:2129
msgid "follows order of mixer"
msgstr "Следуют порÑдку микшера"
-#: rc_option_editor.cc:1857 rc_option_editor.cc:1865 rc_option_editor.cc:1875
-#: rc_option_editor.cc:1896 rc_option_editor.cc:1905 rc_option_editor.cc:1913
-#: rc_option_editor.cc:1927 rc_option_editor.cc:1946 rc_option_editor.cc:1962
-#: rc_option_editor.cc:1978 rc_option_editor.cc:1992 rc_option_editor.cc:2006
-#: rc_option_editor.cc:2008
+#: rc_option_editor.cc:2143 rc_option_editor.cc:2151 rc_option_editor.cc:2159
+#: rc_option_editor.cc:2169 rc_option_editor.cc:2193 rc_option_editor.cc:2206
+#: rc_option_editor.cc:2215
msgid "Preferences|GUI"
msgstr "ИнтерфейÑ"
-#: rc_option_editor.cc:1860
+#: rc_option_editor.cc:2146
msgid "Graphically indicate mouse pointer hovering over various widgets"
msgstr "ПодÑвечивать Ñлементы интерфейÑа под указателем мыши"
-#: rc_option_editor.cc:1868
+#: rc_option_editor.cc:2154
msgid "Show tooltips if mouse hovers over a control"
msgstr "Показывать вÑплывающие подÑказки к Ñлементам интерфейÑа"
-#: rc_option_editor.cc:1878
-msgid "GUI"
-msgstr "ИнтерфейÑ"
+#: rc_option_editor.cc:2162
+msgid "Use name highlight bars in region displays"
+msgstr ""
+
+#: rc_option_editor.cc:2175
+msgid "update transport clock display at FPS instead of every 100ms"
+msgstr ""
-#: rc_option_editor.cc:1881
-msgid "update transport clock display every 40ms instead of every 100ms"
-msgstr "ОбновлÑÑ‚ÑŒ Ñчётчик транÑпорта каждые 40Ð¼Ñ Ð²Ð¼ÐµÑто каждых 100мÑ"
+#: rc_option_editor.cc:2184
+msgid "Lock timeout (seconds)"
+msgstr ""
+
+#: rc_option_editor.cc:2192
+msgid "Lock GUI after this many idle seconds (zero to never lock)"
+msgstr ""
-#: rc_option_editor.cc:1898
+#: rc_option_editor.cc:2208
msgid "Mixer Strip"
msgstr "ПолоÑа микшера"
-#: rc_option_editor.cc:1908
+#: rc_option_editor.cc:2218
msgid "Use narrow strips in the mixer by default"
msgstr "ИÑпользовать тонкие полоÑки в микшере по умолчанию"
-#: rc_option_editor.cc:1917
+#: rc_option_editor.cc:2223 rc_option_editor.cc:2237 rc_option_editor.cc:2256
+#: rc_option_editor.cc:2272 rc_option_editor.cc:2288 rc_option_editor.cc:2302
+#: rc_option_editor.cc:2316 rc_option_editor.cc:2318
+msgid "Preferences|Metering"
+msgstr ""
+
+#: rc_option_editor.cc:2227
msgid "Peak hold time"
msgstr "Удерживание пика"
-#: rc_option_editor.cc:1923
+#: rc_option_editor.cc:2233
msgid "short"
msgstr "Короткое"
-#: rc_option_editor.cc:1924
+#: rc_option_editor.cc:2234
msgid "medium"
msgstr "Среднее"
-#: rc_option_editor.cc:1925
+#: rc_option_editor.cc:2235
msgid "long"
msgstr "Долгое"
-#: rc_option_editor.cc:1931
+#: rc_option_editor.cc:2241
msgid "DPM fall-off"
msgstr "СкороÑÑ‚ÑŒ ÑпаданиÑ"
-#: rc_option_editor.cc:1937
+#: rc_option_editor.cc:2247
msgid "slowest [6.6dB/sec]"
msgstr "Самое медленное [6,6 Дб/Ñ]"
-#: rc_option_editor.cc:1938
+#: rc_option_editor.cc:2248
msgid "slow [8.6dB/sec] (BBC PPM, EBU PPM)"
msgstr "Медленное [8,6 Дб/Ñ] (BBC PPM, EBU PPM)"
-#: rc_option_editor.cc:1939
+#: rc_option_editor.cc:2249
msgid "slowish [12.0dB/sec] (DIN)"
msgstr "Ðеторопливое [12 Дб/Ñ] (DIN)"
-#: rc_option_editor.cc:1940
+#: rc_option_editor.cc:2250
msgid "moderate [13.3dB/sec] (EBU Digi PPM, IRT Digi PPM)"
msgstr "Умеренное [13,3 Дб/Ñ] (EBU Digi PPM, IRT Digi PPM)"
-#: rc_option_editor.cc:1941
+#: rc_option_editor.cc:2251
msgid "medium [20dB/sec]"
msgstr "Среднее [20 Дб/Ñ]"
-#: rc_option_editor.cc:1942
+#: rc_option_editor.cc:2252
msgid "fast [32dB/sec]"
msgstr "БыÑтрое [32 Дб/Ñ]"
-#: rc_option_editor.cc:1943
+#: rc_option_editor.cc:2253
msgid "faster [46dB/sec]"
msgstr "Ещё быÑтрее [46 Дб/Ñ]"
-#: rc_option_editor.cc:1944
+#: rc_option_editor.cc:2254
msgid "fastest [70dB/sec]"
msgstr "Самое быÑтрое [70 Дб/Ñ]"
-#: rc_option_editor.cc:1950
+#: rc_option_editor.cc:2260
msgid "Meter line-up level; 0dBu"
msgstr "Точка Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½Ð´Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð°; 0dBu"
-#: rc_option_editor.cc:1955 rc_option_editor.cc:1971
+#: rc_option_editor.cc:2265 rc_option_editor.cc:2281
msgid "-24dBFS (SMPTE US: 4dBu = -20dBFS)"
msgstr "-24dBFS (SMPTE US: 4dBu = -20dBFS)"
-#: rc_option_editor.cc:1956 rc_option_editor.cc:1972
+#: rc_option_editor.cc:2266 rc_option_editor.cc:2282
msgid "-20dBFS (SMPTE RP.0155)"
msgstr "-20dBFS (SMPTE RP.0155)"
-#: rc_option_editor.cc:1957 rc_option_editor.cc:1973
+#: rc_option_editor.cc:2267 rc_option_editor.cc:2283
msgid "-18dBFS (EBU, BBC)"
msgstr "-18dBFS (EBU, BBC)"
-#: rc_option_editor.cc:1958 rc_option_editor.cc:1974
+#: rc_option_editor.cc:2268 rc_option_editor.cc:2284
msgid "-15dBFS (DIN)"
msgstr "-15dBFS (DIN)"
-#: rc_option_editor.cc:1960
+#: rc_option_editor.cc:2270
msgid ""
"Configure meter-marks and color-knee point for dBFS scale DPM, set reference "
"level for IEC1/Nordic, IEC2 PPM and VU meter."
msgstr ""
-#: rc_option_editor.cc:1966
+#: rc_option_editor.cc:2276
msgid "IEC1/DIN Meter line-up level; 0dBu"
msgstr "Точка Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½Ð´Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° IEC1/DIN; 0dBu"
-#: rc_option_editor.cc:1976
+#: rc_option_editor.cc:2286
msgid "Reference level for IEC1/DIN meter."
msgstr "РеференÑный уровень индикатора IEC1/DIN"
-#: rc_option_editor.cc:1982
+#: rc_option_editor.cc:2292
msgid "VU Meter standard"
msgstr "Стандарт индикатора VU"
-#: rc_option_editor.cc:1987
+#: rc_option_editor.cc:2297
msgid "0VU = -2dBu (France)"
msgstr "0VU = -2dBu (ФранциÑ)"
-#: rc_option_editor.cc:1988
+#: rc_option_editor.cc:2298
msgid "0VU = 0dBu (North America, Australia)"
msgstr "0VU = 0dBu (Ð¡ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ðмерика, ÐвÑтралиÑ)"
-#: rc_option_editor.cc:1989
+#: rc_option_editor.cc:2299
msgid "0VU = +4dBu (standard)"
msgstr "0VU = +4dBu (Ñтандарт)"
-#: rc_option_editor.cc:1990
+#: rc_option_editor.cc:2300
msgid "0VU = +8dBu"
msgstr "0VU = +8dBu"
-#: rc_option_editor.cc:1996
+#: rc_option_editor.cc:2306
msgid "Peak threshold [dBFS]"
msgstr "Порог пика (dbFS)"
-#: rc_option_editor.cc:2004
+#: rc_option_editor.cc:2314
msgid ""
"Specify the audio signal level in dbFS at and above which the meter-peak "
"indicator will flash red."
msgstr ""
-#: rc_option_editor.cc:2011
+#: rc_option_editor.cc:2321
msgid "LED meter style"
msgstr "Индикатор в Ñтиле LED"
-#: region_editor.cc:79
+#: region_editor.cc:78
msgid "audition this region"
msgstr "проÑлушать облаÑÑ‚ÑŒ"
-#: region_editor.cc:88 region_layering_order_editor.cc:74
+#: region_editor.cc:87 region_layering_order_editor.cc:75
msgid "Position:"
msgstr "ПозициÑ:"
-#: region_editor.cc:90 add_video_dialog.cc:170
+#: region_editor.cc:89 add_video_dialog.cc:155
msgid "End:"
msgstr "Конец:"
-#: region_editor.cc:92 sfdb_ui.cc:142
+#: region_editor.cc:91 sfdb_ui.cc:143
msgid "Length:"
msgstr "ДлительноÑÑ‚ÑŒ:"
-#: region_editor.cc:94
+#: region_editor.cc:93
msgid "Sync point (relative to region):"
msgstr "Точка Ñинхронизации (отноÑительно облаÑти):"
-#: region_editor.cc:96
+#: region_editor.cc:95
msgid "Sync point (absolute):"
msgstr "Точка Ñинхронизации (абÑолютнаÑ):"
-#: region_editor.cc:98
+#: region_editor.cc:97
msgid "File start:"
msgstr "Ðачало файла:"
-#: region_editor.cc:102
+#: region_editor.cc:101
msgid "Sources:"
msgstr "ИÑточники:"
-#: region_editor.cc:104
+#: region_editor.cc:103
msgid "Source:"
msgstr "ИÑточник:"
-#: region_editor.cc:166
+#: region_editor.cc:165
msgid "Region '%1'"
msgstr "ОблаÑÑ‚ÑŒ %1"
-#: region_editor.cc:273
+#: region_editor.cc:272
msgid "change region start position"
msgstr "Ñмена позиции начала облаÑти"
-#: region_editor.cc:289
+#: region_editor.cc:288
msgid "change region end position"
msgstr "Ñмена позиции конца облаÑти"
-#: region_editor.cc:309
+#: region_editor.cc:308
msgid "change region length"
msgstr "Ñмена длительноÑти облаÑти"
-#: region_editor.cc:403 region_editor.cc:415
+#: region_editor.cc:402 region_editor.cc:414
msgid "change region sync point"
msgstr "Ñмена Ñинхронизатора облаÑтей"
-#: region_layering_order_editor.cc:41
+#: region_layering_order_editor.cc:42
msgid "RegionLayeringOrderEditor"
msgstr ""
-#: region_layering_order_editor.cc:54
+#: region_layering_order_editor.cc:55
msgid "Region Name"
msgstr "Ðазвание облаÑти"
-#: region_layering_order_editor.cc:71
+#: region_layering_order_editor.cc:72
msgid "Track:"
msgstr "Дорожка:"
-#: region_layering_order_editor.cc:103
+#: region_layering_order_editor.cc:104
msgid "Choose Top Region"
msgstr "Выбрать верхнюю облаÑÑ‚ÑŒ"
-#: region_view.cc:274
+#: region_view.cc:282
msgid "SilenceText"
msgstr "SilenceText"
-#: region_view.cc:290 region_view.cc:309
+#: region_view.cc:297 region_view.cc:316
msgid "minutes"
msgstr "минут"
-#: region_view.cc:293 region_view.cc:312
+#: region_view.cc:300 region_view.cc:319
msgid "msecs"
msgstr "мÑ"
-#: region_view.cc:296 region_view.cc:315
+#: region_view.cc:303 region_view.cc:322
msgid "secs"
msgstr "Ñ"
-#: region_view.cc:299
+#: region_view.cc:306
msgid "%1 silent segment"
msgid_plural "%1 silent segments"
msgstr[0] "%1 тихий Ñегмент"
msgstr[1] "%1 тихих Ñегмента"
msgstr[2] "%1 тихих Ñегментов"
-#: region_view.cc:301
+#: region_view.cc:308
msgid "shortest = %1 %2"
msgstr "кратчайший = %1 %2"
-#: region_view.cc:318
+#: region_view.cc:325
msgid ""
"\n"
" (shortest audible segment = %1 %2)"
@@ -9722,141 +9915,136 @@ msgstr ""
"\n"
" (кратчайший Ñлышимый Ñегмент = %1 %2)"
-#: return_ui.cc:103
+#: return_ui.cc:102
msgid "Return "
msgstr "Возврат"
-#: rhythm_ferret.cc:49
+#: rhythm_ferret.cc:48
msgid "Percussive Onset"
msgstr "Ðтака перкуÑÑии"
-#: rhythm_ferret.cc:50
+#: rhythm_ferret.cc:49
msgid "Note Onset"
msgstr "Ðачало ноты"
-#: rhythm_ferret.cc:55
+#: rhythm_ferret.cc:54
msgid "Energy Based"
msgstr "Ðа оÑнове Ñнергии"
-#: rhythm_ferret.cc:56
+#: rhythm_ferret.cc:55
msgid "Spectral Difference"
msgstr "Ð¡Ð¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ñ€Ð°Ð·Ð½Ð¸Ñ†Ð°"
-#: rhythm_ferret.cc:57
+#: rhythm_ferret.cc:56
msgid "High-Frequency Content"
msgstr "Ð’Ñ‹ÑокочаÑтотное Ñодержимое"
-#: rhythm_ferret.cc:58
+#: rhythm_ferret.cc:57
msgid "Complex Domain"
msgstr "Сложный интервал"
-#: rhythm_ferret.cc:59
+#: rhythm_ferret.cc:58
msgid "Phase Deviation"
msgstr "Отклонение фазы"
-#: rhythm_ferret.cc:60
+#: rhythm_ferret.cc:59
msgid "Kullback-Liebler"
msgstr "Кулбека-Либлера"
-#: rhythm_ferret.cc:61
+#: rhythm_ferret.cc:60
msgid "Modified Kullback-Liebler"
msgstr "Ð˜Ð·Ð¼ÐµÐ½Ñ‘Ð½Ð½Ð°Ñ ÐšÑƒÐ»Ð±ÐµÐºÐ°-Либлера"
-#: rhythm_ferret.cc:66
+#: rhythm_ferret.cc:65
msgid "Split region"
msgstr "Разделить облаÑÑ‚ÑŒ"
-#: rhythm_ferret.cc:67
+#: rhythm_ferret.cc:66
msgid "Snap regions"
msgstr "Приклеить облаÑти к Ñетке"
-#: rhythm_ferret.cc:68
+#: rhythm_ferret.cc:67
msgid "Conform regions"
msgstr "СоглаÑовать облаÑти"
-#: rhythm_ferret.cc:73
+#: rhythm_ferret.cc:72
msgid "Rhythm Ferret"
msgstr "РитмичеÑкий хорёк"
-#: rhythm_ferret.cc:79
+#: rhythm_ferret.cc:78
msgid "Analyze"
msgstr "Проанализировать"
-#: rhythm_ferret.cc:114
+#: rhythm_ferret.cc:113
msgid "Detection function"
msgstr "Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ"
-#: rhythm_ferret.cc:118
+#: rhythm_ferret.cc:117
msgid "Trigger gap"
msgstr "Интервал триггера"
-#: rhythm_ferret.cc:123 strip_silence_dialog.cc:68
+#: rhythm_ferret.cc:122 strip_silence_dialog.cc:64
msgid "Threshold"
msgstr "Порог"
-#: rhythm_ferret.cc:128
+#: rhythm_ferret.cc:127
msgid "Peak threshold"
msgstr "Порог пика"
-#: rhythm_ferret.cc:133
+#: rhythm_ferret.cc:132
msgid "Silence threshold"
msgstr "Порог тишины"
-#: rhythm_ferret.cc:138
+#: rhythm_ferret.cc:137
msgid "Sensitivity"
msgstr "ЧувÑтвительноÑÑ‚ÑŒ"
-#: rhythm_ferret.cc:142
+#: rhythm_ferret.cc:141
msgid "Operation"
msgstr "ДейÑтвие"
-#: rhythm_ferret.cc:356
+#: rhythm_ferret.cc:355
msgid "split regions (rhythm ferret)"
msgstr "разделение облаÑтей (хорьком)"
-#: route_group_dialog.cc:36
+#: route_group_dialog.cc:42
msgid "Track/bus Group"
msgstr "Группа дорожек/шин"
-#: route_group_dialog.cc:41
+#: route_group_dialog.cc:47
msgid "Relative"
msgstr "ОтноÑительное"
-#: route_group_dialog.cc:42
+#: route_group_dialog.cc:48
msgid "Muting"
msgstr "Приглушение"
-#: route_group_dialog.cc:43
-msgid "Soloing"
-msgstr "Солирование"
-
-#: route_group_dialog.cc:44
+#: route_group_dialog.cc:50
msgid "Record enable"
msgstr "ГотовноÑÑ‚ÑŒ к запиÑи"
-#: route_group_dialog.cc:45 time_info_box.cc:66
+#: route_group_dialog.cc:51 time_info_box.cc:67
msgid "Selection"
msgstr "Выделение"
-#: route_group_dialog.cc:46
+#: route_group_dialog.cc:52
msgid "Active state"
msgstr "Ðктивное ÑоÑтоÑние"
-#: route_group_dialog.cc:47 route_group_dialog.cc:76 theme_manager.cc:71
+#: route_group_dialog.cc:53 route_group_dialog.cc:82 theme_manager.cc:84
msgid "Color"
msgstr "Цвет"
-#: route_group_dialog.cc:53
+#: route_group_dialog.cc:59
msgid "RouteGroupDialog"
msgstr "RouteGroupDialog"
-#: route_group_dialog.cc:92
+#: route_group_dialog.cc:100
msgid "<b>Sharing</b>"
msgstr "<b>РазделÑÑŽÑ‚ÑÑ:</b>"
-#: route_group_dialog.cc:182
-msgid ""
-"A route group of this name already exists. Please use a different name."
+#: route_group_dialog.cc:200
+msgid "The group name is not unique. Please use a different name."
msgstr ""
#: route_params_ui.cc:83
@@ -9879,297 +10067,281 @@ msgstr "Модули, возвраты и поÑылы"
msgid "route display list item for renamed route not found!"
msgstr ""
-#: route_params_ui.cc:255 route_params_ui.cc:283
+#: route_params_ui.cc:278 route_params_ui.cc:306
#, c-format
msgid "Playback delay: %<PRId64> samples"
msgstr "Задержка воÑпроизведениÑ: %<PRId64> ÑÑмплов"
-#: route_params_ui.cc:475
+#: route_params_ui.cc:498
msgid "NO TRACK"
msgstr "ÐЕТ ДОРОЖЕК"
-#: route_params_ui.cc:613 route_params_ui.cc:614
+#: route_params_ui.cc:636 route_params_ui.cc:637
msgid "No Track or Bus Selected"
msgstr "Ðет выбранных дорожек или шин"
-#: route_time_axis.cc:97
-msgid "g"
-msgstr "г"
-
-#: route_time_axis.cc:98
-msgid "p"
-msgstr "Ñп"
-
-#: route_time_axis.cc:99
-msgid "a"
-msgstr "а"
-
-#: route_time_axis.cc:173
+#: route_time_axis.cc:179
msgid "Record (Right-click for Step Edit)"
msgstr "ЗапиÑÑŒ (Ð¿Ñ€Ð°Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° мыши активирует пошаговый ввод)"
-#: route_time_axis.cc:176
+#: route_time_axis.cc:182
msgid "Record"
msgstr "ЗапиÑÑŒ"
-#: route_time_axis.cc:210
+#: route_time_axis.cc:254
msgid "Route Group"
msgstr "Группа маршрутизации"
-#: route_time_axis.cc:213
+#: route_time_axis.cc:264
msgid "MIDI Controllers and Automation"
msgstr "MIDI-контроллеры и автоматизациÑ"
-#: route_time_axis.cc:390
+#: route_time_axis.cc:500
msgid "Show All Automation"
msgstr "Показать вÑÑŽ автоматизацию"
-#: route_time_axis.cc:393
+#: route_time_axis.cc:503
msgid "Show Existing Automation"
msgstr "Показать ÑущеÑтвующую автоматизацию"
-#: route_time_axis.cc:396
+#: route_time_axis.cc:506
msgid "Hide All Automation"
msgstr "Скрыть вÑÑŽ автоматизацию"
-#: route_time_axis.cc:405
+#: route_time_axis.cc:515
msgid "Processor automation"
msgstr "ÐÐ²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ°"
-#: route_time_axis.cc:424
-msgid "Color..."
-msgstr "Цвет..."
-
-#: route_time_axis.cc:481
+#: route_time_axis.cc:599
msgid "Overlaid"
msgstr "Перекрывают друг друга"
-#: route_time_axis.cc:487
+#: route_time_axis.cc:605
msgid "Stacked"
msgstr "Ð’ Ñтопке"
-#: route_time_axis.cc:495
+#: route_time_axis.cc:613
msgid "Layers"
msgstr "Слои"
-#: route_time_axis.cc:564
+#: route_time_axis.cc:682
msgid "Automatic (based on I/O connections)"
msgstr "ÐвтоматичеÑкое (по ÑоединениÑм входа-выхода)"
-#: route_time_axis.cc:573
+#: route_time_axis.cc:691
msgid "(Currently: Existing Material)"
msgstr "(СейчаÑ: Ñ Ð·Ð°Ð¿Ð¸Ñанным материалом)"
-#: route_time_axis.cc:576
+#: route_time_axis.cc:694
msgid "(Currently: Capture Time)"
msgstr "(СейчаÑ: по времени захвата)"
-#: route_time_axis.cc:584
+#: route_time_axis.cc:702
msgid "Align With Existing Material"
msgstr "С запиÑанным материалом"
-#: route_time_axis.cc:589
+#: route_time_axis.cc:707
msgid "Align With Capture Time"
msgstr "По времени захвата"
-#: route_time_axis.cc:594
+#: route_time_axis.cc:712
msgid "Alignment"
msgstr "Выравнивание"
-#: route_time_axis.cc:629
+#: route_time_axis.cc:747
msgid "Normal Mode"
msgstr "Обычный режим"
-#: route_time_axis.cc:635
+#: route_time_axis.cc:753
msgid "Tape Mode"
msgstr "Плёночный режим"
-#: route_time_axis.cc:641
+#: route_time_axis.cc:759
msgid "Non-Layered Mode"
msgstr "БеÑÑлойный режим"
-#: route_time_axis.cc:654 route_time_axis.cc:1601
+#: route_time_axis.cc:772 route_time_axis.cc:1748
msgid "Playlist"
msgstr "СпиÑок"
-#: route_time_axis.cc:979
+#: route_time_axis.cc:1070
msgid "Rename Playlist"
msgstr "Переименовать ÑпиÑок воÑпроизведениÑ"
-#: route_time_axis.cc:980
+#: route_time_axis.cc:1071
msgid "New name for playlist:"
msgstr "Ðовое название ÑпиÑка воÑпроизведениÑ:"
-#: route_time_axis.cc:1065
+#: route_time_axis.cc:1156
msgid "New Copy Playlist"
msgstr "ÐÐ¾Ð²Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ ÑпиÑка воÑпроизведениÑ"
-#: route_time_axis.cc:1066 route_time_axis.cc:1119
+#: route_time_axis.cc:1157 route_time_axis.cc:1210
msgid "Name for new playlist:"
msgstr "Ðазвание нового ÑпиÑка воÑпроизведениÑ:"
-#: route_time_axis.cc:1118
+#: route_time_axis.cc:1209
msgid "New Playlist"
msgstr "Ðовый ÑпиÑок воÑпроизведениÑ"
-#: route_time_axis.cc:1309
+#: route_time_axis.cc:1400
msgid "You cannot create a track with that name as it is reserved for %1"
msgstr ""
"Ð’Ñ‹ не можете добавить дорожку Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼, которое зарезервировано Ð´Ð»Ñ %1"
-#: route_time_axis.cc:1490
+#: route_time_axis.cc:1637
msgid "New Copy..."
msgstr "Создать копию..."
-#: route_time_axis.cc:1494
+#: route_time_axis.cc:1641
msgid "New Take"
msgstr "Ðовый дубль"
-#: route_time_axis.cc:1495
+#: route_time_axis.cc:1642
msgid "Copy Take"
msgstr "Скопировать дубль"
-#: route_time_axis.cc:1500
+#: route_time_axis.cc:1647
msgid "Clear Current"
msgstr "ОчиÑтить текущий"
-#: route_time_axis.cc:1503
+#: route_time_axis.cc:1650
msgid "Select From All..."
msgstr "Выбрать из вÑех..."
-#: route_time_axis.cc:1591
+#: route_time_axis.cc:1738
msgid "Take: %1.%2"
msgstr "Дубль: %1.%2"
-#: route_time_axis.cc:2293
+#: route_time_axis.cc:2024 selection.cc:1002 selection.cc:1056
+msgid "programming error: "
+msgstr "Ошибка в программе: "
+
+#: route_time_axis.cc:2440
msgid "Underlays"
msgstr ""
-#: route_time_axis.cc:2296
+#: route_time_axis.cc:2443
msgid "Remove \"%1\""
msgstr "Удалить «%1»"
-#: route_time_axis.cc:2346 route_time_axis.cc:2383
+#: route_time_axis.cc:2493 route_time_axis.cc:2530
msgid "programming error: underlay reference pointer pairs are inconsistent!"
msgstr ""
-#: route_time_axis.cc:2410
+#: route_time_axis.cc:2557
msgid "After-fade listen (AFL)"
msgstr "ПроÑлушивание поÑле фейдера (AFL)"
-#: route_time_axis.cc:2414
+#: route_time_axis.cc:2561
msgid "Pre-fade listen (PFL)"
msgstr "ПроÑлушивание до фейдера (PFL)"
-#: route_time_axis.cc:2418
-msgid "s"
-msgstr "Ñ"
-
-#: route_time_axis.cc:2421
-msgid "m"
-msgstr "м"
-
-#: route_ui.cc:119
+#: route_ui.cc:138
msgid "Mute this track"
msgstr "Приглушить Ñту дорожку"
-#: route_ui.cc:123
+#: route_ui.cc:142
msgid "Mute other (non-soloed) tracks"
msgstr "Приглушить другие (не Ñолирующие) дорожки"
-#: route_ui.cc:129
+#: route_ui.cc:148
msgid "Enable recording on this track"
msgstr "Включить запиÑываемоÑÑ‚ÑŒ Ñтой дорожки"
-#: route_ui.cc:133
+#: route_ui.cc:154
msgid "make mixer strips show sends to this bus"
msgstr "Показывать в полоÑках микшера поÑылы к Ñтой шине"
-#: route_ui.cc:138
+#: route_ui.cc:159
msgid "Monitor input"
msgstr "Мониторинг входа"
-#: route_ui.cc:144
+#: route_ui.cc:165
msgid "Monitor playback"
msgstr "Мониторинг воÑпроизведениÑ"
-#: route_ui.cc:591
-msgid "Not connected to JACK - cannot engage record"
+#: route_ui.cc:668
+msgid "Not connected to AudioEngine - cannot engage record"
msgstr ""
-#: route_ui.cc:786
+#: route_ui.cc:867
msgid "Step Entry"
msgstr "Пошаговый ввод"
-#: route_ui.cc:859
+#: route_ui.cc:940
msgid "Assign all tracks (prefader)"
msgstr "Ðазначить вÑем дорожкам (до фейдера)"
-#: route_ui.cc:863
+#: route_ui.cc:944
msgid "Assign all tracks and buses (prefader)"
msgstr "Ðазначить вÑем дорожкам и шинам (до фейдера)"
-#: route_ui.cc:867
+#: route_ui.cc:948
msgid "Assign all tracks (postfader)"
msgstr "Ðазначить вÑем дорожкам (поÑле фейдера)"
-#: route_ui.cc:871
+#: route_ui.cc:952
msgid "Assign all tracks and buses (postfader)"
msgstr "Ðазначить вÑем дорожкам и шинам (поÑле фейдера)"
-#: route_ui.cc:875
+#: route_ui.cc:956
msgid "Assign selected tracks (prefader)"
msgstr "Ðазначить выбранным дорожкам (до фейдера)"
-#: route_ui.cc:879
+#: route_ui.cc:960
msgid "Assign selected tracks and buses (prefader)"
msgstr "Ðазначить выбранным дорожкам и шинам (до фейдера)"
-#: route_ui.cc:882
+#: route_ui.cc:963
msgid "Assign selected tracks (postfader)"
msgstr "Ðазначить выбранным дорожкам (поÑле фейдера)"
-#: route_ui.cc:886
+#: route_ui.cc:967
msgid "Assign selected tracks and buses (postfader)"
msgstr "Ðазначить выбранным дорожкам и шинам (поÑле фейдера)"
-#: route_ui.cc:889
+#: route_ui.cc:970
msgid "Copy track/bus gains to sends"
msgstr "Скопировать фейдеры дорожки/шины в поÑылы"
-#: route_ui.cc:890
+#: route_ui.cc:971
msgid "Set sends gain to -inf"
msgstr ""
-#: route_ui.cc:891
+#: route_ui.cc:972
msgid "Set sends gain to 0dB"
msgstr ""
-#: route_ui.cc:1211
+#: route_ui.cc:1294
msgid "Solo Isolate"
msgstr ""
-#: route_ui.cc:1240
-msgid "Pre Fader"
-msgstr "Предфейдер"
+#: route_ui.cc:1301
+msgid "Solo Safe"
+msgstr "Блокировка ÑолированиÑ"
-#: route_ui.cc:1246
-msgid "Post Fader"
-msgstr "ПоÑлефейдер"
+#: route_ui.cc:1323
+msgid "Pre Fader Sends"
+msgstr ""
+
+#: route_ui.cc:1329
+msgid "Post Fader Sends"
+msgstr ""
-#: route_ui.cc:1252
+#: route_ui.cc:1335
msgid "Control Outs"
msgstr "Контрольные выходы"
-#: route_ui.cc:1258
+#: route_ui.cc:1341
msgid "Main Outs"
msgstr "Главные выходы"
-#: route_ui.cc:1390
+#: route_ui.cc:1473
msgid "Color Selection"
msgstr "Выбор цвета"
-#: route_ui.cc:1477
+#: route_ui.cc:1558
msgid ""
"Do you really want to remove track \"%1\" ?\n"
"\n"
@@ -10183,7 +10355,7 @@ msgstr ""
"\n"
"Это дейÑтвие невозможно отменить, файл ÑеÑÑии будет перезапиÑан."
-#: route_ui.cc:1479
+#: route_ui.cc:1560
msgid ""
"Do you really want to remove bus \"%1\" ?\n"
"\n"
@@ -10193,15 +10365,15 @@ msgstr ""
"\n"
"Это дейÑтвие невозможно отменить, файл ÑеÑÑии будет перезапиÑан."
-#: route_ui.cc:1487
+#: route_ui.cc:1568
msgid "Remove track"
msgstr "Удаление дорожки"
-#: route_ui.cc:1489
+#: route_ui.cc:1570
msgid "Remove bus"
msgstr "Удаление шины"
-#: route_ui.cc:1516
+#: route_ui.cc:1598
msgid ""
"The use of colons (':') is discouraged in track and bus names.\n"
"Do you want to use this new name?"
@@ -10209,47 +10381,51 @@ msgstr ""
"ИÑпользование Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñ Ð² названиÑÑ… дорожек и шин не поощрÑетÑÑ.\n"
"Ð’Ñ‹ точно хотите оÑтавить двоеточие?"
-#: route_ui.cc:1520
+#: route_ui.cc:1602
msgid "Use the new name"
msgstr "ИÑпользовать новое имÑ"
-#: route_ui.cc:1521
+#: route_ui.cc:1603
msgid "Re-edit the name"
msgstr "Повторно изменить название"
-#: route_ui.cc:1534
+#: route_ui.cc:1616
msgid "Rename Track"
msgstr "Переименование дорожки"
-#: route_ui.cc:1536
+#: route_ui.cc:1618
msgid "Rename Bus"
msgstr "Переименование шины"
-#: route_ui.cc:1695
+#: route_ui.cc:1686
+msgid ": comment editor"
+msgstr ": редактор комментариев"
+
+#: route_ui.cc:1852
msgid " latency"
msgstr " задержка"
-#: route_ui.cc:1708
+#: route_ui.cc:1865
msgid "Cannot create route template directory %1"
msgstr "Ðе удалоÑÑŒ Ñоздать папку Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°Ð¼Ð¸ маршрутизации %1"
-#: route_ui.cc:1714
+#: route_ui.cc:1871
msgid "Save As Template"
msgstr "Сохранить как шаблон"
-#: route_ui.cc:1715
+#: route_ui.cc:1872
msgid "Template name:"
msgstr "Ðазвание шаблона:"
-#: route_ui.cc:1788
+#: route_ui.cc:1945
msgid "Remote Control ID"
msgstr "ID Ð´Ð»Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ управлениÑ"
-#: route_ui.cc:1798
+#: route_ui.cc:1955
msgid "Remote control ID:"
msgstr "ID Ð´Ð»Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ управлениÑ:"
-#: route_ui.cc:1812
+#: route_ui.cc:1969
msgid ""
"The remote control ID of %1 is: %2\n"
"\n"
@@ -10261,27 +10437,26 @@ msgstr ""
"\n"
"%3 не может получить другой ID."
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the master bus"
msgstr "МаÑтер-шина"
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the monitor bus"
msgstr "Шина мониторинга"
-#: route_ui.cc:1818
+#: route_ui.cc:1975
msgid ""
"The remote control ID of %5 is: %2\n"
"\n"
"\n"
-"Remote Control IDs are currently determined by track/bus ordering in "
-"Ardour.\n"
+"Remote Control IDs are currently determined by track/bus ordering in %6.\n"
"\n"
"%3Use the User Interaction tab of the Preferences window if you want to "
"change this%4"
msgstr ""
-#: route_ui.cc:1875
+#: route_ui.cc:2032
msgid ""
"Left-click to invert (phase reverse) channel %1 of this track. Right-click "
"to show menu."
@@ -10289,7 +10464,7 @@ msgstr ""
"Щелчком левой клавиши мыши инвертируетÑÑ (инверÑÐ¸Ñ Ñ„Ð°Ð·Ñ‹) \n"
"канал %1 Ñтой дорожки. По правой клавише вызываетÑÑ Ð¼ÐµÐ½ÑŽ."
-#: route_ui.cc:1877
+#: route_ui.cc:2034
msgid "Click to show a menu of channels for inversion (phase reverse)"
msgstr " "
@@ -10305,119 +10480,119 @@ msgstr "Щёлкните Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ раÑполо
msgid "the session folder"
msgstr "в папке ÑеÑÑии"
-#: send_ui.cc:135
+#: send_ui.cc:134
msgid "Send "
msgstr "ПоÑыл"
-#: session_dialog.cc:66
+#: session_dialog.cc:68
msgid "Session Setup"
msgstr "ÐаÑтройка ÑеÑÑии"
-#: session_dialog.cc:71
+#: session_dialog.cc:73
msgid "Advanced options ..."
msgstr "Дополнительные параметры"
-#: session_dialog.cc:267
+#: session_dialog.cc:271
msgid "New Session"
msgstr "Создать ÑеÑÑию"
-#: session_dialog.cc:305
+#: session_dialog.cc:309
msgid "Check the website for more..."
msgstr ""
-#: session_dialog.cc:308
+#: session_dialog.cc:312
msgid "Click to open the program website in your web browser"
msgstr ""
-#: session_dialog.cc:328
+#: session_dialog.cc:332
msgid "Sample Rate"
msgstr "ЧаÑтота ÑÑмплированиÑ"
-#: session_dialog.cc:329
+#: session_dialog.cc:333
msgid "Disk Format"
msgstr ""
-#: session_dialog.cc:347
+#: session_dialog.cc:351
msgid "Select session file"
msgstr "Выберите файл ÑеÑÑии"
-#: session_dialog.cc:362
+#: session_dialog.cc:366
msgid "Other Sessions"
msgstr "Другие ÑеÑÑии"
-#: session_dialog.cc:388
+#: session_dialog.cc:392
msgid "Open"
msgstr "Открыть"
-#: session_dialog.cc:455
+#: session_dialog.cc:459
msgid "Session name:"
msgstr "Ðазвание ÑеÑÑии:"
-#: session_dialog.cc:477
+#: session_dialog.cc:481
msgid "Create session folder in:"
msgstr "Создать папку ÑеÑÑии в:"
-#: session_dialog.cc:500
+#: session_dialog.cc:504
msgid "Select folder for session"
msgstr "Выберите папку Ð´Ð»Ñ ÑеÑÑии"
-#: session_dialog.cc:529
+#: session_dialog.cc:533
msgid "Use this template"
msgstr "ИÑпользовать Ñтот шаблон"
-#: session_dialog.cc:532
+#: session_dialog.cc:536
msgid "no template"
msgstr "Без шаблона"
-#: session_dialog.cc:664 session_dialog.cc:696
+#: session_dialog.cc:671 session_dialog.cc:707
msgid "32 bit float"
msgstr "32bit float"
-#: session_dialog.cc:667 session_dialog.cc:699
+#: session_dialog.cc:674 session_dialog.cc:710
msgid "24 bit"
msgstr ""
-#: session_dialog.cc:670 session_dialog.cc:702
+#: session_dialog.cc:677 session_dialog.cc:713
msgid "16 bit"
msgstr "16bit"
-#: session_dialog.cc:741 session_dialog.cc:742 session_dialog.cc:743
+#: session_dialog.cc:755 session_dialog.cc:756 session_dialog.cc:757
msgid "channels"
msgstr "канал(-ов)"
-#: session_dialog.cc:757
+#: session_dialog.cc:771
msgid "<b>Busses</b>"
msgstr "<b>Шины</b>"
-#: session_dialog.cc:758
+#: session_dialog.cc:772
msgid "<b>Inputs</b>"
msgstr "<b>Входы</b>"
-#: session_dialog.cc:759
+#: session_dialog.cc:773
msgid "<b>Outputs</b>"
msgstr "<b>Выходы</b>"
-#: session_dialog.cc:767
+#: session_dialog.cc:781
msgid "Create master bus"
msgstr "Создать маÑтер-шину"
-#: session_dialog.cc:777
+#: session_dialog.cc:791
msgid "Automatically connect to physical inputs"
msgstr "ÐвтоматичеÑки подключить к физичеÑким входам"
-#: session_dialog.cc:784 session_dialog.cc:843
+#: session_dialog.cc:798 session_dialog.cc:857
msgid "Use only"
msgstr "ИÑпользовать только"
-#: session_dialog.cc:837
+#: session_dialog.cc:851
msgid "Automatically connect outputs"
msgstr "ÐвтоматичеÑки подключить выходы"
-#: session_dialog.cc:859
+#: session_dialog.cc:873
msgid "... to master bus"
msgstr "... к маÑтер-шине"
-#: session_dialog.cc:869
+#: session_dialog.cc:883
msgid "... to physical outputs"
msgstr "... к физичеÑким выходам"
@@ -10722,7 +10897,8 @@ msgstr ""
#: session_option_editor.cc:91
msgid ""
-"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless in JACK-sync)."
+"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless using JACK-"
+"sync)."
msgstr ""
#: session_option_editor.cc:96
@@ -10757,104 +10933,174 @@ msgstr ""
"%1 ÑвлÑетÑÑ Ð²ÐµÐ´ÑƒÑ‰Ð¸Ð¼ Ð´Ð»Ñ Ð¾Ñ‚Ñчёта времени в JACK (передаёт данные о тактах, "
"долÑÑ… и тиках)"
-#: session_option_editor.cc:137
-msgid "Default crossfade type"
-msgstr "Тип кроÑÑфейда по умолчанию"
-
-#: session_option_editor.cc:142
-msgid "Constant power (-3dB) crossfade"
-msgstr "С поÑтоÑнной Ñилой (-3Дб)"
-
-#: session_option_editor.cc:143
-msgid "Linear (-6dB) crossfade"
-msgstr "Линейный (-6Дб)"
-
-#: session_option_editor.cc:148
+#: session_option_editor.cc:136
msgid "destructive-xfade-seconds"
msgstr ""
-#: session_option_editor.cc:149
+#: session_option_editor.cc:137
msgid "Destructive crossfade length"
msgstr "ДлительноÑÑ‚ÑŒ разрушающего кроÑÑфейда"
-#: session_option_editor.cc:158
+#: session_option_editor.cc:146
msgid "Region fades active"
msgstr "Фейды облаÑти активны"
-#: session_option_editor.cc:165
+#: session_option_editor.cc:153
msgid "Region fades visible"
msgstr "Фейды облаÑти видны"
-#: session_option_editor.cc:172 session_option_editor.cc:185
-#: session_option_editor.cc:199 session_option_editor.cc:201
-#: session_option_editor.cc:207 session_option_editor.cc:214
+#: session_option_editor.cc:160 session_option_editor.cc:173
+#: session_option_editor.cc:187
msgid "Media"
msgstr "Данные"
-#: session_option_editor.cc:172
+#: session_option_editor.cc:160
msgid "Audio file format"
msgstr "Формат звуковых файлов"
-#: session_option_editor.cc:176
+#: session_option_editor.cc:164
msgid "Sample format"
msgstr "Формат ÑÑмплов"
-#: session_option_editor.cc:181
+#: session_option_editor.cc:169
msgid "32-bit floating point"
msgstr "32-bit floating point"
-#: session_option_editor.cc:182
+#: session_option_editor.cc:170
msgid "24-bit integer"
msgstr "24-bit integer"
-#: session_option_editor.cc:183
+#: session_option_editor.cc:171
msgid "16-bit integer"
msgstr "16-bit integer"
-#: session_option_editor.cc:189
+#: session_option_editor.cc:177
msgid "File type"
msgstr "Тип файлов"
-#: session_option_editor.cc:194
+#: session_option_editor.cc:182
msgid "Broadcast WAVE"
msgstr "Broadcast WAVE"
-#: session_option_editor.cc:195
+#: session_option_editor.cc:183
msgid "WAVE"
msgstr "WAVE"
-#: session_option_editor.cc:196
+#: session_option_editor.cc:184
msgid "WAVE-64"
msgstr "WAVE-64"
-#: session_option_editor.cc:201
+#: session_option_editor.cc:189
msgid "File locations"
msgstr "РаÑположение файлов"
-#: session_option_editor.cc:203
+#: session_option_editor.cc:191
msgid "Search for audio files in:"
msgstr "Где иÑкать звуковые файлы:"
-#: session_option_editor.cc:209
+#: session_option_editor.cc:197
msgid "Search for MIDI files in:"
msgstr "Где иÑкать файлы MIDI:"
-#: session_option_editor.cc:220
+#: session_option_editor.cc:206 session_option_editor.cc:218
+#: session_option_editor.cc:228 session_option_editor.cc:239
+msgid "Filenames"
+msgstr ""
+
+#: session_option_editor.cc:206
+msgid "File Naming"
+msgstr ""
+
+#: session_option_editor.cc:212
+msgid "Prefix Track number"
+msgstr ""
+
+#: session_option_editor.cc:217
+msgid ""
+"Adds the current track number to the beginning of the recorded file name."
+msgstr ""
+
+#: session_option_editor.cc:222
+msgid "Prefix Take Name"
+msgstr ""
+
+#: session_option_editor.cc:227
+msgid "Adds the Take Name to the beginning of the recorded file name."
+msgstr ""
+
+#: session_option_editor.cc:232
+msgid "Take Name"
+msgstr ""
+
+#: session_option_editor.cc:245
msgid ""
"Track Input Monitoring automatically follows transport state (\"auto-input\")"
msgstr ""
"Мониторинг входа дорожки автоматичеÑки Ñледует ÑоÑтоÑнию транÑпорта "
"(«автовход»)"
-#: session_option_editor.cc:227
+#: session_option_editor.cc:252
msgid "Use monitor section in this session"
msgstr "ИÑпользовать Ñекцию мониторинга в Ñтой ÑеÑÑии"
-#: session_option_editor.cc:238
+#: session_option_editor.cc:257 session_option_editor.cc:259
+#: session_option_editor.cc:266 session_option_editor.cc:273
+#: session_option_editor.cc:280 session_option_editor.cc:282
+#: session_option_editor.cc:289 session_option_editor.cc:296
+#: session_option_editor.cc:303 session_option_editor.cc:310
+#: session_option_editor.cc:312
+msgid "Meterbridge"
+msgstr "Панель индикаторов"
+
+#: session_option_editor.cc:257
+msgid "Route Display"
+msgstr "Показывать в маршрутизации"
+
+#: session_option_editor.cc:261
+msgid "Show Midi Tracks"
+msgstr "MIDI-дорожки"
+
+#: session_option_editor.cc:268
+msgid "Show Busses"
+msgstr "Шины"
+
+#: session_option_editor.cc:275
+msgid "Include Master Bus"
+msgstr "МаÑтер-шина"
+
+#: session_option_editor.cc:280
+msgid "Button Area"
+msgstr "Показывать в кнопках"
+
+#: session_option_editor.cc:284
+msgid "Rec-enable Button"
+msgstr "Переключатель запиÑываемоÑти"
+
+#: session_option_editor.cc:291
+msgid "Mute Button"
+msgstr "Переключатель приглушениÑ"
+
+#: session_option_editor.cc:298
+msgid "Solo Button"
+msgstr "Переключатель ÑолированиÑ"
+
+#: session_option_editor.cc:305
+msgid "Monitor Buttons"
+msgstr ""
+
+#: session_option_editor.cc:310
+msgid "Name Labels"
+msgstr "Показывать в метках имён"
+
+#: session_option_editor.cc:314
+msgid "Track Name"
+msgstr "Ðазвание дорожи"
+
+#: session_option_editor.cc:325
msgid "MIDI region copies are independent"
msgstr "Копии MIDI-облаÑтей незавиÑимы"
-#: session_option_editor.cc:245
+#: session_option_editor.cc:332
msgid ""
"Policy for handling overlapping notes\n"
" on the same MIDI channel"
@@ -10862,332 +11108,287 @@ msgstr ""
"Политика обработки перекрывающихÑÑ\n"
"нот на одном и том же MIDI-канале"
-#: session_option_editor.cc:250
+#: session_option_editor.cc:337
msgid "never allow them"
msgstr "Ðикогда не допуÑкать их"
-#: session_option_editor.cc:251
+#: session_option_editor.cc:338
msgid "don't do anything in particular"
msgstr "Ðичего не делать"
-#: session_option_editor.cc:252
+#: session_option_editor.cc:339
msgid "replace any overlapped existing note"
msgstr "ЗаменÑÑ‚ÑŒ любые перекрывающиеÑÑ Ð½Ð¾Ñ‚Ñ‹"
-#: session_option_editor.cc:253
+#: session_option_editor.cc:340
msgid "shorten the overlapped existing note"
msgstr "Укорачивать ÑущеÑтвующую ноту"
-#: session_option_editor.cc:254
+#: session_option_editor.cc:341
msgid "shorten the overlapping new note"
msgstr "Укорачивать добавлÑемую ноту"
-#: session_option_editor.cc:255
+#: session_option_editor.cc:342
msgid "replace both overlapping notes with a single note"
msgstr "ЗаменÑÑ‚ÑŒ обе ноты одной новой"
-#: session_option_editor.cc:259
+#: session_option_editor.cc:346
msgid "Glue to bars and beats"
msgstr "Приклевание к тактам и долÑм"
-#: session_option_editor.cc:263
+#: session_option_editor.cc:350
msgid "Glue new markers to bars and beats"
msgstr "Приклеивать новые маркеры к тактам и долÑм"
-#: session_option_editor.cc:270
+#: session_option_editor.cc:357
msgid "Glue new regions to bars and beats"
msgstr "Приклеивать новые облаÑти к тактам и долÑм"
-#: session_option_editor.cc:275 session_option_editor.cc:277
-#: session_option_editor.cc:284 session_option_editor.cc:291
-#: session_option_editor.cc:298 session_option_editor.cc:300
-#: session_option_editor.cc:307 session_option_editor.cc:314
-#: session_option_editor.cc:321 session_option_editor.cc:328
-#: session_option_editor.cc:330
-msgid "Meterbridge"
-msgstr "Панель индикаторов"
-
-#: session_option_editor.cc:275
-msgid "Route Display"
-msgstr "Показывать в маршрутизации"
-
-#: session_option_editor.cc:279
-msgid "Show Midi Tracks"
-msgstr "MIDI-дорожки"
-
-#: session_option_editor.cc:286
-msgid "Show Busses"
-msgstr "Шины"
-
-#: session_option_editor.cc:293
-msgid "Include Master Bus"
-msgstr "МаÑтер-шина"
-
-#: session_option_editor.cc:298
-msgid "Button Area"
-msgstr "Показывать в кнопках"
-
-#: session_option_editor.cc:302
-msgid "Rec-enable Button"
-msgstr "Переключатель запиÑываемоÑти"
-
-#: session_option_editor.cc:309
-msgid "Mute Button"
-msgstr "Переключатель приглушениÑ"
-
-#: session_option_editor.cc:316
-msgid "Solo Button"
-msgstr "Переключатель ÑолированиÑ"
-
-#: session_option_editor.cc:323
-msgid "Monitor Buttons"
+#: session_option_editor.cc:362
+msgid "Defaults"
msgstr ""
-#: session_option_editor.cc:328
-msgid "Name Labels"
-msgstr "Показывать в метках имён"
-
-#: session_option_editor.cc:332
-msgid "Track Name"
-msgstr "Ðазвание дорожи"
+#: session_option_editor.cc:364
+msgid "Use these settings as defaults"
+msgstr ""
-#: sfdb_ui.cc:87 sfdb_ui.cc:107 sfdb_ui.cc:116
+#: sfdb_ui.cc:88 sfdb_ui.cc:108 sfdb_ui.cc:117
msgid "as new tracks"
msgstr "как новые дорожки"
-#: sfdb_ui.cc:89 sfdb_ui.cc:109
+#: sfdb_ui.cc:90 sfdb_ui.cc:110
msgid "to selected tracks"
msgstr "в выделенные дорожки"
-#: sfdb_ui.cc:91 sfdb_ui.cc:111
+#: sfdb_ui.cc:92 sfdb_ui.cc:112
msgid "to region list"
msgstr "в ÑпиÑок облаÑтей"
-#: sfdb_ui.cc:93 sfdb_ui.cc:113
+#: sfdb_ui.cc:94 sfdb_ui.cc:114
msgid "as new tape tracks"
msgstr "как новые плёночные дорожки"
-#: sfdb_ui.cc:97
+#: sfdb_ui.cc:98
msgid "programming error: unknown import mode string %1"
msgstr "Ошибка в программе: неизвеÑÑ‚Ð½Ð°Ñ Ñтрока режима импорта %1"
-#: sfdb_ui.cc:124
+#: sfdb_ui.cc:125
msgid "Auto-play"
msgstr "ÐвтовоÑпр."
-#: sfdb_ui.cc:132 sfdb_ui.cc:284
+#: sfdb_ui.cc:133 sfdb_ui.cc:317
msgid "<b>Sound File Information</b>"
msgstr "<b>Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ файле</b>"
-#: sfdb_ui.cc:144
+#: sfdb_ui.cc:145
msgid "Timestamp:"
msgstr "Отметка времени:"
-#: sfdb_ui.cc:146
+#: sfdb_ui.cc:147
msgid "Format:"
msgstr "Формат:"
-#: sfdb_ui.cc:185 sfdb_ui.cc:578
+#: sfdb_ui.cc:186 sfdb_ui.cc:646
msgid "Tags:"
msgstr "Метки:"
-#: sfdb_ui.cc:367
-msgid "Auditioning of MIDI files is not yet supported"
-msgstr "ПроÑлушивание файлов MIDI пока что не реализовано"
+#: sfdb_ui.cc:290
+msgid "<b>Midi File Information</b>"
+msgstr ""
-#: sfdb_ui.cc:374
+#: sfdb_ui.cc:402
msgid "Could not read file: %1 (%2)."
msgstr "Ðе удалоÑÑŒ прочитать файл: %1 (%2)"
-#: sfdb_ui.cc:401
+#: sfdb_ui.cc:451
msgid "Could not access soundfile: "
msgstr "Файл недоÑтупен: "
-#: sfdb_ui.cc:455
+#: sfdb_ui.cc:523
msgid "SoundFileBox: Could not tokenize string: "
msgstr ""
-#: sfdb_ui.cc:475 sfdb_ui.cc:477
+#: sfdb_ui.cc:543 sfdb_ui.cc:545
msgid "Search"
msgstr "ИÑкать"
-#: sfdb_ui.cc:501
+#: sfdb_ui.cc:569
msgid "Audio and MIDI files"
msgstr "Звуковые и MIDI-файлы"
-#: sfdb_ui.cc:504
+#: sfdb_ui.cc:572
msgid "Audio files"
msgstr "Звуковые файлы"
-#: sfdb_ui.cc:507
+#: sfdb_ui.cc:575
msgid "MIDI files"
msgstr "Файлы MIDI"
-#: sfdb_ui.cc:510 add_video_dialog.cc:132
+#: sfdb_ui.cc:578 add_video_dialog.cc:123
msgid "All files"
msgstr "Ð’Ñе файлы"
-#: sfdb_ui.cc:529 add_video_dialog.cc:143
+#: sfdb_ui.cc:597 add_video_dialog.cc:246
msgid "Browse Files"
msgstr "Обзор файлов"
-#: sfdb_ui.cc:558
+#: sfdb_ui.cc:626
msgid "Paths"
msgstr "РаÑположениÑ"
-#: sfdb_ui.cc:567
+#: sfdb_ui.cc:635
msgid "Search Tags"
msgstr "ПоиÑк по меткам"
-#: sfdb_ui.cc:583
+#: sfdb_ui.cc:651
msgid "Sort:"
msgstr "Критерий Ñортировки:"
-#: sfdb_ui.cc:591
+#: sfdb_ui.cc:659
msgid "Longest"
msgstr "Более длинные"
-#: sfdb_ui.cc:592
+#: sfdb_ui.cc:660
msgid "Shortest"
msgstr "Более короткие"
-#: sfdb_ui.cc:593
+#: sfdb_ui.cc:661
msgid "Newest"
msgstr "Более новые"
-#: sfdb_ui.cc:594
+#: sfdb_ui.cc:662
msgid "Oldest"
msgstr "Более Ñтарые"
-#: sfdb_ui.cc:595
+#: sfdb_ui.cc:663
msgid "Most downloaded"
msgstr "Чаще Ñкачиваемые"
-#: sfdb_ui.cc:596
+#: sfdb_ui.cc:664
msgid "Least downloaded"
msgstr "Реже Ñкачиваемые"
-#: sfdb_ui.cc:597
+#: sfdb_ui.cc:665
msgid "Highest rated"
msgstr "Выше оценённые"
-#: sfdb_ui.cc:598
+#: sfdb_ui.cc:666
msgid "Lowest rated"
msgstr "Ðиже оценённые"
-#: sfdb_ui.cc:603
+#: sfdb_ui.cc:671
msgid "More"
msgstr ""
-#: sfdb_ui.cc:607
+#: sfdb_ui.cc:675
msgid "Similar"
msgstr ""
-#: sfdb_ui.cc:619
+#: sfdb_ui.cc:687
msgid "ID"
msgstr "ID"
-#: sfdb_ui.cc:620 add_video_dialog.cc:84
+#: sfdb_ui.cc:688 add_video_dialog.cc:83
msgid "Filename"
msgstr "Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°"
-#: sfdb_ui.cc:622
+#: sfdb_ui.cc:690
msgid "Duration"
msgstr "ДлительноÑÑ‚ÑŒ"
-#: sfdb_ui.cc:623
+#: sfdb_ui.cc:691
msgid "Size"
msgstr "Размер"
-#: sfdb_ui.cc:624
+#: sfdb_ui.cc:692
msgid "Samplerate"
msgstr "ЧаÑтота ÑÑмплированиÑ"
-#: sfdb_ui.cc:625
+#: sfdb_ui.cc:693
msgid "License"
msgstr "ЛицензиÑ"
-#: sfdb_ui.cc:643
+#: sfdb_ui.cc:711
msgid "Search Freesound"
msgstr "ПоиÑк по Freesound"
-#: sfdb_ui.cc:663
+#: sfdb_ui.cc:731
msgid "Press to import selected files and close this window"
msgstr "Ðажмите, чтобы импортировать выбранные файлы и закрыть Ñто окно"
-#: sfdb_ui.cc:664
+#: sfdb_ui.cc:732
msgid "Press to import selected files and leave this window open"
msgstr ""
"Ðажмите, чтобы импортировать выбранные файлы и оÑтавить Ñто окно открытым"
-#: sfdb_ui.cc:665
+#: sfdb_ui.cc:733
msgid "Press to close this window without importing any files"
msgstr "Ðажмите, чтобы закрыть Ñто окно, ничего не импортируÑ"
-#: sfdb_ui.cc:861
+#: sfdb_ui.cc:929
msgid "SoundFileBrowser: Could not tokenize string: "
msgstr ""
-#: sfdb_ui.cc:1061
+#: sfdb_ui.cc:1129
msgid "%1 more page of 100 results available"
msgid_plural "%1 more pages of 100 results available"
msgstr[0] "Ещё %1 Ñтраница из 100 доÑтупных"
msgstr[1] "Ещё %1 Ñтраницы из 100 доÑтупных"
msgstr[2] "Ещё %1 Ñтраниц из 100 доÑтупных"
-#: sfdb_ui.cc:1066
+#: sfdb_ui.cc:1134
msgid "No more results available"
msgstr "Больше результатов нет"
-#: sfdb_ui.cc:1130
+#: sfdb_ui.cc:1198
msgid "B"
msgstr "Б"
-#: sfdb_ui.cc:1132
+#: sfdb_ui.cc:1200
msgid "kB"
msgstr "КБ"
-#: sfdb_ui.cc:1134 sfdb_ui.cc:1136
+#: sfdb_ui.cc:1202 sfdb_ui.cc:1204
msgid "MB"
msgstr "МБ"
-#: sfdb_ui.cc:1138
+#: sfdb_ui.cc:1206
msgid "GB"
msgstr "ГБ"
-#: sfdb_ui.cc:1350 sfdb_ui.cc:1658 sfdb_ui.cc:1709 sfdb_ui.cc:1727
+#: sfdb_ui.cc:1418 sfdb_ui.cc:1731 sfdb_ui.cc:1782 sfdb_ui.cc:1800
msgid "one track per file"
msgstr "Одна дорожка на файл"
-#: sfdb_ui.cc:1353 sfdb_ui.cc:1710 sfdb_ui.cc:1728
+#: sfdb_ui.cc:1421 sfdb_ui.cc:1783 sfdb_ui.cc:1801
msgid "one track per channel"
msgstr "Одна дорожка на канал"
-#: sfdb_ui.cc:1361 sfdb_ui.cc:1712 sfdb_ui.cc:1729
+#: sfdb_ui.cc:1429 sfdb_ui.cc:1785 sfdb_ui.cc:1802
msgid "sequence files"
msgstr ""
-#: sfdb_ui.cc:1364 sfdb_ui.cc:1717
+#: sfdb_ui.cc:1432 sfdb_ui.cc:1790
msgid "all files in one track"
msgstr "Ð’Ñе файлы в одну дорожку"
-#: sfdb_ui.cc:1365 sfdb_ui.cc:1711
+#: sfdb_ui.cc:1433 sfdb_ui.cc:1784
msgid "merge files"
msgstr "Объединить файлы"
-#: sfdb_ui.cc:1371 sfdb_ui.cc:1714
+#: sfdb_ui.cc:1439 sfdb_ui.cc:1787
msgid "one region per file"
msgstr "Одна облаÑÑ‚ÑŒ на файл"
-#: sfdb_ui.cc:1374 sfdb_ui.cc:1715
+#: sfdb_ui.cc:1442 sfdb_ui.cc:1788
msgid "one region per channel"
msgstr "Одна облаÑÑ‚ÑŒ на канал"
-#: sfdb_ui.cc:1379 sfdb_ui.cc:1716 sfdb_ui.cc:1730
+#: sfdb_ui.cc:1447 sfdb_ui.cc:1789 sfdb_ui.cc:1803
msgid "all files in one region"
msgstr "Ð’Ñе файлы в одной облаÑти"
-#: sfdb_ui.cc:1446
+#: sfdb_ui.cc:1514
msgid ""
"One or more of the selected files\n"
"cannot be used by %1"
@@ -11195,55 +11396,55 @@ msgstr ""
"Один или более выбранных файлов\n"
"не могут быть иÑпользованы в %1"
-#: sfdb_ui.cc:1586
+#: sfdb_ui.cc:1658
msgid "Copy files to session"
msgstr "Скопировать файлы в ÑеÑÑию"
-#: sfdb_ui.cc:1603 sfdb_ui.cc:1767
+#: sfdb_ui.cc:1675 sfdb_ui.cc:1840
msgid "file timestamp"
msgstr "По отметке времени файла"
-#: sfdb_ui.cc:1604 sfdb_ui.cc:1769
+#: sfdb_ui.cc:1676 sfdb_ui.cc:1842
msgid "edit point"
msgstr "По курÑору редактора"
-#: sfdb_ui.cc:1605 sfdb_ui.cc:1771
+#: sfdb_ui.cc:1677 sfdb_ui.cc:1844
msgid "playhead"
msgstr "По указателю воÑпр."
-#: sfdb_ui.cc:1606
+#: sfdb_ui.cc:1678
msgid "session start"
msgstr "Ð’ начало ÑеÑÑии"
-#: sfdb_ui.cc:1611
+#: sfdb_ui.cc:1684
msgid "<b>Add files as ...</b>"
msgstr "<b>Добавить файлы как...</b>"
-#: sfdb_ui.cc:1633
+#: sfdb_ui.cc:1706
msgid "<b>Insert at</b>"
msgstr "<b>Куда вÑтавить</b>"
-#: sfdb_ui.cc:1646
+#: sfdb_ui.cc:1719
msgid "<b>Mapping</b>"
msgstr "<b>СпоÑоб вÑтавки</b>"
-#: sfdb_ui.cc:1664
+#: sfdb_ui.cc:1737
msgid "<b>Conversion quality</b>"
msgstr "<b>КачеÑтво преобразованиÑ:</b>"
-#: sfdb_ui.cc:1676 sfdb_ui.cc:1783
+#: sfdb_ui.cc:1749 sfdb_ui.cc:1856
msgid "Best"
msgstr "Ðаилучшее"
-#: sfdb_ui.cc:1677 sfdb_ui.cc:1785
+#: sfdb_ui.cc:1750 sfdb_ui.cc:1858
msgid "Good"
msgstr "Хорошее"
-#: sfdb_ui.cc:1678 sfdb_ui.cc:1787
+#: sfdb_ui.cc:1751 sfdb_ui.cc:1860
msgid "Quick"
msgstr "БыÑтрое"
-#: sfdb_ui.cc:1680
+#: sfdb_ui.cc:1753
msgid "Fastest"
msgstr "БыÑтрее вÑего"
@@ -11289,6 +11490,30 @@ msgstr ">>> %+d полутон"
msgid "Stopped"
msgstr "ОÑтановлено"
+#: soundcloud_export_selector.cc:44
+msgid "User Email"
+msgstr ""
+
+#: soundcloud_export_selector.cc:45
+msgid "Password"
+msgstr ""
+
+#: soundcloud_export_selector.cc:46
+msgid "Make files public"
+msgstr ""
+
+#: soundcloud_export_selector.cc:47
+msgid "Open uploaded files in browser"
+msgstr ""
+
+#: soundcloud_export_selector.cc:48
+msgid "Make files downloadable"
+msgstr ""
+
+#: soundcloud_export_selector.cc:107
+msgid "%1: %2 of %3 bytes uploaded"
+msgstr ""
+
#: splash.cc:73
msgid "%1 loading ..."
msgstr "ЗагружаетÑÑ %1..."
@@ -11305,7 +11530,7 @@ msgstr "Удалить громкоговоритель"
msgid "Azimuth:"
msgstr "Ðзимут:"
-#: startup.cc:72
+#: startup.cc:73
msgid ""
"Use an external mixer or the hardware mixer of your audio interface.\n"
"%1 will play NO role in monitoring"
@@ -11313,11 +11538,11 @@ msgstr ""
"ИÑпользовать внешний микшер или микшер звукового интерфейÑа.\n"
"%1 никак не будет учаÑтвовать в мониторинге."
-#: startup.cc:74
+#: startup.cc:75
msgid "Ask %1 to play back material as it is being recorded"
msgstr "Дать %1 воÑпроизводить материал при его запиÑи"
-#: startup.cc:143
+#: startup.cc:144
msgid ""
"<b>Welcome to this BETA release of Ardour %1</b>\n"
"\n"
@@ -11364,11 +11589,11 @@ msgstr ""
"\n"
" http://ardour.org/support\n"
-#: startup.cc:167
+#: startup.cc:168
msgid "This is a BETA RELEASE"
msgstr "Это БЕТÐ-верÑÐ¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹"
-#: startup.cc:176
+#: startup.cc:177
msgid ""
"<span size=\"larger\">%1 is a digital audio workstation. You can use it to "
"record, edit and mix multi-track audio. You can produce your own CDs, mix "
@@ -11385,15 +11610,15 @@ msgstr ""
"\n"
"Перед началом работы Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹ необходимо кое-что наÑтроить.</span>"
-#: startup.cc:202
+#: startup.cc:203
msgid "Welcome to %1"
msgstr "ПриветÑтвуем Ð²Ð°Ñ Ð² %1"
-#: startup.cc:225
+#: startup.cc:226
msgid "Default folder for %1 sessions"
msgstr "Папка Ð´Ð»Ñ ÑеÑÑий %1 по умолчанию"
-#: startup.cc:231
+#: startup.cc:232
msgid ""
"Each project that you work on with %1 has its own folder.\n"
"These can require a lot of disk space if you are recording audio.\n"
@@ -11411,11 +11636,11 @@ msgstr ""
"<i>(СохранÑÑ‚ÑŒ ÑеÑÑии можно будет где угодно, проÑто указаннаÑ\n"
"папка будет иÑпользоватьÑÑ Ð¿Ð¾ умолчанию)</i>"
-#: startup.cc:254
+#: startup.cc:255
msgid "Default folder for new sessions"
msgstr "Папка Ð´Ð»Ñ Ð½Ð¾Ð²Ñ‹Ñ… ÑеÑÑий по умолчанию"
-#: startup.cc:275
+#: startup.cc:276
msgid ""
"While recording instruments or vocals, you probably want to listen to the\n"
"signal as well as record it. This is called \"monitoring\". There are\n"
@@ -11440,15 +11665,15 @@ msgstr ""
"<i>ЕÑли вы не понимаете ÑмыÑл Ñтого параметра, проÑто иÑпользуйте \n"
"предлагаемый по умолчанию вариант.</i>"
-#: startup.cc:296
+#: startup.cc:297
msgid "Monitoring Choices"
msgstr "СпоÑоб мониторинга"
-#: startup.cc:319
+#: startup.cc:320
msgid "Use a Master bus directly"
msgstr "ИÑпользовать маÑтер-шину напрÑмую"
-#: startup.cc:321
+#: startup.cc:322
msgid ""
"Connect the Master bus directly to your hardware outputs. This is preferable "
"for simple usage."
@@ -11456,11 +11681,11 @@ msgstr ""
"Соединить маÑтер-шину напрÑмую Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð°Ð¼Ð¸ звукового интерфейÑа.\n"
"Предпочтительно Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñтого иÑпользованиÑ."
-#: startup.cc:330
+#: startup.cc:331
msgid "Use an additional Monitor bus"
msgstr "ИÑпользовать дополнительную шину мониторинга"
-#: startup.cc:333
+#: startup.cc:334
msgid ""
"Use a Monitor bus between Master bus and hardware outputs for \n"
"greater control in monitoring without affecting the mix."
@@ -11468,7 +11693,7 @@ msgstr ""
"ИÑпользовать шину мониторинга между маÑтер-шиной и выходами \n"
"звукового интерфейÑа Ð´Ð»Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð±ÐµÐ· вмешательÑтва в микÑ."
-#: startup.cc:355
+#: startup.cc:356
msgid ""
"<i>You can change this preference at any time via the Preferences dialog.\n"
"You can also add or remove the monitor section to/from any session.</i>\n"
@@ -11481,391 +11706,391 @@ msgstr ""
"<i>ЕÑли вы не понимаете ÑмыÑл Ñтого параметра, проÑто иÑпользуйте\n"
"предлагаемое по умолчанию.</i>"
-#: startup.cc:366
+#: startup.cc:367
msgid "Monitor Section"
msgstr "Ð¡ÐµÐºÑ†Ð¸Ñ Ð¼Ð¾Ð½Ð¸Ñ‚Ð¾Ñ€Ð°"
-#: step_entry.cc:59
+#: step_entry.cc:60
msgid "Step Entry: %1"
msgstr "Пошаговый ввод: %1"
-#: step_entry.cc:64
+#: step_entry.cc:65
msgid ">beat"
msgstr ">долÑ"
-#: step_entry.cc:65
+#: step_entry.cc:66
msgid ">bar"
msgstr ">такт"
-#: step_entry.cc:66
+#: step_entry.cc:67
msgid ">EP"
msgstr ">ТР"
-#: step_entry.cc:67
+#: step_entry.cc:68
msgid "sustain"
msgstr ""
-#: step_entry.cc:68
+#: step_entry.cc:69
msgid "rest"
msgstr "пауза"
-#: step_entry.cc:69
+#: step_entry.cc:70
msgid "g-rest"
msgstr ""
-#: step_entry.cc:70
+#: step_entry.cc:71
msgid "back"
msgstr "назад"
-#: step_entry.cc:81 step_entry.cc:84
+#: step_entry.cc:82 step_entry.cc:85
msgid "+"
msgstr "+"
-#: step_entry.cc:190
+#: step_entry.cc:191
msgid "Set note length to a whole note"
msgstr "ПоменÑÑ‚ÑŒ длительноÑÑ‚ÑŒ ноты на целую"
-#: step_entry.cc:191
+#: step_entry.cc:192
msgid "Set note length to a half note"
msgstr "ПоменÑÑ‚ÑŒ длительноÑÑ‚ÑŒ ноты на 1/2"
-#: step_entry.cc:192
+#: step_entry.cc:193
msgid "Set note length to a quarter note"
msgstr "ПоменÑÑ‚ÑŒ длительноÑÑ‚ÑŒ ноты на 1/4"
-#: step_entry.cc:193
+#: step_entry.cc:194
msgid "Set note length to a eighth note"
msgstr "ПоменÑÑ‚ÑŒ длительноÑÑ‚ÑŒ ноты на 1/8"
-#: step_entry.cc:194
+#: step_entry.cc:195
msgid "Set note length to a sixteenth note"
msgstr "ПоменÑÑ‚ÑŒ длительноÑÑ‚ÑŒ ноты на 1/16"
-#: step_entry.cc:195
+#: step_entry.cc:196
msgid "Set note length to a thirty-second note"
msgstr "ПоменÑÑ‚ÑŒ длительноÑÑ‚ÑŒ ноты на 1/32"
-#: step_entry.cc:196
+#: step_entry.cc:197
msgid "Set note length to a sixty-fourth note"
msgstr "ПоменÑÑ‚ÑŒ длительноÑÑ‚ÑŒ ноты на 1/64"
-#: step_entry.cc:275
+#: step_entry.cc:276
msgid "Set volume (velocity) to pianississimo"
msgstr "ПоменÑÑ‚ÑŒ громкоÑÑ‚ÑŒ (Ñилу нажатиÑ) на пиано-пианиÑÑимо"
-#: step_entry.cc:276
+#: step_entry.cc:277
msgid "Set volume (velocity) to pianissimo"
msgstr "ПоменÑÑ‚ÑŒ громкоÑÑ‚ÑŒ (Ñилу нажатиÑ) на пианиÑÑимо"
-#: step_entry.cc:277
+#: step_entry.cc:278
msgid "Set volume (velocity) to piano"
msgstr "ПоменÑÑ‚ÑŒ громкоÑÑ‚ÑŒ (Ñилу нажатиÑ) на пиано"
-#: step_entry.cc:278
+#: step_entry.cc:279
msgid "Set volume (velocity) to mezzo-piano"
msgstr "ПоменÑÑ‚ÑŒ громкоÑÑ‚ÑŒ (Ñилу нажатиÑ) на меццо-пиано"
-#: step_entry.cc:279
+#: step_entry.cc:280
msgid "Set volume (velocity) to mezzo-forte"
msgstr "ПоменÑÑ‚ÑŒ громкоÑÑ‚ÑŒ (Ñилу нажатиÑ) на меццо-форте"
-#: step_entry.cc:280
+#: step_entry.cc:281
msgid "Set volume (velocity) to forte"
msgstr "ПоменÑÑ‚ÑŒ громкоÑÑ‚ÑŒ (Ñилу нажатиÑ) на форте"
-#: step_entry.cc:281
+#: step_entry.cc:282
msgid "Set volume (velocity) to forteissimo"
msgstr "ПоменÑÑ‚ÑŒ громкоÑÑ‚ÑŒ (Ñилу нажатиÑ) на фортиÑÑимо"
-#: step_entry.cc:282
+#: step_entry.cc:283
msgid "Set volume (velocity) to forteississimo"
msgstr "ПоменÑÑ‚ÑŒ громкоÑÑ‚ÑŒ (Ñилу нажатиÑ) на форте-фортиÑÑимо"
-#: step_entry.cc:330
+#: step_entry.cc:331
msgid "Stack inserted notes to form a chord"
msgstr "Режим ввода аккордов"
-#: step_entry.cc:331
+#: step_entry.cc:332
msgid "Extend selected notes by note length"
msgstr "Увеличить на Ñто значение длительноÑÑ‚ÑŒ выбранных нот"
-#: step_entry.cc:332
+#: step_entry.cc:333
msgid "Use undotted note lengths"
msgstr "ИÑпользовать неувеличенные длительноÑти"
-#: step_entry.cc:333
+#: step_entry.cc:334
msgid "Use dotted (* 1.5) note lengths"
msgstr "ИÑпользовать длительноÑÑ‚ÑŒ Ñ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ (* 1,5)"
-#: step_entry.cc:334
+#: step_entry.cc:335
msgid "Use double-dotted (* 1.75) note lengths"
msgstr "ИÑпользовать длительноÑÑ‚ÑŒ Ñ Ð´Ð²ÑƒÐ¼Ñ Ñ‚Ð¾Ñ‡ÐºÐ°Ð¼Ð¸ (* 1,75)"
-#: step_entry.cc:335
+#: step_entry.cc:336
msgid "Use triple-dotted (* 1.875) note lengths"
msgstr "ИÑпользовать длительноÑÑ‚ÑŒ Ñ Ñ‚Ñ€ÐµÐ¼Ñ Ñ‚Ð¾Ñ‡ÐºÐ°Ð¼Ð¸ (* 1,875)"
-#: step_entry.cc:336
+#: step_entry.cc:337
msgid "Insert a note-length's rest"
msgstr "Ð’Ñтавить паузу длиной в ноту"
-#: step_entry.cc:337
+#: step_entry.cc:338
msgid "Insert a grid-unit's rest"
msgstr "Ð’Ñтавить паузу длиной в единицу Ñетки"
-#: step_entry.cc:338
+#: step_entry.cc:339
msgid "Insert a rest until the next beat"
msgstr "Ð’Ñтавить паузу до Ñледующей доли"
-#: step_entry.cc:339
+#: step_entry.cc:340
msgid "Insert a rest until the next bar"
msgstr "Ð’Ñтавить паузу до Ñледующего такта"
-#: step_entry.cc:340
+#: step_entry.cc:341
msgid "Insert a bank change message"
msgstr "Ð’Ñтавить Ñмену банка"
-#: step_entry.cc:341
+#: step_entry.cc:342
msgid "Insert a program change message"
msgstr "Ð’Ñтавить Ñмену программы"
-#: step_entry.cc:342 step_entry.cc:699
+#: step_entry.cc:343 step_entry.cc:700
msgid "Move Insert Position Back by Note Length"
msgstr "ПеремеÑтить позицию ввода назад на длительноÑÑ‚ÑŒ ноты"
-#: step_entry.cc:343 step_entry.cc:697
+#: step_entry.cc:344 step_entry.cc:698
msgid "Move Insert Position to Edit Point"
msgstr "ПеремеÑтить позицию ввода к точке редактированиÑ"
-#: step_entry.cc:400
+#: step_entry.cc:401
msgid "1/Note"
msgstr "1/Ðота"
-#: step_entry.cc:414
+#: step_entry.cc:415
msgid "Octave"
msgstr "Октава"
-#: step_entry.cc:597
+#: step_entry.cc:598
msgid "Insert Note A"
msgstr "Ð’Ñтавить ноту лÑ"
-#: step_entry.cc:598
+#: step_entry.cc:599
msgid "Insert Note A-sharp"
msgstr "Ð’Ñтавить ноту лÑ-диез"
-#: step_entry.cc:599
+#: step_entry.cc:600
msgid "Insert Note B"
msgstr "Ð’Ñтавить ноту Ñи"
-#: step_entry.cc:600
+#: step_entry.cc:601
msgid "Insert Note C"
msgstr "Ð’Ñтавить ноту до"
-#: step_entry.cc:601
+#: step_entry.cc:602
msgid "Insert Note C-sharp"
msgstr "Ð’Ñтавить ноту до-диез"
-#: step_entry.cc:602
+#: step_entry.cc:603
msgid "Insert Note D"
msgstr "Ð’Ñтавить ноту ре"
-#: step_entry.cc:603
+#: step_entry.cc:604
msgid "Insert Note D-sharp"
msgstr "Ð’Ñтавить ноту ре-диез"
-#: step_entry.cc:604
+#: step_entry.cc:605
msgid "Insert Note E"
msgstr "Ð’Ñтавить ноту ми"
-#: step_entry.cc:605
+#: step_entry.cc:606
msgid "Insert Note F"
msgstr "Ð’Ñтавить ноту фа"
-#: step_entry.cc:606
+#: step_entry.cc:607
msgid "Insert Note F-sharp"
msgstr "Ð’Ñтавить ноту фа-диез"
-#: step_entry.cc:607
+#: step_entry.cc:608
msgid "Insert Note G"
msgstr "Ð’Ñтавить ноту Ñоль"
-#: step_entry.cc:608
+#: step_entry.cc:609
msgid "Insert Note G-sharp"
msgstr "Ð’Ñтавить ноту Ñоль-диез"
-#: step_entry.cc:610
+#: step_entry.cc:611
msgid "Insert a Note-length Rest"
msgstr "Ð’Ñтавить паузу длиной в ноту"
-#: step_entry.cc:611
+#: step_entry.cc:612
msgid "Insert a Snap-length Rest"
msgstr ""
-#: step_entry.cc:613 step_entry.cc:614
+#: step_entry.cc:614 step_entry.cc:615
msgid "Move to next octave"
msgstr "Перейти к Ñледующей октаве"
-#: step_entry.cc:616
+#: step_entry.cc:617
msgid "Move to Next Note Length"
msgstr "Перейти к Ñледующей длительноÑти нот"
-#: step_entry.cc:617
+#: step_entry.cc:618
msgid "Move to Previous Note Length"
msgstr "Перейти к предыдущей длительноÑти нот"
-#: step_entry.cc:619
+#: step_entry.cc:620
msgid "Increase Note Length"
msgstr "Увеличить длительноÑÑ‚ÑŒ ноты"
-#: step_entry.cc:620
+#: step_entry.cc:621
msgid "Decrease Note Length"
msgstr "Уменьшить длительноÑÑ‚ÑŒ ноты"
-#: step_entry.cc:622
+#: step_entry.cc:623
msgid "Move to Next Note Velocity"
msgstr "Перейти к Ñледующей Ñиле нажатиÑ"
-#: step_entry.cc:623
+#: step_entry.cc:624
msgid "Move to Previous Note Velocity"
msgstr "Перейти к предыдущей Ñиле нажатиÑ"
-#: step_entry.cc:625
+#: step_entry.cc:626
msgid "Increase Note Velocity"
msgstr "Увеличить Ñилу Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ Ð´Ð»Ñ Ð½Ð¾Ñ‚Ñ‹"
-#: step_entry.cc:626
+#: step_entry.cc:627
msgid "Decrease Note Velocity"
msgstr "Уменьшить Ñилу Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ Ð´Ð»Ñ Ð½Ð¾Ñ‚Ñ‹"
-#: step_entry.cc:628
+#: step_entry.cc:629
msgid "Switch to the 1st octave"
msgstr "ПереключитьÑÑ Ð½Ð° 1-ÑŽ октаву"
-#: step_entry.cc:629
+#: step_entry.cc:630
msgid "Switch to the 2nd octave"
msgstr "ПереключитьÑÑ Ð½Ð° 2-ÑŽ октаву"
-#: step_entry.cc:630
+#: step_entry.cc:631
msgid "Switch to the 3rd octave"
msgstr "ПереключитьÑÑ Ð½Ð° 3-ÑŽ октаву"
-#: step_entry.cc:631
+#: step_entry.cc:632
msgid "Switch to the 4th octave"
msgstr "ПереключитьÑÑ Ð½Ð° 4-ÑŽ октаву"
-#: step_entry.cc:632
+#: step_entry.cc:633
msgid "Switch to the 5th octave"
msgstr "ПереключитьÑÑ Ð½Ð° 5-ÑŽ октаву"
-#: step_entry.cc:633
+#: step_entry.cc:634
msgid "Switch to the 6th octave"
msgstr "ПереключитьÑÑ Ð½Ð° 6-ÑŽ октаву"
-#: step_entry.cc:634
+#: step_entry.cc:635
msgid "Switch to the 7th octave"
msgstr "ПереключитьÑÑ Ð½Ð° 7-ÑŽ октаву"
-#: step_entry.cc:635
+#: step_entry.cc:636
msgid "Switch to the 8th octave"
msgstr "ПереключитьÑÑ Ð½Ð° 8-ÑŽ октаву"
-#: step_entry.cc:636
+#: step_entry.cc:637
msgid "Switch to the 9th octave"
msgstr "ПереключитьÑÑ Ð½Ð° 9-ÑŽ октаву"
-#: step_entry.cc:637
+#: step_entry.cc:638
msgid "Switch to the 10th octave"
msgstr "ПереключитьÑÑ Ð½Ð° 10-ÑŽ октаву"
-#: step_entry.cc:638
+#: step_entry.cc:639
msgid "Switch to the 11th octave"
msgstr "ПереключитьÑÑ Ð½Ð° 11-ÑŽ октаву"
-#: step_entry.cc:643
+#: step_entry.cc:644
msgid "Set Note Length to Whole"
msgstr "УÑтановить длину ноты равной целой ноте"
-#: step_entry.cc:645
+#: step_entry.cc:646
msgid "Set Note Length to 1/2"
msgstr "УÑтановить длину ноты равной 1/2"
-#: step_entry.cc:647
+#: step_entry.cc:648
msgid "Set Note Length to 1/3"
msgstr "УÑтановить длину ноты равной 1/3"
-#: step_entry.cc:649
+#: step_entry.cc:650
msgid "Set Note Length to 1/4"
msgstr "УÑтановить длину ноты равной 1/4"
-#: step_entry.cc:651
+#: step_entry.cc:652
msgid "Set Note Length to 1/8"
msgstr "УÑтановить длину ноты равной 1/8"
-#: step_entry.cc:653
+#: step_entry.cc:654
msgid "Set Note Length to 1/16"
msgstr "УÑтановить длину ноты равной 1/16"
-#: step_entry.cc:655
+#: step_entry.cc:656
msgid "Set Note Length to 1/32"
msgstr "УÑтановить длину ноты равной 1/32"
-#: step_entry.cc:657
+#: step_entry.cc:658
msgid "Set Note Length to 1/64"
msgstr "УÑтановить длину ноты равной 1/64"
-#: step_entry.cc:662
+#: step_entry.cc:663
msgid "Set Note Velocity to Pianississimo"
msgstr "ПоменÑÑ‚ÑŒ Ñилу Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ Ð½Ð¾Ñ‚Ñ‹ на пиано-пианиÑÑимо"
-#: step_entry.cc:664
+#: step_entry.cc:665
msgid "Set Note Velocity to Pianissimo"
msgstr "ПоменÑÑ‚ÑŒ Ñилу Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ Ð½Ð¾Ñ‚Ñ‹ на пианиÑÑимо"
-#: step_entry.cc:666
+#: step_entry.cc:667
msgid "Set Note Velocity to Piano"
msgstr "ПоменÑÑ‚ÑŒ Ñилу Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ Ð½Ð¾Ñ‚Ñ‹ на пиано"
-#: step_entry.cc:668
+#: step_entry.cc:669
msgid "Set Note Velocity to Mezzo-Piano"
msgstr "ПоменÑÑ‚ÑŒ Ñилу Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ Ð½Ð¾Ñ‚Ñ‹ на меццо-пиано"
-#: step_entry.cc:670
+#: step_entry.cc:671
msgid "Set Note Velocity to Mezzo-Forte"
msgstr "ПоменÑÑ‚ÑŒ Ñилу Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ Ð½Ð¾Ñ‚Ñ‹ на меццо-форте"
-#: step_entry.cc:672
+#: step_entry.cc:673
msgid "Set Note Velocity to Forte"
msgstr "ПоменÑÑ‚ÑŒ Ñилу Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ Ð½Ð¾Ñ‚Ñ‹ на форте"
-#: step_entry.cc:674 step_entry.cc:676
+#: step_entry.cc:675 step_entry.cc:677
msgid "Set Note Velocity to Fortississimo"
msgstr "ПоменÑÑ‚ÑŒ Ñилу Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ Ð½Ð¾Ñ‚Ñ‹ на форте-фортиÑÑимо"
-#: step_entry.cc:678
+#: step_entry.cc:679
msgid "Toggle Triple Notes"
msgstr ""
-#: step_entry.cc:683
+#: step_entry.cc:684
msgid "No Dotted Notes"
msgstr ""
-#: step_entry.cc:685
+#: step_entry.cc:686
msgid "Toggled Dotted Notes"
msgstr ""
-#: step_entry.cc:687
+#: step_entry.cc:688
msgid "Toggled Double-Dotted Notes"
msgstr ""
-#: step_entry.cc:689
+#: step_entry.cc:690
msgid "Toggled Triple-Dotted Notes"
msgstr ""
-#: step_entry.cc:692
+#: step_entry.cc:693
msgid "Toggle Chord Entry"
msgstr "Переключить ввод аккордов"
-#: step_entry.cc:694
+#: step_entry.cc:695
msgid "Sustain Selected Notes by Note Length"
msgstr ""
@@ -11882,140 +12107,164 @@ msgstr "Стереопанорама"
msgid "Width"
msgstr "Ширина"
-#: strip_silence_dialog.cc:48
+#: strip_silence_dialog.cc:44
msgid "Strip Silence"
msgstr "Вырезать тишину"
-#: strip_silence_dialog.cc:79
+#: strip_silence_dialog.cc:75
msgid "Minimum length"
msgstr "ÐœÐ¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð°"
-#: strip_silence_dialog.cc:87
+#: strip_silence_dialog.cc:83
msgid "Fade length"
msgstr "Длина фейда"
-#: tempo_dialog.cc:43 tempo_dialog.cc:58
+#: tempo_dialog.cc:42 tempo_dialog.cc:58
msgid "bar:"
msgstr "в такте:"
-#: tempo_dialog.cc:44 tempo_dialog.cc:59
+#: tempo_dialog.cc:43 tempo_dialog.cc:59
msgid "beat:"
msgstr "в доле:"
-#: tempo_dialog.cc:45 tempo_dialog.cc:60
+#: tempo_dialog.cc:44 tempo_dialog.cc:60
msgid "Pulse note"
msgstr ""
+#: tempo_dialog.cc:45 tempo_dialog.cc:61
+msgid "Tap tempo"
+msgstr ""
+
#: tempo_dialog.cc:55
msgid "Edit Tempo"
msgstr "Изменить темп"
-#: tempo_dialog.cc:76 tempo_dialog.cc:77 tempo_dialog.cc:282
-#: tempo_dialog.cc:283
+#: tempo_dialog.cc:77 tempo_dialog.cc:78 tempo_dialog.cc:316
+#: tempo_dialog.cc:317
msgid "whole"
msgstr "целаÑ"
-#: tempo_dialog.cc:78 tempo_dialog.cc:79 tempo_dialog.cc:284
-#: tempo_dialog.cc:285
+#: tempo_dialog.cc:79 tempo_dialog.cc:80 tempo_dialog.cc:318
+#: tempo_dialog.cc:319
msgid "second"
msgstr "1/2"
-#: tempo_dialog.cc:80 tempo_dialog.cc:81 tempo_dialog.cc:286
-#: tempo_dialog.cc:287
+#: tempo_dialog.cc:81 tempo_dialog.cc:82 tempo_dialog.cc:320
+#: tempo_dialog.cc:321
msgid "third"
msgstr "1/3"
-#: tempo_dialog.cc:82 tempo_dialog.cc:83 tempo_dialog.cc:288
-#: tempo_dialog.cc:289
+#: tempo_dialog.cc:83 tempo_dialog.cc:84 tempo_dialog.cc:322
+#: tempo_dialog.cc:323
msgid "quarter"
msgstr "1/4"
-#: tempo_dialog.cc:84 tempo_dialog.cc:85 tempo_dialog.cc:290
-#: tempo_dialog.cc:291
+#: tempo_dialog.cc:85 tempo_dialog.cc:86 tempo_dialog.cc:324
+#: tempo_dialog.cc:325
msgid "eighth"
msgstr "1/8"
-#: tempo_dialog.cc:86 tempo_dialog.cc:87 tempo_dialog.cc:292
-#: tempo_dialog.cc:293
+#: tempo_dialog.cc:87 tempo_dialog.cc:88 tempo_dialog.cc:326
+#: tempo_dialog.cc:327
msgid "sixteenth"
msgstr "1/16"
-#: tempo_dialog.cc:88 tempo_dialog.cc:89 tempo_dialog.cc:294
-#: tempo_dialog.cc:295
+#: tempo_dialog.cc:89 tempo_dialog.cc:90 tempo_dialog.cc:328
+#: tempo_dialog.cc:329
msgid "thirty-second"
msgstr "1/32"
-#: tempo_dialog.cc:90 tempo_dialog.cc:91 tempo_dialog.cc:296
-#: tempo_dialog.cc:297
+#: tempo_dialog.cc:91 tempo_dialog.cc:92 tempo_dialog.cc:330
+#: tempo_dialog.cc:331
msgid "sixty-fourth"
msgstr "1/64"
-#: tempo_dialog.cc:92 tempo_dialog.cc:93 tempo_dialog.cc:298
-#: tempo_dialog.cc:299
+#: tempo_dialog.cc:93 tempo_dialog.cc:94 tempo_dialog.cc:332
+#: tempo_dialog.cc:333
msgid "one-hundred-twenty-eighth"
msgstr "1/128"
-#: tempo_dialog.cc:120
+#: tempo_dialog.cc:121
msgid "Beats per minute:"
msgstr "Долей в минуту:"
-#: tempo_dialog.cc:152
+#: tempo_dialog.cc:153
msgid "Tempo begins at"
msgstr "Темп начинаетÑÑ"
-#: tempo_dialog.cc:240
+#: tempo_dialog.cc:244
msgid "incomprehensible pulse note type (%1)"
msgstr ""
-#: tempo_dialog.cc:266
+#: tempo_dialog.cc:300
msgid "Edit Meter"
msgstr "Изменить размер"
-#: tempo_dialog.cc:314
+#: tempo_dialog.cc:348
msgid "Note value:"
msgstr "Значение ноты: "
-#: tempo_dialog.cc:315
+#: tempo_dialog.cc:349
msgid "Beats per bar:"
msgstr "Долей на такт:"
-#: tempo_dialog.cc:330
+#: tempo_dialog.cc:364
msgid "Meter begins at bar:"
msgstr "Размер начинаетÑÑ Ð² такте:"
-#: tempo_dialog.cc:441
+#: tempo_dialog.cc:475
msgid "incomprehensible meter note type (%1)"
msgstr ""
-#: theme_manager.cc:57
+#: theme_manager.cc:63
msgid "Dark Theme"
msgstr "Ð¢Ñ‘Ð¼Ð½Ð°Ñ Ñ‚ÐµÐ¼Ð°"
-#: theme_manager.cc:58
+#: theme_manager.cc:64
msgid "Light Theme"
msgstr "Ð¡Ð²ÐµÑ‚Ð»Ð°Ñ Ñ‚ÐµÐ¼Ð°"
-#: theme_manager.cc:59
+#: theme_manager.cc:65
msgid "Restore Defaults"
msgstr "ВоÑÑтановить иÑходные значениÑ"
-#: theme_manager.cc:60
+#: theme_manager.cc:66
msgid "Draw \"flat\" buttons"
msgstr "РиÑовать кнопки плоÑкими"
-#: theme_manager.cc:61
+#: theme_manager.cc:67
+msgid "Blink Rec-Arm buttons"
+msgstr ""
+
+#: theme_manager.cc:68
+msgid "Color regions using their track's color"
+msgstr "РаÑкрашивать облаÑти цветом дорожки"
+
+#: theme_manager.cc:69
+msgid "Show waveform clipping"
+msgstr ""
+
+#: theme_manager.cc:71
+msgid "Waveforms color gradient depth"
+msgstr ""
+
+#: theme_manager.cc:73
+msgid "Timeline item gradient depth"
+msgstr ""
+
+#: theme_manager.cc:74
msgid "All floating windows are dialogs"
msgstr "Ð’Ñе плавающие окна ÑвлÑÑŽÑ‚ÑÑ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð°Ð¼Ð¸"
-#: theme_manager.cc:62
-msgid "Draw waveforms with color gradient"
-msgstr "РиÑовать форму волны Ñ Ð³Ñ€Ð°Ð´Ð¸ÐµÐ½Ñ‚Ð¾Ð¼"
+#: theme_manager.cc:75
+msgid "Icon Set"
+msgstr ""
-#: theme_manager.cc:68
+#: theme_manager.cc:81
msgid "Object"
msgstr "Объект"
-#: theme_manager.cc:123
+#: theme_manager.cc:180
msgid ""
"Mark all floating windows to be type \"Dialog\" rather than using \"Utility"
"\" for some.\n"
@@ -12023,15 +12272,15 @@ msgid ""
"take effect"
msgstr ""
-#: theme_manager.cc:229
+#: theme_manager.cc:286
msgid "Unable to find UI style file %1 in search path %2. %3 will look strange"
msgstr ""
-#: time_axis_view.cc:114
+#: time_axis_view.cc:141
msgid "Track/Bus name (double click to edit)"
msgstr ""
-#: time_axis_view_item.cc:332
+#: time_axis_view_item.cc:384
msgid "new duration %1 frame is out of bounds for %2"
msgid_plural "new duration of %1 frames is out of bounds for %2"
msgstr[0] "ÐÐ¾Ð²Ð°Ñ Ð´Ð»Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ÑÑ‚ÑŒ размером %1 кадр находитÑÑ Ð·Ð° пределами %2"
@@ -12098,11 +12347,11 @@ msgstr "РаÑÑ‚Ñнуть/Сжать"
msgid "<b>Progress</b>"
msgstr "<b>ПрогреÑÑ</b>"
-#: time_info_box.cc:121
+#: time_info_box.cc:124
msgid "Start recording at auto-punch start"
msgstr "Ðачать запиÑÑŒ Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° автоврезки"
-#: time_info_box.cc:122
+#: time_info_box.cc:125
msgid "Stop recording at auto-punch end"
msgstr "ОÑтановить запиÑÑŒ в конце автоврезки"
@@ -12118,148 +12367,160 @@ msgstr "ТранÑпонировать MIDI"
msgid "Transpose"
msgstr "ТранÑпонировать"
-#: ui_config.cc:82 ui_config.cc:113
+#: ui_config.cc:95 ui_config.cc:126
msgid "Loading default ui configuration file %1"
msgstr "Loading default ui configuration file %1"
-#: ui_config.cc:85 ui_config.cc:116
+#: ui_config.cc:98 ui_config.cc:129
msgid "cannot read default ui configuration file \"%1\""
msgstr "Ðевозможно прочитать оÑновной файл конфигурации интерфейÑа \"%1\""
-#: ui_config.cc:90 ui_config.cc:121
+#: ui_config.cc:103 ui_config.cc:134
msgid "default ui configuration file \"%1\" not loaded successfully."
msgstr "ОÑновной файл конфигурации интерфейÑа \"%1\" не был уÑпешно загружен"
-#: ui_config.cc:134
+#: ui_config.cc:147
msgid "Loading user ui configuration file %1"
msgstr "Loading user ui configuration file %1"
-#: ui_config.cc:137
+#: ui_config.cc:150
msgid "cannot read ui configuration file \"%1\""
msgstr "cannot read ui configuration file \"%1\""
-#: ui_config.cc:142
+#: ui_config.cc:155
msgid "user ui configuration file \"%1\" not loaded successfully."
msgstr "user ui configuration file \"%1\" not loaded successfully."
-#: ui_config.cc:150
+#: ui_config.cc:163
msgid "could not find any ui configuration file, canvas will look broken."
msgstr "could not find any ui configuration file, canvas will look broken."
-#: ui_config.cc:169
+#: ui_config.cc:182
msgid "Config file %1 not saved"
msgstr "Config file %1 not saved"
-#: utils.cc:111 utils.cc:154
+#: utils.cc:117 utils.cc:160
msgid "bad XPM header %1"
msgstr "bad XPM header %1"
-#: utils.cc:293 utils.cc:325
+#: utils.cc:313 utils.cc:345
msgid "missing RGBA style for \"%1\""
msgstr "missing RGBA style for \"%1\""
-#: utils.cc:598
+#: utils.cc:640
msgid "cannot find XPM file for %1"
msgstr "cannot find XPM file for %1"
-#: utils.cc:624
+#: utils.cc:660 utils.cc:687 utils.cc:698
+msgid "default"
+msgstr ""
+
+#: utils.cc:699
+msgid "icon \"%1\" not found for icon set \"%2\", fallback to default"
+msgstr ""
+
+#: utils.cc:706
msgid "cannot find icon image for %1 using %2"
msgstr "cannot find icon image for %1 using %2"
-#: utils.cc:639
+#: utils.cc:723 utils.cc:739
msgid "Caught exception while loading icon named %1"
msgstr ""
-#: verbose_cursor.cc:45
-msgid "VerboseCanvasCursor"
-msgstr "VerboseCanvasCursor"
-
-#: add_video_dialog.cc:55
+#: add_video_dialog.cc:54
msgid "Set Video Track"
msgstr "УÑтановка видеодорожки"
-#: add_video_dialog.cc:63
+#: add_video_dialog.cc:62
msgid "Launch External Video Monitor"
msgstr "ЗапуÑтить внешний видеомонитор"
-#: add_video_dialog.cc:64
+#: add_video_dialog.cc:63
msgid "Adjust Session Framerate to Match Video Framerate"
msgstr "Подогнать чаÑтоту кадров ÑеÑÑии к чаÑтоте кадров видео"
-#: add_video_dialog.cc:66
+#: add_video_dialog.cc:65
msgid "Reload docroot"
msgstr ""
-#: add_video_dialog.cc:111 add_video_dialog.cc:115
-msgid "VideoServerIndex"
-msgstr ""
-
-#: add_video_dialog.cc:129
+#: add_video_dialog.cc:120
msgid "Video files"
msgstr "Видеофайлы"
-#: add_video_dialog.cc:164
+#: add_video_dialog.cc:149
msgid "<b>Video Information</b>"
msgstr "<b>Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ видеофайле</b>"
-#: add_video_dialog.cc:167
+#: add_video_dialog.cc:152
msgid "Start:"
msgstr "Ðачало:"
-#: add_video_dialog.cc:173
+#: add_video_dialog.cc:158
msgid "Frame rate:"
msgstr "ЧаÑтота кадров::"
-#: add_video_dialog.cc:176
+#: add_video_dialog.cc:161
msgid "Aspect Ratio:"
msgstr "Соотношение Ñторон:"
-#: add_video_dialog.cc:654
+#: add_video_dialog.cc:244
+msgid "VideoServerIndex"
+msgstr ""
+
+#: add_video_dialog.cc:670
msgid " %1 fps"
msgstr " %1 к/Ñ"
-#: editor_videotimeline.cc:144
-msgid "Export Successful: %1"
-msgstr "ЭкÑпорт уÑпешно завершён: %1"
-
-#: video_timeline.cc:469
+#: video_timeline.cc:473
msgid ""
"Parsing video file info failed. Is the Video Server running? Is the file "
"readable by the Video Server? Does the docroot match? Is it a video file?"
msgstr ""
-#: video_timeline.cc:507
+#: video_timeline.cc:511
msgid ""
"Failed to set session-framerate: '%1' does not have a corresponding option "
"setting in %2."
msgstr ""
-#: video_timeline.cc:515
+#: video_timeline.cc:519
msgid ""
"Video file's framerate is not equal to %1 session timecode's framerate: '%2' "
"vs '%3'"
msgstr ""
-#: video_timeline.cc:588
+#: video_timeline.cc:592
msgid ""
"Video-server docroot mismatch. %1: '%2', video-server: '%3'. This usually "
-"means that the video server was not started by ardour and uses a different "
+"means that the video server was not started by %1 and uses a different "
"document-root."
msgstr ""
-#: video_timeline.cc:737
+#: video_timeline.cc:768
msgid ""
"Video-monitor 'xjadeo' was not found. Please install http://xjadeo.sf.net/ "
"(a custom path to xjadeo can be specified by setting the XJREMOTE "
"environment variable. It should point to an application compatible with "
-"xjadeo's remote-control interface 'xjremote')."
+"xjadeo's remote-control interface 'xjremote').\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
+msgstr ""
+
+#: video_timeline.cc:782
+msgid "Video-monitor 'xjadeo' cannot be launched."
+msgstr ""
+
+#: video_timeline.cc:809
+msgid ""
+"Video-monitor 'xjadeo' is too old. Please install xjadeo version 0.7.7 or "
+"later. http://xjadeo.sf.net/"
msgstr ""
-#: video_monitor.cc:281
+#: video_monitor.cc:285
msgid "Video Monitor: File Not Found."
msgstr "Видеомонитор: файл не найден"
-#: transcode_ffmpeg.cc:73
+#: transcode_ffmpeg.cc:126
msgid ""
"No ffprobe or ffmpeg executables could be found on this system.\n"
"Video import and export is not possible until you install those tools.\n"
@@ -12273,37 +12534,39 @@ msgid ""
"If you already have a suitable ffmpeg installation on your system, we "
"recommend creating symbolic links from ffmpeg to ffmpeg_harvid and from "
"ffprobe to ffprobe_harvid.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: transcode_video_dialog.cc:55
+#: transcode_video_dialog.cc:56
msgid "Transcode/Import Video File "
msgstr "Импортировать/перекодировать видеофайл"
-#: transcode_video_dialog.cc:57
+#: transcode_video_dialog.cc:58
msgid "Output File:"
msgstr "Файл вывода:"
-#: transcode_video_dialog.cc:60 export_video_dialog.cc:72
+#: transcode_video_dialog.cc:61 export_video_dialog.cc:73
msgid "Abort"
msgstr "Прервать"
-#: transcode_video_dialog.cc:62
+#: transcode_video_dialog.cc:63
msgid "Height = "
msgstr "Ð’Ñ‹Ñота = "
-#: transcode_video_dialog.cc:65
+#: transcode_video_dialog.cc:66
msgid "Manual Override"
msgstr ""
-#: transcode_video_dialog.cc:69 export_video_dialog.cc:88
+#: transcode_video_dialog.cc:70 export_video_dialog.cc:89
msgid "Debug Mode: Print ffmpeg command and output to stdout."
msgstr "Режим отладки: вывод команд ffmpeg в stdout"
-#: transcode_video_dialog.cc:106
+#: transcode_video_dialog.cc:107
msgid "<b>File Information</b>"
msgstr "<b>Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ файле</b>"
-#: transcode_video_dialog.cc:112
+#: transcode_video_dialog.cc:113
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Import "
"is not possible until you install those tools. See the Log window for more "
@@ -12312,120 +12575,131 @@ msgstr ""
"ИÑполнÑемые файлы ffprobe и ffmpeg не найдены в ÑиÑтеме. Импорт видео "
"невозможен, пока вы их не уÑтановите. ПодробноÑти приведены в окне журнала."
-#: transcode_video_dialog.cc:119
+#: transcode_video_dialog.cc:120
msgid ""
"File-info can not be read. Most likely '%1' is not a valid video-file or an "
"unsupported video codec or format."
msgstr ""
-#: transcode_video_dialog.cc:133
+#: transcode_video_dialog.cc:134
msgid "FPS:"
msgstr "К/Ñ:"
-#: transcode_video_dialog.cc:135
+#: transcode_video_dialog.cc:136
msgid "Duration:"
msgstr "ДлительноÑÑ‚ÑŒ:"
-#: transcode_video_dialog.cc:137
+#: transcode_video_dialog.cc:138
msgid "Codec:"
msgstr "Кодек:"
-#: transcode_video_dialog.cc:139
+#: transcode_video_dialog.cc:140
msgid "Geometry:"
msgstr "ГеометриÑ:"
-#: transcode_video_dialog.cc:154
+#: transcode_video_dialog.cc:155
msgid "??"
msgstr ""
-#: transcode_video_dialog.cc:175
+#: transcode_video_dialog.cc:176
msgid "<b>Import Settings</b>"
msgstr "<b>Параметры импорта</b>"
-#: transcode_video_dialog.cc:180
-msgid "Do Not Import Video"
-msgstr "Ðе импортировать видео"
-
#: transcode_video_dialog.cc:181
-msgid "Reference From Current Location"
-msgstr "ИÑпользовать иÑходный видеофайл"
+msgid "Reference From Current Location (Previously Transcoded Files Only)"
+msgstr ""
#: transcode_video_dialog.cc:183
msgid "Import/Transcode Video to Session"
msgstr "Импортировать/перекодировать видео в ÑеÑÑию"
-#: transcode_video_dialog.cc:197
+#: transcode_video_dialog.cc:191
+msgid "Do Not Import Video (Audio Import Only)"
+msgstr ""
+
+#: transcode_video_dialog.cc:200
msgid "Scale Video: Width = "
msgstr "МаÑштаб видео: Ширина = "
-#: transcode_video_dialog.cc:204
+#: transcode_video_dialog.cc:207
msgid "Original Width"
msgstr "ИÑÑ…Ð¾Ð´Ð½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð°"
-#: transcode_video_dialog.cc:219
+#: transcode_video_dialog.cc:222
msgid "Bitrate (KBit/s):"
msgstr "СкороÑÑ‚ÑŒ потока (Кбит/Ñ):"
-#: transcode_video_dialog.cc:224
+#: transcode_video_dialog.cc:227
msgid "Extract Audio:"
msgstr "Извлечь звук:"
-#: transcode_video_dialog.cc:344
+#: transcode_video_dialog.cc:232
+msgid "No Audio Track Present"
+msgstr ""
+
+#: transcode_video_dialog.cc:235
+msgid "Do Not Extract Audio"
+msgstr ""
+
+#: transcode_video_dialog.cc:350
msgid "Extracting Audio.."
msgstr "ИзвлекаетÑÑ Ð·Ð²ÑƒÐº..."
-#: transcode_video_dialog.cc:347
+#: transcode_video_dialog.cc:353
msgid "Audio Extraction Failed."
msgstr "Ðе удалоÑÑŒ извлечь звуковую дорожку."
-#: transcode_video_dialog.cc:373
+#: transcode_video_dialog.cc:379
msgid "Transcoding Video.."
msgstr "Перекодирование видео..."
-#: transcode_video_dialog.cc:407
+#: transcode_video_dialog.cc:413
msgid "Transcoding Failed."
msgstr "Ðе удалоÑÑŒ выполнить перекодирование."
-#: transcode_video_dialog.cc:490
+#: transcode_video_dialog.cc:503
msgid "Save Transcoded Video File"
msgstr "Сохранить перекодированный видеофайл"
-#: video_server_dialog.cc:43
+#: video_server_dialog.cc:57
msgid "Launch Video Server"
msgstr "ЗапуÑтить видеоÑервер"
-#: video_server_dialog.cc:44
+#: video_server_dialog.cc:58
msgid "Server Executable:"
msgstr "ИÑполнÑемый файл Ñервера:"
-#: video_server_dialog.cc:46
+#: video_server_dialog.cc:60
msgid "Server Docroot:"
msgstr ""
-#: video_server_dialog.cc:52
+#: video_server_dialog.cc:66
msgid "Don't show this dialog again. (Reset in Edit->Preferences)."
msgstr "Больше не показывать Ñтот диалог"
-#: video_server_dialog.cc:92
+#: video_server_dialog.cc:126
msgid ""
-"The external video server 'harvid' can not be found. The tool is included "
-"with the %1 releases from ardour.org, alternatively you can download it from "
-"http://x42.github.com/harvid/ or acquire it from your distribution."
+"The external video server 'harvid' can not be found.\n"
+"The tool is included with the %1 releases from ardour.org, alternatively you "
+"can download it from http://x42.github.com/harvid/ or acquire it from your "
+"distribution.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: video_server_dialog.cc:120
+#: video_server_dialog.cc:159
msgid "Listen Address:"
msgstr "Слушать адреÑ:"
-#: video_server_dialog.cc:125
+#: video_server_dialog.cc:164
msgid "Listen Port:"
msgstr "Слушать порт:"
-#: video_server_dialog.cc:130
+#: video_server_dialog.cc:169
msgid "Cache Size:"
msgstr "Размер кÑша:"
-#: video_server_dialog.cc:136
+#: video_server_dialog.cc:175
msgid ""
"%1 relies on an external video server for the videotimeline.\n"
"The server configured in Edit -> Preferences -> Video is not reachable.\n"
@@ -12436,11 +12710,11 @@ msgstr ""
"ÑÐµÐ¹Ñ‡Ð°Ñ Ð½ÐµÐ´Ð¾Ñтупен.\n"
"Ð’Ñ‹ хотите, чтобы %1 запуÑтил 'harvid' на Ñтом компьютере?"
-#: video_server_dialog.cc:176
+#: video_server_dialog.cc:215
msgid "Set Video Server Executable"
msgstr ""
-#: video_server_dialog.cc:196
+#: video_server_dialog.cc:235
msgid "Server docroot"
msgstr ""
@@ -12470,51 +12744,51 @@ msgstr "Снимок Ñ Ñ‚Ð°ÐºÐ¸Ð¼ названием уже еÑÑ‚ÑŒ. ПереÐ
msgid "Cannot create video folder \"%1\" (%2)"
msgstr "Ðе удалоÑÑŒ Ñоздать папку Ð´Ð»Ñ Ð²Ð¸Ð´ÐµÐ¾: \"%1\" (%2)"
-#: export_video_dialog.cc:65
+#: export_video_dialog.cc:66
msgid "Export Video File "
msgstr "ЭкÑпортировать видеофайл"
-#: export_video_dialog.cc:69
+#: export_video_dialog.cc:70
msgid "Video:"
msgstr "Видео:"
-#: export_video_dialog.cc:73
+#: export_video_dialog.cc:74
msgid "Scale Video (W x H):"
msgstr "МаÑштабирование видео (В×Ш):"
-#: export_video_dialog.cc:78
+#: export_video_dialog.cc:79
msgid "Set Aspect Ratio:"
msgstr "Указать Ñоотношение Ñторон:"
-#: export_video_dialog.cc:79
+#: export_video_dialog.cc:80
msgid "Normalize Audio"
msgstr "Ðормировать звук"
-#: export_video_dialog.cc:80
+#: export_video_dialog.cc:81
msgid "2 Pass Encoding"
msgstr "Кодирование в два прохода"
-#: export_video_dialog.cc:81
+#: export_video_dialog.cc:82
msgid "Codec Optimizations:"
msgstr "ÐžÐ¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐºÐ¾Ð´ÐµÐºÐ°:"
-#: export_video_dialog.cc:83
+#: export_video_dialog.cc:84
msgid "Deinterlace"
msgstr ""
-#: export_video_dialog.cc:84
+#: export_video_dialog.cc:85
msgid "Use [2] B-frames (MPEG 2 or 4 only)"
msgstr "ИÑпользовать [2] B-кадры (только MPEG 2 или 4)"
-#: export_video_dialog.cc:85
+#: export_video_dialog.cc:86
msgid "Override FPS (Default is to retain FPS from the input video file):"
msgstr "Принудительно указать Ñвою чаÑтоту кадров:"
-#: export_video_dialog.cc:86
+#: export_video_dialog.cc:87
msgid "Include Session Metadata"
msgstr "Включить метаданные ÑеÑÑии"
-#: export_video_dialog.cc:106
+#: export_video_dialog.cc:107
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Export "
"is not possible until you install those tools. See the Log window for more "
@@ -12524,83 +12798,83 @@ msgstr ""
"будет недоÑтупен до тех пор, пока вы их не уÑтановите. См. подробнее в окне "
"журнала."
-#: export_video_dialog.cc:116
+#: export_video_dialog.cc:117
msgid "<b>Output:</b>"
msgstr "<b>Выход:</b>"
-#: export_video_dialog.cc:126
+#: export_video_dialog.cc:127
msgid "<b>Input:</b>"
msgstr "<b>Вход:</b>"
-#: export_video_dialog.cc:137
+#: export_video_dialog.cc:138
msgid "Audio:"
msgstr "Звук:"
-#: export_video_dialog.cc:139
+#: export_video_dialog.cc:140
msgid "Master Bus"
msgstr "МаÑтер-шина"
-#: export_video_dialog.cc:144
+#: export_video_dialog.cc:145
msgid "from the %1 session's start to the session's end"
msgstr "от начала до конца ÑеÑÑии %1"
-#: export_video_dialog.cc:148
+#: export_video_dialog.cc:149
msgid "from 00:00:00:00 to the video's end"
msgstr "от 00:00:00:00 до конца видео"
-#: export_video_dialog.cc:150
+#: export_video_dialog.cc:151
msgid "from the video's start to the video's end"
msgstr "от начала до конца видео"
-#: export_video_dialog.cc:153
+#: export_video_dialog.cc:154
msgid "Selected range"
msgstr "Выбранный диапазон"
-#: export_video_dialog.cc:193
+#: export_video_dialog.cc:194
msgid "<b>Settings:</b>"
msgstr "<b>Параметры:</b>"
-#: export_video_dialog.cc:201
+#: export_video_dialog.cc:202
msgid "Range:"
msgstr "Диапазон:"
-#: export_video_dialog.cc:204
+#: export_video_dialog.cc:205
msgid "Preset:"
msgstr "Профиль:"
-#: export_video_dialog.cc:207
+#: export_video_dialog.cc:208
msgid "Video Codec:"
msgstr "Видеокодек:"
-#: export_video_dialog.cc:210
+#: export_video_dialog.cc:211
msgid "Video KBit/s:"
msgstr "СкороÑÑ‚ÑŒ видеопотока (Кбит/Ñ):"
-#: export_video_dialog.cc:213
+#: export_video_dialog.cc:214
msgid "Audio Codec:"
msgstr "Звуковой кодек:"
-#: export_video_dialog.cc:216
+#: export_video_dialog.cc:217
msgid "Audio KBit/s:"
msgstr "СкороÑÑ‚ÑŒ звукового потока (Кбит/Ñ):"
-#: export_video_dialog.cc:219
+#: export_video_dialog.cc:220
msgid "Audio Samplerate:"
msgstr "ЧаÑтота ÑÑÐ¼Ð¿Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð²ÑƒÐºÐ°:"
-#: export_video_dialog.cc:395
+#: export_video_dialog.cc:396
msgid "Normalizing audio"
msgstr "ВыполнÑетÑÑ Ð½Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²ÐºÐ° звука"
-#: export_video_dialog.cc:399
+#: export_video_dialog.cc:400
msgid "Exporting audio"
msgstr "ЭкÑпорт звука"
-#: export_video_dialog.cc:445
+#: export_video_dialog.cc:446
msgid "Exporting Audio..."
msgstr "ЭкÑпортируетÑÑ Ð·Ð²ÑƒÐº..."
-#: export_video_dialog.cc:502
+#: export_video_dialog.cc:503
msgid ""
"Export Video: Cannot query duration of video-file, using duration from "
"timeline instead."
@@ -12608,52 +12882,52 @@ msgstr ""
"ЭкÑпорт видео: невозможно запроÑить длительноÑÑ‚ÑŒ видеофайла, вмеÑто неё "
"иÑпользуетÑÑ Ð´Ð»Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ÑÑ‚ÑŒ проекта."
-#: export_video_dialog.cc:532
+#: export_video_dialog.cc:533
msgid "Export Video: export-range does not include video."
msgstr ""
-#: export_video_dialog.cc:544
+#: export_video_dialog.cc:545
msgid "Export Video: No Master Out Ports to Connect for Audio Export"
msgstr ""
"ЭкÑпорт видео: нет ÑоединÑемых портов выхода маÑтер-шины Ð´Ð»Ñ ÑкÑпорта звука"
-#: export_video_dialog.cc:583
+#: export_video_dialog.cc:585
msgid "Encoding Video..."
msgstr "КодируетÑÑ Ð²Ð¸Ð´ÐµÐ¾..."
-#: export_video_dialog.cc:602
+#: export_video_dialog.cc:604
msgid "Export Video: Video input file cannot be read."
msgstr "ЭкÑпорт видео: не удалоÑÑŒ прочитать иÑпользуемый видеофайл"
-#: export_video_dialog.cc:695
+#: export_video_dialog.cc:698
msgid "Encoding Video.. Pass 1/2"
msgstr "ВыполнÑетÑÑ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ видео. Проход 1/2."
-#: export_video_dialog.cc:707
+#: export_video_dialog.cc:710
msgid "Encoding Video.. Pass 2/2"
msgstr "ВыполнÑетÑÑ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ видео. Проход 2/2."
-#: export_video_dialog.cc:814
+#: export_video_dialog.cc:813
msgid "Transcoding failed."
msgstr "Ðе удалоÑÑŒ выполнить перекодировку."
-#: export_video_dialog.cc:983 export_video_dialog.cc:1003
+#: export_video_dialog.cc:982 export_video_dialog.cc:1002
msgid "Save Exported Video File"
msgstr "Сохранить ÑкÑпортированный видеофайл"
-#: export_video_infobox.cc:30
+#: export_video_infobox.cc:33
msgid "Video Export Info"
msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ð± ÑкÑпорте видео"
-#: export_video_infobox.cc:31
+#: export_video_infobox.cc:34
msgid "Do Not Show This Dialog Again (Reset in Edit > Preferences > Video)."
msgstr "Больше не показывать Ñтот диалог (ÑбраÑываетÑÑ Ð² диалоге наÑтройки)"
-#: export_video_infobox.cc:43
+#: export_video_infobox.cc:46
msgid "<b>Video Export Info</b>"
msgstr "<b>Справка по ÑкÑпорту видео</b>"
-#: export_video_infobox.cc:48
+#: export_video_infobox.cc:51
msgid ""
"Video encoding is a non-trivial task with many details.\n"
"\n"
@@ -12668,6 +12942,256 @@ msgstr ""
"\n"
"Открыть руководÑтво в браузере? "
+#~ msgid "badly formatted UI definition file: %1"
+#~ msgstr "badly formatted UI definition file: %1"
+
+#~ msgid "%1 will not work without a valid ardour.menus file"
+#~ msgstr "%1 will not work without a valid ardour.menus file"
+
+#~ msgid "audition"
+#~ msgstr "проÑлушивание"
+
+#~ msgid "solo"
+#~ msgstr "Ñолирование"
+
+#~ msgid "feedback"
+#~ msgstr "отклик"
+
+#~ msgid "Please wait while %1 cleans up..."
+#~ msgstr "ДождитеÑÑŒ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ñ‡Ð¸Ñтки ÑеÑÑии в %1..."
+
+#~ msgid ""
+#~ "There are insufficient JACK ports available\n"
+#~ "to create a new track or bus.\n"
+#~ "You should save %1, exit and\n"
+#~ "restart JACK with more ports."
+#~ msgstr ""
+#~ "ДоÑтупных портов JACK недоÑтаточно длÑ\n"
+#~ "ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð¹ дорожки или шины.\n"
+#~ "Ðеобходимо Ñохранить %1, выйти и запуÑтить\n"
+#~ "JACK Ñ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð½Ñ‹Ð¼ количеÑтвом портов."
+
+#~ msgid "Reset Level Meter"
+#~ msgstr "СброÑить индикатор громкоÑти"
+
+#~ msgid ""
+#~ "programming error: fade in canvas item has no regionview data pointer!"
+#~ msgstr ""
+#~ "programming error: fade in canvas item has no regionview data pointer!"
+
+#~ msgid "Slowest"
+#~ msgstr "Медленнее вÑего"
+
+#~ msgid "Finish Add Range"
+#~ msgstr "Закончить добавку выделениÑ"
+
+#~ msgid "Toggle Edit Mode"
+#~ msgstr "Переключить режим редактированиÑ"
+
+#~ msgid "No Selection = All Tracks?"
+#~ msgstr "Ðет Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ = вÑе дорожки"
+
+#~ msgid "insert dragged region"
+#~ msgstr "вÑтавка перетащенной облаÑти"
+
+#~ msgid " objects"
+#~ msgstr " объекты"
+
+#~ msgid "Calibrate..."
+#~ msgstr "Откалибровать..."
+
+#~ msgid "Refresh list"
+#~ msgstr "Обновить ÑпиÑок"
+
+#~ msgid "MIDI Inputs"
+#~ msgstr "MIDI-входы"
+
+#~ msgid "MIDI Outputs"
+#~ msgstr "MIDI-выходы"
+
+#~ msgid "Detected roundtrip latency: %1"
+#~ msgstr "Обнаружена цикличеÑÐºÐ°Ñ Ð·Ð°Ð´ÐµÑ€Ð¶ÐºÐ° отклика: %1"
+
+#~ msgid "Time span and channel options"
+#~ msgstr "Параметры отрезка времени и каналов"
+
+#~ msgid "Lower limit of ruler"
+#~ msgstr "Ðижний предел линейки"
+
+#~ msgid "Upper"
+#~ msgstr "Выше"
+
+#~ msgid "Upper limit of ruler"
+#~ msgstr "Верхний предел линейки"
+
+#~ msgid "Position of mark on the ruler"
+#~ msgstr "Положение маркера на линейке"
+
+#~ msgid "Max Size"
+#~ msgstr "МакÑ. размер"
+
+#~ msgid "Maximum size of the ruler"
+#~ msgstr "МакÑ. размер линейки"
+
+#~ msgid "Show Position"
+#~ msgstr "Показать положение"
+
+#~ msgid "Draw current ruler position"
+#~ msgstr "ÐариÑовать текущее положение на линейке"
+
+#~ msgid "cannot create user %3 folder %1 (%2)"
+#~ msgstr "Ðе удалоÑÑŒ Ñоздать пользовательÑкую папку %3: %1 (%2)"
+
+#~ msgid "Missing File!"
+#~ msgstr "Файл отÑутÑтвует!"
+
+#~ msgid "lock"
+#~ msgstr "Блок"
+
+#~ msgid "iso"
+#~ msgstr "Изол"
+
+#~ msgid "Meter Point"
+#~ msgstr "Точка измерениÑ"
+
+#~ msgid "in"
+#~ msgstr "вх"
+
+#~ msgid "post"
+#~ msgstr "поÑле"
+
+#~ msgid "out"
+#~ msgstr "вых"
+
+#~ msgid "i"
+#~ msgstr "и"
+
+#~ msgid "Pre-fader"
+#~ msgstr "До фейдера"
+
+#~ msgid "Post-fader"
+#~ msgstr "ПоÑле фейдера"
+
+#~ msgid "soloing"
+#~ msgstr "Солирование"
+
+#~ msgid "isolated"
+#~ msgstr "изолировано"
+
+#~ msgid "auditioning"
+#~ msgstr "ПроÑлушивание"
+
+#~ msgid "excl. solo"
+#~ msgstr "ÑкÑкл. Ñоло"
+
+#~ msgid "solo » mute"
+#~ msgstr "Ñоло » молча"
+
+#~ msgid "mute"
+#~ msgstr "Молча"
+
+#~ msgid "dim"
+#~ msgstr "Приглушить"
+
+#~ msgid "mono"
+#~ msgstr "Моно"
+
+#~ msgid "send LTC while stopped"
+#~ msgstr "ПоÑылать LTC во Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñтановки"
+
+#~ msgid "Link selection of regions and tracks"
+#~ msgstr "СвÑзывать выделение облаÑтей и дорожек"
+
+#~ msgid "update transport clock display every 40ms instead of every 100ms"
+#~ msgstr "ОбновлÑÑ‚ÑŒ Ñчётчик транÑпорта каждые 40Ð¼Ñ Ð²Ð¼ÐµÑто каждых 100мÑ"
+
+#~ msgid "g"
+#~ msgstr "г"
+
+#~ msgid "p"
+#~ msgstr "Ñп"
+
+#~ msgid "a"
+#~ msgstr "а"
+
+#~ msgid "s"
+#~ msgstr "Ñ"
+
+#~ msgid "m"
+#~ msgstr "м"
+
+#~ msgid "Default crossfade type"
+#~ msgstr "Тип кроÑÑфейда по умолчанию"
+
+#~ msgid "Constant power (-3dB) crossfade"
+#~ msgstr "С поÑтоÑнной Ñилой (-3Дб)"
+
+#~ msgid "Linear (-6dB) crossfade"
+#~ msgstr "Линейный (-6Дб)"
+
+#~ msgid "VerboseCanvasCursor"
+#~ msgstr "VerboseCanvasCursor"
+
+#~ msgid "Do Not Import Video"
+#~ msgstr "Ðе импортировать видео"
+
+#~ msgid "Reference From Current Location"
+#~ msgstr "ИÑпользовать иÑходный видеофайл"
+
+#~ msgid ""
+#~ "Video-Server was not launched by Ardour. The request to stop it is "
+#~ "ignored."
+#~ msgstr ""
+#~ "ВидеоÑервер не был запущен Ardour. Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° его оÑтановку проигнорирован."
+
+#~ msgid "ardour"
+#~ msgstr "Ardour"
+
+#~ msgid "x1"
+#~ msgstr "x1"
+
+#~ msgid "x coordinate of upper left corner of rect"
+#~ msgstr "Координата по оÑи X Ð´Ð»Ñ Ð²ÐµÑ€Ñ…Ð½ÐµÐ³Ð¾ левого угла прÑмоугольника"
+
+#~ msgid "y1"
+#~ msgstr "y1"
+
+#~ msgid "y coordinate of upper left corner of rect "
+#~ msgstr "Координата по оÑи Y Ð´Ð»Ñ Ð²ÐµÑ€Ñ…Ð½ÐµÐ³Ð¾ левого угла прÑмоугольника"
+
+#~ msgid "x2"
+#~ msgstr "x2"
+
+#~ msgid "x coordinate of lower right corner of rect"
+#~ msgstr "Координата по оÑи X Ð´Ð»Ñ Ð½Ð¸Ð¶Ð½ÐµÐ³Ð¾ правого угла прÑмоугольника"
+
+#~ msgid "y2"
+#~ msgstr "y2"
+
+#~ msgid "y coordinate of lower right corner of rect "
+#~ msgstr "Координата по оÑи Y Ð´Ð»Ñ Ð½Ð¸Ð¶Ð½ÐµÐ³Ð¾ правого угла прÑмоугольника"
+
+#~ msgid "color of line"
+#~ msgstr "Цвет линии"
+
+#~ msgid "fill color rgba"
+#~ msgstr "Цвет заливки в RGBA"
+
+#~ msgid "color of fill"
+#~ msgstr "Цвет заливки"
+
+#~ msgid "delete sysex"
+#~ msgstr "удаление sysex"
+
+#~ msgid "Auditioning of MIDI files is not yet supported"
+#~ msgstr "ПроÑлушивание файлов MIDI пока что не реализовано"
+
+#~ msgid "Draw waveforms with color gradient"
+#~ msgstr "РиÑовать форму волны Ñ Ð³Ñ€Ð°Ð´Ð¸ÐµÐ½Ñ‚Ð¾Ð¼"
+
+#~ msgid "Export Successful: %1"
+#~ msgstr "ЭкÑпорт уÑпешно завершён: %1"
+
#~ msgid ""
#~ "<b>%1</b>\n"
#~ "Double-click to show GUI.\n"
diff --git a/gtk2_ardour/po/sv.po b/gtk2_ardour/po/sv.po
index a27b46c21e..1a45d37c1b 100644
--- a/gtk2_ardour/po/sv.po
+++ b/gtk2_ardour/po/sv.po
@@ -3,11 +3,12 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
+#: engine_dialog.cc:558
msgid ""
msgstr ""
"Project-Id-Version: ardour-gtk 1.0.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-11-05 11:11-0500\n"
+"POT-Creation-Date: 2014-09-04 19:07-0400\n"
"PO-Revision-Date: 2006-06-26 23:57+GMT+1\n"
"Last-Translator: Petter Sundlöf <petter.sundlof@findus.dhs.org>\n"
"Language-Team: Svenska <sv@li.org>\n"
@@ -16,231 +17,235 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: about.cc:122
+#: about.cc:120
msgid "Brian Ahr"
msgstr ""
-#: about.cc:123
+#: about.cc:121
msgid "John Anderson"
msgstr ""
-#: about.cc:124
+#: about.cc:122
msgid "Marcus Andersson"
msgstr ""
-#: about.cc:125
+#: about.cc:123
msgid "Nedko Arnaudov"
msgstr ""
-#: about.cc:126
+#: about.cc:124
msgid "Hans Baier"
msgstr ""
-#: about.cc:127
+#: about.cc:125
msgid "Ben Bell"
msgstr ""
-#: about.cc:128
+#: about.cc:126
msgid "Sakari Bergen"
msgstr ""
-#: about.cc:129
+#: about.cc:127
+msgid "Christian Borss"
+msgstr ""
+
+#: about.cc:128
msgid "Chris Cannam"
msgstr ""
-#: about.cc:130
+#: about.cc:129
msgid "Jesse Chappell"
msgstr ""
-#: about.cc:131
+#: about.cc:130
msgid "Thomas Charbonnel"
msgstr ""
-#: about.cc:132
+#: about.cc:131
msgid "Sam Chessman"
msgstr ""
-#: about.cc:133
+#: about.cc:132
msgid "André Colomb"
msgstr ""
-#: about.cc:134
+#: about.cc:133
msgid "Paul Davis"
msgstr ""
-#: about.cc:135
+#: about.cc:134
msgid "Gerard van Dongen"
msgstr ""
-#: about.cc:136
+#: about.cc:135
msgid "Colin Fletcher"
msgstr ""
-#: about.cc:137
+#: about.cc:136
msgid "Dave Flick"
msgstr ""
-#: about.cc:138
+#: about.cc:137
msgid "Hans Fugal"
msgstr ""
-#: about.cc:139
+#: about.cc:138
msgid "Robin Gareus"
msgstr ""
-#: about.cc:140
+#: about.cc:139
msgid "Christopher George"
msgstr ""
-#: about.cc:141
+#: about.cc:140
msgid "Chris Goddard"
msgstr ""
-#: about.cc:142
+#: about.cc:141
msgid "J. Abelardo Gutierrez"
msgstr ""
-#: about.cc:143
+#: about.cc:142
msgid "Jeremy Hall"
msgstr ""
-#: about.cc:144
+#: about.cc:143
msgid "Audun Halland"
msgstr ""
-#: about.cc:145
+#: about.cc:144
msgid "David Halter"
msgstr ""
-#: about.cc:146
+#: about.cc:145
msgid "Steve Harris"
msgstr ""
-#: about.cc:147
+#: about.cc:146
msgid "Melvin Ray Herr"
msgstr ""
-#: about.cc:148
+#: about.cc:147
msgid "Carl Hetherington"
msgstr ""
-#: about.cc:149
+#: about.cc:148
msgid "Rob Holland"
msgstr ""
-#: about.cc:150
+#: about.cc:149
msgid "Robert Jordens"
msgstr ""
-#: about.cc:151
+#: about.cc:150
msgid "Stefan Kersten"
msgstr ""
-#: about.cc:152
+#: about.cc:151
msgid "Armand Klenk"
msgstr ""
-#: about.cc:153
+#: about.cc:152
msgid "Julien de Kozak"
msgstr ""
-#: about.cc:154
+#: about.cc:153
msgid "Matt Krai"
msgstr ""
-#: about.cc:155
+#: about.cc:154
msgid "Nick Lanham"
msgstr ""
-#: about.cc:156
+#: about.cc:155
msgid "Colin Law"
msgstr ""
-#: about.cc:157
+#: about.cc:156
msgid "Joshua Leach"
msgstr ""
-#: about.cc:158
+#: about.cc:157
msgid "Ben Loftis"
msgstr ""
-#: about.cc:159
+#: about.cc:158
msgid "Nick Mainsbridge"
msgstr ""
-#: about.cc:160
+#: about.cc:159
msgid "Tim Mayberry"
msgstr ""
-#: about.cc:161
+#: about.cc:160
msgid "Doug Mclain"
msgstr ""
-#: about.cc:162
+#: about.cc:161
msgid "Jack O'Quin"
msgstr ""
-#: about.cc:163
+#: about.cc:162
msgid "Nimal Ratnayake"
msgstr ""
-#: about.cc:164
+#: about.cc:163
msgid "David Robillard"
msgstr ""
-#: about.cc:165
+#: about.cc:164
msgid "Taybin Rutkin"
msgstr ""
-#: about.cc:166
+#: about.cc:165
msgid "Andreas Ruge"
msgstr ""
-#: about.cc:167
+#: about.cc:166
msgid "Sampo Savolainen"
msgstr ""
-#: about.cc:168
+#: about.cc:167
msgid "Rodrigo Severo"
msgstr ""
-#: about.cc:169
+#: about.cc:168
msgid "Per Sigmond"
msgstr ""
-#: about.cc:170
+#: about.cc:169
msgid "Lincoln Spiteri"
msgstr ""
-#: about.cc:171
+#: about.cc:170
msgid "Mike Start"
msgstr ""
-#: about.cc:172
+#: about.cc:171
msgid "Mark Stewart"
msgstr ""
-#: about.cc:173
+#: about.cc:172
msgid "Roland Stigge"
msgstr ""
-#: about.cc:174
+#: about.cc:173
msgid "Petter Sundlöf"
msgstr ""
-#: about.cc:175
+#: about.cc:174
msgid "Mike Täht"
msgstr ""
-#: about.cc:176
+#: about.cc:175
msgid "Roy Vegard"
msgstr ""
-#: about.cc:177
+#: about.cc:176
msgid "Thorsten Wilms"
msgstr ""
-#: about.cc:182
+#: about.cc:181
msgid ""
"French:\n"
"\tAlain Fréhel <alain.frehel@free.fr>\n"
@@ -249,7 +254,7 @@ msgid ""
"\tRomain Arnaud <roming22@gmail.com>\n"
msgstr ""
-#: about.cc:183
+#: about.cc:182
msgid ""
"German:\n"
"\tKarsten Petersen <kapet@kapet.de>\n"
@@ -261,85 +266,85 @@ msgid ""
"\tRobin Gloster <robin@loc-com.de>\n"
msgstr ""
-#: about.cc:190
+#: about.cc:189
msgid ""
"Italian:\n"
"\tFilippo Pappalardo <filippo@email.it>\n"
"\tRaffaele Morelli <raffaele.morelli@gmail.com>\n"
msgstr ""
-#: about.cc:191
+#: about.cc:190
msgid ""
"Portuguese:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
msgstr ""
-#: about.cc:192
+#: about.cc:191
msgid ""
"Brazilian Portuguese:\n"
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
"\tChris Ross <chris@tebibyte.org>\n"
msgstr ""
-#: about.cc:194
+#: about.cc:193
msgid ""
"Spanish:\n"
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
"\tPablo Fernández <pablo.fbus@gmail.com>\n"
msgstr ""
-#: about.cc:195
+#: about.cc:194
msgid ""
"Russian:\n"
"\t Igor Blinov <pitstop@nm.ru>\n"
"\tAlexandre Prokoudine <alexandre.prokoudine@gmail.com>\n"
msgstr ""
-#: about.cc:197
+#: about.cc:196
msgid ""
"Greek:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
msgstr ""
-#: about.cc:198
+#: about.cc:197
msgid ""
"Swedish:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
msgstr ""
-#: about.cc:199
+#: about.cc:198
msgid ""
"Polish:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
msgstr ""
-#: about.cc:200
+#: about.cc:199
msgid ""
"Czech:\n"
"\t Pavel Fric <pavelfric@seznam.cz>\n"
msgstr ""
-#: about.cc:201
+#: about.cc:200
msgid ""
"Norwegian:\n"
"\t Eivind Ødegård\n"
msgstr ""
-#: about.cc:202
+#: about.cc:201
msgid ""
"Chinese:\n"
"\t Rui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
msgstr ""
-#: about.cc:580
+#: about.cc:581
msgid "Copyright (C) 1999-2013 Paul Davis\n"
msgstr ""
-#: about.cc:584
+#: about.cc:585
msgid "http://ardour.org/"
msgstr ""
-#: about.cc:585
+#: about.cc:586
msgid ""
"%1\n"
"(built from revision %2)"
@@ -347,105 +352,106 @@ msgstr ""
"%1\n"
"(kompilerat från revision %2)"
-#: about.cc:589
+#: about.cc:590
msgid "Config"
msgstr ""
-#: actions.cc:85
+#: actions.cc:84
msgid "Loading menus from %1"
msgstr ""
-#: actions.cc:88 actions.cc:89
-msgid "badly formatted UI definition file: %1"
+#: actions.cc:87 actions.cc:88
+msgid "badly formatted menu definition file: %1"
msgstr ""
-#: actions.cc:91
+#: actions.cc:90
msgid "%1 menu definition file not found"
msgstr ""
-#: actions.cc:95 actions.cc:96
-msgid "%1 will not work without a valid ardour.menus file"
+#: actions.cc:94 actions.cc:95
+msgid "%1 will not work without a valid menu definition file"
msgstr ""
-#: add_route_dialog.cc:53 route_params_ui.cc:500
+#: add_route_dialog.cc:54 route_params_ui.cc:523
msgid "Add Track or Bus"
msgstr "Lägg till spår eller buss"
-#: add_route_dialog.cc:56
+#: add_route_dialog.cc:57
msgid "Configuration:"
msgstr "Konfiguration:"
-#: add_route_dialog.cc:57
+#: add_route_dialog.cc:58
msgid "Track mode:"
msgstr "Spårläge"
-#: add_route_dialog.cc:58
+#: add_route_dialog.cc:59
msgid "Instrument:"
msgstr ""
-#: add_route_dialog.cc:76
+#: add_route_dialog.cc:78
msgid "Audio Tracks"
msgstr "Ljudspår"
-#: add_route_dialog.cc:77
+#: add_route_dialog.cc:79
msgid "MIDI Tracks"
msgstr ""
-#: add_route_dialog.cc:78
+#: add_route_dialog.cc:80
msgid "Audio+MIDI Tracks"
msgstr ""
-#: add_route_dialog.cc:79
+#: add_route_dialog.cc:81
msgid "Busses"
msgstr ""
-#: add_route_dialog.cc:101
+#: add_route_dialog.cc:103
msgid "Add:"
msgstr "Lägg till"
-#: add_route_dialog.cc:114 time_fx_dialog.cc:91 add_video_dialog.cc:150
-#: video_server_dialog.cc:112
+#: add_route_dialog.cc:116 time_fx_dialog.cc:91 add_video_dialog.cc:135
+#: video_server_dialog.cc:151
msgid "<b>Options</b>"
msgstr "<b>Alternativ</b>"
-#: add_route_dialog.cc:124 bundle_manager.cc:192 region_editor.cc:50
-#: route_group_dialog.cc:65
+#: add_route_dialog.cc:126 bundle_manager.cc:193 region_editor.cc:49
+#: route_group_dialog.cc:71
msgid "Name:"
msgstr "Namn:"
-#: add_route_dialog.cc:154
+#: add_route_dialog.cc:156
msgid "Group:"
msgstr "Grupp:"
-#: add_route_dialog.cc:215 add_route_dialog.cc:224 add_route_dialog.cc:298
-#: ardour_ui_ed.cc:476 engine_dialog.cc:236 rc_option_editor.cc:1446
-#: rc_option_editor.cc:1448 rc_option_editor.cc:1450 rc_option_editor.cc:1466
-#: rc_option_editor.cc:1468 rc_option_editor.cc:1476 rc_option_editor.cc:1478
-#: rc_option_editor.cc:1496 rc_option_editor.cc:1509 rc_option_editor.cc:1511
-#: rc_option_editor.cc:1513 rc_option_editor.cc:1544 rc_option_editor.cc:1546
-#: rc_option_editor.cc:1548 rc_option_editor.cc:1556 rc_option_editor.cc:1564
-#: rc_option_editor.cc:1572
+#: add_route_dialog.cc:217 add_route_dialog.cc:226 add_route_dialog.cc:300
+#: ardour_ui_ed.cc:523 engine_dialog.cc:235 rc_option_editor.cc:1710
+#: rc_option_editor.cc:1712 rc_option_editor.cc:1714 rc_option_editor.cc:1732
+#: rc_option_editor.cc:1734 rc_option_editor.cc:1742 rc_option_editor.cc:1744
+#: rc_option_editor.cc:1762 rc_option_editor.cc:1775 rc_option_editor.cc:1777
+#: rc_option_editor.cc:1779 rc_option_editor.cc:1810 rc_option_editor.cc:1812
+#: rc_option_editor.cc:1814 rc_option_editor.cc:1822 rc_option_editor.cc:1830
+#: rc_option_editor.cc:1832 rc_option_editor.cc:1840
msgid "Audio"
msgstr "Ljudspår"
-#: add_route_dialog.cc:216 add_route_dialog.cc:227 add_route_dialog.cc:299
-#: editor_actions.cc:105 missing_file_dialog.cc:55 rc_option_editor.cc:1695
-#: rc_option_editor.cc:1703 rc_option_editor.cc:1711 rc_option_editor.cc:1720
-#: rc_option_editor.cc:1728 rc_option_editor.cc:1736 rc_option_editor.cc:1744
-#: rc_option_editor.cc:1753 rc_option_editor.cc:1762 rc_option_editor.cc:1771
-#: rc_option_editor.cc:1779 rc_option_editor.cc:1787
+#: add_route_dialog.cc:218 add_route_dialog.cc:229 add_route_dialog.cc:301
+#: editor_actions.cc:109 engine_dialog.cc:237 missing_file_dialog.cc:56
+#: rc_option_editor.cc:1975 rc_option_editor.cc:1983 rc_option_editor.cc:1991
+#: rc_option_editor.cc:2000 rc_option_editor.cc:2008 rc_option_editor.cc:2016
+#: rc_option_editor.cc:2024 rc_option_editor.cc:2033 rc_option_editor.cc:2042
+#: rc_option_editor.cc:2051 rc_option_editor.cc:2059 rc_option_editor.cc:2067
+#: rc_option_editor.cc:2075 rc_option_editor.cc:2098
msgid "MIDI"
msgstr ""
-#: add_route_dialog.cc:217 add_route_dialog.cc:230 add_route_dialog.cc:300
+#: add_route_dialog.cc:219 add_route_dialog.cc:232 add_route_dialog.cc:302
msgid "Audio+MIDI"
msgstr ""
-#: add_route_dialog.cc:218 add_route_dialog.cc:233 add_route_dialog.cc:301
+#: add_route_dialog.cc:220 add_route_dialog.cc:235 add_route_dialog.cc:303
msgid "Bus"
msgstr ""
-#: add_route_dialog.cc:260
+#: add_route_dialog.cc:262
msgid ""
"Audio+MIDI tracks are intended for use <b>ONLY</b> with plugins that use "
"both audio and MIDI input data\n"
@@ -454,64 +460,64 @@ msgid ""
"track instead."
msgstr ""
-#: add_route_dialog.cc:319 add_route_dialog.cc:338 editor_actions.cc:385
-#: editor_rulers.cc:377 time_axis_view.cc:1305
+#: add_route_dialog.cc:321 add_route_dialog.cc:340 editor_actions.cc:420
+#: editor_rulers.cc:251 time_axis_view.cc:1339
msgid "Normal"
msgstr ""
-#: add_route_dialog.cc:322 add_route_dialog.cc:340
+#: add_route_dialog.cc:324 add_route_dialog.cc:342
msgid "Non Layered"
msgstr "Ej lagerläge"
-#: add_route_dialog.cc:323 add_route_dialog.cc:342
+#: add_route_dialog.cc:325 add_route_dialog.cc:344
msgid "Tape"
msgstr "Band"
-#: add_route_dialog.cc:423
+#: add_route_dialog.cc:425 monitor_section.cc:291
msgid "Mono"
msgstr ""
-#: add_route_dialog.cc:427
+#: add_route_dialog.cc:429
msgid "Stereo"
msgstr ""
-#: add_route_dialog.cc:451
+#: add_route_dialog.cc:453
msgid "3 Channel"
msgstr "3 kanaler"
-#: add_route_dialog.cc:455
+#: add_route_dialog.cc:457
msgid "4 Channel"
msgstr "4 kanaler"
-#: add_route_dialog.cc:459
+#: add_route_dialog.cc:461
msgid "5 Channel"
msgstr "5 kanaler"
-#: add_route_dialog.cc:463
+#: add_route_dialog.cc:465
msgid "6 Channel"
msgstr "6 kanaler"
-#: add_route_dialog.cc:467
+#: add_route_dialog.cc:469
msgid "8 Channel"
msgstr "8 kanaler"
-#: add_route_dialog.cc:471
+#: add_route_dialog.cc:473
msgid "12 Channel"
msgstr "12 kanaler"
-#: add_route_dialog.cc:475 mixer_strip.cc:2131
+#: add_route_dialog.cc:477 mixer_strip.cc:1791 mixer_strip.cc:2199
msgid "Custom"
msgstr "Manuellt"
-#: add_route_dialog.cc:508 add_route_dialog.cc:524 route_group_menu.cc:81
+#: add_route_dialog.cc:510 add_route_dialog.cc:526 route_group_menu.cc:81
msgid "New Group..."
msgstr ""
-#: add_route_dialog.cc:512 route_group_menu.cc:85
+#: add_route_dialog.cc:514 route_group_menu.cc:85
msgid "No Group"
msgstr ""
-#: add_route_dialog.cc:588
+#: add_route_dialog.cc:590
msgid "-none-"
msgstr ""
@@ -532,7 +538,7 @@ msgid ""
"Please select the path that you want to get the file from."
msgstr ""
-#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:45
+#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:46
msgid "Done"
msgstr ""
@@ -572,17 +578,17 @@ msgstr "Normalisera värden"
msgid "FFT analysis window"
msgstr "FFT-analysfönster"
-#: analysis_window.cc:60 editor.cc:1857
+#: analysis_window.cc:60 editor.cc:1776
msgid "Spectral Analysis"
msgstr "Spektralanalys"
-#: analysis_window.cc:67 editor_actions.cc:138 export_channel_selector.cc:557
+#: analysis_window.cc:67 editor_actions.cc:142 export_channel_selector.cc:557
#: session_metadata_dialog.cc:546
msgid "Track"
msgstr "Spår"
-#: analysis_window.cc:68 editor_actions.cc:616 mixer_ui.cc:125
-#: mixer_ui.cc:1795
+#: analysis_window.cc:68 editor_actions.cc:658 mixer_ui.cc:130
+#: mixer_ui.cc:1830
msgid "Show"
msgstr "Visa"
@@ -590,90 +596,96 @@ msgstr "Visa"
msgid "Re-analyze data"
msgstr "Ã…teranalysera data"
-#: ardour_button.cc:704
+#: ardour_button.cc:810
msgid "button cannot watch state of non-existing Controllable\n"
msgstr ""
-#: ardour_ui.cc:180
-msgid "audition"
+#: ardour_button.cc:1024
+msgid "ABCDEFGHIJLKMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
msgstr ""
-#: ardour_ui.cc:181
-msgid "solo"
-msgstr ""
+#: ardour_ui.cc:194 editor_actions.cc:652 region_editor.cc:50
+msgid "Audition"
+msgstr "Avlyssna"
-#: ardour_ui.cc:182
-msgid "feedback"
+#: ardour_ui.cc:195 editor_actions.cc:136 mixer_strip.cc:1971
+#: rc_option_editor.cc:1850 route_time_axis.cc:252 route_time_axis.cc:2566
+msgid "Solo"
msgstr ""
-#: ardour_ui.cc:187 speaker_dialog.cc:36
+#: ardour_ui.cc:196 rc_option_editor.cc:718
+msgid "Feedback"
+msgstr "Gensvar"
+
+#: ardour_ui.cc:201 speaker_dialog.cc:36
msgid "Speaker Configuration"
msgstr ""
-#: ardour_ui.cc:188 theme_manager.cc:56 theme_manager.cc:64
+#: ardour_ui.cc:202 theme_manager.cc:62 theme_manager.cc:77
msgid "Theme Manager"
msgstr "Färgtema"
-#: ardour_ui.cc:189 keyeditor.cc:53
+#: ardour_ui.cc:203 keyeditor.cc:53
msgid "Key Bindings"
msgstr "Kortkommandon"
-#: ardour_ui.cc:190
+#: ardour_ui.cc:204
msgid "Preferences"
msgstr "Inställningar"
-#: ardour_ui.cc:191 ardour_ui.cc:197
+#: ardour_ui.cc:205 ardour_ui.cc:211
msgid "Add Tracks/Busses"
msgstr ""
-#: ardour_ui.cc:192
+#: ardour_ui.cc:206
msgid "About"
msgstr "Om"
-#: ardour_ui.cc:193 location_ui.cc:1146
+#: ardour_ui.cc:207 location_ui.cc:1148 session_option_editor.cc:189
+#: session_option_editor.cc:195 session_option_editor.cc:202
msgid "Locations"
msgstr "Platser"
-#: ardour_ui.cc:194 route_params_ui.cc:58 route_params_ui.cc:606
+#: ardour_ui.cc:208 route_params_ui.cc:58 route_params_ui.cc:629
msgid "Tracks and Busses"
msgstr "Spår och bussar"
-#: ardour_ui.cc:195 engine_dialog.cc:67
+#: ardour_ui.cc:209 engine_dialog.cc:69
msgid "Audio/MIDI Setup"
msgstr ""
-#: ardour_ui.cc:196
+#: ardour_ui.cc:210
msgid "Properties"
msgstr "Egenskaper"
-#: ardour_ui.cc:198 bundle_manager.cc:263
+#: ardour_ui.cc:212 bundle_manager.cc:264
msgid "Bundle Manager"
msgstr "Buntar"
-#: ardour_ui.cc:199 big_clock_window.cc:35
+#: ardour_ui.cc:213 big_clock_window.cc:37
msgid "Big Clock"
msgstr "Stor klocka"
-#: ardour_ui.cc:200
+#: ardour_ui.cc:214
msgid "Audio Connections"
msgstr ""
-#: ardour_ui.cc:201
+#: ardour_ui.cc:215
msgid "MIDI Connections"
msgstr ""
-#: ardour_ui.cc:203
+#: ardour_ui.cc:217
msgid "Errors"
msgstr ""
-#: ardour_ui.cc:436
+#: ardour_ui.cc:461
msgid ""
"The audio backend was shutdown because:\n"
"\n"
"%1"
msgstr ""
-#: ardour_ui.cc:438
+#: ardour_ui.cc:463
msgid ""
"The audio backend has either been shutdown or it\n"
"disconnected %1 because %1\n"
@@ -681,27 +693,27 @@ msgid ""
"the audio backend and save the session."
msgstr ""
-#: ardour_ui.cc:758
+#: ardour_ui.cc:781
msgid "NSM server did not announce itself"
msgstr ""
-#: ardour_ui.cc:771
+#: ardour_ui.cc:794
msgid "NSM: no client ID provided"
msgstr ""
-#: ardour_ui.cc:778
+#: ardour_ui.cc:801
msgid "NSM: no session created"
msgstr ""
-#: ardour_ui.cc:801
+#: ardour_ui.cc:824
msgid "NSM: initialization failed"
msgstr ""
-#: ardour_ui.cc:840 startup.cc:379
+#: ardour_ui.cc:864 startup.cc:380
msgid "%1 is ready for use"
msgstr ""
-#: ardour_ui.cc:882
+#: ardour_ui.cc:906
msgid ""
"WARNING: Your system has a limit for maximum amount of locked memory. This "
"might cause %1 to run out of memory before your system runs out of memory. \n"
@@ -710,23 +722,23 @@ msgid ""
"controlled by %2"
msgstr ""
-#: ardour_ui.cc:899
+#: ardour_ui.cc:923
msgid "Do not show this window again"
msgstr ""
-#: ardour_ui.cc:943
+#: ardour_ui.cc:967
msgid "Don't quit"
msgstr ""
-#: ardour_ui.cc:944
+#: ardour_ui.cc:968
msgid "Just quit"
msgstr ""
-#: ardour_ui.cc:945
+#: ardour_ui.cc:969
msgid "Save and quit"
msgstr ""
-#: ardour_ui.cc:955
+#: ardour_ui.cc:979
msgid ""
"%1 was unable to save your session.\n"
"\n"
@@ -735,15 +747,11 @@ msgid ""
"\"Just quit\" option."
msgstr ""
-#: ardour_ui.cc:986
-msgid "Please wait while %1 cleans up..."
-msgstr ""
-
-#: ardour_ui.cc:1004
+#: ardour_ui.cc:1030
msgid "Unsaved Session"
msgstr ""
-#: ardour_ui.cc:1025
+#: ardour_ui.cc:1051
msgid ""
"The session \"%1\"\n"
"has not been saved.\n"
@@ -754,7 +762,7 @@ msgid ""
"What do you want to do?"
msgstr ""
-#: ardour_ui.cc:1028
+#: ardour_ui.cc:1054
msgid ""
"The snapshot \"%1\"\n"
"has not been saved.\n"
@@ -765,75 +773,75 @@ msgid ""
"What do you want to do?"
msgstr ""
-#: ardour_ui.cc:1042
+#: ardour_ui.cc:1068
msgid "Prompter"
msgstr "Fråga"
-#: ardour_ui.cc:1128 ardour_ui.cc:1136
+#: ardour_ui.cc:1182 ardour_ui.cc:1190
#, c-format
msgid "Audio: <span foreground=\"red\">none</span>"
msgstr ""
-#: ardour_ui.cc:1140
+#: ardour_ui.cc:1194
#, c-format
msgid "Audio: <span foreground=\"green\">%.1f kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1144
+#: ardour_ui.cc:1198
#, c-format
msgid "Audio: <span foreground=\"green\">%<PRId64> kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1162 export_video_dialog.cc:67
+#: ardour_ui.cc:1216 export_video_dialog.cc:68
msgid "File:"
msgstr ""
-#: ardour_ui.cc:1166
+#: ardour_ui.cc:1220
msgid "BWF"
msgstr ""
-#: ardour_ui.cc:1169
+#: ardour_ui.cc:1223
msgid "WAV"
msgstr ""
-#: ardour_ui.cc:1172
+#: ardour_ui.cc:1226
msgid "WAV64"
msgstr ""
-#: ardour_ui.cc:1175 session_option_editor.cc:197
+#: ardour_ui.cc:1229 session_option_editor.cc:185
msgid "CAF"
msgstr ""
-#: ardour_ui.cc:1178
+#: ardour_ui.cc:1232
msgid "AIFF"
msgstr ""
-#: ardour_ui.cc:1181
+#: ardour_ui.cc:1235
msgid "iXML"
msgstr ""
-#: ardour_ui.cc:1184
+#: ardour_ui.cc:1238
msgid "RF64"
msgstr ""
-#: ardour_ui.cc:1192
+#: ardour_ui.cc:1246
msgid "32-float"
msgstr ""
-#: ardour_ui.cc:1195
+#: ardour_ui.cc:1249
msgid "24-int"
msgstr ""
-#: ardour_ui.cc:1198
+#: ardour_ui.cc:1252
msgid "16-int"
msgstr ""
-#: ardour_ui.cc:1217
+#: ardour_ui.cc:1271
#, c-format
msgid "DSP: <span foreground=\"%s\">%5.1f%%</span>"
msgstr ""
-#: ardour_ui.cc:1236
+#: ardour_ui.cc:1290
#, c-format
msgid ""
"Buffers: <span foreground=\"green\">p:</span><span foreground=\"%s\">"
@@ -841,211 +849,215 @@ msgid ""
"\">%<PRIu32>%%</span>"
msgstr ""
-#: ardour_ui.cc:1277
+#: ardour_ui.cc:1331
msgid "Disk: <span foreground=\"green\">Unknown</span>"
msgstr ""
-#: ardour_ui.cc:1279
+#: ardour_ui.cc:1333
msgid "Disk: <span foreground=\"green\">24hrs+</span>"
msgstr ""
-#: ardour_ui.cc:1297
+#: ardour_ui.cc:1351
msgid "Disk: <span foreground=\"green\">&gt;24 hrs</span>"
msgstr ""
-#: ardour_ui.cc:1308
+#: ardour_ui.cc:1362
#, c-format
msgid "Disk: <span foreground=\"%s\">%02dh:%02dm:%02ds</span>"
msgstr ""
-#: ardour_ui.cc:1334
+#: ardour_ui.cc:1388
#, c-format
msgid "Timecode|TC: <span foreground=\"%s\">%s</span>"
msgstr ""
-#: ardour_ui.cc:1451 ardour_ui.cc:1460 session_dialog.cc:322
-#: session_dialog.cc:327
+#: ardour_ui.cc:1509 ardour_ui.cc:1518 session_dialog.cc:326
+#: session_dialog.cc:331
msgid "Recent Sessions"
msgstr "Tidigare Sessioner"
-#: ardour_ui.cc:1539
+#: ardour_ui.cc:1597
msgid ""
"%1 is not connected to any audio backend.\n"
"You cannot open or close sessions in this condition"
msgstr ""
-#: ardour_ui.cc:1563
+#: ardour_ui.cc:1621
msgid "Open Session"
msgstr "Öppna session"
-#: ardour_ui.cc:1588 session_dialog.cc:353 session_import_dialog.cc:169
+#: ardour_ui.cc:1646 session_dialog.cc:357 session_import_dialog.cc:169
#: session_metadata_dialog.cc:729
msgid "%1 sessions"
msgstr ""
-#: ardour_ui.cc:1625
+#: ardour_ui.cc:1683
msgid "You cannot add a track without a session already loaded."
msgstr "Du kan inte lägga till ett spår utan en session laddad."
-#: ardour_ui.cc:1633
+#: ardour_ui.cc:1691
msgid "could not create %1 new mixed track"
msgid_plural "could not create %1 new mixed tracks"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1639 ardour_ui.cc:1700
+#: ardour_ui.cc:1697 ardour_ui.cc:1758
msgid ""
-"There are insufficient JACK ports available\n"
+"There are insufficient ports available\n"
"to create a new track or bus.\n"
"You should save %1, exit and\n"
-"restart JACK with more ports."
+"restart with more ports."
msgstr ""
-#: ardour_ui.cc:1674
+#: ardour_ui.cc:1732
msgid "You cannot add a track or bus without a session already loaded."
msgstr ""
-#: ardour_ui.cc:1683
+#: ardour_ui.cc:1741
msgid "could not create %1 new audio track"
msgid_plural "could not create %1 new audio tracks"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1692
+#: ardour_ui.cc:1750
msgid "could not create %1 new audio bus"
msgid_plural "could not create %1 new audio busses"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1816
+#: ardour_ui.cc:1903
msgid ""
"Please create one or more tracks before trying to record.\n"
"You can do this with the \"Add Track or Bus\" option in the Session menu."
msgstr ""
-#: ardour_ui.cc:2193
+#: ardour_ui.cc:2312
+msgid "Save as..."
+msgstr ""
+
+#: ardour_ui.cc:2313 ardour_ui.cc:2392
+msgid "New session name"
+msgstr ""
+
+#: ardour_ui.cc:2315
msgid "Take Snapshot"
msgstr "Gör ögonblickskopia"
-#: ardour_ui.cc:2194
+#: ardour_ui.cc:2316
msgid "Name of new snapshot"
msgstr "Namnge ny ögonblickskopia"
-#: ardour_ui.cc:2218
+#: ardour_ui.cc:2341
msgid ""
"To ensure compatibility with various systems\n"
"snapshot names may not contain a '%1' character"
msgstr ""
-#: ardour_ui.cc:2230
+#: ardour_ui.cc:2353
msgid "Confirm Snapshot Overwrite"
msgstr ""
-#: ardour_ui.cc:2231
+#: ardour_ui.cc:2354
msgid "A snapshot already exists with that name. Do you want to overwrite it?"
msgstr ""
-#: ardour_ui.cc:2234 utils_videotl.cc:67
+#: ardour_ui.cc:2357 utils_videotl.cc:67
msgid "Overwrite"
msgstr ""
-#: ardour_ui.cc:2268
+#: ardour_ui.cc:2391
msgid "Rename Session"
msgstr ""
-#: ardour_ui.cc:2269
-msgid "New session name"
-msgstr ""
-
-#: ardour_ui.cc:2283 ardour_ui.cc:2684 ardour_ui.cc:2722
+#: ardour_ui.cc:2406 ardour_ui.cc:2814 ardour_ui.cc:2852
msgid ""
"To ensure compatibility with various systems\n"
"session names may not contain a '%1' character"
msgstr ""
-#: ardour_ui.cc:2291
+#: ardour_ui.cc:2414
msgid ""
"That name is already in use by another directory/folder. Please try again."
msgstr ""
-#: ardour_ui.cc:2300
+#: ardour_ui.cc:2423
msgid ""
"Renaming this session failed.\n"
"Things could be seriously messed up at this point"
msgstr ""
-#: ardour_ui.cc:2411
+#: ardour_ui.cc:2534
msgid "Save Template"
msgstr ""
-#: ardour_ui.cc:2412
+#: ardour_ui.cc:2535
msgid "Name for template:"
msgstr ""
-#: ardour_ui.cc:2413
+#: ardour_ui.cc:2536
msgid "-template"
msgstr "-mall"
-#: ardour_ui.cc:2451
+#: ardour_ui.cc:2574
msgid ""
"This session\n"
"%1\n"
"already exists. Do you want to open it?"
msgstr ""
-#: ardour_ui.cc:2461
+#: ardour_ui.cc:2584
msgid "Open Existing Session"
msgstr ""
-#: ardour_ui.cc:2712
+#: ardour_ui.cc:2842
msgid "There is no existing session at \"%1\""
msgstr ""
-#: ardour_ui.cc:2804
+#: ardour_ui.cc:2934
msgid "Please wait while %1 loads your session"
msgstr ""
-#: ardour_ui.cc:2819
+#: ardour_ui.cc:2949
msgid "Port Registration Error"
msgstr ""
-#: ardour_ui.cc:2820
+#: ardour_ui.cc:2950
msgid "Click the Close button to try again."
msgstr ""
-#: ardour_ui.cc:2841
+#: ardour_ui.cc:2971
msgid "Session \"%1 (snapshot %2)\" did not load successfully"
msgstr "Session \"%1 (ögonblickskopia %2)\" kunde inte laddas"
-#: ardour_ui.cc:2848
+#: ardour_ui.cc:2978
msgid "Loading Error"
msgstr ""
-#: ardour_ui.cc:2867
+#: ardour_ui.cc:2997
msgid ""
"This session has been opened in read-only mode.\n"
"\n"
"You will not be able to record or save."
msgstr ""
-#: ardour_ui.cc:2873
+#: ardour_ui.cc:3003
msgid "Read-only Session"
msgstr ""
-#: ardour_ui.cc:2931
+#: ardour_ui.cc:3069
msgid "Could not create session in \"%1\""
msgstr ""
-#: ardour_ui.cc:3031
+#: ardour_ui.cc:3169
msgid "No files were ready for clean-up"
msgstr ""
-#: ardour_ui.cc:3035 ardour_ui.cc:3045 ardour_ui.cc:3178 ardour_ui.cc:3185
-#: ardour_ui_ed.cc:104
+#: ardour_ui.cc:3173 ardour_ui.cc:3183 ardour_ui.cc:3316 ardour_ui.cc:3323
+#: ardour_ui_ed.cc:103
msgid "Clean-up"
msgstr ""
-#: ardour_ui.cc:3036
+#: ardour_ui.cc:3174
msgid ""
"If this seems suprising, \n"
"check for any existing snapshots.\n"
@@ -1056,19 +1068,19 @@ msgstr ""
"ögonblickskopior. Dessa kan använda regioner som\n"
"använder oanvända filer för att kunna fungera."
-#: ardour_ui.cc:3095
+#: ardour_ui.cc:3233
msgid "kilo"
msgstr ""
-#: ardour_ui.cc:3098
+#: ardour_ui.cc:3236
msgid "mega"
msgstr ""
-#: ardour_ui.cc:3101
+#: ardour_ui.cc:3239
msgid "giga"
msgstr ""
-#: ardour_ui.cc:3106
+#: ardour_ui.cc:3244
msgid ""
"The following file was deleted from %2,\n"
"releasing %3 %4bytes of disk space"
@@ -1078,7 +1090,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:3113
+#: ardour_ui.cc:3251
msgid ""
"The following file was not in use and \n"
"has been moved to: %2\n"
@@ -1100,91 +1112,90 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:3173
+#: ardour_ui.cc:3311
msgid "Are you sure you want to clean-up?"
msgstr ""
-#: ardour_ui.cc:3180
+#: ardour_ui.cc:3318
msgid ""
"Clean-up is a destructive operation.\n"
"ALL undo/redo information will be lost if you clean-up.\n"
"Clean-up will move all unused files to a \"dead\" location."
msgstr ""
-#: ardour_ui.cc:3188
+#: ardour_ui.cc:3326
msgid "CleanupDialog"
msgstr "Rensadialog"
-#: ardour_ui.cc:3218
+#: ardour_ui.cc:3356
msgid "Cleaned Files"
msgstr ""
-#: ardour_ui.cc:3235
+#: ardour_ui.cc:3373
msgid "deleted file"
msgstr "raderad fil"
-#: ardour_ui.cc:3381
-msgid ""
-"Video-Server was not launched by Ardour. The request to stop it is ignored."
+#: ardour_ui.cc:3512
+msgid "Video-Server was not launched by %1. The request to stop it is ignored."
msgstr ""
-#: ardour_ui.cc:3385
+#: ardour_ui.cc:3516
msgid "Stop Video-Server"
msgstr ""
-#: ardour_ui.cc:3386
+#: ardour_ui.cc:3517
msgid "Do you really want to stop the Video Server?"
msgstr ""
-#: ardour_ui.cc:3389
+#: ardour_ui.cc:3520
msgid "Yes, Stop It"
msgstr ""
-#: ardour_ui.cc:3415
+#: ardour_ui.cc:3546
msgid "The Video Server is already started."
msgstr ""
-#: ardour_ui.cc:3417
+#: ardour_ui.cc:3548
msgid ""
"An external Video Server is configured and can be reached. Not starting a "
"new instance."
msgstr ""
-#: ardour_ui.cc:3425 ardour_ui.cc:3515
+#: ardour_ui.cc:3556 ardour_ui.cc:3655
msgid ""
"Could not connect to the Video Server. Start it or configure its access URL "
"in Edit -> Preferences."
msgstr ""
-#: ardour_ui.cc:3449
+#: ardour_ui.cc:3580
msgid "Specified docroot is not an existing directory."
msgstr ""
-#: ardour_ui.cc:3454
+#: ardour_ui.cc:3586 ardour_ui.cc:3592
msgid "Given Video Server is not an executable file."
msgstr ""
-#: ardour_ui.cc:3487
+#: ardour_ui.cc:3626
msgid "Cannot launch the video-server"
msgstr ""
-#: ardour_ui.cc:3496
+#: ardour_ui.cc:3636
msgid "Video-server was started but does not respond to requests..."
msgstr ""
-#: ardour_ui.cc:3541 editor_audio_import.cc:632
+#: ardour_ui.cc:3681 editor_audio_import.cc:628
msgid "could not open %1"
msgstr "kunde inte öppna %1"
-#: ardour_ui.cc:3545
+#: ardour_ui.cc:3685
msgid "no video-file selected"
msgstr ""
-#: ardour_ui.cc:3717
+#: ardour_ui.cc:3858
msgid "Recording was stopped because your system could not keep up."
msgstr "Inspelningen stoppades eftersom ditt system inte kunde hänga med."
-#: ardour_ui.cc:3746
+#: ardour_ui.cc:3887
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1193,7 +1204,23 @@ msgid ""
"quickly enough to keep up with recording.\n"
msgstr ""
-#: ardour_ui.cc:3765
+#: ardour_ui.cc:3957
+msgid "Scanning for plugins"
+msgstr ""
+
+#: ardour_ui.cc:3959
+msgid "Cancel plugin scan"
+msgstr ""
+
+#: ardour_ui.cc:3968
+msgid "Stop Timeout"
+msgstr ""
+
+#: ardour_ui.cc:3975
+msgid "Scan Timeout"
+msgstr ""
+
+#: ardour_ui.cc:4016
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1202,11 +1229,11 @@ msgid ""
"quickly enough to keep up with playback.\n"
msgstr ""
-#: ardour_ui.cc:3805
+#: ardour_ui.cc:4056
msgid "Crash Recovery"
msgstr ""
-#: ardour_ui.cc:3806
+#: ardour_ui.cc:4057
msgid ""
"This session appears to have been in the\n"
"middle of recording when %1 or\n"
@@ -1217,42 +1244,42 @@ msgid ""
"what you would like to do.\n"
msgstr ""
-#: ardour_ui.cc:3818
+#: ardour_ui.cc:4069
msgid "Ignore crash data"
msgstr "Ignorera kraschdata"
-#: ardour_ui.cc:3819
+#: ardour_ui.cc:4070
msgid "Recover from crash"
msgstr "Återhämta från krasch"
-#: ardour_ui.cc:3839
+#: ardour_ui.cc:4090
msgid "Sample Rate Mismatch"
msgstr ""
-#: ardour_ui.cc:3840
+#: ardour_ui.cc:4091
msgid ""
"This session was created with a sample rate of %1 Hz, but\n"
"%2 is currently running at %3 Hz. If you load this session,\n"
"audio may be played at the wrong sample rate.\n"
msgstr ""
-#: ardour_ui.cc:3849
+#: ardour_ui.cc:4100
msgid "Do not load session"
msgstr ""
-#: ardour_ui.cc:3850
+#: ardour_ui.cc:4101
msgid "Load session anyway"
msgstr ""
-#: ardour_ui.cc:3877
+#: ardour_ui.cc:4128
msgid "Could not disconnect from Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:3893 ardour_ui.cc:3896
+#: ardour_ui.cc:4144 ardour_ui.cc:4147
msgid "Could not reconnect to the Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:4172
+#: ardour_ui.cc:4431
msgid ""
"%4This is a session from an older version of %3%5\n"
"\n"
@@ -1267,69 +1294,69 @@ msgid ""
"From now on, use the -2000 version with older versions of %3"
msgstr ""
-#: ardour_ui2.cc:72
+#: ardour_ui2.cc:73
msgid "UI: cannot setup editor"
msgstr "Gränssnitt: kan ej konfigurera editorn"
-#: ardour_ui2.cc:77
+#: ardour_ui2.cc:78
msgid "UI: cannot setup mixer"
msgstr "Gränssnitt: kan inte konfigurera mixern"
-#: ardour_ui2.cc:82
+#: ardour_ui2.cc:83
msgid "UI: cannot setup meterbridge"
msgstr ""
-#: ardour_ui2.cc:130
+#: ardour_ui2.cc:131
msgid "Play from playhead"
msgstr "Spela från startmarkören"
-#: ardour_ui2.cc:131
+#: ardour_ui2.cc:132
msgid "Stop playback"
msgstr "Stanna uppspelning"
-#: ardour_ui2.cc:132
+#: ardour_ui2.cc:133
msgid "Toggle record"
msgstr "Växla inspelningläge"
-#: ardour_ui2.cc:133
+#: ardour_ui2.cc:134
msgid "Play range/selection"
msgstr "Spela omfång/markering"
-#: ardour_ui2.cc:134
+#: ardour_ui2.cc:135
msgid "Go to start of session"
msgstr "Gå till början av sessionen"
-#: ardour_ui2.cc:135
+#: ardour_ui2.cc:136
msgid "Go to end of session"
msgstr "GÃ¥ till slutet av sessionen"
-#: ardour_ui2.cc:136
+#: ardour_ui2.cc:137
msgid "Play loop range"
msgstr "Spela loop-omfång"
-#: ardour_ui2.cc:137
+#: ardour_ui2.cc:138
msgid ""
"MIDI Panic\n"
"Send note off and reset controller messages on all MIDI channels"
msgstr ""
-#: ardour_ui2.cc:138
+#: ardour_ui2.cc:139
msgid "Return to last playback start when stopped"
msgstr "Återvänd till senaste startmarkörpunkten vid stopp"
-#: ardour_ui2.cc:139
+#: ardour_ui2.cc:140
msgid "Playhead follows Range Selections and Edits"
msgstr ""
-#: ardour_ui2.cc:140
+#: ardour_ui2.cc:141
msgid "Be sensible about input monitoring"
msgstr "Rimlig inljudsmedhörning"
-#: ardour_ui2.cc:141
+#: ardour_ui2.cc:142
msgid "Enable/Disable audio click"
msgstr "Slå på/av audio-klick"
-#: ardour_ui2.cc:142 monitor_section.cc:101
+#: ardour_ui2.cc:143 monitor_section.cc:112
msgid ""
"When active, something is soloed.\n"
"Click to de-solo everything"
@@ -1337,7 +1364,7 @@ msgstr ""
"I aktivt läge är valda kanaler i sololäge.\n"
"Klicka för att stänga av"
-#: ardour_ui2.cc:143
+#: ardour_ui2.cc:144
msgid ""
"When active, auditioning is taking place\n"
"Click to stop the audition"
@@ -1345,11 +1372,11 @@ msgstr ""
"I aktivt läge avlyssnas något\n"
"Klicka för att stoppa avlyssningen"
-#: ardour_ui2.cc:144
+#: ardour_ui2.cc:145
msgid "When active, there is a feedback loop."
msgstr ""
-#: ardour_ui2.cc:145
+#: ardour_ui2.cc:146
msgid ""
"<b>Primary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1357,7 +1384,7 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:146
+#: ardour_ui2.cc:147
msgid ""
"<b>Secondary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1365,361 +1392,418 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:147
-msgid "Reset Level Meter"
+#: ardour_ui2.cc:148
+msgid "Reset All Peak Indicators"
msgstr ""
-#: ardour_ui2.cc:179
+#: ardour_ui2.cc:180
msgid "[ERROR]: "
msgstr ""
-#: ardour_ui2.cc:181
+#: ardour_ui2.cc:182
msgid "[WARNING]: "
msgstr ""
-#: ardour_ui2.cc:183
+#: ardour_ui2.cc:184
msgid "[INFO]: "
msgstr ""
-#: ardour_ui2.cc:247 ardour_ui_ed.cc:344
+#: ardour_ui2.cc:248 ardour_ui_ed.cc:391
msgid "Auto Return"
msgstr "Autoåtervänd"
-#: ardour_ui2.cc:249 ardour_ui_ed.cc:347
+#: ardour_ui2.cc:250 ardour_ui_ed.cc:394
msgid "Follow Edits"
msgstr ""
-#: ardour_ui2.cc:628 rc_option_editor.cc:1002 rc_option_editor.cc:1020
-#: rc_option_editor.cc:1023 rc_option_editor.cc:1025 rc_option_editor.cc:1027
-#: rc_option_editor.cc:1035 rc_option_editor.cc:1043 rc_option_editor.cc:1045
-#: rc_option_editor.cc:1053 rc_option_editor.cc:1060 rc_option_editor.cc:1069
-#: rc_option_editor.cc:1071 rc_option_editor.cc:1073 rc_option_editor.cc:1081
-#: rc_option_editor.cc:1083 rc_option_editor.cc:1092
-#: session_option_editor.cc:234 session_option_editor.cc:236
-#: session_option_editor.cc:257 session_option_editor.cc:259
-#: session_option_editor.cc:261 session_option_editor.cc:268
+#: ardour_ui2.cc:651 rc_option_editor.cc:2172
+msgid "GUI"
+msgstr ""
+
+#: ardour_ui2.cc:668 rc_option_editor.cc:1242 rc_option_editor.cc:1260
+#: rc_option_editor.cc:1263 rc_option_editor.cc:1265 rc_option_editor.cc:1267
+#: rc_option_editor.cc:1275 rc_option_editor.cc:1283 rc_option_editor.cc:1285
+#: rc_option_editor.cc:1293 rc_option_editor.cc:1300 rc_option_editor.cc:1309
+#: rc_option_editor.cc:1311 rc_option_editor.cc:1313 rc_option_editor.cc:1321
+#: rc_option_editor.cc:1323 rc_option_editor.cc:1332
+#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:344 session_option_editor.cc:346
+#: session_option_editor.cc:348 session_option_editor.cc:355
+#: session_option_editor.cc:362 session_option_editor.cc:366
msgid "Misc"
msgstr "Diverse"
-#: ardour_ui_dependents.cc:69
+#: ardour_ui_dependents.cc:75
msgid "Setup Editor"
msgstr "Förbereder redigeraren..."
-#: ardour_ui_dependents.cc:71
+#: ardour_ui_dependents.cc:77
msgid "Setup Mixer"
msgstr "Förbereder mixern..."
-#: ardour_ui_dependents.cc:77
+#: ardour_ui_dependents.cc:83
msgid "Reload Session History"
msgstr "Laddar sessionshistoriken..."
-#: ardour_ui_dialogs.cc:238
+#: ardour_ui_dialogs.cc:251
msgid "Don't close"
msgstr ""
-#: ardour_ui_dialogs.cc:239
+#: ardour_ui_dialogs.cc:252
msgid "Just close"
msgstr ""
-#: ardour_ui_dialogs.cc:240
+#: ardour_ui_dialogs.cc:253
msgid "Save and close"
msgstr ""
-#: ardour_ui_dialogs.cc:339
+#: ardour_ui_dialogs.cc:353
msgid "This screen is not tall enough to display the mixer window"
msgstr ""
-#: ardour_ui_ed.cc:103
+#: ardour_ui_ed.cc:102
msgid "Session"
msgstr ""
-#: ardour_ui_ed.cc:106 editor_actions.cc:134 editor_regions.cc:115
+#: ardour_ui_ed.cc:105 editor_actions.cc:138 editor_regions.cc:116
#: port_group.cc:458 session_option_editor.cc:82 session_option_editor.cc:89
msgid "Sync"
msgstr "Synk."
-#: ardour_ui_ed.cc:107
+#: ardour_ui_ed.cc:106
msgid "Options"
msgstr "Inställningar"
-#: ardour_ui_ed.cc:108
+#: ardour_ui_ed.cc:107
msgid "Window"
msgstr "Fönster"
-#: ardour_ui_ed.cc:109
+#: ardour_ui_ed.cc:108
msgid "Help"
msgstr "Hjälp"
-#: ardour_ui_ed.cc:110
+#: ardour_ui_ed.cc:109
msgid "Misc. Shortcuts"
msgstr "Diverse kortkommandon"
-#: ardour_ui_ed.cc:111
+#: ardour_ui_ed.cc:110
msgid "Audio File Format"
msgstr "Ljudfilsformat"
-#: ardour_ui_ed.cc:112
+#: ardour_ui_ed.cc:111
msgid "File Type"
msgstr "Filtyp"
-#: ardour_ui_ed.cc:113 export_format_dialog.cc:65
+#: ardour_ui_ed.cc:112 export_format_dialog.cc:67
msgid "Sample Format"
msgstr "Samplingsformat"
-#: ardour_ui_ed.cc:114 rc_option_editor.cc:1814 rc_option_editor.cc:1826
+#: ardour_ui_ed.cc:113 rc_option_editor.cc:2119 rc_option_editor.cc:2131
msgid "Control Surfaces"
msgstr "Kontrollytor"
-#: ardour_ui_ed.cc:115 rc_option_editor.cc:1546
+#: ardour_ui_ed.cc:114 rc_option_editor.cc:1812 rc_option_editor.cc:2138
msgid "Plugins"
msgstr "Insticksprogram"
-#: ardour_ui_ed.cc:116 rc_option_editor.cc:1889
+#: ardour_ui_ed.cc:115 rc_option_editor.cc:2223
msgid "Metering"
msgstr "Nivåmätning"
-#: ardour_ui_ed.cc:117
+#: ardour_ui_ed.cc:116
msgid "Fall Off Rate"
msgstr ""
-#: ardour_ui_ed.cc:118
+#: ardour_ui_ed.cc:117
msgid "Hold Time"
msgstr "Hållningslängd"
-#: ardour_ui_ed.cc:119
+#: ardour_ui_ed.cc:118
msgid "Denormal Handling"
msgstr "Denormal-hantering"
-#: ardour_ui_ed.cc:123 route_time_axis.cc:1489
+#: ardour_ui_ed.cc:122 route_time_axis.cc:1636
msgid "New..."
msgstr "Ny..."
-#: ardour_ui_ed.cc:125
+#: ardour_ui_ed.cc:124
msgid "Open..."
msgstr "Öppna..."
-#: ardour_ui_ed.cc:126
+#: ardour_ui_ed.cc:125
msgid "Recent..."
msgstr "Tidigare..."
-#: ardour_ui_ed.cc:127 panner_editor.cc:29 playlist_selector.cc:64
+#: ardour_ui_ed.cc:126 panner_editor.cc:29 playlist_selector.cc:64
msgid "Close"
msgstr "Stäng"
-#: ardour_ui_ed.cc:130
+#: ardour_ui_ed.cc:129
msgid "Add Track or Bus..."
msgstr "Lägg till spår eller buss..."
-#: ardour_ui_ed.cc:135
+#: ardour_ui_ed.cc:134
msgid "Open Video"
msgstr ""
-#: ardour_ui_ed.cc:138
+#: ardour_ui_ed.cc:137
msgid "Remove Video"
msgstr ""
-#: ardour_ui_ed.cc:141
+#: ardour_ui_ed.cc:140
msgid "Export To Video File"
msgstr ""
-#: ardour_ui_ed.cc:145
+#: ardour_ui_ed.cc:144
msgid "Snapshot..."
msgstr "Ögonblickskopia..."
-#: ardour_ui_ed.cc:149
+#: ardour_ui_ed.cc:148
msgid "Save As..."
msgstr "Spara som..."
-#: ardour_ui_ed.cc:153 editor_actions.cc:1719 editor_markers.cc:858
-#: editor_snapshots.cc:123 mixer_strip.cc:1471 route_time_axis.cc:1485
+#: ardour_ui_ed.cc:152 editor_actions.cc:1767 editor_markers.cc:872
+#: editor_snapshots.cc:124 mixer_strip.cc:1481 route_time_axis.cc:1632
msgid "Rename..."
msgstr "Byt namn..."
-#: ardour_ui_ed.cc:157
+#: ardour_ui_ed.cc:156
msgid "Save Template..."
msgstr "Spara mall..."
-#: ardour_ui_ed.cc:160
+#: ardour_ui_ed.cc:159
msgid "Metadata"
msgstr ""
-#: ardour_ui_ed.cc:163
+#: ardour_ui_ed.cc:162
msgid "Edit Metadata..."
msgstr "Redigera metadata..."
-#: ardour_ui_ed.cc:166
+#: ardour_ui_ed.cc:165
msgid "Import Metadata..."
msgstr "Importera metadata..."
-#: ardour_ui_ed.cc:169
+#: ardour_ui_ed.cc:168
msgid "Export To Audio File(s)..."
msgstr "Exportera till ljudfil(er)..."
-#: ardour_ui_ed.cc:172
+#: ardour_ui_ed.cc:171
msgid "Stem export..."
msgstr ""
-#: ardour_ui_ed.cc:175 editor_export_audio.cc:63 export_dialog.cc:129
-#: export_video_dialog.cc:71
+#: ardour_ui_ed.cc:174 editor_export_audio.cc:65 export_dialog.cc:129
+#: export_video_dialog.cc:72
msgid "Export"
msgstr "Exportera"
-#: ardour_ui_ed.cc:178
+#: ardour_ui_ed.cc:177
msgid "Clean-up Unused Sources..."
msgstr ""
-#: ardour_ui_ed.cc:182
+#: ardour_ui_ed.cc:181
msgid "Flush Wastebasket"
msgstr "Töm papperskorgen"
-#: ardour_ui_ed.cc:189
+#: ardour_ui_ed.cc:188
msgid "Quit"
msgstr "Avsluta"
-#: ardour_ui_ed.cc:193
+#: ardour_ui_ed.cc:192
msgid "Maximise Editor Space"
msgstr "Helskärmsläge"
+#: ardour_ui_ed.cc:193
+msgid "Maximise Mixer Space"
+msgstr ""
+
#: ardour_ui_ed.cc:194
msgid "Show Toolbars"
msgstr ""
-#: ardour_ui_ed.cc:197 mixer_ui.cc:1865 mixer_ui.cc:1871
+#: ardour_ui_ed.cc:197
+msgid "Show more UI preferences"
+msgstr ""
+
+#: ardour_ui_ed.cc:199 mixer_ui.cc:1900 mixer_ui.cc:1906
msgid "Window|Mixer"
msgstr ""
-#: ardour_ui_ed.cc:198
+#: ardour_ui_ed.cc:200
msgid "Toggle Editor+Mixer"
msgstr ""
-#: ardour_ui_ed.cc:199 meterbridge.cc:230 meterbridge.cc:236
+#: ardour_ui_ed.cc:201 meterbridge.cc:214 meterbridge.cc:220
msgid "Window|Meterbridge"
msgstr ""
-#: ardour_ui_ed.cc:201 midi_tracer.cc:42
+#: ardour_ui_ed.cc:203 midi_tracer.cc:45
msgid "MIDI Tracer"
msgstr "MIDI-spårare"
-#: ardour_ui_ed.cc:203
+#: ardour_ui_ed.cc:205
msgid "Chat"
msgstr "Chatt"
-#: ardour_ui_ed.cc:205
+#: ardour_ui_ed.cc:207
msgid "Help|Manual"
msgstr ""
-#: ardour_ui_ed.cc:206
+#: ardour_ui_ed.cc:208
msgid "Reference"
msgstr "Referens"
-#: ardour_ui_ed.cc:208 plugin_ui.cc:415
+#: ardour_ui_ed.cc:210 plugin_ui.cc:416
msgid "Save"
msgstr "Spara"
-#: ardour_ui_ed.cc:216 rc_option_editor.cc:1112 rc_option_editor.cc:1123
-#: rc_option_editor.cc:1132 rc_option_editor.cc:1145 rc_option_editor.cc:1158
-#: rc_option_editor.cc:1167 rc_option_editor.cc:1177 rc_option_editor.cc:1179
-#: rc_option_editor.cc:1189 rc_option_editor.cc:1205 rc_option_editor.cc:1218
-#: rc_option_editor.cc:1236 rc_option_editor.cc:1238 rc_option_editor.cc:1252
-#: rc_option_editor.cc:1255 rc_option_editor.cc:1257 rc_option_editor.cc:1274
-#: rc_option_editor.cc:1285
+#: ardour_ui_ed.cc:218 rc_option_editor.cc:1352 rc_option_editor.cc:1363
+#: rc_option_editor.cc:1374 rc_option_editor.cc:1383 rc_option_editor.cc:1396
+#: rc_option_editor.cc:1409 rc_option_editor.cc:1418 rc_option_editor.cc:1428
+#: rc_option_editor.cc:1430 rc_option_editor.cc:1440 rc_option_editor.cc:1456
+#: rc_option_editor.cc:1469 rc_option_editor.cc:1487 rc_option_editor.cc:1489
+#: rc_option_editor.cc:1503 rc_option_editor.cc:1506 rc_option_editor.cc:1508
+#: rc_option_editor.cc:1525 rc_option_editor.cc:1536
msgid "Transport"
msgstr "Uppspelning"
-#: ardour_ui_ed.cc:222
+#: ardour_ui_ed.cc:224
msgid "Stop"
msgstr "Stopp"
-#: ardour_ui_ed.cc:225
+#: ardour_ui_ed.cc:227
msgid "Roll"
msgstr ""
-#: ardour_ui_ed.cc:229
+#: ardour_ui_ed.cc:231 ardour_ui_ed.cc:234
msgid "Start/Stop"
msgstr "Start/Stopp"
-#: ardour_ui_ed.cc:232
+#: ardour_ui_ed.cc:237
msgid "Start/Continue/Stop"
msgstr "Start/Fortsätt/Stopp"
-#: ardour_ui_ed.cc:235
+#: ardour_ui_ed.cc:240
msgid "Stop and Forget Capture"
msgstr "Stoppa och glöm inspelning"
-#: ardour_ui_ed.cc:245
+#: ardour_ui_ed.cc:250
msgid "Transition To Roll"
msgstr "Övergång till Rullning"
-#: ardour_ui_ed.cc:249
+#: ardour_ui_ed.cc:254
msgid "Transition To Reverse"
msgstr "Övergång till Motsatt riktning"
-#: ardour_ui_ed.cc:253
+#: ardour_ui_ed.cc:258
msgid "Play Loop Range"
msgstr "Spela loop-omfång"
-#: ardour_ui_ed.cc:256
+#: ardour_ui_ed.cc:261
msgid "Play Selected Range"
msgstr ""
-#: ardour_ui_ed.cc:259
+#: ardour_ui_ed.cc:264
msgid "Play Selection w/Preroll"
msgstr ""
-#: ardour_ui_ed.cc:263
+#: ardour_ui_ed.cc:268
msgid "Enable Record"
msgstr "Tillåt inspelning"
-#: ardour_ui_ed.cc:266
+#: ardour_ui_ed.cc:271 ardour_ui_ed.cc:275
msgid "Start Recording"
msgstr "Börja inspelning"
-#: ardour_ui_ed.cc:270
+#: ardour_ui_ed.cc:279
msgid "Rewind"
msgstr "Bakåtspolning"
-#: ardour_ui_ed.cc:273
+#: ardour_ui_ed.cc:282
msgid "Rewind (Slow)"
msgstr "Bakåtspolning (långsam)"
-#: ardour_ui_ed.cc:276
+#: ardour_ui_ed.cc:285
msgid "Rewind (Fast)"
msgstr "Bakåtspolning (snabb)"
-#: ardour_ui_ed.cc:279
+#: ardour_ui_ed.cc:288
msgid "Forward"
msgstr "Framåtspolning"
-#: ardour_ui_ed.cc:282
+#: ardour_ui_ed.cc:291
msgid "Forward (Slow)"
msgstr "Framåtspolning (långsam)"
-#: ardour_ui_ed.cc:285
+#: ardour_ui_ed.cc:294
msgid "Forward (Fast)"
msgstr "Framåtspolning (snabb)"
-#: ardour_ui_ed.cc:288
+#: ardour_ui_ed.cc:297
msgid "Goto Zero"
msgstr "GÃ¥ till noll"
-#: ardour_ui_ed.cc:291
+#: ardour_ui_ed.cc:300 ardour_ui_ed.cc:303
msgid "Goto Start"
msgstr "Gå till början"
-#: ardour_ui_ed.cc:294
+#: ardour_ui_ed.cc:306
msgid "Goto End"
msgstr "GÃ¥ till slutet"
-#: ardour_ui_ed.cc:297
+#: ardour_ui_ed.cc:309
msgid "Goto Wall Clock"
msgstr "Gå till väggklocka"
-#: ardour_ui_ed.cc:301
+#: ardour_ui_ed.cc:314
+msgid "Numpad Decimal"
+msgstr ""
+
+#: ardour_ui_ed.cc:317
+msgid "Numpad 0"
+msgstr ""
+
+#: ardour_ui_ed.cc:320
+msgid "Numpad 1"
+msgstr ""
+
+#: ardour_ui_ed.cc:323
+msgid "Numpad 2"
+msgstr ""
+
+#: ardour_ui_ed.cc:326
+msgid "Numpad 3"
+msgstr ""
+
+#: ardour_ui_ed.cc:329
+msgid "Numpad 4"
+msgstr ""
+
+#: ardour_ui_ed.cc:332
+msgid "Numpad 5"
+msgstr ""
+
+#: ardour_ui_ed.cc:335
+msgid "Numpad 6"
+msgstr ""
+
+#: ardour_ui_ed.cc:338
+msgid "Numpad 7"
+msgstr ""
+
+#: ardour_ui_ed.cc:341
+msgid "Numpad 8"
+msgstr ""
+
+#: ardour_ui_ed.cc:344
+msgid "Numpad 9"
+msgstr ""
+
+#: ardour_ui_ed.cc:348
msgid "Focus On Clock"
msgstr "Fokus på klockan"
-#: ardour_ui_ed.cc:305 ardour_ui_ed.cc:314 audio_clock.cc:2046 editor.cc:237
-#: editor_actions.cc:544 editor_actions.cc:553 export_timespan_selector.cc:88
+#: ardour_ui_ed.cc:352 ardour_ui_ed.cc:361 audio_clock.cc:2072 editor.cc:254
+#: editor_actions.cc:579 editor_actions.cc:588 export_timespan_selector.cc:88
#: session_option_editor.cc:41 session_option_editor.cc:61
#: session_option_editor.cc:80 session_option_editor.cc:96
#: session_option_editor.cc:109 session_option_editor.cc:122
@@ -1727,125 +1811,125 @@ msgstr "Fokus på klockan"
msgid "Timecode"
msgstr "Tidskod"
-#: ardour_ui_ed.cc:307 ardour_ui_ed.cc:316 editor_actions.cc:542
+#: ardour_ui_ed.cc:354 ardour_ui_ed.cc:363 editor_actions.cc:577
msgid "Bars & Beats"
msgstr "Takter & slag"
-#: ardour_ui_ed.cc:309 ardour_ui_ed.cc:318
+#: ardour_ui_ed.cc:356 ardour_ui_ed.cc:365
msgid "Minutes & Seconds"
msgstr "Minuter & sekunder"
-#: ardour_ui_ed.cc:311 ardour_ui_ed.cc:320 audio_clock.cc:2050 editor.cc:238
-#: editor_actions.cc:543
+#: ardour_ui_ed.cc:358 ardour_ui_ed.cc:367 audio_clock.cc:2076 editor.cc:255
+#: editor_actions.cc:578
msgid "Samples"
msgstr "Samplingar"
-#: ardour_ui_ed.cc:323
+#: ardour_ui_ed.cc:370
msgid "Punch In"
msgstr "Inslag"
-#: ardour_ui_ed.cc:324 mixer_strip.cc:1905 route_ui.cc:137
-#: time_info_box.cc:113
+#: ardour_ui_ed.cc:371 mixer_strip.cc:1774 mixer_strip.cc:1798
+#: mixer_strip.cc:1962 route_ui.cc:158 time_info_box.cc:116
msgid "In"
msgstr ""
-#: ardour_ui_ed.cc:327
+#: ardour_ui_ed.cc:374
msgid "Punch Out"
msgstr "Utslag"
-#: ardour_ui_ed.cc:328 time_info_box.cc:114
+#: ardour_ui_ed.cc:375 mixer_strip.cc:1786 time_info_box.cc:117
msgid "Out"
msgstr "Ut"
-#: ardour_ui_ed.cc:331
+#: ardour_ui_ed.cc:378
msgid "Punch In/Out"
msgstr "Inslag/utslag"
-#: ardour_ui_ed.cc:332
+#: ardour_ui_ed.cc:379
msgid "In/Out"
msgstr ""
-#: ardour_ui_ed.cc:335 rc_option_editor.cc:1069
+#: ardour_ui_ed.cc:382 rc_option_editor.cc:1309
msgid "Click"
msgstr "Klick"
-#: ardour_ui_ed.cc:338
+#: ardour_ui_ed.cc:385
msgid "Auto Input"
msgstr "Autoinljud"
-#: ardour_ui_ed.cc:341
+#: ardour_ui_ed.cc:388
msgid "Auto Play"
msgstr "Autospela"
-#: ardour_ui_ed.cc:352
+#: ardour_ui_ed.cc:399
msgid "Sync Startup to Video"
msgstr ""
-#: ardour_ui_ed.cc:354
+#: ardour_ui_ed.cc:401
msgid "Time Master"
msgstr "Huvudklocka"
-#: ardour_ui_ed.cc:361
+#: ardour_ui_ed.cc:408
msgid "Toggle Record Enable Track %1"
msgstr ""
-#: ardour_ui_ed.cc:368
+#: ardour_ui_ed.cc:415
msgid "Percentage"
msgstr "Procent"
-#: ardour_ui_ed.cc:369 shuttle_control.cc:169
+#: ardour_ui_ed.cc:416 shuttle_control.cc:169
msgid "Semitones"
msgstr "Halvtoner"
-#: ardour_ui_ed.cc:373
+#: ardour_ui_ed.cc:420
msgid "Send MTC"
msgstr "Skicka MTC"
-#: ardour_ui_ed.cc:375
+#: ardour_ui_ed.cc:422
msgid "Send MMC"
msgstr "Skicka MMC"
-#: ardour_ui_ed.cc:377
+#: ardour_ui_ed.cc:424
msgid "Use MMC"
msgstr "Använd MMC"
-#: ardour_ui_ed.cc:379 rc_option_editor.cc:1698
+#: ardour_ui_ed.cc:426 rc_option_editor.cc:1978
msgid "Send MIDI Clock"
msgstr "Skicka MIDI-klocka"
-#: ardour_ui_ed.cc:381
+#: ardour_ui_ed.cc:428
msgid "Send MIDI Feedback"
msgstr ""
-#: ardour_ui_ed.cc:387
+#: ardour_ui_ed.cc:434
msgid "Panic"
msgstr "Panik!"
-#: ardour_ui_ed.cc:472
+#: ardour_ui_ed.cc:519
msgid "Wall Clock"
msgstr ""
-#: ardour_ui_ed.cc:473
+#: ardour_ui_ed.cc:520
msgid "Disk Space"
msgstr ""
-#: ardour_ui_ed.cc:474
+#: ardour_ui_ed.cc:521
msgid "DSP"
msgstr ""
-#: ardour_ui_ed.cc:475
+#: ardour_ui_ed.cc:522
msgid "Buffers"
msgstr ""
-#: ardour_ui_ed.cc:477
+#: ardour_ui_ed.cc:524
msgid "Timecode Format"
msgstr ""
-#: ardour_ui_ed.cc:478
+#: ardour_ui_ed.cc:525
msgid "File Format"
msgstr ""
-#: ardour_ui_options.cc:61
+#: ardour_ui_options.cc:63
msgid ""
"It is not possible to use JACK as the the sync source\n"
"when the pull up/down setting is non-zero."
@@ -1855,331 +1939,249 @@ msgstr ""
msgid "Internal"
msgstr "Intern"
-#: ardour_ui_options.cc:468
+#: ardour_ui_options.cc:496
msgid "Enable/Disable external positional sync"
msgstr "Välj extern positionssynkronisering"
-#: ardour_ui_options.cc:470
+#: ardour_ui_options.cc:498
msgid "Sync to JACK is not possible: video pull up/down is set"
msgstr ""
-#: audio_clock.cc:1012 audio_clock.cc:1031
+#: audio_clock.cc:1028 audio_clock.cc:1047
msgid "--pending--"
msgstr ""
-#: audio_clock.cc:1083
+#: audio_clock.cc:1099
msgid "SR"
msgstr ""
-#: audio_clock.cc:1089 audio_clock.cc:1093
+#: audio_clock.cc:1105 audio_clock.cc:1109
msgid "Pull"
msgstr ""
-#: audio_clock.cc:1091
+#: audio_clock.cc:1107
#, c-format
msgid "%+.4f%%"
msgstr ""
-#: audio_clock.cc:1237 editor.cc:239 editor_actions.cc:135
-#: editor_actions.cc:536
+#: audio_clock.cc:1263 editor.cc:256 editor_actions.cc:139
+#: editor_actions.cc:571
msgid "Tempo"
msgstr ""
-#: audio_clock.cc:1241 editor.cc:240 editor_actions.cc:537
+#: audio_clock.cc:1267 editor.cc:257 editor_actions.cc:572
msgid "Meter"
msgstr "Taktart"
-#: audio_clock.cc:1819 audio_streamview.cc:116 editor_actions.cc:1039
-#: midi_region_view.cc:2991 session_metadata_dialog.cc:331
+#: audio_clock.cc:1845 audio_streamview.cc:115 editor_actions.cc:1085
+#: midi_region_view.cc:2989 session_metadata_dialog.cc:331
#: session_metadata_dialog.cc:379 session_metadata_dialog.cc:435
-#: session_metadata_dialog.cc:716
+#: session_metadata_dialog.cc:716 streamview.cc:433
msgid "programming error: %1"
msgstr ""
-#: audio_clock.cc:1952 audio_clock.cc:1980
+#: audio_clock.cc:1978 audio_clock.cc:2006
msgid "programming error: %1 %2"
msgstr ""
-#: audio_clock.cc:2048 editor.cc:236 export_timespan_selector.cc:98
+#: audio_clock.cc:2074 editor.cc:253 export_timespan_selector.cc:98
msgid "Bars:Beats"
msgstr "Takt:Slag"
-#: audio_clock.cc:2049 export_timespan_selector.cc:93
+#: audio_clock.cc:2075 export_timespan_selector.cc:93
msgid "Minutes:Seconds"
msgstr "Minuter:Sekunder"
-#: audio_clock.cc:2054
+#: audio_clock.cc:2080
msgid "Set From Playhead"
msgstr ""
-#: audio_clock.cc:2055
+#: audio_clock.cc:2081
msgid "Locate to This Time"
msgstr ""
-#: audio_region_editor.cc:63 control_point_dialog.cc:49 rhythm_ferret.cc:125
-#: rhythm_ferret.cc:130 rhythm_ferret.cc:135
+#: audio_region_editor.cc:64 control_point_dialog.cc:49 rhythm_ferret.cc:124
+#: rhythm_ferret.cc:129 rhythm_ferret.cc:134
msgid "dB"
msgstr ""
-#: audio_region_editor.cc:66
+#: audio_region_editor.cc:67
msgid "Region gain:"
msgstr "Regionens volym:"
-#: audio_region_editor.cc:76 export_format_dialog.cc:43
+#: audio_region_editor.cc:77 export_format_dialog.cc:43
msgid "dBFS"
msgstr ""
-#: audio_region_editor.cc:79
+#: audio_region_editor.cc:80
msgid "Peak amplitude:"
msgstr "Toppamplitud:"
-#: audio_region_editor.cc:90
+#: audio_region_editor.cc:91
msgid "Calculating..."
msgstr "Räknar ut..."
-#: audio_region_view.cc:1001
+#: audio_region_view.cc:1243
msgid "add gain control point"
msgstr "lägg till volymkontrollspunkt"
-#: audio_time_axis.cc:389
+#: audio_time_axis.cc:430 midi_time_axis.cc:619
msgid "Fader"
msgstr "Volym"
-#: audio_time_axis.cc:396
+#: audio_time_axis.cc:437 editor_actions.cc:1800 mixer_strip.cc:1961
+#: monitor_section.cc:273 route_time_axis.cc:253
+msgid "Mute"
+msgstr "Tysta"
+
+#: audio_time_axis.cc:445 midi_time_axis.cc:627
msgid "Pan"
msgstr "Panorering"
-#: automation_line.cc:252 automation_line.cc:435
+#: automation_line.cc:272 automation_line.cc:453
msgid "automation event move"
msgstr "automatiseringshändelse: förflyttning"
-#: automation_line.cc:462 automation_line.cc:483
+#: automation_line.cc:479 automation_line.cc:499
msgid "automation range move"
msgstr ""
-#: automation_line.cc:823 region_gain_line.cc:73
+#: automation_line.cc:854 region_gain_line.cc:72
msgid "remove control point"
msgstr "ta bort kontrollpunkt"
-#: automation_line.cc:941
+#: automation_line.cc:971
msgid "Ignoring illegal points on AutomationLine \"%1\""
msgstr ""
-#: automation_region_view.cc:160 automation_time_axis.cc:583
+#: automation_region_view.cc:162 automation_time_axis.cc:627
msgid "add automation event"
msgstr ""
-#: automation_time_axis.cc:146
+#: automation_time_axis.cc:141
msgid "automation state"
msgstr "automatiseringstillstånd"
-#: automation_time_axis.cc:147
+#: automation_time_axis.cc:142
msgid "hide track"
msgstr "dölj spår"
-#: automation_time_axis.cc:255 automation_time_axis.cc:307
-#: automation_time_axis.cc:496 gain_meter.cc:194 generic_pluginui.cc:454
-#: generic_pluginui.cc:775 panner_ui.cc:149
+#: automation_time_axis.cc:297 automation_time_axis.cc:349
+#: automation_time_axis.cc:540 gain_meter.cc:186 generic_pluginui.cc:452
+#: generic_pluginui.cc:770 panner_ui.cc:150
msgid "Automation|Manual"
msgstr ""
-#: automation_time_axis.cc:257 automation_time_axis.cc:318
-#: automation_time_axis.cc:501 editor.cc:1937 editor.cc:2014
-#: editor_actions.cc:118 editor_actions.cc:1865 gain_meter.cc:197
-#: generic_pluginui.cc:457 generic_pluginui.cc:777 midi_time_axis.cc:1488
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1494 panner_ui.cc:152
+#: automation_time_axis.cc:299 automation_time_axis.cc:360
+#: automation_time_axis.cc:545 editor.cc:1856 editor.cc:1933
+#: editor_actions.cc:122 editor_actions.cc:1916 gain_meter.cc:189
+#: generic_pluginui.cc:455 generic_pluginui.cc:772 midi_time_axis.cc:1687
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1693 panner_ui.cc:153
msgid "Play"
msgstr "Uppspelning"
-#: automation_time_axis.cc:259 automation_time_axis.cc:329
-#: automation_time_axis.cc:506 gain_meter.cc:200 generic_pluginui.cc:460
-#: generic_pluginui.cc:779 panner_ui.cc:155
+#: automation_time_axis.cc:301 automation_time_axis.cc:371
+#: automation_time_axis.cc:550 gain_meter.cc:192 generic_pluginui.cc:458
+#: generic_pluginui.cc:774 panner_ui.cc:156
msgid "Write"
msgstr "Skriv"
-#: automation_time_axis.cc:261 automation_time_axis.cc:340
-#: automation_time_axis.cc:511 gain_meter.cc:203 generic_pluginui.cc:463
-#: generic_pluginui.cc:781 panner_ui.cc:158
+#: automation_time_axis.cc:303 automation_time_axis.cc:382
+#: automation_time_axis.cc:555 gain_meter.cc:195 generic_pluginui.cc:461
+#: generic_pluginui.cc:776 panner_ui.cc:159
msgid "Touch"
msgstr "Beröring"
-#: automation_time_axis.cc:351 generic_pluginui.cc:466 meter_patterns.cc:108
+#: automation_time_axis.cc:393 generic_pluginui.cc:464 meter_patterns.cc:112
msgid "???"
msgstr ""
-#: automation_time_axis.cc:392
+#: automation_time_axis.cc:434
msgid "clear automation"
msgstr "rensa automatisering"
-#: automation_time_axis.cc:485 editor_actions.cc:613 editor_markers.cc:857
-#: location_ui.cc:55 plugin_selector.cc:85 route_time_axis.cc:708
+#: automation_time_axis.cc:529 editor_actions.cc:655 editor_markers.cc:871
+#: location_ui.cc:56 plugin_selector.cc:86 route_time_axis.cc:827
msgid "Hide"
msgstr "Göm"
-#: automation_time_axis.cc:487
+#: automation_time_axis.cc:531
msgid "Clear"
msgstr "Rensa"
-#: automation_time_axis.cc:516
+#: automation_time_axis.cc:560
msgid "State"
msgstr "Tillstånd"
-#: automation_time_axis.cc:531
+#: automation_time_axis.cc:575
msgid "Discrete"
msgstr ""
-#: automation_time_axis.cc:537 editor.cc:1458 editor.cc:1465 editor.cc:1521
-#: editor.cc:1527 export_format_dialog.cc:476
+#: automation_time_axis.cc:581 export_format_dialog.cc:485
msgid "Linear"
msgstr "Linjär"
-#: automation_time_axis.cc:543 rhythm_ferret.cc:110 route_time_axis.cc:647
+#: automation_time_axis.cc:587 rhythm_ferret.cc:109 route_time_axis.cc:765
#: shuttle_control.cc:188
msgid "Mode"
msgstr "Visningsläge"
-#: bundle_manager.cc:181
+#: bundle_manager.cc:182
msgid "Disassociate"
msgstr "Koppla bort"
-#: bundle_manager.cc:185
+#: bundle_manager.cc:186
msgid "Edit Bundle"
msgstr "Redigera bunt"
-#: bundle_manager.cc:200
+#: bundle_manager.cc:201
msgid "Direction:"
msgstr "Riktning:"
-#: bundle_manager.cc:205 bundle_manager.cc:209 mixer_strip.cc:158
-#: mixer_strip.cc:2127
+#: bundle_manager.cc:206 bundle_manager.cc:210 engine_dialog.cc:641
+#: mixer_strip.cc:164 mixer_strip.cc:371 mixer_strip.cc:2195
+#: rc_option_editor.cc:2198
msgid "Input"
msgstr "Ingång"
-#: bundle_manager.cc:206 bundle_manager.cc:211 bundle_manager.cc:245
-#: mixer_strip.cc:163 mixer_strip.cc:2130
+#: bundle_manager.cc:207 bundle_manager.cc:212 bundle_manager.cc:246
+#: engine_dialog.cc:643 mixer_strip.cc:168 mixer_strip.cc:375
+#: mixer_strip.cc:2198 rc_option_editor.cc:2202
msgid "Output"
msgstr "Utgång"
-#: bundle_manager.cc:264 editor.cc:1978 editor_actions.cc:90
-#: editor_actions.cc:100
+#: bundle_manager.cc:265 editor.cc:1897 editor_actions.cc:94
+#: editor_actions.cc:104 rc_option_editor.cc:1067 rc_option_editor.cc:1074
msgid "Edit"
msgstr "Redigera"
-#: bundle_manager.cc:265 editor.cc:5497 editor_actions.cc:310
-#: editor_actions.cc:368 plugin_ui.cc:416 processor_box.cc:2268
-#: route_time_axis.cc:713
+#: bundle_manager.cc:266 editor.cc:5593 editor_actions.cc:335
+#: editor_actions.cc:336 editor_actions.cc:402 plugin_ui.cc:417
+#: processor_box.cc:2502 route_time_axis.cc:832
msgid "Delete"
msgstr "Radera"
-#: bundle_manager.cc:271 bundle_manager.cc:439 editor_route_groups.cc:96
-#: editor_routes.cc:202 midi_list_editor.cc:106 session_metadata_dialog.cc:525
+#: bundle_manager.cc:272 bundle_manager.cc:440 editor_route_groups.cc:97
+#: editor_routes.cc:204 midi_list_editor.cc:106 session_metadata_dialog.cc:525
msgid "Name"
msgstr "Namn"
-#: bundle_manager.cc:282
+#: bundle_manager.cc:283
msgid "New"
msgstr "Ny"
-#: bundle_manager.cc:332
+#: bundle_manager.cc:333
msgid "Bundle"
msgstr "Bunt"
-#: bundle_manager.cc:417
+#: bundle_manager.cc:418
msgid "Add Channel"
msgstr ""
-#: bundle_manager.cc:424
+#: bundle_manager.cc:425
msgid "Rename Channel"
msgstr "Byt namn på kanal"
-#: canvas-simpleline.c:111 canvas-simplerect.c:106
-msgid "x1"
-msgstr ""
-
-#: canvas-simpleline.c:112 canvas-simplerect.c:107
-msgid "x coordinate of upper left corner of rect"
-msgstr ""
-
-#: canvas-simpleline.c:121 canvas-simplerect.c:116
-msgid "y1"
-msgstr ""
-
-#: canvas-simpleline.c:122 canvas-simplerect.c:117
-msgid "y coordinate of upper left corner of rect "
-msgstr ""
-
-#: canvas-simpleline.c:132 canvas-simplerect.c:127
-msgid "x2"
-msgstr ""
-
-#: canvas-simpleline.c:133 canvas-simplerect.c:128
-msgid "x coordinate of lower right corner of rect"
-msgstr ""
-
-#: canvas-simpleline.c:142 canvas-simplerect.c:137
-msgid "y2"
-msgstr ""
-
-#: canvas-simpleline.c:143 canvas-simplerect.c:138
-msgid "y coordinate of lower right corner of rect "
-msgstr ""
-
-#: canvas-simpleline.c:151
-msgid "color rgba"
-msgstr ""
-
-#: canvas-simpleline.c:152
-msgid "color of line"
-msgstr ""
-
-#: canvas-simplerect.c:148
-msgid "outline pixels"
-msgstr ""
-
-#: canvas-simplerect.c:149
-msgid "width in pixels of outline"
-msgstr ""
-
-#: canvas-simplerect.c:159
-msgid "outline what"
-msgstr ""
-
-#: canvas-simplerect.c:160
-msgid "which boundaries to outline (mask)"
-msgstr ""
-
-#: canvas-simplerect.c:171
-msgid "fill"
-msgstr ""
-
-#: canvas-simplerect.c:172
-msgid "fill rectangle"
-msgstr ""
-
-#: canvas-simplerect.c:179
-msgid "draw"
-msgstr ""
-
-#: canvas-simplerect.c:180
-msgid "draw rectangle"
-msgstr ""
-
-#: canvas-simplerect.c:188
-msgid "outline color rgba"
-msgstr ""
-
-#: canvas-simplerect.c:189
-msgid "color of outline"
-msgstr ""
-
-#: canvas-simplerect.c:199
-msgid "fill color rgba"
-msgstr ""
-
-#: canvas-simplerect.c:200
-msgid "color of fill"
-msgstr ""
-
#: configinfo.cc:28
msgid "Build Configuration"
msgstr ""
@@ -2217,7 +2219,7 @@ msgid "Set selected notes to this length"
msgstr ""
#: edit_note_dialog.cc:58 midi_list_editor.cc:104 patch_change_dialog.cc:91
-#: step_entry.cc:393
+#: step_entry.cc:394
msgid "Channel"
msgstr "Kanal"
@@ -2225,7 +2227,7 @@ msgstr "Kanal"
msgid "Pitch"
msgstr ""
-#: edit_note_dialog.cc:78 step_entry.cc:407
+#: edit_note_dialog.cc:78 step_entry.cc:408
msgid "Velocity"
msgstr ""
@@ -2233,9 +2235,9 @@ msgstr ""
msgid "Time"
msgstr ""
-#: edit_note_dialog.cc:98 editor_regions.cc:114
-#: export_timespan_selector.cc:359 export_timespan_selector.cc:421
-#: location_ui.cc:317 midi_list_editor.cc:114 time_info_box.cc:105
+#: edit_note_dialog.cc:98 editor_regions.cc:115
+#: export_timespan_selector.cc:378 export_timespan_selector.cc:440
+#: location_ui.cc:319 midi_list_editor.cc:114 time_info_box.cc:108
msgid "Length"
msgstr "Längd"
@@ -2243,1993 +2245,2096 @@ msgstr "Längd"
msgid "edit note"
msgstr ""
-#: editor.cc:137 editor.cc:3433
+#: editor.cc:144
msgid "CD Frames"
msgstr "CD-frames"
-#: editor.cc:138 editor.cc:3435
-msgid "Timecode Frames"
-msgstr "Tidskod: rutor"
+#: editor.cc:145
+msgid "TC Frames"
+msgstr ""
-#: editor.cc:139 editor.cc:3437
-msgid "Timecode Seconds"
-msgstr "Tidskod: sekunder"
+#: editor.cc:146
+msgid "TC Seconds"
+msgstr ""
-#: editor.cc:140 editor.cc:3439
-msgid "Timecode Minutes"
-msgstr "Tidskod: minuter"
+#: editor.cc:147
+msgid "TC Minutes"
+msgstr ""
-#: editor.cc:141 editor.cc:3441
+#: editor.cc:148
msgid "Seconds"
msgstr "Sekunder"
-#: editor.cc:142 editor.cc:3443
+#: editor.cc:149
msgid "Minutes"
msgstr "Minuter"
-#: editor.cc:143 editor.cc:3417 quantize_dialog.cc:37 quantize_dialog.cc:141
+#: editor.cc:150 quantize_dialog.cc:37 quantize_dialog.cc:141
msgid "Beats/128"
msgstr "Slag/128"
-#: editor.cc:144 editor.cc:3415 quantize_dialog.cc:38 quantize_dialog.cc:143
+#: editor.cc:151 quantize_dialog.cc:38 quantize_dialog.cc:143
msgid "Beats/64"
msgstr "Slag/64"
-#: editor.cc:145 editor.cc:3413 quantize_dialog.cc:39 quantize_dialog.cc:145
+#: editor.cc:152 quantize_dialog.cc:39 quantize_dialog.cc:145
msgid "Beats/32"
msgstr "Slag/32"
-#: editor.cc:146 editor.cc:3411
+#: editor.cc:153
msgid "Beats/28"
msgstr "Slag/28"
-#: editor.cc:147 editor.cc:3409
+#: editor.cc:154
msgid "Beats/24"
msgstr "Slag/24"
-#: editor.cc:148 editor.cc:3407
+#: editor.cc:155
msgid "Beats/20"
msgstr "Slag/20"
-#: editor.cc:149 editor.cc:3405 quantize_dialog.cc:40 quantize_dialog.cc:147
+#: editor.cc:156 quantize_dialog.cc:40 quantize_dialog.cc:147
msgid "Beats/16"
msgstr "Slag/16"
-#: editor.cc:150 editor.cc:3403
+#: editor.cc:157
msgid "Beats/14"
msgstr "Slag/14"
-#: editor.cc:151 editor.cc:3401
+#: editor.cc:158
msgid "Beats/12"
msgstr "Slag/12"
-#: editor.cc:152 editor.cc:3399
+#: editor.cc:159
msgid "Beats/10"
msgstr "Slag/10"
-#: editor.cc:153 editor.cc:3397 quantize_dialog.cc:41 quantize_dialog.cc:149
+#: editor.cc:160 quantize_dialog.cc:41 quantize_dialog.cc:149
msgid "Beats/8"
msgstr "Slag/8"
-#: editor.cc:154 editor.cc:3395
+#: editor.cc:161
msgid "Beats/7"
msgstr "Slag/7"
-#: editor.cc:155 editor.cc:3393
+#: editor.cc:162
msgid "Beats/6"
msgstr "Slag/6"
-#: editor.cc:156 editor.cc:3391
+#: editor.cc:163
msgid "Beats/5"
msgstr "Slag/5"
-#: editor.cc:157 editor.cc:3389 quantize_dialog.cc:42 quantize_dialog.cc:151
+#: editor.cc:164 quantize_dialog.cc:42 quantize_dialog.cc:151
msgid "Beats/4"
msgstr "Slag/4"
-#: editor.cc:158 editor.cc:3387 quantize_dialog.cc:43 quantize_dialog.cc:153
+#: editor.cc:165 quantize_dialog.cc:43 quantize_dialog.cc:153
msgid "Beats/3"
msgstr "Slag/3"
-#: editor.cc:159 editor.cc:3385 quantize_dialog.cc:44 quantize_dialog.cc:155
+#: editor.cc:166 quantize_dialog.cc:44 quantize_dialog.cc:155
msgid "Beats/2"
msgstr "Slag/2"
-#: editor.cc:160 editor.cc:3419 quantize_dialog.cc:45 quantize_dialog.cc:157
+#: editor.cc:167 quantize_dialog.cc:45 quantize_dialog.cc:157
msgid "Beats"
msgstr "Slag"
-#: editor.cc:161 editor.cc:3421
+#: editor.cc:168
msgid "Bars"
msgstr "Takter"
-#: editor.cc:162 editor.cc:3423
+#: editor.cc:169
msgid "Marks"
msgstr "Markörer"
-#: editor.cc:163 editor.cc:3425
+#: editor.cc:170
msgid "Region starts"
msgstr "Region börjar"
-#: editor.cc:164 editor.cc:3427
+#: editor.cc:171
msgid "Region ends"
msgstr "Region slutar"
-#: editor.cc:165 editor.cc:3431
+#: editor.cc:172
msgid "Region syncs"
msgstr "Region synkar"
-#: editor.cc:166 editor.cc:3429
+#: editor.cc:173
msgid "Region bounds"
msgstr "Region gränsar"
-#: editor.cc:171 editor.cc:3459 editor_actions.cc:485
+#: editor.cc:178 editor_actions.cc:520
msgid "No Grid"
msgstr "Inget rutnät"
-#: editor.cc:172 editor.cc:3461 editor_actions.cc:486
+#: editor.cc:179 editor_actions.cc:521
msgid "Grid"
msgstr "Rutnät"
-#: editor.cc:173 editor.cc:3463 editor_actions.cc:487
+#: editor.cc:180 editor_actions.cc:522
msgid "Magnetic"
msgstr "Magnetisk"
-#: editor.cc:178 editor.cc:188 editor.cc:3502 editor.cc:3527
-#: editor_actions.cc:117 editor_actions.cc:468
+#: editor.cc:185 editor.cc:203 editor_actions.cc:121 editor_actions.cc:503
msgid "Playhead"
msgstr "Startmarkören"
-#: editor.cc:179 editor.cc:3500 editor_actions.cc:470
+#: editor.cc:186 editor_actions.cc:505
msgid "Marker"
msgstr "Markör"
-#: editor.cc:180 editor.cc:189 editor.cc:3529 editor_actions.cc:469
+#: editor.cc:187 editor.cc:204 editor_actions.cc:504
msgid "Mouse"
msgstr "Mus"
-#: editor.cc:185 editor.cc:3521 mono_panner_editor.cc:42
+#: editor.cc:192 editor_actions.cc:512
+msgid "Slide"
+msgstr "Glid"
+
+#: editor.cc:193
+msgid "Splice"
+msgstr "Skarv"
+
+#: editor.cc:194 editor_actions.cc:511
+msgid "Ripple"
+msgstr ""
+
+#: editor.cc:195 editor_actions.cc:157 editor_actions.cc:513
+#: editor_actions.cc:1785 editor_markers.cc:874 editor_rulers.cc:260
+#: location_ui.cc:57 mixer_strip.cc:202 mixer_strip.cc:1983
+msgid "Lock"
+msgstr "LÃ¥s"
+
+#: editor.cc:200 mono_panner_editor.cc:42
msgid "Left"
msgstr "Vänster"
-#: editor.cc:186 editor.cc:3523 mono_panner_editor.cc:47
+#: editor.cc:201 mono_panner_editor.cc:47
msgid "Right"
msgstr "Höger"
-#: editor.cc:187 editor.cc:3525
+#: editor.cc:202
msgid "Center"
msgstr "Mitten"
-#: editor.cc:190 editor.cc:3094 editor.cc:3531
+#: editor.cc:205 editor.cc:3145
msgid "Edit point"
msgstr "redigeringspunkten"
-#: editor.cc:196
+#: editor.cc:211
msgid "Mushy"
msgstr "Mossig"
-#: editor.cc:197
+#: editor.cc:212
msgid "Smooth"
msgstr "Mjuk"
-#: editor.cc:198
+#: editor.cc:213
msgid "Balanced multitimbral mixture"
msgstr "Balanserad flerröstig mix"
-#: editor.cc:199
+#: editor.cc:214
msgid "Unpitched percussion with stable notes"
msgstr "Ej tonhöjdsändrat slagverk med stabila noter"
-#: editor.cc:200
+#: editor.cc:215
msgid "Crisp monophonic instrumental"
msgstr "Skarpt monofoniskt"
-#: editor.cc:201
+#: editor.cc:216
msgid "Unpitched solo percussion"
msgstr "EJ tonhöjdsändrat soloslagverk"
-#: editor.cc:202
+#: editor.cc:217
msgid "Resample without preserving pitch"
msgstr ""
-#: editor.cc:235
+#: editor.cc:252
msgid "Mins:Secs"
msgstr "Min:Sek"
-#: editor.cc:241
+#: editor.cc:258
msgid "Location Markers"
msgstr "Platsmarkörer"
-#: editor.cc:242
+#: editor.cc:259
msgid "Range Markers"
msgstr "Omfångsmarkörer"
-#: editor.cc:243
+#: editor.cc:260
msgid "Loop/Punch Ranges"
msgstr "Loop-/inslagsmarkörer"
-#: editor.cc:244 editor_actions.cc:540
+#: editor.cc:261 editor_actions.cc:575
msgid "CD Markers"
msgstr "CD-markörer"
-#: editor.cc:245
+#: editor.cc:262
msgid "Video Timeline"
msgstr ""
-#: editor.cc:260
+#: editor.cc:279
msgid "mode"
msgstr "läge"
-#: editor.cc:541
+#: editor.cc:447 editor_actions.cc:114 editor_actions.cc:574
+msgid "Markers"
+msgstr "Markörer"
+
+#: editor.cc:554 rc_option_editor.cc:1830
msgid "Regions"
msgstr "Regioner"
-#: editor.cc:542
+#: editor.cc:555
msgid "Tracks & Busses"
msgstr "Spår & bussar"
-#: editor.cc:543
+#: editor.cc:556
msgid "Snapshots"
msgstr "Ögonblickskopior"
-#: editor.cc:544
+#: editor.cc:557
msgid "Track & Bus Groups"
msgstr ""
-#: editor.cc:545
+#: editor.cc:558
msgid "Ranges & Marks"
msgstr "Omfång & markörer"
-#: editor.cc:690 editor.cc:5349 rc_option_editor.cc:1292
-#: rc_option_editor.cc:1300 rc_option_editor.cc:1308 rc_option_editor.cc:1316
-#: rc_option_editor.cc:1333 rc_option_editor.cc:1335 rc_option_editor.cc:1343
-#: rc_option_editor.cc:1351 rc_option_editor.cc:1371 rc_option_editor.cc:1383
-#: rc_option_editor.cc:1385 rc_option_editor.cc:1393 rc_option_editor.cc:1401
-#: rc_option_editor.cc:1409 rc_option_editor.cc:1417 rc_option_editor.cc:1432
-#: rc_option_editor.cc:1436
+#: editor.cc:706 editor.cc:5445 rc_option_editor.cc:1543
+#: rc_option_editor.cc:1551 rc_option_editor.cc:1559 rc_option_editor.cc:1567
+#: rc_option_editor.cc:1591 rc_option_editor.cc:1603 rc_option_editor.cc:1605
+#: rc_option_editor.cc:1613 rc_option_editor.cc:1621 rc_option_editor.cc:1641
+#: rc_option_editor.cc:1653 rc_option_editor.cc:1655 rc_option_editor.cc:1657
+#: rc_option_editor.cc:1665 rc_option_editor.cc:1673 rc_option_editor.cc:1681
+#: rc_option_editor.cc:1696 rc_option_editor.cc:1700
msgid "Editor"
msgstr "Redigerare"
-#: editor.cc:1215 editor.cc:1225 editor.cc:4444 editor_actions.cc:130
-#: editor_actions.cc:1813
+#: editor.cc:1288 editor.cc:4503 editor_actions.cc:134 editor_actions.cc:1861
msgid "Loop"
msgstr "Loop"
-#: editor.cc:1231 editor.cc:1241 editor.cc:4471 editor_actions.cc:131
-#: time_info_box.cc:67
+#: editor.cc:1294 editor.cc:4530 editor_actions.cc:135 time_info_box.cc:68
msgid "Punch"
msgstr "Inslag"
-#: editor.cc:1353
+#: editor.cc:1406 rc_option_editor.cc:1585
msgid "Linear (for highly correlated material)"
msgstr ""
-#: editor.cc:1363 editor.cc:1500 editor.cc:1562
+#: editor.cc:1416 rc_option_editor.cc:1586
msgid "Constant power"
msgstr ""
-#: editor.cc:1372 editor.cc:1493 editor.cc:1555
+#: editor.cc:1425 rc_option_editor.cc:1587
msgid "Symmetric"
msgstr ""
-#: editor.cc:1382 editor.cc:1475 editor.cc:1537
+#: editor.cc:1435 rc_option_editor.cc:1588
msgid "Slow"
msgstr "LÃ¥ngsam"
-#: editor.cc:1391 editor.cc:1484 editor.cc:1546 sfdb_ui.cc:1627
-#: sfdb_ui.cc:1736
+#: editor.cc:1444 rc_option_editor.cc:1589 sfdb_ui.cc:1752 sfdb_ui.cc:1862
msgid "Fast"
msgstr "Snabb"
-#: editor.cc:1438
-msgid "programming error: fade in canvas item has no regionview data pointer!"
-msgstr ""
-
-#: editor.cc:1449 editor.cc:1513
+#: editor.cc:1464 editor.cc:1487
msgid "Deactivate"
msgstr "Avaktivera"
-#: editor.cc:1451 editor.cc:1515
+#: editor.cc:1466 editor.cc:1489
msgid "Activate"
msgstr "Aktivera"
-#: editor.cc:1459 editor.cc:1522
-msgid "Slowest"
-msgstr "LÃ¥ngsammast"
-
-#: editor.cc:1573 route_time_axis.cc:1877 selection.cc:1009 selection.cc:1064
-msgid "programming error: "
-msgstr "programmeringsfel: "
-
-#: editor.cc:1674 editor.cc:1682 editor_ops.cc:3522
+#: editor.cc:1590 editor.cc:1598 editor_ops.cc:3635
msgid "Freeze"
msgstr "Frys"
-#: editor.cc:1678
+#: editor.cc:1594
msgid "Unfreeze"
msgstr "Ofrys"
-#: editor.cc:1817
+#: editor.cc:1733
msgid "Selected Regions"
msgstr "Markerade regioner"
-#: editor.cc:1853 editor_markers.cc:895
+#: editor.cc:1769 editor_markers.cc:909
msgid "Play Range"
msgstr "Spela omfång"
-#: editor.cc:1854 editor_markers.cc:898
+#: editor.cc:1770 editor_markers.cc:912
msgid "Loop Range"
msgstr "Loopa omfång"
-#: editor.cc:1863 editor_actions.cc:332
+#: editor.cc:1773 editor_actions.cc:266 editor_markers.cc:919
+msgid "Zoom to Range"
+msgstr ""
+
+#: editor.cc:1782 editor_actions.cc:366
msgid "Move Range Start to Previous Region Boundary"
msgstr ""
-#: editor.cc:1870 editor_actions.cc:339
+#: editor.cc:1789 editor_actions.cc:373
msgid "Move Range Start to Next Region Boundary"
msgstr ""
-#: editor.cc:1877 editor_actions.cc:346
+#: editor.cc:1796 editor_actions.cc:380
msgid "Move Range End to Previous Region Boundary"
msgstr ""
-#: editor.cc:1884 editor_actions.cc:353
+#: editor.cc:1803 editor_actions.cc:387
msgid "Move Range End to Next Region Boundary"
msgstr ""
-#: editor.cc:1890
+#: editor.cc:1809
msgid "Convert to Region In-Place"
msgstr ""
-#: editor.cc:1891
+#: editor.cc:1810
msgid "Convert to Region in Region List"
msgstr ""
-#: editor.cc:1894 editor_markers.cc:925
+#: editor.cc:1813 editor_markers.cc:939
msgid "Select All in Range"
msgstr "Markera allt i omfånget"
-#: editor.cc:1897
+#: editor.cc:1816
msgid "Set Loop from Range"
msgstr ""
-#: editor.cc:1898
+#: editor.cc:1817
msgid "Set Punch from Range"
msgstr ""
-#: editor.cc:1901
+#: editor.cc:1820
msgid "Add Range Markers"
msgstr "Lägg till omfångsmarkörer"
-#: editor.cc:1904
+#: editor.cc:1823
msgid "Crop Region to Range"
msgstr ""
-#: editor.cc:1905
+#: editor.cc:1824
msgid "Fill Range with Region"
msgstr ""
-#: editor.cc:1906 editor_actions.cc:289
+#: editor.cc:1825 editor_actions.cc:311
msgid "Duplicate Range"
msgstr "Duplicera omfång"
-#: editor.cc:1909
+#: editor.cc:1828
msgid "Consolidate Range"
msgstr ""
-#: editor.cc:1910
+#: editor.cc:1829
msgid "Consolidate Range With Processing"
msgstr ""
-#: editor.cc:1911
+#: editor.cc:1830
msgid "Bounce Range to Region List"
msgstr ""
-#: editor.cc:1912
+#: editor.cc:1831
msgid "Bounce Range to Region List With Processing"
msgstr ""
-#: editor.cc:1913 editor_markers.cc:908
+#: editor.cc:1832 editor_markers.cc:922
msgid "Export Range..."
msgstr ""
-#: editor.cc:1915
+#: editor.cc:1834
msgid "Export Video Range..."
msgstr ""
-#: editor.cc:1931 editor.cc:2012 editor_actions.cc:281
+#: editor.cc:1850 editor.cc:1931 editor_actions.cc:303
msgid "Play From Edit Point"
msgstr "Spela från redigeringspunkten"
-#: editor.cc:1932 editor.cc:2013
+#: editor.cc:1851 editor.cc:1932
msgid "Play From Start"
msgstr "Spela från starten"
-#: editor.cc:1933
+#: editor.cc:1852
msgid "Play Region"
msgstr "Spela region"
-#: editor.cc:1935
+#: editor.cc:1854
msgid "Loop Region"
msgstr "Loopa region"
-#: editor.cc:1945 editor.cc:2022
+#: editor.cc:1864 editor.cc:1941
msgid "Select All in Track"
msgstr "Välj allt i spåret"
-#: editor.cc:1946 editor.cc:2023 editor_actions.cc:185
-#: export_timespan_selector.cc:53 processor_box.cc:2276
-msgid "Select All"
-msgstr "Markera allt"
+#: editor.cc:1865 editor.cc:1942 editor_actions.cc:194
+msgid "Select All Objects"
+msgstr ""
-#: editor.cc:1947 editor.cc:2024
+#: editor.cc:1866 editor.cc:1943
msgid "Invert Selection in Track"
msgstr "Invertera markeringen i spåret"
-#: editor.cc:1948 editor.cc:2025 editor_actions.cc:187
+#: editor.cc:1867 editor.cc:1944 editor_actions.cc:197
msgid "Invert Selection"
msgstr "Invertera"
-#: editor.cc:1950
+#: editor.cc:1869
msgid "Set Range to Loop Range"
msgstr "Ställ in omfång till loop-omfånget"
-#: editor.cc:1951
+#: editor.cc:1870
msgid "Set Range to Punch Range"
msgstr "Ställ in omfång till inslagsomfånget"
-#: editor.cc:1953 editor.cc:2027 editor_actions.cc:188
+#: editor.cc:1872 editor.cc:1946 editor_actions.cc:199 editor_actions.cc:200
msgid "Select All After Edit Point"
msgstr "Markera allt efter redigeringspunkten"
-#: editor.cc:1954 editor.cc:2028 editor_actions.cc:189
+#: editor.cc:1873 editor.cc:1947 editor_actions.cc:201 editor_actions.cc:202
msgid "Select All Before Edit Point"
msgstr "Markera allt före redigeringspunkten"
-#: editor.cc:1955 editor.cc:2029
+#: editor.cc:1874 editor.cc:1948
msgid "Select All After Playhead"
msgstr "Markera allt efter startmarkören"
-#: editor.cc:1956 editor.cc:2030
+#: editor.cc:1875 editor.cc:1949
msgid "Select All Before Playhead"
msgstr "Markera allt innan startmarkören"
-#: editor.cc:1957
+#: editor.cc:1876
msgid "Select All Between Playhead and Edit Point"
msgstr "Markera allt mellan startmarkören och redigeringspunkten"
-#: editor.cc:1958
+#: editor.cc:1877
msgid "Select All Within Playhead and Edit Point"
msgstr "Markera allt inom startmarkör och redigeringspunkten"
-#: editor.cc:1959
+#: editor.cc:1878
msgid "Select Range Between Playhead and Edit Point"
msgstr "Markera omfång mellan startmarkören och redigeringspunkten"
-#: editor.cc:1961 editor.cc:2032 editor_actions.cc:127 editor_actions.cc:128
+#: editor.cc:1880 editor.cc:1951 editor_actions.cc:131 editor_actions.cc:132
msgid "Select"
msgstr "Markera"
-#: editor.cc:1969 editor.cc:2040 editor_actions.cc:309 processor_box.cc:2261
+#: editor.cc:1888 editor.cc:1959 editor_actions.cc:334 processor_box.cc:2495
msgid "Cut"
msgstr "Klipp ut"
-#: editor.cc:1970 editor.cc:2041 editor_actions.cc:312 processor_box.cc:2264
+#: editor.cc:1889 editor.cc:1960 editor_actions.cc:338 processor_box.cc:2498
msgid "Copy"
msgstr "Kopiera"
-#: editor.cc:1971 editor.cc:2042 editor_actions.cc:313 processor_box.cc:2272
+#: editor.cc:1890 editor.cc:1961 editor_actions.cc:339 processor_box.cc:2506
msgid "Paste"
msgstr "Klistra in"
-#: editor.cc:1975 editor_actions.cc:87
+#: editor.cc:1894 editor_actions.cc:91
msgid "Align"
msgstr "Justera"
-#: editor.cc:1976
+#: editor.cc:1895
msgid "Align Relative"
msgstr "Justera relativt"
-#: editor.cc:1983
+#: editor.cc:1902
msgid "Insert Selected Region"
msgstr "Infoga vald region"
-#: editor.cc:1984
+#: editor.cc:1903
msgid "Insert Existing Media"
msgstr "Infoga existerande media"
-#: editor.cc:1993 editor.cc:2049
+#: editor.cc:1912 editor.cc:1968
msgid "Nudge Entire Track Later"
msgstr ""
-#: editor.cc:1994 editor.cc:2050
+#: editor.cc:1913 editor.cc:1969
msgid "Nudge Track After Edit Point Later"
msgstr ""
-#: editor.cc:1995 editor.cc:2051
+#: editor.cc:1914 editor.cc:1970
msgid "Nudge Entire Track Earlier"
msgstr ""
-#: editor.cc:1996 editor.cc:2052
+#: editor.cc:1915 editor.cc:1971
msgid "Nudge Track After Edit Point Earlier"
msgstr ""
-#: editor.cc:1998 editor.cc:2054
+#: editor.cc:1917 editor.cc:1973
msgid "Nudge"
msgstr "Knuffa"
-#: editor.cc:3074
+#: editor.cc:2916 editor.cc:3491 editor.cc:3561 midi_channel_selector.cc:159
+#: midi_channel_selector.cc:397 midi_channel_selector.cc:433
+msgid "All"
+msgstr "Alla"
+
+#: editor.cc:3122
msgid "Smart Mode (add Range functions to Object mode)"
msgstr ""
-#: editor.cc:3075
+#: editor.cc:3123
msgid "Object Mode (select/move Objects)"
msgstr ""
-#: editor.cc:3076
+#: editor.cc:3124
+msgid "Cut Mode (split Regions)"
+msgstr ""
+
+#: editor.cc:3125
msgid "Range Mode (select/move Ranges)"
msgstr ""
-#: editor.cc:3077
+#: editor.cc:3126
msgid "Draw/Edit MIDI Notes"
msgstr "Rita/redigera MIDI-noter"
-#: editor.cc:3078
+#: editor.cc:3127
msgid "Draw Region Gain"
msgstr "Rita regionvolym"
-#: editor.cc:3079
+#: editor.cc:3128
msgid "Select Zoom Range"
msgstr "Markera zoom-omfång"
-#: editor.cc:3080
+#: editor.cc:3129
msgid "Stretch/Shrink Regions and MIDI Notes"
msgstr "Förläng/förkorta regioner och MIDI-noter"
-#: editor.cc:3081
+#: editor.cc:3130
msgid "Listen to Specific Regions"
msgstr "Lyssna på specifika regioner"
-#: editor.cc:3082
+#: editor.cc:3131
msgid "Note Level Editing"
msgstr ""
-#: editor.cc:3083
+#: editor.cc:3132
msgid ""
"Groups: click to (de)activate\n"
"Context-click for other operations"
msgstr ""
-#: editor.cc:3084
+#: editor.cc:3133
msgid "Nudge Region/Selection Later"
msgstr ""
-#: editor.cc:3085
+#: editor.cc:3134
msgid "Nudge Region/Selection Earlier"
msgstr ""
-#: editor.cc:3086 editor_actions.cc:242
+#: editor.cc:3135 editor_actions.cc:262
msgid "Zoom In"
msgstr "Zooma in"
-#: editor.cc:3087 editor_actions.cc:241
+#: editor.cc:3136 editor_actions.cc:261
msgid "Zoom Out"
msgstr "Zooma ut"
-#: editor.cc:3088 editor_actions.cc:243
+#: editor.cc:3137
+msgid "Zoom to Time Scale"
+msgstr ""
+
+#: editor.cc:3138 editor.cc:3513 editor_actions.cc:263
msgid "Zoom to Session"
msgstr "Zooma in/ut till hela sessionen"
-#: editor.cc:3089
+#: editor.cc:3139
msgid "Zoom focus"
msgstr "Zoom-fokus"
-#: editor.cc:3090
+#: editor.cc:3140
msgid "Expand Tracks"
msgstr "Expandera spår"
-#: editor.cc:3091
+#: editor.cc:3141
msgid "Shrink Tracks"
msgstr "Krymp spår"
-#: editor.cc:3092
+#: editor.cc:3142
+msgid "Number of visible tracks"
+msgstr ""
+
+#: editor.cc:3143
msgid "Snap/Grid Units"
msgstr "Fästläge/rutnätsenheter"
-#: editor.cc:3093
+#: editor.cc:3144
msgid "Snap/Grid Mode"
msgstr "Fästläge/rutnätsläge"
-#: editor.cc:3095
+#: editor.cc:3146
msgid "Edit Mode"
msgstr "Redigeringsläge"
-#: editor.cc:3096
+#: editor.cc:3147
msgid ""
"Nudge Clock\n"
"(controls distance used to nudge regions and selections)"
msgstr ""
-#: editor.cc:3198
-msgid "malformed URL passed to drag-n-drop code"
-msgstr ""
-
-#: editor.cc:3260 editor_actions.cc:291
+#: editor.cc:3285 editor_actions.cc:313
msgid "Command|Undo"
msgstr ""
-#: editor.cc:3262
+#: editor.cc:3287
msgid "Command|Undo (%1)"
msgstr ""
-#: editor.cc:3269 editor_actions.cc:292
+#: editor.cc:3294 editor_actions.cc:315 editor_actions.cc:316
+#: editor_actions.cc:317
msgid "Redo"
msgstr "Gör om"
-#: editor.cc:3271
+#: editor.cc:3296
msgid "Redo (%1)"
msgstr "Gör om (%1)"
-#: editor.cc:3290 editor.cc:3314 editor_actions.cc:106 editor_actions.cc:1794
+#: editor.cc:3315 editor.cc:3339 editor_actions.cc:110 editor_actions.cc:1842
msgid "Duplicate"
msgstr "Duplicera"
-#: editor.cc:3291
+#: editor.cc:3316
msgid "Number of duplications:"
msgstr ""
-#: editor.cc:3868
+#: editor.cc:3490
+msgid "Selected"
+msgstr ""
+
+#: editor.cc:3493
+msgid "Fit 1 track"
+msgstr ""
+
+#: editor.cc:3494
+msgid "Fit 2 tracks"
+msgstr ""
+
+#: editor.cc:3495
+msgid "Fit 4 tracks"
+msgstr ""
+
+#: editor.cc:3496
+msgid "Fit 8 tracks"
+msgstr ""
+
+#: editor.cc:3497
+msgid "Fit 16 tracks"
+msgstr ""
+
+#: editor.cc:3498
+msgid "Fit 24 tracks"
+msgstr ""
+
+#: editor.cc:3499
+msgid "Fit 32 tracks"
+msgstr ""
+
+#: editor.cc:3500
+msgid "Fit 48 tracks"
+msgstr ""
+
+#: editor.cc:3501
+msgid "Fit All tracks"
+msgstr ""
+
+#: editor.cc:3502
+msgid "Fit Selected tracks"
+msgstr ""
+
+#: editor.cc:3504
+msgid "Zoom to 10 ms"
+msgstr ""
+
+#: editor.cc:3505
+msgid "Zoom to 100 ms"
+msgstr ""
+
+#: editor.cc:3506
+msgid "Zoom to 1 sec"
+msgstr ""
+
+#: editor.cc:3507
+msgid "Zoom to 10 sec"
+msgstr ""
+
+#: editor.cc:3508
+msgid "Zoom to 1 min"
+msgstr ""
+
+#: editor.cc:3509
+msgid "Zoom to 10 min"
+msgstr ""
+
+#: editor.cc:3510
+msgid "Zoom to 1 hour"
+msgstr ""
+
+#: editor.cc:3511
+msgid "Zoom to 8 hours"
+msgstr ""
+
+#: editor.cc:3512
+msgid "Zoom to 24 hours"
+msgstr ""
+
+#: editor.cc:3514
+msgid "Zoom to Range/Region Selection"
+msgstr ""
+
+#: editor.cc:3583
+msgid "*"
+msgstr ""
+
+#: editor.cc:3918
msgid "Playlist Deletion"
msgstr ""
-#: editor.cc:3869
+#: editor.cc:3919
msgid ""
"Playlist %1 is currently unused.\n"
"If it is kept, its audio files will not be cleaned.\n"
"If it is deleted, audio files used by it alone will be cleaned."
msgstr ""
-#: editor.cc:3879
+#: editor.cc:3929
msgid "Delete Playlist"
msgstr ""
-#: editor.cc:3880
+#: editor.cc:3930
msgid "Keep Playlist"
msgstr ""
-#: editor.cc:3881 editor_audio_import.cc:581 editor_ops.cc:5856
-#: engine_dialog.cc:1711 sfdb_freesound_mootcher.cc:69 processor_box.cc:2030
-#: processor_box.cc:2055
+#: editor.cc:3931 editor_audio_import.cc:579 editor_ops.cc:5931
+#: engine_dialog.cc:1985 sfdb_freesound_mootcher.cc:69 processor_box.cc:2263
+#: processor_box.cc:2288
msgid "Cancel"
msgstr "Avbryt"
-#: editor.cc:4025
+#: editor.cc:4065
msgid "new playlists"
msgstr "nya spellistor"
-#: editor.cc:4041
+#: editor.cc:4081
msgid "copy playlists"
msgstr "kopiera spellistor"
-#: editor.cc:4056
+#: editor.cc:4096
msgid "clear playlists"
msgstr "rensa spellistor"
-#: editor.cc:4691
+#: editor.cc:4771
msgid "Please wait while %1 loads visual data."
msgstr ""
-#: editor.cc:5496 editor_markers.cc:940 panner_ui.cc:392 processor_box.cc:2292
+#: editor.cc:5592 editor_markers.cc:954 panner_ui.cc:409 processor_box.cc:2526
msgid "Edit..."
msgstr "Redigera..."
-#: editor_actions.cc:88
+#: editor_actions.cc:92
msgid "Autoconnect"
msgstr "Automatisk anslutning"
-#: editor_actions.cc:89
+#: editor_actions.cc:93
msgid "Crossfades"
msgstr "Övertoningar"
# msgid "Delete"
# msgstr "Radera"
-#: editor_actions.cc:91
+#: editor_actions.cc:95
msgid "Move Selected Marker"
msgstr "Flytta vald platsmarkör"
-#: editor_actions.cc:92
+#: editor_actions.cc:96
msgid "Select Range Operations"
msgstr ""
-#: editor_actions.cc:93
+#: editor_actions.cc:97
msgid "Select Regions"
msgstr ""
-#: editor_actions.cc:94
+#: editor_actions.cc:98
msgid "Edit Point"
msgstr "Redigeringspunkten"
-#: editor_actions.cc:95
+#: editor_actions.cc:99
msgid "Fade"
msgstr "Tona"
-#: editor_actions.cc:96
+#: editor_actions.cc:100
msgid "Latch"
msgstr ""
-#: editor_actions.cc:97 editor_regions.cc:111 region_editor.cc:46
+#: editor_actions.cc:101 editor_regions.cc:112 region_editor.cc:45
msgid "Region"
msgstr ""
-#: editor_actions.cc:98
+#: editor_actions.cc:102
msgid "Layering"
msgstr "Lager"
-#: editor_actions.cc:99 editor_regions.cc:112 gtk-custom-ruler.c:152
-#: stereo_panner_editor.cc:44
+#: editor_actions.cc:103 editor_regions.cc:113 stereo_panner_editor.cc:44
msgid "Position"
msgstr ""
-#: editor_actions.cc:101 gain_meter.cc:120 gain_meter.cc:794 panner_ui.cc:176
-#: panner_ui.cc:585
+#: editor_actions.cc:105 gain_meter.cc:122 gain_meter.cc:800 panner_ui.cc:177
+#: panner_ui.cc:634
msgid "Trim"
msgstr "Beskär"
-#: editor_actions.cc:102 editor_actions.cc:122 route_group_dialog.cc:40
+#: editor_actions.cc:106 editor_actions.cc:126 route_group_dialog.cc:46
msgid "Gain"
msgstr "Volym"
-#: editor_actions.cc:103 editor_actions.cc:538
+#: editor_actions.cc:107 editor_actions.cc:573
msgid "Ranges"
msgstr "Omfång"
-#: editor_actions.cc:104 editor_actions.cc:1790 session_option_editor.cc:145
-#: session_option_editor.cc:147 session_option_editor.cc:156
-#: session_option_editor.cc:163
+#: editor_actions.cc:108 editor_actions.cc:1838 session_option_editor.cc:135
+#: session_option_editor.cc:144 session_option_editor.cc:151
msgid "Fades"
msgstr "Övertoningar"
-#: editor_actions.cc:107
+#: editor_actions.cc:111
msgid "Link"
msgstr ""
-#: editor_actions.cc:108 editor_actions.cc:141
+#: editor_actions.cc:112 editor_actions.cc:145
msgid "Zoom Focus"
msgstr "Zoomfokus"
-#: editor_actions.cc:109
+#: editor_actions.cc:113
msgid "Locate to Markers"
msgstr ""
-#: editor_actions.cc:110 editor_actions.cc:539
-msgid "Markers"
-msgstr "Markörer"
-
-#: editor_actions.cc:111
+#: editor_actions.cc:115
msgid "Meter falloff"
msgstr "Nivåmätarnedfall"
-#: editor_actions.cc:112
+#: editor_actions.cc:116
msgid "Meter hold"
msgstr "Nivåmätartopphållning"
-#: editor_actions.cc:113 session_option_editor.cc:234
+#: editor_actions.cc:117 session_option_editor.cc:321
msgid "MIDI Options"
msgstr ""
-#: editor_actions.cc:114
+#: editor_actions.cc:118
msgid "Misc Options"
msgstr "Diverse inställningar"
-#: editor_actions.cc:115 rc_option_editor.cc:1450 route_group_dialog.cc:48
-#: session_option_editor.cc:218 session_option_editor.cc:225
+#: editor_actions.cc:119 rc_option_editor.cc:1714 route_group_dialog.cc:54
+#: session_option_editor.cc:243 session_option_editor.cc:250
msgid "Monitoring"
msgstr "Medhörning"
-#: editor_actions.cc:116
+#: editor_actions.cc:120
msgid "Active Mark"
msgstr "Aktiv markör"
-#: editor_actions.cc:119
+#: editor_actions.cc:123
msgid "Primary Clock"
msgstr "Primär klocka"
-#: editor_actions.cc:120
+#: editor_actions.cc:124
msgid "Pullup / Pulldown"
msgstr "Uppåtdrag / Nedåtdrag"
-#: editor_actions.cc:121
+#: editor_actions.cc:125
msgid "Region operations"
msgstr "Regionsåtgärder"
-#: editor_actions.cc:123
+#: editor_actions.cc:127 ruler_dialog.cc:28
msgid "Rulers"
msgstr "Tidslinjevisning"
-#: editor_actions.cc:124
+#: editor_actions.cc:128
msgid "Views"
msgstr "Visningslägen"
-#: editor_actions.cc:125
+#: editor_actions.cc:129
msgid "Scroll"
msgstr "Skrollning"
-#: editor_actions.cc:126
+#: editor_actions.cc:130
msgid "Secondary Clock"
msgstr "Sekundär klocka"
# msgid "Locate to Mark"
# msgstr "Flytta startmarkören till platsmarkör"
-#: editor_actions.cc:129 editor_actions.cc:297
+#: editor_actions.cc:133 editor_actions.cc:322
msgid "Separate"
msgstr "Separera"
-#: editor_actions.cc:132 mixer_strip.cc:1914 route_time_axis.cc:208
-#: route_time_axis.cc:2417
-msgid "Solo"
-msgstr ""
-
-#: editor_actions.cc:133
+#: editor_actions.cc:137
msgid "Subframes"
msgstr "Underrutor"
-#: editor_actions.cc:136
+#: editor_actions.cc:140
msgid "Timecode fps"
msgstr "Tidskod-FPS"
-#: editor_actions.cc:137 route_time_axis.cc:430
+#: editor_actions.cc:141 route_time_axis.cc:548
msgid "Height"
msgstr "Höjd"
-#: editor_actions.cc:139
+#: editor_actions.cc:143
msgid "Tools"
msgstr "Verktyg"
-#: editor_actions.cc:140
+#: editor_actions.cc:144
msgid "View"
msgstr "Visa"
-#: editor_actions.cc:142
+#: editor_actions.cc:146
msgid "Zoom"
msgstr ""
-#: editor_actions.cc:148
+#: editor_actions.cc:152
msgid "Break drag or deselect all"
msgstr "Avbryt dragmanöver eller välj ingenting"
-#: editor_actions.cc:150
+#: editor_actions.cc:159
msgid "Show Editor Mixer"
msgstr "Visa redigeringsmixer"
-#: editor_actions.cc:151
+#: editor_actions.cc:160
msgid "Show Editor List"
msgstr "Visa redigeringspanel"
-#: editor_actions.cc:153
+#: editor_actions.cc:162
msgid "Playhead to Next Region Boundary"
msgstr "Startmarkören till nästa regiongränsen"
-#: editor_actions.cc:154
+#: editor_actions.cc:163
msgid "Playhead to Next Region Boundary (No Track Selection)"
msgstr "Startmarkören till nästa regiongräns (ingen spårmarkering)"
-#: editor_actions.cc:155
+#: editor_actions.cc:164
msgid "Playhead to Previous Region Boundary"
msgstr "Startmarkören till föregående regiongränsen"
-#: editor_actions.cc:156
+#: editor_actions.cc:165
msgid "Playhead to Previous Region Boundary (No Track Selection)"
msgstr "Startmarkören till tidigare regiongränsen (inget spårval)"
-#: editor_actions.cc:158
+#: editor_actions.cc:167
msgid "Playhead to Next Region Start"
msgstr "Startmarkören till nästa regionstart"
-#: editor_actions.cc:159
+#: editor_actions.cc:168
msgid "Playhead to Next Region End"
msgstr "Startmarkören till nästa regionslut"
-#: editor_actions.cc:160
+#: editor_actions.cc:169
msgid "Playhead to Next Region Sync"
msgstr "Startmarkören till nästa regionsynk.-punkten"
-#: editor_actions.cc:162
+#: editor_actions.cc:171
msgid "Playhead to Previous Region Start"
msgstr "Startmarkören till föregående regionstarten"
-#: editor_actions.cc:163
+#: editor_actions.cc:172
msgid "Playhead to Previous Region End"
msgstr "Startmarkören till föregående regionslutet"
-#: editor_actions.cc:164
+#: editor_actions.cc:173
msgid "Playhead to Previous Region Sync"
msgstr "Startmarkören till föregående regionsynk.-punkten"
-#: editor_actions.cc:166
+#: editor_actions.cc:175
msgid "To Next Region Boundary"
msgstr "Till nästa regiongränsen"
-#: editor_actions.cc:167
+#: editor_actions.cc:176
msgid "To Next Region Boundary (No Track Selection)"
msgstr "Till nästa regiongräns (inget spårval)"
-#: editor_actions.cc:168
+#: editor_actions.cc:177
msgid "To Previous Region Boundary"
msgstr "Till förra regiongränsen"
-#: editor_actions.cc:169
+#: editor_actions.cc:178
msgid "To Previous Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:171
+#: editor_actions.cc:180
msgid "To Next Region Start"
msgstr ""
-#: editor_actions.cc:172
+#: editor_actions.cc:181
msgid "To Next Region End"
msgstr ""
-#: editor_actions.cc:173
+#: editor_actions.cc:182
msgid "To Next Region Sync"
msgstr "Till nästa regionsynk."
-#: editor_actions.cc:175
+#: editor_actions.cc:184
msgid "To Previous Region Start"
msgstr "Till förra regionstart"
-#: editor_actions.cc:176
+#: editor_actions.cc:185
msgid "To Previous Region End"
msgstr ""
-#: editor_actions.cc:177
+#: editor_actions.cc:186
msgid "To Previous Region Sync"
msgstr ""
-#: editor_actions.cc:179
+#: editor_actions.cc:188
msgid "To Range Start"
msgstr ""
-#: editor_actions.cc:180
+#: editor_actions.cc:189
msgid "To Range End"
msgstr ""
-#: editor_actions.cc:182
+#: editor_actions.cc:191
msgid "Playhead to Range Start"
msgstr "Startmarkören till omfångstarten"
-#: editor_actions.cc:183
+#: editor_actions.cc:192
msgid "Playhead to Range End"
msgstr "Startmarkören till omfångslutet"
-#: editor_actions.cc:186 export_timespan_selector.cc:61 processor_box.cc:2278
+#: editor_actions.cc:195
+msgid "Select All Tracks"
+msgstr ""
+
+#: editor_actions.cc:196 export_timespan_selector.cc:61 processor_box.cc:2512
msgid "Deselect All"
msgstr "Avmarkera allt"
-#: editor_actions.cc:191
+#: editor_actions.cc:204
msgid "Select All Overlapping Edit Range"
msgstr "Välj allt som överlappar redigeringsomfånget"
-#: editor_actions.cc:192
+#: editor_actions.cc:205
msgid "Select All Inside Edit Range"
msgstr "Välj allt inom redigeringsomfånget"
-#: editor_actions.cc:194
+#: editor_actions.cc:207
msgid "Select Edit Range"
msgstr "Välj redigeringsomfång"
-#: editor_actions.cc:196
+#: editor_actions.cc:209
msgid "Select All in Punch Range"
msgstr "Markera allt i inslagsomfånget"
-#: editor_actions.cc:197
+#: editor_actions.cc:210
msgid "Select All in Loop Range"
msgstr "Markera allt i loop-omfånget"
-#: editor_actions.cc:199
+#: editor_actions.cc:212
msgid "Select Next Track or Bus"
msgstr "Välj nästa spår eller buss"
-#: editor_actions.cc:200
+#: editor_actions.cc:213
msgid "Select Previous Track or Bus"
msgstr "Välj föregående spår eller buss"
-#: editor_actions.cc:202
+#: editor_actions.cc:215
msgid "Toggle Record Enable"
msgstr "Växla tillåt inspelning"
-#: editor_actions.cc:204
+#: editor_actions.cc:217
msgid "Toggle Solo"
msgstr ""
-#: editor_actions.cc:206
+#: editor_actions.cc:219
msgid "Toggle Mute"
msgstr ""
-#: editor_actions.cc:208
+#: editor_actions.cc:221
msgid "Toggle Solo Isolate"
msgstr ""
-#: editor_actions.cc:213
+#: editor_actions.cc:226
msgid "Save View %1"
msgstr "Spara vy %1"
-#: editor_actions.cc:219
+#: editor_actions.cc:232
msgid "Goto View %1"
msgstr "GÃ¥ till vy %1"
-#: editor_actions.cc:225
+#: editor_actions.cc:238
msgid "Locate to Mark %1"
msgstr "Hoppa till markör %1"
-#: editor_actions.cc:229
+#: editor_actions.cc:242 editor_actions.cc:243
msgid "Jump to Next Mark"
msgstr ""
-#: editor_actions.cc:230
+#: editor_actions.cc:244 editor_actions.cc:245
msgid "Jump to Previous Mark"
msgstr ""
-#: editor_actions.cc:231
+#: editor_actions.cc:247 editor_actions.cc:248
msgid "Add Mark from Playhead"
msgstr "Lägg till markör utifrån startmarkören"
-#: editor_actions.cc:233
+#: editor_actions.cc:250 editor_actions.cc:251
+msgid "Remove Mark at Playhead"
+msgstr ""
+
+#: editor_actions.cc:253
msgid "Nudge Next Later"
msgstr ""
-#: editor_actions.cc:234
+#: editor_actions.cc:254
msgid "Nudge Next Earlier"
msgstr ""
-#: editor_actions.cc:236
+#: editor_actions.cc:256
msgid "Nudge Playhead Forward"
msgstr "Knuffa startmarkören framåt"
-#: editor_actions.cc:237
+#: editor_actions.cc:257
msgid "Nudge Playhead Backward"
msgstr "Knuffa startmarkören bakåt"
-#: editor_actions.cc:238
+#: editor_actions.cc:258
msgid "Playhead To Next Grid"
msgstr ""
-#: editor_actions.cc:239
+#: editor_actions.cc:259
msgid "Playhead To Previous Grid"
msgstr ""
-#: editor_actions.cc:244
+#: editor_actions.cc:264
msgid "Zoom to Region"
msgstr "Zooma till region"
-#: editor_actions.cc:245
+#: editor_actions.cc:265
msgid "Zoom to Region (Width and Height)"
msgstr "Zooma till region (bredd och höjd)"
-#: editor_actions.cc:246
+#: editor_actions.cc:267
+msgid "Zoom to Range (Width and Height)"
+msgstr ""
+
+#: editor_actions.cc:268
msgid "Toggle Zoom State"
msgstr "Växla zoomtillstånd"
-#: editor_actions.cc:248
+#: editor_actions.cc:270
msgid "Expand Track Height"
msgstr ""
-#: editor_actions.cc:249
+#: editor_actions.cc:271
msgid "Shrink Track Height"
msgstr ""
-#: editor_actions.cc:251
+#: editor_actions.cc:273
msgid "Move Selected Tracks Up"
msgstr "Flytta valda spår uppåt"
-#: editor_actions.cc:253
+#: editor_actions.cc:275
msgid "Move Selected Tracks Down"
msgstr "Flytta valda spår neråt"
-#: editor_actions.cc:256
+#: editor_actions.cc:278
msgid "Scroll Tracks Up"
msgstr "Skrolla spår uppåt"
-#: editor_actions.cc:258
+#: editor_actions.cc:280
msgid "Scroll Tracks Down"
msgstr "Skrolla spår ner"
-#: editor_actions.cc:260
+#: editor_actions.cc:282
msgid "Step Tracks Up"
msgstr "Stega spår uppåt"
-#: editor_actions.cc:262
+#: editor_actions.cc:284
msgid "Step Tracks Down"
msgstr "Stega spår neråt"
-#: editor_actions.cc:265
+#: editor_actions.cc:287
msgid "Scroll Backward"
msgstr "Skrolla bakåt"
-#: editor_actions.cc:266
+#: editor_actions.cc:288
msgid "Scroll Forward"
msgstr "Skrolla framåt"
-#: editor_actions.cc:267
+#: editor_actions.cc:289
msgid "Center Playhead"
msgstr "Centrera startmarkören"
-#: editor_actions.cc:268
+#: editor_actions.cc:290
msgid "Center Edit Point"
msgstr "Redigeringspunktens mitt"
-#: editor_actions.cc:270
+#: editor_actions.cc:292
msgid "Playhead Forward"
msgstr "Startmarkören framåt"
-#: editor_actions.cc:271
+#: editor_actions.cc:293
msgid "Playhead Backward"
msgstr "Startmarkören bakåt"
-#: editor_actions.cc:273
+#: editor_actions.cc:295
msgid "Playhead to Active Mark"
msgstr "Startmarkören till aktiv markör"
-#: editor_actions.cc:274
+#: editor_actions.cc:296
msgid "Active Mark to Playhead"
msgstr "Aktiv markör till startmarkören"
-#: editor_actions.cc:276
+#: editor_actions.cc:298
msgid "Set Loop from Edit Range"
msgstr "Ställ in loop från redigeringsomfång"
-#: editor_actions.cc:277
+#: editor_actions.cc:299
msgid "Set Punch from Edit Range"
msgstr "Ställ in inslags från redigeringsomfång"
-#: editor_actions.cc:280
+#: editor_actions.cc:302
msgid "Play Selected Regions"
msgstr ""
-#: editor_actions.cc:282
+#: editor_actions.cc:304
msgid "Play from Edit Point and Return"
msgstr ""
-#: editor_actions.cc:284
+#: editor_actions.cc:306
msgid "Play Edit Range"
msgstr "Spela redigeringsomfånget"
-#: editor_actions.cc:286
+#: editor_actions.cc:308
msgid "Playhead to Mouse"
msgstr "Startmarkören till mus"
-#: editor_actions.cc:287
+#: editor_actions.cc:309
msgid "Active Marker to Mouse"
msgstr "Aktiv markör till musen"
-#: editor_actions.cc:294
+#: editor_actions.cc:319
msgid "Export Audio"
msgstr ""
-#: editor_actions.cc:295 export_dialog.cc:406
+#: editor_actions.cc:320 export_dialog.cc:396
msgid "Export Range"
msgstr "Exportera omfång"
-#: editor_actions.cc:300
+#: editor_actions.cc:325
msgid "Separate Using Punch Range"
msgstr "Separera utifrån in-/utslagsomfånget"
-#: editor_actions.cc:303
+#: editor_actions.cc:328
msgid "Separate Using Loop Range"
msgstr "Separera utifrån loopomfånget"
-#: editor_actions.cc:306 editor_actions.cc:323
+#: editor_actions.cc:331 editor_actions.cc:353
msgid "Crop"
msgstr "Beskär"
-#: editor_actions.cc:315
+#: editor_actions.cc:341
+msgid "Fade Range Selection"
+msgstr ""
+
+#: editor_actions.cc:343
msgid "Set Tempo from Edit Range = Bar"
msgstr ""
-#: editor_actions.cc:317
+#: editor_actions.cc:345
msgid "Log"
msgstr "Logg"
-#: editor_actions.cc:320
+#: editor_actions.cc:348 editor_actions.cc:349
msgid "Move Later to Transient"
msgstr ""
-#: editor_actions.cc:321
+#: editor_actions.cc:350 editor_actions.cc:351
msgid "Move Earlier to Transient"
msgstr ""
-#: editor_actions.cc:325
+#: editor_actions.cc:355 editor_actions.cc:358
msgid "Start Range"
msgstr "Börja omfång"
-#: editor_actions.cc:326
+#: editor_actions.cc:356 editor_actions.cc:359
msgid "Finish Range"
msgstr "Avsluta omfång"
-#: editor_actions.cc:327
-msgid "Finish Add Range"
-msgstr "Avsluta omfångstillägg"
-
-#: editor_actions.cc:357
+#: editor_actions.cc:391
msgid "Follow Playhead"
msgstr "Följ startmarkören"
-#: editor_actions.cc:358
+#: editor_actions.cc:392
msgid "Remove Last Capture"
msgstr "Ta bort senaste inspelningen"
-#: editor_actions.cc:360
+#: editor_actions.cc:394
msgid "Stationary Playhead"
msgstr "Stationär startmarkör"
-#: editor_actions.cc:362 insert_time_dialog.cc:32
+#: editor_actions.cc:396 insert_time_dialog.cc:32
msgid "Insert Time"
msgstr "Infoga tid"
-#: editor_actions.cc:365
+#: editor_actions.cc:399
msgid "Toggle Active"
msgstr "Växla aktiv"
-#: editor_actions.cc:370 editor_actions.cc:1716 editor_markers.cc:876
-#: editor_markers.cc:941 editor_snapshots.cc:121 mixer_strip.cc:1495
-#: route_time_axis.cc:710
+#: editor_actions.cc:404 editor_actions.cc:1764 editor_markers.cc:890
+#: editor_markers.cc:955 editor_snapshots.cc:122 mixer_strip.cc:1506
+#: route_time_axis.cc:829
msgid "Remove"
msgstr "Ta bort"
-#: editor_actions.cc:374
+#: editor_actions.cc:408
msgid "Fit Selected Tracks"
msgstr "Rym valda spår"
-#: editor_actions.cc:376 time_axis_view.cc:1302
+#: editor_actions.cc:411 time_axis_view.cc:1336
msgid "Largest"
msgstr "Störst"
-#: editor_actions.cc:379 time_axis_view.cc:1303
+#: editor_actions.cc:414 time_axis_view.cc:1337
msgid "Larger"
msgstr "Stor"
-#: editor_actions.cc:382 editor_rulers.cc:375 time_axis_view.cc:1304
+#: editor_actions.cc:417 editor_rulers.cc:249 time_axis_view.cc:1338
msgid "Large"
msgstr "Större"
-#: editor_actions.cc:388 editor_rulers.cc:379 time_axis_view.cc:1306
+#: editor_actions.cc:423 editor_rulers.cc:253 time_axis_view.cc:1340
msgid "Small"
msgstr "Liten"
-#: editor_actions.cc:392
+#: editor_actions.cc:427
msgid "Sound Selected MIDI Notes"
msgstr ""
-#: editor_actions.cc:397
+#: editor_actions.cc:432
msgid "Zoom Focus Left"
msgstr "Zoomfokus: vänster"
-#: editor_actions.cc:398
+#: editor_actions.cc:433
msgid "Zoom Focus Right"
msgstr "Zoomfokus: höger"
-#: editor_actions.cc:399
+#: editor_actions.cc:434
msgid "Zoom Focus Center"
msgstr "Zoomfokus: center"
-#: editor_actions.cc:400
+#: editor_actions.cc:435
msgid "Zoom Focus Playhead"
msgstr "Zoomfokus: startmarkören"
-#: editor_actions.cc:401
+#: editor_actions.cc:436
msgid "Zoom Focus Mouse"
msgstr "Zoomfokus: mus"
-#: editor_actions.cc:402
+#: editor_actions.cc:437
msgid "Zoom Focus Edit Point"
msgstr "Zoomfokus: redigeringspunkten"
-#: editor_actions.cc:404
+#: editor_actions.cc:439
msgid "Next Zoom Focus"
msgstr ""
-#: editor_actions.cc:410
+#: editor_actions.cc:445
msgid "Smart Object Mode"
msgstr ""
-#: editor_actions.cc:413
+#: editor_actions.cc:448
msgid "Smart"
msgstr ""
-#: editor_actions.cc:417
+#: editor_actions.cc:451
msgid "Object Tool"
msgstr "Objektverktyg"
-#: editor_actions.cc:423
+#: editor_actions.cc:456
msgid "Range Tool"
msgstr "Omfångsverktyg"
-#: editor_actions.cc:429
+#: editor_actions.cc:461
msgid "Note Drawing Tool"
msgstr ""
-#: editor_actions.cc:435
+#: editor_actions.cc:466
msgid "Gain Tool"
msgstr "Volymverktyg"
-#: editor_actions.cc:441
+#: editor_actions.cc:472
msgid "Zoom Tool"
msgstr "Zoomverktyg"
-#: editor_actions.cc:447
+#: editor_actions.cc:478
msgid "Audition Tool"
msgstr ""
-#: editor_actions.cc:453
+#: editor_actions.cc:483
msgid "Time FX Tool"
msgstr "TidsFX-verktyg"
-#: editor_actions.cc:459
+#: editor_actions.cc:489
+msgid "Cut Tool"
+msgstr ""
+
+#: editor_actions.cc:495
msgid "Step Mouse Mode"
msgstr "Stega musläge"
-#: editor_actions.cc:461
+#: editor_actions.cc:497
msgid "Edit MIDI"
msgstr "Redigera MIDI"
-#: editor_actions.cc:472
+#: editor_actions.cc:507
msgid "Change Edit Point"
msgstr "Ändra redigeringspunkt"
-#: editor_actions.cc:473
+#: editor_actions.cc:508
msgid "Change Edit Point Including Marker"
msgstr "Ändra redigeringspunkt samt markör"
-#: editor_actions.cc:475
-msgid "Splice"
-msgstr "Skarv"
-
-#: editor_actions.cc:477
-msgid "Slide"
-msgstr "Glid"
-
-#: editor_actions.cc:478 editor_actions.cc:1737 editor_markers.cc:860
-#: editor_rulers.cc:386 location_ui.cc:56
-msgid "Lock"
-msgstr "LÃ¥s"
-
-#: editor_actions.cc:479
-msgid "Toggle Edit Mode"
-msgstr "Skifta redigeringsläge"
+#: editor_actions.cc:514
+msgid "Cycle Edit Mode"
+msgstr ""
-#: editor_actions.cc:481
+#: editor_actions.cc:516
msgid "Snap to"
msgstr "Fäst mot"
-#: editor_actions.cc:482
+#: editor_actions.cc:517
msgid "Snap Mode"
msgstr "Fästläge"
-#: editor_actions.cc:489
+#: editor_actions.cc:524
msgid "Next Snap Mode"
msgstr "Nästa fästläge"
-#: editor_actions.cc:490
+#: editor_actions.cc:525
msgid "Next Snap Choice"
msgstr "Nästa fästlägealternativ"
-#: editor_actions.cc:491
+#: editor_actions.cc:526
msgid "Next Musical Snap Choice"
msgstr ""
-#: editor_actions.cc:492
+#: editor_actions.cc:527
msgid "Previous Snap Choice"
msgstr ""
-#: editor_actions.cc:493
+#: editor_actions.cc:528
msgid "Previous Musical Snap Choice"
msgstr ""
-#: editor_actions.cc:498
+#: editor_actions.cc:533
msgid "Snap to CD Frame"
msgstr "CD-rutor"
-#: editor_actions.cc:499
+#: editor_actions.cc:534
msgid "Snap to Timecode Frame"
msgstr "Tidskod"
-#: editor_actions.cc:500
+#: editor_actions.cc:535
msgid "Snap to Timecode Seconds"
msgstr "Tidskod: sekunder"
-#: editor_actions.cc:501
+#: editor_actions.cc:536
msgid "Snap to Timecode Minutes"
msgstr "Tidskod: minuter"
-#: editor_actions.cc:502
+#: editor_actions.cc:537
msgid "Snap to Seconds"
msgstr "Sekunder"
-#: editor_actions.cc:503
+#: editor_actions.cc:538
msgid "Snap to Minutes"
msgstr "Minuter"
-#: editor_actions.cc:505
+#: editor_actions.cc:540
msgid "Snap to One Twenty Eighths"
msgstr ""
-#: editor_actions.cc:506
+#: editor_actions.cc:541
msgid "Snap to Sixty Fourths"
msgstr ""
-#: editor_actions.cc:507
+#: editor_actions.cc:542
msgid "Snap to Thirty Seconds"
msgstr "Trettio sekunder"
-#: editor_actions.cc:508
+#: editor_actions.cc:543
msgid "Snap to Twenty Eighths"
msgstr ""
-#: editor_actions.cc:509
+#: editor_actions.cc:544
msgid "Snap to Twenty Fourths"
msgstr ""
-#: editor_actions.cc:510
+#: editor_actions.cc:545
msgid "Snap to Twentieths"
msgstr ""
-#: editor_actions.cc:511
+#: editor_actions.cc:546
msgid "Snap to Sixteenths"
msgstr "Sextondelar"
-#: editor_actions.cc:512
+#: editor_actions.cc:547
msgid "Snap to Fourteenths"
msgstr "Fjortondelar"
-#: editor_actions.cc:513
+#: editor_actions.cc:548
msgid "Snap to Twelfths"
msgstr ""
-#: editor_actions.cc:514
+#: editor_actions.cc:549
msgid "Snap to Tenths"
msgstr "Tiondelar"
-#: editor_actions.cc:515
+#: editor_actions.cc:550
msgid "Snap to Eighths"
msgstr "Ã…ttondelar"
-#: editor_actions.cc:516
+#: editor_actions.cc:551
msgid "Snap to Sevenths"
msgstr "Sjundedelar"
-#: editor_actions.cc:517
+#: editor_actions.cc:552
msgid "Snap to Sixths"
msgstr "Sjättedelar"
-#: editor_actions.cc:518
+#: editor_actions.cc:553
msgid "Snap to Fifths"
msgstr "Femtedelar"
-#: editor_actions.cc:519
+#: editor_actions.cc:554
msgid "Snap to Quarters"
msgstr "Fjärdedelar"
-#: editor_actions.cc:520
+#: editor_actions.cc:555
msgid "Snap to Thirds"
msgstr "Tredjedelar"
-#: editor_actions.cc:521
+#: editor_actions.cc:556
msgid "Snap to Halves"
msgstr "Halvsteg"
-#: editor_actions.cc:523
+#: editor_actions.cc:558
msgid "Snap to Beat"
msgstr "Slag"
-#: editor_actions.cc:524
+#: editor_actions.cc:559
msgid "Snap to Bar"
msgstr "Takt"
-#: editor_actions.cc:525
+#: editor_actions.cc:560
msgid "Snap to Mark"
msgstr "Markör"
-#: editor_actions.cc:526
+#: editor_actions.cc:561
msgid "Snap to Region Start"
msgstr "Regionstart"
-#: editor_actions.cc:527
+#: editor_actions.cc:562
msgid "Snap to Region End"
msgstr "Regionslut"
-#: editor_actions.cc:528
+#: editor_actions.cc:563
msgid "Snap to Region Sync"
msgstr "Regionsynk."
-#: editor_actions.cc:529
+#: editor_actions.cc:564
msgid "Snap to Region Boundary"
msgstr "Regiongräns"
-#: editor_actions.cc:531
+#: editor_actions.cc:566
msgid "Show Marker Lines"
msgstr "Visa vertikala markörlinjer"
-#: editor_actions.cc:541
+#: editor_actions.cc:576
msgid "Loop/Punch"
msgstr "Loop-/inslagsmarkörer"
-#: editor_actions.cc:545
+#: editor_actions.cc:580
msgid "Min:Sec"
msgstr "Min:sek"
-#: editor_actions.cc:547 editor_actions.cc:550
+#: editor_actions.cc:582 editor_actions.cc:585
msgid "Video Monitor"
msgstr ""
-#: editor_actions.cc:549 rc_option_editor.cc:1829
+#: editor_actions.cc:584 rc_option_editor.cc:2134
msgid "Video"
msgstr ""
-#: editor_actions.cc:552
+#: editor_actions.cc:587
msgid "Always on Top"
msgstr ""
-#: editor_actions.cc:554
+#: editor_actions.cc:589
msgid "Frame number"
msgstr ""
-#: editor_actions.cc:555
+#: editor_actions.cc:590
msgid "Timecode Background"
msgstr ""
-#: editor_actions.cc:556
+#: editor_actions.cc:591
msgid "Fullscreen"
msgstr ""
-#: editor_actions.cc:557
+#: editor_actions.cc:592
msgid "Letterbox"
msgstr ""
-#: editor_actions.cc:558
+#: editor_actions.cc:593
msgid "Original Size"
msgstr ""
-#: editor_actions.cc:608
+#: editor_actions.cc:650
msgid "Sort"
msgstr "Sortera"
-#: editor_actions.cc:610 region_editor.cc:51
-msgid "Audition"
-msgstr "Avlyssna"
-
-#: editor_actions.cc:619 editor_routes.cc:470 mixer_ui.cc:1161
+#: editor_actions.cc:661 editor_routes.cc:473 mixer_ui.cc:1181
msgid "Show All"
msgstr "Visa Alla"
-#: editor_actions.cc:620
+#: editor_actions.cc:662
msgid "Show Automatic Regions"
msgstr "Visa automatiska regioner"
-#: editor_actions.cc:622
+#: editor_actions.cc:664
msgid "Ascending"
msgstr "Stigande"
-#: editor_actions.cc:624
+#: editor_actions.cc:666
msgid "Descending"
msgstr "Fallande"
-#: editor_actions.cc:627
+#: editor_actions.cc:669
msgid "By Region Name"
msgstr "utifrån Regionens namn"
-#: editor_actions.cc:629
+#: editor_actions.cc:671
msgid "By Region Length"
msgstr "utifrån Regionens längd"
-#: editor_actions.cc:631
+#: editor_actions.cc:673
msgid "By Region Position"
msgstr "utifrån Regionens position"
-#: editor_actions.cc:633
+#: editor_actions.cc:675
msgid "By Region Timestamp"
msgstr "utifrån Regionens tidstämpel"
-#: editor_actions.cc:635
+#: editor_actions.cc:677
msgid "By Region Start in File"
msgstr "utifrån Regionens start i filen"
-#: editor_actions.cc:637
+#: editor_actions.cc:679
msgid "By Region End in File"
msgstr "utifrån Regionens slut i filen"
-#: editor_actions.cc:639
+#: editor_actions.cc:681
msgid "By Source File Name"
msgstr "utifrån Källfilens namn"
-#: editor_actions.cc:641
+#: editor_actions.cc:683
msgid "By Source File Length"
msgstr "utifrån Källfilens längd"
-#: editor_actions.cc:643
+#: editor_actions.cc:685
msgid "By Source File Creation Date"
msgstr "utifrån Källfilens skapelsedatum"
-#: editor_actions.cc:645
+#: editor_actions.cc:687
msgid "By Source Filesystem"
msgstr "utifrån Källfilsystemet"
-#: editor_actions.cc:648
+#: editor_actions.cc:690
msgid "Remove Unused"
msgstr ""
-#: editor_actions.cc:652 editor_audio_import.cc:279
+#: editor_actions.cc:694 editor_audio_import.cc:277
#: session_import_dialog.cc:74 session_import_dialog.cc:94
-#: session_metadata_dialog.cc:297 editor_videotimeline.cc:108
+#: session_metadata_dialog.cc:297 editor_videotimeline.cc:92
msgid "Import"
msgstr "Importera"
-#: editor_actions.cc:655
+#: editor_actions.cc:697
msgid "Import to Region List..."
msgstr "Importera till regionslistan..."
-#: editor_actions.cc:658 session_import_dialog.cc:43
+#: editor_actions.cc:700 session_import_dialog.cc:43
msgid "Import From Session"
msgstr "Importera från session"
-#: editor_actions.cc:661
+#: editor_actions.cc:704
+msgid "Bring all media into session folder"
+msgstr ""
+
+#: editor_actions.cc:707
msgid "Show Summary"
msgstr "Visa sammanfattande vy"
-#: editor_actions.cc:663
+#: editor_actions.cc:709
msgid "Show Group Tabs"
msgstr "Visa grupptabbar"
-#: editor_actions.cc:665
+#: editor_actions.cc:711
msgid "Show Measures"
msgstr "Visa rutnät"
-#: editor_actions.cc:669
+#: editor_actions.cc:715
msgid "Show Logo"
msgstr ""
-#: editor_actions.cc:673
+#: editor_actions.cc:719
msgid "Toggle MIDI Input Active for Editor-Selected Tracks/Busses"
msgstr ""
-#: editor_actions.cc:696
+#: editor_actions.cc:742
msgid "Loaded editor bindings from %1"
msgstr ""
-#: editor_actions.cc:698
+#: editor_actions.cc:744
msgid "Could not find editor.bindings in search path %1"
msgstr ""
-#: editor_actions.cc:1028 editor_actions.cc:1424 editor_actions.cc:1435
-#: editor_actions.cc:1488 editor_actions.cc:1499 editor_actions.cc:1546
-#: editor_actions.cc:1556 editor_regions.cc:1561
+#: editor_actions.cc:1074 editor_actions.cc:1470 editor_actions.cc:1481
+#: editor_actions.cc:1534 editor_actions.cc:1545 editor_actions.cc:1592
+#: editor_actions.cc:1602 editor_regions.cc:1562
msgid "programming error: %1: %2"
msgstr ""
-#: editor_actions.cc:1722
+#: editor_actions.cc:1770
msgid "Raise"
msgstr "Högre"
-#: editor_actions.cc:1725
+#: editor_actions.cc:1773
msgid "Raise to Top"
msgstr "Placera överst"
-#: editor_actions.cc:1728 gtk-custom-ruler.c:132
+#: editor_actions.cc:1776
msgid "Lower"
msgstr "Lägre"
-#: editor_actions.cc:1731
+#: editor_actions.cc:1779
msgid "Lower to Bottom"
msgstr "Placera underst"
-#: editor_actions.cc:1734
+#: editor_actions.cc:1782
msgid "Move to Original Position"
msgstr "Flytta till ursprunglig position"
-#: editor_actions.cc:1739
+#: editor_actions.cc:1787
msgid "Lock to Video"
msgstr ""
-#: editor_actions.cc:1744 editor_markers.cc:867
+#: editor_actions.cc:1792 editor_markers.cc:881
msgid "Glue to Bars and Beats"
msgstr "Klistra mot takt & slag"
-#: editor_actions.cc:1749
+#: editor_actions.cc:1797
msgid "Remove Sync"
msgstr "Ta bort synk."
-#: editor_actions.cc:1752 mixer_strip.cc:1904 route_time_axis.cc:209
-msgid "Mute"
-msgstr "Tysta"
-
-#: editor_actions.cc:1755
+#: editor_actions.cc:1803
msgid "Normalize..."
msgstr "Normalisera..."
-#: editor_actions.cc:1758
+#: editor_actions.cc:1806
msgid "Reverse"
msgstr "Motsatt riktning"
-#: editor_actions.cc:1761
+#: editor_actions.cc:1809
msgid "Make Mono Regions"
msgstr "Skapa monoregioner"
-#: editor_actions.cc:1764
+#: editor_actions.cc:1812
msgid "Boost Gain"
msgstr "Öka volym"
-#: editor_actions.cc:1767
+#: editor_actions.cc:1815
msgid "Cut Gain"
msgstr "Sänk volym"
-#: editor_actions.cc:1770
+#: editor_actions.cc:1818
msgid "Pitch Shift..."
msgstr ""
-#: editor_actions.cc:1773
+#: editor_actions.cc:1821
msgid "Transpose..."
msgstr ""
-#: editor_actions.cc:1776
+#: editor_actions.cc:1824
msgid "Opaque"
msgstr "Ogenomskinlig"
-#: editor_actions.cc:1780 editor_regions.cc:116
+#: editor_actions.cc:1828 editor_regions.cc:117
msgid "Fade In"
msgstr "Tona In"
-#: editor_actions.cc:1785 editor_regions.cc:117
+#: editor_actions.cc:1833 editor_regions.cc:118
msgid "Fade Out"
msgstr "Tona Ut"
-#: editor_actions.cc:1800
+#: editor_actions.cc:1848
msgid "Multi-Duplicate..."
msgstr "Multiduplicera..."
-#: editor_actions.cc:1805
+#: editor_actions.cc:1853
msgid "Fill Track"
msgstr "Fyll spåret"
-#: editor_actions.cc:1809 editor_markers.cc:955
+#: editor_actions.cc:1857 editor_markers.cc:969
msgid "Set Loop Range"
msgstr "Sätt loop-omfång här"
-#: editor_actions.cc:1816
+#: editor_actions.cc:1864
msgid "Set Punch"
msgstr "Ställ in inslag"
-#: editor_actions.cc:1820
+#: editor_actions.cc:1868
msgid "Add Single Range Marker"
msgstr ""
-#: editor_actions.cc:1825
+#: editor_actions.cc:1873
msgid "Add Range Marker Per Region"
msgstr ""
-#: editor_actions.cc:1829
+#: editor_actions.cc:1877
msgid "Snap Position To Grid"
msgstr ""
-#: editor_actions.cc:1832
+#: editor_actions.cc:1880
msgid "Close Gaps"
msgstr "Stäng luckor"
-#: editor_actions.cc:1835
+#: editor_actions.cc:1883
msgid "Rhythm Ferret..."
msgstr ""
-#: editor_actions.cc:1838
+#: editor_actions.cc:1886
msgid "Export..."
msgstr "Exportera..."
-#: editor_actions.cc:1844
+#: editor_actions.cc:1892
msgid "Separate Under"
msgstr "Separera under"
-#: editor_actions.cc:1848
+#: editor_actions.cc:1896 editor_actions.cc:1897
msgid "Set Fade In Length"
msgstr "Välj intoningslängd"
-#: editor_actions.cc:1849
+#: editor_actions.cc:1898 editor_actions.cc:1899
msgid "Set Fade Out Length"
msgstr "Välj uttoningslängd"
-#: editor_actions.cc:1850
+#: editor_actions.cc:1901
msgid "Set Tempo from Region = Bar"
msgstr "Sätt tempo från region = takt"
-#: editor_actions.cc:1855
+#: editor_actions.cc:1906
msgid "Split at Percussion Onsets"
msgstr "Dela vid perkussiva anslag"
-#: editor_actions.cc:1860
+#: editor_actions.cc:1911
msgid "List Editor..."
msgstr "Listredigerare..."
-#: editor_actions.cc:1863
+#: editor_actions.cc:1914
msgid "Properties..."
msgstr "Egenskaper..."
-#: editor_actions.cc:1867
+#: editor_actions.cc:1918
msgid "Bounce (with processing)"
msgstr ""
-#: editor_actions.cc:1868
+#: editor_actions.cc:1919
msgid "Bounce (without processing)"
msgstr ""
-#: editor_actions.cc:1869
+#: editor_actions.cc:1920
msgid "Combine"
msgstr "Kombinera"
-#: editor_actions.cc:1870
+#: editor_actions.cc:1921
msgid "Uncombine"
msgstr "Okombinera"
-#: editor_actions.cc:1872
+#: editor_actions.cc:1923
msgid "Spectral Analysis..."
msgstr "Spektralanalys..."
-#: editor_actions.cc:1874
+#: editor_actions.cc:1925
msgid "Reset Envelope"
msgstr "Nollställ konvolut"
-#: editor_actions.cc:1876
+#: editor_actions.cc:1927
msgid "Reset Gain"
msgstr ""
-#: editor_actions.cc:1881
+#: editor_actions.cc:1932
msgid "Envelope Active"
msgstr "Konvolut aktivt"
-#: editor_actions.cc:1885
+#: editor_actions.cc:1936
msgid "Quantize..."
msgstr ""
-#: editor_actions.cc:1886 editor_actions.cc:1887
+#: editor_actions.cc:1937 editor_actions.cc:1938
msgid "Insert Patch Change..."
msgstr "Infoga patchändring..."
-#: editor_actions.cc:1888
+#: editor_actions.cc:1939
msgid "Unlink from other copies"
msgstr ""
-#: editor_actions.cc:1889
+#: editor_actions.cc:1940
msgid "Strip Silence..."
msgstr "Klipp ut tystnad..."
-#: editor_actions.cc:1890
+#: editor_actions.cc:1941
msgid "Set Range Selection"
msgstr "Definiera omfångsmarkering"
-#: editor_actions.cc:1892
+#: editor_actions.cc:1943 editor_actions.cc:1944
msgid "Nudge Later"
msgstr ""
-#: editor_actions.cc:1893
+#: editor_actions.cc:1945 editor_actions.cc:1946
msgid "Nudge Earlier"
msgstr ""
-#: editor_actions.cc:1898
+#: editor_actions.cc:1948
+msgid "Sequence Regions"
+msgstr ""
+
+#: editor_actions.cc:1953
msgid "Nudge Later by Capture Offset"
msgstr ""
-#: editor_actions.cc:1905
+#: editor_actions.cc:1960
msgid "Nudge Earlier by Capture Offset"
msgstr ""
-#: editor_actions.cc:1909
+#: editor_actions.cc:1964
msgid "Trim to Loop"
msgstr "Beskär till loop"
-#: editor_actions.cc:1910
+#: editor_actions.cc:1965
msgid "Trim to Punch"
msgstr "Beskär till inslag"
-#: editor_actions.cc:1912
+#: editor_actions.cc:1967
msgid "Trim to Previous"
msgstr "Beskär till föregående"
-#: editor_actions.cc:1913
+#: editor_actions.cc:1968
msgid "Trim to Next"
msgstr "Beskär till nästa"
-#: editor_actions.cc:1920
+#: editor_actions.cc:1975
msgid "Insert Region From Region List"
msgstr "Infoga region från regionlistan"
-#: editor_actions.cc:1926
+#: editor_actions.cc:1981
msgid "Set Sync Position"
msgstr "Ställ in synk.-position"
-#: editor_actions.cc:1927
+#: editor_actions.cc:1982
msgid "Place Transient"
msgstr "Placera transient"
-#: editor_actions.cc:1928
+#: editor_actions.cc:1983
msgid "Split"
msgstr "Dela"
-#: editor_actions.cc:1929
+#: editor_actions.cc:1984
msgid "Trim Start at Edit Point"
msgstr "Beskär början vid redigeringspunkten"
-#: editor_actions.cc:1930
+#: editor_actions.cc:1985
msgid "Trim End at Edit Point"
msgstr "Beskär slutet vid redigeringspunkten"
-#: editor_actions.cc:1935
+#: editor_actions.cc:1990
msgid "Align Start"
msgstr "Justera början"
-#: editor_actions.cc:1942
+#: editor_actions.cc:1997
msgid "Align Start Relative"
msgstr "Juster början relativt"
-#: editor_actions.cc:1946
+#: editor_actions.cc:2001
msgid "Align End"
msgstr "Justera slutet"
-#: editor_actions.cc:1951
+#: editor_actions.cc:2006
msgid "Align End Relative"
msgstr "Justa slutet relativt"
-#: editor_actions.cc:1958
+#: editor_actions.cc:2013
msgid "Align Sync"
msgstr "Justera synk."
-#: editor_actions.cc:1965
+#: editor_actions.cc:2020
msgid "Align Sync Relative"
msgstr "Justera synk. relativt"
-#: editor_actions.cc:1969 editor_actions.cc:1972
+#: editor_actions.cc:2024 editor_actions.cc:2027
msgid "Choose Top..."
msgstr ""
-#: editor_audio_import.cc:77 editor_audio_import.cc:99
+#: editor_audio_import.cc:76 editor_audio_import.cc:98
msgid "You can't import or embed an audiofile until you have a session loaded."
msgstr "Du kan inte importera en ljudfil innan du har laddat en session."
-#: editor_audio_import.cc:83 editor_audio_import.cc:127
+#: editor_audio_import.cc:82 editor_audio_import.cc:126
msgid "Add Existing Media"
msgstr "Lägg till existerande media"
-#: editor_audio_import.cc:177
+#: editor_audio_import.cc:175
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%1 as a new file, or skip it?"
msgstr ""
-#: editor_audio_import.cc:179
+#: editor_audio_import.cc:177
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%2 as a new source, or skip it?"
msgstr ""
-#: editor_audio_import.cc:279 editor_videotimeline.cc:108
+#: editor_audio_import.cc:277 editor_videotimeline.cc:92
msgid "Cancel Import"
msgstr "Avbryt importering"
-#: editor_audio_import.cc:543
+#: editor_audio_import.cc:541
msgid "Editor: cannot open file \"%1\", (%2)"
msgstr "Redigerare: kan inte öppna filen \"%1\" (%2)"
-#: editor_audio_import.cc:551
+#: editor_audio_import.cc:549
msgid "Cancel entire import"
msgstr "Avbryt hela importen"
-#: editor_audio_import.cc:552
+#: editor_audio_import.cc:550
msgid "Don't embed it"
msgstr "Infoga inte"
-#: editor_audio_import.cc:553
+#: editor_audio_import.cc:551
msgid "Embed all without questions"
msgstr "Infoga alla"
-#: editor_audio_import.cc:556 editor_audio_import.cc:585
-#: export_format_dialog.cc:58
+#: editor_audio_import.cc:554 editor_audio_import.cc:583
+#: export_format_dialog.cc:60
msgid "Sample rate"
msgstr ""
-#: editor_audio_import.cc:557 editor_audio_import.cc:586
+#: editor_audio_import.cc:555 editor_audio_import.cc:584
msgid ""
"%1\n"
"This audiofile's sample rate doesn't match the session sample rate!"
@@ -4237,304 +4342,300 @@ msgstr ""
"%1\n"
"Denna ljudfils samplingsfrekvens matchar inte sessionens!"
-#: editor_audio_import.cc:582
+#: editor_audio_import.cc:580
msgid "Embed it anyway"
msgstr "Infoga ändå"
-#: editor_drag.cc:1000
+#: editor_drag.cc:994
+msgid "Could not create new track after region placed in the drop zone"
+msgstr ""
+
+#: editor_drag.cc:1100
msgid "fixed time region drag"
msgstr ""
-#: editor_drag.cc:1700
+#: editor_drag.cc:1797
+msgid "Ripple drag"
+msgstr ""
+
+#: editor_drag.cc:2093
msgid "Video Start:"
msgstr ""
-#: editor_drag.cc:1702
+#: editor_drag.cc:2095
msgid "Diff:"
msgstr ""
-#: editor_drag.cc:1722
+#: editor_drag.cc:2114
msgid "Move Video"
msgstr ""
-#: editor_drag.cc:2200
+#: editor_drag.cc:2621
msgid "copy meter mark"
msgstr "kopiera taktartsmarkör"
-#: editor_drag.cc:2208
+#: editor_drag.cc:2629
msgid "move meter mark"
msgstr "flytta taktartsmarkör"
-#: editor_drag.cc:2320
+#: editor_drag.cc:2752
msgid "copy tempo mark"
msgstr "kopiera tempomarkör"
-#: editor_drag.cc:2328
+#: editor_drag.cc:2760
msgid "move tempo mark"
msgstr "flytta tempomarkör"
-#: editor_drag.cc:2550
+#: editor_drag.cc:2989
msgid "change fade in length"
msgstr "ändra intoningslängd"
-#: editor_drag.cc:2668
+#: editor_drag.cc:3107
msgid "change fade out length"
msgstr "ändra uttoningslängd"
-#: editor_drag.cc:3023
+#: editor_drag.cc:3463
msgid "move marker"
msgstr "flytta markör"
-#: editor_drag.cc:3586
+#: editor_drag.cc:4046
msgid "An error occurred while executing time stretch operation"
msgstr ""
-#: editor_drag.cc:4016
+#: editor_drag.cc:4493
msgid "programming_error: %1"
msgstr ""
-#: editor_drag.cc:4086 editor_markers.cc:680
+#: editor_drag.cc:4559 editor_markers.cc:694
msgid "new range marker"
msgstr "ny omfångsmarkör"
-#: editor_drag.cc:4767
+#: editor_drag.cc:5259
msgid "rubberband selection"
msgstr ""
-#: editor_route_groups.cc:66
-msgid "No Selection = All Tracks?"
-msgstr ""
-
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Col"
msgstr ""
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Group Tab Color"
msgstr ""
-#: editor_route_groups.cc:96
+#: editor_route_groups.cc:97
msgid "Name of Group"
msgstr ""
-#: editor_route_groups.cc:97 editor_routes.cc:203
+#: editor_route_groups.cc:98 editor_routes.cc:205
msgid "V"
msgstr ""
-#: editor_route_groups.cc:97
+#: editor_route_groups.cc:98
msgid "Group is visible?"
msgstr ""
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "On"
msgstr ""
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "Group is enabled?"
msgstr ""
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "group|G"
msgstr ""
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "Sharing Gain?"
msgstr ""
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "relative|Rel"
msgstr ""
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "Relative Gain Changes?"
msgstr ""
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "mute|M"
msgstr ""
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "Sharing Mute?"
msgstr ""
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "solo|S"
msgstr ""
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "Sharing Solo?"
msgstr ""
-#: editor_route_groups.cc:103 midi_time_axis.cc:1504 midi_time_axis.cc:1507
-#: midi_time_axis.cc:1510 mixer_strip.cc:1903
+#: editor_route_groups.cc:104 midi_time_axis.cc:1703 midi_time_axis.cc:1706
+#: midi_time_axis.cc:1709
msgid "Rec"
msgstr "Spela in"
-#: editor_route_groups.cc:103
+#: editor_route_groups.cc:104
msgid "Sharing Record-enable Status?"
msgstr ""
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "monitoring|Mon"
msgstr ""
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "Sharing Monitoring Choice?"
msgstr ""
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "selection|Sel"
msgstr ""
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "Sharing Selected/Editing Status?"
msgstr ""
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "active|A"
msgstr ""
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "Sharing Active Status?"
msgstr ""
-#: editor_route_groups.cc:197
-msgid "Activate this button to operate on all tracks when none are selected."
-msgstr ""
-
-#: editor_route_groups.cc:442 mixer_ui.cc:1449
+#: editor_route_groups.cc:438 mixer_ui.cc:1469
msgid "unnamed"
msgstr "namnlös"
-#: editor_export_audio.cc:90 editor_markers.cc:695 editor_markers.cc:782
-#: editor_markers.cc:967 editor_markers.cc:985 editor_markers.cc:1003
-#: editor_markers.cc:1022 editor_markers.cc:1041 editor_markers.cc:1071
-#: editor_markers.cc:1102 editor_markers.cc:1132 editor_markers.cc:1160
-#: editor_markers.cc:1191 editor_markers.cc:1216 editor_markers.cc:1267
-#: editor_markers.cc:1311 editor_markers.cc:1337 editor_markers.cc:1526
-#: editor_mouse.cc:2528
+#: editor_export_audio.cc:92 editor_markers.cc:709 editor_markers.cc:796
+#: editor_markers.cc:981 editor_markers.cc:999 editor_markers.cc:1017
+#: editor_markers.cc:1036 editor_markers.cc:1055 editor_markers.cc:1085
+#: editor_markers.cc:1116 editor_markers.cc:1146 editor_markers.cc:1174
+#: editor_markers.cc:1205 editor_markers.cc:1230 editor_markers.cc:1281
+#: editor_markers.cc:1325 editor_markers.cc:1351 editor_markers.cc:1545
+#: editor_mouse.cc:2290
msgid "programming error: marker canvas item has no marker object pointer!"
msgstr ""
-#: editor_export_audio.cc:143 editor_export_audio.cc:148
+#: editor_export_audio.cc:145 editor_export_audio.cc:150
msgid "File Exists!"
msgstr ""
-#: editor_export_audio.cc:151
+#: editor_export_audio.cc:153
msgid "Overwrite Existing File"
msgstr ""
-#: editor_group_tabs.cc:162
+#: editor_group_tabs.cc:176
msgid "Fit to Window"
msgstr "Anpassa till fönstret"
-#: editor_markers.cc:129
+#: editor_markers.cc:139
msgid "start"
msgstr ""
-#: editor_markers.cc:130
+#: editor_markers.cc:140
msgid "end"
msgstr ""
-#: editor_markers.cc:646 editor_ops.cc:1744 editor_ops.cc:1764
-#: editor_ops.cc:1788 editor_ops.cc:1815 location_ui.cc:1017
+#: editor_markers.cc:660 editor_ops.cc:1915 editor_ops.cc:1935
+#: editor_ops.cc:1988 editor_ops.cc:2015 location_ui.cc:1019
msgid "add marker"
msgstr ""
-#: editor_markers.cc:677
+#: editor_markers.cc:691
msgid "range"
msgstr "omfång"
-#: editor_markers.cc:713 location_ui.cc:852
+#: editor_markers.cc:727 editor_ops.cc:1955 location_ui.cc:854
msgid "remove marker"
msgstr "ta bort markör"
-#: editor_markers.cc:849
+#: editor_markers.cc:863
msgid "Locate to Here"
msgstr ""
-#: editor_markers.cc:850
+#: editor_markers.cc:864
msgid "Play from Here"
msgstr ""
-#: editor_markers.cc:851
+#: editor_markers.cc:865
msgid "Move Mark to Playhead"
msgstr "Flytta markör till startmarkören"
-#: editor_markers.cc:855
+#: editor_markers.cc:869
msgid "Create Range to Next Marker"
msgstr ""
-#: editor_markers.cc:896
+#: editor_markers.cc:910
msgid "Locate to Marker"
msgstr ""
-#: editor_markers.cc:897
+#: editor_markers.cc:911
msgid "Play from Marker"
msgstr ""
-#: editor_markers.cc:900
+#: editor_markers.cc:914
msgid "Set Marker from Playhead"
msgstr ""
-#: editor_markers.cc:902
+#: editor_markers.cc:916
msgid "Set Range from Selection"
msgstr ""
-#: editor_markers.cc:905
-msgid "Zoom to Range"
-msgstr ""
-
-#: editor_markers.cc:912
+#: editor_markers.cc:926
msgid "Hide Range"
msgstr "Göm omfång"
-#: editor_markers.cc:913
+#: editor_markers.cc:927
msgid "Rename Range..."
msgstr ""
-#: editor_markers.cc:917
+#: editor_markers.cc:931
msgid "Remove Range"
msgstr "Ta bort omfång"
-#: editor_markers.cc:924
+#: editor_markers.cc:938
msgid "Separate Regions in Range"
msgstr "Separera regioner i omfånget"
-#: editor_markers.cc:927
+#: editor_markers.cc:941
msgid "Select Range"
msgstr "Markera omfång"
-#: editor_markers.cc:956
+#: editor_markers.cc:970
msgid "Set Punch Range"
msgstr "Sätt inslagsomfång här"
-#: editor_markers.cc:1362 editor_ops.cc:1699
+#: editor_markers.cc:1376 editor_ops.cc:1870
msgid "New Name:"
msgstr "Nytt namn:"
-#: editor_markers.cc:1365
+#: editor_markers.cc:1379
msgid "Rename Mark"
msgstr "Byt namn på markör"
-#: editor_markers.cc:1367
+#: editor_markers.cc:1381
msgid "Rename Range"
msgstr "Byt namn på omfång"
-#: editor_markers.cc:1374 editor_mouse.cc:2560 processor_box.cc:1808
-#: processor_box.cc:2274 route_time_axis.cc:982 route_ui.cc:1540
+#: editor_markers.cc:1388 editor_mouse.cc:2319 processor_box.cc:2038
+#: processor_box.cc:2508 route_time_axis.cc:1073 route_ui.cc:1622
msgid "Rename"
msgstr "Döp om"
-#: editor_markers.cc:1387
+#: editor_markers.cc:1401
msgid "rename marker"
msgstr "byt namn på markör"
-#: editor_markers.cc:1411
+#: editor_markers.cc:1425
msgid "set loop range"
msgstr "ställ in loop-omfång"
-#: editor_markers.cc:1417
+#: editor_markers.cc:1431
msgid "set punch range"
msgstr "ställ in inslagsomfång"
@@ -4542,185 +4643,194 @@ msgstr "ställ in inslagsomfång"
msgid "This screen is not tall enough to display the editor mixer"
msgstr ""
-#: editor_mouse.cc:172
-msgid "Editor::event_frame() used on unhandled event type %1"
+#: editor_mouse.cc:1384 editor_mouse.cc:1402 editor_tempodisplay.cc:273
+msgid ""
+"programming error: tempo marker canvas item has no marker object pointer!"
msgstr ""
-#: editor_mouse.cc:2285 editor_mouse.cc:2310 editor_mouse.cc:2323
+#: editor_mouse.cc:1389 editor_tempodisplay.cc:278
+msgid "programming error: marker for tempo is not a tempo marker!"
+msgstr ""
+
+#: editor_mouse.cc:1407 editor_tempodisplay.cc:382
+msgid "programming error: marker for meter is not a meter marker!"
+msgstr ""
+
+#: editor_mouse.cc:2047 editor_mouse.cc:2072 editor_mouse.cc:2085
msgid ""
"programming error: control point canvas item has no control point object "
"pointer!"
msgstr ""
-#: editor_mouse.cc:2466
+#: editor_mouse.cc:2228
msgid "start point trim"
msgstr ""
-#: editor_mouse.cc:2491
+#: editor_mouse.cc:2253
msgid "End point trim"
msgstr "Beskär slutpunkt"
-#: editor_mouse.cc:2558
+#: editor_mouse.cc:2317
msgid "Name for region:"
msgstr "Namnge region:"
-#: editor_ops.cc:140
+#: editor_ops.cc:147
msgid "split"
msgstr "dela"
-#: editor_ops.cc:256
+#: editor_ops.cc:291
msgid "alter selection"
msgstr ""
-#: editor_ops.cc:298
+#: editor_ops.cc:333
msgid "nudge regions forward"
msgstr ""
-#: editor_ops.cc:321 editor_ops.cc:406
+#: editor_ops.cc:356 editor_ops.cc:441
msgid "nudge location forward"
msgstr ""
-#: editor_ops.cc:379
+#: editor_ops.cc:414
msgid "nudge regions backward"
msgstr ""
-#: editor_ops.cc:468
+#: editor_ops.cc:503
msgid "nudge forward"
msgstr "knuffa framåt"
-#: editor_ops.cc:492
+#: editor_ops.cc:527
msgid "nudge backward"
msgstr ""
-#: editor_ops.cc:557
+#: editor_ops.cc:570
+msgid "sequence regions"
+msgstr ""
+
+#: editor_ops.cc:646
msgid "build_region_boundary_cache called with snap_type = %1"
msgstr ""
-#: editor_ops.cc:1701
+#: editor_ops.cc:1872
msgid "New Location Marker"
msgstr ""
-#: editor_ops.cc:1788
+#: editor_ops.cc:1988
msgid "add markers"
msgstr ""
-#: editor_ops.cc:1894
+#: editor_ops.cc:2094
msgid "clear markers"
msgstr "rensa markörer"
-#: editor_ops.cc:1907
+#: editor_ops.cc:2107
msgid "clear ranges"
msgstr "rensa omfång"
-#: editor_ops.cc:1929
+#: editor_ops.cc:2129
msgid "clear locations"
msgstr "rensa platser"
-#: editor_ops.cc:2000
-msgid "insert dragged region"
-msgstr "infoga dragen region"
-
-#: editor_ops.cc:2078
+#: editor_ops.cc:2191
msgid "insert region"
msgstr "infoga region"
-#: editor_ops.cc:2261
+#: editor_ops.cc:2377
msgid "raise regions"
msgstr ""
-#: editor_ops.cc:2263
+#: editor_ops.cc:2379
msgid "raise region"
msgstr ""
-#: editor_ops.cc:2269
+#: editor_ops.cc:2385
msgid "raise regions to top"
msgstr ""
-#: editor_ops.cc:2271
+#: editor_ops.cc:2387
msgid "raise region to top"
msgstr ""
-#: editor_ops.cc:2277
+#: editor_ops.cc:2393
msgid "lower regions"
msgstr ""
-#: editor_ops.cc:2279 editor_ops.cc:2287
+#: editor_ops.cc:2395 editor_ops.cc:2403
msgid "lower region"
msgstr ""
-#: editor_ops.cc:2285
+#: editor_ops.cc:2401
msgid "lower regions to bottom"
msgstr ""
-#: editor_ops.cc:2370
+#: editor_ops.cc:2486
msgid "Rename Region"
msgstr "Byt namn på region"
-#: editor_ops.cc:2372 processor_box.cc:1806 route_ui.cc:1538
+#: editor_ops.cc:2488 processor_box.cc:2036 route_ui.cc:1620
msgid "New name:"
msgstr "Nytt namn:"
-#: editor_ops.cc:2682
+#: editor_ops.cc:2798
msgid "separate"
msgstr "separera"
-#: editor_ops.cc:2795
+#: editor_ops.cc:2910
msgid "separate region under"
msgstr ""
-#: editor_ops.cc:2916
+#: editor_ops.cc:3031
msgid "trim to selection"
msgstr "beskär till markeringen"
-#: editor_ops.cc:3052
+#: editor_ops.cc:3167
msgid "set sync point"
msgstr ""
-#: editor_ops.cc:3076
+#: editor_ops.cc:3191
msgid "remove region sync"
msgstr ""
-#: editor_ops.cc:3098
+#: editor_ops.cc:3213
msgid "move regions to original position"
msgstr ""
-#: editor_ops.cc:3100
+#: editor_ops.cc:3215
msgid "move region to original position"
msgstr ""
-#: editor_ops.cc:3121
+#: editor_ops.cc:3236
msgid "align selection"
msgstr "justera markering"
-#: editor_ops.cc:3195
+#: editor_ops.cc:3310
msgid "align selection (relative)"
msgstr "justera markering (relativt)"
-#: editor_ops.cc:3229
+#: editor_ops.cc:3344
msgid "align region"
msgstr "justera region"
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim front"
msgstr ""
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim back"
msgstr ""
-#: editor_ops.cc:3310
+#: editor_ops.cc:3425
msgid "trim to loop"
msgstr ""
-#: editor_ops.cc:3320
+#: editor_ops.cc:3435
msgid "trim to punch"
msgstr ""
-#: editor_ops.cc:3382
+#: editor_ops.cc:3497
msgid "trim to region"
msgstr ""
-#: editor_ops.cc:3492
+#: editor_ops.cc:3605
msgid ""
"This track/bus cannot be frozen because the signal adds or loses channels "
"before reaching the outputs.\n"
@@ -4728,11 +4838,11 @@ msgid ""
"input or vice versa."
msgstr ""
-#: editor_ops.cc:3495
+#: editor_ops.cc:3608
msgid "Cannot freeze"
msgstr ""
-#: editor_ops.cc:3501
+#: editor_ops.cc:3614
msgid ""
"<b>%1</b>\n"
"\n"
@@ -4741,23 +4851,23 @@ msgid ""
"Freezing will only process the signal as far as the first send/insert/return."
msgstr ""
-#: editor_ops.cc:3505
+#: editor_ops.cc:3618
msgid "Freeze anyway"
msgstr ""
-#: editor_ops.cc:3506
+#: editor_ops.cc:3619
msgid "Don't freeze"
msgstr ""
-#: editor_ops.cc:3507
+#: editor_ops.cc:3620
msgid "Freeze Limits"
msgstr ""
-#: editor_ops.cc:3522
+#: editor_ops.cc:3635
msgid "Cancel Freeze"
msgstr "Avbryt frysning"
-#: editor_ops.cc:3553
+#: editor_ops.cc:3666
msgid ""
"You can't perform this operation because the processing of the signal will "
"cause one or more of the tracks to end up with a region with more channels "
@@ -4766,51 +4876,63 @@ msgid ""
"You can do this without processing, which is a different operation."
msgstr ""
-#: editor_ops.cc:3557
+#: editor_ops.cc:3670
msgid "Cannot bounce"
msgstr ""
-#: editor_ops.cc:3568
+#: editor_ops.cc:3681
msgid "bounce range"
msgstr "omfång till disk"
-#: editor_ops.cc:3678
+#: editor_ops.cc:3783
msgid "delete"
msgstr ""
-#: editor_ops.cc:3681
+#: editor_ops.cc:3786
msgid "cut"
msgstr "klipp ut"
-#: editor_ops.cc:3684
+#: editor_ops.cc:3789
msgid "copy"
msgstr "kopiera"
-#: editor_ops.cc:3687
+#: editor_ops.cc:3792
msgid "clear"
msgstr "Rensa"
-#: editor_ops.cc:3785
-msgid " objects"
-msgstr " objekt"
+#: editor_ops.cc:3845
+msgid " points"
+msgstr ""
-#: editor_ops.cc:3815
+#: editor_ops.cc:3856
+msgid "points"
+msgstr ""
+
+#: editor_ops.cc:3858
+msgid "regions"
+msgstr ""
+
+#: editor_ops.cc:3860
+msgid "objects"
+msgstr ""
+
+#: editor_ops.cc:3890
msgid " range"
msgstr " omfång"
-#: editor_ops.cc:3957 editor_ops.cc:3984
+#: editor_ops.cc:4059
msgid "remove region"
msgstr "ta bort region"
-#: editor_ops.cc:4391
+#: editor_ops.cc:4475
msgid "duplicate selection"
msgstr "duplicera markering"
-#: editor_ops.cc:4469
+#: editor_ops.cc:4553
msgid "nudge track"
msgstr "knuffa spår"
-#: editor_ops.cc:4506
+#: editor_ops.cc:4590
msgid ""
"Do you really want to destroy the last capture?\n"
"(This is destructive and cannot be undone)"
@@ -4818,132 +4940,140 @@ msgstr ""
"Vill du verkligen radera den senaste inspelningen?\n"
"(Detta är en destruktiv handling och kan ej ångras)"
-#: editor_ops.cc:4509 editor_ops.cc:6512 editor_regions.cc:460
-#: editor_snapshots.cc:158 route_ui.cc:1482
+#: editor_ops.cc:4593 editor_ops.cc:6594 editor_regions.cc:461
+#: editor_snapshots.cc:159 route_ui.cc:1563
msgid "No, do nothing."
msgstr "Nej, gör ingenting."
-#: editor_ops.cc:4510
+#: editor_ops.cc:4594
msgid "Yes, destroy it."
msgstr "Ja, radera den."
-#: editor_ops.cc:4512
+#: editor_ops.cc:4596
msgid "Destroy last capture"
msgstr ""
-#: editor_ops.cc:4573
+#: editor_ops.cc:4657
msgid "normalize"
msgstr "normalisera"
-#: editor_ops.cc:4668
+#: editor_ops.cc:4752
msgid "reverse regions"
msgstr "regioner till motsatt riktning"
-#: editor_ops.cc:4702
+#: editor_ops.cc:4786
msgid "strip silence"
msgstr ""
-#: editor_ops.cc:4763
+#: editor_ops.cc:4847
msgid "Fork Region(s)"
msgstr ""
-#: editor_ops.cc:4963
+#: editor_ops.cc:4868
+msgid "Could not unlink %1"
+msgstr ""
+
+#: editor_ops.cc:5052
msgid "reset region gain"
msgstr ""
-#: editor_ops.cc:5016
+#: editor_ops.cc:5105
msgid "region gain envelope active"
msgstr ""
-#: editor_ops.cc:5043
+#: editor_ops.cc:5132
msgid "toggle region lock"
msgstr ""
-#: editor_ops.cc:5067
+#: editor_ops.cc:5156
msgid "Toggle Video Lock"
msgstr ""
-#: editor_ops.cc:5091
+#: editor_ops.cc:5180
msgid "region lock style"
msgstr ""
-#: editor_ops.cc:5116
+#: editor_ops.cc:5205
msgid "change region opacity"
msgstr ""
-#: editor_ops.cc:5231
+#: editor_ops.cc:5298
+msgid "fade range"
+msgstr ""
+
+#: editor_ops.cc:5336
msgid "set fade in length"
msgstr ""
-#: editor_ops.cc:5238
+#: editor_ops.cc:5343
msgid "set fade out length"
msgstr ""
-#: editor_ops.cc:5283
+#: editor_ops.cc:5388
msgid "set fade in shape"
msgstr ""
-#: editor_ops.cc:5314
+#: editor_ops.cc:5419
msgid "set fade out shape"
msgstr ""
-#: editor_ops.cc:5344
+#: editor_ops.cc:5449
msgid "set fade in active"
msgstr ""
-#: editor_ops.cc:5373
+#: editor_ops.cc:5478
msgid "set fade out active"
msgstr ""
-#: editor_ops.cc:5638
+#: editor_ops.cc:5713
msgid "set loop range from selection"
msgstr ""
-#: editor_ops.cc:5660
+#: editor_ops.cc:5735
msgid "set loop range from edit range"
msgstr ""
-#: editor_ops.cc:5689
+#: editor_ops.cc:5764
msgid "set loop range from region"
msgstr ""
-#: editor_ops.cc:5707
+#: editor_ops.cc:5782
msgid "set punch range from selection"
msgstr ""
-#: editor_ops.cc:5724
+#: editor_ops.cc:5799
msgid "set punch range from edit range"
msgstr ""
-#: editor_ops.cc:5748
+#: editor_ops.cc:5823
msgid "set punch range from region"
msgstr ""
-#: editor_ops.cc:5857
+#: editor_ops.cc:5932
msgid "Add new marker"
msgstr ""
-#: editor_ops.cc:5858
+#: editor_ops.cc:5933
msgid "Set global tempo"
msgstr ""
-#: editor_ops.cc:5861
+#: editor_ops.cc:5936
msgid "Define one bar"
msgstr ""
-#: editor_ops.cc:5862
+#: editor_ops.cc:5937
msgid "Do you want to set the global tempo or add a new tempo marker?"
msgstr ""
-#: editor_ops.cc:5888
+#: editor_ops.cc:5963
msgid "set tempo from region"
msgstr ""
-#: editor_ops.cc:5918
+#: editor_ops.cc:5993
msgid "split regions"
msgstr ""
-#: editor_ops.cc:5960
+#: editor_ops.cc:6035
msgid ""
"You are about to split\n"
"%1\n"
@@ -4951,62 +5081,62 @@ msgid ""
"This could take a long time."
msgstr ""
-#: editor_ops.cc:5967
+#: editor_ops.cc:6042
msgid "Call for the Ferret!"
msgstr ""
-#: editor_ops.cc:5968
+#: editor_ops.cc:6043
msgid ""
"Press OK to continue with this split operation\n"
"or ask the Ferret dialog to tune the analysis"
msgstr ""
-#: editor_ops.cc:5970
+#: editor_ops.cc:6045
msgid "Press OK to continue with this split operation"
msgstr ""
-#: editor_ops.cc:5973
+#: editor_ops.cc:6048
msgid "Excessive split?"
msgstr ""
-#: editor_ops.cc:6125
+#: editor_ops.cc:6200
msgid "place transient"
msgstr ""
-#: editor_ops.cc:6160
+#: editor_ops.cc:6235
msgid "snap regions to grid"
msgstr ""
-#: editor_ops.cc:6199
+#: editor_ops.cc:6274
msgid "Close Region Gaps"
msgstr ""
-#: editor_ops.cc:6204
+#: editor_ops.cc:6279
msgid "Crossfade length"
msgstr ""
-#: editor_ops.cc:6213 editor_ops.cc:6224 rhythm_ferret.cc:120
-#: session_option_editor.cc:153
+#: editor_ops.cc:6288 editor_ops.cc:6299 rhythm_ferret.cc:119
+#: session_option_editor.cc:141
msgid "ms"
msgstr ""
-#: editor_ops.cc:6215
+#: editor_ops.cc:6290
msgid "Pull-back length"
msgstr ""
-#: editor_ops.cc:6228
+#: editor_ops.cc:6303
msgid "Ok"
msgstr ""
-#: editor_ops.cc:6243
+#: editor_ops.cc:6318
msgid "close region gaps"
msgstr ""
-#: editor_ops.cc:6461 route_ui.cc:1456
+#: editor_ops.cc:6543 route_ui.cc:1537
msgid "That would be bad news ...."
msgstr ""
-#: editor_ops.cc:6466 route_ui.cc:1461
+#: editor_ops.cc:6548 route_ui.cc:1542
msgid ""
"Removing the master or monitor bus is such a bad idea\n"
"that %1 is not going to allow it.\n"
@@ -5016,23 +5146,23 @@ msgid ""
"\"allow-special-bus-removal\" option to be \"yes\""
msgstr ""
-#: editor_ops.cc:6483
+#: editor_ops.cc:6565
msgid "tracks"
msgstr "spår"
-#: editor_ops.cc:6485 route_ui.cc:1821
+#: editor_ops.cc:6567 route_ui.cc:1978
msgid "track"
msgstr ""
-#: editor_ops.cc:6489
+#: editor_ops.cc:6571
msgid "busses"
msgstr "buss(ar)"
-#: editor_ops.cc:6491 route_ui.cc:1821
+#: editor_ops.cc:6573 route_ui.cc:1978
msgid "bus"
msgstr ""
-#: editor_ops.cc:6496
+#: editor_ops.cc:6578
msgid ""
"Do you really want to remove %1 %2 and %3 %4?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5040,7 +5170,7 @@ msgid ""
"This action cannot be undone, and the session file will be overwritten!"
msgstr ""
-#: editor_ops.cc:6501
+#: editor_ops.cc:6583
msgid ""
"Do you really want to remove %1 %2?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5048,408 +5178,402 @@ msgid ""
"This action cannot be undone, and the session file will be overwritten!"
msgstr ""
-#: editor_ops.cc:6507
+#: editor_ops.cc:6589
msgid ""
"Do you really want to remove %1 %2?\n"
"\n"
"This action cannot be undon, and the session file will be overwritten"
msgstr ""
-#: editor_ops.cc:6514
+#: editor_ops.cc:6596
msgid "Yes, remove them."
msgstr ""
-#: editor_ops.cc:6516 editor_snapshots.cc:159 route_ui.cc:1483
+#: editor_ops.cc:6598 editor_snapshots.cc:160 route_ui.cc:1564
msgid "Yes, remove it."
msgstr "Ja, ta bort den."
-#: editor_ops.cc:6521 editor_ops.cc:6523
+#: editor_ops.cc:6603 editor_ops.cc:6605
msgid "Remove %1"
msgstr ""
-#: editor_ops.cc:6582
+#: editor_ops.cc:6668
msgid "insert time"
msgstr ""
-#: editor_ops.cc:6739
+#: editor_ops.cc:6832
msgid "There are too many tracks to fit in the current window"
msgstr ""
-#: editor_ops.cc:6839
+#: editor_ops.cc:6893
+msgid "Sel"
+msgstr ""
+
+#: editor_ops.cc:6932
#, c-format
msgid "Saved view %u"
msgstr ""
-#: editor_ops.cc:6864
+#: editor_ops.cc:6957
msgid "mute regions"
msgstr ""
-#: editor_ops.cc:6866
+#: editor_ops.cc:6959
msgid "mute region"
msgstr "tysta region"
-#: editor_ops.cc:6903
+#: editor_ops.cc:6996
msgid "combine regions"
msgstr ""
-#: editor_ops.cc:6941
+#: editor_ops.cc:7034
msgid "uncombine regions"
msgstr ""
-#: editor_regions.cc:111
-msgid "Region name, with number of channels in []'s"
+#: editor_ops.cc:7071
+msgid "%1: Locked"
+msgstr ""
+
+#: editor_ops.cc:7078
+msgid "Click to unlock"
+msgstr ""
+
+#: editor_ops.cc:7132
+msgid "Moving embedded files into session folder"
msgstr ""
#: editor_regions.cc:112
+msgid "Region name, with number of channels in []'s"
+msgstr ""
+
+#: editor_regions.cc:113
msgid "Position of start of region"
msgstr ""
-#: editor_regions.cc:113 editor_regions.cc:849 time_info_box.cc:98
+#: editor_regions.cc:114 editor_regions.cc:850 time_info_box.cc:101
msgid "End"
msgstr "Slut"
-#: editor_regions.cc:113
+#: editor_regions.cc:114
msgid "Position of end of region"
msgstr ""
-#: editor_regions.cc:114
+#: editor_regions.cc:115
msgid "Length of the region"
msgstr ""
-#: editor_regions.cc:115
+#: editor_regions.cc:116
msgid "Position of region sync point, relative to start of the region"
msgstr ""
-#: editor_regions.cc:116
+#: editor_regions.cc:117
msgid "Length of region fade-in (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:117
-msgid "Length of region fade-out (units: secondary clock), () if dsisabled"
+#: editor_regions.cc:118
+msgid "Length of region fade-out (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:118 mixer_strip.cc:1954 mono_panner.cc:179
-#: stereo_panner.cc:217 stereo_panner.cc:240
+#: editor_regions.cc:119 mixer_strip.cc:2010 mono_panner.cc:204
+#: panner2d.cc:237 stereo_panner.cc:248 stereo_panner.cc:271
msgid "L"
msgstr "V"
-#: editor_regions.cc:118
+#: editor_regions.cc:119
msgid "Region position locked?"
msgstr ""
-#: editor_regions.cc:119
+#: editor_regions.cc:120 route_time_axis.cc:99
msgid "G"
msgstr ""
-#: editor_regions.cc:119
+#: editor_regions.cc:120
msgid "Region position glued to Bars|Beats time?"
msgstr ""
-#: editor_regions.cc:120 editor_routes.cc:207 gain_meter.cc:762
-#: mixer_strip.cc:1931 meter_strip.cc:320 panner_ui.cc:553
-#: stereo_panner.cc:237
+#: editor_regions.cc:121 editor_routes.cc:209 gain_meter.cc:768
+#: mixer_strip.cc:1987 meter_strip.cc:359 panner_ui.cc:602
+#: route_time_axis.cc:2568 stereo_panner.cc:268 time_axis_view.cc:1156
msgid "M"
msgstr ""
-#: editor_regions.cc:120
+#: editor_regions.cc:121
msgid "Region muted?"
msgstr ""
-#: editor_regions.cc:121
+#: editor_regions.cc:122 mixer_strip.cc:1810
msgid "O"
msgstr "A"
-#: editor_regions.cc:121
+#: editor_regions.cc:122
msgid "Region opaque (blocks regions below it from being heard)?"
msgstr ""
-#: editor_regions.cc:310 editor_regions.cc:315 editor_regions.cc:317
+#: editor_regions.cc:311 editor_regions.cc:316 editor_regions.cc:318
msgid "Hidden"
msgstr "Dold"
-#: editor_regions.cc:389
+#: editor_regions.cc:390
msgid "(MISSING) "
msgstr ""
-#: editor_regions.cc:457
+#: editor_regions.cc:458
msgid ""
"Do you really want to remove unused regions?\n"
"(This is destructive and cannot be undone)"
msgstr ""
-#: editor_regions.cc:461
+#: editor_regions.cc:462
msgid "Yes, remove."
msgstr ""
-#: editor_regions.cc:463
+#: editor_regions.cc:464
msgid "Remove unused regions"
msgstr ""
-#: editor_regions.cc:816 editor_regions.cc:830 editor_regions.cc:844
+#: editor_regions.cc:817 editor_regions.cc:831 editor_regions.cc:845
msgid "Mult."
msgstr ""
-#: editor_regions.cc:847 midi_list_editor.cc:103 time_info_box.cc:91
+#: editor_regions.cc:848 midi_list_editor.cc:103 time_info_box.cc:94
msgid "Start"
msgstr ""
-#: editor_regions.cc:865 editor_regions.cc:881
+#: editor_regions.cc:866 editor_regions.cc:882
msgid "Multiple"
msgstr ""
-#: editor_regions.cc:950
+#: editor_regions.cc:951
msgid "MISSING "
msgstr ""
-#: editor_routes.cc:178 editor_routes.cc:210
+#: editor_routes.cc:180 editor_routes.cc:212
msgid "SS"
msgstr ""
-#: editor_routes.cc:202
+#: editor_routes.cc:204
msgid "Track/Bus Name"
msgstr ""
-#: editor_routes.cc:203
+#: editor_routes.cc:205
msgid "Track/Bus visible ?"
msgstr ""
-#: editor_routes.cc:204 mixer_strip.cc:1945 meter_strip.cc:334
-#: route_time_axis.cc:2407
+#: editor_routes.cc:206 mixer_strip.cc:2001 meter_strip.cc:371
+#: route_time_axis.cc:101 route_time_axis.cc:2556
msgid "A"
msgstr ""
-#: editor_routes.cc:204
+#: editor_routes.cc:206
msgid "Track/Bus active ?"
msgstr ""
-#: editor_routes.cc:205 mixer_strip.cc:1932
+#: editor_routes.cc:207 mixer_strip.cc:1988 mixer_strip.cc:2009
+#: meter_strip.cc:379
msgid "I"
msgstr ""
-#: editor_routes.cc:205
+#: editor_routes.cc:207
msgid "MIDI input enabled"
msgstr ""
-#: editor_routes.cc:206 mixer_strip.cc:1930 mono_panner.cc:198
-#: stereo_panner.cc:215 stereo_panner.cc:242
+#: editor_routes.cc:208 mono_panner.cc:221 panner2d.cc:238
+#: stereo_panner.cc:246 stereo_panner.cc:273
msgid "R"
msgstr "H"
-#: editor_routes.cc:206
+#: editor_routes.cc:208
msgid "Record enabled"
msgstr ""
-#: editor_routes.cc:207
+#: editor_routes.cc:209
msgid "Muted"
msgstr ""
-#: editor_routes.cc:208 mixer_strip.cc:1941 meter_strip.cc:330
+#: editor_routes.cc:210 mixer_strip.cc:1997 meter_strip.cc:367
+#: route_time_axis.cc:2565
msgid "S"
msgstr ""
-#: editor_routes.cc:208
+#: editor_routes.cc:210
msgid "Soloed"
msgstr ""
-#: editor_routes.cc:209
+#: editor_routes.cc:211
msgid "SI"
msgstr ""
-#: editor_routes.cc:209 mixer_strip.cc:353 rc_option_editor.cc:1867
+#: editor_routes.cc:211
msgid "Solo Isolated"
msgstr ""
-#: editor_routes.cc:210
+#: editor_routes.cc:212
msgid "Solo Safe (Locked)"
msgstr ""
-#: editor_routes.cc:471 mixer_ui.cc:1162
+#: editor_routes.cc:474 mixer_ui.cc:1182
msgid "Hide All"
msgstr "Dölj Alla"
-#: editor_routes.cc:472 mixer_ui.cc:1163
+#: editor_routes.cc:475 mixer_ui.cc:1183
msgid "Show All Audio Tracks"
msgstr "Visa alla spår"
-#: editor_routes.cc:473 mixer_ui.cc:1164
+#: editor_routes.cc:476 mixer_ui.cc:1184
msgid "Hide All Audio Tracks"
msgstr "Dölj alla spår"
-#: editor_routes.cc:474 mixer_ui.cc:1165
+#: editor_routes.cc:477 mixer_ui.cc:1185
msgid "Show All Audio Busses"
msgstr "Visa alla bussar"
-#: editor_routes.cc:475 mixer_ui.cc:1166
+#: editor_routes.cc:478 mixer_ui.cc:1186
msgid "Hide All Audio Busses"
msgstr "Dölj alla bussar"
-#: editor_routes.cc:476
+#: editor_routes.cc:479
msgid "Show All Midi Tracks"
msgstr "Visa alla MIDI-spår"
-#: editor_routes.cc:477
+#: editor_routes.cc:480
msgid "Hide All Midi Tracks"
msgstr "Göm alla MIDI-spår"
-#: editor_routes.cc:478
+#: editor_routes.cc:481
msgid "Show Tracks With Regions Under Playhead"
msgstr "Visa spår med regioner under startmarkören"
-#: editor_rulers.cc:340
+#: editor_rulers.cc:216
msgid "New location marker"
msgstr "Ny platsmarkör"
-#: editor_rulers.cc:341
+#: editor_rulers.cc:217
msgid "Clear all locations"
msgstr "Rensa alla platsmarkörer"
-#: editor_rulers.cc:342
+#: editor_rulers.cc:218
msgid "Unhide locations"
msgstr "Visa platsmarkörer"
-#: editor_rulers.cc:346
+#: editor_rulers.cc:222
msgid "New range"
msgstr ""
-#: editor_rulers.cc:347
+#: editor_rulers.cc:223
msgid "Clear all ranges"
msgstr "Rensa alla omfång"
-#: editor_rulers.cc:348
+#: editor_rulers.cc:224
msgid "Unhide ranges"
msgstr "Visa omfång"
-#: editor_rulers.cc:358
+#: editor_rulers.cc:234
msgid "New CD track marker"
msgstr "Ny CD-spårsmarkör"
-#: editor_rulers.cc:363 tempo_dialog.cc:40
+#: editor_rulers.cc:239 tempo_dialog.cc:39
msgid "New Tempo"
msgstr "Nytt tempo"
-#: editor_rulers.cc:368 tempo_dialog.cc:255
+#: editor_rulers.cc:243 tempo_dialog.cc:289
msgid "New Meter"
msgstr "Ny taktart"
-#: editor_rulers.cc:373
+#: editor_rulers.cc:247
msgid "Timeline height"
msgstr ""
-#: editor_rulers.cc:383
+#: editor_rulers.cc:257
msgid "Align Video Track"
msgstr ""
-#: editor_selection.cc:889 editor_selection.cc:932
+#: editor_selection.cc:895 editor_selection.cc:938
msgid "set selected regions"
msgstr "ställ in valda regioner"
-#: editor_selection.cc:1414
+#: editor_selection.cc:1417
msgid "select all"
msgstr "Markera allt"
-#: editor_selection.cc:1506
+#: editor_selection.cc:1511
msgid "select all within"
msgstr "markera allt inom"
-#: editor_selection.cc:1564
+#: editor_selection.cc:1569
msgid "set selection from range"
msgstr "ställ markering från omfång"
-#: editor_selection.cc:1604
+#: editor_selection.cc:1609
msgid "select all from range"
msgstr "markera allt inom omfång"
-#: editor_selection.cc:1635
+#: editor_selection.cc:1640
msgid "select all from punch"
msgstr "markera allt från inslag"
-#: editor_selection.cc:1666
+#: editor_selection.cc:1671
msgid "select all from loop"
msgstr "markera allt från loop"
-#: editor_selection.cc:1702
+#: editor_selection.cc:1707
msgid "select all after cursor"
msgstr "markera allt efter markör"
-#: editor_selection.cc:1704
+#: editor_selection.cc:1709
msgid "select all before cursor"
msgstr "markera allt före markör"
-#: editor_selection.cc:1753
+#: editor_selection.cc:1758
msgid "select all after edit"
msgstr ""
-#: editor_selection.cc:1755
+#: editor_selection.cc:1760
msgid "select all before edit"
msgstr ""
-#: editor_selection.cc:1888
-msgid "No edit range defined"
-msgstr ""
-
-#: editor_selection.cc:1894
-msgid ""
-"the edit point is Selected Marker\n"
-"but there is no selected marker."
-msgstr ""
-
-#: editor_snapshots.cc:136
+#: editor_snapshots.cc:137
msgid "Rename Snapshot"
msgstr ""
-#: editor_snapshots.cc:138
+#: editor_snapshots.cc:139
msgid "New name of snapshot"
msgstr ""
-#: editor_snapshots.cc:156
+#: editor_snapshots.cc:157
msgid ""
"Do you really want to remove snapshot \"%1\" ?\n"
"(which cannot be undone)"
msgstr ""
-#: editor_snapshots.cc:161
+#: editor_snapshots.cc:162
msgid "Remove snapshot"
msgstr ""
-#: editor_tempodisplay.cc:208 editor_tempodisplay.cc:250
+#: editor_tempodisplay.cc:193 editor_tempodisplay.cc:235
msgid "add"
msgstr "lägg till"
-#: editor_tempodisplay.cc:231
+#: editor_tempodisplay.cc:216
msgid "add tempo mark"
msgstr "lägg till tempomarkör"
-#: editor_tempodisplay.cc:272
+#: editor_tempodisplay.cc:257
msgid "add meter mark"
msgstr "lägg till taktartsmarkör"
-#: editor_tempodisplay.cc:288 editor_tempodisplay.cc:367
-#: editor_tempodisplay.cc:386
-msgid ""
-"programming error: tempo marker canvas item has no marker object pointer!"
-msgstr ""
-
-#: editor_tempodisplay.cc:293 editor_tempodisplay.cc:372
-msgid "programming error: marker for tempo is not a tempo marker!"
-msgstr ""
-
-#: editor_tempodisplay.cc:305 editor_tempodisplay.cc:335
+#: editor_tempodisplay.cc:290 editor_tempodisplay.cc:320
msgid "done"
msgstr "klar"
-#: editor_tempodisplay.cc:324 editor_tempodisplay.cc:352
+#: editor_tempodisplay.cc:309 editor_tempodisplay.cc:337
msgid "replace tempo mark"
msgstr "ersätt tempomarkör"
-#: editor_tempodisplay.cc:391 editor_tempodisplay.cc:423
-msgid "programming error: marker for meter is not a meter marker!"
-msgstr ""
-
-#: editor_tempodisplay.cc:401 editor_tempodisplay.cc:435
+#: editor_tempodisplay.cc:360 editor_tempodisplay.cc:394
msgid "remove tempo mark"
msgstr "ta bort tempomarkör"
-#: editor_tempodisplay.cc:418
+#: editor_tempodisplay.cc:377
msgid ""
"programming error: meter marker canvas item has no marker object pointer!"
msgstr ""
@@ -5466,220 +5590,264 @@ msgstr ""
msgid "timefx cannot be started - thread creation error"
msgstr ""
-#: engine_dialog.cc:79
+#: engine_dialog.cc:81
msgid "Device Control Panel"
msgstr ""
-#: engine_dialog.cc:80 engine_dialog.cc:1725
+#: engine_dialog.cc:82
+msgid "Midi Device Setup"
+msgstr ""
+
+#: engine_dialog.cc:83 engine_dialog.cc:1999
msgid "Measure"
msgstr ""
-#: engine_dialog.cc:81
+#: engine_dialog.cc:84
msgid "Use results"
msgstr ""
-#: engine_dialog.cc:82
+#: engine_dialog.cc:85
msgid "Back to settings ... (ignore results)"
msgstr ""
-#: engine_dialog.cc:83
-msgid "Calibrate..."
+#: engine_dialog.cc:86
+msgid "Calibrate Audio"
msgstr ""
-#: engine_dialog.cc:87
-msgid "Refresh list"
+#: engine_dialog.cc:90
+msgid "Back to settings"
msgstr ""
-#: engine_dialog.cc:107
+#: engine_dialog.cc:108
msgid ""
"No audio/MIDI backends detected. %1 cannot run\n"
"\n"
"(This is a build/packaging/system error. It should never happen.)"
msgstr ""
-#: engine_dialog.cc:136
+#: engine_dialog.cc:135
msgid "Latency Measurement Tool"
msgstr ""
-#: engine_dialog.cc:151
+#: engine_dialog.cc:147 engine_dialog.cc:561
msgid ""
"<span weight=\"bold\">Turn down the volume on your audio equipment to a very "
"low level.</span>"
msgstr ""
-#: engine_dialog.cc:159
+#: engine_dialog.cc:156
msgid "Select two channels below and connect them using a cable."
msgstr ""
-#: engine_dialog.cc:164
+#: engine_dialog.cc:161
msgid "Output channel"
msgstr ""
-#: engine_dialog.cc:172
+#: engine_dialog.cc:169
msgid "Input channel"
msgstr ""
-#: engine_dialog.cc:207
+#: engine_dialog.cc:204
msgid "Once the channels are connected, click the \"Measure\" button."
msgstr ""
-#: engine_dialog.cc:214
+#: engine_dialog.cc:211
msgid "When satisfied with the results, click the \"Use results\" button."
msgstr ""
-#: engine_dialog.cc:229 engine_dialog.cc:1727
+#: engine_dialog.cc:226 engine_dialog.cc:2107 engine_dialog.cc:2117
msgid "No measurement results yet"
msgstr ""
-#: engine_dialog.cc:238 route_params_ui.cc:105
+#: engine_dialog.cc:236 route_params_ui.cc:105
msgid "Latency"
msgstr "Fördröjning"
-#: engine_dialog.cc:333
+#: engine_dialog.cc:351
msgid "Audio System:"
msgstr ""
-#: engine_dialog.cc:374
+#: engine_dialog.cc:394
msgid "Driver:"
msgstr "Drivrutin:"
-#: engine_dialog.cc:380
+#: engine_dialog.cc:400
msgid "Device:"
msgstr ""
-#: engine_dialog.cc:385 engine_dialog.cc:475 sfdb_ui.cc:147 sfdb_ui.cc:260
-#: sfdb_ui.cc:265
+#: engine_dialog.cc:405 engine_dialog.cc:496 sfdb_ui.cc:151 sfdb_ui.cc:341
+#: sfdb_ui.cc:346
msgid "Sample rate:"
msgstr "Samplingsfrekvens:"
-#: engine_dialog.cc:391 engine_dialog.cc:482
+#: engine_dialog.cc:411 engine_dialog.cc:503
msgid "Buffer size:"
msgstr "Buffertstorlek:"
-#: engine_dialog.cc:404
+#: engine_dialog.cc:424
msgid "Input Channels:"
msgstr ""
-#: engine_dialog.cc:415
+#: engine_dialog.cc:435
msgid "Output Channels:"
msgstr ""
-#: engine_dialog.cc:426
+#: engine_dialog.cc:446
msgid "Hardware input latency:"
msgstr "Hårdvarans ingångsfördröjning"
-#: engine_dialog.cc:429 engine_dialog.cc:442
+#: engine_dialog.cc:449 engine_dialog.cc:462
msgid "samples"
msgstr "samplingar"
-#: engine_dialog.cc:439
+#: engine_dialog.cc:459
msgid "Hardware output latency:"
msgstr "Hårdvarans utgångsfördröjning"
-#: engine_dialog.cc:450
+#: engine_dialog.cc:470
msgid "MIDI System"
msgstr ""
-#: engine_dialog.cc:467
+#: engine_dialog.cc:488
msgid ""
"The %1 audio backend was configured and started externally.\n"
"This limits your control over it."
msgstr ""
-#: engine_dialog.cc:521
+#: engine_dialog.cc:543
+msgid ""
+"Failed to start or connect to audio-engine.\n"
+"\n"
+"Latency calibration requires a working audio interface."
+msgstr ""
+
+#: engine_dialog.cc:549
msgid ""
"Your selected audio configuration is playback- or capture-only.\n"
"\n"
"Latency calibration requires playback and capture"
msgstr ""
-#: engine_dialog.cc:595
-msgid "MIDI Inputs"
+#: engine_dialog.cc:630
+msgid "MIDI Devices"
+msgstr ""
+
+#: engine_dialog.cc:636
+msgid "Device"
+msgstr "Enhet"
+
+#: engine_dialog.cc:638
+msgid "Hardware Latencies"
msgstr ""
-#: engine_dialog.cc:612
-msgid "MIDI Outputs"
+#: engine_dialog.cc:679
+msgid "Calibrate"
msgstr ""
-#: engine_dialog.cc:696
+#: engine_dialog.cc:761
msgid "all available channels"
msgstr ""
-#: engine_dialog.cc:890
+#: engine_dialog.cc:954
#, c-format
msgid "%u samples"
msgstr ""
-#: engine_dialog.cc:941
+#: engine_dialog.cc:1001
#, c-format
msgid "(%.1f msecs)"
msgstr ""
-#: engine_dialog.cc:1389
+#: engine_dialog.cc:1510
+msgid "Could not start backend engine %1"
+msgstr ""
+
+#: engine_dialog.cc:1561
msgid "Cannot set driver to %1"
msgstr ""
-#: engine_dialog.cc:1393
+#: engine_dialog.cc:1565
msgid "Cannot set device name to %1"
msgstr ""
-#: engine_dialog.cc:1397
+#: engine_dialog.cc:1569
msgid "Cannot set sample rate to %1"
msgstr ""
-#: engine_dialog.cc:1401
+#: engine_dialog.cc:1573
msgid "Cannot set buffer size to %1"
msgstr ""
-#: engine_dialog.cc:1407
+#: engine_dialog.cc:1579
msgid "Cannot set input channels to %1"
msgstr ""
-#: engine_dialog.cc:1411
+#: engine_dialog.cc:1583
msgid "Cannot set output channels to %1"
msgstr ""
-#: engine_dialog.cc:1417
+#: engine_dialog.cc:1589
msgid "Cannot set input latency to %1"
msgstr ""
-#: engine_dialog.cc:1421
+#: engine_dialog.cc:1593
msgid "Cannot set output latency to %1"
msgstr ""
-#: engine_dialog.cc:1654
+#: engine_dialog.cc:1858 engine_dialog.cc:1917
msgid "No signal detected "
msgstr ""
-#: engine_dialog.cc:1667 port_insert_ui.cc:71 port_insert_ui.cc:99
+#: engine_dialog.cc:1871 engine_dialog.cc:1925 port_insert_ui.cc:70
+#: port_insert_ui.cc:98
msgid "Disconnected from audio engine"
msgstr ""
-#: engine_dialog.cc:1681
+#: engine_dialog.cc:1880 engine_dialog.cc:1933
+msgid "Detected roundtrip latency: "
+msgstr ""
+
+#: engine_dialog.cc:1882 engine_dialog.cc:1935
+msgid "Systemic latency: "
+msgstr ""
+
+#: engine_dialog.cc:1889
msgid "(signal detection error)"
msgstr ""
-#: engine_dialog.cc:1687
+#: engine_dialog.cc:1895
msgid "(inverted - bad wiring)"
msgstr ""
-#: engine_dialog.cc:1697
-msgid "Detected roundtrip latency: %1"
+#: engine_dialog.cc:1942
+msgid "(averaging)"
+msgstr ""
+
+#: engine_dialog.cc:1948
+msgid "(too large jitter)"
msgstr ""
-#: engine_dialog.cc:1709 port_insert_ui.cc:135
+#: engine_dialog.cc:1952
+msgid "(large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1963
+msgid "Timeout - large MIDI jitter."
+msgstr ""
+
+#: engine_dialog.cc:1979 port_insert_ui.cc:134
msgid "Detecting ..."
msgstr ""
-#: engine_dialog.cc:1789
+#: engine_dialog.cc:2073
msgid "Disconnect from %1"
msgstr ""
-#: engine_dialog.cc:1801
+#: engine_dialog.cc:2085
msgid "Connect to %1"
msgstr ""
-#: export_channel_selector.cc:45 sfdb_ui.cc:145
+#: export_channel_selector.cc:45 sfdb_ui.cc:149
msgid "Channels:"
msgstr "Kanaler:"
@@ -5721,92 +5889,100 @@ msgstr ""
msgid "List files"
msgstr ""
-#: export_dialog.cc:164 export_timespan_selector.cc:355
-#: export_timespan_selector.cc:417
+#: export_dialog.cc:158 export_format_dialog.cc:59
+msgid "File format"
+msgstr ""
+
+#: export_dialog.cc:159 export_timespan_selector.cc:374
+#: export_timespan_selector.cc:436
msgid "Time Span"
msgstr "Tidsspann"
-#: export_dialog.cc:176
+#: export_dialog.cc:160
msgid "Channels"
msgstr "Kanal(er)"
-#: export_dialog.cc:187
-msgid "Time span and channel options"
-msgstr ""
-
-#: export_dialog.cc:221
+#: export_dialog.cc:182
msgid ""
"Export has been aborted due to an error!\n"
"See the Log for details."
msgstr ""
-#: export_dialog.cc:290
+#: export_dialog.cc:251
msgid "Files that will be overwritten"
msgstr ""
-#: export_dialog.cc:316
+#: export_dialog.cc:296
+msgid "Export initialization failed: %1"
+msgstr ""
+
+#: export_dialog.cc:306
msgid "Stop Export"
msgstr "Avbryt Export"
-#: export_dialog.cc:337
+#: export_dialog.cc:327
msgid "export"
msgstr ""
-#: export_dialog.cc:356
+#: export_dialog.cc:346
msgid "Normalizing '%3' (timespan %1 of %2)"
msgstr ""
-#: export_dialog.cc:360
+#: export_dialog.cc:350
msgid "Exporting '%3' (timespan %1 of %2)"
msgstr ""
-#: export_dialog.cc:383 export_dialog.cc:385
+#: export_dialog.cc:373 export_dialog.cc:375
msgid "<span color=\"#ffa755\">Error: "
msgstr ""
-#: export_dialog.cc:395
+#: export_dialog.cc:385
msgid "<span color=\"#ffa755\">Warning: "
msgstr ""
-#: export_dialog.cc:397
+#: export_dialog.cc:387
msgid ""
"\n"
"<span color=\"#ffa755\">Warning: "
msgstr ""
-#: export_dialog.cc:420
+#: export_dialog.cc:411
msgid "Export Selection"
msgstr ""
-#: export_dialog.cc:433
+#: export_dialog.cc:425
msgid "Export Region"
msgstr ""
-#: export_dialog.cc:443
+#: export_dialog.cc:434
msgid "Source"
msgstr ""
-#: export_dialog.cc:458
+#: export_dialog.cc:450
msgid "Stem Export"
msgstr ""
-#: export_file_notebook.cc:38
+#: export_file_notebook.cc:39
msgid "Add another format"
msgstr ""
-#: export_file_notebook.cc:178
+#: export_file_notebook.cc:193
msgid "Format"
msgstr ""
-#: export_file_notebook.cc:179
+#: export_file_notebook.cc:194
msgid "Location"
msgstr "Plats"
-#: export_file_notebook.cc:255
+#: export_file_notebook.cc:195
+msgid "Upload to Soundcloud"
+msgstr ""
+
+#: export_file_notebook.cc:273
msgid "No format!"
msgstr ""
-#: export_file_notebook.cc:267
+#: export_file_notebook.cc:291
msgid "Format %1: %2"
msgstr ""
@@ -5827,9 +6003,9 @@ msgid "Folder:"
msgstr "Mapp:"
#: export_filename_selector.cc:37 session_import_dialog.cc:44
-#: transcode_video_dialog.cc:58 video_server_dialog.cc:45
-#: video_server_dialog.cc:47 export_video_dialog.cc:68
-#: export_video_dialog.cc:70
+#: transcode_video_dialog.cc:59 video_server_dialog.cc:59
+#: video_server_dialog.cc:61 export_video_dialog.cc:69
+#: export_video_dialog.cc:71
msgid "Browse"
msgstr "Bläddra"
@@ -5889,67 +6065,69 @@ msgstr "Beskär tystnad i slutet"
msgid "Add silence at end:"
msgstr "Lägg till tystnad i slutet:"
-#: export_format_dialog.cc:55
+#: export_format_dialog.cc:54
+msgid ""
+"Command to run post-export\n"
+"(%f=full path & filename, %d=directory, %b=basename):"
+msgstr ""
+
+#: export_format_dialog.cc:57
msgid "Compatibility"
msgstr "Kompatibilitet"
-#: export_format_dialog.cc:56
+#: export_format_dialog.cc:58
msgid "Quality"
msgstr "Kvalitet"
-#: export_format_dialog.cc:57
-msgid "File format"
-msgstr ""
-
-#: export_format_dialog.cc:59
+#: export_format_dialog.cc:61
msgid "Sample rate conversion quality:"
msgstr ""
-#: export_format_dialog.cc:66
+#: export_format_dialog.cc:68
msgid "Dithering"
msgstr ""
-#: export_format_dialog.cc:68
+#: export_format_dialog.cc:70
msgid "Create CUE file for disk-at-once CD/DVD creation"
msgstr ""
-#: export_format_dialog.cc:69
+#: export_format_dialog.cc:71
msgid "Create TOC file for disk-at-once CD/DVD creation"
msgstr ""
-#: export_format_dialog.cc:71
+#: export_format_dialog.cc:73
msgid "Tag file with session's metadata"
msgstr ""
-#: export_format_dialog.cc:461
+#: export_format_dialog.cc:470
msgid "Best (sinc)"
msgstr ""
-#: export_format_dialog.cc:466
+#: export_format_dialog.cc:475
msgid "Medium (sinc)"
msgstr ""
-#: export_format_dialog.cc:471
+#: export_format_dialog.cc:480
msgid "Fast (sinc)"
msgstr ""
-#: export_format_dialog.cc:481
+#: export_format_dialog.cc:490
msgid "Zero order hold"
msgstr ""
-#: export_format_dialog.cc:879
+#: export_format_dialog.cc:895
msgid "Linear encoding options"
msgstr ""
-#: export_format_dialog.cc:895
+#: export_format_dialog.cc:911
msgid "Ogg Vorbis options"
msgstr ""
-#: export_format_dialog.cc:908
+#: export_format_dialog.cc:922
msgid "FLAC options"
msgstr ""
-#: export_format_dialog.cc:925
+#: export_format_dialog.cc:939
msgid "Broadcast Wave options"
msgstr ""
@@ -5975,11 +6153,15 @@ msgstr ""
msgid "Show Times as:"
msgstr "Visa tider som:"
-#: export_timespan_selector.cc:204
+#: export_timespan_selector.cc:53 processor_box.cc:2510
+msgid "Select All"
+msgstr "Markera allt"
+
+#: export_timespan_selector.cc:223
msgid " to "
msgstr ""
-#: export_timespan_selector.cc:348 export_timespan_selector.cc:407
+#: export_timespan_selector.cc:367 export_timespan_selector.cc:426
msgid "Range"
msgstr "Omfång"
@@ -5995,173 +6177,141 @@ msgstr ""
msgid "getSoundResourceFile: root = %1, != response"
msgstr ""
-#: sfdb_freesound_mootcher.cc:410
+#: sfdb_freesound_mootcher.cc:410 rc_option_editor.cc:1729
msgid "%1"
msgstr ""
-#: gain_meter.cc:105 gain_meter.cc:360 gain_meter.cc:465 gain_meter.cc:859
+#: gain_meter.cc:106 gain_meter.cc:366 gain_meter.cc:471 gain_meter.cc:865
msgid "-inf"
msgstr ""
-#: gain_meter.cc:111 gain_meter.cc:916
+#: gain_meter.cc:113 gain_meter.cc:927
msgid "Fader automation mode"
msgstr "Automatiseringsläge för reglage"
-#: gain_meter.cc:112 gain_meter.cc:917
+#: gain_meter.cc:114 gain_meter.cc:928
msgid "Fader automation type"
msgstr "Automatiseringstyp för reglage"
-#: gain_meter.cc:121 gain_meter.cc:798 panner_ui.cc:177 panner_ui.cc:589
+#: gain_meter.cc:123 gain_meter.cc:804 panner_ui.cc:178 panner_ui.cc:638
msgid "Abs"
msgstr ""
-#: gain_meter.cc:765 mixer_strip.cc:1948 meter_strip.cc:337 panner_ui.cc:556
-#: route_time_axis.cc:2411
+#: gain_meter.cc:771 mixer_strip.cc:2004 meter_strip.cc:374 panner_ui.cc:605
+#: route_time_axis.cc:100 route_time_axis.cc:2560
msgid "P"
msgstr "U"
-#: gain_meter.cc:768 panner_ui.cc:559
+#: gain_meter.cc:774 panner_ui.cc:608
msgid "T"
msgstr "B"
-#: gain_meter.cc:771 panner_ui.cc:562
+#: gain_meter.cc:777 panner_ui.cc:611
msgid "W"
msgstr "S"
-#: generic_pluginui.cc:81
+#: generic_pluginui.cc:79
msgid "<span size=\"large\">Presets</span>"
msgstr "<span size=\"large\">Förinställningar</span>"
-#: generic_pluginui.cc:230
+#: generic_pluginui.cc:228
msgid "Switches"
msgstr ""
-#: generic_pluginui.cc:240 generic_pluginui.cc:374 processor_box.cc:2251
+#: generic_pluginui.cc:238 generic_pluginui.cc:372 processor_box.cc:2484
msgid "Controls"
msgstr "Kontroller"
-#: generic_pluginui.cc:268
+#: generic_pluginui.cc:266
msgid "Plugin Editor: could not build control element for port %1"
msgstr ""
"Insticksprogramsredigerare: kunde inte bygga kontrollelement för port%1"
-#: generic_pluginui.cc:406
+#: generic_pluginui.cc:404
msgid "Meters"
msgstr ""
-#: generic_pluginui.cc:421
+#: generic_pluginui.cc:419
msgid "Automation control"
msgstr "Automatiseringskontroll"
-#: generic_pluginui.cc:428
+#: generic_pluginui.cc:426
msgid "Mgnual"
msgstr ""
-#: global_port_matrix.cc:157
+#: global_port_matrix.cc:158
msgid "Audio Connection Manager"
msgstr "Ljudspårsanslutningar"
-#: global_port_matrix.cc:160
+#: global_port_matrix.cc:161
msgid "MIDI Connection Manager"
msgstr "MIDI-spåranslutningar"
-#: global_port_matrix.cc:200 io_selector.cc:210 mixer_strip.cc:719
-#: mixer_strip.cc:845
+#: global_port_matrix.cc:201 io_selector.cc:211 mixer_strip.cc:799
+#: mixer_strip.cc:895
msgid "Disconnect"
msgstr "Koppla från"
-#: global_port_matrix.cc:206 io_selector.cc:216
+#: global_port_matrix.cc:207 io_selector.cc:217
msgid "port"
msgstr ""
-#: group_tabs.cc:308
+#: group_tabs.cc:312
msgid "Selection..."
msgstr "Markering..."
-#: group_tabs.cc:309
+#: group_tabs.cc:313
msgid "Record Enabled..."
msgstr "Inspelningsläge"
-#: group_tabs.cc:310
+#: group_tabs.cc:314
msgid "Soloed..."
msgstr "Solad..."
-#: group_tabs.cc:316
+#: group_tabs.cc:320
msgid "Create New Group ..."
msgstr ""
-#: group_tabs.cc:317
+#: group_tabs.cc:321
msgid "Create New Group From"
msgstr ""
-#: group_tabs.cc:320
+#: group_tabs.cc:324
msgid "Edit Group..."
msgstr ""
-#: group_tabs.cc:321
+#: group_tabs.cc:325
msgid "Collect Group"
msgstr ""
-#: group_tabs.cc:322
+#: group_tabs.cc:326
msgid "Remove Group"
msgstr ""
-#: group_tabs.cc:325
+#: group_tabs.cc:329
msgid "Remove Subgroup Bus"
msgstr ""
-#: group_tabs.cc:327
+#: group_tabs.cc:331
msgid "Add New Subgroup Bus"
msgstr ""
-#: group_tabs.cc:329
+#: group_tabs.cc:333
msgid "Add New Aux Bus (pre-fader)"
msgstr ""
-#: group_tabs.cc:330
+#: group_tabs.cc:334
msgid "Add New Aux Bus (post-fader)"
msgstr ""
-#: group_tabs.cc:336
+#: group_tabs.cc:340
msgid "Enable All Groups"
msgstr ""
-#: group_tabs.cc:337
+#: group_tabs.cc:341
msgid "Disable All Groups"
msgstr ""
-#: gtk-custom-ruler.c:133
-msgid "Lower limit of ruler"
-msgstr "Lägre gräns för räcke"
-
-#: gtk-custom-ruler.c:142
-msgid "Upper"
-msgstr "Övre"
-
-#: gtk-custom-ruler.c:143
-msgid "Upper limit of ruler"
-msgstr "Övre gräns för räcke"
-
-#: gtk-custom-ruler.c:153
-msgid "Position of mark on the ruler"
-msgstr "Position för märke på räcke"
-
-#: gtk-custom-ruler.c:162
-msgid "Max Size"
-msgstr "Max storlek"
-
-#: gtk-custom-ruler.c:163
-msgid "Maximum size of the ruler"
-msgstr "Max storlek för räcket"
-
-#: gtk-custom-ruler.c:172
-msgid "Show Position"
-msgstr "Visa position"
-
-#: gtk-custom-ruler.c:173
-msgid "Draw current ruler position"
-msgstr "Rita upp räckets aktuellt position"
-
#: insert_time_dialog.cc:46
msgid "Time to insert:"
msgstr ""
@@ -6216,27 +6366,27 @@ msgstr ""
msgid "Importing file: %1 of %2"
msgstr ""
-#: io_selector.cc:220
+#: io_selector.cc:221
msgid "I/O selector"
msgstr ""
-#: io_selector.cc:265
+#: io_selector.cc:266
msgid "%1 input"
msgstr "%1-ingång"
-#: io_selector.cc:267
+#: io_selector.cc:268
msgid "%1 output"
msgstr "%1-utgång"
-#: keyboard.cc:66
+#: keyboard.cc:70
msgid "your own"
msgstr "egen"
-#: keyboard.cc:129 keyboard.cc:153
+#: keyboard.cc:133 keyboard.cc:157
msgid "Default keybindings not found - %1 will be hard to use!"
msgstr ""
-#: keyboard.cc:132 keyboard.cc:156
+#: keyboard.cc:136
msgid "Key bindings file \"%1\" not found. Default bindings used instead"
msgstr ""
@@ -6252,27 +6402,31 @@ msgstr "Händelse"
msgid "Shortcut"
msgstr "Kortkommando"
-#: keyeditor.cc:86
+#: keyeditor.cc:85
msgid "Select an action, then press the key(s) to (re)set its shortcut"
msgstr "Välj en händelse och tryck tangentkombinationen du vill använda"
-#: keyeditor.cc:251
+#: keyeditor.cc:99
+msgid "Reset Bindings to Defaults"
+msgstr ""
+
+#: keyeditor.cc:260
msgid "Main_menu"
msgstr ""
-#: keyeditor.cc:253
+#: keyeditor.cc:262
msgid "redirectmenu"
msgstr ""
-#: keyeditor.cc:255
+#: keyeditor.cc:264
msgid "Editor_menus"
msgstr ""
-#: keyeditor.cc:257
+#: keyeditor.cc:266
msgid "RegionList"
msgstr ""
-#: keyeditor.cc:259
+#: keyeditor.cc:268
msgid "ProcessorMenu"
msgstr ""
@@ -6294,132 +6448,107 @@ msgid_plural "%1 samples"
msgstr[0] ""
msgstr[1] ""
-#: latency_gui.cc:72 panner_ui.cc:391
+#: latency_gui.cc:72 panner_ui.cc:408
msgid "Reset"
msgstr "Nollställ"
-#: latency_gui.cc:151 rhythm_ferret.cc:274 sfdb_ui.cc:1755
+#: latency_gui.cc:149 rhythm_ferret.cc:273 sfdb_ui.cc:1893
msgid "programming error: %1 (%2)"
msgstr ""
-#: location_ui.cc:50 location_ui.cc:52
+#: location_ui.cc:51 location_ui.cc:53
msgid "Use PH"
msgstr "Använd SM"
-#: location_ui.cc:54
+#: location_ui.cc:55
msgid "CD"
msgstr ""
-#: location_ui.cc:57
+#: location_ui.cc:58
msgid "Glue"
msgstr "Klistra"
-#: location_ui.cc:85
+#: location_ui.cc:86
msgid "Performer:"
msgstr ""
-#: location_ui.cc:86
+#: location_ui.cc:87
msgid "Composer:"
msgstr ""
-#: location_ui.cc:88
+#: location_ui.cc:89
msgid "Pre-Emphasis"
msgstr ""
-#: location_ui.cc:314
+#: location_ui.cc:316
msgid "Remove this range"
msgstr ""
-#: location_ui.cc:315
+#: location_ui.cc:317
msgid "Start time - middle click to locate here"
msgstr ""
-#: location_ui.cc:316
+#: location_ui.cc:318
msgid "End time - middle click to locate here"
msgstr ""
-#: location_ui.cc:319
+#: location_ui.cc:321
msgid "Set range start from playhead location"
msgstr ""
-#: location_ui.cc:320
+#: location_ui.cc:322
msgid "Set range end from playhead location"
msgstr ""
-#: location_ui.cc:324
+#: location_ui.cc:326
msgid "Remove this marker"
msgstr ""
-#: location_ui.cc:325
+#: location_ui.cc:327
msgid "Position - middle click to locate here"
msgstr ""
-#: location_ui.cc:327
+#: location_ui.cc:329
msgid "Set marker time from playhead location"
msgstr ""
-#: location_ui.cc:494
+#: location_ui.cc:496
msgid "You cannot put a CD marker at the start of the session"
msgstr ""
-#: location_ui.cc:720
+#: location_ui.cc:722
msgid "New Marker"
msgstr "Ny markör"
-#: location_ui.cc:721
+#: location_ui.cc:723
msgid "New Range"
msgstr "Nytt omfång"
-#: location_ui.cc:734
+#: location_ui.cc:736
msgid "<b>Loop/Punch Ranges</b>"
msgstr "<b>Loop-/inslagsomfång</b>"
-#: location_ui.cc:759
+#: location_ui.cc:761
msgid "<b>Markers (Including CD Index)</b>"
msgstr "<b>Markörer (inkl CD-index)</b>"
-#: location_ui.cc:794
+#: location_ui.cc:796
msgid "<b>Ranges (Including CD Track Ranges)</b>"
msgstr "<b>Omfång (inkl CD-spårsomfång)</b>"
-#: location_ui.cc:1036
+#: location_ui.cc:1038
msgid "add range marker"
msgstr "lägg till omfångsmarkör"
-#: main.cc:81
+#: main.cc:79
msgid "%1 could not connect to the audio backend."
msgstr ""
-#: main.cc:194 main.cc:315
-msgid "cannot create user %3 folder %1 (%2)"
-msgstr ""
-
-#: main.cc:201 main.cc:322
-msgid "cannot open pango.rc file %1"
-msgstr ""
-
-#: main.cc:226 main.cc:349
-msgid "Cannot find ArdourMono TrueType font"
-msgstr ""
-
-#: main.cc:238 main.cc:355
-msgid "Cannot load ArdourMono TrueType font."
-msgstr ""
-
-#: main.cc:303
-msgid ""
-"No fontconfig file found on your system. Things may looked very odd or ugly"
-msgstr ""
-
-#: main.cc:359
-msgid "Failed to set fontconfig configuration."
-msgstr ""
-
-#: main.cc:370 main.cc:386
+#: main.cc:104 main.cc:120
msgid "The audio backend (%1) has failed, or terminated"
msgstr ""
-#: main.cc:373
+#: main.cc:107
msgid ""
"%2 exited unexpectedly, and without notifying %1.\n"
"\n"
@@ -6428,53 +6557,63 @@ msgid ""
"Click OK to exit %1."
msgstr ""
-#: main.cc:387
+#: main.cc:121
msgid "%2 exited unexpectedly, and without notifying %1."
msgstr ""
-#: main.cc:474
+#: main.cc:223
+msgid ""
+"\n"
+" Ardour could not understand your command line "
+msgstr ""
+
+#: main.cc:225
+msgid "An error was encountered while launching Ardour"
+msgstr ""
+
+#: main.cc:233
msgid " (built using "
msgstr ""
-#: main.cc:477
+#: main.cc:236
msgid " and GCC version "
msgstr " och GCC version "
-#: main.cc:487
+#: main.cc:246
msgid "Copyright (C) 1999-2012 Paul Davis"
msgstr ""
-#: main.cc:488
+#: main.cc:247
msgid ""
"Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
"Baker, Robin Gareus"
msgstr ""
-#: main.cc:490
+#: main.cc:249
msgid "%1 comes with ABSOLUTELY NO WARRANTY"
msgstr ""
-#: main.cc:491
+#: main.cc:250
msgid "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
msgstr ""
-#: main.cc:492
+#: main.cc:251
msgid "This is free software, and you are welcome to redistribute it "
msgstr ""
-#: main.cc:493
+#: main.cc:252
msgid "under certain conditions; see the source for copying conditions."
msgstr ""
-#: main.cc:500
+#: main.cc:259
msgid "could not initialize %1."
msgstr ""
-#: main.cc:509
+#: main.cc:269
msgid "Cannot xinstall SIGPIPE error handler"
msgstr ""
-#: main.cc:515
+#: main.cc:276
msgid "could not create %1 GUI"
msgstr ""
@@ -6482,17 +6621,13 @@ msgstr ""
msgid "Display delta to edit cursor"
msgstr ""
-#: marker.cc:251 video_image_frame.cc:121
+#: marker.cc:265
msgid "MarkerText"
msgstr "MarkörText"
-#: midi_channel_selector.cc:159 midi_channel_selector.cc:397
-#: midi_channel_selector.cc:433
-msgid "All"
-msgstr "Alla"
-
#: midi_channel_selector.cc:163 midi_channel_selector.cc:402
-#: midi_channel_selector.cc:438 rc_option_editor.cc:1248 sfdb_ui.cc:538
+#: midi_channel_selector.cc:438 rc_option_editor.cc:1499
+#: rc_option_editor.cc:2084 sfdb_ui.cc:658
msgid "None"
msgstr "Ingen"
@@ -6681,87 +6816,87 @@ msgstr ""
msgid "MidiPortDialog"
msgstr ""
-#: midi_region_view.cc:838
+#: midi_region_view.cc:822
msgid "channel edit"
msgstr ""
-#: midi_region_view.cc:874
+#: midi_region_view.cc:858
msgid "velocity edit"
msgstr ""
-#: midi_region_view.cc:931
+#: midi_region_view.cc:915
msgid "add note"
msgstr ""
-#: midi_region_view.cc:1779
+#: midi_region_view.cc:1766
msgid "step add"
msgstr ""
-#: midi_region_view.cc:1862
+#: midi_region_view.cc:1853
msgid "insane MIDI patch key %1:%2"
msgstr ""
-#: midi_region_view.cc:1870 midi_region_view.cc:1890
+#: midi_region_view.cc:1861 midi_region_view.cc:1881
msgid "alter patch change"
msgstr ""
-#: midi_region_view.cc:1924
+#: midi_region_view.cc:1915
msgid "add patch change"
msgstr ""
-#: midi_region_view.cc:1942
+#: midi_region_view.cc:1933
msgid "move patch change"
msgstr ""
-#: midi_region_view.cc:1953
+#: midi_region_view.cc:1944
msgid "delete patch change"
msgstr ""
-#: midi_region_view.cc:2022
+#: midi_region_view.cc:2013
msgid "delete selection"
msgstr ""
-#: midi_region_view.cc:2038
+#: midi_region_view.cc:2029
msgid "delete note"
msgstr ""
-#: midi_region_view.cc:2425
+#: midi_region_view.cc:2423
msgid "move notes"
msgstr ""
-#: midi_region_view.cc:2647
+#: midi_region_view.cc:2645
msgid "resize notes"
msgstr ""
-#: midi_region_view.cc:2901
+#: midi_region_view.cc:2899
msgid "change velocities"
msgstr ""
-#: midi_region_view.cc:2967
+#: midi_region_view.cc:2965
msgid "transpose"
msgstr ""
-#: midi_region_view.cc:3001
+#: midi_region_view.cc:2999
msgid "change note lengths"
msgstr ""
-#: midi_region_view.cc:3070
+#: midi_region_view.cc:3068
msgid "nudge"
msgstr ""
-#: midi_region_view.cc:3085
+#: midi_region_view.cc:3083
msgid "change channel"
msgstr ""
-#: midi_region_view.cc:3130
+#: midi_region_view.cc:3128
msgid "Bank "
msgstr ""
-#: midi_region_view.cc:3131
+#: midi_region_view.cc:3129
msgid "Program "
msgstr ""
-#: midi_region_view.cc:3132
+#: midi_region_view.cc:3130
msgid "Channel "
msgstr ""
@@ -6769,140 +6904,136 @@ msgstr ""
msgid "paste"
msgstr "klistra"
-#: midi_region_view.cc:3761
-msgid "delete sysex"
-msgstr ""
-
-#: midi_streamview.cc:479
+#: midi_streamview.cc:491
msgid "failed to create MIDI region"
msgstr ""
-#: midi_time_axis.cc:262
+#: midi_time_axis.cc:293
msgid "External MIDI Device"
msgstr ""
-#: midi_time_axis.cc:263
+#: midi_time_axis.cc:294
msgid "External Device Mode"
msgstr ""
-#: midi_time_axis.cc:271
+#: midi_time_axis.cc:302
msgid "Chns"
msgstr ""
-#: midi_time_axis.cc:272
+#: midi_time_axis.cc:303
msgid "Click to edit channel settings"
msgstr ""
-#: midi_time_axis.cc:486
+#: midi_time_axis.cc:517
msgid "Show Full Range"
msgstr "Visa hela omfånget"
-#: midi_time_axis.cc:491
+#: midi_time_axis.cc:522
msgid "Fit Contents"
msgstr "Anpassa innehållet"
-#: midi_time_axis.cc:495
+#: midi_time_axis.cc:526
msgid "Note Range"
msgstr ""
-#: midi_time_axis.cc:496
+#: midi_time_axis.cc:527
msgid "Note Mode"
msgstr ""
-#: midi_time_axis.cc:497
+#: midi_time_axis.cc:528
msgid "Channel Selector"
msgstr ""
-#: midi_time_axis.cc:502
+#: midi_time_axis.cc:533
msgid "Color Mode"
msgstr ""
-#: midi_time_axis.cc:561
+#: midi_time_axis.cc:592
msgid "Bender"
msgstr ""
-#: midi_time_axis.cc:565
+#: midi_time_axis.cc:596
msgid "Pressure"
msgstr ""
-#: midi_time_axis.cc:578
+#: midi_time_axis.cc:609
msgid "Controllers"
msgstr ""
-#: midi_time_axis.cc:583
+#: midi_time_axis.cc:614
msgid "No MIDI Channels selected"
msgstr ""
-#: midi_time_axis.cc:640 midi_time_axis.cc:769
+#: midi_time_axis.cc:692 midi_time_axis.cc:821
msgid "Hide all channels"
msgstr ""
-#: midi_time_axis.cc:644 midi_time_axis.cc:773
+#: midi_time_axis.cc:696 midi_time_axis.cc:825
msgid "Show all channels"
msgstr ""
-#: midi_time_axis.cc:655 midi_time_axis.cc:784
+#: midi_time_axis.cc:707 midi_time_axis.cc:836
msgid "Channel %1"
msgstr ""
-#: midi_time_axis.cc:910 midi_time_axis.cc:942
+#: midi_time_axis.cc:962 midi_time_axis.cc:994
msgid "Controllers %1-%2"
msgstr ""
-#: midi_time_axis.cc:933 midi_time_axis.cc:936
+#: midi_time_axis.cc:985 midi_time_axis.cc:988
msgid "Controller %1"
msgstr ""
-#: midi_time_axis.cc:959
+#: midi_time_axis.cc:1011
msgid "Sustained"
msgstr ""
-#: midi_time_axis.cc:966
+#: midi_time_axis.cc:1018
msgid "Percussive"
msgstr ""
-#: midi_time_axis.cc:986
+#: midi_time_axis.cc:1038
msgid "Meter Colors"
msgstr ""
-#: midi_time_axis.cc:993
+#: midi_time_axis.cc:1045
msgid "Channel Colors"
msgstr ""
-#: midi_time_axis.cc:1000
+#: midi_time_axis.cc:1052
msgid "Track Color"
msgstr ""
-#: midi_time_axis.cc:1488 midi_time_axis.cc:1494 midi_time_axis.cc:1504
-#: midi_time_axis.cc:1510
+#: midi_time_axis.cc:1687 midi_time_axis.cc:1693 midi_time_axis.cc:1703
+#: midi_time_axis.cc:1709
msgid "all"
msgstr ""
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1507
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1706
msgid "some"
msgstr ""
-#: midi_tracer.cc:46
+#: midi_tracer.cc:49
msgid "Line history: "
msgstr ""
-#: midi_tracer.cc:54
+#: midi_tracer.cc:57
msgid "Auto-Scroll"
msgstr ""
-#: midi_tracer.cc:55
+#: midi_tracer.cc:58
msgid "Decimal"
msgstr ""
-#: midi_tracer.cc:56 rc_option_editor.cc:657
+#: midi_tracer.cc:59 rc_option_editor.cc:717
msgid "Enabled"
msgstr "Aktiverad"
-#: midi_tracer.cc:57
+#: midi_tracer.cc:60
msgid "Delta times"
msgstr ""
-#: midi_tracer.cc:70
+#: midi_tracer.cc:73
msgid "Port:"
msgstr ""
@@ -6910,35 +7041,35 @@ msgstr ""
msgid "New velocity"
msgstr ""
-#: missing_file_dialog.cc:34
-msgid "Missing File!"
+#: missing_file_dialog.cc:35
+msgid "Missing File"
msgstr ""
-#: missing_file_dialog.cc:36
+#: missing_file_dialog.cc:37
msgid "Select a folder to search"
msgstr ""
-#: missing_file_dialog.cc:37
+#: missing_file_dialog.cc:38
msgid "Add chosen folder to search path, and try again"
msgstr ""
-#: missing_file_dialog.cc:39
+#: missing_file_dialog.cc:40
msgid "Stop loading this session"
msgstr ""
-#: missing_file_dialog.cc:40
+#: missing_file_dialog.cc:41
msgid "Skip all missing files"
msgstr ""
-#: missing_file_dialog.cc:41
+#: missing_file_dialog.cc:42
msgid "Skip this file"
msgstr ""
-#: missing_file_dialog.cc:52
+#: missing_file_dialog.cc:53
msgid "audio"
msgstr "ljud"
-#: missing_file_dialog.cc:65
+#: missing_file_dialog.cc:70
msgid ""
"%1 cannot find the %2 file\n"
"\n"
@@ -6950,7 +7081,7 @@ msgid ""
"\n"
msgstr ""
-#: missing_file_dialog.cc:99
+#: missing_file_dialog.cc:104
msgid "Click to choose an additional folder"
msgstr ""
@@ -6958,7 +7089,7 @@ msgstr ""
msgid "Missing Plugins"
msgstr ""
-#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:59
+#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:60
msgid "OK"
msgstr ""
@@ -7014,6 +7145,10 @@ msgstr ""
msgid "Toggle Selected Plugins"
msgstr ""
+#: mixer_actor.cc:70
+msgid "Deselect all srips and processors"
+msgstr ""
+
#: mixer_actor.cc:72 mixer_actor.cc:73
msgid "Scroll Mixer Window to the left"
msgstr ""
@@ -7030,444 +7165,426 @@ msgstr ""
msgid "Could not find mixer.bindings in search path %1"
msgstr ""
-#: mixer_strip.cc:93 mixer_strip.cc:121 mixer_strip.cc:1721
+#: mixer_strip.cc:98 mixer_strip.cc:127
msgid "pre"
msgstr "pre"
-#: mixer_strip.cc:95 mixer_strip.cc:123 mixer_strip.cc:354 mixer_strip.cc:1300
-#: rc_option_editor.cc:1868
+#: mixer_strip.cc:100 mixer_strip.cc:129 mixer_strip.cc:376
+#: mixer_strip.cc:1373 rc_option_editor.cc:2203
msgid "Comments"
msgstr ""
-#: mixer_strip.cc:147
+#: mixer_strip.cc:151
msgid "Click to toggle the width of this mixer strip."
msgstr ""
-#: mixer_strip.cc:149
+#: mixer_strip.cc:153
msgid ""
"\n"
"%1-%2-click to toggle the width of all strips."
msgstr ""
-#: mixer_strip.cc:156
+#: mixer_strip.cc:160
msgid "Hide this mixer strip"
msgstr ""
-#: mixer_strip.cc:167
+#: mixer_strip.cc:171
msgid "Click to select metering point"
msgstr ""
-#: mixer_strip.cc:173
-msgid "tupni"
-msgstr "ni"
-
-#: mixer_strip.cc:192
+#: mixer_strip.cc:191
msgid "Isolate Solo"
msgstr ""
-#: mixer_strip.cc:201
+#: mixer_strip.cc:200
msgid "Lock Solo Status"
msgstr ""
-#: mixer_strip.cc:203 mixer_strip.cc:1926
-msgid "lock"
-msgstr "lås"
-
-#: mixer_strip.cc:204 mixer_strip.cc:1925
-msgid "iso"
+#: mixer_strip.cc:203 mixer_strip.cc:1982
+msgid "Iso"
msgstr ""
-#: mixer_strip.cc:258
+#: mixer_strip.cc:259
msgid "Mix group"
msgstr "Mixgrupp"
-#: mixer_strip.cc:351 rc_option_editor.cc:1865
+#: mixer_strip.cc:372 rc_option_editor.cc:2199
msgid "Phase Invert"
msgstr ""
-#: mixer_strip.cc:352 rc_option_editor.cc:1866 route_ui.cc:1218
-msgid "Solo Safe"
+#: mixer_strip.cc:373 rc_option_editor.cc:2200
+msgid "Record & Monitor"
msgstr ""
-#: mixer_strip.cc:355 mixer_ui.cc:124 route_time_axis.cc:673
-msgid "Group"
-msgstr "Grupp"
-
-#: mixer_strip.cc:356 rc_option_editor.cc:1869
-msgid "Meter Point"
+#: mixer_strip.cc:374 rc_option_editor.cc:2201
+msgid "Solo Iso / Lock"
msgstr ""
-#: mixer_strip.cc:470
+#: mixer_strip.cc:530
msgid "Enable/Disable MIDI input"
msgstr ""
-#: mixer_strip.cc:622
-msgid ""
-"Aux\n"
-"Sends"
+#: mixer_strip.cc:694
+msgid "Aux"
msgstr ""
-#: mixer_strip.cc:646
+#: mixer_strip.cc:716
msgid "Snd"
msgstr ""
-#: mixer_strip.cc:701 mixer_strip.cc:829 processor_box.cc:2193
+#: mixer_strip.cc:782 mixer_strip.cc:880 processor_box.cc:2426
msgid "Not connected to audio engine - no I/O changes are possible"
msgstr ""
-#: mixer_strip.cc:1096
+#: mixer_strip.cc:1163
msgid "<b>INPUT</b> to %1"
msgstr ""
-#: mixer_strip.cc:1099
+#: mixer_strip.cc:1166
msgid "<b>OUTPUT</b> from %1"
msgstr ""
-#: mixer_strip.cc:1174
+#: mixer_strip.cc:1241
msgid "Disconnected"
msgstr ""
-#: mixer_strip.cc:1303
+#: mixer_strip.cc:1376
msgid "*Comments*"
msgstr "*Kommentarer"
-#: mixer_strip.cc:1310
+#: mixer_strip.cc:1383
msgid "Cmt"
msgstr "Kmt"
-#: mixer_strip.cc:1313
+#: mixer_strip.cc:1386
msgid "*Cmt*"
msgstr "*Kmt*"
-#: mixer_strip.cc:1319
+#: mixer_strip.cc:1392
msgid "Click to Add/Edit Comments"
msgstr "Klicka för att lägga till/redigera kommentarer"
-#: mixer_strip.cc:1358
-msgid ": comment editor"
-msgstr ": kommentar"
-
-#: mixer_strip.cc:1435
+#: mixer_strip.cc:1436
msgid "Grp"
msgstr ""
-#: mixer_strip.cc:1438
+#: mixer_strip.cc:1439
msgid "~G"
msgstr ""
-#: mixer_strip.cc:1467
+#: mixer_strip.cc:1468 route_time_axis.cc:534
+msgid "Color..."
+msgstr "Färg..."
+
+#: mixer_strip.cc:1470 route_time_axis.cc:536
msgid "Comments..."
msgstr ""
-#: mixer_strip.cc:1469
+#: mixer_strip.cc:1472 route_time_axis.cc:538
+msgid "Inputs..."
+msgstr ""
+
+#: mixer_strip.cc:1474 route_time_axis.cc:540
+msgid "Outputs..."
+msgstr ""
+
+#: mixer_strip.cc:1479
msgid "Save As Template..."
msgstr "Spara som spårmall..."
-#: mixer_strip.cc:1475 route_group_dialog.cc:39 route_time_axis.cc:696
+#: mixer_strip.cc:1485 route_group_dialog.cc:45 route_time_axis.cc:814
msgid "Active"
msgstr "Aktiv"
-#: mixer_strip.cc:1482
+#: mixer_strip.cc:1493
msgid "Adjust Latency..."
msgstr "Justera fördröjning..."
-#: mixer_strip.cc:1485
+#: mixer_strip.cc:1496
msgid "Protect Against Denormals"
msgstr "Skydda mot denormals"
-#: mixer_strip.cc:1491 route_time_axis.cc:435
+#: mixer_strip.cc:1502 route_time_axis.cc:553
msgid "Remote Control ID..."
msgstr "Fjärr-ID..."
-#: mixer_strip.cc:1717 mixer_strip.cc:1741
-msgid "in"
-msgstr ""
-
-#: mixer_strip.cc:1725
-msgid "post"
-msgstr "post"
-
-#: mixer_strip.cc:1729
-msgid "out"
+#: mixer_strip.cc:1778
+msgid "Pre"
msgstr ""
-#: mixer_strip.cc:1734
-msgid "custom"
-msgstr "egen"
-
-#: mixer_strip.cc:1745
-msgid "pr"
+#: mixer_strip.cc:1782
+msgid "Post"
msgstr ""
-#: mixer_strip.cc:1749
-msgid "po"
+#: mixer_strip.cc:1802
+msgid "Pr"
msgstr ""
-#: mixer_strip.cc:1753
-msgid "o"
+#: mixer_strip.cc:1806
+msgid "Po"
msgstr ""
-#: mixer_strip.cc:1758
-msgid "c"
+#: mixer_strip.cc:1815
+msgid "C"
msgstr ""
-#: mixer_strip.cc:1906 route_ui.cc:143
+#: mixer_strip.cc:1963 route_ui.cc:164
msgid "Disk"
msgstr ""
-#: mixer_strip.cc:1918 monitor_section.cc:63
+#: mixer_strip.cc:1975 monitor_section.cc:71
msgid "AFL"
msgstr ""
-#: mixer_strip.cc:1921 monitor_section.cc:64
+#: mixer_strip.cc:1978 monitor_section.cc:72
msgid "PFL"
msgstr ""
-#: mixer_strip.cc:1933
+#: mixer_strip.cc:1989 meter_strip.cc:380
msgid "D"
msgstr ""
-#: mixer_strip.cc:1953
-msgid "i"
-msgstr ""
-
-#: mixer_strip.cc:2128
-msgid "Pre-fader"
-msgstr ""
+#: mixer_strip.cc:2196
+msgid "Pre Fader"
+msgstr "Före-nivåreglage"
-#: mixer_strip.cc:2129
-msgid "Post-fader"
-msgstr ""
+#: mixer_strip.cc:2197
+msgid "Post Fader"
+msgstr "Efter-nivåreglage"
-#: mixer_strip.cc:2166 meter_strip.cc:728
+#: mixer_strip.cc:2235 meter_strip.cc:818
msgid "Change all in Group to %1"
msgstr ""
-#: mixer_strip.cc:2168 meter_strip.cc:730
+#: mixer_strip.cc:2237 meter_strip.cc:820
msgid "Change all to %1"
msgstr ""
-#: mixer_strip.cc:2170 meter_strip.cc:732
+#: mixer_strip.cc:2239 meter_strip.cc:822
msgid "Change same track-type to %1"
msgstr ""
-#: mixer_ui.cc:1189
+#: mixer_ui.cc:129 route_time_axis.cc:791
+msgid "Group"
+msgstr "Grupp"
+
+#: mixer_ui.cc:1209
msgid "track display list item for renamed strip not found!"
msgstr "hittade inte spårvisningslisteobjekt för omdöpt remsor!"
-#: mixer_ui.cc:1273
+#: mixer_ui.cc:1293
msgid "-all-"
msgstr "-alla-"
-#: mixer_ui.cc:1794
+#: mixer_ui.cc:1829
msgid "Strips"
msgstr "Remsor"
-#: meter_strip.cc:764
+#: meter_strip.cc:157
+msgid "Reset Peak"
+msgstr ""
+
+#: meter_strip.cc:854
msgid "Variable height"
msgstr ""
-#: meter_strip.cc:765
+#: meter_strip.cc:855
msgid "Short"
msgstr ""
-#: meter_strip.cc:766
+#: meter_strip.cc:856
msgid "Tall"
msgstr ""
-#: meter_strip.cc:767
+#: meter_strip.cc:857
msgid "Grande"
msgstr ""
-#: meter_strip.cc:768
+#: meter_strip.cc:858
msgid "Venti"
msgstr ""
-#: meter_patterns.cc:81
+#: meter_patterns.cc:82
msgid "Peak"
msgstr ""
-#: meter_patterns.cc:84
+#: meter_patterns.cc:85
msgid "RMS + Peak"
msgstr ""
-#: meter_patterns.cc:87
+#: meter_patterns.cc:88
msgid "IEC1/DIN"
msgstr ""
-#: meter_patterns.cc:90
+#: meter_patterns.cc:91
msgid "IEC1/Nordic"
msgstr ""
-#: meter_patterns.cc:93
+#: meter_patterns.cc:94
msgid "IEC2/BBC"
msgstr ""
-#: meter_patterns.cc:96
+#: meter_patterns.cc:97
msgid "IEC2/EBU"
msgstr ""
-#: meter_patterns.cc:99
+#: meter_patterns.cc:100
msgid "K20"
msgstr ""
-#: meter_patterns.cc:102
+#: meter_patterns.cc:103
msgid "K14"
msgstr ""
-#: meter_patterns.cc:105
+#: meter_patterns.cc:106
+msgid "K12"
+msgstr ""
+
+#: meter_patterns.cc:109
msgid "VU"
msgstr ""
-#: monitor_section.cc:62
+#: monitor_section.cc:70
msgid "SiP"
msgstr ""
-#: monitor_section.cc:86
-msgid "soloing"
-msgstr ""
+#: monitor_section.cc:97 route_group_dialog.cc:49
+msgid "Soloing"
+msgstr "Sololäge"
-#: monitor_section.cc:90
-msgid "isolated"
+#: monitor_section.cc:101
+msgid "Isolated"
msgstr ""
-#: monitor_section.cc:94
-msgid "auditioning"
+#: monitor_section.cc:105
+msgid "Auditioning"
msgstr ""
-#: monitor_section.cc:104
+#: monitor_section.cc:115
msgid ""
"When active, something is solo-isolated.\n"
"Click to de-isolate everything"
msgstr ""
-#: monitor_section.cc:107
+#: monitor_section.cc:118
msgid ""
"When active, auditioning is active.\n"
"Click to stop the audition"
msgstr ""
-#: monitor_section.cc:124
+#: monitor_section.cc:135
msgid "Solo controls affect solo-in-place"
msgstr ""
-#: monitor_section.cc:130
+#: monitor_section.cc:141
msgid "Solo controls toggle after-fader-listen"
msgstr ""
-#: monitor_section.cc:136
+#: monitor_section.cc:147
msgid "Solo controls toggle pre-fader-listen"
msgstr ""
-#: monitor_section.cc:144
+#: monitor_section.cc:157
msgid "Gain increase for soloed signals (0dB is normal)"
msgstr ""
-#: monitor_section.cc:150
+#: monitor_section.cc:171
msgid "Solo Boost"
msgstr ""
-#: monitor_section.cc:162
+#: monitor_section.cc:186
msgid ""
"Gain reduction non-soloed signals\n"
"A value above -inf dB causes \"solo-in-front\""
msgstr ""
-#: monitor_section.cc:164
+#: monitor_section.cc:197
msgid "SiP Cut"
msgstr ""
-#: monitor_section.cc:176
+#: monitor_section.cc:212
msgid "Gain reduction to use when dimming monitor outputs"
msgstr ""
-#: monitor_section.cc:181
+#: monitor_section.cc:226 monitor_section.cc:284
msgid "Dim"
msgstr ""
-#: monitor_section.cc:190
-msgid "excl. solo"
+#: monitor_section.cc:236
+msgid "Excl. Solo"
msgstr ""
-#: monitor_section.cc:192
+#: monitor_section.cc:238
msgid "Exclusive solo means that only 1 solo is active at a time"
msgstr ""
-#: monitor_section.cc:199
-msgid "solo » mute"
+#: monitor_section.cc:245
+msgid "Solo » Mute"
msgstr ""
-#: monitor_section.cc:201
+#: monitor_section.cc:247
msgid ""
"If enabled, solo will override mute\n"
"(a soloed & muted track or bus will be audible)"
msgstr ""
-#: monitor_section.cc:227
-msgid "mute"
-msgstr "tysta"
-
-#: monitor_section.cc:238
-msgid "dim"
-msgstr ""
-
-#: monitor_section.cc:245
-msgid "mono"
-msgstr ""
-
-#: monitor_section.cc:266
+#: monitor_section.cc:324
msgid "Monitor"
msgstr ""
-#: monitor_section.cc:678
+#: monitor_section.cc:751
msgid "Switch monitor to mono"
msgstr ""
-#: monitor_section.cc:681
+#: monitor_section.cc:754
msgid "Cut monitor"
msgstr ""
-#: monitor_section.cc:684
+#: monitor_section.cc:757
msgid "Dim monitor"
msgstr ""
-#: monitor_section.cc:687
+#: monitor_section.cc:760
msgid "Toggle exclusive solo mode"
msgstr ""
-#: monitor_section.cc:693
+#: monitor_section.cc:766
msgid "Toggle mute overrides solo mode"
msgstr ""
-#: monitor_section.cc:705
+#: monitor_section.cc:778
msgid "Cut monitor channel %1"
msgstr ""
-#: monitor_section.cc:710
+#: monitor_section.cc:783
msgid "Dim monitor channel %1"
msgstr ""
-#: monitor_section.cc:715
+#: monitor_section.cc:788
msgid "Solo monitor channel %1"
msgstr ""
-#: monitor_section.cc:720
+#: monitor_section.cc:793
msgid "Invert monitor channel %1"
msgstr ""
-#: monitor_section.cc:730
+#: monitor_section.cc:803
msgid "In-place solo"
msgstr ""
-#: monitor_section.cc:732
+#: monitor_section.cc:805
msgid "After Fade Listen (AFL) solo"
msgstr ""
-#: monitor_section.cc:734
+#: monitor_section.cc:807
msgid "Pre Fade Listen (PFL) solo"
msgstr ""
-#: mono_panner.cc:101
+#: mono_panner.cc:109 stereo_panner.cc:117
+msgid "bypassed"
+msgstr ""
+
+#: mono_panner.cc:123
#, c-format
msgid "L:%3d R:%3d"
msgstr ""
@@ -7552,7 +7669,7 @@ msgstr "Normalisera regioner"
msgid "Normalize region"
msgstr "Normalisera region"
-#: normalize_dialog.cc:49 strip_silence_dialog.cc:70
+#: normalize_dialog.cc:49 strip_silence_dialog.cc:66
msgid "dbFS"
msgstr ""
@@ -7656,31 +7773,26 @@ msgid ""
"ardour3/ardour.bindings)\n"
msgstr ""
-#: panner2d.cc:781
+#: panner2d.cc:852
msgid "Panner (2D)"
msgstr ""
-#: panner2d.cc:783 panner_ui.cc:383 plugin_ui.cc:448
+#: panner2d.cc:854 panner_ui.cc:399 plugin_ui.cc:449
msgid "Bypass"
msgstr "Förbigå"
-#: panner2d.cc:787
+#: panner2d.cc:860
msgid "Panner"
msgstr "Panorerare"
-#: panner_ui.cc:70
+#: panner_ui.cc:71
msgid "Pan automation mode"
msgstr "panoreringsautomatiseringsläge"
-#: panner_ui.cc:71
+#: panner_ui.cc:72
msgid "Pan automation type"
msgstr "panoreringsuatomtiseringstyp"
-#: panner_ui.cc:294
-msgid ""
-"No panner user interface is currently available for %1-in/2out tracks/busses"
-msgstr ""
-
#: playlist_selector.cc:43
msgid "Playlists"
msgstr ""
@@ -7705,39 +7817,39 @@ msgstr "otilldelad"
msgid "Imported"
msgstr ""
-#: plugin_eq_gui.cc:75 plugin_eq_gui.cc:99
+#: plugin_eq_gui.cc:85 plugin_eq_gui.cc:109
msgid "dB scale"
msgstr "dB-skala"
-#: plugin_eq_gui.cc:106
+#: plugin_eq_gui.cc:116
msgid "Show phase"
msgstr "Visa fas"
-#: plugin_selector.cc:53 plugin_selector.cc:220
+#: plugin_selector.cc:53 plugin_selector.cc:229
msgid "Name contains"
msgstr "Namn innehåller"
-#: plugin_selector.cc:54 plugin_selector.cc:224
+#: plugin_selector.cc:54 plugin_selector.cc:233
msgid "Type contains"
msgstr "Typ innehåller"
-#: plugin_selector.cc:55 plugin_selector.cc:222
+#: plugin_selector.cc:55 plugin_selector.cc:231
msgid "Category contains"
msgstr "Kategori innehåller"
-#: plugin_selector.cc:56 plugin_selector.cc:244
+#: plugin_selector.cc:56 plugin_selector.cc:253
msgid "Author contains"
msgstr "Upphovsperson innehåller"
-#: plugin_selector.cc:57 plugin_selector.cc:246
+#: plugin_selector.cc:57 plugin_selector.cc:255
msgid "Library contains"
msgstr "Bibliotek innehåller"
-#: plugin_selector.cc:58 plugin_selector.cc:210 plugin_selector.cc:521
+#: plugin_selector.cc:58 plugin_selector.cc:219 plugin_selector.cc:537
msgid "Favorites only"
msgstr "Endast favoriter"
-#: plugin_selector.cc:59 plugin_selector.cc:214 plugin_selector.cc:521
+#: plugin_selector.cc:59 plugin_selector.cc:223 plugin_selector.cc:537
msgid "Hidden only"
msgstr "Endast dolda"
@@ -7745,149 +7857,149 @@ msgstr "Endast dolda"
msgid "Plugin Manager"
msgstr "Insticksprogram"
-#: plugin_selector.cc:84
+#: plugin_selector.cc:85
msgid "Fav"
msgstr ""
-#: plugin_selector.cc:86
+#: plugin_selector.cc:87
msgid "Available Plugins"
msgstr "Tillgängliga insticksprogram"
-#: plugin_selector.cc:87
+#: plugin_selector.cc:88
msgid "Type"
msgstr "Typ"
-#: plugin_selector.cc:88
+#: plugin_selector.cc:89
msgid "Category"
msgstr "Kategori"
-#: plugin_selector.cc:89
+#: plugin_selector.cc:90
msgid "Creator"
msgstr "Upphovsman"
-#: plugin_selector.cc:90
+#: plugin_selector.cc:91
msgid "# Audio In"
msgstr ""
-#: plugin_selector.cc:91
+#: plugin_selector.cc:92
msgid "# Audio Out"
msgstr ""
-#: plugin_selector.cc:92
+#: plugin_selector.cc:93
msgid "# MIDI In"
msgstr ""
-#: plugin_selector.cc:93
+#: plugin_selector.cc:94
msgid "# MIDI Out"
msgstr ""
-#: plugin_selector.cc:115
+#: plugin_selector.cc:116
msgid "Plugins to be connected"
msgstr "Insticksprogram att ansluta"
-#: plugin_selector.cc:128
+#: plugin_selector.cc:129
msgid "Add a plugin to the effect list"
msgstr "Lägg till ett insticksprogram till effektlistan"
-#: plugin_selector.cc:132
+#: plugin_selector.cc:133
msgid "Remove a plugin from the effect list"
msgstr "Ta bort ett insticksprogram från effektlistan"
-#: plugin_selector.cc:134
+#: plugin_selector.cc:135
msgid "Update available plugins"
msgstr "Uppdatera tillgängliga insticksprogram"
-#: plugin_selector.cc:171
+#: plugin_selector.cc:172
msgid "Insert Plugin(s)"
msgstr "Infoga"
-#: plugin_selector.cc:320 plugin_selector.cc:321 plugin_selector.cc:322
-#: plugin_selector.cc:323
+#: plugin_selector.cc:337 plugin_selector.cc:338 plugin_selector.cc:339
+#: plugin_selector.cc:340
msgid "variable"
msgstr ""
-#: plugin_selector.cc:480
+#: plugin_selector.cc:496
msgid ""
"The plugin \"%1\" could not be loaded\n"
"\n"
"See the Log window for more details (maybe)"
msgstr ""
-#: plugin_selector.cc:628
+#: plugin_selector.cc:644
msgid "Favorites"
msgstr "Favoriter"
-#: plugin_selector.cc:630
+#: plugin_selector.cc:646
msgid "Plugin Manager..."
msgstr "Insticksprogram..."
-#: plugin_selector.cc:634
+#: plugin_selector.cc:650
msgid "By Creator"
msgstr "Upphovsman"
-#: plugin_selector.cc:637
+#: plugin_selector.cc:653
msgid "By Category"
msgstr "Kategori"
-#: plugin_ui.cc:114
+#: plugin_ui.cc:113
msgid "Eh? LADSPA plugins don't have editors!"
msgstr ""
-#: plugin_ui.cc:123 plugin_ui.cc:226
+#: plugin_ui.cc:122 plugin_ui.cc:227
msgid ""
"unknown type of editor-supplying plugin (note: no VST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:126
+#: plugin_ui.cc:125
msgid "unknown type of editor-supplying plugin"
msgstr ""
-#: plugin_ui.cc:256
+#: plugin_ui.cc:257
msgid ""
"unknown type of editor-supplying plugin (note: no linuxVST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:328
+#: plugin_ui.cc:329
msgid "create_lv2_editor called on non-LV2 plugin"
msgstr ""
-#: plugin_ui.cc:414
+#: plugin_ui.cc:415
msgid "Add"
msgstr "Lägg till"
-#: plugin_ui.cc:418
+#: plugin_ui.cc:419
msgid "Description"
msgstr ""
-#: plugin_ui.cc:419
+#: plugin_ui.cc:420
msgid "Plugin analysis"
msgstr "Analys av insticksprogram"
-#: plugin_ui.cc:426
+#: plugin_ui.cc:427
msgid ""
"Presets (if any) for this plugin\n"
"(Both factory and user-created)"
msgstr ""
-#: plugin_ui.cc:427
+#: plugin_ui.cc:428
msgid "Save a new preset"
msgstr ""
-#: plugin_ui.cc:428
+#: plugin_ui.cc:429
msgid "Save the current preset"
msgstr ""
-#: plugin_ui.cc:429
+#: plugin_ui.cc:430
msgid "Delete the current preset"
msgstr ""
-#: plugin_ui.cc:430
+#: plugin_ui.cc:431
msgid "Disable signal processing by the plugin"
msgstr ""
-#: plugin_ui.cc:463 plugin_ui.cc:659
+#: plugin_ui.cc:464 plugin_ui.cc:660
msgid ""
"Click to allow the plugin to receive keyboard events that %1 would normally "
"use as a shortcut"
@@ -7895,41 +8007,41 @@ msgstr ""
"Tryck här för att tillåta att insticksprogrammet mottar tangentbordsgenvägar "
"som %1 vanligtvis skulle använda"
-#: plugin_ui.cc:464
+#: plugin_ui.cc:465
msgid "Click to enable/disable this plugin"
msgstr "Tryck för att slå på/av insticksprogrammet"
-#: plugin_ui.cc:503
+#: plugin_ui.cc:504
msgid "latency (%1 sample)"
msgid_plural "latency (%1 samples)"
msgstr[0] ""
msgstr[1] ""
-#: plugin_ui.cc:505
+#: plugin_ui.cc:506
msgid "latency (%1 ms)"
msgstr "fördröjning (%1 msek)"
-#: plugin_ui.cc:516
+#: plugin_ui.cc:517
msgid "Edit Latency"
msgstr "Ställ in fördröjning"
-#: plugin_ui.cc:555
+#: plugin_ui.cc:556
msgid "Plugin preset %1 not found"
msgstr "Förinställningen %1 hittades ej"
-#: plugin_ui.cc:592
+#: plugin_ui.cc:593
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"full version"
msgstr ""
-#: plugin_ui.cc:612 plugin_ui.cc:627
+#: plugin_ui.cc:613 plugin_ui.cc:628
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"newer version"
msgstr ""
-#: plugin_ui.cc:666
+#: plugin_ui.cc:667
msgid "Click to allow normal use of %1 keyboard shortcuts"
msgstr "Tryck här för att återställa normala tangentbordsgenvägar"
@@ -8005,98 +8117,98 @@ msgstr ""
msgid "alsa_pcm"
msgstr ""
-#: port_insert_ui.cc:40
+#: port_insert_ui.cc:39
msgid "Measure Latency"
msgstr ""
-#: port_insert_ui.cc:51
+#: port_insert_ui.cc:50
msgid "Send/Output"
msgstr ""
-#: port_insert_ui.cc:52
+#: port_insert_ui.cc:51
msgid "Return/Input"
msgstr ""
-#: port_insert_ui.cc:86
+#: port_insert_ui.cc:85
msgid "No signal detected"
msgstr ""
-#: port_insert_ui.cc:166
+#: port_insert_ui.cc:165
msgid "Port Insert "
msgstr ""
-#: port_matrix.cc:331 port_matrix.cc:357
+#: port_matrix.cc:332 port_matrix.cc:358
msgid "<b>Sources</b>"
msgstr "<b>Källor</b>"
-#: port_matrix.cc:332 port_matrix.cc:358
+#: port_matrix.cc:333 port_matrix.cc:359
msgid "<b>Destinations</b>"
msgstr "<b>Destinationer</b>"
-#: port_matrix.cc:440 port_matrix.cc:448
+#: port_matrix.cc:441 port_matrix.cc:449
#, c-format
msgid "Add %s %s"
msgstr "Lägg till %s-%s"
#
-#: port_matrix.cc:456
+#: port_matrix.cc:457
#, c-format
msgid "Rename '%s'..."
msgstr "Byt namn på '%s'..."
-#: port_matrix.cc:472
+#: port_matrix.cc:473
msgid "Remove all"
msgstr "Ta bort alla"
-#: port_matrix.cc:492 port_matrix.cc:504
+#: port_matrix.cc:493 port_matrix.cc:505
#, c-format
msgid "%s all"
msgstr ""
-#: port_matrix.cc:527
+#: port_matrix.cc:528
msgid "Rescan"
msgstr "Uppdatera"
-#: port_matrix.cc:529
+#: port_matrix.cc:530
msgid "Show individual ports"
msgstr "Visa enskilda portar"
-#: port_matrix.cc:535
+#: port_matrix.cc:536
msgid "Flip"
msgstr ""
-#: port_matrix.cc:721
+#: port_matrix.cc:722
msgid ""
"It is not possible to add a port here, as the first processor in the track "
"or buss cannot support the new configuration."
msgstr ""
-#: port_matrix.cc:724
+#: port_matrix.cc:725
msgid "Cannot add port"
msgstr ""
-#: port_matrix.cc:746
+#: port_matrix.cc:747
msgid "Port removal not allowed"
msgstr ""
-#: port_matrix.cc:747
+#: port_matrix.cc:748
msgid ""
"This port cannot be removed.\n"
"Either the first plugin in the track or buss cannot accept\n"
"the new number of inputs or the last plugin has more outputs."
msgstr ""
-#: port_matrix.cc:964
+#: port_matrix.cc:965
#, c-format
msgid "Remove '%s'"
msgstr "Ta bort '%s'"
-#: port_matrix.cc:979
+#: port_matrix.cc:980
#, c-format
msgid "%s all from '%s'"
msgstr "%s alla från '%s'"
-#: port_matrix.cc:1045
+#: port_matrix.cc:1046
msgid "channel"
msgstr "kanal"
@@ -8108,197 +8220,224 @@ msgstr ""
msgid "There are no %1 ports to connect."
msgstr ""
-#: processor_box.cc:256
+#: processor_box.cc:150
+msgid "Send"
+msgstr ""
+
+#: processor_box.cc:152
+msgid "Return"
+msgstr ""
+
+#: processor_box.cc:310
+msgid ""
+"\n"
+"This mono plugin has been replicated %1 times."
+msgstr ""
+
+#: processor_box.cc:314
msgid ""
"<b>%1</b>\n"
"Double-click to show GUI.\n"
-"Alt+double-click to show generic GUI."
+"Alt+double-click to show generic GUI.%2"
msgstr ""
-#: processor_box.cc:259
+#: processor_box.cc:317
msgid ""
"<b>%1</b>\n"
-"Double-click to show generic GUI."
+"Double-click to show generic GUI.%2"
+msgstr ""
+
+#: processor_box.cc:361
+#, c-format
+msgid "(%1x1) "
msgstr ""
-#: processor_box.cc:372
+#: processor_box.cc:437
msgid "Show All Controls"
msgstr ""
-#: processor_box.cc:376
+#: processor_box.cc:441
msgid "Hide All Controls"
msgstr ""
-#: processor_box.cc:465
+#: processor_box.cc:475
+msgid "Link panner controls"
+msgstr ""
+
+#: processor_box.cc:559
msgid "on"
msgstr ""
-#: processor_box.cc:465 rc_option_editor.cc:1898 rc_option_editor.cc:1912
+#: processor_box.cc:559 rc_option_editor.cc:2232 rc_option_editor.cc:2246
msgid "off"
msgstr "av"
-#: processor_box.cc:742
+#: processor_box.cc:945
msgid ""
"Right-click to add/remove/edit\n"
"plugins,inserts,sends and more"
msgstr ""
-#: processor_box.cc:1197 processor_box.cc:1618
+#: processor_box.cc:1422 processor_box.cc:1848
msgid "Plugin Incompatibility"
msgstr ""
-#: processor_box.cc:1200
+#: processor_box.cc:1425
msgid "You attempted to add the plugin \"%1\" in slot %2.\n"
msgstr ""
-#: processor_box.cc:1206
+#: processor_box.cc:1431
msgid ""
"\n"
"This plugin has:\n"
msgstr ""
-#: processor_box.cc:1209
+#: processor_box.cc:1434
msgid "\t%1 MIDI input\n"
msgid_plural "\t%1 MIDI inputs\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1213
+#: processor_box.cc:1438
msgid "\t%1 audio input\n"
msgid_plural "\t%1 audio inputs\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1216
+#: processor_box.cc:1441
msgid ""
"\n"
"but at the insertion point, there are:\n"
msgstr ""
-#: processor_box.cc:1219
+#: processor_box.cc:1444
msgid "\t%1 MIDI channel\n"
msgid_plural "\t%1 MIDI channels\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1223
+#: processor_box.cc:1448
msgid "\t%1 audio channel\n"
msgid_plural "\t%1 audio channels\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1226
+#: processor_box.cc:1451
msgid ""
"\n"
"%1 is unable to insert this plugin here.\n"
msgstr ""
-#: processor_box.cc:1262
+#: processor_box.cc:1488
msgid "Cannot set up new send: %1"
msgstr ""
-#: processor_box.cc:1621
+#: processor_box.cc:1851
msgid ""
"You cannot reorder these plugins/sends/inserts\n"
"in that way because the inputs and\n"
"outputs will not work correctly."
msgstr ""
-#: processor_box.cc:1805
+#: processor_box.cc:2035
msgid "Rename Processor"
msgstr ""
-#: processor_box.cc:1836
+#: processor_box.cc:2066
msgid "At least 100 IO objects exist with a name like %1 - name not changed"
msgstr ""
-#: processor_box.cc:1970
+#: processor_box.cc:2203
msgid "plugin insert constructor failed"
msgstr ""
-#: processor_box.cc:1981
+#: processor_box.cc:2214
msgid ""
"Copying the set of processors on the clipboard failed,\n"
"probably because the I/O configuration of the plugins\n"
"could not match the configuration of this track."
msgstr ""
-#: processor_box.cc:2027
+#: processor_box.cc:2260
msgid ""
"Do you really want to remove all processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2031 processor_box.cc:2056
+#: processor_box.cc:2264 processor_box.cc:2289
msgid "Yes, remove them all"
msgstr "Ja, ta bort alla"
-#: processor_box.cc:2033 processor_box.cc:2058
+#: processor_box.cc:2266 processor_box.cc:2291
msgid "Remove processors"
msgstr ""
-#: processor_box.cc:2048
+#: processor_box.cc:2281
msgid ""
"Do you really want to remove all pre-fader processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2051
+#: processor_box.cc:2284
msgid ""
"Do you really want to remove all post-fader processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2239
+#: processor_box.cc:2472
msgid "New Plugin"
msgstr "Nytt insticksprogram"
-#: processor_box.cc:2242
+#: processor_box.cc:2475
msgid "New Insert"
msgstr "Ny Anslutningspunkt"
-#: processor_box.cc:2245
+#: processor_box.cc:2478
msgid "New External Send ..."
msgstr ""
-#: processor_box.cc:2249
+#: processor_box.cc:2482
msgid "New Aux Send ..."
msgstr "Ny auxilliär sänd..."
-#: processor_box.cc:2253
+#: processor_box.cc:2485
+msgid "Send Options"
+msgstr ""
+
+#: processor_box.cc:2487
msgid "Clear (all)"
msgstr "Rensa (alla)"
-#: processor_box.cc:2255
+#: processor_box.cc:2489
msgid "Clear (pre-fader)"
msgstr "Rensa (förreglage)"
-#: processor_box.cc:2257
+#: processor_box.cc:2491
msgid "Clear (post-fader)"
msgstr "Rensa (efterreglage)"
-#: processor_box.cc:2283
+#: processor_box.cc:2517
msgid "Activate All"
msgstr "Aktivera alla"
-#: processor_box.cc:2285
+#: processor_box.cc:2519
msgid "Deactivate All"
msgstr ""
-#: processor_box.cc:2287
+#: processor_box.cc:2521
msgid "A/B Plugins"
msgstr "A/B:a insticksprogram"
-#: processor_box.cc:2296
+#: processor_box.cc:2530
msgid "Edit with generic controls..."
msgstr ""
-#: processor_box.cc:2599
+#: processor_box.cc:2833
msgid "%1: %2 (by %3)"
msgstr ""
-#: processor_box.cc:2601
-msgid "%2 (by %3)"
+#: processor_box.cc:2835
+msgid "%1 (by %2)"
msgstr ""
#: patch_change_dialog.cc:51
@@ -8313,11 +8452,11 @@ msgstr ""
msgid "Patch"
msgstr ""
-#: patch_change_dialog.cc:99 step_entry.cc:429
+#: patch_change_dialog.cc:99 step_entry.cc:430
msgid "Program"
msgstr ""
-#: patch_change_dialog.cc:107 step_entry.cc:421
+#: patch_change_dialog.cc:107 step_entry.cc:422
msgid "Bank"
msgstr ""
@@ -8349,120 +8488,120 @@ msgstr "Fäst notstart mot"
msgid "Snap note end"
msgstr "Fäst notslut mot"
-#: rc_option_editor.cc:67
+#: rc_option_editor.cc:76
msgid "Click audio file:"
msgstr "Klickljudfil"
-#: rc_option_editor.cc:70 rc_option_editor.cc:77
+#: rc_option_editor.cc:79 rc_option_editor.cc:86
msgid "Browse..."
msgstr "Bläddra..."
-#: rc_option_editor.cc:74
+#: rc_option_editor.cc:83
msgid "Click emphasis audio file:"
msgstr "Betoning:"
-#: rc_option_editor.cc:106
+#: rc_option_editor.cc:115
msgid "Choose Click"
msgstr "Markera klick"
-#: rc_option_editor.cc:126
+#: rc_option_editor.cc:135
msgid "Choose Click Emphasis"
msgstr "Markera klickbetoning"
-#: rc_option_editor.cc:158
+#: rc_option_editor.cc:167
msgid "Limit undo history to"
msgstr "Begränsa ångrahistoriken till"
-#: rc_option_editor.cc:159
+#: rc_option_editor.cc:168
msgid "Save undo history of"
msgstr "Spara ångrahistorik för"
-#: rc_option_editor.cc:168 rc_option_editor.cc:175
+#: rc_option_editor.cc:177 rc_option_editor.cc:184
msgid "commands"
msgstr "kommandon"
-#: rc_option_editor.cc:313
+#: rc_option_editor.cc:322
msgid "Edit using:"
msgstr "Redigera med:"
-#: rc_option_editor.cc:319 rc_option_editor.cc:345 rc_option_editor.cc:372
+#: rc_option_editor.cc:328 rc_option_editor.cc:354 rc_option_editor.cc:381
msgid "+ button"
msgstr "+ musknapp"
-#: rc_option_editor.cc:339
+#: rc_option_editor.cc:348
msgid "Delete using:"
msgstr "Radera med:"
-#: rc_option_editor.cc:366
+#: rc_option_editor.cc:375
msgid "Insert note using:"
msgstr ""
-#: rc_option_editor.cc:393
+#: rc_option_editor.cc:402
msgid "Ignore snap using:"
msgstr ""
-#: rc_option_editor.cc:409
+#: rc_option_editor.cc:418
msgid "Keyboard layout:"
msgstr "Tangentbordslayout:"
-#: rc_option_editor.cc:532
+#: rc_option_editor.cc:541
msgid "Font scaling:"
msgstr "Typsnittskalning"
-#: rc_option_editor.cc:584
+#: rc_option_editor.cc:591
+msgid "Waveform Clip Level (dBFS):"
+msgstr ""
+
+#: rc_option_editor.cc:643
msgid "Playback (seconds of buffering):"
msgstr "Uppspelning (sekunder buffert):"
-#: rc_option_editor.cc:597
+#: rc_option_editor.cc:656
msgid "Recording (seconds of buffering):"
msgstr "Inspelning (sekunder buffert):"
-#: rc_option_editor.cc:654
+#: rc_option_editor.cc:714
msgid "Control Surface Protocol"
msgstr ""
-#: rc_option_editor.cc:658
-msgid "Feedback"
-msgstr "Gensvar"
-
-#: rc_option_editor.cc:663
+#: rc_option_editor.cc:723
msgid "Double-click on a name to edit settings for an enabled protocol"
msgstr "Dubbleklicka aktiverad kontrollytas namn för inställningar"
-#: rc_option_editor.cc:815
+#: rc_option_editor.cc:886
msgid "Show Video Export Info before export"
msgstr ""
-#: rc_option_editor.cc:816
+#: rc_option_editor.cc:887
msgid "Show Video Server Startup Dialog"
msgstr ""
-#: rc_option_editor.cc:817
+#: rc_option_editor.cc:888
msgid "Advanced Setup (remote video server)"
msgstr ""
-#: rc_option_editor.cc:825
+#: rc_option_editor.cc:896
msgid ""
"<b>When enabled</b> you can speficify a custom video-server URL and docroot. "
"- Do not enable this option unless you know what you are doing."
msgstr ""
-#: rc_option_editor.cc:827
+#: rc_option_editor.cc:898
msgid "Video Server URL:"
msgstr ""
-#: rc_option_editor.cc:832
+#: rc_option_editor.cc:903
msgid ""
"Base URL of the video-server including http prefix. This is usually 'http://"
"hostname.example.org:1554/' and defaults to 'http://localhost:1554/' when "
"the video-server is running locally"
msgstr ""
-#: rc_option_editor.cc:834
+#: rc_option_editor.cc:905
msgid "Video Folder:"
msgstr ""
-#: rc_option_editor.cc:839
+#: rc_option_editor.cc:910
msgid ""
"Local path to the video-server document-root. Only files below this "
"directory will be accessible by the video-server. If the server run on a "
@@ -8471,113 +8610,194 @@ msgid ""
"monitor and file-browsing when opening/adding a video file."
msgstr ""
-#: rc_option_editor.cc:846
+#: rc_option_editor.cc:917
msgid ""
"<b>When enabled</b> an information window with details is displayed before "
"the video-export dialog."
msgstr ""
-#: rc_option_editor.cc:851
+#: rc_option_editor.cc:922
msgid ""
"<b>When enabled</b> the video server is never launched automatically without "
"confirmation"
msgstr ""
-#: rc_option_editor.cc:991
+#: rc_option_editor.cc:1004
+msgid "Always Display Plugin Scan Progress"
+msgstr ""
+
+#: rc_option_editor.cc:1005
+msgid "Scan for new VST Plugins on Application Start"
+msgstr ""
+
+#: rc_option_editor.cc:1016
+msgid "General"
+msgstr ""
+
+#: rc_option_editor.cc:1022
+msgid "Scan for Plugins"
+msgstr ""
+
+#: rc_option_editor.cc:1029
+msgid ""
+"<b>When enabled</b> a popup window showing plugin scan progress is displayed "
+"for indexing (cache load) and discovery (detect new plugins)"
+msgstr ""
+
+#: rc_option_editor.cc:1035
+msgid ""
+"Specify the default timeout for plugin instantiation in 1/10 seconds. "
+"Plugins that require more time to load will be blacklisted. A value of 0 "
+"disables the timeout."
+msgstr ""
+
+#: rc_option_editor.cc:1037
+msgid "Scan Time Out [deciseconds]"
+msgstr ""
+
+#: rc_option_editor.cc:1045
+msgid "VST"
+msgstr ""
+
+#: rc_option_editor.cc:1051
+msgid "Clear VST Cache"
+msgstr ""
+
+#: rc_option_editor.cc:1055
+msgid "Clear VST Blacklist"
+msgstr ""
+
+#: rc_option_editor.cc:1063
+msgid ""
+"<b>When enabled</b> new VST plugins are searched, tested and added to the "
+"cache index on application start. When disabled new plugins will only be "
+"available after triggering a 'Scan' manually"
+msgstr ""
+
+#: rc_option_editor.cc:1066
+msgid "Linux VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1073
+msgid "Windows VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1135
+msgid "Set Windows VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1150
+msgid "Set Linux VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1231
msgid "%1 Preferences"
msgstr "%1-inställningar"
-#: rc_option_editor.cc:1002
+#: rc_option_editor.cc:1242
msgid "DSP CPU Utilization"
msgstr "DSP CPU-användning"
-#: rc_option_editor.cc:1006
+#: rc_option_editor.cc:1246
msgid "Signal processing uses"
msgstr "Signalprocessering använder"
-#: rc_option_editor.cc:1011
+#: rc_option_editor.cc:1251
msgid "all but one processor"
msgstr "alla förutom en processor"
-#: rc_option_editor.cc:1012
+#: rc_option_editor.cc:1252
msgid "all available processors"
msgstr "alla tillgängliga processorer"
-#: rc_option_editor.cc:1015
+#: rc_option_editor.cc:1255
msgid "%1 processors"
msgstr "%1 processor(er)"
-#: rc_option_editor.cc:1018
+#: rc_option_editor.cc:1258
msgid "This setting will only take effect when %1 is restarted."
msgstr ""
-#: rc_option_editor.cc:1023
+#: rc_option_editor.cc:1263
msgid "Options|Undo"
msgstr ""
-#: rc_option_editor.cc:1030
+#: rc_option_editor.cc:1270
msgid "Verify removal of last capture"
msgstr "Bekräfta borttagning av senaste inspelningen"
-#: rc_option_editor.cc:1038
+#: rc_option_editor.cc:1278
msgid "Make periodic backups of the session file"
msgstr "Gör periodiska säkerhetskopior"
-#: rc_option_editor.cc:1043
+#: rc_option_editor.cc:1283
msgid "Session Management"
msgstr ""
-#: rc_option_editor.cc:1048
+#: rc_option_editor.cc:1288
msgid "Always copy imported files"
msgstr "Kopiera alltid importerade filer"
-#: rc_option_editor.cc:1055
+#: rc_option_editor.cc:1295
msgid "Default folder for new sessions:"
msgstr ""
-#: rc_option_editor.cc:1063
+#: rc_option_editor.cc:1303
msgid "Maximum number of recent sessions"
msgstr ""
-#: rc_option_editor.cc:1076
+#: rc_option_editor.cc:1316
msgid "Click gain level"
msgstr ""
-#: rc_option_editor.cc:1081 route_time_axis.cc:215 route_time_axis.cc:676
+#: rc_option_editor.cc:1321 route_time_axis.cc:266 route_time_axis.cc:794
msgid "Automation"
msgstr "Automatisering"
-#: rc_option_editor.cc:1086
+#: rc_option_editor.cc:1326
msgid "Thinning factor (larger value => less data)"
msgstr ""
-#: rc_option_editor.cc:1095
+#: rc_option_editor.cc:1335
msgid "Automation sampling interval (milliseconds)"
msgstr ""
-#: rc_option_editor.cc:1107
+#: rc_option_editor.cc:1347
msgid "Keep record-enable engaged on stop"
msgstr "Behåll inspelningsläge på vid stopp"
-#: rc_option_editor.cc:1116
+#: rc_option_editor.cc:1356
msgid "Stop recording when an xrun occurs"
msgstr "Stoppa inspelningen när en xrun inträffar"
-#: rc_option_editor.cc:1121
+#: rc_option_editor.cc:1361
msgid ""
"<b>When enabled</b> %1 will stop recording if an over- or underrun is "
"detected by the audio engine"
msgstr ""
-#: rc_option_editor.cc:1127
+#: rc_option_editor.cc:1367
+msgid "Play loop is a transport mode"
+msgstr ""
+
+#: rc_option_editor.cc:1372
+msgid ""
+"<b>When enabled</b> the loop button does not start playback but forces "
+"playback to always play the loop\n"
+"\n"
+"<b>When disabled</b> the loop button starts playing the loop, but stop then "
+"cancels loop playback"
+msgstr ""
+
+#: rc_option_editor.cc:1378
msgid "Create markers where xruns occur"
msgstr "Skapa en markör där en xrun inträffar"
-#: rc_option_editor.cc:1136
+#: rc_option_editor.cc:1387
msgid "Stop at the end of the session"
msgstr "Stoppa vid slutet av sessionen"
-#: rc_option_editor.cc:1141
+#: rc_option_editor.cc:1392
msgid ""
"<b>When enabled</b> if %1 is <b>not recording</b>, it will stop the "
"transport when it reaches the current session end marker\n"
@@ -8586,11 +8806,11 @@ msgid ""
"all times"
msgstr ""
-#: rc_option_editor.cc:1149
+#: rc_option_editor.cc:1400
msgid "Do seamless looping (not possible when slaved to MTC, LTC etc)"
msgstr ""
-#: rc_option_editor.cc:1154
+#: rc_option_editor.cc:1405
msgid ""
"<b>When enabled</b> this will loop by reading ahead and wrapping around at "
"the loop point, preventing any need to do a transport locate at the end of "
@@ -8600,39 +8820,39 @@ msgid ""
"loop when %1 reaches the end which will often cause a small click or delay"
msgstr ""
-#: rc_option_editor.cc:1162
+#: rc_option_editor.cc:1413
msgid "Disable per-track record disarm while rolling"
msgstr "Omöjliggör spårspecifik inspelningslägesändring i rullande läge"
-#: rc_option_editor.cc:1166
+#: rc_option_editor.cc:1417
msgid ""
"<b>When enabled</b> this will prevent you from accidentally stopping "
"specific tracks recording during a take"
msgstr ""
-#: rc_option_editor.cc:1171
+#: rc_option_editor.cc:1422
msgid "12dB gain reduction during fast-forward and fast-rewind"
msgstr "12dB volymreduktion för snabbspolning"
-#: rc_option_editor.cc:1175
+#: rc_option_editor.cc:1426
msgid ""
"This will reduce the unpleasant increase in perceived volume that occurs "
"when fast-forwarding or rewinding through some kinds of audio"
msgstr ""
-#: rc_option_editor.cc:1179
+#: rc_option_editor.cc:1430
msgid "Sync/Slave"
msgstr ""
-#: rc_option_editor.cc:1183
+#: rc_option_editor.cc:1434
msgid "External timecode source"
msgstr ""
-#: rc_option_editor.cc:1193
+#: rc_option_editor.cc:1444
msgid "Match session video frame rate to external timecode"
msgstr ""
-#: rc_option_editor.cc:1199
+#: rc_option_editor.cc:1450
msgid ""
"This option controls the value of the video frame rate <i>while chasing</i> "
"an external timecode source.\n"
@@ -8646,21 +8866,21 @@ msgid ""
"external timecode standard and the session standard."
msgstr ""
-#: rc_option_editor.cc:1209
+#: rc_option_editor.cc:1460
msgid "External timecode is sync locked"
msgstr ""
-#: rc_option_editor.cc:1215
+#: rc_option_editor.cc:1466
msgid ""
"<b>When enabled</b> indicates that the selected external timecode source "
"shares sync (Black &amp; Burst, Wordclock, etc) with the audio interface."
msgstr ""
-#: rc_option_editor.cc:1222
+#: rc_option_editor.cc:1473
msgid "Lock to 29.9700 fps instead of 30000/1001"
msgstr ""
-#: rc_option_editor.cc:1228
+#: rc_option_editor.cc:1479
msgid ""
"<b>When enabled</b> the external timecode source is assumed to use 29.97 fps "
"instead of 30000/1001.\n"
@@ -8673,139 +8893,139 @@ msgid ""
"variant of using exactly 29.97 fps has zero timecode drift.\n"
msgstr ""
-#: rc_option_editor.cc:1238
+#: rc_option_editor.cc:1489
msgid "LTC Reader"
msgstr ""
-#: rc_option_editor.cc:1242
+#: rc_option_editor.cc:1493
msgid "LTC incoming port"
msgstr ""
-#: rc_option_editor.cc:1255
+#: rc_option_editor.cc:1506
msgid "LTC Generator"
msgstr ""
-#: rc_option_editor.cc:1260
+#: rc_option_editor.cc:1511
msgid "Enable LTC generator"
msgstr ""
-#: rc_option_editor.cc:1267
-msgid "send LTC while stopped"
+#: rc_option_editor.cc:1518
+msgid "Send LTC while stopped"
msgstr ""
-#: rc_option_editor.cc:1273
+#: rc_option_editor.cc:1524
msgid ""
"<b>When enabled</b> %1 will continue to send LTC information even when the "
"transport (playhead) is not moving"
msgstr ""
-#: rc_option_editor.cc:1279
+#: rc_option_editor.cc:1530
msgid "LTC generator level"
msgstr ""
-#: rc_option_editor.cc:1283
+#: rc_option_editor.cc:1534
msgid ""
"Specify the Peak Volume of the generated LTC signal in dbFS. A good value "
"is 0dBu ^= -18dbFS in an EBU calibrated system"
msgstr ""
-#: rc_option_editor.cc:1295
-msgid "Link selection of regions and tracks"
-msgstr "Länka region- och spårmarkering"
+#: rc_option_editor.cc:1546
+msgid "Allow dragging of playhead"
+msgstr ""
-#: rc_option_editor.cc:1303
+#: rc_option_editor.cc:1554
msgid "Move relevant automation when audio regions are moved"
msgstr "Flytta automation tillsammans med regioner"
-#: rc_option_editor.cc:1311
+#: rc_option_editor.cc:1562
msgid "Show meters on tracks in the editor"
msgstr "Visa nivåmätning vid spåren i redigeraren"
-#: rc_option_editor.cc:1319
+#: rc_option_editor.cc:1570
msgid "Display master-meter in the toolbar"
msgstr ""
-#: rc_option_editor.cc:1326
+#: rc_option_editor.cc:1577
+msgid "Default fade shape"
+msgstr ""
+
+#: rc_option_editor.cc:1596
msgid "Regions in active edit groups are edited together"
msgstr ""
-#: rc_option_editor.cc:1327
+#: rc_option_editor.cc:1597
msgid "whenever they overlap in time"
msgstr ""
-#: rc_option_editor.cc:1328
+#: rc_option_editor.cc:1598
msgid "only if they have identical length, position and origin"
msgstr ""
-#: rc_option_editor.cc:1338
+#: rc_option_editor.cc:1608
msgid "Make rubberband selection rectangle snap to the grid"
msgstr "Gummibandsmarkeringen fäster mot rutnätet"
-#: rc_option_editor.cc:1346
+#: rc_option_editor.cc:1616
msgid "Show waveforms in regions"
msgstr "Visa vågformer i regioner"
-#: rc_option_editor.cc:1354
+#: rc_option_editor.cc:1624
msgid "Show gain envelopes in audio regions"
msgstr ""
-#: rc_option_editor.cc:1355
+#: rc_option_editor.cc:1625
msgid "in all modes"
msgstr ""
-#: rc_option_editor.cc:1356
+#: rc_option_editor.cc:1626
msgid "only in region gain mode"
msgstr ""
-#: rc_option_editor.cc:1363
+#: rc_option_editor.cc:1633
msgid "Waveform scale"
msgstr "VÃ¥gformsskala"
-#: rc_option_editor.cc:1368
+#: rc_option_editor.cc:1638
msgid "linear"
msgstr "linjär"
-#: rc_option_editor.cc:1369
+#: rc_option_editor.cc:1639
msgid "logarithmic"
msgstr "logaritmisk"
-#: rc_option_editor.cc:1375
+#: rc_option_editor.cc:1645
msgid "Waveform shape"
msgstr "VÃ¥gformsutseende"
-#: rc_option_editor.cc:1380
+#: rc_option_editor.cc:1650
msgid "traditional"
msgstr "traditionell"
-#: rc_option_editor.cc:1381
+#: rc_option_editor.cc:1651
msgid "rectified"
msgstr "korrigerad"
-#: rc_option_editor.cc:1388
+#: rc_option_editor.cc:1660
msgid "Show waveforms for audio while it is being recorded"
msgstr "Visa vågformer vid inspelning"
-#: rc_option_editor.cc:1396
+#: rc_option_editor.cc:1668
msgid "Show zoom toolbar"
msgstr "Visa zoom-verktygsraden"
-#: rc_option_editor.cc:1404
-msgid "Color regions using their track's color"
-msgstr "Färglägg regioner med spårets färg"
-
-#: rc_option_editor.cc:1412
+#: rc_option_editor.cc:1676
msgid "Update editor window during drags of the summary"
msgstr ""
-#: rc_option_editor.cc:1420
+#: rc_option_editor.cc:1684
msgid "Synchronise editor and mixer selection"
msgstr ""
-#: rc_option_editor.cc:1427
+#: rc_option_editor.cc:1691
msgid "Name new markers"
msgstr "Namnge nya markörer"
-#: rc_option_editor.cc:1433
+#: rc_option_editor.cc:1697
msgid ""
"If enabled, popup a dialog when a new marker is created to allow its name to "
"be set as it is created.\n"
@@ -8813,656 +9033,676 @@ msgid ""
"You can always rename markers by right-clicking on them"
msgstr ""
-#: rc_option_editor.cc:1439
+#: rc_option_editor.cc:1703
msgid "Auto-scroll editor window when dragging near its edges"
msgstr ""
-#: rc_option_editor.cc:1446
+#: rc_option_editor.cc:1710
msgid "Buffering"
msgstr "Buffertar"
-#: rc_option_editor.cc:1454
+#: rc_option_editor.cc:1718
msgid "Record monitoring handled by"
msgstr ""
-#: rc_option_editor.cc:1460
+#: rc_option_editor.cc:1724
msgid "via Audio Driver"
msgstr ""
-#: rc_option_editor.cc:1463
-msgid "ardour"
-msgstr ""
-
-#: rc_option_editor.cc:1464
+#: rc_option_editor.cc:1730
msgid "audio hardware"
msgstr "ljudhårdvaran"
-#: rc_option_editor.cc:1471
+#: rc_option_editor.cc:1737
msgid "Tape machine mode"
msgstr "Bandmaskingläge"
-#: rc_option_editor.cc:1476
+#: rc_option_editor.cc:1742
msgid "Connection of tracks and busses"
msgstr "Spår- och bussanslutning"
-#: rc_option_editor.cc:1481
+#: rc_option_editor.cc:1747
msgid "Auto-connect master/monitor busses"
msgstr "Anslut master/medhörningsbussar automatiskt"
-#: rc_option_editor.cc:1488
+#: rc_option_editor.cc:1754
msgid "Connect track inputs"
msgstr "Anslut spåringångar"
-#: rc_option_editor.cc:1493
+#: rc_option_editor.cc:1759
msgid "automatically to physical inputs"
msgstr "automatiskt till fysiska ingångar"
-#: rc_option_editor.cc:1494 rc_option_editor.cc:1507
+#: rc_option_editor.cc:1760 rc_option_editor.cc:1773
msgid "manually"
msgstr "manuellt"
-#: rc_option_editor.cc:1500
+#: rc_option_editor.cc:1766
msgid "Connect track and bus outputs"
msgstr "Anslut spår- och bussutgångar"
-#: rc_option_editor.cc:1505
+#: rc_option_editor.cc:1771
msgid "automatically to physical outputs"
msgstr "automatiskt till fysiska utgångar"
-#: rc_option_editor.cc:1506
+#: rc_option_editor.cc:1772
msgid "automatically to master bus"
msgstr "automatiskt till master-bussen"
-#: rc_option_editor.cc:1511
+#: rc_option_editor.cc:1777
msgid "Denormals"
msgstr ""
-#: rc_option_editor.cc:1516
+#: rc_option_editor.cc:1782
msgid "Use DC bias to protect against denormals"
msgstr "Använd DC-bias för att skydda mot denormals"
-#: rc_option_editor.cc:1523
+#: rc_option_editor.cc:1789
msgid "Processor handling"
msgstr "Processorhantering"
-#: rc_option_editor.cc:1528
+#: rc_option_editor.cc:1794
msgid "no processor handling"
msgstr "ingen processorhantering"
-#: rc_option_editor.cc:1533
+#: rc_option_editor.cc:1799
msgid "use FlushToZero"
msgstr "använd FlushToZero"
-#: rc_option_editor.cc:1537
+#: rc_option_editor.cc:1803
msgid "use DenormalsAreZero"
msgstr "använd DenormalsAreZero"
-#: rc_option_editor.cc:1541
+#: rc_option_editor.cc:1807
msgid "use FlushToZero and DenormalsAreZero"
msgstr ""
-#: rc_option_editor.cc:1551
+#: rc_option_editor.cc:1817
msgid "Silence plugins when the transport is stopped"
msgstr ""
-#: rc_option_editor.cc:1559
+#: rc_option_editor.cc:1825
msgid "Make new plugins active"
msgstr "Aktivera nya insticksprogram automatiskt"
-#: rc_option_editor.cc:1567
+#: rc_option_editor.cc:1835
msgid "Enable automatic analysis of audio"
msgstr "Analysera ljudfiler automatiskt"
-#: rc_option_editor.cc:1575
+#: rc_option_editor.cc:1843
msgid "Replicate missing region channels"
msgstr "Ã…terskapa saknade regioners kanaler"
-#: rc_option_editor.cc:1582 rc_option_editor.cc:1597 rc_option_editor.cc:1609
-#: rc_option_editor.cc:1621 rc_option_editor.cc:1633 rc_option_editor.cc:1637
-#: rc_option_editor.cc:1645 rc_option_editor.cc:1653 rc_option_editor.cc:1661
-#: rc_option_editor.cc:1663 rc_option_editor.cc:1671 rc_option_editor.cc:1679
-#: rc_option_editor.cc:1687
+#: rc_option_editor.cc:1850 rc_option_editor.cc:1852 rc_option_editor.cc:1867
+#: rc_option_editor.cc:1879 rc_option_editor.cc:1891 rc_option_editor.cc:1903
+#: rc_option_editor.cc:1907 rc_option_editor.cc:1915 rc_option_editor.cc:1923
+#: rc_option_editor.cc:1931 rc_option_editor.cc:1933 rc_option_editor.cc:1941
+#: rc_option_editor.cc:1949 rc_option_editor.cc:1957 rc_option_editor.cc:1965
+#: rc_option_editor.cc:1967
msgid "Solo / mute"
msgstr "Solo / tysta"
-#: rc_option_editor.cc:1585
+#: rc_option_editor.cc:1855
msgid "Solo-in-place mute cut (dB)"
msgstr ""
-#: rc_option_editor.cc:1592
+#: rc_option_editor.cc:1862
msgid "Solo controls are Listen controls"
msgstr "Solokontroller är avlyssningskontroller"
-#: rc_option_editor.cc:1601
+#: rc_option_editor.cc:1871
msgid "Listen Position"
msgstr "Avlyssningsposition"
-#: rc_option_editor.cc:1606
+#: rc_option_editor.cc:1876
msgid "after-fader (AFL)"
msgstr ""
-#: rc_option_editor.cc:1607
+#: rc_option_editor.cc:1877
msgid "pre-fader (PFL)"
msgstr ""
-#: rc_option_editor.cc:1613
+#: rc_option_editor.cc:1883
msgid "PFL signals come from"
msgstr "PFL-signaler kommer från"
-#: rc_option_editor.cc:1618
+#: rc_option_editor.cc:1888
msgid "before pre-fader processors"
msgstr "innan för-nivåreglageprocessorer"
-#: rc_option_editor.cc:1619
+#: rc_option_editor.cc:1889
msgid "pre-fader but after pre-fader processors"
msgstr "för-nivåreglage men efter för-nivåreglageprocessorer"
-#: rc_option_editor.cc:1625
+#: rc_option_editor.cc:1895
msgid "AFL signals come from"
msgstr "AFL-signaler kommer från"
-#: rc_option_editor.cc:1630
+#: rc_option_editor.cc:1900
msgid "immediately post-fader"
msgstr ""
-#: rc_option_editor.cc:1631
+#: rc_option_editor.cc:1901
msgid "after post-fader processors (before pan)"
msgstr ""
-#: rc_option_editor.cc:1640
+#: rc_option_editor.cc:1910
msgid "Exclusive solo"
msgstr "Avskild solo"
-#: rc_option_editor.cc:1648
+#: rc_option_editor.cc:1918
msgid "Show solo muting"
msgstr "Visa solotystning"
-#: rc_option_editor.cc:1656
+#: rc_option_editor.cc:1926
msgid "Soloing overrides muting"
msgstr "Solo åsidosätter tystning"
-#: rc_option_editor.cc:1661
+#: rc_option_editor.cc:1931
msgid "Default track / bus muting options"
msgstr "Standardinställningar för spår-/busstystning"
-#: rc_option_editor.cc:1666
+#: rc_option_editor.cc:1936
msgid "Mute affects pre-fader sends"
msgstr "Tystning påverkar för-reglagesändningar"
-#: rc_option_editor.cc:1674
+#: rc_option_editor.cc:1944
msgid "Mute affects post-fader sends"
msgstr "Tystning påverkar efter-reglagesändningar"
-#: rc_option_editor.cc:1682
+#: rc_option_editor.cc:1952
msgid "Mute affects control outputs"
msgstr "Tystning påverkar kontrollutgångar"
-#: rc_option_editor.cc:1690
+#: rc_option_editor.cc:1960
msgid "Mute affects main outputs"
msgstr "Tystning påverkar huvudutgångarna"
-#: rc_option_editor.cc:1706
+#: rc_option_editor.cc:1965
+msgid "Send Routing"
+msgstr ""
+
+#: rc_option_editor.cc:1970
+msgid "Link panners of Aux and External Sends with main panner by default"
+msgstr ""
+
+#: rc_option_editor.cc:1986
msgid "Send MIDI Time Code"
msgstr "Skicka MIDI-tidskod"
-#: rc_option_editor.cc:1714
+#: rc_option_editor.cc:1994
msgid "Percentage either side of normal transport speed to transmit MTC"
msgstr ""
-#: rc_option_editor.cc:1723
+#: rc_option_editor.cc:2003
msgid "Obey MIDI Machine Control commands"
msgstr "Lyd MIDI Machine Control-kommandon"
-#: rc_option_editor.cc:1731
+#: rc_option_editor.cc:2011
msgid "Send MIDI Machine Control commands"
msgstr "Skicka MIDI Machine Control-kommandon"
-#: rc_option_editor.cc:1739
+#: rc_option_editor.cc:2019
msgid "Send MIDI control feedback"
msgstr "Skicka MIDI-kontrollgensvar"
-#: rc_option_editor.cc:1747
+#: rc_option_editor.cc:2027
msgid "Inbound MMC device ID"
msgstr "Inkommande MMC-enhets-ID"
-#: rc_option_editor.cc:1756
+#: rc_option_editor.cc:2036
msgid "Outbound MMC device ID"
msgstr "Utgående MMC-enhets-ID"
-#: rc_option_editor.cc:1765
+#: rc_option_editor.cc:2045
msgid "Initial program change"
msgstr "Initiell programändring"
-#: rc_option_editor.cc:1774
+#: rc_option_editor.cc:2054
msgid "Display first MIDI bank/program as 0"
msgstr ""
-#: rc_option_editor.cc:1782
+#: rc_option_editor.cc:2062
msgid "Never display periodic MIDI messages (MTC, MIDI Clock)"
msgstr ""
-#: rc_option_editor.cc:1790
+#: rc_option_editor.cc:2070
msgid "Sound MIDI notes as they are selected"
msgstr ""
-#: rc_option_editor.cc:1798 rc_option_editor.cc:1808 rc_option_editor.cc:1810
+#: rc_option_editor.cc:2075
+msgid "Midi Audition"
+msgstr ""
+
+#: rc_option_editor.cc:2079
+msgid "Midi Audition Synth (LV2)"
+msgstr ""
+
+#: rc_option_editor.cc:2103 rc_option_editor.cc:2113 rc_option_editor.cc:2115
msgid "User interaction"
msgstr ""
-#: rc_option_editor.cc:1801
+#: rc_option_editor.cc:2106
msgid ""
"Use translations of %1 messages\n"
" <i>(requires a restart of %1 to take effect)</i>\n"
" <i>(if available for your language preferences)</i>"
msgstr ""
-#: rc_option_editor.cc:1808
+#: rc_option_editor.cc:2113
msgid "Keyboard"
msgstr "Tangentbord"
-#: rc_option_editor.cc:1818
+#: rc_option_editor.cc:2123
msgid "Control surface remote ID"
msgstr "Kontrollytans fjärr-ID"
-#: rc_option_editor.cc:1823
+#: rc_option_editor.cc:2128
msgid "assigned by user"
msgstr "användardefinierat"
-#: rc_option_editor.cc:1824
+#: rc_option_editor.cc:2129
msgid "follows order of mixer"
msgstr "följer mixerns ordning"
-#: rc_option_editor.cc:1833 rc_option_editor.cc:1841 rc_option_editor.cc:1851
-#: rc_option_editor.cc:1872 rc_option_editor.cc:1881 rc_option_editor.cc:1889
-#: rc_option_editor.cc:1903 rc_option_editor.cc:1922 rc_option_editor.cc:1938
-#: rc_option_editor.cc:1954 rc_option_editor.cc:1968 rc_option_editor.cc:1982
-#: rc_option_editor.cc:1984
+#: rc_option_editor.cc:2143 rc_option_editor.cc:2151 rc_option_editor.cc:2159
+#: rc_option_editor.cc:2169 rc_option_editor.cc:2193 rc_option_editor.cc:2206
+#: rc_option_editor.cc:2215
msgid "Preferences|GUI"
msgstr ""
-#: rc_option_editor.cc:1836
+#: rc_option_editor.cc:2146
msgid "Graphically indicate mouse pointer hovering over various widgets"
msgstr ""
-#: rc_option_editor.cc:1844
+#: rc_option_editor.cc:2154
msgid "Show tooltips if mouse hovers over a control"
msgstr ""
-#: rc_option_editor.cc:1854
-msgid "GUI"
+#: rc_option_editor.cc:2162
+msgid "Use name highlight bars in region displays"
+msgstr ""
+
+#: rc_option_editor.cc:2175
+msgid "update transport clock display at FPS instead of every 100ms"
+msgstr ""
+
+#: rc_option_editor.cc:2184
+msgid "Lock timeout (seconds)"
msgstr ""
-#: rc_option_editor.cc:1857
-msgid "update transport clock display every 40ms instead of every 100ms"
+#: rc_option_editor.cc:2192
+msgid "Lock GUI after this many idle seconds (zero to never lock)"
msgstr ""
-#: rc_option_editor.cc:1874
+#: rc_option_editor.cc:2208
msgid "Mixer Strip"
msgstr ""
-#: rc_option_editor.cc:1884
+#: rc_option_editor.cc:2218
msgid "Use narrow strips in the mixer by default"
msgstr ""
-#: rc_option_editor.cc:1893
+#: rc_option_editor.cc:2223 rc_option_editor.cc:2237 rc_option_editor.cc:2256
+#: rc_option_editor.cc:2272 rc_option_editor.cc:2288 rc_option_editor.cc:2302
+#: rc_option_editor.cc:2316 rc_option_editor.cc:2318
+msgid "Preferences|Metering"
+msgstr ""
+
+#: rc_option_editor.cc:2227
msgid "Peak hold time"
msgstr ""
-#: rc_option_editor.cc:1899
+#: rc_option_editor.cc:2233
msgid "short"
msgstr "kort"
-#: rc_option_editor.cc:1900
+#: rc_option_editor.cc:2234
msgid "medium"
msgstr ""
-#: rc_option_editor.cc:1901
+#: rc_option_editor.cc:2235
msgid "long"
msgstr "lång"
-#: rc_option_editor.cc:1907
+#: rc_option_editor.cc:2241
msgid "DPM fall-off"
msgstr ""
-#: rc_option_editor.cc:1913
+#: rc_option_editor.cc:2247
msgid "slowest [6.6dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1914
+#: rc_option_editor.cc:2248
msgid "slow [8.6dB/sec] (BBC PPM, EBU PPM)"
msgstr ""
-#: rc_option_editor.cc:1915
+#: rc_option_editor.cc:2249
msgid "slowish [12.0dB/sec] (DIN)"
msgstr ""
-#: rc_option_editor.cc:1916
+#: rc_option_editor.cc:2250
msgid "moderate [13.3dB/sec] (EBU Digi PPM, IRT Digi PPM)"
msgstr ""
-#: rc_option_editor.cc:1917
+#: rc_option_editor.cc:2251
msgid "medium [20dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1918
+#: rc_option_editor.cc:2252
msgid "fast [32dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1919
+#: rc_option_editor.cc:2253
msgid "faster [46dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1920
+#: rc_option_editor.cc:2254
msgid "fastest [70dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1926
+#: rc_option_editor.cc:2260
msgid "Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1931 rc_option_editor.cc:1947
+#: rc_option_editor.cc:2265 rc_option_editor.cc:2281
msgid "-24dBFS (SMPTE US: 4dBu = -20dBFS)"
msgstr ""
-#: rc_option_editor.cc:1932 rc_option_editor.cc:1948
+#: rc_option_editor.cc:2266 rc_option_editor.cc:2282
msgid "-20dBFS (SMPTE RP.0155)"
msgstr ""
-#: rc_option_editor.cc:1933 rc_option_editor.cc:1949
+#: rc_option_editor.cc:2267 rc_option_editor.cc:2283
msgid "-18dBFS (EBU, BBC)"
msgstr ""
-#: rc_option_editor.cc:1934 rc_option_editor.cc:1950
+#: rc_option_editor.cc:2268 rc_option_editor.cc:2284
msgid "-15dBFS (DIN)"
msgstr ""
-#: rc_option_editor.cc:1936
+#: rc_option_editor.cc:2270
msgid ""
"Configure meter-marks and color-knee point for dBFS scale DPM, set reference "
"level for IEC1/Nordic, IEC2 PPM and VU meter."
msgstr ""
-#: rc_option_editor.cc:1942
+#: rc_option_editor.cc:2276
msgid "IEC1/DIN Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1952
+#: rc_option_editor.cc:2286
msgid "Reference level for IEC1/DIN meter."
msgstr ""
-#: rc_option_editor.cc:1958
+#: rc_option_editor.cc:2292
msgid "VU Meter standard"
msgstr ""
-#: rc_option_editor.cc:1963
+#: rc_option_editor.cc:2297
msgid "0VU = -2dBu (France)"
msgstr ""
-#: rc_option_editor.cc:1964
+#: rc_option_editor.cc:2298
msgid "0VU = 0dBu (North America, Australia)"
msgstr ""
-#: rc_option_editor.cc:1965
+#: rc_option_editor.cc:2299
msgid "0VU = +4dBu (standard)"
msgstr ""
-#: rc_option_editor.cc:1966
+#: rc_option_editor.cc:2300
msgid "0VU = +8dBu"
msgstr ""
-#: rc_option_editor.cc:1972
+#: rc_option_editor.cc:2306
msgid "Peak threshold [dBFS]"
msgstr ""
-#: rc_option_editor.cc:1980
+#: rc_option_editor.cc:2314
msgid ""
"Specify the audio signal level in dbFS at and above which the meter-peak "
"indicator will flash red."
msgstr ""
-#: rc_option_editor.cc:1987
+#: rc_option_editor.cc:2321
msgid "LED meter style"
msgstr ""
-#: region_editor.cc:79
+#: region_editor.cc:78
msgid "audition this region"
msgstr "avlyssna denna region"
-#: region_editor.cc:88 region_layering_order_editor.cc:74
+#: region_editor.cc:87 region_layering_order_editor.cc:75
msgid "Position:"
msgstr ""
-#: region_editor.cc:90 add_video_dialog.cc:170
+#: region_editor.cc:89 add_video_dialog.cc:155
msgid "End:"
msgstr "Slut:"
-#: region_editor.cc:92 sfdb_ui.cc:139
+#: region_editor.cc:91 sfdb_ui.cc:143
msgid "Length:"
msgstr "Längd:"
-#: region_editor.cc:94
+#: region_editor.cc:93
msgid "Sync point (relative to region):"
msgstr "Synk.-punkt (relativt mot region):"
-#: region_editor.cc:96
+#: region_editor.cc:95
msgid "Sync point (absolute):"
msgstr "Synk.-punkt (absolut):"
-#: region_editor.cc:98
+#: region_editor.cc:97
msgid "File start:"
msgstr "Fil börjar:"
-#: region_editor.cc:102
+#: region_editor.cc:101
msgid "Sources:"
msgstr "Källor:"
-#: region_editor.cc:104
+#: region_editor.cc:103
msgid "Source:"
msgstr "Källa:"
-#: region_editor.cc:166
+#: region_editor.cc:165
msgid "Region '%1'"
msgstr ""
-#: region_editor.cc:273
+#: region_editor.cc:272
msgid "change region start position"
msgstr ""
-#: region_editor.cc:289
+#: region_editor.cc:288
msgid "change region end position"
msgstr ""
-#: region_editor.cc:309
+#: region_editor.cc:308
msgid "change region length"
msgstr ""
-#: region_editor.cc:403 region_editor.cc:415
+#: region_editor.cc:402 region_editor.cc:414
msgid "change region sync point"
msgstr ""
-#: region_layering_order_editor.cc:41
+#: region_layering_order_editor.cc:42
msgid "RegionLayeringOrderEditor"
msgstr ""
-#: region_layering_order_editor.cc:54
+#: region_layering_order_editor.cc:55
msgid "Region Name"
msgstr ""
-#: region_layering_order_editor.cc:71
+#: region_layering_order_editor.cc:72
msgid "Track:"
msgstr ""
-#: region_layering_order_editor.cc:103
+#: region_layering_order_editor.cc:104
msgid "Choose Top Region"
msgstr ""
-#: region_view.cc:274
+#: region_view.cc:282
msgid "SilenceText"
msgstr ""
-#: region_view.cc:290 region_view.cc:309
+#: region_view.cc:297 region_view.cc:316
msgid "minutes"
msgstr ""
-#: region_view.cc:293 region_view.cc:312
+#: region_view.cc:300 region_view.cc:319
msgid "msecs"
msgstr "msek"
-#: region_view.cc:296 region_view.cc:315
+#: region_view.cc:303 region_view.cc:322
msgid "secs"
msgstr ""
-#: region_view.cc:299
+#: region_view.cc:306
msgid "%1 silent segment"
msgid_plural "%1 silent segments"
msgstr[0] ""
msgstr[1] ""
-#: region_view.cc:301
+#: region_view.cc:308
msgid "shortest = %1 %2"
msgstr ""
-#: region_view.cc:318
+#: region_view.cc:325
msgid ""
"\n"
" (shortest audible segment = %1 %2)"
msgstr ""
-#: return_ui.cc:103
+#: return_ui.cc:102
msgid "Return "
msgstr ""
-#: rhythm_ferret.cc:49
+#: rhythm_ferret.cc:48
msgid "Percussive Onset"
msgstr "Perkussivt anslag"
-#: rhythm_ferret.cc:50
+#: rhythm_ferret.cc:49
msgid "Note Onset"
msgstr "Notanslag"
-#: rhythm_ferret.cc:55
+#: rhythm_ferret.cc:54
msgid "Energy Based"
msgstr ""
-#: rhythm_ferret.cc:56
+#: rhythm_ferret.cc:55
msgid "Spectral Difference"
msgstr ""
-#: rhythm_ferret.cc:57
+#: rhythm_ferret.cc:56
msgid "High-Frequency Content"
msgstr ""
-#: rhythm_ferret.cc:58
+#: rhythm_ferret.cc:57
msgid "Complex Domain"
msgstr ""
-#: rhythm_ferret.cc:59
+#: rhythm_ferret.cc:58
msgid "Phase Deviation"
msgstr ""
-#: rhythm_ferret.cc:60
+#: rhythm_ferret.cc:59
msgid "Kullback-Liebler"
msgstr ""
-#: rhythm_ferret.cc:61
+#: rhythm_ferret.cc:60
msgid "Modified Kullback-Liebler"
msgstr ""
-#: rhythm_ferret.cc:66
+#: rhythm_ferret.cc:65
msgid "Split region"
msgstr "Dela region"
-#: rhythm_ferret.cc:67
+#: rhythm_ferret.cc:66
msgid "Snap regions"
msgstr ""
-#: rhythm_ferret.cc:68
+#: rhythm_ferret.cc:67
msgid "Conform regions"
msgstr ""
-#: rhythm_ferret.cc:73
+#: rhythm_ferret.cc:72
msgid "Rhythm Ferret"
msgstr ""
-#: rhythm_ferret.cc:79
+#: rhythm_ferret.cc:78
msgid "Analyze"
msgstr "Analysera"
-#: rhythm_ferret.cc:114
+#: rhythm_ferret.cc:113
msgid "Detection function"
msgstr "Upptäcktsfunktion"
-#: rhythm_ferret.cc:118
+#: rhythm_ferret.cc:117
msgid "Trigger gap"
msgstr "Utlösningsglapp"
-#: rhythm_ferret.cc:123 strip_silence_dialog.cc:68
+#: rhythm_ferret.cc:122 strip_silence_dialog.cc:64
msgid "Threshold"
msgstr "Tröskel"
-#: rhythm_ferret.cc:128
+#: rhythm_ferret.cc:127
msgid "Peak threshold"
msgstr "Topptröskel"
-#: rhythm_ferret.cc:133
+#: rhythm_ferret.cc:132
msgid "Silence threshold"
msgstr "Tystnadströskel"
-#: rhythm_ferret.cc:138
+#: rhythm_ferret.cc:137
msgid "Sensitivity"
msgstr "Känslighet"
-#: rhythm_ferret.cc:142
+#: rhythm_ferret.cc:141
msgid "Operation"
msgstr "Hantering"
-#: rhythm_ferret.cc:356
+#: rhythm_ferret.cc:355
msgid "split regions (rhythm ferret)"
msgstr ""
-#: route_group_dialog.cc:36
+#: route_group_dialog.cc:42
msgid "Track/bus Group"
msgstr ""
-#: route_group_dialog.cc:41
+#: route_group_dialog.cc:47
msgid "Relative"
msgstr "Relativt"
-#: route_group_dialog.cc:42
+#: route_group_dialog.cc:48
msgid "Muting"
msgstr "Tystning"
-#: route_group_dialog.cc:43
-msgid "Soloing"
-msgstr "Sololäge"
-
-#: route_group_dialog.cc:44
+#: route_group_dialog.cc:50
msgid "Record enable"
msgstr "Inspelningsläge"
-#: route_group_dialog.cc:45 time_info_box.cc:66
+#: route_group_dialog.cc:51 time_info_box.cc:67
msgid "Selection"
msgstr "Markering"
-#: route_group_dialog.cc:46
+#: route_group_dialog.cc:52
msgid "Active state"
msgstr ""
-#: route_group_dialog.cc:47 route_group_dialog.cc:76 theme_manager.cc:71
+#: route_group_dialog.cc:53 route_group_dialog.cc:82 theme_manager.cc:84
msgid "Color"
msgstr "Färg"
-#: route_group_dialog.cc:53
+#: route_group_dialog.cc:59
msgid "RouteGroupDialog"
msgstr ""
-#: route_group_dialog.cc:92
+#: route_group_dialog.cc:100
msgid "<b>Sharing</b>"
msgstr "<b>Gemensamt</b>"
-#: route_group_dialog.cc:182
-msgid ""
-"A route group of this name already exists. Please use a different name."
+#: route_group_dialog.cc:200
+msgid "The group name is not unique. Please use a different name."
msgstr ""
#: route_params_ui.cc:83
@@ -9485,296 +9725,280 @@ msgstr "Insticksprogram, anslutningspunkter & sändningar"
msgid "route display list item for renamed route not found!"
msgstr "ruttvisningslisteobjekt för omdöpt rutt hittades inte!"
-#: route_params_ui.cc:255 route_params_ui.cc:283
+#: route_params_ui.cc:278 route_params_ui.cc:306
#, c-format
msgid "Playback delay: %<PRId64> samples"
msgstr "Uppspelningsfördröjning: %<PRId64> samplingar"
-#: route_params_ui.cc:475
+#: route_params_ui.cc:498
msgid "NO TRACK"
msgstr "INGET SPÃ…R"
-#: route_params_ui.cc:613 route_params_ui.cc:614
+#: route_params_ui.cc:636 route_params_ui.cc:637
msgid "No Track or Bus Selected"
msgstr "Inget spår eller buss vald"
-#: route_time_axis.cc:97
-msgid "g"
-msgstr ""
-
-#: route_time_axis.cc:98
-msgid "p"
-msgstr ""
-
-#: route_time_axis.cc:99
-msgid "a"
-msgstr ""
-
-#: route_time_axis.cc:173
+#: route_time_axis.cc:179
msgid "Record (Right-click for Step Edit)"
msgstr ""
-#: route_time_axis.cc:176
+#: route_time_axis.cc:182
msgid "Record"
msgstr "Spela in"
-#: route_time_axis.cc:210
+#: route_time_axis.cc:254
msgid "Route Group"
msgstr "Ruttgrupp"
-#: route_time_axis.cc:213
+#: route_time_axis.cc:264
msgid "MIDI Controllers and Automation"
msgstr ""
-#: route_time_axis.cc:390
+#: route_time_axis.cc:500
msgid "Show All Automation"
msgstr "Visa all automatisering"
-#: route_time_axis.cc:393
+#: route_time_axis.cc:503
msgid "Show Existing Automation"
msgstr "Visa existerande automatisering"
-#: route_time_axis.cc:396
+#: route_time_axis.cc:506
msgid "Hide All Automation"
msgstr "Göm all automatisering"
-#: route_time_axis.cc:405
+#: route_time_axis.cc:515
msgid "Processor automation"
msgstr ""
-#: route_time_axis.cc:424
-msgid "Color..."
-msgstr "Färg..."
-
-#: route_time_axis.cc:481
+#: route_time_axis.cc:599
msgid "Overlaid"
msgstr "Överlappande"
-#: route_time_axis.cc:487
+#: route_time_axis.cc:605
msgid "Stacked"
msgstr "I trappa"
-#: route_time_axis.cc:495
+#: route_time_axis.cc:613
msgid "Layers"
msgstr "Lager"
-#: route_time_axis.cc:564
+#: route_time_axis.cc:682
msgid "Automatic (based on I/O connections)"
msgstr ""
-#: route_time_axis.cc:573
+#: route_time_axis.cc:691
msgid "(Currently: Existing Material)"
msgstr ""
-#: route_time_axis.cc:576
+#: route_time_axis.cc:694
msgid "(Currently: Capture Time)"
msgstr ""
-#: route_time_axis.cc:584
+#: route_time_axis.cc:702
msgid "Align With Existing Material"
msgstr "Efter existerande material"
-#: route_time_axis.cc:589
+#: route_time_axis.cc:707
msgid "Align With Capture Time"
msgstr "Efter inspelningstiden"
-#: route_time_axis.cc:594
+#: route_time_axis.cc:712
msgid "Alignment"
msgstr "Justera"
-#: route_time_axis.cc:629
+#: route_time_axis.cc:747
msgid "Normal Mode"
msgstr "Normalt"
-#: route_time_axis.cc:635
+#: route_time_axis.cc:753
msgid "Tape Mode"
msgstr "Bandläge"
-#: route_time_axis.cc:641
+#: route_time_axis.cc:759
msgid "Non-Layered Mode"
msgstr "Ej i lager"
-#: route_time_axis.cc:654 route_time_axis.cc:1601
+#: route_time_axis.cc:772 route_time_axis.cc:1748
msgid "Playlist"
msgstr "Spellista"
-#: route_time_axis.cc:979
+#: route_time_axis.cc:1070
msgid "Rename Playlist"
msgstr ""
-#: route_time_axis.cc:980
+#: route_time_axis.cc:1071
msgid "New name for playlist:"
msgstr ""
-#: route_time_axis.cc:1065
+#: route_time_axis.cc:1156
msgid "New Copy Playlist"
msgstr ""
-#: route_time_axis.cc:1066 route_time_axis.cc:1119
+#: route_time_axis.cc:1157 route_time_axis.cc:1210
msgid "Name for new playlist:"
msgstr ""
-#: route_time_axis.cc:1118
+#: route_time_axis.cc:1209
msgid "New Playlist"
msgstr ""
-#: route_time_axis.cc:1309
+#: route_time_axis.cc:1400
msgid "You cannot create a track with that name as it is reserved for %1"
msgstr ""
-#: route_time_axis.cc:1490
+#: route_time_axis.cc:1637
msgid "New Copy..."
msgstr "Ny kopia..."
-#: route_time_axis.cc:1494
+#: route_time_axis.cc:1641
msgid "New Take"
msgstr ""
-#: route_time_axis.cc:1495
+#: route_time_axis.cc:1642
msgid "Copy Take"
msgstr ""
-#: route_time_axis.cc:1500
+#: route_time_axis.cc:1647
msgid "Clear Current"
msgstr "Rensa aktuell"
-#: route_time_axis.cc:1503
+#: route_time_axis.cc:1650
msgid "Select From All..."
msgstr ""
-#: route_time_axis.cc:1591
+#: route_time_axis.cc:1738
msgid "Take: %1.%2"
msgstr ""
-#: route_time_axis.cc:2291
+#: route_time_axis.cc:2024 selection.cc:1002 selection.cc:1056
+msgid "programming error: "
+msgstr "programmeringsfel: "
+
+#: route_time_axis.cc:2440
msgid "Underlays"
msgstr ""
-#: route_time_axis.cc:2294
+#: route_time_axis.cc:2443
msgid "Remove \"%1\""
msgstr ""
-#: route_time_axis.cc:2344 route_time_axis.cc:2381
+#: route_time_axis.cc:2493 route_time_axis.cc:2530
msgid "programming error: underlay reference pointer pairs are inconsistent!"
msgstr ""
-#: route_time_axis.cc:2408
+#: route_time_axis.cc:2557
msgid "After-fade listen (AFL)"
msgstr ""
-#: route_time_axis.cc:2412
+#: route_time_axis.cc:2561
msgid "Pre-fade listen (PFL)"
msgstr ""
-#: route_time_axis.cc:2416
-msgid "s"
-msgstr ""
-
-#: route_time_axis.cc:2419
-msgid "m"
-msgstr ""
-
-#: route_ui.cc:119
+#: route_ui.cc:138
msgid "Mute this track"
msgstr "Tysta detta spår"
-#: route_ui.cc:123
+#: route_ui.cc:142
msgid "Mute other (non-soloed) tracks"
msgstr "Tysta andra (icke-solade) spår"
-#: route_ui.cc:129
+#: route_ui.cc:148
msgid "Enable recording on this track"
msgstr ""
-#: route_ui.cc:133
+#: route_ui.cc:154
msgid "make mixer strips show sends to this bus"
msgstr ""
-#: route_ui.cc:138
+#: route_ui.cc:159
msgid "Monitor input"
msgstr ""
-#: route_ui.cc:144
+#: route_ui.cc:165
msgid "Monitor playback"
msgstr ""
-#: route_ui.cc:591
-msgid "Not connected to JACK - cannot engage record"
+#: route_ui.cc:668
+msgid "Not connected to AudioEngine - cannot engage record"
msgstr ""
-#: route_ui.cc:786
+#: route_ui.cc:867
msgid "Step Entry"
msgstr ""
-#: route_ui.cc:859
+#: route_ui.cc:940
msgid "Assign all tracks (prefader)"
msgstr ""
-#: route_ui.cc:863
+#: route_ui.cc:944
msgid "Assign all tracks and buses (prefader)"
msgstr ""
-#: route_ui.cc:867
+#: route_ui.cc:948
msgid "Assign all tracks (postfader)"
msgstr ""
-#: route_ui.cc:871
+#: route_ui.cc:952
msgid "Assign all tracks and buses (postfader)"
msgstr ""
-#: route_ui.cc:875
+#: route_ui.cc:956
msgid "Assign selected tracks (prefader)"
msgstr ""
-#: route_ui.cc:879
+#: route_ui.cc:960
msgid "Assign selected tracks and buses (prefader)"
msgstr ""
-#: route_ui.cc:882
+#: route_ui.cc:963
msgid "Assign selected tracks (postfader)"
msgstr ""
-#: route_ui.cc:886
+#: route_ui.cc:967
msgid "Assign selected tracks and buses (postfader)"
msgstr ""
-#: route_ui.cc:889
+#: route_ui.cc:970
msgid "Copy track/bus gains to sends"
msgstr ""
-#: route_ui.cc:890
+#: route_ui.cc:971
msgid "Set sends gain to -inf"
msgstr ""
-#: route_ui.cc:891
+#: route_ui.cc:972
msgid "Set sends gain to 0dB"
msgstr ""
-#: route_ui.cc:1211
+#: route_ui.cc:1294
msgid "Solo Isolate"
msgstr ""
-#: route_ui.cc:1240
-msgid "Pre Fader"
-msgstr "Före-nivåreglage"
+#: route_ui.cc:1301
+msgid "Solo Safe"
+msgstr ""
-#: route_ui.cc:1246
-msgid "Post Fader"
-msgstr "Efter-nivåreglage"
+#: route_ui.cc:1323
+msgid "Pre Fader Sends"
+msgstr ""
-#: route_ui.cc:1252
+#: route_ui.cc:1329
+msgid "Post Fader Sends"
+msgstr ""
+
+#: route_ui.cc:1335
msgid "Control Outs"
msgstr "Kontrollutgångar"
-#: route_ui.cc:1258
+#: route_ui.cc:1341
msgid "Main Outs"
msgstr "Huvudutgångar"
-#: route_ui.cc:1390
+#: route_ui.cc:1473
msgid "Color Selection"
msgstr "Färgval"
-#: route_ui.cc:1477
+#: route_ui.cc:1558
msgid ""
"Do you really want to remove track \"%1\" ?\n"
"\n"
@@ -9783,68 +10007,72 @@ msgid ""
"(This action cannot be undone, and the session file will be overwritten)"
msgstr ""
-#: route_ui.cc:1479
+#: route_ui.cc:1560
msgid ""
"Do you really want to remove bus \"%1\" ?\n"
"\n"
"(This action cannot be undone, and the session file will be overwritten)"
msgstr ""
-#: route_ui.cc:1487
+#: route_ui.cc:1568
msgid "Remove track"
msgstr ""
-#: route_ui.cc:1489
+#: route_ui.cc:1570
msgid "Remove bus"
msgstr ""
-#: route_ui.cc:1516
+#: route_ui.cc:1598
msgid ""
"The use of colons (':') is discouraged in track and bus names.\n"
"Do you want to use this new name?"
msgstr ""
-#: route_ui.cc:1520
+#: route_ui.cc:1602
msgid "Use the new name"
msgstr ""
-#: route_ui.cc:1521
+#: route_ui.cc:1603
msgid "Re-edit the name"
msgstr ""
-#: route_ui.cc:1534
+#: route_ui.cc:1616
msgid "Rename Track"
msgstr "Döp om spår"
-#: route_ui.cc:1536
+#: route_ui.cc:1618
msgid "Rename Bus"
msgstr "Byt namn på buss"
-#: route_ui.cc:1695
+#: route_ui.cc:1686
+msgid ": comment editor"
+msgstr ": kommentar"
+
+#: route_ui.cc:1852
msgid " latency"
msgstr "-fördröjning"
-#: route_ui.cc:1708
+#: route_ui.cc:1865
msgid "Cannot create route template directory %1"
msgstr ""
-#: route_ui.cc:1714
+#: route_ui.cc:1871
msgid "Save As Template"
msgstr "Spara som spårmall"
-#: route_ui.cc:1715
+#: route_ui.cc:1872
msgid "Template name:"
msgstr "Namn på spårmall:"
-#: route_ui.cc:1788
+#: route_ui.cc:1945
msgid "Remote Control ID"
msgstr "Fjärrstyrnings-ID"
-#: route_ui.cc:1798
+#: route_ui.cc:1955
msgid "Remote control ID:"
msgstr "Fjärr-ID:"
-#: route_ui.cc:1812
+#: route_ui.cc:1969
msgid ""
"The remote control ID of %1 is: %2\n"
"\n"
@@ -9852,27 +10080,26 @@ msgid ""
"The remote control ID of %3 cannot be changed."
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the master bus"
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the monitor bus"
msgstr ""
-#: route_ui.cc:1818
+#: route_ui.cc:1975
msgid ""
"The remote control ID of %5 is: %2\n"
"\n"
"\n"
-"Remote Control IDs are currently determined by track/bus ordering in "
-"Ardour.\n"
+"Remote Control IDs are currently determined by track/bus ordering in %6.\n"
"\n"
"%3Use the User Interaction tab of the Preferences window if you want to "
"change this%4"
msgstr ""
-#: route_ui.cc:1875
+#: route_ui.cc:2032
msgid ""
"Left-click to invert (phase reverse) channel %1 of this track. Right-click "
"to show menu."
@@ -9880,7 +10107,7 @@ msgstr ""
"Vänsterklicka för att invertera (fasinvers) kanal %1 i detta spår. "
"Högerklicka för att visa menyn"
-#: route_ui.cc:1877
+#: route_ui.cc:2034
msgid "Click to show a menu of channels for inversion (phase reverse)"
msgstr ""
@@ -9896,119 +10123,119 @@ msgstr ""
msgid "the session folder"
msgstr ""
-#: send_ui.cc:126
+#: send_ui.cc:134
msgid "Send "
msgstr ""
-#: session_dialog.cc:66
+#: session_dialog.cc:68
msgid "Session Setup"
msgstr ""
-#: session_dialog.cc:71
+#: session_dialog.cc:73
msgid "Advanced options ..."
msgstr ""
-#: session_dialog.cc:267
+#: session_dialog.cc:271
msgid "New Session"
msgstr "Ny session"
-#: session_dialog.cc:305
+#: session_dialog.cc:309
msgid "Check the website for more..."
msgstr ""
-#: session_dialog.cc:308
+#: session_dialog.cc:312
msgid "Click to open the program website in your web browser"
msgstr ""
-#: session_dialog.cc:328
+#: session_dialog.cc:332
msgid "Sample Rate"
msgstr ""
-#: session_dialog.cc:329
+#: session_dialog.cc:333
msgid "Disk Format"
msgstr ""
-#: session_dialog.cc:347
+#: session_dialog.cc:351
msgid "Select session file"
msgstr "Välj sessionsfil"
-#: session_dialog.cc:362
+#: session_dialog.cc:366
msgid "Other Sessions"
msgstr ""
-#: session_dialog.cc:388
+#: session_dialog.cc:392
msgid "Open"
msgstr "Öppna"
-#: session_dialog.cc:455
+#: session_dialog.cc:459
msgid "Session name:"
msgstr "Sessionens namn:"
-#: session_dialog.cc:477
+#: session_dialog.cc:481
msgid "Create session folder in:"
msgstr "Skapa sessionsmappen i:"
-#: session_dialog.cc:500
+#: session_dialog.cc:504
msgid "Select folder for session"
msgstr "Välj mapp för sessionen"
-#: session_dialog.cc:529
+#: session_dialog.cc:533
msgid "Use this template"
msgstr "Använd denna mall"
-#: session_dialog.cc:532
+#: session_dialog.cc:536
msgid "no template"
msgstr "ingen mall"
-#: session_dialog.cc:664 session_dialog.cc:696
+#: session_dialog.cc:671 session_dialog.cc:707
msgid "32 bit float"
msgstr ""
-#: session_dialog.cc:667 session_dialog.cc:699
+#: session_dialog.cc:674 session_dialog.cc:710
msgid "24 bit"
msgstr ""
-#: session_dialog.cc:670 session_dialog.cc:702
+#: session_dialog.cc:677 session_dialog.cc:713
msgid "16 bit"
msgstr ""
-#: session_dialog.cc:741 session_dialog.cc:742 session_dialog.cc:743
+#: session_dialog.cc:755 session_dialog.cc:756 session_dialog.cc:757
msgid "channels"
msgstr "kanaler"
-#: session_dialog.cc:757
+#: session_dialog.cc:771
msgid "<b>Busses</b>"
msgstr "<b>Bussar</b>"
-#: session_dialog.cc:758
+#: session_dialog.cc:772
msgid "<b>Inputs</b>"
msgstr "<b>Ingångar</b>"
-#: session_dialog.cc:759
+#: session_dialog.cc:773
msgid "<b>Outputs</b>"
msgstr "<b>Utgångar</b>"
-#: session_dialog.cc:767
+#: session_dialog.cc:781
msgid "Create master bus"
msgstr "Skapa master-buss"
-#: session_dialog.cc:777
+#: session_dialog.cc:791
msgid "Automatically connect to physical inputs"
msgstr ""
-#: session_dialog.cc:784 session_dialog.cc:843
+#: session_dialog.cc:798 session_dialog.cc:857
msgid "Use only"
msgstr "Använd endast"
-#: session_dialog.cc:837
+#: session_dialog.cc:851
msgid "Automatically connect outputs"
msgstr "Anslut automatiskt utgångar"
-#: session_dialog.cc:859
+#: session_dialog.cc:873
msgid "... to master bus"
msgstr "...till master-bussen"
-#: session_dialog.cc:869
+#: session_dialog.cc:883
msgid "... to physical outputs"
msgstr "...till fysiska utgångar"
@@ -10310,7 +10537,8 @@ msgstr ""
#: session_option_editor.cc:91
msgid ""
-"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless in JACK-sync)."
+"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless using JACK-"
+"sync)."
msgstr ""
#: session_option_editor.cc:96
@@ -10343,480 +10571,510 @@ msgid ""
"%1 is JACK Time Master (provides Bar|Beat|Tick and other information to JACK)"
msgstr ""
-#: session_option_editor.cc:137
-msgid "Default crossfade type"
-msgstr ""
-
-#: session_option_editor.cc:142
-msgid "Constant power (-3dB) crossfade"
-msgstr ""
-
-#: session_option_editor.cc:143
-msgid "Linear (-6dB) crossfade"
-msgstr ""
-
-#: session_option_editor.cc:148
+#: session_option_editor.cc:136
msgid "destructive-xfade-seconds"
msgstr ""
-#: session_option_editor.cc:149
+#: session_option_editor.cc:137
msgid "Destructive crossfade length"
msgstr "Destruktiv övertonings längd"
-#: session_option_editor.cc:158
+#: session_option_editor.cc:146
msgid "Region fades active"
msgstr "Regiontoningar aktiva"
-#: session_option_editor.cc:165
+#: session_option_editor.cc:153
msgid "Region fades visible"
msgstr "Regiontoningar synliga"
-#: session_option_editor.cc:172 session_option_editor.cc:185
-#: session_option_editor.cc:199 session_option_editor.cc:201
-#: session_option_editor.cc:207 session_option_editor.cc:214
+#: session_option_editor.cc:160 session_option_editor.cc:173
+#: session_option_editor.cc:187
msgid "Media"
msgstr ""
-#: session_option_editor.cc:172
+#: session_option_editor.cc:160
msgid "Audio file format"
msgstr "Ljudfilsformat"
-#: session_option_editor.cc:176
+#: session_option_editor.cc:164
msgid "Sample format"
msgstr "Sampleformat"
-#: session_option_editor.cc:181
+#: session_option_editor.cc:169
msgid "32-bit floating point"
msgstr ""
-#: session_option_editor.cc:182
+#: session_option_editor.cc:170
msgid "24-bit integer"
msgstr ""
-#: session_option_editor.cc:183
+#: session_option_editor.cc:171
msgid "16-bit integer"
msgstr ""
-#: session_option_editor.cc:189
+#: session_option_editor.cc:177
msgid "File type"
msgstr "Filtyp"
-#: session_option_editor.cc:194
+#: session_option_editor.cc:182
msgid "Broadcast WAVE"
msgstr ""
-#: session_option_editor.cc:195
+#: session_option_editor.cc:183
msgid "WAVE"
msgstr ""
-#: session_option_editor.cc:196
+#: session_option_editor.cc:184
msgid "WAVE-64"
msgstr ""
-#: session_option_editor.cc:201
+#: session_option_editor.cc:189
msgid "File locations"
msgstr "Filplatser"
-#: session_option_editor.cc:203
+#: session_option_editor.cc:191
msgid "Search for audio files in:"
msgstr "Sök efter ljudfiler i:"
-#: session_option_editor.cc:209
+#: session_option_editor.cc:197
msgid "Search for MIDI files in:"
msgstr "Sök efter MIDI-filer i:"
-#: session_option_editor.cc:220
-msgid ""
-"Track Input Monitoring automatically follows transport state (\"auto-input\")"
+#: session_option_editor.cc:206 session_option_editor.cc:218
+#: session_option_editor.cc:228 session_option_editor.cc:239
+msgid "Filenames"
msgstr ""
-#: session_option_editor.cc:227
-msgid "Use monitor section in this session"
+#: session_option_editor.cc:206
+msgid "File Naming"
msgstr ""
-#: session_option_editor.cc:238
-msgid "MIDI region copies are independent"
+#: session_option_editor.cc:212
+msgid "Prefix Track number"
msgstr ""
-#: session_option_editor.cc:245
+#: session_option_editor.cc:217
msgid ""
-"Policy for handling overlapping notes\n"
-" on the same MIDI channel"
+"Adds the current track number to the beginning of the recorded file name."
msgstr ""
-#: session_option_editor.cc:250
-msgid "never allow them"
-msgstr "tillåter inte"
-
-#: session_option_editor.cc:251
-msgid "don't do anything in particular"
-msgstr "gör inget särskilt"
-
-#: session_option_editor.cc:252
-msgid "replace any overlapped existing note"
-msgstr "ersätt existerande överlappande not"
-
-#: session_option_editor.cc:253
-msgid "shorten the overlapped existing note"
-msgstr "förkorta den existerande överlappande not"
-
-#: session_option_editor.cc:254
-msgid "shorten the overlapping new note"
-msgstr "förkorta den nya överlappande noten"
+#: session_option_editor.cc:222
+msgid "Prefix Take Name"
+msgstr ""
-#: session_option_editor.cc:255
-msgid "replace both overlapping notes with a single note"
-msgstr "ersätt båda överlappande noter med en enstaka not"
+#: session_option_editor.cc:227
+msgid "Adds the Take Name to the beginning of the recorded file name."
+msgstr ""
-#: session_option_editor.cc:259
-msgid "Glue to bars and beats"
+#: session_option_editor.cc:232
+msgid "Take Name"
msgstr ""
-#: session_option_editor.cc:263
-msgid "Glue new markers to bars and beats"
+#: session_option_editor.cc:245
+msgid ""
+"Track Input Monitoring automatically follows transport state (\"auto-input\")"
msgstr ""
-#: session_option_editor.cc:270
-msgid "Glue new regions to bars and beats"
+#: session_option_editor.cc:252
+msgid "Use monitor section in this session"
msgstr ""
-#: session_option_editor.cc:275 session_option_editor.cc:277
-#: session_option_editor.cc:284 session_option_editor.cc:291
-#: session_option_editor.cc:298 session_option_editor.cc:300
-#: session_option_editor.cc:307 session_option_editor.cc:314
-#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:257 session_option_editor.cc:259
+#: session_option_editor.cc:266 session_option_editor.cc:273
+#: session_option_editor.cc:280 session_option_editor.cc:282
+#: session_option_editor.cc:289 session_option_editor.cc:296
+#: session_option_editor.cc:303 session_option_editor.cc:310
+#: session_option_editor.cc:312
msgid "Meterbridge"
msgstr ""
-#: session_option_editor.cc:275
+#: session_option_editor.cc:257
msgid "Route Display"
msgstr ""
-#: session_option_editor.cc:279
+#: session_option_editor.cc:261
msgid "Show Midi Tracks"
msgstr ""
-#: session_option_editor.cc:286
+#: session_option_editor.cc:268
msgid "Show Busses"
msgstr ""
-#: session_option_editor.cc:293
+#: session_option_editor.cc:275
msgid "Include Master Bus"
msgstr ""
-#: session_option_editor.cc:298
+#: session_option_editor.cc:280
msgid "Button Area"
msgstr ""
-#: session_option_editor.cc:302
+#: session_option_editor.cc:284
msgid "Rec-enable Button"
msgstr ""
-#: session_option_editor.cc:309
+#: session_option_editor.cc:291
msgid "Mute Button"
msgstr ""
-#: session_option_editor.cc:316
+#: session_option_editor.cc:298
msgid "Solo Button"
msgstr ""
-#: session_option_editor.cc:321
+#: session_option_editor.cc:305
+msgid "Monitor Buttons"
+msgstr ""
+
+#: session_option_editor.cc:310
msgid "Name Labels"
msgstr ""
-#: session_option_editor.cc:325
+#: session_option_editor.cc:314
msgid "Track Name"
msgstr ""
-#: sfdb_ui.cc:86 sfdb_ui.cc:106 sfdb_ui.cc:115
+#: session_option_editor.cc:325
+msgid "MIDI region copies are independent"
+msgstr ""
+
+#: session_option_editor.cc:332
+msgid ""
+"Policy for handling overlapping notes\n"
+" on the same MIDI channel"
+msgstr ""
+
+#: session_option_editor.cc:337
+msgid "never allow them"
+msgstr "tillåter inte"
+
+#: session_option_editor.cc:338
+msgid "don't do anything in particular"
+msgstr "gör inget särskilt"
+
+#: session_option_editor.cc:339
+msgid "replace any overlapped existing note"
+msgstr "ersätt existerande överlappande not"
+
+#: session_option_editor.cc:340
+msgid "shorten the overlapped existing note"
+msgstr "förkorta den existerande överlappande not"
+
+#: session_option_editor.cc:341
+msgid "shorten the overlapping new note"
+msgstr "förkorta den nya överlappande noten"
+
+#: session_option_editor.cc:342
+msgid "replace both overlapping notes with a single note"
+msgstr "ersätt båda överlappande noter med en enstaka not"
+
+#: session_option_editor.cc:346
+msgid "Glue to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:350
+msgid "Glue new markers to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:357
+msgid "Glue new regions to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:362
+msgid "Defaults"
+msgstr ""
+
+#: session_option_editor.cc:364
+msgid "Use these settings as defaults"
+msgstr ""
+
+#: sfdb_ui.cc:88 sfdb_ui.cc:108 sfdb_ui.cc:117
msgid "as new tracks"
msgstr "som nya spår"
-#: sfdb_ui.cc:88 sfdb_ui.cc:108
+#: sfdb_ui.cc:90 sfdb_ui.cc:110
msgid "to selected tracks"
msgstr "till valda spår"
-#: sfdb_ui.cc:90 sfdb_ui.cc:110
+#: sfdb_ui.cc:92 sfdb_ui.cc:112
msgid "to region list"
msgstr "till regionslistan"
-#: sfdb_ui.cc:92 sfdb_ui.cc:112
+#: sfdb_ui.cc:94 sfdb_ui.cc:114
msgid "as new tape tracks"
msgstr "som nya bandspår"
-#: sfdb_ui.cc:96
+#: sfdb_ui.cc:98
msgid "programming error: unknown import mode string %1"
msgstr ""
-#: sfdb_ui.cc:123
+#: sfdb_ui.cc:125
msgid "Auto-play"
msgstr "Spela autom."
-#: sfdb_ui.cc:129 sfdb_ui.cc:236
+#: sfdb_ui.cc:133 sfdb_ui.cc:317
msgid "<b>Sound File Information</b>"
msgstr ""
-#: sfdb_ui.cc:141
+#: sfdb_ui.cc:145
msgid "Timestamp:"
msgstr ""
-#: sfdb_ui.cc:143
+#: sfdb_ui.cc:147
msgid "Format:"
msgstr ""
-#: sfdb_ui.cc:182 sfdb_ui.cc:526
+#: sfdb_ui.cc:186 sfdb_ui.cc:646
msgid "Tags:"
msgstr "Taggar:"
-#: sfdb_ui.cc:319
-msgid "Auditioning of MIDI files is not yet supported"
+#: sfdb_ui.cc:290
+msgid "<b>Midi File Information</b>"
msgstr ""
-#: sfdb_ui.cc:326
+#: sfdb_ui.cc:402
msgid "Could not read file: %1 (%2)."
msgstr "Kunde inte läsa fil: %1 (%2)."
-#: sfdb_ui.cc:349
+#: sfdb_ui.cc:451
msgid "Could not access soundfile: "
msgstr "Dela kanaler"
-#: sfdb_ui.cc:403
+#: sfdb_ui.cc:523
msgid "SoundFileBox: Could not tokenize string: "
msgstr ""
-#: sfdb_ui.cc:423 sfdb_ui.cc:425
+#: sfdb_ui.cc:543 sfdb_ui.cc:545
msgid "Search"
msgstr "Sök"
-#: sfdb_ui.cc:449
+#: sfdb_ui.cc:569
msgid "Audio and MIDI files"
msgstr ""
-#: sfdb_ui.cc:452
+#: sfdb_ui.cc:572
msgid "Audio files"
msgstr "Ljudfiler"
-#: sfdb_ui.cc:455
+#: sfdb_ui.cc:575
msgid "MIDI files"
msgstr "MIDI-filer"
-#: sfdb_ui.cc:458 add_video_dialog.cc:132
+#: sfdb_ui.cc:578 add_video_dialog.cc:123
msgid "All files"
msgstr "Alla filer"
-#: sfdb_ui.cc:477 add_video_dialog.cc:143
+#: sfdb_ui.cc:597 add_video_dialog.cc:246
msgid "Browse Files"
msgstr "Bläddra"
-#: sfdb_ui.cc:506
+#: sfdb_ui.cc:626
msgid "Paths"
msgstr "Sökvägar"
-#: sfdb_ui.cc:515
+#: sfdb_ui.cc:635
msgid "Search Tags"
msgstr "Sök taggar"
-#: sfdb_ui.cc:531
+#: sfdb_ui.cc:651
msgid "Sort:"
msgstr ""
-#: sfdb_ui.cc:539
+#: sfdb_ui.cc:659
msgid "Longest"
msgstr ""
-#: sfdb_ui.cc:540
+#: sfdb_ui.cc:660
msgid "Shortest"
msgstr ""
-#: sfdb_ui.cc:541
+#: sfdb_ui.cc:661
msgid "Newest"
msgstr ""
-#: sfdb_ui.cc:542
+#: sfdb_ui.cc:662
msgid "Oldest"
msgstr ""
-#: sfdb_ui.cc:543
+#: sfdb_ui.cc:663
msgid "Most downloaded"
msgstr ""
-#: sfdb_ui.cc:544
+#: sfdb_ui.cc:664
msgid "Least downloaded"
msgstr ""
-#: sfdb_ui.cc:545
+#: sfdb_ui.cc:665
msgid "Highest rated"
msgstr ""
-#: sfdb_ui.cc:546
+#: sfdb_ui.cc:666
msgid "Lowest rated"
msgstr ""
-#: sfdb_ui.cc:551
+#: sfdb_ui.cc:671
msgid "More"
msgstr ""
-#: sfdb_ui.cc:555
+#: sfdb_ui.cc:675
msgid "Similar"
msgstr ""
-#: sfdb_ui.cc:567
+#: sfdb_ui.cc:687
msgid "ID"
msgstr ""
-#: sfdb_ui.cc:568 add_video_dialog.cc:84
+#: sfdb_ui.cc:688 add_video_dialog.cc:83
msgid "Filename"
msgstr ""
-#: sfdb_ui.cc:570
+#: sfdb_ui.cc:690
msgid "Duration"
msgstr ""
-#: sfdb_ui.cc:571
+#: sfdb_ui.cc:691
msgid "Size"
msgstr ""
-#: sfdb_ui.cc:572
+#: sfdb_ui.cc:692
msgid "Samplerate"
msgstr ""
-#: sfdb_ui.cc:573
+#: sfdb_ui.cc:693
msgid "License"
msgstr ""
-#: sfdb_ui.cc:591
+#: sfdb_ui.cc:711
msgid "Search Freesound"
msgstr "Sök i Freesound"
-#: sfdb_ui.cc:611
+#: sfdb_ui.cc:731
msgid "Press to import selected files and close this window"
msgstr ""
-#: sfdb_ui.cc:612
+#: sfdb_ui.cc:732
msgid "Press to import selected files and leave this window open"
msgstr ""
-#: sfdb_ui.cc:613
+#: sfdb_ui.cc:733
msgid "Press to close this window without importing any files"
msgstr ""
-#: sfdb_ui.cc:809
+#: sfdb_ui.cc:929
msgid "SoundFileBrowser: Could not tokenize string: "
msgstr ""
-#: sfdb_ui.cc:1009
+#: sfdb_ui.cc:1129
msgid "%1 more page of 100 results available"
msgid_plural "%1 more pages of 100 results available"
msgstr[0] ""
msgstr[1] ""
-#: sfdb_ui.cc:1014
+#: sfdb_ui.cc:1134
msgid "No more results available"
msgstr ""
-#: sfdb_ui.cc:1078
+#: sfdb_ui.cc:1198
msgid "B"
msgstr ""
-#: sfdb_ui.cc:1080
+#: sfdb_ui.cc:1200
msgid "kB"
msgstr ""
-#: sfdb_ui.cc:1082 sfdb_ui.cc:1084
+#: sfdb_ui.cc:1202 sfdb_ui.cc:1204
msgid "MB"
msgstr ""
-#: sfdb_ui.cc:1086
+#: sfdb_ui.cc:1206
msgid "GB"
msgstr ""
-#: sfdb_ui.cc:1298 sfdb_ui.cc:1606 sfdb_ui.cc:1656 sfdb_ui.cc:1674
+#: sfdb_ui.cc:1418 sfdb_ui.cc:1731 sfdb_ui.cc:1782 sfdb_ui.cc:1800
msgid "one track per file"
msgstr "ett spår per fil"
-#: sfdb_ui.cc:1301 sfdb_ui.cc:1657 sfdb_ui.cc:1675
+#: sfdb_ui.cc:1421 sfdb_ui.cc:1783 sfdb_ui.cc:1801
msgid "one track per channel"
msgstr ""
-#: sfdb_ui.cc:1309 sfdb_ui.cc:1659 sfdb_ui.cc:1676
+#: sfdb_ui.cc:1429 sfdb_ui.cc:1785 sfdb_ui.cc:1802
msgid "sequence files"
msgstr ""
-#: sfdb_ui.cc:1312 sfdb_ui.cc:1664
+#: sfdb_ui.cc:1432 sfdb_ui.cc:1790
msgid "all files in one track"
msgstr ""
-#: sfdb_ui.cc:1313 sfdb_ui.cc:1658
+#: sfdb_ui.cc:1433 sfdb_ui.cc:1784
msgid "merge files"
msgstr ""
-#: sfdb_ui.cc:1319 sfdb_ui.cc:1661
+#: sfdb_ui.cc:1439 sfdb_ui.cc:1787
msgid "one region per file"
msgstr ""
-#: sfdb_ui.cc:1322 sfdb_ui.cc:1662
+#: sfdb_ui.cc:1442 sfdb_ui.cc:1788
msgid "one region per channel"
msgstr ""
-#: sfdb_ui.cc:1327 sfdb_ui.cc:1663 sfdb_ui.cc:1677
+#: sfdb_ui.cc:1447 sfdb_ui.cc:1789 sfdb_ui.cc:1803
msgid "all files in one region"
msgstr ""
-#: sfdb_ui.cc:1394
+#: sfdb_ui.cc:1514
msgid ""
"One or more of the selected files\n"
"cannot be used by %1"
msgstr ""
-#: sfdb_ui.cc:1534
+#: sfdb_ui.cc:1658
msgid "Copy files to session"
msgstr "Kopiera filer till sessionen"
-#: sfdb_ui.cc:1551 sfdb_ui.cc:1714
+#: sfdb_ui.cc:1675 sfdb_ui.cc:1840
msgid "file timestamp"
msgstr "filens timestamp"
-#: sfdb_ui.cc:1552 sfdb_ui.cc:1716
+#: sfdb_ui.cc:1676 sfdb_ui.cc:1842
msgid "edit point"
msgstr "redigeringspunkten"
-#: sfdb_ui.cc:1553 sfdb_ui.cc:1718
+#: sfdb_ui.cc:1677 sfdb_ui.cc:1844
msgid "playhead"
msgstr "startmarkören"
-#: sfdb_ui.cc:1554
+#: sfdb_ui.cc:1678
msgid "session start"
msgstr "sessionens start"
-#: sfdb_ui.cc:1559
+#: sfdb_ui.cc:1684
msgid "<b>Add files as ...</b>"
msgstr ""
-#: sfdb_ui.cc:1581
+#: sfdb_ui.cc:1706
msgid "<b>Insert at</b>"
msgstr ""
-#: sfdb_ui.cc:1594
+#: sfdb_ui.cc:1719
msgid "<b>Mapping</b>"
msgstr ""
-#: sfdb_ui.cc:1612
+#: sfdb_ui.cc:1737
msgid "<b>Conversion quality</b>"
msgstr ""
-#: sfdb_ui.cc:1624 sfdb_ui.cc:1730
+#: sfdb_ui.cc:1749 sfdb_ui.cc:1856
msgid "Best"
msgstr "Bäst"
-#: sfdb_ui.cc:1625 sfdb_ui.cc:1732
+#: sfdb_ui.cc:1750 sfdb_ui.cc:1858
msgid "Good"
msgstr "Bra"
-#: sfdb_ui.cc:1626 sfdb_ui.cc:1734
+#: sfdb_ui.cc:1751 sfdb_ui.cc:1860
msgid "Quick"
msgstr "Snabb"
-#: sfdb_ui.cc:1628
+#: sfdb_ui.cc:1753
msgid "Fastest"
msgstr "Snabbast"
@@ -10862,6 +11120,30 @@ msgstr ""
msgid "Stopped"
msgstr ""
+#: soundcloud_export_selector.cc:44
+msgid "User Email"
+msgstr ""
+
+#: soundcloud_export_selector.cc:45
+msgid "Password"
+msgstr ""
+
+#: soundcloud_export_selector.cc:46
+msgid "Make files public"
+msgstr ""
+
+#: soundcloud_export_selector.cc:47
+msgid "Open uploaded files in browser"
+msgstr ""
+
+#: soundcloud_export_selector.cc:48
+msgid "Make files downloadable"
+msgstr ""
+
+#: soundcloud_export_selector.cc:107
+msgid "%1: %2 of %3 bytes uploaded"
+msgstr ""
+
#: splash.cc:73
msgid "%1 loading ..."
msgstr ""
@@ -10878,17 +11160,17 @@ msgstr ""
msgid "Azimuth:"
msgstr ""
-#: startup.cc:72
+#: startup.cc:73
msgid ""
"Use an external mixer or the hardware mixer of your audio interface.\n"
"%1 will play NO role in monitoring"
msgstr ""
-#: startup.cc:74
+#: startup.cc:75
msgid "Ask %1 to play back material as it is being recorded"
msgstr ""
-#: startup.cc:143
+#: startup.cc:144
msgid ""
"<b>Welcome to this BETA release of Ardour %1</b>\n"
"\n"
@@ -10913,11 +11195,11 @@ msgid ""
" http://ardour.org/support\n"
msgstr ""
-#: startup.cc:167
+#: startup.cc:168
msgid "This is a BETA RELEASE"
msgstr ""
-#: startup.cc:176
+#: startup.cc:177
msgid ""
"<span size=\"larger\">%1 is a digital audio workstation. You can use it to "
"record, edit and mix multi-track audio. You can produce your own CDs, mix "
@@ -10927,15 +11209,15 @@ msgid ""
"program.</span> "
msgstr ""
-#: startup.cc:202
+#: startup.cc:203
msgid "Welcome to %1"
msgstr "Välkommen till %1"
-#: startup.cc:225
+#: startup.cc:226
msgid "Default folder for %1 sessions"
msgstr "Standardplatsen för %1-sessioner"
-#: startup.cc:231
+#: startup.cc:232
msgid ""
"Each project that you work on with %1 has its own folder.\n"
"These can require a lot of disk space if you are recording audio.\n"
@@ -10952,11 +11234,11 @@ msgstr ""
"<i>(Du kan så klart placera sessioner var du vill, detta är bara "
"stanardplatsen)</i>"
-#: startup.cc:254
+#: startup.cc:255
msgid "Default folder for new sessions"
msgstr "Standardplats för nya sessioner"
-#: startup.cc:275
+#: startup.cc:276
msgid ""
"While recording instruments or vocals, you probably want to listen to the\n"
"signal as well as record it. This is called \"monitoring\". There are\n"
@@ -10970,25 +11252,25 @@ msgid ""
"<i>If you do not understand what this is about, just accept the default.</i>"
msgstr ""
-#: startup.cc:296
+#: startup.cc:297
msgid "Monitoring Choices"
msgstr "Medhörningsalternativ"
-#: startup.cc:319
+#: startup.cc:320
msgid "Use a Master bus directly"
msgstr "Använd master-bussen"
-#: startup.cc:321
+#: startup.cc:322
msgid ""
"Connect the Master bus directly to your hardware outputs. This is preferable "
"for simple usage."
msgstr ""
-#: startup.cc:330
+#: startup.cc:331
msgid "Use an additional Monitor bus"
msgstr "Använd en ytterligare medhörningsbuss"
-#: startup.cc:333
+#: startup.cc:334
msgid ""
"Use a Monitor bus between Master bus and hardware outputs for \n"
"greater control in monitoring without affecting the mix."
@@ -10996,7 +11278,7 @@ msgstr ""
"Använd en medhörningsbuss mellan mater-bussen och hårdvaruutgångarna för \n"
"större kontroll av medhörning, utan att påverka mixen."
-#: startup.cc:355
+#: startup.cc:356
msgid ""
"<i>You can change this preference at any time via the Preferences dialog.\n"
"You can also add or remove the monitor section to/from any session.</i>\n"
@@ -11004,395 +11286,395 @@ msgid ""
"<i>If you do not understand what this is about, just accept the default.</i>"
msgstr ""
-#: startup.cc:366
+#: startup.cc:367
msgid "Monitor Section"
msgstr "Medhörningssektion"
-#: step_entry.cc:59
+#: step_entry.cc:60
msgid "Step Entry: %1"
msgstr ""
-#: step_entry.cc:64
+#: step_entry.cc:65
msgid ">beat"
msgstr ""
-#: step_entry.cc:65
+#: step_entry.cc:66
msgid ">bar"
msgstr ""
-#: step_entry.cc:66
+#: step_entry.cc:67
msgid ">EP"
msgstr ""
-#: step_entry.cc:67
+#: step_entry.cc:68
msgid "sustain"
msgstr ""
-#: step_entry.cc:68
+#: step_entry.cc:69
msgid "rest"
msgstr ""
-#: step_entry.cc:69
+#: step_entry.cc:70
msgid "g-rest"
msgstr ""
-#: step_entry.cc:70
+#: step_entry.cc:71
msgid "back"
msgstr ""
-#: step_entry.cc:81 step_entry.cc:84
+#: step_entry.cc:82 step_entry.cc:85
msgid "+"
msgstr ""
-#: step_entry.cc:190
+#: step_entry.cc:191
msgid "Set note length to a whole note"
msgstr ""
-#: step_entry.cc:191
+#: step_entry.cc:192
msgid "Set note length to a half note"
msgstr ""
-#: step_entry.cc:192
+#: step_entry.cc:193
msgid "Set note length to a quarter note"
msgstr ""
-#: step_entry.cc:193
+#: step_entry.cc:194
msgid "Set note length to a eighth note"
msgstr ""
-#: step_entry.cc:194
+#: step_entry.cc:195
msgid "Set note length to a sixteenth note"
msgstr ""
-#: step_entry.cc:195
+#: step_entry.cc:196
msgid "Set note length to a thirty-second note"
msgstr ""
-#: step_entry.cc:196
+#: step_entry.cc:197
msgid "Set note length to a sixty-fourth note"
msgstr ""
-#: step_entry.cc:275
+#: step_entry.cc:276
msgid "Set volume (velocity) to pianississimo"
msgstr ""
-#: step_entry.cc:276
+#: step_entry.cc:277
msgid "Set volume (velocity) to pianissimo"
msgstr ""
-#: step_entry.cc:277
+#: step_entry.cc:278
msgid "Set volume (velocity) to piano"
msgstr ""
-#: step_entry.cc:278
+#: step_entry.cc:279
msgid "Set volume (velocity) to mezzo-piano"
msgstr ""
-#: step_entry.cc:279
+#: step_entry.cc:280
msgid "Set volume (velocity) to mezzo-forte"
msgstr ""
-#: step_entry.cc:280
+#: step_entry.cc:281
msgid "Set volume (velocity) to forte"
msgstr ""
-#: step_entry.cc:281
+#: step_entry.cc:282
msgid "Set volume (velocity) to forteissimo"
msgstr ""
-#: step_entry.cc:282
+#: step_entry.cc:283
msgid "Set volume (velocity) to forteississimo"
msgstr ""
-#: step_entry.cc:330
+#: step_entry.cc:331
msgid "Stack inserted notes to form a chord"
msgstr ""
-#: step_entry.cc:331
+#: step_entry.cc:332
msgid "Extend selected notes by note length"
msgstr ""
-#: step_entry.cc:332
+#: step_entry.cc:333
msgid "Use undotted note lengths"
msgstr ""
-#: step_entry.cc:333
+#: step_entry.cc:334
msgid "Use dotted (* 1.5) note lengths"
msgstr ""
-#: step_entry.cc:334
+#: step_entry.cc:335
msgid "Use double-dotted (* 1.75) note lengths"
msgstr ""
-#: step_entry.cc:335
+#: step_entry.cc:336
msgid "Use triple-dotted (* 1.875) note lengths"
msgstr ""
-#: step_entry.cc:336
+#: step_entry.cc:337
msgid "Insert a note-length's rest"
msgstr ""
-#: step_entry.cc:337
+#: step_entry.cc:338
msgid "Insert a grid-unit's rest"
msgstr ""
-#: step_entry.cc:338
+#: step_entry.cc:339
msgid "Insert a rest until the next beat"
msgstr ""
-#: step_entry.cc:339
+#: step_entry.cc:340
msgid "Insert a rest until the next bar"
msgstr ""
-#: step_entry.cc:340
+#: step_entry.cc:341
msgid "Insert a bank change message"
msgstr ""
-#: step_entry.cc:341
+#: step_entry.cc:342
msgid "Insert a program change message"
msgstr ""
-#: step_entry.cc:342 step_entry.cc:699
+#: step_entry.cc:343 step_entry.cc:700
msgid "Move Insert Position Back by Note Length"
msgstr ""
-#: step_entry.cc:343 step_entry.cc:697
+#: step_entry.cc:344 step_entry.cc:698
msgid "Move Insert Position to Edit Point"
msgstr ""
-#: step_entry.cc:400
+#: step_entry.cc:401
msgid "1/Note"
msgstr ""
-#: step_entry.cc:414
+#: step_entry.cc:415
msgid "Octave"
msgstr ""
-#: step_entry.cc:597
+#: step_entry.cc:598
msgid "Insert Note A"
msgstr ""
-#: step_entry.cc:598
+#: step_entry.cc:599
msgid "Insert Note A-sharp"
msgstr ""
-#: step_entry.cc:599
+#: step_entry.cc:600
msgid "Insert Note B"
msgstr ""
-#: step_entry.cc:600
+#: step_entry.cc:601
msgid "Insert Note C"
msgstr ""
-#: step_entry.cc:601
+#: step_entry.cc:602
msgid "Insert Note C-sharp"
msgstr ""
-#: step_entry.cc:602
+#: step_entry.cc:603
msgid "Insert Note D"
msgstr ""
-#: step_entry.cc:603
+#: step_entry.cc:604
msgid "Insert Note D-sharp"
msgstr ""
-#: step_entry.cc:604
+#: step_entry.cc:605
msgid "Insert Note E"
msgstr ""
-#: step_entry.cc:605
+#: step_entry.cc:606
msgid "Insert Note F"
msgstr ""
-#: step_entry.cc:606
+#: step_entry.cc:607
msgid "Insert Note F-sharp"
msgstr ""
-#: step_entry.cc:607
+#: step_entry.cc:608
msgid "Insert Note G"
msgstr ""
-#: step_entry.cc:608
+#: step_entry.cc:609
msgid "Insert Note G-sharp"
msgstr ""
-#: step_entry.cc:610
+#: step_entry.cc:611
msgid "Insert a Note-length Rest"
msgstr ""
-#: step_entry.cc:611
+#: step_entry.cc:612
msgid "Insert a Snap-length Rest"
msgstr ""
-#: step_entry.cc:613 step_entry.cc:614
+#: step_entry.cc:614 step_entry.cc:615
msgid "Move to next octave"
msgstr ""
-#: step_entry.cc:616
+#: step_entry.cc:617
msgid "Move to Next Note Length"
msgstr ""
-#: step_entry.cc:617
+#: step_entry.cc:618
msgid "Move to Previous Note Length"
msgstr ""
-#: step_entry.cc:619
+#: step_entry.cc:620
msgid "Increase Note Length"
msgstr ""
-#: step_entry.cc:620
+#: step_entry.cc:621
msgid "Decrease Note Length"
msgstr ""
-#: step_entry.cc:622
+#: step_entry.cc:623
msgid "Move to Next Note Velocity"
msgstr ""
-#: step_entry.cc:623
+#: step_entry.cc:624
msgid "Move to Previous Note Velocity"
msgstr ""
-#: step_entry.cc:625
+#: step_entry.cc:626
msgid "Increase Note Velocity"
msgstr ""
-#: step_entry.cc:626
+#: step_entry.cc:627
msgid "Decrease Note Velocity"
msgstr ""
-#: step_entry.cc:628
+#: step_entry.cc:629
msgid "Switch to the 1st octave"
msgstr ""
-#: step_entry.cc:629
+#: step_entry.cc:630
msgid "Switch to the 2nd octave"
msgstr ""
-#: step_entry.cc:630
+#: step_entry.cc:631
msgid "Switch to the 3rd octave"
msgstr ""
-#: step_entry.cc:631
+#: step_entry.cc:632
msgid "Switch to the 4th octave"
msgstr ""
-#: step_entry.cc:632
+#: step_entry.cc:633
msgid "Switch to the 5th octave"
msgstr ""
-#: step_entry.cc:633
+#: step_entry.cc:634
msgid "Switch to the 6th octave"
msgstr ""
-#: step_entry.cc:634
+#: step_entry.cc:635
msgid "Switch to the 7th octave"
msgstr ""
-#: step_entry.cc:635
+#: step_entry.cc:636
msgid "Switch to the 8th octave"
msgstr ""
-#: step_entry.cc:636
+#: step_entry.cc:637
msgid "Switch to the 9th octave"
msgstr ""
-#: step_entry.cc:637
+#: step_entry.cc:638
msgid "Switch to the 10th octave"
msgstr ""
-#: step_entry.cc:638
+#: step_entry.cc:639
msgid "Switch to the 11th octave"
msgstr ""
-#: step_entry.cc:643
+#: step_entry.cc:644
msgid "Set Note Length to Whole"
msgstr ""
-#: step_entry.cc:645
+#: step_entry.cc:646
msgid "Set Note Length to 1/2"
msgstr ""
-#: step_entry.cc:647
+#: step_entry.cc:648
msgid "Set Note Length to 1/3"
msgstr ""
-#: step_entry.cc:649
+#: step_entry.cc:650
msgid "Set Note Length to 1/4"
msgstr ""
-#: step_entry.cc:651
+#: step_entry.cc:652
msgid "Set Note Length to 1/8"
msgstr ""
-#: step_entry.cc:653
+#: step_entry.cc:654
msgid "Set Note Length to 1/16"
msgstr ""
-#: step_entry.cc:655
+#: step_entry.cc:656
msgid "Set Note Length to 1/32"
msgstr ""
-#: step_entry.cc:657
+#: step_entry.cc:658
msgid "Set Note Length to 1/64"
msgstr ""
-#: step_entry.cc:662
+#: step_entry.cc:663
msgid "Set Note Velocity to Pianississimo"
msgstr ""
-#: step_entry.cc:664
+#: step_entry.cc:665
msgid "Set Note Velocity to Pianissimo"
msgstr ""
-#: step_entry.cc:666
+#: step_entry.cc:667
msgid "Set Note Velocity to Piano"
msgstr ""
-#: step_entry.cc:668
+#: step_entry.cc:669
msgid "Set Note Velocity to Mezzo-Piano"
msgstr ""
-#: step_entry.cc:670
+#: step_entry.cc:671
msgid "Set Note Velocity to Mezzo-Forte"
msgstr ""
-#: step_entry.cc:672
+#: step_entry.cc:673
msgid "Set Note Velocity to Forte"
msgstr ""
-#: step_entry.cc:674 step_entry.cc:676
+#: step_entry.cc:675 step_entry.cc:677
msgid "Set Note Velocity to Fortississimo"
msgstr ""
-#: step_entry.cc:678
+#: step_entry.cc:679
msgid "Toggle Triple Notes"
msgstr ""
-#: step_entry.cc:683
+#: step_entry.cc:684
msgid "No Dotted Notes"
msgstr ""
-#: step_entry.cc:685
+#: step_entry.cc:686
msgid "Toggled Dotted Notes"
msgstr ""
-#: step_entry.cc:687
+#: step_entry.cc:688
msgid "Toggled Double-Dotted Notes"
msgstr ""
-#: step_entry.cc:689
+#: step_entry.cc:690
msgid "Toggled Triple-Dotted Notes"
msgstr ""
-#: step_entry.cc:692
+#: step_entry.cc:693
msgid "Toggle Chord Entry"
msgstr ""
-#: step_entry.cc:694
+#: step_entry.cc:695
msgid "Sustain Selected Notes by Note Length"
msgstr ""
-#: stereo_panner.cc:108
+#: stereo_panner.cc:131
#, c-format
msgid "L:%3d R:%3d Width:%d%%"
msgstr ""
@@ -11405,140 +11687,164 @@ msgstr ""
msgid "Width"
msgstr ""
-#: strip_silence_dialog.cc:48
+#: strip_silence_dialog.cc:44
msgid "Strip Silence"
msgstr ""
-#: strip_silence_dialog.cc:79
+#: strip_silence_dialog.cc:75
msgid "Minimum length"
msgstr ""
-#: strip_silence_dialog.cc:87
+#: strip_silence_dialog.cc:83
msgid "Fade length"
msgstr ""
-#: tempo_dialog.cc:43 tempo_dialog.cc:58
+#: tempo_dialog.cc:42 tempo_dialog.cc:58
msgid "bar:"
msgstr ""
-#: tempo_dialog.cc:44 tempo_dialog.cc:59
+#: tempo_dialog.cc:43 tempo_dialog.cc:59
msgid "beat:"
msgstr ""
-#: tempo_dialog.cc:45 tempo_dialog.cc:60
+#: tempo_dialog.cc:44 tempo_dialog.cc:60
msgid "Pulse note"
msgstr ""
+#: tempo_dialog.cc:45 tempo_dialog.cc:61
+msgid "Tap tempo"
+msgstr ""
+
#: tempo_dialog.cc:55
msgid "Edit Tempo"
msgstr ""
-#: tempo_dialog.cc:76 tempo_dialog.cc:77 tempo_dialog.cc:282
-#: tempo_dialog.cc:283
+#: tempo_dialog.cc:77 tempo_dialog.cc:78 tempo_dialog.cc:316
+#: tempo_dialog.cc:317
msgid "whole"
msgstr ""
-#: tempo_dialog.cc:78 tempo_dialog.cc:79 tempo_dialog.cc:284
-#: tempo_dialog.cc:285
+#: tempo_dialog.cc:79 tempo_dialog.cc:80 tempo_dialog.cc:318
+#: tempo_dialog.cc:319
msgid "second"
msgstr ""
-#: tempo_dialog.cc:80 tempo_dialog.cc:81 tempo_dialog.cc:286
-#: tempo_dialog.cc:287
+#: tempo_dialog.cc:81 tempo_dialog.cc:82 tempo_dialog.cc:320
+#: tempo_dialog.cc:321
msgid "third"
msgstr ""
-#: tempo_dialog.cc:82 tempo_dialog.cc:83 tempo_dialog.cc:288
-#: tempo_dialog.cc:289
+#: tempo_dialog.cc:83 tempo_dialog.cc:84 tempo_dialog.cc:322
+#: tempo_dialog.cc:323
msgid "quarter"
msgstr ""
-#: tempo_dialog.cc:84 tempo_dialog.cc:85 tempo_dialog.cc:290
-#: tempo_dialog.cc:291
+#: tempo_dialog.cc:85 tempo_dialog.cc:86 tempo_dialog.cc:324
+#: tempo_dialog.cc:325
msgid "eighth"
msgstr ""
-#: tempo_dialog.cc:86 tempo_dialog.cc:87 tempo_dialog.cc:292
-#: tempo_dialog.cc:293
+#: tempo_dialog.cc:87 tempo_dialog.cc:88 tempo_dialog.cc:326
+#: tempo_dialog.cc:327
msgid "sixteenth"
msgstr ""
-#: tempo_dialog.cc:88 tempo_dialog.cc:89 tempo_dialog.cc:294
-#: tempo_dialog.cc:295
+#: tempo_dialog.cc:89 tempo_dialog.cc:90 tempo_dialog.cc:328
+#: tempo_dialog.cc:329
msgid "thirty-second"
msgstr ""
-#: tempo_dialog.cc:90 tempo_dialog.cc:91 tempo_dialog.cc:296
-#: tempo_dialog.cc:297
+#: tempo_dialog.cc:91 tempo_dialog.cc:92 tempo_dialog.cc:330
+#: tempo_dialog.cc:331
msgid "sixty-fourth"
msgstr ""
-#: tempo_dialog.cc:92 tempo_dialog.cc:93 tempo_dialog.cc:298
-#: tempo_dialog.cc:299
+#: tempo_dialog.cc:93 tempo_dialog.cc:94 tempo_dialog.cc:332
+#: tempo_dialog.cc:333
msgid "one-hundred-twenty-eighth"
msgstr ""
-#: tempo_dialog.cc:120
+#: tempo_dialog.cc:121
msgid "Beats per minute:"
msgstr "Slag per minut:"
-#: tempo_dialog.cc:152
+#: tempo_dialog.cc:153
msgid "Tempo begins at"
msgstr ""
-#: tempo_dialog.cc:240
+#: tempo_dialog.cc:244
msgid "incomprehensible pulse note type (%1)"
msgstr ""
-#: tempo_dialog.cc:266
+#: tempo_dialog.cc:300
msgid "Edit Meter"
msgstr ""
-#: tempo_dialog.cc:314
+#: tempo_dialog.cc:348
msgid "Note value:"
msgstr "Notvärde:"
-#: tempo_dialog.cc:315
+#: tempo_dialog.cc:349
msgid "Beats per bar:"
msgstr "Slag per takt:"
-#: tempo_dialog.cc:330
+#: tempo_dialog.cc:364
msgid "Meter begins at bar:"
msgstr ""
-#: tempo_dialog.cc:441
+#: tempo_dialog.cc:475
msgid "incomprehensible meter note type (%1)"
msgstr ""
-#: theme_manager.cc:57
+#: theme_manager.cc:63
msgid "Dark Theme"
msgstr "Mörkt tema"
-#: theme_manager.cc:58
+#: theme_manager.cc:64
msgid "Light Theme"
msgstr "Ljust tema"
-#: theme_manager.cc:59
+#: theme_manager.cc:65
msgid "Restore Defaults"
msgstr "Nollställ"
-#: theme_manager.cc:60
+#: theme_manager.cc:66
msgid "Draw \"flat\" buttons"
msgstr ""
-#: theme_manager.cc:61
+#: theme_manager.cc:67
+msgid "Blink Rec-Arm buttons"
+msgstr ""
+
+#: theme_manager.cc:68
+msgid "Color regions using their track's color"
+msgstr "Färglägg regioner med spårets färg"
+
+#: theme_manager.cc:69
+msgid "Show waveform clipping"
+msgstr ""
+
+#: theme_manager.cc:71
+msgid "Waveforms color gradient depth"
+msgstr ""
+
+#: theme_manager.cc:73
+msgid "Timeline item gradient depth"
+msgstr ""
+
+#: theme_manager.cc:74
msgid "All floating windows are dialogs"
msgstr ""
-#: theme_manager.cc:62
-msgid "Draw waveforms with color gradient"
+#: theme_manager.cc:75
+msgid "Icon Set"
msgstr ""
-#: theme_manager.cc:68
+#: theme_manager.cc:81
msgid "Object"
msgstr "Objekt"
-#: theme_manager.cc:123
+#: theme_manager.cc:180
msgid ""
"Mark all floating windows to be type \"Dialog\" rather than using \"Utility"
"\" for some.\n"
@@ -11546,15 +11852,15 @@ msgid ""
"take effect"
msgstr ""
-#: theme_manager.cc:229
+#: theme_manager.cc:286
msgid "Unable to find UI style file %1 in search path %2. %3 will look strange"
msgstr ""
-#: time_axis_view.cc:114
+#: time_axis_view.cc:141
msgid "Track/Bus name (double click to edit)"
msgstr ""
-#: time_axis_view_item.cc:332
+#: time_axis_view_item.cc:384
msgid "new duration %1 frame is out of bounds for %2"
msgid_plural "new duration of %1 frames is out of bounds for %2"
msgstr[0] ""
@@ -11620,11 +11926,11 @@ msgstr "Förläng/Förkorta"
msgid "<b>Progress</b>"
msgstr ""
-#: time_info_box.cc:121
+#: time_info_box.cc:124
msgid "Start recording at auto-punch start"
msgstr "Starta inspelning vid autoinslagsstart"
-#: time_info_box.cc:122
+#: time_info_box.cc:125
msgid "Stop recording at auto-punch end"
msgstr "Stanna inspelning vid autoinslagsslut"
@@ -11640,148 +11946,160 @@ msgstr ""
msgid "Transpose"
msgstr "Transponera"
-#: ui_config.cc:82 ui_config.cc:113
+#: ui_config.cc:95 ui_config.cc:126
msgid "Loading default ui configuration file %1"
msgstr ""
-#: ui_config.cc:85 ui_config.cc:116
+#: ui_config.cc:98 ui_config.cc:129
msgid "cannot read default ui configuration file \"%1\""
msgstr ""
-#: ui_config.cc:90 ui_config.cc:121
+#: ui_config.cc:103 ui_config.cc:134
msgid "default ui configuration file \"%1\" not loaded successfully."
msgstr ""
-#: ui_config.cc:134
+#: ui_config.cc:147
msgid "Loading user ui configuration file %1"
msgstr ""
-#: ui_config.cc:137
+#: ui_config.cc:150
msgid "cannot read ui configuration file \"%1\""
msgstr ""
-#: ui_config.cc:142
+#: ui_config.cc:155
msgid "user ui configuration file \"%1\" not loaded successfully."
msgstr ""
-#: ui_config.cc:150
+#: ui_config.cc:163
msgid "could not find any ui configuration file, canvas will look broken."
msgstr ""
-#: ui_config.cc:169
+#: ui_config.cc:182
msgid "Config file %1 not saved"
msgstr ""
-#: utils.cc:111 utils.cc:154
+#: utils.cc:117 utils.cc:160
msgid "bad XPM header %1"
msgstr ""
-#: utils.cc:293 utils.cc:325
+#: utils.cc:313 utils.cc:345
msgid "missing RGBA style for \"%1\""
msgstr "saknar RGBA-stil för \"%1\""
-#: utils.cc:598
+#: utils.cc:640
msgid "cannot find XPM file for %1"
msgstr ""
-#: utils.cc:624
-msgid "cannot find icon image for %1 using %2"
+#: utils.cc:660 utils.cc:687 utils.cc:698
+msgid "default"
msgstr ""
-#: utils.cc:639
-msgid "Caught exception while loading icon named %1"
+#: utils.cc:699
+msgid "icon \"%1\" not found for icon set \"%2\", fallback to default"
+msgstr ""
+
+#: utils.cc:706
+msgid "cannot find icon image for %1 using %2"
msgstr ""
-#: verbose_cursor.cc:45
-msgid "VerboseCanvasCursor"
+#: utils.cc:723 utils.cc:739
+msgid "Caught exception while loading icon named %1"
msgstr ""
-#: add_video_dialog.cc:55
+#: add_video_dialog.cc:54
msgid "Set Video Track"
msgstr ""
-#: add_video_dialog.cc:63
+#: add_video_dialog.cc:62
msgid "Launch External Video Monitor"
msgstr ""
-#: add_video_dialog.cc:64
+#: add_video_dialog.cc:63
msgid "Adjust Session Framerate to Match Video Framerate"
msgstr ""
-#: add_video_dialog.cc:66
+#: add_video_dialog.cc:65
msgid "Reload docroot"
msgstr ""
-#: add_video_dialog.cc:111 add_video_dialog.cc:115
-msgid "VideoServerIndex"
-msgstr ""
-
-#: add_video_dialog.cc:129
+#: add_video_dialog.cc:120
msgid "Video files"
msgstr ""
-#: add_video_dialog.cc:164
+#: add_video_dialog.cc:149
msgid "<b>Video Information</b>"
msgstr ""
-#: add_video_dialog.cc:167
+#: add_video_dialog.cc:152
msgid "Start:"
msgstr ""
-#: add_video_dialog.cc:173
+#: add_video_dialog.cc:158
msgid "Frame rate:"
msgstr ""
-#: add_video_dialog.cc:176
+#: add_video_dialog.cc:161
msgid "Aspect Ratio:"
msgstr ""
-#: add_video_dialog.cc:654
-msgid " %1 fps"
+#: add_video_dialog.cc:244
+msgid "VideoServerIndex"
msgstr ""
-#: editor_videotimeline.cc:146
-msgid "Export Successful: %1"
+#: add_video_dialog.cc:670
+msgid " %1 fps"
msgstr ""
-#: video_timeline.cc:469
+#: video_timeline.cc:473
msgid ""
"Parsing video file info failed. Is the Video Server running? Is the file "
"readable by the Video Server? Does the docroot match? Is it a video file?"
msgstr ""
-#: video_timeline.cc:507
+#: video_timeline.cc:511
msgid ""
"Failed to set session-framerate: '%1' does not have a corresponding option "
"setting in %2."
msgstr ""
-#: video_timeline.cc:515
+#: video_timeline.cc:519
msgid ""
"Video file's framerate is not equal to %1 session timecode's framerate: '%2' "
"vs '%3'"
msgstr ""
-#: video_timeline.cc:588
+#: video_timeline.cc:592
msgid ""
"Video-server docroot mismatch. %1: '%2', video-server: '%3'. This usually "
-"means that the video server was not started by ardour and uses a different "
+"means that the video server was not started by %1 and uses a different "
"document-root."
msgstr ""
-#: video_timeline.cc:737
+#: video_timeline.cc:768
msgid ""
"Video-monitor 'xjadeo' was not found. Please install http://xjadeo.sf.net/ "
"(a custom path to xjadeo can be specified by setting the XJREMOTE "
"environment variable. It should point to an application compatible with "
-"xjadeo's remote-control interface 'xjremote')."
+"xjadeo's remote-control interface 'xjremote').\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: video_monitor.cc:281
+#: video_timeline.cc:782
+msgid "Video-monitor 'xjadeo' cannot be launched."
+msgstr ""
+
+#: video_timeline.cc:809
+msgid ""
+"Video-monitor 'xjadeo' is too old. Please install xjadeo version 0.7.7 or "
+"later. http://xjadeo.sf.net/"
+msgstr ""
+
+#: video_monitor.cc:285
msgid "Video Monitor: File Not Found."
msgstr ""
-#: transcode_ffmpeg.cc:73
+#: transcode_ffmpeg.cc:126
msgid ""
"No ffprobe or ffmpeg executables could be found on this system.\n"
"Video import and export is not possible until you install those tools.\n"
@@ -11795,168 +12113,181 @@ msgid ""
"If you already have a suitable ffmpeg installation on your system, we "
"recommend creating symbolic links from ffmpeg to ffmpeg_harvid and from "
"ffprobe to ffprobe_harvid.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: transcode_video_dialog.cc:55
+#: transcode_video_dialog.cc:56
msgid "Transcode/Import Video File "
msgstr ""
-#: transcode_video_dialog.cc:57
+#: transcode_video_dialog.cc:58
msgid "Output File:"
msgstr ""
-#: transcode_video_dialog.cc:60 export_video_dialog.cc:72
+#: transcode_video_dialog.cc:61 export_video_dialog.cc:73
msgid "Abort"
msgstr ""
-#: transcode_video_dialog.cc:62
+#: transcode_video_dialog.cc:63
msgid "Height = "
msgstr ""
-#: transcode_video_dialog.cc:65
+#: transcode_video_dialog.cc:66
msgid "Manual Override"
msgstr ""
-#: transcode_video_dialog.cc:69 export_video_dialog.cc:88
+#: transcode_video_dialog.cc:70 export_video_dialog.cc:89
msgid "Debug Mode: Print ffmpeg command and output to stdout."
msgstr ""
-#: transcode_video_dialog.cc:106
+#: transcode_video_dialog.cc:107
msgid "<b>File Information</b>"
msgstr ""
-#: transcode_video_dialog.cc:112
+#: transcode_video_dialog.cc:113
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Import "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: transcode_video_dialog.cc:119
+#: transcode_video_dialog.cc:120
msgid ""
"File-info can not be read. Most likely '%1' is not a valid video-file or an "
"unsupported video codec or format."
msgstr ""
-#: transcode_video_dialog.cc:133
+#: transcode_video_dialog.cc:134
msgid "FPS:"
msgstr ""
-#: transcode_video_dialog.cc:135
+#: transcode_video_dialog.cc:136
msgid "Duration:"
msgstr ""
-#: transcode_video_dialog.cc:137
+#: transcode_video_dialog.cc:138
msgid "Codec:"
msgstr ""
-#: transcode_video_dialog.cc:139
+#: transcode_video_dialog.cc:140
msgid "Geometry:"
msgstr ""
-#: transcode_video_dialog.cc:154
+#: transcode_video_dialog.cc:155
msgid "??"
msgstr ""
-#: transcode_video_dialog.cc:175
+#: transcode_video_dialog.cc:176
msgid "<b>Import Settings</b>"
msgstr ""
-#: transcode_video_dialog.cc:180
-msgid "Do Not Import Video"
-msgstr ""
-
#: transcode_video_dialog.cc:181
-msgid "Reference From Current Location"
+msgid "Reference From Current Location (Previously Transcoded Files Only)"
msgstr ""
#: transcode_video_dialog.cc:183
msgid "Import/Transcode Video to Session"
msgstr ""
-#: transcode_video_dialog.cc:197
+#: transcode_video_dialog.cc:191
+msgid "Do Not Import Video (Audio Import Only)"
+msgstr ""
+
+#: transcode_video_dialog.cc:200
msgid "Scale Video: Width = "
msgstr ""
-#: transcode_video_dialog.cc:204
+#: transcode_video_dialog.cc:207
msgid "Original Width"
msgstr ""
-#: transcode_video_dialog.cc:219
+#: transcode_video_dialog.cc:222
msgid "Bitrate (KBit/s):"
msgstr ""
-#: transcode_video_dialog.cc:224
+#: transcode_video_dialog.cc:227
msgid "Extract Audio:"
msgstr ""
-#: transcode_video_dialog.cc:344
+#: transcode_video_dialog.cc:232
+msgid "No Audio Track Present"
+msgstr ""
+
+#: transcode_video_dialog.cc:235
+msgid "Do Not Extract Audio"
+msgstr ""
+
+#: transcode_video_dialog.cc:350
msgid "Extracting Audio.."
msgstr ""
-#: transcode_video_dialog.cc:347
+#: transcode_video_dialog.cc:353
msgid "Audio Extraction Failed."
msgstr ""
-#: transcode_video_dialog.cc:373
+#: transcode_video_dialog.cc:379
msgid "Transcoding Video.."
msgstr ""
-#: transcode_video_dialog.cc:407
+#: transcode_video_dialog.cc:413
msgid "Transcoding Failed."
msgstr ""
-#: transcode_video_dialog.cc:490
+#: transcode_video_dialog.cc:503
msgid "Save Transcoded Video File"
msgstr ""
-#: video_server_dialog.cc:43
+#: video_server_dialog.cc:57
msgid "Launch Video Server"
msgstr ""
-#: video_server_dialog.cc:44
+#: video_server_dialog.cc:58
msgid "Server Executable:"
msgstr ""
-#: video_server_dialog.cc:46
+#: video_server_dialog.cc:60
msgid "Server Docroot:"
msgstr ""
-#: video_server_dialog.cc:52
+#: video_server_dialog.cc:66
msgid "Don't show this dialog again. (Reset in Edit->Preferences)."
msgstr ""
-#: video_server_dialog.cc:92
+#: video_server_dialog.cc:126
msgid ""
-"The external video server 'harvid' can not be found. The tool is included "
-"with the %1 releases from ardour.org, alternatively you can download it from "
-"http://x42.github.com/harvid/ or acquire it from your distribution."
+"The external video server 'harvid' can not be found.\n"
+"The tool is included with the %1 releases from ardour.org, alternatively you "
+"can download it from http://x42.github.com/harvid/ or acquire it from your "
+"distribution.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: video_server_dialog.cc:120
+#: video_server_dialog.cc:159
msgid "Listen Address:"
msgstr ""
-#: video_server_dialog.cc:125
+#: video_server_dialog.cc:164
msgid "Listen Port:"
msgstr ""
-#: video_server_dialog.cc:130
+#: video_server_dialog.cc:169
msgid "Cache Size:"
msgstr ""
-#: video_server_dialog.cc:136
+#: video_server_dialog.cc:175
msgid ""
"%1 relies on an external video server for the videotimeline.\n"
"The server configured in Edit -> Preferences -> Video is not reachable.\n"
"Do you want %1 to launch 'harvid' on this machine?"
msgstr ""
-#: video_server_dialog.cc:176
+#: video_server_dialog.cc:215
msgid "Set Video Server Executable"
msgstr ""
-#: video_server_dialog.cc:196
+#: video_server_dialog.cc:235
msgid "Server docroot"
msgstr ""
@@ -11986,184 +12317,184 @@ msgstr ""
msgid "Cannot create video folder \"%1\" (%2)"
msgstr ""
-#: export_video_dialog.cc:65
+#: export_video_dialog.cc:66
msgid "Export Video File "
msgstr ""
-#: export_video_dialog.cc:69
+#: export_video_dialog.cc:70
msgid "Video:"
msgstr ""
-#: export_video_dialog.cc:73
+#: export_video_dialog.cc:74
msgid "Scale Video (W x H):"
msgstr ""
-#: export_video_dialog.cc:78
+#: export_video_dialog.cc:79
msgid "Set Aspect Ratio:"
msgstr ""
-#: export_video_dialog.cc:79
+#: export_video_dialog.cc:80
msgid "Normalize Audio"
msgstr ""
-#: export_video_dialog.cc:80
+#: export_video_dialog.cc:81
msgid "2 Pass Encoding"
msgstr ""
-#: export_video_dialog.cc:81
+#: export_video_dialog.cc:82
msgid "Codec Optimizations:"
msgstr ""
-#: export_video_dialog.cc:83
+#: export_video_dialog.cc:84
msgid "Deinterlace"
msgstr ""
-#: export_video_dialog.cc:84
+#: export_video_dialog.cc:85
msgid "Use [2] B-frames (MPEG 2 or 4 only)"
msgstr ""
-#: export_video_dialog.cc:85
+#: export_video_dialog.cc:86
msgid "Override FPS (Default is to retain FPS from the input video file):"
msgstr ""
-#: export_video_dialog.cc:86
+#: export_video_dialog.cc:87
msgid "Include Session Metadata"
msgstr ""
-#: export_video_dialog.cc:106
+#: export_video_dialog.cc:107
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Export "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: export_video_dialog.cc:116
+#: export_video_dialog.cc:117
msgid "<b>Output:</b>"
msgstr ""
-#: export_video_dialog.cc:126
+#: export_video_dialog.cc:127
msgid "<b>Input:</b>"
msgstr ""
-#: export_video_dialog.cc:137
+#: export_video_dialog.cc:138
msgid "Audio:"
msgstr ""
-#: export_video_dialog.cc:139
+#: export_video_dialog.cc:140
msgid "Master Bus"
msgstr ""
-#: export_video_dialog.cc:144
+#: export_video_dialog.cc:145
msgid "from the %1 session's start to the session's end"
msgstr ""
-#: export_video_dialog.cc:148
+#: export_video_dialog.cc:149
msgid "from 00:00:00:00 to the video's end"
msgstr ""
-#: export_video_dialog.cc:150
+#: export_video_dialog.cc:151
msgid "from the video's start to the video's end"
msgstr ""
-#: export_video_dialog.cc:153
+#: export_video_dialog.cc:154
msgid "Selected range"
msgstr ""
-#: export_video_dialog.cc:193
+#: export_video_dialog.cc:194
msgid "<b>Settings:</b>"
msgstr ""
-#: export_video_dialog.cc:201
+#: export_video_dialog.cc:202
msgid "Range:"
msgstr ""
-#: export_video_dialog.cc:204
+#: export_video_dialog.cc:205
msgid "Preset:"
msgstr ""
-#: export_video_dialog.cc:207
+#: export_video_dialog.cc:208
msgid "Video Codec:"
msgstr ""
-#: export_video_dialog.cc:210
+#: export_video_dialog.cc:211
msgid "Video KBit/s:"
msgstr ""
-#: export_video_dialog.cc:213
+#: export_video_dialog.cc:214
msgid "Audio Codec:"
msgstr ""
-#: export_video_dialog.cc:216
+#: export_video_dialog.cc:217
msgid "Audio KBit/s:"
msgstr ""
-#: export_video_dialog.cc:219
+#: export_video_dialog.cc:220
msgid "Audio Samplerate:"
msgstr ""
-#: export_video_dialog.cc:395
+#: export_video_dialog.cc:396
msgid "Normalizing audio"
msgstr ""
-#: export_video_dialog.cc:399
+#: export_video_dialog.cc:400
msgid "Exporting audio"
msgstr ""
-#: export_video_dialog.cc:445
+#: export_video_dialog.cc:446
msgid "Exporting Audio..."
msgstr ""
-#: export_video_dialog.cc:502
+#: export_video_dialog.cc:503
msgid ""
"Export Video: Cannot query duration of video-file, using duration from "
"timeline instead."
msgstr ""
-#: export_video_dialog.cc:532
+#: export_video_dialog.cc:533
msgid "Export Video: export-range does not include video."
msgstr ""
-#: export_video_dialog.cc:544
+#: export_video_dialog.cc:545
msgid "Export Video: No Master Out Ports to Connect for Audio Export"
msgstr ""
-#: export_video_dialog.cc:583
+#: export_video_dialog.cc:585
msgid "Encoding Video..."
msgstr ""
-#: export_video_dialog.cc:602
+#: export_video_dialog.cc:604
msgid "Export Video: Video input file cannot be read."
msgstr ""
-#: export_video_dialog.cc:695
+#: export_video_dialog.cc:698
msgid "Encoding Video.. Pass 1/2"
msgstr ""
-#: export_video_dialog.cc:707
+#: export_video_dialog.cc:710
msgid "Encoding Video.. Pass 2/2"
msgstr ""
-#: export_video_dialog.cc:814
+#: export_video_dialog.cc:813
msgid "Transcoding failed."
msgstr ""
-#: export_video_dialog.cc:983 export_video_dialog.cc:1003
+#: export_video_dialog.cc:982 export_video_dialog.cc:1002
msgid "Save Exported Video File"
msgstr ""
-#: export_video_infobox.cc:30
+#: export_video_infobox.cc:33
msgid "Video Export Info"
msgstr ""
-#: export_video_infobox.cc:31
+#: export_video_infobox.cc:34
msgid "Do Not Show This Dialog Again (Reset in Edit > Preferences > Video)."
msgstr ""
-#: export_video_infobox.cc:43
+#: export_video_infobox.cc:46
msgid "<b>Video Export Info</b>"
msgstr ""
-#: export_video_infobox.cc:48
+#: export_video_infobox.cc:51
msgid ""
"Video encoding is a non-trivial task with many details.\n"
"\n"
@@ -12172,6 +12503,72 @@ msgid ""
"Open Manual in Browser? "
msgstr ""
+#~ msgid "Timecode Frames"
+#~ msgstr "Tidskod: rutor"
+
+#~ msgid "Timecode Seconds"
+#~ msgstr "Tidskod: sekunder"
+
+#~ msgid "Timecode Minutes"
+#~ msgstr "Tidskod: minuter"
+
+#~ msgid "Slowest"
+#~ msgstr "LÃ¥ngsammast"
+
+#~ msgid "Finish Add Range"
+#~ msgstr "Avsluta omfångstillägg"
+
+#~ msgid "Toggle Edit Mode"
+#~ msgstr "Skifta redigeringsläge"
+
+#~ msgid "insert dragged region"
+#~ msgstr "infoga dragen region"
+
+#~ msgid " objects"
+#~ msgstr " objekt"
+
+#~ msgid "Lower limit of ruler"
+#~ msgstr "Lägre gräns för räcke"
+
+#~ msgid "Upper"
+#~ msgstr "Övre"
+
+#~ msgid "Upper limit of ruler"
+#~ msgstr "Övre gräns för räcke"
+
+#~ msgid "Position of mark on the ruler"
+#~ msgstr "Position för märke på räcke"
+
+#~ msgid "Max Size"
+#~ msgstr "Max storlek"
+
+#~ msgid "Maximum size of the ruler"
+#~ msgstr "Max storlek för räcket"
+
+#~ msgid "Show Position"
+#~ msgstr "Visa position"
+
+#~ msgid "Draw current ruler position"
+#~ msgstr "Rita upp räckets aktuellt position"
+
+#~ msgid "tupni"
+#~ msgstr "ni"
+
+#~ msgid "lock"
+#~ msgstr "lås"
+
+#~ msgid "post"
+#~ msgstr "post"
+
+#~ msgid "custom"
+#~ msgstr "egen"
+
+#~ msgid "mute"
+#~ msgstr "tysta"
+
+#~ msgid "Link selection of regions and tracks"
+#~ msgstr "Länka region- och spårmarkering"
+
#~ msgid "Starting audio engine"
#~ msgstr "Startar ljudsystemet"
@@ -12270,9 +12667,6 @@ msgstr ""
#~ msgid "Output device:"
#~ msgstr "Utgångsenhet:"
-#~ msgid "Device"
-#~ msgstr "Enhet"
-
#~ msgid "Advanced"
#~ msgstr "Avancerat"
diff --git a/gtk2_ardour/po/zh.po b/gtk2_ardour/po/zh.po
index 3d0834d9cc..f699144919 100644
--- a/gtk2_ardour/po/zh.po
+++ b/gtk2_ardour/po/zh.po
@@ -2,11 +2,12 @@
# Copyright (C) YEAR Free Software Foundation, Inc.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
+#: engine_dialog.cc:558
msgid ""
msgstr ""
"Project-Id-Version: Ardour 3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-11-05 11:11-0500\n"
+"POT-Creation-Date: 2014-09-04 19:07-0400\n"
"PO-Revision-Date: 2013-01-03 08:29-0500\n"
"Last-Translator: Rui-huai Zhang <zrhzrh>\n"
"Language-Team: zrhzrh <zrhzrh@mail.ustc.edu.cn>\n"
@@ -21,231 +22,235 @@ msgstr ""
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-SearchPath-0: gtk2_ardour\n"
-#: about.cc:122
+#: about.cc:120
msgid "Brian Ahr"
msgstr ""
-#: about.cc:123
+#: about.cc:121
msgid "John Anderson"
msgstr ""
-#: about.cc:124
+#: about.cc:122
msgid "Marcus Andersson"
msgstr ""
-#: about.cc:125
+#: about.cc:123
msgid "Nedko Arnaudov"
msgstr ""
-#: about.cc:126
+#: about.cc:124
msgid "Hans Baier"
msgstr ""
-#: about.cc:127
+#: about.cc:125
msgid "Ben Bell"
msgstr ""
-#: about.cc:128
+#: about.cc:126
msgid "Sakari Bergen"
msgstr ""
-#: about.cc:129
+#: about.cc:127
+msgid "Christian Borss"
+msgstr ""
+
+#: about.cc:128
msgid "Chris Cannam"
msgstr ""
-#: about.cc:130
+#: about.cc:129
msgid "Jesse Chappell"
msgstr ""
-#: about.cc:131
+#: about.cc:130
msgid "Thomas Charbonnel"
msgstr ""
-#: about.cc:132
+#: about.cc:131
msgid "Sam Chessman"
msgstr ""
-#: about.cc:133
+#: about.cc:132
msgid "André Colomb"
msgstr ""
-#: about.cc:134
+#: about.cc:133
msgid "Paul Davis"
msgstr ""
-#: about.cc:135
+#: about.cc:134
msgid "Gerard van Dongen"
msgstr ""
-#: about.cc:136
+#: about.cc:135
msgid "Colin Fletcher"
msgstr ""
-#: about.cc:137
+#: about.cc:136
msgid "Dave Flick"
msgstr ""
-#: about.cc:138
+#: about.cc:137
msgid "Hans Fugal"
msgstr ""
-#: about.cc:139
+#: about.cc:138
msgid "Robin Gareus"
msgstr ""
-#: about.cc:140
+#: about.cc:139
msgid "Christopher George"
msgstr ""
-#: about.cc:141
+#: about.cc:140
msgid "Chris Goddard"
msgstr ""
-#: about.cc:142
+#: about.cc:141
msgid "J. Abelardo Gutierrez"
msgstr ""
-#: about.cc:143
+#: about.cc:142
msgid "Jeremy Hall"
msgstr ""
-#: about.cc:144
+#: about.cc:143
msgid "Audun Halland"
msgstr ""
-#: about.cc:145
+#: about.cc:144
msgid "David Halter"
msgstr ""
-#: about.cc:146
+#: about.cc:145
msgid "Steve Harris"
msgstr ""
-#: about.cc:147
+#: about.cc:146
msgid "Melvin Ray Herr"
msgstr ""
-#: about.cc:148
+#: about.cc:147
msgid "Carl Hetherington"
msgstr ""
-#: about.cc:149
+#: about.cc:148
msgid "Rob Holland"
msgstr ""
-#: about.cc:150
+#: about.cc:149
msgid "Robert Jordens"
msgstr ""
-#: about.cc:151
+#: about.cc:150
msgid "Stefan Kersten"
msgstr ""
-#: about.cc:152
+#: about.cc:151
msgid "Armand Klenk"
msgstr ""
-#: about.cc:153
+#: about.cc:152
msgid "Julien de Kozak"
msgstr ""
-#: about.cc:154
+#: about.cc:153
msgid "Matt Krai"
msgstr ""
-#: about.cc:155
+#: about.cc:154
msgid "Nick Lanham"
msgstr ""
-#: about.cc:156
+#: about.cc:155
msgid "Colin Law"
msgstr ""
-#: about.cc:157
+#: about.cc:156
msgid "Joshua Leach"
msgstr ""
-#: about.cc:158
+#: about.cc:157
msgid "Ben Loftis"
msgstr ""
-#: about.cc:159
+#: about.cc:158
msgid "Nick Mainsbridge"
msgstr ""
-#: about.cc:160
+#: about.cc:159
msgid "Tim Mayberry"
msgstr ""
-#: about.cc:161
+#: about.cc:160
msgid "Doug Mclain"
msgstr ""
-#: about.cc:162
+#: about.cc:161
msgid "Jack O'Quin"
msgstr ""
-#: about.cc:163
+#: about.cc:162
msgid "Nimal Ratnayake"
msgstr ""
-#: about.cc:164
+#: about.cc:163
msgid "David Robillard"
msgstr ""
-#: about.cc:165
+#: about.cc:164
msgid "Taybin Rutkin"
msgstr ""
-#: about.cc:166
+#: about.cc:165
msgid "Andreas Ruge"
msgstr ""
-#: about.cc:167
+#: about.cc:166
msgid "Sampo Savolainen"
msgstr ""
-#: about.cc:168
+#: about.cc:167
msgid "Rodrigo Severo"
msgstr ""
-#: about.cc:169
+#: about.cc:168
msgid "Per Sigmond"
msgstr ""
-#: about.cc:170
+#: about.cc:169
msgid "Lincoln Spiteri"
msgstr ""
-#: about.cc:171
+#: about.cc:170
msgid "Mike Start"
msgstr ""
-#: about.cc:172
+#: about.cc:171
msgid "Mark Stewart"
msgstr ""
-#: about.cc:173
+#: about.cc:172
msgid "Roland Stigge"
msgstr ""
-#: about.cc:174
+#: about.cc:173
msgid "Petter Sundlöf"
msgstr ""
-#: about.cc:175
+#: about.cc:174
msgid "Mike Täht"
msgstr ""
-#: about.cc:176
+#: about.cc:175
msgid "Roy Vegard"
msgstr ""
-#: about.cc:177
+#: about.cc:176
msgid "Thorsten Wilms"
msgstr ""
-#: about.cc:182
+#: about.cc:181
msgid ""
"French:\n"
"\tAlain Fréhel <alain.frehel@free.fr>\n"
@@ -254,7 +259,7 @@ msgid ""
"\tRomain Arnaud <roming22@gmail.com>\n"
msgstr ""
-#: about.cc:183
+#: about.cc:182
msgid ""
"German:\n"
"\tKarsten Petersen <kapet@kapet.de>\n"
@@ -266,189 +271,190 @@ msgid ""
"\tRobin Gloster <robin@loc-com.de>\n"
msgstr ""
-#: about.cc:190
+#: about.cc:189
msgid ""
"Italian:\n"
"\tFilippo Pappalardo <filippo@email.it>\n"
"\tRaffaele Morelli <raffaele.morelli@gmail.com>\n"
msgstr ""
-#: about.cc:191
+#: about.cc:190
msgid ""
"Portuguese:\n"
"\tRui Nuno Capela <rncbc@rncbc.org>\n"
msgstr ""
-#: about.cc:192
+#: about.cc:191
msgid ""
"Brazilian Portuguese:\n"
"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n"
"\tChris Ross <chris@tebibyte.org>\n"
msgstr ""
-#: about.cc:194
+#: about.cc:193
msgid ""
"Spanish:\n"
"\t Alex Krohn <alexkrohn@fastmail.fm>\n"
"\tPablo Fernández <pablo.fbus@gmail.com>\n"
msgstr ""
-#: about.cc:195
+#: about.cc:194
msgid ""
"Russian:\n"
"\t Igor Blinov <pitstop@nm.ru>\n"
"\tAlexandre Prokoudine <alexandre.prokoudine@gmail.com>\n"
msgstr ""
-#: about.cc:197
+#: about.cc:196
msgid ""
"Greek:\n"
"\t Klearchos Gourgourinis <muadib@in.gr>\n"
msgstr ""
-#: about.cc:198
+#: about.cc:197
msgid ""
"Swedish:\n"
"\t Petter Sundlöf <petter.sundlof@gmail.com>\n"
msgstr ""
-#: about.cc:199
+#: about.cc:198
msgid ""
"Polish:\n"
"\t Piotr Zaryk <pzaryk@gmail.com>\n"
msgstr ""
-#: about.cc:200
+#: about.cc:199
msgid ""
"Czech:\n"
"\t Pavel Fric <pavelfric@seznam.cz>\n"
msgstr ""
-#: about.cc:201
+#: about.cc:200
msgid ""
"Norwegian:\n"
"\t Eivind Ødegård\n"
msgstr ""
-#: about.cc:202
+#: about.cc:201
msgid ""
"Chinese:\n"
"\t Rui-huai Zhang <zrhzrh@mail.ustc.edu.cn>\n"
msgstr ""
-#: about.cc:580
+#: about.cc:581
msgid "Copyright (C) 1999-2013 Paul Davis\n"
msgstr ""
-#: about.cc:584
+#: about.cc:585
msgid "http://ardour.org/"
msgstr ""
-#: about.cc:585
+#: about.cc:586
msgid ""
"%1\n"
"(built from revision %2)"
msgstr ""
-#: about.cc:589
+#: about.cc:590
msgid "Config"
msgstr "é…ç½®"
-#: actions.cc:85
+#: actions.cc:84
msgid "Loading menus from %1"
msgstr "载入èœå• %1"
-#: actions.cc:88 actions.cc:89
-msgid "badly formatted UI definition file: %1"
-msgstr "错误的用户界é¢æ ¼å¼æ–‡ä»¶ %1"
+#: actions.cc:87 actions.cc:88
+msgid "badly formatted menu definition file: %1"
+msgstr ""
-#: actions.cc:91
+#: actions.cc:90
msgid "%1 menu definition file not found"
msgstr "%1 èœå•å®šä¹‰æ–‡ä»¶æœªæ‰¾åˆ°"
-#: actions.cc:95 actions.cc:96
-msgid "%1 will not work without a valid ardour.menus file"
+#: actions.cc:94 actions.cc:95
+msgid "%1 will not work without a valid menu definition file"
msgstr ""
-#: add_route_dialog.cc:53 route_params_ui.cc:500
+#: add_route_dialog.cc:54 route_params_ui.cc:523
msgid "Add Track or Bus"
msgstr "添加音轨或总线"
-#: add_route_dialog.cc:56
+#: add_route_dialog.cc:57
msgid "Configuration:"
msgstr "é…ç½®:"
-#: add_route_dialog.cc:57
+#: add_route_dialog.cc:58
msgid "Track mode:"
msgstr "音轨模å¼:"
-#: add_route_dialog.cc:58
+#: add_route_dialog.cc:59
msgid "Instrument:"
msgstr ""
-#: add_route_dialog.cc:76
+#: add_route_dialog.cc:78
msgid "Audio Tracks"
msgstr ""
-#: add_route_dialog.cc:77
+#: add_route_dialog.cc:79
msgid "MIDI Tracks"
msgstr ""
-#: add_route_dialog.cc:78
+#: add_route_dialog.cc:80
msgid "Audio+MIDI Tracks"
msgstr ""
-#: add_route_dialog.cc:79
+#: add_route_dialog.cc:81
msgid "Busses"
msgstr ""
-#: add_route_dialog.cc:101
+#: add_route_dialog.cc:103
msgid "Add:"
msgstr "添加:"
-#: add_route_dialog.cc:114 time_fx_dialog.cc:91 add_video_dialog.cc:150
-#: video_server_dialog.cc:112
+#: add_route_dialog.cc:116 time_fx_dialog.cc:91 add_video_dialog.cc:135
+#: video_server_dialog.cc:151
msgid "<b>Options</b>"
msgstr "<b>选项</b>"
-#: add_route_dialog.cc:124 bundle_manager.cc:192 region_editor.cc:50
-#: route_group_dialog.cc:65
+#: add_route_dialog.cc:126 bundle_manager.cc:193 region_editor.cc:49
+#: route_group_dialog.cc:71
msgid "Name:"
msgstr "å称:"
-#: add_route_dialog.cc:154
+#: add_route_dialog.cc:156
msgid "Group:"
msgstr "分组:"
-#: add_route_dialog.cc:215 add_route_dialog.cc:224 add_route_dialog.cc:298
-#: ardour_ui_ed.cc:476 engine_dialog.cc:236 rc_option_editor.cc:1446
-#: rc_option_editor.cc:1448 rc_option_editor.cc:1450 rc_option_editor.cc:1466
-#: rc_option_editor.cc:1468 rc_option_editor.cc:1476 rc_option_editor.cc:1478
-#: rc_option_editor.cc:1496 rc_option_editor.cc:1509 rc_option_editor.cc:1511
-#: rc_option_editor.cc:1513 rc_option_editor.cc:1544 rc_option_editor.cc:1546
-#: rc_option_editor.cc:1548 rc_option_editor.cc:1556 rc_option_editor.cc:1564
-#: rc_option_editor.cc:1572
+#: add_route_dialog.cc:217 add_route_dialog.cc:226 add_route_dialog.cc:300
+#: ardour_ui_ed.cc:523 engine_dialog.cc:235 rc_option_editor.cc:1710
+#: rc_option_editor.cc:1712 rc_option_editor.cc:1714 rc_option_editor.cc:1732
+#: rc_option_editor.cc:1734 rc_option_editor.cc:1742 rc_option_editor.cc:1744
+#: rc_option_editor.cc:1762 rc_option_editor.cc:1775 rc_option_editor.cc:1777
+#: rc_option_editor.cc:1779 rc_option_editor.cc:1810 rc_option_editor.cc:1812
+#: rc_option_editor.cc:1814 rc_option_editor.cc:1822 rc_option_editor.cc:1830
+#: rc_option_editor.cc:1832 rc_option_editor.cc:1840
msgid "Audio"
msgstr "音频"
-#: add_route_dialog.cc:216 add_route_dialog.cc:227 add_route_dialog.cc:299
-#: editor_actions.cc:105 missing_file_dialog.cc:55 rc_option_editor.cc:1695
-#: rc_option_editor.cc:1703 rc_option_editor.cc:1711 rc_option_editor.cc:1720
-#: rc_option_editor.cc:1728 rc_option_editor.cc:1736 rc_option_editor.cc:1744
-#: rc_option_editor.cc:1753 rc_option_editor.cc:1762 rc_option_editor.cc:1771
-#: rc_option_editor.cc:1779 rc_option_editor.cc:1787
+#: add_route_dialog.cc:218 add_route_dialog.cc:229 add_route_dialog.cc:301
+#: editor_actions.cc:109 engine_dialog.cc:237 missing_file_dialog.cc:56
+#: rc_option_editor.cc:1975 rc_option_editor.cc:1983 rc_option_editor.cc:1991
+#: rc_option_editor.cc:2000 rc_option_editor.cc:2008 rc_option_editor.cc:2016
+#: rc_option_editor.cc:2024 rc_option_editor.cc:2033 rc_option_editor.cc:2042
+#: rc_option_editor.cc:2051 rc_option_editor.cc:2059 rc_option_editor.cc:2067
+#: rc_option_editor.cc:2075 rc_option_editor.cc:2098
msgid "MIDI"
msgstr "MIDI"
-#: add_route_dialog.cc:217 add_route_dialog.cc:230 add_route_dialog.cc:300
+#: add_route_dialog.cc:219 add_route_dialog.cc:232 add_route_dialog.cc:302
msgid "Audio+MIDI"
msgstr ""
-#: add_route_dialog.cc:218 add_route_dialog.cc:233 add_route_dialog.cc:301
+#: add_route_dialog.cc:220 add_route_dialog.cc:235 add_route_dialog.cc:303
msgid "Bus"
msgstr "总线"
-#: add_route_dialog.cc:260
+#: add_route_dialog.cc:262
msgid ""
"Audio+MIDI tracks are intended for use <b>ONLY</b> with plugins that use "
"both audio and MIDI input data\n"
@@ -457,64 +463,64 @@ msgid ""
"track instead."
msgstr ""
-#: add_route_dialog.cc:319 add_route_dialog.cc:338 editor_actions.cc:385
-#: editor_rulers.cc:377 time_axis_view.cc:1305
+#: add_route_dialog.cc:321 add_route_dialog.cc:340 editor_actions.cc:420
+#: editor_rulers.cc:251 time_axis_view.cc:1339
msgid "Normal"
msgstr "普通"
-#: add_route_dialog.cc:322 add_route_dialog.cc:340
+#: add_route_dialog.cc:324 add_route_dialog.cc:342
msgid "Non Layered"
msgstr "ä¸åˆ†å±‚çš„"
-#: add_route_dialog.cc:323 add_route_dialog.cc:342
+#: add_route_dialog.cc:325 add_route_dialog.cc:344
msgid "Tape"
msgstr "带"
-#: add_route_dialog.cc:423
+#: add_route_dialog.cc:425 monitor_section.cc:291
msgid "Mono"
msgstr "å•å£°é“"
-#: add_route_dialog.cc:427
+#: add_route_dialog.cc:429
msgid "Stereo"
msgstr "åŒå£°é“"
-#: add_route_dialog.cc:451
+#: add_route_dialog.cc:453
msgid "3 Channel"
msgstr "三声é“"
-#: add_route_dialog.cc:455
+#: add_route_dialog.cc:457
msgid "4 Channel"
msgstr "四声é“"
-#: add_route_dialog.cc:459
+#: add_route_dialog.cc:461
msgid "5 Channel"
msgstr "五声é“"
-#: add_route_dialog.cc:463
+#: add_route_dialog.cc:465
msgid "6 Channel"
msgstr "六声é“"
-#: add_route_dialog.cc:467
+#: add_route_dialog.cc:469
msgid "8 Channel"
msgstr "八声é“"
-#: add_route_dialog.cc:471
+#: add_route_dialog.cc:473
msgid "12 Channel"
msgstr "å二声é“"
-#: add_route_dialog.cc:475 mixer_strip.cc:2131
+#: add_route_dialog.cc:477 mixer_strip.cc:1791 mixer_strip.cc:2199
msgid "Custom"
msgstr "自定义"
-#: add_route_dialog.cc:508 add_route_dialog.cc:524 route_group_menu.cc:81
+#: add_route_dialog.cc:510 add_route_dialog.cc:526 route_group_menu.cc:81
msgid "New Group..."
msgstr "新群组"
-#: add_route_dialog.cc:512 route_group_menu.cc:85
+#: add_route_dialog.cc:514 route_group_menu.cc:85
msgid "No Group"
msgstr "没有群组"
-#: add_route_dialog.cc:588
+#: add_route_dialog.cc:590
msgid "-none-"
msgstr ""
@@ -538,7 +544,7 @@ msgstr ""
"\n"
"请选择文件所在路径"
-#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:45
+#: ambiguous_file_dialog.cc:46 missing_file_dialog.cc:46
msgid "Done"
msgstr "完æˆ"
@@ -578,17 +584,17 @@ msgstr "归一化值"
msgid "FFT analysis window"
msgstr "快速傅立å¶å˜æ¢åˆ†æžè§†çª—"
-#: analysis_window.cc:60 editor.cc:1857
+#: analysis_window.cc:60 editor.cc:1776
msgid "Spectral Analysis"
msgstr "频谱分æž"
-#: analysis_window.cc:67 editor_actions.cc:138 export_channel_selector.cc:557
+#: analysis_window.cc:67 editor_actions.cc:142 export_channel_selector.cc:557
#: session_metadata_dialog.cc:546
msgid "Track"
msgstr "音轨"
-#: analysis_window.cc:68 editor_actions.cc:616 mixer_ui.cc:125
-#: mixer_ui.cc:1795
+#: analysis_window.cc:68 editor_actions.cc:658 mixer_ui.cc:130
+#: mixer_ui.cc:1830
msgid "Show"
msgstr "显示"
@@ -596,90 +602,96 @@ msgstr "显示"
msgid "Re-analyze data"
msgstr "é‡æ–°åˆ†æžæ•°æ®"
-#: ardour_button.cc:704
+#: ardour_button.cc:810
msgid "button cannot watch state of non-existing Controllable\n"
msgstr ""
-#: ardour_ui.cc:180
-msgid "audition"
+#: ardour_button.cc:1024
+msgid "ABCDEFGHIJLKMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
msgstr ""
-#: ardour_ui.cc:181
-msgid "solo"
-msgstr ""
+#: ardour_ui.cc:194 editor_actions.cc:652 region_editor.cc:50
+msgid "Audition"
+msgstr "监å¬"
-#: ardour_ui.cc:182
-msgid "feedback"
+#: ardour_ui.cc:195 editor_actions.cc:136 mixer_strip.cc:1971
+#: rc_option_editor.cc:1850 route_time_axis.cc:252 route_time_axis.cc:2566
+msgid "Solo"
msgstr ""
-#: ardour_ui.cc:187 speaker_dialog.cc:36
+#: ardour_ui.cc:196 rc_option_editor.cc:718
+msgid "Feedback"
+msgstr "å馈"
+
+#: ardour_ui.cc:201 speaker_dialog.cc:36
msgid "Speaker Configuration"
msgstr "扬声器é…ç½®"
-#: ardour_ui.cc:188 theme_manager.cc:56 theme_manager.cc:64
+#: ardour_ui.cc:202 theme_manager.cc:62 theme_manager.cc:77
msgid "Theme Manager"
msgstr "主题管ç†"
-#: ardour_ui.cc:189 keyeditor.cc:53
+#: ardour_ui.cc:203 keyeditor.cc:53
msgid "Key Bindings"
msgstr "按键绑定"
-#: ardour_ui.cc:190
+#: ardour_ui.cc:204
msgid "Preferences"
msgstr "首选项"
-#: ardour_ui.cc:191 ardour_ui.cc:197
+#: ardour_ui.cc:205 ardour_ui.cc:211
msgid "Add Tracks/Busses"
msgstr ""
-#: ardour_ui.cc:192
+#: ardour_ui.cc:206
msgid "About"
msgstr "关于"
-#: ardour_ui.cc:193 location_ui.cc:1146
+#: ardour_ui.cc:207 location_ui.cc:1148 session_option_editor.cc:189
+#: session_option_editor.cc:195 session_option_editor.cc:202
msgid "Locations"
msgstr "ä½ç½®"
-#: ardour_ui.cc:194 route_params_ui.cc:58 route_params_ui.cc:606
+#: ardour_ui.cc:208 route_params_ui.cc:58 route_params_ui.cc:629
msgid "Tracks and Busses"
msgstr "音轨和总线"
-#: ardour_ui.cc:195 engine_dialog.cc:67
+#: ardour_ui.cc:209 engine_dialog.cc:69
msgid "Audio/MIDI Setup"
msgstr ""
-#: ardour_ui.cc:196
+#: ardour_ui.cc:210
msgid "Properties"
msgstr "属性"
-#: ardour_ui.cc:198 bundle_manager.cc:263
+#: ardour_ui.cc:212 bundle_manager.cc:264
msgid "Bundle Manager"
msgstr "æ†ç»‘管ç†"
-#: ardour_ui.cc:199 big_clock_window.cc:35
+#: ardour_ui.cc:213 big_clock_window.cc:37
msgid "Big Clock"
msgstr "大时钟"
-#: ardour_ui.cc:200
+#: ardour_ui.cc:214
msgid "Audio Connections"
msgstr ""
-#: ardour_ui.cc:201
+#: ardour_ui.cc:215
msgid "MIDI Connections"
msgstr ""
-#: ardour_ui.cc:203
+#: ardour_ui.cc:217
msgid "Errors"
msgstr "错误"
-#: ardour_ui.cc:436
+#: ardour_ui.cc:461
msgid ""
"The audio backend was shutdown because:\n"
"\n"
"%1"
msgstr ""
-#: ardour_ui.cc:438
+#: ardour_ui.cc:463
msgid ""
"The audio backend has either been shutdown or it\n"
"disconnected %1 because %1\n"
@@ -687,27 +699,27 @@ msgid ""
"the audio backend and save the session."
msgstr ""
-#: ardour_ui.cc:758
+#: ardour_ui.cc:781
msgid "NSM server did not announce itself"
msgstr ""
-#: ardour_ui.cc:771
+#: ardour_ui.cc:794
msgid "NSM: no client ID provided"
msgstr ""
-#: ardour_ui.cc:778
+#: ardour_ui.cc:801
msgid "NSM: no session created"
msgstr ""
-#: ardour_ui.cc:801
+#: ardour_ui.cc:824
msgid "NSM: initialization failed"
msgstr ""
-#: ardour_ui.cc:840 startup.cc:379
+#: ardour_ui.cc:864 startup.cc:380
msgid "%1 is ready for use"
msgstr "%1 准备就绪"
-#: ardour_ui.cc:882
+#: ardour_ui.cc:906
msgid ""
"WARNING: Your system has a limit for maximum amount of locked memory. This "
"might cause %1 to run out of memory before your system runs out of memory. \n"
@@ -716,23 +728,23 @@ msgid ""
"controlled by %2"
msgstr ""
-#: ardour_ui.cc:899
+#: ardour_ui.cc:923
msgid "Do not show this window again"
msgstr "ä¸å†æ˜¾ç¤ºæ­¤çª—å£"
-#: ardour_ui.cc:943
+#: ardour_ui.cc:967
msgid "Don't quit"
msgstr "ä¸é€€å‡º"
-#: ardour_ui.cc:944
+#: ardour_ui.cc:968
msgid "Just quit"
msgstr "ä¸ä¿å­˜è€Œé€€å‡º"
-#: ardour_ui.cc:945
+#: ardour_ui.cc:969
msgid "Save and quit"
msgstr "ä¿å­˜å¹¶é€€å‡º"
-#: ardour_ui.cc:955
+#: ardour_ui.cc:979
msgid ""
"%1 was unable to save your session.\n"
"\n"
@@ -741,15 +753,11 @@ msgid ""
"\"Just quit\" option."
msgstr ""
-#: ardour_ui.cc:986
-msgid "Please wait while %1 cleans up..."
-msgstr ""
-
-#: ardour_ui.cc:1004
+#: ardour_ui.cc:1030
msgid "Unsaved Session"
msgstr "未ä¿å­˜çš„会è¯"
-#: ardour_ui.cc:1025
+#: ardour_ui.cc:1051
msgid ""
"The session \"%1\"\n"
"has not been saved.\n"
@@ -766,7 +774,7 @@ msgstr ""
"\n"
"你想干�"
-#: ardour_ui.cc:1028
+#: ardour_ui.cc:1054
msgid ""
"The snapshot \"%1\"\n"
"has not been saved.\n"
@@ -783,75 +791,75 @@ msgstr ""
"\n"
"你想干�"
-#: ardour_ui.cc:1042
+#: ardour_ui.cc:1068
msgid "Prompter"
msgstr ""
-#: ardour_ui.cc:1128 ardour_ui.cc:1136
+#: ardour_ui.cc:1182 ardour_ui.cc:1190
#, c-format
msgid "Audio: <span foreground=\"red\">none</span>"
msgstr ""
-#: ardour_ui.cc:1140
+#: ardour_ui.cc:1194
#, c-format
msgid "Audio: <span foreground=\"green\">%.1f kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1144
+#: ardour_ui.cc:1198
#, c-format
msgid "Audio: <span foreground=\"green\">%<PRId64> kHz / %4.1f ms</span>"
msgstr ""
-#: ardour_ui.cc:1162 export_video_dialog.cc:67
+#: ardour_ui.cc:1216 export_video_dialog.cc:68
msgid "File:"
msgstr ""
-#: ardour_ui.cc:1166
+#: ardour_ui.cc:1220
msgid "BWF"
msgstr ""
-#: ardour_ui.cc:1169
+#: ardour_ui.cc:1223
msgid "WAV"
msgstr ""
-#: ardour_ui.cc:1172
+#: ardour_ui.cc:1226
msgid "WAV64"
msgstr ""
-#: ardour_ui.cc:1175 session_option_editor.cc:197
+#: ardour_ui.cc:1229 session_option_editor.cc:185
msgid "CAF"
msgstr "CAF"
-#: ardour_ui.cc:1178
+#: ardour_ui.cc:1232
msgid "AIFF"
msgstr ""
-#: ardour_ui.cc:1181
+#: ardour_ui.cc:1235
msgid "iXML"
msgstr ""
-#: ardour_ui.cc:1184
+#: ardour_ui.cc:1238
msgid "RF64"
msgstr ""
-#: ardour_ui.cc:1192
+#: ardour_ui.cc:1246
msgid "32-float"
msgstr ""
-#: ardour_ui.cc:1195
+#: ardour_ui.cc:1249
msgid "24-int"
msgstr ""
-#: ardour_ui.cc:1198
+#: ardour_ui.cc:1252
msgid "16-int"
msgstr ""
-#: ardour_ui.cc:1217
+#: ardour_ui.cc:1271
#, c-format
msgid "DSP: <span foreground=\"%s\">%5.1f%%</span>"
msgstr ""
-#: ardour_ui.cc:1236
+#: ardour_ui.cc:1290
#, c-format
msgid ""
"Buffers: <span foreground=\"green\">p:</span><span foreground=\"%s\">"
@@ -859,137 +867,138 @@ msgid ""
"\">%<PRIu32>%%</span>"
msgstr ""
-#: ardour_ui.cc:1277
+#: ardour_ui.cc:1331
msgid "Disk: <span foreground=\"green\">Unknown</span>"
msgstr ""
-#: ardour_ui.cc:1279
+#: ardour_ui.cc:1333
msgid "Disk: <span foreground=\"green\">24hrs+</span>"
msgstr ""
-#: ardour_ui.cc:1297
+#: ardour_ui.cc:1351
msgid "Disk: <span foreground=\"green\">&gt;24 hrs</span>"
msgstr ""
-#: ardour_ui.cc:1308
+#: ardour_ui.cc:1362
#, c-format
msgid "Disk: <span foreground=\"%s\">%02dh:%02dm:%02ds</span>"
msgstr ""
-#: ardour_ui.cc:1334
+#: ardour_ui.cc:1388
#, c-format
msgid "Timecode|TC: <span foreground=\"%s\">%s</span>"
msgstr ""
-#: ardour_ui.cc:1451 ardour_ui.cc:1460 session_dialog.cc:322
-#: session_dialog.cc:327
+#: ardour_ui.cc:1509 ardour_ui.cc:1518 session_dialog.cc:326
+#: session_dialog.cc:331
msgid "Recent Sessions"
msgstr "最近的会è¯"
-#: ardour_ui.cc:1539
+#: ardour_ui.cc:1597
msgid ""
"%1 is not connected to any audio backend.\n"
"You cannot open or close sessions in this condition"
msgstr ""
-#: ardour_ui.cc:1563
+#: ardour_ui.cc:1621
msgid "Open Session"
msgstr "打开会è¯"
-#: ardour_ui.cc:1588 session_dialog.cc:353 session_import_dialog.cc:169
+#: ardour_ui.cc:1646 session_dialog.cc:357 session_import_dialog.cc:169
#: session_metadata_dialog.cc:729
msgid "%1 sessions"
msgstr "%1 会è¯"
-#: ardour_ui.cc:1625
+#: ardour_ui.cc:1683
msgid "You cannot add a track without a session already loaded."
msgstr "您åªèƒ½åœ¨å·²è½½å…¥çš„会è¯ä¸­æ·»åŠ éŸ³è½¨"
-#: ardour_ui.cc:1633
+#: ardour_ui.cc:1691
msgid "could not create %1 new mixed track"
msgid_plural "could not create %1 new mixed tracks"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1639 ardour_ui.cc:1700
+#: ardour_ui.cc:1697 ardour_ui.cc:1758
msgid ""
-"There are insufficient JACK ports available\n"
+"There are insufficient ports available\n"
"to create a new track or bus.\n"
"You should save %1, exit and\n"
-"restart JACK with more ports."
+"restart with more ports."
msgstr ""
-"JACK端å£(port)ä¸è¶³\n"
-"无法继续新建音轨或总线\n"
-"请ä¿å­˜ %1,é‡æ–°å¯åŠ¨JACK带æ¥æ›´å¤šçš„端å£.\n"
-#: ardour_ui.cc:1674
+#: ardour_ui.cc:1732
msgid "You cannot add a track or bus without a session already loaded."
msgstr "您åªèƒ½åœ¨å·²è½½å…¥çš„会è¯æˆ–总线中添加音轨和总线"
-#: ardour_ui.cc:1683
+#: ardour_ui.cc:1741
msgid "could not create %1 new audio track"
msgid_plural "could not create %1 new audio tracks"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1692
+#: ardour_ui.cc:1750
msgid "could not create %1 new audio bus"
msgid_plural "could not create %1 new audio busses"
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:1816
+#: ardour_ui.cc:1903
msgid ""
"Please create one or more tracks before trying to record.\n"
"You can do this with the \"Add Track or Bus\" option in the Session menu."
msgstr ""
-#: ardour_ui.cc:2193
+#: ardour_ui.cc:2312
+msgid "Save as..."
+msgstr ""
+
+#: ardour_ui.cc:2313 ardour_ui.cc:2392
+msgid "New session name"
+msgstr "新建快照的å称"
+
+#: ardour_ui.cc:2315
msgid "Take Snapshot"
msgstr "å¿«ç…§"
-#: ardour_ui.cc:2194
+#: ardour_ui.cc:2316
msgid "Name of new snapshot"
msgstr "新建快照的å称"
-#: ardour_ui.cc:2218
+#: ardour_ui.cc:2341
msgid ""
"To ensure compatibility with various systems\n"
"snapshot names may not contain a '%1' character"
msgstr ""
-#: ardour_ui.cc:2230
+#: ardour_ui.cc:2353
msgid "Confirm Snapshot Overwrite"
msgstr "确定覆盖快照"
-#: ardour_ui.cc:2231
+#: ardour_ui.cc:2354
msgid "A snapshot already exists with that name. Do you want to overwrite it?"
msgstr "已存在åŒåå¿«ç…§. 覆盖之?"
-#: ardour_ui.cc:2234 utils_videotl.cc:67
+#: ardour_ui.cc:2357 utils_videotl.cc:67
msgid "Overwrite"
msgstr "覆盖"
-#: ardour_ui.cc:2268
+#: ardour_ui.cc:2391
msgid "Rename Session"
msgstr "é‡å‘½å会è¯"
-#: ardour_ui.cc:2269
-msgid "New session name"
-msgstr "新建快照的å称"
-
-#: ardour_ui.cc:2283 ardour_ui.cc:2684 ardour_ui.cc:2722
+#: ardour_ui.cc:2406 ardour_ui.cc:2814 ardour_ui.cc:2852
msgid ""
"To ensure compatibility with various systems\n"
"session names may not contain a '%1' character"
msgstr ""
-#: ardour_ui.cc:2291
+#: ardour_ui.cc:2414
msgid ""
"That name is already in use by another directory/folder. Please try again."
msgstr "æ­¤å称已被å¦ä¸€ä¸ªæ–‡ä»¶å¤¹ä½¿ç”¨. 请å†å°è¯•ä¸€é."
-#: ardour_ui.cc:2300
+#: ardour_ui.cc:2423
msgid ""
"Renaming this session failed.\n"
"Things could be seriously messed up at this point"
@@ -997,19 +1006,19 @@ msgstr ""
"é‡å‘½å会è¯å¤±è´¥.\n"
"从现在开始事情将会å˜å¾—乱七八糟"
-#: ardour_ui.cc:2411
+#: ardour_ui.cc:2534
msgid "Save Template"
msgstr "ä¿å­˜æ¨¡æ¿..."
-#: ardour_ui.cc:2412
+#: ardour_ui.cc:2535
msgid "Name for template:"
msgstr "模æ¿å:"
-#: ardour_ui.cc:2413
+#: ardour_ui.cc:2536
msgid "-template"
msgstr "-模æ¿"
-#: ardour_ui.cc:2451
+#: ardour_ui.cc:2574
msgid ""
"This session\n"
"%1\n"
@@ -1019,59 +1028,59 @@ msgstr ""
"%1\n"
"已存在. 打开它?"
-#: ardour_ui.cc:2461
+#: ardour_ui.cc:2584
msgid "Open Existing Session"
msgstr "打开已存在的会è¯"
-#: ardour_ui.cc:2712
+#: ardour_ui.cc:2842
msgid "There is no existing session at \"%1\""
msgstr " \"%1\" 没有会è¯æ–‡ä»¶"
-#: ardour_ui.cc:2804
+#: ardour_ui.cc:2934
msgid "Please wait while %1 loads your session"
msgstr "请等待 %1 载入会è¯"
-#: ardour_ui.cc:2819
+#: ardour_ui.cc:2949
msgid "Port Registration Error"
msgstr "端å£(port)注册错误"
-#: ardour_ui.cc:2820
+#: ardour_ui.cc:2950
msgid "Click the Close button to try again."
msgstr "å•å‡»å…³é—­æŒ‰é’®ï¼Œå†å°è¯•ä¸€é"
-#: ardour_ui.cc:2841
+#: ardour_ui.cc:2971
msgid "Session \"%1 (snapshot %2)\" did not load successfully"
msgstr "ä¼šè¯ \"%1 (å¿«ç…§ %2)\" 装载失败."
-#: ardour_ui.cc:2848
+#: ardour_ui.cc:2978
msgid "Loading Error"
msgstr "装载错误"
-#: ardour_ui.cc:2867
+#: ardour_ui.cc:2997
msgid ""
"This session has been opened in read-only mode.\n"
"\n"
"You will not be able to record or save."
msgstr ""
-#: ardour_ui.cc:2873
+#: ardour_ui.cc:3003
msgid "Read-only Session"
msgstr ""
-#: ardour_ui.cc:2931
+#: ardour_ui.cc:3069
msgid "Could not create session in \"%1\""
msgstr "在 \"%1\" 无法创建会è¯"
-#: ardour_ui.cc:3031
+#: ardour_ui.cc:3169
msgid "No files were ready for clean-up"
msgstr "没有å¯ä»¥æ¸…空的文件"
-#: ardour_ui.cc:3035 ardour_ui.cc:3045 ardour_ui.cc:3178 ardour_ui.cc:3185
-#: ardour_ui_ed.cc:104
+#: ardour_ui.cc:3173 ardour_ui.cc:3183 ardour_ui.cc:3316 ardour_ui.cc:3323
+#: ardour_ui_ed.cc:103
msgid "Clean-up"
msgstr "清空"
-#: ardour_ui.cc:3036
+#: ardour_ui.cc:3174
msgid ""
"If this seems suprising, \n"
"check for any existing snapshots.\n"
@@ -1079,19 +1088,19 @@ msgid ""
"require some unused files to continue to exist."
msgstr ""
-#: ardour_ui.cc:3095
+#: ardour_ui.cc:3233
msgid "kilo"
msgstr ""
-#: ardour_ui.cc:3098
+#: ardour_ui.cc:3236
msgid "mega"
msgstr ""
-#: ardour_ui.cc:3101
+#: ardour_ui.cc:3239
msgid "giga"
msgstr ""
-#: ardour_ui.cc:3106
+#: ardour_ui.cc:3244
msgid ""
"The following file was deleted from %2,\n"
"releasing %3 %4bytes of disk space"
@@ -1101,7 +1110,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:3113
+#: ardour_ui.cc:3251
msgid ""
"The following file was not in use and \n"
"has been moved to: %2\n"
@@ -1123,11 +1132,11 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ardour_ui.cc:3173
+#: ardour_ui.cc:3311
msgid "Are you sure you want to clean-up?"
msgstr "您确认è¦åˆ é™¤è¿™äº›æ–‡ä»¶å—"
-#: ardour_ui.cc:3180
+#: ardour_ui.cc:3318
msgid ""
"Clean-up is a destructive operation.\n"
"ALL undo/redo information will be lost if you clean-up.\n"
@@ -1137,80 +1146,79 @@ msgstr ""
"如果你清空了, 所有的撤销/é‡å¤ä¿¡æ¯å°†ä¼šä¸¢å¤±.\n"
"清空将会把所有未使用过的文件弄到 \"死亡\" ä½ç½®"
-#: ardour_ui.cc:3188
+#: ardour_ui.cc:3326
msgid "CleanupDialog"
msgstr "清空对è¯æ¡†"
-#: ardour_ui.cc:3218
+#: ardour_ui.cc:3356
msgid "Cleaned Files"
msgstr "清除文件"
-#: ardour_ui.cc:3235
+#: ardour_ui.cc:3373
msgid "deleted file"
msgstr "删除文件"
-#: ardour_ui.cc:3381
-msgid ""
-"Video-Server was not launched by Ardour. The request to stop it is ignored."
+#: ardour_ui.cc:3512
+msgid "Video-Server was not launched by %1. The request to stop it is ignored."
msgstr ""
-#: ardour_ui.cc:3385
+#: ardour_ui.cc:3516
msgid "Stop Video-Server"
msgstr ""
-#: ardour_ui.cc:3386
+#: ardour_ui.cc:3517
msgid "Do you really want to stop the Video Server?"
msgstr ""
-#: ardour_ui.cc:3389
+#: ardour_ui.cc:3520
msgid "Yes, Stop It"
msgstr ""
-#: ardour_ui.cc:3415
+#: ardour_ui.cc:3546
msgid "The Video Server is already started."
msgstr ""
-#: ardour_ui.cc:3417
+#: ardour_ui.cc:3548
msgid ""
"An external Video Server is configured and can be reached. Not starting a "
"new instance."
msgstr ""
-#: ardour_ui.cc:3425 ardour_ui.cc:3515
+#: ardour_ui.cc:3556 ardour_ui.cc:3655
msgid ""
"Could not connect to the Video Server. Start it or configure its access URL "
"in Edit -> Preferences."
msgstr ""
-#: ardour_ui.cc:3449
+#: ardour_ui.cc:3580
msgid "Specified docroot is not an existing directory."
msgstr ""
-#: ardour_ui.cc:3454
+#: ardour_ui.cc:3586 ardour_ui.cc:3592
msgid "Given Video Server is not an executable file."
msgstr ""
-#: ardour_ui.cc:3487
+#: ardour_ui.cc:3626
msgid "Cannot launch the video-server"
msgstr ""
-#: ardour_ui.cc:3496
+#: ardour_ui.cc:3636
msgid "Video-server was started but does not respond to requests..."
msgstr ""
-#: ardour_ui.cc:3541 editor_audio_import.cc:632
+#: ardour_ui.cc:3681 editor_audio_import.cc:628
msgid "could not open %1"
msgstr "无法打开%1"
-#: ardour_ui.cc:3545
+#: ardour_ui.cc:3685
msgid "no video-file selected"
msgstr ""
-#: ardour_ui.cc:3717
+#: ardour_ui.cc:3858
msgid "Recording was stopped because your system could not keep up."
msgstr "您的系统无法继续, 录音åœæ­¢."
-#: ardour_ui.cc:3746
+#: ardour_ui.cc:3887
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1223,7 +1231,23 @@ msgstr ""
"\n"
"确切地说, ç£ç›˜çš„读写速度无法跟上录音速度\n"
-#: ardour_ui.cc:3765
+#: ardour_ui.cc:3957
+msgid "Scanning for plugins"
+msgstr ""
+
+#: ardour_ui.cc:3959
+msgid "Cancel plugin scan"
+msgstr ""
+
+#: ardour_ui.cc:3968
+msgid "Stop Timeout"
+msgstr ""
+
+#: ardour_ui.cc:3975
+msgid "Scan Timeout"
+msgstr ""
+
+#: ardour_ui.cc:4016
msgid ""
"The disk system on your computer\n"
"was not able to keep up with %1.\n"
@@ -1236,11 +1260,11 @@ msgstr ""
"\n"
"确切地说, ç£ç›˜çš„读写速度无法跟上播放速度\n"
-#: ardour_ui.cc:3805
+#: ardour_ui.cc:4056
msgid "Crash Recovery"
msgstr "崩溃æ¢å¤"
-#: ardour_ui.cc:3806
+#: ardour_ui.cc:4057
msgid ""
"This session appears to have been in the\n"
"middle of recording when %1 or\n"
@@ -1251,42 +1275,42 @@ msgid ""
"what you would like to do.\n"
msgstr ""
-#: ardour_ui.cc:3818
+#: ardour_ui.cc:4069
msgid "Ignore crash data"
msgstr "忽略崩æ¯çš„æ•°æ®"
-#: ardour_ui.cc:3819
+#: ardour_ui.cc:4070
msgid "Recover from crash"
msgstr "æ¢å¤åˆ°å´©æºƒå‰"
-#: ardour_ui.cc:3839
+#: ardour_ui.cc:4090
msgid "Sample Rate Mismatch"
msgstr "采样率ä¸åŒ¹é…"
-#: ardour_ui.cc:3840
+#: ardour_ui.cc:4091
msgid ""
"This session was created with a sample rate of %1 Hz, but\n"
"%2 is currently running at %3 Hz. If you load this session,\n"
"audio may be played at the wrong sample rate.\n"
msgstr ""
-#: ardour_ui.cc:3849
+#: ardour_ui.cc:4100
msgid "Do not load session"
msgstr "ä¸è¦è£…载会è¯"
-#: ardour_ui.cc:3850
+#: ardour_ui.cc:4101
msgid "Load session anyway"
msgstr "转载会è¯"
-#: ardour_ui.cc:3877
+#: ardour_ui.cc:4128
msgid "Could not disconnect from Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:3893 ardour_ui.cc:3896
+#: ardour_ui.cc:4144 ardour_ui.cc:4147
msgid "Could not reconnect to the Audio/MIDI engine"
msgstr ""
-#: ardour_ui.cc:4172
+#: ardour_ui.cc:4431
msgid ""
"%4This is a session from an older version of %3%5\n"
"\n"
@@ -1301,75 +1325,75 @@ msgid ""
"From now on, use the -2000 version with older versions of %3"
msgstr ""
-#: ardour_ui2.cc:72
+#: ardour_ui2.cc:73
msgid "UI: cannot setup editor"
msgstr "用户界é¢: 无法设置编辑器."
-#: ardour_ui2.cc:77
+#: ardour_ui2.cc:78
msgid "UI: cannot setup mixer"
msgstr "用户界é¢: 无法设置混音器."
-#: ardour_ui2.cc:82
+#: ardour_ui2.cc:83
msgid "UI: cannot setup meterbridge"
msgstr ""
-#: ardour_ui2.cc:130
+#: ardour_ui2.cc:131
msgid "Play from playhead"
msgstr "从播放头播放"
-#: ardour_ui2.cc:131
+#: ardour_ui2.cc:132
msgid "Stop playback"
msgstr "åœæ­¢å›žæ”¾"
-#: ardour_ui2.cc:132
+#: ardour_ui2.cc:133
msgid "Toggle record"
msgstr "出å‘录音"
-#: ardour_ui2.cc:133
+#: ardour_ui2.cc:134
msgid "Play range/selection"
msgstr "播放范围/选区"
-#: ardour_ui2.cc:134
+#: ardour_ui2.cc:135
msgid "Go to start of session"
msgstr "转至会è¯èµ·ç‚¹"
-#: ardour_ui2.cc:135
+#: ardour_ui2.cc:136
msgid "Go to end of session"
msgstr "转至会è¯ç»ˆç‚¹"
-#: ardour_ui2.cc:136
+#: ardour_ui2.cc:137
msgid "Play loop range"
msgstr "播放循环范围"
-#: ardour_ui2.cc:137
+#: ardour_ui2.cc:138
msgid ""
"MIDI Panic\n"
"Send note off and reset controller messages on all MIDI channels"
msgstr ""
-#: ardour_ui2.cc:138
+#: ardour_ui2.cc:139
msgid "Return to last playback start when stopped"
msgstr "当åœæ­¢æ—¶è¿”回至最åŽä¸€æ¬¡å›žæ”¾èµ·ç‚¹"
-#: ardour_ui2.cc:139
+#: ardour_ui2.cc:140
msgid "Playhead follows Range Selections and Edits"
msgstr ""
-#: ardour_ui2.cc:140
+#: ardour_ui2.cc:141
msgid "Be sensible about input monitoring"
msgstr ""
-#: ardour_ui2.cc:141
+#: ardour_ui2.cc:142
msgid "Enable/Disable audio click"
msgstr ""
-#: ardour_ui2.cc:142 monitor_section.cc:101
+#: ardour_ui2.cc:143 monitor_section.cc:112
msgid ""
"When active, something is soloed.\n"
"Click to de-solo everything"
msgstr ""
-#: ardour_ui2.cc:143
+#: ardour_ui2.cc:144
msgid ""
"When active, auditioning is taking place\n"
"Click to stop the audition"
@@ -1377,11 +1401,11 @@ msgstr ""
"当å¯ç”¨æ—¶ç›‘å¬å¼€å§‹.\n"
"点击åœæ­¢ç›‘å¬."
-#: ardour_ui2.cc:144
+#: ardour_ui2.cc:145
msgid "When active, there is a feedback loop."
msgstr ""
-#: ardour_ui2.cc:145
+#: ardour_ui2.cc:146
msgid ""
"<b>Primary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1389,7 +1413,7 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:146
+#: ardour_ui2.cc:147
msgid ""
"<b>Secondary Clock</b> right-click to set display mode. Click to edit, click"
"+drag a digit or mouse-over+scroll wheel to modify.\n"
@@ -1397,361 +1421,418 @@ msgid ""
"confirm; postfix the edit with '+' or '-' to enter delta times.\n"
msgstr ""
-#: ardour_ui2.cc:147
-msgid "Reset Level Meter"
+#: ardour_ui2.cc:148
+msgid "Reset All Peak Indicators"
msgstr ""
-#: ardour_ui2.cc:179
+#: ardour_ui2.cc:180
msgid "[ERROR]: "
msgstr "[错误]:"
-#: ardour_ui2.cc:181
+#: ardour_ui2.cc:182
msgid "[WARNING]: "
msgstr "[警告]:"
-#: ardour_ui2.cc:183
+#: ardour_ui2.cc:184
msgid "[INFO]: "
msgstr "[ä¿¡æ¯]: "
-#: ardour_ui2.cc:247 ardour_ui_ed.cc:344
+#: ardour_ui2.cc:248 ardour_ui_ed.cc:391
msgid "Auto Return"
msgstr "自动返回"
-#: ardour_ui2.cc:249 ardour_ui_ed.cc:347
+#: ardour_ui2.cc:250 ardour_ui_ed.cc:394
msgid "Follow Edits"
msgstr ""
-#: ardour_ui2.cc:628 rc_option_editor.cc:1002 rc_option_editor.cc:1020
-#: rc_option_editor.cc:1023 rc_option_editor.cc:1025 rc_option_editor.cc:1027
-#: rc_option_editor.cc:1035 rc_option_editor.cc:1043 rc_option_editor.cc:1045
-#: rc_option_editor.cc:1053 rc_option_editor.cc:1060 rc_option_editor.cc:1069
-#: rc_option_editor.cc:1071 rc_option_editor.cc:1073 rc_option_editor.cc:1081
-#: rc_option_editor.cc:1083 rc_option_editor.cc:1092
-#: session_option_editor.cc:234 session_option_editor.cc:236
-#: session_option_editor.cc:257 session_option_editor.cc:259
-#: session_option_editor.cc:261 session_option_editor.cc:268
+#: ardour_ui2.cc:651 rc_option_editor.cc:2172
+msgid "GUI"
+msgstr ""
+
+#: ardour_ui2.cc:668 rc_option_editor.cc:1242 rc_option_editor.cc:1260
+#: rc_option_editor.cc:1263 rc_option_editor.cc:1265 rc_option_editor.cc:1267
+#: rc_option_editor.cc:1275 rc_option_editor.cc:1283 rc_option_editor.cc:1285
+#: rc_option_editor.cc:1293 rc_option_editor.cc:1300 rc_option_editor.cc:1309
+#: rc_option_editor.cc:1311 rc_option_editor.cc:1313 rc_option_editor.cc:1321
+#: rc_option_editor.cc:1323 rc_option_editor.cc:1332
+#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:344 session_option_editor.cc:346
+#: session_option_editor.cc:348 session_option_editor.cc:355
+#: session_option_editor.cc:362 session_option_editor.cc:366
msgid "Misc"
msgstr "æ‚项"
-#: ardour_ui_dependents.cc:69
+#: ardour_ui_dependents.cc:75
msgid "Setup Editor"
msgstr "设置编辑器"
-#: ardour_ui_dependents.cc:71
+#: ardour_ui_dependents.cc:77
msgid "Setup Mixer"
msgstr "设置混音器"
-#: ardour_ui_dependents.cc:77
+#: ardour_ui_dependents.cc:83
msgid "Reload Session History"
msgstr "é‡æ–°è£…摘会è¯åŽ†å²"
-#: ardour_ui_dialogs.cc:238
+#: ardour_ui_dialogs.cc:251
msgid "Don't close"
msgstr "别关闭"
-#: ardour_ui_dialogs.cc:239
+#: ardour_ui_dialogs.cc:252
msgid "Just close"
msgstr "ä¸ä¿å­˜è€Œå…³é—­"
-#: ardour_ui_dialogs.cc:240
+#: ardour_ui_dialogs.cc:253
msgid "Save and close"
msgstr "ä¿å­˜å¹¶å…³é—­"
-#: ardour_ui_dialogs.cc:339
+#: ardour_ui_dialogs.cc:353
msgid "This screen is not tall enough to display the mixer window"
msgstr ""
-#: ardour_ui_ed.cc:103
+#: ardour_ui_ed.cc:102
msgid "Session"
msgstr "会è¯"
-#: ardour_ui_ed.cc:106 editor_actions.cc:134 editor_regions.cc:115
+#: ardour_ui_ed.cc:105 editor_actions.cc:138 editor_regions.cc:116
#: port_group.cc:458 session_option_editor.cc:82 session_option_editor.cc:89
msgid "Sync"
msgstr "åŒæ­¥"
-#: ardour_ui_ed.cc:107
+#: ardour_ui_ed.cc:106
msgid "Options"
msgstr "选项"
-#: ardour_ui_ed.cc:108
+#: ardour_ui_ed.cc:107
msgid "Window"
msgstr "窗å£"
-#: ardour_ui_ed.cc:109
+#: ardour_ui_ed.cc:108
msgid "Help"
msgstr "帮助"
-#: ardour_ui_ed.cc:110
+#: ardour_ui_ed.cc:109
msgid "Misc. Shortcuts"
msgstr "æ‚项. å¿«æ·é”®"
-#: ardour_ui_ed.cc:111
+#: ardour_ui_ed.cc:110
msgid "Audio File Format"
msgstr "音频文件格å¼"
-#: ardour_ui_ed.cc:112
+#: ardour_ui_ed.cc:111
msgid "File Type"
msgstr "文件类型"
-#: ardour_ui_ed.cc:113 export_format_dialog.cc:65
+#: ardour_ui_ed.cc:112 export_format_dialog.cc:67
msgid "Sample Format"
msgstr "采样格å¼"
-#: ardour_ui_ed.cc:114 rc_option_editor.cc:1814 rc_option_editor.cc:1826
+#: ardour_ui_ed.cc:113 rc_option_editor.cc:2119 rc_option_editor.cc:2131
msgid "Control Surfaces"
msgstr "控制表é¢"
-#: ardour_ui_ed.cc:115 rc_option_editor.cc:1546
+#: ardour_ui_ed.cc:114 rc_option_editor.cc:1812 rc_option_editor.cc:2138
msgid "Plugins"
msgstr "æ’件"
-#: ardour_ui_ed.cc:116 rc_option_editor.cc:1889
+#: ardour_ui_ed.cc:115 rc_option_editor.cc:2223
msgid "Metering"
msgstr ""
-#: ardour_ui_ed.cc:117
+#: ardour_ui_ed.cc:116
msgid "Fall Off Rate"
msgstr ""
-#: ardour_ui_ed.cc:118
+#: ardour_ui_ed.cc:117
msgid "Hold Time"
msgstr ""
-#: ardour_ui_ed.cc:119
+#: ardour_ui_ed.cc:118
msgid "Denormal Handling"
msgstr ""
-#: ardour_ui_ed.cc:123 route_time_axis.cc:1489
+#: ardour_ui_ed.cc:122 route_time_axis.cc:1636
msgid "New..."
msgstr "新建..."
-#: ardour_ui_ed.cc:125
+#: ardour_ui_ed.cc:124
msgid "Open..."
msgstr "打开..."
-#: ardour_ui_ed.cc:126
+#: ardour_ui_ed.cc:125
msgid "Recent..."
msgstr "最近..."
-#: ardour_ui_ed.cc:127 panner_editor.cc:29 playlist_selector.cc:64
+#: ardour_ui_ed.cc:126 panner_editor.cc:29 playlist_selector.cc:64
msgid "Close"
msgstr "关闭"
-#: ardour_ui_ed.cc:130
+#: ardour_ui_ed.cc:129
msgid "Add Track or Bus..."
msgstr "添加音轨或总线..."
-#: ardour_ui_ed.cc:135
+#: ardour_ui_ed.cc:134
msgid "Open Video"
msgstr ""
-#: ardour_ui_ed.cc:138
+#: ardour_ui_ed.cc:137
msgid "Remove Video"
msgstr ""
-#: ardour_ui_ed.cc:141
+#: ardour_ui_ed.cc:140
msgid "Export To Video File"
msgstr ""
-#: ardour_ui_ed.cc:145
+#: ardour_ui_ed.cc:144
msgid "Snapshot..."
msgstr "å¿«ç…§..."
-#: ardour_ui_ed.cc:149
+#: ardour_ui_ed.cc:148
msgid "Save As..."
msgstr "å¦å­˜ä¸º..."
-#: ardour_ui_ed.cc:153 editor_actions.cc:1719 editor_markers.cc:858
-#: editor_snapshots.cc:123 mixer_strip.cc:1471 route_time_axis.cc:1485
+#: ardour_ui_ed.cc:152 editor_actions.cc:1767 editor_markers.cc:872
+#: editor_snapshots.cc:124 mixer_strip.cc:1481 route_time_axis.cc:1632
msgid "Rename..."
msgstr "é‡å‘½å..."
-#: ardour_ui_ed.cc:157
+#: ardour_ui_ed.cc:156
msgid "Save Template..."
msgstr "ä¿å­˜æ¨¡æ¿..."
-#: ardour_ui_ed.cc:160
+#: ardour_ui_ed.cc:159
msgid "Metadata"
msgstr "元数æ®"
-#: ardour_ui_ed.cc:163
+#: ardour_ui_ed.cc:162
msgid "Edit Metadata..."
msgstr "编辑元数æ®..."
-#: ardour_ui_ed.cc:166
+#: ardour_ui_ed.cc:165
msgid "Import Metadata..."
msgstr "导入元数æ®..."
-#: ardour_ui_ed.cc:169
+#: ardour_ui_ed.cc:168
msgid "Export To Audio File(s)..."
msgstr "导出为音频文件..."
-#: ardour_ui_ed.cc:172
+#: ardour_ui_ed.cc:171
msgid "Stem export..."
msgstr ""
-#: ardour_ui_ed.cc:175 editor_export_audio.cc:63 export_dialog.cc:129
-#: export_video_dialog.cc:71
+#: ardour_ui_ed.cc:174 editor_export_audio.cc:65 export_dialog.cc:129
+#: export_video_dialog.cc:72
msgid "Export"
msgstr "导出"
-#: ardour_ui_ed.cc:178
+#: ardour_ui_ed.cc:177
msgid "Clean-up Unused Sources..."
msgstr "清空未使用的æº..."
-#: ardour_ui_ed.cc:182
+#: ardour_ui_ed.cc:181
msgid "Flush Wastebasket"
msgstr "清空回收站"
-#: ardour_ui_ed.cc:189
+#: ardour_ui_ed.cc:188
msgid "Quit"
msgstr "退出"
-#: ardour_ui_ed.cc:193
+#: ardour_ui_ed.cc:192
msgid "Maximise Editor Space"
msgstr "最大化编辑空间"
+#: ardour_ui_ed.cc:193
+msgid "Maximise Mixer Space"
+msgstr ""
+
#: ardour_ui_ed.cc:194
msgid "Show Toolbars"
msgstr ""
-#: ardour_ui_ed.cc:197 mixer_ui.cc:1865 mixer_ui.cc:1871
+#: ardour_ui_ed.cc:197
+msgid "Show more UI preferences"
+msgstr ""
+
+#: ardour_ui_ed.cc:199 mixer_ui.cc:1900 mixer_ui.cc:1906
msgid "Window|Mixer"
msgstr ""
-#: ardour_ui_ed.cc:198
+#: ardour_ui_ed.cc:200
msgid "Toggle Editor+Mixer"
msgstr ""
-#: ardour_ui_ed.cc:199 meterbridge.cc:230 meterbridge.cc:236
+#: ardour_ui_ed.cc:201 meterbridge.cc:214 meterbridge.cc:220
msgid "Window|Meterbridge"
msgstr ""
-#: ardour_ui_ed.cc:201 midi_tracer.cc:42
+#: ardour_ui_ed.cc:203 midi_tracer.cc:45
msgid "MIDI Tracer"
msgstr "MIDI示踪"
-#: ardour_ui_ed.cc:203
+#: ardour_ui_ed.cc:205
msgid "Chat"
msgstr "èŠå¤©"
-#: ardour_ui_ed.cc:205
+#: ardour_ui_ed.cc:207
msgid "Help|Manual"
msgstr ""
-#: ardour_ui_ed.cc:206
+#: ardour_ui_ed.cc:208
msgid "Reference"
msgstr "å‚考"
-#: ardour_ui_ed.cc:208 plugin_ui.cc:415
+#: ardour_ui_ed.cc:210 plugin_ui.cc:416
msgid "Save"
msgstr "ä¿å­˜"
-#: ardour_ui_ed.cc:216 rc_option_editor.cc:1112 rc_option_editor.cc:1123
-#: rc_option_editor.cc:1132 rc_option_editor.cc:1145 rc_option_editor.cc:1158
-#: rc_option_editor.cc:1167 rc_option_editor.cc:1177 rc_option_editor.cc:1179
-#: rc_option_editor.cc:1189 rc_option_editor.cc:1205 rc_option_editor.cc:1218
-#: rc_option_editor.cc:1236 rc_option_editor.cc:1238 rc_option_editor.cc:1252
-#: rc_option_editor.cc:1255 rc_option_editor.cc:1257 rc_option_editor.cc:1274
-#: rc_option_editor.cc:1285
+#: ardour_ui_ed.cc:218 rc_option_editor.cc:1352 rc_option_editor.cc:1363
+#: rc_option_editor.cc:1374 rc_option_editor.cc:1383 rc_option_editor.cc:1396
+#: rc_option_editor.cc:1409 rc_option_editor.cc:1418 rc_option_editor.cc:1428
+#: rc_option_editor.cc:1430 rc_option_editor.cc:1440 rc_option_editor.cc:1456
+#: rc_option_editor.cc:1469 rc_option_editor.cc:1487 rc_option_editor.cc:1489
+#: rc_option_editor.cc:1503 rc_option_editor.cc:1506 rc_option_editor.cc:1508
+#: rc_option_editor.cc:1525 rc_option_editor.cc:1536
msgid "Transport"
msgstr ""
-#: ardour_ui_ed.cc:222
+#: ardour_ui_ed.cc:224
msgid "Stop"
msgstr "æš‚åœ"
-#: ardour_ui_ed.cc:225
+#: ardour_ui_ed.cc:227
msgid "Roll"
msgstr ""
-#: ardour_ui_ed.cc:229
+#: ardour_ui_ed.cc:231 ardour_ui_ed.cc:234
msgid "Start/Stop"
msgstr "开始/æš‚åœ"
-#: ardour_ui_ed.cc:232
+#: ardour_ui_ed.cc:237
msgid "Start/Continue/Stop"
msgstr "开始/继续/æš‚åœ"
-#: ardour_ui_ed.cc:235
+#: ardour_ui_ed.cc:240
msgid "Stop and Forget Capture"
msgstr "æš‚åœå¹¶åºŸå¼ƒå½•éŸ³"
-#: ardour_ui_ed.cc:245
+#: ardour_ui_ed.cc:250
msgid "Transition To Roll"
msgstr ""
-#: ardour_ui_ed.cc:249
+#: ardour_ui_ed.cc:254
msgid "Transition To Reverse"
msgstr ""
-#: ardour_ui_ed.cc:253
+#: ardour_ui_ed.cc:258
msgid "Play Loop Range"
msgstr "循环播放范围"
-#: ardour_ui_ed.cc:256
+#: ardour_ui_ed.cc:261
msgid "Play Selected Range"
msgstr "播放已选择的范围"
-#: ardour_ui_ed.cc:259
+#: ardour_ui_ed.cc:264
msgid "Play Selection w/Preroll"
msgstr ""
-#: ardour_ui_ed.cc:263
+#: ardour_ui_ed.cc:268
msgid "Enable Record"
msgstr "å¯ç”¨å½•éŸ³"
-#: ardour_ui_ed.cc:266
+#: ardour_ui_ed.cc:271 ardour_ui_ed.cc:275
msgid "Start Recording"
msgstr "开始录音"
-#: ardour_ui_ed.cc:270
+#: ardour_ui_ed.cc:279
msgid "Rewind"
msgstr "倒带"
-#: ardour_ui_ed.cc:273
+#: ardour_ui_ed.cc:282
msgid "Rewind (Slow)"
msgstr "倒带(慢速)"
-#: ardour_ui_ed.cc:276
+#: ardour_ui_ed.cc:285
msgid "Rewind (Fast)"
msgstr "倒带(快速)"
-#: ardour_ui_ed.cc:279
+#: ardour_ui_ed.cc:288
msgid "Forward"
msgstr "å¿«è¿›"
-#: ardour_ui_ed.cc:282
+#: ardour_ui_ed.cc:291
msgid "Forward (Slow)"
msgstr "快进(慢速)"
-#: ardour_ui_ed.cc:285
+#: ardour_ui_ed.cc:294
msgid "Forward (Fast)"
msgstr "倒带(快速)"
-#: ardour_ui_ed.cc:288
+#: ardour_ui_ed.cc:297
msgid "Goto Zero"
msgstr "转到零点"
-#: ardour_ui_ed.cc:291
+#: ardour_ui_ed.cc:300 ardour_ui_ed.cc:303
msgid "Goto Start"
msgstr "转到起始ä½ç½®"
-#: ardour_ui_ed.cc:294
+#: ardour_ui_ed.cc:306
msgid "Goto End"
msgstr "转到末尾ä½ç½®"
-#: ardour_ui_ed.cc:297
+#: ardour_ui_ed.cc:309
msgid "Goto Wall Clock"
msgstr "转到确切的本地时间"
-#: ardour_ui_ed.cc:301
+#: ardour_ui_ed.cc:314
+msgid "Numpad Decimal"
+msgstr ""
+
+#: ardour_ui_ed.cc:317
+msgid "Numpad 0"
+msgstr ""
+
+#: ardour_ui_ed.cc:320
+msgid "Numpad 1"
+msgstr ""
+
+#: ardour_ui_ed.cc:323
+msgid "Numpad 2"
+msgstr ""
+
+#: ardour_ui_ed.cc:326
+msgid "Numpad 3"
+msgstr ""
+
+#: ardour_ui_ed.cc:329
+msgid "Numpad 4"
+msgstr ""
+
+#: ardour_ui_ed.cc:332
+msgid "Numpad 5"
+msgstr ""
+
+#: ardour_ui_ed.cc:335
+msgid "Numpad 6"
+msgstr ""
+
+#: ardour_ui_ed.cc:338
+msgid "Numpad 7"
+msgstr ""
+
+#: ardour_ui_ed.cc:341
+msgid "Numpad 8"
+msgstr ""
+
+#: ardour_ui_ed.cc:344
+msgid "Numpad 9"
+msgstr ""
+
+#: ardour_ui_ed.cc:348
msgid "Focus On Clock"
msgstr "é”定时间指针"
-#: ardour_ui_ed.cc:305 ardour_ui_ed.cc:314 audio_clock.cc:2046 editor.cc:237
-#: editor_actions.cc:544 editor_actions.cc:553 export_timespan_selector.cc:88
+#: ardour_ui_ed.cc:352 ardour_ui_ed.cc:361 audio_clock.cc:2072 editor.cc:254
+#: editor_actions.cc:579 editor_actions.cc:588 export_timespan_selector.cc:88
#: session_option_editor.cc:41 session_option_editor.cc:61
#: session_option_editor.cc:80 session_option_editor.cc:96
#: session_option_editor.cc:109 session_option_editor.cc:122
@@ -1759,125 +1840,125 @@ msgstr "é”定时间指针"
msgid "Timecode"
msgstr "时间ç "
-#: ardour_ui_ed.cc:307 ardour_ui_ed.cc:316 editor_actions.cc:542
+#: ardour_ui_ed.cc:354 ardour_ui_ed.cc:363 editor_actions.cc:577
msgid "Bars & Beats"
msgstr "å°èŠ‚ & æ‹å­"
-#: ardour_ui_ed.cc:309 ardour_ui_ed.cc:318
+#: ardour_ui_ed.cc:356 ardour_ui_ed.cc:365
msgid "Minutes & Seconds"
msgstr "分&秒"
-#: ardour_ui_ed.cc:311 ardour_ui_ed.cc:320 audio_clock.cc:2050 editor.cc:238
-#: editor_actions.cc:543
+#: ardour_ui_ed.cc:358 ardour_ui_ed.cc:367 audio_clock.cc:2076 editor.cc:255
+#: editor_actions.cc:578
msgid "Samples"
msgstr "采样"
-#: ardour_ui_ed.cc:323
+#: ardour_ui_ed.cc:370
msgid "Punch In"
msgstr "切入"
-#: ardour_ui_ed.cc:324 mixer_strip.cc:1905 route_ui.cc:137
-#: time_info_box.cc:113
+#: ardour_ui_ed.cc:371 mixer_strip.cc:1774 mixer_strip.cc:1798
+#: mixer_strip.cc:1962 route_ui.cc:158 time_info_box.cc:116
msgid "In"
msgstr ""
-#: ardour_ui_ed.cc:327
+#: ardour_ui_ed.cc:374
msgid "Punch Out"
msgstr "切出"
-#: ardour_ui_ed.cc:328 time_info_box.cc:114
+#: ardour_ui_ed.cc:375 mixer_strip.cc:1786 time_info_box.cc:117
msgid "Out"
msgstr "ýstup"
-#: ardour_ui_ed.cc:331
+#: ardour_ui_ed.cc:378
msgid "Punch In/Out"
msgstr "切入/切出"
-#: ardour_ui_ed.cc:332
+#: ardour_ui_ed.cc:379
msgid "In/Out"
msgstr "入/出"
-#: ardour_ui_ed.cc:335 rc_option_editor.cc:1069
+#: ardour_ui_ed.cc:382 rc_option_editor.cc:1309
msgid "Click"
msgstr "点击"
-#: ardour_ui_ed.cc:338
+#: ardour_ui_ed.cc:385
msgid "Auto Input"
msgstr "自动输入"
-#: ardour_ui_ed.cc:341
+#: ardour_ui_ed.cc:388
msgid "Auto Play"
msgstr "自动播放"
-#: ardour_ui_ed.cc:352
+#: ardour_ui_ed.cc:399
msgid "Sync Startup to Video"
msgstr "åŒæ­¥å¯åŠ¨åˆ°è§†é¢‘"
-#: ardour_ui_ed.cc:354
+#: ardour_ui_ed.cc:401
msgid "Time Master"
msgstr "时间主控"
-#: ardour_ui_ed.cc:361
+#: ardour_ui_ed.cc:408
msgid "Toggle Record Enable Track %1"
msgstr ""
-#: ardour_ui_ed.cc:368
+#: ardour_ui_ed.cc:415
msgid "Percentage"
msgstr "百分比"
-#: ardour_ui_ed.cc:369 shuttle_control.cc:169
+#: ardour_ui_ed.cc:416 shuttle_control.cc:169
msgid "Semitones"
msgstr "åŠéŸ³"
-#: ardour_ui_ed.cc:373
+#: ardour_ui_ed.cc:420
msgid "Send MTC"
msgstr "å‘é€MTC"
-#: ardour_ui_ed.cc:375
+#: ardour_ui_ed.cc:422
msgid "Send MMC"
msgstr "å‘é€MMC"
-#: ardour_ui_ed.cc:377
+#: ardour_ui_ed.cc:424
msgid "Use MMC"
msgstr "使用MMC"
-#: ardour_ui_ed.cc:379 rc_option_editor.cc:1698
+#: ardour_ui_ed.cc:426 rc_option_editor.cc:1978
msgid "Send MIDI Clock"
msgstr "å‘é€MIDI时钟"
-#: ardour_ui_ed.cc:381
+#: ardour_ui_ed.cc:428
msgid "Send MIDI Feedback"
msgstr "å‘é€MIDIå馈"
-#: ardour_ui_ed.cc:387
+#: ardour_ui_ed.cc:434
msgid "Panic"
msgstr ""
-#: ardour_ui_ed.cc:472
+#: ardour_ui_ed.cc:519
msgid "Wall Clock"
msgstr "本地时间"
-#: ardour_ui_ed.cc:473
+#: ardour_ui_ed.cc:520
msgid "Disk Space"
msgstr "盘空间"
-#: ardour_ui_ed.cc:474
+#: ardour_ui_ed.cc:521
msgid "DSP"
msgstr "æ•°å­—ä¿¡å·å¤„ç†"
-#: ardour_ui_ed.cc:475
+#: ardour_ui_ed.cc:522
msgid "Buffers"
msgstr "缓冲"
-#: ardour_ui_ed.cc:477
+#: ardour_ui_ed.cc:524
msgid "Timecode Format"
msgstr ""
-#: ardour_ui_ed.cc:478
+#: ardour_ui_ed.cc:525
msgid "File Format"
msgstr "文件格å¼"
-#: ardour_ui_options.cc:61
+#: ardour_ui_options.cc:63
msgid ""
"It is not possible to use JACK as the the sync source\n"
"when the pull up/down setting is non-zero."
@@ -1887,331 +1968,249 @@ msgstr ""
msgid "Internal"
msgstr "内部的"
-#: ardour_ui_options.cc:468
+#: ardour_ui_options.cc:496
msgid "Enable/Disable external positional sync"
msgstr "å¯ç”¨/ç¦ç”¨å¤–部ä½ç½®åŒæ­¥"
-#: ardour_ui_options.cc:470
+#: ardour_ui_options.cc:498
msgid "Sync to JACK is not possible: video pull up/down is set"
msgstr ""
-#: audio_clock.cc:1012 audio_clock.cc:1031
+#: audio_clock.cc:1028 audio_clock.cc:1047
msgid "--pending--"
msgstr ""
-#: audio_clock.cc:1083
+#: audio_clock.cc:1099
msgid "SR"
msgstr ""
-#: audio_clock.cc:1089 audio_clock.cc:1093
+#: audio_clock.cc:1105 audio_clock.cc:1109
msgid "Pull"
msgstr ""
-#: audio_clock.cc:1091
+#: audio_clock.cc:1107
#, c-format
msgid "%+.4f%%"
msgstr ""
-#: audio_clock.cc:1237 editor.cc:239 editor_actions.cc:135
-#: editor_actions.cc:536
+#: audio_clock.cc:1263 editor.cc:256 editor_actions.cc:139
+#: editor_actions.cc:571
msgid "Tempo"
msgstr "节å¥"
-#: audio_clock.cc:1241 editor.cc:240 editor_actions.cc:537
+#: audio_clock.cc:1267 editor.cc:257 editor_actions.cc:572
msgid "Meter"
msgstr "标尺"
-#: audio_clock.cc:1819 audio_streamview.cc:116 editor_actions.cc:1039
-#: midi_region_view.cc:2991 session_metadata_dialog.cc:331
+#: audio_clock.cc:1845 audio_streamview.cc:115 editor_actions.cc:1085
+#: midi_region_view.cc:2989 session_metadata_dialog.cc:331
#: session_metadata_dialog.cc:379 session_metadata_dialog.cc:435
-#: session_metadata_dialog.cc:716
+#: session_metadata_dialog.cc:716 streamview.cc:433
msgid "programming error: %1"
msgstr "程åºé”™è¯¯: %1"
-#: audio_clock.cc:1952 audio_clock.cc:1980
+#: audio_clock.cc:1978 audio_clock.cc:2006
msgid "programming error: %1 %2"
msgstr ""
-#: audio_clock.cc:2048 editor.cc:236 export_timespan_selector.cc:98
+#: audio_clock.cc:2074 editor.cc:253 export_timespan_selector.cc:98
msgid "Bars:Beats"
msgstr "å°èŠ‚:æ‹å­"
-#: audio_clock.cc:2049 export_timespan_selector.cc:93
+#: audio_clock.cc:2075 export_timespan_selector.cc:93
msgid "Minutes:Seconds"
msgstr "分:秒"
-#: audio_clock.cc:2054
+#: audio_clock.cc:2080
msgid "Set From Playhead"
msgstr "从播放头设置"
-#: audio_clock.cc:2055
+#: audio_clock.cc:2081
msgid "Locate to This Time"
msgstr "放置此时间"
-#: audio_region_editor.cc:63 control_point_dialog.cc:49 rhythm_ferret.cc:125
-#: rhythm_ferret.cc:130 rhythm_ferret.cc:135
+#: audio_region_editor.cc:64 control_point_dialog.cc:49 rhythm_ferret.cc:124
+#: rhythm_ferret.cc:129 rhythm_ferret.cc:134
msgid "dB"
msgstr ""
-#: audio_region_editor.cc:66
+#: audio_region_editor.cc:67
msgid "Region gain:"
msgstr "区域增益:"
-#: audio_region_editor.cc:76 export_format_dialog.cc:43
+#: audio_region_editor.cc:77 export_format_dialog.cc:43
msgid "dBFS"
msgstr ""
-#: audio_region_editor.cc:79
+#: audio_region_editor.cc:80
msgid "Peak amplitude:"
msgstr "峰值幅度:"
-#: audio_region_editor.cc:90
+#: audio_region_editor.cc:91
msgid "Calculating..."
msgstr "计算中..."
-#: audio_region_view.cc:1001
+#: audio_region_view.cc:1243
msgid "add gain control point"
msgstr "添加增益控制点"
-#: audio_time_axis.cc:389
+#: audio_time_axis.cc:430 midi_time_axis.cc:619
msgid "Fader"
msgstr ""
-#: audio_time_axis.cc:396
+#: audio_time_axis.cc:437 editor_actions.cc:1800 mixer_strip.cc:1961
+#: monitor_section.cc:273 route_time_axis.cc:253
+msgid "Mute"
+msgstr "é™éŸ³"
+
+#: audio_time_axis.cc:445 midi_time_axis.cc:627
msgid "Pan"
msgstr ""
-#: automation_line.cc:252 automation_line.cc:435
+#: automation_line.cc:272 automation_line.cc:453
msgid "automation event move"
msgstr "自动化事件移动"
-#: automation_line.cc:462 automation_line.cc:483
+#: automation_line.cc:479 automation_line.cc:499
msgid "automation range move"
msgstr "自动化范围移动"
-#: automation_line.cc:823 region_gain_line.cc:73
+#: automation_line.cc:854 region_gain_line.cc:72
msgid "remove control point"
msgstr "移除控制点"
-#: automation_line.cc:941
+#: automation_line.cc:971
msgid "Ignoring illegal points on AutomationLine \"%1\""
msgstr "忽略éžæ³•ä½ç½®åœ¨AutomationLine: \"%1\""
-#: automation_region_view.cc:160 automation_time_axis.cc:583
+#: automation_region_view.cc:162 automation_time_axis.cc:627
msgid "add automation event"
msgstr "添加自动化事件"
-#: automation_time_axis.cc:146
+#: automation_time_axis.cc:141
msgid "automation state"
msgstr "自动化状æ€"
-#: automation_time_axis.cc:147
+#: automation_time_axis.cc:142
msgid "hide track"
msgstr "éšè—音轨"
-#: automation_time_axis.cc:255 automation_time_axis.cc:307
-#: automation_time_axis.cc:496 gain_meter.cc:194 generic_pluginui.cc:454
-#: generic_pluginui.cc:775 panner_ui.cc:149
+#: automation_time_axis.cc:297 automation_time_axis.cc:349
+#: automation_time_axis.cc:540 gain_meter.cc:186 generic_pluginui.cc:452
+#: generic_pluginui.cc:770 panner_ui.cc:150
msgid "Automation|Manual"
msgstr ""
-#: automation_time_axis.cc:257 automation_time_axis.cc:318
-#: automation_time_axis.cc:501 editor.cc:1937 editor.cc:2014
-#: editor_actions.cc:118 editor_actions.cc:1865 gain_meter.cc:197
-#: generic_pluginui.cc:457 generic_pluginui.cc:777 midi_time_axis.cc:1488
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1494 panner_ui.cc:152
+#: automation_time_axis.cc:299 automation_time_axis.cc:360
+#: automation_time_axis.cc:545 editor.cc:1856 editor.cc:1933
+#: editor_actions.cc:122 editor_actions.cc:1916 gain_meter.cc:189
+#: generic_pluginui.cc:455 generic_pluginui.cc:772 midi_time_axis.cc:1687
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1693 panner_ui.cc:153
msgid "Play"
msgstr "播放"
-#: automation_time_axis.cc:259 automation_time_axis.cc:329
-#: automation_time_axis.cc:506 gain_meter.cc:200 generic_pluginui.cc:460
-#: generic_pluginui.cc:779 panner_ui.cc:155
+#: automation_time_axis.cc:301 automation_time_axis.cc:371
+#: automation_time_axis.cc:550 gain_meter.cc:192 generic_pluginui.cc:458
+#: generic_pluginui.cc:774 panner_ui.cc:156
msgid "Write"
msgstr ""
-#: automation_time_axis.cc:261 automation_time_axis.cc:340
-#: automation_time_axis.cc:511 gain_meter.cc:203 generic_pluginui.cc:463
-#: generic_pluginui.cc:781 panner_ui.cc:158
+#: automation_time_axis.cc:303 automation_time_axis.cc:382
+#: automation_time_axis.cc:555 gain_meter.cc:195 generic_pluginui.cc:461
+#: generic_pluginui.cc:776 panner_ui.cc:159
msgid "Touch"
msgstr ""
-#: automation_time_axis.cc:351 generic_pluginui.cc:466 meter_patterns.cc:108
+#: automation_time_axis.cc:393 generic_pluginui.cc:464 meter_patterns.cc:112
msgid "???"
msgstr "???"
-#: automation_time_axis.cc:392
+#: automation_time_axis.cc:434
msgid "clear automation"
msgstr "清除自动化"
-#: automation_time_axis.cc:485 editor_actions.cc:613 editor_markers.cc:857
-#: location_ui.cc:55 plugin_selector.cc:85 route_time_axis.cc:708
+#: automation_time_axis.cc:529 editor_actions.cc:655 editor_markers.cc:871
+#: location_ui.cc:56 plugin_selector.cc:86 route_time_axis.cc:827
msgid "Hide"
msgstr "éšè—"
-#: automation_time_axis.cc:487
+#: automation_time_axis.cc:531
msgid "Clear"
msgstr "清除"
-#: automation_time_axis.cc:516
+#: automation_time_axis.cc:560
msgid "State"
msgstr "状æ€"
-#: automation_time_axis.cc:531
+#: automation_time_axis.cc:575
msgid "Discrete"
msgstr "离散"
-#: automation_time_axis.cc:537 editor.cc:1458 editor.cc:1465 editor.cc:1521
-#: editor.cc:1527 export_format_dialog.cc:476
+#: automation_time_axis.cc:581 export_format_dialog.cc:485
msgid "Linear"
msgstr "先行"
-#: automation_time_axis.cc:543 rhythm_ferret.cc:110 route_time_axis.cc:647
+#: automation_time_axis.cc:587 rhythm_ferret.cc:109 route_time_axis.cc:765
#: shuttle_control.cc:188
msgid "Mode"
msgstr "模å¼"
-#: bundle_manager.cc:181
+#: bundle_manager.cc:182
msgid "Disassociate"
msgstr "使分离"
-#: bundle_manager.cc:185
+#: bundle_manager.cc:186
msgid "Edit Bundle"
msgstr "编辑æ†ç»‘"
-#: bundle_manager.cc:200
+#: bundle_manager.cc:201
msgid "Direction:"
msgstr "æ–¹å‘:"
-#: bundle_manager.cc:205 bundle_manager.cc:209 mixer_strip.cc:158
-#: mixer_strip.cc:2127
+#: bundle_manager.cc:206 bundle_manager.cc:210 engine_dialog.cc:641
+#: mixer_strip.cc:164 mixer_strip.cc:371 mixer_strip.cc:2195
+#: rc_option_editor.cc:2198
msgid "Input"
msgstr "输入"
-#: bundle_manager.cc:206 bundle_manager.cc:211 bundle_manager.cc:245
-#: mixer_strip.cc:163 mixer_strip.cc:2130
+#: bundle_manager.cc:207 bundle_manager.cc:212 bundle_manager.cc:246
+#: engine_dialog.cc:643 mixer_strip.cc:168 mixer_strip.cc:375
+#: mixer_strip.cc:2198 rc_option_editor.cc:2202
msgid "Output"
msgstr "输出"
-#: bundle_manager.cc:264 editor.cc:1978 editor_actions.cc:90
-#: editor_actions.cc:100
+#: bundle_manager.cc:265 editor.cc:1897 editor_actions.cc:94
+#: editor_actions.cc:104 rc_option_editor.cc:1067 rc_option_editor.cc:1074
msgid "Edit"
msgstr "编辑"
-#: bundle_manager.cc:265 editor.cc:5497 editor_actions.cc:310
-#: editor_actions.cc:368 plugin_ui.cc:416 processor_box.cc:2268
-#: route_time_axis.cc:713
+#: bundle_manager.cc:266 editor.cc:5593 editor_actions.cc:335
+#: editor_actions.cc:336 editor_actions.cc:402 plugin_ui.cc:417
+#: processor_box.cc:2502 route_time_axis.cc:832
msgid "Delete"
msgstr "删除"
-#: bundle_manager.cc:271 bundle_manager.cc:439 editor_route_groups.cc:96
-#: editor_routes.cc:202 midi_list_editor.cc:106 session_metadata_dialog.cc:525
+#: bundle_manager.cc:272 bundle_manager.cc:440 editor_route_groups.cc:97
+#: editor_routes.cc:204 midi_list_editor.cc:106 session_metadata_dialog.cc:525
msgid "Name"
msgstr "å称"
-#: bundle_manager.cc:282
+#: bundle_manager.cc:283
msgid "New"
msgstr "新建"
-#: bundle_manager.cc:332
+#: bundle_manager.cc:333
msgid "Bundle"
msgstr "æ†ç»‘"
-#: bundle_manager.cc:417
+#: bundle_manager.cc:418
msgid "Add Channel"
msgstr "添加声é“"
-#: bundle_manager.cc:424
+#: bundle_manager.cc:425
msgid "Rename Channel"
msgstr "é‡å‘½å声é“"
-#: canvas-simpleline.c:111 canvas-simplerect.c:106
-msgid "x1"
-msgstr "x1"
-
-#: canvas-simpleline.c:112 canvas-simplerect.c:107
-msgid "x coordinate of upper left corner of rect"
-msgstr "x与矩形的左上角相关"
-
-#: canvas-simpleline.c:121 canvas-simplerect.c:116
-msgid "y1"
-msgstr "y1"
-
-#: canvas-simpleline.c:122 canvas-simplerect.c:117
-msgid "y coordinate of upper left corner of rect "
-msgstr "y与矩形的å³ä¸‹è§’相关"
-
-#: canvas-simpleline.c:132 canvas-simplerect.c:127
-msgid "x2"
-msgstr "x1"
-
-#: canvas-simpleline.c:133 canvas-simplerect.c:128
-msgid "x coordinate of lower right corner of rect"
-msgstr "x与矩形的å³ä¸‹è§’相关"
-
-#: canvas-simpleline.c:142 canvas-simplerect.c:137
-msgid "y2"
-msgstr ""
-
-#: canvas-simpleline.c:143 canvas-simplerect.c:138
-msgid "y coordinate of lower right corner of rect "
-msgstr "y与矩形的å³ä¸‹è§’相关"
-
-#: canvas-simpleline.c:151
-msgid "color rgba"
-msgstr "RGBA颜色"
-
-#: canvas-simpleline.c:152
-msgid "color of line"
-msgstr "线æ¡é¢œè‰²"
-
-#: canvas-simplerect.c:148
-msgid "outline pixels"
-msgstr "轮廓åƒç´ "
-
-#: canvas-simplerect.c:149
-msgid "width in pixels of outline"
-msgstr "轮廓的åƒç´ å®½åº¦"
-
-#: canvas-simplerect.c:159
-msgid "outline what"
-msgstr ""
-
-#: canvas-simplerect.c:160
-msgid "which boundaries to outline (mask)"
-msgstr ""
-
-#: canvas-simplerect.c:171
-msgid "fill"
-msgstr "å¡«å……"
-
-#: canvas-simplerect.c:172
-msgid "fill rectangle"
-msgstr "填充矩形"
-
-#: canvas-simplerect.c:179
-msgid "draw"
-msgstr "绘制"
-
-#: canvas-simplerect.c:180
-msgid "draw rectangle"
-msgstr "绘制矩形"
-
-#: canvas-simplerect.c:188
-msgid "outline color rgba"
-msgstr "RGBA轮廓颜色"
-
-#: canvas-simplerect.c:189
-msgid "color of outline"
-msgstr "è½æ‹¬çš„颜色"
-
-#: canvas-simplerect.c:199
-msgid "fill color rgba"
-msgstr "填充RGBA颜色"
-
-#: canvas-simplerect.c:200
-msgid "color of fill"
-msgstr "填充的颜色"
-
#: configinfo.cc:28
msgid "Build Configuration"
msgstr "创建é…ç½®"
@@ -2249,7 +2248,7 @@ msgid "Set selected notes to this length"
msgstr ""
#: edit_note_dialog.cc:58 midi_list_editor.cc:104 patch_change_dialog.cc:91
-#: step_entry.cc:393
+#: step_entry.cc:394
msgid "Channel"
msgstr "音轨"
@@ -2257,7 +2256,7 @@ msgstr "音轨"
msgid "Pitch"
msgstr "è°ƒå­"
-#: edit_note_dialog.cc:78 step_entry.cc:407
+#: edit_note_dialog.cc:78 step_entry.cc:408
msgid "Velocity"
msgstr "力度"
@@ -2265,9 +2264,9 @@ msgstr "力度"
msgid "Time"
msgstr "时间"
-#: edit_note_dialog.cc:98 editor_regions.cc:114
-#: export_timespan_selector.cc:359 export_timespan_selector.cc:421
-#: location_ui.cc:317 midi_list_editor.cc:114 time_info_box.cc:105
+#: edit_note_dialog.cc:98 editor_regions.cc:115
+#: export_timespan_selector.cc:378 export_timespan_selector.cc:440
+#: location_ui.cc:319 midi_list_editor.cc:114 time_info_box.cc:108
msgid "Length"
msgstr "长度"
@@ -2275,1952 +2274,2055 @@ msgstr "长度"
msgid "edit note"
msgstr "编辑音符"
-#: editor.cc:137 editor.cc:3433
+#: editor.cc:144
msgid "CD Frames"
msgstr "CD框架"
-#: editor.cc:138 editor.cc:3435
-msgid "Timecode Frames"
-msgstr "时间ç æ¡†æž¶"
+#: editor.cc:145
+msgid "TC Frames"
+msgstr ""
-#: editor.cc:139 editor.cc:3437
-msgid "Timecode Seconds"
-msgstr "时间ç ç§’"
+#: editor.cc:146
+msgid "TC Seconds"
+msgstr ""
-#: editor.cc:140 editor.cc:3439
-msgid "Timecode Minutes"
-msgstr "时间ç åˆ†"
+#: editor.cc:147
+msgid "TC Minutes"
+msgstr ""
-#: editor.cc:141 editor.cc:3441
+#: editor.cc:148
msgid "Seconds"
msgstr "秒"
-#: editor.cc:142 editor.cc:3443
+#: editor.cc:149
msgid "Minutes"
msgstr "分"
-#: editor.cc:143 editor.cc:3417 quantize_dialog.cc:37 quantize_dialog.cc:141
+#: editor.cc:150 quantize_dialog.cc:37 quantize_dialog.cc:141
msgid "Beats/128"
msgstr "节æ‹/128"
-#: editor.cc:144 editor.cc:3415 quantize_dialog.cc:38 quantize_dialog.cc:143
+#: editor.cc:151 quantize_dialog.cc:38 quantize_dialog.cc:143
msgid "Beats/64"
msgstr "节æ‹/64"
-#: editor.cc:145 editor.cc:3413 quantize_dialog.cc:39 quantize_dialog.cc:145
+#: editor.cc:152 quantize_dialog.cc:39 quantize_dialog.cc:145
msgid "Beats/32"
msgstr "节æ‹/32"
-#: editor.cc:146 editor.cc:3411
+#: editor.cc:153
msgid "Beats/28"
msgstr "节æ‹/28"
-#: editor.cc:147 editor.cc:3409
+#: editor.cc:154
msgid "Beats/24"
msgstr "节æ‹/24"
-#: editor.cc:148 editor.cc:3407
+#: editor.cc:155
msgid "Beats/20"
msgstr "节æ‹/20"
-#: editor.cc:149 editor.cc:3405 quantize_dialog.cc:40 quantize_dialog.cc:147
+#: editor.cc:156 quantize_dialog.cc:40 quantize_dialog.cc:147
msgid "Beats/16"
msgstr "节æ‹/16"
-#: editor.cc:150 editor.cc:3403
+#: editor.cc:157
msgid "Beats/14"
msgstr "节æ‹/14"
-#: editor.cc:151 editor.cc:3401
+#: editor.cc:158
msgid "Beats/12"
msgstr "节æ‹/12"
-#: editor.cc:152 editor.cc:3399
+#: editor.cc:159
msgid "Beats/10"
msgstr "节æ‹/10"
-#: editor.cc:153 editor.cc:3397 quantize_dialog.cc:41 quantize_dialog.cc:149
+#: editor.cc:160 quantize_dialog.cc:41 quantize_dialog.cc:149
msgid "Beats/8"
msgstr "节æ‹/8"
-#: editor.cc:154 editor.cc:3395
+#: editor.cc:161
msgid "Beats/7"
msgstr "节æ‹/7"
-#: editor.cc:155 editor.cc:3393
+#: editor.cc:162
msgid "Beats/6"
msgstr "节æ‹/6"
-#: editor.cc:156 editor.cc:3391
+#: editor.cc:163
msgid "Beats/5"
msgstr "节æ‹/5"
-#: editor.cc:157 editor.cc:3389 quantize_dialog.cc:42 quantize_dialog.cc:151
+#: editor.cc:164 quantize_dialog.cc:42 quantize_dialog.cc:151
msgid "Beats/4"
msgstr "节æ‹/4"
-#: editor.cc:158 editor.cc:3387 quantize_dialog.cc:43 quantize_dialog.cc:153
+#: editor.cc:165 quantize_dialog.cc:43 quantize_dialog.cc:153
msgid "Beats/3"
msgstr "节æ‹/3"
-#: editor.cc:159 editor.cc:3385 quantize_dialog.cc:44 quantize_dialog.cc:155
+#: editor.cc:166 quantize_dialog.cc:44 quantize_dialog.cc:155
msgid "Beats/2"
msgstr "节æ‹/2"
-#: editor.cc:160 editor.cc:3419 quantize_dialog.cc:45 quantize_dialog.cc:157
+#: editor.cc:167 quantize_dialog.cc:45 quantize_dialog.cc:157
msgid "Beats"
msgstr "节æ‹"
-#: editor.cc:161 editor.cc:3421
+#: editor.cc:168
msgid "Bars"
msgstr "å°èŠ‚"
-#: editor.cc:162 editor.cc:3423
+#: editor.cc:169
msgid "Marks"
msgstr "标记"
-#: editor.cc:163 editor.cc:3425
+#: editor.cc:170
msgid "Region starts"
msgstr "区域开始"
-#: editor.cc:164 editor.cc:3427
+#: editor.cc:171
msgid "Region ends"
msgstr "区域结æŸ"
-#: editor.cc:165 editor.cc:3431
+#: editor.cc:172
msgid "Region syncs"
msgstr "区域åŒæ­¥"
-#: editor.cc:166 editor.cc:3429
+#: editor.cc:173
msgid "Region bounds"
msgstr "区域界é™"
-#: editor.cc:171 editor.cc:3459 editor_actions.cc:485
+#: editor.cc:178 editor_actions.cc:520
msgid "No Grid"
msgstr "无网格"
-#: editor.cc:172 editor.cc:3461 editor_actions.cc:486
+#: editor.cc:179 editor_actions.cc:521
msgid "Grid"
msgstr "网格"
-#: editor.cc:173 editor.cc:3463 editor_actions.cc:487
+#: editor.cc:180 editor_actions.cc:522
msgid "Magnetic"
msgstr "ç£æ€§"
-#: editor.cc:178 editor.cc:188 editor.cc:3502 editor.cc:3527
-#: editor_actions.cc:117 editor_actions.cc:468
+#: editor.cc:185 editor.cc:203 editor_actions.cc:121 editor_actions.cc:503
msgid "Playhead"
msgstr "播放头"
-#: editor.cc:179 editor.cc:3500 editor_actions.cc:470
+#: editor.cc:186 editor_actions.cc:505
msgid "Marker"
msgstr "标记"
-#: editor.cc:180 editor.cc:189 editor.cc:3529 editor_actions.cc:469
+#: editor.cc:187 editor.cc:204 editor_actions.cc:504
msgid "Mouse"
msgstr "é¼ "
-#: editor.cc:185 editor.cc:3521 mono_panner_editor.cc:42
+#: editor.cc:192 editor_actions.cc:512
+msgid "Slide"
+msgstr ""
+
+#: editor.cc:193
+msgid "Splice"
+msgstr ""
+
+#: editor.cc:194 editor_actions.cc:511
+msgid "Ripple"
+msgstr ""
+
+#: editor.cc:195 editor_actions.cc:157 editor_actions.cc:513
+#: editor_actions.cc:1785 editor_markers.cc:874 editor_rulers.cc:260
+#: location_ui.cc:57 mixer_strip.cc:202 mixer_strip.cc:1983
+msgid "Lock"
+msgstr ""
+
+#: editor.cc:200 mono_panner_editor.cc:42
msgid "Left"
msgstr "å·¦"
-#: editor.cc:186 editor.cc:3523 mono_panner_editor.cc:47
+#: editor.cc:201 mono_panner_editor.cc:47
msgid "Right"
msgstr "å³"
-#: editor.cc:187 editor.cc:3525
+#: editor.cc:202
msgid "Center"
msgstr "中"
-#: editor.cc:190 editor.cc:3094 editor.cc:3531
+#: editor.cc:205 editor.cc:3145
msgid "Edit point"
msgstr "编辑点"
-#: editor.cc:196
+#: editor.cc:211
msgid "Mushy"
msgstr ""
-#: editor.cc:197
+#: editor.cc:212
msgid "Smooth"
msgstr ""
-#: editor.cc:198
+#: editor.cc:213
msgid "Balanced multitimbral mixture"
msgstr ""
-#: editor.cc:199
+#: editor.cc:214
msgid "Unpitched percussion with stable notes"
msgstr ""
-#: editor.cc:200
+#: editor.cc:215
msgid "Crisp monophonic instrumental"
msgstr ""
-#: editor.cc:201
+#: editor.cc:216
msgid "Unpitched solo percussion"
msgstr ""
-#: editor.cc:202
+#: editor.cc:217
msgid "Resample without preserving pitch"
msgstr ""
-#: editor.cc:235
+#: editor.cc:252
msgid "Mins:Secs"
msgstr "分:秒"
-#: editor.cc:241
+#: editor.cc:258
msgid "Location Markers"
msgstr "ä½ç½®æ ‡è®°"
-#: editor.cc:242
+#: editor.cc:259
msgid "Range Markers"
msgstr "范围标记"
-#: editor.cc:243
+#: editor.cc:260
msgid "Loop/Punch Ranges"
msgstr "循环/Punch 范围"
-#: editor.cc:244 editor_actions.cc:540
+#: editor.cc:261 editor_actions.cc:575
msgid "CD Markers"
msgstr "CD标记"
-#: editor.cc:245
+#: editor.cc:262
msgid "Video Timeline"
msgstr ""
-#: editor.cc:260
+#: editor.cc:279
msgid "mode"
msgstr ""
-#: editor.cc:541
+#: editor.cc:447 editor_actions.cc:114 editor_actions.cc:574
+msgid "Markers"
+msgstr "标记"
+
+#: editor.cc:554 rc_option_editor.cc:1830
msgid "Regions"
msgstr ""
-#: editor.cc:542
+#: editor.cc:555
msgid "Tracks & Busses"
msgstr "音轨&总线"
-#: editor.cc:543
+#: editor.cc:556
msgid "Snapshots"
msgstr ""
-#: editor.cc:544
+#: editor.cc:557
msgid "Track & Bus Groups"
msgstr ""
-#: editor.cc:545
+#: editor.cc:558
msgid "Ranges & Marks"
msgstr ""
-#: editor.cc:690 editor.cc:5349 rc_option_editor.cc:1292
-#: rc_option_editor.cc:1300 rc_option_editor.cc:1308 rc_option_editor.cc:1316
-#: rc_option_editor.cc:1333 rc_option_editor.cc:1335 rc_option_editor.cc:1343
-#: rc_option_editor.cc:1351 rc_option_editor.cc:1371 rc_option_editor.cc:1383
-#: rc_option_editor.cc:1385 rc_option_editor.cc:1393 rc_option_editor.cc:1401
-#: rc_option_editor.cc:1409 rc_option_editor.cc:1417 rc_option_editor.cc:1432
-#: rc_option_editor.cc:1436
+#: editor.cc:706 editor.cc:5445 rc_option_editor.cc:1543
+#: rc_option_editor.cc:1551 rc_option_editor.cc:1559 rc_option_editor.cc:1567
+#: rc_option_editor.cc:1591 rc_option_editor.cc:1603 rc_option_editor.cc:1605
+#: rc_option_editor.cc:1613 rc_option_editor.cc:1621 rc_option_editor.cc:1641
+#: rc_option_editor.cc:1653 rc_option_editor.cc:1655 rc_option_editor.cc:1657
+#: rc_option_editor.cc:1665 rc_option_editor.cc:1673 rc_option_editor.cc:1681
+#: rc_option_editor.cc:1696 rc_option_editor.cc:1700
msgid "Editor"
msgstr "编辑器"
-#: editor.cc:1215 editor.cc:1225 editor.cc:4444 editor_actions.cc:130
-#: editor_actions.cc:1813
+#: editor.cc:1288 editor.cc:4503 editor_actions.cc:134 editor_actions.cc:1861
msgid "Loop"
msgstr "循环"
-#: editor.cc:1231 editor.cc:1241 editor.cc:4471 editor_actions.cc:131
-#: time_info_box.cc:67
+#: editor.cc:1294 editor.cc:4530 editor_actions.cc:135 time_info_box.cc:68
msgid "Punch"
msgstr ""
-#: editor.cc:1353
+#: editor.cc:1406 rc_option_editor.cc:1585
msgid "Linear (for highly correlated material)"
msgstr ""
-#: editor.cc:1363 editor.cc:1500 editor.cc:1562
+#: editor.cc:1416 rc_option_editor.cc:1586
msgid "Constant power"
msgstr ""
-#: editor.cc:1372 editor.cc:1493 editor.cc:1555
+#: editor.cc:1425 rc_option_editor.cc:1587
msgid "Symmetric"
msgstr ""
-#: editor.cc:1382 editor.cc:1475 editor.cc:1537
+#: editor.cc:1435 rc_option_editor.cc:1588
msgid "Slow"
msgstr "æ…¢"
-#: editor.cc:1391 editor.cc:1484 editor.cc:1546 sfdb_ui.cc:1627
-#: sfdb_ui.cc:1736
+#: editor.cc:1444 rc_option_editor.cc:1589 sfdb_ui.cc:1752 sfdb_ui.cc:1862
msgid "Fast"
msgstr "å¿«"
-#: editor.cc:1438
-msgid "programming error: fade in canvas item has no regionview data pointer!"
-msgstr ""
-
-#: editor.cc:1449 editor.cc:1513
+#: editor.cc:1464 editor.cc:1487
msgid "Deactivate"
msgstr "å–消激活"
-#: editor.cc:1451 editor.cc:1515
+#: editor.cc:1466 editor.cc:1489
msgid "Activate"
msgstr "激活"
-#: editor.cc:1459 editor.cc:1522
-msgid "Slowest"
-msgstr "最慢"
-
-#: editor.cc:1573 route_time_axis.cc:1877 selection.cc:1009 selection.cc:1064
-msgid "programming error: "
-msgstr "程åºé”™è¯¯:"
-
-#: editor.cc:1674 editor.cc:1682 editor_ops.cc:3522
+#: editor.cc:1590 editor.cc:1598 editor_ops.cc:3635
msgid "Freeze"
msgstr "冻结"
-#: editor.cc:1678
+#: editor.cc:1594
msgid "Unfreeze"
msgstr "å–消冻结"
-#: editor.cc:1817
+#: editor.cc:1733
msgid "Selected Regions"
msgstr "已选择的区域"
-#: editor.cc:1853 editor_markers.cc:895
+#: editor.cc:1769 editor_markers.cc:909
msgid "Play Range"
msgstr "播放范围"
-#: editor.cc:1854 editor_markers.cc:898
+#: editor.cc:1770 editor_markers.cc:912
msgid "Loop Range"
msgstr "循环范围"
-#: editor.cc:1863 editor_actions.cc:332
+#: editor.cc:1773 editor_actions.cc:266 editor_markers.cc:919
+msgid "Zoom to Range"
+msgstr ""
+
+#: editor.cc:1782 editor_actions.cc:366
msgid "Move Range Start to Previous Region Boundary"
msgstr ""
-#: editor.cc:1870 editor_actions.cc:339
+#: editor.cc:1789 editor_actions.cc:373
msgid "Move Range Start to Next Region Boundary"
msgstr ""
-#: editor.cc:1877 editor_actions.cc:346
+#: editor.cc:1796 editor_actions.cc:380
msgid "Move Range End to Previous Region Boundary"
msgstr ""
-#: editor.cc:1884 editor_actions.cc:353
+#: editor.cc:1803 editor_actions.cc:387
msgid "Move Range End to Next Region Boundary"
msgstr ""
-#: editor.cc:1890
+#: editor.cc:1809
msgid "Convert to Region In-Place"
msgstr "在此转æ¢è‡³åŒºåŸŸ"
-#: editor.cc:1891
+#: editor.cc:1810
msgid "Convert to Region in Region List"
msgstr "在区域列表转æ¢è‡³åŒºåŸŸ"
-#: editor.cc:1894 editor_markers.cc:925
+#: editor.cc:1813 editor_markers.cc:939
msgid "Select All in Range"
msgstr "在范围选择所有"
-#: editor.cc:1897
+#: editor.cc:1816
msgid "Set Loop from Range"
msgstr "从范围设置循环"
-#: editor.cc:1898
+#: editor.cc:1817
msgid "Set Punch from Range"
msgstr "从范围设置Punch"
-#: editor.cc:1901
+#: editor.cc:1820
msgid "Add Range Markers"
msgstr "添加范围标记"
-#: editor.cc:1904
+#: editor.cc:1823
msgid "Crop Region to Range"
msgstr "è£å‰ªåŒºåŸŸåˆ°èŒƒå›´"
-#: editor.cc:1905
+#: editor.cc:1824
msgid "Fill Range with Region"
msgstr "用区域填充范围"
-#: editor.cc:1906 editor_actions.cc:289
+#: editor.cc:1825 editor_actions.cc:311
msgid "Duplicate Range"
msgstr "å¤åˆ¶èŒƒå›´"
-#: editor.cc:1909
+#: editor.cc:1828
msgid "Consolidate Range"
msgstr "åˆå¹¶èŒƒå›´"
-#: editor.cc:1910
+#: editor.cc:1829
msgid "Consolidate Range With Processing"
msgstr ""
-#: editor.cc:1911
+#: editor.cc:1830
msgid "Bounce Range to Region List"
msgstr ""
-#: editor.cc:1912
+#: editor.cc:1831
msgid "Bounce Range to Region List With Processing"
msgstr ""
-#: editor.cc:1913 editor_markers.cc:908
+#: editor.cc:1832 editor_markers.cc:922
msgid "Export Range..."
msgstr "导出范围"
-#: editor.cc:1915
+#: editor.cc:1834
msgid "Export Video Range..."
msgstr ""
-#: editor.cc:1931 editor.cc:2012 editor_actions.cc:281
+#: editor.cc:1850 editor.cc:1931 editor_actions.cc:303
msgid "Play From Edit Point"
msgstr "从编辑点播放"
-#: editor.cc:1932 editor.cc:2013
+#: editor.cc:1851 editor.cc:1932
msgid "Play From Start"
msgstr "从开始播放"
-#: editor.cc:1933
+#: editor.cc:1852
msgid "Play Region"
msgstr "播放区域"
-#: editor.cc:1935
+#: editor.cc:1854
msgid "Loop Region"
msgstr "循环区域"
-#: editor.cc:1945 editor.cc:2022
+#: editor.cc:1864 editor.cc:1941
msgid "Select All in Track"
msgstr "在音轨选择所有"
-#: editor.cc:1946 editor.cc:2023 editor_actions.cc:185
-#: export_timespan_selector.cc:53 processor_box.cc:2276
-msgid "Select All"
-msgstr "选择所有"
+#: editor.cc:1865 editor.cc:1942 editor_actions.cc:194
+msgid "Select All Objects"
+msgstr ""
-#: editor.cc:1947 editor.cc:2024
+#: editor.cc:1866 editor.cc:1943
msgid "Invert Selection in Track"
msgstr "在音轨å转选区"
-#: editor.cc:1948 editor.cc:2025 editor_actions.cc:187
+#: editor.cc:1867 editor.cc:1944 editor_actions.cc:197
msgid "Invert Selection"
msgstr "å转选区"
-#: editor.cc:1950
+#: editor.cc:1869
msgid "Set Range to Loop Range"
msgstr "设置范围到循环范围"
-#: editor.cc:1951
+#: editor.cc:1870
msgid "Set Range to Punch Range"
msgstr "设置范围到Punch区间"
-#: editor.cc:1953 editor.cc:2027 editor_actions.cc:188
+#: editor.cc:1872 editor.cc:1946 editor_actions.cc:199 editor_actions.cc:200
msgid "Select All After Edit Point"
msgstr "在编辑点åŽé€‰æ‹©æ‰€æœ‰"
-#: editor.cc:1954 editor.cc:2028 editor_actions.cc:189
+#: editor.cc:1873 editor.cc:1947 editor_actions.cc:201 editor_actions.cc:202
msgid "Select All Before Edit Point"
msgstr "在编辑点å‰é€‰æ‹©æ‰€æœ‰"
-#: editor.cc:1955 editor.cc:2029
+#: editor.cc:1874 editor.cc:1948
msgid "Select All After Playhead"
msgstr "播放头åŽé€‰æ‹©æ‰€æœ‰"
-#: editor.cc:1956 editor.cc:2030
+#: editor.cc:1875 editor.cc:1949
msgid "Select All Before Playhead"
msgstr "播放头å‰é€‰æ‹©æ‰€æœ‰"
-#: editor.cc:1957
+#: editor.cc:1876
msgid "Select All Between Playhead and Edit Point"
msgstr "播放头和编辑点间选择所有"
-#: editor.cc:1958
+#: editor.cc:1877
msgid "Select All Within Playhead and Edit Point"
msgstr "播放头和编辑点内选择所有"
-#: editor.cc:1959
+#: editor.cc:1878
msgid "Select Range Between Playhead and Edit Point"
msgstr "播放头和编辑点间选择范围"
-#: editor.cc:1961 editor.cc:2032 editor_actions.cc:127 editor_actions.cc:128
+#: editor.cc:1880 editor.cc:1951 editor_actions.cc:131 editor_actions.cc:132
msgid "Select"
msgstr "选择"
-#: editor.cc:1969 editor.cc:2040 editor_actions.cc:309 processor_box.cc:2261
+#: editor.cc:1888 editor.cc:1959 editor_actions.cc:334 processor_box.cc:2495
msgid "Cut"
msgstr "剪切"
-#: editor.cc:1970 editor.cc:2041 editor_actions.cc:312 processor_box.cc:2264
+#: editor.cc:1889 editor.cc:1960 editor_actions.cc:338 processor_box.cc:2498
msgid "Copy"
msgstr "å¤åˆ¶"
-#: editor.cc:1971 editor.cc:2042 editor_actions.cc:313 processor_box.cc:2272
+#: editor.cc:1890 editor.cc:1961 editor_actions.cc:339 processor_box.cc:2506
msgid "Paste"
msgstr "粘贴"
-#: editor.cc:1975 editor_actions.cc:87
+#: editor.cc:1894 editor_actions.cc:91
msgid "Align"
msgstr "对é½"
-#: editor.cc:1976
+#: editor.cc:1895
msgid "Align Relative"
msgstr "相对对é½"
-#: editor.cc:1983
+#: editor.cc:1902
msgid "Insert Selected Region"
msgstr "æ’入已选择的区域"
-#: editor.cc:1984
+#: editor.cc:1903
msgid "Insert Existing Media"
msgstr "æ’入已存在的媒体"
-#: editor.cc:1993 editor.cc:2049
+#: editor.cc:1912 editor.cc:1968
msgid "Nudge Entire Track Later"
msgstr ""
-#: editor.cc:1994 editor.cc:2050
+#: editor.cc:1913 editor.cc:1969
msgid "Nudge Track After Edit Point Later"
msgstr ""
-#: editor.cc:1995 editor.cc:2051
+#: editor.cc:1914 editor.cc:1970
msgid "Nudge Entire Track Earlier"
msgstr ""
-#: editor.cc:1996 editor.cc:2052
+#: editor.cc:1915 editor.cc:1971
msgid "Nudge Track After Edit Point Earlier"
msgstr ""
-#: editor.cc:1998 editor.cc:2054
+#: editor.cc:1917 editor.cc:1973
msgid "Nudge"
msgstr ""
-#: editor.cc:3074
+#: editor.cc:2916 editor.cc:3491 editor.cc:3561 midi_channel_selector.cc:159
+#: midi_channel_selector.cc:397 midi_channel_selector.cc:433
+msgid "All"
+msgstr "所有"
+
+#: editor.cc:3122
msgid "Smart Mode (add Range functions to Object mode)"
msgstr ""
-#: editor.cc:3075
+#: editor.cc:3123
msgid "Object Mode (select/move Objects)"
msgstr ""
-#: editor.cc:3076
+#: editor.cc:3124
+msgid "Cut Mode (split Regions)"
+msgstr ""
+
+#: editor.cc:3125
msgid "Range Mode (select/move Ranges)"
msgstr ""
-#: editor.cc:3077
+#: editor.cc:3126
msgid "Draw/Edit MIDI Notes"
msgstr "绘画/编辑MIDI音符"
-#: editor.cc:3078
+#: editor.cc:3127
msgid "Draw Region Gain"
msgstr "绘制区域增益"
-#: editor.cc:3079
+#: editor.cc:3128
msgid "Select Zoom Range"
msgstr "选择å˜ç„¦èŒƒå›´"
-#: editor.cc:3080
+#: editor.cc:3129
msgid "Stretch/Shrink Regions and MIDI Notes"
msgstr "伸/缩区域和MIDI音符"
-#: editor.cc:3081
+#: editor.cc:3130
msgid "Listen to Specific Regions"
msgstr "å¬ç‰¹å®šåŒºåŸŸ"
-#: editor.cc:3082
+#: editor.cc:3131
msgid "Note Level Editing"
msgstr ""
-#: editor.cc:3083
+#: editor.cc:3132
msgid ""
"Groups: click to (de)activate\n"
"Context-click for other operations"
msgstr ""
-#: editor.cc:3084
+#: editor.cc:3133
msgid "Nudge Region/Selection Later"
msgstr ""
-#: editor.cc:3085
+#: editor.cc:3134
msgid "Nudge Region/Selection Earlier"
msgstr ""
-#: editor.cc:3086 editor_actions.cc:242
+#: editor.cc:3135 editor_actions.cc:262
msgid "Zoom In"
msgstr "放大"
-#: editor.cc:3087 editor_actions.cc:241
+#: editor.cc:3136 editor_actions.cc:261
msgid "Zoom Out"
msgstr "缩å°"
-#: editor.cc:3088 editor_actions.cc:243
+#: editor.cc:3137
+msgid "Zoom to Time Scale"
+msgstr ""
+
+#: editor.cc:3138 editor.cc:3513 editor_actions.cc:263
msgid "Zoom to Session"
msgstr "缩放到会è¯"
-#: editor.cc:3089
+#: editor.cc:3139
msgid "Zoom focus"
msgstr "缩放到焦点"
-#: editor.cc:3090
+#: editor.cc:3140
msgid "Expand Tracks"
msgstr "扩展音轨"
-#: editor.cc:3091
+#: editor.cc:3141
msgid "Shrink Tracks"
msgstr "收缩音轨"
-#: editor.cc:3092
+#: editor.cc:3142
+msgid "Number of visible tracks"
+msgstr ""
+
+#: editor.cc:3143
msgid "Snap/Grid Units"
msgstr ""
-#: editor.cc:3093
+#: editor.cc:3144
msgid "Snap/Grid Mode"
msgstr ""
-#: editor.cc:3095
+#: editor.cc:3146
msgid "Edit Mode"
msgstr "编辑模å¼"
-#: editor.cc:3096
+#: editor.cc:3147
msgid ""
"Nudge Clock\n"
"(controls distance used to nudge regions and selections)"
msgstr ""
-#: editor.cc:3198
-msgid "malformed URL passed to drag-n-drop code"
-msgstr ""
-
-#: editor.cc:3260 editor_actions.cc:291
+#: editor.cc:3285 editor_actions.cc:313
msgid "Command|Undo"
msgstr ""
-#: editor.cc:3262
+#: editor.cc:3287
msgid "Command|Undo (%1)"
msgstr ""
-#: editor.cc:3269 editor_actions.cc:292
+#: editor.cc:3294 editor_actions.cc:315 editor_actions.cc:316
+#: editor_actions.cc:317
msgid "Redo"
msgstr "é‡åš"
-#: editor.cc:3271
+#: editor.cc:3296
msgid "Redo (%1)"
msgstr "é‡åš (%1)"
-#: editor.cc:3290 editor.cc:3314 editor_actions.cc:106 editor_actions.cc:1794
+#: editor.cc:3315 editor.cc:3339 editor_actions.cc:110 editor_actions.cc:1842
msgid "Duplicate"
msgstr "å¤åˆ¶"
-#: editor.cc:3291
+#: editor.cc:3316
msgid "Number of duplications:"
msgstr "å¤åˆ¶çš„æ•°é‡:"
-#: editor.cc:3868
+#: editor.cc:3490
+msgid "Selected"
+msgstr ""
+
+#: editor.cc:3493
+msgid "Fit 1 track"
+msgstr ""
+
+#: editor.cc:3494
+msgid "Fit 2 tracks"
+msgstr ""
+
+#: editor.cc:3495
+msgid "Fit 4 tracks"
+msgstr ""
+
+#: editor.cc:3496
+msgid "Fit 8 tracks"
+msgstr ""
+
+#: editor.cc:3497
+msgid "Fit 16 tracks"
+msgstr ""
+
+#: editor.cc:3498
+msgid "Fit 24 tracks"
+msgstr ""
+
+#: editor.cc:3499
+msgid "Fit 32 tracks"
+msgstr ""
+
+#: editor.cc:3500
+msgid "Fit 48 tracks"
+msgstr ""
+
+#: editor.cc:3501
+msgid "Fit All tracks"
+msgstr ""
+
+#: editor.cc:3502
+msgid "Fit Selected tracks"
+msgstr ""
+
+#: editor.cc:3504
+msgid "Zoom to 10 ms"
+msgstr ""
+
+#: editor.cc:3505
+msgid "Zoom to 100 ms"
+msgstr ""
+
+#: editor.cc:3506
+msgid "Zoom to 1 sec"
+msgstr ""
+
+#: editor.cc:3507
+msgid "Zoom to 10 sec"
+msgstr ""
+
+#: editor.cc:3508
+msgid "Zoom to 1 min"
+msgstr ""
+
+#: editor.cc:3509
+msgid "Zoom to 10 min"
+msgstr ""
+
+#: editor.cc:3510
+msgid "Zoom to 1 hour"
+msgstr ""
+
+#: editor.cc:3511
+msgid "Zoom to 8 hours"
+msgstr ""
+
+#: editor.cc:3512
+msgid "Zoom to 24 hours"
+msgstr ""
+
+#: editor.cc:3514
+msgid "Zoom to Range/Region Selection"
+msgstr ""
+
+#: editor.cc:3583
+msgid "*"
+msgstr ""
+
+#: editor.cc:3918
msgid "Playlist Deletion"
msgstr "播放列表删除"
-#: editor.cc:3869
+#: editor.cc:3919
msgid ""
"Playlist %1 is currently unused.\n"
"If it is kept, its audio files will not be cleaned.\n"
"If it is deleted, audio files used by it alone will be cleaned."
msgstr ""
-#: editor.cc:3879
+#: editor.cc:3929
msgid "Delete Playlist"
msgstr "删除播放列表"
-#: editor.cc:3880
+#: editor.cc:3930
msgid "Keep Playlist"
msgstr "ä¿æŒæ’­æ”¾åˆ—表"
-#: editor.cc:3881 editor_audio_import.cc:581 editor_ops.cc:5856
-#: engine_dialog.cc:1711 sfdb_freesound_mootcher.cc:69 processor_box.cc:2030
-#: processor_box.cc:2055
+#: editor.cc:3931 editor_audio_import.cc:579 editor_ops.cc:5931
+#: engine_dialog.cc:1985 sfdb_freesound_mootcher.cc:69 processor_box.cc:2263
+#: processor_box.cc:2288
msgid "Cancel"
msgstr "å–消"
-#: editor.cc:4025
+#: editor.cc:4065
msgid "new playlists"
msgstr "新播放列表"
-#: editor.cc:4041
+#: editor.cc:4081
msgid "copy playlists"
msgstr "å¤åˆ¶æ’­æ”¾åˆ—表"
-#: editor.cc:4056
+#: editor.cc:4096
msgid "clear playlists"
msgstr "清除播放列表"
-#: editor.cc:4691
+#: editor.cc:4771
msgid "Please wait while %1 loads visual data."
msgstr ""
-#: editor.cc:5496 editor_markers.cc:940 panner_ui.cc:392 processor_box.cc:2292
+#: editor.cc:5592 editor_markers.cc:954 panner_ui.cc:409 processor_box.cc:2526
msgid "Edit..."
msgstr "编辑..."
-#: editor_actions.cc:88
+#: editor_actions.cc:92
msgid "Autoconnect"
msgstr "自动连接"
-#: editor_actions.cc:89
+#: editor_actions.cc:93
msgid "Crossfades"
msgstr "淡入淡出"
-#: editor_actions.cc:91
+#: editor_actions.cc:95
msgid "Move Selected Marker"
msgstr "移动选择的标记"
-#: editor_actions.cc:92
+#: editor_actions.cc:96
msgid "Select Range Operations"
msgstr "选择范围æ“作"
-#: editor_actions.cc:93
+#: editor_actions.cc:97
msgid "Select Regions"
msgstr "选择区域"
-#: editor_actions.cc:94
+#: editor_actions.cc:98
msgid "Edit Point"
msgstr "编辑点"
-#: editor_actions.cc:95
+#: editor_actions.cc:99
msgid "Fade"
msgstr ""
-#: editor_actions.cc:96
+#: editor_actions.cc:100
msgid "Latch"
msgstr ""
-#: editor_actions.cc:97 editor_regions.cc:111 region_editor.cc:46
+#: editor_actions.cc:101 editor_regions.cc:112 region_editor.cc:45
msgid "Region"
msgstr "区域"
-#: editor_actions.cc:98
+#: editor_actions.cc:102
msgid "Layering"
msgstr ""
-#: editor_actions.cc:99 editor_regions.cc:112 gtk-custom-ruler.c:152
-#: stereo_panner_editor.cc:44
+#: editor_actions.cc:103 editor_regions.cc:113 stereo_panner_editor.cc:44
msgid "Position"
msgstr "ä½ç½®"
-#: editor_actions.cc:101 gain_meter.cc:120 gain_meter.cc:794 panner_ui.cc:176
-#: panner_ui.cc:585
+#: editor_actions.cc:105 gain_meter.cc:122 gain_meter.cc:800 panner_ui.cc:177
+#: panner_ui.cc:634
msgid "Trim"
msgstr ""
-#: editor_actions.cc:102 editor_actions.cc:122 route_group_dialog.cc:40
+#: editor_actions.cc:106 editor_actions.cc:126 route_group_dialog.cc:46
msgid "Gain"
msgstr "增益"
-#: editor_actions.cc:103 editor_actions.cc:538
+#: editor_actions.cc:107 editor_actions.cc:573
msgid "Ranges"
msgstr "范围"
-#: editor_actions.cc:104 editor_actions.cc:1790 session_option_editor.cc:145
-#: session_option_editor.cc:147 session_option_editor.cc:156
-#: session_option_editor.cc:163
+#: editor_actions.cc:108 editor_actions.cc:1838 session_option_editor.cc:135
+#: session_option_editor.cc:144 session_option_editor.cc:151
msgid "Fades"
msgstr ""
-#: editor_actions.cc:107
+#: editor_actions.cc:111
msgid "Link"
msgstr ""
-#: editor_actions.cc:108 editor_actions.cc:141
+#: editor_actions.cc:112 editor_actions.cc:145
msgid "Zoom Focus"
msgstr ""
-#: editor_actions.cc:109
+#: editor_actions.cc:113
msgid "Locate to Markers"
msgstr "定ä½åˆ°æ ‡è®°"
-#: editor_actions.cc:110 editor_actions.cc:539
-msgid "Markers"
-msgstr "标记"
-
-#: editor_actions.cc:111
+#: editor_actions.cc:115
msgid "Meter falloff"
msgstr "标尺衰å‡"
-#: editor_actions.cc:112
+#: editor_actions.cc:116
msgid "Meter hold"
msgstr "标尺ä¿æŒ"
-#: editor_actions.cc:113 session_option_editor.cc:234
+#: editor_actions.cc:117 session_option_editor.cc:321
msgid "MIDI Options"
msgstr "MIDI选项"
-#: editor_actions.cc:114
+#: editor_actions.cc:118
msgid "Misc Options"
msgstr "其他选项"
-#: editor_actions.cc:115 rc_option_editor.cc:1450 route_group_dialog.cc:48
-#: session_option_editor.cc:218 session_option_editor.cc:225
+#: editor_actions.cc:119 rc_option_editor.cc:1714 route_group_dialog.cc:54
+#: session_option_editor.cc:243 session_option_editor.cc:250
msgid "Monitoring"
msgstr "监控中"
-#: editor_actions.cc:116
+#: editor_actions.cc:120
msgid "Active Mark"
msgstr "å¯ç”¨æ ‡è®°"
-#: editor_actions.cc:119
+#: editor_actions.cc:123
msgid "Primary Clock"
msgstr "主时钟"
-#: editor_actions.cc:120
+#: editor_actions.cc:124
msgid "Pullup / Pulldown"
msgstr "上拉/下拉"
-#: editor_actions.cc:121
+#: editor_actions.cc:125
msgid "Region operations"
msgstr "区域æ“作"
-#: editor_actions.cc:123
+#: editor_actions.cc:127 ruler_dialog.cc:28
msgid "Rulers"
msgstr "标尺"
-#: editor_actions.cc:124
+#: editor_actions.cc:128
msgid "Views"
msgstr ""
-#: editor_actions.cc:125
+#: editor_actions.cc:129
msgid "Scroll"
msgstr "滚动"
-#: editor_actions.cc:126
+#: editor_actions.cc:130
msgid "Secondary Clock"
msgstr "第二时钟"
-#: editor_actions.cc:129 editor_actions.cc:297
+#: editor_actions.cc:133 editor_actions.cc:322
msgid "Separate"
msgstr "分离"
-#: editor_actions.cc:132 mixer_strip.cc:1914 route_time_axis.cc:208
-#: route_time_axis.cc:2417
-msgid "Solo"
-msgstr ""
-
-#: editor_actions.cc:133
+#: editor_actions.cc:137
msgid "Subframes"
msgstr "å­æ¡†æž¶"
-#: editor_actions.cc:136
+#: editor_actions.cc:140
msgid "Timecode fps"
msgstr "时间ç FPS"
-#: editor_actions.cc:137 route_time_axis.cc:430
+#: editor_actions.cc:141 route_time_axis.cc:548
msgid "Height"
msgstr "高度"
-#: editor_actions.cc:139
+#: editor_actions.cc:143
msgid "Tools"
msgstr "工具"
-#: editor_actions.cc:140
+#: editor_actions.cc:144
msgid "View"
msgstr "视图"
-#: editor_actions.cc:142
+#: editor_actions.cc:146
msgid "Zoom"
msgstr "放大"
-#: editor_actions.cc:148
+#: editor_actions.cc:152
msgid "Break drag or deselect all"
msgstr "终止拖拽或å–消选择所有"
-#: editor_actions.cc:150
+#: editor_actions.cc:159
msgid "Show Editor Mixer"
msgstr "显示编辑器混音器"
-#: editor_actions.cc:151
+#: editor_actions.cc:160
msgid "Show Editor List"
msgstr "显示编辑器列表"
-#: editor_actions.cc:153
+#: editor_actions.cc:162
msgid "Playhead to Next Region Boundary"
msgstr "播放头到下一个区域边界"
-#: editor_actions.cc:154
+#: editor_actions.cc:163
msgid "Playhead to Next Region Boundary (No Track Selection)"
msgstr "播放头到下一个区域边界 (没有音轨选区)"
-#: editor_actions.cc:155
+#: editor_actions.cc:164
msgid "Playhead to Previous Region Boundary"
msgstr "播放头到上一个区域边界"
-#: editor_actions.cc:156
+#: editor_actions.cc:165
msgid "Playhead to Previous Region Boundary (No Track Selection)"
msgstr "播放头到上一个区域边界 (没有音轨选区)"
-#: editor_actions.cc:158
+#: editor_actions.cc:167
msgid "Playhead to Next Region Start"
msgstr "播放头到下一个区域开始"
-#: editor_actions.cc:159
+#: editor_actions.cc:168
msgid "Playhead to Next Region End"
msgstr "播放头到下一个区域结æŸ"
-#: editor_actions.cc:160
+#: editor_actions.cc:169
msgid "Playhead to Next Region Sync"
msgstr "播放头到下一个区域åŒæ­¥"
-#: editor_actions.cc:162
+#: editor_actions.cc:171
msgid "Playhead to Previous Region Start"
msgstr "播放头到上一个区域开始"
-#: editor_actions.cc:163
+#: editor_actions.cc:172
msgid "Playhead to Previous Region End"
msgstr "播放头到上一个区域结æŸ"
-#: editor_actions.cc:164
+#: editor_actions.cc:173
msgid "Playhead to Previous Region Sync"
msgstr "播放头到上一个区域åŒæ­¥"
-#: editor_actions.cc:166
+#: editor_actions.cc:175
msgid "To Next Region Boundary"
msgstr "到下一个区域边界"
-#: editor_actions.cc:167
+#: editor_actions.cc:176
msgid "To Next Region Boundary (No Track Selection)"
msgstr "到下一个区域边界 (没有音轨选区)"
-#: editor_actions.cc:168
+#: editor_actions.cc:177
msgid "To Previous Region Boundary"
msgstr "到上一个区域边界"
-#: editor_actions.cc:169
+#: editor_actions.cc:178
msgid "To Previous Region Boundary (No Track Selection)"
msgstr ""
-#: editor_actions.cc:171
+#: editor_actions.cc:180
msgid "To Next Region Start"
msgstr "到下一个区域开始"
-#: editor_actions.cc:172
+#: editor_actions.cc:181
msgid "To Next Region End"
msgstr "到下一个区域结æŸ"
-#: editor_actions.cc:173
+#: editor_actions.cc:182
msgid "To Next Region Sync"
msgstr "到下一个区域åŒæ­¥"
-#: editor_actions.cc:175
+#: editor_actions.cc:184
msgid "To Previous Region Start"
msgstr "到上一个区域开始"
-#: editor_actions.cc:176
+#: editor_actions.cc:185
msgid "To Previous Region End"
msgstr "到上一个区域结æŸ"
-#: editor_actions.cc:177
+#: editor_actions.cc:186
msgid "To Previous Region Sync"
msgstr "到上一个区域åŒæ­¥"
-#: editor_actions.cc:179
+#: editor_actions.cc:188
msgid "To Range Start"
msgstr "到范围开始"
-#: editor_actions.cc:180
+#: editor_actions.cc:189
msgid "To Range End"
msgstr "到范围结æŸ"
-#: editor_actions.cc:182
+#: editor_actions.cc:191
msgid "Playhead to Range Start"
msgstr "播放头到范围开始"
-#: editor_actions.cc:183
+#: editor_actions.cc:192
msgid "Playhead to Range End"
msgstr "播放头到范围结æŸ"
-#: editor_actions.cc:186 export_timespan_selector.cc:61 processor_box.cc:2278
+#: editor_actions.cc:195
+msgid "Select All Tracks"
+msgstr ""
+
+#: editor_actions.cc:196 export_timespan_selector.cc:61 processor_box.cc:2512
msgid "Deselect All"
msgstr "å选所有"
-#: editor_actions.cc:191
+#: editor_actions.cc:204
msgid "Select All Overlapping Edit Range"
msgstr "选择所有é‡å çš„编辑范围"
-#: editor_actions.cc:192
+#: editor_actions.cc:205
msgid "Select All Inside Edit Range"
msgstr "选择所有内部的编辑范围"
-#: editor_actions.cc:194
+#: editor_actions.cc:207
msgid "Select Edit Range"
msgstr "选择编辑范围"
-#: editor_actions.cc:196
+#: editor_actions.cc:209
msgid "Select All in Punch Range"
msgstr "在Punch范围选择所有"
-#: editor_actions.cc:197
+#: editor_actions.cc:210
msgid "Select All in Loop Range"
msgstr "在循环范围内选择所有"
-#: editor_actions.cc:199
+#: editor_actions.cc:212
msgid "Select Next Track or Bus"
msgstr "选择下一个音轨或总线"
-#: editor_actions.cc:200
+#: editor_actions.cc:213
msgid "Select Previous Track or Bus"
msgstr "选择上一个音轨或总线"
-#: editor_actions.cc:202
+#: editor_actions.cc:215
msgid "Toggle Record Enable"
msgstr "切æ¢å½•éŸ³å¯ç”¨"
-#: editor_actions.cc:204
+#: editor_actions.cc:217
msgid "Toggle Solo"
msgstr "切æ¢Solo"
-#: editor_actions.cc:206
+#: editor_actions.cc:219
msgid "Toggle Mute"
msgstr "切æ¢é™éŸ³"
-#: editor_actions.cc:208
+#: editor_actions.cc:221
msgid "Toggle Solo Isolate"
msgstr "切æ¢Solo隔离"
-#: editor_actions.cc:213
+#: editor_actions.cc:226
msgid "Save View %1"
msgstr "ä¿å­˜è§†å›¾ %1"
-#: editor_actions.cc:219
+#: editor_actions.cc:232
msgid "Goto View %1"
msgstr "跳转到视图 %1"
-#: editor_actions.cc:225
+#: editor_actions.cc:238
msgid "Locate to Mark %1"
msgstr "定ä½åˆ°æ ‡è®° %1"
-#: editor_actions.cc:229
+#: editor_actions.cc:242 editor_actions.cc:243
msgid "Jump to Next Mark"
msgstr ""
-#: editor_actions.cc:230
+#: editor_actions.cc:244 editor_actions.cc:245
msgid "Jump to Previous Mark"
msgstr ""
-#: editor_actions.cc:231
+#: editor_actions.cc:247 editor_actions.cc:248
msgid "Add Mark from Playhead"
msgstr "从播放头添加编辑"
-#: editor_actions.cc:233
+#: editor_actions.cc:250 editor_actions.cc:251
+msgid "Remove Mark at Playhead"
+msgstr ""
+
+#: editor_actions.cc:253
msgid "Nudge Next Later"
msgstr ""
-#: editor_actions.cc:234
+#: editor_actions.cc:254
msgid "Nudge Next Earlier"
msgstr ""
-#: editor_actions.cc:236
+#: editor_actions.cc:256
msgid "Nudge Playhead Forward"
msgstr ""
-#: editor_actions.cc:237
+#: editor_actions.cc:257
msgid "Nudge Playhead Backward"
msgstr ""
-#: editor_actions.cc:238
+#: editor_actions.cc:258
msgid "Playhead To Next Grid"
msgstr ""
-#: editor_actions.cc:239
+#: editor_actions.cc:259
msgid "Playhead To Previous Grid"
msgstr ""
-#: editor_actions.cc:244
+#: editor_actions.cc:264
msgid "Zoom to Region"
msgstr ""
-#: editor_actions.cc:245
+#: editor_actions.cc:265
msgid "Zoom to Region (Width and Height)"
msgstr ""
-#: editor_actions.cc:246
+#: editor_actions.cc:267
+msgid "Zoom to Range (Width and Height)"
+msgstr ""
+
+#: editor_actions.cc:268
msgid "Toggle Zoom State"
msgstr ""
-#: editor_actions.cc:248
+#: editor_actions.cc:270
msgid "Expand Track Height"
msgstr "扩展音轨高度"
-#: editor_actions.cc:249
+#: editor_actions.cc:271
msgid "Shrink Track Height"
msgstr "收缩扩展音轨高度"
-#: editor_actions.cc:251
+#: editor_actions.cc:273
msgid "Move Selected Tracks Up"
msgstr ""
-#: editor_actions.cc:253
+#: editor_actions.cc:275
msgid "Move Selected Tracks Down"
msgstr ""
-#: editor_actions.cc:256
+#: editor_actions.cc:278
msgid "Scroll Tracks Up"
msgstr "å‘上滚动音轨"
-#: editor_actions.cc:258
+#: editor_actions.cc:280
msgid "Scroll Tracks Down"
msgstr "å‘下滚动音轨"
-#: editor_actions.cc:260
+#: editor_actions.cc:282
msgid "Step Tracks Up"
msgstr ""
-#: editor_actions.cc:262
+#: editor_actions.cc:284
msgid "Step Tracks Down"
msgstr ""
-#: editor_actions.cc:265
+#: editor_actions.cc:287
msgid "Scroll Backward"
msgstr "å‘åŽæ»šåŠ¨éŸ³è½¨"
-#: editor_actions.cc:266
+#: editor_actions.cc:288
msgid "Scroll Forward"
msgstr "å‘å‰æ»šåŠ¨éŸ³è½¨"
-#: editor_actions.cc:267
+#: editor_actions.cc:289
msgid "Center Playhead"
msgstr ""
-#: editor_actions.cc:268
+#: editor_actions.cc:290
msgid "Center Edit Point"
msgstr ""
-#: editor_actions.cc:270
+#: editor_actions.cc:292
msgid "Playhead Forward"
msgstr "播放头å‰è¿›"
-#: editor_actions.cc:271
+#: editor_actions.cc:293
msgid "Playhead Backward"
msgstr "播放头åŽé€€"
-#: editor_actions.cc:273
+#: editor_actions.cc:295
msgid "Playhead to Active Mark"
msgstr ""
-#: editor_actions.cc:274
+#: editor_actions.cc:296
msgid "Active Mark to Playhead"
msgstr ""
-#: editor_actions.cc:276
+#: editor_actions.cc:298
msgid "Set Loop from Edit Range"
msgstr ""
-#: editor_actions.cc:277
+#: editor_actions.cc:299
msgid "Set Punch from Edit Range"
msgstr "在编辑范围设置Punch"
-#: editor_actions.cc:280
+#: editor_actions.cc:302
msgid "Play Selected Regions"
msgstr "播放被选区域"
-#: editor_actions.cc:282
+#: editor_actions.cc:304
msgid "Play from Edit Point and Return"
msgstr "从编辑点播放并返回"
-#: editor_actions.cc:284
+#: editor_actions.cc:306
msgid "Play Edit Range"
msgstr "播放编辑范围"
-#: editor_actions.cc:286
+#: editor_actions.cc:308
msgid "Playhead to Mouse"
msgstr "播放头移至鼠标指针ä½ç½®"
-#: editor_actions.cc:287
+#: editor_actions.cc:309
msgid "Active Marker to Mouse"
msgstr ""
-#: editor_actions.cc:294
+#: editor_actions.cc:319
msgid "Export Audio"
msgstr "导出音频"
-#: editor_actions.cc:295 export_dialog.cc:406
+#: editor_actions.cc:320 export_dialog.cc:396
msgid "Export Range"
msgstr "导出范围"
-#: editor_actions.cc:300
+#: editor_actions.cc:325
msgid "Separate Using Punch Range"
msgstr "用Punch范围分离"
-#: editor_actions.cc:303
+#: editor_actions.cc:328
msgid "Separate Using Loop Range"
msgstr ""
-#: editor_actions.cc:306 editor_actions.cc:323
+#: editor_actions.cc:331 editor_actions.cc:353
msgid "Crop"
msgstr ""
-#: editor_actions.cc:315
+#: editor_actions.cc:341
+msgid "Fade Range Selection"
+msgstr ""
+
+#: editor_actions.cc:343
msgid "Set Tempo from Edit Range = Bar"
msgstr "ä»Žç¼–è¾‘èŒƒå›´è®¾ç½®èŠ‚å¥ = å°èŠ‚"
-#: editor_actions.cc:317
+#: editor_actions.cc:345
msgid "Log"
msgstr ""
-#: editor_actions.cc:320
+#: editor_actions.cc:348 editor_actions.cc:349
msgid "Move Later to Transient"
msgstr ""
-#: editor_actions.cc:321
+#: editor_actions.cc:350 editor_actions.cc:351
msgid "Move Earlier to Transient"
msgstr ""
-#: editor_actions.cc:325
+#: editor_actions.cc:355 editor_actions.cc:358
msgid "Start Range"
msgstr ""
-#: editor_actions.cc:326
+#: editor_actions.cc:356 editor_actions.cc:359
msgid "Finish Range"
msgstr ""
-#: editor_actions.cc:327
-msgid "Finish Add Range"
-msgstr ""
-
-#: editor_actions.cc:357
+#: editor_actions.cc:391
msgid "Follow Playhead"
msgstr ""
-#: editor_actions.cc:358
+#: editor_actions.cc:392
msgid "Remove Last Capture"
msgstr ""
-#: editor_actions.cc:360
+#: editor_actions.cc:394
msgid "Stationary Playhead"
msgstr ""
-#: editor_actions.cc:362 insert_time_dialog.cc:32
+#: editor_actions.cc:396 insert_time_dialog.cc:32
msgid "Insert Time"
msgstr ""
-#: editor_actions.cc:365
+#: editor_actions.cc:399
msgid "Toggle Active"
msgstr ""
-#: editor_actions.cc:370 editor_actions.cc:1716 editor_markers.cc:876
-#: editor_markers.cc:941 editor_snapshots.cc:121 mixer_strip.cc:1495
-#: route_time_axis.cc:710
+#: editor_actions.cc:404 editor_actions.cc:1764 editor_markers.cc:890
+#: editor_markers.cc:955 editor_snapshots.cc:122 mixer_strip.cc:1506
+#: route_time_axis.cc:829
msgid "Remove"
msgstr "移除"
-#: editor_actions.cc:374
+#: editor_actions.cc:408
msgid "Fit Selected Tracks"
msgstr ""
-#: editor_actions.cc:376 time_axis_view.cc:1302
+#: editor_actions.cc:411 time_axis_view.cc:1336
msgid "Largest"
msgstr "最大的"
-#: editor_actions.cc:379 time_axis_view.cc:1303
+#: editor_actions.cc:414 time_axis_view.cc:1337
msgid "Larger"
msgstr "更大的"
-#: editor_actions.cc:382 editor_rulers.cc:375 time_axis_view.cc:1304
+#: editor_actions.cc:417 editor_rulers.cc:249 time_axis_view.cc:1338
msgid "Large"
msgstr "大"
-#: editor_actions.cc:388 editor_rulers.cc:379 time_axis_view.cc:1306
+#: editor_actions.cc:423 editor_rulers.cc:253 time_axis_view.cc:1340
msgid "Small"
msgstr "å°"
-#: editor_actions.cc:392
+#: editor_actions.cc:427
msgid "Sound Selected MIDI Notes"
msgstr ""
-#: editor_actions.cc:397
+#: editor_actions.cc:432
msgid "Zoom Focus Left"
msgstr ""
-#: editor_actions.cc:398
+#: editor_actions.cc:433
msgid "Zoom Focus Right"
msgstr ""
-#: editor_actions.cc:399
+#: editor_actions.cc:434
msgid "Zoom Focus Center"
msgstr ""
-#: editor_actions.cc:400
+#: editor_actions.cc:435
msgid "Zoom Focus Playhead"
msgstr ""
-#: editor_actions.cc:401
+#: editor_actions.cc:436
msgid "Zoom Focus Mouse"
msgstr ""
-#: editor_actions.cc:402
+#: editor_actions.cc:437
msgid "Zoom Focus Edit Point"
msgstr ""
-#: editor_actions.cc:404
+#: editor_actions.cc:439
msgid "Next Zoom Focus"
msgstr ""
-#: editor_actions.cc:410
+#: editor_actions.cc:445
msgid "Smart Object Mode"
msgstr ""
-#: editor_actions.cc:413
+#: editor_actions.cc:448
msgid "Smart"
msgstr ""
-#: editor_actions.cc:417
+#: editor_actions.cc:451
msgid "Object Tool"
msgstr ""
-#: editor_actions.cc:423
+#: editor_actions.cc:456
msgid "Range Tool"
msgstr ""
-#: editor_actions.cc:429
+#: editor_actions.cc:461
msgid "Note Drawing Tool"
msgstr ""
-#: editor_actions.cc:435
+#: editor_actions.cc:466
msgid "Gain Tool"
msgstr ""
-#: editor_actions.cc:441
+#: editor_actions.cc:472
msgid "Zoom Tool"
msgstr ""
-#: editor_actions.cc:447
+#: editor_actions.cc:478
msgid "Audition Tool"
msgstr "监å¬å·¥å…·"
-#: editor_actions.cc:453
+#: editor_actions.cc:483
msgid "Time FX Tool"
msgstr ""
-#: editor_actions.cc:459
+#: editor_actions.cc:489
+msgid "Cut Tool"
+msgstr ""
+
+#: editor_actions.cc:495
msgid "Step Mouse Mode"
msgstr ""
-#: editor_actions.cc:461
+#: editor_actions.cc:497
msgid "Edit MIDI"
msgstr "编辑MIDI"
-#: editor_actions.cc:472
+#: editor_actions.cc:507
msgid "Change Edit Point"
msgstr "改å˜ç¼–辑点"
-#: editor_actions.cc:473
+#: editor_actions.cc:508
msgid "Change Edit Point Including Marker"
msgstr ""
-#: editor_actions.cc:475
-msgid "Splice"
-msgstr ""
-
-#: editor_actions.cc:477
-msgid "Slide"
-msgstr ""
-
-#: editor_actions.cc:478 editor_actions.cc:1737 editor_markers.cc:860
-#: editor_rulers.cc:386 location_ui.cc:56
-msgid "Lock"
-msgstr ""
-
-#: editor_actions.cc:479
-msgid "Toggle Edit Mode"
+#: editor_actions.cc:514
+msgid "Cycle Edit Mode"
msgstr ""
-#: editor_actions.cc:481
+#: editor_actions.cc:516
msgid "Snap to"
msgstr ""
-#: editor_actions.cc:482
+#: editor_actions.cc:517
msgid "Snap Mode"
msgstr ""
-#: editor_actions.cc:489
+#: editor_actions.cc:524
msgid "Next Snap Mode"
msgstr ""
-#: editor_actions.cc:490
+#: editor_actions.cc:525
msgid "Next Snap Choice"
msgstr ""
-#: editor_actions.cc:491
+#: editor_actions.cc:526
msgid "Next Musical Snap Choice"
msgstr ""
-#: editor_actions.cc:492
+#: editor_actions.cc:527
msgid "Previous Snap Choice"
msgstr ""
-#: editor_actions.cc:493
+#: editor_actions.cc:528
msgid "Previous Musical Snap Choice"
msgstr ""
-#: editor_actions.cc:498
+#: editor_actions.cc:533
msgid "Snap to CD Frame"
msgstr "对é½åˆ°CD框架"
-#: editor_actions.cc:499
+#: editor_actions.cc:534
msgid "Snap to Timecode Frame"
msgstr "对é½åˆ°æ—¶é—´ç æ¡†æž¶"
-#: editor_actions.cc:500
+#: editor_actions.cc:535
msgid "Snap to Timecode Seconds"
msgstr "对é½åˆ°æ—¶é—´ç ç§’"
-#: editor_actions.cc:501
+#: editor_actions.cc:536
msgid "Snap to Timecode Minutes"
msgstr "对é½åˆ°æ—¶é—´ç åˆ†"
-#: editor_actions.cc:502
+#: editor_actions.cc:537
msgid "Snap to Seconds"
msgstr "对é½åˆ°ç§’"
-#: editor_actions.cc:503
+#: editor_actions.cc:538
msgid "Snap to Minutes"
msgstr "对é½åˆ°åˆ†"
-#: editor_actions.cc:505
+#: editor_actions.cc:540
msgid "Snap to One Twenty Eighths"
msgstr ""
-#: editor_actions.cc:506
+#: editor_actions.cc:541
msgid "Snap to Sixty Fourths"
msgstr ""
-#: editor_actions.cc:507
+#: editor_actions.cc:542
msgid "Snap to Thirty Seconds"
msgstr "对é½åˆ°30秒"
-#: editor_actions.cc:508
+#: editor_actions.cc:543
msgid "Snap to Twenty Eighths"
msgstr "对é½åˆ°ç¬¬28"
-#: editor_actions.cc:509
+#: editor_actions.cc:544
msgid "Snap to Twenty Fourths"
msgstr "对é½åˆ°ç¬¬24"
-#: editor_actions.cc:510
+#: editor_actions.cc:545
msgid "Snap to Twentieths"
msgstr "对é½åˆ°ç¬¬20"
-#: editor_actions.cc:511
+#: editor_actions.cc:546
msgid "Snap to Sixteenths"
msgstr "对é½åˆ°ç¬¬16"
-#: editor_actions.cc:512
+#: editor_actions.cc:547
msgid "Snap to Fourteenths"
msgstr "对é½åˆ°ç¬¬14"
-#: editor_actions.cc:513
+#: editor_actions.cc:548
msgid "Snap to Twelfths"
msgstr "对é½åˆ°ç¬¬12"
-#: editor_actions.cc:514
+#: editor_actions.cc:549
msgid "Snap to Tenths"
msgstr "对é½åˆ°ç¬¬10"
-#: editor_actions.cc:515
+#: editor_actions.cc:550
msgid "Snap to Eighths"
msgstr "对é½åˆ°ç¬¬8"
-#: editor_actions.cc:516
+#: editor_actions.cc:551
msgid "Snap to Sevenths"
msgstr "对é½åˆ°ç¬¬7"
-#: editor_actions.cc:517
+#: editor_actions.cc:552
msgid "Snap to Sixths"
msgstr "对é½åˆ°ç¬¬6"
-#: editor_actions.cc:518
+#: editor_actions.cc:553
msgid "Snap to Fifths"
msgstr "对é½åˆ°ç¬¬5"
-#: editor_actions.cc:519
+#: editor_actions.cc:554
msgid "Snap to Quarters"
msgstr "对é½åˆ°1/4"
-#: editor_actions.cc:520
+#: editor_actions.cc:555
msgid "Snap to Thirds"
msgstr "对é½åˆ°1/3"
-#: editor_actions.cc:521
+#: editor_actions.cc:556
msgid "Snap to Halves"
msgstr "对é½åˆ°1/2"
-#: editor_actions.cc:523
+#: editor_actions.cc:558
msgid "Snap to Beat"
msgstr "对é½åˆ°èŠ‚æ‹"
-#: editor_actions.cc:524
+#: editor_actions.cc:559
msgid "Snap to Bar"
msgstr "对é½åˆ°å°èŠ‚"
-#: editor_actions.cc:525
+#: editor_actions.cc:560
msgid "Snap to Mark"
msgstr "对é½åˆ°æ ‡è®°"
-#: editor_actions.cc:526
+#: editor_actions.cc:561
msgid "Snap to Region Start"
msgstr "对é½åˆ°åŒºåŸŸå¼€å§‹"
-#: editor_actions.cc:527
+#: editor_actions.cc:562
msgid "Snap to Region End"
msgstr "对é½åˆ°åŒºåŸŸç»“æŸ"
-#: editor_actions.cc:528
+#: editor_actions.cc:563
msgid "Snap to Region Sync"
msgstr "对é½åˆ°åŒºåŸŸåŒæ­¥"
-#: editor_actions.cc:529
+#: editor_actions.cc:564
msgid "Snap to Region Boundary"
msgstr "对é½åˆ°åŒºåŸŸè¾¹ç•Œ"
-#: editor_actions.cc:531
+#: editor_actions.cc:566
msgid "Show Marker Lines"
msgstr "显示标记线æ¡"
-#: editor_actions.cc:541
+#: editor_actions.cc:576
msgid "Loop/Punch"
msgstr "循环/Punch"
-#: editor_actions.cc:545
+#: editor_actions.cc:580
msgid "Min:Sec"
msgstr "分:秒"
-#: editor_actions.cc:547 editor_actions.cc:550
+#: editor_actions.cc:582 editor_actions.cc:585
msgid "Video Monitor"
msgstr ""
-#: editor_actions.cc:549 rc_option_editor.cc:1829
+#: editor_actions.cc:584 rc_option_editor.cc:2134
msgid "Video"
msgstr ""
-#: editor_actions.cc:552
+#: editor_actions.cc:587
msgid "Always on Top"
msgstr ""
-#: editor_actions.cc:554
+#: editor_actions.cc:589
msgid "Frame number"
msgstr ""
-#: editor_actions.cc:555
+#: editor_actions.cc:590
msgid "Timecode Background"
msgstr ""
-#: editor_actions.cc:556
+#: editor_actions.cc:591
msgid "Fullscreen"
msgstr ""
-#: editor_actions.cc:557
+#: editor_actions.cc:592
msgid "Letterbox"
msgstr ""
-#: editor_actions.cc:558
+#: editor_actions.cc:593
msgid "Original Size"
msgstr ""
-#: editor_actions.cc:608
+#: editor_actions.cc:650
msgid "Sort"
msgstr "æ•´ç†"
-#: editor_actions.cc:610 region_editor.cc:51
-msgid "Audition"
-msgstr "监å¬"
-
-#: editor_actions.cc:619 editor_routes.cc:470 mixer_ui.cc:1161
+#: editor_actions.cc:661 editor_routes.cc:473 mixer_ui.cc:1181
msgid "Show All"
msgstr "显示所有"
-#: editor_actions.cc:620
+#: editor_actions.cc:662
msgid "Show Automatic Regions"
msgstr "显示自动的区域"
-#: editor_actions.cc:622
+#: editor_actions.cc:664
msgid "Ascending"
msgstr "上å‡"
-#: editor_actions.cc:624
+#: editor_actions.cc:666
msgid "Descending"
msgstr "下é™"
-#: editor_actions.cc:627
+#: editor_actions.cc:669
msgid "By Region Name"
msgstr "由区域å"
-#: editor_actions.cc:629
+#: editor_actions.cc:671
msgid "By Region Length"
msgstr "由区域长度"
-#: editor_actions.cc:631
+#: editor_actions.cc:673
msgid "By Region Position"
msgstr "由区域ä½ç½®"
-#: editor_actions.cc:633
+#: editor_actions.cc:675
msgid "By Region Timestamp"
msgstr "由区域时间戳"
-#: editor_actions.cc:635
+#: editor_actions.cc:677
msgid "By Region Start in File"
msgstr "由文件的区域开始"
-#: editor_actions.cc:637
+#: editor_actions.cc:679
msgid "By Region End in File"
msgstr "由文件的区域结æŸ"
-#: editor_actions.cc:639
+#: editor_actions.cc:681
msgid "By Source File Name"
msgstr "ç”±æºæ–‡ä»¶å"
-#: editor_actions.cc:641
+#: editor_actions.cc:683
msgid "By Source File Length"
msgstr "ç”±æºæ–‡ä»¶é•¿åº¦"
-#: editor_actions.cc:643
+#: editor_actions.cc:685
msgid "By Source File Creation Date"
msgstr "ç”±æºæ–‡ä»¶åˆ›å»ºæ—¥æœŸ"
-#: editor_actions.cc:645
+#: editor_actions.cc:687
msgid "By Source Filesystem"
msgstr "ç”±æºæ–‡ä»¶ç³»ç»Ÿ"
-#: editor_actions.cc:648
+#: editor_actions.cc:690
msgid "Remove Unused"
msgstr ""
-#: editor_actions.cc:652 editor_audio_import.cc:279
+#: editor_actions.cc:694 editor_audio_import.cc:277
#: session_import_dialog.cc:74 session_import_dialog.cc:94
-#: session_metadata_dialog.cc:297 editor_videotimeline.cc:108
+#: session_metadata_dialog.cc:297 editor_videotimeline.cc:92
msgid "Import"
msgstr "导入"
-#: editor_actions.cc:655
+#: editor_actions.cc:697
msgid "Import to Region List..."
msgstr "导入到区域列表..."
-#: editor_actions.cc:658 session_import_dialog.cc:43
+#: editor_actions.cc:700 session_import_dialog.cc:43
msgid "Import From Session"
msgstr "从会è¯å¯¼å…¥"
-#: editor_actions.cc:661
+#: editor_actions.cc:704
+msgid "Bring all media into session folder"
+msgstr ""
+
+#: editor_actions.cc:707
msgid "Show Summary"
msgstr "显示总结"
-#: editor_actions.cc:663
+#: editor_actions.cc:709
msgid "Show Group Tabs"
msgstr "显示群组标签"
-#: editor_actions.cc:665
+#: editor_actions.cc:711
msgid "Show Measures"
msgstr "显示测é‡"
-#: editor_actions.cc:669
+#: editor_actions.cc:715
msgid "Show Logo"
msgstr "显示Logo"
-#: editor_actions.cc:673
+#: editor_actions.cc:719
msgid "Toggle MIDI Input Active for Editor-Selected Tracks/Busses"
msgstr ""
-#: editor_actions.cc:696
+#: editor_actions.cc:742
msgid "Loaded editor bindings from %1"
msgstr ""
-#: editor_actions.cc:698
+#: editor_actions.cc:744
msgid "Could not find editor.bindings in search path %1"
msgstr ""
-#: editor_actions.cc:1028 editor_actions.cc:1424 editor_actions.cc:1435
-#: editor_actions.cc:1488 editor_actions.cc:1499 editor_actions.cc:1546
-#: editor_actions.cc:1556 editor_regions.cc:1561
+#: editor_actions.cc:1074 editor_actions.cc:1470 editor_actions.cc:1481
+#: editor_actions.cc:1534 editor_actions.cc:1545 editor_actions.cc:1592
+#: editor_actions.cc:1602 editor_regions.cc:1562
msgid "programming error: %1: %2"
msgstr "程åºé”™è¯¯: %1: %2"
-#: editor_actions.cc:1722
+#: editor_actions.cc:1770
msgid "Raise"
msgstr "上å‡"
-#: editor_actions.cc:1725
+#: editor_actions.cc:1773
msgid "Raise to Top"
msgstr "上å‡åˆ°é¡¶"
-#: editor_actions.cc:1728 gtk-custom-ruler.c:132
+#: editor_actions.cc:1776
msgid "Lower"
msgstr ""
-#: editor_actions.cc:1731
+#: editor_actions.cc:1779
msgid "Lower to Bottom"
msgstr ""
-#: editor_actions.cc:1734
+#: editor_actions.cc:1782
msgid "Move to Original Position"
msgstr ""
-#: editor_actions.cc:1739
+#: editor_actions.cc:1787
msgid "Lock to Video"
msgstr ""
-#: editor_actions.cc:1744 editor_markers.cc:867
+#: editor_actions.cc:1792 editor_markers.cc:881
msgid "Glue to Bars and Beats"
msgstr ""
-#: editor_actions.cc:1749
+#: editor_actions.cc:1797
msgid "Remove Sync"
msgstr "移除åŒæ­¥"
-#: editor_actions.cc:1752 mixer_strip.cc:1904 route_time_axis.cc:209
-msgid "Mute"
-msgstr "é™éŸ³"
-
-#: editor_actions.cc:1755
+#: editor_actions.cc:1803
msgid "Normalize..."
msgstr "标准化..."
-#: editor_actions.cc:1758
+#: editor_actions.cc:1806
msgid "Reverse"
msgstr "å转"
-#: editor_actions.cc:1761
+#: editor_actions.cc:1809
msgid "Make Mono Regions"
msgstr ""
-#: editor_actions.cc:1764
+#: editor_actions.cc:1812
msgid "Boost Gain"
msgstr "æ高增益"
-#: editor_actions.cc:1767
+#: editor_actions.cc:1815
msgid "Cut Gain"
msgstr ""
-#: editor_actions.cc:1770
+#: editor_actions.cc:1818
msgid "Pitch Shift..."
msgstr "基音转移"
-#: editor_actions.cc:1773
+#: editor_actions.cc:1821
msgid "Transpose..."
msgstr ""
-#: editor_actions.cc:1776
+#: editor_actions.cc:1824
msgid "Opaque"
msgstr "ä¸é€æ˜Žåº¦"
-#: editor_actions.cc:1780 editor_regions.cc:116
+#: editor_actions.cc:1828 editor_regions.cc:117
msgid "Fade In"
msgstr "æ·¡å…¥"
-#: editor_actions.cc:1785 editor_regions.cc:117
+#: editor_actions.cc:1833 editor_regions.cc:118
msgid "Fade Out"
msgstr "淡出"
-#: editor_actions.cc:1800
+#: editor_actions.cc:1848
msgid "Multi-Duplicate..."
msgstr "多å¤åˆ¶..."
-#: editor_actions.cc:1805
+#: editor_actions.cc:1853
msgid "Fill Track"
msgstr "填充音轨"
-#: editor_actions.cc:1809 editor_markers.cc:955
+#: editor_actions.cc:1857 editor_markers.cc:969
msgid "Set Loop Range"
msgstr "设置循环范围"
-#: editor_actions.cc:1816
+#: editor_actions.cc:1864
msgid "Set Punch"
msgstr "设置Punch"
-#: editor_actions.cc:1820
+#: editor_actions.cc:1868
msgid "Add Single Range Marker"
msgstr ""
-#: editor_actions.cc:1825
+#: editor_actions.cc:1873
msgid "Add Range Marker Per Region"
msgstr ""
-#: editor_actions.cc:1829
+#: editor_actions.cc:1877
msgid "Snap Position To Grid"
msgstr ""
-#: editor_actions.cc:1832
+#: editor_actions.cc:1880
msgid "Close Gaps"
msgstr ""
-#: editor_actions.cc:1835
+#: editor_actions.cc:1883
msgid "Rhythm Ferret..."
msgstr ""
-#: editor_actions.cc:1838
+#: editor_actions.cc:1886
msgid "Export..."
msgstr "导出..."
-#: editor_actions.cc:1844
+#: editor_actions.cc:1892
msgid "Separate Under"
msgstr ""
-#: editor_actions.cc:1848
+#: editor_actions.cc:1896 editor_actions.cc:1897
msgid "Set Fade In Length"
msgstr "设置淡入长度"
-#: editor_actions.cc:1849
+#: editor_actions.cc:1898 editor_actions.cc:1899
msgid "Set Fade Out Length"
msgstr "设置淡出长度"
-#: editor_actions.cc:1850
+#: editor_actions.cc:1901
msgid "Set Tempo from Region = Bar"
msgstr "从区域设置节å¥=å°èŠ‚"
-#: editor_actions.cc:1855
+#: editor_actions.cc:1906
msgid "Split at Percussion Onsets"
msgstr ""
-#: editor_actions.cc:1860
+#: editor_actions.cc:1911
msgid "List Editor..."
msgstr "编辑列表"
-#: editor_actions.cc:1863
+#: editor_actions.cc:1914
msgid "Properties..."
msgstr "属性..."
-#: editor_actions.cc:1867
+#: editor_actions.cc:1918
msgid "Bounce (with processing)"
msgstr ""
-#: editor_actions.cc:1868
+#: editor_actions.cc:1919
msgid "Bounce (without processing)"
msgstr ""
-#: editor_actions.cc:1869
+#: editor_actions.cc:1920
msgid "Combine"
msgstr ""
-#: editor_actions.cc:1870
+#: editor_actions.cc:1921
msgid "Uncombine"
msgstr ""
-#: editor_actions.cc:1872
+#: editor_actions.cc:1923
msgid "Spectral Analysis..."
msgstr "频谱分æž..."
-#: editor_actions.cc:1874
+#: editor_actions.cc:1925
msgid "Reset Envelope"
msgstr "é‡ç½®åŒ…络线"
-#: editor_actions.cc:1876
+#: editor_actions.cc:1927
msgid "Reset Gain"
msgstr "预设增益"
-#: editor_actions.cc:1881
+#: editor_actions.cc:1932
msgid "Envelope Active"
msgstr "激活包络线"
-#: editor_actions.cc:1885
+#: editor_actions.cc:1936
msgid "Quantize..."
msgstr ""
-#: editor_actions.cc:1886 editor_actions.cc:1887
+#: editor_actions.cc:1937 editor_actions.cc:1938
msgid "Insert Patch Change..."
msgstr ""
-#: editor_actions.cc:1888
+#: editor_actions.cc:1939
msgid "Unlink from other copies"
msgstr ""
-#: editor_actions.cc:1889
+#: editor_actions.cc:1940
msgid "Strip Silence..."
msgstr ""
-#: editor_actions.cc:1890
+#: editor_actions.cc:1941
msgid "Set Range Selection"
msgstr ""
-#: editor_actions.cc:1892
+#: editor_actions.cc:1943 editor_actions.cc:1944
msgid "Nudge Later"
msgstr ""
-#: editor_actions.cc:1893
+#: editor_actions.cc:1945 editor_actions.cc:1946
msgid "Nudge Earlier"
msgstr ""
-#: editor_actions.cc:1898
+#: editor_actions.cc:1948
+msgid "Sequence Regions"
+msgstr ""
+
+#: editor_actions.cc:1953
msgid "Nudge Later by Capture Offset"
msgstr ""
-#: editor_actions.cc:1905
+#: editor_actions.cc:1960
msgid "Nudge Earlier by Capture Offset"
msgstr ""
-#: editor_actions.cc:1909
+#: editor_actions.cc:1964
msgid "Trim to Loop"
msgstr ""
-#: editor_actions.cc:1910
+#: editor_actions.cc:1965
msgid "Trim to Punch"
msgstr ""
-#: editor_actions.cc:1912
+#: editor_actions.cc:1967
msgid "Trim to Previous"
msgstr ""
-#: editor_actions.cc:1913
+#: editor_actions.cc:1968
msgid "Trim to Next"
msgstr ""
-#: editor_actions.cc:1920
+#: editor_actions.cc:1975
msgid "Insert Region From Region List"
msgstr ""
-#: editor_actions.cc:1926
+#: editor_actions.cc:1981
msgid "Set Sync Position"
msgstr "设置åŒæ­¥ä½ç½®"
-#: editor_actions.cc:1927
+#: editor_actions.cc:1982
msgid "Place Transient"
msgstr ""
-#: editor_actions.cc:1928
+#: editor_actions.cc:1983
msgid "Split"
msgstr ""
-#: editor_actions.cc:1929
+#: editor_actions.cc:1984
msgid "Trim Start at Edit Point"
msgstr ""
-#: editor_actions.cc:1930
+#: editor_actions.cc:1985
msgid "Trim End at Edit Point"
msgstr ""
-#: editor_actions.cc:1935
+#: editor_actions.cc:1990
msgid "Align Start"
msgstr ""
-#: editor_actions.cc:1942
+#: editor_actions.cc:1997
msgid "Align Start Relative"
msgstr ""
-#: editor_actions.cc:1946
+#: editor_actions.cc:2001
msgid "Align End"
msgstr ""
-#: editor_actions.cc:1951
+#: editor_actions.cc:2006
msgid "Align End Relative"
msgstr ""
-#: editor_actions.cc:1958
+#: editor_actions.cc:2013
msgid "Align Sync"
msgstr ""
-#: editor_actions.cc:1965
+#: editor_actions.cc:2020
msgid "Align Sync Relative"
msgstr ""
-#: editor_actions.cc:1969 editor_actions.cc:1972
+#: editor_actions.cc:2024 editor_actions.cc:2027
msgid "Choose Top..."
msgstr ""
-#: editor_audio_import.cc:77 editor_audio_import.cc:99
+#: editor_audio_import.cc:76 editor_audio_import.cc:98
msgid "You can't import or embed an audiofile until you have a session loaded."
msgstr "无法导入嵌入的的音频文件, 除éžä½ å·²ç»è½½å…¥ä¸€ä¸ªä¼šè¯æ–‡ä»¶."
-#: editor_audio_import.cc:83 editor_audio_import.cc:127
+#: editor_audio_import.cc:82 editor_audio_import.cc:126
msgid "Add Existing Media"
msgstr "添加已存在的媒体"
-#: editor_audio_import.cc:177
+#: editor_audio_import.cc:175
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%1 as a new file, or skip it?"
@@ -4228,7 +4330,7 @@ msgstr ""
"此会è¯å·²ç»å­˜åœ¨ä¸€ä¸ªå为 %1 çš„æºæ–‡ä»¶. 你想把 %1 作为一个新文件导入进æ¥, 或跳过"
"它?"
-#: editor_audio_import.cc:179
+#: editor_audio_import.cc:177
msgid ""
"The session already contains a source file named %1. Do you want to import "
"%2 as a new source, or skip it?"
@@ -4236,32 +4338,32 @@ msgstr ""
"此会è¯å·²ç»å­˜åœ¨ä¸€ä¸ªå为 %1 çš„æºæ–‡ä»¶. 你想把 %2 作为一个新的æºå¯¼å…¥è¿›æ¥, 或跳过"
"它?"
-#: editor_audio_import.cc:279 editor_videotimeline.cc:108
+#: editor_audio_import.cc:277 editor_videotimeline.cc:92
msgid "Cancel Import"
msgstr "å–消导入"
-#: editor_audio_import.cc:543
+#: editor_audio_import.cc:541
msgid "Editor: cannot open file \"%1\", (%2)"
msgstr "编辑器: 无法打开文件 \"%1\", (%2)"
-#: editor_audio_import.cc:551
+#: editor_audio_import.cc:549
msgid "Cancel entire import"
msgstr "å–消全部导入"
-#: editor_audio_import.cc:552
+#: editor_audio_import.cc:550
msgid "Don't embed it"
msgstr "ä¸åµŒå…¥ä¹‹"
-#: editor_audio_import.cc:553
+#: editor_audio_import.cc:551
msgid "Embed all without questions"
msgstr "嵌入所有, ä¸æé—®"
-#: editor_audio_import.cc:556 editor_audio_import.cc:585
-#: export_format_dialog.cc:58
+#: editor_audio_import.cc:554 editor_audio_import.cc:583
+#: export_format_dialog.cc:60
msgid "Sample rate"
msgstr "采样率"
-#: editor_audio_import.cc:557 editor_audio_import.cc:586
+#: editor_audio_import.cc:555 editor_audio_import.cc:584
msgid ""
"%1\n"
"This audiofile's sample rate doesn't match the session sample rate!"
@@ -4269,304 +4371,300 @@ msgstr ""
"%1\n"
"此音频文件的采样率与会è¯çš„采样率ä¸åŒ¹é…!"
-#: editor_audio_import.cc:582
+#: editor_audio_import.cc:580
msgid "Embed it anyway"
msgstr "嵌入之, ä¸ç®¡äº†"
-#: editor_drag.cc:1000
+#: editor_drag.cc:994
+msgid "Could not create new track after region placed in the drop zone"
+msgstr ""
+
+#: editor_drag.cc:1100
msgid "fixed time region drag"
msgstr "固定时间区域拖拽"
-#: editor_drag.cc:1700
+#: editor_drag.cc:1797
+msgid "Ripple drag"
+msgstr ""
+
+#: editor_drag.cc:2093
msgid "Video Start:"
msgstr ""
-#: editor_drag.cc:1702
+#: editor_drag.cc:2095
msgid "Diff:"
msgstr ""
-#: editor_drag.cc:1722
+#: editor_drag.cc:2114
msgid "Move Video"
msgstr ""
-#: editor_drag.cc:2200
+#: editor_drag.cc:2621
msgid "copy meter mark"
msgstr "å¤åˆ¶æ ‡å°ºæ ‡è®°"
-#: editor_drag.cc:2208
+#: editor_drag.cc:2629
msgid "move meter mark"
msgstr "移动标尺标记"
-#: editor_drag.cc:2320
+#: editor_drag.cc:2752
msgid "copy tempo mark"
msgstr "å¤åˆ¶èŠ‚å¥æ ‡è®°"
-#: editor_drag.cc:2328
+#: editor_drag.cc:2760
msgid "move tempo mark"
msgstr "移动节å¥æ ‡è®°"
-#: editor_drag.cc:2550
+#: editor_drag.cc:2989
msgid "change fade in length"
msgstr "改å˜æ¸å…¥é•¿åº¦"
-#: editor_drag.cc:2668
+#: editor_drag.cc:3107
msgid "change fade out length"
msgstr "改å˜æ¸å‡ºé•¿åº¦"
-#: editor_drag.cc:3023
+#: editor_drag.cc:3463
msgid "move marker"
msgstr "移动标记"
-#: editor_drag.cc:3586
+#: editor_drag.cc:4046
msgid "An error occurred while executing time stretch operation"
msgstr "当执行时间延伸æ“作时出现错误"
-#: editor_drag.cc:4016
+#: editor_drag.cc:4493
msgid "programming_error: %1"
msgstr ""
-#: editor_drag.cc:4086 editor_markers.cc:680
+#: editor_drag.cc:4559 editor_markers.cc:694
msgid "new range marker"
msgstr "新范围标记"
-#: editor_drag.cc:4767
+#: editor_drag.cc:5259
msgid "rubberband selection"
msgstr ""
-#: editor_route_groups.cc:66
-msgid "No Selection = All Tracks?"
-msgstr ""
-
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Col"
msgstr ""
-#: editor_route_groups.cc:95
+#: editor_route_groups.cc:96
msgid "Group Tab Color"
msgstr ""
-#: editor_route_groups.cc:96
+#: editor_route_groups.cc:97
msgid "Name of Group"
msgstr ""
-#: editor_route_groups.cc:97 editor_routes.cc:203
+#: editor_route_groups.cc:98 editor_routes.cc:205
msgid "V"
msgstr ""
-#: editor_route_groups.cc:97
+#: editor_route_groups.cc:98
msgid "Group is visible?"
msgstr ""
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "On"
msgstr ""
-#: editor_route_groups.cc:98
+#: editor_route_groups.cc:99
msgid "Group is enabled?"
msgstr ""
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "group|G"
msgstr ""
-#: editor_route_groups.cc:99
+#: editor_route_groups.cc:100
msgid "Sharing Gain?"
msgstr ""
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "relative|Rel"
msgstr ""
-#: editor_route_groups.cc:100
+#: editor_route_groups.cc:101
msgid "Relative Gain Changes?"
msgstr ""
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "mute|M"
msgstr ""
-#: editor_route_groups.cc:101
+#: editor_route_groups.cc:102
msgid "Sharing Mute?"
msgstr ""
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "solo|S"
msgstr ""
-#: editor_route_groups.cc:102
+#: editor_route_groups.cc:103
msgid "Sharing Solo?"
msgstr ""
-#: editor_route_groups.cc:103 midi_time_axis.cc:1504 midi_time_axis.cc:1507
-#: midi_time_axis.cc:1510 mixer_strip.cc:1903
+#: editor_route_groups.cc:104 midi_time_axis.cc:1703 midi_time_axis.cc:1706
+#: midi_time_axis.cc:1709
msgid "Rec"
msgstr ""
-#: editor_route_groups.cc:103
+#: editor_route_groups.cc:104
msgid "Sharing Record-enable Status?"
msgstr ""
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "monitoring|Mon"
msgstr ""
-#: editor_route_groups.cc:104
+#: editor_route_groups.cc:105
msgid "Sharing Monitoring Choice?"
msgstr ""
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "selection|Sel"
msgstr ""
-#: editor_route_groups.cc:105
+#: editor_route_groups.cc:106
msgid "Sharing Selected/Editing Status?"
msgstr ""
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "active|A"
msgstr ""
-#: editor_route_groups.cc:106
+#: editor_route_groups.cc:107
msgid "Sharing Active Status?"
msgstr ""
-#: editor_route_groups.cc:197
-msgid "Activate this button to operate on all tracks when none are selected."
-msgstr ""
-
-#: editor_route_groups.cc:442 mixer_ui.cc:1449
+#: editor_route_groups.cc:438 mixer_ui.cc:1469
msgid "unnamed"
msgstr "未命åçš„"
-#: editor_export_audio.cc:90 editor_markers.cc:695 editor_markers.cc:782
-#: editor_markers.cc:967 editor_markers.cc:985 editor_markers.cc:1003
-#: editor_markers.cc:1022 editor_markers.cc:1041 editor_markers.cc:1071
-#: editor_markers.cc:1102 editor_markers.cc:1132 editor_markers.cc:1160
-#: editor_markers.cc:1191 editor_markers.cc:1216 editor_markers.cc:1267
-#: editor_markers.cc:1311 editor_markers.cc:1337 editor_markers.cc:1526
-#: editor_mouse.cc:2528
+#: editor_export_audio.cc:92 editor_markers.cc:709 editor_markers.cc:796
+#: editor_markers.cc:981 editor_markers.cc:999 editor_markers.cc:1017
+#: editor_markers.cc:1036 editor_markers.cc:1055 editor_markers.cc:1085
+#: editor_markers.cc:1116 editor_markers.cc:1146 editor_markers.cc:1174
+#: editor_markers.cc:1205 editor_markers.cc:1230 editor_markers.cc:1281
+#: editor_markers.cc:1325 editor_markers.cc:1351 editor_markers.cc:1545
+#: editor_mouse.cc:2290
msgid "programming error: marker canvas item has no marker object pointer!"
msgstr ""
-#: editor_export_audio.cc:143 editor_export_audio.cc:148
+#: editor_export_audio.cc:145 editor_export_audio.cc:150
msgid "File Exists!"
msgstr ""
-#: editor_export_audio.cc:151
+#: editor_export_audio.cc:153
msgid "Overwrite Existing File"
msgstr ""
-#: editor_group_tabs.cc:162
+#: editor_group_tabs.cc:176
msgid "Fit to Window"
msgstr "放置窗å£"
-#: editor_markers.cc:129
+#: editor_markers.cc:139
msgid "start"
msgstr "开始"
-#: editor_markers.cc:130
+#: editor_markers.cc:140
msgid "end"
msgstr "结æŸ"
-#: editor_markers.cc:646 editor_ops.cc:1744 editor_ops.cc:1764
-#: editor_ops.cc:1788 editor_ops.cc:1815 location_ui.cc:1017
+#: editor_markers.cc:660 editor_ops.cc:1915 editor_ops.cc:1935
+#: editor_ops.cc:1988 editor_ops.cc:2015 location_ui.cc:1019
msgid "add marker"
msgstr "添加标记"
-#: editor_markers.cc:677
+#: editor_markers.cc:691
msgid "range"
msgstr ""
-#: editor_markers.cc:713 location_ui.cc:852
+#: editor_markers.cc:727 editor_ops.cc:1955 location_ui.cc:854
msgid "remove marker"
msgstr "移除标记"
-#: editor_markers.cc:849
+#: editor_markers.cc:863
msgid "Locate to Here"
msgstr "定ä½åˆ°æ­¤å¤„"
-#: editor_markers.cc:850
+#: editor_markers.cc:864
msgid "Play from Here"
msgstr "从这儿播放"
-#: editor_markers.cc:851
+#: editor_markers.cc:865
msgid "Move Mark to Playhead"
msgstr "移动标记到播放头"
-#: editor_markers.cc:855
+#: editor_markers.cc:869
msgid "Create Range to Next Marker"
msgstr "创建范围到下一个标记"
-#: editor_markers.cc:896
+#: editor_markers.cc:910
msgid "Locate to Marker"
msgstr ""
-#: editor_markers.cc:897
+#: editor_markers.cc:911
msgid "Play from Marker"
msgstr ""
-#: editor_markers.cc:900
+#: editor_markers.cc:914
msgid "Set Marker from Playhead"
msgstr ""
-#: editor_markers.cc:902
+#: editor_markers.cc:916
msgid "Set Range from Selection"
msgstr ""
-#: editor_markers.cc:905
-msgid "Zoom to Range"
-msgstr ""
-
-#: editor_markers.cc:912
+#: editor_markers.cc:926
msgid "Hide Range"
msgstr "éšè—范围"
-#: editor_markers.cc:913
+#: editor_markers.cc:927
msgid "Rename Range..."
msgstr "é‡å‘½å范围..."
-#: editor_markers.cc:917
+#: editor_markers.cc:931
msgid "Remove Range"
msgstr "移除范围"
-#: editor_markers.cc:924
+#: editor_markers.cc:938
msgid "Separate Regions in Range"
msgstr "在范围中分离区域"
-#: editor_markers.cc:927
+#: editor_markers.cc:941
msgid "Select Range"
msgstr "选择范围"
-#: editor_markers.cc:956
+#: editor_markers.cc:970
msgid "Set Punch Range"
msgstr "设置Punch范围"
-#: editor_markers.cc:1362 editor_ops.cc:1699
+#: editor_markers.cc:1376 editor_ops.cc:1870
msgid "New Name:"
msgstr "æ–°å称:"
-#: editor_markers.cc:1365
+#: editor_markers.cc:1379
msgid "Rename Mark"
msgstr "é‡å‘½å标记"
-#: editor_markers.cc:1367
+#: editor_markers.cc:1381
msgid "Rename Range"
msgstr "é‡å‘½å范围"
-#: editor_markers.cc:1374 editor_mouse.cc:2560 processor_box.cc:1808
-#: processor_box.cc:2274 route_time_axis.cc:982 route_ui.cc:1540
+#: editor_markers.cc:1388 editor_mouse.cc:2319 processor_box.cc:2038
+#: processor_box.cc:2508 route_time_axis.cc:1073 route_ui.cc:1622
msgid "Rename"
msgstr "é‡å‘½å"
-#: editor_markers.cc:1387
+#: editor_markers.cc:1401
msgid "rename marker"
msgstr "é‡å‘½å标记"
-#: editor_markers.cc:1411
+#: editor_markers.cc:1425
msgid "set loop range"
msgstr "设置循环范围"
-#: editor_markers.cc:1417
+#: editor_markers.cc:1431
msgid "set punch range"
msgstr "设置冲击范围"
@@ -4574,185 +4672,194 @@ msgstr "设置冲击范围"
msgid "This screen is not tall enough to display the editor mixer"
msgstr ""
-#: editor_mouse.cc:172
-msgid "Editor::event_frame() used on unhandled event type %1"
+#: editor_mouse.cc:1384 editor_mouse.cc:1402 editor_tempodisplay.cc:273
+msgid ""
+"programming error: tempo marker canvas item has no marker object pointer!"
+msgstr ""
+
+#: editor_mouse.cc:1389 editor_tempodisplay.cc:278
+msgid "programming error: marker for tempo is not a tempo marker!"
+msgstr ""
+
+#: editor_mouse.cc:1407 editor_tempodisplay.cc:382
+msgid "programming error: marker for meter is not a meter marker!"
msgstr ""
-#: editor_mouse.cc:2285 editor_mouse.cc:2310 editor_mouse.cc:2323
+#: editor_mouse.cc:2047 editor_mouse.cc:2072 editor_mouse.cc:2085
msgid ""
"programming error: control point canvas item has no control point object "
"pointer!"
msgstr ""
-#: editor_mouse.cc:2466
+#: editor_mouse.cc:2228
msgid "start point trim"
msgstr "起始点修剪"
-#: editor_mouse.cc:2491
+#: editor_mouse.cc:2253
msgid "End point trim"
msgstr "终止点修剪"
-#: editor_mouse.cc:2558
+#: editor_mouse.cc:2317
msgid "Name for region:"
msgstr "区域å:"
-#: editor_ops.cc:140
+#: editor_ops.cc:147
msgid "split"
msgstr "分离"
-#: editor_ops.cc:256
+#: editor_ops.cc:291
msgid "alter selection"
msgstr "转æ¢é€‰åŒº"
-#: editor_ops.cc:298
+#: editor_ops.cc:333
msgid "nudge regions forward"
msgstr ""
-#: editor_ops.cc:321 editor_ops.cc:406
+#: editor_ops.cc:356 editor_ops.cc:441
msgid "nudge location forward"
msgstr ""
-#: editor_ops.cc:379
+#: editor_ops.cc:414
msgid "nudge regions backward"
msgstr ""
-#: editor_ops.cc:468
+#: editor_ops.cc:503
msgid "nudge forward"
msgstr ""
-#: editor_ops.cc:492
+#: editor_ops.cc:527
msgid "nudge backward"
msgstr ""
-#: editor_ops.cc:557
+#: editor_ops.cc:570
+msgid "sequence regions"
+msgstr ""
+
+#: editor_ops.cc:646
msgid "build_region_boundary_cache called with snap_type = %1"
msgstr ""
-#: editor_ops.cc:1701
+#: editor_ops.cc:1872
msgid "New Location Marker"
msgstr "æ–°ä½ç½®æ ‡è®°"
-#: editor_ops.cc:1788
+#: editor_ops.cc:1988
msgid "add markers"
msgstr "添加一些标记"
-#: editor_ops.cc:1894
+#: editor_ops.cc:2094
msgid "clear markers"
msgstr "清除表己"
-#: editor_ops.cc:1907
+#: editor_ops.cc:2107
msgid "clear ranges"
msgstr "清除范围"
-#: editor_ops.cc:1929
+#: editor_ops.cc:2129
msgid "clear locations"
msgstr "清除ä½ç½®"
-#: editor_ops.cc:2000
-msgid "insert dragged region"
-msgstr "æ’入拖拽区域"
-
-#: editor_ops.cc:2078
+#: editor_ops.cc:2191
msgid "insert region"
msgstr "摄入区域"
-#: editor_ops.cc:2261
+#: editor_ops.cc:2377
msgid "raise regions"
msgstr ""
-#: editor_ops.cc:2263
+#: editor_ops.cc:2379
msgid "raise region"
msgstr ""
-#: editor_ops.cc:2269
+#: editor_ops.cc:2385
msgid "raise regions to top"
msgstr ""
-#: editor_ops.cc:2271
+#: editor_ops.cc:2387
msgid "raise region to top"
msgstr ""
-#: editor_ops.cc:2277
+#: editor_ops.cc:2393
msgid "lower regions"
msgstr ""
-#: editor_ops.cc:2279 editor_ops.cc:2287
+#: editor_ops.cc:2395 editor_ops.cc:2403
msgid "lower region"
msgstr ""
-#: editor_ops.cc:2285
+#: editor_ops.cc:2401
msgid "lower regions to bottom"
msgstr ""
-#: editor_ops.cc:2370
+#: editor_ops.cc:2486
msgid "Rename Region"
msgstr "é‡å‘½å区域"
-#: editor_ops.cc:2372 processor_box.cc:1806 route_ui.cc:1538
+#: editor_ops.cc:2488 processor_box.cc:2036 route_ui.cc:1620
msgid "New name:"
msgstr "æ–°åå­—:"
-#: editor_ops.cc:2682
+#: editor_ops.cc:2798
msgid "separate"
msgstr "分离"
-#: editor_ops.cc:2795
+#: editor_ops.cc:2910
msgid "separate region under"
msgstr "分离区域于"
-#: editor_ops.cc:2916
+#: editor_ops.cc:3031
msgid "trim to selection"
msgstr "修剪选å–"
-#: editor_ops.cc:3052
+#: editor_ops.cc:3167
msgid "set sync point"
msgstr "设置åŒæ­¥ç‚¹"
-#: editor_ops.cc:3076
+#: editor_ops.cc:3191
msgid "remove region sync"
msgstr "移除区域åŒæ­¥"
-#: editor_ops.cc:3098
+#: editor_ops.cc:3213
msgid "move regions to original position"
msgstr "移动区域到原始ä½ç½®"
-#: editor_ops.cc:3100
+#: editor_ops.cc:3215
msgid "move region to original position"
msgstr "移动区域到原始ä½ç½®"
-#: editor_ops.cc:3121
+#: editor_ops.cc:3236
msgid "align selection"
msgstr "对é½é€‰æ‹©"
-#: editor_ops.cc:3195
+#: editor_ops.cc:3310
msgid "align selection (relative)"
msgstr "对其选择(相关的)"
-#: editor_ops.cc:3229
+#: editor_ops.cc:3344
msgid "align region"
msgstr "对其区域"
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim front"
msgstr ""
-#: editor_ops.cc:3280
+#: editor_ops.cc:3395
msgid "trim back"
msgstr ""
-#: editor_ops.cc:3310
+#: editor_ops.cc:3425
msgid "trim to loop"
msgstr ""
-#: editor_ops.cc:3320
+#: editor_ops.cc:3435
msgid "trim to punch"
msgstr ""
-#: editor_ops.cc:3382
+#: editor_ops.cc:3497
msgid "trim to region"
msgstr ""
-#: editor_ops.cc:3492
+#: editor_ops.cc:3605
msgid ""
"This track/bus cannot be frozen because the signal adds or loses channels "
"before reaching the outputs.\n"
@@ -4760,11 +4867,11 @@ msgid ""
"input or vice versa."
msgstr ""
-#: editor_ops.cc:3495
+#: editor_ops.cc:3608
msgid "Cannot freeze"
msgstr "无法冻结"
-#: editor_ops.cc:3501
+#: editor_ops.cc:3614
msgid ""
"<b>%1</b>\n"
"\n"
@@ -4773,23 +4880,23 @@ msgid ""
"Freezing will only process the signal as far as the first send/insert/return."
msgstr ""
-#: editor_ops.cc:3505
+#: editor_ops.cc:3618
msgid "Freeze anyway"
msgstr ""
-#: editor_ops.cc:3506
+#: editor_ops.cc:3619
msgid "Don't freeze"
msgstr ""
-#: editor_ops.cc:3507
+#: editor_ops.cc:3620
msgid "Freeze Limits"
msgstr ""
-#: editor_ops.cc:3522
+#: editor_ops.cc:3635
msgid "Cancel Freeze"
msgstr "å–消冻结"
-#: editor_ops.cc:3553
+#: editor_ops.cc:3666
msgid ""
"You can't perform this operation because the processing of the signal will "
"cause one or more of the tracks to end up with a region with more channels "
@@ -4798,51 +4905,63 @@ msgid ""
"You can do this without processing, which is a different operation."
msgstr ""
-#: editor_ops.cc:3557
+#: editor_ops.cc:3670
msgid "Cannot bounce"
msgstr ""
-#: editor_ops.cc:3568
+#: editor_ops.cc:3681
msgid "bounce range"
msgstr ""
-#: editor_ops.cc:3678
+#: editor_ops.cc:3783
msgid "delete"
msgstr "删除"
-#: editor_ops.cc:3681
+#: editor_ops.cc:3786
msgid "cut"
msgstr "剪切"
-#: editor_ops.cc:3684
+#: editor_ops.cc:3789
msgid "copy"
msgstr "å¤åˆ¶"
-#: editor_ops.cc:3687
+#: editor_ops.cc:3792
msgid "clear"
msgstr "清除"
-#: editor_ops.cc:3785
-msgid " objects"
-msgstr "对象"
+#: editor_ops.cc:3845
+msgid " points"
+msgstr ""
-#: editor_ops.cc:3815
+#: editor_ops.cc:3856
+msgid "points"
+msgstr ""
+
+#: editor_ops.cc:3858
+msgid "regions"
+msgstr ""
+
+#: editor_ops.cc:3860
+msgid "objects"
+msgstr ""
+
+#: editor_ops.cc:3890
msgid " range"
msgstr "范围"
-#: editor_ops.cc:3957 editor_ops.cc:3984
+#: editor_ops.cc:4059
msgid "remove region"
msgstr "删除区间"
-#: editor_ops.cc:4391
+#: editor_ops.cc:4475
msgid "duplicate selection"
msgstr "é‡å¤é€‰æ‹©"
-#: editor_ops.cc:4469
+#: editor_ops.cc:4553
msgid "nudge track"
msgstr ""
-#: editor_ops.cc:4506
+#: editor_ops.cc:4590
msgid ""
"Do you really want to destroy the last capture?\n"
"(This is destructive and cannot be undone)"
@@ -4850,132 +4969,140 @@ msgstr ""
"你确定销æ¯æœ€åŽçš„录音?\n"
"(这个æ“作有æ¯ç­æ€§, ä¸èƒ½æ’¤é”€!)"
-#: editor_ops.cc:4509 editor_ops.cc:6512 editor_regions.cc:460
-#: editor_snapshots.cc:158 route_ui.cc:1482
+#: editor_ops.cc:4593 editor_ops.cc:6594 editor_regions.cc:461
+#: editor_snapshots.cc:159 route_ui.cc:1563
msgid "No, do nothing."
msgstr "ä¸, 什么都ä¸åš."
-#: editor_ops.cc:4510
+#: editor_ops.cc:4594
msgid "Yes, destroy it."
msgstr "是, 销æ¯å®ƒ."
-#: editor_ops.cc:4512
+#: editor_ops.cc:4596
msgid "Destroy last capture"
msgstr "销æ¯æœ€åŽçš„录音"
-#: editor_ops.cc:4573
+#: editor_ops.cc:4657
msgid "normalize"
msgstr "标准化"
-#: editor_ops.cc:4668
+#: editor_ops.cc:4752
msgid "reverse regions"
msgstr "倒置区域"
-#: editor_ops.cc:4702
+#: editor_ops.cc:4786
msgid "strip silence"
msgstr ""
-#: editor_ops.cc:4763
+#: editor_ops.cc:4847
msgid "Fork Region(s)"
msgstr ""
-#: editor_ops.cc:4963
+#: editor_ops.cc:4868
+msgid "Could not unlink %1"
+msgstr ""
+
+#: editor_ops.cc:5052
msgid "reset region gain"
msgstr "é‡è®¾åŒºåŸŸå¢žç›Š"
-#: editor_ops.cc:5016
+#: editor_ops.cc:5105
msgid "region gain envelope active"
msgstr "区域增益包络å¯ç”¨"
-#: editor_ops.cc:5043
+#: editor_ops.cc:5132
msgid "toggle region lock"
msgstr "切æ¢åŒºåŸŸé”定"
-#: editor_ops.cc:5067
+#: editor_ops.cc:5156
msgid "Toggle Video Lock"
msgstr ""
-#: editor_ops.cc:5091
+#: editor_ops.cc:5180
msgid "region lock style"
msgstr "区域é”定风格"
-#: editor_ops.cc:5116
+#: editor_ops.cc:5205
msgid "change region opacity"
msgstr "改å˜åŒºåŸŸçš„ä¸é€æ˜Žåº¦"
-#: editor_ops.cc:5231
+#: editor_ops.cc:5298
+msgid "fade range"
+msgstr ""
+
+#: editor_ops.cc:5336
msgid "set fade in length"
msgstr "设置淡入长度"
-#: editor_ops.cc:5238
+#: editor_ops.cc:5343
msgid "set fade out length"
msgstr "设置淡出长度"
-#: editor_ops.cc:5283
+#: editor_ops.cc:5388
msgid "set fade in shape"
msgstr "设置淡入形状"
-#: editor_ops.cc:5314
+#: editor_ops.cc:5419
msgid "set fade out shape"
msgstr "设置淡出形状"
-#: editor_ops.cc:5344
+#: editor_ops.cc:5449
msgid "set fade in active"
msgstr "设置淡入å¯ç”¨"
-#: editor_ops.cc:5373
+#: editor_ops.cc:5478
msgid "set fade out active"
msgstr "设置淡出长度"
-#: editor_ops.cc:5638
+#: editor_ops.cc:5713
msgid "set loop range from selection"
msgstr "从选择设置循环范围"
-#: editor_ops.cc:5660
+#: editor_ops.cc:5735
msgid "set loop range from edit range"
msgstr "从编辑范围设置循环范围"
-#: editor_ops.cc:5689
+#: editor_ops.cc:5764
msgid "set loop range from region"
msgstr "从范围设置循环范围"
-#: editor_ops.cc:5707
+#: editor_ops.cc:5782
msgid "set punch range from selection"
msgstr "从选择设置punch范围"
-#: editor_ops.cc:5724
+#: editor_ops.cc:5799
msgid "set punch range from edit range"
msgstr "从编辑范围设置punch区间"
-#: editor_ops.cc:5748
+#: editor_ops.cc:5823
msgid "set punch range from region"
msgstr "从区域设置punch范围"
-#: editor_ops.cc:5857
+#: editor_ops.cc:5932
msgid "Add new marker"
msgstr "添加新标记"
-#: editor_ops.cc:5858
+#: editor_ops.cc:5933
msgid "Set global tempo"
msgstr "设置全局速度"
-#: editor_ops.cc:5861
+#: editor_ops.cc:5936
msgid "Define one bar"
msgstr "定义一个bar"
-#: editor_ops.cc:5862
+#: editor_ops.cc:5937
msgid "Do you want to set the global tempo or add a new tempo marker?"
msgstr "你是å¦æƒ³è¦è®¾ç½®å…¨å±€é€Ÿåº¦æˆ–添加一个新的速度标签?"
-#: editor_ops.cc:5888
+#: editor_ops.cc:5963
msgid "set tempo from region"
msgstr "从区域设置速度"
-#: editor_ops.cc:5918
+#: editor_ops.cc:5993
msgid "split regions"
msgstr "分离区域"
-#: editor_ops.cc:5960
+#: editor_ops.cc:6035
msgid ""
"You are about to split\n"
"%1\n"
@@ -4987,11 +5114,11 @@ msgstr ""
" %2 æ–­.\n"
"这需è¦ä¸€äº›æ—¶é—´."
-#: editor_ops.cc:5967
+#: editor_ops.cc:6042
msgid "Call for the Ferret!"
msgstr ""
-#: editor_ops.cc:5968
+#: editor_ops.cc:6043
msgid ""
"Press OK to continue with this split operation\n"
"or ask the Ferret dialog to tune the analysis"
@@ -4999,52 +5126,52 @@ msgstr ""
"按OKæ¥ç»§ç»­åˆ†ç¦»æ“作\n"
"or ask the Ferret dialog to tune the analysis"
-#: editor_ops.cc:5970
+#: editor_ops.cc:6045
msgid "Press OK to continue with this split operation"
msgstr "按OKæ¥ç»§ç»­åˆ†ç¦»æ“作"
-#: editor_ops.cc:5973
+#: editor_ops.cc:6048
msgid "Excessive split?"
msgstr "过多的分离?"
-#: editor_ops.cc:6125
+#: editor_ops.cc:6200
msgid "place transient"
msgstr ""
-#: editor_ops.cc:6160
+#: editor_ops.cc:6235
msgid "snap regions to grid"
msgstr ""
-#: editor_ops.cc:6199
+#: editor_ops.cc:6274
msgid "Close Region Gaps"
msgstr "关闭区域空白"
-#: editor_ops.cc:6204
+#: editor_ops.cc:6279
msgid "Crossfade length"
msgstr "交å‰æ·¡å…¥æ·¡å‡ºé•¿åº¦"
-#: editor_ops.cc:6213 editor_ops.cc:6224 rhythm_ferret.cc:120
-#: session_option_editor.cc:153
+#: editor_ops.cc:6288 editor_ops.cc:6299 rhythm_ferret.cc:119
+#: session_option_editor.cc:141
msgid "ms"
msgstr ""
-#: editor_ops.cc:6215
+#: editor_ops.cc:6290
msgid "Pull-back length"
msgstr ""
-#: editor_ops.cc:6228
+#: editor_ops.cc:6303
msgid "Ok"
msgstr ""
-#: editor_ops.cc:6243
+#: editor_ops.cc:6318
msgid "close region gaps"
msgstr "关闭区间空白"
-#: editor_ops.cc:6461 route_ui.cc:1456
+#: editor_ops.cc:6543 route_ui.cc:1537
msgid "That would be bad news ...."
msgstr ""
-#: editor_ops.cc:6466 route_ui.cc:1461
+#: editor_ops.cc:6548 route_ui.cc:1542
msgid ""
"Removing the master or monitor bus is such a bad idea\n"
"that %1 is not going to allow it.\n"
@@ -5054,23 +5181,23 @@ msgid ""
"\"allow-special-bus-removal\" option to be \"yes\""
msgstr ""
-#: editor_ops.cc:6483
+#: editor_ops.cc:6565
msgid "tracks"
msgstr "音轨"
-#: editor_ops.cc:6485 route_ui.cc:1821
+#: editor_ops.cc:6567 route_ui.cc:1978
msgid "track"
msgstr "音轨"
-#: editor_ops.cc:6489
+#: editor_ops.cc:6571
msgid "busses"
msgstr "总线"
-#: editor_ops.cc:6491 route_ui.cc:1821
+#: editor_ops.cc:6573 route_ui.cc:1978
msgid "bus"
msgstr "总线"
-#: editor_ops.cc:6496
+#: editor_ops.cc:6578
msgid ""
"Do you really want to remove %1 %2 and %3 %4?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5082,7 +5209,7 @@ msgstr ""
"\n"
"此动作ä¸å¯æ’¤é”€, 而且此会è¯æ–‡ä»¶å°†ä¼šè¢«é‡æ–°å†™å…¥!"
-#: editor_ops.cc:6501
+#: editor_ops.cc:6583
msgid ""
"Do you really want to remove %1 %2?\n"
"(You may also lose the playlists associated with the %2)\n"
@@ -5094,7 +5221,7 @@ msgstr ""
"\n"
"此动作ä¸å¯æ’¤é”€, 而且此会è¯æ–‡ä»¶å°†ä¼šè¢«é‡æ–°å†™å…¥!"
-#: editor_ops.cc:6507
+#: editor_ops.cc:6589
msgid ""
"Do you really want to remove %1 %2?\n"
"\n"
@@ -5104,355 +5231,361 @@ msgstr ""
"\n"
"此动作ä¸å¯æ’¤é”€, 而且此会è¯æ–‡ä»¶å°†ä¼šè¢«é‡æ–°å†™å…¥!"
-#: editor_ops.cc:6514
+#: editor_ops.cc:6596
msgid "Yes, remove them."
msgstr "是的, 移除他们."
-#: editor_ops.cc:6516 editor_snapshots.cc:159 route_ui.cc:1483
+#: editor_ops.cc:6598 editor_snapshots.cc:160 route_ui.cc:1564
msgid "Yes, remove it."
msgstr "使得, 移除它."
-#: editor_ops.cc:6521 editor_ops.cc:6523
+#: editor_ops.cc:6603 editor_ops.cc:6605
msgid "Remove %1"
msgstr "移除 %1"
-#: editor_ops.cc:6582
+#: editor_ops.cc:6668
msgid "insert time"
msgstr "æ’入时间"
-#: editor_ops.cc:6739
+#: editor_ops.cc:6832
msgid "There are too many tracks to fit in the current window"
msgstr "现在的窗å£å¯èƒ½å®¹çº³ä¸ä¸‹è¿™ä¹ˆå¤šçš„音轨."
-#: editor_ops.cc:6839
+#: editor_ops.cc:6893
+msgid "Sel"
+msgstr ""
+
+#: editor_ops.cc:6932
#, c-format
msgid "Saved view %u"
msgstr "ä¿å­˜è§†å›¾ %u"
-#: editor_ops.cc:6864
+#: editor_ops.cc:6957
msgid "mute regions"
msgstr "这些区域é™éŸ³"
-#: editor_ops.cc:6866
+#: editor_ops.cc:6959
msgid "mute region"
msgstr "区域é™éŸ³"
-#: editor_ops.cc:6903
+#: editor_ops.cc:6996
msgid "combine regions"
msgstr "组åˆè¿™äº›åŒºåŸŸ"
-#: editor_ops.cc:6941
+#: editor_ops.cc:7034
msgid "uncombine regions"
msgstr "å–消这些区域的组åˆ"
-#: editor_regions.cc:111
-msgid "Region name, with number of channels in []'s"
+#: editor_ops.cc:7071
+msgid "%1: Locked"
+msgstr ""
+
+#: editor_ops.cc:7078
+msgid "Click to unlock"
+msgstr ""
+
+#: editor_ops.cc:7132
+msgid "Moving embedded files into session folder"
msgstr ""
#: editor_regions.cc:112
+msgid "Region name, with number of channels in []'s"
+msgstr ""
+
+#: editor_regions.cc:113
msgid "Position of start of region"
msgstr ""
-#: editor_regions.cc:113 editor_regions.cc:849 time_info_box.cc:98
+#: editor_regions.cc:114 editor_regions.cc:850 time_info_box.cc:101
msgid "End"
msgstr "结æŸ"
-#: editor_regions.cc:113
+#: editor_regions.cc:114
msgid "Position of end of region"
msgstr ""
-#: editor_regions.cc:114
+#: editor_regions.cc:115
msgid "Length of the region"
msgstr ""
-#: editor_regions.cc:115
+#: editor_regions.cc:116
msgid "Position of region sync point, relative to start of the region"
msgstr ""
-#: editor_regions.cc:116
+#: editor_regions.cc:117
msgid "Length of region fade-in (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:117
-msgid "Length of region fade-out (units: secondary clock), () if dsisabled"
+#: editor_regions.cc:118
+msgid "Length of region fade-out (units: secondary clock), () if disabled"
msgstr ""
-#: editor_regions.cc:118 mixer_strip.cc:1954 mono_panner.cc:179
-#: stereo_panner.cc:217 stereo_panner.cc:240
+#: editor_regions.cc:119 mixer_strip.cc:2010 mono_panner.cc:204
+#: panner2d.cc:237 stereo_panner.cc:248 stereo_panner.cc:271
msgid "L"
msgstr ""
-#: editor_regions.cc:118
+#: editor_regions.cc:119
msgid "Region position locked?"
msgstr ""
-#: editor_regions.cc:119
+#: editor_regions.cc:120 route_time_axis.cc:99
msgid "G"
msgstr ""
-#: editor_regions.cc:119
+#: editor_regions.cc:120
msgid "Region position glued to Bars|Beats time?"
msgstr ""
-#: editor_regions.cc:120 editor_routes.cc:207 gain_meter.cc:762
-#: mixer_strip.cc:1931 meter_strip.cc:320 panner_ui.cc:553
-#: stereo_panner.cc:237
+#: editor_regions.cc:121 editor_routes.cc:209 gain_meter.cc:768
+#: mixer_strip.cc:1987 meter_strip.cc:359 panner_ui.cc:602
+#: route_time_axis.cc:2568 stereo_panner.cc:268 time_axis_view.cc:1156
msgid "M"
msgstr ""
-#: editor_regions.cc:120
+#: editor_regions.cc:121
msgid "Region muted?"
msgstr ""
-#: editor_regions.cc:121
+#: editor_regions.cc:122 mixer_strip.cc:1810
msgid "O"
msgstr ""
-#: editor_regions.cc:121
+#: editor_regions.cc:122
msgid "Region opaque (blocks regions below it from being heard)?"
msgstr ""
-#: editor_regions.cc:310 editor_regions.cc:315 editor_regions.cc:317
+#: editor_regions.cc:311 editor_regions.cc:316 editor_regions.cc:318
msgid "Hidden"
msgstr "éšè—"
-#: editor_regions.cc:389
+#: editor_regions.cc:390
msgid "(MISSING) "
msgstr "(找ä¸åˆ°) "
-#: editor_regions.cc:457
+#: editor_regions.cc:458
msgid ""
"Do you really want to remove unused regions?\n"
"(This is destructive and cannot be undone)"
msgstr ""
-#: editor_regions.cc:461
+#: editor_regions.cc:462
msgid "Yes, remove."
msgstr "确定移除."
-#: editor_regions.cc:463
+#: editor_regions.cc:464
msgid "Remove unused regions"
msgstr "移除没用的区域"
-#: editor_regions.cc:816 editor_regions.cc:830 editor_regions.cc:844
+#: editor_regions.cc:817 editor_regions.cc:831 editor_regions.cc:845
msgid "Mult."
msgstr "多"
-#: editor_regions.cc:847 midi_list_editor.cc:103 time_info_box.cc:91
+#: editor_regions.cc:848 midi_list_editor.cc:103 time_info_box.cc:94
msgid "Start"
msgstr "开始"
-#: editor_regions.cc:865 editor_regions.cc:881
+#: editor_regions.cc:866 editor_regions.cc:882
msgid "Multiple"
msgstr "多"
-#: editor_regions.cc:950
+#: editor_regions.cc:951
msgid "MISSING "
msgstr "找ä¸åˆ°"
-#: editor_routes.cc:178 editor_routes.cc:210
+#: editor_routes.cc:180 editor_routes.cc:212
msgid "SS"
msgstr ""
-#: editor_routes.cc:202
+#: editor_routes.cc:204
msgid "Track/Bus Name"
msgstr ""
-#: editor_routes.cc:203
+#: editor_routes.cc:205
msgid "Track/Bus visible ?"
msgstr ""
-#: editor_routes.cc:204 mixer_strip.cc:1945 meter_strip.cc:334
-#: route_time_axis.cc:2407
+#: editor_routes.cc:206 mixer_strip.cc:2001 meter_strip.cc:371
+#: route_time_axis.cc:101 route_time_axis.cc:2556
msgid "A"
msgstr ""
-#: editor_routes.cc:204
+#: editor_routes.cc:206
msgid "Track/Bus active ?"
msgstr ""
-#: editor_routes.cc:205 mixer_strip.cc:1932
+#: editor_routes.cc:207 mixer_strip.cc:1988 mixer_strip.cc:2009
+#: meter_strip.cc:379
msgid "I"
msgstr ""
-#: editor_routes.cc:205
+#: editor_routes.cc:207
msgid "MIDI input enabled"
msgstr ""
-#: editor_routes.cc:206 mixer_strip.cc:1930 mono_panner.cc:198
-#: stereo_panner.cc:215 stereo_panner.cc:242
+#: editor_routes.cc:208 mono_panner.cc:221 panner2d.cc:238
+#: stereo_panner.cc:246 stereo_panner.cc:273
msgid "R"
msgstr ""
-#: editor_routes.cc:206
+#: editor_routes.cc:208
msgid "Record enabled"
msgstr ""
-#: editor_routes.cc:207
+#: editor_routes.cc:209
msgid "Muted"
msgstr ""
-#: editor_routes.cc:208 mixer_strip.cc:1941 meter_strip.cc:330
+#: editor_routes.cc:210 mixer_strip.cc:1997 meter_strip.cc:367
+#: route_time_axis.cc:2565
msgid "S"
msgstr ""
-#: editor_routes.cc:208
+#: editor_routes.cc:210
msgid "Soloed"
msgstr ""
-#: editor_routes.cc:209
+#: editor_routes.cc:211
msgid "SI"
msgstr ""
-#: editor_routes.cc:209 mixer_strip.cc:353 rc_option_editor.cc:1867
+#: editor_routes.cc:211
msgid "Solo Isolated"
msgstr ""
-#: editor_routes.cc:210
+#: editor_routes.cc:212
msgid "Solo Safe (Locked)"
msgstr ""
-#: editor_routes.cc:471 mixer_ui.cc:1162
+#: editor_routes.cc:474 mixer_ui.cc:1182
msgid "Hide All"
msgstr "éšè—所有"
-#: editor_routes.cc:472 mixer_ui.cc:1163
+#: editor_routes.cc:475 mixer_ui.cc:1183
msgid "Show All Audio Tracks"
msgstr "显示所有音轨"
-#: editor_routes.cc:473 mixer_ui.cc:1164
+#: editor_routes.cc:476 mixer_ui.cc:1184
msgid "Hide All Audio Tracks"
msgstr "éšè—所有音轨"
-#: editor_routes.cc:474 mixer_ui.cc:1165
+#: editor_routes.cc:477 mixer_ui.cc:1185
msgid "Show All Audio Busses"
msgstr "显示所有音频总线"
-#: editor_routes.cc:475 mixer_ui.cc:1166
+#: editor_routes.cc:478 mixer_ui.cc:1186
msgid "Hide All Audio Busses"
msgstr "éšè—所有音频总线"
-#: editor_routes.cc:476
+#: editor_routes.cc:479
msgid "Show All Midi Tracks"
msgstr "显示所有MIDI轨"
-#: editor_routes.cc:477
+#: editor_routes.cc:480
msgid "Hide All Midi Tracks"
msgstr "éšè—所有MIDI轨"
-#: editor_routes.cc:478
+#: editor_routes.cc:481
msgid "Show Tracks With Regions Under Playhead"
msgstr ""
-#: editor_rulers.cc:340
+#: editor_rulers.cc:216
msgid "New location marker"
msgstr "标记的新ä½ç½®"
-#: editor_rulers.cc:341
+#: editor_rulers.cc:217
msgid "Clear all locations"
msgstr "清除所有ä½ç½®"
-#: editor_rulers.cc:342
+#: editor_rulers.cc:218
msgid "Unhide locations"
msgstr "å–消éšè—ä½ç½®"
-#: editor_rulers.cc:346
+#: editor_rulers.cc:222
msgid "New range"
msgstr ""
-#: editor_rulers.cc:347
+#: editor_rulers.cc:223
msgid "Clear all ranges"
msgstr "清除所有范围"
-#: editor_rulers.cc:348
+#: editor_rulers.cc:224
msgid "Unhide ranges"
msgstr "å–消éšè—范围"
-#: editor_rulers.cc:358
+#: editor_rulers.cc:234
msgid "New CD track marker"
msgstr "新CD音轨标签"
-#: editor_rulers.cc:363 tempo_dialog.cc:40
+#: editor_rulers.cc:239 tempo_dialog.cc:39
msgid "New Tempo"
msgstr "新节å¥"
-#: editor_rulers.cc:368 tempo_dialog.cc:255
+#: editor_rulers.cc:243 tempo_dialog.cc:289
msgid "New Meter"
msgstr "新标尺"
-#: editor_rulers.cc:373
+#: editor_rulers.cc:247
msgid "Timeline height"
msgstr ""
-#: editor_rulers.cc:383
+#: editor_rulers.cc:257
msgid "Align Video Track"
msgstr ""
-#: editor_selection.cc:889 editor_selection.cc:932
+#: editor_selection.cc:895 editor_selection.cc:938
msgid "set selected regions"
msgstr "设置所选区域"
-#: editor_selection.cc:1414
+#: editor_selection.cc:1417
msgid "select all"
msgstr "选择所有"
-#: editor_selection.cc:1506
+#: editor_selection.cc:1511
msgid "select all within"
msgstr "在内选择所有"
-#: editor_selection.cc:1564
+#: editor_selection.cc:1569
msgid "set selection from range"
msgstr "从范围设置选区"
-#: editor_selection.cc:1604
+#: editor_selection.cc:1609
msgid "select all from range"
msgstr "从范围选择所有"
-#: editor_selection.cc:1635
+#: editor_selection.cc:1640
msgid "select all from punch"
msgstr "从punch选择所有"
-#: editor_selection.cc:1666
+#: editor_selection.cc:1671
msgid "select all from loop"
msgstr "从循环选择所有"
-#: editor_selection.cc:1702
+#: editor_selection.cc:1707
msgid "select all after cursor"
msgstr "在光标åŽé€‰æ‹©æ‰€æœ‰"
-#: editor_selection.cc:1704
+#: editor_selection.cc:1709
msgid "select all before cursor"
msgstr "在光标å‰é€‰æ‹©æ‰€æœ‰"
-#: editor_selection.cc:1753
+#: editor_selection.cc:1758
msgid "select all after edit"
msgstr "编辑åŽé€‰æ‹©æ‰€æœ‰"
-#: editor_selection.cc:1755
+#: editor_selection.cc:1760
msgid "select all before edit"
msgstr "编辑å‰é€‰æ‹©æ‰€æœ‰"
-#: editor_selection.cc:1888
-msgid "No edit range defined"
-msgstr "没有定义的编辑范围"
-
-#: editor_selection.cc:1894
-msgid ""
-"the edit point is Selected Marker\n"
-"but there is no selected marker."
-msgstr ""
-"这个编辑点是已选择的标记,\n"
-"但是没有已选择的标记."
-
-#: editor_snapshots.cc:136
+#: editor_snapshots.cc:137
msgid "Rename Snapshot"
msgstr ""
-#: editor_snapshots.cc:138
+#: editor_snapshots.cc:139
msgid "New name of snapshot"
msgstr "快照新å称"
-#: editor_snapshots.cc:156
+#: editor_snapshots.cc:157
msgid ""
"Do you really want to remove snapshot \"%1\" ?\n"
"(which cannot be undone)"
@@ -5460,49 +5593,35 @@ msgstr ""
"你确定移除快照 \"%1\"?\n"
"(ä¸å¯æ’¤é”€)"
-#: editor_snapshots.cc:161
+#: editor_snapshots.cc:162
msgid "Remove snapshot"
msgstr "移除快照"
-#: editor_tempodisplay.cc:208 editor_tempodisplay.cc:250
+#: editor_tempodisplay.cc:193 editor_tempodisplay.cc:235
msgid "add"
msgstr "添加"
-#: editor_tempodisplay.cc:231
+#: editor_tempodisplay.cc:216
msgid "add tempo mark"
msgstr "添加节å¥æ ‡è®°"
-#: editor_tempodisplay.cc:272
+#: editor_tempodisplay.cc:257
msgid "add meter mark"
msgstr "添加标尺标记"
-#: editor_tempodisplay.cc:288 editor_tempodisplay.cc:367
-#: editor_tempodisplay.cc:386
-msgid ""
-"programming error: tempo marker canvas item has no marker object pointer!"
-msgstr ""
-
-#: editor_tempodisplay.cc:293 editor_tempodisplay.cc:372
-msgid "programming error: marker for tempo is not a tempo marker!"
-msgstr ""
-
-#: editor_tempodisplay.cc:305 editor_tempodisplay.cc:335
+#: editor_tempodisplay.cc:290 editor_tempodisplay.cc:320
msgid "done"
msgstr "完æˆ"
-#: editor_tempodisplay.cc:324 editor_tempodisplay.cc:352
+#: editor_tempodisplay.cc:309 editor_tempodisplay.cc:337
msgid "replace tempo mark"
msgstr "替æ¢èŠ‚å¥æ ‡è®°"
-#: editor_tempodisplay.cc:391 editor_tempodisplay.cc:423
-msgid "programming error: marker for meter is not a meter marker!"
-msgstr ""
-
-#: editor_tempodisplay.cc:401 editor_tempodisplay.cc:435
+#: editor_tempodisplay.cc:360 editor_tempodisplay.cc:394
msgid "remove tempo mark"
msgstr "移除节å¥æ ‡è®°"
-#: editor_tempodisplay.cc:418
+#: editor_tempodisplay.cc:377
msgid ""
"programming error: meter marker canvas item has no marker object pointer!"
msgstr ""
@@ -5521,220 +5640,264 @@ msgstr ""
"Protáhnutí Äasu (timefx) nemohlo být provedeno - PÅ™i vytváření vlákna doÅ¡lo "
"k chybÄ›"
-#: engine_dialog.cc:79
+#: engine_dialog.cc:81
msgid "Device Control Panel"
msgstr ""
-#: engine_dialog.cc:80 engine_dialog.cc:1725
+#: engine_dialog.cc:82
+msgid "Midi Device Setup"
+msgstr ""
+
+#: engine_dialog.cc:83 engine_dialog.cc:1999
msgid "Measure"
msgstr ""
-#: engine_dialog.cc:81
+#: engine_dialog.cc:84
msgid "Use results"
msgstr ""
-#: engine_dialog.cc:82
+#: engine_dialog.cc:85
msgid "Back to settings ... (ignore results)"
msgstr ""
-#: engine_dialog.cc:83
-msgid "Calibrate..."
+#: engine_dialog.cc:86
+msgid "Calibrate Audio"
msgstr ""
-#: engine_dialog.cc:87
-msgid "Refresh list"
+#: engine_dialog.cc:90
+msgid "Back to settings"
msgstr ""
-#: engine_dialog.cc:107
+#: engine_dialog.cc:108
msgid ""
"No audio/MIDI backends detected. %1 cannot run\n"
"\n"
"(This is a build/packaging/system error. It should never happen.)"
msgstr ""
-#: engine_dialog.cc:136
+#: engine_dialog.cc:135
msgid "Latency Measurement Tool"
msgstr ""
-#: engine_dialog.cc:151
+#: engine_dialog.cc:147 engine_dialog.cc:561
msgid ""
"<span weight=\"bold\">Turn down the volume on your audio equipment to a very "
"low level.</span>"
msgstr ""
-#: engine_dialog.cc:159
+#: engine_dialog.cc:156
msgid "Select two channels below and connect them using a cable."
msgstr ""
-#: engine_dialog.cc:164
+#: engine_dialog.cc:161
msgid "Output channel"
msgstr ""
-#: engine_dialog.cc:172
+#: engine_dialog.cc:169
msgid "Input channel"
msgstr ""
-#: engine_dialog.cc:207
+#: engine_dialog.cc:204
msgid "Once the channels are connected, click the \"Measure\" button."
msgstr ""
-#: engine_dialog.cc:214
+#: engine_dialog.cc:211
msgid "When satisfied with the results, click the \"Use results\" button."
msgstr ""
-#: engine_dialog.cc:229 engine_dialog.cc:1727
+#: engine_dialog.cc:226 engine_dialog.cc:2107 engine_dialog.cc:2117
msgid "No measurement results yet"
msgstr ""
-#: engine_dialog.cc:238 route_params_ui.cc:105
+#: engine_dialog.cc:236 route_params_ui.cc:105
msgid "Latency"
msgstr "延迟"
-#: engine_dialog.cc:333
+#: engine_dialog.cc:351
msgid "Audio System:"
msgstr ""
-#: engine_dialog.cc:374
+#: engine_dialog.cc:394
msgid "Driver:"
msgstr "驱动:"
-#: engine_dialog.cc:380
+#: engine_dialog.cc:400
msgid "Device:"
msgstr ""
-#: engine_dialog.cc:385 engine_dialog.cc:475 sfdb_ui.cc:147 sfdb_ui.cc:260
-#: sfdb_ui.cc:265
+#: engine_dialog.cc:405 engine_dialog.cc:496 sfdb_ui.cc:151 sfdb_ui.cc:341
+#: sfdb_ui.cc:346
msgid "Sample rate:"
msgstr "采样率:"
-#: engine_dialog.cc:391 engine_dialog.cc:482
+#: engine_dialog.cc:411 engine_dialog.cc:503
msgid "Buffer size:"
msgstr "缓冲区大å°:"
-#: engine_dialog.cc:404
+#: engine_dialog.cc:424
msgid "Input Channels:"
msgstr ""
-#: engine_dialog.cc:415
+#: engine_dialog.cc:435
msgid "Output Channels:"
msgstr ""
-#: engine_dialog.cc:426
+#: engine_dialog.cc:446
msgid "Hardware input latency:"
msgstr "硬件输入延迟:"
-#: engine_dialog.cc:429 engine_dialog.cc:442
+#: engine_dialog.cc:449 engine_dialog.cc:462
msgid "samples"
msgstr "采样"
-#: engine_dialog.cc:439
+#: engine_dialog.cc:459
msgid "Hardware output latency:"
msgstr "硬件输出延迟:"
-#: engine_dialog.cc:450
+#: engine_dialog.cc:470
msgid "MIDI System"
msgstr ""
-#: engine_dialog.cc:467
+#: engine_dialog.cc:488
msgid ""
"The %1 audio backend was configured and started externally.\n"
"This limits your control over it."
msgstr ""
-#: engine_dialog.cc:521
+#: engine_dialog.cc:543
+msgid ""
+"Failed to start or connect to audio-engine.\n"
+"\n"
+"Latency calibration requires a working audio interface."
+msgstr ""
+
+#: engine_dialog.cc:549
msgid ""
"Your selected audio configuration is playback- or capture-only.\n"
"\n"
"Latency calibration requires playback and capture"
msgstr ""
-#: engine_dialog.cc:595
-msgid "MIDI Inputs"
+#: engine_dialog.cc:630
+msgid "MIDI Devices"
+msgstr ""
+
+#: engine_dialog.cc:636
+msgid "Device"
+msgstr "设备"
+
+#: engine_dialog.cc:638
+msgid "Hardware Latencies"
msgstr ""
-#: engine_dialog.cc:612
-msgid "MIDI Outputs"
+#: engine_dialog.cc:679
+msgid "Calibrate"
msgstr ""
-#: engine_dialog.cc:696
+#: engine_dialog.cc:761
msgid "all available channels"
msgstr ""
-#: engine_dialog.cc:890
+#: engine_dialog.cc:954
#, c-format
msgid "%u samples"
msgstr ""
-#: engine_dialog.cc:941
+#: engine_dialog.cc:1001
#, c-format
msgid "(%.1f msecs)"
msgstr ""
-#: engine_dialog.cc:1389
+#: engine_dialog.cc:1510
+msgid "Could not start backend engine %1"
+msgstr ""
+
+#: engine_dialog.cc:1561
msgid "Cannot set driver to %1"
msgstr ""
-#: engine_dialog.cc:1393
+#: engine_dialog.cc:1565
msgid "Cannot set device name to %1"
msgstr ""
-#: engine_dialog.cc:1397
+#: engine_dialog.cc:1569
msgid "Cannot set sample rate to %1"
msgstr ""
-#: engine_dialog.cc:1401
+#: engine_dialog.cc:1573
msgid "Cannot set buffer size to %1"
msgstr ""
-#: engine_dialog.cc:1407
+#: engine_dialog.cc:1579
msgid "Cannot set input channels to %1"
msgstr ""
-#: engine_dialog.cc:1411
+#: engine_dialog.cc:1583
msgid "Cannot set output channels to %1"
msgstr ""
-#: engine_dialog.cc:1417
+#: engine_dialog.cc:1589
msgid "Cannot set input latency to %1"
msgstr ""
-#: engine_dialog.cc:1421
+#: engine_dialog.cc:1593
msgid "Cannot set output latency to %1"
msgstr ""
-#: engine_dialog.cc:1654
+#: engine_dialog.cc:1858 engine_dialog.cc:1917
msgid "No signal detected "
msgstr ""
-#: engine_dialog.cc:1667 port_insert_ui.cc:71 port_insert_ui.cc:99
+#: engine_dialog.cc:1871 engine_dialog.cc:1925 port_insert_ui.cc:70
+#: port_insert_ui.cc:98
msgid "Disconnected from audio engine"
msgstr "与音频引擎断开连接"
-#: engine_dialog.cc:1681
+#: engine_dialog.cc:1880 engine_dialog.cc:1933
+msgid "Detected roundtrip latency: "
+msgstr ""
+
+#: engine_dialog.cc:1882 engine_dialog.cc:1935
+msgid "Systemic latency: "
+msgstr ""
+
+#: engine_dialog.cc:1889
msgid "(signal detection error)"
msgstr ""
-#: engine_dialog.cc:1687
+#: engine_dialog.cc:1895
msgid "(inverted - bad wiring)"
msgstr ""
-#: engine_dialog.cc:1697
-msgid "Detected roundtrip latency: %1"
+#: engine_dialog.cc:1942
+msgid "(averaging)"
+msgstr ""
+
+#: engine_dialog.cc:1948
+msgid "(too large jitter)"
msgstr ""
-#: engine_dialog.cc:1709 port_insert_ui.cc:135
+#: engine_dialog.cc:1952
+msgid "(large jitter)"
+msgstr ""
+
+#: engine_dialog.cc:1963
+msgid "Timeout - large MIDI jitter."
+msgstr ""
+
+#: engine_dialog.cc:1979 port_insert_ui.cc:134
msgid "Detecting ..."
msgstr "检测中..."
-#: engine_dialog.cc:1789
+#: engine_dialog.cc:2073
msgid "Disconnect from %1"
msgstr ""
-#: engine_dialog.cc:1801
+#: engine_dialog.cc:2085
msgid "Connect to %1"
msgstr ""
-#: export_channel_selector.cc:45 sfdb_ui.cc:145
+#: export_channel_selector.cc:45 sfdb_ui.cc:149
msgid "Channels:"
msgstr "通é“:"
@@ -5776,20 +5939,20 @@ msgstr "<span color=\"#ffa755\">一些已存在的文件将会被é‡æ–°å†™å…¥.</
msgid "List files"
msgstr "文件列表"
-#: export_dialog.cc:164 export_timespan_selector.cc:355
-#: export_timespan_selector.cc:417
+#: export_dialog.cc:158 export_format_dialog.cc:59
+msgid "File format"
+msgstr "文件格å¼"
+
+#: export_dialog.cc:159 export_timespan_selector.cc:374
+#: export_timespan_selector.cc:436
msgid "Time Span"
msgstr "时间跨度"
-#: export_dialog.cc:176
+#: export_dialog.cc:160
msgid "Channels"
msgstr "声é“"
-#: export_dialog.cc:187
-msgid "Time span and channel options"
-msgstr ""
-
-#: export_dialog.cc:221
+#: export_dialog.cc:182
msgid ""
"Export has been aborted due to an error!\n"
"See the Log for details."
@@ -5797,35 +5960,39 @@ msgstr ""
"有个错误导致导出失败!\n"
"详情请è§æ—¥å¿—文件."
-#: export_dialog.cc:290
+#: export_dialog.cc:251
msgid "Files that will be overwritten"
msgstr "将会被é‡æ–°å†™å…¥çš„文件"
-#: export_dialog.cc:316
+#: export_dialog.cc:296
+msgid "Export initialization failed: %1"
+msgstr ""
+
+#: export_dialog.cc:306
msgid "Stop Export"
msgstr "åœæ­¢å¯¼å‡º"
-#: export_dialog.cc:337
+#: export_dialog.cc:327
msgid "export"
msgstr ""
-#: export_dialog.cc:356
+#: export_dialog.cc:346
msgid "Normalizing '%3' (timespan %1 of %2)"
msgstr ""
-#: export_dialog.cc:360
+#: export_dialog.cc:350
msgid "Exporting '%3' (timespan %1 of %2)"
msgstr ""
-#: export_dialog.cc:383 export_dialog.cc:385
+#: export_dialog.cc:373 export_dialog.cc:375
msgid "<span color=\"#ffa755\">Error: "
msgstr "<span color=\"#ffa755\">错误: "
-#: export_dialog.cc:395
+#: export_dialog.cc:385
msgid "<span color=\"#ffa755\">Warning: "
msgstr "<span color=\"#ffa755\">警告: "
-#: export_dialog.cc:397
+#: export_dialog.cc:387
msgid ""
"\n"
"<span color=\"#ffa755\">Warning: "
@@ -5833,39 +6000,43 @@ msgstr ""
"\n"
"<span color=\"#ffa755\">警告: "
-#: export_dialog.cc:420
+#: export_dialog.cc:411
msgid "Export Selection"
msgstr "导出选区"
-#: export_dialog.cc:433
+#: export_dialog.cc:425
msgid "Export Region"
msgstr "导出区域"
-#: export_dialog.cc:443
+#: export_dialog.cc:434
msgid "Source"
msgstr "æº"
-#: export_dialog.cc:458
+#: export_dialog.cc:450
msgid "Stem Export"
msgstr ""
-#: export_file_notebook.cc:38
+#: export_file_notebook.cc:39
msgid "Add another format"
msgstr ""
-#: export_file_notebook.cc:178
+#: export_file_notebook.cc:193
msgid "Format"
msgstr "æ ¼å¼"
-#: export_file_notebook.cc:179
+#: export_file_notebook.cc:194
msgid "Location"
msgstr "ä½ç½®"
-#: export_file_notebook.cc:255
+#: export_file_notebook.cc:195
+msgid "Upload to Soundcloud"
+msgstr ""
+
+#: export_file_notebook.cc:273
msgid "No format!"
msgstr ""
-#: export_file_notebook.cc:267
+#: export_file_notebook.cc:291
msgid "Format %1: %2"
msgstr ""
@@ -5886,9 +6057,9 @@ msgid "Folder:"
msgstr "文件:"
#: export_filename_selector.cc:37 session_import_dialog.cc:44
-#: transcode_video_dialog.cc:58 video_server_dialog.cc:45
-#: video_server_dialog.cc:47 export_video_dialog.cc:68
-#: export_video_dialog.cc:70
+#: transcode_video_dialog.cc:59 video_server_dialog.cc:59
+#: video_server_dialog.cc:61 export_video_dialog.cc:69
+#: export_video_dialog.cc:71
msgid "Browse"
msgstr "æµè§ˆ"
@@ -5948,67 +6119,69 @@ msgstr "在末尾修剪沉默"
msgid "Add silence at end:"
msgstr "在末尾添加沉默:"
-#: export_format_dialog.cc:55
+#: export_format_dialog.cc:54
+msgid ""
+"Command to run post-export\n"
+"(%f=full path & filename, %d=directory, %b=basename):"
+msgstr ""
+
+#: export_format_dialog.cc:57
msgid "Compatibility"
msgstr "兼容性"
-#: export_format_dialog.cc:56
+#: export_format_dialog.cc:58
msgid "Quality"
msgstr "è´¨é‡"
-#: export_format_dialog.cc:57
-msgid "File format"
-msgstr "文件格å¼"
-
-#: export_format_dialog.cc:59
+#: export_format_dialog.cc:61
msgid "Sample rate conversion quality:"
msgstr "采样率转æ¢è´¨é‡"
-#: export_format_dialog.cc:66
+#: export_format_dialog.cc:68
msgid "Dithering"
msgstr "抖动"
-#: export_format_dialog.cc:68
+#: export_format_dialog.cc:70
msgid "Create CUE file for disk-at-once CD/DVD creation"
msgstr ""
-#: export_format_dialog.cc:69
+#: export_format_dialog.cc:71
msgid "Create TOC file for disk-at-once CD/DVD creation"
msgstr ""
-#: export_format_dialog.cc:71
+#: export_format_dialog.cc:73
msgid "Tag file with session's metadata"
msgstr "会è¯å…ƒæ•°æ®çš„标签文件"
-#: export_format_dialog.cc:461
+#: export_format_dialog.cc:470
msgid "Best (sinc)"
msgstr "最好(åŒæ­¥)"
-#: export_format_dialog.cc:466
+#: export_format_dialog.cc:475
msgid "Medium (sinc)"
msgstr "中(åŒæ­¥)"
-#: export_format_dialog.cc:471
+#: export_format_dialog.cc:480
msgid "Fast (sinc)"
msgstr "å¿«(åŒæ­¥)"
-#: export_format_dialog.cc:481
+#: export_format_dialog.cc:490
msgid "Zero order hold"
msgstr "零阶ä¿æŒ"
-#: export_format_dialog.cc:879
+#: export_format_dialog.cc:895
msgid "Linear encoding options"
msgstr "线性编ç é€‰é¡¹"
-#: export_format_dialog.cc:895
+#: export_format_dialog.cc:911
msgid "Ogg Vorbis options"
msgstr "Ogg Vorbis选项"
-#: export_format_dialog.cc:908
+#: export_format_dialog.cc:922
msgid "FLAC options"
msgstr "FLAC选项"
-#: export_format_dialog.cc:925
+#: export_format_dialog.cc:939
msgid "Broadcast Wave options"
msgstr "广播Wave (Broadcast Wave) 选项"
@@ -6036,11 +6209,15 @@ msgstr ""
msgid "Show Times as:"
msgstr "显示时间:"
-#: export_timespan_selector.cc:204
+#: export_timespan_selector.cc:53 processor_box.cc:2510
+msgid "Select All"
+msgstr "选择所有"
+
+#: export_timespan_selector.cc:223
msgid " to "
msgstr "到"
-#: export_timespan_selector.cc:348 export_timespan_selector.cc:407
+#: export_timespan_selector.cc:367 export_timespan_selector.cc:426
msgid "Range"
msgstr "范围"
@@ -6056,172 +6233,140 @@ msgstr ""
msgid "getSoundResourceFile: root = %1, != response"
msgstr ""
-#: sfdb_freesound_mootcher.cc:410
+#: sfdb_freesound_mootcher.cc:410 rc_option_editor.cc:1729
msgid "%1"
msgstr ""
-#: gain_meter.cc:105 gain_meter.cc:360 gain_meter.cc:465 gain_meter.cc:859
+#: gain_meter.cc:106 gain_meter.cc:366 gain_meter.cc:471 gain_meter.cc:865
msgid "-inf"
msgstr ""
-#: gain_meter.cc:111 gain_meter.cc:916
+#: gain_meter.cc:113 gain_meter.cc:927
msgid "Fader automation mode"
msgstr ""
-#: gain_meter.cc:112 gain_meter.cc:917
+#: gain_meter.cc:114 gain_meter.cc:928
msgid "Fader automation type"
msgstr ""
-#: gain_meter.cc:121 gain_meter.cc:798 panner_ui.cc:177 panner_ui.cc:589
+#: gain_meter.cc:123 gain_meter.cc:804 panner_ui.cc:178 panner_ui.cc:638
msgid "Abs"
msgstr ""
-#: gain_meter.cc:765 mixer_strip.cc:1948 meter_strip.cc:337 panner_ui.cc:556
-#: route_time_axis.cc:2411
+#: gain_meter.cc:771 mixer_strip.cc:2004 meter_strip.cc:374 panner_ui.cc:605
+#: route_time_axis.cc:100 route_time_axis.cc:2560
msgid "P"
msgstr ""
-#: gain_meter.cc:768 panner_ui.cc:559
+#: gain_meter.cc:774 panner_ui.cc:608
msgid "T"
msgstr ""
-#: gain_meter.cc:771 panner_ui.cc:562
+#: gain_meter.cc:777 panner_ui.cc:611
msgid "W"
msgstr ""
-#: generic_pluginui.cc:81
+#: generic_pluginui.cc:79
msgid "<span size=\"large\">Presets</span>"
msgstr "<span size=\"large\">预设</span>"
-#: generic_pluginui.cc:230
+#: generic_pluginui.cc:228
msgid "Switches"
msgstr ""
-#: generic_pluginui.cc:240 generic_pluginui.cc:374 processor_box.cc:2251
+#: generic_pluginui.cc:238 generic_pluginui.cc:372 processor_box.cc:2484
msgid "Controls"
msgstr "控制"
-#: generic_pluginui.cc:268
+#: generic_pluginui.cc:266
msgid "Plugin Editor: could not build control element for port %1"
msgstr "æ’件编辑器: æ— æ³•ä¸ºç«¯å£ %1 建立控制元素"
-#: generic_pluginui.cc:406
+#: generic_pluginui.cc:404
msgid "Meters"
msgstr ""
-#: generic_pluginui.cc:421
+#: generic_pluginui.cc:419
msgid "Automation control"
msgstr "自动控制"
-#: generic_pluginui.cc:428
+#: generic_pluginui.cc:426
msgid "Mgnual"
msgstr ""
-#: global_port_matrix.cc:157
+#: global_port_matrix.cc:158
msgid "Audio Connection Manager"
msgstr "音频连结管ç†"
-#: global_port_matrix.cc:160
+#: global_port_matrix.cc:161
msgid "MIDI Connection Manager"
msgstr "MIDI连接管ç†"
-#: global_port_matrix.cc:200 io_selector.cc:210 mixer_strip.cc:719
-#: mixer_strip.cc:845
+#: global_port_matrix.cc:201 io_selector.cc:211 mixer_strip.cc:799
+#: mixer_strip.cc:895
msgid "Disconnect"
msgstr "å–消连接"
-#: global_port_matrix.cc:206 io_selector.cc:216
+#: global_port_matrix.cc:207 io_selector.cc:217
msgid "port"
msgstr ""
-#: group_tabs.cc:308
+#: group_tabs.cc:312
msgid "Selection..."
msgstr ""
-#: group_tabs.cc:309
+#: group_tabs.cc:313
msgid "Record Enabled..."
msgstr "å¯ç”¨å½•éŸ³..."
-#: group_tabs.cc:310
+#: group_tabs.cc:314
msgid "Soloed..."
msgstr "独å¥..."
-#: group_tabs.cc:316
+#: group_tabs.cc:320
msgid "Create New Group ..."
msgstr ""
-#: group_tabs.cc:317
+#: group_tabs.cc:321
msgid "Create New Group From"
msgstr ""
-#: group_tabs.cc:320
+#: group_tabs.cc:324
msgid "Edit Group..."
msgstr ""
-#: group_tabs.cc:321
+#: group_tabs.cc:325
msgid "Collect Group"
msgstr ""
-#: group_tabs.cc:322
+#: group_tabs.cc:326
msgid "Remove Group"
msgstr ""
-#: group_tabs.cc:325
+#: group_tabs.cc:329
msgid "Remove Subgroup Bus"
msgstr ""
-#: group_tabs.cc:327
+#: group_tabs.cc:331
msgid "Add New Subgroup Bus"
msgstr ""
-#: group_tabs.cc:329
+#: group_tabs.cc:333
msgid "Add New Aux Bus (pre-fader)"
msgstr ""
-#: group_tabs.cc:330
+#: group_tabs.cc:334
msgid "Add New Aux Bus (post-fader)"
msgstr ""
-#: group_tabs.cc:336
+#: group_tabs.cc:340
msgid "Enable All Groups"
msgstr ""
-#: group_tabs.cc:337
+#: group_tabs.cc:341
msgid "Disable All Groups"
msgstr ""
-#: gtk-custom-ruler.c:133
-msgid "Lower limit of ruler"
-msgstr ""
-
-#: gtk-custom-ruler.c:142
-msgid "Upper"
-msgstr ""
-
-#: gtk-custom-ruler.c:143
-msgid "Upper limit of ruler"
-msgstr ""
-
-#: gtk-custom-ruler.c:153
-msgid "Position of mark on the ruler"
-msgstr "标尺的标记ä½ç½®"
-
-#: gtk-custom-ruler.c:162
-msgid "Max Size"
-msgstr "最大化尺寸"
-
-#: gtk-custom-ruler.c:163
-msgid "Maximum size of the ruler"
-msgstr "标尺的最大化尺寸"
-
-#: gtk-custom-ruler.c:172
-msgid "Show Position"
-msgstr "显示ä½ç½®"
-
-#: gtk-custom-ruler.c:173
-msgid "Draw current ruler position"
-msgstr "绘制当å‰æ ‡å°ºä½ç½®"
-
#: insert_time_dialog.cc:46
msgid "Time to insert:"
msgstr ""
@@ -6276,27 +6421,27 @@ msgstr "æ’入时间"
msgid "Importing file: %1 of %2"
msgstr "导入文件: %2 的 %1"
-#: io_selector.cc:220
+#: io_selector.cc:221
msgid "I/O selector"
msgstr "输入/输出 选择器"
-#: io_selector.cc:265
+#: io_selector.cc:266
msgid "%1 input"
msgstr "%1 输入"
-#: io_selector.cc:267
+#: io_selector.cc:268
msgid "%1 output"
msgstr "%1 输出"
-#: keyboard.cc:66
+#: keyboard.cc:70
msgid "your own"
msgstr ""
-#: keyboard.cc:129 keyboard.cc:153
+#: keyboard.cc:133 keyboard.cc:157
msgid "Default keybindings not found - %1 will be hard to use!"
msgstr ""
-#: keyboard.cc:132 keyboard.cc:156
+#: keyboard.cc:136
msgid "Key bindings file \"%1\" not found. Default bindings used instead"
msgstr ""
@@ -6312,27 +6457,31 @@ msgstr "动作"
msgid "Shortcut"
msgstr "å¿«æ·é”®"
-#: keyeditor.cc:86
+#: keyeditor.cc:85
msgid "Select an action, then press the key(s) to (re)set its shortcut"
msgstr "选择一个动作, 然åŽç‚¹å‡»æŒ‰é”®æ¥(é‡)设置快æ·é”®"
-#: keyeditor.cc:251
+#: keyeditor.cc:99
+msgid "Reset Bindings to Defaults"
+msgstr ""
+
+#: keyeditor.cc:260
msgid "Main_menu"
msgstr ""
-#: keyeditor.cc:253
+#: keyeditor.cc:262
msgid "redirectmenu"
msgstr ""
-#: keyeditor.cc:255
+#: keyeditor.cc:264
msgid "Editor_menus"
msgstr ""
-#: keyeditor.cc:257
+#: keyeditor.cc:266
msgid "RegionList"
msgstr ""
-#: keyeditor.cc:259
+#: keyeditor.cc:268
msgid "ProcessorMenu"
msgstr ""
@@ -6354,132 +6503,107 @@ msgid_plural "%1 samples"
msgstr[0] ""
msgstr[1] ""
-#: latency_gui.cc:72 panner_ui.cc:391
+#: latency_gui.cc:72 panner_ui.cc:408
msgid "Reset"
msgstr "预设"
-#: latency_gui.cc:151 rhythm_ferret.cc:274 sfdb_ui.cc:1755
+#: latency_gui.cc:149 rhythm_ferret.cc:273 sfdb_ui.cc:1893
msgid "programming error: %1 (%2)"
msgstr "程åºé”™è¯¯: %1 (%2)"
-#: location_ui.cc:50 location_ui.cc:52
+#: location_ui.cc:51 location_ui.cc:53
msgid "Use PH"
msgstr "使用 PH"
-#: location_ui.cc:54
+#: location_ui.cc:55
msgid "CD"
msgstr "CD"
-#: location_ui.cc:57
+#: location_ui.cc:58
msgid "Glue"
msgstr ""
-#: location_ui.cc:85
+#: location_ui.cc:86
msgid "Performer:"
msgstr ""
-#: location_ui.cc:86
+#: location_ui.cc:87
msgid "Composer:"
msgstr ""
-#: location_ui.cc:88
+#: location_ui.cc:89
msgid "Pre-Emphasis"
msgstr ""
-#: location_ui.cc:314
+#: location_ui.cc:316
msgid "Remove this range"
msgstr ""
-#: location_ui.cc:315
+#: location_ui.cc:317
msgid "Start time - middle click to locate here"
msgstr ""
-#: location_ui.cc:316
+#: location_ui.cc:318
msgid "End time - middle click to locate here"
msgstr ""
-#: location_ui.cc:319
+#: location_ui.cc:321
msgid "Set range start from playhead location"
msgstr ""
-#: location_ui.cc:320
+#: location_ui.cc:322
msgid "Set range end from playhead location"
msgstr ""
-#: location_ui.cc:324
+#: location_ui.cc:326
msgid "Remove this marker"
msgstr ""
-#: location_ui.cc:325
+#: location_ui.cc:327
msgid "Position - middle click to locate here"
msgstr ""
-#: location_ui.cc:327
+#: location_ui.cc:329
msgid "Set marker time from playhead location"
msgstr ""
-#: location_ui.cc:494
+#: location_ui.cc:496
msgid "You cannot put a CD marker at the start of the session"
msgstr "无法在会è¯å¼€å§‹æ”¾ç½®CD标记"
-#: location_ui.cc:720
+#: location_ui.cc:722
msgid "New Marker"
msgstr "新标记"
-#: location_ui.cc:721
+#: location_ui.cc:723
msgid "New Range"
msgstr "新范围"
-#: location_ui.cc:734
+#: location_ui.cc:736
msgid "<b>Loop/Punch Ranges</b>"
msgstr "<b>循环/Punch 范围</b>"
-#: location_ui.cc:759
+#: location_ui.cc:761
msgid "<b>Markers (Including CD Index)</b>"
msgstr "<b>标记(包括CD索引)</b>"
-#: location_ui.cc:794
+#: location_ui.cc:796
msgid "<b>Ranges (Including CD Track Ranges)</b>"
msgstr "<b>范围(包括CD轨é“区间)</b>"
-#: location_ui.cc:1036
+#: location_ui.cc:1038
msgid "add range marker"
msgstr "添加范围标记"
-#: main.cc:81
+#: main.cc:79
msgid "%1 could not connect to the audio backend."
msgstr ""
-#: main.cc:194 main.cc:315
-msgid "cannot create user %3 folder %1 (%2)"
-msgstr ""
-
-#: main.cc:201 main.cc:322
-msgid "cannot open pango.rc file %1"
-msgstr "无法打开pango.rc 文件 %1"
-
-#: main.cc:226 main.cc:349
-msgid "Cannot find ArdourMono TrueType font"
-msgstr ""
-
-#: main.cc:238 main.cc:355
-msgid "Cannot load ArdourMono TrueType font."
-msgstr ""
-
-#: main.cc:303
-msgid ""
-"No fontconfig file found on your system. Things may looked very odd or ugly"
-msgstr ""
-
-#: main.cc:359
-msgid "Failed to set fontconfig configuration."
-msgstr ""
-
-#: main.cc:370 main.cc:386
+#: main.cc:104 main.cc:120
msgid "The audio backend (%1) has failed, or terminated"
msgstr ""
-#: main.cc:373
+#: main.cc:107
msgid ""
"%2 exited unexpectedly, and without notifying %1.\n"
"\n"
@@ -6488,53 +6612,63 @@ msgid ""
"Click OK to exit %1."
msgstr ""
-#: main.cc:387
+#: main.cc:121
msgid "%2 exited unexpectedly, and without notifying %1."
msgstr ""
-#: main.cc:474
+#: main.cc:223
+msgid ""
+"\n"
+" Ardour could not understand your command line "
+msgstr ""
+
+#: main.cc:225
+msgid "An error was encountered while launching Ardour"
+msgstr ""
+
+#: main.cc:233
msgid " (built using "
msgstr ""
-#: main.cc:477
+#: main.cc:236
msgid " and GCC version "
msgstr ""
-#: main.cc:487
+#: main.cc:246
msgid "Copyright (C) 1999-2012 Paul Davis"
msgstr ""
-#: main.cc:488
+#: main.cc:247
msgid ""
"Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
"Baker, Robin Gareus"
msgstr ""
-#: main.cc:490
+#: main.cc:249
msgid "%1 comes with ABSOLUTELY NO WARRANTY"
msgstr ""
-#: main.cc:491
+#: main.cc:250
msgid "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
msgstr ""
-#: main.cc:492
+#: main.cc:251
msgid "This is free software, and you are welcome to redistribute it "
msgstr ""
-#: main.cc:493
+#: main.cc:252
msgid "under certain conditions; see the source for copying conditions."
msgstr ""
-#: main.cc:500
+#: main.cc:259
msgid "could not initialize %1."
msgstr "无法åˆå§‹åŒ– %1."
-#: main.cc:509
+#: main.cc:269
msgid "Cannot xinstall SIGPIPE error handler"
msgstr ""
-#: main.cc:515
+#: main.cc:276
msgid "could not create %1 GUI"
msgstr ""
@@ -6542,17 +6676,13 @@ msgstr ""
msgid "Display delta to edit cursor"
msgstr ""
-#: marker.cc:251 video_image_frame.cc:121
+#: marker.cc:265
msgid "MarkerText"
msgstr ""
-#: midi_channel_selector.cc:159 midi_channel_selector.cc:397
-#: midi_channel_selector.cc:433
-msgid "All"
-msgstr "所有"
-
#: midi_channel_selector.cc:163 midi_channel_selector.cc:402
-#: midi_channel_selector.cc:438 rc_option_editor.cc:1248 sfdb_ui.cc:538
+#: midi_channel_selector.cc:438 rc_option_editor.cc:1499
+#: rc_option_editor.cc:2084 sfdb_ui.cc:658
msgid "None"
msgstr ""
@@ -6741,87 +6871,87 @@ msgstr "端å£å称:"
msgid "MidiPortDialog"
msgstr ""
-#: midi_region_view.cc:838
+#: midi_region_view.cc:822
msgid "channel edit"
msgstr "声é“编辑"
-#: midi_region_view.cc:874
+#: midi_region_view.cc:858
msgid "velocity edit"
msgstr ""
-#: midi_region_view.cc:931
+#: midi_region_view.cc:915
msgid "add note"
msgstr ""
-#: midi_region_view.cc:1779
+#: midi_region_view.cc:1766
msgid "step add"
msgstr "步增"
-#: midi_region_view.cc:1862
+#: midi_region_view.cc:1853
msgid "insane MIDI patch key %1:%2"
msgstr ""
-#: midi_region_view.cc:1870 midi_region_view.cc:1890
+#: midi_region_view.cc:1861 midi_region_view.cc:1881
msgid "alter patch change"
msgstr ""
-#: midi_region_view.cc:1924
+#: midi_region_view.cc:1915
msgid "add patch change"
msgstr ""
-#: midi_region_view.cc:1942
+#: midi_region_view.cc:1933
msgid "move patch change"
msgstr ""
-#: midi_region_view.cc:1953
+#: midi_region_view.cc:1944
msgid "delete patch change"
msgstr "删除"
-#: midi_region_view.cc:2022
+#: midi_region_view.cc:2013
msgid "delete selection"
msgstr "删除选å–"
-#: midi_region_view.cc:2038
+#: midi_region_view.cc:2029
msgid "delete note"
msgstr "删除音符"
-#: midi_region_view.cc:2425
+#: midi_region_view.cc:2423
msgid "move notes"
msgstr "移动音符"
-#: midi_region_view.cc:2647
+#: midi_region_view.cc:2645
msgid "resize notes"
msgstr "é‡è®¾éŸ³ç¬¦å¤§å°"
-#: midi_region_view.cc:2901
+#: midi_region_view.cc:2899
msgid "change velocities"
msgstr "改å˜åŠ›åº¦"
-#: midi_region_view.cc:2967
+#: midi_region_view.cc:2965
msgid "transpose"
msgstr ""
-#: midi_region_view.cc:3001
+#: midi_region_view.cc:2999
msgid "change note lengths"
msgstr "改å˜éŸ³ç¬¦é•¿åº¦"
-#: midi_region_view.cc:3070
+#: midi_region_view.cc:3068
msgid "nudge"
msgstr "微调"
-#: midi_region_view.cc:3085
+#: midi_region_view.cc:3083
msgid "change channel"
msgstr "改å˜å£°é“"
-#: midi_region_view.cc:3130
+#: midi_region_view.cc:3128
msgid "Bank "
msgstr ""
-#: midi_region_view.cc:3131
+#: midi_region_view.cc:3129
msgid "Program "
msgstr ""
-#: midi_region_view.cc:3132
+#: midi_region_view.cc:3130
msgid "Channel "
msgstr ""
@@ -6829,140 +6959,136 @@ msgstr ""
msgid "paste"
msgstr "粘贴"
-#: midi_region_view.cc:3761
-msgid "delete sysex"
-msgstr ""
-
-#: midi_streamview.cc:479
+#: midi_streamview.cc:491
msgid "failed to create MIDI region"
msgstr ""
-#: midi_time_axis.cc:262
+#: midi_time_axis.cc:293
msgid "External MIDI Device"
msgstr ""
-#: midi_time_axis.cc:263
+#: midi_time_axis.cc:294
msgid "External Device Mode"
msgstr ""
-#: midi_time_axis.cc:271
+#: midi_time_axis.cc:302
msgid "Chns"
msgstr ""
-#: midi_time_axis.cc:272
+#: midi_time_axis.cc:303
msgid "Click to edit channel settings"
msgstr ""
-#: midi_time_axis.cc:486
+#: midi_time_axis.cc:517
msgid "Show Full Range"
msgstr "显示所有范围"
-#: midi_time_axis.cc:491
+#: midi_time_axis.cc:522
msgid "Fit Contents"
msgstr "放置内容"
-#: midi_time_axis.cc:495
+#: midi_time_axis.cc:526
msgid "Note Range"
msgstr "音符范围"
-#: midi_time_axis.cc:496
+#: midi_time_axis.cc:527
msgid "Note Mode"
msgstr "音符模å¼"
-#: midi_time_axis.cc:497
+#: midi_time_axis.cc:528
msgid "Channel Selector"
msgstr ""
-#: midi_time_axis.cc:502
+#: midi_time_axis.cc:533
msgid "Color Mode"
msgstr "颜色模å¼"
-#: midi_time_axis.cc:561
+#: midi_time_axis.cc:592
msgid "Bender"
msgstr ""
-#: midi_time_axis.cc:565
+#: midi_time_axis.cc:596
msgid "Pressure"
msgstr ""
-#: midi_time_axis.cc:578
+#: midi_time_axis.cc:609
msgid "Controllers"
msgstr ""
-#: midi_time_axis.cc:583
+#: midi_time_axis.cc:614
msgid "No MIDI Channels selected"
msgstr "没有选择MIDI通é“"
-#: midi_time_axis.cc:640 midi_time_axis.cc:769
+#: midi_time_axis.cc:692 midi_time_axis.cc:821
msgid "Hide all channels"
msgstr "éšè—所有通é“"
-#: midi_time_axis.cc:644 midi_time_axis.cc:773
+#: midi_time_axis.cc:696 midi_time_axis.cc:825
msgid "Show all channels"
msgstr "显示所有通é“"
-#: midi_time_axis.cc:655 midi_time_axis.cc:784
+#: midi_time_axis.cc:707 midi_time_axis.cc:836
msgid "Channel %1"
msgstr "é€šé“ %1"
-#: midi_time_axis.cc:910 midi_time_axis.cc:942
+#: midi_time_axis.cc:962 midi_time_axis.cc:994
msgid "Controllers %1-%2"
msgstr "控制器 %1-%2"
-#: midi_time_axis.cc:933 midi_time_axis.cc:936
+#: midi_time_axis.cc:985 midi_time_axis.cc:988
msgid "Controller %1"
msgstr ""
-#: midi_time_axis.cc:959
+#: midi_time_axis.cc:1011
msgid "Sustained"
msgstr "ä¿æŒ"
-#: midi_time_axis.cc:966
+#: midi_time_axis.cc:1018
msgid "Percussive"
msgstr ""
-#: midi_time_axis.cc:986
+#: midi_time_axis.cc:1038
msgid "Meter Colors"
msgstr "标尺颜色"
-#: midi_time_axis.cc:993
+#: midi_time_axis.cc:1045
msgid "Channel Colors"
msgstr "通é“颜色"
-#: midi_time_axis.cc:1000
+#: midi_time_axis.cc:1052
msgid "Track Color"
msgstr "音轨颜色"
-#: midi_time_axis.cc:1488 midi_time_axis.cc:1494 midi_time_axis.cc:1504
-#: midi_time_axis.cc:1510
+#: midi_time_axis.cc:1687 midi_time_axis.cc:1693 midi_time_axis.cc:1703
+#: midi_time_axis.cc:1709
msgid "all"
msgstr ""
-#: midi_time_axis.cc:1491 midi_time_axis.cc:1507
+#: midi_time_axis.cc:1690 midi_time_axis.cc:1706
msgid "some"
msgstr ""
-#: midi_tracer.cc:46
+#: midi_tracer.cc:49
msgid "Line history: "
msgstr ""
-#: midi_tracer.cc:54
+#: midi_tracer.cc:57
msgid "Auto-Scroll"
msgstr "自动滚动"
-#: midi_tracer.cc:55
+#: midi_tracer.cc:58
msgid "Decimal"
msgstr "å进制"
-#: midi_tracer.cc:56 rc_option_editor.cc:657
+#: midi_tracer.cc:59 rc_option_editor.cc:717
msgid "Enabled"
msgstr "å¯ç”¨"
-#: midi_tracer.cc:57
+#: midi_tracer.cc:60
msgid "Delta times"
msgstr ""
-#: midi_tracer.cc:70
+#: midi_tracer.cc:73
msgid "Port:"
msgstr "端å£:"
@@ -6970,35 +7096,35 @@ msgstr "端å£:"
msgid "New velocity"
msgstr ""
-#: missing_file_dialog.cc:34
-msgid "Missing File!"
-msgstr "找ä¸åˆ°æ–‡ä»¶!"
+#: missing_file_dialog.cc:35
+msgid "Missing File"
+msgstr ""
-#: missing_file_dialog.cc:36
+#: missing_file_dialog.cc:37
msgid "Select a folder to search"
msgstr "选择一个è¦æœç´¢çš„文件夹"
-#: missing_file_dialog.cc:37
+#: missing_file_dialog.cc:38
msgid "Add chosen folder to search path, and try again"
msgstr "请添加文件夹的æœç´¢è·¯å¾„,然åŽå†è¯•ä¸€æ¬¡"
-#: missing_file_dialog.cc:39
+#: missing_file_dialog.cc:40
msgid "Stop loading this session"
msgstr "åœæ­¢è½½å…¥æ­¤ä¼šè¯"
-#: missing_file_dialog.cc:40
+#: missing_file_dialog.cc:41
msgid "Skip all missing files"
msgstr "跳过所有丢失的文件"
-#: missing_file_dialog.cc:41
+#: missing_file_dialog.cc:42
msgid "Skip this file"
msgstr "跳过这个文件"
-#: missing_file_dialog.cc:52
+#: missing_file_dialog.cc:53
msgid "audio"
msgstr "音频"
-#: missing_file_dialog.cc:65
+#: missing_file_dialog.cc:70
msgid ""
"%1 cannot find the %2 file\n"
"\n"
@@ -7018,7 +7144,7 @@ msgstr ""
"<tt>%4</tt>\n"
"\n"
-#: missing_file_dialog.cc:99
+#: missing_file_dialog.cc:104
msgid "Click to choose an additional folder"
msgstr "点击选择一个é¢å¤–的文件夹"
@@ -7026,7 +7152,7 @@ msgstr "点击选择一个é¢å¤–的文件夹"
msgid "Missing Plugins"
msgstr "丢失æ’件"
-#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:59
+#: missing_plugin_dialog.cc:33 transcode_video_dialog.cc:60
msgid "OK"
msgstr "OK"
@@ -7082,6 +7208,10 @@ msgstr ""
msgid "Toggle Selected Plugins"
msgstr ""
+#: mixer_actor.cc:70
+msgid "Deselect all srips and processors"
+msgstr ""
+
#: mixer_actor.cc:72 mixer_actor.cc:73
msgid "Scroll Mixer Window to the left"
msgstr ""
@@ -7098,318 +7228,308 @@ msgstr ""
msgid "Could not find mixer.bindings in search path %1"
msgstr ""
-#: mixer_strip.cc:93 mixer_strip.cc:121 mixer_strip.cc:1721
+#: mixer_strip.cc:98 mixer_strip.cc:127
msgid "pre"
msgstr ""
-#: mixer_strip.cc:95 mixer_strip.cc:123 mixer_strip.cc:354 mixer_strip.cc:1300
-#: rc_option_editor.cc:1868
+#: mixer_strip.cc:100 mixer_strip.cc:129 mixer_strip.cc:376
+#: mixer_strip.cc:1373 rc_option_editor.cc:2203
msgid "Comments"
msgstr ""
-#: mixer_strip.cc:147
+#: mixer_strip.cc:151
msgid "Click to toggle the width of this mixer strip."
msgstr ""
-#: mixer_strip.cc:149
+#: mixer_strip.cc:153
msgid ""
"\n"
"%1-%2-click to toggle the width of all strips."
msgstr ""
-#: mixer_strip.cc:156
+#: mixer_strip.cc:160
msgid "Hide this mixer strip"
msgstr ""
-#: mixer_strip.cc:167
+#: mixer_strip.cc:171
msgid "Click to select metering point"
msgstr ""
-#: mixer_strip.cc:173
-msgid "tupni"
-msgstr ""
-
-#: mixer_strip.cc:192
+#: mixer_strip.cc:191
msgid "Isolate Solo"
msgstr ""
-#: mixer_strip.cc:201
+#: mixer_strip.cc:200
msgid "Lock Solo Status"
msgstr ""
-#: mixer_strip.cc:203 mixer_strip.cc:1926
-msgid "lock"
+#: mixer_strip.cc:203 mixer_strip.cc:1982
+msgid "Iso"
msgstr ""
-#: mixer_strip.cc:204 mixer_strip.cc:1925
-msgid "iso"
-msgstr ""
-
-#: mixer_strip.cc:258
+#: mixer_strip.cc:259
msgid "Mix group"
msgstr ""
-#: mixer_strip.cc:351 rc_option_editor.cc:1865
+#: mixer_strip.cc:372 rc_option_editor.cc:2199
msgid "Phase Invert"
msgstr ""
-#: mixer_strip.cc:352 rc_option_editor.cc:1866 route_ui.cc:1218
-msgid "Solo Safe"
-msgstr "Solo安全"
-
-#: mixer_strip.cc:355 mixer_ui.cc:124 route_time_axis.cc:673
-msgid "Group"
-msgstr "组"
+#: mixer_strip.cc:373 rc_option_editor.cc:2200
+msgid "Record & Monitor"
+msgstr ""
-#: mixer_strip.cc:356 rc_option_editor.cc:1869
-msgid "Meter Point"
+#: mixer_strip.cc:374 rc_option_editor.cc:2201
+msgid "Solo Iso / Lock"
msgstr ""
-#: mixer_strip.cc:470
+#: mixer_strip.cc:530
msgid "Enable/Disable MIDI input"
msgstr "å¯ç”¨/ç¦ç”¨MIDI输入"
-#: mixer_strip.cc:622
-msgid ""
-"Aux\n"
-"Sends"
+#: mixer_strip.cc:694
+msgid "Aux"
msgstr ""
-#: mixer_strip.cc:646
+#: mixer_strip.cc:716
msgid "Snd"
msgstr ""
-#: mixer_strip.cc:701 mixer_strip.cc:829 processor_box.cc:2193
+#: mixer_strip.cc:782 mixer_strip.cc:880 processor_box.cc:2426
msgid "Not connected to audio engine - no I/O changes are possible"
msgstr ""
-#: mixer_strip.cc:1096
+#: mixer_strip.cc:1163
msgid "<b>INPUT</b> to %1"
msgstr ""
-#: mixer_strip.cc:1099
+#: mixer_strip.cc:1166
msgid "<b>OUTPUT</b> from %1"
msgstr ""
-#: mixer_strip.cc:1174
+#: mixer_strip.cc:1241
msgid "Disconnected"
msgstr "失去连接"
-#: mixer_strip.cc:1303
+#: mixer_strip.cc:1376
msgid "*Comments*"
msgstr ""
-#: mixer_strip.cc:1310
+#: mixer_strip.cc:1383
msgid "Cmt"
msgstr ""
-#: mixer_strip.cc:1313
+#: mixer_strip.cc:1386
msgid "*Cmt*"
msgstr ""
-#: mixer_strip.cc:1319
+#: mixer_strip.cc:1392
msgid "Click to Add/Edit Comments"
msgstr ""
-#: mixer_strip.cc:1358
-msgid ": comment editor"
-msgstr ": 注释编辑器"
-
-#: mixer_strip.cc:1435
+#: mixer_strip.cc:1436
msgid "Grp"
msgstr "组"
-#: mixer_strip.cc:1438
+#: mixer_strip.cc:1439
msgid "~G"
msgstr "~G"
-#: mixer_strip.cc:1467
+#: mixer_strip.cc:1468 route_time_axis.cc:534
+msgid "Color..."
+msgstr "颜色..."
+
+#: mixer_strip.cc:1470 route_time_axis.cc:536
msgid "Comments..."
msgstr "注释..."
-#: mixer_strip.cc:1469
+#: mixer_strip.cc:1472 route_time_axis.cc:538
+msgid "Inputs..."
+msgstr ""
+
+#: mixer_strip.cc:1474 route_time_axis.cc:540
+msgid "Outputs..."
+msgstr ""
+
+#: mixer_strip.cc:1479
msgid "Save As Template..."
msgstr "ä¿å­˜ä¸ºæ¨¡æ¿..."
-#: mixer_strip.cc:1475 route_group_dialog.cc:39 route_time_axis.cc:696
+#: mixer_strip.cc:1485 route_group_dialog.cc:45 route_time_axis.cc:814
msgid "Active"
msgstr "å¯ç”¨(Active)"
-#: mixer_strip.cc:1482
+#: mixer_strip.cc:1493
msgid "Adjust Latency..."
msgstr "调整延迟..."
-#: mixer_strip.cc:1485
+#: mixer_strip.cc:1496
msgid "Protect Against Denormals"
msgstr ""
-#: mixer_strip.cc:1491 route_time_axis.cc:435
+#: mixer_strip.cc:1502 route_time_axis.cc:553
msgid "Remote Control ID..."
msgstr ""
-#: mixer_strip.cc:1717 mixer_strip.cc:1741
-msgid "in"
-msgstr ""
-
-#: mixer_strip.cc:1725
-msgid "post"
-msgstr ""
-
-#: mixer_strip.cc:1729
-msgid "out"
+#: mixer_strip.cc:1778
+msgid "Pre"
msgstr ""
-#: mixer_strip.cc:1734
-msgid "custom"
+#: mixer_strip.cc:1782
+msgid "Post"
msgstr ""
-#: mixer_strip.cc:1745
-msgid "pr"
+#: mixer_strip.cc:1802
+msgid "Pr"
msgstr ""
-#: mixer_strip.cc:1749
-msgid "po"
+#: mixer_strip.cc:1806
+msgid "Po"
msgstr ""
-#: mixer_strip.cc:1753
-msgid "o"
+#: mixer_strip.cc:1815
+msgid "C"
msgstr ""
-#: mixer_strip.cc:1758
-msgid "c"
-msgstr ""
-
-#: mixer_strip.cc:1906 route_ui.cc:143
+#: mixer_strip.cc:1963 route_ui.cc:164
msgid "Disk"
msgstr ""
-#: mixer_strip.cc:1918 monitor_section.cc:63
+#: mixer_strip.cc:1975 monitor_section.cc:71
msgid "AFL"
msgstr ""
-#: mixer_strip.cc:1921 monitor_section.cc:64
+#: mixer_strip.cc:1978 monitor_section.cc:72
msgid "PFL"
msgstr ""
-#: mixer_strip.cc:1933
+#: mixer_strip.cc:1989 meter_strip.cc:380
msgid "D"
msgstr ""
-#: mixer_strip.cc:1953
-msgid "i"
-msgstr ""
-
-#: mixer_strip.cc:2128
-msgid "Pre-fader"
+#: mixer_strip.cc:2196
+msgid "Pre Fader"
msgstr ""
-#: mixer_strip.cc:2129
-msgid "Post-fader"
+#: mixer_strip.cc:2197
+msgid "Post Fader"
msgstr ""
-#: mixer_strip.cc:2166 meter_strip.cc:728
+#: mixer_strip.cc:2235 meter_strip.cc:818
msgid "Change all in Group to %1"
msgstr ""
-#: mixer_strip.cc:2168 meter_strip.cc:730
+#: mixer_strip.cc:2237 meter_strip.cc:820
msgid "Change all to %1"
msgstr ""
-#: mixer_strip.cc:2170 meter_strip.cc:732
+#: mixer_strip.cc:2239 meter_strip.cc:822
msgid "Change same track-type to %1"
msgstr ""
-#: mixer_ui.cc:1189
+#: mixer_ui.cc:129 route_time_axis.cc:791
+msgid "Group"
+msgstr "组"
+
+#: mixer_ui.cc:1209
msgid "track display list item for renamed strip not found!"
msgstr ""
-#: mixer_ui.cc:1273
+#: mixer_ui.cc:1293
msgid "-all-"
msgstr ""
-#: mixer_ui.cc:1794
+#: mixer_ui.cc:1829
msgid "Strips"
msgstr ""
-#: meter_strip.cc:764
+#: meter_strip.cc:157
+msgid "Reset Peak"
+msgstr ""
+
+#: meter_strip.cc:854
msgid "Variable height"
msgstr ""
-#: meter_strip.cc:765
+#: meter_strip.cc:855
msgid "Short"
msgstr ""
-#: meter_strip.cc:766
+#: meter_strip.cc:856
msgid "Tall"
msgstr ""
-#: meter_strip.cc:767
+#: meter_strip.cc:857
msgid "Grande"
msgstr ""
-#: meter_strip.cc:768
+#: meter_strip.cc:858
msgid "Venti"
msgstr ""
-#: meter_patterns.cc:81
+#: meter_patterns.cc:82
msgid "Peak"
msgstr ""
-#: meter_patterns.cc:84
+#: meter_patterns.cc:85
msgid "RMS + Peak"
msgstr ""
-#: meter_patterns.cc:87
+#: meter_patterns.cc:88
msgid "IEC1/DIN"
msgstr ""
-#: meter_patterns.cc:90
+#: meter_patterns.cc:91
msgid "IEC1/Nordic"
msgstr ""
-#: meter_patterns.cc:93
+#: meter_patterns.cc:94
msgid "IEC2/BBC"
msgstr ""
-#: meter_patterns.cc:96
+#: meter_patterns.cc:97
msgid "IEC2/EBU"
msgstr ""
-#: meter_patterns.cc:99
+#: meter_patterns.cc:100
msgid "K20"
msgstr ""
-#: meter_patterns.cc:102
+#: meter_patterns.cc:103
msgid "K14"
msgstr ""
-#: meter_patterns.cc:105
+#: meter_patterns.cc:106
+msgid "K12"
+msgstr ""
+
+#: meter_patterns.cc:109
msgid "VU"
msgstr ""
-#: monitor_section.cc:62
+#: monitor_section.cc:70
msgid "SiP"
msgstr ""
-#: monitor_section.cc:86
-msgid "soloing"
-msgstr ""
+#: monitor_section.cc:97 route_group_dialog.cc:49
+msgid "Soloing"
+msgstr "独å¥ä¸­"
-#: monitor_section.cc:90
-msgid "isolated"
+#: monitor_section.cc:101
+msgid "Isolated"
msgstr ""
-#: monitor_section.cc:94
-msgid "auditioning"
-msgstr "监å¬ä¸­"
+#: monitor_section.cc:105
+msgid "Auditioning"
+msgstr ""
-#: monitor_section.cc:104
+#: monitor_section.cc:115
msgid ""
"When active, something is solo-isolated.\n"
"Click to de-isolate everything"
msgstr ""
-#: monitor_section.cc:107
+#: monitor_section.cc:118
msgid ""
"When active, auditioning is active.\n"
"Click to stop the audition"
@@ -7417,127 +7537,119 @@ msgstr ""
"å¯ç”¨æ—¶, 监å¬æ­£åœ¨è¿›è¡Œ.\n"
"点击æ¥åœæ­¢ç›‘å¬."
-#: monitor_section.cc:124
+#: monitor_section.cc:135
msgid "Solo controls affect solo-in-place"
msgstr ""
-#: monitor_section.cc:130
+#: monitor_section.cc:141
msgid "Solo controls toggle after-fader-listen"
msgstr ""
-#: monitor_section.cc:136
+#: monitor_section.cc:147
msgid "Solo controls toggle pre-fader-listen"
msgstr ""
-#: monitor_section.cc:144
+#: monitor_section.cc:157
msgid "Gain increase for soloed signals (0dB is normal)"
msgstr ""
-#: monitor_section.cc:150
+#: monitor_section.cc:171
msgid "Solo Boost"
msgstr ""
-#: monitor_section.cc:162
+#: monitor_section.cc:186
msgid ""
"Gain reduction non-soloed signals\n"
"A value above -inf dB causes \"solo-in-front\""
msgstr ""
-#: monitor_section.cc:164
+#: monitor_section.cc:197
msgid "SiP Cut"
msgstr ""
-#: monitor_section.cc:176
+#: monitor_section.cc:212
msgid "Gain reduction to use when dimming monitor outputs"
msgstr ""
-#: monitor_section.cc:181
+#: monitor_section.cc:226 monitor_section.cc:284
msgid "Dim"
msgstr ""
-#: monitor_section.cc:190
-msgid "excl. solo"
+#: monitor_section.cc:236
+msgid "Excl. Solo"
msgstr ""
-#: monitor_section.cc:192
+#: monitor_section.cc:238
msgid "Exclusive solo means that only 1 solo is active at a time"
msgstr ""
-#: monitor_section.cc:199
-msgid "solo » mute"
+#: monitor_section.cc:245
+msgid "Solo » Mute"
msgstr ""
-#: monitor_section.cc:201
+#: monitor_section.cc:247
msgid ""
"If enabled, solo will override mute\n"
"(a soloed & muted track or bus will be audible)"
msgstr ""
-#: monitor_section.cc:227
-msgid "mute"
-msgstr ""
-
-#: monitor_section.cc:238
-msgid "dim"
-msgstr ""
-
-#: monitor_section.cc:245
-msgid "mono"
-msgstr "å•å£°é“"
-
-#: monitor_section.cc:266
+#: monitor_section.cc:324
msgid "Monitor"
msgstr ""
-#: monitor_section.cc:678
+#: monitor_section.cc:751
msgid "Switch monitor to mono"
msgstr ""
-#: monitor_section.cc:681
+#: monitor_section.cc:754
msgid "Cut monitor"
msgstr ""
-#: monitor_section.cc:684
+#: monitor_section.cc:757
msgid "Dim monitor"
msgstr ""
-#: monitor_section.cc:687
+#: monitor_section.cc:760
msgid "Toggle exclusive solo mode"
msgstr ""
-#: monitor_section.cc:693
+#: monitor_section.cc:766
msgid "Toggle mute overrides solo mode"
msgstr ""
-#: monitor_section.cc:705
+#: monitor_section.cc:778
msgid "Cut monitor channel %1"
msgstr ""
-#: monitor_section.cc:710
+#: monitor_section.cc:783
msgid "Dim monitor channel %1"
msgstr ""
-#: monitor_section.cc:715
+#: monitor_section.cc:788
msgid "Solo monitor channel %1"
msgstr ""
-#: monitor_section.cc:720
+#: monitor_section.cc:793
msgid "Invert monitor channel %1"
msgstr ""
-#: monitor_section.cc:730
+#: monitor_section.cc:803
msgid "In-place solo"
msgstr ""
-#: monitor_section.cc:732
+#: monitor_section.cc:805
msgid "After Fade Listen (AFL) solo"
msgstr ""
-#: monitor_section.cc:734
+#: monitor_section.cc:807
msgid "Pre Fade Listen (PFL) solo"
msgstr ""
-#: mono_panner.cc:101
+#: mono_panner.cc:109 stereo_panner.cc:117
+msgid "bypassed"
+msgstr ""
+
+#: mono_panner.cc:123
#, c-format
msgid "L:%3d R:%3d"
msgstr ""
@@ -7637,7 +7749,7 @@ msgstr "标准化区域"
msgid "Normalize region"
msgstr "标准化区域"
-#: normalize_dialog.cc:49 strip_silence_dialog.cc:70
+#: normalize_dialog.cc:49 strip_silence_dialog.cc:66
msgid "dbFS"
msgstr ""
@@ -7744,31 +7856,26 @@ msgstr ""
" -k, --keybindings 文件å 载入的按键绑定å称 (默认是 ~/.ardour3/ardour."
"bindings)\n"
-#: panner2d.cc:781
+#: panner2d.cc:852
msgid "Panner (2D)"
msgstr ""
-#: panner2d.cc:783 panner_ui.cc:383 plugin_ui.cc:448
+#: panner2d.cc:854 panner_ui.cc:399 plugin_ui.cc:449
msgid "Bypass"
msgstr ""
-#: panner2d.cc:787
+#: panner2d.cc:860
msgid "Panner"
msgstr ""
-#: panner_ui.cc:70
+#: panner_ui.cc:71
msgid "Pan automation mode"
msgstr ""
-#: panner_ui.cc:71
+#: panner_ui.cc:72
msgid "Pan automation type"
msgstr ""
-#: panner_ui.cc:294
-msgid ""
-"No panner user interface is currently available for %1-in/2out tracks/busses"
-msgstr ""
-
#: playlist_selector.cc:43
msgid "Playlists"
msgstr "播放列表"
@@ -7793,39 +7900,39 @@ msgstr ""
msgid "Imported"
msgstr "Zavedeno"
-#: plugin_eq_gui.cc:75 plugin_eq_gui.cc:99
+#: plugin_eq_gui.cc:85 plugin_eq_gui.cc:109
msgid "dB scale"
msgstr "dB标尺"
-#: plugin_eq_gui.cc:106
+#: plugin_eq_gui.cc:116
msgid "Show phase"
msgstr "显示相ä½"
-#: plugin_selector.cc:53 plugin_selector.cc:220
+#: plugin_selector.cc:53 plugin_selector.cc:229
msgid "Name contains"
msgstr "å称包å«"
-#: plugin_selector.cc:54 plugin_selector.cc:224
+#: plugin_selector.cc:54 plugin_selector.cc:233
msgid "Type contains"
msgstr "类型包å«"
-#: plugin_selector.cc:55 plugin_selector.cc:222
+#: plugin_selector.cc:55 plugin_selector.cc:231
msgid "Category contains"
msgstr "类型包å«"
-#: plugin_selector.cc:56 plugin_selector.cc:244
+#: plugin_selector.cc:56 plugin_selector.cc:253
msgid "Author contains"
msgstr "作者包å«"
-#: plugin_selector.cc:57 plugin_selector.cc:246
+#: plugin_selector.cc:57 plugin_selector.cc:255
msgid "Library contains"
msgstr "库包å«"
-#: plugin_selector.cc:58 plugin_selector.cc:210 plugin_selector.cc:521
+#: plugin_selector.cc:58 plugin_selector.cc:219 plugin_selector.cc:537
msgid "Favorites only"
msgstr "仅收è—"
-#: plugin_selector.cc:59 plugin_selector.cc:214 plugin_selector.cc:521
+#: plugin_selector.cc:59 plugin_selector.cc:223 plugin_selector.cc:537
msgid "Hidden only"
msgstr "ä»…éšè—"
@@ -7833,189 +7940,189 @@ msgstr "ä»…éšè—"
msgid "Plugin Manager"
msgstr "æ’件管ç†"
-#: plugin_selector.cc:84
+#: plugin_selector.cc:85
msgid "Fav"
msgstr "收"
-#: plugin_selector.cc:86
+#: plugin_selector.cc:87
msgid "Available Plugins"
msgstr "å¯ç”¨æ’件"
-#: plugin_selector.cc:87
+#: plugin_selector.cc:88
msgid "Type"
msgstr "类型"
-#: plugin_selector.cc:88
+#: plugin_selector.cc:89
msgid "Category"
msgstr "类别"
-#: plugin_selector.cc:89
+#: plugin_selector.cc:90
msgid "Creator"
msgstr "创建者"
-#: plugin_selector.cc:90
+#: plugin_selector.cc:91
msgid "# Audio In"
msgstr "# 音频输入"
-#: plugin_selector.cc:91
+#: plugin_selector.cc:92
msgid "# Audio Out"
msgstr "# 音频输出"
-#: plugin_selector.cc:92
+#: plugin_selector.cc:93
msgid "# MIDI In"
msgstr "# MIDI输入"
-#: plugin_selector.cc:93
+#: plugin_selector.cc:94
msgid "# MIDI Out"
msgstr "# MIDI输出"
-#: plugin_selector.cc:115
+#: plugin_selector.cc:116
msgid "Plugins to be connected"
msgstr "被连接的æ’件"
-#: plugin_selector.cc:128
+#: plugin_selector.cc:129
msgid "Add a plugin to the effect list"
msgstr "添加一个æ’件到效果列表"
-#: plugin_selector.cc:132
+#: plugin_selector.cc:133
msgid "Remove a plugin from the effect list"
msgstr "从效果列表中移除一个æ’件"
-#: plugin_selector.cc:134
+#: plugin_selector.cc:135
msgid "Update available plugins"
msgstr "æ›´æ–°å¯ç”¨æ’件"
-#: plugin_selector.cc:171
+#: plugin_selector.cc:172
msgid "Insert Plugin(s)"
msgstr "æ’å…¥æ’件"
-#: plugin_selector.cc:320 plugin_selector.cc:321 plugin_selector.cc:322
-#: plugin_selector.cc:323
+#: plugin_selector.cc:337 plugin_selector.cc:338 plugin_selector.cc:339
+#: plugin_selector.cc:340
msgid "variable"
msgstr ""
-#: plugin_selector.cc:480
+#: plugin_selector.cc:496
msgid ""
"The plugin \"%1\" could not be loaded\n"
"\n"
"See the Log window for more details (maybe)"
msgstr ""
-#: plugin_selector.cc:628
+#: plugin_selector.cc:644
msgid "Favorites"
msgstr "收è—"
-#: plugin_selector.cc:630
+#: plugin_selector.cc:646
msgid "Plugin Manager..."
msgstr "æ’件管ç†å™¨..."
-#: plugin_selector.cc:634
+#: plugin_selector.cc:650
msgid "By Creator"
msgstr "æ ¹æ®åˆ›å»ºè€…"
-#: plugin_selector.cc:637
+#: plugin_selector.cc:653
msgid "By Category"
msgstr "æ ¹æ®ç±»åˆ«"
-#: plugin_ui.cc:114
+#: plugin_ui.cc:113
msgid "Eh? LADSPA plugins don't have editors!"
msgstr "呃?LADSPAæ’件没有编辑器"
-#: plugin_ui.cc:123 plugin_ui.cc:226
+#: plugin_ui.cc:122 plugin_ui.cc:227
msgid ""
"unknown type of editor-supplying plugin (note: no VST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:126
+#: plugin_ui.cc:125
msgid "unknown type of editor-supplying plugin"
msgstr "未知类型编辑器æ’件"
-#: plugin_ui.cc:256
+#: plugin_ui.cc:257
msgid ""
"unknown type of editor-supplying plugin (note: no linuxVST support in this "
"version of %1)"
msgstr ""
-#: plugin_ui.cc:328
+#: plugin_ui.cc:329
msgid "create_lv2_editor called on non-LV2 plugin"
msgstr ""
-#: plugin_ui.cc:414
+#: plugin_ui.cc:415
msgid "Add"
msgstr "增添"
-#: plugin_ui.cc:418
+#: plugin_ui.cc:419
msgid "Description"
msgstr ""
-#: plugin_ui.cc:419
+#: plugin_ui.cc:420
msgid "Plugin analysis"
msgstr "æ’件分æž"
-#: plugin_ui.cc:426
+#: plugin_ui.cc:427
msgid ""
"Presets (if any) for this plugin\n"
"(Both factory and user-created)"
msgstr ""
-#: plugin_ui.cc:427
+#: plugin_ui.cc:428
msgid "Save a new preset"
msgstr ""
-#: plugin_ui.cc:428
+#: plugin_ui.cc:429
msgid "Save the current preset"
msgstr ""
-#: plugin_ui.cc:429
+#: plugin_ui.cc:430
msgid "Delete the current preset"
msgstr ""
-#: plugin_ui.cc:430
+#: plugin_ui.cc:431
msgid "Disable signal processing by the plugin"
msgstr ""
-#: plugin_ui.cc:463 plugin_ui.cc:659
+#: plugin_ui.cc:464 plugin_ui.cc:660
msgid ""
"Click to allow the plugin to receive keyboard events that %1 would normally "
"use as a shortcut"
msgstr "å•å‡»æ¥å…许此æ’件接å—键盘事件, 这样å­å°±å¯ä»¥æ­£å¸¸åœ°ä½¿ç”¨ %1 å¿«æ·é”®"
-#: plugin_ui.cc:464
+#: plugin_ui.cc:465
msgid "Click to enable/disable this plugin"
msgstr "å•å‡»æ¥å¯ç”¨/ç¦ç”¨æ­¤æ’件"
-#: plugin_ui.cc:503
+#: plugin_ui.cc:504
msgid "latency (%1 sample)"
msgid_plural "latency (%1 samples)"
msgstr[0] ""
msgstr[1] ""
-#: plugin_ui.cc:505
+#: plugin_ui.cc:506
msgid "latency (%1 ms)"
msgstr "延迟 (%1 毫秒)"
-#: plugin_ui.cc:516
+#: plugin_ui.cc:517
msgid "Edit Latency"
msgstr "Upravit prodlevu"
-#: plugin_ui.cc:555
+#: plugin_ui.cc:556
msgid "Plugin preset %1 not found"
msgstr "未找到æ’件预设%1"
-#: plugin_ui.cc:592
+#: plugin_ui.cc:593
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"full version"
msgstr ""
-#: plugin_ui.cc:612 plugin_ui.cc:627
+#: plugin_ui.cc:613 plugin_ui.cc:628
msgid ""
"Plugin presets are not supported in this build of %1. Consider paying for a "
"newer version"
msgstr ""
-#: plugin_ui.cc:666
+#: plugin_ui.cc:667
msgid "Click to allow normal use of %1 keyboard shortcuts"
msgstr "å•å‡»æ¥å…许正常地使用 %1 å¿«æ·é”®"
@@ -8091,97 +8198,97 @@ msgstr ""
msgid "alsa_pcm"
msgstr ""
-#: port_insert_ui.cc:40
+#: port_insert_ui.cc:39
msgid "Measure Latency"
msgstr "测é‡å»¶è¿Ÿ"
-#: port_insert_ui.cc:51
+#: port_insert_ui.cc:50
msgid "Send/Output"
msgstr "å‘é€/输出"
-#: port_insert_ui.cc:52
+#: port_insert_ui.cc:51
msgid "Return/Input"
msgstr "返回/输入"
-#: port_insert_ui.cc:86
+#: port_insert_ui.cc:85
msgid "No signal detected"
msgstr "没有检测到信å·"
-#: port_insert_ui.cc:166
+#: port_insert_ui.cc:165
msgid "Port Insert "
msgstr "æ’入端å£"
-#: port_matrix.cc:331 port_matrix.cc:357
+#: port_matrix.cc:332 port_matrix.cc:358
msgid "<b>Sources</b>"
msgstr "<b>æº</b>"
-#: port_matrix.cc:332 port_matrix.cc:358
+#: port_matrix.cc:333 port_matrix.cc:359
msgid "<b>Destinations</b>"
msgstr "<b>目的地</b>"
-#: port_matrix.cc:440 port_matrix.cc:448
+#: port_matrix.cc:441 port_matrix.cc:449
#, c-format
msgid "Add %s %s"
msgstr "增加 %s %s"
-#: port_matrix.cc:456
+#: port_matrix.cc:457
#, c-format
msgid "Rename '%s'..."
msgstr "é‡å‘½å '%s'..."
-#: port_matrix.cc:472
+#: port_matrix.cc:473
msgid "Remove all"
msgstr "移除所有"
-#: port_matrix.cc:492 port_matrix.cc:504
+#: port_matrix.cc:493 port_matrix.cc:505
#, c-format
msgid "%s all"
msgstr "%s 所有"
-#: port_matrix.cc:527
+#: port_matrix.cc:528
msgid "Rescan"
msgstr "é‡æ–°æ‰«æ"
-#: port_matrix.cc:529
+#: port_matrix.cc:530
msgid "Show individual ports"
msgstr "显示å„个端å£"
-#: port_matrix.cc:535
+#: port_matrix.cc:536
msgid "Flip"
msgstr ""
-#: port_matrix.cc:721
+#: port_matrix.cc:722
msgid ""
"It is not possible to add a port here, as the first processor in the track "
"or buss cannot support the new configuration."
msgstr ""
-#: port_matrix.cc:724
+#: port_matrix.cc:725
msgid "Cannot add port"
msgstr ""
-#: port_matrix.cc:746
+#: port_matrix.cc:747
msgid "Port removal not allowed"
msgstr "ä¸å…许端å£ç§»é™¤"
-#: port_matrix.cc:747
+#: port_matrix.cc:748
msgid ""
"This port cannot be removed.\n"
"Either the first plugin in the track or buss cannot accept\n"
"the new number of inputs or the last plugin has more outputs."
msgstr ""
-#: port_matrix.cc:964
+#: port_matrix.cc:965
#, c-format
msgid "Remove '%s'"
msgstr "移除 '%s'"
-#: port_matrix.cc:979
+#: port_matrix.cc:980
#, c-format
msgid "%s all from '%s'"
msgstr "%s 所有, 从 '%s'"
-#: port_matrix.cc:1045
+#: port_matrix.cc:1046
msgid "channel"
msgstr "声é“"
@@ -8193,50 +8300,73 @@ msgstr "没有连接的端å£"
msgid "There are no %1 ports to connect."
msgstr "没有 %1 端å£å¯è¿žæŽ¥."
-#: processor_box.cc:256
+#: processor_box.cc:150
+msgid "Send"
+msgstr ""
+
+#: processor_box.cc:152
+msgid "Return"
+msgstr ""
+
+#: processor_box.cc:310
+msgid ""
+"\n"
+"This mono plugin has been replicated %1 times."
+msgstr ""
+
+#: processor_box.cc:314
msgid ""
"<b>%1</b>\n"
"Double-click to show GUI.\n"
-"Alt+double-click to show generic GUI."
+"Alt+double-click to show generic GUI.%2"
msgstr ""
-#: processor_box.cc:259
+#: processor_box.cc:317
msgid ""
"<b>%1</b>\n"
-"Double-click to show generic GUI."
+"Double-click to show generic GUI.%2"
+msgstr ""
+
+#: processor_box.cc:361
+#, c-format
+msgid "(%1x1) "
msgstr ""
-#: processor_box.cc:372
+#: processor_box.cc:437
msgid "Show All Controls"
msgstr ""
-#: processor_box.cc:376
+#: processor_box.cc:441
msgid "Hide All Controls"
msgstr ""
-#: processor_box.cc:465
+#: processor_box.cc:475
+msgid "Link panner controls"
+msgstr ""
+
+#: processor_box.cc:559
msgid "on"
msgstr ""
-#: processor_box.cc:465 rc_option_editor.cc:1898 rc_option_editor.cc:1912
+#: processor_box.cc:559 rc_option_editor.cc:2232 rc_option_editor.cc:2246
msgid "off"
msgstr ""
-#: processor_box.cc:742
+#: processor_box.cc:945
msgid ""
"Right-click to add/remove/edit\n"
"plugins,inserts,sends and more"
msgstr ""
-#: processor_box.cc:1197 processor_box.cc:1618
+#: processor_box.cc:1422 processor_box.cc:1848
msgid "Plugin Incompatibility"
msgstr "æ’件ä¸åŒ¹é…"
-#: processor_box.cc:1200
+#: processor_box.cc:1425
msgid "You attempted to add the plugin \"%1\" in slot %2.\n"
msgstr ""
-#: processor_box.cc:1206
+#: processor_box.cc:1431
msgid ""
"\n"
"This plugin has:\n"
@@ -8244,37 +8374,37 @@ msgstr ""
"\n"
"æ­¤æ’件:\n"
-#: processor_box.cc:1209
+#: processor_box.cc:1434
msgid "\t%1 MIDI input\n"
msgid_plural "\t%1 MIDI inputs\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1213
+#: processor_box.cc:1438
msgid "\t%1 audio input\n"
msgid_plural "\t%1 audio inputs\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1216
+#: processor_box.cc:1441
msgid ""
"\n"
"but at the insertion point, there are:\n"
msgstr ""
-#: processor_box.cc:1219
+#: processor_box.cc:1444
msgid "\t%1 MIDI channel\n"
msgid_plural "\t%1 MIDI channels\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1223
+#: processor_box.cc:1448
msgid "\t%1 audio channel\n"
msgid_plural "\t%1 audio channels\n"
msgstr[0] ""
msgstr[1] ""
-#: processor_box.cc:1226
+#: processor_box.cc:1451
msgid ""
"\n"
"%1 is unable to insert this plugin here.\n"
@@ -8282,37 +8412,37 @@ msgstr ""
"\n"
"%1 无法å†æ¬¡æ’å…¥æ’件."
-#: processor_box.cc:1262
+#: processor_box.cc:1488
msgid "Cannot set up new send: %1"
msgstr ""
-#: processor_box.cc:1621
+#: processor_box.cc:1851
msgid ""
"You cannot reorder these plugins/sends/inserts\n"
"in that way because the inputs and\n"
"outputs will not work correctly."
msgstr ""
-#: processor_box.cc:1805
+#: processor_box.cc:2035
msgid "Rename Processor"
msgstr "é‡å‘½å处ç†å™¨"
-#: processor_box.cc:1836
+#: processor_box.cc:2066
msgid "At least 100 IO objects exist with a name like %1 - name not changed"
msgstr "至少有100个IO(输入输出)对象存在ç€è¿™æ ·çš„%1çš„å称 -å称没有改å˜"
-#: processor_box.cc:1970
+#: processor_box.cc:2203
msgid "plugin insert constructor failed"
msgstr ""
-#: processor_box.cc:1981
+#: processor_box.cc:2214
msgid ""
"Copying the set of processors on the clipboard failed,\n"
"probably because the I/O configuration of the plugins\n"
"could not match the configuration of this track."
msgstr ""
-#: processor_box.cc:2027
+#: processor_box.cc:2260
msgid ""
"Do you really want to remove all processors from %1?\n"
"(this cannot be undone)"
@@ -8320,76 +8450,80 @@ msgstr ""
"你真想è¦ç§»é™¤æ‰€æœ‰å¤„ç†å™¨ä»Ž %1?\n"
"(æ­¤æ“作ä¸å¯æ’¤é”€)"
-#: processor_box.cc:2031 processor_box.cc:2056
+#: processor_box.cc:2264 processor_box.cc:2289
msgid "Yes, remove them all"
msgstr "确定移除所有"
-#: processor_box.cc:2033 processor_box.cc:2058
+#: processor_box.cc:2266 processor_box.cc:2291
msgid "Remove processors"
msgstr "移除处ç†å™¨"
-#: processor_box.cc:2048
+#: processor_box.cc:2281
msgid ""
"Do you really want to remove all pre-fader processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2051
+#: processor_box.cc:2284
msgid ""
"Do you really want to remove all post-fader processors from %1?\n"
"(this cannot be undone)"
msgstr ""
-#: processor_box.cc:2239
+#: processor_box.cc:2472
msgid "New Plugin"
msgstr "æ–°æ’件"
-#: processor_box.cc:2242
+#: processor_box.cc:2475
msgid "New Insert"
msgstr "æ–°æ’å…¥"
-#: processor_box.cc:2245
+#: processor_box.cc:2478
msgid "New External Send ..."
msgstr ""
-#: processor_box.cc:2249
+#: processor_box.cc:2482
msgid "New Aux Send ..."
msgstr ""
-#: processor_box.cc:2253
+#: processor_box.cc:2485
+msgid "Send Options"
+msgstr ""
+
+#: processor_box.cc:2487
msgid "Clear (all)"
msgstr "清除(所有)"
-#: processor_box.cc:2255
+#: processor_box.cc:2489
msgid "Clear (pre-fader)"
msgstr ""
-#: processor_box.cc:2257
+#: processor_box.cc:2491
msgid "Clear (post-fader)"
msgstr ""
-#: processor_box.cc:2283
+#: processor_box.cc:2517
msgid "Activate All"
msgstr "激活所有"
-#: processor_box.cc:2285
+#: processor_box.cc:2519
msgid "Deactivate All"
msgstr ""
-#: processor_box.cc:2287
+#: processor_box.cc:2521
msgid "A/B Plugins"
msgstr "A/B æ’件"
-#: processor_box.cc:2296
+#: processor_box.cc:2530
msgid "Edit with generic controls..."
msgstr ""
-#: processor_box.cc:2599
+#: processor_box.cc:2833
msgid "%1: %2 (by %3)"
msgstr ""
-#: processor_box.cc:2601
-msgid "%2 (by %3)"
+#: processor_box.cc:2835
+msgid "%1 (by %2)"
msgstr ""
#: patch_change_dialog.cc:51
@@ -8404,11 +8538,11 @@ msgstr ""
msgid "Patch"
msgstr ""
-#: patch_change_dialog.cc:99 step_entry.cc:429
+#: patch_change_dialog.cc:99 step_entry.cc:430
msgid "Program"
msgstr ""
-#: patch_change_dialog.cc:107 step_entry.cc:421
+#: patch_change_dialog.cc:107 step_entry.cc:422
msgid "Bank"
msgstr ""
@@ -8440,120 +8574,120 @@ msgstr "对é½éŸ³ç¬¦å¼€å§‹"
msgid "Snap note end"
msgstr "对é½éŸ³ç¬¦ç»“æŸ"
-#: rc_option_editor.cc:67
+#: rc_option_editor.cc:76
msgid "Click audio file:"
msgstr "å•å‡»éŸ³é¢‘文件:"
-#: rc_option_editor.cc:70 rc_option_editor.cc:77
+#: rc_option_editor.cc:79 rc_option_editor.cc:86
msgid "Browse..."
msgstr "æµè§ˆ..."
-#: rc_option_editor.cc:74
+#: rc_option_editor.cc:83
msgid "Click emphasis audio file:"
msgstr ""
-#: rc_option_editor.cc:106
+#: rc_option_editor.cc:115
msgid "Choose Click"
msgstr "选择点击"
-#: rc_option_editor.cc:126
+#: rc_option_editor.cc:135
msgid "Choose Click Emphasis"
msgstr ""
-#: rc_option_editor.cc:158
+#: rc_option_editor.cc:167
msgid "Limit undo history to"
msgstr "显示撤销历å²"
-#: rc_option_editor.cc:159
+#: rc_option_editor.cc:168
msgid "Save undo history of"
msgstr "ä¿å­˜æ’¤é”€åŽ†å²"
-#: rc_option_editor.cc:168 rc_option_editor.cc:175
+#: rc_option_editor.cc:177 rc_option_editor.cc:184
msgid "commands"
msgstr "命令"
-#: rc_option_editor.cc:313
+#: rc_option_editor.cc:322
msgid "Edit using:"
msgstr "用于编辑:"
-#: rc_option_editor.cc:319 rc_option_editor.cc:345 rc_option_editor.cc:372
+#: rc_option_editor.cc:328 rc_option_editor.cc:354 rc_option_editor.cc:381
msgid "+ button"
msgstr "+按钮"
-#: rc_option_editor.cc:339
+#: rc_option_editor.cc:348
msgid "Delete using:"
msgstr "用于删除:"
-#: rc_option_editor.cc:366
+#: rc_option_editor.cc:375
msgid "Insert note using:"
msgstr "用户æ’入音符:"
-#: rc_option_editor.cc:393
+#: rc_option_editor.cc:402
msgid "Ignore snap using:"
msgstr ""
-#: rc_option_editor.cc:409
+#: rc_option_editor.cc:418
msgid "Keyboard layout:"
msgstr "键盘布局:"
-#: rc_option_editor.cc:532
+#: rc_option_editor.cc:541
msgid "Font scaling:"
msgstr "字体缩放:"
-#: rc_option_editor.cc:584
+#: rc_option_editor.cc:591
+msgid "Waveform Clip Level (dBFS):"
+msgstr ""
+
+#: rc_option_editor.cc:643
msgid "Playback (seconds of buffering):"
msgstr "回放(缓冲的秒数):"
-#: rc_option_editor.cc:597
+#: rc_option_editor.cc:656
msgid "Recording (seconds of buffering):"
msgstr "录音(缓冲的秒数):"
-#: rc_option_editor.cc:654
+#: rc_option_editor.cc:714
msgid "Control Surface Protocol"
msgstr ""
-#: rc_option_editor.cc:658
-msgid "Feedback"
-msgstr "å馈"
-
-#: rc_option_editor.cc:663
+#: rc_option_editor.cc:723
msgid "Double-click on a name to edit settings for an enabled protocol"
msgstr "åŒå‡»å称æ¥æ ‡è®°å·²å¯ç”¨çš„å议设置"
-#: rc_option_editor.cc:815
+#: rc_option_editor.cc:886
msgid "Show Video Export Info before export"
msgstr ""
-#: rc_option_editor.cc:816
+#: rc_option_editor.cc:887
msgid "Show Video Server Startup Dialog"
msgstr ""
-#: rc_option_editor.cc:817
+#: rc_option_editor.cc:888
msgid "Advanced Setup (remote video server)"
msgstr ""
-#: rc_option_editor.cc:825
+#: rc_option_editor.cc:896
msgid ""
"<b>When enabled</b> you can speficify a custom video-server URL and docroot. "
"- Do not enable this option unless you know what you are doing."
msgstr ""
-#: rc_option_editor.cc:827
+#: rc_option_editor.cc:898
msgid "Video Server URL:"
msgstr ""
-#: rc_option_editor.cc:832
+#: rc_option_editor.cc:903
msgid ""
"Base URL of the video-server including http prefix. This is usually 'http://"
"hostname.example.org:1554/' and defaults to 'http://localhost:1554/' when "
"the video-server is running locally"
msgstr ""
-#: rc_option_editor.cc:834
+#: rc_option_editor.cc:905
msgid "Video Folder:"
msgstr ""
-#: rc_option_editor.cc:839
+#: rc_option_editor.cc:910
msgid ""
"Local path to the video-server document-root. Only files below this "
"directory will be accessible by the video-server. If the server run on a "
@@ -8562,113 +8696,194 @@ msgid ""
"monitor and file-browsing when opening/adding a video file."
msgstr ""
-#: rc_option_editor.cc:846
+#: rc_option_editor.cc:917
msgid ""
"<b>When enabled</b> an information window with details is displayed before "
"the video-export dialog."
msgstr ""
-#: rc_option_editor.cc:851
+#: rc_option_editor.cc:922
msgid ""
"<b>When enabled</b> the video server is never launched automatically without "
"confirmation"
msgstr ""
-#: rc_option_editor.cc:991
+#: rc_option_editor.cc:1004
+msgid "Always Display Plugin Scan Progress"
+msgstr ""
+
+#: rc_option_editor.cc:1005
+msgid "Scan for new VST Plugins on Application Start"
+msgstr ""
+
+#: rc_option_editor.cc:1016
+msgid "General"
+msgstr ""
+
+#: rc_option_editor.cc:1022
+msgid "Scan for Plugins"
+msgstr ""
+
+#: rc_option_editor.cc:1029
+msgid ""
+"<b>When enabled</b> a popup window showing plugin scan progress is displayed "
+"for indexing (cache load) and discovery (detect new plugins)"
+msgstr ""
+
+#: rc_option_editor.cc:1035
+msgid ""
+"Specify the default timeout for plugin instantiation in 1/10 seconds. "
+"Plugins that require more time to load will be blacklisted. A value of 0 "
+"disables the timeout."
+msgstr ""
+
+#: rc_option_editor.cc:1037
+msgid "Scan Time Out [deciseconds]"
+msgstr ""
+
+#: rc_option_editor.cc:1045
+msgid "VST"
+msgstr ""
+
+#: rc_option_editor.cc:1051
+msgid "Clear VST Cache"
+msgstr ""
+
+#: rc_option_editor.cc:1055
+msgid "Clear VST Blacklist"
+msgstr ""
+
+#: rc_option_editor.cc:1063
+msgid ""
+"<b>When enabled</b> new VST plugins are searched, tested and added to the "
+"cache index on application start. When disabled new plugins will only be "
+"available after triggering a 'Scan' manually"
+msgstr ""
+
+#: rc_option_editor.cc:1066
+msgid "Linux VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1073
+msgid "Windows VST Path:"
+msgstr ""
+
+#: rc_option_editor.cc:1135
+msgid "Set Windows VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1150
+msgid "Set Linux VST Search Path"
+msgstr ""
+
+#: rc_option_editor.cc:1231
msgid "%1 Preferences"
msgstr "%1 首选项"
-#: rc_option_editor.cc:1002
+#: rc_option_editor.cc:1242
msgid "DSP CPU Utilization"
msgstr "DSP的CPU使用率"
-#: rc_option_editor.cc:1006
+#: rc_option_editor.cc:1246
msgid "Signal processing uses"
msgstr "ä¿¡å·å¤„ç†ä½¿ç”¨"
-#: rc_option_editor.cc:1011
+#: rc_option_editor.cc:1251
msgid "all but one processor"
msgstr "除了一个处ç†å™¨"
-#: rc_option_editor.cc:1012
+#: rc_option_editor.cc:1252
msgid "all available processors"
msgstr "所有å¯ç”¨çš„处ç†å™¨"
-#: rc_option_editor.cc:1015
+#: rc_option_editor.cc:1255
msgid "%1 processors"
msgstr "ï¼…1 处ç†å™¨"
-#: rc_option_editor.cc:1018
+#: rc_option_editor.cc:1258
msgid "This setting will only take effect when %1 is restarted."
msgstr ""
-#: rc_option_editor.cc:1023
+#: rc_option_editor.cc:1263
msgid "Options|Undo"
msgstr ""
-#: rc_option_editor.cc:1030
+#: rc_option_editor.cc:1270
msgid "Verify removal of last capture"
msgstr "确认移除最åŽçš„录音"
-#: rc_option_editor.cc:1038
+#: rc_option_editor.cc:1278
msgid "Make periodic backups of the session file"
msgstr "定期备份会è¯æ–‡ä»¶"
-#: rc_option_editor.cc:1043
+#: rc_option_editor.cc:1283
msgid "Session Management"
msgstr ""
-#: rc_option_editor.cc:1048
+#: rc_option_editor.cc:1288
msgid "Always copy imported files"
msgstr "总是å¤åˆ¶å¯¼å…¥çš„文件"
-#: rc_option_editor.cc:1055
+#: rc_option_editor.cc:1295
msgid "Default folder for new sessions:"
msgstr ""
-#: rc_option_editor.cc:1063
+#: rc_option_editor.cc:1303
msgid "Maximum number of recent sessions"
msgstr ""
-#: rc_option_editor.cc:1076
+#: rc_option_editor.cc:1316
msgid "Click gain level"
msgstr ""
-#: rc_option_editor.cc:1081 route_time_axis.cc:215 route_time_axis.cc:676
+#: rc_option_editor.cc:1321 route_time_axis.cc:266 route_time_axis.cc:794
msgid "Automation"
msgstr "自动化"
-#: rc_option_editor.cc:1086
+#: rc_option_editor.cc:1326
msgid "Thinning factor (larger value => less data)"
msgstr ""
-#: rc_option_editor.cc:1095
+#: rc_option_editor.cc:1335
msgid "Automation sampling interval (milliseconds)"
msgstr ""
-#: rc_option_editor.cc:1107
+#: rc_option_editor.cc:1347
msgid "Keep record-enable engaged on stop"
msgstr ""
-#: rc_option_editor.cc:1116
+#: rc_option_editor.cc:1356
msgid "Stop recording when an xrun occurs"
msgstr "在xruns出现时åœæ­¢å½•éŸ³"
-#: rc_option_editor.cc:1121
+#: rc_option_editor.cc:1361
msgid ""
"<b>When enabled</b> %1 will stop recording if an over- or underrun is "
"detected by the audio engine"
msgstr ""
-#: rc_option_editor.cc:1127
+#: rc_option_editor.cc:1367
+msgid "Play loop is a transport mode"
+msgstr ""
+
+#: rc_option_editor.cc:1372
+msgid ""
+"<b>When enabled</b> the loop button does not start playback but forces "
+"playback to always play the loop\n"
+"\n"
+"<b>When disabled</b> the loop button starts playing the loop, but stop then "
+"cancels loop playback"
+msgstr ""
+
+#: rc_option_editor.cc:1378
msgid "Create markers where xruns occur"
msgstr "在xruns出现时创建标记"
-#: rc_option_editor.cc:1136
+#: rc_option_editor.cc:1387
msgid "Stop at the end of the session"
msgstr "在会è¯ç»“å°¾åœæ­¢"
-#: rc_option_editor.cc:1141
+#: rc_option_editor.cc:1392
msgid ""
"<b>When enabled</b> if %1 is <b>not recording</b>, it will stop the "
"transport when it reaches the current session end marker\n"
@@ -8677,11 +8892,11 @@ msgid ""
"all times"
msgstr ""
-#: rc_option_editor.cc:1149
+#: rc_option_editor.cc:1400
msgid "Do seamless looping (not possible when slaved to MTC, LTC etc)"
msgstr ""
-#: rc_option_editor.cc:1154
+#: rc_option_editor.cc:1405
msgid ""
"<b>When enabled</b> this will loop by reading ahead and wrapping around at "
"the loop point, preventing any need to do a transport locate at the end of "
@@ -8691,39 +8906,39 @@ msgid ""
"loop when %1 reaches the end which will often cause a small click or delay"
msgstr ""
-#: rc_option_editor.cc:1162
+#: rc_option_editor.cc:1413
msgid "Disable per-track record disarm while rolling"
msgstr ""
-#: rc_option_editor.cc:1166
+#: rc_option_editor.cc:1417
msgid ""
"<b>When enabled</b> this will prevent you from accidentally stopping "
"specific tracks recording during a take"
msgstr ""
-#: rc_option_editor.cc:1171
+#: rc_option_editor.cc:1422
msgid "12dB gain reduction during fast-forward and fast-rewind"
msgstr "快进和倒带时有12dB的增益å‡å°‘"
-#: rc_option_editor.cc:1175
+#: rc_option_editor.cc:1426
msgid ""
"This will reduce the unpleasant increase in perceived volume that occurs "
"when fast-forwarding or rewinding through some kinds of audio"
msgstr ""
-#: rc_option_editor.cc:1179
+#: rc_option_editor.cc:1430
msgid "Sync/Slave"
msgstr ""
-#: rc_option_editor.cc:1183
+#: rc_option_editor.cc:1434
msgid "External timecode source"
msgstr "外部时间ç æº"
-#: rc_option_editor.cc:1193
+#: rc_option_editor.cc:1444
msgid "Match session video frame rate to external timecode"
msgstr ""
-#: rc_option_editor.cc:1199
+#: rc_option_editor.cc:1450
msgid ""
"This option controls the value of the video frame rate <i>while chasing</i> "
"an external timecode source.\n"
@@ -8737,21 +8952,21 @@ msgid ""
"external timecode standard and the session standard."
msgstr ""
-#: rc_option_editor.cc:1209
+#: rc_option_editor.cc:1460
msgid "External timecode is sync locked"
msgstr ""
-#: rc_option_editor.cc:1215
+#: rc_option_editor.cc:1466
msgid ""
"<b>When enabled</b> indicates that the selected external timecode source "
"shares sync (Black &amp; Burst, Wordclock, etc) with the audio interface."
msgstr ""
-#: rc_option_editor.cc:1222
+#: rc_option_editor.cc:1473
msgid "Lock to 29.9700 fps instead of 30000/1001"
msgstr ""
-#: rc_option_editor.cc:1228
+#: rc_option_editor.cc:1479
msgid ""
"<b>When enabled</b> the external timecode source is assumed to use 29.97 fps "
"instead of 30000/1001.\n"
@@ -8764,139 +8979,139 @@ msgid ""
"variant of using exactly 29.97 fps has zero timecode drift.\n"
msgstr ""
-#: rc_option_editor.cc:1238
+#: rc_option_editor.cc:1489
msgid "LTC Reader"
msgstr ""
-#: rc_option_editor.cc:1242
+#: rc_option_editor.cc:1493
msgid "LTC incoming port"
msgstr ""
-#: rc_option_editor.cc:1255
+#: rc_option_editor.cc:1506
msgid "LTC Generator"
msgstr ""
-#: rc_option_editor.cc:1260
+#: rc_option_editor.cc:1511
msgid "Enable LTC generator"
msgstr ""
-#: rc_option_editor.cc:1267
-msgid "send LTC while stopped"
+#: rc_option_editor.cc:1518
+msgid "Send LTC while stopped"
msgstr ""
-#: rc_option_editor.cc:1273
+#: rc_option_editor.cc:1524
msgid ""
"<b>When enabled</b> %1 will continue to send LTC information even when the "
"transport (playhead) is not moving"
msgstr ""
-#: rc_option_editor.cc:1279
+#: rc_option_editor.cc:1530
msgid "LTC generator level"
msgstr ""
-#: rc_option_editor.cc:1283
+#: rc_option_editor.cc:1534
msgid ""
"Specify the Peak Volume of the generated LTC signal in dbFS. A good value "
"is 0dBu ^= -18dbFS in an EBU calibrated system"
msgstr ""
-#: rc_option_editor.cc:1295
-msgid "Link selection of regions and tracks"
-msgstr "链接所选的区域和音轨"
+#: rc_option_editor.cc:1546
+msgid "Allow dragging of playhead"
+msgstr ""
-#: rc_option_editor.cc:1303
+#: rc_option_editor.cc:1554
msgid "Move relevant automation when audio regions are moved"
msgstr "当音频区域移除时移除相应自动化"
-#: rc_option_editor.cc:1311
+#: rc_option_editor.cc:1562
msgid "Show meters on tracks in the editor"
msgstr "在编辑器的音轨显示仪表"
-#: rc_option_editor.cc:1319
+#: rc_option_editor.cc:1570
msgid "Display master-meter in the toolbar"
msgstr ""
-#: rc_option_editor.cc:1326
+#: rc_option_editor.cc:1577
+msgid "Default fade shape"
+msgstr ""
+
+#: rc_option_editor.cc:1596
msgid "Regions in active edit groups are edited together"
msgstr ""
-#: rc_option_editor.cc:1327
+#: rc_option_editor.cc:1597
msgid "whenever they overlap in time"
msgstr ""
-#: rc_option_editor.cc:1328
+#: rc_option_editor.cc:1598
msgid "only if they have identical length, position and origin"
msgstr ""
-#: rc_option_editor.cc:1338
+#: rc_option_editor.cc:1608
msgid "Make rubberband selection rectangle snap to the grid"
msgstr ""
-#: rc_option_editor.cc:1346
+#: rc_option_editor.cc:1616
msgid "Show waveforms in regions"
msgstr "显示区域的波形"
-#: rc_option_editor.cc:1354
+#: rc_option_editor.cc:1624
msgid "Show gain envelopes in audio regions"
msgstr ""
-#: rc_option_editor.cc:1355
+#: rc_option_editor.cc:1625
msgid "in all modes"
msgstr ""
-#: rc_option_editor.cc:1356
+#: rc_option_editor.cc:1626
msgid "only in region gain mode"
msgstr ""
-#: rc_option_editor.cc:1363
+#: rc_option_editor.cc:1633
msgid "Waveform scale"
msgstr "波形标尺"
-#: rc_option_editor.cc:1368
+#: rc_option_editor.cc:1638
msgid "linear"
msgstr "先行"
-#: rc_option_editor.cc:1369
+#: rc_option_editor.cc:1639
msgid "logarithmic"
msgstr "对数"
-#: rc_option_editor.cc:1375
+#: rc_option_editor.cc:1645
msgid "Waveform shape"
msgstr "波形形状"
-#: rc_option_editor.cc:1380
+#: rc_option_editor.cc:1650
msgid "traditional"
msgstr "传统的"
-#: rc_option_editor.cc:1381
+#: rc_option_editor.cc:1651
msgid "rectified"
msgstr "æ•´æµçš„"
-#: rc_option_editor.cc:1388
+#: rc_option_editor.cc:1660
msgid "Show waveforms for audio while it is being recorded"
msgstr "在录制音频的时候显示波形"
-#: rc_option_editor.cc:1396
+#: rc_option_editor.cc:1668
msgid "Show zoom toolbar"
msgstr "显示缩放工具æ "
-#: rc_option_editor.cc:1404
-msgid "Color regions using their track's color"
-msgstr ""
-
-#: rc_option_editor.cc:1412
+#: rc_option_editor.cc:1676
msgid "Update editor window during drags of the summary"
msgstr ""
-#: rc_option_editor.cc:1420
+#: rc_option_editor.cc:1684
msgid "Synchronise editor and mixer selection"
msgstr ""
-#: rc_option_editor.cc:1427
+#: rc_option_editor.cc:1691
msgid "Name new markers"
msgstr "命å新标签"
-#: rc_option_editor.cc:1433
+#: rc_option_editor.cc:1697
msgid ""
"If enabled, popup a dialog when a new marker is created to allow its name to "
"be set as it is created.\n"
@@ -8904,516 +9119,541 @@ msgid ""
"You can always rename markers by right-clicking on them"
msgstr ""
-#: rc_option_editor.cc:1439
+#: rc_option_editor.cc:1703
msgid "Auto-scroll editor window when dragging near its edges"
msgstr ""
-#: rc_option_editor.cc:1446
+#: rc_option_editor.cc:1710
msgid "Buffering"
msgstr "缓冲中"
-#: rc_option_editor.cc:1454
+#: rc_option_editor.cc:1718
msgid "Record monitoring handled by"
msgstr ""
-#: rc_option_editor.cc:1460
+#: rc_option_editor.cc:1724
msgid "via Audio Driver"
msgstr ""
-#: rc_option_editor.cc:1463
-msgid "ardour"
-msgstr "ardour"
-
-#: rc_option_editor.cc:1464
+#: rc_option_editor.cc:1730
msgid "audio hardware"
msgstr "音频硬件"
-#: rc_option_editor.cc:1471
+#: rc_option_editor.cc:1737
msgid "Tape machine mode"
msgstr "ç£å¸¦æœºæ¨¡å¼"
-#: rc_option_editor.cc:1476
+#: rc_option_editor.cc:1742
msgid "Connection of tracks and busses"
msgstr "音轨和总线的连接"
-#: rc_option_editor.cc:1481
+#: rc_option_editor.cc:1747
msgid "Auto-connect master/monitor busses"
msgstr "自动连接 主控/监视 总线"
-#: rc_option_editor.cc:1488
+#: rc_option_editor.cc:1754
msgid "Connect track inputs"
msgstr "链接音轨输入"
-#: rc_option_editor.cc:1493
+#: rc_option_editor.cc:1759
msgid "automatically to physical inputs"
msgstr "自动物ç†æ•°å…¥"
-#: rc_option_editor.cc:1494 rc_option_editor.cc:1507
+#: rc_option_editor.cc:1760 rc_option_editor.cc:1773
msgid "manually"
msgstr "手动"
-#: rc_option_editor.cc:1500
+#: rc_option_editor.cc:1766
msgid "Connect track and bus outputs"
msgstr "链接音轨和总线的输出"
-#: rc_option_editor.cc:1505
+#: rc_option_editor.cc:1771
msgid "automatically to physical outputs"
msgstr "自动物ç†æ•°å‡º"
-#: rc_option_editor.cc:1506
+#: rc_option_editor.cc:1772
msgid "automatically to master bus"
msgstr "自动化主控总线"
-#: rc_option_editor.cc:1511
+#: rc_option_editor.cc:1777
msgid "Denormals"
msgstr "异常"
-#: rc_option_editor.cc:1516
+#: rc_option_editor.cc:1782
msgid "Use DC bias to protect against denormals"
msgstr "使用å压直æµæ”¾ç½®å¼‚常"
-#: rc_option_editor.cc:1523
+#: rc_option_editor.cc:1789
msgid "Processor handling"
msgstr "处ç†å™¨å¤„ç†"
-#: rc_option_editor.cc:1528
+#: rc_option_editor.cc:1794
msgid "no processor handling"
msgstr "无处ç†å™¨å¤„ç†"
-#: rc_option_editor.cc:1533
+#: rc_option_editor.cc:1799
msgid "use FlushToZero"
msgstr ""
-#: rc_option_editor.cc:1537
+#: rc_option_editor.cc:1803
msgid "use DenormalsAreZero"
msgstr ""
-#: rc_option_editor.cc:1541
+#: rc_option_editor.cc:1807
msgid "use FlushToZero and DenormalsAreZero"
msgstr ""
-#: rc_option_editor.cc:1551
+#: rc_option_editor.cc:1817
msgid "Silence plugins when the transport is stopped"
msgstr ""
-#: rc_option_editor.cc:1559
+#: rc_option_editor.cc:1825
msgid "Make new plugins active"
msgstr "å¯ç”¨æ–°æ’件"
-#: rc_option_editor.cc:1567
+#: rc_option_editor.cc:1835
msgid "Enable automatic analysis of audio"
msgstr "å¯ç”¨éŸ³é¢‘自动分æž"
-#: rc_option_editor.cc:1575
+#: rc_option_editor.cc:1843
msgid "Replicate missing region channels"
msgstr "å¤åˆ¶é—失的区域通é“"
-#: rc_option_editor.cc:1582 rc_option_editor.cc:1597 rc_option_editor.cc:1609
-#: rc_option_editor.cc:1621 rc_option_editor.cc:1633 rc_option_editor.cc:1637
-#: rc_option_editor.cc:1645 rc_option_editor.cc:1653 rc_option_editor.cc:1661
-#: rc_option_editor.cc:1663 rc_option_editor.cc:1671 rc_option_editor.cc:1679
-#: rc_option_editor.cc:1687
+#: rc_option_editor.cc:1850 rc_option_editor.cc:1852 rc_option_editor.cc:1867
+#: rc_option_editor.cc:1879 rc_option_editor.cc:1891 rc_option_editor.cc:1903
+#: rc_option_editor.cc:1907 rc_option_editor.cc:1915 rc_option_editor.cc:1923
+#: rc_option_editor.cc:1931 rc_option_editor.cc:1933 rc_option_editor.cc:1941
+#: rc_option_editor.cc:1949 rc_option_editor.cc:1957 rc_option_editor.cc:1965
+#: rc_option_editor.cc:1967
msgid "Solo / mute"
msgstr "独å¥/é™éŸ³"
-#: rc_option_editor.cc:1585
+#: rc_option_editor.cc:1855
msgid "Solo-in-place mute cut (dB)"
msgstr ""
-#: rc_option_editor.cc:1592
+#: rc_option_editor.cc:1862
msgid "Solo controls are Listen controls"
msgstr ""
-#: rc_option_editor.cc:1601
+#: rc_option_editor.cc:1871
msgid "Listen Position"
msgstr ""
-#: rc_option_editor.cc:1606
+#: rc_option_editor.cc:1876
msgid "after-fader (AFL)"
msgstr ""
-#: rc_option_editor.cc:1607
+#: rc_option_editor.cc:1877
msgid "pre-fader (PFL)"
msgstr ""
-#: rc_option_editor.cc:1613
+#: rc_option_editor.cc:1883
msgid "PFL signals come from"
msgstr ""
-#: rc_option_editor.cc:1618
+#: rc_option_editor.cc:1888
msgid "before pre-fader processors"
msgstr ""
-#: rc_option_editor.cc:1619
+#: rc_option_editor.cc:1889
msgid "pre-fader but after pre-fader processors"
msgstr ""
-#: rc_option_editor.cc:1625
+#: rc_option_editor.cc:1895
msgid "AFL signals come from"
msgstr ""
-#: rc_option_editor.cc:1630
+#: rc_option_editor.cc:1900
msgid "immediately post-fader"
msgstr ""
-#: rc_option_editor.cc:1631
+#: rc_option_editor.cc:1901
msgid "after post-fader processors (before pan)"
msgstr ""
-#: rc_option_editor.cc:1640
+#: rc_option_editor.cc:1910
msgid "Exclusive solo"
msgstr "执行solo"
-#: rc_option_editor.cc:1648
+#: rc_option_editor.cc:1918
msgid "Show solo muting"
msgstr ""
-#: rc_option_editor.cc:1656
+#: rc_option_editor.cc:1926
msgid "Soloing overrides muting"
msgstr ""
-#: rc_option_editor.cc:1661
+#: rc_option_editor.cc:1931
msgid "Default track / bus muting options"
msgstr "默认 音轨/总线 é™éŸ³é€‰é¡¹"
-#: rc_option_editor.cc:1666
+#: rc_option_editor.cc:1936
msgid "Mute affects pre-fader sends"
msgstr ""
-#: rc_option_editor.cc:1674
+#: rc_option_editor.cc:1944
msgid "Mute affects post-fader sends"
msgstr ""
-#: rc_option_editor.cc:1682
+#: rc_option_editor.cc:1952
msgid "Mute affects control outputs"
msgstr ""
-#: rc_option_editor.cc:1690
+#: rc_option_editor.cc:1960
msgid "Mute affects main outputs"
msgstr " ovlivní hlavní výstupy"
-#: rc_option_editor.cc:1706
+#: rc_option_editor.cc:1965
+msgid "Send Routing"
+msgstr ""
+
+#: rc_option_editor.cc:1970
+msgid "Link panners of Aux and External Sends with main panner by default"
+msgstr ""
+
+#: rc_option_editor.cc:1986
msgid "Send MIDI Time Code"
msgstr "å‘é€MIDI时间ç "
-#: rc_option_editor.cc:1714
+#: rc_option_editor.cc:1994
msgid "Percentage either side of normal transport speed to transmit MTC"
msgstr ""
-#: rc_option_editor.cc:1723
+#: rc_option_editor.cc:2003
msgid "Obey MIDI Machine Control commands"
msgstr "éµå®ˆMIDI机器控制命令(MTC commands)"
-#: rc_option_editor.cc:1731
+#: rc_option_editor.cc:2011
msgid "Send MIDI Machine Control commands"
msgstr "å‘é€MIDI机器控制命令(MTC commands)"
-#: rc_option_editor.cc:1739
+#: rc_option_editor.cc:2019
msgid "Send MIDI control feedback"
msgstr "å‘é€MIDI控制å馈"
-#: rc_option_editor.cc:1747
+#: rc_option_editor.cc:2027
msgid "Inbound MMC device ID"
msgstr "å‘内的MMC设备ID"
-#: rc_option_editor.cc:1756
+#: rc_option_editor.cc:2036
msgid "Outbound MMC device ID"
msgstr "å‘外的MMC设备ID"
-#: rc_option_editor.cc:1765
+#: rc_option_editor.cc:2045
msgid "Initial program change"
msgstr "åˆå§‹ç¨‹åºæ”¹å˜"
-#: rc_option_editor.cc:1774
+#: rc_option_editor.cc:2054
msgid "Display first MIDI bank/program as 0"
msgstr ""
-#: rc_option_editor.cc:1782
+#: rc_option_editor.cc:2062
msgid "Never display periodic MIDI messages (MTC, MIDI Clock)"
msgstr ""
-#: rc_option_editor.cc:1790
+#: rc_option_editor.cc:2070
msgid "Sound MIDI notes as they are selected"
msgstr ""
-#: rc_option_editor.cc:1798 rc_option_editor.cc:1808 rc_option_editor.cc:1810
+#: rc_option_editor.cc:2075
+msgid "Midi Audition"
+msgstr ""
+
+#: rc_option_editor.cc:2079
+msgid "Midi Audition Synth (LV2)"
+msgstr ""
+
+#: rc_option_editor.cc:2103 rc_option_editor.cc:2113 rc_option_editor.cc:2115
msgid "User interaction"
msgstr ""
-#: rc_option_editor.cc:1801
+#: rc_option_editor.cc:2106
msgid ""
"Use translations of %1 messages\n"
" <i>(requires a restart of %1 to take effect)</i>\n"
" <i>(if available for your language preferences)</i>"
msgstr ""
-#: rc_option_editor.cc:1808
+#: rc_option_editor.cc:2113
msgid "Keyboard"
msgstr "键盘"
-#: rc_option_editor.cc:1818
+#: rc_option_editor.cc:2123
msgid "Control surface remote ID"
msgstr "控制表é¢ç§»åŠ¨çš„ID"
-#: rc_option_editor.cc:1823
+#: rc_option_editor.cc:2128
msgid "assigned by user"
msgstr "由用户指定"
-#: rc_option_editor.cc:1824
+#: rc_option_editor.cc:2129
msgid "follows order of mixer"
msgstr "混音器的如下顺åº"
-#: rc_option_editor.cc:1833 rc_option_editor.cc:1841 rc_option_editor.cc:1851
-#: rc_option_editor.cc:1872 rc_option_editor.cc:1881 rc_option_editor.cc:1889
-#: rc_option_editor.cc:1903 rc_option_editor.cc:1922 rc_option_editor.cc:1938
-#: rc_option_editor.cc:1954 rc_option_editor.cc:1968 rc_option_editor.cc:1982
-#: rc_option_editor.cc:1984
+#: rc_option_editor.cc:2143 rc_option_editor.cc:2151 rc_option_editor.cc:2159
+#: rc_option_editor.cc:2169 rc_option_editor.cc:2193 rc_option_editor.cc:2206
+#: rc_option_editor.cc:2215
msgid "Preferences|GUI"
msgstr ""
-#: rc_option_editor.cc:1836
+#: rc_option_editor.cc:2146
msgid "Graphically indicate mouse pointer hovering over various widgets"
msgstr ""
-#: rc_option_editor.cc:1844
+#: rc_option_editor.cc:2154
msgid "Show tooltips if mouse hovers over a control"
msgstr ""
-#: rc_option_editor.cc:1854
-msgid "GUI"
+#: rc_option_editor.cc:2162
+msgid "Use name highlight bars in region displays"
msgstr ""
-#: rc_option_editor.cc:1857
-msgid "update transport clock display every 40ms instead of every 100ms"
+#: rc_option_editor.cc:2175
+msgid "update transport clock display at FPS instead of every 100ms"
msgstr ""
-#: rc_option_editor.cc:1874
+#: rc_option_editor.cc:2184
+msgid "Lock timeout (seconds)"
+msgstr ""
+
+#: rc_option_editor.cc:2192
+msgid "Lock GUI after this many idle seconds (zero to never lock)"
+msgstr ""
+
+#: rc_option_editor.cc:2208
msgid "Mixer Strip"
msgstr ""
-#: rc_option_editor.cc:1884
+#: rc_option_editor.cc:2218
msgid "Use narrow strips in the mixer by default"
msgstr ""
-#: rc_option_editor.cc:1893
+#: rc_option_editor.cc:2223 rc_option_editor.cc:2237 rc_option_editor.cc:2256
+#: rc_option_editor.cc:2272 rc_option_editor.cc:2288 rc_option_editor.cc:2302
+#: rc_option_editor.cc:2316 rc_option_editor.cc:2318
+msgid "Preferences|Metering"
+msgstr ""
+
+#: rc_option_editor.cc:2227
msgid "Peak hold time"
msgstr ""
-#: rc_option_editor.cc:1899
+#: rc_option_editor.cc:2233
msgid "short"
msgstr "短"
-#: rc_option_editor.cc:1900
+#: rc_option_editor.cc:2234
msgid "medium"
msgstr "中"
-#: rc_option_editor.cc:1901
+#: rc_option_editor.cc:2235
msgid "long"
msgstr "é•¿"
-#: rc_option_editor.cc:1907
+#: rc_option_editor.cc:2241
msgid "DPM fall-off"
msgstr ""
-#: rc_option_editor.cc:1913
+#: rc_option_editor.cc:2247
msgid "slowest [6.6dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1914
+#: rc_option_editor.cc:2248
msgid "slow [8.6dB/sec] (BBC PPM, EBU PPM)"
msgstr ""
-#: rc_option_editor.cc:1915
+#: rc_option_editor.cc:2249
msgid "slowish [12.0dB/sec] (DIN)"
msgstr ""
-#: rc_option_editor.cc:1916
+#: rc_option_editor.cc:2250
msgid "moderate [13.3dB/sec] (EBU Digi PPM, IRT Digi PPM)"
msgstr ""
-#: rc_option_editor.cc:1917
+#: rc_option_editor.cc:2251
msgid "medium [20dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1918
+#: rc_option_editor.cc:2252
msgid "fast [32dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1919
+#: rc_option_editor.cc:2253
msgid "faster [46dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1920
+#: rc_option_editor.cc:2254
msgid "fastest [70dB/sec]"
msgstr ""
-#: rc_option_editor.cc:1926
+#: rc_option_editor.cc:2260
msgid "Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1931 rc_option_editor.cc:1947
+#: rc_option_editor.cc:2265 rc_option_editor.cc:2281
msgid "-24dBFS (SMPTE US: 4dBu = -20dBFS)"
msgstr ""
-#: rc_option_editor.cc:1932 rc_option_editor.cc:1948
+#: rc_option_editor.cc:2266 rc_option_editor.cc:2282
msgid "-20dBFS (SMPTE RP.0155)"
msgstr ""
-#: rc_option_editor.cc:1933 rc_option_editor.cc:1949
+#: rc_option_editor.cc:2267 rc_option_editor.cc:2283
msgid "-18dBFS (EBU, BBC)"
msgstr ""
-#: rc_option_editor.cc:1934 rc_option_editor.cc:1950
+#: rc_option_editor.cc:2268 rc_option_editor.cc:2284
msgid "-15dBFS (DIN)"
msgstr ""
-#: rc_option_editor.cc:1936
+#: rc_option_editor.cc:2270
msgid ""
"Configure meter-marks and color-knee point for dBFS scale DPM, set reference "
"level for IEC1/Nordic, IEC2 PPM and VU meter."
msgstr ""
-#: rc_option_editor.cc:1942
+#: rc_option_editor.cc:2276
msgid "IEC1/DIN Meter line-up level; 0dBu"
msgstr ""
-#: rc_option_editor.cc:1952
+#: rc_option_editor.cc:2286
msgid "Reference level for IEC1/DIN meter."
msgstr ""
-#: rc_option_editor.cc:1958
+#: rc_option_editor.cc:2292
msgid "VU Meter standard"
msgstr ""
-#: rc_option_editor.cc:1963
+#: rc_option_editor.cc:2297
msgid "0VU = -2dBu (France)"
msgstr ""
-#: rc_option_editor.cc:1964
+#: rc_option_editor.cc:2298
msgid "0VU = 0dBu (North America, Australia)"
msgstr ""
-#: rc_option_editor.cc:1965
+#: rc_option_editor.cc:2299
msgid "0VU = +4dBu (standard)"
msgstr ""
-#: rc_option_editor.cc:1966
+#: rc_option_editor.cc:2300
msgid "0VU = +8dBu"
msgstr ""
-#: rc_option_editor.cc:1972
+#: rc_option_editor.cc:2306
msgid "Peak threshold [dBFS]"
msgstr ""
-#: rc_option_editor.cc:1980
+#: rc_option_editor.cc:2314
msgid ""
"Specify the audio signal level in dbFS at and above which the meter-peak "
"indicator will flash red."
msgstr ""
-#: rc_option_editor.cc:1987
+#: rc_option_editor.cc:2321
msgid "LED meter style"
msgstr ""
-#: region_editor.cc:79
+#: region_editor.cc:78
msgid "audition this region"
msgstr "监å¬æ­¤åŒºåŸŸ"
-#: region_editor.cc:88 region_layering_order_editor.cc:74
+#: region_editor.cc:87 region_layering_order_editor.cc:75
msgid "Position:"
msgstr "ä½ç½®:"
-#: region_editor.cc:90 add_video_dialog.cc:170
+#: region_editor.cc:89 add_video_dialog.cc:155
msgid "End:"
msgstr "终点:"
-#: region_editor.cc:92 sfdb_ui.cc:139
+#: region_editor.cc:91 sfdb_ui.cc:143
msgid "Length:"
msgstr "长度:"
-#: region_editor.cc:94
+#: region_editor.cc:93
msgid "Sync point (relative to region):"
msgstr "åŒæ­¥ç‚¹ (相对于区域):"
-#: region_editor.cc:96
+#: region_editor.cc:95
msgid "Sync point (absolute):"
msgstr "åŒæ­¥ç‚¹ (ç»å¯¹çš„):"
-#: region_editor.cc:98
+#: region_editor.cc:97
msgid "File start:"
msgstr "文件开始:"
-#: region_editor.cc:102
+#: region_editor.cc:101
msgid "Sources:"
msgstr "æº:"
-#: region_editor.cc:104
+#: region_editor.cc:103
msgid "Source:"
msgstr "æº:"
-#: region_editor.cc:166
+#: region_editor.cc:165
msgid "Region '%1'"
msgstr "区域 '%1'"
-#: region_editor.cc:273
+#: region_editor.cc:272
msgid "change region start position"
msgstr "改å˜åŒºåŸŸå¼€å§‹ä½ç½®"
-#: region_editor.cc:289
+#: region_editor.cc:288
msgid "change region end position"
msgstr "改å˜åŒºåŸŸç»“æŸä½ç½®"
-#: region_editor.cc:309
+#: region_editor.cc:308
msgid "change region length"
msgstr "改å˜åŒºåŸŸé•¿åº¦"
-#: region_editor.cc:403 region_editor.cc:415
+#: region_editor.cc:402 region_editor.cc:414
msgid "change region sync point"
msgstr "改å˜åŒºåŸŸåŒæ­¥ç‚¹"
-#: region_layering_order_editor.cc:41
+#: region_layering_order_editor.cc:42
msgid "RegionLayeringOrderEditor"
msgstr ""
-#: region_layering_order_editor.cc:54
+#: region_layering_order_editor.cc:55
msgid "Region Name"
msgstr "区域å称"
-#: region_layering_order_editor.cc:71
+#: region_layering_order_editor.cc:72
msgid "Track:"
msgstr "音轨:"
-#: region_layering_order_editor.cc:103
+#: region_layering_order_editor.cc:104
msgid "Choose Top Region"
msgstr "选择置顶区域"
-#: region_view.cc:274
+#: region_view.cc:282
msgid "SilenceText"
msgstr ""
-#: region_view.cc:290 region_view.cc:309
+#: region_view.cc:297 region_view.cc:316
msgid "minutes"
msgstr "分数"
-#: region_view.cc:293 region_view.cc:312
+#: region_view.cc:300 region_view.cc:319
msgid "msecs"
msgstr "毫秒数"
-#: region_view.cc:296 region_view.cc:315
+#: region_view.cc:303 region_view.cc:322
msgid "secs"
msgstr "秒数"
-#: region_view.cc:299
+#: region_view.cc:306
msgid "%1 silent segment"
msgid_plural "%1 silent segments"
msgstr[0] ""
msgstr[1] ""
-#: region_view.cc:301
+#: region_view.cc:308
msgid "shortest = %1 %2"
msgstr "最短 = %1 %2"
-#: region_view.cc:318
+#: region_view.cc:325
msgid ""
"\n"
" (shortest audible segment = %1 %2)"
@@ -9421,141 +9661,136 @@ msgstr ""
"\n"
" (最短的å¯å¬ç‰‡æ®µ = %1 %2)"
-#: return_ui.cc:103
+#: return_ui.cc:102
msgid "Return "
msgstr "返回"
-#: rhythm_ferret.cc:49
+#: rhythm_ferret.cc:48
msgid "Percussive Onset"
msgstr ""
-#: rhythm_ferret.cc:50
+#: rhythm_ferret.cc:49
msgid "Note Onset"
msgstr ""
-#: rhythm_ferret.cc:55
+#: rhythm_ferret.cc:54
msgid "Energy Based"
msgstr ""
-#: rhythm_ferret.cc:56
+#: rhythm_ferret.cc:55
msgid "Spectral Difference"
msgstr ""
-#: rhythm_ferret.cc:57
+#: rhythm_ferret.cc:56
msgid "High-Frequency Content"
msgstr ""
-#: rhythm_ferret.cc:58
+#: rhythm_ferret.cc:57
msgid "Complex Domain"
msgstr ""
-#: rhythm_ferret.cc:59
+#: rhythm_ferret.cc:58
msgid "Phase Deviation"
msgstr ""
-#: rhythm_ferret.cc:60
+#: rhythm_ferret.cc:59
msgid "Kullback-Liebler"
msgstr ""
-#: rhythm_ferret.cc:61
+#: rhythm_ferret.cc:60
msgid "Modified Kullback-Liebler"
msgstr ""
-#: rhythm_ferret.cc:66
+#: rhythm_ferret.cc:65
msgid "Split region"
msgstr ""
-#: rhythm_ferret.cc:67
+#: rhythm_ferret.cc:66
msgid "Snap regions"
msgstr ""
-#: rhythm_ferret.cc:68
+#: rhythm_ferret.cc:67
msgid "Conform regions"
msgstr ""
-#: rhythm_ferret.cc:73
+#: rhythm_ferret.cc:72
msgid "Rhythm Ferret"
msgstr "节å¥æœç´¢"
-#: rhythm_ferret.cc:79
+#: rhythm_ferret.cc:78
msgid "Analyze"
msgstr "分æž"
-#: rhythm_ferret.cc:114
+#: rhythm_ferret.cc:113
msgid "Detection function"
msgstr "检测功能"
-#: rhythm_ferret.cc:118
+#: rhythm_ferret.cc:117
msgid "Trigger gap"
msgstr "触å‘é—´éš™"
-#: rhythm_ferret.cc:123 strip_silence_dialog.cc:68
+#: rhythm_ferret.cc:122 strip_silence_dialog.cc:64
msgid "Threshold"
msgstr "阈值"
-#: rhythm_ferret.cc:128
+#: rhythm_ferret.cc:127
msgid "Peak threshold"
msgstr "峰阈值"
-#: rhythm_ferret.cc:133
+#: rhythm_ferret.cc:132
msgid "Silence threshold"
msgstr "无声阈值"
-#: rhythm_ferret.cc:138
+#: rhythm_ferret.cc:137
msgid "Sensitivity"
msgstr "çµæ•åº¦"
-#: rhythm_ferret.cc:142
+#: rhythm_ferret.cc:141
msgid "Operation"
msgstr "æ“作"
-#: rhythm_ferret.cc:356
+#: rhythm_ferret.cc:355
msgid "split regions (rhythm ferret)"
msgstr "分离区域 (节å¥æœç´¢)"
-#: route_group_dialog.cc:36
+#: route_group_dialog.cc:42
msgid "Track/bus Group"
msgstr ""
-#: route_group_dialog.cc:41
+#: route_group_dialog.cc:47
msgid "Relative"
msgstr "å…³è”çš„"
-#: route_group_dialog.cc:42
+#: route_group_dialog.cc:48
msgid "Muting"
msgstr "é™éŸ³ä¸­"
-#: route_group_dialog.cc:43
-msgid "Soloing"
-msgstr "独å¥ä¸­"
-
-#: route_group_dialog.cc:44
+#: route_group_dialog.cc:50
msgid "Record enable"
msgstr "å¯ç”¨å½•éŸ³"
-#: route_group_dialog.cc:45 time_info_box.cc:66
+#: route_group_dialog.cc:51 time_info_box.cc:67
msgid "Selection"
msgstr ""
-#: route_group_dialog.cc:46
+#: route_group_dialog.cc:52
msgid "Active state"
msgstr ""
-#: route_group_dialog.cc:47 route_group_dialog.cc:76 theme_manager.cc:71
+#: route_group_dialog.cc:53 route_group_dialog.cc:82 theme_manager.cc:84
msgid "Color"
msgstr "颜色"
-#: route_group_dialog.cc:53
+#: route_group_dialog.cc:59
msgid "RouteGroupDialog"
msgstr ""
-#: route_group_dialog.cc:92
+#: route_group_dialog.cc:100
msgid "<b>Sharing</b>"
msgstr "<b>共享中</b>"
-#: route_group_dialog.cc:182
-msgid ""
-"A route group of this name already exists. Please use a different name."
+#: route_group_dialog.cc:200
+msgid "The group name is not unique. Please use a different name."
msgstr ""
#: route_params_ui.cc:83
@@ -9578,296 +9813,280 @@ msgstr ""
msgid "route display list item for renamed route not found!"
msgstr ""
-#: route_params_ui.cc:255 route_params_ui.cc:283
+#: route_params_ui.cc:278 route_params_ui.cc:306
#, c-format
msgid "Playback delay: %<PRId64> samples"
msgstr "回放延迟: %<PRId64> 采样"
-#: route_params_ui.cc:475
+#: route_params_ui.cc:498
msgid "NO TRACK"
msgstr "没有音轨"
-#: route_params_ui.cc:613 route_params_ui.cc:614
+#: route_params_ui.cc:636 route_params_ui.cc:637
msgid "No Track or Bus Selected"
msgstr "没有选择音轨或总线"
-#: route_time_axis.cc:97
-msgid "g"
-msgstr ""
-
-#: route_time_axis.cc:98
-msgid "p"
-msgstr ""
-
-#: route_time_axis.cc:99
-msgid "a"
-msgstr ""
-
-#: route_time_axis.cc:173
+#: route_time_axis.cc:179
msgid "Record (Right-click for Step Edit)"
msgstr "录音(å³é”®å•æ­¥è°ƒæ•´)"
-#: route_time_axis.cc:176
+#: route_time_axis.cc:182
msgid "Record"
msgstr "录制"
-#: route_time_axis.cc:210
+#: route_time_axis.cc:254
msgid "Route Group"
msgstr ""
-#: route_time_axis.cc:213
+#: route_time_axis.cc:264
msgid "MIDI Controllers and Automation"
msgstr ""
-#: route_time_axis.cc:390
+#: route_time_axis.cc:500
msgid "Show All Automation"
msgstr "显示所有的自动化"
-#: route_time_axis.cc:393
+#: route_time_axis.cc:503
msgid "Show Existing Automation"
msgstr "显示已有的自动化"
-#: route_time_axis.cc:396
+#: route_time_axis.cc:506
msgid "Hide All Automation"
msgstr "éšè—所有自动化"
-#: route_time_axis.cc:405
+#: route_time_axis.cc:515
msgid "Processor automation"
msgstr ""
-#: route_time_axis.cc:424
-msgid "Color..."
-msgstr "颜色..."
-
-#: route_time_axis.cc:481
+#: route_time_axis.cc:599
msgid "Overlaid"
msgstr "é‡å "
-#: route_time_axis.cc:487
+#: route_time_axis.cc:605
msgid "Stacked"
msgstr ""
-#: route_time_axis.cc:495
+#: route_time_axis.cc:613
msgid "Layers"
msgstr "层"
-#: route_time_axis.cc:564
+#: route_time_axis.cc:682
msgid "Automatic (based on I/O connections)"
msgstr "自动的(基于I/O连接)"
-#: route_time_axis.cc:573
+#: route_time_axis.cc:691
msgid "(Currently: Existing Material)"
msgstr "(当å‰ï¼šçŽ°æœ‰ææ–™)"
-#: route_time_axis.cc:576
+#: route_time_axis.cc:694
msgid "(Currently: Capture Time)"
msgstr "(当å‰ï¼šæ•èŽ·æ—¶é—´)"
-#: route_time_axis.cc:584
+#: route_time_axis.cc:702
msgid "Align With Existing Material"
msgstr "与已有æ料对é½"
-#: route_time_axis.cc:589
+#: route_time_axis.cc:707
msgid "Align With Capture Time"
msgstr "与æ•èŽ·æ—¶é—´å¯¹é½"
-#: route_time_axis.cc:594
+#: route_time_axis.cc:712
msgid "Alignment"
msgstr "对é½"
-#: route_time_axis.cc:629
+#: route_time_axis.cc:747
msgid "Normal Mode"
msgstr "一般模å¼"
-#: route_time_axis.cc:635
+#: route_time_axis.cc:753
msgid "Tape Mode"
msgstr "ç£å¸¦æ¨¡å¼"
-#: route_time_axis.cc:641
+#: route_time_axis.cc:759
msgid "Non-Layered Mode"
msgstr "éžåº•å±‚模å¼"
-#: route_time_axis.cc:654 route_time_axis.cc:1601
+#: route_time_axis.cc:772 route_time_axis.cc:1748
msgid "Playlist"
msgstr "播放列表"
-#: route_time_axis.cc:979
+#: route_time_axis.cc:1070
msgid "Rename Playlist"
msgstr "é‡å‘½å播放列表"
-#: route_time_axis.cc:980
+#: route_time_axis.cc:1071
msgid "New name for playlist:"
msgstr "新的播放列表å称"
-#: route_time_axis.cc:1065
+#: route_time_axis.cc:1156
msgid "New Copy Playlist"
msgstr "æ–°æ‹·è´æ’­æ”¾åˆ—表"
-#: route_time_axis.cc:1066 route_time_axis.cc:1119
+#: route_time_axis.cc:1157 route_time_axis.cc:1210
msgid "Name for new playlist:"
msgstr "新播放列表å"
-#: route_time_axis.cc:1118
+#: route_time_axis.cc:1209
msgid "New Playlist"
msgstr "新的播放列表"
-#: route_time_axis.cc:1309
+#: route_time_axis.cc:1400
msgid "You cannot create a track with that name as it is reserved for %1"
msgstr "无法创建音轨,因为"
-#: route_time_axis.cc:1490
+#: route_time_axis.cc:1637
msgid "New Copy..."
msgstr "æ–°æ‹·è´"
-#: route_time_axis.cc:1494
+#: route_time_axis.cc:1641
msgid "New Take"
msgstr ""
-#: route_time_axis.cc:1495
+#: route_time_axis.cc:1642
msgid "Copy Take"
msgstr ""
-#: route_time_axis.cc:1500
+#: route_time_axis.cc:1647
msgid "Clear Current"
msgstr "清除当å‰"
-#: route_time_axis.cc:1503
+#: route_time_axis.cc:1650
msgid "Select From All..."
msgstr "选择所有"
-#: route_time_axis.cc:1591
+#: route_time_axis.cc:1738
msgid "Take: %1.%2"
msgstr ""
-#: route_time_axis.cc:2291
+#: route_time_axis.cc:2024 selection.cc:1002 selection.cc:1056
+msgid "programming error: "
+msgstr "程åºé”™è¯¯:"
+
+#: route_time_axis.cc:2440
msgid "Underlays"
msgstr "底层"
-#: route_time_axis.cc:2294
+#: route_time_axis.cc:2443
msgid "Remove \"%1\""
msgstr "移除 \"%1\""
-#: route_time_axis.cc:2344 route_time_axis.cc:2381
+#: route_time_axis.cc:2493 route_time_axis.cc:2530
msgid "programming error: underlay reference pointer pairs are inconsistent!"
msgstr "程åºé”™è¯¯ï¼šåº•å±‚å‚考指针对ä¸ä¸€è‡´"
-#: route_time_axis.cc:2408
+#: route_time_axis.cc:2557
msgid "After-fade listen (AFL)"
msgstr ""
-#: route_time_axis.cc:2412
+#: route_time_axis.cc:2561
msgid "Pre-fade listen (PFL)"
msgstr ""
-#: route_time_axis.cc:2416
-msgid "s"
-msgstr ""
-
-#: route_time_axis.cc:2419
-msgid "m"
-msgstr ""
-
-#: route_ui.cc:119
+#: route_ui.cc:138
msgid "Mute this track"
msgstr "é™éŸ³æ­¤éŸ³è½¨"
-#: route_ui.cc:123
+#: route_ui.cc:142
msgid "Mute other (non-soloed) tracks"
msgstr "é™éŸ³å…¶ä»–(éžsoloçš„)音轨"
-#: route_ui.cc:129
+#: route_ui.cc:148
msgid "Enable recording on this track"
msgstr "在此音轨å¯ç”¨å½•éŸ³"
-#: route_ui.cc:133
+#: route_ui.cc:154
msgid "make mixer strips show sends to this bus"
msgstr ""
-#: route_ui.cc:138
+#: route_ui.cc:159
msgid "Monitor input"
msgstr "监å¬è¾“å…¥"
-#: route_ui.cc:144
+#: route_ui.cc:165
msgid "Monitor playback"
msgstr "监å¬å›žæ”¾"
-#: route_ui.cc:591
-msgid "Not connected to JACK - cannot engage record"
+#: route_ui.cc:668
+msgid "Not connected to AudioEngine - cannot engage record"
msgstr ""
-#: route_ui.cc:786
+#: route_ui.cc:867
msgid "Step Entry"
msgstr ""
-#: route_ui.cc:859
+#: route_ui.cc:940
msgid "Assign all tracks (prefader)"
msgstr ""
-#: route_ui.cc:863
+#: route_ui.cc:944
msgid "Assign all tracks and buses (prefader)"
msgstr ""
-#: route_ui.cc:867
+#: route_ui.cc:948
msgid "Assign all tracks (postfader)"
msgstr ""
-#: route_ui.cc:871
+#: route_ui.cc:952
msgid "Assign all tracks and buses (postfader)"
msgstr ""
-#: route_ui.cc:875
+#: route_ui.cc:956
msgid "Assign selected tracks (prefader)"
msgstr ""
-#: route_ui.cc:879
+#: route_ui.cc:960
msgid "Assign selected tracks and buses (prefader)"
msgstr ""
-#: route_ui.cc:882
+#: route_ui.cc:963
msgid "Assign selected tracks (postfader)"
msgstr ""
-#: route_ui.cc:886
+#: route_ui.cc:967
msgid "Assign selected tracks and buses (postfader)"
msgstr ""
-#: route_ui.cc:889
+#: route_ui.cc:970
msgid "Copy track/bus gains to sends"
msgstr ""
-#: route_ui.cc:890
+#: route_ui.cc:971
msgid "Set sends gain to -inf"
msgstr ""
-#: route_ui.cc:891
+#: route_ui.cc:972
msgid "Set sends gain to 0dB"
msgstr ""
-#: route_ui.cc:1211
+#: route_ui.cc:1294
msgid "Solo Isolate"
msgstr "Solo隔离"
-#: route_ui.cc:1240
-msgid "Pre Fader"
+#: route_ui.cc:1301
+msgid "Solo Safe"
+msgstr "Solo安全"
+
+#: route_ui.cc:1323
+msgid "Pre Fader Sends"
msgstr ""
-#: route_ui.cc:1246
-msgid "Post Fader"
+#: route_ui.cc:1329
+msgid "Post Fader Sends"
msgstr ""
-#: route_ui.cc:1252
+#: route_ui.cc:1335
msgid "Control Outs"
msgstr ""
-#: route_ui.cc:1258
+#: route_ui.cc:1341
msgid "Main Outs"
msgstr ""
-#: route_ui.cc:1390
+#: route_ui.cc:1473
msgid "Color Selection"
msgstr "颜色选择"
-#: route_ui.cc:1477
+#: route_ui.cc:1558
msgid ""
"Do you really want to remove track \"%1\" ?\n"
"\n"
@@ -9881,7 +10100,7 @@ msgstr ""
"\n"
"(此动作ä¸å¯æ’¤é”€, 而且此会è¯æ–‡ä»¶å°†ä¼šè¢«é‡æ–°å†™å…¥!)"
-#: route_ui.cc:1479
+#: route_ui.cc:1560
msgid ""
"Do you really want to remove bus \"%1\" ?\n"
"\n"
@@ -9891,15 +10110,15 @@ msgstr ""
"\n"
"(此动作ä¸å¯æ’¤é”€, 而且此会è¯æ–‡ä»¶å°†ä¼šè¢«é‡æ–°å†™å…¥!)"
-#: route_ui.cc:1487
+#: route_ui.cc:1568
msgid "Remove track"
msgstr "移除音轨"
-#: route_ui.cc:1489
+#: route_ui.cc:1570
msgid "Remove bus"
msgstr "移除总线"
-#: route_ui.cc:1516
+#: route_ui.cc:1598
msgid ""
"The use of colons (':') is discouraged in track and bus names.\n"
"Do you want to use this new name?"
@@ -9907,47 +10126,51 @@ msgstr ""
"ä¸å»ºè®®ä½¿ç”¨ ':' 作为音轨和总线å称.\n"
"你确定使用这个å称?"
-#: route_ui.cc:1520
+#: route_ui.cc:1602
msgid "Use the new name"
msgstr "使用新å称"
-#: route_ui.cc:1521
+#: route_ui.cc:1603
msgid "Re-edit the name"
msgstr "é‡æ–°ç¼–辑å称"
-#: route_ui.cc:1534
+#: route_ui.cc:1616
msgid "Rename Track"
msgstr "é‡å‘½å音轨"
-#: route_ui.cc:1536
+#: route_ui.cc:1618
msgid "Rename Bus"
msgstr "é‡å‘½å总线"
-#: route_ui.cc:1695
+#: route_ui.cc:1686
+msgid ": comment editor"
+msgstr ": 注释编辑器"
+
+#: route_ui.cc:1852
msgid " latency"
msgstr " 延迟"
-#: route_ui.cc:1708
+#: route_ui.cc:1865
msgid "Cannot create route template directory %1"
msgstr "无法创建模æ¿æ ¹ç›®å½•%1"
-#: route_ui.cc:1714
+#: route_ui.cc:1871
msgid "Save As Template"
msgstr "å¦å­˜ä¸ºæ¨¡æ¿"
-#: route_ui.cc:1715
+#: route_ui.cc:1872
msgid "Template name:"
msgstr "模æ¿å称:"
-#: route_ui.cc:1788
+#: route_ui.cc:1945
msgid "Remote Control ID"
msgstr "移除控制ID"
-#: route_ui.cc:1798
+#: route_ui.cc:1955
msgid "Remote control ID:"
msgstr "移除控制ID:"
-#: route_ui.cc:1812
+#: route_ui.cc:1969
msgid ""
"The remote control ID of %1 is: %2\n"
"\n"
@@ -9955,33 +10178,32 @@ msgid ""
"The remote control ID of %3 cannot be changed."
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the master bus"
msgstr ""
-#: route_ui.cc:1816
+#: route_ui.cc:1973
msgid "the monitor bus"
msgstr ""
-#: route_ui.cc:1818
+#: route_ui.cc:1975
msgid ""
"The remote control ID of %5 is: %2\n"
"\n"
"\n"
-"Remote Control IDs are currently determined by track/bus ordering in "
-"Ardour.\n"
+"Remote Control IDs are currently determined by track/bus ordering in %6.\n"
"\n"
"%3Use the User Interaction tab of the Preferences window if you want to "
"change this%4"
msgstr ""
-#: route_ui.cc:1875
+#: route_ui.cc:2032
msgid ""
"Left-click to invert (phase reverse) channel %1 of this track. Right-click "
"to show menu."
msgstr ""
-#: route_ui.cc:1877
+#: route_ui.cc:2034
msgid "Click to show a menu of channels for inversion (phase reverse)"
msgstr ""
@@ -9997,119 +10219,119 @@ msgstr ""
msgid "the session folder"
msgstr ""
-#: send_ui.cc:126
+#: send_ui.cc:134
msgid "Send "
msgstr "å‘é€"
-#: session_dialog.cc:66
+#: session_dialog.cc:68
msgid "Session Setup"
msgstr ""
-#: session_dialog.cc:71
+#: session_dialog.cc:73
msgid "Advanced options ..."
msgstr ""
-#: session_dialog.cc:267
+#: session_dialog.cc:271
msgid "New Session"
msgstr "新会è¯"
-#: session_dialog.cc:305
+#: session_dialog.cc:309
msgid "Check the website for more..."
msgstr ""
-#: session_dialog.cc:308
+#: session_dialog.cc:312
msgid "Click to open the program website in your web browser"
msgstr ""
-#: session_dialog.cc:328
+#: session_dialog.cc:332
msgid "Sample Rate"
msgstr ""
-#: session_dialog.cc:329
+#: session_dialog.cc:333
msgid "Disk Format"
msgstr ""
-#: session_dialog.cc:347
+#: session_dialog.cc:351
msgid "Select session file"
msgstr "选择会è¯æ–‡ä»¶"
-#: session_dialog.cc:362
+#: session_dialog.cc:366
msgid "Other Sessions"
msgstr ""
-#: session_dialog.cc:388
+#: session_dialog.cc:392
msgid "Open"
msgstr "打开 "
-#: session_dialog.cc:455
+#: session_dialog.cc:459
msgid "Session name:"
msgstr "会è¯å称:"
-#: session_dialog.cc:477
+#: session_dialog.cc:481
msgid "Create session folder in:"
msgstr "在创建会è¯æ–‡ä»¶å¤¹:"
-#: session_dialog.cc:500
+#: session_dialog.cc:504
msgid "Select folder for session"
msgstr "为会è¯é€‰æ‹©ä¸€ä¸ªæ–‡ä»¶å¤¹"
-#: session_dialog.cc:529
+#: session_dialog.cc:533
msgid "Use this template"
msgstr "使用此模æ¿"
-#: session_dialog.cc:532
+#: session_dialog.cc:536
msgid "no template"
msgstr "没有模æ¿"
-#: session_dialog.cc:664 session_dialog.cc:696
+#: session_dialog.cc:671 session_dialog.cc:707
msgid "32 bit float"
msgstr ""
-#: session_dialog.cc:667 session_dialog.cc:699
+#: session_dialog.cc:674 session_dialog.cc:710
msgid "24 bit"
msgstr ""
-#: session_dialog.cc:670 session_dialog.cc:702
+#: session_dialog.cc:677 session_dialog.cc:713
msgid "16 bit"
msgstr ""
-#: session_dialog.cc:741 session_dialog.cc:742 session_dialog.cc:743
+#: session_dialog.cc:755 session_dialog.cc:756 session_dialog.cc:757
msgid "channels"
msgstr "声é“"
-#: session_dialog.cc:757
+#: session_dialog.cc:771
msgid "<b>Busses</b>"
msgstr "<b>总线</b>"
-#: session_dialog.cc:758
+#: session_dialog.cc:772
msgid "<b>Inputs</b>"
msgstr "<b>输入</b>"
-#: session_dialog.cc:759
+#: session_dialog.cc:773
msgid "<b>Outputs</b>"
msgstr "<b>输出</b>"
-#: session_dialog.cc:767
+#: session_dialog.cc:781
msgid "Create master bus"
msgstr "创建主控总线"
-#: session_dialog.cc:777
+#: session_dialog.cc:791
msgid "Automatically connect to physical inputs"
msgstr ""
-#: session_dialog.cc:784 session_dialog.cc:843
+#: session_dialog.cc:798 session_dialog.cc:857
msgid "Use only"
msgstr "仅使用"
-#: session_dialog.cc:837
+#: session_dialog.cc:851
msgid "Automatically connect outputs"
msgstr "自动连接到输出"
-#: session_dialog.cc:859
+#: session_dialog.cc:873
msgid "... to master bus"
msgstr "... 到主控总线"
-#: session_dialog.cc:869
+#: session_dialog.cc:883
msgid "... to physical outputs"
msgstr "... 到物ç†è¾“出"
@@ -10411,7 +10633,8 @@ msgstr ""
#: session_option_editor.cc:91
msgid ""
-"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless in JACK-sync)."
+"Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless using JACK-"
+"sync)."
msgstr ""
#: session_option_editor.cc:96
@@ -10444,426 +10667,456 @@ msgid ""
"%1 is JACK Time Master (provides Bar|Beat|Tick and other information to JACK)"
msgstr ""
-#: session_option_editor.cc:137
-msgid "Default crossfade type"
-msgstr ""
-
-#: session_option_editor.cc:142
-msgid "Constant power (-3dB) crossfade"
-msgstr ""
-
-#: session_option_editor.cc:143
-msgid "Linear (-6dB) crossfade"
-msgstr ""
-
-#: session_option_editor.cc:148
+#: session_option_editor.cc:136
msgid "destructive-xfade-seconds"
msgstr ""
-#: session_option_editor.cc:149
+#: session_option_editor.cc:137
msgid "Destructive crossfade length"
msgstr "销æ¯äº¤å‰æ·¡å…¥æ·¡å‡ºé•¿åº¦"
-#: session_option_editor.cc:158
+#: session_option_editor.cc:146
msgid "Region fades active"
msgstr "区域淡入淡出活动"
-#: session_option_editor.cc:165
+#: session_option_editor.cc:153
msgid "Region fades visible"
msgstr "区域淡入淡出å¯è§"
-#: session_option_editor.cc:172 session_option_editor.cc:185
-#: session_option_editor.cc:199 session_option_editor.cc:201
-#: session_option_editor.cc:207 session_option_editor.cc:214
+#: session_option_editor.cc:160 session_option_editor.cc:173
+#: session_option_editor.cc:187
msgid "Media"
msgstr "媒体"
-#: session_option_editor.cc:172
+#: session_option_editor.cc:160
msgid "Audio file format"
msgstr "音频文件格å¼"
-#: session_option_editor.cc:176
+#: session_option_editor.cc:164
msgid "Sample format"
msgstr "采样格å¼"
-#: session_option_editor.cc:181
+#: session_option_editor.cc:169
msgid "32-bit floating point"
msgstr "32ä½æµ®ç‚¹"
-#: session_option_editor.cc:182
+#: session_option_editor.cc:170
msgid "24-bit integer"
msgstr "24ä½æ•´å½¢"
-#: session_option_editor.cc:183
+#: session_option_editor.cc:171
msgid "16-bit integer"
msgstr "16ä½æ•´å½¢"
-#: session_option_editor.cc:189
+#: session_option_editor.cc:177
msgid "File type"
msgstr "文件类型"
-#: session_option_editor.cc:194
+#: session_option_editor.cc:182
msgid "Broadcast WAVE"
msgstr "广播WAVE(Broadcast WAVE)"
-#: session_option_editor.cc:195
+#: session_option_editor.cc:183
msgid "WAVE"
msgstr "WAVE"
-#: session_option_editor.cc:196
+#: session_option_editor.cc:184
msgid "WAVE-64"
msgstr "WAVE-64"
-#: session_option_editor.cc:201
+#: session_option_editor.cc:189
msgid "File locations"
msgstr "文件ä½ç½®"
-#: session_option_editor.cc:203
+#: session_option_editor.cc:191
msgid "Search for audio files in:"
msgstr "音频文件æœç´¢ä½ç½®:"
-#: session_option_editor.cc:209
+#: session_option_editor.cc:197
msgid "Search for MIDI files in:"
msgstr "MIDI文件æœç´¢æ–‡èŒ:"
-#: session_option_editor.cc:220
-msgid ""
-"Track Input Monitoring automatically follows transport state (\"auto-input\")"
+#: session_option_editor.cc:206 session_option_editor.cc:218
+#: session_option_editor.cc:228 session_option_editor.cc:239
+msgid "Filenames"
msgstr ""
-#: session_option_editor.cc:227
-msgid "Use monitor section in this session"
+#: session_option_editor.cc:206
+msgid "File Naming"
msgstr ""
-#: session_option_editor.cc:238
-msgid "MIDI region copies are independent"
+#: session_option_editor.cc:212
+msgid "Prefix Track number"
msgstr ""
-#: session_option_editor.cc:245
+#: session_option_editor.cc:217
msgid ""
-"Policy for handling overlapping notes\n"
-" on the same MIDI channel"
+"Adds the current track number to the beginning of the recorded file name."
msgstr ""
-#: session_option_editor.cc:250
-msgid "never allow them"
-msgstr "从ä¸å…许"
-
-#: session_option_editor.cc:251
-msgid "don't do anything in particular"
-msgstr "ä¸åšä»»ä½•ç‰¹æ®Šå¤„ç†"
-
-#: session_option_editor.cc:252
-msgid "replace any overlapped existing note"
-msgstr "替æ¢æ‰€æœ‰å·²å­˜åœ¨çš„é‡å éŸ³ç¬¦"
-
-#: session_option_editor.cc:253
-msgid "shorten the overlapped existing note"
-msgstr "缩短已存在的é‡å éŸ³ç¬¦"
-
-#: session_option_editor.cc:254
-msgid "shorten the overlapping new note"
-msgstr "缩短已存在的新音符"
+#: session_option_editor.cc:222
+msgid "Prefix Take Name"
+msgstr ""
-#: session_option_editor.cc:255
-msgid "replace both overlapping notes with a single note"
-msgstr "把é‡å çš„音符替æ¢ä¸ºä¸€ä¸ªå•éŸ³ç¬¦"
+#: session_option_editor.cc:227
+msgid "Adds the Take Name to the beginning of the recorded file name."
+msgstr ""
-#: session_option_editor.cc:259
-msgid "Glue to bars and beats"
+#: session_option_editor.cc:232
+msgid "Take Name"
msgstr ""
-#: session_option_editor.cc:263
-msgid "Glue new markers to bars and beats"
+#: session_option_editor.cc:245
+msgid ""
+"Track Input Monitoring automatically follows transport state (\"auto-input\")"
msgstr ""
-#: session_option_editor.cc:270
-msgid "Glue new regions to bars and beats"
+#: session_option_editor.cc:252
+msgid "Use monitor section in this session"
msgstr ""
-#: session_option_editor.cc:275 session_option_editor.cc:277
-#: session_option_editor.cc:284 session_option_editor.cc:291
-#: session_option_editor.cc:298 session_option_editor.cc:300
-#: session_option_editor.cc:307 session_option_editor.cc:314
-#: session_option_editor.cc:321 session_option_editor.cc:323
+#: session_option_editor.cc:257 session_option_editor.cc:259
+#: session_option_editor.cc:266 session_option_editor.cc:273
+#: session_option_editor.cc:280 session_option_editor.cc:282
+#: session_option_editor.cc:289 session_option_editor.cc:296
+#: session_option_editor.cc:303 session_option_editor.cc:310
+#: session_option_editor.cc:312
msgid "Meterbridge"
msgstr ""
-#: session_option_editor.cc:275
+#: session_option_editor.cc:257
msgid "Route Display"
msgstr ""
-#: session_option_editor.cc:279
+#: session_option_editor.cc:261
msgid "Show Midi Tracks"
msgstr ""
-#: session_option_editor.cc:286
+#: session_option_editor.cc:268
msgid "Show Busses"
msgstr ""
-#: session_option_editor.cc:293
+#: session_option_editor.cc:275
msgid "Include Master Bus"
msgstr ""
-#: session_option_editor.cc:298
+#: session_option_editor.cc:280
msgid "Button Area"
msgstr ""
-#: session_option_editor.cc:302
+#: session_option_editor.cc:284
msgid "Rec-enable Button"
msgstr ""
-#: session_option_editor.cc:309
+#: session_option_editor.cc:291
msgid "Mute Button"
msgstr ""
-#: session_option_editor.cc:316
+#: session_option_editor.cc:298
msgid "Solo Button"
msgstr ""
-#: session_option_editor.cc:321
+#: session_option_editor.cc:305
+msgid "Monitor Buttons"
+msgstr ""
+
+#: session_option_editor.cc:310
msgid "Name Labels"
msgstr ""
-#: session_option_editor.cc:325
+#: session_option_editor.cc:314
msgid "Track Name"
msgstr ""
-#: sfdb_ui.cc:86 sfdb_ui.cc:106 sfdb_ui.cc:115
+#: session_option_editor.cc:325
+msgid "MIDI region copies are independent"
+msgstr ""
+
+#: session_option_editor.cc:332
+msgid ""
+"Policy for handling overlapping notes\n"
+" on the same MIDI channel"
+msgstr ""
+
+#: session_option_editor.cc:337
+msgid "never allow them"
+msgstr "从ä¸å…许"
+
+#: session_option_editor.cc:338
+msgid "don't do anything in particular"
+msgstr "ä¸åšä»»ä½•ç‰¹æ®Šå¤„ç†"
+
+#: session_option_editor.cc:339
+msgid "replace any overlapped existing note"
+msgstr "替æ¢æ‰€æœ‰å·²å­˜åœ¨çš„é‡å éŸ³ç¬¦"
+
+#: session_option_editor.cc:340
+msgid "shorten the overlapped existing note"
+msgstr "缩短已存在的é‡å éŸ³ç¬¦"
+
+#: session_option_editor.cc:341
+msgid "shorten the overlapping new note"
+msgstr "缩短已存在的新音符"
+
+#: session_option_editor.cc:342
+msgid "replace both overlapping notes with a single note"
+msgstr "把é‡å çš„音符替æ¢ä¸ºä¸€ä¸ªå•éŸ³ç¬¦"
+
+#: session_option_editor.cc:346
+msgid "Glue to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:350
+msgid "Glue new markers to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:357
+msgid "Glue new regions to bars and beats"
+msgstr ""
+
+#: session_option_editor.cc:362
+msgid "Defaults"
+msgstr ""
+
+#: session_option_editor.cc:364
+msgid "Use these settings as defaults"
+msgstr ""
+
+#: sfdb_ui.cc:88 sfdb_ui.cc:108 sfdb_ui.cc:117
msgid "as new tracks"
msgstr ""
-#: sfdb_ui.cc:88 sfdb_ui.cc:108
+#: sfdb_ui.cc:90 sfdb_ui.cc:110
msgid "to selected tracks"
msgstr ""
-#: sfdb_ui.cc:90 sfdb_ui.cc:110
+#: sfdb_ui.cc:92 sfdb_ui.cc:112
msgid "to region list"
msgstr ""
-#: sfdb_ui.cc:92 sfdb_ui.cc:112
+#: sfdb_ui.cc:94 sfdb_ui.cc:114
msgid "as new tape tracks"
msgstr ""
-#: sfdb_ui.cc:96
+#: sfdb_ui.cc:98
msgid "programming error: unknown import mode string %1"
msgstr "程åºé”™è¯¯: 未知的导入模å¼å­—符串 %1"
-#: sfdb_ui.cc:123
+#: sfdb_ui.cc:125
msgid "Auto-play"
msgstr "自动播放"
-#: sfdb_ui.cc:129 sfdb_ui.cc:236
+#: sfdb_ui.cc:133 sfdb_ui.cc:317
msgid "<b>Sound File Information</b>"
msgstr "<b>声音文件信æ¯</b>"
-#: sfdb_ui.cc:141
+#: sfdb_ui.cc:145
msgid "Timestamp:"
msgstr "时间戳:"
-#: sfdb_ui.cc:143
+#: sfdb_ui.cc:147
msgid "Format:"
msgstr "æ ¼å¼:"
-#: sfdb_ui.cc:182 sfdb_ui.cc:526
+#: sfdb_ui.cc:186 sfdb_ui.cc:646
msgid "Tags:"
msgstr "标签:"
-#: sfdb_ui.cc:319
-msgid "Auditioning of MIDI files is not yet supported"
-msgstr "æš‚ä¸æ”¯æŒç›‘å¬MIDI文件"
+#: sfdb_ui.cc:290
+msgid "<b>Midi File Information</b>"
+msgstr ""
-#: sfdb_ui.cc:326
+#: sfdb_ui.cc:402
msgid "Could not read file: %1 (%2)."
msgstr "无法读å–文件: %1 (%2)."
-#: sfdb_ui.cc:349
+#: sfdb_ui.cc:451
msgid "Could not access soundfile: "
msgstr "无法访问声音文件: "
-#: sfdb_ui.cc:403
+#: sfdb_ui.cc:523
msgid "SoundFileBox: Could not tokenize string: "
msgstr ""
-#: sfdb_ui.cc:423 sfdb_ui.cc:425
+#: sfdb_ui.cc:543 sfdb_ui.cc:545
msgid "Search"
msgstr "æœç´¢"
-#: sfdb_ui.cc:449
+#: sfdb_ui.cc:569
msgid "Audio and MIDI files"
msgstr ""
-#: sfdb_ui.cc:452
+#: sfdb_ui.cc:572
msgid "Audio files"
msgstr "音频文件"
-#: sfdb_ui.cc:455
+#: sfdb_ui.cc:575
msgid "MIDI files"
msgstr "MIDI文件"
-#: sfdb_ui.cc:458 add_video_dialog.cc:132
+#: sfdb_ui.cc:578 add_video_dialog.cc:123
msgid "All files"
msgstr "所有文件"
-#: sfdb_ui.cc:477 add_video_dialog.cc:143
+#: sfdb_ui.cc:597 add_video_dialog.cc:246
msgid "Browse Files"
msgstr "æµè§ˆæ–‡ä»¶"
-#: sfdb_ui.cc:506
+#: sfdb_ui.cc:626
msgid "Paths"
msgstr "路径"
-#: sfdb_ui.cc:515
+#: sfdb_ui.cc:635
msgid "Search Tags"
msgstr "æœç´¢æ ‡ç­¾"
-#: sfdb_ui.cc:531
+#: sfdb_ui.cc:651
msgid "Sort:"
msgstr ""
-#: sfdb_ui.cc:539
+#: sfdb_ui.cc:659
msgid "Longest"
msgstr ""
-#: sfdb_ui.cc:540
+#: sfdb_ui.cc:660
msgid "Shortest"
msgstr ""
-#: sfdb_ui.cc:541
+#: sfdb_ui.cc:661
msgid "Newest"
msgstr ""
-#: sfdb_ui.cc:542
+#: sfdb_ui.cc:662
msgid "Oldest"
msgstr ""
-#: sfdb_ui.cc:543
+#: sfdb_ui.cc:663
msgid "Most downloaded"
msgstr ""
-#: sfdb_ui.cc:544
+#: sfdb_ui.cc:664
msgid "Least downloaded"
msgstr ""
-#: sfdb_ui.cc:545
+#: sfdb_ui.cc:665
msgid "Highest rated"
msgstr ""
-#: sfdb_ui.cc:546
+#: sfdb_ui.cc:666
msgid "Lowest rated"
msgstr ""
-#: sfdb_ui.cc:551
+#: sfdb_ui.cc:671
msgid "More"
msgstr ""
-#: sfdb_ui.cc:555
+#: sfdb_ui.cc:675
msgid "Similar"
msgstr ""
-#: sfdb_ui.cc:567
+#: sfdb_ui.cc:687
msgid "ID"
msgstr ""
-#: sfdb_ui.cc:568 add_video_dialog.cc:84
+#: sfdb_ui.cc:688 add_video_dialog.cc:83
msgid "Filename"
msgstr ""
-#: sfdb_ui.cc:570
+#: sfdb_ui.cc:690
msgid "Duration"
msgstr ""
-#: sfdb_ui.cc:571
+#: sfdb_ui.cc:691
msgid "Size"
msgstr ""
-#: sfdb_ui.cc:572
+#: sfdb_ui.cc:692
msgid "Samplerate"
msgstr ""
-#: sfdb_ui.cc:573
+#: sfdb_ui.cc:693
msgid "License"
msgstr ""
-#: sfdb_ui.cc:591
+#: sfdb_ui.cc:711
msgid "Search Freesound"
msgstr "寻找自由的声音"
-#: sfdb_ui.cc:611
+#: sfdb_ui.cc:731
msgid "Press to import selected files and close this window"
msgstr ""
-#: sfdb_ui.cc:612
+#: sfdb_ui.cc:732
msgid "Press to import selected files and leave this window open"
msgstr ""
-#: sfdb_ui.cc:613
+#: sfdb_ui.cc:733
msgid "Press to close this window without importing any files"
msgstr ""
-#: sfdb_ui.cc:809
+#: sfdb_ui.cc:929
msgid "SoundFileBrowser: Could not tokenize string: "
msgstr "SoundFileBrowser: 无法标记化字符串"
-#: sfdb_ui.cc:1009
+#: sfdb_ui.cc:1129
msgid "%1 more page of 100 results available"
msgid_plural "%1 more pages of 100 results available"
msgstr[0] ""
msgstr[1] ""
-#: sfdb_ui.cc:1014
+#: sfdb_ui.cc:1134
msgid "No more results available"
msgstr ""
-#: sfdb_ui.cc:1078
+#: sfdb_ui.cc:1198
msgid "B"
msgstr ""
-#: sfdb_ui.cc:1080
+#: sfdb_ui.cc:1200
msgid "kB"
msgstr ""
-#: sfdb_ui.cc:1082 sfdb_ui.cc:1084
+#: sfdb_ui.cc:1202 sfdb_ui.cc:1204
msgid "MB"
msgstr ""
-#: sfdb_ui.cc:1086
+#: sfdb_ui.cc:1206
msgid "GB"
msgstr ""
-#: sfdb_ui.cc:1298 sfdb_ui.cc:1606 sfdb_ui.cc:1656 sfdb_ui.cc:1674
+#: sfdb_ui.cc:1418 sfdb_ui.cc:1731 sfdb_ui.cc:1782 sfdb_ui.cc:1800
msgid "one track per file"
msgstr "1音轨/1文件"
-#: sfdb_ui.cc:1301 sfdb_ui.cc:1657 sfdb_ui.cc:1675
+#: sfdb_ui.cc:1421 sfdb_ui.cc:1783 sfdb_ui.cc:1801
msgid "one track per channel"
msgstr "1音轨/1声é“"
-#: sfdb_ui.cc:1309 sfdb_ui.cc:1659 sfdb_ui.cc:1676
+#: sfdb_ui.cc:1429 sfdb_ui.cc:1785 sfdb_ui.cc:1802
msgid "sequence files"
msgstr "顺åºæ–‡ä»¶"
-#: sfdb_ui.cc:1312 sfdb_ui.cc:1664
+#: sfdb_ui.cc:1432 sfdb_ui.cc:1790
msgid "all files in one track"
msgstr "所有文件在一个音轨上"
-#: sfdb_ui.cc:1313 sfdb_ui.cc:1658
+#: sfdb_ui.cc:1433 sfdb_ui.cc:1784
msgid "merge files"
msgstr "åˆå¹¶æ–‡ä»¶"
-#: sfdb_ui.cc:1319 sfdb_ui.cc:1661
+#: sfdb_ui.cc:1439 sfdb_ui.cc:1787
msgid "one region per file"
msgstr "1区域/1文件"
-#: sfdb_ui.cc:1322 sfdb_ui.cc:1662
+#: sfdb_ui.cc:1442 sfdb_ui.cc:1788
msgid "one region per channel"
msgstr "1区域/1声é“"
-#: sfdb_ui.cc:1327 sfdb_ui.cc:1663 sfdb_ui.cc:1677
+#: sfdb_ui.cc:1447 sfdb_ui.cc:1789 sfdb_ui.cc:1803
msgid "all files in one region"
msgstr "所有文件在一个区域"
-#: sfdb_ui.cc:1394
+#: sfdb_ui.cc:1514
msgid ""
"One or more of the selected files\n"
"cannot be used by %1"
@@ -10871,55 +11124,55 @@ msgstr ""
"一个或多个所选文件\n"
"ä¸èƒ½è¢«ç”¨äºŽ %1"
-#: sfdb_ui.cc:1534
+#: sfdb_ui.cc:1658
msgid "Copy files to session"
msgstr "å¤åˆ¶æ–‡ä»¶åˆ°ä¼šè¯"
-#: sfdb_ui.cc:1551 sfdb_ui.cc:1714
+#: sfdb_ui.cc:1675 sfdb_ui.cc:1840
msgid "file timestamp"
msgstr "文件时间戳"
-#: sfdb_ui.cc:1552 sfdb_ui.cc:1716
+#: sfdb_ui.cc:1676 sfdb_ui.cc:1842
msgid "edit point"
msgstr "编辑点"
-#: sfdb_ui.cc:1553 sfdb_ui.cc:1718
+#: sfdb_ui.cc:1677 sfdb_ui.cc:1844
msgid "playhead"
msgstr "播放头"
-#: sfdb_ui.cc:1554
+#: sfdb_ui.cc:1678
msgid "session start"
msgstr "开始会è¯"
-#: sfdb_ui.cc:1559
+#: sfdb_ui.cc:1684
msgid "<b>Add files as ...</b>"
msgstr ""
-#: sfdb_ui.cc:1581
+#: sfdb_ui.cc:1706
msgid "<b>Insert at</b>"
msgstr ""
-#: sfdb_ui.cc:1594
+#: sfdb_ui.cc:1719
msgid "<b>Mapping</b>"
msgstr ""
-#: sfdb_ui.cc:1612
+#: sfdb_ui.cc:1737
msgid "<b>Conversion quality</b>"
msgstr ""
-#: sfdb_ui.cc:1624 sfdb_ui.cc:1730
+#: sfdb_ui.cc:1749 sfdb_ui.cc:1856
msgid "Best"
msgstr "最佳质é‡"
-#: sfdb_ui.cc:1625 sfdb_ui.cc:1732
+#: sfdb_ui.cc:1750 sfdb_ui.cc:1858
msgid "Good"
msgstr "高质é‡"
-#: sfdb_ui.cc:1626 sfdb_ui.cc:1734
+#: sfdb_ui.cc:1751 sfdb_ui.cc:1860
msgid "Quick"
msgstr "速度优先"
-#: sfdb_ui.cc:1628
+#: sfdb_ui.cc:1753
msgid "Fastest"
msgstr "最快"
@@ -10965,6 +11218,30 @@ msgstr ">>> %+d semitones"
msgid "Stopped"
msgstr "å·²åœæ­¢"
+#: soundcloud_export_selector.cc:44
+msgid "User Email"
+msgstr ""
+
+#: soundcloud_export_selector.cc:45
+msgid "Password"
+msgstr ""
+
+#: soundcloud_export_selector.cc:46
+msgid "Make files public"
+msgstr ""
+
+#: soundcloud_export_selector.cc:47
+msgid "Open uploaded files in browser"
+msgstr ""
+
+#: soundcloud_export_selector.cc:48
+msgid "Make files downloadable"
+msgstr ""
+
+#: soundcloud_export_selector.cc:107
+msgid "%1: %2 of %3 bytes uploaded"
+msgstr ""
+
#: splash.cc:73
msgid "%1 loading ..."
msgstr "载入%1..."
@@ -10981,17 +11258,17 @@ msgstr "èµ·åˆæ‰¬å£°å™¨"
msgid "Azimuth:"
msgstr ""
-#: startup.cc:72
+#: startup.cc:73
msgid ""
"Use an external mixer or the hardware mixer of your audio interface.\n"
"%1 will play NO role in monitoring"
msgstr ""
-#: startup.cc:74
+#: startup.cc:75
msgid "Ask %1 to play back material as it is being recorded"
msgstr ""
-#: startup.cc:143
+#: startup.cc:144
msgid ""
"<b>Welcome to this BETA release of Ardour %1</b>\n"
"\n"
@@ -11016,11 +11293,11 @@ msgid ""
" http://ardour.org/support\n"
msgstr ""
-#: startup.cc:167
+#: startup.cc:168
msgid "This is a BETA RELEASE"
msgstr ""
-#: startup.cc:176
+#: startup.cc:177
msgid ""
"<span size=\"larger\">%1 is a digital audio workstation. You can use it to "
"record, edit and mix multi-track audio. You can produce your own CDs, mix "
@@ -11030,15 +11307,15 @@ msgid ""
"program.</span> "
msgstr ""
-#: startup.cc:202
+#: startup.cc:203
msgid "Welcome to %1"
msgstr "欢迎进入 %1"
-#: startup.cc:225
+#: startup.cc:226
msgid "Default folder for %1 sessions"
msgstr "ä¼šè¯ %1 的默认文件夹"
-#: startup.cc:231
+#: startup.cc:232
msgid ""
"Each project that you work on with %1 has its own folder.\n"
"These can require a lot of disk space if you are recording audio.\n"
@@ -11054,11 +11331,11 @@ msgstr ""
"\n"
"<i>(ä½ å¯ä»¥æŠŠæ–°çš„会è¯å­˜æ”¾åœ¨ä»»ä½•ä½ç½®, è¿™åªæ˜¯é»˜è®¤çš„文件夹)</i>"
-#: startup.cc:254
+#: startup.cc:255
msgid "Default folder for new sessions"
msgstr "会è¯æ–‡ä»¶é»˜è®¤çš„文件夹"
-#: startup.cc:275
+#: startup.cc:276
msgid ""
"While recording instruments or vocals, you probably want to listen to the\n"
"signal as well as record it. This is called \"monitoring\". There are\n"
@@ -11072,25 +11349,25 @@ msgid ""
"<i>If you do not understand what this is about, just accept the default.</i>"
msgstr ""
-#: startup.cc:296
+#: startup.cc:297
msgid "Monitoring Choices"
msgstr "检控选择"
-#: startup.cc:319
+#: startup.cc:320
msgid "Use a Master bus directly"
msgstr "直接用主控总线"
-#: startup.cc:321
+#: startup.cc:322
msgid ""
"Connect the Master bus directly to your hardware outputs. This is preferable "
"for simple usage."
msgstr ""
-#: startup.cc:330
+#: startup.cc:331
msgid "Use an additional Monitor bus"
msgstr "用一个é¢å¤–的主控总线"
-#: startup.cc:333
+#: startup.cc:334
msgid ""
"Use a Monitor bus between Master bus and hardware outputs for \n"
"greater control in monitoring without affecting the mix."
@@ -11098,7 +11375,7 @@ msgstr ""
"用一个监控总线\n"
"监控时有更好的控制, ä¸å½±å“混音"
-#: startup.cc:355
+#: startup.cc:356
msgid ""
"<i>You can change this preference at any time via the Preferences dialog.\n"
"You can also add or remove the monitor section to/from any session.</i>\n"
@@ -11106,395 +11383,395 @@ msgid ""
"<i>If you do not understand what this is about, just accept the default.</i>"
msgstr ""
-#: startup.cc:366
+#: startup.cc:367
msgid "Monitor Section"
msgstr "监控部分"
-#: step_entry.cc:59
+#: step_entry.cc:60
msgid "Step Entry: %1"
msgstr ""
-#: step_entry.cc:64
+#: step_entry.cc:65
msgid ">beat"
msgstr ""
-#: step_entry.cc:65
+#: step_entry.cc:66
msgid ">bar"
msgstr ""
-#: step_entry.cc:66
+#: step_entry.cc:67
msgid ">EP"
msgstr ""
-#: step_entry.cc:67
+#: step_entry.cc:68
msgid "sustain"
msgstr ""
-#: step_entry.cc:68
+#: step_entry.cc:69
msgid "rest"
msgstr ""
-#: step_entry.cc:69
+#: step_entry.cc:70
msgid "g-rest"
msgstr ""
-#: step_entry.cc:70
+#: step_entry.cc:71
msgid "back"
msgstr ""
-#: step_entry.cc:81 step_entry.cc:84
+#: step_entry.cc:82 step_entry.cc:85
msgid "+"
msgstr "+"
-#: step_entry.cc:190
+#: step_entry.cc:191
msgid "Set note length to a whole note"
msgstr "设置音符长度为全音符"
-#: step_entry.cc:191
+#: step_entry.cc:192
msgid "Set note length to a half note"
msgstr "设置音符长度为åŠåˆ†éŸ³ç¬¦"
-#: step_entry.cc:192
+#: step_entry.cc:193
msgid "Set note length to a quarter note"
msgstr "设置音符长度为四分音符"
-#: step_entry.cc:193
+#: step_entry.cc:194
msgid "Set note length to a eighth note"
msgstr "设置音符长度为八分音符"
-#: step_entry.cc:194
+#: step_entry.cc:195
msgid "Set note length to a sixteenth note"
msgstr "设置音符长度为å六分音符"
-#: step_entry.cc:195
+#: step_entry.cc:196
msgid "Set note length to a thirty-second note"
msgstr "设置音符长度为三å二分音符"
-#: step_entry.cc:196
+#: step_entry.cc:197
msgid "Set note length to a sixty-fourth note"
msgstr "设置音符长度为六å四分音符"
-#: step_entry.cc:275
+#: step_entry.cc:276
msgid "Set volume (velocity) to pianississimo"
msgstr "设置音é‡(力度)为最弱音"
-#: step_entry.cc:276
+#: step_entry.cc:277
msgid "Set volume (velocity) to pianissimo"
msgstr "设置音é‡(力度)为æžå¼±éŸ³"
-#: step_entry.cc:277
+#: step_entry.cc:278
msgid "Set volume (velocity) to piano"
msgstr "设置音é‡(力度)为弱音"
-#: step_entry.cc:278
+#: step_entry.cc:279
msgid "Set volume (velocity) to mezzo-piano"
msgstr "设置音é‡(力度)为中弱音"
-#: step_entry.cc:279
+#: step_entry.cc:280
msgid "Set volume (velocity) to mezzo-forte"
msgstr "设置音é‡(力度)为中强音"
-#: step_entry.cc:280
+#: step_entry.cc:281
msgid "Set volume (velocity) to forte"
msgstr "设置音é‡(力度)为强音"
-#: step_entry.cc:281
+#: step_entry.cc:282
msgid "Set volume (velocity) to forteissimo"
msgstr "设置音é‡(力度)为æžå¼ºéŸ³"
-#: step_entry.cc:282
+#: step_entry.cc:283
msgid "Set volume (velocity) to forteississimo"
msgstr "设置音é‡(力度)为最强音"
-#: step_entry.cc:330
+#: step_entry.cc:331
msgid "Stack inserted notes to form a chord"
msgstr "å †å æ’入音符形æˆä¸€ä¸ªå’Œå¼¦"
-#: step_entry.cc:331
+#: step_entry.cc:332
msgid "Extend selected notes by note length"
msgstr "延伸所选音符的长度"
-#: step_entry.cc:332
+#: step_entry.cc:333
msgid "Use undotted note lengths"
msgstr "使用ä¸å¸¦ç‚¹é•¿åº¦çš„音符"
-#: step_entry.cc:333
+#: step_entry.cc:334
msgid "Use dotted (* 1.5) note lengths"
msgstr "使用带点(*1.5)长度的音符"
-#: step_entry.cc:334
+#: step_entry.cc:335
msgid "Use double-dotted (* 1.75) note lengths"
msgstr "使用带åŒç‚¹(*1.75)长度的音符"
-#: step_entry.cc:335
+#: step_entry.cc:336
msgid "Use triple-dotted (* 1.875) note lengths"
msgstr "使用带三点(*1.75)长度的音符"
-#: step_entry.cc:336
+#: step_entry.cc:337
msgid "Insert a note-length's rest"
msgstr "æ’入一个全休止符"
-#: step_entry.cc:337
+#: step_entry.cc:338
msgid "Insert a grid-unit's rest"
msgstr "添加一个å•å…ƒæ ¼çš„休止符"
-#: step_entry.cc:338
+#: step_entry.cc:339
msgid "Insert a rest until the next beat"
msgstr "添加一个直到下一æ‹çš„休止符"
-#: step_entry.cc:339
+#: step_entry.cc:340
msgid "Insert a rest until the next bar"
msgstr "添加一个直到下一å°èŠ‚的休止符"
-#: step_entry.cc:340
+#: step_entry.cc:341
msgid "Insert a bank change message"
msgstr ""
-#: step_entry.cc:341
+#: step_entry.cc:342
msgid "Insert a program change message"
msgstr ""
-#: step_entry.cc:342 step_entry.cc:699
+#: step_entry.cc:343 step_entry.cc:700
msgid "Move Insert Position Back by Note Length"
msgstr "把æ’å…¥ä½ç½®å‘å‰ç§»åŠ¨ä¸€ä¸ªéŸ³ç¬¦çš„长度"
-#: step_entry.cc:343 step_entry.cc:697
+#: step_entry.cc:344 step_entry.cc:698
msgid "Move Insert Position to Edit Point"
msgstr "把æ’å…¥ä½ç½®ç§»ç§»è‡³ç¼–辑ä½ç½®"
-#: step_entry.cc:400
+#: step_entry.cc:401
msgid "1/Note"
msgstr "1/音符"
-#: step_entry.cc:414
+#: step_entry.cc:415
msgid "Octave"
msgstr "八度"
-#: step_entry.cc:597
+#: step_entry.cc:598
msgid "Insert Note A"
msgstr "æ’入音符A"
-#: step_entry.cc:598
+#: step_entry.cc:599
msgid "Insert Note A-sharp"
msgstr "æ’入音符A#"
-#: step_entry.cc:599
+#: step_entry.cc:600
msgid "Insert Note B"
msgstr "æ’入音符B"
-#: step_entry.cc:600
+#: step_entry.cc:601
msgid "Insert Note C"
msgstr "æ’入音符C"
-#: step_entry.cc:601
+#: step_entry.cc:602
msgid "Insert Note C-sharp"
msgstr "æ’入音符C#"
-#: step_entry.cc:602
+#: step_entry.cc:603
msgid "Insert Note D"
msgstr "æ’入音符D"
-#: step_entry.cc:603
+#: step_entry.cc:604
msgid "Insert Note D-sharp"
msgstr "æ’入音符D#"
-#: step_entry.cc:604
+#: step_entry.cc:605
msgid "Insert Note E"
msgstr "æ’入音符E"
-#: step_entry.cc:605
+#: step_entry.cc:606
msgid "Insert Note F"
msgstr "æ’入音符F"
-#: step_entry.cc:606
+#: step_entry.cc:607
msgid "Insert Note F-sharp"
msgstr "æ’入音符F#"
-#: step_entry.cc:607
+#: step_entry.cc:608
msgid "Insert Note G"
msgstr "æ’入音符G"
-#: step_entry.cc:608
+#: step_entry.cc:609
msgid "Insert Note G-sharp"
msgstr "æ’入音符G#"
-#: step_entry.cc:610
+#: step_entry.cc:611
msgid "Insert a Note-length Rest"
msgstr "æ’入一个全休止符"
-#: step_entry.cc:611
+#: step_entry.cc:612
msgid "Insert a Snap-length Rest"
msgstr "æ’入一个é”定长度的休止符"
-#: step_entry.cc:613 step_entry.cc:614
+#: step_entry.cc:614 step_entry.cc:615
msgid "Move to next octave"
msgstr "移动到下一个八度"
-#: step_entry.cc:616
+#: step_entry.cc:617
msgid "Move to Next Note Length"
msgstr "å‘åŽç§»åŠ¨ä¸€ä¸ªéŸ³ç¬¦"
-#: step_entry.cc:617
+#: step_entry.cc:618
msgid "Move to Previous Note Length"
msgstr "å‘å‰ç§»åŠ¨ä¸€ä¸ªéŸ³ç¬¦"
-#: step_entry.cc:619
+#: step_entry.cc:620
msgid "Increase Note Length"
msgstr "增加音符长度"
-#: step_entry.cc:620
+#: step_entry.cc:621
msgid "Decrease Note Length"
msgstr "é™ä½ŽéŸ³ç¬¦é•¿åº¦"
-#: step_entry.cc:622
+#: step_entry.cc:623
msgid "Move to Next Note Velocity"
msgstr "移动到下一个音符力度"
-#: step_entry.cc:623
+#: step_entry.cc:624
msgid "Move to Previous Note Velocity"
msgstr "移动到上一个音符力度"
-#: step_entry.cc:625
+#: step_entry.cc:626
msgid "Increase Note Velocity"
msgstr "增加音符力度"
-#: step_entry.cc:626
+#: step_entry.cc:627
msgid "Decrease Note Velocity"
msgstr "é™ä½ŽéŸ³ç¬¦åŠ›åº¦"
-#: step_entry.cc:628
+#: step_entry.cc:629
msgid "Switch to the 1st octave"
msgstr "切æ¢åˆ°ç¬¬ä¸€ä¸ªå…«åº¦"
-#: step_entry.cc:629
+#: step_entry.cc:630
msgid "Switch to the 2nd octave"
msgstr "切æ¢åˆ°ç¬¬äºŒä¸ªå…«åº¦"
-#: step_entry.cc:630
+#: step_entry.cc:631
msgid "Switch to the 3rd octave"
msgstr "切æ¢åˆ°ç¬¬ä¸‰ä¸ªå…«åº¦"
-#: step_entry.cc:631
+#: step_entry.cc:632
msgid "Switch to the 4th octave"
msgstr "切æ¢åˆ°ç¬¬å››ä¸ªå…«åº¦"
-#: step_entry.cc:632
+#: step_entry.cc:633
msgid "Switch to the 5th octave"
msgstr "切æ¢åˆ°ç¬¬äº”个八度"
-#: step_entry.cc:633
+#: step_entry.cc:634
msgid "Switch to the 6th octave"
msgstr "切æ¢åˆ°ç¬¬å…­ä¸ªå…«åº¦"
-#: step_entry.cc:634
+#: step_entry.cc:635
msgid "Switch to the 7th octave"
msgstr "切æ¢åˆ°ç¬¬ä¸ƒä¸ªå…«åº¦"
-#: step_entry.cc:635
+#: step_entry.cc:636
msgid "Switch to the 8th octave"
msgstr "切æ¢åˆ°ç¬¬å…«ä¸ªå…«åº¦"
-#: step_entry.cc:636
+#: step_entry.cc:637
msgid "Switch to the 9th octave"
msgstr "切æ¢åˆ°ç¬¬ä¹ä¸ªå…«åº¦"
-#: step_entry.cc:637
+#: step_entry.cc:638
msgid "Switch to the 10th octave"
msgstr "切æ¢åˆ°ç¬¬å个八度"
-#: step_entry.cc:638
+#: step_entry.cc:639
msgid "Switch to the 11th octave"
msgstr "切æ¢åˆ°ç¬¬å一个八度"
-#: step_entry.cc:643
+#: step_entry.cc:644
msgid "Set Note Length to Whole"
msgstr "设置为全音符"
-#: step_entry.cc:645
+#: step_entry.cc:646
msgid "Set Note Length to 1/2"
msgstr "设置为二分音符"
-#: step_entry.cc:647
+#: step_entry.cc:648
msgid "Set Note Length to 1/3"
msgstr "设置为三分音符"
-#: step_entry.cc:649
+#: step_entry.cc:650
msgid "Set Note Length to 1/4"
msgstr "设置为四分音符"
-#: step_entry.cc:651
+#: step_entry.cc:652
msgid "Set Note Length to 1/8"
msgstr "设置为八分音符"
-#: step_entry.cc:653
+#: step_entry.cc:654
msgid "Set Note Length to 1/16"
msgstr "设置为å六分音符"
-#: step_entry.cc:655
+#: step_entry.cc:656
msgid "Set Note Length to 1/32"
msgstr "设置为三å二分音符"
-#: step_entry.cc:657
+#: step_entry.cc:658
msgid "Set Note Length to 1/64"
msgstr "设置为六å四分音符"
-#: step_entry.cc:662
+#: step_entry.cc:663
msgid "Set Note Velocity to Pianississimo"
msgstr "设置音符力度为最弱音"
-#: step_entry.cc:664
+#: step_entry.cc:665
msgid "Set Note Velocity to Pianissimo"
msgstr "设置音符力度为æžå¼±éŸ³"
-#: step_entry.cc:666
+#: step_entry.cc:667
msgid "Set Note Velocity to Piano"
msgstr "设置音符力度为弱音"
-#: step_entry.cc:668
+#: step_entry.cc:669
msgid "Set Note Velocity to Mezzo-Piano"
msgstr "设置音符力度为中弱音"
-#: step_entry.cc:670
+#: step_entry.cc:671
msgid "Set Note Velocity to Mezzo-Forte"
msgstr "设置音符力度为中强音"
-#: step_entry.cc:672
+#: step_entry.cc:673
msgid "Set Note Velocity to Forte"
msgstr "设置音符力度为强音"
-#: step_entry.cc:674 step_entry.cc:676
+#: step_entry.cc:675 step_entry.cc:677
msgid "Set Note Velocity to Fortississimo"
msgstr "设置音符力度为最强音"
-#: step_entry.cc:678
+#: step_entry.cc:679
msgid "Toggle Triple Notes"
msgstr ""
-#: step_entry.cc:683
+#: step_entry.cc:684
msgid "No Dotted Notes"
msgstr ""
-#: step_entry.cc:685
+#: step_entry.cc:686
msgid "Toggled Dotted Notes"
msgstr ""
-#: step_entry.cc:687
+#: step_entry.cc:688
msgid "Toggled Double-Dotted Notes"
msgstr ""
-#: step_entry.cc:689
+#: step_entry.cc:690
msgid "Toggled Triple-Dotted Notes"
msgstr ""
-#: step_entry.cc:692
+#: step_entry.cc:693
msgid "Toggle Chord Entry"
msgstr ""
-#: step_entry.cc:694
+#: step_entry.cc:695
msgid "Sustain Selected Notes by Note Length"
msgstr "通过音符长度ä¿æŒé€‰æ‹©éŸ³ç¬¦"
-#: stereo_panner.cc:108
+#: stereo_panner.cc:131
#, c-format
msgid "L:%3d R:%3d Width:%d%%"
msgstr ""
@@ -11507,140 +11784,164 @@ msgstr ""
msgid "Width"
msgstr ""
-#: strip_silence_dialog.cc:48
+#: strip_silence_dialog.cc:44
msgid "Strip Silence"
msgstr "剥去沉默"
-#: strip_silence_dialog.cc:79
+#: strip_silence_dialog.cc:75
msgid "Minimum length"
msgstr "最å°é•¿åº¦"
-#: strip_silence_dialog.cc:87
+#: strip_silence_dialog.cc:83
msgid "Fade length"
msgstr ""
-#: tempo_dialog.cc:43 tempo_dialog.cc:58
+#: tempo_dialog.cc:42 tempo_dialog.cc:58
msgid "bar:"
msgstr "å°èŠ‚:"
-#: tempo_dialog.cc:44 tempo_dialog.cc:59
+#: tempo_dialog.cc:43 tempo_dialog.cc:59
msgid "beat:"
msgstr "æ‹å­:"
-#: tempo_dialog.cc:45 tempo_dialog.cc:60
+#: tempo_dialog.cc:44 tempo_dialog.cc:60
msgid "Pulse note"
msgstr ""
+#: tempo_dialog.cc:45 tempo_dialog.cc:61
+msgid "Tap tempo"
+msgstr ""
+
#: tempo_dialog.cc:55
msgid "Edit Tempo"
msgstr ""
-#: tempo_dialog.cc:76 tempo_dialog.cc:77 tempo_dialog.cc:282
-#: tempo_dialog.cc:283
+#: tempo_dialog.cc:77 tempo_dialog.cc:78 tempo_dialog.cc:316
+#: tempo_dialog.cc:317
msgid "whole"
msgstr ""
-#: tempo_dialog.cc:78 tempo_dialog.cc:79 tempo_dialog.cc:284
-#: tempo_dialog.cc:285
+#: tempo_dialog.cc:79 tempo_dialog.cc:80 tempo_dialog.cc:318
+#: tempo_dialog.cc:319
msgid "second"
msgstr ""
-#: tempo_dialog.cc:80 tempo_dialog.cc:81 tempo_dialog.cc:286
-#: tempo_dialog.cc:287
+#: tempo_dialog.cc:81 tempo_dialog.cc:82 tempo_dialog.cc:320
+#: tempo_dialog.cc:321
msgid "third"
msgstr ""
-#: tempo_dialog.cc:82 tempo_dialog.cc:83 tempo_dialog.cc:288
-#: tempo_dialog.cc:289
+#: tempo_dialog.cc:83 tempo_dialog.cc:84 tempo_dialog.cc:322
+#: tempo_dialog.cc:323
msgid "quarter"
msgstr ""
-#: tempo_dialog.cc:84 tempo_dialog.cc:85 tempo_dialog.cc:290
-#: tempo_dialog.cc:291
+#: tempo_dialog.cc:85 tempo_dialog.cc:86 tempo_dialog.cc:324
+#: tempo_dialog.cc:325
msgid "eighth"
msgstr ""
-#: tempo_dialog.cc:86 tempo_dialog.cc:87 tempo_dialog.cc:292
-#: tempo_dialog.cc:293
+#: tempo_dialog.cc:87 tempo_dialog.cc:88 tempo_dialog.cc:326
+#: tempo_dialog.cc:327
msgid "sixteenth"
msgstr ""
-#: tempo_dialog.cc:88 tempo_dialog.cc:89 tempo_dialog.cc:294
-#: tempo_dialog.cc:295
+#: tempo_dialog.cc:89 tempo_dialog.cc:90 tempo_dialog.cc:328
+#: tempo_dialog.cc:329
msgid "thirty-second"
msgstr ""
-#: tempo_dialog.cc:90 tempo_dialog.cc:91 tempo_dialog.cc:296
-#: tempo_dialog.cc:297
+#: tempo_dialog.cc:91 tempo_dialog.cc:92 tempo_dialog.cc:330
+#: tempo_dialog.cc:331
msgid "sixty-fourth"
msgstr ""
-#: tempo_dialog.cc:92 tempo_dialog.cc:93 tempo_dialog.cc:298
-#: tempo_dialog.cc:299
+#: tempo_dialog.cc:93 tempo_dialog.cc:94 tempo_dialog.cc:332
+#: tempo_dialog.cc:333
msgid "one-hundred-twenty-eighth"
msgstr ""
-#: tempo_dialog.cc:120
+#: tempo_dialog.cc:121
msgid "Beats per minute:"
msgstr "æ¯åˆ†é’Ÿæ‹æ•°:"
-#: tempo_dialog.cc:152
+#: tempo_dialog.cc:153
msgid "Tempo begins at"
msgstr "节å¥å¼€å§‹äºŽ"
-#: tempo_dialog.cc:240
+#: tempo_dialog.cc:244
msgid "incomprehensible pulse note type (%1)"
msgstr ""
-#: tempo_dialog.cc:266
+#: tempo_dialog.cc:300
msgid "Edit Meter"
msgstr ""
-#: tempo_dialog.cc:314
+#: tempo_dialog.cc:348
msgid "Note value:"
msgstr "音符值:"
-#: tempo_dialog.cc:315
+#: tempo_dialog.cc:349
msgid "Beats per bar:"
msgstr "æ¯å°èŠ‚æ‹æ•°:"
-#: tempo_dialog.cc:330
+#: tempo_dialog.cc:364
msgid "Meter begins at bar:"
msgstr "标尺开始å°èŠ‚在:"
-#: tempo_dialog.cc:441
+#: tempo_dialog.cc:475
msgid "incomprehensible meter note type (%1)"
msgstr ""
-#: theme_manager.cc:57
+#: theme_manager.cc:63
msgid "Dark Theme"
msgstr "深暗主题"
-#: theme_manager.cc:58
+#: theme_manager.cc:64
msgid "Light Theme"
msgstr "明亮主题"
-#: theme_manager.cc:59
+#: theme_manager.cc:65
msgid "Restore Defaults"
msgstr "é‡æ–°å‚¨å­˜é¢„设"
-#: theme_manager.cc:60
+#: theme_manager.cc:66
msgid "Draw \"flat\" buttons"
msgstr ""
-#: theme_manager.cc:61
+#: theme_manager.cc:67
+msgid "Blink Rec-Arm buttons"
+msgstr ""
+
+#: theme_manager.cc:68
+msgid "Color regions using their track's color"
+msgstr ""
+
+#: theme_manager.cc:69
+msgid "Show waveform clipping"
+msgstr ""
+
+#: theme_manager.cc:71
+msgid "Waveforms color gradient depth"
+msgstr ""
+
+#: theme_manager.cc:73
+msgid "Timeline item gradient depth"
+msgstr ""
+
+#: theme_manager.cc:74
msgid "All floating windows are dialogs"
msgstr ""
-#: theme_manager.cc:62
-msgid "Draw waveforms with color gradient"
+#: theme_manager.cc:75
+msgid "Icon Set"
msgstr ""
-#: theme_manager.cc:68
+#: theme_manager.cc:81
msgid "Object"
msgstr "对象"
-#: theme_manager.cc:123
+#: theme_manager.cc:180
msgid ""
"Mark all floating windows to be type \"Dialog\" rather than using \"Utility"
"\" for some.\n"
@@ -11648,15 +11949,15 @@ msgid ""
"take effect"
msgstr ""
-#: theme_manager.cc:229
+#: theme_manager.cc:286
msgid "Unable to find UI style file %1 in search path %2. %3 will look strange"
msgstr "在æœç´¢è·¯å¾„ %2 下找ä¸åˆ°ç”¨æˆ·ç•Œé¢æ ·å¼æ–‡ä»¶ %1 . %3 看起æ¥ä¼šæ€ªæ€ªåœ°"
-#: time_axis_view.cc:114
+#: time_axis_view.cc:141
msgid "Track/Bus name (double click to edit)"
msgstr ""
-#: time_axis_view_item.cc:332
+#: time_axis_view_item.cc:384
msgid "new duration %1 frame is out of bounds for %2"
msgid_plural "new duration of %1 frames is out of bounds for %2"
msgstr[0] ""
@@ -11722,11 +12023,11 @@ msgstr "伸展/收缩"
msgid "<b>Progress</b>"
msgstr "<b>进程</b>"
-#: time_info_box.cc:121
+#: time_info_box.cc:124
msgid "Start recording at auto-punch start"
msgstr "开始在自动Punch点录音"
-#: time_info_box.cc:122
+#: time_info_box.cc:125
msgid "Stop recording at auto-punch end"
msgstr "在自动Punch点åœæ­¢å½•éŸ³"
@@ -11742,148 +12043,160 @@ msgstr ""
msgid "Transpose"
msgstr ""
-#: ui_config.cc:82 ui_config.cc:113
+#: ui_config.cc:95 ui_config.cc:126
msgid "Loading default ui configuration file %1"
msgstr "载入默认用户界é¢é…置文件 %1"
-#: ui_config.cc:85 ui_config.cc:116
+#: ui_config.cc:98 ui_config.cc:129
msgid "cannot read default ui configuration file \"%1\""
msgstr "无法读å–默认用户界é¢é…置文件\"%1\""
-#: ui_config.cc:90 ui_config.cc:121
+#: ui_config.cc:103 ui_config.cc:134
msgid "default ui configuration file \"%1\" not loaded successfully."
msgstr "默认用户界é¢é…置文件 \"%1\" 载入ä¸æˆåŠŸ"
-#: ui_config.cc:134
+#: ui_config.cc:147
msgid "Loading user ui configuration file %1"
msgstr "载入用户界é¢é…置文件%1"
-#: ui_config.cc:137
+#: ui_config.cc:150
msgid "cannot read ui configuration file \"%1\""
msgstr "无法读å–用户界é¢é…置文件 \"%1\""
-#: ui_config.cc:142
+#: ui_config.cc:155
msgid "user ui configuration file \"%1\" not loaded successfully."
msgstr "用户的用户界é¢é…置文件 \"%1\" 载入ä¸æˆåŠŸ"
-#: ui_config.cc:150
+#: ui_config.cc:163
msgid "could not find any ui configuration file, canvas will look broken."
msgstr "找ä¸åˆ°ä»»ä½•ç”¨æˆ·ç•Œé¢é…置文件, 画布看起æ¥ä¼šç ´ç ´çš„."
-#: ui_config.cc:169
+#: ui_config.cc:182
msgid "Config file %1 not saved"
msgstr "é…置文件 %1 还没ä¿å­˜"
-#: utils.cc:111 utils.cc:154
+#: utils.cc:117 utils.cc:160
msgid "bad XPM header %1"
msgstr ""
-#: utils.cc:293 utils.cc:325
+#: utils.cc:313 utils.cc:345
msgid "missing RGBA style for \"%1\""
msgstr ""
-#: utils.cc:598
+#: utils.cc:640
msgid "cannot find XPM file for %1"
msgstr ""
-#: utils.cc:624
-msgid "cannot find icon image for %1 using %2"
+#: utils.cc:660 utils.cc:687 utils.cc:698
+msgid "default"
msgstr ""
-#: utils.cc:639
-msgid "Caught exception while loading icon named %1"
+#: utils.cc:699
+msgid "icon \"%1\" not found for icon set \"%2\", fallback to default"
+msgstr ""
+
+#: utils.cc:706
+msgid "cannot find icon image for %1 using %2"
msgstr ""
-#: verbose_cursor.cc:45
-msgid "VerboseCanvasCursor"
+#: utils.cc:723 utils.cc:739
+msgid "Caught exception while loading icon named %1"
msgstr ""
-#: add_video_dialog.cc:55
+#: add_video_dialog.cc:54
msgid "Set Video Track"
msgstr ""
-#: add_video_dialog.cc:63
+#: add_video_dialog.cc:62
msgid "Launch External Video Monitor"
msgstr ""
-#: add_video_dialog.cc:64
+#: add_video_dialog.cc:63
msgid "Adjust Session Framerate to Match Video Framerate"
msgstr ""
-#: add_video_dialog.cc:66
+#: add_video_dialog.cc:65
msgid "Reload docroot"
msgstr ""
-#: add_video_dialog.cc:111 add_video_dialog.cc:115
-msgid "VideoServerIndex"
-msgstr ""
-
-#: add_video_dialog.cc:129
+#: add_video_dialog.cc:120
msgid "Video files"
msgstr ""
-#: add_video_dialog.cc:164
+#: add_video_dialog.cc:149
msgid "<b>Video Information</b>"
msgstr ""
-#: add_video_dialog.cc:167
+#: add_video_dialog.cc:152
msgid "Start:"
msgstr ""
-#: add_video_dialog.cc:173
+#: add_video_dialog.cc:158
msgid "Frame rate:"
msgstr ""
-#: add_video_dialog.cc:176
+#: add_video_dialog.cc:161
msgid "Aspect Ratio:"
msgstr ""
-#: add_video_dialog.cc:654
-msgid " %1 fps"
+#: add_video_dialog.cc:244
+msgid "VideoServerIndex"
msgstr ""
-#: editor_videotimeline.cc:146
-msgid "Export Successful: %1"
+#: add_video_dialog.cc:670
+msgid " %1 fps"
msgstr ""
-#: video_timeline.cc:469
+#: video_timeline.cc:473
msgid ""
"Parsing video file info failed. Is the Video Server running? Is the file "
"readable by the Video Server? Does the docroot match? Is it a video file?"
msgstr ""
-#: video_timeline.cc:507
+#: video_timeline.cc:511
msgid ""
"Failed to set session-framerate: '%1' does not have a corresponding option "
"setting in %2."
msgstr ""
-#: video_timeline.cc:515
+#: video_timeline.cc:519
msgid ""
"Video file's framerate is not equal to %1 session timecode's framerate: '%2' "
"vs '%3'"
msgstr ""
-#: video_timeline.cc:588
+#: video_timeline.cc:592
msgid ""
"Video-server docroot mismatch. %1: '%2', video-server: '%3'. This usually "
-"means that the video server was not started by ardour and uses a different "
+"means that the video server was not started by %1 and uses a different "
"document-root."
msgstr ""
-#: video_timeline.cc:737
+#: video_timeline.cc:768
msgid ""
"Video-monitor 'xjadeo' was not found. Please install http://xjadeo.sf.net/ "
"(a custom path to xjadeo can be specified by setting the XJREMOTE "
"environment variable. It should point to an application compatible with "
-"xjadeo's remote-control interface 'xjremote')."
+"xjadeo's remote-control interface 'xjremote').\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
+msgstr ""
+
+#: video_timeline.cc:782
+msgid "Video-monitor 'xjadeo' cannot be launched."
+msgstr ""
+
+#: video_timeline.cc:809
+msgid ""
+"Video-monitor 'xjadeo' is too old. Please install xjadeo version 0.7.7 or "
+"later. http://xjadeo.sf.net/"
msgstr ""
-#: video_monitor.cc:281
+#: video_monitor.cc:285
msgid "Video Monitor: File Not Found."
msgstr ""
-#: transcode_ffmpeg.cc:73
+#: transcode_ffmpeg.cc:126
msgid ""
"No ffprobe or ffmpeg executables could be found on this system.\n"
"Video import and export is not possible until you install those tools.\n"
@@ -11897,168 +12210,181 @@ msgid ""
"If you already have a suitable ffmpeg installation on your system, we "
"recommend creating symbolic links from ffmpeg to ffmpeg_harvid and from "
"ffprobe to ffprobe_harvid.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: transcode_video_dialog.cc:55
+#: transcode_video_dialog.cc:56
msgid "Transcode/Import Video File "
msgstr ""
-#: transcode_video_dialog.cc:57
+#: transcode_video_dialog.cc:58
msgid "Output File:"
msgstr ""
-#: transcode_video_dialog.cc:60 export_video_dialog.cc:72
+#: transcode_video_dialog.cc:61 export_video_dialog.cc:73
msgid "Abort"
msgstr ""
-#: transcode_video_dialog.cc:62
+#: transcode_video_dialog.cc:63
msgid "Height = "
msgstr ""
-#: transcode_video_dialog.cc:65
+#: transcode_video_dialog.cc:66
msgid "Manual Override"
msgstr ""
-#: transcode_video_dialog.cc:69 export_video_dialog.cc:88
+#: transcode_video_dialog.cc:70 export_video_dialog.cc:89
msgid "Debug Mode: Print ffmpeg command and output to stdout."
msgstr ""
-#: transcode_video_dialog.cc:106
+#: transcode_video_dialog.cc:107
msgid "<b>File Information</b>"
msgstr ""
-#: transcode_video_dialog.cc:112
+#: transcode_video_dialog.cc:113
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Import "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: transcode_video_dialog.cc:119
+#: transcode_video_dialog.cc:120
msgid ""
"File-info can not be read. Most likely '%1' is not a valid video-file or an "
"unsupported video codec or format."
msgstr ""
-#: transcode_video_dialog.cc:133
+#: transcode_video_dialog.cc:134
msgid "FPS:"
msgstr ""
-#: transcode_video_dialog.cc:135
+#: transcode_video_dialog.cc:136
msgid "Duration:"
msgstr ""
-#: transcode_video_dialog.cc:137
+#: transcode_video_dialog.cc:138
msgid "Codec:"
msgstr ""
-#: transcode_video_dialog.cc:139
+#: transcode_video_dialog.cc:140
msgid "Geometry:"
msgstr ""
-#: transcode_video_dialog.cc:154
+#: transcode_video_dialog.cc:155
msgid "??"
msgstr ""
-#: transcode_video_dialog.cc:175
+#: transcode_video_dialog.cc:176
msgid "<b>Import Settings</b>"
msgstr ""
-#: transcode_video_dialog.cc:180
-msgid "Do Not Import Video"
-msgstr ""
-
#: transcode_video_dialog.cc:181
-msgid "Reference From Current Location"
+msgid "Reference From Current Location (Previously Transcoded Files Only)"
msgstr ""
#: transcode_video_dialog.cc:183
msgid "Import/Transcode Video to Session"
msgstr ""
-#: transcode_video_dialog.cc:197
+#: transcode_video_dialog.cc:191
+msgid "Do Not Import Video (Audio Import Only)"
+msgstr ""
+
+#: transcode_video_dialog.cc:200
msgid "Scale Video: Width = "
msgstr ""
-#: transcode_video_dialog.cc:204
+#: transcode_video_dialog.cc:207
msgid "Original Width"
msgstr ""
-#: transcode_video_dialog.cc:219
+#: transcode_video_dialog.cc:222
msgid "Bitrate (KBit/s):"
msgstr ""
-#: transcode_video_dialog.cc:224
+#: transcode_video_dialog.cc:227
msgid "Extract Audio:"
msgstr ""
-#: transcode_video_dialog.cc:344
+#: transcode_video_dialog.cc:232
+msgid "No Audio Track Present"
+msgstr ""
+
+#: transcode_video_dialog.cc:235
+msgid "Do Not Extract Audio"
+msgstr ""
+
+#: transcode_video_dialog.cc:350
msgid "Extracting Audio.."
msgstr ""
-#: transcode_video_dialog.cc:347
+#: transcode_video_dialog.cc:353
msgid "Audio Extraction Failed."
msgstr ""
-#: transcode_video_dialog.cc:373
+#: transcode_video_dialog.cc:379
msgid "Transcoding Video.."
msgstr ""
-#: transcode_video_dialog.cc:407
+#: transcode_video_dialog.cc:413
msgid "Transcoding Failed."
msgstr ""
-#: transcode_video_dialog.cc:490
+#: transcode_video_dialog.cc:503
msgid "Save Transcoded Video File"
msgstr ""
-#: video_server_dialog.cc:43
+#: video_server_dialog.cc:57
msgid "Launch Video Server"
msgstr ""
-#: video_server_dialog.cc:44
+#: video_server_dialog.cc:58
msgid "Server Executable:"
msgstr ""
-#: video_server_dialog.cc:46
+#: video_server_dialog.cc:60
msgid "Server Docroot:"
msgstr ""
-#: video_server_dialog.cc:52
+#: video_server_dialog.cc:66
msgid "Don't show this dialog again. (Reset in Edit->Preferences)."
msgstr ""
-#: video_server_dialog.cc:92
+#: video_server_dialog.cc:126
msgid ""
-"The external video server 'harvid' can not be found. The tool is included "
-"with the %1 releases from ardour.org, alternatively you can download it from "
-"http://x42.github.com/harvid/ or acquire it from your distribution."
+"The external video server 'harvid' can not be found.\n"
+"The tool is included with the %1 releases from ardour.org, alternatively you "
+"can download it from http://x42.github.com/harvid/ or acquire it from your "
+"distribution.\n"
+"\n"
+"see also http://manual.ardour.org/video-timeline/setup/"
msgstr ""
-#: video_server_dialog.cc:120
+#: video_server_dialog.cc:159
msgid "Listen Address:"
msgstr ""
-#: video_server_dialog.cc:125
+#: video_server_dialog.cc:164
msgid "Listen Port:"
msgstr ""
-#: video_server_dialog.cc:130
+#: video_server_dialog.cc:169
msgid "Cache Size:"
msgstr ""
-#: video_server_dialog.cc:136
+#: video_server_dialog.cc:175
msgid ""
"%1 relies on an external video server for the videotimeline.\n"
"The server configured in Edit -> Preferences -> Video is not reachable.\n"
"Do you want %1 to launch 'harvid' on this machine?"
msgstr ""
-#: video_server_dialog.cc:176
+#: video_server_dialog.cc:215
msgid "Set Video Server Executable"
msgstr ""
-#: video_server_dialog.cc:196
+#: video_server_dialog.cc:235
msgid "Server docroot"
msgstr ""
@@ -12088,184 +12414,184 @@ msgstr ""
msgid "Cannot create video folder \"%1\" (%2)"
msgstr ""
-#: export_video_dialog.cc:65
+#: export_video_dialog.cc:66
msgid "Export Video File "
msgstr ""
-#: export_video_dialog.cc:69
+#: export_video_dialog.cc:70
msgid "Video:"
msgstr ""
-#: export_video_dialog.cc:73
+#: export_video_dialog.cc:74
msgid "Scale Video (W x H):"
msgstr ""
-#: export_video_dialog.cc:78
+#: export_video_dialog.cc:79
msgid "Set Aspect Ratio:"
msgstr ""
-#: export_video_dialog.cc:79
+#: export_video_dialog.cc:80
msgid "Normalize Audio"
msgstr ""
-#: export_video_dialog.cc:80
+#: export_video_dialog.cc:81
msgid "2 Pass Encoding"
msgstr ""
-#: export_video_dialog.cc:81
+#: export_video_dialog.cc:82
msgid "Codec Optimizations:"
msgstr ""
-#: export_video_dialog.cc:83
+#: export_video_dialog.cc:84
msgid "Deinterlace"
msgstr ""
-#: export_video_dialog.cc:84
+#: export_video_dialog.cc:85
msgid "Use [2] B-frames (MPEG 2 or 4 only)"
msgstr ""
-#: export_video_dialog.cc:85
+#: export_video_dialog.cc:86
msgid "Override FPS (Default is to retain FPS from the input video file):"
msgstr ""
-#: export_video_dialog.cc:86
+#: export_video_dialog.cc:87
msgid "Include Session Metadata"
msgstr ""
-#: export_video_dialog.cc:106
+#: export_video_dialog.cc:107
msgid ""
"No ffprobe or ffmpeg executables could be found on this system. Video Export "
"is not possible until you install those tools. See the Log window for more "
"information."
msgstr ""
-#: export_video_dialog.cc:116
+#: export_video_dialog.cc:117
msgid "<b>Output:</b>"
msgstr ""
-#: export_video_dialog.cc:126
+#: export_video_dialog.cc:127
msgid "<b>Input:</b>"
msgstr ""
-#: export_video_dialog.cc:137
+#: export_video_dialog.cc:138
msgid "Audio:"
msgstr ""
-#: export_video_dialog.cc:139
+#: export_video_dialog.cc:140
msgid "Master Bus"
msgstr ""
-#: export_video_dialog.cc:144
+#: export_video_dialog.cc:145
msgid "from the %1 session's start to the session's end"
msgstr ""
-#: export_video_dialog.cc:148
+#: export_video_dialog.cc:149
msgid "from 00:00:00:00 to the video's end"
msgstr ""
-#: export_video_dialog.cc:150
+#: export_video_dialog.cc:151
msgid "from the video's start to the video's end"
msgstr ""
-#: export_video_dialog.cc:153
+#: export_video_dialog.cc:154
msgid "Selected range"
msgstr ""
-#: export_video_dialog.cc:193
+#: export_video_dialog.cc:194
msgid "<b>Settings:</b>"
msgstr ""
-#: export_video_dialog.cc:201
+#: export_video_dialog.cc:202
msgid "Range:"
msgstr ""
-#: export_video_dialog.cc:204
+#: export_video_dialog.cc:205
msgid "Preset:"
msgstr ""
-#: export_video_dialog.cc:207
+#: export_video_dialog.cc:208
msgid "Video Codec:"
msgstr ""
-#: export_video_dialog.cc:210
+#: export_video_dialog.cc:211
msgid "Video KBit/s:"
msgstr ""
-#: export_video_dialog.cc:213
+#: export_video_dialog.cc:214
msgid "Audio Codec:"
msgstr ""
-#: export_video_dialog.cc:216
+#: export_video_dialog.cc:217
msgid "Audio KBit/s:"
msgstr ""
-#: export_video_dialog.cc:219
+#: export_video_dialog.cc:220
msgid "Audio Samplerate:"
msgstr ""
-#: export_video_dialog.cc:395
+#: export_video_dialog.cc:396
msgid "Normalizing audio"
msgstr ""
-#: export_video_dialog.cc:399
+#: export_video_dialog.cc:400
msgid "Exporting audio"
msgstr ""
-#: export_video_dialog.cc:445
+#: export_video_dialog.cc:446
msgid "Exporting Audio..."
msgstr ""
-#: export_video_dialog.cc:502
+#: export_video_dialog.cc:503
msgid ""
"Export Video: Cannot query duration of video-file, using duration from "
"timeline instead."
msgstr ""
-#: export_video_dialog.cc:532
+#: export_video_dialog.cc:533
msgid "Export Video: export-range does not include video."
msgstr ""
-#: export_video_dialog.cc:544
+#: export_video_dialog.cc:545
msgid "Export Video: No Master Out Ports to Connect for Audio Export"
msgstr ""
-#: export_video_dialog.cc:583
+#: export_video_dialog.cc:585
msgid "Encoding Video..."
msgstr ""
-#: export_video_dialog.cc:602
+#: export_video_dialog.cc:604
msgid "Export Video: Video input file cannot be read."
msgstr ""
-#: export_video_dialog.cc:695
+#: export_video_dialog.cc:698
msgid "Encoding Video.. Pass 1/2"
msgstr ""
-#: export_video_dialog.cc:707
+#: export_video_dialog.cc:710
msgid "Encoding Video.. Pass 2/2"
msgstr ""
-#: export_video_dialog.cc:814
+#: export_video_dialog.cc:813
msgid "Transcoding failed."
msgstr ""
-#: export_video_dialog.cc:983 export_video_dialog.cc:1003
+#: export_video_dialog.cc:982 export_video_dialog.cc:1002
msgid "Save Exported Video File"
msgstr ""
-#: export_video_infobox.cc:30
+#: export_video_infobox.cc:33
msgid "Video Export Info"
msgstr ""
-#: export_video_infobox.cc:31
+#: export_video_infobox.cc:34
msgid "Do Not Show This Dialog Again (Reset in Edit > Preferences > Video)."
msgstr ""
-#: export_video_infobox.cc:43
+#: export_video_infobox.cc:46
msgid "<b>Video Export Info</b>"
msgstr ""
-#: export_video_infobox.cc:48
+#: export_video_infobox.cc:51
msgid ""
"Video encoding is a non-trivial task with many details.\n"
"\n"
@@ -12274,6 +12600,140 @@ msgid ""
"Open Manual in Browser? "
msgstr ""
+#~ msgid "badly formatted UI definition file: %1"
+#~ msgstr "错误的用户界é¢æ ¼å¼æ–‡ä»¶ %1"
+
+#~ msgid ""
+#~ "There are insufficient JACK ports available\n"
+#~ "to create a new track or bus.\n"
+#~ "You should save %1, exit and\n"
+#~ "restart JACK with more ports."
+#~ msgstr ""
+#~ "JACK端å£(port)ä¸è¶³\n"
+#~ "无法继续新建音轨或总线\n"
+#~ "请ä¿å­˜ %1,é‡æ–°å¯åŠ¨JACK带æ¥æ›´å¤šçš„端å£.\n"
+
+#~ msgid "Timecode Frames"
+#~ msgstr "时间ç æ¡†æž¶"
+
+#~ msgid "Timecode Seconds"
+#~ msgstr "时间ç ç§’"
+
+#~ msgid "Timecode Minutes"
+#~ msgstr "时间ç åˆ†"
+
+#~ msgid "Slowest"
+#~ msgstr "最慢"
+
+#~ msgid "insert dragged region"
+#~ msgstr "æ’入拖拽区域"
+
+#~ msgid " objects"
+#~ msgstr "对象"
+
+#~ msgid "No edit range defined"
+#~ msgstr "没有定义的编辑范围"
+
+#~ msgid ""
+#~ "the edit point is Selected Marker\n"
+#~ "but there is no selected marker."
+#~ msgstr ""
+#~ "这个编辑点是已选择的标记,\n"
+#~ "但是没有已选择的标记."
+
+#~ msgid "Position of mark on the ruler"
+#~ msgstr "标尺的标记ä½ç½®"
+
+#~ msgid "Max Size"
+#~ msgstr "最大化尺寸"
+
+#~ msgid "Maximum size of the ruler"
+#~ msgstr "标尺的最大化尺寸"
+
+#~ msgid "Show Position"
+#~ msgstr "显示ä½ç½®"
+
+#~ msgid "Draw current ruler position"
+#~ msgstr "绘制当å‰æ ‡å°ºä½ç½®"
+
+#~ msgid "cannot open pango.rc file %1"
+#~ msgstr "无法打开pango.rc 文件 %1"
+
+#~ msgid "Missing File!"
+#~ msgstr "找ä¸åˆ°æ–‡ä»¶!"
+
+#~ msgid "auditioning"
+#~ msgstr "监å¬ä¸­"
+
+#~ msgid "mono"
+#~ msgstr "å•å£°é“"
+
+#~ msgid "Link selection of regions and tracks"
+#~ msgstr "链接所选的区域和音轨"
+
+#~ msgid "ardour"
+#~ msgstr "ardour"
+
+#~ msgid "x1"
+#~ msgstr "x1"
+
+#~ msgid "x coordinate of upper left corner of rect"
+#~ msgstr "x与矩形的左上角相关"
+
+#~ msgid "y1"
+#~ msgstr "y1"
+
+#~ msgid "y coordinate of upper left corner of rect "
+#~ msgstr "y与矩形的å³ä¸‹è§’相关"
+
+#~ msgid "x2"
+#~ msgstr "x1"
+
+#~ msgid "x coordinate of lower right corner of rect"
+#~ msgstr "x与矩形的å³ä¸‹è§’相关"
+
+#~ msgid "y coordinate of lower right corner of rect "
+#~ msgstr "y与矩形的å³ä¸‹è§’相关"
+
+#~ msgid "color rgba"
+#~ msgstr "RGBA颜色"
+
+#~ msgid "color of line"
+#~ msgstr "线æ¡é¢œè‰²"
+
+#~ msgid "outline pixels"
+#~ msgstr "轮廓åƒç´ "
+
+#~ msgid "width in pixels of outline"
+#~ msgstr "轮廓的åƒç´ å®½åº¦"
+
+#~ msgid "fill"
+#~ msgstr "å¡«å……"
+
+#~ msgid "fill rectangle"
+#~ msgstr "填充矩形"
+
+#~ msgid "draw"
+#~ msgstr "绘制"
+
+#~ msgid "draw rectangle"
+#~ msgstr "绘制矩形"
+
+#~ msgid "outline color rgba"
+#~ msgstr "RGBA轮廓颜色"
+
+#~ msgid "color of outline"
+#~ msgstr "è½æ‹¬çš„颜色"
+
+#~ msgid "fill color rgba"
+#~ msgstr "填充RGBA颜色"
+
+#~ msgid "color of fill"
+#~ msgstr "填充的颜色"
+
+#~ msgid "Auditioning of MIDI files is not yet supported"
+#~ msgstr "æš‚ä¸æ”¯æŒç›‘å¬MIDI文件"
+
#~ msgid "Starting audio engine"
#~ msgstr "å¯åŠ¨éŸ³é¢‘引擎"
@@ -12415,9 +12875,6 @@ msgstr ""
#~ msgid "Output device:"
#~ msgstr "输出设备:"
-#~ msgid "Device"
-#~ msgstr "设备"
-
#~ msgid "Advanced"
#~ msgstr "高级"
diff --git a/gtk2_ardour/port_insert_ui.cc b/gtk2_ardour/port_insert_ui.cc
index 2a982eabc1..a742740e5a 100644
--- a/gtk2_ardour/port_insert_ui.cc
+++ b/gtk2_ardour/port_insert_ui.cc
@@ -28,7 +28,6 @@
#include "ardour/session.h"
#include "port_insert_ui.h"
-#include "utils.h"
#include "gui_thread.h"
#include "i18n.h"
diff --git a/gtk2_ardour/port_matrix.cc b/gtk2_ardour/port_matrix.cc
index 35e9a5cbd3..aa1c853ed8 100644
--- a/gtk2_ardour/port_matrix.cc
+++ b/gtk2_ardour/port_matrix.cc
@@ -43,6 +43,7 @@
using namespace std;
using namespace Gtk;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
/** PortMatrix constructor.
* @param session Our session.
@@ -527,7 +528,7 @@ PortMatrix::popup_menu (BundleChannel column, BundleChannel row, uint32_t t)
items.push_back (MenuElem (_("Rescan"), sigc::mem_fun (*this, &PortMatrix::setup_all_ports)));
items.push_back (CheckMenuElem (_("Show individual ports"), sigc::mem_fun (*this, &PortMatrix::toggle_show_only_bundles)));
- CheckMenuItem* i = dynamic_cast<CheckMenuItem*> (&items.back());
+ Gtk::CheckMenuItem* i = dynamic_cast<Gtk::CheckMenuItem*> (&items.back());
_inhibit_toggle_show_only_bundles = true;
i->set_active (!_show_only_bundles);
_inhibit_toggle_show_only_bundles = false;
diff --git a/gtk2_ardour/port_matrix_column_labels.cc b/gtk2_ardour/port_matrix_column_labels.cc
index 1f5a21feec..8e18dbea7a 100644
--- a/gtk2_ardour/port_matrix_column_labels.cc
+++ b/gtk2_ardour/port_matrix_column_labels.cc
@@ -23,7 +23,6 @@
#include "port_matrix_column_labels.h"
#include "port_matrix.h"
#include "port_matrix_body.h"
-#include "utils.h"
#include "i18n.h"
diff --git a/gtk2_ardour/port_matrix_row_labels.cc b/gtk2_ardour/port_matrix_row_labels.cc
index de921a6cb7..998a234bf3 100644
--- a/gtk2_ardour/port_matrix_row_labels.cc
+++ b/gtk2_ardour/port_matrix_row_labels.cc
@@ -26,7 +26,6 @@
#include "port_matrix.h"
#include "port_matrix_body.h"
#include "i18n.h"
-#include "utils.h"
using namespace std;
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc
index cb72162773..12ae5af4bc 100644
--- a/gtk2_ardour/processor_box.cc
+++ b/gtk2_ardour/processor_box.cc
@@ -21,6 +21,10 @@
#include "gtk2ardour-config.h"
#endif
+#ifdef COMPILER_MSVC
+#define rintf(x) round((x) + 0.5)
+#endif
+
#include <cmath>
#include <iostream>
#include <set>
@@ -47,6 +51,7 @@
#include "ardour/internal_send.h"
#include "ardour/panner_shell.h"
#include "ardour/plugin_insert.h"
+#include "ardour/pannable.h"
#include "ardour/port_insert.h"
#include "ardour/profile.h"
#include "ardour/return.h"
@@ -71,7 +76,6 @@
#include "return_ui.h"
#include "route_processor_selection.h"
#include "send_ui.h"
-#include "utils.h"
#include "i18n.h"
@@ -99,6 +103,8 @@ static const uint32_t midi_port_color = 0x960909FF; //Red
ProcessorEntry::ProcessorEntry (ProcessorBox* parent, boost::shared_ptr<Processor> p, Width w)
: _button (ArdourButton::led_default_elements)
, _position (PreFader)
+ , _position_num(0)
+ , _selectable(true)
, _parent (parent)
, _processor (p)
, _width (w)
@@ -108,8 +114,8 @@ ProcessorEntry::ProcessorEntry (ProcessorBox* parent, boost::shared_ptr<Processo
{
_vbox.show ();
- _button.set_diameter (3);
_button.set_distinct_led_click (true);
+ _button.set_fallthrough_to_parent(true);
_button.set_led_left (true);
_button.signal_led_clicked.connect (sigc::mem_fun (*this, &ProcessorEntry::led_clicked));
_button.set_text (name (_width));
@@ -441,7 +447,7 @@ ProcessorEntry::build_controls_menu ()
for (list<Control*>::iterator i = _controls.begin(); i != _controls.end(); ++i) {
items.push_back (CheckMenuElem ((*i)->name ()));
- CheckMenuItem* c = dynamic_cast<CheckMenuItem*> (&items.back ());
+ Gtk::CheckMenuItem* c = dynamic_cast<Gtk::CheckMenuItem*> (&items.back ());
c->set_active ((*i)->visible ());
c->signal_toggled().connect (sigc::bind (sigc::mem_fun (*this, &ProcessorEntry::toggle_control_visibility), *i));
}
@@ -467,7 +473,7 @@ ProcessorEntry::build_send_options_menu ()
if (send) {
items.push_back (CheckMenuElem (_("Link panner controls")));
- CheckMenuItem* c = dynamic_cast<CheckMenuItem*> (&items.back ());
+ Gtk::CheckMenuItem* c = dynamic_cast<Gtk::CheckMenuItem*> (&items.back ());
c->set_active (send->panner_shell()->is_linked_to_route());
c->signal_toggled().connect (sigc::mem_fun (*this, &ProcessorEntry::toggle_panner_link));
@@ -487,7 +493,7 @@ ProcessorEntry::toggle_panner_link ()
ProcessorEntry::Control::Control (boost::shared_ptr<AutomationControl> c, string const & n)
: _control (c)
, _adjustment (gain_to_slider_position_with_max (1.0, Config->get_max_gain()), 0, 1, 0.01, 0.1)
- , _slider (&_adjustment, 0, 13, false)
+ , _slider (&_adjustment, 0, 13)
, _slider_persistant_tooltip (&_slider)
, _button (ArdourButton::led_default_elements)
, _ignore_ui_adjustment (false)
@@ -516,14 +522,14 @@ ProcessorEntry::Control::Control (boost::shared_ptr<AutomationControl> c, string
box.add (_slider);
_slider.show ();
- double const lo = c->internal_to_interface (c->lower ());
- double const up = c->internal_to_interface (c->upper ());
+ double const lo = c->lower ();
+ double const up = c->upper ();
_adjustment.set_lower (lo);
_adjustment.set_upper (up);
_adjustment.set_step_increment ((up - lo) / 100);
_adjustment.set_page_increment ((up - lo) / 10);
- _slider.set_default_value (c->internal_to_interface (c->normal ()));
+ _slider.set_default_value (c->normal ());
_adjustment.signal_value_changed().connect (sigc::mem_fun (*this, &Control::slider_adjusted));
c->Changed.connect (_connection, MISSING_INVALIDATOR, boost::bind (&Control::control_changed, this), gui_context ());
@@ -575,7 +581,7 @@ ProcessorEntry::Control::slider_adjusted ()
return;
}
- c->set_value (c->interface_to_internal (_adjustment.get_value ()));
+ c->set_value ( _adjustment.get_value () );
set_tooltip ();
}
@@ -611,7 +617,7 @@ ProcessorEntry::Control::control_changed ()
} else {
- _adjustment.set_value (c->internal_to_interface (c->get_value ()));
+ _adjustment.set_value (c->get_value ());
stringstream s;
s.precision (1);
@@ -1191,14 +1197,14 @@ ProcessorBox::leave_notify (GdkEventCrossing*)
return false;
}
-void
+bool
ProcessorBox::processor_operation (ProcessorOperation op)
{
ProcSelection targets;
get_selected_processors (targets);
- if (targets.empty()) {
+/* if (targets.empty()) {
int x, y;
processor_display.get_pointer (x, y);
@@ -1209,12 +1215,20 @@ ProcessorBox::processor_operation (ProcessorOperation op)
targets.push_back (pointer.first->processor ());
}
}
+*/
+ if ( (op == ProcessorsDelete) && targets.empty() )
+ return false; //nothing to delete. return false so the editor-mixer, because the user was probably intending to delete something in the editor
+
switch (op) {
case ProcessorsSelectAll:
processor_display.select_all ();
break;
+ case ProcessorsSelectNone:
+ processor_display.select_none ();
+ break;
+
case ProcessorsCopy:
copy_processors (targets);
break;
@@ -1252,6 +1266,8 @@ ProcessorBox::processor_operation (ProcessorOperation op)
default:
break;
}
+
+ return true;
}
ProcessorWindowProxy*
@@ -1297,6 +1313,12 @@ ProcessorBox::processor_button_press_event (GdkEventButton *ev, ProcessorEntry*
ret = true;
+ } else if (Keyboard::is_context_menu_event (ev)) {
+
+ show_processor_menu (ev->time);
+
+ ret = true;
+
} else if (processor && ev->button == 1 && selected) {
// this is purely informational but necessary for route params UI
@@ -1325,10 +1347,6 @@ ProcessorBox::processor_button_release_event (GdkEventButton *ev, ProcessorEntry
sigc::mem_fun(*this, &ProcessorBox::idle_delete_processor),
boost::weak_ptr<Processor>(processor)));
- } else if (Keyboard::is_context_menu_event (ev)) {
-
- show_processor_menu (ev->time);
-
} else if (processor && Keyboard::is_button2_event (ev)
#ifndef GTKOSX
&& (Keyboard::no_modifier_keys_pressed (ev) && ((ev->state & Gdk::BUTTON2_MASK) == Gdk::BUTTON2_MASK))
@@ -1454,7 +1472,8 @@ ProcessorBox::choose_insert ()
void
ProcessorBox::choose_send ()
{
- boost::shared_ptr<Send> send (new Send (*_session, _route->pannable(), _route->mute_master()));
+ boost::shared_ptr<Pannable> sendpan(new Pannable (*_session));
+ boost::shared_ptr<Send> send (new Send (*_session, sendpan, _route->mute_master()));
/* make an educated guess at the initial number of outputs for the send */
ChanCount outs = (_session->master_out())
@@ -1738,6 +1757,7 @@ ProcessorBox::add_processor_to_display (boost::weak_ptr<Processor> p)
}
boost::shared_ptr<PluginInsert> plugin_insert = boost::dynamic_pointer_cast<PluginInsert> (processor);
+
ProcessorEntry* e = 0;
if (plugin_insert) {
e = new PluginInsertProcessorEntry (this, plugin_insert, _width);
@@ -1745,6 +1765,13 @@ ProcessorBox::add_processor_to_display (boost::weak_ptr<Processor> p)
e = new ProcessorEntry (this, processor, _width);
}
+ boost::shared_ptr<Send> send = boost::dynamic_pointer_cast<Send> (processor);
+ boost::shared_ptr<PortInsert> ext = boost::dynamic_pointer_cast<PortInsert> (processor);
+
+ //faders and meters are not deletable, copy/paste-able, so they shouldn't be selectable
+ if (!send && !plugin_insert && !ext)
+ e->set_selectable(false);
+
/* Set up this entry's state from the GUIObjectState */
XMLNode* proc = entry_gui_object_state (e);
if (proc) {
@@ -2103,9 +2130,10 @@ ProcessorBox::paste_processor_state (const XMLNodeList& nlist, boost::shared_ptr
continue;
}
+ boost::shared_ptr<Pannable> sendpan(new Pannable (*_session));
XMLNode n (**niter);
- InternalSend* s = new InternalSend (*_session, _route->pannable(), _route->mute_master(),
- boost::shared_ptr<Route>(), Delivery::Aux);
+ InternalSend* s = new InternalSend (*_session, sendpan, _route->mute_master(),
+ _route, boost::shared_ptr<Route>(), Delivery::Aux);
IOProcessor::prepare_for_reset (n, s->name());
@@ -2118,7 +2146,9 @@ ProcessorBox::paste_processor_state (const XMLNodeList& nlist, boost::shared_ptr
} else if (type->value() == "send") {
+ boost::shared_ptr<Pannable> sendpan(new Pannable (*_session));
XMLNode n (**niter);
+
Send* s = new Send (*_session, _route->pannable(), _route->mute_master());
IOProcessor::prepare_for_reset (n, s->name());
diff --git a/gtk2_ardour/processor_box.h b/gtk2_ardour/processor_box.h
index 021e557d36..8caee04006 100644
--- a/gtk2_ardour/processor_box.h
+++ b/gtk2_ardour/processor_box.h
@@ -119,6 +119,9 @@ public:
std::string drag_text () const;
void set_visual_state (Gtkmm2ext::VisualState, bool);
+ bool is_selectable() const {return _selectable;}
+ void set_selectable(bool s) { _selectable = s; }
+
enum Position {
PreFader,
Fader,
@@ -149,6 +152,7 @@ protected:
virtual void setup_visuals ();
private:
+ bool _selectable;
void led_clicked();
void processor_active_changed ();
void processor_property_changed (const PBD::PropertyChange&);
@@ -269,6 +273,7 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject, public ARD
ProcessorsPaste,
ProcessorsDelete,
ProcessorsSelectAll,
+ ProcessorsSelectNone,
ProcessorsToggleActive,
ProcessorsAB,
};
@@ -280,7 +285,7 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject, public ARD
void set_route (boost::shared_ptr<ARDOUR::Route>);
void set_width (Width);
- void processor_operation (ProcessorOperation);
+ bool processor_operation (ProcessorOperation);
void select_all_processors ();
void deselect_all_processors ();
diff --git a/gtk2_ardour/public_editor.cc b/gtk2_ardour/public_editor.cc
index 6c5d528e1e..e88f273c87 100644
--- a/gtk2_ardour/public_editor.cc
+++ b/gtk2_ardour/public_editor.cc
@@ -31,6 +31,7 @@ sigc::signal<void> PublicEditor::DropDownKeys;
PublicEditor::PublicEditor ()
: Window (Gtk::WINDOW_TOPLEVEL)
, VisibilityTracker (*((Gtk::Window*)this))
+ , _suspend_route_redisplay_counter (0)
{
}
diff --git a/gtk2_ardour/public_editor.h b/gtk2_ardour/public_editor.h
index cf497d88fb..4b3c83ffb1 100644
--- a/gtk2_ardour/public_editor.h
+++ b/gtk2_ardour/public_editor.h
@@ -32,17 +32,16 @@
#include <gtkmm/box.h>
#include <gtkmm/window.h>
#include <gtkmm/actiongroup.h>
-#include <jack/types.h>
#include <sigc++/signal.h>
#include "evoral/types.hpp"
#include "pbd/statefuldestructible.h"
+#include "canvas/fwd.h"
#include "gtkmm2ext/visibility_tracker.h"
#include "editing.h"
-#include "canvas.h"
#include "selection.h"
namespace ARDOUR {
@@ -85,6 +84,13 @@ class VerboseCursor;
class XMLNode;
struct SelectionRect;
+class DisplaySuspender;
+
+namespace ARDOUR_UI_UTILS {
+bool relay_key_press (GdkEventKey* ev, Gtk::Window* win);
+bool forward_key_press (GdkEventKey* ev);
+}
+
using ARDOUR::framepos_t;
using ARDOUR::framecnt_t;
@@ -197,12 +203,9 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi
virtual void separate_region_from_selection () = 0;
virtual void transition_to_rolling (bool fwd) = 0;
- virtual framepos_t unit_to_frame (double unit) const = 0;
- virtual double frame_to_unit (framepos_t frame) const = 0;
- virtual double frame_to_unit (double frame) const = 0;
- virtual double frame_to_unit_unrounded (framepos_t frame) const = 0;
- virtual framepos_t pixel_to_frame (double pixel) const = 0;
- virtual gulong frame_to_pixel (framepos_t frame) const = 0;
+ virtual framepos_t pixel_to_sample (double pixel) const = 0;
+ virtual double sample_to_pixel (framepos_t frame) const = 0;
+ virtual double sample_to_pixel_unrounded (framepos_t frame) const = 0;
virtual Selection& get_selection () const = 0;
virtual Selection& get_cut_buffer () const = 0;
virtual void track_mixer_selection () = 0;
@@ -210,9 +213,11 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi
virtual void play_selection () = 0;
virtual void play_with_preroll () = 0;
virtual void maybe_locate_with_edit_preroll (framepos_t location) = 0;
+ virtual void goto_nth_marker (int nth) = 0;
+ virtual void add_location_from_playhead_cursor () = 0;
+ virtual void remove_location_at_playhead_cursor () = 0;
virtual void set_show_measures (bool yn) = 0;
virtual bool show_measures () const = 0;
- virtual bool redraw_measures () = 0;
virtual Editing::MouseMode effective_mouse_mode () const = 0;
@@ -233,10 +238,11 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi
virtual void export_range () = 0;
virtual void register_actions () = 0;
- virtual void add_toplevel_controls (Gtk::Container&) = 0;
+ virtual void add_transport_frame (Gtk::Container&) = 0;
+ virtual void add_toplevel_menu (Gtk::Container&) = 0;
virtual void set_zoom_focus (Editing::ZoomFocus) = 0;
virtual Editing::ZoomFocus get_zoom_focus () const = 0;
- virtual gdouble get_current_zoom () const = 0;
+ virtual framecnt_t get_current_zoom () const = 0;
virtual PlaylistSelector& playlist_selector() const = 0;
virtual void clear_playlist (boost::shared_ptr<ARDOUR::Playlist>) = 0;
virtual void new_playlists (TimeAxisView*) = 0;
@@ -267,13 +273,16 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi
virtual bool dragging_playhead () const = 0;
virtual void ensure_float (Gtk::Window&) = 0;
virtual void show_window () = 0;
- virtual framepos_t leftmost_position() const = 0;
- virtual framecnt_t current_page_frames() const = 0;
- virtual double canvas_height () const = 0;
+ virtual framepos_t leftmost_sample() const = 0;
+ virtual framecnt_t current_page_samples() const = 0;
+ virtual double visible_canvas_height () const = 0;
virtual void temporal_zoom_step (bool coarser) = 0;
- virtual void ensure_time_axis_view_is_visible (const TimeAxisView& tav) = 0;
+ virtual void ensure_time_axis_view_is_visible (TimeAxisView const & tav, bool at_top = false) = 0;
+ virtual void override_visible_track_count () = 0;
virtual void scroll_tracks_down_line () = 0;
virtual void scroll_tracks_up_line () = 0;
+ virtual bool scroll_down_one_track () = 0;
+ virtual bool scroll_up_one_track () = 0;
virtual void prepare_for_cleanup () = 0;
virtual void finish_cleanup () = 0;
virtual void reset_x_origin (framepos_t frame) = 0;
@@ -283,6 +292,7 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi
virtual void update_tearoff_visibility () = 0;
virtual framepos_t get_preferred_edit_position (bool ignore_playhead = false, bool from_context_menu = false) = 0;
virtual void toggle_meter_updating() = 0;
+ virtual void split_regions_at (framepos_t, RegionSelection&) = 0;
virtual void split_region_at_points (boost::shared_ptr<ARDOUR::Region>, ARDOUR::AnalysisFeatureList&, bool can_ferret, bool select_new = false) = 0;
virtual void mouse_add_new_marker (framepos_t where, bool is_cd=false, bool is_xrun=false) = 0;
virtual void foreach_time_axis_view (sigc::slot<void,TimeAxisView&>) = 0;
@@ -307,8 +317,6 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi
virtual void get_equivalent_regions (RegionView* rv, std::vector<RegionView*>&, PBD::PropertyID) const = 0;
sigc::signal<void> ZoomChanged;
- /** Emitted when the horizontal position of the editor view changes */
- sigc::signal<void> HorizontalPositionChanged;
sigc::signal<void> Realized;
sigc::signal<void,framepos_t> UpdateAllTransportClocks;
@@ -320,6 +328,7 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi
virtual void reset_focus () = 0;
+ virtual bool canvas_scroll_event (GdkEventScroll* event, bool from_canvas) = 0;
virtual bool canvas_control_point_event (GdkEvent* event, ArdourCanvas::Item*, ControlPoint*) = 0;
virtual bool canvas_line_event (GdkEvent* event, ArdourCanvas::Item*, AutomationLine*) = 0;
virtual bool canvas_selection_rect_event (GdkEvent* event, ArdourCanvas::Item*, SelectionRect*) = 0;
@@ -328,10 +337,11 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi
virtual bool canvas_start_xfade_event (GdkEvent* event, ArdourCanvas::Item*, AudioRegionView*) = 0;
virtual bool canvas_end_xfade_event (GdkEvent* event, ArdourCanvas::Item*, AudioRegionView*) = 0;
virtual bool canvas_fade_in_event (GdkEvent* event, ArdourCanvas::Item*, AudioRegionView*) = 0;
- virtual bool canvas_fade_in_handle_event (GdkEvent* event, ArdourCanvas::Item*, AudioRegionView*) = 0;
+ virtual bool canvas_fade_in_handle_event (GdkEvent* event, ArdourCanvas::Item*, AudioRegionView*, bool) = 0;
virtual bool canvas_fade_out_event (GdkEvent* event, ArdourCanvas::Item*, AudioRegionView*) = 0;
- virtual bool canvas_fade_out_handle_event (GdkEvent* event, ArdourCanvas::Item*, AudioRegionView*) = 0;
+ virtual bool canvas_fade_out_handle_event (GdkEvent* event, ArdourCanvas::Item*, AudioRegionView*, bool) = 0;
virtual bool canvas_region_view_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
+ virtual bool canvas_wave_view_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
virtual bool canvas_frame_handle_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
virtual bool canvas_region_view_name_highlight_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
virtual bool canvas_region_view_name_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
@@ -365,10 +375,12 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi
virtual Gtk::HBox& get_status_bar_packer() = 0;
#endif
- virtual gdouble get_trackview_group_vertical_offset () const = 0;
- virtual double get_canvas_timebars_vsize () const = 0;
- virtual ArdourCanvas::Group* get_trackview_group () const = 0;
- virtual ArdourCanvas::Group* get_background_group () const = 0;
+ virtual ArdourCanvas::Container* get_trackview_group () const = 0;
+ virtual ArdourCanvas::ScrollGroup* get_hscroll_group () const = 0;
+ virtual ArdourCanvas::ScrollGroup* get_vscroll_group () const = 0;
+ virtual ArdourCanvas::ScrollGroup* get_hvscroll_group () const = 0;
+
+ virtual ArdourCanvas::GtkCanvasViewport* get_track_canvas() const = 0;
virtual TimeAxisView* axis_view_from_route (boost::shared_ptr<ARDOUR::Route>) const = 0;
@@ -384,8 +396,9 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi
virtual Gtkmm2ext::TearOff* tools_tearoff () const = 0;
virtual DragManager* drags () const = 0;
- virtual void maybe_autoscroll (bool, bool, bool, bool) = 0;
+ virtual void maybe_autoscroll (bool, bool, bool from_headers) = 0;
virtual void stop_canvas_autoscroll () = 0;
+ virtual bool autoscroll_active() const = 0;
virtual MouseCursors const * cursors () const = 0;
virtual VerboseCursor * verbose_cursor () const = 0;
@@ -400,16 +413,37 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi
virtual void snap_to_with_modifier (framepos_t &, GdkEvent const *, int32_t direction = 0, bool for_mark = false) = 0;
virtual void get_regions_at (RegionSelection &, framepos_t where, TrackViewList const &) const = 0;
+ virtual RegionSelection get_regions_from_selection_and_mouse (framepos_t) = 0;
/// Singleton instance, set up by Editor::Editor()
static PublicEditor* _instance;
- friend bool relay_key_press (GdkEventKey*, Gtk::Window*);
- friend bool forward_key_press (GdkEventKey*);
+ friend bool ARDOUR_UI_UTILS::relay_key_press (GdkEventKey*, Gtk::Window*);
+ friend bool ARDOUR_UI_UTILS::forward_key_press (GdkEventKey*);
PBD::Signal0<void> SnapChanged;
PBD::Signal0<void> MouseModeChanged;
+
+ protected:
+ friend class DisplaySuspender;
+ virtual void suspend_route_redisplay () = 0;
+ virtual void resume_route_redisplay () = 0;
+ gint _suspend_route_redisplay_counter;
+};
+
+class DisplaySuspender {
+ public:
+ DisplaySuspender() {
+ if (g_atomic_int_add(&PublicEditor::instance()._suspend_route_redisplay_counter, 1) == 0) {
+ PublicEditor::instance().suspend_route_redisplay ();
+ }
+ }
+ ~DisplaySuspender () {
+ if (g_atomic_int_dec_and_test (&PublicEditor::instance()._suspend_route_redisplay_counter)) {
+ PublicEditor::instance().resume_route_redisplay ();
+ }
+ }
};
#endif // __gtk_ardour_public_editor_h__
diff --git a/gtk2_ardour/quantize_dialog.cc b/gtk2_ardour/quantize_dialog.cc
index 623a5d8033..98514326d5 100644
--- a/gtk2_ardour/quantize_dialog.cc
+++ b/gtk2_ardour/quantize_dialog.cc
@@ -57,7 +57,7 @@ QuantizeDialog::QuantizeDialog (PublicEditor& e)
, swing_adjustment (100.0, -130.0, 130.0, 1.0, 10.0)
, swing_spinner (swing_adjustment)
, swing_button (_("Swing"))
- , threshold_adjustment (0.0, -1920.0, 1920.0, 1.0, 10.0) // XXX MAGIC TICK NUMBER FIX ME
+ , threshold_adjustment (0.0, -Timecode::BBT_Time::ticks_per_beat, Timecode::BBT_Time::ticks_per_beat, 1.0, 10.0)
, threshold_spinner (threshold_adjustment)
, threshold_label (_("Threshold (ticks)"))
, snap_start_button (_("Snap note start"))
diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc
index fc69782757..a4d2b5dee2 100644
--- a/gtk2_ardour/rc_option_editor.cc
+++ b/gtk2_ardour/rc_option_editor.cc
@@ -21,12 +21,16 @@
#include "gtk2ardour-config.h"
#endif
+#include <boost/algorithm/string.hpp>
+
#include <gtkmm/liststore.h>
#include <gtkmm/stock.h>
#include <gtkmm/scale.h>
+
#include <gtkmm2ext/utils.h>
#include <gtkmm2ext/slider_controller.h>
#include <gtkmm2ext/gtk_ui.h>
+#include <gtkmm2ext/paths_dialog.h>
#include "pbd/fpu.h"
#include "pbd/cpus.h"
@@ -38,6 +42,9 @@
#include "ardour/plugin_manager.h"
#include "control_protocol/control_protocol.h"
+#include "canvas/wave_view.h"
+
+#include "ardour_ui.h"
#include "ardour_window.h"
#include "ardour_dialog.h"
#include "gui_thread.h"
@@ -54,6 +61,7 @@ using namespace Gtk;
using namespace Gtkmm2ext;
using namespace PBD;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
class ClickOptions : public OptionEditorBox
{
@@ -528,7 +536,7 @@ public:
_dpi_adjustment (50, 50, 250, 1, 10),
_dpi_slider (_dpi_adjustment)
{
- _dpi_adjustment.set_value (floor (_rc_config->get_font_scale () / 1024));
+ _dpi_adjustment.set_value (floor ((double)(_rc_config->get_font_scale () / 1024)));
Label* l = manage (new Label (_("Font scaling:")));
l->set_name ("OptionsLabel");
@@ -547,7 +555,7 @@ public:
void parameter_changed (string const & p)
{
if (p == "font-scale") {
- _dpi_adjustment.set_value (floor (_rc_config->get_font_scale() / 1024));
+ _dpi_adjustment.set_value (floor ((double)(_rc_config->get_font_scale() / 1024)));
}
}
@@ -570,6 +578,56 @@ private:
HScale _dpi_slider;
};
+class ClipLevelOptions : public OptionEditorBox
+{
+public:
+ ClipLevelOptions (RCConfiguration* c)
+ : _rc_config (c)
+ , _clip_level_adjustment (-.5, -50.0, 0.0, 0.1, 1.0) /* units of dB */
+ , _clip_level_slider (_clip_level_adjustment)
+ {
+ _clip_level_adjustment.set_value (_rc_config->get_waveform_clip_level ());
+
+ Label* l = manage (new Label (_("Waveform Clip Level (dBFS):")));
+ l->set_name ("OptionsLabel");
+
+ _clip_level_slider.set_update_policy (UPDATE_DISCONTINUOUS);
+ HBox* h = manage (new HBox);
+ h->set_spacing (4);
+ h->pack_start (*l, false, false);
+ h->pack_start (_clip_level_slider, true, true);
+
+ _box->pack_start (*h, false, false);
+
+ _clip_level_adjustment.signal_value_changed().connect (sigc::mem_fun (*this, &ClipLevelOptions::clip_level_changed));
+ }
+
+ void parameter_changed (string const & p)
+ {
+ if (p == "waveform-clip-level") {
+ _clip_level_adjustment.set_value (_rc_config->get_waveform_clip_level());
+ }
+ }
+
+ void set_state_from_config ()
+ {
+ parameter_changed ("waveform-clip-level");
+ }
+
+private:
+
+ void clip_level_changed ()
+ {
+ _rc_config->set_waveform_clip_level (_clip_level_adjustment.get_value());
+ /* XXX: should be triggered from the parameter changed signal */
+ ArdourCanvas::WaveView::set_clip_level (_clip_level_adjustment.get_value());
+ }
+
+ RCConfiguration* _rc_config;
+ Adjustment _clip_level_adjustment;
+ HScale _clip_level_slider;
+};
+
class BufferingOptions : public OptionEditorBox
{
public:
@@ -737,17 +795,7 @@ private:
if (!was_enabled) {
ControlProtocolManager::instance().activate (*cpi);
} else {
- Gtk::Window* win = r[_model.editor];
- if (win) {
- win->hide ();
- }
-
ControlProtocolManager::instance().deactivate (*cpi);
-
- if (win) {
- delete win;
- r[_model.editor] = 0;
- }
}
}
@@ -759,8 +807,8 @@ private:
}
}
- void edit_clicked (GdkEventButton* ev)
- {
+ void edit_clicked (GdkEventButton* ev)
+ {
if (ev->type != GDK_2BUTTON_PRESS) {
return;
}
@@ -770,26 +818,32 @@ private:
TreeModel::Row row;
row = *(_view.get_selection()->get_selected());
-
- Window* win = row[_model.editor];
- if (win && !win->is_visible()) {
- win->present ();
- } else {
- cpi = row[_model.protocol_info];
-
- if (cpi && cpi->protocol && cpi->protocol->has_editor ()) {
- Box* box = (Box*) cpi->protocol->get_gui ();
- if (box) {
- string title = row[_model.name];
- ArdourWindow* win = new ArdourWindow (_parent, title);
- win->set_title ("Control Protocol Options");
- win->add (*box);
- box->show ();
- win->present ();
- row[_model.editor] = win;
- }
- }
+ if (!row[_model.enabled]) {
+ return;
+ }
+ cpi = row[_model.protocol_info];
+ if (!cpi || !cpi->protocol || !cpi->protocol->has_editor ()) {
+ return;
+ }
+ Box* box = (Box*) cpi->protocol->get_gui ();
+ if (!box) {
+ return;
+ }
+ if (box->get_parent()) {
+ static_cast<ArdourWindow*>(box->get_parent())->present();
+ return;
}
+ string title = row[_model.name];
+ /* once created, the window is managed by the surface itself (as ->get_parent())
+ * Surface's tear_down_gui() is called on session close, when de-activating
+ * or re-initializing a surface.
+ * tear_down_gui() hides an deletes the Window if it exists.
+ */
+ ArdourWindow* win = new ArdourWindow (_parent, title);
+ win->set_title ("Control Protocol Options");
+ win->add (*box);
+ box->show ();
+ win->present ();
}
class ControlSurfacesModelColumns : public TreeModelColumnRecord
@@ -802,14 +856,12 @@ private:
add (enabled);
add (feedback);
add (protocol_info);
- add (editor);
}
TreeModelColumn<string> name;
TreeModelColumn<bool> enabled;
TreeModelColumn<bool> feedback;
TreeModelColumn<ControlProtocolInfo*> protocol_info;
- TreeModelColumn<Gtk::Window*> editor;
};
Glib::RefPtr<ListStore> _store;
@@ -938,6 +990,175 @@ private:
CheckButton _video_advanced_setup_button;
};
+class PluginOptions : public OptionEditorBox
+{
+public:
+ PluginOptions (RCConfiguration* c)
+ : _rc_config (c)
+ , _display_plugin_scan_progress (_("Always Display Plugin Scan Progress"))
+ , _discover_vst_on_start (_("Scan for new VST Plugins on Application Start"))
+ , _timeout_adjustment (0, 0, 3000, 50, 50)
+ , _timeout_slider (_timeout_adjustment)
+ {
+ Label *l;
+ std::stringstream ss;
+ Table* t = manage (new Table (2, 6));
+ t->set_spacings (4);
+ Button* b;
+ int n = 0;
+
+ ss << "<b>" << _("General") << "</b>";
+ l = manage (left_aligned_label (ss.str()));
+ l->set_use_markup (true);
+ t->attach (*manage (new Label ("")), 0, 3, n, n+1, FILL | EXPAND); ++n;
+ t->attach (*l, 0, 2, n, n+1, FILL | EXPAND); ++n;
+
+ b = manage (new Button (_("Scan for Plugins")));
+ b->signal_clicked().connect (sigc::mem_fun (*this, &PluginOptions::refresh_clicked));
+ t->attach (*b, 0, 2, n, n+1, FILL); ++n;
+
+ t->attach (_display_plugin_scan_progress, 0, 2, n, n+1); ++n;
+ _display_plugin_scan_progress.signal_toggled().connect (sigc::mem_fun (*this, &PluginOptions::display_plugin_scan_progress_toggled));
+ Gtkmm2ext::UI::instance()->set_tip (_display_plugin_scan_progress,
+ _("<b>When enabled</b> a popup window showing plugin scan progress is displayed for indexing (cache load) and discovery (detect new plugins)"));
+
+ _timeout_slider.set_digits (0);
+ _timeout_adjustment.signal_value_changed().connect (sigc::mem_fun (*this, &PluginOptions::timeout_changed));
+
+ Gtkmm2ext::UI::instance()->set_tip(_timeout_slider,
+ _("Specify the default timeout for plugin instantiation in 1/10 seconds. Plugins that require more time to load will be blacklisted. A value of 0 disables the timeout."));
+
+ l = manage (left_aligned_label (_("Scan Time Out [deciseconds]")));;
+ HBox* h = manage (new HBox);
+ h->set_spacing (4);
+ h->pack_start (*l, false, false);
+ h->pack_start (_timeout_slider, true, true);
+ t->attach (*h, 0, 2, n, n+1); ++n;
+
+ ss.str("");
+ ss << "<b>" << _("VST") << "</b>";
+ l = manage (left_aligned_label (ss.str()));
+ l->set_use_markup (true);
+ t->attach (*manage (new Label ("")), 0, 3, n, n+1, FILL | EXPAND); ++n;
+ t->attach (*l, 0, 2, n, n+1, FILL | EXPAND); ++n;
+
+ b = manage (new Button (_("Clear VST Cache")));
+ b->signal_clicked().connect (sigc::mem_fun (*this, &PluginOptions::clear_vst_cache_clicked));
+ t->attach (*b, 0, 1, n, n+1, FILL);
+
+ b = manage (new Button (_("Clear VST Blacklist")));
+ b->signal_clicked().connect (sigc::mem_fun (*this, &PluginOptions::clear_vst_blacklist_clicked));
+ t->attach (*b, 1, 2, n, n+1, FILL);
+ ++n;
+
+ t->attach (_discover_vst_on_start, 0, 2, n, n+1); ++n;
+ _discover_vst_on_start.signal_toggled().connect (sigc::mem_fun (*this, &PluginOptions::discover_vst_on_start_toggled));
+ Gtkmm2ext::UI::instance()->set_tip (_discover_vst_on_start,
+ _("<b>When enabled</b> new VST plugins are searched, tested and added to the cache index on application start. When disabled new plugins will only be available after triggering a 'Scan' manually"));
+
+#ifdef LXVST_SUPPORT
+ t->attach (*manage (left_aligned_label (_("Linux VST Path:"))), 0, 1, n, n+1);
+ b = manage (new Button (_("Edit")));
+ b->signal_clicked().connect (sigc::mem_fun (*this, &PluginOptions::edit_lxvst_path_clicked));
+ t->attach (*b, 1, 2, n, n+1, FILL); ++n;
+#endif
+
+#ifdef WINDOWS_VST_SUPPORT
+ t->attach (*manage (left_aligned_label (_("Windows VST Path:"))), 0, 1, n, n+1);
+ b = manage (new Button (_("Edit")));
+ b->signal_clicked().connect (sigc::mem_fun (*this, &PluginOptions::edit_vst_path_clicked));
+ t->attach (*b, 1, 2, n, n+1, FILL); ++n;
+#endif
+
+ _box->pack_start (*t,true,true);
+ }
+
+ void parameter_changed (string const & p) {
+ if (p == "show-plugin-scan-window") {
+ bool const x = _rc_config->get_show_plugin_scan_window();
+ _display_plugin_scan_progress.set_active (x);
+ }
+ else if (p == "discover-vst-on-start") {
+ bool const x = _rc_config->get_discover_vst_on_start();
+ _discover_vst_on_start.set_active (x);
+ }
+ else if (p == "vst-scan-timeout") {
+ int const x = _rc_config->get_vst_scan_timeout();
+ _timeout_adjustment.set_value (x);
+ }
+ }
+
+ void set_state_from_config () {
+ parameter_changed ("show-plugin-scan-window");
+ parameter_changed ("discover-vst-on-start");
+ parameter_changed ("vst-scan-timeout");
+ }
+
+private:
+ RCConfiguration* _rc_config;
+ CheckButton _display_plugin_scan_progress;
+ CheckButton _discover_vst_on_start;
+ Adjustment _timeout_adjustment;
+ HScale _timeout_slider;
+
+ void display_plugin_scan_progress_toggled () {
+ bool const x = _display_plugin_scan_progress.get_active();
+ _rc_config->set_show_plugin_scan_window(x);
+ }
+
+ void discover_vst_on_start_toggled () {
+ bool const x = _discover_vst_on_start.get_active();
+ _rc_config->set_discover_vst_on_start(x);
+ }
+
+ void timeout_changed () {
+ int x = floor(_timeout_adjustment.get_value());
+ _rc_config->set_vst_scan_timeout(x);
+ }
+
+ void clear_vst_cache_clicked () {
+ PluginManager::instance().clear_vst_cache();
+ }
+
+ void clear_vst_blacklist_clicked () {
+ PluginManager::instance().clear_vst_blacklist();
+ }
+
+ void edit_vst_path_clicked () {
+ Gtkmm2ext::PathsDialog *pd = new Gtkmm2ext::PathsDialog (
+ _("Set Windows VST Search Path"),
+ _rc_config->get_plugin_path_vst(),
+ PluginManager::instance().get_default_windows_vst_path()
+ );
+ ResponseType r = (ResponseType) pd->run ();
+ pd->hide();
+ if (r == RESPONSE_ACCEPT) {
+ _rc_config->set_plugin_path_vst(pd->get_serialized_paths());
+ }
+ delete pd;
+ }
+
+ // todo consolidate with edit_vst_path_clicked..
+ void edit_lxvst_path_clicked () {
+ Gtkmm2ext::PathsDialog *pd = new Gtkmm2ext::PathsDialog (
+ _("Set Linux VST Search Path"),
+ _rc_config->get_plugin_path_lxvst(),
+ PluginManager::instance().get_default_lxvst_path()
+ );
+ ResponseType r = (ResponseType) pd->run ();
+ pd->hide();
+ if (r == RESPONSE_ACCEPT) {
+ _rc_config->set_plugin_path_lxvst(pd->get_serialized_paths());
+ }
+ delete pd;
+ }
+
+ void refresh_clicked () {
+ PluginManager::instance().refresh();
+ }
+};
+
+
/** A class which allows control of visibility of some editor components usign
* a VisibilityGroup. The caller should pass in a `dummy' VisibilityGroup
* which has the correct members, but with null widget pointers. This
@@ -1003,7 +1224,7 @@ private:
RCOptionEditor::RCOptionEditor ()
: OptionEditor (Config, string_compose (_("%1 Preferences"), PROGRAM_NAME))
, _rc_config (Config)
- , _mixer_strip_visibility ("mixer-strip-visibility")
+ , _mixer_strip_visibility ("mixer-element-visibility")
{
/* MISC */
@@ -1136,6 +1357,17 @@ RCOptionEditor::RCOptionEditor ()
add_option (_("Transport"), tsf);
tsf = new BoolOption (
+ "loop-is-mode",
+ _("Play loop is a transport mode"),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::get_loop_is_mode),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::set_loop_is_mode)
+ );
+ Gtkmm2ext::UI::instance()->set_tip (tsf->tip_widget(),
+ (_("<b>When enabled</b> the loop button does not start playback but forces playback to always play the loop\n\n"
+ "<b>When disabled</b> the loop button starts playing the loop, but stop then cancels loop playback")));
+ add_option (_("Transport"), tsf);
+
+ tsf = new BoolOption (
"create-xrun-marker",
_("Create markers where xruns occur"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_create_xrun_marker),
@@ -1277,7 +1509,7 @@ RCOptionEditor::RCOptionEditor ()
_ltc_send_continuously = new BoolOption (
"ltc-send-continuously",
- _("send LTC while stopped"),
+ _("Send LTC while stopped"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_ltc_send_continuously),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_ltc_send_continuously)
);
@@ -1302,12 +1534,12 @@ RCOptionEditor::RCOptionEditor ()
/* EDITOR */
- add_option (_("Editor"),
+ add_option (S_("Editor"),
new BoolOption (
- "link-region-and-track-selection",
- _("Link selection of regions and tracks"),
- sigc::mem_fun (*_rc_config, &RCConfiguration::get_link_region_and_track_selection),
- sigc::mem_fun (*_rc_config, &RCConfiguration::set_link_region_and_track_selection)
+ "draggable-playhead",
+ _("Allow dragging of playhead"),
+ sigc::mem_fun (*ARDOUR_UI::config(), &UIConfiguration::get_draggable_playhead),
+ sigc::mem_fun (*ARDOUR_UI::config(), &UIConfiguration::set_draggable_playhead)
));
add_option (_("Editor"),
@@ -1334,6 +1566,25 @@ RCOptionEditor::RCOptionEditor ()
sigc::mem_fun (*_rc_config, &RCConfiguration::set_show_editor_meter)
));
+ ComboOption<FadeShape>* fadeshape = new ComboOption<FadeShape> (
+ "default-fade-shape",
+ _("Default fade shape"),
+ sigc::mem_fun (*_rc_config,
+ &RCConfiguration::get_default_fade_shape),
+ sigc::mem_fun (*_rc_config,
+ &RCConfiguration::set_default_fade_shape)
+ );
+
+ fadeshape->add (FadeLinear,
+ _("Linear (for highly correlated material)"));
+ fadeshape->add (FadeConstantPower, _("Constant power"));
+ fadeshape->add (FadeSymmetric, _("Symmetric"));
+ fadeshape->add (FadeSlow, _("Slow"));
+ fadeshape->add (FadeFast, _("Fast"));
+
+ add_option (_("Editor"), fadeshape);
+
+
bco = new BoolComboOption (
"use-overlap-equivalency",
_("Regions in active edit groups are edited together"),
@@ -1395,6 +1646,8 @@ RCOptionEditor::RCOptionEditor ()
add_option (_("Editor"), wfsh);
+ add_option (_("Editor"), new ClipLevelOptions (_rc_config));
+
add_option (_("Editor"),
new BoolOption (
"show-waveforms-while-recording",
@@ -1413,14 +1666,6 @@ RCOptionEditor::RCOptionEditor ()
add_option (_("Editor"),
new BoolOption (
- "color-regions-using-track-color",
- _("Color regions using their track's color"),
- sigc::mem_fun (*_rc_config, &RCConfiguration::get_color_regions_using_track_color),
- sigc::mem_fun (*_rc_config, &RCConfiguration::set_color_regions_using_track_color)
- ));
-
- add_option (_("Editor"),
- new BoolOption (
"update-editor-during-summary-drag",
_("Update editor window during drags of the summary"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_update_editor_during_summary_drag),
@@ -1473,7 +1718,9 @@ RCOptionEditor::RCOptionEditor ()
mm->add (HardwareMonitoring, _("via Audio Driver"));
}
- mm->add (SoftwareMonitoring, _("ardour"));
+ string prog (PROGRAM_NAME);
+ boost::algorithm::to_lower (prog);
+ mm->add (SoftwareMonitoring, string_compose (_("%1"), prog));
mm->add (ExternalMonitoring, _("audio hardware"));
add_option (_("Audio"), mm);
@@ -1574,6 +1821,8 @@ RCOptionEditor::RCOptionEditor ()
sigc::mem_fun (*_rc_config, &RCConfiguration::set_new_plugins_active)
));
+ add_option (_("Audio"), new OptionEditorHeading (_("Regions")));
+
add_option (_("Audio"),
new BoolOption (
"auto-analyse-audio",
@@ -1795,7 +2044,7 @@ RCOptionEditor::RCOptionEditor ()
add_option (_("MIDI"),
new BoolOption (
- "diplay-first-midi-bank-as-zero",
+ "display-first-midi-bank-as-zero",
_("Display first MIDI bank/program as 0"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_first_midi_bank_is_zero),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_first_midi_bank_is_zero)
@@ -1878,6 +2127,11 @@ RCOptionEditor::RCOptionEditor ()
/* VIDEO Timeline */
add_option (_("Video"), new VideoTimelineOptions (_rc_config));
+#if (defined WINDOWS_VST_SUPPORT || defined LXVST_SUPPORT)
+ /* Plugin options (currrently VST only) */
+ add_option (_("Plugins"), new PluginOptions (_rc_config));
+#endif
+
/* INTERFACE */
add_option (S_("Preferences|GUI"),
@@ -1896,6 +2150,14 @@ RCOptionEditor::RCOptionEditor ()
sigc::mem_fun (*_rc_config, &RCConfiguration::set_use_tooltips)
));
+ add_option (S_("Preferences|GUI"),
+ new BoolOption (
+ "show-name-highlight",
+ _("Use name highlight bars in region displays"),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::get_show_name_highlight),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::set_show_name_highlight)
+ ));
+
#ifndef GTKOSX
/* font scaling does nothing with GDK/Quartz */
add_option (S_("Preferences|GUI"), new FontScalingOptions (_rc_config));
@@ -1904,19 +2166,35 @@ RCOptionEditor::RCOptionEditor ()
add_option (S_("GUI"),
new BoolOption (
"super-rapid-clock-update",
- _("update transport clock display every 40ms instead of every 100ms"),
+ _("update transport clock display at FPS instead of every 100ms"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_super_rapid_clock_update),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_super_rapid_clock_update)
));
+ /* Lock GUI timeout */
+
+ Gtk::Adjustment *lts = manage (new Gtk::Adjustment(0, 0, 1000, 1, 10));
+ HSliderOption *slts = new HSliderOption("lock-gui-after-seconds",
+ _("Lock timeout (seconds)"),
+ lts,
+ sigc::mem_fun (*ARDOUR_UI::config(), &UIConfiguration::get_lock_gui_after_seconds),
+ sigc::mem_fun (*ARDOUR_UI::config(), &UIConfiguration::set_lock_gui_after_seconds)
+ );
+ slts->scale().set_digits (0);
+ Gtkmm2ext::UI::instance()->set_tip
+ (slts->tip_widget(),
+ _("Lock GUI after this many idle seconds (zero to never lock)"));
+ add_option (S_("Preferences|GUI"), slts);
+
/* The names of these controls must be the same as those given in MixerStrip
for the actual widgets being controlled.
*/
+ _mixer_strip_visibility.add (0, X_("Input"), _("Input"));
_mixer_strip_visibility.add (0, X_("PhaseInvert"), _("Phase Invert"));
- _mixer_strip_visibility.add (0, X_("SoloSafe"), _("Solo Safe"));
- _mixer_strip_visibility.add (0, X_("SoloIsolated"), _("Solo Isolated"));
+ _mixer_strip_visibility.add (0, X_("RecMon"), _("Record & Monitor"));
+ _mixer_strip_visibility.add (0, X_("SoloIsoLock"), _("Solo Iso / Lock"));
+ _mixer_strip_visibility.add (0, X_("Output"), _("Output"));
_mixer_strip_visibility.add (0, X_("Comments"), _("Comments"));
- _mixer_strip_visibility.add (0, X_("MeterPoint"), _("Meter Point"));
add_option (
S_("Preferences|GUI"),
@@ -1936,7 +2214,7 @@ RCOptionEditor::RCOptionEditor ()
sigc::mem_fun (*_rc_config, &RCConfiguration::set_default_narrow_ms)
));
- add_option (S_("Preferences|GUI"), new OptionEditorHeading (_("Metering")));
+ add_option (S_("Preferences|Metering"), new OptionEditorHeading (_("Metering")));
ComboOption<float>* mht = new ComboOption<float> (
"meter-hold",
@@ -1950,7 +2228,7 @@ RCOptionEditor::RCOptionEditor ()
mht->add (MeterHoldMedium, _("medium"));
mht->add (MeterHoldLong, _("long"));
- add_option (S_("Preferences|GUI"), mht);
+ add_option (S_("Preferences|Metering"), mht);
ComboOption<float>* mfo = new ComboOption<float> (
"meter-falloff",
@@ -1969,7 +2247,7 @@ RCOptionEditor::RCOptionEditor ()
mfo->add (METER_FALLOFF_FASTER, _("faster [46dB/sec]"));
mfo->add (METER_FALLOFF_FASTEST, _("fastest [70dB/sec]"));
- add_option (S_("Preferences|GUI"), mfo);
+ add_option (S_("Preferences|Metering"), mfo);
ComboOption<MeterLineUp>* mlu = new ComboOption<MeterLineUp> (
"meter-line-up-level",
@@ -1985,7 +2263,7 @@ RCOptionEditor::RCOptionEditor ()
Gtkmm2ext::UI::instance()->set_tip (mlu->tip_widget(), _("Configure meter-marks and color-knee point for dBFS scale DPM, set reference level for IEC1/Nordic, IEC2 PPM and VU meter."));
- add_option (S_("Preferences|GUI"), mlu);
+ add_option (S_("Preferences|Metering"), mlu);
ComboOption<MeterLineUp>* mld = new ComboOption<MeterLineUp> (
"meter-line-up-din",
@@ -2001,7 +2279,7 @@ RCOptionEditor::RCOptionEditor ()
Gtkmm2ext::UI::instance()->set_tip (mld->tip_widget(), _("Reference level for IEC1/DIN meter."));
- add_option (S_("Preferences|GUI"), mld);
+ add_option (S_("Preferences|Metering"), mld);
ComboOption<VUMeterStandard>* mvu = new ComboOption<VUMeterStandard> (
"meter-vu-standard",
@@ -2015,7 +2293,7 @@ RCOptionEditor::RCOptionEditor ()
mvu->add (MeteringVUstandard, _("0VU = +4dBu (standard)"));
mvu->add (MeteringVUeight, _("0VU = +8dBu"));
- add_option (S_("Preferences|GUI"), mvu);
+ add_option (S_("Preferences|Metering"), mvu);
Gtk::Adjustment *mpk = manage (new Gtk::Adjustment(0, -10, 0, .1, .1));
HSliderOption *mpks = new HSliderOption("meter-peak",
@@ -2029,9 +2307,9 @@ RCOptionEditor::RCOptionEditor ()
(mpks->tip_widget(),
_("Specify the audio signal level in dbFS at and above which the meter-peak indicator will flash red."));
- add_option (S_("Preferences|GUI"), mpks);
+ add_option (S_("Preferences|Metering"), mpks);
- add_option (S_("Preferences|GUI"),
+ add_option (S_("Preferences|Metering"),
new BoolOption (
"meter-style-led",
_("LED meter style"),
diff --git a/gtk2_ardour/rc_option_editor.h b/gtk2_ardour/rc_option_editor.h
index 7b9b29c3ff..879a9c4464 100644
--- a/gtk2_ardour/rc_option_editor.h
+++ b/gtk2_ardour/rc_option_editor.h
@@ -17,6 +17,9 @@
*/
+#ifndef __gtk_ardour_rc_option_editor_h__
+#define __gtk_ardour_rc_option_editor_h__
+
#include "option_editor.h"
#include "visibility_group.h"
@@ -54,3 +57,5 @@ private:
PBD::ScopedConnection parameter_change_connection;
};
+
+#endif /* __gtk_ardour_rc_option_editor_h__ */
diff --git a/gtk2_ardour/region_editor.cc b/gtk2_ardour/region_editor.cc
index 564938ad5c..511314dfc5 100644
--- a/gtk2_ardour/region_editor.cc
+++ b/gtk2_ardour/region_editor.cc
@@ -33,7 +33,6 @@
#include "main_clock.h"
#include "gui_thread.h"
#include "region_editor.h"
-#include "utils.h"
#include "i18n.h"
diff --git a/gtk2_ardour/region_editor.h b/gtk2_ardour/region_editor.h
index 6579182282..b584a9b0b8 100644
--- a/gtk2_ardour/region_editor.h
+++ b/gtk2_ardour/region_editor.h
@@ -35,7 +35,6 @@
#include <gtkmm/spinbutton.h>
#include <gtkmm/listviewtext.h>
-#include <libgnomecanvas/libgnomecanvas.h>
#include "pbd/signals.h"
diff --git a/gtk2_ardour/region_gain_line.cc b/gtk2_ardour/region_gain_line.cc
index 8dfbdeeff4..43cd0e5140 100644
--- a/gtk2_ardour/region_gain_line.cc
+++ b/gtk2_ardour/region_gain_line.cc
@@ -27,7 +27,6 @@
#include "control_point.h"
#include "region_gain_line.h"
#include "audio_region_view.h"
-#include "utils.h"
#include "time_axis_view.h"
#include "editor.h"
@@ -38,7 +37,7 @@ using namespace std;
using namespace ARDOUR;
using namespace PBD;
-AudioRegionGainLine::AudioRegionGainLine (const string & name, AudioRegionView& r, ArdourCanvas::Group& parent, boost::shared_ptr<AutomationList> l)
+AudioRegionGainLine::AudioRegionGainLine (const string & name, AudioRegionView& r, ArdourCanvas::Container& parent, boost::shared_ptr<AutomationList> l)
: AutomationLine (name, r.get_time_axis_view(), parent, l)
, rv (r)
{
@@ -48,7 +47,7 @@ AudioRegionGainLine::AudioRegionGainLine (const string & name, AudioRegionView&
_time_converter->set_origin_b (r.region()->position() - r.region()->start());
group->raise_to_top ();
- group->property_y() = 2;
+ group->set_y_position (2);
set_uses_gain_mapping (true);
terminal_points_can_slide = false;
}
diff --git a/gtk2_ardour/region_gain_line.h b/gtk2_ardour/region_gain_line.h
index c0b843acd0..1395bc3f6f 100644
--- a/gtk2_ardour/region_gain_line.h
+++ b/gtk2_ardour/region_gain_line.h
@@ -22,7 +22,6 @@
#include "ardour/ardour.h"
-#include <libgnomecanvasmm.h>
#include "automation_line.h"
@@ -36,7 +35,7 @@ class AudioRegionView;
class AudioRegionGainLine : public AutomationLine
{
public:
- AudioRegionGainLine (const std::string & name, AudioRegionView&, ArdourCanvas::Group& parent, boost::shared_ptr<ARDOUR::AutomationList>);
+ AudioRegionGainLine (const std::string & name, AudioRegionView&, ArdourCanvas::Container& parent, boost::shared_ptr<ARDOUR::AutomationList>);
void start_drag_single (ControlPoint*, double, float);
void end_drag (bool with_push, uint32_t final_index);
diff --git a/gtk2_ardour/region_layering_order_editor.cc b/gtk2_ardour/region_layering_order_editor.cc
index a7d73afc64..7a1a2c2140 100644
--- a/gtk2_ardour/region_layering_order_editor.cc
+++ b/gtk2_ardour/region_layering_order_editor.cc
@@ -36,6 +36,7 @@
using namespace std;
using namespace Gtk;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
RegionLayeringOrderEditor::RegionLayeringOrderEditor (PublicEditor& pe)
: ArdourWindow (_("RegionLayeringOrderEditor"))
diff --git a/gtk2_ardour/region_view.cc b/gtk2_ardour/region_view.cc
index 3f20353ee5..d45164ee42 100644
--- a/gtk2_ardour/region_view.cc
+++ b/gtk2_ardour/region_view.cc
@@ -28,17 +28,19 @@
#include "ardour/playlist.h"
#include "ardour/session.h"
+#include "canvas/polygon.h"
+#include "canvas/debug.h"
+#include "canvas/pixbuf.h"
+#include "canvas/text.h"
+#include "canvas/line.h"
+#include "canvas/utils.h"
+
#include "ardour_ui.h"
#include "global_signals.h"
-#include "canvas-noevent-text.h"
-#include "canvas-noevent-rect.h"
#include "streamview.h"
#include "region_view.h"
#include "automation_region_view.h"
#include "route_time_axis.h"
-#include "simplerect.h"
-#include "simpleline.h"
-#include "waveview.h"
#include "public_editor.h"
#include "region_editor.h"
#include "ghostregion.h"
@@ -52,6 +54,7 @@
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Editing;
using namespace Gtk;
@@ -61,15 +64,16 @@ static const int32_t sync_mark_width = 9;
PBD::Signal1<void,RegionView*> RegionView::RegionViewGoingAway;
-RegionView::RegionView (ArdourCanvas::Group* parent,
+RegionView::RegionView (ArdourCanvas::Container* parent,
TimeAxisView& tv,
boost::shared_ptr<ARDOUR::Region> r,
double spu,
- Gdk::Color const & basic_color,
+ uint32_t basic_color,
bool automation)
: TimeAxisViewItem (r->name(), *parent, tv, spu, basic_color, r->position(), r->length(), false, automation,
- TimeAxisViewItem::Visibility (TimeAxisViewItem::ShowNameText|
- TimeAxisViewItem::ShowNameHighlight| TimeAxisViewItem::ShowFrame))
+ (automation ? TimeAxisViewItem::ShowFrame :
+ TimeAxisViewItem::Visibility (TimeAxisViewItem::ShowNameText|
+ TimeAxisViewItem::ShowNameHighlight| TimeAxisViewItem::ShowFrame)))
, _region (r)
, sync_mark(0)
, sync_line(0)
@@ -125,11 +129,11 @@ RegionView::RegionView (const RegionView& other, boost::shared_ptr<Region> other
GhostRegion::CatchDeletion.connect (*this, invalidator (*this), boost::bind (&RegionView::remove_ghost, this, _1), gui_context());
}
-RegionView::RegionView (ArdourCanvas::Group* parent,
+RegionView::RegionView (ArdourCanvas::Container* parent,
TimeAxisView& tv,
boost::shared_ptr<ARDOUR::Region> r,
double spu,
- Gdk::Color const & basic_color,
+ uint32_t basic_color,
bool recording,
TimeAxisViewItem::Visibility visibility)
: TimeAxisViewItem (r->name(), *parent, tv, spu, basic_color, r->position(), r->length(), recording, false, visibility)
@@ -150,7 +154,7 @@ RegionView::RegionView (ArdourCanvas::Group* parent,
}
void
-RegionView::init (Gdk::Color const & basic_color, bool wfd)
+RegionView::init (bool wfd)
{
editor = 0;
valid = true;
@@ -161,30 +165,28 @@ RegionView::init (Gdk::Color const & basic_color, bool wfd)
sync_mark = 0;
sync_line = 0;
- compute_colors (basic_color);
-
if (name_highlight) {
name_highlight->set_data ("regionview", this);
- name_highlight->signal_event().connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_region_view_name_highlight_event), name_highlight, this));
-
- if (frame_handle_start) {
- frame_handle_start->set_data ("regionview", this);
- frame_handle_start->set_data ("isleft", (void*) 1);
- frame_handle_start->signal_event().connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_frame_handle_event), frame_handle_start, this));
- frame_handle_start->raise_to_top();
- }
-
- if (frame_handle_end) {
- frame_handle_end->set_data ("regionview", this);
- frame_handle_end->set_data ("isleft", (void*) 0);
- frame_handle_end->signal_event().connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_frame_handle_event), frame_handle_end, this));
- frame_handle_end->raise_to_top();
- }
+ name_highlight->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_region_view_name_highlight_event), name_highlight, this));
+ }
+
+ if (frame_handle_start) {
+ frame_handle_start->set_data ("regionview", this);
+ frame_handle_start->set_data ("isleft", (void*) 1);
+ frame_handle_start->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_frame_handle_event), frame_handle_start, this));
+ frame_handle_start->raise_to_top();
+ }
+
+ if (frame_handle_end) {
+ frame_handle_end->set_data ("regionview", this);
+ frame_handle_end->set_data ("isleft", (void*) 0);
+ frame_handle_end->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_frame_handle_event), frame_handle_end, this));
+ frame_handle_end->raise_to_top();
}
- if (name_pixbuf) {
- name_pixbuf->set_data ("regionview", this);
- name_pixbuf->signal_event().connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_region_view_name_event), name_pixbuf, this));
+ if (name_text) {
+ name_text->set_data ("regionview", this);
+ name_text->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_region_view_name_event), name_text, this));
}
if (wfd) {
@@ -195,8 +197,6 @@ RegionView::init (Gdk::Color const & basic_color, bool wfd)
_region->PropertyChanged.connect (*this, invalidator (*this), boost::bind (&RegionView::region_changed, this, _1), gui_context());
- group->signal_event().connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_region_view_event), group, this));
-
set_colors ();
ColorsChanged.connect (sigc::mem_fun (*this, &RegionView::color_handler));
@@ -212,7 +212,7 @@ RegionView::~RegionView ()
delete *g;
}
- for (list<ArdourCanvas::SimpleRect*>::iterator i = _coverage_frames.begin (); i != _coverage_frames.end (); ++i) {
+ for (list<ArdourCanvas::Rectangle*>::iterator i = _coverage_frames.begin (); i != _coverage_frames.end (); ++i) {
delete *i;
}
@@ -221,6 +221,12 @@ RegionView::~RegionView ()
delete editor;
}
+bool
+RegionView::canvas_group_event (GdkEvent* event)
+{
+ return trackview.editor().canvas_region_view_event (event, group, this);
+}
+
void
RegionView::set_silent_frames (const AudioIntervalResult& silences, double /*threshold*/)
{
@@ -233,21 +239,22 @@ RegionView::set_silent_frames (const AudioIntervalResult& silences, double /*thr
return;
}
- uint32_t const color = ARDOUR_UI::config()->canvasvar_Silence.get();
+ uint32_t const color = ARDOUR_UI::config()->get_canvasvar_Silence();
for (AudioIntervalResult::const_iterator i = silences.begin(); i != silences.end(); ++i) {
- ArdourCanvas::SimpleRect* cr = new ArdourCanvas::NoEventSimpleRect (*group);
+ ArdourCanvas::Rectangle* cr = new ArdourCanvas::Rectangle (group);
+ cr->set_ignore_events (true);
_silent_frames.push_back (cr);
/* coordinates for the rect are relative to the regionview origin */
- cr->property_x1() = trackview.editor().frame_to_pixel (i->first - _region->start());
- cr->property_x2() = trackview.editor().frame_to_pixel (i->second - _region->start());
- cr->property_y1() = 1;
- cr->property_y2() = _height - 2;
- cr->property_outline_pixels() = 0;
- cr->property_fill_color_rgba () = color;
+ cr->set_x0 (trackview.editor().sample_to_pixel (i->first - _region->start()));
+ cr->set_x1 (trackview.editor().sample_to_pixel (i->second - _region->start()));
+ cr->set_y0 (1);
+ cr->set_y1 (_height - 2);
+ cr->set_outline (false);
+ cr->set_fill_color (color);
shortest = min (shortest, i->second - i->first);
}
@@ -270,15 +277,15 @@ RegionView::set_silent_frames (const AudioIntervalResult& silences, double /*thr
shortest_audible = min (shortest_audible, dur);
}
- _silence_text = new ArdourCanvas::NoEventText (*group);
- _silence_text->property_font_desc() = get_font_for_style (N_("SilenceText"));
- _silence_text->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_SilenceText.get();
- _silence_text->property_anchor() = ANCHOR_NW;
+ _silence_text = new ArdourCanvas::Text (group);
+ _silence_text->set_ignore_events (true);
+ _silence_text->set_font_description (get_font_for_style (N_("SilenceText")));
+ _silence_text->set_color (ARDOUR_UI::config()->get_canvasvar_SilenceText());
/* both positions are relative to the region start offset in source */
- _silence_text->property_x() = trackview.editor().frame_to_pixel (silences.front().first - _region->start()) + 10.0;
- _silence_text->property_y() = 20.0;
+ _silence_text->set_x_position (trackview.editor().sample_to_pixel (silences.front().first - _region->start()) + 10.0);
+ _silence_text->set_y_position (20.0);
double ms = (float) shortest/_region->session().frame_rate();
@@ -318,13 +325,13 @@ RegionView::set_silent_frames (const AudioIntervalResult& silences, double /*thr
text += string_compose (_("\n (shortest audible segment = %1 %2)"), ma, aunits);
}
- _silence_text->property_text() = text.c_str ();
+ _silence_text->set (text);
}
void
RegionView::hide_silent_frames ()
{
- for (list<ArdourCanvas::SimpleRect*>::iterator i = _silent_frames.begin (); i != _silent_frames.end (); ++i) {
+ for (list<ArdourCanvas::Rectangle*>::iterator i = _silent_frames.begin (); i != _silent_frames.end (); ++i) {
(*i)->hide ();
}
_silence_text->hide();
@@ -333,7 +340,7 @@ RegionView::hide_silent_frames ()
void
RegionView::drop_silent_frames ()
{
- for (list<ArdourCanvas::SimpleRect*>::iterator i = _silent_frames.begin (); i != _silent_frames.end (); ++i) {
+ for (list<ArdourCanvas::Rectangle*>::iterator i = _silent_frames.begin (); i != _silent_frames.end (); ++i) {
delete *i;
}
_silent_frames.clear ();
@@ -421,7 +428,7 @@ RegionView::region_resized (const PropertyChange& what_changed)
set_duration (_region->length(), 0);
- unit_length = _region->length() / samples_per_unit;
+ unit_length = _region->length() / samples_per_pixel;
for (vector<GhostRegion*>::iterator i = ghosts.begin(); i != ghosts.end(); ++i) {
@@ -479,7 +486,7 @@ RegionView::set_position (framepos_t pos, void* /*src*/, double* ignored)
if (delta) {
for (vector<GhostRegion*>::iterator i = ghosts.begin(); i != ghosts.end(); ++i) {
- (*i)->group->move (delta, 0.0);
+ (*i)->group->move (ArdourCanvas::Duple (delta, 0.0));
}
}
@@ -487,13 +494,13 @@ RegionView::set_position (framepos_t pos, void* /*src*/, double* ignored)
}
void
-RegionView::set_samples_per_unit (gdouble spu)
+RegionView::set_samples_per_pixel (double fpp)
{
- TimeAxisViewItem::set_samples_per_unit (spu);
+ TimeAxisViewItem::set_samples_per_pixel (fpp);
for (vector<GhostRegion*>::iterator i = ghosts.begin(); i != ghosts.end(); ++i) {
- (*i)->set_samples_per_unit (spu);
- (*i)->set_duration (_region->length() / samples_per_unit);
+ (*i)->set_samples_per_pixel (fpp);
+ (*i)->set_duration (_region->length() / fpp);
}
region_sync_changed ();
@@ -507,48 +514,43 @@ RegionView::set_duration (framecnt_t frames, void *src)
}
for (vector<GhostRegion*>::iterator i = ghosts.begin(); i != ghosts.end(); ++i) {
- (*i)->set_duration (_region->length() / samples_per_unit);
+ (*i)->set_duration (_region->length() / samples_per_pixel);
}
return true;
}
+uint32_t
+RegionView::fill_opacity () const
+{
+ if (!_region->opaque()) {
+ return 60;
+ }
+
+ uint32_t normal_tavi_opacity = TimeAxisViewItem::fill_opacity ();
+
+ return normal_tavi_opacity;
+}
+
void
RegionView::set_colors ()
{
TimeAxisViewItem::set_colors ();
if (sync_mark) {
- sync_mark->property_fill_color_rgba() = RGBA_TO_UINT(0,255,0,255); // fill_color; // FIXME make a themeable colour
- sync_line->property_fill_color_rgba() = RGBA_TO_UINT(0,255,0,255); // fill_color; // FIXME make a themeable colour
+ /* XXX: make these colours themable */
+ sync_mark->set_fill_color (ArdourCanvas::rgba_to_color (0, 1.0, 0, 1.0));
+ sync_line->set_outline_color (ArdourCanvas::rgba_to_color (0, 1.0, 0, 1.0));
}
}
void
RegionView::set_frame_color ()
{
- if (_region->opaque()) {
- fill_opacity = 130;
- } else {
- fill_opacity = 60;
- }
-
TimeAxisViewItem::set_frame_color ();
}
void
-RegionView::fake_set_opaque (bool yn)
-{
- if (yn) {
- fill_opacity = 130;
- } else {
- fill_opacity = 60;
- }
-
- set_frame_color ();
-}
-
-void
RegionView::show_region_editor ()
{
if (editor == 0) {
@@ -628,15 +630,16 @@ RegionView::region_sync_changed ()
/* points set below */
- sync_mark = new ArdourCanvas::Polygon (*group);
- sync_mark->property_fill_color_rgba() = RGBA_TO_UINT(0,255,0,255); // fill_color; // FIXME make a themeable colour
+ sync_mark = new ArdourCanvas::Polygon (group);
+ CANVAS_DEBUG_NAME (sync_mark, string_compose ("sync mark for %1", get_item_name()));
+ sync_mark->set_fill_color (ArdourCanvas::rgba_to_color (0, 1.0, 0, 1.0)); // FIXME make a themeable colour
- sync_line = new ArdourCanvas::Line (*group);
- sync_line->property_fill_color_rgba() = RGBA_TO_UINT(0,255,0,255); // fill_color; // FIXME make a themeable colour
- sync_line->property_width_pixels() = 1;
+ sync_line = new ArdourCanvas::Line (group);
+ CANVAS_DEBUG_NAME (sync_line, string_compose ("sync mark for %1", get_item_name()));
+ sync_line->set_outline_color (ArdourCanvas::rgba_to_color (0, 1.0, 0, 1.0)); // FIXME make a themeable colour
}
- /* this has to handle both a genuine change of position, a change of samples_per_unit,
+ /* this has to handle both a genuine change of position, a change of samples_per_pixel
and a change in the bounds of the _region->
*/
@@ -664,19 +667,15 @@ RegionView::region_sync_changed ()
//points = sync_mark->property_points().get_value();
- double offset = sync_offset / samples_per_unit;
- points.push_back (Gnome::Art::Point (offset - ((sync_mark_width-1)/2), 1));
- points.push_back (Gnome::Art::Point (offset + ((sync_mark_width-1)/2), 1));
- points.push_back (Gnome::Art::Point (offset, sync_mark_width - 1));
- points.push_back (Gnome::Art::Point (offset - ((sync_mark_width-1)/2), 1));
- sync_mark->property_points().set_value (points);
+ double offset = sync_offset / samples_per_pixel;
+ points.push_back (ArdourCanvas::Duple (offset - ((sync_mark_width-1)/2), 1));
+ points.push_back (ArdourCanvas::Duple (offset + ((sync_mark_width-1)/2), 1));
+ points.push_back (ArdourCanvas::Duple (offset, sync_mark_width - 1));
+ points.push_back (ArdourCanvas::Duple (offset - ((sync_mark_width-1)/2), 1));
+ sync_mark->set (points);
sync_mark->show ();
- points.clear ();
- points.push_back (Gnome::Art::Point (offset, 0));
- points.push_back (Gnome::Art::Point (offset, trackview.current_height() - NAME_HIGHLIGHT_SIZE));
-
- sync_line->property_points().set_value (points);
+ sync_line->set (ArdourCanvas::Duple (offset, 0), ArdourCanvas::Duple (offset, trackview.current_height() - NAME_HIGHLIGHT_SIZE));
sync_line->show ();
}
}
@@ -689,12 +688,23 @@ RegionView::move (double x_delta, double y_delta)
return;
}
- get_canvas_group()->move (x_delta, y_delta);
+ /* items will not prevent Item::move() moving
+ * them to a negative x-axis coordinate, which
+ * is legal, but we don't want that here.
+ */
+
+ ArdourCanvas::Item *item = get_canvas_group ();
+
+ if (item->position().x + x_delta < 0) {
+ x_delta = -item->position().x; /* move it to zero */
+ }
+
+ item->move (ArdourCanvas::Duple (x_delta, y_delta));
/* note: ghosts never leave their tracks so y_delta for them is always zero */
for (vector<GhostRegion*>::iterator i = ghosts.begin(); i != ghosts.end(); ++i) {
- (*i)->group->move (x_delta, 0.0);
+ (*i)->group->move (ArdourCanvas::Duple (x_delta, 0.0));
}
}
@@ -724,12 +734,6 @@ RegionView::remove_ghost (GhostRegion* ghost)
}
}
-uint32_t
-RegionView::get_fill_color ()
-{
- return fill_color;
-}
-
void
RegionView::set_height (double h)
{
@@ -740,19 +744,20 @@ RegionView::set_height (double h)
int sync_dir;
framecnt_t sync_offset;
sync_offset = _region->sync_offset (sync_dir);
- double offset = sync_offset / samples_per_unit;
+ double offset = sync_offset / samples_per_pixel;
- points.push_back (Gnome::Art::Point (offset, 0));
- points.push_back (Gnome::Art::Point (offset, h - NAME_HIGHLIGHT_SIZE));
- sync_line->property_points().set_value (points);
+ sync_line->set (
+ ArdourCanvas::Duple (offset, 0),
+ ArdourCanvas::Duple (offset, h - NAME_HIGHLIGHT_SIZE)
+ );
}
- for (list<ArdourCanvas::SimpleRect*>::iterator i = _coverage_frames.begin(); i != _coverage_frames.end(); ++i) {
- (*i)->property_y2() = h + 1;
+ for (list<ArdourCanvas::Rectangle*>::iterator i = _coverage_frames.begin(); i != _coverage_frames.end(); ++i) {
+ (*i)->set_y1 (h + 1);
}
- for (list<ArdourCanvas::SimpleRect*>::iterator i = _silent_frames.begin(); i != _silent_frames.end(); ++i) {
- (*i)->property_y2() = h + 1;
+ for (list<ArdourCanvas::Rectangle*>::iterator i = _silent_frames.begin(); i != _silent_frames.end(); ++i) {
+ (*i)->set_y1 (h + 1);
}
}
@@ -763,7 +768,7 @@ void
RegionView::update_coverage_frames (LayerDisplay d)
{
/* remove old coverage frames */
- for (list<ArdourCanvas::SimpleRect*>::iterator i = _coverage_frames.begin (); i != _coverage_frames.end (); ++i) {
+ for (list<ArdourCanvas::Rectangle*>::iterator i = _coverage_frames.begin (); i != _coverage_frames.end (); ++i) {
delete *i;
}
@@ -783,11 +788,11 @@ RegionView::update_coverage_frames (LayerDisplay d)
framepos_t t = position;
framepos_t const end = _region->last_frame ();
- ArdourCanvas::SimpleRect* cr = 0;
+ ArdourCanvas::Rectangle* cr = 0;
bool me = false;
/* the color that will be used to show parts of regions that will not be heard */
- uint32_t const non_playing_color = ARDOUR_UI::config()->canvasvar_CoveredRegion.get ();
+ uint32_t const non_playing_color = ARDOUR_UI::config()->get_canvasvar_CoveredRegion ();
while (t < end) {
@@ -798,21 +803,22 @@ RegionView::update_coverage_frames (LayerDisplay d)
/* finish off any old rect, if required */
if (cr && me != new_me) {
- cr->property_x2() = trackview.editor().frame_to_pixel (t - position);
+ cr->set_x1 (trackview.editor().sample_to_pixel (t - position));
}
/* start off any new rect, if required */
if (cr == 0 || me != new_me) {
- cr = new ArdourCanvas::NoEventSimpleRect (*group);
+ cr = new ArdourCanvas::Rectangle (group);
_coverage_frames.push_back (cr);
- cr->property_x1() = trackview.editor().frame_to_pixel (t - position);
- cr->property_y1() = 1;
- cr->property_y2() = _height + 1;
- cr->property_outline_pixels() = 0;
+ cr->set_x0 (trackview.editor().sample_to_pixel (t - position));
+ cr->set_y0 (1);
+ cr->set_y1 (_height + 1);
+ cr->set_outline (false);
+ cr->set_ignore_events (true);
if (new_me) {
- cr->property_fill_color_rgba () = UINT_RGBA_CHANGE_A (non_playing_color, 0);
+ cr->set_fill_color (UINT_RGBA_CHANGE_A (non_playing_color, 0));
} else {
- cr->property_fill_color_rgba () = non_playing_color;
+ cr->set_fill_color (non_playing_color);
}
}
@@ -822,7 +828,7 @@ RegionView::update_coverage_frames (LayerDisplay d)
if (cr) {
/* finish off the last rectangle */
- cr->property_x2() = trackview.editor().frame_to_pixel (end - position);
+ cr->set_x1 (trackview.editor().sample_to_pixel (end - position));
}
if (frame_handle_start) {
@@ -837,8 +843,8 @@ RegionView::update_coverage_frames (LayerDisplay d)
name_highlight->raise_to_top ();
}
- if (name_pixbuf) {
- name_pixbuf->raise_to_top ();
+ if (name_text) {
+ name_text->raise_to_top ();
}
}
@@ -930,32 +936,12 @@ RegionView::thaw_after_trim ()
void
-RegionView::trim_contents (framepos_t frame_delta, bool left_direction, bool swap_direction)
+RegionView::move_contents (frameoffset_t distance)
{
if (_region->locked()) {
return;
}
-
- framepos_t new_bound;
-
- RouteTimeAxisView& rtv = dynamic_cast<RouteTimeAxisView&> (trackview);
- double const speed = rtv.track()->speed ();
-
- if (left_direction) {
- if (swap_direction) {
- new_bound = (framepos_t) (_region->position() / speed) + frame_delta;
- } else {
- new_bound = (framepos_t) (_region->position() / speed) - frame_delta;
- }
- } else {
- if (swap_direction) {
- new_bound = (framepos_t) (_region->position() / speed) - frame_delta;
- } else {
- new_bound = (framepos_t) (_region->position() / speed) + frame_delta;
- }
- }
-
- _region->trim_start ((framepos_t) (new_bound * speed));
+ _region->move_start (distance);
region_changed (PropertyChange (ARDOUR::Properties::start));
}
diff --git a/gtk2_ardour/region_view.h b/gtk2_ardour/region_view.h
index 1eda8fd360..0837c075f0 100644
--- a/gtk2_ardour/region_view.h
+++ b/gtk2_ardour/region_view.h
@@ -19,18 +19,21 @@
#ifndef __gtk_ardour_region_view_h__
#define __gtk_ardour_region_view_h__
+#ifdef interface
+#undef interface
+#endif
+
#include <vector>
-#include <libgnomecanvasmm.h>
-#include <libgnomecanvasmm/polygon.h>
#include <sigc++/signal.h>
#include "ardour/region.h"
#include "ardour/beats_frames_converter.h"
+#include "canvas/fwd.h"
+
#include "time_axis_view_item.h"
#include "automation_line.h"
#include "enums.h"
-#include "canvas.h"
class TimeAxisView;
class RegionEditor;
@@ -38,18 +41,19 @@ class GhostRegion;
class AutomationTimeAxisView;
class AutomationRegionView;
-namespace Gnome { namespace Canvas {
- class NoEventText;
-} }
+namespace ArdourCanvas {
+ class Polygon;
+ class Text;
+}
class RegionView : public TimeAxisViewItem
{
public:
- RegionView (ArdourCanvas::Group* parent,
+ RegionView (ArdourCanvas::Container* parent,
TimeAxisView& time_view,
boost::shared_ptr<ARDOUR::Region> region,
- double samples_per_unit,
- Gdk::Color const & basic_color,
+ double samples_per_pixel,
+ uint32_t base_color,
bool automation = false);
RegionView (const RegionView& other);
@@ -57,7 +61,7 @@ class RegionView : public TimeAxisViewItem
~RegionView ();
- virtual void init (Gdk::Color const & base_color, bool wait_for_data);
+ virtual void init (bool wait_for_data);
boost::shared_ptr<ARDOUR::Region> region() const { return _region; }
@@ -66,7 +70,7 @@ class RegionView : public TimeAxisViewItem
void set_valid (bool yn) { valid = yn; }
virtual void set_height (double);
- virtual void set_samples_per_unit (double);
+ virtual void set_samples_per_pixel (double);
virtual bool set_duration (framecnt_t, void*);
void move (double xdelta, double ydelta);
@@ -75,7 +79,6 @@ class RegionView : public TimeAxisViewItem
void lower_to_bottom ();
bool set_position(framepos_t pos, void* src, double* delta = 0);
- void fake_set_opaque (bool yn);
virtual void show_region_editor ();
void hide_region_editor ();
@@ -86,8 +89,6 @@ class RegionView : public TimeAxisViewItem
void remove_ghost_in (TimeAxisView&);
void remove_ghost (GhostRegion*);
- uint32_t get_fill_color ();
-
virtual void entered (bool) {}
virtual void exited () {}
@@ -113,7 +114,7 @@ class RegionView : public TimeAxisViewItem
virtual void trim_front_ending () {}
bool trim_end (framepos_t, bool);
- void trim_contents (framepos_t, bool, bool);
+ void move_contents (ARDOUR::frameoffset_t);
virtual void thaw_after_trim ();
void set_silent_frames (const ARDOUR::AudioIntervalResult&, double threshold);
@@ -127,14 +128,16 @@ class RegionView : public TimeAxisViewItem
/** Allows derived types to specify their visibility requirements
* to the TimeAxisViewItem parent class
*/
- RegionView (ArdourCanvas::Group *,
+ RegionView (ArdourCanvas::Container *,
TimeAxisView&,
boost::shared_ptr<ARDOUR::Region>,
- double samples_per_unit,
- Gdk::Color const & basic_color,
+ double samples_per_pixel,
+ uint32_t basic_color,
bool recording,
TimeAxisViewItem::Visibility);
+ bool canvas_group_event (GdkEvent*);
+
virtual void region_resized (const PBD::PropertyChange&);
virtual void region_muted ();
void region_locked ();
@@ -151,6 +154,8 @@ class RegionView : public TimeAxisViewItem
virtual void set_frame_color ();
virtual void reset_width_dependent_items (double pixel_width);
+ uint32_t fill_opacity () const;
+
virtual void color_handler () {}
boost::shared_ptr<ARDOUR::Region> _region;
@@ -176,17 +181,17 @@ class RegionView : public TimeAxisViewItem
different bits of regions according to whether or not they are the one
that will be played at any given time.
*/
- std::list<ArdourCanvas::SimpleRect*> _coverage_frames;
+ std::list<ArdourCanvas::Rectangle*> _coverage_frames;
/** a list of rectangles used to show silent segments
*/
- std::list<ArdourCanvas::SimpleRect*> _silent_frames;
+ std::list<ArdourCanvas::Rectangle*> _silent_frames;
/** a list of rectangles used to show the current silence threshold
*/
- std::list<ArdourCanvas::SimpleRect*> _silent_threshold_frames;
+ std::list<ArdourCanvas::Rectangle*> _silent_threshold_frames;
/** a text item to display strip silence statistics
*/
- ArdourCanvas::NoEventText* _silence_text;
+ ArdourCanvas::Text* _silence_text;
ARDOUR::BeatsFramesConverter _region_relative_time_converter;
ARDOUR::BeatsFramesConverter _source_relative_time_converter;
diff --git a/gtk2_ardour/return_ui.cc b/gtk2_ardour/return_ui.cc
index 29a8ddc16c..16c4720577 100644
--- a/gtk2_ardour/return_ui.cc
+++ b/gtk2_ardour/return_ui.cc
@@ -23,7 +23,6 @@
#include "ardour/rc_configuration.h"
#include "ardour/return.h"
-#include "utils.h"
#include "return_ui.h"
#include "io_selector.h"
#include "ardour_ui.h"
@@ -49,7 +48,7 @@ ReturnUI::ReturnUI (Gtk::Window* parent, boost::shared_ptr<Return> r, Session* s
_vbox.pack_start (_hbox, false, false, false);
- io = manage (new IOSelector (parent, session, r->output()));
+ io = Gtk::manage (new IOSelector (parent, session, r->output()));
pack_start (_vbox, false, false);
diff --git a/gtk2_ardour/rhythm_ferret.cc b/gtk2_ardour/rhythm_ferret.cc
index 5a59b5ce5d..ec5ebc93a1 100644
--- a/gtk2_ardour/rhythm_ferret.cc
+++ b/gtk2_ardour/rhythm_ferret.cc
@@ -31,7 +31,6 @@
#include "rhythm_ferret.h"
#include "audio_region_view.h"
#include "editor.h"
-#include "utils.h"
#include "time_axis_view.h"
#include "i18n.h"
diff --git a/gtk2_ardour/route_group_dialog.cc b/gtk2_ardour/route_group_dialog.cc
index bba72fb4a8..3addc1c598 100644
--- a/gtk2_ardour/route_group_dialog.cc
+++ b/gtk2_ardour/route_group_dialog.cc
@@ -17,18 +17,24 @@
*/
+#include <iostream>
+
+#include "ardour/route_group.h"
+#include "ardour/session.h"
+
#include <gtkmm/table.h>
#include <gtkmm/stock.h>
#include <gtkmm/messagedialog.h>
-#include "ardour/route_group.h"
-#include "ardour/session.h"
+
#include "route_group_dialog.h"
#include "group_tabs.h"
+#include "utils.h"
+
#include "i18n.h"
-#include <iostream>
using namespace Gtk;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace std;
using namespace PBD;
@@ -82,9 +88,11 @@ RouteGroupDialog::RouteGroupDialog (RouteGroup* g, bool creating_new)
main_vbox->pack_start (*top_vbox, false, false);
- _name.set_text (_group->name ());
_active.set_active (_group->is_active ());
- _color.set_color (GroupTabs::group_color (_group));
+
+ Gdk::Color c;
+ set_color_from_rgba (c, GroupTabs::group_color (_group));
+ _color.set_color (c);
VBox* options_box = manage (new VBox);
options_box->set_spacing (6);
@@ -93,8 +101,6 @@ RouteGroupDialog::RouteGroupDialog (RouteGroup* g, bool creating_new)
l->set_use_markup ();
options_box->pack_start (*l, false, true);
- _name.signal_activate ().connect (sigc::bind (sigc::mem_fun (*this, &Dialog::response), RESPONSE_OK));
-
_gain.set_active (_group->is_gain());
_relative.set_active (_group->is_relative());
_mute.set_active (_group->is_mute());
@@ -105,6 +111,18 @@ RouteGroupDialog::RouteGroupDialog (RouteGroup* g, bool creating_new)
_share_color.set_active (_group->is_color());
_share_monitoring.set_active (_group->is_monitoring());
+ if (_group->name ().empty()) {
+ _initial_name = "1";
+ while (!unique_name (_initial_name)) {
+ _initial_name = bump_name_number (_initial_name);
+ }
+ _name.set_text (_initial_name);
+ update();
+ } else {
+ _name.set_text (_initial_name);
+ }
+
+ _name.signal_activate ().connect (sigc::bind (sigc::mem_fun (*this, &Dialog::response), RESPONSE_OK));
_name.signal_changed().connect (sigc::mem_fun (*this, &RouteGroupDialog::update));
_active.signal_toggled().connect (sigc::mem_fun (*this, &RouteGroupDialog::update));
_color.signal_color_set().connect (sigc::mem_fun (*this, &RouteGroupDialog::update));
@@ -172,14 +190,14 @@ RouteGroupDialog::do_run ()
return Gtk::RESPONSE_CANCEL;
}
- if (unique_name ()) {
+ if (unique_name (_name.get_text())) {
/* not cancelled and the name is ok, so all is well */
return false;
}
_group->set_name (_initial_name);
MessageDialog msg (
- _("A route group of this name already exists. Please use a different name."),
+ _("The group name is not unique. Please use a different name."),
false,
Gtk::MESSAGE_ERROR,
Gtk::BUTTONS_OK,
@@ -212,7 +230,7 @@ RouteGroupDialog::update ()
_group->apply_changes (plist);
- GroupTabs::set_group_color (_group, _color.get_color ());
+ GroupTabs::set_group_color (_group, gdk_color_to_rgba (_color.get_color ()));
}
void
@@ -223,11 +241,12 @@ RouteGroupDialog::gain_toggled ()
/** @return true if the current group's name is unique accross the session */
bool
-RouteGroupDialog::unique_name () const
+RouteGroupDialog::unique_name (std::string const name) const
{
+ if (name.empty()) return false; // do not allow empty name, empty means unset.
list<RouteGroup*> route_groups = _group->session().route_groups ();
list<RouteGroup*>::iterator i = route_groups.begin ();
- while (i != route_groups.end() && ((*i)->name() != _name.get_text() || *i == _group)) {
+ while (i != route_groups.end() && ((*i)->name() != name || *i == _group)) {
++i;
}
diff --git a/gtk2_ardour/route_group_dialog.h b/gtk2_ardour/route_group_dialog.h
index 6440a7c6a2..1200175e99 100644
--- a/gtk2_ardour/route_group_dialog.h
+++ b/gtk2_ardour/route_group_dialog.h
@@ -55,7 +55,7 @@ private:
void gain_toggled ();
void update ();
- bool unique_name () const;
+ bool unique_name (std::string const name) const;
};
diff --git a/gtk2_ardour/route_params_ui.cc b/gtk2_ardour/route_params_ui.cc
index 76f3d4e264..be5b6663f0 100644
--- a/gtk2_ardour/route_params_ui.cc
+++ b/gtk2_ardour/route_params_ui.cc
@@ -25,6 +25,7 @@
#include <gtkmm2ext/window_title.h>
#include "ardour/audioengine.h"
+#include "ardour/audio_track.h"
#include "ardour/plugin.h"
#include "ardour/plugin_insert.h"
#include "ardour/plugin_manager.h"
@@ -45,7 +46,6 @@
#include "return_ui.h"
#include "route_params_ui.h"
#include "send_ui.h"
-#include "utils.h"
#include "i18n.h"
@@ -215,6 +215,25 @@ RouteParams_UI::route_property_changed (const PropertyChange& what_changed, boos
}
void
+RouteParams_UI::map_frozen()
+{
+ ENSURE_GUI_THREAD (*this, &RouteParams_UI::map_frozen)
+ boost::shared_ptr<AudioTrack> at = boost::dynamic_pointer_cast<AudioTrack>(_route);
+ if (at && insert_box) {
+ switch (at->freeze_state()) {
+ case AudioTrack::Frozen:
+ insert_box->set_sensitive (false);
+ //hide_redirect_editors (); // TODO hide editor windows
+ break;
+ default:
+ insert_box->set_sensitive (true);
+ // XXX need some way, maybe, to retoggle redirect editors
+ break;
+ }
+ }
+}
+
+void
RouteParams_UI::setup_processor_boxes()
{
if (_session && _route) {
@@ -226,9 +245,13 @@ RouteParams_UI::setup_processor_boxes()
insert_box = new ProcessorBox (_session, boost::bind (&RouteParams_UI::plugin_selector, this), _rr_selection, 0);
insert_box->set_route (_route);
+ boost::shared_ptr<AudioTrack> at = boost::dynamic_pointer_cast<AudioTrack>(_route);
+ if (at) {
+ at->FreezeChange.connect (route_connections, invalidator (*this), boost::bind (&RouteParams_UI::map_frozen, this), gui_context());
+ }
redir_hpane.pack1 (*insert_box);
- insert_box->ProcessorSelected.connect (sigc::mem_fun(*this, &RouteParams_UI::redirect_selected));
+ insert_box->ProcessorSelected.connect (sigc::mem_fun(*this, &RouteParams_UI::redirect_selected)); //note: this indicates a double-click activation, not just a "selection"
insert_box->ProcessorUnselected.connect (sigc::mem_fun(*this, &RouteParams_UI::redirect_selected));
redir_hpane.show_all();
diff --git a/gtk2_ardour/route_params_ui.h b/gtk2_ardour/route_params_ui.h
index 4c8adfd9c6..65bef26b52 100644
--- a/gtk2_ardour/route_params_ui.h
+++ b/gtk2_ardour/route_params_ui.h
@@ -127,6 +127,7 @@ class RouteParams_UI : public ArdourWindow, public PBD::ScopedConnectionList
boost::shared_ptr<ARDOUR::Route> _route;
PBD::ScopedConnection _route_processors_connection;
+ PBD::ScopedConnectionList route_connections;
boost::shared_ptr<ARDOUR::Processor> _processor;
PBD::ScopedConnection _processor_going_away_connection;
@@ -163,6 +164,7 @@ class RouteParams_UI : public ArdourWindow, public PBD::ScopedConnectionList
void route_property_changed (const PBD::PropertyChange&, boost::weak_ptr<ARDOUR::Route> route);
void route_removed (boost::weak_ptr<ARDOUR::Route> route);
+ void map_frozen ();
void route_selected();
diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc
index b777c30af4..9a17b65e07 100644
--- a/gtk2_ardour/route_time_axis.cc
+++ b/gtk2_ardour/route_time_axis.cc
@@ -50,15 +50,17 @@
#include "ardour/route_group.h"
#include "ardour/session.h"
#include "ardour/session_playlists.h"
+
#include "evoral/Parameter.hpp"
+#include "canvas/debug.h"
+
#include "ardour_ui.h"
#include "ardour_button.h"
#include "debug.h"
#include "global_signals.h"
#include "route_time_axis.h"
#include "automation_time_axis.h"
-#include "canvas_impl.h"
#include "enums.h"
#include "gui_thread.h"
#include "keyboard.h"
@@ -69,7 +71,6 @@
#include "region_view.h"
#include "rgb_macros.h"
#include "selection.h"
-#include "simplerect.h"
#include "streamview.h"
#include "utils.h"
#include "route_group_menu.h"
@@ -79,6 +80,7 @@
#include "i18n.h"
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtkmm2ext;
using namespace Gtk;
@@ -86,7 +88,7 @@ using namespace Editing;
using namespace std;
using std::list;
-RouteTimeAxisView::RouteTimeAxisView (PublicEditor& ed, Session* sess, Canvas& canvas)
+RouteTimeAxisView::RouteTimeAxisView (PublicEditor& ed, Session* sess, ArdourCanvas::Canvas& canvas)
: AxisView(sess)
, RouteUI(sess)
, TimeAxisView(sess,ed,(TimeAxisView*) 0, canvas)
@@ -94,18 +96,24 @@ RouteTimeAxisView::RouteTimeAxisView (PublicEditor& ed, Session* sess, Canvas& c
, parent_canvas (canvas)
, no_redraw (false)
, button_table (3, 3)
- , route_group_button (_("g"))
- , playlist_button (_("p"))
- , automation_button (_("a"))
+ , route_group_button (_("G"))
+ , playlist_button (_("P"))
+ , automation_button (_("A"))
, automation_action_menu (0)
, plugins_submenu_item (0)
, route_group_menu (0)
, playlist_action_menu (0)
, mode_menu (0)
, color_mode_menu (0)
- , gm (sess, true, 125, 18)
+ , gm (sess, true, 75, 14)
, _ignore_set_layer_display (false)
{
+ number_label.set_name("tracknumber label");
+ number_label.set_elements((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::Text|ArdourButton::Inactive));
+ number_label.set_alignment(.5, .5);
+ number_label.set_fallthrough_to_parent (true);
+
+ sess->config.ParameterChanged.connect (*this, invalidator (*this), boost::bind (&RouteTimeAxisView::parameter_changed, this, _1), gui_context());
}
void
@@ -113,6 +121,10 @@ RouteTimeAxisView::set_route (boost::shared_ptr<Route> rt)
{
RouteUI::set_route (rt);
+ CANVAS_DEBUG_NAME (_canvas_display, string_compose ("main for %1", rt->name()));
+ CANVAS_DEBUG_NAME (selection_group, string_compose ("selections for %1", rt->name()));
+ CANVAS_DEBUG_NAME (_ghost_group, string_compose ("ghosts for %1", rt->name()));
+
int meter_width = 3;
if (_route && _route->shared_peak_meter()->input_streams().n_total() == 1) {
meter_width = 6;
@@ -138,7 +150,7 @@ RouteTimeAxisView::set_route (boost::shared_ptr<Route> rt)
}
mute_changed (0);
- update_solo_display ();
+ update_solo_display ();
timestretch_rect = 0;
no_redraw = false;
@@ -155,20 +167,12 @@ RouteTimeAxisView::set_route (boost::shared_ptr<Route> rt)
if (is_track()) {
- /* use icon */
-
- switch (track()->mode()) {
- case ARDOUR::Normal:
- case ARDOUR::NonLayered:
- rec_enable_button->set_image (::get_icon (X_("record_normal_red")));
- break;
- case ARDOUR::Destructive:
- rec_enable_button->set_image (::get_icon (X_("record_tape_red")));
- break;
+ if (ARDOUR::Profile->get_mixbus()) {
+ controls_table.attach (*rec_enable_button, 0, 1, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
+ } else {
+ controls_table.attach (*rec_enable_button, 2, 3, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
}
- controls_table.attach (*rec_enable_button, 5, 6, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND, 0, 0);
-
if (is_midi_track()) {
ARDOUR_UI::instance()->set_tip(*rec_enable_button, _("Record (Right-click for Step Edit)"));
gm.set_fader_name ("MidiTrackFader");
@@ -185,42 +189,96 @@ RouteTimeAxisView::set_route (boost::shared_ptr<Route> rt)
} else {
gm.set_fader_name ("AudioBusFader");
+ Gtk::Fixed *blank = manage(new Gtk::Fixed());
+ controls_button_size_group->add_widget(*blank);
+ if (ARDOUR::Profile->get_mixbus() ) {
+ controls_table.attach (*blank, 0, 1, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
+ } else {
+ controls_table.attach (*blank, 2, 3, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
+ }
+ blank->show();
}
- Gtk::VBox *mtrbox = manage(new Gtk::VBox());
- mtrbox->pack_start(gm.get_level_meter(), false, false, 2);
- controls_hbox.pack_start(*mtrbox, false, false, 4);
- mtrbox->show();
+ top_hbox.pack_end(gm.get_level_meter(), false, false, 2);
+
+ if (!ARDOUR::Profile->get_mixbus()) {
+ controls_meters_size_group->add_widget (gm.get_level_meter());
+ }
_route->meter_change.connect (*this, invalidator (*this), bind (&RouteTimeAxisView::meter_changed, this), gui_context());
_route->input()->changed.connect (*this, invalidator (*this), boost::bind (&RouteTimeAxisView::io_changed, this, _1, _2), gui_context());
_route->output()->changed.connect (*this, invalidator (*this), boost::bind (&RouteTimeAxisView::io_changed, this, _1, _2), gui_context());
+ _route->track_number_changed.connect (*this, invalidator (*this), boost::bind (&RouteTimeAxisView::label_view, this), gui_context());
- controls_table.attach (*mute_button, 6, 7, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND, 0, 0);
-
- if (!_route->is_master()) {
- controls_table.attach (*solo_button, 7, 8, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND, 0, 0);
- }
+ if (ARDOUR::Profile->get_mixbus()) {
+ controls_table.attach (*mute_button, 1, 2, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
+ } else {
+ controls_table.attach (*mute_button, 3, 4, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
+ }
+ // mute button is always present, it is used to
+ // force the 'blank' placeholders to the proper size
+ controls_button_size_group->add_widget(*mute_button);
- controls_table.attach (route_group_button, 7, 8, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND, 0, 0);
- controls_table.attach (gm.get_gain_slider(), 0, 5, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::AttachOptions (0), 3, 0);
+ if (!_route->is_master()) {
+ if (ARDOUR::Profile->get_mixbus()) {
+ controls_table.attach (*solo_button, 2, 3, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
+ } else {
+ controls_table.attach (*solo_button, 4, 5, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
+ }
+ } else {
+ Gtk::Fixed *blank = manage(new Gtk::Fixed());
+ controls_button_size_group->add_widget(*blank);
+ if (ARDOUR::Profile->get_mixbus()) {
+ controls_table.attach (*blank, 2, 3, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
+ } else {
+ controls_table.attach (*blank, 4, 5, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
+ }
+ blank->show();
+ }
+ if (ARDOUR::Profile->get_mixbus()) {
+ controls_table.attach (route_group_button, 2, 3, 2, 3, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
+ controls_table.attach (gm.get_gain_slider(), 3, 5, 2, 3, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND, 1, 0);
+ }
+ else if (!ARDOUR::Profile->get_trx()) {
+ controls_table.attach (route_group_button, 4, 5, 2, 3, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
+ controls_table.attach (gm.get_gain_slider(), 0, 2, 2, 3, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND, 1, 0);
+ }
+
ARDOUR_UI::instance()->set_tip(*solo_button,_("Solo"));
ARDOUR_UI::instance()->set_tip(*mute_button,_("Mute"));
ARDOUR_UI::instance()->set_tip(route_group_button, _("Route Group"));
+ mute_button->set_tweaks(ArdourButton::TrackHeader);
+ solo_button->set_tweaks(ArdourButton::TrackHeader);
+ rec_enable_button->set_tweaks(ArdourButton::TrackHeader);
+ playlist_button.set_tweaks(ArdourButton::TrackHeader);
+ automation_button.set_tweaks(ArdourButton::TrackHeader);
+ route_group_button.set_tweaks(ArdourButton::TrackHeader);
+
if (is_midi_track()) {
ARDOUR_UI::instance()->set_tip(automation_button, _("MIDI Controllers and Automation"));
} else {
ARDOUR_UI::instance()->set_tip(automation_button, _("Automation"));
}
+ update_track_number_visibility();
label_view ();
- controls_table.attach (automation_button, 6, 7, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND);
+ if (ARDOUR::Profile->get_mixbus()) {
+ controls_table.attach (automation_button, 1, 2, 2, 3, Gtk::SHRINK, Gtk::SHRINK);
+ }
+ else if (!ARDOUR::Profile->get_trx()) {
+ controls_table.attach (automation_button, 3, 4, 2, 3, Gtk::SHRINK, Gtk::SHRINK);
+ }
if (is_track() && track()->mode() == ARDOUR::Normal) {
- controls_table.attach (playlist_button, 5, 6, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND);
+ if (ARDOUR::Profile->get_mixbus()) {
+ controls_table.attach (playlist_button, 0, 1, 2, 3, Gtk::SHRINK, Gtk::SHRINK);
+ }
+ else if (!ARDOUR::Profile->get_trx()) {
+ controls_table.attach (playlist_button, 2, 3, 2, 3, Gtk::SHRINK, Gtk::SHRINK);
+ }
}
_y_position = -1;
@@ -243,8 +301,7 @@ RouteTimeAxisView::set_route (boost::shared_ptr<Route> rt)
}
- _editor.ZoomChanged.connect (sigc::mem_fun(*this, &RouteTimeAxisView::reset_samples_per_unit));
- _editor.HorizontalPositionChanged.connect (sigc::mem_fun (*this, &RouteTimeAxisView::horizontal_position_changed));
+ _editor.ZoomChanged.connect (sigc::mem_fun(*this, &RouteTimeAxisView::reset_samples_per_pixel));
ColorsChanged.connect (sigc::mem_fun (*this, &RouteTimeAxisView::color_handler));
PropertyList* plist = new PropertyList();
@@ -254,8 +311,6 @@ RouteTimeAxisView::set_route (boost::shared_ptr<Route> rt)
route_group_menu = new RouteGroupMenu (_session, plist);
- gm.get_gain_slider().signal_scroll_event().connect(sigc::mem_fun(*this, &RouteTimeAxisView::controls_ebox_scroll), false);
-
gm.get_level_meter().signal_scroll_event().connect (sigc::mem_fun (*this, &RouteTimeAxisView::controls_ebox_scroll), false);
}
@@ -328,12 +383,57 @@ RouteTimeAxisView::playlist_changed ()
void
RouteTimeAxisView::label_view ()
{
- string x = _route->name();
-
- if (x != name_label.get_text()) {
+ string x = _route->name ();
+ if (x != name_label.get_text ()) {
name_label.set_text (x);
}
+ const int64_t track_number = _route->track_number ();
+ if (track_number == 0) {
+ number_label.set_text ("");
+ } else {
+ number_label.set_text (PBD::to_string (abs(_route->track_number ()), std::dec));
+ }
+}
+void
+RouteTimeAxisView::update_track_number_visibility ()
+{
+ DisplaySuspender ds;
+ bool show_label = _session->config.get_track_name_number();
+
+ if (_route && _route->is_master()) {
+ show_label = false;
+ }
+
+ if (number_label.get_parent()) {
+ controls_table.remove (number_label);
+ }
+ if (show_label) {
+ if (ARDOUR::Profile->get_mixbus()) {
+ controls_table.attach (number_label, 3, 4, 0, 1, Gtk::SHRINK, Gtk::EXPAND|Gtk::FILL, 1, 0);
+ } else {
+ controls_table.attach (number_label, 0, 1, 0, 1, Gtk::SHRINK, Gtk::EXPAND|Gtk::FILL, 1, 0);
+ }
+ // see ArdourButton::on_size_request(), we should probably use a global size-group here instead.
+ // except the width of the number label is subtracted from the name-hbox, so we
+ // need to explictly calculate it anyway until the name-label & entry become ArdourWidgets.
+ int tnw = (2 + std::max(2u, _session->track_number_decimals())) * number_label.char_pixel_width();
+ if (tnw & 1) --tnw;
+ number_label.set_size_request(tnw, -1);
+ number_label.show ();
+ name_hbox.set_size_request(TimeAxisView::name_width_px - 2 - tnw, -1); // -2 = cellspacing
+ } else {
+ number_label.hide ();
+ name_hbox.set_size_request(TimeAxisView::name_width_px, -1);
+ }
+}
+
+void
+RouteTimeAxisView::parameter_changed (string const & p)
+{
+ if (p == "track-name-number") {
+ update_track_number_visibility();
+ }
}
void
@@ -423,6 +523,14 @@ RouteTimeAxisView::build_display_menu ()
items.push_back (MenuElem (_("Color..."), sigc::mem_fun (*this, &RouteUI::choose_color)));
+ items.push_back (MenuElem (_("Comments..."), sigc::mem_fun (*this, &RouteUI::open_comment_editor)));
+
+ items.push_back (MenuElem (_("Inputs..."), sigc::mem_fun (*this, &RouteUI::edit_input_configuration)));
+
+ items.push_back (MenuElem (_("Outputs..."), sigc::mem_fun (*this, &RouteUI::edit_output_configuration)));
+
+ items.push_back (SeparatorElem());
+
if (_size_menu) {
detach_menu (*_size_menu);
}
@@ -694,7 +802,7 @@ RouteTimeAxisView::build_display_menu ()
}
items.push_back (CheckMenuElem (_("Active")));
- CheckMenuItem* i = dynamic_cast<CheckMenuItem *> (&items.back());
+ Gtk::CheckMenuItem* i = dynamic_cast<Gtk::CheckMenuItem *> (&items.back());
bool click_sets_active = true;
if (active > 0 && inactive == 0) {
i->set_active (true);
@@ -702,6 +810,7 @@ RouteTimeAxisView::build_display_menu ()
} else if (active > 0 && inactive > 0) {
i->set_inconsistent (true);
}
+ i->set_sensitive(! _session->transport_rolling());
i->signal_activate().connect (sigc::bind (sigc::mem_fun (*this, &RouteUI::set_route_active), click_sets_active, true));
items.push_back (SeparatorElem());
@@ -721,7 +830,7 @@ RouteTimeAxisView::set_track_mode (TrackMode mode, bool apply_to_selection)
_editor.get_selection().tracks.foreach_route_time_axis (boost::bind (&RouteTimeAxisView::set_track_mode, _1, mode, false));
} else {
- bool needs_bounce;
+ bool needs_bounce = false;
if (!track()->can_use_mode (mode, needs_bounce)) {
@@ -735,22 +844,6 @@ RouteTimeAxisView::set_track_mode (TrackMode mode, bool apply_to_selection)
}
track()->set_mode (mode);
-
- rec_enable_button->remove ();
-
- switch (mode) {
- case ARDOUR::NonLayered:
- case ARDOUR::Normal:
- rec_enable_button->set_image (::get_icon (X_("record_normal_red")));
- rec_enable_button->set_text (string());
- break;
- case ARDOUR::Destructive:
- rec_enable_button->set_image (::get_icon (X_("record_tape_red")));
- rec_enable_button->set_text (string());
- break;
- }
-
- rec_enable_button->show_all ();
}
}
@@ -784,13 +877,9 @@ RouteTimeAxisView::show_timestretch (framepos_t start, framepos_t end, int layer
#endif
if (timestretch_rect == 0) {
- timestretch_rect = new SimpleRect (*canvas_display ());
- timestretch_rect->property_x1() = 0.0;
- timestretch_rect->property_y1() = 0.0;
- timestretch_rect->property_x2() = 0.0;
- timestretch_rect->property_y2() = 0.0;
- timestretch_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TimeStretchFill.get();
- timestretch_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_TimeStretchOutline.get();
+ timestretch_rect = new ArdourCanvas::Rectangle (canvas_display ());
+ timestretch_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TimeStretchFill());
+ timestretch_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_TimeStretchOutline());
}
timestretch_rect->show ();
@@ -799,10 +888,8 @@ RouteTimeAxisView::show_timestretch (framepos_t start, framepos_t end, int layer
double const x1 = start / _editor.get_current_zoom();
double const x2 = (end - 1) / _editor.get_current_zoom();
- timestretch_rect->property_x1() = x1;
- timestretch_rect->property_y1() = current_height() * (layers - layer - 1) / layers;
- timestretch_rect->property_x2() = x2;
- timestretch_rect->property_y2() = current_height() * (layers - layer) / layers;
+ timestretch_rect->set (ArdourCanvas::Rect (x1, current_height() * (layers - layer - 1) / layers,
+ x2, current_height() * (layers - layer) / layers));
}
void
@@ -909,24 +996,18 @@ RouteTimeAxisView::route_color_changed ()
if (_view) {
_view->apply_color (color(), StreamView::RegionColor);
}
-}
-void
-RouteTimeAxisView::reset_samples_per_unit ()
-{
- set_samples_per_unit (_editor.get_current_zoom());
+ number_label.set_fixed_colors (gdk_color_to_rgba (color()), gdk_color_to_rgba (color()));
}
void
-RouteTimeAxisView::horizontal_position_changed ()
+RouteTimeAxisView::reset_samples_per_pixel ()
{
- if (_view) {
- _view->horizontal_position_changed ();
- }
+ set_samples_per_pixel (_editor.get_current_zoom());
}
void
-RouteTimeAxisView::set_samples_per_unit (double spu)
+RouteTimeAxisView::set_samples_per_pixel (double fpp)
{
double speed = 1.0;
@@ -935,10 +1016,10 @@ RouteTimeAxisView::set_samples_per_unit (double spu)
}
if (_view) {
- _view->set_samples_per_unit (spu * speed);
+ _view->set_samples_per_pixel (fpp * speed);
}
- TimeAxisView::set_samples_per_unit (spu * speed);
+ TimeAxisView::set_samples_per_pixel (fpp * speed);
}
void
@@ -1156,7 +1237,7 @@ RouteTimeAxisView::clear_playlist ()
void
RouteTimeAxisView::speed_changed ()
{
- Gtkmm2ext::UI::instance()->call_slot (invalidator (*this), boost::bind (&RouteTimeAxisView::reset_samples_per_unit, this));
+ Gtkmm2ext::UI::instance()->call_slot (invalidator (*this), boost::bind (&RouteTimeAxisView::reset_samples_per_pixel, this));
}
void
@@ -1341,6 +1422,41 @@ RouteTimeAxisView::find_next_region_boundary (framepos_t pos, int32_t dir)
}
void
+RouteTimeAxisView::fade_range (TimeSelection& selection)
+{
+ boost::shared_ptr<Playlist> what_we_got;
+ boost::shared_ptr<Track> tr = track ();
+ boost::shared_ptr<Playlist> playlist;
+
+ if (tr == 0) {
+ /* route is a bus, not a track */
+ return;
+ }
+
+ playlist = tr->playlist();
+
+ TimeSelection time (selection);
+ float const speed = tr->speed();
+ if (speed != 1.0f) {
+ for (TimeSelection::iterator i = time.begin(); i != time.end(); ++i) {
+ (*i).start = session_frame_to_track_frame((*i).start, speed);
+ (*i).end = session_frame_to_track_frame((*i).end, speed);
+ }
+ }
+
+ playlist->clear_changes ();
+ playlist->clear_owned_changes ();
+
+ playlist->fade_range (time);
+
+ vector<Command*> cmds;
+ playlist->rdiff (cmds);
+ _session->add_commands (cmds);
+ _session->add_command (new StatefulDiffCommand (playlist));
+
+}
+
+void
RouteTimeAxisView::cut_copy_clear (Selection& selection, CutCopyOp op)
{
boost::shared_ptr<Playlist> what_we_got;
@@ -1369,6 +1485,10 @@ RouteTimeAxisView::cut_copy_clear (Selection& selection, CutCopyOp op)
switch (op) {
case Delete:
if (playlist->cut (time) != 0) {
+ if (Config->get_edit_mode() == Ripple)
+ playlist->ripple(time.start(), -time.length(), NULL);
+ // no need to exclude any regions from rippling here
+
vector<Command*> cmds;
playlist->rdiff (cmds);
_session->add_commands (cmds);
@@ -1380,6 +1500,10 @@ RouteTimeAxisView::cut_copy_clear (Selection& selection, CutCopyOp op)
case Cut:
if ((what_we_got = playlist->cut (time)) != 0) {
_editor.get_cut_buffer().add (what_we_got);
+ if (Config->get_edit_mode() == Ripple)
+ playlist->ripple(time.start(), -time.length(), NULL);
+ // no need to exclude any regions from rippling here
+
vector<Command*> cmds;
playlist->rdiff (cmds);
_session->add_commands (cmds);
@@ -1395,6 +1519,9 @@ RouteTimeAxisView::cut_copy_clear (Selection& selection, CutCopyOp op)
case Clear:
if ((what_we_got = playlist->cut (time)) != 0) {
+ if (Config->get_edit_mode() == Ripple)
+ playlist->ripple(time.start(), -time.length(), NULL);
+ // no need to exclude any regions from rippling here
vector<Command*> cmds;
playlist->rdiff (cmds);
@@ -1429,8 +1556,18 @@ RouteTimeAxisView::paste (framepos_t pos, float times, Selection& selection, siz
DEBUG_TRACE (DEBUG::CutNPaste, string_compose ("modified paste to %1\n", pos));
}
- pl->clear_changes ();
+ pl->clear_changes ();
+ if (Config->get_edit_mode() == Ripple) {
+ std::pair<framepos_t, framepos_t> extent = (*p)->get_extent_with_endspace();
+ framecnt_t amount = extent.second - extent.first;
+ pl->ripple(pos, amount * times, boost::shared_ptr<Region>());
+ }
pl->paste (*p, pos, times);
+
+ vector<Command*> cmds;
+ pl->rdiff (cmds);
+ _session->add_commands (cmds);
+
_session->add_command (new StatefulDiffCommand (pl));
return true;
@@ -1634,11 +1771,11 @@ RouteTimeAxisView::color_handler ()
{
//case cTimeStretchOutline:
if (timestretch_rect) {
- timestretch_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_TimeStretchOutline.get();
+ timestretch_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_TimeStretchOutline());
}
//case cTimeStretchFill:
if (timestretch_rect) {
- timestretch_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TimeStretchFill.get();
+ timestretch_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TimeStretchFill());
}
reset_meter();
@@ -2038,12 +2175,12 @@ RouteTimeAxisView::add_processor_to_subplugin_menu (boost::weak_ptr<Processor> p
for (std::set<Evoral::Parameter>::const_iterator i = automatable.begin(); i != automatable.end(); ++i) {
ProcessorAutomationNode* pan;
- CheckMenuItem* mitem;
+ Gtk::CheckMenuItem* mitem;
string name = processor->describe_parameter (*i);
items.push_back (CheckMenuElem (name));
- mitem = dynamic_cast<CheckMenuItem*> (&items.back());
+ mitem = dynamic_cast<Gtk::CheckMenuItem*> (&items.back());
_subplugin_menu_map[*i] = mitem;
@@ -2171,9 +2308,9 @@ RouteTimeAxisView::can_edit_name () const
}
void
-RouteTimeAxisView::update_rec_display ()
+RouteTimeAxisView::blink_rec_display (bool onoff)
{
- RouteUI::update_rec_display ();
+ RouteUI::blink_rec_display (onoff);
}
void
@@ -2415,10 +2552,10 @@ RouteTimeAxisView::set_button_names ()
break;
}
} else {
- solo_button->set_text (_("s"));
+ solo_button->set_text (_("S"));
ARDOUR_UI::instance()->set_tip (*solo_button, _("Solo"));
}
- mute_button->set_text (_("m"));
+ mute_button->set_text (_("M"));
}
Gtk::CheckMenuItem*
@@ -2461,6 +2598,30 @@ RouteTimeAxisView::create_gain_automation_child (const Evoral::Parameter& param,
add_automation_child (Evoral::Parameter(GainAutomation), gain_track, show);
}
+void
+RouteTimeAxisView::create_mute_automation_child (const Evoral::Parameter& param, bool show)
+{
+ boost::shared_ptr<AutomationControl> c = _route->mute_control();
+ if (!c) {
+ error << "Route has no mute automation, unable to add automation track view." << endmsg;
+ return;
+ }
+
+ mute_track.reset (new AutomationTimeAxisView (_session,
+ _route, _route, c, param,
+ _editor,
+ *this,
+ false,
+ parent_canvas,
+ _route->describe_parameter(param)));
+
+ if (_view) {
+ _view->foreach_regionview (sigc::mem_fun (*mute_track.get(), &TimeAxisView::add_ghost));
+ }
+
+ add_automation_child (Evoral::Parameter(MuteAutomation), mute_track, show);
+}
+
static
void add_region_to_list (RegionView* rv, RegionList* l)
{
diff --git a/gtk2_ardour/route_time_axis.h b/gtk2_ardour/route_time_axis.h
index 3a5bc34250..8e0941d591 100644
--- a/gtk2_ardour/route_time_axis.h
+++ b/gtk2_ardour/route_time_axis.h
@@ -43,7 +43,6 @@
#include "route_ui.h"
#include "enums.h"
#include "time_axis_view.h"
-#include "canvas.h"
#include "gain_meter.h"
namespace ARDOUR {
@@ -56,6 +55,10 @@ namespace ARDOUR {
class Playlist;
}
+namespace ArdourCanvas {
+ class Rectangle;
+}
+
class PublicEditor;
class RegionView;
class StreamView;
@@ -79,7 +82,7 @@ public:
void show_selection (TimeSelection&);
void set_button_names ();
- void set_samples_per_unit (double);
+ void set_samples_per_pixel (double);
void set_height (uint32_t h);
void show_timestretch (framepos_t start, framepos_t end, int layers, int layer);
void hide_timestretch ();
@@ -101,6 +104,7 @@ public:
void uncombine_regions ();
void uncombine_region (RegionView*);
void toggle_automation_track (const Evoral::Parameter& param);
+ void fade_range (TimeSelection&);
/* The editor calls these when mapping an operation across multiple tracks */
void use_new_playlist (bool prompt, std::vector<boost::shared_ptr<ARDOUR::Playlist> > const &);
@@ -204,12 +208,11 @@ protected:
void route_property_changed (const PBD::PropertyChange&);
void name_entry_changed ();
- void update_rec_display ();
+ void blink_rec_display (bool onoff);
virtual void label_view ();
- void reset_samples_per_unit ();
- void horizontal_position_changed ();
+ void reset_samples_per_pixel ();
virtual void build_automation_action_menu (bool);
virtual void append_extra_display_menu_items () {}
@@ -235,11 +238,13 @@ protected:
void color_handler ();
void region_view_added (RegionView*);
void create_gain_automation_child (const Evoral::Parameter &, bool);
+ void create_mute_automation_child (const Evoral::Parameter &, bool);
void setup_processor_menu_and_curves ();
void route_color_changed ();
bool can_edit_name() const;
boost::shared_ptr<AutomationTimeAxisView> gain_track;
+ boost::shared_ptr<AutomationTimeAxisView> mute_track;
StreamView* _view;
ArdourCanvas::Canvas& parent_canvas;
@@ -250,6 +255,7 @@ protected:
ArdourButton route_group_button;
ArdourButton playlist_button;
ArdourButton automation_button;
+ ArdourButton number_label;
Gtk::Menu subplugin_menu;
Gtk::Menu* automation_action_menu;
@@ -264,7 +270,7 @@ protected:
void use_playlist (Gtk::RadioMenuItem *item, boost::weak_ptr<ARDOUR::Playlist> wpl);
- ArdourCanvas::SimpleRect* timestretch_rect;
+ ArdourCanvas::Rectangle* timestretch_rect;
void set_track_mode (ARDOUR::TrackMode, bool apply_to_selection = false);
@@ -301,6 +307,8 @@ private:
void remove_child (boost::shared_ptr<TimeAxisView>);
void update_playlist_tip ();
+ void parameter_changed (std::string const & p);
+ void update_track_number_visibility();
};
#endif /* __ardour_route_time_axis_h__ */
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc
index d4c1975e00..c7cec3398a 100644
--- a/gtk2_ardour/route_ui.cc
+++ b/gtk2_ardour/route_ui.cc
@@ -23,6 +23,7 @@
#include <gtkmm2ext/bindable_button.h>
#include <gtkmm2ext/barcontroller.h>
#include <gtkmm2ext/gtk_ui.h>
+#include <gtkmm2ext/utils.h>
#include "ardour/route_group.h"
#include "ardour/dB.h"
@@ -50,6 +51,8 @@
#include "ardour/audioengine.h"
#include "ardour/filename_extensions.h"
#include "ardour/midi_track.h"
+#include "ardour/internal_send.h"
+#include "ardour/send.h"
#include "ardour/route.h"
#include "ardour/session.h"
#include "ardour/template_utils.h"
@@ -58,18 +61,25 @@
using namespace Gtk;
using namespace Gtkmm2ext;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
uint32_t RouteUI::_max_invert_buttons = 3;
PBD::Signal1<void, boost::shared_ptr<Route> > RouteUI::BusSendDisplayChanged;
boost::weak_ptr<Route> RouteUI::_showing_sends_to;
+static const int _button_vpad = 2;
+
RouteUI::RouteUI (ARDOUR::Session* sess)
: AxisView(sess)
, mute_menu(0)
, solo_menu(0)
, sends_menu(0)
, record_menu(0)
+ , comment_window(0)
+ , comment_area(0)
+ , input_selector (0)
+ , output_selector (0)
, _invert_menu(0)
{
if (sess) init ();
@@ -84,7 +94,13 @@ RouteUI::~RouteUI()
delete mute_menu;
delete sends_menu;
delete record_menu;
+ delete comment_window;
+ delete input_selector;
+ delete output_selector;
delete _invert_menu;
+
+ send_blink_connection.disconnect ();
+ rec_blink_connection.disconnect ();
}
void
@@ -112,6 +128,9 @@ RouteUI::init ()
multiple_solo_change = false;
_i_am_the_modifier = 0;
+ input_selector = 0;
+ output_selector = 0;
+
setup_invert_buttons ();
mute_button = manage (new ArdourButton);
@@ -125,9 +144,13 @@ RouteUI::init ()
rec_enable_button = manage (new ArdourButton);
rec_enable_button->set_name ("record enable button");
- rec_enable_button->set_tweaks (ArdourButton::ImplicitUsesSolidColor);
+ rec_enable_button->set_elements ((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::RecButton));
UI::instance()->set_tip (rec_enable_button, _("Enable recording on this track"), "");
+ if (ARDOUR_UI::config()->get_blink_rec_arm()) {
+ rec_blink_connection = ARDOUR_UI::instance()->Blink.connect (sigc::mem_fun (*this, &RouteUI::blink_rec_display));
+ }
+
show_sends_button = manage (new ArdourButton);
show_sends_button->set_name ("send alert button");
UI::instance()->set_tip (show_sends_button, _("make mixer strips show sends to this bus"), "");
@@ -155,7 +178,7 @@ RouteUI::init ()
rec_enable_button->signal_button_release_event().connect (sigc::mem_fun(*this, &RouteUI::rec_enable_release), false);
show_sends_button->signal_button_press_event().connect (sigc::mem_fun(*this, &RouteUI::show_sends_press), false);
- show_sends_button->signal_button_release_event().connect (sigc::mem_fun(*this, &RouteUI::show_sends_release));
+ show_sends_button->signal_button_release_event().connect (sigc::mem_fun(*this, &RouteUI::show_sends_release), false);
solo_button->signal_button_press_event().connect (sigc::mem_fun(*this, &RouteUI::solo_press), false);
solo_button->signal_button_release_event().connect (sigc::mem_fun(*this, &RouteUI::solo_release), false);
@@ -165,11 +188,11 @@ RouteUI::init ()
monitor_input_button->set_distinct_led_click (false);
monitor_disk_button->set_distinct_led_click (false);
- monitor_input_button->signal_button_press_event().connect (sigc::mem_fun(*this, &RouteUI::monitor_input_press));
- monitor_input_button->signal_button_release_event().connect (sigc::mem_fun(*this, &RouteUI::monitor_input_release));
+ monitor_input_button->signal_button_press_event().connect (sigc::mem_fun(*this, &RouteUI::monitor_input_press), false);
+ monitor_input_button->signal_button_release_event().connect (sigc::mem_fun(*this, &RouteUI::monitor_input_release), false);
- monitor_disk_button->signal_button_press_event().connect (sigc::mem_fun(*this, &RouteUI::monitor_disk_press));
- monitor_disk_button->signal_button_release_event().connect (sigc::mem_fun(*this, &RouteUI::monitor_disk_release));
+ monitor_disk_button->signal_button_press_event().connect (sigc::mem_fun(*this, &RouteUI::monitor_disk_press), false);
+ monitor_disk_button->signal_button_release_event().connect (sigc::mem_fun(*this, &RouteUI::monitor_disk_release), false);
BusSendDisplayChanged.connect_same_thread (*this, boost::bind(&RouteUI::bus_send_display_changed, this, _1));
}
@@ -209,18 +232,30 @@ RouteUI::set_route (boost::shared_ptr<Route> rp)
rp->DropReferences.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::self_delete, this), gui_context());
}
+ delete input_selector;
+ input_selector = 0;
+
+ delete output_selector;
+ output_selector = 0;
+
mute_button->set_controllable (_route->mute_control());
solo_button->set_controllable (_route->solo_control());
_route->active_changed.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::route_active_changed, this), gui_context());
_route->mute_changed.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::mute_changed, this, _1), gui_context());
+ _route->comment_changed.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::comment_changed, this, _1), gui_context());
+
_route->solo_changed.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::update_solo_display, this), gui_context());
_route->solo_safe_changed.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::update_solo_display, this), gui_context());
_route->listen_changed.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::update_solo_display, this), gui_context());
_route->solo_isolated_changed.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::update_solo_display, this), gui_context());
+ if (is_track()) {
+ track()->TrackModeChanged.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::track_mode_changed, this), gui_context());
+ track_mode_changed();
+ }
- _route->phase_invert_changed.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::polarity_changed, this), gui_context());
+ _route->phase_invert_changed.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::polarity_changed, this), gui_context());
_route->PropertyChanged.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::property_changed, this, _1), gui_context());
_route->io_changed.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::setup_invert_buttons, this), gui_context ());
@@ -245,8 +280,6 @@ RouteUI::set_route (boost::shared_ptr<Route> rp)
set up the name entry/name label display.
*/
- update_rec_display ();
-
if (is_track()) {
boost::shared_ptr<Track> t = boost::dynamic_pointer_cast<Track>(_route);
t->MonitoringChanged.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::monitoring_changed, this), gui_context());
@@ -275,6 +308,12 @@ RouteUI::set_route (boost::shared_ptr<Route> rp)
update_mute_display ();
update_solo_display ();
+
+ if (!ARDOUR_UI::config()->get_blink_rec_arm()) {
+ blink_rec_display(true); // set initial rec-en button state
+ }
+
+ route_color_changed();
}
void
@@ -294,121 +333,164 @@ RouteUI::mute_press (GdkEventButton* ev)
return true;
}
+ //if this is a binding action, let the ArdourButton handle it
+ if ( BindingProxy::is_bind_action(ev) )
+ return false;
+
multiple_mute_change = false;
- if (!_i_am_the_modifier) {
-
- if (Keyboard::is_context_menu_event (ev)) {
-
- if (mute_menu == 0){
- build_mute_menu();
- }
+ if (Keyboard::is_context_menu_event (ev)) {
- mute_menu->popup(0,ev->time);
-
- } else {
+ if (mute_menu == 0){
+ build_mute_menu();
+ }
- if (Keyboard::is_button2_event (ev)) {
- // Primary-button2 click is the midi binding click
- // button2-click is "momentary"
+ mute_menu->popup(0,ev->time);
+
+ return true;
+ } else {
- if (mute_button->on_button_press_event (ev)) {
- return true;
- }
+ if (Keyboard::is_button2_event (ev)) {
+ // button2-click is "momentary"
- _mute_release = new SoloMuteRelease (_route->muted ());
- }
+ _mute_release = new SoloMuteRelease (_route->muted ());
+ }
- if (ev->button == 1 || Keyboard::is_button2_event (ev)) {
+ if (ev->button == 1 || Keyboard::is_button2_event (ev)) {
- if (Keyboard::modifier_state_equals (ev->state, Keyboard::ModifierMask (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier))) {
+ if (Keyboard::modifier_state_equals (ev->state, Keyboard::ModifierMask (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier))) {
- /* toggle mute on everything (but
- * exclude the master and monitor)
- *
- * because we are going to erase
- * elements of the list we need to work
- * on a copy.
- */
+ /* toggle mute on everything (but
+ * exclude the master and monitor)
+ *
+ * because we are going to erase
+ * elements of the list we need to work
+ * on a copy.
+ */
- boost::shared_ptr<RouteList> copy (new RouteList);
+ boost::shared_ptr<RouteList> copy (new RouteList);
- *copy = *_session->get_routes ();
+ *copy = *_session->get_routes ();
- for (RouteList::iterator i = copy->begin(); i != copy->end(); ) {
- if ((*i)->is_master() || (*i)->is_monitor()) {
- i = copy->erase (i);
- } else {
- ++i;
- }
+ for (RouteList::iterator i = copy->begin(); i != copy->end(); ) {
+ if ((*i)->is_master() || (*i)->is_monitor()) {
+ i = copy->erase (i);
+ } else {
+ ++i;
}
+ }
- if (_mute_release) {
- _mute_release->routes = copy;
- }
+ if (_mute_release) {
+ _mute_release->routes = copy;
+ }
- _session->set_mute (copy, !_route->muted());
+ DisplaySuspender ds;
+ _session->set_mute (copy, !_route->muted());
- } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
+ } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
- /* Primary-button1 applies change to the mix group even if it is not active
- NOTE: Primary-button2 is MIDI learn.
- */
+ /* Primary-button1 applies change to the mix group even if it is not active
+ NOTE: Primary-button2 is MIDI learn.
+ */
- boost::shared_ptr<RouteList> rl;
+ boost::shared_ptr<RouteList> rl;
- if (ev->button == 1) {
+ if (ev->button == 1) {
- if (_route->route_group()) {
+ if (_route->route_group()) {
- rl = _route->route_group()->route_list();
+ rl = _route->route_group()->route_list();
- if (_mute_release) {
- _mute_release->routes = rl;
- }
- } else {
- rl.reset (new RouteList);
- rl->push_back (_route);
+ if (_mute_release) {
+ _mute_release->routes = rl;
}
-
- _session->set_mute (rl, !_route->muted(), Session::rt_cleanup, true);
+ } else {
+ rl.reset (new RouteList);
+ rl->push_back (_route);
}
- } else {
+ DisplaySuspender ds;
+ _session->set_mute (rl, !_route->muted(), Session::rt_cleanup, true);
+ }
- /* plain click applies change to this route */
+ } else {
- boost::shared_ptr<RouteList> rl (new RouteList);
- rl->push_back (_route);
+ /* plain click applies change to this route */
+
+ boost::shared_ptr<RouteList> rl (new RouteList);
+ rl->push_back (_route);
- if (_mute_release) {
- _mute_release->routes = rl;
- }
+ if (_mute_release) {
+ _mute_release->routes = rl;
+ }
- _session->set_mute (rl, !_route->muted());
+ _session->set_mute (rl, !_route->muted());
- }
}
}
-
}
- return true;
+ return false;
}
bool
-RouteUI::mute_release (GdkEventButton*)
+RouteUI::mute_release (GdkEventButton* /*ev*/)
{
- if (!_i_am_the_modifier) {
- if (_mute_release){
- _session->set_mute (_mute_release->routes, _mute_release->active, Session::rt_cleanup, true);
- delete _mute_release;
- _mute_release = 0;
+ if (_mute_release){
+ DisplaySuspender ds;
+ _session->set_mute (_mute_release->routes, _mute_release->active, Session::rt_cleanup, true);
+ delete _mute_release;
+ _mute_release = 0;
+ }
+
+ return false;
+}
+
+void
+RouteUI::edit_output_configuration ()
+{
+ if (output_selector == 0) {
+
+ boost::shared_ptr<Send> send;
+ boost::shared_ptr<IO> output;
+
+ if ((send = boost::dynamic_pointer_cast<Send>(_current_delivery)) != 0) {
+ if (!boost::dynamic_pointer_cast<InternalSend>(send)) {
+ output = send->output();
+ } else {
+ output = _route->output ();
+ }
+ } else {
+ output = _route->output ();
}
+
+ output_selector = new IOSelectorWindow (_session, output);
}
- return true;
+ if (output_selector->is_visible()) {
+ output_selector->get_toplevel()->get_window()->raise();
+ } else {
+ output_selector->present ();
+ }
+
+ output_selector->set_keep_above (true);
+}
+
+void
+RouteUI::edit_input_configuration ()
+{
+ if (input_selector == 0) {
+ input_selector = new IOSelectorWindow (_session, _route->input());
+ }
+
+ if (input_selector->is_visible()) {
+ input_selector->get_toplevel()->get_window()->raise();
+ } else {
+ input_selector->present ();
+ }
+
+ input_selector->set_keep_above (true);
}
bool
@@ -420,164 +502,161 @@ RouteUI::solo_press(GdkEventButton* ev)
return true;
}
+ //if this is a binding action, let the ArdourButton handle it
+ if ( BindingProxy::is_bind_action(ev) )
+ return false;
+
multiple_solo_change = false;
- if (!_i_am_the_modifier) {
+ if (Keyboard::is_context_menu_event (ev)) {
- if (Keyboard::is_context_menu_event (ev)) {
+ if (! (solo_isolated_led && solo_isolated_led->is_visible()) ||
+ ! (solo_safe_led && solo_safe_led->is_visible())) {
- if (! (solo_isolated_led && solo_isolated_led->is_visible()) ||
- ! (solo_safe_led && solo_safe_led->is_visible())) {
-
- if (solo_menu == 0) {
- build_solo_menu ();
- }
-
- solo_menu->popup (1, ev->time);
- }
-
- } else {
+ if (solo_menu == 0) {
+ build_solo_menu ();
+ }
- if (Keyboard::is_button2_event (ev)) {
+ solo_menu->popup (1, ev->time);
+ }
- // Primary-button2 click is the midi binding click
- // button2-click is "momentary"
+ } else {
- if (solo_button->on_button_press_event (ev)) {
- return true;
- }
+ if (Keyboard::is_button2_event (ev)) {
- _solo_release = new SoloMuteRelease (_route->self_soloed());
- }
+ // button2-click is "momentary"
+ _solo_release = new SoloMuteRelease (_route->self_soloed());
+ }
- if (ev->button == 1 || Keyboard::is_button2_event (ev)) {
+ if (ev->button == 1 || Keyboard::is_button2_event (ev)) {
- if (Keyboard::modifier_state_equals (ev->state, Keyboard::ModifierMask (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier))) {
+ if (Keyboard::modifier_state_equals (ev->state, Keyboard::ModifierMask (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier))) {
- /* Primary-Tertiary-click applies change to all routes */
+ /* Primary-Tertiary-click applies change to all routes */
- if (_solo_release) {
- _solo_release->routes = _session->get_routes ();
- }
+ if (_solo_release) {
+ _solo_release->routes = _session->get_routes ();
+ }
- if (Config->get_solo_control_is_listen_control()) {
- _session->set_listen (_session->get_routes(), !_route->listening_via_monitor(), Session::rt_cleanup, true);
- } else {
- _session->set_solo (_session->get_routes(), !_route->self_soloed(), Session::rt_cleanup, true);
- }
+ DisplaySuspender ds;
+ if (Config->get_solo_control_is_listen_control()) {
+ _session->set_listen (_session->get_routes(), !_route->listening_via_monitor(), Session::rt_cleanup, true);
+ } else {
+ _session->set_solo (_session->get_routes(), !_route->self_soloed(), Session::rt_cleanup, true);
+ }
- } else if (Keyboard::modifier_state_contains (ev->state, Keyboard::ModifierMask (Keyboard::PrimaryModifier|Keyboard::SecondaryModifier))) {
+ } else if (Keyboard::modifier_state_contains (ev->state, Keyboard::ModifierMask (Keyboard::PrimaryModifier|Keyboard::SecondaryModifier))) {
- // Primary-Secondary-click: exclusively solo this track
+ // Primary-Secondary-click: exclusively solo this track
- if (_solo_release) {
- _solo_release->exclusive = true;
+ if (_solo_release) {
+ _solo_release->exclusive = true;
- boost::shared_ptr<RouteList> routes = _session->get_routes();
+ boost::shared_ptr<RouteList> routes = _session->get_routes();
- for (RouteList::iterator i = routes->begin(); i != routes->end(); ++i) {
- if ((*i)->soloed ()) {
- _solo_release->routes_on->push_back (*i);
- } else {
- _solo_release->routes_off->push_back (*i);
- }
+ for (RouteList::iterator i = routes->begin(); i != routes->end(); ++i) {
+ if ((*i)->soloed ()) {
+ _solo_release->routes_on->push_back (*i);
+ } else {
+ _solo_release->routes_off->push_back (*i);
}
}
+ }
- if (Config->get_solo_control_is_listen_control()) {
- /* ??? we need a just_one_listen() method */
- } else {
- _session->set_just_one_solo (_route, true);
- }
+ if (Config->get_solo_control_is_listen_control()) {
+ /* ??? we need a just_one_listen() method */
+ } else {
+ DisplaySuspender ds;
+ _session->set_just_one_solo (_route, true);
+ }
- } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::TertiaryModifier)) {
+ } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::TertiaryModifier)) {
- // shift-click: toggle solo isolated status
+ // shift-click: toggle solo isolated status
- _route->set_solo_isolated (!_route->solo_isolated(), this);
- delete _solo_release;
- _solo_release = 0;
+ _route->set_solo_isolated (!_route->solo_isolated(), this);
+ delete _solo_release;
+ _solo_release = 0;
- } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
+ } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
- /* Primary-button1: solo mix group.
- NOTE: Primary-button2 is MIDI learn.
- */
+ /* Primary-button1: solo mix group.
+ NOTE: Primary-button2 is MIDI learn.
+ */
- /* Primary-button1 applies change to the mix group even if it is not active
- NOTE: Primary-button2 is MIDI learn.
- */
+ /* Primary-button1 applies change to the mix group even if it is not active
+ NOTE: Primary-button2 is MIDI learn.
+ */
- boost::shared_ptr<RouteList> rl;
+ boost::shared_ptr<RouteList> rl;
- if (ev->button == 1) {
+ if (ev->button == 1) {
- if (_route->route_group()) {
+ if (_route->route_group()) {
- rl = _route->route_group()->route_list();
+ rl = _route->route_group()->route_list();
- if (_solo_release) {
- _solo_release->routes = rl;
- }
- } else {
- rl.reset (new RouteList);
- rl->push_back (_route);
+ if (_solo_release) {
+ _solo_release->routes = rl;
}
+ } else {
+ rl.reset (new RouteList);
+ rl->push_back (_route);
+ }
- if (Config->get_solo_control_is_listen_control()) {
- _session->set_listen (rl, !_route->listening_via_monitor(), Session::rt_cleanup, true);
- } else {
- _session->set_solo (rl, !_route->self_soloed(), Session::rt_cleanup, true);
- }
+ DisplaySuspender ds;
+ if (Config->get_solo_control_is_listen_control()) {
+ _session->set_listen (rl, !_route->listening_via_monitor(), Session::rt_cleanup, true);
+ } else {
+ _session->set_solo (rl, !_route->self_soloed(), Session::rt_cleanup, true);
}
+ }
- } else {
+ } else {
- /* click: solo this route */
+ /* click: solo this route */
- boost::shared_ptr<RouteList> rl (new RouteList);
- rl->push_back (route());
+ boost::shared_ptr<RouteList> rl (new RouteList);
+ rl->push_back (route());
- if (_solo_release) {
- _solo_release->routes = rl;
- }
+ if (_solo_release) {
+ _solo_release->routes = rl;
+ }
- if (Config->get_solo_control_is_listen_control()) {
- _session->set_listen (rl, !_route->listening_via_monitor());
- } else {
- _session->set_solo (rl, !_route->self_soloed());
- }
+ DisplaySuspender ds;
+ if (Config->get_solo_control_is_listen_control()) {
+ _session->set_listen (rl, !_route->listening_via_monitor());
+ } else {
+ _session->set_solo (rl, !_route->self_soloed());
}
}
}
}
- return true;
+ return false;
}
bool
-RouteUI::solo_release (GdkEventButton*)
+RouteUI::solo_release (GdkEventButton* /*ev*/)
{
- if (!_i_am_the_modifier) {
+ if (_solo_release) {
- if (_solo_release) {
-
- if (_solo_release->exclusive) {
+ if (_solo_release->exclusive) {
+ } else {
+ DisplaySuspender ds;
+ if (Config->get_solo_control_is_listen_control()) {
+ _session->set_listen (_solo_release->routes, _solo_release->active, Session::rt_cleanup, true);
} else {
- if (Config->get_solo_control_is_listen_control()) {
- _session->set_listen (_solo_release->routes, _solo_release->active, Session::rt_cleanup, true);
- } else {
- _session->set_solo (_solo_release->routes, _solo_release->active, Session::rt_cleanup, true);
- }
+ _session->set_solo (_solo_release->routes, _solo_release->active, Session::rt_cleanup, true);
}
-
- delete _solo_release;
- _solo_release = 0;
}
+
+ delete _solo_release;
+ _solo_release = 0;
}
- return true;
+ return false;
}
bool
@@ -587,10 +666,14 @@ RouteUI::rec_enable_press(GdkEventButton* ev)
return true;
}
+ //if this is a binding action, let the ArdourButton handle it
+ if ( BindingProxy::is_bind_action(ev) )
+ return false;
+
if (!_session->engine().connected()) {
- MessageDialog msg (_("Not connected to JACK - cannot engage record"));
+ MessageDialog msg (_("Not connected to AudioEngine - cannot engage record"));
msg.run ();
- return true;
+ return false;
}
if (is_midi_track()) {
@@ -599,20 +682,21 @@ RouteUI::rec_enable_press(GdkEventButton* ev)
if (midi_track()->step_editing()) {
midi_track()->set_step_editing (false);
- return true;
+ return false;
}
}
- if (!_i_am_the_modifier && is_track() && rec_enable_button) {
+ if (is_track() && rec_enable_button) {
if (Keyboard::is_button2_event (ev)) {
-
- // do nothing on midi sigc::bind event
- return rec_enable_button->on_button_press_event (ev);
+
+ //rec arm does not have a momentary mode
+ return false;
} else if (Keyboard::modifier_state_equals (ev->state, Keyboard::ModifierMask (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier))) {
- _session->set_record_enabled (_session->get_routes(), !rec_enable_button->active_state());
+ DisplaySuspender ds;
+ _session->set_record_enabled (_session->get_routes(), !_route->record_enabled());
} else if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
@@ -632,8 +716,9 @@ RouteUI::rec_enable_press(GdkEventButton* ev)
rl.reset (new RouteList);
rl->push_back (_route);
}
-
- _session->set_record_enabled (rl, !rec_enable_button->active_state(), Session::rt_cleanup, true);
+
+ DisplaySuspender ds;
+ _session->set_record_enabled (rl, !_route->record_enabled(), Session::rt_cleanup, true);
}
} else if (Keyboard::is_context_menu_event (ev)) {
@@ -644,11 +729,12 @@ RouteUI::rec_enable_press(GdkEventButton* ev)
boost::shared_ptr<RouteList> rl (new RouteList);
rl->push_back (route());
- _session->set_record_enabled (rl, !rec_enable_button->active_state());
+ DisplaySuspender ds;
+ _session->set_record_enabled (rl, !_route->record_enabled());
}
}
- return true;
+ return false;
}
void
@@ -696,7 +782,7 @@ RouteUI::update_monitoring_display ()
bool
RouteUI::monitor_input_press(GdkEventButton*)
{
- return true;
+ return false;
}
bool
@@ -708,7 +794,7 @@ RouteUI::monitor_input_release(GdkEventButton* ev)
bool
RouteUI::monitor_disk_press (GdkEventButton*)
{
- return true;
+ return false;
}
bool
@@ -761,9 +847,10 @@ RouteUI::monitor_release (GdkEventButton* ev, MonitorChoice monitor_choice)
rl->push_back (route());
}
+ DisplaySuspender ds;
_session->set_monitoring (rl, mc, Session::rt_cleanup, true);
- return true;
+ return false;
}
void
@@ -784,7 +871,7 @@ RouteUI::build_record_menu ()
MenuList& items = record_menu->items();
items.push_back (CheckMenuElem (_("Step Entry"), sigc::mem_fun (*this, &RouteUI::toggle_step_edit)));
- step_edit_item = dynamic_cast<CheckMenuItem*> (&items.back());
+ step_edit_item = dynamic_cast<Gtk::CheckMenuItem*> (&items.back());
if (_route->record_enabled()) {
step_edit_item->set_sensitive (false);
@@ -840,10 +927,10 @@ RouteUI::rec_enable_release (GdkEventButton* ev)
if (record_menu) {
record_menu->popup (1, ev->time);
}
- return true;
+ return false;
}
- return true;
+ return false;
}
void
@@ -944,7 +1031,7 @@ RouteUI::show_sends_press(GdkEventButton* ev)
return true;
}
- if (!_i_am_the_modifier && !is_track() && show_sends_button) {
+ if (!is_track() && show_sends_button) {
if (Keyboard::is_button2_event (ev) && Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
@@ -1151,23 +1238,26 @@ RouteUI::update_mute_display ()
void
RouteUI::route_rec_enable_changed ()
{
- update_rec_display ();
+ blink_rec_display(true); //this lets the button change "immediately" rather than wait for the next blink
update_monitoring_display ();
}
void
RouteUI::session_rec_enable_changed ()
{
- update_rec_display ();
+ blink_rec_display(true); //this lets the button change "immediately" rather than wait for the next blink
update_monitoring_display ();
}
void
-RouteUI::update_rec_display ()
+RouteUI::blink_rec_display (bool blinkOn)
{
if (!rec_enable_button || !_route) {
return;
}
+ if (boost::dynamic_pointer_cast<Send>(_current_delivery)) {
+ return;
+ }
if (_route->record_enabled()) {
switch (_session->record_status ()) {
@@ -1177,7 +1267,10 @@ RouteUI::update_rec_display ()
case Session::Disabled:
case Session::Enabled:
- rec_enable_button->set_active_state (Gtkmm2ext::ImplicitActive);
+ if ( ARDOUR_UI::config()->get_blink_rec_arm() )
+ rec_enable_button->set_active_state ( blinkOn ? Gtkmm2ext::ExplicitActive : Gtkmm2ext::Off );
+ else
+ rec_enable_button->set_active_state ( ImplicitActive );
break;
}
@@ -1206,20 +1299,20 @@ RouteUI::build_solo_menu (void)
solo_menu = new Menu;
solo_menu->set_name ("ArdourContextMenu");
MenuList& items = solo_menu->items();
- CheckMenuItem* check;
+ Gtk::CheckMenuItem* check;
- check = new CheckMenuItem(_("Solo Isolate"));
+ check = new Gtk::CheckMenuItem(_("Solo Isolate"));
check->set_active (_route->solo_isolated());
check->signal_toggled().connect (sigc::bind (sigc::mem_fun (*this, &RouteUI::toggle_solo_isolated), check));
items.push_back (CheckMenuElem(*check));
- solo_isolated_check = dynamic_cast<CheckMenuItem*>(&items.back());
+ solo_isolated_check = dynamic_cast<Gtk::CheckMenuItem*>(&items.back());
check->show_all();
- check = new CheckMenuItem(_("Solo Safe"));
+ check = new Gtk::CheckMenuItem(_("Solo Safe"));
check->set_active (_route->solo_safe());
check->signal_toggled().connect (sigc::bind (sigc::mem_fun (*this, &RouteUI::toggle_solo_safe), check));
items.push_back (CheckMenuElem(*check));
- solo_safe_check = dynamic_cast<CheckMenuItem*>(&items.back());
+ solo_safe_check = dynamic_cast<Gtk::CheckMenuItem*>(&items.back());
check->show_all();
//items.push_back (SeparatorElem());
@@ -1237,25 +1330,25 @@ RouteUI::build_mute_menu(void)
MenuList& items = mute_menu->items();
- pre_fader_mute_check = manage (new CheckMenuItem(_("Pre Fader Sends")));
+ pre_fader_mute_check = manage (new Gtk::CheckMenuItem(_("Pre Fader Sends")));
init_mute_menu(MuteMaster::PreFader, pre_fader_mute_check);
pre_fader_mute_check->signal_toggled().connect(sigc::bind (sigc::mem_fun (*this, &RouteUI::toggle_mute_menu), MuteMaster::PreFader, pre_fader_mute_check));
items.push_back (CheckMenuElem(*pre_fader_mute_check));
pre_fader_mute_check->show_all();
- post_fader_mute_check = manage (new CheckMenuItem(_("Post Fader Sends")));
+ post_fader_mute_check = manage (new Gtk::CheckMenuItem(_("Post Fader Sends")));
init_mute_menu(MuteMaster::PostFader, post_fader_mute_check);
post_fader_mute_check->signal_toggled().connect(sigc::bind (sigc::mem_fun (*this, &RouteUI::toggle_mute_menu), MuteMaster::PostFader, post_fader_mute_check));
items.push_back (CheckMenuElem(*post_fader_mute_check));
post_fader_mute_check->show_all();
- listen_mute_check = manage (new CheckMenuItem(_("Control Outs")));
+ listen_mute_check = manage (new Gtk::CheckMenuItem(_("Control Outs")));
init_mute_menu(MuteMaster::Listen, listen_mute_check);
listen_mute_check->signal_toggled().connect(sigc::bind (sigc::mem_fun (*this, &RouteUI::toggle_mute_menu), MuteMaster::Listen, listen_mute_check));
items.push_back (CheckMenuElem(*listen_mute_check));
listen_mute_check->show_all();
- main_mute_check = manage (new CheckMenuItem(_("Main Outs")));
+ main_mute_check = manage (new Gtk::CheckMenuItem(_("Main Outs")));
init_mute_menu(MuteMaster::Main, main_mute_check);
main_mute_check->signal_toggled().connect(sigc::bind (sigc::mem_fun (*this, &RouteUI::toggle_mute_menu), MuteMaster::Main, main_mute_check));
items.push_back (CheckMenuElem(*main_mute_check));
@@ -1268,7 +1361,7 @@ RouteUI::build_mute_menu(void)
}
void
-RouteUI::init_mute_menu(MuteMaster::MutePoint mp, CheckMenuItem* check)
+RouteUI::init_mute_menu(MuteMaster::MutePoint mp, Gtk::CheckMenuItem* check)
{
check->set_active (_route->mute_points() & mp);
}
@@ -1319,36 +1412,38 @@ RouteUI::muting_change ()
bool
RouteUI::solo_isolate_button_release (GdkEventButton* ev)
{
- if (ev->type == GDK_2BUTTON_PRESS || ev->type == GDK_3BUTTON_PRESS) {
- return true;
- }
+ if (ev->type == GDK_2BUTTON_PRESS || ev->type == GDK_3BUTTON_PRESS) {
+ return true;
+ }
- bool view = solo_isolated_led->active_state();
- bool model = _route->solo_isolated();
+ bool view = solo_isolated_led->active_state();
+ bool model = _route->solo_isolated();
- /* called BEFORE the view has changed */
+ /* called BEFORE the view has changed */
- if (ev->button == 1) {
- if (Keyboard::modifier_state_equals (ev->state, Keyboard::ModifierMask (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier))) {
+ if (ev->button == 1) {
+ if (Keyboard::modifier_state_equals (ev->state, Keyboard::ModifierMask (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier))) {
- if (model) {
- /* disable isolate for all routes */
- _session->set_solo_isolated (_session->get_routes(), false, Session::rt_cleanup, true);
- }
+ if (model) {
+ /* disable isolate for all routes */
+ DisplaySuspender ds;
+ _session->set_solo_isolated (_session->get_routes(), false, Session::rt_cleanup, true);
+ }
- } else {
- if (model == view) {
+ } else {
+ if (model == view) {
- /* flip just this route */
+ /* flip just this route */
- boost::shared_ptr<RouteList> rl (new RouteList);
- rl->push_back (_route);
- _session->set_solo_isolated (rl, !view, Session::rt_cleanup, true);
- }
- }
- }
+ boost::shared_ptr<RouteList> rl (new RouteList);
+ rl->push_back (_route);
+ DisplaySuspender ds;
+ _session->set_solo_isolated (rl, !view, Session::rt_cleanup, true);
+ }
+ }
+ }
- return true;
+ return false;
}
bool
@@ -1356,7 +1451,6 @@ RouteUI::solo_safe_button_release (GdkEventButton* ev)
{
if (ev->button == 1) {
_route->set_solo_safe (!solo_safe_led->active_state(), this);
- return true;
}
return false;
}
@@ -1380,8 +1474,7 @@ RouteUI::toggle_solo_safe (Gtk::CheckMenuItem* check)
_route->set_solo_safe (check->get_active(), this);
}
-/** Ask the user to choose a colour, and then set all selected tracks
- * to that colour.
+/** Ask the user to choose a colour, and then apply that color to my route
*/
void
RouteUI::choose_color ()
@@ -1390,9 +1483,7 @@ RouteUI::choose_color ()
Gdk::Color const color = Gtkmm2ext::UI::instance()->get_color (_("Color Selection"), picked, &_color);
if (picked) {
- ARDOUR_UI::instance()->the_editor().get_selection().tracks.foreach_route_ui (
- boost::bind (&RouteUI::set_color, _1, color)
- );
+ set_color(color);
}
}
@@ -1500,6 +1591,7 @@ edit your ardour.rc file to set the\n\
gint
RouteUI::idle_remove_this_route (RouteUI *rui)
{
+ DisplaySuspender ds;
rui->_session->remove_route (rui->route());
return false;
}
@@ -1578,6 +1670,81 @@ RouteUI::property_changed (const PropertyChange& what_changed)
}
void
+RouteUI::toggle_comment_editor ()
+{
+// if (ignore_toggle) {
+// return;
+// }
+
+ if (comment_window && comment_window->is_visible ()) {
+ comment_window->hide ();
+ } else {
+ open_comment_editor ();
+ }
+}
+
+
+void
+RouteUI::open_comment_editor ()
+{
+ if (comment_window == 0) {
+ setup_comment_editor ();
+ }
+
+ string title;
+ title = _route->name();
+ title += _(": comment editor");
+
+ comment_window->set_title (title);
+ comment_window->present();
+}
+
+void
+RouteUI::setup_comment_editor ()
+{
+ comment_window = new ArdourWindow (""); // title will be reset to show route
+ comment_window->set_skip_taskbar_hint (true);
+ comment_window->signal_hide().connect (sigc::mem_fun(*this, &MixerStrip::comment_editor_done_editing));
+ comment_window->set_default_size (400, 200);
+
+ comment_area = manage (new TextView());
+ comment_area->set_name ("MixerTrackCommentArea");
+ comment_area->set_wrap_mode (WRAP_WORD);
+ comment_area->set_editable (true);
+ comment_area->get_buffer()->set_text (_route->comment());
+ comment_area->show ();
+
+ comment_window->add (*comment_area);
+}
+
+void
+RouteUI::comment_changed (void *src)
+{
+ ENSURE_GUI_THREAD (*this, &MixerStrip::comment_changed, src)
+
+ if (src != this) {
+ ignore_comment_edit = true;
+ if (comment_area) {
+ comment_area->get_buffer()->set_text (_route->comment());
+ }
+ ignore_comment_edit = false;
+ }
+}
+
+void
+RouteUI::comment_editor_done_editing ()
+{
+ ENSURE_GUI_THREAD (*this, &MixerStrip::comment_editor_done_editing, src)
+
+ string const str = comment_area->get_buffer()->get_text();
+ if (str == _route->comment ()) {
+ return;
+ }
+
+ _route->set_comment (str, this);
+}
+
+void
RouteUI::set_route_active (bool a, bool apply_to_selection)
{
if (apply_to_selection) {
@@ -1755,6 +1922,14 @@ RouteUI::parameter_changed (string const & p)
set_button_names ();
} else if (p == "auto-input") {
update_monitoring_display ();
+ } else if (p == "blink-rec-arm") {
+ if (ARDOUR_UI::config()->get_blink_rec_arm()) {
+ rec_blink_connection.disconnect ();
+ rec_blink_connection = ARDOUR_UI::instance()->Blink.connect (sigc::mem_fun (*this, &RouteUI::blink_rec_display));
+ } else {
+ rec_blink_connection.disconnect ();
+ RouteUI::blink_rec_display(false);
+ }
}
}
@@ -1816,13 +1991,14 @@ RouteUI::open_remote_control_id_dialog ()
(_route->is_master() ? _("the master bus") : _("the monitor bus"))));
} else {
l->set_markup (string_compose (_("The remote control ID of %5 is: %2\n\n\n"
- "Remote Control IDs are currently determined by track/bus ordering in Ardour.\n\n"
+ "Remote Control IDs are currently determined by track/bus ordering in %6.\n\n"
"%3Use the User Interaction tab of the Preferences window if you want to change this%4"),
(is_track() ? _("track") : _("bus")),
_route->remote_control_id(),
"<span size=\"small\" style=\"italic\">",
"</span>",
- Glib::Markup::escape_text (_route->name())));
+ Glib::Markup::escape_text (_route->name()),
+ PROGRAM_NAME));
}
dialog.get_vbox()->pack_start (*l);
dialog.add_button (Stock::OK, RESPONSE_CANCEL);
@@ -1856,9 +2032,8 @@ RouteUI::setup_invert_buttons ()
for (uint32_t i = 0; i < to_add; ++i) {
ArdourButton* b = manage (new ArdourButton);
- b->set_size_request(20,20);
- b->signal_button_press_event().connect (sigc::mem_fun (*this, &RouteUI::invert_press));
- b->signal_button_release_event().connect (sigc::bind (sigc::mem_fun (*this, &RouteUI::invert_release), i));
+ b->signal_button_press_event().connect (sigc::mem_fun (*this, &RouteUI::invert_press), false);
+ b->signal_button_release_event().connect (sigc::bind (sigc::mem_fun (*this, &RouteUI::invert_release), i), false);
b->set_name (X_("invert button"));
if (to_add == 1) {
@@ -1888,8 +2063,6 @@ RouteUI::setup_invert_buttons ()
void
RouteUI::set_invert_button_state ()
{
- ++_i_am_the_modifier;
-
uint32_t const N = _route->input()->n_ports().n_audio();
if (N > _max_invert_buttons) {
@@ -1917,8 +2090,6 @@ RouteUI::set_invert_button_state ()
}
}
-
- --_i_am_the_modifier;
}
bool
@@ -1929,7 +2100,7 @@ RouteUI::invert_release (GdkEventButton* ev, uint32_t i)
if (N <= _max_invert_buttons) {
/* left-click inverts phase so long as we have a button per channel */
_route->set_phase_invert (i, !_invert_buttons[i]->get_active());
- return true;
+ return false;
}
}
return false;
@@ -1947,7 +2118,7 @@ RouteUI::invert_press (GdkEventButton* ev)
up a menu on right-click; left click is handled
on release.
*/
- return true;
+ return false;
}
delete _invert_menu;
@@ -1957,7 +2128,7 @@ RouteUI::invert_press (GdkEventButton* ev)
for (uint32_t i = 0; i < N; ++i) {
items.push_back (CheckMenuElem (string_compose (X_("Ø%1"), i + 1), sigc::bind (sigc::mem_fun (*this, &RouteUI::invert_menu_toggled), i)));
- CheckMenuItem* e = dynamic_cast<CheckMenuItem*> (&items.back ());
+ Gtk::CheckMenuItem* e = dynamic_cast<Gtk::CheckMenuItem*> (&items.back ());
++_i_am_the_modifier;
e->set_active (_route->phase_invert (i));
--_i_am_the_modifier;
@@ -1965,7 +2136,7 @@ RouteUI::invert_press (GdkEventButton* ev)
_invert_menu->popup (0, ev->time);
- return false;
+ return true;
}
void
@@ -2005,6 +2176,22 @@ RouteUI::route_gui_changed (string what_changed)
}
}
+void
+RouteUI::track_mode_changed (void)
+{
+ assert(is_track());
+ switch (track()->mode()) {
+ case ARDOUR::NonLayered:
+ case ARDOUR::Normal:
+ rec_enable_button->set_elements ((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::RecButton));
+ break;
+ case ARDOUR::Destructive:
+ rec_enable_button->set_elements ((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::RecButton|ArdourButton::RecTapeMode));
+ break;
+ }
+ rec_enable_button->queue_draw();
+}
+
/** @return the color that this route should use; it maybe its own,
or it maybe that of its route group.
*/
@@ -2014,7 +2201,9 @@ RouteUI::color () const
RouteGroup* g = _route->route_group ();
if (g && g->is_color()) {
- return GroupTabs::group_color (g);
+ Gdk::Color c;
+ set_color_from_rgba (c, GroupTabs::group_color (g));
+ return c;
}
return _color;
diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h
index 245101f616..569fe12552 100644
--- a/gtk2_ardour/route_ui.h
+++ b/gtk2_ardour/route_ui.h
@@ -25,6 +25,8 @@
#include "pbd/xml++.h"
#include "pbd/signals.h"
+#include <gtkmm/textview.h>
+
#include "gtkmm2ext/widget_state.h"
#include "ardour/ardour.h"
@@ -49,8 +51,9 @@ namespace Gtk {
class Widget;
}
-class BindableToggleButton;
class ArdourButton;
+class ArdourWindow;
+class IOSelectorWindow;
class RouteUI : public virtual AxisView
{
@@ -112,10 +115,14 @@ class RouteUI : public virtual AxisView
void send_blink (bool);
sigc::connection send_blink_connection;
+ sigc::connection rec_blink_connection;
+
Gtk::Menu* mute_menu;
Gtk::Menu* solo_menu;
Gtk::Menu* sends_menu;
+ boost::shared_ptr<ARDOUR::Delivery> _current_delivery;
+
bool mute_press(GdkEventButton*);
bool mute_release(GdkEventButton*);
bool solo_press(GdkEventButton*);
@@ -133,6 +140,9 @@ class RouteUI : public virtual AxisView
void monitoring_changed ();
void update_monitoring_display ();
+ void edit_input_configuration ();
+ void edit_output_configuration ();
+
void step_gain_up ();
void step_gain_down ();
void page_gain_up ();
@@ -205,7 +215,7 @@ class RouteUI : public virtual AxisView
void disconnect_input ();
void disconnect_output ();
- virtual void update_rec_display ();
+ virtual void blink_rec_display (bool onoff);
void update_mute_display ();
void update_solo_display ();
@@ -227,7 +237,23 @@ class RouteUI : public virtual AxisView
*/
static PBD::Signal1<void, boost::shared_ptr<ARDOUR::Route> > BusSendDisplayChanged;
+ void comment_editor_done_editing ();
+ void setup_comment_editor ();
+ void open_comment_editor ();
+ void toggle_comment_editor ();
+
+ gint comment_key_release_handler (GdkEventKey*);
+ void comment_changed (void *src);
+ void comment_edited ();
+ bool ignore_comment_edit;
+
protected:
+
+ ArdourWindow* comment_window;
+ Gtk::TextView* comment_area;
+ IOSelectorWindow *input_selector;
+ IOSelectorWindow *output_selector;
+
PBD::ScopedConnectionList route_connections;
bool self_destruct;
@@ -250,6 +276,7 @@ class RouteUI : public virtual AxisView
void check_rec_enable_sensitivity ();
void parameter_changed (std::string const &);
void relabel_solo_button ();
+ void track_mode_changed ();
std::string route_state_id () const;
diff --git a/gtk2_ardour/ruler_dialog.cc b/gtk2_ardour/ruler_dialog.cc
new file mode 100644
index 0000000000..991bd3eb87
--- /dev/null
+++ b/gtk2_ardour/ruler_dialog.cc
@@ -0,0 +1,86 @@
+/*
+ Copyright (C) 2014 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 <gtkmm/stock.h>
+
+#include "actions.h"
+#include "ruler_dialog.h"
+
+#include "i18n.h"
+
+RulerDialog::RulerDialog ()
+ : ArdourDialog (_("Rulers"))
+{
+ add_button (Gtk::Stock::OK, Gtk::RESPONSE_ACCEPT);
+
+ get_vbox()->pack_start (samples_button);
+ get_vbox()->pack_start (timecode_button);
+ get_vbox()->pack_start (minsec_button);
+ get_vbox()->pack_start (bbt_button);
+ get_vbox()->pack_start (tempo_button);
+ get_vbox()->pack_start (meter_button);
+ get_vbox()->pack_start (loop_punch_button);
+ get_vbox()->pack_start (range_button);
+ get_vbox()->pack_start (mark_button);
+ get_vbox()->pack_start (cdmark_button);
+ get_vbox()->pack_start (video_button);
+
+ get_vbox()->show_all ();
+
+ connect_action (samples_button, "samples-ruler");
+ connect_action (timecode_button, "timecode-ruler");
+ connect_action (minsec_button, "minsec-ruler");
+ connect_action (bbt_button, "bbt-ruler");
+ connect_action (tempo_button, "tempo-ruler");
+ connect_action (meter_button, "meter-ruler");
+ connect_action (loop_punch_button, "loop-punch-ruler");
+ connect_action (range_button, "range-ruler");
+ connect_action (mark_button, "marker-ruler");
+ connect_action (cdmark_button, "cd-marker-ruler");
+ connect_action (video_button, "video-ruler");
+}
+
+RulerDialog::~RulerDialog ()
+{
+}
+
+void
+RulerDialog::on_response (int)
+{
+ hide ();
+}
+
+void
+RulerDialog::connect_action (Gtk::CheckButton& button, std::string const &action_name_part)
+{
+ std::string action_name = "toggle-";
+ action_name += action_name_part;
+
+ Glib::RefPtr<Gtk::Action> act = ActionManager::get_action ("Rulers", action_name.c_str());
+ if (!act) {
+ return;
+ }
+
+ Glib::RefPtr<Gtk::ToggleAction> tact = Glib::RefPtr<Gtk::ToggleAction>::cast_dynamic (act);
+ if (!tact) {
+ return;
+ }
+
+ tact->connect_proxy (button);
+}
diff --git a/gtk2_ardour/ruler_dialog.h b/gtk2_ardour/ruler_dialog.h
new file mode 100644
index 0000000000..be1db14649
--- /dev/null
+++ b/gtk2_ardour/ruler_dialog.h
@@ -0,0 +1,54 @@
+/*
+ Copyright (C) 2014 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_ruler_h__
+#define __gtk_ardour_ruler _h__
+
+#include <string>
+#include <gtkmm/checkbutton.h>
+
+#include "ardour_dialog.h"
+
+
+class Editor;
+
+class RulerDialog : public ArdourDialog
+{
+ public:
+ RulerDialog ();
+ ~RulerDialog ();
+
+ private:
+ Gtk::CheckButton samples_button;
+ Gtk::CheckButton timecode_button;
+ Gtk::CheckButton minsec_button;
+ Gtk::CheckButton bbt_button;
+ Gtk::CheckButton tempo_button;
+ Gtk::CheckButton meter_button;
+ Gtk::CheckButton loop_punch_button;
+ Gtk::CheckButton range_button;
+ Gtk::CheckButton mark_button;
+ Gtk::CheckButton cdmark_button;
+ Gtk::CheckButton video_button;
+
+ void connect_action (Gtk::CheckButton& button, std::string const &action_name_part);
+ void on_response (int);
+};
+
+#endif /* __gtk_ardour_add_route_dialog_h__ */
diff --git a/gtk2_ardour/search_path_option.cc b/gtk2_ardour/search_path_option.cc
index 8a5d99a375..9aea617812 100644
--- a/gtk2_ardour/search_path_option.cc
+++ b/gtk2_ardour/search_path_option.cc
@@ -103,7 +103,7 @@ SearchPathOption::set_state_from_config ()
clear ();
path_box.pack_start (session_label);
- split (str, dirs, ':');
+ split (str, dirs, G_SEARCHPATH_SEPARATOR);
for (vector<string>::iterator d = dirs.begin(); d != dirs.end(); ++d) {
add_path (*d);
@@ -118,7 +118,7 @@ SearchPathOption::changed ()
for (list<PathEntry*>::iterator p = paths.begin(); p != paths.end(); ++p) {
if (!str.empty()) {
- str += ':';
+ str += G_SEARCHPATH_SEPARATOR;
}
str += (*p)->entry.get_text ();
}
diff --git a/gtk2_ardour/selection.cc b/gtk2_ardour/selection.cc
index 146d9a65c5..507245eb3d 100644
--- a/gtk2_ardour/selection.cc
+++ b/gtk2_ardour/selection.cc
@@ -19,6 +19,7 @@
#include <algorithm>
#include <sigc++/bind.h>
+
#include "pbd/error.h"
#include "pbd/stacktrace.h"
@@ -125,6 +126,9 @@ void
Selection::clear_tracks ()
{
if (!tracks.empty()) {
+ for (TrackViewList::iterator x = tracks.begin(); x != tracks.end(); ++x) {
+ (*x)->set_selected (false);
+ }
tracks.clear ();
if (!_no_tracks_changed) {
TracksChanged();
@@ -156,9 +160,6 @@ Selection::clear_regions ()
if (!regions.empty()) {
regions.clear_all ();
RegionsChanged();
- if (Config->get_link_region_and_track_selection()) {
- clear_tracks ();
- }
}
}
@@ -222,6 +223,7 @@ void
Selection::toggle (boost::shared_ptr<Playlist> pl)
{
clear_time(); //enforce object/range exclusivity
+ clear_tracks(); //enforce object/track exclusivity
PlaylistSelection::iterator i;
@@ -249,8 +251,10 @@ Selection::toggle (TimeAxisView* track)
TrackSelection::iterator i;
if ((i = find (tracks.begin(), tracks.end(), track)) == tracks.end()) {
+ track->set_selected (true);
tracks.push_back (track);
} else {
+ track->set_selected (false);
tracks.erase (i);
}
@@ -263,6 +267,7 @@ void
Selection::toggle (const MidiNoteSelection& midi_note_list)
{
clear_time(); //enforce object/range exclusivity
+ clear_tracks(); //enforce object/track exclusivity
for (MidiNoteSelection::const_iterator i = midi_note_list.begin(); i != midi_note_list.end(); ++i) {
toggle ((*i));
@@ -290,6 +295,7 @@ void
Selection::toggle (RegionView* r)
{
clear_time(); //enforce object/range exclusivity
+ clear_tracks(); //enforce object/track exclusivity
RegionSelection::iterator i;
@@ -306,6 +312,7 @@ void
Selection::toggle (MidiRegionView* mrv)
{
clear_time(); //enforce object/range exclusivity
+ clear_tracks(); //enforce object/track exclusivity
MidiRegionSelection::iterator i;
@@ -322,6 +329,7 @@ void
Selection::toggle (vector<RegionView*>& r)
{
clear_time(); //enforce object/range exclusivity
+ clear_tracks(); //enforce object/track exclusivity
RegionSelection::iterator i;
@@ -358,6 +366,7 @@ void
Selection::add (boost::shared_ptr<Playlist> pl)
{
clear_time(); //enforce object/range exclusivity
+ clear_tracks(); //enforce object/track exclusivity
if (find (playlists.begin(), playlists.end(), pl) == playlists.end()) {
pl->use ();
@@ -370,6 +379,7 @@ void
Selection::add (const list<boost::shared_ptr<Playlist> >& pllist)
{
clear_time(); //enforce object/range exclusivity
+ clear_tracks(); //enforce object/track exclusivity
bool changed = false;
@@ -389,9 +399,14 @@ Selection::add (const list<boost::shared_ptr<Playlist> >& pllist)
void
Selection::add (const TrackViewList& track_list)
{
+ clear_objects(); //enforce object/range exclusivity
+
TrackViewList added = tracks.add (track_list);
if (!added.empty()) {
+ for (TrackViewList::iterator x = added.begin(); x != added.end(); ++x) {
+ (*x)->set_selected (true);
+ }
if (!_no_tracks_changed) {
TracksChanged ();
}
@@ -401,7 +416,10 @@ Selection::add (const TrackViewList& track_list)
void
Selection::add (TimeAxisView* track)
{
+ clear_objects(); //enforce object/range exclusivity
+
TrackViewList tr;
+ track->set_selected (true);
tr.push_back (track);
add (tr);
}
@@ -410,6 +428,7 @@ void
Selection::add (const MidiNoteSelection& midi_list)
{
clear_time(); //enforce object/range exclusivity
+ clear_tracks(); //enforce object/track exclusivity
const MidiNoteSelection::const_iterator b = midi_list.begin();
const MidiNoteSelection::const_iterator e = midi_list.end();
@@ -435,6 +454,7 @@ void
Selection::add (vector<RegionView*>& v)
{
clear_time(); //enforce object/range exclusivity
+ clear_tracks(); //enforce object/track exclusivity
/* XXX This method or the add (const RegionSelection&) needs to go
*/
@@ -444,9 +464,6 @@ Selection::add (vector<RegionView*>& v)
for (vector<RegionView*>::iterator i = v.begin(); i != v.end(); ++i) {
if (find (regions.begin(), regions.end(), (*i)) == regions.end()) {
changed = regions.add ((*i));
- if (Config->get_link_region_and_track_selection() && changed) {
- add (&(*i)->get_time_axis_view());
- }
}
}
@@ -459,6 +476,7 @@ void
Selection::add (const RegionSelection& rs)
{
clear_time(); //enforce object/range exclusivity
+ clear_tracks(); //enforce object/track exclusivity
/* XXX This method or the add (const vector<RegionView*>&) needs to go
*/
@@ -468,9 +486,6 @@ Selection::add (const RegionSelection& rs)
for (RegionSelection::const_iterator i = rs.begin(); i != rs.end(); ++i) {
if (find (regions.begin(), regions.end(), (*i)) == regions.end()) {
changed = regions.add ((*i));
- if (Config->get_link_region_and_track_selection() && changed) {
- add (&(*i)->get_time_axis_view());
- }
}
}
@@ -483,15 +498,13 @@ void
Selection::add (RegionView* r)
{
clear_time(); //enforce object/range exclusivity
+ clear_tracks(); //enforce object/track exclusivity
if (find (regions.begin(), regions.end(), r) == regions.end()) {
bool changed = regions.add (r);
- if (Config->get_link_region_and_track_selection() && changed) {
- add (&r->get_time_axis_view());
- }
- if (changed) {
- RegionsChanged ();
- }
+ if (changed) {
+ RegionsChanged ();
+ }
}
}
@@ -499,15 +512,11 @@ void
Selection::add (MidiRegionView* mrv)
{
clear_time(); //enforce object/range exclusivity
+ clear_tracks(); //enforce object/track exclusivity
if (find (midi_regions.begin(), midi_regions.end(), mrv) == midi_regions.end()) {
midi_regions.push_back (mrv);
/* XXX should we do this? */
-#if 0
- if (Config->get_link_region_and_track_selection()) {
- add (&mrv->get_time_axis_view());
- }
-#endif
MidiRegionsChanged ();
}
}
@@ -571,6 +580,7 @@ void
Selection::add (boost::shared_ptr<Evoral::ControlList> cl)
{
clear_time(); //enforce object/range exclusivity
+ clear_tracks(); //enforce object/track exclusivity
boost::shared_ptr<ARDOUR::AutomationList> al
= boost::dynamic_pointer_cast<ARDOUR::AutomationList>(cl);
@@ -589,6 +599,7 @@ Selection::remove (TimeAxisView* track)
{
list<TimeAxisView*>::iterator i;
if ((i = find (tracks.begin(), tracks.end(), track)) != tracks.end()) {
+ track->set_selected (false);
tracks.erase (i);
if (!_no_tracks_changed) {
TracksChanged();
@@ -597,15 +608,6 @@ Selection::remove (TimeAxisView* track)
}
void
-Selection::remove (ControlPoint* p)
-{
- PointSelection::iterator i = find (points.begin(), points.end(), p);
- if (i != points.end ()) {
- points.erase (i);
- }
-}
-
-void
Selection::remove (const TrackViewList& track_list)
{
bool changed = false;
@@ -614,6 +616,7 @@ Selection::remove (const TrackViewList& track_list)
TrackViewList::iterator x = find (tracks.begin(), tracks.end(), *i);
if (x != tracks.end()) {
+ (*i)->set_selected (false);
tracks.erase (x);
changed = true;
}
@@ -627,6 +630,15 @@ Selection::remove (const TrackViewList& track_list)
}
void
+Selection::remove (ControlPoint* p)
+{
+ PointSelection::iterator i = find (points.begin(), points.end(), p);
+ if (i != points.end ()) {
+ points.erase (i);
+ }
+}
+
+void
Selection::remove (const MidiNoteSelection& midi_list)
{
bool changed = false;
@@ -695,10 +707,6 @@ Selection::remove (RegionView* r)
if (regions.remove (r)) {
RegionsChanged ();
}
-
- if (Config->get_link_region_and_track_selection() && !regions.involves (r->get_time_axis_view())) {
- remove (&r->get_time_axis_view());
- }
}
void
@@ -710,13 +718,6 @@ Selection::remove (MidiRegionView* mrv)
midi_regions.erase (x);
MidiRegionsChanged ();
}
-
-#if 0
- /* XXX fix this up ? */
- if (Config->get_link_region_and_track_selection() && !regions.involves (r->get_time_axis_view())) {
- remove (&r->get_time_axis_view());
- }
-#endif
}
@@ -755,6 +756,7 @@ Selection::remove (boost::shared_ptr<ARDOUR::AutomationList> ac)
void
Selection::set (TimeAxisView* track)
{
+ clear_objects(); //enforce object/range exclusivity
clear_tracks ();
add (track);
}
@@ -762,6 +764,7 @@ Selection::set (TimeAxisView* track)
void
Selection::set (const TrackViewList& track_list)
{
+ clear_objects(); //enforce object/range exclusivity
clear_tracks ();
add (track_list);
}
@@ -770,6 +773,7 @@ void
Selection::set (const MidiNoteSelection& midi_list)
{
clear_time (); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
clear_objects ();
add (midi_list);
}
@@ -778,6 +782,7 @@ void
Selection::set (boost::shared_ptr<Playlist> playlist)
{
clear_time (); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
clear_objects ();
add (playlist);
}
@@ -794,6 +799,7 @@ void
Selection::set (const RegionSelection& rs)
{
clear_time(); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
clear_objects();
regions = rs;
RegionsChanged(); /* EMIT SIGNAL */
@@ -803,44 +809,27 @@ void
Selection::set (MidiRegionView* mrv)
{
clear_time(); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
clear_objects ();
add (mrv);
}
void
-Selection::set (RegionView* r, bool also_clear_tracks)
+Selection::set (RegionView* r, bool /*also_clear_tracks*/)
{
clear_time(); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
clear_objects ();
- if (also_clear_tracks && !Config->get_link_region_and_track_selection()) {
- /* clear_regions() will have done this if the link preference
- * is enabled
- */
- clear_tracks ();
- }
add (r);
}
void
Selection::set (vector<RegionView*>& v)
{
- bool had_regions = !regions.empty();
-
clear_time(); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
clear_objects();
- if (Config->get_link_region_and_track_selection()) {
- if (had_regions) {
- /* there were regions before, so we're changing the
- * region selection (likely), thus link region/track
- * selection. relevant tracks will get selected
- * as we ::add() below.
- */
- clear_tracks ();
- // make sure to deselect any automation selections
- clear_points();
- }
- }
add (v);
}
@@ -910,6 +899,7 @@ void
Selection::set (boost::shared_ptr<Evoral::ControlList> ac)
{
clear_time(); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
clear_objects();
add (ac);
@@ -924,7 +914,7 @@ Selection::selected (Marker* m)
bool
Selection::selected (TimeAxisView* tv)
{
- return find (tracks.begin(), tracks.end(), tv) != tracks.end();
+ return tv->get_selected ();
}
bool
@@ -968,6 +958,7 @@ void
Selection::toggle (ControlPoint* cp)
{
clear_time(); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
cp->set_selected (!cp->get_selected ());
PointSelection::iterator i = find (points.begin(), points.end(), cp);
@@ -984,6 +975,7 @@ void
Selection::toggle (vector<ControlPoint*> const & cps)
{
clear_time(); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
for (vector<ControlPoint*>::const_iterator i = cps.begin(); i != cps.end(); ++i) {
toggle (*i);
@@ -994,6 +986,7 @@ void
Selection::toggle (list<Selectable*> const & selectables)
{
clear_time(); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
RegionView* rv;
ControlPoint* cp;
@@ -1026,12 +1019,9 @@ void
Selection::set (list<Selectable*> const & selectables)
{
clear_time (); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
clear_objects ();
- if (Config->get_link_region_and_track_selection ()) {
- clear_tracks ();
- }
-
add (selectables);
}
@@ -1039,6 +1029,7 @@ void
Selection::add (PointSelection const & s)
{
clear_time (); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
for (PointSelection::const_iterator i = s.begin(); i != s.end(); ++i) {
points.push_back (*i);
@@ -1049,6 +1040,7 @@ void
Selection::add (list<Selectable*> const & selectables)
{
clear_time (); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
RegionView* rv;
ControlPoint* cp;
@@ -1090,6 +1082,7 @@ void
Selection::add (ControlPoint* cp)
{
clear_time (); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
cp->set_selected (true);
points.push_back (cp);
@@ -1100,6 +1093,7 @@ void
Selection::add (vector<ControlPoint*> const & cps)
{
clear_time (); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
for (vector<ControlPoint*>::const_iterator i = cps.begin(); i != cps.end(); ++i) {
(*i)->set_selected (true);
@@ -1112,6 +1106,7 @@ void
Selection::set (ControlPoint* cp)
{
clear_time (); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
if (cp->get_selected()) {
return;
@@ -1129,6 +1124,7 @@ void
Selection::set (Marker* m)
{
clear_time (); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
markers.clear ();
add (m);
@@ -1161,6 +1157,7 @@ void
Selection::add (Marker* m)
{
clear_time (); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
if (find (markers.begin(), markers.end(), m) == markers.end()) {
markers.push_back (m);
@@ -1172,6 +1169,7 @@ void
Selection::add (const list<Marker*>& m)
{
clear_time (); //enforce region/object exclusivity
+ clear_tracks(); //enforce object/track exclusivity
markers.insert (markers.end(), m.begin(), m.end());
markers.sort ();
diff --git a/gtk2_ardour/send_ui.cc b/gtk2_ardour/send_ui.cc
index cdd8673da9..d571d018b7 100644
--- a/gtk2_ardour/send_ui.cc
+++ b/gtk2_ardour/send_ui.cc
@@ -24,7 +24,6 @@
#include "ardour/send.h"
#include "ardour/rc_configuration.h"
-#include "utils.h"
#include "send_ui.h"
#include "io_selector.h"
#include "ardour_ui.h"
@@ -55,7 +54,7 @@ SendUI::SendUI (Gtk::Window* parent, boost::shared_ptr<Send> s, Session* session
_vbox.pack_start (_hbox, false, false, false);
_vbox.pack_start (_panners, false, false);
- io = manage (new IOSelector (parent, session, s->output()));
+ io = Gtk::manage (new IOSelector (parent, session, s->output()));
pack_start (_vbox, false, false);
diff --git a/gtk2_ardour/session_dialog.cc b/gtk2_ardour/session_dialog.cc
index 996dab1cc4..819030f1f9 100644
--- a/gtk2_ardour/session_dialog.cc
+++ b/gtk2_ardour/session_dialog.cc
@@ -31,6 +31,7 @@
#include "pbd/replace_all.h"
#include "pbd/whitespace.h"
#include "pbd/stacktrace.h"
+#include "pbd/stl_delete.h"
#include "pbd/openuri.h"
#include "ardour/audioengine.h"
@@ -54,6 +55,7 @@ using namespace Gdk;
using namespace Glib;
using namespace PBD;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
static string poor_mans_glob (string path)
{
@@ -112,7 +114,7 @@ SessionDialog::SessionDialog (bool require_new, const std::string& session_name,
get_vbox()->show_all ();
- /* fill data models and how/hide accordingly */
+ /* fill data models and show/hide accordingly */
populate_session_templates ();
@@ -248,7 +250,9 @@ SessionDialog::session_folder ()
/* existing session chosen from file chooser */
return Glib::path_get_dirname (existing_session_chooser.get_current_folder ());
} else {
- std::string legal_session_folder_name = legalize_for_path (new_name_entry.get_text());
+ std::string val = new_name_entry.get_text();
+ strip_whitespace_edges (val);
+ std::string legal_session_folder_name = legalize_for_path (val);
return Glib::build_filename (new_folder_chooser.get_current_folder(), legal_session_folder_name);
}
}
@@ -277,7 +281,7 @@ SessionDialog::setup_initial_choice_box ()
string image_path;
- if (find_file_in_search_path (ardour_data_search_path(), "small-splash.png", image_path)) {
+ if (find_file (ardour_data_search_path(), "small-splash.png", image_path)) {
Gtk::Image* image;
if ((image = manage (new Gtk::Image (image_path))) != 0) {
hbox->pack_start (*image, false, false);
@@ -340,7 +344,7 @@ SessionDialog::setup_initial_choice_box ()
recent_session_display.signal_row_activated().connect (sigc::mem_fun (*this, &SessionDialog::recent_row_activated));
centering_vbox->pack_start (recent_label, false, false, 12);
- centering_vbox->pack_start (recent_scroller, false, true);
+ centering_vbox->pack_start (recent_scroller, true, true);
/* Browse button */
@@ -618,7 +622,7 @@ SessionDialog::redisplay_recent_sessions ()
get_state_files_in_directory (*i, state_file_paths);
- vector<string*>* states;
+ vector<string> states;
vector<const gchar*> item;
string dirname = *i;
@@ -636,7 +640,9 @@ SessionDialog::redisplay_recent_sessions ()
/* now get available states for this session */
- if ((states = Session::possible_states (dirname)) == 0) {
+ states = Session::possible_states (dirname);
+
+ if (states.empty()) {
/* no state file? */
continue;
}
@@ -651,9 +657,10 @@ SessionDialog::redisplay_recent_sessions ()
float sr;
SampleFormat sf;
- std::string s = Glib::build_filename (dirname, state_file_names.front() + statefile_suffix);
+ std::string state_file_basename = state_file_names.front();
+
+ std::string s = Glib::build_filename (dirname, state_file_basename + statefile_suffix);
- row[recent_session_columns.visible_name] = Glib::path_get_basename (dirname);
row[recent_session_columns.fullpath] = dirname; /* just the dir, but this works too */
row[recent_session_columns.tip] = Glib::Markup::escape_text (dirname);
@@ -678,9 +685,13 @@ SessionDialog::redisplay_recent_sessions ()
++session_snapshot_count;
if (state_file_names.size() > 1) {
+ // multiple session files in the session directory - show the directory name.
+ // if there's not a session file with the same name as the session directory,
+ // opening the parent item will fail, but expanding it will show the session
+ // files that actually exist, and the right one can then be opened.
+ row[recent_session_columns.visible_name] = Glib::path_get_basename (dirname);
// add the children
-
for (std::vector<std::string>::iterator i2 = state_file_names.begin(); i2 != state_file_names.end(); ++i2) {
Gtk::TreeModel::Row child_row = *(recent_session_model->append (row.children()));
@@ -710,6 +721,9 @@ SessionDialog::redisplay_recent_sessions ()
++session_snapshot_count;
}
+ } else {
+ // only a single session file in the directory - show its actual name.
+ row[recent_session_columns.visible_name] = state_file_basename;
}
}
@@ -1034,6 +1048,7 @@ void
SessionDialog::existing_session_selected ()
{
_existing_session_chooser_used = true;
+ recent_session_display.get_selection()->unselect_all();
/* mark this sensitive in case we come back here after a failed open
* attempt and the user has hacked up the fix. sigh.
*/
diff --git a/gtk2_ardour/session_dialog.h b/gtk2_ardour/session_dialog.h
index 2178cfbe73..ef3717b778 100644
--- a/gtk2_ardour/session_dialog.h
+++ b/gtk2_ardour/session_dialog.h
@@ -104,7 +104,7 @@ class SessionDialog : public ArdourDialog {
struct RecentSessionsSorter {
bool operator() (std::pair<std::string,std::string> a, std::pair<std::string,std::string> b) const {
- return cmp_nocase(a.first, b.first) == -1;
+ return ARDOUR::cmp_nocase(a.first, b.first) == -1;
}
};
diff --git a/gtk2_ardour/session_metadata_dialog.h b/gtk2_ardour/session_metadata_dialog.h
index 9aa62ed4ca..1599e50bb3 100644
--- a/gtk2_ardour/session_metadata_dialog.h
+++ b/gtk2_ardour/session_metadata_dialog.h
@@ -22,6 +22,10 @@
#include "ardour_dialog.h"
+#ifdef interface
+#undef interface
+#endif
+
#include <gtkmm.h>
#include <boost/shared_ptr.hpp>
@@ -82,7 +86,7 @@ class TextMetadataField : public MetadataField {
Gtk::Label* value_label;
Gtk::Entry* entry;
- uint width;
+ guint width;
};
/// MetadataField that accepts only numbers
diff --git a/gtk2_ardour/session_option_editor.cc b/gtk2_ardour/session_option_editor.cc
index f243973013..e75cf873f2 100644
--- a/gtk2_ardour/session_option_editor.cc
+++ b/gtk2_ardour/session_option_editor.cc
@@ -88,7 +88,7 @@ SessionOptionEditor::SessionOptionEditor (Session* s)
add_option (_("Sync"), new BoolOption (
"videotimeline-pullup",
- _("Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless in JACK-sync)."),
+ _("Apply Pull-Up/Down to Video Timeline and Video Monitor (Unless using JACK-sync)."),
sigc::mem_fun (*_session_config, &SessionConfiguration::get_videotimeline_pullup),
sigc::mem_fun (*_session_config, &SessionConfiguration::set_videotimeline_pullup)
));
@@ -132,18 +132,6 @@ SessionOptionEditor::SessionOptionEditor (Session* s)
/* FADES */
- ComboOption<CrossfadeChoice>* cfc = new ComboOption<CrossfadeChoice> (
- "xfade-choice",
- _("Default crossfade type"),
- sigc::mem_fun (*_session_config, &SessionConfiguration::get_xfade_choice),
- sigc::mem_fun (*_session_config, &SessionConfiguration::set_xfade_choice)
- );
-
- cfc->add (ConstantPowerMinus3dB, _("Constant power (-3dB) crossfade"));
- cfc->add (ConstantPowerMinus6dB, _("Linear (-6dB) crossfade"));
-
- add_option (_("Fades"), cfc);
-
add_option (_("Fades"), new SpinOption<float> (
_("destructive-xfade-seconds"),
_("Destructive crossfade length"),
@@ -198,20 +186,57 @@ SessionOptionEditor::SessionOptionEditor (Session* s)
add_option (_("Media"), hf);
- add_option (_("Media"), new OptionEditorHeading (_("File locations")));
+ add_option (_("Locations"), new OptionEditorHeading (_("File locations")));
SearchPathOption* spo = new SearchPathOption ("audio-search-path", _("Search for audio files in:"),
_session->path(),
sigc::mem_fun (*_session_config, &SessionConfiguration::get_audio_search_path),
sigc::mem_fun (*_session_config, &SessionConfiguration::set_audio_search_path));
- add_option (_("Media"), spo);
+ add_option (_("Locations"), spo);
spo = new SearchPathOption ("midi-search-path", _("Search for MIDI files in:"),
_session->path(),
sigc::mem_fun (*_session_config, &SessionConfiguration::get_midi_search_path),
sigc::mem_fun (*_session_config, &SessionConfiguration::set_midi_search_path));
- add_option (_("Media"), spo);
+ add_option (_("Locations"), spo);
+
+ /* File Naming */
+
+ add_option (_("Filenames"), new OptionEditorHeading (_("File Naming")));
+
+ BoolOption *bo;
+
+ bo = new RouteDisplayBoolOption (
+ "track-name-number",
+ _("Prefix Track number"),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::get_track_name_number),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::set_track_name_number)
+ );
+ Gtkmm2ext::UI::instance()->set_tip (bo->tip_widget(),
+ _("Adds the current track number to the beginning of the recorded file name."));
+ add_option (_("Filenames"), bo);
+
+ bo = new BoolOption (
+ "track-name-take",
+ _("Prefix Take Name"),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::get_track_name_take),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::set_track_name_take)
+ );
+ Gtkmm2ext::UI::instance()->set_tip (bo->tip_widget(),
+ _("Adds the Take Name to the beginning of the recorded file name."));
+ add_option (_("Filenames"), bo);
+
+ _take_name = new EntryOption (
+ "take-name",
+ _("Take Name"),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::get_take_name),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::set_take_name)
+ );
+ _take_name->set_invalid_chars(".");
+ _take_name->set_sensitive(_session_config->get_track_name_take());
+
+ add_option (_("Filenames"), _take_name);
/* Monitoring */
@@ -228,50 +253,7 @@ SessionOptionEditor::SessionOptionEditor (Session* s)
sigc::mem_fun (*this, &SessionOptionEditor::get_use_monitor_section),
sigc::mem_fun (*this, &SessionOptionEditor::set_use_monitor_section)
));
-
- /* Misc */
-
- add_option (_("Misc"), new OptionEditorHeading (_("MIDI Options")));
-
- add_option (_("Misc"), new BoolOption (
- "midi-copy-is-fork",
- _("MIDI region copies are independent"),
- sigc::mem_fun (*_session_config, &SessionConfiguration::get_midi_copy_is_fork),
- sigc::mem_fun (*_session_config, &SessionConfiguration::set_midi_copy_is_fork)
- ));
-
- ComboOption<InsertMergePolicy>* li = new ComboOption<InsertMergePolicy> (
- "insert-merge-policy",
- _("Policy for handling overlapping notes\n on the same MIDI channel"),
- sigc::mem_fun (*_session_config, &SessionConfiguration::get_insert_merge_policy),
- sigc::mem_fun (*_session_config, &SessionConfiguration::set_insert_merge_policy)
- );
-
- li->add (InsertMergeReject, _("never allow them"));
- li->add (InsertMergeRelax, _("don't do anything in particular"));
- li->add (InsertMergeReplace, _("replace any overlapped existing note"));
- li->add (InsertMergeTruncateExisting, _("shorten the overlapped existing note"));
- li->add (InsertMergeTruncateAddition, _("shorten the overlapping new note"));
- li->add (InsertMergeExtend, _("replace both overlapping notes with a single note"));
-
- add_option (_("Misc"), li);
-
- add_option (_("Misc"), new OptionEditorHeading (_("Glue to bars and beats")));
-
- add_option (_("Misc"), new BoolOption (
- "glue-new-markers-to-bars-and-beats",
- _("Glue new markers to bars and beats"),
- sigc::mem_fun (*_session_config, &SessionConfiguration::get_glue_new_markers_to_bars_and_beats),
- sigc::mem_fun (*_session_config, &SessionConfiguration::set_glue_new_markers_to_bars_and_beats)
- ));
-
- add_option (_("Misc"), new BoolOption (
- "glue-new-regions-to-bars-and-beats",
- _("Glue new regions to bars and beats"),
- sigc::mem_fun (*_session_config, &SessionConfiguration::get_glue_new_regions_to_bars_and_beats),
- sigc::mem_fun (*_session_config, &SessionConfiguration::set_glue_new_regions_to_bars_and_beats)
- ));
-
+ /* Meterbridge */
add_option (_("Meterbridge"), new OptionEditorHeading (_("Route Display")));
add_option (_("Meterbridge"), new BoolOption (
@@ -334,6 +316,55 @@ SessionOptionEditor::SessionOptionEditor (Session* s)
sigc::mem_fun (*_session_config, &SessionConfiguration::set_show_name_on_meterbridge)
));
+ /* Misc */
+
+ add_option (_("Misc"), new OptionEditorHeading (_("MIDI Options")));
+
+ add_option (_("Misc"), new BoolOption (
+ "midi-copy-is-fork",
+ _("MIDI region copies are independent"),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::get_midi_copy_is_fork),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::set_midi_copy_is_fork)
+ ));
+
+ ComboOption<InsertMergePolicy>* li = new ComboOption<InsertMergePolicy> (
+ "insert-merge-policy",
+ _("Policy for handling overlapping notes\n on the same MIDI channel"),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::get_insert_merge_policy),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::set_insert_merge_policy)
+ );
+
+ li->add (InsertMergeReject, _("never allow them"));
+ li->add (InsertMergeRelax, _("don't do anything in particular"));
+ li->add (InsertMergeReplace, _("replace any overlapped existing note"));
+ li->add (InsertMergeTruncateExisting, _("shorten the overlapped existing note"));
+ li->add (InsertMergeTruncateAddition, _("shorten the overlapping new note"));
+ li->add (InsertMergeExtend, _("replace both overlapping notes with a single note"));
+
+ add_option (_("Misc"), li);
+
+ add_option (_("Misc"), new OptionEditorHeading (_("Glue to bars and beats")));
+
+ add_option (_("Misc"), new BoolOption (
+ "glue-new-markers-to-bars-and-beats",
+ _("Glue new markers to bars and beats"),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::get_glue_new_markers_to_bars_and_beats),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::set_glue_new_markers_to_bars_and_beats)
+ ));
+
+ add_option (_("Misc"), new BoolOption (
+ "glue-new-regions-to-bars-and-beats",
+ _("Glue new regions to bars and beats"),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::get_glue_new_regions_to_bars_and_beats),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::set_glue_new_regions_to_bars_and_beats)
+ ));
+
+ add_option (_("Misc"), new OptionEditorHeading (_("Defaults")));
+
+ Gtk::Button* btn = Gtk::manage (new Gtk::Button (_("Use these settings as defaults")));
+ btn->signal_clicked().connect (sigc::mem_fun (*this, &SessionOptionEditor::save_defaults));
+ add_option (_("Misc"), new FooOption (btn));
+
}
void
@@ -347,11 +378,14 @@ SessionOptionEditor::parameter_changed (std::string const & p)
_vpu->set_sensitive(true);
}
}
- if (p == "timecode-format") {
+ else if (p == "timecode-format") {
/* update offset clocks */
parameter_changed("timecode-generator-offset");
parameter_changed("slave-timecode-offset");
}
+ else if (p == "track-name-take") {
+ _take_name->set_sensitive(_session_config->get_track_name_take());
+ }
}
/* the presence of absence of a monitor section is not really a regular session
@@ -381,3 +415,9 @@ SessionOptionEditor::get_use_monitor_section ()
{
return _session->monitor_out() != 0;
}
+
+void
+SessionOptionEditor::save_defaults ()
+{
+ _session->save_default_options();
+}
diff --git a/gtk2_ardour/session_option_editor.h b/gtk2_ardour/session_option_editor.h
index 73b9b2b033..425ec3707b 100644
--- a/gtk2_ardour/session_option_editor.h
+++ b/gtk2_ardour/session_option_editor.h
@@ -17,6 +17,9 @@
*/
+#ifndef __gtk_ardour_session_option_editor_h__
+#define __gtk_ardour_session_option_editor_h__
+
#include "option_editor.h"
namespace ARDOUR {
@@ -38,4 +41,9 @@ private:
bool get_use_monitor_section ();
ComboOption<float>* _vpu;
+ EntryOption* _take_name;
+
+ void save_defaults ();
};
+
+#endif /* __gtk_ardour_session_option_editor_h__ */
diff --git a/gtk2_ardour/sfdb_freesound_mootcher.cc b/gtk2_ardour/sfdb_freesound_mootcher.cc
index 8e57d9a0c4..c02059ba72 100644
--- a/gtk2_ardour/sfdb_freesound_mootcher.cc
+++ b/gtk2_ardour/sfdb_freesound_mootcher.cc
@@ -1,464 +1,464 @@
-/* sfdb_freesound_mootcher.cpp **********************************************************************
-
- Adapted for Ardour by Ben Loftis, March 2008
- Updated to new Freesound API by Colin Fletcher, November 2011
-
- Mootcher 23-8-2005
-
- Mootcher Online Access to thefreesoundproject website
- http://freesound.iua.upf.edu/
-
- GPL 2005 Jorn Lemon
- mail for questions/remarks: mootcher@twistedlemon.nl
- or go to the freesound website forum
-
- -----------------------------------------------------------------
-
- Includes:
- curl.h (version 7.14.0)
- Librarys:
- libcurl.lib
-
- -----------------------------------------------------------------
- Licence GPL:
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 2
- of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-*************************************************************************************/
-#include "sfdb_freesound_mootcher.h"
-
-#include "pbd/xml++.h"
-#include "pbd/error.h"
-
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <iostream>
-
-#include <glib.h>
-#include <glib/gstdio.h>
-
-#include "i18n.h"
-
-#include "ardour/audio_library.h"
-#include "ardour/rc_configuration.h"
-#include "pbd/pthread_utils.h"
-#include "gui_thread.h"
-
-using namespace PBD;
-
-static const std::string base_url = "http://www.freesound.org/api";
-static const std::string api_key = "9d77cb8d841b4bcfa960e1aae62224eb"; // ardour3
-
-//------------------------------------------------------------------------
-Mootcher::Mootcher()
- : curl(curl_easy_init())
-{
- cancel_download_btn.set_label (_("Cancel"));
- progress_hbox.pack_start (progress_bar, true, true);
- progress_hbox.pack_end (cancel_download_btn, false, false);
- progress_bar.show();
- cancel_download_btn.show();
- cancel_download_btn.signal_clicked().connect(sigc::mem_fun (*this, &Mootcher::cancelDownload));
-};
-//------------------------------------------------------------------------
-Mootcher:: ~Mootcher()
-{
- curl_easy_cleanup(curl);
-}
-
-//------------------------------------------------------------------------
-
-void Mootcher::ensureWorkingDir ()
-{
- std::string p = ARDOUR::Config->get_freesound_download_dir();
-
- if (!Glib::file_test (p, Glib::FILE_TEST_IS_DIR)) {
- if (g_mkdir_with_parents (p.c_str(), 0775) != 0) {
- PBD::error << "Unable to create Mootcher working dir" << endmsg;
- }
- }
- basePath = p;
-#ifdef __WIN32__
- std::string replace = "/";
- size_t pos = basePath.find("\\");
- while( pos != std::string::npos ){
- basePath.replace(pos, 1, replace);
- pos = basePath.find("\\");
- }
-#endif
-}
-
-
-//------------------------------------------------------------------------
-size_t Mootcher::WriteMemoryCallback(void *ptr, size_t size, size_t nmemb, void *data)
-{
- register int realsize = (int)(size * nmemb);
- struct MemoryStruct *mem = (struct MemoryStruct *)data;
-
- mem->memory = (char *)realloc(mem->memory, mem->size + realsize + 1);
-
- if (mem->memory) {
- memcpy(&(mem->memory[mem->size]), ptr, realsize);
- mem->size += realsize;
- mem->memory[mem->size] = 0;
- }
- return realsize;
-}
-
-
-//------------------------------------------------------------------------
-
-std::string Mootcher::sortMethodString(enum sortMethod sort)
-{
-// given a sort type, returns the string value to be passed to the API to
-// sort the results in the requested way.
-
- switch (sort) {
- case sort_duration_desc: return "duration_desc";
- case sort_duration_asc: return "duration_asc";
- case sort_created_desc: return "created_desc";
- case sort_created_asc: return "created_asc";
- case sort_downloads_desc: return "downloads_desc";
- case sort_downloads_asc: return "downloads_asc";
- case sort_rating_desc: return "rating_desc";
- case sort_rating_asc: return "rating_asc";
- default: return "";
- }
-}
-
-//------------------------------------------------------------------------
-void Mootcher::setcUrlOptions()
-{
- // basic init for curl
- curl_global_init(CURL_GLOBAL_ALL);
- // some servers don't like requests that are made without a user-agent field, so we provide one
- curl_easy_setopt(curl, CURLOPT_USERAGENT, "libcurl-agent/1.0");
- // setup curl error buffer
- curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errorBuffer);
- // Allow redirection
- curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
-
- // Allow connections to time out (without using signals)
- curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
- curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 30);
-
-
-}
-
-std::string Mootcher::doRequest(std::string uri, std::string params)
-{
- std::string result;
- struct MemoryStruct xml_page;
- xml_page.memory = NULL;
- xml_page.size = 0;
-
- setcUrlOptions();
- curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
- curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *) &xml_page);
-
- // curl_easy_setopt(curl, CURLOPT_HTTPGET, 1);
- // curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postMessage.c_str());
- // curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, -1);
-
- // the url to get
- std::string url = base_url + uri + "?";
- if (params != "") {
- url += params + "&api_key=" + api_key + "&format=xml";
- } else {
- url += "api_key=" + api_key + "&format=xml";
- }
-
- curl_easy_setopt(curl, CURLOPT_URL, url.c_str() );
-
- // perform online request
- CURLcode res = curl_easy_perform(curl);
- if( res != 0 ) {
- error << string_compose (_("curl error %1 (%2)"), res, curl_easy_strerror(res)) << endmsg;
- return "";
- }
-
- // free the memory
- if (xml_page.memory) {
- result = xml_page.memory;
- }
-
- free (xml_page.memory);
- xml_page.memory = NULL;
- xml_page.size = 0;
-
- return result;
-}
-
-
-std::string Mootcher::searchSimilar(std::string id)
-{
- std::string params = "";
-
- params += "&fields=id,original_filename,duration,filesize,samplerate,license,serve";
- params += "&num_results=100";
-
- return doRequest("/sounds/" + id + "/similar", params);
-}
-
-//------------------------------------------------------------------------
-
-std::string Mootcher::searchText(std::string query, int page, std::string filter, enum sortMethod sort)
-{
- std::string params = "";
- char buf[24];
-
- if (page > 1) {
- snprintf(buf, 23, "p=%d&", page);
- params += buf;
- }
-
- char *eq = curl_easy_escape(curl, query.c_str(), query.length());
- params += "q=\"" + std::string(eq) + "\"";
- free(eq);
-
- if (filter != "") {
- char *ef = curl_easy_escape(curl, filter.c_str(), filter.length());
- params += "&f=" + std::string(ef);
- free(ef);
- }
-
- if (sort)
- params += "&s=" + sortMethodString(sort);
-
- params += "&fields=id,original_filename,duration,filesize,samplerate,license,serve";
- params += "&sounds_per_page=100";
-
- return doRequest("/sounds/search", params);
-}
-
-//------------------------------------------------------------------------
-
-std::string Mootcher::getSoundResourceFile(std::string ID)
-{
-
- std::string originalSoundURI;
- std::string audioFileName;
- std::string xml;
-
-
- // download the xmlfile into xml_page
- xml = doRequest("/sounds/" + ID, "");
-
- XMLTree doc;
- doc.read_buffer( xml.c_str() );
- XMLNode *freesound = doc.root();
-
- // if the page is not a valid xml document with a 'freesound' root
- if (freesound == NULL) {
- error << _("getSoundResourceFile: There is no valid root in the xml file") << endmsg;
- return "";
- }
-
- if (strcmp(doc.root()->name().c_str(), "response") != 0) {
- error << string_compose (_("getSoundResourceFile: root = %1, != response"), doc.root()->name()) << endmsg;
- return "";
- }
-
- XMLNode *name = freesound->child("original_filename");
-
- // get the file name and size from xml file
- if (name) {
-
- audioFileName = Glib::build_filename (basePath, ID + "-" + name->child("text")->content());
-
- //store all the tags in the database
- XMLNode *tags = freesound->child("tags");
- if (tags) {
- XMLNodeList children = tags->children();
- XMLNodeConstIterator niter;
- std::vector<std::string> strings;
- for (niter = children.begin(); niter != children.end(); ++niter) {
- XMLNode *node = *niter;
- if( strcmp( node->name().c_str(), "resource") == 0 ) {
- XMLNode *text = node->child("text");
- if (text) {
- // std::cerr << "tag: " << text->content() << std::endl;
- strings.push_back(text->content());
- }
- }
- }
- ARDOUR::Library->set_tags (std::string("//")+audioFileName, strings);
- ARDOUR::Library->save_changes ();
- }
- }
-
- return audioFileName;
-}
-
-int audioFileWrite(void *buffer, size_t size, size_t nmemb, void *file)
-{
- return (int)fwrite(buffer, size, nmemb, (FILE*) file);
-};
-
-//------------------------------------------------------------------------
-
-void *
-Mootcher::threadFunc() {
-CURLcode res;
-
- res = curl_easy_perform (curl);
- fclose (theFile);
- curl_easy_setopt (curl, CURLOPT_NOPROGRESS, 1); // turn off the progress bar
-
- if (res != CURLE_OK) {
- /* it's not an error if the user pressed the stop button */
- if (res != CURLE_ABORTED_BY_CALLBACK) {
- error << string_compose (_("curl error %1 (%2)"), res, curl_easy_strerror(res)) << endmsg;
- }
- remove ( (audioFileName+".part").c_str() );
- } else {
- rename ( (audioFileName+".part").c_str(), audioFileName.c_str() );
- // now download the tags &c.
- getSoundResourceFile(ID);
- }
-
- return (void *) res;
-}
-
-void
-Mootcher::doneWithMootcher()
-{
-
- // update the sound info pane if the selection in the list box is still us
- sfb->refresh_display(ID, audioFileName);
-
- delete this; // this should be OK to do as long as Progress and Finished signals are always received in the order in which they are emitted
-}
-
-static void *
-freesound_download_thread_func(void *arg)
-{
- Mootcher *thisMootcher = (Mootcher *) arg;
- void *res;
-
- // std::cerr << "freesound_download_thread_func(" << arg << ")" << std::endl;
- res = thisMootcher->threadFunc();
-
- thisMootcher->Finished(); /* EMIT SIGNAL */
- return res;
-}
-
-
-//------------------------------------------------------------------------
-
-bool Mootcher::checkAudioFile(std::string originalFileName, std::string theID)
-{
- ensureWorkingDir();
- ID = theID;
- audioFileName = Glib::build_filename (basePath, ID + "-" + originalFileName);
-
- // check to see if audio file already exists
- FILE *testFile = g_fopen(audioFileName.c_str(), "r");
- if (testFile) {
- fseek (testFile , 0 , SEEK_END);
- if (ftell (testFile) > 256) {
- fclose (testFile);
- return true;
- }
-
- // else file was small, probably an error, delete it
- fclose(testFile);
- remove( audioFileName.c_str() );
- }
- return false;
-}
-
-
-bool Mootcher::fetchAudioFile(std::string originalFileName, std::string theID, std::string audioURL, SoundFileBrowser *caller)
-{
- ensureWorkingDir();
- ID = theID;
- audioFileName = Glib::build_filename (basePath, ID + "-" + originalFileName);
-
- if (!curl) {
- return false;
- }
- // now download the actual file
- theFile = g_fopen( (audioFileName + ".part").c_str(), "wb" );
-
- if (!theFile) {
- return false;
- }
-
- // create the download url
- audioURL += "?api_key=" + api_key;
-
- setcUrlOptions();
- curl_easy_setopt(curl, CURLOPT_URL, audioURL.c_str() );
- curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, audioFileWrite);
- curl_easy_setopt(curl, CURLOPT_WRITEDATA, theFile);
-
- std::string prog;
- prog = string_compose (_("%1"), originalFileName);
- progress_bar.set_text(prog);
-
- Gtk::VBox *freesound_vbox = dynamic_cast<Gtk::VBox *> (caller->notebook.get_nth_page(2));
- freesound_vbox->pack_start(progress_hbox, Gtk::PACK_SHRINK);
- progress_hbox.show();
- cancel_download = false;
- sfb = caller;
-
- curl_easy_setopt (curl, CURLOPT_NOPROGRESS, 0); // turn on the progress bar
- curl_easy_setopt (curl, CURLOPT_PROGRESSFUNCTION, progress_callback);
- curl_easy_setopt (curl, CURLOPT_PROGRESSDATA, this);
-
- Progress.connect(*this, invalidator (*this), boost::bind(&Mootcher::updateProgress, this, _1, _2), gui_context());
- Finished.connect(*this, invalidator (*this), boost::bind(&Mootcher::doneWithMootcher, this), gui_context());
- pthread_t freesound_download_thread;
- pthread_create_and_store("freesound_import", &freesound_download_thread, freesound_download_thread_func, this);
-
- return true;
-}
-
-//---------
-
-void
-Mootcher::updateProgress(double dlnow, double dltotal)
-{
- if (dltotal > 0) {
- double fraction = dlnow / dltotal;
- // std::cerr << "progress idle: " << progress->bar->get_text() << ". " << progress->dlnow << " / " << progress->dltotal << " = " << fraction << std::endl;
- if (fraction > 1.0) {
- fraction = 1.0;
- } else if (fraction < 0.0) {
- fraction = 0.0;
- }
- progress_bar.set_fraction(fraction);
- }
-}
-
-int
-Mootcher::progress_callback(void *caller, double dltotal, double dlnow, double /*ultotal*/, double /*ulnow*/)
-{
- // It may seem curious to pass a pointer to an instance of an object to a static
- // member function, but we can't use a normal member function as a curl progress callback,
- // and we want access to some private members of Mootcher.
-
- Mootcher *thisMootcher = (Mootcher *) caller;
-
- if (thisMootcher->cancel_download) {
- return -1;
- }
-
- thisMootcher->Progress(dlnow, dltotal); /* EMIT SIGNAL */
- return 0;
-}
-
+/* sfdb_freesound_mootcher.cpp **********************************************************************
+
+ Adapted for Ardour by Ben Loftis, March 2008
+ Updated to new Freesound API by Colin Fletcher, November 2011
+
+ Mootcher 23-8-2005
+
+ Mootcher Online Access to thefreesoundproject website
+ http://freesound.iua.upf.edu/
+
+ GPL 2005 Jorn Lemon
+ mail for questions/remarks: mootcher@twistedlemon.nl
+ or go to the freesound website forum
+
+ -----------------------------------------------------------------
+
+ Includes:
+ curl.h (version 7.14.0)
+ Librarys:
+ libcurl.lib
+
+ -----------------------------------------------------------------
+ Licence GPL:
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+*************************************************************************************/
+#include "sfdb_freesound_mootcher.h"
+
+#include "pbd/xml++.h"
+#include "pbd/error.h"
+
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <iostream>
+
+#include <glib.h>
+#include <glib/gstdio.h>
+
+#include "i18n.h"
+
+#include "ardour/audio_library.h"
+#include "ardour/rc_configuration.h"
+#include "pbd/pthread_utils.h"
+#include "gui_thread.h"
+
+using namespace PBD;
+
+static const std::string base_url = "http://www.freesound.org/api";
+static const std::string api_key = "9d77cb8d841b4bcfa960e1aae62224eb"; // ardour3
+
+//------------------------------------------------------------------------
+Mootcher::Mootcher()
+ : curl(curl_easy_init())
+{
+ cancel_download_btn.set_label (_("Cancel"));
+ progress_hbox.pack_start (progress_bar, true, true);
+ progress_hbox.pack_end (cancel_download_btn, false, false);
+ progress_bar.show();
+ cancel_download_btn.show();
+ cancel_download_btn.signal_clicked().connect(sigc::mem_fun (*this, &Mootcher::cancelDownload));
+};
+//------------------------------------------------------------------------
+Mootcher:: ~Mootcher()
+{
+ curl_easy_cleanup(curl);
+}
+
+//------------------------------------------------------------------------
+
+void Mootcher::ensureWorkingDir ()
+{
+ std::string p = ARDOUR::Config->get_freesound_download_dir();
+
+ if (!Glib::file_test (p, Glib::FILE_TEST_IS_DIR)) {
+ if (g_mkdir_with_parents (p.c_str(), 0775) != 0) {
+ PBD::error << "Unable to create Mootcher working dir" << endmsg;
+ }
+ }
+ basePath = p;
+#ifdef PLATFORM_WINDOWS
+ std::string replace = "/";
+ size_t pos = basePath.find("\\");
+ while( pos != std::string::npos ){
+ basePath.replace(pos, 1, replace);
+ pos = basePath.find("\\");
+ }
+#endif
+}
+
+
+//------------------------------------------------------------------------
+size_t Mootcher::WriteMemoryCallback(void *ptr, size_t size, size_t nmemb, void *data)
+{
+ register int realsize = (int)(size * nmemb);
+ struct MemoryStruct *mem = (struct MemoryStruct *)data;
+
+ mem->memory = (char *)realloc(mem->memory, mem->size + realsize + 1);
+
+ if (mem->memory) {
+ memcpy(&(mem->memory[mem->size]), ptr, realsize);
+ mem->size += realsize;
+ mem->memory[mem->size] = 0;
+ }
+ return realsize;
+}
+
+
+//------------------------------------------------------------------------
+
+std::string Mootcher::sortMethodString(enum sortMethod sort)
+{
+// given a sort type, returns the string value to be passed to the API to
+// sort the results in the requested way.
+
+ switch (sort) {
+ case sort_duration_desc: return "duration_desc";
+ case sort_duration_asc: return "duration_asc";
+ case sort_created_desc: return "created_desc";
+ case sort_created_asc: return "created_asc";
+ case sort_downloads_desc: return "downloads_desc";
+ case sort_downloads_asc: return "downloads_asc";
+ case sort_rating_desc: return "rating_desc";
+ case sort_rating_asc: return "rating_asc";
+ default: return "";
+ }
+}
+
+//------------------------------------------------------------------------
+void Mootcher::setcUrlOptions()
+{
+ // basic init for curl
+ curl_global_init(CURL_GLOBAL_ALL);
+ // some servers don't like requests that are made without a user-agent field, so we provide one
+ curl_easy_setopt(curl, CURLOPT_USERAGENT, "libcurl-agent/1.0");
+ // setup curl error buffer
+ curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errorBuffer);
+ // Allow redirection
+ curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
+
+ // Allow connections to time out (without using signals)
+ curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
+ curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 30);
+
+
+}
+
+std::string Mootcher::doRequest(std::string uri, std::string params)
+{
+ std::string result;
+ struct MemoryStruct xml_page;
+ xml_page.memory = NULL;
+ xml_page.size = 0;
+
+ setcUrlOptions();
+ curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
+ curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *) &xml_page);
+
+ // curl_easy_setopt(curl, CURLOPT_HTTPGET, 1);
+ // curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postMessage.c_str());
+ // curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, -1);
+
+ // the url to get
+ std::string url = base_url + uri + "?";
+ if (params != "") {
+ url += params + "&api_key=" + api_key + "&format=xml";
+ } else {
+ url += "api_key=" + api_key + "&format=xml";
+ }
+
+ curl_easy_setopt(curl, CURLOPT_URL, url.c_str() );
+
+ // perform online request
+ CURLcode res = curl_easy_perform(curl);
+ if( res != 0 ) {
+ error << string_compose (_("curl error %1 (%2)"), res, curl_easy_strerror(res)) << endmsg;
+ return "";
+ }
+
+ // free the memory
+ if (xml_page.memory) {
+ result = xml_page.memory;
+ }
+
+ free (xml_page.memory);
+ xml_page.memory = NULL;
+ xml_page.size = 0;
+
+ return result;
+}
+
+
+std::string Mootcher::searchSimilar(std::string id)
+{
+ std::string params = "";
+
+ params += "&fields=id,original_filename,duration,filesize,samplerate,license,serve";
+ params += "&num_results=100";
+
+ return doRequest("/sounds/" + id + "/similar", params);
+}
+
+//------------------------------------------------------------------------
+
+std::string Mootcher::searchText(std::string query, int page, std::string filter, enum sortMethod sort)
+{
+ std::string params = "";
+ char buf[24];
+
+ if (page > 1) {
+ snprintf(buf, 23, "p=%d&", page);
+ params += buf;
+ }
+
+ char *eq = curl_easy_escape(curl, query.c_str(), query.length());
+ params += "q=\"" + std::string(eq) + "\"";
+ free(eq);
+
+ if (filter != "") {
+ char *ef = curl_easy_escape(curl, filter.c_str(), filter.length());
+ params += "&f=" + std::string(ef);
+ free(ef);
+ }
+
+ if (sort)
+ params += "&s=" + sortMethodString(sort);
+
+ params += "&fields=id,original_filename,duration,filesize,samplerate,license,serve";
+ params += "&sounds_per_page=100";
+
+ return doRequest("/sounds/search", params);
+}
+
+//------------------------------------------------------------------------
+
+std::string Mootcher::getSoundResourceFile(std::string ID)
+{
+
+ std::string originalSoundURI;
+ std::string audioFileName;
+ std::string xml;
+
+
+ // download the xmlfile into xml_page
+ xml = doRequest("/sounds/" + ID, "");
+
+ XMLTree doc;
+ doc.read_buffer( xml.c_str() );
+ XMLNode *freesound = doc.root();
+
+ // if the page is not a valid xml document with a 'freesound' root
+ if (freesound == NULL) {
+ error << _("getSoundResourceFile: There is no valid root in the xml file") << endmsg;
+ return "";
+ }
+
+ if (strcmp(doc.root()->name().c_str(), "response") != 0) {
+ error << string_compose (_("getSoundResourceFile: root = %1, != response"), doc.root()->name()) << endmsg;
+ return "";
+ }
+
+ XMLNode *name = freesound->child("original_filename");
+
+ // get the file name and size from xml file
+ if (name) {
+
+ audioFileName = Glib::build_filename (basePath, ID + "-" + name->child("text")->content());
+
+ //store all the tags in the database
+ XMLNode *tags = freesound->child("tags");
+ if (tags) {
+ XMLNodeList children = tags->children();
+ XMLNodeConstIterator niter;
+ std::vector<std::string> strings;
+ for (niter = children.begin(); niter != children.end(); ++niter) {
+ XMLNode *node = *niter;
+ if( strcmp( node->name().c_str(), "resource") == 0 ) {
+ XMLNode *text = node->child("text");
+ if (text) {
+ // std::cerr << "tag: " << text->content() << std::endl;
+ strings.push_back(text->content());
+ }
+ }
+ }
+ ARDOUR::Library->set_tags (std::string("//")+audioFileName, strings);
+ ARDOUR::Library->save_changes ();
+ }
+ }
+
+ return audioFileName;
+}
+
+int audioFileWrite(void *buffer, size_t size, size_t nmemb, void *file)
+{
+ return (int)fwrite(buffer, size, nmemb, (FILE*) file);
+};
+
+//------------------------------------------------------------------------
+
+void *
+Mootcher::threadFunc() {
+CURLcode res;
+
+ res = curl_easy_perform (curl);
+ fclose (theFile);
+ curl_easy_setopt (curl, CURLOPT_NOPROGRESS, 1); // turn off the progress bar
+
+ if (res != CURLE_OK) {
+ /* it's not an error if the user pressed the stop button */
+ if (res != CURLE_ABORTED_BY_CALLBACK) {
+ error << string_compose (_("curl error %1 (%2)"), res, curl_easy_strerror(res)) << endmsg;
+ }
+ remove ( (audioFileName+".part").c_str() );
+ } else {
+ rename ( (audioFileName+".part").c_str(), audioFileName.c_str() );
+ // now download the tags &c.
+ getSoundResourceFile(ID);
+ }
+
+ return (void *) res;
+}
+
+void
+Mootcher::doneWithMootcher()
+{
+
+ // update the sound info pane if the selection in the list box is still us
+ sfb->refresh_display(ID, audioFileName);
+
+ delete this; // this should be OK to do as long as Progress and Finished signals are always received in the order in which they are emitted
+}
+
+static void *
+freesound_download_thread_func(void *arg)
+{
+ Mootcher *thisMootcher = (Mootcher *) arg;
+ void *res;
+
+ // std::cerr << "freesound_download_thread_func(" << arg << ")" << std::endl;
+ res = thisMootcher->threadFunc();
+
+ thisMootcher->Finished(); /* EMIT SIGNAL */
+ return res;
+}
+
+
+//------------------------------------------------------------------------
+
+bool Mootcher::checkAudioFile(std::string originalFileName, std::string theID)
+{
+ ensureWorkingDir();
+ ID = theID;
+ audioFileName = Glib::build_filename (basePath, ID + "-" + originalFileName);
+
+ // check to see if audio file already exists
+ FILE *testFile = g_fopen(audioFileName.c_str(), "r");
+ if (testFile) {
+ fseek (testFile , 0 , SEEK_END);
+ if (ftell (testFile) > 256) {
+ fclose (testFile);
+ return true;
+ }
+
+ // else file was small, probably an error, delete it
+ fclose(testFile);
+ remove( audioFileName.c_str() );
+ }
+ return false;
+}
+
+
+bool Mootcher::fetchAudioFile(std::string originalFileName, std::string theID, std::string audioURL, SoundFileBrowser *caller)
+{
+ ensureWorkingDir();
+ ID = theID;
+ audioFileName = Glib::build_filename (basePath, ID + "-" + originalFileName);
+
+ if (!curl) {
+ return false;
+ }
+ // now download the actual file
+ theFile = g_fopen( (audioFileName + ".part").c_str(), "wb" );
+
+ if (!theFile) {
+ return false;
+ }
+
+ // create the download url
+ audioURL += "?api_key=" + api_key;
+
+ setcUrlOptions();
+ curl_easy_setopt(curl, CURLOPT_URL, audioURL.c_str() );
+ curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, audioFileWrite);
+ curl_easy_setopt(curl, CURLOPT_WRITEDATA, theFile);
+
+ std::string prog;
+ prog = string_compose (_("%1"), originalFileName);
+ progress_bar.set_text(prog);
+
+ Gtk::VBox *freesound_vbox = dynamic_cast<Gtk::VBox *> (caller->notebook.get_nth_page(2));
+ freesound_vbox->pack_start(progress_hbox, Gtk::PACK_SHRINK);
+ progress_hbox.show();
+ cancel_download = false;
+ sfb = caller;
+
+ curl_easy_setopt (curl, CURLOPT_NOPROGRESS, 0); // turn on the progress bar
+ curl_easy_setopt (curl, CURLOPT_PROGRESSFUNCTION, progress_callback);
+ curl_easy_setopt (curl, CURLOPT_PROGRESSDATA, this);
+
+ Progress.connect(*this, invalidator (*this), boost::bind(&Mootcher::updateProgress, this, _1, _2), gui_context());
+ Finished.connect(*this, invalidator (*this), boost::bind(&Mootcher::doneWithMootcher, this), gui_context());
+ pthread_t freesound_download_thread;
+ pthread_create_and_store("freesound_import", &freesound_download_thread, freesound_download_thread_func, this);
+
+ return true;
+}
+
+//---------
+
+void
+Mootcher::updateProgress(double dlnow, double dltotal)
+{
+ if (dltotal > 0) {
+ double fraction = dlnow / dltotal;
+ // std::cerr << "progress idle: " << progress->bar->get_text() << ". " << progress->dlnow << " / " << progress->dltotal << " = " << fraction << std::endl;
+ if (fraction > 1.0) {
+ fraction = 1.0;
+ } else if (fraction < 0.0) {
+ fraction = 0.0;
+ }
+ progress_bar.set_fraction(fraction);
+ }
+}
+
+int
+Mootcher::progress_callback(void *caller, double dltotal, double dlnow, double /*ultotal*/, double /*ulnow*/)
+{
+ // It may seem curious to pass a pointer to an instance of an object to a static
+ // member function, but we can't use a normal member function as a curl progress callback,
+ // and we want access to some private members of Mootcher.
+
+ Mootcher *thisMootcher = (Mootcher *) caller;
+
+ if (thisMootcher->cancel_download) {
+ return -1;
+ }
+
+ thisMootcher->Progress(dlnow, dltotal); /* EMIT SIGNAL */
+ return 0;
+}
+
diff --git a/gtk2_ardour/sfdb_ui.cc b/gtk2_ardour/sfdb_ui.cc
index 6e08617af2..da29eb75a8 100644
--- a/gtk2_ardour/sfdb_ui.cc
+++ b/gtk2_ardour/sfdb_ui.cc
@@ -21,6 +21,8 @@
#include "gtk2ardour-config.h"
#endif
+#include "i18n.h"
+
#include <map>
#include <cerrno>
#include <sstream>
@@ -31,6 +33,8 @@
#include <gtkmm/box.h>
#include <gtkmm/stock.h>
+
+#include <glib/gstdio.h>
#include <glibmm/fileutils.h>
#include "pbd/convert.h"
@@ -60,15 +64,12 @@
#include "prompter.h"
#include "sfdb_ui.h"
#include "editing.h"
-#include "utils.h"
#include "gain_meter.h"
#include "main_clock.h"
#include "public_editor.h"
#include "sfdb_freesound_mootcher.h"
-#include "i18n.h"
-
using namespace ARDOUR;
using namespace PBD;
using namespace std;
@@ -472,6 +473,23 @@ SoundFileBox::audition ()
r = boost::dynamic_pointer_cast<AudioRegion> (RegionFactory::create (srclist, plist, false));
}
+ frameoffset_t audition_position = 0;
+ switch(_import_position) {
+ case ImportAtTimestamp:
+ audition_position = 0;
+ break;
+ case ImportAtPlayhead:
+ audition_position = _session->transport_frame();
+ break;
+ case ImportAtStart:
+ audition_position = _session->current_start_frame();
+ break;
+ case ImportAtEditPoint:
+ audition_position = PublicEditor::instance().get_preferred_edit_position ();
+ break;
+ }
+ r->set_position(audition_position);
+
_session->audition_region(r);
}
@@ -1559,6 +1577,9 @@ SoundFileOmega::check_info (const vector<string>& paths, bool& same_size, bool&
bool
SoundFileOmega::check_link_status (const Session* s, const vector<string>& paths)
{
+#ifdef PLATFORM_WINDOWS
+ return false;
+#else
std::string tmpdir(Glib::build_filename (s->session_directory().sound_path(), "linktest"));
bool ret = false;
@@ -1580,7 +1601,7 @@ SoundFileOmega::check_link_status (const Session* s, const vector<string>& paths
goto out;
}
- unlink (tmpc);
+ ::g_unlink (tmpc);
}
ret = true;
@@ -1588,6 +1609,7 @@ SoundFileOmega::check_link_status (const Session* s, const vector<string>& paths
out:
rmdir (tmpdir.c_str());
return ret;
+#endif
}
SoundFileChooser::SoundFileChooser (string title, ARDOUR::Session* s)
@@ -1656,6 +1678,7 @@ SoundFileOmega::SoundFileOmega (string title, ARDOUR::Session* s,
str.push_back (_("session start"));
set_popdown_strings (where_combo, str);
where_combo.set_active_text (str.front());
+ where_combo.signal_changed().connect (sigc::mem_fun (*this, &SoundFileOmega::where_combo_changed));
Label* l = manage (new Label);
l->set_markup (_("<b>Add files as ...</b>"));
@@ -1849,6 +1872,12 @@ SoundFileOmega::src_combo_changed()
preview.set_src_quality(get_src_quality());
}
+void
+SoundFileOmega::where_combo_changed()
+{
+ preview.set_import_position(get_position());
+}
+
ImportDisposition
SoundFileOmega::get_channel_disposition () const
{
diff --git a/gtk2_ardour/sfdb_ui.h b/gtk2_ardour/sfdb_ui.h
index 46408ecffc..aa0aa33498 100644
--- a/gtk2_ardour/sfdb_ui.h
+++ b/gtk2_ardour/sfdb_ui.h
@@ -71,6 +71,7 @@ class SoundFileBox : public Gtk::VBox, public ARDOUR::SessionHandlePtr, public P
bool audition_oneshot();
bool autoplay () const;
void set_src_quality(ARDOUR::SrcQuality q) { _src_quality = q; }
+ void set_import_position(Editing::ImportPosition p) { _import_position = p; }
protected:
std::string path;
@@ -119,6 +120,7 @@ class SoundFileBox : public Gtk::VBox, public ARDOUR::SessionHandlePtr, public P
bool seek_button_release(GdkEventButton*);
bool _seeking;
ARDOUR::SrcQuality _src_quality;
+ Editing::ImportPosition _import_position;
};
class SoundFileBrowser : public ArdourWindow
@@ -316,6 +318,7 @@ class SoundFileOmega : public SoundFileBrowser
void reset_options_noret ();
bool bad_file_message ();
void src_combo_changed ();
+ void where_combo_changed ();
void do_something (int action);
};
diff --git a/gtk2_ardour/shuttle_control.cc b/gtk2_ardour/shuttle_control.cc
index a4a83d7018..6fdf934238 100644
--- a/gtk2_ardour/shuttle_control.cc
+++ b/gtk2_ardour/shuttle_control.cc
@@ -113,7 +113,7 @@ ShuttleControl::on_size_allocate (Gtk::Allocation& alloc)
//background
pattern = cairo_pattern_create_linear (0, 0, 0, alloc.get_height());
- uint32_t col = ARDOUR_UI::config()->canvasvar_Shuttle.get();
+ uint32_t col = ARDOUR_UI::config()->get_canvasvar_Shuttle();
int r,b,g,a;
UINT_TO_RGBA(col, &r, &g, &b, &a);
cairo_pattern_add_color_stop_rgb (pattern, 0.0, r/400.0, g/400.0, b/400.0);
@@ -512,7 +512,7 @@ ShuttleControl::use_shuttle_fract (bool force, bool zero_ok)
}
void
-ShuttleControl::render (cairo_t* cr)
+ShuttleControl::render (cairo_t* cr, cairo_rectangle_t*)
{
cairo_text_extents_t extents;
diff --git a/gtk2_ardour/shuttle_control.h b/gtk2_ardour/shuttle_control.h
index a8c2e71d59..0b289c5180 100644
--- a/gtk2_ardour/shuttle_control.h
+++ b/gtk2_ardour/shuttle_control.h
@@ -87,7 +87,7 @@ class ShuttleControl : public CairoWidget, public ARDOUR::SessionHandlePtr
bool on_scroll_event (GdkEventScroll*);
bool on_motion_notify_event(GdkEventMotion*);
- void render (cairo_t *);
+ void render (cairo_t *, cairo_rectangle_t*);
void on_size_allocate (Gtk::Allocation&);
bool on_query_tooltip (int, int, bool, const Glib::RefPtr<Gtk::Tooltip>&);
diff --git a/gtk2_ardour/simpleline.cc b/gtk2_ardour/simpleline.cc
deleted file mode 100644
index 6c8c4ceb10..0000000000
--- a/gtk2_ardour/simpleline.cc
+++ /dev/null
@@ -1,191 +0,0 @@
-// Generated by gtkmmproc -- DO NOT MODIFY!
-
-#include "simpleline.h"
-#include "simpleline_p.h"
-
-
-/* line.ccg
- *
- * Copyright (C) 1998 EMC Capital Management Inc.
- * Developed by Havoc Pennington <hp@pobox.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-//#include <libgnomecanvasmm/group.h>
-
-namespace Gnome
-{
-
-namespace Canvas
-{
-
-SimpleLine::SimpleLine(Group& parentx)
- : Item(GNOME_CANVAS_ITEM(g_object_new(get_type(),0)))
-{
- item_construct(parentx);
-}
-
- SimpleLine::SimpleLine(Group& parentx, double x1, double y1, double x2, double y2)
- : Item(GNOME_CANVAS_ITEM(g_object_new(get_type(),0)))
-{
- item_construct(parentx);
- set ("x1", x1, "y1", y1, "x2", x2, "y2", y2, 0);
-}
-
-} /* namespace Canvas */
-} /* namespace Gnome */
-
-
-namespace Glib
-{
-
-Gnome::Canvas::SimpleLine* wrap(GnomeCanvasSimpleLine* object, bool take_copy)
-{
- return dynamic_cast<Gnome::Canvas::SimpleLine *> (Glib::wrap_auto ((GObject*)(object), take_copy));
-}
-
-} /* namespace Glib */
-
-namespace Gnome
-{
-
-namespace Canvas
-{
-
-
-/* The *_Class implementation: */
-
-const Glib::Class& SimpleLine_Class::init()
-{
- if(!gtype_) // create the GType if necessary
- {
- // Glib::Class has to know the class init function to clone custom types.
- class_init_func_ = &SimpleLine_Class::class_init_function;
-
- // This is actually just optimized away, apparently with no harm.
- // Make sure that the parent type has been created.
- //CppClassParent::CppObjectType::get_type();
-
- // Create the wrapper type, with the same class/instance size as the base type.
- register_derived_type(gnome_canvas_simpleline_get_type());
-
- // Add derived versions of interfaces, if the C type implements any interfaces:
- }
-
- return *this;
-}
-
-void SimpleLine_Class::class_init_function(void* g_class, void* class_data)
-{
- BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
- CppClassParent::class_init_function(klass, class_data);
-
-}
-
-
-Glib::ObjectBase* SimpleLine_Class::wrap_new(GObject* o)
-{
- return manage(new SimpleLine((GnomeCanvasSimpleLine*)(o)));
-
-}
-
-
-/* The implementation: */
-
-SimpleLine::SimpleLine(const Glib::ConstructParams& construct_params)
-:
- Item(construct_params)
-{
- }
-
-SimpleLine::SimpleLine(GnomeCanvasSimpleLine* castitem)
-:
- Item((GnomeCanvasItem*)(castitem))
-{
- }
-
-SimpleLine::~SimpleLine()
-{
- destroy_();
-}
-
-SimpleLine::CppClassType SimpleLine::line_class_; // initialize static member
-
-GType SimpleLine::get_type()
-{
- return line_class_.init().get_type();
-}
-
-GType SimpleLine::get_base_type()
-{
- return gnome_canvas_line_get_type();
-}
-
-Glib::PropertyProxy<guint> SimpleLine::property_color_rgba()
-{
- return Glib::PropertyProxy<guint>(this, "color_rgba");
-}
-
-Glib::PropertyProxy_ReadOnly<guint> SimpleLine::property_color_rgba() const
-{
- return Glib::PropertyProxy_ReadOnly<guint>(this, "color_rgba");
-}
-
-Glib::PropertyProxy<double> SimpleLine::property_x1()
-{
- return Glib::PropertyProxy<double>(this, "x1");
-}
-
-Glib::PropertyProxy_ReadOnly<double> SimpleLine::property_x1() const
-{
- return Glib::PropertyProxy_ReadOnly<double>(this, "x1");
-}
-
-Glib::PropertyProxy<double> SimpleLine::property_x2()
-{
- return Glib::PropertyProxy<double>(this, "x2");
-}
-
-Glib::PropertyProxy_ReadOnly<double> SimpleLine::property_x2() const
-{
- return Glib::PropertyProxy_ReadOnly<double>(this, "x2");
-}
-
-Glib::PropertyProxy<double> SimpleLine::property_y1()
-{
- return Glib::PropertyProxy<double>(this, "y1");
-}
-
-Glib::PropertyProxy_ReadOnly<double> SimpleLine::property_y1() const
-{
- return Glib::PropertyProxy_ReadOnly<double>(this, "y1");
-}
-
-Glib::PropertyProxy<double> SimpleLine::property_y2()
-{
- return Glib::PropertyProxy<double>(this, "y2");
-}
-
-Glib::PropertyProxy_ReadOnly<double> SimpleLine::property_y2() const
-{
- return Glib::PropertyProxy_ReadOnly<double>(this, "y2");
-}
-
-} // namespace Canvas
-
-} // namespace Gnome
-
-
diff --git a/gtk2_ardour/simpleline.h b/gtk2_ardour/simpleline.h
deleted file mode 100644
index 3aea5a4aa4..0000000000
--- a/gtk2_ardour/simpleline.h
+++ /dev/null
@@ -1,208 +0,0 @@
-// -*- c++ -*-
-#ifndef _LIBGNOMECANVASMM_SIMPLELINE_H
-#define _LIBGNOMECANVASMM_SIMPLELINE_H
-
-#include <glibmm.h>
-
-
-/* line.h
- *
- * Copyright (C) 1998 EMC Capital Management Inc.
- * Developed by Havoc Pennington <hp@pobox.com>
- *
- * Copyright (C) 1999 The Gtk-- Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include <libgnomecanvasmm/item.h>
-#include <libgnomecanvas/gnome-canvas-util.h>
-#include <libgnomecanvas/libgnomecanvas.h>
-#include "canvas-simpleline.h"
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-typedef struct _GnomeCanvasSimpleLine GnomeCanvasSimpleLine;
-typedef struct _GnomeCanvasSimpleLineClass GnomeCanvasSimpleLineClass;
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-
-namespace Gnome
-{
-
-namespace Canvas
-{ class SimpleLine_Class; } // namespace Canvas
-
-} // namespace Gnome
-namespace Gnome
-{
-
-namespace Canvas
-{
-
-class GnomeGroup;
-
-class SimpleLine : public Item
-{
- public:
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- typedef SimpleLine CppObjectType;
- typedef SimpleLine_Class CppClassType;
- typedef GnomeCanvasSimpleLine BaseObjectType;
- typedef GnomeCanvasSimpleLineClass BaseClassType;
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
- virtual ~SimpleLine();
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-
-private:
- friend class SimpleLine_Class;
- static CppClassType line_class_;
-
- // noncopyable
- SimpleLine(const SimpleLine&);
- SimpleLine& operator=(const SimpleLine&);
-
-protected:
- explicit SimpleLine(const Glib::ConstructParams& construct_params);
- explicit SimpleLine(GnomeCanvasSimpleLine* castitem);
-
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-public:
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- static GType get_type() G_GNUC_CONST;
- static GType get_base_type() G_GNUC_CONST;
-#endif
-
- ///Provides access to the underlying C GtkObject.
- GnomeCanvasSimpleLine* gobj() { return reinterpret_cast<GnomeCanvasSimpleLine*>(gobject_); }
-
- ///Provides access to the underlying C GtkObject.
- const GnomeCanvasSimpleLine* gobj() const { return reinterpret_cast<GnomeCanvasSimpleLine*>(gobject_); }
-
-
-public:
- //C++ methods used to invoke GTK+ virtual functions:
-
-protected:
- //GTK+ Virtual Functions (override these to change behaviour):
-
- //Default Signal Handlers::
-
-
-private:
-
-public:
- explicit SimpleLine(Group& parent);
- SimpleLine(Group& parent, double x1, double y1, double x2, double y2);
-
- /**
- *
- * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
- * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
- * the value of the property changes.
- */
- Glib::PropertyProxy<double> property_x1() ;
-
-/**
- *
- * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
- * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
- * the value of the property changes.
- */
- Glib::PropertyProxy_ReadOnly<double> property_x1() const;
-
- /**
- *
- * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
- * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
- * the value of the property changes.
- */
- Glib::PropertyProxy<double> property_x2() ;
-
-/**
- *
- * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
- * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
- * the value of the property changes.
- */
- Glib::PropertyProxy_ReadOnly<double> property_x2() const;
-
-
- /**
- *
- * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
- * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
- * the value of the property changes.
- */
- Glib::PropertyProxy<double> property_y1() ;
-
-/**
- *
- * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
- * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
- * the value of the property changes.
- */
- Glib::PropertyProxy_ReadOnly<double> property_y1() const;
-
- /**
- *
- * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
- * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
- * the value of the property changes.
- */
- Glib::PropertyProxy<double> property_y2() ;
-
-/**
- *
- * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
- * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
- * the value of the property changes.
- */
- Glib::PropertyProxy_ReadOnly<double> property_y2() const;
-
- /**
- *
- * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
- * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
- * the value of the property changes.
- */
- Glib::PropertyProxy<guint> property_color_rgba() ;
-
-/**
- *
- * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
- * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
- * the value of the property changes.
- */
- Glib::PropertyProxy_ReadOnly<guint> property_color_rgba() const;
-};
-
-} /* namespace Canvas */
-} /* namespace Gnome */
-
-
-namespace Glib
-{
- /** @relates Gnome::Canvas::SimpleLine
- * @param object The C instance
- * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
- * @result A C++ instance that wraps this C instance.
- */
- Gnome::Canvas::SimpleLine* wrap(GnomeCanvasSimpleLine* object, bool take_copy = false);
-}
-#endif /* _LIBGNOMECANVASMM_LINE_H */
-
diff --git a/gtk2_ardour/simpleline_p.h b/gtk2_ardour/simpleline_p.h
deleted file mode 100644
index 0a2e3061fd..0000000000
--- a/gtk2_ardour/simpleline_p.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- 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
-#include <libgnomecanvasmm/private/item_p.h>
-
-#include <glibmm/class.h>
-
-namespace Gnome
-{
-
-namespace Canvas
-{
-
-class SimpleLine_Class : public Glib::Class
-{
-public:
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- typedef SimpleLine CppObjectType;
- typedef GnomeCanvasSimpleLine BaseObjectType;
- typedef GnomeCanvasSimpleLineClass BaseClassType;
- typedef Item_Class CppClassParent;
- typedef GnomeCanvasItemClass BaseClassParent;
-
- friend class SimpleLine;
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
- const Glib::Class& init();
-
- static void class_init_function(void* g_class, void* class_data);
-
- static Glib::ObjectBase* wrap_new(GObject*);
-
-protected:
-
- //Callbacks (default signal handlers):
- //These will call the *_impl member methods, which will then call the existing default signal callbacks, if any.
- //You could prevent the original default signal handlers being called by overriding the *_impl method.
-
- //Callbacks (virtual functions):
-};
-
-
-} // namespace Canvas
-
-} // namespace Gnome
-
-#endif /* _LIBGNOMECANVASMM_SIMPLELINE_P_H */
-
diff --git a/gtk2_ardour/simplerect.cc b/gtk2_ardour/simplerect.cc
deleted file mode 100644
index bb69fc34ca..0000000000
--- a/gtk2_ardour/simplerect.cc
+++ /dev/null
@@ -1,224 +0,0 @@
-// Generated by gtkmmproc -- DO NOT MODIFY!
-
-#include "simplerect.h"
-#include "simplerect_p.h"
-#include <libgnomecanvasmm/private/shape_p.h>
-
-
-/* rect.c
- *
- * Copyright (C) 1998 EMC Capital Management Inc.
- * Developed by Havoc Pennington <hp@pobox.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-namespace Gnome
-{
-
-namespace Canvas
-{
-
-SimpleRect::SimpleRect(Group& parentx, double x1, double y1, double x2, double y2)
-: Item(GNOME_CANVAS_ITEM(g_object_new(get_type(),0)))
-{
- item_construct(parentx);
- set("x1",x1,"y1",y1,"x2",x2,"y2",y2,0);
-}
-
-SimpleRect::SimpleRect(Group& parentx)
-: Item(GNOME_CANVAS_ITEM(g_object_new(get_type(),0)))
-{
- item_construct(parentx);
-}
-
-} /* namespace Canvas */
-} /* namespace Gnome */
-
-
-namespace
-{
-} // anonymous namespace
-
-
-namespace Glib
-{
-
-Gnome::Canvas::SimpleRect* wrap(GnomeCanvasSimpleRect* object, bool take_copy)
-{
- return dynamic_cast<Gnome::Canvas::SimpleRect *> (Glib::wrap_auto ((GObject*)(object), take_copy));
-}
-
-} /* namespace Glib */
-
-namespace Gnome
-{
-
-namespace Canvas
-{
-
-
-/* The *_Class implementation: */
-
-const Glib::Class& SimpleRect_Class::init()
-{
- if(!gtype_) // create the GType if necessary
- {
- // Glib::Class has to know the class init function to clone custom types.
- class_init_func_ = &SimpleRect_Class::class_init_function;
-
- // This is actually just optimized away, apparently with no harm.
- // Make sure that the parent type has been created.
- //CppClassParent::CppObjectType::get_type();
-
- // Create the wrapper type, with the same class/instance size as the base type.
- register_derived_type(gnome_canvas_simplerect_get_type());
-
- // Add derived versions of interfaces, if the C type implements any interfaces:
- }
-
- return *this;
-}
-
-void SimpleRect_Class::class_init_function(void* g_class, void* class_data)
-{
- BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
- CppClassParent::class_init_function(klass, class_data);
-
-}
-
-Glib::ObjectBase* SimpleRect_Class::wrap_new(GObject* o)
-{
- return manage(new SimpleRect((GnomeCanvasSimpleRect*)(o)));
-
-}
-
-/* The implementation: */
-
-SimpleRect::SimpleRect(const Glib::ConstructParams& construct_params)
-: Item(construct_params)
-{
- }
-
-SimpleRect::SimpleRect(GnomeCanvasSimpleRect* castitem)
-: Item ((GnomeCanvasItem*)(castitem))
-{
-}
-
-SimpleRect::~SimpleRect()
-{
- destroy_();
-}
-
-SimpleRect::CppClassType SimpleRect::rect_class_; // initialize static member
-
-GType SimpleRect::get_type()
-{
- return rect_class_.init().get_type();
-}
-
-GType SimpleRect::get_base_type()
-{
- return gnome_canvas_simplerect_get_type();
-}
-
-Glib::PropertyProxy<double> SimpleRect::property_x1()
-{
- return Glib::PropertyProxy<double> (this, "x1");
-}
-Glib::PropertyProxy_ReadOnly<double> SimpleRect::property_x1() const
-{
- return Glib::PropertyProxy_ReadOnly<double> (this, "x1");
-}
-Glib::PropertyProxy<double> SimpleRect::property_y1()
-{
- return Glib::PropertyProxy<double> (this, "y1");
-}
-Glib::PropertyProxy_ReadOnly<double> SimpleRect::property_y1() const
-{
- return Glib::PropertyProxy_ReadOnly<double> (this, "y1");
-}
-Glib::PropertyProxy<double> SimpleRect::property_x2()
-{
- return Glib::PropertyProxy<double> (this, "x2");
-}
-Glib::PropertyProxy_ReadOnly<double> SimpleRect::property_x2() const
-{
- return Glib::PropertyProxy_ReadOnly<double> (this, "x2");
-}
-Glib::PropertyProxy<double> SimpleRect::property_y2()
-{
- return Glib::PropertyProxy<double> (this, "y2");
-}
-Glib::PropertyProxy_ReadOnly<double> SimpleRect::property_y2() const
-{
- return Glib::PropertyProxy_ReadOnly<double> (this, "y2");
-}
-Glib::PropertyProxy<guint> SimpleRect::property_outline_pixels()
-{
- return Glib::PropertyProxy<guint> (this, "outline_pixels");
-}
-Glib::PropertyProxy_ReadOnly<guint> SimpleRect::property_outline_pixels() const
-{
- return Glib::PropertyProxy_ReadOnly<guint> (this, "outline_pixels");
-}
-Glib::PropertyProxy<guint> SimpleRect::property_outline_what()
-{
- return Glib::PropertyProxy<guint> (this, "outline_what");
-}
-Glib::PropertyProxy_ReadOnly<guint> SimpleRect::property_outline_what() const
-{
- return Glib::PropertyProxy_ReadOnly<guint> (this, "outline_what");
-}
-Glib::PropertyProxy<bool> SimpleRect::property_fill()
-{
- return Glib::PropertyProxy<bool> (this, "fill");
-}
-Glib::PropertyProxy_ReadOnly<bool> SimpleRect::property_fill() const
-{
- return Glib::PropertyProxy_ReadOnly<bool> (this, "fill");
-}
-Glib::PropertyProxy<guint> SimpleRect::property_fill_color_rgba()
-{
- return Glib::PropertyProxy<guint> (this, "fill_color_rgba");
-}
-Glib::PropertyProxy_ReadOnly<guint> SimpleRect::property_fill_color_rgba() const
-{
- return Glib::PropertyProxy_ReadOnly<guint> (this, "fill_color_rgba");
-}
-Glib::PropertyProxy<guint> SimpleRect::property_outline_color_rgba()
-{
- return Glib::PropertyProxy<guint> (this, "outline_color_rgba");
-}
-Glib::PropertyProxy_ReadOnly<guint> SimpleRect::property_outline_color_rgba() const
-{
- return Glib::PropertyProxy_ReadOnly<guint> (this, "outline_color_rgba");
-}
-Glib::PropertyProxy<bool> SimpleRect::property_draw()
-{
- return Glib::PropertyProxy<bool> (this, "draw");
-}
-Glib::PropertyProxy_ReadOnly<bool> SimpleRect::property_draw() const
-{
- return Glib::PropertyProxy_ReadOnly<bool> (this, "draw");
-}
-
-
-
-} // namespace Canvas
-
-} // namespace Gnome
-
-
diff --git a/gtk2_ardour/simplerect.h b/gtk2_ardour/simplerect.h
deleted file mode 100644
index d102d91792..0000000000
--- a/gtk2_ardour/simplerect.h
+++ /dev/null
@@ -1,151 +0,0 @@
-// -*- c++ -*-
-#ifndef _LIBGNOMECANVASMM_SIMPLERECT_H
-#define _LIBGNOMECANVASMM_SIMPLERECT_H
-
-#include <glibmm.h>
-
-
-/* rect.h
- *
- * Copyright (C) 1998 EMC Capital Management Inc.
- * Developed by Havoc Pennington <hp@pobox.com>
- *
- * Copyright (C) 1999 The Gtk-- Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include <libgnomecanvasmm/item.h>
-#include <libgnomecanvasmm/group.h>
-#include <libgnomecanvasmm/shape.h>
-#include "canvas-simplerect.h"
-
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-typedef struct _GnomeCanvasSimpleRect GnomeCanvasSimpleRect;
-typedef struct _GnomeCanvasSimpleRectClass GnomeCanvasSimpleRectClass;
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-
-namespace Gnome
-{
-
-namespace Canvas
-{ class SimpleRect_Class; } // namespace Canvas
-
-} // namespace Gnome
-namespace Gnome
-{
-
-namespace Canvas
-{
-
-//class Group;
-
-
-class SimpleRect : public Item
-{
- public:
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- typedef SimpleRect CppObjectType;
- typedef SimpleRect_Class CppClassType;
- typedef GnomeCanvasSimpleRect BaseObjectType;
- typedef GnomeCanvasSimpleRectClass BaseClassType;
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
- virtual ~SimpleRect();
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-
-private:
- friend class SimpleRect_Class;
- static CppClassType rect_class_;
-
- // noncopyable
- SimpleRect(const SimpleRect&);
- SimpleRect& operator=(const SimpleRect&);
-
-protected:
- explicit SimpleRect(const Glib::ConstructParams& construct_params);
- explicit SimpleRect(GnomeCanvasSimpleRect* castitem);
-
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-public:
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- static GType get_type() G_GNUC_CONST;
- static GType get_base_type() G_GNUC_CONST;
-#endif
-
- ///Provides access to the underlying C GtkObject.
- GnomeCanvasSimpleRect* gobj() { return reinterpret_cast<GnomeCanvasSimpleRect*>(gobject_); }
-
- ///Provides access to the underlying C GtkObject.
- const GnomeCanvasSimpleRect* gobj() const { return reinterpret_cast<GnomeCanvasSimpleRect*>(gobject_); }
-
-
-public:
- //C++ methods used to invoke GTK+ virtual functions:
-
-protected:
- //GTK+ Virtual Functions (override these to change behaviour):
-
- //Default Signal Handlers::
-
-
-private:
-
-
-public:
- SimpleRect(Group& parent, double x1, double y1, double x2, double y2);
- explicit SimpleRect(Group& parent);
-
- Glib::PropertyProxy<double> property_x1();
- Glib::PropertyProxy_ReadOnly<double> property_x1() const;
- Glib::PropertyProxy<double> property_y1();
- Glib::PropertyProxy_ReadOnly<double> property_y1() const;
- Glib::PropertyProxy<double> property_x2();
- Glib::PropertyProxy_ReadOnly<double> property_x2() const;
- Glib::PropertyProxy<double> property_y2();
- Glib::PropertyProxy_ReadOnly<double> property_y2() const;
- Glib::PropertyProxy<guint> property_outline_pixels();
- Glib::PropertyProxy_ReadOnly<guint> property_outline_pixels() const;
- Glib::PropertyProxy<guint> property_outline_what();
- Glib::PropertyProxy_ReadOnly<guint> property_outline_what() const;
- Glib::PropertyProxy<bool> property_fill();
- Glib::PropertyProxy_ReadOnly<bool> property_fill() const;
- Glib::PropertyProxy<guint> property_fill_color_rgba();
- Glib::PropertyProxy_ReadOnly<guint> property_fill_color_rgba() const;
- Glib::PropertyProxy<guint> property_outline_color_rgba();
- Glib::PropertyProxy_ReadOnly<guint> property_outline_color_rgba() const;
- Glib::PropertyProxy<bool> property_draw();
- Glib::PropertyProxy_ReadOnly<bool> property_draw() const;
-
-};
-
-} /* namespace Canvas */
-} /* namespace Gnome */
-
-namespace Glib
-{
- /** @relates Gnome::Canvas::SimpleRect
- * @param object The C instance
- * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
- * @result A C++ instance that wraps this C instance.
- */
- Gnome::Canvas::SimpleRect* wrap(GnomeCanvasSimpleRect* object, bool take_copy = false);
-}
-#endif /* _LIBGNOMECANVASMM_RECT_H */
-
diff --git a/gtk2_ardour/simplerect_p.h b/gtk2_ardour/simplerect_p.h
deleted file mode 100644
index 4338d1029d..0000000000
--- a/gtk2_ardour/simplerect_p.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- 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
-
-#include <glibmm/class.h>
-
-namespace Gnome
-{
-
-namespace Canvas
-{
-
-class SimpleRect_Class : public Glib::Class
-{
-public:
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- typedef SimpleRect CppObjectType;
- typedef GnomeCanvasSimpleRect BaseObjectType;
- typedef GnomeCanvasSimpleRectClass BaseClassType;
- typedef Shape_Class CppClassParent;
- typedef GnomeCanvasItemClass BaseClassParent;
-
- friend class SimpleRect;
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
- const Glib::Class& init();
-
- static void class_init_function(void* g_class, void* class_data);
-
- static Glib::ObjectBase* wrap_new(GObject*);
-
-protected:
-
- //Callbacks (default signal handlers):
- //These will call the *_impl member methods, which will then call the existing default signal callbacks, if any.
- //You could prevent the original default signal handlers being called by overriding the *_impl method.
-
- //Callbacks (virtual functions):
-};
-
-
-} // namespace Canvas
-
-} // namespace Gnome
-
-#endif /* _LIBGNOMECANVASMM_SIMPLERECT_P_H */
-
diff --git a/gtk2_ardour/soundcloud_export_selector.cc b/gtk2_ardour/soundcloud_export_selector.cc
new file mode 100644
index 0000000000..e9ef5a3060
--- /dev/null
+++ b/gtk2_ardour/soundcloud_export_selector.cc
@@ -0,0 +1,113 @@
+/* soundcloud_export_selector.cpp ***************************************************
+
+ Adapted for Ardour by Ben Loftis, March 2012
+
+ Licence GPL:
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+*************************************************************************************/
+#include "ardour/debug.h"
+#include "ardour/soundcloud_upload.h"
+#include "soundcloud_export_selector.h"
+
+#include <pbd/error.h>
+#include "pbd/openuri.h"
+
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <iostream>
+#include <glib/gstdio.h>
+
+#include "i18n.h"
+
+using namespace PBD;
+
+#include "ardour/session_metadata.h"
+#include "utils.h"
+
+SoundcloudExportSelector::SoundcloudExportSelector () :
+ sc_table (4, 3),
+ soundcloud_username_label (_("User Email"), 1.0, 0.5),
+ soundcloud_password_label (_("Password"), 1.0, 0.5),
+ soundcloud_public_checkbox (_("Make files public")),
+ soundcloud_open_checkbox (_("Open uploaded files in browser")),
+ soundcloud_download_checkbox (_("Make files downloadable")),
+ progress_bar()
+{
+
+
+ soundcloud_public_checkbox.set_name ("ExportCheckbox");
+ soundcloud_download_checkbox.set_name ("ExportCheckbox");
+ soundcloud_username_label.set_name ("ExportFormatLabel");
+ soundcloud_username_entry.set_name ("ExportFormatDisplay");
+ soundcloud_password_label.set_name ("ExportFormatLabel");
+ soundcloud_password_entry.set_name ("ExportFormatDisplay");
+
+ soundcloud_username_entry.set_text (ARDOUR::SessionMetadata::Metadata()->user_email());
+ soundcloud_password_entry.set_visibility (false);
+
+ Gtk::Frame *sc_frame = manage (new Gtk::Frame);
+ sc_frame->set_border_width (4);
+ sc_frame->set_shadow_type (Gtk::SHADOW_ETCHED_OUT);
+ sc_frame->set_name ("soundcloud_export_box");
+ pack_start (*sc_frame, false, false);
+
+ sc_table.set_border_width (4);
+ sc_table.set_col_spacings (5);
+ sc_table.set_row_spacings (5);
+ sc_frame->add (sc_table);
+
+ sc_table.attach ( *(Gtk::manage (new Gtk::Image (ARDOUR_UI_UTILS::get_icon (X_("soundcloud"))))) , 0, 1, 0, 2);
+
+ sc_table.attach (soundcloud_username_label, 0, 1, 1, 2);
+ sc_table.attach (soundcloud_username_entry, 1, 3, 1, 2);
+ sc_table.attach (soundcloud_password_label, 0, 1, 2, 3);
+ sc_table.attach (soundcloud_password_entry, 1, 3, 2, 3);
+ sc_table.attach (soundcloud_public_checkbox, 2, 3, 3, 4);
+ sc_table.attach (soundcloud_open_checkbox, 2, 3, 4, 5);
+ sc_table.attach (soundcloud_download_checkbox, 2, 3, 5, 6);
+
+ pack_end (progress_bar, false, false);
+ sc_frame->show_all ();
+}
+
+
+int
+SoundcloudExportSelector::do_progress_callback (double ultotal, double ulnow, const std::string &filename)
+{
+ DEBUG_TRACE (DEBUG::Soundcloud, string_compose ("SoundcloudExportSelector::do_progress_callback(%1, %2, %3)", ultotal, ulnow, filename));
+ if (soundcloud_cancel) {
+ progress_bar.set_fraction (0);
+ // cancel_button.set_label ("");
+ return -1;
+ }
+
+ double fraction = 0.0;
+ if (ultotal != 0) {
+ fraction = ulnow / ultotal;
+ }
+
+ progress_bar.set_fraction ( fraction );
+
+ std::string prog;
+ prog = string_compose (_("%1: %2 of %3 bytes uploaded"), filename, ulnow, ultotal);
+ progress_bar.set_text (prog);
+
+
+ return 0;
+}
+
diff --git a/gtk2_ardour/soundcloud_export_selector.h b/gtk2_ardour/soundcloud_export_selector.h
new file mode 100644
index 0000000000..fcfbdfe91b
--- /dev/null
+++ b/gtk2_ardour/soundcloud_export_selector.h
@@ -0,0 +1,46 @@
+/*soundcloud_export_selector.h***********************************************
+
+ Adapted for Ardour by Ben Loftis, March 2012
+
+*****************************************************************************/
+#ifndef __soundcloud_export_selector_h__
+#define __soundcloud_export_selector_h__
+
+#include <string>
+#include <fstream>
+#include <iostream>
+#include <stdio.h>
+#include <cstring>
+#include <string>
+#include <sstream>
+#include <vector>
+#include <gtkmm.h>
+#include <gtkmm/progressbar.h>
+
+class SoundcloudExportSelector : public Gtk::VBox, public ARDOUR::SessionHandlePtr
+{
+ public:
+ SoundcloudExportSelector ();
+ int do_progress_callback (double ultotal, double ulnow, const std::string &filename);
+ std::string username () { return soundcloud_username_entry.get_text (); }
+ std::string password () { return soundcloud_password_entry.get_text (); }
+ bool make_public () { return soundcloud_public_checkbox.get_active (); }
+ bool open_page () { return soundcloud_open_checkbox.get_active (); }
+ bool downloadable () { return soundcloud_download_checkbox.get_active (); }
+ void cancel () { soundcloud_cancel = true; }
+
+ private:
+ Gtk::Table sc_table;
+ Gtk::Label soundcloud_username_label;
+ Gtk::Entry soundcloud_username_entry;
+ Gtk::Label soundcloud_password_label;
+ Gtk::Entry soundcloud_password_entry;
+ Gtk::CheckButton soundcloud_public_checkbox;
+ Gtk::CheckButton soundcloud_open_checkbox;
+ Gtk::CheckButton soundcloud_download_checkbox;
+ bool soundcloud_cancel;
+ Gtk::ProgressBar progress_bar;
+
+};
+
+#endif // __soundcloud_export_selector_h__
diff --git a/gtk2_ardour/splash.cc b/gtk2_ardour/splash.cc
index b606ec6050..be34f2dbbd 100644
--- a/gtk2_ardour/splash.cc
+++ b/gtk2_ardour/splash.cc
@@ -48,7 +48,7 @@ Splash::Splash ()
std::string splash_file;
- if (!find_file_in_search_path (ardour_data_search_path(), "splash.png", splash_file)) {
+ if (!find_file (ardour_data_search_path(), "splash.png", splash_file)) {
cerr << "Cannot find splash screen image file\n";
throw failed_constructor();
}
@@ -109,6 +109,7 @@ Splash::pop_back_for (Gtk::Window& win)
So for OS X, we just hide ourselves.
*/
+ (void) win;
hide();
#else
set_keep_above (false);
@@ -223,6 +224,8 @@ Splash::message (const string& msg)
str += Glib::Markup::escape_text (msg);
str += "</b>";
+ show ();
+
layout->set_markup (str);
Glib::RefPtr<Gdk::Window> win = darea.get_window();
@@ -234,11 +237,6 @@ Splash::message (const string& msg)
} else {
darea.queue_draw ();
}
-
- while (!expose_done) {
- if(gtk_main_iteration ()) return; // quit was called
- }
- gdk_display_flush (gdk_display_get_default());
}
}
diff --git a/gtk2_ardour/startup.cc b/gtk2_ardour/startup.cc
index 8482a6cb22..4e073bf2f1 100644
--- a/gtk2_ardour/startup.cc
+++ b/gtk2_ardour/startup.cc
@@ -19,6 +19,7 @@
#ifdef WAF_BUILD
#include "gtk2ardour-config.h"
+#include "gtk2ardour-version.h"
#endif
#include <fstream>
@@ -55,6 +56,7 @@ using namespace Gdk;
using namespace Glib;
using namespace PBD;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
ArdourStartup* ArdourStartup::the_startup = 0;
diff --git a/gtk2_ardour/step_editor.cc b/gtk2_ardour/step_editor.cc
index 11ac6c3187..4665da348b 100644
--- a/gtk2_ardour/step_editor.cc
+++ b/gtk2_ardour/step_editor.cc
@@ -279,8 +279,8 @@ StepEditor::step_add_note (uint8_t channel, uint8_t pitch, uint8_t velocity, Evo
framepos_t fpos = step_edit_region_view->region_beats_to_absolute_frames (step_edit_beat_pos + beat_duration);
- if (fpos >= (_editor.leftmost_position() + _editor.current_page_frames())) {
- _editor.reset_x_origin (fpos - (_editor.current_page_frames()/4));
+ if (fpos >= (_editor.leftmost_sample() + _editor.current_page_samples())) {
+ _editor.reset_x_origin (fpos - (_editor.current_page_samples()/4));
}
Evoral::MusicalTime at = step_edit_beat_pos;
diff --git a/gtk2_ardour/step_entry.cc b/gtk2_ardour/step_entry.cc
index fd53fd55ff..ac13770a29 100644
--- a/gtk2_ardour/step_entry.cc
+++ b/gtk2_ardour/step_entry.cc
@@ -42,6 +42,7 @@ using namespace Glib;
using namespace Gtkmm2ext;
using namespace PBD;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
static void
_note_off_event_handler (GtkWidget* /*widget*/, int note, gpointer arg)
@@ -278,8 +279,8 @@ StepEntry::StepEntry (StepEditor& seditor)
ARDOUR_UI::instance()->set_tip (&velocity_mp_button, _("Set volume (velocity) to mezzo-piano"), "");
ARDOUR_UI::instance()->set_tip (&velocity_mf_button, _("Set volume (velocity) to mezzo-forte"), "");
ARDOUR_UI::instance()->set_tip (&velocity_f_button, _("Set volume (velocity) to forte"), "");
- ARDOUR_UI::instance()->set_tip (&velocity_ff_button, _("Set volume (velocity) to forteissimo"), "");
- ARDOUR_UI::instance()->set_tip (&velocity_fff_button, _("Set volume (velocity) to forteississimo"), "");
+ ARDOUR_UI::instance()->set_tip (&velocity_ff_button, _("Set volume (velocity) to fortissimo"), "");
+ ARDOUR_UI::instance()->set_tip (&velocity_fff_button, _("Set volume (velocity) to fortississimo"), "");
note_velocity_box.pack_start (velocity_ppp_button, false, false);
note_velocity_box.pack_start (velocity_pp_button, false, false);
@@ -709,7 +710,7 @@ StepEntry::load_bindings ()
std::string binding_file;
- if (find_file_in_search_path (ardour_config_search_path(), "step_editing.bindings", binding_file)) {
+ if (find_file (ardour_config_search_path(), "step_editing.bindings", binding_file)) {
bindings.load (binding_file);
}
}
diff --git a/gtk2_ardour/stereo_panner.cc b/gtk2_ardour/stereo_panner.cc
index 2a5f521f1d..ab923a47be 100644
--- a/gtk2_ardour/stereo_panner.cc
+++ b/gtk2_ardour/stereo_panner.cc
@@ -49,6 +49,7 @@
using namespace std;
using namespace Gtk;
using namespace Gtkmm2ext;
+using namespace ARDOUR_UI_UTILS;
static const int pos_box_size = 8;
static const int lr_box_size = 15;
@@ -86,9 +87,7 @@ StereoPanner::StereoPanner (boost::shared_ptr<PannerShell> p)
if (!have_font) {
Pango::FontDescription font;
Pango::AttrFontDesc* font_attr;
- font = Pango::FontDescription ("ArdourMono");
- font.set_weight (Pango::WEIGHT_BOLD);
- font.set_size(9 * PANGO_SCALE);
+ font = Pango::FontDescription (ARDOUR_UI::config()->get_canvasvar_SmallBoldMonospaceFont());
font_attr = new Pango::AttrFontDesc (Pango::Attribute::create_attr_font_desc (font));
panner_font_attributes.change(*font_attr);
delete font_attr;
@@ -178,6 +177,11 @@ StereoPanner::on_expose_event (GdkEventExpose*)
r = 0x606060ff;
}
+ if (_send_mode) {
+ b = rgba_from_style("SendStripBase",
+ UINT_RGBA_R(b), UINT_RGBA_G(b), UINT_RGBA_B(b), 255,
+ "fg");
+ }
/* background */
context->set_source_rgba (UINT_RGBA_R_FLT(b), UINT_RGBA_G_FLT(b), UINT_RGBA_B_FLT(b), UINT_RGBA_A_FLT(b));
@@ -663,23 +667,23 @@ StereoPanner::on_key_press_event (GdkEventKey* ev)
void
StereoPanner::set_colors ()
{
- colors[Normal].fill = ARDOUR_UI::config()->canvasvar_StereoPannerFill.get();
- colors[Normal].outline = ARDOUR_UI::config()->canvasvar_StereoPannerOutline.get();
- colors[Normal].text = ARDOUR_UI::config()->canvasvar_StereoPannerText.get();
- colors[Normal].background = ARDOUR_UI::config()->canvasvar_StereoPannerBackground.get();
- colors[Normal].rule = ARDOUR_UI::config()->canvasvar_StereoPannerRule.get();
-
- colors[Mono].fill = ARDOUR_UI::config()->canvasvar_StereoPannerMonoFill.get();
- colors[Mono].outline = ARDOUR_UI::config()->canvasvar_StereoPannerMonoOutline.get();
- colors[Mono].text = ARDOUR_UI::config()->canvasvar_StereoPannerMonoText.get();
- colors[Mono].background = ARDOUR_UI::config()->canvasvar_StereoPannerMonoBackground.get();
- colors[Mono].rule = ARDOUR_UI::config()->canvasvar_StereoPannerRule.get();
-
- colors[Inverted].fill = ARDOUR_UI::config()->canvasvar_StereoPannerInvertedFill.get();
- colors[Inverted].outline = ARDOUR_UI::config()->canvasvar_StereoPannerInvertedOutline.get();
- colors[Inverted].text = ARDOUR_UI::config()->canvasvar_StereoPannerInvertedText.get();
- colors[Inverted].background = ARDOUR_UI::config()->canvasvar_StereoPannerInvertedBackground.get();
- colors[Inverted].rule = ARDOUR_UI::config()->canvasvar_StereoPannerRule.get();
+ colors[Normal].fill = ARDOUR_UI::config()->get_canvasvar_StereoPannerFill();
+ colors[Normal].outline = ARDOUR_UI::config()->get_canvasvar_StereoPannerOutline();
+ colors[Normal].text = ARDOUR_UI::config()->get_canvasvar_StereoPannerText();
+ colors[Normal].background = ARDOUR_UI::config()->get_canvasvar_StereoPannerBackground();
+ colors[Normal].rule = ARDOUR_UI::config()->get_canvasvar_StereoPannerRule();
+
+ colors[Mono].fill = ARDOUR_UI::config()->get_canvasvar_StereoPannerMonoFill();
+ colors[Mono].outline = ARDOUR_UI::config()->get_canvasvar_StereoPannerMonoOutline();
+ colors[Mono].text = ARDOUR_UI::config()->get_canvasvar_StereoPannerMonoText();
+ colors[Mono].background = ARDOUR_UI::config()->get_canvasvar_StereoPannerMonoBackground();
+ colors[Mono].rule = ARDOUR_UI::config()->get_canvasvar_StereoPannerRule();
+
+ colors[Inverted].fill = ARDOUR_UI::config()->get_canvasvar_StereoPannerInvertedFill();
+ colors[Inverted].outline = ARDOUR_UI::config()->get_canvasvar_StereoPannerInvertedOutline();
+ colors[Inverted].text = ARDOUR_UI::config()->get_canvasvar_StereoPannerInvertedText();
+ colors[Inverted].background = ARDOUR_UI::config()->get_canvasvar_StereoPannerInvertedBackground();
+ colors[Inverted].rule = ARDOUR_UI::config()->get_canvasvar_StereoPannerRule();
}
void
diff --git a/gtk2_ardour/streamview.cc b/gtk2_ardour/streamview.cc
index 19f6ee65bb..5d2b58a5cd 100644
--- a/gtk2_ardour/streamview.cc
+++ b/gtk2_ardour/streamview.cc
@@ -28,12 +28,15 @@
#include "ardour/track.h"
#include "ardour/session.h"
+#include "pbd/compose.h"
+
+#include "canvas/rectangle.h"
+#include "canvas/debug.h"
+
#include "streamview.h"
#include "global_signals.h"
#include "region_view.h"
#include "route_time_axis.h"
-#include "canvas-waveview.h"
-#include "canvas-simplerect.h"
#include "region_selection.h"
#include "selection.h"
#include "public_editor.h"
@@ -42,41 +45,37 @@
#include "gui_thread.h"
#include "utils.h"
+#include "i18n.h"
+
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Editing;
-StreamView::StreamView (RouteTimeAxisView& tv, ArdourCanvas::Group* background_group, ArdourCanvas::Group* canvas_group)
+StreamView::StreamView (RouteTimeAxisView& tv, ArdourCanvas::Container* canvas_group)
: _trackview (tv)
- , owns_background_group (background_group == 0)
- , owns_canvas_group (canvas_group == 0)
- , _background_group (background_group ? background_group : new ArdourCanvas::Group (*_trackview.canvas_background()))
- , _canvas_group (canvas_group ? canvas_group : new ArdourCanvas::Group(*_trackview.canvas_display()))
- , _samples_per_unit (_trackview.editor().get_current_zoom ())
+ , _canvas_group (canvas_group ? canvas_group : new ArdourCanvas::Container (_trackview.canvas_display()))
+ , _samples_per_pixel (_trackview.editor().get_current_zoom ())
, rec_updating(false)
, rec_active(false)
, stream_base_color(0xFFFFFFFF)
, _layers (1)
, _layer_display (Overlaid)
- , height(tv.height)
+ , height (tv.height)
, last_rec_data_frame(0)
{
+ CANVAS_DEBUG_NAME (_canvas_group, string_compose ("SV canvas group %1", _trackview.name()));
+
/* set_position() will position the group */
- canvas_rect = new ArdourCanvas::SimpleRect (*_background_group);
- canvas_rect->property_x1() = 0.0;
- canvas_rect->property_y1() = 0.0;
- canvas_rect->property_x2() = Gtkmm2ext::physical_screen_width (_trackview.editor().get_window());
- canvas_rect->property_y2() = (double) tv.current_height();
- canvas_rect->raise(1); // raise above tempo lines
-
- canvas_rect->property_outline_what() = (guint32) (0x2|0x8); // outline RHS and bottom
- canvas_rect->property_outline_color_rgba() = RGBA_TO_UINT (0, 0, 0, 255);
-
- canvas_rect->signal_event().connect (sigc::bind (
- sigc::mem_fun (_trackview.editor(), &PublicEditor::canvas_stream_view_event),
- canvas_rect, &_trackview));
+ canvas_rect = new ArdourCanvas::Rectangle (_canvas_group);
+ CANVAS_DEBUG_NAME (canvas_rect, string_compose ("SV canvas rectangle %1", _trackview.name()));
+ canvas_rect->set (ArdourCanvas::Rect (0, 0, ArdourCanvas::COORD_MAX, tv.current_height () -1));
+ canvas_rect->set_outline_what (ArdourCanvas::Rectangle::BOTTOM); // bottom separator
+ canvas_rect->set_outline_color (RGBA_TO_UINT (0, 0, 0, 255));
+ canvas_rect->set_fill (true);
+ canvas_rect->Event.connect (sigc::bind (sigc::mem_fun (_trackview.editor(), &PublicEditor::canvas_stream_view_event), canvas_rect, &_trackview));
if (_trackview.is_track()) {
_trackview.track()->DiskstreamChanged.connect (*this, invalidator (*this), boost::bind (&StreamView::diskstream_changed, this), gui_context());
@@ -95,14 +94,6 @@ StreamView::~StreamView ()
undisplay_track ();
delete canvas_rect;
-
- if (owns_background_group) {
- delete _background_group;
- }
-
- if (owns_canvas_group) {
- delete _canvas_group;
- }
}
void
@@ -116,8 +107,7 @@ StreamView::attach ()
int
StreamView::set_position (gdouble x, gdouble y)
{
- _canvas_group->property_x() = x;
- _canvas_group->property_y() = y;
+ _canvas_group->set_position (ArdourCanvas::Duple (x, y));
return 0;
}
@@ -129,40 +119,40 @@ StreamView::set_height (double h)
return -1;
}
- if (canvas_rect->property_y2() == h) {
+ if (canvas_rect->y1() == h /* -1 */) {
return 0;
}
height = h;
- canvas_rect->property_y2() = height;
+ canvas_rect->set_y1 (height /* -1 */); // share the separator with outline
update_contents_height ();
return 0;
}
int
-StreamView::set_samples_per_unit (gdouble spp)
+StreamView::set_samples_per_pixel (double fpp)
{
RegionViewList::iterator i;
- if (spp < 1.0) {
+ if (fpp < 1.0) {
return -1;
}
- _samples_per_unit = spp;
+ _samples_per_pixel = fpp;
for (i = region_views.begin(); i != region_views.end(); ++i) {
- (*i)->set_samples_per_unit (spp);
+ (*i)->set_samples_per_pixel (fpp);
}
for (vector<RecBoxInfo>::iterator xi = rec_rects.begin(); xi != rec_rects.end(); ++xi) {
RecBoxInfo &recbox = (*xi);
- gdouble xstart = _trackview.editor().frame_to_pixel (recbox.start);
- gdouble xend = _trackview.editor().frame_to_pixel (recbox.start + recbox.length);
+ ArdourCanvas::Coord const xstart = _trackview.editor().sample_to_pixel (recbox.start);
+ ArdourCanvas::Coord const xend = _trackview.editor().sample_to_pixel (recbox.start + recbox.length);
- recbox.rectangle->property_x1() = xstart;
- recbox.rectangle->property_x2() = xend;
+ recbox.rectangle->set_x0 (xstart);
+ recbox.rectangle->set_x1 (xend);
}
update_coverage_frames ();
@@ -354,7 +344,13 @@ StreamView::diskstream_changed ()
}
void
-StreamView::apply_color (Gdk::Color color, ColorTarget target)
+StreamView::apply_color (Gdk::Color const& c, ColorTarget target)
+{
+ return apply_color (gdk_color_to_rgba (c), target);
+}
+
+void
+StreamView::apply_color (uint32_t color, ColorTarget target)
{
list<RegionView *>::iterator i;
@@ -367,9 +363,8 @@ StreamView::apply_color (Gdk::Color color, ColorTarget target)
break;
case StreamBaseColor:
- stream_base_color = RGBA_TO_UINT (
- color.get_red_p(), color.get_green_p(), color.get_blue_p(), 255);
- canvas_rect->property_fill_color_rgba() = stream_base_color;
+ stream_base_color = color;
+ canvas_rect->set_fill_color (stream_base_color);
break;
}
}
@@ -424,19 +419,24 @@ StreamView::update_rec_box ()
case NonLayered:
case Normal:
rect.length = at - rect.start;
- xstart = _trackview.editor().frame_to_pixel (rect.start);
- xend = _trackview.editor().frame_to_pixel (at);
+ xstart = _trackview.editor().sample_to_pixel (rect.start);
+ xend = _trackview.editor().sample_to_pixel (at);
break;
case Destructive:
rect.length = 2;
- xstart = _trackview.editor().frame_to_pixel (_trackview.track()->current_capture_start());
- xend = _trackview.editor().frame_to_pixel (at);
+ xstart = _trackview.editor().sample_to_pixel (_trackview.track()->current_capture_start());
+ xend = _trackview.editor().sample_to_pixel (at);
break;
+
+ default:
+ fatal << string_compose (_("programming error: %1"), "illegal track mode") << endmsg;
+ /*NOTREACHED*/
+ return;
}
- rect.rectangle->property_x1() = xstart;
- rect.rectangle->property_x2() = xend;
+ rect.rectangle->set_x0 (xstart);
+ rect.rectangle->set_x1 (xend);
}
}
@@ -603,13 +603,13 @@ StreamView::update_contents_height ()
for (vector<RecBoxInfo>::iterator i = rec_rects.begin(); i != rec_rects.end(); ++i) {
switch (_layer_display) {
case Overlaid:
- i->rectangle->property_y2() = height;
+ i->rectangle->set_y1 (height);
break;
case Stacked:
case Expanded:
/* In stacked displays, the recregion is always at the top */
- i->rectangle->property_y1() = 0;
- i->rectangle->property_y2() = h;
+ i->rectangle->set_y0 (0);
+ i->rectangle->set_y1 (h);
break;
}
}
diff --git a/gtk2_ardour/streamview.h b/gtk2_ardour/streamview.h
index 49001f57f6..b3ae34e4d4 100644
--- a/gtk2_ardour/streamview.h
+++ b/gtk2_ardour/streamview.h
@@ -26,8 +26,6 @@
#include "ardour/location.h"
#include "enums.h"
-#include "simplerect.h"
-#include "canvas.h"
namespace Gdk {
class Color;
@@ -42,8 +40,13 @@ namespace ARDOUR {
struct PeakData;
}
+namespace ArdourCanvas {
+ class Rectangle;
+ class Container;
+}
+
struct RecBoxInfo {
- ArdourCanvas::SimpleRect* rectangle;
+ ArdourCanvas::Rectangle* rectangle;
framepos_t start;
ARDOUR::framecnt_t length;
};
@@ -70,9 +73,8 @@ public:
int set_position (gdouble x, gdouble y);
virtual int set_height (double);
- virtual int set_samples_per_unit (gdouble spp);
- gdouble get_samples_per_unit () { return _samples_per_unit; }
- virtual void horizontal_position_changed () {}
+ virtual int set_samples_per_pixel (double);
+ gdouble get_samples_per_pixel () const { return _samples_per_pixel; }
virtual void enter_internal_edit_mode ();
virtual void leave_internal_edit_mode ();
@@ -80,16 +82,16 @@ public:
void set_layer_display (LayerDisplay);
LayerDisplay layer_display () const { return _layer_display; }
- ArdourCanvas::Group* background_group() { return _background_group; }
- ArdourCanvas::Group* canvas_item() { return _canvas_group; }
+ ArdourCanvas::Container* canvas_item() { return _canvas_group; }
enum ColorTarget {
RegionColor,
StreamBaseColor
};
- Gdk::Color get_region_color () const { return region_color; }
- void apply_color (Gdk::Color, ColorTarget t);
+ uint32_t get_region_color () const { return region_color; }
+ void apply_color (uint32_t, ColorTarget t);
+ void apply_color (Gdk::Color const &, ColorTarget t);
uint32_t num_selected_regionviews () const;
@@ -126,7 +128,7 @@ public:
sigc::signal<void> ContentsHeightChanged;
protected:
- StreamView (RouteTimeAxisView&, ArdourCanvas::Group* background_group = 0, ArdourCanvas::Group* canvas_group = 0);
+ StreamView (RouteTimeAxisView&, ArdourCanvas::Container* canvas_group = 0);
void transport_changed();
void transport_looped();
@@ -149,16 +151,13 @@ protected:
virtual void color_handler () = 0;
RouteTimeAxisView& _trackview;
- bool owns_background_group;
- bool owns_canvas_group;
- ArdourCanvas::Group* _background_group;
- ArdourCanvas::Group* _canvas_group;
- ArdourCanvas::SimpleRect* canvas_rect; /* frame around the whole thing */
+ ArdourCanvas::Container* _canvas_group;
+ ArdourCanvas::Rectangle* canvas_rect; /* frame around the whole thing */
typedef std::list<RegionView* > RegionViewList;
RegionViewList region_views;
- double _samples_per_unit;
+ double _samples_per_pixel;
sigc::connection screen_update_connection;
std::vector<RecBoxInfo> rec_rects;
@@ -166,8 +165,8 @@ protected:
bool rec_updating;
bool rec_active;
- Gdk::Color region_color; ///< Contained region color
- uint32_t stream_base_color; ///< Background color
+ uint32_t region_color; ///< Contained region color
+ uint32_t stream_base_color; ///< Background color
PBD::ScopedConnectionList playlist_connections;
PBD::ScopedConnection playlist_switched_connection;
diff --git a/gtk2_ardour/strip_silence_dialog.cc b/gtk2_ardour/strip_silence_dialog.cc
index 2fb4b5923f..d37fbb6585 100644
--- a/gtk2_ardour/strip_silence_dialog.cc
+++ b/gtk2_ardour/strip_silence_dialog.cc
@@ -30,11 +30,7 @@
#include "audio_clock.h"
#include "gui_thread.h"
#include "strip_silence_dialog.h"
-#include "canvas_impl.h"
#include "region_view.h"
-#include "simpleline.h"
-#include "waveview.h"
-#include "simplerect.h"
#include "rgb_macros.h"
#include "i18n.h"
#include "logmeter.h"
diff --git a/gtk2_ardour/strip_silence_dialog.h b/gtk2_ardour/strip_silence_dialog.h
index 5ba88812d7..8b2e43ac64 100644
--- a/gtk2_ardour/strip_silence_dialog.h
+++ b/gtk2_ardour/strip_silence_dialog.h
@@ -22,7 +22,6 @@
#include "ardour/types.h"
#include "ardour_dialog.h"
-#include "canvas.h"
#include "progress_reporter.h"
namespace ARDOUR {
diff --git a/gtk2_ardour/ardour3_styles.rc.in b/gtk2_ardour/styles.rc.in
index 8314e9dc36..7c7f5f9b05 100644
--- a/gtk2_ardour/ardour3_styles.rc.in
+++ b/gtk2_ardour/styles.rc.in
@@ -1,11 +1,11 @@
style "contrasting_popup" = "medium_monospace_text"
{
- bg[NORMAL] = @@COLPREFIX@_lightest
- fg[NORMAL] = @@COLPREFIX@_darkest
- base[NORMAL] = @@COLPREFIX@_lightest
- text[NORMAL] = @@COLPREFIX@_darkest
- text[ACTIVE] = @@COLPREFIX@_darkest
- text[SELECTED] = @@COLPREFIX@_darkest
+ bg[NORMAL] = @@COLPREFIX@_lightest
+ fg[NORMAL] = @@COLPREFIX@_darkest
+ base[NORMAL] = @@COLPREFIX@_lightest
+ text[NORMAL] = @@COLPREFIX@_darkest
+ text[ACTIVE] = @@COLPREFIX@_darkest
+ text[SELECTED] = @@COLPREFIX@_darkest
}
style "base_frame"
@@ -16,7 +16,6 @@ style "base_frame"
style "transport_base" = "medium_bold_text"
{
-
}
style "default_button" = "small_text"
@@ -25,13 +24,27 @@ style "default_button" = "small_text"
style "mouse_mode_button" = "default_button"
{
- bg[ACTIVE] = @@COLPREFIX@_contrasting_indicator
- fg[ACTIVE] = @@COLPREFIX@_darkest
+ bg[ACTIVE] = @@COLPREFIX@_contrasting_indicator
+ fg[ACTIVE] = @@COLPREFIX@_darkest
+}
+
+style "gain_fader"
+{
+ bg[NORMAL] = shade (0.7, @@COLPREFIX@_bg)
+ bg[ACTIVE] = shade (0.705, @@COLPREFIX@_bg)
+ bg[INSENSITIVE] = shade (0.705, @@COLPREFIX@_bg)
+
+ fg[INSENSITIVE] = shade(1.4, @@COLPREFIX@_bg)
+ fg[NORMAL] = shade(1.4, @@COLPREFIX@_bg)
+ fg[ACTIVE] = shade(1.4, @@COLPREFIX@_bg)
+}
+
+style "track_rec_enable_button" = "small_button"
+{
}
style "default_menu" = "medium_text"
{
- #bg[NORMAL] = darker(@@COLPREFIX@_bg)
}
style "default_generic" = "medium_text"
@@ -42,7 +55,7 @@ style "text_cell_entry" = "medium_text"
{
}
-style "very_small_button" = "default_button"
+style "very_small_button" = "default_button"
{
ythickness = 0
xthickness = 0
@@ -66,88 +79,11 @@ style "small_red_active_and_selected_button" = "small_button"
bg[SELECTED] = @@COLPREFIX@_bright_indicator
}
-style "gain_fader"
-{
- bg[NORMAL] = shade (0.7, @@COLPREFIX@_bg)
- bg[ACTIVE] = shade (0.705, @@COLPREFIX@_bg)
- bg[INSENSITIVE] = shade (0.705, @@COLPREFIX@_bg)
-
- fg[INSENSITIVE] = shade(1.4, @@COLPREFIX@_bg)
- fg[NORMAL] = shade(1.4, @@COLPREFIX@_bg)
- fg[ACTIVE] = shade(1.4, @@COLPREFIX@_bg)
-}
-
-#MSR and related buttons
-
-style "track_rec_enable_button" = "small_button"
-{
- fg[ACTIVE] = @@COLPREFIX@_darkest
- bg[NORMAL] = mix(0.08,@@COLPREFIX@_arm,@@COLPREFIX@_bg)
- bg[PRELIGHT] = shade(1.1,mix(0.08,@@COLPREFIX@_arm,@@COLPREFIX@_bg))
-}
-
-style "track_rec_enable_button_active" = "small_button"
-{
- #fg[ACTIVE] = @@COLPREFIX@_darkest
- #fg[SELECTED] = @@COLPREFIX@_darkest
- #fg[PRELIGHT] = @@COLPREFIX@_darkest
- #fg[NORMAL] = @@COLPREFIX@_darkest
-
- bg[NORMAL] = @@COLPREFIX@_arm
- bg[ACTIVE] = @@COLPREFIX@_arm
- bg[SELECTED] = @@COLPREFIX@_arm
- bg[PRELIGHT] = shade(1.1, @@COLPREFIX@_arm)
-}
-
-style "track_rec_enable_button_alternate" = "small_button"
-{
- fg[SELECTED] = @@COLPREFIX@_darkest
- fg[ACTIVE] = @@COLPREFIX@_darkest
- fg[PRELIGHT] = @@COLPREFIX@_darkest
- fg[NORMAL] = @@COLPREFIX@_darkest
-
- bg[NORMAL] = lighter(@@COLPREFIX@_arm)
- bg[ACTIVE] = lighter(@@COLPREFIX@_arm)
- bg[SELECTED] = lighter(@@COLPREFIX@_arm)
- bg[PRELIGHT] = shade(1.1, lighter(@@COLPREFIX@_arm))
-}
-
-style "track_rec_enable_button_alternate_two" = "small_button"
-{
- fg[SELECTED] = @@COLPREFIX@_darkest
- fg[ACTIVE] = @@COLPREFIX@_darkest
- fg[PRELIGHT] = @@COLPREFIX@_darkest
- fg[NORMAL] = @@COLPREFIX@_darkest
-
- bg[NORMAL] = darker(@@COLPREFIX@_arm)
- bg[ACTIVE] = darker(@@COLPREFIX@_arm)
- bg[SELECTED] = darker(@@COLPREFIX@_arm)
- bg[PRELIGHT] = shade(1.1, darker(@@COLPREFIX@_arm))
-}
-
-style "mixer_track_rec_enable_button" = "track_rec_enable_button"
-{
- xthickness = 0
- ythickness = 0
-}
-
-style "mixer_track_rec_enable_button_alternate" = "track_rec_enable_button_alternate"
-{
- xthickness = 0
- ythickness = 0
-}
-
-style "mixer_track_rec_enable_button_active" = "track_rec_enable_button_active"
+style "meterbridge_label" = "small_text"
{
- xthickness = 0
- ythickness = 0
}
-style "monitor" = "small_button"
-{
-}
-
-style "meterbridge_label" = "small_text"
+style "midi_device" = "very_small_text"
{
}
@@ -159,59 +95,16 @@ style "solo_safe" = "very_small_text"
{
}
-style "solo_button" = "small_button"
-{
- bg[NORMAL] = mix(0.1,@@COLPREFIX@_solo,@@COLPREFIX@_bg)
- bg[ACTIVE] = @@COLPREFIX@_solo
- fg[ACTIVE] = @@COLPREFIX@_darkest
-}
-
-style "solo_button_alternate" = "small_button"
+style "tracknumber_label" = "medium_monospace_text"
{
- #
- # this is the "solo-isolated" solo theme
- #
-
- bg[ACTIVE] = lighter(@@COLPREFIX@_solo)
-
- fg[ACTIVE] = @@COLPREFIX@_bright_indicator
- fg[SELECTED] = @@COLPREFIX@_bright_indicator
- fg[NORMAL] = @@COLPREFIX@_bright_indicator
- fg[PRELIGHT] = shade(1.1, @@COLPREFIX@_bright_indicator)
}
-style "solo_button_alternate2" = "small_button"
+style "solo_button" = "small_button"
{
- #
- # this is the "half-bright" solo theme
- #
-
- bg[NORMAL] = darker(@@COLPREFIX@_solo)
- bg[ACTIVE] = darker(@@COLPREFIX@_solo)
- bg[SELECTED] = darker(@@COLPREFIX@_solo)
- bg[PRELIGHT] = shade(1.1, darker(@@COLPREFIX@_solo))
-
- fg[ACTIVE] = @@COLPREFIX@_darkest
- fg[SELECTED] = @@COLPREFIX@_darkest
- fg[NORMAL] = @@COLPREFIX@_darkest
- fg[PRELIGHT] = @@COLPREFIX@_darkest
}
-style "solo_button_active" = "small_button"
+style "mute_button" = "small_button"
{
- #
- # this is the "full-bright" solo theme
- #
-
- bg[NORMAL] = @@COLPREFIX@_solo
- bg[ACTIVE] = @@COLPREFIX@_solo
- bg[SELECTED] = @@COLPREFIX@_solo
- bg[PRELIGHT] = shade(1.1, @@COLPREFIX@_solo)
-
- fg[ACTIVE] = @@COLPREFIX@_darkest
- fg[SELECTED] = @@COLPREFIX@_darkest
- fg[NORMAL] = @@COLPREFIX@_darkest
- fg[PRELIGHT] = @@COLPREFIX@_darkest
}
style "processor" = "small_text"
@@ -224,155 +117,48 @@ style "mixer_invert_button" = "small_button"
fg[ACTIVE] = @@COLPREFIX@_darkest
}
-style "mixer_solo_button" = "solo_button"
-{
- xthickness = 0
- ythickness = 0
-}
-
-style "mixer_solo_button_alternate" = "solo_button_alternate"
-{
- xthickness = 0
- ythickness = 0
-}
-
-style "mixer_solo_button_alternate2" = "solo_button_alternate2"
-{
- xthickness = 0
- ythickness = 0
-}
-
-
-style "mixer_solo_button_active" = "solo_button_active"
-{
- xthickness = 0
- ythickness = 0
-}
-
-style "monitor_opt_button" = "small_button"
-{
- bg[NORMAL] = mix(0.1,@@COLPREFIX@_not_so_bright_indicator,@@COLPREFIX@_bg)
- bg[ACTIVE] = @@COLPREFIX@_not_so_bright_indicator
- fg[ACTIVE] = @@COLPREFIX@_darkest
-}
-
style "monitor_mono_button" = "small_button"
{
bg[NORMAL] = mix(0.1,@@COLPREFIX@_mono,@@COLPREFIX@_bg)
- bg[ACTIVE] = @@COLPREFIX@_mono
+ bg[ACTIVE] = @@COLPREFIX@_mono
fg[ACTIVE] = @@COLPREFIX@_darkest
}
style "monitor_invert_button" = "small_button"
{
bg[NORMAL] = mix(0.1,@@COLPREFIX@_not_so_bright_indicator,@@COLPREFIX@_bg)
- bg[ACTIVE] = @@COLPREFIX@_not_so_bright_indicator
+ bg[ACTIVE] = @@COLPREFIX@_not_so_bright_indicator
fg[ACTIVE] = @@COLPREFIX@_darkest
}
style "monitor_mute_button" = "small_button"
{
bg[NORMAL] = mix(0.1,@@COLPREFIX@_mute,@@COLPREFIX@_bg)
- bg[ACTIVE] = @@COLPREFIX@_mute
+ bg[ACTIVE] = @@COLPREFIX@_mute
fg[ACTIVE] = @@COLPREFIX@_darkest
}
style "monitor_dim_button" = "small_button"
{
bg[NORMAL] = mix(0.1,lighter(@@COLPREFIX@_mute),@@COLPREFIX@_bg)
- bg[ACTIVE] = lighter(@@COLPREFIX@_mute)
+ bg[ACTIVE] = lighter(@@COLPREFIX@_mute)
fg[ACTIVE] = @@COLPREFIX@_darkest
}
style "monitor_iso_button" = "small_button"
{
bg[NORMAL] = mix(0.1,@@COLPREFIX@_somewhat_bright_indicator,@@COLPREFIX@_bg)
- bg[ACTIVE] = @@COLPREFIX@_somewhat_bright_indicator
- fg[ACTIVE] = @@COLPREFIX@_darkest
-}
-
-style "mute_button" = "small_button"
-{
- bg[NORMAL] = mix(0.1,@@COLPREFIX@_mute,@@COLPREFIX@_bg)
- bg[ACTIVE] = @@COLPREFIX@_mute
- fg[ACTIVE] = @@COLPREFIX@_darkest
-}
-
-style "mute_button_fullylit" = "small_button"
-{
- # this is the normal "active" state for a mute button
-
- bg[ACTIVE] = @@COLPREFIX@_mute
- bg[NORMAL] = @@COLPREFIX@_mute
- bg[SELECTED] = @@COLPREFIX@_mute
- bg[PRELIGHT] = lighter (@@COLPREFIX@_mute)
-
- fg[SELECTED] = @@COLPREFIX@_darkest
- fg[ACTIVE] = @@COLPREFIX@_darkest
- fg[NORMAL] = @@COLPREFIX@_darkest
- fg[PRELIGHT] = @@COLPREFIX@_darkest
-}
-
-style "mute_button_halflit" = "small_button"
-{
- bg[NORMAL] = mix(0.5,@@COLPREFIX@_lightest,@@COLPREFIX@_mute)
- bg[SELECTED] = mix(0.5,@@COLPREFIX@_lightest,@@COLPREFIX@_mute)
- bg[ACTIVE] = mix(0.5,@@COLPREFIX@_lightest,@@COLPREFIX@_mute)
- bg[PRELIGHT] = mix(0.5,@@COLPREFIX@_lightest,@@COLPREFIX@_mute)
-
- fg[SELECTED] = @@COLPREFIX@_darkest
- fg[ACTIVE] = @@COLPREFIX@_darkest
- fg[NORMAL] = @@COLPREFIX@_darkest
- fg[PRELIGHT] = @@COLPREFIX@_darkest
-}
-
-style "mixer_mute_button" = "mute_button"
-{
- xthickness = 0
- ythickness = 0
-}
-
-style "mixer_mute_button_fullylit" = "mute_button_fullylit"
-{
- xthickness = 0
- ythickness = 0
-}
-
-style "mixer_mute_button_halflit" = "mute_button_halflit"
-{
- xthickness = 0
- ythickness = 0
-}
-
-style "multiline_combo" = "small_button"
-{
- xthickness = 0
- ythickness = 0
-}
-
-style "track_loop_button" = "small_button"
-{
bg[ACTIVE] = @@COLPREFIX@_somewhat_bright_indicator
- bg[PRELIGHT] = lighter(@@COLPREFIX@_somewhat_bright_indicator)
-
-}
-
-style "mixer_red_active_button" = "very_small_button"
-{
- bg[ACTIVE] = @@COLPREFIX@_bright_indicator
-
- base[INSENSITIVE] = { 0.16, 0.16, 0.21 }
- bg[INSENSITIVE] = { 0.16, 0.16, 0.21 }
+ fg[ACTIVE] = @@COLPREFIX@_darkest
}
style "ruler_label" = "small_bold_text"
{
- fg[NORMAL] = @@COLPREFIX@_light_text_on_dark
+ fg[NORMAL] = @@COLPREFIX@_light_text_on_dark
}
style "transport_button"
{
- #bg[NORMAL] = mix(0.05,@@COLPREFIX@_contrasting_indicator,@@COLPREFIX@_bg) #turns out this is kind of yucky looking, but it's there if you want to try it
bg[ACTIVE] = @@COLPREFIX@_contrasting_indicator
fg[ACTIVE] = @@COLPREFIX@_darkest
}
@@ -405,13 +191,8 @@ style "transport_button_alternate_two"
style "transport_rec_button"
{
- fg[ACTIVE] = @@COLPREFIX@_darkest
+ fg[ACTIVE] = @@COLPREFIX@_darkest
bg[ACTIVE] = darker(@@COLPREFIX@_arm)
- #the rest of these don't quite do what I expected
- #bg[NORMAL] = mix(0.05,@@COLPREFIX@_arm,@@COLPREFIX@_bg)
- #bg[SELECTED] = darker(@@COLPREFIX@_arm)
- #bg[PRELIGHT] = lighter(mix(0.05,@@COLPREFIX@_arm,@@COLPREFIX@_bg))
-
}
style "transport_rec_button_active"
@@ -465,18 +246,18 @@ style "editor_hscrollbar" = "ardour_adjusters"
#
# special case: we want this scrollbar to be as tall as the
# zoom focus selector combobox. scrollbars don't expand to
- # fill the space available to them, so we have to explicitly
+ # fill the space available to them, so we have to explicitly
# make it bigger.
- #
+ #
GtkRange::slider_width = 27
GtkScrollbar::slider_width = 27
}
style "ardour_progressbars" = "default_generic"
-{
- # Clearlooks always uses darkest for the advancing bar, sigh
- # so this is just a contrasting color for the trough
- bg[NORMAL] = @@COLPREFIX@_bright_color
+{
+ # Clearlooks always uses darkest for the advancing bar, sigh
+ # so this is just a contrasting color for the trough
+ bg[NORMAL] = @@COLPREFIX@_bright_color
}
style "preferences" = "default"
@@ -493,22 +274,22 @@ style "very_small_bright_when_active" = "very_small_text"
{
fg[NORMAL] = @@COLPREFIX@_fg
bg[NORMAL] = @@COLPREFIX@_bg
- bg[PRELIGHT] = @@COLPREFIX@_bg
+ bg[PRELIGHT] = @@COLPREFIX@_bg
fg[ACTIVE] = @@COLPREFIX@_fg
bg[ACTIVE] = @@COLPREFIX@_bright_indicator
- bg[PRELIGHT] = @@COLPREFIX@_bright_indicator
+ bg[PRELIGHT] = @@COLPREFIX@_bright_indicator
}
style "bright_when_active" = "medium_text"
{
fg[NORMAL] = @@COLPREFIX@_fg
bg[NORMAL] = @@COLPREFIX@_bg
- bg[PRELIGHT] = @@COLPREFIX@_bg
+ bg[PRELIGHT] = @@COLPREFIX@_bg
fg[ACTIVE] = @@COLPREFIX@_fg
bg[ACTIVE] = @@COLPREFIX@_bright_indicator
- bg[PRELIGHT] = @@COLPREFIX@_bright_indicator
+ bg[PRELIGHT] = @@COLPREFIX@_bright_indicator
}
style "xrun_warn" = "larger_bold_text"
@@ -522,50 +303,45 @@ style "xrun_warn" = "larger_bold_text"
bg[NORMAL] = @@COLPREFIX@_bright_indicator
bg[ACTIVE] = @@COLPREFIX@_contrasting_indicator
}
-/*
-style "menu_bar_base" = "default"
-{
-}
-*/
style "fatal_message" = "medium_text"
{
- fg[ACTIVE] = @@COLPREFIX@_bright_indicator
- fg[NORMAL] = @@COLPREFIX@_bright_indicator
- bg[ACTIVE] = @@COLPREFIX@_base
- bg[NORMAL] = @@COLPREFIX@_base
- base[NORMAL] = @@COLPREFIX@_base
- base[NORMAL] = @@COLPREFIX@_base
+ fg[ACTIVE] = @@COLPREFIX@_bright_indicator
+ fg[NORMAL] = @@COLPREFIX@_bright_indicator
+ bg[ACTIVE] = @@COLPREFIX@_base
+ bg[NORMAL] = @@COLPREFIX@_base
+ base[NORMAL] = @@COLPREFIX@_base
+ base[NORMAL] = @@COLPREFIX@_base
}
style "error_message" = "medium_text"
{
- fg[ACTIVE] = @@COLPREFIX@_bright_indicator
- fg[NORMAL] = @@COLPREFIX@_bright_indicator
- bg[ACTIVE] = @@COLPREFIX@_base
- bg[NORMAL] = @@COLPREFIX@_base
- base[NORMAL] = @@COLPREFIX@_base
- base[NORMAL] = @@COLPREFIX@_base
+ fg[ACTIVE] = @@COLPREFIX@_bright_indicator
+ fg[NORMAL] = @@COLPREFIX@_bright_indicator
+ bg[ACTIVE] = @@COLPREFIX@_base
+ bg[NORMAL] = @@COLPREFIX@_base
+ base[NORMAL] = @@COLPREFIX@_base
+ base[NORMAL] = @@COLPREFIX@_base
}
style "info_message" = "medium_text"
{
- fg[ACTIVE] = @@COLPREFIX@_contrasting_indicator
- fg[NORMAL] = @@COLPREFIX@_contrasting_indicator
- bg[ACTIVE] = @@COLPREFIX@_base
- bg[NORMAL] = @@COLPREFIX@_base
- base[NORMAL] = @@COLPREFIX@_base
- base[NORMAL] = @@COLPREFIX@_base
+ fg[ACTIVE] = @@COLPREFIX@_contrasting_indicator
+ fg[NORMAL] = @@COLPREFIX@_contrasting_indicator
+ bg[ACTIVE] = @@COLPREFIX@_base
+ bg[NORMAL] = @@COLPREFIX@_base
+ base[NORMAL] = @@COLPREFIX@_base
+ base[NORMAL] = @@COLPREFIX@_base
}
style "warning_message" = "medium_text"
{
- fg[ACTIVE] = @@COLPREFIX@_bright_color
- fg[NORMAL] = @@COLPREFIX@_bright_color
- bg[ACTIVE] = @@COLPREFIX@_base
- bg[NORMAL] = @@COLPREFIX@_base
- base[NORMAL] = @@COLPREFIX@_base
- base[NORMAL] = @@COLPREFIX@_base
+ fg[ACTIVE] = @@COLPREFIX@_bright_color
+ fg[NORMAL] = @@COLPREFIX@_bright_color
+ bg[ACTIVE] = @@COLPREFIX@_base
+ bg[NORMAL] = @@COLPREFIX@_base
+ base[NORMAL] = @@COLPREFIX@_base
+ base[NORMAL] = @@COLPREFIX@_base
}
style "medium_entry" = "medium_text"
@@ -589,13 +365,13 @@ style "medium_entry" = "medium_text"
style "medium_entry_noselection_fg" = "medium_entry"
{
- # this seems wrong to me, but the light theme uses it
+ # this seems wrong to me, but the light theme uses it
fg[SELECTED] = @@COLPREFIX@_contrasting_indicator
}
style "medium_entry_noselection_bg" = "medium_entry"
{
- # this seems wrong to me, but the light theme uses it
+ # this seems wrong to me, but the light theme uses it
bg[SELECTED] = @@COLPREFIX@_text
}
@@ -620,6 +396,8 @@ style "medium_bold_entry" = "medium_bold_text"
style "small_entry" = "small_text"
{
+ xthickness = 3
+ ythickness = 3
fg[NORMAL] = @@COLPREFIX@_text
fg[ACTIVE] = @@COLPREFIX@_contrasting_indicator
fg[SELECTED] = @@COLPREFIX@_fg_selected
@@ -629,22 +407,18 @@ style "small_entry" = "small_text"
text[SELECTED] = @@COLPREFIX@_fg_selected
bg[NORMAL] = @@COLPREFIX@_base
+ bg[ACTIVE] = @@COLPREFIX@_base
bg[SELECTED] = @@COLPREFIX@_base
- bg[SELECTED] = @@COLPREFIX@_bg_selected
base[NORMAL] = @@COLPREFIX@_base
base[ACTIVE] = @@COLPREFIX@_base
- base[SELECTED] = @@COLPREFIX@_bg_selected
+ base[SELECTED] = @@COLPREFIX@_base
}
-style "red_active_small_entry" = "small_entry"
-{
- fg[ACTIVE] = @@COLPREFIX@_bright_indicator
- fg[SELECTED] = @@COLPREFIX@_bright_indicator
-}
-
-style "small_bold_entry" = "small_bold_text"
+style "small_spinner" = "small_text"
{
+ xthickness = 0
+ ythickness = 0
fg[NORMAL] = @@COLPREFIX@_text
fg[ACTIVE] = @@COLPREFIX@_contrasting_indicator
fg[SELECTED] = @@COLPREFIX@_fg_selected
@@ -653,95 +427,91 @@ style "small_bold_entry" = "small_bold_text"
text[ACTIVE] = @@COLPREFIX@_text
text[SELECTED] = @@COLPREFIX@_fg_selected
- bg[NORMAL] = @@COLPREFIX@_base
- bg[SELECTED] = @@COLPREFIX@_base
- bg[SELECTED] = @@COLPREFIX@_bg_selected
-
base[NORMAL] = @@COLPREFIX@_base
base[ACTIVE] = @@COLPREFIX@_base
- base[SELECTED] = @@COLPREFIX@_bg_selected
+ base[SELECTED] = @@COLPREFIX@_bg
}
-style "small_red_on_black_entry" = "small_bold_text"
+style "red_active_small_entry" = "small_entry"
{
- fg[NORMAL] = @@COLPREFIX@_bright_indicator
- fg[ACTIVE] = @@COLPREFIX@_bright_indicator
- base[NORMAL] = @@COLPREFIX@_base
- base[ACTIVE] = @@COLPREFIX@_base
- bg[NORMAL] = @@COLPREFIX@_base
- bg[ACTIVE] = @@COLPREFIX@_base
+ fg[ACTIVE] = @@COLPREFIX@_text
+ fg[SELECTED] = @@COLPREFIX@_text
+ text[SELECTED] = @@COLPREFIX@_text
}
-style "editor_time_ruler" = "small_text"
+style "small_red_on_black_entry" = "small_bold_text"
{
- fg[NORMAL] = @@COLPREFIX@_fg
+ fg[NORMAL] = @@COLPREFIX@_bright_indicator
+ fg[ACTIVE] = @@COLPREFIX@_bright_indicator
+ base[NORMAL] = @@COLPREFIX@_base
+ base[ACTIVE] = @@COLPREFIX@_base
bg[NORMAL] = @@COLPREFIX@_base
- ythickness = 0
+ bg[ACTIVE] = @@COLPREFIX@_base
}
style "audio_bus_base" = "very_small_text"
{
- fg[NORMAL] = @@COLPREFIX@_fg
- bg[NORMAL] = @@COLPREFIX@_audio_bus
- bg[ACTIVE] = @@COLPREFIX@_bg
+ fg[NORMAL] = @@COLPREFIX@_fg
+ bg[NORMAL] = @@COLPREFIX@_audio_bus
+ bg[ACTIVE] = @@COLPREFIX@_bg
}
style "send_strip_base" = "default"
{
- font_name = "@FONT_SMALLER@"
- # NORMAL is used for single-data type labels, or Audio
- # ACTIVE is used for MIDI in the presence of multiple data type
- fg[NORMAL] = @@COLPREFIX@_send_fg
- fg[ACTIVE] = darker(@@COLPREFIX@_fg)
+ font_name = "@FONT_SMALLER@"
+ # NORMAL is used for single-data type labels, or Audio
+ # ACTIVE is used for MIDI in the presence of multiple data type
+ fg[NORMAL] = @@COLPREFIX@_send_fg
+ fg[ACTIVE] = darker(@@COLPREFIX@_fg)
- bg[NORMAL] = @@COLPREFIX@_send_bg
- bg[ACTIVE] = @@COLPREFIX@_send_bg
- bg[PRELIGHT] = @@COLPREFIX@_send_bg
- bg[INSENSITIVE] = @@COLPREFIX@_send_bg
- bg[SELECTED] = @@COLPREFIX@_send_bg
+ bg[NORMAL] = @@COLPREFIX@_send_bg
+ bg[ACTIVE] = @@COLPREFIX@_send_bg
+ bg[PRELIGHT] = @@COLPREFIX@_send_bg
+ bg[INSENSITIVE] = @@COLPREFIX@_send_bg
+ bg[SELECTED] = @@COLPREFIX@_send_bg
}
style "audio_track_base" = "default"
{
- font_name = "@FONT_SMALLER@"
- # NORMAL is used for single-data type labels, or Audio
- # ACTIVE is used for MIDI in the presence of multiple data type
- fg[NORMAL] = @@COLPREFIX@_fg
- fg[ACTIVE] = darker(@@COLPREFIX@_fg)
+ font_name = "@FONT_SMALLER@"
+ # NORMAL is used for single-data type labels, or Audio
+ # ACTIVE is used for MIDI in the presence of multiple data type
+ fg[NORMAL] = @@COLPREFIX@_fg
+ fg[ACTIVE] = darker(@@COLPREFIX@_fg)
- bg[NORMAL] = @@COLPREFIX@_audio_track
- bg[ACTIVE] = @@COLPREFIX@_bg
- bg[PRELIGHT] = @@COLPREFIX@_bg
- bg[INSENSITIVE] = @@COLPREFIX@_bg
- bg[SELECTED] = @@COLPREFIX@_bg
+ bg[NORMAL] = @@COLPREFIX@_audio_track
+ bg[ACTIVE] = @@COLPREFIX@_bg
+ bg[PRELIGHT] = @@COLPREFIX@_bg
+ bg[INSENSITIVE] = @@COLPREFIX@_bg
+ bg[SELECTED] = @@COLPREFIX@_bg
}
style "midi_track_base" = "default"
{
- font_name = "@FONT_SMALLER@"
- # NORMAL is used for single-data type labels, or Audio
- # ACTIVE is used for MIDI in the presence of multiple data type
- fg[NORMAL] = @@COLPREFIX@_fg
- fg[ACTIVE] = darker(@@COLPREFIX@_fg)
+ font_name = "@FONT_SMALLER@"
+ # NORMAL is used for single-data type labels, or Audio
+ # ACTIVE is used for MIDI in the presence of multiple data type
+ fg[NORMAL] = @@COLPREFIX@_fg
+ fg[ACTIVE] = darker(@@COLPREFIX@_fg)
- bg[NORMAL] = @@COLPREFIX@_midi_track
- bg[ACTIVE] = @@COLPREFIX@_bg
- bg[PRELIGHT] = @@COLPREFIX@_bg
- bg[INSENSITIVE] = @@COLPREFIX@_bg
- bg[SELECTED] = @@COLPREFIX@_bg
+ bg[NORMAL] = @@COLPREFIX@_midi_track
+ bg[ACTIVE] = @@COLPREFIX@_bg
+ bg[PRELIGHT] = @@COLPREFIX@_bg
+ bg[INSENSITIVE] = @@COLPREFIX@_bg
+ bg[SELECTED] = @@COLPREFIX@_bg
}
style "audio_track_fader" = "gain_fader"
{
- bg[PRELIGHT] = @@COLPREFIX@_audio_track
+ bg[PRELIGHT] = @@COLPREFIX@_audio_track
}
style "audio_bus_fader" = "gain_fader"
{
- bg[PRELIGHT] = @@COLPREFIX@_audio_bus
+ bg[PRELIGHT] = @@COLPREFIX@_audio_bus
}
style "midi_track_fader" = "gain_fader"
{
- bg[PRELIGHT] = @@COLPREFIX@_midi_track
+ bg[PRELIGHT] = @@COLPREFIX@_midi_track
}
style "audio_track_metrics" = "audio_track_base"
@@ -786,6 +556,8 @@ style "audio_bus_metrics_inactive" = "track_controls_inactive"
style "track_name_display" = "medium_text"
{
+ xthickness = 0
+ ythickness = 0
fg[NORMAL] = @@COLPREFIX@_fg
fg[ACTIVE] = @@COLPREFIX@_fg
fg[SELECTED] = @@COLPREFIX@_fg
@@ -796,7 +568,7 @@ style "track_name_display" = "medium_text"
base[NORMAL] = @@COLPREFIX@_base
base[ACTIVE] = lighter(@@COLPREFIX@_base)
- base[SELECTED] = @@COLPREFIX@_bg_selected
+ base[SELECTED] = @@COLPREFIX@_bg_selected
bg[NORMAL] = lighter(@@COLPREFIX@_base)
bg[ACTIVE] = lighter(@@COLPREFIX@_base)
@@ -809,7 +581,7 @@ style "track_separator"
}
# Plugin Editors
-style "plugin_slider"
+style "plugin_slider"
{
#font_name ="bold @FONT_BIG@"
@@ -847,21 +619,21 @@ style "processor_control_button" = "very_small_text"
style "processor_control_slider" = "plugin_slider"
{
- bg[PRELIGHT] = @@COLPREFIX@_darkest
- bg[NORMAL] = @@COLPREFIX@_bg
+ bg[PRELIGHT] = @@COLPREFIX@_bg
+ bg[NORMAL] = @@COLPREFIX@_darkest
}
style "track_list_display" = "small_bold_text"
{
- text[NORMAL] = @@COLPREFIX@_text
- text[ACTIVE] = darker(@@COLPREFIX@_text)
- text[INSENSITIVE] = @@COLPREFIX@_base
- text[SELECTED] = @@COLPREFIX@_fg_selected
+ text[NORMAL] = @@COLPREFIX@_text
+ text[ACTIVE] = darker(@@COLPREFIX@_text)
+ text[INSENSITIVE] = @@COLPREFIX@_base
+ text[SELECTED] = @@COLPREFIX@_fg_selected
- base[NORMAL] = @@COLPREFIX@_base
- base[ACTIVE] = lighter(@@COLPREFIX@_base)
- base[INSENSITIVE] = darker(@@COLPREFIX@_base)
- base[SELECTED] = @@COLPREFIX@_bg_selected
+ base[NORMAL] = @@COLPREFIX@_base
+ base[ACTIVE] = lighter(@@COLPREFIX@_base)
+ base[INSENSITIVE] = darker(@@COLPREFIX@_base)
+ base[SELECTED] = @@COLPREFIX@_bg_selected
}
style "inspector_track_list_display" = "track_list_display"
@@ -872,14 +644,8 @@ style "inspector_track_list_display" = "track_list_display"
style "processor_list" = "very_small_text"
{
bg[NORMAL] = @@COLPREFIX@_darkest
- bg[ACTIVE] = shade (1.8, @@COLPREFIX@_fg_selected)
- fg[ACTIVE] = @@COLPREFIX@_darkest
-}
-
-# Colour of a processor frame when it is a send whose level is being controller by the fader
-style "processor_frame_active_send"
-{
- bg[NORMAL] = @@COLPREFIX@_send_fg
+ bg[ACTIVE] = shade (1.8, @@COLPREFIX@_fg_selected)
+ fg[ACTIVE] = @@COLPREFIX@_darkest
}
# MixerPanZone:
@@ -904,25 +670,17 @@ style "paler_bright_when_active" = "medium_text"
bg[ACTIVE] = lighter(@@COLPREFIX@_bright_indicator)
}
-style "peak_display_peaked_entry" = "small_text"
+style "peak_display_peaked_entry" = "small_entry"
{
- fg[NORMAL] = @@COLPREFIX@_text
fg[ACTIVE] = @@COLPREFIX@_text
fg[SELECTED] = @@COLPREFIX@_text
- text[NORMAL] = @@COLPREFIX@_text
- text[ACTIVE] = @@COLPREFIX@_text
text[SELECTED] = @@COLPREFIX@_text
- bg[NORMAL] = @@COLPREFIX@_bright_indicator
- bg[ACTIVE] = @@COLPREFIX@_bright_indicator
- bg[PRELIGHT] = @@COLPREFIX@_bright_indicator
- bg[INSENSITIVE] = @@COLPREFIX@_bright_indicator
- bg[SELECTED] = @@COLPREFIX@_bright_indicator
- base[NORMAL] = @@COLPREFIX@_bright_indicator
- base[ACTIVE] = @@COLPREFIX@_bright_indicator
- base[PRELIGHT] = @@COLPREFIX@_bright_indicator
- base[INSENSITIVE] = @@COLPREFIX@_bright_indicator
- base[SELECTED] = @@COLPREFIX@_bright_indicator
+ base[NORMAL] = @@COLPREFIX@_bright_indicator
+ base[ACTIVE] = @@COLPREFIX@_bright_indicator
+ base[PRELIGHT] = @@COLPREFIX@_bright_indicator
+ base[INSENSITIVE] = @@COLPREFIX@_bright_indicator
+ base[SELECTED] = @@COLPREFIX@_bright_indicator
}
style "selected_strip_frame"
@@ -934,30 +692,15 @@ style "selected_strip_frame"
style "flashing_alert" = "very_small_text"
{
GtkButton::child-displacement-x = 0
- GtkButton::child-displacement-y = 0
-
- fg[NORMAL] = darker(@@COLPREFIX@_fg)
- fg[PRELIGHT] = darker(@@COLPREFIX@_fg)
- bg[NORMAL] = mix(0.1,@@COLPREFIX@_bright_indicator,darker(@@COLPREFIX@_bg))
- bg[PRELIGHT] = mix(0.1,@@COLPREFIX@_bright_indicator,darker(@@COLPREFIX@_bg))
-
- fg[ACTIVE] = @@COLPREFIX@_fg
- bg[ACTIVE] = @@COLPREFIX@_bright_indicator
-}
-
-
-style "green_flashing_alert" = "very_small_text"
-{
- GtkButton::child-displacement-x = 0
- GtkButton::child-displacement-y = 0
+ GtkButton::child-displacement-y = 0
fg[NORMAL] = darker(@@COLPREFIX@_fg)
- fg[PRELIGHT] = darker(@@COLPREFIX@_fg)
- bg[NORMAL] = mix(0.1,@@COLPREFIX@_contrasting_indicator,darker(@@COLPREFIX@_bg))
- bg[PRELIGHT] = mix(0.1,@@COLPREFIX@_contrasting_indicator,darker(@@COLPREFIX@_bg))
+ fg[PRELIGHT] = darker(@@COLPREFIX@_fg)
+ bg[NORMAL] = mix(0.1,@@COLPREFIX@_bright_indicator,darker(@@COLPREFIX@_bg))
+ bg[PRELIGHT] = mix(0.1,@@COLPREFIX@_bright_indicator,darker(@@COLPREFIX@_bg))
fg[ACTIVE] = @@COLPREFIX@_fg
- bg[ACTIVE] = @@COLPREFIX@_contrasting_indicator
+ bg[ACTIVE] = @@COLPREFIX@_bright_indicator
}
style "sync_alert"
@@ -1005,16 +748,24 @@ style "padded_button" = "default_button"
style "tooltip" = "medium_text"
{
- fg[NORMAL] = @@COLPREFIX@_fg_tooltip
- bg[NORMAL] = @@COLPREFIX@_bg_tooltip
+ fg[NORMAL] = @@COLPREFIX@_fg_tooltip
+ bg[NORMAL] = @@COLPREFIX@_bg_tooltip
}
style "default_toggle_button"
{
+ bg[NORMAL] = @@COLPREFIX@_bg
+ bg[PRELIGHT] = shade(1.1, @@COLPREFIX@_bg)
bg[ACTIVE] = @@COLPREFIX@_contrasting_indicator
- fg[ACTIVE] = @@COLPREFIX@_darkest
}
+style "default_toggle_button_active" = "default_toggle_button"
+{
+ bg[NORMAL] = @@COLPREFIX@_contrasting_indicator
+ bg[ACTIVE] = @@COLPREFIX@_contrasting_indicator
+ bg[SELECTED] = @@COLPREFIX@_contrasting_indicator
+ bg[PRELIGHT] = shade(1.2, @@COLPREFIX@_contrasting_indicator)
+}
style "meter_strip_dpm" = "default"
{
@@ -1022,19 +773,19 @@ style "meter_strip_dpm" = "default"
style "meter_strip_ppm" = "default"
{
- bg[NORMAL] = { 0.1, 0.1, 0.1 }
- fg[NORMAL] = { 1.0, 1.0, 1.0 }
+ bg[NORMAL] = { 0.1, 0.1, 0.1 }
+ fg[NORMAL] = { 1.0, 1.0, 1.0 }
}
style "meter_strip_vu" = "default"
{
- bg[NORMAL] = { .84, .77, .58 }
- fg[NORMAL] = { 0.0, 0.0, 0.0 }
+ bg[NORMAL] = { .84, .77, .58 }
+ fg[NORMAL] = { 0.0, 0.0, 0.0 }
}
style "meter_strip_sep" = "default"
{
- bg[NORMAL] = { 0.0, 0.0, 0.0 }
+ bg[NORMAL] = { 0.0, 0.0, 0.0 }
}
style "settings_notebook" = "big_text"
diff --git a/gtk2_ardour/canvas-sysex.cc b/gtk2_ardour/sys_ex.cc
index ca378fb303..ffa06aa8ae 100644
--- a/gtk2_ardour/canvas-sysex.cc
+++ b/gtk2_ardour/sys_ex.cc
@@ -18,43 +18,38 @@
*/
#include <iostream>
-
+#include "canvas/flag.h"
#include "ardour_ui.h"
+#include "sys_ex.h"
-#include "midi_region_view.h"
-#include "canvas-sysex.h"
-
-using namespace Gnome::Canvas;
using namespace std;
-CanvasSysEx::CanvasSysEx(
- MidiRegionView& region,
- Group& parent,
- string& text,
- double height,
- double x,
- double y,
- const ARDOUR::MidiModel::SysExPtr sysex)
- : CanvasFlag(
- region,
- parent,
- height,
- ARDOUR_UI::config()->canvasvar_MidiSysExOutline.get(),
- ARDOUR_UI::config()->canvasvar_MidiSysExFill.get(),
- x,
- y),
- _sysex(sysex)
+SysEx::SysEx (
+ MidiRegionView& region,
+ ArdourCanvas::Container* parent,
+ string& text,
+ double height,
+ double x,
+ double y)
+ : _region (region)
{
- _text = text;
- set_text(text);
+ _flag = new ArdourCanvas::Flag (
+ parent,
+ height,
+ ARDOUR_UI::config()->get_canvasvar_MidiSysExOutline(),
+ ARDOUR_UI::config()->get_canvasvar_MidiSysExFill(),
+ ArdourCanvas::Duple (x, y)
+ );
+
+ _flag->set_text (text);
}
-CanvasSysEx::~CanvasSysEx()
+SysEx::~SysEx()
{
}
bool
-CanvasSysEx::on_event(GdkEvent* ev)
+SysEx::event_handler (GdkEvent* ev)
{
switch (ev->type) {
case GDK_BUTTON_PRESS:
@@ -71,28 +66,6 @@ CanvasSysEx::on_event(GdkEvent* ev)
}
break;
- case GDK_KEY_PRESS:
- switch (ev->key.keyval) {
-
- case GDK_Delete:
- case GDK_BackSpace:
- _region.delete_sysex (this);
- break;
- default:
- break;
- }
- break;
-
- case GDK_ENTER_NOTIFY:
- _region.sysex_entered (this);
- return true;
- break;
-
- case GDK_LEAVE_NOTIFY:
- _region.sysex_left (this);
- return true;
- break;
-
default:
break;
}
@@ -100,3 +73,14 @@ CanvasSysEx::on_event(GdkEvent* ev)
return false;
}
+void
+SysEx::hide ()
+{
+ _flag->hide ();
+}
+
+void
+SysEx::show ()
+{
+ _flag->show ();
+}
diff --git a/gtk2_ardour/canvas-sysex.h b/gtk2_ardour/sys_ex.h
index c49fcc6df9..a0bb1df347 100644
--- a/gtk2_ardour/canvas-sysex.h
+++ b/gtk2_ardour/sys_ex.h
@@ -17,45 +17,38 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#ifndef CANVAS_SYSEX_H_
-#define CANVAS_SYSEX_H_
-
-#include <string>
-
-#include "canvas-flag.h"
-#include "ardour/midi_model.h"
+#ifndef __SYSEX_H__
+#define __SYSEX_H__
class MidiRegionView;
-namespace Gnome {
-namespace Canvas {
+namespace ArdourCanvas {
+ class Flag;
+}
-class CanvasSysEx : public CanvasFlag
+class SysEx
{
public:
- CanvasSysEx(
+ SysEx (
MidiRegionView& region,
- Group& parent,
+ ArdourCanvas::Container* parent,
std::string& text,
double height,
double x,
- double y,
- ARDOUR::MidiModel::SysExPtr sysex);
+ double y);
- virtual ~CanvasSysEx();
+ ~SysEx ();
- const ARDOUR::MidiModel::SysExPtr sysex() const { return _sysex; }
- const string text() const { return _text; }
+ void hide ();
+ void show ();
- virtual bool on_event(GdkEvent* ev);
+ ArdourCanvas::Item& item() const { return *_flag; }
-private:
- const ARDOUR::MidiModel::SysExPtr _sysex;
+private:
+ bool event_handler (GdkEvent* ev);
- string _text;
+ MidiRegionView& _region;
+ ArdourCanvas::Flag* _flag;
};
-} // namespace Canvas
-} // namespace Gnome
-
-#endif /* CANVAS_SYSEX_H_ */
+#endif /* __SYSEX_H__ */
diff --git a/gtk2_ardour/system_exec.cc b/gtk2_ardour/system_exec.cc
deleted file mode 100644
index 59f3647e51..0000000000
--- a/gtk2_ardour/system_exec.cc
+++ /dev/null
@@ -1,808 +0,0 @@
-/*
- Copyright (C) 2010 Paul Davis
- Copyright 2005-2008 Lennart Poettering
- Author: Robin Gareus <robin@gareus.org>
-
- 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 <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <unistd.h>
-
-#include <assert.h>
-#include <dirent.h>
-
-#ifdef __WIN32__
-#include <windows.h>
-#else
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/socket.h>
-#include <sys/ioctl.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#endif
-
-
-#include "system_exec.h"
-
-using namespace std;
-void * interposer_thread (void *arg);
-
-static void close_fd (int& fd) { if (fd >= 0) ::close (fd); fd = -1; }
-
-#ifndef __WIN32__
-/*
- * This function was part of libasyncns.
- * LGPL v2.1
- * Copyright 2005-2008 Lennart Poettering
- */
-static int close_allv(const int except_fds[]) {
- struct rlimit rl;
- int fd;
-
-#ifdef __linux__
-
- DIR *d;
-
- assert(except_fds);
-
- if ((d = opendir("/proc/self/fd"))) {
- struct dirent *de;
-
- while ((de = readdir(d))) {
- int found;
- long l;
- char *e = NULL;
- int i;
-
- if (de->d_name[0] == '.')
- continue;
-
- errno = 0;
- l = strtol(de->d_name, &e, 10);
- if (errno != 0 || !e || *e) {
- closedir(d);
- errno = EINVAL;
- return -1;
- }
-
- fd = (int) l;
-
- if ((long) fd != l) {
- closedir(d);
- errno = EINVAL;
- return -1;
- }
-
- if (fd < 3)
- continue;
-
- if (fd == dirfd(d))
- continue;
-
- found = 0;
- for (i = 0; except_fds[i] >= 0; i++)
- if (except_fds[i] == fd) {
- found = 1;
- break;
- }
-
- if (found) continue;
-
- if (close(fd) < 0) {
- int saved_errno;
-
- saved_errno = errno;
- closedir(d);
- errno = saved_errno;
-
- return -1;
- }
- }
-
- closedir(d);
- return 0;
- }
-
-#endif
-
- if (getrlimit(RLIMIT_NOFILE, &rl) < 0)
- return -1;
-
- for (fd = 0; fd < (int) rl.rlim_max; fd++) {
- int i;
-
- if (fd <= 3)
- continue;
-
- for (i = 0; except_fds[i] >= 0; i++)
- if (except_fds[i] == fd)
- continue;
-
- if (close(fd) < 0 && errno != EBADF)
- return -1;
- }
-
- return 0;
-}
-#endif /* not on windows */
-
-
-SystemExec::SystemExec (std::string c, std::string a)
- : cmd(c)
-{
- pthread_mutex_init(&write_lock, NULL);
- thread_active=false;
- pid = 0;
- pin[1] = -1;
- nicelevel = 0;
- envp = NULL;
- argp = NULL;
-#ifdef __WIN32__
- stdinP[0] = stdinP[1] = INVALID_HANDLE_VALUE;
- stdoutP[0] = stdoutP[1] = INVALID_HANDLE_VALUE;
- stderrP[0] = stderrP[1] = INVALID_HANDLE_VALUE;
-#endif
- make_envp();
- make_argp(a);
-}
-
-SystemExec::SystemExec (std::string c, char **a)
- : cmd(c) , argp(a)
-{
- pthread_mutex_init(&write_lock, NULL);
- thread_active=false;
- pid = 0;
- pin[1] = -1;
- nicelevel = 0;
- envp = NULL;
-#ifdef __WIN32__
- stdinP[0] = stdinP[1] = INVALID_HANDLE_VALUE;
- stdoutP[0] = stdoutP[1] = INVALID_HANDLE_VALUE;
- stderrP[0] = stderrP[1] = INVALID_HANDLE_VALUE;
- make_wargs(a);
-#endif
- make_envp();
-}
-
-SystemExec::~SystemExec ()
-{
- terminate ();
- if (envp) {
- for (int i=0;envp[i];++i) {
- free(envp[i]);
- }
- free (envp);
- }
- if (argp) {
- for (int i=0;argp[i];++i) {
- free(argp[i]);
- }
- free (argp);
- }
-#ifdef __WIN32__
- if (w_args) free(w_args);
-#endif
- pthread_mutex_destroy(&write_lock);
-}
-
-void *
-interposer_thread (void *arg) {
- SystemExec *sex = static_cast<SystemExec *>(arg);
- sex->output_interposer();
- pthread_exit(0);
- return 0;
-}
-
-#ifdef __WIN32__ /* Windows Process */
-
-/* HELPER FUNCTIONS */
-
-static void create_pipe (HANDLE *pipe, bool in) {
- SECURITY_ATTRIBUTES secAtt = { sizeof( SECURITY_ATTRIBUTES ), NULL, TRUE };
- HANDLE tmpHandle;
- if (in) {
- if (!CreatePipe(&pipe[0], &tmpHandle, &secAtt, 1024 * 1024)) return;
- if (!DuplicateHandle(GetCurrentProcess(), tmpHandle, GetCurrentProcess(), &pipe[1], 0, FALSE, DUPLICATE_SAME_ACCESS)) return;
- } else {
- if (!CreatePipe(&tmpHandle, &pipe[1], &secAtt, 1024 * 1024)) return;
- if (!DuplicateHandle(GetCurrentProcess(), tmpHandle, GetCurrentProcess(), &pipe[0], 0, FALSE, DUPLICATE_SAME_ACCESS)) return;
- }
- CloseHandle(tmpHandle);
-}
-
-static void destroy_pipe (HANDLE pipe[2]) {
- if (pipe[0] != INVALID_HANDLE_VALUE) {
- CloseHandle(pipe[0]);
- pipe[0] = INVALID_HANDLE_VALUE;
- }
- if (pipe[1] != INVALID_HANDLE_VALUE) {
- CloseHandle(pipe[1]);
- pipe[1] = INVALID_HANDLE_VALUE;
- }
-}
-
-static BOOL CALLBACK my_terminateApp(HWND hwnd, LPARAM procId)
-{
- DWORD currentProcId = 0;
- GetWindowThreadProcessId(hwnd, &currentProcId);
- if (currentProcId == (DWORD)procId)
- PostMessage(hwnd, WM_CLOSE, 0, 0);
- return TRUE;
-}
-
-/* PROCESS API */
-
-void
-SystemExec::make_envp() {
- ;/* environemt is copied over with CreateProcess(...,env=0 ,..) */
-}
-
-void
-SystemExec::make_wargs(char **a) {
- std::string wa = cmd;
- if (cmd[0] != '"' && cmd[cmd.size()] != '"' && strchr(cmd.c_str(), ' ')) { wa = "\"" + cmd + "\""; }
- std::replace(cmd.begin(), cmd.end(), '/', '\\' );
- char **tmp = a;
- while (tmp && *tmp) {
- wa.append(" \"");
- wa.append(*tmp);
- wa.append("\"");
- tmp++;
- }
- w_args = strdup(wa.c_str());
-}
-
-void
-SystemExec::make_argp(std::string args) {
- std::string wa = cmd;
- if (cmd[0] != '"' && cmd[cmd.size()] != '"' && strchr(cmd.c_str(), ' ')) { wa = "\"" + cmd + "\""; }
- std::replace(cmd.begin(), cmd.end(), '/', '\\' );
- wa.append(" ");
- wa.append(args);
- w_args = strdup(wa.c_str());
-}
-
-void
-SystemExec::terminate ()
-{
- ::pthread_mutex_lock(&write_lock);
- if (pid) {
- /* terminate */
- EnumWindows(my_terminateApp, (LPARAM)pid->dwProcessId);
- PostThreadMessage(pid->dwThreadId, WM_CLOSE, 0, 0);
-
- /* kill ! */
- TerminateProcess(pid->hProcess, 0xf291);
-
- CloseHandle(pid->hThread);
- CloseHandle(pid->hProcess);
- destroy_pipe(stdinP);
- destroy_pipe(stdoutP);
- destroy_pipe(stderrP);
- delete pid;
- pid=0;
- }
- ::pthread_mutex_unlock(&write_lock);
-}
-
-int
-SystemExec::wait (int options)
-{
- while (is_running()) {
- WaitForSingleObject(pid->hProcess, INFINITE);
- Sleep(20);
- }
- return 0;
-}
-
-bool
-SystemExec::is_running ()
-{
- return pid?true:false;
-}
-
-int
-SystemExec::start (int stderr_mode)
-{
- char* working_dir = 0;
-
- if (pid) { return 0; }
-
- pid = new PROCESS_INFORMATION;
- memset(pid, 0, sizeof(PROCESS_INFORMATION));
-
- create_pipe(stdinP, true);
- create_pipe(stdoutP, false);
-
- if (stderr_mode == 2) {
- /* merge stout & stderr */
- DuplicateHandle(GetCurrentProcess(), stdoutP[1], GetCurrentProcess(), &stderrP[1], 0, TRUE, DUPLICATE_SAME_ACCESS);
- } else if (stderr_mode == 1) {
- //TODO read/flush this pipe or close it...
- create_pipe(stderrP, false);
- } else {
- //TODO: keep stderr of this process mode.
- }
-
- bool success = false;
- STARTUPINFOA startupInfo = { sizeof( STARTUPINFO ), 0, 0, 0,
- (unsigned long)CW_USEDEFAULT, (unsigned long)CW_USEDEFAULT,
- (unsigned long)CW_USEDEFAULT, (unsigned long)CW_USEDEFAULT,
- 0, 0, 0,
- STARTF_USESTDHANDLES,
- 0, 0, 0,
- stdinP[0], stdoutP[1], stderrP[1]
- };
-
- success = CreateProcess(0, w_args,
- 0, 0, /* bInheritHandles = */ TRUE,
- (CREATE_NO_WINDOW&0) | CREATE_UNICODE_ENVIRONMENT | (0&CREATE_NEW_CONSOLE),
- /*env = */ 0,
- working_dir,
- &startupInfo, pid);
-
- if (stdinP[0] != INVALID_HANDLE_VALUE) {
- CloseHandle(stdinP[0]);
- stdinP[0] = INVALID_HANDLE_VALUE;
- }
- if (stdoutP[1] != INVALID_HANDLE_VALUE) {
- CloseHandle(stdoutP[1]);
- stdoutP[1] = INVALID_HANDLE_VALUE;
- }
- if (stderrP[1] != INVALID_HANDLE_VALUE) {
- CloseHandle(stderrP[1]);
- stderrP[1] = INVALID_HANDLE_VALUE;
- }
-
- if (!success) {
- CloseHandle(pid->hThread);
- CloseHandle(pid->hProcess);
- destroy_pipe(stdinP);
- destroy_pipe(stdoutP);
- destroy_pipe(stderrP);
- delete pid;
- pid=0;
- return -1;
- }
-
- int rv = pthread_create(&thread_id_tt, NULL, interposer_thread, this);
- thread_active=true;
- if (rv) {
- thread_active=false;
- terminate();
- return -2;
- }
- Sleep(20);
- return 0;
-}
-
-void
-SystemExec::output_interposer()
-{
- DWORD bytesRead = 0;
- char data[BUFSIZ];
-#if 0 // untested code to set up nonblocking
- unsigned long l = 1;
- ioctlsocket(stdoutP[0], FIONBIO, &l);
-#endif
- while(1) {
-#if 0 // for non-blocking pipes..
- DWORD bytesAvail = 0;
- PeekNamedPipe(stdoutP[0], 0, 0, 0, &bytesAvail, 0);
- if (bytesAvail < 1) {Sleep(500); printf("N/A\n"); continue;}
-#endif
- if (stdoutP[0] == INVALID_HANDLE_VALUE) break;
- if (!ReadFile(stdoutP[0], data, BUFSIZ, &bytesRead, 0)) break;
- if (bytesRead < 1) continue; /* actually not needed; but this is safe. */
- data[bytesRead] = 0;
- ReadStdout(data, bytesRead);/* EMIT SIGNAL */
- }
- Terminated();/* EMIT SIGNAL */
-}
-
-void
-SystemExec::close_stdin()
-{
- if (stdinP[0]!= INVALID_HANDLE_VALUE) FlushFileBuffers(stdinP[0]);
- if (stdinP[1]!= INVALID_HANDLE_VALUE) FlushFileBuffers(stdinP[1]);
- Sleep(200);
- destroy_pipe(stdinP);
-}
-
-int
-SystemExec::write_to_stdin(std::string d, size_t len)
-{
- const char *data;
- DWORD r,c;
-
- ::pthread_mutex_lock(&write_lock);
-
- data=d.c_str();
- if (len == 0) {
- len=(d.length());
- }
- c=0;
- while (c < len) {
- if (!WriteFile(stdinP[1], data+c, len-c, &r, NULL)) {
- if (GetLastError() == 0xE8 /*NT_STATUS_INVALID_USER_BUFFER*/) {
- Sleep(100);
- continue;
- } else {
- fprintf(stderr, "SYSTEM-EXEC: stdin write error.\n");
- break;
- }
- }
- c += r;
- }
- ::pthread_mutex_unlock(&write_lock);
- return c;
-}
-
-
-/* end windows process */
-#else
-/* UNIX/POSIX process */
-
-extern char **environ;
-void
-SystemExec::make_envp() {
- int i=0;
- envp = (char **) calloc(1, sizeof(char*));
- /* copy current environment */
- for (i=0;environ[i];++i) {
- envp[i] = strdup(environ[i]);
- envp = (char **) realloc(envp, (i+2) * sizeof(char*));
- }
- envp[i] = 0;
-}
-
-void
-SystemExec::make_argp(std::string args) {
- int argn = 1;
- char *cp1;
- char *cp2;
-
- char *carg = strdup(args.c_str());
-
- argp = (char **) malloc((argn + 1) * sizeof(char *));
- if (argp == (char **) 0) {
- free(carg);
- return; // FATAL
- }
-
- argp[0] = strdup(cmd.c_str());
-
- /* TODO: quotations and escapes
- * http://stackoverflow.com/questions/1511797/convert-string-to-argv-in-c
- *
- * It's actually not needed. All relevant invocations specify 'argp' directly.
- * Only 'xjadeo -L -R' uses this function and that uses neither quotations
- * nor arguments with white-space.
- */
- for (cp1 = cp2 = carg; *cp2 != '\0'; ++cp2) {
- if (*cp2 == ' ') {
- *cp2 = '\0';
- argp[argn++] = strdup(cp1);
- cp1 = cp2 + 1;
- argp = (char **) realloc(argp, (argn + 1) * sizeof(char *));
- }
- }
- if (cp2 != cp1) {
- argp[argn++] = strdup(cp1);
- argp = (char **) realloc(argp, (argn + 1) * sizeof(char *));
- }
- argp[argn] = (char *) 0;
- free(carg);
-}
-
-
-
-void
-SystemExec::terminate ()
-{
- ::pthread_mutex_lock(&write_lock);
-
- /* close stdin in an attempt to get the child to exit cleanly.
- */
-
- close_stdin();
-
- if (pid) {
- ::usleep(50000);
- sched_yield();
- wait(WNOHANG);
- }
-
- /* if pid is non-zero, the child task is still executing (i.e. it did
- * not exit in response to stdin being closed). try to kill it.
- */
-
- if (pid) {
- ::kill(pid, SIGTERM);
- ::usleep(50000);
- sched_yield();
- wait(WNOHANG);
- }
-
- /* if pid is non-zero, the child task is STILL executing after being
- * sent SIGTERM. Act tough ... send SIGKILL
- */
-
- if (pid) {
- ::fprintf(stderr, "Process is still running! trying SIGKILL\n");
- ::kill(pid, SIGKILL);
- }
-
- wait();
- if (thread_active) pthread_join(thread_id_tt, NULL);
- thread_active = false;
- ::pthread_mutex_unlock(&write_lock);
-}
-
-int
-SystemExec::wait (int options)
-{
- int status=0;
- int ret;
-
- if (pid==0) return -1;
-
- ret = waitpid (pid, &status, options);
-
- if (ret == pid) {
- if (WEXITSTATUS(status) || WIFSIGNALED(status)) {
- pid=0;
- }
- } else {
- if (ret != 0) {
- if (errno == ECHILD) {
- /* no currently running children, reset pid */
- pid=0;
- }
- } /* else the process is still running */
- }
- return status;
-}
-
-bool
-SystemExec::is_running ()
-{
- int status=0;
- if (pid==0) return false;
- if (::waitpid(pid, &status, WNOHANG)==0) return true;
- return false;
-}
-
-int
-SystemExec::start (int stderr_mode)
-{
- if (is_running()) {
- return 0; // mmh what to return here?
- }
- int r;
-
- if (::pipe(pin) < 0 || ::pipe(pout) < 0 || ::pipe(pok) < 0) {
- /* Something unexpected went wrong creating a pipe. */
- return -1;
- }
-
- r = ::fork();
- if (r < 0) {
- /* failed to fork */
- return -2;
- }
-
- if (r > 0) {
- /* main */
- pid=r;
-
- /* check if execve was successful. */
- close_fd(pok[1]);
- char buf;
- for ( ;; ) {
- ssize_t n = ::read(pok[0], &buf, 1 );
- if ( n==1 ) {
- /* child process returned from execve */
- pid=0;
- close_fd(pok[0]);
- close_fd(pin[1]);
- close_fd(pin[0]);
- close_fd(pout[1]);
- close_fd(pout[0]);
- pin[1] = -1;
- return -3;
- } else if ( n==-1 ) {
- if ( errno==EAGAIN || errno==EINTR )
- continue;
- }
- break;
- }
- close_fd(pok[0]);
- /* child started successfully */
-
-#if 0
-/* use fork for output-interposer
- * it will run in a separated process
- */
- /* catch stdout thread */
- r = ::fork();
- if (r < 0) {
- // failed to fork
- terminate();
- return -2;
- }
- if (r == 0) {
- /* 2nd child process - catch stdout */
- close_fd(pin[1]);
- close_fd(pout[1]);
- output_interposer();
- exit(0);
- }
- close_fd(pout[1]);
- close_fd(pin[0]);
- close_fd(pout[0]);
-#else /* use pthread */
- close_fd(pout[1]);
- close_fd(pin[0]);
- int rv = pthread_create(&thread_id_tt, NULL, interposer_thread, this);
-
- thread_active=true;
- if (rv) {
- thread_active=false;
- terminate();
- return -2;
- }
-#endif
- return 0; /* all systems go - return to main */
- }
-
- /* child process - exec external process */
- close_fd(pok[0]);
- ::fcntl(pok[1], F_SETFD, FD_CLOEXEC);
-
- close_fd(pin[1]);
- if (pin[0] != STDIN_FILENO) {
- ::dup2(pin[0], STDIN_FILENO);
- }
- close_fd(pin[0]);
- close_fd(pout[0]);
- if (pout[1] != STDOUT_FILENO) {
- ::dup2(pout[1], STDOUT_FILENO);
- }
-
- if (stderr_mode == 2) {
- /* merge STDERR into output */
- if (pout[1] != STDERR_FILENO) {
- ::dup2(pout[1], STDERR_FILENO);
- }
- } else if (stderr_mode == 1) {
- /* ignore STDERR */
- ::close(STDERR_FILENO);
- } else {
- /* keep STDERR */
- }
-
- if (pout[1] != STDOUT_FILENO && pout[1] != STDERR_FILENO) {
- close_fd(pout[1]);
- }
-
- if (nicelevel !=0) {
- ::nice(nicelevel);
- }
-
-#if 0
- /* chdir to executable dir */
- char *directory;
- directory = strdup(cmd.c_str());
- if (strrchr(directory, '/') != (char *) 0) {
- ::chdir(directory);
- }
- free(directory);
-#endif
-
-#ifdef HAVE_SIGSET
- sigset(SIGPIPE, SIG_DFL);
-#else
- signal(SIGPIPE, SIG_DFL);
-#endif
-
- int good_fds[1] = { -1 };
- close_allv(good_fds);
-
- ::execve(argp[0], argp, envp);
- /* if we reach here something went wrong.. */
- char buf = 0;
- (void) ::write(pok[1], &buf, 1 );
- close_fd(pok[1]);
- exit(-1);
- return -1;
-}
-
-void
-SystemExec::output_interposer()
-{
- int rfd=pout[0];
- char buf[BUFSIZ];
- ssize_t r;
- unsigned long l = 1;
-
- ioctl(rfd, FIONBIO, &l); // set non-blocking I/O
-
- for (;fcntl(rfd, F_GETFL)!=-1;) {
- r = read(rfd, buf, sizeof(buf));
- if (r < 0 && (errno == EINTR || errno == EAGAIN)) {
- ::usleep(1000);
- continue;
- }
- if (r <= 0) {
- break;
- }
- buf[r]=0;
- std::string rv = std::string(buf,r); // TODO: check allocation strategy
- ReadStdout(rv, r);/* EMIT SIGNAL */
- }
- Terminated();/* EMIT SIGNAL */
-}
-
-void
-SystemExec::close_stdin()
-{
- if (pin[1]<0) return;
- close_fd(pin[0]);
- close_fd(pin[1]);
- close_fd(pout[0]);
- close_fd(pout[1]);
-}
-
-int
-SystemExec::write_to_stdin(std::string d, size_t len)
-{
- const char *data;
- ssize_t r;
- size_t c;
- ::pthread_mutex_lock(&write_lock);
-
- data=d.c_str();
- if (len == 0) {
- len=(d.length());
- }
- c=0;
- while (c < len) {
- for (;;) {
- r=::write(pin[1], data+c, len-c);
- if (r < 0 && (errno == EINTR || errno == EAGAIN)) {
- sleep(1);
- continue;
- }
- if ((size_t) r != (len-c)) {
- ::pthread_mutex_unlock(&write_lock);
- return c;
- }
- break;
- }
- c += r;
- }
- fsync(pin[1]);
- ::pthread_mutex_unlock(&write_lock);
- return c;
-}
-
-#endif // end UNIX process
diff --git a/gtk2_ardour/system_exec.h b/gtk2_ardour/system_exec.h
deleted file mode 100644
index cf8518f547..0000000000
--- a/gtk2_ardour/system_exec.h
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- Copyright (C) 2010 Paul Davis
- Author: Robin Gareus <robin@gareus.org>
-
- 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_system_exec_h__
-#define __ardour_system_exec_h__
-
-#ifndef STDIN_FILENO
-#define STDIN_FILENO 0
-#endif
-#ifndef STDOUT_FILENO
-#define STDOUT_FILENO 1
-#endif
-#ifndef STDERR_FILENO
-#define STDERR_FILENO 2
-#endif
-
-#include <string>
-#include <pthread.h>
-#include <signal.h>
-#ifdef NOPBD /* outside ardour */
-#include <sigc++/bind.h>
-#include <sigc++/signal.h>
-#else
-#include <pbd/signals.h>
-#endif
-
-/** @class: SystemExec
- * @brief execute an external command
- *
- * This class allows launche an external command-line application
- * opening a full-duplex connection to its standard I/O.
- *
- * In Ardour context it is used to launch xjadeo and ffmpeg.
- *
- * The \ref write_to_stdin function provides for injecting data into STDIN
- * of the child-application while output of the program to STDOUT/STDERR is
- * forwarded using the \ref ReadStdout signal.
- * \ref Terminated is sent if the child application exits.
- *
- */
-class SystemExec
-{
- public:
- /** prepare execution of a program with 'execve'
- *
- * This function takes over the existing environment variable and provides
- * an easy way to speciy command-line arguments for the new process.
- *
- * Note: The argument parser does not interpret quotation-marks and splits
- * arugments on whitespace. The argument string can be empty.
- * The alternative constructor below allows to specify quoted parameters
- * incl. whitespace.
- *
- * @param c program pathname that identifies the new process image file.
- * @param a string of commandline-arguments to be passed to the new program.
- */
- SystemExec (std::string c, std::string a = "");
- /** similar to \ref SystemExec but allows to specify custom arguments
- *
- * @param c program pathname that identifies the new process image file.
- * @param a array of argument strings passed to the new program as 'argv'.
- * it must be terminated by a null pointer (see the 'evecve'
- * POSIX-C documentation for more information)
- * The array must be dynamically allocated using malloc or strdup.
- * Unless they're NULL, the array itself and each of its content
- * memory is freed() in the destructor.
- *
- */
- SystemExec (std::string c, char ** a);
- virtual ~SystemExec ();
-
- /** fork and execute the given program
- *
- * @param stderr_mode select what to do with program's standard error
- * output:
- * '0': keep STDERR; mix it with parent-process' STDERR
- * '1': ignore STDERR of child-program
- * '2': merge STDERR into STDOUT and send it with the
- * ReadStdout signal.
- * @return If the process is already running or was launched successfully
- * the function returns zero (0). A negative number indicates an error.
- */
- int start (int stderr_mode = 1);
- /** kill running child-process
- *
- * if a child process exists trt to shut it down by closing its STDIN.
- * if the program dies not react try SIGTERM and eventually SIGKILL
- */
- void terminate ();
- /** check if the child programm is (still) running.
- *
- * This function calls waitpid(WNOHANG) to check the state of the
- * child-process.
- * @return true if the program is (still) running.
- */
- bool is_running ();
- /** call the waitpid system-call with the pid of the child-program
- *
- * Basically what \ref terminate uses internally.
- *
- * This function is only useful if you want to control application
- * termination yourself (eg timeouts or progress-dialog).
- * @param option flags - see waitpid manual
- * @return status info from waitpid call (not waitpid's return value)
- * or -1 if the child-program is not running.
- */
- int wait (int options=0);
- /** closes both STDIN and STDOUT connections to/from
- * the child-program.
- * With the output-interposer thread gone, the program
- * should terminate.
- * used by \ref terminate()
- */
- void close_stdin ();
- /** write into child-program's STDIN
- * @param d data to write
- * @param len length of data to write, if it is 0 (zero), d.length() is
- * used to determine the number of bytes to transmit.
- * @return number of bytes written.
- */
- int write_to_stdin (std::string d, size_t len=0);
-
- /** The ReadStdout signal is emitted when the application writes to STDOUT.
- * it passes the written data and its length in bytes as arguments to the bound
- * slot(s).
- */
-#ifdef NOPBD /* outside ardour */
- sigc::signal<void, std::string,size_t> ReadStdout;
-#else
- PBD::Signal2<void, std::string,size_t> ReadStdout;
-#endif
-
- /** The Terminated signal is emitted when application terminates. */
-#ifdef NOPBD /* outside ardour */
- sigc::signal<void> Terminated;
-#else
- PBD::Signal0<void> Terminated;
-#endif
-
- /** interposer to emit signal for writes to STDOUT/ERR.
- *
- * Thread that reads the stdout of the forked
- * process and signal-sends it to the main thread.
- * It also emits the Terminated() signal once
- * the the forked process closes it's stdout.
- *
- * Note: it's actually 'private' function but used
- * by the internal pthread, which only has a pointer
- * to this instance and thus can only access public fn.
- */
- void output_interposer ();
-
- protected:
- std::string cmd; ///< path to command - set when creating the class
- int nicelevel; ///< process nice level - defaults to 0
-
- void make_argp(std::string);
- void make_envp();
-
- char **argp;
- char **envp;
-
- private:
-#ifdef __WIN32__
- PROCESS_INFORMATION *pid;
- HANDLE stdinP[2];
- HANDLE stdoutP[2];
- HANDLE stderrP[2];
- char *w_args;
- void make_wargs(char **);
-#else
- pid_t pid;
-#endif
- pthread_mutex_t write_lock;
-
- int fdin; ///< file-descriptor for writing to child's STDIN. This variable is identical to pin[1] but also used as status check if the stdin pipe is open: <0 means closed.
- int pok[2];
- int pin[2];
- int pout[2];
-
- pthread_t thread_id_tt;
- bool thread_active;
-};
-
-#endif /* __ardour_system_exec_h__ */
diff --git a/gtk2_ardour/tape_region_view.cc b/gtk2_ardour/tape_region_view.cc
index 33731798d7..f40ccb6014 100644
--- a/gtk2_ardour/tape_region_view.cc
+++ b/gtk2_ardour/tape_region_view.cc
@@ -46,10 +46,10 @@ const TimeAxisViewItem::Visibility TapeAudioRegionView::default_tape_visibility
TimeAxisViewItem::HideFrameRight |
TimeAxisViewItem::FullWidthNameHighlight);
-TapeAudioRegionView::TapeAudioRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &tv,
+TapeAudioRegionView::TapeAudioRegionView (ArdourCanvas::Container *parent, RouteTimeAxisView &tv,
boost::shared_ptr<AudioRegion> r,
double spu,
- Gdk::Color const & basic_color)
+ uint32_t basic_color)
: AudioRegionView (parent, tv, r, spu, basic_color, false,
TimeAxisViewItem::Visibility ((r->position() != 0) ? default_tape_visibility :
@@ -58,13 +58,13 @@ TapeAudioRegionView::TapeAudioRegionView (ArdourCanvas::Group *parent, RouteTime
}
void
-TapeAudioRegionView::init (Gdk::Color const & basic_color, bool /*wfw*/)
+TapeAudioRegionView::init (bool /*wfw*/)
{
/* never wait for data: always just create the waves, connect once and then
we'll update whenever we need to.
*/
- AudioRegionView::init(basic_color, false);
+ AudioRegionView::init (false);
/* every time the wave data changes and peaks are ready, redraw */
@@ -79,7 +79,7 @@ TapeAudioRegionView::~TapeAudioRegionView()
}
void
-TapeAudioRegionView::update (uint32_t n)
+TapeAudioRegionView::update (uint32_t /*n*/)
{
/* check that all waves are build and ready */
@@ -87,16 +87,7 @@ TapeAudioRegionView::update (uint32_t n)
return;
}
- ENSURE_GUI_THREAD (*this, &TapeAudioRegionView::update, n)
-
- /* this triggers a cache invalidation and redraw in the waveview */
-
- waves[n]->property_data_src() = _region.get();
-}
-
-void
-TapeAudioRegionView::set_frame_color ()
-{
- fill_opacity = 255;
- AudioRegionView::set_frame_color ();
+ ENSURE_GUI_THREAD (*this, &TapeAudioRegionView::update, n);
+ // CAIROCANVAS
+ // waves[n]->rebuild ();
}
diff --git a/gtk2_ardour/tape_region_view.h b/gtk2_ardour/tape_region_view.h
index a3aa7142ea..6361683362 100644
--- a/gtk2_ardour/tape_region_view.h
+++ b/gtk2_ardour/tape_region_view.h
@@ -27,17 +27,16 @@
class TapeAudioRegionView : public AudioRegionView
{
public:
- TapeAudioRegionView (ArdourCanvas::Group *,
+ TapeAudioRegionView (ArdourCanvas::Container *,
RouteTimeAxisView&,
boost::shared_ptr<ARDOUR::AudioRegion>,
- double initial_samples_per_unit,
- Gdk::Color const & base_color);
+ double initial_samples_per_pixel,
+ uint32_t base_color);
~TapeAudioRegionView ();
protected:
- void init (Gdk::Color const & base_color, bool wait_for_waves);
+ void init (bool wait_for_waves);
- void set_frame_color ();
void update (uint32_t n);
static const TimeAxisViewItem::Visibility default_tape_visibility;
diff --git a/gtk2_ardour/tempo_dialog.cc b/gtk2_ardour/tempo_dialog.cc
index b601734bee..a969581369 100644
--- a/gtk2_ardour/tempo_dialog.cc
+++ b/gtk2_ardour/tempo_dialog.cc
@@ -26,7 +26,6 @@
#include "ardour/rc_configuration.h"
#include "tempo_dialog.h"
-#include "utils.h"
#include "i18n.h"
@@ -43,6 +42,7 @@ TempoDialog::TempoDialog (TempoMap& map, framepos_t frame, const string&)
, when_bar_label (_("bar:"), ALIGN_LEFT, ALIGN_CENTER)
, when_beat_label (_("beat:"), ALIGN_LEFT, ALIGN_CENTER)
, pulse_selector_label (_("Pulse note"), ALIGN_LEFT, ALIGN_CENTER)
+ , tap_tempo_button (_("Tap tempo"))
{
Timecode::BBT_Time when;
Tempo tempo (map.tempo_at (frame));
@@ -58,6 +58,7 @@ TempoDialog::TempoDialog (TempoSection& section, const string&)
, when_bar_label (_("bar:"), ALIGN_LEFT, ALIGN_CENTER)
, when_beat_label (_("beat:"), ALIGN_LEFT, ALIGN_CENTER)
, pulse_selector_label (_("Pulse note"), ALIGN_LEFT, ALIGN_CENTER)
+ , tap_tempo_button (_("Tap tempo"))
{
init (section.start(), section.beats_per_minute(), section.note_type(), section.movable());
}
@@ -163,6 +164,8 @@ TempoDialog::init (const Timecode::BBT_Time& when, double bpm, double note_type,
set_default_response (RESPONSE_ACCEPT);
bpm_spinner.show ();
+ tap_tempo_button.show ();
+ get_vbox()->pack_end (tap_tempo_button);
set_name ("MetricDialog");
@@ -175,6 +178,7 @@ TempoDialog::init (const Timecode::BBT_Time& when, double bpm, double note_type,
when_beat_entry.signal_activate().connect (sigc::bind (sigc::mem_fun (*this, &TempoDialog::response), RESPONSE_ACCEPT));
when_beat_entry.signal_key_release_event().connect (sigc::mem_fun (*this, &TempoDialog::entry_key_release), false);
pulse_selector.signal_changed().connect (sigc::mem_fun (*this, &TempoDialog::pulse_change));
+ tap_tempo_button.signal_clicked().connect (sigc::mem_fun (*this, &TempoDialog::tap_tempo));
}
void
@@ -250,6 +254,36 @@ TempoDialog::pulse_change ()
set_response_sensitive (RESPONSE_ACCEPT, true);
}
+void
+TempoDialog::tap_tempo ()
+{
+ gint64 now;
+ now = g_get_monotonic_time (); // microseconds
+
+ if (last_tap > 0) {
+ double interval, bpm;
+ static const double decay = 0.5;
+
+ interval = (now - last_tap) * 1.0e-6;
+ if (interval <= 6.0) {
+ // >= 10 bpm, say
+ if (average_interval > 0) {
+ average_interval = interval * decay
+ + average_interval * (1.0-decay);
+ } else {
+ average_interval = interval;
+ }
+
+ bpm = 60.0 / average_interval;
+ bpm_spinner.set_value (bpm);
+ } else {
+ average_interval = 0;
+ }
+ } else {
+ average_interval = 0;
+ }
+ last_tap = now;
+}
MeterDialog::MeterDialog (TempoMap& map, framepos_t frame, const string&)
: ArdourDialog (_("New Meter"))
diff --git a/gtk2_ardour/tempo_dialog.h b/gtk2_ardour/tempo_dialog.h
index ba269a4425..616be2433e 100644
--- a/gtk2_ardour/tempo_dialog.h
+++ b/gtk2_ardour/tempo_dialog.h
@@ -52,10 +52,14 @@ private:
bool bpm_button_release (GdkEventButton* );
bool entry_key_release (GdkEventKey* );
void pulse_change ();
+ void tap_tempo ();
typedef std::map<std::string,float> NoteTypes;
NoteTypes note_types;
+ gint64 last_tap;
+ double average_interval;
+
Gtk::ComboBoxText pulse_selector;
Gtk::Adjustment bpm_adjustment;
Gtk::SpinButton bpm_spinner;
@@ -64,6 +68,7 @@ private:
Gtk::Label when_bar_label;
Gtk::Label when_beat_label;
Gtk::Label pulse_selector_label;
+ Gtk::Button tap_tempo_button;
};
class MeterDialog : public ArdourDialog
diff --git a/gtk2_ardour/tempo_lines.cc b/gtk2_ardour/tempo_lines.cc
index 97aa662c38..1a3fdaed2e 100644
--- a/gtk2_ardour/tempo_lines.cc
+++ b/gtk2_ardour/tempo_lines.cc
@@ -17,233 +17,83 @@
*/
-#include <libgnomecanvasmm/canvas.h>
-#include <libgnomecanvasmm/group.h>
+#include "pbd/compose.h"
+
+#include "canvas/canvas.h"
+#include "canvas/debug.h"
+
#include "tempo_lines.h"
#include "ardour_ui.h"
+#include "public_editor.h"
using namespace std;
-#define MAX_CACHED_LINES 128
-
-TempoLines::TempoLines(ArdourCanvas::Canvas& canvas, ArdourCanvas::Group* group, double screen_height)
- : _canvas(canvas)
- , _group(group)
- , _clean_left(DBL_MAX)
- , _clean_right(0.0)
- , _height(screen_height)
+TempoLines::TempoLines (ArdourCanvas::Container* group, double)
+ : lines (group, ArdourCanvas::LineSet::Vertical)
{
+ lines.set_extent (ArdourCanvas::COORD_MAX);
}
void
TempoLines::tempo_map_changed()
{
- _clean_left = DBL_MAX;
- _clean_right = 0.0;
-
- double_t d = 1.0;
- // TODO: Dirty/slow, but 'needed' for zoom :(
- for (Lines::iterator i = _lines.begin(); i != _lines.end(); d += 1.0) {
- Lines::iterator next = i;
- ++next;
- i->second->property_x1() = - d;
- i->second->property_x2() = - d;
- ArdourCanvas::SimpleLine* f = i->second;
- _lines.erase(i);
- _lines.insert(make_pair(- d, f));
- i = next;
- }
+ lines.clear ();
}
void
TempoLines::show ()
{
- for (Lines::iterator i = _lines.begin(); i != _lines.end(); ++i) {
- i->second->show();
- }
+ lines.show ();
}
void
TempoLines::hide ()
{
- for (Lines::iterator i = _lines.begin(); i != _lines.end(); ++i) {
- i->second->hide();
- }
+ lines.hide ();
}
void
TempoLines::draw (const ARDOUR::TempoMap::BBTPointList::const_iterator& begin,
- const ARDOUR::TempoMap::BBTPointList::const_iterator& end,
- double frames_per_unit)
+ const ARDOUR::TempoMap::BBTPointList::const_iterator& end)
{
ARDOUR::TempoMap::BBTPointList::const_iterator i;
- ArdourCanvas::SimpleLine *line = NULL;
- gdouble xpos;
- double who_cares;
- double x1, x2, y1, beat_density;
+ double beat_density;
uint32_t beats = 0;
uint32_t bars = 0;
uint32_t color;
- const size_t needed = distance (begin, end);
-
- _canvas.get_scroll_region (x1, y1, x2, who_cares);
-
/* get the first bar spacing */
i = end;
i--;
- bars = (*i).bar - (*begin).bar;
+ bars = (*i).bar - (*begin).bar;
beats = distance (begin, end) - bars;
- beat_density = (beats * 10.0f) / _canvas.get_width ();
+ beat_density = (beats * 10.0f) / lines.canvas()->width();
if (beat_density > 4.0f) {
/* if the lines are too close together, they become useless */
- tempo_map_changed();
+ lines.clear ();
return;
}
- xpos = rint(((framepos_t)(*i).frame) / (double)frames_per_unit);
- const double needed_right = xpos;
-
- i = begin;
-
- xpos = rint(((framepos_t)(*i).frame) / (double)frames_per_unit);
- const double needed_left = xpos;
-
- Lines::iterator left = _lines.lower_bound(xpos); // first line >= xpos
-
- bool exhausted = (left == _lines.end());
- Lines::iterator li = left;
- if (li != _lines.end())
- line = li->second;
-
- // Tempo map hasn't changed and we're entirely within a clean
- // range, don't need to do anything. Yay.
- if (needed_left >= _clean_left && needed_right <= _clean_right) {
- // cout << endl << "*** LINE CACHE PERFECT HIT" << endl;
- return;
- }
-
- //cout << endl << "*** LINE CACHE MISS" << endl;
-
- bool invalidated = false;
+ lines.clear ();
for (i = begin; i != end; ++i) {
if ((*i).is_bar()) {
- color = ARDOUR_UI::config()->canvasvar_MeasureLineBar.get();
+ color = ARDOUR_UI::config()->get_canvasvar_MeasureLineBar();
} else {
- if (beat_density > 2.0) {
+ if (beat_density > 0.3) {
continue; /* only draw beat lines if the gaps between beats are large. */
}
- color = ARDOUR_UI::config()->canvasvar_MeasureLineBeat.get();
+ color = ARDOUR_UI::config()->get_canvasvar_MeasureLineBeat();
}
- xpos = rint(((framepos_t)(*i).frame) / (double)frames_per_unit);
-
- li = _lines.lower_bound(xpos); // first line >= xpos
-
- line = (li != _lines.end()) ? li->second : NULL;
- assert(!line || line->property_x1() == li->first);
-
- Lines::iterator next = li;
- if (next != _lines.end())
- ++next;
-
- exhausted = (next == _lines.end());
-
- // Hooray, line is perfect
- if (line && line->property_x1() == xpos) {
- if (li != _lines.end())
- ++li;
-
- line->property_color_rgba() = color;
- // Use existing line, moving if necessary
- } else if (!exhausted) {
- Lines::iterator steal = _lines.end();
- --steal;
-
- // Steal from the right
- if (left->first > needed_left && li != steal && steal->first > needed_right) {
- //cout << "*** STEALING FROM RIGHT" << endl;
- double const x = steal->first;
- line = steal->second;
- _lines.erase(steal);
- line->property_x1() = xpos;
- line->property_x2() = xpos;
- line->property_color_rgba() = color;
- _lines.insert(make_pair(xpos, line));
- invalidated = true;
-
- // Shift clean range left
- _clean_left = min(_clean_left, xpos);
- _clean_right = min(_clean_right, x);
-
- // Move this line to where we need it
- } else {
- Lines::iterator existing = _lines.find(xpos);
- if (existing != _lines.end()) {
- //cout << "*** EXISTING LINE" << endl;
- li = existing;
- li->second->property_color_rgba() = color;
- } else {
- //cout << "*** MOVING LINE" << endl;
- const double x1 = line->property_x1();
- const bool was_clean = x1 >= _clean_left && x1 <= _clean_right;
- invalidated = invalidated || was_clean;
- // Invalidate clean portion (XXX: too harsh?)
- _clean_left = needed_left;
- _clean_right = needed_right;
- _lines.erase(li);
- line->property_color_rgba() = color;
- line->property_x1() = xpos;
- line->property_x2() = xpos;
- _lines.insert(make_pair(xpos, line));
- }
- }
-
- // Create a new line
- } else if (_lines.size() < needed || _lines.size() < MAX_CACHED_LINES) {
- //cout << "*** CREATING LINE" << endl;
- /* if we already have a line there ... don't sweat it */
- if (_lines.find (xpos) == _lines.end()) {
- line = new ArdourCanvas::SimpleLine (*_group);
- line->property_x1() = xpos;
- line->property_x2() = xpos;
- line->property_y1() = 0.0;
- line->property_y2() = _height;
- line->property_color_rgba() = color;
- _lines.insert(make_pair(xpos, line));
- }
-
- // Steal from the left
- } else {
- //cout << "*** STEALING FROM LEFT" << endl;
- if (_lines.find (xpos) == _lines.end()) {
- Lines::iterator steal = _lines.begin();
- double const x = steal->first;
- line = steal->second;
- _lines.erase(steal);
- line->property_color_rgba() = color;
- line->property_x1() = xpos;
- line->property_x2() = xpos;
- _lines.insert(make_pair(xpos, line));
- invalidated = true;
-
- // Shift clean range right
- _clean_left = max(_clean_left, x);
- _clean_right = max(_clean_right, xpos);
- }
- }
- }
+ ArdourCanvas::Coord xpos = PublicEditor::instance().sample_to_pixel_unrounded ((*i).frame);
- // Extend range to what we've 'fixed'
- if (!invalidated) {
- _clean_left = min(_clean_left, needed_left);
- _clean_right = max(_clean_right, needed_right);
+ lines.add (xpos, 1.0, color);
}
}
diff --git a/gtk2_ardour/tempo_lines.h b/gtk2_ardour/tempo_lines.h
index 1ab71e0681..99a6a6b93f 100644
--- a/gtk2_ardour/tempo_lines.h
+++ b/gtk2_ardour/tempo_lines.h
@@ -19,41 +19,24 @@
#ifndef __ardour_tempo_lines_h__
#define __ardour_tempo_lines_h__
-#include <map>
-#include <boost/pool/pool.hpp>
-#include <boost/pool/pool_alloc.hpp>
#include "ardour/tempo.h"
-#include "canvas.h"
-#include "simpleline.h"
-typedef boost::fast_pool_allocator<
- std::pair<const double, ArdourCanvas::SimpleLine*>,
- boost::default_user_allocator_new_delete,
- boost::details::pool::null_mutex,
- 8192>
- MapAllocator;
+#include "canvas/line_set.h"
class TempoLines {
public:
- TempoLines(ArdourCanvas::Canvas& canvas, ArdourCanvas::Group* group, double screen_height);
+ TempoLines (ArdourCanvas::Container* group, double screen_height);
void tempo_map_changed();
- void draw(const ARDOUR::TempoMap::BBTPointList::const_iterator& begin,
- const ARDOUR::TempoMap::BBTPointList::const_iterator& end,
- double frames_per_unit);
+ void draw (const ARDOUR::TempoMap::BBTPointList::const_iterator& begin,
+ const ARDOUR::TempoMap::BBTPointList::const_iterator& end);
void show();
void hide();
private:
- typedef std::map<double, ArdourCanvas::SimpleLine*, std::less<double>, MapAllocator> Lines;
- Lines _lines;
-
- ArdourCanvas::Canvas& _canvas;
- ArdourCanvas::Group* _group;
- double _clean_left;
- double _clean_right;
+ ArdourCanvas::LineSet lines;
double _height;
};
diff --git a/gtk2_ardour/theme_manager.cc b/gtk2_ardour/theme_manager.cc
index 5f707e3212..1a5aa0e7ce 100644
--- a/gtk2_ardour/theme_manager.cc
+++ b/gtk2_ardour/theme_manager.cc
@@ -29,18 +29,21 @@
#include "gtkmm2ext/gtk_ui.h"
#include "gtkmm2ext/cell_renderer_color_selector.h"
+#include "gtkmm2ext/utils.h"
#include "pbd/file_utils.h"
#include "pbd/compose.h"
#include "ardour/filesystem_paths.h"
+#include "canvas/wave_view.h"
+
#include "ardour_button.h"
-#include "canvas-waveview.h"
#include "theme_manager.h"
#include "rgb_macros.h"
#include "ardour_ui.h"
#include "global_signals.h"
+#include "utils.h"
#include "i18n.h"
@@ -48,9 +51,12 @@ using namespace std;
using namespace Gtk;
using namespace PBD;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
-sigc::signal<void> ColorsChanged;
-sigc::signal<void,uint32_t> ColorChanged;
+namespace ARDOUR_UI_UTILS {
+ sigc::signal<void> ColorsChanged;
+ sigc::signal<void,uint32_t> ColorChanged;
+}
ThemeManager::ThemeManager()
: ArdourWindow (_("Theme Manager"))
@@ -58,8 +64,15 @@ ThemeManager::ThemeManager()
, light_button (_("Light Theme"))
, reset_button (_("Restore Defaults"))
, flat_buttons (_("Draw \"flat\" buttons"))
+ , blink_rec_button (_("Blink Rec-Arm buttons"))
+ , region_color_button (_("Color regions using their track's color"))
+ , show_clipping_button (_("Show waveform clipping"))
+ , waveform_gradient_depth (0, 1.0, 0.05)
+ , waveform_gradient_depth_label (_("Waveforms color gradient depth"))
+ , timeline_item_gradient_depth (0, 1.0, 0.05)
+ , timeline_item_gradient_depth_label (_("Timeline item gradient depth"))
, all_dialogs (_("All floating windows are dialogs"))
- , gradient_waveforms (_("Draw waveforms with color gradient"))
+ , icon_set_label (_("Icon Set"))
{
set_title (_("Theme Manager"));
@@ -98,26 +111,70 @@ ThemeManager::ThemeManager()
vbox->pack_start (all_dialogs, PACK_SHRINK);
#endif
vbox->pack_start (flat_buttons, PACK_SHRINK);
- vbox->pack_start (gradient_waveforms, PACK_SHRINK);
+ vbox->pack_start (blink_rec_button, PACK_SHRINK);
+ vbox->pack_start (region_color_button, PACK_SHRINK);
+ vbox->pack_start (show_clipping_button, PACK_SHRINK);
+
+ Gtk::HBox* hbox;
+
+ vector<string> icon_sets = ::get_icon_sets ();
+
+ if (icon_sets.size() > 1) {
+ Gtkmm2ext::set_popdown_strings (icon_set_dropdown, icon_sets);
+ icon_set_dropdown.set_active_text (ARDOUR_UI::config()->get_icon_set());
+
+ hbox = Gtk::manage (new Gtk::HBox());
+ hbox->set_spacing (6);
+ hbox->pack_start (icon_set_label, false, false);
+ hbox->pack_start (icon_set_dropdown, true, true);
+ vbox->pack_start (*hbox, PACK_SHRINK);
+ }
+
+
+ hbox = Gtk::manage (new Gtk::HBox());
+ hbox->set_spacing (6);
+ hbox->pack_start (waveform_gradient_depth, true, true);
+ hbox->pack_start (waveform_gradient_depth_label, false, false);
+ vbox->pack_start (*hbox, PACK_SHRINK);
+
+ hbox = Gtk::manage (new Gtk::HBox());
+ hbox->set_spacing (6);
+ hbox->pack_start (timeline_item_gradient_depth, true, true);
+ hbox->pack_start (timeline_item_gradient_depth_label, false, false);
+ vbox->pack_start (*hbox, PACK_SHRINK);
+
vbox->pack_start (scroller);
vbox->show_all ();
add (*vbox);
+ waveform_gradient_depth.set_update_policy (Gtk::UPDATE_DELAYED);
+ timeline_item_gradient_depth.set_update_policy (Gtk::UPDATE_DELAYED);
+
color_display.signal_button_press_event().connect (sigc::mem_fun (*this, &ThemeManager::button_press_event), false);
color_dialog.get_colorsel()->set_has_opacity_control (true);
color_dialog.get_colorsel()->set_has_palette (true);
+ flat_buttons.set_active (ARDOUR_UI::config()->get_flat_buttons());
+ blink_rec_button.set_active (ARDOUR_UI::config()->get_blink_rec_arm());
+ region_color_button.set_active (ARDOUR_UI::config()->get_color_regions_using_track_color());
+ show_clipping_button.set_active (ARDOUR_UI::config()->get_show_waveform_clipping());
+
color_dialog.get_ok_button()->signal_clicked().connect (sigc::bind (sigc::mem_fun (color_dialog, &Gtk::Dialog::response), RESPONSE_ACCEPT));
color_dialog.get_cancel_button()->signal_clicked().connect (sigc::bind (sigc::mem_fun (color_dialog, &Gtk::Dialog::response), RESPONSE_CANCEL));
dark_button.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_dark_theme_button_toggled));
light_button.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_light_theme_button_toggled));
reset_button.signal_clicked().connect (sigc::mem_fun (*this, &ThemeManager::reset_canvas_colors));
flat_buttons.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_flat_buttons_toggled));
+ blink_rec_button.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_blink_rec_arm_toggled));
+ region_color_button.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_region_color_toggled));
+ show_clipping_button.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_show_clip_toggled));
+ waveform_gradient_depth.signal_value_changed().connect (sigc::mem_fun (*this, &ThemeManager::on_waveform_gradient_depth_change));
+ timeline_item_gradient_depth.signal_value_changed().connect (sigc::mem_fun (*this, &ThemeManager::on_timeline_item_gradient_depth_change));
all_dialogs.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_all_dialogs_toggled));
- gradient_waveforms.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_gradient_waveforms_toggled));
+ icon_set_dropdown.signal_changed().connect (sigc::mem_fun (*this, &ThemeManager::on_icon_set_changed));
Gtkmm2ext::UI::instance()->set_tip (all_dialogs,
string_compose (_("Mark all floating windows to be type \"Dialog\" rather than using \"Utility\" for some.\n"
@@ -147,7 +204,7 @@ ThemeManager::button_press_event (GdkEventButton* ev)
int cellx;
int celly;
- UIConfigVariable<uint32_t> *ccvar;
+ ColorVariable<uint32_t> *ccvar;
if (!color_display.get_path_at_pos ((int)ev->x, (int)ev->y, path, column, cellx, celly)) {
return false;
@@ -161,7 +218,7 @@ ThemeManager::button_press_event (GdkEventButton* ev)
case 1: /* color */
if ((iter = color_list->get_iter (path))) {
- UIConfigVariable<uint32_t>* var = (*iter)[columns.pVar];
+ ColorVariable<uint32_t>* var = (*iter)[columns.pVar];
if (!var) {
/* parent row, do nothing */
return false;
@@ -225,7 +282,7 @@ load_rc_file (const string& filename, bool themechange)
{
std::string rc_file_path;
- if (!find_file_in_search_path (ardour_config_search_path(), filename, rc_file_path)) {
+ if (!find_file (ardour_config_search_path(), filename, rc_file_path)) {
warning << string_compose (_("Unable to find UI style file %1 in search path %2. %3 will look strange"),
filename, ardour_config_search_path().to_string(), PROGRAM_NAME)
<< endmsg;
@@ -252,7 +309,7 @@ load_rc_file (const string& filename, bool themechange)
void
ThemeManager::on_flat_buttons_toggled ()
{
- ARDOUR_UI::config()->flat_buttons.set (flat_buttons.get_active());
+ ARDOUR_UI::config()->set_flat_buttons (flat_buttons.get_active());
ARDOUR_UI::config()->set_dirty ();
ArdourButton::set_flat_buttons (flat_buttons.get_active());
/* force a redraw */
@@ -260,22 +317,58 @@ ThemeManager::on_flat_buttons_toggled ()
}
void
+ThemeManager::on_blink_rec_arm_toggled ()
+{
+ ARDOUR_UI::config()->set_blink_rec_arm (blink_rec_button.get_active());
+ ARDOUR_UI::config()->set_dirty ();
+ ARDOUR::Config->ParameterChanged("blink-rec-arm");
+}
+
+void
+ThemeManager::on_region_color_toggled ()
+{
+ ARDOUR_UI::config()->set_color_regions_using_track_color (region_color_button.get_active());
+ ARDOUR_UI::config()->set_dirty ();
+}
+
+void
+ThemeManager::on_show_clip_toggled ()
+{
+ ARDOUR_UI::config()->set_show_waveform_clipping (show_clipping_button.get_active());
+ ARDOUR_UI::config()->set_dirty ();
+}
+
+void
ThemeManager::on_all_dialogs_toggled ()
{
- ARDOUR_UI::config()->all_floating_windows_are_dialogs.set (all_dialogs.get_active());
+ ARDOUR_UI::config()->set_all_floating_windows_are_dialogs (all_dialogs.get_active());
ARDOUR_UI::config()->set_dirty ();
}
void
-ThemeManager::on_gradient_waveforms_toggled ()
+ThemeManager::on_waveform_gradient_depth_change ()
{
- ARDOUR_UI::config()->gradient_waveforms.set (gradient_waveforms.get_active());
+ double v = waveform_gradient_depth.get_value();
+
+ ARDOUR_UI::config()->set_waveform_gradient_depth (v);
ARDOUR_UI::config()->set_dirty ();
-
- gnome_canvas_waveview_set_gradient_waveforms (gradient_waveforms.get_active());
+ ArdourCanvas::WaveView::set_global_gradient_depth (v);
+}
- /* force a redraw */
- gtk_rc_reset_styles (gtk_settings_get_default());
+void
+ThemeManager::on_timeline_item_gradient_depth_change ()
+{
+ double v = timeline_item_gradient_depth.get_value();
+
+ ARDOUR_UI::config()->set_timeline_item_gradient_depth (v);
+ ARDOUR_UI::config()->set_dirty ();
+}
+
+void
+ThemeManager::on_icon_set_changed ()
+{
+ string new_set = icon_set_dropdown.get_active_text();
+ ARDOUR_UI::config()->set_icon_set (new_set);
}
void
@@ -283,14 +376,10 @@ ThemeManager::on_dark_theme_button_toggled()
{
if (!dark_button.get_active()) return;
- if (HACK_PROFILE_IS_SAE()){
- ARDOUR_UI::config()->ui_rc_file.set("ardour3_ui_dark_sae.rc");
- } else {
- ARDOUR_UI::config()->ui_rc_file.set("ardour3_ui_dark.rc");
- }
+ ARDOUR_UI::config()->set_ui_rc_file("ui_dark.rc");
ARDOUR_UI::config()->set_dirty ();
- load_rc_file (ARDOUR_UI::config()->ui_rc_file.get(), true);
+ load_rc_file (ARDOUR_UI::config()->get_ui_rc_file(), true);
}
void
@@ -298,13 +387,8 @@ ThemeManager::on_light_theme_button_toggled()
{
if (!light_button.get_active()) return;
- if (HACK_PROFILE_IS_SAE()){
- ARDOUR_UI::config()->ui_rc_file.set("ardour3_ui_light_sae.rc");
- } else {
- ARDOUR_UI::config()->ui_rc_file.set("ardour3_ui_light.rc");
- }
-
- load_rc_file (ARDOUR_UI::config()->ui_rc_file.get(), true);
+ ARDOUR_UI::config()->set_ui_rc_file("ui_light.rc");
+ load_rc_file (ARDOUR_UI::config()->get_ui_rc_file(), true);
}
void
@@ -314,10 +398,10 @@ ThemeManager::setup_theme ()
color_list->clear();
- for (std::map<std::string,UIConfigVariable<uint32_t> *>::iterator i = ARDOUR_UI::config()->canvas_colors.begin(); i != ARDOUR_UI::config()->canvas_colors.end(); i++) {
+ for (std::map<std::string,ColorVariable<uint32_t> *>::iterator i = ARDOUR_UI::config()->canvas_colors.begin(); i != ARDOUR_UI::config()->canvas_colors.end(); i++) {
- UIConfigVariable<uint32_t>* var = i->second;
+ ColorVariable<uint32_t>* var = i->second;
TreeModel::Children rows = color_list->children();
TreeModel::Row row;
@@ -377,18 +461,20 @@ ThemeManager::setup_theme ()
string rcfile = Glib::getenv("ARDOUR3_UI_RC", env_defined);
if(!env_defined) {
- rcfile = ARDOUR_UI::config()->ui_rc_file.get();
+ rcfile = ARDOUR_UI::config()->get_ui_rc_file();
}
- if (rcfile == "ardour3_ui_dark.rc" || rcfile == "ardour3_ui_dark_sae.rc") {
+ if (rcfile == "ui_dark.rc") {
dark_button.set_active();
- } else if (rcfile == "ardour3_ui_light.rc" || rcfile == "ardour3_ui_light_sae.rc") {
+ } else if (rcfile == "ui_light.rc") {
light_button.set_active();
}
- flat_buttons.set_active (ARDOUR_UI::config()->flat_buttons.get());
- all_dialogs.set_active (ARDOUR_UI::config()->all_floating_windows_are_dialogs.get());
- gradient_waveforms.set_active (ARDOUR_UI::config()->gradient_waveforms.get());
+ flat_buttons.set_active (ARDOUR_UI::config()->get_flat_buttons());
+ blink_rec_button.set_active (ARDOUR_UI::config()->get_blink_rec_arm());
+ waveform_gradient_depth.set_value (ARDOUR_UI::config()->get_waveform_gradient_depth());
+ timeline_item_gradient_depth.set_value (ARDOUR_UI::config()->get_timeline_item_gradient_depth());
+ all_dialogs.set_active (ARDOUR_UI::config()->get_all_floating_windows_are_dialogs());
load_rc_file(rcfile, false);
}
diff --git a/gtk2_ardour/theme_manager.h b/gtk2_ardour/theme_manager.h
index 04aa3ed770..dee5b705c0 100644
--- a/gtk2_ardour/theme_manager.h
+++ b/gtk2_ardour/theme_manager.h
@@ -26,6 +26,7 @@
#include <gtkmm/colorselection.h>
#include <gtkmm/radiobutton.h>
#include <gtkmm/button.h>
+#include <gtkmm/scale.h>
#include <gtkmm/rc.h>
#include "ardour_window.h"
#include "ui_config.h"
@@ -43,8 +44,13 @@ class ThemeManager : public ArdourWindow
void on_dark_theme_button_toggled ();
void on_light_theme_button_toggled ();
void on_flat_buttons_toggled ();
+ void on_blink_rec_arm_toggled ();
+ void on_region_color_toggled ();
+ void on_show_clip_toggled ();
+ void on_waveform_gradient_depth_change ();
+ void on_timeline_item_gradient_depth_change ();
void on_all_dialogs_toggled ();
- void on_gradient_waveforms_toggled ();
+ void on_icon_set_changed ();
private:
struct ColorDisplayModelColumns : public Gtk::TreeModel::ColumnRecord {
@@ -57,7 +63,7 @@ class ThemeManager : public ArdourWindow
Gtk::TreeModelColumn<std::string> name;
Gtk::TreeModelColumn<Gdk::Color> gdkcolor;
- Gtk::TreeModelColumn<UIConfigVariable<uint32_t> *> pVar;
+ Gtk::TreeModelColumn<ColorVariable<uint32_t> *> pVar;
Gtk::TreeModelColumn<uint32_t> rgba;
};
@@ -71,8 +77,17 @@ class ThemeManager : public ArdourWindow
Gtk::RadioButton light_button;
Gtk::Button reset_button;
Gtk::CheckButton flat_buttons;
+ Gtk::CheckButton blink_rec_button;
+ Gtk::CheckButton region_color_button;
+ Gtk::CheckButton show_clipping_button;
+ Gtk::HScale waveform_gradient_depth;
+ Gtk::Label waveform_gradient_depth_label;
+ Gtk::HScale timeline_item_gradient_depth;
+ Gtk::Label timeline_item_gradient_depth_label;
Gtk::CheckButton all_dialogs;
Gtk::CheckButton gradient_waveforms;
+ Gtk::Label icon_set_label;
+ Gtk::ComboBoxText icon_set_dropdown;
bool button_press_event (GdkEventButton*);
};
diff --git a/gtk2_ardour/time_axis_view.cc b/gtk2_ardour/time_axis_view.cc
index 2cc2adf761..9b3a9178d4 100644
--- a/gtk2_ardour/time_axis_view.cc
+++ b/gtk2_ardour/time_axis_view.cc
@@ -23,17 +23,21 @@
#include <string>
#include <list>
-#include <libgnomecanvasmm.h>
-#include <libgnomecanvasmm/canvas.h>
-#include <libgnomecanvasmm/item.h>
#include "pbd/error.h"
#include "pbd/convert.h"
+#include "pbd/stacktrace.h"
#include <gtkmm2ext/doi.h>
#include <gtkmm2ext/utils.h>
#include <gtkmm2ext/selector.h>
+#include "canvas/canvas.h"
+#include "canvas/rectangle.h"
+#include "canvas/debug.h"
+
+#include "ardour/profile.h"
+
#include "ardour_ui.h"
#include "ardour_dialog.h"
#include "global_signals.h"
@@ -42,8 +46,6 @@
#include "time_axis_view.h"
#include "region_view.h"
#include "ghostregion.h"
-#include "simplerect.h"
-#include "simpleline.h"
#include "selection.h"
#include "keyboard.h"
#include "rgb_macros.h"
@@ -58,25 +60,33 @@ using namespace std;
using namespace Gtk;
using namespace Gdk;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Editing;
using namespace ArdourCanvas;
using Gtkmm2ext::Keyboard;
+#define TOP_LEVEL_WIDGET controls_ebox
+
const double trim_handle_size = 6.0; /* pixels */
uint32_t TimeAxisView::button_height = 0;
uint32_t TimeAxisView::extra_height = 0;
int const TimeAxisView::_max_order = 512;
+unsigned int TimeAxisView::name_width_px = 100; // TODO adjust with font-scaling on style-change
PBD::Signal1<void,TimeAxisView*> TimeAxisView::CatchDeletion;
+Glib::RefPtr<Gtk::SizeGroup> TimeAxisView::controls_meters_size_group = Glib::RefPtr<Gtk::SizeGroup>();
+Glib::RefPtr<Gtk::SizeGroup> TimeAxisView::midi_scroomer_size_group = Glib::RefPtr<Gtk::SizeGroup>();
TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisView* rent, Canvas& /*canvas*/)
: AxisView (sess)
- , controls_table (2, 8)
+ , controls_table (3, 3)
+ , controls_button_size_group (Gtk::SizeGroup::create (Gtk::SIZE_GROUP_BOTH))
, _name_editing (false)
, height (0)
, display_menu (0)
, parent (rent)
, selection_group (0)
+ , _ghost_group (0)
, _hidden (false)
, in_destructor (false)
, _size_menu (0)
@@ -90,62 +100,78 @@ TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisVie
, _resize_drag_start (-1)
, _preresize_cursor (0)
, _have_preresize_cursor (false)
- , _ghost_group (0)
, _ebox_release_can_act (true)
{
+ if (!controls_meters_size_group) {
+ controls_meters_size_group = SizeGroup::create (SIZE_GROUP_HORIZONTAL);
+ }
+ if (!midi_scroomer_size_group) {
+ midi_scroomer_size_group = SizeGroup::create (SIZE_GROUP_HORIZONTAL);
+ }
if (extra_height == 0) {
compute_heights ();
}
- _canvas_background = new Group (*ed.get_background_group (), 0.0, 0.0);
- _canvas_display = new Group (*ed.get_trackview_group (), 0.0, 0.0);
+ _canvas_display = new ArdourCanvas::Container (ed.get_trackview_group (), ArdourCanvas::Duple (1.0, 0.0));
+ CANVAS_DEBUG_NAME (_canvas_display, "main for TAV");
_canvas_display->hide(); // reveal as needed
- selection_group = new Group (*_canvas_display);
+ _canvas_separator = new ArdourCanvas::Line(ed.get_trackview_group ());
+ CANVAS_DEBUG_NAME (_canvas_separator, "separator for TAV");
+ _canvas_separator->set_outline_color(RGBA_TO_UINT (0, 0, 0, 255));
+ _canvas_separator->set_outline_width(1.0);
+ _canvas_separator->hide();
+
+ selection_group = new ArdourCanvas::Container (_canvas_display);
+ CANVAS_DEBUG_NAME (selection_group, "selection for TAV");
selection_group->set_data (X_("timeselection"), (void *) 1);
selection_group->hide();
-
- _ghost_group = new Group (*_canvas_display);
+
+ _ghost_group = new ArdourCanvas::Container (_canvas_display);
+ CANVAS_DEBUG_NAME (_ghost_group, "ghost for TAV");
_ghost_group->lower_to_bottom();
_ghost_group->show();
name_label.set_name ("TrackLabel");
name_label.set_alignment (0.0, 0.5);
+ name_label.set_width_chars (12);
ARDOUR_UI::instance()->set_tip (name_label, _("Track/Bus name (double click to edit)"));
- Gtk::Entry* an_entry = new Gtk::Entry;
+ Gtk::Entry* an_entry = new Gtkmm2ext::FocusEntry;
+ an_entry->set_name ("EditorTrackNameDisplay");
Gtk::Requisition req;
an_entry->size_request (req);
name_label.set_size_request (-1, req.height);
+ name_label.set_ellipsize (Pango::ELLIPSIZE_MIDDLE);
delete an_entry;
- name_hbox.pack_start (name_label, true, true);
+ name_hbox.pack_end (name_label, true, true);
+
+ // set min. track-header width if fader is not visible
+ name_hbox.set_size_request(name_width_px, -1);
+
name_hbox.show ();
name_label.show ();
-
- controls_table.set_size_request (200);
+
controls_table.set_row_spacings (2);
controls_table.set_col_spacings (2);
controls_table.set_border_width (2);
- controls_table.set_homogeneous (true);
- controls_table.attach (name_hbox, 0, 5, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND, 3, 0);
+ if (ARDOUR::Profile->get_mixbus() ) {
+ controls_table.attach (name_hbox, 4, 5, 0, 2, Gtk::FILL|Gtk::EXPAND, Gtk::SHRINK, 0, 0);
+ } else {
+ controls_table.attach (name_hbox, 1, 2, 0, 2, Gtk::FILL|Gtk::EXPAND, Gtk::SHRINK, 0, 0);
+ }
controls_table.show_all ();
controls_table.set_no_show_all ();
- HSeparator* separator = manage (new HSeparator());
- separator->set_name("TrackSeparator");
- separator->set_size_request(-1, 1);
- separator->show();
-
controls_vbox.pack_start (controls_table, false, false);
controls_vbox.show ();
- controls_hbox.pack_start (controls_vbox, true, true);
- controls_hbox.show ();
+ top_hbox.pack_start (controls_vbox, true, true);
+ top_hbox.show ();
- //controls_ebox.set_name ("TimeAxisViewControlsBaseUnselected");
- controls_ebox.add (controls_hbox);
+ controls_ebox.add (time_axis_hbox);
controls_ebox.add_events (Gdk::BUTTON_PRESS_MASK|
Gdk::BUTTON_RELEASE_MASK|
Gdk::POINTER_MOTION_MASK|
@@ -162,9 +188,25 @@ TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisVie
controls_ebox.signal_leave_notify_event().connect (sigc::mem_fun (*this, &TimeAxisView::controls_ebox_leave));
controls_ebox.show ();
- time_axis_vbox.pack_start (controls_ebox, true, true, 0);
- time_axis_vbox.pack_end (*separator, false, false);
+ time_axis_frame.set_shadow_type (Gtk::SHADOW_NONE);
+ time_axis_frame.add(top_hbox);
+ time_axis_frame.show();
+
+ HSeparator* separator = manage (new HSeparator());
+ separator->set_name("TrackSeparator");
+ separator->set_size_request(-1, 1);
+ separator->show();
+
+ scroomer_placeholder.set_size_request (-1, -1);
+ scroomer_placeholder.show();
+ midi_scroomer_size_group->add_widget (scroomer_placeholder);
+
+ time_axis_vbox.pack_start (*separator, false, false);
+ time_axis_vbox.pack_start (time_axis_frame, true, true);
time_axis_vbox.show();
+ time_axis_hbox.pack_start (time_axis_vbox, true, true);
+ time_axis_hbox.show();
+ top_hbox.pack_start (scroomer_placeholder, false, false); // OR pack_end to move after meters ?
ColorsChanged.connect (sigc::mem_fun (*this, &TimeAxisView::color_handler));
@@ -195,12 +237,12 @@ TimeAxisView::~TimeAxisView()
delete selection_group;
selection_group = 0;
- delete _canvas_background;
- _canvas_background = 0;
-
delete _canvas_display;
_canvas_display = 0;
+ delete _canvas_separator;
+ _canvas_separator = 0;
+
delete display_menu;
display_menu = 0;
@@ -215,10 +257,10 @@ TimeAxisView::hide ()
}
_canvas_display->hide ();
- _canvas_background->hide ();
+ _canvas_separator->hide ();
if (control_parent) {
- control_parent->remove (time_axis_vbox);
+ control_parent->remove (TOP_LEVEL_WIDGET);
control_parent = 0;
}
@@ -250,31 +292,27 @@ guint32
TimeAxisView::show_at (double y, int& nth, VBox *parent)
{
if (control_parent) {
- control_parent->reorder_child (time_axis_vbox, nth);
+ control_parent->reorder_child (TOP_LEVEL_WIDGET, nth);
} else {
control_parent = parent;
- parent->pack_start (time_axis_vbox, false, false);
- parent->reorder_child (time_axis_vbox, nth);
+ parent->pack_start (TOP_LEVEL_WIDGET, false, false);
+ parent->reorder_child (TOP_LEVEL_WIDGET, nth);
}
_order = nth;
if (_y_position != y) {
- _canvas_display->property_y () = y;
- _canvas_background->property_y () = y;
- /* silly canvas */
- _canvas_display->move (0.0, 0.0);
- _canvas_background->move (0.0, 0.0);
+ _canvas_separator->set (ArdourCanvas::Duple(0, y), ArdourCanvas::Duple(ArdourCanvas::COORD_MAX, y));
+ _canvas_display->set_y_position (y + 1);
_y_position = y;
-
}
- _canvas_background->raise_to_top ();
_canvas_display->raise_to_top ();
-
- _canvas_background->show ();
_canvas_display->show ();
+ _canvas_separator->raise_to_top ();
+ _canvas_separator->show ();
+
_hidden = false;
_effective_height = current_height ();
@@ -293,21 +331,6 @@ TimeAxisView::show_at (double y, int& nth, VBox *parent)
return _effective_height;
}
-void
-TimeAxisView::clip_to_viewport ()
-{
- if (marked_for_display()) {
- if (_y_position + _effective_height < _editor.get_trackview_group_vertical_offset () || _y_position > _editor.get_trackview_group_vertical_offset () + _canvas_display->get_canvas()->get_height()) {
- _canvas_background->hide ();
- _canvas_display->hide ();
- return;
- }
- _canvas_background->show ();
- _canvas_display->show ();
- }
- return;
-}
-
bool
TimeAxisView::controls_ebox_scroll (GdkEventScroll* ev)
{
@@ -321,10 +344,7 @@ TimeAxisView::controls_ebox_scroll (GdkEventScroll* ev)
}
e.stepping_axis_view()->step_height (false);
return true;
- } else if (Keyboard::no_modifiers_active (ev->state)) {
- _editor.scroll_tracks_up_line();
- return true;
- }
+ }
break;
case GDK_SCROLL_DOWN:
@@ -336,10 +356,7 @@ TimeAxisView::controls_ebox_scroll (GdkEventScroll* ev)
}
e.stepping_axis_view()->step_height (true);
return true;
- } else if (Keyboard::no_modifiers_active (ev->state)) {
- _editor.scroll_tracks_down_line();
- return true;
- }
+ }
break;
default:
@@ -347,7 +364,14 @@ TimeAxisView::controls_ebox_scroll (GdkEventScroll* ev)
break;
}
- return false;
+ /* Just forward to the normal canvas scroll method. The coordinate
+ systems are different but since the canvas is always larger than the
+ track headers, and aligned with the trackview area, this will work.
+
+ In the not too distant future this layout is going away anyway and
+ headers will be on the canvas.
+ */
+ return _editor.canvas_scroll_event (ev, false);
}
bool
@@ -389,19 +413,16 @@ bool
TimeAxisView::controls_ebox_motion (GdkEventMotion* ev)
{
if (_resize_drag_start >= 0) {
- /* (ab)use the DragManager to do autoscrolling; adjust the event coordinates
- into the world coordinate space that DragManager::motion_handler is expecting,
- and then fake a DragManager motion event so that when maybe_autoscroll
- asks DragManager for the current pointer position it will get the correct
- answers.
+
+ /* (ab)use the DragManager to do autoscrolling - basically we
+ * are pretending that the drag is taking place over the canvas
+ * (which perhaps in the glorious future, when track headers
+ * and the canvas are unified, will actually be true.)
*/
- int tx, ty;
- controls_ebox.translate_coordinates (*control_parent, ev->x, ev->y, tx, ty);
- ev->y = ty - _editor.get_trackview_group_vertical_offset();
- _editor.drags()->motion_handler ((GdkEvent *) ev, false);
- _editor.maybe_autoscroll (false, true, false, ev->y_root < _resize_drag_start);
- /* now do the actual TAV resize */
+ _editor.maybe_autoscroll (false, true, true);
+
+ /* now schedule the actual TAV resize */
int32_t const delta = (int32_t) floor (ev->y_root - _resize_drag_start);
_editor.add_to_idle_resize (this, delta);
_resize_drag_start = ev->y_root;
@@ -536,7 +557,7 @@ TimeAxisView::set_height (uint32_t h)
h = preset_height (HeightSmall);
}
- time_axis_vbox.property_height_request () = h;
+ TOP_LEVEL_WIDGET.property_height_request () = h;
height = h;
char buf[32];
@@ -547,10 +568,12 @@ TimeAxisView::set_height (uint32_t h)
(*i)->set_height ();
}
- if (canvas_item_visible (selection_group)) {
+ if (selection_group->visible ()) {
/* resize the selection rect */
show_selection (_editor.get_selection().time);
}
+
+ _editor.override_visible_track_count ();
}
bool
@@ -613,6 +636,8 @@ TimeAxisView::begin_name_edit ()
name_entry = manage (new Gtkmm2ext::FocusEntry);
+ name_entry->set_width_chars(8); // min width, entry expands
+
name_entry->set_name ("EditorTrackNameDisplay");
name_entry->signal_key_press_event().connect (sigc::mem_fun (*this, &TimeAxisView::name_entry_key_press), false);
name_entry->signal_key_release_event().connect (sigc::mem_fun (*this, &TimeAxisView::name_entry_key_release), false);
@@ -624,7 +649,7 @@ TimeAxisView::begin_name_edit ()
name_hbox.remove (name_label);
}
- name_hbox.pack_start (*name_entry);
+ name_hbox.pack_end (*name_entry, true, true);
name_entry->show ();
name_entry->select_region (0, -1);
@@ -669,7 +694,7 @@ TimeAxisView::end_name_edit (int response)
/* put the name label back */
- name_hbox.pack_start (name_label);
+ name_hbox.pack_end (name_label);
name_label.show ();
if (edit_next) {
@@ -698,7 +723,7 @@ TimeAxisView::end_name_edit (int response)
}
if ((i != allviews.end()) && (*i != this) && !(*i)->hidden()) {
- _editor.ensure_time_axis_view_is_visible (**i);
+ _editor.ensure_time_axis_view_is_visible (**i, false);
(*i)->begin_name_edit ();
}
@@ -729,7 +754,7 @@ TimeAxisView::end_name_edit (int response)
}
if ((i != allviews.end()) && (*i != this) && !(*i)->hidden()) {
- _editor.ensure_time_axis_view_is_visible (**i);
+ _editor.ensure_time_axis_view_is_visible (**i, false);
(*i)->begin_name_edit ();
}
}
@@ -768,6 +793,10 @@ TimeAxisView::popup_display_menu (guint32 when)
void
TimeAxisView::set_selected (bool yn)
{
+ if (can_edit_name() && name_entry && name_entry->get_visible()) {
+ end_name_edit (RESPONSE_CANCEL);
+ }
+
if (yn == _selected) {
return;
}
@@ -775,13 +804,18 @@ TimeAxisView::set_selected (bool yn)
Selectable::set_selected (yn);
if (_selected) {
+ time_axis_frame.set_shadow_type (Gtk::SHADOW_IN);
+ time_axis_frame.set_name ("MixerStripSelectedFrame");
controls_ebox.set_name (controls_base_selected_name);
- time_axis_vbox.set_name (controls_base_selected_name);
controls_vbox.set_name (controls_base_selected_name);
+ time_axis_vbox.set_name (controls_base_selected_name);
} else {
+ time_axis_frame.set_shadow_type (Gtk::SHADOW_NONE);
+ time_axis_frame.set_name (controls_base_unselected_name);
controls_ebox.set_name (controls_base_unselected_name);
- time_axis_vbox.set_name (controls_base_unselected_name);
controls_vbox.set_name (controls_base_unselected_name);
+ time_axis_vbox.set_name (controls_base_unselected_name);
+
hide_selection ();
/* children will be set for the yn=true case. but when deselecting
@@ -793,6 +827,9 @@ TimeAxisView::set_selected (bool yn)
(*i)->set_selected (false);
}
}
+
+ time_axis_frame.show();
+
}
void
@@ -809,14 +846,11 @@ TimeAxisView::build_display_menu ()
}
void
-TimeAxisView::set_samples_per_unit (double spu)
+TimeAxisView::set_samples_per_pixel (double fpp)
{
for (Children::iterator i = children.begin(); i != children.end(); ++i) {
- (*i)->set_samples_per_unit (spu);
+ (*i)->set_samples_per_pixel (fpp);
}
-
- AnalysisFeatureList::const_iterator i;
- list<ArdourCanvas::SimpleLine*>::iterator l;
}
void
@@ -841,13 +875,14 @@ TimeAxisView::show_selection (TimeSelection& ts)
double x1;
double x2;
double y2;
- SelectionRect *rect;
+ SelectionRect *rect; time_axis_frame.show();
+
for (Children::iterator i = children.begin(); i != children.end(); ++i) {
(*i)->show_selection (ts);
}
- if (canvas_item_visible (selection_group)) {
+ if (selection_group->visible ()) {
while (!used_selection_rects.empty()) {
free_selection_rects.push_front (used_selection_rects.front());
used_selection_rects.pop_front();
@@ -871,27 +906,17 @@ TimeAxisView::show_selection (TimeSelection& ts)
rect = get_selection_rect ((*i).id);
- x1 = _editor.frame_to_unit (start);
- x2 = _editor.frame_to_unit (start + cnt - 1);
- y2 = current_height();
+ x1 = _editor.sample_to_pixel (start);
+ x2 = _editor.sample_to_pixel (start + cnt - 1);
+ y2 = current_height() - 1;
- rect->rect->property_x1() = x1;
- rect->rect->property_y1() = 1.0;
- rect->rect->property_x2() = x2;
- rect->rect->property_y2() = y2;
+ rect->rect->set (ArdourCanvas::Rect (x1, 0, x2, y2));
// trim boxes are at the top for selections
if (x2 > x1) {
- rect->start_trim->property_x1() = x1;
- rect->start_trim->property_y1() = 1.0;
- rect->start_trim->property_x2() = x1 + trim_handle_size;
- rect->start_trim->property_y2() = y2;
-
- rect->end_trim->property_x1() = x2 - trim_handle_size;
- rect->end_trim->property_y1() = 1.0;
- rect->end_trim->property_x2() = x2;
- rect->end_trim->property_y2() = y2;
+ rect->start_trim->set (ArdourCanvas::Rect (x1, 0, x1 + trim_handle_size, y2));
+ rect->end_trim->set (ArdourCanvas::Rect (x2 - trim_handle_size, 1, x2, y2));
rect->start_trim->show();
rect->end_trim->show();
@@ -918,7 +943,7 @@ TimeAxisView::reshow_selection (TimeSelection& ts)
void
TimeAxisView::hide_selection ()
{
- if (canvas_item_visible (selection_group)) {
+ if (selection_group->visible ()) {
while (!used_selection_rects.empty()) {
free_selection_rects.push_front (used_selection_rects.front());
used_selection_rects.pop_front();
@@ -986,29 +1011,26 @@ TimeAxisView::get_selection_rect (uint32_t id)
rect = new SelectionRect;
- rect->rect = new SimpleRect (*selection_group);
- rect->rect->property_outline_what() = 0x0;
- rect->rect->property_x1() = 0.0;
- rect->rect->property_y1() = 0.0;
- rect->rect->property_x2() = 0.0;
- rect->rect->property_y2() = 0.0;
- rect->rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_SelectionRect.get();
+ rect->rect = new ArdourCanvas::Rectangle (selection_group);
+ CANVAS_DEBUG_NAME (rect->rect, "selection rect");
+ rect->rect->set_outline (false);
+ rect->rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_SelectionRect());
- rect->start_trim = new SimpleRect (*selection_group);
- rect->start_trim->property_outline_what() = 0x0;
- rect->start_trim->property_x1() = 0.0;
- rect->start_trim->property_x2() = 0.0;
+ rect->start_trim = new ArdourCanvas::Rectangle (selection_group);
+ CANVAS_DEBUG_NAME (rect->start_trim, "selection rect start trim");
+ rect->start_trim->set_outline (false);
+ rect->start_trim->set_fill (false);
- rect->end_trim = new SimpleRect (*selection_group);
- rect->end_trim->property_outline_what() = 0x0;
- rect->end_trim->property_x1() = 0.0;
- rect->end_trim->property_x2() = 0.0;
+ rect->end_trim = new ArdourCanvas::Rectangle (selection_group);
+ CANVAS_DEBUG_NAME (rect->end_trim, "selection rect end trim");
+ rect->end_trim->set_outline (false);
+ rect->end_trim->set_fill (false);
free_selection_rects.push_front (rect);
- rect->rect->signal_event().connect (sigc::bind (sigc::mem_fun (_editor, &PublicEditor::canvas_selection_rect_event), rect->rect, rect));
- rect->start_trim->signal_event().connect (sigc::bind (sigc::mem_fun (_editor, &PublicEditor::canvas_selection_start_trim_event), rect->rect, rect));
- rect->end_trim->signal_event().connect (sigc::bind (sigc::mem_fun (_editor, &PublicEditor::canvas_selection_end_trim_event), rect->rect, rect));
+ rect->rect->Event.connect (sigc::bind (sigc::mem_fun (_editor, &PublicEditor::canvas_selection_rect_event), rect->rect, rect));
+ rect->start_trim->Event.connect (sigc::bind (sigc::mem_fun (_editor, &PublicEditor::canvas_selection_start_trim_event), rect->rect, rect));
+ rect->end_trim->Event.connect (sigc::bind (sigc::mem_fun (_editor, &PublicEditor::canvas_selection_end_trim_event), rect->rect, rect));
}
rect = free_selection_rects.front();
@@ -1124,38 +1146,27 @@ TimeAxisView::reset_height ()
void
TimeAxisView::compute_heights ()
{
+ // TODO this function should be re-evaluated when font-scaling changes (!)
Gtk::Window window (Gtk::WINDOW_TOPLEVEL);
- Gtk::Table two_row_table (2, 8);
- Gtk::Table one_row_table (1, 8);
- Button* buttons[5];
+ Gtk::Table one_row_table (1, 1);
+ ArdourButton* test_button = manage (new ArdourButton);
const int border_width = 2;
-
- const int separator_height = 2;
- extra_height = (2 * border_width) + separator_height;
+ const int frame_height = 2;
+ extra_height = (2 * border_width) + frame_height;
window.add (one_row_table);
+ test_button->set_name ("mute button");
+ test_button->set_text (_("M"));
+ test_button->set_tweaks (ArdourButton::TrackHeader);
one_row_table.set_border_width (border_width);
- one_row_table.set_row_spacings (0);
- one_row_table.set_col_spacings (0);
- one_row_table.set_homogeneous (true);
-
- two_row_table.set_border_width (border_width);
- two_row_table.set_row_spacings (0);
- two_row_table.set_col_spacings (0);
- two_row_table.set_homogeneous (true);
-
- for (int i = 0; i < 5; ++i) {
- buttons[i] = manage (new Button (X_("f")));
- buttons[i]->set_name ("TrackMuteButton");
- }
-
- one_row_table.attach (*buttons[0], 6, 7, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND, 0, 0);
+ one_row_table.set_row_spacings (2);
+ one_row_table.set_col_spacings (2);
+ one_row_table.attach (*test_button, 0, 1, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
one_row_table.show_all ();
- Gtk::Requisition req(one_row_table.size_request ());
- // height required to show 1 row of buttons
+ Gtk::Requisition req(one_row_table.size_request ());
button_height = req.height;
}
@@ -1168,38 +1179,41 @@ TimeAxisView::color_handler ()
for (list<SelectionRect*>::iterator i = used_selection_rects.begin(); i != used_selection_rects.end(); ++i) {
- (*i)->rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_SelectionRect.get();
- (*i)->rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get();
-
- (*i)->start_trim->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get();
- (*i)->start_trim->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get();
+ (*i)->rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_SelectionRect());
+ (*i)->rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_Selection());
- (*i)->end_trim->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get();
- (*i)->end_trim->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get();
+ (*i)->start_trim->set_fill_color (ARDOUR_UI::config()->get_canvasvar_Selection());
+ (*i)->start_trim->set_outline_color (ARDOUR_UI::config()->get_canvasvar_Selection());
+
+ (*i)->end_trim->set_fill_color (ARDOUR_UI::config()->get_canvasvar_Selection());
+ (*i)->end_trim->set_outline_color (ARDOUR_UI::config()->get_canvasvar_Selection());
}
-
+
for (list<SelectionRect*>::iterator i = free_selection_rects.begin(); i != free_selection_rects.end(); ++i) {
-
- (*i)->rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_SelectionRect.get();
- (*i)->rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get();
-
- (*i)->start_trim->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get();
- (*i)->start_trim->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get();
-
- (*i)->end_trim->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get();
- (*i)->end_trim->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get();
+
+ (*i)->rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_SelectionRect());
+ (*i)->rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_Selection());
+
+ (*i)->start_trim->set_fill_color (ARDOUR_UI::config()->get_canvasvar_Selection());
+ (*i)->start_trim->set_outline_color (ARDOUR_UI::config()->get_canvasvar_Selection());
+
+ (*i)->end_trim->set_fill_color (ARDOUR_UI::config()->get_canvasvar_Selection());
+ (*i)->end_trim->set_outline_color (ARDOUR_UI::config()->get_canvasvar_Selection());
}
}
/** @return Pair: TimeAxisView, layer index.
- * TimeAxisView is non-0 if this object covers y, or one of its children does.
+ * TimeAxisView is non-0 if this object covers @param y, or one of its children
+ * does. @param y is an offset from the top of the trackview area.
+ *
* If the covering object is a child axis, then the child is returned.
* TimeAxisView is 0 otherwise.
+ *
* Layer index is the layer number (possibly fractional) if the TimeAxisView is valid
* and is in stacked or expanded * region display mode, otherwise 0.
*/
std::pair<TimeAxisView*, double>
-TimeAxisView::covers_y_position (double y)
+TimeAxisView::covers_y_position (double y) const
{
if (hidden()) {
return std::make_pair ((TimeAxisView *) 0, 0);
@@ -1234,7 +1248,7 @@ TimeAxisView::covers_y_position (double y)
break;
}
- return std::make_pair (this, l);
+ return std::make_pair (const_cast<TimeAxisView*>(this), l);
}
for (Children::const_iterator i = children.begin(); i != children.end(); ++i) {
@@ -1248,6 +1262,30 @@ TimeAxisView::covers_y_position (double y)
return std::make_pair ((TimeAxisView *) 0, 0);
}
+bool
+TimeAxisView::covered_by_y_range (double y0, double y1) const
+{
+ if (hidden()) {
+ return false;
+ }
+
+ /* if either the top or bottom of the axisview is in the vertical
+ * range, we cover it.
+ */
+
+ if ((y0 < _y_position && y1 < _y_position) ||
+ (y0 >= _y_position + height && y1 >= _y_position + height)) {
+ return false;
+ }
+
+ for (Children::const_iterator i = children.begin(); i != children.end(); ++i) {
+ if ((*i)->covered_by_y_range (y0, y1)) {
+ return true;
+ }
+ }
+
+ return true;
+}
uint32_t
TimeAxisView::preset_height (Height h)
diff --git a/gtk2_ardour/time_axis_view.h b/gtk2_ardour/time_axis_view.h
index 17dfec986b..682514acfa 100644
--- a/gtk2_ardour/time_axis_view.h
+++ b/gtk2_ardour/time_axis_view.h
@@ -24,12 +24,14 @@
#include <list>
#include <gtkmm/box.h>
+#include <gtkmm/fixed.h>
#include <gtkmm/frame.h>
#include <gtkmm/drawingarea.h>
#include <gtkmm/eventbox.h>
#include <gtkmm/table.h>
#include <gtkmm/entry.h>
#include <gtkmm/label.h>
+#include <gtkmm/sizegroup.h>
#include <gtkmm2ext/focus_entry.h>
@@ -40,11 +42,12 @@
#include "ardour/region.h"
#include "evoral/Parameter.hpp"
+#include "canvas/line.h"
+
#include "prompter.h"
#include "axis_view.h"
#include "enums.h"
#include "editing.h"
-#include "canvas.h"
namespace ARDOUR {
class Session;
@@ -58,6 +61,12 @@ namespace Gtk {
class Menu;
}
+namespace ArdourCanvas {
+ class Canvas;
+ class Container;
+ class Item;
+}
+
class PublicEditor;
class RegionSelection;
class TimeSelection;
@@ -77,14 +86,13 @@ class ArdourDialog;
*/
class TimeAxisView : public virtual AxisView
{
- private:
+ private:
enum NamePackingBits {
NameLabelPacked = 0x1,
NameEntryPacked = 0x2
};
- public:
-
+ public:
TimeAxisView(ARDOUR::Session* sess, PublicEditor& ed, TimeAxisView* parent, ArdourCanvas::Canvas& canvas);
virtual ~TimeAxisView ();
@@ -96,15 +104,14 @@ class TimeAxisView : public virtual AxisView
/** @return maximum allowable value of order */
static int max_order () { return _max_order; }
- virtual void enter_internal_edit_mode () {}
- virtual void leave_internal_edit_mode () {}
+ virtual void enter_internal_edit_mode () {}
+ virtual void leave_internal_edit_mode () {}
- ArdourCanvas::Group* canvas_display () { return _canvas_display; }
- ArdourCanvas::Group* canvas_background () { return _canvas_background; }
- ArdourCanvas::Group* ghost_group () { return _ghost_group; }
+ ArdourCanvas::Container* canvas_display () { return _canvas_display; }
+ ArdourCanvas::Container* ghost_group () { return _ghost_group; }
/** @return effective height (taking children into account) in canvas units, or
- 0 if this TimeAxisView has not yet been shown */
+ 0 if this TimeAxisView has not yet been shown */
uint32_t effective_height () const { return _effective_height; }
/** @return y position, or -1 if hidden */
@@ -120,8 +127,6 @@ class TimeAxisView : public virtual AxisView
virtual guint32 show_at (double y, int& nth, Gtk::VBox *parent);
virtual void hide ();
- void clip_to_viewport ();
-
bool touched (double top, double bot);
/** @return true if hidden, otherwise false */
@@ -142,14 +147,15 @@ class TimeAxisView : public virtual AxisView
virtual void reset_visual_state ();
- std::pair<TimeAxisView*, double> covers_y_position (double);
+ std::pair<TimeAxisView*, double> covers_y_position (double) const;
+ bool covered_by_y_range (double y0, double y1) const;
virtual void step_height (bool);
virtual ARDOUR::RouteGroup* route_group() const { return 0; }
virtual boost::shared_ptr<ARDOUR::Playlist> playlist() const { return boost::shared_ptr<ARDOUR::Playlist> (); }
- virtual void set_samples_per_unit (double);
+ virtual void set_samples_per_pixel (double);
virtual void show_selection (TimeSelection&);
virtual void hide_selection ();
virtual void reshow_selection (TimeSelection&);
@@ -164,11 +170,13 @@ class TimeAxisView : public virtual AxisView
virtual void set_selected_regionviews (RegionSelection&) {}
virtual void set_selected_points (PointSelection&) {}
+ virtual void fade_range (TimeSelection&) {}
+
virtual boost::shared_ptr<ARDOUR::Region> find_next_region (framepos_t /*pos*/, ARDOUR::RegionPoint, int32_t /*dir*/) {
return boost::shared_ptr<ARDOUR::Region> ();
}
- void order_selection_trims (ArdourCanvas::Item *item, bool put_start_on_top);
+ void order_selection_trims (ArdourCanvas::Item *item, bool put_start_on_top);
virtual void get_selectables (ARDOUR::framepos_t, ARDOUR::framepos_t, double, double, std::list<Selectable*>&);
virtual void get_inverted_selectables (Selection&, std::list<Selectable *>& results);
@@ -191,44 +199,53 @@ class TimeAxisView : public virtual AxisView
Children get_child_list ();
SelectionRect* get_selection_rect(uint32_t id);
-
+
static uint32_t preset_height (Height);
- protected:
+ protected:
+ static Glib::RefPtr<Gtk::SizeGroup> controls_meters_size_group;
+ static Glib::RefPtr<Gtk::SizeGroup> midi_scroomer_size_group;
+ static unsigned int name_width_px;
/* The Standard LHS Controls */
- Gtk::HBox controls_hbox;
Gtk::Table controls_table;
+ Glib::RefPtr<Gtk::SizeGroup> controls_button_size_group;
Gtk::EventBox controls_ebox;
Gtk::VBox controls_vbox;
Gtk::VBox time_axis_vbox;
+ Gtk::HBox time_axis_hbox;
+ Gtk::Frame time_axis_frame;
Gtk::HBox name_hbox;
+ Gtk::HBox top_hbox;
Gtk::Label name_label;
- bool _name_editing;
- uint32_t height; /* in canvas units */
+ Gtk::Fixed scroomer_placeholder;
+ bool _name_editing;
+ uint32_t height; /* in canvas units */
std::string controls_base_unselected_name;
std::string controls_base_selected_name;
Gtk::Menu* display_menu; /* The standard LHS Track control popup-menus */
TimeAxisView* parent;
- ArdourCanvas::Group* selection_group;
+ ArdourCanvas::Container* selection_group;
+ ArdourCanvas::Container* _ghost_group;
std::list<GhostRegion*> ghosts;
std::list<SelectionRect*> free_selection_rects;
std::list<SelectionRect*> used_selection_rects;
bool _hidden;
bool in_destructor;
Gtk::Menu* _size_menu;
- ArdourCanvas::Group* _canvas_display;
+ ArdourCanvas::Line* _canvas_separator;
+ ArdourCanvas::Container* _canvas_display;
double _y_position;
PublicEditor& _editor;
- virtual bool can_edit_name() const;
+ virtual bool can_edit_name() const;
bool name_entry_key_release (GdkEventKey *ev);
bool name_entry_key_press (GdkEventKey *ev);
bool name_entry_focus_out (GdkEventFocus *ev);
- Gtk::Entry* name_entry;
- void begin_name_edit ();
- void end_name_edit (int);
+ Gtk::Entry* name_entry;
+ void begin_name_edit ();
+ void end_name_edit (int);
/* derived classes can override these */
@@ -276,24 +293,21 @@ class TimeAxisView : public virtual AxisView
void build_size_menu ();
private:
- ArdourCanvas::Group* _canvas_background;
- Gtk::VBox* control_parent;
+ Gtk::VBox* control_parent;
int _order;
uint32_t _effective_height;
double _resize_drag_start;
GdkCursor* _preresize_cursor;
bool _have_preresize_cursor;
- ArdourCanvas::Group* _ghost_group;
- bool _ebox_release_can_act;
+ bool _ebox_release_can_act;
static uint32_t button_height;
static uint32_t extra_height;
static int const _max_order;
-
+
void compute_heights ();
bool maybe_set_cursor (int y);
}; /* class TimeAxisView */
#endif /* __ardour_gtk_time_axis_h__ */
-
diff --git a/gtk2_ardour/time_axis_view_item.cc b/gtk2_ardour/time_axis_view_item.cc
index 2b20b3c45e..74651f67f6 100644
--- a/gtk2_ardour/time_axis_view_item.cc
+++ b/gtk2_ardour/time_axis_view_item.cc
@@ -17,6 +17,8 @@
*/
+#include <utility>
+
#include "pbd/error.h"
#include "pbd/stacktrace.h"
@@ -26,6 +28,14 @@
#include "gtkmm2ext/utils.h"
#include "gtkmm2ext/gui_thread.h"
+#include "canvas/container.h"
+#include "canvas/rectangle.h"
+#include "canvas/debug.h"
+#include "canvas/text.h"
+#include "canvas/utils.h"
+
+#include "ardour/profile.h"
+
#include "ardour_ui.h"
/*
* ardour_ui.h was moved up in the include list
@@ -36,9 +46,7 @@
#include "public_editor.h"
#include "time_axis_view_item.h"
#include "time_axis_view.h"
-#include "simplerect.h"
#include "utils.h"
-#include "canvas_impl.h"
#include "rgb_macros.h"
#include "i18n.h"
@@ -48,12 +56,14 @@ using namespace Editing;
using namespace Glib;
using namespace PBD;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace Gtkmm2ext;
Pango::FontDescription TimeAxisViewItem::NAME_FONT;
const double TimeAxisViewItem::NAME_X_OFFSET = 15.0;
-const double TimeAxisViewItem::GRAB_HANDLE_TOP = 6;
-const double TimeAxisViewItem::GRAB_HANDLE_WIDTH = 5;
+const double TimeAxisViewItem::GRAB_HANDLE_TOP = 0.0;
+const double TimeAxisViewItem::GRAB_HANDLE_WIDTH = 10.0;
+const double TimeAxisViewItem::RIGHT_EDGE_SHIFT = 1.0;
int TimeAxisViewItem::NAME_HEIGHT;
double TimeAxisViewItem::NAME_Y_OFFSET;
@@ -63,7 +73,7 @@ double TimeAxisViewItem::NAME_HIGHLIGHT_THRESH;
void
TimeAxisViewItem::set_constant_heights ()
{
- NAME_FONT = get_font_for_style (X_("TimeAxisViewItemName"));
+ NAME_FONT = Pango::FontDescription (ARDOUR_UI::config()->get_canvasvar_SmallFont());
Gtk::Window win;
Gtk::Label foo;
@@ -74,11 +84,25 @@ TimeAxisViewItem::set_constant_heights ()
int height = 0;
layout->set_font_description (NAME_FONT);
- Gtkmm2ext::get_ink_pixel_size (layout, width, height);
+ get_pixel_size (layout, width, height);
+
+ layout = foo.create_pango_layout (X_("H")); /* just the ascender */
NAME_HEIGHT = height;
- NAME_Y_OFFSET = height + 3;
- NAME_HIGHLIGHT_SIZE = height + 2;
+
+ /* Config->get_show_name_highlight) == true:
+ Y_OFFSET is measured from bottom of the time axis view item.
+ Config->get_show_name_highlight) == false:
+ Y_OFFSET is measured from the top of the time axis view item.
+ */
+
+ if (Config->get_show_name_highlight()) {
+ NAME_Y_OFFSET = height + 1;
+ NAME_HIGHLIGHT_SIZE = height + 2;
+ } else {
+ NAME_Y_OFFSET = 3;
+ NAME_HIGHLIGHT_SIZE = 0;
+ }
NAME_HIGHLIGHT_THRESH = NAME_HIGHLIGHT_SIZE * 3;
}
@@ -96,18 +120,19 @@ TimeAxisViewItem::set_constant_heights ()
* @param automation true if this is an automation region view
*/
TimeAxisViewItem::TimeAxisViewItem(
- const string & it_name, ArdourCanvas::Group& parent, TimeAxisView& tv, double spu, Gdk::Color const & base_color,
+ const string & it_name, ArdourCanvas::Item& parent, TimeAxisView& tv, double spu, uint32_t base_color,
framepos_t start, framecnt_t duration, bool recording, bool automation, Visibility vis
)
: trackview (tv)
+ , frame_position (-1)
+ , item_name (it_name)
, _height (1.0)
, _recregion (recording)
, _automation (automation)
, _dragging (false)
+ , _width (0.0)
{
- group = new ArdourCanvas::Group (parent);
-
- init (it_name, spu, base_color, start, duration, vis, true, true);
+ init (&parent, spu, base_color, start, duration, vis, true, true);
}
TimeAxisViewItem::TimeAxisViewItem (const TimeAxisViewItem& other)
@@ -115,46 +140,45 @@ TimeAxisViewItem::TimeAxisViewItem (const TimeAxisViewItem& other)
, Selectable (other)
, PBD::ScopedConnectionList()
, trackview (other.trackview)
+ , frame_position (-1)
+ , item_name (other.item_name)
+ , _height (1.0)
, _recregion (other._recregion)
, _automation (other._automation)
, _dragging (other._dragging)
+ , _width (0.0)
{
-
- Gdk::Color c;
- int r,g,b,a;
-
- UINT_TO_RGBA (other.fill_color, &r, &g, &b, &a);
- c.set_rgb_p (r/255.0, g/255.0, b/255.0);
-
/* share the other's parent, but still create a new group */
- Gnome::Canvas::Group* parent = other.group->property_parent();
-
- group = new ArdourCanvas::Group (*parent);
-
+ ArdourCanvas::Item* parent = other.group->parent();
+
_selected = other._selected;
-
- init (other.item_name, other.samples_per_unit, c, other.frame_position,
+
+ init (parent, other.samples_per_pixel, other.fill_color, other.frame_position,
other.item_duration, other.visibility, other.wide_enough_for_name, other.high_enough_for_name);
}
void
-TimeAxisViewItem::init (
- const string& it_name, double spu, Gdk::Color const & base_color, framepos_t start, framepos_t duration, Visibility vis, bool wide, bool high)
+TimeAxisViewItem::init (ArdourCanvas::Item* parent, double fpp, uint32_t base_color,
+ framepos_t start, framepos_t duration, Visibility vis,
+ bool wide, bool high)
{
- item_name = it_name;
- samples_per_unit = spu;
+ group = new ArdourCanvas::Container (parent);
+ CANVAS_DEBUG_NAME (group, string_compose ("TAVI group for %1", get_item_name()));
+ group->Event.connect (sigc::mem_fun (*this, &TimeAxisViewItem::canvas_group_event));
+
+ fill_color = base_color;
+ samples_per_pixel = fpp;
frame_position = start;
item_duration = duration;
name_connected = false;
- fill_opacity = 60;
position_locked = false;
max_item_duration = ARDOUR::max_framepos;
min_item_duration = 0;
show_vestigial = true;
visibility = vis;
_sensitive = true;
- name_pixbuf_width = 0;
+ name_text_width = 0;
last_item_width = 0;
wide_enough_for_name = wide;
high_enough_for_name = high;
@@ -164,54 +188,76 @@ TimeAxisViewItem::init (
warning << "Time Axis Item Duration == 0" << endl;
}
- vestigial_frame = new ArdourCanvas::SimpleRect (*group, 0.0, 1.0, 2.0, trackview.current_height());
+ vestigial_frame = new ArdourCanvas::Rectangle (group, ArdourCanvas::Rect (0.0, 1.0, 2.0, trackview.current_height()));
+ CANVAS_DEBUG_NAME (vestigial_frame, string_compose ("vestigial frame for %1", get_item_name()));
vestigial_frame->hide ();
- vestigial_frame->property_outline_what() = 0xF;
- vestigial_frame->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_VestigialFrame.get();
- vestigial_frame->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_VestigialFrame.get();
+ vestigial_frame->set_outline_color (ARDOUR_UI::config()->get_canvasvar_VestigialFrame());
+ vestigial_frame->set_fill_color (ARDOUR_UI::config()->get_canvasvar_VestigialFrame());
if (visibility & ShowFrame) {
- frame = new ArdourCanvas::SimpleRect (*group, 0.0, 1.0, trackview.editor().frame_to_pixel(duration), trackview.current_height());
+ frame = new ArdourCanvas::Rectangle (group,
+ ArdourCanvas::Rect (0.0, 0.0,
+ trackview.editor().sample_to_pixel(duration) + RIGHT_EDGE_SHIFT,
+ trackview.current_height() - 1.0));
- frame->property_outline_pixels() = 1;
- frame->property_outline_what() = 0xF;
+ CANVAS_DEBUG_NAME (frame, string_compose ("frame for %1", get_item_name()));
- if (_recregion) {
- frame->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_RecordingRect.get();
+ if (Config->get_show_name_highlight()) {
+ frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT));
} else {
- frame->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_TimeAxisFrame.get();
+ frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT|ArdourCanvas::Rectangle::BOTTOM));
}
- frame->property_outline_what() = 0x1|0x2|0x4|0x8;
+ if (_recregion) {
+ frame->set_outline_color (ARDOUR_UI::config()->get_canvasvar_RecordingRect());
+ } else {
+ frame->set_outline_color (ARDOUR_UI::config()->get_canvasvar_TimeAxisFrame());
+ }
} else {
+
frame = 0;
}
+
+ if (Config->get_show_name_highlight() && (visibility & ShowNameHighlight)) {
- if (visibility & ShowNameHighlight) {
+ double width;
+ double start;
if (visibility & FullWidthNameHighlight) {
- name_highlight = new ArdourCanvas::SimpleRect (*group, 0.0, trackview.editor().frame_to_pixel(item_duration), trackview.current_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE, trackview.current_height());
+ start = 0.0;
+ width = trackview.editor().sample_to_pixel(item_duration) + RIGHT_EDGE_SHIFT;
} else {
- name_highlight = new ArdourCanvas::SimpleRect (*group, 1.0, trackview.editor().frame_to_pixel(item_duration) - 1, trackview.current_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE, trackview.current_height());
+ start = 1.0;
+ width = trackview.editor().sample_to_pixel(item_duration) - 2.0 + RIGHT_EDGE_SHIFT;
}
+ name_highlight = new ArdourCanvas::Rectangle (group,
+ ArdourCanvas::Rect (start,
+ trackview.current_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE,
+ width - 2.0 + RIGHT_EDGE_SHIFT,
+ trackview.current_height() - 1.0));
+ CANVAS_DEBUG_NAME (name_highlight, string_compose ("name highlight for %1", get_item_name()));
name_highlight->set_data ("timeaxisviewitem", this);
- name_highlight->property_outline_what() = 0x4;
- /* we should really use a canvas color property here */
- name_highlight->property_outline_color_rgba() = RGBA_TO_UINT (0,0,0,255);
+ name_highlight->set_outline_what (ArdourCanvas::Rectangle::TOP);
+ name_highlight->set_outline_color (RGBA_TO_UINT (0,0,0,255));
} else {
name_highlight = 0;
}
if (visibility & ShowNameText) {
- name_pixbuf = new ArdourCanvas::Pixbuf(*group);
- name_pixbuf->property_x() = NAME_X_OFFSET;
- name_pixbuf->property_y() = trackview.current_height() + 1 - NAME_Y_OFFSET;
-
+ name_text = new ArdourCanvas::Text (group);
+ CANVAS_DEBUG_NAME (name_text, string_compose ("name text for %1", get_item_name()));
+ if (Config->get_show_name_highlight()) {
+ name_text->set_position (ArdourCanvas::Duple (NAME_X_OFFSET, trackview.current_height() - NAME_Y_OFFSET));
+ } else {
+ name_text->set_position (ArdourCanvas::Duple (NAME_X_OFFSET, NAME_Y_OFFSET));
+ }
+ name_text->set_font_description (NAME_FONT);
+ name_text->set_ignore_events (true);
} else {
- name_pixbuf = 0;
+ name_text = 0;
}
/* create our grab handles used for trimming/duration etc */
@@ -219,10 +265,17 @@ TimeAxisViewItem::init (
double top = TimeAxisViewItem::GRAB_HANDLE_TOP;
double width = TimeAxisViewItem::GRAB_HANDLE_WIDTH;
- frame_handle_start = new ArdourCanvas::SimpleRect (*group, 0.0, top, width, trackview.current_height());
- frame_handle_start->property_outline_what() = 0x0;
- frame_handle_end = new ArdourCanvas::SimpleRect (*group, 0.0, top, width, trackview.current_height());
- frame_handle_end->property_outline_what() = 0x0;
+ frame_handle_start = new ArdourCanvas::Rectangle (group, ArdourCanvas::Rect (0.0, top, width, trackview.current_height()));
+ CANVAS_DEBUG_NAME (frame_handle_start, "TAVI frame handle start");
+ frame_handle_start->set_outline (false);
+ frame_handle_start->set_fill (false);
+ frame_handle_start->Event.connect (sigc::bind (sigc::mem_fun (*this, &TimeAxisViewItem::frame_handle_crossing), frame_handle_start));
+
+ frame_handle_end = new ArdourCanvas::Rectangle (group, ArdourCanvas::Rect (0.0, top, width, trackview.current_height()));
+ CANVAS_DEBUG_NAME (frame_handle_end, "TAVI frame handle end");
+ frame_handle_end->set_outline (false);
+ frame_handle_end->set_fill (false);
+ frame_handle_end->Event.connect (sigc::bind (sigc::mem_fun (*this, &TimeAxisViewItem::frame_handle_crossing), frame_handle_end));
} else {
frame_handle_start = frame_handle_end = 0;
}
@@ -233,6 +286,7 @@ TimeAxisViewItem::init (
set_position (start, this);
Config->ParameterChanged.connect (*this, invalidator (*this), boost::bind (&TimeAxisViewItem::parameter_changed, this, _1), gui_context ());
+ ARDOUR_UI::config()->ParameterChanged.connect (sigc::mem_fun (*this, &TimeAxisViewItem::parameter_changed));
}
TimeAxisViewItem::~TimeAxisViewItem()
@@ -240,6 +294,12 @@ TimeAxisViewItem::~TimeAxisViewItem()
delete group;
}
+bool
+TimeAxisViewItem::canvas_group_event (GdkEvent* /*ev*/)
+{
+ return false;
+}
+
void
TimeAxisViewItem::hide_rect ()
{
@@ -247,8 +307,8 @@ TimeAxisViewItem::hide_rect ()
set_frame_color ();
if (name_highlight) {
- name_highlight->property_outline_what() = 0x0;
- name_highlight->property_fill_color_rgba() = UINT_RGBA_CHANGE_A(fill_color,64);
+ name_highlight->set_outline_what (ArdourCanvas::Rectangle::What (0));
+ name_highlight->set_fill_color (UINT_RGBA_CHANGE_A (fill_color, 64));
}
}
@@ -259,12 +319,11 @@ TimeAxisViewItem::show_rect ()
set_frame_color ();
if (name_highlight) {
- name_highlight->property_outline_what() = 0x4;
- name_highlight->property_fill_color_rgba() = fill_color;
+ name_highlight->set_outline_what (ArdourCanvas::Rectangle::TOP);
+ name_highlight->set_fill_color (fill_color);
}
}
-
/**
* Set the position of this item on the timeline.
*
@@ -282,28 +341,21 @@ TimeAxisViewItem::set_position(framepos_t pos, void* src, double* delta)
frame_position = pos;
- /* This sucks. The GnomeCanvas version I am using
- doesn't correctly implement gnome_canvas_group_set_arg(),
- so that simply setting the "x" arg of the group
- fails to move the group. Instead, we have to
- use gnome_canvas_item_move(), which does the right
- thing. I see that in GNOME CVS, the current (Sept 2001)
- version of GNOME Canvas rectifies this issue cleanly.
- */
-
- double old_unit_pos;
- double new_unit_pos = pos / samples_per_unit;
-
- old_unit_pos = group->property_x();
-
- if (new_unit_pos != old_unit_pos) {
- group->move (new_unit_pos - old_unit_pos, 0.0);
- }
+ double new_unit_pos = trackview.editor().sample_to_pixel (pos);
if (delta) {
- (*delta) = new_unit_pos - old_unit_pos;
+ (*delta) = new_unit_pos - group->position().x;
+ if (*delta == 0.0) {
+ return true;
+ }
+ } else {
+ if (new_unit_pos == group->position().x) {
+ return true;
+ }
}
+ group->set_x_position (new_unit_pos);
+
PositionChanged (frame_position, src); /* EMIT_SIGNAL */
return true;
@@ -341,7 +393,7 @@ TimeAxisViewItem::set_duration (framecnt_t dur, void* src)
item_duration = dur;
- reset_width_dependent_items (trackview.editor().frame_to_pixel (dur));
+ reset_width_dependent_items (trackview.editor().sample_to_pixel (dur));
DurationChanged (dur, src); /* EMIT_SIGNAL */
return true;
@@ -490,6 +542,21 @@ TimeAxisViewItem::set_selected(bool yn)
if (_selected != yn) {
Selectable::set_selected (yn);
set_frame_color ();
+ set_name_text_color ();
+
+ if (frame) {
+ if (!Config->get_show_name_highlight() && yn) {
+ frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT|ArdourCanvas::Rectangle::BOTTOM|ArdourCanvas::Rectangle::TOP));
+ frame->set_y1 (_height - 1.0);
+ } else {
+ if (Config->get_show_name_highlight()) {
+ frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT));
+ } else {
+ frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT|ArdourCanvas::Rectangle::BOTTOM));
+ }
+ frame->set_y1 (_height);
+ }
+ }
}
}
@@ -510,15 +577,14 @@ TimeAxisViewItem::get_time_axis_view () const
void
TimeAxisViewItem::set_name_text(const string& new_name)
{
- if (!name_pixbuf) {
+ if (!name_text) {
return;
}
- last_item_width = trackview.editor().frame_to_pixel(item_duration);
- name_pixbuf_width = pixel_width (new_name, NAME_FONT) + 2;
- name_pixbuf->property_pixbuf() = pixbuf_from_string(new_name, NAME_FONT, name_pixbuf_width, NAME_HEIGHT, Gdk::Color ("#000000"));
-}
+ name_text_width = pixel_width (new_name, NAME_FONT) + 2;
+ name_text->set (new_name);
+}
/**
* Set the height of this item.
@@ -530,49 +596,75 @@ TimeAxisViewItem::set_height (double height)
{
_height = height;
- if (name_highlight) {
- if (height < NAME_HIGHLIGHT_THRESH) {
- name_highlight->hide ();
- high_enough_for_name = false;
+ manage_name_highlight ();
+ if (visibility & ShowNameText) {
+ if (Config->get_show_name_highlight()) {
+ name_text->set_y_position (height - NAME_Y_OFFSET);
} else {
- name_highlight->show();
- high_enough_for_name = true;
+ name_text->set_y_position (NAME_Y_OFFSET);
}
+ }
- if (height > NAME_HIGHLIGHT_SIZE) {
- name_highlight->property_y1() = (double) height - 1 - NAME_HIGHLIGHT_SIZE;
- name_highlight->property_y2() = (double) height - 1;
+ if (frame) {
+ if (!Config->get_show_name_highlight() && _selected) {
+ frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT|ArdourCanvas::Rectangle::BOTTOM|ArdourCanvas::Rectangle::TOP));
+ frame->set_y1 (_height - 1.0);
+ } else {
+ if (Config->get_show_name_highlight()) {
+ frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT));
+ } else {
+ frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT|ArdourCanvas::Rectangle::BOTTOM));
+ }
+ frame->set_y1 (_height);
}
- else {
- /* it gets hidden now anyway */
- name_highlight->property_y1() = (double) 1.0;
- name_highlight->property_y2() = (double) height;
+
+ if (frame_handle_start) {
+ frame_handle_start->set_y1 (height);
+ frame_handle_end->set_y1 (height);
}
}
- if (visibility & ShowNameText) {
- name_pixbuf->property_y() = height + 1 - NAME_Y_OFFSET;
+ vestigial_frame->set_y1 (height - 1.0);
+
+ set_colors ();
+}
+
+void
+TimeAxisViewItem::manage_name_highlight ()
+{
+ if (!name_highlight) {
+ return;
}
- if (frame) {
- frame->property_y2() = height - 1;
- if (frame_handle_start) {
- frame_handle_start->property_y2() = height - 1;
- frame_handle_end->property_y2() = height - 1;
- }
+ if (_height < NAME_HIGHLIGHT_THRESH) {
+ high_enough_for_name = false;
+ } else {
+ high_enough_for_name = true;
}
- vestigial_frame->property_y2() = height - 1;
+ if (_width < 2.0) {
+ wide_enough_for_name = false;
+ } else {
+ wide_enough_for_name = true;
+ }
- update_name_pixbuf_visibility ();
- set_colors ();
+ if (name_highlight && wide_enough_for_name && high_enough_for_name) {
+
+ name_highlight->show();
+ name_highlight->set (ArdourCanvas::Rect (0.0, (double) _height - NAME_HIGHLIGHT_SIZE, _width+RIGHT_EDGE_SHIFT, (double) _height - 1.0));
+
+ } else {
+ name_highlight->hide();
+ }
+
+ manage_name_text ();
}
void
-TimeAxisViewItem::set_color (Gdk::Color const & base_color)
+TimeAxisViewItem::set_color (uint32_t base_color)
{
- compute_colors (base_color);
+ fill_color = base_color;
set_colors ();
}
@@ -582,7 +674,7 @@ TimeAxisViewItem::get_canvas_frame()
return frame;
}
-ArdourCanvas::Group*
+ArdourCanvas::Item*
TimeAxisViewItem::get_canvas_group()
{
return group;
@@ -594,225 +686,242 @@ TimeAxisViewItem::get_name_highlight()
return name_highlight;
}
-ArdourCanvas::Pixbuf*
-TimeAxisViewItem::get_name_pixbuf()
-{
- return name_pixbuf;
-}
-
/**
- * Calculate some contrasting color for displaying various parts of this item, based upon the base color.
- *
- * @param color the base color of the item
+ * Convenience method to set the various canvas item colors
*/
void
-TimeAxisViewItem::compute_colors (Gdk::Color const & base_color)
+TimeAxisViewItem::set_colors()
{
- unsigned char radius;
- char minor_shift;
-
- unsigned char r,g,b;
-
- /* FILL: this is simple */
- r = base_color.get_red()/256;
- g = base_color.get_green()/256;
- b = base_color.get_blue()/256;
- fill_color = RGBA_TO_UINT(r,g,b,160);
-
- /* for minor colors:
- if the overall saturation is strong, make the minor colors light.
- if its weak, make them dark.
-
- we do this by moving an equal distance to the other side of the
- central circle in the color wheel from where we started.
- */
+ set_frame_color ();
- radius = (unsigned char) rint (floor (sqrt (static_cast<double>(r*r + g*g + b+b))/3.0f));
- minor_shift = 125 - radius;
-
- /* LABEL: rotate around color wheel by 120 degrees anti-clockwise */
-
- r = base_color.get_red()/256;
- g = base_color.get_green()/256;
- b = base_color.get_blue()/256;
-
- if (r > b)
- {
- if (r > g)
- {
- /* red sector => green */
- swap (r,g);
- }
- else
- {
- /* green sector => blue */
- swap (g,b);
- }
- }
- else
- {
- if (b > g)
- {
- /* blue sector => red */
- swap (b,r);
- }
- else
- {
- /* green sector => blue */
- swap (g,b);
- }
+ if (name_highlight) {
+ name_highlight->set_fill_color (fill_color);
}
- r += minor_shift;
- b += minor_shift;
- g += minor_shift;
-
- label_color = RGBA_TO_UINT(r,g,b,255);
- r = (base_color.get_red()/256) + 127;
- g = (base_color.get_green()/256) + 127;
- b = (base_color.get_blue()/256) + 127;
-
- label_color = RGBA_TO_UINT(r,g,b,255);
-
- /* XXX can we do better than this ? */
- /* We're trying;) */
- /* NUKECOLORS */
+ set_name_text_color ();
+ set_trim_handle_colors();
+}
- //frame_color_r = 192;
- //frame_color_g = 192;
- //frame_color_b = 194;
+void
+TimeAxisViewItem::set_name_text_color ()
+{
+ if (!name_text) {
+ return;
+ }
+
- //selected_frame_color_r = 182;
- //selected_frame_color_g = 145;
- //selected_frame_color_b = 168;
+ uint32_t f;
+
+ if (Config->get_show_name_highlight()) {
+ /* name text will always be on top of name highlight, which
+ will always use our fill color.
+ */
+ f = fill_color;
+ } else {
+ /* name text will be on top of the item, whose color
+ may vary depending on various conditions.
+ */
+ f = get_fill_color ();
+ }
- //handle_color_r = 25;
- //handle_color_g = 0;
- //handle_color_b = 255;
- //lock_handle_color_r = 235;
- //lock_handle_color_g = 16;
- //lock_handle_color_b = 16;
+ name_text->set_color (ArdourCanvas::contrasting_text_color (f));
}
-/**
- * Convenience method to set the various canvas item colors
- */
-void
-TimeAxisViewItem::set_colors()
+uint32_t
+TimeAxisViewItem::fill_opacity () const
{
- set_frame_color();
+ if (!rect_visible) {
+ /* if the frame/rect is marked as invisible, then the
+ * fill should be transparent. simplest: set
+
+ * alpha/opacity to zero.
+ */
+ return 0;
+ }
- if (name_highlight) {
- name_highlight->property_fill_color_rgba() = fill_color;
+ if (_dragging) {
+ return 130;
}
- set_trim_handle_colors();
+
+ uint32_t col = ARDOUR_UI::config()->get_canvasvar_FrameBase();
+ return UINT_RGBA_A (col);
}
-/**
- * Sets the frame color depending on whether this item is selected
- */
-void
-TimeAxisViewItem::set_frame_color()
+uint32_t
+TimeAxisViewItem::get_fill_color () const
{
- uint32_t f = 0;
+ uint32_t f;
+ uint32_t o;
- if (!frame) {
- return;
- }
+ o = fill_opacity ();
if (_selected) {
- f = ARDOUR_UI::config()->canvasvar_SelectedFrameBase.get();
+ f = ARDOUR_UI::config()->get_canvasvar_SelectedFrameBase();
- if (fill_opacity) {
- f = UINT_RGBA_CHANGE_A (f, fill_opacity);
+ if (o == 0) {
+ /* some condition of this item has set fill opacity to
+ * zero, but it has been selected, so use a mid-way
+ * alpha value to make it reasonably visible.
+ */
+ o = 130;
}
-
- if (!rect_visible) {
- f = UINT_RGBA_CHANGE_A (f, 0);
- }
-
+
} else {
if (_recregion) {
- f = ARDOUR_UI::config()->canvasvar_RecordingRect.get();
+ f = ARDOUR_UI::config()->get_canvasvar_RecordingRect();
} else {
-
- if (high_enough_for_name && !Config->get_color_regions_using_track_color()) {
- f = ARDOUR_UI::config()->canvasvar_FrameBase.get();
+ if ((!Config->get_show_name_highlight() || high_enough_for_name) && !ARDOUR_UI::config()->get_color_regions_using_track_color()) {
+ f = ARDOUR_UI::config()->get_canvasvar_FrameBase();
} else {
f = fill_color;
}
+ }
+ }
- if (fill_opacity) {
- f = UINT_RGBA_CHANGE_A (f, fill_opacity);
- }
+ return UINT_RGBA_CHANGE_A (f, o);
+}
- if (!rect_visible) {
- f = UINT_RGBA_CHANGE_A (f, 0);
- }
- }
+/**
+ * Sets the frame color depending on whether this item is selected
+ */
+void
+TimeAxisViewItem::set_frame_color()
+{
+ if (!frame) {
+ return;
}
- frame->property_fill_color_rgba() = f;
+ frame->set_fill_color (get_fill_color());
+ set_frame_gradient ();
if (!_recregion) {
+ uint32_t f;
+
if (_selected) {
- f = ARDOUR_UI::config()->canvasvar_SelectedTimeAxisFrame.get();
+ f = ARDOUR_UI::config()->get_canvasvar_SelectedTimeAxisFrame();
} else {
- f = ARDOUR_UI::config()->canvasvar_TimeAxisFrame.get();
+ f = ARDOUR_UI::config()->get_canvasvar_TimeAxisFrame();
}
if (!rect_visible) {
+ /* make the frame outline be visible but rather transparent */
f = UINT_RGBA_CHANGE_A (f, 64);
}
- frame->property_outline_color_rgba() = f;
+ frame->set_outline_color (f);
}
}
+void
+TimeAxisViewItem::set_frame_gradient ()
+{
+ if (ARDOUR_UI::config()->get_timeline_item_gradient_depth() == 0.0) {
+ frame->set_gradient (ArdourCanvas::Fill::StopList (), 0);
+ return;
+ }
+
+ ArdourCanvas::Fill::StopList stops;
+ double r, g, b, a;
+ double h, s, v;
+ ArdourCanvas::Color f (get_fill_color());
+
+ /* need to get alpha value */
+ ArdourCanvas::color_to_rgba (f, r, g, b, a);
+
+ stops.push_back (std::make_pair (0.0, f));
+
+ /* now a darker version */
+
+ ArdourCanvas::color_to_hsv (f, h, s, v);
+
+ v = min (1.0, v * (1.0 - ARDOUR_UI::config()->get_timeline_item_gradient_depth()));
+
+ ArdourCanvas::Color darker = ArdourCanvas::hsv_to_color (h, s, v, a);
+ stops.push_back (std::make_pair (1.0, darker));
+
+ frame->set_gradient (stops, true);
+}
+
/**
* Set the colors of the start and end trim handle depending on object state
*/
void
TimeAxisViewItem::set_trim_handle_colors()
{
+#if 1
+ /* Leave them transparent for now */
+ if (frame_handle_start) {
+ frame_handle_start->set_fill_color (0x00000000);
+ frame_handle_end->set_fill_color (0x00000000);
+ }
+#else
if (frame_handle_start) {
if (position_locked) {
- frame_handle_start->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TrimHandleLocked.get();
- frame_handle_end->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TrimHandleLocked.get();
+ frame_handle_start->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TrimHandleLocked());
+ frame_handle_end->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TrimHandleLocked());
} else {
- frame_handle_start->property_fill_color_rgba() = RGBA_TO_UINT(1, 1, 1, 0); //ARDOUR_UI::config()->canvasvar_TrimHandle.get();
- frame_handle_end->property_fill_color_rgba() = RGBA_TO_UINT(1, 1, 1, 0); //ARDOUR_UI::config()->canvasvar_TrimHandle.get();
+ frame_handle_start->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TrimHandle());
+ frame_handle_end->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TrimHandle());
}
}
+#endif
}
-/** @return the samples per unit of this item */
+bool
+TimeAxisViewItem::frame_handle_crossing (GdkEvent* ev, ArdourCanvas::Rectangle* item)
+{
+ switch (ev->type) {
+ case GDK_LEAVE_NOTIFY:
+ /* always hide the handle whenever we leave, no matter what mode */
+ item->set_fill (false);
+ break;
+ case GDK_ENTER_NOTIFY:
+ if (trackview.editor().effective_mouse_mode() == Editing::MouseObject &&
+ !trackview.editor().internal_editing()) {
+ /* never set this to be visible in internal
+ edit mode. Note, however, that we do need to
+ undo visibility (LEAVE_NOTIFY case above) no
+ matter what the mode is.
+ */
+ item->set_fill (true);
+ }
+ break;
+ default:
+ break;
+ }
+ return false;
+}
+
+/** @return the frames per pixel */
double
-TimeAxisViewItem::get_samples_per_unit()
+TimeAxisViewItem::get_samples_per_pixel () const
{
- return samples_per_unit;
+ return samples_per_pixel;
}
-/**
- * Set the samples per unit of this item.
- * This item is used to determine the relative visual size and position of this item
- * based upon its duration and start value.
+/** Set the frames per pixel of this item.
+ * This item is used to determine the relative visual size and position of this item
+ * based upon its duration and start value.
*
- * @param spu the new samples per unit value
+ * @param fpp the new frames per pixel
*/
void
-TimeAxisViewItem::set_samples_per_unit (double spu)
+TimeAxisViewItem::set_samples_per_pixel (double fpp)
{
- samples_per_unit = spu;
+ samples_per_pixel = fpp;
set_position (this->get_position(), this);
- reset_width_dependent_items ((double)get_duration() / samples_per_unit);
+ reset_width_dependent_items ((double) get_duration() / samples_per_pixel);
}
void
TimeAxisViewItem::reset_width_dependent_items (double pixel_width)
{
+ _width = pixel_width;
+
+ manage_name_highlight ();
+ manage_name_text ();
if (pixel_width < 2.0) {
@@ -820,10 +929,6 @@ TimeAxisViewItem::reset_width_dependent_items (double pixel_width)
vestigial_frame->show();
}
- if (name_highlight) {
- name_highlight->hide();
- }
-
if (frame) {
frame->hide();
}
@@ -833,30 +938,12 @@ TimeAxisViewItem::reset_width_dependent_items (double pixel_width)
frame_handle_end->hide();
}
- wide_enough_for_name = false;
-
} else {
vestigial_frame->hide();
- if (name_highlight) {
-
- if (_height < NAME_HIGHLIGHT_THRESH) {
- name_highlight->hide();
- high_enough_for_name = false;
- } else {
- name_highlight->show();
- if (!get_item_name().empty()) {
- reset_name_width (pixel_width);
- }
- high_enough_for_name = true;
- }
-
- name_highlight->property_x2() = pixel_width;
- }
-
if (frame) {
frame->show();
- frame->property_x2() = pixel_width;
+ frame->set_x1 (pixel_width + RIGHT_EDGE_SHIFT);
}
if (frame_handle_start) {
@@ -866,64 +953,49 @@ TimeAxisViewItem::reset_width_dependent_items (double pixel_width)
* the right-hand end of frame_handle_start and the left-hand
* end of frame_handle_end, so disable the handles
*/
+
frame_handle_start->hide();
frame_handle_end->hide();
} else {
frame_handle_start->show();
- frame_handle_end->property_x1() = pixel_width - (TimeAxisViewItem::GRAB_HANDLE_WIDTH);
- frame_handle_end->property_x2() = pixel_width;
+ frame_handle_end->set_x0 (pixel_width + RIGHT_EDGE_SHIFT - (TimeAxisViewItem::GRAB_HANDLE_WIDTH));
+ frame_handle_end->set_x1 (pixel_width + RIGHT_EDGE_SHIFT);
frame_handle_end->show();
}
}
-
- wide_enough_for_name = true;
}
-
- update_name_pixbuf_visibility ();
}
void
-TimeAxisViewItem::reset_name_width (double /*pixel_width*/)
+TimeAxisViewItem::manage_name_text ()
{
- uint32_t it_width;
- int pb_width;
- bool pixbuf_holds_full_name;
+ int visible_name_width;
- if (!name_pixbuf) {
+ if (!name_text) {
return;
}
- it_width = trackview.editor().frame_to_pixel(item_duration);
- pb_width = name_pixbuf_width;
-
- pixbuf_holds_full_name = last_item_width > pb_width + NAME_X_OFFSET;
- last_item_width = it_width;
-
- if (pixbuf_holds_full_name && (it_width >= pb_width + NAME_X_OFFSET)) {
- /*
- we've previously had the full name length showing
- and its still showing.
- */
+ if (!wide_enough_for_name || !high_enough_for_name) {
+ name_text->hide ();
return;
}
-
- if (pb_width > it_width - NAME_X_OFFSET) {
- pb_width = it_width - NAME_X_OFFSET;
+
+ if (name_text->text().empty()) {
+ name_text->hide ();
}
- if (it_width <= NAME_X_OFFSET) {
- wide_enough_for_name = false;
- } else {
- wide_enough_for_name = true;
- }
-
- update_name_pixbuf_visibility ();
+ visible_name_width = name_text_width;
- if (pb_width < 1) {
- pb_width = 1;
+ if (visible_name_width > _width - NAME_X_OFFSET) {
+ visible_name_width = _width - NAME_X_OFFSET;
}
- name_pixbuf->property_pixbuf() = pixbuf_from_string(item_name, NAME_FONT, pb_width, NAME_HEIGHT, Gdk::Color ("#000000"));
+ if (visible_name_width < 1) {
+ name_text->hide ();
+ } else {
+ name_text->clamp_width (visible_name_width);
+ name_text->show ();
+ }
}
/**
@@ -946,30 +1018,29 @@ TimeAxisViewItem::idle_remove_this_item(TimeAxisViewItem* item, void* src)
void
TimeAxisViewItem::set_y (double y)
{
- double const old = group->property_y ();
- if (y != old) {
- group->move (0, y - old);
- }
+ group->set_y_position (y);
}
void
-TimeAxisViewItem::update_name_pixbuf_visibility ()
+TimeAxisViewItem::parameter_changed (string p)
{
- if (!name_pixbuf) {
- return;
+ if (p == "color-regions-using-track-color") {
+ set_colors ();
+ } else if (p == "timeline-item-gradient-depth") {
+ set_frame_gradient ();
}
+}
- if (wide_enough_for_name && high_enough_for_name) {
- name_pixbuf->show ();
- } else {
- name_pixbuf->hide ();
- }
+void
+TimeAxisViewItem::drag_start ()
+{
+ _dragging = true;
+ set_frame_color ();
}
void
-TimeAxisViewItem::parameter_changed (string p)
+TimeAxisViewItem::drag_end ()
{
- if (p == "color-regions-using-track-color") {
- set_frame_color ();
- }
+ _dragging = false;
+ set_frame_color ();
}
diff --git a/gtk2_ardour/time_axis_view_item.h b/gtk2_ardour/time_axis_view_item.h
index 3985b8ffd8..e78b9c9488 100644
--- a/gtk2_ardour/time_axis_view_item.h
+++ b/gtk2_ardour/time_axis_view_item.h
@@ -21,17 +21,22 @@
#define __gtk_ardour_time_axis_view_item_h__
#include <string>
-
-#include <libgnomecanvasmm/pixbuf.h>
-
+#include <gdk/gdk.h>
+#include <gdkmm/color.h>
+#include <pangomm/fontdescription.h>
#include "pbd/signals.h"
-
#include "selectable.h"
-#include "simplerect.h"
-#include "canvas.h"
class TimeAxisView;
+namespace ArdourCanvas {
+ class Pixbuf;
+ class Rectangle;
+ class Item;
+ class Container;
+ class Text;
+}
+
using ARDOUR::framepos_t;
using ARDOUR::framecnt_t;
@@ -66,20 +71,23 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList
TimeAxisView& get_time_axis_view () const;
void set_name_text(const std::string&);
virtual void set_height(double h);
+ virtual double height() const { return _height; }
void set_y (double);
- void set_color (Gdk::Color const &);
+ void set_color (uint32_t);
+ void set_name_text_color ();
+
+ uint32_t get_fill_color () const;
ArdourCanvas::Item* get_canvas_frame();
- ArdourCanvas::Group* get_canvas_group();
+ ArdourCanvas::Item* get_canvas_group();
ArdourCanvas::Item* get_name_highlight();
- ArdourCanvas::Pixbuf* get_name_pixbuf();
- virtual void set_samples_per_unit(double spu);
+ virtual void set_samples_per_pixel (double);
- double get_samples_per_unit();
+ double get_samples_per_pixel () const;
- virtual void drag_start() { _dragging = true; }
- virtual void drag_end() { _dragging = false; }
+ virtual void drag_start();
+ virtual void drag_end();
bool dragging() const { return _dragging; }
virtual void raise () { return; }
@@ -108,6 +116,20 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList
static double NAME_HIGHLIGHT_SIZE;
static double NAME_HIGHLIGHT_THRESH;
+ /* if this is 1.0, we move the right boundary
+ of the item frame so that it is 1 pixel
+ after the end of the item. This gives nice
+ effects when splitting items.
+
+ if this is zero, the right edge coincides
+ with the end of the item, and things don't
+ look so nice.
+
+ this exists to allow easy debugging of the
+ two scenarios.
+ */
+ static const double RIGHT_EDGE_SHIFT;
+
/**
* Emitted when this Group has been removed.
* This is different to the CatchDeletion signal in that this signal
@@ -148,21 +170,21 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList
};
protected:
- TimeAxisViewItem(const std::string &, ArdourCanvas::Group&, TimeAxisView&, double, Gdk::Color const &,
- framepos_t, framecnt_t, bool recording = false, bool automation = false, Visibility v = Visibility (0));
+ TimeAxisViewItem (const std::string &, ArdourCanvas::Item&, TimeAxisView&, double, uint32_t fill_color,
+ framepos_t, framecnt_t, bool recording = false, bool automation = false, Visibility v = Visibility (0));
TimeAxisViewItem (const TimeAxisViewItem&);
- void init (const std::string&, double, Gdk::Color const &, framepos_t, framepos_t, Visibility, bool, bool);
+ void init (ArdourCanvas::Item*, double, uint32_t, framepos_t, framepos_t, Visibility, bool, bool);
+
+ virtual bool canvas_group_event (GdkEvent*);
- virtual void compute_colors (Gdk::Color const &);
virtual void set_colors();
virtual void set_frame_color();
+ virtual void set_frame_gradient ();
void set_trim_handle_colors();
virtual void reset_width_dependent_items (double);
- void reset_name_width (double);
- void update_name_pixbuf_visibility ();
static gint idle_remove_this_item(TimeAxisViewItem*, void*);
@@ -190,8 +212,8 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList
/** indicates whether the min duration constraint is active */
bool min_duration_active;
- /** samples per canvas unit */
- double samples_per_unit;
+ /** frames per canvas pixel */
+ double samples_per_pixel;
/** should the item respond to events */
bool _sensitive;
@@ -208,37 +230,27 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList
/** true if a small vestigial rect should be shown when the item gets very narrow */
bool show_vestigial;
- uint32_t fill_opacity;
uint32_t fill_color;
- uint32_t frame_color_r;
- uint32_t frame_color_g;
- uint32_t frame_color_b;
- uint32_t selected_frame_color_r;
- uint32_t selected_frame_color_g;
- uint32_t selected_frame_color_b;
- uint32_t label_color;
-
- uint32_t handle_color_r;
- uint32_t handle_color_g;
- uint32_t handle_color_b;
- uint32_t lock_handle_color_r;
- uint32_t lock_handle_color_g;
- uint32_t lock_handle_color_b;
+
+ virtual uint32_t fill_opacity() const;
+
uint32_t last_item_width;
- int name_pixbuf_width;
+ int name_text_width;
bool wide_enough_for_name;
bool high_enough_for_name;
bool rect_visible;
- ArdourCanvas::Group* group;
- ArdourCanvas::SimpleRect* vestigial_frame;
- ArdourCanvas::SimpleRect* frame;
- ArdourCanvas::Pixbuf* name_pixbuf;
- ArdourCanvas::SimpleRect* name_highlight;
+ ArdourCanvas::Container* group;
+ ArdourCanvas::Rectangle* vestigial_frame;
+ ArdourCanvas::Rectangle* frame;
+ ArdourCanvas::Text* name_text;
+ ArdourCanvas::Rectangle* name_highlight;
/* with these two values, if frame_handle_start == 0 then frame_handle_end will also be 0 */
- ArdourCanvas::SimpleRect* frame_handle_start; ///< `frame' (fade) handle for the start of the item, or 0
- ArdourCanvas::SimpleRect* frame_handle_end; ///< `frame' (fade) handle for the end of the item, or 0
+ ArdourCanvas::Rectangle* frame_handle_start; ///< `frame' (fade) handle for the start of the item, or 0
+ ArdourCanvas::Rectangle* frame_handle_end; ///< `frame' (fade) handle for the end of the item, or 0
+
+ bool frame_handle_crossing (GdkEvent*, ArdourCanvas::Rectangle*);
double _height;
Visibility visibility;
@@ -247,8 +259,11 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList
bool _dragging;
private:
+ double _width;
void parameter_changed (std::string);
+ void manage_name_highlight ();
+ void manage_name_text ();
}; /* class TimeAxisViewItem */
diff --git a/gtk2_ardour/time_info_box.cc b/gtk2_ardour/time_info_box.cc
index 364b0fda43..5d11c35c79 100644
--- a/gtk2_ardour/time_info_box.cc
+++ b/gtk2_ardour/time_info_box.cc
@@ -27,6 +27,7 @@
#include "gtkmm2ext/actions.h"
#include "ardour/location.h"
+#include "ardour/profile.h"
#include "ardour/session.h"
#include "time_info_box.h"
@@ -71,7 +72,9 @@ TimeInfoBox::TimeInfoBox ()
set_border_width (2);
pack_start (left, true, true);
- pack_start (right, true, true);
+ if (!ARDOUR::Profile->get_trx()) {
+ pack_start (right, true, true);
+ }
left.set_homogeneous (false);
left.set_spacings (0);
diff --git a/gtk2_ardour/track_selection.h b/gtk2_ardour/track_selection.h
index d94ec3c8c1..2e9927ab42 100644
--- a/gtk2_ardour/track_selection.h
+++ b/gtk2_ardour/track_selection.h
@@ -46,41 +46,54 @@ public:
template <typename Function>
void foreach_route_ui (Function f) {
- for (iterator i = begin(); i != end(); ++i) {
+ for (iterator i = begin(); i != end(); ) {
+ iterator tmp = i;
+ ++tmp;
+
RouteUI* t = dynamic_cast<RouteUI*> (*i);
if (t) {
f (t);
}
+ i = tmp;
}
}
template <typename Function>
void foreach_route_time_axis (Function f) {
- for (iterator i = begin(); i != end(); ++i) {
+ for (iterator i = begin(); i != end(); ) {
+ iterator tmp = i;
+ ++tmp;
RouteTimeAxisView* t = dynamic_cast<RouteTimeAxisView*> (*i);
if (t) {
f (t);
}
+ i = tmp;
}
}
template <typename Function>
void foreach_audio_time_axis (Function f) {
- for (iterator i = begin(); i != end(); ++i) {
+ for (iterator i = begin(); i != end(); ) {
+ iterator tmp = i;
+ ++tmp;
AudioTimeAxisView* t = dynamic_cast<AudioTimeAxisView*> (*i);
if (t) {
f (t);
}
+ i = tmp;
}
}
template <typename Function>
void foreach_midi_time_axis (Function f) {
- for (iterator i = begin(); i != end(); ++i) {
+ for (iterator i = begin(); i != end(); ) {
+ iterator tmp = i;
+ ++tmp;
MidiTimeAxisView* t = dynamic_cast<MidiTimeAxisView*> (*i);
if (t) {
f (t);
}
+ i = tmp;
}
}
diff --git a/gtk2_ardour/transcode_ffmpeg.cc b/gtk2_ardour/transcode_ffmpeg.cc
index 3cc45d217d..49bb43cdaf 100644
--- a/gtk2_ardour/transcode_ffmpeg.cc
+++ b/gtk2_ardour/transcode_ffmpeg.cc
@@ -30,6 +30,12 @@
#include "transcode_ffmpeg.h"
#include "utils_videotl.h"
+#ifdef PLATFORM_WINDOWS
+#include <windows.h>
+#include <shlobj.h> // CSIDL_*
+#include "pbd/windows_special_dirs.h"
+#endif
+
#include "i18n.h"
using namespace PBD;
@@ -51,22 +57,68 @@ TranscodeFfmpeg::TranscodeFfmpeg (std::string f)
debug_enable = false;
#endif
+#ifdef PLATFORM_WINDOWS
+ HKEY key;
+ DWORD size = PATH_MAX;
+ char tmp[PATH_MAX+1];
+ const char *program_files = PBD::get_win_special_folder (CSIDL_PROGRAM_FILES);
+#endif
+
std::string ff_file_path;
- if (find_file_in_search_path (SearchPath(Glib::getenv("PATH")), X_("ffmpeg_harvid"), ff_file_path)) { ffmpeg_exe = ff_file_path; }
+ if (find_file (Searchpath(Glib::getenv("PATH")), X_("ffmpeg_harvid"), ff_file_path)) {
+ ffmpeg_exe = ff_file_path;
+ }
+#ifdef PLATFORM_WINDOWS
+ else if ( (ERROR_SUCCESS == RegOpenKeyExA (HKEY_LOCAL_MACHINE, "Software\\RSS\\harvid", 0, KEY_READ, &key))
+ && (ERROR_SUCCESS == RegQueryValueExA (key, "Install_Dir", 0, NULL, reinterpret_cast<LPBYTE>(tmp), &size))
+ )
+ {
+ ffmpeg_exe = g_build_filename(Glib::locale_to_utf8(tmp).c_str(), X_("ffmpeg.exe"));
+ ffprobe_exe = g_build_filename(Glib::locale_to_utf8(tmp).c_str(), X_("ffprobe.exe"));
+ }
+ if (Glib::file_test(ffmpeg_exe, Glib::FILE_TEST_EXISTS)) {
+ ;
+ }
+ else if (program_files && Glib::file_test(g_build_filename(program_files, "harvid", "ffmpeg.exe", 0), Glib::FILE_TEST_EXISTS)) {
+ ffmpeg_exe = g_build_filename(program_files, "harvid", "ffmpeg.exe", 0);
+ }
+ else if (program_files && Glib::file_test(g_build_filename(program_files, "ffmpeg", "ffmpeg.exe", 0), Glib::FILE_TEST_EXISTS)) {
+ ffmpeg_exe = g_build_filename(program_files, "harvid", "ffmpeg.exe", 0);
+ }
+ /* generic fallbacks to try */
else if (Glib::file_test(X_("C:\\Program Files\\harvid\\ffmpeg.exe"), Glib::FILE_TEST_EXISTS)) {
- ffmpeg_exe = X_("C:\\Program Files\\ffmpeg\\ffmpeg.exe");
+ ffmpeg_exe = X_("C:\\Program Files\\harvid\\ffmpeg.exe");
}
else if (Glib::file_test(X_("C:\\Program Files\\ffmpeg\\ffmpeg.exe"), Glib::FILE_TEST_EXISTS)) {
ffmpeg_exe = X_("C:\\Program Files\\ffmpeg\\ffmpeg.exe");
+ } else {
+ ffmpeg_exe = X_("");
}
+#endif
- if (find_file_in_search_path (SearchPath(Glib::getenv("PATH")), X_("ffprobe_harvid"), ff_file_path)) { ffprobe_exe = ff_file_path; }
+ if (find_file (Searchpath(Glib::getenv("PATH")), X_("ffprobe_harvid"), ff_file_path)) {
+ ffprobe_exe = ff_file_path;
+ }
+#ifdef PLATFORM_WINDOWS
+ if (Glib::file_test(ffprobe_exe, Glib::FILE_TEST_EXISTS)) {
+ ;
+ }
+ else if (program_files && Glib::file_test(g_build_filename(program_files, "harvid", "ffprobe.exe", 0), Glib::FILE_TEST_EXISTS)) {
+ ffmpeg_exe = g_build_filename(program_files, "harvid", "ffprobe.exe", 0);
+ }
+ else if (program_files && Glib::file_test(g_build_filename(program_files, "ffmpeg", "ffprobe.exe", 0), Glib::FILE_TEST_EXISTS)) {
+ ffmpeg_exe = g_build_filename(program_files, "harvid", "ffprobe.exe", 0);
+ }
+ /* generic fallbacks to try */
else if (Glib::file_test(X_("C:\\Program Files\\harvid\\ffprobe.exe"), Glib::FILE_TEST_EXISTS)) {
- ffprobe_exe = X_("C:\\Program Files\\ffmpeg\\ffprobe.exe");
+ ffprobe_exe = X_("C:\\Program Files\\harvid\\ffprobe.exe");
}
else if (Glib::file_test(X_("C:\\Program Files\\ffmpeg\\ffprobe.exe"), Glib::FILE_TEST_EXISTS)) {
ffprobe_exe = X_("C:\\Program Files\\ffmpeg\\ffprobe.exe");
+ } else {
+ ffprobe_exe = X_("");
}
+#endif
if (ffmpeg_exe.empty() || ffprobe_exe.empty()) {
warning << string_compose(
@@ -112,7 +164,7 @@ TranscodeFfmpeg::probe ()
argp[4] = strdup("-show_streams");
argp[5] = strdup(infile.c_str());
argp[6] = 0;
- ffcmd = new SystemExec(ffprobe_exe, argp);
+ ffcmd = new ARDOUR::SystemExec(ffprobe_exe, argp);
ffcmd->ReadStdout.connect_same_thread (*this, boost::bind (&TranscodeFfmpeg::ffprobeparse, this, _1 ,_2));
ffcmd->Terminated.connect_same_thread (*this, boost::bind (&TranscodeFfmpeg::ffexit, this));
if (ffcmd->start(1)) {
@@ -127,7 +179,7 @@ TranscodeFfmpeg::probe ()
* SystemExec::Terminated is emitted and ffcmd set to NULL */
int timeout = 300; // 1.5 sec
while (ffcmd && --timeout > 0) {
- usleep(5000);
+ Glib::usleep(5000);
}
if (timeout == 0 || ffoutput.empty()) {
return false;
@@ -196,7 +248,7 @@ TranscodeFfmpeg::probe ()
h * 3600.0
+ m * 60.0
+ s * 1.0
- + atoi(f) / pow(10, strlen(f))
+ + atoi(f) / pow((double)10, (int)strlen(f))
));
}
} else if (key == X_("duration_ts") && m_fps == 0 && timebase !=0 ) {
@@ -348,6 +400,12 @@ TranscodeFfmpeg::encode (std::string outfile, std::string inf_a, std::string inf
argp[a++] = strdup("-metadata");
argp[a++] = format_metadata(it->first.c_str(), it->second.c_str());
}
+
+ if (m_fps > 0) {
+ m_lead_in = rint (m_lead_in * m_fps) / m_fps;
+ m_lead_out = rint (m_lead_out * m_fps) / m_fps;
+ }
+
if (m_lead_in != 0 && m_lead_out != 0) {
std::ostringstream osstream;
argp[a++] = strdup("-vf");
@@ -401,7 +459,7 @@ TranscodeFfmpeg::encode (std::string outfile, std::string inf_a, std::string inf
}
#endif
- ffcmd = new SystemExec(ffmpeg_exe, argp);
+ ffcmd = new ARDOUR::SystemExec(ffmpeg_exe, argp);
ffcmd->ReadStdout.connect_same_thread (*this, boost::bind (&TranscodeFfmpeg::ffmpegparse_v, this, _1 ,_2));
ffcmd->Terminated.connect_same_thread (*this, boost::bind (&TranscodeFfmpeg::ffexit, this));
if (ffcmd->start(2)) {
@@ -449,7 +507,7 @@ TranscodeFfmpeg::extract_audio (std::string outfile, ARDOUR::framecnt_t /*sample
}
#endif
- ffcmd = new SystemExec(ffmpeg_exe, argp);
+ ffcmd = new ARDOUR::SystemExec(ffmpeg_exe, argp);
ffcmd->ReadStdout.connect_same_thread (*this, boost::bind (&TranscodeFfmpeg::ffmpegparse_a, this, _1 ,_2));
ffcmd->Terminated.connect_same_thread (*this, boost::bind (&TranscodeFfmpeg::ffexit, this));
if (ffcmd->start(2)) {
@@ -509,7 +567,7 @@ TranscodeFfmpeg::transcode (std::string outfile, const int outw, const int outh,
printf("\n");
}
#endif
- ffcmd = new SystemExec(ffmpeg_exe, argp);
+ ffcmd = new ARDOUR::SystemExec(ffmpeg_exe, argp);
ffcmd->ReadStdout.connect_same_thread (*this, boost::bind (&TranscodeFfmpeg::ffmpegparse_v, this, _1 ,_2));
ffcmd->Terminated.connect_same_thread (*this, boost::bind (&TranscodeFfmpeg::ffexit, this));
if (ffcmd->start(2)) {
@@ -524,7 +582,11 @@ TranscodeFfmpeg::cancel ()
{
if (!ffcmd || !ffcmd->is_running()) { return;}
ffcmd->write_to_stdin("q");
+#ifdef PLATFORM_WINDOWS
+ Sleep(1000);
+#else
sleep (1);
+#endif
if (ffcmd) {
ffcmd->terminate();
}
@@ -558,7 +620,7 @@ TranscodeFfmpeg::ffmpegparse_a (std::string d, size_t /* s */)
h * 3600.0
+ m * 60.0
+ s * 1.0
- + atoi(f) / pow(10, strlen(f))
+ + atoi(f) / pow((double)10, (int)strlen(f))
));
p = p * m_fps / 100.0;
if (p > m_duration ) { p = m_duration; }
diff --git a/gtk2_ardour/transcode_ffmpeg.h b/gtk2_ardour/transcode_ffmpeg.h
index ec7a730763..2ee7529dc5 100644
--- a/gtk2_ardour/transcode_ffmpeg.h
+++ b/gtk2_ardour/transcode_ffmpeg.h
@@ -21,8 +21,8 @@
#define __ardour_transcode_ffmpeg_h__
#include <string>
+#include "ardour/system_exec.h"
#include "ardour/types.h"
-#include "system_exec.h"
/** @class TranscodeFfmpeg
@@ -122,13 +122,14 @@ class TranscodeFfmpeg : public sigc::trackable
void set_avoffset(double av_offset) { m_avoffset = av_offset; }
void set_leadinout(double lead_in, double lead_out) { m_lead_in = lead_in; m_lead_out = lead_out; }
+ void set_fps(double fps) { m_fps = fps; } // on export, used for rounding only.
#if 1 /* tentative debug mode */
void set_debug (bool onoff) { debug_enable = onoff; }
#endif
protected:
std::string infile;
- SystemExec *ffcmd;
+ ARDOUR::SystemExec *ffcmd;
bool probe ();
diff --git a/gtk2_ardour/transcode_video_dialog.cc b/gtk2_ardour/transcode_video_dialog.cc
index d0ebeb6fe5..16bfc36995 100644
--- a/gtk2_ardour/transcode_video_dialog.cc
+++ b/gtk2_ardour/transcode_video_dialog.cc
@@ -29,6 +29,8 @@
#include <sigc++/bind.h>
+#include <glib/gstdio.h>
+
#include "pbd/error.h"
#include "pbd/convert.h"
#include "gtkmm2ext/utils.h"
@@ -39,7 +41,6 @@
#include "ardour_ui.h"
#include "gui_thread.h"
-#include "utils.h"
#include "opts.h"
#include "transcode_video_dialog.h"
#include "utils_videotl.h"
@@ -306,9 +307,9 @@ void
TranscodeVideoDialog::finished ()
{
if (aborted) {
- unlink(path_entry.get_text().c_str());
+ ::g_unlink(path_entry.get_text().c_str());
if (!audiofile.empty()) {
- unlink(audiofile.c_str());
+ ::g_unlink(audiofile.c_str());
}
Gtk::Dialog::response(RESPONSE_CANCEL);
} else {
diff --git a/gtk2_ardour/trx.menus.in b/gtk2_ardour/trx.menus.in
new file mode 100644
index 0000000000..07efb78789
--- /dev/null
+++ b/gtk2_ardour/trx.menus.in
@@ -0,0 +1,319 @@
+<ui>
+ <accelerator action='set-mouse-mode-object'/>
+ <accelerator action='set-mouse-mode-range'/>
+ <accelerator action='set-mouse-mode-gain'/>
+ <accelerator action='set-mouse-mode-draw'/>
+ <accelerator action='set-mouse-mode-zoom'/>
+ <accelerator action='set-mouse-mode-timefx'/>
+ <accelerator action='set-mouse-mode-object-range'/>
+ <accelerator action='toggle-internal-edit'/>
+ <accelerator action='focus-on-clock'/>
+ <accelerator action='track-solo-toggle'/>
+ <accelerator action='track-mute-toggle'/>
+ <accelerator action='toggle-edit-mode'/>
+ <accelerator action='toggle-midi-input-active'/>
+
+<!--
+ <menuitem action='goto-mark-1'/>
+ <menuitem action='goto-mark-2'/>
+ <menuitem action='goto-mark-3'/>
+ <menuitem action='goto-mark-4'/>
+ <menuitem action='goto-mark-5'/>
+ <menuitem action='goto-mark-6'/>
+ <menuitem action='goto-mark-7'/>
+ <menuitem action='goto-mark-8'/>
+ <menuitem action='goto-mark-9'/>
+-->
+
+ <menubar name='Main' action='MainMenu'>
+ <menu name='Session' action='Session'>
+ <menuitem action='New'/>
+ <menuitem action='Open'/>
+ <menuitem action='Recent'/>
+ <menuitem action='Close'/>
+ <separator/>
+ <menuitem action='Save'/>
+ <menuitem action='SaveAs'/>
+ <separator/>
+ <menuitem action='addExistingAudioFiles'/>
+ <menu name='Export' action='Export'>
+ <menuitem action='ExportAudio'/>
+ <menuitem action='StemExport'/>
+ </menu>
+ <menu name='Cleanup' action='Cleanup'>
+ <menuitem action='CleanupUnused'/>
+ <menuitem action='FlushWastebasket'/>
+ </menu>
+#ifdef GTKOSX
+ <menuitem action='toggle-about'/>
+ <menuitem action='toggle-rc-options-editor'/>
+#endif
+#ifndef GTKOSX
+ <separator/>
+ <menuitem action='Quit'/>
+#endif
+ </menu>
+
+ <menu name='Transport' action='Transport'>
+ <menuitem action='ToggleRoll'/>
+ <menu action="PlayMenu">
+ <menuitem action='main-menu-play-selected-regions'/>
+ <menuitem action='play-edit-range'/>
+ <menuitem action='PlaySelection'/>
+ <menuitem action='PlayPreroll'/>
+ <menuitem action='play-from-edit-point-and-return'/>
+ <menuitem action='Loop'/>
+ </menu>
+ <menuitem action='Record'/>
+
+ <menu action="MovePlayHeadMenu">
+ <menuitem action='jump-forward-to-mark'/>
+ <menuitem action='jump-backward-to-mark'/>
+ <menuitem action='GotoStart'/>
+ <menuitem action='GotoEnd'/>
+ </menu>
+
+ <separator/>
+ <menuitem action='ToggleAutoPlay'/>
+ <menuitem action='ToggleAutoReturn'/>
+ <menuitem action='toggle-follow-playhead'/>
+ <separator/>
+ </menu>
+
+ <menu name='Edit' action='Edit'>
+ <menuitem action='undo'/>
+ <menuitem action='redo'/>
+ <menuitem action='editor-cut'/>
+ <menuitem action='editor-copy'/>
+ <menuitem action='editor-paste'/>
+ <separator/>
+ <menu action="SelectMenu">
+ <menuitem action='select-all'/>
+ <menuitem action='deselect-all'/>
+ <menuitem action='invert-selection'/>
+ </menu>
+ <separator/>
+ <menuitem action='editor-delete'/>
+ <menuitem action='editor-crop'/>
+ <menuitem action='split-region'/>
+ <separator/>
+#ifndef GTKOSX
+ <separator/>
+ <menuitem action='toggle-rc-options-editor'/>
+#endif
+ </menu>
+
+ <menu action='TrackMenu'>
+ <menuitem action='AddTrackBus'/>
+ <menuitem action="move-selected-tracks-up"/>
+ <menuitem action="move-selected-tracks-down"/>
+ </menu>
+
+ <menu name='View' action = 'View'>
+ <menuitem action='KeepTearoffs'/>
+
+ <separator/>
+
+ <menu action="PrimaryClockMenu">
+ <menuitem action="primary-clock-timecode"/>
+ <menuitem action="primary-clock-minsec"/>
+ <menuitem action="primary-clock-samples"/>
+ </menu>
+
+ <separator/>
+
+ <menu action="ZoomMenu">
+ <menuitem action='temporal-zoom-in'/>
+ <menuitem action='temporal-zoom-out'/>
+ </menu>
+ <menu name='ZoomFocus' action='ZoomFocus'>
+ <menuitem action='zoom-focus-left'/>
+ <menuitem action='zoom-focus-right'/>
+ <menuitem action='zoom-focus-center'/>
+ <menuitem action='zoom-focus-playhead'/>
+ <menuitem action='zoom-focus-mouse'/>
+ <menuitem action='zoom-focus-edit'/>
+ <menuitem action='cycle-zoom-focus'/>
+ </menu>
+
+ <menu action="RulerMenu">
+ <menuitem action="toggle-minsec-ruler"/>
+ <menuitem action="toggle-samples-ruler"/>
+ <separator/>
+ <menuitem action="toggle-marker-ruler"/>
+ </menu>
+ <menuitem action='show-editor-mixer'/>
+ </menu>
+ <menu action = 'WindowMenu'>
+ <menuitem action='toggle-mixer'/>
+ <menuitem action='toggle-meterbridge'/>
+ <menuitem action='toggle-editor-mixer'/>
+ <separator/>
+ <menuitem action='toggle-locations'/>
+ <menuitem action='toggle-key-editor'/>
+ <menuitem action='toggle-big-clock'/>
+ </menu>
+ <menu name='Help' action='Help'>
+#ifndef GTKOSX
+ <menuitem action='toggle-about'/>
+#endif
+ <menuitem action='Manual'/>
+ </menu>
+ </menubar>
+
+ <popup action="RulerMenuPopup">
+ <menuitem action="toggle-minsec-ruler"/>
+ <menuitem action="toggle-timecode-ruler"/>
+ <menuitem action="toggle-samples-ruler"/>
+ <menuitem action="toggle-marker-ruler"/>
+ </popup>
+
+ <popup name='ProcessorMenu'>
+ <menuitem action='newplugin'/>
+ <menuitem action='newinsert'/>
+ <menuitem action='newsend'/>
+ <menuitem action='newaux'/>
+ <separator/>
+ <menuitem action='controls'/>
+ <menuitem action='send_options'/>
+ <separator/>
+ <menuitem action='clear'/>
+ <menuitem action='clear_pre'/>
+ <menuitem action='clear_post'/>
+ <separator/>
+ <menuitem action='cut'/>
+ <menuitem action='copy'/>
+ <menuitem action='paste'/>
+ <menuitem action='delete'/>
+ <separator/>
+ <menuitem action='rename'/>
+ <separator/>
+ <menuitem action='selectall'/>
+ <menuitem action='deselectall'/>
+ <separator/>
+ <menuitem action='activate_all'/>
+ <menuitem action='deactivate_all'/>
+ <menuitem action='ab_plugins'/>
+ <separator/>
+ <menuitem action='edit'/>
+ <menuitem action='edit-generic'/>
+ </popup>
+
+ <popup name='ShuttleUnitPopup'>
+ <menuitem action='SetShuttleUnitsPercentage'/>
+ <menuitem action='SetShuttleUnitsSemitones'/>
+ </popup>
+
+ <popup name='RegionListMenu'>
+ <menuitem action='rlAudition'/>
+ <menuitem action='rlHide'/>
+ <menuitem action='rlShow'/>
+ <separator/>
+ <menuitem action='rlShowAll'/>
+ <menuitem action='rlShowAuto'/>
+ <menu name='Sort' action='RegionListSort'>
+ <menuitem action='SortAscending'/>
+ <menuitem action='SortDescending'/>
+ <separator/>
+ <menuitem action='SortByRegionName'/>
+ <menuitem action='SortByRegionLength'/>
+ <menuitem action='SortByRegionPosition'/>
+ <menuitem action='SortByRegionTimestamp'/>
+ <menuitem action='SortByRegionStartinFile'/>
+ <menuitem action='SortByRegionEndinFile'/>
+ <menuitem action='SortBySourceFileName'/>
+ <menuitem action='SortBySourceFileLength'/>
+ <menuitem action='SortBySourceFileCreationDate'/>
+ <menuitem action='SortBySourceFilesystem'/>
+ </menu>
+ <separator/>
+ <menuitem action='addExternalAudioToRegionList'/>
+ <separator/>
+ <menuitem action='removeUnusedRegions'/>
+ </popup>
+
+ <popup name='PopupRegionMenu' action='PopupRegionMenu'>
+ <menuitem action='loop-region'/>
+ <menuitem action='rename-region'/>
+ <menu action='RegionMenuEdit'>
+ <menuitem action='combine-regions'/>
+ <menuitem action='uncombine-regions'/>
+ <menuitem action='split-region'/>
+ <menuitem action='split-multichannel-region'/>
+ <menuitem action='toggle-opaque-region'/>
+ <menuitem action='toggle-region-mute'/>
+ <menuitem action='pitch-shift-region'/>
+ <menuitem action='reverse-region'/>
+ <menuitem action='close-region-gaps'/>
+ <menuitem action='place-transient' />
+ <menuitem action='show-rhythm-ferret'/>
+ <menuitem action='strip-region-silence'/>
+ </menu>
+ <menu action='RegionMenuMIDI'>
+ <menuitem action='transpose-region'/>
+ <menuitem action='insert-patch-change-context'/>
+ <menuitem action='quantize-region'/>
+ <menuitem action='fork-region'/>
+ <menuitem action='show-region-list-editor'/>
+ </menu>
+ <menu action='RegionMenuPosition'>
+ <menuitem action='naturalize-region'/>
+ <menuitem action='toggle-region-lock'/>
+ <menuitem action='toggle-region-lock-style'/>
+ <menuitem action='toggle-region-video-lock'/>
+ <menuitem action='snap-regions-to-grid'/>
+ <menuitem action='set-region-sync-position'/>
+ <menuitem action='remove-region-sync'/>
+ <menuitem action='nudge-forward'/>
+ <menuitem action='nudge-backward'/>
+ <menuitem action='nudge-forward-by-capture-offset'/>
+ <menuitem action='nudge-backward-by-capture-offset'/>
+ </menu>
+ <menu action='RegionMenuTrim'>
+ <menuitem action='trim-front'/>
+ <menuitem action='trim-back'/>
+ <menuitem action='trim-region-to-loop'/>
+ <menuitem action='trim-region-to-punch'/>
+ <menuitem action='trim-to-previous-region'/>
+ <menuitem action='trim-to-next-region'/>
+ </menu>
+ <menu action='RegionMenuLayering'>
+ <menuitem action='raise-region-to-top'/>
+ <menuitem action='raise-region'/>
+ <menuitem action='lower-region'/>
+ <menuitem action='lower-region-to-bottom'/>
+ </menu>
+ <menu action='RegionMenuRanges'>
+ <menuitem action='set-loop-from-region'/>
+ <menuitem action='set-punch-from-region'/>
+ <menuitem action='add-range-marker-from-region'/>
+ <menuitem action='add-range-markers-from-region'/>
+ <menuitem action='set-selection-from-region'/>
+ </menu>
+ <menu action='RegionMenuGain'>
+ <menuitem action='normalize-region'/>
+ <menuitem action='boost-region-gain'/>
+ <menuitem action='cut-region-gain'/>
+ <menuitem action='reset-region-gain-envelopes'/>
+ <menuitem action='toggle-region-gain-envelope-active'/>
+ </menu>
+ <menu action='RegionMenuFades'>
+ <menuitem action='toggle-region-fade-in'/>
+ <menuitem action='toggle-region-fade-out'/>
+ <menuitem action='toggle-region-fades'/>
+ </menu>
+ <menu action='RegionMenuDuplicate'>
+ <menuitem action='duplicate-region'/>
+ <menuitem action='multi-duplicate-region'/>
+ <menuitem action='region-fill-track'/>
+ </menu>
+ <menuitem action='export-region'/>
+ <menuitem action='bounce-regions-processed'/>
+ <menuitem action='bounce-regions-unprocessed'/>
+ <menuitem action='analyze-region'/>
+ <separator/>
+ <menuitem action='remove-region'/>
+
+ </popup>
+
+</ui>
diff --git a/gtk2_ardour/ui_config.cc b/gtk2_ardour/ui_config.cc
index 86f03bbd95..86e08d7fa6 100644
--- a/gtk2_ardour/ui_config.cc
+++ b/gtk2_ardour/ui_config.cc
@@ -40,16 +40,23 @@ using namespace std;
using namespace PBD;
using namespace ARDOUR;
+static const char* ui_config_file_name = "ui_config";
+static const char* default_ui_config_file_name = "default_ui_config";
+
UIConfiguration::UIConfiguration ()
:
#undef UI_CONFIG_VARIABLE
#undef CANVAS_VARIABLE
#define UI_CONFIG_VARIABLE(Type,var,name,val) var (name,val),
#define CANVAS_VARIABLE(var,name) var (name),
+#define CANVAS_STRING_VARIABLE(var,name) var (name),
+#define CANVAS_FONT_VARIABLE(var,name) var (name),
#include "ui_config_vars.h"
#include "canvas_vars.h"
#undef UI_CONFIG_VARIABLE
#undef CANVAS_VARIABLE
+#undef CANVAS_STRING_VARIABLE
+#undef CANVAS_FONT_VARIABLE
_dirty (false)
{
load_state();
@@ -59,26 +66,25 @@ UIConfiguration::~UIConfiguration ()
{
}
+void
+UIConfiguration::map_parameters (boost::function<void (std::string)>& functor)
+{
+#undef UI_CONFIG_VARIABLE
+#define UI_CONFIG_VARIABLE(Type,var,Name,value) functor (Name);
+#include "ui_config_vars.h"
+#undef UI_CONFIG_VARIABLE
+}
+
int
UIConfiguration::load_defaults ()
{
int found = 0;
+ std::string rcfile;
- std::string default_ui_rc_file;
- std::string rcfile;
-
- if (getenv ("ARDOUR_SAE")) {
- rcfile = "ardour3_ui_sae.conf";
- } else {
- rcfile = "ardour3_ui_default.conf";
- }
-
- if (find_file_in_search_path (ardour_config_search_path(), rcfile, default_ui_rc_file) ) {
+ if (find_file (ardour_config_search_path(), default_ui_config_file_name, rcfile) ) {
XMLTree tree;
found = 1;
- string rcfile = default_ui_rc_file;
-
info << string_compose (_("Loading default ui configuration file %1"), rcfile) << endl;
if (!tree.read (rcfile.c_str())) {
@@ -102,14 +108,12 @@ UIConfiguration::load_state ()
{
bool found = false;
- std::string default_ui_rc_file;
+ std::string rcfile;
- if ( find_file_in_search_path (ardour_config_search_path(), "ardour3_ui_default.conf", default_ui_rc_file)) {
+ if ( find_file (ardour_config_search_path(), default_ui_config_file_name, rcfile)) {
XMLTree tree;
found = true;
- string rcfile = default_ui_rc_file;
-
info << string_compose (_("Loading default ui configuration file %1"), rcfile) << endl;
if (!tree.read (rcfile.c_str())) {
@@ -123,14 +127,10 @@ UIConfiguration::load_state ()
}
}
- std::string user_ui_rc_file;
-
- if (find_file_in_search_path (ardour_config_search_path(), "ardour3_ui.conf", user_ui_rc_file)) {
+ if (find_file (ardour_config_search_path(), ui_config_file_name, rcfile)) {
XMLTree tree;
found = true;
- string rcfile = user_ui_rc_file;
-
info << string_compose (_("Loading user ui configuration file %1"), rcfile) << endmsg;
if (!tree.read (rcfile)) {
@@ -160,7 +160,7 @@ UIConfiguration::save_state()
XMLTree tree;
std::string rcfile(user_config_directory());
- rcfile = Glib::build_filename (rcfile, "ardour3_ui.conf");
+ rcfile = Glib::build_filename (rcfile, ui_config_file_name);
// this test seems bogus?
if (rcfile.length()) {
@@ -206,10 +206,14 @@ UIConfiguration::get_variables (std::string which_node)
#undef CANVAS_VARIABLE
#define UI_CONFIG_VARIABLE(Type,var,Name,value) if (node->name() == "UI") { var.add_to_node (*node); }
#define CANVAS_VARIABLE(var,Name) if (node->name() == "Canvas") { var.add_to_node (*node); }
+#define CANVAS_STRING_VARIABLE(var,Name) if (node->name() == "Canvas") { var.add_to_node (*node); }
+#define CANVAS_FONT_VARIABLE(var,Name) if (node->name() == "Canvas") { var.add_to_node (*node); }
#include "ui_config_vars.h"
#include "canvas_vars.h"
#undef UI_CONFIG_VARIABLE
#undef CANVAS_VARIABLE
+#undef CANVAS_STRING_VARIABLE
+#undef CANVAS_FONT_VARIABLE
return *node;
}
@@ -253,32 +257,75 @@ UIConfiguration::set_variables (const XMLNode& node)
if (var.set_from_node (node)) { \
ParameterChanged (name); \
}
+#define CANVAS_STRING_VARIABLE(var,name) \
+ if (var.set_from_node (node)) { \
+ ParameterChanged (name); \
+ }
+#define CANVAS_FONT_VARIABLE(var,name) \
+ if (var.set_from_node (node)) { \
+ ParameterChanged (name); \
+ }
#include "ui_config_vars.h"
#include "canvas_vars.h"
#undef UI_CONFIG_VARIABLE
#undef CANVAS_VARIABLE
+#undef CANVAS_STRING_VARIABLE
+#undef CANVAS_FONT_VARIABLE
}
void
UIConfiguration::pack_canvasvars ()
{
#undef CANVAS_VARIABLE
-#define CANVAS_VARIABLE(var,name) canvas_colors.insert (std::pair<std::string,UIConfigVariable<uint32_t>* >(name,&var));
+#define CANVAS_VARIABLE(var,name) canvas_colors.insert (std::pair<std::string,ColorVariable<uint32_t>* >(name,&var));
+#define CANVAS_STRING_VARIABLE(var,name)
+#define CANVAS_FONT_VARIABLE(var,name)
#include "canvas_vars.h"
#undef CANVAS_VARIABLE
+#undef CANVAS_STRING_VARIABLE
+#undef CANVAS_FONT_VARIABLE
}
uint32_t
UIConfiguration::color_by_name (const std::string& name)
{
- map<std::string,UIConfigVariable<uint32_t>* >::iterator i = canvas_colors.find (name);
+ map<std::string,ColorVariable<uint32_t>* >::iterator i = canvas_colors.find (name);
if (i != canvas_colors.end()) {
return i->second->get();
}
+#if 0 // yet unsed experimental style postfix
+ /* Idea: use identical colors but different font/sizes
+ * for variants of the same 'widget'.
+ *
+ * example:
+ * set_name("mute button"); // in route_ui.cc
+ * set_name("mute button small"); // in mixer_strip.cc
+ *
+ * ardour3_widget_list.rc:
+ * widget "*mute button" style:highest "small_button"
+ * widget "*mute button small" style:highest "very_small_text"
+ *
+ * both use color-schema of defined in
+ * BUTTON_VARS(MuteButton, "mute button")
+ *
+ * (in this particular example the widgets should be packed
+ * vertically shinking the mixer strip ones are currently not)
+ */
+ const size_t name_len = name.size();
+ const size_t name_sep = name.find(':');
+ for (i = canvas_colors.begin(); i != canvas_colors.end(), name_sep != string::npos; ++i) {
+ const size_t cmp_len = i->first.size();
+ const size_t cmp_sep = i->first.find(':');
+ if (cmp_len >= name_len || cmp_sep == string::npos) continue;
+ if (name.substr(name_sep) != i->first.substr(cmp_sep)) continue;
+ if (name.substr(0, cmp_sep) != i->first.substr(0, cmp_sep)) continue;
+ return i->second->get();
+ }
+#endif
// cerr << string_compose (_("Color %1 not found"), name) << endl;
- return RGBA_TO_UINT (random()%256,random()%256,random()%256,0xff);
+ return RGBA_TO_UINT (g_random_int()%256,g_random_int()%256,g_random_int()%256,0xff);
}
void
diff --git a/gtk2_ardour/ui_config.h b/gtk2_ardour/ui_config.h
index f96659de76..0000eb63f5 100644
--- a/gtk2_ardour/ui_config.h
+++ b/gtk2_ardour/ui_config.h
@@ -28,12 +28,19 @@
#include "pbd/xml++.h"
#include "ardour/configuration_variable.h"
+#include "utils.h"
+
+/* This is very similar to ARDOUR::ConfigVariable but expects numeric values to
+ * be in hexadecimal. This is because it is intended for use with color
+ * specifications which are easier to scan for issues in "rrggbbaa" format than
+ * as decimals.
+ */
template<class T>
-class UIConfigVariable : public ARDOUR::ConfigVariableBase
+class ColorVariable : public ARDOUR::ConfigVariableBase
{
public:
- UIConfigVariable (std::string str) : ARDOUR::ConfigVariableBase (str) {}
- UIConfigVariable (std::string str, T val) : ARDOUR::ConfigVariableBase (str), value (val) {}
+ ColorVariable (std::string str) : ARDOUR::ConfigVariableBase (str) {}
+ ColorVariable (std::string str, T val) : ARDOUR::ConfigVariableBase (str), value (val) {}
bool set (T val) {
if (val == value) {
@@ -74,7 +81,7 @@ class UIConfiguration : public PBD::Stateful
UIConfiguration();
~UIConfiguration();
- std::map<std::string,UIConfigVariable<uint32_t> *> canvas_colors;
+ std::map<std::string,ColorVariable<uint32_t> *> canvas_colors;
bool dirty () const;
void set_dirty ();
@@ -91,18 +98,49 @@ class UIConfiguration : public PBD::Stateful
uint32_t color_by_name (const std::string&);
- sigc::signal<void,const char*> ParameterChanged;
+ sigc::signal<void,std::string> ParameterChanged;
+ void map_parameters (boost::function<void (std::string)>&);
+#undef UI_CONFIG_VARIABLE
+#define UI_CONFIG_VARIABLE(Type,var,name,value) \
+ Type get_##var () const { return var.get(); } \
+ bool set_##var (Type val) { bool ret = var.set (val); if (ret) { ParameterChanged (name); } return ret; }
+#include "ui_config_vars.h"
#undef UI_CONFIG_VARIABLE
+#undef CANVAS_VARIABLE
+#undef CANVAS_STRING_VARIABLE
+#define CANVAS_VARIABLE(var,name) \
+ uint32_t get_##var () const { return var.get(); } \
+ bool set_##var (uint32_t val) { bool ret = var.set (val); if (ret) { ParameterChanged (name); } return ret; }
+#define CANVAS_STRING_VARIABLE(var,name) \
+ std::string get_##var () const { return var.get(); } \
+ bool set_##var (const std::string& val) { bool ret = var.set (val); if (ret) { ParameterChanged (name); } return ret; }
+#define CANVAS_FONT_VARIABLE(var,name) \
+ Pango::FontDescription get_##var () const { return ARDOUR_UI_UTILS::sanitized_font (var.get()); } \
+ bool set_##var (const std::string& val) { bool ret = var.set (val); if (ret) { ParameterChanged (name); } return ret; }
+#include "canvas_vars.h"
#undef CANVAS_VARIABLE
-#define UI_CONFIG_VARIABLE(Type,var,name,val) UIConfigVariable<Type> var;
-#define CANVAS_VARIABLE(var,name) UIConfigVariable<uint32_t> var;
+#undef CANVAS_STRING_VARIABLE
+#undef CANVAS_FONT_VARIABLE
+
+ private:
+
+ /* declare variables */
+
+#undef UI_CONFIG_VARIABLE
+#define UI_CONFIG_VARIABLE(Type,var,name,value) ARDOUR::ConfigVariable<Type> var;
#include "ui_config_vars.h"
+#undef UI_CONFIG_VARIABLE
+
+#undef CANVAS_VARIABLE
+#define CANVAS_VARIABLE(var,name) ColorVariable<uint32_t> var;
+#define CANVAS_STRING_VARIABLE(var,name) ARDOUR::ConfigVariable<std::string> var;
+#define CANVAS_FONT_VARIABLE(var,name) ARDOUR::ConfigVariable<std::string> var;
#include "canvas_vars.h"
-#undef UI_CONFIG_VARIABLE
#undef CANVAS_VARIABLE
+#undef CANVAS_STRING_VARIABLE
+#undef CANVAS_FONT_VARIABLE
- private:
XMLNode& state ();
bool _dirty;
};
diff --git a/gtk2_ardour/ui_config_vars.h b/gtk2_ardour/ui_config_vars.h
index ad266d9674..91bb75a761 100644
--- a/gtk2_ardour/ui_config_vars.h
+++ b/gtk2_ardour/ui_config_vars.h
@@ -17,8 +17,15 @@
*/
-UI_CONFIG_VARIABLE(std::string, ui_rc_file, "ui-rc-file", "ardour3_ui_dark.rc")
+UI_CONFIG_VARIABLE(std::string, icon_set, "icon-set", "default")
+UI_CONFIG_VARIABLE(std::string, ui_rc_file, "ui-rc-file", "ui_dark.rc")
UI_CONFIG_VARIABLE(bool, flat_buttons, "flat-buttons", false)
-UI_CONFIG_VARIABLE(bool, gradient_waveforms, "gradient-waveforms", false)
+UI_CONFIG_VARIABLE(bool, blink_rec_arm, "blink-rec-arm", false)
+UI_CONFIG_VARIABLE(float, waveform_gradient_depth, "waveform-gradient-depth", 0)
+UI_CONFIG_VARIABLE(float, timeline_item_gradient_depth, "timeline-item-gradient-depth", 0.5)
UI_CONFIG_VARIABLE(bool, all_floating_windows_are_dialogs, "all-floating-windows-are-dialogs", false)
+UI_CONFIG_VARIABLE (bool, color_regions_using_track_color, "color-regions-using-track-color", false)
+UI_CONFIG_VARIABLE (bool, show_waveform_clipping, "show-waveform-clipping", true)
+UI_CONFIG_VARIABLE (uint32_t, lock_gui_after_seconds, "lock-gui-after-seconds", 0)
+UI_CONFIG_VARIABLE (bool, draggable_playhead, "draggable-playhead", true)
diff --git a/gtk2_ardour/ardour3_ui_dark.rc.in b/gtk2_ardour/ui_dark.rc.in
index cba0f8cab5..5c6a00065d 100644
--- a/gtk2_ardour/ardour3_ui_dark.rc.in
+++ b/gtk2_ardour/ui_dark.rc.in
@@ -350,6 +350,6 @@ style "status_bar_box"
bg[NORMAL] = { 0.149, 0.149, 0.149 }
}
-##include ardour3_dark_fonts.rc
-##include ardour3_dark_styles.rc
-##include ardour3_widgets.rc
+##include dark_fonts.rc
+##include dark_styles.rc
+##include widgets.rc
diff --git a/gtk2_ardour/ardour3_ui_light.rc.in b/gtk2_ardour/ui_light.rc.in
index 5b83be9483..f04ed72d48 100644
--- a/gtk2_ardour/ardour3_ui_light.rc.in
+++ b/gtk2_ardour/ui_light.rc.in
@@ -361,6 +361,6 @@ style "status_bar_box"
bg[NORMAL] = { 0.149, 0.149, 0.149 }
}
-##include ardour3_light_fonts.rc
-##include ardour3_light_styles.rc
-##include ardour3_widgets.rc
+##include light_fonts.rc
+##include light_styles.rc
+##include widgets.rc
diff --git a/gtk2_ardour/utils.cc b/gtk2_ardour/utils.cc
index a0fd7016b5..8011f6abfd 100644
--- a/gtk2_ardour/utils.cc
+++ b/gtk2_ardour/utils.cc
@@ -32,7 +32,6 @@
#include <fstream>
#include <list>
#include <sys/stat.h>
-#include <libart_lgpl/art_misc.h>
#include <gtkmm/rc.h>
#include <gtkmm/window.h>
#include <gtkmm/combo.h>
@@ -45,9 +44,11 @@
#include <gtkmm2ext/utils.h>
#include "ardour/rc_configuration.h"
-
#include "ardour/filesystem_paths.h"
+#include "canvas/item.h"
+#include "canvas/utils.h"
+
#include "ardour_ui.h"
#include "debug.h"
#include "public_editor.h"
@@ -55,7 +56,6 @@
#include "utils.h"
#include "i18n.h"
#include "rgb_macros.h"
-#include "canvas_impl.h"
#include "gui_thread.h"
using namespace std;
@@ -64,7 +64,13 @@ using namespace Glib;
using namespace PBD;
using Gtkmm2ext::Keyboard;
-sigc::signal<void> DPIReset;
+namespace ARDOUR_UI_UTILS {
+ sigc::signal<void> DPIReset;
+}
+
+#ifdef PLATFORM_WINDOWS
+#define random() rand()
+#endif
/** Add an element to a menu, settings its sensitivity.
@@ -73,7 +79,7 @@ sigc::signal<void> DPIReset;
* @param s true to make sensitive, false to make insensitive
*/
void
-add_item_with_sensitivity (Menu_Helpers::MenuList& m, Menu_Helpers::MenuElem e, bool s)
+ARDOUR_UI_UTILS::add_item_with_sensitivity (Menu_Helpers::MenuList& m, Menu_Helpers::MenuElem e, bool s)
{
m.push_back (e);
if (!s) {
@@ -83,7 +89,7 @@ add_item_with_sensitivity (Menu_Helpers::MenuList& m, Menu_Helpers::MenuElem e,
gint
-just_hide_it (GdkEventAny */*ev*/, Gtk::Window *win)
+ARDOUR_UI_UTILS::just_hide_it (GdkEventAny */*ev*/, Gtk::Window *win)
{
win->hide ();
return 0;
@@ -98,7 +104,7 @@ just_hide_it (GdkEventAny */*ev*/, Gtk::Window *win)
*/
unsigned char*
-xpm2rgb (const char** xpm, uint32_t& w, uint32_t& h)
+ARDOUR_UI_UTILS::xpm2rgb (const char** xpm, uint32_t& w, uint32_t& h)
{
static long vals[256], val;
uint32_t t, x, y, colors, cpp;
@@ -140,7 +146,7 @@ xpm2rgb (const char** xpm, uint32_t& w, uint32_t& h)
}
unsigned char*
-xpm2rgba (const char** xpm, uint32_t& w, uint32_t& h)
+ARDOUR_UI_UTILS::xpm2rgba (const char** xpm, uint32_t& w, uint32_t& h)
{
static long vals[256], val;
uint32_t t, x, y, colors, cpp;
@@ -202,20 +208,34 @@ xpm2rgba (const char** xpm, uint32_t& w, uint32_t& h)
return (savergb);
}
-ArdourCanvas::Points*
-get_canvas_points (string /*who*/, uint32_t npoints)
+/** Returns a Pango::FontDescription given a string describing the font.
+ *
+ * If the returned FontDescription does not specify a family, then
+ * the family is set to "Sans". This mirrors GTK's behaviour in
+ * gtkstyle.c.
+ *
+ * Some environments will force Pango to specify the family
+ * even if it was not specified in the string describing the font.
+ * Such environments should be left unaffected by this function,
+ * since the font family will be left alone.
+ *
+ * There may be other similar font specification enforcement
+ * that we might add here later.
+ */
+Pango::FontDescription
+ARDOUR_UI_UTILS::sanitized_font (std::string const& name)
{
- // cerr << who << ": wants " << npoints << " canvas points" << endl;
-#ifdef TRAP_EXCESSIVE_POINT_REQUESTS
- if (npoints > (uint32_t) gdk_screen_width() + 4) {
- abort ();
+ Pango::FontDescription fd (name);
+
+ if (fd.get_family().empty()) {
+ fd.set_family ("Sans");
}
-#endif
- return new ArdourCanvas::Points (npoints);
+
+ return fd;
}
Pango::FontDescription
-get_font_for_style (string widgetname)
+ARDOUR_UI_UTILS::get_font_for_style (string widgetname)
{
Gtk::Window window (WINDOW_TOPLEVEL);
Gtk::Label foobar;
@@ -244,7 +264,7 @@ get_font_for_style (string widgetname)
}
uint32_t
-rgba_from_style (string style, uint32_t r, uint32_t g, uint32_t b, uint32_t a, string attr, int state, bool rgba)
+ARDOUR_UI_UTILS::rgba_from_style (string style, uint32_t r, uint32_t g, uint32_t b, uint32_t a, string attr, int state, bool rgba)
{
/* In GTK+2, styles aren't set up correctly if the widget is not
attached to a toplevel window that has a screen pointer.
@@ -298,12 +318,12 @@ rgba_from_style (string style, uint32_t r, uint32_t g, uint32_t b, uint32_t a, s
if (state == Gtk::STATE_NORMAL && rgba) {
return (uint32_t) RGBA_TO_UINT(r,g,b,a);
} else {
- return (uint32_t) RGB_TO_UINT(r,g,b);
+ return (uint32_t) RGBA_TO_UINT(r,g,b,255);
}
}
bool
-rgba_p_from_style (string style, float *r, float *g, float *b, string attr, int state)
+ARDOUR_UI_UTILS::rgba_p_from_style (string style, float *r, float *g, float *b, string attr, int state)
{
static Gtk::Window* window = 0;
assert (r && g && b);
@@ -349,20 +369,42 @@ rgba_p_from_style (string style, float *r, float *g, float *b, string attr, int
return true;
}
-bool
-canvas_item_visible (ArdourCanvas::Item* item)
+void
+ARDOUR_UI_UTILS::set_color_from_rgb (Gdk::Color& c, uint32_t rgb)
{
- return (item->gobj()->object.flags & GNOME_CANVAS_ITEM_VISIBLE) ? true : false;
+ /* Gdk::Color color ranges are 16 bit, so scale from 8 bit by
+ multiplying by 256.
+ */
+ c.set_rgb ((rgb >> 16)*256, ((rgb & 0xff00) >> 8)*256, (rgb & 0xff)*256);
}
void
-set_color (Gdk::Color& c, int rgb)
+ARDOUR_UI_UTILS::set_color_from_rgba (Gdk::Color& c, uint32_t rgba)
+{
+ /* Gdk::Color color ranges are 16 bit, so scale from 8 bit by
+ multiplying by 256.
+ */
+ c.set_rgb ((rgba >> 24)*256, ((rgba & 0xff0000) >> 16)*256, ((rgba & 0xff00) >> 8)*256);
+}
+
+uint32_t
+ARDOUR_UI_UTILS::gdk_color_to_rgba (Gdk::Color const& c)
{
- c.set_rgb((rgb >> 16)*256, ((rgb & 0xff00) >> 8)*256, (rgb & 0xff)*256);
+ /* since alpha value is not available from a Gdk::Color, it is
+ hardcoded as 0xff (aka 255 or 1.0)
+ */
+
+ const uint32_t r = c.get_red_p () * 255.0;
+ const uint32_t g = c.get_green_p () * 255.0;
+ const uint32_t b = c.get_blue_p () * 255.0;
+ const uint32_t a = 0xff;
+
+ return RGBA_TO_UINT (r,g,b,a);
}
+
bool
-relay_key_press (GdkEventKey* ev, Gtk::Window* win)
+ARDOUR_UI_UTILS::relay_key_press (GdkEventKey* ev, Gtk::Window* win)
{
PublicEditor& ed (PublicEditor::instance());
@@ -378,13 +420,13 @@ relay_key_press (GdkEventKey* ev, Gtk::Window* win)
}
bool
-forward_key_press (GdkEventKey* ev)
+ARDOUR_UI_UTILS::forward_key_press (GdkEventKey* ev)
{
- return PublicEditor::instance().on_key_press_event(ev);
+ return PublicEditor::instance().on_key_press_event(ev);
}
bool
-emulate_key_event (Gtk::Widget* w, unsigned int keyval)
+ARDOUR_UI_UTILS::emulate_key_event (Gtk::Widget* w, unsigned int keyval)
{
GdkDisplay *display = gtk_widget_get_display (GTK_WIDGET(w->gobj()));
GdkKeymap *keymap = gdk_keymap_get_for_display (display);
@@ -413,7 +455,7 @@ emulate_key_event (Gtk::Widget* w, unsigned int keyval)
}
bool
-key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev)
+ARDOUR_UI_UTILS::key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev)
{
GtkWindow* win = window.gobj();
GtkWidget* focus = gtk_window_get_focus (win);
@@ -544,8 +586,8 @@ key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev)
/* no special handling or there are modifiers in effect: accelerate first */
DEBUG_TRACE (DEBUG::Accelerators, "\tactivate, then propagate\n");
- DEBUG_TRACE (DEBUG::Accelerators, string_compose ("\tevent send-event:%1 time:%2 length:%3 string:%4 hardware_keycode:%5 group:%6\n",
- ev->send_event, ev->time, ev->length, ev->string, ev->hardware_keycode, ev->group));
+ DEBUG_TRACE (DEBUG::Accelerators, string_compose ("\tevent send-event:%1 time:%2 length:%3 name %7 string:%4 hardware_keycode:%5 group:%6\n",
+ ev->send_event, ev->time, ev->length, ev->string, ev->hardware_keycode, ev->group, gdk_keyval_name (ev->keyval)));
if (allow_activating) {
DEBUG_TRACE (DEBUG::Accelerators, "\tsending to window\n");
@@ -584,17 +626,17 @@ key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev)
}
Glib::RefPtr<Gdk::Pixbuf>
-get_xpm (std::string name)
+ARDOUR_UI_UTILS::get_xpm (std::string name)
{
if (!xpm_map[name]) {
- SearchPath spath(ARDOUR::ardour_data_search_path());
+ Searchpath spath(ARDOUR::ardour_data_search_path());
spath.add_subdirectory_to_paths("pixmaps");
std::string data_file_path;
- if(!find_file_in_search_path (spath, name, data_file_path)) {
+ if(!find_file (spath, name, data_file_path)) {
fatal << string_compose (_("cannot find XPM file for %1"), name) << endmsg;
}
@@ -608,26 +650,87 @@ get_xpm (std::string name)
return xpm_map[name];
}
+vector<string>
+ARDOUR_UI_UTILS::get_icon_sets ()
+{
+ Searchpath spath(ARDOUR::ardour_data_search_path());
+ spath.add_subdirectory_to_paths ("icons");
+ vector<string> r;
+
+ r.push_back (_("default"));
+
+ for (vector<string>::iterator s = spath.begin(); s != spath.end(); ++s) {
+
+ vector<string> entries;
+
+ get_paths (entries, *s, false, false);
+
+ for (vector<string>::iterator e = entries.begin(); e != entries.end(); ++e) {
+ if (Glib::file_test (*e, Glib::FILE_TEST_IS_DIR)) {
+ r.push_back (Glib::filename_to_utf8 (Glib::path_get_basename(*e)));
+ }
+ }
+ }
+
+ return r;
+}
+
std::string
-get_icon_path (const char* cname)
+ARDOUR_UI_UTILS::get_icon_path (const char* cname, string icon_set, bool is_image)
{
+ std::string data_file_path;
string name = cname;
- name += X_(".png");
- SearchPath spath(ARDOUR::ardour_data_search_path());
+ if (is_image) {
+ name += X_(".png");
+ }
- spath.add_subdirectory_to_paths("icons");
+ Searchpath spath(ARDOUR::ardour_data_search_path());
- std::string data_file_path;
+ if (!icon_set.empty() && icon_set != _("default")) {
- if (!find_file_in_search_path (spath, name, data_file_path)) {
- fatal << string_compose (_("cannot find icon image for %1 using %2"), name, spath.to_string()) << endmsg;
+ /* add "icons/icon_set" but .. not allowed to add both of these at once */
+ spath.add_subdirectory_to_paths ("icons");
+ spath.add_subdirectory_to_paths (icon_set);
+
+ find_file (spath, name, data_file_path);
+ }
+
+ if (is_image && data_file_path.empty()) {
+
+ if (!icon_set.empty() && icon_set != _("default")) {
+ warning << string_compose (_("icon \"%1\" not found for icon set \"%2\", fallback to default"), cname, icon_set) << endmsg;
+ }
+
+ Searchpath def (ARDOUR::ardour_data_search_path());
+ def.add_subdirectory_to_paths ("icons");
+
+ if (!find_file (def, name, data_file_path)) {
+ fatal << string_compose (_("cannot find icon image for %1 using %2"), name, spath.to_string()) << endmsg;
+ /*NOTREACHED*/
+ }
}
return data_file_path;
}
Glib::RefPtr<Gdk::Pixbuf>
+ARDOUR_UI_UTILS::get_icon (const char* cname, string icon_set)
+{
+ Glib::RefPtr<Gdk::Pixbuf> img;
+ try {
+ img = Gdk::Pixbuf::create_from_file (get_icon_path (cname, icon_set));
+ } catch (const Gdk::PixbufError &e) {
+ cerr << "Caught PixbufError: " << e.what() << endl;
+ } catch (...) {
+ error << string_compose (_("Caught exception while loading icon named %1"), cname) << endmsg;
+ }
+
+ return img;
+}
+
+namespace ARDOUR_UI_UTILS {
+Glib::RefPtr<Gdk::Pixbuf>
get_icon (const char* cname)
{
Glib::RefPtr<Gdk::Pixbuf> img;
@@ -641,9 +744,10 @@ get_icon (const char* cname)
return img;
}
+}
string
-longest (vector<string>& strings)
+ARDOUR_UI_UTILS::longest (vector<string>& strings)
{
if (strings.empty()) {
return string ("");
@@ -671,7 +775,7 @@ longest (vector<string>& strings)
}
bool
-key_is_legal_for_numeric_entry (guint keyval)
+ARDOUR_UI_UTILS::key_is_legal_for_numeric_entry (guint keyval)
{
/* we assume that this does not change over the life of the process
*/
@@ -754,14 +858,17 @@ key_is_legal_for_numeric_entry (guint keyval)
return false;
}
+
void
-set_pango_fontsize ()
+ARDOUR_UI_UTILS::set_pango_fontsize ()
{
long val = ARDOUR::Config->get_font_scale();
/* FT2 rendering - used by GnomeCanvas, sigh */
+#ifndef PLATFORM_WINDOWS
pango_ft2_font_map_set_resolution ((PangoFT2FontMap*) pango_ft2_font_map_new(), val/1024, val/1024);
+#endif
/* Cairo rendering, in case there is any */
@@ -769,7 +876,7 @@ set_pango_fontsize ()
}
void
-reset_dpi ()
+ARDOUR_UI_UTILS::reset_dpi ()
{
long val = ARDOUR::Config->get_font_scale();
set_pango_fontsize ();
@@ -781,7 +888,7 @@ reset_dpi ()
}
void
-resize_window_to_proportion_of_monitor (Gtk::Window* window, int max_width, int max_height)
+ARDOUR_UI_UTILS::resize_window_to_proportion_of_monitor (Gtk::Window* window, int max_width, int max_height)
{
Glib::RefPtr<Gdk::Screen> screen = window->get_screen ();
Gdk::Rectangle monitor_rect;
@@ -796,7 +903,7 @@ resize_window_to_proportion_of_monitor (Gtk::Window* window, int max_width, int
/** Replace _ with __ in a string; for use with menu item text to make underscores displayed correctly */
string
-escape_underscores (string const & s)
+ARDOUR_UI_UTILS::escape_underscores (string const & s)
{
string o;
string::size_type const N = s.length ();
@@ -814,7 +921,7 @@ escape_underscores (string const & s)
/** Replace < and > with &lt; and &gt; respectively to make < > display correctly in markup strings */
string
-escape_angled_brackets (string const & s)
+ARDOUR_UI_UTILS::escape_angled_brackets (string const & s)
{
string o = s;
boost::replace_all (o, "<", "&lt;");
@@ -823,21 +930,21 @@ escape_angled_brackets (string const & s)
}
Gdk::Color
-unique_random_color (list<Gdk::Color>& used_colors)
+ARDOUR_UI_UTILS::unique_random_color (list<Gdk::Color>& used_colors)
{
Gdk::Color newcolor;
while (1) {
- /* avoid neon/glowing tones by limiting them to the
- "inner section" (paler) of a color wheel/circle.
- */
+ double h, s, v;
- const int32_t max_saturation = 48000; // 65535 would open up the whole color wheel
+ h = fmod (random(), 360.0);
+ s = (random() % 65535) / 65535.0;
+ v = (random() % 65535) / 65535.0;
- newcolor.set_red (random() % max_saturation);
- newcolor.set_blue (random() % max_saturation);
- newcolor.set_green (random() % max_saturation);
+ s = min (0.5, s); /* not too saturated */
+ v = max (0.9, v); /* not too bright */
+ newcolor.set_hsv (h, s, v);
if (used_colors.size() == 0) {
used_colors.push_back (newcolor);
@@ -853,6 +960,7 @@ unique_random_color (list<Gdk::Color>& used_colors)
gdelta = newcolor.get_green() - c.get_green();
if (sqrt (rdelta*rdelta + bdelta*bdelta + gdelta*gdelta) > 25.0) {
+ /* different enough */
used_colors.push_back (newcolor);
return newcolor;
}
@@ -863,7 +971,7 @@ unique_random_color (list<Gdk::Color>& used_colors)
}
string
-rate_as_string (float r)
+ARDOUR_UI_UTILS::rate_as_string (float r)
{
char buf[32];
if (fmod (r, 1000.0f)) {
diff --git a/gtk2_ardour/utils.h b/gtk2_ardour/utils.h
index a1a54898b5..7f0b285945 100644
--- a/gtk2_ardour/utils.h
+++ b/gtk2_ardour/utils.h
@@ -23,12 +23,13 @@
#include <string>
#include <cmath>
#include <vector>
+
#include "ardour/types.h"
-#include <libgnomecanvasmm/line.h>
+
#include <gdkmm/types.h>
#include <gtkmm/menushell.h>
-#include "canvas.h"
+#include "canvas/types.h"
namespace PBD {
class Controllable;
@@ -42,6 +43,12 @@ namespace Gtk {
class Adjustment;
}
+namespace ArdourCanvas {
+ class Item;
+}
+
+namespace ARDOUR_UI_UTILS {
+
extern sigc::signal<void> DPIReset;
gint just_hide_it (GdkEventAny*, Gtk::Window*);
@@ -52,6 +59,7 @@ unsigned char* xpm2rgba (const char** xpm, uint32_t& w, uint32_t& h);
ArdourCanvas::Points* get_canvas_points (std::string who, uint32_t npoints);
+Pango::FontDescription sanitized_font (std::string const&);
Pango::FontDescription get_font_for_style (std::string widgetname);
uint32_t rgba_from_style (std::string, uint32_t, uint32_t, uint32_t, uint32_t, std::string = "fg", int = Gtk::STATE_NORMAL, bool = true);
@@ -60,9 +68,10 @@ bool rgba_p_from_style (std::string, float*, float*, float*, std::string = "fg",
void decorate (Gtk::Window& w, Gdk::WMDecoration d);
-bool canvas_item_visible (ArdourCanvas::Item* item);
-
-void set_color (Gdk::Color&, int);
+void set_color_from_rgb (Gdk::Color&, uint32_t);
+void set_color_from_rgba (Gdk::Color&, uint32_t);
+uint32_t gdk_color_to_rgba (Gdk::Color const&);
+uint32_t contrasting_text_color (uint32_t c);
bool relay_key_press (GdkEventKey* ev, Gtk::Window* win);
bool forward_key_press (GdkEventKey* ev);
@@ -70,8 +79,9 @@ bool key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev);
bool emulate_key_event (Gtk::Widget*, unsigned int);
Glib::RefPtr<Gdk::Pixbuf> get_xpm (std::string);
-std::string get_icon_path (const char*);
-Glib::RefPtr<Gdk::Pixbuf> get_icon (const char*);
+std::vector<std::string> get_icon_sets ();
+std::string get_icon_path (const char*, std::string icon_set = std::string(), bool is_image = true);
+Glib::RefPtr<Gdk::Pixbuf> get_icon (const char*, std::string icon_set = std::string());
static std::map<std::string, Glib::RefPtr<Gdk::Pixbuf> > xpm_map;
const char* const *get_xpm_data (std::string path);
std::string longest (std::vector<std::string>&);
@@ -88,4 +98,5 @@ Gdk::Color unique_random_color (std::list<Gdk::Color> &);
std::string rate_as_string (float r);
+} // namespace
#endif /* __ardour_gtk_utils_h__ */
diff --git a/gtk2_ardour/utils_videotl.cc b/gtk2_ardour/utils_videotl.cc
index ed1bfad766..24a27c1425 100644
--- a/gtk2_ardour/utils_videotl.cc
+++ b/gtk2_ardour/utils_videotl.cc
@@ -29,6 +29,13 @@
#include "video_image_frame.h"
#include "utils_videotl.h"
+#ifdef WAF_BUILD
+#include "gtk2ardour-version.h"
+#endif
+
+#ifndef ARDOUR_CURL_TIMEOUT
+#define ARDOUR_CURL_TIMEOUT (60)
+#endif
#include "i18n.h"
using namespace Gtk;
@@ -151,6 +158,13 @@ VideoUtils::video_map_path (std::string server_docroot, std::string filepath)
{
std::string rv = filepath;
+ /* strip docroot */
+ if (server_docroot.length() > 0) {
+ if (rv.compare(0, server_docroot.length(), server_docroot) == 0 ) {
+ rv = rv.substr(server_docroot.length());
+ }
+ }
+
/* replace all G_DIR_SEPARATOR with '/' */
size_t look_here = 0;
size_t found_here;
@@ -159,13 +173,6 @@ VideoUtils::video_map_path (std::string server_docroot, std::string filepath)
look_here = found_here + 1;
}
- /* strip docroot */
- if (server_docroot.length() > 0) {
- if (rv.compare(0, server_docroot.length(), server_docroot) == 0 ) {
- rv = rv.substr(server_docroot.length());
- }
- }
-
CURL *curl;
char *ue;
curl = curl_easy_init();
@@ -325,7 +332,7 @@ extern "C" {
struct A3MemoryStruct chunk;
long int httpstatus;
if (status) *status = 0;
- //usleep(500000); return NULL; // TEST & DEBUG
+ //Glib::usleep(500000); return NULL; // TEST & DEBUG
if (strncmp("http://", u, 7)) return NULL;
chunk.data=NULL;
@@ -337,7 +344,7 @@ extern "C" {
curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&chunk);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
- curl_easy_setopt(curl, CURLOPT_USERAGENT, ARDOUR_USER_AGENT);
+ curl_easy_setopt(curl, CURLOPT_USERAGENT, PROGRAM_NAME VERSIONSTRING);
curl_easy_setopt(curl, CURLOPT_TIMEOUT, ARDOUR_CURL_TIMEOUT);
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
#ifdef CURLERRORDEBUG
diff --git a/gtk2_ardour/verbose_cursor.cc b/gtk2_ardour/verbose_cursor.cc
index eb73cb91c8..4973cee0b3 100644
--- a/gtk2_ardour/verbose_cursor.cc
+++ b/gtk2_ardour/verbose_cursor.cc
@@ -22,12 +22,16 @@
#include "pbd/stacktrace.h"
#include "ardour/profile.h"
+#include "canvas/debug.h"
+#include "canvas/scroll_group.h"
+#include "canvas/tracking_text.h"
+
#include "ardour_ui.h"
#include "audio_clock.h"
#include "editor.h"
#include "editor_drag.h"
+#include "global_signals.h"
#include "main_clock.h"
-#include "utils.h"
#include "verbose_cursor.h"
#include "i18n.h"
@@ -37,103 +41,71 @@ using namespace ARDOUR;
VerboseCursor::VerboseCursor (Editor* editor)
: _editor (editor)
- , _visible (false)
- , _xoffset (0)
- , _yoffset (0)
{
- _canvas_item = new ArdourCanvas::NoEventText (*_editor->track_canvas->root());
- _canvas_item->property_font_desc() = get_font_for_style (N_("VerboseCanvasCursor"));
- _canvas_item->property_anchor() = Gtk::ANCHOR_NW;
-}
+ _canvas_item = new ArdourCanvas::TrackingText (_editor->get_noscroll_group());
+ CANVAS_DEBUG_NAME (_canvas_item, "verbose canvas cursor");
+ _canvas_item->set_font_description (Pango::FontDescription (ARDOUR_UI::config()->get_canvasvar_LargerBoldFont()));
+ color_handler ();
-ArdourCanvas::Item *
-VerboseCursor::canvas_item () const
-{
- return _canvas_item;
+ ARDOUR_UI_UTILS::ColorsChanged.connect (sigc::mem_fun (*this, &VerboseCursor::color_handler));
}
void
-VerboseCursor::set (string const & text, double x, double y)
+VerboseCursor::color_handler ()
{
- set_text (text);
- set_position (x, y);
+ _canvas_item->set_color (ARDOUR_UI::config()->get_canvasvar_VerboseCanvasCursor());
}
-void
-VerboseCursor::set_text (string const & text)
+ArdourCanvas::Item *
+VerboseCursor::canvas_item () const
{
- _canvas_item->property_text() = text.c_str();
+ return _canvas_item;
}
-/** @param xoffset x offset to be applied on top of any set_position() call
- * before the next show ().
- * @param yoffset y offset as above.
+/** Set the contents of the cursor.
*/
void
-VerboseCursor::show (double xoffset, double yoffset)
+VerboseCursor::set (string const & text)
{
- _xoffset = xoffset;
- _yoffset = yoffset;
-
- if (_visible) {
- return;
- }
-
- _canvas_item->raise_to_top ();
- _canvas_item->show ();
- _visible = true;
+ _canvas_item->set (text);
}
void
-VerboseCursor::hide ()
+VerboseCursor::show ()
{
- _canvas_item->hide ();
- _visible = false;
+ _canvas_item->show_and_track (true, true);
+ _canvas_item->parent()->raise_to_top ();
}
-double
-VerboseCursor::clamp_x (double x)
+void
+VerboseCursor::hide ()
{
- if (x < 0) {
- x = 0;
- } else {
- x = min (_editor->_canvas_width - 200.0, x);
- }
- return x;
+ _canvas_item->hide ();
+ _canvas_item->parent()->lower_to_bottom ();
+ /* reset back to a sensible default for the next time we display the VC */
+ _canvas_item->set_offset (ArdourCanvas::Duple (10, 10));
}
-double
-VerboseCursor::clamp_y (double y)
+void
+VerboseCursor::set_offset (ArdourCanvas::Duple const & d)
{
- if (y < _editor->canvas_timebars_vsize) {
- y = _editor->canvas_timebars_vsize;
- } else {
- y = min (_editor->_canvas_height - 50, y);
- }
- return y;
+ _canvas_item->set_offset (d);
}
void
-VerboseCursor::set_time (framepos_t frame, double x, double y)
+VerboseCursor::set_time (framepos_t frame)
{
char buf[128];
Timecode::Time timecode;
Timecode::BBT_Time bbt;
- int hours, mins;
- framepos_t frame_rate;
- float secs;
if (_editor->_session == 0) {
return;
}
- AudioClock::Mode m;
+ /* Take clock mode from the primary clock */
- if (Profile->get_sae() || Profile->get_small_screen()) {
- m = ARDOUR_UI::instance()->primary_clock->mode();
- } else {
- m = ARDOUR_UI::instance()->secondary_clock->mode();
- }
+ AudioClock::Mode m = ARDOUR_UI::instance()->primary_clock->mode();
switch (m) {
case AudioClock::BBT:
@@ -143,18 +115,11 @@ VerboseCursor::set_time (framepos_t frame, double x, double y)
case AudioClock::Timecode:
_editor->_session->timecode_time (frame, timecode);
- snprintf (buf, sizeof (buf), "%02" PRId32 ":%02" PRId32 ":%02" PRId32 ":%02" PRId32, timecode.hours, timecode.minutes, timecode.seconds, timecode.frames);
+ snprintf (buf, sizeof (buf), "%s", Timecode::timecode_format_time (timecode).c_str());
break;
case AudioClock::MinSec:
- /* XXX this is copied from show_verbose_duration_cursor() */
- frame_rate = _editor->_session->frame_rate();
- hours = frame / (frame_rate * 3600);
- frame = frame % (frame_rate * 3600);
- mins = frame / (frame_rate * 60);
- frame = frame % (frame_rate * 60);
- secs = (float) frame / (float) frame_rate;
- snprintf (buf, sizeof (buf), "%02" PRId32 ":%02" PRId32 ":%07.4f", hours, mins, secs);
+ AudioClock::print_minsec (frame, buf, sizeof (buf), _editor->_session->frame_rate());
break;
default:
@@ -162,32 +127,23 @@ VerboseCursor::set_time (framepos_t frame, double x, double y)
break;
}
- set (buf, x, y);
+ _canvas_item->set (buf);
}
void
-VerboseCursor::set_duration (framepos_t start, framepos_t end, double x, double y)
+VerboseCursor::set_duration (framepos_t start, framepos_t end)
{
char buf[128];
Timecode::Time timecode;
Timecode::BBT_Time sbbt;
Timecode::BBT_Time ebbt;
- int hours, mins;
- framepos_t distance, frame_rate;
- float secs;
Meter meter_at_start (_editor->_session->tempo_map().meter_at(start));
if (_editor->_session == 0) {
return;
}
- AudioClock::Mode m;
-
- if (Profile->get_sae() || Profile->get_small_screen()) {
- m = ARDOUR_UI::instance()->primary_clock->mode ();
- } else {
- m = ARDOUR_UI::instance()->secondary_clock->mode ();
- }
+ AudioClock::Mode m = ARDOUR_UI::instance()->primary_clock->mode ();
switch (m) {
case AudioClock::BBT:
@@ -228,19 +184,11 @@ VerboseCursor::set_duration (framepos_t start, framepos_t end, double x, double
case AudioClock::Timecode:
_editor->_session->timecode_duration (end - start, timecode);
- snprintf (buf, sizeof (buf), "%02" PRId32 ":%02" PRId32 ":%02" PRId32 ":%02" PRId32, timecode.hours, timecode.minutes, timecode.seconds, timecode.frames);
+ snprintf (buf, sizeof (buf), "%s", Timecode::timecode_format_time (timecode).c_str());
break;
case AudioClock::MinSec:
- /* XXX this stuff should be elsewhere.. */
- distance = end - start;
- frame_rate = _editor->_session->frame_rate();
- hours = distance / (frame_rate * 3600);
- distance = distance % (frame_rate * 3600);
- mins = distance / (frame_rate * 60);
- distance = distance % (frame_rate * 60);
- secs = (float) distance / (float) frame_rate;
- snprintf (buf, sizeof (buf), "%02" PRId32 ":%02" PRId32 ":%07.4f", hours, mins, secs);
+ AudioClock::print_minsec (end - start, buf, sizeof (buf), _editor->_session->frame_rate());
break;
default:
@@ -248,28 +196,11 @@ VerboseCursor::set_duration (framepos_t start, framepos_t end, double x, double
break;
}
- set (buf, x, y);
-}
-
-void
-VerboseCursor::set_color (uint32_t color)
-{
- _canvas_item->property_fill_color_rgba() = color;
-}
-
-/** Set the position of the verbose cursor. Any x/y offsets
- * passed to the last call to show() will be applied to the
- * coordinates passed in here.
- */
-void
-VerboseCursor::set_position (double x, double y)
-{
- _canvas_item->property_x() = clamp_x (x + _xoffset);
- _canvas_item->property_y() = clamp_y (y + _yoffset);
+ _canvas_item->set (buf);
}
bool
VerboseCursor::visible () const
{
- return _visible;
+ return _canvas_item->visible();
}
diff --git a/gtk2_ardour/verbose_cursor.h b/gtk2_ardour/verbose_cursor.h
index 20207b1e6e..7d12a2a13e 100644
--- a/gtk2_ardour/verbose_cursor.h
+++ b/gtk2_ardour/verbose_cursor.h
@@ -17,13 +17,15 @@
*/
-#include <libgnomecanvasmm/item.h>
#include "ardour/types.h"
-#include "canvas-noevent-text.h"
-#include "canvas.h"
+#include "canvas/canvas.h"
class Editor;
+namespace ArdourCanvas {
+ class TrackingText;
+}
+
class VerboseCursor
{
public:
@@ -32,24 +34,17 @@ public:
ArdourCanvas::Item* canvas_item () const;
bool visible () const;
- void set_color (uint32_t);
-
- void set (std::string const &, double, double);
- void set_text (std::string const &);
- void set_position (double, double);
- void set_time (framepos_t, double, double);
- void set_duration (framepos_t, framepos_t, double, double);
+ void set (std::string const &);
+ void set_time (framepos_t);
+ void set_duration (framepos_t, framepos_t);
+ void set_offset (ArdourCanvas::Duple const&);
- void show (double xoffset = 0, double yoffset = 0);
+ void show ();
void hide ();
-
+
private:
- double clamp_x (double);
- double clamp_y (double);
-
- Editor* _editor;
- ArdourCanvas::NoEventText* _canvas_item;
- bool _visible;
- double _xoffset;
- double _yoffset;
+ Editor* _editor;
+ ArdourCanvas::TrackingText* _canvas_item;
+
+ void color_handler ();
};
diff --git a/gtk2_ardour/video_image_frame.cc b/gtk2_ardour/video_image_frame.cc
index 38a7a5994f..43f12aa9f3 100644
--- a/gtk2_ardour/video_image_frame.cc
+++ b/gtk2_ardour/video_image_frame.cc
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2010 Paul Davis
+ Copyright (C) 2010, 2013 Paul Davis
Author: Robin Gareus <robin@gareus.org>
This program is free software; you can redistribute it and/or modify
@@ -23,10 +23,7 @@
#include "ardour_ui.h"
#include "video_image_frame.h"
#include "public_editor.h"
-#include "utils.h"
-#include "canvas_impl.h"
-#include "simpleline.h"
-#include "rgb_macros.h"
+#include "canvas/container.h"
#include "utils_videotl.h"
#include <gtkmm2ext/utils.h>
@@ -38,7 +35,14 @@ using namespace std;
using namespace ARDOUR;
using namespace VideoUtils;
-VideoImageFrame::VideoImageFrame (PublicEditor& ed, ArdourCanvas::Group& parent, int w, int h, std::string vsurl, std::string vfn)
+static void freedata_cb (uint8_t *d, void* /*arg*/) {
+ /* later this can be used with libharvid
+ * the buffer/videocacheline instead of freeing it
+ */
+ free (d);
+}
+
+VideoImageFrame::VideoImageFrame (PublicEditor& ed, ArdourCanvas::Container& parent, int w, int h, std::string vsurl, std::string vfn)
: editor (ed)
, _parent(&parent)
, clip_width(w)
@@ -51,60 +55,46 @@ VideoImageFrame::VideoImageFrame (PublicEditor& ed, ArdourCanvas::Group& parent,
queued_request=false;
video_frame_number = -1;
rightend = -1;
- frame_position = 0;
+ sample_position = 0;
thread_active=false;
-#if 0 /* DEBUG */
- printf("New VideoImageFrame (%ix%i) %s - %s\n", w, h, vsurl.c_str(), vfn.c_str());
-#endif
-
- unit_position = editor.frame_to_unit (frame_position);
- group = new Group (parent, unit_position, 1.0);
- img_pixbuf = new ArdourCanvas::Pixbuf(*group);
-
- Glib::RefPtr<Gdk::Pixbuf> img;
-
- img = Gdk::Pixbuf::create(Gdk::COLORSPACE_RGB, true, 8, clip_width, clip_height);
- img->fill(RGBA_TO_UINT(0,0,0,255));
- img_pixbuf->property_pixbuf() = img;
+ unit_position = editor.sample_to_pixel (sample_position);
+ image = new ArdourCanvas::Image (_parent, Cairo::FORMAT_ARGB32, clip_width, clip_height);
+ img = image->get_image();
+ fill_frame(0, 0, 0);
draw_line();
- video_draw_cross(img_pixbuf->property_pixbuf());
+ draw_x();
+ image->put_image(img);
- group->signal_event().connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_videotl_bar_event), _parent));
- //img_pixbuf->signal_event().connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_videotl_bar_event), _parent));
+ image->Event.connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_videotl_bar_event), _parent));
}
VideoImageFrame::~VideoImageFrame ()
{
if (thread_active) pthread_join(thread_id_tt, NULL);
- delete img_pixbuf;
- delete group;
+ delete image;
pthread_mutex_destroy(&request_lock);
pthread_mutex_destroy(&queue_lock);
}
void
-VideoImageFrame::set_position (framepos_t frame)
+VideoImageFrame::set_position (framepos_t sample)
{
- double new_unit_position = editor.frame_to_unit (frame);
- group->move (new_unit_position - unit_position, 0.0);
- frame_position = frame;
+ double new_unit_position = editor.sample_to_pixel (sample);
+ image->move (ArdourCanvas::Duple (new_unit_position - unit_position, 0.0));
+ sample_position = sample;
unit_position = new_unit_position;
}
void
VideoImageFrame::reposition ()
{
- set_position (frame_position);
+ set_position (sample_position);
}
void
-VideoImageFrame::exposeimg ()
-{
- img_pixbuf->show();
- /* Note: we can not use this thread to update the window
- * it needs to be done from the Editor's thread idle_update */
+VideoImageFrame::exposeimg () {
ImgChanged(); /* EMIT SIGNAL */
}
@@ -115,21 +105,15 @@ VideoImageFrame::set_videoframe (framepos_t videoframenumber, int re)
video_frame_number = videoframenumber;
rightend = re;
-#if 0 /* dummy mode: print framenumber */
- gchar buf[16];
- snprintf (buf, sizeof(buf), "%li", (long int) videoframenumber);
- img_pixbuf->property_pixbuf() = pixbuf_from_ustring(g_strdup (buf), get_font_for_style (N_("MarkerText")), 80, 60, Gdk::Color ("#C0C0C0"));
- return;
-#endif
-#if 1 /* draw "empty frame" while we request the data */
- Glib::RefPtr<Gdk::Pixbuf> img;
- img = img_pixbuf->property_pixbuf();
- img->fill(RGBA_TO_UINT(0,0,0,255));
- video_draw_cross(img_pixbuf->property_pixbuf());
+
+ img = image->get_image();
+ fill_frame(0, 0, 0);
+ draw_x();
draw_line();
cut_rightend();
+ image->put_image(img);
exposeimg();
-#endif
+
/* request video-frame from decoder in background thread */
http_get(video_frame_number);
}
@@ -137,47 +121,75 @@ VideoImageFrame::set_videoframe (framepos_t videoframenumber, int re)
void
VideoImageFrame::draw_line ()
{
- Glib::RefPtr<Gdk::Pixbuf> img;
- img = img_pixbuf->property_pixbuf();
-
- int rowstride = img->get_rowstride();
- int clip_height = img->get_height();
- int n_channels = img->get_n_channels();
- guchar *pixels, *p;
- pixels = img->get_pixels();
+ const int rowstride = img->stride;
+ const int clip_height = img->height;
+ uint8_t *pixels, *p;
+ pixels = img->data;
int y;
- for (y=0;y<clip_height;y++) {
+ for (y = 0;y < clip_height; y++) {
p = pixels + y * rowstride;
- p[0] = 255; p[1] = 255; p[2] = 255;
- if (n_channels>3) p[3] = 255;
+ p[0] = 255; p[1] = 255; p[2] = 255; p[3] = 255;
+ }
+}
+
+void
+VideoImageFrame::fill_frame (const uint8_t r, const uint8_t g, const uint8_t b)
+{
+ const int rowstride = img->stride;
+ const int clip_height = img->height;
+ const int clip_width = img->width;
+ uint8_t *pixels, *p;
+ pixels = img->data;
+
+ int x,y;
+ for (y = 0; y < clip_height; ++y) {
+ for (x = 0; x < clip_width; ++x) {
+ p = pixels + y * rowstride + x * 4;
+ p[0] = b; p[1] = g; p[2] = r; p[3] = 255;
+ }
+ }
+}
+
+void
+VideoImageFrame::draw_x ()
+{
+ int x,y;
+ const int rowstride = img->stride;
+ const int clip_width = img->width;
+ const int clip_height = img->height;
+ uint8_t *pixels, *p;
+ pixels = img->data;
+
+ for (x = 0;x < clip_width; x++) {
+ y = clip_height * x / clip_width;
+ p = pixels + y * rowstride + x * 4;
+ p[0] = 192; p[1] = 192; p[2] = 192; p[3] = 255;
+ p = pixels + y * rowstride + (clip_width-x-1) * 4;
+ p[0] = 192; p[1] = 192; p[2] = 192; p[3] = 255;
}
}
void
VideoImageFrame::cut_rightend ()
{
+
if (rightend < 0 ) { return; }
- Glib::RefPtr<Gdk::Pixbuf> img;
- img = img_pixbuf->property_pixbuf();
-
- int rowstride = img->get_rowstride();
- int clip_height = img->get_height();
- int clip_width = img->get_width();
- int n_channels = img->get_n_channels();
- guchar *pixels, *p;
- pixels = img->get_pixels();
+
+ const int rowstride = img->stride;
+ const int clip_height = img->height;
+ const int clip_width = img->width;
+ uint8_t *pixels, *p;
+ pixels = img->data;
if (rightend > clip_width) { return; }
int x,y;
- for (y=0;y<clip_height;++y) {
- p = pixels + y * rowstride + rightend * n_channels;
- p[0] = 192; p[1] = 127; p[2] = 127;
- if (n_channels>3) p[3] = 255;
- for (x=rightend+1; x<clip_width; ++x) {
- p = pixels + y * rowstride + x * n_channels;
- p[0] = 0; p[1] = 0; p[2] = 0;
- if (n_channels>3) p[3] = 0;
+ for (y = 0;y < clip_height; ++y) {
+ p = pixels + y * rowstride + rightend * 4;
+ p[0] = 192; p[1] = 192; p[2] = 192; p[3] = 255;
+ for (x=rightend+1; x < clip_width; ++x) {
+ p = pixels + y * rowstride + x * 4;
+ p[0] = 0; p[1] = 0; p[2] = 0; p[3] = 0;
}
}
}
@@ -188,7 +200,7 @@ http_get_thread (void *arg) {
char url[2048];
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
- snprintf(url, sizeof(url), "%s?frame=%li&w=%d&h=%di&file=%s&format=rgb",
+ snprintf(url, sizeof(url), "%s?frame=%li&w=%d&h=%d&file=%s&format=bgra",
vif->get_video_server_url().c_str(),
(long int) vif->get_req_frame(), vif->get_width(), vif->get_height(),
vif->get_video_filename().c_str()
@@ -198,7 +210,7 @@ http_get_thread (void *arg) {
char *res = NULL;
do {
res=a3_curl_http_get(url, &status);
- if (status == 503) usleep(5000); // try-again
+ if (status == 503) Glib::usleep(5000); // try-again
} while (status == 503 && --timeout > 0);
if (status != 200 || !res) {
@@ -220,34 +232,25 @@ VideoImageFrame::http_download_done (char *data){
if (!data) {
/* Image request failed (HTTP error or timeout) */
- Glib::RefPtr<Gdk::Pixbuf> img;
- img = img_pixbuf->property_pixbuf();
- img->fill(RGBA_TO_UINT(128,0,0,255));
- video_draw_cross(img_pixbuf->property_pixbuf());
+ img = image->get_image();
+ fill_frame(128, 0, 0);
+ draw_x();
cut_rightend();
draw_line();
cut_rightend();
- /* TODO: mark as invalid:
- * video_frame_number = -1;
- * TODO: but prevent live-loops when calling update again
- */
+ image->put_image(img);
} else {
- Glib::RefPtr<Gdk::Pixbuf> tmp, img;
-#if 0 // RGBA
- tmp = Gdk::Pixbuf::create_from_data ((guint8*) data, Gdk::COLORSPACE_RGB, true, 8, clip_width, clip_height, clip_width*4);
-#else // RGB
- tmp = Gdk::Pixbuf::create_from_data ((guint8*) data, Gdk::COLORSPACE_RGB, false, 8, clip_width, clip_height, clip_width*3);
-#endif
- img = img_pixbuf->property_pixbuf();
- tmp->copy_area (0, 0, clip_width, clip_height, img, 0, 0);
- free(data);
+ img = image->get_image(false);
+ img->data = (uint8_t*) data;
+ img->destroy_callback = &freedata_cb;
draw_line();
cut_rightend();
+ image->put_image(img);
}
exposeimg();
/* don't request frames too quickly, wait after user has zoomed */
- usleep(40000);
+ Glib::usleep(40000);
if (queued_request) {
http_get_again(want_video_frame_number);
@@ -259,24 +262,11 @@ VideoImageFrame::http_download_done (char *data){
void
VideoImageFrame::http_get(framepos_t fn) {
if (pthread_mutex_trylock(&request_lock)) {
- /* remember last request and schedule after the lock has been released. */
pthread_mutex_lock(&queue_lock);
queued_request=true;
want_video_frame_number=fn;
pthread_mutex_unlock(&queue_lock);
-#if 0
- /* TODO: cancel request and start a new one
- * but only if we're waiting for curl request.
- * don't interrupt http_download_done()
- *
- * This should work, but requires testing:
- */
- if (!pthread_cancel(thread_id_tt)) {
- pthread_mutex_unlock(&request_lock);
- } else return;
-#else
return;
-#endif
}
if (thread_active) pthread_join(thread_id_tt, NULL);
pthread_mutex_lock(&queue_lock);
diff --git a/gtk2_ardour/video_image_frame.h b/gtk2_ardour/video_image_frame.h
index b6d45dbe6d..aeb117da9f 100644
--- a/gtk2_ardour/video_image_frame.h
+++ b/gtk2_ardour/video_image_frame.h
@@ -20,20 +20,18 @@
#ifndef __ardour_video_image_frame_h__
#define __ardour_video_image_frame_h__
-#define ARDOUR_USER_AGENT (PROGRAM_NAME VERSIONSTRING)
-#define ARDOUR_CURL_TIMEOUT (60)
-
#include <string>
#include <glib.h>
-#include <libgnomecanvasmm/pixbuf.h>
#include <sigc++/signal.h>
#include <pthread.h>
#include "ardour/ardour.h"
#include "pbd/signals.h"
-#include "canvas.h"
+#include "canvas/container.h"
+#include "canvas/pixbuf.h"
+#include "canvas/image.h"
namespace ARDOUR {
class TempoSection;
@@ -48,7 +46,7 @@ class PublicEditor;
class VideoImageFrame : public sigc::trackable
{
public:
- VideoImageFrame (PublicEditor&, ArdourCanvas::Group&, int, int, std::string, std::string);
+ VideoImageFrame (PublicEditor&, ArdourCanvas::Container&, int, int, std::string, std::string);
virtual ~VideoImageFrame ();
void set_position (framepos_t);
@@ -68,9 +66,9 @@ class VideoImageFrame : public sigc::trackable
protected:
PublicEditor& editor;
- ArdourCanvas::Group *_parent;
- ArdourCanvas::Group *group;
- ArdourCanvas::Pixbuf *img_pixbuf;
+ ArdourCanvas::Container *_parent;
+ ArdourCanvas::Image *image;
+ boost::shared_ptr<ArdourCanvas::Image::Data> img;
int clip_width;
int clip_height;
@@ -80,13 +78,15 @@ class VideoImageFrame : public sigc::trackable
std::string video_filename;
double unit_position;
- framepos_t frame_position;
+ framepos_t sample_position;
framepos_t video_frame_number;
void reposition ();
void exposeimg ();
+ void fill_frame (const uint8_t r, const uint8_t g, const uint8_t b);
void draw_line ();
+ void draw_x ();
void cut_rightend ();
diff --git a/gtk2_ardour/video_monitor.cc b/gtk2_ardour/video_monitor.cc
index b1e3c87d22..f15013f57e 100644
--- a/gtk2_ardour/video_monitor.cc
+++ b/gtk2_ardour/video_monitor.cc
@@ -32,13 +32,14 @@
using namespace std;
using namespace PBD;
+using namespace ARDOUR_UI_UTILS;
VideoMonitor::VideoMonitor (PublicEditor *ed, std::string xjadeo_bin_path)
: editor (ed)
{
manually_seeked_frame = 0;
fps =0.0; // = _session->timecode_frames_per_second();
- sync_by_manual_seek = false;
+ sync_by_manual_seek = true;
_restore_settings_mask = 0;
clock_connection = sigc::connection();
state_connection = sigc::connection();
@@ -47,7 +48,7 @@ VideoMonitor::VideoMonitor (PublicEditor *ed, std::string xjadeo_bin_path)
starting = 0;
osdmode = 10; // 1: frameno, 2: timecode, 8: box
- process = new SystemExec(xjadeo_bin_path, X_("-R"));
+ process = new ARDOUR::SystemExec(xjadeo_bin_path, X_("-R -J"));
process->ReadStdout.connect_same_thread (*this, boost::bind (&VideoMonitor::parse_output, this, _1 ,_2));
process->Terminated.connect (*this, invalidator (*this), boost::bind (&VideoMonitor::terminated, this), gui_context());
XJKeyEvent.connect (*this, invalidator (*this), boost::bind (&VideoMonitor::forward_keyevent, this, _1), gui_context());
@@ -94,7 +95,7 @@ VideoMonitor::query_full_state (bool wait)
process->write_to_stdin("get osdcfg\n");
int timeout = 40;
if (wait && knownstate !=127 && --timeout) {
- usleep(50000);
+ Glib::usleep(50000);
sched_yield();
}
}
@@ -113,7 +114,7 @@ VideoMonitor::quit ()
*/
int timeout = 40;
while (is_started() && --timeout) {
- usleep(50000);
+ Glib::usleep(50000);
sched_yield();
}
if (timeout <= 0) {
@@ -127,7 +128,6 @@ VideoMonitor::open (std::string filename)
if (!is_started()) return;
manually_seeked_frame = 0;
osdmode = 10; // 1: frameno, 2: timecode, 8: box
- sync_by_manual_seek = false;
starting = 15;
process->write_to_stdin("load " + filename + "\n");
process->write_to_stdin("set fps -1\n");
@@ -135,15 +135,17 @@ VideoMonitor::open (std::string filename)
process->write_to_stdin("window ontop on\n");
process->write_to_stdin("set seekmode 1\n");
/* override bitwise flags -- see xjadeo.h
- * 0x01 : ignore 'q', ESC / quite
- * 0x02 : ignore "window closed by WM" / quit
- * 0x04 : (osx only) menu-exit / quit
- * 0x08 : ignore mouse-button 1 -- resize
- * 0x10 : no A/V offset
- * 0x20 : don't use jack-session
- * 0x40 : no jack-transport control play/pause/rewind
+ * 0x0001 : ignore 'q', ESC / quit
+ * 0x0002 : ignore "window closed by WM" / quit
+ * 0x0004 : (osx only) menu-exit / quit
+ * 0x0008 : ignore mouse-button 1 -- resize
+ * 0x0010 : no A/V offset control with keyboard
+ * 0x0020 : don't use jack-session
+ * 0x0040 : disable jack transport control
+ * 0x0080 : disallow sync source change (OSX menu)
+ * 0x0100 : disallow file open (OSX menu, X11 DnD)
*/
- process->write_to_stdin("set override 120\n");
+ process->write_to_stdin("set override 504\n");
process->write_to_stdin("notify keyboard\n");
process->write_to_stdin("notify settings\n");
process->write_to_stdin("window letterbox on\n");
@@ -159,6 +161,8 @@ VideoMonitor::open (std::string filename)
/* TODO once every two second or so -- state_clk_divide hack below */
state_connection = ARDOUR_UI::RapidScreenUpdate.connect (sigc::mem_fun (*this, &VideoMonitor::querystate));
}
+ sync_by_manual_seek = true;
+ clock_connection = ARDOUR_UI::FPSUpdate.connect (sigc::mem_fun (*this, &VideoMonitor::srsupdate));
xjadeo_sync_setup();
}
@@ -464,7 +468,7 @@ VideoMonitor::get_custom_setting (const std::string k)
return (xjadeo_settings[k]);
}
-#define NO_OFFSET (1<<31) //< skip setting or modifying offset -- TODO check ARDOUR::frameoffset_t max value.
+#define NO_OFFSET (1<<63) //< skip setting or modifying offset
void
VideoMonitor::srsupdate ()
{
@@ -481,18 +485,18 @@ VideoMonitor::set_offset (ARDOUR::frameoffset_t offset)
if (offset == NO_OFFSET ) { return; }
framecnt_t video_frame_offset;
- framecnt_t audio_frame_rate;
+ framecnt_t audio_sample_rate;
if (_session->config.get_videotimeline_pullup()) {
- audio_frame_rate = _session->frame_rate();
+ audio_sample_rate = _session->frame_rate();
} else {
- audio_frame_rate = _session->nominal_frame_rate();
+ audio_sample_rate = _session->nominal_frame_rate();
}
/* Note: pull-up/down are applied here: frame_rate() vs. nominal_frame_rate() */
if (_session->config.get_use_video_file_fps()) {
- video_frame_offset = floor(offset * fps / audio_frame_rate);
+ video_frame_offset = floor(offset * fps / audio_sample_rate);
} else {
- video_frame_offset = floor(offset * _session->timecode_frames_per_second() / audio_frame_rate);
+ video_frame_offset = floor(offset * _session->timecode_frames_per_second() / audio_sample_rate);
}
if (video_offset == video_frame_offset) { return; }
@@ -508,18 +512,18 @@ VideoMonitor::manual_seek (framepos_t when, bool /*force*/, ARDOUR::frameoffset_
if (!is_started()) { return; }
if (!_session) { return; }
framecnt_t video_frame;
- framecnt_t audio_frame_rate;
+ framecnt_t audio_sample_rate;
if (_session->config.get_videotimeline_pullup()) {
- audio_frame_rate = _session->frame_rate();
+ audio_sample_rate = _session->frame_rate();
} else {
- audio_frame_rate = _session->nominal_frame_rate();
+ audio_sample_rate = _session->nominal_frame_rate();
}
/* Note: pull-up/down are applied here: frame_rate() vs. nominal_frame_rate() */
if (_session->config.get_use_video_file_fps()) {
- video_frame = floor(when * fps / audio_frame_rate);
+ video_frame = floor(when * fps / audio_sample_rate);
} else {
- video_frame = floor(when * _session->timecode_frames_per_second() / audio_frame_rate);
+ video_frame = floor(when * _session->timecode_frames_per_second() / audio_sample_rate);
}
if (video_frame < 0 ) video_frame = 0;
@@ -566,7 +570,7 @@ VideoMonitor::xjadeo_sync_setup ()
process->write_to_stdin("jack connect\n");
} else {
process->write_to_stdin("jack disconnect\n");
- clock_connection = ARDOUR_UI::SuperRapidScreenUpdate.connect (sigc::mem_fun (*this, &VideoMonitor::srsupdate));
+ clock_connection = ARDOUR_UI::FPSUpdate.connect (sigc::mem_fun (*this, &VideoMonitor::srsupdate));
}
sync_by_manual_seek = my_manual_seek;
}
diff --git a/gtk2_ardour/video_monitor.h b/gtk2_ardour/video_monitor.h
index 59264fa012..d2ab91b3a7 100644
--- a/gtk2_ardour/video_monitor.h
+++ b/gtk2_ardour/video_monitor.h
@@ -26,7 +26,7 @@
#include "ardour/types.h"
#include "ardour/session.h"
#include "ardour/session_handle.h"
-#include "system_exec.h"
+#include "ardour/system_exec.h"
namespace ARDOUR {
class Session;
@@ -83,7 +83,7 @@ class VideoMonitor : public sigc::trackable , public ARDOUR::SessionHandlePtr, p
protected:
PublicEditor *editor;
- SystemExec *process;
+ ARDOUR::SystemExec *process;
float fps;
void parse_output (std::string d, size_t s);
void terminated ();
diff --git a/gtk2_ardour/video_server_dialog.cc b/gtk2_ardour/video_server_dialog.cc
index 2f22065a10..de6af96f04 100644
--- a/gtk2_ardour/video_server_dialog.cc
+++ b/gtk2_ardour/video_server_dialog.cc
@@ -29,10 +29,24 @@
#include "ardour/template_utils.h"
#include "ardour/session.h"
+#ifdef PLATFORM_WINDOWS
+#include <windows.h>
+#include <shlobj.h> // CSIDL_*
+#include "pbd/windows_special_dirs.h"
+#endif
+
+#ifdef interface
+#undef interface
+#endif
+
#include "video_server_dialog.h"
#include "utils_videotl.h"
#include "i18n.h"
+#ifdef PLATFORM_WINDOWS
+#include <windows.h>
+#endif
+
using namespace Gtk;
using namespace std;
using namespace PBD;
@@ -79,10 +93,30 @@ VideoServerDialog::VideoServerDialog (Session* s)
listenaddr_combo.append_text("0.0.0.0");
listenaddr_combo.set_active(0);
+#ifdef PLATFORM_WINDOWS
+ HKEY key;
+ DWORD size = PATH_MAX;
+ char tmp[PATH_MAX+1];
+ const char *program_files = PBD::get_win_special_folder (CSIDL_PROGRAM_FILES);
+#endif
+
std::string icsd_file_path;
- if (find_file_in_search_path (PBD::SearchPath(Glib::getenv("PATH")), X_("harvid"), icsd_file_path)) {
+ if (find_file (PBD::Searchpath(Glib::getenv("PATH")), X_("harvid"), icsd_file_path)) {
path_entry.set_text(icsd_file_path);
}
+#ifdef PLATFORM_WINDOWS
+ else if ( (ERROR_SUCCESS == RegOpenKeyExA (HKEY_LOCAL_MACHINE, "Software\\RSS\\harvid", 0, KEY_READ, &key))
+ && (ERROR_SUCCESS == RegQueryValueExA (key, "Install_Dir", 0, NULL, reinterpret_cast<LPBYTE>(tmp), &size))
+ )
+ {
+ path_entry.set_text(g_build_filename(Glib::locale_to_utf8(tmp).c_str(), "harvid.exe", 0));
+ }
+ else if (program_files && Glib::file_test(g_build_filename(program_files, "harvid", "harvid.exe", 0), Glib::FILE_TEST_EXISTS))
+ {
+ path_entry.set_text(g_build_filename(program_files, "harvid", "harvid.exe", 0));
+ }
+#endif
+ /* generic fallbacks to try */
else if (Glib::file_test(X_("C:\\Program Files\\harvid\\harvid.exe"), Glib::FILE_TEST_EXISTS)) {
path_entry.set_text(X_("C:\\Program Files\\harvid\\harvid.exe"));
}
diff --git a/gtk2_ardour/video_timeline.cc b/gtk2_ardour/video_timeline.cc
index fd6a6f8dc2..ab8d313efb 100644
--- a/gtk2_ardour/video_timeline.cc
+++ b/gtk2_ardour/video_timeline.cc
@@ -25,12 +25,15 @@
#include "pbd/convert.h"
#include "ardour/session_directory.h"
+#ifdef PLATFORM_WINDOWS
+#include <windows.h>
+#include <shlobj.h> // CSIDL_*
+#include "pbd/windows_special_dirs.h"
+#endif
+
#include "ardour_ui.h"
#include "public_editor.h"
#include "gui_thread.h"
-#include "utils.h"
-#include "canvas_impl.h"
-#include "simpleline.h"
#include "utils_videotl.h"
#include "rgb_macros.h"
#include "video_timeline.h"
@@ -51,9 +54,9 @@ using namespace PBD;
using namespace Timecode;
using namespace VideoUtils;
-VideoTimeLine::VideoTimeLine (PublicEditor *ed, ArdourCanvas::Group *vbg, int initial_height)
+VideoTimeLine::VideoTimeLine (PublicEditor *ed, ArdourCanvas::Container *vbg, int initial_height)
: editor (ed)
- , videotl_bar_group(vbg)
+ , videotl_group(vbg)
, bar_height(initial_height)
{
video_start_offset = 0L;
@@ -275,7 +278,7 @@ float
VideoTimeLine::get_apv()
{
// XXX: dup code - TODO use this fn in update_video_timeline()
- float apv = -1; /* audio frames per video frame; */
+ float apv = -1; /* audio samples per video frame; */
if (!_session) return apv;
if (_session->config.get_use_video_file_fps()) {
@@ -308,8 +311,8 @@ VideoTimeLine::update_video_timeline()
if (_session->timecode_frames_per_second() == 0 ) return;
}
- double frames_per_unit = editor->unit_to_frame(1.0);
- framepos_t leftmost_frame = editor->leftmost_position();
+ const double samples_per_pixel = editor->get_current_zoom();
+ const framepos_t leftmost_sample = editor->leftmost_sample();
/* Outline:
* 1) calculate how many frames there should be in current zoom (plus 1 page on each side)
@@ -321,12 +324,12 @@ VideoTimeLine::update_video_timeline()
/* video-file and session properties */
double display_vframe_width; /* unit: pixels ; width of one thumbnail in the timeline */
- float apv; /* audio frames per video frame; */
+ float apv; /* audio samples per video frame; */
framepos_t leftmost_video_frame; /* unit: video-frame number ; temporary var -> vtl_start */
/* variables needed to render videotimeline -- what needs to computed first */
- framepos_t vtl_start; /* unit: audio-frames ; first displayed video-frame */
- framepos_t vtl_dist; /* unit: audio-frames ; distance between displayed video-frames */
+ framepos_t vtl_start; /* unit: audio-samples ; first displayed video-frame */
+ framepos_t vtl_dist; /* unit: audio-samples ; distance between displayed video-frames */
unsigned int visible_video_frames; /* number of frames that fit on current canvas */
if (_session->config.get_videotimeline_pullup()) {
@@ -342,28 +345,28 @@ VideoTimeLine::update_video_timeline()
display_vframe_width = bar_height * video_aspect_ratio;
- if (apv > frames_per_unit * display_vframe_width) {
+ if (apv > samples_per_pixel * display_vframe_width) {
/* high-zoom: need space between successive video-frames */
vtl_dist = rint(apv);
} else {
/* continous timeline: skip video-frames */
- vtl_dist = ceil(display_vframe_width * frames_per_unit / apv) * apv;
+ vtl_dist = ceil(display_vframe_width * samples_per_pixel / apv) * apv;
}
assert (vtl_dist > 0);
assert (apv > 0);
- leftmost_video_frame = floor (floor((leftmost_frame - video_start_offset - video_offset ) / vtl_dist) * vtl_dist / apv);
+ leftmost_video_frame = floor (floor((long double)(leftmost_sample - video_start_offset - video_offset ) / vtl_dist) * vtl_dist / apv);
vtl_start = rint (video_offset + video_start_offset + leftmost_video_frame * apv);
- visible_video_frames = 2 + ceil(editor->current_page_frames() / vtl_dist); /* +2 left+right partial frames */
+ visible_video_frames = 2 + ceil((double)editor->current_page_samples() / vtl_dist); /* +2 left+right partial frames */
/* expand timeline (cache next/prev page images) */
vtl_start -= visible_video_frames * vtl_dist;
visible_video_frames *=3;
if (vtl_start < video_offset ) {
- visible_video_frames += ceil(vtl_start/vtl_dist);
+ visible_video_frames += ceil((double)vtl_start/vtl_dist);
vtl_start = video_offset;
}
@@ -383,7 +386,7 @@ VideoTimeLine::update_video_timeline()
while (video_frames.size() < visible_video_frames) {
VideoImageFrame *frame;
- frame = new VideoImageFrame(*editor, *videotl_bar_group, display_vframe_width, bar_height, video_server_url, translated_filename());
+ frame = new VideoImageFrame(*editor, *videotl_group, display_vframe_width, bar_height, video_server_url, translated_filename());
frame->ImgChanged.connect (*this, invalidator (*this), boost::bind (&PublicEditor::queue_visual_videotimeline_update, editor), gui_context());
video_frames.push_back(frame);
}
@@ -416,7 +419,7 @@ VideoTimeLine::update_video_timeline()
}
VideoImageFrame * frame = get_video_frame(vframeno, cut, rightend);
if (frame) {
- frame->set_position(vfpos-leftmost_frame);
+ frame->set_position(vfpos);
outdated_video_frames.remove(frame);
} else {
remaining.push_back(vfcount);
@@ -426,7 +429,7 @@ VideoTimeLine::update_video_timeline()
for (VideoFrames::iterator i = outdated_video_frames.begin(); i != outdated_video_frames.end(); ++i ) {
VideoImageFrame *frame = (*i);
if (remaining.empty()) {
- frame->set_position(-2 * vtl_dist); /* move off screen */
+ frame->set_position(-2 * vtl_dist + leftmost_sample); /* move off screen */
} else {
int vfcount=remaining.front();
remaining.pop_front();
@@ -437,7 +440,7 @@ VideoTimeLine::update_video_timeline()
rightend = display_vframe_width * (video_start_offset + video_duration + video_offset - vfpos) / vtl_dist;
//printf("lf(n): %lu\n", vframeno); // XXX
}
- frame->set_position(vfpos-leftmost_frame);
+ frame->set_position(vfpos);
frame->set_videoframe(vframeno, rightend);
}
}
@@ -458,7 +461,8 @@ VideoTimeLine::video_file_info (std::string filename, bool local)
{
local_file = local;
- if (filename.at(0) == G_DIR_SEPARATOR || !local_file) {
+ if (Glib::path_is_absolute(filename) || !local_file)
+ {
video_filename = filename;
} else {
video_filename = Glib::build_filename (_session->session_directory().video_path(), filename);
@@ -589,7 +593,7 @@ VideoTimeLine::check_server_docroot ()
|| lines.at(0).empty()
|| lines.at(0).at(0) != video_get_docroot(Config)) {
warning << string_compose(
- _("Video-server docroot mismatch. %1: '%2', video-server: '%3'. This usually means that the video server was not started by ardour and uses a different document-root."),
+ _("Video-server docroot mismatch. %1: '%2', video-server: '%3'. This usually means that the video server was not started by %1 and uses a different document-root."),
PROGRAM_NAME, video_get_docroot(Config), lines.at(0).at(0))
<< endmsg;
ok = false; // TODO allow to override
@@ -719,15 +723,24 @@ VideoTimeLine::set_video_server_docroot(std::string vsr) {
/* video-monitor for this timeline */
void
+VideoTimeLine::xjadeo_readversion (std::string d, size_t /* s */) {
+ xjadeo_version += d;
+}
+
+void
VideoTimeLine::find_xjadeo () {
std::string xjadeo_file_path;
+#ifdef PLATFORM_WINDOWS
+ HKEY key;
+ DWORD size = PATH_MAX;
+ char tmp[PATH_MAX+1];
+ const char *program_files = PBD::get_win_special_folder (CSIDL_PROGRAM_FILES);
+#endif
if (getenv("XJREMOTE")) {
_xjadeo_bin = getenv("XJREMOTE");
- }
- else if (find_file_in_search_path (SearchPath(Glib::getenv("PATH")), X_("xjremote"), xjadeo_file_path)) {
+ } else if (find_file (Searchpath(Glib::getenv("PATH")), X_("xjremote"), xjadeo_file_path)) {
_xjadeo_bin = xjadeo_file_path;
- }
- else if (find_file_in_search_path (SearchPath(Glib::getenv("PATH")), X_("xjadeo"), xjadeo_file_path)) {
+ } else if (find_file (Searchpath(Glib::getenv("PATH")), X_("xjadeo"), xjadeo_file_path)) {
_xjadeo_bin = xjadeo_file_path;
}
#ifdef __APPLE__
@@ -739,26 +752,19 @@ VideoTimeLine::find_xjadeo () {
}
#endif
#ifdef PLATFORM_WINDOWS
- else {
- HKEY key;
- DWORD size = PATH_MAX;
- char path[PATH_MAX+1];
- xjadeo_file_path = X_("");
- if ( (ERROR_SUCCESS == RegOpenKeyExA (HKEY_LOCAL_MACHINE, "Software\\RSS\\xjadeo", 0, KEY_READ, &key))
- && (ERROR_SUCCESS == RegQueryValueExA (key, "Install_Dir", 0, NULL, (LPBYTE)path, &size))
- )
- {
- xjadeo_file_path = g_build_filename(path, X_("xjadeo.exe"));
- }
- }
- if (Glib::file_test(xjadeo_file_path, Glib::FILE_TEST_EXISTS)) {
- _xjadeo_bin = xjadeo_file_path;
+ else if ( (ERROR_SUCCESS == RegOpenKeyExA (HKEY_LOCAL_MACHINE, "Software\\RSS\\xjadeo", 0, KEY_READ, &key))
+ && (ERROR_SUCCESS == RegQueryValueExA (key, "Install_Dir", 0, NULL, reinterpret_cast<LPBYTE>(tmp), &size))
+ )
+ {
+ _xjadeo_bin = std::string(g_build_filename(Glib::locale_to_utf8(tmp).c_str(), "xjadeo.exe", 0));
}
- else if (Glib::file_test(X_("C:\\Program Files\\xjadeo\\xjremote.exe"), Glib::FILE_TEST_EXISTS)) {
- _xjadeo_bin = X_("C:\\Program Files\\xjadeo\\xjremote.exe");
+ else if (program_files && Glib::file_test(g_build_filename(program_files, "xjadeo", "xjadeo.exe", 0), Glib::FILE_TEST_EXISTS))
+ {
+ _xjadeo_bin = std::string(g_build_filename(program_files, "xjadeo", "xjadeo.exe", 0));
}
- else if (Glib::file_test(X_("C:\\Program Files\\xjadeo\\xjremote.bat"), Glib::FILE_TEST_EXISTS)) {
- _xjadeo_bin = X_("C:\\Program Files\\xjadeo\\xjremote.bat");
+ /* generic fallback to try */
+ else if (Glib::file_test(X_("C:\\Program Files\\xjadeo\\xjadeo.exe"), Glib::FILE_TEST_EXISTS)) {
+ _xjadeo_bin = X_("C:\\Program Files\\xjadeo\\xjadeo.exe");
}
#endif
else {
@@ -770,6 +776,45 @@ VideoTimeLine::find_xjadeo () {
"see also http://manual.ardour.org/video-timeline/setup/")
<< endmsg;
}
+ if (found_xjadeo ()) {
+ ARDOUR::SystemExec version_check(_xjadeo_bin, X_("--version"));
+ xjadeo_version = "";
+ version_check.ReadStdout.connect_same_thread (*this, boost::bind (&VideoTimeLine::xjadeo_readversion, this, _1 ,_2));
+ version_check.Terminated.connect_same_thread (*this, boost::bind (&VideoTimeLine::xjadeo_readversion, this, "\n" ,1));
+ if (version_check.start(2)) {
+ warning << _(
+ "Video-monitor 'xjadeo' cannot be launched."
+ ) << endmsg;
+ _xjadeo_bin = X_("");
+ return;
+ }
+
+ version_check.wait ();
+ int timeout = 300;
+ while (xjadeo_version.empty() && --timeout) {
+ Glib::usleep(10000);
+ }
+
+ bool v_ok = false;
+ size_t vo = xjadeo_version.find(" version ");
+ if (vo != string::npos) {
+ int v_major, v_minor, v_micro;
+ if(sscanf(xjadeo_version.substr(vo + 9, string::npos).c_str(),"%d.%d.%d",
+ &v_major, &v_minor, &v_micro) == 3)
+ {
+ if (v_major >= 1) v_ok = true;
+ else if (v_major == 0 && v_minor >= 8) v_ok = true;
+ else if (v_major == 0 && v_minor >= 7 && v_micro >= 7) v_ok = true;
+ }
+ }
+ if (!v_ok) {
+ _xjadeo_bin = X_("");
+ warning << _(
+ "Video-monitor 'xjadeo' is too old. "
+ "Please install xjadeo version 0.7.7 or later. http://xjadeo.sf.net/"
+ ) << endmsg;
+ }
+ }
}
void
diff --git a/gtk2_ardour/video_timeline.h b/gtk2_ardour/video_timeline.h
index c96c9b1320..5a1bceb258 100644
--- a/gtk2_ardour/video_timeline.h
+++ b/gtk2_ardour/video_timeline.h
@@ -29,7 +29,7 @@
#include "video_image_frame.h"
#include "video_monitor.h"
#include "pbd/signals.h"
-#include "canvas.h"
+#include "canvas/container.h"
namespace ARDOUR {
class Session;
@@ -55,7 +55,7 @@ class PublicEditor;
class VideoTimeLine : public sigc::trackable, public ARDOUR::SessionHandlePtr, public PBD::ScopedConnectionList, public PBD::StatefulDestructible
{
public:
- VideoTimeLine (PublicEditor*, ArdourCanvas::Group*, int);
+ VideoTimeLine (PublicEditor*, ArdourCanvas::Container*, int);
virtual ~VideoTimeLine ();
void set_session (ARDOUR::Session *s);
@@ -93,7 +93,7 @@ class VideoTimeLine : public sigc::trackable, public ARDOUR::SessionHandlePtr, p
void save_session ();
void close_session ();
void sync_session_state (); /* video-monitor does not actively report window/pos changes, query it */
- float get_apv(); /* audio frames per video frame; */
+ float get_apv(); /* audio samples per video frame; */
ARDOUR::framecnt_t get_duration () { return video_duration;}
ARDOUR::frameoffset_t get_offset () { return video_offset;}
ARDOUR::frameoffset_t quantify_frames_to_apv (ARDOUR::frameoffset_t offset) { return rint(offset/get_apv())*get_apv(); }
@@ -102,17 +102,17 @@ class VideoTimeLine : public sigc::trackable, public ARDOUR::SessionHandlePtr, p
protected:
PublicEditor *editor;
- ArdourCanvas::Group *videotl_bar_group;
+ ArdourCanvas::Container *videotl_group;
int bar_height;
std::string _xjadeo_bin;
void find_xjadeo ();
- ARDOUR::frameoffset_t video_start_offset; /**< unit: audio-frames - video-file */
- ARDOUR::frameoffset_t video_offset; /**< unit: audio-frames - session */
+ ARDOUR::frameoffset_t video_start_offset; /**< unit: audio-samples - video-file */
+ ARDOUR::frameoffset_t video_offset; /**< unit: audio-samples - session */
ARDOUR::frameoffset_t video_offset_p; /**< used for undo from editor_drag.cc */
- framepos_t video_duration; /**< unit: audio-frames */
+ framepos_t video_duration; /**< unit: audio-samples */
std::string video_filename;
bool local_file;
double video_aspect_ratio;
@@ -123,6 +123,9 @@ class VideoTimeLine : public sigc::trackable, public ARDOUR::SessionHandlePtr, p
std::string video_server_url;
std::string server_docroot;
+ void xjadeo_readversion (std::string d, size_t s);
+ std::string xjadeo_version;
+
typedef std::list<VideoImageFrame*> VideoFrames;
VideoFrames video_frames;
VideoImageFrame *get_video_frame (framepos_t vfn, int cut=0, int rightend = -1);
diff --git a/gtk2_ardour/volume_controller.cc b/gtk2_ardour/volume_controller.cc
index 6db3bc7d7a..007b623355 100644
--- a/gtk2_ardour/volume_controller.cc
+++ b/gtk2_ardour/volume_controller.cc
@@ -116,7 +116,7 @@ VolumeController::to_control_value (double display_value)
if (_linear) {
v = _controllable->lower() + ((_controllable->upper() - _controllable->lower()) * display_value);
} else {
- v = slider_position_to_gain_with_max (display_value, ARDOUR::Config->get_max_gain());
+ v = ARDOUR::slider_position_to_gain_with_max (display_value, ARDOUR::Config->get_max_gain());
}
return v;
@@ -130,7 +130,7 @@ VolumeController::to_display_value (double control_value)
if (_linear) {
v = (control_value - _controllable->lower ()) / (_controllable->upper() - _controllable->lower());
} else {
- v = gain_to_slider_position_with_max (control_value, _controllable->upper());
+ v = ARDOUR::gain_to_slider_position_with_max (control_value, _controllable->upper());
}
return v;
@@ -151,13 +151,13 @@ VolumeController::adjust (double control_delta)
*/
#if 0
/* convert to linear/fractional slider position domain */
- v = gain_to_slider_position_with_max (_controllable->get_value (), _controllable->upper());
+ v = ARDOUR::gain_to_slider_position_with_max (_controllable->get_value (), _controllable->upper());
/* increment in this domain */
v += control_delta;
/* clamp to appropriate range for linear/fractional slider domain */
v = std::max (0.0, std::min (1.0, v));
/* convert back to gain coefficient domain */
- v = slider_position_to_gain_with_max (v, _controllable->upper());
+ v = ARDOUR::slider_position_to_gain_with_max (v, _controllable->upper());
/* clamp in controller domain */
v = std::max (_controllable->lower(), std::min (_controllable->upper(), v));
/* convert to dB domain */
diff --git a/gtk2_ardour/vst_plugin_ui.cc b/gtk2_ardour/vst_plugin_ui.cc
index 6c30813821..6ed5b9af03 100644
--- a/gtk2_ardour/vst_plugin_ui.cc
+++ b/gtk2_ardour/vst_plugin_ui.cc
@@ -17,10 +17,18 @@
*/
+#include <gtkmm.h>
#include "ardour/vst_plugin.h"
#include "ardour/vst_types.h"
#include "vst_plugin_ui.h"
+
+#ifdef PLATFORM_WINDOWS
+#include <gdk/gdkwin32.h>
+#elif defined __APPLE__
+// TODO
+#else
#include <gdk/gdkx.h>
+#endif
VSTPluginUI::VSTPluginUI (boost::shared_ptr<ARDOUR::PluginInsert> insert, boost::shared_ptr<ARDOUR::VSTPlugin> plugin)
: PlugUIBase (insert)
@@ -39,7 +47,10 @@ VSTPluginUI::VSTPluginUI (boost::shared_ptr<ARDOUR::PluginInsert> insert, boost:
bypass_button.set_active (!insert->active ());
pack_start (*box, false, false);
+#ifdef GDK_WINDOWING_X11
pack_start (_socket, true, true);
+ _socket.set_border_width (0);
+#endif
}
VSTPluginUI::~VSTPluginUI ()
@@ -50,37 +61,60 @@ VSTPluginUI::~VSTPluginUI ()
void
VSTPluginUI::preset_selected ()
{
+#ifdef GDK_WINDOWING_X11
_socket.grab_focus ();
+#endif
PlugUIBase::preset_selected ();
}
int
VSTPluginUI::get_preferred_height ()
{
- return _vst->state()->height;
+ return _vst->state()->height + _vst->state()->voffset;
}
int
VSTPluginUI::get_preferred_width ()
{
- return _vst->state()->width;
+ return _vst->state()->width + _vst->state()->hoffset;
}
int
VSTPluginUI::package (Gtk::Window& win)
{
+#ifdef GDK_WINDOWING_X11
/* Forward configure events to plugin window */
win.signal_configure_event().connect (sigc::mem_fun (*this, &VSTPluginUI::configure_handler), false);
/* This assumes that the window's owner understands the XEmbed protocol */
_socket.add_id (get_XID ());
+ _socket.set_size_request(
+ _vst->state()->width + _vst->state()->hoffset,
+ _vst->state()->height + _vst->state()->voffset);
+#endif
return 0;
}
bool
+VSTPluginUI::on_window_show(const std::string& title)
+{
+ _vst->state()->gui_shown = 1;
+ return PlugUIBase::on_window_show(title);
+}
+
+void
+VSTPluginUI::on_window_hide()
+{
+ _vst->state()->gui_shown = 0;
+ PlugUIBase::on_window_hide();
+}
+
+
+bool
VSTPluginUI::configure_handler (GdkEventConfigure*)
{
+#ifdef GDK_WINDOWING_X11
XEvent event;
gint x, y;
GdkWindow* w;
@@ -114,6 +148,6 @@ VSTPluginUI::configure_handler (GdkEventConfigure*)
XSendEvent (GDK_WINDOW_XDISPLAY (w), GDK_WINDOW_XWINDOW (w), False, StructureNotifyMask, &event);
gdk_error_trap_pop ();
+#endif
return false;
}
-
diff --git a/gtk2_ardour/vst_plugin_ui.h b/gtk2_ardour/vst_plugin_ui.h
index 9ab38fe446..7339186975 100644
--- a/gtk2_ardour/vst_plugin_ui.h
+++ b/gtk2_ardour/vst_plugin_ui.h
@@ -35,6 +35,9 @@ public:
virtual int get_preferred_height ();
virtual int get_preferred_width ();
+ bool on_window_show (const std::string& title);
+ void on_window_hide();
+
virtual int package (Gtk::Window &);
bool non_gtk_gui () const { return true; }
diff --git a/gtk2_ardour/vstdbg b/gtk2_ardour/vstdbg
new file mode 100755
index 0000000000..60e3286950
--- /dev/null
+++ b/gtk2_ardour/vstdbg
@@ -0,0 +1,12 @@
+#!/bin/sh
+. `dirname "$0"`/../build/gtk2_ardour/ardev_common_waf.sh
+LD_LIBRARY_PATH=$LD_LIBRARY_PATH
+export ARDOUR_INSIDE_GDB=1
+
+if test -n "`which gdb`"; then
+ exec gdb --args $libs/fst/ardour-vst-scanner $@
+fi
+if test -n "`which lldb`"; then
+ exec lldb -- $libs/fst/ardour-vst-scanner $@
+fi
+echo "neither gdb nor lldb was found."
diff --git a/gtk2_ardour/waveview.cc b/gtk2_ardour/waveview.cc
deleted file mode 100644
index 9cc53355be..0000000000
--- a/gtk2_ardour/waveview.cc
+++ /dev/null
@@ -1,323 +0,0 @@
-#include "waveview.h"
-#include "waveview_p.h"
-
-
-/* waveview.cc
- *
- * Copyright (C) 1998 EMC Capital Management Inc.
- * Developed by Havoc Pennington <hp@pobox.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-//#include <libgnomecanvasmm/group.h>
-
-namespace Gnome
-{
-
-namespace Canvas
-{
-
-WaveView::WaveView(Group& parentx)
- : Item(GNOME_CANVAS_ITEM(g_object_new(get_type(),0)))
-{
- item_construct(parentx);
-}
-
-} /* namespace Canvas */
-} /* namespace Gnome */
-
-
-namespace Glib
-{
-
-Gnome::Canvas::WaveView* wrap(GnomeCanvasWaveView* object, bool take_copy)
-{
- return dynamic_cast<Gnome::Canvas::WaveView *> (Glib::wrap_auto ((GObject*)(object), take_copy));
-}
-
-} /* namespace Glib */
-
-namespace Gnome
-{
-
-namespace Canvas
-{
-
-
-/* The *_Class implementation: */
-
-const Glib::Class& WaveView_Class::init()
-{
- if(!gtype_) // create the GType if necessary
- {
- // Glib::Class has to know the class init function to clone custom types.
- class_init_func_ = &WaveView_Class::class_init_function;
-
- // This is actually just optimized away, apparently with no harm.
- // Make sure that the parent type has been created.
- //CppClassParent::CppObjectType::get_type();
-
- // Create the wrapper type, with the same class/instance size as the base type.
- register_derived_type(gnome_canvas_waveview_get_type());
-
- // Add derived versions of interfaces, if the C type implements any interfaces:
- }
-
- return *this;
-}
-
-void WaveView_Class::class_init_function(void* g_class, void* class_data)
-{
- BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
- CppClassParent::class_init_function(klass, class_data);
-
-}
-
-
-Glib::ObjectBase* WaveView_Class::wrap_new(GObject* o)
-{
- return manage(new WaveView((GnomeCanvasWaveView*)(o)));
-
-}
-
-
-/* The implementation: */
-
-WaveView::WaveView(const Glib::ConstructParams& construct_params)
-:
- Item(construct_params)
-{
- }
-
-WaveView::WaveView(GnomeCanvasWaveView* castitem)
-:
- Item((GnomeCanvasItem*)(castitem))
-{
- }
-
-WaveView::~WaveView()
-{
- destroy_();
-}
-
-WaveView::CppClassType WaveView::waveview_class_; // initialize static member
-
-GType WaveView::get_type()
-{
- return waveview_class_.init().get_type();
-}
-
-GType WaveView::get_base_type()
-{
- return gnome_canvas_waveview_get_type();
-}
-
-GnomeCanvasWaveViewCache*
-WaveView::create_cache ()
-{
- return gnome_canvas_waveview_cache_new ();
-}
-
-Glib::PropertyProxy<void*> WaveView::property_data_src()
-{
- return Glib::PropertyProxy<void*> (this, "data_src");
-}
-Glib::PropertyProxy_ReadOnly<void*> WaveView::property_data_src() const
-{
- return Glib::PropertyProxy_ReadOnly<void*> (this, "data_src");
-}
-Glib::PropertyProxy<uint32_t> WaveView::property_channel()
-{
- return Glib::PropertyProxy<uint32_t> (this, "channel");
-}
-Glib::PropertyProxy_ReadOnly<uint32_t> WaveView::property_channel() const
-{
- return Glib::PropertyProxy_ReadOnly<uint32_t> (this, "channel");
-}
-Glib::PropertyProxy<void*> WaveView::property_length_function()
-{
- return Glib::PropertyProxy<void*> (this, "length_function");
-}
-Glib::PropertyProxy_ReadOnly<void*> WaveView::property_length_function() const
-{
- return Glib::PropertyProxy_ReadOnly<void*> (this, "length_function");
-}
-Glib::PropertyProxy<void*> WaveView::property_sourcefile_length_function()
-{
- return Glib::PropertyProxy<void*> (this, "sourcefile_length_function");
-}
-Glib::PropertyProxy_ReadOnly<void*> WaveView::property_sourcefile_length_function() const
-{
- return Glib::PropertyProxy_ReadOnly<void*> (this, "sourcefile_length_function");
-}
-Glib::PropertyProxy<void*> WaveView::property_peak_function()
-{
- return Glib::PropertyProxy<void*> (this, "peak_function");
-}
-Glib::PropertyProxy_ReadOnly<void*> WaveView::property_peak_function() const
-{
- return Glib::PropertyProxy_ReadOnly<void*> (this, "peak_function");
-}
-Glib::PropertyProxy<void*> WaveView::property_gain_function()
-{
- return Glib::PropertyProxy<void*> (this, "gain_function");
-}
-Glib::PropertyProxy_ReadOnly<void*> WaveView::property_gain_function() const
-{
- return Glib::PropertyProxy_ReadOnly<void*> (this, "gain_function");
-}
-Glib::PropertyProxy<void*> WaveView::property_gain_src()
-{
- return Glib::PropertyProxy<void*> (this, "gain_src");
-}
-Glib::PropertyProxy_ReadOnly<void*> WaveView::property_gain_src() const
-{
- return Glib::PropertyProxy_ReadOnly<void*> (this, "gain_src");
-}
-Glib::PropertyProxy<void*> WaveView::property_cache()
-{
- return Glib::PropertyProxy<void*> (this, "cache");
-}
-Glib::PropertyProxy_ReadOnly<void*> WaveView::property_cache() const
-{
- return Glib::PropertyProxy_ReadOnly<void*> (this, "cache");
-}
-Glib::PropertyProxy<bool> WaveView::property_cache_updater()
-{
- return Glib::PropertyProxy<bool> (this, "cache_updater");
-}
-Glib::PropertyProxy_ReadOnly<bool> WaveView::property_cache_updater() const
-{
- return Glib::PropertyProxy_ReadOnly<bool> (this, "cache_updater");
-}
-Glib::PropertyProxy<double> WaveView::property_samples_per_unit()
-{
- return Glib::PropertyProxy<double> (this, "samples_per_unit");
-}
-Glib::PropertyProxy_ReadOnly<double> WaveView::property_samples_per_unit() const
-{
- return Glib::PropertyProxy_ReadOnly<double> (this, "samples_per_unit");
-}
-Glib::PropertyProxy<double> WaveView::property_amplitude_above_axis()
-{
- return Glib::PropertyProxy<double> (this, "amplitude_above_axis");
-}
-Glib::PropertyProxy_ReadOnly<double> WaveView::property_amplitude_above_axis() const
-{
- return Glib::PropertyProxy_ReadOnly<double> (this, "amplitude_above_axis");
-}
-Glib::PropertyProxy<double> WaveView::property_x()
-{
- return Glib::PropertyProxy<double> (this, "x");
-}
-Glib::PropertyProxy_ReadOnly<double> WaveView::property_x() const
-{
- return Glib::PropertyProxy_ReadOnly<double> (this, "x");
-}
-Glib::PropertyProxy<double> WaveView::property_y()
-{
- return Glib::PropertyProxy<double> (this, "y");
-}
-Glib::PropertyProxy_ReadOnly<double> WaveView::property_y() const
-{
- return Glib::PropertyProxy_ReadOnly<double> (this, "y");
-}
-Glib::PropertyProxy<double> WaveView::property_height()
-{
- return Glib::PropertyProxy<double> (this, "height");
-}
-Glib::PropertyProxy_ReadOnly<double> WaveView::property_height() const
-{
- return Glib::PropertyProxy_ReadOnly<double> (this, "height");
-}
-Glib::PropertyProxy<guint> WaveView::property_wave_color()
-{
- return Glib::PropertyProxy<guint> (this, "wave_color");
-}
-Glib::PropertyProxy_ReadOnly<guint> WaveView::property_wave_color() const
-{
- return Glib::PropertyProxy_ReadOnly<guint> (this, "wave_color");
-}
-Glib::PropertyProxy<guint> WaveView::property_clip_color()
-{
- return Glib::PropertyProxy<guint> (this, "clip_color");
-}
-Glib::PropertyProxy_ReadOnly<guint> WaveView::property_clip_color() const
-{
- return Glib::PropertyProxy_ReadOnly<guint> (this, "clip_color");
-}
-Glib::PropertyProxy<guint> WaveView::property_zero_color()
-{
- return Glib::PropertyProxy<guint> (this, "zero_color");
-}
-Glib::PropertyProxy_ReadOnly<guint> WaveView::property_zero_color() const
-{
- return Glib::PropertyProxy_ReadOnly<guint> (this, "zero_color");
-}
-Glib::PropertyProxy<guint> WaveView::property_fill_color()
-{
- return Glib::PropertyProxy<guint> (this, "fill_color");
-}
-Glib::PropertyProxy_ReadOnly<guint> WaveView::property_fill_color() const
-{
- return Glib::PropertyProxy_ReadOnly<guint> (this, "fill_color");
-}
-Glib::PropertyProxy<gint> WaveView::property_filled()
-{
- return Glib::PropertyProxy<gint> (this, "filled");
-}
-Glib::PropertyProxy_ReadOnly<gint> WaveView::property_filled() const
-{
- return Glib::PropertyProxy_ReadOnly<gint> (this, "filled");
-}
-Glib::PropertyProxy<gint> WaveView::property_rectified()
-{
- return Glib::PropertyProxy<gint> (this, "rectified");
-}
-Glib::PropertyProxy_ReadOnly<gint> WaveView::property_rectified() const
-{
- return Glib::PropertyProxy_ReadOnly<gint> (this, "rectified");
-}
-Glib::PropertyProxy<gint> WaveView::property_zero_line()
-{
- return Glib::PropertyProxy<gint> (this, "zero_line");
-}
-Glib::PropertyProxy_ReadOnly<gint> WaveView::property_zero_line() const
-{
- return Glib::PropertyProxy_ReadOnly<gint> (this, "zero_line");
-}
-Glib::PropertyProxy<guint> WaveView::property_region_start()
-{
- return Glib::PropertyProxy<guint> (this, "region_start");
-}
-Glib::PropertyProxy_ReadOnly<guint> WaveView::property_region_start() const
-{
- return Glib::PropertyProxy_ReadOnly<guint> (this, "region_start");
-}
-Glib::PropertyProxy<gint> WaveView::property_logscaled()
-{
- return Glib::PropertyProxy<gint> (this, "logscaled");
-}
-Glib::PropertyProxy_ReadOnly<gint> WaveView::property_logscaled() const
-{
- return Glib::PropertyProxy_ReadOnly<gint> (this, "logscaled");
-}
-
-} // namespace Canvas
-
-} // namespace Gnome
-
-
diff --git a/gtk2_ardour/waveview.h b/gtk2_ardour/waveview.h
deleted file mode 100644
index 53472f80d3..0000000000
--- a/gtk2_ardour/waveview.h
+++ /dev/null
@@ -1,177 +0,0 @@
-// -*- c++ -*-
-#ifndef _LIBGNOMECANVASMM_WAVEVIEW_H
-#define _LIBGNOMECANVASMM_WAVEVIEW_H
-
-#include <glibmm.h>
-
-
-/* waveview.h
- *
- * Copyright (C) 1998 EMC Capital Management Inc.
- * Developed by Havoc Pennington <hp@pobox.com>
- *
- * Copyright (C) 1999 The Gtk-- Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include <libgnomecanvasmm/item.h>
-#include "canvas-waveview.h"
-#include <libgnomecanvas/gnome-canvas-util.h>
-#include <libgnomecanvas/libgnomecanvas.h>
-#include <vector>
-
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-typedef struct _GnomeCanvasWaveView GnomeCanvasWaveView;
-typedef struct _GnomeCanvasWaveViewClass GnomeCanvasWaveViewClass;
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-
-namespace Gnome
-{
-
-namespace Canvas
-{ class WaveView_Class; } // namespace Canvas
-
-} // namespace Gnome
-namespace Gnome
-{
-
-namespace Canvas
-{
-
-class GnomeGroup;
-
-class WaveView : public Item
-{
- public:
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- typedef WaveView CppObjectType;
- typedef WaveView_Class CppClassType;
- typedef GnomeCanvasWaveView BaseObjectType;
- typedef GnomeCanvasWaveViewClass BaseClassType;
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
- virtual ~WaveView();
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-
-private:
- friend class WaveView_Class;
- static CppClassType waveview_class_;
-
- // noncopyable
- WaveView(const WaveView&);
- WaveView& operator=(const WaveView&);
-
-protected:
- explicit WaveView(const Glib::ConstructParams& construct_params);
- explicit WaveView(GnomeCanvasWaveView* castitem);
-
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-public:
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- static GType get_type() G_GNUC_CONST;
- static GType get_base_type() G_GNUC_CONST;
-#endif
-
- ///Provides access to the underlying C GtkObject.
- GnomeCanvasWaveView* gobj() { return reinterpret_cast<GnomeCanvasWaveView*>(gobject_); }
-
- ///Provides access to the underlying C GtkObject.
- const GnomeCanvasWaveView* gobj() const { return reinterpret_cast<GnomeCanvasWaveView*>(gobject_); }
-
-
-public:
- //C++ methods used to invoke GTK+ virtual functions:
-
-protected:
- //GTK+ Virtual Functions (override these to change behaviour):
-
- //Default Signal Handlers::
-
-
-private:
-
-public:
- WaveView(Group& parent);
-
- static GnomeCanvasWaveViewCache* create_cache();
-
- Glib::PropertyProxy<void*> property_data_src();
- Glib::PropertyProxy_ReadOnly<void*> property_data_src() const;
- Glib::PropertyProxy<uint32_t> property_channel();
- Glib::PropertyProxy_ReadOnly<uint32_t> property_channel() const;
- Glib::PropertyProxy<void*> property_length_function();
- Glib::PropertyProxy_ReadOnly<void*> property_length_function() const;
- Glib::PropertyProxy<void*> property_sourcefile_length_function();
- Glib::PropertyProxy_ReadOnly<void*> property_sourcefile_length_function() const;
- Glib::PropertyProxy<void*> property_peak_function();
- Glib::PropertyProxy_ReadOnly<void*> property_peak_function() const;
- Glib::PropertyProxy<void*> property_gain_function();
- Glib::PropertyProxy_ReadOnly<void*> property_gain_function() const;
- Glib::PropertyProxy<void*> property_gain_src();
- Glib::PropertyProxy_ReadOnly<void*> property_gain_src() const;
- Glib::PropertyProxy<void*> property_cache();
- Glib::PropertyProxy_ReadOnly<void*> property_cache() const;
- Glib::PropertyProxy<bool> property_cache_updater();
- Glib::PropertyProxy_ReadOnly<bool> property_cache_updater() const;
- Glib::PropertyProxy<double> property_samples_per_unit();
- Glib::PropertyProxy_ReadOnly<double> property_samples_per_unit() const;
- Glib::PropertyProxy<double> property_amplitude_above_axis();
- Glib::PropertyProxy_ReadOnly<double> property_amplitude_above_axis() const;
- Glib::PropertyProxy<double> property_x();
- Glib::PropertyProxy_ReadOnly<double> property_x() const;
- Glib::PropertyProxy<double> property_y();
- Glib::PropertyProxy_ReadOnly<double> property_y() const;
- Glib::PropertyProxy<double> property_height();
- Glib::PropertyProxy_ReadOnly<double> property_height() const;
- Glib::PropertyProxy<guint> property_wave_color();
- Glib::PropertyProxy_ReadOnly<guint> property_wave_color() const;
- Glib::PropertyProxy<guint> property_clip_color();
- Glib::PropertyProxy_ReadOnly<guint> property_clip_color() const;
- Glib::PropertyProxy<guint> property_fill_color();
- Glib::PropertyProxy_ReadOnly<guint> property_fill_color() const;
- Glib::PropertyProxy<gint> property_filled();
- Glib::PropertyProxy_ReadOnly<gint> property_filled() const;
- Glib::PropertyProxy<gint> property_zero_line();
- Glib::PropertyProxy_ReadOnly<gint> property_zero_line() const;
- Glib::PropertyProxy<guint> property_zero_color();
- Glib::PropertyProxy_ReadOnly<guint> property_zero_color() const;
- Glib::PropertyProxy<gint> property_rectified();
- Glib::PropertyProxy_ReadOnly<gint> property_rectified() const;
- Glib::PropertyProxy<guint> property_region_start();
- Glib::PropertyProxy_ReadOnly<guint> property_region_start() const;
- Glib::PropertyProxy<gint> property_logscaled();
- Glib::PropertyProxy_ReadOnly<gint> property_logscaled() const;
-};
-
-} /* namespace Canvas */
-} /* namespace Gnome */
-
-
-namespace Glib
-{
- /** @relates Gnome::Canvas::WaveView
- * @param object The C instance
- * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
- * @result A C++ instance that wraps this C instance.
- */
- Gnome::Canvas::WaveView* wrap(GnomeCanvasWaveView* object, bool take_copy = false);
-}
-#endif /* _LIBGNOMECANVASMM_WAVEVIEW_H */
-
diff --git a/gtk2_ardour/waveview_p.h b/gtk2_ardour/waveview_p.h
deleted file mode 100644
index 5b636a702f..0000000000
--- a/gtk2_ardour/waveview_p.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- 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
-
-#include <libgnomecanvasmm/private/item_p.h>
-#include <glibmm/class.h>
-
-namespace Gnome
-{
-
-namespace Canvas
-{
-
-class WaveView_Class : public Glib::Class
-{
-public:
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- typedef WaveView CppObjectType;
- typedef GnomeCanvasWaveView BaseObjectType;
- typedef GnomeCanvasWaveViewClass BaseClassType;
- typedef Item_Class CppClassParent;
- typedef GnomeCanvasItemClass BaseClassParent;
-
- friend class WaveView;
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
- const Glib::Class& init();
-
- static void class_init_function(void* g_class, void* class_data);
-
- static Glib::ObjectBase* wrap_new(GObject*);
-
-protected:
-
- //Callbacks (default signal handlers):
- //These will call the *_impl member methods, which will then call the existing default signal callbacks, if any.
- //You could prevent the original default signal handlers being called by overriding the *_impl method.
-
- //Callbacks (virtual functions):
-};
-
-
-} // namespace Canvas
-
-} // namespace Gnome
-
-#endif /* _LIBGNOMECANVASMM_WAVEVIEW_P_H */
-
diff --git a/gtk2_ardour/ardour3_widget_list.rc b/gtk2_ardour/widget_list.rc
index 582871d87f..689bd7096a 100644
--- a/gtk2_ardour/ardour3_widget_list.rc
+++ b/gtk2_ardour/widget_list.rc
@@ -6,113 +6,29 @@ class "GtkCheckButton" style:highest "ardour_button"
class "GtkArrow" style:highest "tearoff_arrow"
class "GtkProgressBar" style:highest "ardour_progressbars"
-widget "gtk-tooltip*" style:highest "tooltip"
widget "*PaddedButton" style:highest "padded_button"
widget "*VerboseCanvasCursor" style:highest "verbose_canvas_cursor"
widget "*MarkerText" style:highest "marker_text"
-widget "*TimeAxisViewItemName*" style:highest "time_axis_view_item_name"
-widget "*EditModeSelector" style:highest "medium_bold_entry"
-widget "*SnapTypeSelector" style:highest "medium_bold_entry"
-widget "*SnapModeSelector" style:highest "medium_bold_entry"
-widget "*ZoomFocusSelector" style:highest "medium_bold_entry"
widget "*ArdourContextMenu*" style:highest "default_menu"
-widget "*EditGroupTitleButton*" style:highest "default_button"
-widget "*MixerGroupTitleButton*" style:highest "default_button"
widget "*ErrorLogCloseButton" style:highest "default_button"
widget "*EditorGTKButton*" style:highest "default_button"
-widget "*ToolbarButton" style:highest "default_button"
-widget "*ToolbarButton*" style:highest "default_button"
widget "*CrossfadeEditButton" style:highest "default_button"
widget "*CrossfadeEditButton*" style:highest "default_button"
-widget "*TrackHistoryButton*" style:highest "default_button"
-widget "*TrackSizeButton*" style:highest "default_button"
-widget "*TrackPlaylistButton*" style:highest "default_button"
-widget "*TrackAutomationButton*" style:highest "default_button"
-widget "*TrackGroupButton*" style:highest "default_button"
-widget "*TrackMixButton*" style:highest "default_button"
-widget "*TrackVisualButton*" style:highest "default_button"
-widget "*TrackRemoveButton*" style:highest "default_button"
-widget "*BaseButton" style:highest "default_button"
-widget "*TakeButtonLabel" style:highest "default_button"
widget "*mixer strip button" style:highest "very_small_button"
widget "*AddRouteDialogSpinner" style:highest "ardour_adjusters"
-widget "*AddRouteDialogRadioButton*" style:highest "preferences"
widget "*OptionsNotebook" style:highest "preferences"
-widget "*OptionEditorToggleButton*" style:highest "preferences"
widget "*OptionsLabel" style:highest "preferences"
-widget "*OptionEditorAuditionerLabel" style:highest "preferences"
widget "*OptionsEntry" style:highest "option_entry"
widget "*InspectorNotebook" style:highest "preferences"
-widget "*NewSessionDialog" style:highest "preferences"
-widget "*NewSessionDialogButton*" style:highest "preferences"
-widget "*MixerSendSwitch*" style:highest "very_small_red_active_and_selected_button"
-widget "*OptionEditorToggleButton" style:highest "small_red_active_and_selected_button"
-widget "*NewSessionDialogButton" style:highest "small_red_active_and_selected_button"
-widget "*RecordEnableButton" style:highest "track_rec_enable_button"
-widget "*RecordEnableButton-active" style:highest "track_rec_enable_button_active"
-widget "*RecordEnableButton-alternate" style:highest "track_rec_enable_button_alternate"
-widget "*RecordEnableButton-alternate2" style:highest "track_rec_enable_button_alternate_two"
-widget "*MixerRecordEnableButton" style:highest "mixer_track_rec_enable_button"
-widget "*MixerRecordEnableButton-active" style:highest "mixer_track_rec_enable_button_active"
-widget "*MixerRecordEnableButton-alternate" style:highest "mixer_track_rec_enable_button_alternate"
-widget "*MuteButton" style:highest "mute_button"
-widget "*MuteButton-alternate" style:highest "mute_button_fullylit"
-widget "*MuteButton-active" style:highest "mute_button_halflit"
-widget "*MixerMuteButton" style:highest "mixer_mute_button"
-widget "*MixerMuteButton-alternate" style:highest "mixer_mute_button_fullylit"
-widget "*MixerMuteButton-active" style:highest "mixer_mute_button_halflit"
-widget "*SoloButton" style:highest "solo_button"
-widget "*SoloButton-alternate" style:highest "solo_button_alternate"
-widget "*SoloButton-alternate2" style:highest "solo_button_alternate2"
-widget "*SoloButton-active" style:highest "solo_button_active"
-widget "*MixerSoloButton" style:highest "mixer_solo_button"
-widget "*MixerSoloButton-alternate" style:highest "mixer_solo_button_alternate"
-widget "*MixerSoloButton-alternate2" style:highest "mixer_solo_button_alternate2"
-widget "*MixerSoloButton-active" style:highest "mixer_solo_button_active"
-widget "*TrackLoopButton*" style:highest "track_loop_button"
-widget "*PanAutomationLineSelector*" style:highest "multiline_combo"
widget "*EditorRulerLabel*" style:highest "ruler_label"
-widget "*MixerInvertButton*" style:highest "mixer_invert_button"
-widget "*MixerInvertButton.*" style:highest "mixer_invert_button"
-widget "*MixerAutomationRecordingButton*" style:highest "very_small_button"
-widget "*MixerAutomationRecordingButton.*" style:highest "very_small_button"
widget "*MixerAutomationModeButton*" style:highest "very_small_button"
widget "*MixerAutomationModeButton.*" style:highest "very_small_button"
widget "*MixerAutomationPlaybackButton*" style:highest "very_small_button"
widget "*MixerAutomationPlaybackButton.*" style:highest "very_small_button"
-widget "*MixerNameButton" style:highest "very_small_button"
-widget "*MixerNameButtonLabel" style:highest "very_small_button"
-widget "*MixerGroupButton" style:highest "very_small_button"
-widget "*MixerGroupButtonLabel" style:highest "very_small_button"
-widget "*MixerCommentButton" style:highest "very_small_button"
-widget "*MixerCommentButton*" style:highest "very_small_button"
-widget "*MixerMonoButton*" style:highest "very_small_button"
-widget "*EditGroupButton" style:highest "very_small_button"
-widget "*EditGroupButtonLabel" style:highest "very_small_button"
-widget "*TransportButton" style:highest "transport_button"
-widget "*TransportButton-active" style:highest "transport_button_active"
-widget "*TransportButton-alternate2" style:highest "transport_button_alternate_two"
-widget "*TransportSyncButton" style:highest "transport_button"
-widget "*TransportSyncButton*" style:highest "transport_button"
-widget "*TransportSyncButton-active" style:highest "sync_alert"
-widget "*TransportSyncButton-active*" style:highest "sync_alert"
-widget "*ShuttleButton" style:highest "transport_button"
-widget "*ShuttleButton*" style:highest "transport_button"
-widget "*ShuttleDisplay" style:highest "transport_button"
-widget "*ShuttleDisplay*" style:highest "transport_button"
widget "*ShuttleControl" style:highest "shuttle_control"
-widget "*TransportRecButton" style:highest "transport_rec_button"
-widget "*TransportRecButton*" style:highest "transport_rec_button"
-widget "*TransportRecButton-active" style:highest "transport_rec_button_active"
-widget "*TransportRecButton-active*" style:highest "transport_rec_button_active"
-widget "*TransportRecButton-alternate" style:highest "transport_rec_button_alternate"
-widget "*TransportRecButton-alternate*" style:highest "transport_rec_button_alternate"
-widget "*TransportRecButton*" style:highest "transport_rec_button"
-widget "*RecordingXrunWarningWindow" style:highest "xrun_warn"
-widget "*RecordingXrunWarningWindow*" style:highest "xrun_warn"
#widget "*MainMenuBar" style:highest "menu_bar_base"
widget "*ErrorMessage" style:highest "error_message"
widget "*FatalMessage" style:highest "fatal_message"
@@ -133,29 +49,6 @@ widget "*menubar clock" style:highest "medium_text"
widget "*zoomrange clock" style:highest "medium_text"
widget "*timecodeoffset clock" style:highest "medium_text"
-widget "*TransportLabel" style:highest "small_bold_text"
-widget "*TakeLabel" style:highest "small_bold_text"
-widget "*LocationLabel" style:highest "small_bold_text"
-widget "*WipeLabel" style:highest "small_bold_text"
-widget "*TakeTagLabel" style:highest "small_bold_text"
-widget "*ToolBarLabel" style:highest "small_bold_text"
-widget "*EditorDisplayLabel" style:highest "small_bold_text"
-widget "*NewSessionLabel" style:highest "larger_text"
-widget "*GlobalButtonLabel" style:highest "default_generic"
-widget "*ClickButton" style:highest "medium_entry"
-widget "*RegionNameDisplay" style:highest "medium_entry"
-widget "*PluginDisplay" style:highest "medium_entry"
-widget "*SelectionDisplay" style:highest "medium_entry"
-widget "*HistorySelector" style:highest "medium_entry"
-widget "*LocationSelector" style:highest "medium_entry"
-widget "*TakeSelector" style:highest "medium_entry"
-widget "*RegionSelector" style:highest "medium_entry"
-widget "*TimecodeRuler" style:highest "editor_time_ruler"
-widget "*BBTRuler" style:highest "editor_time_ruler"
-widget "*SamplesRuler" style:highest "editor_time_ruler"
-widget "*TimecodeRuler" style:highest "editor_time_ruler"
-widget "*FramesRuler" style:highest "editor_time_ruler"
-widget "*MinSecRuler" style:highest "editor_time_ruler"
widget "*BaseFrame" style:highest "base_frame"
widget "*SendStripBase" style:highest "send_strip_base"
@@ -165,7 +58,6 @@ widget "*MidiTrackStripBase" style:highest "midi_track_base"
widget "*AudioTrackStripBaseInactive" style:highest "track_controls_inactive"
widget "*AudioBusStripBaseInactive" style:highest "track_controls_inactive"
widget "*MidiTrackStripBaseInactive" style:highest "track_controls_inactive"
-widget "*FaderMetricsStrip" style:highest "audio_track_metrics"
widget "*AudioTrackMetrics" style:highest "audio_track_metrics"
widget "*MidiTrackMetrics" style:highest "midi_track_metrics"
widget "*AudioBusMetrics" style:highest "audio_bus_metrics"
@@ -196,31 +88,18 @@ widget "*AudioBusFader" style:highest "audio_bus_fader"
widget "*BusControlsBaseUnselected" style:highest "audio_bus_base"
widget "*TrackSeparator" style:highest "track_separator"
-widget "*TrackEditIndicator0*" style:highest "edit_group_0"
-widget "*TrackEditIndicator1*" style:highest "edit_group_1"
-widget "*TrackEditIndicator2*" style:highest "edit_group_2"
-widget "*TrackEditIndicator3*" style:highest "edit_group_3"
-widget "*TrackEditIndicator4*" style:highest "edit_group_3"
-widget "*TrackEditIndicator5*" style:highest "edit_group_3"
-widget "*TrackEditIndicator6*" style:highest "edit_group_3"
-widget "*TrackEditIndicator7*" style:highest "edit_group_3"
widget "*EditorTrackNameDisplay" style:highest "track_name_display"
widget "*EditorTrackNameDisplay*" style:highest "track_name_display"
widget "*CrossfadeEditAuditionButton" style:highest "bright_when_active"
widget "*CrossfadeEditAuditionButton*" style:highest "bright_when_active"
widget "*CrossfadeEditCurveButton" style:highest "bright_when_active"
widget "*CrossfadeEditCurveButton*" style:highest "bright_when_active"
-widget "*CrossfadeEditLabel" style:highest "medium_text"
widget "*CrossfadeEditFrame" style:highest "base_frame"
-widget "*MouseModeButton" style:highest "mouse_mode_button"
-widget "*MouseModeButton*" style:highest "default_button"
widget "*EditorMainCanvas" style:highest "main_canvas_area"
widget "*AudioTrackControlsBaseInactiveUnselected" style:highest "track_controls_inactive"
widget "*BusControlsBaseInactiveUnselected" style:highest "track_controls_inactive"
-widget "*AutomationTrackControlsBaseInactiveUnselected" style:highest "track_controls_inactive"
widget "*AudioTrackControlsBaseInactiveSelected" style:highest "track_controls_inactive"
widget "*BusControlsBaseInactiveSelected" style:highest "track_controls_inactive"
-widget "*AutomationTrackControlsBaseInactiveSelected" style:highest "track_controls_inactive"
widget "*AudioTrackControlsBaseSelected" style:highest "edit_controls_base_selected"
widget "*MidiTrackControlsBaseSelected" style:highest "edit_controls_base_selected"
widget "*BusControlsBaseSelected" style:highest "edit_controls_base_selected"
@@ -228,11 +107,7 @@ widget "*AutomationTrackControlsBase" style:highest "automation_track_controls_b
widget "*AutomationTrackControlsBaseSelected" style:highest "edit_controls_base_selected"
#widget "*EditorMenuBar*" style:highest "black_mackie_menu_bar"
#widget "*MainMenuBar*" style:highest "black_mackie_menu_bar"
-widget "*ZoomClickBox" style:highest "medium_bold_entry"
widget "*PluginParameterLabel" style:highest "medium_text"
-widget "*PluginNameInfo" style:highest "plugin_name_text"
-widget "*PluginMakerInfo" style:highest "plugin_maker_text"
-widget "*PluginParameterInfo" style:highest "medium_text"
widget "*MotionControllerValue" style:highest "small_entry"
widget "*MotionControllerValue*" style:highest "small_entry"
widget "*ParameterValueDisplay" style:highest "medium_bold_entry"
@@ -244,100 +119,53 @@ widget "*PluginSlider" style:highest "plugin_slider"
widget "*GainFader" style:highest "plugin_slider"
widget "*MixerTrackCommentArea" style:highest "option_entry"
widget "*MixerPanZone" style:highest "pan_zone"
-widget "*LHSList" style:highest "treeview_display"
widget "*RegionEditorLabel" style:highest "medium_text"
-widget "*RegionEditorSmallLabel" style:highest "small_text"
widget "*RegionEditorEntry" style:highest "medium_entry"
-widget "*RegionEditorToggleButton" style:highest "paler_bright_when_active"
-widget "*RegionEditorToggleButton*" style:highest "paler_bright_when_active"
-widget "*MixerStripSpeedBase" style:highest "small_entry"
-widget "*MixerStripSpeedBase*" style:highest "small_entry"
-widget "*MixerStripSpeedBaseNotOne" style:highest "small_red_on_black_entry"
-widget "*MixerStripSpeedBaseNotOne*" style:highest "small_red_on_black_entry"
widget "*MixerStripGainDisplay" style:highest "small_entry"
widget "*MixerStripGainDisplay*" style:highest "small_entry"
-widget "*MixerStripGainUnitButton" style:highest "very_small_button"
-widget "*MixerStripGainUnitButton*" style:highest "very_small_button"
-widget "*MixerStripMeterPreButton" style:highest "very_small_button"
-widget "*MixerStripMeterPreButton*" style:highest "very_small_button"
widget "*MixerStripPeakDisplay" style:highest "red_active_small_entry"
widget "*MixerStripPeakDisplay*" style:highest "red_active_small_entry"
widget "*MixerStripPeakDisplayPeak*" style:highest "peak_display_peaked_entry"
widget "*MixerStripSelectedFrame" style:highest "selected_strip_frame"
widget "*MixerStripFrame" style:highest "base_frame"
-widget "*HWMonitorButton" style:highest "bright_when_active"
-widget "*HWMonitorButton*" style:highest "bright_when_active"
widget "*monitor section invert" style:highest "monitor_invert_button"
widget "*monitor section cut" style:highest "monitor_mute_button"
widget "*monitor section dim" style:highest "monitor_dim_button"
widget "*monitor section mono" style:highest "monitor_mono_button"
widget "*monitor solo exclusive" style:highest "monitor_mono_button"
widget "*monitor solo override" style:highest "monitor_mono_button"
-widget "*MonitorIsoAlert" style:highest "monitor_iso_button"
-widget "*MonitorIsoAlert*" style:highest "monitor_iso_button"
-widget "*BypassButton" style:highest "bright_when_active"
-widget "*BypassButton*" style:highest "bright_when_active"
widget "*FadeCurve" style:highest "medium_bold_entry"
widget "*FadeCurve*" style:highest "medium_bold_entry"
widget "*RouteParamsListDisplay" style:highest "inspector_track_list_display"
widget "*TearOffArrow" style:highest "tearoff_arrow"
-widget "*RouteParamsTitleButton" style:highest "medium_text"
widget "*RouteParamsTitleLabel" style:highest "medium_text"
-widget "*PluginAutomateRecordButton" style:highest "small_red_active_and_selected_button"
-widget "*PluginAutomateRecordButton*" style:highest "small_red_active_and_selected_button"
-widget "*PluginAutomatePlayButton" style:highest "small_red_active_and_selected_button"
-widget "*PluginAutomatePlayButton*" style:highest "small_red_active_and_selected_button"
widget "*PluginAutomateButton" style:highest "small_button"
widget "*PluginAutomateButton*" style:highest "small_button"
widget "*PluginSaveButton" style:highest "small_button"
widget "*PluginSaveButton*" style:highest "small_button"
-widget "*PluginEditButton*" style:highest "small_button"
-widget "*PluginLoadButton" style:highest "small_button"
-widget "*PluginLoadButton*" style:highest "small_button"
-widget "*PluginEditorButton" style:highest "default_toggle_button"
+widget "*PluginEditorButton*" style:highest "default_toggle_button"
+widget "*PluginEditorButton-active" style:highest "default_toggle_button_active"
+
+widget "*BarControlSpinner" style:highest "small_spinner"
+widget "*BarControlSpinner*" style:highest "small_spinner"
widget "*meterstripPPM" style:highest "meter_strip_ppm"
widget "*meterstripDPM" style:highest "meter_strip_dpm"
widget "*meterstripVU" style:highest "meter_strip_vu"
widget "*BlackSeparator" style:highest "meter_strip_sep"
-widget "*MetricDialogFrame" style:highest "base_frame"
-widget "*MetricEntry" style:highest "medium_bold_entry"
-widget "*MetricButton" style:highest "default_button"
-widget "*MetricButton.*" style:highest "default_button"
widget "*MetricLabel" style:highest "medium_text"
-widget "*TimeStretchButton" style:highest "default_button"
-widget "*TimeStretchButton.*" style:highest "default_button"
widget "*ChoiceWindow" style:highest "default_generic"
-widget "*ChoicePrompt" style:highest "default_generic"
-widget "*ChoiceButton" style:highest "default_button"
-widget "*ChoiceButton*" style:highest "default_button"
-widget "*SelectionModeButton" style:highest "default_button"
-widget "*SelectionModeButton*" style:highest "default_button"
widget "*TrackLabel" style:highest "medium_text"
-widget "*TrackPlugName" style:highest "medium_text"
widget "*TrackParameterName" style:highest "small_italic_text"
widget "*AddRouteDialog*" style:highest "medium_text"
-widget "*AddRouteDialog.GtkLabel" style:highest "medium_text"
-widget "*AddRouteDialogChannelChoice" style:highest "medium_bold_entry"
widget "*AddRouteDialogSpinner" style:highest "medium_bold_entry"
widget "*AddRouteDialogSpinner*" style:highest "medium_bold_entry"
-widget "*AddRouteDialogRadioButton" style:highest "bright_when_active"
-widget "*AddRouteDialogButton" style:highest "default_button"
widget "*AddRouteDialogNameTemplateEntry" style:highest "medium_bold_entry"
-widget "*NewSessionIOLabel" style:highest "large_bold_text"
widget "*NewSessionSR1Label" style:highest "red_medium_text"
widget "*NewSessionSR2Label" style:highest "medium_text"
-widget "*NewSessionChannelChoice" style:highest "medium_bold_entry"
-widget "*NewSessionMainButton" style:highest "large_bold_text"
-widget "*NewSessionMainButton*" style:highest "large_bold_text"
-widget "*NewSessionMainLabel" style:highest "large_bold_text"
widget "*location edit row clock" style:highest "medium_text"
widget "*LocationEditNameLabel" style:highest "medium_text"
-widget "*LocationEditSetButton" style:highest "location_row_button"
-widget "*LocationEditSetButton*" style:highest "location_row_button"
-widget "*LocationEditGoButton" style:highest "location_row_button"
-widget "*LocationEditGoButton*" style:highest "location_row_button"
widget "*LocationEditCdButton" style:highest "small_red_active_and_selected_button"
widget "*LocationEditCdButton*" style:highest "small_red_active_and_selected_button"
widget "*LocationEditHideButton" style:highest "small_red_active_and_selected_button"
@@ -345,8 +173,6 @@ widget "*LocationEditHideButton*" style:highest "small_red_active_and_selected_b
widget "*LocationEditLockButton*" style:highest "small_red_active_and_selected_button"
widget "*LocationEditGlueButton*" style:highest "small_red_active_and_selected_button"
widget "*LocationEditNumberLabel" style:highest "small_text"
-widget "*LocationLocEditorFrame" style:highest "base_frame"
-widget "*LocationRangeEditorFrame" style:highest "base_frame"
widget "*LocationEditNameEntry" style:highest "option_entry"
widget "*LocationAddLocationButton" style:highest "default_button"
widget "*LocationAddLocationButton*" style:highest "default_button"
@@ -355,12 +181,10 @@ widget "*LocationAddRangeButton*" style:highest "default_button"
widget "*LocationEditRemoveButton" style:highest "location_row_button"
widget "*LocationEditRemoveButton*" style:highest "location_row_button"
widget "*ChannelCountSelector" style:highest "medium_bold_entry"
-widget "*ChannelCountSelector.GtkArrow" style:highest "default_generic"
widget "*RegionListWholeFile" style:highest "treeview_parent_node"
-widget "*EditorHScrollbar" style:highest "editor_hscrollbar"
-widget "*MidiListView*" style:highest "treeview_display"
widget "*ProcessorList*" style:highest "processor_list"
widget "*PortMatrixLabel*" style:highest "small_text"
+widget "*midi device" style:highest "midi_device"
widget "*MidiTracerTextView" style:highest "midi_tracer_textview"
widget "*solo isolate" style:highest "solo_isolate"
widget "*meterbridge label" style:highest "meterbridge_label"
@@ -370,24 +194,23 @@ widget "*ContrastingPopup*" style:highest "contrasting_popup"
widget "*MidiChannelSelectorButton" style:highest "midi_channel_selector_button"
widget "*TimeInfoSelectionTitle" style:highest "very_small_text"
widget "*TimeInfoSelectionLabel" style:highest "very_small_text"
-widget "*TimeInfoPunchTitle" style:highest "very_small_text"
-widget "*TimeInfoPunchButton" style:highest "very_small_text"
widget "*TimeInfoBox" style:highest "time_info_box"
+widget "*tracknumber label" style:highest "tracknumber_label"
widget "*StatusBarBox" style:highest "status_bar_box"
widget "*RouteNameEditorEntry" style:highest "text_cell_entry"
widget "*RegionNameEditorEntry" style:highest "text_cell_entry"
-widget "*EditorRouteGroupsAllGroupButton" style:highest "default_toggle_button"
-widget "*MidiSoundNotesButton" style:highest "default_toggle_button"
widget "*MeasureLatencyButton" style:highest "default_toggle_button"
-widget "*monitor" style:highest "monitor"
widget "*processor prefader" style:highest "processor"
widget "*processor fader" style:highest "processor"
widget "*processor postfader" style:highest "processor"
widget "*MonitorSectionLabel" style:highest "small_text"
-widget "*mute button" style:highest "monitor"
-widget "*invert button" style:highest "monitor"
+widget "*record enable button" style:highest "small_button"
+widget "*mute button" style:highest "small_button"
+widget "*invert button" style:highest "small_button"
widget "*send alert button" style:highest "small_text"
-widget "*solo button" style:highest "monitor"
+widget "*solo button" style:highest "small_button"
+widget "*route button" style:highest "small_button"
+widget "*monitor button" style:highest "small_button"
widget "*rude solo" style:highest "small_text"
widget "*rude audition" style:highest "small_text"
widget "*feedback alert" style:highest "small_text"
@@ -395,3 +218,5 @@ widget "*transport option button" style:highest "small_text"
widget "*transport active option button" style:highest "small_text"
widget "*plugin bypass button" style:highest "small_text"
widget "*punch button" style:highest "small_text"
+widget "*lock button" style:highest "large_bold_text"
+widget "*ooltip*" style:highest "tooltip"
diff --git a/gtk2_ardour/window_manager.h b/gtk2_ardour/window_manager.h
index 0dbe66b1b1..2dd6a2262e 100644
--- a/gtk2_ardour/window_manager.h
+++ b/gtk2_ardour/window_manager.h
@@ -159,7 +159,7 @@ class ProxyWithConstructor: public ProxyBase {
return 0;
}
- _window = creator ();
+ _window = dynamic_cast<Gtk::Window*> (creator ());
if (_window) {
setup ();
diff --git a/gtk2_ardour/windows_icon.rc b/gtk2_ardour/windows_icon.rc
new file mode 100644
index 0000000000..4fc17d0fd2
--- /dev/null
+++ b/gtk2_ardour/windows_icon.rc
@@ -0,0 +1 @@
+IDI_ICON1 ICON DISCARDABLE "icons/ardour.ico"
diff --git a/gtk2_ardour/windows_vst_plugin_ui.cc b/gtk2_ardour/windows_vst_plugin_ui.cc
index 0652168f5b..e8bb51cb1c 100644
--- a/gtk2_ardour/windows_vst_plugin_ui.cc
+++ b/gtk2_ardour/windows_vst_plugin_ui.cc
@@ -17,26 +17,43 @@
*/
-#include <fst.h>
+#include <gtkmm.h>
#include <gtk/gtk.h>
#include <gtk/gtksocket.h>
+#include <fst.h>
#include "ardour/plugin_insert.h"
#include "ardour/windows_vst_plugin.h"
#include "windows_vst_plugin_ui.h"
+#ifdef PLATFORM_WINDOWS
+#include <gdk/gdkwin32.h>
+#elif defined __APPLE__
+// TODO
+#else
#include <gdk/gdkx.h>
+#endif
using namespace Gtk;
using namespace ARDOUR;
using namespace PBD;
-WindowsVSTPluginUI::WindowsVSTPluginUI (boost::shared_ptr<PluginInsert> pi, boost::shared_ptr<VSTPlugin> vp)
+WindowsVSTPluginUI::WindowsVSTPluginUI (boost::shared_ptr<PluginInsert> pi, boost::shared_ptr<VSTPlugin> vp, GtkWidget *parent)
: VSTPluginUI (pi, vp)
{
- fst_run_editor (_vst->state());
+#ifdef GDK_WINDOWING_WIN32
+ gtk_widget_realize(parent);
+ void* hWndHost = gdk_win32_drawable_get_handle(parent->window);
+
+ fst_run_editor (_vst->state(), hWndHost);
+ // TODO pack a placeholder (compare to VSTPluginUI::VSTPluginUI X11 socket)
+ // have placeholder use VSTPluginUI::get_preferred_height(), width()
+ // TODO pack plugin_analysis_expander at the bottom.
+#else
+ fst_run_editor (_vst->state(), NULL);
pack_start (plugin_analysis_expander, true, true);
+#endif
}
WindowsVSTPluginUI::~WindowsVSTPluginUI ()
@@ -108,6 +125,7 @@ WindowsVSTPluginUI::get_XID ()
return _vst->state()->xid;
}
+#ifdef GDK_WINDOWING_X11
typedef int (*error_handler_t)( Display *, XErrorEvent *);
static Display *the_gtk_display;
static error_handler_t wine_error_handler;
@@ -124,13 +142,17 @@ fst_xerror_handler (Display* disp, XErrorEvent* ev)
return wine_error_handler (disp, ev);
}
}
+#endif
void
windows_vst_gui_init (int *argc, char **argv[])
{
- wine_error_handler = XSetErrorHandler (NULL);
gtk_init (argc, argv);
+
+#ifdef GDK_WINDOWING_X11
+ wine_error_handler = XSetErrorHandler (NULL);
the_gtk_display = gdk_x11_display_get_xdisplay (gdk_display_get_default());
gtk_error_handler = XSetErrorHandler (fst_xerror_handler);
+#endif
}
diff --git a/gtk2_ardour/windows_vst_plugin_ui.h b/gtk2_ardour/windows_vst_plugin_ui.h
index 7b23f2cb33..2fa0bbc705 100644
--- a/gtk2_ardour/windows_vst_plugin_ui.h
+++ b/gtk2_ardour/windows_vst_plugin_ui.h
@@ -22,7 +22,7 @@
class WindowsVSTPluginUI : public VSTPluginUI
{
public:
- WindowsVSTPluginUI (boost::shared_ptr<ARDOUR::PluginInsert>, boost::shared_ptr<ARDOUR::VSTPlugin>);
+ WindowsVSTPluginUI (boost::shared_ptr<ARDOUR::PluginInsert>, boost::shared_ptr<ARDOUR::VSTPlugin>, GtkWidget *parent);
~WindowsVSTPluginUI ();
bool start_updating (GdkEventAny*) { return false; }
diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript
index 9883fa49e2..e8888f92d2 100644
--- a/gtk2_ardour/wscript
+++ b/gtk2_ardour/wscript
@@ -3,10 +3,12 @@ from waflib.extras import autowaf as autowaf
from waflib import Options, TaskGen
import waflib.Logs as Logs, waflib.Utils as Utils
import os
+import shutil
import sys
import re
import time
from waflib.Task import Task
+from waflib.Tools import winres
I18N_PACKAGE = 'gtk2_ardour3'
@@ -24,6 +26,9 @@ gtk2_ardour_sources = [
'analysis_window.cc',
'ardour_button.cc',
'ardour_dialog.cc',
+ 'ardour_display.cc',
+ 'ardour_dropdown.cc',
+ 'ardour_knob.cc',
'ardour_ui.cc',
'ardour_ui2.cc',
'ardour_ui_dependents.cc',
@@ -46,22 +51,12 @@ gtk2_ardour_sources = [
'big_clock_window.cc',
'bundle_manager.cc',
'button_joiner.cc',
- 'canvas-flag.cc',
- 'canvas-hit.cc',
- 'canvas-note-event.cc',
- 'canvas-note.cc',
- 'canvas_patch_change.cc',
- 'canvas-simpleline.c',
- 'canvas-simplerect.c',
- 'canvas-sysex.cc',
- 'canvas-waveview.c',
'clock_group.cc',
'configinfo.cc',
'control_point.cc',
'control_point_dialog.cc',
'curvetest.cc',
'debug.cc',
- 'diamond.cc',
'edit_note_dialog.cc',
'editing.cc',
'editor.cc',
@@ -109,19 +104,17 @@ gtk2_ardour_sources = [
'ghostregion.cc',
'global_port_matrix.cc',
'group_tabs.cc',
- 'gtk-custom-hruler.c',
- 'gtk-custom-ruler.c',
'gtk_pianokeyboard.c',
'gui_object.cc',
'insert_time_dialog.cc',
'interthread_progress_window.cc',
'io_selector.cc',
+ 'hit.cc',
'keyboard.cc',
'keyeditor.cc',
'latency_gui.cc',
'led.cc',
'level_meter.cc',
- 'lineset.cc',
'location_ui.cc',
'main.cc',
'main_clock.cc',
@@ -156,6 +149,8 @@ gtk2_ardour_sources = [
'nag.cc',
'new_plugin_preset_dialog.cc',
'normalize_dialog.cc',
+ 'note.cc',
+ 'note_base.cc',
'note_player.cc',
'nsm.cc',
'nsmclient.cc',
@@ -165,6 +160,7 @@ gtk2_ardour_sources = [
'panner_editor.cc',
'panner_interface.cc',
'panner_ui.cc',
+ 'patch_change.cc',
'piano_roll_header.cc',
'pingback.cc',
'playlist_selector.cc',
@@ -200,6 +196,7 @@ gtk2_ardour_sources = [
'route_processor_selection.cc',
'route_time_axis.cc',
'route_ui.cc',
+ 'ruler_dialog.cc',
'search_path_option.cc',
'selection.cc',
'send_ui.cc',
@@ -209,8 +206,7 @@ gtk2_ardour_sources = [
'session_option_editor.cc',
'sfdb_ui.cc',
'shuttle_control.cc',
- 'simpleline.cc',
- 'simplerect.cc',
+ 'soundcloud_export_selector.cc',
'splash.cc',
'speaker_dialog.cc',
'startup.cc',
@@ -220,6 +216,7 @@ gtk2_ardour_sources = [
'stereo_panner_editor.cc',
'streamview.cc',
'strip_silence_dialog.cc',
+ 'sys_ex.cc',
'tape_region_view.cc',
'tempo_dialog.cc',
'tempo_lines.cc',
@@ -238,14 +235,12 @@ gtk2_ardour_sources = [
'version.cc',
'visibility_group.cc',
'volume_controller.cc',
- 'waveview.cc',
'window_manager.cc',
# video-timeline related sources:
'video_image_frame.cc',
'add_video_dialog.cc',
'editor_videotimeline.cc',
'video_timeline.cc',
- 'system_exec.cc',
'video_monitor.cc',
'transcode_ffmpeg.cc',
'transcode_video_dialog.cc',
@@ -265,12 +260,10 @@ def configure(conf):
autowaf.build_version_files(
path_prefix + 'version.h',
path_prefix + 'version.cc',
- 'gtk2_ardour', conf.env['MAJOR'], conf.env['MINOR'], 0)
+ 'gtk2_ardour', conf.env['MAJOR'], conf.env['MINOR'], 0,
+ '', '')
autowaf.configure(conf)
- if re.search ("linux", sys.platform) != None:
- autowaf.check_pkg(conf, 'alsa', uselib_store='ALSA')
-
# TODO: Insert a sanity check for on OS X to ensure CoreAudio is present
autowaf.check_pkg(conf, 'fftw3f', uselib_store='FFTW3F',
@@ -283,16 +276,18 @@ def configure(conf):
atleast_version='2.18')
autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM',
atleast_version='2.18')
- autowaf.check_pkg(conf, 'libgnomecanvas-2.0',
- uselib_store='GNOMECANVAS', atleast_version='2.30')
- autowaf.check_pkg(conf, 'libgnomecanvasmm-2.6',
- uselib_store='GNOMECANVASMM', atleast_version='2.16')
autowaf.check_pkg(conf, 'ogg', uselib_store='OGG', atleast_version='1.1.2')
autowaf.check_pkg(conf, 'x11', uselib_store='X11', atleast_version='1.1', mandatory=False)
autowaf.check_pkg(conf, 'fontconfig', uselib_store='FONTCONFIG')
conf.write_config_header('gtk2ardour-config.h', remove=False)
+ bak = conf.env['define_key']
+ conf.define('VERSIONSTRING', str (conf.env['VERSION']))
+ conf.env['define_key'] = ['VERSIONSTRING']
+ conf.write_config_header('gtk2ardour-version.h')
+ conf.env['define_key'] = bak;
+
# Boost headers
autowaf.check_header(conf, 'cxx', 'boost/shared_ptr.hpp')
autowaf.check_header(conf, 'cxx', 'boost/weak_ptr.hpp')
@@ -367,14 +362,12 @@ def build(bld):
VERSION = "%s.%s" % (bld.env['MAJOR'], bld.env['MINOR'])
- if bld.is_defined('WINDOWS_VST_SUPPORT'):
+ if bld.is_defined('WINDOWS_VST_SUPPORT') and bld.env['build_target'] != 'mingw':
+ # Windows VST support w/wine
# If we require VST support we build a stub main() and the FST library
# here using winegcc, and link it to the GTK front-end library
obj = bld (features = 'cxx c cxxprogram wine')
obj.source = (
- '../libs/fst/fst.c',
- '../libs/fst/fstinfofile.c',
- '../libs/fst/vsti.c',
'../libs/fst/vstwin.c',
'../vst/winmain.c',
)
@@ -389,12 +382,13 @@ def build(bld):
'libmidipp',
'libgtk2_ardour',
'libgtkmm2ext',
+ 'libcanvas'
]
- obj.target = 'ardour-' + bld.env['VERSION'] + '-vst.exe.so'
+ obj.target = 'ardour-' + str (bld.env['VERSION']) + '-vst.exe.so'
obj.includes = [ '../libs/fst', '.' ]
obj.linkflags = ['-mwindows', '-Wl,--export-dynamic']
obj.defines = ['_POSIX_SOURCE', 'USE_WS_PREFIX']
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+ obj.install_path = bld.env['DLLDIR']
# end of the wine executable
# now the shared library containing the GTK GUI for ardour
@@ -405,10 +399,18 @@ def build(bld):
obj.target = 'gtk2_ardour'
else:
# just the normal executable version of the GTK GUI
- obj = bld (features = 'cxx c cxxprogram')
+ if bld.env['build_target'] == 'mingw':
+ obj = bld (features = 'cxx c cxxprogram winres')
+ else:
+ obj = bld (features = 'cxx c cxxprogram')
obj.source = gtk2_ardour_sources
- obj.target = 'ardour-' + bld.env['VERSION']
+ obj.target = 'ardour-' + str (bld.env['VERSION'])
obj.includes = ['.']
+ obj.ldflags = ['-no-undefined']
+
+ if bld.is_defined('WINDOWS_VST_SUPPORT'):
+ # Windows VST support mingw
+ obj.includes += [ '../libs/fst' ]
# at this point, "obj" refers to either the normal native executable
# OR the shared library built for use with wine on linux.
@@ -419,31 +421,37 @@ def build(bld):
'libtimecode',
'libmidipp',
'libgtkmm2ext',
+ 'libcanvas',
]
- # continue with setup of obj, which could be a shared library
- # or an executable.
-
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
- obj.uselib = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD GTK OGG CURL DL'
- obj.uselib += ' GTKMM GNOMECANVASMM GNOMECANVAS FFTW3F'
- obj.uselib += ' AUDIOUNITS OSX GTKOSX LO '
- if bld.is_defined('USE_EXTERNAL_LIBS'):
- obj.uselib += ' TAGLIB'
- else:
- obj.use += ('libtaglib')
- if sys.platform == 'darwin':
- obj.use += ' libappleutility'
- obj.defines = [
+ obj.defines = [
'PACKAGE="' + I18N_PACKAGE + '"',
- 'VERSIONSTRING="' + bld.env['VERSION'] + '"',
'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"',
'CONFIG_DIR="' + os.path.normpath(bld.env['SYSCONFDIR']) + '"',
'LOCALEDIR="' + os.path.join(os.path.normpath(bld.env['DATADIR']), 'locale') + '"',
- 'PROGRAM_NAME="' + bld.env['PROGRAM_NAME'] + '"'
]
+ obj.install_path = bld.env['DLLDIR']
+ obj.uselib = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD GTK OGG CURL DL'
+ obj.uselib += ' GTKMM CANVAS FFTW3F'
+ obj.uselib += ' AUDIOUNITS OSX GTKOSX LO '
+ obj.uselib += ' TAGLIB '
+
+ if sys.platform == 'darwin':
+ obj.uselib += ' AUDIOUNITS OSX GTKOSX'
+ obj.use += ' libappleutility'
+ obj.source += [ 'cocoacarbon.mm', 'bundle_env_cocoa.cc' ]
+ elif bld.env['build_target'] == 'mingw':
+ obj.source += [ 'bundle_env_mingw.cc' ]
+ obj.source += [ 'windows_icon.rc' ]
+ else:
+ obj.source += [ 'bundle_env_linux.cc' ]
+
obj.includes += ['../libs']
+ if bld.env['build_target'] == 'mingw':
+ if bld.env['DEBUG'] == False:
+ obj.linkflags = ['-mwindows']
+
if bld.is_defined('HAVE_SUIL'):
obj.source += [ 'lv2_plugin_ui.cc' ]
obj.use += [ 'SUIL' ]
@@ -454,7 +462,8 @@ def build(bld):
if bld.is_defined('WINDOWS_VST_SUPPORT'):
obj.source += [ 'windows_vst_plugin_ui.cc' ]
obj.defines += [ 'WINDOWS_VST_SUPPORT' ]
- obj.use += [ 'X11' ]
+ if bld.env['build_target'] != 'mingw':
+ obj.use += [ 'X11' ]
if bld.is_defined('LXVST_SUPPORT'):
obj.source += [ 'linux_vst_gui_support.cc', 'lxvst_plugin_ui.cc' ]
@@ -469,7 +478,6 @@ def build(bld):
if bld.is_defined('HAVE_COREAUDIO'):
TaskGen.task_gen.mappings['.mm'] = TaskGen.task_gen.mappings['.cc']
- obj.source += [ 'cocoacarbon.mm' ]
obj.use += ' libappleutility '
if bld.is_defined('AUDIOUNIT_SUPPORT'):
@@ -479,12 +487,12 @@ def build(bld):
wrapper_subst_dict = {
'INSTALL_PREFIX' : bld.env['PREFIX'],
- 'LIBDIR' : os.path.normpath(bld.env['LIBDIR']),
+ 'LIBDIR' : os.path.normpath(bld.env['DLLDIR']),
'DATADIR' : os.path.normpath(bld.env['DATADIR']),
- 'SYSCONFDIR' : os.path.normpath(bld.env['SYSCONFDIR']),
+ 'CONFDIR' : os.path.normpath(bld.env['CONFDIR']),
'LIBS' : 'build/libs',
'VERSION' : bld.env['VERSION'],
- 'EXECUTABLE' : 'build/gtk2_ardour/ardour-' + bld.env['VERSION']
+ 'EXECUTABLE' : 'build/gtk2_ardour/ardour-' + str (bld.env['VERSION'])
}
def set_subst_dict(obj, dict):
@@ -519,6 +527,7 @@ def build(bld):
dark_rc_subst_dict = {}
light_rc_subst_dict = {}
+ ui_conf_dict = {}
font_sizes = {}
base_font = ""
@@ -579,81 +588,90 @@ def build(bld):
dark_rc_subst_dict[key] = fontstyle
light_rc_subst_dict[key] = fontstyle
-
+ ui_conf_dict[key] = points
+
# @FONT_SIZE_XXXX@
for sizename,points in iter(font_sizes.items()):
key = "_".join (['FONT_SIZE',sizename])
dark_rc_subst_dict[key] = points
light_rc_subst_dict[key] = points
+ ui_conf_dict[key] = points
# various font names, eg @BOLD_MONOSPACE@
for font_sym,text in iter(font_names.items()):
key = font_sym
dark_rc_subst_dict[key] = text
light_rc_subst_dict[key] = text
+ ui_conf_dict[key] = text
# RC files
dark_rc_subst_dict['COLOR_SCHEME'] = build_color_scheme(
- 'gtk2_ardour/ardour3_ui_dark.rc.in', 'ARDOUR_DARK')
+ 'gtk2_ardour/ui_dark.rc.in', 'ARDOUR_DARK')
dark_rc_subst_dict['COLPREFIX'] = 'ARDOUR_DARK'
light_rc_subst_dict['COLOR_SCHEME'] = build_color_scheme(
- 'gtk2_ardour/ardour3_ui_light.rc.in', 'ARDOUR_LIGHT')
+ 'gtk2_ardour/ui_light.rc.in', 'ARDOUR_LIGHT')
light_rc_subst_dict['COLPREFIX'] = 'ARDOUR_LIGHT'
obj = bld(features = 'subst')
- obj.source = [ 'ardour3_ui_dark.rc.in' ]
- obj.target = 'ardour3_ui_dark.rc.pre'
+ obj.source = [ 'ui_dark.rc.in' ]
+ obj.target = 'ui_dark.rc.pre'
obj.install_path = None
set_subst_dict(obj, dark_rc_subst_dict)
obj = bld(features = 'subst')
- obj.source = [ 'ardour3_ui_light.rc.in' ]
- obj.target = 'ardour3_ui_light.rc.pre'
+ obj.source = [ 'ui_light.rc.in' ]
+ obj.target = 'ui_light.rc.pre'
obj.install_path = None
set_subst_dict(obj, light_rc_subst_dict)
obj = bld(features = 'subst')
- obj.source = [ 'ardour3_styles.rc.in' ]
- obj.target = 'ardour3_dark_styles.rc'
+ obj.source = [ 'styles.rc.in' ]
+ obj.target = 'dark_styles.rc'
obj.install_path = None
set_subst_dict(obj, dark_rc_subst_dict)
obj = bld(features = 'subst')
- obj.source = [ 'ardour3_styles.rc.in' ]
- obj.target = 'ardour3_light_styles.rc'
+ obj.source = [ 'styles.rc.in' ]
+ obj.target = 'light_styles.rc'
obj.install_path = None
set_subst_dict(obj, light_rc_subst_dict)
obj = bld(features = 'subst')
- obj.source = [ 'ardour3_fonts.rc.in' ]
- obj.target = 'ardour3_dark_fonts.rc'
+ obj.source = [ 'fonts.rc.in' ]
+ obj.target = 'dark_fonts.rc'
obj.install_path = None
set_subst_dict(obj, dark_rc_subst_dict)
obj = bld(features = 'subst')
- obj.source = [ 'ardour3_fonts.rc.in' ]
- obj.target = 'ardour3_light_fonts.rc'
+ obj.source = [ 'fonts.rc.in' ]
+ obj.target = 'light_fonts.rc'
obj.install_path = None
set_subst_dict(obj, light_rc_subst_dict)
- obj = bld(rule = 'cp ${SRC} ${TGT}')
- obj.source = [ 'ardour3_widget_list.rc' ]
- obj.target = 'ardour3_widgets.rc'
+ obj = bld(rule = autowaf.copyfile)
+ obj.source = [ 'widget_list.rc' ]
+ obj.target = 'widgets.rc'
obj.install_path = None
obj = bld (rule = include_processor)
- obj.source = [ 'ardour3_ui_dark.rc.pre' ]
+ obj.source = [ 'ui_dark.rc.pre' ]
# find and add all ##include dependencies as sources
- obj.source += _doPyp (bld.path.find_resource ('ardour3_ui_dark.rc.in').srcpath(), True)
- obj.target = 'ardour3_ui_dark.rc'
- obj.install_path = '${SYSCONFDIR}/ardour3'
+ obj.source += _doPyp (bld.path.find_resource ('ui_dark.rc.in').srcpath(), True)
+ obj.target = 'ui_dark.rc'
+ obj.install_path = bld.env['CONFDIR']
obj = bld (rule = include_processor)
- obj.source = [ 'ardour3_ui_light.rc.pre' ]
+ obj.source = [ 'ui_light.rc.pre' ]
# find and add all ##include dependencies as sources
- obj.source += _doPyp (bld.path.find_resource ('ardour3_ui_light.rc.in').srcpath(), True)
- obj.target = 'ardour3_ui_light.rc'
- obj.install_path = '${SYSCONFDIR}/ardour3'
+ obj.source += _doPyp (bld.path.find_resource ('ui_light.rc.in').srcpath(), True)
+ obj.target = 'ui_light.rc'
+ obj.install_path = bld.env['CONFDIR']
+
+ obj = bld(features = 'subst')
+ obj.source = [ 'default_ui_config.in' ]
+ obj.target = 'default_ui_config'
+ obj.install_path = None
+ set_subst_dict(obj, ui_conf_dict)
# Menus
menus_argv = []
@@ -662,47 +680,52 @@ def build(bld):
else:
menus_argv = [ '-E', '-P' ]
- obj = bld(features = 'command-output')
- obj.command = 'cpp'
- obj.command_is_external = True
- obj.no_inputs = True
- obj.argv = menus_argv
- obj.stdin = 'ardour.menus.in'
- obj.stdout = 'ardour.menus'
- obj.dep_vars = ['GTKOSX']
- bld.install_files(os.path.join(bld.env['SYSCONFDIR'], 'ardour3'),
- 'ardour.menus')
+ # always build all versions of the menu definitions
+ # so that we can try them out with different program builds.
+ for program in [ 'ardour', 'trx' ]:
+ obj = bld(features = 'command-output')
+ obj.command = 'cpp'
+ obj.command_is_external = True
+ obj.no_inputs = True
+ obj.argv = menus_argv
+ obj.dep_vars = ['GTKOSX']
+ obj.stdin = program + '.menus.in'
+ obj.stdout = program + '.menus'
+ bld.install_files (bld.env['CONFDIR'], program + '.menus')
# Keybindings
# 'SAE-de-keypad', 'SAE-de-nokeypad', 'SAE-us-keypad',
# 'SAE-us-nokeypad', 'ergonomic-us'
+ #
+ # explicitly state the use of perl here so that it works on windows too
+ #
+ a_rule = 'perl ../tools/fmt-bindings --platform="%s" --winkey="%s" --accelmap <${SRC} >${TGT}' % (sys.platform, bld.env['WINDOWS_KEY'] )
for b in [ 'mnemonic-us' ] :
obj = bld(
target = b + '.bindings',
source = b + '.bindings.in',
- rule = '../tools/fmt-bindings --platform="%s" --winkey="%s" --accelmap <${SRC} >${TGT}' % (sys.platform, bld.env['WINDOWS_KEY'] )
+ rule = a_rule
)
- obj.install_path = os.path.join(bld.env['SYSCONFDIR'], 'ardour3')
+ obj.install_path = bld.env['CONFDIR']
# not modified at present
- bld.install_files(os.path.join(bld.env['SYSCONFDIR'], 'ardour3'),
- 'step_editing.bindings')
- bld.install_files(os.path.join(bld.env['SYSCONFDIR'], 'ardour3'),
- 'mixer.bindings')
+ bld.install_files(bld.env['CONFDIR'], 'step_editing.bindings')
+ bld.install_files(bld.env['CONFDIR'], 'mixer.bindings')
# Icons/Images
- bld.install_files('${DATADIR}/ardour3/icons', bld.path.ant_glob('icons/*.png'))
- bld.install_files('${DATADIR}/ardour3/pixmaps', bld.path.ant_glob('pixmaps/*.xpm'))
- bld.install_files('${DATADIR}/ardour3', 'splash.png')
- bld.install_files('${DATADIR}/ardour3', 'ArdourMono.ttf')
+ bld.install_files(os.path.join (bld.env['DATADIR'], 'icons'), bld.path.ant_glob('icons/*.png'))
+ bld.install_files(os.path.join (bld.env['DATADIR'], 'pixmaps'), bld.path.ant_glob('pixmaps/*.xpm'))
+ bld.install_files(bld.env['DATADIR'], 'splash.png')
+ bld.install_files(bld.env['DATADIR'], 'small-splash.png')
+ bld.install_files(bld.env['DATADIR'], 'ArdourMono.ttf')
# Default UI configuration
- bld.install_files('${SYSCONFDIR}/ardour3', 'ardour3_ui_default.conf')
+ bld.install_files(bld.env['CONFDIR'], 'default_ui_config')
# Default export stuff
- bld.install_files('${SYSCONFDIR}/ardour3/export', bld.path.ant_glob('export/*.format'))
+ bld.install_files(os.path.join(bld.env['CONFDIR'],' export'), bld.path.ant_glob('export/*.format'))
# i18n
if bld.is_defined('ENABLE_NLS'):