diff base/PropertyContainer.h @ 29:8460b3bf8f04

* Implement play mute, level and pan controls and a layer visibility control * Handle swapping the buffers in AudioCallbackPlaySource more gracefully, so that in many cases it can be done inaudibly. Still gets it wrong when playing in a noncontiguous selection. * Fix to SV file save for non-2d sparse models * Fixes to LED button drawing and AudioDial mouse functionality * Add progress bar for Ogg file import * Reshuffle PropertyContainer and its subclasses so it can be a QObject * Add layer dormancy (invisible layer permitted to free its cache space) * Optimisations to SpectrogramLayer, removing locks when reading/writing individual pixels in the cache (should be unnecessary there) -- there's still an issue here as we need a lock when reading from the model in case the model is replaced, and we don't currently have one * Several munlock() calls to make it harder to exhaust real memory if running in an RT mode with mlockall() active
author Chris Cannam
date Fri, 17 Feb 2006 18:04:26 +0000
parents 4b16526b011b
children 5364a9d338a2
line wrap: on
line diff
--- a/base/PropertyContainer.h	Wed Feb 15 17:58:35 2006 +0000
+++ b/base/PropertyContainer.h	Fri Feb 17 18:04:26 2006 +0000
@@ -16,8 +16,10 @@
 
 class PlayParameters;
 
-class PropertyContainer
+class PropertyContainer : public QObject
 {
+    Q_OBJECT
+
 public:
     virtual ~PropertyContainer() { }
 
@@ -72,17 +74,21 @@
     virtual QString getPropertyValueLabel(const PropertyName &,
 					  int value) const;
 
+    virtual QString getPropertyContainerName() const = 0;
+    virtual QString getPropertyContainerIconName() const = 0;
+
+    virtual PlayParameters *getPlayParameters() { return 0; }
+
+signals:
+    void propertyChanged(PropertyName);
+    
+public slots:
     /**
      * Set a property.  This is used for all property types.  For
      * boolean properties, zero is false and non-zero true; for
      * colours, the integer value should be treated as a qRgb.
      */
     virtual void setProperty(const PropertyName &, int value);
-
-    virtual QString getPropertyContainerName() const = 0;
-    virtual QString getPropertyContainerIconName() const = 0;
-
-    virtual PlayParameters *getPlayParameters() const { return 0; }
 };
 
 #endif