]> git.sesse.net Git - nageru/log
nageru
5 years agoSupport changing overall playing speed at runtime, using a slider or a MIDI controller.
Steinar H. Gunderson [Tue, 15 Jan 2019 22:09:50 +0000 (23:09 +0100)]
Support changing overall playing speed at runtime, using a slider or a MIDI controller.

5 years agoWhen sending original frames, do the reading in the queueing thread.
Steinar H. Gunderson [Tue, 15 Jan 2019 17:39:10 +0000 (18:39 +0100)]
When sending original frames, do the reading in the queueing thread.

Earlier, we'd only preload it and hope the encoder's second read would
come from the cache. But this is more consistent, and perhaps more
importantly, it fixes a race on the FrameReader, where the two threads
would try accessing it at the same time, causing the file descriptor
to be closed while being used, and a crash.

Now, the FrameReaders are consistently accessed from one thread only.

5 years agoRemove a debug message.
Steinar H. Gunderson [Sat, 12 Jan 2019 19:41:25 +0000 (20:41 +0100)]
Remove a debug message.

5 years agoTurn off guessing if the source bus contains the pitch bend controller.
Steinar H. Gunderson [Sat, 12 Jan 2019 19:26:22 +0000 (20:26 +0100)]
Turn off guessing if the source bus contains the pitch bend controller.

5 years agoSupport pitch bend as a virtual MIDI controller.
Steinar H. Gunderson [Thu, 10 Jan 2019 18:28:46 +0000 (19:28 +0100)]
Support pitch bend as a virtual MIDI controller.

The primary reason this is important is that it's got higher range
(up to 14-bit). Also, DJ controllers with a slider typically send
pitch bend values, so it's useful just to get to use them.

5 years agoAdd an example Futatabi MIDI mapping for the Behringer CMD PL-1.
Steinar H. Gunderson [Wed, 9 Jan 2019 22:57:47 +0000 (23:57 +0100)]
Add an example Futatabi MIDI mapping for the Behringer CMD PL-1.

5 years agoAdd basic MIDI input support (jog, cue in/out, play, camera switch) to Futatabi....
Steinar H. Gunderson [Wed, 9 Jan 2019 22:54:13 +0000 (23:54 +0100)]
Add basic MIDI input support (jog, cue in/out, play, camera switch) to Futatabi. No editor yet.

5 years agoOnly enable the queue button if we can actually queue something.
Steinar H. Gunderson [Wed, 9 Jan 2019 21:40:54 +0000 (22:40 +0100)]
Only enable the queue button if we can actually queue something.

5 years agoOnly enable the preview button if we can actually preview something.
Steinar H. Gunderson [Wed, 9 Jan 2019 21:34:09 +0000 (22:34 +0100)]
Only enable the preview button if we can actually preview something.

5 years agoSplit the MIDI mapping proto file in two; one that will be shared with Futatabi soon...
Steinar H. Gunderson [Tue, 8 Jan 2019 23:24:26 +0000 (00:24 +0100)]
Split the MIDI mapping proto file in two; one that will be shared with Futatabi soon, and one that is for Nageru only.

5 years agoUnbreak preview camera angle again.
Steinar H. Gunderson [Tue, 8 Jan 2019 22:52:10 +0000 (23:52 +0100)]
Unbreak preview camera angle again.

5 years agoMake cue in/out highlight the right cell. More logical, and also helps with jogging.
Steinar H. Gunderson [Tue, 8 Jan 2019 22:51:52 +0000 (23:51 +0100)]
Make cue in/out highlight the right cell. More logical, and also helps with jogging.

5 years agoFix a typo.
Steinar H. Gunderson [Tue, 8 Jan 2019 21:40:47 +0000 (22:40 +0100)]
Fix a typo.

5 years agoMove another helper into midi_mapper_util.h.
Steinar H. Gunderson [Tue, 8 Jan 2019 21:40:33 +0000 (22:40 +0100)]
Move another helper into midi_mapper_util.h.

5 years agoMove some MIDI mapper protobuf reflection code into a shared helper.
Steinar H. Gunderson [Mon, 7 Jan 2019 23:00:24 +0000 (00:00 +0100)]
Move some MIDI mapper protobuf reflection code into a shared helper.

