summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 8b1c404aa788901977692e03267fd3584e8c4808 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
TODO:
* Get BabelGladeExtractor into Fedora to support message extractors
  http://pfrields.fedorapeople.org/packages/SPECS/python-babel-gladeextractor.spec
  http://pfrields.fedorapeople.org/packages/SRPMS/python-babel-gladeextractor-0.2-1.src.rpm
* Need handling for PA streams and a usable GtkProgressBar-type
  implementation for checking audio levels
* Handle overwrite/rename of save file gracefully
* Volume leveling on user's behalf
	* Set recording volume for both sources to reasonable level (75%?)
	* Normalize each to something like -0.1dB
	* After mixing the streams, do some sort of compression/leveling
* Reset names of monitor devices to be more human-understandable
* CLI interface
* Choice of gst-audio-profiles for encoding
* Show a timer as a modal progress dialog
* Check disk space usage? Show that too?
* Rip out PA ctypes stuff entirely and replace with udev (?) calls?
* Pause toggle button
* Advanced settings
	* Volume settings
	* Option for separate stream recording
* Record from streams instead of devices (maybe more human understandable?)
* "Test mode" before recording
  	* Offer a dummy text to test levels (plosives, etc.)
	* PA volume/gain controls (with peaks?)


NOTES:
Mixing two sources together using GStreamer "adder" element:
gst-launch adder name=mix ! pulsesink { filesrc location=05.mp3 ! decodebin ! mix. } { filesrc location=07.mp3 ! decodebin ! mix. }

What I'm doing in this GStreamer pipeline:
gst-launch adder name=mix ! vorbisenc ! oggmux ! filesink location=blah { pulsesrc ! mix. } { pulsesrc ! mix. }

SAME AS:
gst-launch pulsesrc ! adder name=mix pulsesrc ! mix. ! vorbisenc ! oggmux ! filesink location=blah