view base/PlayParameterRepository.h @ 48:b1d51d0521c3

* update TODO, some tidying
author Chris Cannam
date Mon, 20 Mar 2006 11:37:45 +0000
parents a6ef94ecbe74
children 39ae3dee27b9
line wrap: on
line source
/* -*- c-basic-offset: 4 -*-  vi:set ts=8 sts=4 sw=4: */

/*
    A waveform viewer and audio annotation editor.
    Chris Cannam, Queen Mary University of London, 2005-2006
    
    This is experimental software.  Not for distribution.
*/

#ifndef _PLAY_PARAMETER_REPOSITORY_H_
#define _PLAY_PARAMETER_REPOSITORY_H_

class PlayParameters;
class Model;

#include <map>

#include <QObject>

class PlayParameterRepository : public QObject
{
    Q_OBJECT

public:
    static PlayParameterRepository *instance();

    virtual ~PlayParameterRepository();

    void addModel(const Model *model);
    void removeModel(const Model *model);

    PlayParameters *getPlayParameters(const Model *model) const;

    void clear();

signals:
    void playParametersChanged(PlayParameters *);

protected slots:
    void playParametersChanged();

protected:
    std::map<const Model *, PlayParameters *> m_playParameters;

    static PlayParameterRepository *m_instance;
};

#endif