5 years agoMove midi_device.cpp into shared, as Futatabi is getting MIDI support soon.
Steinar H. Gunderson [Sun, 6 Jan 2019 17:59:40 +0000 (18:59 +0100)]
Move midi_device.cpp into shared, as Futatabi is getting MIDI support soon.

5 years agoSmall refactoring in MIDIMapper.
Steinar H. Gunderson [Sun, 6 Jan 2019 12:30:56 +0000 (13:30 +0100)]
Small refactoring in MIDIMapper.

5 years agoMove protobuf text serialization into a shared file.
Steinar H. Gunderson [Sun, 6 Jan 2019 12:19:57 +0000 (13:19 +0100)]
Move protobuf text serialization into a shared file.

5 years agoSplit out the ALSA-specific parts from MIDIMapper into a new class MIDIDevice.
Steinar H. Gunderson [Sat, 5 Jan 2019 19:38:36 +0000 (20:38 +0100)]
Split out the ALSA-specific parts from MIDIMapper into a new class MIDIDevice.

5 years agoSend note velocity of 1 instead of 127 for lights.
Steinar H. Gunderson [Fri, 4 Jan 2019 21:37:00 +0000 (22:37 +0100)]
Send note velocity of 1 instead of 127 for lights.

Seemingly at least the Behringer PL-1 isn't happy about 127;
it has 0 for off (well, default color), 1 for on, 2 for blink,
and ignores all others. 1 should be fine for other devices as
far as I know, so simply make it universal.

5 years agoFix some memory leaks on export.
Steinar H. Gunderson [Tue, 1 Jan 2019 00:30:58 +0000 (01:30 +0100)]
Fix some memory leaks on export.

5 years agoRelease Nageru and Futatabi 1.8.1. 1.8.1
Steinar H. Gunderson [Sun, 30 Dec 2018 18:51:49 +0000 (19:51 +0100)]
Release Nageru and Futatabi 1.8.1.

5 years agoAdd an assert to silence Coverity.
Steinar H. Gunderson [Sun, 30 Dec 2018 14:48:08 +0000 (15:48 +0100)]
Add an assert to silence Coverity.

5 years agoMake the Futatabi PAUSED subtitle a bit more regular and like the PLAYING one.
Steinar H. Gunderson [Sun, 30 Dec 2018 12:06:45 +0000 (13:06 +0100)]
Make the Futatabi PAUSED subtitle a bit more regular and like the PLAYING one.

5 years agoDo a small hack in Futatabi to make sure that Nageru gets the subtitles in time.
Steinar H. Gunderson [Sun, 30 Dec 2018 11:20:59 +0000 (12:20 +0100)]
Do a small hack in Futatabi to make sure that Nageru gets the subtitles in time.

5 years agoAdd support to Nageru for reading the subtitles from FFmpeg streams.
Steinar H. Gunderson [Sun, 30 Dec 2018 11:08:26 +0000 (12:08 +0100)]
Add support to Nageru for reading the subtitles from FFmpeg streams.

5 years agoFix a crash on receiving dummy frames.
Steinar H. Gunderson [Sat, 29 Dec 2018 23:32:51 +0000 (00:32 +0100)]
Fix a crash on receiving dummy frames.

5 years agoSome Futatabi formatting fixes.
Steinar H. Gunderson [Sat, 29 Dec 2018 23:11:43 +0000 (00:11 +0100)]
Some Futatabi formatting fixes.

5 years agoBump version number to 1.8.1-pre.
Steinar H. Gunderson [Fri, 28 Dec 2018 23:23:15 +0000 (00:23 +0100)]
Bump version number to 1.8.1-pre.

5 years agoMake Futatabi output its status as subtitles, in a hopefully fairly parseable form.
Steinar H. Gunderson [Fri, 28 Dec 2018 23:23:02 +0000 (00:23 +0100)]
Make Futatabi output its status as subtitles, in a hopefully fairly parseable form.

5 years agoFix an issue where the stop button would get grayed out if restarting playing.
Steinar H. Gunderson [Fri, 28 Dec 2018 23:13:06 +0000 (00:13 +0100)]
Fix an issue where the stop button would get grayed out if restarting playing.

