]> git.sesse.net Git - nageru/log
nageru
7 years agoRemove a FIXME; practical loopback testing showed this was right.
Steinar H. Gunderson [Mon, 23 Jan 2017 19:13:34 +0000 (20:13 +0100)]
Remove a FIXME; practical loopback testing showed this was right.

7 years agoMake the default input mapping ignore the output card.
Steinar H. Gunderson [Mon, 23 Jan 2017 00:01:41 +0000 (01:01 +0100)]
Make the default input mapping ignore the output card.

7 years agoThe DeckLink manual recommends pause + flush over stop for changing mode.
Steinar H. Gunderson [Sun, 22 Jan 2017 21:52:01 +0000 (22:52 +0100)]
The DeckLink manual recommends pause + flush over stop for changing mode.

7 years agoEnable input mode autodetection for DeckLink cards that support it.
Steinar H. Gunderson [Sun, 22 Jan 2017 21:49:47 +0000 (22:49 +0100)]
Enable input mode autodetection for DeckLink cards that support it.

7 years agoUp the timebase so that it can handle 23.976 fps accurately.
Steinar H. Gunderson [Sun, 22 Jan 2017 21:39:21 +0000 (22:39 +0100)]
Up the timebase so that it can handle 23.976 fps accurately.

7 years agoMake for clean shutdown of the output cards.
Steinar H. Gunderson [Sun, 22 Jan 2017 11:51:12 +0000 (12:51 +0100)]
Make for clean shutdown of the output cards.

7 years agoIf a DeckLink card has multiple subdevices, label them.
Steinar H. Gunderson [Sat, 21 Jan 2017 20:38:51 +0000 (21:38 +0100)]
If a DeckLink card has multiple subdevices, label them.

Makes it slightly easier to tell the devices apart on e.g. a Duo 2.

7 years agoSupport DeckLink cards that don't have an HDMI connector.
Steinar H. Gunderson [Thu, 19 Jan 2017 23:44:10 +0000 (00:44 +0100)]
Support DeckLink cards that don't have an HDMI connector.

Setting input or output to HDMI on SDI-only cards is an error,
even if HDMI/SDI generally outputs to both on combined cards.

7 years agoAdd support for DeckLink HDMI/SDI output.
Steinar H. Gunderson [Wed, 18 Jan 2017 22:06:13 +0000 (23:06 +0100)]
Add support for DeckLink HDMI/SDI output.

This is pretty raw still; audio isn't tested much, there's no
documentation, hardcoded 720p60 and no GUI control. But most
of the basic ideas are in place, so it should be a reasonable
base to build on.

7 years agoAdd a flag to output Y'CbCr using Rec. 709 coefficients.
Steinar H. Gunderson [Sun, 15 Jan 2017 20:05:39 +0000 (21:05 +0100)]
Add a flag to output Y'CbCr using Rec. 709 coefficients.

We will be needing this for HDMI/SDI output.

7 years agoSplit DeckLink mode summarization into a separate shared file.
Steinar H. Gunderson [Wed, 11 Jan 2017 21:06:51 +0000 (22:06 +0100)]
Split DeckLink mode summarization into a separate shared file.

Useful when we want output.

7 years agoMove find_received_timestamp() into print_latency.h, so that multiple consumers can...
Steinar H. Gunderson [Mon, 9 Jan 2017 22:51:16 +0000 (23:51 +0100)]
Move find_received_timestamp() into print_latency.h, so that multiple consumers can use it.

7 years agoAdd UYVY support to ChromaSubsampler.
Steinar H. Gunderson [Mon, 9 Jan 2017 22:33:26 +0000 (23:33 +0100)]
Add UYVY support to ChromaSubsampler.

7 years agoUpgrade bmusb to one with more working 1080i/1080p modes.
Steinar H. Gunderson [Sun, 15 Jan 2017 23:24:04 +0000 (00:24 +0100)]
Upgrade bmusb to one with more working 1080i/1080p modes.

7 years agoAdd a tiny explanatory comment.
Steinar H. Gunderson [Sat, 14 Jan 2017 01:02:09 +0000 (02:02 +0100)]
Add a tiny explanatory comment.

