[PD-cvs] externals/PDContainer/src h_deque.cpp, 1.3, 1.4 h_list.cpp, 1.5, 1.6 HList.cpp, 1.1.1.1, 1.2 h_map.cpp, 1.3, 1.4 h_multimap.cpp, 1.3, 1.4 HMultiMap.cpp, 1.1.1.1, 1.2 h_multiset.cpp, 1.3, 1.4 h_prioqueue.cpp, 1.1.1.1, 1.2 h_queue.cpp, 1.1.1.1, 1.2 h_set.cpp, 1.3, 1.4 h_stack.cpp, 1.1.1.1, 1.2 h_vector.cpp, 1.3, 1.4 PDContainer.cpp, 1.1.1.1, 1.2
Georg Holzmann
grholzi at users.sourceforge.net
Sun Oct 9 23:50:59 CEST 2005
- Previous message: [PD-cvs] externals/tb/chaos/src chaos_dsp.hpp,1.12,1.13
- Next message: [PD-cvs] externals/PDContainer/include ContainerBase.h, 1.2, 1.3 GlobalStuff.h, 1.5, 1.6 HList.h, 1.4, 1.5 HMap.h, 1.1.1.1, 1.2 HMultiMap.h, 1.1.1.1, 1.2 HPrioQueue.h, 1.1.1.1, 1.2 MapBase.h, 1.2, 1.3 QueueStack.h, 1.2, 1.3 SequBase.h, 1.3, 1.4 SimpleBase.h, 1.2, 1.3
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/pure-data/externals/PDContainer/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12682
Modified Files:
h_deque.cpp h_list.cpp HList.cpp h_map.cpp h_multimap.cpp
HMultiMap.cpp h_multiset.cpp h_prioqueue.cpp h_queue.cpp
h_set.cpp h_stack.cpp h_vector.cpp PDContainer.cpp
Log Message:
version 0.2
Index: h_multiset.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/PDContainer/src/h_multiset.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** h_multiset.cpp 5 May 2005 23:00:56 -0000 1.3
--- h_multiset.cpp 9 Oct 2005 21:50:57 -0000 1.4
***************
*** 33,40 ****
}
! Element key;
! key.length = argc;
! key.atom = argv;
!
x->hmultiset->add( key );
}
--- 33,37 ----
}
! Element key(argc,argv);
x->hmultiset->add( key );
}
***************
*** 48,55 ****
}
! Element key;
! key.length = argc;
! key.atom = argv;
!
int output = x->hmultiset->get( key );
--- 45,49 ----
}
! Element key(argc,argv);
int output = x->hmultiset->get( key );
***************
*** 65,72 ****
}
! Element key;
! key.length = argc;
! key.atom = argv;
!
x->hmultiset->remove( key );
}
--- 59,63 ----
}
! Element key(argc,argv);
x->hmultiset->remove( key );
}
Index: HMultiMap.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/PDContainer/src/HMultiMap.cpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** HMultiMap.cpp 25 Oct 2004 19:02:30 -0000 1.1.1.1
--- HMultiMap.cpp 9 Oct 2005 21:50:57 -0000 1.2
***************
*** 34,41 ****
}
! // returns a NULL-pointer if there's no element
! // (okay, thats not good, I'll change that)
! Element *nothing;
! nothing = 0;
! return *nothing;
}
--- 34,38 ----
}
! // throw an exception if nothing was found
! throw "h_multimap, get: Element not found !";
}
Index: HList.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/PDContainer/src/HList.cpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** HList.cpp 25 Oct 2004 19:02:30 -0000 1.1.1.1
--- HList.cpp 9 Oct 2005 21:50:57 -0000 1.2
***************
*** 77,81 ****
// into the objects and add them to the container
! t_atom *key_atom = new t_atom[key_count];
if(key_atom == NULL)
post("Fatal Error Out Of Memory (%s-readFromFile)",dataname_.c_str());
--- 77,81 ----
// into the objects and add them to the container
! t_atom *key_atom = (t_atom*)getbytes(key_count*sizeof(t_atom));
if(key_atom == NULL)
post("Fatal Error Out Of Memory (%s-readFromFile)",dataname_.c_str());
***************
*** 98,108 ****
}
! key.length = key_count;
! key.atom = (t_atom*)copybytes(key_atom, key_count * sizeof(t_atom));
// insert the data
data_[h_namespace_].insert(iter_,key);
! delete[] key_atom;
}
--- 98,107 ----
}
! key.setAtoms(key_count,key_atom);
// insert the data
data_[h_namespace_].insert(iter_,key);
! freebytes(key_atom, key_count*sizeof(t_atom));
}
Index: h_stack.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/PDContainer/src/h_stack.cpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** h_stack.cpp 25 Oct 2004 19:02:30 -0000 1.1.1.1
--- h_stack.cpp 9 Oct 2005 21:50:57 -0000 1.2
***************
*** 29,36 ****
if(argc)
{
! Element key;
! key.length = argc;
! key.atom = argv;
!
x->hstack->push(key);
}
--- 29,33 ----
if(argc)
{
! Element key(argc,argv);
x->hstack->push(key);
}
***************
*** 60,76 ****
Element output = x->hstack->top();
! if(output.length == 1) // symbol or float
{
! if (output.atom[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.atom[0].a_w.w_float);
! if (output.atom[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.atom[0].a_w.w_symbol);
return;
}
! if(output.length > 1) // list
{
! outlet_list(x->out0,&s_list,output.length,output.atom);
return;
}
}
--- 57,78 ----
Element output = x->hstack->top();
! if(output.getLength() == 1) // symbol or float
{
! if (output.getAtom()[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.getAtom()[0].a_w.w_float);
! if (output.getAtom()[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.getAtom()[0].a_w.w_symbol);
! if (output.getAtom()[0].a_type == A_POINTER)
! outlet_pointer(x->out0, output.getAtom()[0].a_w.w_gpointer);
return;
}
! if(output.getLength() > 1) // list
{
! outlet_list(x->out0,&s_list,output.getLength(),output.getAtom());
return;
}
+
+ // no data
+ outlet_bang(x->out2);
}
Index: h_prioqueue.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/PDContainer/src/h_prioqueue.cpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** h_prioqueue.cpp 25 Oct 2004 19:02:30 -0000 1.1.1.1
--- h_prioqueue.cpp 9 Oct 2005 21:50:57 -0000 1.2
***************
*** 62,113 ****
// symbol without selector "symbol":
if(argc == 0)
! {
! x->value.length = 1;
! SETSYMBOL(x->value.atom, s);
! x->event_set = true;
! return;
! }
// input is a list without selector "list":
if ( argc && (strcmp(s->s_name,"list")!=0)
! && (strcmp(s->s_name,"float")!=0) && (strcmp(s->s_name,"symbol")!=0) )
! {
! t_atom *atoms = new t_atom[argc+1];
// add the selector symbol to the list:
! SETSYMBOL(atoms, s);
! for(int i=0; i<argc; i++)
! {
! if(argv[i].a_type == A_FLOAT)
! SETFLOAT(&atoms[i+1],argv[i].a_w.w_float);
! if(argv[i].a_type == A_SYMBOL)
! SETSYMBOL(&atoms[i+1],argv[i].a_w.w_symbol);
! }
! if (x->value.length != argc+1)
! {
! freebytes(x->value.atom, x->value.length * sizeof(t_atom));
! x->value.length = argc+1;
! x->value.atom = (t_atom*)copybytes(atoms, (argc+1) * sizeof(t_atom));
! } else memcpy(x->value.atom, atoms, (argc+1) * sizeof(t_atom));
! x->event_set = true;
! delete[] atoms;
! return;
! }
! // "normal" input (list, float or symbol):
if (argc)
! {
! if (x->value.length != argc)
! {
! freebytes(x->value.atom, x->value.length * sizeof(t_atom));
! x->value.length = argc;
! x->value.atom = (t_atom*)copybytes(argv, argc * sizeof(t_atom));
! } else memcpy(x->value.atom, argv, argc * sizeof(t_atom));
! x->event_set = true;
! return;
! }
}
--- 62,108 ----
// symbol without selector "symbol":
if(argc == 0)
! {
! t_atom tmp;
! SETSYMBOL(&tmp, s);
! x->value.setAtoms(1, &tmp);
! x->event_set = true;
! return;
! }
// input is a list without selector "list":
if ( argc && (strcmp(s->s_name,"list")!=0)
! && (strcmp(s->s_name,"float")!=0)
! && (strcmp(s->s_name,"symbol")!=0)
! && (strcmp(s->s_name,"pointer")!=0) )
! {
! t_atom *atoms = (t_atom*)getbytes( (argc+1)*sizeof(t_atom) );
// add the selector symbol to the list:
! SETSYMBOL(atoms, s);
! for(int i=0; i<argc; i++)
! {
! if(argv[i].a_type == A_FLOAT)
! SETFLOAT(&atoms[i+1],argv[i].a_w.w_float);
! if(argv[i].a_type == A_SYMBOL)
! SETSYMBOL(&atoms[i+1],argv[i].a_w.w_symbol);
! if(argv[i].a_type == A_POINTER)
! SETPOINTER(&atoms[i+1],argv[i].a_w.w_gpointer);
! }
! x->value.setAtoms(argc+1, atoms);
! x->event_set = true;
! freebytes(atoms, (argc+1)*sizeof(t_atom));
! return;
! }
! // "normal" input (list, float, pointer or symbol):
if (argc)
! {
! x->value.setAtoms(argc, argv);
! x->event_set = true;
! return;
! }
}
***************
*** 123,137 ****
Element output = x->hpriority_queue->top();
! if(output.length == 1) // symbol or float
{
! if (output.atom[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.atom[0].a_w.w_float);
! if (output.atom[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.atom[0].a_w.w_symbol);
return;
}
! if(output.length > 1) // list
{
! outlet_list(x->out0,&s_list,output.length,output.atom);
return;
}
--- 118,134 ----
Element output = x->hpriority_queue->top();
! if(output.getLength() == 1) // symbol or float
{
! if (output.getAtom()[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.getAtom()[0].a_w.w_float);
! if (output.getAtom()[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.getAtom()[0].a_w.w_symbol);
! if (output.getAtom()[0].a_type == A_POINTER)
! outlet_pointer(x->out0, output.getAtom()[0].a_w.w_gpointer);
return;
}
! if(output.getLength() > 1) // list
{
! outlet_list(x->out0,&s_list,output.getLength(),output.getAtom());
return;
}
Index: h_queue.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/PDContainer/src/h_queue.cpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** h_queue.cpp 25 Oct 2004 19:02:30 -0000 1.1.1.1
--- h_queue.cpp 9 Oct 2005 21:50:57 -0000 1.2
***************
*** 29,36 ****
if(argc)
{
! Element key;
! key.length = argc;
! key.atom = argv;
!
x->hqueue->push(key);
}
--- 29,33 ----
if(argc)
{
! Element key(argc,argv);
x->hqueue->push(key);
}
***************
*** 60,76 ****
Element output = x->hqueue->front();
! if(output.length == 1) // symbol or float
{
! if (output.atom[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.atom[0].a_w.w_float);
! if (output.atom[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.atom[0].a_w.w_symbol);
return;
}
! if(output.length > 1) // list
{
! outlet_list(x->out0,&s_list,output.length,output.atom);
return;
}
}
--- 57,78 ----
Element output = x->hqueue->front();
! if(output.getLength() == 1) // symbol or float
{
! if (output.getAtom()[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.getAtom()[0].a_w.w_float);
! if (output.getAtom()[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.getAtom()[0].a_w.w_symbol);
! if (output.getAtom()[0].a_type == A_POINTER)
! outlet_pointer(x->out0, output.getAtom()[0].a_w.w_gpointer);
return;
}
! if(output.getLength() > 1) // list
{
! outlet_list(x->out0,&s_list,output.getLength(),output.getAtom());
return;
}
+
+ // outlet bang if no data here
+ outlet_bang(x->out2);
}
Index: h_deque.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/PDContainer/src/h_deque.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** h_deque.cpp 5 May 2005 23:00:56 -0000 1.3
--- h_deque.cpp 9 Oct 2005 21:50:57 -0000 1.4
***************
*** 92,146 ****
{
t_h_deque *x = (t_h_deque *)(p->x);
!
// symbol without selector "symbol":
if(argc == 0)
! {
! x->value.length = 1;
! SETSYMBOL(x->value.atom, s);
! x->event_set = true;
! return;
! }
// input is a list without selector "list":
if ( argc && (strcmp(s->s_name,"list")!=0)
! && (strcmp(s->s_name,"float")!=0) && (strcmp(s->s_name,"symbol")!=0) )
! {
! t_atom *atoms = new t_atom[argc+1];
// add the selector symbol to the list:
! SETSYMBOL(atoms, s);
! for(int i=0; i<argc; i++)
! {
! if(argv[i].a_type == A_FLOAT)
! SETFLOAT(&atoms[i+1],argv[i].a_w.w_float);
! if(argv[i].a_type == A_SYMBOL)
! SETSYMBOL(&atoms[i+1],argv[i].a_w.w_symbol);
! }
! if (x->value.length != argc+1)
! {
! freebytes(x->value.atom, x->value.length * sizeof(t_atom));
! x->value.length = argc+1;
! x->value.atom = (t_atom*)copybytes(atoms, (argc+1) * sizeof(t_atom));
! } else memcpy(x->value.atom, atoms, (argc+1) * sizeof(t_atom));
! x->event_set = true;
! delete[] atoms;
! return;
! }
// "normal" input (list, float or symbol):
if (argc)
! {
! if (x->value.length != argc)
! {
! freebytes(x->value.atom, x->value.length * sizeof(t_atom));
! x->value.length = argc;
! x->value.atom = (t_atom*)copybytes(argv, argc * sizeof(t_atom));
! } else memcpy(x->value.atom, argv, argc * sizeof(t_atom));
! x->event_set = true;
! return;
! }
}
--- 92,141 ----
{
t_h_deque *x = (t_h_deque *)(p->x);
!
// symbol without selector "symbol":
if(argc == 0)
! {
! t_atom tmp;
! SETSYMBOL(&tmp, s);
! x->value.setAtoms(1, &tmp);
! x->event_set = true;
! return;
! }
// input is a list without selector "list":
if ( argc && (strcmp(s->s_name,"list")!=0)
! && (strcmp(s->s_name,"float")!=0)
! && (strcmp(s->s_name,"symbol")!=0)
! && (strcmp(s->s_name,"pointer")!=0) )
! {
! t_atom *atoms = (t_atom*)getbytes( (argc+1)*sizeof(t_atom) );
// add the selector symbol to the list:
! SETSYMBOL(atoms, s);
! for(int i=0; i<argc; i++)
! {
! if(argv[i].a_type == A_FLOAT)
! SETFLOAT(&atoms[i+1],argv[i].a_w.w_float);
! if(argv[i].a_type == A_SYMBOL)
! SETSYMBOL(&atoms[i+1],argv[i].a_w.w_symbol);
! if(argv[i].a_type == A_POINTER)
! SETPOINTER(&atoms[i+1],argv[i].a_w.w_gpointer);
! }
! x->value.setAtoms(argc+1, atoms);
! x->event_set = true;
! freebytes(atoms, (argc+1)*sizeof(t_atom));
! return;
! }
// "normal" input (list, float or symbol):
if (argc)
! {
! x->value.setAtoms(argc, argv);
! x->event_set = true;
! return;
! }
}
***************
*** 164,178 ****
Element output = x->hdeque->get( index );
! if(output.length == 1) // symbol or float
{
! if (output.atom[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.atom[0].a_w.w_float);
! if (output.atom[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.atom[0].a_w.w_symbol);
return;
}
! if(output.length > 1) // list
{
! outlet_list(x->out0,&s_list,output.length,output.atom);
return;
}
--- 159,175 ----
Element output = x->hdeque->get( index );
! if(output.getLength() == 1) // symbol or float
{
! if (output.getAtom()[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.getAtom()[0].a_w.w_float);
! if (output.getAtom()[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.getAtom()[0].a_w.w_symbol);
! if (output.getAtom()[0].a_type == A_POINTER)
! outlet_pointer(x->out0, output.getAtom()[0].a_w.w_gpointer);
return;
}
! if(output.getLength() > 1) // list
{
! outlet_list(x->out0,&s_list,output.getLength(),output.getAtom());
return;
}
***************
*** 186,193 ****
if(argc)
{
! Element key;
! key.length = argc;
! key.atom = argv;
!
x->hdeque->pushBack(key);
}
--- 183,187 ----
if(argc)
{
! Element key(argc,argv);
x->hdeque->pushBack(key);
}
***************
*** 217,231 ****
Element output = x->hdeque->back();
! if(output.length == 1) // symbol or float
{
! if (output.atom[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.atom[0].a_w.w_float);
! if (output.atom[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.atom[0].a_w.w_symbol);
return;
}
! if(output.length > 1) // list
{
! outlet_list(x->out0,&s_list,output.length,output.atom);
return;
}
--- 211,227 ----
Element output = x->hdeque->back();
! if(output.getLength() == 1) // symbol or float
{
! if (output.getAtom()[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.getAtom()[0].a_w.w_float);
! if (output.getAtom()[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.getAtom()[0].a_w.w_symbol);
! if (output.getAtom()[0].a_type == A_POINTER)
! outlet_pointer(x->out0, output.getAtom()[0].a_w.w_gpointer);
return;
}
! if(output.getLength() > 1) // list
{
! outlet_list(x->out0,&s_list,output.getLength(),output.getAtom());
return;
}
***************
*** 239,246 ****
if(argc)
{
! Element key;
! key.length = argc;
! key.atom = argv;
!
x->hdeque->pushFront(key);
}
--- 235,239 ----
if(argc)
{
! Element key(argc,argv);
x->hdeque->pushFront(key);
}
***************
*** 270,284 ****
Element output = x->hdeque->front();
! if(output.length == 1) // symbol or float
{
! if (output.atom[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.atom[0].a_w.w_float);
! if (output.atom[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.atom[0].a_w.w_symbol);
return;
}
! if(output.length > 1) // list
{
! outlet_list(x->out0,&s_list,output.length,output.atom);
return;
}
--- 263,279 ----
Element output = x->hdeque->front();
! if(output.getLength() == 1) // symbol or float
{
! if (output.getAtom()[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.getAtom()[0].a_w.w_float);
! if (output.getAtom()[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.getAtom()[0].a_w.w_symbol);
! if (output.getAtom()[0].a_type == A_POINTER)
! outlet_pointer(x->out0, output.getAtom()[0].a_w.w_gpointer);
return;
}
! if(output.getLength() > 1) // list
{
! outlet_list(x->out0,&s_list,output.getLength(),output.getAtom());
return;
}
***************
*** 394,398 ****
{
string symbol;
! int index;
switch(argc)
--- 389,393 ----
{
string symbol;
! int index=0;
switch(argc)
***************
*** 453,457 ****
{
string symbol;
! int index;
switch(argc)
--- 448,452 ----
{
string symbol;
! int index=0;
switch(argc)
Index: h_vector.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/PDContainer/src/h_vector.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** h_vector.cpp 5 May 2005 23:00:56 -0000 1.3
--- h_vector.cpp 9 Oct 2005 21:50:57 -0000 1.4
***************
*** 66,73 ****
if(argc)
{
! Element key;
! key.length = argc;
! key.atom = argv;
!
x->hvector->pushBack(key);
}
--- 66,70 ----
if(argc)
{
! Element key(argc,argv);
x->hvector->pushBack(key);
}
***************
*** 109,160 ****
// symbol without selector "symbol":
if(argc == 0)
! {
! x->value.length = 1;
! SETSYMBOL(x->value.atom, s);
! x->event_set = true;
! return;
! }
// input is a list without selector "list":
if ( argc && (strcmp(s->s_name,"list")!=0)
! && (strcmp(s->s_name,"float")!=0) && (strcmp(s->s_name,"symbol")!=0) )
! {
! t_atom *atoms = new t_atom[argc+1];
// add the selector symbol to the list:
! SETSYMBOL(atoms, s);
! for(int i=0; i<argc; i++)
! {
! if(argv[i].a_type == A_FLOAT)
! SETFLOAT(&atoms[i+1],argv[i].a_w.w_float);
! if(argv[i].a_type == A_SYMBOL)
! SETSYMBOL(&atoms[i+1],argv[i].a_w.w_symbol);
! }
! if (x->value.length != argc+1)
! {
! freebytes(x->value.atom, x->value.length * sizeof(t_atom));
! x->value.length = argc+1;
! x->value.atom = (t_atom*)copybytes(atoms, (argc+1) * sizeof(t_atom));
! } else memcpy(x->value.atom, atoms, (argc+1) * sizeof(t_atom));
! x->event_set = true;
! delete[] atoms;
! return;
! }
// "normal" input (list, float or symbol):
if (argc)
! {
! if (x->value.length != argc)
! {
! freebytes(x->value.atom, x->value.length * sizeof(t_atom));
! x->value.length = argc;
! x->value.atom = (t_atom*)copybytes(argv, argc * sizeof(t_atom));
! } else memcpy(x->value.atom, argv, argc * sizeof(t_atom));
! x->event_set = true;
! return;
! }
}
--- 106,152 ----
// symbol without selector "symbol":
if(argc == 0)
! {
! t_atom tmp;
! SETSYMBOL(&tmp, s);
! x->value.setAtoms(1, &tmp);
! x->event_set = true;
! return;
! }
// input is a list without selector "list":
if ( argc && (strcmp(s->s_name,"list")!=0)
! && (strcmp(s->s_name,"float")!=0)
! && (strcmp(s->s_name,"symbol")!=0)
! && (strcmp(s->s_name,"pointer")!=0) )
! {
! t_atom *atoms = (t_atom*)getbytes( (argc+1)*sizeof(t_atom) );
// add the selector symbol to the list:
! SETSYMBOL(atoms, s);
! for(int i=0; i<argc; i++)
! {
! if(argv[i].a_type == A_FLOAT)
! SETFLOAT(&atoms[i+1],argv[i].a_w.w_float);
! if(argv[i].a_type == A_SYMBOL)
! SETSYMBOL(&atoms[i+1],argv[i].a_w.w_symbol);
! if(argv[i].a_type == A_POINTER)
! SETPOINTER(&atoms[i+1],argv[i].a_w.w_gpointer);
! }
! x->value.setAtoms(argc+1, atoms);
! x->event_set = true;
! freebytes(atoms, (argc+1)*sizeof(t_atom));
! return;
! }
// "normal" input (list, float or symbol):
if (argc)
! {
! x->value.setAtoms(argc, argv);
! x->event_set = true;
! return;
! }
}
***************
*** 178,192 ****
Element output = x->hvector->get( index );
! if(output.length == 1) // symbol or float
{
! if (output.atom[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.atom[0].a_w.w_float);
! if (output.atom[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.atom[0].a_w.w_symbol);
return;
}
! if(output.length > 1) // list
{
! outlet_list(x->out0,&s_list,output.length,output.atom);
return;
}
--- 170,186 ----
Element output = x->hvector->get( index );
! if(output.getLength() == 1) // symbol or float
{
! if (output.getAtom()[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.getAtom()[0].a_w.w_float);
! if (output.getAtom()[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.getAtom()[0].a_w.w_symbol);
! if (output.getAtom()[0].a_type == A_POINTER)
! outlet_pointer(x->out0, output.getAtom()[0].a_w.w_gpointer);
return;
}
! if(output.getLength() > 1) // list
{
! outlet_list(x->out0,&s_list,output.getLength(),output.getAtom());
return;
}
***************
*** 313,317 ****
{
string symbol;
! int index;
switch(argc)
--- 307,311 ----
{
string symbol;
! int index=0;
switch(argc)
***************
*** 372,376 ****
{
string symbol;
! int index;
switch(argc)
--- 366,370 ----
{
string symbol;
! int index=0;
switch(argc)
Index: h_list.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/PDContainer/src/h_list.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** h_list.cpp 5 May 2005 23:00:56 -0000 1.5
--- h_list.cpp 9 Oct 2005 21:50:57 -0000 1.6
***************
*** 29,36 ****
if(argc)
{
! Element key;
! key.length = argc;
! key.atom = argv;
!
x->hlist->pushBack(key);
}
--- 29,33 ----
if(argc)
{
! Element key(argc,argv);
x->hlist->pushBack(key);
}
***************
*** 54,61 ****
if(argc)
{
! Element key;
! key.length = argc;
! key.atom = argv;
!
x->hlist->pushFront(key);
}
--- 51,55 ----
if(argc)
{
! Element key(argc,argv);
x->hlist->pushFront(key);
}
***************
*** 85,101 ****
Element output = x->hlist->back();
! if(output.length == 1) // symbol or float
{
! if (output.atom[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.atom[0].a_w.w_float);
! if (output.atom[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.atom[0].a_w.w_symbol);
return;
}
! if(output.length > 1) // list
{
! outlet_list(x->out0,&s_list,output.length,output.atom);
return;
}
}
--- 79,99 ----
Element output = x->hlist->back();
! if(output.getLength() == 1) // symbol, float or pointer
{
! if (output.getAtom()[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.getAtom()[0].a_w.w_float);
! if (output.getAtom()[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.getAtom()[0].a_w.w_symbol);
! if (output.getAtom()[0].a_type == A_POINTER)
! outlet_pointer(x->out0, output.getAtom()[0].a_w.w_gpointer);
return;
}
! if(output.getLength() > 1) // list
{
! outlet_list(x->out0,&s_list,output.getLength(),output.getAtom());
return;
}
+
+ outlet_bang(x->out3);
}
***************
*** 110,126 ****
Element output = x->hlist->front();
! if(output.length == 1) // symbol or float
{
! if (output.atom[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.atom[0].a_w.w_float);
! if (output.atom[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.atom[0].a_w.w_symbol);
return;
}
! if(output.length > 1) // list
{
! outlet_list(x->out0,&s_list,output.length,output.atom);
return;
}
}
--- 108,128 ----
Element output = x->hlist->front();
! if(output.getLength() == 1) // symbol or float
{
! if (output.getAtom()[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.getAtom()[0].a_w.w_float);
! if (output.getAtom()[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.getAtom()[0].a_w.w_symbol);
! if (output.getAtom()[0].a_type == A_POINTER)
! outlet_pointer(x->out0, output.getAtom()[0].a_w.w_gpointer);
return;
}
! if(output.getLength() > 1) // list
{
! outlet_list(x->out0,&s_list,output.getLength(),output.getAtom());
return;
}
+
+ outlet_bang(x->out3);
}
***************
*** 133,149 ****
}
! Element output = x->hlist->get();
! if(output.length == 1) // symbol or float
{
! if (output.atom[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.atom[0].a_w.w_float);
! if (output.atom[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.atom[0].a_w.w_symbol);
return;
}
! if(output.length > 1) // list
{
! outlet_list(x->out0,&s_list,output.length,output.atom);
return;
}
--- 135,164 ----
}
! Element output;
! try
! { output = x->hlist->get(); }
!
! catch(const char* s)
! {
! // if there was no Element found, put out a bang at the right outlet
! post("%s", s);
! outlet_bang(x->out3);
! return;
! }
!
! if(output.getLength() == 1) // symbol or float
{
! if (output.getAtom()[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.getAtom()[0].a_w.w_float);
! if (output.getAtom()[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.getAtom()[0].a_w.w_symbol);
! if (output.getAtom()[0].a_type == A_POINTER)
! outlet_pointer(x->out0, output.getAtom()[0].a_w.w_gpointer);
return;
}
! if(output.getLength() > 1) // list
{
! outlet_list(x->out0,&s_list,output.getLength(),output.getAtom());
return;
}
***************
*** 156,163 ****
if(argc)
{
! Element key;
! key.length = argc;
! key.atom = argv;
!
x->hlist->insert(key);
}
--- 171,175 ----
if(argc)
{
! Element key(argc,argv);
x->hlist->insert(key);
}
***************
*** 170,177 ****
if(argc)
{
! Element key;
! key.length = argc;
! key.atom = argv;
!
x->hlist->modify(key);
}
--- 182,186 ----
if(argc)
{
! Element key(argc,argv);
x->hlist->modify(key);
}
***************
*** 184,191 ****
if(argc)
{
! Element key;
! key.length = argc;
! key.atom = argv;
!
x->hlist->remove(key);
}
--- 193,197 ----
if(argc)
{
! Element key(argc,argv);
x->hlist->remove(key);
}
Index: h_map.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/PDContainer/src/h_map.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** h_map.cpp 5 May 2005 23:00:56 -0000 1.3
--- h_map.cpp 9 Oct 2005 21:50:57 -0000 1.4
***************
*** 45,54 ****
if(argc)
{
! Element key;
! key.length = argc;
! key.atom = argv;
!
x->hmap->add(key, x->value);
-
x->event_set = false;
}
--- 45,50 ----
if(argc)
{
! Element key(argc,argv);
x->hmap->add(key, x->value);
x->event_set = false;
}
***************
*** 64,69 ****
if(argc == 0)
{
! x->value.length = 1;
! SETSYMBOL(x->value.atom, s);
x->event_set = true;
return;
--- 60,66 ----
if(argc == 0)
{
! t_atom tmp;
! SETSYMBOL(&tmp, s);
! x->value.setAtoms(1, &tmp);
x->event_set = true;
return;
***************
*** 72,78 ****
// input is a list without selector "list":
if ( argc && (strcmp(s->s_name,"list")!=0)
! && (strcmp(s->s_name,"float")!=0) && (strcmp(s->s_name,"symbol")!=0) )
{
! t_atom *atoms = new t_atom[argc+1];
// add the selector symbol to the list:
--- 69,77 ----
// input is a list without selector "list":
if ( argc && (strcmp(s->s_name,"list")!=0)
! && (strcmp(s->s_name,"float")!=0)
! && (strcmp(s->s_name,"symbol")!=0)
! && (strcmp(s->s_name,"pointer")!=0) )
{
! t_atom *atoms = (t_atom*)getbytes( (argc+1)*sizeof(t_atom) );
// add the selector symbol to the list:
***************
*** 80,111 ****
for(int i=0; i<argc; i++)
! {
! if(argv[i].a_type == A_FLOAT)
! SETFLOAT(&atoms[i+1],argv[i].a_w.w_float);
! if(argv[i].a_type == A_SYMBOL)
! SETSYMBOL(&atoms[i+1],argv[i].a_w.w_symbol);
! }
! if (x->value.length != argc+1)
! {
! freebytes(x->value.atom, x->value.length * sizeof(t_atom));
! x->value.length = argc+1;
! x->value.atom = (t_atom*)copybytes(atoms, (argc+1) * sizeof(t_atom));
! } else memcpy(x->value.atom, atoms, (argc+1) * sizeof(t_atom));
x->event_set = true;
! delete[] atoms;
return;
}
! // "normal" input (list, float or symbol):
if (argc)
{
! if (x->value.length != argc)
! {
! freebytes(x->value.atom, x->value.length * sizeof(t_atom));
! x->value.length = argc;
! x->value.atom = (t_atom*)copybytes(argv, argc * sizeof(t_atom));
! } else memcpy(x->value.atom, argv, argc * sizeof(t_atom));
x->event_set = true;
return;
--- 79,102 ----
for(int i=0; i<argc; i++)
! {
! if(argv[i].a_type == A_FLOAT)
! SETFLOAT(&atoms[i+1],argv[i].a_w.w_float);
! if(argv[i].a_type == A_SYMBOL)
! SETSYMBOL(&atoms[i+1],argv[i].a_w.w_symbol);
! if(argv[i].a_type == A_POINTER)
! SETPOINTER(&atoms[i+1],argv[i].a_w.w_gpointer);
! }
! x->value.setAtoms(argc+1, atoms);
x->event_set = true;
! freebytes(atoms, (argc+1)*sizeof(t_atom));
return;
}
! // "normal" input (list, float, symbol or pointer):
if (argc)
{
! x->value.setAtoms(argc, argv);
x->event_set = true;
return;
***************
*** 119,141 ****
post("h_map, get: no arguments");
return;
! }
!
! Element key;
! key.length = argc;
! key.atom = argv;
! Element output = x->hmap->get( key );
! if(output.length == 1) // symbol or float
{
! if (output.atom[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.atom[0].a_w.w_float);
! if (output.atom[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.atom[0].a_w.w_symbol);
return;
}
! if(output.length > 1) // list
{
! outlet_list(x->out0,&s_list,output.length,output.atom);
return;
}
--- 110,142 ----
post("h_map, get: no arguments");
return;
! }
! Element key(argc,argv);
! Element output;
! try
! { output = x->hmap->get( key ); }
!
! catch(const char* s)
! {
! // if there was no Element found, put out a bang at the right outlet
! post("%s", s);
! outlet_bang(x->out2);
! return;
! }
!
! if(output.getLength() == 1) // symbol, float or pointer
{
! if (output.getAtom()[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.getAtom()[0].a_w.w_float);
! if (output.getAtom()[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.getAtom()[0].a_w.w_symbol);
! if (output.getAtom()[0].a_type == A_POINTER)
! outlet_pointer(x->out0, output.getAtom()[0].a_w.w_gpointer);
return;
}
! if(output.getLength() > 1) // list
{
! outlet_list(x->out0,&s_list,output.getLength(),output.getAtom());
return;
}
***************
*** 151,161 ****
post("h_map, remove: no arguments");
return;
! }
!
! Element key;
! key.length = argc;
! key.atom = argv;
! x->hmap->remove( key );
}
--- 152,164 ----
post("h_map, remove: no arguments");
return;
! }
! Element key(argc,argv);
!
! try
! { x->hmap->remove( key ); }
!
! catch(const char* s)
! { post("%s", s); }
}
Index: PDContainer.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/PDContainer/src/PDContainer.cpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** PDContainer.cpp 25 Oct 2004 19:02:30 -0000 1.1.1.1
--- PDContainer.cpp 9 Oct 2005 21:50:57 -0000 1.2
***************
*** 30,34 ****
post("Library (STL) of C++");
post("for documentation see the help patches");
! post("(by Georg Holzmann <grh at gmx.at>, 2004)");
post("------------------------------------------\n");
}
--- 30,34 ----
post("Library (STL) of C++");
post("for documentation see the help patches");
! post("(by Georg Holzmann <grh at mur.at>, 2004)");
post("------------------------------------------\n");
}
***************
*** 70,74 ****
//-end-----------------------------------------------
! post("\nPD-Container, Version: "PDC_VERSION", by Georg Holzmann <grh at gmx.at>, 2004");
// without an argument the following two methods wont work ??? why?? because of c++?
--- 70,74 ----
//-end-----------------------------------------------
! post("\nPD-Container, Version: "PDC_VERSION", by Georg Holzmann <grh at mur.at>, 2004-2005");
// without an argument the following two methods wont work ??? why?? because of c++?
Index: h_set.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/PDContainer/src/h_set.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** h_set.cpp 5 May 2005 23:00:56 -0000 1.3
--- h_set.cpp 9 Oct 2005 21:50:57 -0000 1.4
***************
*** 33,40 ****
}
! Element key;
! key.length = argc;
! key.atom = argv;
!
x->hset->add( key );
}
--- 33,37 ----
}
! Element key(argc,argv);
x->hset->add( key );
}
***************
*** 48,55 ****
}
! Element key;
! key.length = argc;
! key.atom = argv;
!
int output = x->hset->get( key );
--- 45,49 ----
}
! Element key(argc,argv);
int output = x->hset->get( key );
***************
*** 65,72 ****
}
! Element key;
! key.length = argc;
! key.atom = argv;
!
x->hset->remove( key );
}
--- 59,63 ----
}
! Element key(argc,argv);
x->hset->remove( key );
}
Index: h_multimap.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/PDContainer/src/h_multimap.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** h_multimap.cpp 5 May 2005 23:00:56 -0000 1.3
--- h_multimap.cpp 9 Oct 2005 21:50:57 -0000 1.4
***************
*** 45,54 ****
if(argc)
{
! Element key;
! key.length = argc;
! key.atom = argv;
!
x->hmultimap->add(key, x->value);
-
x->event_set = false;
}
--- 45,50 ----
if(argc)
{
! Element key(argc,argv);
x->hmultimap->add(key, x->value);
x->event_set = false;
}
***************
*** 63,114 ****
// symbol without selector "symbol":
if(argc == 0)
! {
! x->value.length = 1;
! SETSYMBOL(x->value.atom, s);
! x->event_set = true;
! return;
! }
// input is a list without selector "list":
if ( argc && (strcmp(s->s_name,"list")!=0)
! && (strcmp(s->s_name,"float")!=0) && (strcmp(s->s_name,"symbol")!=0) )
! {
! t_atom *atoms = new t_atom[argc+1];
// add the selector symbol to the list:
! SETSYMBOL(atoms, s);
! for(int i=0; i<argc; i++)
! {
! if(argv[i].a_type == A_FLOAT)
! SETFLOAT(&atoms[i+1],argv[i].a_w.w_float);
! if(argv[i].a_type == A_SYMBOL)
! SETSYMBOL(&atoms[i+1],argv[i].a_w.w_symbol);
! }
! if (x->value.length != argc+1)
! {
! freebytes(x->value.atom, x->value.length * sizeof(t_atom));
! x->value.length = argc+1;
! x->value.atom = (t_atom*)copybytes(atoms, (argc+1) * sizeof(t_atom));
! } else memcpy(x->value.atom, atoms, (argc+1) * sizeof(t_atom));
! x->event_set = true;
! delete[] atoms;
! return;
! }
! // "normal" input (list, float or symbol):
if (argc)
! {
! if (x->value.length != argc)
! {
! freebytes(x->value.atom, x->value.length * sizeof(t_atom));
! x->value.length = argc;
! x->value.atom = (t_atom*)copybytes(argv, argc * sizeof(t_atom));
! } else memcpy(x->value.atom, argv, argc * sizeof(t_atom));
! x->event_set = true;
! return;
! }
}
--- 59,106 ----
// symbol without selector "symbol":
if(argc == 0)
! {
! t_atom tmp;
! SETSYMBOL(&tmp, s);
! x->value.setAtoms(1, &tmp);
! x->event_set = true;
! return;
! }
// input is a list without selector "list":
+ // input is a list without selector "list":
if ( argc && (strcmp(s->s_name,"list")!=0)
! && (strcmp(s->s_name,"float")!=0)
! && (strcmp(s->s_name,"symbol")!=0)
! && (strcmp(s->s_name,"pointer")!=0) )
! {
! t_atom *atoms = (t_atom*)getbytes( (argc+1)*sizeof(t_atom) );
// add the selector symbol to the list:
! SETSYMBOL(atoms, s);
! for(int i=0; i<argc; i++)
! {
! if(argv[i].a_type == A_FLOAT)
! SETFLOAT(&atoms[i+1],argv[i].a_w.w_float);
! if(argv[i].a_type == A_SYMBOL)
! SETSYMBOL(&atoms[i+1],argv[i].a_w.w_symbol);
! if(argv[i].a_type == A_POINTER)
! SETPOINTER(&atoms[i+1],argv[i].a_w.w_gpointer);
! }
! x->value.setAtoms(argc+1, atoms);
! x->event_set = true;
! freebytes(atoms, (argc+1)*sizeof(t_atom));
! return;
! }
! // "normal" input (list, float, symbol or pointer):
if (argc)
! {
! x->value.setAtoms(argc, argv);
! x->event_set = true;
! return;
! }
}
***************
*** 123,129 ****
// outputs all the values of one key one after an other
! Element key;
! key.length = argc;
! key.atom = argv;
int value_nr = x->hmultimap->getNr( key );
--- 115,119 ----
// outputs all the values of one key one after an other
! Element key(argc,argv);
int value_nr = x->hmultimap->getNr( key );
***************
*** 132,150 ****
for(int i=0; i < value_nr; i++)
{
! Element output(x->hmultimap->get(key, i));
! // check if there exists an value
! if(&output == 0)
continue;
! if(output.length == 1) // symbol or float
{
! if (output.atom[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.atom[0].a_w.w_float);
!
! if (output.atom[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.atom[0].a_w.w_symbol);
}
! if(output.length > 1) // list
! outlet_list(x->out0,&s_list,output.length,output.atom);
}
}
--- 122,145 ----
for(int i=0; i < value_nr; i++)
{
! Element output;
! try
! { output = x->hmultimap->get(key, i); }
! catch(const char* s)
! {
! post("%s", s);
continue;
+ }
! if(output.getLength() == 1) // symbol, float or pointer
{
! if (output.getAtom()[0].a_type == A_FLOAT)
! outlet_float(x->out0, output.getAtom()[0].a_w.w_float);
! if (output.getAtom()[0].a_type == A_SYMBOL)
! outlet_symbol(x->out0, output.getAtom()[0].a_w.w_symbol);
! if (output.getAtom()[0].a_type == A_POINTER)
! outlet_pointer(x->out0, output.getAtom()[0].a_w.w_gpointer);
}
! if(output.getLength() > 1) // list
! outlet_list(x->out0,&s_list,output.getLength(),output.getAtom());
}
}
***************
*** 158,166 ****
}
! Element key;
! key.length = argc;
! key.atom = argv;
!
! x->hmultimap->remove( key );
}
--- 153,161 ----
}
! Element key(argc,argv);
! try
! { x->hmultimap->remove( key ); }
! catch(const char* s)
! { post("%s", s); }
}
- Previous message: [PD-cvs] externals/tb/chaos/src chaos_dsp.hpp,1.12,1.13
- Next message: [PD-cvs] externals/PDContainer/include ContainerBase.h, 1.2, 1.3 GlobalStuff.h, 1.5, 1.6 HList.h, 1.4, 1.5 HMap.h, 1.1.1.1, 1.2 HMultiMap.h, 1.1.1.1, 1.2 HPrioQueue.h, 1.1.1.1, 1.2 MapBase.h, 1.2, 1.3 QueueStack.h, 1.2, 1.3 SequBase.h, 1.3, 1.4 SimpleBase.h, 1.2, 1.3
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Pd-cvs
mailing list