]> git.sesse.net Git - nageru/log
nageru
7 years agoMake reference level of VUMeter and LRAMeter adjustable.
Steinar H. Gunderson [Tue, 23 Aug 2016 20:20:59 +0000 (22:20 +0200)]
Make reference level of VUMeter and LRAMeter adjustable.

7 years agoMake min/max level of VUMeter and LRAMeter adjustable.
Steinar H. Gunderson [Tue, 23 Aug 2016 20:18:46 +0000 (22:18 +0200)]
Make min/max level of VUMeter and LRAMeter adjustable.

7 years agoRemove obsolete comment.
Steinar H. Gunderson [Tue, 23 Aug 2016 20:11:46 +0000 (22:11 +0200)]
Remove obsolete comment.

7 years agoSmall refactoring in the audio level callback API.
Steinar H. Gunderson [Tue, 23 Aug 2016 19:16:57 +0000 (21:16 +0200)]
Small refactoring in the audio level callback API.

7 years agoMake it clearer that the cutoff knob affects the channel lo-cut filter.
Steinar H. Gunderson [Tue, 23 Aug 2016 16:31:35 +0000 (18:31 +0200)]
Make it clearer that the cutoff knob affects the channel lo-cut filter.

7 years agoMove the gain staging and compressors into each bus, and hook up the corresponding...
Steinar H. Gunderson [Mon, 22 Aug 2016 22:00:18 +0000 (00:00 +0200)]
Move the gain staging and compressors into each bus, and hook up the corresponding controls.

7 years agoMove the lo-cut into each bus.
Steinar H. Gunderson [Mon, 22 Aug 2016 19:36:55 +0000 (21:36 +0200)]
Move the lo-cut into each bus.

7 years agoMake the faders in the expanded audio view work.
Steinar H. Gunderson [Mon, 22 Aug 2016 18:49:26 +0000 (20:49 +0200)]
Make the faders in the expanded audio view work.

7 years agoCreate buses in the expanded view. (Still inert.)
Steinar H. Gunderson [Mon, 22 Aug 2016 16:28:32 +0000 (18:28 +0200)]
Create buses in the expanded view. (Still inert.)

7 years agoHook up the controls on the second (full mode) page.
Steinar H. Gunderson [Mon, 22 Aug 2016 16:05:20 +0000 (18:05 +0200)]
Hook up the controls on the second (full mode) page.

7 years agoAdd some pagination to the main window.
Steinar H. Gunderson [Sun, 21 Aug 2016 23:03:47 +0000 (01:03 +0200)]
Add some pagination to the main window.

This allows us to switch between compact and full audio layout.
The full audio layout is not really populated yet; there are only
some widgets (a subset of the compact ones), and they are not
hooked up.

7 years agoAdd a UI file for the expanded audio interface.
Steinar H. Gunderson [Mon, 15 Aug 2016 20:13:43 +0000 (22:13 +0200)]
Add a UI file for the expanded audio interface.

7 years agoAdd support for ALSA devices that have no channel maps.
Steinar H. Gunderson [Thu, 18 Aug 2016 23:12:08 +0000 (01:12 +0200)]
Add support for ALSA devices that have no channel maps.

In particular, my Focusrite Scarlett 18i6 presents no such map,
and thus, we'll need to get number of channels some other way.
(For good measure, it refuses to capture unless you ask for at least
14 of the 18 channels.)

7 years agoMake a non-linear fader for dB use. Not perfect yet, but will do.
Steinar H. Gunderson [Thu, 18 Aug 2016 21:35:42 +0000 (23:35 +0200)]
Make a non-linear fader for dB use. Not perfect yet, but will do.

7 years agoAsk for the right number of channels when creating an ALSA device.
Steinar H. Gunderson [Thu, 18 Aug 2016 17:03:08 +0000 (19:03 +0200)]
Ask for the right number of channels when creating an ALSA device.

7 years agoHook up the per-bus VU meters.
Steinar H. Gunderson [Sat, 13 Aug 2016 20:47:26 +0000 (22:47 +0200)]
Hook up the per-bus VU meters.