5 years agoAllow editing a playing playlist.
Steinar H. Gunderson [Fri, 28 Dec 2018 21:31:05 +0000 (22:31 +0100)]
Allow editing a playing playlist.

This is based on the notion of splicing; if we edit a part of the
playlist that is below the currently playing clip, that edit is
heuristically spliced into Player's current internal list.

5 years agoMake duplicated rows show up after the old ones, and also give them new IDs.
Steinar H. Gunderson [Fri, 28 Dec 2018 19:22:24 +0000 (20:22 +0100)]
Make duplicated rows show up after the old ones, and also give them new IDs.

5 years agoFix some issues with the “time remaining” display.
Steinar H. Gunderson [Fri, 28 Dec 2018 17:14:07 +0000 (18:14 +0100)]
Fix some issues with the “time remaining” display.

5 years agoGive each clip in the playlist a stable ID.
Steinar H. Gunderson [Fri, 28 Dec 2018 17:09:35 +0000 (18:09 +0100)]
Give each clip in the playlist a stable ID.

Makes progress display more robust in the face of concurrent edits.

5 years agoCall the done callback only when the entire playlist is done. Simplifies a fair amoun...
Steinar H. Gunderson [Fri, 28 Dec 2018 16:06:15 +0000 (17:06 +0100)]
Call the done callback only when the entire playlist is done. Simplifies a fair amount of stuff.

5 years agoRemove obsolete member function.
Steinar H. Gunderson [Fri, 28 Dec 2018 15:59:29 +0000 (16:59 +0100)]
Remove obsolete member function.

5 years agoFix an issue where the stop button would be disabled too soon.
Steinar H. Gunderson [Fri, 28 Dec 2018 11:34:07 +0000 (12:34 +0100)]
Fix an issue where the stop button would be disabled too soon.

5 years agoMove estimation of time left into Player.
Steinar H. Gunderson [Fri, 28 Dec 2018 11:33:53 +0000 (12:33 +0100)]
Move estimation of time left into Player.

5 years agoMove progress row information into Player; will be easier to track when we start...
Steinar H. Gunderson [Fri, 28 Dec 2018 11:09:17 +0000 (12:09 +0100)]
Move progress row information into Player; will be easier to track when we start modifying the lists.

5 years agoSome clang-formatting of Futatabi.
Steinar H. Gunderson [Fri, 28 Dec 2018 10:56:15 +0000 (11:56 +0100)]
Some clang-formatting of Futatabi.

5 years agoIndentation fix.
Steinar H. Gunderson [Fri, 28 Dec 2018 10:51:23 +0000 (11:51 +0100)]
Indentation fix.

5 years agoSimplify progress calculation.
Steinar H. Gunderson [Fri, 28 Dec 2018 10:40:33 +0000 (11:40 +0100)]
Simplify progress calculation.

5 years agoSimplify Player::thread_func() a little further.
Steinar H. Gunderson [Fri, 28 Dec 2018 10:29:00 +0000 (11:29 +0100)]
Simplify Player::thread_func() a little further.

5 years agoFactor out some common logic from Player::thread_func().
Steinar H. Gunderson [Fri, 28 Dec 2018 10:24:21 +0000 (11:24 +0100)]
Factor out some common logic from Player::thread_func().

5 years agoRemove one level of indentation from Player::thread_func.
Steinar H. Gunderson [Fri, 28 Dec 2018 10:15:50 +0000 (11:15 +0100)]
Remove one level of indentation from Player::thread_func.

5 years agoMove from unique_lock to lock_guard everywhere we can. Perhaps ever so slightly clear...
Steinar H. Gunderson [Fri, 28 Dec 2018 09:48:14 +0000 (10:48 +0100)]
Move from unique_lock to lock_guard everywhere we can. Perhaps ever so slightly clearer to read the intent.

5 years agoFix a minor unneeded unlock/lock.
Steinar H. Gunderson [Thu, 27 Dec 2018 23:31:45 +0000 (00:31 +0100)]
Fix a minor unneeded unlock/lock.

5 years agoFix some silly indentation.
Steinar H. Gunderson [Thu, 27 Dec 2018 23:30:31 +0000 (00:30 +0100)]
Fix some silly indentation.