7 years agoRename bmusb_mutex to card_mutex; it is not really bound to bmusb anymore.
Steinar H. Gunderson [Wed, 11 Jan 2017 23:59:41 +0000 (00:59 +0100)]
Rename bmusb_mutex to card_mutex; it is not really bound to bmusb anymore.

7 years agoSupport interlaced inputs with the official DeckLink driver.
Steinar H. Gunderson [Sun, 15 Jan 2017 11:04:48 +0000 (12:04 +0100)]
Support interlaced inputs with the official DeckLink driver.

7 years agoMake scan speed much more aggressive; seemingly there are some pauses from the driver...
Steinar H. Gunderson [Sun, 15 Jan 2017 10:36:15 +0000 (11:36 +0100)]
Make scan speed much more aggressive; seemingly there are some pauses from the driver, too.

7 years agoMake for cleaner on/off transitions in DeckLinkCapture.
Steinar H. Gunderson [Sat, 14 Jan 2017 10:32:17 +0000 (11:32 +0100)]
Make for cleaner on/off transitions in DeckLinkCapture.

7 years agoMove chroma subsampling into its own class.
Steinar H. Gunderson [Mon, 9 Jan 2017 22:11:06 +0000 (23:11 +0100)]
Move chroma subsampling into its own class.

This was starting to get a bit large to be part of Mixer, and with
4:2:2 coming up, it makes even more sense to split it out.

7 years agoIf running with unlimited amounts of lockable memory (e.g. as root), give a less...
Steinar H. Gunderson [Mon, 26 Dec 2016 14:12:09 +0000 (15:12 +0100)]
If running with unlimited amounts of lockable memory (e.g. as root), give a less confusing status message.

7 years agoPrepare get_one_frame_from_each_card() interface for different clocks.
Steinar H. Gunderson [Sat, 24 Dec 2016 10:50:00 +0000 (11:50 +0100)]
Prepare get_one_frame_from_each_card() interface for different clocks.

This interface is more flexible, and less bound to the idea of having
the master clock locked to an input card.

7 years agobmusb 0.5.3 is now in stretch.
Steinar H. Gunderson [Sat, 24 Dec 2016 00:07:24 +0000 (01:07 +0100)]
bmusb 0.5.3 is now in stretch.

7 years agoStart capturing only when the mixer is ready.
Steinar H. Gunderson [Fri, 23 Dec 2016 23:06:34 +0000 (00:06 +0100)]
Start capturing only when the mixer is ready.

Seemingly creating a context etc. can take 70+ ms, and letting the
capture cards insert stuff freely for that time confuses ResamplingQueue
(plus probably our video queue length policy). Delay it until we are
actually ready to process output frames.

7 years agoMake the resampling audio queue length adjustable with a flag.
Steinar H. Gunderson [Fri, 23 Dec 2016 22:03:11 +0000 (23:03 +0100)]
Make the resampling audio queue length adjustable with a flag.

7 years agoFix a bug where we would give wrong pts to the QuickSync encoder.
Steinar H. Gunderson [Fri, 23 Dec 2016 13:54:12 +0000 (14:54 +0100)]
Fix a bug where we would give wrong pts to the QuickSync encoder.

7 years agoCorrect/improve output chroma subsampling; it turned out we were essentially not...
Steinar H. Gunderson [Fri, 16 Dec 2016 19:44:58 +0000 (20:44 +0100)]
Correct/improve output chroma subsampling; it turned out we were essentially not doing any filtering horizontally.

7 years agoSet the right texture sampler for the subsampling shader (used to work by accident).
Steinar H. Gunderson [Fri, 16 Dec 2016 19:33:16 +0000 (20:33 +0100)]
Set the right texture sampler for the subsampling shader (used to work by accident).

7 years agoWait for frames in render order, not QuickSync order.
Steinar H. Gunderson [Mon, 12 Dec 2016 22:15:19 +0000 (23:15 +0100)]
Wait for frames in render order, not QuickSync order.

