390 |
|
|
391 |
MainWindow::MainWindow() : |
MainWindow::MainWindow() : |
392 |
// eSample("Sample", wSample), |
// eSample("Sample", wSample), |
|
eVelocityUpperLimit("VelocityUpperLimit", |
|
|
&gig::DimensionRegion::VelocityUpperLimit), |
|
393 |
eEG1PreAttack("PreAttack", &gig::DimensionRegion::EG1PreAttack, 0, 100, 2), |
eEG1PreAttack("PreAttack", &gig::DimensionRegion::EG1PreAttack, 0, 100, 2), |
394 |
eEG1Attack("Attack", &gig::DimensionRegion::EG1Attack, 0, 60, 3), |
eEG1Attack("Attack", &gig::DimensionRegion::EG1Attack, 0, 60, 3), |
395 |
eEG1Decay1("Decay1", &gig::DimensionRegion::EG1Decay1, 0.005, 60, 3), |
eEG1Decay1("Decay1", &gig::DimensionRegion::EG1Decay1, 0.005, 60, 3), |
550 |
firstRowInBlock = 0; |
firstRowInBlock = 0; |
551 |
|
|
552 |
addString("Sample", lSample, wSample); |
addString("Sample", lSample, wSample); |
|
addProp(eVelocityUpperLimit); |
|
553 |
addHeader("EG1"); |
addHeader("EG1"); |
554 |
addProp(eEG1PreAttack); |
addProp(eEG1PreAttack); |
555 |
addProp(eEG1Attack); |
addProp(eEG1Attack); |
974 |
{ |
{ |
975 |
update_gui = false; |
update_gui = false; |
976 |
wSample->set_text(d->pSample ? d->pSample->pInfo->Name.c_str() : "NULL"); |
wSample->set_text(d->pSample ? d->pSample->pInfo->Name.c_str() : "NULL"); |
|
eVelocityUpperLimit.set_dimreg(d); |
|
977 |
eEG1PreAttack.set_dimreg(d); |
eEG1PreAttack.set_dimreg(d); |
978 |
eEG1Attack.set_dimreg(d); |
eEG1Attack.set_dimreg(d); |
979 |
eEG1Decay1.set_dimreg(d); |
eEG1Decay1.set_dimreg(d); |
1345 |
void MainWindow::on_action_file_save() |
void MainWindow::on_action_file_save() |
1346 |
{ |
{ |
1347 |
if (!file) return; |
if (!file) return; |
1348 |
file->Save(); |
std::cout << "Saving file\n" << std::flush; |
1349 |
|
try { |
1350 |
|
file->Save(); |
1351 |
|
} catch (RIFF::Exception e) { |
1352 |
|
Glib::ustring txt = "Could not save file: " + e.Message; |
1353 |
|
Gtk::MessageDialog msg(*this, txt, false, Gtk::MESSAGE_ERROR); |
1354 |
|
msg.run(); |
1355 |
|
return; |
1356 |
|
} |
1357 |
|
std::cout << "Saving file done\n" << std::flush; |
1358 |
__import_queued_samples(); |
__import_queued_samples(); |
1359 |
} |
} |
1360 |
|
|
1369 |
dialog.set_filter(filter); |
dialog.set_filter(filter); |
1370 |
if (dialog.run() == Gtk::RESPONSE_OK) { |
if (dialog.run() == Gtk::RESPONSE_OK) { |
1371 |
printf("filename=%s\n", dialog.get_filename().c_str()); |
printf("filename=%s\n", dialog.get_filename().c_str()); |
1372 |
file->Save(dialog.get_filename()); |
try { |
1373 |
|
file->Save(dialog.get_filename()); |
1374 |
|
} catch (RIFF::Exception e) { |
1375 |
|
Glib::ustring txt = "Could not save file: " + e.Message; |
1376 |
|
Gtk::MessageDialog msg(*this, txt, false, Gtk::MESSAGE_ERROR); |
1377 |
|
msg.run(); |
1378 |
|
return; |
1379 |
|
} |
1380 |
__import_queued_samples(); |
__import_queued_samples(); |
1381 |
} |
} |
1382 |
} |
} |
1383 |
|
|
1384 |
// actually write the sample(s)' data to the gig file |
// actually write the sample(s)' data to the gig file |
1385 |
void MainWindow::__import_queued_samples() { |
void MainWindow::__import_queued_samples() { |
1386 |
|
std::cout << "Starting sample import\n" << std::flush; |
1387 |
Glib::ustring error_files; |
Glib::ustring error_files; |
1388 |
|
printf("Samples to import: %d\n", m_SampleImportQueue.size()); |
1389 |
for (std::list<SampleImportItem>::iterator iter = m_SampleImportQueue.begin(); iter != m_SampleImportQueue.end(); ) { |
for (std::list<SampleImportItem>::iterator iter = m_SampleImportQueue.begin(); iter != m_SampleImportQueue.end(); ) { |
1390 |
printf("Importing sample %s\n",(*iter).sample_path.c_str()); |
printf("Importing sample %s\n",(*iter).sample_path.c_str()); |
1391 |
SF_INFO info; |
SF_INFO info; |