Dans le but de fournir des noms d'objets à l'excellent autocompletion plugin d'Yvan (voir : http://codelab.fr/2377), je me suis mis à chercher comment trouver facilement les noms des objets exportés par Gem, et je suis arrivé à ceci, sous nunux avec la ligne de commande suivante :
nm -go *.pd_linux | grep ' T ' | grep 'setup' | grep -v '_ZN' | sed -e 's/_setup//' | sed 's/.* T //'
ce qui chez moi, appliqué à mon Gem.pd_linux, donne :
(alors je sais pas si c'est exhaustif mais c'est déjà pas mal)
GEM
GEMglAccum
GEMglActiveTextureARB
GEMglAlphaFunc
GEMglAreTexturesResident
GEMglArrayElement
GEMglBegin
GEMglBindProgramARB
GEMglBindTexture
GEMglBitmap
GEMglBlendEquation
GEMglBlendFunc
GEMglCallList
GEMglClearAccum
GEMglClearColor
GEMglClearDepth
GEMglClearIndex
GEMglClearStencil
GEMglClear
GEMglClipPlane
GEMglColor3b
GEMglColor3bv
GEMglColor3d
GEMglColor3dv
GEMglColor3f
GEMglColor3fv
GEMglColor3i
GEMglColor3iv
GEMglColor3s
GEMglColor3sv
GEMglColor3ub
GEMglColor3ubv
GEMglColor3ui
GEMglColor3uiv
GEMglColor3us
GEMglColor3usv
GEMglColor4b
GEMglColor4bv
GEMglColor4d
GEMglColor4dv
GEMglColor4f
GEMglColor4fv
GEMglColor4i
GEMglColor4iv
GEMglColor4s
GEMglColor4sv
GEMglColor4ub
GEMglColor4ubv
GEMglColor4ui
GEMglColor4uiv
GEMglColor4us
GEMglColor4usv
GEMglColorMask
GEMglColorMaterial
GEMglCopyPixels
GEMglCopyTexImage1D
GEMglCopyTexImage2D
GEMglCopyTexSubImage1D
GEMglCopyTexSubImage2D
GEMglCullFace
GEMglDeleteTextures
GEMglDepthFunc
GEMglDepthMask
GEMglDepthRange
GEMglDisableClientState
GEMglDisable
GEMglDrawArrays
GEMglDrawBuffer
GEMglDrawElements
GEMglEdgeFlag
GEMglEnableClientState
GEMglEnable
GEMglEndList
GEMglEnd
GEMglEvalCoord1d
GEMglEvalCoord1dv
GEMglEvalCoord1f
GEMglEvalCoord1fv
GEMglEvalCoord2d
GEMglEvalCoord2dv
GEMglEvalCoord2f
GEMglEvalCoord2fv
GEMglEvalMesh1
GEMglEvalMesh2
GEMglEvalPoint1
GEMglEvalPoint2
GEMglFeedbackBuffer
GEMglFinish
GEMglFlush
GEMglFogf
GEMglFogfv
GEMglFogi
GEMglFogiv
GEMglFrontFace
GEMglFrustum
GEMglGenLists
GEMglGenProgramsARB
GEMglGenTextures
GEMglGetError
GEMglGetFloatv
GEMglGetIntegerv
GEMglGetMapdv
GEMglGetMapfv
GEMglGetMapiv
GEMglGetPointerv
GEMglGetString
GEMglHint
GEMglIndexMask
GEMglIndexd
GEMglIndexdv
GEMglIndexf
GEMglIndexfv
GEMglIndexi
GEMglIndexiv
GEMglIndexs
GEMglIndexsv
GEMglIndexub
GEMglIndexubv
GEMglInitNames
GEMglIsEnabled
GEMglIsList
GEMglIsTexture
GEMglLightModelf
GEMglLightModeli
GEMglLightf
GEMglLighti
GEMglLineStipple
GEMglLineWidth
GEMglLoadIdentity
GEMglLoadMatrixd
GEMglLoadMatrixf
GEMglLoadName
GEMglLoadTransposeMatrixd
GEMglLoadTransposeMatrixf
GEMglLogicOp
GEMglMap1d
GEMglMap1f
GEMglMap2d
GEMglMap2f
GEMglMapGrid1d
GEMglMapGrid1f
GEMglMapGrid2d
GEMglMapGrid2f
GEMglMaterialf
GEMglMaterialfv
GEMglMateriali
GEMglMatrixMode
GEMglMultMatrixd
GEMglMultMatrixf
GEMglMultTransposeMatrixd
GEMglMultTransposeMatrixf
GEMglMultiTexCoord2fARB
GEMglNewList
GEMglNormal3b
GEMglNormal3bv
GEMglNormal3d
GEMglNormal3dv
GEMglNormal3f
GEMglNormal3fv
GEMglNormal3i
GEMglNormal3iv
GEMglNormal3s
GEMglNormal3sv
GEMglOrtho
GEMglPassThrough
GEMglPixelStoref
GEMglPixelStorei
GEMglPixelTransferf
GEMglPixelTransferi
GEMglPixelZoom
GEMglPointSize
GEMglPolygonMode
GEMglPolygonOffset
GEMglPopAttrib
GEMglPopClientAttrib
GEMglPopMatrix
GEMglPopName
GEMglPrioritizeTextures
GEMglProgramEnvParameter4dARB
GEMglProgramEnvParameter4fvARB
GEMglProgramLocalParameter4fvARB
GEMglProgramStringARB
GEMglPushAttrib
GEMglPushClientAttrib
GEMglPushMatrix
GEMglPushName
GEMglRasterPos2d
GEMglRasterPos2dv
GEMglRasterPos2f
GEMglRasterPos2fv
GEMglRasterPos2i
GEMglRasterPos2iv
GEMglRasterPos2s
GEMglRasterPos2sv
GEMglRasterPos3d
GEMglRasterPos3dv
GEMglRasterPos3f
GEMglRasterPos3fv
GEMglRasterPos3i
GEMglRasterPos3iv
GEMglRasterPos3s
GEMglRasterPos3sv
GEMglRasterPos4d
GEMglRasterPos4dv
GEMglRasterPos4f
GEMglRasterPos4fv
GEMglRasterPos4i
GEMglRasterPos4iv
GEMglRasterPos4s
GEMglRasterPos4sv
GEMglRectd
GEMglRectf
GEMglRecti
GEMglRects
GEMglRenderMode
GEMglReportError
GEMglRotated
GEMglRotatef
GEMglScaled
GEMglScalef
GEMglScissor
GEMglSelectBuffer
GEMglShadeModel
GEMglStencilFunc
GEMglStencilMask
GEMglStencilOp
GEMglTexCoord1d
GEMglTexCoord1dv
GEMglTexCoord1f
GEMglTexCoord1fv
GEMglTexCoord1i
GEMglTexCoord1iv
GEMglTexCoord1s
GEMglTexCoord1sv
GEMglTexCoord2d
GEMglTexCoord2dv
GEMglTexCoord2f
GEMglTexCoord2fv
GEMglTexCoord2i
GEMglTexCoord2iv
GEMglTexCoord2s
GEMglTexCoord2sv
GEMglTexCoord3d
GEMglTexCoord3dv
GEMglTexCoord3f
GEMglTexCoord3fv
GEMglTexCoord3i
GEMglTexCoord3iv
GEMglTexCoord3s
GEMglTexCoord3sv
GEMglTexCoord4d
GEMglTexCoord4dv
GEMglTexCoord4f
GEMglTexCoord4fv
GEMglTexCoord4i
GEMglTexCoord4iv
GEMglTexCoord4s
GEMglTexCoord4sv
GEMglTexEnvf
GEMglTexEnvi
GEMglTexGend
GEMglTexGenf
GEMglTexGenfv
GEMglTexGeni
GEMglTexImage2D
GEMglTexParameterf
GEMglTexParameteri
GEMglTexSubImage1D
GEMglTexSubImage2D
GEMglTranslated
GEMglTranslatef
GEMglUniform1fARB
GEMglUseProgramObjectARB
GEMglVertex2d
GEMglVertex2dv
GEMglVertex2f
GEMglVertex2fv
GEMglVertex2i
GEMglVertex2iv
GEMglVertex2s
GEMglVertex2sv
GEMglVertex3d
GEMglVertex3dv
GEMglVertex3f
GEMglVertex3fv
GEMglVertex3i
GEMglVertex3iv
GEMglVertex3s
GEMglVertex3sv
GEMglVertex4d
GEMglVertex4dv
GEMglVertex4f
GEMglVertex4fv
GEMglVertex4i
GEMglVertex4iv
GEMglVertex4s
GEMglVertex4sv
GEMglViewport
GEMgluLookAt
GEMgluPerspective
GLdefine
GemSplash
Gem
accumrotate
alpha
ambientRGB
ambient
camera
circle
colorRGB
colorSquare
color
cone
cube
cuboid
curve3d
curve
cylinder
depth
diffuseRGB
diffuse
disk
emissionRGB
emission
fragment_program
gem
gemframebuffer
gemhead
gemkeyboard
gemkeyname
gemlist_info
gemlist_matrix
gemlist
gemmouse
gemreceive
gemwin
glsl_fragment
glsl_geometry
glsl_program
glsl_vertex
imageVert
light
linear_path
mesh_line
mesh_square
model
multimodel
newWave
ortho
part_color
part_damp
part_draw
part_follow
part_gravity
part_head
part_info
part_killold
part_killslow
part_orbitpoint
part_render
part_sink
part_size
part_source
part_targetcolor
part_targetsize
part_velcone
part_velocity
part_velsphere
part_vertex
pix_2grey
pix_a_2grey
pix_add
pix_aging
pix_alpha
pix_background
pix_backlight
pix_biquad
pix_bitmask
pix_blob
pix_blur
pix_buf
pix_buffer_read
pix_buffer
pix_buffer_write
pix_chroma_key
pix_clearblock
pix_color
pix_coloralpha
pix_colormatrix
pix_colorreduce
pix_compare
pix_composite
pix_contrast
pix_convert
pix_convolve
pix_coordinate
pix_crop
pix_cubemap
pix_curve
pix_data
pix_deinterlace
pix_delay
pix_diff
pix_dot
pix_draw
pix_dump
pix_duotone
pix_emboss
pix_fiducialtrack
pix_filmOS
pix_film
pix_flip
pix_freeframe
pix_frei0r
pix_gain
pix_grey
pix_halftone
pix_histo
pix_hit
pix_hsv2rgb
pix_imageInPlace
pix_image
pix_info
pix_invert
pix_kaleidoscope
pix_levels
pix_lumaoffset
pix_mask
pix_mean_color
pix_metaimage
pix_mix
pix_motionblur
pix_movement2
pix_movement
pix_movie
pix_multiblob
pix_multiimage
pix_multiply
pix_multitexture
pix_normalize
pix_offset
pix_pix2sig
pix_posterize
pix_puzzle
pix_rds
pix_record
pix_rectangle
pix_refraction
pix_resize
pix_rgb2hsv
pix_rgba
pix_roll
pix_rtx
pix_scanline
pix_set
pix_share_read
pix_share_write
pix_sig2pix
pix_snap2tex
pix_snap
pix_subtract
pix_tIIR
pix_tIIRf
pix_takealpha
pix_test
pix_texture
pix_threshold_bernsen
pix_threshold
pix_videoOS
pix_video
pix_vpaint
pix_write
pix_writer
pix_yuv
pix_zoom
polygon
polygon_smooth
pqtorusknots
primTri
rectangle
render_trigger
ripple
rotateXYZ
rotate
rubber
scaleXYZ
scale
scopeXYZ
separator
shearXY
shearXZ
shearYX
shearYZ
shearZX
shearZY
shininess
slideSquares
specularRGB
specular
sphere3d
sphere
spline_path
spot_light
square
teapot
text2d
text3d
textextruded
textoutline
torus
translateXYZ
translate
trapezoid
triangle
tube
vertex_program
world_light
Hors ligne
Tout ça !!!
Dernière modification par pob (2011-05-08 21:06:04)
Hors ligne
Et pour openCV?!
Hors ligne
cool !
avec tous ces nouveaux noms tu devrais essayer la nouvelle version de mon plugin (qui s'appelle maintenant 'completion-plugin').
elle est pas encore officiellement "released" mais je vais le faire ce soir je pense.
en attendant le code est là:
http://github.com/gusano/pd_stuffs/tree … completion
nouvelle interface, pleins de nouveautés, j'annoncerai ca sur ce forum en détail plus tard
++
_y
Hors ligne
héhé ouais cool pour la nouvelle release de completion, si ce soir j'ai le temps je matte.
Sinon vu que la commande pour trouver les fonctions exportées marche sur n'importe quel .pd_linux il est donc possible de faire une liste par librairie. Et d'ailleurs c'est la ou je veux en venir : ne pourrais tu pas scinder le fichier des noms d'objets en autant de fichiers que l'on charge de librairie. Car sinon il me semble que ça va être chaud de mettre à jour ce fichier tant il y contiendra d'objets... (plus facile d'éditer un fichier plus petit...)
Tu y vois une utilité à ce que je raconte ou ça te semble pas important ?
Ou alors permettre les commentaires dans le object_list.txt histoire que l'on puisse laisser quelques remarques utiles (quel objet = quelle lib).
Hors ligne
rep a écrit:
Sinon vu que la commande pour trouver les fonctions exportées marche sur n'importe quel .pd_linux il est donc possible de faire une liste par librairie. Et d'ailleurs c'est la ou je veux en venir : ne pourrais tu pas scinder le fichier des noms d'objets en autant de fichiers que l'on charge de librairie. Car sinon il me semble que ça va être chaud de mettre à jour ce fichier tant il y contiendra d'objets... (plus facile d'éditer un fichier plus petit...)
Tu y vois une utilité à ce que je raconte ou ça te semble pas important ?
c'est vrai que c'est une bonne idée si on veut pas un fichier .txt de 100000000 lignes.
avoir des fichiers du type gem.cfg. gridflow.cfg, avec la liste des objects dedans, merci pour le conseil.
si la librairie est chargée, hop on ajoute ces objets à liste de completions.
je vais implémenter ca.
rep a écrit:
Ou alors permettre les commentaires dans le object_list.txt histoire que l'on puisse laisser quelques remarques utiles (quel objet = quelle lib).
je vais implémenter ca aussi.
ciao
_y
Hors ligne
Héhé, c'est cool si ces fonctions sont rajoutées :)
sinon pas mal le dernier 0.40 : le fichier de config, les ascenseur, jusque la pas de bugs : cool !!
mise à jour de la commande pour tous les .pd_linux contenus dans le répertoire courant :
nm -go *.pd_linux | grep ' T ' | grep 'setup' | grep -v '_ZN' | sed -e 's/_setup//' | sed 's/.* T //'
Hors ligne
Hop tralala
un patch linux only à grands coups de [shell] qui va chercher dans chaque dossier trouvé dans extra/ et qui sort un fichier txt (un par dossier) où sont listés tous les objets/abstractions qui nous intéressent
ça bugue un poil chez moi, il oublie une paire de dossiers, mais c'est déjà pas mal.
Hors ligne