5 years agoUpdate a comment after the previous commit.
Steinar H. Gunderson [Thu, 27 Dec 2018 23:22:08 +0000 (00:22 +0100)]
Update a comment after the previous commit.

5 years agoMove the to-play playlist into Player.
Steinar H. Gunderson [Thu, 27 Dec 2018 22:02:25 +0000 (23:02 +0100)]
Move the to-play playlist into Player.

This eradicates the ugly callback into MainWindow to get the next clip,
gives Player much more control, and in general makes things a lot more
predictable.  Right now, this means you can no longer edit the playlist
while it's playing, but we're going to reintroduce that (in a somewhat
limited form) fairly soon.

5 years agoFix an indentation issue.
Steinar H. Gunderson [Wed, 26 Dec 2018 22:45:12 +0000 (23:45 +0100)]
Fix an indentation issue.

5 years agoSimplify timebase handling in Mux a bit.
Steinar H. Gunderson [Tue, 25 Dec 2018 11:35:18 +0000 (12:35 +0100)]
Simplify timebase handling in Mux a bit.

5 years agoRemove the redundant with_audio parameter from the Mux constructor.
Steinar H. Gunderson [Mon, 24 Dec 2018 22:12:39 +0000 (23:12 +0100)]
Remove the redundant with_audio parameter from the Mux constructor.

5 years agoCache computed flow between textures.
Steinar H. Gunderson [Mon, 24 Dec 2018 13:26:44 +0000 (14:26 +0100)]
Cache computed flow between textures.

Flow computation is over half the computational burden for making a frame,
and in super-slow cases (more than 2x), we'll reuse the same flow many times.

5 years agoRemove a metric that's irrelevant for Futatabi.
Steinar H. Gunderson [Mon, 24 Dec 2018 11:07:10 +0000 (12:07 +0100)]
Remove a metric that's irrelevant for Futatabi.

5 years agoAdd metrics for JPEG decoding.
Steinar H. Gunderson [Mon, 24 Dec 2018 11:00:42 +0000 (12:00 +0100)]
Add metrics for JPEG decoding.

5 years agoAdd a summary for received frame sizes.
Steinar H. Gunderson [Mon, 24 Dec 2018 10:17:55 +0000 (11:17 +0100)]
Add a summary for received frame sizes.

5 years agoAdd metrics for reading frames from disk.
Steinar H. Gunderson [Mon, 24 Dec 2018 10:07:19 +0000 (11:07 +0100)]
Add metrics for reading frames from disk.

5 years agoAdd some metrics for HTTP output.
Steinar H. Gunderson [Mon, 24 Dec 2018 00:27:50 +0000 (01:27 +0100)]
Add some metrics for HTTP output.

5 years agoPrefix all the Futatabi Prometheus metrics by futatabi_ instead of nageru_.
Steinar H. Gunderson [Sun, 23 Dec 2018 23:39:17 +0000 (00:39 +0100)]
Prefix all the Futatabi Prometheus metrics by futatabi_ instead of nageru_.

5 years agoAdd a Futatabi metric for number of received frames.
Steinar H. Gunderson [Sun, 23 Dec 2018 23:33:41 +0000 (00:33 +0100)]
Add a Futatabi metric for number of received frames.

5 years agoLocalize DeckLink warning suppression to only the DeckLink headers and sources.
Steinar H. Gunderson [Sun, 23 Dec 2018 17:27:21 +0000 (18:27 +0100)]
Localize DeckLink warning suppression to only the DeckLink headers and sources.

5 years agoWhen exporting interpolated files, make sure they are seekable.
Steinar H. Gunderson [Sun, 23 Dec 2018 00:18:34 +0000 (01:18 +0100)]
When exporting interpolated files, make sure they are seekable.

5 years agoIf the Futatabi source URL is empty or /dev/null, don't bother trying to open it.
Steinar H. Gunderson [Sun, 23 Dec 2018 00:11:54 +0000 (01:11 +0100)]
If the Futatabi source URL is empty or /dev/null, don't bother trying to open it.

5 years agoFix a follow-up error introduced when fixing a Coverity Scan issue.
Steinar H. Gunderson [Fri, 21 Dec 2018 23:37:57 +0000 (00:37 +0100)]
Fix a follow-up error introduced when fixing a Coverity Scan issue.

