Mercurial > hg > svapp
diff framework/MainWindowBase.h @ 482:01669adb0956 tony-2.0-integration
Merge through to branch for Tony 2.0
author | Chris Cannam |
---|---|
date | Thu, 20 Aug 2015 14:54:21 +0100 |
parents | 411e019474e5 |
children | 493f2af85497 |
line wrap: on
line diff
--- a/framework/MainWindowBase.h Mon Apr 13 13:52:05 2015 +0100 +++ b/framework/MainWindowBase.h Thu Aug 20 14:54:21 2015 +0100 @@ -46,7 +46,7 @@ class WaveformLayer; class WaveFileModel; class AudioCallbackPlaySource; -class AudioCallbackPlayTarget; +class AudioRecordTarget; class CommandHistory; class QMenu; class AudioDial; @@ -63,6 +63,11 @@ class QSignalMapper; class QShortcut; +namespace breakfastquay { +class SystemPlaybackTarget; +class SystemAudioIO; +} + /** * The base class for the SV main window. This includes everything to * do with general document and pane stack management, but nothing @@ -77,7 +82,15 @@ Q_OBJECT public: - MainWindowBase(bool withAudioOutput, bool withMIDIInput); + enum SoundOption { + WithAudioOutput = 0x01, + WithAudioInput = 0x02, + WithMIDIInput = 0x04, + WithEverything = 0xff + }; + typedef int SoundOptions; + + MainWindowBase(SoundOptions options = WithEverything); virtual ~MainWindowBase(); enum AudioFileOpenMode { @@ -146,6 +159,7 @@ void canZoom(bool); void canScroll(bool); void canPlay(bool); + void canRecord(bool); void canFfwd(bool); void canRewind(bool); void canPlaySelection(bool); @@ -159,6 +173,7 @@ void canSave(bool); void canSaveAs(bool); void hideSplash(); + void hideSplash(QWidget *); void sessionLoaded(); void audioFileLoaded(); void replacedDocument(); @@ -195,6 +210,7 @@ virtual void ffwdEnd(); virtual void rewind(); virtual void rewindStart(); + virtual void record(); virtual void stop(); virtual void ffwdSimilar(); @@ -288,6 +304,8 @@ virtual void closeSession() = 0; + virtual void emitHideSplash(); + virtual void newerVersionAvailable(QString) { } virtual void menuActionMapperInvoked(QObject *); @@ -301,9 +319,12 @@ ViewManager *m_viewManager; Layer *m_timeRulerLayer; - bool m_audioOutput; + SoundOptions m_soundOptions; + AudioCallbackPlaySource *m_playSource; - AudioCallbackPlayTarget *m_playTarget; + AudioRecordTarget *m_recordTarget; + breakfastquay::SystemPlaybackTarget *m_playTarget; // only one of this... + breakfastquay::SystemAudioIO *m_audioIO; // ... and this exists class OSCQueueStarter : public QThread { @@ -418,7 +439,7 @@ virtual QString getDefaultSessionTemplate() const; virtual void setDefaultSessionTemplate(QString); - virtual void createPlayTarget(); + virtual void createAudioIO(); virtual void openHelpUrl(QString url); virtual void setupMenus() = 0;