aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/dyn/dyn_api.cpp
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2009-04-01 23:28:24 +0000
committerThomas Grill <xovo@users.sourceforge.net>2009-04-01 23:28:24 +0000
commit36b48fabcf54a65541b08c0835b53daebd9357f6 (patch)
treecb5c8d6a5e75c142e2b396505fc70c77439f4296 /externals/grill/dyn/dyn_api.cpp
parent0ed7a8b68dd73e2b0473b8127aeca99f3bac9061 (diff)
replaced remaining dyn, dyn_py, idelay
svn path=/trunk/; revision=10953
Diffstat (limited to 'externals/grill/dyn/dyn_api.cpp')
-rw-r--r--externals/grill/dyn/dyn_api.cpp269
1 files changed, 0 insertions, 269 deletions
diff --git a/externals/grill/dyn/dyn_api.cpp b/externals/grill/dyn/dyn_api.cpp
deleted file mode 100644
index c1ecbf72..00000000
--- a/externals/grill/dyn/dyn_api.cpp
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
-dyn - dynamical object management
-
-Copyright (c)2003-2004 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-*/
-
-#include "dyn_proto.h"
-
-DYN_EXPORT int dyn_EnumObjects(dyn_id id,dyn_enumfun fun,void *data)
-{
- dyn_patcher *p;
- if(id && (p = id->Patcher())) {
- p->Enumerate(fun,data);
- return DYN_ERROR_NONE;
- }
- else
- return DYN_ERROR_NOTFOUND;
-}
-
-DYN_EXPORT int dyn_NewPatcher(int sched,dyn_id *sid,dyn_callback cb,dyn_id psid /*,const char *name*/)
-{
- try {
- ASSERT(sid);
- *sid = NewObject(DYN_TYPE_PATCHER,cb,psid,NULL);
- return *sid?DYN_ERROR_NONE:DYN_ERROR_GENERAL;
- }
- catch(int err) { return err; }
-}
-
-DYN_EXPORT int dyn_NewObject(int sched,dyn_id *oid,dyn_callback cb,dyn_id sid,const t_symbol *obj,int argc,const t_atom *argv)
-{
- try {
- ASSERT(oid);
- *oid = NewObject(DYN_TYPE_OBJECT,cb,sid,obj,argc,argv);
- return *oid?DYN_ERROR_NONE:DYN_ERROR_GENERAL;
- }
- catch(int err) { return err; }
-}
-
-DYN_EXPORT int dyn_NewObjectStr(int sched,dyn_id *oid,dyn_callback cb,dyn_id sid,const char *args)
-{
- t_binbuf *b = binbuf_new();
- binbuf_text(b,(char *)args,strlen(args));
- int argc = binbuf_getnatom(b);
- t_atom *argv = binbuf_getvec(b);
- int ret;
- if(argc) {
- t_symbol *sym;
- if(argv->a_type == A_SYMBOL) { sym = atom_getsymbol(argv); argc--,argv++; }
- else sym = &s_list;
- ret = dyn_NewObject(sched,oid,cb,sid,sym,argc,argv);
- }
- else
- ret = DYN_ERROR_PARAMS;
- binbuf_free(b);
- return ret;
-}
-
-DYN_EXPORT int dyn_NewMessage(int sched,dyn_id *oid,dyn_callback cb,dyn_id sid,int argc,t_atom *argv)
-{
- try {
- ASSERT(oid);
- *oid = NewObject(DYN_TYPE_MESSAGE,cb,sid,NULL,argc,argv);
- return *oid?DYN_ERROR_NONE:DYN_ERROR_GENERAL;
- }
- catch(int err) { return err; }
-}
-
-DYN_EXPORT int dyn_NewMessageStr(int sched,dyn_id *oid,dyn_callback cb,dyn_id sid,const char *msg)
-{
- t_binbuf *b = binbuf_new();
- binbuf_text(b,(char *)msg,strlen(msg));
- int argc = binbuf_getnatom(b);
- t_atom *argv = binbuf_getvec(b);
- int ret = dyn_NewMessage(sched,oid,cb,sid,argc,argv);
- binbuf_free(b);
- return ret;
-}
-
-DYN_EXPORT int dyn_NewConnection(int sched,dyn_id *cid,dyn_callback cb,dyn_id soid,int outlet,dyn_id doid,int inlet)
-{
- ASSERT(cid);
- ASSERT(soid && inlet >= 0);
- ASSERT(doid && outlet >= 0);
-
- dyn_patchable *sobj = soid->Patchable();
- dyn_patchable *dobj = doid->Patchable();
-
- int ret = DYN_ERROR_NONE;
- dyn_id conn = DYN_ID_NONE;
-
- if(!sobj || !dobj) {
- ret = DYN_ERROR_TYPEMISMATCH;
- goto error;
- }
-
- if(sobj->owner != dobj->owner) {
- ret = DYN_ERROR_CONN_PATCHER;
- goto error;
- }
-
- {
- dyn_patcher *patcher = sobj->owner;
- ASSERT(patcher);
-
- // sys_lock();
-
- canvas_setcurrent(patcher->glist());
- bool ok =
- !canvas_isconnected(patcher->glist(),(t_text *)sobj->pdobj,outlet,(t_text *)dobj->pdobj,inlet) &&
- obj_connect((t_object *)sobj->pdobj, outlet,(t_object *)dobj->pdobj,inlet);
- canvas_unsetcurrent(patcher->glist());
- // sys_unlock();
-
- if(!ok) {
- ret = DYN_ERROR_CONN_GENERAL;
- goto error;
- }
- }
-
- conn = new dyn_ident(DYN_TYPE_CONN,cb);
- conn->Set(new dyn_conn(conn,soid,outlet,doid,inlet));
-
- // add connection to object lists
- sobj->AddOutlet(conn->Conn());
- dobj->AddInlet(conn->Conn());
-
- *cid = conn;
- return ret;
-
-error:
- if(conn != DYN_ID_NONE) delete conn;
- return ret;
-}
-
-DYN_EXPORT int dyn_Free(int sched,dyn_id oid)
-{
- try {
- DelObject(oid);
- return DYN_ERROR_NONE;
- }
- catch(int err) { return err; }
-}
-
-// NOT IMPLEMENTED
-DYN_EXPORT int dyn_Reset()
-{
- return DYN_ERROR_GENERAL;
-}
-
-
-DYN_EXPORT int dyn_SetData(dyn_id oid,void *data)
-{
- if(oid) {
- oid->userdata = data;
- return DYN_ERROR_NONE;
- }
- else
- return DYN_ERROR_NOTFOUND;
-}
-
-DYN_EXPORT int dyn_GetData(dyn_id oid,void **data)
-{
- ASSERT(data);
- if(oid) {
- *data = oid->userdata;
- return DYN_ERROR_NONE;
- }
- else
- return DYN_ERROR_NOTFOUND;
-}
-
-
-DYN_EXPORT int dyn_GetType(dyn_id oid)
-{
- if(oid)
- return oid->type;
- else
- return DYN_ERROR_NOTFOUND;
-}
-
-
-DYN_EXPORT int dyn_GetInletCount(dyn_id id)
-{
- dyn_patchable *p;
- if(id && (p = id->Patchable()))
- return p->GetInletCount();
- else
- return DYN_ERROR_NOTFOUND;
-}
-
-DYN_EXPORT int dyn_GetOutletCount(dyn_id id)
-{
- dyn_patchable *p;
- if(id && (p = id->Patchable()))
- return p->GetOutletCount();
- else
- return DYN_ERROR_NOTFOUND;
-}
-
-DYN_EXPORT int dyn_GetInletType(dyn_id id,int inlet)
-{
- dyn_patchable *p;
- if(id && (p = id->Patchable()))
- return p->GetInletType(inlet);
- else
- return DYN_ERROR_NOTFOUND;
-}
-
-DYN_EXPORT int dyn_GetOutletType(dyn_id id,int outlet)
-{
- dyn_patchable *p;
- if(id && (p = id->Patchable()))
- return p->GetOutletType(outlet);
- else
- return DYN_ERROR_NOTFOUND;
-}
-
-
-DYN_EXPORT int dyn_GetConnectionSource(dyn_id cid,dyn_id *soid,int *outlet)
-{
- ASSERT(soid && outlet);
- dyn_conn *c;
- if(cid && (c = cid->Conn())) {
- *soid = c->src;
- *outlet = c->slet;
- return DYN_ERROR_NONE;
- }
- else
- return DYN_ERROR_NOTFOUND;
-}
-
-DYN_EXPORT int dyn_GetConnectionDrain(dyn_id cid,dyn_id *doid,int *inlet)
-{
- ASSERT(doid && inlet);
- dyn_conn *c;
- if(cid && (c = cid->Conn())) {
- *doid = c->dst;
- *inlet = c->dlet;
- return DYN_ERROR_NONE;
- }
- else
- return DYN_ERROR_NOTFOUND;
-}
-
-
-DYN_EXPORT int dyn_EnumInletConnections(dyn_id id,int inlet,dyn_enumfun fun,void *data)
-{
- dyn_patchable *p;
- if(id && (p = id->Patchable())) {
- p->EnumInlet(inlet,fun,data);
- return DYN_ERROR_NONE;
- }
- else
- return DYN_ERROR_NOTFOUND;
-}
-
-DYN_EXPORT int dyn_EnumOutletConnections(dyn_id id,int outlet,dyn_enumfun fun,void *data)
-{
- dyn_patchable *p;
- if(id && (p = id->Patchable())) {
- p->EnumOutlet(outlet,fun,data);
- return DYN_ERROR_NONE;
- }
- else
- return DYN_ERROR_NOTFOUND;
-}