diff --git a/pd/doc/5.reference/pdinfo-help.pd b/pd/doc/5.reference/pdinfo-help.pd index 3cc5c2d3f79cf7146b5d93747fca7dc4126a74bb..e87e1994f2814900156a9f5862e512191e6beeab 100644 --- a/pd/doc/5.reference/pdinfo-help.pd +++ b/pd/doc/5.reference/pdinfo-help.pd @@ -1,4 +1,4 @@ -#N canvas 248 25 555 619 10; +#N canvas 257 29 555 619 10; #X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0 14 -228856 -66577 0; #X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header pdinfo 3 12 0 18 @@ -46,19 +46,19 @@ version; #X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide ; #X obj 503 7 pdinfo; -#X obj 39 299 pdinfo; -#X msg 39 60 print; -#X msg 89 216 version; -#X obj 39 330 print pd-version; -#X text 143 215 version of Pd that's running (MAJOR MINOR TEST); -#X msg 83 193 samplerate; -#X text 157 192 global samplerate; -#X msg 70 116 dir; -#X text 99 115 directory of the Pd executable; -#X msg 64 86 blocksize; -#X text 136 85 global blocksize; -#X msg 77 146 dsp-status; -#X text 152 146 whether dsp is turned on (0 = off \, 1 = on); +#X obj 39 307 pdinfo; +#X msg 39 52 print; +#X msg 105 234 version; +#X obj 39 334 print pd-version; +#X text 159 233 version of Pd that's running (MAJOR MINOR TEST); +#X msg 100 211 samplerate; +#X text 174 210 global samplerate; +#X msg 70 120 dir; +#X text 99 119 directory of the Pd executable; +#X msg 64 97 blocksize; +#X text 136 96 global blocksize; +#X msg 77 143 dsp-status; +#X text 152 143 whether dsp is turned on (0 = off \, 1 = on); #N canvas 100 44 428 514 audio-attributes 0; #X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0 14 -204280 -1 0; @@ -145,22 +145,26 @@ followed by a semicolon and the output for that method.; audio-device and midi-device message in subpatches.; #X text 169 459 - output varies depending on the message sent to [pdinfo] ; -#X msg 101 268 classlist; +#X msg 101 280 classlist; #X text 81 547 When using the "classlist" message \, note that some external Pd classes don't have a name. These are currently listed simply as "anonymous-class" in the output.; -#X text 175 267 (long) list of all class names that have been loaded +#X text 170 278 (long) list of all class names that have been loaded in the running instance of Pd. (Note: not all classes can be created in an object box.); -#X msg 92 242 canvaslist; -#X text 166 241 list of pointers to toplevel canvases in running Pd +#X msg 98 257 canvaslist; +#X text 172 256 list of pointers to toplevel canvases in running Pd instance; -#X text 80 59 print all attributes directly to the console; +#X text 80 51 print all attributes directly to the console; #X text 11 20 get info from the Pd instance that is running your patch ; #X text 155 320 Audio and MIDI specific messages:; -#X msg 83 169 libdir; -#X text 132 168 directory where extra/ and doc/ are found; +#X msg 83 166 libdir; +#X text 132 165 directory where extra/ and doc/ are found; +#X msg 54 75 arch; +#X text 88 74 machine architecture: ia32 \, x64 \, or arm; +#X msg 93 189 platform; +#X text 152 188 linux \, freebsd \, darwin \, or win32; #X connect 12 0 15 0; #X connect 13 0 12 0; #X connect 14 0 12 0; @@ -171,3 +175,5 @@ instance; #X connect 33 0 12 0; #X connect 36 0 12 0; #X connect 41 0 12 0; +#X connect 43 0 12 0; +#X connect 45 0 12 0; diff --git a/pd/src/x_interface.c b/pd/src/x_interface.c index bbff948b9fced6b2354c5a171e0d10894e410d3b..b35b7ec801679640f8f9418dba2af871571925c2 100644 --- a/pd/src/x_interface.c +++ b/pd/src/x_interface.c @@ -863,6 +863,23 @@ void pdinfo_platform(t_pdinfo *x, t_symbol *s, int argc, t_atom *argv) info_out((t_text *)x, s, 1, at); } +void pdinfo_arch(t_pdinfo *x, t_symbol *s, int argc, t_atom *argv) +{ + t_atom at[1]; + t_symbol *a = gensym("unknown"); +#ifdef __i386__ + a = gensym("ia32"); +#endif +#ifdef __x86_64__ + a = gensym("x64"); +#endif +#ifdef __arm__ + a = gensym("arm"); +#endif + SETSYMBOL(at, a); + info_out((t_text *)x, s, 1, at); +} + void pdinfo_version(t_pdinfo *x, t_symbol *s, int argc, t_atom *argv) { int major=0, minor=0, bugfix=0; @@ -902,6 +919,8 @@ void pdinfo_setup(void) sizeof(t_pdinfo), CLASS_DEFAULT, 0); + class_addmethod(pdinfo_class, (t_method)pdinfo_arch, + gensym("arch"), A_GIMME, 0); class_addmethod(pdinfo_class, (t_method)pdinfo_audio_api, gensym("audio-api"), A_DEFFLOAT, 0); class_addmethod(pdinfo_class, (t_method)pdinfo_audio_apilist,