- merge v0.01 --> Añadido fileselector - Añadidas fuentes de Gem y Pure Data - pix2jpg incluído en Gem. Archivos de construcción de Gem modificados. - Añadido fichero ompiling.txt con instrucciones de compilación
102 lines
2.4 KiB
C++
102 lines
2.4 KiB
C++
/*-----------------------------------------------------------------
|
|
LOG
|
|
GEM - Graphics Environment for Multimedia
|
|
|
|
ordered receive
|
|
|
|
Copyright (c) 2008-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
|
|
For information on usage and redistribution, and for a DISCLAIMER OF ALL
|
|
WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
|
|
|
|
-----------------------------------------------------------------*/
|
|
|
|
#ifndef _INCLUDE__GEM_CONTROLS_GEMRECEIVE_H_
|
|
#define _INCLUDE__GEM_CONTROLS_GEMRECEIVE_H_
|
|
|
|
#include "Base/CPPExtern.h"
|
|
|
|
/*-----------------------------------------------------------------
|
|
-------------------------------------------------------------------
|
|
CLASS
|
|
gemreceive
|
|
|
|
[receive] with explicit order
|
|
|
|
DESCRIPTION
|
|
|
|
this object is really totally unrelated to Gem.
|
|
however, it is included here, in order to replace the current
|
|
(integrated) implementation of [gemhead] with an abstraction that makes use
|
|
of an ordered [receive]
|
|
|
|
the original object was [oreceive] in the iemguts library
|
|
|
|
-----------------------------------------------------------------*/
|
|
|
|
EXTERN_STRUCT _bind_element;
|
|
EXTERN_STRUCT _gemreceive_proxy;
|
|
|
|
typedef struct _bind_element t_bind_element;
|
|
typedef struct _gemreceive_proxy t_gemreceive_proxy;
|
|
|
|
|
|
class GEM_EXTERN gemreceive : public CPPExtern
|
|
{
|
|
CPPEXTERN_HEADER(gemreceive, CPPExtern);
|
|
|
|
public:
|
|
|
|
//////////
|
|
// Constructor
|
|
gemreceive(t_symbol*s, t_floatarg f=50.f);
|
|
|
|
protected:
|
|
|
|
//////////
|
|
// Destructor
|
|
virtual ~gemreceive();
|
|
|
|
//////////
|
|
// keyboard-button
|
|
virtual void receive(t_symbol*s, int argc, t_atom*argv);
|
|
|
|
//////////
|
|
// the symbol we are bound to
|
|
void nameMess(std::string);
|
|
t_symbol*m_name;
|
|
|
|
//////////
|
|
// the receive priority
|
|
void priorityMess(t_float f);
|
|
t_float m_priority;
|
|
|
|
//////////
|
|
// The receive outlet
|
|
t_outlet *m_outlet;
|
|
|
|
//////////
|
|
// inlet for priority
|
|
t_inlet*m_fltin;
|
|
|
|
|
|
private:
|
|
|
|
//////////
|
|
// Static member functions
|
|
static void proxyCallback(t_gemreceive_proxy*, t_symbol*s, int argc, t_atom*argv);
|
|
|
|
static t_gemreceive_proxy*find_key(t_symbol*);
|
|
static t_gemreceive_proxy*add_key(t_symbol*);
|
|
static void add_element(t_gemreceive_proxy*, t_bind_element*);
|
|
|
|
static t_gemreceive_proxy*proxy_list;
|
|
|
|
|
|
public:
|
|
static void bind(gemreceive*x, t_symbol*name, t_float priority);
|
|
static void unbind(gemreceive*x, t_symbol*name);
|
|
|
|
|
|
};
|
|
|
|
#endif // for header file
|