Now that we have x264 and uncompressed outputs, there's no need
to add extra latency for these cases, and the gain for going in
QuickSync order is rather marginal anyway, as long as GPUs don't
render out-of-order.

7 years agoMove QuickSyncEncoderImpl's definition into its own header.
Steinar H. Gunderson [Sun, 11 Dec 2016 12:37:50 +0000 (13:37 +0100)]
Move QuickSyncEncoderImpl's definition into its own header.

It is only used from that single file (naturally enough), but it
ended up cluttering the .cpp file a lot.

7 years agoMove mixer latency measurement to after buffer map.
Steinar H. Gunderson [Sat, 10 Dec 2016 18:11:53 +0000 (19:11 +0100)]
Move mixer latency measurement to after buffer map.

7 years agoAdd a switch to print video latency.
Steinar H. Gunderson [Sat, 10 Dec 2016 14:58:35 +0000 (15:58 +0100)]
Add a switch to print video latency.

This ignores mux latency and audio latency, but it's a very good start
for ongoing low-latency debugging.

Requires bmusb 0.5.3.

7 years agoMake it possible to set width/height on the command line, instead of compiling it...
Steinar H. Gunderson [Sun, 4 Dec 2016 20:11:26 +0000 (21:11 +0100)]
Make it possible to set width/height on the command line, instead of compiling it into the binary.

7 years agoMake the aspect calculations follow from WIDTH/HEIGHT instead of hardcoding 16:9.
Steinar H. Gunderson [Sun, 4 Dec 2016 15:39:56 +0000 (16:39 +0100)]
Make the aspect calculations follow from WIDTH/HEIGHT instead of hardcoding 16:9.

7 years agoRelease Nageru 1.4.2. 1.4.2
Steinar H. Gunderson [Thu, 24 Nov 2016 17:07:02 +0000 (18:07 +0100)]
Release Nageru 1.4.2.

7 years agoDon't bother making AVPackets if x264 has no data for us.
Steinar H. Gunderson [Tue, 22 Nov 2016 23:48:30 +0000 (00:48 +0100)]
Don't bother making AVPackets if x264 has no data for us.

Also gives the first SEI a more sane timestamp.

7 years agoFix a thread race that would sometimes cause x264 streaming to go awry.
Steinar H. Gunderson [Tue, 22 Nov 2016 23:47:27 +0000 (00:47 +0100)]
Fix a thread race that would sometimes cause x264 streaming to go awry.

7 years agoFix a window title.
Steinar H. Gunderson [Wed, 9 Nov 2016 23:07:28 +0000 (00:07 +0100)]
Fix a window title.

7 years agoRelease Nageru 1.4.1. 1.4.1
Steinar H. Gunderson [Sun, 6 Nov 2016 22:25:14 +0000 (23:25 +0100)]
Release Nageru 1.4.1.

7 years agoRecommend Movit 1.4.0 in the README (fixes some threading issues).
Steinar H. Gunderson [Sun, 6 Nov 2016 22:24:17 +0000 (23:24 +0100)]
Recommend Movit 1.4.0 in the README (fixes some threading issues).

7 years agoFix a race during startup.
Steinar H. Gunderson [Sat, 5 Nov 2016 17:19:20 +0000 (18:19 +0100)]
Fix a race during startup.

Doesn't actually matter in practice (only comes into play if pointer
reads/writes are non-atomic), but it's nice to make Helgrind happy.

7 years agoUpdate on the libusb status; much better now.
Steinar H. Gunderson [Tue, 1 Nov 2016 17:26:10 +0000 (18:26 +0100)]
Update on the libusb status; much better now.

7 years agoIf EGL initialization fails, print a friendlier error message.
Steinar H. Gunderson [Mon, 31 Oct 2016 22:43:40 +0000 (23:43 +0100)]
If EGL initialization fails, print a friendlier error message.

The libpci dependency might be a bit overkill, but it really
helps friendliness in an otherwise pretty inscrutinable case.

7 years agoFix an issue with streaming the NUT mux to HTTP.
Steinar H. Gunderson [Mon, 31 Oct 2016 20:05:20 +0000 (21:05 +0100)]
Fix an issue with streaming the NUT mux to HTTP.

