Compare commits

..

No commits in common. "bc8002a9f0931f24b8078a956a9b73f09300f566" and "c4499ce7c960797726f243c97bcf0d68e0cdabc4" have entirely different histories.

3 changed files with 67 additions and 99 deletions

View File

@ -28,11 +28,7 @@
using namespace std; using namespace std;
MainWindow::MainWindow(const string &port, const string &audio_port, const string &process_port, QSettings *settings) : MainWindow::MainWindow(const string &port, const string &audio_port, const string &process_port, QSettings *settings) :
m_last_sound_file("."), m_last_file("."),
m_last_target_file("."),
m_last_brain_file("."),
m_last_session_file("."),
m_last_recording_file("."),
m_feedback(port), m_feedback(port),
m_audio_port(audio_port), m_audio_port(audio_port),
m_process_port(process_port), m_process_port(process_port),
@ -161,12 +157,6 @@ void MainWindow::init_from_session(const string &filename) {
m_Ui.spinBoxSlideError->setValue(r.get_slide_error()); m_Ui.spinBoxSlideError->setValue(r.get_slide_error());
// target // target
if (t.get_samples().size()>0) {
// extract target filename from brain sample
string fn = t.get_samples().begin()->m_filename;
m_Ui.labelTargetSound->setText("loaded: "+QFileInfo(QString::fromStdString(fn)).fileName());
}
m_Ui.spinBoxBlockSizeTarget->setValue(t.get_block_size()); m_Ui.spinBoxBlockSizeTarget->setValue(t.get_block_size());
m_Ui.doubleSpinBoxBlockOverlapTarget->setValue(t.get_overlap()/(float)t.get_block_size()); m_Ui.doubleSpinBoxBlockOverlapTarget->setValue(t.get_overlap()/(float)t.get_block_size());

View File

@ -206,15 +206,12 @@ private slots:
void run_slot() {} void run_slot() {}
void load_target() { void load_target() {
QString path=QFileDialog::getOpenFileName(this, m_last_file=QFileDialog::getOpenFileName(this,
QString("Select an audio file"), QString("Select an audio file"),
m_last_target_file, m_last_file,
m_format_string); m_format_string);
if (m_last_target_file!="") {
m_last_target_file=path; send_process_osc("/load_target","s",m_last_file.toStdString().c_str());
m_Ui.labelTargetSound->setText("loaded: "+QFileInfo(path).fileName());
send_process_osc("/load_target","s",m_last_target_file.toStdString().c_str());
}
} }
void target_block_size(int s) { send_process_osc("/target_block_size","i",s); } void target_block_size(int s) { send_process_osc("/target_block_size","i",s); }
void target_block_overlap(double s) { send_process_osc("/target_overlap","f",s); } void target_block_overlap(double s) { send_process_osc("/target_overlap","f",s); }
@ -224,15 +221,14 @@ private slots:
void fft_spectrum_size(int) {} void fft_spectrum_size(int) {}
void generate() { send_process_osc("/generate_brain",""); } void generate() { send_process_osc("/generate_brain",""); }
void load_sound() { void load_sound() {
QString path=QFileDialog::getOpenFileName(this, m_last_file=QFileDialog::getOpenFileName(this,
QString("Select a wav file"), QString("Select a wav file"),
m_last_sound_file, m_last_file,
m_format_string); m_format_string);
if (path!="") { if (m_last_file!="") {
m_last_sound_file=path; send_process_osc("/load_sample","s",m_last_file.toStdString().c_str());
send_process_osc("/load_sample","s",m_last_sound_file.toStdString().c_str()); sound_items::sound_item &si = m_sound_items.add(m_Ui.brain_contents, m_last_file.toStdString(),true);
sound_items::sound_item &si = m_sound_items.add(m_Ui.brain_contents, m_last_sound_file.toStdString(),true);
QObject::connect(si.m_enable, SIGNAL(clicked()), m_sound_item_enable_mapper, SLOT(map())); QObject::connect(si.m_enable, SIGNAL(clicked()), m_sound_item_enable_mapper, SLOT(map()));
m_sound_item_enable_mapper->setMapping(si.m_enable, si.m_id); m_sound_item_enable_mapper->setMapping(si.m_enable, si.m_id);
QObject::connect(si.m_del, SIGNAL(clicked()), m_sound_item_delete_mapper, SLOT(map())); QObject::connect(si.m_del, SIGNAL(clicked()), m_sound_item_delete_mapper, SLOT(map()));
@ -242,27 +238,25 @@ private slots:
void load_sounds() { void load_sounds() {
QString path=QFileDialog::getExistingDirectory(this, m_last_file=QFileDialog::getExistingDirectory(this,
QString("Select a directory of wav files"), QString("Select a directory of wav files"),
m_last_directory_file); m_last_file);
if (path!="") {
m_last_directory_file=path;
QDirIterator dirIt(m_last_directory_file,QDirIterator::Subdirectories);
while (dirIt.hasNext()) {
dirIt.next();
if (QFileInfo(dirIt.filePath()).isFile() &&
QFileInfo(dirIt.filePath()).suffix() == "wav") {
send_process_osc("/load_sample","s",dirIt.filePath().toStdString().c_str());
sound_items::sound_item &si = m_sound_items.add(m_Ui.brain_contents, dirIt.filePath().toStdString(),true); QDirIterator dirIt(m_last_file,QDirIterator::Subdirectories);
while (dirIt.hasNext()) {
dirIt.next();
if (QFileInfo(dirIt.filePath()).isFile() &&
QFileInfo(dirIt.filePath()).suffix() == "wav") {
send_process_osc("/load_sample","s",dirIt.filePath().toStdString().c_str());
QObject::connect(si.m_enable, SIGNAL(clicked()), m_sound_item_enable_mapper, SLOT(map())); sound_items::sound_item &si = m_sound_items.add(m_Ui.brain_contents, dirIt.filePath().toStdString(),true);
m_sound_item_enable_mapper->setMapping(si.m_enable, si.m_id);
QObject::connect(si.m_del, SIGNAL(clicked()), m_sound_item_delete_mapper, SLOT(map())); QObject::connect(si.m_enable, SIGNAL(clicked()), m_sound_item_enable_mapper, SLOT(map()));
m_sound_item_delete_mapper->setMapping(si.m_del, si.m_id); m_sound_item_enable_mapper->setMapping(si.m_enable, si.m_id);
QObject::connect(si.m_del, SIGNAL(clicked()), m_sound_item_delete_mapper, SLOT(map()));
m_sound_item_delete_mapper->setMapping(si.m_del, si.m_id);
}
} }
} }
} }
@ -319,11 +313,12 @@ private slots:
void record() { void record() {
if (m_save_wav=="") { if (m_save_wav=="") {
m_last_recording_file=QFileDialog::getSaveFileName(this, m_last_file=QFileDialog::getSaveFileName(
QString("Select a wav file"), this,
m_last_recording_file, QString("Select a wav file"),
QString("Sounds (*.wav);;All files (*.*)")); m_last_file,
m_save_wav = m_last_recording_file.toStdString(); QString("Sounds (*.wav);;All files (*.*)"));
m_save_wav = m_last_file.toStdString();
// chop off .wav // chop off .wav
size_t pos = m_save_wav.find_last_of("."); size_t pos = m_save_wav.find_last_of(".");
if (pos!=string::npos) { if (pos!=string::npos) {
@ -344,48 +339,43 @@ private slots:
} }
void load_brain() { void load_brain() {
QString path=QFileDialog::getOpenFileName(this, m_last_file=QFileDialog::getOpenFileName(
QString("Select a brain file"), this,
m_last_brain_file, QString("Select a brain file"),
QString("Brains (*.brain);;All files (*.*)")); m_last_file,
QString("Brains (*.brain);;All files (*.*)"));
if (path!="") { send_process_osc("/load_brain","s",m_last_file.toStdString().c_str());
m_last_brain_file=path;
send_process_osc("/load_brain","s",m_last_brain_file.toStdString().c_str());
}
} }
void save_brain() { void save_brain() {
QString path=QFileDialog::getSaveFileName(this, m_last_file=QFileDialog::getSaveFileName(
QString("Select a brain file"), this,
m_last_brain_file, QString("Select a brain file"),
QString("Brains (*.brain);;All files (*.*)")); m_last_file,
if (path!="") { QString("Brains (*.brain);;All files (*.*)"));
m_last_brain_file=path;
send_process_osc("/save_brain","s",m_last_brain_file.toStdString().c_str()); send_process_osc("/save_brain","s",m_last_file.toStdString().c_str());
}
} }
void load_session() { void load_session() {
QString path=QFileDialog::getOpenFileName(this, m_last_file=QFileDialog::getOpenFileName(
QString("Select a session file"), this,
m_last_session_file, QString("Select a session file"),
QString("Sessions *.samplebrain (*.samplebrain);;All files (*.*)")); m_last_file,
if (path!="") { QString("Sessions *.samplebrain (*.samplebrain);;All files (*.*)"));
m_last_session_file=path;
send_process_osc("/load_session","s",m_last_session_file.toStdString().c_str()); send_process_osc("/load_session","s",m_last_file.toStdString().c_str());
init_from_session(m_last_session_file.toStdString()); init_from_session(m_last_file.toStdString());
}
} }
void save_session() { void save_session() {
QString path=QFileDialog::getSaveFileName(this, m_last_file=QFileDialog::getSaveFileName(
QString("Select a session file"), this,
m_last_session_file, QString("Select a session file"),
QString("Sessions *.samplebrain (*.samplebrain)")); m_last_file,
if (path!="") { QString("Sessions *.samplebrain (*.samplebrain)"));
m_last_session_file=path;
send_process_osc("/save_session","s",m_last_session_file.toStdString().c_str()); send_process_osc("/save_session","s",m_last_file.toStdString().c_str());
}
} }
void update_status() { void update_status() {
@ -450,12 +440,7 @@ private:
QSignalMapper* enable_mapper); QSignalMapper* enable_mapper);
string m_save_wav; string m_save_wav;
QString m_last_sound_file; QString m_last_file;
QString m_last_target_file;
QString m_last_directory_file;
QString m_last_brain_file;
QString m_last_session_file;
QString m_last_recording_file;
unsigned int m_record_id; unsigned int m_record_id;
Ui_MainWindow m_Ui; Ui_MainWindow m_Ui;
feedback m_feedback; feedback m_feedback;

View File

@ -728,13 +728,6 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QLabel" name="labelTargetSound">
<property name="text">
<string>no target sound loaded</string>
</property>
</widget>
</item>
<item> <item>
<widget class="QPushButton" name="pushButtonLoadTarget"> <widget class="QPushButton" name="pushButtonLoadTarget">
<property name="font"> <property name="font">
@ -1119,8 +1112,8 @@
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>17</width> <width>20</width>
<height>13</height> <height>40</height>
</size> </size>
</property> </property>
</spacer> </spacer>