From 7dd4092436b5eaadce6fb07163cd591115e33d2b Mon Sep 17 00:00:00 2001 From: SeeLook <945374+SeeLook@users.noreply.github.com> Date: Mon, 13 Nov 2017 11:15:52 +0100 Subject: [PATCH] Initialize sound from C++, after root QML file is loaded, connect to it scordature check, single note mode and etc. to improve launch time --- src/libs/sound/tsound.cpp | 4 ++-- src/main.cpp | 1 + src/qml/MainScore.qml | 13 +++++++------ src/qml/MainWindow.qml | 1 - 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/libs/sound/tsound.cpp b/src/libs/sound/tsound.cpp index 94c04ab63..4b51589ae 100755 --- a/src/libs/sound/tsound.cpp +++ b/src/libs/sound/tsound.cpp @@ -76,7 +76,7 @@ Tsound::~Tsound() //################################################################################################# void Tsound::init() { - QTimer::singleShot(1000, [=]{ + QTimer::singleShot(500, [=]{ #if !defined (Q_OS_ANDROID) && (defined (Q_OS_LINUX) || defined (Q_OS_WIN)) TrtAudio::initJACKorASIO(GLOB->A->JACKorASIO); #endif @@ -315,7 +315,7 @@ bool Tsound::listening() const { bool Tsound::playing() const { - return player->isPlaying(); + return player ? player->isPlaying() : false; } diff --git a/src/main.cpp b/src/main.cpp index 5f8b0d6e7..78d797f80 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -166,6 +166,7 @@ int main(int argc, char *argv[]) o << "\033[01;35m[Nootka launch time: " << startElapsed.nsecsElapsed() / 1000000.0 << " [ms]\033[01;00m\n"; #endif } + sound.init(); firstTime = false; exitCode = a->exec(); delete e; diff --git a/src/qml/MainScore.qml b/src/qml/MainScore.qml index 7643408cb..561859c47 100644 --- a/src/qml/MainScore.qml +++ b/src/qml/MainScore.qml @@ -41,8 +41,6 @@ Score { scoreObj.nameColor: GLOB.nameColor scoreObj.nameStyle: GLOB.noteNameStyle scoreObj.enableDoubleAccidentals: GLOB.enableDoubleAccids - scoreObj.allowAdding: !GLOB.singleNoteMode - Timer { id: zoomTimer; interval: 500 } MouseArea { @@ -83,11 +81,14 @@ Score { // private property var scordature: null - Component.onCompleted: { - scoreObj.singleNote = GLOB.singleNoteMode - updateScord() + Connections { + target: SOUND + onInitialized: { + scoreObj.singleNote = GLOB.singleNoteMode + scoreObj.allowAdding = Qt.binding(function() { return !GLOB.singleNoteMode }) + updateScord() + } } - Connections { target: GLOB onKeyNameChanged: keyName.text = Qt.binding(keyName.getKeyNameText) diff --git a/src/qml/MainWindow.qml b/src/qml/MainWindow.qml index bc019d895..78fbda329 100644 --- a/src/qml/MainWindow.qml +++ b/src/qml/MainWindow.qml @@ -88,7 +88,6 @@ ApplicationWindow { Component.onCompleted: { Noo.mainScore = score checkSingleMode() - SOUND.init() } function checkSingleMode() { -- GitLab