7 years agoFix a segfault on bmusb hotplug in simple audio mode.
Steinar H. Gunderson [Mon, 31 Oct 2016 18:08:21 +0000 (19:08 +0100)]
Fix a segfault on bmusb hotplug in simple audio mode.

7 years agoRelease Nageru 1.4.0. 1.4.0
Steinar H. Gunderson [Sat, 22 Oct 2016 20:29:16 +0000 (22:29 +0200)]
Release Nageru 1.4.0.

7 years agoFix a missing break in a switch.
Steinar H. Gunderson [Tue, 25 Oct 2016 16:42:54 +0000 (18:42 +0200)]
Fix a missing break in a switch.

Found by Coverity Scan (among tons of false positives).

7 years agoCheck the return value of writing to the eventfd.
Steinar H. Gunderson [Tue, 25 Oct 2016 07:41:55 +0000 (09:41 +0200)]
Check the return value of writing to the eventfd.

7 years agoFix some missing targets in clean.
Steinar H. Gunderson [Tue, 25 Oct 2016 07:40:23 +0000 (09:40 +0200)]
Fix some missing targets in clean.

7 years agoAdd some missing non-implicit dependencies to the Makefile.
Steinar H. Gunderson [Tue, 25 Oct 2016 07:33:57 +0000 (09:33 +0200)]
Add some missing non-implicit dependencies to the Makefile.

7 years agoVarious Makefile tweaks (mostly related to cleaning moc files).
Steinar H. Gunderson [Sat, 22 Oct 2016 21:55:26 +0000 (23:55 +0200)]
Various Makefile tweaks (mostly related to cleaning moc files).

7 years agoClean .pb.{cc,h} files on make clean.
Steinar H. Gunderson [Sat, 22 Oct 2016 21:47:43 +0000 (23:47 +0200)]
Clean .pb.{cc,h} files on make clean.

7 years agoFinal touch before release: Remove the MIDI controller debug printfs.
Steinar H. Gunderson [Thu, 20 Oct 2016 22:10:47 +0000 (00:10 +0200)]
Final touch before release: Remove the MIDI controller debug printfs.

7 years agoMake the compression meter nonlinear.
Steinar H. Gunderson [Sat, 22 Oct 2016 20:27:28 +0000 (22:27 +0200)]
Make the compression meter nonlinear.

This necessitated splitting it out into its own class, which also
took some complexity out of VUMeter.

7 years agoSplit out the piecewise linear interpolation code into its own class.
Steinar H. Gunderson [Sat, 22 Oct 2016 18:51:14 +0000 (20:51 +0200)]
Split out the piecewise linear interpolation code into its own class.

7 years agoFix some UI work being done on the non-UI thread.
Steinar H. Gunderson [Sat, 22 Oct 2016 13:45:58 +0000 (15:45 +0200)]
Fix some UI work being done on the non-UI thread.

7 years agoAllow using control 0.
Steinar H. Gunderson [Sat, 22 Oct 2016 12:53:51 +0000 (14:53 +0200)]
Allow using control 0.

Evidently, there are devices that use the entire range,
so the special value has to move to -1.

7 years agoDon't try to set up MIDI mapper highlights before the UI exists.
Steinar H. Gunderson [Sat, 22 Oct 2016 12:46:13 +0000 (14:46 +0200)]
Don't try to set up MIDI mapper highlights before the UI exists.

7 years agoChange the auto-gain stopping criterion to be on corrected LU.
Steinar H. Gunderson [Sat, 22 Oct 2016 11:36:26 +0000 (13:36 +0200)]
Change the auto-gain stopping criterion to be on corrected LU.

This might be less safe (there might be some feedback effects involved),
but the behavior of working on _uncorrected_ LU was simply too unintuitive;
it was hard to understand why the setting wasn't moving.

