[PD] puredocumentation

marius schebella marius.schebella at gmail.com
Thu Aug 30 14:30:11 CEST 2007


I know, the idea is not new. but now is a good time to get it done. I 
saw that almost everything is already written on
http://puredata.org/dev/pddp/pdpedia/
I am not sure how the categorization part could work.
and I also don't know how to support multiple languages atm.
what I will be working on during the next week(s) is a complete list of 
all objects (externals and abstractions) with the main fields (name, 
description, library/author/licence) in a csv fileformat. (plus maybe 
one "junktext" field that contains all the comments of the helppatch, so 
that in a first step we can work on one file, which makes it easy to 
copy+paste content around.) maybe we should put it in the cvs?
then create the wiki base pages from that.
marius.

benjah at free.fr wrote:
> Hi all,
> 
> Jean noel montagne from artsensitif, french NGO, submit the idea of pdpedia a
> while ago which reach the discussion we had during Pd conf about documentation
> http://pdpedia.dreamhosters.com/index.php?title=Main_Page
> maybe this can help...
> on another side,  I would like to ask for funds to the french ministry of
> culture in 2008 to improve in a collaborative way Pd documentation (in french)
> and high level patches (in Pd), considering the great job that has already been
> done by Pdmtl team, hans, frank, jérome...and many others, in order to allow as
> many artists as possible to get into Pd.... not sure at all about the answer
> 
> + many thanks to Montreal Pd conv team for this great meeting/event
> 
> Benjamin - labomedia.net
> 
> Alexandre Quessy a écrit :
>> Hi Marius, Tom and all !
>>
>> 2007/8/29, marius schebella <marius.schebella at gmail.com>:
>>> thanks,
>>> atm I don't know how that works. otoh, can we use the index.txt? that
>>> seems to contain most of the information.
>>> that's a great library!
>>> marius.
>> In Pd Montreal Abstractions, it is a patch that parses help file
>> patches (using pd objects and externals) to look for tags (such as
>> "Author: ") at the beginning of comments.
>>
>> :)
>>
>> More people are going to contribute to the PdMtl Abstractions in the
>> next few months. The format has changed a bit : the dot (".") now
>> separates the categories and names of abstractions, instead of the
>> file system path itself.
>>
>> a
>>
>>
>>
>>
>>
>>
>>> Thomas O Fredericks wrote:
>>>> We implemented something similar forthe help files in PDMTL
>>>> abstractions. See the pdmtl.inde.maker.pd in
>>>>
> https://devel.goto10.org/listing.php?repname=pdmtl&path=%2Ftrunk%2Ftools%2F&rev=0&sc=0
> <https://devel.goto10.org/listing.php?repname=pdmtl&path=%2Ftrunk%2Ftools%2F&rev=0&sc=0>
>>>> Tom
>>>>
>>>> On 8/29/07, *marius schebella* <marius.schebella at gmail.com
>>>> <mailto:marius.schebella at gmail.com>> wrote:
>>>>
>>>>     hi,
>>>>     this is the start for the puredocumentation wiki.
>>>>     for all who didn't follow the discussions during the pdconv, here is the
>>>>     latest:
>>>>     some people agreed on building a media wiki for all documentation
>>>>     beyond
>>>>     the pd help patches. some time ago there was the puredatabase, but that
>>>>     is quite dead now.
>>>>     so the idea is, to reanimate something similar, but with the possibility
>>>>     for everyone to commit to it. maybe not everyone but if 5-10% of users
>>>>     help contributing, then I think the project will be successful.
>>>>     one of the reasons why this should be done, is that very often pd users
>>>>     look for a certain feature or object, but don't know the name exactly
>>>>     and need a good search engine.
>>>>     so... the puredocumentation (in planning state) will cover externals and
>>>>     "stable" abstractions. (abstractions that are maintained kind of like
>>>>     externals)
>>>>     additionally to the "wiki for objects" there will be the section for
>>>>     the
>>>>     tutorials, manuals and faq, and hopefully you will be able to type in
>>>>     your search string after "How do I: " and get the right objects,
>>>>     examples and tutorials.
>>>>     My estimation is, that there are more than 3000 objects atm. so for the
>>>>     beginning the tricky part is to build all the basic object pages from
>>>>     the existing documentation (mainly help patches).
>>>>     here is, what I think should be the content of every object page:
>>>>     *objectname* the string name (for example "plus" for "+") of the
>>>>     object/external
>>>>     *opt other name* = abbreviation, +,..
>>>>     *helpfilename* (can be different than object name),
>>>>     *description* = short description
>>>>     *libraryinfo* purepd,GEM,cyclone... + author + licence
>>>>     *arguments*
>>>>     *inlets/outlets*
>>>>     *examples* what this object is for... that's where you can be creative!
>>>>     *see also* / similar objects
>>>>     *tags* like audio/dsp, math, MIDI, something like a categorization.
>>>>     I want to use python to extract as much information as possible from
>>>>     the
>>>>     help-patches into one big textfile (csv style) from which we can create
>>>>     the wikipages. I hope to get the developers involved in correcting the
>>>>     cvs-textfile before the basic pages are created). this has to be done
>>>>     per library, and I am still trying to figure out, how to do this in
>>>>     detail. for example some help patches have some description in the top
>>>>     letmost corner. so a python script should be able to find that
>>>>     information and put it into the "description" field.
>>>>     there will be an irc session on sep 11 with all the people working on
>>>>     the project. so maybe if you want to join or have suggestions on how to
>>>>     get this done, feel free to respond.
>>>>     addtitional documentation work that probably will also be done:
>>>>     improving help patches by switching to a nice pddp format.
>>>>     creating online video tutorials, or recordings of workshops.
>>>>     one last point: If you know of a school/university or teaching center
>>>>     that would like to get involved (for example by putting pd classes on
>>>>     their schedule or paying people do some documentation work) that would
>>>>     also help the project to be successful...
>>>>     so far. thanks for reading through that all!
>>>>     marius.
>>>>
>>>>     # this file will look slightly different for every library
>>>>     # write everything into a database like format... (NOT YET!!!)
>>>>     # OBJECTNAME | OPT OTHER NAME | HELPFILE-NAME | DESCRIPTION | TAGS |
>>>>     LIBRARYINFO | ARGUMENTS | INLETS/OUTLETS | EXAMPLES | SEE ALSO
>>>>     # objectname is the string name (for example "plus" for "+")
>>>>     # opt other name = abbreviation, +,
>>>>     # helpfilename (can be different than object name),
>>>>     # description = short description
>>>>     # libraryinfo: purepd or GEM + author + licence
>>>>     # arguments
>>>>     # inlets/outlets
>>>>     # examples : what this object is for...
>>>>     # see also/similar objects
>>>>     # junk
>>>>     #
>>>>     # use X coordinate to sort comments???
>>>>
>>>>     import re
>>>>     import os
>>>>
>>>>     print 'searching all files for comments'
>>>>
>>>>     searchPattern = "#X text \d+ \d+ " # search for comments
>>>>     replacePattern = searchPattern    # what can be deleted of the comments
>>>>     deleteNLPattern = r'\r'            # delete cr
>>>>     fileExtension = ".*[.]pd$"        # files to look for
>>>>     separator = "|"                    # separate colomns
>>>>     separator2 = "___"                # separate junk
>>>>     fileTo = "test_to.txt"
>>>>
>>>>     p = re.compile(searchPattern)
>>>>     rep = re.compile(replacePattern)
>>>>     nldel = re.compile(deleteNLPattern)
>>>>     fe = re.compile (fileExtension)
>>>>
>>>>     f2 = open(fileTo, "w")
>>>>
>>>>     for fileName in os.listdir("."):
>>>>         m = fe.search(fileName)
>>>>         if m:                            # only if is it a pd-file
>>>>             f = open(fileName, "r")
>>>>             first = 1                    # suppose the first entry is
>>>>     the description
>>>>             for line in f:
>>>>                 m = p.search(line)     # search in line for pd-comment
>>>>     pattern
>>>>                 if m:
>>>>                     line = nldel.sub("",line)
>>>>                     if first == 1:                    # help needed! how
>>>>     to sort other than by appearance? write to array?
>>>>                         f2.write("\n" + fileName + separator) #need \n
>>>>     for every file but the first.
>>>>                         newText = rep.sub("",line)    # this should
>>>>     delete the trailing pattern
>>>>                         f2.write(newText[:-1])        # this writes
>>>>     without closing nl
>>>>                         f2.write (separator)
>>>>                         first = 0
>>>>                     else:
>>>>                         newText = rep.sub("",line)
>>>>                         f2.write(newText[:-1])
>>>>                         f2.write(separator2)
>>>>             f.close()
>>>>     f2.close()
>>>>
>>>>     #done...
>>>>     _______________________________________________
>>>>     PD-list at iem.at <mailto:PD-list at iem.at> mailing list
>>>>     UNSUBSCRIBE and account-management ->
>>>>     http://lists.puredata.info/listinfo/pd-list
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> thomas ouellet fredericks, tof at danslchamp.org
>>>> <mailto:tof at danslchamp.org>, montreal, canada
>>> _______________________________________________
>>> PD-list at iem.at mailing list
>>> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
>>
> 
> 
> 
> 
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
> 





More information about the Pd-list mailing list