diff --git a/src/qprojectM-pulseaudio/PulseDeviceChooserDialog.ui b/src/qprojectM-pulseaudio/PulseDeviceChooserDialog.ui
index ea7fa40ab..56b75d34a 100644
--- a/src/qprojectM-pulseaudio/PulseDeviceChooserDialog.ui
+++ b/src/qprojectM-pulseaudio/PulseDeviceChooserDialog.ui
@@ -83,6 +83,11 @@
+
+
+ test
+
+
diff --git a/src/qprojectM-pulseaudio/QPulseAudioDevChooser.cpp b/src/qprojectM-pulseaudio/QPulseAudioDevChooser.cpp
index 600de897b..bfb36dda6 100644
--- a/src/qprojectM-pulseaudio/QPulseAudioDevChooser.cpp
+++ b/src/qprojectM-pulseaudio/QPulseAudioDevChooser.cpp
@@ -16,6 +16,8 @@ QSettings settings ( "projectM", "qprojectM-pulseaudio");
this->tryFirstPlayBackMonitorCheckBox->setCheckState
(settings.value("tryFirstAvailablePlaybackMonitor", true).toBool() ? Qt::Checked : Qt::Unchecked);
+
+
}
void QPulseAudioDevChooser::updateDevice(int index, const QString & name) {
@@ -23,7 +25,7 @@ void QPulseAudioDevChooser::updateDevice(int index, const QString & name) {
}
void QPulseAudioDevChooser::removeDevice(int index) {
-
+
}
void QPulseAudioDevChooser::refreshDevices
diff --git a/src/qprojectM-pulseaudio/QPulseAudioDevChooser.hpp b/src/qprojectM-pulseaudio/QPulseAudioDevChooser.hpp
index a046bf726..8d237df6e 100644
--- a/src/qprojectM-pulseaudio/QPulseAudioDevChooser.hpp
+++ b/src/qprojectM-pulseaudio/QPulseAudioDevChooser.hpp
@@ -9,7 +9,7 @@ class QPulseAudioDevChooser : public QDialog, public Ui::pulseDeviceChooserDialo
Q_OBJECT
public:
- typedef QVector SourceContainer;
+ typedef QMap SourceContainer;
// QPulseAudioDevChooser(QWidget * parent = 0, Qt::WindowFlags f = 0 ) ;
//QPulseAudioDevChooser::QPulseAudioDevChooser(QWidget * parent = 0, Qt::WindowFlags f = 0 ) : QDialog(parent, f) {}
diff --git a/src/qprojectM-pulseaudio/QPulseAudioThread.cpp b/src/qprojectM-pulseaudio/QPulseAudioThread.cpp
index 2a5bf15c1..ea8f5f2f1 100644
--- a/src/qprojectM-pulseaudio/QPulseAudioThread.cpp
+++ b/src/qprojectM-pulseaudio/QPulseAudioThread.cpp
@@ -3,6 +3,9 @@
#include
#include
#include
+
+QPulseAudioThread::SourceContainer QPulseAudioThread::sourceList;
+
/* $Id: pacat.c 1426 2007-02-13 15:35:19Z ossman $ */
/***
@@ -70,7 +73,9 @@ static int channel_map_set = 0;
static pa_sample_spec sample_spec ;
-QPulseAudioThread::QPulseAudioThread ( int _argc, char **_argv, projectM * _projectM, QObject * parent ) : QThread ( parent ), argc ( _argc ), argv ( _argv ), m_projectM ( _projectM ), sourceIndex ( -1 ) {}
+QPulseAudioThread::QPulseAudioThread ( int _argc, char **_argv, projectM * _projectM, QObject * parent ) : QThread ( parent ), argc ( _argc ), argv ( _argv ), m_projectM ( _projectM ), sourceIndex ( -1 ) {
+
+}
QPulseAudioThread::~QPulseAudioThread()
@@ -78,8 +83,6 @@ QPulseAudioThread::~QPulseAudioThread()
}
-
-
void QPulseAudioThread::cleanup()
{
@@ -412,6 +415,8 @@ void QPulseAudioThread::pa_source_info_callback ( pa_context *c, const pa_source
QString name = i->name;
qDebug() << "insert";
+
+
pulseThread->insertSource(index,name);
qDebug() << "Added" ;
diff --git a/src/qprojectM-pulseaudio/QPulseAudioThread.hpp b/src/qprojectM-pulseaudio/QPulseAudioThread.hpp
index 951aeb8a7..0d4242225 100644
--- a/src/qprojectM-pulseaudio/QPulseAudioThread.hpp
+++ b/src/qprojectM-pulseaudio/QPulseAudioThread.hpp
@@ -3,8 +3,7 @@
#include
#include
#include
-#include
-#include
+
#include
extern "C"
@@ -22,7 +21,7 @@ class QPulseAudioThread : public QThread
Q_OBJECT
public:
//typedef QMap SourceContainer;
- typedef QVector SourceContainer;
+ typedef QHash SourceContainer;
QPulseAudioThread () {}
QPulseAudioThread(int _argc, char **_argv, projectM * projectM, QObject *parent);
virtual ~QPulseAudioThread() ;
@@ -33,11 +32,14 @@ class QPulseAudioThread : public QThread
return sourceList;
}
- inline void insertSource(int index, const QString & name) {
- sourceList.push_back(name);
- }
+ signals:
+ void sourceInsertEvent(int index, const QString & name);
public slots:
+ inline void insertSource(int index, const QString & name) {
+ sourceList[index]= name;
+ }
+
void connectSource(int index);
private:
static void pulseQuit ( int ret );
@@ -49,14 +51,14 @@ class QPulseAudioThread : public QThread
static void stream_drain_complete ( pa_stream*s, int success, void *userdata );
static void stdout_callback ( pa_mainloop_api*a, pa_io_event *e, int fd, pa_io_event_flags_t f, void *userdata );
static void exit_signal_callback ( pa_mainloop_api*m, pa_signal_event *e, int sig, void *userdata );
- static void stream_update_timing_callback ( pa_stream *s, int success, void *userdata );
- static void sigusr1_signal_callback ( pa_mainloop_api*m, pa_signal_event *e, int sig, void *userdata );
+ static void stream_update_timing_callback ( pa_stream *s, int success, void *userdata );
+ static void sigusr1_signal_callback ( pa_mainloop_api*m, pa_signal_event *e, int sig, void *userdata );
static void pa_source_info_callback ( pa_context *c, const pa_source_info *i, int eol, void *userdata );
- static void subscribe_callback ( struct pa_context *c, enum pa_subscription_event_type t, uint32_t index, void *userdata );
+ static void subscribe_callback ( struct pa_context *c, enum pa_subscription_event_type t, uint32_t index, void *userdata );
static void time_event_callback ( pa_mainloop_api*m, pa_time_event *e, const struct timeval *tv, void *userdata );
- SourceContainer sourceList;
+ static SourceContainer sourceList;
int sourceIndex;
int argc;
char ** argv;
diff --git a/src/qprojectM-pulseaudio/qprojectM-pulseaudio.cpp b/src/qprojectM-pulseaudio/qprojectM-pulseaudio.cpp
index b30f71c10..f5a0bb1da 100644
--- a/src/qprojectM-pulseaudio/qprojectM-pulseaudio.cpp
+++ b/src/qprojectM-pulseaudio/qprojectM-pulseaudio.cpp
@@ -54,7 +54,7 @@
#include
#include
#include
-
+#include
#include
#include
#define CONFIG_FILE "/share/projectM/config.inp"
@@ -95,6 +95,10 @@ int main ( int argc, char*argv[] )
QProjectM_MainWindow * mainWindow = new QProjectM_MainWindow ( config_file );
+ QAction pulseAction("Pulse audio settings...", mainWindow);
+
+ //connect(pulseAction, SIGNAL(triggered()),
+ mainWindow->registerSettingsAction(&pulseAction);
mainWindow->show();
QPulseAudioThread * pulseThread = new QPulseAudioThread(argc, argv, mainWindow->getQProjectM(), mainWindow);
@@ -106,6 +110,9 @@ int main ( int argc, char*argv[] )
pulseThread->exit();
pulseThread->cleanup();
+
+ mainWindow->unregisterSettingsAction(&pulseAction);
+
delete(mainWindow);
return ret;
}