some notes for rewriting the pwg

Original commit message from CVS:
some notes for rewriting the pwg
This commit is contained in:
Thomas Vander Stichele 2002-09-09 09:28:42 +00:00
parent 09051e110b
commit 7f317f840b

39
docs/random/thomasvs/pwg Normal file
View file

@ -0,0 +1,39 @@
Stuff for the PWG
-----------------
* arguments
- how to add arguments
- create an identifier in the enum, starting with ARG_
example: ARG_RATE
- add the property by adding a
g_object_class_install_property line
FIXME: what is name/nick/blurb in the paramspec ?
- if the argument is readable, a block of code for it needs to be added
to the _get_property function.
- default value
- default value should be set in _init function
- default value can be specified in paramspec (but I don't think this
is used anywhere)
- things to check/possible problems
- do you have a _get_property function ?
- do you have a _set_property function ?
- do both have a default handler that handles invalid property ID's ?
- are the _get/_set_property handlers assigned to the class's struct ?
- do you have a g_object_class_install_property line for the argument ?
- are there restrictions on when your parameters can change ?
e.g. sample rate is not something that should be changed while PLAYING,
so it can only be changed in the NULL state
- did you use ARG_ ... consistently everywhere ?
- my own problems:
- how to set defaults and make the paramspec be right for them ?
* audio
- explanation of difference of width and depth
- guidelines on how to implement this properly