I tried to open a 4800x3600 24bit PNG file, but it made Pd crash/suddenly quit.
$ cat /home/claude/.pdrc -verbose -jack -noadc -audiobuf 2 -blocksize 64 -sleepgrain 10 -midiindev 1 -midioutdev 1 -path /home/claude/claudiusmaximus -lib /home/claude/public/development/pure-data-devel/pd/externals/gridflow-lib/gridflow -path /home/claude/public/development/pure-data-devel/pd/externals/gridflow-abstractions -lib /home/claude/public/development/pure-data-devel/pd/externals/iem-lib/iemlib1 -lib /home/claude/public/development/pure-data-devel/pd/externals/iem-lib/iemlib2 -lib /home/claude/public/development/pure-data-devel/pd/externals/iem-lib/iem_mp3 -lib /home/claude/public/development/pure-data-devel/pd/externals/iem-lib/iem_t3_lib -path /home/claude/public/development/pure-data-devel/pd/externals/iem-abstractions
$ /home/claude/public/development/pure-data-devel/pd/bin/pd reading startup file: /home/claude/.pdrc sys_audioapi 5 Pd version 0.37.1 devel compiled 19:56:47 Jul 10 2004 port 5400 Waiting for connection request... TCL_LIBRARY="/home/claude/public/development/pure-data-devel/pd/tcl/library" TK_LIBRARY="/home/claude/public/development/pure-data-devel/pd/tk/library" "/home/claude/public/development/pure-data-devel/pd/bin/pd-gui" 5400 ... connected pd_startgui : updater thread 16386 launched global soundfiler thread launched, priority: 0 Soundfiler sleeping device 1: tried /dev/midi READ/WRITE; returned -1 device 0: tried /dev/midi00 READ/WRITE; returned 7 opened 1 MIDI input device(s) and 1 MIDI output device(s). input channels = 0, output channels = 2 tried /home/claude/public/development/pure-data-devel/pd/externals/gridflow-lib/gridflow.pd_linux and succeeded setting up Ruby-for-PureData... (done) [gf] This is GridFlow 0.7.6 within Ruby version 1.8.1 [gf] base/main.c was compiled on Jul 10 2004, 22:03:57 [gf] startup_cpu: using MMX optimisations tried /home/claude/public/development/pure-data-devel/pd/externals/iem-lib/iemlib1.pd_linux and succeeded iemlib1 (R-1.15) library loaded! tried /home/claude/public/development/pure-data-devel/pd/externals/iem-lib/iemlib2.pd_linux and succeeded iemlib2 (R-1.15) library loaded! tried /home/claude/public/development/pure-data-devel/pd/externals/iem-lib/iem_mp3.pd_linux and succeeded iem_mp3 (R-1.15) library loaded! tried /home/claude/public/development/pure-data-devel/pd/externals/iem-lib/iem_t3_lib.pd_linux and succeeded iem_t3_lib (R-1.15) library loaded!
here I load my patch, the relevant connections are:
[bng]
|
[openpanel]
|
[open $1, bang(
|
[@store]
Pd: signal 6 socket receive error: Connection reset by peer (104)
...no more Pd.
A nicer error message would be, well, nice, and not aborting instantly would be even nicer.
I guess this is because...
4800 * 3600 * 3 (channels) * 4 (grids are int32 by default) ~=~ 200MB
...and I only have 256MB RAM.
Is there any way to load the image directly into a (H,W,3)(uint8) grid? And would [@store] store it like that?
Simple solution for now - resize source image to something that fits in memory.
Ideal solution - lots and lots of RAM.
Anyone wanna donate me some memory modules - it was my birthday on Monday, call it a late present! ;-)