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