integrated pulse action into qprojectM.

git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@742 6778bc44-b910-0410-a7a0-be141de4315d
This commit is contained in:
w1z7ard
2008-01-12 21:51:57 +00:00
parent 08161c7e64
commit 1a397ce1a5
6 changed files with 37 additions and 16 deletions

View File

@ -83,6 +83,11 @@
</rect>
</property>
</widget>
<action name="actionTest" >
<property name="text" >
<string>test</string>
</property>
</action>
</widget>
<resources/>
<connections>

View File

@ -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

View File

@ -9,7 +9,7 @@ class QPulseAudioDevChooser : public QDialog, public Ui::pulseDeviceChooserDialo
Q_OBJECT
public:
typedef QVector<QString> SourceContainer;
typedef QMap<int, QString> SourceContainer;
// QPulseAudioDevChooser(QWidget * parent = 0, Qt::WindowFlags f = 0 ) ;
//QPulseAudioDevChooser::QPulseAudioDevChooser(QWidget * parent = 0, Qt::WindowFlags f = 0 ) : QDialog(parent, f) {}

View File

@ -3,6 +3,9 @@
#include <QtDebug>
#include <QString>
#include <QVector>
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" ;

View File

@ -3,8 +3,7 @@
#include <QTimer>
#include <QThread>
#include <QString>
#include <QMap>
#include <QVector>
#include <QHash>
extern "C"
@ -22,7 +21,7 @@ class QPulseAudioThread : public QThread
Q_OBJECT
public:
//typedef QMap<int, QString> SourceContainer;
typedef QVector<QString> SourceContainer;
typedef QHash<int, QString> 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;

View File

@ -54,7 +54,7 @@
#include <iostream>
#include <stdio.h>
#include <unistd.h>
#include <QAction>
#include <QThread>
#include <QTimer>
#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;
}