7 years agoGive the makeup gain control a bit more useful range (+/- 15 dB instead of 30). Espec...
Steinar H. Gunderson [Sat, 22 Oct 2016 10:12:34 +0000 (12:12 +0200)]
Give the makeup gain control a bit more useful range (+/- 15 dB instead of 30). Especially relevant with the physical controls.

7 years agoRe-run include-what-you-use.
Steinar H. Gunderson [Thu, 20 Oct 2016 23:25:52 +0000 (01:25 +0200)]
Re-run include-what-you-use.

Insignificant compile-time savings this time, but still nice
to have it cleaned up.

7 years agoUpdate the README for the new sound features.
Steinar H. Gunderson [Thu, 20 Oct 2016 22:09:51 +0000 (00:09 +0200)]
Update the README for the new sound features.

7 years agoAdd a sample MIDI mapping for Akai MIDImix.
Steinar H. Gunderson [Sun, 9 Oct 2016 10:29:07 +0000 (12:29 +0200)]
Add a sample MIDI mapping for Akai MIDImix.

This happens to be the controller I own myself.

7 years agoAdd mute buttons.
Steinar H. Gunderson [Thu, 20 Oct 2016 21:44:12 +0000 (23:44 +0200)]
Add mute buttons.

Actually this is mostly because I like being able to press the
mute button on my MIDI controller and have it light up :-)
Internally, it's implemented by forcing the volume to zero
(or sometimes -90 dB), which means we get all the nice
fading properties and such.

In the process, we now declare -90 dB to be truly zero, and don't
bother adding it to the bus.

7 years agoFix an issue where silent buses were only partially cleared.
Steinar H. Gunderson [Wed, 19 Oct 2016 21:58:29 +0000 (23:58 +0200)]
Fix an issue where silent buses were only partially cleared.

7 years agoAdd scroll bars to the audio strips if needed.
Steinar H. Gunderson [Wed, 19 Oct 2016 21:55:09 +0000 (23:55 +0200)]
Add scroll bars to the audio strips if needed.

7 years agoDon't highlight any controllers if no MIDI controller is attached.
Steinar H. Gunderson [Wed, 19 Oct 2016 20:31:05 +0000 (22:31 +0200)]
Don't highlight any controllers if no MIDI controller is attached.

Previously, we'd highlight unconditionally as long as we had a
MIDI mapping loaded.

7 years agoMake the master peak display clickable, like all the other peak labels.
Steinar H. Gunderson [Wed, 19 Oct 2016 19:52:55 +0000 (21:52 +0200)]
Make the master peak display clickable, like all the other peak labels.

7 years agoAdd support for feedback lights (LEDs) on MIDI controllers.
Steinar H. Gunderson [Wed, 19 Oct 2016 19:41:39 +0000 (21:41 +0200)]
Add support for feedback lights (LEDs) on MIDI controllers.

7 years agoAdd the two final missing MIDI mappings, namely buttons for toggling limiter and...
Steinar H. Gunderson [Mon, 17 Oct 2016 22:54:01 +0000 (00:54 +0200)]
Add the two final missing MIDI mappings, namely buttons for toggling limiter and auto makeup gain.

7 years agoHighlight which controllers have currently active MIDI mappings. Very useful with...
Steinar H. Gunderson [Mon, 17 Oct 2016 21:21:47 +0000 (23:21 +0200)]
Highlight which controllers have currently active MIDI mappings. Very useful with multiple banks.

7 years agoWhen having guessed a bus, focus on the next one.
Steinar H. Gunderson [Mon, 17 Oct 2016 17:07:46 +0000 (19:07 +0200)]
When having guessed a bus, focus on the next one.

7 years agoMake sure MIDI mapping extrapolation doesn't give out-of-range values.
Steinar H. Gunderson [Mon, 17 Oct 2016 16:59:46 +0000 (18:59 +0200)]
Make sure MIDI mapping extrapolation doesn't give out-of-range values.

7 years agoSupport group-local extrapolation in the MIDI mapping editor.
Steinar H. Gunderson [Mon, 17 Oct 2016 16:48:45 +0000 (18:48 +0200)]
Support group-local extrapolation in the MIDI mapping editor.

