diff transform/TransformFactory.h @ 64:4d59dc469b0f

* Ensure plugin parameters for a transform are saved in the .sv file and restored in case the plugin has to be run again * Make plugin dialog offer options for mixdown/single-channel use if the file has more than one channels but the plugin only accepts one * Fix incorrect samplerate playback for second file loaded if its samplerate differed from first * Add Zoom to Fit and Select Visible Range menu options, split out Import Audio into main model and secondary model options * Add stubs for cut, copy and paste operations (not implemented yet)
author Chris Cannam
date Thu, 30 Mar 2006 13:18:11 +0000
parents ba405e5e69d3
children 9e027aa5b5c3
line wrap: on
line diff
--- a/transform/TransformFactory.h	Wed Mar 29 12:35:17 2006 +0000
+++ b/transform/TransformFactory.h	Thu Mar 30 13:18:11 2006 +0000
@@ -65,6 +65,7 @@
      * is acceptable, false if the operation should be cancelled.
      */
     bool getConfigurationForTransform(TransformName name, Model *inputModel,
+                                      int &channel,
                                       QString &configurationXml);
 
     /**
@@ -81,7 +82,7 @@
      * when no longer needed.
      */
     Model *transform(TransformName name, Model *inputModel,
-                     QString configurationXml = "");
+                     int channel, QString configurationXml = "");
 
     /**
      * Full description of a transform, suitable for putting on a menu.
@@ -103,6 +104,15 @@
      */
     bool isTransformConfigurable(TransformName name);
 
+    /**
+     * If the transform has a prescribed number or range of channel
+     * inputs, return true and set minChannels and maxChannels to the
+     * minimum and maximum number of channel inputs the transform can
+     * accept.
+     */
+    bool getTransformChannelRange(TransformName name,
+                                  int &minChannels, int &maxChannels);
+
     //!!! Need some way to indicate that the input model has changed /
     //been deleted so as not to blow up backgrounded transform!  -- Or
     //indeed, if the output model has been deleted -- could equally
@@ -115,7 +125,7 @@
 
 protected:
     Transform *createTransform(TransformName name, Model *inputModel,
-                               QString configurationXml, bool start);
+                               int channel, QString configurationXml, bool start);
 
     struct TransformIdent
     {