[PD] parse textfile

Jack jack at rybn.org
Tue Nov 17 01:53:34 CET 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello Simon,

Here an example, hope it can help.
++

Jack



Le 17/11/2015 01:14, Simon Iten a écrit :
> ok, i tried some more and i would love to do this in pd only since
> i want to redistribute it. textfile in conjunction with unpack
> should do the job but only if i can ignore the semicolon in the
> textfile somehow? if this would not make a “newline” i could unpack
> [f s f s f s f] the list and i would be fine i think…
> 
> cheers
> 
>> On 16 Nov 2015, at 22:18, Jaime E Oliver
>> <jaime.oliver2 at gmail.com> wrote:
>> 
>> checkout the [textfile] and [list split] objects. best, J
>> 
>> 
>> 
>> On Nov 16, 2015, at 3:58 PM, Simon Iten <itensimon at gmail.com>
>> wrote:
>> 
>>> hi list,
>>> 
>>> i’m trying to parse a textfile and use some numbers as
>>> parameters in a patch. unfortunately i can’t change the way the
>>> textfile is formatted, since it has to be compatible with
>>> another program. the first lines look like this:
>>> 
>>> 0    ; field:  0  poti:  0   ser.no.:  1 0    ; field:  0
>>> poti:  1   ser.no.:  2 0    ; field:  0  poti:  2   ser.no.:  3
>>>  127  ; field:  0  poti:  3   ser.no.:  4 0    ; field:  0
>>> poti:  4   ser.no.:  5 22   ; field:  0  poti:  5   ser.no.:  6
>>>  76   ; field:  0  poti:  6   ser.no.:  7 0    ; field:  0
>>> poti:  7   ser.no.:  8 127  ; field:  0  poti:  8   ser.no.:  9
>>>  0    ; field:  0  poti:  9   ser.no.:  10 0    ; field:  0
>>> poti:  10  ser.no.:  11 32   ; field:  0  poti:  11  ser.no.:
>>> 12 0    ; field:  1  poti:  0   ser.no.:  13 17   ; field:  1
>>> poti:  1   ser.no.:  14 0    ; field:  1  poti:  2   ser.no.:
>>> 15 0    ; field:  1  poti:  3   ser.no.:  16 0    ; field:  1
>>> poti:  4   ser.no.:  17 0    ; field:  1  poti:  5   ser.no.:
>>> 18 1    ; field:  1  poti:  6   ser.no.:  19 0    ; field:  1
>>> poti:  7   ser.no.:  20 64   ; field:  1  poti:  8   ser.no.:
>>> 21 0    ; field:  1  poti:  9   ser.no.:  22 0    ; field:  1
>>> poti:  10  ser.no.:  23 0    ; field:  1  poti:  11  ser.no.:
>>> 24 0    ; field:  2  poti:  0   ser.no.:  25 -19   ; field:  2
>>> poti:  1   ser.no.:  26 0    ; field:  2  poti:  2   ser.no.:
>>> 27 0    ; field:  2  poti:  3   ser.no.:  28 0    ; field:  2
>>> poti:  4   ser.no.:  29 0    ; field:  2  poti:  5   ser.no.:
>>> 30 1    ; field:  2  poti:  6   ser.no.:  31 0    ; field:  2
>>> poti:  7   ser.no.:  32 64   ; field:  2  poti:  8   ser.no.:
>>> 33 0    ; field:  2  poti:  9   ser.no.:  34 0    ; field:  2
>>> poti:  10  ser.no.:  35 0    ; field:  2  poti:  11  ser.no.:
>>> 36
>>> 
>>> basically i just need the first number of every line since that
>>> is the parameter. is there a way to route this based on the
>>> ser.no (since that is unique) or can i route the number to a
>>> send just by line? (i.e. number from first line goes to [s
>>> pitch1] number from 2nd line to [s pitch1_fine])
>>> 
>>> when i open the file with [read example.txt cr] i get all the
>>> parameters on separate lines, since pd starts a new line for
>>> all semicolons and all newlines. so if i could just read every
>>> second line i would be fine as well.
>>> 
>>> to further complicate things i should also be able to write
>>> files in that format… and it should all be in vanilla!
>>> 
>>> is this even doable in pd?
>>> 
>>> attached is an example preset file
>>> 
>>> thanks for any insights and sorry for the questions, i just
>>> never really worked with file parsing.
>>> 
>>> simon
>>> 
>>> <example.txt>
>>> 
>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________ 
>>> Pd-list at lists.iem.at mailing list UNSUBSCRIBE and
>>> account-management ->
>>> http://lists.puredata.info/listinfo/pd-list
>> 
> 
> 
> _______________________________________________ 
> Pd-list at lists.iem.at mailing list UNSUBSCRIBE and
> account-management -> http://lists.puredata.info/listinfo/pd-list
> 

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJWSnqKAAoJEOuluecjw8GUIB4H/3aFZCWfqeQhrDlw+TyK4bg5
ENY4atCFGKdzTNRhBVy7mV+zMe1DijIiLw6MPNLem0uo/Jbjknr/YwVWAz6ZGAyx
PP6gQzXNl54PAWZazQ90dZKWN1w3RqW7eiQlrxHg1DdWCs+tTaoAMJU1poVvkSaF
CBgAf1yXuDzSkblSn3vFJEM0iDs+Y4z0o3468Bdgs5NGJnFs+ewP6xjRXUhsKjVm
DqQdzMM1QuSgwlgkcI4gXmCbdcxYvG4j2tiz3Fih0v9QEwpYf4HIix2ryhPA/khw
KZl/fW3kucSNJSQGUS96El1p0+RiNiQ3dLlvljo4OmDhwihrf+4QEQ7hvExidyg=
=KpIx
-----END PGP SIGNATURE-----
-------------- next part --------------
 0    ; field:  0  poti:  0   ser.no.:  1 
 0    ; field:  0  poti:  1   ser.no.:  2 
 0    ; field:  0  poti:  2   ser.no.:  3 
 127  ; field:  0  poti:  3   ser.no.:  4 
 0    ; field:  0  poti:  4   ser.no.:  5 
 22   ; field:  0  poti:  5   ser.no.:  6 
 76   ; field:  0  poti:  6   ser.no.:  7 
 0    ; field:  0  poti:  7   ser.no.:  8 
 127  ; field:  0  poti:  8   ser.no.:  9 
 0    ; field:  0  poti:  9   ser.no.:  10 
 0    ; field:  0  poti:  10  ser.no.:  11 
 32   ; field:  0  poti:  11  ser.no.:  12 
 0    ; field:  1  poti:  0   ser.no.:  13 
 17   ; field:  1  poti:  1   ser.no.:  14 
 0    ; field:  1  poti:  2   ser.no.:  15 
 0    ; field:  1  poti:  3   ser.no.:  16 
 0    ; field:  1  poti:  4   ser.no.:  17 
 0    ; field:  1  poti:  5   ser.no.:  18 
 1    ; field:  1  poti:  6   ser.no.:  19 
 0    ; field:  1  poti:  7   ser.no.:  20 
 64   ; field:  1  poti:  8   ser.no.:  21 
 0    ; field:  1  poti:  9   ser.no.:  22 
 0    ; field:  1  poti:  10  ser.no.:  23 
 0    ; field:  1  poti:  11  ser.no.:  24 
 0    ; field:  2  poti:  0   ser.no.:  25 