7 years agoMove the R128 and correlation measurements into AudioMixer.
Steinar H. Gunderson [Sat, 13 Aug 2016 17:22:07 +0000 (19:22 +0200)]
Move the R128 and correlation measurements into AudioMixer.

7 years agoFix a deadlock issue when shutting down ALSA cards.
Steinar H. Gunderson [Sat, 13 Aug 2016 14:29:18 +0000 (16:29 +0200)]
Fix a deadlock issue when shutting down ALSA cards.

7 years agoAdd support for ALSA inputs to the mixer.
Steinar H. Gunderson [Sat, 13 Aug 2016 12:29:01 +0000 (14:29 +0200)]
Add support for ALSA inputs to the mixer.

7 years agoRename reset_device to reset_resampler.
Steinar H. Gunderson [Sat, 13 Aug 2016 11:45:24 +0000 (13:45 +0200)]
Rename reset_device to reset_resampler.

7 years agoMake the samples_card array capable of storing samples from multiple kinds of cards.
Steinar H. Gunderson [Sat, 13 Aug 2016 10:19:49 +0000 (12:19 +0200)]
Make the samples_card array capable of storing samples from multiple kinds of cards.

7 years agoConsistently use “video card” instead of “card”.
Steinar H. Gunderson [Thu, 11 Aug 2016 17:48:12 +0000 (19:48 +0200)]
Consistently use “video card” instead of “card”.

7 years agoCommunicate number of channels to the input mapping dialog.
Steinar H. Gunderson [Wed, 10 Aug 2016 21:00:49 +0000 (23:00 +0200)]
Communicate number of channels to the input mapping dialog.

7 years agoAdd a comment about hotswapping issues.
Steinar H. Gunderson [Wed, 10 Aug 2016 20:58:27 +0000 (22:58 +0200)]
Add a comment about hotswapping issues.

7 years agoPrepare InputMappingDialog for arbitrary kinds of input source types, by storing...
Steinar H. Gunderson [Mon, 8 Aug 2016 21:52:07 +0000 (23:52 +0200)]
Prepare InputMappingDialog for arbitrary kinds of input source types, by storing the DeviceSpec in the QComboBox items.

7 years agoAdd some ALSA device enumeration code.
Steinar H. Gunderson [Mon, 8 Aug 2016 16:25:01 +0000 (18:25 +0200)]
Add some ALSA device enumeration code.

7 years agoAdd a class for ALSA audio input. (No enumeration yet.)
Steinar H. Gunderson [Sun, 7 Aug 2016 19:26:47 +0000 (21:26 +0200)]
Add a class for ALSA audio input. (No enumeration yet.)

7 years agoSmall cleanup in AudioMixer::set_input_mapping().
Steinar H. Gunderson [Sun, 7 Aug 2016 18:28:04 +0000 (20:28 +0200)]
Small cleanup in AudioMixer::set_input_mapping().

7 years agoPrepare for inputs of another frequency than the capture frequency.
Steinar H. Gunderson [Sun, 7 Aug 2016 18:25:58 +0000 (20:25 +0200)]
Prepare for inputs of another frequency than the capture frequency.

7 years agoAdd support for 16-bit audio.
Steinar H. Gunderson [Sun, 7 Aug 2016 18:08:42 +0000 (20:08 +0200)]
Add support for 16-bit audio.

7 years agoMake AudioMixer ready for indexing on multiple types of devices.
Steinar H. Gunderson [Thu, 4 Aug 2016 22:15:34 +0000 (00:15 +0200)]
Make AudioMixer ready for indexing on multiple types of devices.

7 years agoMake remove/up/down buttons work.
Steinar H. Gunderson [Tue, 2 Aug 2016 22:10:27 +0000 (00:10 +0200)]
Make remove/up/down buttons work.

7 years agoRefactor fill_audio_bus() into its own function.
Steinar H. Gunderson [Mon, 1 Aug 2016 16:36:52 +0000 (18:36 +0200)]
Refactor fill_audio_bus() into its own function.

7 years agoPick out the right channels when resampling.
Steinar H. Gunderson [Mon, 1 Aug 2016 15:50:27 +0000 (17:50 +0200)]
Pick out the right channels when resampling.

