Mercurial > hg > svapp
diff framework/MainWindowBase.cpp @ 484:01aeda073720 tony-2.0-integration
Merge from branch recording
author | Chris Cannam |
---|---|
date | Tue, 15 Sep 2015 16:38:09 +0100 |
parents | 52c0aff69478 493f2af85497 |
children | 21d3cf5c8f21 |
line wrap: on
line diff
--- a/framework/MainWindowBase.cpp Thu Aug 20 14:54:21 2015 +0100 +++ b/framework/MainWindowBase.cpp Tue Sep 15 16:38:09 2015 +0100 @@ -155,6 +155,7 @@ m_lastPlayStatusSec(0), m_initialDarkBackground(false), m_defaultFfwdRwdStep(2, 0), + m_audioRecordMode(RecordCreateAdditionalModel), m_statusLabel(0), m_menuShortcutMapper(0) { @@ -611,7 +612,7 @@ emit canMeasureLayer(haveCurrentLayer); emit canSelect(haveMainModel && haveCurrentPane); emit canPlay(haveMainModel && havePlayTarget); - emit canRecord(m_soundOptions & WithAudioInput); // always possible then + emit canRecord(m_recordTarget != 0); emit canFfwd(haveMainModel); emit canRewind(haveMainModel); emit canPaste(haveClipboardContents); @@ -2683,6 +2684,10 @@ return; } + if (m_audioRecordMode == RecordReplaceSession) { + if (!checkSaveModified()) return; + } + WritableWaveFileModel *model = m_recordTarget->startRecording(); if (!model) { cerr << "ERROR: MainWindowBase::record: Recording failed" << endl; @@ -2698,8 +2703,8 @@ } PlayParameterRepository::getInstance()->addPlayable(model); - - if (!getMainModel()) { + + if (m_audioRecordMode == RecordReplaceSession || !getMainModel()) { //!!! duplication with openAudio here @@ -3613,4 +3618,30 @@ #endif } - +void +MainWindowBase::openLocalFolder(QString path) +{ + QDir d(path); + if (d.exists()) { + QStringList args; + QString path = d.canonicalPath(); +#if defined Q_OS_WIN32 + // Although the Win32 API is quite happy to have + // forward slashes as directory separators, Windows + // Explorer is not + path = path.replace('/', '\\'); + args << path; + QProcess::execute("c:/windows/explorer.exe", args); +#else + args << path; + QProcess::execute( +#if defined Q_OS_MAC + "/usr/bin/open", +#else + "/usr/bin/xdg-open", +#endif + args); +#endif + } +} +