comparison main/MainWindow.cpp @ 310:8e750332dc77

* Activity log updates * Update range lists in play source when a new model is added * Fill cache with empty background in colour 3d plot
author Chris Cannam
date Fri, 27 Feb 2009 13:33:16 +0000
parents 6a276fea550d
children db14b2b3aedd
comparison
equal deleted inserted replaced
309:6a276fea550d 310:8e750332dc77
276 connect(m_viewManager, SIGNAL(activity(QString)), 276 connect(m_viewManager, SIGNAL(activity(QString)),
277 m_activityLog, SLOT(activityHappened(QString))); 277 m_activityLog, SLOT(activityHappened(QString)));
278 connect(m_playSource, SIGNAL(activity(QString)), 278 connect(m_playSource, SIGNAL(activity(QString)),
279 m_activityLog, SLOT(activityHappened(QString))); 279 m_activityLog, SLOT(activityHappened(QString)));
280 connect(CommandHistory::getInstance(), SIGNAL(activity(QString)), 280 connect(CommandHistory::getInstance(), SIGNAL(activity(QString)),
281 m_activityLog, SLOT(activityHappened(QString)));
282 connect(this, SIGNAL(activity(QString)),
281 m_activityLog, SLOT(activityHappened(QString))); 283 m_activityLog, SLOT(activityHappened(QString)));
282 connect(this, SIGNAL(replacedDocument()), this, SLOT(documentReplaced())); 284 connect(this, SIGNAL(replacedDocument()), this, SLOT(documentReplaced()));
283 m_activityLog->hide(); 285 m_activityLog->hide();
284 286
285 newSession(); 287 newSession();
2180 ok = writer.isOK(); 2182 ok = writer.isOK();
2181 error = writer.getError(); 2183 error = writer.getError();
2182 } 2184 }
2183 2185
2184 if (ok) { 2186 if (ok) {
2185 if (!multiple) { 2187 if (multiple) {
2188 emit activity(tr("Export multiple audio files"));
2189 } else {
2190 emit activity(tr("Export audio to \"%1\"").arg(path));
2186 m_recentFiles.addFile(path); 2191 m_recentFiles.addFile(path);
2187 } 2192 }
2188 } else { 2193 } else {
2189 QMessageBox::critical(this, tr("Failed to write file"), error); 2194 QMessageBox::critical(this, tr("Failed to write file"), error);
2190 } 2195 }
2310 2315
2311 if (error != "") { 2316 if (error != "") {
2312 QMessageBox::critical(this, tr("Failed to write file"), error); 2317 QMessageBox::critical(this, tr("Failed to write file"), error);
2313 } else { 2318 } else {
2314 m_recentFiles.addFile(path); 2319 m_recentFiles.addFile(path);
2320 emit activity(tr("Export layer to \"%1\"").arg(path));
2315 } 2321 }
2316 } 2322 }
2317 2323
2318 void 2324 void
2319 MainWindow::exportImage() 2325 MainWindow::exportImage()
2742 .arg(QDateTime::currentDateTime().toString("yyyyMMddhhmmsszzz")); 2748 .arg(QDateTime::currentDateTime().toString("yyyyMMddhhmmsszzz"));
2743 #endif 2749 #endif
2744 QString fpath = QDir(svDir).filePath(fname); 2750 QString fpath = QDir(svDir).filePath(fname);
2745 if (saveSessionFile(fpath)) { 2751 if (saveSessionFile(fpath)) {
2746 m_recentFiles.addFile(fpath); 2752 m_recentFiles.addFile(fpath);
2753 emit activity(tr("Export image to \"%1\"").arg(fpath));
2747 return true; 2754 return true;
2748 } else { 2755 } else {
2749 return false; 2756 return false;
2750 } 2757 }
2751 } 2758 }
2856 .arg(QFileInfo(path).fileName())); 2863 .arg(QFileInfo(path).fileName()));
2857 m_sessionFile = path; 2864 m_sessionFile = path;
2858 CommandHistory::getInstance()->documentSaved(); 2865 CommandHistory::getInstance()->documentSaved();
2859 documentRestored(); 2866 documentRestored();
2860 m_recentFiles.addFile(path); 2867 m_recentFiles.addFile(path);
2868 emit activity(tr("Save session as \"%1\"").arg(path));
2861 } 2869 }
2862 } 2870 }
2863 2871
2864 void 2872 void
2865 MainWindow::preferenceChanged(PropertyContainer::PropertyName name) 2873 MainWindow::preferenceChanged(PropertyContainer::PropertyName name)
3459 (ev.getMessageType() == MIDIConstants::MIDI_NOTE_ON && 3467 (ev.getMessageType() == MIDIConstants::MIDI_NOTE_ON &&
3460 ev.getVelocity() == 0)); 3468 ev.getVelocity() == 0));
3461 3469
3462 if (currentNoteLayer) { 3470 if (currentNoteLayer) {
3463 3471
3472 if (!m_playSource || !m_playSource->isPlaying()) continue;
3473
3464 if (noteOn) { 3474 if (noteOn) {
3465 3475
3466 currentNoteLayer->addNoteOn(frame, 3476 currentNoteLayer->addNoteOn(frame,
3467 ev.getPitch(), 3477 ev.getPitch(),
3468 ev.getVelocity()); 3478 ev.getVelocity());
3478 } 3488 }
3479 3489
3480 if (currentTimeValueLayer) { 3490 if (currentTimeValueLayer) {
3481 3491
3482 if (!noteOn) continue; 3492 if (!noteOn) continue;
3493
3494 if (!m_playSource || !m_playSource->isPlaying()) continue;
3495
3483 Model *model = static_cast<Layer *>(currentTimeValueLayer)->getModel(); 3496 Model *model = static_cast<Layer *>(currentTimeValueLayer)->getModel();
3484 SparseTimeValueModel *tvm = 3497 SparseTimeValueModel *tvm =
3485 dynamic_cast<SparseTimeValueModel *>(model); 3498 dynamic_cast<SparseTimeValueModel *>(model);
3486 if (tvm) { 3499 if (tvm) {
3487 SparseTimeValueModel::Point point(frame, ev.getPitch() % 12, ""); 3500 SparseTimeValueModel::Point point(frame, ev.getPitch() % 12, "");