mirror of
https://github.com/projectM-visualizer/projectm.git
synced 2026-03-06 07:25:15 +00:00
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:
@ -83,6 +83,11 @@
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<action name="actionTest" >
|
||||
<property name="text" >
|
||||
<string>test</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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) {}
|
||||
|
||||
|
||||
@ -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" ;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user