diff --git a/src/Ass/Line.cc b/src/Ass/Line.cc
index 31a398912856fef2c9969507fd45aecb04d12d1a..c4135c3e8a56c5d0a74a8b6d9cde20c7cb570aaa 100644
--- a/src/Ass/Line.cc
+++ b/src/Ass/Line.cc
@@ -3,3 +3,19 @@
 Line::Line(const QString & /*unused*/)
 {
 }
+
+void
+Line::setStart(quint64 s) noexcept
+{
+    start = s;
+    if (s > end)
+        end = s;
+};
+
+void
+Line::setEnd(quint64 s) noexcept
+{
+    end = s;
+    if (start > s)
+        start = s;
+};
diff --git a/src/Ass/Line.hh b/src/Ass/Line.hh
index e2aa48c5dfaf56f1760845b29df273159e0274b8..3f447ec8c29a476eba4d4f787c466ab720f81921 100644
--- a/src/Ass/Line.hh
+++ b/src/Ass/Line.hh
@@ -20,16 +20,8 @@ public:
 
     ~Line() noexcept = default;
 
-    inline void setStart(quint64 s){
-        start = s;
-        if (s > end)
-            end = s;
-    };
-    inline void setEnd(quint64 s){
-        end = s;
-        if (start > s)
-            start = s;
-    };
+    void setStart(quint64 s) noexcept;
+    void setEnd(quint64 s) noexcept;
 };
 
 #endif // VIVY_ASS_LINE_H