7 years agoMake the guess button work.
Steinar H. Gunderson [Sun, 16 Oct 2016 21:10:32 +0000 (23:10 +0200)]
Make the guess button work.

Right now, it only works across the entire bus; next up will be
group-local extrapolation for the cases where whole-bus extrapolationd
doesn't work.

7 years agoImplement auto-training controllers in the MIDI input mapping dialog.
Steinar H. Gunderson [Sun, 16 Oct 2016 13:46:53 +0000 (15:46 +0200)]
Implement auto-training controllers in the MIDI input mapping dialog.

7 years agoMake the save and load buttons in the MIDI mapping edit dialog work.
Steinar H. Gunderson [Sun, 16 Oct 2016 12:32:37 +0000 (14:32 +0200)]
Make the save and load buttons in the MIDI mapping edit dialog work.

7 years agoAdd an editor for the MIDI mappings.
Steinar H. Gunderson [Sat, 15 Oct 2016 22:45:29 +0000 (00:45 +0200)]
Add an editor for the MIDI mappings.

Some of the buttons (save, load, guess) are inert, and it doesn't
listen to MIDI events yet.

7 years agoListen on all MIDI ports (including hotplug).
Steinar H. Gunderson [Sun, 9 Oct 2016 13:01:57 +0000 (15:01 +0200)]
Listen on all MIDI ports (including hotplug).

