[PD] writesafe2~ = an avoidance of the crash when writesf~ output file reaches 2GB
ClaudiusMaximus
gloriousclaudiusmaximus at yahoo.co.uk
Fri Oct 29 11:53:20 CEST 2004
I made an abstraction that writes multiple output files with a maximum
size setable by the user. Only stereo output files are supported, and
the control is via multiple messages so it isn't a straight drop-in
replacement. The patch uses two [writesf~] objects for double buffering
as the help file says there must be a delay between a "stop" and the
next "open".
Attached are the patch and help patch. It is advisable to send the
messages to the writesafe2~ in the order given in the help patch, I
haven't tested other orderings.
Still in the patch are [print]s to show what the [writesf~]s are
receiving, example output from the help patch, playing with the start
and stop controls towards the end:
===
writesafe2~-0: open -bytes 4 -wave -rate 44100 /home/claude/tmp/test0003.wav
writesafe2~-0: start
writesafe2~-0: stop
writesafe2~-1: open -bytes 4 -wave -rate 44100 /home/claude/tmp/test0004.wav
writesafe2~-1: start
writesafe2~-1: stop
writesafe2~-0: open -bytes 4 -wave -rate 44100 /home/claude/tmp/test0005.wav
writesafe2~-0: start
writesafe2~-0: stop
writesafe2~-1: open -bytes 4 -wave -rate 44100 /home/claude/tmp/test0006.wav
writesafe2~-1: start
writesafe2~-1: stop
writesafe2~-0: open -bytes 4 -wave -rate 44100 /home/claude/tmp/test0007.wav
writesafe2~-0: start
writesafe2~-0: stop
writesafe2~-1: open -bytes 4 -wave -rate 44100 /home/claude/tmp/test0008.wav
writesafe2~-1: start
writesafe2~-1: stop
writesafe2~-0: open -bytes 4 -wave -rate 44100 /home/claude/tmp/test0009.wav
writesafe2~-0: start
writesafe2~-0: stop
writesafe2~-1: open -bytes 4 -wave -rate 44100 /home/claude/tmp/test0010.wav
writesafe2~-1: start
writesafe2~-1: stop
writesafe2~-0: open -bytes 4 -wave -rate 44100 /home/claude/tmp/test0011.wav
writesafe2~-0: start
writesafe2~-0: stop
writesafe2~-1: open -bytes 4 -wave -rate 44100 /home/claude/tmp/test0012.wav
writesafe2~-1: start
writesafe2~-1: stop
writesafe2~-1: stop
writesafe2~-0: open -bytes 4 -wave -rate 44100 /home/claude/tmp/test0013.wav
writesafe2~-0: start
writesafe2~-0: stop
writesafe2~-1: open -bytes 4 -wave -rate 44100 /home/claude/tmp/test0014.wav
writesafe2~-1: start
writesafe2~-1: stop
writesafe2~-1: stop
writesafe2~-0: open -bytes 4 -wave -rate 44100 /home/claude/tmp/test0015.wav
writesafe2~-0: start
writesafe2~-0: stop
writesafe2~-0: stop
writesafe2~-1: open -bytes 4 -wave -rate 44100 /home/claude/tmp/test0016.wav
writesafe2~-1: start
writesafe2~-1: stop
===
And the resulting files:
===
$ ls ~/tmp/ -l
-rw-rw-r-- 1 claude claude 799788 Oct 29 09:51 test0003.wav
-rw-rw-r-- 1 claude claude 799788 Oct 29 09:51 test0004.wav
-rw-rw-r-- 1 claude claude 800300 Oct 29 09:51 test0005.wav
-rw-rw-r-- 1 claude claude 799788 Oct 29 09:51 test0006.wav
-rw-rw-r-- 1 claude claude 800300 Oct 29 09:51 test0007.wav
-rw-rw-r-- 1 claude claude 799788 Oct 29 09:51 test0008.wav
-rw-rw-r-- 1 claude claude 800300 Oct 29 09:51 test0009.wav
-rw-rw-r-- 1 claude claude 799788 Oct 29 09:51 test0010.wav
-rw-rw-r-- 1 claude claude 800300 Oct 29 09:52 test0011.wav
-rw-rw-r-- 1 claude claude 498732 Oct 29 09:52 test0012.wav
-rw-rw-r-- 1 claude claude 799788 Oct 29 09:52 test0013.wav
-rw-rw-r-- 1 claude claude 655916 Oct 29 09:52 test0014.wav
-rw-rw-r-- 1 claude claude 179756 Oct 29 09:52 test0015.wav
-rw-rw-r-- 1 claude claude 145452 Oct 29 09:52 test0016.wav
===
I hope this is useful for some of you :-)
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: writesafe2~-help.pd
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20041029/07b952fa/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: writesafe2~.pd
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20041029/07b952fa/attachment.asc>
More information about the Pd-list
mailing list