diff --git a/app/MainWindow.cpp b/app/MainWindow.cpp index 2b0da8e..5e0eb52 100644 --- a/app/MainWindow.cpp +++ b/app/MainWindow.cpp @@ -27,7 +27,7 @@ using namespace std; -MainWindow::MainWindow(const string &port, const string &audio_port, const string &process_port) : +MainWindow::MainWindow(const string &port, const string &audio_port, const string &process_port, QSettings *settings) : m_last_file("."), m_feedback(port), m_audio_port(audio_port), @@ -51,7 +51,7 @@ MainWindow::MainWindow(const string &port, const string &audio_port, const strin m_Ui.brain_contents->setSpacing(0); m_Ui.brain_contents->setContentsMargins(0,0,0,0); - m_settings_dialog = new SettingsDialog(this); + m_settings_dialog = new SettingsDialog(this,settings); // add default local dest // turn on first one diff --git a/app/MainWindow.h b/app/MainWindow.h index f68cc3c..7500cdb 100644 --- a/app/MainWindow.h +++ b/app/MainWindow.h @@ -33,13 +33,15 @@ using namespace std; using namespace spiralcore; +class QSettings; + class MainWindow : public QMainWindow { Q_OBJECT public: - MainWindow(const string &port, const string &audio_port, const string &process_port); - + MainWindow(const string &port, const string &audio_port, const string &process_port, QSettings *settings); + void message(const string &msg) { QMessageBox::information(this,"problem",msg.c_str(), QMessageBox::Ok); } @@ -453,4 +455,5 @@ private: string m_audio_port; string m_process_port; + }; diff --git a/app/SettingsDialog.cpp b/app/SettingsDialog.cpp index a2edf7b..d6e0cd5 100644 --- a/app/SettingsDialog.cpp +++ b/app/SettingsDialog.cpp @@ -24,12 +24,16 @@ using namespace std; -SettingsDialog::SettingsDialog(MainWindow *parent): +SettingsDialog::SettingsDialog(MainWindow *parent, QSettings *settings): m_device(""), m_parent(parent), m_buffersize(2048), - m_samplerate(44100) { + m_samplerate(44100), + m_settings(settings) { m_Ui.setupUi(this); + m_Ui.guiOSCLineEdit->setText(settings->value("gui_port").toByteArray().constData()); + m_Ui.processOSCLineEdit->setText(settings->value("process_port").toByteArray().constData()); + m_Ui.audioOSCLineEdit->setText(settings->value("audio_port").toByteArray().constData()); } void SettingsDialog::connect() { diff --git a/app/SettingsDialog.h b/app/SettingsDialog.h index df5248f..225e188 100644 --- a/app/SettingsDialog.h +++ b/app/SettingsDialog.h @@ -20,6 +20,7 @@ #include #include #include +#include #include "ui_settings.h" #include @@ -36,7 +37,7 @@ class SettingsDialog : public QDialog { Q_OBJECT public: - SettingsDialog(MainWindow *parent); + SettingsDialog(MainWindow *parent, QSettings *settings); Ui_SettingsDialog m_Ui; string m_device; @@ -61,15 +62,28 @@ class SettingsDialog : public QDialog void accept() { connect(); hide(); } void reject() { hide(); } void apply() { connect(); } - + + void gui_port(QString str) { + m_settings->setValue("gui_port",str); + } + + void process_port(QString str) { + m_settings->setValue("process_port",str); + } + + void audio_port(QString str) { + m_settings->setValue("audio_port",str); + } + private: - void connect(); - MainWindow *m_parent; + void connect(); + MainWindow *m_parent; - unsigned int m_buffersize; - unsigned int m_samplerate; + unsigned int m_buffersize; + unsigned int m_samplerate; + QSettings *m_settings; }; #endif diff --git a/app/qtmain.cpp b/app/qtmain.cpp index f2c5cdb..a0573c1 100644 --- a/app/qtmain.cpp +++ b/app/qtmain.cpp @@ -50,7 +50,7 @@ int main( int argc , char *argv[] ){ status::set_port(gui_port); - MainWindow mainWin(gui_port,audio_port,process_port); + MainWindow mainWin(gui_port,audio_port,process_port,&settings); mainWin.show(); process_thread pt(process_port); audio_thread at(audio_port,pt); diff --git a/brain/src/spiralcore/OSC_server.cpp b/brain/src/spiralcore/OSC_server.cpp index e37fa4a..523e17f 100644 --- a/brain/src/spiralcore/OSC_server.cpp +++ b/brain/src/spiralcore/OSC_server.cpp @@ -34,11 +34,12 @@ OSC_server::OSC_server(const string &port) : m_port(port), m_exit(false), m_command_ring_buffer(262144) { - //cerr<<"using port: ["< - samplebrain 0.18.4 + samplebrain 0.18.5 diff --git a/gui/settings.ui b/gui/settings.ui index 9d740c0..e8f8835 100644 --- a/gui/settings.ui +++ b/gui/settings.ui @@ -6,8 +6,8 @@ 0 0 - 400 - 522 + 438 + 656 @@ -31,7 +31,13 @@ - + + + + Comic Sans MS + + + @@ -57,6 +63,11 @@ 0 + + + Comic Sans MS + + 44100 @@ -73,7 +84,7 @@ - (note: this currently should probably match your sample file's input rate as no conversion is run on them - yet) + note: this currently should probably match your sample file's input rate as no conversion is run on them - yet true @@ -98,6 +109,11 @@ + + + Comic Sans MS + + 5 @@ -180,6 +196,112 @@ + + + + + Comic Sans MS + 8 + + + + restart needed for the ports below to update + + + + + + + + + + Comic Sans MS + + + + gui osc port + + + + + + + + 0 + 0 + + + + + Comic Sans MS + + + + + + + + + + + + + Comic Sans MS + + + + process osc port + + + + + + + + 0 + 0 + + + + + Comic Sans MS + + + + + + + + + + + + + Comic Sans MS + + + + audio osc port + + + + + + + + 0 + 0 + + + + + Comic Sans MS + + + + + + @@ -218,8 +340,8 @@ accept() - 231 - 358 + 244 + 642 157 @@ -234,8 +356,8 @@ reject() - 299 - 364 + 312 + 642 286 @@ -266,8 +388,8 @@ apply() - 112 - 321 + 125 + 592 4 @@ -298,8 +420,8 @@ buffersize(QString) - 326 - 131 + 390 + 215 395 @@ -307,11 +429,62 @@ + + guiOSCLineEdit + textChanged(QString) + SettingsDialog + gui_port(QString) + + + 346 + 432 + + + 401 + 419 + + + + + processOSCLineEdit + textChanged(QString) + SettingsDialog + process_port(QString) + + + 356 + 482 + + + 398 + 479 + + + + + audioOSCLineEdit + textChanged(QString) + SettingsDialog + audio_port(QString) + + + 374 + 511 + + + 398 + 517 + + + output_device(QString) samplerate(QString) buffersize(QString) apply() + gui_port(QString) + audio_port(QString) + process_port(QString)