summaryrefslogtreecommitdiff
path: root/apps/plugins/pdbox/PDa/src/t_main.c
diff options
context:
space:
mode:
authorPeter D'Hoye <peter.dhoye@gmail.com>2009-05-22 21:58:48 +0000
committerPeter D'Hoye <peter.dhoye@gmail.com>2009-05-22 21:58:48 +0000
commit513389b4c1bc8afe4b2dc9947c534bfeb105e3da (patch)
tree10e673b35651ac567fed2eda0c679c7ade64cbc6 /apps/plugins/pdbox/PDa/src/t_main.c
parent95fa7f6a2ef466444fbe3fe87efc6d5db6b77b36 (diff)
downloadrockbox-513389b4c1bc8afe4b2dc9947c534bfeb105e3da.tar.gz
rockbox-513389b4c1bc8afe4b2dc9947c534bfeb105e3da.zip
Add FS #10214. Initial commit of the original PDa code for the GSoC Pure Data plugin project of Wincent Balin. Stripped some non-sourcefiles and added a rockbox readme that needs a bit more info from Wincent. Is added to CATEGORIES and viewers, but not yet to SUBDIRS (ie doesn't build yet)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21044 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/pdbox/PDa/src/t_main.c')
-rw-r--r--apps/plugins/pdbox/PDa/src/t_main.c240
1 files changed, 240 insertions, 0 deletions
diff --git a/apps/plugins/pdbox/PDa/src/t_main.c b/apps/plugins/pdbox/PDa/src/t_main.c
new file mode 100644
index 0000000000..7b80cb0dd6
--- /dev/null
+++ b/apps/plugins/pdbox/PDa/src/t_main.c
@@ -0,0 +1,240 @@
1/* Copyright (c) 1997-1999 Miller Puckette.
2* For information on usage and redistribution, and for a DISCLAIMER OF ALL
3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
4
5/* This file should be compared with the corresponding thing in the TK
6* distribution whenever updating to newer versions of TCL/TK. */
7
8/*
9 * Copyright (c) 1993 The Regents of the University of California.
10 * Copyright (c) 1994 Sun Microsystems, Inc.
11 *
12 * See the file "license.terms" for information on usage and redistribution
13 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
14 */
15
16
17#ifndef MACOSX /* linux and IRIX only; in MACOSX we don't link this in */
18#include "tk.h"
19#include <stdlib.h>
20
21/*
22 * The following variable is a special hack that is needed in order for
23 * Sun shared libraries to be used for Tcl.
24 */
25
26extern int matherr(void);
27int *tclDummyMathPtr = (int *) matherr;
28
29/*
30 *----------------------------------------------------------------------
31 *
32 * main --
33 *
34 * This is the main program for the application.
35 *
36 * Results:
37 * None: Tk_Main never returns here, so this procedure never
38 * returns either.
39 *
40 * Side effects:
41 * Whatever the application does.
42 *
43 *----------------------------------------------------------------------
44 */
45
46void pdgui_startup(Tcl_Interp *interp);
47void pdgui_setname(char *name);
48void pdgui_setsock(int port);
49void pdgui_sethost(char *name);
50
51int
52main(int argc, char **argv)
53{
54 pdgui_setname(argv[0]);
55 if (argc >= 2)
56 {
57 pdgui_setsock(atoi(argv[1]));
58 argc--; argv++;
59 argv[0] = "Pd";
60 }
61 if (argc >= 2)
62 {
63 pdgui_sethost(argv[1]);
64 argc--; argv++;
65 argv[0] = "Pd";
66 }
67 Tk_Main(argc, argv, Tcl_AppInit);
68 return 0; /* Needed only to prevent compiler warning. */
69}
70
71
72/*
73 *----------------------------------------------------------------------
74 *
75 * Tcl_AppInit --
76 *
77 * This procedure performs application-specific initialization.
78 * Most applications, especially those that incorporate additional
79 * packages, will have their own version of this procedure.
80 * Results:
81 * Returns a standard Tcl completion code, and leaves an error
82 * message in interp->result if an error occurs.
83 *
84 * Side effects:
85 * Depends on the startup script.
86 *
87 *----------------------------------------------------------------------
88 */
89
90int
91Tcl_AppInit(interp)
92 Tcl_Interp *interp; /* Interpreter for application. */
93{
94
95 if (Tcl_Init(interp) == TCL_ERROR) {
96 return TCL_ERROR;
97 }
98 if (Tk_Init(interp) == TCL_ERROR) {
99 return TCL_ERROR;
100 }
101
102 /* setup specific to pd-gui: */
103
104 pdgui_startup(interp);
105
106 /*
107 * Specify a user-specific startup file to invoke if the application
108 * is run interactively. Typically the startup file is "~/.apprc"
109 * where "app" is the name of the application. If this line is deleted
110 * then no user-specific startup file will be run under any conditions.
111 */
112
113#if 0
114 tcl_RcFileName = "~/.pdrc";
115#endif
116
117 return TCL_OK;
118}
119
120#endif /* MACOSX */
121/* Copyright (c) 1997-1999 Miller Puckette.
122* For information on usage and redistribution, and for a DISCLAIMER OF ALL
123* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
124
125/* This file should be compared with the corresponding thing in the TK
126* distribution whenever updating to newer versions of TCL/TK. */
127
128/*
129 * Copyright (c) 1993 The Regents of the University of California.
130 * Copyright (c) 1994 Sun Microsystems, Inc.
131 *
132 * See the file "license.terms" for information on usage and redistribution
133 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
134 */
135
136
137#ifndef MACOSX /* linux and IRIX only; in MACOSX we don't link this in */
138#include "tk.h"
139#include <stdlib.h>
140
141/*
142 * The following variable is a special hack that is needed in order for
143 * Sun shared libraries to be used for Tcl.
144 */
145
146extern int matherr(void);
147int *tclDummyMathPtr = (int *) matherr;
148
149/*
150 *----------------------------------------------------------------------
151 *
152 * main --
153 *
154 * This is the main program for the application.
155 *
156 * Results:
157 * None: Tk_Main never returns here, so this procedure never
158 * returns either.
159 *
160 * Side effects:
161 * Whatever the application does.
162 *
163 *----------------------------------------------------------------------
164 */
165
166void pdgui_startup(Tcl_Interp *interp);
167void pdgui_setname(char *name);
168void pdgui_setsock(int port);
169void pdgui_sethost(char *name);
170
171int
172main(int argc, char **argv)
173{
174 pdgui_setname(argv[0]);
175 if (argc >= 2)
176 {
177 pdgui_setsock(atoi(argv[1]));
178 argc--; argv++;
179 argv[0] = "Pd";
180 }
181 if (argc >= 2)
182 {
183 pdgui_sethost(argv[1]);
184 argc--; argv++;
185 argv[0] = "Pd";
186 }
187 Tk_Main(argc, argv, Tcl_AppInit);
188 return 0; /* Needed only to prevent compiler warning. */
189}
190
191
192/*
193 *----------------------------------------------------------------------
194 *
195 * Tcl_AppInit --
196 *
197 * This procedure performs application-specific initialization.
198 * Most applications, especially those that incorporate additional
199 * packages, will have their own version of this procedure.
200 * Results:
201 * Returns a standard Tcl completion code, and leaves an error
202 * message in interp->result if an error occurs.
203 *
204 * Side effects:
205 * Depends on the startup script.
206 *
207 *----------------------------------------------------------------------
208 */
209
210int
211Tcl_AppInit(interp)
212 Tcl_Interp *interp; /* Interpreter for application. */
213{
214
215 if (Tcl_Init(interp) == TCL_ERROR) {
216 return TCL_ERROR;
217 }
218 if (Tk_Init(interp) == TCL_ERROR) {
219 return TCL_ERROR;
220 }
221
222 /* setup specific to pd-gui: */
223
224 pdgui_startup(interp);
225
226 /*
227 * Specify a user-specific startup file to invoke if the application
228 * is run interactively. Typically the startup file is "~/.apprc"
229 * where "app" is the name of the application. If this line is deleted
230 * then no user-specific startup file will be run under any conditions.
231 */
232
233#if 0
234 tcl_RcFileName = "~/.pdrc";
235#endif
236
237 return TCL_OK;
238}
239
240#endif /* MACOSX */