# HG changeset patch # User Chris Cannam # Date 1160046096 0 # Node ID 47bff9f888821d86b435bdc485edf29dcb171670 # Parent 6b6bca31ad53dce1af07c4baf69c5a59273c24a7 * Add --no-audio option to avoid opening any audio output device diff -r 6b6bca31ad53 -r 47bff9f88882 main/MainWindow.cpp --- a/main/MainWindow.cpp Thu Oct 05 11:00:59 2006 +0000 +++ b/main/MainWindow.cpp Thu Oct 05 11:01:36 2006 +0000 @@ -93,12 +93,13 @@ using std::set; -MainWindow::MainWindow() : +MainWindow::MainWindow(bool withAudioOutput) : m_document(0), m_paneStack(0), m_viewManager(0), m_panner(0), m_timeRulerLayer(0), + m_audioOutput(withAudioOutput), m_playSource(0), m_playTarget(0), m_recentFiles("RecentFiles"), @@ -3220,7 +3221,7 @@ updateDescriptionLabel(); m_panLayer->setModel(model); if (model) m_viewManager->setMainModelSampleRate(model->getSampleRate()); - if (model && !m_playTarget) createPlayTarget(); + if (model && !m_playTarget && m_audioOutput) createPlayTarget(); } void diff -r 6b6bca31ad53 -r 47bff9f88882 main/MainWindow.h --- a/main/MainWindow.h Thu Oct 05 11:00:59 2006 +0000 +++ b/main/MainWindow.h Thu Oct 05 11:01:36 2006 +0000 @@ -55,7 +55,7 @@ Q_OBJECT public: - MainWindow(); + MainWindow(bool withAudioOutput = true); virtual ~MainWindow(); enum AudioFileOpenMode { @@ -215,6 +215,7 @@ WaveformLayer *m_panLayer; Layer *m_timeRulerLayer; + bool m_audioOutput; AudioCallbackPlaySource *m_playSource; AudioCallbackPlayTarget *m_playTarget; diff -r 6b6bca31ad53 -r 47bff9f88882 main/main.cpp --- a/main/main.cpp Thu Oct 05 11:00:59 2006 +0000 +++ b/main/main.cpp Thu Oct 05 11:01:36 2006 +0000 @@ -78,6 +78,8 @@ { SVApplication application(argc, argv); + QStringList args = application.arguments(); + signal(SIGINT, signalHandler); signal(SIGTERM, signalHandler); @@ -88,6 +90,9 @@ svSystemSpecificInitialisation(); + bool audioOutput = true; + if (args.contains("--no-audio")) audioOutput = false; + QApplication::setOrganizationName("sonic-visualiser"); QApplication::setOrganizationDomain("sonicvisualiser.org"); QApplication::setApplicationName("sonic-visualiser"); @@ -112,7 +117,7 @@ qRegisterMetaType("size_t"); qRegisterMetaType("PropertyContainer::PropertyName"); - MainWindow gui; + MainWindow gui(audioOutput); application.setMainWindow(&gui); QDesktopWidget *desktop = QApplication::desktop(); @@ -134,8 +139,16 @@ gui.show(); - if (argc > 1) { - QString path = argv[1]; + QString path; + for (QStringList::iterator i = args.begin(); i != args.end(); ++i) { + if (i == args.begin()) continue; + if (!i->startsWith('-')) { + path = *i; + break; + } + } + + if (!path.isEmpty()) { bool success = false; if (path.endsWith(".sv")) { success = gui.openSessionFile(path);