7 years agoRename InputMapping::Input to InputMapping::Bus; it's less ambiguous.
Steinar H. Gunderson [Sun, 31 Jul 2016 23:03:33 +0000 (01:03 +0200)]
Rename InputMapping::Input to InputMapping::Bus; it's less ambiguous.

7 years agoMake AudioMixer respect the input mapping.
Steinar H. Gunderson [Sun, 31 Jul 2016 22:59:22 +0000 (00:59 +0200)]
Make AudioMixer respect the input mapping.

There are tons of TODOs left, and it's totally unoptimized, but it's
nearing something that could in theory actually be used.

7 years agoPopulate the audio miniview from the mapping.
Steinar H. Gunderson [Sun, 31 Jul 2016 12:18:53 +0000 (14:18 +0200)]
Populate the audio miniview from the mapping.

7 years agoMake most of the input mapping dialog actually work.
Steinar H. Gunderson [Sun, 31 Jul 2016 11:25:07 +0000 (13:25 +0200)]
Make most of the input mapping dialog actually work.

You can now add new mappings and edit them, but not delete existing ones
or move them around. OK/Cancel works and actually sets the mapping
in the AudioMixer, but the AudioMixer doesn't care (and neither does the UI).

7 years agoTweak the look of the input mapping dialog box a bit.
Steinar H. Gunderson [Sat, 30 Jul 2016 23:37:54 +0000 (01:37 +0200)]
Tweak the look of the input mapping dialog box a bit.

7 years agoStore an input mapping, and show it in the UI.
Steinar H. Gunderson [Sat, 30 Jul 2016 23:26:59 +0000 (01:26 +0200)]
Store an input mapping, and show it in the UI.

Edits you do in the UI are not actually editable yet, and the mixer doesn't
care about the mapping either.

7 years agoAdd a beginning UI for mapping inputs. No logic connected yet.
Steinar H. Gunderson [Sat, 30 Jul 2016 10:23:44 +0000 (12:23 +0200)]
Add a beginning UI for mapping inputs. No logic connected yet.

7 years agoMake the final makeup gain adjustment a little faster; 100 seconds was probably a...
Steinar H. Gunderson [Fri, 29 Jul 2016 18:35:19 +0000 (20:35 +0200)]
Make the final makeup gain adjustment a little faster; 100 seconds was probably a tad too conservative, and painfully slow.

7 years agoFix a bug where the automatic makeup gain adjustment would never quite get to the...
Steinar H. Gunderson [Fri, 29 Jul 2016 18:34:22 +0000 (20:34 +0200)]
Fix a bug where the automatic makeup gain adjustment would never quite get to the right level.

7 years agoActually activate the faders.
Steinar H. Gunderson [Fri, 29 Jul 2016 18:05:44 +0000 (20:05 +0200)]
Actually activate the faders.

7 years agoMake some common decibel macros.
Steinar H. Gunderson [Fri, 29 Jul 2016 17:25:35 +0000 (19:25 +0200)]
Make some common decibel macros.

7 years agoSome minor IWYU work in mixer.h.
Steinar H. Gunderson [Fri, 29 Jul 2016 15:02:01 +0000 (17:02 +0200)]
Some minor IWYU work in mixer.h.

7 years agoMove most of the audio processing logic from Mixer into a new class, AudioMixer.
Steinar H. Gunderson [Fri, 29 Jul 2016 14:45:11 +0000 (16:45 +0200)]
Move most of the audio processing logic from Mixer into a new class, AudioMixer.

7 years agoMix all channels instead of just picking one (very rough, no volume control or anything).
Steinar H. Gunderson [Fri, 29 Jul 2016 13:20:51 +0000 (15:20 +0200)]
Mix all channels instead of just picking one (very rough, no volume control or anything).

