$Id: TODO 3589 2011-08-23 18:37:41Z ensonic $

= tempo =
- should we rename 'tempo' to 'tempo_sync' or 'song_tempo'?
- or can we remove the iface and use TAGS?
  - we already have GST_TAG_BEATS_PER_MINUTE
    gst_tag_register (GST_TAG_BEATS_PER_MINUTE, GST_TAG_FLAG_META, G_TYPE_DOUBLE,
      _("beats per minute"), _("number of beats per minute in audio"), NULL);
  - we need GST_TAG_TICKS_PER_BEAT and GST_TAG_SUBTICKS_PER_TICK
    where to register them?
  - the main problem with tags instead of an iface is that it is not easy to
    change it while playing, we'd need to use the playback rate

= GstBaseSynthesizer =
- we can provide shared defaults for:
  - _start, _is_seekable, _do_seek, _query, _src_fixate
  - most of _create, _setcaps
  - the subclass want to:
    - have its own _setup (from setcaps) and _render (from create) methods
    - specify the caps for the src pad

= GstSidSynth =
- polyphonic generator using a sid emulation
- sid has 3 voices, would be cool if we could hide it and create new sid
  instances as needed
- needs to check the parameter layout (global and per voice)
  - we probably need to each of the instances

= debugging =
G_SLICE=always-malloc G_DEBUG=gc-friendly GLIBCPP_FORCE_NEW=1 GLIBCXX_FORCE_NEW=1 valgrind --tool=memcheck --leak-check=full --leak-resolution=high --trace-children=yes --num-callers=20 --suppressions=$HOME/projects/gstreamer/gstreamer/common/gst.supp gst-launch -q >/dev/null audiotestsrc num-buffers=10 ! bml-EQ-10 ! fakesink

