diff options
author | Thomas Grill <xovo@users.sourceforge.net> | 2005-04-23 21:45:41 +0000 |
---|---|---|
committer | Thomas Grill <xovo@users.sourceforge.net> | 2005-04-23 21:45:41 +0000 |
commit | 9a69d445591c9756a6818d49c52f4356026aba88 (patch) | |
tree | 49dcf70c7f4c42c77aaa74c1936f16448c0b0098 /externals/grill | |
parent | c87900f0a03c9cd7924f7d8eb057ea0ed163f928 (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/grill')
-rw-r--r-- | externals/grill/dynext/dynext.vcproj | 2 | ||||
-rwxr-xr-x | externals/grill/dynext/readme.txt | 1 | ||||
-rw-r--r-- | externals/grill/dynext/src/main.cpp | 25 |
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); } |