diff --git a/src/Ass/Style.hh b/src/Ass/Style.hh
index 8a8907e64fd388f477f84843d809d0045b77f054..818e1a71c3a1cc88c5d7162d22fd8bdd3f04cb08 100644
--- a/src/Ass/Style.hh
+++ b/src/Ass/Style.hh
@@ -9,7 +9,7 @@
 struct Color {
     union {
         quint8 a, r, g, b;
-        quint32 argb;
+        quint32 argb{ 0 };
     };
 
     static Color fromString(const QString);
diff --git a/src/AudioVisualizer.cc b/src/AudioVisualizer.cc
index 6407db7bb5b076919a90d7a05336bef18bc570b9..f557a9b0056ab63ca5941aba5b4ffb034f595a8f 100644
--- a/src/AudioVisualizer.cc
+++ b/src/AudioVisualizer.cc
@@ -16,15 +16,15 @@ AudioVisualizer::AudioVisualizer(QWidget *parent) noexcept
 void
 AudioVisualizer::printSpectrum(QImage pixmap) noexcept
 {
-    TimingView *timer   = new TimingView(pixmap, 0);
+    TimingView *timer   = new TimingView(pixmap, 0, this);
     QVBoxLayout *layout = new QVBoxLayout;
 
     layout->addWidget(timer);
     setLayout(layout);
 }
 
-auto
-AudioVisualizer::fromFile(const QString &filename) -> AudioVisualizer *
+AudioVisualizer *
+AudioVisualizer::fromFile(const QString &filename)
 {
     if (filename.isEmpty())
         return nullptr;
@@ -53,8 +53,8 @@ AudioVisualizer::fromFile(const QString &filename) -> AudioVisualizer *
     const int width   = RawImageDataGetWidth(raw_image);
     const int height  = RawImageDataGetHeight(raw_image);
     uchar *pixs       = RawImageDataDuplicatePixels(raw_image);
-    QImage img(pixs, width, height / 2, width, QImage::Format_Grayscale8, pixs_deleter, pixs);
-    img = img.mirrored(false, true);
+    QImage img =
+        QImage(pixs, width, height / 2, width, QImage::Format_Grayscale8, pixs_deleter, pixs).mirrored(false, true);
 
     auto *audioVisualizer = new AudioVisualizer;
     audioVisualizer->printSpectrum(img);
diff --git a/src/AudioVisualizer.hh b/src/AudioVisualizer.hh
index 7f4f4a8b9a6d305018722b8010d9a20e0bfe6fd0..41163786a54a36fbd213fee9e56581cb7a894a71 100644
--- a/src/AudioVisualizer.hh
+++ b/src/AudioVisualizer.hh
@@ -16,7 +16,7 @@ public:
     explicit AudioVisualizer(QWidget *parent = nullptr) noexcept;
     ~AudioVisualizer() noexcept = default;
 
-    static AudioVisualizer *fromFile(const QString &);
+    [[nodiscard("allocated")]] static AudioVisualizer *fromFile(const QString &);
 
 public slots:
     void printSpectrum(QImage) noexcept;
diff --git a/src/Document/VivyDocument.cc b/src/Document/VivyDocument.cc
index 6a2455eab30db80a9d65899e2aa4c3df287d7e36..60df47cba9a1ed7fe506db88f7589856078a60cf 100644
--- a/src/Document/VivyDocument.cc
+++ b/src/Document/VivyDocument.cc
@@ -11,8 +11,8 @@ VivyDocument::VivyDocument(const QString &name)
     qDebug() << "CONSTRUCTOR: VivyDocument(" << name << ")";
 }
 
-auto
-VivyDocument::loadSubDocument(const QString &name) noexcept -> bool
+bool
+VivyDocument::loadSubDocument(const QString &name) noexcept
 {
     QFileInfo file(name);
     SubDocument type;
@@ -39,8 +39,8 @@ VivyDocument::loadSubDocument(const QString &name) noexcept -> bool
     return false;
 }
 
-auto
-VivyDocument::loadSubDocument(const QString &name, VivyDocument::SubDocument asType) noexcept -> bool
+bool
+VivyDocument::loadSubDocument(const QString &name, VivyDocument::SubDocument asType) noexcept
 {
     QFileInfo file(name);
     SubDocument type;
@@ -68,8 +68,8 @@ VivyDocument::loadSubDocument(const QString &name, VivyDocument::SubDocument asT
     return true;
 }
 
-auto
-VivyDocument::detectDocumentType(const QFileInfo &file, SubDocument *type) -> bool
+bool
+VivyDocument::detectDocumentType(const QFileInfo &file, SubDocument *type)
 {
     Vivy::Utils::DocumentType docType;
     bool rc = Vivy::Utils::detectDocumentType(file, &docType);
@@ -91,8 +91,8 @@ VivyDocument::detectDocumentType(const QFileInfo &file, SubDocument *type) -> bo
     return rc;
 }
 
-auto
-VivyDocument::rename(const QString &name) noexcept -> bool
+bool
+VivyDocument::rename(const QString &name) noexcept
 {
     /* Compute new paths */
     const QString newNameWithExtension = name.right(filePrefix.size()) == filePrefix ? name : name + "." + filePrefix;
@@ -118,26 +118,26 @@ VivyDocument::rename(const QString &name) noexcept -> bool
     return false;
 }
 
-auto
-VivyDocument::getAudioSubDocument() const noexcept -> AudioDocument *
+AudioDocument *
+VivyDocument::getAudioSubDocument() const noexcept
 {
     return audioDocument.get();
 }
 
-auto
-VivyDocument::getVideoSubDocument() const noexcept -> VideoDocument *
+VideoDocument *
+VivyDocument::getVideoSubDocument() const noexcept
 {
     return videoDocument.get();
 }
 
-auto
-VivyDocument::getAssSubDocument() const noexcept -> AssDocument *
+AssDocument *
+VivyDocument::getAssSubDocument() const noexcept
 {
     return assDocument.get();
 }
 
-auto
-VivyDocument::fromPath(const QString &path) noexcept -> VivyDocument *
+VivyDocument *
+VivyDocument::fromPath(const QString &path) noexcept
 {
     QFileInfo file(path);
     VivyDocument *ret = new VivyDocument(file.baseName());
@@ -149,20 +149,20 @@ VivyDocument::fromPath(const QString &path) noexcept -> VivyDocument *
     return ret;
 }
 
-auto
-VivyDocument::newEmpty([[maybe_unused]] const QString &name) noexcept -> VivyDocument *
+VivyDocument *
+VivyDocument::newEmpty([[maybe_unused]] const QString &name) noexcept
 {
     return nullptr;
 }
 
-auto
-VivyDocument::getName() const noexcept -> QString
+QString
+VivyDocument::getName() const noexcept
 {
     return documentName;
 }
 
-auto
-VivyDocument::getDocumentCapabilities() const noexcept -> int
+int
+VivyDocument::getDocumentCapabilities() const noexcept
 {
     return documentType;
 }
diff --git a/src/Main.cc b/src/Main.cc
index a3a0f3814ad3e3d5af24f1a0204c3abdbd684dce..f38c9179a6f428972484bb6315f968a6417e8285 100644
--- a/src/Main.cc
+++ b/src/Main.cc
@@ -1,8 +1,8 @@
 #include "MainWindow.hh"
 #include "VivyApplication.hh"
 
-auto
-main(int argc, char **argv) noexcept -> int
+int
+main(int argc, char **argv) noexcept
 {
     return VivyApplication(argc, argv).exec();
 }
diff --git a/src/TimingScene.cc b/src/TimingScene.cc
index 6ca373a0ff140a36c705b89db875d51265465851..bbea8b69801b984e3e2e97206b95f06688dfdb16 100644
--- a/src/TimingScene.cc
+++ b/src/TimingScene.cc
@@ -1,4 +1,5 @@
 #include "TimingScene.hh"
+#include "Utils.hh"
 
 #include <QGraphicsLineItem>
 #include <QGraphicsPixmapItem>
@@ -18,15 +19,14 @@ TimingScene::TimingScene(QWidget *parent) noexcept
 }
 
 TimingScene::TimingScene(QImage img, quint64 soundLength, QWidget *parent) noexcept
-    : QGraphicsScene(parent),
-    img(img),
-    soundLength(soundLength)
+    : QGraphicsScene(parent)
+    , img(img)
+    , soundLength(soundLength)
 {
     QPixmap pixmap(QPixmap::fromImage(img));
     backgroundImg = addPixmap(pixmap);
 }
 
-
 void
 TimingScene::mousePressEvent(QGraphicsSceneMouseEvent *event) noexcept
 {
@@ -35,29 +35,46 @@ TimingScene::mousePressEvent(QGraphicsSceneMouseEvent *event) noexcept
 
     QGraphicsItem *got;
     if ((got = itemAt(pos, QTransform())) == nullptr || got == backgroundImg) {
-        if (auto p = currentLine.lock()){
+        if (auto p = currentLine.lock()) {
             quint64 time = timeFromPos(pos.x());
-            switch (timingMode){
-                case TimingMode::Line:
-                    switch (event->button()){
-                        case Qt::LeftButton:
-                            p->setStart(time);
-                            break;
-
-                        case Qt::RightButton:
-                            p->setEnd(time);
-                            break;
-
-                        default:
-                            break;
-                    }
+            switch (timingMode) {
+            case TimingMode::Line:
+                switch (event->button()) {
+                case Qt::LeftButton:
+                    p->setStart(time);
+                    break;
+
+                case Qt::RightButton:
+                    p->setEnd(time);
                     break;
 
                 default:
                     break;
+                }
+                break;
+
+            default:
+                break;
             }
         }
     }
 
     QGraphicsScene::mousePressEvent(event);
 }
+
+quint64
+TimingScene::timeFromPos(qreal x)
+{
+    if (const qreal w = width(); x <= 0 || w <= 0) {
+        qCritical() << "Try avoid possible divide by zero in the time from position";
+        return 0;
+    } else {
+        return static_cast<quint64>(x) * soundLength / static_cast<quint64>(w);
+    }
+}
+
+QGraphicsPixmapItem *
+TimingScene::bg() noexcept
+{
+    return backgroundImg;
+};
diff --git a/src/TimingScene.hh b/src/TimingScene.hh
index 144a76cb466c0abb32e7b54ae41e1b94f39294be..b14b33eb5ef39c5fe3d5c64c717e5c35e37693a2 100644
--- a/src/TimingScene.hh
+++ b/src/TimingScene.hh
@@ -17,11 +17,7 @@ class TimingScene final : public QGraphicsScene {
     Q_OBJECT
 
 public:
-    enum class TimingMode {
-        Line = 0x0,
-        Syl = 0x1,
-        Char = 0x2
-    };
+    enum class TimingMode { Line = 0x0, Syl = 0x1, Char = 0x2 };
     Q_DECLARE_FLAGS(TimingModes, TimingMode)
 
 public:
@@ -29,26 +25,23 @@ public:
     static inline constexpr QColor endColour   = QColor(0, 127, 0);
 
     explicit TimingScene(QWidget *parent = nullptr) noexcept;
-    TimingScene(QImage, quint64, QWidget* = nullptr) noexcept;
+    explicit TimingScene(QImage, quint64, QWidget * = nullptr) noexcept;
     ~TimingScene() noexcept = default;
 
 private:
-    QGraphicsPixmapItem *backgroundImg = nullptr;
+    QGraphicsPixmapItem *backgroundImg{ nullptr };
     QImage img;
-    quint64 soundLength;
-    std::weak_ptr<Line> currentLine;
-    TimingMode timingMode;
+    quint64 soundLength{ 0 };
+    std::weak_ptr<Line> currentLine{};
+    TimingMode timingMode{ TimingMode::Line };
 
 public:
-    inline QGraphicsPixmapItem *bg()
-    {
-        return backgroundImg;
-    };
+    QGraphicsPixmapItem *bg() noexcept;
 
     void mousePressEvent(QGraphicsSceneMouseEvent *event) noexcept override;
 
 private:
-    inline quint64 timeFromPos(qreal x) { return x * soundLength / width(); };
+    quint64 timeFromPos(qreal x);
 
 public slots:
 };
diff --git a/src/TimingView.cc b/src/TimingView.cc
index 86a067de03140a3aca9903aa2f9be7c2aed2e73e..b17b6eda6569b51be6fb2919c3daafe8260665d5 100644
--- a/src/TimingView.cc
+++ b/src/TimingView.cc
@@ -18,7 +18,7 @@
 TimingView::TimingView(QImage img, quint64 soundLength, QWidget *parent) noexcept
     : QGraphicsView(parent)
 {
-    scene = new TimingScene(img, soundLength);
+    scene = new TimingScene(img, soundLength, this);
     setFixedHeight(img.height());
     setMaximumHeight(img.height() + horizontalScrollBar()->height() - TO_ADD_TO_IMAGE_HEIGHT);
     setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
diff --git a/src/TimingView.hh b/src/TimingView.hh
index 675ac0d2c4a597f7ea412b4cc0bf2f65a1370578..6aa50a6357ffdb73bbd607650b98aef02ebe904a 100644
--- a/src/TimingView.hh
+++ b/src/TimingView.hh
@@ -22,13 +22,14 @@ public:
     static inline constexpr QColor startColour = QColor(127, 0, 127);
     static inline constexpr QColor endColour   = QColor(0, 127, 0);
 
-    explicit TimingView(QImage, quint64, QWidget* = nullptr) noexcept;
+    explicit TimingView(QImage, quint64, QWidget * = nullptr) noexcept;
     ~TimingView() noexcept = default;
 
 private:
-    TimingScene *scene;
+    TimingScene *scene{ nullptr };
 
 public slots:
+    void mousePressEvent(QMouseEvent *event) noexcept;
 };
 
 #endif // VIVY_TIMING_VIEW_H
diff --git a/src/VivyApplication.hh b/src/VivyApplication.hh
index 35cdce2b8e95abf99dbecb929d052dd9c67b672c..077c58718465adb00a7db6055a703fcb597c801c 100644
--- a/src/VivyApplication.hh
+++ b/src/VivyApplication.hh
@@ -15,7 +15,7 @@ class VivyApplication : public QApplication {
     Q_OBJECT
 
 private:
-    std::unique_ptr<MainWindow> mainWindow;
+    std::unique_ptr<MainWindow> mainWindow{ nullptr };
     const QPixmap applicationIcon;
 
     static inline VivyApplication *singletonInstance = nullptr;
diff --git a/utils/scripts/style.bash b/utils/scripts/style.bash
index 9522361d59be8a9cc6957c384bc33261ca21afb8..d9815a3f7460e03ccd95b7a47e22b587e4ade37c 100755
--- a/utils/scripts/style.bash
+++ b/utils/scripts/style.bash
@@ -2,4 +2,4 @@
 set -e
 _ROOT="$(git rev-parse --show-toplevel)"
 cd "$_ROOT"
-find ./src \( -name '*.cpp' -o -name '*.cc' -o -name '*.c' -o -name '*.h' -o -name '*.hpp' \) -exec clang-format -i {} \;
+find ./src \( -name '*.cpp' -o -name '*.cc' -o -name '*.c' -o -name '*.h' -o -name '*.hpp' -o -name '*.hh' \) -exec clang-format -i {} \;