debian/0000755000000000000000000000000011700255041007161 5ustar debian/changelog0000664000000000000000000000330411700255041011035 0ustar pd-cyclone (0.1~alpha55-6) unstable; urgency=low * add new HURD/kFreeBSD fixes and consolidate them into a single patch -- Hans-Christoph Steiner Mon, 02 Jan 2012 02:17:20 -0500 pd-cyclone (0.1~alpha55-5) unstable; urgency=low * include upstream Makefile.common to fix on GNU and kFreeBSD kernels -- Hans-Christoph Steiner Sun, 01 Jan 2012 15:30:37 -0500 pd-cyclone (0.1~alpha55-4) unstable; urgency=low * fixed Depends to use new puredata 0.43 package suite * take upstream Makefile to fix building on GNU/Hurd and kFreeBSD -- Hans-Christoph Steiner Sun, 01 Jan 2012 00:26:09 -0500 pd-cyclone (0.1~alpha55-3) unstable; urgency=low * updated Build-Depends to use puredata-dev when available (Closes: #629705) * bumped standards version to 3.9.2 -- Hans-Christoph Steiner Fri, 10 Jun 2011 12:34:06 -0400 pd-cyclone (0.1~alpha55-2) unstable; urgency=low [ Jonas Smedegaard ] * Tidy long description: + Fix typo. + Drop remark irrelevant without hyperlink. + Rewrap at 72 chars, and use double-space after full-stop. [ Hans-Christoph Steiner ] * split out cyclist into its own package using debian/tmp+dh_install -- Hans-Christoph Steiner Thu, 23 Dec 2010 00:56:53 -0500 pd-cyclone (0.1~alpha55-1) unstable; urgency=low [ Hans-Christoph Steiner ] * Initial release. Closes: bug#602994. [ Felipe Sateler ] * Use CDBS instead of long-form debhelper. [ Jonas Smedegaard ] * Tighten packaging (e.g. relax build-dependencies), thanks to CDBS. * Tighten copyright file, thanks to CDBS copyright-check routine. -- Jonas Smedegaard Fri, 10 Dec 2010 10:48:26 +0100 debian/compat0000664000000000000000000000000211677737263010411 0ustar 6 debian/control0000644000000000000000000000530511677766636010625 0ustar Source: pd-cyclone Section: sound Priority: optional Maintainer: Debian Multimedia Maintainers DM-Upload-Allowed: yes Uploaders: Hans-Christoph Steiner , Felipe Sateler , Jonas Smedegaard Build-Depends: cdbs, debhelper (>= 6), dh-buildinfo, puredata-dev | puredata (<< 0.43) Standards-Version: 3.9.2 Homepage: http://suita.chopin.edu.pl/~czaja/miXed/externs/cyclone.html Vcs-Git: git://git.debian.org/pkg-multimedia/pd-cyclone.git Vcs-Browser: http://git.debian.org/?p=pkg-multimedia/pd-cyclone.git Package: pd-cyclone Architecture: any Depends: ${shlibs:Depends}, puredata-core | pd, pd-libdir, ${misc:Depends} Recommends: pd-import, pd-pddp, cyclist Description: Pd library of clones of Max/MSP 4.5 objects Cyclone is a library of PureData classes, bringing some level of compatibility between Max/MSP and Pd environments. Although being itself in the early stage of development, it is meant to eventually become part of a much larger project, aiming at unification and standardization of computer musician's tools. . In its current form, cyclone is mainly for people using both Max and Pd, and thus wanting to develop cross-platform patches. In this respect, cyclone has much in common with Thomas Grill's flext, and flext-based externals. While flext enables developing new cross-platform classes, cyclone makes existing classes cross-platform. . Cyclone also comes handy, somewhat, in the task of importing Max/MSP patches into Pd. Do not expect miracles, though, it is usually not an easy task. Package: cyclist Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: pd-cyclone Description: Utility for converting Max/MSP binary patches to text cyclist is a command line utility for converting the .mxb binary format for Max/MSP patches into the .mxt/.pat text format. It is part of the Cyclone library for Pure Data, which aims to bring some level of compatibility between the Max/MSP and Pd environments. Although being itself in the early stage of development, it is meant to eventually become part of a much larger project, aiming at unification and standardization of computer musician's tools. . In its current form, cyclone is mainly for people using both Max and Pd, and thus wanting to develop cross-platform patches. In this respect, cyclone has much in common with Thomas Grill's flext, and flext-based externals. While flext enables developing new cross-platform classes, cyclone makes existing classes cross-platform. . Cyclone also comes handy, somewhat, in the task of importing Max/MSP patches into Pd. Do not expect miracles, though, it is usually not an easy task. debian/copyright0000664000000000000000000000414211677737263011147 0ustar Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?rev=135 Name: cyclone Maintainer: Krzysztof Czaja Source: http://sourceforge.net/projects/pure-data/files/libraries/cyclone/ Copyright: 1997-2005, 2007, krzYszcz 1997-2005, Miller Puckette License: other-Tcl/Tk Files: ./bin/pddp/pddpserver.tcl Copyright: 1996-1997, Sun Microsystems License: other-Tcl/Tk License: other-Tcl/Tk This software is copyrighted by Miller Puckette and others. The following terms apply to all files associated with the software unless explicitly disclaimed in individual files. . The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply. . IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. . THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON- INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. . RESTRICTED RIGHTS: Use, duplication or disclosure by the government is subject to the restrictions as set forth in subparagraph (c) (1) (ii) of the Rights in Technical Data and Computer Software Clause as DFARS 252.227-7013 and FAR 52.227-19. debian/copyright_hints0000664000000000000000000005251411677737263012362 0ustar Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?rev=135 X-Draft: Autogenerated by CDBS snippet copyright-check.mk Files: ./Makefile, ./Makefile.common, ./Makefile.dirs, ./SConscript, ./ViCious/cyclone/makefile, ./ViCious/cyclone/objects, ./ViCious/cyclone/snapfiles, ./ViCious/notes.txt, ./ViCious/pddp/makefile, ./ViCious/pddp/objects, ./ViCious/pddp/snapfiles, ./ViCious/toxy/makefile, ./ViCious/toxy/objects, ./ViCious/toxy/snapfiles, ./bin/Append-help.pd, ./bin/Clip-help.pd, ./bin/Clip~-help.pd, ./bin/Line~-help.pd, ./bin/Scope~-help.pd, ./bin/Snapshot~-help.pd, ./bin/Table-help.pd, ./bin/notes.txt, ./bin/pddp/pddpboot.tcl, ./bin/pddp/pddpclient.tcl, ./bin/pddp/pkgIndex.tcl, ./cyclone/Makefile, ./cyclone/Makefile.dirs, ./cyclone/Makefile.libdir, ./cyclone/Makefile.objects, ./cyclone/Makefile.sources, ./cyclone/README.txt, ./cyclone/build_counter, ./cyclone/cyclone-all.exclude, ./cyclone/cyclone-help.include, ./cyclone/cyclone-meta.pd, ./cyclone/cyclone-shared.include, ./cyclone/cyclone-test.exclude, ./cyclone/cyclone-vicious.exclude, ./cyclone/hammer/Makefile, ./cyclone/hammer/Makefile.objects, ./cyclone/hammer/Makefile.sources, ./cyclone/hammer/pd-lib-notes.txt, ./cyclone/notes.txt, ./cyclone/shadow/Makefile, ./cyclone/shadow/Makefile.objects, ./cyclone/shadow/Makefile.sources, ./cyclone/sickle/Makefile, ./cyclone/sickle/Makefile.objects, ./cyclone/sickle/Makefile.sources, ./cyclone/sickle/curve.gp, ./debian/compat, ./debian/control, ./debian/control.in, ./debian/cyclist.1, ./debian/gbp.conf, ./debian/links, ./debian/patches/series, ./debian/pd-cyclone.lintian-overrides, ./debian/pd-cyclone.manpages, ./debian/rules, ./debian/source/format, ./debian/source/local-options, ./debian/watch, ./doc/help/cyclone/Clip-help.pd, ./doc/help/cyclone/Line~-help.pd, ./doc/help/cyclone/README, ./doc/help/cyclone/Scope~-help.pd, ./doc/help/cyclone/Snapshot~-help.pd, ./doc/help/cyclone/TODO, ./doc/help/cyclone/Table-help.pd, ./doc/help/cyclone/abs~-help.pd, ./doc/help/cyclone/acos-help.pd, ./doc/help/cyclone/acosh~-help.pd, ./doc/help/cyclone/acos~-help.pd, ./doc/help/cyclone/all_about_cyclone.pd, ./doc/help/cyclone/asin-help.pd, ./doc/help/cyclone/asinh-help.pd, ./doc/help/cyclone/asin~-help.pd, ./doc/help/cyclone/atan2~-help.pd, ./doc/help/cyclone/atanh~-help.pd, ./doc/help/cyclone/atan~-help.pd, ./doc/help/cyclone/average~-help.pd, ./doc/help/cyclone/avg~-help.pd, ./doc/help/cyclone/bitand~-help.pd, ./doc/help/cyclone/bitnot~-help.pd, ./doc/help/cyclone/bitor~-help.pd, ./doc/help/cyclone/bitshift~-help.pd, ./doc/help/cyclone/bitxor~-help.pd, ./doc/help/cyclone/buffir~-help.pd, ./doc/help/cyclone/capture~-help.pd, ./doc/help/cyclone/cartopol~-help.pd, ./doc/help/cyclone/change~-help.pd, ./doc/help/cyclone/click~-help.pd, ./doc/help/cyclone/coll.txt, ./doc/help/cyclone/cosh~-help.pd, ./doc/help/cyclone/cosx~-help.pd, ./doc/help/cyclone/curve~-help.pd, ./doc/help/cyclone/cycle~-help.pd, ./doc/help/cyclone/deltaclip~-help.pd, ./doc/help/cyclone/delta~-help.pd, ./doc/help/cyclone/edge~-help.pd, ./doc/help/cyclone/frameaccum~-help.pd, ./doc/help/cyclone/framedelta~-help.pd, ./doc/help/cyclone/kink~-help.pd, ./doc/help/cyclone/log~-help.pd, ./doc/help/cyclone/lores~-help.pd, ./doc/help/cyclone/matrix~-help.pd, ./doc/help/cyclone/maximum~-help.pd, ./doc/help/cyclone/maxmode-help.pd, ./doc/help/cyclone/minimum~-help.pd, ./doc/help/cyclone/mstosamps~-help.pd, ./doc/help/cyclone/mtr-help.pd, ./doc/help/cyclone/onepole~-help.pd, ./doc/help/cyclone/overdrive~-help.pd, ./doc/help/cyclone/peakamp~-help.pd, ./doc/help/cyclone/phasewrap~-help.pd, ./doc/help/cyclone/pink~-help.pd, ./doc/help/cyclone/poke~-help.pd, ./doc/help/cyclone/poltocar~-help.pd, ./doc/help/cyclone/pong~-help.pd, ./doc/help/cyclone/pow~-help.pd, ./doc/help/cyclone/prepend-help.pd, ./doc/help/cyclone/rampsmooth~-help.pd, ./doc/help/cyclone/reson~-help.pd, ./doc/help/cyclone/sah~-help.pd, ./doc/help/cyclone/sampstoms~-help.pd, ./doc/help/cyclone/seq-help.pd, ./doc/help/cyclone/sinh~-help.pd, ./doc/help/cyclone/sinx~-help.pd, ./doc/help/cyclone/slide~-help.pd, ./doc/help/cyclone/spike~-help.pd, ./doc/help/cyclone/svf~-help.pd, ./doc/help/cyclone/tanh~-help.pd, ./doc/help/cyclone/tanx~-help.pd, ./doc/help/cyclone/test.mid, ./doc/help/cyclone/train~-help.pd, ./doc/help/cyclone/trapezoid~-help.pd, ./doc/help/cyclone/vectral~-help.pd, ./doc/help/toxy/tot-help.pd, ./doc/src/Makefile, ./doc/src/Makefile.dirs, ./doc/src/externs/keepme, ./pddp/Makefile, ./pddp/Makefile.objects, ./pddp/Makefile.sources, ./pddp/build_counter, ./pddp/notes.txt, ./pddp/pddp-all.exclude, ./pddp/pddp-shared.include, ./pddp/pddp-test.exclude, ./pddp/pddp-vicious.exclude, ./shared/Makefile, ./shared/Makefile.dirs, ./shared/Makefile.sources, ./shared/common/Makefile, ./shared/common/Makefile.sources, ./shared/getridof.baddeps, ./shared/hammer/Makefile, ./shared/hammer/Makefile.sources, ./shared/notes.txt, ./shared/sickle/Makefile, ./shared/sickle/Makefile.sources, ./shared/toxy/Makefile, ./shared/toxy/Makefile.sources, ./shared/unstable/Makefile, ./shared/unstable/Makefile.sources, ./test/cyclone/Borax-test.pd, ./test/cyclone/Bucket-test.pd, ./test/cyclone/Decode-test.pd, ./test/cyclone/Histo-test.pd, ./test/cyclone/MouseState-test.pd, ./test/cyclone/Table-test.pd, ./test/cyclone/TogEdge-test.pd, ./test/cyclone/Uzi-test.pd, ./test/cyclone/a-mix2.pd, ./test/cyclone/active-test.pd, ./test/cyclone/anal-test.pd, ./test/cyclone/append-test.pd, ./test/cyclone/bad.coll, ./test/cyclone/bondo-test.pd, ./test/cyclone/buddy-test.pd, ./test/cyclone/buffir-test.pd, ./test/cyclone/capture-test.pd, ./test/cyclone/click-test.pd, ./test/cyclone/clip-test.pd, ./test/cyclone/coll-print.pd, ./test/cyclone/coll-test.pd, ./test/cyclone/comb-test.pd, ./test/cyclone/comment-dotest.pd, ./test/cyclone/comment-ogonki.pd, ./test/cyclone/comment-test.pd, ./test/cyclone/count-test.pd, ./test/cyclone/counter-test.pd, ./test/cyclone/curve-test.pd, ./test/cyclone/cycle-test.pd, ./test/cyclone/cyclone-test.pd, ./test/cyclone/decide-test.pd, ./test/cyclone/drunk-test.pd, ./test/cyclone/forward-test.pd, ./test/cyclone/frameaccum-test.pd, ./test/cyclone/fromsymbol-test.pd, ./test/cyclone/funbuff-etest.pd, ./test/cyclone/funbuff-test.pd, ./test/cyclone/funnel-test.pd, ./test/cyclone/gate-test.pd, ./test/cyclone/good.coll, ./test/cyclone/grab-test.pd, ./test/cyclone/index-test.pd, ./test/cyclone/kanon.mid, ./test/cyclone/kink-test.pd, ./test/cyclone/line-test.pd, ./test/cyclone/linedrive-test.pd, ./test/cyclone/lores-test.pd, ./test/cyclone/match-reentrant.pd, ./test/cyclone/match-test.pd, ./test/cyclone/matrix-test.pd, ./test/cyclone/maxmin-test.pd, ./test/cyclone/maxmode-test.pd, ./test/cyclone/mean-test.pd, ./test/cyclone/midi-test.pd, ./test/cyclone/midiparse-test.pd, ./test/cyclone/mousefilter-test.pd, ./test/cyclone/mstosamps-test.pd, ./test/cyclone/mtr-test.pd, ./test/cyclone/next-test.pd, ./test/cyclone/offer-test.pd, ./test/cyclone/onebang-test.pd, ./test/cyclone/onepole-test.pd, ./test/cyclone/past-test.pd, ./test/cyclone/peakamp-test.pd, ./test/cyclone/peek-test.pd, ./test/cyclone/pink-test.pd, ./test/cyclone/poke-test.pd, ./test/cyclone/pong-test.pd, ./test/cyclone/prepend-test.pd, ./test/cyclone/prob-test.pd, ./test/cyclone/pv-test.pd, ./test/cyclone/rand-test.pd, ./test/cyclone/record-sync-test.pd, ./test/cyclone/record-test.pd, ./test/cyclone/reson-test.pd, ./test/cyclone/scope-gop.pd, ./test/cyclone/scope-test.pd, ./test/cyclone/scope-test1.pd, ./test/cyclone/scope-test2.pd, ./test/cyclone/seq-test.pd, ./test/cyclone/sigbits-test.pd, ./test/cyclone/sigcapture-test.pd, ./test/cyclone/sigcycle-test.pd, ./test/cyclone/sigmeters-test.pd, ./test/cyclone/sigops-test.pd, ./test/cyclone/sigsmoothers-test.pd, ./test/cyclone/sigtrig-test.pd, ./test/cyclone/sigwrappers-speed.pd, ./test/cyclone/sigwrappers-speed20.pd, ./test/cyclone/sigwrappers-test.pd, ./test/cyclone/spectrum-pm.pd, ./test/cyclone/speedlim-rescheduling.pd, ./test/cyclone/speedlim-test.pd, ./test/cyclone/spell-test.pd, ./test/cyclone/spike-test.pd, ./test/cyclone/split-test.pd, ./test/cyclone/spray-test.pd, ./test/cyclone/substitute-test.pd, ./test/cyclone/svf-test.pd, ./test/cyclone/switch-test.pd, ./test/cyclone/test.capture, ./test/cyclone/test.funbuff, ./test/cyclone/test.mid, ./test/cyclone/test.pool, ./test/cyclone/test.seq, ./test/cyclone/test1.seq, ./test/cyclone/testmess-reentrant.pd, ./test/cyclone/testmess-test.pd, ./test/cyclone/thresh-test.pd, ./test/cyclone/tosymbol-test.pd, ./test/cyclone/train-test.pd, ./test/cyclone/trig-test.pd, ./test/cyclone/universal-test.pd, ./test/cyclone/urn-test.pd, ./test/cyclone/vectral-test.pd, ./test/cyclone/xbend-test.pd, ./test/cyclone/xnote-test.pd, ./test/cyclone/zerox-test.pd, ./test/cyclone/zl-test.pd, ./test/pddp/pddp.css, ./test/pddp/pddplink-test-01.html, ./test/pddp/pddplink-test-01.pd, ./test/pddp/pddplink-test-01.xml, ./test/pddp/pddplink-test-02.html, ./test/pddp/pddplink-test-02.pd, ./test/pddp/pddplink-test-02.xml, ./test/pddp/test.bg.jpg, ./test/pddp/toonepage, ./test/pddp/topdf, ./test/toxy/button-test.pd, ./test/toxy/defaults-test.pd, ./test/toxy/editors/bpf-test.pd, ./test/toxy/editors/bpf.wid, ./test/toxy/kb-test.pd, ./test/toxy/kb.wid, ./test/toxy/lbpict-test.pd, ./test/toxy/lbpict.wid, ./test/toxy/listbox-test.pd, ./test/toxy/multiscale-test.pd, ./test/toxy/multiscale.wid, ./test/toxy/pop1.wid, ./test/toxy/pop2.wid, ./test/toxy/popcustom-test.pd, ./test/toxy/popup-test.pd, ./test/toxy/radio-test.pd, ./test/toxy/scale-test.pd, ./test/toxy/setup.wid, ./test/toxy/stress/bulk.pd, ./test/toxy/stress/bulkyhurd.pd, ./test/toxy/stress/catchme.pd, ./test/toxy/stress/mstots.pd, ./test/toxy/stress/nbulkyhurds.pd, ./test/toxy/stress/pophurd.pd, ./test/toxy/tclversion.pd, ./test/toxy/test.wid, ./test/toxy/test1.tot, ./test/toxy/testmess-test.pd, ./test/toxy/testmess.wid, ./test/toxy/tot-color.pd, ./test/toxy/tot-cover.pd, ./test/toxy/tot-files.pd, ./test/toxy/tot-head.pd, ./test/toxy/tot-monkey.pd, ./test/toxy/tot-nomenu.pd, ./test/toxy/tot-qlist.pd, ./test/toxy/tot-query.pd, ./test/toxy/tot-rstring.pd, ./test/toxy/tot.ql, ./test/toxy/tow-test.pd, ./test/toxy/txt-test.pd, ./test/toxy/txt.wid, ./toxy/Makefile, ./toxy/Makefile.objects, ./toxy/Makefile.sources, ./toxy/build_counter, ./toxy/notes.txt, ./toxy/toxy-all.exclude, ./toxy/toxy-help.include, ./toxy/toxy-shared.include, ./toxy/toxy-test.exclude, ./toxy/toxy-vicious.exclude Copyright: *No copyright* License: UNKNOWN FIXME Files: ./cyclone/hammer/Append.c, ./cyclone/hammer/Borax.c, ./cyclone/hammer/Bucket.c, ./cyclone/hammer/Clip.c, ./cyclone/hammer/Decode.c, ./cyclone/hammer/Histo.c, ./cyclone/hammer/MouseState.c, ./cyclone/hammer/Peak.c, ./cyclone/hammer/Table.c, ./cyclone/hammer/TogEdge.c, ./cyclone/hammer/Trough.c, ./cyclone/hammer/Uzi.c, ./cyclone/hammer/accum.c, ./cyclone/hammer/acos.c, ./cyclone/hammer/active.c, ./cyclone/hammer/allhammers.c, ./cyclone/hammer/anal.c, ./cyclone/hammer/asin.c, ./cyclone/hammer/bangbang.c, ./cyclone/hammer/bondo.c, ./cyclone/hammer/buddy.c, ./cyclone/hammer/capture.c, ./cyclone/hammer/cartopol.c, ./cyclone/hammer/coll.c, ./cyclone/hammer/comment.c, ./cyclone/hammer/cosh.c, ./cyclone/hammer/counter.c, ./cyclone/hammer/cycle.c, ./cyclone/hammer/decide.c, ./cyclone/hammer/drunk.c, ./cyclone/hammer/flush.c, ./cyclone/hammer/fromsymbol.c, ./cyclone/hammer/funbuff.c, ./cyclone/hammer/funnel.c, ./cyclone/hammer/gate.c, ./cyclone/hammer/grab.c, ./cyclone/hammer/hammer.c, ./cyclone/hammer/iter.c, ./cyclone/hammer/match.c, ./cyclone/hammer/maximum.c, ./cyclone/hammer/mean.c, ./cyclone/hammer/midiflush.c, ./cyclone/hammer/midiformat.c, ./cyclone/hammer/midiparse.c, ./cyclone/hammer/minimum.c, ./cyclone/hammer/mousefilter.c, ./cyclone/hammer/mtr.c, ./cyclone/hammer/next.c, ./cyclone/hammer/offer.c, ./cyclone/hammer/onebang.c, ./cyclone/hammer/past.c, ./cyclone/hammer/poltocar.c, ./cyclone/hammer/prepend.c, ./cyclone/hammer/prob.c, ./cyclone/hammer/pv.c, ./cyclone/hammer/seq.c, ./cyclone/hammer/sinh.c, ./cyclone/hammer/speedlim.c, ./cyclone/hammer/spell.c, ./cyclone/hammer/split.c, ./cyclone/hammer/spray.c, ./cyclone/hammer/sprintf.c, ./cyclone/hammer/substitute.c, ./cyclone/hammer/sustain.c, ./cyclone/hammer/switch.c, ./cyclone/hammer/tanh.c, ./cyclone/hammer/testmess.c, ./cyclone/hammer/thresh.c, ./cyclone/hammer/tosymbol.c, ./cyclone/hammer/universal.c, ./cyclone/hammer/urn.c, ./cyclone/hammer/xbendin.c, ./cyclone/hammer/xbendin2.c, ./cyclone/hammer/xbendout.c, ./cyclone/hammer/xbendout2.c, ./cyclone/hammer/xnotein.c, ./cyclone/hammer/xnoteout.c, ./cyclone/hammer/zl.c, ./cyclone/shadow/cyclone.c, ./cyclone/shadow/dummies.c, ./cyclone/shadow/maxmode.c, ./cyclone/shadow/nettles.c, ./cyclone/shadow/shadow.h, ./cyclone/sickle/Clip.c, ./cyclone/sickle/Line.c, ./cyclone/sickle/Scope.c, ./cyclone/sickle/Snapshot.c, ./cyclone/sickle/abs.c, ./cyclone/sickle/acos.c, ./cyclone/sickle/acosh.c, ./cyclone/sickle/allpass.c, ./cyclone/sickle/allsickles.c, ./cyclone/sickle/asin.c, ./cyclone/sickle/asinh.c, ./cyclone/sickle/atan.c, ./cyclone/sickle/atan2.c, ./cyclone/sickle/atanh.c, ./cyclone/sickle/average.c, ./cyclone/sickle/avg.c, ./cyclone/sickle/bitand.c, ./cyclone/sickle/bitnot.c, ./cyclone/sickle/bitor.c, ./cyclone/sickle/bitshift.c, ./cyclone/sickle/bitxor.c, ./cyclone/sickle/buffir.c, ./cyclone/sickle/capture.c, ./cyclone/sickle/cartopol.c, ./cyclone/sickle/change.c, ./cyclone/sickle/click.c, ./cyclone/sickle/comb.c, ./cyclone/sickle/cosh.c, ./cyclone/sickle/cosx.c, ./cyclone/sickle/count.c, ./cyclone/sickle/curve.c, ./cyclone/sickle/cycle.c, ./cyclone/sickle/delay.c, ./cyclone/sickle/delta.c, ./cyclone/sickle/deltaclip.c, ./cyclone/sickle/edge.c, ./cyclone/sickle/frameaccum.c, ./cyclone/sickle/framedelta.c, ./cyclone/sickle/index.c, ./cyclone/sickle/kink.c, ./cyclone/sickle/linedrive.c, ./cyclone/sickle/log.c, ./cyclone/sickle/lookup.c, ./cyclone/sickle/lores.c, ./cyclone/sickle/matrix.c, ./cyclone/sickle/maximum.c, ./cyclone/sickle/minimum.c, ./cyclone/sickle/minmax.c, ./cyclone/sickle/onepole.c, ./cyclone/sickle/overdrive.c, ./cyclone/sickle/peakamp.c, ./cyclone/sickle/peek.c, ./cyclone/sickle/phasewrap.c, ./cyclone/sickle/play.c, ./cyclone/sickle/poke.c, ./cyclone/sickle/poltocar.c, ./cyclone/sickle/pong.c, ./cyclone/sickle/pow.c, ./cyclone/sickle/rampsmooth.c, ./cyclone/sickle/record.c, ./cyclone/sickle/reson.c, ./cyclone/sickle/sah.c, ./cyclone/sickle/sickle.c, ./cyclone/sickle/sinh.c, ./cyclone/sickle/sinx.c, ./cyclone/sickle/slide.c, ./cyclone/sickle/spike.c, ./cyclone/sickle/svf.c, ./cyclone/sickle/tanh.c, ./cyclone/sickle/tanx.c, ./cyclone/sickle/train.c, ./cyclone/sickle/trapezoid.c, ./cyclone/sickle/triangle.c, ./cyclone/sickle/vectral.c, ./cyclone/sickle/wave.c, ./cyclone/sickle/zerox.c, ./dumpsetups, ./pddp/pddplink.c, ./riddle/rdremote.c, ./riddle/riddle.c, ./riddle/riddle.h, ./riddle/riddleguts.h, ./shared/common/binport.h, ./shared/common/clc.c, ./shared/common/clc.h, ./shared/common/dict.h, ./shared/common/fitter.c, ./shared/common/fitter.h, ./shared/common/grow.c, ./shared/common/grow.h, ./shared/common/lex.h, ./shared/common/loud.c, ./shared/common/loud.h, ./shared/common/messtree.c, ./shared/common/messtree.h, ./shared/common/mifi.h, ./shared/common/os.c, ./shared/common/os.h, ./shared/common/patchvalue.c, ./shared/common/patchvalue.h, ./shared/common/port.h, ./shared/common/props.c, ./shared/common/props.h, ./shared/common/qtree.c, ./shared/common/qtree.h, ./shared/common/rand.h, ./shared/common/vefl.h, ./shared/hammer/file.c, ./shared/hammer/file.h, ./shared/hammer/gui.c, ./shared/hammer/gui.h, ./shared/hammer/tree.c, ./shared/hammer/tree.h, ./shared/shared.c, ./shared/shared.h, ./shared/sickle/arsic.c, ./shared/sickle/arsic.h, ./shared/sickle/sic.c, ./shared/sickle/sic.h, ./shared/toxy/plusbob.c, ./shared/toxy/plusbob.h, ./shared/toxy/scriptlet.h, ./shared/unstable/forky.c, ./shared/unstable/forky.h, ./shared/unstable/fragile.h, ./shared/unstable/loader.h, ./shared/unstable/standalone.h, ./toxy/plustot.ar.c, ./toxy/plustot.c, ./toxy/plustot.env.c, ./toxy/plustot.h, ./toxy/plustot.in.c, ./toxy/plustot.out.c, ./toxy/plustot.print.c, ./toxy/plustot.qlist.c, ./toxy/plustot.var.c, ./toxy/pluswidget.c, ./toxy/tot.c, ./toxy/tow.c, ./toxy/widget.c, ./toxy/widget.h, ./toxy/widgethandlers.c, ./toxy/widgettype.c Copyright: 2001-2003, krzYszcz and others 2002-2003, krzYszcz and others 2002-2004, krzYszcz and others 2002-2005, krzYszcz and others 2003, krzYszcz and others 2003-2004, krzYszcz and others 2003-2005, krzYszcz and others 2004, krzYszcz and others 2004-2005, krzYszcz and others 2005, krzYszcz and others 2007, krzYszcz and others License: UNKNOWN FIXME Files: ./doc/help/cyclone/Borax-help.pd, ./doc/help/cyclone/Peak-help.pd, ./doc/help/cyclone/TogEdge-help.pd, ./doc/help/cyclone/Uzi-help.pd, ./doc/help/cyclone/accum-help.pd, ./doc/help/cyclone/active-help.pd, ./doc/help/cyclone/anal-help.pd, ./doc/help/cyclone/bangbang-help.pd, ./doc/help/cyclone/buddy-help.pd, ./doc/help/cyclone/comb~-help.pd, ./doc/help/cyclone/cosh-help.pd, ./doc/help/cyclone/counter-help.pd, ./doc/help/cyclone/count~-help.pd, ./doc/help/cyclone/flush-help.pd, ./doc/help/cyclone/forward-help.pd, ./doc/help/cyclone/funbuff-help.pd, ./doc/help/cyclone/funnel-help.pd, ./doc/help/cyclone/gate-help.pd, ./doc/help/cyclone/lookup~-help.pd, ./doc/help/cyclone/match-help.pd, ./doc/help/cyclone/maximum-help.pd, ./doc/help/cyclone/mean-help.pd, ./doc/help/cyclone/midiformat-help.pd, ./doc/help/cyclone/midiparse-help.pd, ./doc/help/cyclone/minimum-help.pd, ./doc/help/cyclone/next-help.pd, ./doc/help/cyclone/offer-help.pd, ./doc/help/cyclone/onebang-help.pd, ./doc/help/cyclone/play~-help.pd, ./doc/help/cyclone/pv-help.pd, ./doc/help/cyclone/rand~-help.pd, ./doc/help/cyclone/sinh-help.pd, ./doc/help/cyclone/speedlim-help.pd, ./doc/help/cyclone/spell-help.pd, ./doc/help/cyclone/sprintf-help.pd, ./doc/help/cyclone/sustain-help.pd, ./doc/help/cyclone/tanh-help.pd, ./doc/help/cyclone/urn-help.pd, ./doc/help/cyclone/xbend-help.pd, ./doc/help/cyclone/xbendin-help.pd, ./doc/help/cyclone/xbendin2-help.pd, ./doc/help/cyclone/xbendout-help.pd, ./doc/help/cyclone/xbendout2-help.pd, ./doc/help/cyclone/xnote-help.pd, ./doc/help/cyclone/xnotein-help.pd, ./doc/help/cyclone/xnoteout-help.pd Copyright: cycling'74 License: UNKNOWN FIXME Files: ./doc/help/cyclone/Append-help.pd, ./doc/help/cyclone/Bucket-help.pd, ./doc/help/cyclone/Decode-help.pd, ./doc/help/cyclone/Histo-help.pd, ./doc/help/cyclone/MouseState-help.pd, ./doc/help/cyclone/Trough-help.pd, ./doc/help/cyclone/allpass~-help.pd, ./doc/help/cyclone/bondo-help.pd, ./doc/help/cyclone/capture-help.pd, ./doc/help/cyclone/cartopol-help.pd, ./doc/help/cyclone/coll-help.pd, ./doc/help/cyclone/comment-help.pd, ./doc/help/cyclone/cycle-help.pd, ./doc/help/cyclone/decide-help.pd, ./doc/help/cyclone/delay~-help.pd, ./doc/help/cyclone/drunk-help.pd, ./doc/help/cyclone/fromsymbol-help.pd, ./doc/help/cyclone/grab-help.pd, ./doc/help/cyclone/index~-help.pd, ./doc/help/cyclone/iter-help.pd, ./doc/help/cyclone/linedrive-help.pd, ./doc/help/cyclone/midiflush-help.pd, ./doc/help/cyclone/mousefilter-help.pd, ./doc/help/cyclone/past-help.pd, ./doc/help/cyclone/peek~-help.pd, ./doc/help/cyclone/poltocar-help.pd, ./doc/help/cyclone/prob-help.pd, ./doc/help/cyclone/record~-help.pd, ./doc/help/cyclone/split-help.pd, ./doc/help/cyclone/spray-help.pd, ./doc/help/cyclone/substitute-help.pd, ./doc/help/cyclone/switch-help.pd, ./doc/help/cyclone/thresh-help.pd, ./doc/help/cyclone/tosymbol-help.pd, ./doc/help/cyclone/universal-help.pd, ./doc/help/cyclone/wave~-help.pd, ./doc/help/cyclone/zl-help.pd Copyright: cycling'74; License: UNKNOWN FIXME Files: ./cyclone/hammer/forward.c, ./cyclone/sickle/rand.c, ./shared/common/binport.c, ./shared/common/dict.c, ./shared/common/lex.c, ./shared/common/port.c, ./shared/common/rand.c, ./shared/common/vefl.c, ./shared/unstable/fragile.c, ./shared/unstable/fringe.c, ./shared/unstable/fringe.h, ./shared/unstable/loader.c, ./shared/unstable/standalone.c Copyright: 1997-2002, Miller Puckette, krzYszcz, and others 1997-2003, Miller Puckette, krzYszcz, and others 1997-2004, Miller Puckette, krzYszcz, and others 1997-2005, Miller Puckette, krzYszcz, and others License: UNKNOWN FIXME Files: ./debian/patches/add_required_internal_pd_headers, ./shared/g_canvas.h, ./shared/m_imp.h Copyright: 1997-1999, Miller Puckette License: UNKNOWN FIXME Files: ./cyclone/sickle/mstosamps.c, ./cyclone/sickle/pink.c, ./cyclone/sickle/sampstoms.c Copyright: 2003, krzYszcz, and others License: UNKNOWN FIXME Files: ./shared/common/mifi.c Copyright: %s", "track name: %s" 2004-2005, krzYszcz and others License: UNKNOWN FIXME Files: ./LICENSE.txt Copyright: (1) (ii) notices are retained in all copies and that this License: UNKNOWN FIXME Files: ./shared/toxy/scriptlet.c Copyright: *iptr = c; 2003-2005, krzYszcz and others License: UNKNOWN FIXME Files: ./shared/unstable/pd_imp.h Copyright: 1997-2003, Miller Puckette and others License: UNKNOWN FIXME Files: ./bin/pddp/pddpserver.tcl Copyright: 1996-1997, Sun Microsystems License: UNKNOWN FIXME debian/cyclist.10000664000000000000000000000263511677737263010755 0ustar .\" Hey, EMACS: -*- nroff -*- .\" First parameter, NAME, should be all caps .\" Second parameter, 1, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) .TH CYCLIST 1 "November 2010" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH NAME cyclist \- convert Max/MSP binary files to text file format .SH SYNOPSIS .B cyclist [\fIFILE\fR] .SH DESCRIPTION This manual page documents briefly the .B cyclist command. .PP .\" TeX users may be more comfortable with the \fB\fP and .\" \fI\fP escape sequences to invode bold face and italics, .\" respectively. \fBcyclist\fP is a program that converts the Cycling '74 Max/MSP .mxb file format to the maxv2 .pat or .mxt file format. It reads the file name as the first argument and then dumps the resulting text to stdout. .SH AUTHOR cyclist was written by Krzysztof Czaja . .PP This manual page was written by Hans-Christoph Steiner , for the Debian project (and may be used by others). debian/cyclist.install0000664000000000000000000000003311677737263012251 0ustar debian/tmp/usr/bin/cyclist debian/cyclist.manpages0000664000000000000000000000002111677737263012373 0ustar debian/cyclist.1 debian/gbp.conf0000664000000000000000000000024511677737263010633 0ustar [DEFAULT] upstream-branch = upstream debian-branch = master upstream-tag = upstream/%(version)s debian-tag = debian/%(version)s pristine-tar = True sign-tags = True debian/links0000664000000000000000000000011311677737263010251 0ustar usr/lib/pd/extra/cyclone/README.txt usr/share/doc/pd-cyclone/README debian/patches/0000755000000000000000000000000011700252771010617 5ustar debian/patches/add_required_internal_pd_headers0000664000000000000000000007645411677737263017307 0ustar Description: workaround for headers missing from 'puredata' Currently the 'puredata' package only includes the header m_pd.h, but other headers are need to build this package, specifically m_imp.h and g_canvas.h. This patch adds the two headers from 'puredata' version 0.42.6 until the other headers are included in Debian. Author: Hans-Christoph Steiner Bug-Debian: http://bugs.debian.org/568770 Forwarded: not-needed Reviewed-By: Hans-Christoph Steiner Last-Update: <2010-11-05> --- /dev/null +++ pd-cyclone-0.1~alpha55/shared/m_imp.h @@ -0,0 +1,82 @@ +/* Copyright (c) 1997-1999 Miller Puckette. +* For information on usage and redistribution, and for a DISCLAIMER OF ALL +* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ + +/* This file contains function prototypes and data types used to implement +Pd, but not shared with Pd objects. */ + +/* NOTE: this file describes Pd implementation details which may change +in future releases. The public (stable) API is in m_pd.h. */ + +/* LATER consider whether to use 'char' for method arg types to save space */ +#ifndef __m_imp_h_ + +/* the structure for a method handler ala Max */ +typedef struct _methodentry +{ + t_symbol *me_name; + t_gotfn me_fun; + t_atomtype me_arg[MAXPDARG+1]; +} t_methodentry; + +EXTERN_STRUCT _widgetbehavior; + +typedef void (*t_bangmethod)(t_pd *x); +typedef void (*t_pointermethod)(t_pd *x, t_gpointer *gp); +typedef void (*t_floatmethod)(t_pd *x, t_float f); +typedef void (*t_symbolmethod)(t_pd *x, t_symbol *s); +typedef void (*t_listmethod)(t_pd *x, t_symbol *s, int argc, t_atom *argv); +typedef void (*t_anymethod)(t_pd *x, t_symbol *s, int argc, t_atom *argv); + +struct _class +{ + t_symbol *c_name; /* name (mostly for error reporting) */ + t_symbol *c_helpname; /* name of help file */ + t_symbol *c_externdir; /* directory extern was loaded from */ + size_t c_size; /* size of an instance */ + t_methodentry *c_methods; /* methods other than bang, etc below */ + int c_nmethod; /* number of methods */ + t_method c_freemethod; /* function to call before freeing */ + t_bangmethod c_bangmethod; /* common methods */ + t_pointermethod c_pointermethod; + t_floatmethod c_floatmethod; + t_symbolmethod c_symbolmethod; + t_listmethod c_listmethod; + t_anymethod c_anymethod; + struct _widgetbehavior *c_wb; /* "gobjs" only */ + struct _parentwidgetbehavior *c_pwb;/* widget behavior in parent */ + t_savefn c_savefn; /* function to call when saving */ + t_propertiesfn c_propertiesfn; /* function to start prop dialog */ + int c_floatsignalin; /* onset to float for signal input */ + char c_gobj; /* true if is a gobj */ + char c_patchable; /* true if we have a t_object header */ + char c_firstin; /* if patchable, true if draw first inlet */ + char c_drawcommand; /* a drawing command for a template */ +}; + + +/* m_obj.c */ +EXTERN int obj_noutlets(t_object *x); +EXTERN int obj_ninlets(t_object *x); +EXTERN t_outconnect *obj_starttraverseoutlet(t_object *x, t_outlet **op, + int nout); +EXTERN t_outconnect *obj_nexttraverseoutlet(t_outconnect *lastconnect, + t_object **destp, t_inlet **inletp, int *whichp); +EXTERN t_outconnect *obj_connect(t_object *source, int outno, + t_object *sink, int inno); +EXTERN void obj_disconnect(t_object *source, int outno, t_object *sink, + int inno); +EXTERN void outlet_setstacklim(void); +EXTERN int obj_issignalinlet(t_object *x, int m); +EXTERN int obj_issignaloutlet(t_object *x, int m); +EXTERN int obj_nsiginlets(t_object *x); +EXTERN int obj_nsigoutlets(t_object *x); +EXTERN int obj_siginletindex(t_object *x, int m); +EXTERN int obj_sigoutletindex(t_object *x, int m); + +/* misc */ +EXTERN void glob_evalfile(t_pd *ignore, t_symbol *name, t_symbol *dir); +EXTERN void glob_initfromgui(void *dummy, t_symbol *s, int argc, t_atom *argv); +EXTERN void glob_quit(void *dummy); +#define __m_imp_h_ +#endif /* __m_imp_h_ */ --- /dev/null +++ pd-cyclone-0.1~alpha55/shared/g_canvas.h @@ -0,0 +1,618 @@ +/* Copyright (c) 1997-1999 Miller Puckette. +* For information on usage and redistribution, and for a DISCLAIMER OF ALL +* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ + +/* this file defines the structure for "glists" and related structures and +functions. "Glists" and "canvases" and "graphs" used to be different +structures until being unified in version 0.35. + +A glist occupies its own window if the "gl_havewindow" flag is set. Its +appearance on its "parent", also called "owner", (if it has one) is as a graph +if "gl_isgraph" is set, and otherwise as a text box. + +A glist is "root" if it has no owner, i.e., a document window. In this +case "gl_havewindow" is always set. + +We maintain a list of root windows, so that we can traverse the whole +collection of everything in a Pd process. + +If a glist has a window it may still not be "mapped." Miniaturized +windows aren't mapped, for example, but a window is also not mapped +immediately upon creation. In either case gl_havewindow is true but +gl_mapped is false. + +Closing a non-root window makes it invisible; closing a root destroys it. + +A glist that's just a text object on its parent is always "toplevel." An +embedded glist can switch back and forth to appear as a toplevel by double- +clicking on it. Single-clicking a text box makes the toplevel become visible +and raises the window it's in. + +If a glist shows up as a graph on its parent, the graph is blanked while the +glist has its own window, even if miniaturized. + +*/ + +/* NOTE: this file describes Pd implementation details which may change +in future releases. The public (stable) API is in m_pd.h. */ + +#if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus) +extern "C" { +#endif + +/* --------------------- geometry ---------------------------- */ +#define IOWIDTH 7 /* width of an inlet/outlet in pixels */ +#define IOMIDDLE ((IOWIDTH-1)/2) +#define GLIST_DEFGRAPHWIDTH 200 +#define GLIST_DEFGRAPHHEIGHT 140 +/* ----------------------- data ------------------------------- */ + +typedef struct _updateheader +{ + struct _updateheader *upd_next; + unsigned int upd_array:1; /* true if array, false if glist */ + unsigned int upd_queued:1; /* true if we're queued */ +} t_updateheader; + + /* types to support glists grabbing mouse motion or keys from parent */ +typedef void (*t_glistmotionfn)(void *z, t_floatarg dx, t_floatarg dy); +typedef void (*t_glistkeyfn)(void *z, t_floatarg key); + +EXTERN_STRUCT _rtext; +#define t_rtext struct _rtext + +EXTERN_STRUCT _gtemplate; +#define t_gtemplate struct _gtemplate + +EXTERN_STRUCT _guiconnect; +#define t_guiconnect struct _guiconnect + +EXTERN_STRUCT _tscalar; +#define t_tscalar struct _tscalar + +EXTERN_STRUCT _canvasenvironment; +#define t_canvasenvironment struct _canvasenvironment + +EXTERN_STRUCT _fielddesc; +#define t_fielddesc struct _fielddesc + +typedef struct _selection +{ + t_gobj *sel_what; + struct _selection *sel_next; +} t_selection; + + /* this structure is instantiated whenever a glist becomes visible. */ +typedef struct _editor +{ + t_updateheader e_upd; /* update header structure */ + t_selection *e_updlist; /* list of objects to update */ + t_rtext *e_rtext; /* text responder linked list */ + t_selection *e_selection; /* head of the selection list */ + t_rtext *e_textedfor; /* the rtext if any that we are editing */ + t_gobj *e_grab; /* object being "dragged" */ + t_glistmotionfn e_motionfn; /* ... motion callback */ + t_glistkeyfn e_keyfn; /* ... keypress callback */ + t_binbuf *e_connectbuf; /* connections to deleted objects */ + t_binbuf *e_deleted; /* last stuff we deleted */ + t_guiconnect *e_guiconnect; /* GUI connection for filtering messages */ + struct _glist *e_glist; /* glist which owns this */ + int e_xwas; /* xpos on last mousedown or motion event */ + int e_ywas; /* ypos, similarly */ + int e_selectline_index1; /* indices for the selected line if any */ + int e_selectline_outno; /* (only valid if e_selectedline is set) */ + int e_selectline_index2; + int e_selectline_inno; + t_outconnect *e_selectline_tag; + unsigned int e_onmotion: 3; /* action to take on motion */ + unsigned int e_lastmoved: 1; /* one if mouse has moved since click */ + unsigned int e_textdirty: 1; /* one if e_textedfor has changed */ + unsigned int e_selectedline: 1; /* one if a line is selected */ +} t_editor; + +#define MA_NONE 0 /* e_onmotion: do nothing on mouse motion */ +#define MA_MOVE 1 /* drag the selection around */ +#define MA_CONNECT 2 /* make a connection */ +#define MA_REGION 3 /* selection region */ +#define MA_PASSOUT 4 /* send on to e_grab */ +#define MA_DRAGTEXT 5 /* drag in text editor to alter selection */ + +/* editor structure for "garrays". We don't bother to delete and regenerate +this structure when the "garray" becomes invisible or visible, although we +could do so if the structure gets big (like the "editor" above.) */ + +typedef struct _arrayvis +{ + t_updateheader av_upd; /* update header structure */ + t_garray *av_garray; /* owning structure */ +} t_arrayvis; + +/* the t_tick structure describes where to draw x and y "ticks" for a glist */ + +typedef struct _tick /* where to put ticks on x or y axes */ +{ + t_float k_point; /* one point to draw a big tick at */ + t_float k_inc; /* x or y increment per little tick */ + int k_lperb; /* little ticks per big; 0 if no ticks to draw */ +} t_tick; + +/* the t_glist structure, which describes a list of elements that live on an +area of a window. + +*/ + +struct _glist +{ + t_object gl_obj; /* header in case we're a glist */ + t_gobj *gl_list; /* the actual data */ + struct _gstub *gl_stub; /* safe pointer handler */ + int gl_valid; /* incremented when pointers might be stale */ + struct _glist *gl_owner; /* parent glist, supercanvas, or 0 if none */ + int gl_pixwidth; /* width in pixels (on parent, if a graph) */ + int gl_pixheight; + t_float gl_x1; /* bounding rectangle in our own coordinates */ + t_float gl_y1; + t_float gl_x2; + t_float gl_y2; + int gl_screenx1; /* screen coordinates when toplevel */ + int gl_screeny1; + int gl_screenx2; + int gl_screeny2; + int gl_xmargin; /* origin for GOP rectangle */ + int gl_ymargin; + t_tick gl_xtick; /* ticks marking X values */ + int gl_nxlabels; /* number of X coordinate labels */ + t_symbol **gl_xlabel; /* ... an array to hold them */ + t_float gl_xlabely; /* ... and their Y coordinates */ + t_tick gl_ytick; /* same as above for Y ticks and labels */ + int gl_nylabels; + t_symbol **gl_ylabel; + t_float gl_ylabelx; + t_editor *gl_editor; /* editor structure when visible */ + t_symbol *gl_name; /* symbol bound here */ + int gl_font; /* nominal font size in points, e.g., 10 */ + struct _glist *gl_next; /* link in list of toplevels */ + t_canvasenvironment *gl_env; /* root canvases and abstractions only */ + unsigned int gl_havewindow:1; /* true if we own a window */ + unsigned int gl_mapped:1; /* true if, moreover, it's "mapped" */ + unsigned int gl_dirty:1; /* (root canvas only:) patch has changed */ + unsigned int gl_loading:1; /* am now loading from file */ + unsigned int gl_willvis:1; /* make me visible after loading */ + unsigned int gl_edit:1; /* edit mode */ + unsigned int gl_isdeleting:1; /* we're inside glist_delete -- hack! */ + unsigned int gl_goprect:1; /* draw rectangle for graph-on-parent */ + unsigned int gl_isgraph:1; /* show as graph on parent */ + unsigned int gl_hidetext:1; /* hide object-name + args when doing graph on parent */ +}; + +#define gl_gobj gl_obj.te_g +#define gl_pd gl_gobj.g_pd + +/* a data structure to describe a field in a pure datum */ + +#define DT_FLOAT 0 +#define DT_SYMBOL 1 +#define DT_LIST 2 +#define DT_ARRAY 3 + +typedef struct _dataslot +{ + int ds_type; + t_symbol *ds_name; + t_symbol *ds_arraytemplate; /* filled in for arrays only */ +} t_dataslot; + +typedef struct _template +{ + t_pd t_pdobj; /* header */ + struct _gtemplate *t_list; /* list of "struct"/gtemplate objects */ + t_symbol *t_sym; /* name */ + int t_n; /* number of dataslots (fields) */ + t_dataslot *t_vec; /* array of dataslots */ +} t_template; + +struct _array +{ + int a_n; /* number of elements */ + int a_elemsize; /* size in bytes; LATER get this from template */ + char *a_vec; /* array of elements */ + t_symbol *a_templatesym; /* template for elements */ + int a_valid; /* protection against stale pointers into array */ + t_gpointer a_gp; /* pointer to scalar or array element we're in */ + t_gstub *a_stub; /* stub for pointing into this array */ +}; + + /* structure for traversing all the connections in a glist */ +typedef struct _linetraverser +{ + t_canvas *tr_x; + t_object *tr_ob; + int tr_nout; + int tr_outno; + t_object *tr_ob2; + t_outlet *tr_outlet; + t_inlet *tr_inlet; + int tr_nin; + int tr_inno; + int tr_x11, tr_y11, tr_x12, tr_y12; + int tr_x21, tr_y21, tr_x22, tr_y22; + int tr_lx1, tr_ly1, tr_lx2, tr_ly2; + t_outconnect *tr_nextoc; + int tr_nextoutno; +} t_linetraverser; + +/* function types used to define graphical behavior for gobjs, a bit like X +widgets. We don't use Pd methods because Pd's typechecking can't specify the +types of pointer arguments. Also it's more convenient this way, since +every "patchable" object can just get the "text" behaviors. */ + + /* Call this to get a gobj's bounding rectangle in pixels */ +typedef void (*t_getrectfn)(t_gobj *x, struct _glist *glist, + int *x1, int *y1, int *x2, int *y2); + /* and this to displace a gobj: */ +typedef void (*t_displacefn)(t_gobj *x, struct _glist *glist, int dx, int dy); + /* change color to show selection: */ +typedef void (*t_selectfn)(t_gobj *x, struct _glist *glist, int state); + /* change appearance to show activation/deactivation: */ +typedef void (*t_activatefn)(t_gobj *x, struct _glist *glist, int state); + /* warn a gobj it's about to be deleted */ +typedef void (*t_deletefn)(t_gobj *x, struct _glist *glist); + /* making visible or invisible */ +typedef void (*t_visfn)(t_gobj *x, struct _glist *glist, int flag); + /* field a mouse click (when not in "edit" mode) */ +typedef int (*t_clickfn)(t_gobj *x, struct _glist *glist, + int xpix, int ypix, int shift, int alt, int dbl, int doit); + /* ... and later, resizing; getting/setting font or color... */ + +struct _widgetbehavior +{ + t_getrectfn w_getrectfn; + t_displacefn w_displacefn; + t_selectfn w_selectfn; + t_activatefn w_activatefn; + t_deletefn w_deletefn; + t_visfn w_visfn; + t_clickfn w_clickfn; +}; + +/* -------- behaviors for scalars defined by objects in template --------- */ +/* these are set by "drawing commands" in g_template.c which add appearance to +scalars, which live in some other window. If the scalar is just included +in a canvas the "parent" is a misnomer. There is also a text scalar object +which really does draw the scalar on the parent window; see g_scalar.c. */ + +/* note how the click function wants the whole scalar, not the "data", so +doesn't work on array elements... LATER reconsider this */ + + /* bounding rectangle: */ +typedef void (*t_parentgetrectfn)(t_gobj *x, struct _glist *glist, + t_word *data, t_template *tmpl, t_float basex, t_float basey, + int *x1, int *y1, int *x2, int *y2); + /* displace it */ +typedef void (*t_parentdisplacefn)(t_gobj *x, struct _glist *glist, + t_word *data, t_template *tmpl, t_float basex, t_float basey, + int dx, int dy); + /* change color to show selection */ +typedef void (*t_parentselectfn)(t_gobj *x, struct _glist *glist, + t_word *data, t_template *tmpl, t_float basex, t_float basey, + int state); + /* change appearance to show activation/deactivation: */ +typedef void (*t_parentactivatefn)(t_gobj *x, struct _glist *glist, + t_word *data, t_template *tmpl, t_float basex, t_float basey, + int state); + /* making visible or invisible */ +typedef void (*t_parentvisfn)(t_gobj *x, struct _glist *glist, + t_word *data, t_template *tmpl, t_float basex, t_float basey, + int flag); + /* field a mouse click */ +typedef int (*t_parentclickfn)(t_gobj *x, struct _glist *glist, + t_word *data, t_template *tmpl, t_scalar *sc, t_array *ap, + t_float basex, t_float basey, + int xpix, int ypix, int shift, int alt, int dbl, int doit); + +struct _parentwidgetbehavior +{ + t_parentgetrectfn w_parentgetrectfn; + t_parentdisplacefn w_parentdisplacefn; + t_parentselectfn w_parentselectfn; + t_parentactivatefn w_parentactivatefn; + t_parentvisfn w_parentvisfn; + t_parentclickfn w_parentclickfn; +}; + + /* cursor definitions; used as return value for t_parentclickfn */ +#define CURSOR_RUNMODE_NOTHING 0 +#define CURSOR_RUNMODE_CLICKME 1 +#define CURSOR_RUNMODE_THICKEN 2 +#define CURSOR_RUNMODE_ADDPOINT 3 +#define CURSOR_EDITMODE_NOTHING 4 +#define CURSOR_EDITMODE_CONNECT 5 +#define CURSOR_EDITMODE_DISCONNECT 6 +EXTERN void canvas_setcursor(t_glist *x, unsigned int cursornum); + +extern t_canvas *canvas_editing; /* last canvas to start text edting */ +extern t_canvas *canvas_whichfind; /* last canvas we did a find in */ +extern t_canvas *canvas_list; /* list of all root canvases */ +extern t_class *vinlet_class, *voutlet_class; +extern int glist_valid; /* incremented when pointers might be stale */ + +#define PLOTSTYLE_POINTS 0 /* plotting styles for arrays */ +#define PLOTSTYLE_POLY 1 +#define PLOTSTYLE_BEZ 2 + +/* ------------------- functions on any gobj ----------------------------- */ +EXTERN void gobj_getrect(t_gobj *x, t_glist *owner, int *x1, int *y1, + int *x2, int *y2); +EXTERN void gobj_displace(t_gobj *x, t_glist *owner, int dx, int dy); +EXTERN void gobj_select(t_gobj *x, t_glist *owner, int state); +EXTERN void gobj_activate(t_gobj *x, t_glist *owner, int state); +EXTERN void gobj_delete(t_gobj *x, t_glist *owner); +EXTERN void gobj_vis(t_gobj *x, t_glist *glist, int flag); +EXTERN int gobj_click(t_gobj *x, struct _glist *glist, + int xpix, int ypix, int shift, int alt, int dbl, int doit); +EXTERN void gobj_save(t_gobj *x, t_binbuf *b); +EXTERN void gobj_properties(t_gobj *x, struct _glist *glist); +EXTERN void gobj_save(t_gobj *x, t_binbuf *b); +EXTERN int gobj_shouldvis(t_gobj *x, struct _glist *glist); + +/* -------------------- functions on glists --------------------- */ +EXTERN t_glist *glist_new( void); +EXTERN void glist_init(t_glist *x); +EXTERN void glist_add(t_glist *x, t_gobj *g); +EXTERN void glist_cleanup(t_glist *x); +EXTERN void glist_free(t_glist *x); + +EXTERN void glist_clear(t_glist *x); +EXTERN t_canvas *glist_getcanvas(t_glist *x); +EXTERN int glist_isselected(t_glist *x, t_gobj *y); +EXTERN void glist_select(t_glist *x, t_gobj *y); +EXTERN void glist_deselect(t_glist *x, t_gobj *y); +EXTERN void glist_noselect(t_glist *x); +EXTERN void glist_selectall(t_glist *x); +EXTERN void glist_delete(t_glist *x, t_gobj *y); +EXTERN void glist_retext(t_glist *x, t_text *y); +EXTERN void glist_grab(t_glist *x, t_gobj *y, t_glistmotionfn motionfn, + t_glistkeyfn keyfn, int xpos, int ypos); +EXTERN int glist_isvisible(t_glist *x); +EXTERN int glist_istoplevel(t_glist *x); +EXTERN t_glist *glist_findgraph(t_glist *x); +EXTERN int glist_getfont(t_glist *x); +EXTERN void glist_sort(t_glist *canvas); +EXTERN void glist_read(t_glist *x, t_symbol *filename, t_symbol *format); +EXTERN void glist_mergefile(t_glist *x, t_symbol *filename, t_symbol *format); + +EXTERN t_float glist_pixelstox(t_glist *x, t_float xpix); +EXTERN t_float glist_pixelstoy(t_glist *x, t_float ypix); +EXTERN t_float glist_xtopixels(t_glist *x, t_float xval); +EXTERN t_float glist_ytopixels(t_glist *x, t_float yval); +EXTERN t_float glist_dpixtodx(t_glist *x, t_float dxpix); +EXTERN t_float glist_dpixtody(t_glist *x, t_float dypix); + +EXTERN void glist_getnextxy(t_glist *gl, int *xval, int *yval); +EXTERN void glist_glist(t_glist *g, t_symbol *s, int argc, t_atom *argv); +EXTERN t_glist *glist_addglist(t_glist *g, t_symbol *sym, + t_float x1, t_float y1, t_float x2, t_float y2, + t_float px1, t_float py1, t_float px2, t_float py2); +EXTERN void glist_arraydialog(t_glist *parent, t_symbol *name, + t_floatarg size, t_floatarg saveit, t_floatarg newgraph); +EXTERN t_binbuf *glist_writetobinbuf(t_glist *x, int wholething); +EXTERN int glist_isgraph(t_glist *x); +EXTERN void glist_redraw(t_glist *x); +EXTERN void glist_drawiofor(t_glist *glist, t_object *ob, int firsttime, + char *tag, int x1, int y1, int x2, int y2); +EXTERN void glist_eraseiofor(t_glist *glist, t_object *ob, char *tag); +EXTERN void canvas_create_editor(t_glist *x); +EXTERN void canvas_destroy_editor(t_glist *x); +void canvas_deletelinesforio(t_canvas *x, t_text *text, + t_inlet *inp, t_outlet *outp); +extern int glist_amreloadingabstractions; /* stop GUI changes while reloading */ + +/* -------------------- functions on texts ------------------------- */ +EXTERN void text_setto(t_text *x, t_glist *glist, char *buf, int bufsize); +EXTERN void text_drawborder(t_text *x, t_glist *glist, char *tag, + int width, int height, int firsttime); +EXTERN void text_eraseborder(t_text *x, t_glist *glist, char *tag); +EXTERN int text_xcoord(t_text *x, t_glist *glist); +EXTERN int text_ycoord(t_text *x, t_glist *glist); +EXTERN int text_xpix(t_text *x, t_glist *glist); +EXTERN int text_ypix(t_text *x, t_glist *glist); + +/* -------------------- functions on rtexts ------------------------- */ +#define RTEXT_DOWN 1 +#define RTEXT_DRAG 2 +#define RTEXT_DBL 3 +#define RTEXT_SHIFT 4 + +EXTERN t_rtext *rtext_new(t_glist *glist, t_text *who); +EXTERN t_rtext *glist_findrtext(t_glist *gl, t_text *who); +EXTERN void rtext_draw(t_rtext *x); +EXTERN void rtext_erase(t_rtext *x); +EXTERN t_rtext *rtext_remove(t_rtext *first, t_rtext *x); +EXTERN int rtext_height(t_rtext *x); +EXTERN void rtext_displace(t_rtext *x, int dx, int dy); +EXTERN void rtext_select(t_rtext *x, int state); +EXTERN void rtext_activate(t_rtext *x, int state); +EXTERN void rtext_free(t_rtext *x); +EXTERN void rtext_key(t_rtext *x, int n, t_symbol *s); +EXTERN void rtext_mouse(t_rtext *x, int xval, int yval, int flag); +EXTERN void rtext_retext(t_rtext *x); +EXTERN int rtext_width(t_rtext *x); +EXTERN int rtext_height(t_rtext *x); +EXTERN char *rtext_gettag(t_rtext *x); +EXTERN void rtext_gettext(t_rtext *x, char **buf, int *bufsize); +EXTERN void rtext_getseltext(t_rtext *x, char **buf, int *bufsize); + +/* -------------------- functions on canvases ------------------------ */ +EXTERN t_class *canvas_class; + +EXTERN t_canvas *canvas_new(void *dummy, t_symbol *sel, int argc, t_atom *argv); +EXTERN t_symbol *canvas_makebindsym(t_symbol *s); +EXTERN void canvas_vistext(t_canvas *x, t_text *y); +EXTERN void canvas_fixlinesfor(t_canvas *x, t_text *text); +EXTERN void canvas_deletelinesfor(t_canvas *x, t_text *text); +EXTERN void canvas_stowconnections(t_canvas *x); +EXTERN void canvas_restoreconnections(t_canvas *x); +EXTERN void canvas_redraw(t_canvas *x); + +EXTERN t_inlet *canvas_addinlet(t_canvas *x, t_pd *who, t_symbol *sym); +EXTERN void canvas_rminlet(t_canvas *x, t_inlet *ip); +EXTERN t_outlet *canvas_addoutlet(t_canvas *x, t_pd *who, t_symbol *sym); +EXTERN void canvas_rmoutlet(t_canvas *x, t_outlet *op); +EXTERN void canvas_redrawallfortemplate(t_template *tmpl, int action); +EXTERN void canvas_redrawallfortemplatecanvas(t_canvas *x, int action); +EXTERN void canvas_zapallfortemplate(t_canvas *tmpl); +EXTERN void canvas_setusedastemplate(t_canvas *x); +EXTERN t_canvas *canvas_getcurrent(void); +EXTERN void canvas_setcurrent(t_canvas *x); +EXTERN void canvas_unsetcurrent(t_canvas *x); +EXTERN t_symbol *canvas_realizedollar(t_canvas *x, t_symbol *s); +EXTERN t_canvas *canvas_getrootfor(t_canvas *x); +EXTERN void canvas_dirty(t_canvas *x, t_floatarg n); +EXTERN int canvas_getfont(t_canvas *x); +typedef int (*t_canvasapply)(t_canvas *x, t_int x1, t_int x2, t_int x3); + +EXTERN t_int *canvas_recurapply(t_canvas *x, t_canvasapply *fn, + t_int x1, t_int x2, t_int x3); + +EXTERN void canvas_resortinlets(t_canvas *x); +EXTERN void canvas_resortoutlets(t_canvas *x); +EXTERN void canvas_free(t_canvas *x); +EXTERN void canvas_updatewindowlist( void); +EXTERN void canvas_editmode(t_canvas *x, t_floatarg yesplease); +EXTERN int canvas_isabstraction(t_canvas *x); +EXTERN int canvas_istable(t_canvas *x); +EXTERN int canvas_showtext(t_canvas *x); +EXTERN void canvas_vis(t_canvas *x, t_floatarg f); +EXTERN t_canvasenvironment *canvas_getenv(t_canvas *x); +EXTERN void canvas_rename(t_canvas *x, t_symbol *s, t_symbol *dir); +EXTERN void canvas_loadbang(t_canvas *x); +EXTERN int canvas_hitbox(t_canvas *x, t_gobj *y, int xpos, int ypos, + int *x1p, int *y1p, int *x2p, int *y2p); +EXTERN int canvas_setdeleting(t_canvas *x, int flag); + +typedef void (*t_undofn)(t_canvas *canvas, void *buf, + int action); /* a function that does UNDO/REDO */ +#define UNDO_FREE 0 /* free current undo/redo buffer */ +#define UNDO_UNDO 1 /* undo */ +#define UNDO_REDO 2 /* redo */ +EXTERN void canvas_setundo(t_canvas *x, t_undofn undofn, void *buf, + const char *name); +EXTERN void canvas_noundo(t_canvas *x); +EXTERN int canvas_getindex(t_canvas *x, t_gobj *y); + +EXTERN void canvas_connect(t_canvas *x, + t_floatarg fwhoout, t_floatarg foutno,t_floatarg fwhoin, t_floatarg finno); +EXTERN void canvas_disconnect(t_canvas *x, + t_float index1, t_float outno, t_float index2, t_float inno); +EXTERN int canvas_isconnected (t_canvas *x, + t_text *ob1, int n1, t_text *ob2, int n2); +EXTERN void canvas_selectinrect(t_canvas *x, int lox, int loy, int hix, int hiy); + + +/* ---- functions on canvasses as objects --------------------- */ + +EXTERN void canvas_fattenforscalars(t_canvas *x, + int *x1, int *y1, int *x2, int *y2); +EXTERN void canvas_visforscalars(t_canvas *x, t_glist *glist, int vis); +EXTERN int canvas_clicksub(t_canvas *x, int xpix, int ypix, int shift, + int alt, int dbl, int doit); +EXTERN t_glist *canvas_getglistonsuper(void); + +EXTERN void linetraverser_start(t_linetraverser *t, t_canvas *x); +EXTERN t_outconnect *linetraverser_next(t_linetraverser *t); +EXTERN void linetraverser_skipobject(t_linetraverser *t); + +/* --------- functions on garrays (graphical arrays) -------------------- */ + +EXTERN t_template *garray_template(t_garray *x); + +/* -------------------- arrays --------------------- */ +EXTERN t_garray *graph_array(t_glist *gl, t_symbol *s, t_symbol *tmpl, + t_floatarg f, t_floatarg saveit); +EXTERN t_array *array_new(t_symbol *templatesym, t_gpointer *parent); +EXTERN void array_resize(t_array *x, int n); +EXTERN void array_free(t_array *x); + +/* --------------------- gpointers and stubs ---------------- */ +EXTERN t_gstub *gstub_new(t_glist *gl, t_array *a); +EXTERN void gstub_cutoff(t_gstub *gs); +EXTERN void gpointer_setglist(t_gpointer *gp, t_glist *glist, t_scalar *x); +EXTERN void gpointer_setarray(t_gpointer *gp, t_array *array, t_word *w); + +/* --------------------- scalars ------------------------- */ +EXTERN void word_init(t_word *wp, t_template *tmpl, t_gpointer *gp); +EXTERN void word_restore(t_word *wp, t_template *tmpl, + int argc, t_atom *argv); +EXTERN t_scalar *scalar_new(t_glist *owner, + t_symbol *templatesym); +EXTERN void word_free(t_word *wp, t_template *tmpl); +EXTERN void scalar_getbasexy(t_scalar *x, t_float *basex, t_float *basey); +EXTERN void scalar_redraw(t_scalar *x, t_glist *glist); + +/* ------helper routines for "garrays" and "plots" -------------- */ +EXTERN int array_doclick(t_array *array, t_glist *glist, t_scalar *sc, t_array *ap, + t_symbol *elemtemplatesym, + t_float linewidth, t_float xloc, t_float xinc, t_float yloc, t_float scalarvis, + t_fielddesc *xfield, t_fielddesc *yfield, t_fielddesc *wfield, + int xpix, int ypix, int shift, int alt, int dbl, int doit); + +EXTERN void array_getcoordinate(t_glist *glist, + char *elem, int xonset, int yonset, int wonset, int indx, + t_float basex, t_float basey, t_float xinc, + t_fielddesc *xfielddesc, t_fielddesc *yfielddesc, t_fielddesc *wfielddesc, + t_float *xp, t_float *yp, t_float *wp); + +EXTERN int array_getfields(t_symbol *elemtemplatesym, + t_canvas **elemtemplatecanvasp, + t_template **elemtemplatep, int *elemsizep, + t_fielddesc *xfielddesc, t_fielddesc *yfielddesc, t_fielddesc *wfielddesc, + int *xonsetp, int *yonsetp, int *wonsetp); + +/* --------------------- templates ------------------------- */ +EXTERN t_template *template_new(t_symbol *sym, int argc, t_atom *argv); +EXTERN void template_free(t_template *x); +EXTERN int template_match(t_template *x1, t_template *x2); +EXTERN int template_find_field(t_template *x, t_symbol *name, int *p_onset, + int *p_type, t_symbol **p_arraytype); +EXTERN t_float template_getfloat(t_template *x, t_symbol *fieldname, t_word *wp, + int loud); +EXTERN void template_setfloat(t_template *x, t_symbol *fieldname, t_word *wp, + t_float f, int loud); +EXTERN t_symbol *template_getsymbol(t_template *x, t_symbol *fieldname, + t_word *wp, int loud); +EXTERN void template_setsymbol(t_template *x, t_symbol *fieldname, + t_word *wp, t_symbol *s, int loud); + +EXTERN t_template *gtemplate_get(t_gtemplate *x); +EXTERN t_template *template_findbyname(t_symbol *s); +EXTERN t_canvas *template_findcanvas(t_template *tmpl); +EXTERN void template_notify(t_template *tmpl, + t_symbol *s, int argc, t_atom *argv); + +EXTERN t_float template_getfloat(t_template *x, t_symbol *fieldname, + t_word *wp, int loud); +EXTERN void template_setfloat(t_template *x, t_symbol *fieldname, + t_word *wp, t_float f, int loud); +EXTERN t_symbol *template_getsymbol(t_template *x, t_symbol *fieldname, + t_word *wp, int loud); +EXTERN void template_setsymbol(t_template *x, t_symbol *fieldname, + t_word *wp, t_symbol *s, int loud); +EXTERN t_float fielddesc_getcoord(t_fielddesc *f, t_template *tmpl, + t_word *wp, int loud); +EXTERN void fielddesc_setcoord(t_fielddesc *f, t_template *tmpl, + t_word *wp, t_float pix, int loud); +EXTERN t_float fielddesc_cvttocoord(t_fielddesc *f, t_float val); +EXTERN t_float fielddesc_cvtfromcoord(t_fielddesc *f, t_float coord); + + +/* ----------------------- guiconnects, g_guiconnect.c --------- */ +EXTERN t_guiconnect *guiconnect_new(t_pd *who, t_symbol *sym); +EXTERN void guiconnect_notarget(t_guiconnect *x, double timedelay); + +/* ------------- IEMGUI routines used in other g_ files ---------------- */ +EXTERN t_symbol *iemgui_raute2dollar(t_symbol *s); +EXTERN t_symbol *iemgui_dollar2raute(t_symbol *s); + +#if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus) +} +#endif debian/patches/fix-hurd-and-kfreebsd0000664000000000000000000002427611700252637014631 0ustar Description: took fixes for HURD and kFreeBSD from upstream Author: Hans-Christoph Steiner Forwarded: not-needed Last-Update: <2011-12-31> --- pd-cyclone-0.1~alpha55.orig/Makefile.common +++ pd-cyclone-0.1~alpha55/Makefile.common @@ -2,6 +2,15 @@ PD_DIR ?= $(ROOT_DIR)/../../pd/src OS_NAME = $(shell uname -s) + +# Debian has options for the GNU HURD and kFreeBSD kernels +ifeq ($(OS_NAME),GNU) + OS_NAME=Linux +endif +ifeq ($(OS_NAME),GNU/kFreeBSD) + OS_NAME=Linux +endif + ifneq ($(OS_NAME),Linux) ifneq ($(OS_NAME),Darwin) ifeq (,$(findstring MinGW,$(OS_NAME))) --- pd-cyclone-0.1~alpha55/shared/unstable/loader.c 2012/01/01 19:37:29 15861 +++ pd-cyclone-0.1~alpha55/shared/unstable/loader.c 2012/01/02 06:34:02 15862 @@ -5,7 +5,8 @@ /* This is just a not-yet-in-the-API-sys_load_lib() duplication (modulo differentiating the error return codes). LATER use the original. */ -#ifdef __linux__ +/* this is for GNU/Linux and also Debian GNU/Hurd and GNU/kFreeBSD */ +#if defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__GNU__) || defined(__GLIBC__) #include #endif #ifdef UNIX @@ -39,7 +40,8 @@ ".pd_irix5"; #endif #endif -#ifdef __linux__ +/* this is for GNU/Linux and also Debian GNU/Hurd and GNU/kFreeBSD */ +#if defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__GNU__) || defined(__GLIBC__) ".pd_linux"; #endif #ifdef MACOSX @@ -76,7 +78,8 @@ strcpy(symname + (strlen(symname) - 1), "_tilde"); /* and append _setup to form the C setup function name */ strcat(symname, "_setup"); -#ifdef __linux__ +/* this is for GNU/Linux and also Debian GNU/Hurd and GNU/kFreeBSD */ +#if defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__GNU__) || defined(__GLIBC__) dlobj = dlopen(filename, RTLD_NOW | RTLD_GLOBAL); if (!dlobj) { --- pd-cyclone-0.1~alpha55/shared/common/mifi.c 2012/01/01 19:37:29 15861 +++ pd-cyclone-0.1~alpha55/shared/common/mifi.c 2012/01/02 06:34:02 15862 @@ -15,7 +15,8 @@ #include "m_pd.h" #include "mifi.h" -#ifdef __linux__ +/* this is for GNU/Linux and also Debian GNU/Hurd and GNU/kFreeBSD */ +#if defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__GNU__) || defined(__GLIBC__) #include #ifndef uint32 typedef u_int32_t uint32; --- pd-cyclone-0.1~alpha55/shared/shared.h 2012/01/01 19:37:29 15861 +++ pd-cyclone-0.1~alpha55/shared/shared.h 2012/01/02 06:34:02 15862 @@ -25,7 +25,8 @@ typedef unsigned long shared_t_bitmask; -#ifdef __linux__ +/* this is for GNU/Linux and also Debian GNU/Hurd and GNU/kFreeBSD */ +#if defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__GNU__) || defined(__GLIBC__) #include #ifndef int32 typedef int32_t int32; --- pd-cyclone-0.1~alpha55.orig/cyclone/Makefile.libdir +++ pd-cyclone-0.1~alpha55/cyclone/Makefile.libdir @@ -41,7 +41,7 @@ ifeq ($(UNAME),Darwin) else FAT_FLAGS = -arch ppc -arch i386 -arch x86_64 -mmacosx-version-min=10.4 endif - CFLAGS += $(FAT_FLAGS) -fPIC -I/sw/include + CFLAGS += -DUNIX $(FAT_FLAGS) -fPIC -I/sw/include LDFLAGS += $(FAT_FLAGS) -bundle -undefined dynamic_lookup -L/sw/lib # if the 'pd' binary exists, check the linking against it to aid with stripping LDFLAGS += $(shell test -e $(PD_PATH)/bin/pd && echo -bundle_loader $(PD_PATH)/bin/pd) @@ -57,24 +57,50 @@ ifeq ($(UNAME),Linux) OS = linux PD_PATH = /usr OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer - CFLAGS += -fPIC - LDFLAGS += -Wl,--export-dynamic -shared -fPIC + CFLAGS += -DUNIX -fPIC + LDFLAGS += -rdynamic -shared -fPIC + LIBS += -lc + STRIP = strip --strip-unneeded -R .note -R .comment +endif +ifeq ($(UNAME),GNU) + # GNU/Hurd, should work like GNU/Linux for basically all externals + CPU := $(shell uname -m) + EXTENSION = pd_linux + OS = linux + PD_PATH = /usr + OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer + CFLAGS += -DUNIX -fPIC + LDFLAGS += -rdynamic -shared -fPIC + LIBS += -lc + STRIP = strip --strip-unneeded -R .note -R .comment +endif +ifeq ($(UNAME),GNU/kFreeBSD) + # Debian GNU/kFreeBSD, should work like GNU/Linux for basically all externals + CPU := $(shell uname -m) + EXTENSION = pd_linux + OS = linux + PD_PATH = /usr + OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer + CFLAGS += -DUNIX -fPIC + LDFLAGS += -rdynamic -shared -fPIC LIBS += -lc STRIP = strip --strip-unneeded -R .note -R .comment endif ifeq (CYGWIN,$(findstring CYGWIN,$(UNAME))) CPU := $(shell uname -m) + EXE = .exe EXTENSION = dll OS = cygwin PD_PATH = $(cygpath $(PROGRAMFILES))/pd OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer - CFLAGS += + CFLAGS += -DUNIX LDFLAGS += -Wl,--export-dynamic -shared -L"$(PD_PATH)/src" -L"$(PD_PATH)/bin" LIBS += -lc -lpd STRIP = strip --strip-unneeded -R .note -R .comment endif ifeq (MINGW,$(findstring MINGW,$(UNAME))) CPU := $(shell uname -m) + EXE = .exe EXTENSION = dll OS = windows PD_PATH = $(shell cd "$(PROGRAMFILES)"/pd && pwd) @@ -86,7 +112,7 @@ ifeq (MINGW,$(findstring MINGW,$(UNAME)) endif cyclone: - $(MAKE) -j4 -f Makefile \ + $(MAKE) -f Makefile \ OPT_CFLAGS="-O6 -funroll-loops -fomit-frame-pointer -fno-strict-aliasing -fPIC" install: cyclone @@ -94,9 +120,12 @@ install: cyclone $(INSTALL_DATA) cyclone-meta.pd $(DESTDIR)$(objectsdir)/cyclone $(INSTALL_DATA) ../LICENSE.txt $(DESTDIR)$(objectsdir)/cyclone $(INSTALL_DATA) README.txt $(DESTDIR)$(objectsdir)/cyclone + $(INSTALL_DIR) $(DESTDIR)$(objectsdir)/cyclone/manual + $(INSTALL_DATA) ../doc/help/cyclone/coll.txt hammer/pd-lib-notes.txt \ + $(DESTDIR)$(objectsdir)/cyclone/manual # cyclone is compiled straight into $(OUT_DIR), yes a kludge, but the code of # this build system is impenetrable - $(MAKE) -j4 OUT_DIR=$(DESTDIR)$(objectsdir)/cyclone + $(MAKE) OUT_DIR=$(DESTDIR)$(objectsdir)/cyclone $(STRIP) $(DESTDIR)$(objectsdir)/cyclone/*.$(EXTENSION) chmod a-x $(DESTDIR)$(objectsdir)/cyclone/*.$(EXTENSION) # install "maxmode" libraries into subdir, so they don't override the libdir @@ -115,14 +144,80 @@ install: cyclone # install "cyclist" command line app with pd $(INSTALL_DIR) $(DESTDIR)$(bindir) $(INSTALL_PROGRAM) ../bin/cyclist $(DESTDIR)$(bindir) - $(STRIP) $(DESTDIR)$(bindir)/cyclist + $(STRIP) $(DESTDIR)$(bindir)/cyclist$(EXE) +ifeq ($(UNAME),Linux) +# add links for the downcase versions, only on GNU/Linux since Windows +# and Mac OS X almost always use case insensitive file systems, so +# Borax.pd_darwin is the same file as borax.pd_darwin, etc. + ln -s -f Append.$(EXTENSION) $(DESTDIR)$(objectsdir)/cyclone/append.$(EXTENSION) + ln -s -f Append-help.pd $(DESTDIR)$(objectsdir)/cyclone/append-help.pd + ln -s -f Borax.$(EXTENSION) $(DESTDIR)$(objectsdir)/cyclone/borax.$(EXTENSION) + ln -s -f Borax-help.pd $(DESTDIR)$(objectsdir)/cyclone/borax-help.pd + ln -s -f Bucket.$(EXTENSION) $(DESTDIR)$(objectsdir)/cyclone/bucket.$(EXTENSION) + ln -s -f Bucket-help.pd $(DESTDIR)$(objectsdir)/cyclone/bucket-help.pd + ln -s -f Clip.$(EXTENSION) $(DESTDIR)$(objectsdir)/cyclone/clip.$(EXTENSION) + ln -s -f Clip-help.pd $(DESTDIR)$(objectsdir)/cyclone/clip-help.pd + ln -s -f Decode.$(EXTENSION) $(DESTDIR)$(objectsdir)/cyclone/decode.$(EXTENSION) + ln -s -f Decode-help.pd $(DESTDIR)$(objectsdir)/cyclone/decode-help.pd + ln -s -f Histo.$(EXTENSION) $(DESTDIR)$(objectsdir)/cyclone/histo.$(EXTENSION) + ln -s -f Histo-help.pd $(DESTDIR)$(objectsdir)/cyclone/histo-help.pd + ln -s -f MouseState.$(EXTENSION) $(DESTDIR)$(objectsdir)/cyclone/mousestate.$(EXTENSION) + ln -s -f MouseState-help.pd $(DESTDIR)$(objectsdir)/cyclone/mousestate-help.pd + ln -s -f Peak.$(EXTENSION) $(DESTDIR)$(objectsdir)/cyclone/peak.$(EXTENSION) + ln -s -f Peak-help.pd $(DESTDIR)$(objectsdir)/cyclone/peak-help.pd + ln -s -f Table.$(EXTENSION) $(DESTDIR)$(objectsdir)/cyclone/table.$(EXTENSION) + ln -s -f Table-help.pd $(DESTDIR)$(objectsdir)/cyclone/table-help.pd + ln -s -f TogEdge.$(EXTENSION) $(DESTDIR)$(objectsdir)/cyclone/togedge.$(EXTENSION) + ln -s -f TogEdge-help.pd $(DESTDIR)$(objectsdir)/cyclone/togedge-help.pd + ln -s -f Trough.$(EXTENSION) $(DESTDIR)$(objectsdir)/cyclone/trough.$(EXTENSION) + ln -s -f Trough-help.pd $(DESTDIR)$(objectsdir)/cyclone/trough-help.pd + ln -s -f Uzi.$(EXTENSION) $(DESTDIR)$(objectsdir)/cyclone/uzi.$(EXTENSION) + ln -s -f Uzi-help.pd $(DESTDIR)$(objectsdir)/cyclone/uzi-help.pd + ln -s -f Clip~.$(EXTENSION) $(DESTDIR)$(objectsdir)/cyclone/clip~.$(EXTENSION) + ln -s -f Clip~-help.pd $(DESTDIR)$(objectsdir)/cyclone/clip~-help.pd + ln -s -f Line~.$(EXTENSION) $(DESTDIR)$(objectsdir)/cyclone/line~.$(EXTENSION) + ln -s -f Line~-help.pd $(DESTDIR)$(objectsdir)/cyclone/line~-help.pd + ln -s -f Scope~.$(EXTENSION) $(DESTDIR)$(objectsdir)/cyclone/scope~.$(EXTENSION) + ln -s -f Scope~-help.pd $(DESTDIR)$(objectsdir)/cyclone/scope~-help.pd + ln -s -f Snapshot~.$(EXTENSION) $(DESTDIR)$(objectsdir)/cyclone/snapshot~.$(EXTENSION) + ln -s -f Snapshot~-help.pd $(DESTDIR)$(objectsdir)/cyclone/snapshot~-help.pd +endif clean: -$(MAKE) -f Makefile $(DEST_PATHS) clean - -rm -f ../bin/*.pd_linux + -rm -f ../bin/*.$(EXTENSION) -rm -f ../bin/cyclist -rm -f Makefile.deps -rm -f shadow/Makefile.deps -rm -f hammer/Makefile.deps -rm -f sickle/Makefile.deps + -rm -f -- ../pddp/Makefile.deps + -rm -f -- ../toxy/setup.wiq + -rm -f -- ../toxy/Makefile.deps + -rm -f -- ../shared/Makefile.deps + -rm -f -- ../shared/toxy/Makefile.deps + -rm -f -- ../shared/common/Makefile.deps + -rm -f -- ../shared/hammer/Makefile.deps + -rm -f -- ../shared/sickle/Makefile.deps + -rm -f -- ../shared/unstable/Makefile.deps -rm -f ../build-stamp + -rm -f -- ../shared/common/vefl.o + -rm -f -- ../shared/common/rand.o + -rm -f -- ../shared/common/port.o + -rm -f -- ../shared/common/os.o + -rm -f -- ../shared/common/mifi.o + -rm -f -- ../shared/common/loud.o + -rm -f -- ../shared/common/lex.o + -rm -f -- ../shared/common/grow.o + -rm -f -- ../shared/common/fitter.o + -rm -f -- ../shared/common/clc.o + -rm -f -- ../shared/common/binport.o + -rm -f -- ../shared/hammer/tree.o + -rm -f -- ../shared/hammer/gui.o + -rm -f -- ../shared/hammer/file.o + -rm -f -- ../shared/sickle/sic.o + -rm -f -- ../shared/sickle/arsic.o + -rm -f -- ../shared/unstable/loader.o + -rm -f -- ../shared/unstable/fringe.o + -rm -f -- ../shared/unstable/fragile.o + -rm -f -- ../shared/unstable/forky.o debian/patches/series0000664000000000000000000000006711700252652012037 0ustar add_required_internal_pd_headers fix-hurd-and-kfreebsd debian/pd-cyclone.install0000664000000000000000000000002311677737263012633 0ustar debian/tmp/usr/lib debian/pd-cyclone.lintian-overrides0000664000000000000000000000044611677737263014634 0ustar # the upstream library format includes the license file in it, this library # has a unique license that is just a statement of public domain, so we just # leave the file in place, since there is no license file to symlink to. pd-cyclone: extra-license-file usr/lib/pd/extra/cyclone/LICENSE.txt debian/rules0000775000000000000000000000220511677737263010272 0ustar #!/usr/bin/make -f include /usr/share/cdbs/1/class/makefile.mk include /usr/share/cdbs/1/rules/debhelper.mk -include /usr/share/cdbs/1/rules/utils.mk # Relax inclusion of optional features to ease backporting CDBS_BUILD_DEPENDS_rules_utils_copyright-check = DEB_MAKE_MAKEFILE = Makefile.libdir DEB_BUILDDIR = cyclone DEB_MAKE_INSTALL_TARGET = DESTDIR=$(CURDIR)/debian/tmp \ prefix=/usr pkglibdir=$(pkglibdir) install # Upstream build system can't handle explicit CFLAGS, so don't pass them DEB_MAKE_EXTRA_ARGS = LIBRARY_NAME = cyclone PACKAGE = pd-$(LIBRARY_NAME) pkglibdir = /usr/lib/pd/extra clean:: $(MAKE) clean -rm -f cyclone/Makefile.deps -rm -f cyclone/hammer/Makefile.deps -rm -f cyclone/shadow/Makefile.deps -rm -f cyclone/sickle/Makefile.deps -rm -f pddp/Makefile.deps shared/Makefile.deps shared/common/Makefile.deps -rm -f shared/hammer/Makefile.deps shared/sickle/Makefile.deps -rm -f shared/toxy/Makefile.deps shared/unstable/Makefile.deps -rm -f toxy/Makefile.deps binary-predeb/pd-cyclone:: dpkg-shlibdeps $(CURDIR)/debian/$(PACKAGE)$(pkglibdir)/$(LIBRARY_NAME)/*.pd_linux \ -T$(CURDIR)/debian/$(PACKAGE).substvars debian/source/0000755000000000000000000000000011677737263010511 5ustar debian/source/format0000664000000000000000000000001411677737263011721 0ustar 3.0 (quilt) debian/watch0000664000000000000000000000007011677737263010241 0ustar version=3 http://sf.net/pure-data/cyclone-(.*)\.tar\.gz