From 3972801b465820bd18fabe81ab1456e07be466f7 Mon Sep 17 00:00:00 2001
From: scootergrisen
Date: Wed, 15 Jun 2016 13:41:20 +0200
Subject: [PATCH 01/16] Update da.po
---
locale/da.po | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/locale/da.po b/locale/da.po
index fd7951280..c5597487d 100644
--- a/locale/da.po
+++ b/locale/da.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: Audacity 2.1.2\n"
"Report-Msgid-Bugs-To: audacity-translation@lists.sourceforge.net\n"
"POT-Creation-Date: 2015-09-07 12:40+0100\n"
-"PO-Revision-Date: 2016-04-08 00:00+0100\n"
+"PO-Revision-Date: 2016-06-15 00:00+0100\n"
"Last-Translator: scootergrisen\n"
"Language-Team: Danish\n"
"Language: da\n"
@@ -9377,7 +9377,7 @@ msgstr ""
#: src/export/ExportFFmpeg.cpp:273
#, c-format
msgid "FFmpeg : ERROR - Can't determine format description for file \"%s\"."
-msgstr "FFmpeg : FEJL - kan ikke aflæse formatbeskrivelse for filen \"%s\"."
+msgstr "FFmpeg : FEJL - kan ikke fastslå formatbeskrivelse for filen \"%s\"."
#: src/export/ExportFFmpeg.cpp:274 src/export/ExportFFmpeg.cpp:282
#: src/export/ExportFFmpeg.cpp:294 src/export/ExportFFmpeg.cpp:306
@@ -9617,7 +9617,7 @@ msgstr "Fuld søgning"
#: src/export/ExportFFmpegDialogs.cpp:1295
msgid "Log search"
-msgstr "Bevar søgning"
+msgstr "Logsøgning"
#: src/export/ExportFFmpegDialogs.cpp:1307
msgid "Configure custom FFmpeg options"
@@ -9837,8 +9837,8 @@ msgid ""
"Full search - default"
msgstr ""
"Metode til forudsigelse af rækkefølge\n"
-"Vurdér - hurtigst, lavest komprimering\n"
-"Søg i log - langsomst, bedst komprimering\n"
+"Anslået - hurtigst, lavere komprimering\n"
+"Logsøgning - langsomst, bedste komprimering\n"
"Fuld søgning - standard"
#: src/export/ExportFFmpegDialogs.cpp:1496
From 927d9accea2a3726eac7e4e52890e34627ff6351 Mon Sep 17 00:00:00 2001
From: Yuri Chornoivan
Date: Mon, 20 Jun 2016 21:28:53 +0300
Subject: [PATCH 02/16] Update Ukrainian translation
---
locale/uk.po | 4374 +++++++++++++++++++++++++++-----------------------
1 file changed, 2408 insertions(+), 1966 deletions(-)
diff --git a/locale/uk.po b/locale/uk.po
index f7c4869ac..6ed60aaa2 100644
--- a/locale/uk.po
+++ b/locale/uk.po
@@ -4,12 +4,13 @@
#
# Audacity Team , 2007.
# Yuri Chornoivan , 2010, 2011, 2012, 2013, 2014, 2015, 2016.
+#: src/TimerRecordDialog.cpp:907
msgid ""
msgstr ""
"Project-Id-Version: Audacity 2.0.0\n"
"Report-Msgid-Bugs-To: audacity-translation@lists.sourceforge.net\n"
-"POT-Creation-Date: 2016-03-16 19:07+0200\n"
-"PO-Revision-Date: 2016-03-16 19:41+0200\n"
+"POT-Creation-Date: 2016-06-20 20:27+0300\n"
+"PO-Revision-Date: 2016-06-20 21:21+0300\n"
"Last-Translator: Yuri Chornoivan \n"
"Language-Team: Ukrainian \n"
"Language: uk\n"
@@ -22,7 +23,7 @@ msgstr ""
#: lib-src/FileDialog/gtk/FileDialogPrivate.cpp:75
#, c-format
msgid "File '%s' already exists, do you really want to overwrite it?"
-msgstr "Файл «%s» вже присутній, ви справді хочете його переписати?"
+msgstr "Файл «%s» вже існує, ви справді хочете його переписати?"
#: lib-src/FileDialog/gtk/FileDialogPrivate.cpp:78 src/LangChoice.cpp:135
msgid "Confirm"
@@ -33,20 +34,20 @@ msgid "Please choose an existing file."
msgstr "Будь ласка, виберіть наявний файл."
#: lib-src/FileDialog/gtk/FileDialogPrivate.cpp:92 src/AutoRecovery.cpp:159
-#: src/AutoRecovery.cpp:196 src/Menus.cpp:4063 src/Menus.cpp:4075
-#: src/Menus.cpp:6706 src/Menus.cpp:6785 src/Project.cpp:2784
-#: src/Project.cpp:4802 src/Project.cpp:4821 src/TrackPanel.cpp:9150
-#: src/WaveTrack.cpp:1312 src/WaveTrack.cpp:1331 src/WaveTrack.cpp:2530
-#: src/effects/Contrast.cpp:66 src/effects/Contrast.cpp:72
-#: src/effects/Contrast.cpp:82 src/effects/Contrast.cpp:88
-#: src/effects/Contrast.cpp:98 src/effects/Contrast.cpp:118
-#: src/effects/Effect.cpp:2686 src/effects/Generator.cpp:59
-#: src/effects/nyquist/Nyquist.cpp:410 src/export/ExportFFmpeg.cpp:816
-#: src/export/ExportMP2.cpp:235 src/prefs/DirectoriesPrefs.cpp:211
-#: src/prefs/DirectoriesPrefs.cpp:239 src/prefs/KeyConfigPrefs.cpp:518
-#: src/prefs/KeyConfigPrefs.cpp:532 src/prefs/KeyConfigPrefs.cpp:557
-#: src/prefs/KeyConfigPrefs.cpp:1056 src/toolbars/ControlToolBar.cpp:653
-#: src/toolbars/ControlToolBar.cpp:1021
+#: src/AutoRecovery.cpp:196 src/Menus.cpp:4100 src/Menus.cpp:4112
+#: src/Menus.cpp:6784 src/Menus.cpp:6863 src/Project.cpp:2873
+#: src/Project.cpp:4871 src/Project.cpp:4890 src/TimerRecordDialog.cpp:502
+#: src/TimerRecordDialog.cpp:673 src/TrackPanel.cpp:8288
+#: src/WaveTrack.cpp:1321 src/WaveTrack.cpp:1340 src/WaveTrack.cpp:2541
+#: src/effects/Contrast.cpp:74 src/effects/Contrast.cpp:81
+#: src/effects/Contrast.cpp:101 src/effects/Contrast.cpp:107
+#: src/effects/Contrast.cpp:117 src/effects/Effect.cpp:2671
+#: src/effects/Generator.cpp:59 src/effects/nyquist/Nyquist.cpp:410
+#: src/export/ExportFFmpeg.cpp:841 src/export/ExportMP2.cpp:229
+#: src/prefs/DirectoriesPrefs.cpp:212 src/prefs/DirectoriesPrefs.cpp:241
+#: src/prefs/KeyConfigPrefs.cpp:518 src/prefs/KeyConfigPrefs.cpp:532
+#: src/prefs/KeyConfigPrefs.cpp:557 src/prefs/KeyConfigPrefs.cpp:1056
+#: src/toolbars/ControlToolBar.cpp:673 src/toolbars/ControlToolBar.cpp:1086
msgid "Error"
msgstr "Помилка"
@@ -178,13 +179,13 @@ msgid "Output"
msgstr "Виведення"
#: lib-src/mod-nyq-bench/NyqBench.cpp:1058
-#: src/effects/nyquist/Nyquist.cpp:2134
+#: src/effects/nyquist/Nyquist.cpp:2127
msgid "Load Nyquist script"
msgstr "Завантажити скрипт Nyquist"
#: lib-src/mod-nyq-bench/NyqBench.cpp:1061
#: lib-src/mod-nyq-bench/NyqBench.cpp:1107
-#: src/effects/nyquist/Nyquist.cpp:2159
+#: src/effects/nyquist/Nyquist.cpp:2152
msgid "Nyquist scripts (*.ny)|*.ny|Lisp scripts (*.lsp)|*.lsp|All files|*"
msgstr "скрипти Nyquist (*.ny)|*.ny|скрипти Lisp (*.lsp)|*.lsp|усі файли|*"
@@ -196,14 +197,14 @@ msgstr "Скрипти не збережено."
#: lib-src/mod-nyq-bench/NyqBench.cpp:1090
#: lib-src/mod-nyq-bench/NyqBench.cpp:1120
#: lib-src/mod-nyq-bench/NyqBench.cpp:1632 src/AudacityLogger.cpp:313
-#: src/export/Export.cpp:595 src/export/Export.cpp:616
-#: src/export/Export.cpp:660 src/import/ImportPCM.cpp:240
+#: src/export/Export.cpp:592 src/export/Export.cpp:613
+#: src/export/Export.cpp:656 src/import/ImportPCM.cpp:245
#: src/widgets/Warning.cpp:55
msgid "Warning"
msgstr "Попередження"
#: lib-src/mod-nyq-bench/NyqBench.cpp:1104
-#: src/effects/nyquist/Nyquist.cpp:2156
+#: src/effects/nyquist/Nyquist.cpp:2149
msgid "Save Nyquist script"
msgstr "Збереження скрипту Nyquist"
@@ -288,7 +289,7 @@ msgstr "Зберегти як"
msgid "Save script as..."
msgstr "Зберегти скрипт як…"
-#: lib-src/mod-nyq-bench/NyqBench.cpp:1720 src/toolbars/EditToolBar.cpp:202
+#: lib-src/mod-nyq-bench/NyqBench.cpp:1720 src/toolbars/EditToolBar.cpp:207
msgid "Copy"
msgstr "Копіювати"
@@ -296,8 +297,8 @@ msgstr "Копіювати"
msgid "Copy to clipboard"
msgstr "Скопіювати до буфера"
-#: lib-src/mod-nyq-bench/NyqBench.cpp:1721 src/Menus.cpp:3895
-#: src/toolbars/EditToolBar.cpp:201
+#: lib-src/mod-nyq-bench/NyqBench.cpp:1721 src/Menus.cpp:3934
+#: src/toolbars/EditToolBar.cpp:206
msgid "Cut"
msgstr "Вирізати"
@@ -305,9 +306,9 @@ msgstr "Вирізати"
msgid "Cut to clipboard"
msgstr "Вирізати до буфера"
-#: lib-src/mod-nyq-bench/NyqBench.cpp:1722 src/Menus.cpp:4191
-#: src/Menus.cpp:4215 src/Menus.cpp:4321 src/toolbars/EditToolBar.cpp:135
-#: src/toolbars/EditToolBar.cpp:203
+#: lib-src/mod-nyq-bench/NyqBench.cpp:1722 src/Menus.cpp:4223
+#: src/Menus.cpp:4247 src/Menus.cpp:4352 src/toolbars/EditToolBar.cpp:135
+#: src/toolbars/EditToolBar.cpp:208
msgid "Paste"
msgstr "Вставити"
@@ -332,8 +333,8 @@ msgid "Select all text"
msgstr "Позначити увесь текст"
#: lib-src/mod-nyq-bench/NyqBench.cpp:1726 src/prefs/KeyConfigPrefs.cpp:883
-#: src/toolbars/EditToolBar.cpp:144 src/toolbars/EditToolBar.cpp:206
-#: src/widgets/KeyView.cpp:651
+#: src/toolbars/EditToolBar.cpp:144 src/toolbars/EditToolBar.cpp:211
+#: src/widgets/KeyView.cpp:650
msgid "Undo"
msgstr "Вернути"
@@ -342,8 +343,8 @@ msgid "Undo last change"
msgstr "Скасувати останню зміну"
#: lib-src/mod-nyq-bench/NyqBench.cpp:1727 src/prefs/KeyConfigPrefs.cpp:886
-#: src/toolbars/EditToolBar.cpp:146 src/toolbars/EditToolBar.cpp:207
-#: src/widgets/KeyView.cpp:655
+#: src/toolbars/EditToolBar.cpp:146 src/toolbars/EditToolBar.cpp:212
+#: src/widgets/KeyView.cpp:654
msgid "Redo"
msgstr "Повторити"
@@ -376,7 +377,7 @@ msgid "Go to top S-expr"
msgstr "Перейти до найвищого S-виразу"
#. i18n-hint: a direction.
-#: lib-src/mod-nyq-bench/NyqBench.cpp:1733 src/Menus.cpp:3069
+#: lib-src/mod-nyq-bench/NyqBench.cpp:1733 src/Menus.cpp:3111
msgid "Up"
msgstr "Вище"
@@ -400,8 +401,8 @@ msgstr "Наступний"
msgid "Go to next S-expr"
msgstr "Перейти до наступного S-виразу"
-#: lib-src/mod-nyq-bench/NyqBench.cpp:1737 src/Menus.cpp:5842
-#: src/Menus.cpp:5847 src/Menus.cpp:5852 src/effects/Contrast.cpp:220
+#: lib-src/mod-nyq-bench/NyqBench.cpp:1737 src/Menus.cpp:5875
+#: src/Menus.cpp:5880 src/Menus.cpp:5885 src/effects/Contrast.cpp:225
#: src/effects/ToneGen.cpp:319
msgid "Start"
msgstr "Початок"
@@ -411,9 +412,9 @@ msgid "Start script"
msgstr "Запустити скрипт"
#. i18n-hint: (verb) Stop playing audio
-#: lib-src/mod-nyq-bench/NyqBench.cpp:1738 src/Menus.cpp:1141
-#: src/effects/Effect.cpp:3768 src/toolbars/ControlToolBar.cpp:169
-#: src/widgets/ProgressDialog.cpp:1181
+#: lib-src/mod-nyq-bench/NyqBench.cpp:1738 src/Menus.cpp:1094
+#: src/effects/Effect.cpp:3765 src/toolbars/ControlToolBar.cpp:177
+#: src/widgets/ProgressDialog.cpp:1200
msgid "Stop"
msgstr "Зупинити"
@@ -421,40 +422,91 @@ msgstr "Зупинити"
msgid "Stop script"
msgstr "Зупинити скрипт"
-#: src/AboutDialog.cpp:54 src/AboutDialog.cpp:76
-msgid "co-founder"
-msgstr "співзасновник"
-
-#: src/AboutDialog.cpp:61
+#: src/AboutDialog.cpp:52
msgid "quality assurance"
msgstr "контроль якості"
-#: src/AboutDialog.cpp:177
+#: src/AboutDialog.cpp:53 src/AboutDialog.cpp:56 src/AboutDialog.cpp:59
+#: src/AboutDialog.cpp:60 src/AboutDialog.cpp:62 src/AboutDialog.cpp:63
+#: src/AboutDialog.cpp:65 src/AboutDialog.cpp:71 src/AboutDialog.cpp:72
+#: src/AboutDialog.cpp:73 src/AboutDialog.cpp:74 src/AboutDialog.cpp:75
+#: src/AboutDialog.cpp:77 src/AboutDialog.cpp:78 src/AboutDialog.cpp:79
+#: src/AboutDialog.cpp:84 src/AboutDialog.cpp:85 src/AboutDialog.cpp:87
+#: src/AboutDialog.cpp:88 src/AboutDialog.cpp:89 src/AboutDialog.cpp:90
+#: src/AboutDialog.cpp:91 src/AboutDialog.cpp:92 src/AboutDialog.cpp:93
+#: src/AboutDialog.cpp:94 src/AboutDialog.cpp:95 src/AboutDialog.cpp:96
+#: src/AboutDialog.cpp:97 src/AboutDialog.cpp:98 src/AboutDialog.cpp:99
+#: src/AboutDialog.cpp:100 src/AboutDialog.cpp:101 src/AboutDialog.cpp:102
+#: src/AboutDialog.cpp:103 src/AboutDialog.cpp:104 src/AboutDialog.cpp:106
+#: src/AboutDialog.cpp:107 src/AboutDialog.cpp:108 src/AboutDialog.cpp:109
+#: src/AboutDialog.cpp:110 src/AboutDialog.cpp:111 src/AboutDialog.cpp:113
+#: src/AboutDialog.cpp:114 src/AboutDialog.cpp:116 src/AboutDialog.cpp:117
+#: src/AboutDialog.cpp:118 src/AboutDialog.cpp:119 src/AboutDialog.cpp:120
+#: src/AboutDialog.cpp:121 src/AboutDialog.cpp:122 src/AboutDialog.cpp:123
+#: src/AboutDialog.cpp:124
+msgid "developer"
+msgstr "розробник"
+
+#: src/AboutDialog.cpp:54
+msgid "documentation and support, French"
+msgstr "документація і супровід, французька"
+
+#: src/AboutDialog.cpp:55
+msgid "system administration"
+msgstr "адміністрування системи"
+
+#: src/AboutDialog.cpp:57 src/AboutDialog.cpp:76
+msgid "co-founder and developer"
+msgstr "співзасновник проекту, розробник"
+
+#: src/AboutDialog.cpp:61 src/AboutDialog.cpp:66 src/AboutDialog.cpp:80
+#: src/AboutDialog.cpp:81
+msgid "documentation and support"
+msgstr "документація і супровід"
+
+#: src/AboutDialog.cpp:86
+msgid "accessibility advisor"
+msgstr "поради з доступності"
+
+#: src/AboutDialog.cpp:105
+msgid "graphic artist"
+msgstr "художник"
+
+#: src/AboutDialog.cpp:112
+msgid "composer"
+msgstr "композитор"
+
+#: src/AboutDialog.cpp:115
+msgid "Nyquist plug-ins"
+msgstr "додатки Nyquist"
+
+#: src/AboutDialog.cpp:182
+msgid "incorporating"
+msgstr "включно з"
+
+#: src/AboutDialog.cpp:227
msgid "About Audacity"
msgstr "Про Audacity"
-#. i18n-hint: "OK... Audacious" appears on a button at the
-#. * foot of the 'About Audacity' dialog box, after some text to read.
-#. * In English it is slightly humorous alternative to an 'OK' button.
-#. * If the humour doesn't work in your language, then just use whatever
-#. * you would use for a translation for 'OK' on a button.
-#: src/AboutDialog.cpp:197
-msgid "OK... Audacious!"
-msgstr "Гаразд… Круто!"
+#. i18n-hint: In most languages OK is to be translated as OK. It appears on a button.
+#: src/AboutDialog.cpp:242 src/effects/nyquist/Nyquist.cpp:2265
+#: src/widgets/ErrorDialog.cpp:126 src/widgets/MultiDialog.cpp:128
+msgid "OK"
+msgstr "Гаразд"
-#: src/AboutDialog.cpp:212
+#: src/AboutDialog.cpp:257
msgid ""
-"Audacity is a free program written by a worldwide team of volunteer developers. Audacity is available for Windows, Mac, "
-"and GNU/Linux (and other Unix-like systems)."
+"Audacity is a free program written by a worldwide team of volunteers. Audacity is available for Windows, Mac, and GNU/"
+"Linux (and other Unix-like systems)."
msgstr ""
-"Audacity — вільна програма, створена командою добровольців, розробників з усього світу. Audacity можна користуватися у Windows, "
-"Mac OS X, GNU/Linux та інших подібних до Unix системах."
+"Audacity — вільна програма, створена командою добровольців з усього світу. Audacity можна користуватися у Windows, Mac "
+"OS X, GNU/Linux та інших подібних до Unix системах."
-#: src/AboutDialog.cpp:222
+#: src/AboutDialog.cpp:267
msgid ""
"If you find a bug or have a suggestion for us, please write, in English, to "
"our feedback address. For "
@@ -473,7 +525,7 @@ msgstr ""
#. * your own name(s) to the credits.
#. *
#. * For example: "English translation by Dominic Mazzoni."
-#: src/AboutDialog.cpp:235 src/AboutDialog.cpp:237
+#: src/AboutDialog.cpp:280 src/AboutDialog.cpp:282
msgid "translator_credits"
msgstr ""
"Переклад українською:
\n"
@@ -481,52 +533,53 @@ msgstr ""
"Андрій Лагуш,
\n"
"Юрій Чорноіван"
-#: src/AboutDialog.cpp:247
+#: src/AboutDialog.cpp:292
msgid ""
-"free, open source, cross-platform software for recording and editing "
-"sounds
"
+"Free, open source, cross-platform software for recording and editing sounds."
msgstr ""
"вільне програмне забезпечення з відкритим кодом, здатне працювати на "
"багатьох програмних платформах і призначене для запису і редагування "
-"звукових даних
"
+"звукових даних."
-#: src/AboutDialog.cpp:251
+#: src/AboutDialog.cpp:296
msgid "Credits"
msgstr "Подяки"
-#: src/AboutDialog.cpp:254
-msgid "Audacity Developers"
-msgstr "Розробники Audacity"
+#: src/AboutDialog.cpp:298
+msgid "Team Members"
+msgstr "Учасники команди"
-#: src/AboutDialog.cpp:257
-msgid "Audacity Support Team"
-msgstr "Команда підтримки Audacity"
+#: src/AboutDialog.cpp:301
+msgid "Emeritus:"
+msgstr "Заслужені колишні учасники:"
-#: src/AboutDialog.cpp:260
-msgid "Emeritus Developers"
-msgstr "Заслужені розробники"
+#: src/AboutDialog.cpp:302
+msgid "Distinguished Audacity Team members, not currently active"
+msgstr ""
+"Визначні учасники команди розробників Audacity, які припинили участь у "
+"проекті"
-#: src/AboutDialog.cpp:263
-msgid " Emeritus Team Members"
-msgstr "Заслужені члени команди"
+#: src/AboutDialog.cpp:305
+msgid "Contributors"
+msgstr "Учасники розробки"
-#: src/AboutDialog.cpp:266
-msgid "Other Contributors"
-msgstr "Інші помічники проекту"
+#: src/AboutDialog.cpp:308
+msgid "Translators"
+msgstr "Перекладачі"
-#: src/AboutDialog.cpp:269
-msgid "Audacity is based on code from the following projects:"
-msgstr "Audacity використовує код наступних проектів:"
+#: src/AboutDialog.cpp:312 src/prefs/LibraryPrefs.cpp:49
+msgid "Libraries"
+msgstr "Бібліотеки"
-#: src/AboutDialog.cpp:272
+#: src/AboutDialog.cpp:316
msgid "Special thanks:"
msgstr "Особливі подяки:"
-#: src/AboutDialog.cpp:275
+#: src/AboutDialog.cpp:319
msgid "Audacity® software is copyright"
msgstr "Авторські права на програму Audacity® належать"
-#: src/AboutDialog.cpp:277
+#: src/AboutDialog.cpp:321
msgid ""
"The name Audacity® is a registered trademark of Dominic Mazzoni."
msgstr ""
@@ -534,130 +587,130 @@ msgstr ""
"Домініка Маццоні (Dominic Mazzoni)."
#. i18n-hint: Information about when audacity was compiled
-#: src/AboutDialog.cpp:334 src/AboutDialog.cpp:347 src/AboutDialog.cpp:518
+#: src/AboutDialog.cpp:378 src/AboutDialog.cpp:391 src/AboutDialog.cpp:562
msgid "Build Information"
msgstr "Інформація про випуск"
-#: src/AboutDialog.cpp:340 src/PluginManager.cpp:490
+#: src/AboutDialog.cpp:384 src/PluginManager.cpp:490
#: src/prefs/ModulePrefs.cpp:99
msgid "Enabled"
msgstr "Увімкнено"
-#: src/AboutDialog.cpp:341 src/PluginManager.cpp:491
+#: src/AboutDialog.cpp:385 src/PluginManager.cpp:491
#: src/prefs/ModulePrefs.cpp:98
msgid "Disabled"
msgstr "Вимкнено"
-#: src/AboutDialog.cpp:351
+#: src/AboutDialog.cpp:395
msgid "File Format Support"
msgstr "Підтримка форматів файлів"
#. i18n-hint: This is what the library (libmad) does - imports MP3 files
-#: src/AboutDialog.cpp:361 src/AboutDialog.cpp:363
+#: src/AboutDialog.cpp:405 src/AboutDialog.cpp:407
msgid "MP3 Importing"
msgstr "Імпортування MP3"
-#: src/AboutDialog.cpp:370 src/AboutDialog.cpp:373
+#: src/AboutDialog.cpp:414 src/AboutDialog.cpp:417
msgid "Ogg Vorbis Import and Export"
msgstr "Імпорт та експорт файлів Ogg Vorbis"
-#: src/AboutDialog.cpp:377 src/AboutDialog.cpp:380
+#: src/AboutDialog.cpp:421 src/AboutDialog.cpp:424
msgid "ID3 tag support"
msgstr "Підтримка міток ID3"
-#: src/AboutDialog.cpp:387 src/AboutDialog.cpp:390
+#: src/AboutDialog.cpp:431 src/AboutDialog.cpp:434
msgid "FLAC import and export"
msgstr "Імпорт та експорт файлів FLAC"
-#: src/AboutDialog.cpp:395 src/AboutDialog.cpp:398
+#: src/AboutDialog.cpp:439 src/AboutDialog.cpp:442
msgid "MP2 export"
msgstr "Експорт MP2"
-#: src/AboutDialog.cpp:403 src/AboutDialog.cpp:406
+#: src/AboutDialog.cpp:447 src/AboutDialog.cpp:450
msgid "Import via QuickTime"
msgstr "Імпорт за допомогою QuickTime"
-#: src/AboutDialog.cpp:411 src/AboutDialog.cpp:413
+#: src/AboutDialog.cpp:455 src/AboutDialog.cpp:457
msgid "FFmpeg Import/Export"
msgstr "Імпортування/Експортування даних FFmpeg"
-#: src/AboutDialog.cpp:417 src/AboutDialog.cpp:419
+#: src/AboutDialog.cpp:461 src/AboutDialog.cpp:463
msgid "Import via GStreamer"
msgstr "Імпорт за допомогою GStreamer"
#. i18n-hint: Libraries that are essential to audacity
-#: src/AboutDialog.cpp:425
+#: src/AboutDialog.cpp:469
msgid "Core Libraries"
msgstr "Головні бібліотеки"
-#: src/AboutDialog.cpp:429
+#: src/AboutDialog.cpp:473
msgid "Sample rate conversion"
msgstr "Зміна частоти дискретизації"
-#: src/AboutDialog.cpp:432
+#: src/AboutDialog.cpp:476
msgid "Audio playback and recording"
msgstr "Відтворення аудіо та запис"
-#: src/AboutDialog.cpp:435
+#: src/AboutDialog.cpp:479
msgid "Cross-platform GUI library"
msgstr "Бібліотека для побудови графічних інтерфейсів на різних платформах"
-#: src/AboutDialog.cpp:439
+#: src/AboutDialog.cpp:483
msgid "Features"
msgstr "Можливості"
-#: src/AboutDialog.cpp:443 src/AboutDialog.cpp:446 src/AboutDialog.cpp:451
-#: src/AboutDialog.cpp:454 src/AboutDialog.cpp:459 src/AboutDialog.cpp:462
-#: src/AboutDialog.cpp:467 src/AboutDialog.cpp:470 src/AboutDialog.cpp:475
-#: src/AboutDialog.cpp:478 src/AboutDialog.cpp:483 src/AboutDialog.cpp:486
+#: src/AboutDialog.cpp:487 src/AboutDialog.cpp:490 src/AboutDialog.cpp:495
+#: src/AboutDialog.cpp:498 src/AboutDialog.cpp:503 src/AboutDialog.cpp:506
+#: src/AboutDialog.cpp:511 src/AboutDialog.cpp:514 src/AboutDialog.cpp:519
+#: src/AboutDialog.cpp:522 src/AboutDialog.cpp:527 src/AboutDialog.cpp:530
msgid "Plug-in support"
msgstr "Підтримка додатків"
-#: src/AboutDialog.cpp:491 src/AboutDialog.cpp:494
+#: src/AboutDialog.cpp:535 src/AboutDialog.cpp:538
msgid "Sound card mixer support"
msgstr "Підтримка мікшування звуковою картою"
-#: src/AboutDialog.cpp:499 src/AboutDialog.cpp:502
+#: src/AboutDialog.cpp:543 src/AboutDialog.cpp:546
msgid "Pitch and Tempo Change support"
msgstr "Підтримка зміни кроку і темпу"
-#: src/AboutDialog.cpp:507 src/AboutDialog.cpp:510
+#: src/AboutDialog.cpp:551 src/AboutDialog.cpp:554
msgid "Extreme Pitch and Tempo Change support"
msgstr "Підтримка екстремальної зміни такту і темпу"
-#: src/AboutDialog.cpp:522
+#: src/AboutDialog.cpp:566
msgid "Program build date: "
msgstr "Дата компіляції програми: "
-#: src/AboutDialog.cpp:528
+#: src/AboutDialog.cpp:572
msgid "Commit Id:"
msgstr "Ід. внеску:"
-#: src/AboutDialog.cpp:533 src/AboutDialog.cpp:535
+#: src/AboutDialog.cpp:577 src/AboutDialog.cpp:579
msgid "Build type:"
msgstr "Тип випуску:"
-#: src/AboutDialog.cpp:533
+#: src/AboutDialog.cpp:577
msgid "Debug build"
msgstr "Випуск для перевірки"
-#: src/AboutDialog.cpp:535
+#: src/AboutDialog.cpp:579
msgid "Release build"
msgstr "Остаточна версія"
-#: src/AboutDialog.cpp:541
+#: src/AboutDialog.cpp:585
msgid "Installation Prefix: "
msgstr "Шлях встановлення: "
-#: src/AboutDialog.cpp:546
+#: src/AboutDialog.cpp:590
msgid "Settings folder: "
msgstr "Тека з параметрами: "
-#: src/AboutDialog.cpp:561
+#: src/AboutDialog.cpp:605
msgid "GPL License"
msgstr "Ліцензія GPL"
-#: src/AudacityApp.cpp:816
+#: src/AudacityApp.cpp:821
#, c-format
msgid ""
"%s could not be found.\n"
@@ -668,7 +721,7 @@ msgstr ""
"\n"
"Його вилучено зі списку нещодавніх файлів."
-#: src/AudacityApp.cpp:912
+#: src/AudacityApp.cpp:918
#, c-format
msgid ""
"One or more external audio files could not be found.\n"
@@ -690,70 +743,70 @@ msgstr ""
"Може не вистачати інших файлів. Скористайтеся пунктом меню «Файл -> "
"Перевірити залежності», щоб переглянути дані щодо розташування файлів."
-#: src/AudacityApp.cpp:926
+#: src/AudacityApp.cpp:932
msgid "Files Missing"
msgstr "Не вистачає файлів"
-#: src/AudacityApp.cpp:1012
+#: src/AudacityApp.cpp:1018
#, c-format
msgid "Language \"%s\" is unknown"
msgstr "Невідома мова «%s»"
-#: src/AudacityApp.cpp:1094
+#: src/AudacityApp.cpp:1100
msgid "Report generated to:"
msgstr "Звіт створено тут:"
-#: src/AudacityApp.cpp:1095
+#: src/AudacityApp.cpp:1101
msgid "Audacity Support Data"
msgstr "Дані щодо супроводу Audacity"
-#: src/AudacityApp.cpp:1180
+#: src/AudacityApp.cpp:1190
msgid "Master Gain Control"
msgstr "Загальний регулятор гучності"
-#: src/AudacityApp.cpp:1349
+#: src/AudacityApp.cpp:1353
msgid "Block size must be within 256 to 100000000\n"
msgstr "Розмір блоку має належати діапазону від 256 до 100000000\n"
-#: src/AudacityApp.cpp:1362
+#: src/AudacityApp.cpp:1366
msgid "File decoded successfully\n"
msgstr "Файл успішно декодовано\n"
-#: src/AudacityApp.cpp:1366
+#: src/AudacityApp.cpp:1370
msgid "Decoding failed\n"
msgstr "Помилка під час декодування\n"
-#: src/AudacityApp.cpp:1387
+#: src/AudacityApp.cpp:1391
msgid "Audacity is starting up..."
msgstr "Триває запуск Audacity…"
#. i18n-hint: "New" is an action (verb) to create a NEW project
-#: src/AudacityApp.cpp:1405 src/Menus.cpp:355
+#: src/AudacityApp.cpp:1409 src/Menus.cpp:302
msgid "&New"
msgstr "&Створити"
#. i18n-hint: (verb)
-#: src/AudacityApp.cpp:1406 src/Menus.cpp:360
+#: src/AudacityApp.cpp:1410 src/Menus.cpp:307
msgid "&Open..."
msgstr "&Відкрити…"
-#: src/AudacityApp.cpp:1407
+#: src/AudacityApp.cpp:1411
msgid "Open &Recent..."
msgstr "Відкрити &недавні…"
-#: src/AudacityApp.cpp:1408 src/Menus.cpp:1110
+#: src/AudacityApp.cpp:1412 src/Menus.cpp:1063
msgid "&About Audacity..."
msgstr "&Про Audacity…"
-#: src/AudacityApp.cpp:1409
+#: src/AudacityApp.cpp:1413
msgid "&Preferences..."
msgstr "&Параметри…"
-#: src/AudacityApp.cpp:1413 src/Menus.cpp:351
+#: src/AudacityApp.cpp:1417 src/Menus.cpp:298
msgid "&File"
msgstr "&Файл"
-#: src/AudacityApp.cpp:1598
+#: src/AudacityApp.cpp:1620
msgid ""
"Audacity could not find a safe place to store temporary files.\n"
"Audacity needs a place where automatic cleanup programs won't delete the "
@@ -765,7 +818,7 @@ msgstr ""
"пошкодять тимчасові файли.\n"
"Вкажіть відповідний каталог у діалоговому вікні уподобань."
-#: src/AudacityApp.cpp:1600
+#: src/AudacityApp.cpp:1622
msgid ""
"Audacity could not find a place to store temporary files.\n"
"Please enter an appropriate directory in the preferences dialog."
@@ -773,7 +826,7 @@ msgstr ""
"Програмі не вдається знайти каталог для зберігання тимчасових файлів.\n"
"Вкажіть відповідний каталог у діалоговому вікні уподобань."
-#: src/AudacityApp.cpp:1610
+#: src/AudacityApp.cpp:1632
msgid ""
"Audacity is now going to exit. Please launch Audacity again to use the new "
"temporary directory."
@@ -781,7 +834,7 @@ msgstr ""
"Audacity готується до завершення. Повторно завантажте програму для "
"використання нової теки тимчасових файлів."
-#: src/AudacityApp.cpp:1644
+#: src/AudacityApp.cpp:1666
msgid ""
"Running two copies of Audacity simultaneously may cause\n"
"data loss or cause your system to crash.\n"
@@ -791,7 +844,7 @@ msgstr ""
"до втрати даних або краху системи.\n"
"\n"
-#: src/AudacityApp.cpp:1651
+#: src/AudacityApp.cpp:1673
msgid ""
"Audacity was not able to lock the temporary files directory.\n"
"This folder may be in use by another copy of Audacity.\n"
@@ -799,19 +852,19 @@ msgstr ""
"Audacity не може заблокувати теку з тимчасовими файлами.\n"
"Можливо цю теку вже використовує інша копія Audacity.\n"
-#: src/AudacityApp.cpp:1653
+#: src/AudacityApp.cpp:1675
msgid "Do you still want to start Audacity?"
msgstr "Досі бажаєте запустити Audacity?"
-#: src/AudacityApp.cpp:1655
+#: src/AudacityApp.cpp:1677
msgid "Error Locking Temporary Folder"
msgstr "Помилка при блокуванні теки тимчасових фалів"
-#: src/AudacityApp.cpp:1752
+#: src/AudacityApp.cpp:1770
msgid "The system has detected that another copy of Audacity is running.\n"
msgstr "Система визначила, що вже запущено іншу копію Audacity.\n"
-#: src/AudacityApp.cpp:1754
+#: src/AudacityApp.cpp:1772
msgid ""
"Use the New or Open commands in the currently running Audacity\n"
"process to open multiple projects simultaneously.\n"
@@ -820,43 +873,43 @@ msgstr ""
"команди «Створити» або «Відкрити» у копії\n"
"Audacity, що зараз виконується.\n"
-#: src/AudacityApp.cpp:1755
+#: src/AudacityApp.cpp:1773
msgid "Audacity is already running"
msgstr "Audacity вже запущено"
#. i18n-hint: This controls the number of bytes that Audacity will
#. * use when writing files to the disk
-#: src/AudacityApp.cpp:1838
+#: src/AudacityApp.cpp:1855
msgid "set max disk block size in bytes"
msgstr "встановити максимальний розмір блоку диску у байтах"
#. i18n-hint: This decodes an autosave file
-#: src/AudacityApp.cpp:1842
+#: src/AudacityApp.cpp:1859
msgid "decode an autosave file"
msgstr "декодувати файл автозбереження"
#. i18n-hint: This displays a list of available options
-#: src/AudacityApp.cpp:1846
+#: src/AudacityApp.cpp:1863
msgid "this help message"
msgstr "це повідомлення"
#. i18n-hint: This runs a set of automatic tests on Audacity itself
-#: src/AudacityApp.cpp:1850
+#: src/AudacityApp.cpp:1867
msgid "run self diagnostics"
msgstr "запуск самодіагностики"
#. i18n-hint: This displays the Audacity version
-#: src/AudacityApp.cpp:1853
+#: src/AudacityApp.cpp:1870
msgid "display Audacity version"
msgstr "показати версію Audacity"
#. i18n-hint: This is a list of one or more files that Audacity
#. * should open upon startup
-#: src/AudacityApp.cpp:1857
+#: src/AudacityApp.cpp:1874
msgid "audio or project file name"
msgstr "назва файла звукових даних або проекту"
-#: src/AudacityApp.cpp:2133
+#: src/AudacityApp.cpp:2141
msgid ""
"Audacity project (.AUP) files are not currently \n"
"associated with Audacity. \n"
@@ -868,7 +921,7 @@ msgstr ""
"\n"
"Пов'язати їх, щоб вони відкривались подвійним клацанням?"
-#: src/AudacityApp.cpp:2134
+#: src/AudacityApp.cpp:2142
msgid "Audacity Project Files"
msgstr "Файли проектів Audacity"
@@ -876,17 +929,17 @@ msgstr "Файли проектів Audacity"
msgid "Audacity Log"
msgstr "Журнал Audacity"
-#: src/AudacityLogger.cpp:202 src/Tags.cpp:793
+#: src/AudacityLogger.cpp:202 src/Tags.cpp:831
msgid "&Save..."
msgstr "З&берегти…"
-#: src/AudacityLogger.cpp:203 src/Tags.cpp:772
+#: src/AudacityLogger.cpp:203 src/Tags.cpp:810
#: src/prefs/KeyConfigPrefs.cpp:273 src/prefs/KeyConfigPrefs.cpp:790
msgid "Cl&ear"
msgstr "Спорожн&ити"
-#: src/AudacityLogger.cpp:204 src/FreqWindow.cpp:468 src/Menus.cpp:372
-#: src/ShuttleGui.cpp:2168 src/effects/Contrast.cpp:327
+#: src/AudacityLogger.cpp:204 src/FreqWindow.cpp:468 src/Menus.cpp:319
+#: src/ShuttleGui.cpp:2167 src/effects/Contrast.cpp:336
msgid "&Close"
msgstr "&Закрити"
@@ -902,11 +955,11 @@ msgstr "Зберігати журнал до:"
msgid "Couldn't save log to file: "
msgstr "Не вдалося зберегти журнал до цього файла: "
-#: src/AudioIO.cpp:902
+#: src/AudioIO.cpp:1021
msgid "Could not find any audio devices.\n"
msgstr "Не вдалося знайти жодного звукового пристрою.\n"
-#: src/AudioIO.cpp:903
+#: src/AudioIO.cpp:1022
msgid ""
"You will not be able to play or record audio.\n"
"\n"
@@ -914,19 +967,19 @@ msgstr ""
"Ви не зможете відтворювати та записувати звук.\n"
"\n"
-#: src/AudioIO.cpp:906 src/AudioIO.cpp:926
+#: src/AudioIO.cpp:1025 src/AudioIO.cpp:1045
msgid "Error: "
msgstr "Помилка: "
-#: src/AudioIO.cpp:909
+#: src/AudioIO.cpp:1028
msgid "Error Initializing Audio"
msgstr "Помилка при ініціалізації звуку"
-#: src/AudioIO.cpp:922
+#: src/AudioIO.cpp:1041
msgid "There was an error initializing the midi i/o layer.\n"
msgstr "Під час спроби ініціалізації шару вводу-виводу midi сталася помилка.\n"
-#: src/AudioIO.cpp:923
+#: src/AudioIO.cpp:1042
msgid ""
"You will not be able to play midi.\n"
"\n"
@@ -934,15 +987,15 @@ msgstr ""
"Ви не зможете відтворювати midi.\n"
"\n"
-#: src/AudioIO.cpp:929
+#: src/AudioIO.cpp:1048
msgid "Error Initializing Midi"
msgstr "Помилка при ініціалізації MIDI"
-#: src/AudioIO.cpp:1709 src/AudioIO.cpp:1751
+#: src/AudioIO.cpp:1870 src/AudioIO.cpp:1909
msgid "Out of memory!"
msgstr "Не вистачає пам'яті!"
-#: src/AudioIO.cpp:2342
+#: src/AudioIO.cpp:2491
msgid ""
"Latency Correction setting has caused the recorded audio to be hidden before "
"zero.\n"
@@ -956,11 +1009,11 @@ msgstr ""
"Можливо, слід скористатися інструментом «Часовий зсув» (<—-> або F5), для "
"переміщення доріжки у правильне положення."
-#: src/AudioIO.cpp:2343
+#: src/AudioIO.cpp:2492
msgid "Latency problem"
msgstr "Проблема із затримкою"
-#: src/AudioIO.cpp:3827
+#: src/AudioIO.cpp:3997
msgid ""
"Automated Recording Level Adjustment stopped. It was not possible to "
"optimize it more. Still too high."
@@ -968,13 +1021,13 @@ msgstr ""
"Роботу інструменту автоматичного виправлення рівня запису зупинено. Рівень "
"вже неможливо покращити. Рівень гучності зависокий."
-#: src/AudioIO.cpp:3835
+#: src/AudioIO.cpp:4005
#, c-format
msgid "Automated Recording Level Adjustment decreased the volume to %f."
msgstr ""
"Інструмент встановлення автоматичної гучності запису знизив гучність до %f."
-#: src/AudioIO.cpp:3850
+#: src/AudioIO.cpp:4020
msgid ""
"Automated Recording Level Adjustment stopped. It was not possible to "
"optimize it more. Still too low."
@@ -982,14 +1035,14 @@ msgstr ""
"Роботу інструменту автоматичного виправлення рівня запису зупинено. Рівень "
"вже неможливо покращити. Рівень гучності занизький."
-#: src/AudioIO.cpp:3862
+#: src/AudioIO.cpp:4032
#, c-format
msgid "Automated Recording Level Adjustment increased the volume to %.2f."
msgstr ""
"Інструмент автоматичного визначення гучності запису збільшив гучність до "
"%.2f."
-#: src/AudioIO.cpp:3896
+#: src/AudioIO.cpp:4066
msgid ""
"Automated Recording Level Adjustment stopped. The total number of analyses "
"has been exceeded without finding an acceptable volume. Still too high."
@@ -998,7 +1051,7 @@ msgstr ""
"Перевищено загальну кількість точок аналізу, прийнятного рівня гучності не "
"знайдено. Гучність залишається занадто високою."
-#: src/AudioIO.cpp:3898
+#: src/AudioIO.cpp:4068
msgid ""
"Automated Recording Level Adjustment stopped. The total number of analyses "
"has been exceeded without finding an acceptable volume. Still too low."
@@ -1007,7 +1060,7 @@ msgstr ""
"Перевищено загальну кількість точок аналізу, прийнятного рівня гучності не "
"знайдено. Гучність залишається занадто низькою."
-#: src/AudioIO.cpp:3901
+#: src/AudioIO.cpp:4071
#, c-format
msgid ""
"Automated Recording Level Adjustment stopped. %.2f seems an acceptable "
@@ -1033,7 +1086,7 @@ msgid "Recoverable projects"
msgstr "Придатні до відновлення проекти"
#. i18n-hint: (noun). It's the name of the project to recover.
-#: src/AutoRecovery.cpp:86 src/PluginManager.cpp:572
+#: src/AutoRecovery.cpp:86 src/PluginManager.cpp:571
msgid "Name"
msgstr "Назва"
@@ -1068,6 +1121,7 @@ msgid "Confirm Discard Projects"
msgstr "Підтвердження відкидання проектів"
#: src/AutoRecovery.cpp:158 src/AutoRecovery.cpp:195
+#: src/TimerRecordDialog.cpp:501
msgid "Could not enumerate files in auto save directory."
msgstr "Неможливо скласти список файлів у теці автозбереження."
@@ -1179,7 +1233,7 @@ msgid "Select file(s) for batch processing..."
msgstr "Оберіть файл(и) для пакетної обробки…"
#. i18n-hint: The vertical bars and * are essential here.
-#: src/BatchProcessDialog.cpp:263 src/Project.cpp:2413
+#: src/BatchProcessDialog.cpp:263 src/Project.cpp:2507
msgid "All files|*|All supported files|"
msgstr "Усі файли|*|Усі файли, що підтримуються|"
@@ -1200,11 +1254,11 @@ msgstr "Редагувати ланцюжки"
msgid "&Chains"
msgstr "&Ланцюги"
-#: src/BatchProcessDialog.cpp:534 src/Tags.cpp:769
+#: src/BatchProcessDialog.cpp:534 src/Tags.cpp:807
msgid "&Add"
msgstr "&Додати"
-#: src/BatchProcessDialog.cpp:535 src/LabelDialog.cpp:132 src/Tags.cpp:770
+#: src/BatchProcessDialog.cpp:535 src/LabelDialog.cpp:132 src/Tags.cpp:808
msgid "&Remove"
msgstr "&Вилучити"
@@ -1225,7 +1279,7 @@ msgstr "№"
msgid "Command "
msgstr "Команда "
-#: src/BatchProcessDialog.cpp:554 src/effects/Contrast.cpp:213
+#: src/BatchProcessDialog.cpp:554 src/effects/Contrast.cpp:218
msgid "Parameters"
msgstr "Параметри"
@@ -1237,15 +1291,15 @@ msgstr "Вст&авити"
msgid "De&lete"
msgstr "В&илучити"
-#: src/BatchProcessDialog.cpp:560 src/effects/Equalization.cpp:3229
+#: src/BatchProcessDialog.cpp:560 src/effects/Equalization.cpp:3236
msgid "Move &Up"
msgstr "В&гору"
-#: src/BatchProcessDialog.cpp:561 src/effects/Equalization.cpp:3230
+#: src/BatchProcessDialog.cpp:561 src/effects/Equalization.cpp:3237
msgid "Move &Down"
msgstr "В&низ"
-#: src/BatchProcessDialog.cpp:562 src/effects/Equalization.cpp:3236
+#: src/BatchProcessDialog.cpp:562 src/effects/Equalization.cpp:3243
msgid "De&faults"
msgstr "Ти&пові"
@@ -1287,19 +1341,19 @@ msgstr "Назва не може містити символів '%c' та '%c'"
msgid "Are you sure you want to delete %s?"
msgstr "Ви справді бажаєте вилучити %s?"
-#: src/Dependencies.cpp:169
+#: src/Dependencies.cpp:168
msgid "Removing Dependencies"
msgstr "Вилучення залежностей"
-#: src/Dependencies.cpp:170
+#: src/Dependencies.cpp:169
msgid "Copying audio data into project..."
msgstr "Копіювання аудіоданих до проекту…"
-#: src/Dependencies.cpp:305
+#: src/Dependencies.cpp:299
msgid "Project Depends on Other Audio Files"
msgstr "Проект залежить від інших аудіофайлів"
-#: src/Dependencies.cpp:328
+#: src/Dependencies.cpp:322
msgid ""
"Copying these files into your project will remove this dependency.\n"
"This is safer, but needs more disk space."
@@ -1308,7 +1362,7 @@ msgstr ""
"Виконання подібної дії потребуватиме більше простору на диску, але "
"убезпечить ваші дані."
-#: src/Dependencies.cpp:332
+#: src/Dependencies.cpp:326
msgid ""
"\n"
"\n"
@@ -1322,57 +1376,57 @@ msgstr ""
"Відновіть файли у попередніх місцях зберігання, щоб їх можна було скопіювати "
"до проекту."
-#: src/Dependencies.cpp:342
+#: src/Dependencies.cpp:336
msgid "Project Dependencies"
msgstr "Залежності проекту"
-#: src/Dependencies.cpp:345
+#: src/Dependencies.cpp:339
msgid "Audio File"
msgstr "Аудіофайл"
-#: src/Dependencies.cpp:347
+#: src/Dependencies.cpp:341
msgid "Disk Space"
msgstr "Місце на диску"
-#: src/Dependencies.cpp:353
+#: src/Dependencies.cpp:347
msgid "Copy Selected Files"
msgstr "Копіювати позначені файли"
-#: src/Dependencies.cpp:365 src/Dependencies.cpp:517
+#: src/Dependencies.cpp:359 src/Dependencies.cpp:517
msgid "Cancel Save"
msgstr "Скасувати збереження"
-#: src/Dependencies.cpp:366
+#: src/Dependencies.cpp:360
msgid "Save without Copying"
msgstr "Зберігати без копіювання"
-#: src/Dependencies.cpp:369
+#: src/Dependencies.cpp:363
msgid "Do Not Copy"
msgstr "Не копіювати"
-#: src/Dependencies.cpp:372
+#: src/Dependencies.cpp:366
msgid "Copy All Files (Safer)"
msgstr "Копіювати усі файли (безпечніше)"
#. i18n-hint: One of the choices of what you want Audacity to do when
#. * Audacity finds a project depends on another file.
-#: src/Dependencies.cpp:387 src/Dependencies.cpp:393
+#: src/Dependencies.cpp:381 src/Dependencies.cpp:387
msgid "Ask me"
msgstr "Перепитувати"
-#: src/Dependencies.cpp:388
+#: src/Dependencies.cpp:382
msgid "Always copy all files (safest)"
msgstr "Завжди копіювати усі файли (найбезпечніше)"
-#: src/Dependencies.cpp:389
+#: src/Dependencies.cpp:383
msgid "Never copy any files"
msgstr "Ніколи не копіювати ніяких файлів"
-#: src/Dependencies.cpp:392
+#: src/Dependencies.cpp:386
msgid "Whenever a project depends on other files:"
msgstr "Чи залежить проект від інших файлів:"
-#: src/Dependencies.cpp:428
+#: src/Dependencies.cpp:422
msgid "MISSING "
msgstr "НЕМАЄ "
@@ -1404,7 +1458,7 @@ msgstr "Перевірка залежностей"
#. i18n-hint: This title appears on a dialog that indicates the progress in doing something.
#: src/DirManager.cpp:211 src/DirManager.cpp:294 src/DirManager.cpp:444
-#: src/DirManager.cpp:1655
+#: src/DirManager.cpp:1692
msgid "Progress"
msgstr "Поступ"
@@ -1428,12 +1482,12 @@ msgstr "Збереження файлів даних проекту"
msgid "Cleaning up cache directories"
msgstr "Очищення тек кешування"
-#: src/DirManager.cpp:588
+#: src/DirManager.cpp:589
msgid "mkdir in DirManager::MakeBlockFilePath failed."
msgstr ""
"Спроба створення каталогу у DirManager::MakeBlockFilePath зазнала невдачі."
-#: src/DirManager.cpp:619
+#: src/DirManager.cpp:620
#, c-format
msgid ""
"Audacity found an orphan block file: %s. \n"
@@ -1447,33 +1501,33 @@ msgstr ""
#. i18n-hint: This is the pattern for filenames that are created
#. * when a file needs to be backed up to a different name. For
#. * example, mysong would become mysong-old1, mysong-old2, etc.
-#: src/DirManager.cpp:1217
+#: src/DirManager.cpp:1252
#, c-format
msgid "%s-old%d"
msgstr "%s-old%d"
-#: src/DirManager.cpp:1226
+#: src/DirManager.cpp:1262
msgid "Unable to open/create test file."
msgstr "Не вдалося відкрити або створити тестовий файл."
#. i18n-hint: %s is the name of a file.
#. need braces to avoid compiler warning about ambiguous else, see the macro
-#: src/DirManager.cpp:1238
+#: src/DirManager.cpp:1274
#, c-format
msgid "Unable to remove '%s'."
msgstr "Не вдалося вилучити «%s»."
-#: src/DirManager.cpp:1244
+#: src/DirManager.cpp:1280
#, c-format
msgid "Renamed file: %s\n"
msgstr "Перейменовано файл: %s\n"
-#: src/DirManager.cpp:1307
+#: src/DirManager.cpp:1343
#, c-format
msgid "Unable to rename '%s' to '%s'."
msgstr "Не вдалося перейменувати «%s» на «%s»."
-#: src/DirManager.cpp:1326
+#: src/DirManager.cpp:1362
#, c-format
msgid "Changed block %s to new alias name\n"
msgstr "Блок %s змінено за новою назвою\n"
@@ -1483,15 +1537,15 @@ msgstr "Блок %s змінено за новою назвою\n"
#. This error message is about the tags that hold the sequence information.
#. The error message is confusing to users in English, and could just say
#. "Found problems with when checking project file."
-#: src/DirManager.cpp:1393
+#: src/DirManager.cpp:1430
msgid "Project check read faulty Sequence tags."
msgstr "Перевіркою проекту виявлено помилкові мітки послідовності."
-#: src/DirManager.cpp:1395 src/DirManager.cpp:1448
+#: src/DirManager.cpp:1432 src/DirManager.cpp:1485
msgid "Close project immediately with no changes"
msgstr "Закрити проект негайно без змін"
-#: src/DirManager.cpp:1396
+#: src/DirManager.cpp:1433
msgid ""
"Continue with repairs noted in log, and check for more errors. This will "
"save the project in its current state, unless you \"Close project immediately"
@@ -1502,15 +1556,15 @@ msgstr ""
"натиснете кнопку «Закрити проект негайно» у відповідь на подальші сповіщення "
"про помилки."
-#: src/DirManager.cpp:1399
+#: src/DirManager.cpp:1436
msgid "Warning - Problems Reading Sequence Tags"
msgstr "Попередження: проблеми під час читання міток послідовності"
-#: src/DirManager.cpp:1414 src/DirManager.cpp:1818
+#: src/DirManager.cpp:1451 src/DirManager.cpp:1856
msgid "Inspecting project file data"
msgstr "Вивчення даних файла проекту"
-#: src/DirManager.cpp:1433
+#: src/DirManager.cpp:1470
#, c-format
msgid ""
"Project check of \"%s\" folder \n"
@@ -1545,24 +1599,24 @@ msgstr ""
"проект негайно» у відповідь на подальші повідомлення про \n"
"помилки."
-#: src/DirManager.cpp:1449 src/DirManager.cpp:1570
+#: src/DirManager.cpp:1486 src/DirManager.cpp:1607
msgid "Treat missing audio as silence (this session only)"
msgstr "Вважати пропущені звукові дані тишею (тільки для цього сеансу)"
-#: src/DirManager.cpp:1450
+#: src/DirManager.cpp:1487
msgid "Replace missing audio with silence (permanent immediately)."
msgstr "Замінити пропущені дані тишею (негайне і незворотне)."
-#: src/DirManager.cpp:1453
+#: src/DirManager.cpp:1490
msgid "Warning - Missing Aliased File(s)"
msgstr "Попередження: не знайдено приєднаних файлів"
-#: src/DirManager.cpp:1484
+#: src/DirManager.cpp:1521
msgid " Project check replaced missing aliased file(s) with silence."
msgstr ""
" Інструмент перевірки проекту замінив пропущені приєднані файли тишею."
-#: src/DirManager.cpp:1504
+#: src/DirManager.cpp:1541
#, c-format
msgid ""
"Project check of \"%s\" folder \n"
@@ -1574,29 +1628,29 @@ msgstr ""
"Audacity може повторно створити приєднані файли з \n"
"аудіоданих у поточному проекті."
-#: src/DirManager.cpp:1510
+#: src/DirManager.cpp:1547
msgid "Regenerate alias summary files (safe and recommended)"
msgstr "Повторно створити приєднані файли (безпечно та рекомендовано)"
-#: src/DirManager.cpp:1511
+#: src/DirManager.cpp:1548
msgid "Fill in silence for missing display data (this session only)"
msgstr "Заповнити тишею пропущені дані показу (тільки у поточному сеансі)"
-#: src/DirManager.cpp:1512 src/DirManager.cpp:1569 src/DirManager.cpp:1629
+#: src/DirManager.cpp:1549 src/DirManager.cpp:1606 src/DirManager.cpp:1666
msgid "Close project immediately with no further changes"
msgstr "Закрити проект негайно без подальших змін"
-#: src/DirManager.cpp:1515
+#: src/DirManager.cpp:1552
msgid "Warning - Missing Alias Summary File(s)"
msgstr "Попередження: не вистачає приєднаних файлів резюме"
-#: src/DirManager.cpp:1538
+#: src/DirManager.cpp:1575
msgid " Project check regenerated missing alias summary file(s)."
msgstr ""
" Інструментом перевірки проекту було повторно створено незнайдені "
"приєднані файли резюме."
-#: src/DirManager.cpp:1556
+#: src/DirManager.cpp:1593
#, c-format
msgid ""
"Project check of \"%s\" folder \n"
@@ -1624,22 +1678,22 @@ msgstr ""
"Зауважте, що у разі вибору другого варіанта, на панелі форми \n"
"хвилі може бути не показано ділянки тиші."
-#: src/DirManager.cpp:1571
+#: src/DirManager.cpp:1608
msgid "Replace missing audio with silence (permanent immediately)"
msgstr "Замінити пропущені дані тишею (негайне і незворотне)"
-#: src/DirManager.cpp:1574
+#: src/DirManager.cpp:1611
msgid "Warning - Missing Audio Data Block File(s)"
msgstr "Попередження: не вистачає блок-файлів звукових даних"
-#: src/DirManager.cpp:1597
+#: src/DirManager.cpp:1634
msgid ""
" Project check replaced missing audio data block file(s) with silence."
msgstr ""
" Інструмент перевірки проекту замінив незнайдені блок-файли звукових даних "
"тишею."
-#: src/DirManager.cpp:1613
+#: src/DirManager.cpp:1650
msgid ""
" Project check ignored orphan block file(s). They will be deleted when "
"project is saved."
@@ -1647,7 +1701,7 @@ msgstr ""
" Інструментом перевірки проекту проігноровано зайві блок-файли. Їх буде "
"вилучено під час збереження проекту."
-#: src/DirManager.cpp:1619
+#: src/DirManager.cpp:1656
#, c-format
msgid ""
"Project check of \"%s\" folder \n"
@@ -1660,30 +1714,30 @@ msgstr ""
"у поточному проекті, але можуть належати іншим проектам. \n"
"Ці файли не зашкодять роботі і займають небагато місця."
-#: src/DirManager.cpp:1628
+#: src/DirManager.cpp:1665
msgid "Continue without deleting; ignore the extra files this session"
msgstr "Продовжити без вилучення; ігнорувати зайві файли цього сеансу"
-#: src/DirManager.cpp:1630
+#: src/DirManager.cpp:1667
msgid "Delete orphan files (permanent immediately)"
msgstr "Вилучити зайві файли (негайно і остаточно)"
-#: src/DirManager.cpp:1633
+#: src/DirManager.cpp:1670
msgid "Warning - Orphan Block File(s)"
msgstr "Попередження: зайві блок-файли"
-#: src/DirManager.cpp:1656
+#: src/DirManager.cpp:1693
msgid "Cleaning up unused directories in project data"
msgstr "Очищення тек, що не використовуються, у даних проекту"
-#: src/DirManager.cpp:1669
+#: src/DirManager.cpp:1706
msgid ""
"Project check found file inconsistencies inspecting the loaded project data."
msgstr ""
"Інструментом перевірки проекту виявлено неточності під час вивчення "
"завантажених даних проекту."
-#: src/DirManager.cpp:1675
+#: src/DirManager.cpp:1712
msgid ""
"Project check found file inconsistencies during automatic recovery.\n"
"\n"
@@ -1695,43 +1749,43 @@ msgstr ""
"Щоб ознайомитися з подробицями, скористайтеся пунктом «Показати журнал…» у "
"меню «Довідка»."
-#: src/DirManager.cpp:1676
+#: src/DirManager.cpp:1713
msgid "Warning: Problems in Automatic Recovery"
msgstr "Попередження: проблеми з автоматичним відновленням"
-#: src/DirManager.cpp:1715
+#: src/DirManager.cpp:1752
#, c-format
msgid "Missing aliased audio file: '%s'"
msgstr "Не знайдено приєднаного файла звукових даних: «%s»"
-#: src/DirManager.cpp:1738
+#: src/DirManager.cpp:1775
#, c-format
msgid "Missing alias (.auf) block file: '%s'"
msgstr "Не вистачає приєднаного (.auf) блок-файла: «%s»"
-#: src/DirManager.cpp:1762
+#: src/DirManager.cpp:1799
#, c-format
msgid "Missing data block file: '%s'"
msgstr "Не вистачає блок-файла даних: «%s»"
-#: src/DirManager.cpp:1804
+#: src/DirManager.cpp:1842
#, c-format
msgid "Orphan block file: '%s'"
msgstr "Незв'язаний блок-файл: «%s»"
-#: src/DirManager.cpp:1861
+#: src/DirManager.cpp:1899
msgid "Caching audio"
msgstr "Кешування аудіо"
-#: src/DirManager.cpp:1862
+#: src/DirManager.cpp:1900
msgid "Caching audio into memory"
msgstr "Кешування звукової інформації у пам'ять"
-#: src/DirManager.cpp:1898
+#: src/DirManager.cpp:1936
msgid "Saving recorded audio"
msgstr "Збереження записаного звуку"
-#: src/DirManager.cpp:1899
+#: src/DirManager.cpp:1937
msgid "Saving recorded audio to disk"
msgstr "Збереження записаного звуку на диск"
@@ -1768,57 +1822,57 @@ msgstr "Спроба запуску FFmpeg була невдалою"
msgid "FFmpeg library not found"
msgstr "Бібліотеки FFmpeg не знайдено"
-#: src/FFmpeg.cpp:453
+#: src/FFmpeg.cpp:457
msgid "Locate FFmpeg"
msgstr "Вказати адресу FFmpeg"
-#: src/FFmpeg.cpp:474
+#: src/FFmpeg.cpp:478
#, c-format
msgid "Audacity needs the file '%s' to import and export audio via FFmpeg."
msgstr ""
"Audacity потребує файла «%s» для імпортування та експортування звукових "
"даних за допомогою FFmpeg."
-#: src/FFmpeg.cpp:480
+#: src/FFmpeg.cpp:484
#, c-format
msgid "Location of '%s':"
msgstr "Розташування «%s»:"
-#: src/FFmpeg.cpp:489
+#: src/FFmpeg.cpp:493
#, c-format
msgid "To find '%s', click here -->"
msgstr "Щоб знайти «%s», клацніть тут —>"
-#: src/FFmpeg.cpp:495 src/export/ExportCL.cpp:119 src/export/ExportMP3.cpp:611
+#: src/FFmpeg.cpp:499 src/export/ExportCL.cpp:119 src/export/ExportMP3.cpp:635
msgid "Browse..."
msgstr "Огляд…"
-#: src/FFmpeg.cpp:496
+#: src/FFmpeg.cpp:500
msgid "To get a free copy of FFmpeg, click here -->"
msgstr "Щоб отримати вільну копію FFmpeg, натисніть тут -->"
#. i18n-hint: (verb)
-#: src/FFmpeg.cpp:497 src/export/ExportMP3.cpp:615
+#: src/FFmpeg.cpp:501 src/export/ExportMP3.cpp:639
msgid "Download"
msgstr "Звантажити"
#. i18n-hint: It's asking for the location of a file, for
#. example, "Where is lame_enc.dll?" - you could translate
#. "Where would I find the file '%s'?" instead if you want.
-#: src/FFmpeg.cpp:519
+#: src/FFmpeg.cpp:523
#, c-format
msgid "Where is '%s'?"
msgstr "Де знаходиться «%s»?"
-#: src/FFmpeg.cpp:702
+#: src/FFmpeg.cpp:706
msgid "Failed to find compatible FFmpeg libraries."
msgstr "Спроба знайти сумісну версію бібліотеки FFmpeg була невдалою."
-#: src/FFmpeg.h:178
+#: src/FFmpeg.h:180
msgid "FFmpeg not found"
msgstr "FFmpeg не знайдено"
-#: src/FFmpeg.h:193
+#: src/FFmpeg.h:195
msgid ""
"Audacity attempted to use FFmpeg to import an audio file,\n"
"but the libraries were not found.\n"
@@ -1834,12 +1888,12 @@ msgstr ""
"сторінку «Параметри > Бібліотеки»,\n"
"щоб звантажити або вказати адресу потрібних бібліотек FFmpeg."
-#: src/FFmpeg.h:201
+#: src/FFmpeg.h:203
msgid "Do not show this warning again"
msgstr "Більше не показувати це попередження"
#. i18n-hint: do not translate avformat. Preserve the computer gibberish.
-#: src/FFmpeg.h:277
+#: src/FFmpeg.h:279
msgid ""
"Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|"
"All Files|*"
@@ -1847,11 +1901,11 @@ msgstr ""
"Лише avformat.dll|*avformat*.dll|Динамічно з’єднані бібліотеки (*.dll)|*.dll|"
"Усі файли|*"
-#: src/FFmpeg.h:310
+#: src/FFmpeg.h:312
msgid "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
msgstr "Динамічні бібліотеки (*.dylib)|*.dylib|Усі файли (*)|*"
-#: src/FFmpeg.h:337
+#: src/FFmpeg.h:339
msgid ""
"Only libavformat.so|libavformat*.so*|Dynamically Linked Libraries (*.so*)|*."
"so*|All Files (*)|*"
@@ -1859,6 +1913,12 @@ msgstr ""
"Лише libavformat.so|libavformat*.so*|Динамічно з’єднані бібліотеки (*.so*)|*."
"so*|Усі файли (*)|*"
+#. i18n-hint: %s will be the error message from libsndfile
+#: src/FileFormats.cpp:301
+#, c-format
+msgid "Error (file may not have been written): %s"
+msgstr "Помилка (можливо, файл не записано): %s"
+
#: src/FreqWindow.cpp:208
msgid "Spectrum"
msgstr "Спектр"
@@ -1898,7 +1958,7 @@ msgstr "Частота запису журналу"
#. i18n-hint: short form of 'decibels'.
#: src/FreqWindow.cpp:285 src/FreqWindow.cpp:691 src/effects/AutoDuck.cpp:438
-#: src/effects/AutoDuck.cpp:478 src/effects/AutoDuck.cpp:776
+#: src/effects/AutoDuck.cpp:478 src/effects/AutoDuck.cpp:778
#: src/effects/Compressor.cpp:701 src/effects/Compressor.cpp:709
#: src/effects/Equalization.cpp:655 src/effects/Equalization.cpp:682
#: src/effects/Equalization.cpp:690 src/effects/Equalization.cpp:751
@@ -1907,8 +1967,8 @@ msgstr "Частота запису журналу"
#: src/effects/ScienFilter.cpp:386 src/effects/ScienFilter.cpp:415
#: src/effects/ScienFilter.cpp:423 src/effects/ScienFilter.cpp:490
#: src/effects/ScienFilter.cpp:519 src/effects/ScienFilter.cpp:583
-#: src/effects/ScienFilter.cpp:591 src/widgets/Meter.cpp:1974
-#: src/widgets/Meter.cpp:1975
+#: src/effects/ScienFilter.cpp:591 src/widgets/Meter.cpp:2004
+#: src/widgets/Meter.cpp:2005
msgid "dB"
msgstr "дБ"
@@ -1916,10 +1976,10 @@ msgstr "дБ"
msgid "Scroll"
msgstr "Гортати"
-#: src/FreqWindow.cpp:326 src/prefs/MousePrefs.cpp:131
-#: src/prefs/MousePrefs.cpp:132 src/prefs/MousePrefs.cpp:133
-#: src/prefs/MousePrefs.cpp:134 src/prefs/MousePrefs.cpp:135
-#: src/prefs/MousePrefs.cpp:136
+#: src/FreqWindow.cpp:326 src/prefs/MousePrefs.cpp:124
+#: src/prefs/MousePrefs.cpp:125 src/prefs/MousePrefs.cpp:126
+#: src/prefs/MousePrefs.cpp:127 src/prefs/MousePrefs.cpp:128
+#: src/prefs/MousePrefs.cpp:129
msgid "Zoom"
msgstr "Масштабування"
@@ -1981,7 +2041,7 @@ msgid "Hz"
msgstr "Гц"
#. i18n-hint: short form of 'seconds'.
-#: src/FreqWindow.cpp:743 src/effects/AutoDuck.cpp:779
+#: src/FreqWindow.cpp:743 src/effects/AutoDuck.cpp:781
msgid "s"
msgstr "с"
@@ -2008,25 +2068,25 @@ msgstr "%.4f сек (%d Гц) (%s) = %f"
msgid "%.4f sec (%d Hz) (%s) = %.3f"
msgstr "%.4f сек (%d Гц) (%s) = %.3f"
-#: src/FreqWindow.cpp:1033
+#: src/FreqWindow.cpp:1035
msgid "spectrum.txt"
msgstr "spectrum.txt"
-#: src/FreqWindow.cpp:1035
+#: src/FreqWindow.cpp:1037
msgid "Export Spectral Data As:"
msgstr "Експортувати результати спектрального аналізу у файл:"
-#: src/FreqWindow.cpp:1049 src/LabelDialog.cpp:630 src/Menus.cpp:3592
-#: src/effects/Contrast.cpp:485 src/prefs/KeyConfigPrefs.cpp:389
+#: src/FreqWindow.cpp:1051 src/LabelDialog.cpp:631 src/Menus.cpp:3632
+#: src/effects/Contrast.cpp:507 src/prefs/KeyConfigPrefs.cpp:389
#: src/prefs/KeyConfigPrefs.cpp:970
msgid "Couldn't write to file: "
msgstr "Не вдається записати у файл: "
-#: src/FreqWindow.cpp:1056
+#: src/FreqWindow.cpp:1058
msgid "Frequency (Hz)\tLevel (dB)"
msgstr "Частота (Гц)\tРівень (дБ)"
-#: src/FreqWindow.cpp:1062
+#: src/FreqWindow.cpp:1064
msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
msgstr "Відставання (сек)\tЧастота (Гц)\tРівень"
@@ -2088,13 +2148,9 @@ msgstr "Запис на CD"
msgid "No Local Help"
msgstr "Відсутня локальна довідка"
-#: src/HelpText.cpp:189
-msgid "How to Get Help
"
-msgstr "
Як дістати довідку
"
-
#: src/HelpText.cpp:190
-msgid "Welcome to Audacity "
-msgstr "Ласкаво просимо до Audacity "
+msgid "How to get help"
+msgstr "Як дістати довідку"
#: src/HelpText.cpp:191
msgid "These are our support methods:"
@@ -2102,48 +2158,38 @@ msgstr "Ось перелік підтримуваних методів:"
#: src/HelpText.cpp:192
msgid ""
-" [[file:quick_help.html|Quick Help]] (should be installed locally, Internet version if it "
-"isn't)"
+" [[file:quick_help.html|Quick Help]] - if not installed locally, view online"
msgstr ""
-" [[file:quick_helphtml|Коротка довідка]] (має бути встановлено локально, інтернет-версія, "
-"якщо її не встановлено)"
+" [[file:quick_helphtml|Коротка довідка]] — якщо не встановлено локально, інтернет-версія"
#: src/HelpText.cpp:193
msgid ""
-" [[file:index.html|Manual]] (should be installed locally, Internet version if it isn't)"
+" [[file:index.html|Manual]] - if not installed locally, view online"
msgstr ""
-" [[file:indexhtml|Підручник]] (має бути встановлено локально, інтернет-версія, якщо підручник не "
-"встановлено)"
+" [[file:index.html|Підручник]] — якщо не встановлено локально, переглянути у інтернеті"
#: src/HelpText.cpp:194
msgid ""
-" [[http://wiki.audacityteam.org/index.php|Wiki]] (the latest tips, tricks "
-"and tutorials, on the Internet)"
+" Forum - ask your question "
+"directly, online."
msgstr ""
-" [[http://wiki.audacityteam.org/index.php|Вікі]] (найсвіжіші поради, "
-"підказки та посібники у інтернеті)"
+" Форум — задайте запитання "
+"безпосередньо у інтернеті."
#: src/HelpText.cpp:195
msgid ""
-" Forum (ask your question "
-"directly, on the Internet)"
+"More: Visit our [[http://wiki.audacityteam.org/index.php|Wiki]] for "
+"tips, tricks, extra tutorials and effects plug-ins."
msgstr ""
-" Форум (задайте запитання "
-"безпосередньо у інтернеті)"
+"Докладніше: відвідайте нашу [[http://wiki.audacityteam.org/index.php|"
+"Вікі]], там можна знайти поради, підказки додаткові настанови та "
+"документацію щодо додатків ефектів."
-#: src/HelpText.cpp:196
-msgid ""
-" For even quicker answers, all the online resources above are searchable"
-"b>."
-msgstr ""
-" Якщо вам потрібна коротка відповідь, ви можете скористатися пошуком "
-"на наведених вище ресурсах інтернету."
-
-#: src/HelpText.cpp:203
+#: src/HelpText.cpp:202
msgid ""
"Audacity can import unprotected files in many other formats (such as M4A and "
"WMA, compressed WAV files from portable recorders and audio from video "
@@ -2157,7 +2203,7 @@ msgstr ""
"href=\"http://manual.audacityteam.org/o/man/faq_opening_and_saving_files."
"html#foreign\">бібліотеку FFmpeg."
-#: src/HelpText.cpp:207
+#: src/HelpText.cpp:206
msgid ""
"You can also read our help on importing MIDI files and tracks "
@@ -2169,7 +2215,7 @@ msgstr ""
"\">файлів MIDI та доріжок з звукових компакт-дисків."
-#: src/HelpText.cpp:220
+#: src/HelpText.cpp:219
msgid ""
"You do not appear to have the 'help' folder installed.
Please view the content online or Зберегти проект."
-#: src/Project.cpp:2187
+#: src/Project.cpp:2275
msgid "Save changes?"
msgstr "Зберегти зміни?"
-#: src/Project.cpp:2442
+#: src/Project.cpp:2536
msgid "Select one or more audio files..."
msgstr "Виберіть один чи більше звукових файлів…"
-#: src/Project.cpp:2478
+#: src/Project.cpp:2572
#, c-format
msgid "%s is already open in another window."
msgstr "%s вже відкрито у іншому вікні."
-#: src/Project.cpp:2481 src/Project.cpp:2647 src/Project.cpp:2844
-#: src/Project.cpp:3034
+#: src/Project.cpp:2575 src/Project.cpp:2736 src/Project.cpp:2933
+#: src/Project.cpp:3123
msgid "Error Opening Project"
msgstr "Помилка під час відкриття файла проекту"
@@ -4328,11 +4425,11 @@ msgstr "Помилка під час відкриття файла проект
#. * and save dialogues, for the option that only shows project files created
#. * with Audacity. Do not include pipe symbols or .aup (this extension will
#. * now be added automatically for the Save Projects dialogues).
-#: src/Project.cpp:2495 src/Project.cpp:3925
+#: src/Project.cpp:2589 src/Project.cpp:3990 src/TimerRecordDialog.cpp:297
msgid "Audacity projects"
msgstr "Проекти Audacity"
-#: src/Project.cpp:2548
+#: src/Project.cpp:2639
#, c-format
msgid ""
"This file was saved by Audacity version %s. The format has changed. \n"
@@ -4358,15 +4455,15 @@ msgstr ""
"\n"
"Відкрити файл зараз?"
-#: src/Project.cpp:2558
+#: src/Project.cpp:2649
msgid "1.0 or earlier"
msgstr "1.0 або ранішою"
-#: src/Project.cpp:2563 src/Project.cpp:3121
+#: src/Project.cpp:2654 src/Project.cpp:3210
msgid "Warning - Opening Old Project File"
msgstr "Попередження: відкриття застарілого файла проекту"
-#: src/Project.cpp:2599
+#: src/Project.cpp:2688
msgid ""
"You are trying to open an automatically created backup file.\n"
"Doing this may result in severe data loss.\n"
@@ -4379,19 +4476,19 @@ msgstr ""
"\n"
"Будь ласка, спробуйте відкрити справжній файл проекту Audacity."
-#: src/Project.cpp:2600
+#: src/Project.cpp:2689
msgid "Warning - Backup File Detected"
msgstr "Попередження: виявлено файл резервної копії"
-#: src/Project.cpp:2607 src/xml/XMLWriter.cpp:269
+#: src/Project.cpp:2696 src/xml/XMLWriter.cpp:269
msgid "Error Opening File"
msgstr "Помилка під час відкриття файла"
-#: src/Project.cpp:2622
+#: src/Project.cpp:2711
msgid "Error opening file"
msgstr "Помилка під час відкриття файла"
-#: src/Project.cpp:2627
+#: src/Project.cpp:2716
#, c-format
msgid ""
"File may be invalid or corrupted: \n"
@@ -4400,11 +4497,11 @@ msgstr ""
"Можливо файл є некоректним або пошкодженим: \n"
"%s"
-#: src/Project.cpp:2628
+#: src/Project.cpp:2717
msgid "Error Opening File or Project"
msgstr "Помилка під час відкриття файла або проекту"
-#: src/Project.cpp:2646
+#: src/Project.cpp:2735
msgid ""
"Audacity was unable to convert an Audacity 1.0 project to the new project "
"format."
@@ -4412,37 +4509,37 @@ msgstr ""
"Audacity не вдається перетворити проект формату Audacity 1.0 у проект нового "
"формату."
-#: src/Project.cpp:2681
+#: src/Project.cpp:2770
msgid "Could not decode file: "
msgstr "Не вдалося декодувати файл: "
-#: src/Project.cpp:2682
+#: src/Project.cpp:2771
msgid "Error decoding file"
msgstr "Помилка під час спроби декодування файла"
-#: src/Project.cpp:2780
+#: src/Project.cpp:2869
msgid "Project was recovered"
msgstr "Проект було відновлено"
-#: src/Project.cpp:2780
+#: src/Project.cpp:2869
msgid "Recover"
msgstr "Відновити"
-#: src/Project.cpp:2783
+#: src/Project.cpp:2872
msgid "Could not remove old auto save file"
msgstr "Не вдалося вилучити старий файл автозбереження"
-#: src/Project.cpp:2931 src/Project.cpp:2932
+#: src/Project.cpp:3020 src/Project.cpp:3021
msgid ""
msgstr "<невідома версія — файл проекту може бути пошкоджено>"
-#: src/Project.cpp:3032
+#: src/Project.cpp:3121
#, c-format
msgid "Couldn't find the project data folder: \"%s\""
msgstr "Не вдається знайти теку з даними проекту: «%s»"
#. i18n-hint: %s will be replaced by the version number.
-#: src/Project.cpp:3085
+#: src/Project.cpp:3174
#, c-format
msgid ""
"This file was saved using Audacity %s.\n"
@@ -4453,11 +4550,11 @@ msgstr ""
"Ви використовуєте Audacity версії %s. Щоб відкрити цей файл, слід оновити "
"версію програми."
-#: src/Project.cpp:3089
+#: src/Project.cpp:3178
msgid "Can't open project file"
msgstr "Не вдається відкрити файл проекту"
-#: src/Project.cpp:3379
+#: src/Project.cpp:3436
msgid ""
"Your project is now empty.\n"
"If saved, the project will have no tracks.\n"
@@ -4478,11 +4575,11 @@ msgstr ""
"\n"
"Все одно зберегти?"
-#: src/Project.cpp:3380
+#: src/Project.cpp:3437
msgid "Warning - Empty Project"
msgstr "Попередження про порожній проект"
-#: src/Project.cpp:3439
+#: src/Project.cpp:3496
#, c-format
msgid ""
"Could not save project. Path not found. Try creating \n"
@@ -4491,12 +4588,12 @@ msgstr ""
"Не вдалося зберегти проект. Не знайдено відповідного каталогу. Спробуйте \n"
"створити каталог «%s» перед зберіганням проекту з цією назвою."
-#: src/Project.cpp:3441 src/Project.cpp:3478 src/Project.cpp:3501
-#: src/Project.cpp:3857 src/Project.cpp:3943
+#: src/Project.cpp:3498 src/Project.cpp:3543 src/Project.cpp:3566
+#: src/Project.cpp:3922 src/Project.cpp:4008
msgid "Error Saving Project"
msgstr "Помилка під час спроби збереження файла проекту"
-#: src/Project.cpp:3476
+#: src/Project.cpp:3541
#, c-format
msgid ""
"Could not save project. Perhaps %s \n"
@@ -4505,31 +4602,31 @@ msgstr ""
"Не вдається зберегти проект. Можливо, відсутні права запису на %s,\n"
"або не вистачає вільного простору на диску."
-#: src/Project.cpp:3499 src/Project.cpp:4786 src/Tags.cpp:1151
-#: src/effects/Equalization.cpp:1653
+#: src/Project.cpp:3564 src/Project.cpp:4855 src/Tags.cpp:1189
+#: src/effects/Equalization.cpp:1657
#, c-format
msgid "Couldn't write to file \"%s\": %s"
msgstr "Не вдалося виконати запис до файла «%s»: %s"
-#: src/Project.cpp:3572
+#: src/Project.cpp:3635
#, c-format
msgid "Saved %s"
msgstr "Збережено %s"
-#: src/Project.cpp:3724
+#: src/Project.cpp:3788
#, c-format
msgid "Imported '%s'"
msgstr "Імпортовано файл «%s»"
-#: src/Project.cpp:3725
+#: src/Project.cpp:3789
msgid "Import"
msgstr "Імпорт"
-#: src/Project.cpp:3798
+#: src/Project.cpp:3863
msgid "Error Importing"
msgstr "Помилка під час спроби імпортування"
-#: src/Project.cpp:3856 src/Project.cpp:3942
+#: src/Project.cpp:3921 src/Project.cpp:4007
msgid ""
"The project was not saved because the file name provided would overwrite "
"another project.\n"
@@ -4539,11 +4636,11 @@ msgstr ""
"до перезапису іншого проекту.\n"
"Будь ласка, повторіть спробу, вказавши назву, яку ще не використано."
-#: src/Project.cpp:3887
+#: src/Project.cpp:3952
msgid ""
msgstr "<без назви>"
-#: src/Project.cpp:3893
+#: src/Project.cpp:3958
msgid ""
"'Save Compressed Project' is for an Audacity project, not an audio file.\n"
"For an audio file that will open in other apps, use 'Export'.\n"
@@ -4566,12 +4663,12 @@ msgstr ""
"оскільки виконується \n"
"імпортування кожної зі стиснених доріжок.\n"
-#: src/Project.cpp:3904
+#: src/Project.cpp:3969
#, c-format
msgid "Save Compressed Project \"%s\" As..."
msgstr "Зберегти стиснений проект «%s» як…"
-#: src/Project.cpp:3909
+#: src/Project.cpp:3974
msgid ""
"'Save Project' is for an Audacity project, not an audio file.\n"
"For an audio file that will open in other apps, use 'Export'.\n"
@@ -4581,53 +4678,53 @@ msgstr ""
"Для звукових файлів, які відкриватимуться у інших програмах, скористайтеся "
"дією «Експортувати».\n"
-#: src/Project.cpp:3914
+#: src/Project.cpp:3979
#, c-format
msgid "Save Project \"%s\" As..."
msgstr "Зберегти проект «%s» як…"
-#: src/Project.cpp:3986
+#: src/Project.cpp:4051
msgid "Created new project"
msgstr "Створено новий проект"
-#: src/Project.cpp:4216
+#: src/Project.cpp:4275
#, c-format
msgid "Deleted %.2f seconds at t=%.2f"
msgstr "Вилучено %.2f секунд починаючи з t=%.2f"
-#: src/Project.cpp:4219
+#: src/Project.cpp:4278
msgid "Delete"
msgstr "Вилучити"
-#: src/Project.cpp:4421
+#: src/Project.cpp:4488
#, c-format
msgid "Disk space remains for recording %d hours and %d minutes."
msgstr "Простір диску, що залишився для запису, %d годин та %d хвилин."
-#: src/Project.cpp:4424
+#: src/Project.cpp:4491
#, c-format
msgid "Disk space remains for recording 1 hour and %d minutes."
msgstr "Простір диску, що залишився для запису, 1 година та %d хвилин."
-#: src/Project.cpp:4427
+#: src/Project.cpp:4494
#, c-format
msgid "Disk space remains for recording %d minutes."
msgstr "Простір диску, що залишився для запису, %d хвилин."
-#: src/Project.cpp:4430
+#: src/Project.cpp:4497
#, c-format
msgid "Disk space remains for recording %d seconds."
msgstr "Простір диску, що залишився для запису, %d секунд."
-#: src/Project.cpp:4433
+#: src/Project.cpp:4500
msgid "Out of disk space"
msgstr "Скінчився вільний простір на диску"
-#: src/Project.cpp:4455
+#: src/Project.cpp:4522
msgid "On-demand import and waveform calculation complete."
msgstr "Поточне імпортування та обчислення форми хвилі виконано."
-#: src/Project.cpp:4460
+#: src/Project.cpp:4527
#, c-format
msgid ""
"Import(s) complete. Running %d on-demand waveform calculations. Overall %2.0f"
@@ -4636,7 +4733,7 @@ msgstr ""
"Імпортування завершено. Виконується %d поточних обчислень форми хвилі. "
"Виконано %2.0f%%."
-#: src/Project.cpp:4463
+#: src/Project.cpp:4530
#, c-format
msgid ""
"Import complete. Running an on-demand waveform calculation. %2.0f%% complete."
@@ -4644,45 +4741,45 @@ msgstr ""
"Імпортування завершено. Виконується поточне обчислення форми хвилі. Виконано "
"%2.0f%%."
-#: src/Project.cpp:4788
+#: src/Project.cpp:4857
msgid "Error Writing Autosave File"
msgstr "Помилка під час запису файла автозбереження"
-#: src/Project.cpp:4801
+#: src/Project.cpp:4870
msgid "Could not create autosave file: "
msgstr "Не вдалося створити файл автозбереження: "
-#: src/Project.cpp:4820
+#: src/Project.cpp:4889
msgid "Could not remove old autosave file: "
msgstr "Не вдалося вилучити старий файл автозбереження: "
-#: src/Project.cpp:4849
+#: src/Project.cpp:4919
#, c-format
msgid "Actual Rate: %d"
msgstr "Фактична частота %d"
-#: src/Project.cpp:4871
+#: src/Project.cpp:4946
msgid "Recorded Audio"
msgstr "Записано звук"
-#: src/Project.cpp:4871 src/toolbars/ControlToolBar.cpp:178
+#: src/Project.cpp:4946 src/toolbars/ControlToolBar.cpp:186
msgid "Record"
msgstr "Записати"
-#: src/Project.cpp:4980
+#: src/Project.cpp:5055
msgid "Adjusted gain"
msgstr "Підсилення скореговано"
-#: src/Project.cpp:4997
+#: src/Project.cpp:5072
msgid "Adjusted Pan"
msgstr "Панорамування скореговано"
-#: src/Project.cpp:5036
+#: src/Project.cpp:5111
#, c-format
msgid "Removed track '%s.'"
msgstr "Вилучено доріжку '%s.'"
-#: src/Project.cpp:5038
+#: src/Project.cpp:5113
msgid "Track Remove"
msgstr "Вилучити доріжку"
@@ -4701,199 +4798,200 @@ msgstr "24-бітовий PCM"
msgid "32-bit float"
msgstr "32-бітовий float"
-#: src/Screenshot.cpp:268
+#: src/Screenshot.cpp:269
msgid "Screen Capture Frame"
msgstr "Оболонка створення знімків екрана"
-#: src/Screenshot.cpp:310
+#: src/Screenshot.cpp:318
msgid "Choose location to save files"
msgstr "Оберіть адресу для зберігання файлів"
-#: src/Screenshot.cpp:320
+#: src/Screenshot.cpp:328
msgid "Save images to:"
msgstr "Зберігати зображення до:"
-#: src/Screenshot.cpp:322 src/export/ExportMultiple.cpp:257
+#: src/Screenshot.cpp:330 src/export/ExportMultiple.cpp:265
msgid "Choose..."
msgstr "Вибрати…"
-#: src/Screenshot.cpp:328
+#: src/Screenshot.cpp:336
msgid "Capture entire window or screen"
msgstr "Створити знімок всього вікна або екрана"
-#: src/Screenshot.cpp:332
+#: src/Screenshot.cpp:340
msgid "Resize Small"
msgstr "Масштабувати мале"
-#: src/Screenshot.cpp:333
+#: src/Screenshot.cpp:341
msgid "Resize Large"
msgstr "Масштабувати велике"
-#: src/Screenshot.cpp:339
+#: src/Screenshot.cpp:347
msgid "Blue Bkgnd"
msgstr "Синє тло"
-#: src/Screenshot.cpp:345
+#: src/Screenshot.cpp:353
msgid "White Bkgnd"
msgstr "Біле тло"
-#: src/Screenshot.cpp:352
+#: src/Screenshot.cpp:360
msgid "Capture Window Only"
msgstr "Створити знімок лише вікна"
-#: src/Screenshot.cpp:353
+#: src/Screenshot.cpp:361
msgid "Capture Full Window"
msgstr "Створити знімок всього вікна"
-#: src/Screenshot.cpp:354
+#: src/Screenshot.cpp:362
msgid "Capture Window Plus"
msgstr "Створити знімок вікна і"
-#: src/Screenshot.cpp:360
+#: src/Screenshot.cpp:368
msgid "Capture Full Screen"
msgstr "Створити знімок всього екрана"
-#: src/Screenshot.cpp:367
+#: src/Screenshot.cpp:375
msgid "Wait 5 seconds and capture frontmost window/dialog"
msgstr "Чекати 5 секунд і зняти верхнє вікно"
-#: src/Screenshot.cpp:368
+#: src/Screenshot.cpp:376
msgid "false"
msgstr "ні"
-#: src/Screenshot.cpp:374
+#: src/Screenshot.cpp:382
msgid "Capture part of a project window"
msgstr "Створити знімок частини вікна проекту"
-#: src/Screenshot.cpp:378
+#: src/Screenshot.cpp:386
msgid "All Toolbars"
msgstr "Всі панелі інструментів"
-#: src/Screenshot.cpp:379
+#: src/Screenshot.cpp:387
msgid "SelectionBar"
msgstr "Панель вибору"
-#: src/Screenshot.cpp:380 src/toolbars/ToolsToolBar.cpp:78
+#: src/Screenshot.cpp:388 src/toolbars/ToolsToolBar.cpp:77
msgid "Tools"
msgstr "Інструменти"
-#: src/Screenshot.cpp:381 src/toolbars/ControlToolBar.cpp:95
-#: src/toolbars/ControlToolBar.cpp:269
+#: src/Screenshot.cpp:389 src/toolbars/ControlToolBar.cpp:99
+#: src/toolbars/ControlToolBar.cpp:271
msgid "Transport"
msgstr "Перенесення"
-#: src/Screenshot.cpp:387 src/toolbars/MixerToolBar.cpp:59
+#: src/Screenshot.cpp:395 src/toolbars/MixerToolBar.cpp:59
#: src/toolbars/MixerToolBar.cpp:197
msgid "Mixer"
msgstr "Мікшер"
-#: src/Screenshot.cpp:388 src/toolbars/MeterToolBar.cpp:172
-#: src/widgets/Meter.cpp:2192
+#: src/Screenshot.cpp:396 src/toolbars/MeterToolBar.cpp:172
+#: src/widgets/Meter.cpp:2222
msgid "Meter"
msgstr "Індикатор"
-#: src/Screenshot.cpp:389 src/toolbars/EditToolBar.cpp:79
+#: src/Screenshot.cpp:397 src/toolbars/EditToolBar.cpp:79
#: src/toolbars/EditToolBar.cpp:192
msgid "Edit"
msgstr "Змінити"
-#: src/Screenshot.cpp:390 src/toolbars/DeviceToolBar.cpp:62
+#: src/Screenshot.cpp:398 src/toolbars/DeviceToolBar.cpp:62
#: src/toolbars/DeviceToolBar.cpp:312
msgid "Device"
msgstr "Пристрій"
-#: src/Screenshot.cpp:391 src/toolbars/TranscriptionToolBar.cpp:92
-#: src/toolbars/TranscriptionToolBar.cpp:298
+#: src/Screenshot.cpp:399 src/toolbars/TranscriptionToolBar.cpp:92
+#: src/toolbars/TranscriptionToolBar.cpp:293
msgid "Transcription"
msgstr "Перезапис"
-#: src/Screenshot.cpp:397 src/TrackPanel.cpp:473 src/TrackPanel.cpp:474
+#: src/Screenshot.cpp:405 src/TrackPanel.cpp:440 src/TrackPanel.cpp:441
msgid "Track Panel"
msgstr "Панель доріжки"
-#: src/Screenshot.cpp:398
+#: src/Screenshot.cpp:406
msgid "Ruler"
msgstr "Лінійка"
-#: src/Screenshot.cpp:399 src/export/ExportMultiple.cpp:300
-#: src/export/ExportMultiple.cpp:301 src/prefs/TracksPrefs.cpp:34
+#: src/Screenshot.cpp:407 src/export/ExportMultiple.cpp:308
+#: src/export/ExportMultiple.cpp:309 src/prefs/TracksPrefs.cpp:34
msgid "Tracks"
msgstr "Доріжки"
-#: src/Screenshot.cpp:400
+#: src/Screenshot.cpp:408
msgid "First Track"
msgstr "Перша доріжка"
-#: src/Screenshot.cpp:401
+#: src/Screenshot.cpp:409
msgid "Second Track"
msgstr "Друга доріжка"
-#: src/Screenshot.cpp:407 src/prefs/SpectrumPrefs.cpp:170
+#: src/Screenshot.cpp:415 src/prefs/SpectrumPrefs.cpp:170
msgid "Scale"
msgstr "Масштаб"
-#: src/Screenshot.cpp:411
+#: src/Screenshot.cpp:419
msgid "One Sec"
msgstr "Одна секунда"
-#: src/Screenshot.cpp:412
+#: src/Screenshot.cpp:420
msgid "Ten Sec"
msgstr "Десять секунд"
-#: src/Screenshot.cpp:413
+#: src/Screenshot.cpp:421
msgid "One Min"
msgstr "Одна хвилина"
-#: src/Screenshot.cpp:414
+#: src/Screenshot.cpp:422
msgid "Five Min"
msgstr "П’ять хвилин"
-#: src/Screenshot.cpp:415
+#: src/Screenshot.cpp:423
msgid "One Hour"
msgstr "Одна година"
-#: src/Screenshot.cpp:421
+#: src/Screenshot.cpp:429
msgid "Short Tracks"
msgstr "Низькі доріжки"
-#: src/Screenshot.cpp:422
+#: src/Screenshot.cpp:430
msgid "Medium Tracks"
msgstr "Середні доріжки"
-#: src/Screenshot.cpp:423
+#: src/Screenshot.cpp:431
msgid "Tall Tracks"
msgstr "Високі доріжки"
-#: src/Screenshot.cpp:515
+#: src/Screenshot.cpp:524
msgid "Choose a location to save screenshot images"
msgstr "Оберіть адресу, за якою слід зберігати знімки"
-#: src/Sequence.cpp:1051
+#: src/Sequence.cpp:1050
#, c-format
msgid ""
-"Sequence has block file with length %s > mMaxSamples %s.\n"
-"Truncating to mMaxSamples."
+"Sequence has block file exceeding maximum %s samples per block.\n"
+"Truncating to this maximum length."
msgstr ""
-"У послідовності є блок-файл з тривалістю %s > mMaxSamples %s.\n"
-"Дані обрізано до mMaxSamples."
+"У послідовності даних є блок-файл, у якому перевищено максимальне припустиме "
+"значення у %s семплів на блок.\n"
+"Обрізаємо до цієї максимальної довжини."
-#: src/Sequence.cpp:1054
-msgid "Warning - Length in Writing Sequence"
-msgstr "Попередження: тривалість у послідовності запису"
+#: src/Sequence.cpp:1052
+msgid "Warning - Truncating Overlong Block File"
+msgstr "Попередження: обрізаємо надто довгий блок-файл"
-#: src/ShuttleGui.cpp:2178
-msgid "Pre&view"
-msgstr "&Прослухати"
+#: src/ShuttleGui.cpp:2177 src/effects/Effect.cpp:3044
+msgid "&Preview"
+msgstr "П&рослухати"
-#: src/ShuttleGui.cpp:2182
+#: src/ShuttleGui.cpp:2181
msgid "Dry Previe&w"
msgstr "Прослухати &без застосування"
-#: src/ShuttleGui.cpp:2188
+#: src/ShuttleGui.cpp:2187
msgid "&Settings"
msgstr "П&араметри"
-#: src/ShuttleGui.cpp:2219
+#: src/ShuttleGui.cpp:2218
msgid "Debu&g"
msgstr "Ді&агностика"
@@ -4925,109 +5023,109 @@ msgstr "Ласкаво просимо до Audacity!"
msgid "Don't show this again at start up"
msgstr "Не показувати цього знову під час запуску"
-#: src/Tags.cpp:570
+#: src/Tags.cpp:606
msgid "Artist Name"
msgstr "Ім'я виконавця"
-#: src/Tags.cpp:571
+#: src/Tags.cpp:607
msgid "Track Title"
msgstr "Назва доріжки"
-#: src/Tags.cpp:572
+#: src/Tags.cpp:608
msgid "Album Title"
msgstr "Назва альбому"
-#: src/Tags.cpp:573
+#: src/Tags.cpp:609
msgid "Track Number"
msgstr "Номер доріжки"
-#: src/Tags.cpp:574
+#: src/Tags.cpp:610
msgid "Year"
msgstr "Рік"
-#: src/Tags.cpp:575
+#: src/Tags.cpp:611
msgid "Genre"
msgstr "Жанр"
-#: src/Tags.cpp:576 src/prefs/MousePrefs.cpp:107
+#: src/Tags.cpp:612 src/prefs/MousePrefs.cpp:107
msgid "Comments"
msgstr "Коментарі"
-#: src/Tags.cpp:732
+#: src/Tags.cpp:771
msgid "Use arrow keys (or ENTER key after editing) to navigate fields."
msgstr ""
"Скористайтеся клавішами зі стрілочками (або клавішею Enter після завершення "
"редагування), щоб здійснювати навігацію полями."
-#: src/Tags.cpp:756
+#: src/Tags.cpp:794
msgid "Tag"
msgstr "Мітка"
-#: src/Tags.cpp:757
+#: src/Tags.cpp:795
msgid "Value"
msgstr "Значення"
-#: src/Tags.cpp:778
+#: src/Tags.cpp:816
msgid "Genres"
msgstr "Жанри"
-#: src/Tags.cpp:782
+#: src/Tags.cpp:820
msgid "E&dit..."
msgstr "&Змінити…"
-#: src/Tags.cpp:783
+#: src/Tags.cpp:821
msgid "Rese&t..."
msgstr "С&кинути…"
-#: src/Tags.cpp:788
+#: src/Tags.cpp:826
msgid "Template"
msgstr "Шаблон"
-#: src/Tags.cpp:792
+#: src/Tags.cpp:830
msgid "&Load..."
msgstr "&Завантажити…"
-#: src/Tags.cpp:795
+#: src/Tags.cpp:833
msgid "Set De&fault"
msgstr "Зробити &типовими"
-#: src/Tags.cpp:949
+#: src/Tags.cpp:987
msgid "Edit Genres"
msgstr "Редагувати жанри"
-#: src/Tags.cpp:983 src/Tags.cpp:1022
+#: src/Tags.cpp:1021 src/Tags.cpp:1060
msgid "Unable to save genre file."
msgstr "Не вдалося зберегти файл зі списком жанрів."
-#: src/Tags.cpp:983 src/Tags.cpp:995 src/Tags.cpp:1010 src/Tags.cpp:1022
+#: src/Tags.cpp:1021 src/Tags.cpp:1033 src/Tags.cpp:1048 src/Tags.cpp:1060
msgid "Reset Genres"
msgstr "Відновити жанри"
-#: src/Tags.cpp:994
+#: src/Tags.cpp:1032
msgid "Are you sure you want to reset the genre list to defaults?"
msgstr "Ви справді бажаєте відновити список жанрів до типового?"
-#: src/Tags.cpp:1010
+#: src/Tags.cpp:1048
msgid "Unable to open genre file."
msgstr "Не вдалося відкрити файл зі списком жанрів."
-#: src/Tags.cpp:1044
+#: src/Tags.cpp:1082
msgid "Load Metadata As:"
msgstr "Завантажити метадані як:"
-#: src/Tags.cpp:1069
+#: src/Tags.cpp:1107
msgid "Error Loading Metadata"
msgstr "Помилка під час завантаження метаданих"
-#: src/Tags.cpp:1098
+#: src/Tags.cpp:1136
msgid "Save Metadata As:"
msgstr "Зберегти метадані як:"
-#: src/Tags.cpp:1153
+#: src/Tags.cpp:1191
msgid "Error Saving Tags File"
msgstr "Помилка під час спроби запису файла міток"
-#: src/Theme.cpp:640
+#: src/Theme.cpp:642
#, c-format
msgid ""
"Audacity could not write file:\n"
@@ -5036,7 +5134,7 @@ msgstr ""
"Audacity не може записати файл:\n"
" %s."
-#: src/Theme.cpp:658
+#: src/Theme.cpp:660
#, c-format
msgid ""
"Audacity could not open file:\n"
@@ -5047,7 +5145,7 @@ msgstr ""
" %s\n"
"для запису."
-#: src/Theme.cpp:666
+#: src/Theme.cpp:668
#, c-format
msgid ""
"Audacity could not write images to file:\n"
@@ -5056,7 +5154,7 @@ msgstr ""
"Audacity не може записати зображення у файл:\n"
" %s."
-#: src/Theme.cpp:801
+#: src/Theme.cpp:803
#, c-format
msgid ""
"Audacity could not find file:\n"
@@ -5067,7 +5165,7 @@ msgstr ""
" %s.\n"
"Тему не завантажено."
-#: src/Theme.cpp:810 src/Theme.cpp:900
+#: src/Theme.cpp:812 src/Theme.cpp:902
#, c-format
msgid ""
"Audacity could not load file:\n"
@@ -5078,7 +5176,7 @@ msgstr ""
" %s.\n"
"Можливо неправильний формат png?"
-#: src/Theme.cpp:826
+#: src/Theme.cpp:828
msgid ""
"Audacity could not read its default theme.\n"
"Please report the problem."
@@ -5086,7 +5184,7 @@ msgstr ""
"Audacity не може прочитати свою типову тему.\n"
"Будь ласка, повідомте авторів про проблему."
-#: src/Theme.cpp:922
+#: src/Theme.cpp:924
#, c-format
msgid ""
"None of the expected theme component files\n"
@@ -5097,7 +5195,7 @@ msgstr ""
"які мали знаходитися у:\n"
" %s."
-#: src/Theme.cpp:946
+#: src/Theme.cpp:948
#, c-format
msgid ""
"Could not create directory:\n"
@@ -5106,7 +5204,18 @@ msgstr ""
"Не вдалося створити теку:\n"
" %s"
-#: src/Theme.cpp:967
+#: src/Theme.cpp:976
+#, c-format
+msgid ""
+"Some required files in:\n"
+" %s\n"
+"were already present. Overwrite?"
+msgstr ""
+"Деякі потрібні файли у:\n"
+" %s\n"
+"вже були наявні. Перезаписати їх?"
+
+#: src/Theme.cpp:993
#, c-format
msgid ""
"Audacity could not save file:\n"
@@ -5115,79 +5224,162 @@ msgstr ""
"Audacity не може зберегти файл:\n"
" %s"
-#: src/Theme.cpp:979
-#, c-format
-msgid ""
-"All required files in:\n"
-" %s\n"
-"were already present."
-msgstr ""
-"Всі потрібні файли у:\n"
-" %s\n"
-"вже були присутні."
-
-#: src/TimeDialog.h:31 src/TimerRecordDialog.cpp:257
-#: src/TimerRecordDialog.cpp:399 src/TimerRecordDialog.cpp:412
-#: src/effects/DtmfGen.cpp:325 src/effects/Noise.cpp:238
-#: src/effects/Silence.cpp:71 src/effects/ToneGen.cpp:408
-#: src/effects/VST/VSTEffect.cpp:2892 src/effects/ladspa/LadspaEffect.cpp:1215
-#: src/effects/lv2/LV2Effect.cpp:1622
+#: src/TimeDialog.h:31 src/TimerRecordDialog.cpp:853
+#: src/TimerRecordDialog.cpp:865 src/effects/DtmfGen.cpp:325
+#: src/effects/Noise.cpp:238 src/effects/Silence.cpp:71
+#: src/effects/ToneGen.cpp:408 src/effects/VST/VSTEffect.cpp:2892
+#: src/effects/ladspa/LadspaEffect.cpp:1221 src/effects/lv2/LV2Effect.cpp:1617
msgid "Duration"
msgstr "Тривалість"
#. i18n-hint: This is for screen reader software and indicates that
#. this is a Time track.
-#: src/TimeTrack.cpp:55 src/TrackPanelAx.cpp:319
+#: src/TimeTrack.cpp:55 src/TrackPanelAx.cpp:303
msgid "Time Track"
msgstr "Доріжка часу"
-#: src/TimerRecordDialog.cpp:72
+#: src/TimerRecordDialog.cpp:142
msgid "Audacity Timer Record"
msgstr "Таймер запису Audacity"
-#: src/TimerRecordDialog.cpp:218
+#: src/TimerRecordDialog.cpp:308
+msgid ""
+"The selected file name could not be used\n"
+"for Timer Recording because it would overwrite another project.\n"
+"Please try again and select an original name."
+msgstr ""
+"Вибрану назву файла не може бути використано для запису за\n"
+"таймером, оскільки її використання призведе до перезапису іншого\n"
+"проекту. Будь ласка, виберіть якусь іншу назву."
+
+#: src/TimerRecordDialog.cpp:309
+msgid "Error Saving Timer Recording Project"
+msgstr "Помилка під час спроби збереження файла проекту запису за таймером"
+
+#: src/TimerRecordDialog.cpp:362
+msgid "Less than 1 minute"
+msgstr "Менше за хвилину"
+
+#: src/TimerRecordDialog.cpp:372
+msgid "1 hour and "
+msgstr "1 година і "
+
+#: src/TimerRecordDialog.cpp:375
+#, c-format
+msgid "%d hours and"
+msgstr "%d годин і"
+
+#: src/TimerRecordDialog.cpp:380
+msgid "1 minute"
+msgstr "1 хвилина"
+
+#: src/TimerRecordDialog.cpp:383
+#, c-format
+msgid "%d minutes"
+msgstr "%d хвилин"
+
+#: src/TimerRecordDialog.cpp:396
msgid "Duration is zero. Nothing will be recorded."
msgstr "Тривалість є нульовою. Нічого не записано."
-#: src/TimerRecordDialog.cpp:219
+#: src/TimerRecordDialog.cpp:397
msgid "Error in Duration"
msgstr "Помилка під час визначення тривалості"
-#: src/TimerRecordDialog.cpp:254
-msgid "Recording start"
-msgstr "Початок запису"
+#: src/TimerRecordDialog.cpp:405
+msgid "Automatic Save path is invalid."
+msgstr "Шлях автоматичного збереження є некоректним."
-#: src/TimerRecordDialog.cpp:255
-msgid "Recording end"
-msgstr "Кінець запису"
+#: src/TimerRecordDialog.cpp:406
+msgid "Error in Automatic Save"
+msgstr "Помилка під час автоматичного збереження"
-#: src/TimerRecordDialog.cpp:261
+#: src/TimerRecordDialog.cpp:412
+msgid "Automatic Export path is invalid."
+msgstr "Шлях автоматичного експортування є некоректним."
+
+#: src/TimerRecordDialog.cpp:413
+msgid "Error in Automatic Export"
+msgstr "Помилка під час автоматичного експортування"
+
+#: src/TimerRecordDialog.cpp:450
+msgid "Timer Recording Disk Space Warning"
+msgstr "Попередження щодо місця на диску для записів за таймером"
+
+#: src/TimerRecordDialog.cpp:492 src/TimerRecordDialog.cpp:889
+msgid "Current Project"
+msgstr "Поточний проект"
+
+#: src/TimerRecordDialog.cpp:554
+#, c-format
+msgid "Recording start:\t\t\t%s\n"
+msgstr "Початок запису:\t\t\t%s\n"
+
+#: src/TimerRecordDialog.cpp:555
+#, c-format
+msgid "Duration:\t\t\t%s\n"
+msgstr "Тривалість:\t\t\t%s\n"
+
+#: src/TimerRecordDialog.cpp:556
+#, c-format
+msgid ""
+"Recording end:\t\t\t%s\n"
+"\n"
+msgstr ""
+"Завершення запису:\t\t\t%s\n"
+"\n"
+
+#: src/TimerRecordDialog.cpp:557 src/TimerRecordDialog.cpp:1027
+#, c-format
+msgid "Automatic Save enabled:\t\t%s\n"
+msgstr "Увімкнено автоматичне збереження:\t\t%s\n"
+
+#: src/TimerRecordDialog.cpp:558 src/TimerRecordDialog.cpp:1028
+#, c-format
+msgid "Automatic Export enabled:\t\t%s\n"
+msgstr "Увімкнено автоматичне експортування:\t\t%s\n"
+
+#: src/TimerRecordDialog.cpp:559 src/TimerRecordDialog.cpp:1029
+#: src/TimerRecordDialog.cpp:1067
+#, c-format
+msgid "Action after Timer Recording:\t%s"
+msgstr "Дія після записування за таймером:\t%s"
+
+#: src/TimerRecordDialog.cpp:569
msgid "Audacity Timer Record Progress"
msgstr "Поступ запису за таймером Audacity"
+#: src/TimerRecordDialog.cpp:642
+msgid "Timer Recording stopped."
+msgstr "Запис за таймером зупинено."
+
+#: src/TimerRecordDialog.cpp:643
+msgid "Timer Recording completed."
+msgstr "Запис за таймером завершено."
+
#. i18n-hint: This string is used to configure the controls for times when the recording is
#. * started and stopped. As such it is important that only the alphabetic parts of the string
#. * are translated, with the numbers left exactly as they are.
#. * The 'h' indicates the first number displayed is hours, the 'm' indicates the second number
#. * displayed is minutes, and the 's' indicates that the third number displayed is seconds.
#.
-#: src/TimerRecordDialog.cpp:355
+#: src/TimerRecordDialog.cpp:803
msgid "099 h 060 m 060 s"
msgstr "099 г 060 хв 060 с"
-#: src/TimerRecordDialog.cpp:356
+#: src/TimerRecordDialog.cpp:804
msgid "Start Date and Time"
msgstr "Дата та час початку"
-#: src/TimerRecordDialog.cpp:363
+#: src/TimerRecordDialog.cpp:811
msgid "Start Date"
msgstr "Дата початку"
-#: src/TimerRecordDialog.cpp:378
+#: src/TimerRecordDialog.cpp:829
msgid "End Date and Time"
msgstr "Дата і час кінця"
-#: src/TimerRecordDialog.cpp:386
+#: src/TimerRecordDialog.cpp:837
msgid "End Date"
msgstr "Дата закінчення"
@@ -5199,138 +5391,216 @@ msgstr "Дата закінчення"
#. * number displayed is minutes, and the 's' indicates that the fourth number displayed is
#. * seconds.
#.
-#: src/TimerRecordDialog.cpp:409
+#: src/TimerRecordDialog.cpp:863
msgid "099 days 024 h 060 m 060 s"
msgstr "099 днів 024 г 060 хв 060 с"
-#. i18n-hint: A time specification like "Sunday 28th October 2007 15:16:17 GMT"
-#. * but hopefully translated by wxwidgets will be inserted into this
-#: src/TimerRecordDialog.cpp:484
-#, c-format
-msgid "Waiting to start recording at %s.\n"
-msgstr "Очікування на початок запису о %s.\n"
+#: src/TimerRecordDialog.cpp:877
+msgid "Automatic Save"
+msgstr "Автоматичне збереження"
-#: src/TimerRecordDialog.cpp:490
+#: src/TimerRecordDialog.cpp:880
+msgid "Enable &Automatic Save?"
+msgstr "Увімкнути &автоматичне збереження?"
+
+#: src/TimerRecordDialog.cpp:891 src/TimerRecordDialog.cpp:892
+msgid "Save Project As:"
+msgstr "Зберегти проект як:"
+
+#: src/TimerRecordDialog.cpp:895 src/TimerRecordDialog.cpp:910
+msgid "Select..."
+msgstr "Вибрати…"
+
+#: src/TimerRecordDialog.cpp:901
+msgid "Automatic Export"
+msgstr "Автоматичне експортування"
+
+#: src/TimerRecordDialog.cpp:903
+msgid "Enable Automatic &Export?"
+msgstr "Увімкнути автоматичне &експортування?"
+
+#: src/TimerRecordDialog.cpp:906 src/TimerRecordDialog.cpp:907
+msgid "Export Project As:"
+msgstr "Експортувати проект як:"
+
+#: src/TimerRecordDialog.cpp:916
+msgid "Options"
+msgstr "Параметри"
+
+#: src/TimerRecordDialog.cpp:920
+msgid "Do nothing"
+msgstr "Нічого не робити"
+
+#: src/TimerRecordDialog.cpp:921
+msgid "Exit audacity"
+msgstr "Вийти з Audacity"
+
+#: src/TimerRecordDialog.cpp:922
+msgid "Restart system"
+msgstr "Перезапустити систему"
+
+#: src/TimerRecordDialog.cpp:923
+msgid "Shutdown system"
+msgstr "Вимкнути систему"
+
+#: src/TimerRecordDialog.cpp:933
+msgid "After Recording completes:"
+msgstr "Після завершення запису:"
+
+#: src/TimerRecordDialog.cpp:1024
+#, c-format
+msgid "Waiting to start recording at:\t%s\n"
+msgstr "Очікуємо на початок запису о:\t%s\n"
+
+#: src/TimerRecordDialog.cpp:1025
+#, c-format
+msgid "Recording duration:\t\t%s\n"
+msgstr "Тривалість запису:\t\t%s\n"
+
+#: src/TimerRecordDialog.cpp:1026
+#, c-format
+msgid ""
+"Scheduled to stop at:\t\t%s\n"
+"\n"
+msgstr ""
+"Заплановано зупинку о:\t\t%s\n"
+"\n"
+
+#: src/TimerRecordDialog.cpp:1040
msgid "Audacity Timer Record - Waiting for Start"
msgstr "Запис за таймером Audacity — Очікування початку"
-#: src/TrackPanel.cpp:711
+#: src/TimerRecordDialog.cpp:1043
+msgid "Recording will commence in:"
+msgstr "Запис буде почато за:"
+
+#: src/TimerRecordDialog.cpp:1064
+msgid ""
+"Timer Recording completed.\n"
+"\n"
+msgstr ""
+"Запис за таймером завершено.\n"
+"\n"
+
+#: src/TimerRecordDialog.cpp:1065
+#, c-format
+msgid "Recording Saved:\t\t\t%s\n"
+msgstr "Запис збережено:\t\t\t%s\n"
+
+#: src/TimerRecordDialog.cpp:1066
+#, c-format
+msgid "Recording Exported:\t\t%s\n"
+msgstr "Запис експортовано:\t\t%s\n"
+
+#: src/TimerRecordDialog.cpp:1077
+msgid "Audacity Timer Record - Waiting"
+msgstr "Запис за таймером Audacity — очікування"
+
+#: src/TrackPanel.cpp:616
msgid "&Other..."
msgstr "&Інше…"
-#: src/TrackPanel.cpp:721
+#: src/TrackPanel.cpp:626
msgid "Wa&veform"
msgstr "&Хвиля"
-#: src/TrackPanel.cpp:722
+#: src/TrackPanel.cpp:627
msgid "&Waveform (dB)"
msgstr "&Хвиля (дБ)"
-#: src/TrackPanel.cpp:723
+#: src/TrackPanel.cpp:628
msgid "&Spectrogram"
msgstr "Спек&трограма"
-#: src/TrackPanel.cpp:724
+#: src/TrackPanel.cpp:629
msgid "S&pectrogram Settings..."
msgstr "Пара&метри спектрограми…"
-#: src/TrackPanel.cpp:729
+#: src/TrackPanel.cpp:634
msgid "&Mono"
msgstr "&Моно"
-#: src/TrackPanel.cpp:730
+#: src/TrackPanel.cpp:635
msgid "&Left Channel"
msgstr "&Лівий канал"
-#: src/TrackPanel.cpp:731
+#: src/TrackPanel.cpp:636
msgid "&Right Channel"
msgstr "&Правий канал"
-#: src/TrackPanel.cpp:732
+#: src/TrackPanel.cpp:637
msgid "Ma&ke Stereo Track"
msgstr "З&робити доріжку стереофонічною"
-#: src/TrackPanel.cpp:733
+#: src/TrackPanel.cpp:638
msgid "Swap Stereo &Channels"
msgstr "Поміняти місцями &канали стерео"
-#: src/TrackPanel.cpp:734
+#: src/TrackPanel.cpp:639
msgid "Spl&it Stereo Track"
msgstr "Роз&ділити стереодоріжку"
-#: src/TrackPanel.cpp:735
+#: src/TrackPanel.cpp:640
msgid "Split Stereo to Mo&no"
msgstr "Поділити стерео на &моно"
-#: src/TrackPanel.cpp:738
+#: src/TrackPanel.cpp:643
msgid "&Format"
msgstr "&Формат"
-#: src/TrackPanel.cpp:742
+#: src/TrackPanel.cpp:647
msgid "Rat&e"
msgstr "Встановити &частоту"
-#: src/TrackPanel.cpp:747
+#: src/TrackPanel.cpp:652
msgid "Up &Octave"
msgstr "Октаво&ю вище"
-#: src/TrackPanel.cpp:748
+#: src/TrackPanel.cpp:653
msgid "Down Octa&ve"
msgstr "О&ктавою нижче"
-#: src/TrackPanel.cpp:753
+#: src/TrackPanel.cpp:658
msgid "&Font..."
msgstr "&Шрифт…"
-#: src/TrackPanel.cpp:758
+#: src/TrackPanel.cpp:663
msgid "&Linear"
msgstr "&Лінійний"
-#: src/TrackPanel.cpp:759
+#: src/TrackPanel.cpp:664
msgid "L&ogarithmic"
msgstr "Л&огарифмічний"
-#: src/TrackPanel.cpp:761
+#: src/TrackPanel.cpp:666
msgid "&Range..."
msgstr "&Діапазон…"
-#: src/TrackPanel.cpp:762
+#: src/TrackPanel.cpp:667
msgid "Logarithmic &Interpolation"
msgstr "Логарифмічна &інтерполяція"
-#: src/TrackPanel.cpp:777
+#: src/TrackPanel.cpp:684
msgid "&Name..."
msgstr "&Назва…"
-#: src/TrackPanel.cpp:779
+#: src/TrackPanel.cpp:688
msgid "Move Track &Up"
msgstr "Пересунути доріжку &вище"
-#: src/TrackPanel.cpp:781
+#: src/TrackPanel.cpp:690
msgid "Move Track &Down"
msgstr "Перемістити доріжку в&низ"
-#: src/TrackPanel.cpp:783
+#: src/TrackPanel.cpp:692
msgid "Move Track to &Top"
msgstr "Пересунути доріжку &нижче"
-#: src/TrackPanel.cpp:785
+#: src/TrackPanel.cpp:694
msgid "Move Track to &Bottom"
msgstr "Пересунути доріжку у &кінець"
-#: src/TrackPanel.cpp:799
-msgid "Zoom In\tLeft-Click/Left-Drag"
-msgstr "Збільшити\tКлацання лівою/Перетягування лівою кнопкою"
-
-#: src/TrackPanel.cpp:800
-msgid "Zoom Out\tShift-Left-Click"
-msgstr "Зменшити\tShift і клацання лівою"
-
-#: src/TrackPanel.cpp:801
-msgid "Zoom to Fit\tShift-Right-Click"
-msgstr "Підібрати за розміром\tShift і клацання правою"
-
-#: src/TrackPanel.cpp:1683
+#: src/TrackPanel.cpp:1356
msgid ""
"Click to vertically zoom in. Shift-click to zoom out. Drag to specify a zoom "
"region."
@@ -5338,7 +5608,7 @@ msgstr ""
"Клацання — вертикальне збільшення, Shift+клацання — зменшення, перетягування "
"— визначення області масштабування."
-#: src/TrackPanel.cpp:1688
+#: src/TrackPanel.cpp:1361
msgid ""
"Click to verticaly zoom in, Shift-click to zoom out, Drag to create a "
"particular zoom region."
@@ -5346,93 +5616,93 @@ msgstr ""
"Клацання — вертикальне збільшення, Shift+клацання — зменшення, перетягування "
"з натиснутою кнопкою — вибір області масштабування."
-#: src/TrackPanel.cpp:1694
+#: src/TrackPanel.cpp:1367
msgid "Drag the track vertically to change the order of the tracks."
msgstr ""
"Щоб змінити порядок представлення доріжок, перетягніть цю доріжку вгору/вниз."
-#: src/TrackPanel.cpp:1708
+#: src/TrackPanel.cpp:1381
msgid "Click and drag to adjust relative size of stereo tracks."
msgstr ""
"Клацніть та перетягніть позначку для коригування відносного розміру "
"стереодоріжок."
-#: src/TrackPanel.cpp:1711
+#: src/TrackPanel.cpp:1384
msgid "Click and drag to resize the track."
msgstr "Клацніть та перетягніть для зміни розміру доріжки."
-#: src/TrackPanel.cpp:1742
+#: src/TrackPanel.cpp:1415
msgid "Drag one or more label boundaries."
msgstr "Перетягнути одну чи більше меж позначок."
-#: src/TrackPanel.cpp:1743
+#: src/TrackPanel.cpp:1416
msgid "Drag label boundary."
msgstr "Перетягнути межу позначки."
-#: src/TrackPanel.cpp:1788 src/TrackPanel.cpp:1795
+#: src/TrackPanel.cpp:1461 src/TrackPanel.cpp:1468
msgid "Click and drag to move center selection frequency."
msgstr ""
"Затисніть кнопку миші і перетягніть вказівник для пересування середини "
"діапазону частот."
-#: src/TrackPanel.cpp:1789
+#: src/TrackPanel.cpp:1462
msgid "Click and drag to move center selection frequency to a spectral peak."
msgstr ""
"Затисніть кнопку миші і перетягніть вказівник для пересування середини "
"діапазону частот до спектрального піка."
#. i18n-hint: These are the names of a menu and a command in that menu
-#: src/TrackPanel.cpp:1846
+#: src/TrackPanel.cpp:1519
msgid "Edit, Preferences..."
msgstr "Зміни, Параметри…"
-#: src/TrackPanel.cpp:1851
+#: src/TrackPanel.cpp:1524
#, c-format
msgid "Multi-Tool Mode: %s for Mouse and Keyboard Preferences."
msgstr ""
"Універсальний інструмент: натисніть %s для налаштовування миші та клавіатури"
-#: src/TrackPanel.cpp:1882
+#: src/TrackPanel.cpp:1555
msgid "Click and drag to set frequency bandwidth."
msgstr ""
"Натисніть кнопку миші і перетягніть вказівник, щоб встановити смугу частот."
-#: src/TrackPanel.cpp:1908
+#: src/TrackPanel.cpp:1575
msgid "Click and drag to stretch within selected region."
msgstr ""
"Натисніть кнопку миші і перетягніть вказівник, щоб розтягнути позначену "
"ділянку."
-#: src/TrackPanel.cpp:1923
+#: src/TrackPanel.cpp:1590
msgid "Click to move selection boundary to cursor."
msgstr "Клацніть, щоб пересунути межу позначеного у позицію вказівника."
-#: src/TrackPanel.cpp:1929
+#: src/TrackPanel.cpp:1596
msgid "Click and drag to move left selection boundary."
msgstr "Клацніть та перетягніть для переміщення лівої межі вибраної ділянки."
-#: src/TrackPanel.cpp:1933
+#: src/TrackPanel.cpp:1600
msgid "Click and drag to move right selection boundary."
msgstr "Клацніть та перетягніть для переміщення правої межі вибраної ділянки."
-#: src/TrackPanel.cpp:1938
+#: src/TrackPanel.cpp:1605
msgid "Click and drag to move bottom selection frequency."
msgstr ""
"Затисніть кнопку миші і перетягніть вказівник для пересування нижньої "
"частоти."
-#: src/TrackPanel.cpp:1942
+#: src/TrackPanel.cpp:1609
msgid "Click and drag to move top selection frequency."
msgstr ""
"Затисніть кнопку миші і перетягніть вказівник для пересування верхньої "
"частоти."
-#: src/TrackPanel.cpp:1949
+#: src/TrackPanel.cpp:1616
msgid "Click and drag to adjust frequency bandwidth."
msgstr ""
"Затисніть кнопку миші і перетягніть вказівник для коригування смуги частот."
-#: src/TrackPanel.cpp:2697 src/TrackPanel.cpp:2705
+#: src/TrackPanel.cpp:2072 src/TrackPanel.cpp:2080
msgid "Click and drag to stretch selected region."
msgstr ""
"Натисніть кнопку миші і перетягніть вказівник, щоб розширити позначену "
@@ -5440,7 +5710,7 @@ msgstr ""
#. i18n-hint: (noun) The track that is used for MIDI notes which can be
#. dragged to change their duration.
-#: src/TrackPanel.cpp:2740 src/TrackPanel.cpp:3308
+#: src/TrackPanel.cpp:2115 src/TrackPanel.cpp:2683
msgid "Stretch Note Track"
msgstr "Розтягнути нотну доріжку"
@@ -5448,303 +5718,303 @@ msgstr "Розтягнути нотну доріжку"
#. been dragged to change its duration (stretch it). Using either past
#. or present tense is fine here. If unsure, go for whichever is
#. shorter.
-#: src/TrackPanel.cpp:2745 src/TrackPanel.cpp:3308
+#: src/TrackPanel.cpp:2120 src/TrackPanel.cpp:2683
msgid "Stretch"
msgstr "Розтягнути"
#. i18n-hint: (verb) Audacity has just adjusted the envelope .
-#: src/TrackPanel.cpp:3654
+#: src/TrackPanel.cpp:3026
msgid "Adjusted envelope."
msgstr "Обвідна скорегована."
#. i18n-hint: The envelope is a curve that controls the audio loudness.
-#: src/TrackPanel.cpp:3656 src/prefs/MousePrefs.cpp:144
+#: src/TrackPanel.cpp:3028 src/prefs/MousePrefs.cpp:137
msgid "Envelope"
msgstr "Обвідна"
-#: src/TrackPanel.cpp:3825
+#: src/TrackPanel.cpp:3197
msgid "Moved clips to another track"
msgstr "Кліпи пересунуто до іншої доріжки"
#. i18n-hint: a direction as in left or right.
-#: src/TrackPanel.cpp:3831
+#: src/TrackPanel.cpp:3203
msgid "right"
msgstr "правий"
#. i18n-hint: a direction as in left or right.
-#: src/TrackPanel.cpp:3833
+#: src/TrackPanel.cpp:3205
msgid "left"
msgstr "лівий"
#. i18n-hint: %s is a direction like left or right
-#: src/TrackPanel.cpp:3835
+#: src/TrackPanel.cpp:3207
#, c-format
msgid "Time shifted tracks/clips %s %.02f seconds"
msgstr "Доріжку/область зміщено на %s %.02f секунд"
-#: src/TrackPanel.cpp:3839 src/prefs/MousePrefs.cpp:138
-#: src/prefs/MousePrefs.cpp:139 src/prefs/MousePrefs.cpp:140
+#: src/TrackPanel.cpp:3211 src/prefs/MousePrefs.cpp:131
+#: src/prefs/MousePrefs.cpp:132 src/prefs/MousePrefs.cpp:133
msgid "Time-Shift"
msgstr "Зсув у часі"
-#: src/TrackPanel.cpp:4913
+#: src/TrackPanel.cpp:4285
msgid "To use Draw, choose 'Waveform' in the Track Drop-down Menu."
msgstr ""
"Щоб використати Малювання, виберіть пункт «Форма хвилі» у спадному меню "
"доріжки."
-#: src/TrackPanel.cpp:4932
+#: src/TrackPanel.cpp:4304
msgid "To use Draw, zoom in further until you can see the individual samples."
msgstr ""
"Щоб використати Малювання, збільшуйте частину доріжки, аж доки не побачите "
"окремі фрагменти."
-#: src/TrackPanel.cpp:5177
+#: src/TrackPanel.cpp:4549
msgid "Moved Samples"
msgstr "Пересунуті семли"
-#: src/TrackPanel.cpp:5178
+#: src/TrackPanel.cpp:4550
msgid "Sample Edit"
msgstr "Редагування семплу"
-#: src/TrackPanel.cpp:5432
+#: src/TrackPanel.cpp:4804
msgid "Moved velocity slider"
msgstr "Пересунуто повзунок швидкості"
-#: src/TrackPanel.cpp:5609
+#: src/TrackPanel.cpp:4999
msgid "up"
msgstr "вгору"
-#: src/TrackPanel.cpp:5609
+#: src/TrackPanel.cpp:4999
msgid "down"
msgstr "вниз"
-#: src/TrackPanel.cpp:5610
+#: src/TrackPanel.cpp:5000
#, c-format
msgid "Moved '%s' %s"
msgstr "Переміщено «%s» %s"
-#: src/TrackPanel.cpp:6721
+#: src/TrackPanel.cpp:6137
msgid "Expanded Cut Line"
msgstr "Розширена лінія розрізу"
-#: src/TrackPanel.cpp:6721
+#: src/TrackPanel.cpp:6137
msgid "Expand"
msgstr "Розгорнути"
-#: src/TrackPanel.cpp:6741
+#: src/TrackPanel.cpp:6157
msgid "Merged Clips"
msgstr "Об'єднані фрагменти"
-#: src/TrackPanel.cpp:6741
+#: src/TrackPanel.cpp:6157
msgid "Merge"
msgstr "Об'єднати"
-#: src/TrackPanel.cpp:6752
+#: src/TrackPanel.cpp:6168
msgid "Removed Cut Line"
msgstr "Вилучено лінію розрізу"
-#: src/TrackPanel.cpp:6752 src/effects/EffectRack.cpp:244
+#: src/TrackPanel.cpp:6168 src/effects/EffectRack.cpp:244
msgid "Remove"
msgstr "Вилучити"
-#: src/TrackPanel.cpp:8661 src/TrackPanel.cpp:8664
+#: src/TrackPanel.cpp:7791 src/TrackPanel.cpp:7794
msgid "Stereo, "
msgstr "Стерео, "
-#: src/TrackPanel.cpp:8668
+#: src/TrackPanel.cpp:7798
msgid "Mono, "
msgstr "Моно, "
-#: src/TrackPanel.cpp:8670
+#: src/TrackPanel.cpp:7800
msgid "Left, "
msgstr "Лівий, "
-#: src/TrackPanel.cpp:8672
+#: src/TrackPanel.cpp:7802
msgid "Right, "
msgstr "Правий, "
-#: src/TrackPanel.cpp:8684
+#: src/TrackPanel.cpp:7814
msgid "Left Channel"
msgstr "Лівий канал"
-#: src/TrackPanel.cpp:8684
+#: src/TrackPanel.cpp:7814
msgid "Right Channel"
msgstr "Правий канал"
-#: src/TrackPanel.cpp:8685
+#: src/TrackPanel.cpp:7815
msgid "Mono"
msgstr "Моно"
-#: src/TrackPanel.cpp:8694 src/TrackPanel.cpp:9003
+#: src/TrackPanel.cpp:7824 src/TrackPanel.cpp:8137
#, c-format
msgid "Changed '%s' to %s"
msgstr "«%s» змінено на %s"
-#: src/TrackPanel.cpp:8697
+#: src/TrackPanel.cpp:7827
msgid "Channel"
msgstr "Канал"
-#: src/TrackPanel.cpp:8724
+#: src/TrackPanel.cpp:7854
#, c-format
msgid "Swapped Channels in '%s'"
msgstr "Виконано обмін каналів у «%s»"
-#: src/TrackPanel.cpp:8726
+#: src/TrackPanel.cpp:7856
msgid "Swap Channels"
msgstr "Обмін каналів"
-#: src/TrackPanel.cpp:8734
+#: src/TrackPanel.cpp:7864
#, c-format
msgid "Split stereo track '%s'"
msgstr "Розділити стереодоріжку «%s»"
-#: src/TrackPanel.cpp:8743
+#: src/TrackPanel.cpp:7873
#, c-format
msgid "Split Stereo to Mono '%s'"
msgstr "Поділити стерео на моно «%s»"
-#: src/TrackPanel.cpp:8745
+#: src/TrackPanel.cpp:7875
msgid "Split to Mono"
msgstr "Розділити на моно"
-#: src/TrackPanel.cpp:8838
+#: src/TrackPanel.cpp:7968
#, c-format
msgid "Made '%s' a stereo track"
msgstr "Зробити «%s» стереодоріжку"
-#: src/TrackPanel.cpp:8841
+#: src/TrackPanel.cpp:7971
msgid "Make Stereo"
msgstr "Зробити стереофонічною"
-#: src/TrackPanel.cpp:8960
+#: src/TrackPanel.cpp:8092
#, c-format
msgid "Changed '%s' to %s Hz"
msgstr "«%s» змінено на %s Гц"
-#: src/TrackPanel.cpp:8962
+#: src/TrackPanel.cpp:8094
msgid "Rate Change"
msgstr "Змінити частоту"
-#: src/TrackPanel.cpp:9007
+#: src/TrackPanel.cpp:8141
msgid "Format Change"
msgstr "Зміна формату"
-#: src/TrackPanel.cpp:9094
+#: src/TrackPanel.cpp:8232
msgid "Set Rate"
msgstr "Встановити частоту дискретизації"
-#: src/TrackPanel.cpp:9171
+#: src/TrackPanel.cpp:8309
msgid "Change lower speed limit (%) to:"
msgstr "Змінити нижню межу швидкості (%) на:"
-#: src/TrackPanel.cpp:9172 src/TrackPanel.cpp:9173
+#: src/TrackPanel.cpp:8310 src/TrackPanel.cpp:8311
msgid "Lower speed limit"
msgstr "Межа зниження швидкості"
-#: src/TrackPanel.cpp:9178
+#: src/TrackPanel.cpp:8316
msgid "Change upper speed limit (%) to:"
msgstr "Змінити верхню межу швидкості (%) на:"
-#: src/TrackPanel.cpp:9179 src/TrackPanel.cpp:9180
+#: src/TrackPanel.cpp:8317 src/TrackPanel.cpp:8318
msgid "Upper speed limit"
msgstr "Верхня межа швидкості"
-#: src/TrackPanel.cpp:9188
+#: src/TrackPanel.cpp:8326
#, c-format
msgid "Set range to '%ld' - '%ld'"
msgstr "Встановити межу як '%ld' — '%ld'"
#. i18n-hint: (verb)
-#: src/TrackPanel.cpp:9193
+#: src/TrackPanel.cpp:8331
msgid "Set Range"
msgstr "Встановити діапазон"
-#: src/TrackPanel.cpp:9204
+#: src/TrackPanel.cpp:8342
msgid "Set time track display to linear"
msgstr "Встановити лінійний режим показу на доріжці"
-#: src/TrackPanel.cpp:9204 src/TrackPanel.cpp:9213
+#: src/TrackPanel.cpp:8342 src/TrackPanel.cpp:8351
msgid "Set Display"
msgstr "Встановити режим показу"
-#: src/TrackPanel.cpp:9213
+#: src/TrackPanel.cpp:8351
msgid "Set time track display to logarithmic"
msgstr "Встановити логарифмічний режим показу на доріжці"
-#: src/TrackPanel.cpp:9222
+#: src/TrackPanel.cpp:8360
msgid "Set time track interpolation to linear"
msgstr "Встановити лінійний режим інтерполяції"
-#: src/TrackPanel.cpp:9222 src/TrackPanel.cpp:9225
+#: src/TrackPanel.cpp:8360 src/TrackPanel.cpp:8363
msgid "Set Interpolation"
msgstr "Встановити режим інтерполяції"
-#: src/TrackPanel.cpp:9225
+#: src/TrackPanel.cpp:8363
msgid "Set time track interpolation to logarithmic"
msgstr "Встановити логарифмічний режим інтерполяції"
-#: src/TrackPanel.cpp:9331
+#: src/TrackPanel.cpp:8469
msgid "Change track name to:"
msgstr "Змінити назву доріжки на:"
-#: src/TrackPanel.cpp:9332
+#: src/TrackPanel.cpp:8470
msgid "Track Name"
msgstr "Назва доріжки"
-#: src/TrackPanel.cpp:9345
+#: src/TrackPanel.cpp:8483
#, c-format
msgid "Renamed '%s' to '%s'"
msgstr "Назву змінено з «%s» на «%s»"
-#: src/TrackPanel.cpp:9348
+#: src/TrackPanel.cpp:8486
msgid "Name Change"
msgstr "Зміна назви"
#. i18n-hint: (noun) This is the font for the label track.
-#: src/TrackPanel.cpp:9384
+#: src/TrackPanel.cpp:8522
msgid "Label Track Font"
msgstr "Шрифт доріжки для позначок"
#. i18n-hint: (noun) The name of the typeface
-#: src/TrackPanel.cpp:9398 src/TrackPanel.cpp:9405
+#: src/TrackPanel.cpp:8536 src/TrackPanel.cpp:8543
msgid "Face name"
msgstr "Назва шрифту"
#. i18n-hint: (noun) The size of the typeface
-#: src/TrackPanel.cpp:9410 src/TrackPanel.cpp:9417
+#: src/TrackPanel.cpp:8548 src/TrackPanel.cpp:8555
msgid "Face size"
msgstr "Розмір шрифту"
-#: src/TrackPanel.cpp:9677
+#: src/TrackPanel.cpp:9189
msgid "Stereo, 999999Hz"
msgstr "Стерео, 999999Гц"
-#: src/TrackPanelAx.cpp:290 src/TrackPanelAx.cpp:482
+#: src/TrackPanelAx.cpp:274 src/TrackPanelAx.cpp:466
msgid "TrackView"
msgstr "ПереглядДоріжки"
#. i18n-hint: The %d is replaced by th enumber of the track.
-#: src/TrackPanelAx.cpp:306 src/TrackPanelAx.cpp:497
+#: src/TrackPanelAx.cpp:290 src/TrackPanelAx.cpp:481
#, c-format
msgid "Track %d"
msgstr "Доріжка %d"
#. i18n-hint: This is for screen reader software and indicates that
#. on this track mute is on.
-#: src/TrackPanelAx.cpp:339 src/TrackPanelAx.cpp:503
+#: src/TrackPanelAx.cpp:323 src/TrackPanelAx.cpp:487
msgid " Mute On"
msgstr "Тихо"
#. i18n-hint: This is for screen reader software and indicates that
#. on this track solo is on.
-#: src/TrackPanelAx.cpp:346 src/TrackPanelAx.cpp:508
+#: src/TrackPanelAx.cpp:330 src/TrackPanelAx.cpp:492
msgid " Solo On"
msgstr " Соло увімкнено"
#. i18n-hint: This is for screen reader software and indicates that
#. this track is selected.
-#: src/TrackPanelAx.cpp:352 src/TrackPanelAx.cpp:512
+#: src/TrackPanelAx.cpp:336 src/TrackPanelAx.cpp:496
msgid " Select On"
msgstr " Вибір увімкнено"
@@ -5752,7 +6022,7 @@ msgstr " Вибір увімкнено"
#. this track is shown with a sync-locked icon.
#. The absence of a dash between Sync and Locked is deliberate -
#. if present, Jaws reads it as "dash".
-#: src/TrackPanelAx.cpp:360
+#: src/TrackPanelAx.cpp:344
msgid " Sync Lock Selected"
msgstr " Вибрано фіксування синхронізації"
@@ -5787,22 +6057,22 @@ msgid "Direction Changes -- mean: %1.4f sd: (%1.4f)\n"
msgstr "Змін напрямку — в середньому: %1.4f пд: (%1.4f)\n"
#. i18n-hint: The default name for an audio track.
-#: src/WaveTrack.cpp:106 src/prefs/TracksPrefs.cpp:106
-#: src/toolbars/ControlToolBar.cpp:918
+#: src/WaveTrack.cpp:108 src/prefs/TracksPrefs.cpp:112
+#: src/toolbars/ControlToolBar.cpp:984
msgid "Audio Track"
msgstr "Доріжка"
-#: src/WaveTrack.cpp:1311 src/WaveTrack.cpp:1330
+#: src/WaveTrack.cpp:1320 src/WaveTrack.cpp:1339
msgid "There is not enough room available to paste the selection"
msgstr "Не вистачає місця для вставки вибраного фрагменту"
-#: src/WaveTrack.cpp:2529
+#: src/WaveTrack.cpp:2540
msgid "There is not enough room available to expand the cut line"
msgstr "Недостатньо простору для поширення лінії вирізання"
#: src/commands/CommandManager.cpp:108 src/effects/nyquist/Nyquist.cpp:94
#: src/prefs/KeyConfigPrefs.cpp:813 src/prefs/MousePrefs.cpp:57
-#: src/widgets/KeyView.cpp:1545 src/widgets/KeyView.cpp:1557
+#: src/widgets/KeyView.cpp:1544 src/widgets/KeyView.cpp:1556
msgid "Command"
msgstr "Команда"
@@ -5846,12 +6116,12 @@ msgstr ""
msgid "Disallowed"
msgstr "Заборонено"
-#: src/commands/CommandManager.cpp:1382
+#: src/commands/CommandManager.cpp:1383
#, c-format
msgid "Loaded %d keyboard shortcuts\n"
msgstr "Завантажено %d комбінацій клавіш\n"
-#: src/commands/CommandManager.cpp:1384
+#: src/commands/CommandManager.cpp:1385
msgid "Loading Keyboard Shortcuts"
msgstr "Завантажуємо комбінації клавіш"
@@ -5963,12 +6233,12 @@ msgstr "Максимальна пауза:"
#. i18n-hint: Name of time display format that shows time in seconds
#: src/effects/AutoDuck.cpp:444 src/effects/AutoDuck.cpp:450
#: src/effects/AutoDuck.cpp:456 src/effects/AutoDuck.cpp:462
-#: src/effects/AutoDuck.cpp:468 src/prefs/PlaybackPrefs.cpp:65
-#: src/prefs/PlaybackPrefs.cpp:66 src/prefs/PlaybackPrefs.cpp:81
-#: src/prefs/PlaybackPrefs.cpp:82 src/prefs/PlaybackPrefs.cpp:88
-#: src/prefs/PlaybackPrefs.cpp:89 src/prefs/PlaybackPrefs.cpp:103
-#: src/prefs/PlaybackPrefs.cpp:104 src/prefs/PlaybackPrefs.cpp:110
-#: src/prefs/PlaybackPrefs.cpp:111 src/widgets/NumericTextCtrl.cpp:281
+#: src/effects/AutoDuck.cpp:468 src/prefs/PlaybackPrefs.cpp:77
+#: src/prefs/PlaybackPrefs.cpp:78 src/prefs/PlaybackPrefs.cpp:93
+#: src/prefs/PlaybackPrefs.cpp:94 src/prefs/PlaybackPrefs.cpp:100
+#: src/prefs/PlaybackPrefs.cpp:101 src/prefs/PlaybackPrefs.cpp:115
+#: src/prefs/PlaybackPrefs.cpp:116 src/prefs/PlaybackPrefs.cpp:122
+#: src/prefs/PlaybackPrefs.cpp:123 src/widgets/NumericTextCtrl.cpp:281
msgid "seconds"
msgstr "секунд"
@@ -5992,63 +6262,53 @@ msgstr "Внутрішня довжина наростання:"
msgid "Threshold:"
msgstr "Поріг:"
-#: src/effects/AutoDuck.cpp:688
+#: src/effects/AutoDuck.cpp:690
msgid "Preview not available"
msgstr "Попереднє прослуховування недоступне"
-#: src/effects/BassTreble.cpp:47 src/effects/BassTreble.cpp:282
+#: src/effects/BassTreble.cpp:44 src/effects/BassTreble.cpp:224
msgid "Bass"
msgstr "Баси"
-#: src/effects/BassTreble.cpp:48 src/effects/BassTreble.cpp:293
+#: src/effects/BassTreble.cpp:45 src/effects/BassTreble.cpp:234
msgid "Treble"
msgstr "Високі частоти"
-#: src/effects/BassTreble.cpp:49 src/effects/BassTreble.cpp:304
-#: src/effects/Normalize.cpp:35
-msgid "Level"
-msgstr "Рівень"
+#: src/effects/BassTreble.cpp:47
+msgid "Link Sliders"
+msgstr "Пов’язати повзунки"
-#: src/effects/BassTreble.cpp:50 src/effects/Compressor.cpp:63
-#: src/effects/Normalize.h:25
-msgid "Normalize"
-msgstr "Нормалізація"
+#: src/effects/BassTreble.cpp:92
+msgid "Simple tone control effect"
+msgstr "Простий ефект керування тоном"
-#: src/effects/BassTreble.cpp:96
-msgid ""
-"Increases or decreases the lower frequencies and higher frequencies of your "
-"audio independently"
-msgstr ""
-"Збільшує або зменшує інтенсивність нижніх або верхніх частот ваших звукових "
-"даних незалежно"
+#: src/effects/BassTreble.cpp:209
+msgid "Tone controls"
+msgstr "Керування тоном"
-#: src/effects/BassTreble.cpp:276
+#: src/effects/BassTreble.cpp:218
msgid "&Bass (dB):"
msgstr "&Баси (дБ):"
-#: src/effects/BassTreble.cpp:277
+#: src/effects/BassTreble.cpp:219
msgid "Bass (dB):"
msgstr "Баси (дБ):"
-#: src/effects/BassTreble.cpp:288
+#: src/effects/BassTreble.cpp:229
msgid "&Treble (dB):"
msgstr "В&Ч (дБ):"
-#: src/effects/BassTreble.cpp:299
-msgid "&Level (dB):"
-msgstr "&Рівень (дБ):"
+#: src/effects/BassTreble.cpp:249
+msgid "&Volume (dB):"
+msgstr "&Гучність (дБ):"
-#: src/effects/BassTreble.cpp:312
-msgid "&Enable level control"
-msgstr "&Увімкнути керування рівнем"
+#: src/effects/BassTreble.cpp:254 src/effects/Normalize.cpp:35
+msgid "Level"
+msgstr "Рівень"
-#: src/effects/BassTreble.cpp:423
-msgid " No change to apply."
-msgstr " Немає змін для внесення."
-
-#: src/effects/BassTreble.cpp:431
-msgid ": Maximum 0 dB."
-msgstr ": максимум — 0 дБ."
+#: src/effects/BassTreble.cpp:261
+msgid "Link Volume control to Tone controls"
+msgstr "Пов’язати керування гучністю із керуванням тоном"
#: src/effects/BassTreble.h:26
msgid "Bass and Treble"
@@ -6141,7 +6401,7 @@ msgstr "не вказано"
#. i18n-hint: Name of time display format that shows time in hours,
#. * minutes, seconds and milliseconds (1/1000 second)
#: src/effects/ChangeSpeed.cpp:96 src/effects/ChangeSpeed.cpp:146
-#: src/effects/ChangeSpeed.cpp:182 src/effects/Effect.cpp:1212
+#: src/effects/ChangeSpeed.cpp:182 src/effects/Effect.cpp:1211
#: src/widgets/NumericTextCtrl.cpp:327
msgid "hh:mm:ss + milliseconds"
msgstr "гг:хх:сс + мілісекунд"
@@ -6171,7 +6431,7 @@ msgstr "З об./хв."
msgid "To rpm"
msgstr "До об./хв."
-#: src/effects/ChangeSpeed.cpp:359 src/toolbars/SelectionBar.cpp:347
+#: src/effects/ChangeSpeed.cpp:359 src/toolbars/SelectionBar.cpp:351
msgid "Selection Length"
msgstr "Тривалість вибраної області"
@@ -6279,6 +6539,10 @@ msgstr "Час наростання"
msgid "ReleaseTime"
msgstr "Час випуску"
+#: src/effects/Compressor.cpp:63 src/effects/Normalize.h:25
+msgid "Normalize"
+msgstr "Нормалізація"
+
#: src/effects/Compressor.cpp:64
msgid "UsePeak"
msgstr "Вик. піків"
@@ -6393,11 +6657,11 @@ msgstr "%.1f секунд"
msgid "Compressor"
msgstr "Компресор"
-#: src/effects/Contrast.cpp:66
-msgid "No wave tracks exist."
-msgstr "Немає доріжок хвиль."
+#: src/effects/Contrast.cpp:74
+msgid "You can only measure one track at a time."
+msgstr "Вимірювання можна виконувати лише для однієї доріжки одночасно."
-#: src/effects/Contrast.cpp:72
+#: src/effects/Contrast.cpp:81
msgid ""
"Start time after end time!\n"
"Please enter reasonable times."
@@ -6405,7 +6669,7 @@ msgstr ""
"Час початку розташовано після часу завершення!\n"
"Будь ласка, перегляньте вибрані значення."
-#: src/effects/Contrast.cpp:82
+#: src/effects/Contrast.cpp:101
msgid ""
"Times are not reasonable!\n"
"Please enter reasonable times."
@@ -6413,7 +6677,7 @@ msgstr ""
"Вибрано некоректні значення часу!\n"
"Будь ласка, виправте їх."
-#: src/effects/Contrast.cpp:88
+#: src/effects/Contrast.cpp:107
msgid ""
"Nothing to measure.\n"
"Please select a section of a track."
@@ -6421,15 +6685,11 @@ msgstr ""
"Нічого вимірювати.\n"
"Будь ласка, позначте ділянку доріжки."
-#: src/effects/Contrast.cpp:98
-msgid "You can only measure one track at a time."
-msgstr "Вимірювання можна виконувати лише для однієї доріжки одночасно."
+#: src/effects/Contrast.cpp:117
+msgid "Please select an audio track."
+msgstr "Будь ласка, виберіть звукову доріжку."
-#: src/effects/Contrast.cpp:118
-msgid "Please select something to be measured."
-msgstr "Будь ласка, позначте щось для вимірювання."
-
-#: src/effects/Contrast.cpp:210
+#: src/effects/Contrast.cpp:215
msgid ""
"Contrast Analyzer, for measuring RMS volume differences between two "
"selections of audio."
@@ -6437,195 +6697,195 @@ msgstr ""
"Аналізатор контрастності для вимірювання відносної різниці у гучності між "
"двома ділянками звукової доріжки."
-#: src/effects/Contrast.cpp:223
+#: src/effects/Contrast.cpp:228
msgid "Volume "
msgstr "Гучність "
-#: src/effects/Contrast.cpp:226
+#: src/effects/Contrast.cpp:231
msgid "&Foreground:"
msgstr "&Передній план:"
#. i18n-hint: Name of time display format that shows time in hours,
#. * minutes, seconds and hundredths of a second (1/100 second)
-#: src/effects/Contrast.cpp:232 src/effects/Contrast.cpp:248
-#: src/effects/Contrast.cpp:270 src/effects/Contrast.cpp:286
+#: src/effects/Contrast.cpp:237 src/effects/Contrast.cpp:254
+#: src/effects/Contrast.cpp:277 src/effects/Contrast.cpp:294
#: src/widgets/NumericTextCtrl.cpp:315
msgid "hh:mm:ss + hundredths"
msgstr "гг:хх:сс + соті"
-#: src/effects/Contrast.cpp:238
+#: src/effects/Contrast.cpp:243
msgid "Foreground start time"
msgstr "Час початку переднього плану"
-#: src/effects/Contrast.cpp:254
+#: src/effects/Contrast.cpp:260
msgid "Foreground end time"
msgstr "Час завершення переднього плану"
-#: src/effects/Contrast.cpp:259
+#: src/effects/Contrast.cpp:266
msgid "&Measure selection"
msgstr "В&иміряти позначене"
-#: src/effects/Contrast.cpp:264
+#: src/effects/Contrast.cpp:271
msgid "&Background:"
msgstr "&Тло:"
-#: src/effects/Contrast.cpp:276
+#: src/effects/Contrast.cpp:283
msgid "Background start time"
msgstr "Час початку тла"
-#: src/effects/Contrast.cpp:292
+#: src/effects/Contrast.cpp:300
msgid "Background end time"
msgstr "Час завершення тла"
-#: src/effects/Contrast.cpp:297
+#: src/effects/Contrast.cpp:306
msgid "Mea&sure selection"
msgstr "Ви&міряти позначене"
-#: src/effects/Contrast.cpp:306
+#: src/effects/Contrast.cpp:315
msgid "Result"
msgstr "Результат"
-#: src/effects/Contrast.cpp:310
+#: src/effects/Contrast.cpp:319
msgid "Co&ntrast Result:"
msgstr "Р&езультат контрастності:"
-#: src/effects/Contrast.cpp:313
+#: src/effects/Contrast.cpp:322
msgid "R&eset"
msgstr "&Відновити"
-#: src/effects/Contrast.cpp:314
+#: src/effects/Contrast.cpp:323
msgid "&Difference:"
msgstr "&Різниця:"
-#: src/effects/Contrast.cpp:317 src/effects/Equalization.cpp:3234
+#: src/effects/Contrast.cpp:326 src/effects/Equalization.cpp:3241
msgid "E&xport..."
msgstr "&Експортувати…"
-#: src/effects/Contrast.cpp:412
-msgid "No foreground measured"
-msgstr "Немає переднього плану для вимірювання"
-
-#: src/effects/Contrast.cpp:417
+#: src/effects/Contrast.cpp:427
msgid "Measured foreground level"
msgstr "Виміряний рівень переднього плану"
-#: src/effects/Contrast.cpp:419 src/effects/Contrast.cpp:432
+#: src/effects/Contrast.cpp:429 src/effects/Contrast.cpp:441
+msgid "zero"
+msgstr "нуль"
+
+#: src/effects/Contrast.cpp:431 src/effects/Contrast.cpp:443
#, c-format
msgid "%.1f dB"
msgstr "%.1f дБ"
-#: src/effects/Contrast.cpp:421 src/effects/Contrast.cpp:434
-msgid "zero"
-msgstr "нуль"
+#: src/effects/Contrast.cpp:434 src/effects/Contrast.cpp:606
+msgid "No foreground measured"
+msgstr "Немає переднього плану для вимірювання"
-#: src/effects/Contrast.cpp:425
-msgid "No background measured"
-msgstr "Немає тла для вимірювання"
-
-#: src/effects/Contrast.cpp:430
+#: src/effects/Contrast.cpp:439
msgid "Measured background level"
msgstr "Виміряний рівень тла"
-#: src/effects/Contrast.cpp:439
-msgid "WCAG2 Pass"
-msgstr "WCAG2 пройдено"
-
-#: src/effects/Contrast.cpp:441
-msgid "WCAG2 Fail"
-msgstr "Помилка WCAG2"
+#: src/effects/Contrast.cpp:446 src/effects/Contrast.cpp:607
+msgid "No background measured"
+msgstr "Немає тла для вимірювання"
#. i18n-hint: i.e. difference in loudness at the moment.
-#: src/effects/Contrast.cpp:443
+#: src/effects/Contrast.cpp:452
msgid "Current difference"
msgstr "Поточна різниця"
-#: src/effects/Contrast.cpp:446
+#: src/effects/Contrast.cpp:455
+msgid "WCAG2 Pass"
+msgstr "WCAG2 пройдено"
+
+#: src/effects/Contrast.cpp:458
+msgid "WCAG2 Fail"
+msgstr "Помилка WCAG2"
+
+#: src/effects/Contrast.cpp:463
msgid "indeterminate"
msgstr "не вдається визначити"
-#: src/effects/Contrast.cpp:449
+#: src/effects/Contrast.cpp:467
#, c-format
msgid "%.1f dB Average RMS"
msgstr "%.1f дБ середньоквадратичного"
-#: src/effects/Contrast.cpp:451
+#: src/effects/Contrast.cpp:470
msgid "infinite dB difference"
msgstr "Нескінченна різниця у дБ"
-#: src/effects/Contrast.cpp:456
+#: src/effects/Contrast.cpp:477
msgid "Please enter valid times."
msgstr "Будь ласка, введіть коректні значення."
-#: src/effects/Contrast.cpp:466
+#: src/effects/Contrast.cpp:488
msgid "Export Contrast Result As:"
msgstr "Експортувати результати контрасту як:"
-#: src/effects/Contrast.cpp:490
+#: src/effects/Contrast.cpp:512
msgid "WCAG 2.0 Success Criteria 1.4.7 Contrast Results"
msgstr "Критерій успіху 1.4.7 результатів контрасту WCAG 2.0"
-#: src/effects/Contrast.cpp:492
+#: src/effects/Contrast.cpp:514
#, c-format
msgid "Filename = %s."
msgstr "Назва файла = %s."
-#: src/effects/Contrast.cpp:494
+#: src/effects/Contrast.cpp:516
msgid "Foreground"
msgstr "Передній план"
-#: src/effects/Contrast.cpp:499 src/effects/Contrast.cpp:518
+#: src/effects/Contrast.cpp:521 src/effects/Contrast.cpp:540
#, c-format
msgid "Time started = %2d hour(s), %2d minute(s), %.2f seconds."
msgstr "Час початку = %2d годин, %2d хвилин, %.2f секунд."
-#: src/effects/Contrast.cpp:504 src/effects/Contrast.cpp:523
+#: src/effects/Contrast.cpp:526 src/effects/Contrast.cpp:545
#, c-format
msgid "Time ended = %2d hour(s), %2d minute(s), %.2f seconds."
msgstr "Час завершення = %2d годин, %2d хвилин, %.2f секунд."
-#: src/effects/Contrast.cpp:507 src/effects/Contrast.cpp:526
+#: src/effects/Contrast.cpp:529 src/effects/Contrast.cpp:548
#, c-format
msgid "Average RMS = %.1f dB."
msgstr "Середньоквадратичне = %.1f дБ."
-#: src/effects/Contrast.cpp:509 src/effects/Contrast.cpp:528
+#: src/effects/Contrast.cpp:531 src/effects/Contrast.cpp:550
msgid "Average RMS = zero."
msgstr "Середньоквадратичне = нуль."
-#: src/effects/Contrast.cpp:511 src/effects/Contrast.cpp:530
+#: src/effects/Contrast.cpp:533 src/effects/Contrast.cpp:552
msgid "Average RMS = dB."
msgstr "Середньоквадратичне = дБ."
-#: src/effects/Contrast.cpp:513
+#: src/effects/Contrast.cpp:535
msgid "Background"
msgstr "Тло"
-#: src/effects/Contrast.cpp:532
+#: src/effects/Contrast.cpp:554
msgid "Results"
msgstr "Результати"
-#: src/effects/Contrast.cpp:535
+#: src/effects/Contrast.cpp:557
msgid "Difference is indeterminate."
msgstr "Різницю визначити не вдалося."
-#: src/effects/Contrast.cpp:538
+#: src/effects/Contrast.cpp:560
#, c-format
msgid "Difference = %.1f Average RMS dB."
msgstr "Різниця = %.1f Середньоквадратичне дБ."
-#: src/effects/Contrast.cpp:540
+#: src/effects/Contrast.cpp:562
msgid "Difference = infinite Average RMS dB."
msgstr "Різниця = нескінченна Середньоквадратичне дБ."
-#: src/effects/Contrast.cpp:542
+#: src/effects/Contrast.cpp:564
msgid "Success Criteria 1.4.7 of WCAG 2.0: Pass"
msgstr "Критерій успіху 1.4.7 WCAG 2.0: пройдено"
-#: src/effects/Contrast.cpp:544
+#: src/effects/Contrast.cpp:566
msgid "Success Criteria 1.4.7 of WCAG 2.0: Fail"
msgstr "Критерій успіху 1.4.7 WCAG 2.0: помилка"
-#: src/effects/Contrast.cpp:547
+#: src/effects/Contrast.cpp:569
msgid "Data gathered"
msgstr "Дані зібрано"
@@ -6663,7 +6923,7 @@ msgstr "Амплітуда (0-1):"
#: src/effects/DtmfGen.cpp:314 src/effects/Noise.cpp:227
#: src/effects/Silence.cpp:60 src/effects/ToneGen.cpp:397
#: src/effects/TruncSilence.cpp:721 src/effects/VST/VSTEffect.cpp:2880
-#: src/effects/ladspa/LadspaEffect.cpp:1203
+#: src/effects/ladspa/LadspaEffect.cpp:1209
msgid "Duration:"
msgstr "Тривалість:"
@@ -6721,7 +6981,7 @@ msgstr "Луна"
msgid "Audacity"
msgstr "Audacity"
-#: src/effects/Effect.cpp:1084
+#: src/effects/Effect.cpp:1083
#, c-format
msgid ""
"%s: Could not load settings below. Default settings will be used.\n"
@@ -6735,24 +6995,24 @@ msgstr ""
#. i18n-hint: Name of time display format that shows time in hours,
#. * minutes, seconds and samples (at the current project sample rate)
-#: src/effects/Effect.cpp:1212 src/widgets/NumericTextCtrl.cpp:339
+#: src/effects/Effect.cpp:1211 src/widgets/NumericTextCtrl.cpp:339
msgid "hh:mm:ss + samples"
msgstr "гг:хх:сс + фрагменти"
-#: src/effects/Effect.cpp:1245
+#: src/effects/Effect.cpp:1244
#, c-format
msgid "Applying %s..."
msgstr "Застосовуємо %s…"
-#: src/effects/Effect.cpp:2629
+#: src/effects/Effect.cpp:2613
msgid "Preparing preview"
msgstr "Підготовка прослуховування"
-#: src/effects/Effect.cpp:2670
+#: src/effects/Effect.cpp:2655
msgid "Previewing"
msgstr "Прослуховування"
-#: src/effects/Effect.cpp:2685 src/toolbars/ControlToolBar.cpp:651
+#: src/effects/Effect.cpp:2670 src/toolbars/ControlToolBar.cpp:671
msgid ""
"Error while opening sound device. Please check the playback device settings "
"and the project sample rate."
@@ -6760,159 +7020,155 @@ msgstr ""
"Помилка при відкриванні звукового пристрою. Перевірте параметри пристрою "
"відтворення та частоту дискретизації проекту."
-#: src/effects/Effect.cpp:3027 src/effects/Effect.cpp:3035
-#: src/effects/Effect.cpp:3037
+#: src/effects/Effect.cpp:3012 src/effects/Effect.cpp:3020
+#: src/effects/Effect.cpp:3022
msgid "&Manage"
msgstr "&Керування"
-#: src/effects/Effect.cpp:3041
+#: src/effects/Effect.cpp:3026
msgid "Manage presets and options"
msgstr "Керувати наборами налаштувань та параметрами"
#. i18n-hint: The access key "&P" should be the same in
#. "Stop &Playback" and "Start &Playback"
-#: src/effects/Effect.cpp:3052 src/effects/Effect.cpp:3782
-#: src/effects/Effect.cpp:3792 src/effects/Effect.cpp:3794
+#: src/effects/Effect.cpp:3037 src/effects/Effect.cpp:3779
+#: src/effects/Effect.cpp:3789 src/effects/Effect.cpp:3791
msgid "Start &Playback"
msgstr "Почати &відтворення"
-#: src/effects/Effect.cpp:3053
+#: src/effects/Effect.cpp:3038
msgid "Start and stop playback"
msgstr "Розпочати або припинити відтворення"
-#: src/effects/Effect.cpp:3059
-msgid "&Preview"
-msgstr "П&рослухати"
-
-#: src/effects/Effect.cpp:3060 src/effects/Effect.cpp:3077
-#: src/effects/Effect.cpp:3079
+#: src/effects/Effect.cpp:3045 src/effects/Effect.cpp:3062
+#: src/effects/Effect.cpp:3064
msgid "Preview effect"
msgstr "Прослуховування ефекту"
-#: src/effects/Effect.cpp:3081
+#: src/effects/Effect.cpp:3066
msgid "&Preview effect"
msgstr "&Прослухати ефект"
-#: src/effects/Effect.cpp:3091 src/effects/Effect.cpp:3101
-#: src/effects/Effect.cpp:3103
+#: src/effects/Effect.cpp:3076 src/effects/Effect.cpp:3086
+#: src/effects/Effect.cpp:3088
msgid "Skip &Backward"
msgstr "Перемотати &назад"
-#: src/effects/Effect.cpp:3107
+#: src/effects/Effect.cpp:3092
msgid "Skip backward"
msgstr "Перемотати назад"
-#: src/effects/Effect.cpp:3112
+#: src/effects/Effect.cpp:3097
msgid "Skip &Forward"
msgstr "Перемотати &вперед"
-#: src/effects/Effect.cpp:3122 src/effects/Effect.cpp:3124
+#: src/effects/Effect.cpp:3107 src/effects/Effect.cpp:3109
msgid "Skip &Foreward"
msgstr "Перемотати &вперед"
-#: src/effects/Effect.cpp:3128
+#: src/effects/Effect.cpp:3113
msgid "Skip forward"
msgstr "Перемотати вперед"
-#: src/effects/Effect.cpp:3134
+#: src/effects/Effect.cpp:3119
msgid "Enable"
msgstr "Увімкнути"
-#: src/effects/Effect.cpp:3242
+#: src/effects/Effect.cpp:3234
msgid "You must select audio in the project window."
msgstr "Вам слід позначити звукові дані у вікні проекту."
-#: src/effects/Effect.cpp:3318 src/effects/Effect.cpp:3327
-#: src/effects/Effect.cpp:3899 src/effects/Effect.cpp:3935
-#: src/effects/Effect.cpp:3956 src/effects/Effect.cpp:4012
+#: src/effects/Effect.cpp:3315 src/effects/Effect.cpp:3324
+#: src/effects/Effect.cpp:3896 src/effects/Effect.cpp:3932
+#: src/effects/Effect.cpp:3953 src/effects/Effect.cpp:4009
msgid "User Presets"
msgstr "Шаблони користувача"
-#: src/effects/Effect.cpp:3330
+#: src/effects/Effect.cpp:3327
msgid "Save Preset..."
msgstr "Зберегти шаблон…"
-#: src/effects/Effect.cpp:3334 src/effects/Effect.cpp:3343
-#: src/effects/Effect.cpp:3570 src/export/ExportFFmpegDialogs.cpp:1403
+#: src/effects/Effect.cpp:3331 src/effects/Effect.cpp:3340
+#: src/effects/Effect.cpp:3567 src/export/ExportFFmpegDialogs.cpp:1403
msgid "Delete Preset"
msgstr "Вилучити шаблон"
-#: src/effects/Effect.cpp:3351
+#: src/effects/Effect.cpp:3348
msgid "Defaults"
msgstr "Типові"
-#: src/effects/Effect.cpp:3360 src/effects/Effect.cpp:3976
-#: src/effects/Effect.cpp:4040 src/prefs/QualityPrefs.cpp:73
-#: src/prefs/TracksPrefs.cpp:56
+#: src/effects/Effect.cpp:3357 src/effects/Effect.cpp:3973
+#: src/effects/Effect.cpp:4037 src/prefs/QualityPrefs.cpp:73
+#: src/prefs/TracksPrefs.cpp:62
msgid "None"
msgstr "Немає"
-#: src/effects/Effect.cpp:3366 src/effects/Effect.cpp:3904
-#: src/effects/Effect.cpp:3940 src/effects/Effect.cpp:3968
-#: src/effects/Effect.cpp:4026
+#: src/effects/Effect.cpp:3363 src/effects/Effect.cpp:3901
+#: src/effects/Effect.cpp:3937 src/effects/Effect.cpp:3965
+#: src/effects/Effect.cpp:4023
msgid "Factory Presets"
msgstr "Стандартні параметри"
-#: src/effects/Effect.cpp:3369
+#: src/effects/Effect.cpp:3366
msgid "Import..."
msgstr "Імпортувати…"
-#: src/effects/Effect.cpp:3370
+#: src/effects/Effect.cpp:3367
msgid "Export..."
msgstr "Експортувати…"
-#: src/effects/Effect.cpp:3372
+#: src/effects/Effect.cpp:3369
msgid "Options..."
msgstr "Параметри…"
-#: src/effects/Effect.cpp:3377
+#: src/effects/Effect.cpp:3374
#, c-format
msgid "Type: %s"
msgstr "Тип: %s"
-#: src/effects/Effect.cpp:3378
+#: src/effects/Effect.cpp:3375
#, c-format
msgid "Name: %s"
msgstr "Назва: %s"
-#: src/effects/Effect.cpp:3379
+#: src/effects/Effect.cpp:3376
#, c-format
msgid "Version: %s"
msgstr "Версія: %s"
-#: src/effects/Effect.cpp:3380
+#: src/effects/Effect.cpp:3377
#, c-format
msgid "Vendor: %s"
msgstr "Виробник: %s"
-#: src/effects/Effect.cpp:3381
+#: src/effects/Effect.cpp:3378
#, c-format
msgid "Description: %s"
msgstr "Опис: %s"
-#: src/effects/Effect.cpp:3383
+#: src/effects/Effect.cpp:3380
msgid "About"
msgstr "Про програму"
-#: src/effects/Effect.cpp:3569
+#: src/effects/Effect.cpp:3566
#, c-format
msgid "Are you sure you want to delete \"%s\"?"
msgstr "Ви справді бажаєте вилучити «%s»?"
-#: src/effects/Effect.cpp:3586 src/effects/Effect.cpp:3623
-#: src/effects/Effect.cpp:3633 src/export/ExportFFmpegDialogs.cpp:1402
+#: src/effects/Effect.cpp:3583 src/effects/Effect.cpp:3620
+#: src/effects/Effect.cpp:3630 src/export/ExportFFmpegDialogs.cpp:1402
msgid "Save Preset"
msgstr "Зберегти шаблон"
-#: src/effects/Effect.cpp:3596
+#: src/effects/Effect.cpp:3593
msgid "Preset name:"
msgstr "Назва набору шаблонів:"
-#: src/effects/Effect.cpp:3622
+#: src/effects/Effect.cpp:3619
msgid "You must specify a name"
msgstr "Вам слід вказати назву"
-#: src/effects/Effect.cpp:3632
+#: src/effects/Effect.cpp:3629
msgid ""
"Preset already exists.\n"
"\n"
@@ -6924,30 +7180,30 @@ msgstr ""
#. i18n-hint: The access key "&P" should be the same in
#. "Stop &Playback" and "Start &Playback"
-#: src/effects/Effect.cpp:3760 src/effects/Effect.cpp:3770
-#: src/effects/Effect.cpp:3772
+#: src/effects/Effect.cpp:3757 src/effects/Effect.cpp:3767
+#: src/effects/Effect.cpp:3769
msgid "Stop &Playback"
msgstr "Зупинити &відтворення"
-#: src/effects/Effect.cpp:3871
+#: src/effects/Effect.cpp:3868
msgid "Select Preset"
msgstr "Виберіть шаблон"
-#: src/effects/Effect.cpp:3881
+#: src/effects/Effect.cpp:3878
msgid "Type:"
msgstr "Тип:"
-#: src/effects/Effect.cpp:3885
+#: src/effects/Effect.cpp:3882
msgid "&Preset:"
msgstr "&Шаблон:"
-#: src/effects/Effect.cpp:3909 src/effects/Effect.cpp:3944
-#: src/effects/Effect.cpp:3988 src/effects/Effect.cpp:4048
+#: src/effects/Effect.cpp:3906 src/effects/Effect.cpp:3941
+#: src/effects/Effect.cpp:3985 src/effects/Effect.cpp:4045
msgid "Current Settings"
msgstr "Поточні параметри"
-#: src/effects/Effect.cpp:3914 src/effects/Effect.cpp:3948
-#: src/effects/Effect.cpp:3994 src/effects/Effect.cpp:4054
+#: src/effects/Effect.cpp:3911 src/effects/Effect.cpp:3945
+#: src/effects/Effect.cpp:3991 src/effects/Effect.cpp:4051
msgid "Factory Defaults"
msgstr "Типові значення виробника"
@@ -6956,7 +7212,7 @@ msgstr "Типові значення виробника"
msgid "Applied effect: %s"
msgstr "Застосовано ефект: %s"
-#: src/effects/EffectManager.cpp:754
+#: src/effects/EffectManager.cpp:737
#, c-format
msgid ""
"Attempting to initialize the following effect failed:\n"
@@ -6972,7 +7228,7 @@ msgstr ""
"Щоб отримати докладнішу інформацію, скористайтеся пунктом меню «Довідка → "
"Показати журнал»."
-#: src/effects/EffectManager.cpp:756
+#: src/effects/EffectManager.cpp:739
msgid "Effect failed to initialize"
msgstr "Не вдалося ініціалізувати ефект"
@@ -7225,15 +7481,15 @@ msgid "&Bench"
msgstr "&Тест"
#. i18n-hint: name of the 'unnamed' custom curve
-#: src/effects/Equalization.cpp:1411 src/effects/Equalization.cpp:1435
-#: src/effects/Equalization.cpp:1445 src/effects/Equalization.cpp:1449
-#: src/effects/Equalization.cpp:1454 src/effects/Equalization.cpp:1455
-#: src/effects/Equalization.cpp:1473
+#: src/effects/Equalization.cpp:1407 src/effects/Equalization.cpp:1432
+#: src/effects/Equalization.cpp:1442 src/effects/Equalization.cpp:1446
+#: src/effects/Equalization.cpp:1451 src/effects/Equalization.cpp:1452
+#: src/effects/Equalization.cpp:1470
msgid "unnamed"
msgstr "Без назви"
#. i18n-hint: EQ stands for 'Equalization'.
-#: src/effects/Equalization.cpp:1430
+#: src/effects/Equalization.cpp:1427
#, c-format
msgid ""
"Error Loading EQ Curves from file:\n"
@@ -7246,59 +7502,59 @@ msgstr ""
"Повідомлення про помилку:\n"
"%s"
-#: src/effects/Equalization.cpp:1433
+#: src/effects/Equalization.cpp:1430
msgid "Error Loading EQ Curves"
msgstr "Помилка під час завантаження кривих EQ"
-#: src/effects/Equalization.cpp:1655
+#: src/effects/Equalization.cpp:1659
msgid "Error Saving Equalization Curves"
msgstr "Помилка під час спроби збереження кривих вирівнювання"
-#: src/effects/Equalization.cpp:1821
+#: src/effects/Equalization.cpp:1825
msgid "Requested curve not found, using 'unnamed'"
msgstr "Потрібну вам криву не знайдено, використовуємо криву «без назви»"
-#: src/effects/Equalization.cpp:1821
+#: src/effects/Equalization.cpp:1825
msgid "Curve not found"
msgstr "Криву не знайдено"
-#: src/effects/Equalization.cpp:3182 src/effects/Equalization.cpp:3187
+#: src/effects/Equalization.cpp:3189 src/effects/Equalization.cpp:3194
msgid "Manage Curves List"
msgstr "Керування списком кривих"
-#: src/effects/Equalization.cpp:3186
+#: src/effects/Equalization.cpp:3193
msgid "Manage Curves"
msgstr "Керування кривими"
-#: src/effects/Equalization.cpp:3220
+#: src/effects/Equalization.cpp:3227
msgid "&Curves"
msgstr "&Криві"
-#: src/effects/Equalization.cpp:3224
+#: src/effects/Equalization.cpp:3231
msgid "Curve Name"
msgstr "Назва кривої"
-#: src/effects/Equalization.cpp:3231
+#: src/effects/Equalization.cpp:3238
msgid "&Rename..."
msgstr "&Перейменувати…"
-#: src/effects/Equalization.cpp:3232
+#: src/effects/Equalization.cpp:3239
msgid "D&elete..."
msgstr "Ви&лучити…"
-#: src/effects/Equalization.cpp:3233
+#: src/effects/Equalization.cpp:3240
msgid "I&mport..."
msgstr "І&мпортувати…"
-#: src/effects/Equalization.cpp:3235
+#: src/effects/Equalization.cpp:3242
msgid "&Get More..."
msgstr "&Додатково…"
-#: src/effects/Equalization.cpp:3242 src/widgets/ErrorDialog.cpp:123
+#: src/effects/Equalization.cpp:3249 src/widgets/ErrorDialog.cpp:123
msgid "Help"
msgstr "Довідка"
-#: src/effects/Equalization.cpp:3243
+#: src/effects/Equalization.cpp:3250
msgid ""
"Rename 'unnamed' to save a new entry.\n"
"'OK' saves all changes, 'Cancel' doesn't."
@@ -7307,110 +7563,110 @@ msgstr ""
"Натискання «Гаразд» призведе до збереження всіх змін, «Скасувати» — до їх "
"відкидання."
-#: src/effects/Equalization.cpp:3278
+#: src/effects/Equalization.cpp:3285
msgid "'unnamed' always stays at the bottom of the list"
msgstr "Пункт «Без назви» завжди стоїть на початку списку"
-#: src/effects/Equalization.cpp:3278
+#: src/effects/Equalization.cpp:3285
msgid "'unnamed' is special"
msgstr "«Без назви» є особливою"
-#: src/effects/Equalization.cpp:3372 src/effects/Equalization.cpp:3375
+#: src/effects/Equalization.cpp:3379 src/effects/Equalization.cpp:3382
msgid "Rename '"
msgstr "Перейменувати «"
-#: src/effects/Equalization.cpp:3372
+#: src/effects/Equalization.cpp:3379
msgid "' to..."
msgstr "» на…"
-#: src/effects/Equalization.cpp:3373
+#: src/effects/Equalization.cpp:3380
msgid "Rename..."
msgstr "Перейменувати…"
-#: src/effects/Equalization.cpp:3396
+#: src/effects/Equalization.cpp:3403
msgid "Name is the same as the original one"
msgstr "Назва збігається з початковою"
-#: src/effects/Equalization.cpp:3396
+#: src/effects/Equalization.cpp:3403
msgid "Same name"
msgstr "Однакові назви"
-#: src/effects/Equalization.cpp:3399
+#: src/effects/Equalization.cpp:3406
msgid "Overwrite existing curve '"
msgstr "Перезаписати поточну криву «"
-#: src/effects/Equalization.cpp:3399
+#: src/effects/Equalization.cpp:3406
msgid "'?"
msgstr "»?"
-#: src/effects/Equalization.cpp:3400
+#: src/effects/Equalization.cpp:3407
msgid "Curve exists"
msgstr "Крива вже існує"
-#: src/effects/Equalization.cpp:3471
+#: src/effects/Equalization.cpp:3478
msgid "You cannot delete the 'unnamed' curve."
msgstr "Не можна вилучати криву «Без назви»."
-#: src/effects/Equalization.cpp:3472 src/effects/Equalization.cpp:3521
+#: src/effects/Equalization.cpp:3479 src/effects/Equalization.cpp:3528
msgid "Can't delete 'unnamed'"
msgstr "Не можна вилучати криву «Без назви»"
-#: src/effects/Equalization.cpp:3478 src/effects/Equalization.cpp:3507
+#: src/effects/Equalization.cpp:3485 src/effects/Equalization.cpp:3514
msgid "Delete '"
msgstr "Вилучити «"
-#: src/effects/Equalization.cpp:3478 src/effects/Equalization.cpp:3507
+#: src/effects/Equalization.cpp:3485 src/effects/Equalization.cpp:3514
msgid "' ?"
msgstr "»?"
-#: src/effects/Equalization.cpp:3481 src/effects/Equalization.cpp:3511
+#: src/effects/Equalization.cpp:3488 src/effects/Equalization.cpp:3518
#: src/export/ExportFFmpegDialogs.cpp:1750
msgid "Confirm Deletion"
msgstr "Підтвердити вилучення"
-#: src/effects/Equalization.cpp:3504
+#: src/effects/Equalization.cpp:3511
msgid "Delete "
msgstr "Вилучити "
-#: src/effects/Equalization.cpp:3504
+#: src/effects/Equalization.cpp:3511
msgid "items?"
msgstr "об’єктів?"
-#: src/effects/Equalization.cpp:3520
+#: src/effects/Equalization.cpp:3527
msgid "You cannot delete the 'unnamed' curve, it is special."
msgstr "Не можна вилучати криву «Без назви», вона є особливою."
-#: src/effects/Equalization.cpp:3537
+#: src/effects/Equalization.cpp:3544
msgid "Choose an EQ curve file"
msgstr "Виберіть файл кривої EQ"
-#: src/effects/Equalization.cpp:3537
+#: src/effects/Equalization.cpp:3544
msgid "xml files (*.xml;*.XML)|*.xml;*.XML"
msgstr "файли xml (*.xml;*.XML)|*.xml;*.XML"
-#: src/effects/Equalization.cpp:3557
+#: src/effects/Equalization.cpp:3564
msgid "Export EQ curves as..."
msgstr "Експортувати криві EQ як…"
-#: src/effects/Equalization.cpp:3579
+#: src/effects/Equalization.cpp:3586
msgid "You cannot export 'unnamed' curve, it is special."
msgstr ""
"Не можна експортувати криву з назвою «unnamed». Цю назву зарезервовано."
-#: src/effects/Equalization.cpp:3579
+#: src/effects/Equalization.cpp:3586
msgid "Cannot Export 'unnamed'"
msgstr "Експортування з назвою «unnamed» неможливе"
-#: src/effects/Equalization.cpp:3589
+#: src/effects/Equalization.cpp:3596
#, c-format
msgid "%d curves exported to %s"
msgstr "%d кривих експортовано до %s"
-#: src/effects/Equalization.cpp:3590
+#: src/effects/Equalization.cpp:3597
msgid "Curves exported"
msgstr "Криві експортовано"
-#: src/effects/Equalization.cpp:3593
+#: src/effects/Equalization.cpp:3600
msgid "No curves exported"
msgstr "Жодної кривої не експортовано"
@@ -7452,7 +7708,7 @@ msgid "Fade Out"
msgstr "Повільне згасання"
#: src/effects/FindClipping.cpp:62
-msgid "This creates labels where clipping is detected"
+msgid "Creates labels where clipping is detected"
msgstr "Створить мітки там, де виявлено обрізання"
#: src/effects/FindClipping.cpp:100
@@ -7511,11 +7767,11 @@ msgstr "Проходи"
#: src/effects/Leveller.cpp:83
msgid ""
-"Leveller is a simple, combined compressor and limiter effect for reducing "
-"the dynamic range of audio"
+"A simple, combined compressor and limiter effect for reducing the dynamic "
+"range of audio"
msgstr ""
-"Засіб вирівнювання є простим комбінованим засобом стискання та обмеження для "
-"зменшення динамічного діапазону звукових даних"
+"Простий комбінований засіб стискання та обмеження для зменшення динамічного "
+"діапазону звукових даних"
#: src/effects/Leveller.cpp:218
msgid "Degree of Leveling:"
@@ -7529,18 +7785,18 @@ msgstr "Поріг шуму:"
msgid "Leveller"
msgstr "Вирівнювання"
-#: src/effects/LoadEffects.cpp:240 src/effects/LoadEffects.cpp:245
+#: src/effects/LoadEffects.cpp:244 src/effects/LoadEffects.cpp:249
msgid "Builtin Effects"
msgstr "Вбудовані ефекти"
-#: src/effects/LoadEffects.cpp:250 src/effects/VST/VSTEffect.cpp:307
-#: src/effects/audiounits/AudioUnitEffect.cpp:102
-#: src/effects/ladspa/LadspaEffect.cpp:125 src/effects/lv2/LoadLV2.cpp:111
-#: src/effects/nyquist/LoadNyquist.cpp:113 src/effects/vamp/LoadVamp.cpp:89
+#: src/effects/LoadEffects.cpp:254 src/effects/VST/VSTEffect.cpp:308
+#: src/effects/audiounits/AudioUnitEffect.cpp:103
+#: src/effects/ladspa/LadspaEffect.cpp:126 src/effects/lv2/LoadLV2.cpp:112
+#: src/effects/nyquist/LoadNyquist.cpp:114 src/effects/vamp/LoadVamp.cpp:90
msgid "The Audacity Team"
msgstr "Команда Audacity"
-#: src/effects/LoadEffects.cpp:261
+#: src/effects/LoadEffects.cpp:265
msgid "Provides builtin effects to Audacity"
msgstr "Надає підтримку вбудованих ефектів у Audacity"
@@ -7829,11 +8085,12 @@ msgstr "Кроків &на вікно"
msgid "Discrimination &method"
msgstr "Метод &дискримінації"
-#: src/effects/NoiseRemoval.cpp:118 src/effects/NoiseRemoval.cpp:684
+#: src/effects/NoiseRemoval.cpp:119 src/effects/NoiseRemoval.cpp:684
+#: src/effects/NoiseRemoval.h:39
msgid "Noise Removal"
msgstr "Вилучення шуму"
-#: src/effects/NoiseRemoval.cpp:123
+#: src/effects/NoiseRemoval.cpp:124
msgid "Removes constant background noise such as fans, tape noise, or hums"
msgstr ""
"Вилучає сталий фоновий шум, зокрема шум від вентиляторів, прокручування "
@@ -8146,27 +8403,27 @@ msgstr "Кількість"
msgid "Repeats the selection the specified number of times"
msgstr "Повторює позначений фрагмент вказану кількість разів"
-#: src/effects/Repeat.cpp:178
+#: src/effects/Repeat.cpp:176
msgid "Number of repeats to add:"
msgstr "Кількість повторів для додавання:"
-#: src/effects/Repeat.cpp:185
+#: src/effects/Repeat.cpp:183
msgid "Current selection length: dd:hh:mm:ss"
msgstr "Поточна довжина позначеного: dd:hh:mm:ss"
-#: src/effects/Repeat.cpp:186
+#: src/effects/Repeat.cpp:184
msgid "New selection length: dd:hh:mm:ss"
msgstr "Нова тривалість вибраного: dd:hh:mm:ss"
-#: src/effects/Repeat.cpp:227
+#: src/effects/Repeat.cpp:225
msgid "Current selection length: "
msgstr "Поточна довжина позначеного: "
-#: src/effects/Repeat.cpp:237
+#: src/effects/Repeat.cpp:235
msgid "New selection length: "
msgstr "Нова тривалість вибраного: "
-#: src/effects/Repeat.cpp:240
+#: src/effects/Repeat.cpp:238
msgid "Warning: No repeats."
msgstr "Попередження: немає повторів."
@@ -8412,7 +8669,11 @@ msgstr "Період кадру:"
msgid "Frame Period"
msgstr "Період кадру"
-#: src/effects/ScoreAlignDialog.cpp:109 src/effects/ScoreAlignDialog.cpp:114
+#: src/effects/ScoreAlignDialog.cpp:109
+msgid "Window Size:"
+msgstr "Розмір вікна:"
+
+#: src/effects/ScoreAlignDialog.cpp:114
msgid "Window Size"
msgstr "Розмір вікна"
@@ -8554,8 +8815,8 @@ msgid "Time Scale"
msgstr "Шкала часу"
#: src/effects/ToneGen.cpp:44 src/prefs/SpectrogramSettings.cpp:148
-#: src/prefs/WaveformSettings.cpp:155 src/widgets/Meter.cpp:1978
-#: src/widgets/Meter.cpp:1979
+#: src/prefs/WaveformSettings.cpp:155 src/widgets/Meter.cpp:2008
+#: src/widgets/Meter.cpp:2009
msgid "Linear"
msgstr "Лінійна"
@@ -8596,7 +8857,7 @@ msgstr "Поч. ампл."
msgid "EndAmp"
msgstr "Кінц. ампл."
-#: src/effects/ToneGen.cpp:74 src/prefs/TracksPrefs.cpp:62
+#: src/effects/ToneGen.cpp:74 src/prefs/TracksPrefs.cpp:68
msgid "Waveform"
msgstr "Хвиля"
@@ -8605,16 +8866,13 @@ msgid "Interpolation"
msgstr "Інтерполяція"
#: src/effects/ToneGen.cpp:132
-msgid ""
-"Generates four different types of tone waveform while allowing starting and "
-"ending amplitude and frequency"
+msgid "Generates an ascending or descending tone of one of four types"
msgstr ""
-"Створює чотири різних типи форми хвилі тону, надаючи змогу визначити "
-"початкові і кінцеві амплітуди і частоти"
+"Створює тон зі зростанням або спаданням частоти одного з чотирьох типів"
#: src/effects/ToneGen.cpp:133
-msgid "Generates four different types of tone waveform"
-msgstr "Створює чотири різних типи форми хвилі тону"
+msgid "Generates a constant frequency tone of one of four types"
+msgstr "Створює тон сталої частоти одного з чотирьох типів"
#: src/effects/ToneGen.cpp:309
msgid "Waveform:"
@@ -8691,7 +8949,7 @@ msgstr ""
#: src/effects/TruncSilence.cpp:286
msgid ""
"When truncating independently, there may only be one selected audio track in "
-"each sync-lock group."
+"each Sync-Locked Track Group."
msgstr ""
"Якщо обрізання відбуватиметься окремо, у кожній групі синхронізації-"
"прив’язки може бути лише одна позначена звукова доріжка."
@@ -8720,175 +8978,175 @@ msgstr "Обрізати доріжки окремо"
msgid "Truncate Silence"
msgstr "Обрізати тишу"
-#: src/effects/VST/VSTEffect.cpp:297
+#: src/effects/VST/VSTEffect.cpp:298
msgid "VST Effects"
msgstr "Ефекти VST"
-#: src/effects/VST/VSTEffect.cpp:318
+#: src/effects/VST/VSTEffect.cpp:319
msgid "Adds the ability to use VST effects in Audacity."
msgstr "Додає можливість використання ефектів VST у Audacity."
-#: src/effects/VST/VSTEffect.cpp:485
+#: src/effects/VST/VSTEffect.cpp:486
#, c-format
msgid "VST plugin registration failed for %s\n"
msgstr "Не вдалося зареєструвати додаток VST %s\n"
-#: src/effects/VST/VSTEffect.cpp:521
+#: src/effects/VST/VSTEffect.cpp:522
msgid "Scanning Shell VST"
msgstr "Пошук оболонки VST"
-#: src/effects/VST/VSTEffect.cpp:522 src/effects/VST/VSTEffect.cpp:596
+#: src/effects/VST/VSTEffect.cpp:523 src/effects/VST/VSTEffect.cpp:597
#, c-format
msgid "Registering %d of %d: %-64.64s"
msgstr "Реєструємо %d з %d: %-64.64s"
-#: src/effects/VST/VSTEffect.cpp:721
+#: src/effects/VST/VSTEffect.cpp:722
msgid "VST Effect Options"
msgstr "Параметри ефектів VST"
-#: src/effects/VST/VSTEffect.cpp:744
+#: src/effects/VST/VSTEffect.cpp:745
msgid "Buffer Size"
msgstr "Розмір буфера"
-#: src/effects/VST/VSTEffect.cpp:750
+#: src/effects/VST/VSTEffect.cpp:751
msgid "The buffer size controls the number of samples sent to the effect "
msgstr ""
"Розмір буфера визначає кількість семплів, надісланих засобу обробки ефекту "
-#: src/effects/VST/VSTEffect.cpp:751
+#: src/effects/VST/VSTEffect.cpp:752
msgid "on each iteration. Smaller values will cause slower processing and "
msgstr ""
"під час кожної ітерації. Менші значення призводять до уповільнення обробки, "
"а "
-#: src/effects/VST/VSTEffect.cpp:752
+#: src/effects/VST/VSTEffect.cpp:753
msgid "some effects require 8192 samples or less to work properly. However "
msgstr "деякі з ефектів потребують для роботи 8192 або менше семплів. Втім, "
-#: src/effects/VST/VSTEffect.cpp:753
+#: src/effects/VST/VSTEffect.cpp:754
msgid "most effects can accept large buffers and using them will greatly "
msgstr ""
"для більшості ефектів можуть працювати з великими буферами, а використання "
-#: src/effects/VST/VSTEffect.cpp:754
+#: src/effects/VST/VSTEffect.cpp:755
msgid "reduce processing time."
msgstr "великих буферів значно зменшує час обробки."
-#: src/effects/VST/VSTEffect.cpp:759
+#: src/effects/VST/VSTEffect.cpp:760
msgid "&Buffer Size (8 to 1048576 samples):"
msgstr "Розмір &буфера (від 8 до 1048576 семплів):"
-#: src/effects/VST/VSTEffect.cpp:769
-#: src/effects/audiounits/AudioUnitEffect.cpp:344
-#: src/effects/ladspa/LadspaEffect.cpp:367 src/effects/lv2/LV2Effect.cpp:215
+#: src/effects/VST/VSTEffect.cpp:770
+#: src/effects/audiounits/AudioUnitEffect.cpp:345
+#: src/effects/ladspa/LadspaEffect.cpp:373 src/effects/lv2/LV2Effect.cpp:210
msgid "Latency Compensation"
msgstr "Компенсація латентності"
-#: src/effects/VST/VSTEffect.cpp:772
+#: src/effects/VST/VSTEffect.cpp:773
msgid "As part of their processing, some VST effects must delay returning "
msgstr ""
"Використання для обробки даних деяких з ефектів VST може призводити до "
"затримки "
-#: src/effects/VST/VSTEffect.cpp:773
-#: src/effects/audiounits/AudioUnitEffect.cpp:348
-#: src/effects/ladspa/LadspaEffect.cpp:371 src/effects/lv2/LV2Effect.cpp:219
+#: src/effects/VST/VSTEffect.cpp:774
+#: src/effects/audiounits/AudioUnitEffect.cpp:349
+#: src/effects/ladspa/LadspaEffect.cpp:377 src/effects/lv2/LV2Effect.cpp:214
msgid "audio to Audacity. When not compensating for this delay, you will "
msgstr ""
"надсилання звуку до Audacity. Якщо цю затримку не компенсувати, у звукових "
-#: src/effects/VST/VSTEffect.cpp:774
-#: src/effects/audiounits/AudioUnitEffect.cpp:349
-#: src/effects/ladspa/LadspaEffect.cpp:372 src/effects/lv2/LV2Effect.cpp:220
+#: src/effects/VST/VSTEffect.cpp:775
+#: src/effects/audiounits/AudioUnitEffect.cpp:350
+#: src/effects/ladspa/LadspaEffect.cpp:378 src/effects/lv2/LV2Effect.cpp:215
msgid "notice that small silences have been inserted into the audio. "
msgstr "даних з’являться невеличкі проміжки тиші. "
-#: src/effects/VST/VSTEffect.cpp:775
-#: src/effects/audiounits/AudioUnitEffect.cpp:350
-#: src/effects/ladspa/LadspaEffect.cpp:373
+#: src/effects/VST/VSTEffect.cpp:776
+#: src/effects/audiounits/AudioUnitEffect.cpp:351
+#: src/effects/ladspa/LadspaEffect.cpp:379
msgid "Enabling this option will provide that compensation, but it may "
msgstr ""
"Якщо буде позначено цей пункт, програма намагатиметься застосувати "
"компенсацію, але "
-#: src/effects/VST/VSTEffect.cpp:776
+#: src/effects/VST/VSTEffect.cpp:777
msgid "not work for all VST effects."
msgstr "це працює не для усіх ефектів VST."
-#: src/effects/VST/VSTEffect.cpp:780
-#: src/effects/audiounits/AudioUnitEffect.cpp:355
-#: src/effects/ladspa/LadspaEffect.cpp:378 src/effects/lv2/LV2Effect.cpp:226
+#: src/effects/VST/VSTEffect.cpp:781
+#: src/effects/audiounits/AudioUnitEffect.cpp:356
+#: src/effects/ladspa/LadspaEffect.cpp:384 src/effects/lv2/LV2Effect.cpp:221
msgid "Enable &compensation"
msgstr "Увімкнути &компенсацію"
-#: src/effects/VST/VSTEffect.cpp:787 src/effects/lv2/LV2Effect.cpp:233
+#: src/effects/VST/VSTEffect.cpp:788 src/effects/lv2/LV2Effect.cpp:228
msgid "Graphical Mode"
msgstr "Графічний режим"
-#: src/effects/VST/VSTEffect.cpp:790
+#: src/effects/VST/VSTEffect.cpp:791
msgid ""
"Most VST effects have a graphical interface for setting parameter values."
msgstr ""
"У більшості ефектів VST для встановлення значень параметрів передбачено "
"графічний інтерфейс."
-#: src/effects/VST/VSTEffect.cpp:791 src/effects/lv2/LV2Effect.cpp:237
+#: src/effects/VST/VSTEffect.cpp:792 src/effects/lv2/LV2Effect.cpp:232
msgid " A basic text-only method is also available. "
msgstr " Втім, можна скористатися і простим текстовим способом. "
-#: src/effects/VST/VSTEffect.cpp:792
-#: src/effects/audiounits/AudioUnitEffect.cpp:368
-#: src/effects/lv2/LV2Effect.cpp:238
+#: src/effects/VST/VSTEffect.cpp:793
+#: src/effects/audiounits/AudioUnitEffect.cpp:369
+#: src/effects/lv2/LV2Effect.cpp:233
msgid " Reopen the effect for this to take effect."
msgstr " Повторно відкрийте ефект, щоб побачити зміни."
-#: src/effects/VST/VSTEffect.cpp:793 src/effects/lv2/LV2Effect.cpp:239
+#: src/effects/VST/VSTEffect.cpp:794 src/effects/lv2/LV2Effect.cpp:234
msgid "Enable &graphical interface"
msgstr "Увімкнути &графічний інтерфейс"
-#: src/effects/VST/VSTEffect.cpp:1177
+#: src/effects/VST/VSTEffect.cpp:1178
msgid "Audio In: "
msgstr "Вхід: "
-#: src/effects/VST/VSTEffect.cpp:1179
+#: src/effects/VST/VSTEffect.cpp:1180
msgid ", Audio Out: "
msgstr ", Вихід: "
-#: src/effects/VST/VSTEffect.cpp:1841
+#: src/effects/VST/VSTEffect.cpp:1842
msgid "Save VST Preset As:"
msgstr "Зберегти шаблон VST як:"
-#: src/effects/VST/VSTEffect.cpp:1872 src/effects/VST/VSTEffect.cpp:1923
+#: src/effects/VST/VSTEffect.cpp:1873 src/effects/VST/VSTEffect.cpp:1924
msgid "Unrecognized file extension."
msgstr "Невідомий суфікс назви файла."
-#: src/effects/VST/VSTEffect.cpp:1873 src/effects/VST/VSTEffect.cpp:3487
-#: src/effects/VST/VSTEffect.cpp:3554 src/effects/VST/VSTEffect.cpp:3571
-#: src/effects/VST/VSTEffect.cpp:3586
+#: src/effects/VST/VSTEffect.cpp:1874 src/effects/VST/VSTEffect.cpp:3488
+#: src/effects/VST/VSTEffect.cpp:3555 src/effects/VST/VSTEffect.cpp:3573
+#: src/effects/VST/VSTEffect.cpp:3588
msgid "Error Saving VST Presets"
msgstr "Помилка під час спроби збереження шаблону VST"
-#: src/effects/VST/VSTEffect.cpp:1891
+#: src/effects/VST/VSTEffect.cpp:1892
msgid "Load VST Preset:"
msgstr "Завантажити шаблон VST:"
-#: src/effects/VST/VSTEffect.cpp:1924 src/effects/VST/VSTEffect.cpp:1934
+#: src/effects/VST/VSTEffect.cpp:1925 src/effects/VST/VSTEffect.cpp:1935
#: src/effects/VST/VSTEffect.cpp:3084 src/effects/VST/VSTEffect.cpp:3098
#: src/effects/VST/VSTEffect.cpp:3258 src/effects/VST/VSTEffect.cpp:3272
#: src/effects/VST/VSTEffect.cpp:3471
msgid "Error Loading VST Presets"
msgstr "Помилка під час завантаження шаблонів VST"
-#: src/effects/VST/VSTEffect.cpp:1933
+#: src/effects/VST/VSTEffect.cpp:1934
msgid "Unable to load presets file."
msgstr "Не вдалося завантажити файл набору шаблонів."
-#: src/effects/VST/VSTEffect.cpp:2153
+#: src/effects/VST/VSTEffect.cpp:2154
msgid "VST plugin initialization failed\n"
msgstr "Не вдалося ініціалізувати додаток VST\n"
-#: src/effects/VST/VSTEffect.cpp:2871 src/effects/ladspa/LadspaEffect.cpp:1193
-#: src/effects/lv2/LV2Effect.cpp:1637
+#: src/effects/VST/VSTEffect.cpp:2871 src/effects/ladspa/LadspaEffect.cpp:1199
+#: src/effects/lv2/LV2Effect.cpp:1632
msgid "Effect Settings"
msgstr "Параметри ефекту"
@@ -8902,18 +9160,18 @@ msgstr ""
msgid "Unable to read presets file."
msgstr "Не вдалося прочитати файл набору шаблонів."
-#: src/effects/VST/VSTEffect.cpp:3486 src/effects/VST/VSTEffect.cpp:3570
+#: src/effects/VST/VSTEffect.cpp:3487 src/effects/VST/VSTEffect.cpp:3572
#: src/xml/XMLFileReader.cpp:46
#, c-format
msgid "Could not open file: \"%s\""
msgstr "Не вдається відкрити файл: «%s»"
-#: src/effects/VST/VSTEffect.cpp:3553 src/effects/VST/VSTEffect.cpp:3585
+#: src/effects/VST/VSTEffect.cpp:3554 src/effects/VST/VSTEffect.cpp:3587
#, c-format
msgid "Error writing to file: \"%s\""
msgstr "Помилка під час спроби записати дані до файла «%s»"
-#: src/effects/VST/VSTEffect.cpp:3783
+#: src/effects/VST/VSTEffect.cpp:3785
#, c-format
msgid "This parameter file was saved from %s. Continue?"
msgstr "Цей файл параметрів було збережено у %s. Продовжити?"
@@ -8953,168 +9211,168 @@ msgstr "Зсув частоти «вау» (%)"
msgid "Wahwah"
msgstr "Вау-вау"
-#: src/effects/audiounits/AudioUnitEffect.cpp:97
+#: src/effects/audiounits/AudioUnitEffect.cpp:98
msgid "Audio Unit Effects"
msgstr "Ефекти звукових модулів"
-#: src/effects/audiounits/AudioUnitEffect.cpp:113
+#: src/effects/audiounits/AudioUnitEffect.cpp:114
msgid "Provides Audio Unit Effects support to Audacity"
msgstr "Надає підтримку ефектів Audio Unit у Audacity"
-#: src/effects/audiounits/AudioUnitEffect.cpp:315
+#: src/effects/audiounits/AudioUnitEffect.cpp:316
msgid "Audio Unit Effect Options"
msgstr "Параметри ефектів Audio Unit"
-#: src/effects/audiounits/AudioUnitEffect.cpp:319
-#: src/effects/audiounits/AudioUnitEffect.cpp:401
+#: src/effects/audiounits/AudioUnitEffect.cpp:320
+#: src/effects/audiounits/AudioUnitEffect.cpp:402
msgid "Full"
msgstr "Повний"
-#: src/effects/audiounits/AudioUnitEffect.cpp:320
-#: src/effects/audiounits/AudioUnitEffect.cpp:405
+#: src/effects/audiounits/AudioUnitEffect.cpp:321
+#: src/effects/audiounits/AudioUnitEffect.cpp:406
msgid "Generic"
msgstr "Типовий"
-#: src/effects/audiounits/AudioUnitEffect.cpp:321
-#: src/effects/audiounits/AudioUnitEffect.cpp:409
+#: src/effects/audiounits/AudioUnitEffect.cpp:322
+#: src/effects/audiounits/AudioUnitEffect.cpp:410
msgid "Basic"
msgstr "Базовий"
-#: src/effects/audiounits/AudioUnitEffect.cpp:347
+#: src/effects/audiounits/AudioUnitEffect.cpp:348
msgid ""
"As part of their processing, some Audio Unit effects must delay returning "
msgstr ""
"Використання для обробки даних деяких з ефектів Audio Unit призводити до "
"затримки "
-#: src/effects/audiounits/AudioUnitEffect.cpp:351
+#: src/effects/audiounits/AudioUnitEffect.cpp:352
msgid "not work for all Audio Unit effects."
msgstr "це працює не для усіх ефектів Audio Unit."
-#: src/effects/audiounits/AudioUnitEffect.cpp:362
+#: src/effects/audiounits/AudioUnitEffect.cpp:363
msgid "User Interface"
msgstr "Інтерфейс користувача"
-#: src/effects/audiounits/AudioUnitEffect.cpp:365
+#: src/effects/audiounits/AudioUnitEffect.cpp:366
msgid ""
"Select \"Full\" to use the graphical interface if supplied by the Audio Unit."
msgstr ""
"Виберіть «Повний», щоб скористатися графічним інтерфейсом, якщо такий "
"надається Audio Unit."
-#: src/effects/audiounits/AudioUnitEffect.cpp:366
+#: src/effects/audiounits/AudioUnitEffect.cpp:367
msgid " Select \"Generic\" to use the system supplied generic interface."
msgstr " Виберіть «Типовий», щоб скористатися типовим інтерфейсом системи."
-#: src/effects/audiounits/AudioUnitEffect.cpp:367
+#: src/effects/audiounits/AudioUnitEffect.cpp:368
msgid " Select \"Basic\" for A basic text-only interface. "
msgstr " Виберіть «Базовий», щоб скористатися базовим текстовим інтерфейсом. "
-#: src/effects/audiounits/AudioUnitEffect.cpp:372
+#: src/effects/audiounits/AudioUnitEffect.cpp:373
msgid "Select &interface"
msgstr "Вибір і&нтерфейсу"
-#: src/effects/audiounits/AudioUnitEffect.cpp:453
+#: src/effects/audiounits/AudioUnitEffect.cpp:454
msgid "Export Audio Unit Presets"
msgstr "Експортувати набори налаштувань Audio Unit"
-#: src/effects/audiounits/AudioUnitEffect.cpp:472
-#: src/effects/audiounits/AudioUnitEffect.cpp:646
+#: src/effects/audiounits/AudioUnitEffect.cpp:473
+#: src/effects/audiounits/AudioUnitEffect.cpp:647
msgid "Presets (may select multiple)"
msgstr "Набори налаштувань (можна вибрати декілька)"
-#: src/effects/audiounits/AudioUnitEffect.cpp:477
-#: src/effects/audiounits/AudioUnitEffect.cpp:651 src/export/ExportMP3.cpp:352
+#: src/effects/audiounits/AudioUnitEffect.cpp:478
+#: src/effects/audiounits/AudioUnitEffect.cpp:652 src/export/ExportMP3.cpp:358
msgid "Preset"
msgstr "Шаблон"
-#: src/effects/audiounits/AudioUnitEffect.cpp:627
+#: src/effects/audiounits/AudioUnitEffect.cpp:628
msgid "Import Audio Unit Presets"
msgstr "Імпортувати набори налаштувань Audio Unit"
-#: src/effects/audiounits/AudioUnitEffect.cpp:652
+#: src/effects/audiounits/AudioUnitEffect.cpp:653
msgid "Location"
msgstr "Розташування"
-#: src/effects/ladspa/LadspaEffect.cpp:115
+#: src/effects/ladspa/LadspaEffect.cpp:116
msgid "LADSPA Effects"
msgstr "Ефекти LADSPA"
-#: src/effects/ladspa/LadspaEffect.cpp:136
+#: src/effects/ladspa/LadspaEffect.cpp:137
msgid "Provides LADSPA Effects"
msgstr "Забезпечує роботу ефектів LADSPA"
-#: src/effects/ladspa/LadspaEffect.cpp:346
+#: src/effects/ladspa/LadspaEffect.cpp:352
msgid "LADSPA Effect Options"
msgstr "Параметри ефектів LADSPA"
-#: src/effects/ladspa/LadspaEffect.cpp:370
+#: src/effects/ladspa/LadspaEffect.cpp:376
msgid "As part of their processing, some LADSPA effects must delay returning "
msgstr ""
"Використання для обробки даних деяких з ефектів LADSPA призводити до "
"затримки "
-#: src/effects/ladspa/LadspaEffect.cpp:374
+#: src/effects/ladspa/LadspaEffect.cpp:380
msgid "not work for all LADSPA effects."
msgstr "це працює не для усіх ефектів LADSPA."
-#: src/effects/ladspa/LadspaEffect.cpp:634 src/effects/lv2/LV2Effect.cpp:385
-#: src/effects/lv2/LV2Effect.cpp:398
+#: src/effects/ladspa/LadspaEffect.cpp:640 src/effects/lv2/LV2Effect.cpp:380
+#: src/effects/lv2/LV2Effect.cpp:393
msgid "N/A"
msgstr "н/д"
-#: src/effects/ladspa/LadspaEffect.cpp:1388
+#: src/effects/ladspa/LadspaEffect.cpp:1394
msgid "Effect Output"
msgstr "Результат ефекту"
-#: src/effects/lv2/LV2Effect.cpp:193
+#: src/effects/lv2/LV2Effect.cpp:188
msgid "LV2 Effect Settings"
msgstr "Параметри ефектів LV2"
-#: src/effects/lv2/LV2Effect.cpp:218
+#: src/effects/lv2/LV2Effect.cpp:213
msgid "As part of their processing, some LV2 effects must delay returning "
msgstr ""
"Використання для обробки даних деяких з ефектів LV2 може призводити до "
"затримки "
-#: src/effects/lv2/LV2Effect.cpp:221
+#: src/effects/lv2/LV2Effect.cpp:216
msgid "Enabling this setting will provide that compensation, but it may "
msgstr ""
"Якщо буде позначено цей пункт, програма намагатиметься виконати "
"компенсування, "
-#: src/effects/lv2/LV2Effect.cpp:222
+#: src/effects/lv2/LV2Effect.cpp:217
msgid "not work for all LV2 effects."
msgstr "але компенсація можлива не для усіх ефектів LV2."
-#: src/effects/lv2/LV2Effect.cpp:236
+#: src/effects/lv2/LV2Effect.cpp:231
msgid ""
"LV2 effects can have a graphical interface for setting parameter values."
msgstr ""
"У ефектах LV2 для встановлення значень параметрів передбачено графічний "
"інтерфейс."
-#: src/effects/lv2/LV2Effect.cpp:1606
+#: src/effects/lv2/LV2Effect.cpp:1601
msgid "Generator"
msgstr "Генератор"
-#: src/effects/lv2/LV2Effect.cpp:1610
+#: src/effects/lv2/LV2Effect.cpp:1605
msgid "&Duration:"
msgstr "&Тривалість:"
-#: src/effects/lv2/LoadLV2.cpp:101
+#: src/effects/lv2/LoadLV2.cpp:102
msgid "LV2 Effects"
msgstr "Ефекти LV2"
-#: src/effects/lv2/LoadLV2.cpp:122
+#: src/effects/lv2/LoadLV2.cpp:123
msgid "Provides LV2 Effects support to Audacity"
msgstr "Надає підтримку ефектів LV2 у Audacity"
-#: src/effects/nyquist/LoadNyquist.cpp:103
+#: src/effects/nyquist/LoadNyquist.cpp:104
msgid "Nyquist Effects"
msgstr "Ефекти Nyquist"
-#: src/effects/nyquist/LoadNyquist.cpp:124
+#: src/effects/nyquist/LoadNyquist.cpp:125
msgid "Provides Nyquist Effects support to Audacity"
msgstr "Надає підтримку ефектів Nyquist у Audacity"
@@ -9177,34 +9435,34 @@ msgstr "Обробку завершено."
msgid "Nyquist returned the value:"
msgstr "Nyquist повернула значення:"
-#: src/effects/nyquist/Nyquist.cpp:1142
+#: src/effects/nyquist/Nyquist.cpp:1141
msgid "Undefined return value.\n"
msgstr "Невизначене повернуте значення.\n"
-#: src/effects/nyquist/Nyquist.cpp:1151
+#: src/effects/nyquist/Nyquist.cpp:1150
msgid "Nyquist returned too many audio channels.\n"
msgstr "Модуль Nyquist повернув занадто багато звукових каналів.\n"
-#: src/effects/nyquist/Nyquist.cpp:1158
+#: src/effects/nyquist/Nyquist.cpp:1157
msgid "Nyquist returned one audio channel as an array.\n"
msgstr "Nyquist повернуто один звуковий канал у форматі масиву.\n"
-#: src/effects/nyquist/Nyquist.cpp:1165
+#: src/effects/nyquist/Nyquist.cpp:1164
msgid "Nyquist returned an empty array.\n"
msgstr "Бібліотекою Nyquist повернуто порожній масив.\n"
-#: src/effects/nyquist/Nyquist.cpp:1201
+#: src/effects/nyquist/Nyquist.cpp:1197
msgid "Nyquist did not return audio.\n"
msgstr "Модуль Nyquist не повернув звукові дані.\n"
-#: src/effects/nyquist/Nyquist.cpp:1265
+#: src/effects/nyquist/Nyquist.cpp:1259
msgid ""
"[Warning: Nyquist returned invalid UTF-8 string, converted here as Latin-1]"
msgstr ""
"[Попередження: Nyquist повернуто некоректний рядок UTF-8, його перетворено "
"до кодування Latin-1]"
-#: src/effects/nyquist/Nyquist.cpp:1574
+#: src/effects/nyquist/Nyquist.cpp:1568
#, c-format
msgid ""
"Bad Nyquist 'control' type specification: '%s' in plugin file '%s'.\n"
@@ -9214,7 +9472,7 @@ msgstr ""
"«%s».\n"
"Керування не створено."
-#: src/effects/nyquist/Nyquist.cpp:1678
+#: src/effects/nyquist/Nyquist.cpp:1672
msgid ""
"Your code looks like SAL syntax, but there is no return statement. Either "
"use a return statement such as\n"
@@ -9230,23 +9488,23 @@ msgstr ""
"\t(mult s 0.1)\n"
"як це робиться у LISP."
-#: src/effects/nyquist/Nyquist.cpp:1678
+#: src/effects/nyquist/Nyquist.cpp:1672
msgid "Error in Nyquist code"
msgstr "Помилка у коді Nyquist"
-#: src/effects/nyquist/Nyquist.cpp:1995
+#: src/effects/nyquist/Nyquist.cpp:1988
msgid "Enter Nyquist Command: "
msgstr "Введіть Nyquist-команду: "
-#: src/effects/nyquist/Nyquist.cpp:1999
+#: src/effects/nyquist/Nyquist.cpp:1992
msgid "&Use legacy (version 3) syntax."
msgstr "Ви&користовувати застарілий синтаксис (версії 3)."
-#: src/effects/nyquist/Nyquist.cpp:2013
+#: src/effects/nyquist/Nyquist.cpp:2006
msgid "&Load"
msgstr "&Завантажити"
-#: src/effects/nyquist/Nyquist.cpp:2125
+#: src/effects/nyquist/Nyquist.cpp:2118
msgid ""
"Current program has been modified.\n"
"Discard changes?"
@@ -9254,7 +9512,7 @@ msgstr ""
"Поточну програму було змінено.\n"
"Відкинути зміни?"
-#: src/effects/nyquist/Nyquist.cpp:2137
+#: src/effects/nyquist/Nyquist.cpp:2130
msgid ""
"Nyquist scripts (*.ny)|*.ny|Lisp scripts (*.lsp)|*.lsp|Text files (*.txt)|*."
"txt|All files|*"
@@ -9262,25 +9520,19 @@ msgstr ""
"скрипти Nyquist (*.ny)|*.ny|скрипти Lisp (*.lsp)|*.lsp|текстові файли (*."
"txt)|*.txt|усі файли|*"
-#: src/effects/nyquist/Nyquist.cpp:2149
+#: src/effects/nyquist/Nyquist.cpp:2142
msgid "File could not be loaded"
msgstr "Не вдалося завантажити файл"
-#: src/effects/nyquist/Nyquist.cpp:2171
+#: src/effects/nyquist/Nyquist.cpp:2164
msgid "File could not be saved"
msgstr "Не вдалося зберегти файл"
-#. i18n-hint: In most languages OK is to be translated as OK. It appears on a button.
-#: src/effects/nyquist/Nyquist.cpp:2272 src/widgets/ErrorDialog.cpp:126
-#: src/widgets/MultiDialog.cpp:128
-msgid "OK"
-msgstr "Гаразд"
-
-#: src/effects/vamp/LoadVamp.cpp:84
+#: src/effects/vamp/LoadVamp.cpp:85
msgid "Vamp Effects"
msgstr "Ефекти Vamp"
-#: src/effects/vamp/LoadVamp.cpp:100
+#: src/effects/vamp/LoadVamp.cpp:101
msgid "Provides Vamp Effects support to Audacity"
msgstr "Надає підтримку ефектів Vamp у Audacity"
@@ -9308,39 +9560,39 @@ msgstr "Параметри додатка"
msgid "Program"
msgstr "Програма"
-#: src/export/Export.cpp:236
+#: src/export/Export.cpp:230
msgid "No format specific options"
msgstr "Немає специфічних для формату параметрів"
-#: src/export/Export.cpp:275
+#: src/export/Export.cpp:269
msgid "Export Audio"
msgstr "Експорт звукових даних"
-#: src/export/Export.cpp:367
+#: src/export/Export.cpp:356 src/export/Export.cpp:975
msgid "Edit Metadata Tags for Export"
msgstr "Редагувати мітки метаданих для експортування"
-#: src/export/Export.cpp:367
+#: src/export/Export.cpp:356 src/export/Export.cpp:976
msgid "Exported Tags"
msgstr "Експортовані мітки"
-#: src/export/Export.cpp:483
+#: src/export/Export.cpp:474
msgid "All selected audio is muted."
msgstr "Всі позначені ділянки звукових доріжок замінено тишею."
-#: src/export/Export.cpp:485 src/export/ExportMultiple.cpp:184
+#: src/export/Export.cpp:476 src/export/ExportMultiple.cpp:186
msgid "All audio is muted."
msgstr "Всі дані звукових доріжок замінено тишею."
-#: src/export/Export.cpp:487
+#: src/export/Export.cpp:478
msgid "Unable to export"
msgstr "Не вдалося експортувати"
-#: src/export/Export.cpp:590
+#: src/export/Export.cpp:587
msgid "Are you sure you want to export the file as \""
msgstr "Ви справді хочете експортувати дані до файла з назвою «"
-#: src/export/Export.cpp:610
+#: src/export/Export.cpp:607
#, c-format
msgid ""
"You are about to export a %s file with the name \"%s\".\n"
@@ -9357,18 +9609,19 @@ msgstr ""
"\n"
"Ви справді бажаєте експортувати файл з цією назвою?"
-#: src/export/Export.cpp:624
+#: src/export/Export.cpp:621
msgid "Sorry, pathnames longer than 256 characters not supported."
msgstr "Шляхи, що містять більш ніж 256 символів, не підтримуються."
-#: src/export/Export.cpp:642
+#: src/export/Export.cpp:638
msgid ""
"You are attempting to overwrite an aliased file that is missing.\n"
-"The file cannot be written because the path is needed to restore the "
-"original audio to the project.\n"
-"Choose File > Check Dependencies to view the locations of all missing "
-"files.\n"
-"If you still wish to export, please choose a different filename or folder."
+" The file cannot be written because the path is needed to "
+"restore the original audio to the project.\n"
+" Choose File > Check Dependencies to view the locations of all "
+"missing files.\n"
+" If you still wish to export, please choose a different "
+"filename or folder."
msgstr ""
"Ви наказали програмі перезаписати пов’язаний файл, якого не вистачає у "
"проекті.\n"
@@ -9379,47 +9632,55 @@ msgstr ""
"Якщо ви все ще бажаєте експортувати дані, будь ласка, вкажіть іншу назву "
"файла або теки."
-#: src/export/Export.cpp:656
+#: src/export/Export.cpp:652
#, c-format
msgid "A file named \"%s\" already exists. Replace?"
msgstr "Файл з назвою «%s» вже існує. Замінити?"
-#: src/export/Export.cpp:770
-msgid ""
-"Your tracks will be mixed down to two stereo channels in the exported file."
-msgstr "У експортованому файлі доріжки будуть зведені у два стереоканали."
-
-#: src/export/Export.cpp:777
+#: src/export/Export.cpp:773
msgid ""
"Your tracks will be mixed down to a single mono channel in the exported file."
msgstr "У експортованому файлі доріжки будуть зведені у один моноканал."
-#: src/export/Export.cpp:790
+#: src/export/Export.cpp:780
+msgid ""
+"Your tracks will be mixed down to two stereo channels in the exported file."
+msgstr "У експортованому файлі доріжки будуть зведені у два стереоканали."
+
+#: src/export/Export.cpp:787
+msgid ""
+"Your tracks will be mixed down to one exported file according to the encoder "
+"settings."
+msgstr ""
+"Доріжки буде змікшовано до одного експортованого файла відповідно до "
+"параметрів засобу кодування."
+
+#: src/export/Export.cpp:803
msgid "Advanced Mixing Options"
msgstr "Додаткові параметри мікшування"
-#: src/export/Export.cpp:854
+#: src/export/Export.cpp:867
msgid "Format Options"
msgstr "Параметри форматування"
-#: src/export/Export.cpp:1050
+#: src/export/Export.cpp:1145
#, c-format
msgid "Channel: %2d"
msgstr "Канал: %2d"
-#: src/export/Export.cpp:1168
+#: src/export/Export.cpp:1263
msgid " - L"
msgstr " - Л"
-#: src/export/Export.cpp:1170
+#: src/export/Export.cpp:1265
msgid " - R"
msgstr " - П"
-#: src/export/Export.cpp:1195
+#: src/export/Export.cpp:1293
msgid "Mixer Panel"
msgstr "Панель мікшера"
-#: src/export/Export.cpp:1202 src/export/Export.cpp:1252
+#: src/export/Export.cpp:1300 src/export/Export.cpp:1350
#, c-format
msgid "Output Channels: %2d"
msgstr "Вихідні канали: %2d"
@@ -9445,28 +9706,28 @@ msgstr ""
msgid "Find path to command"
msgstr "Знайти каталог команди"
-#: src/export/ExportCL.cpp:306
+#: src/export/ExportCL.cpp:305
msgid "(external program)"
msgstr "(зовнішня програма)"
-#: src/export/ExportCL.cpp:371 src/export/ExportPCM.cpp:459
+#: src/export/ExportCL.cpp:365 src/export/ExportPCM.cpp:451
#, c-format
msgid "Cannot export audio to %s"
msgstr "Не вдається експортувати дані у %s"
-#: src/export/ExportCL.cpp:444 src/export/ExportMultiple.cpp:383
+#: src/export/ExportCL.cpp:438 src/export/ExportMultiple.cpp:391
msgid "Export"
msgstr "Експорт"
-#: src/export/ExportCL.cpp:446
+#: src/export/ExportCL.cpp:440
msgid "Exporting the selected audio using command-line encoder"
msgstr "Вибране експортується через консольний кодувальник"
-#: src/export/ExportCL.cpp:447
+#: src/export/ExportCL.cpp:441
msgid "Exporting the entire project using command-line encoder"
msgstr "Весь проект експортується через консольний кодувальник"
-#: src/export/ExportCL.cpp:509
+#: src/export/ExportCL.cpp:503
msgid "Command Output"
msgstr "Виведення команди"
@@ -9480,36 +9741,36 @@ msgstr ""
"Ви можете налаштувати цю бібліотеку за допомогою сторінки «Параметри-"
">Бібліотеки»."
-#: src/export/ExportFFmpeg.cpp:273
+#: src/export/ExportFFmpeg.cpp:281
#, c-format
msgid "FFmpeg : ERROR - Can't determine format description for file \"%s\"."
msgstr "FFmpeg: помилка, не вдалося визначити опис формату для файла «%s»."
-#: src/export/ExportFFmpeg.cpp:274 src/export/ExportFFmpeg.cpp:282
-#: src/export/ExportFFmpeg.cpp:294 src/export/ExportFFmpeg.cpp:306
-#: src/export/ExportFFmpeg.cpp:330 src/export/ExportFFmpeg.cpp:466
-#: src/export/ExportFFmpeg.cpp:499 src/export/ExportFFmpeg.cpp:519
-#: src/export/ExportFFmpeg.cpp:547 src/export/ExportFFmpeg.cpp:553
-#: src/export/ExportFFmpeg.cpp:561 src/export/ExportFFmpeg.cpp:609
-#: src/export/ExportFFmpeg.cpp:639 src/export/ExportFFmpeg.cpp:699
-#: src/export/ExportFFmpeg.cpp:754 src/export/ExportFFmpeg.cpp:772
-#: src/export/ExportFFmpeg.cpp:791
+#: src/export/ExportFFmpeg.cpp:282 src/export/ExportFFmpeg.cpp:291
+#: src/export/ExportFFmpeg.cpp:304 src/export/ExportFFmpeg.cpp:329
+#: src/export/ExportFFmpeg.cpp:355 src/export/ExportFFmpeg.cpp:495
+#: src/export/ExportFFmpeg.cpp:528 src/export/ExportFFmpeg.cpp:549
+#: src/export/ExportFFmpeg.cpp:579 src/export/ExportFFmpeg.cpp:585
+#: src/export/ExportFFmpeg.cpp:593 src/export/ExportFFmpeg.cpp:641
+#: src/export/ExportFFmpeg.cpp:667 src/export/ExportFFmpeg.cpp:730
+#: src/export/ExportFFmpeg.cpp:780 src/export/ExportFFmpeg.cpp:798
+#: src/export/ExportFFmpeg.cpp:817
msgid "FFmpeg Error"
msgstr "Помилка FFmpeg"
-#: src/export/ExportFFmpeg.cpp:281
+#: src/export/ExportFFmpeg.cpp:290
msgid "FFmpeg : ERROR - Can't allocate output format context."
msgstr ""
"FFmpeg: помилка, не вдалося розмістити контекст формату виведення у пам’яті."
-#: src/export/ExportFFmpeg.cpp:293
+#: src/export/ExportFFmpeg.cpp:303
#, c-format
msgid "FFmpeg : ERROR - Can't add audio stream to output file \"%s\"."
msgstr ""
"FFmpeg: помилка, не вдалося додати потік звукових даних до файла виведення "
"«%s»."
-#: src/export/ExportFFmpeg.cpp:329
+#: src/export/ExportFFmpeg.cpp:354
#, c-format
msgid ""
"FFmpeg : ERROR - Can't write headers to output file \"%s\". Error code is %d."
@@ -9517,7 +9778,7 @@ msgstr ""
"FFmpeg: помилка, не вдалося записати заголовки до файла результатів «%s». "
"Код помилки — %d."
-#: src/export/ExportFFmpeg.cpp:465
+#: src/export/ExportFFmpeg.cpp:494
#, c-format
msgid ""
"FFmpeg cannot find audio codec 0x%x.\n"
@@ -9526,56 +9787,56 @@ msgstr ""
"FFmpeg не вдалося знайти звукового кодека 0x%x.\n"
"Ймовірно, бібліотеку було зібрано без підтримки цього кодека."
-#: src/export/ExportFFmpeg.cpp:498
+#: src/export/ExportFFmpeg.cpp:527
#, c-format
msgid "FFmpeg : ERROR - Can't open audio codec 0x%x."
msgstr "FFmpeg: помилка, не вдалося відкрити звуковий кодек 0x%x."
-#: src/export/ExportFFmpeg.cpp:518
+#: src/export/ExportFFmpeg.cpp:548
msgid "FFmpeg : ERROR - Can't allocate buffer to read into from audio FIFO."
msgstr ""
"FFmpeg: помилка не вдалося розмістити буфер для читання даних зі звукового "
"потоку FIFO."
-#: src/export/ExportFFmpeg.cpp:546
+#: src/export/ExportFFmpeg.cpp:578
msgid "FFmpeg : ERROR - Could not get sample buffer size"
msgstr "FFmpeg: помилка, не вдалося отримати розмір буфера семплів"
-#: src/export/ExportFFmpeg.cpp:552
+#: src/export/ExportFFmpeg.cpp:584
msgid "FFmpeg : ERROR - Could not allocate bytes for samples buffer"
msgstr "FFmpeg: помилка, не вдалося розмістити байти для буфера семплів"
-#: src/export/ExportFFmpeg.cpp:560
+#: src/export/ExportFFmpeg.cpp:592
msgid "FFmpeg : ERROR - Could not setup audio frame"
msgstr "FFmpeg: помилка, не вдалося налаштувати фрагмент звукових даних"
-#: src/export/ExportFFmpeg.cpp:608
+#: src/export/ExportFFmpeg.cpp:640
msgid "FFmpeg : ERROR - encoding frame failed"
msgstr "FFmpeg: помилка під час кодування фрагмента"
-#: src/export/ExportFFmpeg.cpp:638
+#: src/export/ExportFFmpeg.cpp:666
msgid "FFmpeg : ERROR - Too much remaining data."
msgstr "FFmpeg: помилка, забагато залишкових даних."
-#: src/export/ExportFFmpeg.cpp:698
+#: src/export/ExportFFmpeg.cpp:729
msgid "FFmpeg : ERROR - Couldn't write last audio frame to output file."
msgstr ""
"FFmpeg: помилка, не вдалося записати останній фрагмент звукових даних до "
"файла результатів."
-#: src/export/ExportFFmpeg.cpp:753
+#: src/export/ExportFFmpeg.cpp:779
msgid "FFmpeg : ERROR - nAudioFrameSizeOut too large."
msgstr "FFmpeg: помилка, nAudioFrameSizeOut є надто великим."
-#: src/export/ExportFFmpeg.cpp:771
+#: src/export/ExportFFmpeg.cpp:797
msgid "FFmpeg : ERROR - Can't encode audio frame."
msgstr "FFmpeg: помилка, не вдалося закодувати звуковий фрагмент."
-#: src/export/ExportFFmpeg.cpp:790
+#: src/export/ExportFFmpeg.cpp:816
msgid "FFmpeg : ERROR - Failed to write audio frame to file."
msgstr "FFmpeg: помилка, не вдалося записати звуковий фрагмент до файла."
-#: src/export/ExportFFmpeg.cpp:813
+#: src/export/ExportFFmpeg.cpp:838
#, c-format
msgid ""
"Attempted to export %d channels, but maximum number of channels for selected "
@@ -9584,21 +9845,21 @@ msgstr ""
"Спроба експорту з %d каналами, але максимальною кількістю каналів для "
"вибраного формату виводу є %d"
-#: src/export/ExportFFmpeg.cpp:845
+#: src/export/ExportFFmpeg.cpp:870
#, c-format
msgid "Exporting selected audio as %s"
msgstr "Експорт вибраних звукових даних як %s"
-#: src/export/ExportFFmpeg.cpp:846
+#: src/export/ExportFFmpeg.cpp:871
#, c-format
msgid "Exporting entire file as %s"
msgstr "Експорт всього файла як %s"
-#: src/export/ExportFFmpeg.cpp:916 src/export/ExportMP3.cpp:1898
+#: src/export/ExportFFmpeg.cpp:939 src/export/ExportMP3.cpp:1930
msgid "Invalid sample rate"
msgstr "Некоректна частота дискретизації"
-#: src/export/ExportFFmpeg.cpp:930
+#: src/export/ExportFFmpeg.cpp:953
#, c-format
msgid ""
"The project sample rate (%d) is not supported by the current output\n"
@@ -9607,7 +9868,7 @@ msgstr ""
"Частота дискретизації проекту (%d) не підтримується поточним форматом\n"
"файла виводу даних. "
-#: src/export/ExportFFmpeg.cpp:933
+#: src/export/ExportFFmpeg.cpp:956
#, c-format
msgid ""
"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
@@ -9616,11 +9877,11 @@ msgstr ""
"Набір частоти дискретизації проекту (%d) та швидкості (%d кб/с)\n"
"не підтримується поточним форматом файла виводу. "
-#: src/export/ExportFFmpeg.cpp:936 src/export/ExportMP3.cpp:1918
+#: src/export/ExportFFmpeg.cpp:959 src/export/ExportMP3.cpp:1950
msgid "You may resample to one of the rates below."
msgstr "Ви можете змінити частоту на одну з наведених нижче."
-#: src/export/ExportFFmpeg.cpp:964 src/export/ExportMP3.cpp:1941
+#: src/export/ExportFFmpeg.cpp:987 src/export/ExportMP3.cpp:1973
msgid "Sample Rates"
msgstr "Частоти дискретизації"
@@ -9754,7 +10015,7 @@ msgstr "Імпортувати шаблони"
msgid "Export Presets"
msgstr "Експортувати шаблони"
-#: src/export/ExportFFmpegDialogs.cpp:1412 src/export/ExportMultiple.cpp:261
+#: src/export/ExportFFmpegDialogs.cpp:1412 src/export/ExportMultiple.cpp:269
msgid "Format:"
msgstr "Формат:"
@@ -10151,16 +10412,16 @@ msgstr "24 біт"
msgid "Bit depth:"
msgstr "Бітова глибина:"
-#: src/export/ExportFLAC.cpp:213
+#: src/export/ExportFLAC.cpp:212
msgid "FLAC Files"
msgstr "Файли FLAC"
-#: src/export/ExportFLAC.cpp:294
+#: src/export/ExportFLAC.cpp:288
#, c-format
msgid "FLAC export couldn't open %s"
msgstr "Інструментові експорту до FLAC не вдалося відкрити %s"
-#: src/export/ExportFLAC.cpp:303
+#: src/export/ExportFLAC.cpp:297
#, c-format
msgid ""
"FLAC encoder failed to initialize\n"
@@ -10169,143 +10430,147 @@ msgstr ""
"Не вдалося ініціалізувати інструмент кодування FLAC\n"
"Стан: %d"
-#: src/export/ExportFLAC.cpp:329
+#: src/export/ExportFLAC.cpp:323
msgid "Exporting the selected audio as FLAC"
msgstr "Експорт вибраного аудіо як FLAC"
-#: src/export/ExportFLAC.cpp:330
+#: src/export/ExportFLAC.cpp:324
msgid "Exporting the entire project as FLAC"
msgstr "Експорт всього проекту до FLAC"
-#: src/export/ExportMP2.cpp:204
+#: src/export/ExportMP2.cpp:203
msgid "MP2 Files"
msgstr "Файли MP2"
-#: src/export/ExportMP2.cpp:234
+#: src/export/ExportMP2.cpp:228
msgid "Cannot export MP2 with this sample rate and bit rate"
msgstr ""
"Не вдалося експортувати MP2 з цією частотою дискретизації та бітовою частотою"
-#: src/export/ExportMP2.cpp:246 src/export/ExportMP3.cpp:1745
-#: src/export/ExportOGG.cpp:188
+#: src/export/ExportMP2.cpp:240 src/export/ExportMP3.cpp:1779
+#: src/export/ExportOGG.cpp:182
msgid "Unable to open target file for writing"
msgstr "Не вдається відкрити кінцевий файл для запису"
-#: src/export/ExportMP2.cpp:279
+#: src/export/ExportMP2.cpp:273
#, c-format
msgid "Exporting selected audio at %ld kbps"
msgstr "Експорт вибраного аудіо на %ld кб/с"
-#: src/export/ExportMP2.cpp:280
+#: src/export/ExportMP2.cpp:274
#, c-format
msgid "Exporting entire file at %ld kbps"
msgstr "Експорт всього файла на %ld кб/с"
-#: src/export/ExportMP3.cpp:220 src/export/ExportMP3.cpp:238
-#: src/export/ExportMP3.cpp:253
+#: src/export/ExportMP3.cpp:223 src/export/ExportMP3.cpp:241
+#: src/export/ExportMP3.cpp:256
msgid "kbps"
msgstr "кб/с"
-#: src/export/ExportMP3.cpp:239
+#: src/export/ExportMP3.cpp:242
msgid "(Best Quality)"
msgstr "(Найякісніше)"
-#: src/export/ExportMP3.cpp:240
+#: src/export/ExportMP3.cpp:243
msgid "(Smaller files)"
msgstr "(Найстисліше)"
-#: src/export/ExportMP3.cpp:242
+#: src/export/ExportMP3.cpp:245
msgid "Fast"
msgstr "Швидка"
-#: src/export/ExportMP3.cpp:243 src/export/ExportMP3.cpp:250
+#: src/export/ExportMP3.cpp:246 src/export/ExportMP3.cpp:253
msgid "Standard"
msgstr "Стандартна"
#. i18n-hint: Slightly humorous - as in use an insane precision with MP3.
-#: src/export/ExportMP3.cpp:248
+#: src/export/ExportMP3.cpp:251
msgid "Insane"
msgstr "Божевільна"
-#: src/export/ExportMP3.cpp:249
+#: src/export/ExportMP3.cpp:252
msgid "Extreme"
msgstr "Екстремальна"
-#: src/export/ExportMP3.cpp:251
+#: src/export/ExportMP3.cpp:254
msgid "Medium"
msgstr "Середня"
-#: src/export/ExportMP3.cpp:347
+#: src/export/ExportMP3.cpp:353
msgid "Bit Rate Mode:"
msgstr "Режим бітової частоти:"
-#: src/export/ExportMP3.cpp:353
+#: src/export/ExportMP3.cpp:359
msgid "Variable"
msgstr "Змінна"
-#: src/export/ExportMP3.cpp:354
+#: src/export/ExportMP3.cpp:360
msgid "Average"
msgstr "Усереднена"
-#: src/export/ExportMP3.cpp:355
+#: src/export/ExportMP3.cpp:361
msgid "Constant"
msgstr "Стала"
-#: src/export/ExportMP3.cpp:392 src/prefs/QualityPrefs.cpp:37
+#: src/export/ExportMP3.cpp:398 src/prefs/QualityPrefs.cpp:37
msgid "Quality"
msgstr "Якість"
-#: src/export/ExportMP3.cpp:398
+#: src/export/ExportMP3.cpp:404
msgid "Variable Speed:"
msgstr "Змінна швидкість:"
-#: src/export/ExportMP3.cpp:405
+#: src/export/ExportMP3.cpp:411
msgid "Channel Mode:"
msgstr "Режим каналів:"
-#: src/export/ExportMP3.cpp:410
+#: src/export/ExportMP3.cpp:419
msgid "Joint Stereo"
msgstr "З'єднане стерео"
-#: src/export/ExportMP3.cpp:411
+#: src/export/ExportMP3.cpp:420
msgid "Stereo"
msgstr "Стерео"
+#: src/export/ExportMP3.cpp:426
+msgid "Force export to mono"
+msgstr "Примусове експортування у моно"
+
#. i18n-hint: LAME is the name of an MP3 converter and should not be translated
-#: src/export/ExportMP3.cpp:568
+#: src/export/ExportMP3.cpp:592
msgid "Locate Lame"
msgstr "Знайти Lame"
-#: src/export/ExportMP3.cpp:589
+#: src/export/ExportMP3.cpp:613
#, c-format
msgid "Audacity needs the file %s to create MP3s."
msgstr "Audacity потребує файла %s для створення MP3."
-#: src/export/ExportMP3.cpp:595
+#: src/export/ExportMP3.cpp:619
#, c-format
msgid "Location of %s:"
msgstr "Розташування %s:"
#. i18n-hint: There is a button to the right of the arrow.
-#: src/export/ExportMP3.cpp:605
+#: src/export/ExportMP3.cpp:629
#, c-format
msgid "To find %s, click here -->"
msgstr "Щоб знайти %s, клацніть тут —>"
#. i18n-hint: There is a button to the right of the arrow.
-#: src/export/ExportMP3.cpp:613
+#: src/export/ExportMP3.cpp:637
msgid "To get a free copy of Lame, click here -->"
msgstr "Щоб дістати вільну копію Lame, клацніть тут —>"
#. i18n-hint: It's asking for the location of a file, for
#. * example, "Where is lame_enc.dll?" - you could translate
#. * "Where would I find the file %s" instead if you want.
-#: src/export/ExportMP3.cpp:637
+#: src/export/ExportMP3.cpp:661
#, c-format
msgid "Where is %s?"
msgstr "Де знаходиться %s?"
-#: src/export/ExportMP3.cpp:1142
+#: src/export/ExportMP3.cpp:1166
#, c-format
msgid ""
"You are linking to lame_enc.dll v%d.%d. This version is not compatible with "
@@ -10316,14 +10581,14 @@ msgstr ""
"версія бібліотеки не є сумісною з Audacity %d.%d.%d.\n"
"Будь ласка, звантажте найостаннішу версію бібліотеки LAME MP3."
-#: src/export/ExportMP3.cpp:1420
+#: src/export/ExportMP3.cpp:1445
msgid ""
"Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|"
"All Files|*"
msgstr ""
"Лише lame_enc.dll|lame_enc.dll|Динамічні бібліотеки (*.dll)|*.dll|Усі файли|*"
-#: src/export/ExportMP3.cpp:1438
+#: src/export/ExportMP3.cpp:1463
msgid ""
"Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|"
"All Files (*)|*"
@@ -10331,7 +10596,7 @@ msgstr ""
"Тільки libmp3lame.dylib|libmp3lame.dylib|Динамічні бібліотеки (*.dylib)|*."
"dylib|Всі файли (*)|*"
-#: src/export/ExportMP3.cpp:1456
+#: src/export/ExportMP3.cpp:1481
msgid ""
"Only libmp3lame.so.0|libmp3lame.so.0|Primary Shared Object files (*.so)|*.so|"
"Extended Libraries (*.so*)|*.so*|All Files (*)|*"
@@ -10339,62 +10604,62 @@ msgstr ""
"Лише libmp3lame.so|libmp3lame.so|Первинні спільні бібліотеки (*.so)|*.so|"
"Розширені бібліотеки (*.so*)|*.so*|Усі файли (*)|*"
-#: src/export/ExportMP3.cpp:1595
+#: src/export/ExportMP3.cpp:1620
msgid "MP3 Files"
msgstr "Файли MP3"
-#: src/export/ExportMP3.cpp:1609 src/export/ExportMP3.cpp:1647
+#: src/export/ExportMP3.cpp:1629 src/export/ExportMP3.cpp:1676
msgid "Could not open MP3 encoding library!"
msgstr "Не вдається відкрити бібліотеку для експорту у MP3!"
-#: src/export/ExportMP3.cpp:1639
+#: src/export/ExportMP3.cpp:1668
msgid "Could not initialize MP3 encoding library!"
msgstr "Не вдалося ініціалізувати бібліотеку кодування MP3!"
-#: src/export/ExportMP3.cpp:1655
+#: src/export/ExportMP3.cpp:1684
msgid "Not a valid or supported MP3 encoding library!"
msgstr "Неправильна, або непідтримувана бібліотека стиснення MP3!"
-#: src/export/ExportMP3.cpp:1734
+#: src/export/ExportMP3.cpp:1768
msgid "Unable to initialize MP3 stream"
msgstr "Не вдалося започаткувати потік MP3"
-#: src/export/ExportMP3.cpp:1776
+#: src/export/ExportMP3.cpp:1811
#, c-format
msgid "Exporting selected audio with %s preset"
msgstr "Експорт вибраного аудіо за шаблоном %s"
-#: src/export/ExportMP3.cpp:1777
+#: src/export/ExportMP3.cpp:1812
#, c-format
msgid "Exporting entire file with %s preset"
msgstr "Експорт цілого файла за шаблоном %s"
-#: src/export/ExportMP3.cpp:1782
+#: src/export/ExportMP3.cpp:1817
#, c-format
msgid "Exporting selected audio with VBR quality %s"
msgstr "Експорт вибраного аудіо з якістю VBR %s"
-#: src/export/ExportMP3.cpp:1783
+#: src/export/ExportMP3.cpp:1818
#, c-format
msgid "Exporting entire file with VBR quality %s"
msgstr "Експорт цілого файла з якістю VBR %s"
-#: src/export/ExportMP3.cpp:1788
+#: src/export/ExportMP3.cpp:1823
#, c-format
msgid "Exporting selected audio at %d Kbps"
msgstr "Експорт вибраного аудіо на швидкості %d кб/с"
-#: src/export/ExportMP3.cpp:1789
+#: src/export/ExportMP3.cpp:1824
#, c-format
msgid "Exporting entire file at %d Kbps"
msgstr "Експорт цілого файла на швидкості %d кб/с"
-#: src/export/ExportMP3.cpp:1824
+#: src/export/ExportMP3.cpp:1858
#, c-format
msgid "Error %ld returned from MP3 encoder"
msgstr "Модуль кодування MP3 повернув помилку %ld"
-#: src/export/ExportMP3.cpp:1912
+#: src/export/ExportMP3.cpp:1944
#, c-format
msgid ""
"The project sample rate (%d) is not supported by the MP3\n"
@@ -10403,7 +10668,7 @@ msgstr ""
"Частота дискретизації проекту (%d) не підтримується форматом\n"
"файлів MP3. "
-#: src/export/ExportMP3.cpp:1915
+#: src/export/ExportMP3.cpp:1947
#, c-format
msgid ""
"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
@@ -10412,20 +10677,20 @@ msgstr ""
"Набір частоти дискретизації проекту (%d) та швидкості (%d кб/с)\n"
"не підтримується форматом файлів MP3. "
-#: src/export/ExportMP3.cpp:2088
+#: src/export/ExportMP3.cpp:2120
msgid "MP3 export library not found"
msgstr "Не знайдено бібліотеку експорту до MP3"
-#: src/export/ExportMultiple.cpp:107 src/export/ExportMultiple.cpp:465
-#: src/export/ExportMultiple.cpp:584
+#: src/export/ExportMultiple.cpp:107 src/export/ExportMultiple.cpp:475
+#: src/export/ExportMultiple.cpp:597
msgid "Export Multiple"
msgstr "Експорт у декілька файлів"
-#: src/export/ExportMultiple.cpp:185 src/export/ExportMultiple.cpp:195
+#: src/export/ExportMultiple.cpp:187 src/export/ExportMultiple.cpp:197
msgid "Cannot Export Multiple"
msgstr "Експорт до декількох файлів неможливий"
-#: src/export/ExportMultiple.cpp:193
+#: src/export/ExportMultiple.cpp:195
msgid ""
"You have only one unmuted Audio Track and no applicable \n"
"labels, so you cannot export to separate audio files."
@@ -10434,111 +10699,111 @@ msgstr ""
"відповідних міток. Отже ви не зможете експортувати дані до декількох окремих "
"файлів."
-#: src/export/ExportMultiple.cpp:248
+#: src/export/ExportMultiple.cpp:256
msgid "Export files to:"
msgstr "Експортувати файли до:"
-#: src/export/ExportMultiple.cpp:253
+#: src/export/ExportMultiple.cpp:261
msgid "Folder:"
msgstr "Тека:"
-#: src/export/ExportMultiple.cpp:258
+#: src/export/ExportMultiple.cpp:266
msgid "Create"
msgstr "Створити"
-#: src/export/ExportMultiple.cpp:269
+#: src/export/ExportMultiple.cpp:277
msgid "Options:"
msgstr "Параметри:"
-#: src/export/ExportMultiple.cpp:295
+#: src/export/ExportMultiple.cpp:303
msgid "Split files based on:"
msgstr "Розділити файли за принципом:"
-#: src/export/ExportMultiple.cpp:305 src/export/ExportMultiple.cpp:306
+#: src/export/ExportMultiple.cpp:313 src/export/ExportMultiple.cpp:314
msgid "Labels"
msgstr "Позначки"
-#: src/export/ExportMultiple.cpp:315
+#: src/export/ExportMultiple.cpp:323
msgid "Include audio before first label"
msgstr "Включати звук перед першою позначкою"
-#: src/export/ExportMultiple.cpp:322
+#: src/export/ExportMultiple.cpp:330
msgid "First file name:"
msgstr "Назва першого файла:"
-#: src/export/ExportMultiple.cpp:327
+#: src/export/ExportMultiple.cpp:335
msgid "First file name"
msgstr "Назва першого файла"
-#: src/export/ExportMultiple.cpp:338
+#: src/export/ExportMultiple.cpp:346
msgid "Name files:"
msgstr "Назви файлів:"
-#: src/export/ExportMultiple.cpp:344
+#: src/export/ExportMultiple.cpp:352
msgid "Using Label/Track Name"
msgstr "Використовується позначка/назва доріжки"
-#: src/export/ExportMultiple.cpp:347
+#: src/export/ExportMultiple.cpp:355
msgid "Numbering before Label/Track Name"
msgstr "Нумерація перед міткою/назвою доріжки"
-#: src/export/ExportMultiple.cpp:350
+#: src/export/ExportMultiple.cpp:358
msgid "Numbering after File name prefix"
msgstr "Нумерація після префікса назви файла"
-#: src/export/ExportMultiple.cpp:359
+#: src/export/ExportMultiple.cpp:367
msgid "File name prefix:"
msgstr "Префікс назви файла:"
-#: src/export/ExportMultiple.cpp:364
+#: src/export/ExportMultiple.cpp:372
msgid "File name prefix"
msgstr "Префікс назви файла"
-#: src/export/ExportMultiple.cpp:375
+#: src/export/ExportMultiple.cpp:383
msgid "Overwrite existing files"
msgstr "Перезаписати існуючі файли"
-#: src/export/ExportMultiple.cpp:463
+#: src/export/ExportMultiple.cpp:473
#, c-format
msgid "\"%s\" successfully created."
msgstr "«%s» успішно створено."
-#: src/export/ExportMultiple.cpp:472
+#: src/export/ExportMultiple.cpp:482
msgid "Choose a location to save the exported files"
msgstr "Виберіть каталог для експортування файлів"
-#: src/export/ExportMultiple.cpp:568
+#: src/export/ExportMultiple.cpp:581
#, c-format
msgid "Successfully exported the following %lld file(s)."
msgstr "Успішно експортовано %lld файл(ів) з наведеного нижче списку."
-#: src/export/ExportMultiple.cpp:569
+#: src/export/ExportMultiple.cpp:582
#, c-format
msgid "Something went wrong after exporting the following %lld file(s)."
msgstr ""
"Після експорту %lld файла(ів) з наведеного нижче списку щось пішло не так."
-#: src/export/ExportMultiple.cpp:570
+#: src/export/ExportMultiple.cpp:583
#, c-format
msgid "Export canceled after exporting the following %lld file(s)."
msgstr ""
"Експортування було скасовано після завершення експорту %lld файл(ів) з "
"наведеними нижче назвами."
-#: src/export/ExportMultiple.cpp:571
+#: src/export/ExportMultiple.cpp:584
#, c-format
msgid "Export stopped after exporting the following %lld file(s)."
msgstr ""
"Експортування було зупинено після завершення експорту %lld файл(ів) з "
"наведеними нижче назвами."
-#: src/export/ExportMultiple.cpp:572
+#: src/export/ExportMultiple.cpp:585
#, c-format
msgid "Something went really wrong after exporting the following %lld file(s)."
msgstr ""
"Після експорту %lld файла(ів) з наведеними нижче назвами щось пішло не так."
-#: src/export/ExportMultiple.cpp:607
+#: src/export/ExportMultiple.cpp:620
#, c-format
msgid ""
"\"%s\" doesn't exist.\n"
@@ -10549,11 +10814,11 @@ msgstr ""
"\n"
"Створити?"
-#: src/export/ExportMultiple.cpp:681 src/export/ExportMultiple.cpp:816
+#: src/export/ExportMultiple.cpp:694 src/export/ExportMultiple.cpp:829
msgid "untitled"
msgstr "без назви"
-#: src/export/ExportMultiple.cpp:967
+#: src/export/ExportMultiple.cpp:985
#, c-format
msgid ""
"Label or track \"%s\" is not a legal file name. You cannot use any of: %s\n"
@@ -10563,19 +10828,19 @@ msgstr ""
"бути: %s\n"
"Використовується…"
-#: src/export/ExportMultiple.cpp:968
+#: src/export/ExportMultiple.cpp:986
msgid "Save As..."
msgstr "Зберегти як…"
-#: src/export/ExportOGG.cpp:159
+#: src/export/ExportOGG.cpp:158
msgid "Ogg Vorbis Files"
msgstr "Файли Ogg Vorbis"
-#: src/export/ExportOGG.cpp:259
+#: src/export/ExportOGG.cpp:253
msgid "Exporting the selected audio as Ogg Vorbis"
msgstr "Вибране експортується у файл Ogg Vorbis"
-#: src/export/ExportOGG.cpp:260
+#: src/export/ExportOGG.cpp:254
msgid "Exporting the entire project as Ogg Vorbis"
msgstr "Весь проект експортується у файл Ogg Vorbis"
@@ -10603,16 +10868,16 @@ msgstr "Кодування:"
msgid "Other uncompressed files"
msgstr "Інші нестиснуті файли"
-#: src/export/ExportPCM.cpp:441
+#: src/export/ExportPCM.cpp:437
msgid "Cannot export audio in this format."
msgstr "Не вдається експортувати дані у цьому форматі."
-#: src/export/ExportPCM.cpp:498
+#: src/export/ExportPCM.cpp:487
#, c-format
msgid "Exporting the selected audio as %s"
msgstr "Експортування вибраного аудіо як %s"
-#: src/export/ExportPCM.cpp:500
+#: src/export/ExportPCM.cpp:489
#, c-format
msgid "Exporting the entire project as %s"
msgstr "Експортування всього проекту як %s"
@@ -10620,7 +10885,7 @@ msgstr "Експортування всього проекту як %s"
#. i18n-hint: %s will be the error message from libsndfile, which
#. * is usually something unhelpful (and untranslated) like "system
#. * error"
-#: src/export/ExportPCM.cpp:526
+#: src/export/ExportPCM.cpp:513
#, c-format
msgid ""
"Error while writing %s file (disk full?).\n"
@@ -10629,22 +10894,16 @@ msgstr ""
"Помилка під час спроби запису файла %s (недостатньо місця?).\n"
"Повідомлення libsndfile: «%s»"
-#. i18n-hint: %s will be the error message from libsndfile
-#: src/export/ExportPCM.cpp:556
-#, c-format
-msgid "Error (file may not have been written): %s"
-msgstr "Помилка (можливо, файл не записано): %s"
-
-#: src/import/Import.cpp:544
+#: src/import/Import.cpp:541
msgid "Select stream(s) to import"
msgstr "Оберіть потоки для імпорту"
-#: src/import/Import.cpp:605
+#: src/import/Import.cpp:599
#, c-format
msgid "This version of Audacity was not compiled with %s support."
msgstr "Ця версія Audacity була зібрана без підтримки %s."
-#: src/import/Import.cpp:619
+#: src/import/Import.cpp:613
#, c-format
msgid ""
"\"%s\" \n"
@@ -10658,7 +10917,7 @@ msgstr ""
"редагувати їх, якщо виберете пункт меню Файл > Імпорт > MIDI."
#. i18n-hint: %s will be the filename
-#: src/import/Import.cpp:630
+#: src/import/Import.cpp:624
#, c-format
msgid ""
"\"%s\" is an audio CD track. \n"
@@ -10671,7 +10930,7 @@ msgstr ""
"Експортуйте (виріжте) доріжки КД у імпортований \n"
"Audacity формат, на зразок WAV або AIFF."
-#: src/import/Import.cpp:637
+#: src/import/Import.cpp:631
#, c-format
msgid ""
"\"%s\" is a playlist file. \n"
@@ -10686,7 +10945,7 @@ msgstr ""
"Ви можете відкрити його у текстовому редакторі та завантажити справжні "
"звукові файли."
-#: src/import/Import.cpp:643
+#: src/import/Import.cpp:637
#, c-format
msgid ""
"\"%s\" is a Windows Media Audio file. \n"
@@ -10698,7 +10957,7 @@ msgstr ""
"слід перетворити цей файл на файл підтримуваного аудіоформату, такого як WAV "
"або AIFF."
-#: src/import/Import.cpp:649
+#: src/import/Import.cpp:643
#, c-format
msgid ""
"\"%s\" is an Advanced Audio Coding file. \n"
@@ -10710,7 +10969,7 @@ msgstr ""
"слід перетворити цей файл на файл підтримуваного аудіоформату на зразок WAV "
"або AIFF."
-#: src/import/Import.cpp:655
+#: src/import/Import.cpp:649
#, c-format
msgid ""
"\"%s\" is an encrypted audio file. \n"
@@ -10725,7 +10984,7 @@ msgstr ""
"Спробуйте записати файл у Audacity, або записати його на CD, а потім \n"
"копіювати доріжку CD у підтримуваний аудіоформат, на зразок WAV або AIFF."
-#: src/import/Import.cpp:661
+#: src/import/Import.cpp:655
#, c-format
msgid ""
"\"%s\" is a RealPlayer media file. \n"
@@ -10737,7 +10996,7 @@ msgstr ""
"слід перетворити цей файл у файл підтримуваного аудіоформату, такого як WAV "
"або AIFF."
-#: src/import/Import.cpp:668
+#: src/import/Import.cpp:662
#, c-format
msgid ""
"\"%s\" is a notes-based file, not an audio file. \n"
@@ -10750,7 +11009,7 @@ msgstr ""
"Спробуйте перетворити його на файл аудіо, на зразок WAV або AIFF, а потім \n"
"імпортувати, або записати за допомогою Audacity."
-#: src/import/Import.cpp:675
+#: src/import/Import.cpp:669
#, c-format
msgid ""
"\"%s\" is a Musepack audio file. \n"
@@ -10768,7 +11027,7 @@ msgstr ""
"перетворити цей файл на файл формату, \n"
"що підтримується, на зразок WAV або AIFF."
-#: src/import/Import.cpp:682
+#: src/import/Import.cpp:676
#, c-format
msgid ""
"\"%s\" is a Wavpack audio file. \n"
@@ -10780,7 +11039,7 @@ msgstr ""
"Вам слід спочатку перетворити цей файл на файл формату, що підтримується, на "
"зразок WAV або AIFF."
-#: src/import/Import.cpp:689
+#: src/import/Import.cpp:683
#, c-format
msgid ""
"\"%s\" is a Dolby Digital audio file. \n"
@@ -10792,7 +11051,7 @@ msgstr ""
"Вам слід спочатку перетворити цей файл на файл формату, що підтримується, на "
"зразок WAV або AIFF."
-#: src/import/Import.cpp:696
+#: src/import/Import.cpp:690
#, c-format
msgid ""
"\"%s\" is an Ogg Speex audio file. \n"
@@ -10804,7 +11063,7 @@ msgstr ""
"Вам слід спочатку перетворити цей файл на файл формату, що підтримується, на "
"зразок WAV або AIFF."
-#: src/import/Import.cpp:703
+#: src/import/Import.cpp:697
#, c-format
msgid ""
"\"%s\" is a video file. \n"
@@ -10816,7 +11075,7 @@ msgstr ""
"Вам слід спочатку видобути звукові дані до файла у форматі, що "
"підтримується, на зразок WAV або AIFF."
-#: src/import/Import.cpp:710
+#: src/import/Import.cpp:704
#, c-format
msgid ""
"\"%s\" is an Audacity Project file. \n"
@@ -10826,7 +11085,7 @@ msgstr ""
"Для відкриття проектів Audacity слід користуватися пунктом меню «Файл > "
"Відкрити»."
-#: src/import/Import.cpp:716
+#: src/import/Import.cpp:710
#, c-format
msgid ""
"Audacity did not recognize the type of the file '%s'.\n"
@@ -10836,7 +11095,7 @@ msgstr ""
"Якщо цей файл не є стисненим, спробуйте імпортувати його як файл "
"необроблених даних."
-#: src/import/Import.cpp:734
+#: src/import/Import.cpp:728
#, c-format
msgid ""
"Audacity recognized the type of the file '%s'.\n"
@@ -10849,11 +11108,11 @@ msgstr ""
"%s,\n"
"але жоден з інструментів не може обробити файл у цьому форматі."
-#: src/import/ImportFFmpeg.cpp:37
+#: src/import/ImportFFmpeg.cpp:38
msgid "FFmpeg-compatible files"
msgstr "Сумісні з FFmpeg файли"
-#: src/import/ImportFFmpeg.cpp:442
+#: src/import/ImportFFmpeg.cpp:445
#, c-format
msgid ""
"Index[%02x] Codec[%s], Language[%s], Bitrate[%s], Channels[%d], Duration[%d]"
@@ -10861,11 +11120,11 @@ msgstr ""
"Індекс[%02x] Кодек[%s], Мова[%s], Бітова швидкість[%s], К-ть каналів[%d], "
"Тривалість[%d]"
-#: src/import/ImportFLAC.cpp:47 src/ondemand/ODDecodeFlacTask.cpp:28
+#: src/import/ImportFLAC.cpp:47 src/ondemand/ODDecodeFlacTask.cpp:29
msgid "FLAC files"
msgstr "Файли FLAC"
-#: src/import/ImportGStreamer.cpp:32
+#: src/import/ImportGStreamer.cpp:34
msgid "GStreamer-compatible files"
msgstr "Сумісні з GStreamer файли"
@@ -10874,29 +11133,29 @@ msgid "List of Files in basic text format"
msgstr "Перелік файлів у звичайному текстовому форматі"
#. i18n-hint: You do not need to translate "LOF"
-#: src/import/ImportLOF.cpp:326
+#: src/import/ImportLOF.cpp:332
msgid "Invalid window offset in LOF file."
msgstr "Неправильний зсув вікон у LOF-файлі."
#. i18n-hint: You do not need to translate "LOF"
-#: src/import/ImportLOF.cpp:328 src/import/ImportLOF.cpp:349
-#: src/import/ImportLOF.cpp:439 src/import/ImportLOF.cpp:460
+#: src/import/ImportLOF.cpp:334 src/import/ImportLOF.cpp:355
+#: src/import/ImportLOF.cpp:445 src/import/ImportLOF.cpp:466
msgid "LOF Error"
msgstr "Помилка LOF"
#. i18n-hint: You do not need to translate "LOF"
-#: src/import/ImportLOF.cpp:347
+#: src/import/ImportLOF.cpp:353
msgid "Invalid duration in LOF file."
msgstr "Неправильна тривалість LOF-файлі."
-#: src/import/ImportLOF.cpp:438
+#: src/import/ImportLOF.cpp:444
msgid "MIDI tracks cannot be offset individually, only audio files can be."
msgstr ""
"Для MIDI-доріжок окремий відступ неможливий, таке можна робити лише з "
"звуковими файлами."
#. i18n-hint: You do not need to translate "LOF"
-#: src/import/ImportLOF.cpp:459
+#: src/import/ImportLOF.cpp:465
msgid "Invalid track offset in LOF file."
msgstr "Неправильний зсув доріжок у LOF-файлі."
@@ -10921,23 +11180,23 @@ msgstr "Файли MP3"
msgid "Ogg Vorbis files"
msgstr "Файли Ogg Vorbis"
-#: src/import/ImportOGG.cpp:199
+#: src/import/ImportOGG.cpp:198
msgid "Media read error"
msgstr "Помилка читання носія"
-#: src/import/ImportOGG.cpp:202
+#: src/import/ImportOGG.cpp:201
msgid "Not an Ogg Vorbis file"
msgstr "Не є Ogg Vorbis файлом"
-#: src/import/ImportOGG.cpp:205
+#: src/import/ImportOGG.cpp:204
msgid "Vorbis version mismatch"
msgstr "Невідповідність версії Vorbis"
-#: src/import/ImportOGG.cpp:208
+#: src/import/ImportOGG.cpp:207
msgid "Invalid Vorbis bitstream header"
msgstr "Помилковий заголовок потоку Vorbis"
-#: src/import/ImportOGG.cpp:211
+#: src/import/ImportOGG.cpp:210
msgid "Internal logic fault"
msgstr "Внутрішня логічна помилка"
@@ -10945,7 +11204,7 @@ msgstr "Внутрішня логічна помилка"
msgid "WAV, AIFF, and other uncompressed types"
msgstr "WAV, AIFF, та інші типи без стискання"
-#: src/import/ImportPCM.cpp:246
+#: src/import/ImportPCM.cpp:251
#, c-format
msgid ""
"When importing uncompressed audio files you can either copy them into the "
@@ -10978,31 +11237,31 @@ msgstr ""
"\n"
"Отже, який спосіб слід використати для імпортування поточних файлів?"
-#: src/import/ImportPCM.cpp:256
+#: src/import/ImportPCM.cpp:261
msgid "copy in"
msgstr "скопіювати"
-#: src/import/ImportPCM.cpp:256
+#: src/import/ImportPCM.cpp:261
msgid "read directly"
msgstr "прочитати безпосередньо"
-#: src/import/ImportPCM.cpp:262
+#: src/import/ImportPCM.cpp:267
msgid "Choose an import method"
msgstr "Вибір способу імпортування"
-#: src/import/ImportPCM.cpp:272
+#: src/import/ImportPCM.cpp:277
msgid "Make a © of the files before editing (safer)"
msgstr "Зробити &копію файлів до внесення змін (безпечніше)"
-#: src/import/ImportPCM.cpp:276
+#: src/import/ImportPCM.cpp:281
msgid "Read the files &directly from the original (faster)"
msgstr "Прочитати дані &безпосередньо з джерела (швидше)"
-#: src/import/ImportPCM.cpp:280
+#: src/import/ImportPCM.cpp:285
msgid "Don't &warn again and always use my choice above"
msgstr "Більше не &попереджати, використовувати вказаних вище спосіб"
-#: src/import/ImportPlugin.h:139 src/import/ImportRaw.cpp:223
+#: src/import/ImportPlugin.h:141 src/import/ImportRaw.cpp:230
#, c-format
msgid "Importing %s"
msgstr "Імпортування %s"
@@ -11011,33 +11270,33 @@ msgstr "Імпортування %s"
msgid "QuickTime files"
msgstr "Файли QuickTime"
-#: src/import/ImportQT.cpp:251
+#: src/import/ImportQT.cpp:252
msgid "Unable to start QuickTime extraction"
msgstr "Не вдалося почати видобування QuickTime"
-#: src/import/ImportQT.cpp:261
+#: src/import/ImportQT.cpp:262
msgid "Unable to set QuickTime render quality"
msgstr "Не вдалося встановити рівень якості відтворення QuickTime"
-#: src/import/ImportQT.cpp:271
+#: src/import/ImportQT.cpp:272
msgid "Unable to set QuickTime discrete channels property"
msgstr ""
"Не вдалося встановити значення властивості дискретних каналів QuickTime"
-#: src/import/ImportQT.cpp:282
+#: src/import/ImportQT.cpp:283
msgid "Unable to get QuickTime sample size property"
msgstr "Не вдалося визначити властивість розміру семплу QuickTime"
-#: src/import/ImportQT.cpp:293
+#: src/import/ImportQT.cpp:294
msgid "Unable to retrieve stream description"
msgstr "Не вдається отримати опис потоку даних"
-#: src/import/ImportQT.cpp:352
+#: src/import/ImportQT.cpp:353
msgid "Unable to get fill buffer"
msgstr "Не вдалося отримати стан заповнення буфера"
#. i18n-hint: 'Raw' means 'unprocessed' here and should usually be tanslated.
-#: src/import/ImportRaw.cpp:226
+#: src/import/ImportRaw.cpp:233
msgid "Import Raw"
msgstr "Імпортувати як файл необроблених даних"
@@ -11108,11 +11367,11 @@ msgstr "Частота дискретизації:"
msgid "Import complete. Calculating waveform"
msgstr "Імпорт завершено. Обчислення форми хвилі"
-#: src/ondemand/ODDecodeTask.h:58
+#: src/ondemand/ODDecodeTask.h:57
msgid "Decoding Waveform"
msgstr "Декодування форми хвилі"
-#: src/ondemand/ODWaveTrackTaskQueue.cpp:334
+#: src/ondemand/ODWaveTrackTaskQueue.cpp:333
#, c-format
msgid "%s %2.0f%% complete. Click to change task focal point."
msgstr "%s %2.0f%% завершено. Натисніть, щоб змінити фокус задачі."
@@ -11122,7 +11381,7 @@ msgid "Batch"
msgstr "Пакет"
#: src/prefs/BatchPrefs.cpp:59 src/prefs/GUIPrefs.cpp:144
-#: src/prefs/TracksPrefs.cpp:117
+#: src/prefs/TracksPrefs.cpp:123
msgid "Behaviors"
msgstr "Поведінка"
@@ -11148,7 +11407,7 @@ msgid "Using:"
msgstr "Використовується:"
#: src/prefs/DevicePrefs.cpp:129 src/prefs/MidiIOPrefs.cpp:136
-#: src/prefs/PlaybackPrefs.cpp:31
+#: src/prefs/PlaybackPrefs.cpp:43
msgid "Playback"
msgstr "Відтворення"
@@ -11157,7 +11416,7 @@ msgid "&Device:"
msgstr "П&ристрій:"
#: src/prefs/DevicePrefs.cpp:142 src/prefs/MidiIOPrefs.cpp:154
-#: src/prefs/RecordingPrefs.cpp:46 src/toolbars/ControlToolBar.cpp:109
+#: src/prefs/RecordingPrefs.cpp:46 src/toolbars/ControlToolBar.cpp:113
msgid "Recording"
msgstr "Запис"
@@ -11234,28 +11493,28 @@ msgstr "Виберіть розташування каталогу тимчас
msgid "unavailable - above location doesn't exist"
msgstr "недоступне — наведеної вище адреси не існує"
-#: src/prefs/DirectoriesPrefs.cpp:209
+#: src/prefs/DirectoriesPrefs.cpp:210
#, c-format
msgid "Directory %s is not suitable (at risk of being cleaned out)"
msgstr ""
"Не варто використовувати каталог %s (ризикуєте його автоматичним "
"спорожненням)"
-#: src/prefs/DirectoriesPrefs.cpp:217
+#: src/prefs/DirectoriesPrefs.cpp:218
#, c-format
msgid "Directory %s does not exist. Create it?"
msgstr "Каталог %s не існує. Створити його?"
-#: src/prefs/DirectoriesPrefs.cpp:219
+#: src/prefs/DirectoriesPrefs.cpp:220
msgid "New Temporary Directory"
msgstr "Новий каталог тимчасовий каталог"
-#: src/prefs/DirectoriesPrefs.cpp:237
+#: src/prefs/DirectoriesPrefs.cpp:239
#, c-format
msgid "Directory %s is not writable"
msgstr "Немає прав на запис у каталог %s"
-#: src/prefs/DirectoriesPrefs.cpp:251
+#: src/prefs/DirectoriesPrefs.cpp:253
msgid ""
"Changes to temporary directory will not take effect until Audacity is "
"restarted"
@@ -11263,7 +11522,7 @@ msgstr ""
"Зміни каталогу для зберігання тимчасових файлів не наберуть сили, доки "
"програму Audacity не буде перезавантажено."
-#: src/prefs/DirectoriesPrefs.cpp:252
+#: src/prefs/DirectoriesPrefs.cpp:254
msgid "Temp Directory Update"
msgstr "Оновлення теки тимчасових даних"
@@ -11331,59 +11590,59 @@ msgstr "Набір інструкцій"
msgid "&Use SSE/SSE2/.../AVX"
msgstr "Ви&користовувати SSE/SSE2/.../AVX"
-#: src/prefs/ExtImportPrefs.cpp:59
+#: src/prefs/ExtImportPrefs.cpp:61
msgid "Extended Import"
msgstr "Розш. імпортування"
-#: src/prefs/ExtImportPrefs.cpp:92
+#: src/prefs/ExtImportPrefs.cpp:94
msgid "A&ttempt to use filter in OpenFile dialog first"
msgstr "&Намагатися спочатку скористатися фільтром у вікні відкриття файлів"
-#: src/prefs/ExtImportPrefs.cpp:95
+#: src/prefs/ExtImportPrefs.cpp:97
msgid "Rules to choose import filters"
msgstr "Правила вибору фільтрів імпортування"
-#: src/prefs/ExtImportPrefs.cpp:114
+#: src/prefs/ExtImportPrefs.cpp:116
msgid "File extensions"
msgstr "Суфікси назв файлів"
-#: src/prefs/ExtImportPrefs.cpp:116
+#: src/prefs/ExtImportPrefs.cpp:118
msgid "Mime-types"
msgstr "Типи MIME"
-#: src/prefs/ExtImportPrefs.cpp:134
+#: src/prefs/ExtImportPrefs.cpp:136
msgid "Importer order"
msgstr "Порядок імпортування"
-#: src/prefs/ExtImportPrefs.cpp:150
+#: src/prefs/ExtImportPrefs.cpp:153
msgid "Move rule &up"
msgstr "Перес. ви&ще"
-#: src/prefs/ExtImportPrefs.cpp:152
+#: src/prefs/ExtImportPrefs.cpp:155
msgid "Move rule &down"
msgstr "Перес. &нижче"
-#: src/prefs/ExtImportPrefs.cpp:154
+#: src/prefs/ExtImportPrefs.cpp:157
msgid "Move f&ilter up"
msgstr "Перес. фільтр ви&ще"
-#: src/prefs/ExtImportPrefs.cpp:156
+#: src/prefs/ExtImportPrefs.cpp:159
msgid "Move &filter down"
msgstr "Перес. &фільтр нижче"
-#: src/prefs/ExtImportPrefs.cpp:161
+#: src/prefs/ExtImportPrefs.cpp:164
msgid "&Add new rule"
msgstr "&Додати нове правило"
-#: src/prefs/ExtImportPrefs.cpp:162
+#: src/prefs/ExtImportPrefs.cpp:165
msgid "De&lete selected rule"
msgstr "Ви&лучити вибране правило"
-#: src/prefs/ExtImportPrefs.cpp:419 src/prefs/ExtImportPrefs.cpp:436
+#: src/prefs/ExtImportPrefs.cpp:422 src/prefs/ExtImportPrefs.cpp:439
msgid "Unused filters:"
msgstr "Невикористані фільтри:"
-#: src/prefs/ExtImportPrefs.cpp:484
+#: src/prefs/ExtImportPrefs.cpp:487
msgid ""
"There are space characters (spaces, newlines, tabs or linefeeds) in one of "
"the items. They are likely to break the pattern matching. Unless you know "
@@ -11395,15 +11654,15 @@ msgstr ""
"пошуку відповідників. Якщо ці символи не було додано спеціально, "
"рекомендуємо вам їх вилучити. Хочете, щоб Audacity вилучила пробіли?"
-#: src/prefs/ExtImportPrefs.cpp:488
+#: src/prefs/ExtImportPrefs.cpp:491
msgid "Spaces detected"
msgstr "Виявлено пробіли"
-#: src/prefs/ExtImportPrefs.cpp:573
+#: src/prefs/ExtImportPrefs.cpp:576
msgid "Do you really want to delete selected rule?"
msgstr "Ви справді бажаєте вилучити позначене правило?"
-#: src/prefs/ExtImportPrefs.cpp:574
+#: src/prefs/ExtImportPrefs.cpp:577
msgid "Rule deletion confirmation"
msgstr "Підтвердження вилучення правила"
@@ -11447,7 +11706,7 @@ msgstr "На цьому комп’ютері"
msgid "From Internet"
msgstr "У інтернеті"
-#: src/prefs/GUIPrefs.cpp:105 src/prefs/TracksPrefs.cpp:84
+#: src/prefs/GUIPrefs.cpp:105 src/prefs/TracksPrefs.cpp:90
#: src/prefs/WaveformPrefs.cpp:86
msgid "Display"
msgstr "Показ"
@@ -11685,10 +11944,6 @@ msgstr ""
"\n"
"«%s»"
-#: src/prefs/LibraryPrefs.cpp:49
-msgid "Libraries"
-msgstr "Бібліотеки"
-
#: src/prefs/LibraryPrefs.cpp:82
msgid "MP3 Export Library"
msgstr "Бібліотека експорту MP3"
@@ -11755,8 +12010,8 @@ msgstr "Пристрої MIDI"
#. i18n-hint: (noun)
#: src/prefs/MidiIOPrefs.cpp:123
-msgid "Host"
-msgstr "Вузол"
+msgid "Host:"
+msgstr "Вузол:"
#: src/prefs/MidiIOPrefs.cpp:130
msgid "Using: PortMidi"
@@ -11850,29 +12105,28 @@ msgstr "Дія команди"
msgid "Buttons"
msgstr "Кнопки"
-#: src/prefs/MousePrefs.cpp:109 src/prefs/MousePrefs.cpp:131
-#: src/prefs/MousePrefs.cpp:147 src/prefs/MousePrefs.cpp:152
+#: src/prefs/MousePrefs.cpp:109 src/prefs/MousePrefs.cpp:124
+#: src/prefs/MousePrefs.cpp:140 src/prefs/MousePrefs.cpp:145
msgid "Left-Click"
msgstr "← — Клацання"
#: src/prefs/MousePrefs.cpp:109 src/prefs/MousePrefs.cpp:110
#: src/prefs/MousePrefs.cpp:111 src/prefs/MousePrefs.cpp:112
-#: src/prefs/MousePrefs.cpp:114 src/prefs/MousePrefs.cpp:115
-#: src/prefs/MousePrefs.cpp:118 src/prefs/MousePrefs.cpp:121
+#: src/prefs/MousePrefs.cpp:114
msgid "Select"
msgstr "Вибір"
-#: src/prefs/MousePrefs.cpp:109 src/prefs/MousePrefs.cpp:152
+#: src/prefs/MousePrefs.cpp:109 src/prefs/MousePrefs.cpp:145
msgid "Set Selection Point"
msgstr "Встановити точку вибору"
-#: src/prefs/MousePrefs.cpp:110 src/prefs/MousePrefs.cpp:132
-#: src/prefs/MousePrefs.cpp:138 src/prefs/MousePrefs.cpp:142
-#: src/prefs/MousePrefs.cpp:149 src/prefs/MousePrefs.cpp:153
+#: src/prefs/MousePrefs.cpp:110 src/prefs/MousePrefs.cpp:125
+#: src/prefs/MousePrefs.cpp:131 src/prefs/MousePrefs.cpp:135
+#: src/prefs/MousePrefs.cpp:142 src/prefs/MousePrefs.cpp:146
msgid "Left-Drag"
msgstr "← — Перетягування"
-#: src/prefs/MousePrefs.cpp:110 src/prefs/MousePrefs.cpp:153
+#: src/prefs/MousePrefs.cpp:110 src/prefs/MousePrefs.cpp:146
msgid "Set Selection Range"
msgstr "Встановити область вибору"
@@ -11892,200 +12146,183 @@ msgstr "Подвійне-клацання-лівою"
msgid "Select Clip or Entire Track"
msgstr "Вибрати ділянку або всю доріжку"
-#: src/prefs/MousePrefs.cpp:114
-msgid "-Left-Click"
-msgstr "-клацання лівою"
-
-#: src/prefs/MousePrefs.cpp:114
-msgid "Scrub"
-msgstr "Витерти"
-
-#: src/prefs/MousePrefs.cpp:115 src/prefs/MousePrefs.cpp:140
-#: src/prefs/MousePrefs.cpp:150
-msgid "-Left-Drag"
-msgstr "-перетягування лівою"
-
-#: src/prefs/MousePrefs.cpp:115
-msgid "Seek"
-msgstr "Позиціювання"
-
-#: src/prefs/MousePrefs.cpp:118
-msgid "-Left-Double-Click"
-msgstr "-подвійне клацання лівою"
-
-#: src/prefs/MousePrefs.cpp:118
-msgid "Scroll-scrub"
-msgstr "Гортати-витерти"
-
-#: src/prefs/MousePrefs.cpp:121 src/prefs/MousePrefs.cpp:164
+#: src/prefs/MousePrefs.cpp:114 src/prefs/MousePrefs.cpp:157
msgid "Wheel-Rotate"
msgstr "Обертання коліщатка"
-#: src/prefs/MousePrefs.cpp:121
+#: src/prefs/MousePrefs.cpp:114
msgid "Change scrub speed"
-msgstr "Змінити швидкість витирання"
+msgstr "Змінити швидкість прокручування"
-#: src/prefs/MousePrefs.cpp:131
+#: src/prefs/MousePrefs.cpp:124
msgid "Zoom in on Point"
msgstr "Збільшити за точкою"
-#: src/prefs/MousePrefs.cpp:132 src/prefs/MousePrefs.cpp:134
-#: src/prefs/MousePrefs.cpp:155
+#: src/prefs/MousePrefs.cpp:125 src/prefs/MousePrefs.cpp:127
+#: src/prefs/MousePrefs.cpp:148
msgid "Zoom in on a Range"
msgstr "Збільшити за областю"
-#: src/prefs/MousePrefs.cpp:132
+#: src/prefs/MousePrefs.cpp:125
msgid "same as right-drag"
msgstr "теж, що і клацання правою і перетаскування"
-#: src/prefs/MousePrefs.cpp:133 src/prefs/MousePrefs.cpp:154
+#: src/prefs/MousePrefs.cpp:126 src/prefs/MousePrefs.cpp:147
msgid "Right-Click"
msgstr "→ — Клацання"
-#: src/prefs/MousePrefs.cpp:133 src/prefs/MousePrefs.cpp:154
+#: src/prefs/MousePrefs.cpp:126 src/prefs/MousePrefs.cpp:147
msgid "Zoom out one step"
msgstr "Зменшити на крок"
-#: src/prefs/MousePrefs.cpp:134 src/prefs/MousePrefs.cpp:155
+#: src/prefs/MousePrefs.cpp:127 src/prefs/MousePrefs.cpp:148
msgid "Right-Drag"
msgstr "→ — Перетягування"
-#: src/prefs/MousePrefs.cpp:134
+#: src/prefs/MousePrefs.cpp:127
msgid "same as left-drag"
msgstr "теж, що і клацання лівою і перетаскування"
-#: src/prefs/MousePrefs.cpp:135
+#: src/prefs/MousePrefs.cpp:128
msgid "Shift-Drag"
msgstr "Shift — Перетягування"
-#: src/prefs/MousePrefs.cpp:135
+#: src/prefs/MousePrefs.cpp:128
msgid "Zoom out on a Range"
msgstr "Збільшення за областю"
-#: src/prefs/MousePrefs.cpp:136
+#: src/prefs/MousePrefs.cpp:129
msgid "Middle-Click"
msgstr "Клацання середньою"
-#: src/prefs/MousePrefs.cpp:136
+#: src/prefs/MousePrefs.cpp:129
msgid "Zoom default"
msgstr "Типовий масштаб"
-#: src/prefs/MousePrefs.cpp:138
+#: src/prefs/MousePrefs.cpp:131
msgid "Time shift clip or move up/down between tracks"
msgstr "Пересунути ділянку, пересування вгору-вниз між доріжками"
-#: src/prefs/MousePrefs.cpp:139
+#: src/prefs/MousePrefs.cpp:132
msgid "Shift-Left-Drag"
msgstr "Shift-Ліва-Перетягування"
-#: src/prefs/MousePrefs.cpp:139
+#: src/prefs/MousePrefs.cpp:132
msgid "Time shift all clips in track"
msgstr "Часовий зсув всіх частинок у доріжці"
-#: src/prefs/MousePrefs.cpp:140
+#: src/prefs/MousePrefs.cpp:133 src/prefs/MousePrefs.cpp:143
+msgid "-Left-Drag"
+msgstr "-перетягування лівою"
+
+#: src/prefs/MousePrefs.cpp:133
msgid "Move clip up/down between tracks"
msgstr "Перемістити ділянку вгору або вниз між доріжками"
-#: src/prefs/MousePrefs.cpp:145
+#: src/prefs/MousePrefs.cpp:138
msgid "Change Amplification Envelope"
msgstr "Змінити обвідну підсилення"
-#: src/prefs/MousePrefs.cpp:147 src/prefs/MousePrefs.cpp:148
-#: src/prefs/MousePrefs.cpp:149 src/prefs/MousePrefs.cpp:150
+#: src/prefs/MousePrefs.cpp:140 src/prefs/MousePrefs.cpp:141
+#: src/prefs/MousePrefs.cpp:142 src/prefs/MousePrefs.cpp:143
msgid "Pencil"
msgstr "«Олівець»"
-#: src/prefs/MousePrefs.cpp:147
+#: src/prefs/MousePrefs.cpp:140
msgid "Change Sample"
msgstr "Змінити семпл"
-#: src/prefs/MousePrefs.cpp:148
+#: src/prefs/MousePrefs.cpp:141
msgid "Alt-Left-Click"
msgstr "Alt-клацання лівою кнопкою"
-#: src/prefs/MousePrefs.cpp:148
+#: src/prefs/MousePrefs.cpp:141
msgid "Smooth at Sample"
msgstr "Згладжувати семпл"
-#: src/prefs/MousePrefs.cpp:149
+#: src/prefs/MousePrefs.cpp:142
msgid "Change Several Samples"
msgstr "Змінити декілька семплів"
-#: src/prefs/MousePrefs.cpp:150
+#: src/prefs/MousePrefs.cpp:143
msgid "Change ONE Sample only"
msgstr "Змінити лише ОДИН семпл"
-#: src/prefs/MousePrefs.cpp:152 src/prefs/MousePrefs.cpp:153
-#: src/prefs/MousePrefs.cpp:154 src/prefs/MousePrefs.cpp:155
+#: src/prefs/MousePrefs.cpp:145 src/prefs/MousePrefs.cpp:146
+#: src/prefs/MousePrefs.cpp:147 src/prefs/MousePrefs.cpp:148
msgid "Multi"
msgstr "Декілька"
-#: src/prefs/MousePrefs.cpp:152 src/prefs/MousePrefs.cpp:153
+#: src/prefs/MousePrefs.cpp:145 src/prefs/MousePrefs.cpp:146
msgid "same as select tool"
msgstr "те саме, що й інструмент вибору"
-#: src/prefs/MousePrefs.cpp:154 src/prefs/MousePrefs.cpp:155
+#: src/prefs/MousePrefs.cpp:147 src/prefs/MousePrefs.cpp:148
msgid "same as zoom tool"
msgstr "те саме, що й інструмент масштабування"
-#: src/prefs/MousePrefs.cpp:164 src/prefs/MousePrefs.cpp:165
-#: src/prefs/MousePrefs.cpp:166
+#: src/prefs/MousePrefs.cpp:157 src/prefs/MousePrefs.cpp:158
+#: src/prefs/MousePrefs.cpp:159
msgid "Any"
msgstr "Будь-який"
-#: src/prefs/MousePrefs.cpp:164
+#: src/prefs/MousePrefs.cpp:157
msgid "Scroll up or down"
msgstr "Прокрутити вгору чи вниз"
-#: src/prefs/MousePrefs.cpp:165
+#: src/prefs/MousePrefs.cpp:158
msgid "Shift-Wheel-Rotate"
msgstr "Shift-Прокручування-коліщатка"
-#: src/prefs/MousePrefs.cpp:165
+#: src/prefs/MousePrefs.cpp:158
msgid "Scroll left or right"
msgstr "Прокручування ліворуч або праворуч"
-#: src/prefs/MousePrefs.cpp:166
+#: src/prefs/MousePrefs.cpp:159
msgid "-Wheel-Rotate"
msgstr "-обертання коліщатка"
-#: src/prefs/MousePrefs.cpp:166
+#: src/prefs/MousePrefs.cpp:159
msgid "Zoom in or out on Mouse Pointer"
msgstr "Збільшення або зменшення за вказівником миші"
-#: src/prefs/PlaybackPrefs.cpp:57
+#: src/prefs/PlaybackPrefs.cpp:69
msgid "Effects Preview"
msgstr "Прослуховування ефекту"
-#: src/prefs/PlaybackPrefs.cpp:61
+#: src/prefs/PlaybackPrefs.cpp:73
msgid "&Length of preview:"
msgstr "&Тривалість прослуховування:"
#. i18n-hint: (noun) this is a preview of the cut
-#: src/prefs/PlaybackPrefs.cpp:73
+#: src/prefs/PlaybackPrefs.cpp:85
msgid "Cut Preview"
msgstr "Прослуховування результату вирізання"
-#: src/prefs/PlaybackPrefs.cpp:77
+#: src/prefs/PlaybackPrefs.cpp:89
msgid "Preview &before cut region:"
msgstr "Прослуховування пе&ред вирізанням області:"
-#: src/prefs/PlaybackPrefs.cpp:84
+#: src/prefs/PlaybackPrefs.cpp:96
msgid "Preview &after cut region:"
msgstr "Прослуховування піс&ля вирізання області:"
-#: src/prefs/PlaybackPrefs.cpp:95
+#: src/prefs/PlaybackPrefs.cpp:107
msgid "Seek Time when playing"
msgstr "Час позиціювання під час відтворення"
-#: src/prefs/PlaybackPrefs.cpp:99
+#: src/prefs/PlaybackPrefs.cpp:111
msgid "&Short period:"
msgstr "&Короткий проміжок:"
-#: src/prefs/PlaybackPrefs.cpp:106
+#: src/prefs/PlaybackPrefs.cpp:118
msgid "Lo&ng period:"
msgstr "&Довгий проміжок:"
+#: src/prefs/PlaybackPrefs.cpp:130
+msgid "Pinned playback/recording head"
+msgstr "Пришпилений початок запису/відтворення"
+
#: src/prefs/PrefsDialog.cpp:202
msgid "Audacity Preferences"
msgstr "Параметри Audacity"
@@ -12581,68 +12818,68 @@ msgstr "Зберегти файли"
msgid "Load Files"
msgstr "Завантажити файли"
-#: src/prefs/TracksPrefs.cpp:54
+#: src/prefs/TracksPrefs.cpp:60
msgid "Simple"
msgstr "Проста"
-#: src/prefs/TracksPrefs.cpp:55
+#: src/prefs/TracksPrefs.cpp:61
msgid "Multi-track"
msgstr "Декілька доріжок"
-#: src/prefs/TracksPrefs.cpp:65
+#: src/prefs/TracksPrefs.cpp:71
msgid "Waveform (dB)"
msgstr "Хвиля (дБ)"
-#: src/prefs/TracksPrefs.cpp:68
+#: src/prefs/TracksPrefs.cpp:74
msgid "Spectrogram"
msgstr "Спектрограма"
-#: src/prefs/TracksPrefs.cpp:86
+#: src/prefs/TracksPrefs.cpp:92
msgid "&Update display while playing"
msgstr "&Оновлювати відображення під час відтворення"
-#: src/prefs/TracksPrefs.cpp:89
+#: src/prefs/TracksPrefs.cpp:95
msgid "Automatically &fit tracks vertically zoomed"
msgstr "Автоматично &робити доріжки вертикально масштабованими"
-#: src/prefs/TracksPrefs.cpp:97
+#: src/prefs/TracksPrefs.cpp:103
msgid "Default &view mode:"
msgstr "Типовий режим п&ерегляду:"
-#: src/prefs/TracksPrefs.cpp:104
+#: src/prefs/TracksPrefs.cpp:110
msgid "Default audio track &name:"
msgstr "Типова назва з&вукової доріжки:"
-#: src/prefs/TracksPrefs.cpp:111
+#: src/prefs/TracksPrefs.cpp:117
msgid "Sho&w audio track name as overlay"
msgstr "&Показувати назву доріжки як накладку"
-#: src/prefs/TracksPrefs.cpp:119
+#: src/prefs/TracksPrefs.cpp:125
msgid "&Select all audio in project, if none selected"
msgstr "В&ибирати все аудіо у проекті, якщо нічого не вибрано"
#. i18n-hint: cut-lines are a lines indicating where to cut.
-#: src/prefs/TracksPrefs.cpp:123
+#: src/prefs/TracksPrefs.cpp:129
msgid "Enable cu&t lines"
msgstr "Дозволити &лінії розрізання"
-#: src/prefs/TracksPrefs.cpp:126
+#: src/prefs/TracksPrefs.cpp:132
msgid "Enable &dragging of left and right selection edges"
msgstr "Дозволити &перетягування лівої і правої границь вибору"
-#: src/prefs/TracksPrefs.cpp:129
+#: src/prefs/TracksPrefs.cpp:135
msgid "\"Move track focus\" c&ycles repeatedly through tracks"
msgstr "«Перемістити фокус доріжки» &циклічно повторюється між доріжками"
-#: src/prefs/TracksPrefs.cpp:132
+#: src/prefs/TracksPrefs.cpp:138
msgid "Editing a clip can &move other clips"
msgstr "Редагування ві&дрізку може пересувати інші інші"
-#: src/prefs/TracksPrefs.cpp:136
+#: src/prefs/TracksPrefs.cpp:142
msgid "Enable scrolling left of &zero"
msgstr "Увімкнути гортання ліворуч від &нуля"
-#: src/prefs/TracksPrefs.cpp:145
+#: src/prefs/TracksPrefs.cpp:151
msgid "Solo &Button:"
msgstr "Кнопка «&Соло»:"
@@ -12667,14 +12904,18 @@ msgid "&Low disk space at program start up"
msgstr "&Замало місця на диску під час запуску програми"
#: src/prefs/WarningsPrefs.cpp:66
-msgid "Mixing down to &stereo during export"
-msgstr "Мікшування у &стерео під час експорту"
-
-#: src/prefs/WarningsPrefs.cpp:69
msgid "Mixing down to &mono during export"
msgstr "Мікшування у &моно під час експорту"
+#: src/prefs/WarningsPrefs.cpp:69
+msgid "Mixing down to &stereo during export"
+msgstr "Мікшування у &стерео під час експорту"
+
#: src/prefs/WarningsPrefs.cpp:72
+msgid "Mixing down on export (&Custom FFmpeg or external program)"
+msgstr "Мікшування при експортуванні (&нетиповий FFmpeg або зовнішня програма)"
+
+#: src/prefs/WarningsPrefs.cpp:75
msgid "&Importing uncompressed audio files"
msgstr "&Імпортування нестиснених звукових файлів"
@@ -12688,39 +12929,39 @@ msgstr "Ді&апазон хвилі у дБ"
#. i18n-hint: These are strings for the status bar, and indicate whether Audacity
#. is playing or recording or stopped, and whether it is paused.
-#: src/toolbars/ControlToolBar.cpp:107
+#: src/toolbars/ControlToolBar.cpp:111
msgid "Playing"
msgstr "Відтворення"
-#: src/toolbars/ControlToolBar.cpp:108
+#: src/toolbars/ControlToolBar.cpp:112
msgid "Stopped"
msgstr "Зупинено"
-#: src/toolbars/ControlToolBar.cpp:110
+#: src/toolbars/ControlToolBar.cpp:114
msgid "Paused"
msgstr "Призупинено"
-#: src/toolbars/ControlToolBar.cpp:159
+#: src/toolbars/ControlToolBar.cpp:163
msgid "Pause"
msgstr "Призупинити"
-#: src/toolbars/ControlToolBar.cpp:172
+#: src/toolbars/ControlToolBar.cpp:180
msgid "Skip to Start"
msgstr "Перейти на початок доріжки"
-#: src/toolbars/ControlToolBar.cpp:175
+#: src/toolbars/ControlToolBar.cpp:183
msgid "Skip to End"
msgstr "Перейти на кінець доріжки"
-#: src/toolbars/ControlToolBar.cpp:209
-msgid ") / Loop Play ("
-msgstr ") / Циклічне відтворення ("
-
#: src/toolbars/ControlToolBar.cpp:214
-msgid ") / Append Record ("
-msgstr ") / Дописування ("
+msgid "Loop Play"
+msgstr "Циклічне відтворення"
-#: src/toolbars/ControlToolBar.cpp:1020
+#: src/toolbars/ControlToolBar.cpp:219
+msgid "Append Record"
+msgstr "Долучити запис"
+
+#: src/toolbars/ControlToolBar.cpp:1085
msgid ""
"Error while opening sound device. Please check the recording device settings "
"and the project sample rate."
@@ -12746,31 +12987,31 @@ msgstr "Вузол обробки звуку"
msgid "Recording Channels"
msgstr "Канали запису"
-#: src/toolbars/DeviceToolBar.cpp:634
+#: src/toolbars/DeviceToolBar.cpp:640
msgid "1 (Mono) Recording Channel"
msgstr "1 канал запису (моно)"
-#: src/toolbars/DeviceToolBar.cpp:637
+#: src/toolbars/DeviceToolBar.cpp:643
msgid "2 (Stereo) Recording Channels"
msgstr "2 канали запису (стерео)"
-#: src/toolbars/DeviceToolBar.cpp:768
+#: src/toolbars/DeviceToolBar.cpp:774
msgid "Select Recording Device"
msgstr "Виберіть пристрій запису"
-#: src/toolbars/DeviceToolBar.cpp:772
+#: src/toolbars/DeviceToolBar.cpp:778
msgid "Select Playback Device"
msgstr "Виберіть пристрій відтворення"
-#: src/toolbars/DeviceToolBar.cpp:776
+#: src/toolbars/DeviceToolBar.cpp:782
msgid "Select Audio Host"
msgstr "Виберіть вузол обробки звуку"
-#: src/toolbars/DeviceToolBar.cpp:780
+#: src/toolbars/DeviceToolBar.cpp:786
msgid "Select Recording Channels"
msgstr "Виберіть канали запису"
-#: src/toolbars/DeviceToolBar.cpp:786
+#: src/toolbars/DeviceToolBar.cpp:792
msgid "Device information is not available."
msgstr "Не вдалося отримати дані щодо пристрою."
@@ -12790,15 +13031,15 @@ msgstr "Відрізати усе поза позначеним"
msgid "Silence audio selection"
msgstr "Замінити позначене тишею"
-#: src/toolbars/EditToolBar.cpp:152 src/toolbars/EditToolBar.cpp:209
+#: src/toolbars/EditToolBar.cpp:152 src/toolbars/EditToolBar.cpp:215
msgid "Sync-Lock Tracks"
msgstr "Синхронізація-прив’язка доріжок"
-#: src/toolbars/EditToolBar.cpp:158 src/toolbars/EditToolBar.cpp:211
+#: src/toolbars/EditToolBar.cpp:158 src/toolbars/EditToolBar.cpp:218
msgid "Zoom In"
msgstr "Збільшити"
-#: src/toolbars/EditToolBar.cpp:160 src/toolbars/EditToolBar.cpp:212
+#: src/toolbars/EditToolBar.cpp:160 src/toolbars/EditToolBar.cpp:219
msgid "Zoom Out"
msgstr "Зменшити"
@@ -12814,22 +13055,70 @@ msgstr "Розмістити проект у вікні"
msgid "Show Effects Rack"
msgstr "Показати список ефектів"
-#: src/toolbars/EditToolBar.cpp:205
+#: src/toolbars/EditToolBar.cpp:210
msgid "Silence Audio"
msgstr "Заповнити тишею"
-#: src/toolbars/EditToolBar.cpp:213
+#: src/toolbars/EditToolBar.cpp:220
msgid "Fit Selection"
msgstr "Розмістити вибрану область"
-#: src/toolbars/EditToolBar.cpp:214
+#: src/toolbars/EditToolBar.cpp:221
msgid "Fit Project"
msgstr "Розмістити проект"
-#: src/toolbars/EditToolBar.cpp:217
+#: src/toolbars/EditToolBar.cpp:224
msgid "Open Effects Rack"
msgstr "Відкрити список ефектів"
+#: src/toolbars/EditToolBar.cpp:400 src/toolbars/EditToolBar.cpp:448
+msgid "Scrub"
+msgstr "Прокрутити"
+
+#: src/toolbars/EditToolBar.cpp:450
+msgid "Seek"
+msgstr "Позиціювання"
+
+#: src/toolbars/EditToolBar.cpp:453
+msgid "Scrub bar"
+msgstr "Панель прокручування"
+
+#: src/toolbars/EditToolBar.cpp:464
+msgid "Scrubbing"
+msgstr "Прокручування"
+
+#. i18n-hint: These commands assist the user in finding a sound by ear. ...
+#. "Scrubbing" is variable-speed playback, ...
+#. "Seeking" is normal speed playback but with skips
+#.
+#: src/toolbars/EditToolBar.cpp:497
+msgid "Stop Scrubbing"
+msgstr "Зупинити прокручування"
+
+#: src/toolbars/EditToolBar.cpp:498
+msgid "Start Scrubbing"
+msgstr "Почати прокручування"
+
+#. i18n-hint: These commands assist the user in finding a sound by ear. ...
+#. "Scrubbing" is variable-speed playback, ...
+#. "Seeking" is normal speed playback but with skips
+#.
+#: src/toolbars/EditToolBar.cpp:508
+msgid "Stop Seeking"
+msgstr "Зупинити позиціювання"
+
+#: src/toolbars/EditToolBar.cpp:509
+msgid "Start Seeking"
+msgstr "Почати позиціювання"
+
+#: src/toolbars/EditToolBar.cpp:515
+msgid "Hide Scrub Bar"
+msgstr "Приховати панель прокручування"
+
+#: src/toolbars/EditToolBar.cpp:516
+msgid "Show Scrub Bar"
+msgstr "Показати панель прокручування"
+
#: src/toolbars/MeterToolBar.cpp:51
msgid "Combined Meter"
msgstr "Комбінований індикатор"
@@ -12890,71 +13179,71 @@ msgstr "Гучність відтворення"
msgid "Slider Playback"
msgstr "Повзунок відтворення"
-#: src/toolbars/MixerToolBar.cpp:290
+#: src/toolbars/MixerToolBar.cpp:292
#, c-format
msgid "Recording Volume: %.2f"
msgstr "Гучність запису: %.2f"
-#: src/toolbars/MixerToolBar.cpp:293
+#: src/toolbars/MixerToolBar.cpp:295
msgid "Recording Volume (Unavailable; use system mixer.)"
msgstr "Гучність запису (недоступна, скористайтеся мікшером системи)"
-#: src/toolbars/MixerToolBar.cpp:298
+#: src/toolbars/MixerToolBar.cpp:300
#, c-format
msgid "Playback Volume: %%.2f%s"
msgstr "Гучність відтворення: %%.2f%s"
-#: src/toolbars/MixerToolBar.cpp:298
+#: src/toolbars/MixerToolBar.cpp:300
msgid " (emulated)"
msgstr " (емуляція)"
-#: src/toolbars/MixerToolBar.cpp:301
+#: src/toolbars/MixerToolBar.cpp:303
msgid "Playback Volume (Unavailable; use system mixer.)"
msgstr "Гучність відтворення (недоступна, скористайтеся мікшером системи)"
-#: src/toolbars/SelectionBar.cpp:88 src/toolbars/SelectionBar.cpp:295
+#: src/toolbars/SelectionBar.cpp:88 src/toolbars/SelectionBar.cpp:297
msgid "Selection"
msgstr "Вибрана область"
-#: src/toolbars/SelectionBar.cpp:130 src/toolbars/SelectionBar.cpp:192
+#: src/toolbars/SelectionBar.cpp:132 src/toolbars/SelectionBar.cpp:194
msgid "Project Rate (Hz):"
msgstr "Частота проекту (Гц):"
-#: src/toolbars/SelectionBar.cpp:142
+#: src/toolbars/SelectionBar.cpp:144
msgid "Snap To:"
msgstr "Прив’язування до:"
-#: src/toolbars/SelectionBar.cpp:145 src/toolbars/SelectionBar.cpp:256
+#: src/toolbars/SelectionBar.cpp:147 src/toolbars/SelectionBar.cpp:258
msgid "Selection Start:"
msgstr "Початок вибраної області:"
-#: src/toolbars/SelectionBar.cpp:160 src/toolbars/SelectionBar.cpp:161
-#: src/toolbars/SelectionBar.cpp:263
+#: src/toolbars/SelectionBar.cpp:162 src/toolbars/SelectionBar.cpp:163
+#: src/toolbars/SelectionBar.cpp:265
msgid "Length"
msgstr "Тривалість"
-#: src/toolbars/SelectionBar.cpp:171
+#: src/toolbars/SelectionBar.cpp:173
msgid "hidden"
msgstr "заховано"
-#: src/toolbars/SelectionBar.cpp:182 src/toolbars/SelectionBar.cpp:275
+#: src/toolbars/SelectionBar.cpp:184 src/toolbars/SelectionBar.cpp:277
msgid "Audio Position:"
msgstr "Позиція у аудіо:"
-#: src/toolbars/SelectionBar.cpp:239
+#: src/toolbars/SelectionBar.cpp:241
msgid "Snap To"
msgstr "Прив'язка"
-#: src/toolbars/SelectionBar.cpp:242 src/toolbars/SelectionBar.cpp:377
+#: src/toolbars/SelectionBar.cpp:244 src/toolbars/SelectionBar.cpp:381
#, c-format
msgid "Snap Clicks/Selections to %s"
msgstr "Прив’язувати клацання/позначення до %s"
-#: src/toolbars/SelectionBar.cpp:262
+#: src/toolbars/SelectionBar.cpp:264
msgid "Selection "
msgstr "Вибрана область "
-#: src/toolbars/SelectionBar.cpp:355
+#: src/toolbars/SelectionBar.cpp:359
msgid "Selection End"
msgstr "Кінець вибраної області"
@@ -12989,93 +13278,75 @@ msgid "High Frequency:"
msgstr "Верхня частота:"
#. i18n-hint: %s will be replaced by the name of the kind of toolbar.
-#: src/toolbars/ToolBar.cpp:299
+#: src/toolbars/ToolBar.cpp:319
#, c-format
msgid "Audacity %s Toolbar"
msgstr "Панель інструментів Audacity %s"
-#: src/toolbars/ToolBar.cpp:448 src/toolbars/ToolBar.cpp:493
+#: src/toolbars/ToolBar.cpp:468 src/toolbars/ToolBar.cpp:513
msgid "Click and drag to resize toolbar"
msgstr "Клацніть і перетягніть для зміни розміру панелі інструментів"
-#: src/toolbars/ToolDock.cpp:75 src/toolbars/ToolDock.cpp:76
+#: src/toolbars/ToolBar.cpp:773
+msgid "no key"
+msgstr "немає комбінації"
+
+#: src/toolbars/ToolDock.cpp:353 src/toolbars/ToolDock.cpp:354
msgid "ToolDock"
msgstr "ДокІнструментів"
-#: src/toolbars/ToolsToolBar.cpp:93
-msgid ""
-"Click and drag to select audio, Command-Click to scrub, Command-Double-Click "
-"to scroll-scrub, Command-drag to seek"
-msgstr ""
-"Натисніть кнопку миші і перетягніть вказівник, щоб позначити звукові дані. "
-"Command з клацанням витирає, Command з подвійним клацанням витирає з "
-"гортанням, Command з перетягуванням — позиціює"
-
-#: src/toolbars/ToolsToolBar.cpp:95
-msgid ""
-"Click and drag to select audio, Ctrl-Click to scrub, Ctrl-Double-Click to "
-"scroll-scrub, Ctrl-drag to seek"
-msgstr ""
-"Натисніть кнопку миші і перетягніть вказівник, щоб позначити звукові дані. "
-"Ctrl з клацанням витирає, Ctrl з подвійним клацанням витирає з гортанням, "
-"Ctrl з перетягуванням — позиціює"
-
-#: src/toolbars/ToolsToolBar.cpp:100
+#: src/toolbars/ToolsToolBar.cpp:87
msgid "Click and drag to select audio"
msgstr ""
"Натисніть кнопку миші і перетягніть вказівник, щоб позначити звукові дані"
-#: src/toolbars/ToolsToolBar.cpp:104
+#: src/toolbars/ToolsToolBar.cpp:89
msgid "Click and drag to edit the amplitude envelope"
msgstr "Натисніть кнопку миші і перетягніть, щоб редагувати діапазон амплітуд"
-#: src/toolbars/ToolsToolBar.cpp:105
+#: src/toolbars/ToolsToolBar.cpp:90
msgid "Click and drag to edit the samples"
msgstr "Натисніть кнопку миші і перетягніть, щоб редагувати семпли"
-#: src/toolbars/ToolsToolBar.cpp:107
+#: src/toolbars/ToolsToolBar.cpp:92
msgid "Click to Zoom In, Shift-Click to Zoom Out"
msgstr "Клацніть, щоб збільшити, клацніть із Shift, щоб зменшити"
-#: src/toolbars/ToolsToolBar.cpp:109
+#: src/toolbars/ToolsToolBar.cpp:94
msgid "Drag to Zoom Into Region, Right-Click to Zoom Out"
msgstr ""
"Перетягніть, щоб масштабувати за областю, клацніть правою, щоб зменшити"
-#: src/toolbars/ToolsToolBar.cpp:111
+#: src/toolbars/ToolsToolBar.cpp:96
msgid "Left=Zoom In, Right=Zoom Out, Middle=Normal"
msgstr "Ліва=Збільшити, Права=Зменшити, Середня=Звичайний масштаб"
-#: src/toolbars/ToolsToolBar.cpp:113
+#: src/toolbars/ToolsToolBar.cpp:98
msgid "Click and drag to move a track in time"
msgstr "Натисніть кнопку миші і перетягніть, щоб пересунути доріжку у часі"
-#: src/toolbars/ToolsToolBar.cpp:159
-msgid "Multi-Tool Mode"
-msgstr "Універсальний інструмент"
-
-#: src/toolbars/ToolsToolBar.cpp:196
+#: src/toolbars/ToolsToolBar.cpp:197
msgid "Slide Tool"
msgstr "Переміщення"
-#: src/toolbars/TranscriptionToolBar.cpp:189
+#: src/toolbars/TranscriptionToolBar.cpp:184
msgid "Play at selected speed"
msgstr "Відтворити на вибраній швидкості"
+#: src/toolbars/TranscriptionToolBar.cpp:193
#: src/toolbars/TranscriptionToolBar.cpp:198
-#: src/toolbars/TranscriptionToolBar.cpp:203
msgid "Playback Speed"
msgstr "Швидкість програвання"
-#: src/toolbars/TranscriptionToolBar.cpp:306
+#: src/toolbars/TranscriptionToolBar.cpp:309
msgid "Play-at-speed"
msgstr "Відтворити-на-швидкості"
-#: src/widgets/AButton.cpp:444
+#: src/widgets/AButton.cpp:448
msgid " (disabled)"
msgstr " (вимкнено)"
-#: src/widgets/AButton.cpp:623 src/widgets/Meter.cpp:2118
+#: src/widgets/AButton.cpp:623 src/widgets/Meter.cpp:2148
msgid "Press"
msgstr "Натисніть"
@@ -13085,13 +13356,13 @@ msgstr "Кнопка"
#. i18n-hint: One-letter abbreviation for Left, in the Pan slider
#. i18n-hint: One-letter abbreviation for Left, in VU Meter
-#: src/widgets/ASlider.cpp:802 src/widgets/Meter.cpp:1194
+#: src/widgets/ASlider.cpp:802 src/widgets/Meter.cpp:1223
msgid "L"
msgstr "Л"
#. i18n-hint: One-letter abbreviation for Right, in the Pan slider
#. i18n-hint: One-letter abbreviation for Right, in VU Meter
-#: src/widgets/ASlider.cpp:805 src/widgets/Meter.cpp:1196
+#: src/widgets/ASlider.cpp:805 src/widgets/Meter.cpp:1225
msgid "R"
msgstr "П"
@@ -13111,7 +13382,7 @@ msgstr "Праворуч"
msgid "+"
msgstr "+"
-#: src/widgets/FileHistory.cpp:174
+#: src/widgets/FileHistory.cpp:175
msgid "&Clear"
msgstr "Сп&орожнити"
@@ -13119,83 +13390,83 @@ msgstr "Сп&орожнити"
#. It's used to drag a track around (when in multi-tool mode) rather
#. than requiring that you use the drag tool. It's shown as a series
#. of horizontal bumps
-#: src/widgets/Grabber.cpp:67 src/widgets/Grabber.cpp:68
+#: src/widgets/Grabber.cpp:68 src/widgets/Grabber.cpp:69
msgid "Grabber"
msgstr "Захоплення"
-#: src/widgets/Grid.cpp:759
+#: src/widgets/Grid.cpp:761
msgid "Empty"
msgstr "Порожній"
-#: src/widgets/HelpSystem.cpp:127
+#: src/widgets/HelpSystem.cpp:128
msgid "<"
msgstr "<"
-#: src/widgets/HelpSystem.cpp:128
+#: src/widgets/HelpSystem.cpp:129
msgid ">"
msgstr ">"
-#: src/widgets/HelpSystem.cpp:132
+#: src/widgets/HelpSystem.cpp:133
msgid "Forwards"
msgstr "Вперед"
-#: src/widgets/HelpSystem.cpp:133
+#: src/widgets/HelpSystem.cpp:134
msgid "Backwards"
msgstr "Назад"
-#: src/widgets/HelpSystem.cpp:151
+#: src/widgets/HelpSystem.cpp:152
msgid "Close"
msgstr "Закрити"
-#: src/widgets/HelpSystem.cpp:233
+#: src/widgets/HelpSystem.cpp:234
msgid "Help on the Internet"
msgstr "Довідка у інтернеті"
-#: src/widgets/KeyView.cpp:556
+#: src/widgets/KeyView.cpp:555
msgid "Menu"
msgstr "Меню"
-#: src/widgets/Meter.cpp:595
+#: src/widgets/Meter.cpp:610
msgid "Click to Start Monitoring"
msgstr "Клацніть, щоб почати спостереження"
-#: src/widgets/Meter.cpp:596
+#: src/widgets/Meter.cpp:611
msgid "Click for Monitoring"
msgstr "Клацніть для спостереження"
-#: src/widgets/Meter.cpp:597
+#: src/widgets/Meter.cpp:612
msgid "Click to Start"
msgstr "Клацніть, щоб розпочати"
-#: src/widgets/Meter.cpp:598
+#: src/widgets/Meter.cpp:613
msgid "Click"
msgstr "Клацання"
-#: src/widgets/Meter.cpp:692 src/widgets/Meter.cpp:1874
+#: src/widgets/Meter.cpp:721 src/widgets/Meter.cpp:1903
msgid "Stop Monitoring"
msgstr "Припинити спостереження"
-#: src/widgets/Meter.cpp:694 src/widgets/Meter.cpp:1876
+#: src/widgets/Meter.cpp:723 src/widgets/Meter.cpp:1905
msgid "Start Monitoring"
msgstr "Почати спостереження"
-#: src/widgets/Meter.cpp:698 src/widgets/Meter.cpp:1880
+#: src/widgets/Meter.cpp:727 src/widgets/Meter.cpp:1909
msgid "Preferences..."
msgstr "Параметри…"
-#: src/widgets/Meter.cpp:1925
+#: src/widgets/Meter.cpp:1954
msgid "Recording Meter Preferences"
msgstr "Параметри індикатора запису"
-#: src/widgets/Meter.cpp:1925
+#: src/widgets/Meter.cpp:1954
msgid "Playback Meter Preferences"
msgstr "Параметри індикатора відтворення"
-#: src/widgets/Meter.cpp:1935
+#: src/widgets/Meter.cpp:1964
msgid "Refresh Rate"
msgstr "Частота оновлення"
-#: src/widgets/Meter.cpp:1937
+#: src/widgets/Meter.cpp:1966
msgid ""
"Higher refresh rates make the meter show more frequent\n"
"changes. A rate of 30 per second or less should prevent\n"
@@ -13205,65 +13476,65 @@ msgstr ""
"індикаторі рівня. Значення частоти 30 за секунду або менше має запобігти\n"
"розривам у відтворенні звуку на повільних комп’ютерах."
-#: src/widgets/Meter.cpp:1940
+#: src/widgets/Meter.cpp:1969
msgid "Meter refresh rate per second [1-100]: "
msgstr "Частота оновлення індикатора (разів за секунду) [1-100]: "
-#: src/widgets/Meter.cpp:1943
+#: src/widgets/Meter.cpp:1972
msgid "Meter refresh rate per second [1-100]"
msgstr "Частота оновлення індикатора (разів за секунду) [1-100]"
-#: src/widgets/Meter.cpp:1954
+#: src/widgets/Meter.cpp:1984
msgid "Meter Style"
msgstr "Стиль"
-#: src/widgets/Meter.cpp:1958 src/widgets/Meter.cpp:1959
+#: src/widgets/Meter.cpp:1988 src/widgets/Meter.cpp:1989
msgid "Gradient"
msgstr "Градієнт"
-#: src/widgets/Meter.cpp:1962 src/widgets/Meter.cpp:1963
+#: src/widgets/Meter.cpp:1992 src/widgets/Meter.cpp:1993
msgid "RMS"
msgstr "СКВ"
-#: src/widgets/Meter.cpp:1970
+#: src/widgets/Meter.cpp:2000
msgid "Meter Type"
msgstr "Тип"
-#: src/widgets/Meter.cpp:1986
+#: src/widgets/Meter.cpp:2016
msgid "Orientation"
msgstr "Орієнтація"
-#: src/widgets/Meter.cpp:1990 src/widgets/Meter.cpp:1991
+#: src/widgets/Meter.cpp:2020 src/widgets/Meter.cpp:2021
msgid "Automatic"
msgstr "Автоматично"
-#: src/widgets/Meter.cpp:1994 src/widgets/Meter.cpp:1995
+#: src/widgets/Meter.cpp:2024 src/widgets/Meter.cpp:2025
msgid "Horizontal"
msgstr "Горизонтальна"
-#: src/widgets/Meter.cpp:1998 src/widgets/Meter.cpp:1999
+#: src/widgets/Meter.cpp:2028 src/widgets/Meter.cpp:2029
msgid "Vertical"
msgstr "Вертикальна"
-#: src/widgets/Meter.cpp:2201
+#: src/widgets/Meter.cpp:2231
msgid " Monitoring "
msgstr " Спостереження "
-#: src/widgets/Meter.cpp:2205
+#: src/widgets/Meter.cpp:2235
msgid " Active "
msgstr " Активний "
-#: src/widgets/Meter.cpp:2219
+#: src/widgets/Meter.cpp:2249
#, c-format
msgid " Peak %2.f dB"
msgstr " Пік — %2.f дБ"
-#: src/widgets/Meter.cpp:2223
+#: src/widgets/Meter.cpp:2253
#, c-format
msgid " Peak %.2f "
msgstr " Пік — %.2f "
-#: src/widgets/Meter.cpp:2228
+#: src/widgets/Meter.cpp:2258
msgid " Clipped "
msgstr " Обрізано "
@@ -13558,71 +13829,127 @@ msgstr "мілісекунд"
msgid "thousandths of "
msgstr "тисячі "
-#: src/widgets/ProgressDialog.cpp:1132
+#: src/widgets/ProgressDialog.cpp:1144
msgid "Elapsed Time:"
msgstr "Час, що минув:"
-#: src/widgets/ProgressDialog.cpp:1154
+#: src/widgets/ProgressDialog.cpp:1165
msgid "Remaining Time:"
msgstr "Час, що залишився:"
-#: src/widgets/ProgressDialog.cpp:1187
+#: src/widgets/ProgressDialog.cpp:1206
msgid "Cancel"
msgstr "Скасувати"
-#: src/widgets/Ruler.cpp:1685
+#: src/widgets/ProgressDialog.cpp:1505
+msgid "Are you sure you wish to cancel?"
+msgstr "Ви справді бажаєте скасувати дію?"
+
+#: src/widgets/ProgressDialog.cpp:1505
+msgid "Confirm Cancel"
+msgstr "Підтвердження скасовування"
+
+#: src/widgets/ProgressDialog.cpp:1514
+msgid "Are you sure you wish to stop?"
+msgstr "Ви справді бажаєте припинити?"
+
+#: src/widgets/ProgressDialog.cpp:1514
+msgid "Confirm Stop"
+msgstr "Підтвердження припинення"
+
+#: src/widgets/ProgressDialog.cpp:1524
+msgid "Are you sure you wish to close?"
+msgstr "Ви справді бажаєте закрити проект?"
+
+#: src/widgets/ProgressDialog.cpp:1524
+msgid "Confirm Close"
+msgstr "Підтвердження закриття"
+
+#: src/widgets/Ruler.cpp:1959
msgid "Timeline"
msgstr "Монтажний стіл"
-#: src/widgets/Ruler.cpp:1793
+#: src/widgets/Ruler.cpp:2117
+msgid "Click or drag to begin seeking"
+msgstr "Клацання або перетягування — початок позиціювання"
+
+#: src/widgets/Ruler.cpp:2119
+msgid "Click or drag to begin scrubbing"
+msgstr "Клацання або перетягування — початок прокручування"
+
+#: src/widgets/Ruler.cpp:2121
+msgid "Click to scrub, drag to seek"
+msgstr "Клацання — прокручування, перетягування — позиціювання"
+
+#: src/widgets/Ruler.cpp:2133
+msgid "Move to seek"
+msgstr "Пересування — позиціювання"
+
+#: src/widgets/Ruler.cpp:2135
+msgid "Move to scrub"
+msgstr "Пересування — прокручування"
+
+#: src/widgets/Ruler.cpp:2137
+msgid "Move to scrub, drag to seek"
+msgstr "Пересування — прокручування, перетягування — позиціювання"
+
+#: src/widgets/Ruler.cpp:2155
msgid "Timeline actions disabled during recording"
msgstr "Дії з монтажним столом вимкнено на час запису"
-#: src/widgets/Ruler.cpp:1796
+#: src/widgets/Ruler.cpp:2161
msgid "Quick-Play disabled"
msgstr "Швидке відтворення вимкнено"
-#: src/widgets/Ruler.cpp:1799
+#: src/widgets/Ruler.cpp:2164
msgid "Quick-Play enabled"
msgstr "Швидке відтворення увімкнено"
-#: src/widgets/Ruler.cpp:2244
+#: src/widgets/Ruler.cpp:2816
+msgid "Pinned play/record Head"
+msgstr "Пришпилений початок запису/відтворення"
+
+#: src/widgets/Ruler.cpp:2817
+msgid "Unpinned play/record Head"
+msgstr "Відшпилений початок запису/відтворення"
+
+#: src/widgets/Ruler.cpp:2857
msgid "Disable Quick-Play"
msgstr "Вимкнути швидке відтворення"
-#: src/widgets/Ruler.cpp:2246
+#: src/widgets/Ruler.cpp:2859
msgid "Enable Quick-Play"
msgstr "Увімкнути швидке відтворення"
-#: src/widgets/Ruler.cpp:2250
+#: src/widgets/Ruler.cpp:2863
msgid "Disable dragging selection"
msgstr "Вимкнути перетягувальне позначення"
-#: src/widgets/Ruler.cpp:2252
+#: src/widgets/Ruler.cpp:2865
msgid "Enable dragging selection"
msgstr "Увімкнути перетягувальне позначення"
-#: src/widgets/Ruler.cpp:2257
+#: src/widgets/Ruler.cpp:2870
msgid "Disable Timeline Tooltips"
msgstr "Вимкнути підказки монтажного столу"
-#: src/widgets/Ruler.cpp:2259
+#: src/widgets/Ruler.cpp:2872
msgid "Enable Timeline Tooltips"
msgstr "Увімкнути підказки монтажного столу"
-#: src/widgets/Ruler.cpp:2263
+#: src/widgets/Ruler.cpp:2876
msgid "Do not scroll while playing"
msgstr "Не гортати під час відтворення"
-#: src/widgets/Ruler.cpp:2265
+#: src/widgets/Ruler.cpp:2878
msgid "Update display while playing"
msgstr "Оновлювати відображення під час відтворення"
-#: src/widgets/Ruler.cpp:2269
+#: src/widgets/Ruler.cpp:2882
msgid "Lock Play Region"
msgstr "Заблокувати область відтворення"
-#: src/widgets/Ruler.cpp:2271
+#: src/widgets/Ruler.cpp:2884
msgid "Unlock Play Region"
msgstr "Розблокувати область відтворення"
@@ -13638,47 +13965,47 @@ msgstr "Не число"
msgid "-Infinity"
msgstr "-Нескінченність"
-#: src/widgets/valnum.cpp:92
+#: src/widgets/valnum.cpp:94
msgid "Validation error"
msgstr "Помилка під час перевірки"
-#: src/widgets/valnum.cpp:360 src/widgets/valnum.cpp:482
+#: src/widgets/valnum.cpp:362 src/widgets/valnum.cpp:484
msgid "Empty value"
msgstr "Порожнє значення"
-#: src/widgets/valnum.cpp:369
+#: src/widgets/valnum.cpp:371
msgid "Malformed number"
msgstr "Помилкове форматування числа"
-#: src/widgets/valnum.cpp:374
+#: src/widgets/valnum.cpp:376
#, c-format
msgid "Not in range %d to %d"
msgstr "Поза діапазоном від %d до %d"
-#: src/widgets/valnum.cpp:490
+#: src/widgets/valnum.cpp:492
msgid "Value overflow"
msgstr "Переповнення значення"
-#: src/widgets/valnum.cpp:495
+#: src/widgets/valnum.cpp:497
msgid "Too many decimal digits"
msgstr "Забагато десяткових цифр"
-#: src/widgets/valnum.cpp:508
+#: src/widgets/valnum.cpp:510
#, c-format
msgid "Value not in range: %s to %s"
msgstr "Значення поза діапазоном від %s до %s"
-#: src/widgets/valnum.cpp:513
+#: src/widgets/valnum.cpp:515
#, c-format
msgid "Value must not be less than %s"
msgstr "Значення має бути не меншим за %s"
-#: src/widgets/valnum.cpp:517
+#: src/widgets/valnum.cpp:519
#, c-format
msgid "Value must not be greather than %s"
msgstr "Значення має бути не більшим за %s"
-#: src/widgets/valnum.cpp:534
+#: src/widgets/valnum.cpp:536
msgid "e"
msgstr "e"
@@ -13706,6 +14033,124 @@ msgstr "Помилка під час закриття файла"
msgid "Error Writing to File"
msgstr "Помилка під час спроби запису файла"
+#~ msgid "co-founder"
+#~ msgstr "співзасновник"
+
+#~ msgid "OK... Audacious!"
+#~ msgstr "Гаразд… Круто!"
+
+#~ msgid "Audacity Developers"
+#~ msgstr "Розробники Audacity"
+
+#~ msgid "Audacity Support Team"
+#~ msgstr "Команда підтримки Audacity"
+
+#~ msgid "Emeritus Developers"
+#~ msgstr "Заслужені розробники"
+
+#~ msgid "Audacity is based on code from the following projects:"
+#~ msgstr "Audacity використовує код наступних проектів:"
+
+#~ msgid "How to Get Help
"
+#~ msgstr "Як дістати довідку
"
+
+#~ msgid "Welcome to Audacity "
+#~ msgstr "Ласкаво просимо до Audacity "
+
+#~ msgid ""
+#~ " For even quicker answers, all the online resources above are "
+#~ "searchable."
+#~ msgstr ""
+#~ " Якщо вам потрібна коротка відповідь, ви можете скористатися пошуком"
+#~ "b> на наведених вище ресурсах інтернету."
+
+#~ msgid "Warning - Length in Writing Sequence"
+#~ msgstr "Попередження: тривалість у послідовності запису"
+
+#~ msgid "Pre&view"
+#~ msgstr "&Прослухати"
+
+#~ msgid "Zoom In\tLeft-Click/Left-Drag"
+#~ msgstr "Збільшити\tКлацання лівою/Перетягування лівою кнопкою"
+
+#~ msgid "Zoom Out\tShift-Left-Click"
+#~ msgstr "Зменшити\tShift і клацання лівою"
+
+#~ msgid "Zoom to Fit\tShift-Right-Click"
+#~ msgstr "Підібрати за розміром\tShift і клацання правою"
+
+#~ msgid ""
+#~ "Increases or decreases the lower frequencies and higher frequencies of "
+#~ "your audio independently"
+#~ msgstr ""
+#~ "Збільшує або зменшує інтенсивність нижніх або верхніх частот ваших "
+#~ "звукових даних незалежно"
+
+#~ msgid "&Level (dB):"
+#~ msgstr "&Рівень (дБ):"
+
+#~ msgid "&Enable level control"
+#~ msgstr "&Увімкнути керування рівнем"
+
+#~ msgid " No change to apply."
+#~ msgstr " Немає змін для внесення."
+
+#~ msgid ": Maximum 0 dB."
+#~ msgstr ": максимум — 0 дБ."
+
+#~ msgid "No wave tracks exist."
+#~ msgstr "Немає доріжок хвиль."
+
+#~ msgid "Please select something to be measured."
+#~ msgstr "Будь ласка, позначте щось для вимірювання."
+
+#~ msgid ""
+#~ "Generates four different types of tone waveform while allowing starting "
+#~ "and ending amplitude and frequency"
+#~ msgstr ""
+#~ "Створює чотири різних типи форми хвилі тону, надаючи змогу визначити "
+#~ "початкові і кінцеві амплітуди і частоти"
+
+#~ msgid "Generates four different types of tone waveform"
+#~ msgstr "Створює чотири різних типи форми хвилі тону"
+
+#~ msgid "Host"
+#~ msgstr "Вузол"
+
+#~ msgid "-Left-Click"
+#~ msgstr "-клацання лівою"
+
+#~ msgid "-Left-Double-Click"
+#~ msgstr "-подвійне клацання лівою"
+
+#~ msgid "Scroll-scrub"
+#~ msgstr "Гортати-витерти"
+
+#~ msgid ") / Loop Play ("
+#~ msgstr ") / Циклічне відтворення ("
+
+#~ msgid ") / Append Record ("
+#~ msgstr ") / Дописування ("
+
+#~ msgid ""
+#~ "Click and drag to select audio, Command-Click to scrub, Command-Double-"
+#~ "Click to scroll-scrub, Command-drag to seek"
+#~ msgstr ""
+#~ "Натисніть кнопку миші і перетягніть вказівник, щоб позначити звукові "
+#~ "дані. Command з клацанням витирає, Command з подвійним клацанням витирає "
+#~ "з гортанням, Command з перетягуванням — позиціює"
+
+#~ msgid ""
+#~ "Click and drag to select audio, Ctrl-Click to scrub, Ctrl-Double-Click to "
+#~ "scroll-scrub, Ctrl-drag to seek"
+#~ msgstr ""
+#~ "Натисніть кнопку миші і перетягніть вказівник, щоб позначити звукові "
+#~ "дані. Ctrl з клацанням витирає, Ctrl з подвійним клацанням витирає з "
+#~ "гортанням, Ctrl з перетягуванням — позиціює"
+
+#~ msgid "Multi-Tool Mode"
+#~ msgstr "Універсальний інструмент"
+
#~ msgid "Edit Me&tadata..."
#~ msgstr "Редагувати м&етадані…"
@@ -14530,9 +14975,6 @@ msgstr "Помилка під час спроби запису файла"
#~ msgid "Note velocity"
#~ msgstr "Нотна швидкість"
-#~ msgid "Note key"
-#~ msgstr "Нотний ключ"
-
#~ msgid "Extracting features: %s"
#~ msgstr "Отримання параметрів: %s"
From 5421cf487aa56b80911f7f83cda1ff68ab9c3d1e Mon Sep 17 00:00:00 2001
From: Taiki Kim
Date: Mon, 20 Jun 2016 15:49:50 -0700
Subject: [PATCH 03/16] Correctly load parameters for Change Pitch effect
Partial fix for Bug 73.
Partial fix for Bug 1207.
---
src/effects/ChangePitch.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/effects/ChangePitch.cpp b/src/effects/ChangePitch.cpp
index 669b4273a..31bd496be 100644
--- a/src/effects/ChangePitch.cpp
+++ b/src/effects/ChangePitch.cpp
@@ -138,6 +138,7 @@ bool EffectChangePitch::SetAutomationParameters(EffectAutomationParameters & par
ReadAndVerifyDouble(Percentage);
m_dPercentChange = Percentage;
+ Calc_SemitonesChange_fromPercentChange();
return true;
}
From 6ac68db5be726d97c731c968d7e3e20ca06d8563 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rapha=C3=ABl=20Marinier?=
Date: Sat, 25 Jun 2016 16:23:56 +0200
Subject: [PATCH 04/16] Code cleanup: removed the old real FFT code not used
since at least 2009.
I confirmed that the currently used real FFT code in RealFFTf.cpp is faster
than the old one with a quick benchmark that calls PowerSpectrum() on 4-minute
audio file, with different sizes of computation windows:
Window_size: 256 method: new FFT time_s: 0.393
Window_size: 256 method: old FFT time_s: 1.065
Window_size: 1024 method: new FFT time_s: 0.38
Window_size: 1024 method: old FFT time_s: 0.958
Window_size: 4096 method: new FFT time_s: 0.413
Window_size: 4096 method: old FFT time_s: 1.084
Window_size: 16384 method: new FFT time_s: 0.518
Window_size: 16384 method: old FFT time_s: 1.338
Window_size: 65536 method: new FFT time_s: 0.655
Window_size: 65536 method: old FFT time_s: 1.524
Window_size: 262144 method: new FFT time_s: 0.735
Window_size: 262144 method: old FFT time_s: 1.873
---
src/Experimental.h | 4 -
src/FFT.cpp | 154 ++----------------------------
src/FFT.h | 4 -
src/FreqWindow.cpp | 17 ----
src/Spectrum.cpp | 9 --
src/WaveClip.cpp | 13 +--
src/WaveClip.h | 2 -
src/effects/Equalization.cpp | 8 --
src/prefs/SpectrogramSettings.cpp | 4 -
src/prefs/SpectrogramSettings.h | 3 -
10 files changed, 8 insertions(+), 210 deletions(-)
diff --git a/src/Experimental.h b/src/Experimental.h
index 3a2f81e22..1a3bcd192 100644
--- a/src/Experimental.h
+++ b/src/Experimental.h
@@ -107,10 +107,6 @@
// Paul Licameli (PRL) 29 Nov 2014
// #define EXPERIMENTAL_IMPROVED_SEEKING
-// Philip Van Baren 01 July 2009
-// Replace RealFFT() and PowerSpectrum function to use (faster) RealFFTf function
-#define EXPERIMENTAL_USE_REALFFTF
-
// RBD, 1 Sep 2008
// Enables MIDI Output of NoteTrack (MIDI) data during playback
// USE_MIDI must be defined in order for EXPERIMENTAL_MIDI_OUT to work
diff --git a/src/FFT.cpp b/src/FFT.cpp
index 62408eed4..9ab73bc28 100644
--- a/src/FFT.cpp
+++ b/src/FFT.cpp
@@ -46,6 +46,7 @@
#include
#include
+#include "RealFFTf.h"
#include "Experimental.h"
static int **gFFTBitTable = NULL;
@@ -110,10 +111,6 @@ void InitFFT()
}
}
-#ifdef EXPERIMENTAL_USE_REALFFTF
-#include "RealFFTf.h"
-#endif
-
void DeinitFFT()
{
if (gFFTBitTable) {
@@ -122,10 +119,8 @@ void DeinitFFT()
}
delete[] gFFTBitTable;
}
-#ifdef EXPERIMENTAL_USE_REALFFTF
// Deallocate any unused RealFFTf tables
CleanupFFT();
-#endif
}
inline int FastReverseBits(int i, int NumBits)
@@ -238,22 +233,11 @@ void FFT(int NumSamples,
/*
* Real Fast Fourier Transform
*
- * This function was based on the code in Numerical Recipes in C.
- * In Num. Rec., the inner loop is based on a single 1-based array
- * of interleaved real and imaginary numbers. Because we have two
- * separate zero-based arrays, our indices are quite different.
- * Here is the correspondence between Num. Rec. indices and our indices:
- *
- * i1 <-> real[i]
- * i2 <-> imag[i]
- * i3 <-> real[n/2-i]
- * i4 <-> imag[n/2-i]
+ * This is merely a wrapper of RealFFTf() from RealFFTf.h.
*/
void RealFFT(int NumSamples, float *RealIn, float *RealOut, float *ImagOut)
{
-#ifdef EXPERIMENTAL_USE_REALFFTF
- // Remap to RealFFTf() function
int i;
HFFT hFFT = GetFFT(NumSamples);
float *pFFT = new float[NumSamples];
@@ -280,62 +264,8 @@ void RealFFT(int NumSamples, float *RealIn, float *RealOut, float *ImagOut)
}
delete [] pFFT;
ReleaseFFT(hFFT);
-
-#else
-
- int Half = NumSamples / 2;
- int i;
-
- float theta = M_PI / Half;
-
- float *tmpReal = new float[Half];
- float *tmpImag = new float[Half];
-
- for (i = 0; i < Half; i++) {
- tmpReal[i] = RealIn[2 * i];
- tmpImag[i] = RealIn[2 * i + 1];
- }
-
- FFT(Half, 0, tmpReal, tmpImag, RealOut, ImagOut);
-
- float wtemp = float (sin(0.5 * theta));
-
- float wpr = -2.0 * wtemp * wtemp;
- float wpi = -1.0 * float (sin(theta));
- float wr = 1.0 + wpr;
- float wi = wpi;
-
- int i3;
-
- float h1r, h1i, h2r, h2i;
-
- for (i = 1; i < Half / 2; i++) {
-
- i3 = Half - i;
-
- h1r = 0.5 * (RealOut[i] + RealOut[i3]);
- h1i = 0.5 * (ImagOut[i] - ImagOut[i3]);
- h2r = 0.5 * (ImagOut[i] + ImagOut[i3]);
- h2i = -0.5 * (RealOut[i] - RealOut[i3]);
-
- RealOut[i] = h1r + wr * h2r - wi * h2i;
- ImagOut[i] = h1i + wr * h2i + wi * h2r;
- RealOut[i3] = h1r - wr * h2r + wi * h2i;
- ImagOut[i3] = -h1i + wr * h2i + wi * h2r;
-
- wr = (wtemp = wr) * wpr - wi * wpi + wr;
- wi = wi * wpr + wtemp * wpi + wi;
- }
-
- RealOut[0] = (h1r = RealOut[0]) + ImagOut[0];
- ImagOut[0] = h1r - ImagOut[0];
-
- delete[]tmpReal;
- delete[]tmpImag;
-#endif //EXPERIMENTAL_USE_REALFFTF
}
-#ifdef EXPERIMENTAL_USE_REALFFTF
/*
* InverseRealFFT
*
@@ -344,10 +274,11 @@ void RealFFT(int NumSamples, float *RealIn, float *RealOut, float *ImagOut)
* and as a result the output is purely real.
* Only the first half of RealIn and ImagIn are used due to this
* symmetry assumption.
+ *
+ * This is merely a wrapper of InverseRealFFTf() from RealFFTf.h.
*/
void InverseRealFFT(int NumSamples, float *RealIn, float *ImagIn, float *RealOut)
{
- // Remap to RealFFTf() function
int i;
HFFT hFFT = GetFFT(NumSamples);
float *pFFT = new float[NumSamples];
@@ -373,15 +304,13 @@ void InverseRealFFT(int NumSamples, float *RealIn, float *ImagIn, float *RealOut
delete [] pFFT;
ReleaseFFT(hFFT);
}
-#endif // EXPERIMENTAL_USE_REALFFTF
/*
* PowerSpectrum
*
- * This function computes the same as RealFFT, above, but
- * adds the squares of the real and imaginary part of each
- * coefficient, extracting the power and throwing away the
- * phase.
+ * This function uses RealFFTf() from RealFFTf.h to perform the real
+ * FFT computation, and then squares the real and imaginary part of
+ * each coefficient, extracting the power and throwing away the phase.
*
* For speed, it does not call RealFFT, but duplicates some
* of its code.
@@ -389,8 +318,6 @@ void InverseRealFFT(int NumSamples, float *RealIn, float *ImagIn, float *RealOut
void PowerSpectrum(int NumSamples, float *In, float *Out)
{
-#ifdef EXPERIMENTAL_USE_REALFFTF
- // Remap to RealFFTf() function
int i;
HFFT hFFT = GetFFT(NumSamples);
float *pFFT = new float[NumSamples];
@@ -411,73 +338,6 @@ void PowerSpectrum(int NumSamples, float *In, float *Out)
Out[i] = pFFT[1]*pFFT[1];
delete [] pFFT;
ReleaseFFT(hFFT);
-
-#else // EXPERIMENTAL_USE_REALFFTF
-
- int Half = NumSamples / 2;
- int i;
-
- float theta = M_PI / Half;
-
- float *tmpReal = new float[Half];
- float *tmpImag = new float[Half];
- float *RealOut = new float[Half];
- float *ImagOut = new float[Half];
-
- for (i = 0; i < Half; i++) {
- tmpReal[i] = In[2 * i];
- tmpImag[i] = In[2 * i + 1];
- }
-
- FFT(Half, 0, tmpReal, tmpImag, RealOut, ImagOut);
-
- float wtemp = float (sin(0.5 * theta));
-
- float wpr = -2.0 * wtemp * wtemp;
- float wpi = -1.0 * float (sin(theta));
- float wr = 1.0 + wpr;
- float wi = wpi;
-
- int i3;
-
- float h1r, h1i, h2r, h2i, rt, it;
-
- for (i = 1; i < Half / 2; i++) {
-
- i3 = Half - i;
-
- h1r = 0.5 * (RealOut[i] + RealOut[i3]);
- h1i = 0.5 * (ImagOut[i] - ImagOut[i3]);
- h2r = 0.5 * (ImagOut[i] + ImagOut[i3]);
- h2i = -0.5 * (RealOut[i] - RealOut[i3]);
-
- rt = h1r + wr * h2r - wi * h2i;
- it = h1i + wr * h2i + wi * h2r;
-
- Out[i] = rt * rt + it * it;
-
- rt = h1r - wr * h2r + wi * h2i;
- it = -h1i + wr * h2i + wi * h2r;
-
- Out[i3] = rt * rt + it * it;
-
- wr = (wtemp = wr) * wpr - wi * wpi + wr;
- wi = wi * wpr + wtemp * wpi + wi;
- }
-
- rt = (h1r = RealOut[0]) + ImagOut[0];
- it = h1r - ImagOut[0];
- Out[0] = rt * rt + it * it;
-
- rt = RealOut[Half / 2];
- it = ImagOut[Half / 2];
- Out[Half / 2] = rt * rt + it * it;
-
- delete[]tmpReal;
- delete[]tmpImag;
- delete[]RealOut;
- delete[]ImagOut;
-#endif // EXPERIMENTAL_USE_REALFFTF
}
/*
diff --git a/src/FFT.h b/src/FFT.h
index 10dad8053..6bce57abe 100644
--- a/src/FFT.h
+++ b/src/FFT.h
@@ -77,13 +77,9 @@ void RealFFT(int NumSamples,
* Computes an Inverse FFT when the input data is conjugate symmetric
* so the output is purely real. NumSamples must be a power of
* two.
- * Requires: EXPERIMENTAL_USE_REALFFTF
*/
-#include "Experimental.h"
-#ifdef EXPERIMENTAL_USE_REALFFTF
void InverseRealFFT(int NumSamples,
float *RealIn, float *ImagIn, float *RealOut);
-#endif
/*
* Computes a FFT of complex input and returns complex output.
diff --git a/src/FreqWindow.cpp b/src/FreqWindow.cpp
index 02a894eec..91322d94c 100644
--- a/src/FreqWindow.cpp
+++ b/src/FreqWindow.cpp
@@ -1255,11 +1255,7 @@ bool SpectrumAnalyst::Calculate(Algorithm alg, int windowFunc,
case EnhancedAutocorrelation:
// Take FFT
-#ifdef EXPERIMENTAL_USE_REALFFTF
RealFFT(mWindowSize, in, out, out2);
-#else
- FFT(mWindowSize, false, in, NULL, out, out2);
-#endif
// Compute power
for (int i = 0; i < mWindowSize; i++)
in[i] = (out[i] * out[i]) + (out2[i] * out2[i]);
@@ -1277,11 +1273,7 @@ bool SpectrumAnalyst::Calculate(Algorithm alg, int windowFunc,
in[i] = pow(in[i], 1.0f / 3.0f);
}
// Take FFT
-#ifdef EXPERIMENTAL_USE_REALFFTF
RealFFT(mWindowSize, in, out, out2);
-#else
- FFT(mWindowSize, false, in, NULL, out, out2);
-#endif
// Take real part of result
for (int i = 0; i < half; i++)
@@ -1289,12 +1281,7 @@ bool SpectrumAnalyst::Calculate(Algorithm alg, int windowFunc,
break;
case Cepstrum:
-#ifdef EXPERIMENTAL_USE_REALFFTF
RealFFT(mWindowSize, in, out, out2);
-#else
- FFT(mWindowSize, false, in, NULL, out, out2);
-#endif
-
// Compute log power
// Set a sane lower limit assuming maximum time amplitude of 1.0
{
@@ -1309,11 +1296,7 @@ bool SpectrumAnalyst::Calculate(Algorithm alg, int windowFunc,
in[i] = log(power);
}
// Take IFFT
-#ifdef EXPERIMENTAL_USE_REALFFTF
InverseRealFFT(mWindowSize, in, NULL, out);
-#else
- FFT(mWindowSize, true, in, NULL, out, out2);
-#endif
// Take real part of result
for (int i = 0; i < half; i++)
diff --git a/src/Spectrum.cpp b/src/Spectrum.cpp
index 5f043a8e6..d113cd5ee 100644
--- a/src/Spectrum.cpp
+++ b/src/Spectrum.cpp
@@ -52,11 +52,7 @@ bool ComputeSpectrum(const float * data, int width,
if (autocorrelation) {
// Take FFT
-#ifdef EXPERIMENTAL_USE_REALFFTF
RealFFT(windowSize, in, out, out2);
-#else
- FFT(windowSize, false, in, NULL, out, out2);
-#endif
// Compute power
for (i = 0; i < windowSize; i++)
in[i] = (out[i] * out[i]) + (out2[i] * out2[i]);
@@ -68,12 +64,7 @@ bool ComputeSpectrum(const float * data, int width,
in[i] = powf(in[i], 1.0f / 3.0f);
// Take FFT
-#ifdef EXPERIMENTAL_USE_REALFFTF
RealFFT(windowSize, in, out, out2);
-#else
- FFT(windowSize, false, in, NULL, out, out2);
-#endif
-
}
else
PowerSpectrum(windowSize, in, out);
diff --git a/src/WaveClip.cpp b/src/WaveClip.cpp
index 40e38ccf8..14282d946 100644
--- a/src/WaveClip.cpp
+++ b/src/WaveClip.cpp
@@ -34,6 +34,7 @@
#include "Resample.h"
#include "Project.h"
#include "WaveTrack.h"
+#include "FFT.h"
#include "prefs/SpectrogramSettings.h"
@@ -259,8 +260,6 @@ protected:
};
-#ifdef EXPERIMENTAL_USE_REALFFTF
-#include "FFT.h"
static void ComputeSpectrumUsingRealFFTf
(float *buffer, HFFT hFFT, const float *window, int len, float *out)
{
@@ -288,7 +287,6 @@ static void ComputeSpectrumUsingRealFFTf
out[i] = 10.0*log10f(power);
}
}
-#endif // EXPERIMENTAL_USE_REALFFTF
WaveClip::WaveClip(DirManager *projDirManager, sampleFormat format, int rate)
{
@@ -852,7 +850,6 @@ bool SpecCache::CalculateOneSpectrum
if (copy)
useBuffer = scratch;
-#ifdef EXPERIMENTAL_USE_REALFFTF
if (autocorrelation) {
float *const results = &freq[half * xx];
// This function does not mutate useBuffer
@@ -956,12 +953,6 @@ bool SpecCache::CalculateOneSpectrum
results[ii] += gainFactors[ii];
}
}
-#else // EXPERIMENTAL_USE_REALFFTF
- // This function does not mutate scratch
- ComputeSpectrum(scratch, windowSize, windowSize,
- rate, results,
- autocorrelation, settings.windowType);
-#endif // EXPERIMENTAL_USE_REALFFTF
}
return result;
}
@@ -972,9 +963,7 @@ void SpecCache::Populate
sampleCount numSamples,
double offset, double rate, double pixelsPerSecond)
{
-#ifdef EXPERIMENTAL_USE_REALFFTF
settings.CacheWindows();
-#endif
const int &frequencyGain = settings.frequencyGain;
const int &windowSize = settings.windowSize;
diff --git a/src/WaveClip.h b/src/WaveClip.h
index a208a4d14..757ec059d 100644
--- a/src/WaveClip.h
+++ b/src/WaveClip.h
@@ -20,9 +20,7 @@
#include "xml/XMLTagHandler.h"
#include "Experimental.h"
-#ifdef EXPERIMENTAL_USE_REALFFTF
#include "RealFFTf.h"
-#endif
#include
#include
diff --git a/src/effects/Equalization.cpp b/src/effects/Equalization.cpp
index cc85cceef..c1ce5f7a8 100644
--- a/src/effects/Equalization.cpp
+++ b/src/effects/Equalization.cpp
@@ -1296,11 +1296,7 @@ bool EffectEqualization::CalcFilter()
//transfer to time domain to do the padding and windowing
float *outr = new float[mWindowSize];
float *outi = new float[mWindowSize];
-#ifdef EXPERIMENTAL_USE_REALFFTF
InverseRealFFT(mWindowSize, mFilterFuncR, NULL, outr); // To time domain
-#else
- FFT(mWindowSize,true,mFilterFuncR,NULL,outr,outi); //To time domain
-#endif
for(i=0;i<=(mM-1)/2;i++)
{ //Windowing - could give a choice, fixed for now - MJS
@@ -2944,11 +2940,7 @@ void EqualizationPanel::Recalc()
mOuti = new float[mEffect->mWindowSize];
mEffect->CalcFilter(); //to calculate the actual response
-#ifdef EXPERIMENTAL_USE_REALFFTF
InverseRealFFT(mEffect->mWindowSize, mEffect->mFilterFuncR, mEffect->mFilterFuncI, mOutr);
-#else
- FFT(mWindowSize,true,mFilterFuncR,mFilterFuncI,mOutr,mOuti); //work out FIR response - note mOuti will be all zeros
-#endif // EXPERIMENTAL_USE_REALFFTF
}
void EqualizationPanel::OnSize(wxSizeEvent & WXUNUSED(event))
diff --git a/src/prefs/SpectrogramSettings.cpp b/src/prefs/SpectrogramSettings.cpp
index 8f80a290b..090e3893e 100644
--- a/src/prefs/SpectrogramSettings.cpp
+++ b/src/prefs/SpectrogramSettings.cpp
@@ -348,7 +348,6 @@ SpectrogramSettings::~SpectrogramSettings()
void SpectrogramSettings::DestroyWindows()
{
-#ifdef EXPERIMENTAL_USE_REALFFTF
if (hFFT != NULL) {
EndFFT(hFFT);
hFFT = NULL;
@@ -365,7 +364,6 @@ void SpectrogramSettings::DestroyWindows()
delete[] tWindow;
tWindow = NULL;
}
-#endif
}
@@ -428,7 +426,6 @@ namespace
void SpectrogramSettings::CacheWindows() const
{
-#ifdef EXPERIMENTAL_USE_REALFFTF
if (hFFT == NULL || window == NULL) {
double scale;
@@ -444,7 +441,6 @@ void SpectrogramSettings::CacheWindows() const
RecreateWindow(dWindow, DWINDOW, fftLen, padding, windowType, windowSize, scale);
}
}
-#endif // EXPERIMENTAL_USE_REALFFTF
}
void SpectrogramSettings::ConvertToEnumeratedWindowSizes()
diff --git a/src/prefs/SpectrogramSettings.h b/src/prefs/SpectrogramSettings.h
index b51e8a505..7fcaade12 100644
--- a/src/prefs/SpectrogramSettings.h
+++ b/src/prefs/SpectrogramSettings.h
@@ -137,7 +137,6 @@ public:
// Following fields are derived from preferences.
-#ifdef EXPERIMENTAL_USE_REALFFTF
// Variables used for computing the spectrum
mutable FFTParam *hFFT{};
mutable float *window{};
@@ -145,7 +144,5 @@ public:
// Two other windows for computing reassigned spectrogram
mutable float *tWindow{}; // Window times time parameter
mutable float *dWindow{}; // Derivative of window
-
-#endif
};
#endif
From 3120fa361e288637ad619dc3fdea97516b7efe80 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rapha=C3=ABl=20Marinier?=
Date: Sat, 25 Jun 2016 20:36:00 +0200
Subject: [PATCH 05/16] Code cleanup: Changed a few pointers to const pointers
in FFT code
---
src/FFT.cpp | 10 ++++++----
src/FFT.h | 8 ++++----
src/RealFFTf.cpp | 17 +++++++++--------
src/RealFFTf.h | 5 +++--
4 files changed, 22 insertions(+), 18 deletions(-)
diff --git a/src/FFT.cpp b/src/FFT.cpp
index 9ab73bc28..2c098b4a8 100644
--- a/src/FFT.cpp
+++ b/src/FFT.cpp
@@ -137,7 +137,8 @@ inline int FastReverseBits(int i, int NumBits)
void FFT(int NumSamples,
bool InverseTransform,
- float *RealIn, float *ImagIn, float *RealOut, float *ImagOut)
+ const float *RealIn, const float *ImagIn,
+ float *RealOut, float *ImagOut)
{
int NumBits; /* Number of bits needed to store indices */
int i, j, k, n;
@@ -236,7 +237,7 @@ void FFT(int NumSamples,
* This is merely a wrapper of RealFFTf() from RealFFTf.h.
*/
-void RealFFT(int NumSamples, float *RealIn, float *RealOut, float *ImagOut)
+void RealFFT(int NumSamples, const float *RealIn, float *RealOut, float *ImagOut)
{
int i;
HFFT hFFT = GetFFT(NumSamples);
@@ -277,7 +278,8 @@ void RealFFT(int NumSamples, float *RealIn, float *RealOut, float *ImagOut)
*
* This is merely a wrapper of InverseRealFFTf() from RealFFTf.h.
*/
-void InverseRealFFT(int NumSamples, float *RealIn, float *ImagIn, float *RealOut)
+void InverseRealFFT(int NumSamples, const float *RealIn, const float *ImagIn,
+ float *RealOut)
{
int i;
HFFT hFFT = GetFFT(NumSamples);
@@ -316,7 +318,7 @@ void InverseRealFFT(int NumSamples, float *RealIn, float *ImagIn, float *RealOut
* of its code.
*/
-void PowerSpectrum(int NumSamples, float *In, float *Out)
+void PowerSpectrum(int NumSamples, const float *In, float *Out)
{
int i;
HFFT hFFT = GetFFT(NumSamples);
diff --git a/src/FFT.h b/src/FFT.h
index 6bce57abe..488f93ca5 100644
--- a/src/FFT.h
+++ b/src/FFT.h
@@ -61,7 +61,7 @@
* input array, and that NumSamples must be a power of two.
*/
-void PowerSpectrum(int NumSamples, float *In, float *Out);
+void PowerSpectrum(int NumSamples, const float *In, float *Out);
/*
* Computes an FFT when the input data is real but you still
@@ -71,7 +71,7 @@ void PowerSpectrum(int NumSamples, float *In, float *Out);
*/
void RealFFT(int NumSamples,
- float *RealIn, float *RealOut, float *ImagOut);
+ const float *RealIn, float *RealOut, float *ImagOut);
/*
* Computes an Inverse FFT when the input data is conjugate symmetric
@@ -79,7 +79,7 @@ void RealFFT(int NumSamples,
* two.
*/
void InverseRealFFT(int NumSamples,
- float *RealIn, float *ImagIn, float *RealOut);
+ const float *RealIn, const float *ImagIn, float *RealOut);
/*
* Computes a FFT of complex input and returns complex output.
@@ -89,7 +89,7 @@ void InverseRealFFT(int NumSamples,
void FFT(int NumSamples,
bool InverseTransform,
- float *RealIn, float *ImagIn, float *RealOut, float *ImagOut);
+ const float *RealIn, const float *ImagIn, float *RealOut, float *ImagOut);
/*
* Multiply values in data by values of the chosen function
diff --git a/src/RealFFTf.cpp b/src/RealFFTf.cpp
index c904c5f83..254140869 100644
--- a/src/RealFFTf.cpp
+++ b/src/RealFFTf.cpp
@@ -191,9 +191,9 @@ void CleanupFFT()
void RealFFTf(fft_type *buffer,HFFT h)
{
fft_type *A,*B;
- fft_type *sptr;
- fft_type *endptr1,*endptr2;
- int *br1,*br2;
+ const fft_type *sptr;
+ const fft_type *endptr1,*endptr2;
+ const int *br1,*br2;
fft_type HRplus,HRminus,HIplus,HIminus;
fft_type v1,v2,sin,cos;
@@ -293,9 +293,9 @@ void RealFFTf(fft_type *buffer,HFFT h)
void InverseRealFFTf(fft_type *buffer,HFFT h)
{
fft_type *A,*B;
- fft_type *sptr;
- fft_type *endptr1,*endptr2;
- int *br1;
+ const fft_type *sptr;
+ const fft_type *endptr1,*endptr2;
+ const int *br1;
fft_type HRplus,HRminus,HIplus,HIminus;
fft_type v1,v2,sin,cos;
@@ -373,7 +373,8 @@ void InverseRealFFTf(fft_type *buffer,HFFT h)
}
}
-void ReorderToFreq(HFFT hFFT, fft_type *buffer, fft_type *RealOut, fft_type *ImagOut)
+void ReorderToFreq(HFFT hFFT, const fft_type *buffer,
+ fft_type *RealOut, fft_type *ImagOut)
{
// Copy the data into the real and imaginary outputs
for(int i=1;iPoints;i++) {
@@ -386,7 +387,7 @@ void ReorderToFreq(HFFT hFFT, fft_type *buffer, fft_type *RealOut, fft_type *Ima
ImagOut[hFFT->Points] = 0;
}
-void ReorderToTime(HFFT hFFT, fft_type *buffer, fft_type *TimeOut)
+void ReorderToTime(HFFT hFFT, const fft_type *buffer, fft_type *TimeOut)
{
// Copy the data into the real outputs
for(int i=0;iPoints;i++) {
diff --git a/src/RealFFTf.h b/src/RealFFTf.h
index 497af02b6..e83022fd0 100644
--- a/src/RealFFTf.h
+++ b/src/RealFFTf.h
@@ -21,8 +21,9 @@ void ReleaseFFT(HFFT);
void CleanupFFT();
void RealFFTf(fft_type *,HFFT);
void InverseRealFFTf(fft_type *,HFFT);
-void ReorderToTime(HFFT hFFT, fft_type *buffer, fft_type *TimeOut);
-void ReorderToFreq(HFFT hFFT, fft_type *buffer, fft_type *RealOut, fft_type *ImagOut);
+void ReorderToTime(HFFT hFFT, const fft_type *buffer, fft_type *TimeOut);
+void ReorderToFreq(HFFT hFFT, const fft_type *buffer,
+ fft_type *RealOut, fft_type *ImagOut);
#endif
From 519f4d6cf6298d1cb9fdafb0fac214ea68e557fd Mon Sep 17 00:00:00 2001
From: Paul Licameli
Date: Sun, 10 Jul 2016 18:46:59 -0400
Subject: [PATCH 06/16] Simplify the label import routine
---
src/LabelTrack.cpp | 72 +++++++++++-----------------------------------
1 file changed, 16 insertions(+), 56 deletions(-)
diff --git a/src/LabelTrack.cpp b/src/LabelTrack.cpp
index 81438a57f..135ba647d 100644
--- a/src/LabelTrack.cpp
+++ b/src/LabelTrack.cpp
@@ -47,6 +47,7 @@ for drawing different aspects of the label and its text box.
#include
#include
#include
+#include
#include
#include "AudioIO.h"
@@ -2091,14 +2092,7 @@ void LabelTrack::Export(wxTextFile & f) const
/// Import labels, handling files with or without end-times.
void LabelTrack::Import(wxTextFile & in)
{
- wxString currentLine;
- int i, i2,len;
- int index, lines;
- wxString s,s1;
- wxString title;
- double t0,t1;
-
- lines = in.GetLineCount();
+ int lines = in.GetLineCount();
mLabels.clear();
mLabels.reserve(lines);
@@ -2106,66 +2100,32 @@ void LabelTrack::Import(wxTextFile & in)
//Currently, we expect a tag file to have two values and a label
//on each line. If the second token is not a number, we treat
//it as a single-value label.
- for (index = 0; index < lines; index++) {
- currentLine = in.GetLine(index);
+ for (int index = 0; index < lines; index++) {
+ wxString currentLine = in.GetLine(index);
- len = currentLine.Length();
- if (len == 0)
- return;
+ // Assume tab is an impossible character within the exported text
+ // of the label, so can be only a delimiter. But other white space may
+ // be part of the label text.
+ wxStringTokenizer toker { currentLine, wxT("\t") };
//get the timepoint of the left edge of the label.
- i = 0;
- while (i < len && currentLine.GetChar(i) != wxT(' ')
- && currentLine.GetChar(i) != wxT('\t'))
- {
- i++;
- }
- s = currentLine.Left(i);
+ auto token = toker.GetNextToken();
- if (!Internat::CompatibleToDouble(s, &t0))
+ double t0;
+ if (!Internat::CompatibleToDouble(token, &t0))
return;
- //Increment one letter.
- i++;
+ token = toker.GetNextToken();
- //Now, go until we find the start of the get the next token
- while (i < len
- && (currentLine.GetChar(i) == wxT(' ')
- || currentLine.GetChar(i) == wxT('\t')))
- {
- i++;
- }
- //Keep track of the start of the second token
- i2=i;
-
- //Now, go to the end of the second token.
- while (i < len && currentLine.GetChar(i) != wxT(' ')
- && currentLine.GetChar(i) != wxT('\t'))
- {
- i++;
- }
-
- //We are at the end of the second token.
- s1 = currentLine.Mid(i2,i-i2+1).Strip(wxString::stripType(0x3));
- if (!Internat::CompatibleToDouble(s1, &t1))
- {
+ double t1;
+ if (!Internat::CompatibleToDouble(token, &t1))
//s1 is not a number.
t1 = t0; //This is a one-sided label; t1 == t0.
-
- //Because s1 is not a number, the label should be
- //The rest of the line, starting at i2;
- title = currentLine.Right(len - i2).Strip(wxString::stripType(0x3)); //0x3 indicates both
- }
else
- {
- //s1 is a number, and it is stored correctly in t1.
- //The title should be the remainder of the line,
- //After we eat
+ token = toker.GetNextToken();
- //Get rid of spaces at either end
- title = currentLine.Right(len - i).Strip(wxString::stripType(0x3)); //0x3 indicates both.
+ wxString title = token;
- }
// PRL: to do: import other selection fields
LabelStruct l { SelectedRegion(t0, t1), title };
mLabels.push_back(l);
From ac2730170d2bda963324f9ed5fa4da223ee5a2e5 Mon Sep 17 00:00:00 2001
From: Paul Licameli
Date: Sun, 10 Jul 2016 19:09:48 -0400
Subject: [PATCH 07/16] Import and Export are methods of LabelStruct
---
src/LabelTrack.cpp | 81 +++++++++++++++++++++++++++-------------------
src/LabelTrack.h | 5 +++
2 files changed, 52 insertions(+), 34 deletions(-)
diff --git a/src/LabelTrack.cpp b/src/LabelTrack.cpp
index 135ba647d..871db7ec5 100644
--- a/src/LabelTrack.cpp
+++ b/src/LabelTrack.cpp
@@ -1223,6 +1223,46 @@ void LabelStruct::MoveLabel( int iEdge, double fNewTime)
updated = true;
}
+LabelStruct LabelStruct::Import(wxTextFile &file, int index)
+{
+ wxString currentLine = file.GetLine(index);
+
+ // Assume tab is an impossible character within the exported text
+ // of the label, so can be only a delimiter. But other white space may
+ // be part of the label text.
+ wxStringTokenizer toker { currentLine, wxT("\t") };
+
+ //get the timepoint of the left edge of the label.
+ auto token = toker.GetNextToken();
+
+ double t0;
+ if (!Internat::CompatibleToDouble(token, &t0))
+ throw BadFormatException{};
+
+ token = toker.GetNextToken();
+
+ double t1;
+ if (!Internat::CompatibleToDouble(token, &t1))
+ //s1 is not a number.
+ t1 = t0; //This is a one-sided label; t1 == t0.
+ else
+ token = toker.GetNextToken();
+
+ wxString title = token;
+
+ // PRL: to do: import other selection fields
+ return LabelStruct{ SelectedRegion{ t0, t1 }, title };
+}
+
+void LabelStruct::Export(wxTextFile &file) const
+{
+ file.AddLine(wxString::Format(wxT("%f\t%f\t%s"),
+ getT0(),
+ getT1(),
+ title.c_str()
+ ));
+}
+
auto LabelStruct::RegionRelation(
double reg_t0, double reg_t1, const LabelTrack * WXUNUSED(parent)) const
-> TimeRelations
@@ -2081,12 +2121,8 @@ bool LabelTrack::IsSelected() const
void LabelTrack::Export(wxTextFile & f) const
{
// PRL: to do: export other selection fields
- for (auto &labelStruct: mLabels) {
- f.AddLine(wxString::Format(wxT("%f\t%f\t%s"),
- (double)labelStruct.getT0(),
- (double)labelStruct.getT1(),
- labelStruct.title.c_str()));
- }
+ for (auto &labelStruct: mLabels)
+ labelStruct.Export(f);
}
/// Import labels, handling files with or without end-times.
@@ -2101,34 +2137,11 @@ void LabelTrack::Import(wxTextFile & in)
//on each line. If the second token is not a number, we treat
//it as a single-value label.
for (int index = 0; index < lines; index++) {
- wxString currentLine = in.GetLine(index);
-
- // Assume tab is an impossible character within the exported text
- // of the label, so can be only a delimiter. But other white space may
- // be part of the label text.
- wxStringTokenizer toker { currentLine, wxT("\t") };
-
- //get the timepoint of the left edge of the label.
- auto token = toker.GetNextToken();
-
- double t0;
- if (!Internat::CompatibleToDouble(token, &t0))
- return;
-
- token = toker.GetNextToken();
-
- double t1;
- if (!Internat::CompatibleToDouble(token, &t1))
- //s1 is not a number.
- t1 = t0; //This is a one-sided label; t1 == t0.
- else
- token = toker.GetNextToken();
-
- wxString title = token;
-
- // PRL: to do: import other selection fields
- LabelStruct l { SelectedRegion(t0, t1), title };
- mLabels.push_back(l);
+ try {
+ LabelStruct l { LabelStruct::Import(in, index) };
+ mLabels.push_back(l);
+ }
+ catch(const LabelStruct::BadFormatException&l) {}
}
SortLabels();
}
diff --git a/src/LabelTrack.h b/src/LabelTrack.h
index 87a8a7a19..b1ef18a92 100644
--- a/src/LabelTrack.h
+++ b/src/LabelTrack.h
@@ -62,6 +62,11 @@ public:
bool AdjustEdge( int iEdge, double fNewTime);
void MoveLabel( int iEdge, double fNewTime);
+ struct BadFormatException {};
+ static LabelStruct Import(wxTextFile &file, int index);
+
+ void Export(wxTextFile &file) const;
+
/// Relationships between selection region and labels
enum TimeRelations
{
From 3b7e61fc6e6e6a3a3cd426991fde7be3e10f0dc1 Mon Sep 17 00:00:00 2001
From: Paul Licameli
Date: Sun, 10 Jul 2016 19:57:58 -0400
Subject: [PATCH 08/16] Export and import the frequency information in labels
---
src/LabelTrack.cpp | 51 +++++++++++++++++++++++++++++++++-------------
1 file changed, 37 insertions(+), 14 deletions(-)
diff --git a/src/LabelTrack.cpp b/src/LabelTrack.cpp
index 871db7ec5..47066f0b6 100644
--- a/src/LabelTrack.cpp
+++ b/src/LabelTrack.cpp
@@ -1235,31 +1235,54 @@ LabelStruct LabelStruct::Import(wxTextFile &file, int index)
//get the timepoint of the left edge of the label.
auto token = toker.GetNextToken();
- double t0;
- if (!Internat::CompatibleToDouble(token, &t0))
- throw BadFormatException{};
+ SelectedRegion sr;
- token = toker.GetNextToken();
+ {
+ double t0;
+ if (!Internat::CompatibleToDouble(token, &t0))
+ throw BadFormatException{};
- double t1;
- if (!Internat::CompatibleToDouble(token, &t1))
- //s1 is not a number.
- t1 = t0; //This is a one-sided label; t1 == t0.
- else
token = toker.GetNextToken();
+ double t1;
+ if (!Internat::CompatibleToDouble(token, &t1))
+ //s1 is not a number.
+ t1 = t0; //This is a one-sided label; t1 == t0.
+ else
+ token = toker.GetNextToken();
+
+ sr.setTimes( t0, t1 );
+ }
+
wxString title = token;
- // PRL: to do: import other selection fields
- return LabelStruct{ SelectedRegion{ t0, t1 }, title };
+ // Newer selection fields are written after the title, for historical
+ // reasons.
+ if (toker.HasMoreTokens()) {
+ token = toker.GetNextToken();
+ double f0;
+ if (!Internat::CompatibleToDouble(token, &f0))
+ throw BadFormatException{};
+
+ token = toker.GetNextToken();
+ double f1;
+ if (!Internat::CompatibleToDouble(token, &f1))
+ throw BadFormatException{};
+
+ sr.setFrequencies(f0, f1);
+ }
+
+ return LabelStruct{ sr, title };
}
void LabelStruct::Export(wxTextFile &file) const
{
- file.AddLine(wxString::Format(wxT("%f\t%f\t%s"),
+ file.AddLine(wxString::Format(wxT("%f\t%f\t%s\t%f\t%f"),
getT0(),
- getT1(),
- title.c_str()
+ getT1(),
+ title.c_str(),
+ selectedRegion.f0(),
+ selectedRegion.f1()
));
}
From 5a9fcd1ca5ab38f28461300fa00534ab1424d97d Mon Sep 17 00:00:00 2001
From: Paul Licameli
Date: Mon, 11 Jul 2016 10:35:00 -0400
Subject: [PATCH 09/16] fix Windows build
---
src/widgets/wxPanelWrapper.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/widgets/wxPanelWrapper.h b/src/widgets/wxPanelWrapper.h
index f694d5655..5c2b1d215 100644
--- a/src/widgets/wxPanelWrapper.h
+++ b/src/widgets/wxPanelWrapper.h
@@ -9,7 +9,7 @@
#ifndef __AUDACITY_WXPANEL_WRAPPER__
#define __AUDACITY_WXPANEL_WRAPPER__
-#include
+#include "../MemoryX.h"
#include
#include
From 5648023cf37978a7108c3773e43c111372b58394 Mon Sep 17 00:00:00 2001
From: Gale Andrews
Date: Mon, 11 Jul 2016 18:45:47 +0100
Subject: [PATCH 10/16] Further fix for Windows build
---
src/effects/Contrast.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/effects/Contrast.h b/src/effects/Contrast.h
index 88263533b..c3d28db3c 100644
--- a/src/effects/Contrast.h
+++ b/src/effects/Contrast.h
@@ -9,7 +9,7 @@
#ifndef __AUDACITY_CONTRAST_DIALOG__
#define __AUDACITY_CONTRAST_DIALOG__
-#include "widgets/wxPanelWrapper.h"
+#include "../widgets/wxPanelWrapper.h"
class wxButton;
class wxSizer;
From cb3e5e6d4fe484132b7dae246e52614fedb758de Mon Sep 17 00:00:00 2001
From: Paul Licameli
Date: Mon, 11 Jul 2016 13:59:29 -0400
Subject: [PATCH 11/16] Bug1443: Various odd behavior of label text editor,
fixed...
... And label track selection code is simpler to understand, without delayed
side effects happening during drawing.
Left and right arrow keys collapse text range selection correctly
Shift-click adjusts the end of selection nearest the pick
Right (and middle) click and drag do not affect the selection
Copying empty selection has no effect on the clipboard
Left-drag behaves independently of previous selection state
---
src/LabelTrack.cpp | 166 ++++++++++++++++-----------------------------
src/LabelTrack.h | 8 +--
2 files changed, 60 insertions(+), 114 deletions(-)
diff --git a/src/LabelTrack.cpp b/src/LabelTrack.cpp
index 47066f0b6..0badcdabd 100644
--- a/src/LabelTrack.cpp
+++ b/src/LabelTrack.cpp
@@ -269,7 +269,6 @@ void LabelTrack::WarpLabels(const TimeWarper &warper) {
void LabelTrack::ResetFlags()
{
- mDragXPos = -1;
mInitialCursorPos = 1;
mCurrentCursorPos = 1;
mRightDragging = false;
@@ -522,8 +521,6 @@ LabelStruct::LabelStruct(const SelectedRegion ®ion,
: selectedRegion(region)
, title(aTitle)
{
- changeInitialMouseXPos = true;
- highlighted = false;
updated = false;
width = 0;
x = 0;
@@ -541,8 +538,6 @@ LabelStruct::LabelStruct(const SelectedRegion ®ion,
// Overwrite the times
selectedRegion.setTimes(t0, t1);
- changeInitialMouseXPos = true;
- highlighted = false;
updated = false;
width = 0;
x = 0;
@@ -694,9 +689,6 @@ void LabelStruct::DrawTextBox(wxDC & dc, const wxRect & r) const
void LabelStruct::DrawHighlight
( wxDC & dc, int xPos1, int xPos2, int charHeight) const
{
- highlighted = true;
- changeInitialMouseXPos = false;
-
wxPen curPen = dc.GetPen();
curPen.SetColour(wxString(wxT("BLUE")));
wxBrush curBrush = dc.GetBrush();
@@ -826,7 +818,7 @@ void LabelTrack::Draw(wxDC & dc, const wxRect & r,
}}
// Draw highlights
- if ((mDragXPos != -1) && (mSelIndex >= 0 ))
+ if ((mInitialCursorPos != mCurrentCursorPos) && (mSelIndex >= 0 ))
{
int xpos1, xpos2;
CalcHighlightXs(&xpos1, &xpos2);
@@ -866,11 +858,11 @@ void LabelTrack::Draw(wxDC & dc, const wxRect & r,
}
}
-/// Set the cursor position according to x position of mouse
/// uses GetTextExtent to find the character position
/// corresponding to the x pixel position.
-void LabelTrack::SetCurrentCursorPosition(int xPos)
+int LabelTrack::FindCurrentCursorPosition(int xPos)
{
+ int result = -1;
wxMemoryDC dc;
if(msFont.Ok())
dc.SetFont(msFont);
@@ -898,7 +890,7 @@ void LabelTrack::SetCurrentCursorPosition(int xPos)
if (xPos <= bound)
{
// Found
- mCurrentCursorPos = charIndex - 1;
+ result = charIndex - 1;
finished = true;
}
else
@@ -908,10 +900,16 @@ void LabelTrack::SetCurrentCursorPosition(int xPos)
}
}
if (!finished)
- {
// Cursor should be in the last position
- mCurrentCursorPos = length;
- }
+ result = length;
+
+ return result;
+}
+
+/// Set the cursor position according to x position of mouse
+void LabelTrack::SetCurrentCursorPosition(int xPos)
+{
+ mCurrentCursorPos = FindCurrentCursorPosition(xPos);
}
void LabelTrack::calculateFontHeight(wxDC & dc) const
@@ -936,8 +934,6 @@ bool LabelTrack::IsTextSelected()
{
if (mSelIndex == -1)
return false;
- if (!mLabels[mSelIndex].highlighted)
- return false;
if (mCurrentCursorPos == mInitialCursorPos)
return false;
return true;
@@ -993,14 +989,15 @@ bool LabelTrack::CopySelectedText()
return false;
const auto &labelStruct = mLabels[mSelIndex];
- if (!labelStruct.highlighted)
- return false;
int init = mInitialCursorPos;
int cur = mCurrentCursorPos;
if (init > cur)
std::swap(init, cur);
+ if (init == cur)
+ return false;
+
// data for copying
wxString data = labelStruct.title.Mid(init, cur-init);
@@ -1043,12 +1040,9 @@ bool LabelTrack::PasteSelectedText(double sel0, double sel1)
auto &labelStruct = mLabels[mSelIndex];
auto &title = labelStruct.title;
- int cur = mCurrentCursorPos, init = cur;
- if (labelStruct.highlighted) {
- init = mInitialCursorPos;
- if (init > cur)
- std::swap(init, cur);
- }
+ int cur = mCurrentCursorPos, init = mInitialCursorPos;
+ if (init > cur)
+ std::swap(init, cur);
left = title.Left(init);
if (cur < (int)title.Length())
right = title.Mid(cur);
@@ -1493,20 +1487,9 @@ void LabelTrack::HandleTextDragRelease(const wxMouseEvent & evt)
if(evt.Dragging())
{
- // if dragging happens in text box
- // end dragging x position in pixels
- // set flag to update current cursor position
- mDragXPos = evt.m_x;
-
- // for preventing dragging glygh from changing current cursor position
- // set end dragging position to current cursor position
- SetCurrentCursorPosition(mDragXPos);
-
- // if it's an invalid dragging, disable displaying
- if (mRightDragging) {
- mDragXPos = -1;
- mRightDragging = false;
- }
+ if (!mRightDragging)
+ // Update drag end
+ SetCurrentCursorPosition(evt.m_x);
return;
}
@@ -1573,20 +1556,33 @@ void LabelTrack::HandleClick(const wxMouseEvent & evt,
return;
}
- // disable displaying if left button is down
- if (evt.LeftDown())
- mDragXPos = -1;
-
mSelIndex = OverATextBox(evt.m_x, evt.m_y);
if (mSelIndex != -1) {
auto &labelStruct = mLabels[mSelIndex];
*newSel = labelStruct.selectedRegion;
- SetCurrentCursorPosition(evt.m_x);
- // for preventing from resetting by shift+mouse left button
- if (labelStruct.changeInitialMouseXPos)
- mInitialCursorPos = mCurrentCursorPos;
- mDrawCursor = true;
+ if (evt.LeftDown()) {
+ // Find the NEW drag end
+ auto position = FindCurrentCursorPosition(evt.m_x);
+
+ if (evt.ShiftDown()) {
+ // Set the drag anchor at the end of the previous selection
+ // that is farther from the NEW drag end
+ if (abs(position - mCurrentCursorPos) >
+ abs(position - mInitialCursorPos))
+ mInitialCursorPos = mCurrentCursorPos;
+ }
+ else
+ mInitialCursorPos = position;
+
+ mCurrentCursorPos = position;
+
+ mDrawCursor = true;
+ mRightDragging = false;
+ }
+ else
+ // Actually this might be right or middle down
+ mRightDragging = true;
// reset the highlight indicator
wxRect highlightedRect;
@@ -1600,28 +1596,8 @@ void LabelTrack::HandleClick(const wxMouseEvent & evt,
xpos1, labelStruct.y - mFontHeight / 2,
(int)(xpos2 - xpos1 + 0.5), mFontHeight
};
-
- // reset when left button is down
- if (evt.LeftDown())
- labelStruct.highlighted = false;
- // reset when right button is down outside text box
- if (evt.RightDown())
- {
- if (!highlightedRect.Contains(evt.m_x, evt.m_y))
- {
- mCurrentCursorPos = mInitialCursorPos = 0;
- labelStruct.highlighted = false;
- }
- }
- // set changeInitialMouseXPos flag
- labelStruct.changeInitialMouseXPos = true;
}
- // disable displaying if right button is down outside text box
- if (evt.RightDown()
- && !highlightedRect.Contains(evt.m_x, evt.m_y))
- mDragXPos = -1;
-
// Middle click on GTK: paste from primary selection
#if defined(__WXGTK__) && (HAVE_GTK)
if (evt.MiddleDown()) {
@@ -1634,16 +1610,6 @@ void LabelTrack::HandleClick(const wxMouseEvent & evt,
*newSel = SelectedRegion(t, t);
}
#endif
-
- // handle shift+mouse left button
- if (evt.ShiftDown()) {
- // if the mouse is clicked in text box, set flags
- mDragXPos = evt.m_x;
-
- // for preventing dragging glygh from changing current cursor position
- // set end dragging position to current cursor position
- SetCurrentCursorPosition(evt.m_x);
- }
}
#if defined(__WXGTK__) && (HAVE_GTK)
@@ -1732,9 +1698,8 @@ bool LabelTrack::OnKeyDown(SelectedRegion &newSel, wxKeyEvent & event)
if (len > 0)
{
// IF there are some highlighted letters, THEN DELETE them
- if (labelStruct.highlighted) {
+ if (mInitialCursorPos != mCurrentCursorPos)
RemoveSelectedText();
- }
else
{
// DELETE one letter
@@ -1763,9 +1728,8 @@ bool LabelTrack::OnKeyDown(SelectedRegion &newSel, wxKeyEvent & event)
if (len > 0)
{
// if there are some highlighted letters, DELETE them
- if (labelStruct.highlighted) {
+ if (mInitialCursorPos != mCurrentCursorPos)
RemoveSelectedText();
- }
else
{
// DELETE one letter
@@ -1789,11 +1753,9 @@ bool LabelTrack::OnKeyDown(SelectedRegion &newSel, wxKeyEvent & event)
// Move cursor to beginning of label
mCurrentCursorPos = 0;
if (mods == wxMOD_SHIFT)
- mDragXPos = 0;
- else {
- mDragXPos = -1;
+ ;
+ else
mInitialCursorPos = mCurrentCursorPos;
- }
break;
case WXK_END:
@@ -1801,11 +1763,9 @@ bool LabelTrack::OnKeyDown(SelectedRegion &newSel, wxKeyEvent & event)
// Move cursor to end of label
mCurrentCursorPos = (int)title.length();
if (mods == wxMOD_SHIFT)
- mDragXPos = 0;
- else {
- mDragXPos = -1;
+ ;
+ else
mInitialCursorPos = mCurrentCursorPos;
- }
break;
case WXK_LEFT:
@@ -1814,11 +1774,10 @@ bool LabelTrack::OnKeyDown(SelectedRegion &newSel, wxKeyEvent & event)
if (mCurrentCursorPos > 0) {
mCurrentCursorPos--;
if (mods == wxMOD_SHIFT)
- mDragXPos = 0;
- else {
- mDragXPos = -1;
- mInitialCursorPos = mCurrentCursorPos;
- }
+ ;
+ else
+ mInitialCursorPos = mCurrentCursorPos =
+ std::min(mInitialCursorPos, mCurrentCursorPos);
}
break;
@@ -1828,11 +1787,10 @@ bool LabelTrack::OnKeyDown(SelectedRegion &newSel, wxKeyEvent & event)
if (mCurrentCursorPos < (int)title.length()) {
mCurrentCursorPos++;
if (mods == wxMOD_SHIFT)
- mDragXPos = 0;
- else {
- mDragXPos = -1;
- mInitialCursorPos = mCurrentCursorPos;
- }
+ ;
+ else
+ mInitialCursorPos = mCurrentCursorPos =
+ std::max(mInitialCursorPos, mCurrentCursorPos);
}
break;
@@ -1984,9 +1942,8 @@ bool LabelTrack::OnChar(SelectedRegion &WXUNUSED(newSel), wxKeyEvent & event)
auto &title = labelStruct.title;
// Test if cursor is in the end of string or not
- if (labelStruct.highlighted) {
+ if (mInitialCursorPos != mCurrentCursorPos)
RemoveSelectedText();
- }
if (mCurrentCursorPos < (int)title.length()) {
// Get substring on the righthand side of cursor
@@ -2048,9 +2005,6 @@ void LabelTrack::ShowContextMenu()
parent->PopupMenu(&menu, x, ls->y + (mIconHeight / 2) - 1);
}
-
- // it's an invalid dragging event
- SetWrongDragging(true);
}
void LabelTrack::OnContextMenu(wxCommandEvent & evt)
@@ -2126,8 +2080,6 @@ void LabelTrack::RemoveSelectedText()
title = left + right;
mInitialCursorPos = mCurrentCursorPos = left.Length();
- labelStruct.highlighted = false;
- mDragXPos = -1;
}
void LabelTrack::Unselect()
diff --git a/src/LabelTrack.h b/src/LabelTrack.h
index b1ef18a92..ee747074d 100644
--- a/src/LabelTrack.h
+++ b/src/LabelTrack.h
@@ -96,8 +96,6 @@ public:
mutable int xText; /// Pixel position of left hand side of text box
mutable int y; /// Pixel position of label.
- mutable bool highlighted; /// if the text is highlighted
- mutable bool changeInitialMouseXPos; /// flag to change initial mouse X pos
bool updated; /// flag to tell if the label times were updated
};
@@ -180,9 +178,6 @@ class AUDACITY_DLL_API LabelTrack final : public Track
bool PasteSelectedText(double sel0, double sel1);
static bool IsTextClipSupported();
- // methods to set flags
- void SetWrongDragging(bool rightFlag) { mRightDragging = rightFlag; }
-
void HandleClick(const wxMouseEvent & evt, const wxRect & r, const ZoomInfo &zoomInfo,
SelectedRegion *newSel);
bool HandleGlyphDragRelease(const wxMouseEvent & evt, wxRect & r, const ZoomInfo &zoomInfo,
@@ -263,8 +258,6 @@ class AUDACITY_DLL_API LabelTrack final : public Track
static int mFontHeight;
int mCurrentCursorPos; /// current cursor position
int mInitialCursorPos; /// initial cursor position
- int mDragXPos; /// end X pos of dragging
- /// in text box
bool mRightDragging; /// flag to tell if it's a valid dragging
bool mDrawCursor; /// flag to tell if drawing the
@@ -279,6 +272,7 @@ class AUDACITY_DLL_API LabelTrack final : public Track
void ComputeTextPosition(const wxRect & r, int index) const;
public:
+ int FindCurrentCursorPosition(int xPos);
void SetCurrentCursorPosition(int xPos);
private:
From e97568db1b01a659d6085119a901da8bd1643ba0 Mon Sep 17 00:00:00 2001
From: windinthew
Date: Tue, 12 Jul 2016 15:05:48 +0100
Subject: [PATCH 12/16] More access key fixes. Better Pinned tooltip.
---
src/Menus.cpp | 8 ++++----
src/widgets/Ruler.cpp | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/Menus.cpp b/src/Menus.cpp
index d7680c033..8832fbb0e 100644
--- a/src/Menus.cpp
+++ b/src/Menus.cpp
@@ -325,7 +325,7 @@ void AudacityProject::CreateMenusAndCommands()
AudioIONotBusyFlag | UnsavedChangesFlag);
c->AddItem(wxT("SaveAs"), _("Save Project &As..."), FN(OnSaveAs));
#ifdef USE_LIBVORBIS
- c->AddItem(wxT("SaveCompressed"), _("Save Compressed Copy of Project..."), FN(OnSaveCompressed));
+ c->AddItem(wxT("SaveCompressed"), _("Sa&ve Compressed Copy of Project..."), FN(OnSaveCompressed));
#endif
c->AddItem(wxT("CheckDeps"), _("Chec&k Dependencies..."), FN(OnCheckDependencies));
@@ -371,7 +371,7 @@ void AudacityProject::CreateMenusAndCommands()
AudioIONotBusyFlag | WaveTracksExistFlag,
AudioIONotBusyFlag | WaveTracksExistFlag);
#if defined(USE_MIDI)
- c->AddItem(wxT("ExportMIDI"), _("Export MIDI..."), FN(OnExportMIDI),
+ c->AddItem(wxT("ExportMIDI"), _("Export MI&DI..."), FN(OnExportMIDI),
AudioIONotBusyFlag | NoteTracksSelectedFlag,
AudioIONotBusyFlag | NoteTracksSelectedFlag);
#endif
@@ -733,7 +733,7 @@ void AudacityProject::CreateMenusAndCommands()
c->AddSeparator();
/* i18n-hint: (verb)*/
- c->AddItem(wxT("ResetToolbars"), _("&Reset Toolbars"), FN(OnResetToolBars), 0, AlwaysEnabledFlag, AlwaysEnabledFlag);
+ c->AddItem(wxT("ResetToolbars"), _("Reset Toolb&ars"), FN(OnResetToolBars), 0, AlwaysEnabledFlag, AlwaysEnabledFlag);
c->EndSubMenu();
@@ -776,7 +776,7 @@ void AudacityProject::CreateMenusAndCommands()
c->AddSeparator();
- c->AddCheck(wxT("PinnedHead"), _("Pinned Recording/Playback Head"),
+ c->AddCheck(wxT("PinnedHead"), _("Pinned Recording/Playback &Head"),
FN(OnTogglePinnedHead), 0,
// Switching of scrolling on and off is permitted even during transport
AlwaysEnabledFlag, AlwaysEnabledFlag);
diff --git a/src/widgets/Ruler.cpp b/src/widgets/Ruler.cpp
index 4fe3899b5..e64feac1b 100644
--- a/src/widgets/Ruler.cpp
+++ b/src/widgets/Ruler.cpp
@@ -2811,8 +2811,8 @@ void AdornedRulerPanel::UpdateButtonStates()
const auto label = state
// Label descibes the present state, not what the click does
// (which is, to toggle the state)
- ? _("Pinned play/record Head")
- : _("Unpinned play/record Head");
+ ? _("Pinned Record/Play head")
+ : _("Unpinned Record/Play head");
common(*pinButton, wxT("PinnedHead"), label);
}
}
From 26676652d7f54de518ed348a3c672afcd71b7c3e Mon Sep 17 00:00:00 2001
From: Paul Licameli
Date: Tue, 12 Jul 2016 12:13:08 -0400
Subject: [PATCH 13/16] Bug1443 again: Mac label shift-click should differ, per
David Bailes
---
src/LabelTrack.cpp | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/LabelTrack.cpp b/src/LabelTrack.cpp
index 0badcdabd..60baf0b96 100644
--- a/src/LabelTrack.cpp
+++ b/src/LabelTrack.cpp
@@ -1565,12 +1565,20 @@ void LabelTrack::HandleClick(const wxMouseEvent & evt,
// Find the NEW drag end
auto position = FindCurrentCursorPosition(evt.m_x);
+ // Anchor shift-drag at the farther end of the previous highlight
+ // that is farther from the click, on Mac, for consistency with
+ // its text editors, but on the others, re-use the previous
+ // anchor.
if (evt.ShiftDown()) {
+#ifdef __WXMAC__
// Set the drag anchor at the end of the previous selection
// that is farther from the NEW drag end
if (abs(position - mCurrentCursorPos) >
abs(position - mInitialCursorPos))
mInitialCursorPos = mCurrentCursorPos;
+#else
+ // mInitialCursorPos remains as before
+#endif
}
else
mInitialCursorPos = position;
From d91f82542458ac9fbcc67e0aa69b1f486e317b01 Mon Sep 17 00:00:00 2001
From: Paul Licameli
Date: Tue, 12 Jul 2016 15:26:40 -0400
Subject: [PATCH 14/16] Restore correct resizing of the time ruler for the
scrub bar button
This was broken at ae14cb0dbccf9587b7a13f5ddc49c2b27acfec1e
---
src/widgets/Ruler.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/widgets/Ruler.cpp b/src/widgets/Ruler.cpp
index e64feac1b..b54d94bc4 100644
--- a/src/widgets/Ruler.cpp
+++ b/src/widgets/Ruler.cpp
@@ -2782,7 +2782,7 @@ void AdornedRulerPanel::OnToggleScrubBar(/*wxCommandEvent&*/)
wxSize size { GetSize().GetWidth(), GetRulerHeight(mShowScrubbing) };
SetSize(size);
SetMinSize(size);
- PostSizeEventToParent();
+ GetParent()->PostSizeEventToParent();
}
void AdornedRulerPanel::OnContextMenu(wxContextMenuEvent & WXUNUSED(event))
From b6b9840d0649e0ab2bdf1375cf72d47f86a6ca13 Mon Sep 17 00:00:00 2001
From: Paul Licameli
Date: Tue, 12 Jul 2016 20:31:55 -0400
Subject: [PATCH 15/16] Enh1444 and Bug1435 fixed by CHANGED MAC BUILD
PROCEURE...
Enh1444 is to make pinch and spread gestures work.
Bug1435 is to bring focus rings back for types of controls that lost them in
version 2.1.2. This importantly includes pushbuttons and choice controls
(drop-down menus). Less importantly, date picker (as in the Timer Record
dialog) and Listbox (as in the dialog to choose label font).
There is one more type of control that lost focus rings, and is not fixed:
List controls (distinct from list boxes), such as in the Manage Curves dialog
that opens from Equalization.
---
mac/Build.txt | 2 +
mac/wxMac_additions/focusrings.patch | 123 +++++++++++++++
mac/wxMac_additions/pinch-spread.patch | 206 +++++++++++++++++++++++++
3 files changed, 331 insertions(+)
create mode 100644 mac/wxMac_additions/focusrings.patch
create mode 100644 mac/wxMac_additions/pinch-spread.patch
diff --git a/mac/Build.txt b/mac/Build.txt
index 36d10dda0..db7901e1c 100644
--- a/mac/Build.txt
+++ b/mac/Build.txt
@@ -37,6 +37,8 @@ http://forum.audacityteam.org/viewtopic.php?p=303835#p303835 .
cd wxWidgets-3.0.2
patch -p0 -i /mac/wxMac_additions/wxMac-3.0.2-fixes.patch .
patch -p0 -i /mac/wxMac_additions/eventloops.patch .
+ patch -p0 -i /mac/wxMac_additions/pinch-spread.patch .
+ patch -p0 -i /mac/wxMac_additions/focusrings.patch .
10) And finally build/install wxWidgets:
diff --git a/mac/wxMac_additions/focusrings.patch b/mac/wxMac_additions/focusrings.patch
new file mode 100644
index 000000000..648b56133
--- /dev/null
+++ b/mac/wxMac_additions/focusrings.patch
@@ -0,0 +1,123 @@
+From 148b0ed936b023b9b87d7703ecb86c4279f1182a Mon Sep 17 00:00:00 2001
+From: Paul Licameli
+Date: Wed, 6 Jul 2016 14:18:17 -0400
+Subject: [PATCH 2/2] Focus rings are back for buttons, choice, listbox,
+ dateTimePicker controls
+
+---
+ include/wx/button.h | 2 ++
+ include/wx/choice.h | 2 ++
+ include/wx/datetimectrl.h | 2 ++
+ include/wx/listbox.h | 2 ++
+ include/wx/window.h | 2 ++
+ src/osx/cocoa/window.mm | 22 +++++++++++++++++++++-
+ 6 files changed, 31 insertions(+), 1 deletion(-)
+
+diff --git a/include/wx/button.h b/include/wx/button.h
+index 71dbee4..6aa75d3 100644
+--- include/wx/button.h
++++ include/wx/button.h
+@@ -42,6 +42,8 @@ public:
+ // returns the default button size for this platform
+ static wxSize GetDefaultSize();
+
++ virtual bool NeedsFocusRing() const { return true; }
++
+ protected:
+ wxDECLARE_NO_COPY_CLASS(wxButtonBase);
+ };
+diff --git a/include/wx/choice.h b/include/wx/choice.h
+index 3a848f9..421a9a7 100644
+--- include/wx/choice.h
++++ include/wx/choice.h
+@@ -57,6 +57,8 @@ public:
+ // override wxItemContainer::IsSorted
+ virtual bool IsSorted() const { return HasFlag(wxCB_SORT); }
+
++ virtual bool NeedsFocusRing() const { return true; }
++
+ protected:
+ // The generic implementation doesn't determine the height correctly and
+ // doesn't account for the width of the arrow but does take into account
+diff --git a/include/wx/datetimectrl.h b/include/wx/datetimectrl.h
+index 30f23df..d51c6c1 100644
+--- include/wx/datetimectrl.h
++++ include/wx/datetimectrl.h
+@@ -32,6 +32,8 @@ public:
+ // Set/get the date or time (in the latter case, time part is ignored).
+ virtual void SetValue(const wxDateTime& dt) = 0;
+ virtual wxDateTime GetValue() const = 0;
++
++ virtual bool NeedsFocusRing() const { return true; }
+ };
+
+ #if defined(__WXMSW__) && !defined(__WXUNIVERSAL__)
+diff --git a/include/wx/listbox.h b/include/wx/listbox.h
+index afb0220..b9d47f0 100644
+--- include/wx/listbox.h
++++ include/wx/listbox.h
+@@ -94,6 +94,8 @@ public:
+ int HitTest(const wxPoint& point) const { return DoListHitTest(point); }
+ int HitTest(int x, int y) const { return DoListHitTest(wxPoint(x, y)); }
+
++ virtual bool NeedsFocusRing() const { return true; }
++
+
+ protected:
+ virtual void DoSetFirstItem(int n) = 0;
+diff --git a/include/wx/window.h b/include/wx/window.h
+index 7dffad4..bbe727d 100644
+--- include/wx/window.h
++++ include/wx/window.h
+@@ -260,6 +260,8 @@ public:
+ // moving/resizing
+ // ---------------
+
++ virtual bool NeedsFocusRing() const { return false; }
++
+ // set the window size and/or position
+ void SetSize( int x, int y, int width, int height,
+ int sizeFlags = wxSIZE_AUTO )
+diff --git a/src/osx/cocoa/window.mm b/src/osx/cocoa/window.mm
+index d9fa4ae..881d0e9 100644
+--- src/osx/cocoa/window.mm
++++ src/osx/cocoa/window.mm
+@@ -17,6 +17,7 @@
+ #include "wx/textctrl.h"
+ #include "wx/combobox.h"
+ #include "wx/radiobut.h"
++ #include "wx/button.h"
+ #endif
+
+ #ifdef __WXMAC__
+@@ -1660,7 +1661,26 @@ void wxWidgetCocoaImpl::drawRect(void* rect, WXWidget slf, void *WXUNUSED(_cmd))
+ // call super
+ SEL _cmd = @selector(drawRect:);
+ wxOSX_DrawRectHandlerPtr superimpl = (wxOSX_DrawRectHandlerPtr) [[slf superclass] instanceMethodForSelector:_cmd];
+- superimpl(slf, _cmd, *(NSRect*)rect);
++
++ wxWindow *peer = GetWXPeer();
++ bool hasFocus = peer->HasFocus();
++ if (hasFocus &&
++ peer->NeedsFocusRing()) {
++ superimpl(slf, _cmd, *(NSRect*)rect);
++
++ // Paint it again, without text, causing focus halo to be
++ // superimposed about all else
++ HIThemeBeginFocus( context, kHIThemeFocusRingOnly, NULL );
++ CGContextSetTextDrawingMode( context, kCGTextInvisible );
++ superimpl(slf, _cmd, *(NSRect*)rect);
++ HIThemeEndFocus( context );
++
++ CGContextRestoreGState( context );
++ CGContextSaveGState( context );
++ }
++ else
++ superimpl(slf, _cmd, *(NSRect*)rect);
++
+ CGContextRestoreGState( context );
+ CGContextSaveGState( context );
+ }
+--
+2.3.2 (Apple Git-55)
+
diff --git a/mac/wxMac_additions/pinch-spread.patch b/mac/wxMac_additions/pinch-spread.patch
new file mode 100644
index 000000000..f8ad200b9
--- /dev/null
+++ b/mac/wxMac_additions/pinch-spread.patch
@@ -0,0 +1,206 @@
+From 74a186065ad04a1ed3d43baeccec9083910ec623 Mon Sep 17 00:00:00 2001
+From: Paul Licameli
+Date: Sun, 3 Jul 2016 10:16:12 -0400
+Subject: [PATCH 1/2] Add wxEVT_MAGNIFY mouse event.
+
+Currently this is implemented for wxOSX only.
+
+Closes #14322.
+
+git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78274 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
+---
+ docs/changes.txt | 1 +
+ include/wx/event.h | 9 ++++++++-
+ interface/wx/event.h | 29 +++++++++++++++++++++++++++++
+ src/common/event.cpp | 4 ++++
+ src/osx/cocoa/window.mm | 10 ++++++++++
+ 5 files changed, 52 insertions(+), 1 deletion(-)
+
+diff --git a/docs/changes.txt b/docs/changes.txt
+index 72e7d42..6436bfb 100644
+--- docs/changes.txt
++++ docs/changes.txt
+@@ -585,6 +585,7 @@ All:
+
+ All (GUI):
+
++- Add wxEVT_MAGNIFY mouse event (Joost Nieuwenhuijse).
+ - Add wxGenericListCtrl::EndEditLabel() (Tim Kosse).
+ - Implement bounding box computation in wxGCDC (Toni Ruža).
+ - Fix saving GIF animations with 2.5s+ delays between frames (elvissteinjr).
+diff --git a/include/wx/event.h b/include/wx/event.h
+index 61ec19c..26af365 100644
+--- include/wx/event.h
++++ include/wx/event.h
+@@ -716,6 +716,7 @@ wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_AUX1_DCLICK, wxMouseEvent);
+ wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_AUX2_DOWN, wxMouseEvent);
+ wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_AUX2_UP, wxMouseEvent);
+ wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_AUX2_DCLICK, wxMouseEvent);
++wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_MAGNIFY, wxMouseEvent);
+
+ // Character input event type
+ wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_CHAR, wxKeyEvent);
+@@ -1751,6 +1752,8 @@ public:
+ bool Aux1DClick() const { return (m_eventType == wxEVT_AUX1_DCLICK); }
+ bool Aux2DClick() const { return (m_eventType == wxEVT_AUX2_DCLICK); }
+
++ bool Magnify() const { return (m_eventType == wxEVT_MAGNIFY); }
++
+ // True if a button is down and the mouse is moving
+ bool Dragging() const
+ {
+@@ -1805,6 +1808,7 @@ public:
+ // Is the system set to do page scrolling?
+ bool IsPageScroll() const { return ((unsigned int)m_linesPerAction == UINT_MAX); }
+
++ float GetMagnification() const { return m_magnification; }
+ virtual wxEvent *Clone() const { return new wxMouseEvent(*this); }
+ virtual wxEventCategory GetEventCategory() const { return wxEVT_CATEGORY_USER_INPUT; }
+
+@@ -1823,6 +1827,7 @@ public:
+ int m_wheelDelta;
+ int m_linesPerAction;
+ int m_columnsPerAction;
++ float m_magnification;
+
+ protected:
+ void Assign(const wxMouseEvent& evt);
+@@ -4218,6 +4223,7 @@ typedef void (wxEvtHandler::*wxClipboardTextEventFunction)(wxClipboardTextEvent&
+ #define EVT_MOUSE_AUX2_DOWN(func) wx__DECLARE_EVT0(wxEVT_AUX2_DOWN, wxMouseEventHandler(func))
+ #define EVT_MOUSE_AUX2_UP(func) wx__DECLARE_EVT0(wxEVT_AUX2_UP, wxMouseEventHandler(func))
+ #define EVT_MOUSE_AUX2_DCLICK(func) wx__DECLARE_EVT0(wxEVT_AUX2_DCLICK, wxMouseEventHandler(func))
++#define EVT_MAGNIFY(func) wx__DECLARE_EVT0(wxEVT_MAGNIFY, wxMouseEventHandler(func))
+
+ // All mouse events
+ #define EVT_MOUSE_EVENTS(func) \
+@@ -4239,7 +4245,8 @@ typedef void (wxEvtHandler::*wxClipboardTextEventFunction)(wxClipboardTextEvent&
+ EVT_MOTION(func) \
+ EVT_LEAVE_WINDOW(func) \
+ EVT_ENTER_WINDOW(func) \
+- EVT_MOUSEWHEEL(func)
++ EVT_MOUSEWHEEL(func) \
++ EVT_MAGNIFY(func)
+
+ // Scrolling from wxWindow (sent to wxScrolledWindow)
+ #define EVT_SCROLLWIN_TOP(func) wx__DECLARE_EVT0(wxEVT_SCROLLWIN_TOP, wxScrollWinEventHandler(func))
+diff --git a/interface/wx/event.h b/interface/wx/event.h
+index 52bb609..7fe007a 100644
+--- interface/wx/event.h
++++ interface/wx/event.h
+@@ -2626,6 +2626,8 @@ enum wxMouseWheelAxis
+ Process a @c wxEVT_MOUSEWHEEL event.
+ @event{EVT_MOUSE_EVENTS(func)}
+ Process all mouse events.
++ @event{EVT_MAGNIFY(func)}
++ Process a @c wxEVT_MAGNIFY event (new since wxWidgets 3.1.0).
+ @endEventTable
+
+ @library{wxcore}
+@@ -2659,6 +2661,7 @@ public:
+ @li @c wxEVT_AUX2_DCLICK
+ @li @c wxEVT_MOTION
+ @li @c wxEVT_MOUSEWHEEL
++ @li @c wxEVT_MAGNIFY
+ */
+ wxMouseEvent(wxEventType mouseEventType = wxEVT_NULL);
+
+@@ -2785,6 +2788,21 @@ public:
+ wxPoint GetLogicalPosition(const wxDC& dc) const;
+
+ /**
++ For magnify (pinch to zoom) events: returns the change in magnification.
++
++ A value of 0 means no change, a positive value means we should enlarge
++ (or zoom in), a negative value means we should shrink (or zoom out).
++
++ This method is only valid to call for @c wxEVT_MAGNIFY events which are
++ currently only generated under OS X.
++
++ @see Magnify()
++
++ @since 3.1.0
++ */
++ float GetMagnification() const;
++
++ /**
+ Get wheel delta, normally 120.
+
+ This is the threshold for action to be taken, and one such action
+@@ -2851,6 +2869,17 @@ public:
+ bool LeftUp() const;
+
+ /**
++ Returns @true if the event is a magnify (i.e.\ pinch to zoom) event.
++
++ Such events are currently generated only under OS X.
++
++ @see GetMagnification()
++
++ @since 3.1.0
++ */
++ bool Magnify() const;
++
++ /**
+ Returns @true if the Meta key was down at the time of the event.
+ */
+ bool MetaDown() const;
+diff --git a/src/common/event.cpp b/src/common/event.cpp
+index d92a4ac..1015c84 100644
+--- src/common/event.cpp
++++ src/common/event.cpp
+@@ -208,6 +208,7 @@ wxDEFINE_EVENT( wxEVT_AUX1_DCLICK, wxMouseEvent );
+ wxDEFINE_EVENT( wxEVT_AUX2_DOWN, wxMouseEvent );
+ wxDEFINE_EVENT( wxEVT_AUX2_UP, wxMouseEvent );
+ wxDEFINE_EVENT( wxEVT_AUX2_DCLICK, wxMouseEvent );
++wxDEFINE_EVENT( wxEVT_MAGNIFY, wxMouseEvent );
+
+ // Character input event type
+ wxDEFINE_EVENT( wxEVT_CHAR, wxKeyEvent );
+@@ -576,6 +577,7 @@ wxMouseEvent::wxMouseEvent(wxEventType commandType)
+ m_wheelDelta = 0;
+ m_linesPerAction = 0;
+ m_columnsPerAction = 0;
++ m_magnification = 0.0f;
+ }
+
+ void wxMouseEvent::Assign(const wxMouseEvent& event)
+@@ -600,6 +602,8 @@ void wxMouseEvent::Assign(const wxMouseEvent& event)
+ m_linesPerAction = event.m_linesPerAction;
+ m_columnsPerAction = event.m_columnsPerAction;
+ m_wheelAxis = event.m_wheelAxis;
++
++ m_magnification = event.m_magnification;
+ }
+
+ // return true if was a button dclick event
+diff --git a/src/osx/cocoa/window.mm b/src/osx/cocoa/window.mm
+index ede8ebf..d9fa4ae 100644
+--- src/osx/cocoa/window.mm
++++ src/osx/cocoa/window.mm
+@@ -741,6 +741,12 @@ void wxWidgetCocoaImpl::SetupMouseEvent( wxMouseEvent &wxevent , NSEvent * nsEve
+ case NSMouseMoved :
+ wxevent.SetEventType( wxEVT_MOTION ) ;
+ break;
++
++ case NSEventTypeMagnify:
++ wxevent.SetEventType( wxEVT_MAGNIFY );
++ wxevent.m_magnification = [nsEvent magnification];
++ break;
++
+ default :
+ break ;
+ }
+@@ -1772,6 +1778,10 @@ void wxOSXCocoaClassAddWXMethods(Class c)
+ wxOSX_CLASS_ADD_METHOD(c, @selector(scrollWheel:), (IMP) wxOSX_mouseEvent, "v@:@" )
+ wxOSX_CLASS_ADD_METHOD(c, @selector(mouseEntered:), (IMP) wxOSX_mouseEvent, "v@:@" )
+ wxOSX_CLASS_ADD_METHOD(c, @selector(mouseExited:), (IMP) wxOSX_mouseEvent, "v@:@" )
++
++#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
++ wxOSX_CLASS_ADD_METHOD(c, @selector(magnifyWithEvent:), (IMP)wxOSX_mouseEvent, "v@:@")
++#endif
+
+ wxOSX_CLASS_ADD_METHOD(c, @selector(cursorUpdate:), (IMP) wxOSX_cursorUpdate, "v@:@" )
+
+--
+2.3.2 (Apple Git-55)
+
From f1799521aa4745b1105af1c72f668a617cbee7c7 Mon Sep 17 00:00:00 2001
From: Paul Licameli
Date: Tue, 12 Jul 2016 22:16:15 -0400
Subject: [PATCH 16/16] Bug1349 again: Fix export and import of no-name labels
---
src/LabelTrack.cpp | 75 +++++++++++++++++++++++++++++++++-------------
src/LabelTrack.h | 2 +-
2 files changed, 56 insertions(+), 21 deletions(-)
diff --git a/src/LabelTrack.cpp b/src/LabelTrack.cpp
index 60baf0b96..455b995ad 100644
--- a/src/LabelTrack.cpp
+++ b/src/LabelTrack.cpp
@@ -1217,21 +1217,23 @@ void LabelStruct::MoveLabel( int iEdge, double fNewTime)
updated = true;
}
-LabelStruct LabelStruct::Import(wxTextFile &file, int index)
+LabelStruct LabelStruct::Import(wxTextFile &file, int &index)
{
- wxString currentLine = file.GetLine(index);
-
- // Assume tab is an impossible character within the exported text
- // of the label, so can be only a delimiter. But other white space may
- // be part of the label text.
- wxStringTokenizer toker { currentLine, wxT("\t") };
-
- //get the timepoint of the left edge of the label.
- auto token = toker.GetNextToken();
-
SelectedRegion sr;
+ wxString title;
+ static const wxString continuation{ wxT("\\") };
+
+ wxString firstLine = file.GetLine(index++);
{
+ // Assume tab is an impossible character within the exported text
+ // of the label, so can be only a delimiter. But other white space may
+ // be part of the label text.
+ wxStringTokenizer toker { firstLine, wxT("\t") };
+
+ //get the timepoint of the left edge of the label.
+ auto token = toker.GetNextToken();
+
double t0;
if (!Internat::CompatibleToDouble(token, &t0))
throw BadFormatException{};
@@ -1246,13 +1248,31 @@ LabelStruct LabelStruct::Import(wxTextFile &file, int index)
token = toker.GetNextToken();
sr.setTimes( t0, t1 );
+
+ title = token;
}
- wxString title = token;
+ // Newer selection fields are written on additional lines beginning with
+ // '\' which is an impossible numerical character that older versions of
+ // audacity will ignore. Test for the presence of such a line and then
+ // parse it if we can.
+
+ // There may also be additional continuation lines from future formats that
+ // we ignore.
+
+ // Advance index over all continuation lines first, before we might throw
+ // any exceptions.
+ int index2 = index;
+ while (index < file.GetLineCount() &&
+ file.GetLine(index).StartsWith(continuation))
+ ++index;
+
+ if (index2 < index) {
+ wxStringTokenizer toker { file.GetLine(index2++), wxT("\t") };
+ auto token = toker.GetNextToken();
+ if (token != continuation)
+ throw BadFormatException{};
- // Newer selection fields are written after the title, for historical
- // reasons.
- if (toker.HasMoreTokens()) {
token = toker.GetNextToken();
double f0;
if (!Internat::CompatibleToDouble(token, &f0))
@@ -1271,13 +1291,27 @@ LabelStruct LabelStruct::Import(wxTextFile &file, int index)
void LabelStruct::Export(wxTextFile &file) const
{
- file.AddLine(wxString::Format(wxT("%f\t%f\t%s\t%f\t%f"),
+ file.AddLine(wxString::Format(wxT("%f\t%f\t%s"),
getT0(),
getT1(),
- title.c_str(),
- selectedRegion.f0(),
- selectedRegion.f1()
+ title.c_str()
));
+
+ // Do we need more lines?
+ auto f0 = selectedRegion.f0();
+ auto f1 = selectedRegion.f1();
+ if (f0 == SelectedRegion::UndefinedFrequency &&
+ f1 == SelectedRegion::UndefinedFrequency)
+ return;
+
+ // Write a \ character at the start of a second line,
+ // so that earlier versions of Audacity ignore it.
+ file.AddLine(wxString::Format(wxT("\\\t%f\t%f"),
+ f0,
+ f1
+ ));
+
+ // Additional lines in future formats should also start with '\'.
}
auto LabelStruct::RegionRelation(
@@ -2119,8 +2153,9 @@ void LabelTrack::Import(wxTextFile & in)
//Currently, we expect a tag file to have two values and a label
//on each line. If the second token is not a number, we treat
//it as a single-value label.
- for (int index = 0; index < lines; index++) {
+ for (int index = 0; index < lines;) {
try {
+ // Let LabelStruct::Import advance index
LabelStruct l { LabelStruct::Import(in, index) };
mLabels.push_back(l);
}
diff --git a/src/LabelTrack.h b/src/LabelTrack.h
index ee747074d..2a9eef745 100644
--- a/src/LabelTrack.h
+++ b/src/LabelTrack.h
@@ -63,7 +63,7 @@ public:
void MoveLabel( int iEdge, double fNewTime);
struct BadFormatException {};
- static LabelStruct Import(wxTextFile &file, int index);
+ static LabelStruct Import(wxTextFile &file, int &index);
void Export(wxTextFile &file) const;