aboutsummaryrefslogtreecommitdiff
path: root/externals
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2005-04-23 21:45:41 +0000
committerThomas Grill <xovo@users.sourceforge.net>2005-04-23 21:45:41 +0000
commit9a69d445591c9756a6818d49c52f4356026aba88 (patch)
tree49dcf70c7f4c42c77aaa74c1936f16448c0b0098 /externals
parentc87900f0a03c9cd7924f7d8eb057ea0ed163f928 (diff)
fixed several problems with sub-patchers and connecting
enabled reuse of object names fixed bug when destroying proxies make connections visible at last... introduced attributes for symbol reuse and canvas messages svn path=/trunk/; revision=2811
Diffstat (limited to 'externals')
-rw-r--r--externals/grill/dynext/dynext.vcproj2
-rwxr-xr-xexternals/grill/dynext/readme.txt1
-rw-r--r--externals/grill/dynext/src/main.cpp25
3 files changed, 17 insertions, 11 deletions
diff --git a/externals/grill/dynext/dynext.vcproj b/externals/grill/dynext/dynext.vcproj
index eb591f27..4cd19100 100644
--- a/externals/grill/dynext/dynext.vcproj
+++ b/externals/grill/dynext/dynext.vcproj
@@ -42,7 +42,7 @@
OutputFile="$(outdir)/dyn~.dll"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="c:\programme\audio\pd/bin"
+ AdditionalLibraryDirectories="C:\data\pd\pd-cvs\bin"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile=".\pd-msvc/d/dyn~.pdb"
ImportLibrary=".\pd-msvc/d/dyn~.lib"
diff --git a/externals/grill/dynext/readme.txt b/externals/grill/dynext/readme.txt
index 0365a147..e038228a 100755
--- a/externals/grill/dynext/readme.txt
+++ b/externals/grill/dynext/readme.txt
@@ -34,6 +34,7 @@ CHANGES:
- allow reuse of names (can be disabled with "symreuse" attribute)
- guard against messages to canvases ("canvasmsg" attribute)
- more stable
+- make connections visible
0.1.0:
- first release: PD 0.37 supports all necessary functionality
diff --git a/externals/grill/dynext/src/main.cpp b/externals/grill/dynext/src/main.cpp
index 7bffcc81..72220ede 100644
--- a/externals/grill/dynext/src/main.cpp
+++ b/externals/grill/dynext/src/main.cpp
@@ -219,7 +219,7 @@ private:
FLEXT_ATTRVAR_B(canvasmsg)
static const t_symbol *sym_dot,*sym_dynsin,*sym_dynsout,*sym_dynin,*sym_dynout,*sym_dyncanvas;
- static const t_symbol *sym_vis,*sym_loadbang,*sym_dsp;
+ static const t_symbol *sym_vis,*sym_loadbang,*sym_dsp,*sym_pop;
};
FLEXT_NEW_DSP_V("dyn~",dyn)
@@ -242,6 +242,7 @@ const t_symbol *dyn::sym_dyncanvas = NULL;
const t_symbol *dyn::sym_vis = NULL;
const t_symbol *dyn::sym_loadbang = NULL;
const t_symbol *dyn::sym_dsp = NULL;
+const t_symbol *dyn::sym_pop = NULL;
void dyn::setup(t_classid c)
@@ -299,6 +300,7 @@ void dyn::setup(t_classid c)
sym_vis = MakeSymbol("vis");
sym_loadbang = MakeSymbol("loadbang");
sym_dsp = MakeSymbol("dsp");
+ sym_pop = MakeSymbol("pop");
}
@@ -361,8 +363,9 @@ dyn::dyn(int argc,const t_atom *argv):
SetInt(arg[5],0); // visible
canvas = canvas_new(NULL, NULL, 6, arg);
- // must do that....
- canvas_unsetcurrent(canvas);
+ // pop canvas (must do that...)
+ SetInt(arg[0],0);
+ pd_typedmess((t_pd *)canvas,(t_symbol *)sym_pop,1,arg);
DoInit();
@@ -393,7 +396,7 @@ void dyn::DoExit()
// delete proxies
DelProxies();
// remove all objects
- glist_clear(canvas);
+ if(canvas) glist_clear(canvas);
// remove all names
groot.clear();
root.clear();
@@ -449,10 +452,14 @@ void dyn::NewProxies()
void dyn::DelProxies()
{
int i;
- for(i = 0; i < s_inlets+m_inlets; ++i) glist_delete(canvas,(t_gobj *)pxin[i]);
- if(pxin) delete[] pxin;
- for(i = 0; i < s_outlets+m_outlets; ++i) glist_delete(canvas,(t_gobj *)pxout[i]);
- if(pxout) delete[] pxout;
+ if(pxin) {
+ for(i = 0; i < s_inlets+m_inlets; ++i) glist_delete(canvas,(t_gobj *)pxin[i]);
+ delete[] pxin;
+ }
+ if(pxout) {
+ for(i = 0; i < s_outlets+m_outlets; ++i) glist_delete(canvas,(t_gobj *)pxout[i]);
+ delete[] pxout;
+ }
}
t_glist *dyn::FindCanvas(const t_symbol *n)
@@ -796,8 +803,6 @@ void dyn::ConnDis(bool conn,int argc,const t_atom *argv)
canvas_disconnect(s_cnv,s_oix,s_x,d_oix,d_x);
#endif
}
-
-// canvas_fixlinesfor(s_cnv,(t_text *)s_x);
}