summaryrefslogtreecommitdiffstats
path: root/TODO
blob: b4c12d77cbb07b3cbfa416479144c65599f55ea0 (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
TODO:
* 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
* 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