7 years agoStart adding some faders for the miniview (they don't do much yet).
Steinar H. Gunderson [Fri, 29 Jul 2016 13:20:24 +0000 (15:20 +0200)]
Start adding some faders for the miniview (they don't do much yet).

7 years agolibbmusb-dev has been in testing for a while.
Steinar H. Gunderson [Wed, 19 Oct 2016 22:55:13 +0000 (00:55 +0200)]
libbmusb-dev has been in testing for a while.

7 years agoMake the UI show free disk space, and a rough estimation of for how much longer we...
Steinar H. Gunderson [Wed, 28 Sep 2016 21:56:23 +0000 (23:56 +0200)]
Make the UI show free disk space, and a rough estimation of for how much longer we can record.

7 years agoDon't call avio_closep() unless we actually have an output file (e.g. in the stream...
Steinar H. Gunderson [Mon, 26 Sep 2016 23:04:44 +0000 (01:04 +0200)]
Don't call avio_closep() unless we actually have an output file (e.g. in the stream mux).

7 years agoRemove an obsolete comment.
Steinar H. Gunderson [Mon, 26 Sep 2016 22:46:41 +0000 (00:46 +0200)]
Remove an obsolete comment.

7 years agoFix a file descriptor leak.
Steinar H. Gunderson [Fri, 23 Sep 2016 19:36:12 +0000 (21:36 +0200)]
Fix a file descriptor leak.

7 years agoDo not use the timing of dropped frames as part of the video master clock.
Steinar H. Gunderson [Fri, 23 Sep 2016 17:36:51 +0000 (19:36 +0200)]
Do not use the timing of dropped frames as part of the video master clock.

Hopefully improves resampling somewhat when we are dropping frames;
it is tricky to deal with such an uneven master clock, though.

7 years agoAdd the missing -I short option.
Steinar H. Gunderson [Sat, 17 Sep 2016 21:35:13 +0000 (23:35 +0200)]
Add the missing -I short option.

7 years agoUse std::chrono for (almost) all time keeping.
Steinar H. Gunderson [Sat, 10 Sep 2016 11:01:04 +0000 (13:01 +0200)]
Use std::chrono for (almost) all time keeping.

It is annoyingly verbose at times, but overall it's much less
fiddly and low-level than timespec and friends, especially when
doing arithmetic.

7 years agoMore tweaks to the dB formatting.
Steinar H. Gunderson [Sun, 28 Aug 2016 19:18:41 +0000 (21:18 +0200)]
More tweaks to the dB formatting.

7 years agoFix another bug in ResamplingQueue::get_output_samples() with non-stereo signals.
Steinar H. Gunderson [Sun, 28 Aug 2016 15:55:33 +0000 (17:55 +0200)]
Fix another bug in ResamplingQueue::get_output_samples() with non-stereo signals.

7 years agoRemove the last use of non-monotonic time.
Steinar H. Gunderson [Tue, 23 Aug 2016 19:18:43 +0000 (21:18 +0200)]
Remove the last use of non-monotonic time.

7 years agoAdd unified functions for formatting dB values.
Steinar H. Gunderson [Tue, 23 Aug 2016 15:46:58 +0000 (17:46 +0200)]
Add unified functions for formatting dB values.

This also gives us an \infty symbols instead of “inf”.

7 years agoMake the VU meters less ugly at lower sizes, by antialiasing the edges.
Steinar H. Gunderson [Sat, 13 Aug 2016 23:17:30 +0000 (01:17 +0200)]
Make the VU meters less ugly at lower sizes, by antialiasing the edges.

7 years agoSimplify draw_vu_meter().
Steinar H. Gunderson [Sat, 13 Aug 2016 21:33:38 +0000 (23:33 +0200)]
Simplify draw_vu_meter().

7 years agoIn ResamplingQueue::get_output_samples(), zero out the right number of channels.
Steinar H. Gunderson [Sat, 13 Aug 2016 14:34:08 +0000 (16:34 +0200)]
In ResamplingQueue::get_output_samples(), zero out the right number of channels.

7 years agoDeal better with the HTTP port being busy.
Steinar H. Gunderson [Sat, 13 Aug 2016 14:16:44 +0000 (16:16 +0200)]
Deal better with the HTTP port being busy.

7 years agoffmpeg #includes need to be in extern blocks.
Steinar H. Gunderson [Tue, 2 Aug 2016 21:04:06 +0000 (23:04 +0200)]
ffmpeg #includes need to be in extern blocks.

7 years agoRelease Nageru 1.3.4. 1.3.4
Steinar H. Gunderson [Tue, 2 Aug 2016 20:47:00 +0000 (22:47 +0200)]
Release Nageru 1.3.4.

7 years agoRun IWYU on quicksync_encoder.{cpp,h}.
Steinar H. Gunderson [Tue, 2 Aug 2016 20:46:01 +0000 (22:46 +0200)]
Run IWYU on quicksync_encoder.{cpp,h}.

7 years agoFix an issue with changing video bitrate when x264 speed control was in effect.
Steinar H. Gunderson [Mon, 1 Aug 2016 17:53:23 +0000 (19:53 +0200)]
Fix an issue with changing video bitrate when x264 speed control was in effect.

7 years agoMake the compressor constants single-precision; saves a lot of conversion back and...
Steinar H. Gunderson [Mon, 1 Aug 2016 17:35:59 +0000 (19:35 +0200)]
Make the compressor constants single-precision; saves a lot of conversion back and forth.

7 years agoFix an endianness issue.
Steinar H. Gunderson [Mon, 1 Aug 2016 15:51:24 +0000 (17:51 +0200)]
Fix an endianness issue.

7 years agoUnbreak build.
Steinar H. Gunderson [Sun, 31 Jul 2016 15:16:10 +0000 (17:16 +0200)]
Unbreak build.

7 years agoMake ResamplingQueue work as expected for output frequencies different from 48 kHz.
Steinar H. Gunderson [Sun, 31 Jul 2016 14:56:19 +0000 (16:56 +0200)]
Make ResamplingQueue work as expected for output frequencies different from 48 kHz.

7 years agoRemove the -C flag from the getopt string.
Steinar H. Gunderson [Sun, 31 Jul 2016 13:56:42 +0000 (15:56 +0200)]
Remove the -C flag from the getopt string.

7 years agoAdd a missing entry to .gitignore.
Steinar H. Gunderson [Sat, 30 Jul 2016 23:38:12 +0000 (01:38 +0200)]
Add a missing entry to .gitignore.

7 years agoUpdate README with the current bmusb situation.
Steinar H. Gunderson [Sat, 30 Jul 2016 16:49:59 +0000 (18:49 +0200)]
Update README with the current bmusb situation.

7 years agoCorrect an include guard.
Steinar H. Gunderson [Sat, 30 Jul 2016 10:24:19 +0000 (12:24 +0200)]
Correct an include guard.

7 years agoMove peak finding to after makeup gain (it should really have been all along).
Steinar H. Gunderson [Fri, 29 Jul 2016 14:07:38 +0000 (16:07 +0200)]
Move peak finding to after makeup gain (it should really have been all along).

7 years agoFix a 3 dB offset in audio conversion.
Steinar H. Gunderson [Fri, 29 Jul 2016 12:40:14 +0000 (14:40 +0200)]
Fix a 3 dB offset in audio conversion.

7 years agoSupport the new audio output from FakeCapture, with a (non-default) flag.
Steinar H. Gunderson [Fri, 29 Jul 2016 10:37:10 +0000 (12:37 +0200)]
Support the new audio output from FakeCapture, with a (non-default) flag.

7 years agoUnbreak the short option for --va-display.
Steinar H. Gunderson [Fri, 29 Jul 2016 10:33:53 +0000 (12:33 +0200)]
Unbreak the short option for --va-display.

7 years agoFix compilation for systems without SSE.
Steinar H. Gunderson [Thu, 28 Jul 2016 14:32:59 +0000 (16:32 +0200)]
Fix compilation for systems without SSE.

7 years agoRelease Nageru 1.3.3. 1.3.3
Steinar H. Gunderson [Wed, 27 Jul 2016 18:52:37 +0000 (20:52 +0200)]
Release Nageru 1.3.3.

7 years agoRemove unused field.
Steinar H. Gunderson [Wed, 27 Jul 2016 20:14:03 +0000 (22:14 +0200)]
Remove unused field.

7 years agoUpdate embedded bmusb to v0.5.
Steinar H. Gunderson [Wed, 27 Jul 2016 19:48:01 +0000 (21:48 +0200)]
Update embedded bmusb to v0.5.

7 years agoRework handling of fake cards.
Steinar H. Gunderson [Wed, 27 Jul 2016 19:21:24 +0000 (21:21 +0200)]
Rework handling of fake cards.

Remove the --num-fake-cards (-C) parameter; instead, allocate PCI and
USB cards first, and then just fill up with the remaining fake cards.
This makes it possible to just run ./nageru and have things work well
by default, no matter how many or few actual cards you have.

7 years agoRemove -Wno-deprecated-declarations; we have no deprecations anymore, so even with...
Steinar H. Gunderson [Wed, 27 Jul 2016 18:35:33 +0000 (20:35 +0200)]
Remove -Wno-deprecated-declarations; we have no deprecations anymore, so even with -Werror, it should be fine.

7 years agoHandle error messages from nice(); fixes a warning.
Steinar H. Gunderson [Wed, 27 Jul 2016 18:34:55 +0000 (20:34 +0200)]
Handle error messages from nice(); fixes a warning.

7 years agoMove all the FFmpeg RAII helpers into its own file.
Steinar H. Gunderson [Wed, 27 Jul 2016 18:27:10 +0000 (20:27 +0200)]
Move all the FFmpeg RAII helpers into its own file.

7 years agoRemove the last use of the AVStream::codec parameter.
Steinar H. Gunderson [Wed, 27 Jul 2016 18:03:24 +0000 (20:03 +0200)]
Remove the last use of the AVStream::codec parameter.

Fixes the last FFmpeg deprecation warnings.

7 years agoChange to new libavcodec audio encoding API. Fixes some deprecation warnings.
Steinar H. Gunderson [Wed, 27 Jul 2016 15:43:57 +0000 (17:43 +0200)]
Change to new libavcodec audio encoding API. Fixes some deprecation warnings.

7 years agoChange to new libavcodec video decoding API. Fixes some deprecation warnings.
Steinar H. Gunderson [Wed, 27 Jul 2016 15:29:55 +0000 (17:29 +0200)]
Change to new libavcodec video decoding API. Fixes some deprecation warnings.

7 years agoDo not link to -lGL -lEGL; epoxy is enough.
Steinar H. Gunderson [Wed, 27 Jul 2016 12:38:57 +0000 (14:38 +0200)]
Do not link to -lGL -lEGL; epoxy is enough.

7 years agoRemove some use of the AVStream::codec parameter (not all). Fixes some deprecation...
Steinar H. Gunderson [Wed, 27 Jul 2016 11:58:19 +0000 (13:58 +0200)]
Remove some use of the AVStream::codec parameter (not all). Fixes some deprecation warnings.

7 years agoMakefile tweaks to be nicer to external build systems.
Steinar H. Gunderson [Wed, 27 Jul 2016 09:08:02 +0000 (11:08 +0200)]
Makefile tweaks to be nicer to external build systems.

7 years agoSearch for images in all directories in --theme-dirs, and install bg.jpeg on make...
Steinar H. Gunderson [Wed, 27 Jul 2016 08:57:57 +0000 (10:57 +0200)]
Search for images in all directories in --theme-dirs, and install bg.jpeg on make install.

7 years agoMove to new bmusb, which moves header files into bmusb/bmusb/.
Steinar H. Gunderson [Wed, 27 Jul 2016 08:45:09 +0000 (10:45 +0200)]
Move to new bmusb, which moves header files into bmusb/bmusb/.

7 years agoInstall the theme on make install.
Steinar H. Gunderson [Tue, 26 Jul 2016 23:23:53 +0000 (01:23 +0200)]
Install the theme on make install.

7 years agoSupport searching for the theme in multiple directories.
Steinar H. Gunderson [Tue, 26 Jul 2016 23:21:24 +0000 (01:21 +0200)]
Support searching for the theme in multiple directories.

7 years agoUpdate bmusb to a version that does not need to be embedded.
Steinar H. Gunderson [Tue, 26 Jul 2016 12:27:14 +0000 (14:27 +0200)]
Update bmusb to a version that does not need to be embedded.