diff view/ViewManager.h @ 301:5636eeacc467

* Merge from sv-match-alignment branch (excluding alignment-specific document). - add aggregate wave model (not yet complete enough to be added as a true model in a layer, but there's potential) - add play solo mode - add alignment model -- unused in plain SV - fix two plugin leaks - add m3u playlist support (opens all files at once, potentially hazardous) - fix retrieval of pre-encoded URLs - add ability to resample audio files on import, so as to match rates with other files previously loaded; add preference for same - add preliminary support in transform code for range and rate of transform input - reorganise preferences dialog, move dark-background option to preferences, add option for temporary directory location
author Chris Cannam
date Fri, 28 Sep 2007 13:56:38 +0000
parents 24fc90078754
children 7b96a3261e1c
line wrap: on
line diff
--- a/view/ViewManager.h	Thu Sep 06 15:17:35 2007 +0000
+++ b/view/ViewManager.h	Fri Sep 28 13:56:38 2007 +0000
@@ -65,6 +65,10 @@
     unsigned long getPlaybackFrame() const;
     void setPlaybackFrame(unsigned long frame);
 
+    // Only meaningful in solo mode, and used for optional alignment feature
+    Model *getPlaybackModel() const;
+    void setPlaybackModel(Model *);
+
     bool haveInProgressSelection() const;
     const Selection &getInProgressSelection(bool &exclusive) const;
     void setInProgressSelection(const Selection &selection, bool exclusive);
@@ -105,6 +109,9 @@
     bool getPlaySelectionMode() const { return m_playSelectionMode; }
     void setPlaySelectionMode(bool on);
 
+    bool getPlaySoloMode() const { return m_playSoloMode; }
+    void setPlaySoloMode(bool on);
+
     /**
      * The sample rate that is used for playback.  This is usually the
      * rate of the main model, but not always.  Models whose rates
@@ -199,6 +206,10 @@
     void playSelectionModeChanged();
     void playSelectionModeChanged(bool);
 
+    /** Emitted when the play solo mode has been changed. */
+    void playSoloModeChanged();
+    void playSoloModeChanged(bool);
+
     /** Emitted when the overlay mode has been changed. */
     void overlayModeChanged();
 
@@ -220,6 +231,7 @@
     unsigned long m_globalCentreFrame;
     unsigned long m_globalZoom;
     mutable unsigned long m_playbackFrame;
+    Model *m_playbackModel; //!!!
     size_t m_mainModelSampleRate;
 
     float m_lastLeft;
@@ -235,6 +247,7 @@
 
     bool m_playLoopMode;
     bool m_playSelectionMode;
+    bool m_playSoloMode;
 
     void setSelections(const MultiSelection &ms);
     void signalSelectionChange();