-19   ; field:  2  poti:  1   ser.no.:  26 
 0    ; field:  2  poti:  2   ser.no.:  27 
 0    ; field:  2  poti:  3   ser.no.:  28 
 0    ; field:  2  poti:  4   ser.no.:  29 
 0    ; field:  2  poti:  5   ser.no.:  30 
 1    ; field:  2  poti:  6   ser.no.:  31 
 0    ; field:  2  poti:  7   ser.no.:  32 
 64   ; field:  2  poti:  8   ser.no.:  33 
 0    ; field:  2  poti:  9   ser.no.:  34 
 0    ; field:  2  poti:  10  ser.no.:  35 
 0    ; field:  2  poti:  11  ser.no.:  36 
-12   ; field:  3  poti:  0   ser.no.:  37 
-39   ; field:  3  poti:  1   ser.no.:  38 
 0    ; field:  3  poti:  2   ser.no.:  39 
 0    ; field:  3  poti:  3   ser.no.:  40 
 0    ; field:  3  poti:  4   ser.no.:  41 
 0    ; field:  3  poti:  5   ser.no.:  42 
 1    ; field:  3  poti:  6   ser.no.:  43 
 0    ; field:  3  poti:  7   ser.no.:  44 
 0    ; field:  3  poti:  8   ser.no.:  45 
 127  ; field:  3  poti:  9   ser.no.:  46 
 64   ; field:  3  poti:  10  ser.no.:  47 
 0    ; field:  3  poti:  11  ser.no.:  48 
 3    ; field:  4  poti:  0   ser.no.:  49 
 0    ; field:  4  poti:  1   ser.no.:  50 
 111  ; field:  4  poti:  2   ser.no.:  51 
 0    ; field:  4  poti:  3   ser.no.:  52 
 0    ; field:  4  poti:  4   ser.no.:  53 
 0    ; field:  4  poti:  5   ser.no.:  54 
 0    ; field:  4  poti:  6   ser.no.:  55 
 64   ; field:  4  poti:  7   ser.no.:  56 
 33   ; field:  5  poti:  0   ser.no.:  57 
 73   ; field:  5  poti:  1   ser.no.:  58 
 1    ; field:  6  poti:  0   ser.no.:  59 
 1    ; field:  6  poti:  1   ser.no.:  60 
 1    ; field:  6  poti:  2   ser.no.:  61 
 23   ; field:  6  poti:  3   ser.no.:  62 
 74   ; field:  7  poti:  0   ser.no.:  63 
 0    ; field:  7  poti:  1   ser.no.:  64 
 0    ; field:  7  poti:  2   ser.no.:  65 
 74   ; field:  7  poti:  3   ser.no.:  66 
 23   ; field:  7  poti:  4   ser.no.:  67 
 36   ; field:  7  poti:  5   ser.no.:  68 
 93   ; field:  7  poti:  6   ser.no.:  69 
 18   ; field:  7  poti:  7   ser.no.:  70 
 0    ; field:  7  poti:  8   ser.no.:  71 
 0    ; field:  8  poti:  0   ser.no.:  72 
 22   ; field:  8  poti:  1   ser.no.:  73 
 1    ; field:  8  poti:  2   ser.no.:  74 
 0    ; field:  9  poti:  0   ser.no.:  75 
 0    ; field:  9  poti:  1   ser.no.:  76 
 0    ; field:  9  poti:  2   ser.no.:  77 
 0    ; field:  9  poti:  3   ser.no.:  78 
 0    ; field:  9  poti:  4   ser.no.:  79 
 0    ; field:  9  poti:  5   ser.no.:  80 
 0    ; field:  9  poti:  6   ser.no.:  81 
 1    ; field:  10 poti:  0   ser.no.:  82 
 0    ; field:  10 poti:  1   ser.no.:  83 
 0    ; field:  10 poti:  2   ser.no.:  84 
 0    ; field:  10 poti:  3   ser.no.:  85 
 0    ; field:  11 poti:  0   ser.no.:  86 
 0    ; field:  11 poti:  1   ser.no.:  87 
 0    ; field:  11 poti:  2   ser.no.:  88 
 0    ; field:  11 poti:  3   ser.no.:  89 
 0    ; field:  11 poti:  4   ser.no.:  90 
 0    ; field:  11 poti:  5   ser.no.:  91 
 0    ; field:  11 poti:  6   ser.no.:  92 
 0    ; field:  11 poti:  7   ser.no.:  93 
 0    ; field:  11 poti:  8   ser.no.:  94 
 0    ; field:  11 poti:  9   ser.no.:  95 
 0    ; field:  11 poti:  10  ser.no.:  96 
 0    ; field:  11 poti:  11  ser.no.:  97 
 0    ; field:  11 poti:  12  ser.no.:  98 
 0    ; field:  11 poti:  13  ser.no.:  99 
 0    ; field:  11 poti:  14  ser.no.:  100 
 0    ; dummy
 0    ; dummy
 0    ; dummy
 0    ; dummy
 0    ; dummy
 0    ; dummy
 0    ; dummy
 0    ; dummy
 0    ; dummy
 0    ; dummy
 0    ; dummy
 0    ; dummy
 0    ; dummy
 0    ; dummy
 0    ; dummy
 0    ; dummy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: route_textfile.pd
Type: application/puredata
Size: 999 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20151117/f2f98846/attachment-0001.bin>


More information about the Pd-list mailing list