5 years agoAvoid a time-to-check-versus-time-of-use error on mkdir().
Steinar H. Gunderson [Fri, 21 Dec 2018 23:13:46 +0000 (00:13 +0100)]
Avoid a time-to-check-versus-time-of-use error on mkdir().

Found by Coverity Scan. Not relevant in practice, since we do not
support running on untrusted data.

5 years agoMake Ebu_r128_proc::Ebu_r128_proc() not move uninitialized variables around.
Steinar H. Gunderson [Fri, 21 Dec 2018 23:11:36 +0000 (00:11 +0100)]
Make Ebu_r128_proc::Ebu_r128_proc() not move uninitialized variables around.

It doesn't matter since init() will be called immediately afterwards,
but it silences Coverity Scan.

5 years agoIn Theme::get_chain(), send InputState by reference instead of value.
Steinar H. Gunderson [Fri, 21 Dec 2018 23:08:10 +0000 (00:08 +0100)]
In Theme::get_chain(), send InputState by reference instead of value.

It's ~2 kB, and we also don't have to fiddle as many refcounts around.
It's only once per channel per frame, though.

Found by Coverity Scan.

5 years agoCheck VAStatus of some destroyed objects.
Steinar H. Gunderson [Fri, 21 Dec 2018 22:53:51 +0000 (23:53 +0100)]
Check VAStatus of some destroyed objects.

Irrelevant, but still good style. Found by Coverity Scan.

5 years agoFix some more very unlikely Coverity Scan issues.
Steinar H. Gunderson [Fri, 21 Dec 2018 22:52:42 +0000 (23:52 +0100)]
Fix some more very unlikely Coverity Scan issues.

5 years agoFix a leak in test code.
Steinar H. Gunderson [Fri, 21 Dec 2018 22:42:34 +0000 (23:42 +0100)]
Fix a leak in test code.

Found by Coverity Scan.

5 years agoUnbreak embedded bmusb.
Steinar H. Gunderson [Fri, 21 Dec 2018 22:42:31 +0000 (23:42 +0100)]
Unbreak embedded bmusb.

5 years agoRemove an unneeded check.
Steinar H. Gunderson [Fri, 21 Dec 2018 21:39:21 +0000 (22:39 +0100)]
Remove an unneeded check.

Found by Coverity Scan.

5 years agoRemove an unneeded nullptr check.
Steinar H. Gunderson [Fri, 21 Dec 2018 21:38:42 +0000 (22:38 +0100)]
Remove an unneeded nullptr check.

Indirectly found by Coverity Scan.

5 years agoSilence another Coverity Scan warning.
Steinar H. Gunderson [Fri, 21 Dec 2018 21:36:26 +0000 (22:36 +0100)]
Silence another Coverity Scan warning.

5 years agoFix another Coverity Scan issue that really should not happen in practice.
Steinar H. Gunderson [Fri, 21 Dec 2018 18:23:19 +0000 (19:23 +0100)]
Fix another Coverity Scan issue that really should not happen in practice.

5 years agoFix another Coverity Scan issue that really should not happen in practice.
Steinar H. Gunderson [Fri, 21 Dec 2018 18:14:01 +0000 (19:14 +0100)]
Fix another Coverity Scan issue that really should not happen in practice.

5 years agoFix a Coverity Scan issue that is irrelevant in practice.
Steinar H. Gunderson [Fri, 21 Dec 2018 16:15:55 +0000 (17:15 +0100)]
Fix a Coverity Scan issue that is irrelevant in practice.

5 years agoAdd libjpeg-dev to the apt list.
Steinar H. Gunderson [Fri, 21 Dec 2018 15:13:41 +0000 (16:13 +0100)]
Add libjpeg-dev to the apt list.

5 years agoAdd cue point padding, where a clip is elongated (in both directions) by some given...
Steinar H. Gunderson [Fri, 21 Dec 2018 14:17:47 +0000 (15:17 +0100)]
Add cue point padding, where a clip is elongated (in both directions) by some given time to compensate for operator reaction time and fades.

5 years agoUse get_pkgconfig_variable() instead of calling pkg-config manually.
Steinar H. Gunderson [Thu, 20 Dec 2018 15:52:41 +0000 (16:52 +0100)]
Use get_pkgconfig_variable() instead of calling pkg-config manually.

