/***************************************************************************
 * tabmixtablechanges.h: implementation of TabMixTableChanges class
 *
 * This file is part of KTabEdit, a KDE tabulature editor
 *
 * copyright (C) 2003-2007 the KTabEdit development team <mrgwen@gmail.com>
 ***************************************************************************/

/***************************************************************************
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * See the file COPYING for more information.
 ***************************************************************************/

#ifndef TABMIXTABLECHANGES_H
#define TABMIXTABLECHANGES_H

#include <QObject>

class TabMixTableChanges : public QObject
{
	Q_OBJECT
public:
	TabMixTableChanges();
	virtual ~TabMixTableChanges();
	
	virtual void clone(const TabMixTableChanges* mix);
	
	virtual void setInstrument(int i);
	virtual int instrument() const;
	
	virtual void setVolume(int i);
	virtual int volume() const;
	
	virtual void setBalance(int i);
	virtual int balance() const;
	
	virtual void setChorus(int i);
	virtual int chorus() const;
	
	virtual void setReverb(int i);
	virtual int reverb() const;
	
	virtual void setPhaser(int i);
	virtual int phaser() const;
	
	virtual void setTremolo(int i);
	virtual int tremolo() const;
	
	virtual void setTempo(int i);
	virtual int tempo() const;
	
	bool operator==(const TabMixTableChanges &) const;
	bool operator!=(const TabMixTableChanges &) const;
	
signals:
	void mixChanged();
	
private:
	int instrumentMix;
	int volumeMix;
	int balanceMix;
	int chorusMix;
	int reverbMix;
	int phaserMix;
	int tremoloMix;
	int tempoMix;
};

#endif