It's unlikely that there will be lots of real MIDI note data going on
in the system, so just slurping up all of it seems reasonable
(it's certainly the most user-friendly).

7 years agoRewrite the ALSA sequencer input loop.
Steinar H. Gunderson [Sun, 9 Oct 2016 11:59:00 +0000 (13:59 +0200)]
Rewrite the ALSA sequencer input loop.

Seemingly we can get multiple events in one poll, and we can _not_
just go back to polling again (the poll will hang). I consider this
an ALSA bug, but it's easy to work around, the same way aseqdump
does; just set the sequencer to nonblocking and loop over it
until we get EAGAIN.

7 years agoAdd support for controlling the audio using a MIDI controller.
Steinar H. Gunderson [Sun, 9 Oct 2016 10:19:23 +0000 (12:19 +0200)]
Add support for controlling the audio using a MIDI controller.

This allows the user to control the audio using a dedicated controller,
as opposed to the mouse, which generally is a more direct and intuitive
user interface.

This is rather raw at the moment (e.g., hardcoded MIDI address, no real UI
indications of bank switches, and no UI for editing the mapping), but the
required basics are generally in place.

7 years agoShut down the ALSA inotify thread using an eventfd instead of busypolling every 100 ms.
Steinar H. Gunderson [Sat, 8 Oct 2016 17:05:11 +0000 (19:05 +0200)]
Shut down the ALSA inotify thread using an eventfd instead of busypolling every 100 ms.

7 years agoMake NonlinearFader work with fixed 0..1000 range, not 0..height().
Steinar H. Gunderson [Thu, 6 Oct 2016 18:14:30 +0000 (20:14 +0200)]
Make NonlinearFader work with fixed 0..1000 range, not 0..height().

In particular, this fixes an issue where the range could be wrong
just after the widget is created, but the page it is not is not shown
yet (so there hasn't been a resize event yet).

Also makes for more consistent scroll wheel and arrow key behavior,
as it is not longer dependent on widget size.

7 years agoInterpolate gain changes smoothly, reusing the gain fading code from the EQ.
Steinar H. Gunderson [Thu, 29 Sep 2016 18:34:34 +0000 (20:34 +0200)]
Interpolate gain changes smoothly, reusing the gain fading code from the EQ.

7 years agoReenable simple audio.
Steinar H. Gunderson [Wed, 28 Sep 2016 18:08:30 +0000 (20:08 +0200)]
Reenable simple audio.

Now that most of the multichannel work has been done, we can put the
wraps back on and reenable the simple audio model from 1.3.x, which is
less flexible but also easier for the casual user. Users can choose
between the old model (simple) and the new (multichannel) through a
UI toggle, or with a command-line flag; they map to the same processing
code.

7 years agoMake it possible to use PgUp/PgDown to switch audio pages.
Steinar H. Gunderson [Fri, 23 Sep 2016 19:44:02 +0000 (21:44 +0200)]
Make it possible to use PgUp/PgDown to switch audio pages.

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 agoInterpolate EQ changes smoothly, just like volume changes.
Steinar H. Gunderson [Wed, 21 Sep 2016 22:57:40 +0000 (00:57 +0200)]
Interpolate EQ changes smoothly, just like volume changes.

7 years agoShut down the ALSA probe retry threads cleanly on exit.
Steinar H. Gunderson [Wed, 21 Sep 2016 18:00:09 +0000 (20:00 +0200)]
Shut down the ALSA probe retry threads cleanly on exit.

7 years agoShut down the ALSA inotify thread cleanly on exit.
Steinar H. Gunderson [Wed, 21 Sep 2016 17:49:29 +0000 (19:49 +0200)]
Shut down the ALSA inotify thread cleanly on exit.

7 years agoMove ALSAPool into its own file; it is pretty large now.
Steinar H. Gunderson [Wed, 21 Sep 2016 17:19:10 +0000 (19:19 +0200)]
Move ALSAPool into its own file; it is pretty large now.

7 years agoLet settings follow buses when editing the mapping.
Steinar H. Gunderson [Wed, 21 Sep 2016 17:00:21 +0000 (19:00 +0200)]
Let settings follow buses when editing the mapping.

If a user wants to add a new bus (or delete one), we shouldn't
delete all their settings. Track them as a nicely bound-together
hidden state when editing. (This also lays the ground for
serialization of the entire mixer state in the future,
should we want to do that.)

7 years agoActually set the fader positions when making the views for each audio bus.
Steinar H. Gunderson [Tue, 20 Sep 2016 21:50:34 +0000 (23:50 +0200)]
Actually set the fader positions when making the views for each audio bus.

7 years agoMake it possible to load an audio input mapping on start, through a command-line...
Steinar H. Gunderson [Sat, 17 Sep 2016 21:41:17 +0000 (23:41 +0200)]
Make it possible to load an audio input mapping on start, through a command-line flag.

7 years agoMake it possible to load/save input mappings.
Steinar H. Gunderson [Fri, 16 Sep 2016 18:20:45 +0000 (20:20 +0200)]
Make it possible to load/save input mappings.

Settings these up can be a bit of a hassle if you have a lot of them,
so we allow them to be saved to disk and then loaded back (complete
with machinery for fuzzy-matching devices if the state has changed,
e.g. cards moved around).

This introduces a dependency on protocol buffers, because it's a
convenient way to store simple data to disk (including forward
compatibility). We choose to use the text format for the user's
convenience; we don't need the speed or compactness of the binary format.

7 years agoMove InputMapping and friends into its own header file.
Steinar H. Gunderson [Sat, 17 Sep 2016 20:26:47 +0000 (22:26 +0200)]
Move InputMapping and friends into its own header file.

7 years agoRename “name” to “display name”.
Steinar H. Gunderson [Thu, 15 Sep 2016 17:50:36 +0000 (19:50 +0200)]
Rename “name” to “display name”.

This makes for less confusion when AudioDevice's “name” doesn't
match what's in ALSA's “name” (it is composed of name+info).

7 years agoMake sure AudioDevice::name is set for ALSA cards, not just video capture cards.
Steinar H. Gunderson [Sun, 11 Sep 2016 23:09:04 +0000 (01:09 +0200)]
Make sure AudioDevice::name is set for ALSA cards, not just video capture cards.

7 years agoUpdate to a bmusb version where fake cards output 8-channel audio.
Steinar H. Gunderson [Sun, 11 Sep 2016 16:51:05 +0000 (18:51 +0200)]
Update to a bmusb version where fake cards output 8-channel audio.

7 years agoUpdate the UI with state changes and new ALSA cards as they come in.
Steinar H. Gunderson [Sun, 11 Sep 2016 15:34:08 +0000 (17:34 +0200)]
Update the UI with state changes and new ALSA cards as they come in.