This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch bugfix/osx in repository x2goclient. from b750d19 src/pulsemanager.cpp: hide Windows-only code behind #ifdefs. new bb83bbf src/pulsemanager.{cpp,h}: add debugging setter and private variable. new 7ec93db src/pulsemanager.{cpp,h}: port to new debugging feature. new 9f1c568 src/onmainwindow.cpp: port to new debugging feature of PulseManager. new 4f16343 src/pulsemanager.h: fix compile error due to mismatching function declaration for set_debug (). new 74d233e res/sound: add startup.wav sound to be played back when starting the PA daemon in debug mode. new 013f9bb src/pulsemanager.cpp: don't time out while trying to start PA or paplay. The 6 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: debian/changelog | 9 +++++ res/sound/startup.wav | Bin 0 -> 211244 bytes src/onmainwindow.cpp | 9 ++++- src/pulsemanager.cpp | 90 ++++++++++++++++++++++++++----------------------- src/pulsemanager.h | 13 ++----- 5 files changed, 68 insertions(+), 53 deletions(-) create mode 100644 res/sound/startup.wav -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch bugfix/osx in repository x2goclient. commit bb83bbf86c9000682f207377fde227acbb0e60fb Author: Mihai Moldovan <ionic@ionic.de> Date: Sat May 7 02:58:01 2016 +0200 src/pulsemanager.{cpp,h}: add debugging setter and private variable. --- debian/changelog | 1 + src/pulsemanager.cpp | 7 ++++++- src/pulsemanager.h | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 1dfded0..19de1d0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -287,6 +287,7 @@ x2goclient (4.0.5.2-0x2go1) UNRELEASED; urgency=medium - src/pulsemanager.cpp: fix compile error due to typo. - src/pulsemanager.cpp: hide Windows-only code behind #ifdefs. Otherwise we'll get compile failures on non-Windows platforms. + - src/pulsemanager.{cpp,h}: add debugging setter and private variable. [ Mike DePaulo ] * New upstream release (4.0.5.2): diff --git a/src/pulsemanager.cpp b/src/pulsemanager.cpp index 21049ca..6fe8418 100644 --- a/src/pulsemanager.cpp +++ b/src/pulsemanager.cpp @@ -43,7 +43,8 @@ PulseManager::PulseManager () : app_dir_ (QApplication::applicationDirPath ()), pulse_version_micro_ (0), pulse_version_misc_ (""), record_ (true), - playback_ (true) { + playback_ (true), + debug_ (false) { pulse_dir_ = QDir (QDir::homePath ()); pulse_dir_.mkpath (pulse_dir_.absolutePath () + pulse_X2Go_ + "/tmp"); pulse_dir_.cd (pulse_X2Go_.mid (1)); @@ -698,6 +699,10 @@ bool PulseManager::set_playback (bool playback) { return (ret); } +void PulseManager::set_debug (bool debug) { + debug_ = debug; +} + void PulseManager::restart () { if (pulse_server_ && is_server_running ()) shutdown (); diff --git a/src/pulsemanager.h b/src/pulsemanager.h index 4c82f19..1d06de0 100644 --- a/src/pulsemanager.h +++ b/src/pulsemanager.h @@ -58,6 +58,7 @@ class PulseManager: public QObject { bool set_esd_port (std::uint16_t esd_port); bool set_record (bool record); bool set_playback (bool playback); + bool set_debug (bool debug); public slots: @@ -120,6 +121,7 @@ class PulseManager: public QObject { bool record_; bool playback_; + bool debug_; }; #ifdef NDEBUG_DEFINE -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch bugfix/osx in repository x2goclient. commit 7ec93db3a3904368140bfa40cdabaef2b74eed30 Author: Mihai Moldovan <ionic@ionic.de> Date: Sat May 7 03:02:26 2016 +0200 src/pulsemanager.{cpp,h}: port to new debugging feature. --- debian/changelog | 1 + src/pulsemanager.cpp | 69 +++++++++++++++++++++----------------------------- src/pulsemanager.h | 11 +------- 3 files changed, 31 insertions(+), 50 deletions(-) diff --git a/debian/changelog b/debian/changelog index 19de1d0..6091ba7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -288,6 +288,7 @@ x2goclient (4.0.5.2-0x2go1) UNRELEASED; urgency=medium - src/pulsemanager.cpp: hide Windows-only code behind #ifdefs. Otherwise we'll get compile failures on non-Windows platforms. - src/pulsemanager.{cpp,h}: add debugging setter and private variable. + - src/pulsemanager.{cpp,h}: port to new debugging feature. [ Mike DePaulo ] * New upstream release (4.0.5.2): diff --git a/src/pulsemanager.cpp b/src/pulsemanager.cpp index 6fe8418..ed841eb 100644 --- a/src/pulsemanager.cpp +++ b/src/pulsemanager.cpp @@ -24,11 +24,6 @@ #include "pulsemanager.h" #include "x2gologdebug.h" -#ifndef DEBUG -#define DEBUG_UNDEF -#define DEBUG -#endif // defined (NDEBUG) - PulseManager::PulseManager () : app_dir_ (QApplication::applicationDirPath ()), pulse_X2Go_ ("/.x2go/pulse"), server_binary_ (QString ("")), @@ -144,10 +139,10 @@ void PulseManager::start_generic () { connect (pulse_server_, SIGNAL (finished (int)), this, SLOT (slot_on_pulse_finished (int))); -#ifdef DEBUG - // Give PA a little time to come up. - QTimer::singleShot (3000, this, SLOT (slot_play_startup_sound ())); -#endif // defined (DEBUG) + if (debug_) { + // Give PA a little time to come up. + QTimer::singleShot (3000, this, SLOT (slot_play_startup_sound ())); + } } } @@ -163,11 +158,11 @@ void PulseManager::start_osx () { + QString::number (pulse_version_minor_) + "/modules").absolutePath () << "--high-priority"; -#ifdef DEBUG - server_args_ << "--log-level=debug" - << "--verbose" - << "--log-target=file:" + pulse_dir_.absolutePath () + "/pulse.log"; -#endif // defined (DEBUG) + if (debug_) { + server_args_ << "--log-level=debug" + << "--verbose" + << "--log-target=file:" + pulse_dir_.absolutePath () + "/pulse.log"; + } if (generate_server_config () && generate_client_config ()) { cleanup_client_dir (); @@ -191,12 +186,11 @@ void PulseManager::start_win () { + "." + QString::number (pulse_version_minor_) + "/modules/").absolutePath ()); -#ifdef DEBUG - /* FIXME: need a way to request debugging. */ - server_args_ << "--log-level=debug" - << "--verbose" - << "--log-target=file:" + pulse_dir_.absolutePath () + "\\pulse.log"; -#endif // defined (DEBUG) + if (debug_) { + server_args_ << "--log-level=debug" + << "--verbose" + << "--log-target=file:" + pulse_dir_.absolutePath () + "\\pulse.log"; + } /* * Fix for x2goclient bug #526. @@ -550,27 +544,27 @@ void PulseManager::create_client_dir () { } void PulseManager::slot_play_startup_sound () { -#ifdef DEBUG - QProcess play_file (0); - QString play_file_binary (app_dir_); - QString play_file_file (play_file_binary); + if (!debug_) { + QProcess play_file (0); + QString play_file_binary (app_dir_); + QString play_file_file (play_file_binary); #ifdef Q_OS_DARWIN - play_file_binary += "/../exe/paplay"; - play_file_file += "/../Resources/startup.wav"; + play_file_binary += "/../exe/paplay"; + play_file_file += "/../Resources/startup.wav"; #elif defined (Q_OS_WIN) - playFileBinary += "/pulse/paplay.exe"; - playFileFile += "/startup.wav"; + playFileBinary += "/pulse/paplay.exe"; + playFileFile += "/startup.wav"; #endif // defined (Q_OS_DARWIN) - QStringList args (play_file_file); - play_file.setWorkingDirectory (server_working_dir_); - play_file.setProcessEnvironment (env_); - play_file.start (play_file_binary, args); + QStringList args (play_file_file); + play_file.setWorkingDirectory (server_working_dir_); + play_file.setProcessEnvironment (env_); + play_file.start (play_file_binary, args); - if (play_file.waitForStarted ()) - play_file.waitForFinished (); -#endif // defined (DEBUG) + if (play_file.waitForStarted ()) + play_file.waitForFinished (); + } } void PulseManager::on_pulse_finished (int exit_code) { @@ -714,8 +708,3 @@ void PulseManager::restart () { QProcess::ProcessState PulseManager::state () { return (state_); } - -#ifdef DEBUG_UNDEF -#undef DEBUG -#undef DEBUG_UNDEF -#endif // defined (DEBUG_UNDEF) diff --git a/src/pulsemanager.h b/src/pulsemanager.h index 1d06de0..9d6cec5 100644 --- a/src/pulsemanager.h +++ b/src/pulsemanager.h @@ -20,11 +20,6 @@ #ifndef PULSEMANAGER_H #define PULSEMANAGER_H -#ifdef NDEBUG -#define NDEBUG_DEFINE -#undef NDEBUG -#endif // defined (NDEBUG) - #include <iostream> #include <QDir> #include <QTcpSocket> @@ -121,12 +116,8 @@ class PulseManager: public QObject { bool record_; bool playback_; + bool debug_; }; -#ifdef NDEBUG_DEFINE -#define NDEBUG -#undef NDEBUG_DEFINE -#endif // defined (NDEBUG_DEFINE) - #endif // PULSEMANAGER_H -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch bugfix/osx in repository x2goclient. commit 9f1c5688972c0d5bde2302b1389ee9e827236901 Author: Mihai Moldovan <ionic@ionic.de> Date: Sat May 7 03:10:34 2016 +0200 src/onmainwindow.cpp: port to new debugging feature of PulseManager. --- debian/changelog | 1 + src/onmainwindow.cpp | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 6091ba7..fbeb712 100644 --- a/debian/changelog +++ b/debian/changelog @@ -289,6 +289,7 @@ x2goclient (4.0.5.2-0x2go1) UNRELEASED; urgency=medium we'll get compile failures on non-Windows platforms. - src/pulsemanager.{cpp,h}: add debugging setter and private variable. - src/pulsemanager.{cpp,h}: port to new debugging feature. + - src/onmainwindow.cpp: port to new debugging feature of PulseManager. [ Mike DePaulo ] * New upstream release (4.0.5.2): diff --git a/src/onmainwindow.cpp b/src/onmainwindow.cpp index b22361b..084184d 100644 --- a/src/onmainwindow.cpp +++ b/src/onmainwindow.cpp @@ -2128,7 +2128,12 @@ void ONMainWindow::slotConfig() (QVariant) false).toBool (); if (oldDisableInput != newDisableInput) { - pulseManager->set_record (!newDisableInput); + bool ret = pulseManager->set_record (!newDisableInput); + + if (!ret) { + x2goDebug << "Failed to change recording status of PulseManager. PulseAudio not started?" << endl; + } + pulseManager->restart (); } #endif /* defined (Q_OS_WIN) || defined (Q_OS_DARWIN) */ @@ -6495,6 +6500,8 @@ void ONMainWindow::pulseManagerWrapper () { pulseManagerThread = new QThread (0); pulseManager = new PulseManager (); + pulseManager->set_debug (debugging); + pulseManager->moveToThread (pulseManagerThread); /* -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch bugfix/osx in repository x2goclient. commit 4f163438693dee905061d8a09031bd3d6d04dcab Author: Mihai Moldovan <ionic@ionic.de> Date: Sat May 7 03:22:13 2016 +0200 src/pulsemanager.h: fix compile error due to mismatching function declaration for set_debug (). --- debian/changelog | 2 ++ src/pulsemanager.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index fbeb712..30701f9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -290,6 +290,8 @@ x2goclient (4.0.5.2-0x2go1) UNRELEASED; urgency=medium - src/pulsemanager.{cpp,h}: add debugging setter and private variable. - src/pulsemanager.{cpp,h}: port to new debugging feature. - src/onmainwindow.cpp: port to new debugging feature of PulseManager. + - src/pulsemanager.h: fix compile error due to mismatching function + declaration for set_debug (). [ Mike DePaulo ] * New upstream release (4.0.5.2): diff --git a/src/pulsemanager.h b/src/pulsemanager.h index 9d6cec5..b3b7421 100644 --- a/src/pulsemanager.h +++ b/src/pulsemanager.h @@ -53,7 +53,7 @@ class PulseManager: public QObject { bool set_esd_port (std::uint16_t esd_port); bool set_record (bool record); bool set_playback (bool playback); - bool set_debug (bool debug); + void set_debug (bool debug); public slots: -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch bugfix/osx in repository x2goclient. commit 74d233ed4da23e3b69a889a05d24ec907dc94295 Author: Mihai Moldovan <ionic@ionic.de> Date: Sat May 7 22:04:25 2016 +0200 res/sound: add startup.wav sound to be played back when starting the PA daemon in debug mode. --- debian/changelog | 2 ++ res/sound/startup.wav | Bin 0 -> 211244 bytes 2 files changed, 2 insertions(+) diff --git a/debian/changelog b/debian/changelog index 30701f9..dc08dff 100644 --- a/debian/changelog +++ b/debian/changelog @@ -292,6 +292,8 @@ x2goclient (4.0.5.2-0x2go1) UNRELEASED; urgency=medium - src/onmainwindow.cpp: port to new debugging feature of PulseManager. - src/pulsemanager.h: fix compile error due to mismatching function declaration for set_debug (). + - res/sound: add startup.wav sound to be played back when starting the PA + daemon in debug mode. [ Mike DePaulo ] * New upstream release (4.0.5.2): diff --git a/res/sound/startup.wav b/res/sound/startup.wav new file mode 100644 index 0000000..f6b4ff2 Binary files /dev/null and b/res/sound/startup.wav differ -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch bugfix/osx in repository x2goclient. commit 013f9bbf4bb2f0f7e6d8affdb20a2df194ed00ec Author: Mihai Moldovan <ionic@ionic.de> Date: Sat May 7 22:28:38 2016 +0200 src/pulsemanager.cpp: don't time out while trying to start PA or paplay. "Handle" errors by printing out debug messages. --- debian/changelog | 2 ++ src/pulsemanager.cpp | 16 ++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index dc08dff..b1d8515 100644 --- a/debian/changelog +++ b/debian/changelog @@ -294,6 +294,8 @@ x2goclient (4.0.5.2-0x2go1) UNRELEASED; urgency=medium declaration for set_debug (). - res/sound: add startup.wav sound to be played back when starting the PA daemon in debug mode. + - src/pulsemanager.cpp: don't time out while trying to start PA or paplay. + "Handle" errors by printing out debug messages. [ Mike DePaulo ] * New upstream release (4.0.5.2): diff --git a/src/pulsemanager.cpp b/src/pulsemanager.cpp index ed841eb..ee6c63c 100644 --- a/src/pulsemanager.cpp +++ b/src/pulsemanager.cpp @@ -132,7 +132,12 @@ void PulseManager::start_generic () { pulse_server_->setWorkingDirectory (server_working_dir_); pulse_server_->start (server_binary_, server_args_); - if (pulse_server_->waitForStarted ()) { + + /* + * We may wait here, because PulseManager runs in a separate thread. + * Otherwise, we'd better use signals and slots to not block the main thread. + */ + if (pulse_server_->waitForStarted (-1)) { x2goDebug << "pulse started with arguments" << server_args_ << "; waiting for finish..."; state_ = QProcess::Running; @@ -144,6 +149,9 @@ void PulseManager::start_generic () { QTimer::singleShot (3000, this, SLOT (slot_play_startup_sound ())); } } + else { + x2goErrorf (27) << "PulseAudio failed to start! Sound support will not be available."; + } } void PulseManager::start_osx () { @@ -562,8 +570,12 @@ void PulseManager::slot_play_startup_sound () { play_file.setProcessEnvironment (env_); play_file.start (play_file_binary, args); - if (play_file.waitForStarted ()) + if (play_file.waitForStarted (-1)) { play_file.waitForFinished (); + } + else { + x2goErrorf (26) << "Unable to play startup sound! Something may be wrong."; + } } } -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git