/*
 *  demux.h from ObjectProDSP 0.2
 *  Copyright (C) 1994 1995, Mountain Math Software, All rights reserved.
 *  Licensed for free use and distribution under version 2 of the Gnu General
 *  Public License. Please see file COPYING for details and restrictions.
 *  
 *  ObjectProDSP is a trademark of Mountain Math Software.
 */

#ifndef DEMUX_DOT_H
#define DEMUX_DOT_H
#define __DSP_PP_TARGET_CODE__

#include "ObjProDSP/portable.h"
#include "ObjProDSP/entenm.h"
#include "ObjProGen/debug.h"
#include "ObjProDSPcom/tarnod.h"
class Demux: public TargetNode {
	int16  Channels_1;
	int32  InputSampleSize_2;
	int32  InputElementSize_3;
	int32  OutputElementSize_4;
public:
	Demux (const char * Name, int16 Channels, int32 InputSampleSize, 
		int32 InputElementSize, int32 OutputElementSize,
		DfNodeInLink* in_links, DfNodeOutLink* out_links,
		int ** exec_seq,  NodeExecuteType exec_type,
		int delay);
	virtual ~Demux();
	int16 GetChannels() const {return Channels_1;}
	int32 GetInputSampleSize() const {return InputSampleSize_2;}
	int32 GetInputElementSize() const {return InputElementSize_3;}
	int32 GetOutputElementSize() const {return OutputElementSize_4;}
	virtual ErrCode DoNode(int32);
	virtual double TimeFirst(DfNodeInLink *,DfNodeOutLink *);
};

extern Demux * DemuxDef;


#endif /* #ifdef DEMUX_DOT_H */
