From 1d5a31d3a4d2763313beaf7fe671354cf770c28b Mon Sep 17 00:00:00 2001 From: pixhawk Date: Mon, 12 Apr 2010 08:01:38 +0200 Subject: [PATCH] Cleaned up directory structure, re-enabled Linux audio output --- .gitignore | 2 +- mavground.pri | 151 --------------------------------------------------- mavground.pro | 152 ---------------------------------------------------- qgroundcontrol.pri | 148 ++++++++++++++++++++++++++++++++++++++++++++++++++ qgroundcontrol.pro | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++++ src/GAudioOutput.cc | 73 +++++++++++-------------- src/GAudioOutput.h | 6 ++- 7 files changed, 336 insertions(+), 348 deletions(-) delete mode 100644 mavground.pri delete mode 100644 mavground.pro create mode 100644 qgroundcontrol.pri create mode 100644 qgroundcontrol.pro diff --git a/.gitignore b/.gitignore index 7c993aa..537e1a5 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,4 @@ tmp debug release qgroundcontrol.xcodeproj/** -qgroundcontrol +qgroundcontrol T*.wav diff --git a/mavground.pri b/mavground.pri deleted file mode 100644 index 0360d42..0000000 --- a/mavground.pri +++ /dev/null @@ -1,151 +0,0 @@ -#------------------------------------------------- -# -# MAVGround - Micro Air Vehicle Groundstation -# -# Please see our website at -# -# Original Author: -# Lorenz Meier -# -# Contributing Authors (in alphabetical order): -# -# (c) 2009 PIXHAWK Team -# -# This file is part of the mav groundstation project -# MAVGround is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# MAVGround 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 General Public License for more details. -# You should have received a copy of the GNU General Public License -# along with MAVGround. If not, see . -# -#------------------------------------------------- - -QT += network opengl svg xml phonon - -TEMPLATE = app -TARGET = qgroundcontrol - -BASEDIR = . -BUILDDIR = build -LANGUAGE = C++ - -CONFIG += debug_and_release console - -OBJECTS_DIR = $$BUILDDIR/obj -MOC_DIR = $$BUILDDIR/moc -UI_HEADERS_DIR = src/ui/generated - - -# Add external libraries -INCLUDEPATH += $$BASEDIR/lib/flite/include \ - $$BASEDIR/lib/flite/lang - -#$$BASEDIR/lib/qextserialport/include -# $$BASEDIR/lib/openjaus/libjaus/include \ -# $$BASEDIR/lib/openjaus/libopenJaus/include - -message(Qt version $$[QT_VERSION]) - - - -# MAC OS X -macx { - - HARDWARE_PLATFORM = $$system(uname -a) - contains( HARDWARE_PLATFORM, 9.8.0 ) { - # x86 Mac OS X Leopard 10.5 and earlier - CONFIG += x86 cocoa phonon - message(Building for Mac OS X 32bit/Leopard 10.5 and earlier) - - # Enable function-profiling with the OS X saturn tool - debug { - QMAKE_CXXFLAGS += -finstrument-functions - LIBS += -lSaturn - } - } else { - # x64 Mac OS X Snow Leopard 10.6 and later - CONFIG += x86_64 cocoa - CONFIG -= x86 phonon - message(Building for Mac OS X 64bit/Snow Leopard 10.6 and later) - } - - QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.5 - - DESTDIR = $$BASEDIR/bin/mac - INCLUDEPATH += -framework SDL \ - $$BASEDIR/../mavlink/src - - LIBS += -framework IOKit \ - -framework SDL \ - -framework CoreFoundation \ - -framework ApplicationServices \ - -lm - - ICON = $$BASEDIR/images/icons/macx.icns -} - -# GNU/Linux -linux-g++ { - - debug { - DESTDIR = $$BASEDIR - } - - release { - DESTDIR = $$BASEDIR - } - INCLUDEPATH += /usr/include - - HARDWARE_PLATFORM = $$system(uname -a) - contains( HARDWARE_PLATFORM, x86_64 ) { - # 64-bit Linux - LIBS += \ - -L$$BASEDIR/lib/flite/linux64 - message(Building for GNU/Linux 64bit/x64) - } else { - # 32-bit Linux - LIBS += \ - -L$$BASEDIR/lib/flite/linux32 - message(Building for GNU/Linux 32bit/i386) - } - LIBS += -lm \ - -lflite_cmu_us_awb \ - -lflite_cmu_us_rms \ - -lflite_cmu_us_slt \ - -lflite_usenglish \ - -lflite_cmulex \ - -lflite \ - -lSDL \ - -lSDLmain -} - - -# Windows (32bit/64bit) -win32 { - - message(Building for Windows Platform (32/64bit)) - - # Special settings for debug - #CONFIG += CONSOLE - LIBS += -L$$BASEDIR\lib\sdl\win32 \ - -lmingw32 -lSDLmain -lSDL -mwindows - - INCLUDEPATH += $$BASEDIR/lib/sdl/include - - debug { - DESTDIR = $$BASEDIR/bin - } - - release { - DESTDIR = $$BASEDIR/bin - } - -} - - - diff --git a/mavground.pro b/mavground.pro deleted file mode 100644 index 4dba7bd..0000000 --- a/mavground.pro +++ /dev/null @@ -1,152 +0,0 @@ -# Include general settings for MAVGround -include(mavground.pri) - -# Include serial port library -include(src/lib/qextserialport/qextserialport.pri) - -# Include QWT plotting library -include(src/lib/qwt/qwt.pri) - -# Include FLITE audio synthesizer library -#include(src/lib/flite/flite.pri) - -# Include QMapControl map library -include(src/lib/qmapcontrol/qmapcontrol.pri) -#include(lib/QMapControl/QMapControl.pri) - -DEPENDPATH += . \ - lib/QMapControl \ - lib/QMapControl/src -INCLUDEPATH += . \ - lib/QMapControl \ - ../mavlink/src \ - MAVLink/src \ - mavlink/src - -# Input -FORMS += src/ui/MainWindow.ui \ - src/ui/CommSettings.ui \ - src/ui/SerialSettings.ui \ - src/ui/UASControl.ui \ - src/ui/UASList.ui \ - src/ui/UASInfo.ui \ - src/ui/LineChart.ui \ - src/ui/UASView.ui \ - src/ui/ParameterInterface.ui \ - src/ui/WaypointList.ui \ - src/ui/WaypointView.ui \ - src/ui/ObjectDetectionView.ui \ - src/ui/JoystickWidget.ui \ - src/ui/DebugConsole.ui \ - src/ui/MapWidget.ui \ - src/ui/XMLCommProtocolWidget.ui \ - src/ui/HDDisplay.ui \ - src/ui/MAVLinkSettingsWidget.ui \ - src/ui/AudioOutputWidget.ui -INCLUDEPATH += src \ - src/ui \ - src/ui/linechart \ - src/ui/uas \ - src/ui/map \ - src/uas \ - src/comm \ - include/ui \ - src/input \ - src/lib/qmapcontrol \ - src/ui/mavlink -HEADERS += src/MG.h \ - src/Core.h \ - src/uas/UASInterface.h \ - src/uas/UAS.h \ - src/uas/UASManager.h \ - src/comm/LinkManager.h \ - src/comm/LinkInterface.h \ - src/comm/SerialLinkInterface.h \ - src/comm/SerialLink.h \ - src/comm/SerialSimulationLink.h \ - src/comm/ProtocolInterface.h \ - src/comm/MAVLinkProtocol.h \ - src/comm/AS4Protocol.h \ - src/ui/CommConfigurationWindow.h \ - src/ui/SerialConfigurationWindow.h \ - src/ui/MainWindow.h \ - src/ui/uas/UASControlWidget.h \ - src/ui/uas/UASListWidget.h \ - src/ui/uas/UASInfoWidget.h \ - src/ui/HUD.h \ - src/ui/linechart/LinechartWidget.h \ - src/ui/linechart/LinechartContainer.h \ - src/ui/linechart/LinechartPlot.h \ - src/ui/linechart/Scrollbar.h \ - src/ui/linechart/ScrollZoomer.h \ - src/configuration.h \ - src/ui/uas/UASView.h \ - src/ui/CameraView.h \ - src/comm/MAVLinkSimulationLink.h \ - src/comm/UDPLink.h \ - src/ui/ParameterInterface.h \ - src/ui/WaypointList.h \ - src/Waypoint.h \ - src/ui/WaypointView.h \ - src/ui/ObjectDetectionView.h \ - src/input/JoystickInput.h \ - src/ui/JoystickWidget.h \ - src/ui/PFD.h \ - src/ui/GaugePanel.h \ - src/ui/DebugConsole.h \ - src/ui/MapWidget.h \ - src/ui/XMLCommProtocolWidget.h \ - src/ui/mavlink/DomItem.h \ - src/ui/mavlink/DomModel.h \ - src/comm/MAVLinkXMLParser.h \ - src/ui/HDDisplay.h \ - src/ui/MAVLinkSettingsWidget.h \ - src/ui/AudioOutputWidget.h \ - src/GAudioOutput.h \ - src/LogCompressor.h -SOURCES += src/main.cc \ - src/Core.cc \ - src/uas/UASManager.cc \ - src/uas/UAS.cc \ - src/comm/LinkManager.cc \ - src/comm/SerialLink.cc \ - src/comm/SerialSimulationLink.cc \ - src/comm/MAVLinkProtocol.cc \ - src/comm/AS4Protocol.cc \ - src/ui/CommConfigurationWindow.cc \ - src/ui/SerialConfigurationWindow.cc \ - src/ui/MainWindow.cc \ - src/ui/uas/UASControlWidget.cc \ - src/ui/uas/UASListWidget.cc \ - src/ui/uas/UASInfoWidget.cc \ - src/ui/HUD.cc \ - src/ui/linechart/LinechartWidget.cc \ - src/ui/linechart/LinechartContainer.cc \ - src/ui/linechart/LinechartPlot.cc \ - src/ui/linechart/Scrollbar.cc \ - src/ui/linechart/ScrollZoomer.cc \ - src/ui/uas/UASView.cc \ - src/ui/CameraView.cc \ - src/comm/MAVLinkSimulationLink.cc \ - src/comm/UDPLink.cc \ - src/ui/ParameterInterface.cc \ - src/ui/WaypointList.cc \ - src/Waypoint.cc \ - src/ui/WaypointView.cc \ - src/ui/ObjectDetectionView.cc \ - src/input/JoystickInput.cc \ - src/ui/JoystickWidget.cc \ - src/ui/PFD.cc \ - src/ui/GaugePanel.cc \ - src/ui/DebugConsole.cc \ - src/ui/MapWidget.cc \ - src/ui/XMLCommProtocolWidget.cc \ - src/ui/mavlink/DomItem.cc \ - src/ui/mavlink/DomModel.cc \ - src/comm/MAVLinkXMLParser.cc \ - src/ui/HDDisplay.cc \ - src/ui/MAVLinkSettingsWidget.cc \ - src/ui/AudioOutputWidget.cc \ - src/GAudioOutput.cc \ - src/LogCompressor.cc -RESOURCES = mavground.qrc diff --git a/qgroundcontrol.pri b/qgroundcontrol.pri new file mode 100644 index 0000000..616eccd --- /dev/null +++ b/qgroundcontrol.pri @@ -0,0 +1,148 @@ +#------------------------------------------------- +# +# MAVGround - Micro Air Vehicle Groundstation +# +# Please see our website at +# +# Original Author: +# Lorenz Meier +# +# Contributing Authors (in alphabetical order): +# +# (c) 2009 PIXHAWK Team +# +# This file is part of the mav groundstation project +# MAVGround is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# MAVGround 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 General Public License for more details. +# You should have received a copy of the GNU General Public License +# along with MAVGround. If not, see . +# +#------------------------------------------------- + +QT += network opengl svg xml phonon + +TEMPLATE = app +TARGET = qgroundcontrol + +BASEDIR = . +BUILDDIR = build +LANGUAGE = C++ + +CONFIG += debug_and_release console + +OBJECTS_DIR = $$BUILDDIR/obj +MOC_DIR = $$BUILDDIR/moc +UI_HEADERS_DIR = src/ui/generated + +#$$BASEDIR/lib/qextserialport/include +# $$BASEDIR/lib/openjaus/libjaus/include \ +# $$BASEDIR/lib/openjaus/libopenJaus/include + +message(Qt version $$[QT_VERSION]) + + + +# MAC OS X +macx { + + HARDWARE_PLATFORM = $$system(uname -a) + contains( HARDWARE_PLATFORM, 9.8.0 ) { + # x86 Mac OS X Leopard 10.5 and earlier + CONFIG += x86 cocoa phonon + message(Building for Mac OS X 32bit/Leopard 10.5 and earlier) + + # Enable function-profiling with the OS X saturn tool + debug { + QMAKE_CXXFLAGS += -finstrument-functions + LIBS += -lSaturn + } + } else { + # x64 Mac OS X Snow Leopard 10.6 and later + CONFIG += x86_64 cocoa + CONFIG -= x86 phonon + message(Building for Mac OS X 64bit/Snow Leopard 10.6 and later) + } + + QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.5 + + DESTDIR = $$BASEDIR/bin/mac + INCLUDEPATH += -framework SDL \ + $$BASEDIR/../mavlink/src + + LIBS += -framework IOKit \ + -framework SDL \ + -framework CoreFoundation \ + -framework ApplicationServices \ + -lm + + ICON = $$BASEDIR/images/icons/macx.icns +} + +# GNU/Linux +linux-g++ { + + debug { + DESTDIR = $$BASEDIR + } + + release { + DESTDIR = $$BASEDIR + } + INCLUDEPATH += /usr/include \ + $$BASEDIR/lib/flite/include \ + $$BASEDIR/lib/flite/lang + + + HARDWARE_PLATFORM = $$system(uname -a) + contains( HARDWARE_PLATFORM, x86_64 ) { + # 64-bit Linux + LIBS += \ + -L$$BASEDIR/lib/flite/linux64 + message(Building for GNU/Linux 64bit/x64) + } else { + # 32-bit Linux + LIBS += \ + -L$$BASEDIR/lib/flite/linux32 + message(Building for GNU/Linux 32bit/i386) + } + LIBS += -lm \ + -lflite_cmu_us_rms \ + -lflite_cmu_us_slt \ + -lflite_usenglish \ + -lflite_cmulex \ + -lflite \ + -lSDL \ + -lSDLmain +} + + +# Windows (32bit/64bit) +win32 { + + message(Building for Windows Platform (32/64bit)) + + # Special settings for debug + #CONFIG += CONSOLE + LIBS += -L$$BASEDIR\lib\sdl\win32 \ + -lmingw32 -lSDLmain -lSDL -mwindows + + INCLUDEPATH += $$BASEDIR/lib/sdl/include + + debug { + DESTDIR = $$BASEDIR/bin + } + + release { + DESTDIR = $$BASEDIR/bin + } + +} + + + diff --git a/qgroundcontrol.pro b/qgroundcontrol.pro new file mode 100644 index 0000000..4dba7bd --- /dev/null +++ b/qgroundcontrol.pro @@ -0,0 +1,152 @@ +# Include general settings for MAVGround +include(mavground.pri) + +# Include serial port library +include(src/lib/qextserialport/qextserialport.pri) + +# Include QWT plotting library +include(src/lib/qwt/qwt.pri) + +# Include FLITE audio synthesizer library +#include(src/lib/flite/flite.pri) + +# Include QMapControl map library +include(src/lib/qmapcontrol/qmapcontrol.pri) +#include(lib/QMapControl/QMapControl.pri) + +DEPENDPATH += . \ + lib/QMapControl \ + lib/QMapControl/src +INCLUDEPATH += . \ + lib/QMapControl \ + ../mavlink/src \ + MAVLink/src \ + mavlink/src + +# Input +FORMS += src/ui/MainWindow.ui \ + src/ui/CommSettings.ui \ + src/ui/SerialSettings.ui \ + src/ui/UASControl.ui \ + src/ui/UASList.ui \ + src/ui/UASInfo.ui \ + src/ui/LineChart.ui \ + src/ui/UASView.ui \ + src/ui/ParameterInterface.ui \ + src/ui/WaypointList.ui \ + src/ui/WaypointView.ui \ + src/ui/ObjectDetectionView.ui \ + src/ui/JoystickWidget.ui \ + src/ui/DebugConsole.ui \ + src/ui/MapWidget.ui \ + src/ui/XMLCommProtocolWidget.ui \ + src/ui/HDDisplay.ui \ + src/ui/MAVLinkSettingsWidget.ui \ + src/ui/AudioOutputWidget.ui +INCLUDEPATH += src \ + src/ui \ + src/ui/linechart \ + src/ui/uas \ + src/ui/map \ + src/uas \ + src/comm \ + include/ui \ + src/input \ + src/lib/qmapcontrol \ + src/ui/mavlink +HEADERS += src/MG.h \ + src/Core.h \ + src/uas/UASInterface.h \ + src/uas/UAS.h \ + src/uas/UASManager.h \ + src/comm/LinkManager.h \ + src/comm/LinkInterface.h \ + src/comm/SerialLinkInterface.h \ + src/comm/SerialLink.h \ + src/comm/SerialSimulationLink.h \ + src/comm/ProtocolInterface.h \ + src/comm/MAVLinkProtocol.h \ + src/comm/AS4Protocol.h \ + src/ui/CommConfigurationWindow.h \ + src/ui/SerialConfigurationWindow.h \ + src/ui/MainWindow.h \ + src/ui/uas/UASControlWidget.h \ + src/ui/uas/UASListWidget.h \ + src/ui/uas/UASInfoWidget.h \ + src/ui/HUD.h \ + src/ui/linechart/LinechartWidget.h \ + src/ui/linechart/LinechartContainer.h \ + src/ui/linechart/LinechartPlot.h \ + src/ui/linechart/Scrollbar.h \ + src/ui/linechart/ScrollZoomer.h \ + src/configuration.h \ + src/ui/uas/UASView.h \ + src/ui/CameraView.h \ + src/comm/MAVLinkSimulationLink.h \ + src/comm/UDPLink.h \ + src/ui/ParameterInterface.h \ + src/ui/WaypointList.h \ + src/Waypoint.h \ + src/ui/WaypointView.h \ + src/ui/ObjectDetectionView.h \ + src/input/JoystickInput.h \ + src/ui/JoystickWidget.h \ + src/ui/PFD.h \ + src/ui/GaugePanel.h \ + src/ui/DebugConsole.h \ + src/ui/MapWidget.h \ + src/ui/XMLCommProtocolWidget.h \ + src/ui/mavlink/DomItem.h \ + src/ui/mavlink/DomModel.h \ + src/comm/MAVLinkXMLParser.h \ + src/ui/HDDisplay.h \ + src/ui/MAVLinkSettingsWidget.h \ + src/ui/AudioOutputWidget.h \ + src/GAudioOutput.h \ + src/LogCompressor.h +SOURCES += src/main.cc \ + src/Core.cc \ + src/uas/UASManager.cc \ + src/uas/UAS.cc \ + src/comm/LinkManager.cc \ + src/comm/SerialLink.cc \ + src/comm/SerialSimulationLink.cc \ + src/comm/MAVLinkProtocol.cc \ + src/comm/AS4Protocol.cc \ + src/ui/CommConfigurationWindow.cc \ + src/ui/SerialConfigurationWindow.cc \ + src/ui/MainWindow.cc \ + src/ui/uas/UASControlWidget.cc \ + src/ui/uas/UASListWidget.cc \ + src/ui/uas/UASInfoWidget.cc \ + src/ui/HUD.cc \ + src/ui/linechart/LinechartWidget.cc \ + src/ui/linechart/LinechartContainer.cc \ + src/ui/linechart/LinechartPlot.cc \ + src/ui/linechart/Scrollbar.cc \ + src/ui/linechart/ScrollZoomer.cc \ + src/ui/uas/UASView.cc \ + src/ui/CameraView.cc \ + src/comm/MAVLinkSimulationLink.cc \ + src/comm/UDPLink.cc \ + src/ui/ParameterInterface.cc \ + src/ui/WaypointList.cc \ + src/Waypoint.cc \ + src/ui/WaypointView.cc \ + src/ui/ObjectDetectionView.cc \ + src/input/JoystickInput.cc \ + src/ui/JoystickWidget.cc \ + src/ui/PFD.cc \ + src/ui/GaugePanel.cc \ + src/ui/DebugConsole.cc \ + src/ui/MapWidget.cc \ + src/ui/XMLCommProtocolWidget.cc \ + src/ui/mavlink/DomItem.cc \ + src/ui/mavlink/DomModel.cc \ + src/comm/MAVLinkXMLParser.cc \ + src/ui/HDDisplay.cc \ + src/ui/MAVLinkSettingsWidget.cc \ + src/ui/AudioOutputWidget.cc \ + src/GAudioOutput.cc \ + src/LogCompressor.cc +RESOURCES = mavground.qrc diff --git a/src/GAudioOutput.cc b/src/GAudioOutput.cc index cac132a..3e5cf80 100644 --- a/src/GAudioOutput.cc +++ b/src/GAudioOutput.cc @@ -48,13 +48,13 @@ using System.Speech.Synthesis; #ifdef Q_OS_LINUX extern "C" { - #include - #include +#include +#include //#include //cst_voice *REGISTER_VOX(const char *voxdir); //void UNREGISTER_VOX(cst_voice *vox); - cst_voice *register_cmu_us_awb(const char *voxdir); - void unregister_cmu_us_awb(cst_voice *vox); + //cst_voice *register_cmu_us_awb(const char *voxdir); + //void unregister_cmu_us_awb(cst_voice *vox); cst_voice *register_cmu_us_slt(const char *voxdir); void unregister_cmu_us_slt(cst_voice *vox); cst_voice *register_cmu_us_rms(const char *voxdir); @@ -91,9 +91,12 @@ emergency(false) #ifdef Q_OS_LINUX flite_init(); #endif + // Initialize audio output m_media = new Phonon::MediaObject(this); Phonon::AudioOutput *audioOutput = new Phonon::AudioOutput(Phonon::MusicCategory, this); createPath(m_media, audioOutput); + + // Prepare regular emergency signal, will be fired off on calling startEmergency() emergencyTimer = new QTimer(); connect(emergencyTimer, SIGNAL(timeout()), this, SLOT(beep())); @@ -102,11 +105,8 @@ emergency(false) case 0: selectFemaleVoice(); break; - case 1: - selectMaleVoice(); - break; default: - selectNeutralVoice(); + selectMaleVoice(); break; } } @@ -132,7 +132,6 @@ bool GAudioOutput::say(QString text, int severity) // file.fileName() returns the unique file name cst_wave_save(wav, file.fileName().toStdString().c_str(), "riff"); m_media->setCurrentSource(Phonon::MediaSource(file.fileName().toStdString().c_str())); - qDebug() << "TYPE:" << m_media->currentSource().type(); m_media->play(); qDebug() << "Synthesized: " << text << ", tmp file:" << file.fileName().toStdString().c_str(); res = true; @@ -149,10 +148,6 @@ bool GAudioOutput::say(QString text, int severity) SpeakString(str2); qDebug() << "Synthesized: " << text.toAscii(); #endif - -#ifdef Q_OS_WIN32 - qDebug() << "Synthesized: " << text << ", NO OUTPUT SUPPORT ON WINDOWS!"; -#endif } return res; } @@ -227,52 +222,46 @@ void GAudioOutput::beep() void GAudioOutput::selectFemaleVoice() { #ifdef Q_OS_LINUX - //this->voice = register_cmu_us_slt(NULL); + this->voice = register_cmu_us_slt(NULL); #endif } void GAudioOutput::selectMaleVoice() { #ifdef Q_OS_LINUX - //this->voice = register_cmu_us_rms(NULL); + this->voice = register_cmu_us_rms(NULL); #endif } - +/* void GAudioOutput::selectNeutralVoice() { #ifdef Q_OS_LINUX - //this->voice = register_cmu_us_awb(NULL); + this->voice = register_cmu_us_awb(NULL); #endif -} +}*/ -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - QStringList GAudioOutput::listVoices(void) - { - QStringList l; +QStringList GAudioOutput::listVoices(void) +{ + QStringList l; #ifdef Q_OS_LINUX - cst_voice *voice; - const cst_val *v; + cst_voice *voice; + const cst_val *v; - /* - printf("Voices available: "); - for (v=flite_voice_list; v; v=val_cdr(v)) - { - voice = val_voice(val_car(v)); - QString s; - s.sprintf("%s",voice->name); - printf("%s",voice->name); - l.append(s); - } - printf("\n"); -*/ -#endif - return l; + printf("Voices available: "); + for (v=flite_voice_list; v; v=val_cdr(v)) + { + voice = val_voice(val_car(v)); + QString s; + s.sprintf("%s",voice->name); + printf("%s",voice->name); + l.append(s); } -#ifdef __cplusplus + printf("\n"); + +#endif + return l; + } -#endif /* __cplusplus */ diff --git a/src/GAudioOutput.h b/src/GAudioOutput.h index c375ba2..9f1c93d 100644 --- a/src/GAudioOutput.h +++ b/src/GAudioOutput.h @@ -65,6 +65,10 @@ public: static GAudioOutput* instance(); /** @brief List available voices */ QStringList listVoices(void); + enum { + VOICE_MALE = 0, + VOICE_FEMALE + } QGVoice; public slots: /** @brief Say this text if current output priority matches */ @@ -79,8 +83,6 @@ public slots: void selectFemaleVoice(); /** @brief Select male voice */ void selectMaleVoice(); - /** @brief Select neutral voice */ - void selectNeutralVoice(); /** @brief Play emergency sound */ void beep();