/*****************************************************************************

GRAOUMF TRACKER 2

Copyright (c) 1996 - 2002 Laurent de Soras

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.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

Contact the author : laurent@ohmforce.com
More information about this license : http://www.gnu.org/licenses/gpl.html

*****************************************************************************/



/*\\\ FICHIERS INCLUDE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/

#include	<stdio.h>

#include	"archi.h"
#include	"base_ct.h"
#include	"gtracker.h"
#include	"PatEventField.h"
#include	"PatEventFieldNote.h"
#include	"PatEventFieldInstr.h"
#include	"PatEventFieldCmd.h"
#include	"PatEventFieldVol.h"
#include	"PatEventFieldVal2d.h"
#include	"PatEventFieldVal3d.h"
#include	"PatEventFieldValInt.h"
#include	"PatEventFieldVal4h.h"
#include	"PatEventFieldEffect4h.h"
#include	"PatEventFieldEffect6h.h"
#include	"PatEventFieldVal2h.h"
#include	"tracks.h"



/*\\\ CONSTANTES PUBLIQUES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/



/*\\\ CONSTANTES PRIVEES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/



/*\\\ TYPES & STRUCTURES PRIVEES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/



/*\\\ DEFINITION DES VARIABLES DE CLASSE PUBLIQUES \\\\\\\\\\\\\\\\\\\\\\\\\*/



/*\\\ DEFINITION DES VARIABLES DE CLASSE PRIVEES \\\\\\\\\\\\\\\\\\\\\\\\\\\*/



/*\\\ METHODES PUBLIQUES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/



PatEventField::PatEventField (void)
{
}



PatEventField::PatEventField (const PatEventField &other)
{
}



PatEventField::~PatEventField (void)
{
}



signed int	PatEventField::check_ok (void) const
{
	return (0);
}



void	PatEventField::self_display (void) const
{
}



void	PatEventField::operator = (const PatEventField &other)
{
}



int	PatEventField::operator == (const PatEventField &other) const
{
	return (false);
}



int	PatEventField::operator != (const PatEventField &other) const
{
	return (true);
}



PatEventField	*PatEventField::create_field (int content)
{
	switch (content)
	{
	case	TRK_CONTENT_NOTE:
		return (new PatEventFieldNote ());
		break;
	case	TRK_CONTENT_INSTR:
		return (new PatEventFieldInstr ());
		break;
	case	TRK_CONTENT_COMMAND:
		return (new PatEventFieldCmd ());
		break;
	case	TRK_CONTENT_VOLUME:
		return (new PatEventFieldVol ());
		break;
	case	TRK_CONTENT_EFFECT_6H:
		return (new PatEventFieldEffect6h ());
		break;
	case	TRK_CONTENT_EFFECT:
		return (new PatEventFieldEffect4h ());
		break;
	case	TRK_CONTENT_4H:
		return (new PatEventFieldVal4h ());
		break;
	case	TRK_CONTENT_2D:
		return (new PatEventFieldVal2d ());
		break;
	case	TRK_CONTENT_3D:
		return (new PatEventFieldVal3d ());
		break;
	case	TRK_CONTENT_INT:
		return (new PatEventFieldValInt ());
		break;
	case	TRK_CONTENT_2H:
		return (new PatEventFieldVal2h ());
		break;
	}

	return (NULL);
}



/*\\\ METHODES PRIVEES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/



/****************************************************************************/
/*                                                                          */
/*                                                                          */
/*                                                                          */
/****************************************************************************/



/*==========================================================================*/
/*      Nom:                                                                */
/*      Description:                                                        */
/*      Parametres en entree:                                               */
/*      Parametres en sortie:                                               */
/*      Parametres en entree/sortie:                                        */
/*      Retour:                                                             */
/*==========================================================================*/
