/***************************************************************************
 * songmodel.h: implementation of SongModel 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 SONGMODEL_H
#define SONGMODEL_H

#include <QObject>

#include "tabsong.h"

class SongKey;
class TabLyrics;

/*class SongModel : public QObject, public TabSong
{
	Q_OBJECT
public:
	SongModel();
	SongModel(const QString& title, int tempo);
	virtual ~SongModel();
	
	virtual TabSong& operator=(const TabSong& tabSong);
	
	virtual void push_back(TabTrack* tabTrack);
	virtual void push_front(TabTrack* tabTrack);
	
	virtual void setProperties(TabProperties* tabProperties);
	
	virtual void setTitle(const QString& s);
	virtual void setSubTitle(const QString& s);
	virtual void setArtist(const QString& s);
	virtual void setAlbum(const QString& s);
	virtual void setAuthor(const QString& s);
	virtual void setCopyright(const QString& s);
	virtual void setTranscriber(const QString& s);
	virtual void setInstructions(const QString& s);
	virtual void setComments(const QString& s);
	virtual void setShuffle(bool i);
	virtual void setTempo(unsigned int i);
	virtual void setOctave(int i);
	
	virtual void setSongKey(SongKey* songKey);
	
	virtual void setKey(QChar c);
	virtual void setMinor(bool i);
	
	virtual void setTabLyrics(TabLyrics* lyrics);
	
	virtual void setLyricsTrack(int i);
	virtual void setLyricsMeasure(int i, int j);
	virtual void setLyrics(int i, const QString& s);
	
public slots:
	virtual void propertiesChanged(TabProperties*);
	virtual void addATrack(TabTrack*);
	
signals:
	void songDeleted();
	void trackAdded(TabTrack*);
	void trackDeleted(TabTrack*);
	
	void songPropertiesChanged(TabProperties*);
private:
};
*/
#endif
