[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