5 years agoMake the SDL dependencies optional.
Steinar H. Gunderson [Thu, 20 Dec 2018 15:50:30 +0000 (16:50 +0100)]
Make the SDL dependencies optional.

5 years agoUpdate the textual list of dependencies in the README.
Steinar H. Gunderson [Thu, 20 Dec 2018 15:17:04 +0000 (16:17 +0100)]
Update the textual list of dependencies in the README.

5 years agoRemove the LuaJIT 2.0 compatibility shims.
Steinar H. Gunderson [Thu, 20 Dec 2018 14:42:53 +0000 (15:42 +0100)]
Remove the LuaJIT 2.0 compatibility shims.

5 years agoMove to FFmpeg 4.0 APIs, fixing the deprecation warnings.
Steinar H. Gunderson [Thu, 20 Dec 2018 14:41:57 +0000 (15:41 +0100)]
Move to FFmpeg 4.0 APIs, fixing the deprecation warnings.

5 years agoDrop stretch compatibility, now that buster is nearing freeze.
Steinar H. Gunderson [Thu, 20 Dec 2018 14:30:46 +0000 (15:30 +0100)]
Drop stretch compatibility, now that buster is nearing freeze.

5 years agoAdd a missing #include.
Steinar H. Gunderson [Thu, 20 Dec 2018 14:30:07 +0000 (15:30 +0100)]
Add a missing #include.

5 years agoRelease Nageru and Futatabi 1.8.0. 1.8.0
Steinar H. Gunderson [Wed, 19 Dec 2018 23:01:20 +0000 (00:01 +0100)]
Release Nageru and Futatabi 1.8.0.

5 years agoDefault to two cameras instead of one, since otherwise, the UI looks pretty borked.
Steinar H. Gunderson [Wed, 19 Dec 2018 23:22:34 +0000 (00:22 +0100)]
Default to two cameras instead of one, since otherwise, the UI looks pretty borked.

5 years agoDocument the undocumentedness of Futatabi.
Steinar H. Gunderson [Wed, 19 Dec 2018 22:55:26 +0000 (23:55 +0100)]
Document the undocumentedness of Futatabi.

5 years agoImprove frame snapping in difficult cases.
Steinar H. Gunderson [Wed, 19 Dec 2018 19:30:26 +0000 (20:30 +0100)]
Improve frame snapping in difficult cases.

5 years agoFix some GCC warnings.
Steinar H. Gunderson [Tue, 18 Dec 2018 23:34:14 +0000 (00:34 +0100)]
Fix some GCC warnings.

5 years agoAdd support for querying tally information from Nageru.
Steinar H. Gunderson [Tue, 18 Dec 2018 23:30:23 +0000 (00:30 +0100)]
Add support for querying tally information from Nageru.

5 years agoFix a variable conflict in the Meson build files.
Steinar H. Gunderson [Tue, 18 Dec 2018 22:53:49 +0000 (23:53 +0100)]
Fix a variable conflict in the Meson build files.

5 years agoRemove a duplicate dependency.
Steinar H. Gunderson [Tue, 18 Dec 2018 21:46:47 +0000 (22:46 +0100)]
Remove a duplicate dependency.

5 years agoSupport per-clip variable speed.
Steinar H. Gunderson [Tue, 18 Dec 2018 14:04:11 +0000 (15:04 +0100)]
Support per-clip variable speed.

5 years agoMake the number of cameras dynamic as the frames come in.
Steinar H. Gunderson [Mon, 17 Dec 2018 23:29:07 +0000 (00:29 +0100)]
Make the number of cameras dynamic as the frames come in.

5 years agoWhen previewing the playlist time, use compute_time_left().
Steinar H. Gunderson [Sun, 16 Dec 2018 21:44:49 +0000 (22:44 +0100)]
When previewing the playlist time, use compute_time_left().

Less code duplication, and also fixes an issue where the fade time
would not be counted correctly.

5 years agoMake the UI programmatically dependent on NUM_CAMERAS.
Steinar H. Gunderson [Sun, 16 Dec 2018 21:33:18 +0000 (22:33 +0100)]
Make the UI programmatically dependent on NUM_CAMERAS.