linux sound recording gui
let one recording microphones and/or desktop sound as wav files, with gui. using openal, opengl, glfw3.
with a click anyplace in the window, glorec records wav files in the current dir if run without specifying ( user home dir if run with desktop menu ) if wanting another path it maybe passed as an arg:
if the path doesn't exist or cannot be used, current path will be used instead.
files are 16bits 44100Hz, mono, as audio cd quality (yet mono) .
resolution can be changed as 8 or 16bits, tracks as 1 or 2, mono or stereo.
files are timestamped, named as snd202002232122300.wav
number is year, month, day, hour, minutes, seconds.
so there is a maximum one file/second limit.
there's also a wav file limit maximum length is max 32bits int bytes, approximatively 13 hours (48695 seconds) per 16bits 44100Hz, mono file.
there can be as much files as the media (hard-disk, ...) can contain.
debian .deb binary package: dpkg -i glorec_0.98_i386.deb
.tar.gz source package has a binary, source with compiling instructions, icons.
glorec [--help][--rec][--mono|--stereo][--res INT][--hz INT][--posx INT][--posy INT][--width INT][--height INT][PATH]
--rec record as soon as up.
--mono mono 1 track
--stereo stereo 2 tracks
--res resolution as bytes can be 1 or 2: 1=8bits 2=16bits
--hz sampling speed in hertz
--posx window position x.
--posy window position y.
--width window width.
--height window height.
PATH recording sound files using path.
glorec can be used scripting, along each recording the program prints some infos a script could collect and reuse, as:
recording /path/snd20191221132955.wav 2tracks 44100Hz 8bits
while running, glorec responds some keyboard event:
F1, H: help (printed in the terminal)
ESC, Q: exit
F11, F: fullscreen
SPACEBAR, R: start/stop recording
M, S: mono, stereo
1, 2: 8bits, 16bits
using other sources
if the distrib is using alsa, the source maybe changed with alsamixer gui:
alsamixer with F4 displays capture config. -pictures-
source maybe changed using arrows: right towards input source, up/down changing volume, spacebar selecting source. M mute/unmute.
desktop sound is with Input source options named as "Stereo Mix" or "Loopback"
glorec is using openal default as a source.
openal itself maybe configured with changing /etc/openal/alsoft.conf
it's probably best letting "default" as a source.
* opengl msaa gfx smoothing
* redoing new file if missing
* cleaner window creation with hide/show
* better window redraw on expose/resize/...
* wav size update as number of samples *recorded* - instead of earlier *obtained*
* background color command line arg
* error handling+report
* simple or no sound/sound driver config
would work with any driver, abstracting the driver used and most its options.
with choosing openal, its having chances to work on any machine having functionnal gl games without having to tweak/install anything.
* longlasting software could be used 50+years
made with fixed/closed standards c99, opengl2, openal .
* easy to compile on other machines
only a compiler required, no build system used.
* easy to use
most basic functions could be made with a click or two.
* monitoring sound level with precision
would show level with precision, with clipping indication.
* filemanager integration
could be used with a file manager so as to record sound notes in current path.
* batch/scripting integration
could bring sound rec options to a bash script.
* scope gfx
a scope gfx is also something fun I would like having as an eyecandy.
should be multitask compatible so as to record multiple desktop running softwares, so few resources use, letting time each other softs.