From 2504a19360bfa012d6b2ee0eb2e8f60d089feef2 Mon Sep 17 00:00:00 2001
From: SeeLook <seelook@gmail.com>
Date: Sat, 20 Feb 2021 10:20:24 +0100
Subject: [PATCH] Add tempo option to analyze audio data with declared bpm

- also added abbreviations for command-line options
---
 src/main.cpp | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/main.cpp b/src/main.cpp
index ce297152c..5fe89e1e8 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -246,13 +246,18 @@ int main(int argc, char *argv[])
       if (argc > 1) {
         QCommandLineParser cmd;
         auto helpOpt = cmd.addHelpOption();
-        QCommandLineOption nootiniOpt(QStringLiteral("nootini"),
+        QCommandLineOption nootiniOpt(QStringList() << QStringLiteral("nootini") << QStringLiteral("n"),
                                       QStringLiteral("Launch Nootka in audio analyze mode. Nootini: (Nootka + Tartini)\n"));
         cmd.addOption(nootiniOpt);
-        QCommandLineOption audioFileOpt(QStringLiteral("audio-file"),
+        QCommandLineOption audioFileOpt(QStringList() << QStringLiteral("audio-file") << QStringLiteral("a"),
                                         QStringLiteral("Audio file to analyze. Only raw files dumped by Nootka are supported.\n"),
                                         QStringLiteral("wav or raw audio"));
         cmd.addOption(audioFileOpt);
+        QCommandLineOption tempoOpt(QStringList() << QStringLiteral("tempo") << QStringLiteral("t"),
+                                    QStringLiteral("Tempo of given audio file.\n"),
+                                    QStringLiteral("bpm"));
+        cmd.addOption(tempoOpt);
+
         /** Option below is handled internally by @p TnootkaQML. */
         cmd.addOptions({{ QStringLiteral("no-version"), QStringLiteral("Do not display app version.\n")}});
 
@@ -263,6 +268,8 @@ int main(int argc, char *argv[])
         if (cmd.isSet(nootiniOpt)) {
             qmlRegisterType<TaudioAnalyzeItem>("Nootka.Main", 1, 0, "TaudioAnalyzeItem");
             QMetaObject::invokeMethod(e->rootObjects().first(), "audioAnalyze");
+            if (cmd.isSet(tempoOpt))
+              SOUND->setTempo(cmd.value(tempoOpt).toInt());
             if (cmd.isSet(audioFileOpt))
               TaudioAnalyzeItem::processAudioFile(cmd.value(audioFileOpt));
         } else
-- 
GitLab