Mercurial > hg > sonic-visualiser
comparison main/MainWindow.cpp @ 1911:2160976df436 import-audio-data
Use progress dialog when importing audio data
author | Chris Cannam |
---|---|
date | Fri, 29 Jun 2018 13:57:29 +0100 |
parents | dc275d7d9aa6 |
children | a28cab68eac6 |
comparison
equal
deleted
inserted
replaced
1904:05c53d02bf7e | 1911:2160976df436 |
---|---|
2899 format.setSampleRate(rate); | 2899 format.setSampleRate(rate); |
2900 format.setTimingType(CSVFormat::ImplicitTiming); | 2900 format.setTimingType(CSVFormat::ImplicitTiming); |
2901 format.setTimeUnits(CSVFormat::TimeAudioFrames); | 2901 format.setTimeUnits(CSVFormat::TimeAudioFrames); |
2902 | 2902 |
2903 FileOpenStatus status = FileOpenSucceeded; | 2903 FileOpenStatus status = FileOpenSucceeded; |
2904 | |
2905 ProgressDialog *dialog = new ProgressDialog(tr("Importing audio data..."), | |
2906 true, 0, this, | |
2907 Qt::ApplicationModal); | |
2904 | 2908 |
2905 WaveFileModel *model = qobject_cast<WaveFileModel *> | 2909 WaveFileModel *model = qobject_cast<WaveFileModel *> |
2906 (DataFileReaderFactory::loadCSV | 2910 (DataFileReaderFactory::loadCSV |
2907 (path, format, | 2911 (path, format, |
2908 getMainModel() ? getMainModel()->getSampleRate() : rate)); | 2912 getMainModel() ? getMainModel()->getSampleRate() : rate, |
2909 | 2913 dialog)); |
2910 if (!model || !model->isOK()) { | 2914 |
2915 if (dialog->wasCancelled()) { | |
2916 | |
2917 delete model; | |
2918 status = FileOpenCancelled; | |
2919 | |
2920 } else if (!model || !model->isOK()) { | |
2911 | 2921 |
2912 delete model; | 2922 delete model; |
2913 status = FileOpenFailed; | 2923 status = FileOpenFailed; |
2914 | 2924 |
2915 } else { | 2925 } else { |
2919 CreateAdditionalModel, | 2929 CreateAdditionalModel, |
2920 getDefaultSessionTemplate(), | 2930 getDefaultSessionTemplate(), |
2921 false); | 2931 false); |
2922 } | 2932 } |
2923 | 2933 |
2934 delete dialog; | |
2935 | |
2924 if (status == FileOpenFailed) { | 2936 if (status == FileOpenFailed) { |
2925 emit hideSplash(); | 2937 emit hideSplash(); |
2926 QMessageBox::critical(this, tr("Failed to open file"), | 2938 QMessageBox::critical(this, tr("Failed to open file"), |
2927 tr("<b>File open failed</b><p>Audio data file %1 could not be opened.").arg(path)); | 2939 tr("<b>File open failed</b><p>Audio data file %1 could not be opened.").arg(path)); |
2928 } | 2940 } |