New Upstream Release - pitivi

Ready changes

Summary

Merged new upstream version: 2023.03 (was: 2022.06).

Diff

diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000..78b88a5
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,2 @@
+liberapay: Pitivi
+custom: ['https://www.pitivi.org/donators/']
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..bf91452
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,41 @@
+# Vim
+*~
+
+# Visual Studio Code
+.vscode
+
+# PyCharm
+.idea
+
+# PyDev
+.project
+.pydevproject
+.settings/
+
+
+# Generated by configure
+mesonbuild/
+Makefile
+bin/pitivi
+pitivi/configure.py
+*__pycache__*
+
+# Generated when using the samples in manual tests
+tests/samples/*.proxy.mov
+
+# Generated by make html
+help/html/
+help/index.cache
+
+# Generated when running the project
+*.pyc
+
+# flatpak
+.bashrc
+build/flatpak/.flatpak-builder/
+build/flatpak/Pitivi.*.json
+build/devel/
+
+# Hotdoc
+docs/output/
+docs/hotdoc-private-*/
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 273dab3..a2fc333 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,13 +2,12 @@
 stages:
   - docker_image
   - build
-  - deploy
 
 variables:
   MANIFEST: /build/pitivi/build/flatpak/org.pitivi.Pitivi.json
   DBUS_ID: org.pitivi.Pitivi
   GST_DEBUG_NO_COLOR: "true"
-  GNOME_SDK: 42
+  GNOME_SDK: 43
 
 
 pitivi:master:
@@ -24,10 +23,10 @@ pitivi:master:
   before_script:
     - docker info
   script:
-    # https://stackoverflow.com/questions/2264428/converting-string-to-lower-case-in-bash#2264537
+    # GNOME -> gnome
     - export NAMESPACE="$(echo "${CI_PROJECT_NAMESPACE}" | tr A-Z a-z)"
     - export IMAGE="${CI_REGISTRY}/${NAMESPACE}/${CI_PROJECT_NAME}:master-sdk_${GNOME_SDK}"
-    - export BASE_IMAGE="registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:${GNOME_SDK}"
+    - export BASE_IMAGE="quay.io/gnome_infrastructure/gnome-runtime-images:x86_64-gnome-${GNOME_SDK}"
 
     # Commands to be run in the Docker image.
     # Clone the Pitivi repo.
@@ -61,7 +60,7 @@ build:
   variables:
     XUNIT_PATH: ${CI_PROJECT_DIR}/xunit.xml
   script:
-    - export RUN_IN_SANDBOX="flatpak-builder --disable-rofiles-fuse --filesystem=${CI_PROJECT_DIR} --env=PITIVI_DEVELOPMENT=1 --env=GST_DEBUG=2 --env=GST_DEBUG_NO_COLOR=true --env=PRE_COMMIT_HOME=/build/pre-commit-home --env=SKIP=gitlab-ci-linter --run /build/flatpak-build-dir ${MANIFEST}"
+    - export RUN_IN_SANDBOX="flatpak-builder --disable-rofiles-fuse --filesystem=${CI_PROJECT_DIR} --env=PITIVI_DEVELOPMENT=1 --env=GST_DEBUG=2 --env=GST_DEBUG_NO_COLOR=true --env=PRE_COMMIT_HOME=/build/pre-commit-home --env=SKIP=gitlab-ci-linter --env=GITLAB_CI=${GITLAB_CI} --run /build/flatpak-build-dir ${MANIFEST}"
 
     - env
 
@@ -84,14 +83,7 @@ build:
     - ${RUN_IN_SANDBOX} pre-commit run --all-files
 
     # Run the unit tests.
-    - xvfb-run -n 32 -s "-screen 0 640x480x24" ${RUN_IN_SANDBOX} gst-validate-launcher /build/pitivi/tests/ptv_testsuite.py --dump-on-failure --timeout-factor 4 --xunit-file ${XUNIT_PATH} --logs-dir ${CI_PROJECT_DIR}/tests-logs
-
-    # Create a flatpak repo.
-    - flatpak build-export ${CI_PROJECT_DIR}/flatpak_repo /build/flatpak-build-dir --subject="Rolling update for Pitivi master" --body="See ${CI_JOB_URL}"
-    # GitLab fails to upload directories with many files.
-    # Workaround https://gitlab.com/gitlab-org/gitlab-runner/-/issues/26869
-    - cd ${CI_PROJECT_DIR}/
-    - tar cf flatpak_repo.tar flatpak_repo/
+    - xvfb-run -n 32 -s "-screen 0 640x480x24" ${RUN_IN_SANDBOX} gst-validate-launcher /build/pitivi/tests/ptv_testsuite.py --dump-on-failure --timeout-factor 10 --xunit-file ${XUNIT_PATH} --logs-dir ${CI_PROJECT_DIR}/tests-logs
   cache:
     paths:
       - flatpak-cache
@@ -99,19 +91,7 @@ build:
     expire_in: 30 days
     paths:
       - xunit.xml
-      - flatpak_repo.tar
       - tests-logs/
     reports:
       junit:
         - ${XUNIT_PATH}
-
-
-deploy:
-  tags:
-    - PitiviBuildMachine
-  stage: deploy
-  script:
-    - tar xf flatpak_repo.tar
-    - flatpak build-commit-from --src-repo=flatpak_repo /srv/http --timestamp=NOW --gpg-sign=739E841A
-  only:
-    - master@GNOME/pitivi
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index f37ddef..630d9f7 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -8,7 +8,7 @@ repos:
       # Hooks able to fix small things.
       - id: trailing-whitespace
       - id: end-of-file-fixer
-        exclude: ".svg$|.po$"
+        exclude: ".svg$|.patch$|.po$"
       - id: fix-encoding-pragma
       # Hooks doing lightweight Python checks.
       - id: check-docstring-first
@@ -20,15 +20,14 @@ repos:
         args:
           - --py3-plus
           - --unclassifiable-application-module=tests
-  - repo: https://github.com/pycqa/pydocstyle
+  - repo: https://github.com/PyCQA/pydocstyle.git
     rev: 6.1.1
     hooks:
       - id: pydocstyle
         args:
           # http://www.pydocstyle.org/en/latest/error_codes.html
           - --ignore=D1,D203,D213,D401,D406,D407,D413
-        exclude: '.*pitivi/utils/extract.py$|.*pitivi/autoaligner.py$'
-  - repo: https://gitlab.com/PyCQA/flake8
+  - repo: https://github.com/PyCQA/flake8.git
     rev: 3.9.2
     hooks:
       - id: flake8
@@ -36,16 +35,16 @@ repos:
           # http://flake8.pycqa.org/en/latest/user/error-codes.html
           # https://pycodestyle.readthedocs.io/en/latest/intro.html#error-codes
           - --ignore=E402,E501,E722,F401,F841,W504
-        exclude: >
-          (?x)^(
-            pitivi/utils/extract.py|
-            pitivi/autoaligner.py|
-          )$
-  - repo: https://github.com/pre-commit/mirrors-mypy
+  - repo: https://github.com/pre-commit/mirrors-mypy.git
     rev: 'v0.910-1'
     hooks:
       - id: mypy
-        files: '^pitivi/(clipproperties.py|timeline/timeline.py)$'
+        files: >
+          (?x)^pitivi/(
+            autoaligner.py|
+            clipproperties.py|
+            timeline/timeline.py
+          )$
         args:
           - --no-strict-optional
   - repo: local
@@ -57,8 +56,6 @@ repos:
         types: [python]
         exclude: >
           (?x)^(
-            pitivi/utils/extract.py|
-            pitivi/autoaligner.py|
             tests/validate-tests/manager.py|
             bin/pitivi.in
           )$
@@ -69,10 +66,3 @@ repos:
         args:
           - -d
           - "{extends: default, rules: {line-length: disable}}"
-  - repo: https://gitlab.com/devopshq/gitlab-ci-linter
-    rev: v1.0.2
-    hooks:
-      - id: gitlab-ci-linter
-        args:
-          - '--server'
-          - 'https://gitlab.gnome.org'
diff --git a/NEWS b/NEWS
index 7fe0cb6..42ae0ce 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,12 @@
+Version 2023.03
+~~~~~~~~~~~~~~~
+Released: 2023-03-26
+
+New Features:
+ - Resurrect the autoaligner which allows aligning two or more clips based on their audio, at the click of a button.
+ - More precise audio waveforms, when you look at them.
+ - Seek automatically to the start of the timeline when starting playback and the playhead is at the end, saving you a click.
+
 Version 2022.06
 ~~~~~~~~~~~~~~~
 Released: 2022-06-25
diff --git a/bin/pitivi-env b/bin/pitivi-env
index efe0fe5..66f9682 100755
--- a/bin/pitivi-env
+++ b/bin/pitivi-env
@@ -40,7 +40,7 @@ then
     # You can also create it manually if you deleted it by mistake.
     # This should also be used when building dependent projects
     # such as GES, etc.
-    alias setup="mkdir mesonbuild; ptvenv meson mesonbuild/ --prefix=/app --libdir=lib -Ddisable_gtkdoc=true -Ddisable_doc=true"
+    alias setup="mkdir mesonbuild; ptvenv meson mesonbuild/ --prefix=/app --libdir=lib"
 
     # Ninja builds the buildable parts of the project.
     alias ninja="ptvenv ninja"
diff --git a/bin/pitivi.in b/bin/pitivi.in
index 322d903..f584679 100755
--- a/bin/pitivi.in
+++ b/bin/pitivi.in
@@ -144,7 +144,7 @@ def _run_pitivi():
 
     if os.environ.get("PITIVI_VSCODE_DEBUG", False):
         import debugpy
-        debugpy.listen(5678)
+        debugpy.listen(("0.0.0.0", 5678))
         print("Waiting for the debugger to attach...")
         debugpy.wait_for_client()
 
diff --git a/build/flatpak/disable-fast-math-as-it-affects-the-entire-process.patch b/build/flatpak/disable-fast-math-as-it-affects-the-entire-process.patch
new file mode 100644
index 0000000..a3bc328
--- /dev/null
+++ b/build/flatpak/disable-fast-math-as-it-affects-the-entire-process.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index bf54882..e816db5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -33,7 +33,7 @@ AC_LANG(C++)
+
+ # Compiler flags. Apply -Ofast (implies -O3 -ffast-math) to allow gcc autovectorization
+ # generate effective SIMD code.
+-CXXFLAGS+=" -Ofast"
++CXXFLAGS+=" -O3"
+
+ # Set AR_FLAGS to avoid build warning "ar: `u' modifier ignored since `D' is the default (see `U')"
+ AR_FLAGS='cr'
diff --git a/build/flatpak/org.pitivi.Pitivi.json b/build/flatpak/org.pitivi.Pitivi.json
index 74e35af..f1b33c7 100644
--- a/build/flatpak/org.pitivi.Pitivi.json
+++ b/build/flatpak/org.pitivi.Pitivi.json
@@ -2,7 +2,7 @@
     "app-id": "org.pitivi.Pitivi",
     "branch": "master",
     "runtime": "org.gnome.Platform",
-    "runtime-version": "42",
+    "runtime-version": "43",
     "command": "pitivi",
     "finish-args": [
         "--socket=fallback-x11",
@@ -30,7 +30,6 @@
     },
     "modules": [
         "python3-ipdb.json",
-        "python3-nose2.json",
         "python3-pre-commit.json",
         "python3-hotdoc.json",
         "python3-pylint.json",
@@ -62,7 +61,7 @@
                     "type": "git",
                     "url": "https://code.videolan.org/videolan/x264.git",
                     "//": "Just get the latest from https://code.videolan.org/videolan/x264/-/commits/stable/ they don't do tags/snapshots/releases anymore",
-                    "commit": "5db6aa6cab1b146e07b60cc1736a01f21da01154"
+                    "commit": "baee400fa9ced6f5481a728138fed6e867b0ff7f"
                 }
             ]
         },
@@ -78,6 +77,7 @@
             "sources": [
                 {
                     "type": "archive",
+                    "//": "Last updated in 2012: https://sourceforge.net/projects/gmerlin/files/gavl/",
                     "url": "https://downloads.sourceforge.net/project/gmerlin/gavl/1.4.0/gavl-1.4.0.tar.gz",
                     "mirror-urls": [
                         "http://http.debian.net/debian/pool/main/g/gavl/gavl_1.4.0.orig.tar.gz"
@@ -162,6 +162,7 @@
                 "-DBUILD_opencv_surface_matching=OFF",
                 "-DBUILD_opencv_text=OFF",
                 "-DBUILD_opencv_tracking=ON",
+                "-DBUILD_opencv_videoio=OFF",
                 "-DBUILD_opencv_videostab=OFF",
                 "-DBUILD_opencv_viz=OFF",
                 "-DBUILD_opencv_xfeatures2d=OFF",
@@ -175,13 +176,13 @@
             "sources": [
                 {
                     "type": "archive",
-                    "url": "https://github.com/opencv/opencv/archive/refs/tags/3.4.17.tar.gz",
-                    "sha256": "1353eec67849aadb20df71d8bae18b83708e18fc5da080fe5efeabb1e99b2ee8"
+                    "url": "https://github.com/opencv/opencv/archive/refs/tags/3.4.18.tar.gz",
+                    "sha256": "d6a69aa4a775a074662685b9bc2b07b88fb867f19d939b03ad281571b62f2620"
                 },
                 {
                     "type": "archive",
-                    "url": "https://github.com/opencv/opencv_contrib/archive/3.4.17.tar.gz",
-                    "sha256": "2b4d3e91a5767a1ae4f4e2a71b0a93c9ec744755763653a650e40ace8f7b9a1b",
+                    "url": "https://github.com/opencv/opencv_contrib/archive/3.4.18.tar.gz",
+                    "sha256": "599bb4d3800a9523a91cecedb7f6d4316890275a39b8f9d66f73263f29ea1f61",
                     "dest": "contrib"
                 }
             ]
@@ -208,17 +209,21 @@
             ]
         },
         {
-            "name": "libsoundtouch",
+            "name": "soundtouch",
             "sources": [
                 {
                     "type": "git",
                     "url": "https://codeberg.org/soundtouch/soundtouch",
-                    "tag": "2.3.1",
-                    "commit": "e1f315f5358d9db5cee35a7a2886425489fcefe8",
+                    "tag": "2.3.2",
+                    "commit": "29fba832a7920a04eab956b3990c50e13d8c93f9",
                     "x-checker-data": {
                         "type": "git",
                         "tag-pattern": "^([\\d.]+)$"
                     }
+                },
+                {
+                    "type": "patch",
+                    "path": "disable-fast-math-as-it-affects-the-entire-process.patch"
                 }
             ]
         },
@@ -227,6 +232,7 @@
             "sources": [
                 {
                     "type": "archive",
+                    "//": "Last updated in 2013: https://github.com/mstorsjo/vo-aacenc/tags",
                     "url": "https://github.com/mstorsjo/vo-aacenc/archive/refs/tags/v0.1.3.tar.gz",
                     "sha256": "ae38610405f862237f6c70360c406297cc4222abf82e86722c505ba74b53a97d"
                 },
@@ -304,12 +310,12 @@
             "sources": [
                 {
                     "type": "archive",
-                    "url": "https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n4.4.1.tar.gz",
-                    "sha256": "82b43cc67296bcd01a59ae6b327cdb50121d3a9e35f41a30de1edd71bb4a6666",
+                    "url": "https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n5.1.2.tar.gz",
+                    "sha256": "ea84f1f7f72d0d7c4c2cbb6b4f2170b908a090448fc1834353a9f5fbf7c31fb4",
                     "x-checker-data": {
                         "type": "html",
-                        "url": "https://raw.githubusercontent.com/FFmpeg/FFmpeg/master/RELEASE",
-                        "version-pattern": "([\\d\\.-]*).git",
+                        "url": "https://git.ffmpeg.org/gitweb/ffmpeg.git/tags",
+                        "version-pattern": "<td><a class=\"list name\" href=\"/gitweb/ffmpeg.git/commit/.+\">n(\\d[.\\d]+\\d)</a></td>",
                         "url-template": "https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n$version.tar.gz"
                     }
                 }
@@ -342,178 +348,60 @@
             ]
         },
         {
-            "name": "gstreamer",
-            "buildsystem": "meson",
-            "builddir": true,
-            "config-opts": [
-                "-Ddoc=disabled",
-                "--libdir=lib"
-            ],
-            "sources": [
-                {
-                    "type": "git",
-                    "branch": "master",
-                    "url": "https://gitlab.freedesktop.org/gstreamer/gstreamer.git"
-                }
-            ]
-        },
-        {
-            "name": "gst-plugins-base",
-            "buildsystem": "meson",
-            "config-opts": [
-                "-Ddoc=disabled",
-                "-Dorc=enabled",
-                "--libdir=lib",
-                "--wrap-mode=nodownload"
-            ],
-            "builddir": true,
-            "sources": [
-                {
-                    "type": "git",
-                    "branch": "master",
-                    "url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base.git"
-                }
-            ]
-        },
-        {
-            "name": "gst-plugins-good",
-            "buildsystem": "meson",
-            "builddir": true,
-            "config-opts": [
-                "-Ddoc=disabled",
-                "--libdir=lib"
-            ],
-            "sources": [
-                {
-                    "type": "git",
-                    "branch": "master",
-                    "url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good.git"
-                }
-            ]
-        },
-        {
-            "name": "gst-plugins-ugly",
+            "name": "libdv",
             "buildsystem": "meson",
-            "builddir": true,
-            "config-opts": [
-                "-Ddoc=disabled",
-                "--libdir=lib"
-            ],
             "sources": [
                 {
                     "type": "git",
-                    "branch": "master",
-                    "url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly.git"
+                    "branch": "meson",
+                    "url": "https://gitlab.freedesktop.org/gstreamer/meson-ports/libdv.git"
                 }
             ]
         },
         {
-            "name": "gst-plugins-bad",
-            "buildsystem": "meson",
-            "builddir": true,
-            "config-opts": [
-                "-Daom=disabled",
-                "-Ddoc=disabled",
-                "--libdir=lib"
-            ],
-            "sources": [
-                {
-                    "type": "git",
-                    "branch": "master",
-                    "url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad.git"
-                }
-            ]
-        },
-        {
-            "name": "gst-libav",
-            "buildsystem": "meson",
-            "builddir": true,
-            "config-opts": [
-                "-Ddoc=disabled",
-                "--libdir=lib"
-            ],
-            "sources": [
-                {
-                    "type": "git",
-                    "branch": "master",
-                    "disable-shallow-clone": true,
-                    "url": "https://gitlab.freedesktop.org/gstreamer/gst-libav.git"
-                },
-                {
-                    "type": "git",
-                    "url": "https://git.ffmpeg.org/ffmpeg.git",
-                    "disable-shallow-clone": true,
-                    "branch": "master"
-                },
-                {
-                    "type": "git",
-                    "url": "git://git.libav.org/gas-preprocessor.git",
-                    "disable-shallow-clone": true,
-                    "branch": "master"
-                }
-            ]
-        },
-        {
-            "name": "gst-python",
-            "buildsystem": "meson",
-            "builddir": true,
-            "config-opts": [
-                "-Dpygi-overrides-dir=/app/lib/python3.9/site-packages/gi/overrides/",
-                "--libdir=lib"
-            ],
-            "sources": [
-                {
-                    "type": "git",
-                    "branch": "master",
-                    "url": "https://gitlab.freedesktop.org/gstreamer/gst-python.git"
-                }
-            ]
-        },
-        {
-            "name": "gst-devtools",
-            "buildsystem": "meson",
-            "builddir": true,
-            "config-opts": [
-                "-Ddoc=disabled",
-                "--libdir=lib"
-            ],
-            "sources": [
-                {
-                    "type": "git",
-                    "branch": "master",
-                    "url": "https://gitlab.freedesktop.org/gstreamer/gst-devtools.git"
-                }
-            ]
-        },
-        {
-            "name": "gstreamer-vaapi",
-            "buildsystem": "meson",
-            "builddir": true,
-            "config-opts": [
-                "-Ddoc=disabled",
-                "--libdir=lib"
-            ],
-            "sources": [
-                {
-                    "type": "git",
-                    "branch": "master",
-                    "url": "https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git"
-                }
-            ]
-        },
-        {
-            "name": "gst-editing-services",
+            "name": "gstreamer",
             "buildsystem": "meson",
             "builddir": true,
             "config-opts": [
+                "--libdir=lib",
+                "--wrap-mode=nodownload",
+                "-Dbad=enabled",
+                "-Dbase=enabled",
+                "-Ddevtools=enabled",
                 "-Ddoc=disabled",
-                "--libdir=lib"
+                "-Dges=enabled",
+                "-Dgood=enabled",
+                "-Dgpl=enabled",
+                "-Dgst-devtools:doc=disabled",
+                "-Dgst-editing-services:doc=disabled",
+                "-Dgst-editing-services:pygi-overrides-dir=/app/lib/python3.10/site-packages/gi/overrides/",
+                "-Dgst-libav:doc=disabled",
+                "-Dgst-plugins-bad:aom=disabled",
+                "-Dgst-plugins-bad:doc=disabled",
+                "-Dgst-plugins-bad:frei0r=enabled",
+                "-Dgst-plugins-bad:soundtouch=enabled",
+                "-Dgst-plugins-bad:voaacenc=enabled",
+                "-Dgst-plugins-bad:x265=enabled",
+                "-Dgst-plugins-base:doc=disabled",
+                "-Dgst-plugins-base:orc=enabled",
+                "-Dgst-plugins-good:doc=disabled",
+                "-Dgst-plugins-good:dv=enabled",
+                "-Dgst-plugins-ugly:doc=disabled",
+                "-Dgst-plugins-ugly:x264=enabled",
+                "-Dgst-python:pygi-overrides-dir=/app/lib/python3.10/site-packages/gi/overrides/",
+                "-Dgstreamer-vaapi:doc=disabled",
+                "-Dintrospection=enabled",
+                "-Dlibav=enabled",
+                "-Dpython=enabled",
+                "-Dugly=enabled",
+                "-Dvaapi=enabled"
             ],
             "sources": [
                 {
                     "type": "git",
-                    "branch": "master",
-                    "url": "https://gitlab.freedesktop.org/gstreamer/gst-editing-services.git"
+                    "url": "https://gitlab.freedesktop.org/gstreamer/gstreamer.git",
+                    "branch": "main",
+                    "disable-submodules": true
                 }
             ]
         },
diff --git a/build/flatpak/pitivi-flatpak b/build/flatpak/pitivi-flatpak
index 0872cc3..e27aa7a 100755
--- a/build/flatpak/pitivi-flatpak
+++ b/build/flatpak/pitivi-flatpak
@@ -38,7 +38,7 @@ FLATPAK_REQ = [
     ("flatpak-builder", "0.10.0"),
 ]
 FLATPAK_VERSION = {}
-DEFAULT_GST_BRANCH = 'master'
+DEFAULT_GST_BRANCH = 'main'
 
 
 class Colors:
@@ -123,11 +123,6 @@ def expand_manifest(manifest_path, outfile, basedir, gst_version, branchname):
         if module["sources"][0]["type"] != "git":
             continue
 
-        if module["name"].startswith("gst"):
-            module["sources"][0]["branch"] = gst_version
-            if gst_version != DEFAULT_GST_BRANCH:
-                continue
-
         repo = os.path.join(basedir, module["name"])
         if not os.path.exists(os.path.join(repo, ".git")):
             Console.message("-> Module: %s using online repo: %s",
@@ -593,8 +588,7 @@ class PitiviFlatpak:
         if not os.path.isdir("mesonbuild/"):
             # Create the build directory.
             meson_args = ["meson", "mesonbuild/", "--prefix=/app",
-                          "--libdir=lib", "-Ddisable_gtkdoc=true",
-                          "-Ddisable_doc=true"]
+                          "--libdir=lib"]
             self.run_in_sandbox(*meson_args, exit_on_failure=True,
                                 cwd=self.topdir)
 
@@ -630,13 +624,21 @@ class PitiviFlatpak:
         if not args:
             return
 
-        flatpak_command = ["flatpak", "build", "--socket=x11", "--socket=wayland",
-                           "--talk-name=org.freedesktop.Flatpak",
-                           "--socket=session-bus", "--socket=pulseaudio",
-                           "--share=network", "--env=PITIVI_DEVELOPMENT=1",
+        flatpak_command = ["flatpak",
+                           "build",
+                           "--device=dri",
+                           "--env=PITIVI_DEVELOPMENT=1",
                            "--env=PYTHONUSERBASE=/app/",
                            "--env=CC=ccache gcc",
-                           "--env=CXX=ccache g++", "--device=dri"]
+                           "--env=CXX=ccache g++",
+                           "--filesystem=xdg-run/gvfsd",
+                           "--filesystem=xdg-run/at-spi/bus",
+                           "--share=network",
+                           "--socket=pulseaudio",
+                           "--socket=session-bus",
+                           "--socket=wayland",
+                           "--socket=x11",
+                           "--talk-name=org.freedesktop.Flatpak"]
         if mount_tmp:
             flatpak_command.append("--filesystem=/tmp/")
 
diff --git a/build/flatpak/python3-hotdoc.json b/build/flatpak/python3-hotdoc.json
index a8cd09a..ec82a55 100644
--- a/build/flatpak/python3-hotdoc.json
+++ b/build/flatpak/python3-hotdoc.json
@@ -1,5 +1,5 @@
 {
-    "name": "python3-modules",
+    "name": "python3-hotdoc",
     "buildsystem": "simple",
     "build-commands": [],
     "modules": [
@@ -59,63 +59,48 @@
             "sources": [
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/80/0e/16a7ee38617aab6a624e95948d314097cc2669edae9b02ded53309941cfc/zipp-3.8.0-py3-none-any.whl",
-                    "sha256": "c4f6e5bbf48e74f7a38e7cc5b0480ff42b0ae5178957d564d18932525d5cf099"
+                    "url": "https://files.pythonhosted.org/packages/92/f7/86301a69926e11cd52f73396d169554d09b20b1723a040c2dcc1559ef588/Babel-2.11.0-py3-none-any.whl",
+                    "sha256": "1ad3eca1c885218f6dce2ab67291178944f810a10a9b5f3cb8382a5a232b64fe"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/ec/03/062e6444ce4baf1eac17a6a0ebfe36bb1ad05e1df0e20b110de59c278498/urllib3-1.26.9-py2.py3-none-any.whl",
-                    "sha256": "44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14"
+                    "url": "https://files.pythonhosted.org/packages/bc/c3/f068337a370801f372f2f8f6bad74a5c140f6fda3d9de154052708dd3c65/Jinja2-3.1.2-py3-none-any.whl",
+                    "sha256": "6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/60/2e/dec1cc18c51b8df33c7c4d0a321b084cf38e1733b98f9d15018880fb4970/pytz-2022.1-py2.py3-none-any.whl",
-                    "sha256": "e68985985296d9a66a881eb3193b0906246245294a881e7c8afe623866ac6a5c"
+                    "url": "https://files.pythonhosted.org/packages/9e/82/2e089c6f34e77c073aa5a67040d368aac0dfb9b8ccbb46d381452c26fc33/MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
+                    "sha256": "10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/80/c1/23fd82ad3121656b585351aba6c19761926bb0db2ebed9e4ff09a43a3fcc/pyparsing-3.0.7-py3-none-any.whl",
-                    "sha256": "a6c06a88f252e6c322f65faf8f418b16213b51bdfaece0524c1c1bc30c63c484"
-                },
-                {
-                    "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/df/06/c515c5bc43b90462e753bc768e6798193c6520c9c7eb2054c7466779a9db/MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
-                    "sha256": "56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77"
-                },
-                {
-                    "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/04/a2/d918dcd22354d8958fe113e1a3630137e0fc8b44859ade3063982eacd2a4/idna-3.3-py3-none-any.whl",
-                    "sha256": "84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"
-                },
-                {
-                    "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/06/b3/24afc8868eba069a7f03650ac750a778862dc34941a4bebeb58706715726/charset_normalizer-2.0.12-py3-none-any.whl",
-                    "sha256": "6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df"
+                    "url": "https://files.pythonhosted.org/packages/10/ad/00b090d23a222943eb0eda509720a404f531a439e803f6538f35136cae9e/alabaster-0.7.12-py2.py3-none-any.whl",
+                    "sha256": "446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/37/45/946c02767aabb873146011e665728b680884cd8fe70dde973c640e45b775/certifi-2021.10.8-py2.py3-none-any.whl",
-                    "sha256": "d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"
+                    "url": "https://files.pythonhosted.org/packages/1d/38/fa96a426e0c0e68aabc68e896584b83ad1eec779265a028e156ce509630e/certifi-2022.9.24-py3-none-any.whl",
+                    "sha256": "90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/2b/14/05f9206cf4e9cfca1afb5fd224c7cd434dcc3a433d6d9e4e0264d29c6cdb/sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl",
-                    "sha256": "bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"
+                    "url": "https://files.pythonhosted.org/packages/db/51/a507c856293ab05cdc1db77ff4bc1268ddd39f29e7dc4919aa497f0adbec/charset_normalizer-2.1.1-py3-none-any.whl",
+                    "sha256": "83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl",
-                    "sha256": "2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"
+                    "url": "https://files.pythonhosted.org/packages/93/69/e391bd51bc08ed9141ecd899a0ddb61ab6465309f1eb470905c0c8868081/docutils-0.19-py3-none-any.whl",
+                    "sha256": "5e1de4d849fee02c63b040a4a3fd567f4ab104defd8a5511fbbc24a8a017efbc"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/c5/09/5de5ed43a521387f18bdf5f5af31d099605c992fd25372b2b9b825ce48ee/sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl",
-                    "sha256": "8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"
+                    "url": "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl",
+                    "sha256": "90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/dc/47/86022665a9433d89a66f5911b558ddff69861766807ba685de2e324bd6ed/sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl",
-                    "sha256": "806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a"
+                    "url": "https://files.pythonhosted.org/packages/ff/62/85c4c919272577931d407be5ba5d71c20f0b616d31a0befe0ae45bb79abd/imagesize-1.4.1-py2.py3-none-any.whl",
+                    "sha256": "0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"
                 },
                 {
                     "type": "file",
@@ -124,18 +109,18 @@
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/60/d6/5e803b17f4d42e085c365b44fda34deb0d8675a1a910635930b831c43f07/imagesize-1.3.0-py2.py3-none-any.whl",
-                    "sha256": "1db2f82529e53c3e929e8926a1fa9235aa82d0bd0c580359c67ec31b2fddaa8c"
+                    "url": "https://files.pythonhosted.org/packages/6c/10/a7d0fa5baea8fe7b50f448ab742f26f52b80bfca85ac2be9d35cdd9a3246/pyparsing-3.0.9-py3-none-any.whl",
+                    "sha256": "5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/c6/77/5464ec50dd0f1c1037e3c93249b040c8fc8078fdda97530eeb02424b6eea/sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl",
-                    "sha256": "352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"
+                    "url": "https://files.pythonhosted.org/packages/85/ac/92f998fc52a70afd7f6b788142632afb27cd60c8c782d1452b7466603332/pytz-2022.6-py2.py3-none-any.whl",
+                    "sha256": "222439474e9c98fced559f1709d89e6c9cbf8d79c794ff3eb9f8800064291427"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/63/40/c854ef09500e25f6432dcbad0f37df87fd7046d376272292d8654cc71c95/sphinxcontrib_htmlhelp-2.0.0-py2.py3-none-any.whl",
-                    "sha256": "d412243dfb797ae3ec2b59eca0e52dac12e75a241bf0e4eb861e450d06c6ed07"
+                    "url": "https://files.pythonhosted.org/packages/ca/91/6d9b8ccacd0412c08820f72cebaa4f0c0441b5cda699c90f618b6f8a1b42/requests-2.28.1-py3-none-any.whl",
+                    "sha256": "8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"
                 },
                 {
                     "type": "file",
@@ -144,38 +129,43 @@
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/2d/61/08076519c80041bc0ffa1a8af0cbd3bf3e2b62af10435d269a9d0f40564d/requests-2.27.1-py2.py3-none-any.whl",
-                    "sha256": "f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d"
+                    "url": "https://files.pythonhosted.org/packages/67/a7/01dd6fd9653c056258d65032aa09a615b5d7b07dd840845a9f41a8860fbc/sphinx-5.3.0-py3-none-any.whl",
+                    "sha256": "060ca5c9f7ba57a08a1219e547b269fadf125ae25b06b9fa7f66768efb652d6d"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/76/02/af4045156cde8feeefa30cb1c051e10321d4960c418bd52346a497feb302/Jinja2-3.1.1-py3-none-any.whl",
-                    "sha256": "539835f51a74a69f41b848a9645dbdc35b4f20a3b601e2d9a7e22947b15ff119"
+                    "url": "https://files.pythonhosted.org/packages/dc/47/86022665a9433d89a66f5911b558ddff69861766807ba685de2e324bd6ed/sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl",
+                    "sha256": "806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/92/f2/c48787ca7d1e20daa185e1b6b2d4e16acd2fb5e0320bc50ffc89b91fa4d7/importlib_metadata-4.11.3-py3-none-any.whl",
-                    "sha256": "1208431ca90a8cca1a6b8af391bb53c1a2db74e5d1cef6ddced95d4b2062edc6"
+                    "url": "https://files.pythonhosted.org/packages/c5/09/5de5ed43a521387f18bdf5f5af31d099605c992fd25372b2b9b825ce48ee/sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl",
+                    "sha256": "8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/4c/5e/6003a0d1f37725ec2ebd4046b657abb9372202655f96e76795dca8c0063c/docutils-0.17.1-py2.py3-none-any.whl",
-                    "sha256": "cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"
+                    "url": "https://files.pythonhosted.org/packages/63/40/c854ef09500e25f6432dcbad0f37df87fd7046d376272292d8654cc71c95/sphinxcontrib_htmlhelp-2.0.0-py2.py3-none-any.whl",
+                    "sha256": "d412243dfb797ae3ec2b59eca0e52dac12e75a241bf0e4eb861e450d06c6ed07"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/aa/96/4ba93c5f40459dc850d25f9ba93f869a623e77aaecc7a9344e19c01942cf/Babel-2.9.1-py2.py3-none-any.whl",
-                    "sha256": "ab49e12b91d937cd11f0b67cb259a57ab4ad2b59ac7a3b41d6c06c0ac5b0def9"
+                    "url": "https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl",
+                    "sha256": "2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/10/ad/00b090d23a222943eb0eda509720a404f531a439e803f6538f35136cae9e/alabaster-0.7.12-py2.py3-none-any.whl",
-                    "sha256": "446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359"
+                    "url": "https://files.pythonhosted.org/packages/2b/14/05f9206cf4e9cfca1afb5fd224c7cd434dcc3a433d6d9e4e0264d29c6cdb/sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl",
+                    "sha256": "bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"
+                },
+                {
+                    "type": "file",
+                    "url": "https://files.pythonhosted.org/packages/c6/77/5464ec50dd0f1c1037e3c93249b040c8fc8078fdda97530eeb02424b6eea/sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl",
+                    "sha256": "352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/91/96/9cbbc7103fb482d5809fe4976ecb9b627058210d02817fcbfeebeaa8f762/Sphinx-4.5.0-py3-none-any.whl",
-                    "sha256": "ebf612653238bcc8f4359627a9b7ce44ede6fdd75d9d30f68255c7383d3a6226"
+                    "url": "https://files.pythonhosted.org/packages/6f/de/5be2e3eed8426f871b170663333a0f627fc2924cc386cd41be065e7ea870/urllib3-1.26.12-py2.py3-none-any.whl",
+                    "sha256": "b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"
                 }
             ]
         },
@@ -188,63 +178,63 @@
             "sources": [
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/76/56/6d6872f79d14c0cb02f1646cbb4592eef935857c0951a105874b7b62a0c3/contextlib2-21.6.0-py2.py3-none-any.whl",
-                    "sha256": "3fbdb64466afd23abaf6c977627b75b6139a5a3e8ce38405c5b413aed7a0471f"
+                    "url": "https://files.pythonhosted.org/packages/02/25/6ba9f6bb50a3d4fbe22c1a02554dc670682a07c8701d1716d19ddea2c940/PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
+                    "sha256": "f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/9f/81/659038f48d53bb1a9f4ff97b8b2c53f2cb7ff60003b22d57b4dd22d8da0c/wheezy.template-3.1.0.tar.gz",
-                    "sha256": "e11007cac73368dce12998e34b66c476016bb461471ffc1e4d56e84002ec960f"
+                    "url": "https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl",
+                    "sha256": "a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/0d/93/ca8aa5a772efd69043d0a745172d92bee027caa7565c7f774a2f44b91207/schema-0.7.5-py2.py3-none-any.whl",
-                    "sha256": "f3ffdeeada09ec34bf40d7d79996d9f7175db93b7a5065de0faa7f41083c1e6c"
+                    "url": "https://files.pythonhosted.org/packages/a8/5d/090c9f0312b7988a9433246c9cf0b566b1ae1374368cfb8ac897218a4f65/cchardet-2.1.7.tar.gz",
+                    "sha256": "c428b6336545053c2589f6caf24ea32276c6664cb86db817e03a94c60afa0eaf"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/32/af/89487c7bbf433f4079044f3dc32f9a9f887597fe04614a37a292e373e16b/pkgconfig-1.5.5-py3-none-any.whl",
-                    "sha256": "d20023bbeb42ee6d428a0fac6e0904631f545985a10cdd71a20aa58bc47a4209"
+                    "url": "https://files.pythonhosted.org/packages/76/56/6d6872f79d14c0cb02f1646cbb4592eef935857c0951a105874b7b62a0c3/contextlib2-21.6.0-py2.py3-none-any.whl",
+                    "sha256": "3fbdb64466afd23abaf6c977627b75b6139a5a3e8ce38405c5b413aed7a0471f"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/ce/69/66c2112761ed295a8469c3edf9f68b2f37c878a95fd715cab862d1ec92a1/lxml-4.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl",
-                    "sha256": "545bd39c9481f2e3f2727c78c169425efbfb3fbba6e7db4f46a80ebb249819ca"
+                    "url": "https://files.pythonhosted.org/packages/2f/3b/ed8628640a4e917be11268d64a342966358b9001801a21edd6c7988794c2/dbus_deviation-0.6.1-py3-none-any.whl",
+                    "sha256": "187d56ea000742af291fa5fe5694365c59c7f7ffb38ad46cee752c40626ec4f2"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/be/d3/3f9c005bead891d320ea3e796e5ed76776d2ac0671530188984bb632559b/cchardet-2.1.7-cp39-cp39-manylinux2010_x86_64.whl",
-                    "sha256": "c96aee9ebd1147400e608a3eff97c44f49811f8904e5a43069d55603ac4d8c97"
+                    "url": "https://files.pythonhosted.org/packages/18/0a/4eb673ca5e267f84bbdf7ed5ebfb381860b7a23af546aca7a644f63964c2/hotdoc-0.13.7.tar.gz",
+                    "sha256": "1123a659e2c94972c32813ec301191d333db24712a83f7e3d06dd58d47cf0098"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl",
-                    "sha256": "a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"
+                    "url": "https://files.pythonhosted.org/packages/39/dd/8d3588dface91674666c866dc4e3cd646c84a025e6b41ec0dc63be9ab347/lxml-4.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl",
+                    "sha256": "e5f66bdf0976ec667fc4594d2812a00b07ed14d1b44259d19a41ae3fff99f2b8"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/0b/d1/dfbff7af958d31a0132ecffe5333ffb5ebb315cdff4a22b4f754bc888aad/toposort-1.7-py2.py3-none-any.whl",
-                    "sha256": "8ed8e109e96ae30bf66da2d2155e4eb9989d9c5c743c837e37d9774a4eddd804"
+                    "url": "https://files.pythonhosted.org/packages/42/31/d2f89f1ae42718f8c8a9e440ebe38d7d5fe1e0d9eb9178ce779e365b3ab0/networkx-2.8.8-py3-none-any.whl",
+                    "sha256": "e435dfa75b1d7195c7b8378c3859f0445cd88c6b0375c181ed66823a9ceb7524"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/12/fc/a4d5a7554e0067677823f7265cb3ae22aed8a238560b5133b58cda252dad/PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
-                    "sha256": "40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"
+                    "url": "https://files.pythonhosted.org/packages/32/af/89487c7bbf433f4079044f3dc32f9a9f887597fe04614a37a292e373e16b/pkgconfig-1.5.5-py3-none-any.whl",
+                    "sha256": "d20023bbeb42ee6d428a0fac6e0904631f545985a10cdd71a20aa58bc47a4209"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/f6/34/4913f651b8e178dde5abcf8d62495e4dcd0757a9a6840f1b1f7a290afaea/networkx-2.7.1-py3-none-any.whl",
-                    "sha256": "011e85d277c89681e8fa661cf5ff0743443445049b0b68789ad55ef09340c6e0"
+                    "url": "https://files.pythonhosted.org/packages/0d/93/ca8aa5a772efd69043d0a745172d92bee027caa7565c7f774a2f44b91207/schema-0.7.5-py2.py3-none-any.whl",
+                    "sha256": "f3ffdeeada09ec34bf40d7d79996d9f7175db93b7a5065de0faa7f41083c1e6c"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/2f/3b/ed8628640a4e917be11268d64a342966358b9001801a21edd6c7988794c2/dbus_deviation-0.6.1-py3-none-any.whl",
-                    "sha256": "187d56ea000742af291fa5fe5694365c59c7f7ffb38ad46cee752c40626ec4f2"
+                    "url": "https://files.pythonhosted.org/packages/0b/d1/dfbff7af958d31a0132ecffe5333ffb5ebb315cdff4a22b4f754bc888aad/toposort-1.7-py2.py3-none-any.whl",
+                    "sha256": "8ed8e109e96ae30bf66da2d2155e4eb9989d9c5c743c837e37d9774a4eddd804"
                 },
                 {
                     "type": "file",
-                    "url": "https://files.pythonhosted.org/packages/18/0a/4eb673ca5e267f84bbdf7ed5ebfb381860b7a23af546aca7a644f63964c2/hotdoc-0.13.7.tar.gz",
-                    "sha256": "1123a659e2c94972c32813ec301191d333db24712a83f7e3d06dd58d47cf0098"
+                    "url": "https://files.pythonhosted.org/packages/9f/81/659038f48d53bb1a9f4ff97b8b2c53f2cb7ff60003b22d57b4dd22d8da0c/wheezy.template-3.1.0.tar.gz",
+                    "sha256": "e11007cac73368dce12998e34b66c476016bb461471ffc1e4d56e84002ec960f"
                 }
             ]
         }
diff --git a/build/flatpak/python3-ipdb.json b/build/flatpak/python3-ipdb.json
index 9c50f20..f654e6d 100644
--- a/build/flatpak/python3-ipdb.json
+++ b/build/flatpak/python3-ipdb.json
@@ -7,83 +7,78 @@
     "sources": [
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/0c/3c/548d361162702df85a0301f0cd0c47d05176b20bb086077a0fda740daf41/setuptools-62.0.0-py3-none-any.whl",
-            "sha256": "a65e3802053e99fc64c6b3b29c11132943d5b8c8facbcc461157511546510967"
+            "url": "https://files.pythonhosted.org/packages/23/f7/19e20888d0b1e44b40c2795894a05e7be1f631c09949f7e0b177df1ab7a2/asttokens-2.1.0-py2.py3-none-any.whl",
+            "sha256": "1b28ed85e254b724439afc783d4bee767f780b936c3fe8b3275332f42cf5f561"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/59/7c/e39aca596badaf1b78e8f547c807b04dae603a433d3e7a7e04d67f2ef3e5/wcwidth-0.2.5-py2.py3-none-any.whl",
-            "sha256": "beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"
-        },
-        {
-            "type": "file",
-            "url": "https://files.pythonhosted.org/packages/2b/27/77f9d5684e6bce929f5cfe18d6cfbe5133013c06cb2fbf5933670e60761d/pure_eval-0.2.2-py3-none-any.whl",
-            "sha256": "01eaab343580944bc56080ebe0a674b39ec44a945e6d09ba7db3cb8cec289350"
+            "url": "https://files.pythonhosted.org/packages/4c/1c/ff6546b6c12603d8dd1070aa3c3d273ad4c07f5771689a7b69a550e8c951/backcall-0.2.0-py2.py3-none-any.whl",
+            "sha256": "fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/61/d8/ad89910dc1da01a24135cb3dce702c72a8172f7b8f896ac0c4c34bcaf323/executing-0.8.3-py2.py3-none-any.whl",
-            "sha256": "d1eef132db1b83649a3905ca6dd8897f71ac6f8cac79a7e58a1a09cf137546c9"
+            "url": "https://files.pythonhosted.org/packages/d5/50/83c593b07763e1161326b3b8c6686f0f4b0f24d5526546bee538c89837d6/decorator-5.1.1-py3-none-any.whl",
+            "sha256": "b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/16/d5/b0ad240c22bba2f4591693b0ca43aae94fbd77fb1e2b107d54fff1462b6f/asttokens-2.0.5-py2.py3-none-any.whl",
-            "sha256": "0844691e88552595a6f4a4281a9f7f79b8dd45ca4ccea82e5e05b4bbdb76705c"
+            "url": "https://files.pythonhosted.org/packages/28/3c/bc3819dd8b1a1588c9215a87271b6178cc5498acaa83885211f5d4d9e693/executing-1.2.0-py2.py3-none-any.whl",
+            "sha256": "0314a69e37426e3608aada02473b4161d4caf5a4b244d1d0c48072b8fee7bacc"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl",
-            "sha256": "4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"
+            "url": "https://files.pythonhosted.org/packages/fc/56/9f67dcd4a4b9960373173a31be1b8c47fe351a1c9385677a7bdd82810e57/ipdb-0.13.9.tar.gz",
+            "sha256": "951bd9a64731c444fd907a5ce268543020086a697f6be08f7cc2c9a752a278c5"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/05/63/8011bd08a4111858f79d2b09aad86638490d62fbf881c44e434a6dfca87b/parso-0.8.3-py2.py3-none-any.whl",
-            "sha256": "c001d4636cd3aecdaf33cbb40aebb59b094be2a74c556778ef5576c175e19e75"
+            "url": "https://files.pythonhosted.org/packages/c7/53/072d677a16fd61f5806d80218c65202cc0ee77b831088af8f79ef59efcf2/ipython-8.6.0-py3-none-any.whl",
+            "sha256": "91ef03016bcf72dd17190f863476e7c799c6126ec7e8be97719d1bc9a78a59a4"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/6b/25/9a454b432df53ffbbb4f03198c3347f393c34f4de07fb652563bdbdf91e8/stack_data-0.2.0-py3-none-any.whl",
-            "sha256": "999762f9c3132308789affa03e9271bbbe947bf78311851f4d485d8402ed858e"
+            "url": "https://files.pythonhosted.org/packages/b3/0e/836f12ec50075161e365131f13f5758451645af75c2becf61c6351ecec39/jedi-0.18.1-py2.py3-none-any.whl",
+            "sha256": "637c9635fcf47945ceb91cd7f320234a7be540ded6f3e99a50cb6febdfd1ba8d"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/9a/41/220f49aaea88bc6fa6cba8d05ecf24676326156c23b991e80b3f2fc24c77/pickleshare-0.7.5-py2.py3-none-any.whl",
-            "sha256": "9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"
+            "url": "https://files.pythonhosted.org/packages/f2/51/c34d7a1d528efaae3d8ddb18ef45a41f284eacf9e514523b191b7d0872cc/matplotlib_inline-0.1.6-py3-none-any.whl",
+            "sha256": "f1f41aab5328aa5aaea9b16d083b128102f8712542f819fe7e6a420ff581b311"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/a6/2d/2230afd570c70074e80fd06857ba2bdc5f10c055bd9125665fe276fadb67/matplotlib_inline-0.1.3-py3-none-any.whl",
-            "sha256": "aed605ba3b72462d64d475a21a9296f400a19c4f74a31b59103d2a99ffd5aa5c"
+            "url": "https://files.pythonhosted.org/packages/05/63/8011bd08a4111858f79d2b09aad86638490d62fbf881c44e434a6dfca87b/parso-0.8.3-py2.py3-none-any.whl",
+            "sha256": "c001d4636cd3aecdaf33cbb40aebb59b094be2a74c556778ef5576c175e19e75"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/4c/1c/ff6546b6c12603d8dd1070aa3c3d273ad4c07f5771689a7b69a550e8c951/backcall-0.2.0-py2.py3-none-any.whl",
-            "sha256": "fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"
+            "url": "https://files.pythonhosted.org/packages/39/7b/88dbb785881c28a102619d46423cb853b46dbccc70d3ac362d99773a78ce/pexpect-4.8.0-py2.py3-none-any.whl",
+            "sha256": "0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/37/46/be8a3c030bd3673f4800fa7f46eda972dfa2990089a51ec5dd0a26ed33e9/traitlets-5.1.1-py3-none-any.whl",
-            "sha256": "2d313cc50a42cd6c277e7d7dc8d4d7fedd06a2c215f78766ae7b1a66277e0033"
+            "url": "https://files.pythonhosted.org/packages/9a/41/220f49aaea88bc6fa6cba8d05ecf24676326156c23b991e80b3f2fc24c77/pickleshare-0.7.5-py2.py3-none-any.whl",
+            "sha256": "9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/3f/2d/dcb44d69f388ca2ee1a4a4d3c204ab66b36975c0d5166781eaeeff76b882/prompt_toolkit-3.0.29-py3-none-any.whl",
-            "sha256": "62291dad495e665fca0bda814e342c69952086afb0f4094d0893d357e5c78752"
+            "url": "https://files.pythonhosted.org/packages/03/22/784990e865d847384c28a05ff33ed09791251b320c212f957c62a11bd2ab/prompt_toolkit-3.0.32-py3-none-any.whl",
+            "sha256": "24becda58d49ceac4dc26232eb179ef2b21f133fecda7eed6018d341766ed76e"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/39/7b/88dbb785881c28a102619d46423cb853b46dbccc70d3ac362d99773a78ce/pexpect-4.8.0-py2.py3-none-any.whl",
-            "sha256": "0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"
+            "url": "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl",
+            "sha256": "4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/b3/0e/836f12ec50075161e365131f13f5758451645af75c2becf61c6351ecec39/jedi-0.18.1-py2.py3-none-any.whl",
-            "sha256": "637c9635fcf47945ceb91cd7f320234a7be540ded6f3e99a50cb6febdfd1ba8d"
+            "url": "https://files.pythonhosted.org/packages/2b/27/77f9d5684e6bce929f5cfe18d6cfbe5133013c06cb2fbf5933670e60761d/pure_eval-0.2.2-py3-none-any.whl",
+            "sha256": "01eaab343580944bc56080ebe0a674b39ec44a945e6d09ba7db3cb8cec289350"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/d5/50/83c593b07763e1161326b3b8c6686f0f4b0f24d5526546bee538c89837d6/decorator-5.1.1-py3-none-any.whl",
-            "sha256": "b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"
+            "url": "https://files.pythonhosted.org/packages/0b/d3/87a41424a1d24d2cb9f5ae4ef4a97c7437ad81eb37d21049ce5decd13d70/stack_data-0.6.0-py3-none-any.whl",
+            "sha256": "b92d206ef355a367d14316b786ab41cb99eb453a21f2cb216a4204625ff7bc07"
         },
         {
             "type": "file",
@@ -92,13 +87,13 @@
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/c6/51/d281fd3995507e01dab71af946c659e4ef80d07cd53e8bb17e6d23f8dd60/ipython-8.2.0-py3-none-any.whl",
-            "sha256": "1b672bfd7a48d87ab203d9af8727a3b0174a4566b4091e9447c22fb63ea32857"
+            "url": "https://files.pythonhosted.org/packages/ed/f9/caefd8c90955184e7426ef930e38c185e047169b520b35bdd57d341d03f4/traitlets-5.5.0-py3-none-any.whl",
+            "sha256": "1201b2c9f76097195989cdf7f65db9897593b0dfd69e4ac96016661bb6f0d30f"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/fc/56/9f67dcd4a4b9960373173a31be1b8c47fe351a1c9385677a7bdd82810e57/ipdb-0.13.9.tar.gz",
-            "sha256": "951bd9a64731c444fd907a5ce268543020086a697f6be08f7cc2c9a752a278c5"
+            "url": "https://files.pythonhosted.org/packages/59/7c/e39aca596badaf1b78e8f547c807b04dae603a433d3e7a7e04d67f2ef3e5/wcwidth-0.2.5-py2.py3-none-any.whl",
+            "sha256": "beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"
         }
     ]
 }
diff --git a/build/flatpak/python3-librosa.json b/build/flatpak/python3-librosa.json
index ad6a368..40e8564 100644
--- a/build/flatpak/python3-librosa.json
+++ b/build/flatpak/python3-librosa.json
@@ -7,123 +7,118 @@
     "sources": [
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/0c/3c/548d361162702df85a0301f0cd0c47d05176b20bb086077a0fda740daf41/setuptools-62.0.0-py3-none-any.whl",
-            "sha256": "a65e3802053e99fc64c6b3b29c11132943d5b8c8facbcc461157511546510967"
-        },
-        {
-            "type": "file",
-            "url": "https://files.pythonhosted.org/packages/62/d5/5f610ebe421e85889f2e55e33b7f9a6795bd982198517d912eb1c76e1a53/pycparser-2.21-py2.py3-none-any.whl",
-            "sha256": "8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"
+            "url": "https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl",
+            "sha256": "a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/ec/03/062e6444ce4baf1eac17a6a0ebfe36bb1ad05e1df0e20b110de59c278498/urllib3-1.26.9-py2.py3-none-any.whl",
-            "sha256": "44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14"
+            "url": "https://files.pythonhosted.org/packages/5d/cb/82a002441902dccbe427406785db07af10182245ee639ea9f4d92907c923/audioread-3.0.0.tar.gz",
+            "sha256": "121995bd207eb1fda3d566beb851d3534275925bc35a4fb6da0cb11de0f7251a"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/04/a2/d918dcd22354d8958fe113e1a3630137e0fc8b44859ade3063982eacd2a4/idna-3.3-py3-none-any.whl",
-            "sha256": "84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"
+            "url": "https://files.pythonhosted.org/packages/1d/38/fa96a426e0c0e68aabc68e896584b83ad1eec779265a028e156ce509630e/certifi-2022.9.24-py3-none-any.whl",
+            "sha256": "90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/06/b3/24afc8868eba069a7f03650ac750a778862dc34941a4bebeb58706715726/charset_normalizer-2.0.12-py3-none-any.whl",
-            "sha256": "6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df"
+            "url": "https://files.pythonhosted.org/packages/88/89/c34caf63029fb7628ec2ebd5c88ae0c9bd17db98c812e4065a4d020ca41f/cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
+            "sha256": "dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/37/45/946c02767aabb873146011e665728b680884cd8fe70dde973c640e45b775/certifi-2021.10.8-py2.py3-none-any.whl",
-            "sha256": "d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"
+            "url": "https://files.pythonhosted.org/packages/db/51/a507c856293ab05cdc1db77ff4bc1268ddd39f29e7dc4919aa497f0adbec/charset_normalizer-2.1.1-py3-none-any.whl",
+            "sha256": "83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/61/cf/6e354304bcb9c6413c4e02a747b600061c21d38ba51e7e544ac7bc66aecc/threadpoolctl-3.1.0-py3-none-any.whl",
-            "sha256": "8b99adda265feb6773280df41eece7b2e6561b772d21ffd52e372f999024907b"
+            "url": "https://files.pythonhosted.org/packages/d5/50/83c593b07763e1161326b3b8c6686f0f4b0f24d5526546bee538c89837d6/decorator-5.1.1-py3-none-any.whl",
+            "sha256": "b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/2d/61/08076519c80041bc0ffa1a8af0cbd3bf3e2b62af10435d269a9d0f40564d/requests-2.27.1-py2.py3-none-any.whl",
-            "sha256": "f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d"
+            "url": "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl",
+            "sha256": "90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/80/c1/23fd82ad3121656b585351aba6c19761926bb0db2ebed9e4ff09a43a3fcc/pyparsing-3.0.7-py3-none-any.whl",
-            "sha256": "a6c06a88f252e6c322f65faf8f418b16213b51bdfaece0524c1c1bc30c63c484"
+            "url": "https://files.pythonhosted.org/packages/91/d4/3b4c8e5a30604df4c7518c562d4bf0502f2fa29221459226e140cf846512/joblib-1.2.0-py3-none-any.whl",
+            "sha256": "091138ed78f800342968c523bdde947e7a305b8594b910a0fea2ab83c3c6d385"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/0a/ce/5ceabed00a13b8517ff1fa29b0f5f67638ed18566323721b4e4ed444c5dd/llvmlite-0.38.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
-            "sha256": "3f7b2838898c80557e959f83fb28d260e5e2301396f34830f3ec6811ae53f6be"
+            "url": "https://files.pythonhosted.org/packages/e4/1c/23ef2fd02913d65d43dc7516fc829af709314a66c6f0bdc2e361fdcecc2d/librosa-0.9.2-py3-none-any.whl",
+            "sha256": "322a813e6d37af9fbc369e6a637dcf5fdc5c6925ce806a0d27c68de61a81350f"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/e2/25/00fd291e0872d43dabe070e7b761ba37453a1a94bd6e28c31b73112d8f0c/cffi-1.15.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
-            "sha256": "74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e"
+            "url": "https://files.pythonhosted.org/packages/91/38/6b50b0a8ef737083dc2f4a359d42282b2fb104dae97674dcfc85a48c693b/llvmlite-0.39.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
+            "sha256": "16f56eb1eec3cda3a5c526bc3f63594fc24e0c8d219375afeb336f289764c6c7"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl",
-            "sha256": "a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"
+            "url": "https://files.pythonhosted.org/packages/58/a4/859605be01d9979fecde5e94ed6662d9a85853f9849f396d9a84455f4846/numba-0.56.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
+            "sha256": "4e08e203b163ace08bad500b0c16f6092b1eb34fd1fce4feaf31a67a3a5ecf3b"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/eb/f2/3cbbbf3b96fb9fa91582c438b574cff3f45b29c772f94c400e2c99ef5db9/SoundFile-0.10.3.post1-py2.py3-none-any.whl",
-            "sha256": "2d17e0a6fc2af0d6c1d868bafa5ec80aae6e186a97fec8db07ad6af29842fbc7"
+            "url": "https://files.pythonhosted.org/packages/0c/83/78ae18fffc185d0d57097610d5a97473ef11dbdca95f16739ee96b158087/numpy-1.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
+            "sha256": "a8365b942f9c1a7d0f0dc974747d99dd0a0cdfc5949a33119caf05cb314682d3"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/b8/51/6a058c1c742c8365399c93685a5b3c4f9c39389957189725738954c427a0/scipy-1.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
-            "sha256": "f3720d0124aced49f6f2198a6900304411dbbeed12f56951d7c66ebef05e3df6"
+            "url": "https://files.pythonhosted.org/packages/05/8e/8de486cbd03baba4deef4142bd643a3e7bbe954a784dc1bb17142572d127/packaging-21.3-py3-none-any.whl",
+            "sha256": "ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/57/aa/483fbe6b5314bce2d49801e6cec1f2139a9c220d0d51494788fff47233b3/scikit_learn-1.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
-            "sha256": "ff746a69ff2ef25f62b36338c615dd15954ddc3ab8e73530237dd73235e76d62"
+            "url": "https://files.pythonhosted.org/packages/8d/64/8e1bfeda3ba0f267b2d9a918e8ca51db8652d0e1a3412a5b3dbce85d90b6/pooch-1.6.0-py3-none-any.whl",
+            "sha256": "3bf0e20027096836b8dbce0152dbb785a269abeb621618eb4bdd275ff1e23c9c"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/79/75/e22272b9c2185fc8f3af6ce37229708b45e8b855fd4bc38b4d6b040fff65/resampy-0.2.2.tar.gz",
-            "sha256": "62af020d8a6674d8117f62320ce9470437bb1d738a5d06cd55591b69b463929e"
+            "url": "https://files.pythonhosted.org/packages/62/d5/5f610ebe421e85889f2e55e33b7f9a6795bd982198517d912eb1c76e1a53/pycparser-2.21-py2.py3-none-any.whl",
+            "sha256": "8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/8d/64/8e1bfeda3ba0f267b2d9a918e8ca51db8652d0e1a3412a5b3dbce85d90b6/pooch-1.6.0-py3-none-any.whl",
-            "sha256": "3bf0e20027096836b8dbce0152dbb785a269abeb621618eb4bdd275ff1e23c9c"
+            "url": "https://files.pythonhosted.org/packages/6c/10/a7d0fa5baea8fe7b50f448ab742f26f52b80bfca85ac2be9d35cdd9a3246/pyparsing-3.0.9-py3-none-any.whl",
+            "sha256": "5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/05/8e/8de486cbd03baba4deef4142bd643a3e7bbe954a784dc1bb17142572d127/packaging-21.3-py3-none-any.whl",
-            "sha256": "ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"
+            "url": "https://files.pythonhosted.org/packages/ca/91/6d9b8ccacd0412c08820f72cebaa4f0c0441b5cda699c90f618b6f8a1b42/requests-2.28.1-py3-none-any.whl",
+            "sha256": "8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/f8/cc/038b8277fe977ae1f18d11660386af6093547d6c0bd9a9fadbed4795091a/numpy-1.21.5-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
-            "sha256": "c293d3c0321996cd8ffe84215ffe5d269fd9d1d12c6f4ffe2b597a7c30d3e593"
+            "url": "https://files.pythonhosted.org/packages/f2/d3/5209fd2132452f199b1ddf0d084f9fd5f5f910840e3b282f005b48a503e1/resampy-0.4.2-py3-none-any.whl",
+            "sha256": "4340b6c4e685a865621dfcf016e2a3dd49d865446b6025e30fe88567f22e052e"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/f9/01/195ca1c808297e98458a946a357bf457e91d4fd92847fba0bedba1d171e1/numba-0.55.1-1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
-            "sha256": "230e542649c7087454bc851d2e22b5e15694b6cf0549a27234d1baea6c2e0a87"
+            "url": "https://files.pythonhosted.org/packages/23/b6/5d339516e3fbb6cde8ad87e85d9f17a3270c9e508c860785f0b6239ea33a/scikit_learn-1.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
+            "sha256": "701181792a28c82fecae12adb5d15d0ecf57bffab7cf4bdbb52c7b3fd428d540"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/3e/d5/0163eb0cfa0b673aa4fe1cd3ea9d8a81ea0f32e50807b0c295871e4aab2e/joblib-1.1.0-py2.py3-none-any.whl",
-            "sha256": "f21f109b3c7ff9d95f8387f752d0d9c34a02aa2f7060c2135f465da0e5160ff6"
+            "url": "https://files.pythonhosted.org/packages/59/0b/8a9acfc5c36bbf6e18d02f3a08db5b83bebba510be2df3230f53852c74a4/scipy-1.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
+            "sha256": "d01e1dd7b15bd2449c8bfc6b7cc67d630700ed655654f0dfcf121600bad205c9"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/d5/50/83c593b07763e1161326b3b8c6686f0f4b0f24d5526546bee538c89837d6/decorator-5.1.1-py3-none-any.whl",
-            "sha256": "b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"
+            "url": "https://files.pythonhosted.org/packages/e3/ba/42a4370e4fb84fd8956dabf115a0b7f0f3071400a52554526fe5fd32f275/soundfile-0.11.0-py2.py3-none-any.whl",
+            "sha256": "f4e4f832b1958403fb9726eeea54e0ebf1c7fc2599ff296a7ab1ac062f8048c9"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/b3/d1/e324634c5867a668774d6fe233a83228da4ba16521e19059c15df899737d/audioread-2.1.9.tar.gz",
-            "sha256": "a3480e42056c8e80a8192a54f6729a280ef66d27782ee11cbd63e9d4d1523089"
+            "url": "https://files.pythonhosted.org/packages/61/cf/6e354304bcb9c6413c4e02a747b600061c21d38ba51e7e544ac7bc66aecc/threadpoolctl-3.1.0-py3-none-any.whl",
+            "sha256": "8b99adda265feb6773280df41eece7b2e6561b772d21ffd52e372f999024907b"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/5b/da/bd63187b2ca1b97c04c270df90c934a97cbe512c8238ab65c89c1b043ae2/librosa-0.9.1-py3-none-any.whl",
-            "sha256": "c2bb61a8008367cca89a3f1dad352d8e55fe5ca5f7414fb5d5258eb52765db33"
+            "url": "https://files.pythonhosted.org/packages/6f/de/5be2e3eed8426f871b170663333a0f627fc2924cc386cd41be065e7ea870/urllib3-1.26.12-py2.py3-none-any.whl",
+            "sha256": "b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"
         }
     ]
 }
diff --git a/build/flatpak/python3-matplotlib.json b/build/flatpak/python3-matplotlib.json
index a03fcc0..df29075 100644
--- a/build/flatpak/python3-matplotlib.json
+++ b/build/flatpak/python3-matplotlib.json
@@ -7,48 +7,53 @@
     "sources": [
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/36/7a/87837f39d0296e723bb9b62bbb257d0355c7f6128853c78955f57342a56d/python_dateutil-2.8.2-py2.py3-none-any.whl",
-            "sha256": "961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"
+            "url": "https://files.pythonhosted.org/packages/d6/be/996d629efd03aa305472a17183fcdfe2dd8529acea767d0ba2242d90cbfa/Pillow-9.3.0-cp310-cp310-manylinux_2_28_x86_64.whl",
+            "sha256": "801ec82e4188e935c7f5e22e006d01611d6b41661bba9fe45b60e7ac1a8f84de"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/80/c1/23fd82ad3121656b585351aba6c19761926bb0db2ebed9e4ff09a43a3fcc/pyparsing-3.0.7-py3-none-any.whl",
-            "sha256": "a6c06a88f252e6c322f65faf8f418b16213b51bdfaece0524c1c1bc30c63c484"
+            "url": "https://files.pythonhosted.org/packages/1c/11/0c1e2179d085dae1392de1c7ee4ad47dd5537b1bd16c31411dee03f2cbf5/contourpy-1.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
+            "sha256": "1c0e1308307a75e07d1f1b5f0f56b5af84538a5e9027109a7bcf6cb47c434e72"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/15/37/45ad6041473ebb803d0bb265cf7e749c4838dc48c3335a03e63d6aad07d8/Pillow-9.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
-            "sha256": "82283af99c1c3a5ba1da44c67296d5aad19f11c535b551a5ae55328a317ce331"
+            "url": "https://files.pythonhosted.org/packages/5c/f9/695d6bedebd747e5eb0fe8fad57b72fdf25411273a39791cde838d5a8f51/cycler-0.11.0-py3-none-any.whl",
+            "sha256": "3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/05/8e/8de486cbd03baba4deef4142bd643a3e7bbe954a784dc1bb17142572d127/packaging-21.3-py3-none-any.whl",
-            "sha256": "ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"
+            "url": "https://files.pythonhosted.org/packages/e3/d9/e9bae85e84737e76ebbcbea13607236da0c0699baed0ae4f1151b728a608/fonttools-4.38.0-py3-none-any.whl",
+            "sha256": "820466f43c8be8c3009aef8b87e785014133508f0de64ec469e4efb643ae54fb"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/25/2f/811ad95effd790cd13cdea494e1cd7520ebc3bf049c3e88c3ca4ba8175c5/numpy-1.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
-            "sha256": "97098b95aa4e418529099c26558eeb8486e66bd1e53a6b606d684d0c3616b168"
+            "url": "https://files.pythonhosted.org/packages/79/0f/5cc4ca3df66c49817944b9a1c7343ba70aefffc868ddf651d7839cc5dffd/kiwisolver-1.4.4-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
+            "sha256": "7577c1987baa3adc4b3c62c33bd1118c3ef5c8ddef36f0f2c950ae0b199e100d"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/f6/13/2a187e2280251f5c035da46e1706d4c8bd6ccc9f34e88c298cffbc5ba793/kiwisolver-1.4.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
-            "sha256": "89b57c2984f4464840e4b768affeff6b6809c6150d1166938ade3e22fbe22db8"
+            "url": "https://files.pythonhosted.org/packages/83/71/5ff2ef1ddb8e12cf50b741d68de649731684779ab9cc7f5d15bbf335481a/matplotlib-3.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
+            "sha256": "9347cc6822f38db2b1d1ce992f375289670e595a2d1c15961aacbe0977407dfc"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/b0/5c/5dd502b0e2e0cb2980fc4ed17e970089003e377115abf79b1918097f4996/fonttools-4.31.2-py3-none-any.whl",
-            "sha256": "2df636a3f402ef14593c6811dac0609563b8c374bd7850e76919eb51ea205426"
+            "url": "https://files.pythonhosted.org/packages/0c/83/78ae18fffc185d0d57097610d5a97473ef11dbdca95f16739ee96b158087/numpy-1.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
+            "sha256": "a8365b942f9c1a7d0f0dc974747d99dd0a0cdfc5949a33119caf05cb314682d3"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/5c/f9/695d6bedebd747e5eb0fe8fad57b72fdf25411273a39791cde838d5a8f51/cycler-0.11.0-py3-none-any.whl",
-            "sha256": "3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3"
+            "url": "https://files.pythonhosted.org/packages/05/8e/8de486cbd03baba4deef4142bd643a3e7bbe954a784dc1bb17142572d127/packaging-21.3-py3-none-any.whl",
+            "sha256": "ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/6a/52/703f568256a3e614a448503a698557d7832b7893fd63d3f7c2ebb54cd6e2/matplotlib-3.5.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
-            "sha256": "87900c67c0f1728e6db17c6809ec05c025c6624dcf96a8020326ea15378fe8e7"
+            "url": "https://files.pythonhosted.org/packages/6c/10/a7d0fa5baea8fe7b50f448ab742f26f52b80bfca85ac2be9d35cdd9a3246/pyparsing-3.0.9-py3-none-any.whl",
+            "sha256": "5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"
+        },
+        {
+            "type": "file",
+            "url": "https://files.pythonhosted.org/packages/36/7a/87837f39d0296e723bb9b62bbb257d0355c7f6128853c78955f57342a56d/python_dateutil-2.8.2-py2.py3-none-any.whl",
+            "sha256": "961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"
         }
     ]
 }
diff --git a/build/flatpak/python3-nose2.json b/build/flatpak/python3-nose2.json
deleted file mode 100644
index 522662e..0000000
--- a/build/flatpak/python3-nose2.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-    "name": "python3-nose2",
-    "buildsystem": "simple",
-    "build-commands": [
-        "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"nose2\" --no-build-isolation"
-    ],
-    "sources": [
-        {
-            "type": "file",
-            "url": "https://files.pythonhosted.org/packages/60/a8/0f951285dff76cbedbbba89c1969586020150a3b53267b5d8674b2ead15a/coverage-6.3.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
-            "sha256": "dd6fe30bd519694b356cbfcaca9bd5c1737cddd20778c6a581ae20dc8c04def2"
-        },
-        {
-            "type": "file",
-            "url": "https://files.pythonhosted.org/packages/f5/5c/18e2e45551825d5402012979d8ccc518f3c978bc8f194018500705d5a6ee/nose2-0.11.0-py2.py3-none-any.whl",
-            "sha256": "d37e75e3010bb4739fe6045a29d4c633ac3146cb5704ee4e4a9e4abeceb2dee3"
-        }
-    ]
-}
diff --git a/build/flatpak/python3-pre-commit.json b/build/flatpak/python3-pre-commit.json
index d8c7005..22a48ea 100644
--- a/build/flatpak/python3-pre-commit.json
+++ b/build/flatpak/python3-pre-commit.json
@@ -7,53 +7,53 @@
     "sources": [
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/de/de/d8b9da351517c3dece273224522d4714cfdb9a89e2e6f7f7f054a340cc2b/platformdirs-2.5.1-py3-none-any.whl",
-            "sha256": "bcae7cab893c2d310a711b70b24efb93334febe65f8de776ee320b517471e227"
+            "url": "https://files.pythonhosted.org/packages/02/25/6ba9f6bb50a3d4fbe22c1a02554dc670682a07c8701d1716d19ddea2c940/PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
+            "sha256": "f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/cd/f1/ba7dee3de0e9d3b8634d6fbaa5d0d407a7da64620305d147298b683e5c36/filelock-3.6.0-py3-none-any.whl",
-            "sha256": "f8314284bfffbdcfa0ff3d7992b023d4c628ced6feb957351d4c48d059f56bc0"
+            "url": "https://files.pythonhosted.org/packages/6d/82/0a0ebd35bae9981dea55c06f8e6aaf44a49171ad798795c72c6f64cba4c2/cfgv-3.3.1-py2.py3-none-any.whl",
+            "sha256": "c6a0883f3917a037485059700b9e75da2464e6c27051014ad85ba6aaa5884426"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/ac/a3/8ee4f54d5f12e16eeeda6b7df3dfdbda24e6cc572c86ff959a4ce110391b/distlib-0.3.4-py2.py3-none-any.whl",
-            "sha256": "6564fe0a8f51e734df6333d08b8b94d4ea8ee6b99b5ed50613f731fd4089f34b"
+            "url": "https://files.pythonhosted.org/packages/76/cb/6bbd2b10170ed991cf64e8c8b85e01f2fb38f95d1bc77617569e0b0b26ac/distlib-0.3.6-py2.py3-none-any.whl",
+            "sha256": "f35c4b692542ca110de7ef0bea44d73981caeb34ca0b9b6b2e6d7790dda8f80e"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl",
-            "sha256": "806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"
+            "url": "https://files.pythonhosted.org/packages/94/b3/ff2845971788613e646e667043fdb5f128e2e540aefa09a3c55be8290d6d/filelock-3.8.0-py3-none-any.whl",
+            "sha256": "617eb4e5eedc82fc5f47b6d61e4d11cb837c56cb4544e39081099fa17ad109d4"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/37/71/59f8e6d2673c6137139588df2bc2c326895637c2ae43e8777c02e99e2462/virtualenv-20.14.0-py2.py3-none-any.whl",
-            "sha256": "1e8588f35e8b42c6ec6841a13c5e88239de1e6e4e4cedfd3916b306dc826ec66"
+            "url": "https://files.pythonhosted.org/packages/1b/66/c826b47a47d805f09092b8f5a4dd241aebc50bb3b190b9e2e3d44e3f6f55/identify-2.5.8-py2.py3-none-any.whl",
+            "sha256": "48b7925fe122720088aeb7a6c34f17b27e706b72c61070f27fe3789094233440"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/12/fc/a4d5a7554e0067677823f7265cb3ae22aed8a238560b5133b58cda252dad/PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
-            "sha256": "40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"
+            "url": "https://files.pythonhosted.org/packages/96/a8/d3b5baead78adadacb99e7281b3e842126da825cf53df61688cfc8b8ff91/nodeenv-1.7.0-py2.py3-none-any.whl",
+            "sha256": "27083a7b96a25f2f5e1d8cb4b6317ee8aeda3bdd121394e5ac54e498028a042e"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/54/73/56c89b343befb9c63e8117294d265458f0ff726fa2abcdc6bb5ec5e66a1a/nodeenv-1.6.0-py2.py3-none-any.whl",
-            "sha256": "621e6b7076565ddcacd2db0294c0381e01fd28945ab36bcf00f41c5daf63bef7"
+            "url": "https://files.pythonhosted.org/packages/2b/65/6750814157aba2e560993260d0a5a802536b3bf64bad7e54afc4334eddcc/platformdirs-2.5.3-py3-none-any.whl",
+            "sha256": "0cb405749187a194f444c25c82ef7225232f11564721eabffc6ec70df83b11cb"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/0c/4a/672fcebfc65877936f5a6eb1ded5a57e958a64e709500f79c2211397f7ab/identify-2.4.12-py2.py3-none-any.whl",
-            "sha256": "5f06b14366bd1facb88b00540a1de05b69b310cbc2654db3c7e07fa3a4339323"
+            "url": "https://files.pythonhosted.org/packages/b2/6c/9ccb5213a3d9fd3f8c0fd69d207951901eaef86b7a1a69bcc478364d3072/pre_commit-2.20.0-py2.py3-none-any.whl",
+            "sha256": "51a5ba7c480ae8072ecdb6933df22d2f812dc897d5fe848778116129a681aac7"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/6d/82/0a0ebd35bae9981dea55c06f8e6aaf44a49171ad798795c72c6f64cba4c2/cfgv-3.3.1-py2.py3-none-any.whl",
-            "sha256": "c6a0883f3917a037485059700b9e75da2464e6c27051014ad85ba6aaa5884426"
+            "url": "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl",
+            "sha256": "806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"
         },
         {
             "type": "file",
-            "url": "https://files.pythonhosted.org/packages/33/80/e95ffa9ec9649979d177229eaea8169ac9d3b32508fcb274630214d2287a/pre_commit-2.18.1-py2.py3-none-any.whl",
-            "sha256": "02226e69564ebca1a070bd1f046af866aa1c318dbc430027c50ab832ed2b73f2"
+            "url": "https://files.pythonhosted.org/packages/ef/e0/1295d8a0b34f71a81fdf0f09c1ef658ae6d611240829c3c39fb2b6b80967/virtualenv-20.16.6-py3-none-any.whl",
+            "sha256": "186ca84254abcbde98180fd17092f9628c5fe742273c02724972a1d8a2035108"
         }
     ]
 }
diff --git a/build/flatpak/python3-pylint.json b/build/flatpak/python3-pylint.json
index ea4ed2d..254552b 100644
--- a/build/flatpak/python3-pylint.json
+++ b/build/flatpak/python3-pylint.json
@@ -1,64 +1,95 @@
 {
     "name": "python3-pylint",
     "buildsystem": "simple",
-    "build-commands": [
-        "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pylint\" --no-build-isolation"
-    ],
-    "sources": [
+    "build-commands": [],
+    "modules": [
         {
-            "type": "file",
-            "url": "https://files.pythonhosted.org/packages/0c/3c/548d361162702df85a0301f0cd0c47d05176b20bb086077a0fda740daf41/setuptools-62.0.0-py3-none-any.whl",
-            "sha256": "a65e3802053e99fc64c6b3b29c11132943d5b8c8facbcc461157511546510967"
+            "name": "python3-setuptools-scm",
+            "buildsystem": "simple",
+            "build-commands": [
+                "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"setuptools-scm\" --no-build-isolation"
+            ],
+            "sources": [
+                {
+                    "type": "file",
+                    "url": "https://files.pythonhosted.org/packages/05/8e/8de486cbd03baba4deef4142bd643a3e7bbe954a784dc1bb17142572d127/packaging-21.3-py3-none-any.whl",
+                    "sha256": "ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"
+                },
+                {
+                    "type": "file",
+                    "url": "https://files.pythonhosted.org/packages/6c/10/a7d0fa5baea8fe7b50f448ab742f26f52b80bfca85ac2be9d35cdd9a3246/pyparsing-3.0.9-py3-none-any.whl",
+                    "sha256": "5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"
+                },
+                {
+                    "type": "file",
+                    "url": "https://files.pythonhosted.org/packages/01/ed/75a20e7b075e8ecb1f84e8debf833917905d8790b78008915bd68dddd5c4/setuptools_scm-7.0.5-py3-none-any.whl",
+                    "sha256": "7930f720905e03ccd1e1d821db521bff7ec2ac9cf0ceb6552dd73d24a45d3b02"
+                },
+                {
+                    "type": "file",
+                    "url": "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl",
+                    "sha256": "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"
+                },
+                {
+                    "type": "file",
+                    "url": "https://files.pythonhosted.org/packages/0b/8e/f1a0a5a76cfef77e1eb6004cb49e5f8d72634da638420b9ea492ce8305e8/typing_extensions-4.4.0-py3-none-any.whl",
+                    "sha256": "16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"
+                }
+            ]
         },
         {
-            "type": "file",
-            "url": "https://files.pythonhosted.org/packages/ed/03/45e3f6b6e6385c119177cd6bac1291bf86ab77ed321df16b98a0440b5f9f/wrapt-1.14.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
-            "sha256": "00108411e0f34c52ce16f81f1d308a571df7784932cc7491d1e94be2ee93374b"
-        },
-        {
-            "type": "file",
-            "url": "https://files.pythonhosted.org/packages/69/b8/b97b53de2c3f62cecf8f79ae64f209714034cb888a3b76a0c8fc10728161/lazy_object_proxy-1.7.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
-            "sha256": "7096a5e0c1115ec82641afbdd70451a144558ea5cf564a896294e346eb611be1"
-        },
-        {
-            "type": "file",
-            "url": "https://files.pythonhosted.org/packages/45/6b/44f7f8f1e110027cf88956b59f2fad776cca7e1704396d043f89effd3a0e/typing_extensions-4.1.1-py3-none-any.whl",
-            "sha256": "21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2"
-        },
-        {
-            "type": "file",
-            "url": "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl",
-            "sha256": "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"
-        },
-        {
-            "type": "file",
-            "url": "https://files.pythonhosted.org/packages/de/de/d8b9da351517c3dece273224522d4714cfdb9a89e2e6f7f7f054a340cc2b/platformdirs-2.5.1-py3-none-any.whl",
-            "sha256": "bcae7cab893c2d310a711b70b24efb93334febe65f8de776ee320b517471e227"
-        },
-        {
-            "type": "file",
-            "url": "https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl",
-            "sha256": "6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"
-        },
-        {
-            "type": "file",
-            "url": "https://files.pythonhosted.org/packages/b8/5b/f18e227df38b94b4ee30d2502fd531bebac23946a2497e5595067a561274/isort-5.10.1-py3-none-any.whl",
-            "sha256": "6f62d78e2f89b4500b080fe3a81690850cd254227f27f75c3a0c491a1f351ba7"
-        },
-        {
-            "type": "file",
-            "url": "https://files.pythonhosted.org/packages/b6/c3/973676ceb86b60835bb3978c6db67a5dc06be6cfdbd14ef0f5a13e3fc9fd/dill-0.3.4-py2.py3-none-any.whl",
-            "sha256": "7e40e4a70304fd9ceab3535d36e58791d9c4a776b38ec7f7ec9afc8d3dca4d4f"
-        },
-        {
-            "type": "file",
-            "url": "https://files.pythonhosted.org/packages/4f/5c/42befbb2d6eafa25bf1dcbc50dbae2e8482745eaa99cd83fc45b83ae4b07/astroid-2.11.2-py3-none-any.whl",
-            "sha256": "cc8cc0d2d916c42d0a7c476c57550a4557a083081976bf42a73414322a6411d9"
-        },
-        {
-            "type": "file",
-            "url": "https://files.pythonhosted.org/packages/9f/53/e1d8da0d381e4a303cc812238e733073abdd9099525c42cb100b20faf8b9/pylint-2.13.5-py3-none-any.whl",
-            "sha256": "c149694cfdeaee1aa2465e6eaab84c87a881a7d55e6e93e09466be7164764d1e"
+            "name": "python3-pylint",
+            "buildsystem": "simple",
+            "build-commands": [
+                "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pylint<=2.13.5\" --no-build-isolation"
+            ],
+            "sources": [
+                {
+                    "type": "file",
+                    "url": "https://files.pythonhosted.org/packages/e4/3b/f1aa1bd41e8188b3a3605d71b699b73695fc7ac862cbed23ed9dee707251/astroid-2.11.7-py3-none-any.whl",
+                    "sha256": "86b0a340a512c65abf4368b80252754cda17c02cdbbd3f587dddf98112233e7b"
+                },
+                {
+                    "type": "file",
+                    "url": "https://files.pythonhosted.org/packages/be/e3/a84bf2e561beed15813080d693b4b27573262433fced9c1d1fea59e60553/dill-0.3.6-py3-none-any.whl",
+                    "sha256": "a07ffd2351b8c678dfc4a856a3005f8067aea51d6ba6c700796a4d9e280f39f0"
+                },
+                {
+                    "type": "file",
+                    "url": "https://files.pythonhosted.org/packages/b8/5b/f18e227df38b94b4ee30d2502fd531bebac23946a2497e5595067a561274/isort-5.10.1-py3-none-any.whl",
+                    "sha256": "6f62d78e2f89b4500b080fe3a81690850cd254227f27f75c3a0c491a1f351ba7"
+                },
+                {
+                    "type": "file",
+                    "url": "https://files.pythonhosted.org/packages/74/37/591f89e8a09ae4574391bdf8a5eecd34a3dbe545917333e625c9de9a66b0/lazy-object-proxy-1.8.0.tar.gz",
+                    "sha256": "c219a00245af0f6fa4e95901ed28044544f50152840c5b6a3e7b2568db34d156"
+                },
+                {
+                    "type": "file",
+                    "url": "https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl",
+                    "sha256": "6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"
+                },
+                {
+                    "type": "file",
+                    "url": "https://files.pythonhosted.org/packages/61/e0/15ba41c6716acb033c3793be3a02f26c53914ecd9bdd6b315001f8f5f581/platformdirs-2.5.4-py3-none-any.whl",
+                    "sha256": "af0276409f9a02373d540bf8480021a048711d572745aef4b7842dad245eba10"
+                },
+                {
+                    "type": "file",
+                    "url": "https://files.pythonhosted.org/packages/9f/53/e1d8da0d381e4a303cc812238e733073abdd9099525c42cb100b20faf8b9/pylint-2.13.5-py3-none-any.whl",
+                    "sha256": "c149694cfdeaee1aa2465e6eaab84c87a881a7d55e6e93e09466be7164764d1e"
+                },
+                {
+                    "type": "file",
+                    "url": "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl",
+                    "sha256": "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"
+                },
+                {
+                    "type": "file",
+                    "url": "https://files.pythonhosted.org/packages/fd/70/8a133c88a394394dd57159083b86a564247399440b63f2da0ad727593570/wrapt-1.14.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
+                    "sha256": "257fd78c513e0fb5cdbe058c27a0624c9884e735bbd131935fd49e9fe719d310"
+                }
+            ]
         }
     ]
 }
diff --git a/data/org.pitivi.Pitivi.appdata.xml.in b/data/org.pitivi.Pitivi.appdata.xml.in
index 74d00fe..eb2fb10 100644
--- a/data/org.pitivi.Pitivi.appdata.xml.in
+++ b/data/org.pitivi.Pitivi.appdata.xml.in
@@ -41,7 +41,23 @@
   <developer_name>The Pitivi Team</developer_name>
 
   <releases>
-    <release version="2022.06" date="2021-06-25">
+    <release version="2023.03" date="2023-03-26">
+      <description>
+        <p>This release adds the following features:</p>
+        <ul>
+          <li>
+            Resurrect the autoaligner which allows aligning two or more clips
+            based on their audio, at the click of a button.
+          </li>
+          <li>More precise audio waveforms, when you look at them.</li>
+          <li>
+            Seek automatically to the start of the timeline when starting
+            playback and the playhead is at the end, saving you a click.
+          </li>
+        </ul>
+      </description>
+    </release>
+    <release version="2022.06" date="2022-06-25">
       <description>
         <p>This release adds the following features:</p>
         <ul>
diff --git a/data/ui/timelinetoolbar.ui b/data/ui/timelinetoolbar.ui
index c887dc2..d5bfe99 100644
--- a/data/ui/timelinetoolbar.ui
+++ b/data/ui/timelinetoolbar.ui
@@ -119,8 +119,7 @@
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="tooltip_text" translatable="yes">Align clips based on their soundtracks</property>
-        <property name="visible_horizontal">False</property>
-        <property name="visible_vertical">False</property>
+        <property name="action_name">timeline.align-clips</property>
         <property name="label" translatable="yes">Align</property>
         <property name="use_underline">True</property>
         <property name="icon_name">stopwatch-symbolic</property>
diff --git a/debian/changelog b/debian/changelog
index 8920de3..1c1a81d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+pitivi (2023.03-1) UNRELEASED; urgency=low
+
+  * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Mon, 17 Apr 2023 12:13:39 -0000
+
 pitivi (2022.06-1) unstable; urgency=medium
 
   * New upstream release.
diff --git a/debian/patches/0002-Reproducible-build.patch b/debian/patches/0002-Reproducible-build.patch
index 1182028..aa05cc2 100644
--- a/debian/patches/0002-Reproducible-build.patch
+++ b/debian/patches/0002-Reproducible-build.patch
@@ -2,10 +2,10 @@ Description: Make the build reproducible
 Author: Chris Lamb <lamby@debian.org>
 Last-Update: 2020-10-12
 
-Index: pitivi/bin/pitivi.in
+Index: pitivi.git/bin/pitivi.in
 ===================================================================
---- pitivi.orig/bin/pitivi.in
-+++ pitivi/bin/pitivi.in
+--- pitivi.git.orig/bin/pitivi.in
++++ pitivi.git/bin/pitivi.in
 @@ -35,7 +35,7 @@ CONFIGURED_GST_PLUGIN_PATH = '@CONFIGURE
  CONFIGURED_GST_PLUGIN_SYSTEM_PATH = '@CONFIGURED_GST_PLUGIN_SYSTEM_PATH@'
  LIBDIR = '@LIBDIR@'
@@ -24,10 +24,10 @@ Index: pitivi/bin/pitivi.in
          root = os.path.split(dir)[0]
          sys.path.append(BUILDDIR)
      else:
-Index: pitivi/pitivi/configure.py.in
+Index: pitivi.git/pitivi/configure.py.in
 ===================================================================
---- pitivi.orig/pitivi/configure.py.in
-+++ pitivi/pitivi/configure.py.in
+--- pitivi.git.orig/pitivi/configure.py.in
++++ pitivi.git/pitivi/configure.py.in
 @@ -41,7 +41,7 @@ APPNAME = '@PACKAGE_NAME@'
  APPURL = 'https://www.pitivi.org/'
  RELEASES_URL = 'https://www.pitivi.org/releases.txt'
@@ -37,10 +37,10 @@ Index: pitivi/pitivi/configure.py.in
  
  
  if in_devel():
-Index: pitivi/tests/__init__.py
+Index: pitivi.git/tests/__init__.py
 ===================================================================
---- pitivi.orig/tests/__init__.py
-+++ pitivi/tests/__init__.py
+--- pitivi.git.orig/tests/__init__.py
++++ pitivi.git/tests/__init__.py
 @@ -54,7 +54,8 @@ def setup():
          gi.overrides.__path__.insert(0, flatpak_gst_python_path)
  
diff --git a/docs/Bug_reporting.md b/docs/Bug_reporting.md
index 62e05c2..567585e 100644
--- a/docs/Bug_reporting.md
+++ b/docs/Bug_reporting.md
@@ -106,10 +106,10 @@ gdb python3 -ex "run $PITIVI_REPO_DIR/bin/pitivi"
 1. Install the GNOME SDK and its Debug symbols and update them:
 
 ```
-flatpak --user install flathub org.gnome.Sdk/x86_64/42
-flatpak --user install flathub org.gnome.Sdk.Debug/x86_64/42
-flatpak --user update          org.gnome.Sdk/x86_64/42
-flatpak --user update          org.gnome.Sdk.Debug/x86_64/42
+flatpak --user install flathub org.gnome.Sdk/x86_64/43
+flatpak --user install flathub org.gnome.Sdk.Debug/x86_64/43
+flatpak --user update          org.gnome.Sdk/x86_64/43
+flatpak --user update          org.gnome.Sdk.Debug/x86_64/43
 ```
 
 2. Start a shell in the Pitivi flatpak sandbox:
diff --git a/docs/GSoC_Ideas.md b/docs/GSoC_Ideas.md
index 26f614b..1452c8b 100644
--- a/docs/GSoC_Ideas.md
+++ b/docs/GSoC_Ideas.md
@@ -36,19 +36,6 @@ Deadlines for applying are approaching fast, hurry up!
   [GSoC application template]: GSoC_Application.md
 
 
-## Cut perspective
-
-The most tedious process of video editing is the initial cutting and structuring
-of the global timeline. A new perspective similar to the
-[EditorPerspective](https://gitlab.gnome.org/GNOME/pitivi/blob/master/pitivi/editorperspective.py)
-will offer a [second timeline
-representation](https://gitlab.gnome.org/GNOME/pitivi/issues/2381) above the
-timeline, that is always zoom-fitted.
-
-**Requirements**: Python. Minimal experience contributing to Pitivi including
-unit tests.
-
-
 ## Timeline enhancements
 
 Fixing timeline issues and making small enhancements would improve a lot the
@@ -59,18 +46,6 @@ timeline usability, making it a delight to use Pitivi. See
 unit tests.
 
 
-## Focus on the music
-
-Often people want to pick a nice tune and then sync their weekend clips on it.
-To make this easy, Pitivi can detect the beats using a 3rd party library such as
-[librosa](https://librosa.org/) and allow aligning and cutting the clips to the
-beat. It might sound easy, but the entire experience should be super-polished so
-it works nice and everybody can do it.
-
-**Requirements**: Python, C. Minimal experience contributing to Pitivi including
-unit tests.
-
-
 ## Closing credits
 
 For [end credits](https://en.wikipedia.org/wiki/Closing_credits) and other
diff --git a/docs/HACKING.md b/docs/HACKING.md
index bc67b46..196490d 100644
--- a/docs/HACKING.md
+++ b/docs/HACKING.md
@@ -120,7 +120,7 @@ to be done only once:
 (ptv-flatpak) $ cd pitivi-dev/gst-editing-services
 (ptv-flatpak) $ setup
 Using Pitivi prefix in /.../pitivi-dev/pitivi-prefix
-Running in sandbox: meson mesonbuild/ --prefix=/app --libdir=lib -Ddisable_gtkdoc=true -Ddisable_doc=true
+Running in sandbox: meson mesonbuild/ --prefix=/app --libdir=lib
 ```
 
 Build and install it in the sandbox:
diff --git a/docs/How_to_update_sandbox.md b/docs/How_to_update_sandbox.md
index a6bc971..8bbe21b 100644
--- a/docs/How_to_update_sandbox.md
+++ b/docs/How_to_update_sandbox.md
@@ -20,7 +20,7 @@ To update the flatpak runtime version, look in `org.pitivi.Pitivi.json` for the
 current version:
 
 ```
-    "runtime-version": "42",
+    "runtime-version": "43",
 ```
 
 Check out what is the latest flatpak runtime version. For example:
@@ -28,8 +28,8 @@ Check out what is the latest flatpak runtime version. For example:
 ```
 $ flatpak remote-ls flathub --system | grep org.gnome.Platform
 GNOME Application Platform version 3.38	org.gnome.Platform		3.38
-GNOME Application Platform version 41	org.gnome.Platform		41
 GNOME Application Platform version 42	org.gnome.Platform		42
+GNOME Application Platform version 43	org.gnome.Platform		43
 ```
 
 Check out in the git history how we updated the runtime version in the past and
@@ -47,9 +47,27 @@ $ flatpak run --filesystem=$HOME/dev/pitivi/pitivi org.flathub.flatpak-external-
 
 Others have to be checked and updated manually.
 
-Most of the [Python dependencies](Updating_Python_dependencies.md) can be
-updated with `flatpak-pip-generator`.
+## Check the Python version
+
+Check the Python version in the sandbox. Last time it was:
+
+```
+$ flatpak run --user --command=bash --devel org.gnome.Sdk/x86_64/43
+[📦 org.gnome.Sdk ~]$ python --version
+Python 3.10
+```
+
+When the Python version changes, update the `/app/lib/python3.10` occurrences
+in the [flatpak
+manifest](https://gitlab.gnome.org/GNOME/pitivi/blob/master/build/flatpak/org.pitivi.Pitivi.json)
+and also update the [Python dependencies](Updating_Python_dependencies.md).
 
+When updating pylint, make a separate commit to fix the issues it complains
+about:
+
+```
+(ptv-flatpak) $ ptvenv pre-commit run -a pylint
+```
 
 ## Sync with flathub
 
@@ -59,14 +77,6 @@ manifest](https://github.com/flathub/org.pitivi.Pitivi) need to be ported over.
 In particular, pay attention to the `shared-modules` git submodule to copy
 `libcanberra` into `build/flatpak`.
 
-## Check the Python version
-
-The "gst-python" module in the manifest specifies the "pygi-overrides-dir"
-parameter which contains a path which must target the correct Python version.
-
-Pay attention to update this path when the Python version changes.
-
-
 ## Rebuild your local dev env
 
 ```
diff --git a/docs/Install_with_flatpak.md b/docs/Install_with_flatpak.md
index ac44b43..27ca36e 100644
--- a/docs/Install_with_flatpak.md
+++ b/docs/Install_with_flatpak.md
@@ -40,7 +40,7 @@ Built daily out of the development branch.
 
 ```
 $ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
-$ flatpak install flathub org.gnome.Platform//42
+$ flatpak install flathub org.gnome.Platform//43
 $ flatpak install http://flatpak.pitivi.org/pitivi-master.flatpakref
 ```
 
diff --git a/docs/Past_GSoCs.md b/docs/Past_GSoCs.md
index 89a7455..2b70e69 100644
--- a/docs/Past_GSoCs.md
+++ b/docs/Past_GSoCs.md
@@ -4,8 +4,20 @@ short-description: What the GSoC students did in the previous years
 
 # Past GSoCs
 
-See [Google Summer of Code](Google_Summer_of_Code.md) for how to
-get involved.
+See [Google Summer of Code](Google_Summer_of_Code.md) for how to get involved.
+
+## 2021
+
+-   [Piotrek Brzeziński](https://thewildtree.github.io/) integrated
+    [librosa](https://librosa.org/) to allow [detecting music
+    beats](https://thewildtree.github.io/2021/08/22/gsoc-summary/). The beats
+    are displayed as markers on the clip. GES had to be extended so that clips
+    snap to these markers when dragged.
+-   [Pratyush Tiwari](https://unhired-coder.github.io/index.html) refactored the
+    timeline to be able to introduce, in addition to the zoomed-in timeline, a
+    second timeline which is always zoom-fitted. This allows [quick operations
+    across different regions of the
+    timeline](https://unhired-coder.github.io/project.html).
 
 ## 2020
 
@@ -26,7 +38,7 @@ get involved.
     A new UI perspective allows tracking objects and editing the tracked data.
     For now it's possible to [cover each tracked
     object](https://123vivekr.github.io/2020/08/29/pitivi-gsoc-work-product.html)
-    with a black rectangle.
+    with a colored rectangle.
 
 ## 2019
 
@@ -111,7 +123,7 @@ get involved.
 In addition, we also co-mentored Pēteris Krišjānis who worked on an
 audio waveform generation and display library for GStreamer (see his
 [post-summer
-report](http://pecisk.blogspot.ca/2012/11/state-of-libwaveform-after-gsoc.html)).
+report](https://pecisk.blogspot.com/2012/11/state-of-libwaveform-after-gsoc.html)).
 
 ## 2011
 
@@ -127,16 +139,15 @@ report](http://pecisk.blogspot.ca/2012/11/state-of-libwaveform-after-gsoc.html))
 
 -   [Thibault Saunier](https://blogs.gnome.org/tsaunier/) implemented
     with the core backend developers special effects. He also worked in
-    close collaboration with nekohayo for the user interface and
-    testing.
+    close collaboration with [Jeff](https://gitlab.gnome.org/jfft) on the user
+    interface and testing.
 
 ## 2008
 
 -   [Brandon Lewis](https://dotsony.blogspot.com/) worked on the [advanced
-    timeline](http://dotsony.blogspot.ch/search?updated-min=2008-01-01T00:00:00-08:00&updated-max=2009-01-01T00:00:00-08:00&max-results=41).
+    timeline](https://dotsony.blogspot.com/search?updated-min=2008-01-01T00:00:00-08:00&updated-max=2009-01-01T00:00:00-08:00&max-results=41).
 -   [Sarath Lakshman](http://www.sarathlakshman.com/about/) implemented
-    [webcam
-    capture](http://www.sarathlakshman.com/2008/09/28/pitivi-hacks).
+    [webcam capture](http://www.sarathlakshman.com/2008/09/28/pitivi-hacks).
 
 ## 2007
 
diff --git a/docs/Updating_Python_dependencies.md b/docs/Updating_Python_dependencies.md
index 67d2cc7..e6274bd 100644
--- a/docs/Updating_Python_dependencies.md
+++ b/docs/Updating_Python_dependencies.md
@@ -29,26 +29,25 @@ upstream makes it easier to use source packages we should switch.
 
 ```
 $ cd build/flatpak
-$ python3 flatpak-pip-generator --runtime org.gnome.Sdk/x86_64/42 librosa
-$ python3 flatpak-pip-generator --runtime org.gnome.Sdk/x86_64/42 matplotlib
+$ python3 flatpak-pip-generator --runtime org.gnome.Sdk/x86_64/43 librosa
+$ python3 flatpak-pip-generator --runtime org.gnome.Sdk/x86_64/43 matplotlib
 ```
 
 ## Updating the development tools
 
 ```
 $ cd build/flatpak
-$ python3 flatpak-pip-generator --runtime org.gnome.Sdk/x86_64/42 nose setuptools_git setuptools_pep8 sphinx hotdoc
+$ python3 flatpak-pip-generator --runtime org.gnome.Sdk/x86_64/43 nose setuptools_git setuptools_pep8 sphinx hotdoc
 $ mv python3-modules.json python3-hotdoc.json
-$ python3 flatpak-pip-generator --runtime org.gnome.Sdk/x86_64/42 ipdb
-$ python3 flatpak-pip-generator --runtime org.gnome.Sdk/x86_64/42 nose2
+$ python3 flatpak-pip-generator --runtime org.gnome.Sdk/x86_64/43 ipdb
 ```
 
 ## Updating the pre-commit framework
 
 ```
 $ cd build/flatpak
-$ python3 flatpak-pip-generator --runtime org.gnome.Sdk/x86_64/42 pre-commit
-$ python3 flatpak-pip-generator --runtime org.gnome.Sdk/x86_64/42 pylint
+$ python3 flatpak-pip-generator --runtime org.gnome.Sdk/x86_64/43 pre-commit
+$ python3 flatpak-pip-generator --runtime org.gnome.Sdk/x86_64/43 setuptools-scm 'pylint<=2.13.5'
 ```
 
 ## Updating your local sandbox
@@ -65,7 +64,7 @@ If errors happen, you can inspect the SDK by launching `bash` in a sandbox, for
 example:
 
 ```
-$ flatpak run --user --command=bash --devel org.gnome.Sdk/x86_64/42
-[📦 org.gnome.Sdk ~]$ python --version
-Python 3.8.6
+$ flatpak run --user --command=bash --devel org.gnome.Sdk/x86_64/43
+[📦 org.gnome.Sdk ~]$ which python3
+/usr/bin/python3
 ```
diff --git a/docs/release.md b/docs/release.md
index 38be010..b9e2e13 100644
--- a/docs/release.md
+++ b/docs/release.md
@@ -77,6 +77,7 @@ If there are new maintainers.
    Install it on a real system and give it a spin. For example on Archlinux:
    ```
    $ cd /tmp
+   $ asp update pitivi
    $ asp checkout pitivi
    $ cd /tmp/pitivi/repos/community-x86_64/
    $ cp .../pitivi-YYYY.MM.Z.tar.xz .
@@ -114,7 +115,7 @@ If there are new maintainers.
     * Send an [email](https://mail.gnome.org/archives/gnome-i18n/2017-September/msg00136.html) to gnome-i18n@gnome.org thanking translators.
     * [Archlinux](https://www.archlinux.org/packages/community/x86_64/pitivi/), click "Flag Package Out-of-Date".
     * [Debian](https://packages.debian.org/pitivi), click the "unstable" Debian version and look for "maintainer".
-    * [Fedora](https://apps.fedoraproject.org/packages/pitivi), look for Point of Contact.
+    * [Fedora](https://packages.fedoraproject.org/pkgs/pitivi/pitivi/), look for "You can contact the maintainers of this package via email at".
 
 9. Update the [releases.txt](https://www.pitivi.org/releases.txt) file for the
    app's update notification feature in
diff --git a/help/C/cheatsheet.page b/help/C/cheatsheet.page
index bac0290..1b9d819 100644
--- a/help/C/cheatsheet.page
+++ b/help/C/cheatsheet.page
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <page xmlns="http://projectmallard.org/1.0/" xmlns:e="http://projectmallard.org/experimental/" type="topic" id="cheatsheet">
   <info>
-    <link type="topic" xref="index"/>
+    <link type="seealso" xref="index"/>
     <link type="seealso" xref="movearoundtimeline"/>
     <revision pkgversion="0.96" version="0.2" date="2016-02-17" status="complete"/>
     <credit type="author">
diff --git a/help/C/figures/Pitivi.svg b/help/C/figures/Pitivi.svg
new file mode 100644
index 0000000..a9faa15
--- /dev/null
+++ b/help/C/figures/Pitivi.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.0"><defs><linearGradient id="a"><stop offset="0" stop-color="#d5d3cf"/><stop offset="1" stop-color="#f6f5f4"/></linearGradient><linearGradient id="b"><stop offset="0" stop-color="#d5d3cf"/><stop offset="1" stop-color="#949390"/></linearGradient><linearGradient id="c"><stop offset="0" stop-color="#9a9996"/><stop offset="1" stop-color="#77767b"/></linearGradient><clipPath clipPathUnits="userSpaceOnUse" id="e"><rect ry="0" rx="0" y="-40.445" x="64" height="32.222" width="448" style="marker:none" fill="#e4e6e8" stroke-width="24"/></clipPath><clipPath clipPathUnits="userSpaceOnUse" id="d"><path style="marker:none" d="M64-40.445h448v32.223H96c-15.592 0-32-17.02-32-32.223z" fill="#e4e6e8" stroke-width="24"/></clipPath></defs><g transform="translate(0 -172)"><rect width="112" height="82.03" x="8" y="205.97" rx="8" ry="8" fill="#422863"/><rect ry="8" rx="8" y="201.97" x="8" height="82.03" width="112" fill="#613583"/><g transform="translate(.019 .028)"><g transform="matrix(.25 0 0 -.25 -8.019 197.917)" clip-path="url(#d)"><rect style="marker:none" width="448" height="56.232" x="64" y="-48.454" rx="0" ry="0" fill="#f6f5f4"/><rect ry="0" rx="0" transform="scale(1 -1) rotate(-30)" y="-26.738" x="62.535" height="135.764" width="45.414" style="marker:none" fill="#241f31"/><rect style="marker:none" width="45.414" height="135.764" x="149.138" y="23.262" transform="scale(1 -1) rotate(-30)" rx="0" ry="0" fill="#241f31"/><rect ry="0" rx="0" transform="scale(1 -1) rotate(-30)" y="73.262" x="235.74" height="135.764" width="45.414" style="marker:none" fill="#241f31"/><rect style="marker:none" width="45.414" height="135.764" x="322.343" y="123.262" transform="scale(1 -1) rotate(-30)" rx="0" ry="0" fill="#241f31"/><rect ry="0" rx="0" transform="scale(1 -1) rotate(-30)" y="173.262" x="408.945" height="135.764" width="45.414" style="marker:none" fill="#241f31"/></g><g clip-path="url(#e)" transform="matrix(.25 0 0 .25 -8.019 218.083)"><rect ry="0" rx="0" y="-48.454" x="64" height="56.232" width="448" style="marker:none" fill="#fff"/><rect style="marker:none" width="45.414" height="135.764" x="62.535" y="-26.738" transform="scale(1 -1) rotate(-30)" rx="0" ry="0"/><rect ry="0" rx="0" transform="scale(1 -1) rotate(-30)" y="23.262" x="149.138" height="135.764" width="45.414" style="marker:none"/><rect style="marker:none" width="45.414" height="135.764" x="235.74" y="73.262" transform="scale(1 -1) rotate(-30)" rx="0" ry="0"/><rect ry="0" rx="0" transform="scale(1 -1) rotate(-30)" y="123.262" x="322.343" height="135.764" width="45.414" style="marker:none"/><rect style="marker:none" width="45.414" height="135.764" x="408.945" y="173.262" transform="scale(1 -1) rotate(-30)" rx="0" ry="0"/></g><path d="M7.981 205.306c0-2.668 2.745-5.334 5.334-5.334 0 0 10.666 10.59 10.666 10.667v5.333h-16z" fill="#c0bfbc"/><circle r="1.25" cy="213.249" cx="10.997" style="marker:none" fill="#241f31"/><circle style="marker:none" cx="10.997" cy="205.266" r="1.25" fill="#241f31"/><rect style="marker:none" width="112" height="2" x="7.981" y="215.972" rx="0" ry="0" fill="#77767b"/><path d="M119.981 215.972v2h-10l1.272-2zM99.346 215.972l-1.017 2H84.981l1.272-2zM74.224 215.972l-1.016 2H59.86l1.271-2zM49.224 215.972l-1.016 2H34.86l1.271-2zM24.363 215.972l-1.017 2H9.998l1.272-2z" fill="#3d3846"/><circle style="marker:none" cx="10.997" cy="212.943" r="1.25" fill="#f6f5f4"/><circle r="1.25" cy="204.961" cx="10.997" style="marker:none" fill="#f6f5f4"/><circle style="marker:none" cx="20.888" cy="213.222" r="1.25" fill="#241f31"/><circle r="1.25" cy="212.917" cx="20.888" style="marker:none" fill="#f6f5f4"/></g><g fill="#f6f5f4"><path style="marker:none" d="M26 244h76c1.062 0 2 .936 2 2H24c0-1.108.983-2 2-2z"/><path style="marker:none" d="M48 232v14h-2v-14zM82 232v14h-2v-14zM24 262h80c0 1.054-.913 2-2 2H26c-.985 0-2-1.03-2-2z"/></g></g></svg>
\ No newline at end of file
diff --git a/help/C/figures/logo.png b/help/C/figures/logo.png
deleted file mode 100644
index fa026b1..0000000
Binary files a/help/C/figures/logo.png and /dev/null differ
diff --git a/help/C/index.page b/help/C/index.page
index 0dff9ce..57677c2 100644
--- a/help/C/index.page
+++ b/help/C/index.page
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <page xmlns="http://projectmallard.org/1.0/" xmlns:e="http://projectmallard.org/experimental/" type="guide" id="index">
   <info>
+    <title type="link" role="trail">Pitivi Quick Start Manual</title>
     <title type="link">Pitivi Quick Start Manual</title>
     <title type="text">Pitivi Quick Start Manual</title>
     <revision pkgversion="0.14.0" version="0.2" date="2011-06-05" status="complete"/>
@@ -16,7 +17,8 @@
       <p>Creative Commons Share Alike 3.0</p>
     </license>
   </info>
-  <title><media type="image" mime="image/png" src="figures/logo.png">Pitivi logo</media>
+  <title>
+    <media type="image" width="48px" height="48px" src="figures/Pitivi.svg" />
     Pitivi Video Editor
   </title>
   <p>Built upon the <link href="http://en.wikipedia.org/wiki/GStreamer"><app>GStreamer</app></link> multimedia framework, <app>Pitivi</app> aims to be an intuitive and flexible video editor that integrates well with <link href="http://gnome.org"><app>GNOME</app></link> and can appeal to newbies and professionals alike.</p>
diff --git a/help/C/savescreenshot.page b/help/C/savescreenshot.page
index 2dee230..1b53722 100644
--- a/help/C/savescreenshot.page
+++ b/help/C/savescreenshot.page
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <page xmlns="http://projectmallard.org/1.0/" xmlns:e="http://projectmallard.org/experimental/" type="topic" id="savescreenshot">
   <info>
-    <link type="topic" xref="index"/>
+    <link type="guide" xref="index#timeline"/>
     <revision pkgversion="0.96" version="0.2" date="2016-02-17" status="complete"/>
     <credit type="author">
       <name>Jean-François Fortin Tam</name>
diff --git a/help/cs/cs.po b/help/cs/cs.po
index 9459511..9b1b090 100644
--- a/help/cs/cs.po
+++ b/help/cs/cs.po
@@ -2,25 +2,33 @@
 # Copyright (C) 2013 pitivi's COPYRIGHT HOLDER
 # This file is distributed under the same license as the pitivi package.
 # Marek Černocký <marek@manet.cz>, 2013, 2014, 2016, 2018, 2019, 2020.
+# Vojtěch Perník <translations@pervoj.cz>, 2022.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: pitivi\n"
-"POT-Creation-Date: 2020-09-17 20:13+0000\n"
-"PO-Revision-Date: 2020-10-15 11:33+0200\n"
-"Last-Translator: Marek Černocký <marek@manet.cz>\n"
-"Language-Team: čeština <gnome-cs-list@gnome.org>\n"
+"POT-Creation-Date: 2021-03-04 20:52+0000\n"
+"PO-Revision-Date: 2022-02-21 15:45+0100\n"
+"Last-Translator: Vojtěch Perník <translations@pervoj.cz>\n"
+"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
 "Language: cs\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: Gtranslator 2.91.7\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n"
+"X-Generator: Gtranslator 41.0\n"
+"X-DL-Team: cs\n"
+"X-DL-Module: pitivi\n"
+"X-DL-Branch: master\n"
+"X-DL-Domain: help\n"
+"X-DL-State: Translating\n"
 
 #. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
 msgctxt "_"
 msgid "translator-credits"
-msgstr "Marek Černocký <marek@manet.cz>"
+msgstr ""
+"Marek Černocký <marek@manet.cz>\n"
+"Vojtěch Perník <translations@pervoj.cz>"
 
 #. (itstool) path: credit/name
 #: C/about.page:7 C/cheatsheet.page:8 C/codecscontainers.page:7
@@ -809,9 +817,10 @@ msgstr ""
 "Díky tomu je může <app>Pitivi</app> překódovat do podporovaných formátů. "
 "Výsledkem překódování je samostatný soubor umístěný ve stejné složce jako "
 "originál. Automatické vytváření <em>optimalizovaných multimédií</em> se řídí "
-"pomocí zaškrtávacího políčka <gui>Optimalizovat</gui> ve spodní části <gui>"
-"dialogového okna pro výběr souboru</gui>. <em>Optimalizovaná multimédia</em> "
-"lze kdykoliv spravovat přes <link xref=\"medialibrary\">knihovnu multimédií</link>."
+"pomocí zaškrtávacího políčka <gui>Optimalizovat</gui> ve spodní části "
+"<gui>dialogového okna pro výběr souboru</gui>. <em>Optimalizovaná "
+"multimédia</em> lze kdykoliv spravovat přes <link xref=\"medialibrary"
+"\">knihovnu multimédií</link>."
 
 #. (itstool) path: note/p
 #: C/importing.page:48
@@ -821,10 +830,10 @@ msgid ""
 "optimal for video editing. This media is not supported as such and must be "
 "<em>optimized</em> for a smooth editing experience."
 msgstr ""
-"Většina současných kamer vytváří soubory <code>.mts</code> a <code>.m2ts"
-"</code>, které používají kontejner MPEG Transport Stream. Tento kontejner "
-"není úplně optimální pro úpravy videa. Proto tento typ multimédií není "
-"podporován a musí být pro možnost plynulé práce <em>optimlizován</em>."
+"Většina současných kamer vytváří soubory <code>.mts</code> a <code>.m2ts</"
+"code>, které používají kontejner MPEG Transport Stream. Tento kontejner není "
+"úplně optimální pro úpravy videa. Proto tento typ multimédií není podporován "
+"a musí být pro možnost plynulé práce <em>optimlizován</em>."
 
 #. (itstool) path: section/title
 #: C/importing.page:52
@@ -1112,8 +1121,14 @@ msgstr "Odstranit klíčový snímek tím, že na něj dvojitě kliknete."
 
 #. (itstool) path: item/p
 #: C/keyframecurves.page:63
-msgid "Adjust the time and value of a keyframe by moving it with the mouse."
-msgstr "Změnit čas a hodnotu klíčového snímku jeho přesunem pomocí myši."
+msgid ""
+"Adjust the time and value of a keyframe by moving it with the mouse. When "
+"moving the keyframe, hold down <key>Ctrl</key> to lock the keyframe "
+"horizontally or vertically."
+msgstr ""
+"Čas a hodnotu klíčového snímku upravíte jeho posunutím myší. Pokud chcete "
+"při přesouvání klíčového snímku snímek uzamknout horizontálně nebo "
+"vertikálně, podržte stisknutou klávesu <key>Ctrl</key>."
 
 #. (itstool) path: item/p
 #: C/keyframecurves.page:66
@@ -1261,10 +1276,10 @@ msgid ""
 "position higher in the layer order, click <guiseq><gui>Layer icon</"
 "gui><gui>Move layer up</gui></guiseq>."
 msgstr ""
-"Když chcete vrstvu posunout v pořadí vrstev úplně nahoru, klikněte na <guiseq>"
-"<gui>ikonu vrstvy</gui><gui>Přesunout vrstvu nahoru</gui></guiseq>. Pokud ji "
-"chcete posunout jen o jednu pozici výš, klikněte na <guiseq><gui>ikonu vrstvy"
-"</gui><gui>Přesunout vrstvu výš</gui></guiseq>."
+"Když chcete vrstvu posunout v pořadí vrstev úplně nahoru, klikněte na "
+"<guiseq><gui>ikonu vrstvy</gui><gui>Přesunout vrstvu nahoru</gui></guiseq>. "
+"Pokud ji chcete posunout jen o jednu pozici výš, klikněte na "
+"<guiseq><gui>ikonu vrstvy</gui><gui>Přesunout vrstvu výš</gui></guiseq>."
 
 #. (itstool) path: section/p
 #: C/layers.page:50
@@ -1274,10 +1289,10 @@ msgid ""
 "layer to the bottom of the layer order, click <guiseq><gui>Layer icon</"
 "gui><gui>Move layer to bottom</gui></guiseq>."
 msgstr ""
-"Když chcete vrstvu posunout v pořadí vrstev o pozici níž, klikněte na <guiseq>"
-"<gui>ikonu vrstvy</gui><gui>Přesunout vrstvu níž</gui></guiseq>. Pokud ji "
-"chcete posunout úplně dolů, klikněte na <guiseq><gui>ikonu vrstvy</gui><gui>"
-"Přesunout vrstvu dolů</gui></guiseq>."
+"Když chcete vrstvu posunout v pořadí vrstev o pozici níž, klikněte na "
+"<guiseq><gui>ikonu vrstvy</gui><gui>Přesunout vrstvu níž</gui></guiseq>. "
+"Pokud ji chcete posunout úplně dolů, klikněte na <guiseq><gui>ikonu vrstvy</"
+"gui><gui>Přesunout vrstvu dolů</gui></guiseq>."
 
 #. (itstool) path: section/title
 #: C/layers.page:53
@@ -2689,27 +2704,44 @@ msgstr "Seskupování a rušení seskupení klipů"
 
 #. (itstool) path: section/p
 #: C/selectiongrouping.page:57
+msgid "Pitivi allows you to combine"
+msgstr "Díky Pitivi můžete kombinovat:"
+
+#. (itstool) path: item/p
+#: C/selectiongrouping.page:59
+msgid "audio and video into clips, and"
+msgstr "audio a video do klipů"
+
+#. (itstool) path: item/p
+#: C/selectiongrouping.page:60
+#| msgid "Select multiple clips in the timeline."
+msgid "multiple clips into groups."
+msgstr "více klipů do skupin"
+
+#. (itstool) path: section/p
+#: C/selectiongrouping.page:62
 msgid ""
-"The grouping and ungrouping functions are useful when you want to add or "
-"separate audio tracks from video clips, or when you want to create a block "
-"of clips that you can select, edit and move all at once."
+"This means you can edit multiple pieces of media together, such as moving "
+"them along the timeline together. This section shows you how to group and "
+"ungroup audio and video tracks within clips, and also how to group and "
+"ungroup multiple clips together."
 msgstr ""
-"Funkce seskupování a rušení seskupení je užitečná, když chcete přidat nebo "
-"oddělit zvukové stopy z videoklipů nebo když chcete vytvořit blok klipů, "
-"které pak můžete vybírat, upravovat a posouvat naráz."
+"To znamená, že můžete jednotlivé kusy medií upravovat dohromady, např. je "
+"dohromady posouvat po časové ose. Tato sekce vám vysvětlí, jak seskupit a "
+"rozeskupit audio a video do klipů a více klipů do skupin."
 
 #. (itstool) path: section/p
-#: C/selectiongrouping.page:58
+#: C/selectiongrouping.page:63
 msgid "Grouping clips in timeline:"
 msgstr "Pro seskupení klipů na časové ose:"
 
 #. (itstool) path: item/p
-#: C/selectiongrouping.page:61
+#: C/selectiongrouping.page:66
 msgid "Select multiple clips in the timeline."
 msgstr "Vyberte na časové ose několik klipů."
 
 #. (itstool) path: item/p
-#: C/selectiongrouping.page:64
+#: C/selectiongrouping.page:69
 msgid ""
 "Click the <gui>Group clips</gui> button on the timeline toolbar, or press "
 "<keyseq><key>Ctrl</key><key>G</key></keyseq>."
@@ -2718,22 +2750,22 @@ msgstr ""
 "nebo zmáčkněte <keyseq><key>Ctrl</key><key>G</key></keyseq>."
 
 #. (itstool) path: section/p
-#: C/selectiongrouping.page:67
+#: C/selectiongrouping.page:72
 msgid "You can now select, edit and move the clips all at once."
 msgstr "Od této chvíle můžete vybírat, upravovat a přesouvat klipy naráz."
 
 #. (itstool) path: section/p
-#: C/selectiongrouping.page:68
+#: C/selectiongrouping.page:73
 msgid "Ungrouping clips in timeline:"
 msgstr "Pro zrušení seskupení na časové ose:"
 
 #. (itstool) path: item/p
-#: C/selectiongrouping.page:71
+#: C/selectiongrouping.page:76
 msgid "Select a group of clips in the timeline."
 msgstr "Vyberte na časové ose skupinu klipů"
 
 #. (itstool) path: item/p
-#: C/selectiongrouping.page:74
+#: C/selectiongrouping.page:79
 msgid ""
 "Click the <gui>Ungroup clips</gui> button on the timeline toolbar, or press "
 "<keyseq><key>Ctrl</key><key>Shift</key><key>G</key></keyseq>."
@@ -2743,7 +2775,7 @@ msgstr ""
 "key></keyseq>."
 
 #. (itstool) path: section/p
-#: C/selectiongrouping.page:77
+#: C/selectiongrouping.page:82
 msgid "You can now select, edit and move the clips independently."
 msgstr "Od této chvíle můžete vybírat, upravovat a přesouvat klipy nezávisle."
 
@@ -3677,8 +3709,8 @@ msgid ""
 "\"selectiongrouping#selection\">selected</link>."
 msgstr ""
 "Můžete vytvořit vlastní barevný klip pomocí tlačítka <gui>Vytvořit barevný "
-"klip</gui> nacházejícího se v kartě <gui>Klip</gui> v <gui>prostředním panelu"
-"</gui>. Tlačítko je dostupné, když není žádný klip <link xref="
+"klip</gui> nacházejícího se v kartě <gui>Klip</gui> v <gui>prostředním "
+"panelu</gui>. Tlačítko je dostupné, když není žádný klip <link xref="
 "\"selectiongrouping#selection\">vybrán</link>."
 
 #. (itstool) path: section/p
@@ -3692,8 +3724,8 @@ msgid ""
 "screen can be picked by using the <gui>color picker</gui> button."
 msgstr ""
 "Když chcete barevnému klipu změnit barvu, vyberte jej. Když je vytvořen nový "
-"barevný klip, je vybrán automaticky. Barva se mění pomocí <guiseq><gui>Klip"
-"</gui><gui>Barva</gui></guiseq> v <gui>prostředním panelu</gui>. Tlačítko "
+"barevný klip, je vybrán automaticky. Barva se mění pomocí <guiseq><gui>Klip</"
+"gui><gui>Barva</gui></guiseq> v <gui>prostředním panelu</gui>. Tlačítko "
 "<gui>Barva</gui> otevře dialogové okno, ve kterém můžete barvu vybrat, nebo "
 "zadat jako šestnáctkovou hodnotu. Případně se dá vybrat barva kdekoliv na "
 "obrazovce pomocí <gui>Barevné pipety</gui>."
@@ -3939,12 +3971,11 @@ msgid ""
 "area</em> to prevent the text sticking to the screen edges."
 msgstr ""
 "V závislosti na tom, jak je stavěná televize, může dojít k ořezání videa při "
-"zobrazení na její obrazovce. Podstatný obsah by proto měl být umístěn v <em>"
-"bezpečné oblasti pro akce</em>, což je obdélníková oblast uprostřed, která je "
-"ořezní uchráněna. Obdobně, titulky mohou být umístěny v malé <em>bezpečné "
-"oblasti pro titulky</em>, aby se ve výsledku nelepily na spodní hranu "
-"obrazovky."
-
+"zobrazení na její obrazovce. Podstatný obsah by proto měl být umístěn v "
+"<em>bezpečné oblasti pro akce</em>, což je obdélníková oblast uprostřed, "
+"která je ořezní uchráněna. Obdobně, titulky mohou být umístěny v malé "
+"<em>bezpečné oblasti pro titulky</em>, aby se ve výsledku nelepily na spodní "
+"hranu obrazovky."
 
 #. (itstool) path: section/p
 #: C/workwithprojects.page:50
@@ -3960,15 +3991,26 @@ msgid ""
 msgstr ""
 "Bezpečné oblasti se zobrazují v <gui>prohlížeči</gui> přes video a nemají "
 "vliv na výsledné video projektu. Velikost bezpečných oblastí pro akce a "
-"titulky se dá určit v <link xref=\"#projectsettings\">Nastavení projektu"
-"</link>. Například velikost 90 % svisle × 80 % vodorovně dopovídá 5% okraji "
+"titulky se dá určit v <link xref=\"#projectsettings\">Nastavení projektu</"
+"link>. Například velikost 90 % svisle × 80 % vodorovně dopovídá 5% okraji "
 "nahoře a dole a 10% okraji vlevo a vpravo. Postup používá vlastní vodicí "
-"linky, protože žádný televizní standard <link href=\"https://"
-"en.wikipedia.org/wiki/Safe_area_(television)\">bezpečné oblasti</link> "
-"nedefinuje."
+"linky, protože žádný televizní standard <link href=\"https://en.wikipedia."
+"org/wiki/Safe_area_(television)\">bezpečné oblasti</link> nedefinuje."
 
 #. (itstool) path: note/p
 #: C/workwithprojects.page:52
 msgid "To toggle Safe Areas on and off, press <key>'</key>."
 msgstr ""
 "Když chcete zapnout, čí vypnout, bezpečné oblasti, zmáčkněte <key>'</key>."
+
+#~ msgid "Adjust the time and value of a keyframe by moving it with the mouse."
+#~ msgstr "Změnit čas a hodnotu klíčového snímku jeho přesunem pomocí myši."
+
+#~ msgid ""
+#~ "The grouping and ungrouping functions are useful when you want to add or "
+#~ "separate audio tracks from video clips, or when you want to create a "
+#~ "block of clips that you can select, edit and move all at once."
+#~ msgstr ""
+#~ "Funkce seskupování a rušení seskupení je užitečná, když chcete přidat "
+#~ "nebo oddělit zvukové stopy z videoklipů nebo když chcete vytvořit blok "
+#~ "klipů, které pak můžete vybírat, upravovat a posouvat naráz."
diff --git a/help/meson.build b/help/meson.build
index ca7212c..cb0f58e 100644
--- a/help/meson.build
+++ b/help/meson.build
@@ -27,13 +27,13 @@ sources = [
 ]
 
 media = [
+  'figures/Pitivi.svg',
   'figures/codecscontainers.jpg',
   'figures/fadestep1.png',
   'figures/fadestep2.png',
   'figures/fadestep3.png',
   'figures/keyframecurves.png',
   'figures/layers.png',
-  'figures/logo.png',
   'figures/mainwindow.jpg',
   'figures/ripple-after.png',
   'figures/ripple-before.png',
diff --git a/help/sv/sv.po b/help/sv/sv.po
index fb77a90..c7cfa69 100644
--- a/help/sv/sv.po
+++ b/help/sv/sv.po
@@ -1,14 +1,14 @@
 # Swedish translation for pitivi documentation.
-# Copyright © 2015-2022 pitivi's COPYRIGHT HOLDER
+# Copyright © 2015-2023 pitivi's COPYRIGHT HOLDER
 # This file is distributed under the same license as the pitivi package.
 # Josef Andersson <josef.andersson@fripost.org>, 2015, 2016.
-# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2019, 2020, 2021, 2022.
+# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2019, 2020, 2021, 2022, 2023.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: pitivi master\n"
-"POT-Creation-Date: 2022-04-02 00:16+0000\n"
-"PO-Revision-Date: 2022-05-01 19:46+0200\n"
+"POT-Creation-Date: 2023-02-27 21:51+0000\n"
+"PO-Revision-Date: 2023-03-02 23:53+0100\n"
 "Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\n"
@@ -16,7 +16,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 3.0.1\n"
+"X-Generator: Poedit 3.2.2\n"
 
 #. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
 msgctxt "_"
@@ -28,7 +28,7 @@ msgstr ""
 #. (itstool) path: credit/name
 #: C/about.page:7 C/cheatsheet.page:8 C/codecscontainers.page:7
 #: C/effects.page:8 C/gstreamer.page:7 C/importingmpegts.page:8
-#: C/importing.page:7 C/index.page:8 C/keyframecurves.page:9 C/layers.page:7
+#: C/importing.page:7 C/index.page:9 C/keyframecurves.page:9 C/layers.page:7
 #: C/mainwindow.page:9 C/medialibrary.page:7 C/movearoundtimeline.page:7
 #: C/presets.page:9 C/rendering.page:7 C/savescreenshot.page:7
 #: C/selectiongrouping.page:11 C/splitting.page:7 C/sysreq.page:7
@@ -38,7 +38,7 @@ msgid "Jean-François Fortin Tam"
 msgstr "Jean-François Fortin Tam"
 
 #. (itstool) path: credit/name
-#: C/about.page:11 C/gstreamer.page:11 C/importing.page:11 C/index.page:12
+#: C/about.page:11 C/gstreamer.page:11 C/importing.page:11 C/index.page:13
 #: C/keyframecurves.page:13 C/layers.page:11 C/movearoundtimeline.page:11
 #: C/rendering.page:11 C/selectiongrouping.page:15 C/splitting.page:11
 #: C/sysreq.page:11 C/transitions.page:15 C/trimming.page:11
@@ -54,7 +54,7 @@ msgstr "Aktuellt tillstånd för användarguiden och upprop för medverkan."
 #. (itstool) path: license/p
 #: C/about.page:18 C/cheatsheet.page:12 C/codecscontainers.page:15
 #: C/effects.page:17 C/gstreamer.page:22 C/importingmpegts.page:15
-#: C/importing.page:22 C/index.page:16 C/keyframecurves.page:28
+#: C/importing.page:22 C/index.page:17 C/keyframecurves.page:28
 #: C/layers.page:22 C/mainwindow.page:20 C/medialibrary.page:22
 #: C/movearoundtimeline.page:26 C/presets.page:20 C/rendering.page:22
 #: C/savescreenshot.page:11 C/selectiongrouping.page:22 C/splitting.page:22
@@ -882,37 +882,48 @@ msgstr ""
 
 #. (itstool) path: info/title
 #: C/index.page:4
-msgctxt "link"
+msgctxt "link:trail"
 msgid "Pitivi Quick Start Manual"
-msgstr "Pitivi snabbstartshandbok"
+msgstr "Snabbstartshandbok för Pitivi"
 
 #. (itstool) path: info/title
 #: C/index.page:5
+msgctxt "link"
+msgid "Pitivi Quick Start Manual"
+msgstr "Snabbstartshandbok för Pitivi"
+
+#. (itstool) path: info/title
+#: C/index.page:6
 msgctxt "text"
 msgid "Pitivi Quick Start Manual"
-msgstr "Pitivi snabbstartshandbok"
+msgstr "Snabbstartshandbok för Pitivi"
 
 #. (itstool) path: title/media
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/index.page:19
+#: C/index.page:21
+#| msgctxt "_"
+#| msgid ""
+#| "external ref='figures/logo.png' md5='fff855c13ab53690ef39bd41670bb519'"
 msgctxt "_"
-msgid "external ref='figures/logo.png' md5='fff855c13ab53690ef39bd41670bb519'"
-msgstr "external ref='figures/logo.png' md5='fff855c13ab53690ef39bd41670bb519'"
+msgid ""
+"external ref='figures/Pitivi.svg' md5='5dc3b90ebd6898d3d38c8df4c0eb0ead'"
+msgstr ""
+"external ref='figures/Pitivi.svg' md5='5dc3b90ebd6898d3d38c8df4c0eb0ead'"
 
 #. (itstool) path: page/title
-#: C/index.page:19
+#: C/index.page:20
 msgid ""
-"<media type=\"image\" mime=\"image/png\" src=\"figures/logo.png\">Pitivi "
-"logo</media> Pitivi Video Editor"
+"<media type=\"image\" width=\"48px\" height=\"48px\" src=\"figures/Pitivi."
+"svg\"/> Pitivi Video Editor"
 msgstr ""
-"<media type=\"image\" mime=\"image/png\" src=\"figures/logo.png\">Pitivi "
-"logo</media> Pitivi videoredigerare"
+"<media type=\"image\" width=\"48px\" height=\"48px\" src=\"figures/Pitivi."
+"svg\"/> Pitivi videoredigerare"
 
 #. (itstool) path: page/p
-#: C/index.page:22
+#: C/index.page:24
 msgid ""
 "Built upon the <link href=\"http://en.wikipedia.org/wiki/"
 "GStreamer\"><app>GStreamer</app></link> multimedia framework, <app>Pitivi</"
@@ -927,7 +938,7 @@ msgstr ""
 "amatörer och professionella."
 
 #. (itstool) path: page/p
-#: C/index.page:23
+#: C/index.page:25
 msgid ""
 "This guide is intended to help you grasp the concepts behind its design and "
 "get productive quickly."
@@ -936,27 +947,27 @@ msgstr ""
 "design samt att få dig produktiv snabbt."
 
 #. (itstool) path: section/title
-#: C/index.page:25
+#: C/index.page:27
 msgid "Introduction"
 msgstr "Introduktion"
 
 #. (itstool) path: section/title
-#: C/index.page:28
+#: C/index.page:30
 msgid "Getting Started"
 msgstr "Komma igång"
 
 #. (itstool) path: section/title
-#: C/index.page:31
+#: C/index.page:33
 msgid "Basic Editing with the Timeline"
 msgstr "Grundläggande redigering med tidslinjen"
 
 #. (itstool) path: section/title
-#: C/index.page:34
+#: C/index.page:36
 msgid "Effects and Transitions"
 msgstr "Effekter och övergångar"
 
 #. (itstool) path: section/title
-#: C/index.page:37
+#: C/index.page:39
 msgid "Exporting Your Finished Movie"
 msgstr "Export av din färdiga film"
 
diff --git a/help/uk/uk.po b/help/uk/uk.po
index 9ff101d..c088d8f 100644
--- a/help/uk/uk.po
+++ b/help/uk/uk.po
@@ -3,20 +3,20 @@
 # This file is distributed under the same license as the pitivi package.
 #
 # lxlalexlxl <pilipchukap@rambler.ru>, 2011.
-# Yuri Chornoivan <yurchor@ukr.net>, 2020, 2021, 2022.
+# Yuri Chornoivan <yurchor@ukr.net>, 2020, 2021, 2022, 2023.
 msgid ""
 msgstr ""
 "Project-Id-Version: pitivi master\n"
-"POT-Creation-Date: 2022-04-02 00:16+0000\n"
-"PO-Revision-Date: 2022-04-03 12:27+0300\n"
+"POT-Creation-Date: 2023-02-27 21:51+0000\n"
+"PO-Revision-Date: 2023-02-28 09:39+0200\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
 "Language: uk\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<"
-"=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: Lokalize 20.12.0\n"
 
 #. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
@@ -29,7 +29,7 @@ msgstr ""
 #. (itstool) path: credit/name
 #: C/about.page:7 C/cheatsheet.page:8 C/codecscontainers.page:7
 #: C/effects.page:8 C/gstreamer.page:7 C/importingmpegts.page:8
-#: C/importing.page:7 C/index.page:8 C/keyframecurves.page:9 C/layers.page:7
+#: C/importing.page:7 C/index.page:9 C/keyframecurves.page:9 C/layers.page:7
 #: C/mainwindow.page:9 C/medialibrary.page:7 C/movearoundtimeline.page:7
 #: C/presets.page:9 C/rendering.page:7 C/savescreenshot.page:7
 #: C/selectiongrouping.page:11 C/splitting.page:7 C/sysreq.page:7
@@ -39,7 +39,7 @@ msgid "Jean-François Fortin Tam"
 msgstr "Jean-François Fortin Tam"
 
 #. (itstool) path: credit/name
-#: C/about.page:11 C/gstreamer.page:11 C/importing.page:11 C/index.page:12
+#: C/about.page:11 C/gstreamer.page:11 C/importing.page:11 C/index.page:13
 #: C/keyframecurves.page:13 C/layers.page:11 C/movearoundtimeline.page:11
 #: C/rendering.page:11 C/selectiongrouping.page:15 C/splitting.page:11
 #: C/sysreq.page:11 C/transitions.page:15 C/trimming.page:11
@@ -55,7 +55,7 @@ msgstr "Поточний стан цього підручника та закл
 #. (itstool) path: license/p
 #: C/about.page:18 C/cheatsheet.page:12 C/codecscontainers.page:15
 #: C/effects.page:17 C/gstreamer.page:22 C/importingmpegts.page:15
-#: C/importing.page:22 C/index.page:16 C/keyframecurves.page:28
+#: C/importing.page:22 C/index.page:17 C/keyframecurves.page:28
 #: C/layers.page:22 C/mainwindow.page:20 C/medialibrary.page:22
 #: C/movearoundtimeline.page:26 C/presets.page:20 C/rendering.page:22
 #: C/savescreenshot.page:11 C/selectiongrouping.page:22 C/splitting.page:22
@@ -71,7 +71,8 @@ msgstr "Про цей підручник"
 
 #. (itstool) path: page/p
 #: C/about.page:22
-msgid "This user manual is written and maintained by Jean-François Fortin Tam."
+msgid ""
+"This user manual is written and maintained by Jean-François Fortin Tam."
 msgstr "Цей підручник створений Jean-François Fortin Tam."
 
 #. (itstool) path: section/title
@@ -154,7 +155,8 @@ msgstr "<keyseq><key>Ctrl</key><key>O</key></keyseq>: відкрити файл
 #. (itstool) path: item/p
 #: C/cheatsheet.page:27
 msgid "<keyseq><key>Ctrl</key><key>S</key></keyseq>: Save the current project"
-msgstr "<keyseq><key>Ctrl</key><key>S</key></keyseq>: зберегти поточний проєкт"
+msgstr ""
+"<keyseq><key>Ctrl</key><key>S</key></keyseq>: зберегти поточний проєкт"
 
 #. (itstool) path: item/p
 #: C/cheatsheet.page:30
@@ -707,10 +709,10 @@ msgstr ""
 #: C/importing.page:28
 msgid ""
 "When you create a new project and import the first video file, its "
-"properties are transposed to the <link xref="
-"\"workwithprojects#projectsettings\">project settings</link>, unless you "
-"changed them yourself already. An infobar appears when this happens. Click "
-"the <gui>Project Settings</gui> button in the infobar for details."
+"properties are transposed to the <link "
+"xref=\"workwithprojects#projectsettings\">project settings</link>, unless "
+"you changed them yourself already. An infobar appears when this happens. "
+"Click the <gui>Project Settings</gui> button in the infobar for details."
 msgstr ""
 "При створенні проєкту та імпортуванні першого файла відео властивості відео "
 "переносяться до <link xref=\"workwithprojects#projectsettings\">параметрів "
@@ -894,12 +896,20 @@ msgstr ""
 
 #. (itstool) path: info/title
 #: C/index.page:4
-msgctxt "link"
+#| msgctxt "link"
+#| msgid "Pitivi Quick Start Manual"
+msgctxt "link:trail"
 msgid "Pitivi Quick Start Manual"
 msgstr "Pitivi: підручник для початківця"
 
 #. (itstool) path: info/title
 #: C/index.page:5
+msgctxt "link"
+msgid "Pitivi Quick Start Manual"
+msgstr "Pitivi: підручник для початківця"
+
+#. (itstool) path: info/title
+#: C/index.page:6
 msgctxt "text"
 msgid "Pitivi Quick Start Manual"
 msgstr "Pitivi: підручник для початківця"
@@ -909,28 +919,36 @@ msgstr "Pitivi: підручник для початківця"
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/index.page:19
+#: C/index.page:21
+#| msgctxt "_"
+#| msgid ""
+#| "external ref='figures/logo.png' md5='fff855c13ab53690ef39bd41670bb519'"
 msgctxt "_"
-msgid "external ref='figures/logo.png' md5='fff855c13ab53690ef39bd41670bb519'"
-msgstr "external ref='figures/logo.png' md5='fff855c13ab53690ef39bd41670bb519'"
+msgid ""
+"external ref='figures/Pitivi.svg' md5='5dc3b90ebd6898d3d38c8df4c0eb0ead'"
+msgstr ""
+"external ref='figures/Pitivi.svg' md5='5dc3b90ebd6898d3d38c8df4c0eb0ead'"
 
 #. (itstool) path: page/title
-#: C/index.page:19
+#: C/index.page:20
+#| msgid ""
+#| "<media type=\"image\" mime=\"image/png\" src=\"figures/logo.png\">Pitivi "
+#| "logo</media> Pitivi Video Editor"
 msgid ""
-"<media type=\"image\" mime=\"image/png\" src=\"figures/logo.png\">Pitivi "
-"logo</media> Pitivi Video Editor"
+"<media type=\"image\" width=\"48px\" height=\"48px\" src=\"figures/Pitivi."
+"svg\"/> Pitivi Video Editor"
 msgstr ""
-"<media type=\"image\" mime=\"image/png\" src=\"figures/logo.png\">Емблема "
-"Pitivi</media> Редактор відео Pitivi"
+"<media type=\"image\" width=\"48px\" height=\"48px\" src=\"figures/Pitivi.svg\"/>"
+" Редактор відео Pitivi"
 
 #. (itstool) path: page/p
-#: C/index.page:22
+#: C/index.page:24
 msgid ""
-"Built upon the <link href=\"http://en.wikipedia.org/wiki/GStreamer"
-"\"><app>GStreamer</app></link> multimedia framework, <app>Pitivi</app> aims "
-"to be an intuitive and flexible video editor that integrates well with <link "
-"href=\"http://gnome.org\"><app>GNOME</app></link> and can appeal to newbies "
-"and professionals alike."
+"Built upon the <link href=\"http://en.wikipedia.org/wiki/"
+"GStreamer\"><app>GStreamer</app></link> multimedia framework, <app>Pitivi</"
+"app> aims to be an intuitive and flexible video editor that integrates well "
+"with <link href=\"http://gnome.org\"><app>GNOME</app></link> and can appeal "
+"to newbies and professionals alike."
 msgstr ""
 "Побудований з використанням мультимедійної бібліотеки <link href=\"http://en."
 "wikipedia.org/wiki/GStreamer\"><app>GStreamer</app></link>, <app>Pitivi</"
@@ -939,34 +957,34 @@ msgstr ""
 "і буде привабливим як для новачків, так і для фахівців."
 
 #. (itstool) path: page/p
-#: C/index.page:23
+#: C/index.page:25
 msgid ""
 "This guide is intended to help you grasp the concepts behind its design and "
 "get productive quickly."
 msgstr "Цей посібник допоможе вам зрозуміти основи і швидко розпочати роботу."
 
 #. (itstool) path: section/title
-#: C/index.page:25
+#: C/index.page:27
 msgid "Introduction"
 msgstr "Вступ"
 
 #. (itstool) path: section/title
-#: C/index.page:28
+#: C/index.page:30
 msgid "Getting Started"
 msgstr "Перші кроки"
 
 #. (itstool) path: section/title
-#: C/index.page:31
+#: C/index.page:33
 msgid "Basic Editing with the Timeline"
 msgstr "Основи редагування на монтажному столі"
 
 #. (itstool) path: section/title
-#: C/index.page:34
+#: C/index.page:36
 msgid "Effects and Transitions"
 msgstr "Ефекти і переходи"
 
 #. (itstool) path: section/title
-#: C/index.page:37
+#: C/index.page:39
 msgid "Exporting Your Finished Movie"
 msgstr "Експортування завершеного фільму"
 
@@ -1041,10 +1059,10 @@ msgstr ""
 msgid ""
 "By default, the keyframe curves on an audio clip control the volume (on a "
 "scale from 0 to 200%) and the keyframe curves on a video clip control the "
-"alpha (opacity) of the video (on a scale from 0 to 100%). See the <link xref="
-"\"layers\">Understanding layers</link> page for more details on opacity. The "
-"default alpha or volume keyframe curves are an intrinsic property of clips "
-"and cannot be removed."
+"alpha (opacity) of the video (on a scale from 0 to 100%). See the <link "
+"xref=\"layers\">Understanding layers</link> page for more details on "
+"opacity. The default alpha or volume keyframe curves are an intrinsic "
+"property of clips and cannot be removed."
 msgstr ""
 "Типово, криві ключових кадрів на засобі керування звуком кліпу відповідають "
 "гучності (у шкалі від 0 до 200%), а криві ключових кадрів на засобі "
@@ -1061,8 +1079,8 @@ msgid ""
 "link> page."
 msgstr ""
 "Ви можете створювати переходи із розчиненням та появою зображення керуючи "
-"непрозорістю та гучністю. Див. приклад на сторінці <link xref="
-"\"transitions#fades\">переходи</link>."
+"непрозорістю та гучністю. Див. приклад на сторінці <link "
+"xref=\"transitions#fades\">переходи</link>."
 
 #. (itstool) path: page/p
 #: C/keyframecurves.page:50
@@ -1072,8 +1090,8 @@ msgid ""
 "link> page for details."
 msgstr ""
 "Окрім гучності і прозорості, ви можете скористатися ключовими кадрами для "
-"керування властивостями ефектів. Див. сторінку щодо <link xref="
-"\"usingeffects#keyframes\">користування ефектами</link>, щоб дізнатися "
+"керування властивостями ефектів. Див. сторінку щодо <link "
+"xref=\"usingeffects#keyframes\">користування ефектами</link>, щоб дізнатися "
 "більше."
 
 #. (itstool) path: section/title
@@ -1617,7 +1635,8 @@ msgstr "Поточна позиція відтворення вказуєтьс
 #. whatever you like once you have updated your copy of the file.
 #: C/mainwindow.page:70
 msgctxt "_"
-msgid "external ref='figures/ruler.png' md5='2d2f2261c4bdb034be332fbcea37f273'"
+msgid ""
+"external ref='figures/ruler.png' md5='2d2f2261c4bdb034be332fbcea37f273'"
 msgstr ""
 "external ref='figures/ruler.png' md5='2d2f2261c4bdb034be332fbcea37f273'"
 
@@ -1657,13 +1676,13 @@ msgstr ""
 #. (itstool) path: section/p
 #: C/mainwindow.page:79
 msgid ""
-"See the <link xref=\"layers\">Understanding layers</link> and <link xref="
-"\"movearoundtimeline\">Moving around the timeline</link> pages for more "
+"See the <link xref=\"layers\">Understanding layers</link> and <link "
+"xref=\"movearoundtimeline\">Moving around the timeline</link> pages for more "
 "information on how to work with the timeline."
 msgstr ""
-"Див. <link xref=\"layers\">сторінку щодо шарів</link> та <link xref="
-"\"movearoundtimeline\">сторінку щодо пересування монтажним столом</link>, "
-"щоб дізнатися більше про те, як працює монтажний стіл."
+"Див. <link xref=\"layers\">сторінку щодо шарів</link> та <link "
+"xref=\"movearoundtimeline\">сторінку щодо пересування монтажним столом</"
+"link>, щоб дізнатися більше про те, як працює монтажний стіл."
 
 #. (itstool) path: section/title
 #: C/mainwindow.page:82
@@ -1772,8 +1791,8 @@ msgstr "Перейти до початку запису на монтажном
 #: C/mainwindow.page:132
 msgid ""
 "For more information on how to move on the timeline, see the <em>Moving the "
-"playhead</em> and <em>Scrubbing</em> sections on the <link xref="
-"\"movearoundtimeline\">Moving around the timeline</link> page."
+"playhead</em> and <em>Scrubbing</em> sections on the <link "
+"xref=\"movearoundtimeline\">Moving around the timeline</link> page."
 msgstr ""
 "Щоб дізнатися більше про те, як пересуватися монтажним столом, див. розділи "
 "<em>Пересування позиції відтворення</em> та <em>Протягування</em> на "
@@ -2311,12 +2330,12 @@ msgstr "Перехід до точної позиції"
 #: C/movearoundtimeline.page:86
 msgid ""
 "You can jump to an exact position in the timeline by editing the time value "
-"shown in the playback toolbar (see description of <link xref=\"mainwindow"
-"\">The main window</link>). To edit it, simply click on the widget, "
-"overwrite the value and hit <key>enter</key>. The value can represent either "
-"timecode or a frame number. Timecode has the following form: <em>hh:mm:ss."
-"milisec</em> where hours are optional. To insert a frame number, overwrite "
-"the timecode with a plain number of the desired frame."
+"shown in the playback toolbar (see description of <link "
+"xref=\"mainwindow\">The main window</link>). To edit it, simply click on the "
+"widget, overwrite the value and hit <key>enter</key>. The value can "
+"represent either timecode or a frame number. Timecode has the following "
+"form: <em>hh:mm:ss.milisec</em> where hours are optional. To insert a frame "
+"number, overwrite the timecode with a plain number of the desired frame."
 msgstr ""
 "Ви можете перейти до точної позиції на монтажному столі редагуванням "
 "значення часу, яке показано на панелі інструментів відтворення (див. опис "
@@ -2529,8 +2548,8 @@ msgid ""
 "Choose a container. See the <link xref=\"codecscontainers\">codecs and "
 "containers</link> page for details."
 msgstr ""
-"Виберіть контейнер. Докладніший опис можна знайти на сторінці <link xref="
-"\"codecscontainers\">кодеки і контейнери</link>."
+"Виберіть контейнер. Докладніший опис можна знайти на сторінці <link "
+"xref=\"codecscontainers\">кодеки і контейнери</link>."
 
 #. (itstool) path: item/p
 #: C/rendering.page:41
@@ -2718,8 +2737,8 @@ msgid ""
 "selection and the playhead position won't be lost when you make selections. "
 "This can be specified at <guiseq><gui>Menu button</gui><gui>Preferences</"
 "gui><gui>Left click also seeks</gui></guiseq>. You can still use right-click "
-"to move the playhead, as before, see <link xref="
-"\"movearoundtimeline#movingplayhead\"/> for details."
+"to move the playhead, as before, see <link "
+"xref=\"movearoundtimeline#movingplayhead\"/> for details."
 msgstr ""
 "Типово, клацання на монтажному столі змінює позначення, а також пересуває "
 "позицію відтворення. Щоб мати змогу точніше керувати позицією відтворення, "
@@ -2729,8 +2748,8 @@ msgstr ""
 "цей режим можна за допомогою пункту <guiseq><gui>Кнопка меню</"
 "gui><gui>Налаштування</gui><gui>Клацання лівою також позиціювання</gui></"
 "guiseq>. Ви також можете скористатися клацанням правою кнопкою миші для "
-"пересування позиції відтворення. Як і раніше, див. <link xref="
-"\"movearoundtimeline#movingplayhead\"/>, щоб дізнатися більше."
+"пересування позиції відтворення. Як і раніше, див. <link "
+"xref=\"movearoundtimeline#movingplayhead\"/>, щоб дізнатися більше."
 
 #. (itstool) path: section/title
 #: C/selectiongrouping.page:56
@@ -2848,9 +2867,9 @@ msgid ""
 msgstr ""
 "У <app>Pitivi</app> розділення кліпу є немодальною операцією; це означає, що "
 "для розділення не потрібно активувати відповідний інструмент. Розділення "
-"відбувається у поточній позиції відтворення (див. також <link xref="
-"\"movearoundtimeline\">Переміщення позиції відтворення</link>). У поєднанні "
-"з масштабуванням, покадровим пошуком з використанням клавіатури та "
+"відбувається у поточній позиції відтворення (див. також <link "
+"xref=\"movearoundtimeline\">Переміщення позиції відтворення</link>). У "
+"поєднанні з масштабуванням, покадровим пошуком з використанням клавіатури та "
 "протягуванням немодальне розділення є не тільки швидким і ефективним, але й "
 "дуже точним."
 
@@ -2906,11 +2925,11 @@ msgstr ""
 #. (itstool) path: page/p
 #: C/splitting.page:49
 msgid ""
-"See how to select clips in <link xref=\"selectiongrouping#selection"
-"\">Selection and grouping</link>."
+"See how to select clips in <link "
+"xref=\"selectiongrouping#selection\">Selection and grouping</link>."
 msgstr ""
-"Відомості щодо позначення кліпів можна знайти у розділі щодо <link xref="
-"\"selectiongrouping#selection\">позначення і групування</link>."
+"Відомості щодо позначення кліпів можна знайти у розділі щодо <link "
+"xref=\"selectiongrouping#selection\">позначення і групування</link>."
 
 #. (itstool) path: note/title
 #: C/splitting.page:51
@@ -3026,9 +3045,9 @@ msgid ""
 "compatibility</link> and <link xref=\"effects\">Introduction to effects</"
 "link>."
 msgstr ""
-"Вимоги щодо програмного забезпечення описано у розділах <link xref="
-"\"gstreamer\">Gstreamer і сумісність</link> та <link xref=\"effects\">Вступ "
-"до ефектів</link>."
+"Вимоги щодо програмного забезпечення описано у розділах <link "
+"xref=\"gstreamer\">Gstreamer і сумісність</link> та <link "
+"xref=\"effects\">Вступ до ефектів</link>."
 
 #. (itstool) path: info/desc
 #: C/transitions.page:18
@@ -3167,29 +3186,23 @@ msgstr "Зникнення та поява"
 
 #. (itstool) path: section/p
 #: C/transitions.page:65
-#| msgid ""
-#| "You can create fade-in and fade-out transitions in single clips by using "
-#| "keyframes controlling the clip's opacity. For more information on "
-#| "keyframes, see <link xref=\"keyframecurves\">Keyframe curves</link>. To "
-#| "understand opacity, see <link xref=\"layers\">Understanding layers</"
-#| "link>. The following images illustrate how to fade a clip to black:"
 msgid ""
 "You can create fade-in and fade-out transitions in single clips by "
 "specifying their duration in the <gui>Compositing</gui> section of the "
 "<gui>Clip Properties</gui> panel. These can be fine-tuned by interacting "
 "with the <link xref=\"keyframecurves\">Keyframe curve</link> controlling the "
-"clip's opacity. To understand opacity, see <link xref=\"layers"
-"\">Understanding layers</link>. The following images illustrate how to fade "
-"a clip to black by editing the clip's keyframes:"
-msgstr ""
-"Ви можете створити переходи зі згасанням або появою у окремих кліпах,"
-" зазначивши їхню тривалість у розділі <gui>Композиція</gui> на панелі <gui"
-">Властивості кліпу</gui>. Скоригувати значення можна за допомогою <link"
-" xref=\"keyframecurves\">Кривої ключових кадрів</link>, яка керує"
-" непрозорістю кліпу. Докладніший опис непрозорості наведено у <link"
-" xref=\"layers\">розділів щодо шарів</link>. На наступних зображеннях"
-" проілюстровано перехід зображення кліпу у чорний колір редагуванням ключових"
-" кадрів кліпу:"
+"clip's opacity. To understand opacity, see <link "
+"xref=\"layers\">Understanding layers</link>. The following images illustrate "
+"how to fade a clip to black by editing the clip's keyframes:"
+msgstr ""
+"Ви можете створити переходи зі згасанням або появою у окремих кліпах, "
+"зазначивши їхню тривалість у розділі <gui>Композиція</gui> на панелі "
+"<gui>Властивості кліпу</gui>. Скоригувати значення можна за допомогою <link "
+"xref=\"keyframecurves\">Кривої ключових кадрів</link>, яка керує "
+"непрозорістю кліпу. Докладніший опис непрозорості наведено у <link "
+"xref=\"layers\">розділів щодо шарів</link>. На наступних зображеннях "
+"проілюстровано перехід зображення кліпу у чорний колір редагуванням ключових "
+"кадрів кліпу:"
 
 #. (itstool) path: figure/title
 #: C/transitions.page:67
@@ -3352,9 +3365,9 @@ msgstr ""
 "Кліпи, які згруповано, зокрема, відповідні звукові кліпи із відеокліпами, "
 "буде обрізано одночасно при пересуванні елемента керування обрізанням. Щоб "
 "обрізати лише звукові дані або лише відеодані, вам слід спочатку "
-"розгрупувати кліпи (див. сторінку <link xref=\"selectiongrouping"
-"\">позначення і групування</link>, щоб дізнатися більше про те, як це "
-"зробити)."
+"розгрупувати кліпи (див. сторінку <link "
+"xref=\"selectiongrouping\">позначення і групування</link>, щоб дізнатися "
+"більше про те, як це зробити)."
 
 #. (itstool) path: section/title
 #: C/trimming.page:34
@@ -3464,8 +3477,8 @@ msgstr "Перетягніть смужку підгонки."
 #: C/trimming.page:66
 msgid ""
 "Ripple editing can also be used when moving clips around in the timeline. "
-"For detailed explanations on how to do this, see the section <link xref="
-"\"usingclips#ripple\">Using ripple editing while moving clips</link>."
+"For detailed explanations on how to do this, see the section <link "
+"xref=\"usingclips#ripple\">Using ripple editing while moving clips</link>."
 msgstr ""
 "Монтаж зі зсувом може також використовуватись при переміщенні кліпів "
 "монтажним столом. Для детального пояснення як це зробити, подивіться розділ "
@@ -3538,7 +3551,8 @@ msgstr "Щоб виконати монтаж із суміщенням:"
 
 #. (itstool) path: item/p
 #: C/trimming.page:88
-msgid "Place the mouse cursor on a trimming handle between two adjacent clips."
+msgid ""
+"Place the mouse cursor on a trimming handle between two adjacent clips."
 msgstr ""
 "Наведіть вказівник мишки на смужку підгонки між двома сусідніми кліпами."
 
@@ -3669,8 +3683,8 @@ msgstr ""
 msgid ""
 "Click and drag a single clip to move it, and release the mouse button to "
 "place it. Dragging horizontally keeps the clip on the same layer, but "
-"dragging it vertically moves the clip to a different layer (see <link xref="
-"\"layers\">Understanding layers</link> for more information)."
+"dragging it vertically moves the clip to a different layer (see <link "
+"xref=\"layers\">Understanding layers</link> for more information)."
 msgstr ""
 "Перетягніть окремий кліп, щоб пересунути його, і відпустіть кнопку миші у "
 "потрібному місці. При перетягуванні по горизонталі кліп залишається на тому "
@@ -3694,15 +3708,15 @@ msgstr ""
 #: C/usingclips.page:59
 msgid ""
 "To move multiple clips at the same time, use the <key>Ctrl</key> or "
-"<key>Shift</key> keys to select multiple clips (see <link xref="
-"\"selectiongrouping\">Selection and grouping</link> for more details). "
+"<key>Shift</key> keys to select multiple clips (see <link "
+"xref=\"selectiongrouping\">Selection and grouping</link> for more details). "
 "Selected clips do not need to be on the same layer. Then, drag the clips "
 "just as you would do for a single clip; their position relative to each "
 "other will be preserved."
 msgstr ""
 "Щоб пересунути одночасно багато кліпів, використовуйте клавіші <key>Ctrl</"
-"key> or <key>Shift</key> під час позначання (див. <link xref="
-"\"selectiongrouping\">вибір і групування</link>, щоб дізнатися більше). "
+"key> or <key>Shift</key> під час позначання (див. <link "
+"xref=\"selectiongrouping\">вибір і групування</link>, щоб дізнатися більше). "
 "Можна позначити кліпи, що знаходяться у різних шарах. Після цього "
 "перемістіть кліпи так, як це робилось з одним кліпом; їхнє відносне "
 "розміщення буде збережене."
@@ -3715,10 +3729,10 @@ msgstr "Використання монтажу із зсувом при пер
 #. (itstool) path: section/p
 #: C/usingclips.page:62
 msgid ""
-"While dragging clips around in the timeline, you can use the <link xref="
-"\"trimming#ripple\">ripple technique</link> to move the <em>following</em> "
-"clips (the clips that start after the one you're directly editing) in sync "
-"with the moved clip."
+"While dragging clips around in the timeline, you can use the <link "
+"xref=\"trimming#ripple\">ripple technique</link> to move the <em>following</"
+"em> clips (the clips that start after the one you're directly editing) in "
+"sync with the moved clip."
 msgstr ""
 "При перетягуванні кліпів вздовж монтажного столу, ви можете застосовувати "
 "<link xref=\"trimming#ripple\">монтаж зі зсувом</link>, щоб перемістити "
@@ -3766,8 +3780,8 @@ msgstr "Використання кольорових кліпів"
 msgid ""
 "You can create custom color clips using the <gui>Create a color clip</gui> "
 "button located in the <guiseq><gui>middle pane</gui><gui>Clip</gui></guiseq> "
-"tab. The button is available when no clip is <link xref="
-"\"selectiongrouping#selection\">selected</link>."
+"tab. The button is available when no clip is <link "
+"xref=\"selectiongrouping#selection\">selected</link>."
 msgstr ""
 "Ви можете створювати нетипові кольорові кліпи за допомогою кнопки "
 "<gui>Створити кольоровий кліп</gui>, яку розташовано на вкладці "
@@ -4048,21 +4062,23 @@ msgstr ""
 msgid ""
 "The safe areas are displayed on the <gui>viewer</gui> as an overlay and will "
 "not affect the video of a project. The size of the action-safe area and the "
-"title-safe area can be specified in the <link xref=\"#projectsettings"
-"\">Project Settings</link>. For example, a size of 90% vertical × 80% "
-"horizontal corresponds to a 5% margin at the top and bottom and a 10% "
-"horizontal margin at the left and right of the video. Producers use their "
-"own guidelines since no television standard defines the <link href=\"https://"
-"en.wikipedia.org/wiki/Safe_area_(television)\">safe areas</link>."
+"title-safe area can be specified in the <link "
+"xref=\"#projectsettings\">Project Settings</link>. For example, a size of "
+"90% vertical × 80% horizontal corresponds to a 5% margin at the top and "
+"bottom and a 10% horizontal margin at the left and right of the video. "
+"Producers use their own guidelines since no television standard defines the "
+"<link href=\"https://en.wikipedia.org/wiki/Safe_area_(television)\">safe "
+"areas</link>."
 msgstr ""
 "Безпечні області буде показано на <gui>панелі перегляду</gui> як накладку, "
 "яка не впливатиме на вигляд остаточних кадрів відео проєкту. Розмір "
-"безпечної області зображення та титрів можна визначити у <link xref="
-"\"#projectsettings\">параметрах проєкту</link>. Наприклад, розмір 90% за "
-"вертикаллю × 80% за горизонталлю відповідає полю у 5% згори і знизу і полю у "
-"10% праворуч і ліворуч у кадрі відео. У продюсерів є власні настанови, "
-"оскільки жоден із телевізійних стандартів не визначає <link href=\"https://"
-"en.wikipedia.org/wiki/Safe_area_(television)\">безпечних областей</link>."
+"безпечної області зображення та титрів можна визначити у <link "
+"xref=\"#projectsettings\">параметрах проєкту</link>. Наприклад, розмір 90% "
+"за вертикаллю × 80% за горизонталлю відповідає полю у 5% згори і знизу і "
+"полю у 10% праворуч і ліворуч у кадрі відео. У продюсерів є власні "
+"настанови, оскільки жоден із телевізійних стандартів не визначає <link "
+"href=\"https://en.wikipedia.org/wiki/Safe_area_(television)\">безпечних "
+"областей</link>."
 
 #. (itstool) path: note/p
 #: C/workwithprojects.page:52
diff --git a/meson.build b/meson.build
index e63a58b..4435353 100644
--- a/meson.build
+++ b/meson.build
@@ -1,4 +1,4 @@
-project('pitivi', 'c', version : '2022.06', meson_version : '>= 0.46.0')
+project('pitivi', 'c', version : '2023.03', meson_version : '>= 0.46.0')
 host_system = host_machine.system()
 
 pymod = import('python')
diff --git a/pitivi/autoaligner.py b/pitivi/autoaligner.py
index fa7bfee..2d3977b 100644
--- a/pitivi/autoaligner.py
+++ b/pitivi/autoaligner.py
@@ -1,6 +1,7 @@
 # -*- coding: utf-8 -*-
 # Pitivi video editor
 # Copyright (c) 2011, Benjamin M. Schwartz <bens@alum.mit.edu>
+# Copyright (c) 2022, Thejas Kiran P S <thejaskiranps@gmail.com>
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -14,668 +15,121 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this program; if not, see <http://www.gnu.org/licenses/>.
-"""Automatic alignment of `Clip`s."""
-import array
-import os
-import time
+import os.path
+from typing import List
 
-from gi.repository import Gst
-from gi.repository import Gtk
+import numpy.typing
+from gi.repository import GES
+from scipy.signal import correlate
+from scipy.signal import correlation_lags
 
-
-try:
-    import numpy
-except ImportError:
-    numpy = None
-
-from gettext import gettext as _
-
-import pitivi.configure as configure
-
-from pitivi.utils.ui import beautify_eta
-from pitivi.utils.misc import call_false
-from pitivi.utils.extract import Extractee
+from pitivi.timeline.previewers import get_wavefile_location_for_uri
+from pitivi.timeline.previewers import SAMPLE_DURATION
 from pitivi.utils.loggable import Loggable
 
 
-def nextpow2(x):
-    a = 1
-    while a < x:
-        a *= 2
-    return a
-
-
-def submax(left, middle, right):
-    """
-    Find the maximum of a quadratic function from three samples.
-
-    Given samples from a quadratic P(x) at x=-1, 0, and 1, find the x
-    that extremizes P.  This is useful for determining the subsample
-    position of the extremum given three samples around the observed
-    extreme.
-
-    @param left: value at x=-1
-    @type left: L{float}
-    @param middle: value at x=0
-    @type middle: L{float}
-    @param right: value at x=1
-    @type right: L{float}
-    @returns: value of x that extremizes the interpolating quadratic
-    @rtype: L{float}
-
-    """
-    L = middle - left   # L and R are both positive if middle is the
-    R = middle - right  # observed max of the integer samples
-    return 0.5 * (R - L) / (R + L)
-    # Derivation: Consider a quadratic q(x) := P(0) - P(x).  Then q(x) has
-    # two roots, one at 0 and one at z, and the extreme is at (0+z)/2
-    # (i.e. at z/2)
-    # q(x) = bx*(x-z) # a may be positive or negative
-    # q(1) = b*(1 - z) = R
-    # q(-1) = b*(1 + z) = L
-    # (1+z)/(1-z) = L/R  (from here it's just algebra to find a)
-    # z + 1 = R/L - (R/L)*z
-    # z*(1+R/L) = R/L - 1
-    # z = (R/L - 1)/(R/L + 1) = (R-L)/(R+L)
-
-
-def rigidalign(reference, targets):
-    """
-    Estimate the relative shift between reference and targets.
-
-    The algorithm works by subtracting the mean, and then locating
-    the maximum of the cross-correlation.  For inputs of length M{N},
-    the running time is M{O(C{len(targets)}*N*log(N))}.
-
-    @param reference: the waveform to regard as fixed
-    @type reference: Sequence(Number)
-    @param targets: the waveforms that should be aligned to reference
-    @type targets: Sequence(Sequence(Number))
-    @returns: The shift necessary to bring each target into alignment
-        with the reference.  The returned shift may not be an integer,
-        indicating that the best alignment would be achieved by a
-        non-integer shift and appropriate interpolation.
-    @rtype: Sequence(Number)
-
-    """
-    # L is the maximum size of a cross-correlation between the
-    # reference and any of the targets.
-    L = len(reference) + max(len(t) for t in targets) - 1
-    # We round up L to the next power of 2 for speed in the FFT.
-    L = nextpow2(L)
-    reference = reference - numpy.mean(reference)
-    fref = numpy.fft.rfft(reference, L).conj()
-    shifts = []
-    for t in targets:
-        t = t - numpy.mean(t)
-        # Compute cross-correlation
-        xcorr = numpy.fft.irfft(fref * numpy.fft.rfft(t, L))
-        # shift maximizes dotproduct(t[shift:],reference)
-        # int() to convert numpy.int32 to python int
-        shift = int(numpy.argmax(xcorr))
-        subsample_shift = submax(xcorr[(shift - 1) % L],
-                                 xcorr[shift],
-                                 xcorr[(shift + 1) % L])
-        shift = shift + subsample_shift
-        # shift is now a float indicating the interpolated maximum
-        if shift >= len(t):  # Negative shifts appear large and positive
-            shift -= L       # This corrects them to be negative
-        shifts.append(-shift)
-        # Sign reversed to move the target instead of the reference
-    return shifts
-
-
-def _findslope(a):
-    # Helper function for affinealign
-    # The provided matrix a contains a bright line whose slope we want to know,
-    # against a noisy background.
-    # The line starts at 0,0.  If the slope is positive, it runs toward the
-    # center of the matrix (i.e. toward (-1,-1))
-    # If the slope is negative, it wraps from 0,0 to 0,-1 and continues toward
-    # the center, (i.e. toward (-1,0)).
-    # The line segment terminates at the midline along the X direction.
-    # We locate the line by simply checking the sum along each possible line
-    # up to the Y-max edge of a.  The caller sets the limit by choosing the
-    # size of a.
-    # The function returns a floating-point slope assuming that the matrix
-    # has "square pixels".
-    Y, X = a.shape
-    X /= 2
-    x_pos = numpy.arange(1, X)
-    x_neg = numpy.arange(2 * X - 1, X, -1)
-    best_end = 0
-    max_sum = 0
-    for end in range(Y):
-        y = (x_pos * end) // X
-        s = numpy.sum(a[y, x_pos])
-        if s > max_sum:
-            max_sum = s
-            best_end = end
-        s = numpy.sum(a[y, x_neg])
-        if s > max_sum:
-            max_sum = s
-            best_end = -end
-    return float(best_end) / X
-
-
-def affinealign(reference, targets, max_drift=0.02):
-    """ EXPERIMENTAL FUNCTION.
-
-    Perform an affine registration between a reference and a number of
-    targets.  Designed for aligning the amplitude envelopes of recordings of
-    the same event by different devices.
-
-    NOTE: This method is currently NOT USED by Pitivi, as it has proven both
-    unnecessary and unusable.  So far every test case has been registered
-    successfully by rigidalign, and until Pitivi supports time-stretching of
-    audio, the drift calculation cannot actually be used.
-
-    @param reference: the reference signal to which others will be registered
-    @type reference: array(number)
-    @param targets: the signals to register
-    @type targets: ordered iterable(array(number))
-    @param max_drift: the maximum absolute clock drift rate
-                  (i.e. stretch factor) that will be considered during search
-    @type max_drift: positive L{float}
-    @return: (offsets, drifts).  offsets[i] is the point in reference at which
-           targets[i] starts.  drifts[i] is the speed of targets[i] relative to
-           the reference (positive is faster, meaning the target should be
-           slowed down to be in sync with the reference)
-    """
-    L = len(reference) + max(len(t) for t in targets) - 1
-    L2 = nextpow2(L)
-    bsize = int(20. / max_drift)  # NEEDS TUNING
-    num_blocks = nextpow2(1.0 * len(reference) // bsize)  # NEEDS TUNING
-    bspace = (len(reference) - bsize) // num_blocks
-    reference -= numpy.mean(reference)
-
-    # Construct FFT'd reference blocks
-    freference_blocks = numpy.zeros((L2 / 2 + 1, num_blocks),
-                                    dtype=numpy.complex)
-    for i in range(num_blocks):
-        s = i * bspace
-        tmp = numpy.zeros((L2,))
-        tmp[s:s + bsize] = reference[s:s + bsize]
-        freference_blocks[:, i] = numpy.fft.rfft(tmp, L2).conj()
-    freference_blocks[:10, :] = 0  # High-pass to ignore slow volume variations
-
-    offsets = []
-    drifts = []
-    for t in targets:
-        t -= numpy.mean(t)
-        ft = numpy.fft.rfft(t, L2)
-        # fxcorr is the FFT'd cross-correlation with the reference blocks
-        fxcorr_blocks = numpy.zeros((L2 / 2 + 1, num_blocks),
-                                    dtype=numpy.complex)
-        for i in range(num_blocks):
-            fxcorr_blocks[:, i] = ft * freference_blocks[:, i]
-            fxcorr_blocks[:, i] /= numpy.sqrt(
-                numpy.sum(fxcorr_blocks[:, i] ** 2))
-        del ft
-        # At this point xcorr_blocks would show a distinct bright line, nearly
-        # orthogonal to time, indicating where each of these blocks found their
-        # peak.  Each point on this line represents the time in t where block i
-        # found its match.  The time-intercept gives the time in b at which the
-        # reference starts, and the slope gives the amount by which the
-        # reference is faster relative to b.
-
-        # The challenge now is to find this line.  Our strategy is to reduce the
-        # search to one dimension by first finding the slope.
-        # The Fourier Transform of a smooth real line in 2D is an orthogonal
-        # line through the origin, with phase that gives its position.
-        # Unfortunately this line is not clearly visible in fxcorr_blocks, so
-        # we discard the phase (by taking the absolute value) and then inverse
-        # transform.  This places the line at the origin, so we can find its
-        # slope.
-
-        # Construct the half-autocorrelation matrix
-        # (A true autocorrelation matrix would be ifft(abs(fft(x))**2), but this
-        # is just ifft(abs(fft(x))).)
-        # Construction is stepwise partly in an attempt to save memory
-        # The width is 2*num_blocks in order to avoid overlapping positive and
-        # negative correlations
-        halfautocorr = numpy.fft.fft(fxcorr_blocks, 2 * num_blocks, 1)
-        halfautocorr = numpy.abs(halfautocorr)
-        halfautocorr = numpy.fft.ifft(halfautocorr, None, 1)
-        halfautocorr = numpy.fft.irfft(halfautocorr, None, 0)
-        # Now it's actually the half-autocorrelation.
-        # Chop out the bit we don't care about
-        halfautocorr = halfautocorr[:bspace * num_blocks * max_drift, :]
-        # Remove the local-correlation peak.
-        halfautocorr[-1:2, -1:2] = 0  # NEEDS TUNING
-        # Normalize each column (appears to be necessary)
-        for i in range(2 * num_blocks):
-            halfautocorr[:, i] /= numpy.sqrt(
-                numpy.sum(halfautocorr[:, i] ** 2))
-        drift = _findslope(halfautocorr) / bspace
-        del halfautocorr
-
-        # inverse transform and shift everything into alignment
-        xcorr_blocks = numpy.fft.irfft(fxcorr_blocks, None, 0)
-        del fxcorr_blocks
-        # TODO: see if phase ramps are worthwhile here
-        for i in range(num_blocks):
-            blockcenter = i * bspace + bsize / 2
-            shift = int(blockcenter * drift)
-            if shift > 0:
-                temp = xcorr_blocks[:shift, i].copy()
-                xcorr_blocks[:-shift, i] = xcorr_blocks[shift:, i].copy()
-                xcorr_blocks[-shift:, i] = temp
-            elif shift < 0:
-                temp = xcorr_blocks[shift:, i].copy()
-                xcorr_blocks[-shift:, i] = xcorr_blocks[:shift, i].copy()
-                xcorr_blocks[:-shift, i] = temp
-
-        # xcorr is the drift-compensated cross-correlation
-        xcorr = numpy.sum(xcorr_blocks, axis=1)
-        del xcorr_blocks
-
-        offset = numpy.argmax(xcorr)
-        del xcorr
-        if offset >= len(t):
-            offset -= L2
-
-        # now offset is the point in target at which reference starts and
-        # drift is the speed with which the reference drifts relative to the
-        # target.  We reverse these relationships for the caller.
-        slope = 1 + drift
-        offsets.append(-offset / slope)
-        drifts.append(1 / slope - 1)
-    return offsets, drifts
-
-
-def getAudioTrack(clip):
-    """
-    Helper function for getting an audio track from a Clip
-
-    @param clip: The Clip from which to locate an audio track
-    @type clip: L{Clip}
-    @returns: An audio track from clip, or None if clip has no audio track
-    @rtype: audio L{TrackElement} or L{NoneType}
-    """
-    for track in clip.track_elements:
-        if track.stream_type == AudioStream:
-            return track
-    return None
-
-
-class ProgressMeter:
-
-    """Abstract interface representing a progress meter."""
-
-    def addWatcher(self, function):
-        """ Add a progress watching callback function.  This callback will
-        always be called from the main thread.
-
-        @param function: a function to call with progress updates.
-        @type function: callable(fractional_progress, time_remaining_text).
-            fractional_progress is a float normalized to [0,1].
-            time_remaining_text is a localized text string indicating the
-            estimated time remaining.
-        """
-        raise NotImplementedError
-
-
-class ProgressAggregator(ProgressMeter):
-
-    """A ProgressMeter that aggregates progress reports.
-
-    Reports from multiple sources are combined into a unified progress
-    report.
-
-    """
-
-    def __init__(self):
-        # _targets is a list giving the size of each task.
-        self._targets = []
-        # _portions is a list of the same length as _targets, indicating
-        # the portion of each task that as been completed (initially 0).
-        self._portions = []
-        self._start = time.time()
-        self._watchers = []
-
-    def getPortionCB(self, target):
-        """Prepare a new input for the Aggregator.
-
-        Given a target size
-        (in arbitrary units, but should be consistent across all calls on
-        a single ProgressAggregator object), it returns a callback that
-        can be used to update progress on this portion of the task.
-
-        @param target: the total task size for this portion
-        @type target: number
-        @returns: a callback that can be used to inform the Aggregator of
-            subsequent updates to this portion
-        @rtype: function(x), where x should be a number indicating the
-            absolute amount of this subtask that has been completed.
-
-        """
-        i = len(self._targets)
-        self._targets.append(target)
-        self._portions.append(0)
-
-        def cb(thusfar):
-            self._portions[i] = thusfar
-            GLib.idle_add(self._callForward)
-        return cb
-
-    def addWatcher(self, function):
-        self._watchers.append(function)
-
-    def _callForward(self):
-        # This function always returns False so that it may be safely
-        # invoked via GLib.idle_add(). Use of idle_add() is necessary
-        # to ensure that watchers are always called from the main thread,
-        # even if progress updates are received from other threads.
-        total_target = sum(self._targets)
-        total_completed = sum(self._portions)
-        if total_target == 0:
-            return False
-        frac = min(1.0, float(total_completed) / total_target)
-        now = time.time()
-        remaining = (now - self._start) * (1 - frac) / frac
-        for function in self._watchers:
-            function(frac, beautify_eta(int(remaining * Gst.SECOND)))
-        return False
-
-
-class EnvelopeExtractee(Extractee, Loggable):
-
-    """Class that computes the envelope of a 1-D signal (audio).
-
-    The envelope is defined as the sum of the absolute value of the signal
-    over each block.  This class computes the envelope incrementally,
-    so that the entire signal does not ever need to be stored.
-
-    """
-
-    def __init__(self, blocksize, callback, *cbargs):
-        """
-        @param blocksize: the number of samples in a block
-        @type blocksize: L{int}
-        @param callback: a function to call when the extraction is complete.
-            The function's first argument will be a numpy array
-            representing the envelope, and any later argument to this
-            function will be passed as subsequent arguments to callback.
-
-        """
-        Loggable.__init__(self)
-        self._blocksize = blocksize
-        self._cb = callback
-        self._cbargs = cbargs
-        self._blocks = numpy.zeros((0,), dtype=numpy.float32)
-        self._empty = array.array('f', [])
-        # self._samples buffers up to self._threshold samples, before
-        # their envelope is computed and store in self._blocks, in order
-        # to amortize some of the function call overheads.
-        self._samples = array.array('f', [])
-        self._threshold = 2000 * blocksize
-        self._progress_watchers = []
-
-    def receive(self, a):
-        self._samples.extend(a)
-        if len(self._samples) < self._threshold:
-            return
-        else:
-            self._process_samples()
-
-    def addWatcher(self, w):
-        """
-        Add a function to call with progress updates.
-
-        @param w: callback function
-        @type w: function(# of samples received so far)
-
-        """
-        self._progress_watchers.append(w)
-
-    def _process_samples(self):
-        excess = len(self._samples) % self._blocksize
-        if excess != 0:
-            samples_to_process = self._samples[:-excess]
-            self._samples = self._samples[-excess:]
-        else:
-            samples_to_process = self._samples
-            self._samples = array.array('f', [])
-        self.debug("Adding %s samples to %s blocks",
-                   len(samples_to_process), len(self._blocks))
-        newblocks = len(samples_to_process) // self._blocksize
-        samples_abs = numpy.abs(
-            samples_to_process).reshape((newblocks, self._blocksize))
-        self._blocks.resize((len(self._blocks) + newblocks,))
-        # This numpy.sum() call relies on samples_abs being a
-        # floating-point type. If samples_abs.dtype is int16
-        # then the sum may overflow.
-        self._blocks[-newblocks:] = numpy.sum(samples_abs, 1)
-        for w in self._progress_watchers:
-            w(self._blocksize * len(self._blocks) + excess)
-
-    def finalize(self):
-        self._process_samples()  # absorb any remaining buffered samples
-        self._cb(self._blocks, *self._cbargs)
-
-
 class AutoAligner(Loggable):
+    """Logic for aligning clips based on their audio."""
 
-    """
-    Class for aligning a set of L{Clip}s automatically.
-
-    The alignment is based on their contents, so that the shifted tracks
-    are synchronized.  The current implementation only analyzes audio
-    data, so timeline objects without an audio track cannot be aligned.
-
-    """
-
-    BLOCKRATE = 25
-    """
-    @ivar BLOCKRATE: The number of amplitude blocks per second.
-
-    The AutoAligner works by computing the "amplitude envelope" of each
-    audio stream.  We define an amplitude envelope as the absolute value
-    of the audio samples, downsampled to a low samplerate.  This
-    samplerate, in Hz, is given by BLOCKRATE.  (It is given this name
-    because the downsampling filter is implemented by very simple
-    averaging over blocks, i.e. a box filter.)  25 Hz appears to be a
-    good choice because it evenly divides all common audio samplerates
-    (e.g. 11025 and 8000). Lower blockrate requires less CPU time but
-    produces less accurate alignment.  Higher blockrate is the reverse
-    (and also cannot evenly divide all samplerates).
-
-    """
-
-    def __init__(self, clips, callback):
-        """
-        @param clips: an iterable of L{Clip}s.
-            In this implementation, only L{Clip}s with at least one
-            audio track will be aligned.
-        @type clips: iter(L{Clip})
-        @param callback: A function to call when alignment is complete.  No
-            arguments will be provided.
-        @type callback: function
-
-        """
+    def __init__(self, selection):
         Loggable.__init__(self)
-        # self._clips maps each object to its envelope.  The values
-        # are initially None prior to envelope extraction.
-        self._clips = dict.fromkeys(clips)
-        self._callback = callback
-        # stack of (Track, Extractee) pairs waiting to be processed
-        # When start() is called, the stack will be populated, and then
-        # processed sequentially.  Only one item from the stack will be
-        # actively in process at a time.
-        self._extraction_stack = []
+        # Remove transition clips if any.
+        clips = [clip for clip in selection if isinstance(clip, GES.UriClip)]
+        # Sorting the clip in descending order according to their length
+        self._clips: List[GES.Clip] = sorted(clips,
+                                             key=lambda clip: clip.props.duration,
+                                             reverse=True)
+
+    def _get_peaks(self,
+                   clips: List[GES.Clip]
+                   ) -> List[numpy.typing.NDArray[numpy.float64]]:
+        """Returns peak values of each clip from its wave cache."""
+        peaks = []
+        for clip in clips:
+            wavefile = get_wavefile_location_for_uri(clip.get_uri())
+            clip_peaks = numpy.load(wavefile)
+
+            # Slice out samples of trimmed part.
+            start = clip.inpoint // SAMPLE_DURATION
+            end = (clip.inpoint + clip.duration) // SAMPLE_DURATION
+            peaks.append(clip_peaks[start:end])
+        return peaks
 
     @staticmethod
-    def canAlign(clips):
-        """
-        Can an AutoAligner align these objects?
-
-        Determine whether a group of timeline objects can all
-        be aligned together by an AutoAligner.
-
-        @param clips: a group of timeline objects
-        @type clips: iterable(L{Clip})
-        @returns: True iff the objects can aligned.
-        @rtype: L{bool}
-
-        """
-        # numpy is a "soft dependency".  If you're running without numpy,
-        # this False return value is your only warning not to
-        # use the AutoAligner, which will crash immediately.
-        return all(getAudioTrack(t) is not None for t in clips)
-
-    def _extractNextEnvelope(self):
-        audiotrack, extractee = self._extraction_stack.pop()
-        r = RandomAccessAudioExtractor(audiotrack.factory,
-                                       audiotrack.stream)
-        r.extract(extractee, audiotrack.in_point,
-                  audiotrack.out_point - audiotrack.in_point)
-        return False
-
-    def _envelopeCb(self, array, clip):
-        self.debug("Receiving envelope for %s", clip)
-        self._clips[clip] = array
-        if self._extraction_stack:
-            self._extractNextEnvelope()
-        else:  # This was the last envelope
-            self._performShifts()
-            self._callback()
-
-    def start(self):
-        """
-        Initiate the auto-alignment process.
-
-        @returns: a L{ProgressMeter} indicating the progress of the
-            alignment
-        @rtype: L{ProgressMeter}
-
-        """
-        progress_aggregator = ProgressAggregator()
-        pairs = []  # (Clip, {audio}TrackElement) pairs
-        for clip in list(self._clips.keys()):
-            audiotrack = getAudioTrack(clip)
-            if audiotrack is not None:
-                pairs.append((clip, audiotrack))
-            else:  # forget any Clip without an audio track
-                self._clips.pop(clip)
-        if len(pairs) >= 2:
-            for clip, audiotrack in pairs:
-                # blocksize is the number of samples per block
-                blocksize = audiotrack.stream.rate // self.BLOCKRATE
-                extractee = EnvelopeExtractee(
-                    blocksize, self._envelopeCb, clip)
-                # numsamples is the total number of samples in the track,
-                # which is used by progress_aggregator to determine
-                # the percent completion.
-                numsamples = ((audiotrack.duration / Gst.SECOND) *
-                              audiotrack.stream.rate)
-                extractee.addWatcher(
-                    progress_aggregator.getPortionCB(numsamples))
-                self._extraction_stack.append((audiotrack, extractee))
-            # After we return, start the extraction cycle.
-            # This GLib.idle_add call should not be necessary;
-            # we should be able to invoke _extractNextEnvelope directly
-            # here.  However, there is some as-yet-unexplained
-            # race condition between the Python GIL, GTK UI updates,
-            # GLib mainloop, and pygst multithreading, resulting in
-            # occasional deadlocks during autoalignment.
-            # This call to idle_add() reportedly eliminates the deadlock.
-            # No one knows why.
-            GLib.idle_add(self._extractNextEnvelope)
-        else:  # We can't do anything without at least two audio tracks
-            # After we return, call the callback function (once)
-            GLib.idle_add(call_false, self._callback)
-        return progress_aggregator
-
-    def _chooseReference(self):
-        """
-        Chooses the timeline object to use as a reference.
+    def can_align(clips: List[GES.Clip]) -> bool:
+        """Checks if auto alignment of the clips is possible."""
+        if len(clips) < 2:
+            return False
 
-        This function currently selects the one with lowest priority,
-        i.e. appears highest in the GUI.  The behavior of this function
-        affects user interaction, because the user may want to
-        determine which object moves and which stays put.
+        # Check all clips have an audio track.
+        if not (all(c.get_track_types() & GES.TrackType.AUDIO
+                for c in clips)):
+            return False
 
-        @returns: the timeline object with lowest priority.
-        @rtype: L{Clip}
+        # Check every clip is from a different layer.
+        layers = [clip.get_layer() for clip in clips]
+        if len(set(layers)) < len(layers):
+            return False
 
+        # Check if peaks data have been generated by the previewer.
+        for clip in clips:
+            peaks_file_uri = get_wavefile_location_for_uri(clip.get_uri())
+            if not os.path.isfile(peaks_file_uri):
+                return False
+
+        return True
+
+    def _xalign(self,
+                peaks1: numpy.typing.NDArray[numpy.float64],
+                peaks2: numpy.typing.NDArray[numpy.float64]
+                ) -> numpy.int64:
+        """Calculates lag in peak-arrays of a pair of clips using cross correlation."""
+        corr = correlate(peaks1, peaks2)
+        lags = correlation_lags(peaks1.size, peaks2.size)
+        lag = lags[numpy.argmax(corr)]
+        return lag
+
+    def _calculate_shifts(self,
+                          peaks: List[numpy.typing.NDArray[numpy.float64]]
+                          ) -> List[numpy.int64]:
+        """Calculates the shift required by target clips wrt to reference clip.
+
+        Args:
+            peaks: List of peak values of each clip.
         """
-        def priority(clip):
-            return clip.priority
-        return min(iter(self._clips.keys()), key=priority)
-
-    def _performShifts(self):
-        self.debug("performing shifts")
-        reference = self._chooseReference()
-        # By using pop(), this line also removes the reference
-        # Clip and its envelope from further consideration,
-        # saving some CPU time in rigidalign.
-        reference_envelope = self._clips.pop(reference)
-        # We call list() because we need a reliable ordering of the pairs
-        # (In python 3, dict.items() returns an unordered dictview)
-        pairs = list(self._clips.items())
-        envelopes = [p[1] for p in pairs]
-        offsets = rigidalign(reference_envelope, envelopes)
-        for (movable, envelope), offset in zip(pairs, offsets):
-            # tshift is the offset rescaled to units of nanoseconds
-            tshift = int((offset * Gst.SECOND) / self.BLOCKRATE)
-            self.debug("Shifting %s to %i ns from %i",
-                       movable, tshift, reference.start)
-            newstart = reference.start + tshift
-            if newstart >= 0:
-                movable.start = newstart
-            else:
-                # Timeline objects always must have a positive start point, so
-                # if alignment would move an object to start at negative time,
-                # we instead make it start at zero and chop off the required
-                # amount at the beginning.
-                movable.start = 0
-                movable.in_point = movable.in_point - newstart
-                movable.duration += newstart
-
-
-class AlignmentProgressDialog:
-
-    """ Dialog indicating the progress of the auto-alignment process.
-        Code derived from L{RenderingProgressDialog}, but greatly simplified
-        (read-only, no buttons)."""
-
-    def __init__(self, app):
-        self.builder = Gtk.Builder()
-        self.builder.add_from_file(
-            os.path.join(configure.get_ui_dir(), "alignmentprogress.ui"))
-        self.builder.connect_signals(self)
+        # Select peaks of largest clip as reference.
+        reference = peaks[0]
+        reference -= reference.mean()
+
+        shifts = []
+        # Adding 0 shift for the reference clip.
+        shifts.append(numpy.int64(0))
+        for clip_peaks in peaks[1:]:
+            clip_peaks -= clip_peaks.mean()
+            shift = self._xalign(reference, clip_peaks)
+            # Converting shift to time to be shifted in ns.
+            shift *= SAMPLE_DURATION
+            shifts.append(shift)
+
+        return shifts
+
+    def run(self) -> None:
+        if not self.can_align(self._clips):
+            return
 
-        self.window = self.builder.get_object("align-progress")
-        self.progressbar = self.builder.get_object("progressbar")
-        # Parent this dialog with mainwindow
-        # set_transient_for allows this dialog to properly
-        # minimize together with the mainwindow.  This method is
-        # taken from RenderingProgressDialog.  In both cases, it appears
-        # to work correctly, although there is a known bug for Gnome 3 in
-        # RenderingProgressDialog (bug #652917)
-        self.window.set_transient_for(app.gui)
+        peaks = self._get_peaks(self._clips)
 
-        # FIXME: Add a cancel button
+        shifts = self._calculate_shifts(peaks)
+        self._perform_shifts(shifts)
 
-    def updatePosition(self, fraction, estimated):
-        self.progressbar.set_fraction(fraction)
-        self.window.set_title(_("%d%% Analyzed") % int(100 * fraction))
-        if estimated:
-            self.progressbar.set_text(_("About %s left") % estimated)
+    def _perform_shifts(self, shifts: List[numpy.int64]) -> None:
+        reference = self._clips[0]
+        starts = [reference.props.start + shift for shift in shifts]
 
+        min_start = min(starts)
+        if min_start < 0:
+            # Adjust the starts to avoid placing clips at a negative position.
+            starts = [start - min_start for start in starts]
 
-if __name__ == '__main__':
-    # Simple command-line test
-    from sys import argv
-    names = argv[1:]
-    envelopes = [numpy.fromfile(n) for n in names]
-    reference = envelopes[-1]
-    offsets, drifts = affinealign(reference, envelopes, 0.02)
-    print(offsets, drifts)
-    import matplotlib.pyplot as plt
-    fig, ax = plt.subplots()
-    for o, d, e in zip(offsets, drifts, envelopes):
-        t = o + (1 + d) * numpy.arange(len(e))
-        ax.plot(t, e / numpy.sqrt(numpy.sum(e ** 2)))
-    plt.show()
+        for clip, start in zip(self._clips, starts):
+            clip.props.start = start
diff --git a/pitivi/clipproperties.py b/pitivi/clipproperties.py
index 8628148..f87e90d 100644
--- a/pitivi/clipproperties.py
+++ b/pitivi/clipproperties.py
@@ -874,7 +874,7 @@ class EffectProperties(Gtk.Expander, Loggable):
             # Drop happened inside the lisbox
             drop_index = widget.get_index()
         else:
-            drop_index = len(self.effects_listbox.get_children()) - 1
+            drop_index = len(self.effects_listbox.get_children())
 
         if drag_context.get_suggested_action() == Gdk.DragAction.COPY:
             # An effect dragged probably from the effects list.
diff --git a/pitivi/configure.py.in b/pitivi/configure.py.in
index 3748efc..3285c30 100644
--- a/pitivi/configure.py.in
+++ b/pitivi/configure.py.in
@@ -94,4 +94,6 @@ def get_plugins_dir():
 def get_user_plugins_dir():
     """Returns our default directory to store non-official plugins."""
     user_data_dir = GLib.get_user_data_dir()
-    return os.path.join(user_data_dir, 'pitivi', 'plugins')
+    user_plugin_dir = os.path.join(user_data_dir, 'pitivi', 'plugins')
+    os.makedirs(user_plugin_dir, exist_ok=True)
+    return user_plugin_dir
diff --git a/pitivi/medialibrary.py b/pitivi/medialibrary.py
index cc7a44e..eb034f5 100644
--- a/pitivi/medialibrary.py
+++ b/pitivi/medialibrary.py
@@ -26,6 +26,7 @@ from enum import IntEnum
 from gettext import gettext as _
 from gettext import ngettext
 from hashlib import md5
+from typing import Any
 from typing import Set
 
 import cairo
@@ -113,6 +114,14 @@ class AssetStoreItem(GObject.GObject):
         else:
             self.tags = set(tags.split(","))
 
+    def compare_alphabetical(self, other: "AssetStoreItem", _data: Any):
+        if self.uri < other.uri:
+            return -1
+        elif self.uri == other.uri:
+            return 0
+        else:
+            return 1
+
 
 class TagState(IntEnum):
     """How the tag is associated with assets under selection."""
@@ -237,7 +246,7 @@ class FileChooserExtraWidget(Gtk.Box, Loggable):
     def __update_scaled_proxy_check(self):
         target_width = self.app.project_manager.current_project.scaled_proxy_width
         target_height = self.app.project_manager.current_project.scaled_proxy_height
-        self.scaled_proxy_check.set_label(_("Scale assets larger than %s×%s px.") % (target_width, target_height))
+        self.scaled_proxy_check.set_label(_("Scale down assets larger than %s×%s px.") % (target_width, target_height))
 
     def save_values(self):
         self.app.settings.closeImportDialog = not self.__keep_open_check.get_active()
@@ -919,7 +928,7 @@ class MediaLibraryWidget(Gtk.Box, Loggable):
 
             asset.connect("notify-meta", self.asset_meta_changed_cb)
             self.witnessed_tags.update(item.tags)
-            self.store.append(item)
+            self.store.insert_sorted(item, AssetStoreItem.compare_alphabetical, None)
 
             thumb_decorator.connect("thumb-updated", self.__thumb_updated_cb, asset)
 
diff --git a/pitivi/shortcuts.py b/pitivi/shortcuts.py
index 8b8b727..c9fd815 100644
--- a/pitivi/shortcuts.py
+++ b/pitivi/shortcuts.py
@@ -58,10 +58,12 @@ class ShortcutsManager(GObject.Object):
 
         with open(self.config_path, "r", encoding="UTF-8") as conf_file:
             for line in conf_file:
-                action_name, accelerators = line.split(":", 1)
+                action, accelerators = line.split(":", 1)
                 accelerators = accelerators.strip("\n").split(",")
-                self.app.set_accels_for_action(action_name, accelerators)
-                yield action_name
+                # Filter out invalid accelerators coming from the config file.
+                accelerators = [a for a in accelerators if Gtk.accelerator_parse(a).accelerator_key]
+                self.app.set_accels_for_action(action, accelerators)
+                yield action
 
     def save(self):
         """Saves the accelerators for each action to the config file.
diff --git a/pitivi/timeline/previewers.py b/pitivi/timeline/previewers.py
index d9c8110..12224f4 100644
--- a/pitivi/timeline/previewers.py
+++ b/pitivi/timeline/previewers.py
@@ -56,7 +56,12 @@ except ImportError:
     import renderer
 
 
-SAMPLE_DURATION = Gst.SECOND / 100
+# This decides how much data we are collecting for AudioPreviewer.
+# We divide the clip into multiple samples of length SAMPLE_DURATION
+# and then fetch average peak data for each sample using 'level'
+# element. Lowering the value results in more detailed waveform
+# but also increases the time it takes to collect all data.
+SAMPLE_DURATION = Gst.SECOND // 50
 
 # Horizontal space between thumbs.
 THUMB_MARGIN_PX = 3
@@ -176,7 +181,8 @@ class WaveformPreviewer(PreviewerBin):
     def __init__(self):
         PreviewerBin.__init__(self,
                               "tee name=at ! queue ! audioconvert ! audioresample ! "
-                              "audio/x-raw,channels=1 ! level name=level"
+                              "audio/x-raw,channels=1 ! level name=level "
+                              f"interval={SAMPLE_DURATION}"
                               " ! fakesink at. ! queue")
         self.level = self.internal_bin.get_by_name("level")
         self.debug("Creating waveforms!!")
@@ -1125,9 +1131,12 @@ class ThumbnailCache(Loggable):
 
 def delete_all_files_in_dir(path):
     """Deletes the files in path without descending into subdirectories."""
-    for dir_entry in os.scandir(path):
-        if dir_entry.is_file() or dir_entry.is_symlink():
-            os.unlink(dir_entry.path)
+    try:
+        for dir_entry in os.scandir(path):
+            if dir_entry.is_file() or dir_entry.is_symlink():
+                os.unlink(dir_entry.path)
+    except FileNotFoundError:
+        pass
 
 
 def gen_filename(uri, extension):
@@ -1142,11 +1151,12 @@ def get_wavefile_location_for_uri(uri):
         uri = ProxyManager.get_target_uri(uri)
     filename = gen_filename(Gst.uri_get_location(uri), "wave.npy")
     waves_dir = xdg_cache_home("waves")
-    cache_dir = os.path.join(waves_dir, "v1")
+    cache_dir = os.path.join(waves_dir, "v2")
 
     if not os.path.exists(cache_dir):
         os.makedirs(cache_dir)
-        GLib.idle_add(delete_all_files_in_dir, waves_dir)
+        for old_cache_dir in (waves_dir, os.path.join(waves_dir, "v1")):
+            GLib.idle_add(delete_all_files_in_dir, old_cache_dir)
 
     return os.path.join(cache_dir, filename)
 
@@ -1305,7 +1315,7 @@ class AudioPreviewer(Gtk.Layout, Previewer, Zoomable, Loggable):
         rate = internal_duration / duration
 
         inpoint_px = self.ns_to_pixel(start) - self.ns_to_pixel(start - inpoint / rate)
-        max_duration_px = self.ns_to_pixel(clip.maxduration)
+        max_duration_px = self.ns_to_pixel(clip.maxduration / rate)
 
         start_px = min(max(0, inpoint_px + rect.x), max_duration_px)
         end_px = min(max(0, inpoint_px + rect.x + rect.width), max_duration_px)
diff --git a/pitivi/timeline/ruler.py b/pitivi/timeline/ruler.py
index 4f90baa..6e33d98 100644
--- a/pitivi/timeline/ruler.py
+++ b/pitivi/timeline/ruler.py
@@ -25,6 +25,7 @@ from gi.repository import Gtk
 from pitivi.utils.loggable import Loggable
 from pitivi.utils.timeline import Zoomable
 from pitivi.utils.ui import beautify_length
+from pitivi.utils.ui import FONT_SCALING_FACTOR
 from pitivi.utils.ui import gtk_style_context_get_color
 from pitivi.utils.ui import NORMAL_FONT
 from pitivi.utils.ui import PLAYHEAD_COLOR
@@ -76,8 +77,8 @@ FRAME_MIN_WIDTH_PIXELS = 5
 # How short it should be.
 FRAME_HEIGHT_PIXELS = 5
 
-NORMAL_FONT_SIZE = 13
-SMALL_FONT_SIZE = 11
+NORMAL_FONT_SIZE = FONT_SCALING_FACTOR * 13
+SMALL_FONT_SIZE = FONT_SCALING_FACTOR * 11
 
 
 class ScaleRuler(Gtk.DrawingArea, Loggable):
diff --git a/pitivi/timeline/timeline.py b/pitivi/timeline/timeline.py
index 9578637..8b341d6 100644
--- a/pitivi/timeline/timeline.py
+++ b/pitivi/timeline/timeline.py
@@ -28,7 +28,6 @@ from gi.repository import Gst
 from gi.repository import Gtk
 
 from pitivi.action_search_bar import ActionSearchBar
-from pitivi.autoaligner import AlignmentProgressDialog
 from pitivi.autoaligner import AutoAligner
 from pitivi.configure import get_ui_dir
 from pitivi.configure import in_devel
@@ -1670,6 +1669,7 @@ class TimelineContainer(Gtk.Grid, Zoomable, Loggable):
         self.forward_one_frame_action.set_enabled(project_loaded)
         self.backward_one_second_action.set_enabled(project_loaded)
         self.forward_one_second_action.set_enabled(project_loaded)
+        self.align_clips_action.set_enabled(AutoAligner.can_align(selection))
 
     # Internal API
 
@@ -1861,6 +1861,10 @@ class TimelineContainer(Gtk.Grid, Zoomable, Loggable):
                                self.add_effect_action,
                                _("Add an effect to the selected clip"))
 
+        self.align_clips_action = Gio.SimpleAction.new("align-clips", None)
+        self.align_clips_action.connect("activate", self._align_selected_cb)
+        group.add_action(self.align_clips_action)
+
         if in_devel():
             self.gapless_action = Gio.SimpleAction.new("toggle-gapless-mode", None)
             self.gapless_action.connect("activate", self._gaplessmode_toggled_cb)
@@ -2184,18 +2188,11 @@ class TimelineContainer(Gtk.Grid, Zoomable, Loggable):
         if not self.ges_timeline:
             return
 
-        progress_dialog = AlignmentProgressDialog(self.app)
-        progress_dialog.window.show()
-        self.app.action_log.begin("align", toplevel=True)
-
-        def aligned_cb():  # Called when alignment is complete
-            self.app.action_log.commit()
-            self._project.pipeline.commit_timeline()
-            progress_dialog.window.destroy()
-
-        auto_aligner = AutoAligner(self.timeline.selection, aligned_cb)
-        progress_meter = auto_aligner.start()
-        progress_meter.add_watcher(progress_dialog.update_position)
+        with self.app.action_log.started("Align clips",
+                                         finalizing_action=CommitTimelineFinalizingAction(self._project.pipeline),
+                                         toplevel=True):
+            auto_aligner = AutoAligner(self.timeline.selection)
+            auto_aligner.run()
 
     def _split_cb(self, unused_action, unused_parameter):
         """Splits clips.
diff --git a/pitivi/undo/undo.py b/pitivi/undo/undo.py
index c249745..90c5610 100644
--- a/pitivi/undo/undo.py
+++ b/pitivi/undo/undo.py
@@ -172,6 +172,15 @@ class UndoableActionLog(GObject.Object, Loggable):
 
         The operation will be composed of all the actions which have been
         pushed and also of the committed sub-operations.
+
+        Args:
+            action_group_name (str): The name of the operation.
+            finalizing_action (FinalizingAction): The action to be performed
+                at the end of undoing or redoing the stacked actions.
+            mergeable (bool): Whether this stack accepts merges with future
+                compatible stacks.
+            toplevel (bool): If true, throws error if this operation is
+                started while another one is being recorded.
         """
         if self.running:
             self.debug("Abort because running")
diff --git a/pitivi/utils/extract.py b/pitivi/utils/extract.py
deleted file mode 100644
index bda9734..0000000
--- a/pitivi/utils/extract.py
+++ /dev/null
@@ -1,247 +0,0 @@
-# -*- coding: utf-8 -*-
-# Pitivi video editor
-# Copyright (c) 2005, Edward Hervey <bilboed@bilboed.com>
-# Copyright (c) 2011, Benjamin M. Schwartz <bens@alum.mit.edu>
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this program; if not, see <http://www.gnu.org/licenses/>.
-"""
-Classes for extracting decoded contents of streams into Python
-
-Code derived from ui/previewer.py.
-"""
-# FIXME reimplement after GES port
-from collections import deque
-
-from gi.repository import Gst
-
-from pitivi.utils.loggable import Loggable
-# from pitivi.elements.singledecodebin import SingleDecodeBin
-# from pitivi.elements.extractionsink import ExtractionSink
-
-
-def linkDynamic(element, target):
-
-    def pad_added(unused_bin, pad, target):
-        compatpad = target.get_compatible_pad(pad)
-        if compatpad:
-            pad.link_full(compatpad, Gst.PAD_LINK_CHECK_NOTHING)
-    element.connect("pad-added", pad_added, target)
-
-
-def pipeline(graph):
-    E = iter(graph.items())
-    V = iter(graph.keys())
-    p = Gst.Pipeline()
-    p.add(*V)
-    for u, v in E:
-        if v:
-            try:
-                u.link(v)
-            except Gst.LinkError:
-                linkDynamic(u, v)
-    return p
-
-
-class Extractee:
-
-    """Abstract base class for receiving raw data from an L{Extractor}."""
-
-    def receive(self, array):
-        """
-        Receive a chunk of data from an Extractor.
-
-        @param array: The chunk of data as an array
-        @type array: any kind of numeric array
-
-        """
-        raise NotImplementedError
-
-    def finalize(self):
-        """
-        Inform the Extractee that receive() will not be called again.
-
-        Indicates that the extraction is complete, so the Extractee should
-            process the data it has received.
-
-        """
-        raise NotImplementedError
-
-
-class Extractor(Loggable):
-
-    """
-    Abstract base class for extraction of raw data from a stream.
-
-    Closely modeled on L{Previewer}.
-
-    """
-
-    def __init__(self, factory, stream_):
-        """
-        Create a new Extractor.
-
-        @param factory: the factory with which to decode the stream
-        @type factory: L{ObjectFactory}
-        @param stream_: the stream to decode
-        @type stream_: L{Stream}
-        """
-        Loggable.__init__(self)
-        self.debug("Initialized with %s %s", factory, stream_)
-
-    def extract(self, extractee, start, duration):
-        """
-        Extract the raw data corresponding to a segment of the stream.
-
-        @param extractee: the L{Extractee} that will receive the raw data
-        @type extractee: L{Extractee}
-        @param start: The point in the stream at which the segment starts
-            (nanoseconds)
-        @type start: L{long}
-        @param duration: The duration of the segment (nanoseconds)
-        @type duration: L{long}
-
-        """
-        raise NotImplementedError
-
-
-class RandomAccessExtractor(Extractor):
-
-    """
-    Abstract class for L{Extractor}s of random access streams.
-
-    Closely inspired by L{RandomAccessPreviewer}.
-
-    """
-
-    def __init__(self, factory, stream_):
-        Extractor.__init__(self, factory, stream_)
-        # FIXME:
-        # why doesn't this work?
-        # bin = factory.makeBin(stream_)
-        uri = factory.uri
-        caps = stream_.caps
-        bin = SingleDecodeBin(uri=uri, caps=caps, stream=stream_)
-
-        self._pipelineInit(factory, bin)
-
-    def _pipelineInit(self, factory, bin):
-        """
-        Create the pipeline for the preview process.
-
-        Subclasses should
-        override this method and create a pipeline, connecting to
-        callbacks to the appropriate signals, and prerolling the
-        pipeline if necessary.
-
-        """
-        raise NotImplementedError
-
-
-class RandomAccessAudioExtractor(RandomAccessExtractor):
-
-    """
-    L{Extractor} for random access audio streams.
-
-    Closely inspired by L{RandomAccessAudioPreviewer}.
-
-    """
-
-    def __init__(self, factory, stream_):
-        self._queue = deque()
-        RandomAccessExtractor.__init__(self, factory, stream_)
-        self._ready = False
-
-    def _pipelineInit(self, factory, sbin):
-        self.audioSink = ExtractionSink()
-        self.audioSink.set_stopped_cb(self._finishSegment)
-        # This audiorate element ensures that the extracted raw-data
-        # timeline matches the timestamps used for seeking, even if the
-        # audio source has gaps or other timestamp abnormalities.
-        audiorate = Gst.ElementFactory.make("audiorate")
-        conv = Gst.ElementFactory.make("audioconvert")
-        q = Gst.ElementFactory.make("queue")
-        self.audioPipeline = pipeline({
-            sbin: audiorate,
-            audiorate: conv,
-            conv: q,
-            q: self.audioSink,
-            self.audioSink: None})
-        bus = self.audioPipeline.get_bus()
-        bus.add_signal_watch()
-        bus.connect("message::error", self._busMessageErrorCb)
-        self._donecb_id = bus.connect("message::async-done",
-                                      self._busMessageAsyncDoneCb)
-
-        self.audioPipeline.set_state(Gst.State.PAUSED)
-        # The audiopipeline.set_state() method does not take effect
-        # immediately, but the extraction process (and in particular
-        # self._startSegment) will not work properly until
-        # self.audioPipeline reaches the desired state (State.PAUSED).
-        # To ensure that this is the case, we wait until the ASYNC_DONE
-        # message is received before setting self._ready = True,
-        # which enables extraction to proceed.
-
-    def _busMessageErrorCb(self, unused_bus, message):
-        error, debug = message.parse_error()
-        self.error("Event bus error: %s; %s", error, debug)
-
-        return Gst.BusSyncReply.PASS
-
-    def _busMessageAsyncDoneCb(self, bus, unused_message):
-        self.debug("Pipeline is ready for seeking")
-        bus.disconnect(self._donecb_id)  # Don't call me again
-        self._ready = True
-        if self._queue:  # Someone called .extract() before we were ready
-            self._run()
-
-    def _startSegment(self, timestamp, duration):
-        self.debug("processing segment with timestamp=%i and duration=%i",
-                   timestamp, duration)
-        res = self.audioPipeline.seek(1.0,
-                                      Gst.Format.TIME,
-                                      Gst.SeekFlags.FLUSH | Gst.SeekFlags.ACCURATE,
-                                      Gst.SeekType.SET, timestamp,
-                                      Gst.SeekType.SET, timestamp + duration)
-        if not res:
-            self.warning("seek failed %s", timestamp)
-        self.audioPipeline.set_state(Gst.State.PLAYING)
-
-        return res
-
-    def _finishSegment(self):
-        self.audioSink.extractee.finalize()
-        self.audioSink.reset()
-        self._queue.popleft()
-        # If there's more to do, keep running
-        if self._queue:
-            self._run()
-
-    def extract(self, extractee, start, duration):
-        stopped = not self._queue
-        self._queue.append((extractee, start, duration))
-        if stopped and self._ready:
-            self._run()
-        # if self._ready is False, self._run() will be called from
-        # self._busMessageDoneCb().
-
-    def _run(self):
-        # Control flows in a cycle:
-        # _run -> _startSegment -> busMessageSegmentDoneCb -> _finishSegment -> _run
-        # This forms a loop that extracts an entire segment (i.e. satisfies an
-        # extract request) in each cycle. The cycle
-        # runs until the queue of Extractees empties.  If the cycle is not
-        # running, extract() will kick it off again.
-        extractee, start, duration = self._queue[0]
-        self.audioSink.set_extractee(extractee)
-        self._startSegment(start, duration)
diff --git a/pitivi/utils/pipeline.py b/pitivi/utils/pipeline.py
index 354e8c9..d850556 100644
--- a/pitivi/utils/pipeline.py
+++ b/pitivi/utils/pipeline.py
@@ -208,6 +208,8 @@ class SimplePipeline(GObject.Object, Loggable):
         if self.playing():
             self.pause()
         else:
+            if self._duration <= self._last_position:
+                self.simple_seek(0)
             self.play()
 
     # Position and Seeking methods
diff --git a/pitivi/utils/ui.py b/pitivi/utils/ui.py
index cf591dd..4c58990 100644
--- a/pitivi/utils/ui.py
+++ b/pitivi/utils/ui.py
@@ -83,6 +83,8 @@ CURSORS = {
 NORMAL_CURSOR = Gdk.Cursor.new(Gdk.CursorType.LEFT_PTR)
 DRAG_CURSOR = Gdk.Cursor.new(Gdk.CursorType.HAND1)
 
+SCHEMA_SETTINGS_SOURCE = Gio.SettingsSchemaSource.get_default()
+
 
 def get_month_format_string():
     """Returns the appropriate format string for month name in time.strftime() function."""
@@ -98,17 +100,25 @@ def get_month_format_string():
 MONTH_FORMAT_STRING = get_month_format_string()
 
 
-def _get_settings(schema):
-    if schema not in Gio.Settings.list_schemas():
+def _get_settings(schema_id: str) -> Optional[Gio.Settings]:
+    if SCHEMA_SETTINGS_SOURCE is None:
         return None
-    try:
-        return Gio.Settings(schema_id=schema)
-    except TypeError:
-        # Gtk 3.10
-        return Gio.Settings(schema=schema)
+    schema = SCHEMA_SETTINGS_SOURCE.lookup(schema_id, recursive=False)
+    if not schema:
+        return None
+    return Gio.Settings.new_full(schema, backend=None, path=None)
+
 
+def _get_font_scaling_factor() -> float:
+    scaling_factor = 1.0
+    settings = _get_settings("org.gnome.desktop.interface")
+    if settings:
+        if "text-scaling-factor" in settings.list_keys():
+            scaling_factor = settings.get_double("text-scaling-factor")
+    return scaling_factor
 
-def _get_font(font_spec, default):
+
+def _get_font(font_spec: str, default: str) -> str:
     raw_font = default
     settings = _get_settings("org.gnome.desktop.interface")
     if settings:
@@ -121,6 +131,8 @@ def _get_font(font_spec, default):
 NORMAL_FONT = _get_font("font-name", "Cantarell")
 DOCUMENT_FONT = _get_font("document-font-name", "Sans")
 MONOSPACE_FONT = _get_font("monospace-font-name", "Monospace")
+FONT_SCALING_FACTOR = _get_font_scaling_factor()
+
 
 GREETER_PERSPECTIVE_CSS = """
     #empty_greeter_msg_title {
diff --git a/po/ca.po b/po/ca.po
index cfbbd1b..b55b9ba 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -17,15 +17,15 @@
 # Pau Iranzo <paugnu@gmail.com>, 2010.
 # Joan Duran <jodufi@gmail.com>, 2011.
 # Pere Orga <pere@orga.cat>, 2012.
-# Jordi Mas i Hernàndez <jmas@softcatala.org>, 2016, 2017, 2020, 2021
+# Jordi Mas i Hernàndez <jmas@softcatala.org>, 2016, 2017, 2020, 2021, 2022
 # Carles Ferrando Garcia <carles.ferrando@gmail.com>, 2017.
 msgid ""
 msgstr ""
 "Project-Id-Version: pitivi\n"
 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/pitivi/issues\n"
-"POT-Creation-Date: 2022-04-10 23:42+0000\n"
-"PO-Revision-Date: 2017-09-18 15:58+0200\n"
-"Last-Translator: Jordi Mas <jmas@softcatala.org>\n"
+"POT-Creation-Date: 2022-07-24 04:44+0000\n"
+"PO-Revision-Date: 2022-09-15 15:58+0200\n"
+"Last-Translator: Jordi Mas i Hernàndez <jmas@softcatala.org>\n"
 "Language-Team: Catalan <info@softcatala.org>\n"
 "Language: ca\n"
 "MIME-Version: 1.0\n"
@@ -149,23 +149,23 @@ msgstr "Neteja els ritmes detectats"
 msgid "Detecting..."
 msgstr "S'està detectant..."
 
-#: data/ui/clipcolor.ui:21
+#: data/ui/clipcolor.ui:21 data/ui/customwidgets/pitivi:object_effect.ui:37
 msgid "Pick the clip color"
 msgstr "Trieu el color del clip"
 
-#: data/ui/clipcompositing.ui:43
+#: data/ui/clipcompositing.ui:42
 msgid "Fade-in:"
 msgstr "Apareixement:"
 
-#: data/ui/clipcompositing.ui:55 data/ui/clipcompositing.ui:123
+#: data/ui/clipcompositing.ui:54 data/ui/clipcompositing.ui:122
 msgid "seconds"
 msgstr "segons"
 
-#: data/ui/clipcompositing.ui:98
+#: data/ui/clipcompositing.ui:97
 msgid "Fade-out:"
 msgstr "Esvaïment:"
 
-#: data/ui/clipcompositing.ui:151
+#: data/ui/clipcompositing.ui:150
 msgid "Reset fade-in"
 msgstr "Reinicia l'esvaïment"
 
@@ -173,6 +173,10 @@ msgstr "Reinicia l'esvaïment"
 msgid "Reset fade-out"
 msgstr "Reinicia l'apareixement"
 
+#: data/ui/clipcompositing.ui:181
+msgid "Blending:"
+msgstr "Barreja:"
+
 #: data/ui/clipmediaprops.ui:8
 msgid "Clip Properties"
 msgstr "Propietats de la seqüència"
@@ -350,6 +354,10 @@ msgstr "alfa mínima"
 msgid "max alpha"
 msgstr "alfa màxima"
 
+#: data/ui/customwidgets/pitivi:object_effect.ui:19
+msgid "Color:"
+msgstr "Color:"
+
 #: data/ui/effectslibrary.ui:16
 msgid "Favorites"
 msgstr "Preferits"
@@ -572,13 +580,13 @@ msgstr "Restringeix les proporcions"
 msgid "Maintain aspect ratio"
 msgstr "Mantén la relació d'aspecte"
 
-#: data/ui/projectsettings.ui:330 data/ui/renderingdialog.ui:734
+#: data/ui/projectsettings.ui:330 data/ui/renderingdialog.ui:732
 msgid "Frame rate:"
 msgstr "Imatges per segon:"
 
 #. The title of the section with the video settings
-#: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:752
-#: pitivi/clip_properties/markers.py:45 pitivi/effects.py:246
+#: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:750
+#: pitivi/clip_properties/markers.py:45 pitivi/effects.py:249
 msgid "Video"
 msgstr "Vídeo"
 
@@ -632,20 +640,20 @@ msgstr "Renderitza"
 msgid "Quality:"
 msgstr "Qualitat:"
 
-#: data/ui/renderingdialog.ui:179 pitivi/clip_properties/markers.py:48
+#: data/ui/renderingdialog.ui:177 pitivi/clip_properties/markers.py:48
 #: pitivi/render.py:74
 msgid "Custom"
 msgstr "Personalitza"
 
-#: data/ui/renderingdialog.ui:246
+#: data/ui/renderingdialog.ui:244
 msgid "Container format:"
 msgstr "Format del contenidor:"
 
-#: data/ui/renderingdialog.ui:313
+#: data/ui/renderingdialog.ui:311
 msgid "Automatically render from proxy files"
 msgstr "Renderitza automàticament des de fitxers intermediaris"
 
-#: data/ui/renderingdialog.ui:317
+#: data/ui/renderingdialog.ui:315
 msgid ""
 "Use proxy files if they are available and the source asset media format is not officially supported.\n"
 "\n"
@@ -655,11 +663,11 @@ msgstr ""
 "\n"
 "Aquesta opció és una bona compensació entre la qualitat del vídeo renderitzat i l'estabilitat."
 
-#: data/ui/renderingdialog.ui:332
+#: data/ui/renderingdialog.ui:330
 msgid "Always render from proxy files"
 msgstr "Renderitza sempre des de fitxers intermediaris"
 
-#: data/ui/renderingdialog.ui:336
+#: data/ui/renderingdialog.ui:334
 msgid ""
 "Render all proxied clips from the proxy assets. There might be some quality "
 "loss during the rendering process."
@@ -667,11 +675,11 @@ msgstr ""
 "Renderitza totes les seqüències des dels recursos intermediaris. Pot haver-"
 "hi pèrdua de qualitat durant el procés de renderització."
 
-#: data/ui/renderingdialog.ui:349
+#: data/ui/renderingdialog.ui:347
 msgid "Never render from proxy files"
 msgstr "No renderitzis mai des de fitxers intermediaris"
 
-#: data/ui/renderingdialog.ui:353
+#: data/ui/renderingdialog.ui:351
 msgid ""
 "Always use source assets for rendering. It is the best choice for the quality of the rendered video, but you might hit some bugs because of the use of not officially supported media formats.\n"
 "<i>Use at your own risk!</i>"
@@ -679,56 +687,56 @@ msgstr ""
 "Useu sempre recursos font per al renderitzat. Aquesta és la millor elecció per a la qualitat del renderitzat del vídeo, però podeu tindre alguns errors per l'ús de formats de mitjans no suportats oficialment.\n"
 "<i>Utilitzeu-los sota el vostre propi risc!</i>"
 
-#: data/ui/renderingdialog.ui:400
+#: data/ui/renderingdialog.ui:398
 msgid "Channels:"
 msgstr "Canals:"
 
-#: data/ui/renderingdialog.ui:432 data/ui/renderingdialog.ui:653
+#: data/ui/renderingdialog.ui:430 data/ui/renderingdialog.ui:651
 msgid "Advanced..."
 msgstr "Avançat..."
 
-#: data/ui/renderingdialog.ui:472 data/ui/renderingdialog.ui:692
+#: data/ui/renderingdialog.ui:470 data/ui/renderingdialog.ui:690
 msgid "Codec:"
 msgstr "Còdec:"
 
-#: data/ui/renderingdialog.ui:509
+#: data/ui/renderingdialog.ui:507
 msgid "Sample rate:"
 msgstr "Mostres per segon:"
 
-#: data/ui/renderingdialog.ui:527 pitivi/clip_properties/markers.py:46
-#: pitivi/effects.py:122 pitivi/effects.py:246
+#: data/ui/renderingdialog.ui:525 pitivi/clip_properties/markers.py:46
+#: pitivi/effects.py:126 pitivi/effects.py:249
 msgid "Audio"
 msgstr "Àudio"
 
-#: data/ui/renderingdialog.ui:566
+#: data/ui/renderingdialog.ui:564
 msgid "Scale:"
 msgstr "Escala:"
 
-#: data/ui/renderingdialog.ui:599
+#: data/ui/renderingdialog.ui:597
 msgid "Scale"
 msgstr "Escala"
 
-#: data/ui/renderingdialog.ui:619
+#: data/ui/renderingdialog.ui:617
 msgid "Height"
 msgstr "Alçada"
 
-#: data/ui/renderingdialog.ui:638
+#: data/ui/renderingdialog.ui:636
 msgid "Project Settings..."
 msgstr "Paràmetres del projecte..."
 
-#: data/ui/renderingdialog.ui:718
+#: data/ui/renderingdialog.ui:716
 msgid "Framerate"
 msgstr "Imatges per segon"
 
-#: data/ui/renderingdialog.ui:781
+#: data/ui/renderingdialog.ui:779
 msgid "Advanced"
 msgstr "Avançat"
 
-#: data/ui/renderingdialog.ui:792
+#: data/ui/renderingdialog.ui:790
 msgid "Select file"
 msgstr "Seleccioneu un fitxer"
 
-#: data/ui/renderingdialog.ui:809
+#: data/ui/renderingdialog.ui:807
 msgid "File path:"
 msgstr "Camí al fitxer:"
 
@@ -736,12 +744,13 @@ msgstr "Camí al fitxer:"
 msgid "Rendering"
 msgstr "S'està renderitzant"
 
-#: data/ui/renderingprogress.ui:27 pitivi/viewer/viewer.py:774
+#: data/ui/renderingprogress.ui:27 data/ui/trackerperspective.ui:19
+#: pitivi/viewer/viewer.py:844
 msgid "Pause"
 msgstr "Fes una pausa"
 
-#: data/ui/renderingprogress.ui:55 pitivi/timeline/timeline.py:1913
-#: pitivi/viewer/viewer.py:766
+#: data/ui/renderingprogress.ui:55 data/ui/trackerperspective.ui:25
+#: pitivi/timeline/timeline.py:1917 pitivi/viewer/viewer.py:836
 msgid "Play"
 msgstr "Reprodueix"
 
@@ -875,6 +884,30 @@ msgstr "Horitzontal:"
 msgid "Vertical:"
 msgstr "Vertical:"
 
+#: data/ui/trackerperspective.ui:66
+msgid "Tracked Objects:"
+msgstr "Objectes seguits:"
+
+#: data/ui/trackerperspective.ui:195
+msgid "Drag&drop on the video to delimit an object to be tracked."
+msgstr "Arrossegeu i deixeu anar el vídeo per a delimitar un objecte a seguir."
+
+#: data/ui/trackerperspective.ui:288
+msgid "Go back one frame"
+msgstr "Ves enrere un fotograma"
+
+#: data/ui/trackerperspective.ui:318
+msgid "Go forward one frame"
+msgstr "Ves endavant un fotograma"
+
+#: data/ui/trackerperspective.ui:374
+msgid "Tracking Algorithm"
+msgstr "Algorisme de seguiment"
+
+#: data/ui/trackerperspective.ui:401
+msgid "Track"
+msgstr "Segueix"
+
 #: pitivi/action_search_bar.py:46
 msgid "Search Action"
 msgstr "Acció de cerca"
@@ -899,28 +932,28 @@ msgstr "Surt"
 msgid "Show the Shortcuts Window"
 msgstr "Mostra la finestra de dreceres"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:113
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:115
 #, python-format
 msgid "- %s not found on the system"
 msgstr "- %s no s'ha trobat al sistema"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:116
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:118
 #, python-format
 msgid "- %s version %s is installed but Pitivi requires at least version %s"
 msgstr ""
 "- %s versió %s està instal·lat però el Pitivi requereix com a mínim la "
 "versió %s"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:191
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:193
 #, python-format
 msgid "- %s GStreamer plug-in not found on the system"
 msgstr "- El connector %s del GStreamer no es troba al sistema"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:194
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:196
 #, python-format
 msgid ""
 "- %s Gstreamer plug-in version %s is installed but Pitivi requires at least "
@@ -929,15 +962,21 @@ msgstr ""
 "- %s El connector del Gstreamer versió %s està instal·lat però Pitivi "
 "requereix com a mínim la versió %s"
 
-#: pitivi/check.py:303
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:224
+#, python-format
+msgid "- %s GStreamer element not found on the system"
+msgstr "- no s'ha trobat l'element de GStreamer %s al sistema"
+
+#: pitivi/check.py:332
 msgid "ERROR - The following hard dependencies are unmet:"
 msgstr "ERROR - Els següents paquets tenen dependències dures sense satisfer:"
 
-#: pitivi/check.py:311
+#: pitivi/check.py:340
 msgid "Missing soft dependency:"
 msgstr "Manca la dependència tova:"
 
-#: pitivi/check.py:318
+#: pitivi/check.py:347
 msgid ""
 "ERROR — Could not create a Gst.Fraction — this means gst-python is not "
 "installed correctly."
@@ -945,7 +984,7 @@ msgstr ""
 "ERROR — No s'ha pogut crear un Gst.Fraction — això vol dir que el gst-python"
 " no està instal·lat correctament."
 
-#: pitivi/check.py:323
+#: pitivi/check.py:352
 msgid ""
 "Could not create audio output sink. Make sure you have a valid one "
 "(pulsesink, alsasink or osssink)."
@@ -953,38 +992,38 @@ msgstr ""
 "No s'ha pogut crear la sortida d'àudio. Assegureu-vos que teniu una "
 "destinació de sortida d'àudio (pulsesink, alsasink o osssink)."
 
-#: pitivi/check.py:328
+#: pitivi/check.py:357
 msgid ""
 "Could not create video output sink. Make sure you have a gtksink available."
 msgstr ""
 "No s'ha pogut crear la sortida de vídeo. Assegureu-vos que teniu una sortida"
 " de vídeo gtksink."
 
-#: pitivi/check.py:343
+#: pitivi/check.py:372
 #, python-format
 msgid "Could not import '%s'. Make sure you have it available."
 msgstr ""
 "No s'ha pogut importar «%s». Assegureu-vos que en teniu una disponible."
 
-#: pitivi/check.py:357
+#: pitivi/check.py:386
 msgid "Could not import 'gi'. Make sure you have pygobject available."
 msgstr ""
 "No s'ha pogut importar «gi». Assegureu-vos que teniu pygobject disponible."
 
-#: pitivi/check.py:456
+#: pitivi/check.py:485
 msgid "enables sound notifications when rendering is complete"
 msgstr "habilita les notificacions sonores quan finalitza la renderització"
 
-#: pitivi/check.py:458
+#: pitivi/check.py:487
 msgid "enables visual notifications when rendering is complete"
 msgstr "habilita les notificacions visuals quan finalitza la renderització"
 
-#: pitivi/check.py:460
+#: pitivi/check.py:489
 msgid "additional multimedia codecs through the GStreamer Libav library"
 msgstr ""
 "còdecs multimèdia addicionals a través de la biblioteca GStreamer Libav"
 
-#: pitivi/check.py:462
+#: pitivi/check.py:491
 msgid ""
 "enables a watchdog in the GStreamer pipeline. Use to detect errors happening"
 " in GStreamer and recover from them"
@@ -992,16 +1031,20 @@ msgstr ""
 "babilita un vigilant a la canonada GStreamer. Useu-lo per a detectar errors "
 "que ocorrin en GStreamer i recupereu-los des d'ell"
 
-#: pitivi/check.py:465
+#: pitivi/check.py:495
+msgid "enables object tracking"
+msgstr "activa el seguiment d'objectes"
+
+#: pitivi/check.py:496
 msgid "enables beat detection functionality"
 msgstr "activa la funcionalitat de detecció de ritme"
 
 #. Translators: This is the default text of a title clip.
-#: pitivi/clipproperties.py:66
+#: pitivi/clipproperties.py:69
 msgid "Title Clip"
 msgstr "Títol de la seqüència"
 
-#: pitivi/clipproperties.py:158
+#: pitivi/clipproperties.py:162
 msgid ""
 "Select a clip on the timeline to configure its properties and effects or "
 "create a new clip:"
@@ -1009,37 +1052,37 @@ msgstr ""
 "Seleccioneu un clip a la línia de temps per a configurar les seves "
 "propietats i efectes o creeu un clip nou:"
 
-#: pitivi/clipproperties.py:164
+#: pitivi/clipproperties.py:168
 msgid "Create a title clip"
 msgstr "Crea un clip de títol"
 
-#: pitivi/clipproperties.py:169
+#: pitivi/clipproperties.py:173
 msgid "Create a color clip"
 msgstr "Crea un clip de color"
 
-#: pitivi/clipproperties.py:272 pitivi/effects.py:118
+#: pitivi/clipproperties.py:276 pitivi/effects.py:122
 msgid "Time"
 msgstr "Temps"
 
-#: pitivi/clipproperties.py:315
+#: pitivi/clipproperties.py:319
 msgid "Speed"
 msgstr "Velocitat"
 
-#: pitivi/clipproperties.py:330 pitivi/utils/widgets.py:800
+#: pitivi/clipproperties.py:334 pitivi/utils/widgets.py:800
 #, python-format
 msgid "%(preference_label)s:"
 msgstr "%(preference_label)s:"
 
-#: pitivi/clipproperties.py:333 pitivi/dialogs/prefs.py:286
+#: pitivi/clipproperties.py:337 pitivi/dialogs/prefs.py:286
 #: pitivi/utils/widgets.py:976
 msgid "Reset to default value"
 msgstr "Reinicia als valors predeterminats"
 
-#: pitivi/clipproperties.py:568
+#: pitivi/clipproperties.py:572
 msgid "Effects"
 msgstr "Efectes"
 
-#: pitivi/clipproperties.py:584
+#: pitivi/clipproperties.py:590
 msgid ""
 "To apply an effect to the clip, drag it from the Effect Library or use the "
 "button below."
@@ -1047,23 +1090,27 @@ msgstr ""
 "Per a aplicar un efecte al clip, arrossegueu-lo des de la Biblioteca "
 "d'efectes o utilitzeu el botó de sota."
 
-#: pitivi/clipproperties.py:592
+#: pitivi/clipproperties.py:598
 msgid "Add Effect"
 msgstr "Afegeix un efecte"
 
-#: pitivi/clipproperties.py:913
+#: pitivi/clipproperties.py:608
+msgid "Cover Object"
+msgstr "Objecte de portada"
+
+#: pitivi/clipproperties.py:938
 msgid "Transformation"
 msgstr "Transformació"
 
-#: pitivi/clipproperties.py:1042
+#: pitivi/clipproperties.py:1067
 msgid "Show keyframes"
 msgstr "Mostra els fotogrames clau per aquest valor"
 
-#: pitivi/clipproperties.py:1045
+#: pitivi/clipproperties.py:1070
 msgid "Activate keyframes"
 msgstr "Activa fotogrames clau"
 
-#: pitivi/clipproperties.py:1050
+#: pitivi/clipproperties.py:1075
 msgid "Hide keyframes"
 msgstr "Amaga fotogrames clau"
 
@@ -1071,10 +1118,21 @@ msgstr "Amaga fotogrames clau"
 msgid "Color"
 msgstr "Color"
 
-#: pitivi/clip_properties/compositing.py:53 pitivi/effects.py:77
+#: pitivi/clip_properties/compositing.py:57 pitivi/effects.py:81
 msgid "Compositing"
 msgstr "Composició"
 
+#. Translators: These are compositing operators.
+#. See https://www.cairographics.org/operators/ for explanation and
+#. visualizations.
+#: pitivi/clip_properties/compositing.py:80
+msgid "Source"
+msgstr "Origen"
+
+#: pitivi/clip_properties/compositing.py:81
+msgid "Over"
+msgstr "Sobre"
+
 #: pitivi/clip_properties/markers.py:47
 msgid "Text"
 msgstr "Text"
@@ -1225,7 +1283,7 @@ msgstr "%s fitxers"
 msgid "All files"
 msgstr "Tots els fitxers"
 
-#: pitivi/dialogs/prefs.py:61 pitivi/timeline/timeline.py:1745
+#: pitivi/dialogs/prefs.py:61 pitivi/timeline/timeline.py:1749
 msgid "Timeline"
 msgstr "Línia de temps"
 
@@ -1362,7 +1420,7 @@ msgstr "Desfés"
 #. pylint: disable=attribute-defined-outside-init
 #: pitivi/editorperspective.py:323 pitivi/editorperspective.py:536
 #: pitivi/editorperspective.py:680 pitivi/editorperspective.py:728
-#: pitivi/editorperspective.py:781 pitivi/preset.py:113 pitivi/project.py:194
+#: pitivi/editorperspective.py:781 pitivi/preset.py:113 pitivi/project.py:195
 #: pitivi/render.py:226
 msgid "Save"
 msgstr "Desa"
@@ -1388,7 +1446,7 @@ msgstr "Introducció ràpida al Pitivi"
 msgid "Unable to save project \"%s\""
 msgstr "No s'ha pogut desar el projecte «%s»"
 
-#: pitivi/editorperspective.py:538 pitivi/project.py:193
+#: pitivi/editorperspective.py:538 pitivi/project.py:194
 msgid "Save as..."
 msgstr "Anomena i desa..."
 
@@ -1447,7 +1505,7 @@ msgid "Detect automatically"
 msgstr "Detecta automàticament"
 
 #: pitivi/editorperspective.py:737 pitivi/editorperspective.py:784
-#: pitivi/project.py:61 pitivi/render.py:821
+#: pitivi/project.py:62 pitivi/render.py:821
 msgid "Untitled"
 msgstr "Sense nom"
 
@@ -1463,40 +1521,51 @@ msgstr "Imatge JPEG"
 msgid "Preview"
 msgstr "Previsualitza"
 
-#: pitivi/effects.py:61
+#: pitivi/effects.py:65
 msgid "Colors"
 msgstr "Colors"
 
-#: pitivi/effects.py:84
+#: pitivi/effects.py:88
 msgid "Noise & blur"
 msgstr "Soroll i difuminat"
 
-#: pitivi/effects.py:89
+#: pitivi/effects.py:93
 msgid "Analysis"
 msgstr "Anàlisi"
 
-#: pitivi/effects.py:96
+#: pitivi/effects.py:100
 msgid "Geometry"
 msgstr "Geometria"
 
-#: pitivi/effects.py:107
+#: pitivi/effects.py:111
 msgid "Fancy"
 msgstr "Fantasia"
 
-#: pitivi/effects.py:246
+#: pitivi/effects.py:249
 msgid "effect"
 msgstr "efecte"
 
+#. Translators: How the video effect which covers/hides a
+#. tracked object is listed. The {} is entered by the user
+#. and denotes the tracked object.
+#: pitivi/effects.py:330
+msgid "{} cover"
+msgstr "{} cobreix"
+
+#: pitivi/effects.py:331
+msgid "Object cover effect"
+msgstr "Efecte de cobriment d'objecte"
+
 #. Add Uncategorized only if there are other categories defined.
-#: pitivi/effects.py:337 pitivi/effects.py:351
+#: pitivi/effects.py:354 pitivi/effects.py:368
 msgid "Uncategorized"
 msgstr "Sense categoria"
 
-#: pitivi/effects.py:393 pitivi/effects.py:660
+#: pitivi/effects.py:410 pitivi/effects.py:677
 msgid "No effects"
 msgstr "Sense efectes"
 
-#: pitivi/effects.py:481
+#: pitivi/effects.py:498
 msgid "Add to Favorites"
 msgstr "Afegeix als preferits"
 
@@ -1623,7 +1692,7 @@ msgid "<b>Resolution</b>: %d×%d"
 msgstr "<b>Resolució</b>: %dx%d"
 
 #: pitivi/mediafilespreviewer.py:271 pitivi/mediafilespreviewer.py:288
-#: pitivi/utils/ui.py:566
+#: pitivi/utils/ui.py:568
 #, python-format
 msgid "<b>Duration</b>: %s"
 msgstr "<b>Durada</b>: %s"
@@ -1798,11 +1867,11 @@ msgstr "Predefinit nou %d"
 
 #. GTK does not allow an empty string as the dialog title, so we use the
 #. same translatable one as render.py's pipeline error message dialog:
-#: pitivi/project.py:177 pitivi/render.py:1320
+#: pitivi/project.py:178 pitivi/render.py:1320
 msgid "Sorry, something didn’t work right."
 msgstr "Perdoneu, alguna cosa no ha anat bé."
 
-#: pitivi/project.py:180
+#: pitivi/project.py:181
 msgid ""
 "Pitivi detected a serious backend problem and could not recover from it, even after multiple tries. The only thing that can be done at this point is to <b>restart Pitivi</b>.\n"
 "\n"
@@ -1816,11 +1885,11 @@ msgstr ""
 "\n"
 "Abans de tancar Pitivi, podeu desar els canvis al fitxer del projecte o en un fitxer separat del projecte."
 
-#: pitivi/project.py:195
+#: pitivi/project.py:196
 msgid "Close Pitivi"
 msgstr "Tanca el Pitivi"
 
-#: pitivi/project.py:265
+#: pitivi/project.py:266
 msgid ""
 "This might be due to a bug or an unsupported project file format. If you "
 "were trying to add a media file to your project, use the \"Import\" button "
@@ -1830,15 +1899,15 @@ msgstr ""
 "compatible. Si esteu intentant afegir un fitxer multimèdia al vostre "
 "projecte, useu el botó «Importa»."
 
-#: pitivi/project.py:287
+#: pitivi/project.py:288
 msgid "Ignore backup"
 msgstr "Ignora la còpia de seguretat"
 
-#: pitivi/project.py:289
+#: pitivi/project.py:290
 msgid "Restore from backup"
 msgstr "Recupera des de la còpia de seguretat"
 
-#: pitivi/project.py:300
+#: pitivi/project.py:301
 #, python-format
 msgid ""
 "An autosaved version of your project file was found. It is %s newer than the saved project.\n"
@@ -1849,16 +1918,16 @@ msgstr ""
 "\n"
 "Voleu carregar-lo?"
 
-#: pitivi/project.py:373
+#: pitivi/project.py:374
 msgid "You do not have permissions to write to this folder."
 msgstr "No teniu permís d'escriptura en aquesta carpeta."
 
 #. Save the project to a temporary file.
-#: pitivi/project.py:406
+#: pitivi/project.py:407
 msgid "project"
 msgstr "projecte"
 
-#: pitivi/project.py:706
+#: pitivi/project.py:701
 msgid "Pitivi encoding profile"
 msgstr "Perfil de codificació del Pitivi"
 
@@ -1979,7 +2048,7 @@ msgstr "«%s» ha acabat de renderitzar."
 #. Translators: This is a tooltip for a clip's keyframe curve,
 #. showing what the keyframe curve affects, the timestamp at
 #. the mouse cursor location, and the value at that timestamp.
-#: pitivi/timeline/elements.py:451
+#: pitivi/timeline/elements.py:446
 #, python-format
 msgid ""
 "Property: %s\n"
@@ -1990,12 +2059,12 @@ msgstr ""
 "Marca horària: %s\n"
 "Valor: %s"
 
-#: pitivi/timeline/elements.py:639
+#: pitivi/timeline/elements.py:634
 #, python-format
 msgid "Timestamp: %s"
 msgstr "Marca horària: %s"
 
-#: pitivi/timeline/elements.py:1605
+#: pitivi/timeline/elements.py:1603
 msgid "Audio crossfade"
 msgstr "Encadenament de l'àudio"
 
@@ -2024,7 +2093,7 @@ msgstr "Suprimeix la capa"
 msgid "Layer %d"
 msgstr "Capa %d"
 
-#: pitivi/timeline/ruler.py:232
+#: pitivi/timeline/ruler.py:241
 #, python-format
 msgid "Frame #%d"
 msgstr "Fotograma #%d"
@@ -2073,124 +2142,136 @@ msgstr ""
 "Si prement el botó esquerre també cerca a més de seleccionar i editar "
 "seqüències."
 
-#: pitivi/timeline/timeline.py:356 pitivi/timeline/timeline.py:1809
+#: pitivi/timeline/timeline.py:357 pitivi/timeline/timeline.py:1813
 msgid "Add layer"
 msgstr "Afegeix una capa"
 
-#: pitivi/timeline/timeline.py:1752
+#: pitivi/timeline/timeline.py:1756
 msgid "Action Search"
 msgstr "Cerca d'accions"
 
-#: pitivi/timeline/timeline.py:1760
+#: pitivi/timeline/timeline.py:1764
 msgid "Delete selected clips"
 msgstr "Suprimeix les seqüències seleccionades"
 
-#: pitivi/timeline/timeline.py:1767
+#: pitivi/timeline/timeline.py:1771
 msgid "Delete selected clips and shift following ones"
 msgstr "Suprimeix les seqüències seleccionades i desplaça les següents"
 
-#: pitivi/timeline/timeline.py:1774
+#: pitivi/timeline/timeline.py:1778
 msgid "Group selected clips together"
 msgstr "Agrupa juntes les seqüències seleccionades"
 
-#: pitivi/timeline/timeline.py:1781
+#: pitivi/timeline/timeline.py:1785
 msgid "Ungroup selected clips"
 msgstr "Desagrupa les seqüències seleccionades"
 
-#: pitivi/timeline/timeline.py:1788
+#: pitivi/timeline/timeline.py:1792
 msgid "Cut selected clips"
 msgstr "Retalla els clips seleccionats"
 
-#: pitivi/timeline/timeline.py:1795
+#: pitivi/timeline/timeline.py:1799
 msgid "Copy selected clips"
 msgstr "Copia les seqüències seleccionades"
 
-#: pitivi/timeline/timeline.py:1802
+#: pitivi/timeline/timeline.py:1806
 msgid "Paste selected clips"
 msgstr "Enganxa les seqüències seleccionades"
 
-#: pitivi/timeline/timeline.py:1816
+#: pitivi/timeline/timeline.py:1820
 msgid "Seek to the first clip edge after the playhead"
 msgstr "Ves a la primera vora del clip després del punt de reproducció"
 
-#: pitivi/timeline/timeline.py:1823
+#: pitivi/timeline/timeline.py:1827
 msgid "Seek to the first clip edge before the playhead"
 msgstr "Ves a la primera vora del clip abans del cap de reproducció"
 
-#: pitivi/timeline/timeline.py:1830
+#: pitivi/timeline/timeline.py:1834
 msgid "Shift selected clips one frame forward"
 msgstr "Desplaça les seqüències seleccionades un fotograma endavant"
 
-#: pitivi/timeline/timeline.py:1837
+#: pitivi/timeline/timeline.py:1841
 msgid "Shift selected clips one frame backward"
 msgstr "Desplaça els clips seleccionats un fotograma enrere"
 
-#: pitivi/timeline/timeline.py:1844
+#: pitivi/timeline/timeline.py:1848
 msgid "Snap selected clips to the next clip"
 msgstr "Ajusta les seqüències seleccionades a la seqüència següent"
 
-#: pitivi/timeline/timeline.py:1851
+#: pitivi/timeline/timeline.py:1855
 msgid "Snap selected clips to the previous clip"
 msgstr "Ajusta les seqüències seleccionades a la seqüència anterior"
 
-#: pitivi/timeline/timeline.py:1858
+#: pitivi/timeline/timeline.py:1862
 msgid "Add an effect to the selected clip"
 msgstr "Afegeix un efecte al clip seleccionat"
 
-#: pitivi/timeline/timeline.py:1871
+#: pitivi/timeline/timeline.py:1875
 msgid "Split the clip at the position"
 msgstr "Divideix la seqüència a la posició"
 
-#: pitivi/timeline/timeline.py:1878
+#: pitivi/timeline/timeline.py:1882
 msgid "Add keyframe to the keyframe curve of selected clip"
 msgstr ""
 "Afegeix un fotograma clau a la corba de fotogrames clau de la seqüència "
 "seleccionada"
 
-#: pitivi/timeline/timeline.py:1883
+#: pitivi/timeline/timeline.py:1887
 msgid "Timeline Navigation"
 msgstr "Navegació de la línia de temps"
 
-#: pitivi/timeline/timeline.py:1891
+#: pitivi/timeline/timeline.py:1895
 msgid "Zoom in"
 msgstr "Apropa"
 
-#: pitivi/timeline/timeline.py:1899
+#: pitivi/timeline/timeline.py:1903
 msgid "Zoom out"
 msgstr "Allunya"
 
-#: pitivi/timeline/timeline.py:1907
+#: pitivi/timeline/timeline.py:1911
 msgid "Adjust zoom to fit the project to the window"
 msgstr "Ajusta l'ampliació perquè el projecte encaixi a la finestra"
 
-#: pitivi/timeline/timeline.py:1920
+#: pitivi/timeline/timeline.py:1924
 msgid "Seek backward one frame"
 msgstr "Cerca enrere un fotograma"
 
-#: pitivi/timeline/timeline.py:1927
+#: pitivi/timeline/timeline.py:1931
 msgid "Seek forward one frame"
 msgstr "Cerca endavant un fotograma"
 
-#: pitivi/timeline/timeline.py:1935
+#: pitivi/timeline/timeline.py:1939
 msgid "Seek backward one second"
 msgstr "Cerca enrere un segon"
 
-#: pitivi/timeline/timeline.py:1943
+#: pitivi/timeline/timeline.py:1947
 msgid "Seek forward one second"
 msgstr "Cerca endavant un segon"
 
-#: pitivi/timeline/timeline.py:1951
+#: pitivi/timeline/timeline.py:1955
 msgid "Add a marker"
 msgstr "Afegeix un marcador"
 
-#: pitivi/timeline/timeline.py:1958
+#: pitivi/timeline/timeline.py:1962
 msgid "Seek to the first marker before the playhead"
 msgstr "Ves al primer marcador abans del punt de reproducció"
 
-#: pitivi/timeline/timeline.py:1965
+#: pitivi/timeline/timeline.py:1969
 msgid "Seek to the first marker after the playhead"
 msgstr "Ves al primer marcador després del punt de reproducció"
 
+#: pitivi/trackerperspective.py:403
+msgid "Object {}"
+msgstr "Objecte {}"
+
+#: pitivi/trackerperspective.py:665
+msgid "Go back"
+msgstr "Ves enrere"
+
+#: pitivi/trackerperspective.py:739
+msgid "Track objects"
+msgstr "Segueix objectes"
+
 #: pitivi/transitions.py:77
 msgid "Normal"
 msgstr "Normal"
@@ -2275,117 +2356,117 @@ msgid "Max CPU usage dedicated to transcoding"
 msgstr "Ús màxim de CPU dedicat a la transcodificació"
 
 #. Translators: 'fps' is for 'frames per second'
-#: pitivi/utils/ui.py:382
+#: pitivi/utils/ui.py:390
 msgid "{0:s} fps"
 msgstr "{0:s} fps"
 
-#: pitivi/utils/ui.py:402
+#: pitivi/utils/ui.py:410
 #, python-brace-format
 msgid "{0:n} kHz"
 msgstr "{0:n} kHz"
 
-#: pitivi/utils/ui.py:411
+#: pitivi/utils/ui.py:419
 msgid "Mono"
 msgstr "Mono"
 
-#: pitivi/utils/ui.py:412
+#: pitivi/utils/ui.py:420
 msgid "Stereo"
 msgstr "Estèreo"
 
-#: pitivi/utils/ui.py:413
+#: pitivi/utils/ui.py:421
 msgid "6 (5.1)"
 msgstr "6 (5.1)"
 
-#: pitivi/utils/ui.py:414
+#: pitivi/utils/ui.py:422
 msgid "8 (7.1)"
 msgstr "8 (7.1)"
 
-#: pitivi/utils/ui.py:545
+#: pitivi/utils/ui.py:547
 #, python-format
 msgid "<b>Duration:</b> %s"
 msgstr "<b>Durada:</b>: %s"
 
-#: pitivi/utils/ui.py:548
+#: pitivi/utils/ui.py:550
 #, python-format
 msgid "<b>Proxy creation progress:</b> %d%%"
 msgstr "<b>Progrés de la creació del servidor intermediari:</b> %d%%"
 
-#: pitivi/utils/ui.py:562
+#: pitivi/utils/ui.py:564
 #, python-format
 msgid "<b>Path</b>: %s"
 msgstr "<b>Camí</b>: %s"
 
-#: pitivi/utils/ui.py:572
+#: pitivi/utils/ui.py:574
 #, python-format
 msgid "<b>Size</b>: %s"
 msgstr "<b>Mida</b> %s"
 
-#: pitivi/utils/ui.py:608
+#: pitivi/utils/ui.py:610
 #, python-format
 msgid "<b>Audio:</b> %d channel at %d <i>Hz</i> (%d <i>bits</i>)"
 msgid_plural "<b>Audio:</b> %d channels at %d <i>Hz</i> (%d <i>bits</i>)"
 msgstr[0] "<b>Àudio:</b> %d canal a %d <i>Hz</i> (%d <i>bits</i>)"
 msgstr[1] "<b>Àudio:</b> %d canals a %d <i>Hz</i> (%d <i>bits</i>)"
 
-#: pitivi/utils/ui.py:620
+#: pitivi/utils/ui.py:622
 #, python-format
 msgid "<b>Video:</b> %d×%d <i>pixels</i> at %s <i>fps</i>"
 msgstr "<b>Video</b> %d×%d <i>píxels</i> a %s <i>fps</i>"
 
-#: pitivi/utils/ui.py:623
+#: pitivi/utils/ui.py:625
 #, python-format
 msgid "<b>Image:</b> %d×%d <i>pixels</i>"
 msgstr "<b>Imatge:</b> %dx%d <i>píxels</i>"
 
-#: pitivi/utils/ui.py:677 pitivi/utils/ui.py:704 pitivi/utils/ui.py:728
+#: pitivi/utils/ui.py:679 pitivi/utils/ui.py:706 pitivi/utils/ui.py:730
 #, python-format
 msgid "%d hour"
 msgid_plural "%d hours"
 msgstr[0] "%d hora"
 msgstr[1] "%d hores"
 
-#: pitivi/utils/ui.py:680 pitivi/utils/ui.py:707 pitivi/utils/ui.py:731
+#: pitivi/utils/ui.py:682 pitivi/utils/ui.py:709 pitivi/utils/ui.py:733
 #, python-format
 msgid "%d minute"
 msgid_plural "%d minutes"
 msgstr[0] "%d minut"
 msgstr[1] "%d minuts"
 
-#: pitivi/utils/ui.py:683 pitivi/utils/ui.py:710 pitivi/utils/ui.py:734
+#: pitivi/utils/ui.py:685 pitivi/utils/ui.py:712 pitivi/utils/ui.py:736
 #, python-format
 msgid "%d second"
 msgid_plural "%d seconds"
 msgstr[0] "%d segon"
 msgstr[1] "%d segons"
 
-#: pitivi/utils/ui.py:702
+#: pitivi/utils/ui.py:704
 #, python-format
 msgid "%d day"
 msgid_plural "%d days"
 msgstr[0] "%d dia"
 msgstr[1] "%d dies"
 
-#: pitivi/utils/ui.py:743
+#: pitivi/utils/ui.py:745
 msgid "Just now"
 msgstr "Ara mateix"
 
-#: pitivi/utils/ui.py:746
+#: pitivi/utils/ui.py:748
 msgid "An hour ago"
 msgstr "Fa una hora"
 
-#: pitivi/utils/ui.py:749
+#: pitivi/utils/ui.py:751
 msgid "Today"
 msgstr "Avui"
 
-#: pitivi/utils/ui.py:752
+#: pitivi/utils/ui.py:754
 msgid "Yesterday"
 msgstr "Ahir"
 
-#: pitivi/utils/ui.py:761
+#: pitivi/utils/ui.py:763
 msgid "About a year ago"
 msgstr "Fa aproximadament un any"
 
-#: pitivi/utils/ui.py:764
+#: pitivi/utils/ui.py:766
 #, python-format
 msgid "About %d year ago"
 msgid_plural "About %d years ago"
@@ -2445,31 +2526,31 @@ msgstr "Diagonals"
 msgid "Composition Guidelines"
 msgstr "Directrius de la composició"
 
-#: pitivi/viewer/viewer.py:77
+#: pitivi/viewer/viewer.py:81
 msgid "Currently playing"
 msgstr "S'està reproduint"
 
-#: pitivi/viewer/viewer.py:252
+#: pitivi/viewer/viewer.py:304
 msgid "Select composition guidelines"
 msgstr "Seleccioneu les directrius de la composició"
 
-#: pitivi/viewer/viewer.py:260
+#: pitivi/viewer/viewer.py:312
 msgid "Go to the beginning of the timeline"
 msgstr "Ves al principi de la línia de temps"
 
-#: pitivi/viewer/viewer.py:269
+#: pitivi/viewer/viewer.py:321
 msgid "Go back one second"
 msgstr "Retrocedeix un segon"
 
-#: pitivi/viewer/viewer.py:282
+#: pitivi/viewer/viewer.py:334
 msgid "Go forward one second"
 msgstr "Avança un segon"
 
-#: pitivi/viewer/viewer.py:291
+#: pitivi/viewer/viewer.py:343
 msgid "Go to the end of the timeline"
 msgstr "Ves al final de la línia de temps"
 
-#: pitivi/viewer/viewer.py:298
+#: pitivi/viewer/viewer.py:350
 msgid ""
 "Enter a timecode or frame number\n"
 "and press \"Enter\" to go to that position"
@@ -2477,7 +2558,7 @@ msgstr ""
 "Introduïu el codi de temps o el nombre de fotograma\n"
 "i premeu «Retorn» per a anar a aquesta posició"
 
-#: pitivi/viewer/viewer.py:309
+#: pitivi/viewer/viewer.py:361
 msgid ""
 "Detach the viewer\n"
 "You can re-attach it by closing the newly created window."
@@ -2485,23 +2566,23 @@ msgstr ""
 "Separa el visualitzador\n"
 "Podeu acoblar-lo de nou tancant la finestra acabada de crear."
 
-#: pitivi/viewer/viewer.py:336
+#: pitivi/viewer/viewer.py:388
 msgid "Viewer"
 msgstr "Visor"
 
-#: pitivi/viewer/viewer.py:344
+#: pitivi/viewer/viewer.py:396
 msgid "Toggle the currently selected composition guidelines"
 msgstr "Commuta les directrius de composició seleccionades actualment"
 
-#: pitivi/viewer/viewer.py:352
+#: pitivi/viewer/viewer.py:404
 msgid "Toggle safe areas on viewer"
 msgstr "Commuta les àrees segures al visor"
 
-#: pitivi/viewer/viewer.py:478 pitivi/viewer/viewer.py:536
+#: pitivi/viewer/viewer.py:546 pitivi/viewer/viewer.py:605
 msgid "Show this window in fullscreen"
 msgstr "Mostra aquesta finestra en mode pantalla completa"
 
-#: pitivi/viewer/viewer.py:533
+#: pitivi/viewer/viewer.py:602
 msgid "Exit fullscreen mode"
 msgstr "Surt del mode de pantalla completa"
 
@@ -2547,12 +2628,3 @@ msgid ""
 msgstr ""
 "No és possible sobreescriure {key} perquè les ordres de dreceres són només "
 "de lectura."
-
-#~ msgid "No markers"
-#~ msgstr "Sense marcadors"
-
-#~ msgid "Folder:"
-#~ msgstr "Carpeta:"
-
-#~ msgid "Remove invalid characters from the filename: %s"
-#~ msgstr "Elimina els caràcters no vàlids del nom de fitxer: %s"
diff --git a/po/da.po b/po/da.po
index 7379635..aff2b38 100644
--- a/po/da.po
+++ b/po/da.po
@@ -13,8 +13,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pitivi\n"
 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/pitivi/issues\n"
-"POT-Creation-Date: 2021-11-23 00:12+0000\n"
-"PO-Revision-Date: 2022-03-27 16:16+0200\n"
+"POT-Creation-Date: 2022-07-24 04:44+0000\n"
+"PO-Revision-Date: 2022-09-11 19:14+0200\n"
 "Last-Translator: Alan Mortensen <alanmortensen.am@gmail.com>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
 "Language: da\n"
@@ -22,7 +22,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 2.3\n"
+"X-Generator: Poedit 3.0.1\n"
 
 #: data/org.pitivi.Pitivi-mime.xml.in:4
 msgid "Pitivi video project (legacy)"
@@ -126,10 +126,46 @@ msgstr "<b><big>Udfører automatisk justering</big></b>"
 msgid "Estimating..."
 msgstr "Anslår …"
 
-#: data/ui/clipcolor.ui:21
+#: data/ui/beatdetection.ui:18
+msgid "Detect beats"
+msgstr "Registrér slag"
+
+#: data/ui/beatdetection.ui:35
+msgid "Clear detected beats"
+msgstr "Ryd registrerede slag"
+
+#: data/ui/beatdetection.ui:66
+msgid "Detecting..."
+msgstr "Registrerer …"
+
+#: data/ui/clipcolor.ui:21 data/ui/customwidgets/pitivi:object_effect.ui:37
 msgid "Pick the clip color"
 msgstr "Vælg klippets farve"
 
+#: data/ui/clipcompositing.ui:42
+msgid "Fade-in:"
+msgstr "Ton ind:"
+
+#: data/ui/clipcompositing.ui:54 data/ui/clipcompositing.ui:122
+msgid "seconds"
+msgstr "sekunder"
+
+#: data/ui/clipcompositing.ui:97
+msgid "Fade-out:"
+msgstr "Ton ud:"
+
+#: data/ui/clipcompositing.ui:150
+msgid "Reset fade-in"
+msgstr "Nulstil ton ind"
+
+#: data/ui/clipcompositing.ui:166
+msgid "Reset fade-out"
+msgstr "Nulstil ton ud"
+
+#: data/ui/clipcompositing.ui:181
+msgid "Blending:"
+msgstr "Blanding:"
+
 #: data/ui/clipmediaprops.ui:8
 msgid "Clip Properties"
 msgstr "Klipegenskaber"
@@ -307,12 +343,16 @@ msgstr "min. alfa"
 msgid "max alpha"
 msgstr "maks. alfa"
 
+#: data/ui/customwidgets/pitivi:object_effect.ui:19
+msgid "Color:"
+msgstr "Farve:"
+
 #: data/ui/effectslibrary.ui:16
 msgid "Favorites"
 msgstr "Favoritter"
 
 #: data/ui/effectslibrary.ui:43 data/ui/medialibrary.ui:165
-#: pitivi/transitions.py:74
+#: pitivi/transitions.py:69
 msgid "Search..."
 msgstr "Søg …"
 
@@ -383,13 +423,13 @@ msgid "Edit the project settings"
 msgstr "Redigér projektindstillingerne"
 
 #: data/ui/mainmenubutton.ui:119 data/ui/projectsettings.ui:61
-#: pitivi/medialibrary.py:173 pitivi/medialibrary.py:536
-#: pitivi/dialogs/prefs.py:339
+#: pitivi/dialogs/prefs.py:340 pitivi/medialibrary.py:173
+#: pitivi/medialibrary.py:538
 msgid "Project Settings"
 msgstr "Projektindstillinger"
 
 #: data/ui/mainmenubutton.ui:148 data/ui/preferences.ui:7
-#: pitivi/mainwindow.py:216
+#: pitivi/mainwindow.py:217
 msgid "Preferences"
 msgstr "Indstillinger"
 
@@ -495,10 +535,10 @@ msgid "Some changes will not take effect until you restart Pitivi"
 msgstr "Nogle ændringer vil ikke være aktive, før du genstarter Pitivi"
 
 #: data/ui/projectsettings.ui:78 data/ui/renderingprogress.ui:41
+#: pitivi/dialogs/browseprojects.py:38 pitivi/dialogs/missingasset.py:46
 #: pitivi/editorperspective.py:544 pitivi/editorperspective.py:679
 #: pitivi/editorperspective.py:727 pitivi/editorperspective.py:780
-#: pitivi/greeterperspective.py:241 pitivi/medialibrary.py:854
-#: pitivi/dialogs/browseprojects.py:38 pitivi/dialogs/missingasset.py:46
+#: pitivi/greeterperspective.py:241 pitivi/medialibrary.py:856
 msgid "Cancel"
 msgstr "Annullér"
 
@@ -523,13 +563,13 @@ msgstr "Fasthold proportioner"
 msgid "Maintain aspect ratio"
 msgstr "Bevar højde-/breddeforhold"
 
-#: data/ui/projectsettings.ui:330 data/ui/renderingdialog.ui:734
+#: data/ui/projectsettings.ui:330 data/ui/renderingdialog.ui:732
 msgid "Frame rate:"
 msgstr "Billedfrekvens:"
 
 #. The title of the section with the video settings
-#: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:752
-#: pitivi/clipproperties.py:1282 pitivi/effects.py:246
+#: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:750
+#: pitivi/clip_properties/markers.py:45 pitivi/effects.py:249
 msgid "Video"
 msgstr "Video"
 
@@ -583,20 +623,20 @@ msgstr "Gengiv"
 msgid "Quality:"
 msgstr "Kvalitet:"
 
-#: data/ui/renderingdialog.ui:179 pitivi/clipproperties.py:1285
+#: data/ui/renderingdialog.ui:177 pitivi/clip_properties/markers.py:48
 #: pitivi/render.py:74
 msgid "Custom"
 msgstr "Tilpasset"
 
-#: data/ui/renderingdialog.ui:246
+#: data/ui/renderingdialog.ui:244
 msgid "Container format:"
 msgstr "Containerformat:"
 
-#: data/ui/renderingdialog.ui:313
+#: data/ui/renderingdialog.ui:311
 msgid "Automatically render from proxy files"
 msgstr "Gengiv automatisk fra proxyfiler"
 
-#: data/ui/renderingdialog.ui:317
+#: data/ui/renderingdialog.ui:315
 msgid ""
 "Use proxy files if they are available and the source asset media format is "
 "not officially supported.\n"
@@ -610,11 +650,11 @@ msgstr ""
 "Denne valgmulighed giver god balance mellem kvaliteten af den gengivne video "
 "og stabilitet."
 
-#: data/ui/renderingdialog.ui:332
+#: data/ui/renderingdialog.ui:330
 msgid "Always render from proxy files"
 msgstr "Gengiv altid fra proxyfiler"
 
-#: data/ui/renderingdialog.ui:336
+#: data/ui/renderingdialog.ui:334
 msgid ""
 "Render all proxied clips from the proxy assets. There might be some quality "
 "loss during the rendering process."
@@ -622,11 +662,11 @@ msgstr ""
 "Gengive alle proxyklip fra proxymaterialerne. Der kan være noget "
 "kvalitetstab under gengivelsesprocessen."
 
-#: data/ui/renderingdialog.ui:349
+#: data/ui/renderingdialog.ui:347
 msgid "Never render from proxy files"
 msgstr "Gengiv aldrig fra proxyfiler"
 
-#: data/ui/renderingdialog.ui:353
+#: data/ui/renderingdialog.ui:351
 msgid ""
 "Always use source assets for rendering. It is the best choice for the "
 "quality of the rendered video, but you might hit some bugs because of the "
@@ -638,56 +678,56 @@ msgstr ""
 "officielt ikkeunderstøttede medieformater.\n"
 "<i>Anvend på eget ansvar!</i>"
 
-#: data/ui/renderingdialog.ui:400
+#: data/ui/renderingdialog.ui:398
 msgid "Channels:"
 msgstr "Kanaler:"
 
-#: data/ui/renderingdialog.ui:432 data/ui/renderingdialog.ui:653
+#: data/ui/renderingdialog.ui:430 data/ui/renderingdialog.ui:651
 msgid "Advanced..."
 msgstr "Avanceret …"
 
-#: data/ui/renderingdialog.ui:472 data/ui/renderingdialog.ui:692
+#: data/ui/renderingdialog.ui:470 data/ui/renderingdialog.ui:690
 msgid "Codec:"
 msgstr "Codec:"
 
-#: data/ui/renderingdialog.ui:509
+#: data/ui/renderingdialog.ui:507
 msgid "Sample rate:"
 msgstr "Samplefrekvens:"
 
-#: data/ui/renderingdialog.ui:527 pitivi/clipproperties.py:1283
-#: pitivi/effects.py:122 pitivi/effects.py:246
+#: data/ui/renderingdialog.ui:525 pitivi/clip_properties/markers.py:46
+#: pitivi/effects.py:126 pitivi/effects.py:249
 msgid "Audio"
 msgstr "Lyd"
 
-#: data/ui/renderingdialog.ui:566
+#: data/ui/renderingdialog.ui:564
 msgid "Scale:"
 msgstr "Skala:"
 
-#: data/ui/renderingdialog.ui:599
+#: data/ui/renderingdialog.ui:597
 msgid "Scale"
 msgstr "Skala"
 
-#: data/ui/renderingdialog.ui:619
+#: data/ui/renderingdialog.ui:617
 msgid "Height"
 msgstr "Højde"
 
-#: data/ui/renderingdialog.ui:638
+#: data/ui/renderingdialog.ui:636
 msgid "Project Settings..."
 msgstr "Projektindstillinger …"
 
-#: data/ui/renderingdialog.ui:718
+#: data/ui/renderingdialog.ui:716
 msgid "Framerate"
 msgstr "Billedfrekvens"
 
-#: data/ui/renderingdialog.ui:781
+#: data/ui/renderingdialog.ui:779
 msgid "Advanced"
 msgstr "Avanceret"
 
-#: data/ui/renderingdialog.ui:792
+#: data/ui/renderingdialog.ui:790
 msgid "Select file"
 msgstr "Vælg fil"
 
-#: data/ui/renderingdialog.ui:809
+#: data/ui/renderingdialog.ui:807
 msgid "File path:"
 msgstr "Filsti:"
 
@@ -695,12 +735,13 @@ msgstr "Filsti:"
 msgid "Rendering"
 msgstr "Gengivelse"
 
-#: data/ui/renderingprogress.ui:27 pitivi/viewer/viewer.py:774
+#: data/ui/renderingprogress.ui:27 data/ui/trackerperspective.ui:19
+#: pitivi/viewer/viewer.py:844
 msgid "Pause"
 msgstr "Pause"
 
-#: data/ui/renderingprogress.ui:55 pitivi/viewer/viewer.py:766
-#: pitivi/timeline/timeline.py:1907
+#: data/ui/renderingprogress.ui:55 data/ui/trackerperspective.ui:25
+#: pitivi/timeline/timeline.py:1917 pitivi/viewer/viewer.py:836
 msgid "Play"
 msgstr "Afspil"
 
@@ -759,30 +800,38 @@ msgid "Ungroup"
 msgstr "Afgruppér"
 
 #: data/ui/timelinetoolbar.ui:76
+msgid "Cut clips"
+msgstr "Udklip at afsnit"
+
+#: data/ui/timelinetoolbar.ui:78
+msgid "Cut"
+msgstr "Klip"
+
+#: data/ui/timelinetoolbar.ui:91
 msgid "Copy clips"
 msgstr "Kopiér klip"
 
-#: data/ui/timelinetoolbar.ui:78
+#: data/ui/timelinetoolbar.ui:93
 msgid "Copy"
 msgstr "Kopiér"
 
-#: data/ui/timelinetoolbar.ui:91
+#: data/ui/timelinetoolbar.ui:106
 msgid "Paste clips"
 msgstr "Indsæt klip"
 
-#: data/ui/timelinetoolbar.ui:93
+#: data/ui/timelinetoolbar.ui:108
 msgid "Paste"
 msgstr "Indsæt"
 
-#: data/ui/timelinetoolbar.ui:106
+#: data/ui/timelinetoolbar.ui:121
 msgid "Align clips based on their soundtracks"
 msgstr "Justér klip efter deres lydspor"
 
-#: data/ui/timelinetoolbar.ui:109
+#: data/ui/timelinetoolbar.ui:124
 msgid "Align"
 msgstr "Justér"
 
-#: data/ui/timelinetoolbar.ui:122
+#: data/ui/timelinetoolbar.ui:137
 msgid ""
 "Toggle gapless mode\n"
 "When enabled, adjacent clips automatically move to fill gaps."
@@ -791,7 +840,7 @@ msgstr ""
 "Hvis aktiveret, vil tilstødende klip automatisk blive flyttet for at udfylde "
 "huller."
 
-#: data/ui/timelinetoolbar.ui:125
+#: data/ui/timelinetoolbar.ui:140
 msgid "Gapless mode"
 msgstr "Tilstand uden huller"
 
@@ -827,6 +876,30 @@ msgstr "Vandret:"
 msgid "Vertical:"
 msgstr "Lodret:"
 
+#: data/ui/trackerperspective.ui:66
+msgid "Tracked Objects:"
+msgstr "Sporede objekter:"
+
+#: data/ui/trackerperspective.ui:195
+msgid "Drag&drop on the video to delimit an object to be tracked."
+msgstr "Træk-&-slip på videoen for at afgrænse et objekt, der skal spores."
+
+#: data/ui/trackerperspective.ui:288
+msgid "Go back one frame"
+msgstr "Gå et billede tilbage"
+
+#: data/ui/trackerperspective.ui:318
+msgid "Go forward one frame"
+msgstr "Gå et billede frem"
+
+#: data/ui/trackerperspective.ui:374
+msgid "Tracking Algorithm"
+msgstr "Sporingsalgoritme"
+
+#: data/ui/trackerperspective.ui:401
+msgid "Track"
+msgstr "Spor"
+
 #: pitivi/action_search_bar.py:46
 msgid "Search Action"
 msgstr "Søg efter handling"
@@ -851,26 +924,26 @@ msgstr "Afslut"
 msgid "Show the Shortcuts Window"
 msgstr "Vis genvejsvinduet"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:113
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:115
 #, python-format
 msgid "- %s not found on the system"
 msgstr "— %s blev ikke fundet på systemet"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:116
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:118
 #, python-format
 msgid "- %s version %s is installed but Pitivi requires at least version %s"
 msgstr "— %s version %s er installeret, men Pitivi kræver mindst version %s"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:191
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:193
 #, python-format
 msgid "- %s GStreamer plug-in not found on the system"
 msgstr "— GStreamer-udvidelsesmodulet %s blev ikke fundet på systemet"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:194
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:196
 #, python-format
 msgid ""
 "- %s Gstreamer plug-in version %s is installed but Pitivi requires at least "
@@ -879,15 +952,21 @@ msgstr ""
 "— GStreamer-udvidelsesmodulet %s version %s er installeret, men Pitivi "
 "kræver mindst version %s"
 
-#: pitivi/check.py:303
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:224
+#, python-format
+msgid "- %s GStreamer element not found on the system"
+msgstr "— GStreamer-elementet %s blev ikke fundet på systemet"
+
+#: pitivi/check.py:332
 msgid "ERROR - The following hard dependencies are unmet:"
 msgstr "FEJL — Følgende hårde afhængigheder er ikke opfyldt:"
 
-#: pitivi/check.py:311
+#: pitivi/check.py:340
 msgid "Missing soft dependency:"
 msgstr "Manglende blød afhængighed:"
 
-#: pitivi/check.py:318
+#: pitivi/check.py:347
 msgid ""
 "ERROR — Could not create a Gst.Fraction — this means gst-python is not "
 "installed correctly."
@@ -895,7 +974,7 @@ msgstr ""
 "FEJL — Kunne ikke oprette en Gst.Fraction — det betyder, at gst-python ikke "
 "er korrekt installeret."
 
-#: pitivi/check.py:323
+#: pitivi/check.py:352
 msgid ""
 "Could not create audio output sink. Make sure you have a valid one "
 "(pulsesink, alsasink or osssink)."
@@ -903,35 +982,35 @@ msgstr ""
 "Kunne ikke oprette en lydoutputsink. Sørg for du har en, som er gyldig "
 "(pulsesink, alsasink eller osssink)."
 
-#: pitivi/check.py:328
+#: pitivi/check.py:357
 msgid ""
 "Could not create video output sink. Make sure you have a gtksink available."
 msgstr ""
 "Kunne ikke oprette en videooutputsink. Sørg for du har en gtksink "
 "tilgængelig."
 
-#: pitivi/check.py:343
+#: pitivi/check.py:372
 #, python-format
 msgid "Could not import '%s'. Make sure you have it available."
 msgstr "Kunne ikke importere “%s”. Sørg for den er tilgængelig."
 
-#: pitivi/check.py:357
+#: pitivi/check.py:386
 msgid "Could not import 'gi'. Make sure you have pygobject available."
 msgstr "Kunne ikke importere “gi”. Sørg for pygobject er tilgængelig."
 
-#: pitivi/check.py:456
+#: pitivi/check.py:485
 msgid "enables sound notifications when rendering is complete"
 msgstr "aktiverer lydpåmindelser, når gengivelsen er færdig"
 
-#: pitivi/check.py:458
+#: pitivi/check.py:487
 msgid "enables visual notifications when rendering is complete"
 msgstr "aktiverer visuelle påmindelser, når gengivelsen er færdig"
 
-#: pitivi/check.py:460
+#: pitivi/check.py:489
 msgid "additional multimedia codecs through the GStreamer Libav library"
 msgstr "yderligere multimediecodecs gennem GStreamer Libav-biblioteket"
 
-#: pitivi/check.py:462
+#: pitivi/check.py:491
 msgid ""
 "enables a watchdog in the GStreamer pipeline. Use to detect errors happening "
 "in GStreamer and recover from them"
@@ -939,12 +1018,20 @@ msgstr ""
 "aktiverer en vagthund i GStreamer-datakanalen. Anvendes til at opdage fejl, "
 "der sker i GStreamer, og komme sig efter dem"
 
+#: pitivi/check.py:495
+msgid "enables object tracking"
+msgstr "aktiverer objektsporing"
+
+#: pitivi/check.py:496
+msgid "enables beat detection functionality"
+msgstr "aktiverer registrering af slag"
+
 #. Translators: This is the default text of a title clip.
-#: pitivi/clipproperties.py:65
+#: pitivi/clipproperties.py:69
 msgid "Title Clip"
 msgstr "Titelklip"
 
-#: pitivi/clipproperties.py:152
+#: pitivi/clipproperties.py:162
 msgid ""
 "Select a clip on the timeline to configure its properties and effects or "
 "create a new clip:"
@@ -952,37 +1039,37 @@ msgstr ""
 "Vælg et klip på tidslinjen for at konfigurere dets egenskaber og effekter, "
 "eller for at oprette et nyt klip:"
 
-#: pitivi/clipproperties.py:158
+#: pitivi/clipproperties.py:168
 msgid "Create a title clip"
 msgstr "Opret et titelklip"
 
-#: pitivi/clipproperties.py:163
+#: pitivi/clipproperties.py:173
 msgid "Create a color clip"
 msgstr "Opret et farveklip"
 
-#: pitivi/clipproperties.py:269 pitivi/effects.py:118
+#: pitivi/clipproperties.py:276 pitivi/effects.py:122
 msgid "Time"
 msgstr "Tid"
 
-#: pitivi/clipproperties.py:312
+#: pitivi/clipproperties.py:319
 msgid "Speed"
 msgstr "Hastighed"
 
-#: pitivi/clipproperties.py:327 pitivi/utils/widgets.py:800
+#: pitivi/clipproperties.py:334 pitivi/utils/widgets.py:800
 #, python-format
 msgid "%(preference_label)s:"
 msgstr "%(preference_label)s:"
 
-#: pitivi/clipproperties.py:330 pitivi/dialogs/prefs.py:285
+#: pitivi/clipproperties.py:337 pitivi/dialogs/prefs.py:286
 #: pitivi/utils/widgets.py:976
 msgid "Reset to default value"
 msgstr "Nulstil til standardværdi"
 
-#: pitivi/clipproperties.py:565
+#: pitivi/clipproperties.py:572
 msgid "Effects"
 msgstr "Effekter"
 
-#: pitivi/clipproperties.py:581
+#: pitivi/clipproperties.py:590
 msgid ""
 "To apply an effect to the clip, drag it from the Effect Library or use the "
 "button below."
@@ -990,46 +1077,61 @@ msgstr ""
 "Træk en effekt fra effektbiblioteket for at anvende den på klippet, eller "
 "brug knappen nedenfor."
 
-#: pitivi/clipproperties.py:589
+#: pitivi/clipproperties.py:598
 msgid "Add Effect"
 msgstr "Tilføj effekt"
 
-#: pitivi/clipproperties.py:910
+#: pitivi/clipproperties.py:608
+msgid "Cover Object"
+msgstr "Tildæk objekt"
+
+#: pitivi/clipproperties.py:938
 msgid "Transformation"
 msgstr "Transformation"
 
-#: pitivi/clipproperties.py:1039
+#: pitivi/clipproperties.py:1067
 msgid "Show keyframes"
 msgstr "Vis nøglebilleder"
 
-#: pitivi/clipproperties.py:1042
+#: pitivi/clipproperties.py:1070
 msgid "Activate keyframes"
 msgstr "Aktivér nøglebilleder"
 
-#: pitivi/clipproperties.py:1047
+#: pitivi/clipproperties.py:1075
 msgid "Hide keyframes"
 msgstr "Skjul nøglebilleder"
 
-#: pitivi/clipproperties.py:1284
+#: pitivi/clip_properties/color.py:53 plugins/console/console.py:125
+msgid "Color"
+msgstr "Farve"
+
+#: pitivi/clip_properties/compositing.py:57 pitivi/effects.py:81
+msgid "Compositing"
+msgstr "Komposition"
+
+#. Translators: These are compositing operators.
+#. See https://www.cairographics.org/operators/ for explanation and
+#. visualizations.
+#: pitivi/clip_properties/compositing.py:80
+msgid "Source"
+msgstr "Kilde"
+
+#: pitivi/clip_properties/compositing.py:81
+msgid "Over"
+msgstr "Over"
+
+#: pitivi/clip_properties/markers.py:47
 msgid "Text"
 msgstr "Tekst"
 
-#: pitivi/clipproperties.py:1293
+#: pitivi/clip_properties/markers.py:64
 msgid "Clip markers"
 msgstr "Klipmarkører"
 
-#: pitivi/clipproperties.py:1346
+#: pitivi/clip_properties/markers.py:125
 msgid "Magnetic"
 msgstr "Magnetisk"
 
-#: pitivi/clipproperties.py:1380
-msgid "No markers"
-msgstr "Ingen markører"
-
-#: pitivi/clip_properties/color.py:53 plugins/console/console.py:125
-msgid "Color"
-msgstr "Farve"
-
 #: pitivi/clip_properties/title.py:47
 msgid "Title clip duration"
 msgstr "Varighed for titelklip"
@@ -1075,7 +1177,210 @@ msgstr "Venstre"
 msgid "Right"
 msgstr "Højre"
 
-#: pitivi/editorperspective.py:205 pitivi/medialibrary.py:621
+#: pitivi/dialogs/about.py:45
+#, python-format
+msgid "Version %s"
+msgstr "Version %s"
+
+#: pitivi/dialogs/about.py:47
+#, python-format
+msgid "Version %(cur_ver)s — %(new_ver)s is available"
+msgstr "Version %(cur_ver)s — %(new_ver)s er tilgængelig"
+
+#: pitivi/dialogs/about.py:58
+msgid "Current maintainers:"
+msgstr "Nuværende vedligeholdere:"
+
+#: pitivi/dialogs/about.py:63
+msgid "Past maintainers:"
+msgstr "Tidligere vedligeholdere:"
+
+#: pitivi/dialogs/about.py:69
+msgid "Contributors:"
+msgstr "Bidragydere:"
+
+#. Translators: See
+#. https://developer.gnome.org/gtk3/stable/GtkAboutDialog.html#gtk-about-dialog-set-translator-credits
+#. for details on how this is used.
+#: pitivi/dialogs/about.py:76
+msgid "translator-credits"
+msgstr ""
+"Per Kongstad\n"
+"Joe Hansen\n"
+"Alan Mortensen\n"
+"scootergrisen\n"
+"\n"
+"Dansk-gruppen\n"
+"Websted http://dansk-gruppen.dk\n"
+"E-mail <dansk@dansk-gruppen.dk>"
+
+#: pitivi/dialogs/browseprojects.py:34
+msgid "Open Project…"
+msgstr "Åbn projekt …"
+
+#: pitivi/dialogs/browseprojects.py:39 pitivi/dialogs/missingasset.py:47
+msgid "Open"
+msgstr "Åbn"
+
+#: pitivi/dialogs/browseprojects.py:55
+msgid "All supported formats"
+msgstr "Alle understøttede formater"
+
+#: pitivi/dialogs/clipmediaprops.py:102
+msgid "Variable"
+msgstr "Variabel"
+
+#: pitivi/dialogs/clipmediaprops.py:128
+msgid "Image:"
+msgstr "Billede:"
+
+#: pitivi/dialogs/filelisterrordialog.py:52
+msgid "Unknown reason"
+msgstr "Ukendt årsag"
+
+#: pitivi/dialogs/filelisterrordialog.py:85
+msgid "Problem:"
+msgstr "Problem:"
+
+#: pitivi/dialogs/filelisterrordialog.py:93
+msgid "Extra information:"
+msgstr "Ekstra information:"
+
+#: pitivi/dialogs/missingasset.py:44
+msgid "Locate missing file..."
+msgstr "Find manglende fil …"
+
+#: pitivi/dialogs/missingasset.py:58
+msgid "The following file could not be found:"
+msgstr "Den følgende fil blev ikke fundet:"
+
+#: pitivi/dialogs/missingasset.py:82
+msgid "Please specify its new location:"
+msgstr "Angiv venligst dens nye placering:"
+
+#. Translators: this is a format filter in a filechooser. Ex: "AVI files"
+#: pitivi/dialogs/missingasset.py:113
+#, python-format
+msgid "%s files"
+msgstr "%s-filer"
+
+#: pitivi/dialogs/missingasset.py:117 pitivi/medialibrary.py:884
+msgid "All files"
+msgstr "Alle filer"
+
+#: pitivi/dialogs/prefs.py:61 pitivi/timeline/timeline.py:1749
+msgid "Timeline"
+msgstr "Tidslinje"
+
+#: pitivi/dialogs/prefs.py:62
+msgid "Plugins"
+msgstr "Udvidelsesmoduler"
+
+#: pitivi/dialogs/prefs.py:63
+msgid "Shortcuts"
+msgstr "Genveje"
+
+#: pitivi/dialogs/prefs.py:64
+msgid "Proxies"
+msgstr "Proxier"
+
+#: pitivi/dialogs/prefs.py:65
+msgid "Other"
+msgstr "Andet"
+
+#: pitivi/dialogs/prefs.py:332
+msgid ""
+"This resolution will be used as the default target resolution for new "
+"projects and projects missing scaled proxy meta-data."
+msgstr ""
+"Opløsningen bruges som standardopløsning for målet til nye projekter og "
+"projekter som mangler skaleret proxy-metadata."
+
+#: pitivi/dialogs/prefs.py:345
+msgid "Initial proxy size for new projects"
+msgstr "Indledende proxystørrelse for nye projekter"
+
+#: pitivi/dialogs/prefs.py:380
+#, python-format
+msgid "Proxy resolution for the current project is %d×%d px"
+msgstr "Proxyopløsningen for det nuværende projekt er %d×%d px"
+
+#: pitivi/dialogs/prefs.py:459
+msgid "Reset the shortcut to the default accelerator"
+msgstr "Nulstil genvejen til standardværdien"
+
+#: pitivi/dialogs/prefs.py:616
+msgid "Set Shortcut"
+msgstr "Indstil genvej"
+
+#. Setup the widgets used in the dialog.
+#: pitivi/dialogs/prefs.py:631
+msgid "Apply"
+msgstr "Anvend"
+
+#: pitivi/dialogs/prefs.py:634
+msgid "Apply the accelerator to this shortcut."
+msgstr "Anvend genvejstasten på denne genvej."
+
+#: pitivi/dialogs/prefs.py:637
+msgid "Replace"
+msgstr "Erstat"
+
+#: pitivi/dialogs/prefs.py:640
+msgid ""
+"Remove this accelerator from where it was used previously and set it for "
+"this shortcut."
+msgstr ""
+"Fjern denne genvejstast fra hvor den tidligere blev brugt og indstil den til "
+"denne genvej."
+
+#: pitivi/dialogs/prefs.py:647
+#, python-format
+msgid "Enter new shortcut for <b>%s</b>, or press Esc to cancel."
+msgstr "Indtast ny genvej til <b>%s</b> eller tryk på Esc for at annullere."
+
+#: pitivi/dialogs/prefs.py:656
+msgid ""
+"The accelerator you are trying to set might interfere with typing. Try using "
+"Control, Shift or Alt with some other key, please."
+msgstr ""
+"Genvejstasten, du prøver at indstille, kan påvirke skrivningen. Prøv at "
+"bruge Control, Skift eller Alt med en anden tast."
+
+#: pitivi/dialogs/prefs.py:690
+#, python-format
+msgid ""
+"This key combination is already used by <b>%s</b>. Press Replace to use it "
+"for <b>%s</b> instead."
+msgstr ""
+"Denne tastekombination bruges allerede af <b>%s</b>. Tryk på Erstat for at "
+"anvende den til <b>%s</b> i stedet."
+
+#: pitivi/dialogs/prefs.py:737
+msgid "No description available."
+msgstr "Ingen beskrivelse tilgængelig."
+
+#: pitivi/dialogs/prefs.py:828
+#, python-brace-format
+msgid "Unable to load the plugin '{module_name}'"
+msgstr "Kunne ikke indlæse udvidelsesmodulet “{module_name}”"
+
+#. We could use Gtk.ListBox.set_placeholder, but it
+#. appears bad inside the list widget.
+#: pitivi/dialogs/prefs.py:912
+msgid "No plugins available"
+msgstr "Ingen udvidelsesmoduler tilgængelig"
+
+#: pitivi/dialogs/prefs.py:925
+#, python-brace-format
+msgid ""
+"You can create <a href='{doc_url}'>plugins</a> into your <a "
+"href='{dir_url}'>plugins directory</a>."
+msgstr ""
+"Du kan oprette <a href='{doc_url}'>udvidelsesmoduler</a> i din <a "
+"href='{dir_url}'>udvidelsesmodulmappe</a>."
+
+#: pitivi/editorperspective.py:205 pitivi/medialibrary.py:623
 msgid "Media Library"
 msgstr "Mediebibliotek"
 
@@ -1098,7 +1403,7 @@ msgstr "Fortryd"
 #. pylint: disable=attribute-defined-outside-init
 #: pitivi/editorperspective.py:323 pitivi/editorperspective.py:536
 #: pitivi/editorperspective.py:680 pitivi/editorperspective.py:728
-#: pitivi/editorperspective.py:781 pitivi/preset.py:113 pitivi/project.py:194
+#: pitivi/editorperspective.py:781 pitivi/preset.py:113 pitivi/project.py:195
 #: pitivi/render.py:226
 msgid "Save"
 msgstr "Gem"
@@ -1124,7 +1429,7 @@ msgstr "Hurtige introduktioner til Pitivi"
 msgid "Unable to save project \"%s\""
 msgstr "Kunne ikke gemme projektet “%s”"
 
-#: pitivi/editorperspective.py:538 pitivi/project.py:193
+#: pitivi/editorperspective.py:538 pitivi/project.py:194
 msgid "Save as..."
 msgstr "Gem som …"
 
@@ -1182,7 +1487,7 @@ msgid "Detect automatically"
 msgstr "Automatisk genkendelse"
 
 #: pitivi/editorperspective.py:737 pitivi/editorperspective.py:784
-#: pitivi/project.py:61 pitivi/render.py:821
+#: pitivi/project.py:62 pitivi/render.py:821
 msgid "Untitled"
 msgstr "Unavngivet"
 
@@ -1198,44 +1503,51 @@ msgstr "JPEG-billede"
 msgid "Preview"
 msgstr "Forhåndsvisning"
 
-#: pitivi/effects.py:61
+#: pitivi/effects.py:65
 msgid "Colors"
 msgstr "Farver"
 
-#: pitivi/effects.py:77
-msgid "Compositing"
-msgstr "Komposition"
-
-#: pitivi/effects.py:84
+#: pitivi/effects.py:88
 msgid "Noise & blur"
 msgstr "Støj og sløring"
 
-#: pitivi/effects.py:89
+#: pitivi/effects.py:93
 msgid "Analysis"
 msgstr "Analyse"
 
-#: pitivi/effects.py:96
+#: pitivi/effects.py:100
 msgid "Geometry"
 msgstr "Geometri"
 
-#: pitivi/effects.py:107
+#: pitivi/effects.py:111
 msgid "Fancy"
 msgstr "Smart"
 
-#: pitivi/effects.py:246
+#: pitivi/effects.py:249
 msgid "effect"
 msgstr "effekt"
 
+#. Translators: How the video effect which covers/hides a
+#. tracked object is listed. The {} is entered by the user
+#. and denotes the tracked object.
+#: pitivi/effects.py:330
+msgid "{} cover"
+msgstr "{} tildækning"
+
+#: pitivi/effects.py:331
+msgid "Object cover effect"
+msgstr "Tildækningseffekt for objekt"
+
 #. Add Uncategorized only if there are other categories defined.
-#: pitivi/effects.py:337 pitivi/effects.py:351
+#: pitivi/effects.py:354 pitivi/effects.py:368
 msgid "Uncategorized"
 msgstr "Uden kategori"
 
-#: pitivi/effects.py:393 pitivi/effects.py:660
+#: pitivi/effects.py:410 pitivi/effects.py:677
 msgid "No effects"
 msgstr "Ingen effekter"
 
-#: pitivi/effects.py:481
+#: pitivi/effects.py:498
 msgid "Add to Favorites"
 msgstr "Tilføj til favoritter"
 
@@ -1325,23 +1637,23 @@ msgstr "Mørkt tema"
 msgid "Whether or not to use a dark theme."
 msgstr "Om der skal bruges et mørkt tema."
 
-#: pitivi/mainwindow.py:188
+#: pitivi/mainwindow.py:189
 msgid "Project"
 msgstr "Projekt"
 
-#: pitivi/mainwindow.py:195
+#: pitivi/mainwindow.py:196
 msgid "Help"
 msgstr "Hjælp"
 
-#: pitivi/mainwindow.py:202
+#: pitivi/mainwindow.py:203
 msgid "About"
 msgstr "Om"
 
-#: pitivi/mainwindow.py:209
+#: pitivi/mainwindow.py:210
 msgid "Show the menu button content"
 msgstr "Vis indholdet af menuknappen"
 
-#: pitivi/mainwindow.py:261
+#: pitivi/mainwindow.py:262
 #, python-format
 msgid "Unable to load project \"%s\""
 msgstr "Kunne ikke indlæse projektet “%s”"
@@ -1360,12 +1672,12 @@ msgid "<b>Resolution</b>: %d×%d"
 msgstr "<b>Opløsning</b>: %d×%d"
 
 #: pitivi/mediafilespreviewer.py:271 pitivi/mediafilespreviewer.py:288
-#: pitivi/utils/ui.py:566
+#: pitivi/utils/ui.py:568
 #, python-format
 msgid "<b>Duration</b>: %s"
 msgstr "<b>Varighed</b>: %s"
 
-#: pitivi/mediafilespreviewer.py:461 pitivi/medialibrary.py:1205
+#: pitivi/mediafilespreviewer.py:461 pitivi/medialibrary.py:1207
 msgid "Error while analyzing a file"
 msgid_plural "Error while analyzing files"
 msgstr[0] "Der opstod en fejl ved analysering af filen"
@@ -1397,120 +1709,116 @@ msgstr "Alle"
 msgid "Scale assets larger than %s×%s px."
 msgstr "Skaler materialer som er større end %s×%s px."
 
-#: pitivi/medialibrary.py:522 pitivi/medialibrary.py:1082
+#: pitivi/medialibrary.py:524 pitivi/medialibrary.py:1084
 msgid "Unknown"
 msgstr "Ukendt"
 
-#: pitivi/medialibrary.py:628
+#: pitivi/medialibrary.py:630
 msgid "Remove the selected assets"
 msgstr "Fjern de valgte materialer"
 
-#: pitivi/medialibrary.py:635
+#: pitivi/medialibrary.py:637
 msgid "Insert selected assets at the end of the timeline"
 msgstr "Indsæt de valgte materialer ved tidslinjens slutning"
 
-#: pitivi/medialibrary.py:851
+#: pitivi/medialibrary.py:853
 msgid "Select One or More Files"
 msgstr "Vælg en eller flere filer"
 
-#: pitivi/medialibrary.py:855 pitivi/medialibrary.py:1279
+#: pitivi/medialibrary.py:857 pitivi/medialibrary.py:1281
 msgid "Add"
 msgstr "Tilføj"
 
-#: pitivi/medialibrary.py:870 pitivi/render.py:1491
+#: pitivi/medialibrary.py:872 pitivi/render.py:1491
 msgid "Supported file formats"
 msgstr "Understøttede filformater"
 
-#: pitivi/medialibrary.py:882 pitivi/dialogs/missingasset.py:117
-msgid "All files"
-msgstr "Alle filer"
-
 #. Translators: this string indicates the estimated time
 #. remaining until an action (such as rendering) completes.
 #. The "%s" is an already-localized human-readable duration,
 #. such as "31 seconds", "1 minute" or "1 hours, 14 minutes".
 #. In some languages, "About %s left" can be expressed roughly as
 #. "There remains approximatively %s" (to handle gender and plurals)
-#: pitivi/medialibrary.py:988
+#: pitivi/medialibrary.py:990
 #, python-format
 msgid "Transcoding %d asset: %d%% (About %s left)"
 msgid_plural "Transcoding %d assets: %d%% (About %s left)"
 msgstr[0] "Omkoder %d materiale: %d%% (ca. %s tilbage)"
 msgstr[1] "Omkoder %d materialer: %d%% (ca. %s tilbage)"
 
-#: pitivi/medialibrary.py:1094
+#: pitivi/medialibrary.py:1096
 msgid "View error"
 msgid_plural "View errors"
 msgstr[0] "Vis fejl"
 msgstr[1] "Vis fejl"
 
 #. Translators: {0:d} is just like %d (integer number variable)
-#: pitivi/medialibrary.py:1096
+#: pitivi/medialibrary.py:1098
 #, python-brace-format
 msgid "An error occurred while importing."
 msgid_plural "{0:d} errors occurred while importing."
 msgstr[0] "Der opstod en fejl under import."
 msgstr[1] "Der opstod {0:d} fejl under import."
 
-#: pitivi/medialibrary.py:1112
+#: pitivi/medialibrary.py:1114
 #, python-format
 msgid "The project settings have been set to match file '%s'"
 msgstr "Projektindstillingerne er blevet sat til at matche filen “%s”"
 
-#: pitivi/medialibrary.py:1208
+#: pitivi/medialibrary.py:1210
 msgid "The following file can not be used with Pitivi."
 msgid_plural "The following files can not be used with Pitivi."
 msgstr[0] "Følgende fil kan ikke bruges med Pitivi."
 msgstr[1] "Følgende filer kan ikke bruges med Pitivi."
 
-#: pitivi/medialibrary.py:1238
+#: pitivi/medialibrary.py:1240
 msgid "Tag as:"
 msgstr "Sæt mærkat som:"
 
-#: pitivi/medialibrary.py:1276
+#: pitivi/medialibrary.py:1278
 msgid "Enter tag"
 msgstr "Indtast mærkat"
 
-#: pitivi/medialibrary.py:1436
+#: pitivi/medialibrary.py:1438
 msgid "Open containing folder"
 msgstr "Åbn indeholdende mappe"
 
-#: pitivi/medialibrary.py:1443
+#: pitivi/medialibrary.py:1445
 msgid "Edit"
 msgstr "Redigér"
 
-#: pitivi/medialibrary.py:1472
+#: pitivi/medialibrary.py:1474
 msgid "Do not use Optimised Proxy for selected asset"
 msgid_plural "Do not use Optimised Proxies for selected assets"
 msgstr[0] "Brug ikke optimeret proxy for valgte materiale"
 msgstr[1] "Brug ikke optimeret proxier for valgte materialer"
 
-#: pitivi/medialibrary.py:1483 pitivi/medialibrary.py:1505
-#: pitivi/medialibrary.py:1527
+#: pitivi/medialibrary.py:1485 pitivi/medialibrary.py:1507
+#: pitivi/medialibrary.py:1529
 msgid "Delete corresponding proxy file"
 msgid_plural "Delete corresponding proxy files"
 msgstr[0] "Slet tilhørende proxyfil"
 msgstr[1] "Slet tilhørende proxyfiler"
 
-#: pitivi/medialibrary.py:1494
+#: pitivi/medialibrary.py:1496
 msgid "Do not use Proxy for selected asset"
 msgid_plural "Do not use Proxies for selected assets"
 msgstr[0] "Brug ikke proxy for valgte materiale"
 msgstr[1] "Brug ikke proxier for valgte materialer"
 
-#: pitivi/medialibrary.py:1516
+#: pitivi/medialibrary.py:1518
 msgid "Do not use Scaled Proxy for selected asset"
 msgid_plural "Do not use Scaled Proxies for selected assets"
 msgstr[0] "Brug ikke skaleret proxy for valgte materiale"
 msgstr[1] "Brug ikke skaleret proxier for valgte materiale"
 
-#: pitivi/medialibrary.py:1538
+#: pitivi/medialibrary.py:1540
 msgid "Use Optimised Proxy for selected asset"
 msgid_plural "Use Optimised Proxies for selected assets"
 msgstr[0] "Brug optimeret proxy for valgte materiale"
 msgstr[1] "Brug optimeret proxier for valgte materialer"
 
-#: pitivi/medialibrary.py:1548
+#: pitivi/medialibrary.py:1550
 msgid "Use Scaled Proxy for selected asset"
 msgid_plural "Use Scaled Proxies for selected assets"
 msgstr[0] "Brug skaleret proxy for valgte materiale"
@@ -1535,11 +1843,11 @@ msgstr "Ny forudindstilling %d"
 
 #. GTK does not allow an empty string as the dialog title, so we use the
 #. same translatable one as render.py's pipeline error message dialog:
-#: pitivi/project.py:177 pitivi/render.py:1320
+#: pitivi/project.py:178 pitivi/render.py:1320
 msgid "Sorry, something didn’t work right."
 msgstr "Beklager, noget gik galt."
 
-#: pitivi/project.py:180
+#: pitivi/project.py:181
 msgid ""
 "Pitivi detected a serious backend problem and could not recover from it, "
 "even after multiple tries. The only thing that can be done at this point is "
@@ -1565,11 +1873,11 @@ msgstr ""
 "Inden du lukker Pitivi, kan du gemme ændringer til den eksisterende "
 "projektfil eller som en separat projektfil."
 
-#: pitivi/project.py:195
+#: pitivi/project.py:196
 msgid "Close Pitivi"
 msgstr "Luk Pitivi"
 
-#: pitivi/project.py:265
+#: pitivi/project.py:266
 msgid ""
 "This might be due to a bug or an unsupported project file format. If you "
 "were trying to add a media file to your project, use the \"Import\" button "
@@ -1579,15 +1887,15 @@ msgstr ""
 "Hvis du prøvede at tilføje en mediefil til dit projekt, så brug “Import”-"
 "knappen i stedet."
 
-#: pitivi/project.py:287
+#: pitivi/project.py:288
 msgid "Ignore backup"
 msgstr "Ignorér sikkerhedskopi"
 
-#: pitivi/project.py:289
+#: pitivi/project.py:290
 msgid "Restore from backup"
 msgstr "Gendan fra sikkerhedskopi"
 
-#: pitivi/project.py:300
+#: pitivi/project.py:301
 #, python-format
 msgid ""
 "An autosaved version of your project file was found. It is %s newer than the "
@@ -1600,16 +1908,16 @@ msgstr ""
 "\n"
 "Vil du indlæse denne i stedet?"
 
-#: pitivi/project.py:373
+#: pitivi/project.py:374
 msgid "You do not have permissions to write to this folder."
 msgstr "Du har ikke rettigheder til at skrive til denne mappe."
 
 #. Save the project to a temporary file.
-#: pitivi/project.py:406
+#: pitivi/project.py:407
 msgid "project"
 msgstr "projekt"
 
-#: pitivi/project.py:706
+#: pitivi/project.py:701
 msgid "Pitivi encoding profile"
 msgstr "Pitivi-kodningsprofil"
 
@@ -1732,126 +2040,10 @@ msgstr "Gengivelsen gennemført"
 msgid "\"%s\" has finished rendering."
 msgstr "“%s” er færdig med at gengive."
 
-#: pitivi/transitions.py:82
-msgid "Normal"
-msgstr "Normal"
-
-#: pitivi/transitions.py:87
-msgid "Loop"
-msgstr "Løkke"
-
-#: pitivi/transitions.py:94
-msgid "Reverse direction"
-msgstr "Vend retning"
-
-#: pitivi/transitions.py:107
-msgid ""
-"Create a transition by overlapping two adjacent clips on the same layer. "
-"Click the transition on the timeline to change the transition type."
-msgstr ""
-"Skab en overgang ved at overlappe to tilstødende klip på det samme lag. Klik "
-"på overgangen på tidslinjen for at ændre overgangstypen."
-
-#: pitivi/transitions.py:229
-msgid "Slow"
-msgstr "Langsomt"
-
-#: pitivi/transitions.py:231
-msgid "Fast"
-msgstr "Hurtigt"
-
-#: pitivi/transitions.py:233
-msgid "Epileptic"
-msgstr "Epileptisk"
-
-#: pitivi/transitions.py:237
-msgid "Sharp"
-msgstr "Hårdt"
-
-#: pitivi/transitions.py:239
-msgid "Smooth"
-msgstr "Blødt"
-
-#: pitivi/viewer/guidelines.py:59
-msgid "3 by 3"
-msgstr "3×3"
-
-#: pitivi/viewer/guidelines.py:60
-msgid "Vertical/Horizontal"
-msgstr "Lodret/vandret"
-
-#: pitivi/viewer/guidelines.py:61
-msgid "Diagonals"
-msgstr "Diagonaler"
-
-#: pitivi/viewer/guidelines.py:92
-msgid "Composition Guidelines"
-msgstr "Kompositionsgitterlinjer"
-
-#: pitivi/viewer/viewer.py:77
-msgid "Currently playing"
-msgstr "Afspiller lige nu"
-
-#: pitivi/viewer/viewer.py:252
-msgid "Select composition guidelines"
-msgstr "Vælg kompositionsgitterlinjer"
-
-#: pitivi/viewer/viewer.py:260
-msgid "Go to the beginning of the timeline"
-msgstr "Gå til tidslinjens start"
-
-#: pitivi/viewer/viewer.py:269
-msgid "Go back one second"
-msgstr "Gå et sekund tilbage"
-
-#: pitivi/viewer/viewer.py:282
-msgid "Go forward one second"
-msgstr "Gå et sekund fremad"
-
-#: pitivi/viewer/viewer.py:291
-msgid "Go to the end of the timeline"
-msgstr "Gå til tidslinjens slutning"
-
-#: pitivi/viewer/viewer.py:298
-msgid ""
-"Enter a timecode or frame number\n"
-"and press \"Enter\" to go to that position"
-msgstr ""
-"Indtast en tidskode eller et billednummer\n"
-"og tryk “Enter” for at gå til den placering"
-
-#: pitivi/viewer/viewer.py:309
-msgid ""
-"Detach the viewer\n"
-"You can re-attach it by closing the newly created window."
-msgstr ""
-"Løsriv fremviseren\n"
-"Du kan sætte den fast igen ved at lukke det nyligt oprettede vindue."
-
-#: pitivi/viewer/viewer.py:336
-msgid "Viewer"
-msgstr "Fremviser"
-
-#: pitivi/viewer/viewer.py:344
-msgid "Toggle the currently selected composition guidelines"
-msgstr "Nuværende kompositionsgitterlinjer til/fra"
-
-#: pitivi/viewer/viewer.py:352
-msgid "Toggle safe areas on viewer"
-msgstr "Sikre områder i fremviser til/fra"
-
-#: pitivi/viewer/viewer.py:478 pitivi/viewer/viewer.py:536
-msgid "Show this window in fullscreen"
-msgstr "Vis dette vindue i fuldskærm"
-
-#: pitivi/viewer/viewer.py:533
-msgid "Exit fullscreen mode"
-msgstr "Forlad fuldskærmstilstand"
-
 #. Translators: This is a tooltip for a clip's keyframe curve,
 #. showing what the keyframe curve affects, the timestamp at
 #. the mouse cursor location, and the value at that timestamp.
-#: pitivi/timeline/elements.py:451
+#: pitivi/timeline/elements.py:446
 #, python-format
 msgid ""
 "Property: %s\n"
@@ -1862,12 +2054,12 @@ msgstr ""
 "Tidsstempel: %s\n"
 "Værdi: %s"
 
-#: pitivi/timeline/elements.py:639
+#: pitivi/timeline/elements.py:634
 #, python-format
 msgid "Timestamp: %s"
 msgstr "Tidsstempel: %s"
 
-#: pitivi/timeline/elements.py:1599
+#: pitivi/timeline/elements.py:1603
 msgid "Audio crossfade"
 msgstr "Glidende lydovergang"
 
@@ -1896,26 +2088,26 @@ msgstr "Slet laget"
 msgid "Layer %d"
 msgstr "Lag %d"
 
-#: pitivi/timeline/ruler.py:232
+#: pitivi/timeline/ruler.py:241
 #, python-format
 msgid "Frame #%d"
 msgstr "Billednr. %d"
 
-#: pitivi/timeline/timeline.py:87
+#: pitivi/timeline/timeline.py:86
 msgid "Markers magnetic by default"
 msgstr "Markører er som standard magnetiske"
 
-#: pitivi/timeline/timeline.py:89
+#: pitivi/timeline/timeline.py:88
 msgid ""
 "Whether markers created on new clips will be snapping targets by default."
 msgstr ""
 "Om markører oprettede i nye klip som standard vil rette ind efter målene."
 
-#: pitivi/timeline/timeline.py:99
+#: pitivi/timeline/timeline.py:98
 msgid "Snap distance"
 msgstr "Afstand for fastgørelse"
 
-#: pitivi/timeline/timeline.py:100
+#: pitivi/timeline/timeline.py:99
 msgid ""
 "Threshold (in pixels) at which two clips will snap together when dragging or "
 "trimming."
@@ -1923,11 +2115,11 @@ msgstr ""
 "Tærskel (i pixler) ved hvilken to klip vil “klistre sammen”, når der trækkes "
 "eller trimmes."
 
-#: pitivi/timeline/timeline.py:112
+#: pitivi/timeline/timeline.py:111
 msgid "Image clip duration"
 msgstr "Varighed for billedklip"
 
-#: pitivi/timeline/timeline.py:114
+#: pitivi/timeline/timeline.py:113
 msgid ""
 "Default clip length (in milliseconds) of images when inserting on the "
 "timeline."
@@ -1935,329 +2127,192 @@ msgstr ""
 "Standardkliplængde (i millisekunder) for billeder, når de indsættes på "
 "tidslinjen."
 
-#: pitivi/timeline/timeline.py:125
+#: pitivi/timeline/timeline.py:124
 msgid "Left click also seeks"
 msgstr "Venstreklik søger også"
 
-#: pitivi/timeline/timeline.py:127
+#: pitivi/timeline/timeline.py:126
 msgid "Whether left-clicking also seeks besides selecting and editing clips."
 msgstr "Om venstreklik også søger udover at vælge og redigere klip."
 
-#: pitivi/timeline/timeline.py:357 pitivi/timeline/timeline.py:1803
+#: pitivi/timeline/timeline.py:357 pitivi/timeline/timeline.py:1813
 msgid "Add layer"
 msgstr "Tilføj lag"
 
-#: pitivi/timeline/timeline.py:1746 pitivi/dialogs/prefs.py:60
-msgid "Timeline"
-msgstr "Tidslinje"
-
-#: pitivi/timeline/timeline.py:1753
+#: pitivi/timeline/timeline.py:1756
 msgid "Action Search"
 msgstr "Handlingssøgning"
 
-#: pitivi/timeline/timeline.py:1761
+#: pitivi/timeline/timeline.py:1764
 msgid "Delete selected clips"
 msgstr "Slet valgte klip"
 
-#: pitivi/timeline/timeline.py:1768
+#: pitivi/timeline/timeline.py:1771
 msgid "Delete selected clips and shift following ones"
 msgstr "Slet valgte klip og flyt de efterfølgende"
 
-#: pitivi/timeline/timeline.py:1775
+#: pitivi/timeline/timeline.py:1778
 msgid "Group selected clips together"
 msgstr "Gruppér valgte klip sammen"
 
-#: pitivi/timeline/timeline.py:1782
+#: pitivi/timeline/timeline.py:1785
 msgid "Ungroup selected clips"
 msgstr "Opdel gruppen med valgte klip"
 
-#: pitivi/timeline/timeline.py:1789
+#: pitivi/timeline/timeline.py:1792
+msgid "Cut selected clips"
+msgstr "Udklip de valgte klip"
+
+#: pitivi/timeline/timeline.py:1799
 msgid "Copy selected clips"
 msgstr "Kopiér valgte klip"
 
-#: pitivi/timeline/timeline.py:1796
+#: pitivi/timeline/timeline.py:1806
 msgid "Paste selected clips"
 msgstr "Indsæt valgte klip"
 
-#: pitivi/timeline/timeline.py:1810
+#: pitivi/timeline/timeline.py:1820
 msgid "Seek to the first clip edge after the playhead"
 msgstr "Søg til kanten af det første klip efter afspilningsmarkøren"
 
-#: pitivi/timeline/timeline.py:1817
+#: pitivi/timeline/timeline.py:1827
 msgid "Seek to the first clip edge before the playhead"
 msgstr "Søg til kanten af det første klip før afspilningsmarkøren"
 
-#: pitivi/timeline/timeline.py:1824
+#: pitivi/timeline/timeline.py:1834
 msgid "Shift selected clips one frame forward"
 msgstr "Forskyd valgte klip et billede frem"
 
-#: pitivi/timeline/timeline.py:1831
+#: pitivi/timeline/timeline.py:1841
 msgid "Shift selected clips one frame backward"
 msgstr "Forskyd valgte klip et billede bagud"
 
-#: pitivi/timeline/timeline.py:1838
+#: pitivi/timeline/timeline.py:1848
 msgid "Snap selected clips to the next clip"
 msgstr "Ret valgte klip ind efter næste klip"
 
-#: pitivi/timeline/timeline.py:1845
+#: pitivi/timeline/timeline.py:1855
 msgid "Snap selected clips to the previous clip"
 msgstr "Ret valgte klip ind efter forrige klip"
 
-#: pitivi/timeline/timeline.py:1852
+#: pitivi/timeline/timeline.py:1862
 msgid "Add an effect to the selected clip"
 msgstr "Tilføj en effekt til det valgte klip"
 
-#: pitivi/timeline/timeline.py:1865
+#: pitivi/timeline/timeline.py:1875
 msgid "Split the clip at the position"
 msgstr "Opdel klippet ved placeringen"
 
-#: pitivi/timeline/timeline.py:1872
+#: pitivi/timeline/timeline.py:1882
 msgid "Add keyframe to the keyframe curve of selected clip"
 msgstr "Tilføj nøglebillede til de valgte klips nøglebilledkurve"
 
-#: pitivi/timeline/timeline.py:1877
+#: pitivi/timeline/timeline.py:1887
 msgid "Timeline Navigation"
 msgstr "Tidslinjenavigering"
 
-#: pitivi/timeline/timeline.py:1885
+#: pitivi/timeline/timeline.py:1895
 msgid "Zoom in"
 msgstr "Zoom ind"
 
-#: pitivi/timeline/timeline.py:1893
+#: pitivi/timeline/timeline.py:1903
 msgid "Zoom out"
 msgstr "Zoom ud"
 
-#: pitivi/timeline/timeline.py:1901
+#: pitivi/timeline/timeline.py:1911
 msgid "Adjust zoom to fit the project to the window"
 msgstr "Indstil zoom så projektet passer til vinduet"
 
-#: pitivi/timeline/timeline.py:1914
+#: pitivi/timeline/timeline.py:1924
 msgid "Seek backward one frame"
 msgstr "Søg ét billede bagud"
 
-#: pitivi/timeline/timeline.py:1921
+#: pitivi/timeline/timeline.py:1931
 msgid "Seek forward one frame"
 msgstr "Søg ét billede fremad"
 
-#: pitivi/timeline/timeline.py:1929
+#: pitivi/timeline/timeline.py:1939
 msgid "Seek backward one second"
 msgstr "Søg ét sekund baglæns"
 
-#: pitivi/timeline/timeline.py:1937
+#: pitivi/timeline/timeline.py:1947
 msgid "Seek forward one second"
 msgstr "Søg ét sekund fremad"
 
-#: pitivi/timeline/timeline.py:1945
+#: pitivi/timeline/timeline.py:1955
 msgid "Add a marker"
 msgstr "Tilføj en markør"
 
-#: pitivi/timeline/timeline.py:1952
+#: pitivi/timeline/timeline.py:1962
 msgid "Seek to the first marker before the playhead"
 msgstr "Søg til den første markør før afspilningsmarkøren"
 
-#: pitivi/timeline/timeline.py:1959
+#: pitivi/timeline/timeline.py:1969
 msgid "Seek to the first marker after the playhead"
 msgstr "Søg til den første markør efter afspilningsmarkøren"
 
-#: pitivi/dialogs/about.py:45
-#, python-format
-msgid "Version %s"
-msgstr "Version %s"
-
-#: pitivi/dialogs/about.py:47
-#, python-format
-msgid "Version %(cur_ver)s — %(new_ver)s is available"
-msgstr "Version %(cur_ver)s — %(new_ver)s er tilgængelig"
-
-#: pitivi/dialogs/about.py:58
-msgid "Current maintainers:"
-msgstr "Nuværende vedligeholdere:"
-
-#: pitivi/dialogs/about.py:63
-msgid "Past maintainers:"
-msgstr "Tidligere vedligeholdere:"
-
-#: pitivi/dialogs/about.py:69
-msgid "Contributors:"
-msgstr "Bidragydere:"
-
-#. Translators: See
-#. https://developer.gnome.org/gtk3/stable/GtkAboutDialog.html#gtk-about-dialog-set-translator-credits
-#. for details on how this is used.
-#: pitivi/dialogs/about.py:76
-msgid "translator-credits"
-msgstr ""
-"Per Kongstad\n"
-"Joe Hansen\n"
-"Alan Mortensen\n"
-"scootergrisen\n"
-"\n"
-"Dansk-gruppen\n"
-"Websted http://dansk-gruppen.dk\n"
-"E-mail <dansk@dansk-gruppen.dk>"
-
-#: pitivi/dialogs/browseprojects.py:34
-msgid "Open Project…"
-msgstr "Åbn projekt …"
-
-#: pitivi/dialogs/browseprojects.py:39 pitivi/dialogs/missingasset.py:47
-msgid "Open"
-msgstr "Åbn"
-
-#: pitivi/dialogs/browseprojects.py:55
-msgid "All supported formats"
-msgstr "Alle understøttede formater"
-
-#: pitivi/dialogs/clipmediaprops.py:102
-msgid "Variable"
-msgstr "Variabel"
+#: pitivi/trackerperspective.py:403
+msgid "Object {}"
+msgstr "Objekt {}"
 
-#: pitivi/dialogs/clipmediaprops.py:128
-msgid "Image:"
-msgstr "Billede:"
+#: pitivi/trackerperspective.py:665
+msgid "Go back"
+msgstr "Gå tilbage"
 
-#: pitivi/dialogs/filelisterrordialog.py:52
-msgid "Unknown reason"
-msgstr "Ukendt årsag"
+#: pitivi/trackerperspective.py:739
+msgid "Track objects"
+msgstr "Spor objekter"
 
-#: pitivi/dialogs/filelisterrordialog.py:85
-msgid "Problem:"
-msgstr "Problem:"
-
-#: pitivi/dialogs/filelisterrordialog.py:93
-msgid "Extra information:"
-msgstr "Ekstra information:"
-
-#: pitivi/dialogs/missingasset.py:44
-msgid "Locate missing file..."
-msgstr "Find manglende fil …"
-
-#: pitivi/dialogs/missingasset.py:58
-msgid "The following file could not be found:"
-msgstr "Den følgende fil blev ikke fundet:"
-
-#: pitivi/dialogs/missingasset.py:82
-msgid "Please specify its new location:"
-msgstr "Angiv venligst dens nye placering:"
-
-#. Translators: this is a format filter in a filechooser. Ex: "AVI files"
-#: pitivi/dialogs/missingasset.py:113
-#, python-format
-msgid "%s files"
-msgstr "%s-filer"
-
-#: pitivi/dialogs/prefs.py:61
-msgid "Plugins"
-msgstr "Udvidelsesmoduler"
-
-#: pitivi/dialogs/prefs.py:62
-msgid "Shortcuts"
-msgstr "Genveje"
-
-#: pitivi/dialogs/prefs.py:63
-msgid "Proxies"
-msgstr "Proxier"
-
-#: pitivi/dialogs/prefs.py:64
-msgid "Other"
-msgstr "Andet"
-
-#: pitivi/dialogs/prefs.py:331
-msgid ""
-"This resolution will be used as the default target resolution for new "
-"projects and projects missing scaled proxy meta-data."
-msgstr ""
-"Opløsningen bruges som standardopløsning for målet til nye projekter og "
-"projekter som mangler skaleret proxy-metadata."
-
-#: pitivi/dialogs/prefs.py:344
-msgid "Initial proxy size for new projects"
-msgstr "Indledende proxystørrelse for nye projekter"
-
-#: pitivi/dialogs/prefs.py:379
-#, python-format
-msgid "Proxy resolution for the current project is %d×%d px"
-msgstr "Proxyopløsningen for det nuværende projekt er %d×%d px"
-
-#: pitivi/dialogs/prefs.py:458
-msgid "Reset the shortcut to the default accelerator"
-msgstr "Nulstil genvejen til standardværdien"
-
-#: pitivi/dialogs/prefs.py:615
-msgid "Set Shortcut"
-msgstr "Indstil genvej"
-
-#. Setup the widgets used in the dialog.
-#: pitivi/dialogs/prefs.py:630
-msgid "Apply"
-msgstr "Anvend"
-
-#: pitivi/dialogs/prefs.py:633
-msgid "Apply the accelerator to this shortcut."
-msgstr "Anvend genvejstasten på denne genvej."
-
-#: pitivi/dialogs/prefs.py:636
-msgid "Replace"
-msgstr "Erstat"
+#: pitivi/transitions.py:77
+msgid "Normal"
+msgstr "Normal"
 
-#: pitivi/dialogs/prefs.py:639
-msgid ""
-"Remove this accelerator from where it was used previously and set it for "
-"this shortcut."
-msgstr ""
-"Fjern denne genvejstast fra hvor den tidligere blev brugt og indstil den til "
-"denne genvej."
+#: pitivi/transitions.py:82
+msgid "Loop"
+msgstr "Løkke"
 
-#: pitivi/dialogs/prefs.py:646
-#, python-format
-msgid "Enter new shortcut for <b>%s</b>, or press Esc to cancel."
-msgstr "Indtast ny genvej til <b>%s</b> eller tryk på Esc for at annullere."
+#: pitivi/transitions.py:89
+msgid "Reverse direction"
+msgstr "Vend retning"
 
-#: pitivi/dialogs/prefs.py:655
+#: pitivi/transitions.py:102
 msgid ""
-"The accelerator you are trying to set might interfere with typing. Try using "
-"Control, Shift or Alt with some other key, please."
+"Create a transition by overlapping two adjacent clips on the same layer. "
+"Click the transition on the timeline to change the transition type."
 msgstr ""
-"Genvejstasten, du prøver at indstille, kan påvirke skrivningen. Prøv at "
-"bruge Control, Skift eller Alt med en anden tast."
+"Skab en overgang ved at overlappe to tilstødende klip på det samme lag. Klik "
+"på overgangen på tidslinjen for at ændre overgangstypen."
 
-#: pitivi/dialogs/prefs.py:689
-#, python-format
-msgid ""
-"This key combination is already used by <b>%s</b>. Press Replace to use it "
-"for <b>%s</b> instead."
-msgstr ""
-"Denne tastekombination bruges allerede af <b>%s</b>. Tryk på Erstat for at "
-"anvende den til <b>%s</b> i stedet."
+#: pitivi/transitions.py:225
+msgid "Slow"
+msgstr "Langsomt"
 
-#: pitivi/dialogs/prefs.py:736
-msgid "No description available."
-msgstr "Ingen beskrivelse tilgængelig."
+#: pitivi/transitions.py:227
+msgid "Fast"
+msgstr "Hurtigt"
 
-#: pitivi/dialogs/prefs.py:827
-#, python-brace-format
-msgid "Unable to load the plugin '{module_name}'"
-msgstr "Kunne ikke indlæse udvidelsesmodulet “{module_name}”"
+#: pitivi/transitions.py:229
+msgid "Epileptic"
+msgstr "Epileptisk"
 
-#. We could use Gtk.ListBox.set_placeholder, but it
-#. appears bad inside the list widget.
-#: pitivi/dialogs/prefs.py:911
-msgid "No plugins available"
-msgstr "Ingen udvidelsesmoduler tilgængelig"
+#: pitivi/transitions.py:233
+msgid "Sharp"
+msgstr "Hårdt"
 
-#: pitivi/dialogs/prefs.py:924
-#, python-brace-format
-msgid ""
-"You can create <a href='{doc_url}'>plugins</a> into your <a "
-"href='{dir_url}'>plugins directory</a>."
-msgstr ""
-"Du kan oprette <a href='{doc_url}'>udvidelsesmoduler</a> i din <a "
-"href='{dir_url}'>udvidelsesmodulmappe</a>."
+#: pitivi/transitions.py:235
+msgid "Smooth"
+msgstr "Blødt"
 
-#: pitivi/utils/markers.py:33
+#. Translators: The list of markers created by the user.
+#: pitivi/utils/markers.py:34
 msgid "User markers"
 msgstr "Brugermarkører"
 
+#. Translators: The list of markers representing detected audio beats.
+#: pitivi/utils/markers.py:36
+msgid "Beats"
+msgstr "Slag"
+
 #: pitivi/utils/misc.py:281
 msgid ""
 "Failed to open the user manual. Make sure to have either the `yelp` GNOME "
@@ -2291,117 +2346,117 @@ msgid "Max CPU usage dedicated to transcoding"
 msgstr "Maks. CPU-forbrug dedikeret til omkodning"
 
 #. Translators: 'fps' is for 'frames per second'
-#: pitivi/utils/ui.py:382
+#: pitivi/utils/ui.py:390
 msgid "{0:s} fps"
 msgstr "{0:s} fps"
 
-#: pitivi/utils/ui.py:402
+#: pitivi/utils/ui.py:410
 #, python-brace-format
 msgid "{0:n} kHz"
 msgstr "{0:n} kHz"
 
-#: pitivi/utils/ui.py:411
+#: pitivi/utils/ui.py:419
 msgid "Mono"
 msgstr "Mono"
 
-#: pitivi/utils/ui.py:412
+#: pitivi/utils/ui.py:420
 msgid "Stereo"
 msgstr "Stereo"
 
-#: pitivi/utils/ui.py:413
+#: pitivi/utils/ui.py:421
 msgid "6 (5.1)"
 msgstr "6 (5.1)"
 
-#: pitivi/utils/ui.py:414
+#: pitivi/utils/ui.py:422
 msgid "8 (7.1)"
 msgstr "8 (7.1)"
 
-#: pitivi/utils/ui.py:545
+#: pitivi/utils/ui.py:547
 #, python-format
 msgid "<b>Duration:</b> %s"
 msgstr "<b>Varighed:</b> %s"
 
-#: pitivi/utils/ui.py:548
+#: pitivi/utils/ui.py:550
 #, python-format
 msgid "<b>Proxy creation progress:</b> %d%%"
 msgstr "<b>Forløb af proxyoprettelse:</b> %d%%"
 
-#: pitivi/utils/ui.py:562
+#: pitivi/utils/ui.py:564
 #, python-format
 msgid "<b>Path</b>: %s"
 msgstr "<b>Sti</b>: %s"
 
-#: pitivi/utils/ui.py:572
+#: pitivi/utils/ui.py:574
 #, python-format
 msgid "<b>Size</b>: %s"
 msgstr "<b>Størrelse</b>: %s"
 
-#: pitivi/utils/ui.py:608
+#: pitivi/utils/ui.py:610
 #, python-format
 msgid "<b>Audio:</b> %d channel at %d <i>Hz</i> (%d <i>bits</i>)"
 msgid_plural "<b>Audio:</b> %d channels at %d <i>Hz</i> (%d <i>bits</i>)"
 msgstr[0] "<b>Lyd:</b> %d kanal på %d <i>Hz</i> (%d <i>bit</i>)"
 msgstr[1] "<b>Lyd:</b> %d kanaler på %d <i>Hz</i> (%d <i>bit</i>)"
 
-#: pitivi/utils/ui.py:620
+#: pitivi/utils/ui.py:622
 #, python-format
 msgid "<b>Video:</b> %d×%d <i>pixels</i> at %s <i>fps</i>"
 msgstr "<b>Video:</b> %d×%d <i>pixler</i> ved %s <i>fps</i>"
 
-#: pitivi/utils/ui.py:623
+#: pitivi/utils/ui.py:625
 #, python-format
 msgid "<b>Image:</b> %d×%d <i>pixels</i>"
 msgstr "<b>Billede:</b> %d×%d <i>pixler</i>"
 
-#: pitivi/utils/ui.py:677 pitivi/utils/ui.py:704 pitivi/utils/ui.py:728
+#: pitivi/utils/ui.py:679 pitivi/utils/ui.py:706 pitivi/utils/ui.py:730
 #, python-format
 msgid "%d hour"
 msgid_plural "%d hours"
 msgstr[0] "%d time"
 msgstr[1] "%d timer"
 
-#: pitivi/utils/ui.py:680 pitivi/utils/ui.py:707 pitivi/utils/ui.py:731
+#: pitivi/utils/ui.py:682 pitivi/utils/ui.py:709 pitivi/utils/ui.py:733
 #, python-format
 msgid "%d minute"
 msgid_plural "%d minutes"
 msgstr[0] "%d minut"
 msgstr[1] "%d minutter"
 
-#: pitivi/utils/ui.py:683 pitivi/utils/ui.py:710 pitivi/utils/ui.py:734
+#: pitivi/utils/ui.py:685 pitivi/utils/ui.py:712 pitivi/utils/ui.py:736
 #, python-format
 msgid "%d second"
 msgid_plural "%d seconds"
 msgstr[0] "%d sekund"
 msgstr[1] "%d sekunder"
 
-#: pitivi/utils/ui.py:702
+#: pitivi/utils/ui.py:704
 #, python-format
 msgid "%d day"
 msgid_plural "%d days"
 msgstr[0] "%d dag"
 msgstr[1] "%d dage"
 
-#: pitivi/utils/ui.py:743
+#: pitivi/utils/ui.py:745
 msgid "Just now"
 msgstr "Lige nu"
 
-#: pitivi/utils/ui.py:746
+#: pitivi/utils/ui.py:748
 msgid "An hour ago"
 msgstr "For en time siden"
 
-#: pitivi/utils/ui.py:749
+#: pitivi/utils/ui.py:751
 msgid "Today"
 msgstr "I dag"
 
-#: pitivi/utils/ui.py:752
+#: pitivi/utils/ui.py:754
 msgid "Yesterday"
 msgstr "I går"
 
-#: pitivi/utils/ui.py:761
+#: pitivi/utils/ui.py:763
 msgid "About a year ago"
 msgstr "For ca. et år siden"
 
-#: pitivi/utils/ui.py:764
+#: pitivi/utils/ui.py:766
 #, python-format
 msgid "About %d year ago"
 msgid_plural "About %d years ago"
@@ -2445,6 +2500,82 @@ msgstr "%s vist"
 msgid "%d nanoseconds displayed, because we can"
 msgstr "%d nanosekunder vist, fordi vi kan"
 
+#: pitivi/viewer/guidelines.py:59
+msgid "3 by 3"
+msgstr "3×3"
+
+#: pitivi/viewer/guidelines.py:60
+msgid "Vertical/Horizontal"
+msgstr "Lodret/vandret"
+
+#: pitivi/viewer/guidelines.py:61
+msgid "Diagonals"
+msgstr "Diagonaler"
+
+#: pitivi/viewer/guidelines.py:92
+msgid "Composition Guidelines"
+msgstr "Kompositionsgitterlinjer"
+
+#: pitivi/viewer/viewer.py:81
+msgid "Currently playing"
+msgstr "Afspiller lige nu"
+
+#: pitivi/viewer/viewer.py:304
+msgid "Select composition guidelines"
+msgstr "Vælg kompositionsgitterlinjer"
+
+#: pitivi/viewer/viewer.py:312
+msgid "Go to the beginning of the timeline"
+msgstr "Gå til tidslinjens start"
+
+#: pitivi/viewer/viewer.py:321
+msgid "Go back one second"
+msgstr "Gå et sekund tilbage"
+
+#: pitivi/viewer/viewer.py:334
+msgid "Go forward one second"
+msgstr "Gå et sekund fremad"
+
+#: pitivi/viewer/viewer.py:343
+msgid "Go to the end of the timeline"
+msgstr "Gå til tidslinjens slutning"
+
+#: pitivi/viewer/viewer.py:350
+msgid ""
+"Enter a timecode or frame number\n"
+"and press \"Enter\" to go to that position"
+msgstr ""
+"Indtast en tidskode eller et billednummer\n"
+"og tryk “Enter” for at gå til den placering"
+
+#: pitivi/viewer/viewer.py:361
+msgid ""
+"Detach the viewer\n"
+"You can re-attach it by closing the newly created window."
+msgstr ""
+"Løsriv fremviseren\n"
+"Du kan sætte den fast igen ved at lukke det nyligt oprettede vindue."
+
+#: pitivi/viewer/viewer.py:388
+msgid "Viewer"
+msgstr "Fremviser"
+
+#: pitivi/viewer/viewer.py:396
+msgid "Toggle the currently selected composition guidelines"
+msgstr "Nuværende kompositionsgitterlinjer til/fra"
+
+#: pitivi/viewer/viewer.py:404
+msgid "Toggle safe areas on viewer"
+msgstr "Sikre områder i fremviser til/fra"
+
+#: pitivi/viewer/viewer.py:546 pitivi/viewer/viewer.py:605
+msgid "Show this window in fullscreen"
+msgstr "Vis dette vindue i fuldskærm"
+
+#: pitivi/viewer/viewer.py:602
+msgid "Exit fullscreen mode"
+msgstr "Forlad fuldskærmstilstand"
+
 #: plugins/console/console.py:123
 msgid "Console"
 msgstr "Konsol"
@@ -2487,3 +2618,6 @@ msgid ""
 msgstr ""
 "Ikke muligt at tilsidesætte {key}, fordi genvejskommandoer er "
 "skrivebeskyttede."
+
+#~ msgid "No markers"
+#~ msgstr "Ingen markører"
diff --git a/po/id.po b/po/id.po
index 59ac51c..7de475c 100644
--- a/po/id.po
+++ b/po/id.po
@@ -1,22 +1,22 @@
 # Indonesian translation for pitivi.
 # Copyright (C) 2017 pitivi's COPYRIGHT HOLDER
 # This file is distributed under the same license as the pitivi package.
-# Andika Triwidada <atriwidada@gnome.org>, 2017, 2018.
+# Andika Triwidada <atriwidada@gnome.org>, 2017, 2018, 2021, 2023.
 # Kukuh Syafaat <kukuhsyafaat@gnome.org>, 2018. 2019, 2021, 2022.
 msgid ""
 msgstr ""
 "Project-Id-Version: pitivi master\n"
 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/pitivi/issues\n"
-"POT-Creation-Date: 2022-04-10 23:42+0000\n"
-"PO-Revision-Date: 2022-04-19 10:26+0700\n"
-"Last-Translator: Kukuh Syafaat <kukuhsyafaat@gnome.org>\n"
+"POT-Creation-Date: 2023-03-13 16:35+0000\n"
+"PO-Revision-Date: 2023-03-21 09:44+0700\n"
+"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
 "Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n"
 "Language: id\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural= n!=1;\n"
-"X-Generator: Poedit 3.0.1\n"
+"X-Generator: Poedit 3.2.2\n"
 
 #: data/org.pitivi.Pitivi-mime.xml.in:4
 msgid "Pitivi video project (legacy)"
@@ -130,23 +130,23 @@ msgstr "Hapus ketukan yang terdeteksi"
 msgid "Detecting..."
 msgstr "Mendeteksi..."
 
-#: data/ui/clipcolor.ui:21
+#: data/ui/clipcolor.ui:21 data/ui/customwidgets/pitivi:object_effect.ui:37
 msgid "Pick the clip color"
 msgstr "Pilih warna klip"
 
-#: data/ui/clipcompositing.ui:43
+#: data/ui/clipcompositing.ui:42
 msgid "Fade-in:"
 msgstr "Fade-in:"
 
-#: data/ui/clipcompositing.ui:55 data/ui/clipcompositing.ui:123
+#: data/ui/clipcompositing.ui:54 data/ui/clipcompositing.ui:122
 msgid "seconds"
 msgstr "detik"
 
-#: data/ui/clipcompositing.ui:98
+#: data/ui/clipcompositing.ui:97
 msgid "Fade-out:"
 msgstr "Fade-out:"
 
-#: data/ui/clipcompositing.ui:151
+#: data/ui/clipcompositing.ui:150
 msgid "Reset fade-in"
 msgstr "Reset fade-in"
 
@@ -154,6 +154,10 @@ msgstr "Reset fade-in"
 msgid "Reset fade-out"
 msgstr "Reset fade-out"
 
+#: data/ui/clipcompositing.ui:181
+msgid "Blending:"
+msgstr "Pencampuran:"
+
 #: data/ui/clipmediaprops.ui:8
 msgid "Clip Properties"
 msgstr "Properti Klip"
@@ -331,6 +335,10 @@ msgstr "alfa min"
 msgid "max alpha"
 msgstr "alfa maks"
 
+#: data/ui/customwidgets/pitivi:object_effect.ui:19
+msgid "Color:"
+msgstr "Warna:"
+
 #: data/ui/effectslibrary.ui:16
 msgid "Favorites"
 msgstr "Favorit"
@@ -406,8 +414,8 @@ msgid "Edit the project settings"
 msgstr "Sunting pengaturan projek"
 
 #: data/ui/mainmenubutton.ui:119 data/ui/projectsettings.ui:61
-#: pitivi/dialogs/prefs.py:340 pitivi/medialibrary.py:173
-#: pitivi/medialibrary.py:538
+#: pitivi/dialogs/prefs.py:340 pitivi/medialibrary.py:182
+#: pitivi/medialibrary.py:547
 msgid "Project Settings"
 msgstr "Pengaturan Projek"
 
@@ -522,7 +530,7 @@ msgstr ""
 #: pitivi/dialogs/browseprojects.py:38 pitivi/dialogs/missingasset.py:46
 #: pitivi/editorperspective.py:544 pitivi/editorperspective.py:679
 #: pitivi/editorperspective.py:727 pitivi/editorperspective.py:780
-#: pitivi/greeterperspective.py:241 pitivi/medialibrary.py:856
+#: pitivi/greeterperspective.py:241 pitivi/medialibrary.py:865
 msgid "Cancel"
 msgstr "Batal"
 
@@ -547,13 +555,13 @@ msgstr "Batasi proporsi"
 msgid "Maintain aspect ratio"
 msgstr "Pertahankan rasio aspek"
 
-#: data/ui/projectsettings.ui:330 data/ui/renderingdialog.ui:734
+#: data/ui/projectsettings.ui:330 data/ui/renderingdialog.ui:732
 msgid "Frame rate:"
 msgstr "Laju bingkai:"
 
 #. The title of the section with the video settings
-#: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:752
-#: pitivi/clip_properties/markers.py:45 pitivi/effects.py:246
+#: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:750
+#: pitivi/clip_properties/markers.py:45 pitivi/effects.py:249
 msgid "Video"
 msgstr "Video"
 
@@ -607,20 +615,20 @@ msgstr "Render"
 msgid "Quality:"
 msgstr "Kualitas:"
 
-#: data/ui/renderingdialog.ui:179 pitivi/clip_properties/markers.py:48
+#: data/ui/renderingdialog.ui:177 pitivi/clip_properties/markers.py:48
 #: pitivi/render.py:74
 msgid "Custom"
 msgstr "Ubahan"
 
-#: data/ui/renderingdialog.ui:246
+#: data/ui/renderingdialog.ui:244
 msgid "Container format:"
 msgstr "Format wadah:"
 
-#: data/ui/renderingdialog.ui:313
+#: data/ui/renderingdialog.ui:311
 msgid "Automatically render from proxy files"
 msgstr "Secara otomatis render dari berkas proksi"
 
-#: data/ui/renderingdialog.ui:317
+#: data/ui/renderingdialog.ui:315
 msgid ""
 "Use proxy files if they are available and the source asset media format is "
 "not officially supported.\n"
@@ -634,11 +642,11 @@ msgstr ""
 "Opsi ini adalah trade-off yang baik antara kualitas dari video yang dirender "
 "dan stabilitas."
 
-#: data/ui/renderingdialog.ui:332
+#: data/ui/renderingdialog.ui:330
 msgid "Always render from proxy files"
 msgstr "Selalu render dari berkas proksi"
 
-#: data/ui/renderingdialog.ui:336
+#: data/ui/renderingdialog.ui:334
 msgid ""
 "Render all proxied clips from the proxy assets. There might be some quality "
 "loss during the rendering process."
@@ -646,11 +654,11 @@ msgstr ""
 "Merender semua klip yang disinggahkan dari aset singgahan. Mungkin ada "
 "kehilangan kualitas selama proses perenderan."
 
-#: data/ui/renderingdialog.ui:349
+#: data/ui/renderingdialog.ui:347
 msgid "Never render from proxy files"
 msgstr "Jangan pernah render dari berkas proksi"
 
-#: data/ui/renderingdialog.ui:353
+#: data/ui/renderingdialog.ui:351
 msgid ""
 "Always use source assets for rendering. It is the best choice for the "
 "quality of the rendered video, but you might hit some bugs because of the "
@@ -662,56 +670,56 @@ msgstr ""
 "karena penggunaan format media yang tidak didukung secara resmi.\n"
 "<i>Gunakan ini dengan risiko Anda tanggung sendiri!</i>"
 
-#: data/ui/renderingdialog.ui:400
+#: data/ui/renderingdialog.ui:398
 msgid "Channels:"
 msgstr "Kanal:"
 
-#: data/ui/renderingdialog.ui:432 data/ui/renderingdialog.ui:653
+#: data/ui/renderingdialog.ui:430 data/ui/renderingdialog.ui:651
 msgid "Advanced..."
 msgstr "Tingkat Lanjut..."
 
-#: data/ui/renderingdialog.ui:472 data/ui/renderingdialog.ui:692
+#: data/ui/renderingdialog.ui:470 data/ui/renderingdialog.ui:690
 msgid "Codec:"
 msgstr "Kodek:"
 
-#: data/ui/renderingdialog.ui:509
+#: data/ui/renderingdialog.ui:507
 msgid "Sample rate:"
 msgstr "Laju cuplikan:"
 
-#: data/ui/renderingdialog.ui:527 pitivi/clip_properties/markers.py:46
-#: pitivi/effects.py:122 pitivi/effects.py:246
+#: data/ui/renderingdialog.ui:525 pitivi/clip_properties/markers.py:46
+#: pitivi/effects.py:126 pitivi/effects.py:249
 msgid "Audio"
 msgstr "Audio"
 
-#: data/ui/renderingdialog.ui:566
+#: data/ui/renderingdialog.ui:564
 msgid "Scale:"
 msgstr "Skala:"
 
-#: data/ui/renderingdialog.ui:599
+#: data/ui/renderingdialog.ui:597
 msgid "Scale"
 msgstr "Skala"
 
-#: data/ui/renderingdialog.ui:619
+#: data/ui/renderingdialog.ui:617
 msgid "Height"
 msgstr "Tinggi"
 
-#: data/ui/renderingdialog.ui:638
+#: data/ui/renderingdialog.ui:636
 msgid "Project Settings..."
 msgstr "Pengaturan Projek..."
 
-#: data/ui/renderingdialog.ui:718
+#: data/ui/renderingdialog.ui:716
 msgid "Framerate"
 msgstr "Laju frame"
 
-#: data/ui/renderingdialog.ui:781
+#: data/ui/renderingdialog.ui:779
 msgid "Advanced"
 msgstr "Tingkat Lanjut"
 
-#: data/ui/renderingdialog.ui:792
+#: data/ui/renderingdialog.ui:790
 msgid "Select file"
 msgstr "Pilih berkas"
 
-#: data/ui/renderingdialog.ui:809
+#: data/ui/renderingdialog.ui:807
 msgid "File path:"
 msgstr "Path berkas:"
 
@@ -719,12 +727,13 @@ msgstr "Path berkas:"
 msgid "Rendering"
 msgstr "Perenderan"
 
-#: data/ui/renderingprogress.ui:27 pitivi/viewer/viewer.py:774
+#: data/ui/renderingprogress.ui:27 data/ui/trackerperspective.ui:19
+#: pitivi/viewer/viewer.py:844
 msgid "Pause"
 msgstr "Jeda"
 
-#: data/ui/renderingprogress.ui:55 pitivi/timeline/timeline.py:1913
-#: pitivi/viewer/viewer.py:766
+#: data/ui/renderingprogress.ui:55 data/ui/trackerperspective.ui:25
+#: pitivi/timeline/timeline.py:1921 pitivi/viewer/viewer.py:836
 msgid "Play"
 msgstr "Putar"
 
@@ -810,11 +819,11 @@ msgstr "Tempel"
 msgid "Align clips based on their soundtracks"
 msgstr "Ratakan klip berdasarkan trek suara mereka"
 
-#: data/ui/timelinetoolbar.ui:124
+#: data/ui/timelinetoolbar.ui:123
 msgid "Align"
 msgstr "Perataan"
 
-#: data/ui/timelinetoolbar.ui:137
+#: data/ui/timelinetoolbar.ui:136
 msgid ""
 "Toggle gapless mode\n"
 "When enabled, adjacent clips automatically move to fill gaps."
@@ -823,7 +832,7 @@ msgstr ""
 "Ketika difungsikan, klip-klip yang bersebelahan otomatis digeser untuk "
 "mengisi celah."
 
-#: data/ui/timelinetoolbar.ui:140
+#: data/ui/timelinetoolbar.ui:139
 msgid "Gapless mode"
 msgstr "Mode tanpa jeda"
 
@@ -859,6 +868,30 @@ msgstr "Horisontal:"
 msgid "Vertical:"
 msgstr "Vertikal:"
 
+#: data/ui/trackerperspective.ui:66
+msgid "Tracked Objects:"
+msgstr "Objek yang Dilacak:"
+
+#: data/ui/trackerperspective.ui:195
+msgid "Drag&drop on the video to delimit an object to be tracked."
+msgstr "Seret & jatuhkan pada video untuk membatasi objek yang akan dilacak."
+
+#: data/ui/trackerperspective.ui:288
+msgid "Go back one frame"
+msgstr "Kembali satu bingkai"
+
+#: data/ui/trackerperspective.ui:318
+msgid "Go forward one frame"
+msgstr "Maju satu bingkai"
+
+#: data/ui/trackerperspective.ui:374
+msgid "Tracking Algorithm"
+msgstr "Algoritma Pelacakan"
+
+#: data/ui/trackerperspective.ui:401
+msgid "Track"
+msgstr "Lacak"
+
 #: pitivi/action_search_bar.py:46
 msgid "Search Action"
 msgstr "Aksi Pencarian"
@@ -883,26 +916,26 @@ msgstr "Keluar"
 msgid "Show the Shortcuts Window"
 msgstr "Tampilkan Jendela Pintasan"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:113
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:115
 #, python-format
 msgid "- %s not found on the system"
 msgstr "- %s tidak ditemukan pada sistem"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:116
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:118
 #, python-format
 msgid "- %s version %s is installed but Pitivi requires at least version %s"
 msgstr "- %s versi %s terpasang tapi Pitivi memerlukan paling tidak versi %s"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:191
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:193
 #, python-format
 msgid "- %s GStreamer plug-in not found on the system"
 msgstr "- %s pengaya GStreamer tidak ditemukan pada sistem"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:194
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:196
 #, python-format
 msgid ""
 "- %s Gstreamer plug-in version %s is installed but Pitivi requires at least "
@@ -911,15 +944,21 @@ msgstr ""
 "- %s pengaya GStreamer versi %s terpasang tapi Pitivi memerlukan paling "
 "tidak versi %s"
 
-#: pitivi/check.py:303
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:224
+#, python-format
+msgid "- %s GStreamer element not found on the system"
+msgstr "- %s elemen GStreamer tidak ditemukan pada sistem"
+
+#: pitivi/check.py:332
 msgid "ERROR - The following hard dependencies are unmet:"
 msgstr "KESALAHAN - Kebergantungan kuat berikut tak terpenuhi:"
 
-#: pitivi/check.py:311
+#: pitivi/check.py:340
 msgid "Missing soft dependency:"
 msgstr "Kurang kebergantungan lunak:"
 
-#: pitivi/check.py:318
+#: pitivi/check.py:347
 msgid ""
 "ERROR — Could not create a Gst.Fraction — this means gst-python is not "
 "installed correctly."
@@ -927,7 +966,7 @@ msgstr ""
 "KESALAHAN — Tidak bisa membuat suatu Gst.Fraction — ini berarti gst-python "
 "tidak terpasang secara benar."
 
-#: pitivi/check.py:323
+#: pitivi/check.py:352
 msgid ""
 "Could not create audio output sink. Make sure you have a valid one "
 "(pulsesink, alsasink or osssink)."
@@ -935,34 +974,34 @@ msgstr ""
 "Tidak bisa membuat muara keluaran audio. Pastikan bahwa Anda punya yang "
 "valid (pulsesink, alsasink, atau osssink)."
 
-#: pitivi/check.py:328
+#: pitivi/check.py:357
 msgid ""
 "Could not create video output sink. Make sure you have a gtksink available."
 msgstr ""
 "Tidak bisa membuat muara keluaran video. Pastikan bahwa Anda punya gtksink."
 
-#: pitivi/check.py:343
+#: pitivi/check.py:372
 #, python-format
 msgid "Could not import '%s'. Make sure you have it available."
 msgstr "Tidak bisa mengimpor '%s'. Pastikan bahwa itu tersedia."
 
-#: pitivi/check.py:357
+#: pitivi/check.py:386
 msgid "Could not import 'gi'. Make sure you have pygobject available."
 msgstr "Tidak bisa mengimpor 'gi'. Pastikan bahwa pygobject tersedia."
 
-#: pitivi/check.py:456
+#: pitivi/check.py:485
 msgid "enables sound notifications when rendering is complete"
 msgstr "memfungsikan pemberitahuan suara ketika perenderan selesai"
 
-#: pitivi/check.py:458
+#: pitivi/check.py:487
 msgid "enables visual notifications when rendering is complete"
 msgstr "memfungsikan pemberitahuan visual ketika perenderan selesai"
 
-#: pitivi/check.py:460
+#: pitivi/check.py:489
 msgid "additional multimedia codecs through the GStreamer Libav library"
 msgstr "kodek multimedia tambahan melalui pustaka GStreamer Libav"
 
-#: pitivi/check.py:462
+#: pitivi/check.py:491
 msgid ""
 "enables a watchdog in the GStreamer pipeline. Use to detect errors happening "
 "in GStreamer and recover from them"
@@ -970,16 +1009,20 @@ msgstr ""
 "memfungsikan suatu watchdong dalam pipeline GStreamer. Digunakan untuk "
 "mendeteksi kesalahan yang terjadi dalam GStreamer dan memulihkannya"
 
-#: pitivi/check.py:465
+#: pitivi/check.py:495
+msgid "enables object tracking"
+msgstr "memungkinkan pelacakan objek"
+
+#: pitivi/check.py:496
 msgid "enables beat detection functionality"
 msgstr "memungkinkan fungsi deteksi ketukan"
 
 #. Translators: This is the default text of a title clip.
-#: pitivi/clipproperties.py:66
+#: pitivi/clipproperties.py:69
 msgid "Title Clip"
 msgstr "Klip Judul"
 
-#: pitivi/clipproperties.py:158
+#: pitivi/clipproperties.py:162
 msgid ""
 "Select a clip on the timeline to configure its properties and effects or "
 "create a new clip:"
@@ -987,37 +1030,37 @@ msgstr ""
 "Pilih suatu klip pada lini masa untuk mengonfigurasi properti dan efeknya "
 "atau membuat klip baru:"
 
-#: pitivi/clipproperties.py:164
+#: pitivi/clipproperties.py:168
 msgid "Create a title clip"
 msgstr "Buat klip judul"
 
-#: pitivi/clipproperties.py:169
+#: pitivi/clipproperties.py:173
 msgid "Create a color clip"
 msgstr "Buat klip warna"
 
-#: pitivi/clipproperties.py:272 pitivi/effects.py:118
+#: pitivi/clipproperties.py:276 pitivi/effects.py:122
 msgid "Time"
 msgstr "Waktu"
 
-#: pitivi/clipproperties.py:315
+#: pitivi/clipproperties.py:319
 msgid "Speed"
 msgstr "Laju"
 
-#: pitivi/clipproperties.py:330 pitivi/utils/widgets.py:800
+#: pitivi/clipproperties.py:334 pitivi/utils/widgets.py:800
 #, python-format
 msgid "%(preference_label)s:"
 msgstr "%(preference_label)s:"
 
-#: pitivi/clipproperties.py:333 pitivi/dialogs/prefs.py:286
+#: pitivi/clipproperties.py:337 pitivi/dialogs/prefs.py:286
 #: pitivi/utils/widgets.py:976
 msgid "Reset to default value"
 msgstr "Menata ulang ke nilai-nilai bawaan"
 
-#: pitivi/clipproperties.py:568
+#: pitivi/clipproperties.py:572
 msgid "Effects"
 msgstr "Efek"
 
-#: pitivi/clipproperties.py:584
+#: pitivi/clipproperties.py:590
 msgid ""
 "To apply an effect to the clip, drag it from the Effect Library or use the "
 "button below."
@@ -1025,23 +1068,27 @@ msgstr ""
 "Untuk menerapkan suatu efek ke klip, seret saja dari Pustaka Efek atau "
 "gunakan tombol di bawah ini."
 
-#: pitivi/clipproperties.py:592
+#: pitivi/clipproperties.py:598
 msgid "Add Effect"
 msgstr "Tambah Efek"
 
-#: pitivi/clipproperties.py:913
+#: pitivi/clipproperties.py:608
+msgid "Cover Object"
+msgstr "Menutupi Objek"
+
+#: pitivi/clipproperties.py:938
 msgid "Transformation"
 msgstr "Transformasi"
 
-#: pitivi/clipproperties.py:1042
+#: pitivi/clipproperties.py:1067
 msgid "Show keyframes"
 msgstr "Tampilkan bingkai kunci"
 
-#: pitivi/clipproperties.py:1045
+#: pitivi/clipproperties.py:1070
 msgid "Activate keyframes"
 msgstr "Aktifkan bingkai kunci"
 
-#: pitivi/clipproperties.py:1050
+#: pitivi/clipproperties.py:1075
 msgid "Hide keyframes"
 msgstr "Sembunyikan bingkai kunci"
 
@@ -1049,10 +1096,21 @@ msgstr "Sembunyikan bingkai kunci"
 msgid "Color"
 msgstr "Warna"
 
-#: pitivi/clip_properties/compositing.py:53 pitivi/effects.py:77
+#: pitivi/clip_properties/compositing.py:57 pitivi/effects.py:81
 msgid "Compositing"
 msgstr "Pengkompositan"
 
+#. Translators: These are compositing operators.
+#. See https://www.cairographics.org/operators/ for explanation and
+#. visualizations.
+#: pitivi/clip_properties/compositing.py:80
+msgid "Source"
+msgstr "Sumber"
+
+#: pitivi/clip_properties/compositing.py:81
+msgid "Over"
+msgstr "Lewat"
+
 #: pitivi/clip_properties/markers.py:47
 msgid "Text"
 msgstr "Teks"
@@ -1139,7 +1197,7 @@ msgstr "Kontributor:"
 #: pitivi/dialogs/about.py:76
 msgid "translator-credits"
 msgstr ""
-"Andika Triwidada <andika@gmail.com>, 2017, 2020, 2021.\n"
+"Andika Triwidada <andika@gmail.com>, 2017, 2020, 2021, 2023.\n"
 "Kukuh Syafaat <kukuhsyafaat@gnome.org>, 2018, 2019, 2021, 2022."
 
 #: pitivi/dialogs/browseprojects.py:34
@@ -1192,11 +1250,11 @@ msgstr "Harap masukkan lokasi barunya:"
 msgid "%s files"
 msgstr "berkas %s"
 
-#: pitivi/dialogs/missingasset.py:117 pitivi/medialibrary.py:884
+#: pitivi/dialogs/missingasset.py:117 pitivi/medialibrary.py:893
 msgid "All files"
 msgstr "Semua berkas"
 
-#: pitivi/dialogs/prefs.py:61 pitivi/timeline/timeline.py:1745
+#: pitivi/dialogs/prefs.py:61 pitivi/timeline/timeline.py:1749
 msgid "Timeline"
 msgstr "Alur Waktu"
 
@@ -1308,7 +1366,7 @@ msgstr ""
 "Anda dapat membuat <a href='{doc_url}'>pengaya</a> kedalam <a "
 "href='{dir_url}'>direktori pengaya</a> Anda."
 
-#: pitivi/editorperspective.py:205 pitivi/medialibrary.py:623
+#: pitivi/editorperspective.py:205 pitivi/medialibrary.py:632
 msgid "Media Library"
 msgstr "Pustaka Media"
 
@@ -1331,7 +1389,7 @@ msgstr "Tak Jadi"
 #. pylint: disable=attribute-defined-outside-init
 #: pitivi/editorperspective.py:323 pitivi/editorperspective.py:536
 #: pitivi/editorperspective.py:680 pitivi/editorperspective.py:728
-#: pitivi/editorperspective.py:781 pitivi/preset.py:113 pitivi/project.py:194
+#: pitivi/editorperspective.py:781 pitivi/preset.py:113 pitivi/project.py:195
 #: pitivi/render.py:226
 msgid "Save"
 msgstr "Simpan"
@@ -1357,7 +1415,7 @@ msgstr "Perkenalan cepat ke Pitivi"
 msgid "Unable to save project \"%s\""
 msgstr "Tidak bisa menyimpan proyek \"%s\""
 
-#: pitivi/editorperspective.py:538 pitivi/project.py:193
+#: pitivi/editorperspective.py:538 pitivi/project.py:194
 msgid "Save as..."
 msgstr "Simpan Sebagai..."
 
@@ -1415,7 +1473,7 @@ msgid "Detect automatically"
 msgstr "Deteksi secara otomatis"
 
 #: pitivi/editorperspective.py:737 pitivi/editorperspective.py:784
-#: pitivi/project.py:61 pitivi/render.py:821
+#: pitivi/project.py:62 pitivi/render.py:821
 msgid "Untitled"
 msgstr "Tanpa judul"
 
@@ -1431,40 +1489,51 @@ msgstr "Citra JPEG"
 msgid "Preview"
 msgstr "Pratinjau"
 
-#: pitivi/effects.py:61
+#: pitivi/effects.py:65
 msgid "Colors"
 msgstr "Warna"
 
-#: pitivi/effects.py:84
+#: pitivi/effects.py:88
 msgid "Noise & blur"
 msgstr "Derau & kabur"
 
-#: pitivi/effects.py:89
+#: pitivi/effects.py:93
 msgid "Analysis"
 msgstr "Analisis"
 
-#: pitivi/effects.py:96
+#: pitivi/effects.py:100
 msgid "Geometry"
 msgstr "Geometri"
 
-#: pitivi/effects.py:107
+#: pitivi/effects.py:111
 msgid "Fancy"
 msgstr "Kesukaan"
 
-#: pitivi/effects.py:246
+#: pitivi/effects.py:249
 msgid "effect"
 msgstr "efek"
 
+#. Translators: How the video effect which covers/hides a
+#. tracked object is listed. The {} is entered by the user
+#. and denotes the tracked object.
+#: pitivi/effects.py:330
+msgid "{} cover"
+msgstr "{} menutupi"
+
+#: pitivi/effects.py:331
+msgid "Object cover effect"
+msgstr "Efek penutup objek"
+
 #. Add Uncategorized only if there are other categories defined.
-#: pitivi/effects.py:337 pitivi/effects.py:351
+#: pitivi/effects.py:354 pitivi/effects.py:368
 msgid "Uncategorized"
 msgstr "Tanpa kategori"
 
-#: pitivi/effects.py:393 pitivi/effects.py:660
+#: pitivi/effects.py:410 pitivi/effects.py:677
 msgid "No effects"
 msgstr "Tidak ada efek"
 
-#: pitivi/effects.py:481
+#: pitivi/effects.py:498
 msgid "Add to Favorites"
 msgstr "Tambah ke Favorit"
 
@@ -1589,64 +1658,64 @@ msgid "<b>Resolution</b>: %d×%d"
 msgstr "<b>Resolusi</b>: %d×%d"
 
 #: pitivi/mediafilespreviewer.py:271 pitivi/mediafilespreviewer.py:288
-#: pitivi/utils/ui.py:566
+#: pitivi/utils/ui.py:580
 #, python-format
 msgid "<b>Duration</b>: %s"
 msgstr "<b>Durasi</b>: %s"
 
-#: pitivi/mediafilespreviewer.py:461 pitivi/medialibrary.py:1207
+#: pitivi/mediafilespreviewer.py:461 pitivi/medialibrary.py:1216
 msgid "Error while analyzing a file"
 msgid_plural "Error while analyzing files"
 msgstr[0] "Galat saat menganalisis berkas"
 msgstr[1] "Galat saat menganalisis berkas"
 
-#: pitivi/medialibrary.py:146
+#: pitivi/medialibrary.py:155
 msgid "Keep dialog open"
 msgstr "Tetap buka dialog"
 
-#: pitivi/medialibrary.py:148
+#: pitivi/medialibrary.py:157
 msgid "When importing files keep the dialog open"
 msgstr "Ketika mengimpor berkas menjaga dialog tetap terbuka"
 
 #. Translators: Create optimized media for unsupported files.
-#: pitivi/medialibrary.py:154
+#: pitivi/medialibrary.py:163
 msgid "Optimize:"
 msgstr "Mengoptimalkan:"
 
-#: pitivi/medialibrary.py:158
+#: pitivi/medialibrary.py:167
 msgid "Unsupported assets"
 msgstr "Aset yang tidak didukung"
 
-#: pitivi/medialibrary.py:159
+#: pitivi/medialibrary.py:168
 msgid "All"
 msgstr "Semua"
 
-#: pitivi/medialibrary.py:240
+#: pitivi/medialibrary.py:249
 #, python-format
-msgid "Scale assets larger than %s×%s px."
-msgstr "Skalakan aset yang lebih besar dari %s×%s px."
+msgid "Scale down assets larger than %s×%s px."
+msgstr "Perkecil skala aset yang lebih besar dari %s×%s px."
 
-#: pitivi/medialibrary.py:524 pitivi/medialibrary.py:1084
+#: pitivi/medialibrary.py:533 pitivi/medialibrary.py:1093
 msgid "Unknown"
 msgstr "Tak diketahui"
 
-#: pitivi/medialibrary.py:630
+#: pitivi/medialibrary.py:639
 msgid "Remove the selected assets"
 msgstr "Hapus yang aset yang dipilih"
 
-#: pitivi/medialibrary.py:637
+#: pitivi/medialibrary.py:646
 msgid "Insert selected assets at the end of the timeline"
 msgstr "Sisipkan aset yang dipilih di akhir lini masa"
 
-#: pitivi/medialibrary.py:853
+#: pitivi/medialibrary.py:862
 msgid "Select One or More Files"
 msgstr "Pilih Satu Berkas atau Lebih"
 
-#: pitivi/medialibrary.py:857 pitivi/medialibrary.py:1281
+#: pitivi/medialibrary.py:866 pitivi/medialibrary.py:1290
 msgid "Add"
 msgstr "Tambah"
 
-#: pitivi/medialibrary.py:872 pitivi/render.py:1491
+#: pitivi/medialibrary.py:881 pitivi/render.py:1491
 msgid "Supported file formats"
 msgstr "Format berkas yang didukung"
 
@@ -1656,86 +1725,86 @@ msgstr "Format berkas yang didukung"
 #. such as "31 seconds", "1 minute" or "1 hours, 14 minutes".
 #. In some languages, "About %s left" can be expressed roughly as
 #. "There remains approximatively %s" (to handle gender and plurals)
-#: pitivi/medialibrary.py:990
+#: pitivi/medialibrary.py:999
 #, python-format
 msgid "Transcoding %d asset: %d%% (About %s left)"
 msgid_plural "Transcoding %d assets: %d%% (About %s left)"
 msgstr[0] "Men-transcode %d aset: %d%% (Sekitar %s tersisa)"
 msgstr[1] "Men-transcode %d aset: %d%% (Sekitar %s tersisa)"
 
-#: pitivi/medialibrary.py:1096
+#: pitivi/medialibrary.py:1105
 msgid "View error"
 msgid_plural "View errors"
 msgstr[0] "Tilik galat"
 msgstr[1] "Galat saat menganalisis berkas"
 
 #. Translators: {0:d} is just like %d (integer number variable)
-#: pitivi/medialibrary.py:1098
+#: pitivi/medialibrary.py:1107
 #, python-brace-format
 msgid "An error occurred while importing."
 msgid_plural "{0:d} errors occurred while importing."
 msgstr[0] "{0:d} galat terjadi ketika mengimpor."
 msgstr[1] "{0:d} galat terjadi ketika mengimpor."
 
-#: pitivi/medialibrary.py:1114
+#: pitivi/medialibrary.py:1123
 #, python-format
 msgid "The project settings have been set to match file '%s'"
 msgstr "Setelan proyek telah ditata agar cocok dengan berkas '%s'"
 
-#: pitivi/medialibrary.py:1210
+#: pitivi/medialibrary.py:1219
 msgid "The following file can not be used with Pitivi."
 msgid_plural "The following files can not be used with Pitivi."
 msgstr[0] "Berkas berikut tidak dapat dipakai dengan Pitivi."
 msgstr[1] "Berkas berikut tidak dapat dipakai dengan Pitivi."
 
-#: pitivi/medialibrary.py:1240
+#: pitivi/medialibrary.py:1249
 msgid "Tag as:"
 msgstr "Tandai sebagai:"
 
-#: pitivi/medialibrary.py:1278
+#: pitivi/medialibrary.py:1287
 msgid "Enter tag"
 msgstr "Masukkan tanda"
 
-#: pitivi/medialibrary.py:1438
+#: pitivi/medialibrary.py:1447
 msgid "Open containing folder"
 msgstr "Buka folder yang mewadahi"
 
-#: pitivi/medialibrary.py:1445
+#: pitivi/medialibrary.py:1454
 msgid "Edit"
 msgstr "Sunting"
 
-#: pitivi/medialibrary.py:1474
+#: pitivi/medialibrary.py:1483
 msgid "Do not use Optimised Proxy for selected asset"
 msgid_plural "Do not use Optimised Proxies for selected assets"
 msgstr[0] "Jangan gunakan Proksi Teroptimasi untuk aset yang dipilih"
 msgstr[1] "Jangan gunakan Proksi Teroptimasi untuk aset yang dipilih"
 
-#: pitivi/medialibrary.py:1485 pitivi/medialibrary.py:1507
-#: pitivi/medialibrary.py:1529
+#: pitivi/medialibrary.py:1494 pitivi/medialibrary.py:1516
+#: pitivi/medialibrary.py:1538
 msgid "Delete corresponding proxy file"
 msgid_plural "Delete corresponding proxy files"
 msgstr[0] "Hapus berkas proksi yang terkait"
 msgstr[1] "Hapus berkas proksi yang terkait"
 
-#: pitivi/medialibrary.py:1496
+#: pitivi/medialibrary.py:1505
 msgid "Do not use Proxy for selected asset"
 msgid_plural "Do not use Proxies for selected assets"
 msgstr[0] "Jangan gunakan Proksi untuk aset yang dipilih"
 msgstr[1] "Jangan gunakan Proksi untuk aset yang dipilih"
 
-#: pitivi/medialibrary.py:1518
+#: pitivi/medialibrary.py:1527
 msgid "Do not use Scaled Proxy for selected asset"
 msgid_plural "Do not use Scaled Proxies for selected assets"
 msgstr[0] "Jangan gunakan Proksi Terskala untuk aset yang dipilih"
 msgstr[1] "Jangan gunakan Proksi Terskala untuk aset yang dipilih"
 
-#: pitivi/medialibrary.py:1540
+#: pitivi/medialibrary.py:1549
 msgid "Use Optimised Proxy for selected asset"
 msgid_plural "Use Optimised Proxies for selected assets"
 msgstr[0] "Gunakan Proksi Teroptimasi untuk aset yang dipilih"
 msgstr[1] "Gunakan Proksi Teroptimasi untuk aset yang dipilih"
 
-#: pitivi/medialibrary.py:1550
+#: pitivi/medialibrary.py:1559
 msgid "Use Scaled Proxy for selected asset"
 msgid_plural "Use Scaled Proxies for selected assets"
 msgstr[0] "Gunakan Proksi Terskala untuk aset yang dipilih"
@@ -1760,11 +1829,11 @@ msgstr "Prasetel baru %d"
 
 #. GTK does not allow an empty string as the dialog title, so we use the
 #. same translatable one as render.py's pipeline error message dialog:
-#: pitivi/project.py:177 pitivi/render.py:1320
+#: pitivi/project.py:178 pitivi/render.py:1320
 msgid "Sorry, something didn’t work right."
 msgstr "Maaf, ada yang tidak bekerja dengan benar."
 
-#: pitivi/project.py:180
+#: pitivi/project.py:181
 msgid ""
 "Pitivi detected a serious backend problem and could not recover from it, "
 "even after multiple tries. The only thing that can be done at this point is "
@@ -1790,11 +1859,11 @@ msgstr ""
 "Sebelum menutup Pitivi, Anda dapat menyimpan perubah ke berkas proyek yang "
 "ada atau sebagai suatu berkas proyek terpisah."
 
-#: pitivi/project.py:195
+#: pitivi/project.py:196
 msgid "Close Pitivi"
 msgstr "Tutup Pitivi"
 
-#: pitivi/project.py:265
+#: pitivi/project.py:266
 msgid ""
 "This might be due to a bug or an unsupported project file format. If you "
 "were trying to add a media file to your project, use the \"Import\" button "
@@ -1804,15 +1873,15 @@ msgstr ""
 "Bila Anda mencoba menambahkan suatu berkas media ke proyek Anda, gunakan "
 "tombol \"Impor\" sebagai pengganti."
 
-#: pitivi/project.py:287
+#: pitivi/project.py:288
 msgid "Ignore backup"
 msgstr "Abaikan salinan cadangan"
 
-#: pitivi/project.py:289
+#: pitivi/project.py:290
 msgid "Restore from backup"
 msgstr "Pulihkan dari cadangan"
 
-#: pitivi/project.py:300
+#: pitivi/project.py:301
 #, python-format
 msgid ""
 "An autosaved version of your project file was found. It is %s newer than the "
@@ -1825,16 +1894,16 @@ msgstr ""
 "\n"
 "Apakah Anda hendak memuatnya sebagai pengganti?"
 
-#: pitivi/project.py:373
+#: pitivi/project.py:374
 msgid "You do not have permissions to write to this folder."
 msgstr "Anda tidak berhak untuk menulis ke folder ini."
 
 #. Save the project to a temporary file.
-#: pitivi/project.py:406
+#: pitivi/project.py:407
 msgid "project"
 msgstr "proyek"
 
-#: pitivi/project.py:706
+#: pitivi/project.py:701
 msgid "Pitivi encoding profile"
 msgstr "Profil pengkodean Pitivi"
 
@@ -1957,7 +2026,7 @@ msgstr "\"%s\" telah selesai merender."
 #. Translators: This is a tooltip for a clip's keyframe curve,
 #. showing what the keyframe curve affects, the timestamp at
 #. the mouse cursor location, and the value at that timestamp.
-#: pitivi/timeline/elements.py:451
+#: pitivi/timeline/elements.py:446
 #, python-format
 msgid ""
 "Property: %s\n"
@@ -1968,12 +2037,12 @@ msgstr ""
 "Stempel Waktu: %s\n"
 "Nilai: %s"
 
-#: pitivi/timeline/elements.py:639
+#: pitivi/timeline/elements.py:634
 #, python-format
 msgid "Timestamp: %s"
 msgstr "Stempel waktu: %s"
 
-#: pitivi/timeline/elements.py:1605
+#: pitivi/timeline/elements.py:1603
 msgid "Audio crossfade"
 msgstr "Crossfade audio"
 
@@ -2002,26 +2071,26 @@ msgstr "Hapus lapisan"
 msgid "Layer %d"
 msgstr "Lapisan %d"
 
-#: pitivi/timeline/ruler.py:232
+#: pitivi/timeline/ruler.py:242
 #, python-format
 msgid "Frame #%d"
 msgstr "Bingkai #%d"
 
-#: pitivi/timeline/timeline.py:86
+#: pitivi/timeline/timeline.py:85
 msgid "Markers magnetic by default"
 msgstr "Penanda magnetik secara baku"
 
-#: pitivi/timeline/timeline.py:88
+#: pitivi/timeline/timeline.py:87
 msgid ""
 "Whether markers created on new clips will be snapping targets by default."
 msgstr ""
 "Apakah penanda yang dibuat pada klip baru akan mengambil target secara baku."
 
-#: pitivi/timeline/timeline.py:98
+#: pitivi/timeline/timeline.py:97
 msgid "Snap distance"
 msgstr "Jarak kancing"
 
-#: pitivi/timeline/timeline.py:99
+#: pitivi/timeline/timeline.py:98
 msgid ""
 "Threshold (in pixels) at which two clips will snap together when dragging or "
 "trimming."
@@ -2029,11 +2098,11 @@ msgstr ""
 "Ambang (dalam piksel) dimana dua klip akan lengket menjadi satu ketika "
 "menyeret atau memangkas."
 
-#: pitivi/timeline/timeline.py:111
+#: pitivi/timeline/timeline.py:110
 msgid "Image clip duration"
 msgstr "Durasi klip gambar"
 
-#: pitivi/timeline/timeline.py:113
+#: pitivi/timeline/timeline.py:112
 msgid ""
 "Default clip length (in milliseconds) of images when inserting on the "
 "timeline."
@@ -2041,130 +2110,142 @@ msgstr ""
 "Panjang klip baku (dalam milidetik) dari citra ketika menyisipkan dalam lini "
 "masa."
 
-#: pitivi/timeline/timeline.py:124
+#: pitivi/timeline/timeline.py:123
 msgid "Left click also seeks"
 msgstr "Klik kiri juga seek"
 
-#: pitivi/timeline/timeline.py:126
+#: pitivi/timeline/timeline.py:125
 msgid "Whether left-clicking also seeks besides selecting and editing clips."
 msgstr "Apakah mengklik kiri juga seek selain memilih dan menyunting klip."
 
-#: pitivi/timeline/timeline.py:356 pitivi/timeline/timeline.py:1809
+#: pitivi/timeline/timeline.py:356 pitivi/timeline/timeline.py:1813
 msgid "Add layer"
 msgstr "Tambah lapisan"
 
-#: pitivi/timeline/timeline.py:1752
+#: pitivi/timeline/timeline.py:1756
 msgid "Action Search"
 msgstr "Pencarian Aksi"
 
-#: pitivi/timeline/timeline.py:1760
+#: pitivi/timeline/timeline.py:1764
 msgid "Delete selected clips"
 msgstr "Hapus klip yang dipilih"
 
-#: pitivi/timeline/timeline.py:1767
+#: pitivi/timeline/timeline.py:1771
 msgid "Delete selected clips and shift following ones"
 msgstr "Hapus klip yang dipilih dan geser yang selanjutnya"
 
-#: pitivi/timeline/timeline.py:1774
+#: pitivi/timeline/timeline.py:1778
 msgid "Group selected clips together"
 msgstr "Kelompokkan klip yang dipilih menjadi satu"
 
-#: pitivi/timeline/timeline.py:1781
+#: pitivi/timeline/timeline.py:1785
 msgid "Ungroup selected clips"
 msgstr "Bongkar kelompok klip yang dipilih"
 
-#: pitivi/timeline/timeline.py:1788
+#: pitivi/timeline/timeline.py:1792
 msgid "Cut selected clips"
 msgstr "Potong klip yang dipilih"
 
-#: pitivi/timeline/timeline.py:1795
+#: pitivi/timeline/timeline.py:1799
 msgid "Copy selected clips"
 msgstr "Salin klip yang dipilih"
 
-#: pitivi/timeline/timeline.py:1802
+#: pitivi/timeline/timeline.py:1806
 msgid "Paste selected clips"
 msgstr "Tempelkan klip yang dipilih"
 
-#: pitivi/timeline/timeline.py:1816
+#: pitivi/timeline/timeline.py:1820
 msgid "Seek to the first clip edge after the playhead"
 msgstr "Lompat ke klip pertama setelah playhead"
 
-#: pitivi/timeline/timeline.py:1823
+#: pitivi/timeline/timeline.py:1827
 msgid "Seek to the first clip edge before the playhead"
 msgstr "Lompat ke klip pertama sebelum playhead"
 
-#: pitivi/timeline/timeline.py:1830
+#: pitivi/timeline/timeline.py:1834
 msgid "Shift selected clips one frame forward"
 msgstr "Menggeser klip yang dipilih satu bingkai ke depan"
 
-#: pitivi/timeline/timeline.py:1837
+#: pitivi/timeline/timeline.py:1841
 msgid "Shift selected clips one frame backward"
 msgstr "Menggeser klip yang dipilih satu bingkai ke belakang"
 
-#: pitivi/timeline/timeline.py:1844
+#: pitivi/timeline/timeline.py:1848
 msgid "Snap selected clips to the next clip"
 msgstr "Lengketkan klip yang dipilih ke klip selanjutnya"
 
-#: pitivi/timeline/timeline.py:1851
+#: pitivi/timeline/timeline.py:1855
 msgid "Snap selected clips to the previous clip"
 msgstr "Lengketkan klip yang dipilih ke klip sebelumnya"
 
-#: pitivi/timeline/timeline.py:1858
+#: pitivi/timeline/timeline.py:1862
 msgid "Add an effect to the selected clip"
 msgstr "Tambah efek ke klip yang dipilih"
 
-#: pitivi/timeline/timeline.py:1871
+#: pitivi/timeline/timeline.py:1879
 msgid "Split the clip at the position"
 msgstr "Belah klip pada posisi"
 
-#: pitivi/timeline/timeline.py:1878
+#: pitivi/timeline/timeline.py:1886
 msgid "Add keyframe to the keyframe curve of selected clip"
 msgstr "Menambah bingkai kunci ke kurva bingkai kunci dari klip yang dipilih"
 
-#: pitivi/timeline/timeline.py:1883
+#: pitivi/timeline/timeline.py:1891
 msgid "Timeline Navigation"
 msgstr "Navigasi Alur Waktu"
 
-#: pitivi/timeline/timeline.py:1891
+#: pitivi/timeline/timeline.py:1899
 msgid "Zoom in"
 msgstr "Perbesar"
 
-#: pitivi/timeline/timeline.py:1899
+#: pitivi/timeline/timeline.py:1907
 msgid "Zoom out"
 msgstr "Perkecil"
 
-#: pitivi/timeline/timeline.py:1907
+#: pitivi/timeline/timeline.py:1915
 msgid "Adjust zoom to fit the project to the window"
 msgstr "Atur zum agar seluruh proyek pas ke jendela"
 
-#: pitivi/timeline/timeline.py:1920
+#: pitivi/timeline/timeline.py:1928
 msgid "Seek backward one frame"
 msgstr "Seek mundur satu bingkai"
 
-#: pitivi/timeline/timeline.py:1927
+#: pitivi/timeline/timeline.py:1935
 msgid "Seek forward one frame"
 msgstr "Maju satu bingkai"
 
-#: pitivi/timeline/timeline.py:1935
+#: pitivi/timeline/timeline.py:1943
 msgid "Seek backward one second"
 msgstr "Mundur satu detik"
 
-#: pitivi/timeline/timeline.py:1943
+#: pitivi/timeline/timeline.py:1951
 msgid "Seek forward one second"
 msgstr "Maju satu detik"
 
-#: pitivi/timeline/timeline.py:1951
+#: pitivi/timeline/timeline.py:1959
 msgid "Add a marker"
 msgstr "Tambah penanda"
 
-#: pitivi/timeline/timeline.py:1958
+#: pitivi/timeline/timeline.py:1966
 msgid "Seek to the first marker before the playhead"
 msgstr "Lompat ke klip pertama sebelum playhead"
 
-#: pitivi/timeline/timeline.py:1965
+#: pitivi/timeline/timeline.py:1973
 msgid "Seek to the first marker after the playhead"
 msgstr "Lompat ke klip pertama setelah playhead"
 
+#: pitivi/trackerperspective.py:403
+msgid "Object {}"
+msgstr "Objek {}"
+
+#: pitivi/trackerperspective.py:665
+msgid "Go back"
+msgstr "Mundur"
+
+#: pitivi/trackerperspective.py:739
+msgid "Track objects"
+msgstr "Lacak objek"
+
 #: pitivi/transitions.py:77
 msgid "Normal"
 msgstr "Normal"
@@ -2248,117 +2329,117 @@ msgid "Max CPU usage dedicated to transcoding"
 msgstr "Penggunaan CPU maks yang didedikasikan untuk transcoding"
 
 #. Translators: 'fps' is for 'frames per second'
-#: pitivi/utils/ui.py:382
+#: pitivi/utils/ui.py:402
 msgid "{0:s} fps"
 msgstr "{0:s} fps"
 
-#: pitivi/utils/ui.py:402
+#: pitivi/utils/ui.py:422
 #, python-brace-format
 msgid "{0:n} kHz"
 msgstr "{0:n} kHz"
 
-#: pitivi/utils/ui.py:411
+#: pitivi/utils/ui.py:431
 msgid "Mono"
 msgstr "Mono"
 
-#: pitivi/utils/ui.py:412
+#: pitivi/utils/ui.py:432
 msgid "Stereo"
 msgstr "Stereo"
 
-#: pitivi/utils/ui.py:413
+#: pitivi/utils/ui.py:433
 msgid "6 (5.1)"
 msgstr "6 (5.1)"
 
-#: pitivi/utils/ui.py:414
+#: pitivi/utils/ui.py:434
 msgid "8 (7.1)"
 msgstr "8 (7.1)"
 
-#: pitivi/utils/ui.py:545
+#: pitivi/utils/ui.py:559
 #, python-format
 msgid "<b>Duration:</b> %s"
 msgstr "<b>Durasi:</b> %s"
 
-#: pitivi/utils/ui.py:548
+#: pitivi/utils/ui.py:562
 #, python-format
 msgid "<b>Proxy creation progress:</b> %d%%"
 msgstr "<b>Kemajuan pembuatan proksi:</b> %d%%"
 
-#: pitivi/utils/ui.py:562
+#: pitivi/utils/ui.py:576
 #, python-format
 msgid "<b>Path</b>: %s"
 msgstr "<b>Path</b>: %s"
 
-#: pitivi/utils/ui.py:572
+#: pitivi/utils/ui.py:586
 #, python-format
 msgid "<b>Size</b>: %s"
 msgstr "<b>Ukuran</b>: %s"
 
-#: pitivi/utils/ui.py:608
+#: pitivi/utils/ui.py:622
 #, python-format
 msgid "<b>Audio:</b> %d channel at %d <i>Hz</i> (%d <i>bits</i>)"
 msgid_plural "<b>Audio:</b> %d channels at %d <i>Hz</i> (%d <i>bits</i>)"
 msgstr[0] "<b>Audio:</b> %d kanal pada %d <i>Hz</i> (%d <i>bit</i>)"
 msgstr[1] "<b>Audio:</b> %d kanal pada %d <i>Hz</i> (%d <i>bit</i>)"
 
-#: pitivi/utils/ui.py:620
+#: pitivi/utils/ui.py:634
 #, python-format
 msgid "<b>Video:</b> %d×%d <i>pixels</i> at %s <i>fps</i>"
 msgstr "<b>Video:</b> %d×%d <i>piksel</i> pada %s <i>fps</i>"
 
-#: pitivi/utils/ui.py:623
+#: pitivi/utils/ui.py:637
 #, python-format
 msgid "<b>Image:</b> %d×%d <i>pixels</i>"
 msgstr "<b>Citra:</b> %d×%d <i>piksel</i>"
 
-#: pitivi/utils/ui.py:677 pitivi/utils/ui.py:704 pitivi/utils/ui.py:728
+#: pitivi/utils/ui.py:691 pitivi/utils/ui.py:718 pitivi/utils/ui.py:742
 #, python-format
 msgid "%d hour"
 msgid_plural "%d hours"
 msgstr[0] "%d jam"
 msgstr[1] "%d jam"
 
-#: pitivi/utils/ui.py:680 pitivi/utils/ui.py:707 pitivi/utils/ui.py:731
+#: pitivi/utils/ui.py:694 pitivi/utils/ui.py:721 pitivi/utils/ui.py:745
 #, python-format
 msgid "%d minute"
 msgid_plural "%d minutes"
 msgstr[0] "%d menit"
 msgstr[1] "%d menit"
 
-#: pitivi/utils/ui.py:683 pitivi/utils/ui.py:710 pitivi/utils/ui.py:734
+#: pitivi/utils/ui.py:697 pitivi/utils/ui.py:724 pitivi/utils/ui.py:748
 #, python-format
 msgid "%d second"
 msgid_plural "%d seconds"
 msgstr[0] "%d detik"
 msgstr[1] "%d detik"
 
-#: pitivi/utils/ui.py:702
+#: pitivi/utils/ui.py:716
 #, python-format
 msgid "%d day"
 msgid_plural "%d days"
 msgstr[0] "%d hari"
 msgstr[1] "%d hari"
 
-#: pitivi/utils/ui.py:743
+#: pitivi/utils/ui.py:757
 msgid "Just now"
 msgstr "Baru saja"
 
-#: pitivi/utils/ui.py:746
+#: pitivi/utils/ui.py:760
 msgid "An hour ago"
 msgstr "Satu jam yang lalu"
 
-#: pitivi/utils/ui.py:749
+#: pitivi/utils/ui.py:763
 msgid "Today"
 msgstr "Hari ini"
 
-#: pitivi/utils/ui.py:752
+#: pitivi/utils/ui.py:766
 msgid "Yesterday"
 msgstr "Kemarin"
 
-#: pitivi/utils/ui.py:761
+#: pitivi/utils/ui.py:775
 msgid "About a year ago"
 msgstr "Sekitar satu tahun yang lalu"
 
-#: pitivi/utils/ui.py:764
+#: pitivi/utils/ui.py:778
 #, python-format
 msgid "About %d year ago"
 msgid_plural "About %d years ago"
@@ -2418,31 +2499,31 @@ msgstr "Diagonal"
 msgid "Composition Guidelines"
 msgstr "Pedoman Komposisi"
 
-#: pitivi/viewer/viewer.py:77
+#: pitivi/viewer/viewer.py:81
 msgid "Currently playing"
 msgstr "Sedang memutar"
 
-#: pitivi/viewer/viewer.py:252
+#: pitivi/viewer/viewer.py:304
 msgid "Select composition guidelines"
 msgstr "Pilih pedoman komposisi"
 
-#: pitivi/viewer/viewer.py:260
+#: pitivi/viewer/viewer.py:312
 msgid "Go to the beginning of the timeline"
 msgstr "Ke awal lini masa"
 
-#: pitivi/viewer/viewer.py:269
+#: pitivi/viewer/viewer.py:321
 msgid "Go back one second"
 msgstr "Mundur satu detik"
 
-#: pitivi/viewer/viewer.py:282
+#: pitivi/viewer/viewer.py:334
 msgid "Go forward one second"
 msgstr "Maju satu detik"
 
-#: pitivi/viewer/viewer.py:291
+#: pitivi/viewer/viewer.py:343
 msgid "Go to the end of the timeline"
 msgstr "Ke akhir lini masa"
 
-#: pitivi/viewer/viewer.py:298
+#: pitivi/viewer/viewer.py:350
 msgid ""
 "Enter a timecode or frame number\n"
 "and press \"Enter\" to go to that position"
@@ -2450,7 +2531,7 @@ msgstr ""
 "Masukkan suatu kode waktu atau nomor bingkai\n"
 "dan tekan \"Enter\" untuk pergi ke posisi itu"
 
-#: pitivi/viewer/viewer.py:309
+#: pitivi/viewer/viewer.py:361
 msgid ""
 "Detach the viewer\n"
 "You can re-attach it by closing the newly created window."
@@ -2458,23 +2539,23 @@ msgstr ""
 "Copot penilik\n"
 "Anda dapat merekatkannya lagi dengan menutup jendela yang baru dibuat."
 
-#: pitivi/viewer/viewer.py:336
+#: pitivi/viewer/viewer.py:388
 msgid "Viewer"
 msgstr "Penampil"
 
-#: pitivi/viewer/viewer.py:344
+#: pitivi/viewer/viewer.py:396
 msgid "Toggle the currently selected composition guidelines"
 msgstr "Jungkitkan pedoman komposisi yang saat ini dipilih"
 
-#: pitivi/viewer/viewer.py:352
+#: pitivi/viewer/viewer.py:404
 msgid "Toggle safe areas on viewer"
 msgstr "Jungkitkan area aman pada penampil"
 
-#: pitivi/viewer/viewer.py:478 pitivi/viewer/viewer.py:536
+#: pitivi/viewer/viewer.py:546 pitivi/viewer/viewer.py:605
 msgid "Show this window in fullscreen"
 msgstr "Tampilkan jendela ini dalam layar penuh"
 
-#: pitivi/viewer/viewer.py:533
+#: pitivi/viewer/viewer.py:602
 msgid "Exit fullscreen mode"
 msgstr "Keluar mode layar penuh"
 
@@ -2520,6 +2601,3 @@ msgid ""
 msgstr ""
 "Tidak mungkin untuk mengganti {key}, karena perintah pintasan bersifat hanya-"
 "baca."
-
-#~ msgid "No markers"
-#~ msgstr "Tanpa penanda"
diff --git a/po/lt.po b/po/lt.po
index 705e8a8..e98e5b3 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -1,23 +1,23 @@
 # Lithuanian translation for pitivi.
 # Copyright (C) 2013 pitivi's COPYRIGHT HOLDER
 # This file is distributed under the same license as the pitivi package.
-# Aurimas Černius <aurisc4@gmail.com>, 2013-2021.
+# Aurimas Černius <aurisc4@gmail.com>, 2013-2023.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: pitivi master\n"
 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/pitivi/issues\n"
-"POT-Creation-Date: 2021-08-28 11:32+0000\n"
-"PO-Revision-Date: 2021-09-06 14:18+0300\n"
+"POT-Creation-Date: 2023-01-25 07:38+0000\n"
+"PO-Revision-Date: 2023-02-27 22:38+0200\n"
 "Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
 "Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
 "Language: lt\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
-"%100<10 || n%100>=20) ? 1 : 2)\n"
-"X-Generator: Gtranslator 40.0\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"(n%100<10 || n%100>=20) ? 1 : 2)\n"
+"X-Generator: Gtranslator 42.0\n"
 
 #: data/org.pitivi.Pitivi-mime.xml.in:4
 msgid "Pitivi video project (legacy)"
@@ -117,10 +117,46 @@ msgstr "<b><big>Vykdomas auto-lygiavimas</big></b>"
 msgid "Estimating..."
 msgstr "Vertinama..."
 
-#: data/ui/clipcolor.ui:21
+#: data/ui/beatdetection.ui:18
+msgid "Detect beats"
+msgstr "Aptikti ritmą"
+
+#: data/ui/beatdetection.ui:35
+msgid "Clear detected beats"
+msgstr "Išvalyti aptiktą ritmą"
+
+#: data/ui/beatdetection.ui:66
+msgid "Detecting..."
+msgstr "Aptinkama..."
+
+#: data/ui/clipcolor.ui:21 data/ui/customwidgets/pitivi:object_effect.ui:37
 msgid "Pick the clip color"
 msgstr "Pasirinkite klipo spalvą"
 
+#: data/ui/clipcompositing.ui:42
+msgid "Fade-in:"
+msgstr "Atsiradimas:"
+
+#: data/ui/clipcompositing.ui:54 data/ui/clipcompositing.ui:122
+msgid "seconds"
+msgstr "sekundės"
+
+#: data/ui/clipcompositing.ui:97
+msgid "Fade-out:"
+msgstr "Išnykimas:"
+
+#: data/ui/clipcompositing.ui:150
+msgid "Reset fade-in"
+msgstr "Atstatyti atsiradimą"
+
+#: data/ui/clipcompositing.ui:166
+msgid "Reset fade-out"
+msgstr "Atstatyti išnykimą"
+
+#: data/ui/clipcompositing.ui:181
+msgid "Blending:"
+msgstr "Suliejama:"
+
 #: data/ui/clipmediaprops.ui:8
 msgid "Clip Properties"
 msgstr "Klipo savybės"
@@ -171,7 +207,6 @@ msgid "Height:"
 msgstr "Aukštis:"
 
 #: data/ui/cliptransformation.ui:141
-#| msgid "Constrain proportions"
 msgid "Constrain Proportions"
 msgstr "Riboti proporcijas"
 
@@ -299,12 +334,16 @@ msgstr "min alfa"
 msgid "max alpha"
 msgstr "max alfa"
 
+#: data/ui/customwidgets/pitivi:object_effect.ui:19
+msgid "Color:"
+msgstr "Spalva:"
+
 #: data/ui/effectslibrary.ui:16
 msgid "Favorites"
 msgstr "Mėgiamiausi"
 
 #: data/ui/effectslibrary.ui:43 data/ui/medialibrary.ui:165
-#: pitivi/transitions.py:74
+#: pitivi/transitions.py:69
 msgid "Search..."
 msgstr "Ieškoti..."
 
@@ -376,13 +415,13 @@ msgid "Edit the project settings"
 msgstr "Redaguoti projekto nustatymus"
 
 #: data/ui/mainmenubutton.ui:119 data/ui/projectsettings.ui:61
-#: pitivi/medialibrary.py:173 pitivi/medialibrary.py:536
-#: pitivi/dialogs/prefs.py:339
+#: pitivi/dialogs/prefs.py:340 pitivi/medialibrary.py:173
+#: pitivi/medialibrary.py:538
 msgid "Project Settings"
 msgstr "Projekto nustatymai"
 
 #: data/ui/mainmenubutton.ui:148 data/ui/preferences.ui:7
-#: pitivi/mainwindow.py:216
+#: pitivi/mainwindow.py:217
 msgid "Preferences"
 msgstr "Nuostatos"
 
@@ -488,10 +527,10 @@ msgid "Some changes will not take effect until you restart Pitivi"
 msgstr "Kai kurie pakeitimai įsigalios tik perleidus Pitivi"
 
 #: data/ui/projectsettings.ui:78 data/ui/renderingprogress.ui:41
+#: pitivi/dialogs/browseprojects.py:38 pitivi/dialogs/missingasset.py:46
 #: pitivi/editorperspective.py:544 pitivi/editorperspective.py:679
 #: pitivi/editorperspective.py:727 pitivi/editorperspective.py:780
-#: pitivi/greeterperspective.py:241 pitivi/medialibrary.py:854
-#: pitivi/dialogs/browseprojects.py:38 pitivi/dialogs/missingasset.py:46
+#: pitivi/greeterperspective.py:241 pitivi/medialibrary.py:856
 msgid "Cancel"
 msgstr "Atsisakyti"
 
@@ -516,13 +555,13 @@ msgstr "Riboti proporcijas"
 msgid "Maintain aspect ratio"
 msgstr "Išlaikyti proporcijas"
 
-#: data/ui/projectsettings.ui:330 data/ui/renderingdialog.ui:734
+#: data/ui/projectsettings.ui:330 data/ui/renderingdialog.ui:732
 msgid "Frame rate:"
 msgstr "Kadrų dažnis:"
 
 #. The title of the section with the video settings
-#: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:752
-#: pitivi/clipproperties.py:1285 pitivi/effects.py:246
+#: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:750
+#: pitivi/clip_properties/markers.py:45 pitivi/effects.py:249
 msgid "Video"
 msgstr "Vaizdo įrašas"
 
@@ -576,20 +615,20 @@ msgstr "Piešti"
 msgid "Quality:"
 msgstr "Kokybė:"
 
-#: data/ui/renderingdialog.ui:179 pitivi/clipproperties.py:1288
+#: data/ui/renderingdialog.ui:177 pitivi/clip_properties/markers.py:48
 #: pitivi/render.py:74
 msgid "Custom"
 msgstr "Pasirinktinis"
 
-#: data/ui/renderingdialog.ui:246
+#: data/ui/renderingdialog.ui:244
 msgid "Container format:"
 msgstr "Konteinerio formatas:"
 
-#: data/ui/renderingdialog.ui:313
+#: data/ui/renderingdialog.ui:311
 msgid "Automatically render from proxy files"
 msgstr "Automatiškai piešti iš tarpinių failų"
 
-#: data/ui/renderingdialog.ui:317
+#: data/ui/renderingdialog.ui:315
 msgid ""
 "Use proxy files if they are available and the source asset media format is "
 "not officially supported.\n"
@@ -603,11 +642,11 @@ msgstr ""
 "Šis parametras yra geras pasirinkimas tarp piešiamo vaizdo įrašo kokybės ir "
 "stabilumo."
 
-#: data/ui/renderingdialog.ui:332
+#: data/ui/renderingdialog.ui:330
 msgid "Always render from proxy files"
 msgstr "Visada piešti iš tarpinių failų"
 
-#: data/ui/renderingdialog.ui:336
+#: data/ui/renderingdialog.ui:334
 msgid ""
 "Render all proxied clips from the proxy assets. There might be some quality "
 "loss during the rendering process."
@@ -615,11 +654,11 @@ msgstr ""
 "Piešti visus tarpinius klipus iš tarpinių failų. Piešimo procese gali būti "
 "kokybės praradimų."
 
-#: data/ui/renderingdialog.ui:349
+#: data/ui/renderingdialog.ui:347
 msgid "Never render from proxy files"
 msgstr "Niekada nepiešti iš tarpinių failų"
 
-#: data/ui/renderingdialog.ui:353
+#: data/ui/renderingdialog.ui:351
 msgid ""
 "Always use source assets for rendering. It is the best choice for the "
 "quality of the rendered video, but you might hit some bugs because of the "
@@ -631,56 +670,56 @@ msgstr ""
 "naudojami oficialiai nepalaikomi daugialypės terpės formatai.\n"
 "<i>Naudokite savo rizika!</i>"
 
-#: data/ui/renderingdialog.ui:400
+#: data/ui/renderingdialog.ui:398
 msgid "Channels:"
 msgstr "Kanalai:"
 
-#: data/ui/renderingdialog.ui:432 data/ui/renderingdialog.ui:653
+#: data/ui/renderingdialog.ui:430 data/ui/renderingdialog.ui:651
 msgid "Advanced..."
 msgstr "Sudėtingesnį..."
 
-#: data/ui/renderingdialog.ui:472 data/ui/renderingdialog.ui:692
+#: data/ui/renderingdialog.ui:470 data/ui/renderingdialog.ui:690
 msgid "Codec:"
 msgstr "Kodekas:"
 
-#: data/ui/renderingdialog.ui:509
+#: data/ui/renderingdialog.ui:507
 msgid "Sample rate:"
 msgstr "Mėginių dažnis:"
 
-#: data/ui/renderingdialog.ui:527 pitivi/clipproperties.py:1286
-#: pitivi/effects.py:122 pitivi/effects.py:246
+#: data/ui/renderingdialog.ui:525 pitivi/clip_properties/markers.py:46
+#: pitivi/effects.py:126 pitivi/effects.py:249
 msgid "Audio"
 msgstr "Garsas"
 
-#: data/ui/renderingdialog.ui:566
+#: data/ui/renderingdialog.ui:564
 msgid "Scale:"
 msgstr "Skalė:"
 
-#: data/ui/renderingdialog.ui:599
+#: data/ui/renderingdialog.ui:597
 msgid "Scale"
 msgstr "Skalė"
 
-#: data/ui/renderingdialog.ui:619
+#: data/ui/renderingdialog.ui:617
 msgid "Height"
 msgstr "Aukštis"
 
-#: data/ui/renderingdialog.ui:638
+#: data/ui/renderingdialog.ui:636
 msgid "Project Settings..."
 msgstr "Projekto nustatymai..."
 
-#: data/ui/renderingdialog.ui:718
+#: data/ui/renderingdialog.ui:716
 msgid "Framerate"
 msgstr "Kadrų dažnis"
 
-#: data/ui/renderingdialog.ui:781
+#: data/ui/renderingdialog.ui:779
 msgid "Advanced"
 msgstr "Sudėtingesnį"
 
-#: data/ui/renderingdialog.ui:792
+#: data/ui/renderingdialog.ui:790
 msgid "Select file"
 msgstr "Pasirinkite failą"
 
-#: data/ui/renderingdialog.ui:809
+#: data/ui/renderingdialog.ui:807
 msgid "File path:"
 msgstr "Failo kelias:"
 
@@ -688,12 +727,13 @@ msgstr "Failo kelias:"
 msgid "Rendering"
 msgstr "Piešimas"
 
-#: data/ui/renderingprogress.ui:27 pitivi/viewer/viewer.py:774
+#: data/ui/renderingprogress.ui:27 data/ui/trackerperspective.ui:19
+#: pitivi/viewer/viewer.py:844
 msgid "Pause"
 msgstr "Pristabdyti"
 
-#: data/ui/renderingprogress.ui:55 pitivi/viewer/viewer.py:766
-#: pitivi/timeline/timeline.py:1894
+#: data/ui/renderingprogress.ui:55 data/ui/trackerperspective.ui:25
+#: pitivi/timeline/timeline.py:1921 pitivi/viewer/viewer.py:836
 msgid "Play"
 msgstr "Groti"
 
@@ -752,30 +792,38 @@ msgid "Ungroup"
 msgstr "Išgrupuoti"
 
 #: data/ui/timelinetoolbar.ui:76
+msgid "Cut clips"
+msgstr "Kirpti klipus"
+
+#: data/ui/timelinetoolbar.ui:78
+msgid "Cut"
+msgstr "Kirpti"
+
+#: data/ui/timelinetoolbar.ui:91
 msgid "Copy clips"
 msgstr "Kopijuoti klipus"
 
-#: data/ui/timelinetoolbar.ui:78
+#: data/ui/timelinetoolbar.ui:93
 msgid "Copy"
 msgstr "Kopijuoti"
 
-#: data/ui/timelinetoolbar.ui:91
+#: data/ui/timelinetoolbar.ui:106
 msgid "Paste clips"
 msgstr "Įdėti klipus"
 
-#: data/ui/timelinetoolbar.ui:93
+#: data/ui/timelinetoolbar.ui:108
 msgid "Paste"
 msgstr "Įdėti"
 
-#: data/ui/timelinetoolbar.ui:106
+#: data/ui/timelinetoolbar.ui:121
 msgid "Align clips based on their soundtracks"
 msgstr "Lygiuoti klipus pagal jų garso takelius"
 
-#: data/ui/timelinetoolbar.ui:109
+#: data/ui/timelinetoolbar.ui:123
 msgid "Align"
 msgstr "Lygiuoti"
 
-#: data/ui/timelinetoolbar.ui:122
+#: data/ui/timelinetoolbar.ui:136
 msgid ""
 "Toggle gapless mode\n"
 "When enabled, adjacent clips automatically move to fill gaps."
@@ -783,7 +831,7 @@ msgstr ""
 "Perjungti veikseną be tarpų\n"
 "Kai įjungta, gretimi klipai automatiškai pastumiami tarpams užpildyti."
 
-#: data/ui/timelinetoolbar.ui:125
+#: data/ui/timelinetoolbar.ui:139
 msgid "Gapless mode"
 msgstr "Be tarpų"
 
@@ -800,12 +848,10 @@ msgid "Pick a background color"
 msgstr "Pasirinkite fono spalvą"
 
 #: data/ui/titleeditor.ui:157
-#| msgid "Pick a text color"
 msgid "Pick an outline color"
 msgstr "Pasirinkite rėmelio spalvą"
 
 #: data/ui/titleeditor.ui:193
-#| msgid "Shadows"
 msgid "Drop Shadow"
 msgstr "Mesti šešėlį"
 
@@ -821,50 +867,74 @@ msgstr "Horizontali:"
 msgid "Vertical:"
 msgstr "Vertikali:"
 
+#: data/ui/trackerperspective.ui:66
+msgid "Tracked Objects:"
+msgstr "Sekami objektai:"
+
+#: data/ui/trackerperspective.ui:195
+msgid "Drag&drop on the video to delimit an object to be tracked."
+msgstr "Tempkite ir numeskite vaizdo įraše sekamam objektui apriboti."
+
+#: data/ui/trackerperspective.ui:288
+msgid "Go back one frame"
+msgstr "Grįžti atgal vieną kadrą"
+
+#: data/ui/trackerperspective.ui:318
+msgid "Go forward one frame"
+msgstr "Eiti pirmyn vieną kadrą"
+
+#: data/ui/trackerperspective.ui:374
+msgid "Tracking Algorithm"
+msgstr "Sekimo algoritmas"
+
+#: data/ui/trackerperspective.ui:401
+msgid "Track"
+msgstr "Sekti"
+
 #: pitivi/action_search_bar.py:46
 msgid "Search Action"
 msgstr "Ieškoti veiksmo"
 
-#: pitivi/application.py:158
+#: pitivi/application.py:160
 msgid "General"
 msgstr "Bendri"
 
-#: pitivi/application.py:165
+#: pitivi/application.py:167
 msgid "Undo the most recent action"
 msgstr "Atšaukti paskutinį veiksmą"
 
-#: pitivi/application.py:171
+#: pitivi/application.py:173
 msgid "Redo the most recent action"
 msgstr "Pakartoti paskutinį veiksmą"
 
-#: pitivi/application.py:176
+#: pitivi/application.py:178
 msgid "Quit"
 msgstr "Išeiti"
 
-#: pitivi/application.py:184
+#: pitivi/application.py:186
 msgid "Show the Shortcuts Window"
 msgstr "Rodyti trumpinių langą"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:113
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:115
 #, python-format
 msgid "- %s not found on the system"
 msgstr "- %s nerastas sistemoje"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:116
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:118
 #, python-format
 msgid "- %s version %s is installed but Pitivi requires at least version %s"
 msgstr "- %s versija %s įdiegta, bet Pitivi reikalauja bent %s versijos"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:191
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:193
 #, python-format
 msgid "- %s GStreamer plug-in not found on the system"
 msgstr "- %s GStreamer įskiepis nerastas sistemoje"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:194
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:196
 #, python-format
 msgid ""
 "- %s Gstreamer plug-in version %s is installed but Pitivi requires at least "
@@ -873,15 +943,21 @@ msgstr ""
 "- %s GStreamer įskiepio versija %s įdiegta, bet Pitivi reikalauja bent %s "
 "versijos"
 
-#: pitivi/check.py:303
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:224
+#, python-format
+msgid "- %s GStreamer element not found on the system"
+msgstr "- %s GStreamer elementas nerastas sistemoje"
+
+#: pitivi/check.py:332
 msgid "ERROR - The following hard dependencies are unmet:"
 msgstr "KLAIDA - šios būtinos priklausomybės nepatenkintos:"
 
-#: pitivi/check.py:311
+#: pitivi/check.py:340
 msgid "Missing soft dependency:"
 msgstr "Trūkstama nebūtinos priklausomybės:"
 
-#: pitivi/check.py:318
+#: pitivi/check.py:347
 msgid ""
 "ERROR — Could not create a Gst.Fraction — this means gst-python is not "
 "installed correctly."
@@ -889,7 +965,7 @@ msgstr ""
 "KLAIDA — Nepavyko sukurti Gst.Fraction — tai reiškia, kad gst-python nėra "
 "tvarkingai įdiegta."
 
-#: pitivi/check.py:323
+#: pitivi/check.py:352
 msgid ""
 "Could not create audio output sink. Make sure you have a valid one "
 "(pulsesink, alsasink or osssink)."
@@ -897,36 +973,36 @@ msgstr ""
 "Nepavyko sukurti garso išvedimo. Įsitikinkite, kad turite teisingą "
 "(pulsesink, alsasink or osssink)."
 
-#: pitivi/check.py:328
+#: pitivi/check.py:357
 msgid ""
 "Could not create video output sink. Make sure you have a gtksink available."
 msgstr ""
 "Nepavyko sukurti vaizdo išvedimo. Įsitikinkite, kad turite prieinamą gtksink."
 
-#: pitivi/check.py:343
+#: pitivi/check.py:372
 #, python-format
 msgid "Could not import '%s'. Make sure you have it available."
 msgstr "Nepavyko importuoti „%s“. Įsitikinkite, kad jis prieinamas."
 
-#: pitivi/check.py:357
+#: pitivi/check.py:386
 msgid "Could not import 'gi'. Make sure you have pygobject available."
 msgstr ""
 "Nepavyko importuoti „gi“. Įsitikinkite, kad turite prieinamą pygobject."
 
-#: pitivi/check.py:456
+#: pitivi/check.py:485
 msgid "enables sound notifications when rendering is complete"
 msgstr "įjungia garsinius perspėjimus, kai baigiamas piešimas"
 
-#: pitivi/check.py:458
+#: pitivi/check.py:487
 msgid "enables visual notifications when rendering is complete"
 msgstr "įjungia vaizdinius pranešimus, kai baigiamas piešimas"
 
-#: pitivi/check.py:460
+#: pitivi/check.py:489
 msgid "additional multimedia codecs through the GStreamer Libav library"
 msgstr ""
 "papildomi daugialypės terpės kodekai naudojant GStreamer Libav biblioteką"
 
-#: pitivi/check.py:462
+#: pitivi/check.py:491
 msgid ""
 "enables a watchdog in the GStreamer pipeline. Use to detect errors happening "
 "in GStreamer and recover from them"
@@ -934,12 +1010,20 @@ msgstr ""
 "įjungia watchdog GStreamer konvejeryje. Naudojama GStreamer klaidų aptikimui "
 "ir atsistatymui po jų"
 
+#: pitivi/check.py:495
+msgid "enables object tracking"
+msgstr "įjungia objekto sekimą"
+
+#: pitivi/check.py:496
+msgid "enables beat detection functionality"
+msgstr "įjungia ritmo aptikimo funkcionalumą"
+
 #. Translators: This is the default text of a title clip.
-#: pitivi/clipproperties.py:65
+#: pitivi/clipproperties.py:69
 msgid "Title Clip"
 msgstr "Pavadinimo klipas"
 
-#: pitivi/clipproperties.py:152
+#: pitivi/clipproperties.py:162
 msgid ""
 "Select a clip on the timeline to configure its properties and effects or "
 "create a new clip:"
@@ -947,37 +1031,37 @@ msgstr ""
 "Pasirinkite klipą laiko juostoje su juo susietiems efektams konfigūruoti "
 "arba sukurkite naują klipą:"
 
-#: pitivi/clipproperties.py:158
+#: pitivi/clipproperties.py:168
 msgid "Create a title clip"
 msgstr "Sukurti pavadinimo klipą"
 
-#: pitivi/clipproperties.py:163
+#: pitivi/clipproperties.py:173
 msgid "Create a color clip"
 msgstr "Sukurti spalvos klipą"
 
-#: pitivi/clipproperties.py:269 pitivi/effects.py:118
+#: pitivi/clipproperties.py:276 pitivi/effects.py:122
 msgid "Time"
 msgstr "Laikas"
 
-#: pitivi/clipproperties.py:312
+#: pitivi/clipproperties.py:319
 msgid "Speed"
 msgstr "Greitis"
 
-#: pitivi/clipproperties.py:327 pitivi/utils/widgets.py:800
+#: pitivi/clipproperties.py:334 pitivi/utils/widgets.py:800
 #, python-format
 msgid "%(preference_label)s:"
 msgstr "%(preference_label)s:"
 
-#: pitivi/clipproperties.py:330 pitivi/dialogs/prefs.py:285
+#: pitivi/clipproperties.py:337 pitivi/dialogs/prefs.py:286
 #: pitivi/utils/widgets.py:976
 msgid "Reset to default value"
 msgstr "Atstatyti numatytąją vertę"
 
-#: pitivi/clipproperties.py:565
+#: pitivi/clipproperties.py:572
 msgid "Effects"
 msgstr "Efektai"
 
-#: pitivi/clipproperties.py:581
+#: pitivi/clipproperties.py:590
 msgid ""
 "To apply an effect to the clip, drag it from the Effect Library or use the "
 "button below."
@@ -985,53 +1069,66 @@ msgstr ""
 "Jei norite klipe naudoti efektą, atitempkite jį iš efektų bibliotekos arba "
 "naudokite žemiau esantį mygtuką."
 
-#: pitivi/clipproperties.py:589
+#: pitivi/clipproperties.py:598
 msgid "Add Effect"
 msgstr "Pridėti efektą"
 
-#: pitivi/clipproperties.py:913
+#: pitivi/clipproperties.py:608
+msgid "Cover Object"
+msgstr "Uždengti objektą"
+
+#: pitivi/clipproperties.py:938
 msgid "Transformation"
 msgstr "Transformacija"
 
-#: pitivi/clipproperties.py:1042
+#: pitivi/clipproperties.py:1067
 msgid "Show keyframes"
 msgstr "Rodyti pagrindinius kadrus"
 
-#: pitivi/clipproperties.py:1045
+#: pitivi/clipproperties.py:1070
 msgid "Activate keyframes"
 msgstr "Aktyvinti pagrindinius kadrus"
 
-#: pitivi/clipproperties.py:1050
+#: pitivi/clipproperties.py:1075
 msgid "Hide keyframes"
 msgstr "Slėpti pagrindinius kadrus"
 
-#: pitivi/clipproperties.py:1287
+#: pitivi/clip_properties/color.py:53 plugins/console/console.py:125
+msgid "Color"
+msgstr "Spalva"
+
+#: pitivi/clip_properties/compositing.py:57 pitivi/effects.py:81
+msgid "Compositing"
+msgstr "Komponavimas"
+
+#. Translators: These are compositing operators.
+#. See https://www.cairographics.org/operators/ for explanation and
+#. visualizations.
+#: pitivi/clip_properties/compositing.py:80
+msgid "Source"
+msgstr "Šaltinis"
+
+#: pitivi/clip_properties/compositing.py:81
+msgid "Over"
+msgstr "Virš"
+
+#: pitivi/clip_properties/markers.py:47
 msgid "Text"
 msgstr "Tekstas"
 
-#: pitivi/clipproperties.py:1296
-#| msgid "Clip Properties"
+#: pitivi/clip_properties/markers.py:64
 msgid "Clip markers"
 msgstr "Klipo žymelės"
 
-#: pitivi/clipproperties.py:1349
+#: pitivi/clip_properties/markers.py:125
 msgid "Magnetic"
 msgstr "Magnetinės"
 
-#: pitivi/clipproperties.py:1383
-#| msgid "Markers"
-msgid "No markers"
-msgstr "Nėra žymelių"
-
-#: pitivi/clip_properties/color.py:53 plugins/console/console.py:125
-msgid "Color"
-msgstr "Spalva"
-
-#: pitivi/clip_properties/title.py:43
+#: pitivi/clip_properties/title.py:47
 msgid "Title clip duration"
 msgstr "Klipo trukmė"
 
-#: pitivi/clip_properties/title.py:45
+#: pitivi/clip_properties/title.py:49
 msgid ""
 "Default clip length (in milliseconds) of titles when inserting on the "
 "timeline."
@@ -1039,39 +1136,238 @@ msgstr ""
 "Numatyta klipo trukmė (milisekundėmis) paveikslėlius įterpiant į laiko "
 "juostą."
 
-#: pitivi/clip_properties/title.py:59
+#: pitivi/clip_properties/title.py:63
 msgid "Title"
 msgstr "Pavadinimas"
 
-#: pitivi/clip_properties/title.py:111 pitivi/clip_properties/title.py:118
+#. TODO: Remove when we upgrade pylint https://github.com/PyCQA/pylint/issues/4962
+#. pylint: disable=superfluous-parens
+#: pitivi/clip_properties/title.py:122 pitivi/clip_properties/title.py:129
 msgid "Absolute"
 msgstr "Absoliutus"
 
-#: pitivi/clip_properties/title.py:112
+#: pitivi/clip_properties/title.py:123
 msgid "Top"
 msgstr "Viršus"
 
-#: pitivi/clip_properties/title.py:113 pitivi/clip_properties/title.py:120
+#: pitivi/clip_properties/title.py:124 pitivi/clip_properties/title.py:131
 msgid "Center"
 msgstr "Centras"
 
-#: pitivi/clip_properties/title.py:114
+#: pitivi/clip_properties/title.py:125
 msgid "Bottom"
 msgstr "Apačia"
 
-#: pitivi/clip_properties/title.py:115
+#: pitivi/clip_properties/title.py:126
 msgid "Baseline"
 msgstr "Kontrolinė linija"
 
-#: pitivi/clip_properties/title.py:119
+#: pitivi/clip_properties/title.py:130
 msgid "Left"
 msgstr "Kairė"
 
-#: pitivi/clip_properties/title.py:121
+#: pitivi/clip_properties/title.py:132
 msgid "Right"
 msgstr "Dešinė"
 
-#: pitivi/editorperspective.py:205 pitivi/medialibrary.py:621
+#: pitivi/dialogs/about.py:45
+#, python-format
+msgid "Version %s"
+msgstr "Versija %s"
+
+#: pitivi/dialogs/about.py:47
+#, python-format
+msgid "Version %(cur_ver)s — %(new_ver)s is available"
+msgstr "Yra prieinama versija %(cur_ver)s — %(new_ver)s"
+
+#: pitivi/dialogs/about.py:58
+msgid "Current maintainers:"
+msgstr "Dabartiniai kūrėjai:"
+
+#: pitivi/dialogs/about.py:63
+msgid "Past maintainers:"
+msgstr "Buvę kūrėjai:"
+
+#: pitivi/dialogs/about.py:69
+msgid "Contributors:"
+msgstr "Pagalbininkai:"
+
+#. Translators: See
+#. https://developer.gnome.org/gtk3/stable/GtkAboutDialog.html#gtk-about-dialog-set-translator-credits
+#. for details on how this is used.
+#: pitivi/dialogs/about.py:76
+msgid "translator-credits"
+msgstr ""
+"Išvertė:\n"
+"Aurimas Černius <aurisc4@gmail.com>"
+
+#: pitivi/dialogs/browseprojects.py:34
+msgid "Open Project…"
+msgstr "Atverti projektą…"
+
+#: pitivi/dialogs/browseprojects.py:39 pitivi/dialogs/missingasset.py:47
+msgid "Open"
+msgstr "Atverti"
+
+#: pitivi/dialogs/browseprojects.py:55
+msgid "All supported formats"
+msgstr "Visi palaikomi formatai"
+
+#: pitivi/dialogs/clipmediaprops.py:102
+msgid "Variable"
+msgstr "Kintamas"
+
+#: pitivi/dialogs/clipmediaprops.py:128
+msgid "Image:"
+msgstr "Paveikslėlis:"
+
+#: pitivi/dialogs/filelisterrordialog.py:52
+msgid "Unknown reason"
+msgstr "Nežinoma priežastis"
+
+#: pitivi/dialogs/filelisterrordialog.py:85
+msgid "Problem:"
+msgstr "Problema:"
+
+#: pitivi/dialogs/filelisterrordialog.py:93
+msgid "Extra information:"
+msgstr "Papildoma informacija:"
+
+#: pitivi/dialogs/missingasset.py:44
+msgid "Locate missing file..."
+msgstr "Surasti trūkstamą failą..."
+
+#: pitivi/dialogs/missingasset.py:58
+msgid "The following file could not be found:"
+msgstr "Šio failo nepavyko rasti:"
+
+#: pitivi/dialogs/missingasset.py:82
+msgid "Please specify its new location:"
+msgstr "Nurodykite jo naują vietą:"
+
+#. Translators: this is a format filter in a filechooser. Ex: "AVI files"
+#: pitivi/dialogs/missingasset.py:113
+#, python-format
+msgid "%s files"
+msgstr "%s failai"
+
+#: pitivi/dialogs/missingasset.py:117 pitivi/medialibrary.py:884
+msgid "All files"
+msgstr "Visi failai"
+
+#: pitivi/dialogs/prefs.py:61 pitivi/timeline/timeline.py:1749
+msgid "Timeline"
+msgstr "Laiko juosta"
+
+#: pitivi/dialogs/prefs.py:62
+msgid "Plugins"
+msgstr "Įskiepiai"
+
+#: pitivi/dialogs/prefs.py:63
+msgid "Shortcuts"
+msgstr "Klaviatūros trumpiniai"
+
+#: pitivi/dialogs/prefs.py:64
+msgid "Proxies"
+msgstr "Tarpininkai"
+
+#: pitivi/dialogs/prefs.py:65
+msgid "Other"
+msgstr "Kita"
+
+#: pitivi/dialogs/prefs.py:332
+msgid ""
+"This resolution will be used as the default target resolution for new "
+"projects and projects missing scaled proxy meta-data."
+msgstr ""
+"Ši raiška bus naudojama kaip numatytoji paskirties raiška naujiems "
+"projektams bei projektams, kuriems trūksta dydžio tarpininko metaduomenų."
+
+#: pitivi/dialogs/prefs.py:345
+msgid "Initial proxy size for new projects"
+msgstr "Pradinis tarpininko dydis naujiems projektams"
+
+#: pitivi/dialogs/prefs.py:380
+#, python-format
+msgid "Proxy resolution for the current project is %d×%d px"
+msgstr "Tarpininko dydis dabartiniam projektui yra %d×%d pikselių"
+
+#: pitivi/dialogs/prefs.py:459
+msgid "Reset the shortcut to the default accelerator"
+msgstr "Atstatyti trumpinį į jo numatytąją vertę"
+
+#: pitivi/dialogs/prefs.py:616
+msgid "Set Shortcut"
+msgstr "Nustatyti trumpinį"
+
+#. Setup the widgets used in the dialog.
+#: pitivi/dialogs/prefs.py:631
+msgid "Apply"
+msgstr "Pritaikyti"
+
+#: pitivi/dialogs/prefs.py:634
+msgid "Apply the accelerator to this shortcut."
+msgstr "Pritaikyti šio trumpinio akceleratorių"
+
+#: pitivi/dialogs/prefs.py:637
+msgid "Replace"
+msgstr "Pakeisti"
+
+#: pitivi/dialogs/prefs.py:640
+msgid ""
+"Remove this accelerator from where it was used previously and set it for "
+"this shortcut."
+msgstr ""
+"Pašalinti akceleratorių iš jo ankstesnės vietos ir nustatyti jį šiam "
+"trumpiniui."
+
+#: pitivi/dialogs/prefs.py:647
+#, python-format
+msgid "Enter new shortcut for <b>%s</b>, or press Esc to cancel."
+msgstr "Įveskite naują <b>%s</b> trumpinį arba spauskite Esc atsisakymui."
+
+#: pitivi/dialogs/prefs.py:656
+msgid ""
+"The accelerator you are trying to set might interfere with typing. Try using "
+"Control, Shift or Alt with some other key, please."
+msgstr ""
+"Akceleratorius, kurį bandote nustatyti, gali kirstis su spausdinimu. "
+"Bandykite Vald, Lyg2 arba Alt su kokiu nors klavišu."
+
+#: pitivi/dialogs/prefs.py:690
+#, python-format
+msgid ""
+"This key combination is already used by <b>%s</b>. Press Replace to use it "
+"for <b>%s</b> instead."
+msgstr ""
+"Ši klavišų kombinacija jau naudojama <b>%s</b>. Spauskite Pakeisti, jei "
+"norite ją naudoti <b>%s</b>."
+
+#: pitivi/dialogs/prefs.py:737
+msgid "No description available."
+msgstr "Nėra aprašymo."
+
+#: pitivi/dialogs/prefs.py:828
+#, python-brace-format
+msgid "Unable to load the plugin '{module_name}'"
+msgstr "Nepavyko įkelti įskiepio „{module_name}“"
+
+#. We could use Gtk.ListBox.set_placeholder, but it
+#. appears bad inside the list widget.
+#: pitivi/dialogs/prefs.py:912
+msgid "No plugins available"
+msgstr "Nėra prieinamų įskiepių."
+
+#: pitivi/dialogs/prefs.py:925
+#, python-brace-format
+msgid ""
+"You can create <a href='{doc_url}'>plugins</a> into your <a "
+"href='{dir_url}'>plugins directory</a>."
+msgstr ""
+"Galite sukurti <a href='{doc_url}'>įskiepius</a> savo <a "
+"href='{dir_url}'>įskiepių kataloge</a>."
+
+#: pitivi/editorperspective.py:205 pitivi/medialibrary.py:623
 msgid "Media Library"
 msgstr "Daugialypės terpės biblioteka"
 
@@ -1094,7 +1390,7 @@ msgstr "Atšaukti"
 #. pylint: disable=attribute-defined-outside-init
 #: pitivi/editorperspective.py:323 pitivi/editorperspective.py:536
 #: pitivi/editorperspective.py:680 pitivi/editorperspective.py:728
-#: pitivi/editorperspective.py:781 pitivi/preset.py:113 pitivi/project.py:194
+#: pitivi/editorperspective.py:781 pitivi/preset.py:113 pitivi/project.py:195
 #: pitivi/render.py:226
 msgid "Save"
 msgstr "Įrašyti"
@@ -1120,7 +1416,7 @@ msgstr "Greiti Pitivi pristatymai"
 msgid "Unable to save project \"%s\""
 msgstr "Nepavyksta įrašyti projekto „%s“"
 
-#: pitivi/editorperspective.py:538 pitivi/project.py:193
+#: pitivi/editorperspective.py:538 pitivi/project.py:194
 msgid "Save as..."
 msgstr "Įrašyti taip..."
 
@@ -1177,7 +1473,7 @@ msgid "Detect automatically"
 msgstr "Aptikti automatiškai"
 
 #: pitivi/editorperspective.py:737 pitivi/editorperspective.py:784
-#: pitivi/project.py:61 pitivi/render.py:821
+#: pitivi/project.py:62 pitivi/render.py:821
 msgid "Untitled"
 msgstr "Nepavadinta"
 
@@ -1193,44 +1489,51 @@ msgstr "JPEG paveikslėlis"
 msgid "Preview"
 msgstr "Peržiūra"
 
-#: pitivi/effects.py:61
+#: pitivi/effects.py:65
 msgid "Colors"
 msgstr "Spalvos"
 
-#: pitivi/effects.py:77
-msgid "Compositing"
-msgstr "Komponavimas"
-
-#: pitivi/effects.py:84
+#: pitivi/effects.py:88
 msgid "Noise & blur"
 msgstr "Triukšmas ir suliejimas"
 
-#: pitivi/effects.py:89
+#: pitivi/effects.py:93
 msgid "Analysis"
 msgstr "Analizė"
 
-#: pitivi/effects.py:96
+#: pitivi/effects.py:100
 msgid "Geometry"
 msgstr "Geometrija"
 
-#: pitivi/effects.py:107
+#: pitivi/effects.py:111
 msgid "Fancy"
 msgstr "Gudrūs"
 
-#: pitivi/effects.py:246
+#: pitivi/effects.py:249
 msgid "effect"
 msgstr "efektas"
 
+#. Translators: How the video effect which covers/hides a
+#. tracked object is listed. The {} is entered by the user
+#. and denotes the tracked object.
+#: pitivi/effects.py:330
+msgid "{} cover"
+msgstr "{} dengimas"
+
+#: pitivi/effects.py:331
+msgid "Object cover effect"
+msgstr "Objekto dengimo efektas"
+
 #. Add Uncategorized only if there are other categories defined.
-#: pitivi/effects.py:337 pitivi/effects.py:351
+#: pitivi/effects.py:354 pitivi/effects.py:368
 msgid "Uncategorized"
 msgstr "Nekatekorizuota"
 
-#: pitivi/effects.py:393 pitivi/effects.py:660
+#: pitivi/effects.py:410 pitivi/effects.py:677
 msgid "No effects"
 msgstr "Jokių efektų"
 
-#: pitivi/effects.py:481
+#: pitivi/effects.py:498
 msgid "Add to Favorites"
 msgstr "Pridėti prie mėgiamų"
 
@@ -1319,23 +1622,23 @@ msgstr "Tamsi tema"
 msgid "Whether or not to use a dark theme."
 msgstr "Ar naudoti tamsią temą."
 
-#: pitivi/mainwindow.py:188
+#: pitivi/mainwindow.py:189
 msgid "Project"
 msgstr "Projektas"
 
-#: pitivi/mainwindow.py:195
+#: pitivi/mainwindow.py:196
 msgid "Help"
 msgstr "Žinynas"
 
-#: pitivi/mainwindow.py:202
+#: pitivi/mainwindow.py:203
 msgid "About"
 msgstr "Apie"
 
-#: pitivi/mainwindow.py:209
+#: pitivi/mainwindow.py:210
 msgid "Show the menu button content"
 msgstr "Rodyti meniu mygtuko turinį"
 
-#: pitivi/mainwindow.py:261
+#: pitivi/mainwindow.py:262
 #, python-format
 msgid "Unable to load project \"%s\""
 msgstr "Nepavyksta įkelti projekto „%s“"
@@ -1354,12 +1657,12 @@ msgid "<b>Resolution</b>: %d×%d"
 msgstr "<b>Raiška</b>: %dx%d"
 
 #: pitivi/mediafilespreviewer.py:271 pitivi/mediafilespreviewer.py:288
-#: pitivi/utils/ui.py:566
+#: pitivi/utils/ui.py:568
 #, python-format
 msgid "<b>Duration</b>: %s"
 msgstr "<b>Trukmį</b>: %s"
 
-#: pitivi/mediafilespreviewer.py:461 pitivi/medialibrary.py:1205
+#: pitivi/mediafilespreviewer.py:461 pitivi/medialibrary.py:1207
 msgid "Error while analyzing a file"
 msgid_plural "Error while analyzing files"
 msgstr[0] "Klaida analizuojant failą"
@@ -1392,41 +1695,37 @@ msgstr "Viską"
 msgid "Scale assets larger than %s×%s px."
 msgstr "Keisti didesnių nei %s×%s pikselių elementų mastelį."
 
-#: pitivi/medialibrary.py:522 pitivi/medialibrary.py:1082
+#: pitivi/medialibrary.py:524 pitivi/medialibrary.py:1084
 msgid "Unknown"
 msgstr "Nežinoma"
 
-#: pitivi/medialibrary.py:628
+#: pitivi/medialibrary.py:630
 msgid "Remove the selected assets"
 msgstr "Pašalinti pasirinktus elementus"
 
-#: pitivi/medialibrary.py:635
+#: pitivi/medialibrary.py:637
 msgid "Insert selected assets at the end of the timeline"
 msgstr "Įterpti pasirinktus elementus laiko juostos pabaigoje"
 
-#: pitivi/medialibrary.py:851
+#: pitivi/medialibrary.py:853
 msgid "Select One or More Files"
 msgstr "Pasirinkite vieną ar daugiau failų"
 
-#: pitivi/medialibrary.py:855 pitivi/medialibrary.py:1279
+#: pitivi/medialibrary.py:857 pitivi/medialibrary.py:1281
 msgid "Add"
 msgstr "Pridėti"
 
-#: pitivi/medialibrary.py:870 pitivi/render.py:1491
+#: pitivi/medialibrary.py:872 pitivi/render.py:1491
 msgid "Supported file formats"
 msgstr "Palaikomi failų formatai"
 
-#: pitivi/medialibrary.py:882 pitivi/dialogs/missingasset.py:117
-msgid "All files"
-msgstr "Visi failai"
-
 #. Translators: this string indicates the estimated time
 #. remaining until an action (such as rendering) completes.
 #. The "%s" is an already-localized human-readable duration,
 #. such as "31 seconds", "1 minute" or "1 hours, 14 minutes".
 #. In some languages, "About %s left" can be expressed roughly as
 #. "There remains approximatively %s" (to handle gender and plurals)
-#: pitivi/medialibrary.py:988
+#: pitivi/medialibrary.py:990
 #, python-format
 msgid "Transcoding %d asset: %d%% (About %s left)"
 msgid_plural "Transcoding %d assets: %d%% (About %s left)"
@@ -1434,7 +1733,7 @@ msgstr[0] "Perkoduojamas %d elementas: %d%% (Liko apie %s)"
 msgstr[1] "Perkoduojami %d elementai: %d%% (Liko apie %s)"
 msgstr[2] "Perkoduojama %d elementų: %d%% (Liko apie %s)"
 
-#: pitivi/medialibrary.py:1094
+#: pitivi/medialibrary.py:1096
 msgid "View error"
 msgid_plural "View errors"
 msgstr[0] "Rodyti klaidą"
@@ -1442,7 +1741,7 @@ msgstr[1] "Rodyti klaidas"
 msgstr[2] "Rodyti klaidas"
 
 #. Translators: {0:d} is just like %d (integer number variable)
-#: pitivi/medialibrary.py:1096
+#: pitivi/medialibrary.py:1098
 #, python-brace-format
 msgid "An error occurred while importing."
 msgid_plural "{0:d} errors occurred while importing."
@@ -1450,71 +1749,71 @@ msgstr[0] "Importuojant kilo {0:d} klaida."
 msgstr[1] "Importuojant kilo {0:d} klaidos."
 msgstr[2] "Importuojant kilo {0:d} klaidų."
 
-#: pitivi/medialibrary.py:1112
+#: pitivi/medialibrary.py:1114
 #, python-format
 msgid "The project settings have been set to match file '%s'"
 msgstr "Projekto nustatymai buvo nustatyti taip, kad atitiktų failą „%s“"
 
-#: pitivi/medialibrary.py:1208
+#: pitivi/medialibrary.py:1210
 msgid "The following file can not be used with Pitivi."
 msgid_plural "The following files can not be used with Pitivi."
 msgstr[0] "Šie failai negali būti naudojami su Pitivi."
 msgstr[1] "Šie failai negali būti naudojami su Pitivi."
 msgstr[2] "Šie failai negali būti naudojami su Pitivi."
 
-#: pitivi/medialibrary.py:1238
+#: pitivi/medialibrary.py:1240
 msgid "Tag as:"
 msgstr "Žymėti kaip:"
 
-#: pitivi/medialibrary.py:1276
+#: pitivi/medialibrary.py:1278
 msgid "Enter tag"
 msgstr "Įveskite žymą"
 
-#: pitivi/medialibrary.py:1435
+#: pitivi/medialibrary.py:1438
 msgid "Open containing folder"
 msgstr "Atverti aplanką"
 
-#: pitivi/medialibrary.py:1442
+#: pitivi/medialibrary.py:1445
 msgid "Edit"
 msgstr "Redaguoti"
 
-#: pitivi/medialibrary.py:1471
+#: pitivi/medialibrary.py:1474
 msgid "Do not use Optimised Proxy for selected asset"
 msgid_plural "Do not use Optimised Proxies for selected assets"
 msgstr[0] "Nenaudoti optimizuoto tarpininko pasirinktam elementui"
 msgstr[1] "Nenaudoti optimizuotų tarpininkų pasirinktiems elementams"
 msgstr[2] "Nenaudoti optimizuotų tarpininkų pasirinktiems elementams"
 
-#: pitivi/medialibrary.py:1482 pitivi/medialibrary.py:1504
-#: pitivi/medialibrary.py:1526
+#: pitivi/medialibrary.py:1485 pitivi/medialibrary.py:1507
+#: pitivi/medialibrary.py:1529
 msgid "Delete corresponding proxy file"
 msgid_plural "Delete corresponding proxy files"
 msgstr[0] "Ištrinti susijusį tarpinį failą"
 msgstr[1] "Ištrinti susijusius tarpinius failus"
 msgstr[2] "Ištrinti susijusius tarpinius failus"
 
-#: pitivi/medialibrary.py:1493
+#: pitivi/medialibrary.py:1496
 msgid "Do not use Proxy for selected asset"
 msgid_plural "Do not use Proxies for selected assets"
 msgstr[0] "Nenaudoti tarpininko pasirinktam elementui"
 msgstr[1] "Nenaudoti tarpininkų pasirinktiems elementams"
 msgstr[2] "Nenaudoti tarpininkų pasirinktiems elementams"
 
-#: pitivi/medialibrary.py:1515
+#: pitivi/medialibrary.py:1518
 msgid "Do not use Scaled Proxy for selected asset"
 msgid_plural "Do not use Scaled Proxies for selected assets"
 msgstr[0] "Nenaudoti dydžio tarpininko pasirinktam elementui"
 msgstr[1] "Nenaudoti dydžio tarpininkų pasirinktiems elementams"
 msgstr[2] "Nenaudoti dydžio tarpininkų pasirinktiems elementams"
 
-#: pitivi/medialibrary.py:1537
+#: pitivi/medialibrary.py:1540
 msgid "Use Optimised Proxy for selected asset"
 msgid_plural "Use Optimised Proxies for selected assets"
 msgstr[0] "Naudoti optimizuotą tarpininką pasirinktam elementui"
 msgstr[1] "Naudoti optimizuotus tarpininkus pasirinktiems elementams"
 msgstr[2] "Naudoti optimizuotus tarpininkus pasirinktiems elementams"
 
-#: pitivi/medialibrary.py:1547
+#: pitivi/medialibrary.py:1550
 msgid "Use Scaled Proxy for selected asset"
 msgid_plural "Use Scaled Proxies for selected assets"
 msgstr[0] "Naudoti dydžio tarpininką pasirinktam elementai"
@@ -1540,11 +1839,11 @@ msgstr "Naujas išankstinis įrašas %d"
 
 #. GTK does not allow an empty string as the dialog title, so we use the
 #. same translatable one as render.py's pipeline error message dialog:
-#: pitivi/project.py:177 pitivi/render.py:1320
+#: pitivi/project.py:178 pitivi/render.py:1320
 msgid "Sorry, something didn’t work right."
 msgstr "Atsiprašome, kažkas blogai suveikė."
 
-#: pitivi/project.py:180
+#: pitivi/project.py:181
 msgid ""
 "Pitivi detected a serious backend problem and could not recover from it, "
 "even after multiple tries. The only thing that can be done at this point is "
@@ -1570,11 +1869,11 @@ msgstr ""
 "Prieš užverdami Pitivi, galite įrašyti pakeitimus esamame projekto faile "
 "arba atskirame projekto faile."
 
-#: pitivi/project.py:195
+#: pitivi/project.py:196
 msgid "Close Pitivi"
 msgstr "Užverti Pitivi"
 
-#: pitivi/project.py:265
+#: pitivi/project.py:266
 msgid ""
 "This might be due to a bug or an unsupported project file format. If you "
 "were trying to add a media file to your project, use the \"Import\" button "
@@ -1584,15 +1883,15 @@ msgstr ""
 "bandote pridėti daugialypės terpės failą į projektą, naudokite mygtuką "
 "„Importuoti“."
 
-#: pitivi/project.py:287
+#: pitivi/project.py:288
 msgid "Ignore backup"
 msgstr "Nepaisyti atsarginės kopijos"
 
-#: pitivi/project.py:289
+#: pitivi/project.py:290
 msgid "Restore from backup"
 msgstr "Atkurti iš atsarginės kopijos"
 
-#: pitivi/project.py:300
+#: pitivi/project.py:301
 #, python-format
 msgid ""
 "An autosaved version of your project file was found. It is %s newer than the "
@@ -1605,16 +1904,16 @@ msgstr ""
 "\n"
 "Ar norite jį įkelti?"
 
-#: pitivi/project.py:373
+#: pitivi/project.py:374
 msgid "You do not have permissions to write to this folder."
 msgstr "Neturite leidimų rašyti šį aplanką."
 
 #. Save the project to a temporary file.
-#: pitivi/project.py:406
+#: pitivi/project.py:407
 msgid "project"
 msgstr "projektas"
 
-#: pitivi/project.py:706
+#: pitivi/project.py:701
 msgid "Pitivi encoding profile"
 msgstr "Pitivi kodavimo profilis"
 
@@ -1734,127 +2033,11 @@ msgstr "Piešimas baigtas"
 msgid "\"%s\" has finished rendering."
 msgstr "„%s“ baigė piešti."
 
-#: pitivi/transitions.py:82
-msgid "Normal"
-msgstr "Įprastinis"
-
-#: pitivi/transitions.py:87
-msgid "Loop"
-msgstr "Ciklas"
-
-#: pitivi/transitions.py:94
-msgid "Reverse direction"
-msgstr "Atvirkštinė kryptis"
-
-#: pitivi/transitions.py:107
-msgid ""
-"Create a transition by overlapping two adjacent clips on the same layer. "
-"Click the transition on the timeline to change the transition type."
-msgstr ""
-"Sukurti perėjimą perdengiant du gretimus klipus tame pačiame sluoksnyje. "
-"Spauskite ant perėjimo laiko linijoje perėjimo tipui pakeisti."
-
-#: pitivi/transitions.py:229
-msgid "Slow"
-msgstr "Lėtas"
-
-#: pitivi/transitions.py:231
-msgid "Fast"
-msgstr "Greitas"
-
-#: pitivi/transitions.py:233
-msgid "Epileptic"
-msgstr "Epileptinis"
-
-#: pitivi/transitions.py:237
-msgid "Sharp"
-msgstr "Aštrus"
-
-#: pitivi/transitions.py:239
-msgid "Smooth"
-msgstr "Sklandus"
-
-#: pitivi/viewer/guidelines.py:59
-msgid "3 by 3"
-msgstr "3 iš 3"
-
-#: pitivi/viewer/guidelines.py:60
-msgid "Vertical/Horizontal"
-msgstr "Vertikalus/horizontalus"
-
-#: pitivi/viewer/guidelines.py:61
-msgid "Diagonals"
-msgstr "Išilginiai"
-
-#: pitivi/viewer/guidelines.py:92
-msgid "Composition Guidelines"
-msgstr "Komponavimo gidai"
-
-#: pitivi/viewer/viewer.py:77
-msgid "Currently playing"
-msgstr "Šiuo metu groja"
-
-#: pitivi/viewer/viewer.py:252
-msgid "Select composition guidelines"
-msgstr "Pasirinkite komponavimo gidus"
-
-#: pitivi/viewer/viewer.py:260
-msgid "Go to the beginning of the timeline"
-msgstr "Pereiti į laiko linijos pradžią"
-
-#: pitivi/viewer/viewer.py:269
-msgid "Go back one second"
-msgstr "Atgal vieną sekundę"
-
-#: pitivi/viewer/viewer.py:282
-msgid "Go forward one second"
-msgstr "Pirmyn vieną sekundę"
-
-#: pitivi/viewer/viewer.py:291
-msgid "Go to the end of the timeline"
-msgstr "Pereiti į laiko juostos pabaigą"
-
-#: pitivi/viewer/viewer.py:298
-msgid ""
-"Enter a timecode or frame number\n"
-"and press \"Enter\" to go to that position"
-msgstr ""
-"Įveskite laiko kodą arba kadro numerį\n"
-"ir spauskite „Enter“ perėjimui į tą padėtį"
-
-#: pitivi/viewer/viewer.py:309
-msgid ""
-"Detach the viewer\n"
-"You can re-attach it by closing the newly created window."
-msgstr ""
-"Atkabinti žiūryklę\n"
-"Ją galite vėl prikabinti užverdami naujai sukurtą langą."
-
-#: pitivi/viewer/viewer.py:336
-msgid "Viewer"
-msgstr "Žiūryklė"
-
-#: pitivi/viewer/viewer.py:344
-msgid "Toggle the currently selected composition guidelines"
-msgstr "Keisti dabartinius komponavimo gidus"
-
-#: pitivi/viewer/viewer.py:352
-msgid "Toggle safe areas on viewer"
-msgstr "Keisti žiūryklės saugias sritis"
-
-#: pitivi/viewer/viewer.py:478 pitivi/viewer/viewer.py:536
-msgid "Show this window in fullscreen"
-msgstr "Rodyti šį langą visame ekrane"
-
-#: pitivi/viewer/viewer.py:533
-msgid "Exit fullscreen mode"
-msgstr "Palikti viso ekrano veikseną"
-
-#. Translators: This is a tooltip for a clip's keyframe curve,
-#. showing what the keyframe curve affects, the timestamp at
-#. the mouse cursor location, and the value at that timestamp.
-#: pitivi/timeline/elements.py:444
-#, python-format
+#. Translators: This is a tooltip for a clip's keyframe curve,
+#. showing what the keyframe curve affects, the timestamp at
+#. the mouse cursor location, and the value at that timestamp.
+#: pitivi/timeline/elements.py:446
+#, python-format
 msgid ""
 "Property: %s\n"
 "Timestamp: %s\n"
@@ -1864,12 +2047,12 @@ msgstr ""
 "Laiko žyma: %s\n"
 "Vertė: %s"
 
-#: pitivi/timeline/elements.py:632
+#: pitivi/timeline/elements.py:634
 #, python-format
 msgid "Timestamp: %s"
 msgstr "Laiko žyma: %s"
 
-#: pitivi/timeline/elements.py:1592
+#: pitivi/timeline/elements.py:1603
 msgid "Audio crossfade"
 msgstr "Garso palaipsninis perėjimas"
 
@@ -1898,25 +2081,25 @@ msgstr "Ištrinti sluoksnį"
 msgid "Layer %d"
 msgstr "Sluoksnis %d"
 
-#: pitivi/timeline/ruler.py:233
+#: pitivi/timeline/ruler.py:241
 #, python-format
 msgid "Frame #%d"
 msgstr "Kadras #%d"
 
-#: pitivi/timeline/timeline.py:86
+#: pitivi/timeline/timeline.py:85
 msgid "Markers magnetic by default"
 msgstr "Žymelės yra numatytai magnetinės"
 
-#: pitivi/timeline/timeline.py:88
+#: pitivi/timeline/timeline.py:87
 msgid ""
 "Whether markers created on new clips will be snapping targets by default."
 msgstr "Ar naujuose klipuose sukurtos žymelės numatytai kibs prie paskirčių."
 
-#: pitivi/timeline/timeline.py:98
+#: pitivi/timeline/timeline.py:97
 msgid "Snap distance"
 msgstr "Sujungimo atstumas"
 
-#: pitivi/timeline/timeline.py:99
+#: pitivi/timeline/timeline.py:98
 msgid ""
 "Threshold (in pixels) at which two clips will snap together when dragging or "
 "trimming."
@@ -1924,11 +2107,11 @@ msgstr ""
 "Slenkstis (pikseliais), kada du klipai bus sujungti kartu tempiant ar "
 "trumpinant."
 
-#: pitivi/timeline/timeline.py:111
+#: pitivi/timeline/timeline.py:110
 msgid "Image clip duration"
 msgstr "Paveikslėlio klipo trukmė"
 
-#: pitivi/timeline/timeline.py:113
+#: pitivi/timeline/timeline.py:112
 msgid ""
 "Default clip length (in milliseconds) of images when inserting on the "
 "timeline."
@@ -1936,328 +2119,194 @@ msgstr ""
 "Numatyta klipo trukmė (milisekundėmis) paveikslėlius įterpiant į laiko "
 "juostą."
 
-#: pitivi/timeline/timeline.py:124
+#: pitivi/timeline/timeline.py:123
 msgid "Left click also seeks"
 msgstr "Kairysis paspaudimas taip pat pereina"
 
-#: pitivi/timeline/timeline.py:126
+#: pitivi/timeline/timeline.py:125
 msgid "Whether left-clicking also seeks besides selecting and editing clips."
 msgstr ""
 "Ar kairysis paspaudimas taip pat ir pereina, ne tik žymi bei redaguoja."
 
-#: pitivi/timeline/timeline.py:356 pitivi/timeline/timeline.py:1790
+#: pitivi/timeline/timeline.py:356 pitivi/timeline/timeline.py:1813
 msgid "Add layer"
 msgstr "Pridėti sluoksnį"
 
-#: pitivi/timeline/timeline.py:1733 pitivi/dialogs/prefs.py:60
-msgid "Timeline"
-msgstr "Laiko juosta"
-
-#: pitivi/timeline/timeline.py:1740
+#: pitivi/timeline/timeline.py:1756
 msgid "Action Search"
 msgstr "Veiksmo paieška"
 
-#: pitivi/timeline/timeline.py:1748
+#: pitivi/timeline/timeline.py:1764
 msgid "Delete selected clips"
 msgstr "Ištrinti pasirinktus klipus"
 
-#: pitivi/timeline/timeline.py:1755
+#: pitivi/timeline/timeline.py:1771
 msgid "Delete selected clips and shift following ones"
 msgstr "Ištrinti pasirinktus klipus ir paslinkti likusius"
 
-#: pitivi/timeline/timeline.py:1762
+#: pitivi/timeline/timeline.py:1778
 msgid "Group selected clips together"
 msgstr "Sugrupuoti pasirinktus klipus"
 
-#: pitivi/timeline/timeline.py:1769
+#: pitivi/timeline/timeline.py:1785
 msgid "Ungroup selected clips"
 msgstr "Išgrupuoti pasirinktus klipus"
 
-#: pitivi/timeline/timeline.py:1776
+#: pitivi/timeline/timeline.py:1792
+msgid "Cut selected clips"
+msgstr "Kirpti pasirinktus klipus"
+
+#: pitivi/timeline/timeline.py:1799
 msgid "Copy selected clips"
 msgstr "Kopijuoti pasirinktus klipus"
 
-#: pitivi/timeline/timeline.py:1783
+#: pitivi/timeline/timeline.py:1806
 msgid "Paste selected clips"
 msgstr "Įdėti pasirinktus klipus"
 
-#: pitivi/timeline/timeline.py:1797
+#: pitivi/timeline/timeline.py:1820
 msgid "Seek to the first clip edge after the playhead"
 msgstr "Pereiti į pirmą klipo kraštą po grojimo galvutės"
 
-#: pitivi/timeline/timeline.py:1804
+#: pitivi/timeline/timeline.py:1827
 msgid "Seek to the first clip edge before the playhead"
 msgstr "Pereiti į pirmą klipo kraštą prieš grojimo galvutę"
 
-#: pitivi/timeline/timeline.py:1811
+#: pitivi/timeline/timeline.py:1834
 msgid "Shift selected clips one frame forward"
 msgstr "Pastumti pažymėtus klipus vieną kadrą pirmyn"
 
-#: pitivi/timeline/timeline.py:1818
+#: pitivi/timeline/timeline.py:1841
 msgid "Shift selected clips one frame backward"
 msgstr "Pastumti pažymėtus klipus vieną kadrą atgal"
 
-#: pitivi/timeline/timeline.py:1825
-#| msgid "Group selected clips together"
+#: pitivi/timeline/timeline.py:1848
 msgid "Snap selected clips to the next clip"
 msgstr "Prikabinti pasirinktus klipus prie kito klipo"
 
-#: pitivi/timeline/timeline.py:1832
-#| msgid "Remove selected clips from the project"
+#: pitivi/timeline/timeline.py:1855
 msgid "Snap selected clips to the previous clip"
 msgstr "Prikabinti pasirinktus klipus prie ankstesnio klipo"
 
-#: pitivi/timeline/timeline.py:1839
+#: pitivi/timeline/timeline.py:1862
 msgid "Add an effect to the selected clip"
 msgstr "Pridėti efektą į pasirinktą klipą"
 
-#: pitivi/timeline/timeline.py:1852
+#: pitivi/timeline/timeline.py:1879
 msgid "Split the clip at the position"
 msgstr "Padalinti klipą grojimo galvutės padėtyje"
 
-#: pitivi/timeline/timeline.py:1859
+#: pitivi/timeline/timeline.py:1886
 msgid "Add keyframe to the keyframe curve of selected clip"
 msgstr "Pridėti raktinį kadrą į raktinių kadrų kreivę pasirinktame klipe"
 
-#: pitivi/timeline/timeline.py:1864
+#: pitivi/timeline/timeline.py:1891
 msgid "Timeline Navigation"
 msgstr "Judėjimas laiko juostoje"
 
-#: pitivi/timeline/timeline.py:1872
+#: pitivi/timeline/timeline.py:1899
 msgid "Zoom in"
 msgstr "Pritraukti"
 
-#: pitivi/timeline/timeline.py:1880
+#: pitivi/timeline/timeline.py:1907
 msgid "Zoom out"
 msgstr "Atitolinti"
 
-#: pitivi/timeline/timeline.py:1888
+#: pitivi/timeline/timeline.py:1915
 msgid "Adjust zoom to fit the project to the window"
 msgstr "priderinti mastelių kad projektas tilptų į langą"
 
-#: pitivi/timeline/timeline.py:1901
+#: pitivi/timeline/timeline.py:1928
 msgid "Seek backward one frame"
 msgstr "Grįžti atgal vieną kadrą"
 
-#: pitivi/timeline/timeline.py:1908
+#: pitivi/timeline/timeline.py:1935
 msgid "Seek forward one frame"
 msgstr "Eiti pirmyn vieną kadrą"
 
-#: pitivi/timeline/timeline.py:1916
+#: pitivi/timeline/timeline.py:1943
 msgid "Seek backward one second"
 msgstr "Grįžti atgal vieną sekundę"
 
-#: pitivi/timeline/timeline.py:1924
+#: pitivi/timeline/timeline.py:1951
 msgid "Seek forward one second"
 msgstr "Eiti pirmyn vieną sekundę"
 
-#: pitivi/timeline/timeline.py:1932
+#: pitivi/timeline/timeline.py:1959
 msgid "Add a marker"
 msgstr "Pridėti ženklinimą"
 
-#: pitivi/timeline/timeline.py:1939
+#: pitivi/timeline/timeline.py:1966
 msgid "Seek to the first marker before the playhead"
 msgstr "Pereiti į pirmą žymelę prieš grojimo galvutę"
 
-#: pitivi/timeline/timeline.py:1946
+#: pitivi/timeline/timeline.py:1973
 msgid "Seek to the first marker after the playhead"
 msgstr "Pereiti į pirmą žymelę po grojimo galvutės"
 
-#: pitivi/dialogs/about.py:45
-#, python-format
-msgid "Version %s"
-msgstr "Versija %s"
+#: pitivi/trackerperspective.py:403
+msgid "Object {}"
+msgstr "Objektas {}"
 
-#: pitivi/dialogs/about.py:47
-#, python-format
-msgid "Version %(cur_ver)s — %(new_ver)s is available"
-msgstr "Yra prieinama versija %(cur_ver)s — %(new_ver)s"
+#: pitivi/trackerperspective.py:665
+msgid "Go back"
+msgstr "Grįžti"
 
-#: pitivi/dialogs/about.py:58
-msgid "Current maintainers:"
-msgstr "Dabartiniai kūrėjai:"
+#: pitivi/trackerperspective.py:739
+msgid "Track objects"
+msgstr "Sekti objektus"
 
-#: pitivi/dialogs/about.py:63
-msgid "Past maintainers:"
-msgstr "Buvę kūrėjai:"
-
-#: pitivi/dialogs/about.py:69
-msgid "Contributors:"
-msgstr "Pagalbininkai:"
-
-#. Translators: See
-#. https://developer.gnome.org/gtk3/stable/GtkAboutDialog.html#gtk-about-dialog-set-translator-credits
-#. for details on how this is used.
-#: pitivi/dialogs/about.py:76
-msgid "translator-credits"
-msgstr ""
-"Išvertė:\n"
-"Aurimas Černius <aurisc4@gmail.com>"
-
-#: pitivi/dialogs/browseprojects.py:34
-msgid "Open Project…"
-msgstr "Atverti projektą…"
-
-#: pitivi/dialogs/browseprojects.py:39 pitivi/dialogs/missingasset.py:47
-msgid "Open"
-msgstr "Atverti"
-
-#: pitivi/dialogs/browseprojects.py:55
-msgid "All supported formats"
-msgstr "Visi palaikomi formatai"
-
-#: pitivi/dialogs/clipmediaprops.py:102
-msgid "Variable"
-msgstr "Kintamas"
-
-#: pitivi/dialogs/clipmediaprops.py:128
-msgid "Image:"
-msgstr "Paveikslėlis:"
-
-#: pitivi/dialogs/filelisterrordialog.py:52
-msgid "Unknown reason"
-msgstr "Nežinoma priežastis"
-
-#: pitivi/dialogs/filelisterrordialog.py:85
-msgid "Problem:"
-msgstr "Problema:"
-
-#: pitivi/dialogs/filelisterrordialog.py:93
-msgid "Extra information:"
-msgstr "Papildoma informacija:"
-
-#: pitivi/dialogs/missingasset.py:44
-msgid "Locate missing file..."
-msgstr "Surasti trūkstamą failą..."
-
-#: pitivi/dialogs/missingasset.py:58
-msgid "The following file could not be found:"
-msgstr "Šio failo nepavyko rasti:"
-
-#: pitivi/dialogs/missingasset.py:82
-msgid "Please specify its new location:"
-msgstr "Nurodykite jo naują vietą:"
-
-#. Translators: this is a format filter in a filechooser. Ex: "AVI files"
-#: pitivi/dialogs/missingasset.py:113
-#, python-format
-msgid "%s files"
-msgstr "%s failai"
-
-#: pitivi/dialogs/prefs.py:61
-msgid "Plugins"
-msgstr "Įskiepiai"
-
-#: pitivi/dialogs/prefs.py:62
-msgid "Shortcuts"
-msgstr "Klaviatūros trumpiniai"
-
-#: pitivi/dialogs/prefs.py:63
-msgid "Proxies"
-msgstr "Tarpininkai"
-
-#: pitivi/dialogs/prefs.py:64
-msgid "Other"
-msgstr "Kita"
-
-#: pitivi/dialogs/prefs.py:331
-msgid ""
-"This resolution will be used as the default target resolution for new "
-"projects and projects missing scaled proxy meta-data."
-msgstr ""
-"Ši raiška bus naudojama kaip numatytoji paskirties raiška naujiems "
-"projektams bei projektams, kuriems trūksta dydžio tarpininko metaduomenų."
-
-#: pitivi/dialogs/prefs.py:344
-msgid "Initial proxy size for new projects"
-msgstr "Pradinis tarpininko dydis naujiems projektams"
-
-#: pitivi/dialogs/prefs.py:379
-#, python-format
-msgid "Proxy resolution for the current project is %d×%d px"
-msgstr "Tarpininko dydis dabartiniam projektui yra %d×%d pikselių"
-
-#: pitivi/dialogs/prefs.py:458
-msgid "Reset the shortcut to the default accelerator"
-msgstr "Atstatyti trumpinį į jo numatytąją vertę"
-
-#: pitivi/dialogs/prefs.py:615
-msgid "Set Shortcut"
-msgstr "Nustatyti trumpinį"
-
-#. Setup the widgets used in the dialog.
-#: pitivi/dialogs/prefs.py:630
-msgid "Apply"
-msgstr "Pritaikyti"
-
-#: pitivi/dialogs/prefs.py:633
-msgid "Apply the accelerator to this shortcut."
-msgstr "Pritaikyti šio trumpinio akceleratorių"
-
-#: pitivi/dialogs/prefs.py:636
-msgid "Replace"
-msgstr "Pakeisti"
+#: pitivi/transitions.py:77
+msgid "Normal"
+msgstr "Įprastinis"
 
-#: pitivi/dialogs/prefs.py:639
-msgid ""
-"Remove this accelerator from where it was used previously and set it for "
-"this shortcut."
-msgstr ""
-"Pašalinti akceleratorių iš jo ankstesnės vietos ir nustatyti jį šiam "
-"trumpiniui."
+#: pitivi/transitions.py:82
+msgid "Loop"
+msgstr "Ciklas"
 
-#: pitivi/dialogs/prefs.py:646
-#, python-format
-msgid "Enter new shortcut for <b>%s</b>, or press Esc to cancel."
-msgstr "Įveskite naują <b>%s</b> trumpinį arba spauskite Esc atsisakymui."
+#: pitivi/transitions.py:89
+msgid "Reverse direction"
+msgstr "Atvirkštinė kryptis"
 
-#: pitivi/dialogs/prefs.py:655
+#: pitivi/transitions.py:102
 msgid ""
-"The accelerator you are trying to set might interfere with typing. Try using "
-"Control, Shift or Alt with some other key, please."
+"Create a transition by overlapping two adjacent clips on the same layer. "
+"Click the transition on the timeline to change the transition type."
 msgstr ""
-"Akceleratorius, kurį bandote nustatyti, gali kirstis su spausdinimu. "
-"Bandykite Vald, Lyg2 arba Alt su kokiu nors klavišu."
+"Sukurti perėjimą perdengiant du gretimus klipus tame pačiame sluoksnyje. "
+"Spauskite ant perėjimo laiko linijoje perėjimo tipui pakeisti."
 
-#: pitivi/dialogs/prefs.py:689
-#, python-format
-msgid ""
-"This key combination is already used by <b>%s</b>. Press Replace to use it "
-"for <b>%s</b> instead."
-msgstr ""
-"Ši klavišų kombinacija jau naudojama <b>%s</b>. Spauskite Pakeisti, jei "
-"norite ją naudoti <b>%s</b>."
+#: pitivi/transitions.py:225
+msgid "Slow"
+msgstr "Lėtas"
 
-#: pitivi/dialogs/prefs.py:736
-msgid "No description available."
-msgstr "Nėra aprašymo."
+#: pitivi/transitions.py:227
+msgid "Fast"
+msgstr "Greitas"
 
-#: pitivi/dialogs/prefs.py:827
-#, python-brace-format
-msgid "Unable to load the plugin '{module_name}'"
-msgstr "Nepavyko įkelti įskiepio „{module_name}“"
+#: pitivi/transitions.py:229
+msgid "Epileptic"
+msgstr "Epileptinis"
 
-#. We could use Gtk.ListBox.set_placeholder, but it
-#. appears bad inside the list widget.
-#: pitivi/dialogs/prefs.py:911
-msgid "No plugins available"
-msgstr "Nėra prieinamų įskiepių."
+#: pitivi/transitions.py:233
+msgid "Sharp"
+msgstr "Aštrus"
 
-#: pitivi/dialogs/prefs.py:924
-#, python-brace-format
-msgid ""
-"You can create <a href='{doc_url}'>plugins</a> into your <a "
-"href='{dir_url}'>plugins directory</a>."
-msgstr ""
-"Galite sukurti <a href='{doc_url}'>įskiepius</a> savo <a "
-"href='{dir_url}'>įskiepių kataloge</a>."
+#: pitivi/transitions.py:235
+msgid "Smooth"
+msgstr "Sklandus"
 
-#: pitivi/utils/markers.py:33
-#| msgid "Markers"
+#. Translators: The list of markers created by the user.
+#: pitivi/utils/markers.py:34
 msgid "User markers"
 msgstr "Naudoti žymeles"
 
-#: pitivi/utils/misc.py:278
+#. Translators: The list of markers representing detected audio beats.
+#: pitivi/utils/markers.py:36
+msgid "Beats"
+msgstr "Ritmas"
+
+#: pitivi/utils/misc.py:281
 msgid ""
 "Failed to open the user manual. Make sure to have either the `yelp` GNOME "
 "documentation viewer or a web browser installed"
@@ -2265,7 +2314,7 @@ msgstr ""
 "Nepavyko atverti naudotojo žinyno. Įsitikinkite, kad turite įdiegę arba "
 "GNOME dokumentacijos žiūryklę „yelp“ arba žiniatinklio naršyklę."
 
-#: pitivi/utils/misc.py:287
+#: pitivi/utils/misc.py:290
 msgid ""
 "The system's locale that you are using is not UTF-8 capable. Unicode support "
 "is required for Python3 software like Pitivi. Please correct your system "
@@ -2277,7 +2326,7 @@ msgstr ""
 "nustatymus; jei bandysite naudoti Pitivi su bloga lokale, gali kilti keistų "
 "klaidų."
 
-#: pitivi/utils/misc.py:297
+#: pitivi/utils/misc.py:300
 msgid "Error while decoding a string"
 msgstr "Klaida dekoduojant simbolių eilutę"
 
@@ -2290,52 +2339,52 @@ msgid "Max CPU usage dedicated to transcoding"
 msgstr "Didžiausias CPU naudojimas dedikuotam perkodavimui"
 
 #. Translators: 'fps' is for 'frames per second'
-#: pitivi/utils/ui.py:382
+#: pitivi/utils/ui.py:390
 msgid "{0:s} fps"
 msgstr "{0:s} kps"
 
-#: pitivi/utils/ui.py:402
+#: pitivi/utils/ui.py:410
 #, python-brace-format
 msgid "{0:n} kHz"
 msgstr "{0:n} kHz"
 
-#: pitivi/utils/ui.py:411
+#: pitivi/utils/ui.py:419
 msgid "Mono"
 msgstr "Mono"
 
-#: pitivi/utils/ui.py:412
+#: pitivi/utils/ui.py:420
 msgid "Stereo"
 msgstr "Stereo"
 
-#: pitivi/utils/ui.py:413
+#: pitivi/utils/ui.py:421
 msgid "6 (5.1)"
 msgstr "6 (5.1)"
 
-#: pitivi/utils/ui.py:414
+#: pitivi/utils/ui.py:422
 msgid "8 (7.1)"
 msgstr "8 (7.1)"
 
-#: pitivi/utils/ui.py:545
+#: pitivi/utils/ui.py:547
 #, python-format
 msgid "<b>Duration:</b> %s"
 msgstr "<b>Trukmė:</b>: %s"
 
-#: pitivi/utils/ui.py:548
+#: pitivi/utils/ui.py:550
 #, python-format
 msgid "<b>Proxy creation progress:</b> %d%%"
 msgstr "<b>Tarpinių failų kūrimo eiga:</b> %d%%"
 
-#: pitivi/utils/ui.py:562
+#: pitivi/utils/ui.py:564
 #, python-format
 msgid "<b>Path</b>: %s"
 msgstr "<b>Kelias</b>: %s"
 
-#: pitivi/utils/ui.py:572
+#: pitivi/utils/ui.py:574
 #, python-format
 msgid "<b>Size</b>: %s"
 msgstr "<b>Dydis</b>: %s"
 
-#: pitivi/utils/ui.py:608
+#: pitivi/utils/ui.py:610
 #, python-format
 msgid "<b>Audio:</b> %d channel at %d <i>Hz</i> (%d <i>bits</i>)"
 msgid_plural "<b>Audio:</b> %d channels at %d <i>Hz</i> (%d <i>bits</i>)"
@@ -2343,17 +2392,17 @@ msgstr[0] "<b>Garsas:</b> %d kanalas %d <i>Hz</i> (%d <i>bitų</i>)"
 msgstr[1] "<b>Garsas:</b> %d kanalai %d <i>Hz</i> (%d <i>bitai</i>)"
 msgstr[2] "<b>Garsas:</b> %d kanalų %d <i>Hz</i> (%d <i>bitai</i>)"
 
-#: pitivi/utils/ui.py:620
+#: pitivi/utils/ui.py:622
 #, python-format
 msgid "<b>Video:</b> %d×%d <i>pixels</i> at %s <i>fps</i>"
 msgstr "<b>Vaizdas:</b> %d×%d <i>pikseliai</i> %s <i>kps</i>"
 
-#: pitivi/utils/ui.py:623
+#: pitivi/utils/ui.py:625
 #, python-format
 msgid "<b>Image:</b> %d×%d <i>pixels</i>"
 msgstr "<b>Paveikslėlis:</b> %dx%d <i>pikseliai</i>"
 
-#: pitivi/utils/ui.py:677 pitivi/utils/ui.py:704 pitivi/utils/ui.py:728
+#: pitivi/utils/ui.py:679 pitivi/utils/ui.py:706 pitivi/utils/ui.py:730
 #, python-format
 msgid "%d hour"
 msgid_plural "%d hours"
@@ -2361,7 +2410,7 @@ msgstr[0] "%d valanda"
 msgstr[1] "%d valandos"
 msgstr[2] "%d valandų"
 
-#: pitivi/utils/ui.py:680 pitivi/utils/ui.py:707 pitivi/utils/ui.py:731
+#: pitivi/utils/ui.py:682 pitivi/utils/ui.py:709 pitivi/utils/ui.py:733
 #, python-format
 msgid "%d minute"
 msgid_plural "%d minutes"
@@ -2369,7 +2418,7 @@ msgstr[0] "%d minutė"
 msgstr[1] "%d minutės"
 msgstr[2] "%d minučių"
 
-#: pitivi/utils/ui.py:683 pitivi/utils/ui.py:710 pitivi/utils/ui.py:734
+#: pitivi/utils/ui.py:685 pitivi/utils/ui.py:712 pitivi/utils/ui.py:736
 #, python-format
 msgid "%d second"
 msgid_plural "%d seconds"
@@ -2377,7 +2426,7 @@ msgstr[0] "%d sekundė"
 msgstr[1] "%d sekundės"
 msgstr[2] "%d sekundžių"
 
-#: pitivi/utils/ui.py:702
+#: pitivi/utils/ui.py:704
 #, python-format
 msgid "%d day"
 msgid_plural "%d days"
@@ -2385,27 +2434,27 @@ msgstr[0] "%d diena"
 msgstr[1] "%d dienos"
 msgstr[2] "%d dienų"
 
-#: pitivi/utils/ui.py:743
+#: pitivi/utils/ui.py:745
 msgid "Just now"
 msgstr "Ką tik"
 
-#: pitivi/utils/ui.py:746
+#: pitivi/utils/ui.py:748
 msgid "An hour ago"
 msgstr "Prieš valandą"
 
-#: pitivi/utils/ui.py:749
+#: pitivi/utils/ui.py:751
 msgid "Today"
 msgstr "Šiandien"
 
-#: pitivi/utils/ui.py:752
+#: pitivi/utils/ui.py:754
 msgid "Yesterday"
 msgstr "Vakar"
 
-#: pitivi/utils/ui.py:761
+#: pitivi/utils/ui.py:763
 msgid "About a year ago"
 msgstr "Maždaug prieš metus"
 
-#: pitivi/utils/ui.py:764
+#: pitivi/utils/ui.py:766
 #, python-format
 msgid "About %d year ago"
 msgid_plural "About %d years ago"
@@ -2450,6 +2499,82 @@ msgstr "rodoma %s"
 msgid "%d nanoseconds displayed, because we can"
 msgstr "rodoma %d nanosekundžių, nes mes tai galime"
 
+#: pitivi/viewer/guidelines.py:59
+msgid "3 by 3"
+msgstr "3 iš 3"
+
+#: pitivi/viewer/guidelines.py:60
+msgid "Vertical/Horizontal"
+msgstr "Vertikalus/horizontalus"
+
+#: pitivi/viewer/guidelines.py:61
+msgid "Diagonals"
+msgstr "Išilginiai"
+
+#: pitivi/viewer/guidelines.py:92
+msgid "Composition Guidelines"
+msgstr "Komponavimo gidai"
+
+#: pitivi/viewer/viewer.py:81
+msgid "Currently playing"
+msgstr "Šiuo metu groja"
+
+#: pitivi/viewer/viewer.py:304
+msgid "Select composition guidelines"
+msgstr "Pasirinkite komponavimo gidus"
+
+#: pitivi/viewer/viewer.py:312
+msgid "Go to the beginning of the timeline"
+msgstr "Pereiti į laiko linijos pradžią"
+
+#: pitivi/viewer/viewer.py:321
+msgid "Go back one second"
+msgstr "Atgal vieną sekundę"
+
+#: pitivi/viewer/viewer.py:334
+msgid "Go forward one second"
+msgstr "Pirmyn vieną sekundę"
+
+#: pitivi/viewer/viewer.py:343
+msgid "Go to the end of the timeline"
+msgstr "Pereiti į laiko juostos pabaigą"
+
+#: pitivi/viewer/viewer.py:350
+msgid ""
+"Enter a timecode or frame number\n"
+"and press \"Enter\" to go to that position"
+msgstr ""
+"Įveskite laiko kodą arba kadro numerį\n"
+"ir spauskite „Enter“ perėjimui į tą padėtį"
+
+#: pitivi/viewer/viewer.py:361
+msgid ""
+"Detach the viewer\n"
+"You can re-attach it by closing the newly created window."
+msgstr ""
+"Atkabinti žiūryklę\n"
+"Ją galite vėl prikabinti užverdami naujai sukurtą langą."
+
+#: pitivi/viewer/viewer.py:388
+msgid "Viewer"
+msgstr "Žiūryklė"
+
+#: pitivi/viewer/viewer.py:396
+msgid "Toggle the currently selected composition guidelines"
+msgstr "Keisti dabartinius komponavimo gidus"
+
+#: pitivi/viewer/viewer.py:404
+msgid "Toggle safe areas on viewer"
+msgstr "Keisti žiūryklės saugias sritis"
+
+#: pitivi/viewer/viewer.py:546 pitivi/viewer/viewer.py:605
+msgid "Show this window in fullscreen"
+msgstr "Rodyti šį langą visame ekrane"
+
+#: pitivi/viewer/viewer.py:602
+msgid "Exit fullscreen mode"
+msgstr "Palikti viso ekrano veikseną"
+
 #: plugins/console/console.py:123
 msgid "Console"
 msgstr "Terminalas"
@@ -2491,6 +2616,10 @@ msgid ""
 "Not possible to override {key}, because shortcuts commands are read-only."
 msgstr "Negalima pakeisti {key}, nes trumpinių komandos yra tik skaitymui."
 
+#~| msgid "Markers"
+#~ msgid "No markers"
+#~ msgstr "Nėra žymelių"
+
 #~ msgid "Folder:"
 #~ msgstr "Aplankas:"
 
@@ -2572,9 +2701,6 @@ msgstr "Negalima pakeisti {key}, nes trumpinių komandos yra tik skaitymui."
 #~ msgid "Background color"
 #~ msgstr "Fono spalva"
 
-#~ msgid "Remove effect"
-#~ msgstr "Pašalinti efektą"
-
 #~ msgid "Active"
 #~ msgstr "Aktyvus"
 
diff --git a/po/pl.po b/po/pl.po
index ede79af..7dd7cae 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -1,17 +1,17 @@
 # Polish translation for pitivi.
-# Copyright © 2009-2022 the pitivi authors.
+# Copyright © 2009-2023 the pitivi authors.
 # This file is distributed under the same license as the pitivi package.
 # Aleksander Łukasiewicz <aleksander@lukasiewicz.org>, 2009.
 # Tomasz Dominikowski <dominikowski@gmail.com>, 2009-2010.
-# Piotr Drąg <piotrdrag@gmail.com>, 2012-2022.
-# Aviary.pl <community-poland@mozilla.org>, 2009-2022.
+# Piotr Drąg <piotrdrag@gmail.com>, 2012-2023.
+# Aviary.pl <community-poland@mozilla.org>, 2009-2023.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: pitivi\n"
 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/pitivi/issues\n"
-"POT-Creation-Date: 2022-05-07 22:53+0000\n"
-"PO-Revision-Date: 2022-05-08 11:25+0200\n"
+"POT-Creation-Date: 2023-03-13 16:35+0000\n"
+"PO-Revision-Date: 2023-03-18 13:40+0100\n"
 "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
 "Language-Team: Polish <community-poland@mozilla.org>\n"
 "Language: pl\n"
@@ -421,8 +421,8 @@ msgid "Edit the project settings"
 msgstr "Modyfikuje ustawienia projektu"
 
 #: data/ui/mainmenubutton.ui:119 data/ui/projectsettings.ui:61
-#: pitivi/dialogs/prefs.py:340 pitivi/medialibrary.py:173
-#: pitivi/medialibrary.py:538
+#: pitivi/dialogs/prefs.py:340 pitivi/medialibrary.py:182
+#: pitivi/medialibrary.py:547
 msgid "Project Settings"
 msgstr "Ustawienia projektu"
 
@@ -537,7 +537,7 @@ msgstr ""
 #: pitivi/dialogs/browseprojects.py:38 pitivi/dialogs/missingasset.py:46
 #: pitivi/editorperspective.py:544 pitivi/editorperspective.py:679
 #: pitivi/editorperspective.py:727 pitivi/editorperspective.py:780
-#: pitivi/greeterperspective.py:241 pitivi/medialibrary.py:856
+#: pitivi/greeterperspective.py:241 pitivi/medialibrary.py:865
 msgid "Cancel"
 msgstr "Anuluj"
 
@@ -562,12 +562,12 @@ msgstr "Ograniczanie proporcji"
 msgid "Maintain aspect ratio"
 msgstr "Utrzymuje proporcje obrazu"
 
-#: data/ui/projectsettings.ui:330 data/ui/renderingdialog.ui:734
+#: data/ui/projectsettings.ui:330 data/ui/renderingdialog.ui:732
 msgid "Frame rate:"
 msgstr "Liczba klatek na sekundę:"
 
 #. The title of the section with the video settings
-#: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:752
+#: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:750
 #: pitivi/clip_properties/markers.py:45 pitivi/effects.py:249
 msgid "Video"
 msgstr "Wideo"
@@ -622,20 +622,20 @@ msgstr "Renderuj"
 msgid "Quality:"
 msgstr "Jakość:"
 
-#: data/ui/renderingdialog.ui:179 pitivi/clip_properties/markers.py:48
+#: data/ui/renderingdialog.ui:177 pitivi/clip_properties/markers.py:48
 #: pitivi/render.py:74
 msgid "Custom"
 msgstr "Inne"
 
-#: data/ui/renderingdialog.ui:246
+#: data/ui/renderingdialog.ui:244
 msgid "Container format:"
 msgstr "Format kontenera:"
 
-#: data/ui/renderingdialog.ui:313
+#: data/ui/renderingdialog.ui:311
 msgid "Automatically render from proxy files"
 msgstr "Automatyczne renderowanie z plików pośrednich"
 
-#: data/ui/renderingdialog.ui:317
+#: data/ui/renderingdialog.ui:315
 msgid ""
 "Use proxy files if they are available and the source asset media format is "
 "not officially supported.\n"
@@ -649,11 +649,11 @@ msgstr ""
 "Ta opcja jest dobrym kompromisem między jakością renderowanego obrazu "
 "a stabilnością."
 
-#: data/ui/renderingdialog.ui:332
+#: data/ui/renderingdialog.ui:330
 msgid "Always render from proxy files"
 msgstr "Renderowanie z plików pośrednich za każdym razem"
 
-#: data/ui/renderingdialog.ui:336
+#: data/ui/renderingdialog.ui:334
 msgid ""
 "Render all proxied clips from the proxy assets. There might be some quality "
 "loss during the rendering process."
@@ -661,11 +661,11 @@ msgstr ""
 "Renderowanie wszystkich klipów pośrednich z zasobów pośrednich. Podczas "
 "renderowania może wystąpić utrata jakości."
 
-#: data/ui/renderingdialog.ui:349
+#: data/ui/renderingdialog.ui:347
 msgid "Never render from proxy files"
 msgstr "Bez renderowania z plików pośrednich"
 
-#: data/ui/renderingdialog.ui:353
+#: data/ui/renderingdialog.ui:351
 msgid ""
 "Always use source assets for rendering. It is the best choice for the "
 "quality of the rendered video, but you might hit some bugs because of the "
@@ -677,56 +677,56 @@ msgstr ""
 "błędy z powodu użycia oficjalnie nieobsługiwanych formatów multimediów.\n"
 "<i>Należy używać na własne ryzyko.</i>"
 
-#: data/ui/renderingdialog.ui:400
+#: data/ui/renderingdialog.ui:398
 msgid "Channels:"
 msgstr "Kanały:"
 
-#: data/ui/renderingdialog.ui:432 data/ui/renderingdialog.ui:653
+#: data/ui/renderingdialog.ui:430 data/ui/renderingdialog.ui:651
 msgid "Advanced..."
 msgstr "Zaawansowane…"
 
-#: data/ui/renderingdialog.ui:472 data/ui/renderingdialog.ui:692
+#: data/ui/renderingdialog.ui:470 data/ui/renderingdialog.ui:690
 msgid "Codec:"
 msgstr "Kodek:"
 
-#: data/ui/renderingdialog.ui:509
+#: data/ui/renderingdialog.ui:507
 msgid "Sample rate:"
 msgstr "Częstotliwość próbki:"
 
-#: data/ui/renderingdialog.ui:527 pitivi/clip_properties/markers.py:46
+#: data/ui/renderingdialog.ui:525 pitivi/clip_properties/markers.py:46
 #: pitivi/effects.py:126 pitivi/effects.py:249
 msgid "Audio"
 msgstr "Dźwięk"
 
-#: data/ui/renderingdialog.ui:566
+#: data/ui/renderingdialog.ui:564
 msgid "Scale:"
 msgstr "Skalowanie:"
 
-#: data/ui/renderingdialog.ui:599
+#: data/ui/renderingdialog.ui:597
 msgid "Scale"
 msgstr "Skalowanie"
 
-#: data/ui/renderingdialog.ui:619
+#: data/ui/renderingdialog.ui:617
 msgid "Height"
 msgstr "Wysokość"
 
-#: data/ui/renderingdialog.ui:638
+#: data/ui/renderingdialog.ui:636
 msgid "Project Settings..."
 msgstr "Ustawienia projektu…"
 
-#: data/ui/renderingdialog.ui:718
+#: data/ui/renderingdialog.ui:716
 msgid "Framerate"
 msgstr "Liczba klatek na sekundę"
 
-#: data/ui/renderingdialog.ui:781
+#: data/ui/renderingdialog.ui:779
 msgid "Advanced"
 msgstr "Zaawansowane"
 
-#: data/ui/renderingdialog.ui:792
+#: data/ui/renderingdialog.ui:790
 msgid "Select file"
 msgstr "Wybierz plik"
 
-#: data/ui/renderingdialog.ui:809
+#: data/ui/renderingdialog.ui:807
 msgid "File path:"
 msgstr "Ścieżka do pliku:"
 
@@ -735,12 +735,12 @@ msgid "Rendering"
 msgstr "Renderowanie"
 
 #: data/ui/renderingprogress.ui:27 data/ui/trackerperspective.ui:19
-#: pitivi/viewer/viewer.py:839
+#: pitivi/viewer/viewer.py:844
 msgid "Pause"
 msgstr "Wstrzymaj"
 
 #: data/ui/renderingprogress.ui:55 data/ui/trackerperspective.ui:25
-#: pitivi/timeline/timeline.py:1915 pitivi/viewer/viewer.py:831
+#: pitivi/timeline/timeline.py:1921 pitivi/viewer/viewer.py:836
 msgid "Play"
 msgstr "Odtwórz"
 
@@ -826,11 +826,11 @@ msgstr "Wklej"
 msgid "Align clips based on their soundtracks"
 msgstr "Wyrównuje klipy na podstawie ich ścieżek dźwiękowych"
 
-#: data/ui/timelinetoolbar.ui:124
+#: data/ui/timelinetoolbar.ui:123
 msgid "Align"
 msgstr "Wyrównaj"
 
-#: data/ui/timelinetoolbar.ui:137
+#: data/ui/timelinetoolbar.ui:136
 msgid ""
 "Toggle gapless mode\n"
 "When enabled, adjacent clips automatically move to fill gaps."
@@ -839,7 +839,7 @@ msgstr ""
 "Kiedy jest włączone, sąsiednie klipy są automatycznie przesuwane, aby "
 "uzupełnić przerwy między nimi."
 
-#: data/ui/timelinetoolbar.ui:140
+#: data/ui/timelinetoolbar.ui:139
 msgid "Gapless mode"
 msgstr "Tryb odtwarzania ciągłego"
 
@@ -895,7 +895,7 @@ msgstr "Przechodzi o jedną klatkę do przodu"
 msgid "Tracking Algorithm"
 msgstr "Algorytm śledzenia"
 
-#: data/ui/trackerperspective.ui:402
+#: data/ui/trackerperspective.ui:401
 msgid "Track"
 msgstr "Śledź"
 
@@ -1210,8 +1210,8 @@ msgid "translator-credits"
 msgstr ""
 "Aleksander Łukasiewicz <aleksander@lukasiewicz.org>, 2009\n"
 "Tomasz Dominikowski <dominikowski@gmail.com>, 2009-2010\n"
-"Piotr Drąg <piotrdrag@gmail.com>, 2012-2022\n"
-"Aviary.pl <community-poland@mozilla.org>, 2009-2022"
+"Piotr Drąg <piotrdrag@gmail.com>, 2012-2023\n"
+"Aviary.pl <community-poland@mozilla.org>, 2009-2023"
 
 #: pitivi/dialogs/browseprojects.py:34
 msgid "Open Project…"
@@ -1263,11 +1263,11 @@ msgstr "Proszę podać jego nowe położenie:"
 msgid "%s files"
 msgstr "Pliki %s"
 
-#: pitivi/dialogs/missingasset.py:117 pitivi/medialibrary.py:884
+#: pitivi/dialogs/missingasset.py:117 pitivi/medialibrary.py:893
 msgid "All files"
 msgstr "Wszystkie pliki"
 
-#: pitivi/dialogs/prefs.py:61 pitivi/timeline/timeline.py:1747
+#: pitivi/dialogs/prefs.py:61 pitivi/timeline/timeline.py:1749
 msgid "Timeline"
 msgstr "Oś czasu"
 
@@ -1380,7 +1380,7 @@ msgstr ""
 "Można umieścić <a href='{doc_url}'>wtyczki</a> w <a "
 "href='{dir_url}'>katalogu wtyczek</a>."
 
-#: pitivi/editorperspective.py:205 pitivi/medialibrary.py:623
+#: pitivi/editorperspective.py:205 pitivi/medialibrary.py:632
 msgid "Media Library"
 msgstr "Kolekcja klipów"
 
@@ -1675,65 +1675,65 @@ msgid "<b>Resolution</b>: %d×%d"
 msgstr "<b>Rozdzielczość</b>: %d×%d"
 
 #: pitivi/mediafilespreviewer.py:271 pitivi/mediafilespreviewer.py:288
-#: pitivi/utils/ui.py:568
+#: pitivi/utils/ui.py:580
 #, python-format
 msgid "<b>Duration</b>: %s"
 msgstr "<b>Czas trwania</b>: %s"
 
-#: pitivi/mediafilespreviewer.py:461 pitivi/medialibrary.py:1207
+#: pitivi/mediafilespreviewer.py:461 pitivi/medialibrary.py:1216
 msgid "Error while analyzing a file"
 msgid_plural "Error while analyzing files"
 msgstr[0] "Błąd podczas analizowania pliku"
 msgstr[1] "Błąd podczas analizowania plików"
 msgstr[2] "Błąd podczas analizowania plików"
 
-#: pitivi/medialibrary.py:146
+#: pitivi/medialibrary.py:155
 msgid "Keep dialog open"
 msgstr "Bez zamykania okna"
 
-#: pitivi/medialibrary.py:148
+#: pitivi/medialibrary.py:157
 msgid "When importing files keep the dialog open"
 msgstr "Nie zamyka okna podczas importowania plików"
 
 #. Translators: Create optimized media for unsupported files.
-#: pitivi/medialibrary.py:154
+#: pitivi/medialibrary.py:163
 msgid "Optimize:"
 msgstr "Optymalizacja:"
 
-#: pitivi/medialibrary.py:158
+#: pitivi/medialibrary.py:167
 msgid "Unsupported assets"
 msgstr "Nieobsługiwane zasoby"
 
-#: pitivi/medialibrary.py:159
+#: pitivi/medialibrary.py:168
 msgid "All"
 msgstr "Wszystko"
 
-#: pitivi/medialibrary.py:240
+#: pitivi/medialibrary.py:249
 #, python-format
-msgid "Scale assets larger than %s×%s px."
-msgstr "Skalowanie zasobów większych niż %s×%s px."
+msgid "Scale down assets larger than %s×%s px."
+msgstr "Pomniejszanie zasobów większych niż %s×%s px."
 
-#: pitivi/medialibrary.py:524 pitivi/medialibrary.py:1084
+#: pitivi/medialibrary.py:533 pitivi/medialibrary.py:1093
 msgid "Unknown"
 msgstr "Nieznane"
 
-#: pitivi/medialibrary.py:630
+#: pitivi/medialibrary.py:639
 msgid "Remove the selected assets"
 msgstr "Usunięcie zaznaczonych zasobów"
 
-#: pitivi/medialibrary.py:637
+#: pitivi/medialibrary.py:646
 msgid "Insert selected assets at the end of the timeline"
 msgstr "Wstawienie zaznaczonych zasobów na koniec osi czasu"
 
-#: pitivi/medialibrary.py:853
+#: pitivi/medialibrary.py:862
 msgid "Select One or More Files"
 msgstr "Wybór jednego lub więcej plików"
 
-#: pitivi/medialibrary.py:857 pitivi/medialibrary.py:1281
+#: pitivi/medialibrary.py:866 pitivi/medialibrary.py:1290
 msgid "Add"
 msgstr "Dodaj"
 
-#: pitivi/medialibrary.py:872 pitivi/render.py:1491
+#: pitivi/medialibrary.py:881 pitivi/render.py:1491
 msgid "Supported file formats"
 msgstr "Obsługiwane formaty plików"
 
@@ -1743,7 +1743,7 @@ msgstr "Obsługiwane formaty plików"
 #. such as "31 seconds", "1 minute" or "1 hours, 14 minutes".
 #. In some languages, "About %s left" can be expressed roughly as
 #. "There remains approximatively %s" (to handle gender and plurals)
-#: pitivi/medialibrary.py:990
+#: pitivi/medialibrary.py:999
 #, python-format
 msgid "Transcoding %d asset: %d%% (About %s left)"
 msgid_plural "Transcoding %d assets: %d%% (About %s left)"
@@ -1751,7 +1751,7 @@ msgstr[0] "Transkodowanie %d zasobu: %d%% (pozostało około: %s)"
 msgstr[1] "Transkodowanie %d zasobów: %d%% (pozostało około: %s)"
 msgstr[2] "Transkodowanie %d zasobów: %d%% (pozostało około: %s)"
 
-#: pitivi/medialibrary.py:1096
+#: pitivi/medialibrary.py:1105
 msgid "View error"
 msgid_plural "View errors"
 msgstr[0] "Wyświetl błąd"
@@ -1759,7 +1759,7 @@ msgstr[1] "Wyświetl błędy"
 msgstr[2] "Wyświetl błędy"
 
 #. Translators: {0:d} is just like %d (integer number variable)
-#: pitivi/medialibrary.py:1098
+#: pitivi/medialibrary.py:1107
 #, python-brace-format
 msgid "An error occurred while importing."
 msgid_plural "{0:d} errors occurred while importing."
@@ -1767,35 +1767,35 @@ msgstr[0] "Wystąpił błąd podczas importowania."
 msgstr[1] "Wystąpiły {0:d} błędy podczas importowania."
 msgstr[2] "Wystąpiło {0:d} błędów podczas importowania."
 
-#: pitivi/medialibrary.py:1114
+#: pitivi/medialibrary.py:1123
 #, python-format
 msgid "The project settings have been set to match file '%s'"
 msgstr "Ustawienia projektu zostały ustawione tak, aby pasowały do pliku „%s”"
 
-#: pitivi/medialibrary.py:1210
+#: pitivi/medialibrary.py:1219
 msgid "The following file can not be used with Pitivi."
 msgid_plural "The following files can not be used with Pitivi."
 msgstr[0] "Następujący plik nie może być używany w programie Pitivi."
 msgstr[1] "Następujące pliki nie mogą być używane w programie Pitivi."
 msgstr[2] "Następujące pliki nie mogą być używane w programie Pitivi."
 
-#: pitivi/medialibrary.py:1240
+#: pitivi/medialibrary.py:1249
 msgid "Tag as:"
 msgstr "Nadanie etykiet:"
 
-#: pitivi/medialibrary.py:1278
+#: pitivi/medialibrary.py:1287
 msgid "Enter tag"
 msgstr "Wpisywanie etykiety"
 
-#: pitivi/medialibrary.py:1438
+#: pitivi/medialibrary.py:1447
 msgid "Open containing folder"
 msgstr "Otwórz katalog zawierający"
 
-#: pitivi/medialibrary.py:1445
+#: pitivi/medialibrary.py:1454
 msgid "Edit"
 msgstr "Modyfikuj"
 
-#: pitivi/medialibrary.py:1474
+#: pitivi/medialibrary.py:1483
 msgid "Do not use Optimised Proxy for selected asset"
 msgid_plural "Do not use Optimised Proxies for selected assets"
 msgstr[0] ""
@@ -1805,22 +1805,22 @@ msgstr[1] ""
 msgstr[2] ""
 "Bez używania zoptymalizowanych plików pośrednich dla zaznaczonych zasobów"
 
-#: pitivi/medialibrary.py:1485 pitivi/medialibrary.py:1507
-#: pitivi/medialibrary.py:1529
+#: pitivi/medialibrary.py:1494 pitivi/medialibrary.py:1516
+#: pitivi/medialibrary.py:1538
 msgid "Delete corresponding proxy file"
 msgid_plural "Delete corresponding proxy files"
 msgstr[0] "Usunięcie odpowiedniego pliku pośredniego"
 msgstr[1] "Usunięcie odpowiednich plików pośrednich"
 msgstr[2] "Usunięcie odpowiednich plików pośrednich"
 
-#: pitivi/medialibrary.py:1496
+#: pitivi/medialibrary.py:1505
 msgid "Do not use Proxy for selected asset"
 msgid_plural "Do not use Proxies for selected assets"
 msgstr[0] "Bez używania pliku pośredniego dla zaznaczonego zasobu"
 msgstr[1] "Bez używania plików pośrednich dla zaznaczonych zasobów"
 msgstr[2] "Bez używania plików pośrednich dla zaznaczonych zasobów"
 
-#: pitivi/medialibrary.py:1518
+#: pitivi/medialibrary.py:1527
 msgid "Do not use Scaled Proxy for selected asset"
 msgid_plural "Do not use Scaled Proxies for selected assets"
 msgstr[0] ""
@@ -1830,14 +1830,14 @@ msgstr[1] ""
 msgstr[2] ""
 "Bez używania przeskalowanych plików pośrednich dla zaznaczonych zasobów"
 
-#: pitivi/medialibrary.py:1540
+#: pitivi/medialibrary.py:1549
 msgid "Use Optimised Proxy for selected asset"
 msgid_plural "Use Optimised Proxies for selected assets"
 msgstr[0] "Użycie zoptymalizowanego pliku pośredniego dla zaznaczonego zasobu"
 msgstr[1] "Użycie zoptymalizowanych plików pośrednich dla zaznaczonych zasobów"
 msgstr[2] "Użycie zoptymalizowanych plików pośrednich dla zaznaczonych zasobów"
 
-#: pitivi/medialibrary.py:1550
+#: pitivi/medialibrary.py:1559
 msgid "Use Scaled Proxy for selected asset"
 msgid_plural "Use Scaled Proxies for selected assets"
 msgstr[0] "Użycie przeskalowanego pliku pośredniego dla zaznaczonego zasobu"
@@ -1937,7 +1937,7 @@ msgstr "Brak uprawnień do zapisu w tym katalogu."
 msgid "project"
 msgstr "projekt"
 
-#: pitivi/project.py:700
+#: pitivi/project.py:701
 msgid "Pitivi encoding profile"
 msgstr "Profil kodowania Pitivi"
 
@@ -2106,27 +2106,27 @@ msgstr "Usuń warstwę"
 msgid "Layer %d"
 msgstr "%d. warstwa"
 
-#: pitivi/timeline/ruler.py:239
+#: pitivi/timeline/ruler.py:242
 #, python-format
 msgid "Frame #%d"
 msgstr "%d. klatka"
 
-#: pitivi/timeline/timeline.py:86
+#: pitivi/timeline/timeline.py:85
 msgid "Markers magnetic by default"
 msgstr "Domyślnie znaczniki magnetyczne"
 
-#: pitivi/timeline/timeline.py:88
+#: pitivi/timeline/timeline.py:87
 msgid ""
 "Whether markers created on new clips will be snapping targets by default."
 msgstr ""
 "Czy znaczniki utworzone na nowych klipach będą domyślnie przyciągane do "
 "elementów docelowych."
 
-#: pitivi/timeline/timeline.py:98
+#: pitivi/timeline/timeline.py:97
 msgid "Snap distance"
 msgstr "Odległość przyciągania"
 
-#: pitivi/timeline/timeline.py:99
+#: pitivi/timeline/timeline.py:98
 msgid ""
 "Threshold (in pixels) at which two clips will snap together when dragging or "
 "trimming."
@@ -2134,11 +2134,11 @@ msgstr ""
 "Odległość w pikselach, na jakiej dwa klipy zostaną połączone podczas "
 "przeciągania lub przycinania."
 
-#: pitivi/timeline/timeline.py:111
+#: pitivi/timeline/timeline.py:110
 msgid "Image clip duration"
 msgstr "Czas trwania klipu obrazu"
 
-#: pitivi/timeline/timeline.py:113
+#: pitivi/timeline/timeline.py:112
 msgid ""
 "Default clip length (in milliseconds) of images when inserting on the "
 "timeline."
@@ -2146,130 +2146,130 @@ msgstr ""
 "Domyślna długość klipów (w milisekundach) obrazów podczas wstawiania do osi "
 "czasu."
 
-#: pitivi/timeline/timeline.py:124
+#: pitivi/timeline/timeline.py:123
 msgid "Left click also seeks"
 msgstr "Lewy przycisk także przewija"
 
-#: pitivi/timeline/timeline.py:126
+#: pitivi/timeline/timeline.py:125
 msgid "Whether left-clicking also seeks besides selecting and editing clips."
 msgstr ""
 "Czy kliknięcie lewym przyciskiem poza zaznaczaniem i modyfikowaniem klipów "
 "także przewija."
 
-#: pitivi/timeline/timeline.py:356 pitivi/timeline/timeline.py:1811
+#: pitivi/timeline/timeline.py:356 pitivi/timeline/timeline.py:1813
 msgid "Add layer"
 msgstr "Dodaj warstwę"
 
-#: pitivi/timeline/timeline.py:1754
+#: pitivi/timeline/timeline.py:1756
 msgid "Action Search"
 msgstr "Wyszukiwanie działań"
 
-#: pitivi/timeline/timeline.py:1762
+#: pitivi/timeline/timeline.py:1764
 msgid "Delete selected clips"
 msgstr "Usunięcie zaznaczonych klipów"
 
-#: pitivi/timeline/timeline.py:1769
+#: pitivi/timeline/timeline.py:1771
 msgid "Delete selected clips and shift following ones"
 msgstr "Usunięcie zaznaczonych klipów i przesunięcie następnych"
 
-#: pitivi/timeline/timeline.py:1776
+#: pitivi/timeline/timeline.py:1778
 msgid "Group selected clips together"
 msgstr "Umieszczenie zaznaczonych klipów w grupie"
 
-#: pitivi/timeline/timeline.py:1783
+#: pitivi/timeline/timeline.py:1785
 msgid "Ungroup selected clips"
 msgstr "Rozgrupowanie zaznaczonych klipów"
 
-#: pitivi/timeline/timeline.py:1790
+#: pitivi/timeline/timeline.py:1792
 msgid "Cut selected clips"
 msgstr "Wycięcie zaznaczonych klipów"
 
-#: pitivi/timeline/timeline.py:1797
+#: pitivi/timeline/timeline.py:1799
 msgid "Copy selected clips"
 msgstr "Skopiowanie zaznaczonych klipów"
 
-#: pitivi/timeline/timeline.py:1804
+#: pitivi/timeline/timeline.py:1806
 msgid "Paste selected clips"
 msgstr "Wklejenie zaznaczonych klipów"
 
-#: pitivi/timeline/timeline.py:1818
+#: pitivi/timeline/timeline.py:1820
 msgid "Seek to the first clip edge after the playhead"
 msgstr "Przewinięcie do krawędzi pierwszego klipu po głowicy"
 
-#: pitivi/timeline/timeline.py:1825
+#: pitivi/timeline/timeline.py:1827
 msgid "Seek to the first clip edge before the playhead"
 msgstr "Przewinięcie do krawędzi pierwszego klipu przed głowicą"
 
-#: pitivi/timeline/timeline.py:1832
+#: pitivi/timeline/timeline.py:1834
 msgid "Shift selected clips one frame forward"
 msgstr "Przesunięcie zaznaczonych klipów do przodu o jedną klatkę"
 
-#: pitivi/timeline/timeline.py:1839
+#: pitivi/timeline/timeline.py:1841
 msgid "Shift selected clips one frame backward"
 msgstr "Przesunięcie zaznaczonych klipów do tyłu o jedną klatkę"
 
-#: pitivi/timeline/timeline.py:1846
+#: pitivi/timeline/timeline.py:1848
 msgid "Snap selected clips to the next clip"
 msgstr "Przyciągnięcie zaznaczonych klipów do następnego klipu"
 
-#: pitivi/timeline/timeline.py:1853
+#: pitivi/timeline/timeline.py:1855
 msgid "Snap selected clips to the previous clip"
 msgstr "Przyciągnięcie zaznaczonych klipów do poprzedniego klipu"
 
-#: pitivi/timeline/timeline.py:1860
+#: pitivi/timeline/timeline.py:1862
 msgid "Add an effect to the selected clip"
 msgstr "Dodanie efektu do zaznaczonego klipu"
 
-#: pitivi/timeline/timeline.py:1873
+#: pitivi/timeline/timeline.py:1879
 msgid "Split the clip at the position"
 msgstr "Przecięcie klipu w pozycji"
 
-#: pitivi/timeline/timeline.py:1880
+#: pitivi/timeline/timeline.py:1886
 msgid "Add keyframe to the keyframe curve of selected clip"
 msgstr ""
 "Dodanie klatki kluczowej do krzywej klatek kluczowych zaznaczonego klipu"
 
-#: pitivi/timeline/timeline.py:1885
+#: pitivi/timeline/timeline.py:1891
 msgid "Timeline Navigation"
 msgstr "Nawigacja na osi czasu"
 
-#: pitivi/timeline/timeline.py:1893
+#: pitivi/timeline/timeline.py:1899
 msgid "Zoom in"
 msgstr "Przybliżenie"
 
-#: pitivi/timeline/timeline.py:1901
+#: pitivi/timeline/timeline.py:1907
 msgid "Zoom out"
 msgstr "Oddalenie"
 
-#: pitivi/timeline/timeline.py:1909
+#: pitivi/timeline/timeline.py:1915
 msgid "Adjust zoom to fit the project to the window"
 msgstr "Dopasowanie przybliżenia projektu do okna"
 
-#: pitivi/timeline/timeline.py:1922
+#: pitivi/timeline/timeline.py:1928
 msgid "Seek backward one frame"
 msgstr "Przewinięcie do tyłu o jedną klatkę"
 
-#: pitivi/timeline/timeline.py:1929
+#: pitivi/timeline/timeline.py:1935
 msgid "Seek forward one frame"
 msgstr "Przewinięcie naprzód o jedną klatkę"
 
-#: pitivi/timeline/timeline.py:1937
+#: pitivi/timeline/timeline.py:1943
 msgid "Seek backward one second"
 msgstr "Przewinięcie do tyłu o jedną sekundę"
 
-#: pitivi/timeline/timeline.py:1945
+#: pitivi/timeline/timeline.py:1951
 msgid "Seek forward one second"
 msgstr "Przewinięcie naprzód o jedną sekundę"
 
-#: pitivi/timeline/timeline.py:1953
+#: pitivi/timeline/timeline.py:1959
 msgid "Add a marker"
 msgstr "Dodanie znacznika"
 
-#: pitivi/timeline/timeline.py:1960
+#: pitivi/timeline/timeline.py:1966
 msgid "Seek to the first marker before the playhead"
 msgstr "Przewinięcie do pierwszego znacznika przed głowicą"
 
-#: pitivi/timeline/timeline.py:1967
+#: pitivi/timeline/timeline.py:1973
 msgid "Seek to the first marker after the playhead"
 msgstr "Przewinięcie do pierwszego znacznika po głowicy"
 
@@ -2368,52 +2368,52 @@ msgid "Max CPU usage dedicated to transcoding"
 msgstr "Maksymalne użycie procesora przez transkodowanie"
 
 #. Translators: 'fps' is for 'frames per second'
-#: pitivi/utils/ui.py:390
+#: pitivi/utils/ui.py:402
 msgid "{0:s} fps"
 msgstr "{0:s} FPS"
 
-#: pitivi/utils/ui.py:410
+#: pitivi/utils/ui.py:422
 #, python-brace-format
 msgid "{0:n} kHz"
 msgstr "{0:n} kHz"
 
-#: pitivi/utils/ui.py:419
+#: pitivi/utils/ui.py:431
 msgid "Mono"
 msgstr "Mono"
 
-#: pitivi/utils/ui.py:420
+#: pitivi/utils/ui.py:432
 msgid "Stereo"
 msgstr "Stereo"
 
-#: pitivi/utils/ui.py:421
+#: pitivi/utils/ui.py:433
 msgid "6 (5.1)"
 msgstr "6 (5.1)"
 
-#: pitivi/utils/ui.py:422
+#: pitivi/utils/ui.py:434
 msgid "8 (7.1)"
 msgstr "8 (7.1)"
 
-#: pitivi/utils/ui.py:547
+#: pitivi/utils/ui.py:559
 #, python-format
 msgid "<b>Duration:</b> %s"
 msgstr "<b>Czas trwania:</b> %s"
 
-#: pitivi/utils/ui.py:550
+#: pitivi/utils/ui.py:562
 #, python-format
 msgid "<b>Proxy creation progress:</b> %d%%"
 msgstr "<b>Postęp tworzenia plików pośrednich:</b> %d%%"
 
-#: pitivi/utils/ui.py:564
+#: pitivi/utils/ui.py:576
 #, python-format
 msgid "<b>Path</b>: %s"
 msgstr "<b>Ścieżka</b>: %s"
 
-#: pitivi/utils/ui.py:574
+#: pitivi/utils/ui.py:586
 #, python-format
 msgid "<b>Size</b>: %s"
 msgstr "<b>Rozmiar</b>: %s"
 
-#: pitivi/utils/ui.py:610
+#: pitivi/utils/ui.py:622
 #, python-format
 msgid "<b>Audio:</b> %d channel at %d <i>Hz</i> (%d <i>bits</i>)"
 msgid_plural "<b>Audio:</b> %d channels at %d <i>Hz</i> (%d <i>bits</i>)"
@@ -2423,17 +2423,17 @@ msgstr[1] ""
 msgstr[2] ""
 "<b>Dźwięk:</b> %d kanałów o częstotliwości %d <i>Hz</i> (%d <i>b</i>)"
 
-#: pitivi/utils/ui.py:622
+#: pitivi/utils/ui.py:634
 #, python-format
 msgid "<b>Video:</b> %d×%d <i>pixels</i> at %s <i>fps</i>"
 msgstr "<b>Wideo:</b> %d×%d <i>px</i> o %s <i>FPS</i>"
 
-#: pitivi/utils/ui.py:625
+#: pitivi/utils/ui.py:637
 #, python-format
 msgid "<b>Image:</b> %d×%d <i>pixels</i>"
 msgstr "<b>Obraz:</b> %d×%d <i>px</i>"
 
-#: pitivi/utils/ui.py:679 pitivi/utils/ui.py:706 pitivi/utils/ui.py:730
+#: pitivi/utils/ui.py:691 pitivi/utils/ui.py:718 pitivi/utils/ui.py:742
 #, python-format
 msgid "%d hour"
 msgid_plural "%d hours"
@@ -2441,7 +2441,7 @@ msgstr[0] "%d godzina"
 msgstr[1] "%d godziny"
 msgstr[2] "%d godzin"
 
-#: pitivi/utils/ui.py:682 pitivi/utils/ui.py:709 pitivi/utils/ui.py:733
+#: pitivi/utils/ui.py:694 pitivi/utils/ui.py:721 pitivi/utils/ui.py:745
 #, python-format
 msgid "%d minute"
 msgid_plural "%d minutes"
@@ -2449,7 +2449,7 @@ msgstr[0] "%d minuta"
 msgstr[1] "%d minuty"
 msgstr[2] "%d minut"
 
-#: pitivi/utils/ui.py:685 pitivi/utils/ui.py:712 pitivi/utils/ui.py:736
+#: pitivi/utils/ui.py:697 pitivi/utils/ui.py:724 pitivi/utils/ui.py:748
 #, python-format
 msgid "%d second"
 msgid_plural "%d seconds"
@@ -2457,7 +2457,7 @@ msgstr[0] "%d sekunda"
 msgstr[1] "%d sekundy"
 msgstr[2] "%d sekund"
 
-#: pitivi/utils/ui.py:704
+#: pitivi/utils/ui.py:716
 #, python-format
 msgid "%d day"
 msgid_plural "%d days"
@@ -2465,27 +2465,27 @@ msgstr[0] "%d dzień"
 msgstr[1] "%d dni"
 msgstr[2] "%d dni"
 
-#: pitivi/utils/ui.py:745
+#: pitivi/utils/ui.py:757
 msgid "Just now"
 msgstr "Przed chwilą"
 
-#: pitivi/utils/ui.py:748
+#: pitivi/utils/ui.py:760
 msgid "An hour ago"
 msgstr "Godzina temu"
 
-#: pitivi/utils/ui.py:751
+#: pitivi/utils/ui.py:763
 msgid "Today"
 msgstr "Dzisiaj"
 
-#: pitivi/utils/ui.py:754
+#: pitivi/utils/ui.py:766
 msgid "Yesterday"
 msgstr "Wczoraj"
 
-#: pitivi/utils/ui.py:763
+#: pitivi/utils/ui.py:775
 msgid "About a year ago"
 msgstr "Około rok temu"
 
-#: pitivi/utils/ui.py:766
+#: pitivi/utils/ui.py:778
 #, python-format
 msgid "About %d year ago"
 msgid_plural "About %d years ago"
@@ -2550,27 +2550,27 @@ msgstr "Wskazówki kompozycji"
 msgid "Currently playing"
 msgstr "Obecnie odtwarzane"
 
-#: pitivi/viewer/viewer.py:299
+#: pitivi/viewer/viewer.py:304
 msgid "Select composition guidelines"
 msgstr "Wybiera wskazówki kompozycji"
 
-#: pitivi/viewer/viewer.py:307
+#: pitivi/viewer/viewer.py:312
 msgid "Go to the beginning of the timeline"
 msgstr "Przechodzi na początek osi czasu"
 
-#: pitivi/viewer/viewer.py:316
+#: pitivi/viewer/viewer.py:321
 msgid "Go back one second"
 msgstr "Przechodzi do tyłu o jedną sekundę"
 
-#: pitivi/viewer/viewer.py:329
+#: pitivi/viewer/viewer.py:334
 msgid "Go forward one second"
 msgstr "Przechodzi naprzód o jedną sekundę"
 
-#: pitivi/viewer/viewer.py:338
+#: pitivi/viewer/viewer.py:343
 msgid "Go to the end of the timeline"
 msgstr "Przechodzi na koniec osi czasu"
 
-#: pitivi/viewer/viewer.py:345
+#: pitivi/viewer/viewer.py:350
 msgid ""
 "Enter a timecode or frame number\n"
 "and press \"Enter\" to go to that position"
@@ -2578,7 +2578,7 @@ msgstr ""
 "Proszę wprowadzić kod czasowy lub numer klatki\n"
 "i nacisnąć klawisz „Enter”, aby przejść do tej pozycji"
 
-#: pitivi/viewer/viewer.py:356
+#: pitivi/viewer/viewer.py:361
 msgid ""
 "Detach the viewer\n"
 "You can re-attach it by closing the newly created window."
@@ -2586,23 +2586,23 @@ msgstr ""
 "Odłącza przeglądarkę\n"
 "Można ją ponownie podłączyć zamykając nowo utworzone okno."
 
-#: pitivi/viewer/viewer.py:383
+#: pitivi/viewer/viewer.py:388
 msgid "Viewer"
 msgstr "Przeglądarka"
 
-#: pitivi/viewer/viewer.py:391
+#: pitivi/viewer/viewer.py:396
 msgid "Toggle the currently selected composition guidelines"
 msgstr "Przełączenie obecnie wybranych wskazówek kompozycji"
 
-#: pitivi/viewer/viewer.py:399
+#: pitivi/viewer/viewer.py:404
 msgid "Toggle safe areas on viewer"
 msgstr "Przełączenie bezpiecznych obszarów w przeglądarce"
 
-#: pitivi/viewer/viewer.py:541 pitivi/viewer/viewer.py:600
+#: pitivi/viewer/viewer.py:546 pitivi/viewer/viewer.py:605
 msgid "Show this window in fullscreen"
 msgstr "Wyświetlanie tego okno na pełnym ekranie"
 
-#: pitivi/viewer/viewer.py:597
+#: pitivi/viewer/viewer.py:602
 msgid "Exit fullscreen mode"
 msgstr "Zakończ tryb pełnoekranowy"
 
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 72906ff..a3a1110 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -1,5 +1,5 @@
 # Brazilian Portuguese translation of pitivi.
-# Copyright (C) 2021 The Pitivi's copyright holder
+# Copyright (C) 2022 The Pitivi's copyright holder
 # This file is distributed under the same license as the pitivi package.
 # Raphael Higino <In memoriam>, 2006.
 # Flamarion Jorge <jorge.flamarion@gmail.com>, 2009.
@@ -15,14 +15,14 @@
 # Bruno Lopes da Silva <brunolopesbldsb@gmail.com>, 2018.
 # Rodrigo Costa <rodrigo.costa@outlook.it>, 2021.
 # Enrico Nicoletto <liverig@gmail.com>, 2013-2014, 2017-2018, 2020-2021.
-# Rafael Fontenelle <rafaelff@gnome.org>, 2013-2021.
+# Rafael Fontenelle <rafaelff@gnome.org>, 2013-2022.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: pitivi\n"
 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/pitivi/issues\n"
-"POT-Creation-Date: 2021-08-28 11:32+0000\n"
-"PO-Revision-Date: 2021-09-02 21:39-0300\n"
+"POT-Creation-Date: 2022-05-07 22:53+0000\n"
+"PO-Revision-Date: 2022-06-27 10:56-0300\n"
 "Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
 "Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
 "Language: pt_BR\n"
@@ -137,10 +137,51 @@ msgstr "<b><big>Realizando autoalinhamento</big></b>"
 msgid "Estimating..."
 msgstr "Estimando…"
 
-#: data/ui/clipcolor.ui:21
+#: data/ui/beatdetection.ui:18
+msgid "Detect beats"
+msgstr "Detectar batidas"
+
+#: data/ui/beatdetection.ui:35
+msgid "Clear detected beats"
+msgstr "Limpa as batidas detectadas"
+
+#: data/ui/beatdetection.ui:66
+#| msgid "Project Settings..."
+msgid "Detecting..."
+msgstr "Detectando…"
+
+#: data/ui/clipcolor.ui:21 data/ui/customwidgets/pitivi:object_effect.ui:37
 msgid "Pick the clip color"
 msgstr "Escolher uma cor do clipe"
 
+#: data/ui/clipcompositing.ui:42
+msgid "Fade-in:"
+msgstr "Fade-in:"
+
+#: data/ui/clipcompositing.ui:54 data/ui/clipcompositing.ui:122
+#| msgid "%d second"
+#| msgid_plural "%d seconds"
+msgid "seconds"
+msgstr "segundos"
+
+#: data/ui/clipcompositing.ui:97
+msgid "Fade-out:"
+msgstr "Fade-out:"
+
+#: data/ui/clipcompositing.ui:150
+#| msgid "Reset all"
+msgid "Reset fade-in"
+msgstr "Redefinir fade-in"
+
+#: data/ui/clipcompositing.ui:166
+#| msgid "Reset all"
+msgid "Reset fade-out"
+msgstr "Redefinir fade-out"
+
+#: data/ui/clipcompositing.ui:181
+msgid "Blending:"
+msgstr "Combinação:"
+
 #: data/ui/clipmediaprops.ui:8
 msgid "Clip Properties"
 msgstr "Propriedades do clipe"
@@ -318,12 +359,17 @@ msgstr "alfa mín."
 msgid "max alpha"
 msgstr "alfa máx."
 
+#: data/ui/customwidgets/pitivi:object_effect.ui:19
+#| msgid "Color"
+msgid "Color:"
+msgstr "Cor:"
+
 #: data/ui/effectslibrary.ui:16
 msgid "Favorites"
 msgstr "Favoritos"
 
 #: data/ui/effectslibrary.ui:43 data/ui/medialibrary.ui:165
-#: pitivi/transitions.py:74
+#: pitivi/transitions.py:69
 msgid "Search..."
 msgstr "Pesquisar…"
 
@@ -395,13 +441,13 @@ msgid "Edit the project settings"
 msgstr "Edita as configurações do projeto"
 
 #: data/ui/mainmenubutton.ui:119 data/ui/projectsettings.ui:61
-#: pitivi/medialibrary.py:173 pitivi/medialibrary.py:536
-#: pitivi/dialogs/prefs.py:339
+#: pitivi/dialogs/prefs.py:340 pitivi/medialibrary.py:173
+#: pitivi/medialibrary.py:538
 msgid "Project Settings"
 msgstr "Configurações do projeto"
 
 #: data/ui/mainmenubutton.ui:148 data/ui/preferences.ui:7
-#: pitivi/mainwindow.py:216
+#: pitivi/mainwindow.py:217
 msgid "Preferences"
 msgstr "Preferências"
 
@@ -507,10 +553,10 @@ msgid "Some changes will not take effect until you restart Pitivi"
 msgstr "Algumas alterações não terão efeito até que você reinicie o Pitivi"
 
 #: data/ui/projectsettings.ui:78 data/ui/renderingprogress.ui:41
+#: pitivi/dialogs/browseprojects.py:38 pitivi/dialogs/missingasset.py:46
 #: pitivi/editorperspective.py:544 pitivi/editorperspective.py:679
 #: pitivi/editorperspective.py:727 pitivi/editorperspective.py:780
-#: pitivi/greeterperspective.py:241 pitivi/medialibrary.py:854
-#: pitivi/dialogs/browseprojects.py:38 pitivi/dialogs/missingasset.py:46
+#: pitivi/greeterperspective.py:241 pitivi/medialibrary.py:856
 msgid "Cancel"
 msgstr "Cancelar"
 
@@ -541,7 +587,7 @@ msgstr "Taxa de quadros:"
 
 #. The title of the section with the video settings
 #: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:752
-#: pitivi/clipproperties.py:1285 pitivi/effects.py:246
+#: pitivi/clip_properties/markers.py:45 pitivi/effects.py:249
 msgid "Video"
 msgstr "Vídeo"
 
@@ -595,7 +641,7 @@ msgstr "Renderizar"
 msgid "Quality:"
 msgstr "Qualidade:"
 
-#: data/ui/renderingdialog.ui:179 pitivi/clipproperties.py:1288
+#: data/ui/renderingdialog.ui:179 pitivi/clip_properties/markers.py:48
 #: pitivi/render.py:74
 msgid "Custom"
 msgstr "Personalizado"
@@ -666,8 +712,8 @@ msgstr "Codec:"
 msgid "Sample rate:"
 msgstr "Taxa da amostra:"
 
-#: data/ui/renderingdialog.ui:527 pitivi/clipproperties.py:1286
-#: pitivi/effects.py:122 pitivi/effects.py:246
+#: data/ui/renderingdialog.ui:527 pitivi/clip_properties/markers.py:46
+#: pitivi/effects.py:126 pitivi/effects.py:249
 msgid "Audio"
 msgstr "Áudio"
 
@@ -707,12 +753,13 @@ msgstr "Caminho de arquivo:"
 msgid "Rendering"
 msgstr "Renderizando"
 
-#: data/ui/renderingprogress.ui:27 pitivi/viewer/viewer.py:774
+#: data/ui/renderingprogress.ui:27 data/ui/trackerperspective.ui:19
+#: pitivi/viewer/viewer.py:839
 msgid "Pause"
 msgstr "Pausar"
 
-#: data/ui/renderingprogress.ui:55 pitivi/viewer/viewer.py:766
-#: pitivi/timeline/timeline.py:1894
+#: data/ui/renderingprogress.ui:55 data/ui/trackerperspective.ui:25
+#: pitivi/timeline/timeline.py:1915 pitivi/viewer/viewer.py:831
 msgid "Play"
 msgstr "Reproduzir"
 
@@ -748,7 +795,7 @@ msgstr "Dividir"
 
 #: data/ui/timelinetoolbar.ui:31
 msgid "Delete clips"
-msgstr "Excluir clipes"
+msgstr "Exclui clipes"
 
 #: data/ui/timelinetoolbar.ui:33
 msgid "Delete"
@@ -771,30 +818,40 @@ msgid "Ungroup"
 msgstr "Desagrupar"
 
 #: data/ui/timelinetoolbar.ui:76
-msgid "Copy clips"
-msgstr "Copiar clipes"
+#| msgid "Copy clips"
+msgid "Cut clips"
+msgstr "Corta clipes"
 
 #: data/ui/timelinetoolbar.ui:78
+#| msgid "Custom"
+msgid "Cut"
+msgstr "Cortar"
+
+#: data/ui/timelinetoolbar.ui:91
+msgid "Copy clips"
+msgstr "Copia clipes"
+
+#: data/ui/timelinetoolbar.ui:93
 msgid "Copy"
 msgstr "Copiar"
 
-#: data/ui/timelinetoolbar.ui:91
+#: data/ui/timelinetoolbar.ui:106
 msgid "Paste clips"
-msgstr "Colar clipes"
+msgstr "Cola clipes"
 
-#: data/ui/timelinetoolbar.ui:93
+#: data/ui/timelinetoolbar.ui:108
 msgid "Paste"
 msgstr "Colar"
 
-#: data/ui/timelinetoolbar.ui:106
+#: data/ui/timelinetoolbar.ui:121
 msgid "Align clips based on their soundtracks"
 msgstr "Alinhar clipes com base em suas faixas de áudio"
 
-#: data/ui/timelinetoolbar.ui:109
+#: data/ui/timelinetoolbar.ui:124
 msgid "Align"
 msgstr "Alinhar"
 
-#: data/ui/timelinetoolbar.ui:122
+#: data/ui/timelinetoolbar.ui:137
 msgid ""
 "Toggle gapless mode\n"
 "When enabled, adjacent clips automatically move to fill gaps."
@@ -803,7 +860,7 @@ msgstr ""
 "Quando habilitado, clipes adjacentes movem automaticamente para preencher os "
 "espaços."
 
-#: data/ui/timelinetoolbar.ui:125
+#: data/ui/timelinetoolbar.ui:140
 msgid "Gapless mode"
 msgstr "Modo sem espaçamento"
 
@@ -839,50 +896,76 @@ msgstr "Horizontal:"
 msgid "Vertical:"
 msgstr "Vertical:"
 
+#: data/ui/trackerperspective.ui:66
+msgid "Tracked Objects:"
+msgstr "Objetos rastreados:"
+
+#: data/ui/trackerperspective.ui:195
+msgid "Drag&drop on the video to delimit an object to be tracked."
+msgstr "Arraste & solte o vídeo para delimitar um objeto a ser rastreado."
+
+#: data/ui/trackerperspective.ui:288
+#| msgid "Seek backward one frame"
+msgid "Go back one frame"
+msgstr "Volta um quadro"
+
+#: data/ui/trackerperspective.ui:318
+#| msgid "Seek forward one frame"
+msgid "Go forward one frame"
+msgstr "Avança um quadro"
+
+#: data/ui/trackerperspective.ui:374
+msgid "Tracking Algorithm"
+msgstr "Algoritmo de rastreamento"
+
+#: data/ui/trackerperspective.ui:402
+msgid "Track"
+msgstr "Rastrear"
+
 #: pitivi/action_search_bar.py:46
 msgid "Search Action"
 msgstr "Pesquisar ação"
 
-#: pitivi/application.py:158
+#: pitivi/application.py:160
 msgid "General"
 msgstr "Geral"
 
-#: pitivi/application.py:165
+#: pitivi/application.py:167
 msgid "Undo the most recent action"
 msgstr "Desfazer a ação mais recente"
 
-#: pitivi/application.py:171
+#: pitivi/application.py:173
 msgid "Redo the most recent action"
 msgstr "Refazer a ação mais recente"
 
-#: pitivi/application.py:176
+#: pitivi/application.py:178
 msgid "Quit"
 msgstr "Sair"
 
-#: pitivi/application.py:184
+#: pitivi/application.py:186
 msgid "Show the Shortcuts Window"
 msgstr "Exibir a janela de atalhos"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:113
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:115
 #, python-format
 msgid "- %s not found on the system"
 msgstr "- %s não encontrado no sistema"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:116
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:118
 #, python-format
 msgid "- %s version %s is installed but Pitivi requires at least version %s"
 msgstr "- %s versão %s está instalada, mas Pitivi requer pelo menos %s"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:191
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:193
 #, python-format
 msgid "- %s GStreamer plug-in not found on the system"
 msgstr "- plug-in de GStreamer %s não encontrado no sistema"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:194
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:196
 #, python-format
 msgid ""
 "- %s Gstreamer plug-in version %s is installed but Pitivi requires at least "
@@ -891,16 +974,23 @@ msgstr ""
 "- plug-in de GStreamer %s versão %s está instalada, mas Pitivi requer pelo "
 "menos a versão %s"
 
-#: pitivi/check.py:303
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:224
+#, python-format
+#| msgid "- %s GStreamer plug-in not found on the system"
+msgid "- %s GStreamer element not found on the system"
+msgstr "- elemento de GStreamer %s não encontrado no sistema"
+
+#: pitivi/check.py:332
 msgid "ERROR - The following hard dependencies are unmet:"
 msgstr "ERRO — As seguintes dependências rígidas não foram correspondidas:"
 
 # Confirmar tradução para soft
-#: pitivi/check.py:311
+#: pitivi/check.py:340
 msgid "Missing soft dependency:"
 msgstr "Dependências leves faltantes:"
 
-#: pitivi/check.py:318
+#: pitivi/check.py:347
 msgid ""
 "ERROR — Could not create a Gst.Fraction — this means gst-python is not "
 "installed correctly."
@@ -908,7 +998,7 @@ msgstr ""
 "ERRO — Não foi possível criar um Gst.Fraction — isso significa que gst-"
 "python não está instalado corretamente."
 
-#: pitivi/check.py:323
+#: pitivi/check.py:352
 msgid ""
 "Could not create audio output sink. Make sure you have a valid one "
 "(pulsesink, alsasink or osssink)."
@@ -916,38 +1006,38 @@ msgstr ""
 "Não foi possível criar um assento de saída de áudio. Certifique-se de que "
 "você tem uma válida (pulsesink, alsasink ou osssink)."
 
-#: pitivi/check.py:328
+#: pitivi/check.py:357
 msgid ""
 "Could not create video output sink. Make sure you have a gtksink available."
 msgstr ""
 "Não foi possível criar uma assento de saída de áudio. Certifique-se de que "
 "um gtksink está disponível."
 
-#: pitivi/check.py:343
+#: pitivi/check.py:372
 #, python-format
 msgid "Could not import '%s'. Make sure you have it available."
 msgstr ""
 "Não foi possível importar “%s”. Certifique-se de que ele está disponível."
 
-#: pitivi/check.py:357
+#: pitivi/check.py:386
 msgid "Could not import 'gi'. Make sure you have pygobject available."
 msgstr ""
 "Não foi possível importar “gi”. Certifique-se de que pyobject está "
 "disponível."
 
-#: pitivi/check.py:456
+#: pitivi/check.py:485
 msgid "enables sound notifications when rendering is complete"
 msgstr "habilita notificações de som quando a renderização é finalizada"
 
-#: pitivi/check.py:458
+#: pitivi/check.py:487
 msgid "enables visual notifications when rendering is complete"
 msgstr "habilita notificações visuais quando a renderização é finalizada"
 
-#: pitivi/check.py:460
+#: pitivi/check.py:489
 msgid "additional multimedia codecs through the GStreamer Libav library"
 msgstr "codecs multimídia adicionais através da biblioteca GStreamer Libav"
 
-#: pitivi/check.py:462
+#: pitivi/check.py:491
 msgid ""
 "enables a watchdog in the GStreamer pipeline. Use to detect errors happening "
 "in GStreamer and recover from them"
@@ -955,12 +1045,20 @@ msgstr ""
 "habilita um watchdog no fluxo do GStreamer. Use para detectar erros "
 "ocorrendo no GStreamer e se recupere deles"
 
+#: pitivi/check.py:495
+msgid "enables object tracking"
+msgstr "habilita rastreamento de objetos"
+
+#: pitivi/check.py:496
+msgid "enables beat detection functionality"
+msgstr "habilita funcionalidade de detecção de batidas"
+
 #. Translators: This is the default text of a title clip.
-#: pitivi/clipproperties.py:65
+#: pitivi/clipproperties.py:69
 msgid "Title Clip"
 msgstr "Clipe título"
 
-#: pitivi/clipproperties.py:152
+#: pitivi/clipproperties.py:162
 msgid ""
 "Select a clip on the timeline to configure its properties and effects or "
 "create a new clip:"
@@ -968,37 +1066,37 @@ msgstr ""
 "Selecione um clipe na linha de tempo para configurar suas propriedades e "
 "efeitos ou crie um novo clipe:"
 
-#: pitivi/clipproperties.py:158
+#: pitivi/clipproperties.py:168
 msgid "Create a title clip"
 msgstr "Criar um clipe título"
 
-#: pitivi/clipproperties.py:163
+#: pitivi/clipproperties.py:173
 msgid "Create a color clip"
 msgstr "Criar um clipe de cor"
 
-#: pitivi/clipproperties.py:269 pitivi/effects.py:118
+#: pitivi/clipproperties.py:276 pitivi/effects.py:122
 msgid "Time"
 msgstr "Hora"
 
-#: pitivi/clipproperties.py:312
+#: pitivi/clipproperties.py:319
 msgid "Speed"
 msgstr "Velocidade"
 
-#: pitivi/clipproperties.py:327 pitivi/utils/widgets.py:800
+#: pitivi/clipproperties.py:334 pitivi/utils/widgets.py:800
 #, python-format
 msgid "%(preference_label)s:"
 msgstr "%(preference_label)s:"
 
-#: pitivi/clipproperties.py:330 pitivi/dialogs/prefs.py:285
+#: pitivi/clipproperties.py:337 pitivi/dialogs/prefs.py:286
 #: pitivi/utils/widgets.py:976
 msgid "Reset to default value"
 msgstr "Restaurar o valor padrão"
 
-#: pitivi/clipproperties.py:565
+#: pitivi/clipproperties.py:572
 msgid "Effects"
 msgstr "Efeitos"
 
-#: pitivi/clipproperties.py:581
+#: pitivi/clipproperties.py:590
 msgid ""
 "To apply an effect to the clip, drag it from the Effect Library or use the "
 "button below."
@@ -1006,53 +1104,71 @@ msgstr ""
 "Para aplicar um efeito ao clipe, arraste-o da biblioteca de efeitos ou use o "
 "botão abaixo."
 
-#: pitivi/clipproperties.py:589
+#: pitivi/clipproperties.py:598
 msgid "Add Effect"
 msgstr "Adicionar efeitos"
 
-#: pitivi/clipproperties.py:913
+# Notas:
+# Adicionar nota
+#
+# Caminhos:
+# pitivi/clipproperties.py:608
+#: pitivi/clipproperties.py:608
+msgid "Cover Object"
+msgstr "Cobrir objeto"
+
+#: pitivi/clipproperties.py:938
 msgid "Transformation"
 msgstr "Transformação"
 
-#: pitivi/clipproperties.py:1042
+#: pitivi/clipproperties.py:1067
 msgid "Show keyframes"
 msgstr "Mostrar quadros chave"
 
-#: pitivi/clipproperties.py:1045
+#: pitivi/clipproperties.py:1070
 msgid "Activate keyframes"
 msgstr "Ativar quadros chave"
 
-#: pitivi/clipproperties.py:1050
+#: pitivi/clipproperties.py:1075
 msgid "Hide keyframes"
 msgstr "Ocultar quadros chave"
 
-#: pitivi/clipproperties.py:1287
+#: pitivi/clip_properties/color.py:53 plugins/console/console.py:125
+msgid "Color"
+msgstr "Cor"
+
+#: pitivi/clip_properties/compositing.py:57 pitivi/effects.py:81
+msgid "Compositing"
+msgstr "Composição"
+
+#. Translators: These are compositing operators.
+#. See https://www.cairographics.org/operators/ for explanation and
+#. visualizations.
+#: pitivi/clip_properties/compositing.py:80
+msgid "Source"
+msgstr "Fonte"
+
+#: pitivi/clip_properties/compositing.py:81
+msgid "Over"
+msgstr "Sobre"
+
+#: pitivi/clip_properties/markers.py:47
 msgid "Text"
 msgstr "Texto"
 
-#: pitivi/clipproperties.py:1296
-#| msgid "Clip Properties"
+#: pitivi/clip_properties/markers.py:64
 msgid "Clip markers"
 msgstr "Marcadores de clipe"
 
-#: pitivi/clipproperties.py:1349
+#: pitivi/clip_properties/markers.py:125
 msgid "Magnetic"
 msgstr "Magnético"
 
-#: pitivi/clipproperties.py:1383
-#| msgid "Markers"
-msgid "No markers"
-msgstr "Sem marcadores"
-
-#: pitivi/clip_properties/color.py:53 plugins/console/console.py:125
-msgid "Color"
-msgstr "Cor"
-
-#: pitivi/clip_properties/title.py:43
+#: pitivi/clip_properties/title.py:47
 msgid "Title clip duration"
 msgstr "Duração do clipe de título"
 
-#: pitivi/clip_properties/title.py:45
+#: pitivi/clip_properties/title.py:49
 msgid ""
 "Default clip length (in milliseconds) of titles when inserting on the "
 "timeline."
@@ -1060,39 +1176,249 @@ msgstr ""
 "Comprimento padrão do clipe (em milissegundos) de títulos quando inserida na "
 "linha de tempo."
 
-#: pitivi/clip_properties/title.py:59
+#: pitivi/clip_properties/title.py:63
 msgid "Title"
 msgstr "Título"
 
-#: pitivi/clip_properties/title.py:111 pitivi/clip_properties/title.py:118
+#. TODO: Remove when we upgrade pylint https://github.com/PyCQA/pylint/issues/4962
+#. pylint: disable=superfluous-parens
+#: pitivi/clip_properties/title.py:122 pitivi/clip_properties/title.py:129
 msgid "Absolute"
 msgstr "Absoluto"
 
-#: pitivi/clip_properties/title.py:112
+#: pitivi/clip_properties/title.py:123
 msgid "Top"
 msgstr "Cima"
 
-#: pitivi/clip_properties/title.py:113 pitivi/clip_properties/title.py:120
+#: pitivi/clip_properties/title.py:124 pitivi/clip_properties/title.py:131
 msgid "Center"
 msgstr "Centro"
 
-#: pitivi/clip_properties/title.py:114
+#: pitivi/clip_properties/title.py:125
 msgid "Bottom"
 msgstr "Baixo"
 
-#: pitivi/clip_properties/title.py:115
+#: pitivi/clip_properties/title.py:126
 msgid "Baseline"
 msgstr "Linha de base"
 
-#: pitivi/clip_properties/title.py:119
+#: pitivi/clip_properties/title.py:130
 msgid "Left"
 msgstr "Esquerda"
 
-#: pitivi/clip_properties/title.py:121
+#: pitivi/clip_properties/title.py:132
 msgid "Right"
 msgstr "Direita"
 
-#: pitivi/editorperspective.py:205 pitivi/medialibrary.py:621
+#: pitivi/dialogs/about.py:45
+#, python-format
+msgid "Version %s"
+msgstr "Versão %s"
+
+#: pitivi/dialogs/about.py:47
+#, python-format
+msgid "Version %(cur_ver)s — %(new_ver)s is available"
+msgstr "Versão %(cur_ver)s — %(new_ver)s está disponível"
+
+#: pitivi/dialogs/about.py:58
+msgid "Current maintainers:"
+msgstr "Mantenedores atuais:"
+
+#: pitivi/dialogs/about.py:63
+msgid "Past maintainers:"
+msgstr "Mantenedores antigos:"
+
+#: pitivi/dialogs/about.py:69
+msgid "Contributors:"
+msgstr "Contribuidores:"
+
+#. Translators: See
+#. https://developer.gnome.org/gtk3/stable/GtkAboutDialog.html#gtk-about-dialog-set-translator-credits
+#. for details on how this is used.
+#: pitivi/dialogs/about.py:76
+msgid "translator-credits"
+msgstr ""
+"Raphael Higino <In memoriam>, 2006.\n"
+"Flamarion Jorge <jorge.flamarion@gmail.com>, 2009.\n"
+"Rodolfo Ribeiro Gomes <rodolforg@gmail.com>, 2009.\n"
+"Antonio Fernandes C. Neto <fernandesn@gnome.org>, 2010.\n"
+"Djavan Fagundes <djavan@comum.org>, 2010, 2011.\n"
+"Mateus Zenaide <matzenh@gmail.com>, 2011.\n"
+"Gabriel Feitosa Vilar <cogumm@gmail.com>, 2011.\n"
+"Breno Felipe Morais de Santana <breno_info@globomail.com>, 2012.\n"
+"Florêncio Neves <florencioneves@gmail.com>, 2013.\n"
+"Rafael Fontenelle <rafaelff@gnome.org>, 2016-2019.\n"
+"Enrico Nicoletto <liverig@gmail.com>, 2013-2014, 2017-2018, 2020-2021."
+
+#: pitivi/dialogs/browseprojects.py:34
+msgid "Open Project…"
+msgstr "Abrir projeto…"
+
+#: pitivi/dialogs/browseprojects.py:39 pitivi/dialogs/missingasset.py:47
+msgid "Open"
+msgstr "Abrir"
+
+#: pitivi/dialogs/browseprojects.py:55
+msgid "All supported formats"
+msgstr "Todos os formatos suportados"
+
+#: pitivi/dialogs/clipmediaprops.py:102
+msgid "Variable"
+msgstr "Variável"
+
+#: pitivi/dialogs/clipmediaprops.py:128
+msgid "Image:"
+msgstr "Imagem:"
+
+#: pitivi/dialogs/filelisterrordialog.py:52
+msgid "Unknown reason"
+msgstr "Razão desconhecida"
+
+#: pitivi/dialogs/filelisterrordialog.py:85
+msgid "Problem:"
+msgstr "Problema:"
+
+#: pitivi/dialogs/filelisterrordialog.py:93
+msgid "Extra information:"
+msgstr "Informações extras:"
+
+#: pitivi/dialogs/missingasset.py:44
+msgid "Locate missing file..."
+msgstr "Localizar o arquivo que falta…"
+
+#: pitivi/dialogs/missingasset.py:58
+msgid "The following file could not be found:"
+msgstr "O seguinte arquivo não pode ser localizado:"
+
+#: pitivi/dialogs/missingasset.py:82
+msgid "Please specify its new location:"
+msgstr "Por favor, especifique seu novo local:"
+
+#. Translators: this is a format filter in a filechooser. Ex: "AVI files"
+#: pitivi/dialogs/missingasset.py:113
+#, python-format
+msgid "%s files"
+msgstr "Arquivos %s"
+
+#: pitivi/dialogs/missingasset.py:117 pitivi/medialibrary.py:884
+msgid "All files"
+msgstr "Todos os arquivos"
+
+#: pitivi/dialogs/prefs.py:61 pitivi/timeline/timeline.py:1747
+msgid "Timeline"
+msgstr "Linha de tempo"
+
+#: pitivi/dialogs/prefs.py:62
+msgid "Plugins"
+msgstr "Plugins"
+
+#: pitivi/dialogs/prefs.py:63
+msgid "Shortcuts"
+msgstr "Atalhos"
+
+#: pitivi/dialogs/prefs.py:64
+msgid "Proxies"
+msgstr "Intermediários"
+
+#: pitivi/dialogs/prefs.py:65
+msgid "Other"
+msgstr "Outro"
+
+#: pitivi/dialogs/prefs.py:332
+msgid ""
+"This resolution will be used as the default target resolution for new "
+"projects and projects missing scaled proxy meta-data."
+msgstr ""
+"Esta resolução será usada como a resolução alvo padrão para novos projetos e "
+"projetos que carecem de metadados de intermediário dimensionado."
+
+#: pitivi/dialogs/prefs.py:345
+msgid "Initial proxy size for new projects"
+msgstr "Tamanho de intermediário inicial para novos projetos"
+
+#: pitivi/dialogs/prefs.py:380
+#, python-format
+msgid "Proxy resolution for the current project is %d×%d px"
+msgstr "Resolução intermediário para o projeto atual é %d×%d px"
+
+#: pitivi/dialogs/prefs.py:459
+msgid "Reset the shortcut to the default accelerator"
+msgstr "Restaura o atalho de teclado para o acelerador padrão"
+
+#: pitivi/dialogs/prefs.py:616
+msgid "Set Shortcut"
+msgstr "Definir atalho de teclado"
+
+#. Setup the widgets used in the dialog.
+#: pitivi/dialogs/prefs.py:631
+msgid "Apply"
+msgstr "Aplicar"
+
+#: pitivi/dialogs/prefs.py:634
+msgid "Apply the accelerator to this shortcut."
+msgstr "Aplica o acelerador para esse atalho de teclado."
+
+#: pitivi/dialogs/prefs.py:637
+msgid "Replace"
+msgstr "Substituir"
+
+#: pitivi/dialogs/prefs.py:640
+msgid ""
+"Remove this accelerator from where it was used previously and set it for "
+"this shortcut."
+msgstr ""
+"Remove esses acelerador de onde ele era usado previamente e define-o para "
+"esse atalho."
+
+#: pitivi/dialogs/prefs.py:647
+#, python-format
+msgid "Enter new shortcut for <b>%s</b>, or press Esc to cancel."
+msgstr ""
+"Digite um novo atalho de teclado para <b>%s</b> ou pressione Esc para "
+"cancelar."
+
+#: pitivi/dialogs/prefs.py:656
+msgid ""
+"The accelerator you are trying to set might interfere with typing. Try using "
+"Control, Shift or Alt with some other key, please."
+msgstr ""
+"O acelerador que você está tentando definir pode interferir com a digitação. "
+"Por favor, tente usar Control, Shift ou Alt com algumas outras teclas."
+
+#: pitivi/dialogs/prefs.py:690
+#, python-format
+msgid ""
+"This key combination is already used by <b>%s</b>. Press Replace to use it "
+"for <b>%s</b> instead."
+msgstr ""
+"Essa combinação de teclas já está sendo usada por <b>%s</b>. Pressione "
+"Substituir para usá-la para <b>%s</b>."
+
+#: pitivi/dialogs/prefs.py:737
+msgid "No description available."
+msgstr "Nenhuma descrição disponível."
+
+#: pitivi/dialogs/prefs.py:828
+#, python-brace-format
+msgid "Unable to load the plugin '{module_name}'"
+msgstr "Não foi possível carregar o plugin “{module_name}”"
+
+#. We could use Gtk.ListBox.set_placeholder, but it
+#. appears bad inside the list widget.
+#: pitivi/dialogs/prefs.py:912
+msgid "No plugins available"
+msgstr "Nenhum plugin disponível"
+
+#: pitivi/dialogs/prefs.py:925
+#, python-brace-format
+msgid ""
+"You can create <a href='{doc_url}'>plugins</a> into your <a "
+"href='{dir_url}'>plugins directory</a>."
+msgstr ""
+"Você pode criar <a href='{doc_url}'>plugins</a> em seu <a "
+"href='{dir_url}'>diretório de plugins</a>."
+
+#: pitivi/editorperspective.py:205 pitivi/medialibrary.py:623
 msgid "Media Library"
 msgstr "Biblioteca de mídia"
 
@@ -1115,7 +1441,7 @@ msgstr "Desfazer"
 #. pylint: disable=attribute-defined-outside-init
 #: pitivi/editorperspective.py:323 pitivi/editorperspective.py:536
 #: pitivi/editorperspective.py:680 pitivi/editorperspective.py:728
-#: pitivi/editorperspective.py:781 pitivi/preset.py:113 pitivi/project.py:194
+#: pitivi/editorperspective.py:781 pitivi/preset.py:113 pitivi/project.py:195
 #: pitivi/render.py:226
 msgid "Save"
 msgstr "Salvar"
@@ -1141,7 +1467,7 @@ msgstr "Introduções rápidas ao Pitivi"
 msgid "Unable to save project \"%s\""
 msgstr "Não foi possível salvar o projeto “%s”"
 
-#: pitivi/editorperspective.py:538 pitivi/project.py:193
+#: pitivi/editorperspective.py:538 pitivi/project.py:194
 msgid "Save as..."
 msgstr "Salvar como…"
 
@@ -1198,7 +1524,7 @@ msgid "Detect automatically"
 msgstr "Detectar automaticamente"
 
 #: pitivi/editorperspective.py:737 pitivi/editorperspective.py:784
-#: pitivi/project.py:61 pitivi/render.py:821
+#: pitivi/project.py:62 pitivi/render.py:821
 msgid "Untitled"
 msgstr "Sem título"
 
@@ -1214,44 +1540,51 @@ msgstr "Imagem JPEG"
 msgid "Preview"
 msgstr "Visualizar"
 
-#: pitivi/effects.py:61
+#: pitivi/effects.py:65
 msgid "Colors"
 msgstr "Cores"
 
-#: pitivi/effects.py:77
-msgid "Compositing"
-msgstr "Composição"
-
-#: pitivi/effects.py:84
+#: pitivi/effects.py:88
 msgid "Noise & blur"
 msgstr "Ruído & desfocagem"
 
-#: pitivi/effects.py:89
+#: pitivi/effects.py:93
 msgid "Analysis"
 msgstr "Análise"
 
-#: pitivi/effects.py:96
+#: pitivi/effects.py:100
 msgid "Geometry"
 msgstr "Geometria"
 
-#: pitivi/effects.py:107
+#: pitivi/effects.py:111
 msgid "Fancy"
 msgstr "Decoração"
 
-#: pitivi/effects.py:246
+#: pitivi/effects.py:249
 msgid "effect"
 msgstr "efeito"
 
+#. Translators: How the video effect which covers/hides a
+#. tracked object is listed. The {} is entered by the user
+#. and denotes the tracked object.
+#: pitivi/effects.py:330
+msgid "{} cover"
+msgstr "{} cobre"
+
+#: pitivi/effects.py:331
+msgid "Object cover effect"
+msgstr "Objeto cobre efeito"
+
 #. Add Uncategorized only if there are other categories defined.
-#: pitivi/effects.py:337 pitivi/effects.py:351
+#: pitivi/effects.py:354 pitivi/effects.py:368
 msgid "Uncategorized"
 msgstr "Sem categoria"
 
-#: pitivi/effects.py:393 pitivi/effects.py:660
+#: pitivi/effects.py:410 pitivi/effects.py:677
 msgid "No effects"
 msgstr "Sem efeitos"
 
-#: pitivi/effects.py:481
+#: pitivi/effects.py:498
 msgid "Add to Favorites"
 msgstr "Adicionar aos favoritos"
 
@@ -1343,23 +1676,23 @@ msgstr "Tema escuro"
 msgid "Whether or not to use a dark theme."
 msgstr "Se deve ou não usar um tema escuro."
 
-#: pitivi/mainwindow.py:188
+#: pitivi/mainwindow.py:189
 msgid "Project"
 msgstr "Projeto"
 
-#: pitivi/mainwindow.py:195
+#: pitivi/mainwindow.py:196
 msgid "Help"
 msgstr "Ajuda"
 
-#: pitivi/mainwindow.py:202
+#: pitivi/mainwindow.py:203
 msgid "About"
 msgstr "Sobre"
 
-#: pitivi/mainwindow.py:209
+#: pitivi/mainwindow.py:210
 msgid "Show the menu button content"
 msgstr "Mostrar o botão do menu de conteúdo"
 
-#: pitivi/mainwindow.py:261
+#: pitivi/mainwindow.py:262
 #, python-format
 msgid "Unable to load project \"%s\""
 msgstr "Não é possível carregar o projeto “%s”"
@@ -1378,12 +1711,12 @@ msgid "<b>Resolution</b>: %d×%d"
 msgstr "<b>Resolução</b>: %d×%d"
 
 #: pitivi/mediafilespreviewer.py:271 pitivi/mediafilespreviewer.py:288
-#: pitivi/utils/ui.py:566
+#: pitivi/utils/ui.py:568
 #, python-format
 msgid "<b>Duration</b>: %s"
 msgstr "<b>Duração</b>: %s"
 
-#: pitivi/mediafilespreviewer.py:461 pitivi/medialibrary.py:1205
+#: pitivi/mediafilespreviewer.py:461 pitivi/medialibrary.py:1207
 msgid "Error while analyzing a file"
 msgid_plural "Error while analyzing files"
 msgstr[0] "Erro ao analisar um arquivo"
@@ -1415,121 +1748,117 @@ msgstr "Todos"
 msgid "Scale assets larger than %s×%s px."
 msgstr "Dimensionar ativos maiores que %s×%s px."
 
-#: pitivi/medialibrary.py:522 pitivi/medialibrary.py:1082
+#: pitivi/medialibrary.py:524 pitivi/medialibrary.py:1084
 msgid "Unknown"
 msgstr "Desconhecido"
 
-#: pitivi/medialibrary.py:628
+#: pitivi/medialibrary.py:630
 msgid "Remove the selected assets"
 msgstr "Remover os recursos selecionados"
 
-#: pitivi/medialibrary.py:635
+#: pitivi/medialibrary.py:637
 msgid "Insert selected assets at the end of the timeline"
 msgstr "Inserir os recursos selecionados no final da linha de tempo"
 
-#: pitivi/medialibrary.py:851
+#: pitivi/medialibrary.py:853
 msgid "Select One or More Files"
 msgstr "Selecione um ou mais arquivos"
 
-#: pitivi/medialibrary.py:855 pitivi/medialibrary.py:1279
+#: pitivi/medialibrary.py:857 pitivi/medialibrary.py:1281
 msgid "Add"
 msgstr "Adicionar"
 
-#: pitivi/medialibrary.py:870 pitivi/render.py:1491
+#: pitivi/medialibrary.py:872 pitivi/render.py:1491
 msgid "Supported file formats"
 msgstr "Todos os formatos suportados"
 
-#: pitivi/medialibrary.py:882 pitivi/dialogs/missingasset.py:117
-msgid "All files"
-msgstr "Todos os arquivos"
-
 #. Translators: this string indicates the estimated time
 #. remaining until an action (such as rendering) completes.
 #. The "%s" is an already-localized human-readable duration,
 #. such as "31 seconds", "1 minute" or "1 hours, 14 minutes".
 #. In some languages, "About %s left" can be expressed roughly as
 #. "There remains approximatively %s" (to handle gender and plurals)
-#: pitivi/medialibrary.py:988
+#: pitivi/medialibrary.py:990
 #, python-format
 msgid "Transcoding %d asset: %d%% (About %s left)"
 msgid_plural "Transcoding %d assets: %d%% (About %s left)"
 msgstr[0] "Transcodificando %d ativo: %d%% (Cerca de %s restantes)"
 msgstr[1] "Transcodificando %d ativos: %d%% (Cerca de %s restantes)"
 
-#: pitivi/medialibrary.py:1094
+#: pitivi/medialibrary.py:1096
 msgid "View error"
 msgid_plural "View errors"
 msgstr[0] "Ver erro"
 msgstr[1] "Ver erros"
 
 #. Translators: {0:d} is just like %d (integer number variable)
-#: pitivi/medialibrary.py:1096
+#: pitivi/medialibrary.py:1098
 #, python-brace-format
 msgid "An error occurred while importing."
 msgid_plural "{0:d} errors occurred while importing."
 msgstr[0] "Um erro ocorreu durante a importação."
 msgstr[1] "{0:d} erros ocorreram durante a importação."
 
-#: pitivi/medialibrary.py:1112
+#: pitivi/medialibrary.py:1114
 #, python-format
 msgid "The project settings have been set to match file '%s'"
 msgstr ""
 "As configurações do projeto foram definidas para corresponder ao arquivo “%s”"
 
-#: pitivi/medialibrary.py:1208
+#: pitivi/medialibrary.py:1210
 msgid "The following file can not be used with Pitivi."
 msgid_plural "The following files can not be used with Pitivi."
 msgstr[0] "O seguinte arquivo não pode ser usado com o Pitivi."
 msgstr[1] "Os seguintes arquivos não podem ser usados com o Pitivi."
 
-#: pitivi/medialibrary.py:1238
+#: pitivi/medialibrary.py:1240
 msgid "Tag as:"
 msgstr "Etiqueta como:"
 
-#: pitivi/medialibrary.py:1276
+#: pitivi/medialibrary.py:1278
 msgid "Enter tag"
 msgstr "Informe a etiqueta"
 
-#: pitivi/medialibrary.py:1435
+#: pitivi/medialibrary.py:1438
 msgid "Open containing folder"
 msgstr "Abrir pasta contendo"
 
-#: pitivi/medialibrary.py:1442
+#: pitivi/medialibrary.py:1445
 msgid "Edit"
 msgstr "Editar"
 
-#: pitivi/medialibrary.py:1471
+#: pitivi/medialibrary.py:1474
 msgid "Do not use Optimised Proxy for selected asset"
 msgid_plural "Do not use Optimised Proxies for selected assets"
 msgstr[0] "Não usar Intermediário Otimizado para o ativo selecionado"
 msgstr[1] "Não usar Intermediários Otimizados para os ativos selecionados"
 
-#: pitivi/medialibrary.py:1482 pitivi/medialibrary.py:1504
-#: pitivi/medialibrary.py:1526
+#: pitivi/medialibrary.py:1485 pitivi/medialibrary.py:1507
+#: pitivi/medialibrary.py:1529
 msgid "Delete corresponding proxy file"
 msgid_plural "Delete corresponding proxy files"
 msgstr[0] "Excluir o arquivo intermediário correspondente"
 msgstr[1] "Excluir os arquivos intermediários correspondentes"
 
-#: pitivi/medialibrary.py:1493
+#: pitivi/medialibrary.py:1496
 msgid "Do not use Proxy for selected asset"
 msgid_plural "Do not use Proxies for selected assets"
 msgstr[0] "Não usar Intermediário para o ativo selecionado"
 msgstr[1] "Não usar Intermediários para os ativos selecionados"
 
-#: pitivi/medialibrary.py:1515
+#: pitivi/medialibrary.py:1518
 msgid "Do not use Scaled Proxy for selected asset"
 msgid_plural "Do not use Scaled Proxies for selected assets"
 msgstr[0] "Não usar Intermediário Dimensionado para o ativo selecionado"
 msgstr[1] "Não usar Intermediários Dimensionados para os ativos selecionados"
 
-#: pitivi/medialibrary.py:1537
+#: pitivi/medialibrary.py:1540
 msgid "Use Optimised Proxy for selected asset"
 msgid_plural "Use Optimised Proxies for selected assets"
 msgstr[0] "Usar Intermediário Otimizado para o ativo selecionado"
 msgstr[1] "Usar Intermediários Otimizados para os ativos selecionados"
 
-#: pitivi/medialibrary.py:1547
+#: pitivi/medialibrary.py:1550
 msgid "Use Scaled Proxy for selected asset"
 msgid_plural "Use Scaled Proxies for selected assets"
 msgstr[0] "Usar Intermediário Otimizado para o ativo selecionado"
@@ -1554,11 +1883,11 @@ msgstr "Nova predefinição %d"
 
 #. GTK does not allow an empty string as the dialog title, so we use the
 #. same translatable one as render.py's pipeline error message dialog:
-#: pitivi/project.py:177 pitivi/render.py:1320
+#: pitivi/project.py:178 pitivi/render.py:1320
 msgid "Sorry, something didn’t work right."
 msgstr "Desculpe, algo não funcionou direito."
 
-#: pitivi/project.py:180
+#: pitivi/project.py:181
 msgid ""
 "Pitivi detected a serious backend problem and could not recover from it, "
 "even after multiple tries. The only thing that can be done at this point is "
@@ -1584,11 +1913,11 @@ msgstr ""
 "Antes de fechar Pitivi, você pode salvar as alterações no arquivo de projeto "
 "existente ou como um arquivo de projeto separado."
 
-#: pitivi/project.py:195
+#: pitivi/project.py:196
 msgid "Close Pitivi"
 msgstr "Fechar Pitivi"
 
-#: pitivi/project.py:265
+#: pitivi/project.py:266
 msgid ""
 "This might be due to a bug or an unsupported project file format. If you "
 "were trying to add a media file to your project, use the \"Import\" button "
@@ -1598,15 +1927,15 @@ msgstr ""
 "projeto não suportado. Se você estava tentando adicionar um arquivo de mídia "
 "ao seu projeto, use o botão “Importar” ao invés disso."
 
-#: pitivi/project.py:287
+#: pitivi/project.py:288
 msgid "Ignore backup"
 msgstr "Ignorar backup"
 
-#: pitivi/project.py:289
+#: pitivi/project.py:290
 msgid "Restore from backup"
 msgstr "Restaurar do backup"
 
-#: pitivi/project.py:300
+#: pitivi/project.py:301
 #, python-format
 msgid ""
 "An autosaved version of your project file was found. It is %s newer than the "
@@ -1619,16 +1948,16 @@ msgstr ""
 "\n"
 "Você gostaria de carregá-la?"
 
-#: pitivi/project.py:373
+#: pitivi/project.py:374
 msgid "You do not have permissions to write to this folder."
 msgstr "Você não possui permissão para escrever nessa pasta."
 
 #. Save the project to a temporary file.
-#: pitivi/project.py:406
+#: pitivi/project.py:407
 msgid "project"
 msgstr "projeto"
 
-#: pitivi/project.py:706
+#: pitivi/project.py:700
 msgid "Pitivi encoding profile"
 msgstr "Perfil de codificação do Pitivi"
 
@@ -1749,126 +2078,10 @@ msgstr "Renderização completa"
 msgid "\"%s\" has finished rendering."
 msgstr "A renderização de “%s” foi finalizada."
 
-#: pitivi/transitions.py:82
-msgid "Normal"
-msgstr "Normal"
-
-#: pitivi/transitions.py:87
-msgid "Loop"
-msgstr "Loop"
-
-#: pitivi/transitions.py:94
-msgid "Reverse direction"
-msgstr "Reverter direção"
-
-#: pitivi/transitions.py:107
-msgid ""
-"Create a transition by overlapping two adjacent clips on the same layer. "
-"Click the transition on the timeline to change the transition type."
-msgstr ""
-"Crie uma transição sobrepondo dois clipes adjacentes na mesma camada. Clique "
-"na transição na linha de tempo para modificar o tipo de transição."
-
-#: pitivi/transitions.py:229
-msgid "Slow"
-msgstr "Lenta"
-
-#: pitivi/transitions.py:231
-msgid "Fast"
-msgstr "Rápida"
-
-#: pitivi/transitions.py:233
-msgid "Epileptic"
-msgstr "Epilética"
-
-#: pitivi/transitions.py:237
-msgid "Sharp"
-msgstr "Aguda"
-
-#: pitivi/transitions.py:239
-msgid "Smooth"
-msgstr "Suave"
-
-#: pitivi/viewer/guidelines.py:59
-msgid "3 by 3"
-msgstr "3 por 3"
-
-#: pitivi/viewer/guidelines.py:60
-msgid "Vertical/Horizontal"
-msgstr "Vertical/Horizontal"
-
-#: pitivi/viewer/guidelines.py:61
-msgid "Diagonals"
-msgstr "Diagonais"
-
-#: pitivi/viewer/guidelines.py:92
-msgid "Composition Guidelines"
-msgstr "Diretrizes de composição"
-
-#: pitivi/viewer/viewer.py:77
-msgid "Currently playing"
-msgstr "Atualmente reproduzindo"
-
-#: pitivi/viewer/viewer.py:252
-msgid "Select composition guidelines"
-msgstr "Selecione diretrizes de composição"
-
-#: pitivi/viewer/viewer.py:260
-msgid "Go to the beginning of the timeline"
-msgstr "Ir para o início da linha de tempo"
-
-#: pitivi/viewer/viewer.py:269
-msgid "Go back one second"
-msgstr "Voltar um segundo"
-
-#: pitivi/viewer/viewer.py:282
-msgid "Go forward one second"
-msgstr "Avançar um segundo"
-
-#: pitivi/viewer/viewer.py:291
-msgid "Go to the end of the timeline"
-msgstr "Ir para o fim da linha de tempo"
-
-#: pitivi/viewer/viewer.py:298
-msgid ""
-"Enter a timecode or frame number\n"
-"and press \"Enter\" to go to that position"
-msgstr ""
-"Digite um número de faixa ou código de tempo\n"
-"e pressione “Enter” para ir àquela posição"
-
-#: pitivi/viewer/viewer.py:309
-msgid ""
-"Detach the viewer\n"
-"You can re-attach it by closing the newly created window."
-msgstr ""
-"Desanexa o visualizador\n"
-"Você pode reanexá-la fechando a janela recém-criada."
-
-#: pitivi/viewer/viewer.py:336
-msgid "Viewer"
-msgstr "Visualizador"
-
-#: pitivi/viewer/viewer.py:344
-msgid "Toggle the currently selected composition guidelines"
-msgstr "Alterna as diretrizes de composição atualmente selecionadas"
-
-#: pitivi/viewer/viewer.py:352
-msgid "Toggle safe areas on viewer"
-msgstr "Alterna áreas seguras no visualizador"
-
-#: pitivi/viewer/viewer.py:478 pitivi/viewer/viewer.py:536
-msgid "Show this window in fullscreen"
-msgstr "Mostra esta janela em tela cheia"
-
-#: pitivi/viewer/viewer.py:533
-msgid "Exit fullscreen mode"
-msgstr "Sair do modo de tela cheia"
-
 #. Translators: This is a tooltip for a clip's keyframe curve,
 #. showing what the keyframe curve affects, the timestamp at
 #. the mouse cursor location, and the value at that timestamp.
-#: pitivi/timeline/elements.py:444
+#: pitivi/timeline/elements.py:446
 #, python-format
 msgid ""
 "Property: %s\n"
@@ -1879,12 +2092,12 @@ msgstr ""
 "Marca de tempo: %s\n"
 "Valor: %s"
 
-#: pitivi/timeline/elements.py:632
+#: pitivi/timeline/elements.py:634
 #, python-format
 msgid "Timestamp: %s"
 msgstr "Timestamp: %s"
 
-#: pitivi/timeline/elements.py:1592
+#: pitivi/timeline/elements.py:1603
 msgid "Audio crossfade"
 msgstr "Fade cruzado de áudio"
 
@@ -1913,7 +2126,7 @@ msgstr "Excluir camada"
 msgid "Layer %d"
 msgstr "Camada %d"
 
-#: pitivi/timeline/ruler.py:233
+#: pitivi/timeline/ruler.py:239
 #, python-format
 msgid "Frame #%d"
 msgstr "Quadro nº %d"
@@ -1962,329 +2175,189 @@ msgstr ""
 "Se clique com botão esquerdo do mouse também busca, além de selecionar e "
 "editar clipes."
 
-#: pitivi/timeline/timeline.py:356 pitivi/timeline/timeline.py:1790
+#: pitivi/timeline/timeline.py:356 pitivi/timeline/timeline.py:1811
 msgid "Add layer"
 msgstr "Adicionar camada"
 
-#: pitivi/timeline/timeline.py:1733 pitivi/dialogs/prefs.py:60
-msgid "Timeline"
-msgstr "Linha de tempo"
-
-#: pitivi/timeline/timeline.py:1740
+#: pitivi/timeline/timeline.py:1754
 msgid "Action Search"
 msgstr "Pesquisar ação"
 
-#: pitivi/timeline/timeline.py:1748
+#: pitivi/timeline/timeline.py:1762
 msgid "Delete selected clips"
 msgstr "Excluir selecionados"
 
-#: pitivi/timeline/timeline.py:1755
+#: pitivi/timeline/timeline.py:1769
 msgid "Delete selected clips and shift following ones"
 msgstr "Exclui os clipes selecionados e mude os seguintes"
 
-#: pitivi/timeline/timeline.py:1762
+#: pitivi/timeline/timeline.py:1776
 msgid "Group selected clips together"
 msgstr "Agrupar clipes selecionados em conjunto"
 
-#: pitivi/timeline/timeline.py:1769
+#: pitivi/timeline/timeline.py:1783
 msgid "Ungroup selected clips"
 msgstr "Desagrupar clipes selecionados"
 
-#: pitivi/timeline/timeline.py:1776
+#: pitivi/timeline/timeline.py:1790
+#| msgid "Copy selected clips"
+msgid "Cut selected clips"
+msgstr "Cortar clipes selecionados"
+
+#: pitivi/timeline/timeline.py:1797
 msgid "Copy selected clips"
 msgstr "Copiar clipes selecionados"
 
-#: pitivi/timeline/timeline.py:1783
+#: pitivi/timeline/timeline.py:1804
 msgid "Paste selected clips"
 msgstr "Colar clipes selecionados"
 
-#: pitivi/timeline/timeline.py:1797
+#: pitivi/timeline/timeline.py:1818
 msgid "Seek to the first clip edge after the playhead"
 msgstr "Procura o limite do primeiro clipe após o indicador de reprodução"
 
-#: pitivi/timeline/timeline.py:1804
+#: pitivi/timeline/timeline.py:1825
 msgid "Seek to the first clip edge before the playhead"
 msgstr "Procura o limite do primeiro clipe antes do indicador de reprodução"
 
-#: pitivi/timeline/timeline.py:1811
+#: pitivi/timeline/timeline.py:1832
 msgid "Shift selected clips one frame forward"
 msgstr "Muda os clipes selecionados um quadro para a frente"
 
-#: pitivi/timeline/timeline.py:1818
+#: pitivi/timeline/timeline.py:1839
 msgid "Shift selected clips one frame backward"
 msgstr "Muda os clipes selecionados um quadro para trás"
 
-#: pitivi/timeline/timeline.py:1825
+#: pitivi/timeline/timeline.py:1846
 msgid "Snap selected clips to the next clip"
 msgstr "Encaixa os clipes selecionados no próximo clipe"
 
-#: pitivi/timeline/timeline.py:1832
+#: pitivi/timeline/timeline.py:1853
 msgid "Snap selected clips to the previous clip"
 msgstr "Encaixa os clipes selecionados no clipe anterior"
 
-#: pitivi/timeline/timeline.py:1839
+#: pitivi/timeline/timeline.py:1860
 msgid "Add an effect to the selected clip"
 msgstr "Adiciona um efeito ao clipe selecionado"
 
-#: pitivi/timeline/timeline.py:1852
+#: pitivi/timeline/timeline.py:1873
 msgid "Split the clip at the position"
 msgstr "Dividir clipes na posição indicada"
 
-#: pitivi/timeline/timeline.py:1859
+#: pitivi/timeline/timeline.py:1880
 msgid "Add keyframe to the keyframe curve of selected clip"
 msgstr ""
 "Adicionar quadro-chave para a curva de quadro-chave do clipe selecionado"
 
-#: pitivi/timeline/timeline.py:1864
+#: pitivi/timeline/timeline.py:1885
 msgid "Timeline Navigation"
 msgstr "Navegação pela linha do tempo"
 
-#: pitivi/timeline/timeline.py:1872
+#: pitivi/timeline/timeline.py:1893
 msgid "Zoom in"
 msgstr "Ampliar"
 
-#: pitivi/timeline/timeline.py:1880
+#: pitivi/timeline/timeline.py:1901
 msgid "Zoom out"
 msgstr "Reduzir"
 
-#: pitivi/timeline/timeline.py:1888
+#: pitivi/timeline/timeline.py:1909
 msgid "Adjust zoom to fit the project to the window"
 msgstr "Ajustar o zoom para caber o projeto na janela"
 
-#: pitivi/timeline/timeline.py:1901
+#: pitivi/timeline/timeline.py:1922
 msgid "Seek backward one frame"
 msgstr "Buscar para trás um quadro"
 
-#: pitivi/timeline/timeline.py:1908
+#: pitivi/timeline/timeline.py:1929
 msgid "Seek forward one frame"
 msgstr "Buscar para frente um quadro"
 
-#: pitivi/timeline/timeline.py:1916
+#: pitivi/timeline/timeline.py:1937
 msgid "Seek backward one second"
 msgstr "Buscar para trás um segundo"
 
-#: pitivi/timeline/timeline.py:1924
+#: pitivi/timeline/timeline.py:1945
 msgid "Seek forward one second"
 msgstr "Buscar para frente um segundo"
 
-#: pitivi/timeline/timeline.py:1932
+#: pitivi/timeline/timeline.py:1953
 msgid "Add a marker"
 msgstr "Adicionar um marcador"
 
-#: pitivi/timeline/timeline.py:1939
+#: pitivi/timeline/timeline.py:1960
 msgid "Seek to the first marker before the playhead"
 msgstr "Procura o primeiro marcador antes do indicador de reprodução"
 
-#: pitivi/timeline/timeline.py:1946
+#: pitivi/timeline/timeline.py:1967
 msgid "Seek to the first marker after the playhead"
 msgstr "Procura o primeiro marcador após o indicador de reprodução"
 
-#: pitivi/dialogs/about.py:45
-#, python-format
-msgid "Version %s"
-msgstr "Versão %s"
-
-#: pitivi/dialogs/about.py:47
-#, python-format
-msgid "Version %(cur_ver)s — %(new_ver)s is available"
-msgstr "Versão %(cur_ver)s — %(new_ver)s está disponível"
-
-#: pitivi/dialogs/about.py:58
-msgid "Current maintainers:"
-msgstr "Mantenedores atuais:"
-
-#: pitivi/dialogs/about.py:63
-msgid "Past maintainers:"
-msgstr "Mantenedores antigos:"
-
-#: pitivi/dialogs/about.py:69
-msgid "Contributors:"
-msgstr "Contribuidores:"
-
-#. Translators: See
-#. https://developer.gnome.org/gtk3/stable/GtkAboutDialog.html#gtk-about-dialog-set-translator-credits
-#. for details on how this is used.
-#: pitivi/dialogs/about.py:76
-msgid "translator-credits"
-msgstr ""
-"Raphael Higino <In memoriam>, 2006.\n"
-"Flamarion Jorge <jorge.flamarion@gmail.com>, 2009.\n"
-"Rodolfo Ribeiro Gomes <rodolforg@gmail.com>, 2009.\n"
-"Antonio Fernandes C. Neto <fernandesn@gnome.org>, 2010.\n"
-"Djavan Fagundes <djavan@comum.org>, 2010, 2011.\n"
-"Mateus Zenaide <matzenh@gmail.com>, 2011.\n"
-"Gabriel Feitosa Vilar <cogumm@gmail.com>, 2011.\n"
-"Breno Felipe Morais de Santana <breno_info@globomail.com>, 2012.\n"
-"Florêncio Neves <florencioneves@gmail.com>, 2013.\n"
-"Rafael Fontenelle <rafaelff@gnome.org>, 2016-2019.\n"
-"Enrico Nicoletto <liverig@gmail.com>, 2013-2014, 2017-2018, 2020-2021."
-
-#: pitivi/dialogs/browseprojects.py:34
-msgid "Open Project…"
-msgstr "Abrir projeto…"
+#: pitivi/trackerperspective.py:403
+msgid "Object {}"
+msgstr "Objeto {}"
 
-#: pitivi/dialogs/browseprojects.py:39 pitivi/dialogs/missingasset.py:47
-msgid "Open"
-msgstr "Abrir"
+#: pitivi/trackerperspective.py:665
+#| msgid "Ignore backup"
+msgid "Go back"
+msgstr "Voltar"
 
-#: pitivi/dialogs/browseprojects.py:55
-msgid "All supported formats"
-msgstr "Todos os formatos suportados"
-
-#: pitivi/dialogs/clipmediaprops.py:102
-msgid "Variable"
-msgstr "Variável"
-
-#: pitivi/dialogs/clipmediaprops.py:128
-msgid "Image:"
-msgstr "Imagem:"
-
-#: pitivi/dialogs/filelisterrordialog.py:52
-msgid "Unknown reason"
-msgstr "Razão desconhecida"
-
-#: pitivi/dialogs/filelisterrordialog.py:85
-msgid "Problem:"
-msgstr "Problema:"
-
-#: pitivi/dialogs/filelisterrordialog.py:93
-msgid "Extra information:"
-msgstr "Informações extras:"
+#: pitivi/trackerperspective.py:739
+#| msgid "Project"
+msgid "Track objects"
+msgstr "Rastrear objetos"
 
-#: pitivi/dialogs/missingasset.py:44
-msgid "Locate missing file..."
-msgstr "Localizar o arquivo que falta…"
-
-#: pitivi/dialogs/missingasset.py:58
-msgid "The following file could not be found:"
-msgstr "O seguinte arquivo não pode ser localizado:"
-
-#: pitivi/dialogs/missingasset.py:82
-msgid "Please specify its new location:"
-msgstr "Por favor, especifique seu novo local:"
-
-#. Translators: this is a format filter in a filechooser. Ex: "AVI files"
-#: pitivi/dialogs/missingasset.py:113
-#, python-format
-msgid "%s files"
-msgstr "Arquivos %s"
-
-#: pitivi/dialogs/prefs.py:61
-msgid "Plugins"
-msgstr "Plugins"
-
-#: pitivi/dialogs/prefs.py:62
-msgid "Shortcuts"
-msgstr "Atalhos"
-
-#: pitivi/dialogs/prefs.py:63
-msgid "Proxies"
-msgstr "Intermediários"
-
-#: pitivi/dialogs/prefs.py:64
-msgid "Other"
-msgstr "Outro"
-
-#: pitivi/dialogs/prefs.py:331
-msgid ""
-"This resolution will be used as the default target resolution for new "
-"projects and projects missing scaled proxy meta-data."
-msgstr ""
-"Esta resolução será usada como a resolução alvo padrão para novos projetos e "
-"projetos que carecem de metadados de intermediário dimensionado."
-
-#: pitivi/dialogs/prefs.py:344
-msgid "Initial proxy size for new projects"
-msgstr "Tamanho de intermediário inicial para novos projetos"
-
-#: pitivi/dialogs/prefs.py:379
-#, python-format
-msgid "Proxy resolution for the current project is %d×%d px"
-msgstr "Resolução intermediário para o projeto atual é %d×%d px"
-
-#: pitivi/dialogs/prefs.py:458
-msgid "Reset the shortcut to the default accelerator"
-msgstr "Restaura o atalho de teclado para o acelerador padrão"
-
-#: pitivi/dialogs/prefs.py:615
-msgid "Set Shortcut"
-msgstr "Definir atalho de teclado"
-
-#. Setup the widgets used in the dialog.
-#: pitivi/dialogs/prefs.py:630
-msgid "Apply"
-msgstr "Aplicar"
-
-#: pitivi/dialogs/prefs.py:633
-msgid "Apply the accelerator to this shortcut."
-msgstr "Aplica o acelerador para esse atalho de teclado."
-
-#: pitivi/dialogs/prefs.py:636
-msgid "Replace"
-msgstr "Substituir"
+#: pitivi/transitions.py:77
+msgid "Normal"
+msgstr "Normal"
 
-#: pitivi/dialogs/prefs.py:639
-msgid ""
-"Remove this accelerator from where it was used previously and set it for "
-"this shortcut."
-msgstr ""
-"Remove esses acelerador de onde ele era usado previamente e define-o para "
-"esse atalho."
+#: pitivi/transitions.py:82
+msgid "Loop"
+msgstr "Loop"
 
-#: pitivi/dialogs/prefs.py:646
-#, python-format
-msgid "Enter new shortcut for <b>%s</b>, or press Esc to cancel."
-msgstr ""
-"Digite um novo atalho de teclado para <b>%s</b> ou pressione Esc para "
-"cancelar."
+#: pitivi/transitions.py:89
+msgid "Reverse direction"
+msgstr "Reverter direção"
 
-#: pitivi/dialogs/prefs.py:655
+#: pitivi/transitions.py:102
 msgid ""
-"The accelerator you are trying to set might interfere with typing. Try using "
-"Control, Shift or Alt with some other key, please."
+"Create a transition by overlapping two adjacent clips on the same layer. "
+"Click the transition on the timeline to change the transition type."
 msgstr ""
-"O acelerador que você está tentando definir pode interferir com a digitação. "
-"Por favor, tente usar Control, Shift ou Alt com algumas outras teclas."
+"Crie uma transição sobrepondo dois clipes adjacentes na mesma camada. Clique "
+"na transição na linha de tempo para modificar o tipo de transição."
 
-#: pitivi/dialogs/prefs.py:689
-#, python-format
-msgid ""
-"This key combination is already used by <b>%s</b>. Press Replace to use it "
-"for <b>%s</b> instead."
-msgstr ""
-"Essa combinação de teclas já está sendo usada por <b>%s</b>. Pressione "
-"Substituir para usá-la para <b>%s</b>."
+#: pitivi/transitions.py:225
+msgid "Slow"
+msgstr "Lenta"
 
-#: pitivi/dialogs/prefs.py:736
-msgid "No description available."
-msgstr "Nenhuma descrição disponível."
+#: pitivi/transitions.py:227
+msgid "Fast"
+msgstr "Rápida"
 
-#: pitivi/dialogs/prefs.py:827
-#, python-brace-format
-msgid "Unable to load the plugin '{module_name}'"
-msgstr "Não foi possível carregar o plugin “{module_name}”"
+#: pitivi/transitions.py:229
+msgid "Epileptic"
+msgstr "Epilética"
 
-#. We could use Gtk.ListBox.set_placeholder, but it
-#. appears bad inside the list widget.
-#: pitivi/dialogs/prefs.py:911
-msgid "No plugins available"
-msgstr "Nenhum plugin disponível"
+#: pitivi/transitions.py:233
+msgid "Sharp"
+msgstr "Aguda"
 
-#: pitivi/dialogs/prefs.py:924
-#, python-brace-format
-msgid ""
-"You can create <a href='{doc_url}'>plugins</a> into your <a "
-"href='{dir_url}'>plugins directory</a>."
-msgstr ""
-"Você pode criar <a href='{doc_url}'>plugins</a> em seu <a "
-"href='{dir_url}'>diretório de plugins</a>."
+#: pitivi/transitions.py:235
+msgid "Smooth"
+msgstr "Suave"
 
-#: pitivi/utils/markers.py:33
-#| msgid "Markers"
+#. Translators: The list of markers created by the user.
+#: pitivi/utils/markers.py:34
 msgid "User markers"
 msgstr "Marcadores do usuário"
 
-#: pitivi/utils/misc.py:278
+#. Translators: The list of markers representing detected audio beats.
+#: pitivi/utils/markers.py:36
+msgid "Beats"
+msgstr "Batidas"
+
+#: pitivi/utils/misc.py:281
 msgid ""
 "Failed to open the user manual. Make sure to have either the `yelp` GNOME "
 "documentation viewer or a web browser installed"
@@ -2292,7 +2365,7 @@ msgstr ""
 "Falha ao abrir o manual do usuário. Certifique-se de ter o \"yelp\" — o "
 "visualizador de documentação do GNOME — ou um navegador web instalado"
 
-#: pitivi/utils/misc.py:287
+#: pitivi/utils/misc.py:290
 msgid ""
 "The system's locale that you are using is not UTF-8 capable. Unicode support "
 "is required for Python3 software like Pitivi. Please correct your system "
@@ -2304,7 +2377,7 @@ msgstr ""
 "Pitivi. Por favor, corrija as suas configurações de sistema; se você tentar "
 "usar Pitivi com uma localização quebrada, erros estranhos vão acontecer."
 
-#: pitivi/utils/misc.py:297
+#: pitivi/utils/misc.py:300
 msgid "Error while decoding a string"
 msgstr "Erro ao decodificar uma mensagem"
 
@@ -2317,117 +2390,117 @@ msgid "Max CPU usage dedicated to transcoding"
 msgstr "Uso máximo de CPU dedicada a transcodificação"
 
 #. Translators: 'fps' is for 'frames per second'
-#: pitivi/utils/ui.py:382
+#: pitivi/utils/ui.py:390
 msgid "{0:s} fps"
 msgstr "{0:s} fps"
 
-#: pitivi/utils/ui.py:402
+#: pitivi/utils/ui.py:410
 #, python-brace-format
 msgid "{0:n} kHz"
 msgstr "{0:n} kHz"
 
-#: pitivi/utils/ui.py:411
+#: pitivi/utils/ui.py:419
 msgid "Mono"
 msgstr "Mono"
 
-#: pitivi/utils/ui.py:412
+#: pitivi/utils/ui.py:420
 msgid "Stereo"
 msgstr "Estéreo"
 
-#: pitivi/utils/ui.py:413
+#: pitivi/utils/ui.py:421
 msgid "6 (5.1)"
 msgstr "6 (5.1)"
 
-#: pitivi/utils/ui.py:414
+#: pitivi/utils/ui.py:422
 msgid "8 (7.1)"
 msgstr "8 (7.1)"
 
-#: pitivi/utils/ui.py:545
+#: pitivi/utils/ui.py:547
 #, python-format
 msgid "<b>Duration:</b> %s"
 msgstr "<b>Duração:</b> %s"
 
-#: pitivi/utils/ui.py:548
+#: pitivi/utils/ui.py:550
 #, python-format
 msgid "<b>Proxy creation progress:</b> %d%%"
 msgstr "<b>Progresso de criação de intermediários:</b> %d%%"
 
-#: pitivi/utils/ui.py:562
+#: pitivi/utils/ui.py:564
 #, python-format
 msgid "<b>Path</b>: %s"
 msgstr "<b>Caminho</b>: %s"
 
-#: pitivi/utils/ui.py:572
+#: pitivi/utils/ui.py:574
 #, python-format
 msgid "<b>Size</b>: %s"
 msgstr "<b>Tamanho</b>: %s"
 
-#: pitivi/utils/ui.py:608
+#: pitivi/utils/ui.py:610
 #, python-format
 msgid "<b>Audio:</b> %d channel at %d <i>Hz</i> (%d <i>bits</i>)"
 msgid_plural "<b>Audio:</b> %d channels at %d <i>Hz</i> (%d <i>bits</i>)"
 msgstr[0] "<b>Áudio:</b> %d canal a %d <i>Hz</i> (%d <i>bits</i>)"
 msgstr[1] "<b>Áudio:</b> %d canais a %d <i>Hz</i> (%d <i>bits</i>)"
 
-#: pitivi/utils/ui.py:620
+#: pitivi/utils/ui.py:622
 #, python-format
 msgid "<b>Video:</b> %d×%d <i>pixels</i> at %s <i>fps</i>"
 msgstr "<b>Vídeo:</b> %d×%d <i>pixels</i> a %s <i>quadros/seg</i>"
 
-#: pitivi/utils/ui.py:623
+#: pitivi/utils/ui.py:625
 #, python-format
 msgid "<b>Image:</b> %d×%d <i>pixels</i>"
 msgstr "<b>Imagem:</b> %d×%d <i>pixels</i>"
 
-#: pitivi/utils/ui.py:677 pitivi/utils/ui.py:704 pitivi/utils/ui.py:728
+#: pitivi/utils/ui.py:679 pitivi/utils/ui.py:706 pitivi/utils/ui.py:730
 #, python-format
 msgid "%d hour"
 msgid_plural "%d hours"
 msgstr[0] "%d hora"
 msgstr[1] "%d horas"
 
-#: pitivi/utils/ui.py:680 pitivi/utils/ui.py:707 pitivi/utils/ui.py:731
+#: pitivi/utils/ui.py:682 pitivi/utils/ui.py:709 pitivi/utils/ui.py:733
 #, python-format
 msgid "%d minute"
 msgid_plural "%d minutes"
 msgstr[0] "%d minuto"
 msgstr[1] "%d minutos"
 
-#: pitivi/utils/ui.py:683 pitivi/utils/ui.py:710 pitivi/utils/ui.py:734
+#: pitivi/utils/ui.py:685 pitivi/utils/ui.py:712 pitivi/utils/ui.py:736
 #, python-format
 msgid "%d second"
 msgid_plural "%d seconds"
 msgstr[0] "%d segundo"
 msgstr[1] "%d segundos"
 
-#: pitivi/utils/ui.py:702
+#: pitivi/utils/ui.py:704
 #, python-format
 msgid "%d day"
 msgid_plural "%d days"
 msgstr[0] "%d dia"
 msgstr[1] "%d dias"
 
-#: pitivi/utils/ui.py:743
+#: pitivi/utils/ui.py:745
 msgid "Just now"
 msgstr "Agora"
 
-#: pitivi/utils/ui.py:746
+#: pitivi/utils/ui.py:748
 msgid "An hour ago"
 msgstr "Uma hora atrás"
 
-#: pitivi/utils/ui.py:749
+#: pitivi/utils/ui.py:751
 msgid "Today"
 msgstr "Hoje"
 
-#: pitivi/utils/ui.py:752
+#: pitivi/utils/ui.py:754
 msgid "Yesterday"
 msgstr "Ontem"
 
-#: pitivi/utils/ui.py:761
+#: pitivi/utils/ui.py:763
 msgid "About a year ago"
 msgstr "Cerca de um ano atrás"
 
-#: pitivi/utils/ui.py:764
+#: pitivi/utils/ui.py:766
 #, python-format
 msgid "About %d year ago"
 msgid_plural "About %d years ago"
@@ -2472,6 +2545,82 @@ msgstr "%s exibidos"
 msgid "%d nanoseconds displayed, because we can"
 msgstr "%d nanossegundos exibidos porque nós podemos"
 
+#: pitivi/viewer/guidelines.py:59
+msgid "3 by 3"
+msgstr "3 por 3"
+
+#: pitivi/viewer/guidelines.py:60
+msgid "Vertical/Horizontal"
+msgstr "Vertical/Horizontal"
+
+#: pitivi/viewer/guidelines.py:61
+msgid "Diagonals"
+msgstr "Diagonais"
+
+#: pitivi/viewer/guidelines.py:92
+msgid "Composition Guidelines"
+msgstr "Diretrizes de composição"
+
+#: pitivi/viewer/viewer.py:81
+msgid "Currently playing"
+msgstr "Atualmente reproduzindo"
+
+#: pitivi/viewer/viewer.py:299
+msgid "Select composition guidelines"
+msgstr "Selecione diretrizes de composição"
+
+#: pitivi/viewer/viewer.py:307
+msgid "Go to the beginning of the timeline"
+msgstr "Ir para o início da linha de tempo"
+
+#: pitivi/viewer/viewer.py:316
+msgid "Go back one second"
+msgstr "Voltar um segundo"
+
+#: pitivi/viewer/viewer.py:329
+msgid "Go forward one second"
+msgstr "Avançar um segundo"
+
+#: pitivi/viewer/viewer.py:338
+msgid "Go to the end of the timeline"
+msgstr "Ir para o fim da linha de tempo"
+
+#: pitivi/viewer/viewer.py:345
+msgid ""
+"Enter a timecode or frame number\n"
+"and press \"Enter\" to go to that position"
+msgstr ""
+"Digite um número de faixa ou código de tempo\n"
+"e pressione “Enter” para ir àquela posição"
+
+#: pitivi/viewer/viewer.py:356
+msgid ""
+"Detach the viewer\n"
+"You can re-attach it by closing the newly created window."
+msgstr ""
+"Desanexa o visualizador\n"
+"Você pode reanexá-la fechando a janela recém-criada."
+
+#: pitivi/viewer/viewer.py:383
+msgid "Viewer"
+msgstr "Visualizador"
+
+#: pitivi/viewer/viewer.py:391
+msgid "Toggle the currently selected composition guidelines"
+msgstr "Alterna as diretrizes de composição atualmente selecionadas"
+
+#: pitivi/viewer/viewer.py:399
+msgid "Toggle safe areas on viewer"
+msgstr "Alterna áreas seguras no visualizador"
+
+#: pitivi/viewer/viewer.py:541 pitivi/viewer/viewer.py:600
+msgid "Show this window in fullscreen"
+msgstr "Mostra esta janela em tela cheia"
+
+#: pitivi/viewer/viewer.py:597
+msgid "Exit fullscreen mode"
+msgstr "Sair do modo de tela cheia"
+
 #: plugins/console/console.py:123
 msgid "Console"
 msgstr "Console"
@@ -2514,3 +2663,7 @@ msgid ""
 msgstr ""
 "Não foi possível se sobrepor a {key}, porque comandos de atalhos são somente "
 "leitura."
+
+#~| msgid "Markers"
+#~ msgid "No markers"
+#~ msgstr "Sem marcadores"
diff --git a/po/sl.po b/po/sl.po
index 7cd28bd..3101c53 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -3,25 +3,25 @@
 # This file is distributed under the same license as the pitivi package.
 #
 # Andrej Žnidaršič <andrej.znidarsic@gmail.com>, 2009–2011.
-# Martin Srebotnjak  <miles@filmsi.net>, 2011–2014.
+# Martin Srebotnjak  <miles@filmsi.net>, 2011–2014,2022.
 # Matej Urbančič <mateju@svn.gnome.org>, 2012–2020.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: pitivi master\n"
 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/pitivi/issues\n"
-"POT-Creation-Date: 2020-09-16 06:27+0000\n"
+"POT-Creation-Date: 2023-01-25 07:38+0000\n"
 "PO-Revision-Date: \n"
-"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
+"Last-Translator: Martin Srebotnjak <miles@filmsi.net>\n"
 "Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
 "Language: sl_SI\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
-"%100==4 ? 3 : 0);\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
+"n%100==4 ? 3 : 0);\n"
 "X-Poedit-SourceCharset: utf-8\n"
-"X-Generator: Poedit 2.4.1\n"
+"X-Generator: Poedit 3.2.2\n"
 
 #: data/org.pitivi.Pitivi-mime.xml.in:4
 msgid "Pitivi video project (legacy)"
@@ -67,7 +67,7 @@ msgstr "Med drugimi novostmi so tudi:"
 #: data/org.pitivi.Pitivi.appdata.xml.in:15
 msgid ""
 "Accepts any file formats supported by the GStreamer multimedia framework"
-msgstr "Sprejmi katerikoli zapis, podprt v okolju GStreamer"
+msgstr "Sprejme poljuben zapis, podprt v večpredstavnostnem okolju GStreamer"
 
 #: data/org.pitivi.Pitivi.appdata.xml.in:16
 msgid ""
@@ -89,7 +89,7 @@ msgstr ""
 
 #: data/org.pitivi.Pitivi.appdata.xml.in:41
 msgid "The Pitivi Team"
-msgstr "Skupina Pitivi"
+msgstr "Ekipa Pitivi"
 
 #: data/org.pitivi.Pitivi.desktop.in:5
 msgid "Video Editor"
@@ -108,14 +108,52 @@ msgstr "Začenjanje samodejne poravnave"
 msgid "<b><big>Performing Auto-Alignment</big></b>"
 msgstr "<b><big>Izvajanje samodejne poravnave</big></b>"
 
-#: data/ui/alignmentprogress.ui:38 pitivi/render.py:1465
+#: data/ui/alignmentprogress.ui:38 pitivi/render.py:1647
 msgid "Estimating..."
 msgstr "Poteka ocenjevanje ..."
 
-#: data/ui/clipcolor.ui:21
+#: data/ui/beatdetection.ui:18
+#, fuzzy
+msgid "Detect beats"
+msgstr "Zaznaj udarce"
+
+#: data/ui/beatdetection.ui:35
+#, fuzzy
+msgid "Clear detected beats"
+msgstr "Počisti zaznane udarce"
+
+#: data/ui/beatdetection.ui:66
+msgid "Detecting..."
+msgstr "Zaznavanje ..."
+
+#: data/ui/clipcolor.ui:21 data/ui/customwidgets/pitivi:object_effect.ui:37
 msgid "Pick the clip color"
 msgstr "Izbor barve posnetka"
 
+#: data/ui/clipcompositing.ui:42
+msgid "Fade-in:"
+msgstr "Odtemnitev:"
+
+#: data/ui/clipcompositing.ui:54 data/ui/clipcompositing.ui:122
+msgid "seconds"
+msgstr "sekund"
+
+#: data/ui/clipcompositing.ui:97
+msgid "Fade-out:"
+msgstr "Zatemnitev:"
+
+#: data/ui/clipcompositing.ui:150
+msgid "Reset fade-in"
+msgstr "Ponastavi odtemnitev"
+
+#: data/ui/clipcompositing.ui:166
+msgid "Reset fade-out"
+msgstr "Ponastavi zatemnitev"
+
+#: data/ui/clipcompositing.ui:181
+msgid "Blending:"
+msgstr "Zlivanje:"
+
 #: data/ui/clipmediaprops.ui:8
 msgid "Clip Properties"
 msgstr "Lastnosti posnetka"
@@ -157,31 +195,36 @@ msgstr "Kanali"
 msgid "Audio:"
 msgstr "Zvok:"
 
-#: data/ui/cliptransformation.ui:51
+#: data/ui/cliptransformation.ui:56
 msgid "Y:"
 msgstr "Y:"
 
-#: data/ui/cliptransformation.ui:96
+#: data/ui/cliptransformation.ui:99
 msgid "Height:"
 msgstr "Višina:"
 
-#: data/ui/cliptransformation.ui:140
+#: data/ui/cliptransformation.ui:141
+#, fuzzy
+msgid "Constrain Proportions"
+msgstr "Omeji razmerja"
+
+#: data/ui/cliptransformation.ui:157
 msgid "X:"
 msgstr "X:"
 
-#: data/ui/cliptransformation.ui:161
+#: data/ui/cliptransformation.ui:178
 msgid "Previous keyframe"
-msgstr ""
+msgstr "Prejšnja ključna sličica"
 
-#: data/ui/cliptransformation.ui:177
+#: data/ui/cliptransformation.ui:194
 msgid "Next keyframe"
 msgstr "Naslednja ključna sličica"
 
-#: data/ui/cliptransformation.ui:207
+#: data/ui/cliptransformation.ui:224
 msgid "Reset to default values"
 msgstr "Ponastavi na privzete vrednosti"
 
-#: data/ui/cliptransformation.ui:229
+#: data/ui/cliptransformation.ui:246
 msgid "Width:"
 msgstr "Širina:"
 
@@ -191,7 +234,7 @@ msgstr "Kot:"
 
 #: data/ui/customwidgets/alpha.ui:155
 msgid "Noise level:"
-msgstr ""
+msgstr "Raven šuma:"
 
 #: data/ui/customwidgets/alpha.ui:167
 msgid "White sensitivity:"
@@ -203,7 +246,7 @@ msgstr ""
 
 #: data/ui/customwidgets/alpha.ui:321
 msgid "Alpha:"
-msgstr ""
+msgstr "Alfa:"
 
 #: data/ui/customwidgets/alpha.ui:350
 msgid "Target chroma key:"
@@ -243,7 +286,7 @@ msgstr "Sence"
 
 #: data/ui/customwidgets/frei0r-filter-3-point-color-balance.ui:431
 msgid "Midtones"
-msgstr ""
+msgstr "Srednji toni"
 
 #: data/ui/customwidgets/frei0r-filter-3-point-color-balance.ui:442
 msgid "Highlights"
@@ -255,7 +298,7 @@ msgstr "Razdeli pogled"
 
 #: data/ui/customwidgets/frei0r-filter-3-point-color-balance.ui:494
 msgid "Source image on left"
-msgstr ""
+msgstr "Izvorna slika na levi"
 
 #: data/ui/customwidgets/frei0r-filter-alphaspot.ui:303
 msgid "Shape:"
@@ -275,7 +318,7 @@ msgstr "Opravilo:"
 
 #: data/ui/customwidgets/frei0r-filter-alphaspot.ui:380
 msgid "tilt"
-msgstr ""
+msgstr "nagib"
 
 #: data/ui/customwidgets/frei0r-filter-alphaspot.ui:391
 msgid "trans. width"
@@ -283,18 +326,22 @@ msgstr ""
 
 #: data/ui/customwidgets/frei0r-filter-alphaspot.ui:402
 msgid "min alpha"
-msgstr ""
+msgstr "najm alfa"
 
 #: data/ui/customwidgets/frei0r-filter-alphaspot.ui:413
 msgid "max alpha"
-msgstr ""
+msgstr "najv alfa"
+
+#: data/ui/customwidgets/pitivi:object_effect.ui:19
+msgid "Color:"
+msgstr "Barva:"
 
 #: data/ui/effectslibrary.ui:16
 msgid "Favorites"
 msgstr "Priljubljeno"
 
-#: data/ui/effectslibrary.ui:43 data/ui/medialibrary.ui:124
-#: pitivi/transitions.py:74
+#: data/ui/effectslibrary.ui:43 data/ui/medialibrary.ui:165
+#: pitivi/transitions.py:69
 msgid "Search..."
 msgstr "Poišči ..."
 
@@ -302,7 +349,7 @@ msgstr "Poišči ..."
 msgid "Reset all"
 msgstr "Ponastavi vse"
 
-#: data/ui/elementsettingsdialog.ui:39 data/ui/projectsettings.ui:94
+#: data/ui/elementsettingsdialog.ui:39 data/ui/projectsettings.ui:91
 msgid "OK"
 msgstr "V redu"
 
@@ -314,7 +361,7 @@ msgstr "Nedavni projekti"
 msgid "Updated"
 msgstr "Posodobljeno"
 
-#: data/ui/greeter.ui:190 pitivi/preset.py:107 pitivi/render.py:208
+#: data/ui/greeter.ui:190 pitivi/preset.py:107 pitivi/render.py:220
 msgid "Remove"
 msgstr "Odstrani"
 
@@ -330,8 +377,8 @@ msgstr "Eleganten, zmogljiv in intuitiven urejevalnik videa"
 msgid "Save the current project under a new name or a different location"
 msgstr "Shrani trenutni projekt z novim imenom, ali na drugo mesto"
 
-#: data/ui/mainmenubutton.ui:25 pitivi/editorperspective.py:717
-#: pitivi/editorperspective.py:771
+#: data/ui/mainmenubutton.ui:25 pitivi/editorperspective.py:724
+#: pitivi/editorperspective.py:778
 msgid "Save As..."
 msgstr "Shrani kot ..."
 
@@ -365,13 +412,13 @@ msgid "Edit the project settings"
 msgstr "Uredi nastavitve projekta"
 
 #: data/ui/mainmenubutton.ui:119 data/ui/projectsettings.ui:61
-#: pitivi/medialibrary.py:168 pitivi/medialibrary.py:525
-#: pitivi/dialogs/prefs.py:339
+#: pitivi/dialogs/prefs.py:340 pitivi/medialibrary.py:173
+#: pitivi/medialibrary.py:538
 msgid "Project Settings"
 msgstr "Nastavitve projekta"
 
 #: data/ui/mainmenubutton.ui:148 data/ui/preferences.ui:7
-#: pitivi/mainwindow.py:216
+#: pitivi/mainwindow.py:217
 msgid "Preferences"
 msgstr "Možnosti"
 
@@ -385,7 +432,7 @@ msgstr "Uporabniški priročnik"
 
 #: data/ui/mainmenubutton.ui:193
 msgid "Start the intro to Pitivi for new users"
-msgstr ""
+msgstr "Zaženi predstavitev Pitivi za nove uporabnike"
 
 #: data/ui/mainmenubutton.ui:197
 msgid "Interactive Intro"
@@ -395,48 +442,52 @@ msgstr "Uvodna predstavitev"
 msgid "About Pitivi"
 msgstr "O programu"
 
-#: data/ui/medialibrary.ui:14 pitivi/editorperspective.py:395
-msgid "Add media files to your project"
-msgstr "Doda predstavne datoteke v projekt"
-
-#: data/ui/medialibrary.ui:16
-msgid "Import"
-msgstr "Uvozi"
-
-#: data/ui/medialibrary.ui:35
+#: data/ui/medialibrary.ui:20
 msgid "Remove selected clips from the project"
 msgstr "Odstrani izbrane posnetke iz projekta"
 
-#: data/ui/medialibrary.ui:37
+#: data/ui/medialibrary.ui:22
 msgid "_Remove from Project"
 msgstr "_Odstrani iz projekta"
 
-#: data/ui/medialibrary.ui:55
+#: data/ui/medialibrary.ui:40
 msgid "Clip properties..."
 msgstr "Lastnosti posnetka ..."
 
-#: data/ui/medialibrary.ui:74
+#: data/ui/medialibrary.ui:59
+msgid "Show tags associated with selected clips"
+msgstr "Pokaži značke, povezane z izbranimi posnetki"
+
+#: data/ui/medialibrary.ui:78
 msgid "Insert the selected clips at the end of the timeline"
 msgstr "Vstavi izbrane posnetke na konec časovnice"
 
-#: data/ui/medialibrary.ui:76
+#: data/ui/medialibrary.ui:80
 msgid "Insert at _End of Timeline"
 msgstr "Vstavi na _koncu časovnice"
 
-#: data/ui/medialibrary.ui:94
+#: data/ui/medialibrary.ui:114 pitivi/editorperspective.py:399
+msgid "Add media files to your project"
+msgstr "Doda predstavne datoteke v projekt"
+
+#: data/ui/medialibrary.ui:116
+msgid "Import"
+msgstr "Uvozi"
+
+#: data/ui/medialibrary.ui:135
 msgid "Show clips as a detailed list"
 msgstr "Pokaži posnetke kot podroben seznam"
 
 #. This is used as a toolbar button tooltip. Here, "select" means "find" rather than "choose". It is not the user who selects, but rather the user requesting the application to select the relevant items.
-#: data/ui/medialibrary.ui:122
+#: data/ui/medialibrary.ui:163
 msgid "Select clips that have not been used in the project"
 msgstr "Izberi posnetke, ki še niso bili uporabljeni v projektu"
 
-#: data/ui/medialibrary.ui:123
+#: data/ui/medialibrary.ui:164
 msgid "Show all clips"
 msgstr "Pokaži vse posnetke"
 
-#: data/ui/medialibrary.ui:237
+#: data/ui/medialibrary.ui:278
 msgid ""
 "Add media to your project by dragging files and folders here or by using the "
 "\"Import\" button."
@@ -472,147 +523,110 @@ msgstr "Zapri"
 msgid "Some changes will not take effect until you restart Pitivi"
 msgstr "Nekatere spremembe ne bodo imele učinka do ponovnega zagona Pitivi."
 
-#: data/ui/projectsettings.ui:81 data/ui/renderingprogress.ui:41
-#: pitivi/editorperspective.py:540 pitivi/editorperspective.py:672
-#: pitivi/editorperspective.py:720 pitivi/editorperspective.py:773
-#: pitivi/greeterperspective.py:241 pitivi/medialibrary.py:779
+#: data/ui/projectsettings.ui:78 data/ui/renderingprogress.ui:41
 #: pitivi/dialogs/browseprojects.py:38 pitivi/dialogs/missingasset.py:46
+#: pitivi/editorperspective.py:544 pitivi/editorperspective.py:679
+#: pitivi/editorperspective.py:727 pitivi/editorperspective.py:780
+#: pitivi/greeterperspective.py:241 pitivi/medialibrary.py:856
 msgid "Cancel"
 msgstr "Prekliči"
 
-#: data/ui/projectsettings.ui:148 data/ui/projectsettings.ui:422
-#: data/ui/renderingdialog.ui:97
+#: data/ui/projectsettings.ui:146 data/ui/renderingdialog.ui:131
 msgid "Preset:"
 msgstr "Predhodno nastavljeno:"
 
-#: data/ui/projectsettings.ui:220
+#: data/ui/projectsettings.ui:218
 msgid "Size:"
 msgstr "Velikost datoteke:"
 
-#: data/ui/projectsettings.ui:280 data/ui/projectsettings.ui:763
+#: data/ui/projectsettings.ui:278 data/ui/projectsettings.ui:606
 msgid "pixels"
 msgstr "točke"
 
 #. When checked, changing the width or height affects also the other so that the aspect ratio value (width / height) does not change.
-#: data/ui/projectsettings.ui:297 data/ui/projectsettings.ui:780
+#: data/ui/projectsettings.ui:295 data/ui/projectsettings.ui:623
+#, fuzzy
 msgid "Constrain proportions"
-msgstr ""
+msgstr "Omeji razmerja"
 
-#: data/ui/projectsettings.ui:301
+#: data/ui/projectsettings.ui:299
 msgid "Maintain aspect ratio"
 msgstr "Ohrani razmerje velikosti"
 
-#: data/ui/projectsettings.ui:332 data/ui/renderingdialog.ui:407
+#: data/ui/projectsettings.ui:330 data/ui/renderingdialog.ui:732
 msgid "Frame rate:"
 msgstr "Hitrost sličic:"
 
 #. The title of the section with the video settings
-#: data/ui/projectsettings.ui:385 data/ui/renderingdialog.ui:425
-#: pitivi/effects.py:245
+#: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:750
+#: pitivi/clip_properties/markers.py:45 pitivi/effects.py:249
 msgid "Video"
 msgstr "Video"
 
-#: data/ui/projectsettings.ui:488 data/ui/renderingdialog.ui:464
-msgid "Channels:"
-msgstr "Kanali:"
-
-#: data/ui/projectsettings.ui:522 data/ui/renderingdialog.ui:573
-msgid "Sample rate:"
-msgstr "Hitrost vzorčenja:"
-
-#. The title of the section with the audio settings
-#: data/ui/projectsettings.ui:566 data/ui/renderingdialog.ui:591
-#: pitivi/effects.py:121 pitivi/effects.py:245
-msgid "Audio"
-msgstr "Zvok"
-
-#: data/ui/projectsettings.ui:611
+#: data/ui/projectsettings.ui:430
 msgid "Author:"
 msgstr "Avtor:"
 
-#: data/ui/projectsettings.ui:623
+#: data/ui/projectsettings.ui:442
 msgid "Year:"
 msgstr "Leto:"
 
 #. The title of the section with the name, author, year fields
-#: data/ui/projectsettings.ui:655
+#: data/ui/projectsettings.ui:498
 msgid "Info"
 msgstr "Podrobnosti"
 
-#: data/ui/projectsettings.ui:699
+#: data/ui/projectsettings.ui:542
 msgid "Scaled proxies resolution:"
 msgstr ""
 
-#: data/ui/projectsettings.ui:720 data/ui/projectsettings.ui:748
+#: data/ui/projectsettings.ui:563 data/ui/projectsettings.ui:591
 msgid "1"
 msgstr "1"
 
-#: data/ui/projectsettings.ui:798
+#: data/ui/projectsettings.ui:641
 msgid "<a href='#'>Proxy Preferences</a>"
 msgstr ""
 
-#: data/ui/projectsettings.ui:832
+#: data/ui/projectsettings.ui:675
 msgid "Proxy"
 msgstr "Posredniški strežnik"
 
-#: data/ui/projectsettings.ui:865
+#: data/ui/projectsettings.ui:709
 msgid "Title:"
 msgstr "Naslov:"
 
-#: data/ui/projectsettings.ui:882
+#: data/ui/projectsettings.ui:726
 msgid "Action:"
 msgstr "Dejanje:"
 
-#: data/ui/projectsettings.ui:1007
+#: data/ui/projectsettings.ui:851
 msgid "Safe Areas"
-msgstr ""
+msgstr "Varna območja"
 
-#: data/ui/renderingdialog.ui:35 data/ui/renderingdialog.ui:55
-#: pitivi/editorperspective.py:325
+#: data/ui/renderingdialog.ui:40 data/ui/renderingdialog.ui:59
+#: pitivi/editorperspective.py:329
 msgid "Render"
 msgstr "Pretvori"
 
-#: data/ui/renderingdialog.ui:142 pitivi/render.py:70
+#: data/ui/renderingdialog.ui:116
+msgid "Quality:"
+msgstr "Kakovost:"
+
+#: data/ui/renderingdialog.ui:177 pitivi/clip_properties/markers.py:48
+#: pitivi/render.py:74
 msgid "Custom"
 msgstr "Po meri"
 
-#: data/ui/renderingdialog.ui:239
-msgid "Scale:"
-msgstr "Povečava:"
-
-#: data/ui/renderingdialog.ui:272
-msgid "Scale"
-msgstr "Povečava"
-
-#: data/ui/renderingdialog.ui:292
-msgid "Height"
-msgstr "Višina"
-
-#: data/ui/renderingdialog.ui:311
-msgid "Project Settings..."
-msgstr "Nastavitve projekta ..."
-
-#: data/ui/renderingdialog.ui:326 data/ui/renderingdialog.ui:496
-msgid "Advanced..."
-msgstr "Napredno ..."
-
-#: data/ui/renderingdialog.ui:365 data/ui/renderingdialog.ui:536
-msgid "Codec:"
-msgstr "Kodek:"
-
-#: data/ui/renderingdialog.ui:391
-msgid "Framerate"
-msgstr "Hitrost v sličicah"
-
-#: data/ui/renderingdialog.ui:625
+#: data/ui/renderingdialog.ui:244
 msgid "Container format:"
 msgstr "Oblika vsebnika:"
 
-#: data/ui/renderingdialog.ui:692
+#: data/ui/renderingdialog.ui:311
 msgid "Automatically render from proxy files"
 msgstr ""
 
-#: data/ui/renderingdialog.ui:696
+#: data/ui/renderingdialog.ui:315
 msgid ""
 "Use proxy files if they are available and the source asset media format is "
 "not officially supported.\n"
@@ -621,21 +635,21 @@ msgid ""
 "stability."
 msgstr ""
 
-#: data/ui/renderingdialog.ui:711
+#: data/ui/renderingdialog.ui:330
 msgid "Always render from proxy files"
-msgstr ""
+msgstr "Vedno upodabljaj iz datotek posrednih posnetkov"
 
-#: data/ui/renderingdialog.ui:715
+#: data/ui/renderingdialog.ui:334
 msgid ""
 "Render all proxied clips from the proxy assets. There might be some quality "
 "loss during the rendering process."
 msgstr ""
 
-#: data/ui/renderingdialog.ui:728
+#: data/ui/renderingdialog.ui:347
 msgid "Never render from proxy files"
-msgstr ""
+msgstr "Nikoli ne upodabljaj iz datotek posrednih posnetkov"
 
-#: data/ui/renderingdialog.ui:732
+#: data/ui/renderingdialog.ui:351
 msgid ""
 "Always use source assets for rendering. It is the best choice for the "
 "quality of the rendered video, but you might hit some bugs because of the "
@@ -647,28 +661,70 @@ msgstr ""
 "zaradi uporabe uradno nepodprtih zapisov datotek.\n"
 "<i>Možnost uporabite na lastno odgovornost</i>"
 
-#: data/ui/renderingdialog.ui:756
+#: data/ui/renderingdialog.ui:398
+msgid "Channels:"
+msgstr "Kanali:"
+
+#: data/ui/renderingdialog.ui:430 data/ui/renderingdialog.ui:651
+msgid "Advanced..."
+msgstr "Napredno ..."
+
+#: data/ui/renderingdialog.ui:470 data/ui/renderingdialog.ui:690
+msgid "Codec:"
+msgstr "Kodek:"
+
+#: data/ui/renderingdialog.ui:507
+msgid "Sample rate:"
+msgstr "Hitrost vzorčenja:"
+
+#: data/ui/renderingdialog.ui:525 pitivi/clip_properties/markers.py:46
+#: pitivi/effects.py:126 pitivi/effects.py:249
+msgid "Audio"
+msgstr "Zvok"
+
+#: data/ui/renderingdialog.ui:564
+msgid "Scale:"
+msgstr "Povečava:"
+
+#: data/ui/renderingdialog.ui:597
+msgid "Scale"
+msgstr "Povečava"
+
+#: data/ui/renderingdialog.ui:617
+msgid "Height"
+msgstr "Višina"
+
+#: data/ui/renderingdialog.ui:636
+msgid "Project Settings..."
+msgstr "Nastavitve projekta ..."
+
+#: data/ui/renderingdialog.ui:716
+msgid "Framerate"
+msgstr "Hitrost v sličicah"
+
+#: data/ui/renderingdialog.ui:779
 msgid "Advanced"
 msgstr "Napredno"
 
-#: data/ui/renderingdialog.ui:777
-msgid "Folder:"
-msgstr "Mapa:"
+#: data/ui/renderingdialog.ui:790
+msgid "Select file"
+msgstr "Izberite datoteko"
 
-#: data/ui/renderingdialog.ui:813
-msgid "File name:"
-msgstr "Ime datoteke:"
+#: data/ui/renderingdialog.ui:807
+msgid "File path:"
+msgstr "Pot datoteke:"
 
 #: data/ui/renderingprogress.ui:8
 msgid "Rendering"
 msgstr "Pretvarjanje"
 
-#: data/ui/renderingprogress.ui:27 pitivi/viewer/viewer.py:778
+#: data/ui/renderingprogress.ui:27 data/ui/trackerperspective.ui:19
+#: pitivi/viewer/viewer.py:844
 msgid "Pause"
 msgstr "Premor"
 
-#: data/ui/renderingprogress.ui:55 pitivi/viewer/viewer.py:770
-#: pitivi/timeline/timeline.py:1823
+#: data/ui/renderingprogress.ui:55 data/ui/trackerperspective.ui:25
+#: pitivi/timeline/timeline.py:1921 pitivi/viewer/viewer.py:836
 msgid "Play"
 msgstr "Predvajaj"
 
@@ -727,30 +783,38 @@ msgid "Ungroup"
 msgstr "Razdruži"
 
 #: data/ui/timelinetoolbar.ui:76
+msgid "Cut clips"
+msgstr "Izreži posnetke"
+
+#: data/ui/timelinetoolbar.ui:78
+msgid "Cut"
+msgstr "Izreži"
+
+#: data/ui/timelinetoolbar.ui:91
 msgid "Copy clips"
 msgstr "Kopiraj posnetke"
 
-#: data/ui/timelinetoolbar.ui:78
+#: data/ui/timelinetoolbar.ui:93
 msgid "Copy"
 msgstr "Kopiraj"
 
-#: data/ui/timelinetoolbar.ui:91
+#: data/ui/timelinetoolbar.ui:106
 msgid "Paste clips"
 msgstr "Prilepi posnetke"
 
-#: data/ui/timelinetoolbar.ui:93
+#: data/ui/timelinetoolbar.ui:108
 msgid "Paste"
 msgstr "Prilepi izbor"
 
-#: data/ui/timelinetoolbar.ui:106
+#: data/ui/timelinetoolbar.ui:121
 msgid "Align clips based on their soundtracks"
 msgstr "Poravna posnetke na osnovi njihovih zvočnih sledi"
 
-#: data/ui/timelinetoolbar.ui:109
+#: data/ui/timelinetoolbar.ui:123
 msgid "Align"
 msgstr "Poravnaj"
 
-#: data/ui/timelinetoolbar.ui:122
+#: data/ui/timelinetoolbar.ui:136
 msgid ""
 "Toggle gapless mode\n"
 "When enabled, adjacent clips automatically move to fill gaps."
@@ -759,7 +823,7 @@ msgstr ""
 "Izbrana možnost omogoča, da se sosednji posnetki samodejno premaknejo, da "
 "zapolnijo vrzeli."
 
-#: data/ui/timelinetoolbar.ui:125
+#: data/ui/timelinetoolbar.ui:139
 msgid "Gapless mode"
 msgstr "Zvezni način"
 
@@ -775,65 +839,96 @@ msgstr "Izbor barve pisave"
 msgid "Pick a background color"
 msgstr "Izbor barve ozadja"
 
-#: data/ui/titleeditor.ui:164
+#: data/ui/titleeditor.ui:157
+msgid "Pick an outline color"
+msgstr "Izberite barvo orisa"
+
+#: data/ui/titleeditor.ui:193
+msgid "Drop Shadow"
+msgstr "Vrzi senco"
+
+#: data/ui/titleeditor.ui:215
 msgid "Alignment"
 msgstr "Poravnava"
 
-#: data/ui/titleeditor.ui:200
+#: data/ui/titleeditor.ui:251
 msgid "Horizontal:"
 msgstr "Vodoravno:"
 
-#: data/ui/titleeditor.ui:224
+#: data/ui/titleeditor.ui:275
 msgid "Vertical:"
 msgstr "Navpično:"
 
+#: data/ui/trackerperspective.ui:66
+msgid "Tracked Objects:"
+msgstr "Sledeni predmeti:"
+
+#: data/ui/trackerperspective.ui:195
+msgid "Drag&drop on the video to delimit an object to be tracked."
+msgstr ""
+
+#: data/ui/trackerperspective.ui:288
+msgid "Go back one frame"
+msgstr "Pojdi nazaj eno sličico"
+
+#: data/ui/trackerperspective.ui:318
+msgid "Go forward one frame"
+msgstr "Pojdi naprej eno sličico"
+
+#: data/ui/trackerperspective.ui:374
+msgid "Tracking Algorithm"
+msgstr "Algoritem sledenja"
+
+#: data/ui/trackerperspective.ui:401
+msgid "Track"
+msgstr "Sledi"
+
 #: pitivi/action_search_bar.py:46
 #, fuzzy
-#| msgid "Section"
 msgid "Search Action"
-msgstr "Odsek"
+msgstr "Dejanje iskanja"
 
-#: pitivi/application.py:158
+#: pitivi/application.py:160
 msgid "General"
 msgstr "Splošno"
 
-#: pitivi/application.py:165
+#: pitivi/application.py:167
 msgid "Undo the most recent action"
 msgstr "Razveljavi zadnje dejanje"
 
-#: pitivi/application.py:171
+#: pitivi/application.py:173
 msgid "Redo the most recent action"
 msgstr "Ponovno uveljavi zadnje dejanje"
 
-#: pitivi/application.py:176
+#: pitivi/application.py:178
 msgid "Quit"
 msgstr "Konča program"
 
-#: pitivi/application.py:184
+#: pitivi/application.py:186
 msgid "Show the Shortcuts Window"
 msgstr "Pokaže okno tipkovnih bližnjic"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:108
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:115
 #, python-format
 msgid "- %s not found on the system"
 msgstr "– %s ni mogoče najti v sistemu"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:111
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:118
 #, python-format
 msgid "- %s version %s is installed but Pitivi requires at least version %s"
 msgstr ""
 "– modul %s različice %s je nameščen, a zahteva program najmanj različico %s"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:186
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:193
 #, python-format
 msgid "- %s GStreamer plug-in not found on the system"
 msgstr "– vstavka GStreamer %s ni mogoče najti v sistemu"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:189
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:196
 #, python-format
 msgid ""
 "- %s Gstreamer plug-in version %s is installed but Pitivi requires at least "
@@ -842,59 +937,79 @@ msgstr ""
 "– vstavek GStreamer %s različice %s je nameščen, a zahteva program najmanj "
 "različico %s"
 
-#: pitivi/check.py:298
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:224
+#, python-format
+msgid "- %s GStreamer element not found on the system"
+msgstr "– elementa GStreamer %s ni mogoče najti v sistemu"
+
+#: pitivi/check.py:332
 msgid "ERROR - The following hard dependencies are unmet:"
 msgstr "NAPAKA – Navedene odvisnosti niso izpolnjene:"
 
-#: pitivi/check.py:307
+#: pitivi/check.py:340
 msgid "Missing soft dependency:"
 msgstr "Manjkajoče odvisnosti:"
 
-#: pitivi/check.py:314
+#: pitivi/check.py:347
 msgid ""
 "ERROR — Could not create a Gst.Fraction — this means gst-python is not "
 "installed correctly."
 msgstr ""
 
-#: pitivi/check.py:319
+#: pitivi/check.py:352
 msgid ""
 "Could not create audio output sink. Make sure you have a valid one "
 "(pulsesink, alsasink or osssink)."
 msgstr ""
 
-#: pitivi/check.py:324
+#: pitivi/check.py:357
 msgid ""
 "Could not create video output sink. Make sure you have a gtksink available."
 msgstr ""
 
-#: pitivi/check.py:339
+#: pitivi/check.py:372
 #, python-format
 msgid "Could not import '%s'. Make sure you have it available."
-msgstr ""
+msgstr "Ni bilo mogoče uvoziti »%s«. Prepričajte se, da je na voljo."
 
-#: pitivi/check.py:353
+#: pitivi/check.py:386
 msgid "Could not import 'gi'. Make sure you have pygobject available."
 msgstr ""
 
-#: pitivi/check.py:452
+#: pitivi/check.py:485
 msgid "enables sound notifications when rendering is complete"
 msgstr "omogoči zvočna obvestila po končanju izrisovanja"
 
-#: pitivi/check.py:454
+#: pitivi/check.py:487
 msgid "enables visual notifications when rendering is complete"
 msgstr "omogoči vidna obvestila po končanju izrisovanja"
 
-#: pitivi/check.py:456
+#: pitivi/check.py:489
 msgid "additional multimedia codecs through the GStreamer Libav library"
 msgstr "dodatni kodeki predstavnosti prek knjižnice Libav"
 
-#: pitivi/check.py:458
+#: pitivi/check.py:491
 msgid ""
 "enables a watchdog in the GStreamer pipeline. Use to detect errors happening "
 "in GStreamer and recover from them"
 msgstr ""
 
-#: pitivi/clipproperties.py:126
+#: pitivi/check.py:495
+msgid "enables object tracking"
+msgstr "Omogoča sledenje predmetom"
+
+#: pitivi/check.py:496
+#, fuzzy
+msgid "enables beat detection functionality"
+msgstr "Omogoča funkcijo zaznavanja udarcev"
+
+#. Translators: This is the default text of a title clip.
+#: pitivi/clipproperties.py:69
+msgid "Title Clip"
+msgstr "Posnetek napisa"
+
+#: pitivi/clipproperties.py:162
 msgid ""
 "Select a clip on the timeline to configure its properties and effects or "
 "create a new clip:"
@@ -902,19 +1017,37 @@ msgstr ""
 "Izberite posnetek na časovnici za nastavitev lastnosti in učinkov oziroma za "
 "ustvarjanje novega:"
 
-#: pitivi/clipproperties.py:132
+#: pitivi/clipproperties.py:168
 msgid "Create a title clip"
 msgstr "Ustvari naslovni posnetek"
 
-#: pitivi/clipproperties.py:137
+#: pitivi/clipproperties.py:173
 msgid "Create a color clip"
 msgstr "Ustvari barvni posnetek"
 
-#: pitivi/clipproperties.py:222
+#: pitivi/clipproperties.py:276 pitivi/effects.py:122
+msgid "Time"
+msgstr "Čas"
+
+#: pitivi/clipproperties.py:319
+msgid "Speed"
+msgstr "Hitrost"
+
+#: pitivi/clipproperties.py:334 pitivi/utils/widgets.py:800
+#, python-format
+msgid "%(preference_label)s:"
+msgstr "%(preference_label)s:"
+
+#: pitivi/clipproperties.py:337 pitivi/dialogs/prefs.py:286
+#: pitivi/utils/widgets.py:976
+msgid "Reset to default value"
+msgstr "Ponastavi na privzeto vrednost"
+
+#: pitivi/clipproperties.py:572
 msgid "Effects"
 msgstr "Učinki"
 
-#: pitivi/clipproperties.py:239
+#: pitivi/clipproperties.py:590
 msgid ""
 "To apply an effect to the clip, drag it from the Effect Library or use the "
 "button below."
@@ -922,25 +1055,27 @@ msgstr ""
 "Za uporabo učinka na posnetku, ga potegnite iz Knjižnice učinkov, ali pa "
 "uporabite spodnji gumb."
 
-#: pitivi/clipproperties.py:247
+#: pitivi/clipproperties.py:598
 msgid "Add Effect"
 msgstr "Dodaj učinek"
 
-#: pitivi/clipproperties.py:554
+#: pitivi/clipproperties.py:608
+msgid "Cover Object"
+msgstr "Prekrij predmet"
+
+#: pitivi/clipproperties.py:938
 msgid "Transformation"
 msgstr "Preoblikovanje"
 
-#: pitivi/clipproperties.py:676
+#: pitivi/clipproperties.py:1067
 msgid "Show keyframes"
 msgstr "Pokaži ključne sličice"
 
-#: pitivi/clipproperties.py:679
-#, fuzzy
-#| msgid "Add a keyframe"
+#: pitivi/clipproperties.py:1070
 msgid "Activate keyframes"
-msgstr "Dodaj ključno sličico"
+msgstr "Aktiviraj ključne sličice"
 
-#: pitivi/clipproperties.py:684
+#: pitivi/clipproperties.py:1075
 msgid "Hide keyframes"
 msgstr "Skrij ključne sličice"
 
@@ -948,135 +1083,360 @@ msgstr "Skrij ključne sličice"
 msgid "Color"
 msgstr "Barva"
 
-#: pitivi/clip_properties/title.py:43
+#: pitivi/clip_properties/compositing.py:57 pitivi/effects.py:81
+msgid "Compositing"
+msgstr "Sestavljanje"
+
+#. Translators: These are compositing operators.
+#. See https://www.cairographics.org/operators/ for explanation and
+#. visualizations.
+#: pitivi/clip_properties/compositing.py:80
+msgid "Source"
+msgstr ""
+
+#: pitivi/clip_properties/compositing.py:81
+msgid "Over"
+msgstr ""
+
+#: pitivi/clip_properties/markers.py:47
+msgid "Text"
+msgstr "Besedilo"
+
+#: pitivi/clip_properties/markers.py:64
+msgid "Clip markers"
+msgstr "Označevalniki posnetkov"
+
+#: pitivi/clip_properties/markers.py:125
+msgid "Magnetic"
+msgstr "Magnetno"
+
+#: pitivi/clip_properties/title.py:47
 msgid "Title clip duration"
 msgstr "Trajanje naslovnega posnetka"
 
-#: pitivi/clip_properties/title.py:45
+#: pitivi/clip_properties/title.py:49
 msgid ""
 "Default clip length (in milliseconds) of titles when inserting on the "
 "timeline."
 msgstr "Privzeta dolžina posnetka naslova (v ms) ob vstavljanju na časovnico."
 
-#: pitivi/clip_properties/title.py:59
+#: pitivi/clip_properties/title.py:63
 msgid "Title"
 msgstr "Napis"
 
-#: pitivi/clip_properties/title.py:101 pitivi/clip_properties/title.py:108
+#. TODO: Remove when we upgrade pylint https://github.com/PyCQA/pylint/issues/4962
+#. pylint: disable=superfluous-parens
+#: pitivi/clip_properties/title.py:122 pitivi/clip_properties/title.py:129
 msgid "Absolute"
 msgstr "Absolutno"
 
-#: pitivi/clip_properties/title.py:102
+#: pitivi/clip_properties/title.py:123
 msgid "Top"
 msgstr "Na vrhu"
 
-#: pitivi/clip_properties/title.py:103 pitivi/clip_properties/title.py:110
+#: pitivi/clip_properties/title.py:124 pitivi/clip_properties/title.py:131
 msgid "Center"
 msgstr "Sredinsko"
 
-#: pitivi/clip_properties/title.py:104
+#: pitivi/clip_properties/title.py:125
 msgid "Bottom"
 msgstr "Na dnu"
 
-#: pitivi/clip_properties/title.py:105
+#: pitivi/clip_properties/title.py:126
 msgid "Baseline"
 msgstr "Osnovnica besedila"
 
-#: pitivi/clip_properties/title.py:109
+#: pitivi/clip_properties/title.py:130
 msgid "Left"
 msgstr "Levo"
 
-#: pitivi/clip_properties/title.py:111
+#: pitivi/clip_properties/title.py:132
 msgid "Right"
 msgstr "Desno"
 
-#: pitivi/editorperspective.py:201 pitivi/medialibrary.py:595
-msgid "Media Library"
-msgstr "Knjižnica vsebin"
-
-#: pitivi/editorperspective.py:203
-msgid "Effect Library"
-msgstr "Knjižnica učinkov"
+#: pitivi/dialogs/about.py:45
+#, python-format
+msgid "Version %s"
+msgstr "Različica %s"
 
-#: pitivi/editorperspective.py:213
-msgid "Clip"
-msgstr "Posnetek"
+#: pitivi/dialogs/about.py:47
+#, python-format
+msgid "Version %(cur_ver)s — %(new_ver)s is available"
+msgstr "Različica %(cur_ver)s – na voljo je posodobitev %(new_ver)s"
 
-#: pitivi/editorperspective.py:215
-msgid "Transition"
-msgstr "Prehod"
+#: pitivi/dialogs/about.py:58
+msgid "Current maintainers:"
+msgstr "Trenutni vzdrževalci:"
 
-#: pitivi/editorperspective.py:308
-msgid "Undo"
-msgstr "Razveljavi"
+#: pitivi/dialogs/about.py:63
+msgid "Past maintainers:"
+msgstr "Predhodni vzdrževalci:"
 
-#. pylint: disable=attribute-defined-outside-init
-#: pitivi/editorperspective.py:319 pitivi/editorperspective.py:532
-#: pitivi/editorperspective.py:673 pitivi/editorperspective.py:721
-#: pitivi/editorperspective.py:774 pitivi/preset.py:113 pitivi/project.py:200
-#: pitivi/render.py:214
-msgid "Save"
-msgstr "Shrani"
+#: pitivi/dialogs/about.py:69
+msgid "Contributors:"
+msgstr "Avtorji prispevkov:"
 
-#: pitivi/editorperspective.py:327
-msgid "Export your project as a finished movie"
-msgstr "Izvozite svoj projekt kot končan posnetek"
+#. Translators: See
+#. https://developer.gnome.org/gtk3/stable/GtkAboutDialog.html#gtk-about-dialog-set-translator-credits
+#. for details on how this is used.
+#: pitivi/dialogs/about.py:76
+msgid "translator-credits"
+msgstr ""
+"Matej Urbančič <mateju@svn.gnome.org>\n"
+"Andrej Žnidaršič"
 
-#: pitivi/editorperspective.py:360
-msgid "Save the current project"
-msgstr "Shrani trenutni projekt"
+#: pitivi/dialogs/browseprojects.py:34
+msgid "Open Project…"
+msgstr "Odpri projekt …"
 
-#: pitivi/editorperspective.py:368
-msgid "Save the current project as"
-msgstr "Shrani trenutni projekt kot"
+#: pitivi/dialogs/browseprojects.py:39 pitivi/dialogs/missingasset.py:47
+msgid "Open"
+msgstr "Odpri"
 
-#: pitivi/editorperspective.py:388
-msgid "Quick intros to Pitivi"
-msgstr "Hitri uvod v Pitivi"
+#: pitivi/dialogs/browseprojects.py:55
+msgid "All supported formats"
+msgstr "Vse podprte vrste datotek"
 
-#: pitivi/editorperspective.py:504
-#, python-format
-msgid "Unable to save project \"%s\""
-msgstr "Shranjevanje projekta »%s« je spodletelo."
+#: pitivi/dialogs/clipmediaprops.py:102
+msgid "Variable"
+msgstr "Spremenljiva"
 
-#: pitivi/editorperspective.py:534 pitivi/project.py:199
-msgid "Save as..."
-msgstr "Shrani kot ..."
+#: pitivi/dialogs/clipmediaprops.py:128
+msgid "Image:"
+msgstr "Slika:"
 
-#: pitivi/editorperspective.py:537
-msgid "Close without saving"
-msgstr "Zapri brez shranjevanja"
+#: pitivi/dialogs/filelisterrordialog.py:52
+msgid "Unknown reason"
+msgstr "Neznan vzrok"
 
-#: pitivi/editorperspective.py:547
-msgid "Save changes to the current project before closing?"
-msgstr "Ali naj bodo spremembe trenutnega projekta pred zaprtjem shranjene?"
+#: pitivi/dialogs/filelisterrordialog.py:85
+msgid "Problem:"
+msgstr "Težava:"
 
-#: pitivi/editorperspective.py:556
-#, python-format
-msgid "If you don't save, the changes from the last %s will be lost."
-msgstr "Če projekta ne shranite, bodo spremembe zadnjih %s izgubljene."
+#: pitivi/dialogs/filelisterrordialog.py:93
+msgid "Extra information:"
+msgstr "Dodatne podrobnosti:"
 
-#: pitivi/editorperspective.py:560
-msgid "If you don't save, your changes will be lost."
-msgstr "Če projekta ne shranite, bodo spremembe izgubljene."
+#: pitivi/dialogs/missingasset.py:44
+msgid "Locate missing file..."
+msgstr "Najdi manjkajočo datoteko ..."
 
-#: pitivi/editorperspective.py:604
-msgid "Revert to saved project version?"
-msgstr "Ali naj se seja povrne na shranjeno različico?"
+#: pitivi/dialogs/missingasset.py:58
+msgid "The following file could not be found:"
+msgstr "Navedene datoteke ni mogoče najti:"
 
-#: pitivi/editorperspective.py:609
-msgid "This will reload the current project. All unsaved changes will be lost."
-msgstr ""
-"S tem bo ponovno naložen trenutni projekt. Vse trenutno neshranjene "
-"spremembe bodo izgubljene."
+#: pitivi/dialogs/missingasset.py:82
+msgid "Please specify its new location:"
+msgstr "Navedite njeno novo mesto:"
 
-#. Signal the project loading failure.
-#. You have to do this *after* successfully creating a blank project,
-#. or the startupwizard will still be connected to that signal too.
-#: pitivi/editorperspective.py:640
+#. Translators: this is a format filter in a filechooser. Ex: "AVI files"
+#: pitivi/dialogs/missingasset.py:113
 #, python-format
-msgid ""
-"No replacement file was provided for \"<i>%s</i>\".\n"
+msgid "%s files"
+msgstr "Datoteke %s"
+
+#: pitivi/dialogs/missingasset.py:117 pitivi/medialibrary.py:884
+msgid "All files"
+msgstr "Vse datoteke"
+
+#: pitivi/dialogs/prefs.py:61 pitivi/timeline/timeline.py:1749
+msgid "Timeline"
+msgstr "Časovnica"
+
+#: pitivi/dialogs/prefs.py:62
+msgid "Plugins"
+msgstr "Vstavki"
+
+#: pitivi/dialogs/prefs.py:63
+msgid "Shortcuts"
+msgstr "Tipkovne bližnjice"
+
+#: pitivi/dialogs/prefs.py:64
+msgid "Proxies"
+msgstr "Posredni posnetki"
+
+#: pitivi/dialogs/prefs.py:65
+msgid "Other"
+msgstr "Drugi"
+
+#: pitivi/dialogs/prefs.py:332
+#, fuzzy
+msgid ""
+"This resolution will be used as the default target resolution for new "
+"projects and projects missing scaled proxy meta-data."
+msgstr ""
+"Ta ločljivost bo uporabljena kot privzeta ciljna ločljivost za nove projekte "
+"in projekte, katerim manjkajo metapodatki preumerjenih nadomestnih posnetkov."
+
+#: pitivi/dialogs/prefs.py:345
+msgid "Initial proxy size for new projects"
+msgstr ""
+
+#: pitivi/dialogs/prefs.py:380
+#, python-format
+msgid "Proxy resolution for the current project is %d×%d px"
+msgstr ""
+
+#: pitivi/dialogs/prefs.py:459
+msgid "Reset the shortcut to the default accelerator"
+msgstr "Ponastavi bližnjico na privzeto vrednost"
+
+#: pitivi/dialogs/prefs.py:616
+msgid "Set Shortcut"
+msgstr "Nastavi tipkovno bližnjico"
+
+#. Setup the widgets used in the dialog.
+#: pitivi/dialogs/prefs.py:631
+msgid "Apply"
+msgstr "Uveljavi"
+
+#: pitivi/dialogs/prefs.py:634
+msgid "Apply the accelerator to this shortcut."
+msgstr ""
+
+#: pitivi/dialogs/prefs.py:637
+msgid "Replace"
+msgstr "Zamenjaj"
+
+#: pitivi/dialogs/prefs.py:640
+msgid ""
+"Remove this accelerator from where it was used previously and set it for "
+"this shortcut."
+msgstr ""
+
+#: pitivi/dialogs/prefs.py:647
+#, python-format
+msgid "Enter new shortcut for <b>%s</b>, or press Esc to cancel."
+msgstr ""
+"Vpišite tipkovno bližnjico za ukaz <b>%s</b>, ali pa pritisnite Esc za "
+"preklic dejanja."
+
+#: pitivi/dialogs/prefs.py:656
+msgid ""
+"The accelerator you are trying to set might interfere with typing. Try using "
+"Control, Shift or Alt with some other key, please."
+msgstr ""
+
+#: pitivi/dialogs/prefs.py:690
+#, python-format
+msgid ""
+"This key combination is already used by <b>%s</b>. Press Replace to use it "
+"for <b>%s</b> instead."
+msgstr ""
+"Ta kombinacija tipk je že uporabljena za ukaz <b>%s</b>. Pritistnite tipko "
+"»Zamenjaj«, da jo prepišete za ukaz <b>%s</b>."
+
+#: pitivi/dialogs/prefs.py:737
+msgid "No description available."
+msgstr "Opis ni na voljo."
+
+#: pitivi/dialogs/prefs.py:828
+#, python-brace-format
+msgid "Unable to load the plugin '{module_name}'"
+msgstr "Vstavka »{module_name}« ni mogoče naložiti."
+
+#. We could use Gtk.ListBox.set_placeholder, but it
+#. appears bad inside the list widget.
+#: pitivi/dialogs/prefs.py:912
+msgid "No plugins available"
+msgstr "Ni razpoložljivih vstavkov"
+
+#: pitivi/dialogs/prefs.py:925
+#, python-brace-format
+msgid ""
+"You can create <a href='{doc_url}'>plugins</a> into your <a "
+"href='{dir_url}'>plugins directory</a>."
+msgstr ""
+"<a href='{doc_url}'>Vstavke</a> lahko ustvarite v <a href='{dir_url}'>mapi "
+"vstavkov</a>."
+
+#: pitivi/editorperspective.py:205 pitivi/medialibrary.py:623
+msgid "Media Library"
+msgstr "Knjižnica vsebin"
+
+#: pitivi/editorperspective.py:207
+msgid "Effect Library"
+msgstr "Knjižnica učinkov"
+
+#: pitivi/editorperspective.py:217
+msgid "Clip"
+msgstr "Posnetek"
+
+#: pitivi/editorperspective.py:219
+msgid "Transition"
+msgstr "Prehod"
+
+#: pitivi/editorperspective.py:312
+msgid "Undo"
+msgstr "Razveljavi"
+
+#. pylint: disable=attribute-defined-outside-init
+#: pitivi/editorperspective.py:323 pitivi/editorperspective.py:536
+#: pitivi/editorperspective.py:680 pitivi/editorperspective.py:728
+#: pitivi/editorperspective.py:781 pitivi/preset.py:113 pitivi/project.py:195
+#: pitivi/render.py:226
+msgid "Save"
+msgstr "Shrani"
+
+#: pitivi/editorperspective.py:331
+msgid "Export your project as a finished movie"
+msgstr "Izvozite svoj projekt kot končan posnetek"
+
+#: pitivi/editorperspective.py:364
+msgid "Save the current project"
+msgstr "Shrani trenutni projekt"
+
+#: pitivi/editorperspective.py:372
+msgid "Save the current project as"
+msgstr "Shrani trenutni projekt kot"
+
+#: pitivi/editorperspective.py:392
+msgid "Quick intros to Pitivi"
+msgstr "Hitri uvod v Pitivi"
+
+#: pitivi/editorperspective.py:508
+#, python-format
+msgid "Unable to save project \"%s\""
+msgstr "Shranjevanje projekta »%s« je spodletelo."
+
+#: pitivi/editorperspective.py:538 pitivi/project.py:194
+msgid "Save as..."
+msgstr "Shrani kot ..."
+
+#: pitivi/editorperspective.py:541
+msgid "Close without saving"
+msgstr "Zapri brez shranjevanja"
+
+#: pitivi/editorperspective.py:551
+msgid "Save changes to the current project before closing?"
+msgstr "Ali naj bodo spremembe trenutnega projekta pred zaprtjem shranjene?"
+
+#: pitivi/editorperspective.py:560
+#, python-format
+msgid "If you don't save, the changes from the last %s will be lost."
+msgstr "Če projekta ne shranite, bodo spremembe zadnjih %s izgubljene."
+
+#: pitivi/editorperspective.py:564
+msgid "If you don't save, your changes will be lost."
+msgstr "Če projekta ne shranite, bodo spremembe izgubljene."
+
+#: pitivi/editorperspective.py:611
+msgid "Revert to saved project version?"
+msgstr "Ali naj se seja povrne na shranjeno različico?"
+
+#: pitivi/editorperspective.py:616
+msgid "This will reload the current project. All unsaved changes will be lost."
+msgstr ""
+"S tem bo ponovno naložen trenutni projekt. Vse trenutno neshranjene "
+"spremembe bodo izgubljene."
+
+#. Signal the project loading failure.
+#. You have to do this *after* successfully creating a blank project,
+#. or the startupwizard will still be connected to that signal too.
+#: pitivi/editorperspective.py:647
+#, python-format
+msgid ""
+"No replacement file was provided for \"<i>%s</i>\".\n"
 "\n"
 "Pitivi does not currently support partial projects."
 msgstr ""
@@ -1084,81 +1444,84 @@ msgstr ""
 "\n"
 "Pitivi trenutno ne podpira delnih projektov."
 
-#: pitivi/editorperspective.py:669
+#: pitivi/editorperspective.py:676
 msgid "Export To..."
 msgstr "Izvozi v ..."
 
-#: pitivi/editorperspective.py:686
+#: pitivi/editorperspective.py:693
 msgid "Tar archive"
 msgstr "Datoteka arhiva Tar"
 
-#: pitivi/editorperspective.py:690 pitivi/editorperspective.py:736
+#: pitivi/editorperspective.py:697 pitivi/editorperspective.py:743
 msgid "Detect automatically"
 msgstr "Samodejno zaznaj"
 
-#: pitivi/editorperspective.py:730 pitivi/editorperspective.py:777
-#: pitivi/project.py:72 pitivi/render.py:708
+#: pitivi/editorperspective.py:737 pitivi/editorperspective.py:784
+#: pitivi/project.py:62 pitivi/render.py:821
 msgid "Untitled"
 msgstr "Neimenovano"
 
-#: pitivi/editorperspective.py:779
+#: pitivi/editorperspective.py:786
 msgid "PNG image"
 msgstr "Slika PNG"
 
-#: pitivi/editorperspective.py:780
+#: pitivi/editorperspective.py:787
 msgid "JPEG image"
 msgstr "Slika JPEG"
 
-#: pitivi/editorperspective.py:821
+#: pitivi/editorperspective.py:828
 msgid "Preview"
 msgstr "Predogled"
 
-#: pitivi/effects.py:60
+#: pitivi/effects.py:65
 msgid "Colors"
 msgstr "Barve"
 
-#: pitivi/effects.py:76
-msgid "Compositing"
-msgstr "Sestavljanje"
-
-#: pitivi/effects.py:83
+#: pitivi/effects.py:88
 msgid "Noise & blur"
 msgstr "Šum in neostrina"
 
-#: pitivi/effects.py:88
+#: pitivi/effects.py:93
 msgid "Analysis"
 msgstr "Preučevanje"
 
-#: pitivi/effects.py:95
+#: pitivi/effects.py:100
 msgid "Geometry"
 msgstr "Geometrija"
 
-#: pitivi/effects.py:106
+#: pitivi/effects.py:111
 msgid "Fancy"
 msgstr "Olepšano"
 
-#: pitivi/effects.py:117
-msgid "Time"
-msgstr "Čas"
-
-#: pitivi/effects.py:245
+#: pitivi/effects.py:249
 msgid "effect"
 msgstr "učinek"
 
+#. Translators: How the video effect which covers/hides a
+#. tracked object is listed. The {} is entered by the user
+#. and denotes the tracked object.
+#: pitivi/effects.py:330
+msgid "{} cover"
+msgstr ""
+
+#: pitivi/effects.py:331
+msgid "Object cover effect"
+msgstr ""
+
 #. Add Uncategorized only if there are other categories defined.
-#: pitivi/effects.py:336 pitivi/effects.py:350
+#: pitivi/effects.py:354 pitivi/effects.py:368
 msgid "Uncategorized"
 msgstr "Nekategorizirano"
 
-#: pitivi/effects.py:392 pitivi/effects.py:659
+#: pitivi/effects.py:410 pitivi/effects.py:677
 msgid "No effects"
 msgstr "Brez učinkov"
 
-#: pitivi/effects.py:480
+#: pitivi/effects.py:498
 msgid "Add to Favorites"
 msgstr "Dodaj med priljubljene"
 
-#: pitivi/greeterperspective.py:228 pitivi/preset.py:101 pitivi/render.py:202
+#: pitivi/greeterperspective.py:228 pitivi/preset.py:101 pitivi/render.py:214
 msgid "New"
 msgstr "Novo"
 
@@ -1205,8 +1568,9 @@ msgstr ""
 
 #. pylint: disable=attribute-defined-outside-init
 #: pitivi/interactiveintro.py:154
+#, fuzzy
 msgid "Start Overview"
-msgstr ""
+msgstr "Začni pregled"
 
 #: pitivi/interactiveintro.py:212
 msgid "Welcome to Pitivi!"
@@ -1214,7 +1578,7 @@ msgstr "Dobrodošli v Pitivi!"
 
 #: pitivi/interactiveintro.py:214
 msgid "Drag files here to import them"
-msgstr ""
+msgstr "Povlecite datoteke sem, da jih uvozite"
 
 #: pitivi/interactiveintro.py:216
 msgid "Drag clips in the timeline to arrange them"
@@ -1223,6 +1587,7 @@ msgstr "Potegnite posnetke v časovnici in jih tako preuredite"
 #: pitivi/interactiveintro.py:218
 msgid "Right-click anywhere to move the playhead"
 msgstr ""
+"Z desno tipko miške kliknite kjerkoli, če želite premakniti predvajalno glavo"
 
 #: pitivi/interactiveintro.py:220
 msgid "Preview with the play button"
@@ -1242,25 +1607,25 @@ msgstr "Temna tema"
 
 #: pitivi/mainwindow.py:75
 msgid "Whether or not to use a dark theme."
-msgstr ""
+msgstr "Ali želite uporabiti temno temo ali ne."
 
-#: pitivi/mainwindow.py:188
+#: pitivi/mainwindow.py:189
 msgid "Project"
 msgstr "Projekt"
 
-#: pitivi/mainwindow.py:195
+#: pitivi/mainwindow.py:196
 msgid "Help"
 msgstr "Pomoč"
 
-#: pitivi/mainwindow.py:202
+#: pitivi/mainwindow.py:203
 msgid "About"
 msgstr "O programu"
 
-#: pitivi/mainwindow.py:209
+#: pitivi/mainwindow.py:210
 msgid "Show the menu button content"
-msgstr ""
+msgstr "Pokaži vsebino gumba menija"
 
-#: pitivi/mainwindow.py:261
+#: pitivi/mainwindow.py:262
 #, python-format
 msgid "Unable to load project \"%s\""
 msgstr "Nalaganje projekta »%s« je spodletelo"
@@ -1279,12 +1644,12 @@ msgid "<b>Resolution</b>: %d×%d"
 msgstr "<b>Ločljivost</b>: %d×%d"
 
 #: pitivi/mediafilespreviewer.py:271 pitivi/mediafilespreviewer.py:288
-#: pitivi/utils/ui.py:534
+#: pitivi/utils/ui.py:568
 #, python-format
 msgid "<b>Duration</b>: %s"
 msgstr "<b>Trajanje</b>: %s"
 
-#: pitivi/mediafilespreviewer.py:461 pitivi/medialibrary.py:1113
+#: pitivi/mediafilespreviewer.py:461 pitivi/medialibrary.py:1207
 msgid "Error while analyzing a file"
 msgid_plural "Error while analyzing files"
 msgstr[0] "Prišlo je do napake med preučevanjem datotek"
@@ -1292,69 +1657,63 @@ msgstr[1] "Prišlo je do napake med preučevanjem datoteke"
 msgstr[2] "Prišlo je do napake med preučevanjem datotek"
 msgstr[3] "Prišlo je do napake med preučevanjem datotek"
 
-#: pitivi/medialibrary.py:141
+#: pitivi/medialibrary.py:146
 msgid "Keep dialog open"
 msgstr "Ohrani pogovorno okno odprto"
 
-#: pitivi/medialibrary.py:143
+#: pitivi/medialibrary.py:148
 msgid "When importing files keep the dialog open"
-msgstr ""
+msgstr "Pri uvozu datotek ohrani pogovorno okno odprto"
 
 #. Translators: Create optimized media for unsupported files.
-#: pitivi/medialibrary.py:149
+#: pitivi/medialibrary.py:154
 msgid "Optimize:"
-msgstr ""
+msgstr "Optimiziraj:"
 
-#: pitivi/medialibrary.py:153
+#: pitivi/medialibrary.py:158
 msgid "Unsupported assets"
 msgstr "Nepodprti viri"
 
-#: pitivi/medialibrary.py:154
+#: pitivi/medialibrary.py:159
 msgid "All"
 msgstr "Vse"
 
-#: pitivi/medialibrary.py:235
+#: pitivi/medialibrary.py:240
 #, python-format
 msgid "Scale assets larger than %s×%s px."
 msgstr ""
 
-#: pitivi/medialibrary.py:513 pitivi/medialibrary.py:990
+#: pitivi/medialibrary.py:524 pitivi/medialibrary.py:1084
 msgid "Unknown"
 msgstr "Neznano"
 
-#: pitivi/medialibrary.py:602
+#: pitivi/medialibrary.py:630
 msgid "Remove the selected assets"
 msgstr "Odstrani izbrane vire"
 
-#: pitivi/medialibrary.py:609
-#, fuzzy
-#| msgid "Insert the selected clips at the end of the timeline"
+#: pitivi/medialibrary.py:637
 msgid "Insert selected assets at the end of the timeline"
-msgstr "Vstavi izbrane posnetke na konec časovnice"
+msgstr "Vstavi izbrane predmete na konec časovnice"
 
-#: pitivi/medialibrary.py:776
+#: pitivi/medialibrary.py:853
 msgid "Select One or More Files"
 msgstr "Izbor ene ali več datotek"
 
-#: pitivi/medialibrary.py:780
+#: pitivi/medialibrary.py:857 pitivi/medialibrary.py:1281
 msgid "Add"
 msgstr "Dodaj"
 
-#: pitivi/medialibrary.py:795
+#: pitivi/medialibrary.py:872 pitivi/render.py:1491
 msgid "Supported file formats"
 msgstr "Vse podprte vrste datotek"
 
-#: pitivi/medialibrary.py:807 pitivi/dialogs/missingasset.py:117
-msgid "All files"
-msgstr "Vse datoteke"
-
 #. Translators: this string indicates the estimated time
 #. remaining until an action (such as rendering) completes.
 #. The "%s" is an already-localized human-readable duration,
 #. such as "31 seconds", "1 minute" or "1 hours, 14 minutes".
 #. In some languages, "About %s left" can be expressed roughly as
 #. "There remains approximatively %s" (to handle gender and plurals)
-#: pitivi/medialibrary.py:896
+#: pitivi/medialibrary.py:990
 #, python-format
 msgid "Transcoding %d asset: %d%% (About %s left)"
 msgid_plural "Transcoding %d assets: %d%% (About %s left)"
@@ -1363,7 +1722,7 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: pitivi/medialibrary.py:1002
+#: pitivi/medialibrary.py:1096
 msgid "View error"
 msgid_plural "View errors"
 msgstr[0] "Ogled napak"
@@ -1372,7 +1731,7 @@ msgstr[2] "Ogled napak"
 msgstr[3] "Ogled napak"
 
 #. Translators: {0:d} is just like %d (integer number variable)
-#: pitivi/medialibrary.py:1004
+#: pitivi/medialibrary.py:1098
 #, python-brace-format
 msgid "An error occurred while importing."
 msgid_plural "{0:d} errors occurred while importing."
@@ -1381,12 +1740,12 @@ msgstr[1] "Med uvažanjem je prišlo do {0:d} napake."
 msgstr[2] "Med uvažanjem je prišlo do {0:d} napak."
 msgstr[3] "Med uvažanjem je prišlo do {0:d} napak."
 
-#: pitivi/medialibrary.py:1020
+#: pitivi/medialibrary.py:1114
 #, python-format
 msgid "The project settings have been set to match file '%s'"
-msgstr ""
+msgstr "Nastavitve projekta so nastavljene tako, da se ujemajo z datoteko »%s«"
 
-#: pitivi/medialibrary.py:1116
+#: pitivi/medialibrary.py:1210
 #, fuzzy
 #| msgid "The following file can not be used with Pitivi."
 msgid "The following file can not be used with Pitivi."
@@ -1396,15 +1755,23 @@ msgstr[1] "Pitivi ne more uporabiti naslednje datoteke."
 msgstr[2] "Pitivi ne more uporabiti naslednje datoteke."
 msgstr[3] "Pitivi ne more uporabiti naslednje datoteke."
 
-#: pitivi/medialibrary.py:1192
+#: pitivi/medialibrary.py:1240
+msgid "Tag as:"
+msgstr "Označi kot:"
+
+#: pitivi/medialibrary.py:1278
+msgid "Enter tag"
+msgstr "Vnesite značko"
+
+#: pitivi/medialibrary.py:1438
 msgid "Open containing folder"
 msgstr "Odpri vsebujočo mapo"
 
-#: pitivi/medialibrary.py:1199
+#: pitivi/medialibrary.py:1445
 msgid "Edit"
 msgstr "Uredi"
 
-#: pitivi/medialibrary.py:1228
+#: pitivi/medialibrary.py:1474
 msgid "Do not use Optimised Proxy for selected asset"
 msgid_plural "Do not use Optimised Proxies for selected assets"
 msgstr[0] ""
@@ -1412,8 +1779,8 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: pitivi/medialibrary.py:1239 pitivi/medialibrary.py:1261
-#: pitivi/medialibrary.py:1283
+#: pitivi/medialibrary.py:1485 pitivi/medialibrary.py:1507
+#: pitivi/medialibrary.py:1529
 msgid "Delete corresponding proxy file"
 msgid_plural "Delete corresponding proxy files"
 msgstr[0] ""
@@ -1421,7 +1788,7 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: pitivi/medialibrary.py:1250
+#: pitivi/medialibrary.py:1496
 msgid "Do not use Proxy for selected asset"
 msgid_plural "Do not use Proxies for selected assets"
 msgstr[0] ""
@@ -1429,7 +1796,7 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: pitivi/medialibrary.py:1272
+#: pitivi/medialibrary.py:1518
 msgid "Do not use Scaled Proxy for selected asset"
 msgid_plural "Do not use Scaled Proxies for selected assets"
 msgstr[0] ""
@@ -1437,7 +1804,7 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: pitivi/medialibrary.py:1294
+#: pitivi/medialibrary.py:1540
 msgid "Use Optimised Proxy for selected asset"
 msgid_plural "Use Optimised Proxies for selected assets"
 msgstr[0] ""
@@ -1445,7 +1812,7 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: pitivi/medialibrary.py:1304
+#: pitivi/medialibrary.py:1550
 msgid "Use Scaled Proxy for selected asset"
 msgid_plural "Use Scaled Proxies for selected assets"
 msgstr[0] ""
@@ -1472,11 +1839,11 @@ msgstr "Nova nastavitev %d"
 
 #. GTK does not allow an empty string as the dialog title, so we use the
 #. same translatable one as render.py's pipeline error message dialog:
-#: pitivi/project.py:183 pitivi/render.py:1165
+#: pitivi/project.py:178 pitivi/render.py:1320
 msgid "Sorry, something didn’t work right."
 msgstr "Ops, prišlo je do napake."
 
-#: pitivi/project.py:186
+#: pitivi/project.py:181
 msgid ""
 "Pitivi detected a serious backend problem and could not recover from it, "
 "even after multiple tries. The only thing that can be done at this point is "
@@ -1491,11 +1858,11 @@ msgid ""
 "as a separate project file."
 msgstr ""
 
-#: pitivi/project.py:201
+#: pitivi/project.py:196
 msgid "Close Pitivi"
 msgstr "Zapri program"
 
-#: pitivi/project.py:271
+#: pitivi/project.py:266
 msgid ""
 "This might be due to a bug or an unsupported project file format. If you "
 "were trying to add a media file to your project, use the \"Import\" button "
@@ -1504,15 +1871,15 @@ msgstr ""
 "To je lahko posledica hrošča, ali pa zaradi nepodprte vrste zapisa datoteke. "
 "Če poskušate dodati predstavno datoteko v projekt, uporabite gumb za »uvoz«."
 
-#: pitivi/project.py:293
+#: pitivi/project.py:288
 msgid "Ignore backup"
 msgstr "Prezri varnostno kopijo"
 
-#: pitivi/project.py:295
+#: pitivi/project.py:290
 msgid "Restore from backup"
 msgstr "Obnovi iz varnostne kopije"
 
-#: pitivi/project.py:306
+#: pitivi/project.py:301
 #, python-format
 msgid ""
 "An autosaved version of your project file was found. It is %s newer than the "
@@ -1525,39 +1892,39 @@ msgstr ""
 "\n"
 "Ali jo želite naložiti namesto izbrane?"
 
-#: pitivi/project.py:379
+#: pitivi/project.py:374
 msgid "You do not have permissions to write to this folder."
 msgstr "Ni ustreznih dovoljenj za pisanje v izbrano mapo."
 
 #. Save the project to a temporary file.
-#: pitivi/project.py:412
+#: pitivi/project.py:407
 msgid "project"
 msgstr "projekt"
 
-#: pitivi/project.py:714
+#: pitivi/project.py:701
 msgid "Pitivi encoding profile"
 msgstr "Profil kodiranja Pitivi"
 
-#: pitivi/render.py:103
+#: pitivi/render.py:115
 msgid "YouTube"
 msgstr "YouTube"
 
-#: pitivi/render.py:104
+#: pitivi/render.py:116
 msgid "DVD"
 msgstr "DVD"
 
 #. Translators: This must contain exclusively low case alphanum and '-'
-#: pitivi/render.py:296
+#: pitivi/render.py:317
 msgid "new-profile"
 msgstr "nov-profil"
 
 #. Translators: This must contain exclusively low case alphanum and '-'
-#: pitivi/render.py:300
+#: pitivi/render.py:321
 #, python-format
 msgid "new-profile-%d"
 msgstr "nov-profil-%d"
 
-#: pitivi/render.py:609
+#: pitivi/render.py:724
 #, python-format
 msgid "Rendering — %d%% complete"
 msgstr "Izrisovanje – %d%% končano"
@@ -1568,263 +1935,154 @@ msgstr "Izrisovanje – %d%% končano"
 #. such as "31 seconds", "1 minute" or "1 hours, 14 minutes".
 #. In some languages, "About %s left" can be expressed roughly as
 #. "There remains approximatively %s" (to handle gender and plurals).
-#: pitivi/render.py:618
+#: pitivi/render.py:733
 #, python-format
 msgid "About %s left"
 msgstr "Preostalo je še približno %s"
 
-#: pitivi/render.py:666
+#: pitivi/render.py:781
 msgid "Currently rendering"
-msgstr "Trenutno poteka pretvarjanje"
+msgstr "Trenutno poteka izrisovanje"
+
+#: pitivi/render.py:964
+msgid "medium"
+msgstr "srednje"
+
+#: pitivi/render.py:965
+msgid "high"
+msgstr "visoko"
 
 #. Translators: This item appears in a combobox's popup and
 #. contains as children the unsupported (but still available)
 #. muxers and encoders.
-#: pitivi/render.py:916
+#: pitivi/render.py:1066
 msgid "Unsupported"
 msgstr "Nepodprto"
 
-#: pitivi/render.py:987
+#: pitivi/render.py:1127 pitivi/render.py:1132
 msgid "A file name is required."
 msgstr "Zahtevano je ime datoteke."
 
-#: pitivi/render.py:990
+#: pitivi/render.py:1135
 msgid ""
 "This file already exists.\n"
 "If you don't want to overwrite it, choose a different file name or folder."
 msgstr ""
 "Ta datoteka že obstaja.\n"
-"V primeru da je ne želite prepisati, izberite drugo ime datoteke ali mapo."
+"Če je ne želite prepisati, izberite drugo ime datoteke ali mapo."
 
-#: pitivi/render.py:994
-#, python-format
-msgid "Remove invalid characters from the filename: %s"
-msgstr ""
+#: pitivi/render.py:1140
+msgid "Invalid file path"
+msgstr "Neveljavna pot datoteke"
 
-#: pitivi/render.py:1025
+#: pitivi/render.py:1171
 #, python-format
 msgid "%.2f GB"
 msgstr "%.2f GB"
 
 #. -1 means round to 10
-#: pitivi/render.py:1030
+#: pitivi/render.py:1178
 #, python-format
 msgid "%d MB"
 msgstr "%d MB"
 
-#: pitivi/render.py:1159
+#: pitivi/render.py:1314
 msgid ""
 "<b>Make sure your rendering size is even, x264enc might not be able to "
 "render otherwise.</b>\n"
 "\n"
 msgstr ""
 
-#: pitivi/render.py:1167
-#, fuzzy
-#| msgid "An error occurred while importing."
-#| msgid_plural "{0:d} errors occurred while importing."
+#: pitivi/render.py:1322
 msgid "An error occurred while trying to render your project."
-msgstr "Med uvažanjem je prišlo do {0:d} napak."
+msgstr "Pri poskusu izrisovanja projekta je prišlo do napake."
 
-#: pitivi/render.py:1169
+#: pitivi/render.py:1324
 msgid ""
 "You might want to check our troubleshooting guide or file a bug report. The "
 "GStreamer error was:"
 msgstr ""
 
-#: pitivi/render.py:1413 pitivi/render.py:1414 pitivi/render.py:1420
+#: pitivi/render.py:1485
+msgid "Select file path to render"
+msgstr "Izberite pot datoteke, ki jo želite izrisatii"
+
+#: pitivi/render.py:1595 pitivi/render.py:1596 pitivi/render.py:1602
 msgid "Render complete"
 msgstr "Izrisovanje je končano"
 
-#: pitivi/render.py:1418
+#: pitivi/render.py:1600
 #, python-format
 msgid "\"%s\" has finished rendering."
 msgstr "Izrisovanje »%s« je končano."
 
-#: pitivi/transitions.py:82
-msgid "Normal"
-msgstr "Običajno"
-
-#: pitivi/transitions.py:87
-msgid "Loop"
-msgstr "Zanka"
-
-#: pitivi/transitions.py:94
-msgid "Reverse direction"
-msgstr "Obrni smer"
-
-#: pitivi/transitions.py:107
+#. Translators: This is a tooltip for a clip's keyframe curve,
+#. showing what the keyframe curve affects, the timestamp at
+#. the mouse cursor location, and the value at that timestamp.
+#: pitivi/timeline/elements.py:446
+#, python-format
 msgid ""
-"Create a transition by overlapping two adjacent clips on the same layer. "
-"Click the transition on the timeline to change the transition type."
+"Property: %s\n"
+"Timestamp: %s\n"
+"Value: %s"
 msgstr ""
-"Ustvari prehod s prekrivanjem dveh sosednjih posnetkov. S klikom na "
-"časovnici prehoda se spremeni vrsta prehoda."
+"Lastnost: %s\n"
+"Časovni žig: %s\n"
+"Vrednost: %s"
 
-#: pitivi/transitions.py:232
-msgid "Slow"
-msgstr "Počasno"
+#: pitivi/timeline/elements.py:634
+#, python-format
+msgid "Timestamp: %s"
+msgstr "Časovni žig: %s"
 
-#: pitivi/transitions.py:234
-msgid "Fast"
-msgstr "Hitro"
+#: pitivi/timeline/elements.py:1603
+msgid "Audio crossfade"
+msgstr "Zvočni preliv"
 
-#: pitivi/transitions.py:236
-msgid "Epileptic"
-msgstr "Epileptično"
+#: pitivi/timeline/layer.py:196
+msgid "Move layer to top"
+msgstr "Premakni stezo na vrh"
 
-#: pitivi/transitions.py:240
-msgid "Sharp"
-msgstr "Ostro"
+#: pitivi/timeline/layer.py:202
+msgid "Move layer up"
+msgstr "Premakni stezo navzgor"
 
-#: pitivi/transitions.py:242
-msgid "Smooth"
-msgstr "Gladko"
+#: pitivi/timeline/layer.py:208
+msgid "Move layer down"
+msgstr "Premakni stezo navzdol"
 
-#: pitivi/viewer/guidelines.py:59
-msgid "3 by 3"
-msgstr "3 × 3"
+#: pitivi/timeline/layer.py:214
+msgid "Move layer to bottom"
+msgstr "Premakni stezo na dno"
 
-#: pitivi/viewer/guidelines.py:60
-msgid "Vertical/Horizontal"
-msgstr "Navpično/Vodoravno"
-
-#: pitivi/viewer/guidelines.py:61
-msgid "Diagonals"
-msgstr "Diagonali"
-
-#: pitivi/viewer/guidelines.py:92
-#, fuzzy
-#| msgid "Compositing"
-msgid "Composition Guidelines"
-msgstr "Sestavljanje"
-
-#: pitivi/viewer/viewer.py:77
-msgid "Currently playing"
-msgstr "Trenutno se predvaja"
-
-#: pitivi/viewer/viewer.py:256
-msgid "Select composition guidelines"
-msgstr ""
-
-#: pitivi/viewer/viewer.py:264
-msgid "Go to the beginning of the timeline"
-msgstr "Pojdi na začetek časovnice"
-
-#: pitivi/viewer/viewer.py:273
-msgid "Go back one second"
-msgstr "Pojdi nazaj eno sekundo"
-
-#: pitivi/viewer/viewer.py:286
-msgid "Go forward one second"
-msgstr "Pojdi naprej eno sekundo"
-
-#: pitivi/viewer/viewer.py:295
-msgid "Go to the end of the timeline"
-msgstr "Pojdi na konec časovnice"
-
-#: pitivi/viewer/viewer.py:302
-msgid ""
-"Enter a timecode or frame number\n"
-"and press \"Enter\" to go to that position"
-msgstr ""
-"Vnesite določen čas na časovnici ali številko sličice\n"
-"in pritisnite vnosno tipko za premik na mesto"
-
-#: pitivi/viewer/viewer.py:313
-msgid ""
-"Detach the viewer\n"
-"You can re-attach it by closing the newly created window."
-msgstr ""
-
-#: pitivi/viewer/viewer.py:340
-msgid "Viewer"
-msgstr "Pregledovalnik"
-
-#: pitivi/viewer/viewer.py:348
-msgid "Toggle the currently selected composition guidelines"
-msgstr ""
-
-#: pitivi/viewer/viewer.py:356
-msgid "Toggle safe areas on viewer"
-msgstr ""
-
-#: pitivi/viewer/viewer.py:482 pitivi/viewer/viewer.py:540
-msgid "Show this window in fullscreen"
-msgstr "Pokaži okno v celozaslonskem načinu."
-
-#: pitivi/viewer/viewer.py:537
-msgid "Exit fullscreen mode"
-msgstr "Končaj celozaslonski način"
-
-#. Translators: This is a tooltip for a clip's keyframe curve,
-#. showing what the keyframe curve affects, the timestamp at
-#. the mouse cursor location, and the value at that timestamp.
-#: pitivi/timeline/elements.py:417
-#, python-format
-msgid ""
-"Property: %s\n"
-"Timestamp: %s\n"
-"Value: %s"
-msgstr ""
-"Lastnost: %s\n"
-"Časovni žig: %s\n"
-"Vrednost: %s"
-
-#: pitivi/timeline/elements.py:592
-#, python-format
-msgid "Timestamp: %s"
-msgstr "Časovni žig: %s"
-
-#: pitivi/timeline/elements.py:1509
-#, fuzzy
-#| msgid "Audio Preset"
-msgid "Audio crossfade"
-msgstr "Nastavitev zvoka"
-
-#: pitivi/timeline/layer.py:196
-msgid "Move layer to top"
-msgstr "Premakni stezo na vrh"
-
-#: pitivi/timeline/layer.py:202
-msgid "Move layer up"
-msgstr "Premakni stezo navzgor"
-
-#: pitivi/timeline/layer.py:208
-msgid "Move layer down"
-msgstr "Premakni stezo navzdol"
-
-#: pitivi/timeline/layer.py:214
-msgid "Move layer to bottom"
-msgstr "Premakni stezo na dno"
-
-#: pitivi/timeline/layer.py:220
-msgid "Delete layer"
-msgstr "Izbriši stezo"
+#: pitivi/timeline/layer.py:220
+msgid "Delete layer"
+msgstr "Izbriši stezo"
 
 #: pitivi/timeline/layer.py:345
 #, python-format
 msgid "Layer %d"
 msgstr "Steza %d"
 
-#: pitivi/timeline/markers.py:135
-msgid "Markers"
-msgstr "Oznake"
-
-#: pitivi/timeline/markers.py:141
-msgid "Add a marker"
-msgstr "Dodaj marker"
-
-#: pitivi/timeline/ruler.py:233
+#: pitivi/timeline/ruler.py:241
 #, python-format
 msgid "Frame #%d"
 msgstr "Sličica #%d"
 
-#: pitivi/timeline/timeline.py:82
+#: pitivi/timeline/timeline.py:85
+msgid "Markers magnetic by default"
+msgstr "Označevalniki naj bodo privzeto magnetni"
+
+#: pitivi/timeline/timeline.py:87
+msgid ""
+"Whether markers created on new clips will be snapping targets by default."
+msgstr ""
+
+#: pitivi/timeline/timeline.py:97
 msgid "Snap distance"
 msgstr "Razdalja pripenjanja"
 
-#: pitivi/timeline/timeline.py:83
+#: pitivi/timeline/timeline.py:98
 msgid ""
 "Threshold (in pixels) at which two clips will snap together when dragging or "
 "trimming."
@@ -1832,327 +2090,212 @@ msgstr ""
 "Prag (v točkah) pri katerem bosta dva posnetka pripeta skupaj pri vlečenju "
 "ali obrazovanju."
 
-#: pitivi/timeline/timeline.py:95
+#: pitivi/timeline/timeline.py:110
 msgid "Image clip duration"
 msgstr "Trajanje slikovnega posnetka"
 
-#: pitivi/timeline/timeline.py:97
+#: pitivi/timeline/timeline.py:112
 msgid ""
 "Default clip length (in milliseconds) of images when inserting on the "
 "timeline."
 msgstr "Privzeta dolžina posnetka slik (v ms) ob vstavljanju na časovnico."
 
-#: pitivi/timeline/timeline.py:108
+#: pitivi/timeline/timeline.py:123
 msgid "Left click also seeks"
 msgstr "Klik levega gumba miške začne iskanje"
 
-#: pitivi/timeline/timeline.py:110
+#: pitivi/timeline/timeline.py:125
 msgid "Whether left-clicking also seeks besides selecting and editing clips."
 msgstr ""
 
-#: pitivi/timeline/timeline.py:340 pitivi/timeline/timeline.py:1747
+#: pitivi/timeline/timeline.py:356 pitivi/timeline/timeline.py:1813
 msgid "Add layer"
 msgstr "Dodaj stezo"
 
-#: pitivi/timeline/timeline.py:1690 pitivi/dialogs/prefs.py:60
-msgid "Timeline"
-msgstr "Časovnica"
-
-#: pitivi/timeline/timeline.py:1697
+#: pitivi/timeline/timeline.py:1756
 msgid "Action Search"
 msgstr ""
 
-#: pitivi/timeline/timeline.py:1705
+#: pitivi/timeline/timeline.py:1764
 msgid "Delete selected clips"
 msgstr "Izbriše izbrane posnetke"
 
-#: pitivi/timeline/timeline.py:1712
+#: pitivi/timeline/timeline.py:1771
 msgid "Delete selected clips and shift following ones"
 msgstr "Izbriši izbrane posnetke in zamakni naslednje"
 
-#: pitivi/timeline/timeline.py:1719
+#: pitivi/timeline/timeline.py:1778
 msgid "Group selected clips together"
 msgstr "Združi izbrane posnetke v skupino"
 
-#: pitivi/timeline/timeline.py:1726
+#: pitivi/timeline/timeline.py:1785
 msgid "Ungroup selected clips"
 msgstr "Razdruži izbrane posnetke"
 
-#: pitivi/timeline/timeline.py:1733
+#: pitivi/timeline/timeline.py:1792
+msgid "Cut selected clips"
+msgstr "Izreži izbrane posnetke"
+
+#: pitivi/timeline/timeline.py:1799
 msgid "Copy selected clips"
 msgstr "Kopiraj izbrane posnetke"
 
-#: pitivi/timeline/timeline.py:1740
+#: pitivi/timeline/timeline.py:1806
 msgid "Paste selected clips"
 msgstr "Prilepi izbrane posnetke"
 
-#: pitivi/timeline/timeline.py:1754
-msgid "Seeks to the first clip edge after the playhead."
-msgstr ""
+#: pitivi/timeline/timeline.py:1820
+msgid "Seek to the first clip edge after the playhead"
+msgstr "Poišči prvi rez posnetka za predvajalno glavo"
 
-#: pitivi/timeline/timeline.py:1761
-msgid "Seeks to the first clip edge before the playhead."
-msgstr ""
+#: pitivi/timeline/timeline.py:1827
+msgid "Seek to the first clip edge before the playhead"
+msgstr "Poišči prvi rez posnetka pred predvajalno glavo"
+
+#: pitivi/timeline/timeline.py:1834
+msgid "Shift selected clips one frame forward"
+msgstr "Zamakni izbrane posnetke za eno sličico naprej"
+
+#: pitivi/timeline/timeline.py:1841
+msgid "Shift selected clips one frame backward"
+msgstr "Zamakni izbrane posnetke za eno sličico nazaj"
+
+#: pitivi/timeline/timeline.py:1848
+msgid "Snap selected clips to the next clip"
+msgstr "Pripni izbrane posnetke na naslednji posnetek"
 
-#: pitivi/timeline/timeline.py:1768
+#: pitivi/timeline/timeline.py:1855
+msgid "Snap selected clips to the previous clip"
+msgstr "Pripni izbrane posnetke na prejšnji posnetek"
+
+#: pitivi/timeline/timeline.py:1862
 msgid "Add an effect to the selected clip"
 msgstr "Dodaj učinek izbranemu posnetku"
 
-#: pitivi/timeline/timeline.py:1781
+#: pitivi/timeline/timeline.py:1879
 msgid "Split the clip at the position"
 msgstr "Razdeli posnetek na označenem mestu"
 
-#: pitivi/timeline/timeline.py:1788
+#: pitivi/timeline/timeline.py:1886
 msgid "Add keyframe to the keyframe curve of selected clip"
-msgstr ""
+msgstr "Dodaj ključno sličico na krivuljo ključnih sličic izbranega posnetka"
 
-#: pitivi/timeline/timeline.py:1793
+#: pitivi/timeline/timeline.py:1891
 msgid "Timeline Navigation"
 msgstr "Krmarjenje po časovnici"
 
-#: pitivi/timeline/timeline.py:1801
+#: pitivi/timeline/timeline.py:1899
 msgid "Zoom in"
 msgstr "Približa pogled"
 
-#: pitivi/timeline/timeline.py:1809
+#: pitivi/timeline/timeline.py:1907
 msgid "Zoom out"
 msgstr "Oddalji pogled"
 
-#: pitivi/timeline/timeline.py:1817
+#: pitivi/timeline/timeline.py:1915
 msgid "Adjust zoom to fit the project to the window"
-msgstr ""
+msgstr "Prilagodi pogled na velikost projekta"
 
-#: pitivi/timeline/timeline.py:1830
+#: pitivi/timeline/timeline.py:1928
 msgid "Seek backward one frame"
-msgstr ""
+msgstr "Pojdi nazaj eno sličico"
 
-#: pitivi/timeline/timeline.py:1837
-#, fuzzy
-#| msgid "Go forward one second"
+#: pitivi/timeline/timeline.py:1935
 msgid "Seek forward one frame"
-msgstr "Pojdi naprej eno sekundo"
+msgstr "Pojdi naprej eno sličico"
 
-#: pitivi/timeline/timeline.py:1845
-#, fuzzy
-#| msgid "Go back one second"
+#: pitivi/timeline/timeline.py:1943
 msgid "Seek backward one second"
 msgstr "Pojdi nazaj eno sekundo"
 
-#: pitivi/timeline/timeline.py:1853
-#, fuzzy
-#| msgid "Go forward one second"
+#: pitivi/timeline/timeline.py:1951
 msgid "Seek forward one second"
 msgstr "Pojdi naprej eno sekundo"
 
-#: pitivi/dialogs/about.py:47
-#, python-format
-msgid "Development version: %s"
-msgstr "Razvojna različica: %s"
-
-#: pitivi/dialogs/about.py:49
-#, python-format
-msgid "Version %(cur_ver)s — %(new_ver)s is available"
-msgstr "Različica %(cur_ver)s – na voljo je posodobitev %(new_ver)s"
-
-#: pitivi/dialogs/about.py:53 pitivi/dialogs/about.py:55
-#, python-format
-msgid "Version %s"
-msgstr "Različica %s"
-
-#: pitivi/dialogs/about.py:64
-msgid "Current maintainers:"
-msgstr "Trenutni vzdrževalci:"
-
-#: pitivi/dialogs/about.py:69
-msgid "Past maintainers:"
-msgstr "Predhodni vzdrževalci:"
-
-#: pitivi/dialogs/about.py:75
-msgid "Contributors:"
-msgstr "Avtorji prispevkov:"
-
-#. Translators: See
-#. https://developer.gnome.org/gtk3/stable/GtkAboutDialog.html#gtk-about-dialog-set-translator-credits
-#. for details on how this is used.
-#: pitivi/dialogs/about.py:82
-msgid "translator-credits"
-msgstr ""
-"Matej Urbančič <mateju@svn.gnome.org>\n"
-"Andrej Žnidaršič"
-
-#: pitivi/dialogs/browseprojects.py:34
-msgid "Open Project…"
-msgstr "Odpri projekt …"
-
-#: pitivi/dialogs/browseprojects.py:39 pitivi/dialogs/missingasset.py:47
-msgid "Open"
-msgstr "Odpri"
-
-#: pitivi/dialogs/browseprojects.py:55
-msgid "All supported formats"
-msgstr "Vse podprte vrste datotek"
-
-#: pitivi/dialogs/clipmediaprops.py:102
-msgid "Variable"
-msgstr "Spremenljiva"
-
-#: pitivi/dialogs/clipmediaprops.py:128
-msgid "Image:"
-msgstr "Slika:"
-
-#: pitivi/dialogs/filelisterrordialog.py:52
-msgid "Unknown reason"
-msgstr "Neznan vzrok"
-
-#: pitivi/dialogs/filelisterrordialog.py:85
-msgid "Problem:"
-msgstr "Težava:"
-
-#: pitivi/dialogs/filelisterrordialog.py:93
-msgid "Extra information:"
-msgstr "Dodatne podrobnosti:"
-
-#: pitivi/dialogs/missingasset.py:44
-msgid "Locate missing file..."
-msgstr "Najdi manjkajočo datoteko ..."
-
-#: pitivi/dialogs/missingasset.py:58
-msgid "The following file could not be found:"
-msgstr "Navedene datoteke ni mogoče najti:"
-
-#: pitivi/dialogs/missingasset.py:82
-#, fuzzy
-#| msgid ""
-#| "The following file has moved: \"<b>%s</b>\"\n"
-#| "Please specify its new location:"
-msgid "Please specify its new location:"
-msgstr ""
-"Datoteka je bila premaknjena: \"<b>%s</b>\"\n"
-"Navedite njeno novo mesto:"
-
-#. Translators: this is a format filter in a filechooser. Ex: "AVI files"
-#: pitivi/dialogs/missingasset.py:113
-#, python-format
-msgid "%s files"
-msgstr "Datoteke %s"
-
-#: pitivi/dialogs/prefs.py:61
-msgid "Plugins"
-msgstr "Vstavki"
-
-#: pitivi/dialogs/prefs.py:62
-msgid "Shortcuts"
-msgstr "Tipkovne bližnjice"
-
-#: pitivi/dialogs/prefs.py:63
-msgid "Proxies"
-msgstr ""
-
-#: pitivi/dialogs/prefs.py:64
-msgid "Other"
-msgstr "Drugi"
-
-#: pitivi/dialogs/prefs.py:285 pitivi/utils/widgets.py:979
-msgid "Reset to default value"
-msgstr "Ponastavi na privzeto vrednost"
+#: pitivi/timeline/timeline.py:1959
+msgid "Add a marker"
+msgstr "Dodaj marker"
 
-#: pitivi/dialogs/prefs.py:331
-msgid ""
-"This resolution will be used as the default target resolution for new "
-"projects and projects missing scaled proxy meta-data."
-msgstr ""
+#: pitivi/timeline/timeline.py:1966
+msgid "Seek to the first marker before the playhead"
+msgstr "Poišči prvi označevalnik pred predvajalno glavo"
 
-#: pitivi/dialogs/prefs.py:344
-msgid "Initial proxy size for new projects"
-msgstr ""
+#: pitivi/timeline/timeline.py:1973
+msgid "Seek to the first marker after the playhead"
+msgstr "Poišči prvi označevalnik za predvajalno glavo"
 
-#: pitivi/dialogs/prefs.py:379
-#, python-format
-msgid "Proxy resolution for the current project is %d×%d px"
-msgstr ""
+#: pitivi/trackerperspective.py:403
+msgid "Object {}"
+msgstr "Predmet {}"
 
-#: pitivi/dialogs/prefs.py:458
-#, fuzzy
-#| msgid "Reset all settings to their default values"
-msgid "Reset the shortcut to the default accelerator"
-msgstr "Ponastavi vse nastavitve na privzeto vrednost"
+#: pitivi/trackerperspective.py:665
+msgid "Go back"
+msgstr "Pojdi nazaj"
 
-#: pitivi/dialogs/prefs.py:615
-msgid "Set Shortcut"
-msgstr "Nastavi tipkovno bližnjico"
+#: pitivi/trackerperspective.py:739
+msgid "Track objects"
+msgstr "Sledi predmetom"
 
-#. Setup the widgets used in the dialog.
-#: pitivi/dialogs/prefs.py:630
-msgid "Apply"
-msgstr "Uveljavi"
+#: pitivi/transitions.py:77
+msgid "Normal"
+msgstr "Običajno"
 
-#: pitivi/dialogs/prefs.py:633
-msgid "Apply the accelerator to this shortcut."
-msgstr ""
+#: pitivi/transitions.py:82
+msgid "Loop"
+msgstr "Zanka"
 
-#: pitivi/dialogs/prefs.py:636
-msgid "Replace"
-msgstr "Zamenjaj"
+#: pitivi/transitions.py:89
+msgid "Reverse direction"
+msgstr "Obrni smer"
 
-#: pitivi/dialogs/prefs.py:639
+#: pitivi/transitions.py:102
 msgid ""
-"Remove this accelerator from where it was used previously and set it for "
-"this shortcut."
+"Create a transition by overlapping two adjacent clips on the same layer. "
+"Click the transition on the timeline to change the transition type."
 msgstr ""
+"Ustvari prehod s prekrivanjem dveh sosednjih posnetkov. S klikom na "
+"časovnici prehoda se spremeni vrsta prehoda."
 
-#: pitivi/dialogs/prefs.py:646
-#, python-format
-msgid "Enter new shortcut for <b>%s</b>, or press Esc to cancel."
-msgstr ""
-"Vpišite tipkovno bližnjico za ukaz <b>%s</b>, ali pa pritisnite Esc za "
-"preklic dejanja."
+#: pitivi/transitions.py:225
+msgid "Slow"
+msgstr "Počasno"
 
-#: pitivi/dialogs/prefs.py:655
-msgid ""
-"The accelerator you are trying to set might interfere with typing. Try using "
-"Control, Shift or Alt with some other key, please."
-msgstr ""
+#: pitivi/transitions.py:227
+msgid "Fast"
+msgstr "Hitro"
 
-#: pitivi/dialogs/prefs.py:689
-#, python-format
-msgid ""
-"This key combination is already used by <b>%s</b>. Press Replace to use it "
-"for <b>%s</b> instead."
-msgstr ""
-"Ta kombinacija tipk je že uporabljena za ukaz <b>%s</b>. Pritistnite tipko "
-"»Zamenjaj«, da jo prepišete za ukaz <b>%s</b>."
+#: pitivi/transitions.py:229
+msgid "Epileptic"
+msgstr "Epileptično"
 
-#: pitivi/dialogs/prefs.py:733
-msgid "No description available."
-msgstr "Opis ni na voljo."
+#: pitivi/transitions.py:233
+msgid "Sharp"
+msgstr "Ostro"
 
-#: pitivi/dialogs/prefs.py:844
-#, python-brace-format
-msgid "Unable to load the plugin '{module_name}'"
-msgstr "Vstavka »{module_name}« ni mogoče naložiti."
+#: pitivi/transitions.py:235
+msgid "Smooth"
+msgstr "Gladko"
 
-#. We could use Gtk.ListBox.set_placeholder, but it
-#. appears bad inside the list widget.
-#: pitivi/dialogs/prefs.py:928
-msgid "No plugins available"
-msgstr "Ni razpoložljivih vstavkov"
+#. Translators: The list of markers created by the user.
+#: pitivi/utils/markers.py:34
+msgid "User markers"
+msgstr "Uporabniške oznake"
 
-#: pitivi/dialogs/prefs.py:941
-#, python-brace-format
-msgid ""
-"You can create <a href='{doc_url}'>plugins</a> into your <a "
-"href='{dir_url}'>plugins directory</a>."
-msgstr ""
-"<a href='{doc_url}'>Vstavke</a> lahko ustvarite v <a href='{dir_url}'>mapi "
-"vstavkov</a>."
+#. Translators: The list of markers representing detected audio beats.
+#: pitivi/utils/markers.py:36
+#, fuzzy
+msgid "Beats"
+msgstr "Udarci"
 
-#: pitivi/utils/misc.py:276
+#: pitivi/utils/misc.py:281
 msgid ""
-"Failed to open the user manual. Make sure to have either the `yelp` GNOME  "
+"Failed to open the user manual. Make sure to have either the `yelp` GNOME "
 "documentation viewer or a web browser installed"
 msgstr ""
+"Odpiranje uporabniškega priročnika ni uspelo. Poskrbite, da je nameščen "
+"pregledovalnik dokumentacije GNOME »yelp« ali spletni brskalnik"
 
-#: pitivi/utils/misc.py:285
+#: pitivi/utils/misc.py:290
 msgid ""
 "The system's locale that you are using is not UTF-8 capable. Unicode support "
 "is required for Python3 software like Pitivi. Please correct your system "
@@ -2160,65 +2303,65 @@ msgid ""
 "happen."
 msgstr ""
 
-#: pitivi/utils/misc.py:295
+#: pitivi/utils/misc.py:300
 msgid "Error while decoding a string"
 msgstr "Napaka med razčlenjevanjem niza"
 
-#: pitivi/utils/proxy.py:61
+#: pitivi/utils/proxy.py:64
 msgid "Max number of parallel transcoding jobs"
-msgstr ""
+msgstr "Največje število vzporednih opravil prekodiranja"
 
-#: pitivi/utils/proxy.py:72
+#: pitivi/utils/proxy.py:75
 msgid "Max CPU usage dedicated to transcoding"
-msgstr ""
+msgstr "Največja raba CPE, posvečena prekodiranju"
 
 #. Translators: 'fps' is for 'frames per second'
-#: pitivi/utils/ui.py:350
+#: pitivi/utils/ui.py:390
 msgid "{0:s} fps"
 msgstr "{0:s} fps"
 
-#: pitivi/utils/ui.py:370
+#: pitivi/utils/ui.py:410
 #, python-brace-format
 msgid "{0:n} kHz"
 msgstr "{0:n} kHz"
 
-#: pitivi/utils/ui.py:379
+#: pitivi/utils/ui.py:419
 msgid "Mono"
 msgstr "Mono"
 
-#: pitivi/utils/ui.py:380
+#: pitivi/utils/ui.py:420
 msgid "Stereo"
 msgstr "Stereo"
 
-#: pitivi/utils/ui.py:381
+#: pitivi/utils/ui.py:421
 msgid "6 (5.1)"
 msgstr "6 (5.1)"
 
-#: pitivi/utils/ui.py:382
+#: pitivi/utils/ui.py:422
 msgid "8 (7.1)"
 msgstr "8 (7.1)"
 
-#: pitivi/utils/ui.py:513
+#: pitivi/utils/ui.py:547
 #, python-format
 msgid "<b>Duration:</b> %s"
 msgstr "<b>Trajanje</b>: %s"
 
-#: pitivi/utils/ui.py:516
+#: pitivi/utils/ui.py:550
 #, python-format
 msgid "<b>Proxy creation progress:</b> %d%%"
 msgstr ""
 
-#: pitivi/utils/ui.py:530
+#: pitivi/utils/ui.py:564
 #, python-format
 msgid "<b>Path</b>: %s"
 msgstr "<b>Pot</b>: %s"
 
-#: pitivi/utils/ui.py:540
+#: pitivi/utils/ui.py:574
 #, python-format
 msgid "<b>Size</b>: %s"
 msgstr "<b>Velikost</b>: %s"
 
-#: pitivi/utils/ui.py:576
+#: pitivi/utils/ui.py:610
 #, python-format
 msgid "<b>Audio:</b> %d channel at %d <i>Hz</i> (%d <i>bits</i>)"
 msgid_plural "<b>Audio:</b> %d channels at %d <i>Hz</i> (%d <i>bits</i>)"
@@ -2227,17 +2370,17 @@ msgstr[1] "<b>Zvok:</b> %d kanal pri %d <i>Hz</i> (%d <i>bitov</i>)"
 msgstr[2] "<b>Zvok:</b> %d kanala pri %d <i>Hz</i> (%d <i>bitov</i>)"
 msgstr[3] "<b>Zvok:</b> %d kanali pri %d <i>Hz</i> (%d <i>bitov</i>)"
 
-#: pitivi/utils/ui.py:588
+#: pitivi/utils/ui.py:622
 #, python-format
 msgid "<b>Video:</b> %d×%d <i>pixels</i> at %s <i>fps</i>"
 msgstr "<b>Video</b>: %d×%d <i>točks</i> pri %s <i>fps</i>"
 
-#: pitivi/utils/ui.py:591
+#: pitivi/utils/ui.py:625
 #, python-format
 msgid "<b>Image:</b> %d×%d <i>pixels</i>"
 msgstr "<b>Slika:</b> %d×%d <i>točk</i>"
 
-#: pitivi/utils/ui.py:645 pitivi/utils/ui.py:672 pitivi/utils/ui.py:696
+#: pitivi/utils/ui.py:679 pitivi/utils/ui.py:706 pitivi/utils/ui.py:730
 #, python-format
 msgid "%d hour"
 msgid_plural "%d hours"
@@ -2246,7 +2389,7 @@ msgstr[1] "%d ura"
 msgstr[2] "%d uri"
 msgstr[3] "%d ure"
 
-#: pitivi/utils/ui.py:648 pitivi/utils/ui.py:675 pitivi/utils/ui.py:699
+#: pitivi/utils/ui.py:682 pitivi/utils/ui.py:709 pitivi/utils/ui.py:733
 #, python-format
 msgid "%d minute"
 msgid_plural "%d minutes"
@@ -2255,7 +2398,7 @@ msgstr[1] "%d minuta"
 msgstr[2] "%d minuti"
 msgstr[3] "%d minute"
 
-#: pitivi/utils/ui.py:651 pitivi/utils/ui.py:678 pitivi/utils/ui.py:702
+#: pitivi/utils/ui.py:685 pitivi/utils/ui.py:712 pitivi/utils/ui.py:736
 #, python-format
 msgid "%d second"
 msgid_plural "%d seconds"
@@ -2264,7 +2407,7 @@ msgstr[1] "%d sekunda"
 msgstr[2] "%d sekundi"
 msgstr[3] "%d sekunde"
 
-#: pitivi/utils/ui.py:670
+#: pitivi/utils/ui.py:704
 #, python-format
 msgid "%d day"
 msgid_plural "%d days"
@@ -2273,27 +2416,27 @@ msgstr[1] "%d dan"
 msgstr[2] "%d dneva"
 msgstr[3] "%d dni"
 
-#: pitivi/utils/ui.py:711
+#: pitivi/utils/ui.py:745
 msgid "Just now"
 msgstr "Ravnokar"
 
-#: pitivi/utils/ui.py:714
+#: pitivi/utils/ui.py:748
 msgid "An hour ago"
 msgstr "Pred %d urami"
 
-#: pitivi/utils/ui.py:717
+#: pitivi/utils/ui.py:751
 msgid "Today"
 msgstr "Danes"
 
-#: pitivi/utils/ui.py:720
+#: pitivi/utils/ui.py:754
 msgid "Yesterday"
 msgstr "Včeraj"
 
-#: pitivi/utils/ui.py:729
+#: pitivi/utils/ui.py:763
 msgid "About a year ago"
 msgstr "Pred enim letom"
 
-#: pitivi/utils/ui.py:732
+#: pitivi/utils/ui.py:766
 #, python-format
 msgid "About %d year ago"
 msgid_plural "About %d years ago"
@@ -2306,44 +2449,113 @@ msgstr[3] "Pred približno %d leti"
 msgid "Implement Me"
 msgstr "Podpri me"
 
-#: pitivi/utils/widgets.py:804
-#, python-format
-msgid "%(preference_label)s:"
-msgstr "%(preference_label)s:"
-
-#: pitivi/utils/widgets.py:839
+#: pitivi/utils/widgets.py:836
 msgid "No properties."
 msgstr "Ni lastnosti."
 
 #. Avoid the ugly selection outline
-#: pitivi/utils/widgets.py:964
+#: pitivi/utils/widgets.py:961
 msgid "Show keyframes for this value"
 msgstr "Pokaži ključne sličice za to vrednost"
 
-#: pitivi/utils/widgets.py:1148
+#: pitivi/utils/widgets.py:1145
 #, python-format
 msgid "Properties for %s"
 msgstr "Lastnosti %s"
 
-#: pitivi/utils/widgets.py:1230
+#: pitivi/utils/widgets.py:1228
 msgid "Zoom Fit"
 msgstr "Prilagodi povečavo"
 
-#: pitivi/utils/widgets.py:1235
+#: pitivi/utils/widgets.py:1233
 msgid "Zoom"
 msgstr "Povečava"
 
 #. Translators: %s represents a duration, for example "10 minutes"
-#: pitivi/utils/widgets.py:1311
+#: pitivi/utils/widgets.py:1309
 #, python-format
 msgid "%s displayed"
 msgstr "prikazano %s"
 
-#: pitivi/utils/widgets.py:1315
+#: pitivi/utils/widgets.py:1313
 #, python-format
 msgid "%d nanoseconds displayed, because we can"
 msgstr "prikazano %d nanosekund, ker pač lahko"
 
+#: pitivi/viewer/guidelines.py:59
+msgid "3 by 3"
+msgstr "3 × 3"
+
+#: pitivi/viewer/guidelines.py:60
+msgid "Vertical/Horizontal"
+msgstr "Navpično/Vodoravno"
+
+#: pitivi/viewer/guidelines.py:61
+msgid "Diagonals"
+msgstr "Diagonali"
+
+#: pitivi/viewer/guidelines.py:92
+msgid "Composition Guidelines"
+msgstr "Smernice za sestavo"
+
+#: pitivi/viewer/viewer.py:81
+msgid "Currently playing"
+msgstr "Trenutno se predvaja"
+
+#: pitivi/viewer/viewer.py:304
+msgid "Select composition guidelines"
+msgstr "Izberite smernice za sestavo"
+
+#: pitivi/viewer/viewer.py:312
+msgid "Go to the beginning of the timeline"
+msgstr "Pojdi na začetek časovnice"
+
+#: pitivi/viewer/viewer.py:321
+msgid "Go back one second"
+msgstr "Pojdi nazaj eno sekundo"
+
+#: pitivi/viewer/viewer.py:334
+msgid "Go forward one second"
+msgstr "Pojdi naprej eno sekundo"
+
+#: pitivi/viewer/viewer.py:343
+msgid "Go to the end of the timeline"
+msgstr "Pojdi na konec časovnice"
+
+#: pitivi/viewer/viewer.py:350
+msgid ""
+"Enter a timecode or frame number\n"
+"and press \"Enter\" to go to that position"
+msgstr ""
+"Vnesite določen čas na časovnici ali številko sličice\n"
+"in pritisnite vnosno tipko za premik na mesto"
+
+#: pitivi/viewer/viewer.py:361
+msgid ""
+"Detach the viewer\n"
+"You can re-attach it by closing the newly created window."
+msgstr ""
+
+#: pitivi/viewer/viewer.py:388
+msgid "Viewer"
+msgstr "Pregledovalnik"
+
+#: pitivi/viewer/viewer.py:396
+msgid "Toggle the currently selected composition guidelines"
+msgstr "Preklopi trenutno izbrane smernice sestave"
+
+#: pitivi/viewer/viewer.py:404
+msgid "Toggle safe areas on viewer"
+msgstr "Preklopi varna območja v pregledovalniku"
+
+#: pitivi/viewer/viewer.py:546 pitivi/viewer/viewer.py:605
+msgid "Show this window in fullscreen"
+msgstr "Pokaži okno v celozaslonskem načinu."
+
+#: pitivi/viewer/viewer.py:602
+msgid "Exit fullscreen mode"
+msgstr "Končaj celozaslonski način"
+
 #: plugins/console/console.py:123
 msgid "Console"
 msgstr "Konzola"
@@ -2372,370 +2584,15 @@ msgstr "Konzola Pitivi"
 
 #: plugins/console/console.py:199
 msgid "You can use the following shortcuts:"
-msgstr ""
+msgstr "Uporabite lahko naslednje bližnjice:"
 
 #: plugins/console/console.py:204
 #, python-brace-format
 msgid "Type \"{help}(<command>)\" for more information."
-msgstr ""
+msgstr "Vnesite »{help}(<ukaz>)« za več informacij."
 
 #: plugins/console/utils.py:81
 #, python-brace-format
 msgid ""
 "Not possible to override {key}, because shortcuts commands are read-only."
 msgstr ""
-
-#~ msgid "Pixel aspect ratio:"
-#~ msgstr "Razmerje velikosti točk:"
-
-#~ msgid "Viewer Zoom"
-#~ msgstr "Približanje pregledovalnika"
-
-#~ msgid "Position"
-#~ msgstr "Položaj"
-
-#~ msgid "Crop"
-#~ msgstr "Obreži"
-
-#~ msgid "Missing Dependencies"
-#~ msgstr "Manjkajoče odvisnosti"
-
-#~ msgid "Install"
-#~ msgstr "Namesti"
-
-#~ msgid "Show video effects"
-#~ msgstr "Pokaži video učinke"
-
-#~ msgid "Show audio effects"
-#~ msgstr "Pokaži zvočne učinke"
-
-#~ msgid "Clear the current search"
-#~ msgstr "Počisti trenutno iskanje"
-
-#~ msgid "Properties for <element>"
-#~ msgstr "Lastnosti za <element>"
-
-#~| msgid "New Project"
-#~ msgid "New project"
-#~ msgstr "Nov projekt"
-
-#~ msgid "Close this message"
-#~ msgstr "Zapri to sporočilo"
-
-#~ msgid "Standard (4:3)"
-#~ msgstr "Standardni (4:3)"
-
-#~ msgid "Standard PAL"
-#~ msgstr "Standardni PAL"
-
-#~ msgid "25 FPS"
-#~ msgstr "25 sl/s"
-
-#~ msgid "Save changes to the currently selected preset"
-#~ msgstr "Shrani spremembe v trenutno izbrano nastavitev"
-
-#~ msgid "Aspect Ratio:"
-#~ msgstr "Razmerje stranic:"
-
-#~ msgid "x"
-#~ msgstr "x"
-
-#~ msgid "Link"
-#~ msgstr "Poveži"
-
-#~ msgid "Frame Rate:"
-#~ msgstr "Hitrost predvajanja:"
-
-#~ msgid "Format"
-#~ msgstr "Zapis"
-
-#~ msgid "Project title:"
-#~ msgstr "Naslov projekta:"
-
-#~ msgid "MP4"
-#~ msgstr "MP4"
-
-#~ msgid "H.264"
-#~ msgstr "H.264"
-
-#~ msgid "29.97 fps"
-#~ msgstr "29,97 sl/s"
-
-#~ msgid "AC-3"
-#~ msgstr "AC-3"
-
-#~ msgid "AAC"
-#~ msgstr "AAC"
-
-#~ msgid "Render Preset"
-#~ msgstr "Nastavitev pretvarjanja"
-
-#~ msgid "File name"
-#~ msgstr "Ime datoteke"
-
-#~ msgid "Container format"
-#~ msgstr "Oblika vsebnika"
-
-#~ msgid "Draft (no special effects, single pass)"
-#~ msgstr "Osnutek (brez posebnih učinkov, en prehod)"
-
-#~ msgid "1000 x 1000"
-#~ msgstr "1000 x 1000"
-
-#~ msgid "Edit Project Settings..."
-#~ msgstr "Uredi nastavitve projekta ..."
-
-#~ msgid "Enable video"
-#~ msgstr "Omogoči sliko"
-
-#~ msgid "Enable audio"
-#~ msgstr "Omogoči zvok"
-
-#~ msgid "Welcome"
-#~ msgstr "Dobrodošli"
-
-#~ msgid "Double-click a project below to load it:"
-#~ msgstr "Izberite projekt in ga z dvoklikom naložite:"
-
-#~ msgid "Browse projects..."
-#~ msgstr "Brskanje med projekti ..."
-
-#~ msgid "Missing dependencies..."
-#~ msgstr "Manjkajoče odvisnosti ..."
-
-#~| msgid "No title clip selected. Select a clip to edit or create a new one."
-#~ msgid "Select a title clip to edit or create a new one."
-#~ msgstr "Za urejanje izberite posnetek z napisom ali ustvarite novega."
-
-#~ msgid "Create and insert"
-#~ msgstr "Ustvari in vstavi"
-
-#~ msgid "Bold"
-#~ msgstr "Krepko"
-
-#~ msgid "Italic"
-#~ msgstr "Ležeče"
-
-#~ msgid "Font color"
-#~ msgstr "Barva pisave"
-
-#~ msgid "Background color"
-#~ msgstr "Barva ozadja"
-
-#~ msgid "Convert to markup"
-#~ msgstr "Pretvori v označeno besedilo"
-
-#~ msgid "Advanced positioning"
-#~ msgstr "Napredno umeščanje"
-
-#~ msgid "Active"
-#~ msgstr "Dejaven"
-
-#~ msgid "Type"
-#~ msgstr "Vrsta"
-
-#~ msgid "Effect name"
-#~ msgstr "Ime učinka"
-
-#~ msgid "Audio |audio"
-#~ msgstr "Zvok |zvok"
-
-#~ msgid "Keyframe"
-#~ msgstr "Ključna sličica"
-
-#~ msgid ""
-#~ "Contributors:\n"
-#~ "A handwritten list here would...\n"
-#~ "• be too long,\n"
-#~ "• be frequently outdated,\n"
-#~ "• not show their relative merit.\n"
-#~ "\n"
-#~ "Out of respect for our contributors, we point you instead to:\n"
-#~ msgstr ""
-#~ "Avtorji prispevkov:\n"
-#~ "izpisani seznam na tem mestu ...\n"
-#~ "• bi bil predolg,\n"
-#~ "• bi prehitro zastaral,\n"
-#~ "• ne bi izkazoval njihovih posebnih zaslug.\n"
-#~ "\n"
-#~ "Iz spoštovanja do naših avtorjev prispevkov vas zato preusmerjamo na:\n"
-
-#~| msgid "The list of contributors on Ohloh %s\n"
-#~ msgid ""
-#~ "The list of contributors on Ohloh %s\n"
-#~ "Or you can run: git shortlog -s -n"
-#~ msgstr ""
-#~ "Seznam sodelavcev na Ohloh %s\n"
-#~ "Ali pa zaženite: git shortlog -s -n"
-
-#~ msgid "Open File..."
-#~ msgstr "Odpri datoteko ..."
-
-#~ msgid ""
-#~ "The following file has moved: \"<b>%s</b>\" (duration: %s)\n"
-#~ "Please specify its new location:"
-#~ msgstr ""
-#~ "Mesto datoteke \"<b>%s</b>\" (trajanje: %s) je bilo spremenjeno.\n"
-#~ "Novo mesto je:"
-
-#~ msgid "Icon"
-#~ msgstr "Ikona"
-
-#~ msgid "Information"
-#~ msgstr "Podatki"
-
-#~ msgid "Close after importing files"
-#~ msgstr "Zapri po uvažanju datotek"
-
-#~ msgid "All known file formats"
-#~ msgstr "Vse znane vrste datotek"
-
-#~ msgid "Importing clip %(current_clip)d of %(total)d"
-#~ msgstr "Urejanje posnetka %(current_clip)d od %(total)d"
-
-#~ msgid "Error while analyzing files"
-#~ msgstr "Napaka med preučevanjem datotek"
-
-#~ msgid "The following files can not be used with Pitivi."
-#~ msgstr "S Pitivi ni mogoče uporabiti naslednjih datotek."
-
-#~ msgid "No preset"
-#~ msgstr "Ni nastavitev"
-
-#~ msgid "\"%s\" already exists."
-#~ msgstr "\"%s\" že obstaja."
-
-#~ msgid ""
-#~ "An error occured while trying to render your project. You might want to "
-#~ "check our troubleshooting guide or file a bug report. See the details "
-#~ "below for some basic information that may help identify the problem."
-#~ msgstr ""
-#~ "Prišlo je do napake med pretvarjanjem projekta. Priporočeno je pregledati "
-#~ "dokumentacijo za napako ali pa poslati poročilo o hrošču. Izpisane "
-#~ "podrobnosti so lahko v pomoč pri določevanju napake."
-
-#~ msgid "Details"
-#~ msgstr "Podrobnosti"
-
-#~ msgid "Set a personalized name for this layer"
-#~ msgstr "Nastavi prilagojeno ime plasti"
-
-#~ msgid ""
-#~ "<b>Solo mode</b>\n"
-#~ "Other non-soloed layers will be disabled as long as this is enabled."
-#~ msgstr ""
-#~ "<b>Solo način</b>\n"
-#~ "Druge plasti, ki niso v tem načinu, bodo onemogočene, dokler bo ta "
-#~ "omogočena."
-
-#~ msgid ""
-#~ "<b>Enable or disable this layer</b>\n"
-#~ "Disabled layers will not play nor render."
-#~ msgstr ""
-#~ "<b>Omogoči ali onemogoči plast</b>\n"
-#~ "Onemogoči plasti, ki ne bodo predvajane niti pretvorjene."
-
-#~ msgid "Make layer invisible"
-#~ msgstr "Nastavi plast kot nevidno"
-
-#~ msgid "Make layer visible"
-#~ msgstr "Nastavi plast kot vidno"
-
-#~ msgid "Opacity:"
-#~ msgstr "Prekrivnost:"
-
-#~ msgid "Change video opacity"
-#~ msgstr "Spremeni prekrivnost videa"
-
-#~ msgid "Vol:"
-#~ msgstr "Glas:"
-
-#~ msgid "Pan:"
-#~ msgstr "Odm:"
-
-#~ msgid "Change audio panning"
-#~ msgstr "Spremeni zvočni odmik od sredine"
-
-#~ msgid "Behavior"
-#~ msgstr "Obnašanje"
-
-#~ msgid "Start Playback"
-#~ msgstr "Začni predvajanje"
-
-#~ msgid "invalid (%s fps)"
-#~ msgstr "neveljavno (%s sl/s)"
-
-#~ msgid "%s doesn't yet handle non-local projects"
-#~ msgstr "%s še ne upravlja oddaljenih projektov"
-
-#~ msgid "%d fps"
-#~ msgstr "%d sl/s"
-
-#~ msgid "%.3f fps"
-#~ msgstr "%.3f sl/s"
-
-#~ msgid "%.2f fps"
-#~ msgstr "%.2f sl/s"
-
-#~ msgid "%d kHz"
-#~ msgstr "%d kHz"
-
-#~ msgid "%.1f kHz"
-#~ msgstr "%.1f kHz"
-
-#~ msgid "6 Channels (5.1)"
-#~ msgstr "6 kanalov (5.1)"
-
-#~ msgid "4 Channels (4.0)"
-#~ msgstr "4 kanali (4.0)"
-
-#~ msgid "Square"
-#~ msgstr "Kvadrat"
-
-#~ msgid "480p"
-#~ msgstr "480p"
-
-#~ msgid "480i"
-#~ msgstr "480i"
-
-#~ msgid "480p Wide"
-#~ msgstr "480p široko"
-
-#~ msgid "480i Wide"
-#~ msgstr "480i široko"
-
-#~ msgid "576p"
-#~ msgstr "576p"
-
-#~ msgid "576i"
-#~ msgstr "576i"
-
-#~ msgid "576p Wide"
-#~ msgstr "576p široko"
-
-#~ msgid "576i Wide"
-#~ msgstr "576i široko"
-
-#~ msgid "DV (15:11)"
-#~ msgstr "DV (15:11)"
-
-#~ msgid "DV Widescreen (16:9)"
-#~ msgstr "DV širok zaslon (16:9)"
-
-#~ msgid "Cinema (1.37)"
-#~ msgstr "Filmsko (1,37)"
-
-#~ msgid "Cinema (1.66)"
-#~ msgstr "Filmsko (1,66)"
-
-#~ msgid "Cinema (1.85)"
-#~ msgstr "Filmsko (1,85)"
-
-#~ msgid "Anamorphic (2.35)"
-#~ msgstr "Anamorfično (2,35)"
-
-#~ msgid "Anamorphic (2.39)"
-#~ msgstr "Anamorfično (2,39)"
-
-#~ msgid "Anamorphic (2.4)"
-#~ msgstr "Anamorfično (2,4)"
diff --git a/po/sv.po b/po/sv.po
index 025fed3..4a14382 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -16,8 +16,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pitivi\n"
 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/pitivi/issues\n"
-"POT-Creation-Date: 2022-05-07 11:42+0000\n"
-"PO-Revision-Date: 2022-05-07 15:12+0200\n"
+"POT-Creation-Date: 2023-03-13 16:35+0000\n"
+"PO-Revision-Date: 2023-03-13 21:53+0100\n"
 "Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\n"
@@ -25,7 +25,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 3.0.1\n"
+"X-Generator: Poedit 3.2.2\n"
 "X-Project-Style: gnome\n"
 
 #: data/org.pitivi.Pitivi-mime.xml.in:4
@@ -137,10 +137,6 @@ msgstr "Rensa identifierade slag"
 msgid "Detecting..."
 msgstr "Identifierar…"
 
-#: data/ui/clipblending.ui:15
-msgid "Blending Mode:"
-msgstr "Toningsläge:"
-
 #: data/ui/clipcolor.ui:21 data/ui/customwidgets/pitivi:object_effect.ui:37
 msgid "Pick the clip color"
 msgstr "Välj klippfärgen"
@@ -426,8 +422,8 @@ msgid "Edit the project settings"
 msgstr "Redigera projektinställningarna"
 
 #: data/ui/mainmenubutton.ui:119 data/ui/projectsettings.ui:61
-#: pitivi/dialogs/prefs.py:340 pitivi/medialibrary.py:173
-#: pitivi/medialibrary.py:538
+#: pitivi/dialogs/prefs.py:340 pitivi/medialibrary.py:182
+#: pitivi/medialibrary.py:547
 msgid "Project Settings"
 msgstr "Projektinställningar"
 
@@ -541,7 +537,7 @@ msgstr "Vissa ändringar kommer inte att gälla förrän du har startat om Pitiv
 #: pitivi/dialogs/browseprojects.py:38 pitivi/dialogs/missingasset.py:46
 #: pitivi/editorperspective.py:544 pitivi/editorperspective.py:679
 #: pitivi/editorperspective.py:727 pitivi/editorperspective.py:780
-#: pitivi/greeterperspective.py:241 pitivi/medialibrary.py:856
+#: pitivi/greeterperspective.py:241 pitivi/medialibrary.py:865
 msgid "Cancel"
 msgstr "Avbryt"
 
@@ -566,12 +562,12 @@ msgstr "Begränsa proportioner"
 msgid "Maintain aspect ratio"
 msgstr "Bevara bildförhållande"
 
-#: data/ui/projectsettings.ui:330 data/ui/renderingdialog.ui:734
+#: data/ui/projectsettings.ui:330 data/ui/renderingdialog.ui:732
 msgid "Frame rate:"
 msgstr "Bildfrekvens:"
 
 #. The title of the section with the video settings
-#: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:752
+#: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:750
 #: pitivi/clip_properties/markers.py:45 pitivi/effects.py:249
 msgid "Video"
 msgstr "Video"
@@ -627,20 +623,20 @@ msgstr "Rendera"
 msgid "Quality:"
 msgstr "Kvalitet:"
 
-#: data/ui/renderingdialog.ui:179 pitivi/clip_properties/markers.py:48
+#: data/ui/renderingdialog.ui:177 pitivi/clip_properties/markers.py:48
 #: pitivi/render.py:74
 msgid "Custom"
 msgstr "Anpassad"
 
-#: data/ui/renderingdialog.ui:246
+#: data/ui/renderingdialog.ui:244
 msgid "Container format:"
 msgstr "Behållarformat:"
 
-#: data/ui/renderingdialog.ui:313
+#: data/ui/renderingdialog.ui:311
 msgid "Automatically render from proxy files"
 msgstr "Rendera automatiskt från proxyfiler"
 
-#: data/ui/renderingdialog.ui:317
+#: data/ui/renderingdialog.ui:315
 msgid ""
 "Use proxy files if they are available and the source asset media format is "
 "not officially supported.\n"
@@ -654,11 +650,11 @@ msgstr ""
 "Detta alternativ ger en bra balans mellan kvalitet för den renderade videon "
 "och stabilitet."
 
-#: data/ui/renderingdialog.ui:332
+#: data/ui/renderingdialog.ui:330
 msgid "Always render from proxy files"
 msgstr "Rendera alltid från proxyfiler"
 
-#: data/ui/renderingdialog.ui:336
+#: data/ui/renderingdialog.ui:334
 msgid ""
 "Render all proxied clips from the proxy assets. There might be some quality "
 "loss during the rendering process."
@@ -666,11 +662,11 @@ msgstr ""
 "Rendera alla proxyklipp från proxyresurserna. Det kan ske en del "
 "kvalitetsförlust under renderingsprocessen."
 
-#: data/ui/renderingdialog.ui:349
+#: data/ui/renderingdialog.ui:347
 msgid "Never render from proxy files"
 msgstr "Rendera aldrig från proxyfiler"
 
-#: data/ui/renderingdialog.ui:353
+#: data/ui/renderingdialog.ui:351
 msgid ""
 "Always use source assets for rendering. It is the best choice for the "
 "quality of the rendered video, but you might hit some bugs because of the "
@@ -682,56 +678,56 @@ msgstr ""
 "grund av format som inte stöds officiellt.\n"
 "<i>Använd på egen risk!</i>"
 
-#: data/ui/renderingdialog.ui:400
+#: data/ui/renderingdialog.ui:398
 msgid "Channels:"
 msgstr "Kanaler:"
 
-#: data/ui/renderingdialog.ui:432 data/ui/renderingdialog.ui:653
+#: data/ui/renderingdialog.ui:430 data/ui/renderingdialog.ui:651
 msgid "Advanced..."
 msgstr "Avancerat…"
 
-#: data/ui/renderingdialog.ui:472 data/ui/renderingdialog.ui:692
+#: data/ui/renderingdialog.ui:470 data/ui/renderingdialog.ui:690
 msgid "Codec:"
 msgstr "Kodek:"
 
-#: data/ui/renderingdialog.ui:509
+#: data/ui/renderingdialog.ui:507
 msgid "Sample rate:"
 msgstr "Samplingsfrekvens:"
 
-#: data/ui/renderingdialog.ui:527 pitivi/clip_properties/markers.py:46
+#: data/ui/renderingdialog.ui:525 pitivi/clip_properties/markers.py:46
 #: pitivi/effects.py:126 pitivi/effects.py:249
 msgid "Audio"
 msgstr "Ljud"
 
-#: data/ui/renderingdialog.ui:566
+#: data/ui/renderingdialog.ui:564
 msgid "Scale:"
 msgstr "Skala:"
 
-#: data/ui/renderingdialog.ui:599
+#: data/ui/renderingdialog.ui:597
 msgid "Scale"
 msgstr "Skala"
 
-#: data/ui/renderingdialog.ui:619
+#: data/ui/renderingdialog.ui:617
 msgid "Height"
 msgstr "Höjd"
 
-#: data/ui/renderingdialog.ui:638
+#: data/ui/renderingdialog.ui:636
 msgid "Project Settings..."
 msgstr "Projektinställningar…"
 
-#: data/ui/renderingdialog.ui:718
+#: data/ui/renderingdialog.ui:716
 msgid "Framerate"
 msgstr "Bildfrekvens"
 
-#: data/ui/renderingdialog.ui:781
+#: data/ui/renderingdialog.ui:779
 msgid "Advanced"
 msgstr "Avancerat"
 
-#: data/ui/renderingdialog.ui:792
+#: data/ui/renderingdialog.ui:790
 msgid "Select file"
 msgstr "Välj fil"
 
-#: data/ui/renderingdialog.ui:809
+#: data/ui/renderingdialog.ui:807
 msgid "File path:"
 msgstr "Filsökväg:"
 
@@ -740,12 +736,12 @@ msgid "Rendering"
 msgstr "Rendering"
 
 #: data/ui/renderingprogress.ui:27 data/ui/trackerperspective.ui:19
-#: pitivi/viewer/viewer.py:839
+#: pitivi/viewer/viewer.py:844
 msgid "Pause"
 msgstr "Pausa"
 
 #: data/ui/renderingprogress.ui:55 data/ui/trackerperspective.ui:25
-#: pitivi/timeline/timeline.py:1915 pitivi/viewer/viewer.py:831
+#: pitivi/timeline/timeline.py:1921 pitivi/viewer/viewer.py:836
 msgid "Play"
 msgstr "Spela upp"
 
@@ -831,11 +827,11 @@ msgstr "Klistra in"
 msgid "Align clips based on their soundtracks"
 msgstr "Justera klipp baserat på deras ljudspår"
 
-#: data/ui/timelinetoolbar.ui:124
+#: data/ui/timelinetoolbar.ui:123
 msgid "Align"
 msgstr "Justera"
 
-#: data/ui/timelinetoolbar.ui:137
+#: data/ui/timelinetoolbar.ui:136
 msgid ""
 "Toggle gapless mode\n"
 "When enabled, adjacent clips automatically move to fill gaps."
@@ -844,7 +840,7 @@ msgstr ""
 "Om aktiverad kommer närliggande klipp automatiskt flytta sig för att fylla "
 "mellanrum."
 
-#: data/ui/timelinetoolbar.ui:140
+#: data/ui/timelinetoolbar.ui:139
 msgid "Gapless mode"
 msgstr "Mellanrumslöst läge"
 
@@ -901,7 +897,7 @@ msgstr "Gå framåt en bildruta"
 msgid "Tracking Algorithm"
 msgstr "Spårningsalgoritm"
 
-#: data/ui/trackerperspective.ui:402
+#: data/ui/trackerperspective.ui:401
 msgid "Track"
 msgstr "Spåra"
 
@@ -1271,11 +1267,11 @@ msgstr "Ange dess nya plats:"
 msgid "%s files"
 msgstr "%s-filer"
 
-#: pitivi/dialogs/missingasset.py:117 pitivi/medialibrary.py:884
+#: pitivi/dialogs/missingasset.py:117 pitivi/medialibrary.py:893
 msgid "All files"
 msgstr "Alla filer"
 
-#: pitivi/dialogs/prefs.py:61 pitivi/timeline/timeline.py:1747
+#: pitivi/dialogs/prefs.py:61 pitivi/timeline/timeline.py:1749
 msgid "Timeline"
 msgstr "Tidslinje"
 
@@ -1388,7 +1384,7 @@ msgstr ""
 "Du kan skapa <a href='{doc_url}'>instick</a> till din <a "
 "href='{dir_url}'>instickskatalog</a>."
 
-#: pitivi/editorperspective.py:205 pitivi/medialibrary.py:623
+#: pitivi/editorperspective.py:205 pitivi/medialibrary.py:632
 msgid "Media Library"
 msgstr "Mediabibliotek"
 
@@ -1681,64 +1677,64 @@ msgid "<b>Resolution</b>: %d×%d"
 msgstr "<b>Upplösning</b>: %d×%d"
 
 #: pitivi/mediafilespreviewer.py:271 pitivi/mediafilespreviewer.py:288
-#: pitivi/utils/ui.py:568
+#: pitivi/utils/ui.py:580
 #, python-format
 msgid "<b>Duration</b>: %s"
 msgstr "<b>Längd</b>: %s"
 
-#: pitivi/mediafilespreviewer.py:461 pitivi/medialibrary.py:1207
+#: pitivi/mediafilespreviewer.py:461 pitivi/medialibrary.py:1216
 msgid "Error while analyzing a file"
 msgid_plural "Error while analyzing files"
 msgstr[0] "Fel vid analysering av fil"
 msgstr[1] "Fel vid analysering av filer"
 
-#: pitivi/medialibrary.py:146
+#: pitivi/medialibrary.py:155
 msgid "Keep dialog open"
 msgstr "Håll dialogruta öppen"
 
-#: pitivi/medialibrary.py:148
+#: pitivi/medialibrary.py:157
 msgid "When importing files keep the dialog open"
 msgstr "Håll dialogrutan öppen vid import av filer"
 
 #. Translators: Create optimized media for unsupported files.
-#: pitivi/medialibrary.py:154
+#: pitivi/medialibrary.py:163
 msgid "Optimize:"
 msgstr "Optimera:"
 
-#: pitivi/medialibrary.py:158
+#: pitivi/medialibrary.py:167
 msgid "Unsupported assets"
 msgstr "Resurser som ej stöds"
 
-#: pitivi/medialibrary.py:159
+#: pitivi/medialibrary.py:168
 msgid "All"
 msgstr "Alla"
 
-#: pitivi/medialibrary.py:240
+#: pitivi/medialibrary.py:249
 #, python-format
-msgid "Scale assets larger than %s×%s px."
-msgstr "Skala resurser större än %s×%s bildpunkter."
+msgid "Scale down assets larger than %s×%s px."
+msgstr "Skala ner resurser större än %s×%s bildpunkter."
 
-#: pitivi/medialibrary.py:524 pitivi/medialibrary.py:1084
+#: pitivi/medialibrary.py:533 pitivi/medialibrary.py:1093
 msgid "Unknown"
 msgstr "Okänt"
 
-#: pitivi/medialibrary.py:630
+#: pitivi/medialibrary.py:639
 msgid "Remove the selected assets"
 msgstr "Ta bort de markerade resurserna"
 
-#: pitivi/medialibrary.py:637
+#: pitivi/medialibrary.py:646
 msgid "Insert selected assets at the end of the timeline"
 msgstr "Infoga markerade resurser vid slutet av tidslinjen"
 
-#: pitivi/medialibrary.py:853
+#: pitivi/medialibrary.py:862
 msgid "Select One or More Files"
 msgstr "Välj en eller flera filer"
 
-#: pitivi/medialibrary.py:857 pitivi/medialibrary.py:1281
+#: pitivi/medialibrary.py:866 pitivi/medialibrary.py:1290
 msgid "Add"
 msgstr "Lägg till"
 
-#: pitivi/medialibrary.py:872 pitivi/render.py:1491
+#: pitivi/medialibrary.py:881 pitivi/render.py:1491
 msgid "Supported file formats"
 msgstr "Alla format som stöds"
 
@@ -1748,86 +1744,86 @@ msgstr "Alla format som stöds"
 #. such as "31 seconds", "1 minute" or "1 hours, 14 minutes".
 #. In some languages, "About %s left" can be expressed roughly as
 #. "There remains approximatively %s" (to handle gender and plurals)
-#: pitivi/medialibrary.py:990
+#: pitivi/medialibrary.py:999
 #, python-format
 msgid "Transcoding %d asset: %d%% (About %s left)"
 msgid_plural "Transcoding %d assets: %d%% (About %s left)"
 msgstr[0] "Omkodar %d resurs: %d%% (Ungefär %s kvar)"
 msgstr[1] "Omkodar %d resurser: %d%% (Ungefär %s kvar)"
 
-#: pitivi/medialibrary.py:1096
+#: pitivi/medialibrary.py:1105
 msgid "View error"
 msgid_plural "View errors"
 msgstr[0] "Visa fel"
 msgstr[1] "Visa fel"
 
 #. Translators: {0:d} is just like %d (integer number variable)
-#: pitivi/medialibrary.py:1098
+#: pitivi/medialibrary.py:1107
 #, python-brace-format
 msgid "An error occurred while importing."
 msgid_plural "{0:d} errors occurred while importing."
 msgstr[0] "Ett fel inträffade under importen."
 msgstr[1] "{0:d} fel inträffade under importen."
 
-#: pitivi/medialibrary.py:1114
+#: pitivi/medialibrary.py:1123
 #, python-format
 msgid "The project settings have been set to match file '%s'"
 msgstr "Projektinställningarna har ställts in till att matcha filen ”%s”"
 
-#: pitivi/medialibrary.py:1210
+#: pitivi/medialibrary.py:1219
 msgid "The following file can not be used with Pitivi."
 msgid_plural "The following files can not be used with Pitivi."
 msgstr[0] "Följande fil kan inte användas med Pitivi."
 msgstr[1] "Följande filer kan inte användas med Pitivi."
 
-#: pitivi/medialibrary.py:1240
+#: pitivi/medialibrary.py:1249
 msgid "Tag as:"
 msgstr "Tagga som:"
 
-#: pitivi/medialibrary.py:1278
+#: pitivi/medialibrary.py:1287
 msgid "Enter tag"
 msgstr "Ange tagg"
 
-#: pitivi/medialibrary.py:1438
+#: pitivi/medialibrary.py:1447
 msgid "Open containing folder"
 msgstr "Öppna innehållande mapp"
 
-#: pitivi/medialibrary.py:1445
+#: pitivi/medialibrary.py:1454
 msgid "Edit"
 msgstr "Redigera"
 
-#: pitivi/medialibrary.py:1474
+#: pitivi/medialibrary.py:1483
 msgid "Do not use Optimised Proxy for selected asset"
 msgid_plural "Do not use Optimised Proxies for selected assets"
 msgstr[0] "Använd inte optimerad proxyfil för vald resurs"
 msgstr[1] "Använd inte optimerade proxyfiler för valda resurser"
 
-#: pitivi/medialibrary.py:1485 pitivi/medialibrary.py:1507
-#: pitivi/medialibrary.py:1529
+#: pitivi/medialibrary.py:1494 pitivi/medialibrary.py:1516
+#: pitivi/medialibrary.py:1538
 msgid "Delete corresponding proxy file"
 msgid_plural "Delete corresponding proxy files"
 msgstr[0] "Ta bort motsvarande proxyfil"
 msgstr[1] "Ta bort motsvarande proxyfiler"
 
-#: pitivi/medialibrary.py:1496
+#: pitivi/medialibrary.py:1505
 msgid "Do not use Proxy for selected asset"
 msgid_plural "Do not use Proxies for selected assets"
 msgstr[0] "Använd inte proxyfil för vald resurs"
 msgstr[1] "Använd inte proxyfiler för valda resurser"
 
-#: pitivi/medialibrary.py:1518
+#: pitivi/medialibrary.py:1527
 msgid "Do not use Scaled Proxy for selected asset"
 msgid_plural "Do not use Scaled Proxies for selected assets"
 msgstr[0] "Använd inte skalad proxyfil för vald resurs"
 msgstr[1] "Använd inte skalade proxyfiler för valda resurser"
 
-#: pitivi/medialibrary.py:1540
+#: pitivi/medialibrary.py:1549
 msgid "Use Optimised Proxy for selected asset"
 msgid_plural "Use Optimised Proxies for selected assets"
 msgstr[0] "Använd optimerad proxyfil för vald resurs"
 msgstr[1] "Använd optimerade proxyfiler för valda resurser"
 
-#: pitivi/medialibrary.py:1550
+#: pitivi/medialibrary.py:1559
 msgid "Use Scaled Proxy for selected asset"
 msgid_plural "Use Scaled Proxies for selected assets"
 msgstr[0] "Använd skalad proxyfil för vald resurs"
@@ -1926,7 +1922,7 @@ msgstr "Du har inte rättigheter att skriva till denna mapp."
 msgid "project"
 msgstr "projekt"
 
-#: pitivi/project.py:700
+#: pitivi/project.py:701
 msgid "Pitivi encoding profile"
 msgstr "Pitivis kodningsprofil"
 
@@ -2094,26 +2090,26 @@ msgstr "Ta bort lager"
 msgid "Layer %d"
 msgstr "Lager %d"
 
-#: pitivi/timeline/ruler.py:239
+#: pitivi/timeline/ruler.py:242
 #, python-format
 msgid "Frame #%d"
 msgstr "Bildruta #%d"
 
-#: pitivi/timeline/timeline.py:86
+#: pitivi/timeline/timeline.py:85
 msgid "Markers magnetic by default"
 msgstr "Magnetiska markörer som standard"
 
-#: pitivi/timeline/timeline.py:88
+#: pitivi/timeline/timeline.py:87
 msgid ""
 "Whether markers created on new clips will be snapping targets by default."
 msgstr ""
 "Huruvida markörer som skapas på nya klipp kommer fästas vid mål som standard."
 
-#: pitivi/timeline/timeline.py:98
+#: pitivi/timeline/timeline.py:97
 msgid "Snap distance"
 msgstr "Fästavstånd"
 
-#: pitivi/timeline/timeline.py:99
+#: pitivi/timeline/timeline.py:98
 msgid ""
 "Threshold (in pixels) at which two clips will snap together when dragging or "
 "trimming."
@@ -2121,11 +2117,11 @@ msgstr ""
 "Tröskelvärde (i bildpunkter) med vilket två klipp ska fästas tillsammans när "
 "de dras eller finjusteras."
 
-#: pitivi/timeline/timeline.py:111
+#: pitivi/timeline/timeline.py:110
 msgid "Image clip duration"
 msgstr "Bildklippsvaraktighet"
 
-#: pitivi/timeline/timeline.py:113
+#: pitivi/timeline/timeline.py:112
 msgid ""
 "Default clip length (in milliseconds) of images when inserting on the "
 "timeline."
@@ -2133,129 +2129,129 @@ msgstr ""
 "Standardlängd för videoklipp (i millisekunder) för bilder vid infogande på "
 "tidslinjen."
 
-#: pitivi/timeline/timeline.py:124
+#: pitivi/timeline/timeline.py:123
 msgid "Left click also seeks"
 msgstr "Vänsterklick spolar också"
 
-#: pitivi/timeline/timeline.py:126
+#: pitivi/timeline/timeline.py:125
 msgid "Whether left-clicking also seeks besides selecting and editing clips."
 msgstr ""
 "Huruvida vänsterklickande också spolar förutom att välja och redigera "
 "videoklipp."
 
-#: pitivi/timeline/timeline.py:356 pitivi/timeline/timeline.py:1811
+#: pitivi/timeline/timeline.py:356 pitivi/timeline/timeline.py:1813
 msgid "Add layer"
 msgstr "Lägg till lager"
 
-#: pitivi/timeline/timeline.py:1754
+#: pitivi/timeline/timeline.py:1756
 msgid "Action Search"
 msgstr "Åtgärdssökning"
 
-#: pitivi/timeline/timeline.py:1762
+#: pitivi/timeline/timeline.py:1764
 msgid "Delete selected clips"
 msgstr "Ta bort markerade klipp"
 
-#: pitivi/timeline/timeline.py:1769
+#: pitivi/timeline/timeline.py:1771
 msgid "Delete selected clips and shift following ones"
 msgstr "Ta bort markerade klipp och skifta efterföljande"
 
-#: pitivi/timeline/timeline.py:1776
+#: pitivi/timeline/timeline.py:1778
 msgid "Group selected clips together"
 msgstr "Gruppera markerade klipp tillsammans"
 
-#: pitivi/timeline/timeline.py:1783
+#: pitivi/timeline/timeline.py:1785
 msgid "Ungroup selected clips"
 msgstr "Avgruppera markerade klipp"
 
-#: pitivi/timeline/timeline.py:1790
+#: pitivi/timeline/timeline.py:1792
 msgid "Cut selected clips"
 msgstr "Klipp ut markerade klipp"
 
-#: pitivi/timeline/timeline.py:1797
+#: pitivi/timeline/timeline.py:1799
 msgid "Copy selected clips"
 msgstr "Kopiera markerade klipp"
 
-#: pitivi/timeline/timeline.py:1804
+#: pitivi/timeline/timeline.py:1806
 msgid "Paste selected clips"
 msgstr "Klistra in markerade klipp"
 
-#: pitivi/timeline/timeline.py:1818
+#: pitivi/timeline/timeline.py:1820
 msgid "Seek to the first clip edge after the playhead"
 msgstr "Spola till den första klippkanten efter uppspelningshuvudet"
 
-#: pitivi/timeline/timeline.py:1825
+#: pitivi/timeline/timeline.py:1827
 msgid "Seek to the first clip edge before the playhead"
 msgstr "Spola till den första klippkanten innan uppspelningshuvudet"
 
-#: pitivi/timeline/timeline.py:1832
+#: pitivi/timeline/timeline.py:1834
 msgid "Shift selected clips one frame forward"
 msgstr "Skifta markerade klipp en bildruta framåt"
 
-#: pitivi/timeline/timeline.py:1839
+#: pitivi/timeline/timeline.py:1841
 msgid "Shift selected clips one frame backward"
 msgstr "Skifta markerade klipp en bildruta bakåt"
 
-#: pitivi/timeline/timeline.py:1846
+#: pitivi/timeline/timeline.py:1848
 msgid "Snap selected clips to the next clip"
 msgstr "Fäst markerade klipp till nästa klipp"
 
-#: pitivi/timeline/timeline.py:1853
+#: pitivi/timeline/timeline.py:1855
 msgid "Snap selected clips to the previous clip"
 msgstr "Fäst markerade klipp till föregående klipp"
 
-#: pitivi/timeline/timeline.py:1860
+#: pitivi/timeline/timeline.py:1862
 msgid "Add an effect to the selected clip"
 msgstr "Lägg till en effekt till det markerade klippet"
 
-#: pitivi/timeline/timeline.py:1873
+#: pitivi/timeline/timeline.py:1879
 msgid "Split the clip at the position"
 msgstr "Dela upp klipp vid positionen"
 
-#: pitivi/timeline/timeline.py:1880
+#: pitivi/timeline/timeline.py:1886
 msgid "Add keyframe to the keyframe curve of selected clip"
 msgstr "Lägg till nyckelbildruta till nyckelbildskurvan för valt klipp"
 
-#: pitivi/timeline/timeline.py:1885
+#: pitivi/timeline/timeline.py:1891
 msgid "Timeline Navigation"
 msgstr "Tidslinjenavigering"
 
-#: pitivi/timeline/timeline.py:1893
+#: pitivi/timeline/timeline.py:1899
 msgid "Zoom in"
 msgstr "Zooma in"
 
-#: pitivi/timeline/timeline.py:1901
+#: pitivi/timeline/timeline.py:1907
 msgid "Zoom out"
 msgstr "Zooma ut"
 
-#: pitivi/timeline/timeline.py:1909
+#: pitivi/timeline/timeline.py:1915
 msgid "Adjust zoom to fit the project to the window"
 msgstr "Justera zoom för att anpassa projektet till fönstret"
 
-#: pitivi/timeline/timeline.py:1922
+#: pitivi/timeline/timeline.py:1928
 msgid "Seek backward one frame"
 msgstr "Spola bakåt en bildruta"
 
-#: pitivi/timeline/timeline.py:1929
+#: pitivi/timeline/timeline.py:1935
 msgid "Seek forward one frame"
 msgstr "Spola framåt en bildruta"
 
-#: pitivi/timeline/timeline.py:1937
+#: pitivi/timeline/timeline.py:1943
 msgid "Seek backward one second"
 msgstr "Spola bakåt en sekund"
 
-#: pitivi/timeline/timeline.py:1945
+#: pitivi/timeline/timeline.py:1951
 msgid "Seek forward one second"
 msgstr "Spola framåt en sekund"
 
-#: pitivi/timeline/timeline.py:1953
+#: pitivi/timeline/timeline.py:1959
 msgid "Add a marker"
 msgstr "Lägg till en markör"
 
-#: pitivi/timeline/timeline.py:1960
+#: pitivi/timeline/timeline.py:1966
 msgid "Seek to the first marker before the playhead"
 msgstr "Spola till den första markören innan uppspelningshuvudet"
 
-#: pitivi/timeline/timeline.py:1967
+#: pitivi/timeline/timeline.py:1973
 msgid "Seek to the first marker after the playhead"
 msgstr "Spola till den första markören efter uppspelningshuvudet"
 
@@ -2354,117 +2350,117 @@ msgid "Max CPU usage dedicated to transcoding"
 msgstr "Maximal processoranvändning avsedd för omkodning"
 
 #. Translators: 'fps' is for 'frames per second'
-#: pitivi/utils/ui.py:390
+#: pitivi/utils/ui.py:402
 msgid "{0:s} fps"
 msgstr "{0:s} bilder/s"
 
-#: pitivi/utils/ui.py:410
+#: pitivi/utils/ui.py:422
 #, python-brace-format
 msgid "{0:n} kHz"
 msgstr "{0:n} kHz"
 
-#: pitivi/utils/ui.py:419
+#: pitivi/utils/ui.py:431
 msgid "Mono"
 msgstr "Mono"
 
-#: pitivi/utils/ui.py:420
+#: pitivi/utils/ui.py:432
 msgid "Stereo"
 msgstr "Stereo"
 
-#: pitivi/utils/ui.py:421
+#: pitivi/utils/ui.py:433
 msgid "6 (5.1)"
 msgstr "6 (5.1)"
 
-#: pitivi/utils/ui.py:422
+#: pitivi/utils/ui.py:434
 msgid "8 (7.1)"
 msgstr "8 (7.1)"
 
-#: pitivi/utils/ui.py:547
+#: pitivi/utils/ui.py:559
 #, python-format
 msgid "<b>Duration:</b> %s"
 msgstr "<b>Längd:</b> %s"
 
-#: pitivi/utils/ui.py:550
+#: pitivi/utils/ui.py:562
 #, python-format
 msgid "<b>Proxy creation progress:</b> %d%%"
 msgstr "<b>Skapelseförlopp för proxy:</b> %d%%"
 
-#: pitivi/utils/ui.py:564
+#: pitivi/utils/ui.py:576
 #, python-format
 msgid "<b>Path</b>: %s"
 msgstr "<b>Sökväg</b>: %s"
 
-#: pitivi/utils/ui.py:574
+#: pitivi/utils/ui.py:586
 #, python-format
 msgid "<b>Size</b>: %s"
 msgstr "<b>Storlek</b>: %s"
 
-#: pitivi/utils/ui.py:610
+#: pitivi/utils/ui.py:622
 #, python-format
 msgid "<b>Audio:</b> %d channel at %d <i>Hz</i> (%d <i>bits</i>)"
 msgid_plural "<b>Audio:</b> %d channels at %d <i>Hz</i> (%d <i>bits</i>)"
 msgstr[0] "<b>Ljud:</b> %d kanal i %d <i>Hz</i> (%d <i>bitar</i>)"
 msgstr[1] "<b>Ljud:</b> %d kanaler i %d <i>Hz</i> (%d <i>bitar</i>)"
 
-#: pitivi/utils/ui.py:622
+#: pitivi/utils/ui.py:634
 #, python-format
 msgid "<b>Video:</b> %d×%d <i>pixels</i> at %s <i>fps</i>"
 msgstr "<b>Video:</b> %d×%d <i>bildpunkter</i> med %s <i>bilder/s</i>"
 
-#: pitivi/utils/ui.py:625
+#: pitivi/utils/ui.py:637
 #, python-format
 msgid "<b>Image:</b> %d×%d <i>pixels</i>"
 msgstr "<b>Bild:</b> %d×%d <i>bildpunkter</i>"
 
-#: pitivi/utils/ui.py:679 pitivi/utils/ui.py:706 pitivi/utils/ui.py:730
+#: pitivi/utils/ui.py:691 pitivi/utils/ui.py:718 pitivi/utils/ui.py:742
 #, python-format
 msgid "%d hour"
 msgid_plural "%d hours"
 msgstr[0] "%d timme"
 msgstr[1] "%d timmar"
 
-#: pitivi/utils/ui.py:682 pitivi/utils/ui.py:709 pitivi/utils/ui.py:733
+#: pitivi/utils/ui.py:694 pitivi/utils/ui.py:721 pitivi/utils/ui.py:745
 #, python-format
 msgid "%d minute"
 msgid_plural "%d minutes"
 msgstr[0] "%d minut"
 msgstr[1] "%d minuter"
 
-#: pitivi/utils/ui.py:685 pitivi/utils/ui.py:712 pitivi/utils/ui.py:736
+#: pitivi/utils/ui.py:697 pitivi/utils/ui.py:724 pitivi/utils/ui.py:748
 #, python-format
 msgid "%d second"
 msgid_plural "%d seconds"
 msgstr[0] "%d sekund"
 msgstr[1] "%d sekunder"
 
-#: pitivi/utils/ui.py:704
+#: pitivi/utils/ui.py:716
 #, python-format
 msgid "%d day"
 msgid_plural "%d days"
 msgstr[0] "%d dag"
 msgstr[1] "%d dagar"
 
-#: pitivi/utils/ui.py:745
+#: pitivi/utils/ui.py:757
 msgid "Just now"
 msgstr "Just nu"
 
-#: pitivi/utils/ui.py:748
+#: pitivi/utils/ui.py:760
 msgid "An hour ago"
 msgstr "En timme sedan"
 
-#: pitivi/utils/ui.py:751
+#: pitivi/utils/ui.py:763
 msgid "Today"
 msgstr "Idag"
 
-#: pitivi/utils/ui.py:754
+#: pitivi/utils/ui.py:766
 msgid "Yesterday"
 msgstr "Igår"
 
-#: pitivi/utils/ui.py:763
+#: pitivi/utils/ui.py:775
 msgid "About a year ago"
 msgstr "Ungefär ett år sedan"
 
-#: pitivi/utils/ui.py:766
+#: pitivi/utils/ui.py:778
 #, python-format
 msgid "About %d year ago"
 msgid_plural "About %d years ago"
@@ -2528,27 +2524,27 @@ msgstr "Hjälplinjer för bildkomposition"
 msgid "Currently playing"
 msgstr "Spelar just nu"
 
-#: pitivi/viewer/viewer.py:299
+#: pitivi/viewer/viewer.py:304
 msgid "Select composition guidelines"
 msgstr "Välj hjälplinjer för bildkomposition"
 
-#: pitivi/viewer/viewer.py:307
+#: pitivi/viewer/viewer.py:312
 msgid "Go to the beginning of the timeline"
 msgstr "Gå till början av tidslinjen"
 
-#: pitivi/viewer/viewer.py:316
+#: pitivi/viewer/viewer.py:321
 msgid "Go back one second"
 msgstr "Gå bakåt en sekund"
 
-#: pitivi/viewer/viewer.py:329
+#: pitivi/viewer/viewer.py:334
 msgid "Go forward one second"
 msgstr "Gå framåt en sekund"
 
-#: pitivi/viewer/viewer.py:338
+#: pitivi/viewer/viewer.py:343
 msgid "Go to the end of the timeline"
 msgstr "Gå till slutet av tidslinjen"
 
-#: pitivi/viewer/viewer.py:345
+#: pitivi/viewer/viewer.py:350
 msgid ""
 "Enter a timecode or frame number\n"
 "and press \"Enter\" to go to that position"
@@ -2556,7 +2552,7 @@ msgstr ""
 "Ange en tidskod eller bildrutenummer\n"
 "och tryck ”Retur” för gå till den positionen"
 
-#: pitivi/viewer/viewer.py:356
+#: pitivi/viewer/viewer.py:361
 msgid ""
 "Detach the viewer\n"
 "You can re-attach it by closing the newly created window."
@@ -2564,24 +2560,24 @@ msgstr ""
 "Koppla från visaren\n"
 "Du kan återfästa den genom att stänga det nyligen skapade fönstret."
 
-#: pitivi/viewer/viewer.py:383
+#: pitivi/viewer/viewer.py:388
 msgid "Viewer"
 msgstr "Visare"
 
-#: pitivi/viewer/viewer.py:391
+#: pitivi/viewer/viewer.py:396
 msgid "Toggle the currently selected composition guidelines"
 msgstr ""
 "Växla användning av för närvarande valda hjälplinjer för bildkomposition"
 
-#: pitivi/viewer/viewer.py:399
+#: pitivi/viewer/viewer.py:404
 msgid "Toggle safe areas on viewer"
 msgstr "Växla användning av säkra områden i visare"
 
-#: pitivi/viewer/viewer.py:541 pitivi/viewer/viewer.py:600
+#: pitivi/viewer/viewer.py:546 pitivi/viewer/viewer.py:605
 msgid "Show this window in fullscreen"
 msgstr "Visa detta fönster i helskärm"
 
-#: pitivi/viewer/viewer.py:597
+#: pitivi/viewer/viewer.py:602
 msgid "Exit fullscreen mode"
 msgstr "Avsluta helskärmsläge"
 
@@ -2628,6 +2624,9 @@ msgstr ""
 "Det är inte möjligt att åsidosätta {key} eftersom genvägskommandon är "
 "skrivskyddade."
 
+#~ msgid "Blending Mode:"
+#~ msgstr "Toningsläge:"
+
 #~ msgid "No markers"
 #~ msgstr "Inga markörer"
 
diff --git a/po/tr.po b/po/tr.po
index b29487c..7253889 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -1,29 +1,29 @@
 # Turkish translation of pitivi.
 # Copyright (C) 2010-2013 The Free Software Foundation.
-# Copyright (C) 2014-2022 pitivi'S COPYRIGHT HOLDER
+# Copyright (C) 2014-2023 pitivi'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the pitivi package.
 #
 # Launchpad Katkıcıları <https://translations.launchpad.net/ubuntu/saucy/+source/pitivi/+pots/pitivi/tr/+translate>, 2013.
 # İşbaran Akçayır <isbaran@gmail.com>, 2015.
 # Muhammet Kara <muhammetk@gmail.com>, 2013, 2016.
 # Serdar Sağlam <teknomobil@yandex.com>, 2019.
-# Sabri Ünal <libreajans@gmail.com>, 2019, 2022.
-# Emin Tufan Çetin <etcetin@gmail.com>, 2020, 2022.
+# Sabri Ünal <libreajans@gmail.com>, 2019, 2022, 2023.
+# Emin Tufan Çetin <etcetin@gmail.com>, 2020, 2022, 2023.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: pitivi.master\n"
 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/pitivi/issues\n"
-"POT-Creation-Date: 2022-05-09 14:58+0000\n"
-"PO-Revision-Date: 2022-05-12 15:30+0300\n"
-"Last-Translator: Emin Tufan Çetin <etcetin@gmail.com>\n"
+"POT-Creation-Date: 2023-01-25 07:38+0000\n"
+"PO-Revision-Date: 2023-02-14 04:36+0300\n"
+"Last-Translator: Sabri Ünal <libreajans@gmail.com>\n"
 "Language-Team: Turkish <gnome-turk@gnome.org>\n"
 "Language: tr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Poedit 3.0.1\n"
+"X-Generator: Poedit 3.1.1\n"
 "X-POOTLE-MTIME: 1425887223.000000\n"
 
 #: data/org.pitivi.Pitivi-mime.xml.in:4
@@ -561,12 +561,12 @@ msgstr "Oranları sabitle"
 msgid "Maintain aspect ratio"
 msgstr "En-boy oranını koru"
 
-#: data/ui/projectsettings.ui:330 data/ui/renderingdialog.ui:734
+#: data/ui/projectsettings.ui:330 data/ui/renderingdialog.ui:732
 msgid "Frame rate:"
 msgstr "Çerçeve oranı:"
 
 #. The title of the section with the video settings
-#: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:752
+#: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:750
 #: pitivi/clip_properties/markers.py:45 pitivi/effects.py:249
 msgid "Video"
 msgstr "Video"
@@ -621,20 +621,20 @@ msgstr "Oluştur"
 msgid "Quality:"
 msgstr "Nitelik:"
 
-#: data/ui/renderingdialog.ui:179 pitivi/clip_properties/markers.py:48
+#: data/ui/renderingdialog.ui:177 pitivi/clip_properties/markers.py:48
 #: pitivi/render.py:74
 msgid "Custom"
 msgstr "Özel"
 
-#: data/ui/renderingdialog.ui:246
+#: data/ui/renderingdialog.ui:244
 msgid "Container format:"
 msgstr "Kapsayıcı biçimi:"
 
-#: data/ui/renderingdialog.ui:313
+#: data/ui/renderingdialog.ui:311
 msgid "Automatically render from proxy files"
 msgstr "Vekil dosyalarından kendiliğinden hazırla"
 
-#: data/ui/renderingdialog.ui:317
+#: data/ui/renderingdialog.ui:315
 msgid ""
 "Use proxy files if they are available and the source asset media format is "
 "not officially supported.\n"
@@ -648,11 +648,11 @@ msgstr ""
 "Bu seçenek, oluşturulan videonun niteliğiyle kararlılık arasında iyi bir "
 "denge kurar."
 
-#: data/ui/renderingdialog.ui:332
+#: data/ui/renderingdialog.ui:330
 msgid "Always render from proxy files"
 msgstr "Her zaman vekil dosyalarından oluştur"
 
-#: data/ui/renderingdialog.ui:336
+#: data/ui/renderingdialog.ui:334
 msgid ""
 "Render all proxied clips from the proxy assets. There might be some quality "
 "loss during the rendering process."
@@ -660,11 +660,11 @@ msgstr ""
 "Tüm vekil klipleri vekil varlıklarından oluştur. Oluşturma işlemi sırasında "
 "bazı nitelik yitimleri olabilir."
 
-#: data/ui/renderingdialog.ui:349
+#: data/ui/renderingdialog.ui:347
 msgid "Never render from proxy files"
 msgstr "Asla vekil dosyalarından oluşturma"
 
-#: data/ui/renderingdialog.ui:353
+#: data/ui/renderingdialog.ui:351
 msgid ""
 "Always use source assets for rendering. It is the best choice for the "
 "quality of the rendered video, but you might hit some bugs because of the "
@@ -676,56 +676,56 @@ msgstr ""
 "biçimleri kullanımı nedeniyle bazı hatalar olabilir.\n"
 "<i>Kendi sorumluluğunuzdadır!</i>"
 
-#: data/ui/renderingdialog.ui:400
+#: data/ui/renderingdialog.ui:398
 msgid "Channels:"
 msgstr "Kanallar:"
 
-#: data/ui/renderingdialog.ui:432 data/ui/renderingdialog.ui:653
+#: data/ui/renderingdialog.ui:430 data/ui/renderingdialog.ui:651
 msgid "Advanced..."
 msgstr "Gelişmiş..."
 
-#: data/ui/renderingdialog.ui:472 data/ui/renderingdialog.ui:692
+#: data/ui/renderingdialog.ui:470 data/ui/renderingdialog.ui:690
 msgid "Codec:"
 msgstr "Çözücü:"
 
-#: data/ui/renderingdialog.ui:509
+#: data/ui/renderingdialog.ui:507
 msgid "Sample rate:"
 msgstr "Örnekleme hızı:"
 
-#: data/ui/renderingdialog.ui:527 pitivi/clip_properties/markers.py:46
+#: data/ui/renderingdialog.ui:525 pitivi/clip_properties/markers.py:46
 #: pitivi/effects.py:126 pitivi/effects.py:249
 msgid "Audio"
 msgstr "Ses"
 
-#: data/ui/renderingdialog.ui:566
+#: data/ui/renderingdialog.ui:564
 msgid "Scale:"
 msgstr "Ölçek:"
 
-#: data/ui/renderingdialog.ui:599
+#: data/ui/renderingdialog.ui:597
 msgid "Scale"
 msgstr "Ölçek"
 
-#: data/ui/renderingdialog.ui:619
+#: data/ui/renderingdialog.ui:617
 msgid "Height"
 msgstr "Yükseklik"
 
-#: data/ui/renderingdialog.ui:638
+#: data/ui/renderingdialog.ui:636
 msgid "Project Settings..."
 msgstr "Proje Ayarları..."
 
-#: data/ui/renderingdialog.ui:718
+#: data/ui/renderingdialog.ui:716
 msgid "Framerate"
 msgstr "Kare hızı"
 
-#: data/ui/renderingdialog.ui:781
+#: data/ui/renderingdialog.ui:779
 msgid "Advanced"
 msgstr "Gelişmiş"
 
-#: data/ui/renderingdialog.ui:792
+#: data/ui/renderingdialog.ui:790
 msgid "Select file"
 msgstr "Dosya seç"
 
-#: data/ui/renderingdialog.ui:809
+#: data/ui/renderingdialog.ui:807
 msgid "File path:"
 msgstr "Dosya yolu:"
 
@@ -739,7 +739,7 @@ msgid "Pause"
 msgstr "Duraklat"
 
 #: data/ui/renderingprogress.ui:55 data/ui/trackerperspective.ui:25
-#: pitivi/timeline/timeline.py:1915 pitivi/viewer/viewer.py:836
+#: pitivi/timeline/timeline.py:1921 pitivi/viewer/viewer.py:836
 msgid "Play"
 msgstr "Oynat"
 
@@ -825,11 +825,11 @@ msgstr "Yapıştır"
 msgid "Align clips based on their soundtracks"
 msgstr "Klipleri ses parçalarına göre hizala"
 
-#: data/ui/timelinetoolbar.ui:124
+#: data/ui/timelinetoolbar.ui:123
 msgid "Align"
 msgstr "Hizala"
 
-#: data/ui/timelinetoolbar.ui:137
+#: data/ui/timelinetoolbar.ui:136
 msgid ""
 "Toggle gapless mode\n"
 "When enabled, adjacent clips automatically move to fill gaps."
@@ -837,7 +837,7 @@ msgstr ""
 "Boşluksuz kipini aç/kapat\n"
 "Etkinleştirildiğinde komşu klipler boşlukları kendiliğinden dolduracaktır."
 
-#: data/ui/timelinetoolbar.ui:140
+#: data/ui/timelinetoolbar.ui:139
 msgid "Gapless mode"
 msgstr "Boşluksuz kip"
 
@@ -893,7 +893,7 @@ msgstr "Bir kare ileri git"
 msgid "Tracking Algorithm"
 msgstr "İzleme Algoritması"
 
-#: data/ui/trackerperspective.ui:402
+#: data/ui/trackerperspective.ui:401
 msgid "Track"
 msgstr "İzle"
 
@@ -1264,7 +1264,7 @@ msgstr "%s dosyaları"
 msgid "All files"
 msgstr "Tüm dosyalar"
 
-#: pitivi/dialogs/prefs.py:61 pitivi/timeline/timeline.py:1747
+#: pitivi/dialogs/prefs.py:61 pitivi/timeline/timeline.py:1749
 msgid "Timeline"
 msgstr "Zaman çizgisi"
 
@@ -2070,27 +2070,27 @@ msgstr "Katmanı sil"
 msgid "Layer %d"
 msgstr "Katman %d"
 
-#: pitivi/timeline/ruler.py:239
+#: pitivi/timeline/ruler.py:241
 #, python-format
 msgid "Frame #%d"
 msgstr "Kare #%d"
 
-#: pitivi/timeline/timeline.py:86
+#: pitivi/timeline/timeline.py:85
 msgid "Markers magnetic by default"
 msgstr "Öntanımlı manyetik işaretleyiciler"
 
-#: pitivi/timeline/timeline.py:88
+#: pitivi/timeline/timeline.py:87
 msgid ""
 "Whether markers created on new clips will be snapping targets by default."
 msgstr ""
 "Yeni kliplerde oluşturulan işaretçilerin öntanımlı olarak hedefleri yakalama "
 "durumu."
 
-#: pitivi/timeline/timeline.py:98
+#: pitivi/timeline/timeline.py:97
 msgid "Snap distance"
 msgstr "Yapışma mesafesi"
 
-#: pitivi/timeline/timeline.py:99
+#: pitivi/timeline/timeline.py:98
 msgid ""
 "Threshold (in pixels) at which two clips will snap together when dragging or "
 "trimming."
@@ -2098,141 +2098,141 @@ msgstr ""
 "Sürüklerken veya kırparken iki klibin birbirine yapıştırılacağı eşik değer "
 "(piksel türünde)."
 
-#: pitivi/timeline/timeline.py:111
+#: pitivi/timeline/timeline.py:110
 msgid "Image clip duration"
 msgstr "Resim klip süresi"
 
-#: pitivi/timeline/timeline.py:113
+#: pitivi/timeline/timeline.py:112
 msgid ""
 "Default clip length (in milliseconds) of images when inserting on the "
 "timeline."
 msgstr ""
-"Zaman çizelgesine eklerken görüntülerin varsayılan klip uzunluğu (milisaniye "
+"Zaman çizelgesine eklerken görüntülerin öntanımlı klip uzunluğu (milisaniye "
 "türünde)."
 
-#: pitivi/timeline/timeline.py:124
+#: pitivi/timeline/timeline.py:123
 msgid "Left click also seeks"
 msgstr "Sol tıklamada sar"
 
-#: pitivi/timeline/timeline.py:126
+#: pitivi/timeline/timeline.py:125
 msgid "Whether left-clicking also seeks besides selecting and editing clips."
 msgstr ""
 "Sol tıklamanın klipleri seçip düzenlemenin yanı sıra ileri geri sarma için "
 "kullanılması."
 
-#: pitivi/timeline/timeline.py:356 pitivi/timeline/timeline.py:1811
+#: pitivi/timeline/timeline.py:356 pitivi/timeline/timeline.py:1813
 msgid "Add layer"
 msgstr "Katman ekle"
 
-#: pitivi/timeline/timeline.py:1754
+#: pitivi/timeline/timeline.py:1756
 msgid "Action Search"
 msgstr "Eylem Ara"
 
-#: pitivi/timeline/timeline.py:1762
+#: pitivi/timeline/timeline.py:1764
 msgid "Delete selected clips"
 msgstr "Seçilen klipleri sil"
 
-#: pitivi/timeline/timeline.py:1769
+#: pitivi/timeline/timeline.py:1771
 msgid "Delete selected clips and shift following ones"
 msgstr "Seçili klipleri sil ve aşağıdaki klipleri değiştir"
 
-#: pitivi/timeline/timeline.py:1776
+#: pitivi/timeline/timeline.py:1778
 msgid "Group selected clips together"
 msgstr "Seçili klipleri kümele"
 
-#: pitivi/timeline/timeline.py:1783
+#: pitivi/timeline/timeline.py:1785
 msgid "Ungroup selected clips"
 msgstr "Seçili klipleri kümeden çıkar"
 
-#: pitivi/timeline/timeline.py:1790
+#: pitivi/timeline/timeline.py:1792
 msgid "Cut selected clips"
 msgstr "Seçili klipleri kes"
 
-#: pitivi/timeline/timeline.py:1797
+#: pitivi/timeline/timeline.py:1799
 msgid "Copy selected clips"
 msgstr "Seçili klipleri kopyala"
 
-#: pitivi/timeline/timeline.py:1804
+#: pitivi/timeline/timeline.py:1806
 msgid "Paste selected clips"
 msgstr "Seçili klipleri yapıştır"
 
-#: pitivi/timeline/timeline.py:1818
+#: pitivi/timeline/timeline.py:1820
 msgid "Seek to the first clip edge after the playhead"
 msgstr "Oynatma başından sonraki ilk klip kenarına sarar"
 
-#: pitivi/timeline/timeline.py:1825
+#: pitivi/timeline/timeline.py:1827
 msgid "Seek to the first clip edge before the playhead"
 msgstr "Oynatma başından önceki ilk klip kenarına sarar"
 
-#: pitivi/timeline/timeline.py:1832
+#: pitivi/timeline/timeline.py:1834
 msgid "Shift selected clips one frame forward"
 msgstr "Seçili klipleri bir kare ileri kaydır"
 
-#: pitivi/timeline/timeline.py:1839
+#: pitivi/timeline/timeline.py:1841
 msgid "Shift selected clips one frame backward"
 msgstr "Seçili klipleri bir kare geri kaydır"
 
-#: pitivi/timeline/timeline.py:1846
+#: pitivi/timeline/timeline.py:1848
 msgid "Snap selected clips to the next clip"
 msgstr "Seçili klipleri sonraki klipe yapıştır"
 
-#: pitivi/timeline/timeline.py:1853
+#: pitivi/timeline/timeline.py:1855
 msgid "Snap selected clips to the previous clip"
 msgstr "Seçili klipleri önceki klipe yapıştır"
 
-#: pitivi/timeline/timeline.py:1860
+#: pitivi/timeline/timeline.py:1862
 msgid "Add an effect to the selected clip"
 msgstr "Seçili klibe efekt ekle"
 
-#: pitivi/timeline/timeline.py:1873
+#: pitivi/timeline/timeline.py:1879
 msgid "Split the clip at the position"
 msgstr "Klibi geçerli konumda böl"
 
-#: pitivi/timeline/timeline.py:1880
+#: pitivi/timeline/timeline.py:1886
 msgid "Add keyframe to the keyframe curve of selected clip"
 msgstr "Seçilen klibin anahtar karesi eğrisine anahtar karesi ekle"
 
-#: pitivi/timeline/timeline.py:1885
+#: pitivi/timeline/timeline.py:1891
 msgid "Timeline Navigation"
 msgstr "Zaman Çizelgesi Gezintisi"
 
-#: pitivi/timeline/timeline.py:1893
+#: pitivi/timeline/timeline.py:1899
 msgid "Zoom in"
 msgstr "Yakınlaş"
 
-#: pitivi/timeline/timeline.py:1901
+#: pitivi/timeline/timeline.py:1907
 msgid "Zoom out"
 msgstr "Uzaklaş"
 
-#: pitivi/timeline/timeline.py:1909
+#: pitivi/timeline/timeline.py:1915
 msgid "Adjust zoom to fit the project to the window"
 msgstr "Projeyi pencereye sığdırmak için yakınlaştırmayı ayarla"
 
-#: pitivi/timeline/timeline.py:1922
+#: pitivi/timeline/timeline.py:1928
 msgid "Seek backward one frame"
 msgstr "Bir kare geriye git"
 
-#: pitivi/timeline/timeline.py:1929
+#: pitivi/timeline/timeline.py:1935
 msgid "Seek forward one frame"
 msgstr "Bir kare ileri git"
 
-#: pitivi/timeline/timeline.py:1937
+#: pitivi/timeline/timeline.py:1943
 msgid "Seek backward one second"
 msgstr "Bir saniye geri git"
 
-#: pitivi/timeline/timeline.py:1945
+#: pitivi/timeline/timeline.py:1951
 msgid "Seek forward one second"
 msgstr "Bir saniye ileri git"
 
-#: pitivi/timeline/timeline.py:1953
+#: pitivi/timeline/timeline.py:1959
 msgid "Add a marker"
 msgstr "İşaretçi ekle"
 
-#: pitivi/timeline/timeline.py:1960
+#: pitivi/timeline/timeline.py:1966
 msgid "Seek to the first marker before the playhead"
 msgstr "Oynatma başından önceki ilk klip işaretçisine sarar"
 
-#: pitivi/timeline/timeline.py:1967
+#: pitivi/timeline/timeline.py:1973
 msgid "Seek to the first marker after the playhead"
 msgstr "Oynatma başından sonraki ilk klip işaretçisine sarar"
 
diff --git a/po/uk.po b/po/uk.po
index 55e0fc8..dc7b9d2 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -1,14 +1,14 @@
 # Copyright (C) 2016 The Pitivi Team
 # This file is distributed under the same license as the pitivi package.
 #
-# Yuri Chornoivan <yurchor@ukr.net>, 2010, 2011, 2012, 2013, 2016, 2017, 2018, 2019, 2020, 2021, 2022.
+# Yuri Chornoivan <yurchor@ukr.net>, 2010, 2011, 2012, 2013, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023.
 # Olexandr Pylypchuk <pilipchukap@rambler.ru>, 2016.
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/pitivi/issues\n"
-"POT-Creation-Date: 2022-05-07 11:42+0000\n"
-"PO-Revision-Date: 2022-05-07 19:21+0300\n"
+"POT-Creation-Date: 2023-03-13 16:35+0000\n"
+"PO-Revision-Date: 2023-03-13 22:29+0200\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation@linux.org.ua>\n"
 "Language: uk\n"
@@ -133,11 +133,6 @@ msgstr "Вилучити виявлені такти"
 msgid "Detecting..."
 msgstr "Виявляємо…"
 
-#: data/ui/clipblending.ui:15
-#| msgid "Blending:"
-msgid "Blending Mode:"
-msgstr "Режим змішування:"
-
 #: data/ui/clipcolor.ui:21 data/ui/customwidgets/pitivi:object_effect.ui:37
 msgid "Pick the clip color"
 msgstr "Вибрати колір кліпу"
@@ -424,8 +419,8 @@ msgid "Edit the project settings"
 msgstr "Змінити параметри проєкту"
 
 #: data/ui/mainmenubutton.ui:119 data/ui/projectsettings.ui:61
-#: pitivi/dialogs/prefs.py:340 pitivi/medialibrary.py:173
-#: pitivi/medialibrary.py:538
+#: pitivi/dialogs/prefs.py:340 pitivi/medialibrary.py:182
+#: pitivi/medialibrary.py:547
 msgid "Project Settings"
 msgstr "Параметри проєкту"
 
@@ -540,7 +535,7 @@ msgstr ""
 #: pitivi/dialogs/browseprojects.py:38 pitivi/dialogs/missingasset.py:46
 #: pitivi/editorperspective.py:544 pitivi/editorperspective.py:679
 #: pitivi/editorperspective.py:727 pitivi/editorperspective.py:780
-#: pitivi/greeterperspective.py:241 pitivi/medialibrary.py:856
+#: pitivi/greeterperspective.py:241 pitivi/medialibrary.py:865
 msgid "Cancel"
 msgstr "Скасувати"
 
@@ -565,12 +560,12 @@ msgstr "Зберегти пропорції"
 msgid "Maintain aspect ratio"
 msgstr "Зберігати співвідношення сторін кадру"
 
-#: data/ui/projectsettings.ui:330 data/ui/renderingdialog.ui:734
+#: data/ui/projectsettings.ui:330 data/ui/renderingdialog.ui:732
 msgid "Frame rate:"
 msgstr "Частота кадрів:"
 
 #. The title of the section with the video settings
-#: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:752
+#: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:750
 #: pitivi/clip_properties/markers.py:45 pitivi/effects.py:249
 msgid "Video"
 msgstr "Відео"
@@ -625,20 +620,20 @@ msgstr "Обробити"
 msgid "Quality:"
 msgstr "Якість:"
 
-#: data/ui/renderingdialog.ui:179 pitivi/clip_properties/markers.py:48
+#: data/ui/renderingdialog.ui:177 pitivi/clip_properties/markers.py:48
 #: pitivi/render.py:74
 msgid "Custom"
 msgstr "Нетиповий"
 
-#: data/ui/renderingdialog.ui:246
+#: data/ui/renderingdialog.ui:244
 msgid "Container format:"
 msgstr "Формат контейнера:"
 
-#: data/ui/renderingdialog.ui:313
+#: data/ui/renderingdialog.ui:311
 msgid "Automatically render from proxy files"
 msgstr "Автоматично обробляти з проміжних файлів"
 
-#: data/ui/renderingdialog.ui:317
+#: data/ui/renderingdialog.ui:315
 msgid ""
 "Use proxy files if they are available and the source asset media format is "
 "not officially supported.\n"
@@ -652,11 +647,11 @@ msgstr ""
 "Цей варіант є непоганим компромісом між якістю відеорезультатів та "
 "надійністю роботи програми."
 
-#: data/ui/renderingdialog.ui:332
+#: data/ui/renderingdialog.ui:330
 msgid "Always render from proxy files"
 msgstr "Завжди обробляти з проміжних файлів"
 
-#: data/ui/renderingdialog.ui:336
+#: data/ui/renderingdialog.ui:334
 msgid ""
 "Render all proxied clips from the proxy assets. There might be some quality "
 "loss during the rendering process."
@@ -664,11 +659,11 @@ msgstr ""
 "Виконати обробку усіх кліпів зі створеними проміжними кліпами на основі "
 "даних проміжних кліпів. Така обробка може призвести до певної втрати якості."
 
-#: data/ui/renderingdialog.ui:349
+#: data/ui/renderingdialog.ui:347
 msgid "Never render from proxy files"
 msgstr "Ніколи не обробляти з проміжних файлів"
 
-#: data/ui/renderingdialog.ui:353
+#: data/ui/renderingdialog.ui:351
 msgid ""
 "Always use source assets for rendering. It is the best choice for the "
 "quality of the rendered video, but you might hit some bugs because of the "
@@ -680,56 +675,56 @@ msgstr ""
 "якщо для початкових даних не передбачено офіційної підтримки.\n"
 "<i>Автори програми не несуть відповідальності за можливу втрату даних!</i>"
 
-#: data/ui/renderingdialog.ui:400
+#: data/ui/renderingdialog.ui:398
 msgid "Channels:"
 msgstr "Канали:"
 
-#: data/ui/renderingdialog.ui:432 data/ui/renderingdialog.ui:653
+#: data/ui/renderingdialog.ui:430 data/ui/renderingdialog.ui:651
 msgid "Advanced..."
 msgstr "Додатково…"
 
-#: data/ui/renderingdialog.ui:472 data/ui/renderingdialog.ui:692
+#: data/ui/renderingdialog.ui:470 data/ui/renderingdialog.ui:690
 msgid "Codec:"
 msgstr "Кодек:"
 
-#: data/ui/renderingdialog.ui:509
+#: data/ui/renderingdialog.ui:507
 msgid "Sample rate:"
 msgstr "Частота дискретизації:"
 
-#: data/ui/renderingdialog.ui:527 pitivi/clip_properties/markers.py:46
+#: data/ui/renderingdialog.ui:525 pitivi/clip_properties/markers.py:46
 #: pitivi/effects.py:126 pitivi/effects.py:249
 msgid "Audio"
 msgstr "Звук"
 
-#: data/ui/renderingdialog.ui:566
+#: data/ui/renderingdialog.ui:564
 msgid "Scale:"
 msgstr "Масштаб:"
 
-#: data/ui/renderingdialog.ui:599
+#: data/ui/renderingdialog.ui:597
 msgid "Scale"
 msgstr "Масштаб"
 
-#: data/ui/renderingdialog.ui:619
+#: data/ui/renderingdialog.ui:617
 msgid "Height"
 msgstr "Висота"
 
-#: data/ui/renderingdialog.ui:638
+#: data/ui/renderingdialog.ui:636
 msgid "Project Settings..."
 msgstr "Параметри проєкту…"
 
-#: data/ui/renderingdialog.ui:718
+#: data/ui/renderingdialog.ui:716
 msgid "Framerate"
 msgstr "Частота кадрів"
 
-#: data/ui/renderingdialog.ui:781
+#: data/ui/renderingdialog.ui:779
 msgid "Advanced"
 msgstr "Додатково"
 
-#: data/ui/renderingdialog.ui:792
+#: data/ui/renderingdialog.ui:790
 msgid "Select file"
 msgstr "Виберіть файл"
 
-#: data/ui/renderingdialog.ui:809
+#: data/ui/renderingdialog.ui:807
 msgid "File path:"
 msgstr "Шлях до файла:"
 
@@ -738,12 +733,12 @@ msgid "Rendering"
 msgstr "Обробка"
 
 #: data/ui/renderingprogress.ui:27 data/ui/trackerperspective.ui:19
-#: pitivi/viewer/viewer.py:839
+#: pitivi/viewer/viewer.py:844
 msgid "Pause"
 msgstr "Пауза"
 
 #: data/ui/renderingprogress.ui:55 data/ui/trackerperspective.ui:25
-#: pitivi/timeline/timeline.py:1915 pitivi/viewer/viewer.py:831
+#: pitivi/timeline/timeline.py:1921 pitivi/viewer/viewer.py:836
 msgid "Play"
 msgstr "Пуск"
 
@@ -829,11 +824,11 @@ msgstr "Вставити"
 msgid "Align clips based on their soundtracks"
 msgstr "Вирівняти кліпи на основі їхнього звукового супроводу"
 
-#: data/ui/timelinetoolbar.ui:124
+#: data/ui/timelinetoolbar.ui:123
 msgid "Align"
 msgstr "Вирівняти"
 
-#: data/ui/timelinetoolbar.ui:137
+#: data/ui/timelinetoolbar.ui:136
 msgid ""
 "Toggle gapless mode\n"
 "When enabled, adjacent clips automatically move to fill gaps."
@@ -842,7 +837,7 @@ msgstr ""
 "Якщо увімкнено, програма пересуватиме сусідні кліпи так, щоб заповнити "
 "проміжки між ними."
 
-#: data/ui/timelinetoolbar.ui:140
+#: data/ui/timelinetoolbar.ui:139
 msgid "Gapless mode"
 msgstr "Неперервний режим"
 
@@ -898,7 +893,7 @@ msgstr "Вперед на один кадр"
 msgid "Tracking Algorithm"
 msgstr "Алгоритм стеження"
 
-#: data/ui/trackerperspective.ui:402
+#: data/ui/trackerperspective.ui:401
 msgid "Track"
 msgstr "Стежити"
 
@@ -1266,11 +1261,11 @@ msgstr "Будь ласка, вкажіть його нове розташува
 msgid "%s files"
 msgstr "файли %s"
 
-#: pitivi/dialogs/missingasset.py:117 pitivi/medialibrary.py:884
+#: pitivi/dialogs/missingasset.py:117 pitivi/medialibrary.py:893
 msgid "All files"
 msgstr "усі файли"
 
-#: pitivi/dialogs/prefs.py:61 pitivi/timeline/timeline.py:1747
+#: pitivi/dialogs/prefs.py:61 pitivi/timeline/timeline.py:1749
 msgid "Timeline"
 msgstr "Монтажний стіл"
 
@@ -1384,7 +1379,7 @@ msgstr ""
 "Ви можете створювати <a href='{doc_url}'>додатки</a> у вашому <a "
 "href='{dir_url}'>каталозі додатків</a>."
 
-#: pitivi/editorperspective.py:205 pitivi/medialibrary.py:623
+#: pitivi/editorperspective.py:205 pitivi/medialibrary.py:632
 msgid "Media Library"
 msgstr "Бібліотека творів"
 
@@ -1461,7 +1456,8 @@ msgid "Revert to saved project version?"
 msgstr "Повернутися до збереженої версії проєкту?"
 
 #: pitivi/editorperspective.py:616
-msgid "This will reload the current project. All unsaved changes will be lost."
+msgid ""
+"This will reload the current project. All unsaved changes will be lost."
 msgstr ""
 "Ця дія призведе до перезавантаження поточного проєкту. Усі незбережені зміни "
 "буде втрачено."
@@ -1680,12 +1676,12 @@ msgid "<b>Resolution</b>: %d×%d"
 msgstr "<b>Роздільність</b>: %d×%d"
 
 #: pitivi/mediafilespreviewer.py:271 pitivi/mediafilespreviewer.py:288
-#: pitivi/utils/ui.py:568
+#: pitivi/utils/ui.py:580
 #, python-format
 msgid "<b>Duration</b>: %s"
 msgstr "<b>Тривалість</b>: %s"
 
-#: pitivi/mediafilespreviewer.py:461 pitivi/medialibrary.py:1207
+#: pitivi/mediafilespreviewer.py:461 pitivi/medialibrary.py:1216
 msgid "Error while analyzing a file"
 msgid_plural "Error while analyzing files"
 msgstr[0] "Помилка під час спроби аналізу файлів"
@@ -1693,53 +1689,54 @@ msgstr[1] "Помилка під час спроби аналізу файлів
 msgstr[2] "Помилка під час спроби аналізу файлів"
 msgstr[3] "Помилка під час спроби аналізу файла"
 
-#: pitivi/medialibrary.py:146
+#: pitivi/medialibrary.py:155
 msgid "Keep dialog open"
 msgstr "Не закривати вікно"
 
-#: pitivi/medialibrary.py:148
+#: pitivi/medialibrary.py:157
 msgid "When importing files keep the dialog open"
 msgstr "При імпортуванні файлів не закривати вікно"
 
 #. Translators: Create optimized media for unsupported files.
-#: pitivi/medialibrary.py:154
+#: pitivi/medialibrary.py:163
 msgid "Optimize:"
 msgstr "Оптимізація:"
 
-#: pitivi/medialibrary.py:158
+#: pitivi/medialibrary.py:167
 msgid "Unsupported assets"
 msgstr "Непідтримувані дані"
 
-#: pitivi/medialibrary.py:159
+#: pitivi/medialibrary.py:168
 msgid "All"
 msgstr "Усі"
 
-#: pitivi/medialibrary.py:240
+#: pitivi/medialibrary.py:249
 #, python-format
-msgid "Scale assets larger than %s×%s px."
-msgstr "Масштабувати кадри, розмір яких перевищує %s×%s пікселів."
+#| msgid "Scale assets larger than %s×%s px."
+msgid "Scale down assets larger than %s×%s px."
+msgstr "Зменшувати масштаб кадрів, розмір яких перевищує %s×%s пікселів."
 
-#: pitivi/medialibrary.py:524 pitivi/medialibrary.py:1084
+#: pitivi/medialibrary.py:533 pitivi/medialibrary.py:1093
 msgid "Unknown"
 msgstr "Невідомо"
 
-#: pitivi/medialibrary.py:630
+#: pitivi/medialibrary.py:639
 msgid "Remove the selected assets"
 msgstr "Вилучити позначені ділянки"
 
-#: pitivi/medialibrary.py:637
+#: pitivi/medialibrary.py:646
 msgid "Insert selected assets at the end of the timeline"
 msgstr "Вставити позначені ділянки наприкінці монтажного столу"
 
-#: pitivi/medialibrary.py:853
+#: pitivi/medialibrary.py:862
 msgid "Select One or More Files"
 msgstr "Виберіть один або декілька файлів"
 
-#: pitivi/medialibrary.py:857 pitivi/medialibrary.py:1281
+#: pitivi/medialibrary.py:866 pitivi/medialibrary.py:1290
 msgid "Add"
 msgstr "Додати"
 
-#: pitivi/medialibrary.py:872 pitivi/render.py:1491
+#: pitivi/medialibrary.py:881 pitivi/render.py:1491
 msgid "Supported file formats"
 msgstr "Підтримувані формати файлів"
 
@@ -1749,7 +1746,7 @@ msgstr "Підтримувані формати файлів"
 #. such as "31 seconds", "1 minute" or "1 hours, 14 minutes".
 #. In some languages, "About %s left" can be expressed roughly as
 #. "There remains approximatively %s" (to handle gender and plurals)
-#: pitivi/medialibrary.py:990
+#: pitivi/medialibrary.py:999
 #, python-format
 msgid "Transcoding %d asset: %d%% (About %s left)"
 msgid_plural "Transcoding %d assets: %d%% (About %s left)"
@@ -1758,7 +1755,7 @@ msgstr[1] "Перекодування %d ділянок: %d%% (лишилося
 msgstr[2] "Перекодування %d ділянок: %d%% (лишилося близько %s)"
 msgstr[3] "Перекодування %d ділянки: %d%% (лишилося близько %s)"
 
-#: pitivi/medialibrary.py:1096
+#: pitivi/medialibrary.py:1105
 msgid "View error"
 msgid_plural "View errors"
 msgstr[0] "Перегляд помилки"
@@ -1767,7 +1764,7 @@ msgstr[2] "Перегляд помилок"
 msgstr[3] "Перегляд помилки"
 
 #. Translators: {0:d} is just like %d (integer number variable)
-#: pitivi/medialibrary.py:1098
+#: pitivi/medialibrary.py:1107
 #, python-brace-format
 msgid "An error occurred while importing."
 msgid_plural "{0:d} errors occurred while importing."
@@ -1776,13 +1773,13 @@ msgstr[1] "Під час імпортування сталося {0:d} поми
 msgstr[2] "Під час імпортування сталося {0:d} помилок."
 msgstr[3] "Під час імпортування сталася {0:d} помилка."
 
-#: pitivi/medialibrary.py:1114
+#: pitivi/medialibrary.py:1123
 #, python-format
 msgid "The project settings have been set to match file '%s'"
 msgstr ""
 "Параметри проєкту було встановлено у відповідності до параметрів файла «%s»"
 
-#: pitivi/medialibrary.py:1210
+#: pitivi/medialibrary.py:1219
 msgid "The following file can not be used with Pitivi."
 msgid_plural "The following files can not be used with Pitivi."
 msgstr[0] "Вказані нижче файли не можна використовувати у Pitivi."
@@ -1790,33 +1787,36 @@ msgstr[1] "Вказані нижче файли не можна використ
 msgstr[2] "Вказані нижче файли не можна використовувати у Pitivi."
 msgstr[3] "Вказаний нижче файл не можна використовувати у Pitivi."
 
-#: pitivi/medialibrary.py:1240
+#: pitivi/medialibrary.py:1249
 msgid "Tag as:"
 msgstr "Мітка:"
 
-#: pitivi/medialibrary.py:1278
+#: pitivi/medialibrary.py:1287
 msgid "Enter tag"
 msgstr "Введіть мітку"
 
-#: pitivi/medialibrary.py:1438
+#: pitivi/medialibrary.py:1447
 msgid "Open containing folder"
 msgstr "Відкрити теку з даними"
 
-#: pitivi/medialibrary.py:1445
+#: pitivi/medialibrary.py:1454
 msgid "Edit"
 msgstr "Змінити"
 
-#: pitivi/medialibrary.py:1474
+#: pitivi/medialibrary.py:1483
 msgid "Do not use Optimised Proxy for selected asset"
 msgid_plural "Do not use Optimised Proxies for selected assets"
-msgstr[0] "Не використовувати оптимізовані проміжні кліпи для позначених даних"
-msgstr[1] "Не використовувати оптимізовані проміжні кліпи для позначених даних"
-msgstr[2] "Не використовувати оптимізовані проміжні кліпи для позначених даних"
+msgstr[0] ""
+"Не використовувати оптимізовані проміжні кліпи для позначених даних"
+msgstr[1] ""
+"Не використовувати оптимізовані проміжні кліпи для позначених даних"
+msgstr[2] ""
+"Не використовувати оптимізовані проміжні кліпи для позначених даних"
 msgstr[3] ""
 "Не використовувати оптимізований проміжний кліп для позначених даних"
 
-#: pitivi/medialibrary.py:1485 pitivi/medialibrary.py:1507
-#: pitivi/medialibrary.py:1529
+#: pitivi/medialibrary.py:1494 pitivi/medialibrary.py:1516
+#: pitivi/medialibrary.py:1538
 msgid "Delete corresponding proxy file"
 msgid_plural "Delete corresponding proxy files"
 msgstr[0] "Вилучити відповідний проміжний файл"
@@ -1824,7 +1824,7 @@ msgstr[1] "Вилучити відповідні проміжні файли"
 msgstr[2] "Вилучити відповідні проміжні файли"
 msgstr[3] "Вилучити відповідний проміжний файл"
 
-#: pitivi/medialibrary.py:1496
+#: pitivi/medialibrary.py:1505
 msgid "Do not use Proxy for selected asset"
 msgid_plural "Do not use Proxies for selected assets"
 msgstr[0] "Не використовувати проміжні кліпи для позначених даних"
@@ -1832,16 +1832,19 @@ msgstr[1] "Не використовувати проміжні кліпи дл
 msgstr[2] "Не використовувати проміжні кліпи для позначених даних"
 msgstr[3] "Не використовувати проміжний кліп для позначених даних"
 
-#: pitivi/medialibrary.py:1518
+#: pitivi/medialibrary.py:1527
 msgid "Do not use Scaled Proxy for selected asset"
 msgid_plural "Do not use Scaled Proxies for selected assets"
-msgstr[0] "Не використовувати масштабовані проміжні кліпи для позначених даних"
-msgstr[1] "Не використовувати масштабовані проміжні кліпи для позначених даних"
-msgstr[2] "Не використовувати масштабовані проміжні кліпи для позначених даних"
+msgstr[0] ""
+"Не використовувати масштабовані проміжні кліпи для позначених даних"
+msgstr[1] ""
+"Не використовувати масштабовані проміжні кліпи для позначених даних"
+msgstr[2] ""
+"Не використовувати масштабовані проміжні кліпи для позначених даних"
 msgstr[3] ""
 "Не використовувати масштабований проміжний кліп для позначених даних"
 
-#: pitivi/medialibrary.py:1540
+#: pitivi/medialibrary.py:1549
 msgid "Use Optimised Proxy for selected asset"
 msgid_plural "Use Optimised Proxies for selected assets"
 msgstr[0] "Використовувати оптимізовані проміжні кліпи для позначених даних"
@@ -1849,7 +1852,7 @@ msgstr[1] "Використовувати оптимізовані проміж
 msgstr[2] "Використовувати оптимізовані проміжні кліпи для позначених даних"
 msgstr[3] "Використовувати оптимізований проміжний кліп для позначених даних"
 
-#: pitivi/medialibrary.py:1550
+#: pitivi/medialibrary.py:1559
 msgid "Use Scaled Proxy for selected asset"
 msgid_plural "Use Scaled Proxies for selected assets"
 msgstr[0] "Використовувати масштабовані проміжні кліпи для позначених даних"
@@ -1952,7 +1955,7 @@ msgstr "У вас немає прав доступу для запису до ц
 msgid "project"
 msgstr "проєкт"
 
-#: pitivi/project.py:700
+#: pitivi/project.py:701
 msgid "Pitivi encoding profile"
 msgstr "Профіль кодування Pitivi"
 
@@ -2121,27 +2124,27 @@ msgstr "Вилучити шар"
 msgid "Layer %d"
 msgstr "Шар %d"
 
-#: pitivi/timeline/ruler.py:239
+#: pitivi/timeline/ruler.py:242
 #, python-format
 msgid "Frame #%d"
 msgstr "Кадр %d"
 
-#: pitivi/timeline/timeline.py:86
+#: pitivi/timeline/timeline.py:85
 msgid "Markers magnetic by default"
 msgstr "Типово, позначки є магнетичними"
 
-#: pitivi/timeline/timeline.py:88
+#: pitivi/timeline/timeline.py:87
 msgid ""
 "Whether markers created on new clips will be snapping targets by default."
 msgstr ""
 "Визначає, чи будуть позначки, які створено для нових кліпів, типово "
 "прилипати до цілі."
 
-#: pitivi/timeline/timeline.py:98
+#: pitivi/timeline/timeline.py:97
 msgid "Snap distance"
 msgstr "Відстань прилипання"
 
-#: pitivi/timeline/timeline.py:99
+#: pitivi/timeline/timeline.py:98
 msgid ""
 "Threshold (in pixels) at which two clips will snap together when dragging or "
 "trimming."
@@ -2149,11 +2152,11 @@ msgstr ""
 "Порогове відстань (у пікселях), за якої два кліпи злипатимуться під час "
 "перетягування або обрізання."
 
-#: pitivi/timeline/timeline.py:111
+#: pitivi/timeline/timeline.py:110
 msgid "Image clip duration"
 msgstr "Тривалість кліпу із зображенням"
 
-#: pitivi/timeline/timeline.py:113
+#: pitivi/timeline/timeline.py:112
 msgid ""
 "Default clip length (in milliseconds) of images when inserting on the "
 "timeline."
@@ -2161,129 +2164,129 @@ msgstr ""
 "Типова тривалість (у мілісекундах) кліпу із зображенням при додаванні на "
 "монтажний стіл."
 
-#: pitivi/timeline/timeline.py:124
+#: pitivi/timeline/timeline.py:123
 msgid "Left click also seeks"
 msgstr "Клацання лівою також позиціювання"
 
-#: pitivi/timeline/timeline.py:126
+#: pitivi/timeline/timeline.py:125
 msgid "Whether left-clicking also seeks besides selecting and editing clips."
 msgstr ""
 "Визначає, чи буде клацання лівою використано для позиціювання, окрім "
 "позначення та редагування кліпів."
 
-#: pitivi/timeline/timeline.py:356 pitivi/timeline/timeline.py:1811
+#: pitivi/timeline/timeline.py:356 pitivi/timeline/timeline.py:1813
 msgid "Add layer"
 msgstr "Додати шар"
 
-#: pitivi/timeline/timeline.py:1754
+#: pitivi/timeline/timeline.py:1756
 msgid "Action Search"
 msgstr "Пошук дії"
 
-#: pitivi/timeline/timeline.py:1762
+#: pitivi/timeline/timeline.py:1764
 msgid "Delete selected clips"
 msgstr "Вилучити позначені кліпи"
 
-#: pitivi/timeline/timeline.py:1769
+#: pitivi/timeline/timeline.py:1771
 msgid "Delete selected clips and shift following ones"
 msgstr "Вилучити позначені кліпи і посунути наступні"
 
-#: pitivi/timeline/timeline.py:1776
+#: pitivi/timeline/timeline.py:1778
 msgid "Group selected clips together"
 msgstr "Згрупувати позначені кліпи"
 
-#: pitivi/timeline/timeline.py:1783
+#: pitivi/timeline/timeline.py:1785
 msgid "Ungroup selected clips"
 msgstr "Розгрупувати позначені кліпи"
 
-#: pitivi/timeline/timeline.py:1790
+#: pitivi/timeline/timeline.py:1792
 msgid "Cut selected clips"
 msgstr "Вирізати позначені кліпи"
 
-#: pitivi/timeline/timeline.py:1797
+#: pitivi/timeline/timeline.py:1799
 msgid "Copy selected clips"
 msgstr "Скопіювати позначені кліпи"
 
-#: pitivi/timeline/timeline.py:1804
+#: pitivi/timeline/timeline.py:1806
 msgid "Paste selected clips"
 msgstr "Вставити позначені кліпи"
 
-#: pitivi/timeline/timeline.py:1818
+#: pitivi/timeline/timeline.py:1820
 msgid "Seek to the first clip edge after the playhead"
 msgstr "Позиціювання на першому краю кліпу після позиції відтворення"
 
-#: pitivi/timeline/timeline.py:1825
+#: pitivi/timeline/timeline.py:1827
 msgid "Seek to the first clip edge before the playhead"
 msgstr "Позиціювання на першому краю кліпу до позиції відтворення"
 
-#: pitivi/timeline/timeline.py:1832
+#: pitivi/timeline/timeline.py:1834
 msgid "Shift selected clips one frame forward"
 msgstr "Пересунути позначені кліпи на один кадр вперед"
 
-#: pitivi/timeline/timeline.py:1839
+#: pitivi/timeline/timeline.py:1841
 msgid "Shift selected clips one frame backward"
 msgstr "Пересунути позначені кліпи на один кадр назад"
 
-#: pitivi/timeline/timeline.py:1846
+#: pitivi/timeline/timeline.py:1848
 msgid "Snap selected clips to the next clip"
 msgstr "Приліпити позначені кліпи до наступного кліпу"
 
-#: pitivi/timeline/timeline.py:1853
+#: pitivi/timeline/timeline.py:1855
 msgid "Snap selected clips to the previous clip"
 msgstr "Приліпити позначені кліпи до попереднього кліпу"
 
-#: pitivi/timeline/timeline.py:1860
+#: pitivi/timeline/timeline.py:1862
 msgid "Add an effect to the selected clip"
 msgstr "Додати ефект до позначеного кліпу"
 
-#: pitivi/timeline/timeline.py:1873
+#: pitivi/timeline/timeline.py:1879
 msgid "Split the clip at the position"
 msgstr "Розділити кліп за поточною позицією"
 
-#: pitivi/timeline/timeline.py:1880
+#: pitivi/timeline/timeline.py:1886
 msgid "Add keyframe to the keyframe curve of selected clip"
 msgstr "Додати ключовий кадр до кривої ключових кадрів позначеного кліпу"
 
-#: pitivi/timeline/timeline.py:1885
+#: pitivi/timeline/timeline.py:1891
 msgid "Timeline Navigation"
 msgstr "Навігація монтажним столом"
 
-#: pitivi/timeline/timeline.py:1893
+#: pitivi/timeline/timeline.py:1899
 msgid "Zoom in"
 msgstr "Збільшити"
 
-#: pitivi/timeline/timeline.py:1901
+#: pitivi/timeline/timeline.py:1907
 msgid "Zoom out"
 msgstr "Зменшити"
 
-#: pitivi/timeline/timeline.py:1909
+#: pitivi/timeline/timeline.py:1915
 msgid "Adjust zoom to fit the project to the window"
 msgstr "Скоригувати масштаб так, щоб проєкт вміщався у вікні"
 
-#: pitivi/timeline/timeline.py:1922
+#: pitivi/timeline/timeline.py:1928
 msgid "Seek backward one frame"
 msgstr "Назад на один кадр"
 
-#: pitivi/timeline/timeline.py:1929
+#: pitivi/timeline/timeline.py:1935
 msgid "Seek forward one frame"
 msgstr "Вперед на один кадр"
 
-#: pitivi/timeline/timeline.py:1937
+#: pitivi/timeline/timeline.py:1943
 msgid "Seek backward one second"
 msgstr "Назад на одну секунду"
 
-#: pitivi/timeline/timeline.py:1945
+#: pitivi/timeline/timeline.py:1951
 msgid "Seek forward one second"
 msgstr "Вперед на одну секунду"
 
-#: pitivi/timeline/timeline.py:1953
+#: pitivi/timeline/timeline.py:1959
 msgid "Add a marker"
 msgstr "Додати позначку"
 
-#: pitivi/timeline/timeline.py:1960
+#: pitivi/timeline/timeline.py:1966
 msgid "Seek to the first marker before the playhead"
 msgstr "Позиціювання на першій позначці до позиції відтворення."
 
-#: pitivi/timeline/timeline.py:1967
+#: pitivi/timeline/timeline.py:1973
 msgid "Seek to the first marker after the playhead"
 msgstr "Позиціювання на першій позначці після позиції відтворення."
 
@@ -2384,52 +2387,52 @@ msgid "Max CPU usage dedicated to transcoding"
 msgstr "Максимальне використання процесора для перекодування"
 
 #. Translators: 'fps' is for 'frames per second'
-#: pitivi/utils/ui.py:390
+#: pitivi/utils/ui.py:402
 msgid "{0:s} fps"
 msgstr "{0:s} кд/с"
 
-#: pitivi/utils/ui.py:410
+#: pitivi/utils/ui.py:422
 #, python-brace-format
 msgid "{0:n} kHz"
 msgstr "{0:n} кГц"
 
-#: pitivi/utils/ui.py:419
+#: pitivi/utils/ui.py:431
 msgid "Mono"
 msgstr "Моно"
 
-#: pitivi/utils/ui.py:420
+#: pitivi/utils/ui.py:432
 msgid "Stereo"
 msgstr "Стерео"
 
-#: pitivi/utils/ui.py:421
+#: pitivi/utils/ui.py:433
 msgid "6 (5.1)"
 msgstr "6 (5.1)"
 
-#: pitivi/utils/ui.py:422
+#: pitivi/utils/ui.py:434
 msgid "8 (7.1)"
 msgstr "8 (7.1)"
 
-#: pitivi/utils/ui.py:547
+#: pitivi/utils/ui.py:559
 #, python-format
 msgid "<b>Duration:</b> %s"
 msgstr "<b>Тривалість:</b> %s"
 
-#: pitivi/utils/ui.py:550
+#: pitivi/utils/ui.py:562
 #, python-format
 msgid "<b>Proxy creation progress:</b> %d%%"
 msgstr "<b>Поступ створення проміжного кліпу:</b> %d%%"
 
-#: pitivi/utils/ui.py:564
+#: pitivi/utils/ui.py:576
 #, python-format
 msgid "<b>Path</b>: %s"
 msgstr "<b>Шлях</b>: %s"
 
-#: pitivi/utils/ui.py:574
+#: pitivi/utils/ui.py:586
 #, python-format
 msgid "<b>Size</b>: %s"
 msgstr "<b>Розмір</b>: %s"
 
-#: pitivi/utils/ui.py:610
+#: pitivi/utils/ui.py:622
 #, python-format
 msgid "<b>Audio:</b> %d channel at %d <i>Hz</i> (%d <i>bits</i>)"
 msgid_plural "<b>Audio:</b> %d channels at %d <i>Hz</i> (%d <i>bits</i>)"
@@ -2438,17 +2441,17 @@ msgstr[1] "<b>Аудіо:</b> %d канали, %d <i>Гц</i> (%d <i>біт</i>)
 msgstr[2] "<b>Аудіо:</b> %d каналів, %d <i>Гц</i> (%d <i>біт</i>)"
 msgstr[3] "<b>Аудіо:</b> %d канал, %d <i>Гц</i> (%d <i>біт</i>)"
 
-#: pitivi/utils/ui.py:622
+#: pitivi/utils/ui.py:634
 #, python-format
 msgid "<b>Video:</b> %d×%d <i>pixels</i> at %s <i>fps</i>"
 msgstr "<b>Відео:</b> %d⨯%d <i>пікселів</i>, %s <i>кд/с</i>"
 
-#: pitivi/utils/ui.py:625
+#: pitivi/utils/ui.py:637
 #, python-format
 msgid "<b>Image:</b> %d×%d <i>pixels</i>"
 msgstr "<b>Зображення:</b> %d⨯%d <i>пікселів</i>"
 
-#: pitivi/utils/ui.py:679 pitivi/utils/ui.py:706 pitivi/utils/ui.py:730
+#: pitivi/utils/ui.py:691 pitivi/utils/ui.py:718 pitivi/utils/ui.py:742
 #, python-format
 msgid "%d hour"
 msgid_plural "%d hours"
@@ -2457,7 +2460,7 @@ msgstr[1] "%d години"
 msgstr[2] "%d годин"
 msgstr[3] "%d година"
 
-#: pitivi/utils/ui.py:682 pitivi/utils/ui.py:709 pitivi/utils/ui.py:733
+#: pitivi/utils/ui.py:694 pitivi/utils/ui.py:721 pitivi/utils/ui.py:745
 #, python-format
 msgid "%d minute"
 msgid_plural "%d minutes"
@@ -2466,7 +2469,7 @@ msgstr[1] "%d хвилини"
 msgstr[2] "%d хвилин"
 msgstr[3] "%d хвилина"
 
-#: pitivi/utils/ui.py:685 pitivi/utils/ui.py:712 pitivi/utils/ui.py:736
+#: pitivi/utils/ui.py:697 pitivi/utils/ui.py:724 pitivi/utils/ui.py:748
 #, python-format
 msgid "%d second"
 msgid_plural "%d seconds"
@@ -2475,7 +2478,7 @@ msgstr[1] "%d секунди"
 msgstr[2] "%d секунд"
 msgstr[3] "%d секунда"
 
-#: pitivi/utils/ui.py:704
+#: pitivi/utils/ui.py:716
 #, python-format
 msgid "%d day"
 msgid_plural "%d days"
@@ -2484,27 +2487,27 @@ msgstr[1] "%d дні"
 msgstr[2] "%d днів"
 msgstr[3] "%d день"
 
-#: pitivi/utils/ui.py:745
+#: pitivi/utils/ui.py:757
 msgid "Just now"
 msgstr "Зараз"
 
-#: pitivi/utils/ui.py:748
+#: pitivi/utils/ui.py:760
 msgid "An hour ago"
 msgstr "Годину тому"
 
-#: pitivi/utils/ui.py:751
+#: pitivi/utils/ui.py:763
 msgid "Today"
 msgstr "Сьогодні"
 
-#: pitivi/utils/ui.py:754
+#: pitivi/utils/ui.py:766
 msgid "Yesterday"
 msgstr "Вчора"
 
-#: pitivi/utils/ui.py:763
+#: pitivi/utils/ui.py:775
 msgid "About a year ago"
 msgstr "Близько року тому"
 
-#: pitivi/utils/ui.py:766
+#: pitivi/utils/ui.py:778
 #, python-format
 msgid "About %d year ago"
 msgid_plural "About %d years ago"
@@ -2570,27 +2573,27 @@ msgstr "Напрямні композиції"
 msgid "Currently playing"
 msgstr "Триває відтворення"
 
-#: pitivi/viewer/viewer.py:299
+#: pitivi/viewer/viewer.py:304
 msgid "Select composition guidelines"
 msgstr "Виберіть напрямні композиції"
 
-#: pitivi/viewer/viewer.py:307
+#: pitivi/viewer/viewer.py:312
 msgid "Go to the beginning of the timeline"
 msgstr "Перейти до початку запису на монтажному столі"
 
-#: pitivi/viewer/viewer.py:316
+#: pitivi/viewer/viewer.py:321
 msgid "Go back one second"
 msgstr "Повернутися на одну секунду"
 
-#: pitivi/viewer/viewer.py:329
+#: pitivi/viewer/viewer.py:334
 msgid "Go forward one second"
 msgstr "Вперед на одну секунду"
 
-#: pitivi/viewer/viewer.py:338
+#: pitivi/viewer/viewer.py:343
 msgid "Go to the end of the timeline"
 msgstr "Перейти в кінець запису на монтажному столі"
 
-#: pitivi/viewer/viewer.py:345
+#: pitivi/viewer/viewer.py:350
 msgid ""
 "Enter a timecode or frame number\n"
 "and press \"Enter\" to go to that position"
@@ -2598,7 +2601,7 @@ msgstr ""
 "Введіть значення часової позначки або номер кадру\n"
 "і натисніть клавішу Enter, щоб перейти до відповідної позиції"
 
-#: pitivi/viewer/viewer.py:356
+#: pitivi/viewer/viewer.py:361
 msgid ""
 "Detach the viewer\n"
 "You can re-attach it by closing the newly created window."
@@ -2606,23 +2609,23 @@ msgstr ""
 "Від’єднати вікно перегляду\n"
 "Повернути його в основне вікно можна закриттям новоствореного вікна."
 
-#: pitivi/viewer/viewer.py:383
+#: pitivi/viewer/viewer.py:388
 msgid "Viewer"
 msgstr "Переглядач"
 
-#: pitivi/viewer/viewer.py:391
+#: pitivi/viewer/viewer.py:396
 msgid "Toggle the currently selected composition guidelines"
 msgstr "Увімкнути або вимкнути вибрані напрямні композиції"
 
-#: pitivi/viewer/viewer.py:399
+#: pitivi/viewer/viewer.py:404
 msgid "Toggle safe areas on viewer"
 msgstr "Перемкнути безпечні області у перегляді"
 
-#: pitivi/viewer/viewer.py:541 pitivi/viewer/viewer.py:600
+#: pitivi/viewer/viewer.py:546 pitivi/viewer/viewer.py:605
 msgid "Show this window in fullscreen"
 msgstr "Розтягти це вікно на весь екран"
 
-#: pitivi/viewer/viewer.py:597
+#: pitivi/viewer/viewer.py:602
 msgid "Exit fullscreen mode"
 msgstr "Вийти з повноекранного режиму"
 
@@ -2669,6 +2672,10 @@ msgstr ""
 "Неможливо перевизначити {key}, оскільки команди клавіатурних скорочень "
 "призначено лише для читання."
 
+#~| msgid "Blending:"
+#~ msgid "Blending Mode:"
+#~ msgstr "Режим змішування:"
+
 #~ msgid "No markers"
 #~ msgstr "Без позначок"
 
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 787326b..4720f33 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -15,8 +15,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pitivi master\n"
 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/pitivi/issues\n"
-"POT-Creation-Date: 2022-04-10 23:42+0000\n"
-"PO-Revision-Date: 2022-04-13 20:47+0800\n"
+"POT-Creation-Date: 2022-05-07 22:53+0000\n"
+"PO-Revision-Date: 2022-06-21 19:53+0800\n"
 "Last-Translator: lumingzh <lumingzh@qq.com>\n"
 "Language-Team: Chinese - China <i18n-zh@googlegroups.com>\n"
 "Language: zh_CN\n"
@@ -129,23 +129,23 @@ msgstr "清除检测到的节拍"
 msgid "Detecting..."
 msgstr "正在检测…"
 
-#: data/ui/clipcolor.ui:21
+#: data/ui/clipcolor.ui:21 data/ui/customwidgets/pitivi:object_effect.ui:37
 msgid "Pick the clip color"
 msgstr "选取片段颜色"
 
-#: data/ui/clipcompositing.ui:43
+#: data/ui/clipcompositing.ui:42
 msgid "Fade-in:"
 msgstr "淡入:"
 
-#: data/ui/clipcompositing.ui:55 data/ui/clipcompositing.ui:123
+#: data/ui/clipcompositing.ui:54 data/ui/clipcompositing.ui:122
 msgid "seconds"
 msgstr "秒"
 
-#: data/ui/clipcompositing.ui:98
+#: data/ui/clipcompositing.ui:97
 msgid "Fade-out:"
 msgstr "淡出:"
 
-#: data/ui/clipcompositing.ui:151
+#: data/ui/clipcompositing.ui:150
 msgid "Reset fade-in"
 msgstr "重置淡入"
 
@@ -153,6 +153,10 @@ msgstr "重置淡入"
 msgid "Reset fade-out"
 msgstr "重置淡出"
 
+#: data/ui/clipcompositing.ui:181
+msgid "Blending:"
+msgstr "混合:"
+
 #: data/ui/clipmediaprops.ui:8
 msgid "Clip Properties"
 msgstr "片段属性"
@@ -330,6 +334,10 @@ msgstr "最小透明"
 msgid "max alpha"
 msgstr "最大透明"
 
+#: data/ui/customwidgets/pitivi:object_effect.ui:19
+msgid "Color:"
+msgstr "颜色:"
+
 #: data/ui/effectslibrary.ui:16
 msgid "Favorites"
 msgstr "收藏"
@@ -547,7 +555,7 @@ msgstr "帧率:"
 
 #. The title of the section with the video settings
 #: data/ui/projectsettings.ui:383 data/ui/renderingdialog.ui:752
-#: pitivi/clip_properties/markers.py:45 pitivi/effects.py:246
+#: pitivi/clip_properties/markers.py:45 pitivi/effects.py:249
 msgid "Video"
 msgstr "视频"
 
@@ -668,7 +676,7 @@ msgid "Sample rate:"
 msgstr "采样率:"
 
 #: data/ui/renderingdialog.ui:527 pitivi/clip_properties/markers.py:46
-#: pitivi/effects.py:122 pitivi/effects.py:246
+#: pitivi/effects.py:126 pitivi/effects.py:249
 msgid "Audio"
 msgstr "音频"
 
@@ -708,12 +716,13 @@ msgstr "文件路径:"
 msgid "Rendering"
 msgstr "正在渲染"
 
-#: data/ui/renderingprogress.ui:27 pitivi/viewer/viewer.py:774
+#: data/ui/renderingprogress.ui:27 data/ui/trackerperspective.ui:19
+#: pitivi/viewer/viewer.py:839
 msgid "Pause"
 msgstr "暂停"
 
-#: data/ui/renderingprogress.ui:55 pitivi/timeline/timeline.py:1913
-#: pitivi/viewer/viewer.py:766
+#: data/ui/renderingprogress.ui:55 data/ui/trackerperspective.ui:25
+#: pitivi/timeline/timeline.py:1915 pitivi/viewer/viewer.py:831
 msgid "Play"
 msgstr "播放"
 
@@ -846,6 +855,30 @@ msgstr "水平:"
 msgid "Vertical:"
 msgstr "竖直:"
 
+#: data/ui/trackerperspective.ui:66
+msgid "Tracked Objects:"
+msgstr "已追踪对象:"
+
+#: data/ui/trackerperspective.ui:195
+msgid "Drag&drop on the video to delimit an object to be tracked."
+msgstr "在视频上拖拽来划定追踪对象的界限。"
+
+#: data/ui/trackerperspective.ui:288
+msgid "Go back one frame"
+msgstr "后退一帧"
+
+#: data/ui/trackerperspective.ui:318
+msgid "Go forward one frame"
+msgstr "前进一帧"
+
+#: data/ui/trackerperspective.ui:374
+msgid "Tracking Algorithm"
+msgstr "追踪算法"
+
+#: data/ui/trackerperspective.ui:402
+msgid "Track"
+msgstr "追踪"
+
 #: pitivi/action_search_bar.py:46
 msgid "Search Action"
 msgstr "搜索动作"
@@ -870,47 +903,53 @@ msgstr "退出"
 msgid "Show the Shortcuts Window"
 msgstr "显示快捷键窗口"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:113
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:115
 #, python-format
 msgid "- %s not found on the system"
-msgstr "- %s 没有在该系统上发现"
+msgstr "- 没有在该系统上发现 %s"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:116
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:118
 #, python-format
 msgid "- %s version %s is installed but Pitivi requires at least version %s"
 msgstr "- %s 版本 %s 已安装但是 Pitivi 至少需要版本 %s"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:191
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:193
 #, python-format
 msgid "- %s GStreamer plug-in not found on the system"
-msgstr "- %s 没有在该系统上发现 GStreamer 插件"
+msgstr "- 没有在该系统上发现 %s GStreamer 插件"
 
-#. Translators: %s is a Python module name or another os component
-#: pitivi/check.py:194
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:196
 #, python-format
 msgid ""
 "- %s Gstreamer plug-in version %s is installed but Pitivi requires at least "
 "version %s"
 msgstr "- %s Gstreamer 插件已安装版本 %s 但是 Pitivi 至少需要版本 %s"
 
-#: pitivi/check.py:303
+#. Translators: %s is a Python module name or another OS component
+#: pitivi/check.py:224
+#, python-format
+msgid "- %s GStreamer element not found on the system"
+msgstr "- 没有在该系统上发现 %s GStreamer 元素"
+
+#: pitivi/check.py:332
 msgid "ERROR - The following hard dependencies are unmet:"
 msgstr "错误 - 以下硬性依赖未满足:"
 
-#: pitivi/check.py:311
+#: pitivi/check.py:340
 msgid "Missing soft dependency:"
 msgstr "缺少的可选依赖:"
 
-#: pitivi/check.py:318
+#: pitivi/check.py:347
 msgid ""
 "ERROR — Could not create a Gst.Fraction — this means gst-python is not "
 "installed correctly."
 msgstr "错误 - 无法创建一个 Gst.Fraction - 这表示 gst-python 没有被正确安装。"
 
-#: pitivi/check.py:323
+#: pitivi/check.py:352
 msgid ""
 "Could not create audio output sink. Make sure you have a valid one "
 "(pulsesink, alsasink or osssink)."
@@ -918,33 +957,33 @@ msgstr ""
 "无法创建音频输出接收器。确保您拥有其中之一(pulsesink,alsasink 或者 "
 "osssink)。"
 
-#: pitivi/check.py:328
+#: pitivi/check.py:357
 msgid ""
 "Could not create video output sink. Make sure you have a gtksink available."
 msgstr "无法创建视频输出接收器。确保您有可用的 gtksink。"
 
-#: pitivi/check.py:343
+#: pitivi/check.py:372
 #, python-format
 msgid "Could not import '%s'. Make sure you have it available."
 msgstr "无法导入“%s”。确保您拥有可用的该文件。"
 
-#: pitivi/check.py:357
+#: pitivi/check.py:386
 msgid "Could not import 'gi'. Make sure you have pygobject available."
 msgstr "无法导入“gi”。确保您拥有可用的 pygobject。"
 
-#: pitivi/check.py:456
+#: pitivi/check.py:485
 msgid "enables sound notifications when rendering is complete"
 msgstr "当渲染完成时启用声音提示"
 
-#: pitivi/check.py:458
+#: pitivi/check.py:487
 msgid "enables visual notifications when rendering is complete"
 msgstr "当渲染完成时启用视觉提示"
 
-#: pitivi/check.py:460
+#: pitivi/check.py:489
 msgid "additional multimedia codecs through the GStreamer Libav library"
 msgstr "通过 GStreamer Libav 库附加多媒体编解码器"
 
-#: pitivi/check.py:462
+#: pitivi/check.py:491
 msgid ""
 "enables a watchdog in the GStreamer pipeline. Use to detect errors happening "
 "in GStreamer and recover from them"
@@ -952,74 +991,82 @@ msgstr ""
 "在 GStreamer pipeline 中启用一个看门狗程序。用来检测 GStreamer 中发生的错误并"
 "从中恢复"
 
-#: pitivi/check.py:465
+#: pitivi/check.py:495
+msgid "enables object tracking"
+msgstr "启用对象追踪"
+
+#: pitivi/check.py:496
 msgid "enables beat detection functionality"
 msgstr "启用节拍检测功能"
 
 #. Translators: This is the default text of a title clip.
-#: pitivi/clipproperties.py:66
+#: pitivi/clipproperties.py:69
 msgid "Title Clip"
 msgstr "标题片段"
 
-#: pitivi/clipproperties.py:158
+#: pitivi/clipproperties.py:162
 msgid ""
 "Select a clip on the timeline to configure its properties and effects or "
 "create a new clip:"
 msgstr "从时间轴上选择一个片段来配置它的属性和特效或创建一个新片段:"
 
-#: pitivi/clipproperties.py:164
+#: pitivi/clipproperties.py:168
 msgid "Create a title clip"
 msgstr "创建标题片段"
 
-#: pitivi/clipproperties.py:169
+#: pitivi/clipproperties.py:173
 msgid "Create a color clip"
 msgstr "创建调色片段"
 
-#: pitivi/clipproperties.py:272 pitivi/effects.py:118
+#: pitivi/clipproperties.py:276 pitivi/effects.py:122
 msgid "Time"
 msgstr "时间"
 
-#: pitivi/clipproperties.py:315
+#: pitivi/clipproperties.py:319
 msgid "Speed"
 msgstr "速度"
 
-#: pitivi/clipproperties.py:330 pitivi/utils/widgets.py:800
+#: pitivi/clipproperties.py:334 pitivi/utils/widgets.py:800
 #, python-format
 msgid "%(preference_label)s:"
 msgstr "%(preference_label)s:"
 
-#: pitivi/clipproperties.py:333 pitivi/dialogs/prefs.py:286
+#: pitivi/clipproperties.py:337 pitivi/dialogs/prefs.py:286
 #: pitivi/utils/widgets.py:976
 msgid "Reset to default value"
 msgstr "重置为默认值"
 
-#: pitivi/clipproperties.py:568
+#: pitivi/clipproperties.py:572
 msgid "Effects"
 msgstr "特效"
 
-#: pitivi/clipproperties.py:584
+#: pitivi/clipproperties.py:590
 msgid ""
 "To apply an effect to the clip, drag it from the Effect Library or use the "
 "button below."
 msgstr "将特效从特效库里拖拽到片段上或使用下面的按钮以应用特效。"
 
-#: pitivi/clipproperties.py:592
+#: pitivi/clipproperties.py:598
 msgid "Add Effect"
 msgstr "添加特效"
 
-#: pitivi/clipproperties.py:913
+#: pitivi/clipproperties.py:608
+msgid "Cover Object"
+msgstr "覆盖对象"
+
+#: pitivi/clipproperties.py:938
 msgid "Transformation"
 msgstr "变换"
 
-#: pitivi/clipproperties.py:1042
+#: pitivi/clipproperties.py:1067
 msgid "Show keyframes"
 msgstr "显示关键帧"
 
-#: pitivi/clipproperties.py:1045
+#: pitivi/clipproperties.py:1070
 msgid "Activate keyframes"
 msgstr "激活关键帧"
 
-#: pitivi/clipproperties.py:1050
+#: pitivi/clipproperties.py:1075
 msgid "Hide keyframes"
 msgstr "隐藏关键帧"
 
@@ -1027,10 +1074,21 @@ msgstr "隐藏关键帧"
 msgid "Color"
 msgstr "颜色"
 
-#: pitivi/clip_properties/compositing.py:53 pitivi/effects.py:77
+#: pitivi/clip_properties/compositing.py:57 pitivi/effects.py:81
 msgid "Compositing"
 msgstr "合成"
 
+#. Translators: These are compositing operators.
+#. See https://www.cairographics.org/operators/ for explanation and
+#. visualizations.
+#: pitivi/clip_properties/compositing.py:80
+msgid "Source"
+msgstr "来源"
+
+#: pitivi/clip_properties/compositing.py:81
+msgid "Over"
+msgstr "叠加"
+
 #: pitivi/clip_properties/markers.py:47
 msgid "Text"
 msgstr "文字"
@@ -1177,7 +1235,7 @@ msgstr "%s 文件"
 msgid "All files"
 msgstr "所有文件"
 
-#: pitivi/dialogs/prefs.py:61 pitivi/timeline/timeline.py:1745
+#: pitivi/dialogs/prefs.py:61 pitivi/timeline/timeline.py:1747
 msgid "Timeline"
 msgstr "时间轴"
 
@@ -1231,7 +1289,7 @@ msgstr "为此快捷键应用此加速器。"
 
 #: pitivi/dialogs/prefs.py:637
 msgid "Replace"
-msgstr "覆盖"
+msgstr "替换"
 
 #: pitivi/dialogs/prefs.py:640
 msgid ""
@@ -1306,7 +1364,7 @@ msgstr "撤消"
 #. pylint: disable=attribute-defined-outside-init
 #: pitivi/editorperspective.py:323 pitivi/editorperspective.py:536
 #: pitivi/editorperspective.py:680 pitivi/editorperspective.py:728
-#: pitivi/editorperspective.py:781 pitivi/preset.py:113 pitivi/project.py:194
+#: pitivi/editorperspective.py:781 pitivi/preset.py:113 pitivi/project.py:195
 #: pitivi/render.py:226
 msgid "Save"
 msgstr "保存"
@@ -1332,7 +1390,7 @@ msgstr "对 Pitivi 的快速介绍"
 msgid "Unable to save project \"%s\""
 msgstr "无法保存工程“%s”"
 
-#: pitivi/editorperspective.py:538 pitivi/project.py:193
+#: pitivi/editorperspective.py:538 pitivi/project.py:194
 msgid "Save as..."
 msgstr "另存为…"
 
@@ -1387,7 +1445,7 @@ msgid "Detect automatically"
 msgstr "自动检测"
 
 #: pitivi/editorperspective.py:737 pitivi/editorperspective.py:784
-#: pitivi/project.py:61 pitivi/render.py:821
+#: pitivi/project.py:62 pitivi/render.py:821
 msgid "Untitled"
 msgstr "无标题"
 
@@ -1403,40 +1461,51 @@ msgstr "JPEG 图像"
 msgid "Preview"
 msgstr "预览"
 
-#: pitivi/effects.py:61
+#: pitivi/effects.py:65
 msgid "Colors"
 msgstr "颜色"
 
-#: pitivi/effects.py:84
+#: pitivi/effects.py:88
 msgid "Noise & blur"
 msgstr "噪点和模糊"
 
-#: pitivi/effects.py:89
+#: pitivi/effects.py:93
 msgid "Analysis"
 msgstr "分析"
 
-#: pitivi/effects.py:96
+#: pitivi/effects.py:100
 msgid "Geometry"
 msgstr "几何属性"
 
-#: pitivi/effects.py:107
+#: pitivi/effects.py:111
 msgid "Fancy"
 msgstr "奇特"
 
-#: pitivi/effects.py:246
+#: pitivi/effects.py:249
 msgid "effect"
 msgstr "特效"
 
+#. Translators: How the video effect which covers/hides a
+#. tracked object is listed. The {} is entered by the user
+#. and denotes the tracked object.
+#: pitivi/effects.py:330
+msgid "{} cover"
+msgstr "{} 覆盖"
+
+#: pitivi/effects.py:331
+msgid "Object cover effect"
+msgstr "对象覆盖效果"
+
 #. Add Uncategorized only if there are other categories defined.
-#: pitivi/effects.py:337 pitivi/effects.py:351
+#: pitivi/effects.py:354 pitivi/effects.py:368
 msgid "Uncategorized"
 msgstr "未分类"
 
-#: pitivi/effects.py:393 pitivi/effects.py:660
+#: pitivi/effects.py:410 pitivi/effects.py:677
 msgid "No effects"
 msgstr "没有特效"
 
-#: pitivi/effects.py:481
+#: pitivi/effects.py:498
 msgid "Add to Favorites"
 msgstr "添加至收藏"
 
@@ -1559,7 +1628,7 @@ msgid "<b>Resolution</b>: %d×%d"
 msgstr "<b>分辨率</b>:%d×%d"
 
 #: pitivi/mediafilespreviewer.py:271 pitivi/mediafilespreviewer.py:288
-#: pitivi/utils/ui.py:566
+#: pitivi/utils/ui.py:568
 #, python-format
 msgid "<b>Duration</b>: %s"
 msgstr "<b>持续时间</b>:%s"
@@ -1719,11 +1788,11 @@ msgstr "新建预设 %d"
 
 #. GTK does not allow an empty string as the dialog title, so we use the
 #. same translatable one as render.py's pipeline error message dialog:
-#: pitivi/project.py:177 pitivi/render.py:1320
+#: pitivi/project.py:178 pitivi/render.py:1320
 msgid "Sorry, something didn’t work right."
 msgstr "抱歉,有些东西没有正确工作。"
 
-#: pitivi/project.py:180
+#: pitivi/project.py:181
 msgid ""
 "Pitivi detected a serious backend problem and could not recover from it, "
 "even after multiple tries. The only thing that can be done at this point is "
@@ -1747,11 +1816,11 @@ msgstr ""
 "在关闭 Pitivi 之前,您可以将修改保存到现存的工程文件或者另存为独立的工程文"
 "件。"
 
-#: pitivi/project.py:195
+#: pitivi/project.py:196
 msgid "Close Pitivi"
 msgstr "关闭 Pitivi"
 
-#: pitivi/project.py:265
+#: pitivi/project.py:266
 msgid ""
 "This might be due to a bug or an unsupported project file format. If you "
 "were trying to add a media file to your project, use the \"Import\" button "
@@ -1760,15 +1829,15 @@ msgstr ""
 "这可能是因为一个BUG或者不支持的工程文件格式。如果您在尝试向工程中添加一个媒体"
 "文件,使用“导入”按钮代替。"
 
-#: pitivi/project.py:287
+#: pitivi/project.py:288
 msgid "Ignore backup"
 msgstr "忽略备份"
 
-#: pitivi/project.py:289
+#: pitivi/project.py:290
 msgid "Restore from backup"
 msgstr "从备份恢复"
 
-#: pitivi/project.py:300
+#: pitivi/project.py:301
 #, python-format
 msgid ""
 "An autosaved version of your project file was found. It is %s newer than the "
@@ -1780,16 +1849,16 @@ msgstr ""
 "\n"
 "您想载入它代替吗?"
 
-#: pitivi/project.py:373
+#: pitivi/project.py:374
 msgid "You do not have permissions to write to this folder."
 msgstr "您没有权限向这个文件夹写入。"
 
 #. Save the project to a temporary file.
-#: pitivi/project.py:406
+#: pitivi/project.py:407
 msgid "project"
 msgstr "工程"
 
-#: pitivi/project.py:706
+#: pitivi/project.py:700
 msgid "Pitivi encoding profile"
 msgstr "Pitivi 编码配置文件"
 
@@ -1909,7 +1978,7 @@ msgstr "“%s”已完成渲染。"
 #. Translators: This is a tooltip for a clip's keyframe curve,
 #. showing what the keyframe curve affects, the timestamp at
 #. the mouse cursor location, and the value at that timestamp.
-#: pitivi/timeline/elements.py:451
+#: pitivi/timeline/elements.py:446
 #, python-format
 msgid ""
 "Property: %s\n"
@@ -1920,12 +1989,12 @@ msgstr ""
 "时间戳:%s\n"
 "数值:%s"
 
-#: pitivi/timeline/elements.py:639
+#: pitivi/timeline/elements.py:634
 #, python-format
 msgid "Timestamp: %s"
 msgstr "时间戳:%s"
 
-#: pitivi/timeline/elements.py:1605
+#: pitivi/timeline/elements.py:1603
 msgid "Audio crossfade"
 msgstr "音频淡入淡出"
 
@@ -1954,7 +2023,7 @@ msgstr "删除该层面"
 msgid "Layer %d"
 msgstr "层面 %d"
 
-#: pitivi/timeline/ruler.py:232
+#: pitivi/timeline/ruler.py:239
 #, python-format
 msgid "Frame #%d"
 msgstr "帧 #%d"
@@ -1996,122 +2065,134 @@ msgstr "左键点击也会查找"
 msgid "Whether left-clicking also seeks besides selecting and editing clips."
 msgstr "左键点击除了选择和编辑片段外是否也会查找。"
 
-#: pitivi/timeline/timeline.py:356 pitivi/timeline/timeline.py:1809
+#: pitivi/timeline/timeline.py:356 pitivi/timeline/timeline.py:1811
 msgid "Add layer"
 msgstr "添加图层"
 
-#: pitivi/timeline/timeline.py:1752
+#: pitivi/timeline/timeline.py:1754
 msgid "Action Search"
 msgstr "动作搜索"
 
-#: pitivi/timeline/timeline.py:1760
+#: pitivi/timeline/timeline.py:1762
 msgid "Delete selected clips"
 msgstr "删除选定的片段"
 
-#: pitivi/timeline/timeline.py:1767
+#: pitivi/timeline/timeline.py:1769
 msgid "Delete selected clips and shift following ones"
 msgstr "删除选定的片段并平移跟随的片段"
 
-#: pitivi/timeline/timeline.py:1774
+#: pitivi/timeline/timeline.py:1776
 msgid "Group selected clips together"
 msgstr "将选定的片段编组"
 
-#: pitivi/timeline/timeline.py:1781
+#: pitivi/timeline/timeline.py:1783
 msgid "Ungroup selected clips"
 msgstr "解除编组的片段"
 
-#: pitivi/timeline/timeline.py:1788
+#: pitivi/timeline/timeline.py:1790
 msgid "Cut selected clips"
 msgstr "剪切选定的片段"
 
-#: pitivi/timeline/timeline.py:1795
+#: pitivi/timeline/timeline.py:1797
 msgid "Copy selected clips"
 msgstr "复制选定的片段"
 
-#: pitivi/timeline/timeline.py:1802
+#: pitivi/timeline/timeline.py:1804
 msgid "Paste selected clips"
 msgstr "粘贴选定的片段"
 
-#: pitivi/timeline/timeline.py:1816
+#: pitivi/timeline/timeline.py:1818
 msgid "Seek to the first clip edge after the playhead"
 msgstr "寻找至播放头之后的第一个片段边缘"
 
-#: pitivi/timeline/timeline.py:1823
+#: pitivi/timeline/timeline.py:1825
 msgid "Seek to the first clip edge before the playhead"
 msgstr "寻找至播放头之前的第一个片段边缘"
 
-#: pitivi/timeline/timeline.py:1830
+#: pitivi/timeline/timeline.py:1832
 msgid "Shift selected clips one frame forward"
 msgstr "将选中片段向前偏移一帧"
 
-#: pitivi/timeline/timeline.py:1837
+#: pitivi/timeline/timeline.py:1839
 msgid "Shift selected clips one frame backward"
 msgstr "将选中片段向后偏移一帧"
 
-#: pitivi/timeline/timeline.py:1844
+#: pitivi/timeline/timeline.py:1846
 msgid "Snap selected clips to the next clip"
 msgstr "将选中片段吸附至后一片段"
 
-#: pitivi/timeline/timeline.py:1851
+#: pitivi/timeline/timeline.py:1853
 msgid "Snap selected clips to the previous clip"
 msgstr "将选中片段吸附至前一片段"
 
-#: pitivi/timeline/timeline.py:1858
+#: pitivi/timeline/timeline.py:1860
 msgid "Add an effect to the selected clip"
 msgstr "对选中片段添加特效"
 
-#: pitivi/timeline/timeline.py:1871
+#: pitivi/timeline/timeline.py:1873
 msgid "Split the clip at the position"
 msgstr "在此位置分割片段"
 
-#: pitivi/timeline/timeline.py:1878
+#: pitivi/timeline/timeline.py:1880
 msgid "Add keyframe to the keyframe curve of selected clip"
 msgstr "在所选片段的关键帧曲线处增加关键帧"
 
-#: pitivi/timeline/timeline.py:1883
+#: pitivi/timeline/timeline.py:1885
 msgid "Timeline Navigation"
 msgstr "时间轴导航"
 
-#: pitivi/timeline/timeline.py:1891
+#: pitivi/timeline/timeline.py:1893
 msgid "Zoom in"
 msgstr "放大"
 
-#: pitivi/timeline/timeline.py:1899
+#: pitivi/timeline/timeline.py:1901
 msgid "Zoom out"
 msgstr "缩小"
 
-#: pitivi/timeline/timeline.py:1907
+#: pitivi/timeline/timeline.py:1909
 msgid "Adjust zoom to fit the project to the window"
 msgstr "调整缩放使工程适应窗口"
 
-#: pitivi/timeline/timeline.py:1920
+#: pitivi/timeline/timeline.py:1922
 msgid "Seek backward one frame"
 msgstr "向后查找一帧"
 
-#: pitivi/timeline/timeline.py:1927
+#: pitivi/timeline/timeline.py:1929
 msgid "Seek forward one frame"
 msgstr "向前查找一帧"
 
-#: pitivi/timeline/timeline.py:1935
+#: pitivi/timeline/timeline.py:1937
 msgid "Seek backward one second"
 msgstr "向后查找一秒"
 
-#: pitivi/timeline/timeline.py:1943
+#: pitivi/timeline/timeline.py:1945
 msgid "Seek forward one second"
 msgstr "向前查找一秒"
 
-#: pitivi/timeline/timeline.py:1951
+#: pitivi/timeline/timeline.py:1953
 msgid "Add a marker"
 msgstr "添加标记"
 
-#: pitivi/timeline/timeline.py:1958
+#: pitivi/timeline/timeline.py:1960
 msgid "Seek to the first marker before the playhead"
 msgstr "寻找至播放头之前的第一个标记"
 
-#: pitivi/timeline/timeline.py:1965
+#: pitivi/timeline/timeline.py:1967
 msgid "Seek to the first marker after the playhead"
 msgstr "寻找至播放头之后的第一个标记"
 
+#: pitivi/trackerperspective.py:403
+msgid "Object {}"
+msgstr "对象 {}"
+
+#: pitivi/trackerperspective.py:665
+msgid "Go back"
+msgstr "返回"
+
+#: pitivi/trackerperspective.py:739
+msgid "Track objects"
+msgstr "追踪对象"
+
 #: pitivi/transitions.py:77
 msgid "Normal"
 msgstr "正常"
@@ -2191,112 +2272,112 @@ msgid "Max CPU usage dedicated to transcoding"
 msgstr "专用于转码的最大处理器占用"
 
 #. Translators: 'fps' is for 'frames per second'
-#: pitivi/utils/ui.py:382
+#: pitivi/utils/ui.py:390
 msgid "{0:s} fps"
 msgstr "{0:s} fps"
 
-#: pitivi/utils/ui.py:402
+#: pitivi/utils/ui.py:410
 #, python-brace-format
 msgid "{0:n} kHz"
 msgstr "{0:n} kHz"
 
-#: pitivi/utils/ui.py:411
+#: pitivi/utils/ui.py:419
 msgid "Mono"
 msgstr "单声道"
 
-#: pitivi/utils/ui.py:412
+#: pitivi/utils/ui.py:420
 msgid "Stereo"
 msgstr "立体声"
 
-#: pitivi/utils/ui.py:413
+#: pitivi/utils/ui.py:421
 msgid "6 (5.1)"
 msgstr "6 (5.1)"
 
-#: pitivi/utils/ui.py:414
+#: pitivi/utils/ui.py:422
 msgid "8 (7.1)"
 msgstr "8 (7.1)"
 
-#: pitivi/utils/ui.py:545
+#: pitivi/utils/ui.py:547
 #, python-format
 msgid "<b>Duration:</b> %s"
 msgstr "<b>持续时间:</b> %s"
 
-#: pitivi/utils/ui.py:548
+#: pitivi/utils/ui.py:550
 #, python-format
 msgid "<b>Proxy creation progress:</b> %d%%"
 msgstr "<b>代理创建进程:</b> %d%%"
 
-#: pitivi/utils/ui.py:562
+#: pitivi/utils/ui.py:564
 #, python-format
 msgid "<b>Path</b>: %s"
 msgstr "<b>路径</b>:%s"
 
-#: pitivi/utils/ui.py:572
+#: pitivi/utils/ui.py:574
 #, python-format
 msgid "<b>Size</b>: %s"
 msgstr "<b>大小</b>:%s"
 
-#: pitivi/utils/ui.py:608
+#: pitivi/utils/ui.py:610
 #, python-format
 msgid "<b>Audio:</b> %d channel at %d <i>Hz</i> (%d <i>bits</i>)"
 msgid_plural "<b>Audio:</b> %d channels at %d <i>Hz</i> (%d <i>bits</i>)"
 msgstr[0] "<b>音频:</b> %d 声道 %d <i>Hz</i> (%d <i>bits</i>)"
 
-#: pitivi/utils/ui.py:620
+#: pitivi/utils/ui.py:622
 #, python-format
 msgid "<b>Video:</b> %d×%d <i>pixels</i> at %s <i>fps</i>"
 msgstr "<b>视频:</b> %d×%d <i>像素</i>位于 %s<i>帧/秒</i>"
 
-#: pitivi/utils/ui.py:623
+#: pitivi/utils/ui.py:625
 #, python-format
 msgid "<b>Image:</b> %d×%d <i>pixels</i>"
 msgstr "<b>图像:</b> %d×%d <i>像素</i>"
 
-#: pitivi/utils/ui.py:677 pitivi/utils/ui.py:704 pitivi/utils/ui.py:728
+#: pitivi/utils/ui.py:679 pitivi/utils/ui.py:706 pitivi/utils/ui.py:730
 #, python-format
 msgid "%d hour"
 msgid_plural "%d hours"
 msgstr[0] "%d 小时"
 
-#: pitivi/utils/ui.py:680 pitivi/utils/ui.py:707 pitivi/utils/ui.py:731
+#: pitivi/utils/ui.py:682 pitivi/utils/ui.py:709 pitivi/utils/ui.py:733
 #, python-format
 msgid "%d minute"
 msgid_plural "%d minutes"
 msgstr[0] "%d 分"
 
-#: pitivi/utils/ui.py:683 pitivi/utils/ui.py:710 pitivi/utils/ui.py:734
+#: pitivi/utils/ui.py:685 pitivi/utils/ui.py:712 pitivi/utils/ui.py:736
 #, python-format
 msgid "%d second"
 msgid_plural "%d seconds"
 msgstr[0] "%d 秒"
 
-#: pitivi/utils/ui.py:702
+#: pitivi/utils/ui.py:704
 #, python-format
 msgid "%d day"
 msgid_plural "%d days"
 msgstr[0] "%d 天"
 
-#: pitivi/utils/ui.py:743
+#: pitivi/utils/ui.py:745
 msgid "Just now"
 msgstr "立刻"
 
-#: pitivi/utils/ui.py:746
+#: pitivi/utils/ui.py:748
 msgid "An hour ago"
 msgstr "1 小时前"
 
-#: pitivi/utils/ui.py:749
+#: pitivi/utils/ui.py:751
 msgid "Today"
 msgstr "今天"
 
-#: pitivi/utils/ui.py:752
+#: pitivi/utils/ui.py:754
 msgid "Yesterday"
 msgstr "昨天"
 
-#: pitivi/utils/ui.py:761
+#: pitivi/utils/ui.py:763
 msgid "About a year ago"
 msgstr "大约 1 年前"
 
-#: pitivi/utils/ui.py:764
+#: pitivi/utils/ui.py:766
 #, python-format
 msgid "About %d year ago"
 msgid_plural "About %d years ago"
@@ -2355,31 +2436,31 @@ msgstr "对角线"
 msgid "Composition Guidelines"
 msgstr "构图准则"
 
-#: pitivi/viewer/viewer.py:77
+#: pitivi/viewer/viewer.py:81
 msgid "Currently playing"
 msgstr "当前播放中"
 
-#: pitivi/viewer/viewer.py:252
+#: pitivi/viewer/viewer.py:299
 msgid "Select composition guidelines"
 msgstr "选择构图准则"
 
-#: pitivi/viewer/viewer.py:260
+#: pitivi/viewer/viewer.py:307
 msgid "Go to the beginning of the timeline"
 msgstr "跳到时间轴开始"
 
-#: pitivi/viewer/viewer.py:269
+#: pitivi/viewer/viewer.py:316
 msgid "Go back one second"
 msgstr "后退一秒"
 
-#: pitivi/viewer/viewer.py:282
+#: pitivi/viewer/viewer.py:329
 msgid "Go forward one second"
 msgstr "前进一秒"
 
-#: pitivi/viewer/viewer.py:291
+#: pitivi/viewer/viewer.py:338
 msgid "Go to the end of the timeline"
 msgstr "跳到时间轴结尾"
 
-#: pitivi/viewer/viewer.py:298
+#: pitivi/viewer/viewer.py:345
 msgid ""
 "Enter a timecode or frame number\n"
 "and press \"Enter\" to go to that position"
@@ -2387,7 +2468,7 @@ msgstr ""
 "输入一个时间码或帧号码\n"
 "并且按下“回车键”跳至那个位置"
 
-#: pitivi/viewer/viewer.py:309
+#: pitivi/viewer/viewer.py:356
 msgid ""
 "Detach the viewer\n"
 "You can re-attach it by closing the newly created window."
@@ -2395,23 +2476,23 @@ msgstr ""
 "分离查看器\n"
 "您可以通过关闭新建窗口重新固定它。"
 
-#: pitivi/viewer/viewer.py:336
+#: pitivi/viewer/viewer.py:383
 msgid "Viewer"
 msgstr "查看器"
 
-#: pitivi/viewer/viewer.py:344
+#: pitivi/viewer/viewer.py:391
 msgid "Toggle the currently selected composition guidelines"
 msgstr "切换当前选择的构图准则"
 
-#: pitivi/viewer/viewer.py:352
+#: pitivi/viewer/viewer.py:399
 msgid "Toggle safe areas on viewer"
 msgstr "切换查看器上的安全区域"
 
-#: pitivi/viewer/viewer.py:478 pitivi/viewer/viewer.py:536
+#: pitivi/viewer/viewer.py:541 pitivi/viewer/viewer.py:600
 msgid "Show this window in fullscreen"
 msgstr "全屏显示该窗口"
 
-#: pitivi/viewer/viewer.py:533
+#: pitivi/viewer/viewer.py:597
 msgid "Exit fullscreen mode"
 msgstr "退出全屏模式"
 
@@ -2477,9 +2558,6 @@ msgstr "无法覆盖 {key},因为快捷键命令是只读的。"
 #~ msgid "Clear the current search"
 #~ msgstr "清空当前搜索"
 
-#~ msgid "Remove effect"
-#~ msgstr "移除特效"
-
 #~ msgid "Active"
 #~ msgstr "激活"
 
@@ -2516,9 +2594,6 @@ msgstr "无法覆盖 {key},因为快捷键命令是只读的。"
 #~ msgid "Remove the selected effect"
 #~ msgstr "移除选定的特效"
 
-#~ msgid "Close project"
-#~ msgstr "关闭工程"
-
 #~ msgid "Close after importing files"
 #~ msgstr "导入文件后关闭"
 
diff --git a/tests/common.py b/tests/common.py
index 3a7dbe2..b14b818 100644
--- a/tests/common.py
+++ b/tests/common.py
@@ -79,6 +79,21 @@ os.environ["PITIVI_USER_CACHE_DIR"] = tempfile.mkdtemp(suffix="pitiviTestsuite")
 locale.setlocale(locale.LC_ALL, "en_US.UTF-8")
 
 
+# Disk access can take very long on the CI runners.
+GITLAB_CI_TIMEOUT_FACTOR = 10
+
+
+def factor_timeout(obj, attr_name):
+    if not os.environ.get("GITLAB_CI", False):
+        return
+
+    attr_backup = "{}_original_timeout_value".format(attr_name)
+    if not hasattr(obj, attr_backup):
+        original_value = getattr(obj, attr_name)
+        setattr(obj, attr_backup, original_value)
+        setattr(obj, attr_name, original_value * GITLAB_CI_TIMEOUT_FACTOR)
+
+
 def __create_settings(proxying_strategy=ProxyingStrategy.NOTHING,
                       num_transcoding_jobs=4,
                       **additional_settings):
@@ -157,6 +172,9 @@ def create_main_loop():
         # Limit the test running time only when not debugging.
         debugging = os.environ.get("PITIVI_VSCODE_DEBUG", False)
         if not debugging:
+            if os.environ.get("GITLAB_CI", False):
+                # Disk access can take very long on the CI runners.
+                timeout_seconds *= GITLAB_CI_TIMEOUT_FACTOR
             source = GLib.timeout_source_new_seconds(timeout_seconds)
             source.set_callback(timeout_cb)
             source.attach()
@@ -179,6 +197,8 @@ class OperationTimeout(Exception):
 class CheckedOperationDuration:
 
     def __init__(self, seconds, error_message=None):
+        if os.environ.get("GITLAB_CI", False):
+            seconds *= GITLAB_CI_TIMEOUT_FACTOR
         if error_message is None:
             error_message = "operation timed out after %s seconds" % seconds
         self.seconds = seconds
@@ -401,6 +421,11 @@ class TestCase(unittest.TestCase, Loggable):
         assert hasattr(Previewer, "manager")
         Previewer.manager = PreviewGeneratorManager()
 
+        from pitivi.utils import pipeline
+        factor_timeout(pipeline, "WATCHDOG_TIMEOUT")
+        factor_timeout(pipeline, "MAX_BRINGING_TO_PAUSED_DURATION")
+        factor_timeout(pipeline, "MAX_SET_STATE_DURATION")
+
     def tearDown(self):
         # don't barf gc info all over the console if we have already failed a
         # test case
diff --git a/tests/ptv_testsuite.py b/tests/ptv_testsuite.py
index e11e9a8..c693e2e 100644
--- a/tests/ptv_testsuite.py
+++ b/tests/ptv_testsuite.py
@@ -31,36 +31,53 @@ import tests
 # pylint: disable=wrong-import-order
 from launcher.baseclasses import Test
 
+import launcher
+
 
 class PitiviTest(Test):
     """A Test corresponding to a module in our unit tests suite."""
 
     def build_arguments(self):
         """Builds subprocess arguments."""
-        self.add_arguments('-m', 'unittest', '.'.join(self.classname.split('.')[1:]))
+        self.add_arguments("-m", "unittest", ".".join(self.classname.split(".")[1:]))
 
 
-def setup_tests(test_manager, options):
+def setup_tests(
+        test_manager: launcher.baseclasses.GstValidateBaseTestManager,
+        options: "launcher.baseclasses.LauncherConfig"):
     """Sets up Pitivi unit testsuite."""
     if os.environ.get("PITIVI_VSCODE_DEBUG", False):
         import debugpy
-        debugpy.listen(5678)
+        debugpy.listen(("0.0.0.0", 5678))
         print("Waiting for the debugger to attach...")
         debugpy.wait_for_client()
 
     loader = unittest.TestLoader()
-    testsuites = loader.discover(CDIR)
+    testsuites: unittest.suite.TestSuite = loader.discover(CDIR)
+    # A testsuite per each .py file.
     for testsuite in testsuites:
+        # A testsuite per each unittest.TestCase subclass.
         for _tests in testsuite:
-
             if isinstance(_tests, unittest.loader._FailedTest):  # pylint: disable=protected-access
                 print(_tests._exception)  # pylint: disable=protected-access
                 continue
+
+            # A test for each test_* method.
             for test in _tests:
+                env = {"PYTHONPATH": os.path.join(CDIR, "..")}
+                gitlab_ci = os.environ.get("GITLAB_CI")
+                if gitlab_ci:
+                    # The tests extend internal timeouts when they figure they
+                    # are running in the CI.
+                    env["GITLAB_CI"] = gitlab_ci
+                    # Workaround a segfault when GStreamer deinitializes
+                    # https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1964
+                    env["GST_DEBUG"] = "*:5"
                 test_manager.add_test(PitiviTest(
                     sys.executable,
-                    'tests.' + test.id(),
-                    options, test_manager.reporter,
-                    extra_env_variables={'PYTHONPATH': os.path.join(CDIR, '..')}))
+                    "tests." + test.id(),
+                    options,
+                    test_manager.reporter,
+                    extra_env_variables=env))
 
     return True
diff --git a/tests/test_autoaligner.py b/tests/test_autoaligner.py
new file mode 100644
index 0000000..191f371
--- /dev/null
+++ b/tests/test_autoaligner.py
@@ -0,0 +1,100 @@
+# -*- coding: utf-8 -*-
+# Pitivi video editor
+# Copyright (c) 2022, Thejas Kiran P S <thejaskiranps@gmail.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, see <http://www.gnu.org/licenses/>.
+import os
+
+from gi.repository import GES
+from gi.repository import Gst
+
+from pitivi.autoaligner import AutoAligner
+from pitivi.timeline.previewers import AudioPreviewer
+from pitivi.timeline.previewers import get_wavefile_location_for_uri
+from pitivi.undo.timeline import CommitTimelineFinalizingAction
+from tests import common
+
+
+class TestAutoAligner(common.TestCase):
+    """Tests for AutoAligner class."""
+
+    def __generate_wavefile(self, clip):
+        wavefile = get_wavefile_location_for_uri(clip.props.uri)
+        if os.path.exists(wavefile):
+            return
+
+        for source in clip.get_children(False):
+            if isinstance(source, GES.AudioUriSource):
+                source_clip = source
+
+        mainloop = common.create_main_loop()
+        previewer = AudioPreviewer(source_clip, 90)
+        previewer.connect("done", lambda x: mainloop.quit())
+        previewer.start_generation()
+        mainloop.run()
+        self.assertTrue(os.path.exists(wavefile))
+
+    @common.setup_timeline
+    def test_auto_aligner(self):
+        # Prevent magnetic snapping from interfering with the alignment of clips.
+        self.timeline.props.snapping_distance = 0
+        self.timeline.append_layer()
+        layers = self.timeline.get_layers()
+        # Add clips(tears_of_steel.webm) to both layers with a
+        # slight difference in their starting positions.
+        clip1 = self.add_clip(layers[0], start=0, duration=Gst.SECOND)
+        clip2 = self.add_clip(layers[1], start=Gst.SECOND, duration=Gst.SECOND)
+        self.__generate_wavefile(clip1)
+
+        self.assertNotEqual(clip1.start, clip2.start)
+        autoaligner = AutoAligner([clip1, clip2])
+        autoaligner.run()
+        self.assertEqual(clip1.start, clip2.start)
+
+    @common.setup_timeline
+    def test_negative_shifts(self):
+        """Tests shifts causing negative clip.start are handled properly."""
+        self.timeline.props.snapping_distance = 0
+        self.timeline.append_layer()
+        layers = self.timeline.get_layers()
+        clip1 = self.add_clip(layers[0], start=0, inpoint=Gst.SECOND // 2, duration=Gst.SECOND)
+        clip2 = self.add_clip(layers[1], start=0, duration=Gst.SECOND)
+        self.__generate_wavefile(clip1)
+
+        autoaligner = AutoAligner([clip1, clip2])
+        autoaligner.run()
+        self.assertEqual(clip1.start, Gst.SECOND // 2)
+        self.assertEqual(clip2.start, 0)
+
+    @common.setup_timeline
+    def test_align_undo_redo(self):
+        self.timeline.props.snapping_distance = 0
+        self.timeline.append_layer()
+        layers = self.timeline.get_layers()
+
+        clip1 = self.add_clip(layers[0], start=0, duration=Gst.SECOND)
+        clip2 = self.add_clip(layers[1], start=Gst.SECOND, duration=Gst.SECOND)
+        self.__generate_wavefile(clip1)
+
+        with self.action_log.started("Align clips",
+                                     finalizing_action=CommitTimelineFinalizingAction(self.project.pipeline),
+                                     toplevel=True):
+            autoaligner = AutoAligner([clip1, clip2])
+            autoaligner.run()
+        self.assertEqual([clip1.start, clip2.start], [0, 0])
+
+        self.action_log.undo()
+        self.assertEqual([clip1.start, clip2.start], [0, Gst.SECOND])
+        self.action_log.redo()
+        self.assertEqual([clip1.start, clip2.start], [0, 0])
diff --git a/tests/test_medialibrary.py b/tests/test_medialibrary.py
index dfd645d..1b36dca 100644
--- a/tests/test_medialibrary.py
+++ b/tests/test_medialibrary.py
@@ -91,25 +91,24 @@ class BaseTestMediaLibrary(common.TestCase):
                              len(self.samples))
             self.mainloop.quit()
 
-    def _create_assets(self, samples):
-        self.samples = samples
-        for sample_name in samples:
-            self.app.project_manager.current_project.create_asset(
-                common.get_sample_uri(sample_name), GES.UriClip)
-
     def check_import(self, samples, proxying_strategy=ProxyingStrategy.ALL,
-                     check_no_transcoding=False, auto_scaling_enabled=False):
+                     check_no_transcoding=False, auto_scaling_enabled=False, setup=True):
         """Simulates the user importing an asset."""
-        self._custom_set_up(proxying_strategy=proxying_strategy,
-                            num_transcoding_jobs=4,
-                            last_clip_view=ViewType.LIST,
-                            auto_scaling_enabled=auto_scaling_enabled)
-        self.check_no_transcoding = check_no_transcoding
+        if setup:
+            self._custom_set_up(proxying_strategy=proxying_strategy,
+                                num_transcoding_jobs=4,
+                                last_clip_view=ViewType.LIST,
+                                auto_scaling_enabled=auto_scaling_enabled)
+            self.samples = samples
+        else:
+            self.samples.extend(samples)
 
+        self.check_no_transcoding = check_no_transcoding
         self.medialibrary._progressbar.connect(
             "notify::fraction", self._progress_bar_cb)
-
-        self._create_assets(samples)
+        for sample_name in samples:
+            self.app.project_manager.current_project.create_asset(
+                common.get_sample_uri(sample_name), GES.UriClip)
         self.mainloop.run(timeout_seconds=25)
         self.assertFalse(self.medialibrary._progressbar.props.visible)
 
@@ -498,6 +497,13 @@ class TestMediaLibrary(BaseTestMediaLibrary):
             self.check_import([sample], check_no_transcoding=True,
                               proxying_strategy=ProxyingStrategy.AUTOMATIC)
 
+    def test_flowbox_items_order(self):
+        samples = ["tears_of_steel.webm", "1sec_simpsons_trailer.mp4"]
+        self.check_import([samples[0]], proxying_strategy=ProxyingStrategy.NOTHING)
+        self.check_import([samples[1]], proxying_strategy=ProxyingStrategy.NOTHING, setup=False)
+        asset_names = [item.uri.split("/")[-1] for item in self.medialibrary.store]
+        self.assertEqual(asset_names, sorted(samples))
+
     @skip("times out")
     def test_import_supported_forced_scaled_audio(self):
         sample = "mp3_sample.mp3"
diff --git a/tests/test_previewers.py b/tests/test_previewers.py
index 66d16c7..b362f3a 100644
--- a/tests/test_previewers.py
+++ b/tests/test_previewers.py
@@ -40,37 +40,22 @@ from tests.test_medialibrary import BaseTestMediaLibrary
 
 
 SIMPSON_WAVFORM_VALUES = [
-    0.10277689604421922, 0.5078891671078481, 0.913001438171477, 1.318113709235106,
-    1.7232259802987349, 2.1283382513623637, 2.5334505224259924, 2.9385627934896212,
-    3.34367506455325, 3.748787335616879, 3.7487873356168793, 3.697464549118655,
-    3.646141762620431, 3.5948189761222067, 3.5434961896239825, 3.4921734031257583,
-    3.440850616627534, 3.38952783012931, 3.3382050436310857, 3.2868822571328615,
-    3.2868822571328606, 3.4364524655420996, 3.5860226739513386, 3.7355928823605775,
-    3.8851630907698165, 4.034733299179055, 4.1843035075882939, 4.3338737159975329,
-    4.4834439244067719, 4.6330141328160108, 4.6330141328160108, 4.6166031969548991,
-    4.6001922610937873, 4.5837813252326756, 4.5673703893715638, 4.5509594535104521,
-    4.5345485176493403, 4.5181375817882286, 4.5017266459271168, 4.485315710066005,
-    4.4853157100660033, 4.5547060070202106, 4.6240963039744178, 4.6934866009286251,
-    4.7628768978828324, 4.8322671948370397, 4.901657491791247, 4.9710477887454543,
-    5.0404380856996616, 5.1098283826538689, 5.109828382653868, 5.0866990072166436,
-    5.0635696317794192, 5.0404402563421948, 5.0173108809049705, 4.9941815054677461,
-    4.9710521300305217, 4.9479227545932973, 4.924793379156073, 4.9016640037188486,
-    4.901664003718845, 4.8508680589687616, 4.8000721142186782, 4.7492761694685948,
-    4.6984802247185113, 4.6476842799684279, 4.5968883352183445, 4.5460923904682611,
-    4.4952964457181777, 4.4445005009680942, 4.4445005009680925, 4.5544001248210364,
-    4.6642997486739803, 4.7741993725269243, 4.8840989963798682, 4.9939986202328122,
-    5.1038982440857561, 5.2137978679387, 5.323697491791644, 5.4335971156445879,
-    5.433597115644587, 5.3988578703107724, 5.3641186249769577, 5.329379379643143,
-    5.2946401343093283, 5.2599008889755137, 5.225161643641699, 5.1904223983078843,
-    5.1556831529740696, 5.120943907640255, 5.120943907640255, 5.0895954243424724,
-    5.0582469410446897, 5.0268984577469071, 4.9955499744491245, 4.9642014911513419,
-    4.9328530078535593, 4.9015045245557767, 4.8701560412579941, 4.8388075579602114,
-    4.8388075579602079, 4.7336937056290518, 4.6285798532978957, 4.5234660009667396,
-    4.4183521486355835, 4.3132382963044273, 4.2081244439732712, 4.1030105916421151,
-    3.9978967393109586, 3.892782886979802, 3.8927828869797994, 3.8630968485705619,
-    3.8334108101613245, 3.803724771752087, 3.7740387333428496, 3.7443526949336121,
-    3.7146666565243747, 3.6849806181151372, 3.6552945797058998, 3.6256085412966623,
-    3.6256085412966614, 0.0]
+    1.0000000180025155e-33, 1.0000000180025155e-33, 9.466735608724685e-05,
+    0.0016802854651403348, 0.2298099638424507, 2.3616320439402143, 4.049185439556839,
+    3.284195196383849, 4.05835985413913, 4.586676466667793, 4.940914967594509,
+    3.5891955340346477, 2.2974444692377567, 1.5337796548101932, 3.015340518747337,
+    4.402133429862438, 4.773357722910441, 4.779009324079252, 4.655537541962497,
+    4.543942909514233, 4.9320770351156735, 3.7114167237366957, 2.6811979044348884,
+    5.377787572575852, 5.136230693687676, 5.419229650541714, 5.35647659134891,
+    4.5933491070305665, 5.460428009340401, 4.645073622414212, 4.378695790226624,
+    5.259486582101626, 4.5281589368036546, 5.265094016436164, 5.00708854897167,
+    4.513459848980695, 3.792516292044058, 3.836904642287806, 4.531396212120468,
+    5.362651864191655, 5.408963618250316, 5.120883787773891, 4.934966728544448,
+    6.175705535014139, 5.444842919425695, 4.957031005987477, 5.53745374776641,
+    5.580341542054587, 4.611911374969583, 4.845084505605837, 5.450476172859177,
+    5.7348769111251405, 4.443313266936532, 4.367055669701466, 3.9572188728697317,
+    3.305387555242148, 4.614435114384071, 3.5434378665402257, 4.452167697134032,
+    3.3425208440888636, 3.5801852530575835]
 
 
 class TestPreviewers(BaseTestMediaLibrary):
@@ -233,7 +218,7 @@ class TestAudioPreviewer(TestPreviewers):
         def set_source_surface(surface, offset_x, offset_y):
             offsets.append(offset_x)
 
-        samples = list(range(199))
+        samples = list(range(99))
         for previewer in audio_previewers:
             previewer.samples = samples
             with mock.patch.object(Gdk, "cairo_get_clip_rectangle") as cairo_get_clip_rectangle:
diff --git a/tests/test_timeline_timeline.py b/tests/test_timeline_timeline.py
index f265913..34fa0a2 100644
--- a/tests/test_timeline_timeline.py
+++ b/tests/test_timeline_timeline.py
@@ -538,8 +538,8 @@ class TestCutCopyPaste(common.TestCase):
 
         copied_clips = [clip for clip in new_clips if clip not in clips]
         self.assertEqual(len(copied_clips), 2)
-        self.assertEqual(copied_clips[0].props.start, position)
-        self.assertEqual(copied_clips[1].props.start, position + copied_clips[0].props.duration)
+        self.assertEqual(copied_clips[0].props.start, position, new_clips)
+        self.assertEqual(copied_clips[1].props.start, position + copied_clips[0].props.duration, new_clips)
 
         # Paste the same clips for the second time.
         position = self.project.pipeline.get_duration()
diff --git a/tests/test_undo_timeline.py b/tests/test_undo_timeline.py
index 6dee7ae..f1cb3ca 100644
--- a/tests/test_undo_timeline.py
+++ b/tests/test_undo_timeline.py
@@ -156,8 +156,8 @@ class TestTimelineObserver(common.TestCase):
 
         self.assertTrue(self.layer.add_clip(clip1))
         self.assertTrue(self.layer.add_clip(clip2))
-        self.assertEqual(clip1.props.timeline, self.layer.get_timeline())
-        self.assertEqual(clip2.props.timeline, self.layer.get_timeline())
+        self.assertEqual(clip1.get_timeline(), self.layer.get_timeline())
+        self.assertEqual(clip2.get_timeline(), self.layer.get_timeline())
 
         self.timeline_container.timeline.selection.select([clip1, clip2])
         self.timeline_container.group_action.activate(None)
@@ -784,8 +784,7 @@ class TestControlSourceObserver(common.TestCase):
         asset = GES.UriClipAsset.request_sync(uri)
         clip = asset.extract()
         self.layer.add_clip(clip)
-        source = clip.get_children(False)[1]
-        self.assertTrue(isinstance(source, GES.VideoUriSource))
+        source = self.get_clip_element(clip, GES.VideoUriSource)
 
         control_source = GstController.InterpolationControlSource()
         control_source.props.mode = GstController.InterpolationMode.LINEAR
@@ -810,8 +809,7 @@ class TestControlSourceObserver(common.TestCase):
         asset = GES.UriClipAsset.request_sync(uri)
         clip = asset.extract()
         self.layer.add_clip(clip)
-        source = clip.get_children(False)[1]
-        self.assertTrue(isinstance(source, GES.VideoUriSource))
+        source = self.get_clip_element(clip, GES.VideoUriSource)
 
         control_source = GstController.InterpolationControlSource()
         control_source.props.mode = GstController.InterpolationMode.LINEAR
@@ -839,8 +837,7 @@ class TestControlSourceObserver(common.TestCase):
         asset = GES.UriClipAsset.request_sync(uri)
         clip = asset.extract()
         self.layer.add_clip(clip)
-        source = clip.get_children(False)[1]
-        self.assertTrue(isinstance(source, GES.VideoUriSource))
+        source = self.get_clip_element(clip, GES.VideoUriSource)
 
         control_source = GstController.InterpolationControlSource()
         control_source.props.mode = GstController.InterpolationMode.LINEAR

More details

Full run details

Historical runs